From 51b2ca1632fe75e852ebed49efd7b7c5193dc580 Mon Sep 17 00:00:00 2001 From: Seyed Mostafa Kia Date: Tue, 23 Jul 2024 10:29:48 +0200 Subject: [PATCH 01/68] Minor modig=fication in slurm job and log file names --- pcntoolkit/normative_parallel.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pcntoolkit/normative_parallel.py b/pcntoolkit/normative_parallel.py index 4733bf77..2be391d1 100755 --- a/pcntoolkit/normative_parallel.py +++ b/pcntoolkit/normative_parallel.py @@ -1123,13 +1123,13 @@ def sbatchwrap_nm(processing_dir, output_changedir = ['cd ' + processing_dir + '\n'] sbatch_init = '#!/bin/bash\n' - sbatch_jobname = '#SBATCH --job-name=' + processing_dir + '\n' + sbatch_jobname = '#SBATCH --job-name=' + job_name + '\n' sbatch_nodes = '#SBATCH --nodes=1\n' sbatch_tasks = '#SBATCH --ntasks=1\n' sbatch_time = '#SBATCH --time=' + str(duration) + '\n' sbatch_memory = '#SBATCH --mem-per-cpu=' + str(memory) + '\n' - sbatch_log_out = '#SBATCH -o ' + log_path + '%j.out' + '\n' - sbatch_log_error = '#SBATCH -e ' + log_path + '%j.err' + '\n' + sbatch_log_out = '#SBATCH -o ' + log_path + '%x_%j.out' + '\n' + sbatch_log_error = '#SBATCH -e ' + log_path + '%x_%j.err' + '\n' #sbatch_module = 'module purge\n' #sbatch_anaconda = 'module load anaconda3\n' sbatch_exit = 'set -o errexit\n' From 0b4ff50717fbbd1a3080e873913a78e4e6c0f953 Mon Sep 17 00:00:00 2001 From: Seyed Mostafa Kia Date: Sun, 11 Aug 2024 11:35:15 +0200 Subject: [PATCH 02/68] The HBR test is simplified --- pcntoolkit/util/utils.py | 157 +++++++++++++++++++-------------------- tests/testHBR.py | 116 ++++++++++++++--------------- 2 files changed, 129 insertions(+), 144 deletions(-) diff --git a/pcntoolkit/util/utils.py b/pcntoolkit/util/utils.py index 9eb9208b..ac855315 100644 --- a/pcntoolkit/util/utils.py +++ b/pcntoolkit/util/utils.py @@ -5,7 +5,7 @@ import numpy as np from scipy import stats from subprocess import call -from scipy.stats import genextreme, norm +from scipy.stats import genextreme, norm, skewnorm from six import with_metaclass from abc import ABCMeta, abstractmethod import pickle @@ -879,90 +879,83 @@ def calibration_error(Y, m, s, cal_levels): def simulate_data(method='linear', n_samples=100, n_features=1, n_grps=1, working_dir=None, plot=False, random_state=None, noise=None): - """ This function simulates linear synthetic data for testing pcntoolkit methods. - - :param method: simulate 'linear' or 'non-linear' function. - :param n_samples: number of samples in each group of the training and test sets. - If it is an int then the same sample number will be used for all groups. - It can be also a list of size of n_grps that decides the number of samples - in each group (default=100). - :param n_features: A positive integer that decides the number of features - (default=1). - :param n_grps: A positive integer that decides the number of groups in data - (default=1). - :param working_dir: Directory to save data (default=None). - :param plot: Boolean to plot the simulated training data (default=False). - :param random_state: random state for generating random numbers (Default=None). - :param noise: Type of added noise to the data. The options are 'gaussian', - 'exponential', and 'hetero_gaussian' (The defauls is None.). - - :returns: - X_train, Y_train, grp_id_train, X_test, Y_test, grp_id_test, coef - + """ + Simulates synthetic data for testing purposes, with options for linear, non-linear, + or combined data generation methods, and various noise types. + + :param method: Method to simulate ('linear', 'non-linear', or 'combined'). + :param n_samples: Number of samples per group, either an int or a list for each group (default=100). + :param n_features: Number of features to simulate (default=1). + :param n_grps: Number of groups in the data (default=1). + :param working_dir: Directory to save the data (default=None). + :param plot: Boolean flag to plot the simulated training data (default=False). + :param random_state: Seed for random number generation (default=None). + :param noise: Type of noise to add ('homoscedastic_gaussian', 'heteroscedastic_gaussian', + 'homoscedastic_nongaussian', 'heteroscedastic_nongaussian', default=None). + + :returns: Tuple of (X_train, Y_train, grp_id_train, X_test, Y_test, grp_id_test, coef) """ + #np.random.seed(random_state) + if isinstance(n_samples, int): - n_samples = [n_samples for i in range(n_grps)] + n_samples = [n_samples for _ in range(n_grps)] X_train, Y_train, X_test, Y_test = [], [], [], [] grp_id_train, grp_id_test = [], [] coef = [] + for i in range(n_grps): bias = np.random.randint(-10, high=10) if method == 'linear': - X_temp, Y_temp, coef_temp = make_regression(n_samples=n_samples[i]*2, - n_features=n_features, n_targets=1, - noise=10 * np.random.rand(), bias=bias, - n_informative=1, coef=True, - random_state=random_state) + X_temp, Y_temp, coef_temp = make_regression( + n_samples=n_samples[i] * 2, n_features=n_features, n_targets=1, + noise=10 * np.random.rand(), bias=bias, n_informative=1, coef=True, + ) elif method == 'non-linear': - X_temp = np.random.randint(-2, 6, [2*n_samples[i], n_features]) \ - + np.random.randn(2*n_samples[i], n_features) + X_temp = np.random.randint(-2, 6, [2 * n_samples[i], n_features]) \ + + np.random.randn(2 * n_samples[i], n_features) Y_temp = X_temp[:, 0] * 20 * np.random.rand() + np.random.randint(10, 100) \ * np.sin(2 * np.random.rand() + 2 * np.pi / 5 * X_temp[:, 0]) coef_temp = 0 elif method == 'combined': - X_temp = np.random.randint(-2, 6, [2*n_samples[i], n_features]) \ - + np.random.randn(2*n_samples[i], n_features) + X_temp = np.random.randint(-2, 6, [2 * n_samples[i], n_features]) \ + + np.random.randn(2 * n_samples[i], n_features) Y_temp = (X_temp[:, 0]**3) * np.random.uniform(0, 0.5) \ + X_temp[:, 0] * 20 * np.random.rand() \ + np.random.randint(10, 100) coef_temp = 0 else: - raise ValueError("Unknow method. Please specify valid method among \ - 'linear' or 'non-linear'.") - coef.append(coef_temp/100) - X_train.append(X_temp[:X_temp.shape[0]//2]) - Y_train.append(Y_temp[:X_temp.shape[0]//2]/100) - X_test.append(X_temp[X_temp.shape[0]//2:]) - Y_test.append(Y_temp[X_temp.shape[0]//2:]/100) - grp_id = np.repeat(i, X_temp.shape[0]) - grp_id_train.append(grp_id[:X_temp.shape[0]//2]) - grp_id_test.append(grp_id[X_temp.shape[0]//2:]) - - if noise == 'hetero_gaussian': - t = np.random.randint(5, 10) - Y_train[i] = Y_train[i] + np.random.randn(Y_train[i].shape[0]) / t \ - * np.log(1 + np.exp(X_train[i][:, 0])) - Y_test[i] = Y_test[i] + np.random.randn(Y_test[i].shape[0]) / t \ - * np.log(1 + np.exp(X_test[i][:, 0])) - elif noise == 'gaussian': - t = np.random.randint(3, 10) - Y_train[i] = Y_train[i] + np.random.randn(Y_train[i].shape[0])/t - Y_test[i] = Y_test[i] + np.random.randn(Y_test[i].shape[0])/t - elif noise == 'exponential': - t = np.random.randint(1, 3) - Y_train[i] = Y_train[i] + \ - np.random.exponential(1, Y_train[i].shape[0]) / t - Y_test[i] = Y_test[i] + \ - np.random.exponential(1, Y_test[i].shape[0]) / t - elif noise == 'hetero_gaussian_smaller': - t = np.random.randint(5, 10) - Y_train[i] = Y_train[i] + np.random.randn(Y_train[i].shape[0]) / t \ - * np.log(1 + np.exp(0.3 * X_train[i][:, 0])) - Y_test[i] = Y_test[i] + np.random.randn(Y_test[i].shape[0]) / t \ - * np.log(1 + np.exp(0.3 * X_test[i][:, 0])) + raise ValueError("Unknown method. Please specify 'linear', 'non-linear', or 'combined'.") + + coef.append(coef_temp / 100) + X_train.append(X_temp[:n_samples[i]]) + Y_train.append(Y_temp[:n_samples[i]] / 100) + X_test.append(X_temp[n_samples[i]:]) + Y_test.append(Y_temp[n_samples[i]:] / 100) + grp_id = np.repeat(i, n_samples[i] * 2) + grp_id_train.append(grp_id[:n_samples[i]]) + grp_id_test.append(grp_id[n_samples[i]:]) + + t = np.random.randint(1,5) + # Add noise to the data + if noise == 'homoscedastic_gaussian': + Y_train[i] += np.random.normal(loc=0, scale=0.2, size=Y_train[i].shape[0]) / t + Y_test[i] += np.random.normal(loc=0, scale=0.2, size=Y_test[i].shape[0]) / t + + elif noise == 'heteroscedastic_gaussian': + Y_train[i] += np.random.normal(loc=0, scale=np.log(1 + np.exp(X_train[i][:, 0])), size=Y_train[i].shape[0]) + Y_test[i] += np.random.normal(loc=0, scale=np.log(1 + np.exp(X_test[i][:, 0])), size=Y_test[i].shape[0]) + + elif noise == 'homoscedastic_nongaussian': + Y_train[i] += skewnorm.rvs(a=10, loc=0, scale=0.2, size=Y_train[i].shape[0]) / t + Y_test[i] += skewnorm.rvs(a=10, loc=0, scale=0.2, size=Y_test[i].shape[0]) / t + + elif noise == 'heteroscedastic_nongaussian': + Y_train[i] += skewnorm.rvs(a=10, loc=0, scale=np.log(1 + np.exp(0.3 * X_train[i][:, 0])), size=Y_train[i].shape[0]) + Y_test[i] += skewnorm.rvs(a=10, loc=0, scale=np.log(1 + np.exp(0.3 * X_test[i][:, 0])), size=Y_test[i].shape[0]) + X_train = np.vstack(X_train) X_test = np.vstack(X_test) Y_train = np.concatenate(Y_train) @@ -970,32 +963,32 @@ def simulate_data(method='linear', n_samples=100, n_features=1, n_grps=1, grp_id_train = np.expand_dims(np.concatenate(grp_id_train), axis=1) grp_id_test = np.expand_dims(np.concatenate(grp_id_test), axis=1) - for i in range(n_features): - plt.figure() - for j in range(n_grps): - plt.scatter(X_train[grp_id_train[:, 0] == j, i], - Y_train[grp_id_train[:, 0] == j,], label='Group ' + str(j)) - plt.xlabel('X' + str(i)) - plt.ylabel('Y') - plt.legend() - - if working_dir is not None: + if plot: + for i in range(n_features): + plt.figure() + for j in range(n_grps): + plt.scatter(X_train[grp_id_train[:, 0] == j, i], Y_train[grp_id_train[:, 0] == j], label='Group ' + str(j)) + plt.xlabel(f'X{i}') + plt.ylabel('Y') + plt.legend() + plt.show() + + if working_dir: if not os.path.isdir(working_dir): os.mkdir(working_dir) + with open(os.path.join(working_dir, 'trbefile.pkl'), 'wb') as file: - pickle.dump(pd.DataFrame(grp_id_train), - file, protocol=PICKLE_PROTOCOL) + pickle.dump(pd.DataFrame(grp_id_train), file, protocol=pickle.HIGHEST_PROTOCOL) with open(os.path.join(working_dir, 'tsbefile.pkl'), 'wb') as file: - pickle.dump(pd.DataFrame(grp_id_test), - file, protocol=PICKLE_PROTOCOL) + pickle.dump(pd.DataFrame(grp_id_test), file, protocol=pickle.HIGHEST_PROTOCOL) with open(os.path.join(working_dir, 'X_train.pkl'), 'wb') as file: - pickle.dump(pd.DataFrame(X_train), file, protocol=PICKLE_PROTOCOL) + pickle.dump(pd.DataFrame(X_train), file, protocol=pickle.HIGHEST_PROTOCOL) with open(os.path.join(working_dir, 'X_test.pkl'), 'wb') as file: - pickle.dump(pd.DataFrame(X_test), file, protocol=PICKLE_PROTOCOL) + pickle.dump(pd.DataFrame(X_test), file, protocol=pickle.HIGHEST_PROTOCOL) with open(os.path.join(working_dir, 'Y_train.pkl'), 'wb') as file: - pickle.dump(pd.DataFrame(Y_train), file, protocol=PICKLE_PROTOCOL) + pickle.dump(pd.DataFrame(Y_train), file, protocol=pickle.HIGHEST_PROTOCOL) with open(os.path.join(working_dir, 'Y_test.pkl'), 'wb') as file: - pickle.dump(pd.DataFrame(Y_test), file, protocol=PICKLE_PROTOCOL) + pickle.dump(pd.DataFrame(Y_test), file, protocol=pickle.HIGHEST_PROTOCOL) return X_train, Y_train, grp_id_train, X_test, Y_test, grp_id_test, coef diff --git a/tests/testHBR.py b/tests/testHBR.py index fee7065e..1d2ba679 100644 --- a/tests/testHBR.py +++ b/tests/testHBR.py @@ -16,18 +16,15 @@ import matplotlib.pyplot as plt from pcntoolkit.normative import estimate from warnings import filterwarnings -from pcntoolkit.util.utils import scaler -import xarray - filterwarnings('ignore') -np.random.seed(10) ########################### Experiment Settings ############################### -working_dir = '/home/stijn/temp/' # Specifyexit() a working directory -# to save data and results. +random_state = 29 + +working_dir = '/' # Specify a working directory to save data and results. simulation_method = 'linear' n_features = 1 # The number of input features of X @@ -35,75 +32,70 @@ n_samples = 500 # Number of samples in each group (use a list for different # sample numbers across different batches) -model_types = ['linear', 'polynomial', 'bspline'] # models to try +model_type = 'linear' # modelto try 'linear, ''polynomial', 'bspline' + + ############################## Data Simulation ################################ X_train, Y_train, grp_id_train, X_test, Y_test, grp_id_test, coef = \ simulate_data(simulation_method, n_samples, n_features, n_grps, - working_dir=working_dir, plot=True) - -################################# Methods Tests ############################### - - -for model_type in model_types: - - nm = norm_init(X_train, Y_train, alg='hbr', likelihood='SHASHb', - model_type=model_type, n_samples=100, n_tuning=10) - nm.estimate(X_train, Y_train, trbefile=working_dir+'trbefile.pkl') - yhat, ys2 = nm.predict(X_test, tsbefile=working_dir+'tsbefile.pkl') - - for i in range(n_features): - sorted_idx = X_test[:, i].argsort(axis=0).squeeze() - temp_X = X_test[sorted_idx, i] - temp_Y = Y_test[sorted_idx,] - temp_be = grp_id_test[sorted_idx, :].squeeze() - temp_yhat = yhat[sorted_idx,] - temp_s2 = ys2[sorted_idx,] - - plt.figure() - for j in range(n_grps): - scat1 = plt.scatter(temp_X[temp_be == j,], temp_Y[temp_be == j,], - label='Group' + str(j)) - plt.plot(temp_X[temp_be == j,], temp_yhat[temp_be == j,]) - plt.fill_between(temp_X[temp_be == j,], temp_yhat[temp_be == j,] - - 1.96 * np.sqrt(temp_s2[temp_be == j,]), - temp_yhat[temp_be == j,] + - 1.96 * np.sqrt(temp_s2[temp_be == j,]), - color='gray', alpha=0.2) - - # Showing the quantiles - resolution = 200 - synth_X = np.linspace(-3, 3, resolution) - q = nm.get_mcmc_quantiles( - synth_X, batch_effects=j*np.ones(resolution)) - col = scat1.get_facecolors()[0] - plt.plot(synth_X, q.T, linewidth=1, color=col, zorder=0) - - plt.title('Model %s, Feature %d' % (model_type, i)) - plt.legend() - plt.show() + working_dir=working_dir, plot=True, noise='heteroscedastic_nongaussian', + random_state=random_state) +################################# Fittig and Predicting ############################### + +nm = norm_init(X_train, Y_train, alg='hbr', model_type=model_type, likelihood='SHASHb', + linear_sigma='True', random_slope_mu='True', linear_epsilon='True', linear_delta='True') + +nm.estimate(X_train, Y_train, trbefile=working_dir+'trbefile.pkl') +yhat, ys2 = nm.predict(X_test, tsbefile=working_dir+'tsbefile.pkl') -############################## Normative Modelling Test ####################### +################################# Plotting Quantiles ############################### -model_type = model_types[0] -covfile = working_dir + 'X_train.pkl' -respfile = working_dir + 'Y_train.pkl' -testcov = working_dir + 'X_test.pkl' -testresp = working_dir + 'Y_test.pkl' -trbefile = working_dir + 'trbefile.pkl' -tsbefile = working_dir + 'tsbefile.pkl' +for i in range(n_features): + sorted_idx = X_test[:, i].argsort(axis=0).squeeze() + temp_X = X_test[sorted_idx, i] + temp_Y = Y_test[sorted_idx,] + temp_be = grp_id_test[sorted_idx, :].squeeze() + temp_yhat = yhat[sorted_idx,] + temp_s2 = ys2[sorted_idx,] + + plt.figure() + for j in range(n_grps): + scat1 = plt.scatter(temp_X[temp_be == j,], temp_Y[temp_be == j,], + label='Group' + str(j)) + # Showing the quantiles + resolution = 200 + synth_X = np.linspace(-3, 3, resolution) + q = nm.get_mcmc_quantiles( + synth_X, batch_effects=j*np.ones(resolution)) + col = scat1.get_facecolors()[0] + plt.plot(synth_X, q.T, linewidth=1, color=col, zorder=0) + + plt.title('Model %s, Feature %d' % (model_type, i)) + plt.legend() + plt.show() + + +############################## Normative Modelling Test ####################### + +# covfile = working_dir + 'X_train.pkl' +# respfile = working_dir + 'Y_train.pkl' +# testcov = working_dir + 'X_test.pkl' +# testresp = working_dir + 'Y_test.pkl' +# trbefile = working_dir + 'trbefile.pkl' +# tsbefile = working_dir + 'tsbefile.pkl' -os.chdir(working_dir) +# os.chdir(working_dir) -estimate(covfile, respfile, testcov=testcov, testresp=testresp, trbefile=trbefile, - tsbefile=tsbefile, alg='hbr', outputsuffix='_' + model_type, - inscaler='None', outscaler='None', model_type=model_type, - savemodel='True', saveoutput='True') +# estimate(covfile, respfile, testcovfile_path=testcov, testrespfile_path=testresp, trbefile=trbefile, +# tsbefile=tsbefile, alg='hbr', outputsuffix='_' + model_type, +# inscaler='None', outscaler='None', model_type=model_type, +# savemodel='True', saveoutput='True') ############################################################################### From edac27925f64d305468700f87b3a4dbfa0eef896 Mon Sep 17 00:00:00 2001 From: AuguB Date: Thu, 12 Sep 2024 22:58:14 +0200 Subject: [PATCH 03/68] Runs the testHBR script correctly on pymc==5.16 --- pcntoolkit/model/hbr.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pcntoolkit/model/hbr.py b/pcntoolkit/model/hbr.py index 77c60f1d..f95e3e85 100644 --- a/pcntoolkit/model/hbr.py +++ b/pcntoolkit/model/hbr.py @@ -233,7 +233,7 @@ def get_sample_dims(var): pb.batch_effect_indices = tuple( [ pm.Data( - pb.batch_effect_dim_names[i], + pb.batch_effect_dim_names[i]+"_data", pb.batch_effect_indices[i], mutable=True, dims="datapoints", @@ -520,7 +520,7 @@ def predict( # Compute those indices for the test data indices = list(map(lambda x: valmap[x], batch_effects[:, i])) # Those indices need to be used by the model - pm.set_data({f"batch_effect_{i}": indices}) + pm.set_data({f"batch_effect_{i}_data": indices}) self.idata = pm.sample_posterior_predictive( trace=self.idata, From 88e12adc31a6df79d0a9dc7f442b5b5c450472d6 Mon Sep 17 00:00:00 2001 From: AuguB Date: Tue, 17 Sep 2024 16:22:43 +0200 Subject: [PATCH 04/68] Suppress warnings due to pymc==5.16 --- pcntoolkit/model/SHASH.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/pcntoolkit/model/SHASH.py b/pcntoolkit/model/SHASH.py index 39bf0646..8d43908b 100644 --- a/pcntoolkit/model/SHASH.py +++ b/pcntoolkit/model/SHASH.py @@ -152,8 +152,7 @@ def m(epsilon, delta, r): class SHASH(RandomVariable): name = "shash" - ndim_supp = 0 - ndims_params = [0, 0] + signature = "(),()->()" dtype = "floatX" _print_name = ("SHASH", "\\operatorname{SHASH}") @@ -194,8 +193,7 @@ def logp(value, epsilon, delta): class SHASHoRV(RandomVariable): name = "shasho" - ndim_supp = 0 - ndims_params = [0, 0, 0, 0] + signature = "(),(),(),()->()" dtype = "floatX" _print_name = ("SHASHo", "\\operatorname{SHASHo}") @@ -239,8 +237,7 @@ def logp(value, mu, sigma, epsilon, delta): class SHASHo2RV(RandomVariable): name = "shasho2" - ndim_supp = 0 - ndims_params = [0, 0, 0, 0] + signature = "(),(),(),()->()" dtype = "floatX" _print_name = ("SHASHo2", "\\operatorname{SHASHo2}") @@ -286,8 +283,7 @@ def logp(value, mu, sigma, epsilon, delta): class SHASHbRV(RandomVariable): name = "shashb" - ndim_supp = 0 - ndims_params = [0, 0, 0, 0] + signature = "(),(),(),()->()" dtype = "floatX" _print_name = ("SHASHo2", "\\operatorname{SHASHo2}") From cc8352677194e62eeb9dfa74106d8725b1360249 Mon Sep 17 00:00:00 2001 From: AuguB Date: Tue, 17 Sep 2024 16:24:27 +0200 Subject: [PATCH 05/68] Correct error in SHASHb name --- pcntoolkit/model/SHASH.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pcntoolkit/model/SHASH.py b/pcntoolkit/model/SHASH.py index 8d43908b..1ccffcb6 100644 --- a/pcntoolkit/model/SHASH.py +++ b/pcntoolkit/model/SHASH.py @@ -285,7 +285,7 @@ class SHASHbRV(RandomVariable): name = "shashb" signature = "(),(),(),()->()" dtype = "floatX" - _print_name = ("SHASHo2", "\\operatorname{SHASHo2}") + _print_name = ("SHASHb", "\\operatorname{SHASHb}") @classmethod def rng_fn( From 255ecca39cf7bc6920ef527d4a76c65dbccc6f49 Mon Sep 17 00:00:00 2001 From: AuguB Date: Wed, 2 Oct 2024 15:36:01 +0200 Subject: [PATCH 06/68] Address issue 215 Speedup for python==3.12 --- README.md | 56 ++++++++++---- pcntoolkit/model/SHASH.py | 76 +++++++++--------- pcntoolkit/model/architecture.py | 12 ++- pcntoolkit/model/hbr.py | 2 + pcntoolkit/normative.py | 15 ++-- pcntoolkit/normative_model/norm_hbr.py | 3 +- pcntoolkit/normative_parallel.py | 103 ++++++++++++------------- pcntoolkit/util/utils.py | 62 +++++++++------ requirements.txt | 4 +- setup.py | 3 +- tests/testHBR.py | 11 ++- tests/test_normative_parallel.py | 28 +++---- 12 files changed, 215 insertions(+), 160 deletions(-) diff --git a/README.md b/README.md index fa37c7d4..51c7d474 100644 --- a/README.md +++ b/README.md @@ -8,64 +8,92 @@ Methods for normative modelling, spatial statistics and pattern recognition. Doc ## Basic installation (on a local machine) -i) install anaconda3 ii) create enviornment with "conda create --name " iii) activate environment by "source activate " iv) install required conda packages +#### Install anaconda3 + +using the download here: https://www.anaconda.com/download + +#### Create environment +``` +conda create +``` + +#### Activate environment + +``` +source activate +``` + +#### Install torch + +Use the command that you get from the command builder here: https://pytorch.org/get-started/locally/. This will ensure you do not install the CUDA version of torch if your pc does not have a GPU. We also recommend that you use the `conda` option. + +#### Install other required conda packages ``` -conda install pip pandas scipy +conda install pip pandas scipy pymc ``` -v) install PCNtoolkit (plus dependencies) +#### Install PCNtoolkit ``` pip install pcntoolkit ``` ## Alternative installation (on a shared resource) -Make sure conda is available on the system. + +#### Make sure conda is available on the system. Otherwise install it first from https://www.anaconda.com/ ``` conda --version ``` -Create a conda environment in a shared location +#### Create a conda environment in a shared location ``` -conda create -y python==3.8.3 numpy mkl blas --prefix=/shared/conda/ +conda create -y python==3.10 numpy mkl blas --prefix=/shared/conda/ ``` -Activate the conda environment +#### Activate the conda environment ``` conda activate /shared/conda/ ``` +#### install torch -Install other dependencies +Using the command that you get from the command builder here: ``` -conda install -y pandas scipy +https://pytorch.org/get-started/locally/ ``` -Install pip dependencies +If your shared resource has no GPU, make sure you select the 'CPU' field in the 'Compute Platform' row. Here we also prefer conda over pip. + +#### Install other dependencies + +``` +conda install -y pandas scipy pymc +``` + +#### Install pip dependencies ``` pip --no-cache-dir install nibabel scikit-learn torch glob3 ``` -Clone the repo +#### Clone the repo ``` git clone https://github.com/amarquand/PCNtoolkit.git ``` -install in the conda environment +### Install in the conda environment ``` cd PCNtoolkit/ python3 setup.py install ``` - -Test +### Test ``` python -c "import pcntoolkit as pk;print(pk.__file__)" ``` diff --git a/pcntoolkit/model/SHASH.py b/pcntoolkit/model/SHASH.py index 1ccffcb6..4be5c947 100644 --- a/pcntoolkit/model/SHASH.py +++ b/pcntoolkit/model/SHASH.py @@ -23,26 +23,42 @@ """ -def numpy_P(q): +def K(q, x): """ - The P function as given in Jones et al. + The K function as given in Jones et al. :param q: + :param x: :return: """ - frac = np.exp(1.0 / 4.0) / np.power(8.0 * np.pi, 1.0 / 2.0) - K1 = numpy_K((q + 1) / 2, 1.0 / 4.0) - K2 = numpy_K((q - 1) / 2, 1.0 / 4.0) - a = (K1 + K2) * frac - return a + return spp.kv(q, x) -def numpy_K(p, x): +def unique_K(q, x): """ - Computes the values of spp.kv(p,x) for only the unique values of p + This is the K function, but it only calculates the unique values of q. + :param q: + :param x: + :return: """ + unique_q, inverse_indices = np.unique(q, return_inverse=True) + unique_outputs = spp.kv(unique_q, x) + outputs = unique_outputs[inverse_indices].reshape(q.shape) + return outputs + - ps, idxs = np.unique(p, return_inverse=True) - return spp.kv(ps, x)[idxs].reshape(p.shape) +CONST = np.exp(0.25) / np.power(8.0 * np.pi, 0.5) + + +def P(q): + """ + The P function as given in Jones et al. + :param q: + :return: + """ + K1 = K()((q + 1) / 2, 0.25) + K2 = K()((q - 1) / 2, 0.25) + a = (K1 + K2) * CONST + return a class K(Op): @@ -58,23 +74,19 @@ def make_node(self, p, x): return Apply(self, [p, x], [p.type()]) def perform(self, node, inputs_storage, output_storage): - # Doing this on the unique values avoids doing A LOT OF double work, apparently scipy doesn't do this by itself - - unique_inputs, inverse_indices = np.unique( - inputs_storage[0], return_inverse=True - ) - unique_outputs = spp.kv(unique_inputs, inputs_storage[1]) - outputs = unique_outputs[inverse_indices].reshape( - inputs_storage[0].shape) - output_storage[0][0] = outputs + output_storage[0][0] = unique_K(inputs_storage[0], inputs_storage[1]) def grad(self, inputs, output_grads): # Approximation of the derivative. This should suffice for using NUTS - dp = 1e-10 + dp = 1e-16 p = inputs[0] x = inputs[1] - grad = (self(p + dp, x) - self(p, x)) / dp - return [output_grads[0] * grad, grad_not_implemented(0, 1, 2, 3)] + grad = (self(p + dp, x) - self(p - dp, x)) / dp + return [ + output_grads[0] * grad, + grad_not_implemented( + "K", 1, "x", "Gradient not implemented for x"), + ] def S(x, epsilon, delta): @@ -102,19 +114,6 @@ def C(x, epsilon, delta): return np.cosh(np.arcsinh(x) * delta - epsilon) -def P(q): - """ - The P function as given in Jones et al. - :param q: - :return: - """ - frac = np.exp(1.0 / 4.0) / np.power(8.0 * np.pi, 1.0 / 2.0) - K1 = K()((q + 1) / 2, 1.0 / 4.0) - K2 = K()((q - 1) / 2, 1.0 / 4.0) - a = (K1 + K2) * frac - return a - - def m(epsilon, delta, r): """ :param epsilon: @@ -298,9 +297,8 @@ def rng_fn( size: Optional[Union[List[int], int]], ) -> np.ndarray: s = rng.normal(size=size) - mean = np.sinh(epsilon / delta) * numpy_P(1 / delta) - var = ((np.cosh(2 * epsilon / delta) * - numpy_P(2 / delta) - 1) / 2) - mean**2 + mean = np.sinh(epsilon / delta) * P(1 / delta) + var = ((np.cosh(2 * epsilon / delta) * P(2 / delta) - 1) / 2) - mean**2 out = ( (np.sinh((np.arcsinh(s) + epsilon) / delta) - mean) / np.sqrt(var) ) * sigma + mu diff --git a/pcntoolkit/model/architecture.py b/pcntoolkit/model/architecture.py index 0dfb09c9..8894ce3f 100644 --- a/pcntoolkit/model/architecture.py +++ b/pcntoolkit/model/architecture.py @@ -46,7 +46,8 @@ def __init__(self, x, y, args): # Conv 1 self.encoder_y_layer_1_conv = nn.Conv3d(in_channels=self.factor, out_channels=self.factor, kernel_size=5, stride=2, padding=0, - dilation=1, groups=self.factor, bias=True) # in:(90,108,90) out:(43,52,43) + # in:(90,108,90) out:(43,52,43) + dilation=1, groups=self.factor, bias=True) self.encoder_y_layer_1_bn = nn.BatchNorm3d(self.factor) d_out_1, h_out_1, w_out_1 = compute_conv_out_size(y.shape[2], y.shape[3], y.shape[4], padding=[ @@ -57,7 +58,8 @@ def __init__(self, x, y, args): # Conv 2 self.encoder_y_layer_2_conv = nn.Conv3d(in_channels=self.factor, out_channels=self.factor, kernel_size=3, stride=2, padding=0, - dilation=1, groups=self.factor, bias=True) # out: (21,25,21) + # out: (21,25,21) + dilation=1, groups=self.factor, bias=True) self.encoder_y_layer_2_bn = nn.BatchNorm3d(self.factor) d_out_2, h_out_2, w_out_2 = compute_conv_out_size(d_out_1, h_out_1, w_out_1, padding=[ @@ -68,7 +70,8 @@ def __init__(self, x, y, args): # Conv 3 self.encoder_y_layer_3_conv = nn.Conv3d(in_channels=self.factor, out_channels=self.factor, kernel_size=3, stride=2, padding=0, - dilation=1, groups=self.factor, bias=True) # out: (10,12,10) + # out: (10,12,10) + dilation=1, groups=self.factor, bias=True) self.encoder_y_layer_3_bn = nn.BatchNorm3d(self.factor) d_out_3, h_out_3, w_out_3 = compute_conv_out_size(d_out_2, h_out_2, w_out_2, padding=[ @@ -79,7 +82,8 @@ def __init__(self, x, y, args): # Conv 4 self.encoder_y_layer_4_conv = nn.Conv3d(in_channels=self.factor, out_channels=1, kernel_size=3, stride=2, padding=0, - dilation=1, groups=1, bias=True) # out: (4,5,4) + # out: (4,5,4) + dilation=1, groups=1, bias=True) self.encoder_y_layer_4_bn = nn.BatchNorm3d(1) d_out_4, h_out_4, w_out_4 = compute_conv_out_size(d_out_3, h_out_3, w_out_3, padding=[ diff --git a/pcntoolkit/model/hbr.py b/pcntoolkit/model/hbr.py index f95e3e85..4d051b38 100644 --- a/pcntoolkit/model/hbr.py +++ b/pcntoolkit/model/hbr.py @@ -448,6 +448,7 @@ def estimate(self, X, y, batch_effects, **kwargs): init=self.configs["init"], n_init=500000, cores=self.configs["cores"], + nuts_sampler=self.configs["nuts_sampler"], ) self.vars_to_sample = ['y_like'] if self.configs['remove_datapoints_from_posterior']: @@ -559,6 +560,7 @@ def estimate_on_new_site(self, X, y, batch_effects): init=self.configs["init"], n_init=50000, cores=self.configs["cores"], + nuts_sampler=self.configs["nuts_sampler"], ) return self.idata diff --git a/pcntoolkit/normative.py b/pcntoolkit/normative.py index 1c62737c..14a35643 100755 --- a/pcntoolkit/normative.py +++ b/pcntoolkit/normative.py @@ -522,7 +522,8 @@ def estimate(covfile, respfile, **kwargs): if warp is not None: # TODO: Warping for scaled data if outscaler is not None and outscaler != 'None': - raise ValueError("outscaler not yet supported warping") + raise ValueError( + "outscaler not yet supported warping") warp_param = nm.blr.hyp[1:nm.blr.warp.get_n_params()+1] Ywarp[ts, nz[i]] = nm.blr.warp.f( Y[ts, nz[i]], warp_param) @@ -804,7 +805,7 @@ def predict(covfile, respfile, maskfile=None, **kwargs): Y, maskvol = load_response_vars(respfile, maskfile) if len(Y.shape) == 1: Y = Y[:, np.newaxis] - + sample_num = X.shape[0] if models is not None: feature_num = len(models) @@ -853,13 +854,13 @@ def predict(covfile, respfile, maskfile=None, **kwargs): if respfile is not None: if alg == 'hbr': # Z scores for HBR must be computed independently for each model - Z[:,i] = nm.get_mcmc_zscores(Xz, Yz[:, i:i+1], **kwargs) - + Z[:, i] = nm.get_mcmc_zscores(Xz, Yz[:, i:i+1], **kwargs) + if respfile is None: save_results(None, Yhat, S2, None, outputsuffix=outputsuffix) return (Yhat, S2) - + else: if models is not None and len(Y.shape) > 1: Y = Y[:, models] @@ -891,9 +892,9 @@ def predict(covfile, respfile, maskfile=None, **kwargs): Y = Yw else: warp = False - + if alg != 'hbr': - # For HBR the Z scores are already computed + # For HBR the Z scores are already computed Z = (Y - Yhat) / np.sqrt(S2) print("Evaluating the model ...") diff --git a/pcntoolkit/normative_model/norm_hbr.py b/pcntoolkit/normative_model/norm_hbr.py index f972bfd0..b98674d0 100644 --- a/pcntoolkit/normative_model/norm_hbr.py +++ b/pcntoolkit/normative_model/norm_hbr.py @@ -135,13 +135,14 @@ def __init__(self, **kwargs): "random_noise", "True") == "True" self.configs["likelihood"] = kwargs.get("likelihood", "Normal") # sampler settings + self.configs["nuts_sampler"] = kwargs.get("nuts_sampler", "pymc") self.configs["n_samples"] = int(kwargs.get("n_samples", "1000")) self.configs["n_tuning"] = int(kwargs.get("n_tuning", "500")) self.configs["n_chains"] = int(kwargs.get("n_chains", "1")) self.configs["sampler"] = kwargs.get("sampler", "NUTS") self.configs["target_accept"] = float( kwargs.get("target_accept", "0.8")) - self.configs["init"] = kwargs.get("init", "jitter+adapt_diag") + self.configs["init"] = kwargs.get("init", "jitter+adapt_diag_grad") self.configs["cores"] = int(kwargs.get("cores", "1")) self.configs["remove_datapoints_from_posterior"] = kwargs.get( "remove_datapoints_from_posterior", "True") == "True" diff --git a/pcntoolkit/normative_parallel.py b/pcntoolkit/normative_parallel.py index 2be391d1..f6a957e7 100755 --- a/pcntoolkit/normative_parallel.py +++ b/pcntoolkit/normative_parallel.py @@ -132,7 +132,7 @@ def execute_nm(processing_dir, kwargs.update({'batch_size': str(batch_size)}) job_ids = [] start_time = datetime.now().strftime("%Y-%m-%dT%H:%M:%S") - + for n in range(1, number_of_batches+1): kwargs.update({'job_id': str(n)}) if testrespfile_path is not None: @@ -181,11 +181,10 @@ def execute_nm(processing_dir, memory=memory, duration=duration, **kwargs) - + job_id = sbatch_nm(job_path=batch_job_path) job_ids.append(job_id) - - + elif cluster_spec == 'new': # this part requires addition in different envioronment [ sbatchwrap_nm(processing_dir=batch_processing_dir, @@ -225,7 +224,7 @@ def execute_nm(processing_dir, memory=memory, duration=duration, **kwargs) - + job_id = sbatch_nm(job_path=batch_job_path) job_ids.append(job_id) elif cluster_spec == 'new': @@ -268,11 +267,10 @@ def execute_nm(processing_dir, memory=memory, duration=duration, **kwargs) - - + job_id = sbatch_nm(job_path=batch_job_path) job_ids.append(job_id) - + elif cluster_spec == 'new': # this part requires addition in different envioronment [ bashwrap_nm(processing_dir=batch_processing_dir, func=func, @@ -301,31 +299,31 @@ def execute_nm(processing_dir, if response: if cluster_spec == 'torque': rerun_nm(processing_dir, log_path=log_path, memory=memory, - duration=duration, binary=binary, - interactive=interactive) + duration=duration, binary=binary, + interactive=interactive) elif cluster_spec == 'slurm': sbatchrerun_nm(processing_dir, - memory=memory, - duration=duration, - binary=binary, - log_path=log_path, - interactive=interactive) - + memory=memory, + duration=duration, + binary=binary, + log_path=log_path, + interactive=interactive) + else: success = True else: print('Reruning the failed jobs ...') if cluster_spec == 'torque': rerun_nm(processing_dir, log_path=log_path, memory=memory, - duration=duration, binary=binary, - interactive=interactive) + duration=duration, binary=binary, + interactive=interactive) elif cluster_spec == 'slurm': sbatchrerun_nm(processing_dir, - memory=memory, - duration=duration, - binary=binary, - log_path=log_path, - interactive=interactive) + memory=memory, + duration=duration, + binary=binary, + log_path=log_path, + interactive=interactive) if interactive == 'query': response = yes_or_no('Collect the results?') @@ -508,11 +506,11 @@ def collect_nm(processing_dir, # prediction is made (when test cov is not specified). files = glob.glob(processing_dir + 'batch_*/' + 'yhat' + outputsuffix + file_extentions) - if len(files)>0: + if len(files) > 0: file_example = fileio.load(files[0]) else: - raise ValueError(f"Missing output files (yhats at: {processing_dir + 'batch_*/' + 'yhat' + outputsuffix + file_extentions}") - + raise ValueError(f"Missing output files (yhats at: {processing_dir + 'batch_*/' + 'yhat' + outputsuffix + file_extentions}") + numsubjects = file_example.shape[0] try: # doesn't exist if size=1, and txt file @@ -1129,9 +1127,9 @@ def sbatchwrap_nm(processing_dir, sbatch_time = '#SBATCH --time=' + str(duration) + '\n' sbatch_memory = '#SBATCH --mem-per-cpu=' + str(memory) + '\n' sbatch_log_out = '#SBATCH -o ' + log_path + '%x_%j.out' + '\n' - sbatch_log_error = '#SBATCH -e ' + log_path + '%x_%j.err' + '\n' - #sbatch_module = 'module purge\n' - #sbatch_anaconda = 'module load anaconda3\n' + sbatch_log_error = '#SBATCH -e ' + log_path + '%x_%j.err' + '\n' + # sbatch_module = 'module purge\n' + # sbatch_anaconda = 'module load anaconda3\n' sbatch_exit = 'set -o errexit\n' # echo -n "This script is running on " @@ -1142,8 +1140,8 @@ def sbatchwrap_nm(processing_dir, sbatch_nodes + sbatch_tasks + sbatch_time + - sbatch_memory+ - sbatch_log_out+ + sbatch_memory + + sbatch_log_out + sbatch_log_error ] @@ -1212,7 +1210,7 @@ def sbatch_nm(job_path): # submits job to cluster job_id = check_output(sbatch_call, shell=True).decode( sys.stdout.encoding).replace("\n", "") - + return job_id @@ -1240,11 +1238,11 @@ def sbatchrerun_nm(processing_dir, written by (primarily) T Wolfers, (adapted) S Rutherford. ''' - - #log_path = kwargs.pop('log_path', None) - + + # log_path = kwargs.pop('log_path', None) + job_ids = [] - + start_time = datetime.now().strftime("%Y-%m-%dT%H:%M:%S") if binary: @@ -1284,15 +1282,16 @@ def sbatchrerun_nm(processing_dir, print(line.replace(memory, new_memory), end='') job_id = sbatch_nm(jobpath) job_ids.append(job_id) - + if interactive: - check_jobs(job_ids, cluster_spec='slurm', start_time=start_time, delay=60) + check_jobs(job_ids, cluster_spec='slurm', + start_time=start_time, delay=60) def retrieve_jobs(cluster_spec, start_time=None): """ A utility function to retrieve task status from the outputs of qstat. - + :param cluster_spec: type of cluster, either 'torque' or 'slurm'. :return: a dictionary of jobs. @@ -1300,7 +1299,7 @@ def retrieve_jobs(cluster_spec, start_time=None): """ if cluster_spec == 'torque': - + output = check_output('qstat', shell=True).decode(sys.stdout.encoding) output = output.split('\n') jobs = dict() @@ -1310,9 +1309,9 @@ def retrieve_jobs(cluster_spec, start_time=None): jobs[Job_ID]['name'] = Job_Name jobs[Job_ID]['walltime'] = Wall_Time jobs[Job_ID]['status'] = Status - + elif cluster_spec == 'slurm': - + end_time = datetime.now().strftime("%Y-%m-%dT%H:%M:%S") cmd = ['sacct', '-n', '-X', '--parsable2', '--noheader', '-S', start_time, '-E', end_time, '--format=JobName,State'] @@ -1336,9 +1335,9 @@ def check_job_status(jobs, cluster_spec, start_time=None): c = 0 q = 0 u = 0 - + if cluster_spec == 'torque': - + for job in jobs: try: if running_jobs[job]['status'] == 'C': @@ -1352,14 +1351,14 @@ def check_job_status(jobs, cluster_spec, start_time=None): except: # probably meanwhile the job is finished. c += 1 continue - + print('Total Jobs:%d, Queued:%d, Running:%d, Completed:%d, Unknown:%d' - % (len(jobs), q, r, c, u)) - + % (len(jobs), q, r, c, u)) + elif cluster_spec == 'slurm': - + lines = running_jobs.stdout.strip().split('\n') - + for line in lines: if line: parts = line.split('|') @@ -1373,10 +1372,10 @@ def check_job_status(jobs, cluster_spec, start_time=None): c += 1 elif state == 'FAILED': u += 1 - + print('Total Jobs:%d, Pending:%d, Running:%d, Completed:%d, Failed:%d' - % (len(jobs), q, r, c, u)) - + % (len(jobs), q, r, c, u)) + return q, r, c, u diff --git a/pcntoolkit/util/utils.py b/pcntoolkit/util/utils.py index ac855315..5b1550ec 100644 --- a/pcntoolkit/util/utils.py +++ b/pcntoolkit/util/utils.py @@ -469,7 +469,8 @@ def __init__(self): def _get_params(self, param): if len(param) != self.n_params: - raise ValueError('number of parameters must be ' + str(self.n_params)) + raise ValueError( + 'number of parameters must be ' + str(self.n_params)) return param[0], np.exp(param[1]) def f(self, x, params): @@ -570,7 +571,8 @@ def __init__(self): def _get_params(self, param): if len(param) != self.n_params: - raise ValueError('number of parameters must be ' + str(self.n_params)) + raise ValueError( + 'number of parameters must be ' + str(self.n_params)) epsilon = param[0] b = np.exp(param[1]) @@ -896,8 +898,8 @@ def simulate_data(method='linear', n_samples=100, n_features=1, n_grps=1, :returns: Tuple of (X_train, Y_train, grp_id_train, X_test, Y_test, grp_id_test, coef) """ - #np.random.seed(random_state) - + # np.random.seed(random_state) + if isinstance(n_samples, int): n_samples = [n_samples for _ in range(n_grps)] @@ -927,7 +929,8 @@ def simulate_data(method='linear', n_samples=100, n_features=1, n_grps=1, + np.random.randint(10, 100) coef_temp = 0 else: - raise ValueError("Unknown method. Please specify 'linear', 'non-linear', or 'combined'.") + raise ValueError( + "Unknown method. Please specify 'linear', 'non-linear', or 'combined'.") coef.append(coef_temp / 100) X_train.append(X_temp[:n_samples[i]]) @@ -938,23 +941,31 @@ def simulate_data(method='linear', n_samples=100, n_features=1, n_grps=1, grp_id_train.append(grp_id[:n_samples[i]]) grp_id_test.append(grp_id[n_samples[i]:]) - t = np.random.randint(1,5) + t = np.random.randint(1, 5) # Add noise to the data if noise == 'homoscedastic_gaussian': - Y_train[i] += np.random.normal(loc=0, scale=0.2, size=Y_train[i].shape[0]) / t - Y_test[i] += np.random.normal(loc=0, scale=0.2, size=Y_test[i].shape[0]) / t + Y_train[i] += np.random.normal(loc=0, + scale=0.2, size=Y_train[i].shape[0]) / t + Y_test[i] += np.random.normal(loc=0, + scale=0.2, size=Y_test[i].shape[0]) / t elif noise == 'heteroscedastic_gaussian': - Y_train[i] += np.random.normal(loc=0, scale=np.log(1 + np.exp(X_train[i][:, 0])), size=Y_train[i].shape[0]) - Y_test[i] += np.random.normal(loc=0, scale=np.log(1 + np.exp(X_test[i][:, 0])), size=Y_test[i].shape[0]) + Y_train[i] += np.random.normal(loc=0, scale=np.log( + 1 + np.exp(X_train[i][:, 0])), size=Y_train[i].shape[0]) + Y_test[i] += np.random.normal(loc=0, scale=np.log( + 1 + np.exp(X_test[i][:, 0])), size=Y_test[i].shape[0]) elif noise == 'homoscedastic_nongaussian': - Y_train[i] += skewnorm.rvs(a=10, loc=0, scale=0.2, size=Y_train[i].shape[0]) / t - Y_test[i] += skewnorm.rvs(a=10, loc=0, scale=0.2, size=Y_test[i].shape[0]) / t + Y_train[i] += skewnorm.rvs(a=10, loc=0, + scale=0.2, size=Y_train[i].shape[0]) / t + Y_test[i] += skewnorm.rvs(a=10, loc=0, + scale=0.2, size=Y_test[i].shape[0]) / t elif noise == 'heteroscedastic_nongaussian': - Y_train[i] += skewnorm.rvs(a=10, loc=0, scale=np.log(1 + np.exp(0.3 * X_train[i][:, 0])), size=Y_train[i].shape[0]) - Y_test[i] += skewnorm.rvs(a=10, loc=0, scale=np.log(1 + np.exp(0.3 * X_test[i][:, 0])), size=Y_test[i].shape[0]) + Y_train[i] += skewnorm.rvs(a=10, loc=0, scale=np.log( + 1 + np.exp(0.3 * X_train[i][:, 0])), size=Y_train[i].shape[0]) + Y_test[i] += skewnorm.rvs(a=10, loc=0, scale=np.log(1 + + np.exp(0.3 * X_test[i][:, 0])), size=Y_test[i].shape[0]) X_train = np.vstack(X_train) X_test = np.vstack(X_test) @@ -967,7 +978,8 @@ def simulate_data(method='linear', n_samples=100, n_features=1, n_grps=1, for i in range(n_features): plt.figure() for j in range(n_grps): - plt.scatter(X_train[grp_id_train[:, 0] == j, i], Y_train[grp_id_train[:, 0] == j], label='Group ' + str(j)) + plt.scatter(X_train[grp_id_train[:, 0] == j, i], + Y_train[grp_id_train[:, 0] == j], label='Group ' + str(j)) plt.xlabel(f'X{i}') plt.ylabel('Y') plt.legend() @@ -976,19 +988,25 @@ def simulate_data(method='linear', n_samples=100, n_features=1, n_grps=1, if working_dir: if not os.path.isdir(working_dir): os.mkdir(working_dir) - + with open(os.path.join(working_dir, 'trbefile.pkl'), 'wb') as file: - pickle.dump(pd.DataFrame(grp_id_train), file, protocol=pickle.HIGHEST_PROTOCOL) + pickle.dump(pd.DataFrame(grp_id_train), file, + protocol=pickle.HIGHEST_PROTOCOL) with open(os.path.join(working_dir, 'tsbefile.pkl'), 'wb') as file: - pickle.dump(pd.DataFrame(grp_id_test), file, protocol=pickle.HIGHEST_PROTOCOL) + pickle.dump(pd.DataFrame(grp_id_test), file, + protocol=pickle.HIGHEST_PROTOCOL) with open(os.path.join(working_dir, 'X_train.pkl'), 'wb') as file: - pickle.dump(pd.DataFrame(X_train), file, protocol=pickle.HIGHEST_PROTOCOL) + pickle.dump(pd.DataFrame(X_train), file, + protocol=pickle.HIGHEST_PROTOCOL) with open(os.path.join(working_dir, 'X_test.pkl'), 'wb') as file: - pickle.dump(pd.DataFrame(X_test), file, protocol=pickle.HIGHEST_PROTOCOL) + pickle.dump(pd.DataFrame(X_test), file, + protocol=pickle.HIGHEST_PROTOCOL) with open(os.path.join(working_dir, 'Y_train.pkl'), 'wb') as file: - pickle.dump(pd.DataFrame(Y_train), file, protocol=pickle.HIGHEST_PROTOCOL) + pickle.dump(pd.DataFrame(Y_train), file, + protocol=pickle.HIGHEST_PROTOCOL) with open(os.path.join(working_dir, 'Y_test.pkl'), 'wb') as file: - pickle.dump(pd.DataFrame(Y_test), file, protocol=pickle.HIGHEST_PROTOCOL) + pickle.dump(pd.DataFrame(Y_test), file, + protocol=pickle.HIGHEST_PROTOCOL) return X_train, Y_train, grp_id_train, X_test, Y_test, grp_id_test, coef diff --git a/requirements.txt b/requirements.txt index 58c3f61e..1ec16b74 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,4 +10,6 @@ pandas>=0.25.3 torch>=1.1.0 sphinx-tabs pymc>=5.1.0 -arviz==0.13.0 +arviz +numba +nutpie \ No newline at end of file diff --git a/setup.py b/setup.py index d37cd554..00693595 100644 --- a/setup.py +++ b/setup.py @@ -7,10 +7,11 @@ def parse_requirements(filename): lineiter = (line.strip() for line in f) return [line for line in lineiter if line and not line.startswith("#")] + requirements = parse_requirements('requirements.txt') # Note: to force PyPI to overwrite a version without bumping the version number -# use e.g.: +# use e.g.: # version = '0.29-1' setup(name='pcntoolkit', diff --git a/tests/testHBR.py b/tests/testHBR.py index 1d2ba679..30168317 100644 --- a/tests/testHBR.py +++ b/tests/testHBR.py @@ -24,7 +24,7 @@ random_state = 29 -working_dir = '/' # Specify a working directory to save data and results. +working_dir = '/home/guus/tmp/' # Specify a working directory to save data and results. simulation_method = 'linear' n_features = 1 # The number of input features of X @@ -32,8 +32,7 @@ n_samples = 500 # Number of samples in each group (use a list for different # sample numbers across different batches) -model_type = 'linear' # modelto try 'linear, ''polynomial', 'bspline' - +model_type = 'linear' # modelto try 'linear, ''polynomial', 'bspline' ############################## Data Simulation ################################ @@ -41,13 +40,13 @@ X_train, Y_train, grp_id_train, X_test, Y_test, grp_id_test, coef = \ simulate_data(simulation_method, n_samples, n_features, n_grps, - working_dir=working_dir, plot=True, noise='heteroscedastic_nongaussian', + working_dir=working_dir, plot=True, noise='heteroscedastic_nongaussian', random_state=random_state) ################################# Fittig and Predicting ############################### -nm = norm_init(X_train, Y_train, alg='hbr', model_type=model_type, likelihood='SHASHb', - linear_sigma='True', random_slope_mu='True', linear_epsilon='True', linear_delta='True') +nm = norm_init(X_train, Y_train, alg='hbr', model_type=model_type, likelihood='SHASHo', + linear_sigma='True', random_intercept_mu='True', random_slope_mu='False', linear_epsilon='False', linear_delta='False', nuts_sampler='nutpie') nm.estimate(X_train, Y_train, trbefile=working_dir+'trbefile.pkl') yhat, ys2 = nm.predict(X_test, tsbefile=working_dir+'tsbefile.pkl') diff --git a/tests/test_normative_parallel.py b/tests/test_normative_parallel.py index 89644c59..1a861429 100644 --- a/tests/test_normative_parallel.py +++ b/tests/test_normative_parallel.py @@ -12,7 +12,7 @@ # configs # specify your python path. Make sure you are using the Python in the right environement. -python_path = '/path/to/my/python' +python_path = '/path/to/my/python' # specify the working directory to sacve the results. processing_dir = '/path/to/my/test/directory/' @@ -21,29 +21,31 @@ cov_num = 1 # simulating data -pd.DataFrame(np.random.random([sample_num, resp_num])).to_pickle(os.path.join(processing_dir,'train_resp.pkl')) -pd.DataFrame(np.random.random([sample_num, cov_num])).to_pickle(os.path.join(processing_dir,'train_cov.pkl')) -pd.DataFrame(np.random.random([sample_num, resp_num])).to_pickle(os.path.join(processing_dir,'test_resp.pkl')) -pd.DataFrame(np.random.random([sample_num, cov_num])).to_pickle(os.path.join(processing_dir,'test_cov.pkl')) +pd.DataFrame(np.random.random([sample_num, resp_num])).to_pickle( + os.path.join(processing_dir, 'train_resp.pkl')) +pd.DataFrame(np.random.random([sample_num, cov_num])).to_pickle( + os.path.join(processing_dir, 'train_cov.pkl')) +pd.DataFrame(np.random.random([sample_num, resp_num])).to_pickle( + os.path.join(processing_dir, 'test_resp.pkl')) +pd.DataFrame(np.random.random([sample_num, cov_num])).to_pickle( + os.path.join(processing_dir, 'test_cov.pkl')) -respfile = os.path.join(processing_dir,'train_resp.pkl') -covfile = os.path.join(processing_dir,'train_cov.pkl') +respfile = os.path.join(processing_dir, 'train_resp.pkl') +covfile = os.path.join(processing_dir, 'train_cov.pkl') -testresp = os.path.join(processing_dir,'test_resp.pkl') -testcov = os.path.join(processing_dir,'test_cov.pkl') +testresp = os.path.join(processing_dir, 'test_resp.pkl') +testcov = os.path.join(processing_dir, 'test_cov.pkl') job_name = 'nmp_test' batch_size = 1 memory = '4gb' duration = '01:00:00' cluster = 'slurm' -binary='True' +binary = 'True' execute_nm(processing_dir, python_path, job_name, covfile, respfile, - testcovfile_path=testcov, testrespfile_path=testresp, batch_size=batch_size, + testcovfile_path=testcov, testrespfile_path=testresp, batch_size=batch_size, memory=memory, duration=duration, cluster_spec=cluster, log_path=processing_dir, interactive='auto', binary=binary, savemodel='True', saveoutput='True') - - From 053d0c1c27a66ed57c9a89703a6458ab0abff587 Mon Sep 17 00:00:00 2001 From: AuguB Date: Wed, 2 Oct 2024 15:36:12 +0200 Subject: [PATCH 07/68] Formatting --- pcntoolkit/normative_model/norm_hbr.py | 119 ++++++++++++------------- 1 file changed, 59 insertions(+), 60 deletions(-) diff --git a/pcntoolkit/normative_model/norm_hbr.py b/pcntoolkit/normative_model/norm_hbr.py index b98674d0..170af404 100644 --- a/pcntoolkit/normative_model/norm_hbr.py +++ b/pcntoolkit/normative_model/norm_hbr.py @@ -40,7 +40,6 @@ class NormHBR(NormBase): - """HBR multi-batch normative modelling class. By default, this function estimates a linear model with random intercept, random slope, and random homoscedastic noise. @@ -144,8 +143,9 @@ def __init__(self, **kwargs): kwargs.get("target_accept", "0.8")) self.configs["init"] = kwargs.get("init", "jitter+adapt_diag_grad") self.configs["cores"] = int(kwargs.get("cores", "1")) - self.configs["remove_datapoints_from_posterior"] = kwargs.get( - "remove_datapoints_from_posterior", "True") == "True" + self.configs["remove_datapoints_from_posterior"] = ( + kwargs.get("remove_datapoints_from_posterior", "True") == "True" + ) # model transfer setting self.configs["freedom"] = int(kwargs.get("freedom", "1")) self.configs["transferred"] = False @@ -261,8 +261,8 @@ def estimate(self, X, y, **kwargs): """ Sample from the posterior of the Hierarchical Bayesian Regression model. - This function samples from the posterior distribution of the Hierarchical Bayesian Regression (HBR) model given the data matrix 'X' and target 'y'. - If 'trbefile' is provided in kwargs, it is used as batch effects for the training data. + This function samples from the posterior distribution of the Hierarchical Bayesian Regression (HBR) model given the data matrix 'X' and target 'y'. + If 'trbefile' is provided in kwargs, it is used as batch effects for the training data. Otherwise, the batch effects are initialized as zeros. :param X: Data matrix. @@ -291,9 +291,9 @@ def predict(self, Xs, X=None, Y=None, **kwargs): """ Predict the target values for the given test data. - This function predicts the target values for the given test data 'Xs' using the Hierarchical Bayesian Regression (HBR) model. - If 'X' and 'Y' are provided, they are used to update the model before prediction. - If 'tsbefile' is provided in kwargs, it is used to as batch effects for the test data. + This function predicts the target values for the given test data 'Xs' using the Hierarchical Bayesian Regression (HBR) model. + If 'X' and 'Y' are provided, they are used to update the model before prediction. + If 'tsbefile' is provided in kwargs, it is used to as batch effects for the test data. Otherwise, the batch effects are initialized as zeros. :param Xs: Test data matrix. @@ -332,8 +332,8 @@ def estimate_on_new_sites(self, X, y, batch_effects): """ Samples from the posterior of the Hierarchical Bayesian Regression model. - This function samples from the posterior of the Hierarchical Bayesian Regression (HBR) model given the data matrix 'X' and target 'y'. The posterior samples from the previous iteration are used to construct the priors for this one. - If 'trbefile' is provided in kwargs, it is used as batch effects for the training data. + This function samples from the posterior of the Hierarchical Bayesian Regression (HBR) model given the data matrix 'X' and target 'y'. The posterior samples from the previous iteration are used to construct the priors for this one. + If 'trbefile' is provided in kwargs, it is used as batch effects for the training data. Otherwise, the batch effects are initialized as zeros. :param X: Data matrix. @@ -350,7 +350,7 @@ def predict_on_new_sites(self, X, batch_effects): """ Predict the target values for the given test data on new sites. - This function predicts the target values for the given test data 'X' on new sites using the Hierarchical Bayesian Regression (HBR) model. + This function predicts the target values for the given test data 'X' on new sites using the Hierarchical Bayesian Regression (HBR) model. The batch effects for the new sites must be provided. :param X: Test data matrix for the new sites. @@ -373,8 +373,8 @@ def extend( """ Extend the Hierarchical Bayesian Regression model using data sampled from the posterior predictive distribution. - This function extends the Hierarchical Bayesian Regression (HBR) model, given the data matrix 'X' and target 'y'. - It also generates data from the posterior predictive distribution and merges it with the new data before estimation. + This function extends the Hierarchical Bayesian Regression (HBR) model, given the data matrix 'X' and target 'y'. + It also generates data from the posterior predictive distribution and merges it with the new data before estimation. If 'informative_prior' is True, it uses the adapt method for estimation. Otherwise, it uses the estimate method. :param X: Data matrix for the new sites. @@ -427,11 +427,13 @@ def tune( """ This function tunes the Hierarchical Bayesian Regression model using data sampled from the posterior predictive distribution. Its behavior is not tested, and it is unclear if the desired behavior is achieved. """ - - #TODO need to check if this is correct - print("The 'tune' function is being called, but it is currently in development and its behavior is not tested. It is unclear if the desired behavior is achieved. Any output following this should be treated as unreliable.") - + # TODO need to check if this is correct + + print( + "The 'tune' function is being called, but it is currently in development and its behavior is not tested. It is unclear if the desired behavior is achieved. Any output following this should be treated as unreliable." + ) + tune_ids = list(np.unique(batch_effects[:, merge_batch_dim])) X_dummy, batch_effects_dummy = self.hbr.create_dummy_inputs( @@ -516,7 +518,7 @@ def get_mcmc_quantiles(self, X, batch_effects=None, z_scores=None): Args: X ([N*p]ndarray): covariates for which the quantiles are computed (must be scaled if scaler is set) batch_effects (ndarray): the batch effects corresponding to X - z_scores (ndarray): Use this to determine which quantiles will be computed. The resulting quantiles will have the z-scores given in this list. + z_scores (ndarray): Use this to determine which quantiles will be computed. The resulting quantiles will have the z-scores given in this list. """ # Set batch effects to zero if none are provided if batch_effects is None: @@ -525,9 +527,9 @@ def get_mcmc_quantiles(self, X, batch_effects=None, z_scores=None): # Set the z_scores for which the quantiles are computed if z_scores is None: z_scores = np.arange(-3, 4) - likelihood = self.configs['likelihood'] + likelihood = self.configs["likelihood"] - # Determine the variables to predict + # Determine the variables to predict if self.configs["likelihood"] == "Normal": var_names = ["mu_samples", "sigma_samples", "sigma_plus_samples"] elif self.configs["likelihood"].startswith("SHASH"): @@ -543,24 +545,21 @@ def get_mcmc_quantiles(self, X, batch_effects=None, z_scores=None): exit("Unknown likelihood: " + self.configs["likelihood"]) # Delete the posterior predictive if it already exists - if 'posterior_predictive' in self.hbr.idata.groups(): + if "posterior_predictive" in self.hbr.idata.groups(): del self.hbr.idata.posterior_predictive if self.configs["transferred"] == True: - self.predict_on_new_sites( - X=X, - batch_effects=batch_effects - ) - #var_names = ["y_like"] - else: + self.predict_on_new_sites(X=X, batch_effects=batch_effects) + # var_names = ["y_like"] + else: self.hbr.predict( - # Do a forward to get the posterior predictive in the idata + # Do a forward to get the posterior predictive in the idata X=X, batch_effects=batch_effects, batch_effects_maps=self.batch_effects_maps, pred="single", - var_names=var_names+["y_like"], - ) + var_names=var_names + ["y_like"], + ) # Extract the relevant samples from the idata post_pred = az.extract( @@ -568,9 +567,9 @@ def get_mcmc_quantiles(self, X, batch_effects=None, z_scores=None): ) # Remove superfluous var_nammes - var_names.remove('sigma_samples') - if 'delta_samples' in var_names: - var_names.remove('delta_samples') + var_names.remove("sigma_samples") + if "delta_samples" in var_names: + var_names.remove("delta_samples") # Separate the samples into a list so that they can be unpacked array_of_vars = list(map(lambda x: post_pred[x], var_names)) @@ -586,7 +585,7 @@ def get_mcmc_quantiles(self, X, batch_effects=None, z_scores=None): quantiles[i] = xarray.apply_ufunc( quantile, *array_of_vars, - kwargs={"zs": zs, "likelihood": self.configs['likelihood']}, + kwargs={"zs": zs, "likelihood": self.configs["likelihood"]}, ) return quantiles.mean(axis=-1) @@ -599,12 +598,12 @@ def get_mcmc_zscores(self, X, y, **kwargs): y ([N*1]ndarray): response variables """ - print(self.configs['likelihood']) + print(self.configs["likelihood"]) tsbefile = kwargs.get("tsbefile", None) if tsbefile is not None: batch_effects_test = fileio.load(tsbefile) - else: # Set batch effects to zero if none are provided + else: # Set batch effects to zero if none are provided print("Could not find batch-effects file! Initializing all as zeros ...") batch_effects_test = np.zeros([X.shape[0], 1]) @@ -624,7 +623,7 @@ def get_mcmc_zscores(self, X, y, **kwargs): exit("Unknown likelihood: " + self.configs["likelihood"]) # Delete the posterior predictive if it already exists - if 'posterior_predictive' in self.hbr.idata.groups(): + if "posterior_predictive" in self.hbr.idata.groups(): del self.hbr.idata.posterior_predictive # Do a forward to get the posterior predictive in the idata @@ -633,7 +632,7 @@ def get_mcmc_zscores(self, X, y, **kwargs): batch_effects=batch_effects_test, batch_effects_maps=self.batch_effects_maps, pred="single", - var_names=var_names+["y_like"], + var_names=var_names + ["y_like"], ) # Extract the relevant samples from the idata @@ -642,9 +641,9 @@ def get_mcmc_zscores(self, X, y, **kwargs): ) # Remove superfluous var_names - var_names.remove('sigma_samples') - if 'delta_samples' in var_names: - var_names.remove('delta_samples') + var_names.remove("sigma_samples") + if "delta_samples" in var_names: + var_names.remove("delta_samples") # Separate the samples into a list so that they can be unpacked array_of_vars = list(map(lambda x: post_pred[x], var_names)) @@ -656,7 +655,7 @@ def get_mcmc_zscores(self, X, y, **kwargs): z_scores = xarray.apply_ufunc( z_score, *array_of_vars, - kwargs={"y": y, "likelihood": self.configs['likelihood']}, + kwargs={"y": y, "likelihood": self.configs["likelihood"]}, ) return z_scores.mean(axis=-1).values @@ -704,19 +703,19 @@ def m(epsilon, delta, r): def quantile(mu, sigma, epsilon=None, delta=None, zs=0, likelihood="Normal"): """Get the zs'th quantiles given likelihood parameters""" - if likelihood.startswith('SHASH'): + if likelihood.startswith("SHASH"): if likelihood == "SHASHo": - quantiles = S_inv(zs, epsilon, delta)*sigma + mu + quantiles = S_inv(zs, epsilon, delta) * sigma + mu elif likelihood == "SHASHo2": - sigma_d = sigma/delta - quantiles = S_inv(zs, epsilon, delta)*sigma_d + mu + sigma_d = sigma / delta + quantiles = S_inv(zs, epsilon, delta) * sigma_d + mu elif likelihood == "SHASHb": true_mu = m(epsilon, delta, 1) - true_sigma = np.sqrt((m(epsilon, delta, 2) - true_mu ** 2)) - SHASH_c = ((S_inv(zs, epsilon, delta)-true_mu)/true_sigma) + true_sigma = np.sqrt((m(epsilon, delta, 2) - true_mu**2)) + SHASH_c = (S_inv(zs, epsilon, delta) - true_mu) / true_sigma quantiles = SHASH_c * sigma + mu - elif likelihood == 'Normal': - quantiles = zs*sigma + mu + elif likelihood == "Normal": + quantiles = zs * sigma + mu else: exit("Unsupported likelihood") return quantiles @@ -724,22 +723,22 @@ def quantile(mu, sigma, epsilon=None, delta=None, zs=0, likelihood="Normal"): def z_score(mu, sigma, epsilon=None, delta=None, y=None, likelihood="Normal"): """Get the z-scores of Y, given likelihood parameters""" - if likelihood.startswith('SHASH'): + if likelihood.startswith("SHASH"): if likelihood == "SHASHo": - SHASH = (y-mu)/sigma - Z = np.sinh(np.arcsinh(SHASH)*delta - epsilon) + SHASH = (y - mu) / sigma + Z = np.sinh(np.arcsinh(SHASH) * delta - epsilon) elif likelihood == "SHASHo2": - sigma_d = sigma/delta - SHASH = (y-mu)/sigma_d - Z = np.sinh(np.arcsinh(SHASH)*delta - epsilon) + sigma_d = sigma / delta + SHASH = (y - mu) / sigma_d + Z = np.sinh(np.arcsinh(SHASH) * delta - epsilon) elif likelihood == "SHASHb": true_mu = m(epsilon, delta, 1) - true_sigma = np.sqrt((m(epsilon, delta, 2) - true_mu ** 2)) - SHASH_c = ((y-mu)/sigma) + true_sigma = np.sqrt((m(epsilon, delta, 2) - true_mu**2)) + SHASH_c = (y - mu) / sigma SHASH = SHASH_c * true_sigma + true_mu Z = np.sinh(np.arcsinh(SHASH) * delta - epsilon) - elif likelihood == 'Normal': - Z = (y-mu)/sigma + elif likelihood == "Normal": + Z = (y - mu) / sigma else: exit("Unsupported likelihood") return Z From 4ade92700dfac402eb7da629d7005524dd411895 Mon Sep 17 00:00:00 2001 From: AuguB Date: Wed, 2 Oct 2024 15:37:00 +0200 Subject: [PATCH 08/68] Git thinks this has changed --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 1ec16b74..dda3803d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,6 +10,6 @@ pandas>=0.25.3 torch>=1.1.0 sphinx-tabs pymc>=5.1.0 -arviz +arviz numba nutpie \ No newline at end of file From e43e1881d7ac98d28f2fcc4d37ef089f90e74857 Mon Sep 17 00:00:00 2001 From: AuguB Date: Wed, 2 Oct 2024 18:46:39 +0200 Subject: [PATCH 09/68] Added test notebook --- tests/test_HBR.ipynb | 188 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 188 insertions(+) create mode 100644 tests/test_HBR.ipynb diff --git a/tests/test_HBR.ipynb b/tests/test_HBR.ipynb new file mode 100644 index 00000000..1abbd02d --- /dev/null +++ b/tests/test_HBR.ipynb @@ -0,0 +1,188 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "\n", + "\"\"\"\n", + "Created on Mon Jul 29 13:26:35 2019\n", + "\n", + "@author: seykia\n", + "\n", + "This script tests HBR models with default configs on toy data.\n", + "\n", + "\"\"\"\n", + "\n", + "import os\n", + "import numpy as np\n", + "from pcntoolkit.normative_model.norm_utils import norm_init\n", + "from pcntoolkit.util.utils import simulate_data\n", + "import matplotlib.pyplot as plt\n", + "from pcntoolkit.normative import estimate\n", + "from warnings import filterwarnings\n", + "filterwarnings('ignore')\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "\n", + "\n", + "########################### Experiment Settings ###############################\n", + "\n", + "\n", + "random_state = 29\n", + "\n", + "working_dir = '/home/guus/tmp/' # Specify a working directory to save data and results.\n", + "\n", + "simulation_method = 'linear'\n", + "n_features = 1 # The number of input features of X\n", + "n_grps = 2 # Number of batches in data\n", + "n_samples = 500 # Number of samples in each group (use a list for different\n", + "# sample numbers across different batches)\n", + "\n", + "model_type = 'linear' # modelto try 'linear, ''polynomial', 'bspline'\n", + "\n", + "\n", + "############################## Data Simulation ################################\n", + "\n", + "\n", + "X_train, Y_train, grp_id_train, X_test, Y_test, grp_id_test, coef = \\\n", + " simulate_data(simulation_method, n_samples, n_features, n_grps,\n", + " working_dir=working_dir, plot=True, noise='heteroscedastic_nongaussian',\n", + " random_state=random_state)\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "ename": "TypingError", + "evalue": "Failed in nopython mode pipeline (step: nopython frontend)\nFailed in nopython mode pipeline (step: nopython frontend)\nInvalid use of type(CPUDispatcher()) with parameters (readonly array(float64, 2d, C))\nKnown signatures:\n * (Array(float64, 2, 'A', False, aligned=True),) -> array(float64, 1d, A)\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /tmp/tmp01rwehf6 (7)\n\n\nFile \"../../../../../tmp/tmp01rwehf6\", line 7:\ndef numba_funcified_fgraph(_unconstrained_point, y, batch_effect_0_data, X):\n \n # Sum{axis=1}(X)\n tensor_variable_2 = careduce_axis(X)\n ^\n\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /home/guus/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py (637)\n\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /home/guus/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py (637)\n\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /home/guus/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py (637)\n\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /home/guus/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py (637)\n\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /home/guus/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py (637)\n\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /home/guus/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py (637)\n\n\nFile \"../../../anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py\", line 637:\n def extract_shared(x, user_data_):\n \n\n return inner(x, *_shared_tuple)\n ^\n", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypingError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[4], line 6\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m################################# Fittig and Predicting ###############################\u001b[39;00m\n\u001b[1;32m 3\u001b[0m nm \u001b[38;5;241m=\u001b[39m norm_init(X_train, Y_train, alg\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mhbr\u001b[39m\u001b[38;5;124m'\u001b[39m, model_type\u001b[38;5;241m=\u001b[39mmodel_type, likelihood\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mSHASHo\u001b[39m\u001b[38;5;124m'\u001b[39m,\n\u001b[1;32m 4\u001b[0m linear_sigma\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mTrue\u001b[39m\u001b[38;5;124m'\u001b[39m, random_intercept_mu\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mTrue\u001b[39m\u001b[38;5;124m'\u001b[39m, random_slope_mu\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mTrue\u001b[39m\u001b[38;5;124m'\u001b[39m, linear_epsilon\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mFalse\u001b[39m\u001b[38;5;124m'\u001b[39m, linear_delta\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mFalse\u001b[39m\u001b[38;5;124m'\u001b[39m, nuts_sampler\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mnutpie\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[0;32m----> 6\u001b[0m \u001b[43mnm\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mestimate\u001b[49m\u001b[43m(\u001b[49m\u001b[43mX_train\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mY_train\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtrbefile\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mworking_dir\u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mtrbefile.pkl\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 7\u001b[0m yhat, ys2 \u001b[38;5;241m=\u001b[39m nm\u001b[38;5;241m.\u001b[39mpredict(X_test, tsbefile\u001b[38;5;241m=\u001b[39mworking_dir\u001b[38;5;241m+\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mtsbefile.pkl\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 10\u001b[0m \u001b[38;5;66;03m################################# Plotting Quantiles ###############################\u001b[39;00m\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/pcntoolkit-0.30.post2-py3.11.egg/pcntoolkit/normative_model/norm_hbr.py:286\u001b[0m, in \u001b[0;36mNormHBR.estimate\u001b[0;34m(self, X, y, **kwargs)\u001b[0m\n\u001b[1;32m 279\u001b[0m batch_effects_train \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mzeros([X\u001b[38;5;241m.\u001b[39mshape[\u001b[38;5;241m0\u001b[39m], \u001b[38;5;241m1\u001b[39m])\n\u001b[1;32m 281\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbatch_effects_maps \u001b[38;5;241m=\u001b[39m [\n\u001b[1;32m 282\u001b[0m {v: i \u001b[38;5;28;01mfor\u001b[39;00m i, v \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(np\u001b[38;5;241m.\u001b[39munique(batch_effects_train[:, j]))}\n\u001b[1;32m 283\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m j \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(batch_effects_train\u001b[38;5;241m.\u001b[39mshape[\u001b[38;5;241m1\u001b[39m])\n\u001b[1;32m 284\u001b[0m ]\n\u001b[0;32m--> 286\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mhbr\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mestimate\u001b[49m\u001b[43m(\u001b[49m\u001b[43mX\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbatch_effects_train\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 288\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/pcntoolkit-0.30.post2-py3.11.egg/pcntoolkit/model/hbr.py:444\u001b[0m, in \u001b[0;36mHBR.estimate\u001b[0;34m(self, X, y, batch_effects, **kwargs)\u001b[0m\n\u001b[1;32m 442\u001b[0m \u001b[38;5;28;01mdel\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39midata\n\u001b[1;32m 443\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m modeler(X, y, batch_effects, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mconfigs) \u001b[38;5;28;01mas\u001b[39;00m m:\n\u001b[0;32m--> 444\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39midata \u001b[38;5;241m=\u001b[39m \u001b[43mpm\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msample\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 445\u001b[0m \u001b[43m \u001b[49m\u001b[43mdraws\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconfigs\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mn_samples\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 446\u001b[0m \u001b[43m \u001b[49m\u001b[43mtune\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconfigs\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mn_tuning\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 447\u001b[0m \u001b[43m \u001b[49m\u001b[43mchains\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconfigs\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mn_chains\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 448\u001b[0m \u001b[43m \u001b[49m\u001b[43minit\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconfigs\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43minit\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 449\u001b[0m \u001b[43m \u001b[49m\u001b[43mn_init\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m500000\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 450\u001b[0m \u001b[43m \u001b[49m\u001b[43mcores\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconfigs\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mcores\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 451\u001b[0m \u001b[43m \u001b[49m\u001b[43mnuts_sampler\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconfigs\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mnuts_sampler\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 452\u001b[0m \u001b[43m \u001b[49m\u001b[43mprogressbar\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\n\u001b[1;32m 453\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 454\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mvars_to_sample \u001b[38;5;241m=\u001b[39m [\u001b[38;5;124m'\u001b[39m\u001b[38;5;124my_like\u001b[39m\u001b[38;5;124m'\u001b[39m]\n\u001b[1;32m 455\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mconfigs[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mremove_datapoints_from_posterior\u001b[39m\u001b[38;5;124m'\u001b[39m]:\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/pymc/sampling/mcmc.py:725\u001b[0m, in \u001b[0;36msample\u001b[0;34m(draws, tune, chains, cores, random_seed, progressbar, progressbar_theme, step, var_names, nuts_sampler, initvals, init, jitter_max_retries, n_init, trace, discard_tuned_samples, compute_convergence_checks, keep_warning_stat, return_inferencedata, idata_kwargs, nuts_sampler_kwargs, callback, mp_ctx, blas_cores, model, **kwargs)\u001b[0m\n\u001b[1;32m 720\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[1;32m 721\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mModel can not be sampled with NUTS alone. Your model is probably not continuous.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 722\u001b[0m )\n\u001b[1;32m 724\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m joined_blas_limiter():\n\u001b[0;32m--> 725\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_sample_external_nuts\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 726\u001b[0m \u001b[43m \u001b[49m\u001b[43msampler\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mnuts_sampler\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 727\u001b[0m \u001b[43m \u001b[49m\u001b[43mdraws\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdraws\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 728\u001b[0m \u001b[43m \u001b[49m\u001b[43mtune\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtune\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 729\u001b[0m \u001b[43m \u001b[49m\u001b[43mchains\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mchains\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 730\u001b[0m \u001b[43m \u001b[49m\u001b[43mtarget_accept\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpop\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mnuts\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m{\u001b[49m\u001b[43m}\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mtarget_accept\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m0.8\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 731\u001b[0m \u001b[43m \u001b[49m\u001b[43mrandom_seed\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrandom_seed\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 732\u001b[0m \u001b[43m \u001b[49m\u001b[43minitvals\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43minitvals\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 733\u001b[0m \u001b[43m \u001b[49m\u001b[43mmodel\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmodel\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 734\u001b[0m \u001b[43m \u001b[49m\u001b[43mvar_names\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mvar_names\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 735\u001b[0m \u001b[43m \u001b[49m\u001b[43mprogressbar\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mprogressbar\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 736\u001b[0m \u001b[43m \u001b[49m\u001b[43midata_kwargs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43midata_kwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 737\u001b[0m \u001b[43m \u001b[49m\u001b[43mcompute_convergence_checks\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcompute_convergence_checks\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 738\u001b[0m \u001b[43m \u001b[49m\u001b[43mnuts_sampler_kwargs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mnuts_sampler_kwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 739\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 740\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 742\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(step, \u001b[38;5;28mlist\u001b[39m):\n\u001b[1;32m 743\u001b[0m step \u001b[38;5;241m=\u001b[39m CompoundStep(step)\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/pymc/sampling/mcmc.py:307\u001b[0m, in \u001b[0;36m_sample_external_nuts\u001b[0;34m(sampler, draws, tune, chains, target_accept, random_seed, initvals, model, var_names, progressbar, idata_kwargs, compute_convergence_checks, nuts_sampler_kwargs, **kwargs)\u001b[0m\n\u001b[1;32m 302\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m var_names \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 303\u001b[0m warnings\u001b[38;5;241m.\u001b[39mwarn(\n\u001b[1;32m 304\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m`var_names` are currently ignored by the nutpie sampler\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 305\u001b[0m \u001b[38;5;167;01mUserWarning\u001b[39;00m,\n\u001b[1;32m 306\u001b[0m )\n\u001b[0;32m--> 307\u001b[0m compiled_model \u001b[38;5;241m=\u001b[39m \u001b[43mnutpie\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcompile_pymc_model\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmodel\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 308\u001b[0m t_start \u001b[38;5;241m=\u001b[39m time\u001b[38;5;241m.\u001b[39mtime()\n\u001b[1;32m 309\u001b[0m idata \u001b[38;5;241m=\u001b[39m nutpie\u001b[38;5;241m.\u001b[39msample(\n\u001b[1;32m 310\u001b[0m compiled_model,\n\u001b[1;32m 311\u001b[0m draws\u001b[38;5;241m=\u001b[39mdraws,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 317\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mnuts_sampler_kwargs,\n\u001b[1;32m 318\u001b[0m )\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py:391\u001b[0m, in \u001b[0;36mcompile_pymc_model\u001b[0;34m(model, backend, gradient_backend, **kwargs)\u001b[0m\n\u001b[1;32m 388\u001b[0m backend \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mnumba\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 390\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m backend\u001b[38;5;241m.\u001b[39mlower() \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mnumba\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[0;32m--> 391\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_compile_pymc_model_numba\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmodel\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 392\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m backend\u001b[38;5;241m.\u001b[39mlower() \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mjax\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[1;32m 393\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m _compile_pymc_model_jax(\n\u001b[1;32m 394\u001b[0m model, gradient_backend\u001b[38;5;241m=\u001b[39mgradient_backend, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs\n\u001b[1;32m 395\u001b[0m )\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py:207\u001b[0m, in \u001b[0;36m_compile_pymc_model_numba\u001b[0;34m(model, **kwargs)\u001b[0m\n\u001b[1;32m 200\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m warnings\u001b[38;5;241m.\u001b[39mcatch_warnings():\n\u001b[1;32m 201\u001b[0m warnings\u001b[38;5;241m.\u001b[39mfilterwarnings(\n\u001b[1;32m 202\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mignore\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 203\u001b[0m message\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCannot cache compiled function .* as it uses dynamic globals\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 204\u001b[0m category\u001b[38;5;241m=\u001b[39mnumba\u001b[38;5;241m.\u001b[39mNumbaWarning,\n\u001b[1;32m 205\u001b[0m )\n\u001b[0;32m--> 207\u001b[0m logp_numba \u001b[38;5;241m=\u001b[39m \u001b[43mnumba\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[43mc_sig\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\u001b[43m(\u001b[49m\u001b[43mlogp_numba_raw\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 209\u001b[0m expand_shared_names \u001b[38;5;241m=\u001b[39m [var\u001b[38;5;241m.\u001b[39mname \u001b[38;5;28;01mfor\u001b[39;00m var \u001b[38;5;129;01min\u001b[39;00m expand_fn_pt\u001b[38;5;241m.\u001b[39mget_shared()]\n\u001b[1;32m 210\u001b[0m expand_numba_raw, c_sig_expand \u001b[38;5;241m=\u001b[39m _make_c_expand_func(\n\u001b[1;32m 211\u001b[0m n_dim, n_expanded, expand_fn, user_data, expand_shared_names, shared_data\n\u001b[1;32m 212\u001b[0m )\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/decorators.py:275\u001b[0m, in \u001b[0;36mcfunc..wrapper\u001b[0;34m(func)\u001b[0m\n\u001b[1;32m 273\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m cache:\n\u001b[1;32m 274\u001b[0m res\u001b[38;5;241m.\u001b[39menable_caching()\n\u001b[0;32m--> 275\u001b[0m \u001b[43mres\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcompile\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 276\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m res\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/compiler_lock.py:35\u001b[0m, in \u001b[0;36m_CompilerLock.__call__.._acquire_compile_lock\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 32\u001b[0m \u001b[38;5;129m@functools\u001b[39m\u001b[38;5;241m.\u001b[39mwraps(func)\n\u001b[1;32m 33\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_acquire_compile_lock\u001b[39m(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 34\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m:\n\u001b[0;32m---> 35\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/ccallback.py:68\u001b[0m, in \u001b[0;36mCFunc.compile\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 65\u001b[0m cres \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_cache\u001b[38;5;241m.\u001b[39mload_overload(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_sig,\n\u001b[1;32m 66\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_targetdescr\u001b[38;5;241m.\u001b[39mtarget_context)\n\u001b[1;32m 67\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m cres \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m---> 68\u001b[0m cres \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_compile_uncached\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 69\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_cache\u001b[38;5;241m.\u001b[39msave_overload(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_sig, cres)\n\u001b[1;32m 70\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/ccallback.py:82\u001b[0m, in \u001b[0;36mCFunc._compile_uncached\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 79\u001b[0m sig \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_sig\n\u001b[1;32m 81\u001b[0m \u001b[38;5;66;03m# Compile native function as well as cfunc wrapper\u001b[39;00m\n\u001b[0;32m---> 82\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_compiler\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcompile\u001b[49m\u001b[43m(\u001b[49m\u001b[43msig\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msig\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mreturn_type\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/dispatcher.py:84\u001b[0m, in \u001b[0;36m_FunctionCompiler.compile\u001b[0;34m(self, args, return_type)\u001b[0m\n\u001b[1;32m 82\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m retval\n\u001b[1;32m 83\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m---> 84\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m retval\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/dispatcher.py:94\u001b[0m, in \u001b[0;36m_FunctionCompiler._compile_cached\u001b[0;34m(self, args, return_type)\u001b[0m\n\u001b[1;32m 91\u001b[0m \u001b[38;5;28;01mpass\u001b[39;00m\n\u001b[1;32m 93\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m---> 94\u001b[0m retval \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_compile_core\u001b[49m\u001b[43m(\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mreturn_type\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 95\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m errors\u001b[38;5;241m.\u001b[39mTypingError \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m 96\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_failed_cache[key] \u001b[38;5;241m=\u001b[39m e\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/dispatcher.py:107\u001b[0m, in \u001b[0;36m_FunctionCompiler._compile_core\u001b[0;34m(self, args, return_type)\u001b[0m\n\u001b[1;32m 104\u001b[0m flags \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_customize_flags(flags)\n\u001b[1;32m 106\u001b[0m impl \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_implementation(args, {})\n\u001b[0;32m--> 107\u001b[0m cres \u001b[38;5;241m=\u001b[39m \u001b[43mcompiler\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcompile_extra\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtargetdescr\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtyping_context\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 108\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtargetdescr\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtarget_context\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 109\u001b[0m \u001b[43m \u001b[49m\u001b[43mimpl\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 110\u001b[0m \u001b[43m \u001b[49m\u001b[43margs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mreturn_type\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mreturn_type\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 111\u001b[0m \u001b[43m \u001b[49m\u001b[43mflags\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mflags\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mlocals\u001b[39;49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mlocals\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 112\u001b[0m \u001b[43m \u001b[49m\u001b[43mpipeline_class\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpipeline_class\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 113\u001b[0m \u001b[38;5;66;03m# Check typing error if object mode is used\u001b[39;00m\n\u001b[1;32m 114\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m cres\u001b[38;5;241m.\u001b[39mtyping_error \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m flags\u001b[38;5;241m.\u001b[39menable_pyobject:\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/compiler.py:744\u001b[0m, in \u001b[0;36mcompile_extra\u001b[0;34m(typingctx, targetctx, func, args, return_type, flags, locals, library, pipeline_class)\u001b[0m\n\u001b[1;32m 720\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Compiler entry point\u001b[39;00m\n\u001b[1;32m 721\u001b[0m \n\u001b[1;32m 722\u001b[0m \u001b[38;5;124;03mParameter\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 740\u001b[0m \u001b[38;5;124;03m compiler pipeline\u001b[39;00m\n\u001b[1;32m 741\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 742\u001b[0m pipeline \u001b[38;5;241m=\u001b[39m pipeline_class(typingctx, targetctx, library,\n\u001b[1;32m 743\u001b[0m args, return_type, flags, \u001b[38;5;28mlocals\u001b[39m)\n\u001b[0;32m--> 744\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mpipeline\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcompile_extra\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfunc\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/compiler.py:438\u001b[0m, in \u001b[0;36mCompilerBase.compile_extra\u001b[0;34m(self, func)\u001b[0m\n\u001b[1;32m 436\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstate\u001b[38;5;241m.\u001b[39mlifted \u001b[38;5;241m=\u001b[39m ()\n\u001b[1;32m 437\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstate\u001b[38;5;241m.\u001b[39mlifted_from \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m--> 438\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_compile_bytecode\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/compiler.py:506\u001b[0m, in \u001b[0;36mCompilerBase._compile_bytecode\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 502\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 503\u001b[0m \u001b[38;5;124;03mPopulate and run pipeline for bytecode input\u001b[39;00m\n\u001b[1;32m 504\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 505\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstate\u001b[38;5;241m.\u001b[39mfunc_ir \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m--> 506\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_compile_core\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/compiler.py:485\u001b[0m, in \u001b[0;36mCompilerBase._compile_core\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 483\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstate\u001b[38;5;241m.\u001b[39mstatus\u001b[38;5;241m.\u001b[39mfail_reason \u001b[38;5;241m=\u001b[39m e\n\u001b[1;32m 484\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m is_final_pipeline:\n\u001b[0;32m--> 485\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m e\n\u001b[1;32m 486\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 487\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m CompilerError(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mAll available pipelines exhausted\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/compiler.py:472\u001b[0m, in \u001b[0;36mCompilerBase._compile_core\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 470\u001b[0m res \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 471\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 472\u001b[0m \u001b[43mpm\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mstate\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 473\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstate\u001b[38;5;241m.\u001b[39mcr \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 474\u001b[0m \u001b[38;5;28;01mbreak\u001b[39;00m\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/compiler_machinery.py:368\u001b[0m, in \u001b[0;36mPassManager.run\u001b[0;34m(self, state)\u001b[0m\n\u001b[1;32m 365\u001b[0m msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mFailed in \u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m mode pipeline (step: \u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m)\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;241m%\u001b[39m \\\n\u001b[1;32m 366\u001b[0m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpipeline_name, pass_desc)\n\u001b[1;32m 367\u001b[0m patched_exception \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_patch_error(msg, e)\n\u001b[0;32m--> 368\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m patched_exception\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/compiler_machinery.py:356\u001b[0m, in \u001b[0;36mPassManager.run\u001b[0;34m(self, state)\u001b[0m\n\u001b[1;32m 354\u001b[0m pass_inst \u001b[38;5;241m=\u001b[39m _pass_registry\u001b[38;5;241m.\u001b[39mget(pss)\u001b[38;5;241m.\u001b[39mpass_inst\n\u001b[1;32m 355\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(pass_inst, CompilerPass):\n\u001b[0;32m--> 356\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_runPass\u001b[49m\u001b[43m(\u001b[49m\u001b[43midx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpass_inst\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstate\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 357\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 358\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mBaseException\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mLegacy pass in use\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/compiler_lock.py:35\u001b[0m, in \u001b[0;36m_CompilerLock.__call__.._acquire_compile_lock\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 32\u001b[0m \u001b[38;5;129m@functools\u001b[39m\u001b[38;5;241m.\u001b[39mwraps(func)\n\u001b[1;32m 33\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_acquire_compile_lock\u001b[39m(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 34\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m:\n\u001b[0;32m---> 35\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/compiler_machinery.py:311\u001b[0m, in \u001b[0;36mPassManager._runPass\u001b[0;34m(self, index, pss, internal_state)\u001b[0m\n\u001b[1;32m 309\u001b[0m mutated \u001b[38;5;241m|\u001b[39m\u001b[38;5;241m=\u001b[39m check(pss\u001b[38;5;241m.\u001b[39mrun_initialization, internal_state)\n\u001b[1;32m 310\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m SimpleTimer() \u001b[38;5;28;01mas\u001b[39;00m pass_time:\n\u001b[0;32m--> 311\u001b[0m mutated \u001b[38;5;241m|\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[43mcheck\u001b[49m\u001b[43m(\u001b[49m\u001b[43mpss\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun_pass\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43minternal_state\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 312\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m SimpleTimer() \u001b[38;5;28;01mas\u001b[39;00m finalize_time:\n\u001b[1;32m 313\u001b[0m mutated \u001b[38;5;241m|\u001b[39m\u001b[38;5;241m=\u001b[39m check(pss\u001b[38;5;241m.\u001b[39mrun_finalizer, internal_state)\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/compiler_machinery.py:273\u001b[0m, in \u001b[0;36mPassManager._runPass..check\u001b[0;34m(func, compiler_state)\u001b[0m\n\u001b[1;32m 272\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mcheck\u001b[39m(func, compiler_state):\n\u001b[0;32m--> 273\u001b[0m mangled \u001b[38;5;241m=\u001b[39m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcompiler_state\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 274\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m mangled \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m (\u001b[38;5;28;01mTrue\u001b[39;00m, \u001b[38;5;28;01mFalse\u001b[39;00m):\n\u001b[1;32m 275\u001b[0m msg \u001b[38;5;241m=\u001b[39m (\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCompilerPass implementations should return True/False. \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 276\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCompilerPass with name \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m did not.\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/typed_passes.py:112\u001b[0m, in \u001b[0;36mBaseTypeInference.run_pass\u001b[0;34m(self, state)\u001b[0m\n\u001b[1;32m 106\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 107\u001b[0m \u001b[38;5;124;03mType inference and legalization\u001b[39;00m\n\u001b[1;32m 108\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 109\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m fallback_context(state, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mFunction \u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m failed type inference\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[1;32m 110\u001b[0m \u001b[38;5;241m%\u001b[39m (state\u001b[38;5;241m.\u001b[39mfunc_id\u001b[38;5;241m.\u001b[39mfunc_name,)):\n\u001b[1;32m 111\u001b[0m \u001b[38;5;66;03m# Type inference\u001b[39;00m\n\u001b[0;32m--> 112\u001b[0m typemap, return_type, calltypes, errs \u001b[38;5;241m=\u001b[39m \u001b[43mtype_inference_stage\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 113\u001b[0m \u001b[43m \u001b[49m\u001b[43mstate\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtypingctx\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 114\u001b[0m \u001b[43m \u001b[49m\u001b[43mstate\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtargetctx\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 115\u001b[0m \u001b[43m \u001b[49m\u001b[43mstate\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfunc_ir\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 116\u001b[0m \u001b[43m \u001b[49m\u001b[43mstate\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 117\u001b[0m \u001b[43m \u001b[49m\u001b[43mstate\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mreturn_type\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 118\u001b[0m \u001b[43m \u001b[49m\u001b[43mstate\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mlocals\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 119\u001b[0m \u001b[43m \u001b[49m\u001b[43mraise_errors\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_raise_errors\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 120\u001b[0m state\u001b[38;5;241m.\u001b[39mtypemap \u001b[38;5;241m=\u001b[39m typemap\n\u001b[1;32m 121\u001b[0m \u001b[38;5;66;03m# save errors in case of partial typing\u001b[39;00m\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/typed_passes.py:93\u001b[0m, in \u001b[0;36mtype_inference_stage\u001b[0;34m(typingctx, targetctx, interp, args, return_type, locals, raise_errors)\u001b[0m\n\u001b[1;32m 91\u001b[0m infer\u001b[38;5;241m.\u001b[39mbuild_constraint()\n\u001b[1;32m 92\u001b[0m \u001b[38;5;66;03m# return errors in case of partial typing\u001b[39;00m\n\u001b[0;32m---> 93\u001b[0m errs \u001b[38;5;241m=\u001b[39m \u001b[43minfer\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpropagate\u001b[49m\u001b[43m(\u001b[49m\u001b[43mraise_errors\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mraise_errors\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 94\u001b[0m typemap, restype, calltypes \u001b[38;5;241m=\u001b[39m infer\u001b[38;5;241m.\u001b[39munify(raise_errors\u001b[38;5;241m=\u001b[39mraise_errors)\n\u001b[1;32m 96\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m _TypingResults(typemap, restype, calltypes, errs)\n", + "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/typeinfer.py:1091\u001b[0m, in \u001b[0;36mTypeInferer.propagate\u001b[0;34m(self, raise_errors)\u001b[0m\n\u001b[1;32m 1088\u001b[0m force_lit_args \u001b[38;5;241m=\u001b[39m [e \u001b[38;5;28;01mfor\u001b[39;00m e \u001b[38;5;129;01min\u001b[39;00m errors\n\u001b[1;32m 1089\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(e, ForceLiteralArg)]\n\u001b[1;32m 1090\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m force_lit_args:\n\u001b[0;32m-> 1091\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m errors[\u001b[38;5;241m0\u001b[39m]\n\u001b[1;32m 1092\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 1093\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m reduce(operator\u001b[38;5;241m.\u001b[39mor_, force_lit_args)\n", + "\u001b[0;31mTypingError\u001b[0m: Failed in nopython mode pipeline (step: nopython frontend)\nFailed in nopython mode pipeline (step: nopython frontend)\nInvalid use of type(CPUDispatcher()) with parameters (readonly array(float64, 2d, C))\nKnown signatures:\n * (Array(float64, 2, 'A', False, aligned=True),) -> array(float64, 1d, A)\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /tmp/tmp01rwehf6 (7)\n\n\nFile \"../../../../../tmp/tmp01rwehf6\", line 7:\ndef numba_funcified_fgraph(_unconstrained_point, y, batch_effect_0_data, X):\n \n # Sum{axis=1}(X)\n tensor_variable_2 = careduce_axis(X)\n ^\n\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /home/guus/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py (637)\n\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /home/guus/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py (637)\n\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /home/guus/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py (637)\n\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /home/guus/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py (637)\n\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /home/guus/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py (637)\n\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /home/guus/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py (637)\n\n\nFile \"../../../anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py\", line 637:\n def extract_shared(x, user_data_):\n \n\n return inner(x, *_shared_tuple)\n ^\n" + ] + } + ], + "source": [ + "\n", + "################################# Fittig and Predicting ###############################\n", + "\n", + "nm = norm_init(X_train, Y_train, alg='hbr', model_type=model_type, likelihood='SHASHo',\n", + " linear_sigma='True', random_intercept_mu='True', random_slope_mu='True', linear_epsilon='False', linear_delta='False', nuts_sampler='nutpie')\n", + "\n", + "nm.estimate(X_train, Y_train, trbefile=working_dir+'trbefile.pkl')\n", + "yhat, ys2 = nm.predict(X_test, tsbefile=working_dir+'tsbefile.pkl')\n", + "\n", + "\n", + "################################# Plotting Quantiles ###############################\n", + "\n", + "\n", + "for i in range(n_features):\n", + " sorted_idx = X_test[:, i].argsort(axis=0).squeeze()\n", + " temp_X = X_test[sorted_idx, i]\n", + " temp_Y = Y_test[sorted_idx,]\n", + " temp_be = grp_id_test[sorted_idx, :].squeeze()\n", + " temp_yhat = yhat[sorted_idx,]\n", + " temp_s2 = ys2[sorted_idx,]\n", + "\n", + " plt.figure()\n", + " for j in range(n_grps):\n", + " scat1 = plt.scatter(temp_X[temp_be == j,], temp_Y[temp_be == j,],\n", + " label='Group' + str(j))\n", + " # Showing the quantiles\n", + " resolution = 200\n", + " synth_X = np.linspace(-3, 3, resolution)\n", + " q = nm.get_mcmc_quantiles(\n", + " synth_X, batch_effects=j*np.ones(resolution))\n", + " col = scat1.get_facecolors()[0]\n", + " plt.plot(synth_X, q.T, linewidth=1, color=col, zorder=0)\n", + "\n", + " plt.title('Model %s, Feature %d' % (model_type, i))\n", + " plt.legend()\n", + " plt.show()\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "dev_216", + "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.11.9" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From 447f383f0e44b6bc7b7772f14ba42041e1acbbee Mon Sep 17 00:00:00 2001 From: AuguB Date: Thu, 3 Oct 2024 10:50:32 +0200 Subject: [PATCH 10/68] Fix shape problem that arises when using nutpie sampler --- pcntoolkit/model/hbr.py | 21 +- tests/test_HBR.ipynb | 605 ++++++++++++++++++++++++++++++++++------ 2 files changed, 537 insertions(+), 89 deletions(-) diff --git a/pcntoolkit/model/hbr.py b/pcntoolkit/model/hbr.py index 4d051b38..2237a203 100644 --- a/pcntoolkit/model/hbr.py +++ b/pcntoolkit/model/hbr.py @@ -1013,8 +1013,8 @@ def get_samples(self, pb: ParamBuilder): :return: The samples from the parameterization. """ with pb.model: - samples = self.dist[pb.batch_effect_indices] - return samples + return self.dist[pb.batch_effect_indices] + class NonCentralRandomFixedParameterization(Parameterization): @@ -1072,8 +1072,7 @@ def get_samples(self, pb: ParamBuilder): :return: The samples from the parameterization. """ with pb.model: - samples = self.dist[pb.batch_effect_indices] - return samples + return self.dist[pb.batch_effect_indices] class LinearParameterization(Parameterization): @@ -1109,15 +1108,19 @@ def get_samples(self, pb): :return: The samples from the parameterization. """ with pb.model: - intc = self.intercept_parameterization.get_samples(pb) + intercept_samples = self.intercept_parameterization.get_samples(pb) slope_samples = self.slope_parameterization.get_samples(pb) + if pb.configs[f"random_slope_{self.name}"]: - slope = pb.X * slope_samples - slope = slope.sum(axis=-1) + if slope_samples.shape.eval()[1] > 1: + slope = pm.math.sum( + pb.X * slope_samples, axis=1) + else: + slope = pb.X *slope_samples else: - slope = pb.X @ self.slope_parameterization.get_samples(pb) + slope = pb.X @ slope_samples - samples = pm.math.flatten(intc) + pm.math.flatten(slope) + samples = pm.math.flatten(intercept_samples) + pm.math.flatten(slope) return samples diff --git a/tests/test_HBR.ipynb b/tests/test_HBR.ipynb index 1abbd02d..70dd46ee 100644 --- a/tests/test_HBR.ipynb +++ b/tests/test_HBR.ipynb @@ -2,21 +2,11 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 38, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", - "\n", - "\"\"\"\n", - "Created on Mon Jul 29 13:26:35 2019\n", - "\n", - "@author: seykia\n", - "\n", - "This script tests HBR models with default configs on toy data.\n", - "\n", - "\"\"\"\n", - "\n", "import os\n", "import numpy as np\n", "from pcntoolkit.normative_model.norm_utils import norm_init\n", @@ -24,111 +14,560 @@ "import matplotlib.pyplot as plt\n", "from pcntoolkit.normative import estimate\n", "from warnings import filterwarnings\n", - "filterwarnings('ignore')\n" + "filterwarnings('ignore')\n", + "\n", + "plt.rcParams.update({'font.size': 8, 'figure.figsize': (5, 3)})\n" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 44, "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcEAAAEeCAYAAADy064SAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB0kElEQVR4nO29eXxU9b3//zxn9sm+J0ASQghLAFlEQBYVsIpWrK0t9ipu5Yq97f12cbkud1F/vVfx1nrb2t66XK1abdVa24q1URFRXABlEwxCCCGEkJ0kk2Qyk5k55/fHZCYzmT3rJPk8H4/WzJnPOeczYTKv+bw/7/f7JamqqiIQCAQCwQREHu0JCAQCgUAwWggRFAgEAsGERYigQCAQCCYsQgQFAoFAMGERIigQCASCCYsQQYFAIBBMWIQICgQCgWDCIkRQIBAIBBMW7WhPYChRFIUzZ86QlJSEJEmjPR2BQCAQjAKqqtLR0cGkSZOQ5fBrvXElgmfOnCE/P3+0pyEQCASCOKCmpoYpU6aEHTOuRDApKQlwv/Dk5ORRno1AIBAIRgOLxUJ+fr5XE8IRlyJot9u5/fbbeeutt9Dr9SxcuJAXXngh4nmeEGhycrIQQYFAIJjgRLMtFpciePfddyPLMseOHUOSJOrq6kZ7SgKBQCAYh8SdCHZ1dfHb3/6W06dPe1U8Ly8v6Fi73Y7dbvc+tlgsIa+rKAo9PT1DO9kJiE6nQ6PRjPY0BAKBYEiIOxGsrKwkIyOD//zP/2Tbtm2YTCbuv/9+1q5dGzD2oYce4oEHHoh4zZ6eHqqqqlAUZTimPOFITU0lNzdXZOAKBGMUVVGxV7WjdPQgJ+kxFKUgyRPz71mKNz/BvXv3snjxYp577jluuOEGDh48yMUXX0x5eTlZWVl+Y4OtBPPz82lvb/fuCaqqyqlTp3A4HFGlywpCo6oqVquVxsZGUlNTQ67QBQJB/NJ9uJm2rZW42vsiY5oUPanrizHNzRzFmQ0dFouFlJQUPy0IRdytBAsLC5Flmeuuuw6A+fPnU1RUxBdffMFFF13kN9ZgMGAwGMJez+l0YrVamTRpEmazebimPWEwmUwANDY2kp2dLUKjAsEYovtwMy0vHAk47mrvoeWFI2RsnD1uhDBa4m5ZlJmZydq1a3nrrbcAqK6upqqqipkzZw7oei6XCwC9Xj9kc5zoeL5MOByOUZ6JQCCIFlVRadtaGXZM29YTqEpcBQeHnbhbCQI8/vjjfOc73+Guu+5Co9Hw5JNPDjr0Jvavhg7xuxQIxh72qna/EGgwXO127FXtGItTR2ZScUBciuC0adPYsWPHaE8Dl6Kyp+osjR02spOMLClKRzNEm8cOh4MHH3yQP/zhD2g0GvR6PYWFhdx///0sWLBgSO4RK4qi8MMf/pA333wTSZK47bbb+N73vjcqcxEIBEOL0hFddny048YLcSmC8UDZ4Toe2FpOXbvNeywvxch960tZN3fwCSE333wznZ2dfPLJJ6SlpQGwdetWvvjii6Ai6HK5hn3/7YUXXqC8vJxjx47R3t7OokWLWLNmDbNmzRrW+woEY4nRyqxUFIXq6mo6OztJTEz05k9Ei5wU3ZZQtOPGC0IEg1B2uI5/emEf/SPj9e02/umFffxm46JBCWFFRQV//vOfqamp8QogwPr1670/P/vss7z00ktkZ2dTXl7OY489Rnt7O/feey9Op5O0tDR+85vfUFpayo4dO7jjjjv47LPPADh8+DBXXHEFJ0+e5OTJkyxevJibbrqJnTt30tnZyWOPPcaaNWsC5vXyyy/z3e9+F41GQ3p6Ohs2bOCll17i/vvvH/BrFQjGE6OVWVleXk5ZWZlfLXRycjLr1q2jtLQ0qmvoC5ORE3QoXaH38jUpBgxFKYOe71gi7hJjRhuXovLA1vIAAQS8xx7YWo5rEJvH+/fvZ/r06aSnp4cd9+GHH/Lv//7vfPbZZxQXF7Nx40aee+45Pv/8czZv3syGDRuiul9LSwvz5s1j9+7dPP3001x77bV0dXUFjDt16hSFhYXex1OnTuXUqVOxvTiBYJziyazsv6/myazsPtw8LPctLy/nlVdeCWgGYrFYeOWVVygvL494je7DzTT89NOwAgiQun7ahKsXFCLYjz1VZ/1CoP1Rgbp2G3uqzg7qPr7JJZWVlSxYsICZM2dyyy23eI+vXLmSkpISAHbv3s2CBQuYN28eANdddx2nT5+OqqWcXq/n+uuvB2DZsmXk5uZy8ODBiPOKsxJSgWDUGK3MSkVRKCsrCzumrKwsbCOQUOLtiybFMCHLI0CIYACNHaEFcCDjgrFw4UIqKipobW0FoLi4mAMHDnDPPfd4jwEkJiZ6f1ZVNWhWpiRJaLVabykIgM0WeW7BrlVQUMDJkye9j6urqykoKIjqNQkE45lYMitjxaWofFLZwl8P1PJJZYtflKm6ujpsO0hwrwirq6uDPheNeMsJOnLuXDwhBRCECAaQnWQc0nHBKCkp4Wtf+xqbNm2ira3NezxYiNLD+eefz4EDBzhyxF3o+tJLLzFlyhRyc3MpKiqiqqqKlpYWAH73u9/5ndvT08OLL74IwJ49e6ivr+ecc84JuMe3vvUtnnjiCVwuF2fPnuXll1/mmmuuGfDrFAjGC8OVWVl2uI6VD2/nH57axQ9fOsA/PLWLlQ9vp+ywO8LT2dkZ1XVCjYtGvJUuBz3V4YV2pAj3hWC4EIkx/VhSlE5eipH6dlvQfUEJyE1xl0sMhmeffZb/+q//YunSpWg0GtLS0sjOzubuu+8OOj4rK4vf/e53XHfddbhcLlJTU3nllVcAmDx5MnfccQeLFy9m6tSpXHDBBX7nZmRkcPz4cZYuXUpnZye///3vSUhICLjH9ddfz6effsqMGTMAuPPOO5k9e/agXqdAMB6QE3XRjYshszKaBLyZPtGgcCSGGDeWyiKGOyM/FHHXO3QwBOsXZ7PZqKqqoqioCKMxutWb580J+L1BPQHEwWaHjiSe7NDm5qHbtB/I71QgGKt0H26m9fXjKJbwSSWaFAO5d50XVWKJS1FZ+fB2vw98GZiPhgwkWlBpTNax418u4pc/+x86rJ19H0C+qJBkTuTHd94WtFzCVtlG81OHIs4n85Z5o1ogH+oLwUA/c2PpHSrCoUFYNzeP32xcRG6K/wd8bopxTAmgQCAYHJ6kkkgCCLFlVvZPwLsALa+SyGMkcD9mHiOBxyxavnivmmUOd3JcgEL0Pl7mmIEUVCHBUJSCJiX86nS0yyJGIiM/HCIcGoJ1c/P4SmnusHWMGSmmTp06pKtAgWCiEE1SCQSvE4zUbco3se4CtPwXpgARyERCereWTNJZK89jl+4YXfS55iRgYJljBoX2tJCtziRZInV9cdCm2R5Guywiloz884szhvz+QgTDoJGlYfmlCwSC+CeapBKA1G/OwFTS1/Qimr0tT2KdDPwIIyog91vNyUheYSxSsim0Z1Evt9GNHRMGcpVU7znh9vRMczPJ2Dg7SJG/gdT100Y9K3QkMvLDIURQIBAIghBtsojqU4AebbcpTwJebruD7DC7Ur6yKCMxSUkLOi5SQo5pbibG0oy4NNIdiYz8cIg9QYFAIAhCrL02Y9nb0sgS960vJSPEXl4sRLunJ8kSxuJUzAuyMRanxoUAQl9GfqjZSLhX0oPNyA+FEEGBQCAIQqxJJbF2m1o3N48bL54+6HmO9p7eYPF8IYDABFjP4/vWlw5bPoYQwXAoLqjaCYdedf9XcUU+RyAQjAs8SSXh8BWggextrVwzDTlZH3T16EGTYiD92lkBgjyeWp2NZka+2BMMRfnrUHYXWM70HUueBOsehtIrB335ePQT/Nvf/sZ9993HoUOH+H//7//xyCOPjMo8BIJ4IZakkoHsbUmyRNqVkbM3TXMzMc3NHLY9PdXlwvrZXpxNTWizsjAvPhdpmK3b+jNaGflCBINR/jq8cgMBhTmWOvfxDc8PWgjj0U+wpKSEp59+mj/+8Y9R9R8VCCYC0SaVDLTbVLRC69nTG2osb79Nw4MP4ayv9x7T5uaSc+89JF9yyZDfLxyjkZEvwqH9UVzuFWC47e2yuwcVGvX4CT7zzDMBfoLXXXcd4G6rtm7dOm644QYWL17Mnj17KCsrY9GiRZxzzjlceOGFXguVHTt2sHjxYu91Dh8+zNSpUwF3x5jMzEzuuOMOli5dypw5c9i+fXvQec2YMYP58+ej1YrvRgKBL9EklQxmb8s0N5Pcu5aQecs80r89k8xb5pF713nDHuq0vP02tT/8kZ8AAjgbGqj94Y+wvP32sN4/HhAi2J/qj/1DoAGoYKl1jxsg8eonKBAIBsdg9rZGOntTdbloePAhCNY5s/dYw4MPobrGdy6E+Mrfn86GoR0Xgv5+gldffTXd3d1ccMEFPPXUU0BkP8Hvf//7g/ITXL58+aBeg0AgCGSsdJuyfrY3YAXoh6rirK/H+tleEpYuGbmJjTBCBPuTmDO044Lg6yeYlpbm9RN89tlneeONN/puMcJ+ggKBYGgYC92mnE1NvT9JaDJLkAwpqPZ2XM0V+G4H9Y0bn4hwaH8Kl7uzQMOVbiZPdo8bIPHqJygQCOKDkfDV02Zloc1bSMKlD2FeeQem827BvPIOEi59CG3eQr9x4xmxEuyPrHGXQbxyA24hDGKmtG6Le9wgiEc/wR07drBx40YsFguqqvLSSy/xv//7v1x55eBLQgSCiUykhtq+BOs9mmrScfOKIv55zfQhC6tKpqkYl3w38LgxDeOS72L79AlQzmBefO6Q3C9eEX6CoQhaJzjZLYBDUCc4Ugg/QYEgOmIRqliIxSw2VO9RD6lmHVu+MW/QxeOqolL/8B5c7XaCRb1UVUXtbiXlqyZSLh3ZMomhIBY/QbESDEXplTDrq+4s0M4G9x5g4fJBrwAFAkH8MVyu5tE21IbwvUc9tFkdfPeFfTweItM0WiHvc8gILvKSJCGZ0zFMnxflKx27CBEMh6yBolWjPYtBIfwEBYLwxCJUsRCpobaEu6H2V0pz0chSxN6jvvie5/s6ohXyaB0yoh03lhGJMQKBYMKhKiq2yjY69zfyxz8fCboeGqyreawNtWPxy/M9D/qEvP/9PEJedthdSuV53Y4Ga1T3idZJYywjVoICgWBC0X242a9F2QPo+D4afo6ND3D6jR2Mq3msDbVj9cvznBftinOloqXjbyeiMgqG6C2axjpiJSgQCCYM3YebaXnhSIAQZCLxX5i4IMS6YCCu5rE21Pb0Ho31+tGsOEvanbT+/suoBRDGvkVTtAgRFAgEEwJVUWnbWhn0ORkJFfghxqAfigNxNY/VLNbTe9TPTV5VmNd0nAtP72de03FkVQk4L5JAy8CPiH7+Q2XR5Am9Wg80YqtsQx2GWsehQIRDw+BSXOxr3EeTtYkscxaLshehGaLs0Hi0UvrlL3/Jk08+iSzLyLLMPffcwzXXXDMqcxEIgjGYMoa+jMjgyEjkIDEfDfvp68A0UFdzj6j90wv7QlUcBzTU9vQevfu1Q5Qe38d3P/8LWbZ27/NNxhSeOOcqrt94o/e8SAI9Hw3ZUax3klbnY5ieOiQWTf1DzgCaFD2p64vjzv9QiGAItlVvY8ueLTRY+3qE5phzuHvJ3VxcePGgrx+PVkpz5szho48+IiUlhZqaGhYtWsSyZcsoLCwc1vsKBNEw2DKGaDMdM/qt3a6cnzfgesF1c/PYfEERT+2s8utTLUlwy6qioPNeNzePZbWHOPP75wLnZmvnX/c8x5Qzi6D33EgWTv1fTyh0OeYhsWryhJz742rvoeWFI3FnBCzCoUHYVr2N23bc5ieAAI3WRm7bcRvbqrcN6vrxaqW0du1aUlLcG+H5+fnk5ORQU1MzqNcqEAwF0WY/hiPaTMeWflLy5AdVUV0/GGWH63jygyr6RwIVNfR1VZeLpoceQiKwik/GXcPn6+4QycKp/+sJxVBkgoYLOXto23oirkKjQgT74VJcbNmzBTXIG8dz7OE9D+MahJ/gWLBS2rZtG62trZx77vhumSSIfyJlP4J/GUOovpuGohQ0KaE/6BVUGlA4SODfdqgyiXD7Xv3nLaGSK1soklvIlS1IqAHXVRQXFX/+E6dsnbQkGIPLl4+7g4dwFk63XntO2NcNQ5cJGinkDOBqt2Ovag87ZiQR4dB+7GvcF7AC9EVFpd5az77GfZyXe96A7xPPVkqHDh3i5ptv5uWXX8ZkMg34NQoEQ0Es9Xbt3T1hQ6ap64uDhuoUVCTgF9hQwlzft0wi0r6X77wL5LMs1Z0iQXJ4x3apOnZ3FHivW7H7Y7Y/+ySdZ5uh0O1SY+xxUnqmmdz2wC+t/d0dwlk4dct6Wl444i2Z8L623hitdaZjSDJBx2IRvlgJ9qPJGp1tSLTjguFrpQR4rZTuuece7zEYHSul8vJyrrjiCp555hlWrlwZ9WsSCIaLekt05QnvlNdHDJma5maSsXF2wMqoCZV/pTugTtAX3yzMUKUWnn2v7sPN3vEF8llW6yox4/Aba8bBal0lx44eoWL3x7z+6INuAfTBptOwrzCH+pTAhvfB3B08Fk5fWzCZ84szvHuZprmZ2JfIdDstfuOtrg4+avwLf3n5ISp2D9wo3EO0IdV4KsIXK8F+ZJmjsw2JdlwwfK2UnnnmGVJTU4HIVkqbNm3iyJEjzJ49289KyeVyea2UMjIyQlopXX/99WGtlI4cOcLll1/Ok08+yVe+8pUBvz6BYKgoO1zHT974IqqxfzlwJqoWZaa5mRhLM7BXtaN09PBlh41v/e1QwAqwP54szGj3vbK/OQ0JlaW6U4A7GcYXSXIbuJ85vIt3qw4Hv1DvoPJJGeS0d7lXcZKENicnJncHRXGx7Z2n6DrbQqZxCiZNIlZXJw1yG4pWh2ROZPv//YLi85YiDyID3hNyDhcSjbcifCGC/ViUvYgccw6N1sag+4ISEjnmHBZlLxrUfeLRSukHP/gB7e3t3HXXXdx1110APPzww1x66aWDeq0CwUCI5KjgQQLSEnSc7Qr9wds/pCnJkjcT8hyHkwte/Ru0tNBiSOKLzGkoUl+QTALSE/TUt3fzcUUTk6tr0ESx7zVf0jA7yU6CwxFynCSB3dpJu80e+sNYkrDpdZxNMJJhtQOQc+89SDFki9ce+cK7ymyy1eBISsWeV4Cq6zMHtzl6+Oj3j7Fq44+ivm7AVGUpZMjZQ7wV4cetldIDDzzA/fffz6FDh5g7d25U5wyVlZInOxTwE0KpN5r+6EWPDkmZxEggrJQEYxGXorLy4e0RG0p7Pkq/s2IqT390MuJ1f7FhPpemJKJ09CAn6bEf30PjQw/hrK/3jmkypvD4OVfx8ST3/ruMu9au1NZEQft+0iUt52evj3iv9G/P5LUzRzm+592IY421J9BZzoYds6C6gQJjIjn33kPyJbHZGx356H3e/OVPAXAkpWKbXOx+wnd52isFGzZ8i9I50X3mhiL4fqmB1PXTRqQ8YsxbKe3bt49du3ZRUFAwKve/uPBiHr3o0aB1gnctuWvMCKBAMFaJ1lEhPUHPf319LikmfUQRvAAt8/9WQ3NX376f0t0NUh7QJ4IZtnb+bc9z/OeSG9FOWsiPMLqLzY0JYJyKzRU+s9qDnKRnxewpHN8TeazkDL1a9JB/x51M//rVMa0APSSmukuxVMCe0/u5GiI+W/a3rcyaXYosDzxlpH/IWU7SD0kR/nAQdyJot9v5/ve/z+9//3tWr149avO4uPBiVuevHraOMSOFsFISjEWi7dX5b1+dzbq5ebgUNWzB+IVo+U9MSF3+iS9eF/U9j+Os2w+4V34qcHtjJdl5y93X8/nsNshmb1ZlqAQzyaxFVVQKCgtITk7GYrEEHYcKCZKRksQZVFr3Bh8DJGVkMv0bVyMN8PNn8uw5JCSaaFc0qLowSSmShMVqp7q6mqKiogHdy3spn5BzPBN3Ivgf//EfbNy4Map/ALvdjt1u9z4O+UYbIBpZM6gyCIFAMDCi7dWZm+Iu4QnXokyDuydoMANZSZJQVRXDvGtw1h3wnikhkTXzCgDkfkLnOQdCZ22rVictTx9Gk6JnzaIV/OWTvwdOvneSy3pKmJqQjc3cQa31WNDXufrGzYNKWKn8dDcuRUXVRpeV2dnZOeB7jTXiqkTik08+4dNPP+V73/teVOMfeughUlJSvP/Lz88f5hkKBIKRINbm0xC6YNzTOzPktSQJ2ZyOJrPEe0yTWYJsSg+90pMkJEnCroT35XO195D5Xg9XLV1HQr8m1gkYWOuYR5GSjQQsn/p1EtP9s86TMjK58rZ7KVkavKY3GjzlFzarLaqwK/iXZ/miKApVVVUcOnSIqqoqFCVSTm38E1crwffff58vv/zSuwo8ffo0l156Kf/3f//HZZddFjD+nnvu4bbbbvM+tlgsQggFgnFALM2nFUWhurqazs5OZiYm8sGdF/FZdRvbyut5+qOTpEfZO1MypAT9ORz7W97F5upiZfY30GoMIe+U/RlcY1tOvdxGN3ZMGMhVUv2kWe6GG27/Gc3203S2tZKYmsbk2XMGtQJUFBfbn33S+1hj7UBy9KBqdYF7gr0kJycH7RdcXl5OWVmZX8QtOTmZdevWUVpaOuA5jjZxJYJ33323X4nA1KlTeeONN0JmhxoMBgwGw0hNTyAQjCCelV3/DjC5Ph1gQn0wX3LpOt487E52ibZ3pmpvR5EkmrMysaXKpMmtAULVH4PGzGRzCTpN+M8hpcuBjMQkJS3sOLXTSf6CwBregeJbGgHuLxCGhlPu7FBVDSqE69atC0iKKS8v95Zk+WKxWHjllVfYsGHDmBXCuBLBeEN1ubB+thdnUxParCzMi88dUGaWQCAYGOFagYX7YH71j6+g6ykG0jmIi0YUMpGCCpqqqqjdrVQbrexbfwXdZnPvM/swqwbOd8ygSMkOPAeVRRkDyxRXUIOuCh3N3YOyi+pPZ1trwDFdRxvUVmLPKfBLkgm1qlMUhbKysrD3KSsrY9asWYPKKB0t4loET548OWr3trz9Ng0P+tcPaXNzB1SjE4x49BP89a9/zeOPP45Go8HlcnHLLbfwgx/8YFTmIpg4+IYzExMTKSws9Psw9bQC83wp7TyyCzkzk7KPPgx73aX6E9TpqlFcyfzcOoP/woyC6ieEnjrgirq/8dGKwH03K3be1R1ikbOIBa4it/mu2pc8MxCq5EZ26Y7RJfUl9SWoBpY5ZjB1G/zHx5X81drtfS4Wu6j+eEoj+qPraEPb0YbLnISq1bHm2htZfOHqoCJWXV0dMenQYrEMSUbpaBDXIjhaWN5+m9of/gj69RFwNjS4j//i54MWwnj0E9y4cSPf//73Afebeu7cuVx00UVBW6wJBDA4k1uIfp/J/aV0C6ozCcmQQr3ZheXckmCX9JKAypSMd2k2NbPXkcJ/nL6R/2ebQbaPeDWi8hhWJs2cjA41MDrY+3ifroovtbWc75gZsCqMhSq5kXd1hwKOd/WK7RrHXG6wZrEVvG3cPL1Pf7NxkVcIVUWNqgZv8uw5JKZnBvQk9bw0rbWDpIxMFl94UchVXLSZomM1o1SIYD9Ul4uGBx8KEED3k+4YesODD5G0du2AQ6MeP8GampoAP0EPzz77LC+99BLZ2dmUl5fz2GOP0d7ezr333ovT6SQtLY3f/OY3lJaWsmPHDu644w4+++wzwO0neMUVV3Dy5Elvx5ibbrqJnTt30tnZyWOPPcaaNWsC5uXxEgSwWq04nc6Q2XECQSST20jbCZH2ma5acimzZs52d3V5+DkM83+IbHJngypyPRC5p6jZ6S6hkLTtfDr1l1xbs5H1XQuZhES93MZeutFLDqZqI+8bWunhXd0hb0ZnrCio7NL1lkAEE1sVdusquMae7edu37/3aU95S9Su7bKsYc1Nm3n90QdDzuui6/8xbPJNqEzRgY6LN4QI9sP62V6/EGgAPl5eCUuXDOgesfgJ7t+/n5KSEhobGyktLeW9995j3rx5vPjii2zYsIHDh0M03vXB4yf4yCOPsGvXLq666ioqKyuD9g999dVXue+++zh+/DhbtmzxWjcJBL6E6uvpWbU8O72TSS88HnI7IeI+kwrv7N5B+gcOJIeC8bxb/Z42EV1C3O1nNnLYeIiK1HryerK4rLuUTrmDXbpjmCQ7Mfmk9ArVLt0xCu1ZYRNmglEvt/mFQINdvws79XIbGYr/6/P0Pj20/SSZ204HnBrOtb1k6XKuvO3ePpumXow9DkrPtCDd8+9YwmzzFBYWhi/4J3RG6Vhg7O1iDjP9PboGOy4U/f0EFyxYwMyZM7nlllu8xyP5CZ4+fXpQfoLB+OY3v8kXX3zB0aNHef755zl69OiAX6NgfBLJ5Hb5mUNkPXJ/wJdJz3aC5e23I+8zSdAluQUBrTtRxfdvJldJJUE1EDLxU3XvsxW7JvMN6+XcdeY73NC8ns7esGMXYcQoHL7zipHuKO/ZjT1oRqsMJH8U/u89lGt7ydLlXPO1b7O08gwLqhtYeryW1UdOkdve5ffvEgxZllm3bl3Y+wbLKB0rjM1ZDyPBPLoGMy4Y8ewn6GHq1KksXbqUN954I+K1BBOLcH09ZVXh1s//EvzE3i2GhgcfoiPK7k7d2L2F6X73QWKZY0bvdfvfx/2fZY4ZaHzcINzhyAr3g2Bv/xi8BKIVNF+iXb3a0AV1t5+PBn134HFfQrm2qy4XTVseJqOzm0ltnWR02fp+BT7/Lqor+PVLS0vZsGFDQDPq5OTkMV0eAUIEAzAvPhdtbm7IQlIkCW1ubkxeXv3x9RNsa2vzHo/kJ3jgwAGOHHFblPj6CRYVFXn9BIGQfoJARD9BD01NTbz77rsiKUYQQLi+nnOaT5Blaw8dKOzdTtDVnonqXuGEo0jJZq1jHgn9xvh2YvHFG44M3TomqjmFmpeqqt7/BSPa1euLijHA21ACik3RiWgw1/ZYtnlCUVpayo9+9CNuvPFGrr76am688UZ+9KMfjWkBBLEnGICk0ZBz7z3uLFCP66X3SfcfSaxeXsGIRz/Bxx57jPfffx+dToeqqvz4xz8W5rqCAML19Uy3d6ACZxOM2HVaDA4n6V02JCQ0mSVIhhRUezuZThcGcyL2rs4QqzK3mKmoVMr1QTusgFsIC+1ZfjV32UoKjXJ7wHkDWb0Fm5cRHdlKkI4yqkJP5TZSv34RPTVJAcayntXru7pDfdkuPtcFqHIUsrPfKtAz7GsrCmBb5C8PwVzbh2qbR5blMVkGEY649RMcCEPlJwjDXyc4Ugg/QcFQ4/H6C+bYsLruIxZb9mHT932/LtIXszBjLTpjXya0ZIRPc7s4ULer94DPRXovqkdLj9Tn+mBW9SFLFDzF56ekJo5r67FJfT0yPTV4BnS8qd834Nfti+eavnNxb1lAxsZSPxshR4OVjvdqvPM8oKniC20Ndp/X5rlexdzpPFXdHDTj9tLSXOof3hPRtT33rvMCyiW6du/h1I03RnxdBc89N+CEv3hizPsJxgPJl1xC0tq1omOMQNCPUH09i7tOMMf2OTZd39/IZPMMzsu+KuAaig3OPWkmQ57nLhz3WaUZ0GHHQQ/+tkeeEoU5rnwKlSzvCi9Y8bkvvjV4BtV97QHWuQdc0zfs6tm3bNt6gtzSDK+N0NmXtwGGoPM0qFrmOPO9hfhfHmnlnesXcUhy0dhlD6i9HKhru2ebx9nQEHzvU5LQ5uQMaptnrCJWgoKYEb9TAfjXCUqqwo01L5Do6vIKo2JOYkHOZaRKKeSqaQGhTBUVCcmvhZgRPe/qPqcHV0ShMqo6pjtzOax1r7LCju8NrzpwucV1KMpfe695jX1FwGs7elEOyd3VTJe7adzyMPUrb+U984nAefZ++vbfwwxV9wcDd233NgGBoNs8k4egCUi8IFaCAoFg2Fk3N4+LZ+Xw+SenOXuskjP16TS7rPQkpWDLLQStjo9xf/AHCx962o75Npaulc/SI4XPgPRgkxzRCWDv8wMui4hwzXq5LaAxduovHsVc9T71wKkpU9hlrgyeeBOi9jBc3d9AXduTL7kEfvHzwG2enJwxt80zlAgRFAgEA8KzIslu7yEbLbPyruUj6TBH9PUBH/jBwofBqJMCGz6HJQ4aGgVLuEnsqEMBTk+ZzCcrlofPPO0V0zq5Fak3gceT0NO29QTG0owAgRuoa3s02zyKolJX0UaXxU5CsoG8klTkATbwHgsIERQIBDHTfbg5YG/qhNzAEV0DQZUpxIqnv5uCKsXB7kz/zM0I+JZLeBwplOYKFElm/+Lok0y26Q7ikPqKIxJUA8s6ZpBWNWNAguchWIPyUMkvlfsb2flyBV1tPs29Uw2suqaE4oUD75kazwgRFAgEMaEqKm1bK/2OKah8rDsaXjz6hQ+DJYoYVd0wTbqv5MJKT8iyDD1aHDijcyDsvWaukup32HF6D9q8BZxddDlW4/Gop+grgNC3ek48MomFxef73zpMA22X4mJf4z6arE04651U7Kqgw9LhPTeUZVLl/kbKnghsw9jVZqfsicOsu3XuuBRCIYJhGM6wQDxaKXk4evQoCxcu5Hvf+x6PPPLIqM5FEH/Yq9oD0vTr5Ta/soRwdGOnSm7gXV3gB64NR1+66VBF4Hw6yABh6/TmOvPZp6uK+tLTnDkBSTH6kksB6NaEKU6Pht7V8/ZDHzL/8qXetmTBE2PciTQfJR1gy54tNFgbmNQ1iWWNy3ov1TfHYEa4iqKy8+WKsNP58JUKiuZnjbvQqBDBEAx3WCAerZQ897n11lu56qqrhv1egvgl3EojWEeSWArRjej5QHcYCOJs7ltzMURIwGrHXIqUbKrkxrBjfWv3ouGQ9hTZaopfmYQn4d7MEGROS9Bh7/J69QULQ4M7kab5hXJenfwcDckNoML8lvm9lwguWr5GuHUVbX6fdcHobLVTV9HG5JnBPQrHKqJtWhA8YYH+bwpPWKByf/g/pEh4rJSeeeaZACul6667DnB3lFm3bh033HADixcvZs+ePZSVlbFo0SLOOeccLrzwQsrLywHYsWMHixcv9l7n8OHDTJ06FXAXy2dmZnLHHXewdOlS5syZw/bt20PObcuWLVxxxRXMmDFjUK9RMHbpPtxM/cN7aH7qEGdfOkrzU4eof3gP3YfdDReCdSSJti+mJ9zZJTnCtCZkSBNe1N6m106U8FZGQGUsq7fec3bpjqH0KreCSp2mjROaBlRUzOHapMXAey9u5+3tJ2l9vTLkGBXY3PBNZFUi05aJ2WUOa/xrsVh4bc9rAHRZovsSE+24sYRYCfZjJMIC8Wql9Pnnn/PWW2/x3nvv8ZOf/GRAr00wtgm30vCk7BtLM9Ck6P3CcZ6+mF2E6M3ZKwTLHTOHpn1ZjOzWVbBPewJHuPILyR2O1ama8OP6nePZ57TjCFoMD8ScbNOflrM6TK+dQEkMvWcqI5HtTGeOdTqtanfIcb48s/cZUvNSmZ0cXZF8QnJ0X3bGEmIl2I9YwgKDId6slBwOB7fccguPP/74iIRdBfFHsISX/rRtddf9pa4v9jse1tWhl3nOAiSkPieHESZaYZvhzHO/hhhWcNVyU1CLJntv1xsDg0v46Uo+wYm0XRHDuQDpzhRsmshOMgA2jY2H9zxMdnESCanhBS4xzZ0XMd4QK8F+jERYwNdKKS0tzWul9Oyzz/pZF42klVJdXR2VlZVcfvnlALS1taGqKq2trTz99NMxv0bB2CNYwkt/XO12Pt+7m9qMs+RfkU7GBxKKxX1OkZLN6u7p7DHV+ImBUdWx3DETCcmdlBLnJGJiqiuLk9roPUO9YdQQjvEqCksc0zGpeoyqjrfkT0GrC18/qPrvmTrkHt6VI9dantW202xsxqqxYnKZgoZEVVS6Nd00GZvACgea97PqmpKg2aEeVm4oGXdJMSBEMIBol/uDCQv4Wik988wzpKamApGtlDZt2sSRI0eYPXu2n5WSy+XyWillZGSEtFK6/vrrQ1opFRQU+DXZvv/+++ns7BTZoROIYAkvwXjqkyd4P+UzZEViTcoqviLNJ/V4C1kt7eQ1H+Ubi2+ixQTdUo+36BvgZcNH7gvE+efobl0FOjX6IJlGlcNnxkrQg4s9uuPezjkXuObygfZogND5nxc8aWiX9hiFPYHO9goqzdpWvjAfBwkOZhxkWeMyb3s6D2rvEvdgxkHvv0WTtYnzFp7HulvnBiQEJqYZWLlB1AlOGPJKUklINYQNiQ5FWCAerZQE8UuwguehdvIOlvASjLPadtY0rSCvIx+b5GAPZyAfjFOSWO64jqndevIU9/vLE3E4I7eGbHAdF/Tbs+tfsxcOVwxjvZ1zeuaytmce72s+x6n1uXE4UYQ+Z3uplUlqev+neDLnVdTe088knGFX9i7mt8zH7DJ7x3VrujmYcZAzCX22TFlmt0l48cJsiuZnTaiOMaKBdhBCFY16GEtFo8JKaexTXl5OWVkZFh839lAFz4NBVdSwVj2elcZzqX8nrSPXfbD/Z6MK85z5LHWWIEkWVNy+e5VyPe/pvxiyuYZkkAkoAddiCK/nc10jOq6xrcDu7OS17r/SkzUpJlPf5fbZlKqTvI89DbR96wQ9yMikd6djdBmxaWw0G5u9r0lCIsecQ9nVZWjk8ZMLIBpoD5LihdkTMiwgiD/Ky8u9K35fghU8DxZJlkJa9SioSMDf5D8yyTKbbim0HdEhbQ2ZajL5qha77iWSey6PuoRisOiQQY1yJRdJMKUox0V7PZ/r2nDwsvEjSpx59CTGJoAAnzpsrNg8F8nq8KvjvJiLWZ2/2tsxJsucRautlTvev6N3in1rHk+I9K4ld40rAYwVIYIhGC9hgalTpw7pKlAwciiKQllZWdgxvgXP0aC6XGGbJ5vmZpJ27UzO/uUYkrXvA7ODVro/f5n5KWb2zQy//wXwoe5LrrNfQGLPNShArkL4EoohosCVRYGSyXu6L/zm40esK7yhHteLDQeHtKdiO6mXnDk5JMwIXrSukTWcl3ue37FHpUcDVog55hzuWnIXFxdePKA5jBeECIZBlqVx1x1BMHaorq72C4EGw2KxeLuJ+BJM7DrefTfQRic3189Gp2LXRxx4YStYXRg0ZuyubjoUK4lnq6maO5tus5locEguXjJ8yIqemRSpOUi425YNd3ZopbaBerWNAlcmpzQhvvzFy/dYKeCHqFl70cyYxl9cGLhCXJS9aEKvAD0IERQI4pTOzs4BjbO8/XaA2MmpqShtbQHnOhsa3Earv/g5TZ0JqB+3cX7iV6G3OqfT2c42x4ecKlwU8/xtOHhXf5i1DokiJZsiJZtFzqKYenMOhC7sdGns5LsyqNG0xI/oDQWqSrLZ3Wc4VoKtEAWiWF4giFt860SjHedxD/cVQCCoAAK9DuMSzc9+jH63C5MmyftUldzI6+ZDNKcZ3XtWMe5b9W8rpqCSo6aiVzVD3h802H1Pa1qG8SajgKqCBOvYgTysv8CJhVgJCgRxSmFhIcnJyWFDosnJyd5Vgepy0fDgQ73CFh3avIUYzrkG2eSfbl8lNw5N6LK3rdgBTRVHtWf8yySGMpMzyH3Hm0xIqJzPXkq790D1x1C0arSnNC4QK0GBIE6RZZl169aFHTN/+jLqKtpRFNW9B1gffQNobd5CjEu+i2RMQ0HljNxKpVxPrXyWT0I1mh4g+7RVAS3FJgwxtmBzn6MGfJlRJYmPWUw506GzIcSJfbgUF5/Wf8qbJ97k0/pPcSlR9kOdYIiVYBgUxUXtkS/obGslMTWNybPnIA/RRnI8+gnef//9/O///i+TJrnrj+bMmcOLL744KnMRuCktLWXDhg0BdYIa1UBCWzFfvmnjyzf3k5Bq4NxiS9R/0CoSmvnXUCe3ckpu5ri2Pmo/wAETwrlhPLPUUUKCome7/osgHoaRCuOD92Ar40JmGjKx7d4TMst3W/W2oNmgdy+5e8Jng/ZHiGAIKnZ/zPZnn6TzbF+GWWJ6Jmtu2kzJ0uWDvn68+gnecMMNolVanFFaWsqsWbOorq7m+KHTHN7WhK4nGcknkNPVZuODvXrmZs4nu/lgmKtBfUoCx+cvpy2lfPBdXHwXK6HKEYbYGikqIs1rBDCqOkqdU5CRWOuQ3Q4TvqvhYALoEcaQ4ihhIZlP7vw5GUePeo/6Zvluq97GbTtu86sJBGi0NnLbjtt49KJHhRD6IMKhQajY/TGvP/qgnwACdJ5t5vVHH6Ri98eDu34c+wkK4hWJz09VcujtdnQ9KX4C6HkeFSqmf6u3rD049SkJ7J47i9q8tMGHJ3s/Y+c5C/we95/WiOMrvKN1f9VtGyUjIUnu7Nhr7CtY6igJf26UyUed3f5WSZ4s37a3ytiyZ0uAALqn5T728J6HRWjUByGC/VAUF9uffTLsmPeeexJlEG+iWPwE//3f/53PPvuM4uJiNm7cyHPPPcfnn3/O5s2b2bBhQ1T38/gJ7t69m6effpprr702ZLPuP/zhD8yfP581a9bw3nvvxfzaBENP5f5GnrprO6f/IGNwhjFKlSTsxjTaUkvQZM5AO/k8NJkz8CiBCnwxKRN7bn7v+MHNy4yetY55LHWVsNYxDy2i5syNSlErTFNy/NxaZCTManT9WSNhsvXzC+zdP6z9r5/Q2Bl6X1hFpd5az77GfUMyj/GAEMF+1B75ImAF2J+OlmZqjwyuD2K8+QkCfPe73+XkyZMcPHiQn/zkJ1xzzTVUV1cP6nUKBoenj62jI7rxuVrIXX4r5pV3YDrvFswr7yDh0ofQ5i2kJcGIJWcSqs4Qe7mDh95VziJHERvsKzCgo1Ku54Rcj5M4WV2M5l6jChf2zGFyT/B+lVG3jwuV4auqGKxWMpuCfEapKnLjWWbXRM7CabJGbxM13hF7gv3obGsd0nHBiEc/QYDc3FzvzytWrGDhwoV89tlnAyrMFQweRVHZ+bLbgDbk6s+HHKmeJQlT8Fa69yKZ0qhf9g0+kg7Qox/8n7wBHalqAn80fBzfzhCjgQSf6SpZlFrAGbmVbuxeOykZiVwlNXz7OFUFlxM02sDEmV5hnHb0CHKYMpi0KHoseFwjBGIlGEBianRt0qIdFwxfP8E2nyLmSH6CBw4c4MgRd3NjXz/BoqIir58gENJPEAjpJwhw+vRp788VFRUcOHDAu/IUjDx1FW1hLb08qKgk6E+QkaalTtPmtdLxcFJu4l39YWy6IfjOK4FdcrBdd3jiljxEoEuys9NQwZv6fbyn/4I39ft42fARVXIjMhLLHDPcA/vrWK+wGeurMdZWIjn9s3UlZw/G2kom+/ydBiUzPeSXJgmJXHMui7Jj7wA0XhErwX5Mnj2HxPTMsCHRpIxMJs+eM6j7xKOf4L/+67+yd+9etFotGo2GX//618yYMWNQr1MwcLoskUXGbmimO/k4zZoeTvYe8xi3FinZKKjsGuKavyG/1lglVCNuiQCB8/oIOuYx1ZXFWnVur5dg3zpEcvZgaKhB19EGgLajDZc5CVWrQ3I60Fg7MLkU0q0h3heShDYnh29+8x4+3nkHEpJwjYgC4ScYBE92aCiuvO3eISmTGAmEn2D841JcfY2NjeksstnRdDVR05LJq6+dRZF7kBV9b1Zo3yeu3dCMJdWdIexff+b+z1rHPAzoeFMvkiCGnIF0u1EhAQNXdM3jYMt2TluPBYhcyEv2fkxfMH0OiX9+w+8Y4A2bTv7Fz71lEv3rBHPNuRPGNWJM+wnabDa+/e1vU15ejtlsJjc3l8cff9yb8j8SlCxdzpW33RtQJ5iUkcnqG4emTlAggBBFzU4n/9iQyhn7cizpfb08ZZeeRMt0DPZMFBQ6kkOs8HpXIrt0xzjXMW34X4QgOnpbyG1tedEreFprdBlPeqeLubXNpDZayfmfR2nY8rC/G0hOjp8biHCNiJ64E0GAzZs3c9lllyFJEr/61a/YvHkzb7/99ojOoWTpcorPWzpsHWNGCuEnGL+EKmrW2vI50nN+QAKnIvdgSS3H1DUFm6kBVeMMffHeD9xduophmLlgMOFgRauLuZhk9pkWctu7cLZ3oUlLZ/q728L6QoJwjYiWuBNBo9HI5Zdf7n28bNkyfv7zn4/KXGRZQ/6cwAQSgSAqFJe70XFnAyTmQOFy6P0S5VJcwYuaVTjn7ILeB/0+aXtXeN0JERIjfOghjFAKBs8AwqL9E16iwejo+3d0NjUhaTQkLF0S83UEgcSdCPbnl7/8JevXrw/6nN1ux27v2ySOZEAqEIwY5a9D2V1gOdN3LHkSrHsYSq9kX+M+vxCoh0xbJmZXGOPaWFcgIoFl+Im2J6iqIjl70EQZAvWcY3Q4Se/qK3vSZg28vMFv/1mESIE4F8EHH3yQiooKHn/88aDPP/TQQzzwwAMjPCuBIALlr8MrNxCQImipcx/f8DxNxuB/ekaXSDQaK0gqzHHmc0yuoae/joSo8TM01IT4XhIk1bT3nNIzLd6j2txczIvPHdB8RVPt4MRtneAjjzzCa6+9xt///nfM5uDfjO+55x7a29u9/6upqRnhWQoE/VBc7hVg0Eaa7uCnWnY3WcbgLfNsmsiNDiIybvK94xsVOKytIa25HVP1UYy1JzBVH8UQpsbPU/4QDKPsH7o2Opwsqm4gt723fliSyLn3noC9v2jw7D/3jz54mmpvq94W8zXHC3G5Enz00Uf5wx/+wLZt20hNTQ05zmAwYDBE2YZoAKiKir2qHaWjBzlJj6EoBUkemvhSPFopAfzpT3/i/vvvR1EUVFXlzTffHNHM3DHPB4/4h0D7IaGCpRbXkTPk6JJp7GlH9VkxNBubsWqsmFymqLrEhLiJYCTo3aNtTDeRcNy/vEEXpMYv3D/L8vMKWdrxe2qtKTQ1mLEf15NytqdvBZiRQs59/583+zMWQu4/4/5aJiHx8J6HWZ2/ekKGRuNOBE+fPs3tt9/OtGnTWL16NeAWu927d4/oPLoPN9O2tRJXe4/3mCZFT+r6YkxzMwd9/Xi0Utq/fz//9m//xrvvvsukSZOwWCxotXH3Folfyl+HHaHrSxVVpq5nNl1KGp+/9QH/klHFHTnp/qEzCQ5mHGRZ4zLvB5SXIHVhfqi9m1NCBEcOCVSdHpc5ya/cIfryB7fnx3klBmTlWvKP/o38hDOoU8HapMcpZaK9aDPmq38woBUgEHL/uW8GfU21J2I2adx9wk2ZMoXRrt/vPtxMywtHAo672ntoeeEIGRtnD0oIPVZKNTU1AVZKHp599lleeuklsrOzKS8v57HHHqO9vZ17770Xp9NJWloav/nNbygtLWXHjh3ccccdfPbZZ4DbSumKK67g5MmT3mL5m266iZ07d9LZ2cljjz3GmjVrAub1s5/9jNtvv91rqhupyFTggzcMGpxK2zJ2WjbRpfS9b051rOae1jIenvkhLh/hOpNwhl3Zu5jfMt8vScZk7abwVDVfzpoVYs9JCOBooWp1AzxTQgXqPvwT+QntfUcTUklY8z244A5vRvFAibZZ9kRtqh13IjjaqIpK29bKsGPatp7AWJox4NBoLFZK+/fvp6SkhMbGRkpLS3nvvfeYN28eL774Ihs2bODw4cMR7+exUnrkkUfYtWsXV111FZWVlQGt08rLy5k2bRoXXnghFouFK664gvvvv39EzHzHPNUfhwyDVtqWUdb2LwHH7WoS9rZvsXHvZXww7WWqMj4H1Z0hmtsxlZTWUkzOJFTZgazoSbQo5NWeQt/5KYcWLEDV+djyDNQVQjAkDKTswZdOZz+Lpe422PEQZM+G0isHde1om2VP1KbacZsYM1rYq9r9QqDBcLXbsVe1hx0TiXi0UnI4HOzdu5eysjI++ugjPvnkE5544olBvc4JQ2fwcJOiyuy0bOp9FFyojM4ELjn2HRbWLeeK6vVcWH8hRd15OJJPYkk5jEPThYqKJcXBvoXfQu0xkXD8c0zVR0lrt6NTxZeUISfaYJSqIjnssZU9BCFRG+wzR4Wyu91RhkGwKHsROeYc0VQ7BEIE+6F0hBfAWMcFw9dKCfBaKd1zzz3eYzDyVkqFhYVcffXVmEwmzGYz3/jGN9izZ09Mr23Ckpjj/VFVoKtBT3u1iRMN5/SGQEOv1CQk7IZmpnXnYVD6rQg0KrakGizph+hIO0p7xiGOLF1AWuZcko25tCYbcMSLj98ExdBQg6QS2gMwDCoqBp2dyeYQX6otte4owyDQyBruXuJuzN9fCEVTbSGCAchJ0Tk/RzsuGPFqpXTttdfy9ttvoygKLpeLd955h/nz5w/4dY43FEWl9mgrxz6tp/ZoK4rS96Hnyl/Kp+mT2dGUQvkbOZx6L5Mzn6RRU14Q8boqKl3JvSH4KKKaTo2LmkwjZ7PToz5HEBtTXOG3Kjzozjb4lz3EIISekRkFp9lrMvBmgplPjYbArzQhogyxcHHhxTx60aNkm7P9jueYc3j0okcndJ2g2BPsh6EoBU2KPmxIVJNiwFCUMqj7xKOV0re//W0+++wz5syZg0aj4YILLuCf//mfB/U6xwuV+xvZ+XKFn79fQqqBVdeUUJX+OVt2P8ycmhKuOpREm95CmvU4Eio9+qQwV3Xj0LejaGKILPSKnlgBDh8OSx2kRy6/0na2g5SIznwR+TXbOJPUiS2kcbG/x5IkJeFKXszr6ckczurb289xOrm7pZWLrd3uAz5RhsEgmmoHR1gpBSFUdqiHwWaHjiTCSmnwVO5vpOyJUAlIKgfy3mV6y7kk9vRl+hpsrZQc/yMuWceR0pvDXt9mbKQj9cshnLFgwPS2NjMfP4R1+jnurM+QLdAcpNZNR6MrQJJkdD0WVnx8L60JBhrTp1GfcxEOfRISVpASkORcVFcd9D6WtZO91357xjPuxChA6v1IfrSxmYu16fCjQ4POEJ1oxGKlJMKhQTDNzSRj42w0Kf4hT02KYUwJoGDwKIrKzpdDOzGowPy6tZjtybgcNbh6vsTlqMGmT+bwnFuwmSK/V+T++4CC0cGntZkMGBpO+R3vPy6hLRutfiqS5P4YdeiTaU+dTnqXjYxuHXrtJLT6AjT6WWh0+ciyFo3PY0mSvXtyy09+A0l1/+xpnvBwRhqur/xndAKouKBqJxx61f3fQSbTTCSiCof+z//8Dz/+8Y+Hey5xhWluJsbSjGHrGDNSCCulwVFX0eYXAu2PhISrpwKH9T1QO32eSERnuogzeSvQ21rpMaT6rSgytBJGCRJkiQJDBq+rBrqwi/29UaS/s7uuow1qK7HnFPiVo0jOHkwtekwE7qvb9ck0Zc7n8JxbAp4LVcYiIZHUk8bcugvo1ndg1VmoS66kXiux771/4zyNNnyZRIRm7dGiKKr7/W6xk5BsIK8kFXmMfd4NhKhE8K233uKvf/0rzz//PAUFkTf6xwuSLGEsTh3taQhGkc628Jm2rp4KHF1bA59QO3FY38CasJ7i2i85OfUKVMVFrqaNcxLTMWv6iqtVVWWZYwbv6g4NzLFcMDBcTnRnG9D02EO2NtN1tKEN0QLNlTAJjb7Ef3xPJ+WlN7v/GWOs3VxR/Q3vz536Vj6a+hq75J0seuUGNBueDy5o5a/DK9cHHreccR/f8LuohDDcnnfxwuwwZ459ogqHlpWVcd1117FixQp++9vfDvecBIL4QHFhPem/V6eqijfs6ew55V4BhsFh3YGpu5HJlb8hy7mdpck5mGT/7iKSJFGkZLPIWSQEcASQXAq6ploSjx3A2FyHznIWbZjenp4WaP3HOaw7UFXF/UBV0fV08kXpze59wEE2L0joSeWSY9/hHWUVl+bnsW17kHpBxQVbfxj+Qlt/GDE06tnz7h/x6GqzU/bEYSr31o/rUGvU2aG33HILF110EUuWLOHOO+9ElmVv7VpjY+NwzlEgGBEUxUXtkS/obGslsf0Ik4/8AlvtRcC3AIKHPSOhdtBkhNpUuCJ9JRB6hZCihvERFAyO3m29c3qmUHXir0SuhtcDETJ21Q4UZy0a7RQAHLrAjOvopqYGrd9TUVl+8hv8YeHn3Jao8ujeX3PxeT/oG3TyQ+g+G/7i3Wfd46ZdGPTpSHveoPLhbz+kKOMWZKlX8AcQao1nohbBvXv3ctNNN/Htb3+bO++8U7TSEowrKnZ/zPZnn6TzbN/+qV43hXytDYxhwp5R0JDkItM4FbM2fJaaieFzRJnoGFQtKx2zqK3/mOjawTgjDwFQuzDYW3HJepy6hAG1rwvXySWpJ43cjunUJVfwcMXLrD73+30lDVU7o7tB1c6QIhhpzxskOp3p1PXMZrLhC/chH1/M8SCEUYngv/3bv/Hiiy/y+OOPc+mllw73nASCEaVi98e8/mig+4PdoaeypwmtdAxn944BX9+h1WDSJvodU1Cpl9voxo4JA7lKKrlKKmZVj5UeERYdKlRY6Cxipj2DAy3bqbUei/JEJapRJZV/J9kuc2BBhLCkdzqBq75ImB3JqJJEvcPi7/QQ7WXCjOuyhBNAn3FKms+j3o3rsrth1lfHfPlGVCJ48uRJ9u/fH9bbbzyiKArV1dV0dnaSmJhIYWEhsjw0VSXx6Cf4gx/8gA8++MD7+Msvv+S///u/+cEPfhDmrLGNorjY/uyTQZ+TeoubndZtwADNbiUjqDa6XX0h1Cq5kV26Y3RJPkkIqoFljhnMdE5iv+7kwO4l6KO3jGFKs532zl28aTsd1E9vMHTrXDy75hRT286loDuGqaHyee4O9E4js5vPjzjeqrN4f/ZzeihcCfw08g0LV4Z8KiE5uuhDgtza74ja19KtaFVU14hXohLBF154YbjnEXeUl5dTVlaGxdL3BkxOTmbdunWUlpYO+vrx6Cf4y1/+0vtzfX09RUVFbNiwYVjvOdqcKj/kFwINQJIYsAACGsNCXLZPaLadxuq00KDr5l1dYOF9F3be1R1iqjIxO/kPCk8dn08o0lPu0B7GyX2wnJjcSflUmbb2DgrKozvHs9c3o/k8jM6EsCtDFZVOfRt1yX2uNn5OD0WrwJQG3f0FygdTeliRyitJJSHVECYkqpAot5CnD9E8ZAhauo02olg+COXl5bzyyit+AgjuLgSvvPIK5eVRvuND4PETfOaZZwL8BK+77jrA3VZt3bp13HDDDSxevJg9e/ZQVlbGokWLOOecc7jwwgu989ixYweLFy/2Xufw4cNeN/iTJ0+SmZnJHXfcwdKlS5kzZw7bt2+POMfnn3+eSy+9lNzc3EG91pgZwaLfbdXb+Pe3Ai2OfJGQyDLmU5AwmyxjfvShLCkJXcJ6tMalICWiorK35V126So8F+5/IwBq5QiJDgJ/egXQWFuJqfooxtoTmKqPknD8kH9Pz2GgJse9/KtLOo5V10q0IVQJCZMz0ftzMDyr1o+nvoYqqcGdHmQNrP9l0PO9rP9F2HClLEusuqYkxLMKILEy+Zm+pJj+DFFLt9FE9A7th6IolJWVhR1TVlbGrFmzBhwajVc/QV+eeeYZfvrTKEItQ8kQFf1Gw7bqbdy24zZyJD0QXOgnm2ewKGOtX0KL1WlhX8u7QfaWEtElXAp0e1tieTqJ6MyrcXRtpZo6bHKY5BhJ9AMdCMbaymEXPF9UVLqMLhrS3asnVVLRZb8Atf8c055fuHESEp9OeZOqjM/DOz2UXumuBfz7v0CHj61a0iS4LLq/m+KF2ay7dW5AnWCito2ViU9RbNwVdIYkT4LC5RGvH+8IEexHdXV1wAqwPxaLherqaoqKigZ8n/5+gldffTXd3d1ccMEFPPXUU0BkP8Hvf//7g/ITXL48+Bv4o48+wmKxcPnllw/49cVM+evujLP++zZhMtFi6XDhO9aYpGPL5w+jotKQbqfL6MRs0/h9KE02z2BF9lUB1zFpkliRfRUfNf6F09Zj3iJqnXYxsloQ8oPNlDGLzswoU+hFwXz0SBKSa+S+OHjenXtKz6L6/Bu9Ovko9/Y8yhdt38HsSAt6bqy0m9z7fznmHO5acldop4fSK90JKtUfu8OTiTlucYohYaV4YTZF87P8/54cO5Ff3U3/xt/eN+e6LWM+KQaECAbQ2RldDVi044Lh6yeYlpbm9RN89tlneeONN7zjRtpP0MPTTz/NjTfeOHJlMIrLvQIMmrgQPBPt+N4G3v/9MWxdfY7exgQdF147g+nn+oRoFBeVb3/Iznd66Orqez1f0X+Xj6a+RlXG5+wuPcvqfVle7ZGQWJSxFgj8PUmShKqqZGYv5KjW6G2nZeMsna5PSLSUYLRn9c5cJVFfhSOzm1pN4pBk8wkCUbW6yIOGCKvBye45ZzmV65MJI0m0azTcNf0UCa77mFl7KefVXoYUYrcp2tXixnP/gYJZ/xyd04OsGXSCiixLTJ7pK+BXgvx8iOjMlnFRHgFCBAPwFZ6hGBcMXz/BZ555xpt1G8lPcNOmTRw5coTZs2f7+Qm6XC6vn2BGRkZIP8Hrr78+rJ8guMX91VdfZe/evQN+fTFT/bH/H1kAfZloSuFK3nn6C47vDWzQYOty8NZTX9Bw0sKyr09j3+5fcvLdT2g8fSv9t789HTnenvEMVbmfs2NhMxcdLATFSqZxStiavpOaJj7UVQL+H76qxklH6hGcXR3oHMnYUo7TLA/cfFkQHZLTEXnQEKCaz+VPF/wZRQ6dZZrdNp/zakNHUDx7fZESYnRJ8PULLh393p1DsMqMd4QI9qOwsJDk5OSwIdHk5GQKCwsHdZ949BMEePnll1m4cKE3DDsiRJlhVnnwLNsf20mPNXwh84F3TvHEqQc5kLaX6xrvI4Hgjtqejhwn0w/hME/CmLwZxVlLYkg/OHd93y5d735g0NW0SnfCaWLImBcMlF7bI421Y8guqTEsxtXzZb9m6EnozBeh0ZeQ2/E5Z1KOBz1XUiVWnHT3/4y00ouUEPNm3m8prlHjw+x2CFaZ8YzwEwyCJzs0FBs2bBiSMomRYEz4CVbthOeuCDuk0raMsra7or6kVdvBtpLnuPJIZFPgvZPdiVDn1q4D3A4PKxP7hNC3sN0q9bBbF67NVC9iX2948ckKjTopRjKiM38FIIjrR5/QqaqC4qwFtSsgyelg3nt8MvUvQS8/qX06V5b/v4G+Ii+fTnmTfflvk2POoezqsglvejsQYvETFCvBIJSWlrJhw4ZhrRMU+FC43L3PYKkj2L6gomrY2bk5pkuanUlMtkyPaqxH/Dy0OFW6FIV2TRvVmmYqNfXYpBhDbkIAh5X+tkeRkHWl6BIu8YqZrCsOKXSSJKPR5Qe9zjl1F2HXWNk/5R1Uyf+9anaE/7CNlnZTEyoq9dZ6/w4xgmFBiGAISktLmTVr1rB1jBkpxoSfoKxxl0G8cgPBMtHqembT5RyajLtQqKg49O0ocg8uTTevGupwaMR+XtygquByug1vQ9gehURK9BNACC90YS+FxJLTX2Ve/QXsnPZHTmQc9D7n29llMCR39xkx+3WIEQwLY+sTfYSRZZmioiLmzZtHUVHRmBPAMUXple4yiOQ8/+PJk+ha8q8DuqRNY8Wm6YrYLstuaOZs1m7a0z+nI/VLrEnVOERCy8ijqn3/638cMNZXo49gexQMnXm1nwAOBSZnEl85djNLT673HqtLrqRT3xrm/aaioIR9P6qozG5Y7nWZ9+sQIxgWJsxKcBxtfY46ihJdZ4zoL+hyZ5+5euCqx1FcCnWV7XS50kgonotZleCtA1FfzvMhs+LUNyKMdAugJTVIB6DBhDPFfuDAcPagaz+LMyUjwMk9utCnEb8Wdz77fMPFgrq1NCaeoirzIKqkUpGxlwV1a4Nkf7rfk/WJVUzqLA55PQmJJEcaeZbpKHkd/h1iBMPCuBdBnU6HJEk0NTWRlZU1aLPLiYyqqvT09NDU1IQsy+j1+sgnRaJfl5hK2zJ2dm7uDX+6gIMkpBowmLXYrQ6iUZdoO3aoqHQmH/ecNHSIt1j09H451TedQd9S5w6GN9UGdXIPi5SEPvlmVFdd0H2+4cDzPruo8h84mfE5kioxq2mp33O+o0Ehozu6NmNmRzLfX/I9kRQzAox7EdRoNEyZMoXTp09z8uTJ0Z7OuMBsNlNQUBB9eNiz0utfZ9SvS4w7AzSwl6dvK6eBWNGEolvZiSI+Y0aVYKs8j5N7LOjMFyHLWpBj3+cbLAbFxKKaS5jbsAqTMynMSBmDK7r64pvP2xgf5RETgHEvguAubC8pKcHhGJmi2vGMRqNBq9VGv6IO1Q/00ofgrXvwCKCiyuy0bOodELz+DtSQXThixWH9AJfhBDBtSK4niB59/SlklzP6VR4QmDDlOTz8Ic9oWFx7WdRjJakbRTWG/DKXkGbgipVjvyfnWGFCiCC4P7xHrA2YwE24fqB/vBFwBzz3GQ2c6plLl5IZcIk+JIYqzqgoTlz2vUiagXf9EQyA3uJ2fWtjyH9JSbcYSTYjySZQbb0/JyJp8lBddahKJ6piRZJNSHLSsIc8o0Xy+f9IqKqxd6RCsNzEVRtKRr9TzARiwoigYOgJ28A6Yj9Q2GY2sSUjjQatlunN+YxU8MdlPwio7lWIo8fde1LsFQ8vvXt/hoaakFKhNV+B1jAj9DVGIdQZPbG8f1SMchcacwJdPvX6iWkGVm4ooXhh9pDPThAaIYKCAVG5vzHAeiUh1cCqa3r/iCP0A91mNnFbdqZXIlO6Ry4VXFXaAPfHlqHhFLbJxe4PaV8h7PdYViUUSWQYR02/DNlIGZ4aw+LwAjiukLEpSXxt0wIkWYrKBUUwfAgRFMRM5f5Gyp4I4o7eZqfsicOsu3UuxdrQ/UBdwJaMNLcAShKSKjG78fwhTXoJee+eCpSePpdsXUcb1FZizynwS8s3YyDRZaRRtoCEEMBIqKBDQ6lzCulOA7WNn1FDXeQMT8mE1rR2DAjg0Ne9WDt7mHHeCJtWCwIQIigInb0ZbKiisvPl8L0zP3ylgqJ/zA6ZwrLPaKBB637rSarE3LoLSOwZ3o4w4BZAR9fWgOO6jjYKXdkU5y7FKtkxY+SU1MRhbc2wz2lc0Pv9ILfZSkfnHqpsp1FRQ3y4GNCav4ok2UakjGEo8Hw5c5fphG/eHgsJyYYhu5Zg4AgRnOjE6OZeV9HmFwINRmernTrHfCaH6Af6ntkEQFHLOaw4+Y0REUBVVdxNk3tn41uHprV2cm7GWkxKEpIk4UTh74Z97hNFdCoiCaqB1OZW2lqCNB3ohy7hEjT6qcM/qSGk22DhqhvOp3hhDnUVbXS22fnwlQo/L8tYSUxzhz8Fo48QwYnMANzcuyzhBdBDZ7sD5ZKHqXvxYbqUNBLks+Tpj6BKCm8kJlDUcg6XHPvOEL2QyLibJXfiSEoNCH1qnC4aFBtFirsB8hHNaT/XcEFwCl2ZlPRkUdO4mzPWYxFGG9ElfGXUSxli5WjmHtZvWkxJkTtsOXlmGrVHWwclgAArRQZo3CBEcKIyADd3iD6E8/4fvmSnnIrd+pO+c+Vm8jKeo02u4atR+q4NFo8tjtP2KY6kVHcSTD9cGpl3NYdY65hHkZJNhyTcAMPSu/+33FbMm6d+g0KQNnpyFpJ2KrIsI2ny0eimxH3YMxhrv7KYrxT55y1H+0Vw3prJnNjX7Bc5ERmg8YcQwYlKFG7uSnsddTs/pMs805u9lleSSkKqIWJI1GFToN+HY5eSzvGm21hoeHPk9gB7feNUwJ5zjvuJ/uUQkgQq7NIdo9CeRZJqGva5jRn654P0fme6oGc2+5vfCSqAGtNl6IyzR2R6w4khQcv6VYFmstF+ESyen83Kb84IXUYkiAuECE5UIri5V9qWsdOyia4/uAD3Xo+nBGLVNSVBs0MjIwMKi05fMoBzY8OTBCMhkWnMRzEn06kL0+tUgi7sfKz9Eit20QS7FyM6bPSF/hIwsNA2hdrGj6kNEgKV9eeOAQGM7h939cZZQQUrmi+Cnj0/WZaYPHP4v/AJBk5cimBFRQU33ngjzc3NpKam8uyzzwoj26EmMXQj39A9PG2UPXGYBRdPwZCgxd41kEw5Ge0wOnipqoLiqMHR9TaTzTNYlLEWszaZT7THgMjZnl9qw62OJxCqW/C+ZV9Oo9SGVbLT0nmSzvYqPrd9HMQOSEJjOBed+YJRmW70qD7/DS6EkUKWsixF/CIo9vzGDnEpgrfeeiubN2/mpptu4tVXX2XTpk188sknoz2t8UVXC0gyqP7hrPA9PN2d8A9sqwnx/OjiG/6cbJ7BiuyrAFBQqdTUj+7kxhK9OrHMMQMtMikOLSda3g+68pO0hcjaqWgM890NrOMco0li1oopVHzW5LeSMyXqKFmaw7RzsqIKWRYvzGbdrXMDGkaIPb+xh6TGmdFeY2MjM2bMoLm5Ga1Wi6qq5OXlsWvXLqZOnRr2XIvFQkpKCu3t7SQnJ4/MhMciobJCgVr7HP7S+p8jP6cB4nGEdyqnULp2o7F2ICNxRf53MWncJQ9n5Fbe1O8b7amOGfROSGtpI9Ouo9vVSXNv3Z8fkgmd+eK4zPY0JuhQVdWvps+QoOWcNVNYfFkRsiyFb/kXA0N1HcHQEosWxN1Xt5qaGiZNmoTWU0wtSRQUFHDq1KkAEbTb7djtfd/CLBbLSE51bBI2KxS6lLGzf2E3NNOZfBxF0+sCnzkTydFD9lkrZm3fG7+b6LL5JhQqaJBZ5ZiFCXeiRzd2tC7YffJ3WFE5FfJkE/rkW+Ju5XfO2inelRwQVpyGaq9O7PmNfeLrXdxLf5ueUIvVhx56iAceeGAkpjR+iJAVmiC3juBkosdT6uAxTHUkGuhI/TJwnFZHQ3YKVY5GipRsFFSsUs8ozDiO6f1zusgxhyLFHbbz/I191PgXQn1B8qBLuHgYBTD4Xp3epKGn2xX0jFAhSCFOgmiIOxHMz8/n9OnTOJ1Obzi0pqaGgoKCgLH33HMPt912m/exxWIhPz+eO83HARGyQvP0R0iQm+lSMoiXPT/fvT5wf0x25c4HdEG2LSVQVXbpjqE6VHbrKuiSxErQlwTVwHmOIorUPtGwujrYf3Yn9a5EdInfQlW6cXbv8P7OgRHx7jMYVOz2vn/UhFQ9q66ZQdH8LO/KzpyoR5Wgu6NHhCAFgybuRDA7O5uFCxfywgsvcNNNN/GnP/2JqVOnBt0PNBgMGAyi/15MhMkKBZAlhZVJz/BW+52EzqAbufqBYP0+XeYkVJ0u9EmSRBd2tusGUsYxDvEUtztmonOp1DTuZp/1Y04ZCzDpS+iRUmhxyci6i9Hp+zJ3Nfrpfqtv3z6fnj3CoWt2oJKYqHLdljU0VLYHDWOKlZ1gOIg7EQR44oknuOmmm3jwwQdJTk7mueeeG+0pjR8Kl7t7g4YJiZpkC+FFbmQE0Lffp99xbRgB7M9EXyD0Rjant+upaX3PneQiGdAYl2ExLqWjV9Q0QapWJElGo8sPcPcYHrcPiZXXzUOrlYXYCUaUuBTBmTNnipKIIAw6E83jFpE7L6wIdroyhmC2g8fT77M/Ln2Uq/+JLoCAAR1FbRpO1+9E1i9Em7gsCucGldqkSuqTKnFJTkobl5Po6BMmu9aK0ZkQ8d6F8zJorumM2F1IlBUIRpO4FMGJRjTiFtHENhLB3CJCcLpnXsyvIVb6J7oE/WBWuwLPAxypWYEmuAI/NKrMHMckeurKqbUe83NtDyx070OS4JJ/nMfJTJUte16hwdrA/vx3yLMUk6XmsWDqPBZkzufo72wR57Dw4gLySlK9721Tkh5Jdffe7O5wYErSk5gq9vQEo4sQwVEmmLgZzFrOWdtX0xSVie3C7NBiGqQu0IXb169JoyHL5WKRzY4Gd7eYL21rh/U19090AUBKRGde7Z90IQWuNlzmJAjX/myCcp6jGAcuQCXDaaaq/n1O2j5FlRLQJaxHoy/Bpu3idMqXFLcsItS+7iX/OIfp52YznYtZnb+afY37aLI2kWXOYlH2IjSyBkVROb31Y9E2TDAuECI4ioQSN7vVyadbT/L59tNcdO0sPvxjZBNbVVH58I/HA1eK3yqm+P2+ukBFlXlDXsBrpsnUGawAmJ1JGAytfMf+GWcaNwW7RVREs1cUytgWtbP3+HqvEMraySAl+ollTPuBE4hMNZlJLrfYvCbtZNv0L3BK0/nq7G+yZvI51KmnsGXZuCDxIlJr8/noj5URO51oZA3n5Z4XcC/RNkwwnoi7jjGDYSx1jFEUlefvDf9teqhYl/owxcZdVNqWsa3jH3GG2PPr1nRgciUN+D4G21lcsh6nLiFoqFJVFezt/xd0n8+LlIQhZZM3NOqwfoDL/pn3aac5ie7CmQOe43hldc8cUjHzq9QPSZm1mK+XrmLZtCw0IYRoKDqdBItiiP09QTwwpjvGTBSicWiPjdDlDB9avoOqSrzVfmfY4gajK3FAd7Zpuig8tZ3ZFW9ROe1KavK/EnRcqEQX/+l2oDhq0OgLcfVU+AkggMbageToca8IxZ6gl+cyy/jQOp2esyv5RcECVkwPL0JDEaYsXpjtV78navYEYxEhgjEyVL0CozXmjJ5Qc5DoVLJ433Jr76PQcx1o2rvBZaZh0hXoXYaQAggETXQJhqPrDVT1K+5ibdzy7jInoWp1SE4H+oZT2IOY445rQnx7UQErEu81fg0Vt/lxdpJxxKYl9vwEYx0hgjEw6AxNH6I15oxMdIXrNjVliO4XiFs8VWryex24Q63QgiS6BMeO0/oGAI6kVOw5Bai+yTBOJ5LdhmqcYOa3/f6pPRsZux3TUNEgAbkpRpYUpY/G7ASCMcnwGbuNMzxJLP1DmJ4Mzcr9jTFdL684iQRtK/3d12NjMOeGJ1wafVAkyW3NFCZE6U10iXQpJLKM+aRmzsU2uTgwGUarnTgCqLrbnK1xzCUB/y9OXeh5z1HMKSXdq433rS8NuQ8oEAgCESIYBYqisvPlyBmaihK9cMg1n7Aq8UnoXUWFIzHNwKW3zCEhwb+BcKLcwqUpPyVBbia0ICoYpbao5+Whf2jULnfHfI2Aa0oyOvPqsGMmm2dwRf53uSjvH2jMTAKkibv35+PrN03J4Rr7CtbrljKveAV7dPP4k/0cTinuVV9uipHfbFzEurl5ozhhgWDsIcKhURBNEktnq526irbo90c6Gyg27mJd6n/zXvs/YVeDZTApgOTNtpuWaqDu/+6mS0kjQW4lT38EWVKQJLXXCV7B/3uN+/wLk5/kw47v0KWkE8v3nr2Ty2g1N2DVWUCVuPLIP0dV5B5sDJKEQ9+OYkwBwyWorR8gqf4F175GuGfkVuySI+q5jik833l8tF2jSoCES+r7MpOAgWWOGZQumINpRjpykp78ohTOlSWuUlT2VJ2lscNGdpI7BCpWgAJB7AgRjIJok1hiSnbpbWRdbNxFkWEPezuv5qB1PXa1r0QhUW5h5ZW53v1GuWgFk7NawVKO7+rRI6Y7LZvoUjL9z09+hmLjLh+hjJ7alArOpBwHQFIlupT9aCyfBi9y100HVJw9FTi7t4Pat3J0JOVizy1A1fZ9wEsZ8zHUH0XX0eZ+jMSiDHeRviRJ1MWppdOg6f1nW+OYixE93dgxYSBXSQWgXm7zOyYjYZqRjnmB/56zRpY4vzg+2tsJBGMZIYJREG0SS0zJLt5G1nXIksJ5SX/k3MQ/Udczu3el10ZeZhvyJZ/3nSNrYN3Dvd1f/MOoxcbdFBj28AHzaVHTyZDOcgEH0fWuLIqNu7g05ae83X67N4swFCoqnfo26pIrvcfyG4zI7YHNrL1F7uYrSGj9hDZDi9/TjqRUbJMn4+5R49OEWePCNrkYTlei62wj0zjFzwg31i3JsYIBHSsds7w+fv2ZFMTUWE4SHXIEguFCiGAU5JWkkpBqiKpNVNQEETRZUphs+AKvWFz2vHucL6VXwobnA/qAbsucxJaUBBqUFsAtRDnOXO5uaeViq3tVNt30CfCzXpskCJZV6kmI+Xjqa6hSr12OCkvL0wmXierqeIM2vQqq5B2iAvacXh/I/vt6vRpuz81HW9GKSeOfMJOnpnGAk0HvNebodXH/iuMcJinpyDGUomhSDBiKhi+zVyCY6IjEmCjwtIkKx4DaRHkELblfMkPyJPfx0itDn/ejw3DjG3D102z76k+4LUlLg+K/x9ao0XBbdibbzH2ZlNNNn7DuKi0JicGXWp36Nt6e8QxVGX0r0JyzBhJs2rB1hIqG3gzRvmNu3z99mJIJCVVnwJWQjNXVyRm5lUq5njNyKzlKKlp1HLw9fVzcpygZMQkgQOr6aUhir08gGDbEStAXj9VQZ4N7z65wuXclVrwwm3W3zh36NlGlV8Ksr4a8b0hkDRStwqW42PKnS4OWNKiShKSqbMlII0lRaNFoyTKksuji88mQdnD057/D2qXQo09C19OBXdPOq8tOUJXh/6FrskeYSwii7fPpTEyhJiWLKu0+7zGjqiNNSaRJYxnQveOFSOHPUGhSDKSun4ZpbmbkwQKBYMCI3qEeglkNJU9yhyx9VmRD1TFmqPi0/lO+89Z3YjrnkqpkNr10NmBN4s4lhZ99Q2bPzL5VWG6LgXW7c2OeW9R9PtXeMGuoX+PIGdkPnt6/pkIli1LXFPKUtKhXf8lfLUKbpEdO0mMoShErQIFggIjeobESxGoIAEud+7hPaDLe2kQ1WZtiGi8pKlf97WzQ52TcQnjL3xU+KwZF6xbChnQ7XUYnZpsmeEg0hLdf1H0+x1EdYLCVn2eVHi6crEkxkLRishA+gWCEGQebLoNEcblXgEHTEXuPld3tHheHpBtja5E1u0YlsyP0wkoGUrrhiV8rLDnqzixVJTiR19v3s3/gIIy5rQQYGk6FPi9axoIuqKBTNfyDfWVA6NOKyh/oQQ3Th0fs/QkEo4MQweqPI7itq2CpdY+LQ6QYV1FpEUwcPCRb4fbX3EIoqTCtLsFzw/4T8H/cT9x0HW0YayuRnP0K38fR6s+jbBc4StEG+ZPaOSeZVbcsJO3a2WhT/MsdNCkGMjbOFnt/AsEoIcKhnQ1DO26EaeluiTzIh9Yo3ZIk3KHRm95ROJVuIsEW5VsliLjpOtrQdrTRk5ZNT25B1HMdK3g6uwRLfpEStGy6boF3lZcwNxN7VTtKR4/Y+xMI4gAhgr2dW4Zs3AiTZc6KafyRfInmJEjviBwGkIHMDph+JvaAQX/7I421A9nljPk6cYkKWmRWOGaRgNHb2SUYaV+b7idykixhLE4doYkKBIJICBH06dwSfF9Qcj9fuHykZxYVi7IXkWPOodHaGJXzgypLPPsVmdtfU4ImXSqSRHNWJt1GEyZbN5lNzaRYYnNsCGZ/JDl6kK0dMV0nLun9FV/omBOx7CHxgsmYz4ntS4pAIBhZhAiGaUXmlYh1WyLX7Y0SGlnD3Uvu5rYdtyEhRSWEn87U8PpSuHK3v/PE6SmT2bdoEd1ms/eYyWol4WwTKk1R5ae426QFGt6qWh2u5PSwiTRxQ5iSDHfoswSzksn9Zgf/nJ9BVnUXqq0vcUpO0JH6tWIhgALBGEDUCXoIWic42S2AoTq3xBHbqrexZc8WGqx9e5e55lwuK7qMN6ve9DueZ8zhZ491oW1u8x47PWUyH61Y4X7gK1K9bw9jbaW32XUoFKBrxgL3F4ZgQjcWBBAwqFrsUl/o1qjqmO7MpUDNIkdJQUaiae0U5q8tQiNLqIoq9vkEgjgiFi0QIuhLmI4xYwGX4mJf4z6arE1kmbNYlL0IjawJOD7rpJPTN/UV2CuSxBvrr6DbZAopXpKzh4Tjh0KuBh1JqdjyikAzdn5fobisZyESUoCbA0AbCpYLJrH88vBt9AQCweghiuUHSm8rsrGKRtZwXu55EY+37tlKc4KRlkT3Xp9sMPuFQAPw9Pg0J6ENsq8XKgQ65lDd4c5QXV4UVMwmHXPWTR+FyQkEguFAiOAEo2L3x7z1p+exT5/sPeZIjq7gPlgv0LBOEWMJHxf3UJmeMhL6bhf2qnaR4SkQjBOECI5TFMVF7ZEv6GxrJTE1jcmz51D56W5ef/TBgLEBhewhkBw9Ace8ThFjCbU3BcpH68LV+vVH6Qj8PQgEgrGJEMFxSMXuj9n+7JN0nm32HktIy8AVRMQgih6fqorObsPU3oZD7/+WidYpIm7oXfGtDuLsHm2ja2FyKxCMH4QIjjMqdn8cdLXX1Rq6s4ynx6dtcnFgBmdv3pSmuRYNkNnawZnURO8KUNGMrbdQqBWfbnICusmJWMuboTN0n1hhcisQjC/G1ieYICyK4mL7s08O6FxdRxvUVgYWuTt7MDTUoOtow6bTcCo/H1fWFBxGY9/J8Vz6oIIRHUsdJSG7u/j27jTNSKflhSMhLycaXQsE4wshguOI2iNf0Hm2OWjLsmg+trUdbeBy4TInAhIaawdan3MdyWnBs0DjRQD7F7n3hj5XhDK1NWnIuHqGX/Nq09xMMjbOpm1rJa72vvCxMLkVCMYnQgTHEZ1trSFblhkaToUtdnefl4+qM3iPOR090HueCthyC3svGCeiB6BClpLMFCWDo9ozWLF7nwrb2NqgIe9flyFrA/uimuZmYizNEAXwAsEEQIjgOKK50xqyZZltcjGE6PoSrtWZbXIxrrMNqLIG4ikJRoVcJZV1joVe+6KFriLq5baokl3SvzUjqAB6EI2uBYKJgRDBcYKiKHz6Rbn7QTDPP1XFnpNPoupy/9zlNhYMW+fX+9iRkTuMM4+R3hDnRvuFGPu9fWUkJilpYU+Xk/WkXVkswpoCgQAQIjhuqK6uxmLpCB2q7O36MmXpKhr27/aK4Fis85vnLAgQwJBIYJyXibk0Q4Q1BQJBAEIExwmdndFZxn/56S60lrPeIGHc1fmFcXBAhbnOfJa6ouvbmXRZIUkrpoQNewoEgomNEMExQrAOMLJPc+/EcL0/fXE6/DQm2m4xI0YwAfQWuM+hWIk+NGuYkiwEUCAQhEWI4BggWAeYxPRM1ty0mZKly7G8/TY9Dz6Eacl5IZ0gVBVkpz2gAbbG2gGOHnfSSzxlffoQS0szX0R7M4FAEIm4EsF7772XP//5z+j1egwGA1u2bGHNmjWjPa1RJVQHmM6zzbz+6INcvPZy9P/zK1BVFu3b5/YE7Fe87jHLMjTUBCy0nEmp7rFxJoBLHSWYVX3MLc18Ee3NBAJBJOIqVrRq1Sr27dvHwYMHeeqpp7j66qux2WyjPa1RI5oOMB++/QYeS8gpp2tZ8dFHmLq7/cZYVR2fd6UFlEd4SyPiqfWZCgmqgTmufIqVXCaFsDWKhGhvJhAIoiGOPv3gsssu8/48b948XC4Xzc3NTJkyZRRnNXp4OsCEw6aROZaTRmZnN+ldNqacrmVS7RmaszLpNpow2bp5pOQbHM6cxnxNAomuLreDAnFggRSiw0s4OyNwn2OcnY6t/GzIIaK9mUAgiIa4EkFffvvb31JcXBxWAO12O3Z7X4cQi8UyElMbMTrbWqMaV5mbTiVg7HFSeqaZ3PYushubvM9nFHSyQNLhyP4qSd2f0aq0oWi0o14a4RFjD9Hs/SVfNpXEFZORtTLdh5tFezOBQDAoRlQEV61axZEjwZsT79+/n/z8fADeffddHnjgAd55552w13vooYd44IEHhnye8UJb3ZmYxtt0GvYV5rCouoHc9i4AtHkLuT3vfNrkNnal1FKXmg5EZ6I7XExxpXOOayrZSgqNcnvUdkaJF0wm+cJ872PR3kwgEAwWSfVsKMUJ77//Ptdffz1bt25l/vz5YccGWwnm5+fT3t5OcnLycE91WAmVEBMRVcXocLL6yCk0eQsxL/kuVXIj2/WH3c/HgT5c3rMoYmcXPyRIXDWZ1MunDd+kBALBuMFisZCSkhKVFsRVOPSDDz7g+uuv569//WtEAQQwGAwYDIaI48Yag7FEQpKw6XWcTTRTcM41KKjs1lf0Phf9ZTxfjaQYzwt/UXfIM1dJ9T+ulci4YQ5KlwNXZw+SSYvjtLuUQ5thIvH8SaLeTyAQDAtxJYKbNm3Cbrdz8803e4/97ne/Y968eaM4q5FnsJZIANqpC5BN6ZyRW+mS7JFP8KVXADuceSRr64InsESaSAxJL2nfnIFpRr+V4eI46lcqEAjGLXElghUVFaM9hbhgMJZIKuA0J1G3dDX1NZWoUuzRbgk41zGHnUoKa9VMdumO0UU/IY0gjNEmvRhL00lYEFsRvEAgEAwVcSWCAjeDskTKLQStjoP1x2GAbUFVCXIw8ANMoJgotGf5WRTZ6GG3rsJPGM3omeWYTIpqxoQhqqSXxFWTSf2q2OcTCASjhxDBOCNaSyRtR5ufpITyBAT6lmQx7O11+whcMIuiqfbsiN59QZNfdDLmeZmkfqNE7PMJBIJRR4hgnBGtJdL0tZfTsH+Pd+8wbOG7JzYZzV5eLybCJxxF493nS9LqfAzTU0UJg0AgiCuECMYZlo6OyIOAomUrufIfb6X2yBecOHGC9/YeCH9CtLoTKoNzkOhyzMKpXSAQxB0iHhVnnO6ILpHldIeKLGvIn3MO6VNDhEGDsMAxlTnO/L6VoS/Rti0bAKKZtUAgiEfESjDOcJjT6VJ1mHEEjWyqKnShx2Hu6/pS3hS9ZdAkNZ1JrjRyldSArM+BWhZFQjSzFggE8YoQwTgjJ9nMbkcBq3WV/R2RvAXsexz5XJ3sNtF1KSo/39XKyjDC6T7ZncHpCXMWKdkBWZ9RWRb1q33QpBgwzc+k84PakKeIZtYCgSBeESIYZywpSseRNIkdHbBEd4oE+pzfu9DzqSMfR9IklhS5V4J7KlvItTjplosw644FCCfgFa3zHTP9RC7W5BaA9H+YhZygC+jVaShIFs2sBQLBmEOIYJyhkSXuW1/KP71go8aeRrbcgQkH3ehoVJJQkfjN+lI0skT34WZy/nSMx0gAJYEqh4EPdEdw4PS7pgEtKx2zBxXmjCRoopm1QCAYi8RdA+3BEEvT1Hin7HAdD2wtp669z1Q4L8XIfetLWTc3j+7DzbS8cCSg6sGJQr3cyh/kJqpVhQVqOt9RcgaX6GKQmfTv54u6PoFAMCYYsw20BX2sm5vHV0pz2VN1lsYOG9lJRpYUpaORJRSnQuufjwOBlQ9aZCYp6dygpHENnfwHiYPP87Qr9FRbRImDQCAYdwgRjBMURaG6uprOzk4SExMpLCxEI8ucX5zhN677cDOtf65A6XKGuJJ7ry8Hia+jI3uIqmCUjugzUAUCgWCsIEQwDigvL6esrAyLxeI9lpyczLp16ygtLfUe84RAo2WGTo9PXs2gEHV+AoFgPCI2eUaZ8vJyXnnlFT8BBHdM+5VXXuG5Nz/kk8oWnE6Ftq2VMV37yqlD4yAv6vwEAsF4RawERxFFUSgrKwv5vKrCod0fcP8HbaxJMPNAV/S2EHKyHkdNZ1RjdVMScJzuCvm8qPMTCATjFbESHEXczbItIZ+XJEiUesiRO5C6YotrJi7JBZsrqrEpl00j/dpZyAn+34k0KQYyNs4WdX4CgWDcIlaCo0hnZ3QrNRMOWgIafQZHTtCR9vXpqE4lqvGSSeut5zPNzRR1fgKBYEIhRHAUSUxMjGpcNzqqcdGIQiZSyJo/OUFH7j1LkLUytsq2qK6dtGKSV+gkWRJlEAKBYEIhwqGjSGFhYdhCTlWFTlVPg5KEAvwcW//WnX6kfX26t6DdUJSCJiV8Rqds1pK0pmBgkxcIBIJxgBDBUUSWZdatWxf0Od9m2Wrvyu8DnPwr3bii2LuTZInU9eEtltK+USLCnQKBYEIj2qbFAcHqBDtVPXsc+ZxS+socJCA3xcjOO1fjrLZEtXfXfbhZNLYWCAQTCtE2bYxRWlrKrFmzqK6u5qMjp/nVh6dpVJJQfPb+PD/dt74UrVZGG+XenWhsLRAIBKERIhgnyLJMUVERRUVFZBYENs/O9WmeHSsi4UUgEAiCI0QwDgnXPFsgEAgEQ4cQwThFI0sBzbMFAoFAMLSI7FCBQCAQTFiECAoEAoFgwiJEUCAQCAQTlnG1J+gpeQzXlFogEAgE4xuPBkRTBj+uRLCjowOA/Pz8UZ6JQCAQCEabjo4OUlLCe6GOq44xiqJw5swZkpKSkKSRKSewWCzk5+dTU1MzprrUxBvi9zh4xO9waBC/x8Ez2r9DVVXp6Ohg0qRJyHL4Xb9xtRKUZZkpU6aMyr2Tk5PFH8wQIH6Pg0f8DocG8XscPKP5O4y0AvQgEmMEAoFAMGERIigQCASCCYsQwUFiMBi47777MBgMoz2VMY34PQ4e8TscGsTvcfCMpd/huEqMEQgEAoEgFsRKUCAQCAQTFiGCAoFAIJiwCBEUCAQCwYRFiOAQs2PHDjQaDb/61a9GeypjknvvvZfZs2czf/58lixZwvbt20d7SmOGiooKli9fzowZM1iyZAnl5eWjPaUxhc1m46qrrmLGjBksWLCAdevWcfLkydGe1pjlgQceQJIkDh8+PNpTCYsQwSGko6ODu+66i8suu2y0pzJmWbVqFfv27ePgwYM89dRTXH311dhsttGe1pjg1ltvZfPmzRw7dox/+Zd/YdOmTaM9pTHH5s2bOXr0KAcOHOCKK65g8+bNoz2lMcm+ffvYtWsXBQUFoz2ViAgRHEJuu+027rzzTjIzM0d7KmOWyy67DJPJBMC8efNwuVw0NzeP8qzin8bGRvbt28fGjRsBuPrqq6mqqhIrmRgwGo1cfvnl3paLy5Yt48SJE6M8q7GH3W7n+9//Pv/7v/87Yu0rB4MQwSHi73//O21tbXzzm98c7amMG377299SXFw8aq3wxhI1NTVMmjQJrdbdCVGSJAoKCjh16tQoz2zs8stf/pL169eP9jTGHP/xH//Bxo0bKSoqGu2pRMW46h06nKxatYojR44EfW7//v3cfffdvPPOOyM8q7FHpN+jxwHk3Xff5YEHHhC/0xjo/61blAAPnAcffJCKigoef/zx0Z7KmOKTTz7h008/ZcuWLaM9lagRIhglO3fuDPnchx9+SF1dHUuWLAGgubmZrVu30tTUxAMPPDBSUxwThPs9enj//fe5+eab2bp1KzNnzhyBWY198vPzOX36NE6nE61Wi6qq1NTUjIk9mXjjkUce4bXXXmPbtm2YzebRns6Y4v333+fLL7/0rgJPnz7NpZdeyv/93//Fb66EKhhybrzxRvWxxx4b7WmMSd5//301Pz9f3bdv32hPZcxx4YUXqr/97W9VVVXVP/7xj+rSpUtHd0JjkJ/97GfqokWL1LNnz472VMYFhYWF6qFDh0Z7GmERK0FBXLFp0ybsdjs333yz99jvfvc75s2bN4qzGhs88cQT3HTTTTz44IMkJyfz3HPPjfaUxhSnT5/m9ttvZ9q0aaxevRpw98DcvXv3KM9MMJyI3qECgUAgmLCI7FCBQCAQTFiECAoEAoFgwiJEUCAQCAQTFiGCAoFAIJiwCBEUCAQCwYRFiKBAIBAIJixCBAWCMUhbWxsFBQV88skn3mO/+tWvWL16Naqq8vTTT1NSUkJxcTGbN2/G6XSO4mwFgvhF1AkKBGOUN998kx//+Mfs37+f2tpaVq1axa5du1BVlRUrVrB//36ys7P52te+xle/+lVuvfXW0Z6yQBB3CBEUCMYwmzZtwmg0sn//fm6++WZuueUWfvrTn3Ly5El+/etfA26x/O///m927NgxupMVCOIQ0TZNIBjD/M///A9Tp07l3HPP5ZZbbgHg1KlTFBYWesdMnTpVWCoJBCEQe4ICwRjm/fffx2w2c+LECTo7O73HfW2VRLBHIAiNEEGBYIzS0tLC9773PV577TXWrVvHnXfeCUBBQYGfo3x1dbWwVBIIQiD2BAWCMcq3v/1tpk2bxoMPPkhXVxfz58/niSeeoKioiJUrV/olxlx++eV897vfHe0pCwRxh9gTFAjGIK+++ipffPEFzz//PAAJCQk8/fTT3HzzzRw8eJAHHniAFStWoCgKa9asYdOmTaM8Y4EgPhErQYFAIBBMWMSeoEAgEAgmLEIEBQKBQDBhESIoEAgEggmLEEGBQCAQTFiECAoEAoFgwiJEUCAQCAQTFiGCAoFAIJiwCBEUCAQCwYRFiKBAIBAIJixCBAUCgUAwYREiKBAIBIIJy/8POapuTj8OK00AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { "text/plain": [ - "
" + "
" ] }, "metadata": {}, "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(16000,)\n", + "[[-0.25317189]\n", + " [-0.25317189]\n", + " [-0.25317189]\n", + " ...\n", + " [-0.14649218]\n", + " [-0.14649218]\n", + " [-0.14649218]]\n" + ] } ], "source": [ - "\n", - "\n", - "\n", "########################### Experiment Settings ###############################\n", - "\n", - "\n", "random_state = 29\n", - "\n", "working_dir = '/home/guus/tmp/' # Specify a working directory to save data and results.\n", - "\n", "simulation_method = 'linear'\n", "n_features = 1 # The number of input features of X\n", - "n_grps = 2 # Number of batches in data\n", - "n_samples = 500 # Number of samples in each group (use a list for different\n", + "n_grps = 8 # Number of batches in data\n", + "n_samples = 2000 # Number of samples in each group (use a list for different\n", "# sample numbers across different batches)\n", - "\n", - "model_type = 'linear' # modelto try 'linear, ''polynomial', 'bspline'\n", - "\n", - "\n", + "model_type = 'bspline' # modelto try 'linear, ''polynomial', 'bspline'\n", "############################## Data Simulation ################################\n", - "\n", - "\n", "X_train, Y_train, grp_id_train, X_test, Y_test, grp_id_test, coef = \\\n", " simulate_data(simulation_method, n_samples, n_features, n_grps,\n", " working_dir=working_dir, plot=True, noise='heteroscedastic_nongaussian',\n", " random_state=random_state)\n", - "\n" + "plt.tight_layout()\n", + "plt.show()\n", + "print(Y_train.shape)\n", + "\n", + "random_group_offsets = np.random.normal(0, 1, n_grps)\n", + "print(random_group_offsets[grp_id_train])\n", + "Y_train += np.squeeze(np.array(random_group_offsets[grp_id_train]))\n", + "Y_test += np.squeeze(np.array(random_group_offsets[grp_id_test]))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [], + "source": [ + "nm = norm_init(X_train, Y_train, alg='hbr', model_type=model_type, likelihood='SHASHb',\n", + " random_intercept_mu='True', random_slope_mu='False', linear_sigma='True', linear_delta='True',linear_epsilon='True', nuts_sampler='nutpie')" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "
\n", + "

Sampler Progress

\n", + "

Total Chains: 1

\n", + "

Active Chains: 1

\n", + "

\n", + " Finished Chains:\n", + " 0\n", + "

\n", + "

Sampling for a minute

\n", + "

\n", + " Estimated Time to Completion:\n", + " 35 minutes\n", + "

\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ProgressDrawsDivergencesStep SizeGradients/Draw
\n", + " \n", + " \n", + " 3700.018
\n", + "
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Graph is constructed here\n", + "nm.estimate(X_train, Y_train, trbefile=working_dir+'trbefile.pkl')" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 47, "metadata": {}, "outputs": [ { - "ename": "TypingError", - "evalue": "Failed in nopython mode pipeline (step: nopython frontend)\nFailed in nopython mode pipeline (step: nopython frontend)\nInvalid use of type(CPUDispatcher()) with parameters (readonly array(float64, 2d, C))\nKnown signatures:\n * (Array(float64, 2, 'A', False, aligned=True),) -> array(float64, 1d, A)\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /tmp/tmp01rwehf6 (7)\n\n\nFile \"../../../../../tmp/tmp01rwehf6\", line 7:\ndef numba_funcified_fgraph(_unconstrained_point, y, batch_effect_0_data, X):\n \n # Sum{axis=1}(X)\n tensor_variable_2 = careduce_axis(X)\n ^\n\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /home/guus/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py (637)\n\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /home/guus/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py (637)\n\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /home/guus/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py (637)\n\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /home/guus/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py (637)\n\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /home/guus/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py (637)\n\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /home/guus/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py (637)\n\n\nFile \"../../../anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py\", line 637:\n def extract_shared(x, user_data_):\n \n\n return inner(x, *_shared_tuple)\n ^\n", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mTypingError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[4], line 6\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m################################# Fittig and Predicting ###############################\u001b[39;00m\n\u001b[1;32m 3\u001b[0m nm \u001b[38;5;241m=\u001b[39m norm_init(X_train, Y_train, alg\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mhbr\u001b[39m\u001b[38;5;124m'\u001b[39m, model_type\u001b[38;5;241m=\u001b[39mmodel_type, likelihood\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mSHASHo\u001b[39m\u001b[38;5;124m'\u001b[39m,\n\u001b[1;32m 4\u001b[0m linear_sigma\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mTrue\u001b[39m\u001b[38;5;124m'\u001b[39m, random_intercept_mu\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mTrue\u001b[39m\u001b[38;5;124m'\u001b[39m, random_slope_mu\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mTrue\u001b[39m\u001b[38;5;124m'\u001b[39m, linear_epsilon\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mFalse\u001b[39m\u001b[38;5;124m'\u001b[39m, linear_delta\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mFalse\u001b[39m\u001b[38;5;124m'\u001b[39m, nuts_sampler\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mnutpie\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[0;32m----> 6\u001b[0m \u001b[43mnm\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mestimate\u001b[49m\u001b[43m(\u001b[49m\u001b[43mX_train\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mY_train\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtrbefile\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mworking_dir\u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mtrbefile.pkl\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 7\u001b[0m yhat, ys2 \u001b[38;5;241m=\u001b[39m nm\u001b[38;5;241m.\u001b[39mpredict(X_test, tsbefile\u001b[38;5;241m=\u001b[39mworking_dir\u001b[38;5;241m+\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mtsbefile.pkl\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 10\u001b[0m \u001b[38;5;66;03m################################# Plotting Quantiles ###############################\u001b[39;00m\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/pcntoolkit-0.30.post2-py3.11.egg/pcntoolkit/normative_model/norm_hbr.py:286\u001b[0m, in \u001b[0;36mNormHBR.estimate\u001b[0;34m(self, X, y, **kwargs)\u001b[0m\n\u001b[1;32m 279\u001b[0m batch_effects_train \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mzeros([X\u001b[38;5;241m.\u001b[39mshape[\u001b[38;5;241m0\u001b[39m], \u001b[38;5;241m1\u001b[39m])\n\u001b[1;32m 281\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbatch_effects_maps \u001b[38;5;241m=\u001b[39m [\n\u001b[1;32m 282\u001b[0m {v: i \u001b[38;5;28;01mfor\u001b[39;00m i, v \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(np\u001b[38;5;241m.\u001b[39munique(batch_effects_train[:, j]))}\n\u001b[1;32m 283\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m j \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(batch_effects_train\u001b[38;5;241m.\u001b[39mshape[\u001b[38;5;241m1\u001b[39m])\n\u001b[1;32m 284\u001b[0m ]\n\u001b[0;32m--> 286\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mhbr\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mestimate\u001b[49m\u001b[43m(\u001b[49m\u001b[43mX\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbatch_effects_train\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 288\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/pcntoolkit-0.30.post2-py3.11.egg/pcntoolkit/model/hbr.py:444\u001b[0m, in \u001b[0;36mHBR.estimate\u001b[0;34m(self, X, y, batch_effects, **kwargs)\u001b[0m\n\u001b[1;32m 442\u001b[0m \u001b[38;5;28;01mdel\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39midata\n\u001b[1;32m 443\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m modeler(X, y, batch_effects, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mconfigs) \u001b[38;5;28;01mas\u001b[39;00m m:\n\u001b[0;32m--> 444\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39midata \u001b[38;5;241m=\u001b[39m \u001b[43mpm\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msample\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 445\u001b[0m \u001b[43m \u001b[49m\u001b[43mdraws\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconfigs\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mn_samples\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 446\u001b[0m \u001b[43m \u001b[49m\u001b[43mtune\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconfigs\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mn_tuning\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 447\u001b[0m \u001b[43m \u001b[49m\u001b[43mchains\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconfigs\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mn_chains\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 448\u001b[0m \u001b[43m \u001b[49m\u001b[43minit\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconfigs\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43minit\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 449\u001b[0m \u001b[43m \u001b[49m\u001b[43mn_init\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m500000\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 450\u001b[0m \u001b[43m \u001b[49m\u001b[43mcores\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconfigs\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mcores\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 451\u001b[0m \u001b[43m \u001b[49m\u001b[43mnuts_sampler\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconfigs\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mnuts_sampler\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 452\u001b[0m \u001b[43m \u001b[49m\u001b[43mprogressbar\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\n\u001b[1;32m 453\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 454\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mvars_to_sample \u001b[38;5;241m=\u001b[39m [\u001b[38;5;124m'\u001b[39m\u001b[38;5;124my_like\u001b[39m\u001b[38;5;124m'\u001b[39m]\n\u001b[1;32m 455\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mconfigs[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mremove_datapoints_from_posterior\u001b[39m\u001b[38;5;124m'\u001b[39m]:\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/pymc/sampling/mcmc.py:725\u001b[0m, in \u001b[0;36msample\u001b[0;34m(draws, tune, chains, cores, random_seed, progressbar, progressbar_theme, step, var_names, nuts_sampler, initvals, init, jitter_max_retries, n_init, trace, discard_tuned_samples, compute_convergence_checks, keep_warning_stat, return_inferencedata, idata_kwargs, nuts_sampler_kwargs, callback, mp_ctx, blas_cores, model, **kwargs)\u001b[0m\n\u001b[1;32m 720\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[1;32m 721\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mModel can not be sampled with NUTS alone. Your model is probably not continuous.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 722\u001b[0m )\n\u001b[1;32m 724\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m joined_blas_limiter():\n\u001b[0;32m--> 725\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_sample_external_nuts\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 726\u001b[0m \u001b[43m \u001b[49m\u001b[43msampler\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mnuts_sampler\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 727\u001b[0m \u001b[43m \u001b[49m\u001b[43mdraws\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdraws\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 728\u001b[0m \u001b[43m \u001b[49m\u001b[43mtune\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtune\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 729\u001b[0m \u001b[43m \u001b[49m\u001b[43mchains\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mchains\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 730\u001b[0m \u001b[43m \u001b[49m\u001b[43mtarget_accept\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpop\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mnuts\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m{\u001b[49m\u001b[43m}\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mtarget_accept\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m0.8\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 731\u001b[0m \u001b[43m \u001b[49m\u001b[43mrandom_seed\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrandom_seed\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 732\u001b[0m \u001b[43m \u001b[49m\u001b[43minitvals\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43minitvals\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 733\u001b[0m \u001b[43m \u001b[49m\u001b[43mmodel\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmodel\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 734\u001b[0m \u001b[43m \u001b[49m\u001b[43mvar_names\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mvar_names\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 735\u001b[0m \u001b[43m \u001b[49m\u001b[43mprogressbar\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mprogressbar\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 736\u001b[0m \u001b[43m \u001b[49m\u001b[43midata_kwargs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43midata_kwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 737\u001b[0m \u001b[43m \u001b[49m\u001b[43mcompute_convergence_checks\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcompute_convergence_checks\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 738\u001b[0m \u001b[43m \u001b[49m\u001b[43mnuts_sampler_kwargs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mnuts_sampler_kwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 739\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 740\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 742\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(step, \u001b[38;5;28mlist\u001b[39m):\n\u001b[1;32m 743\u001b[0m step \u001b[38;5;241m=\u001b[39m CompoundStep(step)\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/pymc/sampling/mcmc.py:307\u001b[0m, in \u001b[0;36m_sample_external_nuts\u001b[0;34m(sampler, draws, tune, chains, target_accept, random_seed, initvals, model, var_names, progressbar, idata_kwargs, compute_convergence_checks, nuts_sampler_kwargs, **kwargs)\u001b[0m\n\u001b[1;32m 302\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m var_names \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 303\u001b[0m warnings\u001b[38;5;241m.\u001b[39mwarn(\n\u001b[1;32m 304\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m`var_names` are currently ignored by the nutpie sampler\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 305\u001b[0m \u001b[38;5;167;01mUserWarning\u001b[39;00m,\n\u001b[1;32m 306\u001b[0m )\n\u001b[0;32m--> 307\u001b[0m compiled_model \u001b[38;5;241m=\u001b[39m \u001b[43mnutpie\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcompile_pymc_model\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmodel\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 308\u001b[0m t_start \u001b[38;5;241m=\u001b[39m time\u001b[38;5;241m.\u001b[39mtime()\n\u001b[1;32m 309\u001b[0m idata \u001b[38;5;241m=\u001b[39m nutpie\u001b[38;5;241m.\u001b[39msample(\n\u001b[1;32m 310\u001b[0m compiled_model,\n\u001b[1;32m 311\u001b[0m draws\u001b[38;5;241m=\u001b[39mdraws,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 317\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mnuts_sampler_kwargs,\n\u001b[1;32m 318\u001b[0m )\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py:391\u001b[0m, in \u001b[0;36mcompile_pymc_model\u001b[0;34m(model, backend, gradient_backend, **kwargs)\u001b[0m\n\u001b[1;32m 388\u001b[0m backend \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mnumba\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 390\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m backend\u001b[38;5;241m.\u001b[39mlower() \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mnumba\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[0;32m--> 391\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_compile_pymc_model_numba\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmodel\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 392\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m backend\u001b[38;5;241m.\u001b[39mlower() \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mjax\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[1;32m 393\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m _compile_pymc_model_jax(\n\u001b[1;32m 394\u001b[0m model, gradient_backend\u001b[38;5;241m=\u001b[39mgradient_backend, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs\n\u001b[1;32m 395\u001b[0m )\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py:207\u001b[0m, in \u001b[0;36m_compile_pymc_model_numba\u001b[0;34m(model, **kwargs)\u001b[0m\n\u001b[1;32m 200\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m warnings\u001b[38;5;241m.\u001b[39mcatch_warnings():\n\u001b[1;32m 201\u001b[0m warnings\u001b[38;5;241m.\u001b[39mfilterwarnings(\n\u001b[1;32m 202\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mignore\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 203\u001b[0m message\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCannot cache compiled function .* as it uses dynamic globals\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 204\u001b[0m category\u001b[38;5;241m=\u001b[39mnumba\u001b[38;5;241m.\u001b[39mNumbaWarning,\n\u001b[1;32m 205\u001b[0m )\n\u001b[0;32m--> 207\u001b[0m logp_numba \u001b[38;5;241m=\u001b[39m \u001b[43mnumba\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[43mc_sig\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\u001b[43m(\u001b[49m\u001b[43mlogp_numba_raw\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 209\u001b[0m expand_shared_names \u001b[38;5;241m=\u001b[39m [var\u001b[38;5;241m.\u001b[39mname \u001b[38;5;28;01mfor\u001b[39;00m var \u001b[38;5;129;01min\u001b[39;00m expand_fn_pt\u001b[38;5;241m.\u001b[39mget_shared()]\n\u001b[1;32m 210\u001b[0m expand_numba_raw, c_sig_expand \u001b[38;5;241m=\u001b[39m _make_c_expand_func(\n\u001b[1;32m 211\u001b[0m n_dim, n_expanded, expand_fn, user_data, expand_shared_names, shared_data\n\u001b[1;32m 212\u001b[0m )\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/decorators.py:275\u001b[0m, in \u001b[0;36mcfunc..wrapper\u001b[0;34m(func)\u001b[0m\n\u001b[1;32m 273\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m cache:\n\u001b[1;32m 274\u001b[0m res\u001b[38;5;241m.\u001b[39menable_caching()\n\u001b[0;32m--> 275\u001b[0m \u001b[43mres\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcompile\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 276\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m res\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/compiler_lock.py:35\u001b[0m, in \u001b[0;36m_CompilerLock.__call__.._acquire_compile_lock\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 32\u001b[0m \u001b[38;5;129m@functools\u001b[39m\u001b[38;5;241m.\u001b[39mwraps(func)\n\u001b[1;32m 33\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_acquire_compile_lock\u001b[39m(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 34\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m:\n\u001b[0;32m---> 35\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/ccallback.py:68\u001b[0m, in \u001b[0;36mCFunc.compile\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 65\u001b[0m cres \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_cache\u001b[38;5;241m.\u001b[39mload_overload(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_sig,\n\u001b[1;32m 66\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_targetdescr\u001b[38;5;241m.\u001b[39mtarget_context)\n\u001b[1;32m 67\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m cres \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m---> 68\u001b[0m cres \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_compile_uncached\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 69\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_cache\u001b[38;5;241m.\u001b[39msave_overload(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_sig, cres)\n\u001b[1;32m 70\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/ccallback.py:82\u001b[0m, in \u001b[0;36mCFunc._compile_uncached\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 79\u001b[0m sig \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_sig\n\u001b[1;32m 81\u001b[0m \u001b[38;5;66;03m# Compile native function as well as cfunc wrapper\u001b[39;00m\n\u001b[0;32m---> 82\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_compiler\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcompile\u001b[49m\u001b[43m(\u001b[49m\u001b[43msig\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msig\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mreturn_type\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/dispatcher.py:84\u001b[0m, in \u001b[0;36m_FunctionCompiler.compile\u001b[0;34m(self, args, return_type)\u001b[0m\n\u001b[1;32m 82\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m retval\n\u001b[1;32m 83\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m---> 84\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m retval\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/dispatcher.py:94\u001b[0m, in \u001b[0;36m_FunctionCompiler._compile_cached\u001b[0;34m(self, args, return_type)\u001b[0m\n\u001b[1;32m 91\u001b[0m \u001b[38;5;28;01mpass\u001b[39;00m\n\u001b[1;32m 93\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m---> 94\u001b[0m retval \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_compile_core\u001b[49m\u001b[43m(\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mreturn_type\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 95\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m errors\u001b[38;5;241m.\u001b[39mTypingError \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m 96\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_failed_cache[key] \u001b[38;5;241m=\u001b[39m e\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/dispatcher.py:107\u001b[0m, in \u001b[0;36m_FunctionCompiler._compile_core\u001b[0;34m(self, args, return_type)\u001b[0m\n\u001b[1;32m 104\u001b[0m flags \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_customize_flags(flags)\n\u001b[1;32m 106\u001b[0m impl \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_implementation(args, {})\n\u001b[0;32m--> 107\u001b[0m cres \u001b[38;5;241m=\u001b[39m \u001b[43mcompiler\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcompile_extra\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtargetdescr\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtyping_context\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 108\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtargetdescr\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtarget_context\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 109\u001b[0m \u001b[43m \u001b[49m\u001b[43mimpl\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 110\u001b[0m \u001b[43m \u001b[49m\u001b[43margs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mreturn_type\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mreturn_type\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 111\u001b[0m \u001b[43m \u001b[49m\u001b[43mflags\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mflags\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mlocals\u001b[39;49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mlocals\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 112\u001b[0m \u001b[43m \u001b[49m\u001b[43mpipeline_class\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpipeline_class\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 113\u001b[0m \u001b[38;5;66;03m# Check typing error if object mode is used\u001b[39;00m\n\u001b[1;32m 114\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m cres\u001b[38;5;241m.\u001b[39mtyping_error \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m flags\u001b[38;5;241m.\u001b[39menable_pyobject:\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/compiler.py:744\u001b[0m, in \u001b[0;36mcompile_extra\u001b[0;34m(typingctx, targetctx, func, args, return_type, flags, locals, library, pipeline_class)\u001b[0m\n\u001b[1;32m 720\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Compiler entry point\u001b[39;00m\n\u001b[1;32m 721\u001b[0m \n\u001b[1;32m 722\u001b[0m \u001b[38;5;124;03mParameter\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 740\u001b[0m \u001b[38;5;124;03m compiler pipeline\u001b[39;00m\n\u001b[1;32m 741\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 742\u001b[0m pipeline \u001b[38;5;241m=\u001b[39m pipeline_class(typingctx, targetctx, library,\n\u001b[1;32m 743\u001b[0m args, return_type, flags, \u001b[38;5;28mlocals\u001b[39m)\n\u001b[0;32m--> 744\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mpipeline\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcompile_extra\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfunc\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/compiler.py:438\u001b[0m, in \u001b[0;36mCompilerBase.compile_extra\u001b[0;34m(self, func)\u001b[0m\n\u001b[1;32m 436\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstate\u001b[38;5;241m.\u001b[39mlifted \u001b[38;5;241m=\u001b[39m ()\n\u001b[1;32m 437\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstate\u001b[38;5;241m.\u001b[39mlifted_from \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m--> 438\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_compile_bytecode\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/compiler.py:506\u001b[0m, in \u001b[0;36mCompilerBase._compile_bytecode\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 502\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 503\u001b[0m \u001b[38;5;124;03mPopulate and run pipeline for bytecode input\u001b[39;00m\n\u001b[1;32m 504\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 505\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstate\u001b[38;5;241m.\u001b[39mfunc_ir \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m--> 506\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_compile_core\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/compiler.py:485\u001b[0m, in \u001b[0;36mCompilerBase._compile_core\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 483\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstate\u001b[38;5;241m.\u001b[39mstatus\u001b[38;5;241m.\u001b[39mfail_reason \u001b[38;5;241m=\u001b[39m e\n\u001b[1;32m 484\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m is_final_pipeline:\n\u001b[0;32m--> 485\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m e\n\u001b[1;32m 486\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 487\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m CompilerError(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mAll available pipelines exhausted\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/compiler.py:472\u001b[0m, in \u001b[0;36mCompilerBase._compile_core\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 470\u001b[0m res \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 471\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 472\u001b[0m \u001b[43mpm\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mstate\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 473\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstate\u001b[38;5;241m.\u001b[39mcr \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 474\u001b[0m \u001b[38;5;28;01mbreak\u001b[39;00m\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/compiler_machinery.py:368\u001b[0m, in \u001b[0;36mPassManager.run\u001b[0;34m(self, state)\u001b[0m\n\u001b[1;32m 365\u001b[0m msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mFailed in \u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m mode pipeline (step: \u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m)\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;241m%\u001b[39m \\\n\u001b[1;32m 366\u001b[0m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpipeline_name, pass_desc)\n\u001b[1;32m 367\u001b[0m patched_exception \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_patch_error(msg, e)\n\u001b[0;32m--> 368\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m patched_exception\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/compiler_machinery.py:356\u001b[0m, in \u001b[0;36mPassManager.run\u001b[0;34m(self, state)\u001b[0m\n\u001b[1;32m 354\u001b[0m pass_inst \u001b[38;5;241m=\u001b[39m _pass_registry\u001b[38;5;241m.\u001b[39mget(pss)\u001b[38;5;241m.\u001b[39mpass_inst\n\u001b[1;32m 355\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(pass_inst, CompilerPass):\n\u001b[0;32m--> 356\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_runPass\u001b[49m\u001b[43m(\u001b[49m\u001b[43midx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpass_inst\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstate\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 357\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 358\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mBaseException\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mLegacy pass in use\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/compiler_lock.py:35\u001b[0m, in \u001b[0;36m_CompilerLock.__call__.._acquire_compile_lock\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 32\u001b[0m \u001b[38;5;129m@functools\u001b[39m\u001b[38;5;241m.\u001b[39mwraps(func)\n\u001b[1;32m 33\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_acquire_compile_lock\u001b[39m(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 34\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m:\n\u001b[0;32m---> 35\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/compiler_machinery.py:311\u001b[0m, in \u001b[0;36mPassManager._runPass\u001b[0;34m(self, index, pss, internal_state)\u001b[0m\n\u001b[1;32m 309\u001b[0m mutated \u001b[38;5;241m|\u001b[39m\u001b[38;5;241m=\u001b[39m check(pss\u001b[38;5;241m.\u001b[39mrun_initialization, internal_state)\n\u001b[1;32m 310\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m SimpleTimer() \u001b[38;5;28;01mas\u001b[39;00m pass_time:\n\u001b[0;32m--> 311\u001b[0m mutated \u001b[38;5;241m|\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[43mcheck\u001b[49m\u001b[43m(\u001b[49m\u001b[43mpss\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun_pass\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43minternal_state\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 312\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m SimpleTimer() \u001b[38;5;28;01mas\u001b[39;00m finalize_time:\n\u001b[1;32m 313\u001b[0m mutated \u001b[38;5;241m|\u001b[39m\u001b[38;5;241m=\u001b[39m check(pss\u001b[38;5;241m.\u001b[39mrun_finalizer, internal_state)\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/compiler_machinery.py:273\u001b[0m, in \u001b[0;36mPassManager._runPass..check\u001b[0;34m(func, compiler_state)\u001b[0m\n\u001b[1;32m 272\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mcheck\u001b[39m(func, compiler_state):\n\u001b[0;32m--> 273\u001b[0m mangled \u001b[38;5;241m=\u001b[39m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcompiler_state\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 274\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m mangled \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m (\u001b[38;5;28;01mTrue\u001b[39;00m, \u001b[38;5;28;01mFalse\u001b[39;00m):\n\u001b[1;32m 275\u001b[0m msg \u001b[38;5;241m=\u001b[39m (\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCompilerPass implementations should return True/False. \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 276\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCompilerPass with name \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m did not.\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/typed_passes.py:112\u001b[0m, in \u001b[0;36mBaseTypeInference.run_pass\u001b[0;34m(self, state)\u001b[0m\n\u001b[1;32m 106\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 107\u001b[0m \u001b[38;5;124;03mType inference and legalization\u001b[39;00m\n\u001b[1;32m 108\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 109\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m fallback_context(state, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mFunction \u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m failed type inference\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[1;32m 110\u001b[0m \u001b[38;5;241m%\u001b[39m (state\u001b[38;5;241m.\u001b[39mfunc_id\u001b[38;5;241m.\u001b[39mfunc_name,)):\n\u001b[1;32m 111\u001b[0m \u001b[38;5;66;03m# Type inference\u001b[39;00m\n\u001b[0;32m--> 112\u001b[0m typemap, return_type, calltypes, errs \u001b[38;5;241m=\u001b[39m \u001b[43mtype_inference_stage\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 113\u001b[0m \u001b[43m \u001b[49m\u001b[43mstate\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtypingctx\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 114\u001b[0m \u001b[43m \u001b[49m\u001b[43mstate\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtargetctx\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 115\u001b[0m \u001b[43m \u001b[49m\u001b[43mstate\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfunc_ir\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 116\u001b[0m \u001b[43m \u001b[49m\u001b[43mstate\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 117\u001b[0m \u001b[43m \u001b[49m\u001b[43mstate\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mreturn_type\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 118\u001b[0m \u001b[43m \u001b[49m\u001b[43mstate\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mlocals\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 119\u001b[0m \u001b[43m \u001b[49m\u001b[43mraise_errors\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_raise_errors\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 120\u001b[0m state\u001b[38;5;241m.\u001b[39mtypemap \u001b[38;5;241m=\u001b[39m typemap\n\u001b[1;32m 121\u001b[0m \u001b[38;5;66;03m# save errors in case of partial typing\u001b[39;00m\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/typed_passes.py:93\u001b[0m, in \u001b[0;36mtype_inference_stage\u001b[0;34m(typingctx, targetctx, interp, args, return_type, locals, raise_errors)\u001b[0m\n\u001b[1;32m 91\u001b[0m infer\u001b[38;5;241m.\u001b[39mbuild_constraint()\n\u001b[1;32m 92\u001b[0m \u001b[38;5;66;03m# return errors in case of partial typing\u001b[39;00m\n\u001b[0;32m---> 93\u001b[0m errs \u001b[38;5;241m=\u001b[39m \u001b[43minfer\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpropagate\u001b[49m\u001b[43m(\u001b[49m\u001b[43mraise_errors\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mraise_errors\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 94\u001b[0m typemap, restype, calltypes \u001b[38;5;241m=\u001b[39m infer\u001b[38;5;241m.\u001b[39munify(raise_errors\u001b[38;5;241m=\u001b[39mraise_errors)\n\u001b[1;32m 96\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m _TypingResults(typemap, restype, calltypes, errs)\n", - "File \u001b[0;32m~/anaconda3/envs/dev_215/lib/python3.11/site-packages/numba-0.60.0-py3.11-linux-x86_64.egg/numba/core/typeinfer.py:1091\u001b[0m, in \u001b[0;36mTypeInferer.propagate\u001b[0;34m(self, raise_errors)\u001b[0m\n\u001b[1;32m 1088\u001b[0m force_lit_args \u001b[38;5;241m=\u001b[39m [e \u001b[38;5;28;01mfor\u001b[39;00m e \u001b[38;5;129;01min\u001b[39;00m errors\n\u001b[1;32m 1089\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(e, ForceLiteralArg)]\n\u001b[1;32m 1090\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m force_lit_args:\n\u001b[0;32m-> 1091\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m errors[\u001b[38;5;241m0\u001b[39m]\n\u001b[1;32m 1092\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 1093\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m reduce(operator\u001b[38;5;241m.\u001b[39mor_, force_lit_args)\n", - "\u001b[0;31mTypingError\u001b[0m: Failed in nopython mode pipeline (step: nopython frontend)\nFailed in nopython mode pipeline (step: nopython frontend)\nInvalid use of type(CPUDispatcher()) with parameters (readonly array(float64, 2d, C))\nKnown signatures:\n * (Array(float64, 2, 'A', False, aligned=True),) -> array(float64, 1d, A)\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /tmp/tmp01rwehf6 (7)\n\n\nFile \"../../../../../tmp/tmp01rwehf6\", line 7:\ndef numba_funcified_fgraph(_unconstrained_point, y, batch_effect_0_data, X):\n \n # Sum{axis=1}(X)\n tensor_variable_2 = careduce_axis(X)\n ^\n\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /home/guus/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py (637)\n\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /home/guus/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py (637)\n\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /home/guus/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py (637)\n\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /home/guus/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py (637)\n\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /home/guus/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py (637)\n\nDuring: resolving callee type: type(CPUDispatcher())\nDuring: typing of call at /home/guus/anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py (637)\n\n\nFile \"../../../anaconda3/envs/dev_215/lib/python3.11/site-packages/nutpie-0.13.2-py3.11-linux-x86_64.egg/nutpie/compile_pymc.py\", line 637:\n def extract_shared(x, user_data_):\n \n\n return inner(x, *_shared_tuple)\n ^\n" + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "5367d8f840af4551bd83b9c02e9b05d6", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "yhat, ys2 = nm.predict(X_test, tsbefile=working_dir+'tsbefile.pkl')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 48,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "Sampling: [y_like]\n"
+     ]
+    },
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "ecd32eb3521a473cba91608f3f0d2398",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "Output()"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "Sampling: [y_like]\n"
+     ]
+    },
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "2d85af8e3b1a4c46b6be990b16991288",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "Output()"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "Sampling: [y_like]\n"
+     ]
+    },
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "611ab6569ff040328353ffbd973f7e0e",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "Output()"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "Sampling: [y_like]\n"
+     ]
+    },
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "60eee6c3c6ff4f6ea2a272f59cbc4eca",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "Output()"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "Sampling: [y_like]\n"
+     ]
+    },
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "43eac13b81734f20bf91b8c9a700066b",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "Output()"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "Sampling: [y_like]\n"
+     ]
+    },
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "d0fbb98d97764f1bbde9823805438275",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "Output()"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "Sampling: [y_like]\n"
+     ]
+    },
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "58059d001e0e4555b975382dcbb7a98c",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "Output()"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "Sampling: [y_like]\n"
+     ]
+    },
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "1fa65f3f89f942658491d560d2569198",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "Output()"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAboAAAEiCAYAAACPwherAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACBxElEQVR4nOzdd3wc1bn4/8/MbF/1bluyJMtV7h2wDaabbopNQi+hJKEkJNwACZfwvTchjfxSySWFQAIEkwSSEMChmG7jgpvkKqv3Lq20fWfO74+VZAlJtmR16bz90svaaefMSppn58w551GEEAJJkiRJGqfUka6AJEmSJA0lGegkSZKkcU0GOkmSJGlck4FOkiRJGtdkoJMkSZLGNRnoJEmSpHFNBjpJkiRpXJOBTpIkSRrXZKCTJEmSxjUZ6KRx5Tvf+Q5r167t8/bf/e53Wb169SmvH6hbbrmFG264oeN1RkYGv//974esPEmaiGSgk4bV2rVrURSFZ555pstyt9tNZGQkiqJQVFQ0MpUbBXbu3Mn1118/rGUqitLt66GHHhqUY6empvLss88OyrFOxdGjR1m7di12u53MzMxuv3fSxGAa6QpIE09qaip//vOfue222zqWvfLKK8TExNDa2jqCNRt5iYmJI1Luyy+/zJo1azpeR0REjEg9emIYBoZhYDL173IVDAa55JJLWLRoETt37mT79u3cddddpKenc+655w5RbaXRSN7RScPuqquuYufOnZSUlHQs+9Of/tSlCa/z8unTp2O1Wpk/fz5vvvlml/V//etfSU9Px+l0ctNNN+Hz+bqs13WdRx99lNTUVCIjI1m7di379+/vd51//OMfk5SURGxsLI888gjtc6ELIXj44YeZMmUKNpuNadOm8fTTTwNQVFSEoii8/PLLLFq0CJvNxjnnnENpaWmv5XRuumzf/x//+AcrVqzA6XSydu3aLu8bwC9+8QumTZuGw+Fg+fLlvP/++/0+v9jYWFJSUjq+2gPd7t27O+6IMjIyeOyxxwiFQh37fe1rX+soe+7cuWzatKlj3dq1aykvL+fWW29FUZSOJuW1a9fyne9856Tn/de//pXly5djs9nIycnp98/yzTffpLS0lGeeeYZ58+Zx++2388UvfpFf/vKX/X5/pLFNBjpp2EVGRnL55Zfz/PPPA1BeXs62bdvYsGFDl+22bt3K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",
+      "text/plain": [
+       "
" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ - "\n", - "################################# Fittig and Predicting ###############################\n", - "\n", - "nm = norm_init(X_train, Y_train, alg='hbr', model_type=model_type, likelihood='SHASHo',\n", - " linear_sigma='True', random_intercept_mu='True', random_slope_mu='True', linear_epsilon='False', linear_delta='False', nuts_sampler='nutpie')\n", - "\n", - "nm.estimate(X_train, Y_train, trbefile=working_dir+'trbefile.pkl')\n", - "yhat, ys2 = nm.predict(X_test, tsbefile=working_dir+'tsbefile.pkl')\n", - "\n", - "\n", - "################################# Plotting Quantiles ###############################\n", - "\n", "\n", "for i in range(n_features):\n", " sorted_idx = X_test[:, i].argsort(axis=0).squeeze()\n", @@ -152,10 +591,16 @@ "\n", " plt.title('Model %s, Feature %d' % (model_type, i))\n", " plt.legend()\n", - " plt.show()\n", - "\n" + " plt.show()" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "code", "execution_count": null, From cc6c21c80c21580b703feb96a03c6fdf6f429f40 Mon Sep 17 00:00:00 2001 From: AuguB Date: Thu, 3 Oct 2024 10:50:51 +0200 Subject: [PATCH 11/68] Update test HBR notebook --- tests/test_HBR.ipynb | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/tests/test_HBR.ipynb b/tests/test_HBR.ipynb index 70dd46ee..12e03746 100644 --- a/tests/test_HBR.ipynb +++ b/tests/test_HBR.ipynb @@ -208,16 +208,16 @@ " Finished Chains:\n", " 0\n", "

\n", - "

Sampling for a minute

\n", + "

Sampling for 2 minutes

\n", "

\n", " Estimated Time to Completion:\n", - " 35 minutes\n", + " an hour\n", "

\n", "\n", " \n", + " value=\"58\">\n", " \n", " \n", " \n", @@ -235,13 +235,13 @@ " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -255,6 +255,16 @@ }, "metadata": {}, "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ From d4e0631737f0f1938fd362b5181a0196b7ecdc52 Mon Sep 17 00:00:00 2001 From: AuguB Date: Thu, 3 Oct 2024 15:19:37 +0200 Subject: [PATCH 12/68] Small bug fix in gradient calculation for SHASH model --- pcntoolkit/model/SHASH.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pcntoolkit/model/SHASH.py b/pcntoolkit/model/SHASH.py index 4be5c947..a3a48a84 100644 --- a/pcntoolkit/model/SHASH.py +++ b/pcntoolkit/model/SHASH.py @@ -81,7 +81,7 @@ def grad(self, inputs, output_grads): dp = 1e-16 p = inputs[0] x = inputs[1] - grad = (self(p + dp, x) - self(p - dp, x)) / dp + grad = (self(p + dp, x) - self(p - dp, x)) / (2*dp) return [ output_grads[0] * grad, grad_not_implemented( From 924681f3a584d64d343fca2ad6aadc1fb2c835bc Mon Sep 17 00:00:00 2001 From: Stijn Date: Mon, 7 Oct 2024 15:04:22 +0200 Subject: [PATCH 13/68] Refactoring of SHASH Prior tuning --- pcntoolkit/model/SHASH.py | 139 ++++++++++++++++++-------------------- pcntoolkit/model/hbr.py | 49 +++++++------- 2 files changed, 91 insertions(+), 97 deletions(-) diff --git a/pcntoolkit/model/SHASH.py b/pcntoolkit/model/SHASH.py index a3a48a84..d9139d67 100644 --- a/pcntoolkit/model/SHASH.py +++ b/pcntoolkit/model/SHASH.py @@ -1,4 +1,12 @@ +""" +@author: Stijn de Boer (AuguB) +See: Jones et al. (2009), Sinh-Arcsinh distributions. +""" + +# Standard library imports from typing import Union, List, Optional + +# Third-party imports import pymc as pm from pymc import floatX from pymc.distributions import Continuous @@ -11,61 +19,17 @@ from pytensor.tensor.random.basic import normal from pytensor.tensor.random.op import RandomVariable - import numpy as np import scipy.special as spp import matplotlib.pyplot as plt +CONST1 = np.exp(0.25) / np.power(8.0 * np.pi, 0.5) +CONST2 = -np.log(2 * np.pi) / 2 -""" -@author: Stijn de Boer (AuguB) -See: Jones et al. (2009), Sinh-Arcsinh distributions. -""" - - -def K(q, x): - """ - The K function as given in Jones et al. - :param q: - :param x: - :return: - """ - return spp.kv(q, x) - - -def unique_K(q, x): - """ - This is the K function, but it only calculates the unique values of q. - :param q: - :param x: - :return: +class KOp(Op): """ - unique_q, inverse_indices = np.unique(q, return_inverse=True) - unique_outputs = spp.kv(unique_q, x) - outputs = unique_outputs[inverse_indices].reshape(q.shape) - return outputs - - -CONST = np.exp(0.25) / np.power(8.0 * np.pi, 0.5) - - -def P(q): + Modified Bessel function of the second kind, pytensor wrapper for scipy.special.kv """ - The P function as given in Jones et al. - :param q: - :return: - """ - K1 = K()((q + 1) / 2, 0.25) - K2 = K()((q - 1) / 2, 0.25) - a = (K1 + K2) * CONST - return a - - -class K(Op): - """ - Modified Bessel function of the second kind, pytensor implementation - """ - __props__ = () def make_node(self, p, x): @@ -74,7 +38,7 @@ def make_node(self, p, x): return Apply(self, [p, x], [p.type()]) def perform(self, node, inputs_storage, output_storage): - output_storage[0][0] = unique_K(inputs_storage[0], inputs_storage[1]) + output_storage[0][0] = spp.kv(inputs_storage[0], inputs_storage[1]) def grad(self, inputs, output_grads): # Approximation of the derivative. This should suffice for using NUTS @@ -84,10 +48,9 @@ def grad(self, inputs, output_grads): grad = (self(p + dp, x) - self(p - dp, x)) / (2*dp) return [ output_grads[0] * grad, - grad_not_implemented( - "K", 1, "x", "Gradient not implemented for x"), - ] + grad_not_implemented("KOp", 2, "x", "") + ] def S(x, epsilon, delta): """ @@ -137,17 +100,47 @@ def m(epsilon, delta, r): - 4 * np.cosh(2 * epsilon / delta) * P(2 / delta) + 3 ) / 8 - # else: - # frac1 = ptt.as_tensor_variable(1 / pm.power(2, r)) - # acc = ptt.as_tensor_variable(0) - # for i in range(r + 1): - # combs = spp.comb(r, i) - # flip = pm.power(-1, i) - # ex = np.exp((r - 2 * i) * epsilon / delta) - # p = P((r - 2 * i) / delta) - # acc += combs * flip * ex * p - # return frac1 * acc +def m1(epsilon, delta): + return np.sinh(epsilon / delta) * P(1 / delta) + +def m2(epsilon, delta): + return (np.cosh(2 * epsilon / delta) * P(2 / delta) - 1) / 2 + +def m3(epsilon, delta): + return ( + np.sinh(3 * epsilon / delta) * P(3 / delta) + - 3 * np.sinh(epsilon / delta) * P(1 / delta) + ) / 4 + +def numpy_P(q): + """ + The P function as given in Jones et al. + :param q: + :return: + """ + frac = CONST1 + K1 = spp.kv((q + 1) / 2, 0.25) + K2 = spp.kv((q - 1) / 2, 0.25) + a = (K1 + K2) * frac + return a + +# Instance of the KOp +my_K = KOp() + +def P(q): + """ + The P function as given in Jones et al. + :param q: + :return: + """ + K1 = my_K((q + 1) / 2, 0.25) + K2 = my_K((q - 1) / 2, 0.25) + a = (K1 + K2) * CONST1 + return a + + +##### SHASH Distributions ##### class SHASH(RandomVariable): name = "shash" @@ -181,13 +174,12 @@ def logp(value, epsilon, delta): this_S = S(value, epsilon, delta) this_S_sqr = ptt.sqr(this_S) this_C_sqr = 1 + this_S_sqr - frac1 = -ptt.log(ptt.constant(2 * np.pi)) / 2 frac2 = ( ptt.log(delta) + ptt.log(this_C_sqr) / 2 - ptt.log(1 + ptt.sqr(value)) / 2 ) exp = -this_S_sqr / 2 - return frac1 + frac2 + exp + return CONST2 + frac2 + exp class SHASHoRV(RandomVariable): @@ -224,14 +216,13 @@ def logp(value, mu, sigma, epsilon, delta): this_S = S(remapped_value, epsilon, delta) this_S_sqr = ptt.sqr(this_S) this_C_sqr = 1 + this_S_sqr - frac1 = -ptt.log(ptt.constant(2 * np.pi)) / 2 frac2 = ( ptt.log(delta) + ptt.log(this_C_sqr) / 2 - ptt.log(1 + ptt.sqr(remapped_value)) / 2 ) exp = -this_S_sqr / 2 - return frac1 + frac2 + exp - ptt.log(sigma) + return CONST2 + frac2 + exp - ptt.log(sigma) class SHASHo2RV(RandomVariable): @@ -270,14 +261,15 @@ def logp(value, mu, sigma, epsilon, delta): this_S = S(remapped_value, epsilon, delta) this_S_sqr = ptt.sqr(this_S) this_C_sqr = 1 + this_S_sqr - frac1 = -ptt.log(ptt.constant(2 * np.pi)) / 2 frac2 = ( ptt.log(delta) + ptt.log(this_C_sqr) / 2 - ptt.log(1 + ptt.sqr(remapped_value)) / 2 ) exp = -this_S_sqr / 2 - return frac1 + frac2 + exp - ptt.log(sigma_d) + return CONST2 + frac2 + exp - ptt.log(sigma_d) + + class SHASHbRV(RandomVariable): @@ -297,8 +289,8 @@ def rng_fn( size: Optional[Union[List[int], int]], ) -> np.ndarray: s = rng.normal(size=size) - mean = np.sinh(epsilon / delta) * P(1 / delta) - var = ((np.cosh(2 * epsilon / delta) * P(2 / delta) - 1) / 2) - mean**2 + mean = np.sinh(epsilon / delta) * numpy_P(1 / delta) + var = ((np.cosh(2 * epsilon / delta) * numpy_P(2 / delta) - 1) / 2) - mean**2 out = ( (np.sinh((np.arcsinh(s) + epsilon) / delta) - mean) / np.sqrt(var) ) * sigma + mu @@ -323,17 +315,16 @@ def dist(cls, mu, sigma, epsilon, delta, **kwargs): return super().dist([mu, sigma, epsilon, delta], **kwargs) def logp(value, mu, sigma, epsilon, delta): - mean = m(epsilon, delta, 1) - var = m(epsilon, delta, 2) - mean**2 + mean = m1(epsilon, delta) + var = m2(epsilon, delta) - mean**2 remapped_value = ((value - mu) / sigma) * np.sqrt(var) + mean this_S = S(remapped_value, epsilon, delta) this_S_sqr = np.square(this_S) this_C_sqr = 1 + this_S_sqr - frac1 = -np.log(2 * np.pi) / 2 frac2 = ( np.log(delta) + np.log(this_C_sqr) / 2 - np.log(1 + np.square(remapped_value)) / 2 ) exp = -this_S_sqr / 2 - return frac1 + frac2 + exp + np.log(var) / 2 - np.log(sigma) + return CONST2 + frac2 + exp + np.log(var) / 2 - np.log(sigma) diff --git a/pcntoolkit/model/hbr.py b/pcntoolkit/model/hbr.py index 2237a203..8fff24e9 100644 --- a/pcntoolkit/model/hbr.py +++ b/pcntoolkit/model/hbr.py @@ -247,22 +247,24 @@ def get_sample_dims(var): "mu_samples", pb.make_param( "mu", - mu_slope_mu_params=(0.0, 3.0), - sigma_slope_mu_params=(3.0,), - mu_intercept_mu_params=(0.0, 3.0), - sigma_intercept_mu_params=(3.0,), + mu_slope_mu_params=(0.0, 10.0), + sigma_slope_mu_params=(10.0,), + mu_intercept_mu_params=(0.0, 10.0), + sigma_intercept_mu_params=(10.0,), ).get_samples(pb), dims=get_sample_dims('mu'), ) sigma = pm.Deterministic( "sigma_samples", pb.make_param( - "sigma", mu_sigma_params=(0.0, 2.0), sigma_sigma_params=(2.0,) + "sigma", sigma_params = (0, 2), + mu_sigma_params=(0.0, 2.0), + sigma_sigma_params=(2.0,) ).get_samples(pb), dims=get_sample_dims('sigma'), ) sigma_plus = pm.Deterministic( - "sigma_plus_samples", pm.math.log(1 + pm.math.exp(sigma/3))*3, dims=get_sample_dims('sigma') + "sigma_plus_samples", np.exp(sigma), dims=get_sample_dims('sigma') ) y_like = pm.Normal( "y_like", mu, sigma=sigma_plus, observed=y, dims="datapoints" @@ -285,11 +287,11 @@ def get_sample_dims(var): "mu_samples", pb.make_param( "mu", - slope_mu_params=(0.0, 2.0), - mu_slope_mu_params=(0.0, 2.0), - sigma_slope_mu_params=(2.0,), - mu_intercept_mu_params=(0.0, 2.0), - sigma_intercept_mu_params=(2.0,), + slope_mu_params=(0.0, 10.0), + mu_slope_mu_params=(0.0, 10.0), + sigma_slope_mu_params=(10.0,), + mu_intercept_mu_params=(0.0, 10.0), + sigma_intercept_mu_params=(10.0,), ).get_samples(pb), dims=get_sample_dims('mu'), ) @@ -297,23 +299,23 @@ def get_sample_dims(var): "sigma_samples", pb.make_param( "sigma", - sigma_params=(1.0, 1.0), + sigma_params=(0., 2.0), sigma_dist="normal", - slope_sigma_params=(0.0, 1.0), - intercept_sigma_params=(1.0, 1.0), + slope_sigma_params=(0.0, 2.0), + intercept_sigma_params=(0.0, 2.0), ).get_samples(pb), dims=get_sample_dims('sigma'), ) sigma_plus = pm.Deterministic( - "sigma_plus_samples", np.log(1 + np.exp(sigma)), dims=get_sample_dims('sigma') + "sigma_plus_samples", np.exp(sigma), dims=get_sample_dims('sigma') ) epsilon = pm.Deterministic( "epsilon_samples", pb.make_param( "epsilon", - epsilon_params=(0.0, 1.0), - slope_epsilon_params=(0.0, 0.2), - intercept_epsilon_params=(0.0, 0.2), + epsilon_params=(0.0, 10.0), + slope_epsilon_params=(0.0, 10.0), + intercept_epsilon_params=(0.0, 10.0), ).get_samples(pb), dims=get_sample_dims('epsilon'), ) @@ -321,16 +323,16 @@ def get_sample_dims(var): "delta_samples", pb.make_param( "delta", - delta_params=(1.0, 1.0), + delta_params=(0., 2.0), delta_dist="normal", - slope_delta_params=(0.0, 0.2), - intercept_delta_params=(1.0, 0.3), + slope_delta_params=(0.0, 2.0), + intercept_delta_params=(0.0, 2.0), ).get_samples(pb), dims=get_sample_dims('delta'), ) delta_plus = pm.Deterministic( "delta_plus_samples", - np.log(1 + np.exp(delta * 10)) / 10 + 0.3, + np.exp(delta) + 0.3, dims=get_sample_dims('delta'), ) y_like = SHASH_map[configs["likelihood"]]( @@ -558,7 +560,7 @@ def estimate_on_new_site(self, X, y, batch_effects): chains=self.configs["n_chains"], target_accept=self.configs["target_accept"], init=self.configs["init"], - n_init=50000, + n_init=500000, cores=self.configs["cores"], nuts_sampler=self.configs["nuts_sampler"], ) @@ -751,6 +753,7 @@ def __init__(self, name, dist, params, pb, has_random_effect=False) -> None: "hcauchy": pm.HalfCauchy, "hstudt": pm.HalfStudentT, "studt": pm.StudentT, + "lognormal": pm.Lognormal, } self.make_dist(dist, params, pb) From 500f7cdd22151929b941c2cabb109d4983fc089c Mon Sep 17 00:00:00 2001 From: Stijn Date: Tue, 8 Oct 2024 10:58:33 +0200 Subject: [PATCH 14/68] Modify test script --- tests/testHBR.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/testHBR.py b/tests/testHBR.py index 30168317..2dab4972 100644 --- a/tests/testHBR.py +++ b/tests/testHBR.py @@ -32,7 +32,7 @@ n_samples = 500 # Number of samples in each group (use a list for different # sample numbers across different batches) -model_type = 'linear' # modelto try 'linear, ''polynomial', 'bspline' +model_type = 'bspline' # modelto try 'linear, ''polynomial', 'bspline' ############################## Data Simulation ################################ @@ -45,8 +45,8 @@ ################################# Fittig and Predicting ############################### -nm = norm_init(X_train, Y_train, alg='hbr', model_type=model_type, likelihood='SHASHo', - linear_sigma='True', random_intercept_mu='True', random_slope_mu='False', linear_epsilon='False', linear_delta='False', nuts_sampler='nutpie') +nm = norm_init(X_train, Y_train, alg='hbr', model_type=model_type, likelihood='Normal', + linear_sigma='True', random_intercept_mu='True', random_slope_mu='False', linear_epsilon='False', linear_delta='False', nuts_sampler='pymc') nm.estimate(X_train, Y_train, trbefile=working_dir+'trbefile.pkl') yhat, ys2 = nm.predict(X_test, tsbefile=working_dir+'tsbefile.pkl') From 24d84debe9cbd9a9194c6d9d9f6d0e98a8277ade Mon Sep 17 00:00:00 2001 From: Stijn Date: Tue, 8 Oct 2024 11:09:57 +0200 Subject: [PATCH 15/68] Modify test script --- tests/testHBR.py | 2 +- tests/test_HBR.ipynb | 2455 ++++++++++++++++++++++++++++++++++++++---- 2 files changed, 2250 insertions(+), 207 deletions(-) diff --git a/tests/testHBR.py b/tests/testHBR.py index 2dab4972..edfad541 100644 --- a/tests/testHBR.py +++ b/tests/testHBR.py @@ -24,7 +24,7 @@ random_state = 29 -working_dir = '/home/guus/tmp/' # Specify a working directory to save data and results. +working_dir = '/Users/stijndeboer/temp/' # Specify a working directory to save data and results. simulation_method = 'linear' n_features = 1 # The number of input features of X diff --git a/tests/test_HBR.ipynb b/tests/test_HBR.ipynb index 12e03746..45ec901a 100644 --- a/tests/test_HBR.ipynb +++ b/tests/test_HBR.ipynb @@ -2,11 +2,16 @@ "cells": [ { "cell_type": "code", - "execution_count": 38, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", + "from IPython.display import clear_output, DisplayHandle\n", + "def update_patch(self, obj):\n", + " clear_output(wait=True)\n", + " self.display(obj)\n", + "DisplayHandle.update = update_patch\n", "import os\n", "import numpy as np\n", "from pcntoolkit.normative_model.norm_utils import norm_init\n", @@ -21,12 +26,12 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 2, "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
" ] @@ -34,38 +39,22 @@ "metadata": {}, "output_type": "display_data" }, - { - "data": { - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, { "name": "stdout", "output_type": "stream", "text": [ - "(16000,)\n", - "[[-0.25317189]\n", - " [-0.25317189]\n", - " [-0.25317189]\n", - " ...\n", - " [-0.14649218]\n", - " [-0.14649218]\n", - " [-0.14649218]]\n" + "(80000,)\n" ] } ], "source": [ "########################### Experiment Settings ###############################\n", "random_state = 29\n", - "working_dir = '/home/guus/tmp/' # Specify a working directory to save data and results.\n", + "working_dir = '/Users/stijndeboer/temp/' # Specify a working directory to save data and results.\n", "simulation_method = 'linear'\n", "n_features = 1 # The number of input features of X\n", - "n_grps = 8 # Number of batches in data\n", - "n_samples = 2000 # Number of samples in each group (use a list for different\n", + "n_grps = 80 # Number of batches in data\n", + "n_samples = 1000 # Number of samples in each group (use a list for different\n", "# sample numbers across different batches)\n", "model_type = 'bspline' # modelto try 'linear, ''polynomial', 'bspline'\n", "############################## Data Simulation ################################\n", @@ -73,129 +62,32 @@ " simulate_data(simulation_method, n_samples, n_features, n_grps,\n", " working_dir=working_dir, plot=True, noise='heteroscedastic_nongaussian',\n", " random_state=random_state)\n", - "plt.tight_layout()\n", - "plt.show()\n", + "# plt.tight_layout()\n", + "# plt.show()\n", "print(Y_train.shape)\n", "\n", - "random_group_offsets = np.random.normal(0, 1, n_grps)\n", - "print(random_group_offsets[grp_id_train])\n", - "Y_train += np.squeeze(np.array(random_group_offsets[grp_id_train]))\n", - "Y_test += np.squeeze(np.array(random_group_offsets[grp_id_test]))\n" + "# random_group_offsets = np.random.normal(0, 1, n_grps)\n", + "# print(random_group_offsets[grp_id_train])s\n", + "# Y_train += np.squeeze(np.array(random_group_offsets[grp_id_train]))\n", + "# Y_test += np.squeeze(np.array(random_group_offsets[grp_id_test]))\n", + "s" ] }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "nm = norm_init(X_train, Y_train, alg='hbr', model_type=model_type, likelihood='SHASHb',\n", - " random_intercept_mu='True', random_slope_mu='False', linear_sigma='True', linear_delta='True',linear_epsilon='True', nuts_sampler='nutpie')" + " random_intercept_mu='True', random_slope_mu='False', linear_sigma='True', linear_delta='False',linear_epsilon='False', nuts_sampler='nutpie')" ] }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 4, "metadata": {}, "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, { "data": { "text/html": [ @@ -203,21 +95,21 @@ "
\n", "

Sampler Progress

\n", "

Total Chains: 1

\n", - "

Active Chains: 1

\n", + "

Active Chains: 0

\n", "

\n", " Finished Chains:\n", - " 0\n", + " 1\n", "

\n", - "

Sampling for 2 minutes

\n", + "

Sampling for an hour

\n", "

\n", " Estimated Time to Completion:\n", - " an hour\n", + " now\n", "

\n", "\n", " \n", + " value=\"1500\">\n", " \n", "
\n", " \n", + " value=\"58\">\n", " \n", " 375800.0180.003
\n", " \n", @@ -235,13 +127,13 @@ " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -250,7 +142,7 @@ "\n" ], "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -259,10 +151,10 @@ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 50, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -274,7 +166,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -286,14 +178,10 @@ }, { "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5367d8f840af4551bd83b9c02e9b05d6", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Output()" - ] + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
      },
      "metadata": {},
      "output_type": "display_data"
@@ -301,9 +189,12 @@
     {
      "data": {
       "text/html": [
-       "
\n"
+       "
\n",
+       "
\n" ], - "text/plain": [] + "text/plain": [ + "\n" + ] }, "metadata": {}, "output_type": "display_data" @@ -315,7 +206,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -327,18 +218,34 @@ }, { "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ecd32eb3521a473cba91608f3f0d2398", - "version_major": 2, - "version_minor": 0 - }, + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], "text/plain": [ - "Output()" + "\n" ] }, "metadata": {}, "output_type": "display_data" }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, { "data": { "text/html": [ @@ -349,6 +256,19 @@ "metadata": {}, "output_type": "display_data" }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, { "name": "stderr", "output_type": "stream", @@ -358,18 +278,34 @@ }, { "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2d85af8e3b1a4c46b6be990b16991288", - "version_major": 2, - "version_minor": 0 - }, + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], "text/plain": [ - "Output()" + "\n" ] }, "metadata": {}, "output_type": "display_data" }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, { "data": { "text/html": [ @@ -380,6 +316,19 @@ "metadata": {}, "output_type": "display_data" }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, { "name": "stderr", "output_type": "stream", @@ -389,18 +338,34 @@ }, { "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "611ab6569ff040328353ffbd973f7e0e", - "version_major": 2, - "version_minor": 0 - }, + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], "text/plain": [ - "Output()" + "\n" ] }, "metadata": {}, "output_type": "display_data" }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, { "data": { "text/html": [ @@ -411,6 +376,19 @@ "metadata": {}, "output_type": "display_data" }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, { "name": "stderr", "output_type": "stream", @@ -420,18 +398,34 @@ }, { "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "60eee6c3c6ff4f6ea2a272f59cbc4eca", - "version_major": 2, - "version_minor": 0 - }, + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], "text/plain": [ - "Output()" + "\n" ] }, "metadata": {}, "output_type": "display_data" }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, { "data": { "text/html": [ @@ -442,6 +436,19 @@ "metadata": {}, "output_type": "display_data" }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, { "name": "stderr", "output_type": "stream", @@ -451,18 +458,34 @@ }, { "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "43eac13b81734f20bf91b8c9a700066b", - "version_major": 2, - "version_minor": 0 - }, + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], "text/plain": [ - "Output()" + "\n" ] }, "metadata": {}, "output_type": "display_data" }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, { "data": { "text/html": [ @@ -473,6 +496,19 @@ "metadata": {}, "output_type": "display_data" }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, { "name": "stderr", "output_type": "stream", @@ -482,18 +518,34 @@ }, { "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "d0fbb98d97764f1bbde9823805438275", - "version_major": 2, - "version_minor": 0 - }, + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], "text/plain": [ - "Output()" + "\n" ] }, "metadata": {}, "output_type": "display_data" }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, { "data": { "text/html": [ @@ -504,6 +556,19 @@ "metadata": {}, "output_type": "display_data" }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, { "name": "stderr", "output_type": "stream", @@ -513,18 +578,34 @@ }, { "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "58059d001e0e4555b975382dcbb7a98c", - "version_major": 2, - "version_minor": 0 - }, + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], "text/plain": [ - "Output()" + "\n" ] }, "metadata": {}, "output_type": "display_data" }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, { "data": { "text/html": [ @@ -535,6 +616,19 @@ "metadata": {}, "output_type": "display_data" }, + { + "data": { + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, { "name": "stderr", "output_type": "stream", @@ -544,18 +638,34 @@ }, { "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1fa65f3f89f942658491d560d2569198", - "version_major": 2, - "version_minor": 0 - }, + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], "text/plain": [ - "Output()" + "\n" ] }, "metadata": {}, "output_type": "display_data" }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, { "data": { "text/html": [ @@ -568,7 +678,1940 @@ }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAboAAAEiCAYAAACPwherAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACBxElEQVR4nOzdd3wc1bn4/8/MbF/1bluyJMtV7h2wDaabbopNQi+hJKEkJNwACZfwvTchjfxSySWFQAIEkwSSEMChmG7jgpvkKqv3Lq20fWfO74+VZAlJtmR16bz90svaaefMSppn58w551GEEAJJkiRJGqfUka6AJEmSJA0lGegkSZKkcU0GOkmSJGlck4FOkiRJGtdkoJMkSZLGNRnoJEmSpHFNBjpJkiRpXJOBTpIkSRrXZKCTJEmSxjUZ6KRx5Tvf+Q5r167t8/bf/e53Wb169SmvH6hbbrmFG264oeN1RkYGv//974esPEmaiGSgk4bV2rVrURSFZ555pstyt9tNZGQkiqJQVFQ0MpUbBXbu3Mn1118/rGUqitLt66GHHhqUY6empvLss88OyrFOxdGjR1m7di12u53MzMxuv3fSxGAa6QpIE09qaip//vOfue222zqWvfLKK8TExNDa2jqCNRt5iYmJI1Luyy+/zJo1azpeR0REjEg9emIYBoZhYDL173IVDAa55JJLWLRoETt37mT79u3cddddpKenc+655w5RbaXRSN7RScPuqquuYufOnZSUlHQs+9Of/tSlCa/z8unTp2O1Wpk/fz5vvvlml/V//etfSU9Px+l0ctNNN+Hz+bqs13WdRx99lNTUVCIjI1m7di379+/vd51//OMfk5SURGxsLI888gjtc6ELIXj44YeZMmUKNpuNadOm8fTTTwNQVFSEoii8/PLLLFq0CJvNxjnnnENpaWmv5XRuumzf/x//+AcrVqzA6XSydu3aLu8bwC9+8QumTZuGw+Fg+fLlvP/++/0+v9jYWFJSUjq+2gPd7t27O+6IMjIyeOyxxwiFQh37fe1rX+soe+7cuWzatKlj3dq1aykvL+fWW29FUZSOJuW1a9fyne9856Tn/de//pXly5djs9nIycnp98/yzTffpLS0lGeeeYZ58+Zx++2388UvfpFf/vKX/X5/pLFNBjpp2EVGRnL55Zfz/PPPA1BeXs62bdvYsGFDl+22bt3K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", + "text/html": [ + "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Sampling: [y_like]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "
\n",
+       "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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", "text/plain": [ "
" ] @@ -593,7 +2636,7 @@ " label='Group' + str(j))\n", " # Showing the quantiles\n", " resolution = 200\n", - " synth_X = np.linspace(-3, 3, resolution)\n", + " synth_X = np.linspace(-4, 4, resolution)\n", " q = nm.get_mcmc_quantiles(\n", " synth_X, batch_effects=j*np.ones(resolution))\n", " col = scat1.get_facecolors()[0]\n", @@ -621,7 +2664,7 @@ ], "metadata": { "kernelspec": { - "display_name": "dev_216", + "display_name": "dev_215", "language": "python", "name": "python3" }, @@ -635,7 +2678,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.9" + "version": "3.12.7" } }, "nbformat": 4, From 4a7746d052d031c766125074de41b31c2c80a3e2 Mon Sep 17 00:00:00 2001 From: matei4501 <154380373+matei4501@users.noreply.github.com> Date: Wed, 9 Oct 2024 17:27:13 +0300 Subject: [PATCH 16/68] fix anomaly_detection_auc print fix anomaly_detection_auc in utils.py to correctly print n_features instead of n_permutations --- pcntoolkit/util/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pcntoolkit/util/utils.py b/pcntoolkit/util/utils.py index ac855315..1a9afc48 100644 --- a/pcntoolkit/util/utils.py +++ b/pcntoolkit/util/utils.py @@ -1457,7 +1457,7 @@ def anomaly_detection_auc(abn_p, labels, n_permutation=None): p_values[i] = (np.sum(auc_perm > aucs[i]) + 1) / \ (n_permutation + 1) print('Feature %d of %d is done: p_value=%f' % - (i, n_permutation, p_values[i])) + (i, p, p_values[i])) return aucs, p_values From 7bbe9cd21d5535ba80e65a0f0570a0d3e6d4f770 Mon Sep 17 00:00:00 2001 From: Augub Date: Thu, 10 Oct 2024 16:09:14 +0200 Subject: [PATCH 17/68] suppress warning --- pcntoolkit/model/hbr.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pcntoolkit/model/hbr.py b/pcntoolkit/model/hbr.py index 8fff24e9..50a9f967 100644 --- a/pcntoolkit/model/hbr.py +++ b/pcntoolkit/model/hbr.py @@ -226,16 +226,15 @@ def get_sample_dims(var): with pm.Model(coords=pb.coords) as model: model.add_coord("datapoints", np.arange(X.shape[0]), mutable=True) - X = pm.MutableData("X", X, dims=("datapoints", "basis_functions")) + X = pm.Data("X", X, dims=("datapoints", "basis_functions")) pb.X = X - y = pm.MutableData("y", np.squeeze(y), dims="datapoints") + y = pm.Data("y", np.squeeze(y), dims="datapoints") pb.model = model pb.batch_effect_indices = tuple( [ pm.Data( pb.batch_effect_dim_names[i]+"_data", pb.batch_effect_indices[i], - mutable=True, dims="datapoints", ) for i in range(len(pb.batch_effect_indices)) From faeb44ca827ab6833c8683e42969f300d36763e5 Mon Sep 17 00:00:00 2001 From: Augub Date: Thu, 10 Oct 2024 16:10:31 +0200 Subject: [PATCH 18/68] Suppress warning --- pcntoolkit/model/hbr.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pcntoolkit/model/hbr.py b/pcntoolkit/model/hbr.py index f95e3e85..d9872cbc 100644 --- a/pcntoolkit/model/hbr.py +++ b/pcntoolkit/model/hbr.py @@ -226,16 +226,15 @@ def get_sample_dims(var): with pm.Model(coords=pb.coords) as model: model.add_coord("datapoints", np.arange(X.shape[0]), mutable=True) - X = pm.MutableData("X", X, dims=("datapoints", "basis_functions")) + X = pm.Data("X", X, dims=("datapoints", "basis_functions")) pb.X = X - y = pm.MutableData("y", np.squeeze(y), dims="datapoints") + y = pm.Data("y", np.squeeze(y), dims="datapoints") pb.model = model pb.batch_effect_indices = tuple( [ pm.Data( pb.batch_effect_dim_names[i]+"_data", pb.batch_effect_indices[i], - mutable=True, dims="datapoints", ) for i in range(len(pb.batch_effect_indices)) From 531f58be8ba51b50ba71551a463e65c5529e63c5 Mon Sep 17 00:00:00 2001 From: Stijn Date: Fri, 11 Oct 2024 16:23:27 +0200 Subject: [PATCH 19/68] Reset priors to narrower versions --- pcntoolkit/model/hbr.py | 43 ++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/pcntoolkit/model/hbr.py b/pcntoolkit/model/hbr.py index 50a9f967..0543c60a 100644 --- a/pcntoolkit/model/hbr.py +++ b/pcntoolkit/model/hbr.py @@ -246,24 +246,27 @@ def get_sample_dims(var): "mu_samples", pb.make_param( "mu", - mu_slope_mu_params=(0.0, 10.0), - sigma_slope_mu_params=(10.0,), - mu_intercept_mu_params=(0.0, 10.0), - sigma_intercept_mu_params=(10.0,), + slope_mu_params=(0.0, 3.0), + mu_slope_mu_params=(0.0, 3.0), + sigma_slope_mu_params=(3.0,), + mu_intercept_mu_params=(0.0, 2.0), + sigma_intercept_mu_params=(2.0,), ).get_samples(pb), dims=get_sample_dims('mu'), ) sigma = pm.Deterministic( "sigma_samples", pb.make_param( - "sigma", sigma_params = (0, 2), - mu_sigma_params=(0.0, 2.0), - sigma_sigma_params=(2.0,) + "sigma", + sigma_params=(0., 2.0), + sigma_dist="normal", + slope_sigma_params=(0.0, 2.0), + intercept_sigma_params=(0.0, 2.0), ).get_samples(pb), dims=get_sample_dims('sigma'), ) sigma_plus = pm.Deterministic( - "sigma_plus_samples", np.exp(sigma), dims=get_sample_dims('sigma') + "sigma_plus_samples", np.log(1+np.exp(sigma)), dims=get_sample_dims('sigma') ) y_like = pm.Normal( "y_like", mu, sigma=sigma_plus, observed=y, dims="datapoints" @@ -286,11 +289,11 @@ def get_sample_dims(var): "mu_samples", pb.make_param( "mu", - slope_mu_params=(0.0, 10.0), - mu_slope_mu_params=(0.0, 10.0), - sigma_slope_mu_params=(10.0,), - mu_intercept_mu_params=(0.0, 10.0), - sigma_intercept_mu_params=(10.0,), + slope_mu_params=(0.0, 3.0), + mu_slope_mu_params=(0.0, 3.0), + sigma_slope_mu_params=(3.0,), + mu_intercept_mu_params=(0.0, 2.0), + sigma_intercept_mu_params=(2.0,), ).get_samples(pb), dims=get_sample_dims('mu'), ) @@ -306,15 +309,15 @@ def get_sample_dims(var): dims=get_sample_dims('sigma'), ) sigma_plus = pm.Deterministic( - "sigma_plus_samples", np.exp(sigma), dims=get_sample_dims('sigma') + "sigma_plus_samples", np.log(1+np.exp(sigma)), dims=get_sample_dims('sigma') ) epsilon = pm.Deterministic( "epsilon_samples", pb.make_param( "epsilon", - epsilon_params=(0.0, 10.0), - slope_epsilon_params=(0.0, 10.0), - intercept_epsilon_params=(0.0, 10.0), + epsilon_params=(0.0, 2.0), + slope_epsilon_params=(0.0, 3.0), + intercept_epsilon_params=(0.0, 3.0), ).get_samples(pb), dims=get_sample_dims('epsilon'), ) @@ -324,14 +327,14 @@ def get_sample_dims(var): "delta", delta_params=(0., 2.0), delta_dist="normal", - slope_delta_params=(0.0, 2.0), - intercept_delta_params=(0.0, 2.0), + slope_delta_params=(0.0, 1.0), + intercept_delta_params=(0.0, 1.0), ).get_samples(pb), dims=get_sample_dims('delta'), ) delta_plus = pm.Deterministic( "delta_plus_samples", - np.exp(delta) + 0.3, + np.log(1+np.exp(delta*5))/5 + 0.3, dims=get_sample_dims('delta'), ) y_like = SHASH_map[configs["likelihood"]]( From d388d4bac45e20a2de97c035402ea7afc08f5b4d Mon Sep 17 00:00:00 2001 From: Stijn Date: Fri, 11 Oct 2024 17:10:48 +0200 Subject: [PATCH 20/68] More changes to the priors --- dist/pcntoolkit-0.30.post2-py3.12.egg | Bin 0 -> 306489 bytes pcntoolkit/model/hbr.py | 23 ++++++++++++----------- pcntoolkit/util/utils.py | 2 +- tests/testHBR.py | 8 ++++---- 4 files changed, 17 insertions(+), 16 deletions(-) create mode 100644 dist/pcntoolkit-0.30.post2-py3.12.egg diff --git a/dist/pcntoolkit-0.30.post2-py3.12.egg b/dist/pcntoolkit-0.30.post2-py3.12.egg new file mode 100644 index 0000000000000000000000000000000000000000..69167a632d26aa8504e33decb5180cf35523ffc4 GIT binary patch literal 306489 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

uRrsS_F2Nl?TE+UHHM0ZN&(qxp+0bRNLU+{X+ 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 Date: Fri, 11 Oct 2024 21:43:36 +0200 Subject: [PATCH 21/68] Tests with new priors look good --- pcntoolkit/model/hbr.py | 20 +++++++++--------- tests/testHBR.py | 45 ++++++++++++++++++++++++++++++++--------- 2 files changed, 44 insertions(+), 21 deletions(-) diff --git a/pcntoolkit/model/hbr.py b/pcntoolkit/model/hbr.py index 296b68dc..7ee500b3 100644 --- a/pcntoolkit/model/hbr.py +++ b/pcntoolkit/model/hbr.py @@ -246,11 +246,12 @@ def get_sample_dims(var): "mu_samples", pb.make_param( "mu", - slope_mu_params=(0.0, 3.0), - mu_slope_mu_params=(0.0, 3.0), - sigma_slope_mu_params=(3.0,), - mu_intercept_mu_params=(0.0, 2.0), - sigma_intercept_mu_params=(2.0,), + intercept_mu_params=(0.0, 10.0), + slope_mu_params=(0.0, 10.0), + mu_slope_mu_params=(0.0, 10.0), + sigma_slope_mu_params=(10.0,), + mu_intercept_mu_params=(0.0, 10.0), + sigma_intercept_mu_params=(10.0,), ).get_samples(pb), dims=get_sample_dims('mu'), ) @@ -258,19 +259,16 @@ def get_sample_dims(var): "sigma_samples", pb.make_param( "sigma", - sigma_params=(0., 2.0), + sigma_params=(10., 10.0), sigma_dist="normal", - slope_sigma_params=(0.0, 2.0), - intercept_sigma_params=(0.0, 2.0), + slope_sigma_params=(0.0, 10.0), + intercept_sigma_params=(10.0, 10.0), ).get_samples(pb), dims=get_sample_dims('sigma'), ) sigma_plus = pm.Deterministic( "sigma_plus_samples", np.log(1+np.exp(sigma/10))*10, dims=get_sample_dims('sigma') ) - y_like = pm.Normal( - "y_like", mu, sigma=sigma_plus, observed=y, dims="datapoints" - ) elif configs["likelihood"] in ["SHASHb", "SHASHo", "SHASHo2"]: """ diff --git a/tests/testHBR.py b/tests/testHBR.py index 1d312548..6c569b22 100644 --- a/tests/testHBR.py +++ b/tests/testHBR.py @@ -8,7 +8,7 @@ This script tests HBR models with default configs on toy data. """ - +# %% import os import numpy as np from pcntoolkit.normative_model.norm_utils import norm_init @@ -22,13 +22,12 @@ ########################### Experiment Settings ############################### -random_state = 34 - +random_state = 40 working_dir = '/Users/stijndeboer/temp/' # Specify a working directory to save data and results. simulation_method = 'non-linear' n_features = 1 # The number of input features of X -n_grps = 2 # Number of batches in data +n_grps = 10 # Number of batches in data n_samples = 500 # Number of samples in each group (use a list for different # sample numbers across different batches) @@ -46,15 +45,13 @@ ################################# Fittig and Predicting ############################### nm = norm_init(X_train, Y_train, alg='hbr', model_type=model_type, likelihood='SHASHb', - linear_sigma='True', random_intercept_mu='True', random_slope_mu='True', linear_epsilon='True', linear_delta='False', nuts_sampler='nutpie') + linear_sigma='True', random_intercept_mu='True', random_slope_mu='True', linear_epsilon='False', linear_delta='False', nuts_sampler='nutpie') nm.estimate(X_train, Y_train, trbefile=working_dir+'trbefile.pkl') yhat, ys2 = nm.predict(X_test, tsbefile=working_dir+'tsbefile.pkl') ################################# Plotting Quantiles ############################### - - for i in range(n_features): sorted_idx = X_test[:, i].argsort(axis=0).squeeze() temp_X = X_test[sorted_idx, i] @@ -62,14 +59,14 @@ temp_be = grp_id_test[sorted_idx, :].squeeze() temp_yhat = yhat[sorted_idx,] temp_s2 = ys2[sorted_idx,] - + plt.figure() for j in range(n_grps): scat1 = plt.scatter(temp_X[temp_be == j,], temp_Y[temp_be == j,], label='Group' + str(j)) # Showing the quantiles resolution = 200 - synth_X = np.linspace(-3, 3, resolution) + synth_X = np.linspace(np.min(X_train), np.max(X_train), resolution) q = nm.get_mcmc_quantiles( synth_X, batch_effects=j*np.ones(resolution)) col = scat1.get_facecolors()[0] @@ -77,7 +74,20 @@ plt.title('Model %s, Feature %d' % (model_type, i)) plt.legend() - plt.show() + plt.show(block=False) + plt.savefig(working_dir + 'quantiles_' + model_type + '_feature_' + str(i) + '.png') + + for j in range(n_grps): + plt.figure() + plt.scatter(temp_X[temp_be == j,], temp_Y[temp_be == j,]) + plt.plot(temp_X[temp_be == j,], temp_yhat[temp_be == j,], color='red') + plt.fill_between(temp_X[temp_be == j,].squeeze(), + (temp_yhat[temp_be == j,] - 2 * np.sqrt(temp_s2[temp_be == j,])).squeeze(), + (temp_yhat[temp_be == j,] + 2 * np.sqrt(temp_s2[temp_be == j,])).squeeze(), + color='red', alpha=0.2) + plt.title('Model %s, Group %d, Feature %d' % (model_type, j, i)) + plt.show(block=False) + plt.savefig(working_dir + 'pred_' + model_type + '_group_' + str(j) + '_feature_' + str(i) + '.png') ############################## Normative Modelling Test ####################### @@ -98,3 +108,18 @@ ############################################################################### +# %% + +for j in range(n_grps): + # Showing the quantiles + resolution = 200 + synth_X = np.linspace(np.min(X_train), np.max(X_train), resolution) + q = nm.get_mcmc_quantiles( + synth_X, batch_effects=j*np.ones(resolution)) + plt.figure() + plt.scatter(temp_X[temp_be == j,], temp_Y[temp_be == j,]) + plt.plot(synth_X, q.T, color='black') + plt.title('Model %s, Group %d, Feature %d' % (model_type, j, i)) + plt.show(block=False) + plt.savefig(working_dir + 'pred_' + model_type + '_group_' + str(j) + '_feature_' + str(i) + '.png') +# %% From b7ebe5a4d28f178e51ed943bc4862f3a65a3ba5f Mon Sep 17 00:00:00 2001 From: Augub Date: Fri, 11 Oct 2024 21:55:46 +0200 Subject: [PATCH 22/68] Mutable coords are default in pymc now --- pcntoolkit/model/hbr.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pcntoolkit/model/hbr.py b/pcntoolkit/model/hbr.py index 50a9f967..e9d6c5e0 100644 --- a/pcntoolkit/model/hbr.py +++ b/pcntoolkit/model/hbr.py @@ -225,7 +225,7 @@ def get_sample_dims(var): return None with pm.Model(coords=pb.coords) as model: - model.add_coord("datapoints", np.arange(X.shape[0]), mutable=True) + model.add_coord("datapoints", np.arange(X.shape[0])) X = pm.Data("X", X, dims=("datapoints", "basis_functions")) pb.X = X y = pm.Data("y", np.squeeze(y), dims="datapoints") From 694d5d1326a77c36eb4f9de3ac351752feb0cea7 Mon Sep 17 00:00:00 2001 From: Seyed Mostafa Kia Date: Mon, 14 Oct 2024 17:48:59 +0200 Subject: [PATCH 23/68] Unbiased kurtosis calculation --- pcntoolkit/util/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pcntoolkit/util/utils.py b/pcntoolkit/util/utils.py index 1a9afc48..0ce281f6 100644 --- a/pcntoolkit/util/utils.py +++ b/pcntoolkit/util/utils.py @@ -350,7 +350,7 @@ def calibration_descriptives(x): s1 = np.std(x, axis=0) skew = n*m3/(n-1)/(n-2)/s1**3 sdskew = np.sqrt(6*n*(n-1) / ((n-2)*(n+1)*(n+3))) - kurtosis = (n*(n+1)*m4 - 3*m2**2*(n-1)) / ((n-1)*(n-2)*(n-3)*s1**4) + kurtosis = (n * (n+1) * m4) / ((n-1) * (n-2) * (n-3) * s1**4) - (3 * (n-1)**2) / ((n-2) * (n-3)) sdkurtosis = np.sqrt(4*(n**2-1) * sdskew**2 / ((n-3)*(n+5))) semean = np.sqrt(np.var(x)/n) sesd = s1/np.sqrt(2*(n-1)) From 091980eb96162c6a96fa2c99142a3369f8db039e Mon Sep 17 00:00:00 2001 From: Augub Date: Tue, 15 Oct 2024 15:03:02 +0200 Subject: [PATCH 24/68] Add multicore support for Torque jobs --- pcntoolkit/normative_parallel.py | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/pcntoolkit/normative_parallel.py b/pcntoolkit/normative_parallel.py index f6a957e7..cd058e8b 100755 --- a/pcntoolkit/normative_parallel.py +++ b/pcntoolkit/normative_parallel.py @@ -112,6 +112,7 @@ def execute_nm(processing_dir, cluster_spec = kwargs.pop('cluster_spec', 'torque') log_path = kwargs.get('log_path', None) binary = kwargs.pop('binary', False) + cores = kwargs.pop('cores') split_nm(processing_dir, respfile_path, @@ -165,7 +166,8 @@ def execute_nm(processing_dir, job_id = qsub_nm(job_path=batch_job_path, log_path=log_path, memory=memory, - duration=duration) + duration=duration, + cores=cores) job_ids.append(job_id) elif cluster_spec == 'slurm': # update the response file @@ -211,7 +213,8 @@ def execute_nm(processing_dir, job_id = qsub_nm(job_path=batch_job_path, log_path=log_path, memory=memory, - duration=duration) + duration=duration, + cores=cores) job_ids.append(job_id) elif cluster_spec == 'slurm': sbatchwrap_nm(batch_processing_dir, @@ -254,7 +257,8 @@ def execute_nm(processing_dir, job_id = qsub_nm(job_path=batch_job_path, log_path=log_path, memory=memory, - duration=duration) + duration=duration, + cores=cores) job_ids.append(job_id) elif cluster_spec == 'slurm': sbatchwrap_nm(batch_processing_dir, @@ -300,7 +304,7 @@ def execute_nm(processing_dir, if cluster_spec == 'torque': rerun_nm(processing_dir, log_path=log_path, memory=memory, duration=duration, binary=binary, - interactive=interactive) + interactive=interactive, cores=cores) elif cluster_spec == 'slurm': sbatchrerun_nm(processing_dir, memory=memory, @@ -316,7 +320,7 @@ def execute_nm(processing_dir, if cluster_spec == 'torque': rerun_nm(processing_dir, log_path=log_path, memory=memory, duration=duration, binary=binary, - interactive=interactive) + interactive=interactive, cores=cores) elif cluster_spec == 'slurm': sbatchrerun_nm(processing_dir, memory=memory, @@ -985,7 +989,8 @@ def bashwrap_nm(processing_dir, def qsub_nm(job_path, log_path, memory, - duration): + duration, + cores): '''This function submits a job.sh scipt to the torque custer using the qsub command. Basic usage:: @@ -1005,10 +1010,10 @@ def qsub_nm(job_path, # created qsub command if log_path is None: qsub_call = ['echo ' + job_path + ' | qsub -N ' + job_path + ' -l ' + - 'procs=1' + ',mem=' + memory + ',walltime=' + duration] + 'nodes=1:ppn='+ cores + ',mem=' + memory + ',walltime=' + duration] else: qsub_call = ['echo ' + job_path + ' | qsub -N ' + job_path + - ' -l ' + 'procs=1' + ',mem=' + memory + ',walltime=' + + ' -l ' + 'nodes=1:ppn='+ cores + ',mem=' + memory + ',walltime=' + duration + ' -o ' + log_path + ' -e ' + log_path] # submits job to cluster @@ -1024,6 +1029,7 @@ def rerun_nm(processing_dir, memory, duration, cluster_spec, + cores, binary=False, interactive=False): '''This function reruns all failed batched in processing_dir after collect_nm has identified the failed batches. @@ -1051,7 +1057,8 @@ def rerun_nm(processing_dir, job_id = qsub_nm(job_path=jobpath, log_path=log_path, memory=memory, - duration=duration) + duration=duration, + cores=cores) job_ids.append(job_id) else: file_extentions = '.txt' @@ -1064,7 +1071,8 @@ def rerun_nm(processing_dir, job_id = qsub_nm(job_path=jobpath, log_path=log_path, memory=memory, - duration=duration) + duration=duration, + cores=cores) job_ids.append(job_id) if interactive: From e35c95255a34b16129c24a8855dcdf0cafbd5b1f Mon Sep 17 00:00:00 2001 From: Augub Date: Tue, 15 Oct 2024 15:03:24 +0200 Subject: [PATCH 25/68] Add missing likelihood in Normal model --- pcntoolkit/model/hbr.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pcntoolkit/model/hbr.py b/pcntoolkit/model/hbr.py index 7b2a4c8e..23b73e0e 100644 --- a/pcntoolkit/model/hbr.py +++ b/pcntoolkit/model/hbr.py @@ -269,6 +269,13 @@ def get_sample_dims(var): sigma_plus = pm.Deterministic( "sigma_plus_samples", np.log(1+np.exp(sigma/10))*10, dims=get_sample_dims('sigma') ) + y_like = pm.Normal( + "y_like", + mu=mu, + sigma=sigma_plus, + observed=y, + dims="datapoints", + ) elif configs["likelihood"] in ["SHASHb", "SHASHo", "SHASHo2"]: """ From 411c47c6cc78706e3454f6c60bf819ae9ead6e0c Mon Sep 17 00:00:00 2001 From: Augub Date: Tue, 15 Oct 2024 15:11:22 +0200 Subject: [PATCH 26/68] Correct argument name for cores --- pcntoolkit/normative_parallel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pcntoolkit/normative_parallel.py b/pcntoolkit/normative_parallel.py index cd058e8b..6b92b124 100755 --- a/pcntoolkit/normative_parallel.py +++ b/pcntoolkit/normative_parallel.py @@ -112,7 +112,7 @@ def execute_nm(processing_dir, cluster_spec = kwargs.pop('cluster_spec', 'torque') log_path = kwargs.get('log_path', None) binary = kwargs.pop('binary', False) - cores = kwargs.pop('cores') + cores = kwargs.pop('n_cores_per_batch') split_nm(processing_dir, respfile_path, From 7ac7e29df2b2cda4d01b6a3fca99654f7479452f Mon Sep 17 00:00:00 2001 From: Stijn Date: Wed, 16 Oct 2024 16:37:09 +0200 Subject: [PATCH 27/68] Initial commit --- conda_recipe/meta.yaml | 45 ++++++++++++++++++++++++++++++++++++++++++ requirements.txt | 7 +------ 2 files changed, 46 insertions(+), 6 deletions(-) create mode 100644 conda_recipe/meta.yaml diff --git a/conda_recipe/meta.yaml b/conda_recipe/meta.yaml new file mode 100644 index 00000000..9cd1a2c8 --- /dev/null +++ b/conda_recipe/meta.yaml @@ -0,0 +1,45 @@ +package: + name: pcntoolkit + version: "0.30.0" + +source: + path: .. + +build: + number: 0 + script: python setup.py install + +requirements: + build: + - python + - setuptools + - numpy + run: + - python + - pymc # includes numpy, scipy, pandas, arviz + - six + - scikit-learn + - matplotlib + - pytorch + - cpuonly + - sphinx-tabs + - nibabel + pip: + - bspline + +# test: +# imports: +# - your_project_name + +about: + home: http://github.com/amarquand/PCNtoolkit + license: 'GNU GPLv3' + summary: 'Predictive Clinical Neuroscience toolkit' + description: | + 'Predictive Clinical Neuroscience toolkit' + doc_url: https://pcntoolkit.readthedocs.io/en/latest/ + dev_url: http://github.com/amarquand/PCNtoolkit + +extra: + recipe-maintainers: + - AuguB \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 58c3f61e..271c759c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,13 +1,8 @@ -argparse nibabel>=2.5.1 +pymc>=5.1.0 six scikit-learn bspline matplotlib -numpy -scipy>=1.3.2,<1.13.0 -pandas>=0.25.3 torch>=1.1.0 sphinx-tabs -pymc>=5.1.0 -arviz==0.13.0 From 47bcb4b186690e78a026dfbf58502cab9d1fd755 Mon Sep 17 00:00:00 2001 From: Stijn Date: Wed, 16 Oct 2024 16:39:52 +0200 Subject: [PATCH 28/68] Remove unnecessary requirement specifications All removed specifications are also dependencies of PyMC --- requirements.txt | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/requirements.txt b/requirements.txt index 58c3f61e..ca1a2cda 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,13 +1,9 @@ argparse nibabel>=2.5.1 +pymc>=5.1.0 six scikit-learn bspline matplotlib -numpy -scipy>=1.3.2,<1.13.0 -pandas>=0.25.3 torch>=1.1.0 sphinx-tabs -pymc>=5.1.0 -arviz==0.13.0 From 5d25556e083bdd92ed6b48a7a5ffdb9b174ee530 Mon Sep 17 00:00:00 2001 From: Stijn Date: Wed, 16 Oct 2024 16:52:59 +0200 Subject: [PATCH 29/68] Reset requirements Will wait with this until after next release --- requirements.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index ca1a2cda..58c3f61e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,9 +1,13 @@ argparse nibabel>=2.5.1 -pymc>=5.1.0 six scikit-learn bspline matplotlib +numpy +scipy>=1.3.2,<1.13.0 +pandas>=0.25.3 torch>=1.1.0 sphinx-tabs +pymc>=5.1.0 +arviz==0.13.0 From 5d901165880a640e0eb368813436204c1e122bf2 Mon Sep 17 00:00:00 2001 From: Stijn Date: Wed, 16 Oct 2024 17:05:00 +0200 Subject: [PATCH 30/68] Add pyproject.toml --- pyproject.toml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 pyproject.toml diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..6f7873fb --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,25 @@ +[tool.poetry] +name = "pcntoolkit" +version = "0.30.2" +description = "Predictive Clinical Neuroscience Toolkit" +authors = ["Andre Marquand"] +license = "GPL v3" +readme = "README.md" + +[tool.poetry.dependencies] +python = "^3.10" +torch = "2.4.1+cpu" +pymc = "^5.17.0" +bspline = "^0.1.1" +scikit-learn = "^1.5.2" +matplotlib = "^3.9.2" +nibabel = "^5.3.1" +sphinx-tabs = "^3.4.7" + +[tool.poetry.group.dev.dependencies] +pymc = "^5.17.0" +torch = "2.4.1+cpu" + +[build-system] +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" From 56f0a6c9c4a31596c7c12fa82f2bc1538b7e7e48 Mon Sep 17 00:00:00 2001 From: Stijn Date: Thu, 17 Oct 2024 11:31:49 +0200 Subject: [PATCH 31/68] Cleaning up the project --- .github/workflows/ci.yml | 2 +- .nojekyll | 1 - MANIFEST.in | 1 - PCNtoolkit.drawio | 909 ------------------------------- build/lib/pcntoolkit/configs.py | 9 - conda_recipe/meta.yaml | 45 -- pyproject.toml | 25 - requirements.txt | 8 - setup.cfg | 3 - setup.py | 25 - {pytest => tests}/test_sanity.py | 0 11 files changed, 1 insertion(+), 1027 deletions(-) delete mode 100644 .nojekyll delete mode 100644 MANIFEST.in delete mode 100644 PCNtoolkit.drawio delete mode 100644 build/lib/pcntoolkit/configs.py delete mode 100644 conda_recipe/meta.yaml delete mode 100644 pyproject.toml delete mode 100644 requirements.txt delete mode 100644 setup.cfg delete mode 100644 setup.py rename {pytest => tests}/test_sanity.py (100%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 66f16af3..50ec6bd5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,7 +30,7 @@ jobs: - name: Run Tests with coverage and save report run: | - coverage run -m pytest pytest/ --junitxml=report.xml --html=report.html + coverage run -m pytest tests/ --junitxml=report.xml --html=report.html coverage xml -o coverage.xml continue-on-error: true # Continue to the next step even if tests fail diff --git a/.nojekyll b/.nojekyll deleted file mode 100644 index 8b137891..00000000 --- a/.nojekyll +++ /dev/null @@ -1 +0,0 @@ - diff --git a/MANIFEST.in b/MANIFEST.in deleted file mode 100644 index f9bd1455..00000000 --- a/MANIFEST.in +++ /dev/null @@ -1 +0,0 @@ -include requirements.txt diff --git a/PCNtoolkit.drawio b/PCNtoolkit.drawio deleted file mode 100644 index 5bf3ed1d..00000000 --- a/PCNtoolkit.drawio +++ /dev/null @@ -1,909 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/build/lib/pcntoolkit/configs.py b/build/lib/pcntoolkit/configs.py deleted file mode 100644 index 98b56f17..00000000 --- a/build/lib/pcntoolkit/configs.py +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -""" -Created on Mon Dec 7 12:51:07 2020 - -@author: seykia -""" - -PICKLE_PROTOCOL = 4 diff --git a/conda_recipe/meta.yaml b/conda_recipe/meta.yaml deleted file mode 100644 index 9cd1a2c8..00000000 --- a/conda_recipe/meta.yaml +++ /dev/null @@ -1,45 +0,0 @@ -package: - name: pcntoolkit - version: "0.30.0" - -source: - path: .. - -build: - number: 0 - script: python setup.py install - -requirements: - build: - - python - - setuptools - - numpy - run: - - python - - pymc # includes numpy, scipy, pandas, arviz - - six - - scikit-learn - - matplotlib - - pytorch - - cpuonly - - sphinx-tabs - - nibabel - pip: - - bspline - -# test: -# imports: -# - your_project_name - -about: - home: http://github.com/amarquand/PCNtoolkit - license: 'GNU GPLv3' - summary: 'Predictive Clinical Neuroscience toolkit' - description: | - 'Predictive Clinical Neuroscience toolkit' - doc_url: https://pcntoolkit.readthedocs.io/en/latest/ - dev_url: http://github.com/amarquand/PCNtoolkit - -extra: - recipe-maintainers: - - AuguB \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml deleted file mode 100644 index 6f7873fb..00000000 --- a/pyproject.toml +++ /dev/null @@ -1,25 +0,0 @@ -[tool.poetry] -name = "pcntoolkit" -version = "0.30.2" -description = "Predictive Clinical Neuroscience Toolkit" -authors = ["Andre Marquand"] -license = "GPL v3" -readme = "README.md" - -[tool.poetry.dependencies] -python = "^3.10" -torch = "2.4.1+cpu" -pymc = "^5.17.0" -bspline = "^0.1.1" -scikit-learn = "^1.5.2" -matplotlib = "^3.9.2" -nibabel = "^5.3.1" -sphinx-tabs = "^3.4.7" - -[tool.poetry.group.dev.dependencies] -pymc = "^5.17.0" -torch = "2.4.1+cpu" - -[build-system] -requires = ["poetry-core"] -build-backend = "poetry.core.masonry.api" diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 271c759c..00000000 --- a/requirements.txt +++ /dev/null @@ -1,8 +0,0 @@ -nibabel>=2.5.1 -pymc>=5.1.0 -six -scikit-learn -bspline -matplotlib -torch>=1.1.0 -sphinx-tabs diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 9b914123..00000000 --- a/setup.cfg +++ /dev/null @@ -1,3 +0,0 @@ -[autopep8] -max-line-length = 120 -ignore = E226,E302,E41 diff --git a/setup.py b/setup.py deleted file mode 100644 index d37cd554..00000000 --- a/setup.py +++ /dev/null @@ -1,25 +0,0 @@ -from setuptools import setup, find_packages - - -def parse_requirements(filename): - """Load requirements from a pip requirements file.""" - with open(filename, 'r') as f: - lineiter = (line.strip() for line in f) - return [line for line in lineiter if line and not line.startswith("#")] - -requirements = parse_requirements('requirements.txt') - -# Note: to force PyPI to overwrite a version without bumping the version number -# use e.g.: -# version = '0.29-1' - -setup(name='pcntoolkit', - version='0.30-2', - description='Predictive Clinical Neuroscience toolkit', - url='http://github.com/amarquand/PCNtoolkit', - author='Andre Marquand', - author_email='andre.marquand@donders.ru.nl', - license='GNU GPLv3', - packages=find_packages(), - install_requires=requirements, - zip_safe=False) diff --git a/pytest/test_sanity.py b/tests/test_sanity.py similarity index 100% rename from pytest/test_sanity.py rename to tests/test_sanity.py From e708f37940bc917ab0fd35f59decf5c152454dd2 Mon Sep 17 00:00:00 2001 From: Stijn Date: Thu, 17 Oct 2024 11:43:40 +0200 Subject: [PATCH 32/68] Update gitignore --- .gitignore | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.gitignore b/.gitignore index ea6f81b1..fcc7cfa6 100644 --- a/.gitignore +++ b/.gitignore @@ -83,3 +83,10 @@ dist/pcntoolkit-0.27-py3.11.egg # Basic test functions for SHASH tests/test_SHASH.ipynb +dist/pcntoolkit-0.30.post2-py3.12.egg + +dist/* + +dist + +build/* From d870519e14a5e70f104805ba68d1baf4e382f2e0 Mon Sep 17 00:00:00 2001 From: Stijn Date: Thu, 17 Oct 2024 16:35:59 +0200 Subject: [PATCH 33/68] Add pyproject.toml with poetry backend --- pyproject.toml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 pyproject.toml diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..1466e7b4 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,26 @@ +[tool.poetry] +name = "pcntoolkit" +version = "0.30.2" +description = "Predictive Clinical Neuroscience Toolkit" +authors = ["Andre Marquand"] +license = "GNU GPLv3" +readme = "README.md" + +[tool.poetry.dependencies] +python = ">=3.10,<3.13" +bspline = "^0.1.1" # Install with pip +nibabel = "^5.3.1" # Prefer Conda +pymc = "^5.17.0" # Prefer Conda +scikit-learn = "^1.5.2" # Prefer Conda +seaborn = "^0.13.2" # Prefer conda +six = "^1.16.0" # Prefer conda + +[tool.poetry.group.dev.dependencies] +sphinx-tabs = "^3.4.7" +pytest = "^8.3.3" +ipywidgets = "^8.1.5" +black = "^24.10.0" + +[build-system] +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" From 8054cba2bd3ea03db5a7649cbf0201f826d19966 Mon Sep 17 00:00:00 2001 From: Stijn Date: Mon, 21 Oct 2024 11:45:48 +0200 Subject: [PATCH 34/68] Add ipykernel to dev dependencies --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 1466e7b4..991ae576 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,6 +20,7 @@ sphinx-tabs = "^3.4.7" pytest = "^8.3.3" ipywidgets = "^8.1.5" black = "^24.10.0" +ipykernel = "^6.29.5" [build-system] requires = ["poetry-core"] From 9211ebaf0fb23482b33de59eb02d693233bf6cbe Mon Sep 17 00:00:00 2001 From: Stijn Date: Mon, 21 Oct 2024 11:46:00 +0200 Subject: [PATCH 35/68] Add poetry lock --- poetry.lock | 2636 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2636 insertions(+) create mode 100644 poetry.lock diff --git a/poetry.lock b/poetry.lock new file mode 100644 index 00000000..fd9e155c --- /dev/null +++ b/poetry.lock @@ -0,0 +1,2636 @@ +# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand. + +[[package]] +name = "alabaster" +version = "1.0.0" +description = "A light, configurable Sphinx theme" +optional = false +python-versions = ">=3.10" +files = [ + {file = "alabaster-1.0.0-py3-none-any.whl", hash = "sha256:fc6786402dc3fcb2de3cabd5fe455a2db534b371124f1f21de8731783dec828b"}, + {file = "alabaster-1.0.0.tar.gz", hash = "sha256:c00dca57bca26fa62a6d7d0a9fcce65f3e026e9bfe33e9c538fd3fbb2144fd9e"}, +] + +[[package]] +name = "appnope" +version = "0.1.4" +description = "Disable App Nap on macOS >= 10.9" +optional = false +python-versions = ">=3.6" +files = [ + {file = "appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c"}, + {file = "appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee"}, +] + +[[package]] +name = "arviz" +version = "0.20.0" +description = "Exploratory analysis of Bayesian models" +optional = false +python-versions = ">=3.10" +files = [ + {file = "arviz-0.20.0-py3-none-any.whl", hash = "sha256:5ec4f2ec180a8305ff3d1108c29e189944ab939663eb5bc3231ff199a1a5dc36"}, + {file = "arviz-0.20.0.tar.gz", hash = "sha256:a2704e0c141410fcaea1973a90cabf280f5aed5c1e10f44381ebd6c144c10a9c"}, +] + +[package.dependencies] +h5netcdf = ">=1.0.2" +matplotlib = ">=3.5" +numpy = ">=1.23.0" +packaging = "*" +pandas = ">=1.5.0" +scipy = ">=1.9.0" +setuptools = ">=60.0.0" +typing-extensions = ">=4.1.0" +xarray = ">=2022.6.0" +xarray-einstats = ">=0.3" + +[package.extras] +all = ["bokeh (>=3)", "contourpy", "dask[distributed]", "dm-tree (>=0.1.8)", "netcdf4", "numba", "ujson", "xarray-datatree", "zarr (>=2.5.0,<3)"] +preview = ["arviz-base[h5netcdf]", "arviz-plots", "arviz-stats[xarray]"] + +[[package]] +name = "asttokens" +version = "2.4.1" +description = "Annotate AST trees with source code positions" +optional = false +python-versions = "*" +files = [ + {file = "asttokens-2.4.1-py2.py3-none-any.whl", hash = "sha256:051ed49c3dcae8913ea7cd08e46a606dba30b79993209636c4875bc1d637bc24"}, + {file = "asttokens-2.4.1.tar.gz", hash = "sha256:b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0"}, +] + +[package.dependencies] +six = ">=1.12.0" + +[package.extras] +astroid = ["astroid (>=1,<2)", "astroid (>=2,<4)"] +test = ["astroid (>=1,<2)", "astroid (>=2,<4)", "pytest"] + +[[package]] +name = "babel" +version = "2.16.0" +description = "Internationalization utilities" +optional = false +python-versions = ">=3.8" +files = [ + {file = "babel-2.16.0-py3-none-any.whl", hash = "sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b"}, + {file = "babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316"}, +] + +[package.extras] +dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] + +[[package]] +name = "black" +version = "24.10.0" +description = "The uncompromising code formatter." +optional = false +python-versions = ">=3.9" +files = [ + {file = "black-24.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e6668650ea4b685440857138e5fe40cde4d652633b1bdffc62933d0db4ed9812"}, + {file = "black-24.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1c536fcf674217e87b8cc3657b81809d3c085d7bf3ef262ead700da345bfa6ea"}, + {file = "black-24.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:649fff99a20bd06c6f727d2a27f401331dc0cc861fb69cde910fe95b01b5928f"}, + {file = "black-24.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:fe4d6476887de70546212c99ac9bd803d90b42fc4767f058a0baa895013fbb3e"}, + {file = "black-24.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5a2221696a8224e335c28816a9d331a6c2ae15a2ee34ec857dcf3e45dbfa99ad"}, + {file = "black-24.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f9da3333530dbcecc1be13e69c250ed8dfa67f43c4005fb537bb426e19200d50"}, + {file = "black-24.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4007b1393d902b48b36958a216c20c4482f601569d19ed1df294a496eb366392"}, + {file = "black-24.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:394d4ddc64782e51153eadcaaca95144ac4c35e27ef9b0a42e121ae7e57a9175"}, + {file = "black-24.10.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b5e39e0fae001df40f95bd8cc36b9165c5e2ea88900167bddf258bacef9bbdc3"}, + {file = "black-24.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d37d422772111794b26757c5b55a3eade028aa3fde43121ab7b673d050949d65"}, + {file = "black-24.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:14b3502784f09ce2443830e3133dacf2c0110d45191ed470ecb04d0f5f6fcb0f"}, + {file = "black-24.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:30d2c30dc5139211dda799758559d1b049f7f14c580c409d6ad925b74a4208a8"}, + {file = "black-24.10.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1cbacacb19e922a1d75ef2b6ccaefcd6e93a2c05ede32f06a21386a04cedb981"}, + {file = "black-24.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1f93102e0c5bb3907451063e08b9876dbeac810e7da5a8bfb7aeb5a9ef89066b"}, + {file = "black-24.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ddacb691cdcdf77b96f549cf9591701d8db36b2f19519373d60d31746068dbf2"}, + {file = "black-24.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:680359d932801c76d2e9c9068d05c6b107f2584b2a5b88831c83962eb9984c1b"}, + {file = "black-24.10.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:17374989640fbca88b6a448129cd1745c5eb8d9547b464f281b251dd00155ccd"}, + {file = "black-24.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:63f626344343083322233f175aaf372d326de8436f5928c042639a4afbbf1d3f"}, + {file = "black-24.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfa1d0cb6200857f1923b602f978386a3a2758a65b52e0950299ea014be6800"}, + {file = "black-24.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:2cd9c95431d94adc56600710f8813ee27eea544dd118d45896bb734e9d7a0dc7"}, + {file = "black-24.10.0-py3-none-any.whl", hash = "sha256:3bb2b7a1f7b685f85b11fed1ef10f8a9148bceb49853e47a294a3dd963c1dd7d"}, + {file = "black-24.10.0.tar.gz", hash = "sha256:846ea64c97afe3bc677b761787993be4991810ecc7a4a937816dd6bddedc4875"}, +] + +[package.dependencies] +click = ">=8.0.0" +mypy-extensions = ">=0.4.3" +packaging = ">=22.0" +pathspec = ">=0.9.0" +platformdirs = ">=2" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} + +[package.extras] +colorama = ["colorama (>=0.4.3)"] +d = ["aiohttp (>=3.10)"] +jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] +uvloop = ["uvloop (>=0.15.2)"] + +[[package]] +name = "bspline" +version = "0.1.1" +description = "Compute B-spline basis functions via Cox - de Boor algorithm." +optional = false +python-versions = "*" +files = [ + {file = "bspline-0.1.1.tar.gz", hash = "sha256:3be5490cd7ea81e7a08820d4d1d1b602f91991f429ce20c49800dbf226213f08"}, +] + +[package.dependencies] +numpy = "*" + +[[package]] +name = "cachetools" +version = "5.5.0" +description = "Extensible memoizing collections and decorators" +optional = false +python-versions = ">=3.7" +files = [ + {file = "cachetools-5.5.0-py3-none-any.whl", hash = "sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292"}, + {file = "cachetools-5.5.0.tar.gz", hash = "sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a"}, +] + +[[package]] +name = "certifi" +version = "2024.8.30" +description = "Python package for providing Mozilla's CA Bundle." +optional = false +python-versions = ">=3.6" +files = [ + {file = "certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"}, + {file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"}, +] + +[[package]] +name = "cffi" +version = "1.17.1" +description = "Foreign Function Interface for Python calling C code." +optional = false +python-versions = ">=3.8" +files = [ + {file = "cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14"}, + {file = "cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be"}, + {file = "cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c"}, + {file = "cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15"}, + {file = "cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401"}, + {file = "cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b"}, + {file = "cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655"}, + {file = "cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0"}, + {file = "cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4"}, + {file = "cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93"}, + {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3"}, + {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8"}, + {file = "cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65"}, + {file = "cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903"}, + {file = "cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e"}, + {file = "cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd"}, + {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed"}, + {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9"}, + {file = "cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d"}, + {file = "cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a"}, + {file = "cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1"}, + {file = "cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8"}, + {file = "cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1"}, + {file = "cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16"}, + {file = "cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e"}, + {file = "cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7"}, + {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"}, + {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"}, +] + +[package.dependencies] +pycparser = "*" + +[[package]] +name = "charset-normalizer" +version = "3.4.0" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-win32.whl", hash = "sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-win32.whl", hash = "sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-win32.whl", hash = "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-win32.whl", hash = "sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-win32.whl", hash = "sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-win32.whl", hash = "sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-win32.whl", hash = "sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca"}, + {file = "charset_normalizer-3.4.0-py3-none-any.whl", hash = "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079"}, + {file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"}, +] + +[[package]] +name = "click" +version = "8.1.7" +description = "Composable command line interface toolkit" +optional = false +python-versions = ">=3.7" +files = [ + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[[package]] +name = "cloudpickle" +version = "3.1.0" +description = "Pickler class to extend the standard pickle.Pickler functionality" +optional = false +python-versions = ">=3.8" +files = [ + {file = "cloudpickle-3.1.0-py3-none-any.whl", hash = "sha256:fe11acda67f61aaaec473e3afe030feb131d78a43461b718185363384f1ba12e"}, + {file = "cloudpickle-3.1.0.tar.gz", hash = "sha256:81a929b6e3c7335c863c771d673d105f02efdb89dfaba0c90495d1c64796601b"}, +] + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] + +[[package]] +name = "comm" +version = "0.2.2" +description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." +optional = false +python-versions = ">=3.8" +files = [ + {file = "comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3"}, + {file = "comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e"}, +] + +[package.dependencies] +traitlets = ">=4" + +[package.extras] +test = ["pytest"] + +[[package]] +name = "cons" +version = "0.4.6" +description = "An implementation of Lisp/Scheme-like cons in Python." +optional = false +python-versions = ">=3.6" +files = [ + {file = "cons-0.4.6.tar.gz", hash = "sha256:669fe9d5ee916d5e42b9cac6acc911df803d04f2e945c1604982a04d27a29b47"}, +] + +[package.dependencies] +logical-unification = ">=0.4.0" + +[[package]] +name = "contourpy" +version = "1.3.0" +description = "Python library for calculating contours of 2D quadrilateral grids" +optional = false +python-versions = ">=3.9" +files = [ + {file = "contourpy-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:880ea32e5c774634f9fcd46504bf9f080a41ad855f4fef54f5380f5133d343c7"}, + {file = "contourpy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:76c905ef940a4474a6289c71d53122a4f77766eef23c03cd57016ce19d0f7b42"}, + {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92f8557cbb07415a4d6fa191f20fd9d2d9eb9c0b61d1b2f52a8926e43c6e9af7"}, + {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36f965570cff02b874773c49bfe85562b47030805d7d8360748f3eca570f4cab"}, + {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cacd81e2d4b6f89c9f8a5b69b86490152ff39afc58a95af002a398273e5ce589"}, + {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69375194457ad0fad3a839b9e29aa0b0ed53bb54db1bfb6c3ae43d111c31ce41"}, + {file = "contourpy-1.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a52040312b1a858b5e31ef28c2e865376a386c60c0e248370bbea2d3f3b760d"}, + {file = "contourpy-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3faeb2998e4fcb256542e8a926d08da08977f7f5e62cf733f3c211c2a5586223"}, + {file = "contourpy-1.3.0-cp310-cp310-win32.whl", hash = "sha256:36e0cff201bcb17a0a8ecc7f454fe078437fa6bda730e695a92f2d9932bd507f"}, + {file = "contourpy-1.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:87ddffef1dbe5e669b5c2440b643d3fdd8622a348fe1983fad7a0f0ccb1cd67b"}, + {file = "contourpy-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fa4c02abe6c446ba70d96ece336e621efa4aecae43eaa9b030ae5fb92b309ad"}, + {file = "contourpy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:834e0cfe17ba12f79963861e0f908556b2cedd52e1f75e6578801febcc6a9f49"}, + {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbc4c3217eee163fa3984fd1567632b48d6dfd29216da3ded3d7b844a8014a66"}, + {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4865cd1d419e0c7a7bf6de1777b185eebdc51470800a9f42b9e9decf17762081"}, + {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:303c252947ab4b14c08afeb52375b26781ccd6a5ccd81abcdfc1fafd14cf93c1"}, + {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637f674226be46f6ba372fd29d9523dd977a291f66ab2a74fbeb5530bb3f445d"}, + {file = "contourpy-1.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:76a896b2f195b57db25d6b44e7e03f221d32fe318d03ede41f8b4d9ba1bff53c"}, + {file = "contourpy-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e1fd23e9d01591bab45546c089ae89d926917a66dceb3abcf01f6105d927e2cb"}, + {file = "contourpy-1.3.0-cp311-cp311-win32.whl", hash = "sha256:d402880b84df3bec6eab53cd0cf802cae6a2ef9537e70cf75e91618a3801c20c"}, + {file = "contourpy-1.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:6cb6cc968059db9c62cb35fbf70248f40994dfcd7aa10444bbf8b3faeb7c2d67"}, + {file = "contourpy-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:570ef7cf892f0afbe5b2ee410c507ce12e15a5fa91017a0009f79f7d93a1268f"}, + {file = "contourpy-1.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:da84c537cb8b97d153e9fb208c221c45605f73147bd4cadd23bdae915042aad6"}, + {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0be4d8425bfa755e0fd76ee1e019636ccc7c29f77a7c86b4328a9eb6a26d0639"}, + {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c0da700bf58f6e0b65312d0a5e695179a71d0163957fa381bb3c1f72972537c"}, + {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb8b141bb00fa977d9122636b16aa67d37fd40a3d8b52dd837e536d64b9a4d06"}, + {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3634b5385c6716c258d0419c46d05c8aa7dc8cb70326c9a4fb66b69ad2b52e09"}, + {file = "contourpy-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0dce35502151b6bd35027ac39ba6e5a44be13a68f55735c3612c568cac3805fd"}, + {file = "contourpy-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea348f053c645100612b333adc5983d87be69acdc6d77d3169c090d3b01dc35"}, + {file = "contourpy-1.3.0-cp312-cp312-win32.whl", hash = "sha256:90f73a5116ad1ba7174341ef3ea5c3150ddf20b024b98fb0c3b29034752c8aeb"}, + {file = "contourpy-1.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:b11b39aea6be6764f84360fce6c82211a9db32a7c7de8fa6dd5397cf1d079c3b"}, + {file = "contourpy-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3e1c7fa44aaae40a2247e2e8e0627f4bea3dd257014764aa644f319a5f8600e3"}, + {file = "contourpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:364174c2a76057feef647c802652f00953b575723062560498dc7930fc9b1cb7"}, + {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32b238b3b3b649e09ce9aaf51f0c261d38644bdfa35cbaf7b263457850957a84"}, + {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d51fca85f9f7ad0b65b4b9fe800406d0d77017d7270d31ec3fb1cc07358fdea0"}, + {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:732896af21716b29ab3e988d4ce14bc5133733b85956316fb0c56355f398099b"}, + {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d73f659398a0904e125280836ae6f88ba9b178b2fed6884f3b1f95b989d2c8da"}, + {file = "contourpy-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c6c7c2408b7048082932cf4e641fa3b8ca848259212f51c8c59c45aa7ac18f14"}, + {file = "contourpy-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f317576606de89da6b7e0861cf6061f6146ead3528acabff9236458a6ba467f8"}, + {file = "contourpy-1.3.0-cp313-cp313-win32.whl", hash = "sha256:31cd3a85dbdf1fc002280c65caa7e2b5f65e4a973fcdf70dd2fdcb9868069294"}, + {file = "contourpy-1.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4553c421929ec95fb07b3aaca0fae668b2eb5a5203d1217ca7c34c063c53d087"}, + {file = "contourpy-1.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:345af746d7766821d05d72cb8f3845dfd08dd137101a2cb9b24de277d716def8"}, + {file = "contourpy-1.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3bb3808858a9dc68f6f03d319acd5f1b8a337e6cdda197f02f4b8ff67ad2057b"}, + {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:420d39daa61aab1221567b42eecb01112908b2cab7f1b4106a52caaec8d36973"}, + {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d63ee447261e963af02642ffcb864e5a2ee4cbfd78080657a9880b8b1868e18"}, + {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:167d6c890815e1dac9536dca00828b445d5d0df4d6a8c6adb4a7ec3166812fa8"}, + {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:710a26b3dc80c0e4febf04555de66f5fd17e9cf7170a7b08000601a10570bda6"}, + {file = "contourpy-1.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:75ee7cb1a14c617f34a51d11fa7524173e56551646828353c4af859c56b766e2"}, + {file = "contourpy-1.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:33c92cdae89ec5135d036e7218e69b0bb2851206077251f04a6c4e0e21f03927"}, + {file = "contourpy-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a11077e395f67ffc2c44ec2418cfebed032cd6da3022a94fc227b6faf8e2acb8"}, + {file = "contourpy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e8134301d7e204c88ed7ab50028ba06c683000040ede1d617298611f9dc6240c"}, + {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e12968fdfd5bb45ffdf6192a590bd8ddd3ba9e58360b29683c6bb71a7b41edca"}, + {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fd2a0fc506eccaaa7595b7e1418951f213cf8255be2600f1ea1b61e46a60c55f"}, + {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4cfb5c62ce023dfc410d6059c936dcf96442ba40814aefbfa575425a3a7f19dc"}, + {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68a32389b06b82c2fdd68276148d7b9275b5f5cf13e5417e4252f6d1a34f72a2"}, + {file = "contourpy-1.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:94e848a6b83da10898cbf1311a815f770acc9b6a3f2d646f330d57eb4e87592e"}, + {file = "contourpy-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d78ab28a03c854a873787a0a42254a0ccb3cb133c672f645c9f9c8f3ae9d0800"}, + {file = "contourpy-1.3.0-cp39-cp39-win32.whl", hash = "sha256:81cb5ed4952aae6014bc9d0421dec7c5835c9c8c31cdf51910b708f548cf58e5"}, + {file = "contourpy-1.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:14e262f67bd7e6eb6880bc564dcda30b15e351a594657e55b7eec94b6ef72843"}, + {file = "contourpy-1.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fe41b41505a5a33aeaed2a613dccaeaa74e0e3ead6dd6fd3a118fb471644fd6c"}, + {file = "contourpy-1.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eca7e17a65f72a5133bdbec9ecf22401c62bcf4821361ef7811faee695799779"}, + {file = "contourpy-1.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ec4dc6bf570f5b22ed0d7efba0dfa9c5b9e0431aeea7581aa217542d9e809a4"}, + {file = "contourpy-1.3.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:00ccd0dbaad6d804ab259820fa7cb0b8036bda0686ef844d24125d8287178ce0"}, + {file = "contourpy-1.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca947601224119117f7c19c9cdf6b3ab54c5726ef1d906aa4a69dfb6dd58102"}, + {file = "contourpy-1.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c6ec93afeb848a0845a18989da3beca3eec2c0f852322efe21af1931147d12cb"}, + {file = "contourpy-1.3.0.tar.gz", hash = "sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4"}, +] + +[package.dependencies] +numpy = ">=1.23" + +[package.extras] +bokeh = ["bokeh", "selenium"] +docs = ["furo", "sphinx (>=7.2)", "sphinx-copybutton"] +mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.11.1)", "types-Pillow"] +test = ["Pillow", "contourpy[test-no-images]", "matplotlib"] +test-no-images = ["pytest", "pytest-cov", "pytest-rerunfailures", "pytest-xdist", "wurlitzer"] + +[[package]] +name = "cycler" +version = "0.12.1" +description = "Composable style cycles" +optional = false +python-versions = ">=3.8" +files = [ + {file = "cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30"}, + {file = "cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c"}, +] + +[package.extras] +docs = ["ipython", "matplotlib", "numpydoc", "sphinx"] +tests = ["pytest", "pytest-cov", "pytest-xdist"] + +[[package]] +name = "debugpy" +version = "1.8.7" +description = "An implementation of the Debug Adapter Protocol for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "debugpy-1.8.7-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:95fe04a573b8b22896c404365e03f4eda0ce0ba135b7667a1e57bd079793b96b"}, + {file = "debugpy-1.8.7-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:628a11f4b295ffb4141d8242a9bb52b77ad4a63a2ad19217a93be0f77f2c28c9"}, + {file = "debugpy-1.8.7-cp310-cp310-win32.whl", hash = "sha256:85ce9c1d0eebf622f86cc68618ad64bf66c4fc3197d88f74bb695a416837dd55"}, + {file = "debugpy-1.8.7-cp310-cp310-win_amd64.whl", hash = "sha256:29e1571c276d643757ea126d014abda081eb5ea4c851628b33de0c2b6245b037"}, + {file = "debugpy-1.8.7-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:caf528ff9e7308b74a1749c183d6808ffbedbb9fb6af78b033c28974d9b8831f"}, + {file = "debugpy-1.8.7-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cba1d078cf2e1e0b8402e6bda528bf8fda7ccd158c3dba6c012b7897747c41a0"}, + {file = "debugpy-1.8.7-cp311-cp311-win32.whl", hash = "sha256:171899588bcd412151e593bd40d9907133a7622cd6ecdbdb75f89d1551df13c2"}, + {file = "debugpy-1.8.7-cp311-cp311-win_amd64.whl", hash = "sha256:6e1c4ffb0c79f66e89dfd97944f335880f0d50ad29525dc792785384923e2211"}, + {file = "debugpy-1.8.7-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:4d27d842311353ede0ad572600c62e4bcd74f458ee01ab0dd3a1a4457e7e3706"}, + {file = "debugpy-1.8.7-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:703c1fd62ae0356e194f3e7b7a92acd931f71fe81c4b3be2c17a7b8a4b546ec2"}, + {file = "debugpy-1.8.7-cp312-cp312-win32.whl", hash = "sha256:2f729228430ef191c1e4df72a75ac94e9bf77413ce5f3f900018712c9da0aaca"}, + {file = "debugpy-1.8.7-cp312-cp312-win_amd64.whl", hash = "sha256:45c30aaefb3e1975e8a0258f5bbd26cd40cde9bfe71e9e5a7ac82e79bad64e39"}, + {file = "debugpy-1.8.7-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:d050a1ec7e925f514f0f6594a1e522580317da31fbda1af71d1530d6ea1f2b40"}, + {file = "debugpy-1.8.7-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2f4349a28e3228a42958f8ddaa6333d6f8282d5edaea456070e48609c5983b7"}, + {file = "debugpy-1.8.7-cp313-cp313-win32.whl", hash = "sha256:11ad72eb9ddb436afb8337891a986302e14944f0f755fd94e90d0d71e9100bba"}, + {file = "debugpy-1.8.7-cp313-cp313-win_amd64.whl", hash = "sha256:2efb84d6789352d7950b03d7f866e6d180284bc02c7e12cb37b489b7083d81aa"}, + {file = "debugpy-1.8.7-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:4b908291a1d051ef3331484de8e959ef3e66f12b5e610c203b5b75d2725613a7"}, + {file = "debugpy-1.8.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da8df5b89a41f1fd31503b179d0a84a5fdb752dddd5b5388dbd1ae23cda31ce9"}, + {file = "debugpy-1.8.7-cp38-cp38-win32.whl", hash = "sha256:b12515e04720e9e5c2216cc7086d0edadf25d7ab7e3564ec8b4521cf111b4f8c"}, + {file = "debugpy-1.8.7-cp38-cp38-win_amd64.whl", hash = "sha256:93176e7672551cb5281577cdb62c63aadc87ec036f0c6a486f0ded337c504596"}, + {file = "debugpy-1.8.7-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:90d93e4f2db442f8222dec5ec55ccfc8005821028982f1968ebf551d32b28907"}, + {file = "debugpy-1.8.7-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6db2a370e2700557a976eaadb16243ec9c91bd46f1b3bb15376d7aaa7632c81"}, + {file = "debugpy-1.8.7-cp39-cp39-win32.whl", hash = "sha256:a6cf2510740e0c0b4a40330640e4b454f928c7b99b0c9dbf48b11efba08a8cda"}, + {file = "debugpy-1.8.7-cp39-cp39-win_amd64.whl", hash = "sha256:6a9d9d6d31846d8e34f52987ee0f1a904c7baa4912bf4843ab39dadf9b8f3e0d"}, + {file = "debugpy-1.8.7-py2.py3-none-any.whl", hash = "sha256:57b00de1c8d2c84a61b90880f7e5b6deaf4c312ecbde3a0e8912f2a56c4ac9ae"}, + {file = "debugpy-1.8.7.zip", hash = "sha256:18b8f731ed3e2e1df8e9cdaa23fb1fc9c24e570cd0081625308ec51c82efe42e"}, +] + +[[package]] +name = "decorator" +version = "5.1.1" +description = "Decorators for Humans" +optional = false +python-versions = ">=3.5" +files = [ + {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, + {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, +] + +[[package]] +name = "docutils" +version = "0.21.2" +description = "Docutils -- Python Documentation Utilities" +optional = false +python-versions = ">=3.9" +files = [ + {file = "docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2"}, + {file = "docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f"}, +] + +[[package]] +name = "etuples" +version = "0.3.9" +description = "Python S-expression emulation using tuple-like objects." +optional = false +python-versions = ">=3.8" +files = [ + {file = "etuples-0.3.9.tar.gz", hash = "sha256:a474e586683d8ba8d842ba29305005ceed1c08371a4b4b0e0e232527137e5ea3"}, +] + +[package.dependencies] +cons = "*" +multipledispatch = "*" + +[[package]] +name = "exceptiongroup" +version = "1.2.2" +description = "Backport of PEP 654 (exception groups)" +optional = false +python-versions = ">=3.7" +files = [ + {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, + {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, +] + +[package.extras] +test = ["pytest (>=6)"] + +[[package]] +name = "executing" +version = "2.1.0" +description = "Get the currently executing AST node of a frame, and other information" +optional = false +python-versions = ">=3.8" +files = [ + {file = "executing-2.1.0-py2.py3-none-any.whl", hash = "sha256:8d63781349375b5ebccc3142f4b30350c0cd9c79f921cde38be2be4637e98eaf"}, + {file = "executing-2.1.0.tar.gz", hash = "sha256:8ea27ddd260da8150fa5a708269c4a10e76161e2496ec3e587da9e3c0fe4b9ab"}, +] + +[package.extras] +tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipython", "littleutils", "pytest", "rich"] + +[[package]] +name = "filelock" +version = "3.16.1" +description = "A platform independent file lock." +optional = false +python-versions = ">=3.8" +files = [ + {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"}, + {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"}, +] + +[package.extras] +docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4.1)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"] +typing = ["typing-extensions (>=4.12.2)"] + +[[package]] +name = "fonttools" +version = "4.54.1" +description = "Tools to manipulate font files" +optional = false +python-versions = ">=3.8" +files = [ + {file = "fonttools-4.54.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7ed7ee041ff7b34cc62f07545e55e1468808691dddfd315d51dd82a6b37ddef2"}, + {file = "fonttools-4.54.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:41bb0b250c8132b2fcac148e2e9198e62ff06f3cc472065dff839327945c5882"}, + {file = "fonttools-4.54.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7965af9b67dd546e52afcf2e38641b5be956d68c425bef2158e95af11d229f10"}, + {file = "fonttools-4.54.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:278913a168f90d53378c20c23b80f4e599dca62fbffae4cc620c8eed476b723e"}, + {file = "fonttools-4.54.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0e88e3018ac809b9662615072dcd6b84dca4c2d991c6d66e1970a112503bba7e"}, + {file = "fonttools-4.54.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4aa4817f0031206e637d1e685251ac61be64d1adef111060df84fdcbc6ab6c44"}, + {file = "fonttools-4.54.1-cp310-cp310-win32.whl", hash = "sha256:7e3b7d44e18c085fd8c16dcc6f1ad6c61b71ff463636fcb13df7b1b818bd0c02"}, + {file = "fonttools-4.54.1-cp310-cp310-win_amd64.whl", hash = "sha256:dd9cc95b8d6e27d01e1e1f1fae8559ef3c02c76317da650a19047f249acd519d"}, + {file = "fonttools-4.54.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5419771b64248484299fa77689d4f3aeed643ea6630b2ea750eeab219588ba20"}, + {file = "fonttools-4.54.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:301540e89cf4ce89d462eb23a89464fef50915255ece765d10eee8b2bf9d75b2"}, + {file = "fonttools-4.54.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76ae5091547e74e7efecc3cbf8e75200bc92daaeb88e5433c5e3e95ea8ce5aa7"}, + {file = "fonttools-4.54.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82834962b3d7c5ca98cb56001c33cf20eb110ecf442725dc5fdf36d16ed1ab07"}, + {file = "fonttools-4.54.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d26732ae002cc3d2ecab04897bb02ae3f11f06dd7575d1df46acd2f7c012a8d8"}, + {file = "fonttools-4.54.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:58974b4987b2a71ee08ade1e7f47f410c367cdfc5a94fabd599c88165f56213a"}, + {file = "fonttools-4.54.1-cp311-cp311-win32.whl", hash = "sha256:ab774fa225238986218a463f3fe151e04d8c25d7de09df7f0f5fce27b1243dbc"}, + {file = "fonttools-4.54.1-cp311-cp311-win_amd64.whl", hash = "sha256:07e005dc454eee1cc60105d6a29593459a06321c21897f769a281ff2d08939f6"}, + {file = "fonttools-4.54.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:54471032f7cb5fca694b5f1a0aaeba4af6e10ae989df408e0216f7fd6cdc405d"}, + {file = "fonttools-4.54.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8fa92cb248e573daab8d032919623cc309c005086d743afb014c836636166f08"}, + {file = "fonttools-4.54.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a911591200114969befa7f2cb74ac148bce5a91df5645443371aba6d222e263"}, + {file = "fonttools-4.54.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93d458c8a6a354dc8b48fc78d66d2a8a90b941f7fec30e94c7ad9982b1fa6bab"}, + {file = "fonttools-4.54.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5eb2474a7c5be8a5331146758debb2669bf5635c021aee00fd7c353558fc659d"}, + {file = "fonttools-4.54.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c9c563351ddc230725c4bdf7d9e1e92cbe6ae8553942bd1fb2b2ff0884e8b714"}, + {file = "fonttools-4.54.1-cp312-cp312-win32.whl", hash = "sha256:fdb062893fd6d47b527d39346e0c5578b7957dcea6d6a3b6794569370013d9ac"}, + {file = "fonttools-4.54.1-cp312-cp312-win_amd64.whl", hash = "sha256:e4564cf40cebcb53f3dc825e85910bf54835e8a8b6880d59e5159f0f325e637e"}, + {file = "fonttools-4.54.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6e37561751b017cf5c40fce0d90fd9e8274716de327ec4ffb0df957160be3bff"}, + {file = "fonttools-4.54.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:357cacb988a18aace66e5e55fe1247f2ee706e01debc4b1a20d77400354cddeb"}, + {file = "fonttools-4.54.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8e953cc0bddc2beaf3a3c3b5dd9ab7554677da72dfaf46951e193c9653e515a"}, + {file = "fonttools-4.54.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:58d29b9a294573d8319f16f2f79e42428ba9b6480442fa1836e4eb89c4d9d61c"}, + {file = "fonttools-4.54.1-cp313-cp313-win32.whl", hash = "sha256:9ef1b167e22709b46bf8168368b7b5d3efeaaa746c6d39661c1b4405b6352e58"}, + {file = "fonttools-4.54.1-cp313-cp313-win_amd64.whl", hash = "sha256:262705b1663f18c04250bd1242b0515d3bbae177bee7752be67c979b7d47f43d"}, + {file = "fonttools-4.54.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ed2f80ca07025551636c555dec2b755dd005e2ea8fbeb99fc5cdff319b70b23b"}, + {file = "fonttools-4.54.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9dc080e5a1c3b2656caff2ac2633d009b3a9ff7b5e93d0452f40cd76d3da3b3c"}, + {file = "fonttools-4.54.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d152d1be65652fc65e695e5619e0aa0982295a95a9b29b52b85775243c06556"}, + {file = "fonttools-4.54.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8583e563df41fdecef31b793b4dd3af8a9caa03397be648945ad32717a92885b"}, + {file = "fonttools-4.54.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:0d1d353ef198c422515a3e974a1e8d5b304cd54a4c2eebcae708e37cd9eeffb1"}, + {file = "fonttools-4.54.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:fda582236fee135d4daeca056c8c88ec5f6f6d88a004a79b84a02547c8f57386"}, + {file = "fonttools-4.54.1-cp38-cp38-win32.whl", hash = "sha256:e7d82b9e56716ed32574ee106cabca80992e6bbdcf25a88d97d21f73a0aae664"}, + {file = "fonttools-4.54.1-cp38-cp38-win_amd64.whl", hash = "sha256:ada215fd079e23e060157aab12eba0d66704316547f334eee9ff26f8c0d7b8ab"}, + {file = "fonttools-4.54.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f5b8a096e649768c2f4233f947cf9737f8dbf8728b90e2771e2497c6e3d21d13"}, + {file = "fonttools-4.54.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4e10d2e0a12e18f4e2dd031e1bf7c3d7017be5c8dbe524d07706179f355c5dac"}, + {file = "fonttools-4.54.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:31c32d7d4b0958600eac75eaf524b7b7cb68d3a8c196635252b7a2c30d80e986"}, + {file = "fonttools-4.54.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c39287f5c8f4a0c5a55daf9eaf9ccd223ea59eed3f6d467133cc727d7b943a55"}, + {file = "fonttools-4.54.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a7a310c6e0471602fe3bf8efaf193d396ea561486aeaa7adc1f132e02d30c4b9"}, + {file = "fonttools-4.54.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d3b659d1029946f4ff9b6183984578041b520ce0f8fb7078bb37ec7445806b33"}, + {file = "fonttools-4.54.1-cp39-cp39-win32.whl", hash = "sha256:e96bc94c8cda58f577277d4a71f51c8e2129b8b36fd05adece6320dd3d57de8a"}, + {file = "fonttools-4.54.1-cp39-cp39-win_amd64.whl", hash = "sha256:e8a4b261c1ef91e7188a30571be6ad98d1c6d9fa2427244c545e2fa0a2494dd7"}, + {file = "fonttools-4.54.1-py3-none-any.whl", hash = "sha256:37cddd62d83dc4f72f7c3f3c2bcf2697e89a30efb152079896544a93907733bd"}, + {file = "fonttools-4.54.1.tar.gz", hash = "sha256:957f669d4922f92c171ba01bef7f29410668db09f6c02111e22b2bce446f3285"}, +] + +[package.extras] +all = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "pycairo", "scipy", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=15.1.0)", "xattr", "zopfli (>=0.1.4)"] +graphite = ["lz4 (>=1.7.4.2)"] +interpolatable = ["munkres", "pycairo", "scipy"] +lxml = ["lxml (>=4.0)"] +pathops = ["skia-pathops (>=0.5.0)"] +plot = ["matplotlib"] +repacker = ["uharfbuzz (>=0.23.0)"] +symfont = ["sympy"] +type1 = ["xattr"] +ufo = ["fs (>=2.2.0,<3)"] +unicode = ["unicodedata2 (>=15.1.0)"] +woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] + +[[package]] +name = "h5netcdf" +version = "1.4.0" +description = "netCDF4 via h5py" +optional = false +python-versions = ">=3.9" +files = [ + {file = "h5netcdf-1.4.0-py3-none-any.whl", hash = "sha256:d1bb96fce5dcf42908903c9798beeef70ac84e97159eb381f1b151459313f228"}, + {file = "h5netcdf-1.4.0.tar.gz", hash = "sha256:e959c3b5bd3ca7965ce5f4383a4e038ffcb55034c63d791829bd33a5ac38a962"}, +] + +[package.dependencies] +h5py = "*" +packaging = "*" + +[package.extras] +test = ["netCDF4", "pytest"] + +[[package]] +name = "h5py" +version = "3.12.1" +description = "Read and write HDF5 files from Python" +optional = false +python-versions = ">=3.9" +files = [ + {file = "h5py-3.12.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2f0f1a382cbf494679c07b4371f90c70391dedb027d517ac94fa2c05299dacda"}, + {file = "h5py-3.12.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cb65f619dfbdd15e662423e8d257780f9a66677eae5b4b3fc9dca70b5fd2d2a3"}, + {file = "h5py-3.12.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b15d8dbd912c97541312c0e07438864d27dbca857c5ad634de68110c6beb1c2"}, + {file = "h5py-3.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59685fe40d8c1fbbee088c88cd4da415a2f8bee5c270337dc5a1c4aa634e3307"}, + {file = "h5py-3.12.1-cp310-cp310-win_amd64.whl", hash = "sha256:577d618d6b6dea3da07d13cc903ef9634cde5596b13e832476dd861aaf651f3e"}, + {file = "h5py-3.12.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ccd9006d92232727d23f784795191bfd02294a4f2ba68708825cb1da39511a93"}, + {file = "h5py-3.12.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ad8a76557880aed5234cfe7279805f4ab5ce16b17954606cca90d578d3e713ef"}, + {file = "h5py-3.12.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1473348139b885393125126258ae2d70753ef7e9cec8e7848434f385ae72069e"}, + {file = "h5py-3.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:018a4597f35092ae3fb28ee851fdc756d2b88c96336b8480e124ce1ac6fb9166"}, + {file = "h5py-3.12.1-cp311-cp311-win_amd64.whl", hash = "sha256:3fdf95092d60e8130ba6ae0ef7a9bd4ade8edbe3569c13ebbaf39baefffc5ba4"}, + {file = "h5py-3.12.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:06a903a4e4e9e3ebbc8b548959c3c2552ca2d70dac14fcfa650d9261c66939ed"}, + {file = "h5py-3.12.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7b3b8f3b48717e46c6a790e3128d39c61ab595ae0a7237f06dfad6a3b51d5351"}, + {file = "h5py-3.12.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:050a4f2c9126054515169c49cb900949814987f0c7ae74c341b0c9f9b5056834"}, + {file = "h5py-3.12.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c4b41d1019322a5afc5082864dfd6359f8935ecd37c11ac0029be78c5d112c9"}, + {file = "h5py-3.12.1-cp312-cp312-win_amd64.whl", hash = "sha256:e4d51919110a030913201422fb07987db4338eba5ec8c5a15d6fab8e03d443fc"}, + {file = "h5py-3.12.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:513171e90ed92236fc2ca363ce7a2fc6f2827375efcbb0cc7fbdd7fe11fecafc"}, + {file = "h5py-3.12.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:59400f88343b79655a242068a9c900001a34b63e3afb040bd7cdf717e440f653"}, + {file = "h5py-3.12.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3e465aee0ec353949f0f46bf6c6f9790a2006af896cee7c178a8c3e5090aa32"}, + {file = "h5py-3.12.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba51c0c5e029bb5420a343586ff79d56e7455d496d18a30309616fdbeed1068f"}, + {file = "h5py-3.12.1-cp313-cp313-win_amd64.whl", hash = "sha256:52ab036c6c97055b85b2a242cb540ff9590bacfda0c03dd0cf0661b311f522f8"}, + {file = "h5py-3.12.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d2b8dd64f127d8b324f5d2cd1c0fd6f68af69084e9e47d27efeb9e28e685af3e"}, + {file = "h5py-3.12.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4532c7e97fbef3d029735db8b6f5bf01222d9ece41e309b20d63cfaae2fb5c4d"}, + {file = "h5py-3.12.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fdf6d7936fa824acfa27305fe2d9f39968e539d831c5bae0e0d83ed521ad1ac"}, + {file = "h5py-3.12.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84342bffd1f82d4f036433e7039e241a243531a1d3acd7341b35ae58cdab05bf"}, + {file = "h5py-3.12.1-cp39-cp39-win_amd64.whl", hash = "sha256:62be1fc0ef195891949b2c627ec06bc8e837ff62d5b911b6e42e38e0f20a897d"}, + {file = "h5py-3.12.1.tar.gz", hash = "sha256:326d70b53d31baa61f00b8aa5f95c2fcb9621a3ee8365d770c551a13dbbcbfdf"}, +] + +[package.dependencies] +numpy = ">=1.19.3" + +[[package]] +name = "idna" +version = "3.10" +description = "Internationalized Domain Names in Applications (IDNA)" +optional = false +python-versions = ">=3.6" +files = [ + {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, + {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, +] + +[package.extras] +all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] + +[[package]] +name = "imagesize" +version = "1.4.1" +description = "Getting image size from png/jpeg/jpeg2000/gif file" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b"}, + {file = "imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a"}, +] + +[[package]] +name = "importlib-resources" +version = "6.4.5" +description = "Read resources from Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "importlib_resources-6.4.5-py3-none-any.whl", hash = "sha256:ac29d5f956f01d5e4bb63102a5a19957f1b9175e45649977264a1416783bb717"}, + {file = "importlib_resources-6.4.5.tar.gz", hash = "sha256:980862a1d16c9e147a59603677fa2aa5fd82b87f223b6cb870695bcfce830065"}, +] + +[package.extras] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["jaraco.test (>=5.4)", "pytest (>=6,!=8.1.*)", "zipp (>=3.17)"] +type = ["pytest-mypy"] + +[[package]] +name = "iniconfig" +version = "2.0.0" +description = "brain-dead simple config-ini parsing" +optional = false +python-versions = ">=3.7" +files = [ + {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, + {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, +] + +[[package]] +name = "ipykernel" +version = "6.29.5" +description = "IPython Kernel for Jupyter" +optional = false +python-versions = ">=3.8" +files = [ + {file = "ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5"}, + {file = "ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215"}, +] + +[package.dependencies] +appnope = {version = "*", markers = "platform_system == \"Darwin\""} +comm = ">=0.1.1" +debugpy = ">=1.6.5" +ipython = ">=7.23.1" +jupyter-client = ">=6.1.12" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +matplotlib-inline = ">=0.1" +nest-asyncio = "*" +packaging = "*" +psutil = "*" +pyzmq = ">=24" +tornado = ">=6.1" +traitlets = ">=5.4.0" + +[package.extras] +cov = ["coverage[toml]", "curio", "matplotlib", "pytest-cov", "trio"] +docs = ["myst-parser", "pydata-sphinx-theme", "sphinx", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "trio"] +pyqt5 = ["pyqt5"] +pyside6 = ["pyside6"] +test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (>=0.23.5)", "pytest-cov", "pytest-timeout"] + +[[package]] +name = "ipython" +version = "8.28.0" +description = "IPython: Productive Interactive Computing" +optional = false +python-versions = ">=3.10" +files = [ + {file = "ipython-8.28.0-py3-none-any.whl", hash = "sha256:530ef1e7bb693724d3cdc37287c80b07ad9b25986c007a53aa1857272dac3f35"}, + {file = "ipython-8.28.0.tar.gz", hash = "sha256:0d0d15ca1e01faeb868ef56bc7ee5a0de5bd66885735682e8a322ae289a13d1a"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "sys_platform == \"win32\""} +decorator = "*" +exceptiongroup = {version = "*", markers = "python_version < \"3.11\""} +jedi = ">=0.16" +matplotlib-inline = "*" +pexpect = {version = ">4.3", markers = "sys_platform != \"win32\" and sys_platform != \"emscripten\""} +prompt-toolkit = ">=3.0.41,<3.1.0" +pygments = ">=2.4.0" +stack-data = "*" +traitlets = ">=5.13.0" +typing-extensions = {version = ">=4.6", markers = "python_version < \"3.12\""} + +[package.extras] +all = ["ipython[black,doc,kernel,matplotlib,nbconvert,nbformat,notebook,parallel,qtconsole]", "ipython[test,test-extra]"] +black = ["black"] +doc = ["docrepr", "exceptiongroup", "intersphinx-registry", "ipykernel", "ipython[test]", "matplotlib", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "sphinxcontrib-jquery", "tomli", "typing-extensions"] +kernel = ["ipykernel"] +matplotlib = ["matplotlib"] +nbconvert = ["nbconvert"] +nbformat = ["nbformat"] +notebook = ["ipywidgets", "notebook"] +parallel = ["ipyparallel"] +qtconsole = ["qtconsole"] +test = ["packaging", "pickleshare", "pytest", "pytest-asyncio (<0.22)", "testpath"] +test-extra = ["curio", "ipython[test]", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.23)", "pandas", "trio"] + +[[package]] +name = "ipywidgets" +version = "8.1.5" +description = "Jupyter interactive widgets" +optional = false +python-versions = ">=3.7" +files = [ + {file = "ipywidgets-8.1.5-py3-none-any.whl", hash = "sha256:3290f526f87ae6e77655555baba4f36681c555b8bdbbff430b70e52c34c86245"}, + {file = "ipywidgets-8.1.5.tar.gz", hash = "sha256:870e43b1a35656a80c18c9503bbf2d16802db1cb487eec6fab27d683381dde17"}, +] + +[package.dependencies] +comm = ">=0.1.3" +ipython = ">=6.1.0" +jupyterlab-widgets = ">=3.0.12,<3.1.0" +traitlets = ">=4.3.1" +widgetsnbextension = ">=4.0.12,<4.1.0" + +[package.extras] +test = ["ipykernel", "jsonschema", "pytest (>=3.6.0)", "pytest-cov", "pytz"] + +[[package]] +name = "jedi" +version = "0.19.1" +description = "An autocompletion tool for Python that can be used for text editors." +optional = false +python-versions = ">=3.6" +files = [ + {file = "jedi-0.19.1-py2.py3-none-any.whl", hash = "sha256:e983c654fe5c02867aef4cdfce5a2fbb4a50adc0af145f70504238f18ef5e7e0"}, + {file = "jedi-0.19.1.tar.gz", hash = "sha256:cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd"}, +] + +[package.dependencies] +parso = ">=0.8.3,<0.9.0" + +[package.extras] +docs = ["Jinja2 (==2.11.3)", "MarkupSafe (==1.1.1)", "Pygments (==2.8.1)", "alabaster (==0.7.12)", "babel (==2.9.1)", "chardet (==4.0.0)", "commonmark (==0.8.1)", "docutils (==0.17.1)", "future (==0.18.2)", "idna (==2.10)", "imagesize (==1.2.0)", "mock (==1.0.1)", "packaging (==20.9)", "pyparsing (==2.4.7)", "pytz (==2021.1)", "readthedocs-sphinx-ext (==2.1.4)", "recommonmark (==0.5.0)", "requests (==2.25.1)", "six (==1.15.0)", "snowballstemmer (==2.1.0)", "sphinx (==1.8.5)", "sphinx-rtd-theme (==0.4.3)", "sphinxcontrib-serializinghtml (==1.1.4)", "sphinxcontrib-websupport (==1.2.4)", "urllib3 (==1.26.4)"] +qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"] +testing = ["Django", "attrs", "colorama", "docopt", "pytest (<7.0.0)"] + +[[package]] +name = "jinja2" +version = "3.1.4" +description = "A very fast and expressive template engine." +optional = false +python-versions = ">=3.7" +files = [ + {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, + {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, +] + +[package.dependencies] +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] + +[[package]] +name = "joblib" +version = "1.4.2" +description = "Lightweight pipelining with Python functions" +optional = false +python-versions = ">=3.8" +files = [ + {file = "joblib-1.4.2-py3-none-any.whl", hash = "sha256:06d478d5674cbc267e7496a410ee875abd68e4340feff4490bcb7afb88060ae6"}, + {file = "joblib-1.4.2.tar.gz", hash = "sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e"}, +] + +[[package]] +name = "jupyter-client" +version = "8.6.3" +description = "Jupyter protocol implementation and client libraries" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f"}, + {file = "jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419"}, +] + +[package.dependencies] +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +python-dateutil = ">=2.8.2" +pyzmq = ">=23.0" +tornado = ">=6.2" +traitlets = ">=5.3" + +[package.extras] +docs = ["ipykernel", "myst-parser", "pydata-sphinx-theme", "sphinx (>=4)", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] +test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pytest (<8.2.0)", "pytest-cov", "pytest-jupyter[client] (>=0.4.1)", "pytest-timeout"] + +[[package]] +name = "jupyter-core" +version = "5.7.2" +description = "Jupyter core package. A base package on which Jupyter projects rely." +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyter_core-5.7.2-py3-none-any.whl", hash = "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409"}, + {file = "jupyter_core-5.7.2.tar.gz", hash = "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9"}, +] + +[package.dependencies] +platformdirs = ">=2.5" +pywin32 = {version = ">=300", markers = "sys_platform == \"win32\" and platform_python_implementation != \"PyPy\""} +traitlets = ">=5.3" + +[package.extras] +docs = ["myst-parser", "pydata-sphinx-theme", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "traitlets"] +test = ["ipykernel", "pre-commit", "pytest (<8)", "pytest-cov", "pytest-timeout"] + +[[package]] +name = "jupyterlab-widgets" +version = "3.0.13" +description = "Jupyter interactive widgets for JupyterLab" +optional = false +python-versions = ">=3.7" +files = [ + {file = "jupyterlab_widgets-3.0.13-py3-none-any.whl", hash = "sha256:e3cda2c233ce144192f1e29914ad522b2f4c40e77214b0cc97377ca3d323db54"}, + {file = "jupyterlab_widgets-3.0.13.tar.gz", hash = "sha256:a2966d385328c1942b683a8cd96b89b8dd82c8b8f81dda902bb2bc06d46f5bed"}, +] + +[[package]] +name = "kiwisolver" +version = "1.4.7" +description = "A fast implementation of the Cassowary constraint solver" +optional = false +python-versions = ">=3.8" +files = [ + {file = "kiwisolver-1.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8a9c83f75223d5e48b0bc9cb1bf2776cf01563e00ade8775ffe13b0b6e1af3a6"}, + {file = "kiwisolver-1.4.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:58370b1ffbd35407444d57057b57da5d6549d2d854fa30249771775c63b5fe17"}, + {file = "kiwisolver-1.4.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa0abdf853e09aff551db11fce173e2177d00786c688203f52c87ad7fcd91ef9"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8d53103597a252fb3ab8b5845af04c7a26d5e7ea8122303dd7a021176a87e8b9"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:88f17c5ffa8e9462fb79f62746428dd57b46eb931698e42e990ad63103f35e6c"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a9ca9c710d598fd75ee5de59d5bda2684d9db36a9f50b6125eaea3969c2599"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f4d742cb7af1c28303a51b7a27aaee540e71bb8e24f68c736f6f2ffc82f2bf05"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e28c7fea2196bf4c2f8d46a0415c77a1c480cc0724722f23d7410ffe9842c407"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e968b84db54f9d42046cf154e02911e39c0435c9801681e3fc9ce8a3c4130278"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0c18ec74c0472de033e1bebb2911c3c310eef5649133dd0bedf2a169a1b269e5"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8f0ea6da6d393d8b2e187e6a5e3fb81f5862010a40c3945e2c6d12ae45cfb2ad"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:f106407dda69ae456dd1227966bf445b157ccc80ba0dff3802bb63f30b74e895"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:84ec80df401cfee1457063732d90022f93951944b5b58975d34ab56bb150dfb3"}, + {file = "kiwisolver-1.4.7-cp310-cp310-win32.whl", hash = "sha256:71bb308552200fb2c195e35ef05de12f0c878c07fc91c270eb3d6e41698c3bcc"}, + {file = "kiwisolver-1.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:44756f9fd339de0fb6ee4f8c1696cfd19b2422e0d70b4cefc1cc7f1f64045a8c"}, + {file = "kiwisolver-1.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:78a42513018c41c2ffd262eb676442315cbfe3c44eed82385c2ed043bc63210a"}, + {file = "kiwisolver-1.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d2b0e12a42fb4e72d509fc994713d099cbb15ebf1103545e8a45f14da2dfca54"}, + {file = "kiwisolver-1.4.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2a8781ac3edc42ea4b90bc23e7d37b665d89423818e26eb6df90698aa2287c95"}, + {file = "kiwisolver-1.4.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:46707a10836894b559e04b0fd143e343945c97fd170d69a2d26d640b4e297935"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef97b8df011141c9b0f6caf23b29379f87dd13183c978a30a3c546d2c47314cb"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab58c12a2cd0fc769089e6d38466c46d7f76aced0a1f54c77652446733d2d02"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:803b8e1459341c1bb56d1c5c010406d5edec8a0713a0945851290a7930679b51"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9a9e8a507420fe35992ee9ecb302dab68550dedc0da9e2880dd88071c5fb052"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18077b53dc3bb490e330669a99920c5e6a496889ae8c63b58fbc57c3d7f33a18"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6af936f79086a89b3680a280c47ea90b4df7047b5bdf3aa5c524bbedddb9e545"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3abc5b19d24af4b77d1598a585b8a719beb8569a71568b66f4ebe1fb0449460b"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:933d4de052939d90afbe6e9d5273ae05fb836cc86c15b686edd4b3560cc0ee36"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:65e720d2ab2b53f1f72fb5da5fb477455905ce2c88aaa671ff0a447c2c80e8e3"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3bf1ed55088f214ba6427484c59553123fdd9b218a42bbc8c6496d6754b1e523"}, + {file = "kiwisolver-1.4.7-cp311-cp311-win32.whl", hash = "sha256:4c00336b9dd5ad96d0a558fd18a8b6f711b7449acce4c157e7343ba92dd0cf3d"}, + {file = "kiwisolver-1.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:929e294c1ac1e9f615c62a4e4313ca1823ba37326c164ec720a803287c4c499b"}, + {file = "kiwisolver-1.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:e33e8fbd440c917106b237ef1a2f1449dfbb9b6f6e1ce17c94cd6a1e0d438376"}, + {file = "kiwisolver-1.4.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:5360cc32706dab3931f738d3079652d20982511f7c0ac5711483e6eab08efff2"}, + {file = "kiwisolver-1.4.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942216596dc64ddb25adb215c3c783215b23626f8d84e8eff8d6d45c3f29f75a"}, + {file = "kiwisolver-1.4.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:48b571ecd8bae15702e4f22d3ff6a0f13e54d3d00cd25216d5e7f658242065ee"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad42ba922c67c5f219097b28fae965e10045ddf145d2928bfac2eb2e17673640"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:612a10bdae23404a72941a0fc8fa2660c6ea1217c4ce0dbcab8a8f6543ea9e7f"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9e838bba3a3bac0fe06d849d29772eb1afb9745a59710762e4ba3f4cb8424483"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:22f499f6157236c19f4bbbd472fa55b063db77a16cd74d49afe28992dff8c258"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693902d433cf585133699972b6d7c42a8b9f8f826ebcaf0132ff55200afc599e"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4e77f2126c3e0b0d055f44513ed349038ac180371ed9b52fe96a32aa071a5107"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:657a05857bda581c3656bfc3b20e353c232e9193eb167766ad2dc58b56504948"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4bfa75a048c056a411f9705856abfc872558e33c055d80af6a380e3658766038"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:34ea1de54beef1c104422d210c47c7d2a4999bdecf42c7b5718fbe59a4cac383"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:90da3b5f694b85231cf93586dad5e90e2d71b9428f9aad96952c99055582f520"}, + {file = "kiwisolver-1.4.7-cp312-cp312-win32.whl", hash = "sha256:18e0cca3e008e17fe9b164b55735a325140a5a35faad8de92dd80265cd5eb80b"}, + {file = "kiwisolver-1.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:58cb20602b18f86f83a5c87d3ee1c766a79c0d452f8def86d925e6c60fbf7bfb"}, + {file = "kiwisolver-1.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:f5a8b53bdc0b3961f8b6125e198617c40aeed638b387913bf1ce78afb1b0be2a"}, + {file = "kiwisolver-1.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2e6039dcbe79a8e0f044f1c39db1986a1b8071051efba3ee4d74f5b365f5226e"}, + {file = "kiwisolver-1.4.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a1ecf0ac1c518487d9d23b1cd7139a6a65bc460cd101ab01f1be82ecf09794b6"}, + {file = "kiwisolver-1.4.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7ab9ccab2b5bd5702ab0803676a580fffa2aa178c2badc5557a84cc943fcf750"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f816dd2277f8d63d79f9c8473a79fe54047bc0467754962840782c575522224d"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf8bcc23ceb5a1b624572a1623b9f79d2c3b337c8c455405ef231933a10da379"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dea0bf229319828467d7fca8c7c189780aa9ff679c94539eed7532ebe33ed37c"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c06a4c7cf15ec739ce0e5971b26c93638730090add60e183530d70848ebdd34"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:913983ad2deb14e66d83c28b632fd35ba2b825031f2fa4ca29675e665dfecbe1"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5337ec7809bcd0f424c6b705ecf97941c46279cf5ed92311782c7c9c2026f07f"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4c26ed10c4f6fa6ddb329a5120ba3b6db349ca192ae211e882970bfc9d91420b"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c619b101e6de2222c1fcb0531e1b17bbffbe54294bfba43ea0d411d428618c27"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:073a36c8273647592ea332e816e75ef8da5c303236ec0167196793eb1e34657a"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3ce6b2b0231bda412463e152fc18335ba32faf4e8c23a754ad50ffa70e4091ee"}, + {file = "kiwisolver-1.4.7-cp313-cp313-win32.whl", hash = "sha256:f4c9aee212bc89d4e13f58be11a56cc8036cabad119259d12ace14b34476fd07"}, + {file = "kiwisolver-1.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:8a3ec5aa8e38fc4c8af308917ce12c536f1c88452ce554027e55b22cbbfbff76"}, + {file = "kiwisolver-1.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:76c8094ac20ec259471ac53e774623eb62e6e1f56cd8690c67ce6ce4fcb05650"}, + {file = "kiwisolver-1.4.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5d5abf8f8ec1f4e22882273c423e16cae834c36856cac348cfbfa68e01c40f3a"}, + {file = "kiwisolver-1.4.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:aeb3531b196ef6f11776c21674dba836aeea9d5bd1cf630f869e3d90b16cfade"}, + {file = "kiwisolver-1.4.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b7d755065e4e866a8086c9bdada157133ff466476a2ad7861828e17b6026e22c"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08471d4d86cbaec61f86b217dd938a83d85e03785f51121e791a6e6689a3be95"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7bbfcb7165ce3d54a3dfbe731e470f65739c4c1f85bb1018ee912bae139e263b"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d34eb8494bea691a1a450141ebb5385e4b69d38bb8403b5146ad279f4b30fa3"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9242795d174daa40105c1d86aba618e8eab7bf96ba8c3ee614da8302a9f95503"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a0f64a48bb81af7450e641e3fe0b0394d7381e342805479178b3d335d60ca7cf"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8e045731a5416357638d1700927529e2b8ab304811671f665b225f8bf8d8f933"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4322872d5772cae7369f8351da1edf255a604ea7087fe295411397d0cfd9655e"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:e1631290ee9271dffe3062d2634c3ecac02c83890ada077d225e081aca8aab89"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:edcfc407e4eb17e037bca59be0e85a2031a2ac87e4fed26d3e9df88b4165f92d"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:4d05d81ecb47d11e7f8932bd8b61b720bf0b41199358f3f5e36d38e28f0532c5"}, + {file = "kiwisolver-1.4.7-cp38-cp38-win32.whl", hash = "sha256:b38ac83d5f04b15e515fd86f312479d950d05ce2368d5413d46c088dda7de90a"}, + {file = "kiwisolver-1.4.7-cp38-cp38-win_amd64.whl", hash = "sha256:d83db7cde68459fc803052a55ace60bea2bae361fc3b7a6d5da07e11954e4b09"}, + {file = "kiwisolver-1.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f9362ecfca44c863569d3d3c033dbe8ba452ff8eed6f6b5806382741a1334bd"}, + {file = "kiwisolver-1.4.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e8df2eb9b2bac43ef8b082e06f750350fbbaf2887534a5be97f6cf07b19d9583"}, + {file = "kiwisolver-1.4.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f32d6edbc638cde7652bd690c3e728b25332acbadd7cad670cc4a02558d9c417"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e2e6c39bd7b9372b0be21456caab138e8e69cc0fc1190a9dfa92bd45a1e6e904"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dda56c24d869b1193fcc763f1284b9126550eaf84b88bbc7256e15028f19188a"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79849239c39b5e1fd906556c474d9b0439ea6792b637511f3fe3a41158d89ca8"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5e3bc157fed2a4c02ec468de4ecd12a6e22818d4f09cde2c31ee3226ffbefab2"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3da53da805b71e41053dc670f9a820d1157aae77b6b944e08024d17bcd51ef88"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8705f17dfeb43139a692298cb6637ee2e59c0194538153e83e9ee0c75c2eddde"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:82a5c2f4b87c26bb1a0ef3d16b5c4753434633b83d365cc0ddf2770c93829e3c"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce8be0466f4c0d585cdb6c1e2ed07232221df101a4c6f28821d2aa754ca2d9e2"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:409afdfe1e2e90e6ee7fc896f3df9a7fec8e793e58bfa0d052c8a82f99c37abb"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5b9c3f4ee0b9a439d2415012bd1b1cc2df59e4d6a9939f4d669241d30b414327"}, + {file = "kiwisolver-1.4.7-cp39-cp39-win32.whl", hash = "sha256:a79ae34384df2b615eefca647a2873842ac3b596418032bef9a7283675962644"}, + {file = "kiwisolver-1.4.7-cp39-cp39-win_amd64.whl", hash = "sha256:cf0438b42121a66a3a667de17e779330fc0f20b0d97d59d2f2121e182b0505e4"}, + {file = "kiwisolver-1.4.7-cp39-cp39-win_arm64.whl", hash = "sha256:764202cc7e70f767dab49e8df52c7455e8de0df5d858fa801a11aa0d882ccf3f"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:94252291e3fe68001b1dd747b4c0b3be12582839b95ad4d1b641924d68fd4643"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b7dfa3b546da08a9f622bb6becdb14b3e24aaa30adba66749d38f3cc7ea9706"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd3de6481f4ed8b734da5df134cd5a6a64fe32124fe83dde1e5b5f29fe30b1e6"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a91b5f9f1205845d488c928e8570dcb62b893372f63b8b6e98b863ebd2368ff2"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40fa14dbd66b8b8f470d5fc79c089a66185619d31645f9b0773b88b19f7223c4"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:eb542fe7933aa09d8d8f9d9097ef37532a7df6497819d16efe4359890a2f417a"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bfa1acfa0c54932d5607e19a2c24646fb4c1ae2694437789129cf099789a3b00"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:eee3ea935c3d227d49b4eb85660ff631556841f6e567f0f7bda972df6c2c9935"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f3160309af4396e0ed04db259c3ccbfdc3621b5559b5453075e5de555e1f3a1b"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a17f6a29cf8935e587cc8a4dbfc8368c55edc645283db0ce9801016f83526c2d"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10849fb2c1ecbfae45a693c070e0320a91b35dd4bcf58172c023b994283a124d"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:ac542bf38a8a4be2dc6b15248d36315ccc65f0743f7b1a76688ffb6b5129a5c2"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8b01aac285f91ca889c800042c35ad3b239e704b150cfd3382adfc9dcc780e39"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:48be928f59a1f5c8207154f935334d374e79f2b5d212826307d072595ad76a2e"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f37cfe618a117e50d8c240555331160d73d0411422b59b5ee217843d7b693608"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:599b5c873c63a1f6ed7eead644a8a380cfbdf5db91dcb6f85707aaab213b1674"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:801fa7802e5cfabe3ab0c81a34c323a319b097dfb5004be950482d882f3d7225"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0c6c43471bc764fad4bc99c5c2d6d16a676b1abf844ca7c8702bdae92df01ee0"}, + {file = "kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60"}, +] + +[[package]] +name = "logical-unification" +version = "0.4.6" +description = "Logical unification in Python" +optional = false +python-versions = ">=3.6" +files = [ + {file = "logical-unification-0.4.6.tar.gz", hash = "sha256:908435123f8a106fa4dcf9bf1b75c7beb309fa2bbecf277868af8f1c212650a0"}, +] + +[package.dependencies] +multipledispatch = "*" +toolz = "*" + +[[package]] +name = "markdown-it-py" +version = "3.0.0" +description = "Python port of markdown-it. Markdown parsing, done right!" +optional = false +python-versions = ">=3.8" +files = [ + {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, + {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, +] + +[package.dependencies] +mdurl = ">=0.1,<1.0" + +[package.extras] +benchmarking = ["psutil", "pytest", "pytest-benchmark"] +code-style = ["pre-commit (>=3.0,<4.0)"] +compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"] +linkify = ["linkify-it-py (>=1,<3)"] +plugins = ["mdit-py-plugins"] +profiling = ["gprof2dot"] +rtd = ["jupyter_sphinx", "mdit-py-plugins", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] +testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] + +[[package]] +name = "markupsafe" +version = "3.0.2" +description = "Safely add untrusted strings to HTML/XML markup." +optional = false +python-versions = ">=3.9" +files = [ + {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a"}, + {file = "markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0"}, +] + +[[package]] +name = "matplotlib" +version = "3.9.2" +description = "Python plotting package" +optional = false +python-versions = ">=3.9" +files = [ + {file = "matplotlib-3.9.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:9d78bbc0cbc891ad55b4f39a48c22182e9bdaea7fc0e5dbd364f49f729ca1bbb"}, + {file = "matplotlib-3.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c375cc72229614632c87355366bdf2570c2dac01ac66b8ad048d2dabadf2d0d4"}, + {file = "matplotlib-3.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d94ff717eb2bd0b58fe66380bd8b14ac35f48a98e7c6765117fe67fb7684e64"}, + {file = "matplotlib-3.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab68d50c06938ef28681073327795c5db99bb4666214d2d5f880ed11aeaded66"}, + {file = "matplotlib-3.9.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:65aacf95b62272d568044531e41de26285d54aec8cb859031f511f84bd8b495a"}, + {file = "matplotlib-3.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:3fd595f34aa8a55b7fc8bf9ebea8aa665a84c82d275190a61118d33fbc82ccae"}, + {file = "matplotlib-3.9.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d8dd059447824eec055e829258ab092b56bb0579fc3164fa09c64f3acd478772"}, + {file = "matplotlib-3.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c797dac8bb9c7a3fd3382b16fe8f215b4cf0f22adccea36f1545a6d7be310b41"}, + {file = "matplotlib-3.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d719465db13267bcef19ea8954a971db03b9f48b4647e3860e4bc8e6ed86610f"}, + {file = "matplotlib-3.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8912ef7c2362f7193b5819d17dae8629b34a95c58603d781329712ada83f9447"}, + {file = "matplotlib-3.9.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7741f26a58a240f43bee74965c4882b6c93df3e7eb3de160126d8c8f53a6ae6e"}, + {file = "matplotlib-3.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:ae82a14dab96fbfad7965403c643cafe6515e386de723e498cf3eeb1e0b70cc7"}, + {file = "matplotlib-3.9.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:ac43031375a65c3196bee99f6001e7fa5bdfb00ddf43379d3c0609bdca042df9"}, + {file = "matplotlib-3.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:be0fc24a5e4531ae4d8e858a1a548c1fe33b176bb13eff7f9d0d38ce5112a27d"}, + {file = "matplotlib-3.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf81de2926c2db243c9b2cbc3917619a0fc85796c6ba4e58f541df814bbf83c7"}, + {file = "matplotlib-3.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6ee45bc4245533111ced13f1f2cace1e7f89d1c793390392a80c139d6cf0e6c"}, + {file = "matplotlib-3.9.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:306c8dfc73239f0e72ac50e5a9cf19cc4e8e331dd0c54f5e69ca8758550f1e1e"}, + {file = "matplotlib-3.9.2-cp312-cp312-win_amd64.whl", hash = "sha256:5413401594cfaff0052f9d8b1aafc6d305b4bd7c4331dccd18f561ff7e1d3bd3"}, + {file = "matplotlib-3.9.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:18128cc08f0d3cfff10b76baa2f296fc28c4607368a8402de61bb3f2eb33c7d9"}, + {file = "matplotlib-3.9.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4876d7d40219e8ae8bb70f9263bcbe5714415acfdf781086601211335e24f8aa"}, + {file = "matplotlib-3.9.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d9f07a80deab4bb0b82858a9e9ad53d1382fd122be8cde11080f4e7dfedb38b"}, + {file = "matplotlib-3.9.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7c0410f181a531ec4e93bbc27692f2c71a15c2da16766f5ba9761e7ae518413"}, + {file = "matplotlib-3.9.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:909645cce2dc28b735674ce0931a4ac94e12f5b13f6bb0b5a5e65e7cea2c192b"}, + {file = "matplotlib-3.9.2-cp313-cp313-win_amd64.whl", hash = "sha256:f32c7410c7f246838a77d6d1eff0c0f87f3cb0e7c4247aebea71a6d5a68cab49"}, + {file = "matplotlib-3.9.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:37e51dd1c2db16ede9cfd7b5cabdfc818b2c6397c83f8b10e0e797501c963a03"}, + {file = "matplotlib-3.9.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b82c5045cebcecd8496a4d694d43f9cc84aeeb49fe2133e036b207abe73f4d30"}, + {file = "matplotlib-3.9.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f053c40f94bc51bc03832a41b4f153d83f2062d88c72b5e79997072594e97e51"}, + {file = "matplotlib-3.9.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dbe196377a8248972f5cede786d4c5508ed5f5ca4a1e09b44bda889958b33f8c"}, + {file = "matplotlib-3.9.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5816b1e1fe8c192cbc013f8f3e3368ac56fbecf02fb41b8f8559303f24c5015e"}, + {file = "matplotlib-3.9.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:cef2a73d06601437be399908cf13aee74e86932a5ccc6ccdf173408ebc5f6bb2"}, + {file = "matplotlib-3.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e0830e188029c14e891fadd99702fd90d317df294c3298aad682739c5533721a"}, + {file = "matplotlib-3.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03ba9c1299c920964e8d3857ba27173b4dbb51ca4bab47ffc2c2ba0eb5e2cbc5"}, + {file = "matplotlib-3.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1cd93b91ab47a3616b4d3c42b52f8363b88ca021e340804c6ab2536344fad9ca"}, + {file = "matplotlib-3.9.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6d1ce5ed2aefcdce11904fc5bbea7d9c21fff3d5f543841edf3dea84451a09ea"}, + {file = "matplotlib-3.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:b2696efdc08648536efd4e1601b5fd491fd47f4db97a5fbfd175549a7365c1b2"}, + {file = "matplotlib-3.9.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:d52a3b618cb1cbb769ce2ee1dcdb333c3ab6e823944e9a2d36e37253815f9556"}, + {file = "matplotlib-3.9.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:039082812cacd6c6bec8e17a9c1e6baca230d4116d522e81e1f63a74d01d2e21"}, + {file = "matplotlib-3.9.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6758baae2ed64f2331d4fd19be38b7b4eae3ecec210049a26b6a4f3ae1c85dcc"}, + {file = "matplotlib-3.9.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:050598c2b29e0b9832cde72bcf97627bf00262adbc4a54e2b856426bb2ef0697"}, + {file = "matplotlib-3.9.2.tar.gz", hash = "sha256:96ab43906269ca64a6366934106fa01534454a69e471b7bf3d79083981aaab92"}, +] + +[package.dependencies] +contourpy = ">=1.0.1" +cycler = ">=0.10" +fonttools = ">=4.22.0" +kiwisolver = ">=1.3.1" +numpy = ">=1.23" +packaging = ">=20.0" +pillow = ">=8" +pyparsing = ">=2.3.1" +python-dateutil = ">=2.7" + +[package.extras] +dev = ["meson-python (>=0.13.1)", "numpy (>=1.25)", "pybind11 (>=2.6)", "setuptools (>=64)", "setuptools_scm (>=7)"] + +[[package]] +name = "matplotlib-inline" +version = "0.1.7" +description = "Inline Matplotlib backend for Jupyter" +optional = false +python-versions = ">=3.8" +files = [ + {file = "matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca"}, + {file = "matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90"}, +] + +[package.dependencies] +traitlets = "*" + +[[package]] +name = "mdurl" +version = "0.1.2" +description = "Markdown URL utilities" +optional = false +python-versions = ">=3.7" +files = [ + {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, + {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, +] + +[[package]] +name = "minikanren" +version = "1.0.3" +description = "Relational programming in Python" +optional = false +python-versions = ">=3.6" +files = [ + {file = "miniKanren-1.0.3.tar.gz", hash = "sha256:1ec8bdb01144ad5e8752c7c297fb8a122db920f859276d25a72d164e998d7f6e"}, +] + +[package.dependencies] +cons = ">=0.4.0" +etuples = ">=0.3.1" +logical-unification = ">=0.4.1" +multipledispatch = "*" +toolz = "*" + +[[package]] +name = "multipledispatch" +version = "1.0.0" +description = "Multiple dispatch" +optional = false +python-versions = "*" +files = [ + {file = "multipledispatch-1.0.0-py3-none-any.whl", hash = "sha256:0c53cd8b077546da4e48869f49b13164bebafd0c2a5afceb6bb6a316e7fb46e4"}, + {file = "multipledispatch-1.0.0.tar.gz", hash = "sha256:5c839915465c68206c3e9c473357908216c28383b425361e5d144594bf85a7e0"}, +] + +[[package]] +name = "mypy-extensions" +version = "1.0.0" +description = "Type system extensions for programs checked with the mypy type checker." +optional = false +python-versions = ">=3.5" +files = [ + {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, + {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, +] + +[[package]] +name = "nest-asyncio" +version = "1.6.0" +description = "Patch asyncio to allow nested event loops" +optional = false +python-versions = ">=3.5" +files = [ + {file = "nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c"}, + {file = "nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe"}, +] + +[[package]] +name = "nibabel" +version = "5.3.1" +description = "Access a multitude of neuroimaging data formats" +optional = false +python-versions = ">=3.9" +files = [ + {file = "nibabel-5.3.1-py3-none-any.whl", hash = "sha256:5c04c7139d41a59ef92839f1cabbe73061edd5787340bf2c9a34ed71f0db9d07"}, + {file = "nibabel-5.3.1.tar.gz", hash = "sha256:aec1b75dcf6bd9595a9196ff341b87957c69fb21bc5e38719463478dad83000a"}, +] + +[package.dependencies] +importlib-resources = {version = ">=5.12", markers = "python_version < \"3.12\""} +numpy = ">=1.22" +packaging = ">=20" +typing-extensions = {version = ">=4.6", markers = "python_version < \"3.13\""} + +[package.extras] +all = ["h5py", "pillow", "pydicom (>=2.3)", "pyzstd (>=0.14.3)", "scipy"] +dev = ["tox"] +dicom = ["pydicom (>=2.3)"] +dicomfs = ["pillow", "pydicom (>=2.3)"] +doc = ["matplotlib (>=3.5)", "numpydoc", "sphinx", "texext", "tomli"] +doctest = ["tox"] +minc2 = ["h5py"] +spm = ["scipy"] +style = ["tox"] +test = ["coverage (>=7.2)", "pytest", "pytest-cov", "pytest-doctestplus", "pytest-httpserver", "pytest-xdist"] +typing = ["tox"] +zstd = ["pyzstd (>=0.14.3)"] + +[[package]] +name = "numpy" +version = "1.26.4" +description = "Fundamental package for array computing in Python" +optional = false +python-versions = ">=3.9" +files = [ + {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"}, + {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"}, + {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4"}, + {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"}, + {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a"}, + {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2"}, + {file = "numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07"}, + {file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5"}, + {file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"}, + {file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"}, + {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e"}, + {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5"}, + {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a"}, + {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a"}, + {file = "numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20"}, + {file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2"}, + {file = "numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218"}, + {file = "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b"}, + {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b"}, + {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed"}, + {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a"}, + {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0"}, + {file = "numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110"}, + {file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818"}, + {file = "numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c"}, + {file = "numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be"}, + {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764"}, + {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3"}, + {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd"}, + {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c"}, + {file = "numpy-1.26.4-cp39-cp39-win32.whl", hash = "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6"}, + {file = "numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"}, + {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, +] + +[[package]] +name = "packaging" +version = "24.1" +description = "Core utilities for Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, + {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, +] + +[[package]] +name = "pandas" +version = "2.2.3" +description = "Powerful data structures for data analysis, time series, and statistics" +optional = false +python-versions = ">=3.9" +files = [ + {file = "pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5"}, + {file = "pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348"}, + {file = "pandas-2.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed"}, + {file = "pandas-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57"}, + {file = "pandas-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42"}, + {file = "pandas-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f"}, + {file = "pandas-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645"}, + {file = "pandas-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039"}, + {file = "pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd"}, + {file = "pandas-2.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698"}, + {file = "pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc"}, + {file = "pandas-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3"}, + {file = "pandas-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32"}, + {file = "pandas-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5"}, + {file = "pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9"}, + {file = "pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4"}, + {file = "pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3"}, + {file = "pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319"}, + {file = "pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8"}, + {file = "pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a"}, + {file = "pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13"}, + {file = "pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015"}, + {file = "pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28"}, + {file = "pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0"}, + {file = "pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24"}, + {file = "pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659"}, + {file = "pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb"}, + {file = "pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d"}, + {file = "pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468"}, + {file = "pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18"}, + {file = "pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2"}, + {file = "pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4"}, + {file = "pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d"}, + {file = "pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a"}, + {file = "pandas-2.2.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39"}, + {file = "pandas-2.2.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30"}, + {file = "pandas-2.2.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c"}, + {file = "pandas-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c"}, + {file = "pandas-2.2.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea"}, + {file = "pandas-2.2.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761"}, + {file = "pandas-2.2.3-cp39-cp39-win_amd64.whl", hash = "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e"}, + {file = "pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667"}, +] + +[package.dependencies] +numpy = [ + {version = ">=1.22.4", markers = "python_version < \"3.11\""}, + {version = ">=1.23.2", markers = "python_version == \"3.11\""}, + {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, +] +python-dateutil = ">=2.8.2" +pytz = ">=2020.1" +tzdata = ">=2022.7" + +[package.extras] +all = ["PyQt5 (>=5.15.9)", "SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)", "beautifulsoup4 (>=4.11.2)", "bottleneck (>=1.3.6)", "dataframe-api-compat (>=0.1.7)", "fastparquet (>=2022.12.0)", "fsspec (>=2022.11.0)", "gcsfs (>=2022.11.0)", "html5lib (>=1.1)", "hypothesis (>=6.46.1)", "jinja2 (>=3.1.2)", "lxml (>=4.9.2)", "matplotlib (>=3.6.3)", "numba (>=0.56.4)", "numexpr (>=2.8.4)", "odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "pandas-gbq (>=0.19.0)", "psycopg2 (>=2.9.6)", "pyarrow (>=10.0.1)", "pymysql (>=1.0.2)", "pyreadstat (>=1.2.0)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "qtpy (>=2.3.0)", "s3fs (>=2022.11.0)", "scipy (>=1.10.0)", "tables (>=3.8.0)", "tabulate (>=0.9.0)", "xarray (>=2022.12.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)", "zstandard (>=0.19.0)"] +aws = ["s3fs (>=2022.11.0)"] +clipboard = ["PyQt5 (>=5.15.9)", "qtpy (>=2.3.0)"] +compression = ["zstandard (>=0.19.0)"] +computation = ["scipy (>=1.10.0)", "xarray (>=2022.12.0)"] +consortium-standard = ["dataframe-api-compat (>=0.1.7)"] +excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)"] +feather = ["pyarrow (>=10.0.1)"] +fss = ["fsspec (>=2022.11.0)"] +gcp = ["gcsfs (>=2022.11.0)", "pandas-gbq (>=0.19.0)"] +hdf5 = ["tables (>=3.8.0)"] +html = ["beautifulsoup4 (>=4.11.2)", "html5lib (>=1.1)", "lxml (>=4.9.2)"] +mysql = ["SQLAlchemy (>=2.0.0)", "pymysql (>=1.0.2)"] +output-formatting = ["jinja2 (>=3.1.2)", "tabulate (>=0.9.0)"] +parquet = ["pyarrow (>=10.0.1)"] +performance = ["bottleneck (>=1.3.6)", "numba (>=0.56.4)", "numexpr (>=2.8.4)"] +plot = ["matplotlib (>=3.6.3)"] +postgresql = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "psycopg2 (>=2.9.6)"] +pyarrow = ["pyarrow (>=10.0.1)"] +spss = ["pyreadstat (>=1.2.0)"] +sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)"] +test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"] +xml = ["lxml (>=4.9.2)"] + +[[package]] +name = "parso" +version = "0.8.4" +description = "A Python Parser" +optional = false +python-versions = ">=3.6" +files = [ + {file = "parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18"}, + {file = "parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d"}, +] + +[package.extras] +qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"] +testing = ["docopt", "pytest"] + +[[package]] +name = "pathspec" +version = "0.12.1" +description = "Utility library for gitignore style pattern matching of file paths." +optional = false +python-versions = ">=3.8" +files = [ + {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, + {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, +] + +[[package]] +name = "pexpect" +version = "4.9.0" +description = "Pexpect allows easy control of interactive console applications." +optional = false +python-versions = "*" +files = [ + {file = "pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523"}, + {file = "pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f"}, +] + +[package.dependencies] +ptyprocess = ">=0.5" + +[[package]] +name = "pillow" +version = "11.0.0" +description = "Python Imaging Library (Fork)" +optional = false +python-versions = ">=3.9" +files = [ + {file = "pillow-11.0.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:6619654954dc4936fcff82db8eb6401d3159ec6be81e33c6000dfd76ae189947"}, + {file = "pillow-11.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b3c5ac4bed7519088103d9450a1107f76308ecf91d6dabc8a33a2fcfb18d0fba"}, + {file = "pillow-11.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a65149d8ada1055029fcb665452b2814fe7d7082fcb0c5bed6db851cb69b2086"}, + {file = "pillow-11.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88a58d8ac0cc0e7f3a014509f0455248a76629ca9b604eca7dc5927cc593c5e9"}, + {file = "pillow-11.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:c26845094b1af3c91852745ae78e3ea47abf3dbcd1cf962f16b9a5fbe3ee8488"}, + {file = "pillow-11.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:1a61b54f87ab5786b8479f81c4b11f4d61702830354520837f8cc791ebba0f5f"}, + {file = "pillow-11.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:674629ff60030d144b7bca2b8330225a9b11c482ed408813924619c6f302fdbb"}, + {file = "pillow-11.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:598b4e238f13276e0008299bd2482003f48158e2b11826862b1eb2ad7c768b97"}, + {file = "pillow-11.0.0-cp310-cp310-win32.whl", hash = "sha256:9a0f748eaa434a41fccf8e1ee7a3eed68af1b690e75328fd7a60af123c193b50"}, + {file = "pillow-11.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:a5629742881bcbc1f42e840af185fd4d83a5edeb96475a575f4da50d6ede337c"}, + {file = "pillow-11.0.0-cp310-cp310-win_arm64.whl", hash = "sha256:ee217c198f2e41f184f3869f3e485557296d505b5195c513b2bfe0062dc537f1"}, + {file = "pillow-11.0.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:1c1d72714f429a521d8d2d018badc42414c3077eb187a59579f28e4270b4b0fc"}, + {file = "pillow-11.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:499c3a1b0d6fc8213519e193796eb1a86a1be4b1877d678b30f83fd979811d1a"}, + {file = "pillow-11.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c8b2351c85d855293a299038e1f89db92a2f35e8d2f783489c6f0b2b5f3fe8a3"}, + {file = "pillow-11.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f4dba50cfa56f910241eb7f883c20f1e7b1d8f7d91c750cd0b318bad443f4d5"}, + {file = "pillow-11.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:5ddbfd761ee00c12ee1be86c9c0683ecf5bb14c9772ddbd782085779a63dd55b"}, + {file = "pillow-11.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:45c566eb10b8967d71bf1ab8e4a525e5a93519e29ea071459ce517f6b903d7fa"}, + {file = "pillow-11.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b4fd7bd29610a83a8c9b564d457cf5bd92b4e11e79a4ee4716a63c959699b306"}, + {file = "pillow-11.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:cb929ca942d0ec4fac404cbf520ee6cac37bf35be479b970c4ffadf2b6a1cad9"}, + {file = "pillow-11.0.0-cp311-cp311-win32.whl", hash = "sha256:006bcdd307cc47ba43e924099a038cbf9591062e6c50e570819743f5607404f5"}, + {file = "pillow-11.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:52a2d8323a465f84faaba5236567d212c3668f2ab53e1c74c15583cf507a0291"}, + {file = "pillow-11.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:16095692a253047fe3ec028e951fa4221a1f3ed3d80c397e83541a3037ff67c9"}, + {file = "pillow-11.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d2c0a187a92a1cb5ef2c8ed5412dd8d4334272617f532d4ad4de31e0495bd923"}, + {file = "pillow-11.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:084a07ef0821cfe4858fe86652fffac8e187b6ae677e9906e192aafcc1b69903"}, + {file = "pillow-11.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8069c5179902dcdce0be9bfc8235347fdbac249d23bd90514b7a47a72d9fecf4"}, + {file = "pillow-11.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f02541ef64077f22bf4924f225c0fd1248c168f86e4b7abdedd87d6ebaceab0f"}, + {file = "pillow-11.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:fcb4621042ac4b7865c179bb972ed0da0218a076dc1820ffc48b1d74c1e37fe9"}, + {file = "pillow-11.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:00177a63030d612148e659b55ba99527803288cea7c75fb05766ab7981a8c1b7"}, + {file = "pillow-11.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8853a3bf12afddfdf15f57c4b02d7ded92c7a75a5d7331d19f4f9572a89c17e6"}, + {file = "pillow-11.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3107c66e43bda25359d5ef446f59c497de2b5ed4c7fdba0894f8d6cf3822dafc"}, + {file = "pillow-11.0.0-cp312-cp312-win32.whl", hash = "sha256:86510e3f5eca0ab87429dd77fafc04693195eec7fd6a137c389c3eeb4cfb77c6"}, + {file = "pillow-11.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:8ec4a89295cd6cd4d1058a5e6aec6bf51e0eaaf9714774e1bfac7cfc9051db47"}, + {file = "pillow-11.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:27a7860107500d813fcd203b4ea19b04babe79448268403172782754870dac25"}, + {file = "pillow-11.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:bcd1fb5bb7b07f64c15618c89efcc2cfa3e95f0e3bcdbaf4642509de1942a699"}, + {file = "pillow-11.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0e038b0745997c7dcaae350d35859c9715c71e92ffb7e0f4a8e8a16732150f38"}, + {file = "pillow-11.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ae08bd8ffc41aebf578c2af2f9d8749d91f448b3bfd41d7d9ff573d74f2a6b2"}, + {file = "pillow-11.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d69bfd8ec3219ae71bcde1f942b728903cad25fafe3100ba2258b973bd2bc1b2"}, + {file = "pillow-11.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:61b887f9ddba63ddf62fd02a3ba7add935d053b6dd7d58998c630e6dbade8527"}, + {file = "pillow-11.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:c6a660307ca9d4867caa8d9ca2c2658ab685de83792d1876274991adec7b93fa"}, + {file = "pillow-11.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:73e3a0200cdda995c7e43dd47436c1548f87a30bb27fb871f352a22ab8dcf45f"}, + {file = "pillow-11.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fba162b8872d30fea8c52b258a542c5dfd7b235fb5cb352240c8d63b414013eb"}, + {file = "pillow-11.0.0-cp313-cp313-win32.whl", hash = "sha256:f1b82c27e89fffc6da125d5eb0ca6e68017faf5efc078128cfaa42cf5cb38798"}, + {file = "pillow-11.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:8ba470552b48e5835f1d23ecb936bb7f71d206f9dfeee64245f30c3270b994de"}, + {file = "pillow-11.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:846e193e103b41e984ac921b335df59195356ce3f71dcfd155aa79c603873b84"}, + {file = "pillow-11.0.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4ad70c4214f67d7466bea6a08061eba35c01b1b89eaa098040a35272a8efb22b"}, + {file = "pillow-11.0.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:6ec0d5af64f2e3d64a165f490d96368bb5dea8b8f9ad04487f9ab60dc4bb6003"}, + {file = "pillow-11.0.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c809a70e43c7977c4a42aefd62f0131823ebf7dd73556fa5d5950f5b354087e2"}, + {file = "pillow-11.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:4b60c9520f7207aaf2e1d94de026682fc227806c6e1f55bba7606d1c94dd623a"}, + {file = "pillow-11.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:1e2688958a840c822279fda0086fec1fdab2f95bf2b717b66871c4ad9859d7e8"}, + {file = "pillow-11.0.0-cp313-cp313t-win32.whl", hash = "sha256:607bbe123c74e272e381a8d1957083a9463401f7bd01287f50521ecb05a313f8"}, + {file = "pillow-11.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5c39ed17edea3bc69c743a8dd3e9853b7509625c2462532e62baa0732163a904"}, + {file = "pillow-11.0.0-cp313-cp313t-win_arm64.whl", hash = "sha256:75acbbeb05b86bc53cbe7b7e6fe00fbcf82ad7c684b3ad82e3d711da9ba287d3"}, + {file = "pillow-11.0.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:2e46773dc9f35a1dd28bd6981332fd7f27bec001a918a72a79b4133cf5291dba"}, + {file = "pillow-11.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2679d2258b7f1192b378e2893a8a0a0ca472234d4c2c0e6bdd3380e8dfa21b6a"}, + {file = "pillow-11.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eda2616eb2313cbb3eebbe51f19362eb434b18e3bb599466a1ffa76a033fb916"}, + {file = "pillow-11.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20ec184af98a121fb2da42642dea8a29ec80fc3efbaefb86d8fdd2606619045d"}, + {file = "pillow-11.0.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:8594f42df584e5b4bb9281799698403f7af489fba84c34d53d1c4bfb71b7c4e7"}, + {file = "pillow-11.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:c12b5ae868897c7338519c03049a806af85b9b8c237b7d675b8c5e089e4a618e"}, + {file = "pillow-11.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:70fbbdacd1d271b77b7721fe3cdd2d537bbbd75d29e6300c672ec6bb38d9672f"}, + {file = "pillow-11.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5178952973e588b3f1360868847334e9e3bf49d19e169bbbdfaf8398002419ae"}, + {file = "pillow-11.0.0-cp39-cp39-win32.whl", hash = "sha256:8c676b587da5673d3c75bd67dd2a8cdfeb282ca38a30f37950511766b26858c4"}, + {file = "pillow-11.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:94f3e1780abb45062287b4614a5bc0874519c86a777d4a7ad34978e86428b8dd"}, + {file = "pillow-11.0.0-cp39-cp39-win_arm64.whl", hash = "sha256:290f2cc809f9da7d6d622550bbf4c1e57518212da51b6a30fe8e0a270a5b78bd"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1187739620f2b365de756ce086fdb3604573337cc28a0d3ac4a01ab6b2d2a6d2"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:fbbcb7b57dc9c794843e3d1258c0fbf0f48656d46ffe9e09b63bbd6e8cd5d0a2"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d203af30149ae339ad1b4f710d9844ed8796e97fda23ffbc4cc472968a47d0b"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21a0d3b115009ebb8ac3d2ebec5c2982cc693da935f4ab7bb5c8ebe2f47d36f2"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:73853108f56df97baf2bb8b522f3578221e56f646ba345a372c78326710d3830"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e58876c91f97b0952eb766123bfef372792ab3f4e3e1f1a2267834c2ab131734"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:224aaa38177597bb179f3ec87eeefcce8e4f85e608025e9cfac60de237ba6316"}, + {file = "pillow-11.0.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:5bd2d3bdb846d757055910f0a59792d33b555800813c3b39ada1829c372ccb06"}, + {file = "pillow-11.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:375b8dd15a1f5d2feafff536d47e22f69625c1aa92f12b339ec0b2ca40263273"}, + {file = "pillow-11.0.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:daffdf51ee5db69a82dd127eabecce20729e21f7a3680cf7cbb23f0829189790"}, + {file = "pillow-11.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7326a1787e3c7b0429659e0a944725e1b03eeaa10edd945a86dead1913383944"}, + {file = "pillow-11.0.0.tar.gz", hash = "sha256:72bacbaf24ac003fea9bff9837d1eedb6088758d41e100c1552930151f677739"}, +] + +[package.extras] +docs = ["furo", "olefile", "sphinx (>=8.1)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinxext-opengraph"] +fpx = ["olefile"] +mic = ["olefile"] +tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] +typing = ["typing-extensions"] +xmp = ["defusedxml"] + +[[package]] +name = "platformdirs" +version = "4.3.6" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." +optional = false +python-versions = ">=3.8" +files = [ + {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, + {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, +] + +[package.extras] +docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] +type = ["mypy (>=1.11.2)"] + +[[package]] +name = "pluggy" +version = "1.5.0" +description = "plugin and hook calling mechanisms for python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, + {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, +] + +[package.extras] +dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] + +[[package]] +name = "prompt-toolkit" +version = "3.0.48" +description = "Library for building powerful interactive command lines in Python" +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "prompt_toolkit-3.0.48-py3-none-any.whl", hash = "sha256:f49a827f90062e411f1ce1f854f2aedb3c23353244f8108b89283587397ac10e"}, + {file = "prompt_toolkit-3.0.48.tar.gz", hash = "sha256:d6623ab0477a80df74e646bdbc93621143f5caf104206aa29294d53de1a03d90"}, +] + +[package.dependencies] +wcwidth = "*" + +[[package]] +name = "psutil" +version = "6.1.0" +description = "Cross-platform lib for process and system monitoring in Python." +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +files = [ + {file = "psutil-6.1.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ff34df86226c0227c52f38b919213157588a678d049688eded74c76c8ba4a5d0"}, + {file = "psutil-6.1.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:c0e0c00aa18ca2d3b2b991643b799a15fc8f0563d2ebb6040f64ce8dc027b942"}, + {file = "psutil-6.1.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:000d1d1ebd634b4efb383f4034437384e44a6d455260aaee2eca1e9c1b55f047"}, + {file = "psutil-6.1.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:5cd2bcdc75b452ba2e10f0e8ecc0b57b827dd5d7aaffbc6821b2a9a242823a76"}, + {file = "psutil-6.1.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:045f00a43c737f960d273a83973b2511430d61f283a44c96bf13a6e829ba8fdc"}, + {file = "psutil-6.1.0-cp27-none-win32.whl", hash = "sha256:9118f27452b70bb1d9ab3198c1f626c2499384935aaf55388211ad982611407e"}, + {file = "psutil-6.1.0-cp27-none-win_amd64.whl", hash = "sha256:a8506f6119cff7015678e2bce904a4da21025cc70ad283a53b099e7620061d85"}, + {file = "psutil-6.1.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:6e2dcd475ce8b80522e51d923d10c7871e45f20918e027ab682f94f1c6351688"}, + {file = "psutil-6.1.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:0895b8414afafc526712c498bd9de2b063deaac4021a3b3c34566283464aff8e"}, + {file = "psutil-6.1.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9dcbfce5d89f1d1f2546a2090f4fcf87c7f669d1d90aacb7d7582addece9fb38"}, + {file = "psutil-6.1.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:498c6979f9c6637ebc3a73b3f87f9eb1ec24e1ce53a7c5173b8508981614a90b"}, + {file = "psutil-6.1.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d905186d647b16755a800e7263d43df08b790d709d575105d419f8b6ef65423a"}, + {file = "psutil-6.1.0-cp36-cp36m-win32.whl", hash = "sha256:6d3fbbc8d23fcdcb500d2c9f94e07b1342df8ed71b948a2649b5cb060a7c94ca"}, + {file = "psutil-6.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:1209036fbd0421afde505a4879dee3b2fd7b1e14fee81c0069807adcbbcca747"}, + {file = "psutil-6.1.0-cp37-abi3-win32.whl", hash = "sha256:1ad45a1f5d0b608253b11508f80940985d1d0c8f6111b5cb637533a0e6ddc13e"}, + {file = "psutil-6.1.0-cp37-abi3-win_amd64.whl", hash = "sha256:a8fb3752b491d246034fa4d279ff076501588ce8cbcdbb62c32fd7a377d996be"}, + {file = "psutil-6.1.0.tar.gz", hash = "sha256:353815f59a7f64cdaca1c0307ee13558a0512f6db064e92fe833784f08539c7a"}, +] + +[package.extras] +dev = ["black", "check-manifest", "coverage", "packaging", "pylint", "pyperf", "pypinfo", "pytest-cov", "requests", "rstcheck", "ruff", "sphinx", "sphinx_rtd_theme", "toml-sort", "twine", "virtualenv", "wheel"] +test = ["pytest", "pytest-xdist", "setuptools"] + +[[package]] +name = "ptyprocess" +version = "0.7.0" +description = "Run a subprocess in a pseudo terminal" +optional = false +python-versions = "*" +files = [ + {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, + {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, +] + +[[package]] +name = "pure-eval" +version = "0.2.3" +description = "Safely evaluate AST nodes without side effects" +optional = false +python-versions = "*" +files = [ + {file = "pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0"}, + {file = "pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42"}, +] + +[package.extras] +tests = ["pytest"] + +[[package]] +name = "pycparser" +version = "2.22" +description = "C parser in Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, + {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, +] + +[[package]] +name = "pygments" +version = "2.18.0" +description = "Pygments is a syntax highlighting package written in Python." +optional = false +python-versions = ">=3.8" +files = [ + {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"}, + {file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"}, +] + +[package.extras] +windows-terminal = ["colorama (>=0.4.6)"] + +[[package]] +name = "pymc" +version = "5.17.0" +description = "Probabilistic Programming in Python: Bayesian Modeling and Probabilistic Machine Learning with PyTensor" +optional = false +python-versions = ">=3.10" +files = [ + {file = "pymc-5.17.0-py3-none-any.whl", hash = "sha256:1f6614589ab9095e79a98afb8bf173ea9810b4439591649e282708e3589c95e9"}, + {file = "pymc-5.17.0.tar.gz", hash = "sha256:3b7810f770c7aeab3087e289fadc97252ad423f3aa3f42b5715648f13df2aab7"}, +] + +[package.dependencies] +arviz = ">=0.13.0" +cachetools = ">=4.2.1" +cloudpickle = "*" +numpy = ">=1.15.0" +pandas = ">=0.24.0" +pytensor = ">=2.25.1,<2.26" +rich = ">=13.7.1" +scipy = ">=1.4.1" +threadpoolctl = ">=3.1.0,<4.0.0" +typing-extensions = ">=3.7.4" + +[[package]] +name = "pyparsing" +version = "3.2.0" +description = "pyparsing module - Classes and methods to define and execute parsing grammars" +optional = false +python-versions = ">=3.9" +files = [ + {file = "pyparsing-3.2.0-py3-none-any.whl", hash = "sha256:93d9577b88da0bbea8cc8334ee8b918ed014968fd2ec383e868fb8afb1ccef84"}, + {file = "pyparsing-3.2.0.tar.gz", hash = "sha256:cbf74e27246d595d9a74b186b810f6fbb86726dbf3b9532efb343f6d7294fe9c"}, +] + +[package.extras] +diagrams = ["jinja2", "railroad-diagrams"] + +[[package]] +name = "pytensor" +version = "2.25.5" +description = "Optimizing compiler for evaluating mathematical expressions on CPUs and GPUs." +optional = false +python-versions = "<3.13,>=3.10" +files = [ + {file = "pytensor-2.25.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:23ffac5ce99089abe3b6e1ae0c957f3af2a382209fb5894eb42acba0e01b96bf"}, + {file = "pytensor-2.25.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:29754160a84ade77b63e1690aad8306da3b8f6f8e35c8ac5d36d1b19066b5f8d"}, + {file = "pytensor-2.25.5-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:51ea5083ec4760e6cfda48422d1b69e88d1b68e0f9a4aca41b0a89a4f38a1da7"}, + {file = "pytensor-2.25.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:343000f352c12ec36f5307d5c9ff7d8aba6dfa651be8c26b824d75cbad29d776"}, + {file = "pytensor-2.25.5-cp310-cp310-win_amd64.whl", hash = "sha256:50264e6365578ee15298f23578ddc00cec4f015c1cb77dafbb6c3216b11f689c"}, + {file = "pytensor-2.25.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a97e769900718fea3a0efd2a4c452775786ca3bd7966c6510e89a1356e516d55"}, + {file = "pytensor-2.25.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb7f6a370a99095850949798ee0ada38ace5132172fcbb4272398e687de5b417"}, + {file = "pytensor-2.25.5-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:930429bdf5cee35868a06a9d075f2fb40b3471708a61bea62cfafd21aaa0811e"}, + {file = "pytensor-2.25.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:78686d9e26b26da2f0824f1f5a297f153b948a93c46e527d43d7337fe31e5afb"}, + {file = "pytensor-2.25.5-cp311-cp311-win_amd64.whl", hash = "sha256:8a7b9dc112e3cef8e05641da9429a46fe1cd9d3b3bf11763c3500bc941c49fc7"}, + {file = "pytensor-2.25.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f15cf74eff5e53854f9e74ac4991ae850e48641ccbb211200d214c599b76d691"}, + {file = "pytensor-2.25.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c99f2aed904178c59fac57f5a760b547f7c1c14c20d31e41721fbebf9e47cf1"}, + {file = "pytensor-2.25.5-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0c973a8a682854eb47378db33cfb5bc63ba5a868b5749fe79b2846e6795ff46d"}, + {file = "pytensor-2.25.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:16344b21bd70eb689c7db7ab91eec556012c08e9ad8a7cbeb42812d53f89a64e"}, + {file = "pytensor-2.25.5-cp312-cp312-win_amd64.whl", hash = "sha256:5edaa549903a8be02e6dcf56110d5cf523b6249460c455138e36686928a6c5a7"}, + {file = "pytensor-2.25.5-py2.py3-none-any.whl", hash = "sha256:92271932118e4d9e6528eeba1cdd0e9e8f2d05d8493eb394da2cd8cf09c8836e"}, + {file = "pytensor-2.25.5.tar.gz", hash = "sha256:f8b9f7d637104b2fc7fdd9c50219cc639744b718572c034b7cb8fe8f5051da92"}, +] + +[package.dependencies] +cons = "*" +etuples = "*" +filelock = ">=3.15" +logical-unification = "*" +miniKanren = "*" +numpy = ">=1.17.0,<2" +scipy = ">=1,<2" +setuptools = ">=59.0.0" + +[package.extras] +complete = ["pytensor[jax]", "pytensor[numba]"] +development = ["pytensor[complete]", "pytensor[rtd]", "pytensor[tests]"] +jax = ["jax", "jaxlib"] +numba = ["llvmlite", "numba (>=0.57)"] +rtd = ["pydot", "pydot-ng", "pydot2", "pygments", "sphinx (>=5.1.0,<6)"] +tests = ["coverage (>=5.1)", "pre-commit", "pytest", "pytest-benchmark", "pytest-cov (>=2.6.1)", "pytest-mock", "pytest-sphinx"] + +[[package]] +name = "pytest" +version = "8.3.3" +description = "pytest: simple powerful testing with Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pytest-8.3.3-py3-none-any.whl", hash = "sha256:a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2"}, + {file = "pytest-8.3.3.tar.gz", hash = "sha256:70b98107bd648308a7952b06e6ca9a50bc660be218d53c257cc1fc94fda10181"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=1.5,<2" +tomli = {version = ">=1", markers = "python_version < \"3.11\""} + +[package.extras] +dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +description = "Extensions to the standard Python datetime module" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +files = [ + {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, +] + +[package.dependencies] +six = ">=1.5" + +[[package]] +name = "pytz" +version = "2024.2" +description = "World timezone definitions, modern and historical" +optional = false +python-versions = "*" +files = [ + {file = "pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"}, + {file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"}, +] + +[[package]] +name = "pywin32" +version = "308" +description = "Python for Window Extensions" +optional = false +python-versions = "*" +files = [ + {file = "pywin32-308-cp310-cp310-win32.whl", hash = "sha256:796ff4426437896550d2981b9c2ac0ffd75238ad9ea2d3bfa67a1abd546d262e"}, + {file = "pywin32-308-cp310-cp310-win_amd64.whl", hash = "sha256:4fc888c59b3c0bef905ce7eb7e2106a07712015ea1c8234b703a088d46110e8e"}, + {file = "pywin32-308-cp310-cp310-win_arm64.whl", hash = "sha256:a5ab5381813b40f264fa3495b98af850098f814a25a63589a8e9eb12560f450c"}, + {file = "pywin32-308-cp311-cp311-win32.whl", hash = "sha256:5d8c8015b24a7d6855b1550d8e660d8daa09983c80e5daf89a273e5c6fb5095a"}, + {file = "pywin32-308-cp311-cp311-win_amd64.whl", hash = "sha256:575621b90f0dc2695fec346b2d6302faebd4f0f45c05ea29404cefe35d89442b"}, + {file = "pywin32-308-cp311-cp311-win_arm64.whl", hash = "sha256:100a5442b7332070983c4cd03f2e906a5648a5104b8a7f50175f7906efd16bb6"}, + {file = "pywin32-308-cp312-cp312-win32.whl", hash = "sha256:587f3e19696f4bf96fde9d8a57cec74a57021ad5f204c9e627e15c33ff568897"}, + {file = "pywin32-308-cp312-cp312-win_amd64.whl", hash = "sha256:00b3e11ef09ede56c6a43c71f2d31857cf7c54b0ab6e78ac659497abd2834f47"}, + {file = "pywin32-308-cp312-cp312-win_arm64.whl", hash = "sha256:9b4de86c8d909aed15b7011182c8cab38c8850de36e6afb1f0db22b8959e3091"}, + {file = "pywin32-308-cp313-cp313-win32.whl", hash = "sha256:1c44539a37a5b7b21d02ab34e6a4d314e0788f1690d65b48e9b0b89f31abbbed"}, + {file = "pywin32-308-cp313-cp313-win_amd64.whl", hash = "sha256:fd380990e792eaf6827fcb7e187b2b4b1cede0585e3d0c9e84201ec27b9905e4"}, + {file = "pywin32-308-cp313-cp313-win_arm64.whl", hash = "sha256:ef313c46d4c18dfb82a2431e3051ac8f112ccee1a34f29c263c583c568db63cd"}, + {file = "pywin32-308-cp37-cp37m-win32.whl", hash = "sha256:1f696ab352a2ddd63bd07430080dd598e6369152ea13a25ebcdd2f503a38f1ff"}, + {file = "pywin32-308-cp37-cp37m-win_amd64.whl", hash = "sha256:13dcb914ed4347019fbec6697a01a0aec61019c1046c2b905410d197856326a6"}, + {file = "pywin32-308-cp38-cp38-win32.whl", hash = "sha256:5794e764ebcabf4ff08c555b31bd348c9025929371763b2183172ff4708152f0"}, + {file = "pywin32-308-cp38-cp38-win_amd64.whl", hash = "sha256:3b92622e29d651c6b783e368ba7d6722b1634b8e70bd376fd7610fe1992e19de"}, + {file = "pywin32-308-cp39-cp39-win32.whl", hash = "sha256:7873ca4dc60ab3287919881a7d4f88baee4a6e639aa6962de25a98ba6b193341"}, + {file = "pywin32-308-cp39-cp39-win_amd64.whl", hash = "sha256:71b3322d949b4cc20776436a9c9ba0eeedcbc9c650daa536df63f0ff111bb920"}, +] + +[[package]] +name = "pyzmq" +version = "26.2.0" +description = "Python bindings for 0MQ" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:ddf33d97d2f52d89f6e6e7ae66ee35a4d9ca6f36eda89c24591b0c40205a3629"}, + {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dacd995031a01d16eec825bf30802fceb2c3791ef24bcce48fa98ce40918c27b"}, + {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89289a5ee32ef6c439086184529ae060c741334b8970a6855ec0b6ad3ff28764"}, + {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5506f06d7dc6ecf1efacb4a013b1f05071bb24b76350832c96449f4a2d95091c"}, + {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ea039387c10202ce304af74def5021e9adc6297067f3441d348d2b633e8166a"}, + {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a2224fa4a4c2ee872886ed00a571f5e967c85e078e8e8c2530a2fb01b3309b88"}, + {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:28ad5233e9c3b52d76196c696e362508959741e1a005fb8fa03b51aea156088f"}, + {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:1c17211bc037c7d88e85ed8b7d8f7e52db6dc8eca5590d162717c654550f7282"}, + {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b8f86dd868d41bea9a5f873ee13bf5551c94cf6bc51baebc6f85075971fe6eea"}, + {file = "pyzmq-26.2.0-cp310-cp310-win32.whl", hash = "sha256:46a446c212e58456b23af260f3d9fb785054f3e3653dbf7279d8f2b5546b21c2"}, + {file = "pyzmq-26.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:49d34ab71db5a9c292a7644ce74190b1dd5a3475612eefb1f8be1d6961441971"}, + {file = "pyzmq-26.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:bfa832bfa540e5b5c27dcf5de5d82ebc431b82c453a43d141afb1e5d2de025fa"}, + {file = "pyzmq-26.2.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:8f7e66c7113c684c2b3f1c83cdd3376103ee0ce4c49ff80a648643e57fb22218"}, + {file = "pyzmq-26.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3a495b30fc91db2db25120df5847d9833af237546fd59170701acd816ccc01c4"}, + {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77eb0968da535cba0470a5165468b2cac7772cfb569977cff92e240f57e31bef"}, + {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ace4f71f1900a548f48407fc9be59c6ba9d9aaf658c2eea6cf2779e72f9f317"}, + {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92a78853d7280bffb93df0a4a6a2498cba10ee793cc8076ef797ef2f74d107cf"}, + {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:689c5d781014956a4a6de61d74ba97b23547e431e9e7d64f27d4922ba96e9d6e"}, + {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0aca98bc423eb7d153214b2df397c6421ba6373d3397b26c057af3c904452e37"}, + {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1f3496d76b89d9429a656293744ceca4d2ac2a10ae59b84c1da9b5165f429ad3"}, + {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5c2b3bfd4b9689919db068ac6c9911f3fcb231c39f7dd30e3138be94896d18e6"}, + {file = "pyzmq-26.2.0-cp311-cp311-win32.whl", hash = "sha256:eac5174677da084abf378739dbf4ad245661635f1600edd1221f150b165343f4"}, + {file = "pyzmq-26.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:5a509df7d0a83a4b178d0f937ef14286659225ef4e8812e05580776c70e155d5"}, + {file = "pyzmq-26.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:c0e6091b157d48cbe37bd67233318dbb53e1e6327d6fc3bb284afd585d141003"}, + {file = "pyzmq-26.2.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:ded0fc7d90fe93ae0b18059930086c51e640cdd3baebdc783a695c77f123dcd9"}, + {file = "pyzmq-26.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:17bf5a931c7f6618023cdacc7081f3f266aecb68ca692adac015c383a134ca52"}, + {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55cf66647e49d4621a7e20c8d13511ef1fe1efbbccf670811864452487007e08"}, + {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4661c88db4a9e0f958c8abc2b97472e23061f0bc737f6f6179d7a27024e1faa5"}, + {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea7f69de383cb47522c9c208aec6dd17697db7875a4674c4af3f8cfdac0bdeae"}, + {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:7f98f6dfa8b8ccaf39163ce872bddacca38f6a67289116c8937a02e30bbe9711"}, + {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e3e0210287329272539eea617830a6a28161fbbd8a3271bf4150ae3e58c5d0e6"}, + {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6b274e0762c33c7471f1a7471d1a2085b1a35eba5cdc48d2ae319f28b6fc4de3"}, + {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:29c6a4635eef69d68a00321e12a7d2559fe2dfccfa8efae3ffb8e91cd0b36a8b"}, + {file = "pyzmq-26.2.0-cp312-cp312-win32.whl", hash = "sha256:989d842dc06dc59feea09e58c74ca3e1678c812a4a8a2a419046d711031f69c7"}, + {file = "pyzmq-26.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:2a50625acdc7801bc6f74698c5c583a491c61d73c6b7ea4dee3901bb99adb27a"}, + {file = "pyzmq-26.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:4d29ab8592b6ad12ebbf92ac2ed2bedcfd1cec192d8e559e2e099f648570e19b"}, + {file = "pyzmq-26.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9dd8cd1aeb00775f527ec60022004d030ddc51d783d056e3e23e74e623e33726"}, + {file = "pyzmq-26.2.0-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:28c812d9757fe8acecc910c9ac9dafd2ce968c00f9e619db09e9f8f54c3a68a3"}, + {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d80b1dd99c1942f74ed608ddb38b181b87476c6a966a88a950c7dee118fdf50"}, + {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8c997098cc65e3208eca09303630e84d42718620e83b733d0fd69543a9cab9cb"}, + {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ad1bc8d1b7a18497dda9600b12dc193c577beb391beae5cd2349184db40f187"}, + {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:bea2acdd8ea4275e1278350ced63da0b166421928276c7c8e3f9729d7402a57b"}, + {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:23f4aad749d13698f3f7b64aad34f5fc02d6f20f05999eebc96b89b01262fb18"}, + {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:a4f96f0d88accc3dbe4a9025f785ba830f968e21e3e2c6321ccdfc9aef755115"}, + {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ced65e5a985398827cc9276b93ef6dfabe0273c23de8c7931339d7e141c2818e"}, + {file = "pyzmq-26.2.0-cp313-cp313-win32.whl", hash = "sha256:31507f7b47cc1ead1f6e86927f8ebb196a0bab043f6345ce070f412a59bf87b5"}, + {file = "pyzmq-26.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:70fc7fcf0410d16ebdda9b26cbd8bf8d803d220a7f3522e060a69a9c87bf7bad"}, + {file = "pyzmq-26.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:c3789bd5768ab5618ebf09cef6ec2b35fed88709b104351748a63045f0ff9797"}, + {file = "pyzmq-26.2.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:034da5fc55d9f8da09015d368f519478a52675e558c989bfcb5cf6d4e16a7d2a"}, + {file = "pyzmq-26.2.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:c92d73464b886931308ccc45b2744e5968cbaade0b1d6aeb40d8ab537765f5bc"}, + {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:794a4562dcb374f7dbbfb3f51d28fb40123b5a2abadee7b4091f93054909add5"}, + {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aee22939bb6075e7afededabad1a56a905da0b3c4e3e0c45e75810ebe3a52672"}, + {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ae90ff9dad33a1cfe947d2c40cb9cb5e600d759ac4f0fd22616ce6540f72797"}, + {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:43a47408ac52647dfabbc66a25b05b6a61700b5165807e3fbd40063fcaf46386"}, + {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:25bf2374a2a8433633c65ccb9553350d5e17e60c8eb4de4d92cc6bd60f01d306"}, + {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:007137c9ac9ad5ea21e6ad97d3489af654381324d5d3ba614c323f60dab8fae6"}, + {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:470d4a4f6d48fb34e92d768b4e8a5cc3780db0d69107abf1cd7ff734b9766eb0"}, + {file = "pyzmq-26.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3b55a4229ce5da9497dd0452b914556ae58e96a4381bb6f59f1305dfd7e53fc8"}, + {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9cb3a6460cdea8fe8194a76de8895707e61ded10ad0be97188cc8463ffa7e3a8"}, + {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8ab5cad923cc95c87bffee098a27856c859bd5d0af31bd346035aa816b081fe1"}, + {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ed69074a610fad1c2fda66180e7b2edd4d31c53f2d1872bc2d1211563904cd9"}, + {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:cccba051221b916a4f5e538997c45d7d136a5646442b1231b916d0164067ea27"}, + {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:0eaa83fc4c1e271c24eaf8fb083cbccef8fde77ec8cd45f3c35a9a123e6da097"}, + {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:9edda2df81daa129b25a39b86cb57dfdfe16f7ec15b42b19bfac503360d27a93"}, + {file = "pyzmq-26.2.0-cp37-cp37m-win32.whl", hash = "sha256:ea0eb6af8a17fa272f7b98d7bebfab7836a0d62738e16ba380f440fceca2d951"}, + {file = "pyzmq-26.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:4ff9dc6bc1664bb9eec25cd17506ef6672d506115095411e237d571e92a58231"}, + {file = "pyzmq-26.2.0-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:2eb7735ee73ca1b0d71e0e67c3739c689067f055c764f73aac4cc8ecf958ee3f"}, + {file = "pyzmq-26.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a534f43bc738181aa7cbbaf48e3eca62c76453a40a746ab95d4b27b1111a7d2"}, + {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:aedd5dd8692635813368e558a05266b995d3d020b23e49581ddd5bbe197a8ab6"}, + {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8be4700cd8bb02cc454f630dcdf7cfa99de96788b80c51b60fe2fe1dac480289"}, + {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fcc03fa4997c447dce58264e93b5aa2d57714fbe0f06c07b7785ae131512732"}, + {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:402b190912935d3db15b03e8f7485812db350d271b284ded2b80d2e5704be780"}, + {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8685fa9c25ff00f550c1fec650430c4b71e4e48e8d852f7ddcf2e48308038640"}, + {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:76589c020680778f06b7e0b193f4b6dd66d470234a16e1df90329f5e14a171cd"}, + {file = "pyzmq-26.2.0-cp38-cp38-win32.whl", hash = "sha256:8423c1877d72c041f2c263b1ec6e34360448decfb323fa8b94e85883043ef988"}, + {file = "pyzmq-26.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:76589f2cd6b77b5bdea4fca5992dc1c23389d68b18ccc26a53680ba2dc80ff2f"}, + {file = "pyzmq-26.2.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:b1d464cb8d72bfc1a3adc53305a63a8e0cac6bc8c5a07e8ca190ab8d3faa43c2"}, + {file = "pyzmq-26.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4da04c48873a6abdd71811c5e163bd656ee1b957971db7f35140a2d573f6949c"}, + {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d049df610ac811dcffdc147153b414147428567fbbc8be43bb8885f04db39d98"}, + {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:05590cdbc6b902101d0e65d6a4780af14dc22914cc6ab995d99b85af45362cc9"}, + {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c811cfcd6a9bf680236c40c6f617187515269ab2912f3d7e8c0174898e2519db"}, + {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6835dd60355593de10350394242b5757fbbd88b25287314316f266e24c61d073"}, + {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc6bee759a6bddea5db78d7dcd609397449cb2d2d6587f48f3ca613b19410cfc"}, + {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c530e1eecd036ecc83c3407f77bb86feb79916d4a33d11394b8234f3bd35b940"}, + {file = "pyzmq-26.2.0-cp39-cp39-win32.whl", hash = "sha256:367b4f689786fca726ef7a6c5ba606958b145b9340a5e4808132cc65759abd44"}, + {file = "pyzmq-26.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:e6fa2e3e683f34aea77de8112f6483803c96a44fd726d7358b9888ae5bb394ec"}, + {file = "pyzmq-26.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:7445be39143a8aa4faec43b076e06944b8f9d0701b669df4af200531b21e40bb"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:706e794564bec25819d21a41c31d4df2d48e1cc4b061e8d345d7fb4dd3e94072"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b435f2753621cd36e7c1762156815e21c985c72b19135dac43a7f4f31d28dd1"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:160c7e0a5eb178011e72892f99f918c04a131f36056d10d9c1afb223fc952c2d"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c4a71d5d6e7b28a47a394c0471b7e77a0661e2d651e7ae91e0cab0a587859ca"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:90412f2db8c02a3864cbfc67db0e3dcdbda336acf1c469526d3e869394fe001c"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2ea4ad4e6a12e454de05f2949d4beddb52460f3de7c8b9d5c46fbb7d7222e02c"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fc4f7a173a5609631bb0c42c23d12c49df3966f89f496a51d3eb0ec81f4519d6"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:878206a45202247781472a2d99df12a176fef806ca175799e1c6ad263510d57c"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17c412bad2eb9468e876f556eb4ee910e62d721d2c7a53c7fa31e643d35352e6"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:0d987a3ae5a71c6226b203cfd298720e0086c7fe7c74f35fa8edddfbd6597eed"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:39887ac397ff35b7b775db7201095fc6310a35fdbae85bac4523f7eb3b840e20"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fdb5b3e311d4d4b0eb8b3e8b4d1b0a512713ad7e6a68791d0923d1aec433d919"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:226af7dcb51fdb0109f0016449b357e182ea0ceb6b47dfb5999d569e5db161d5"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bed0e799e6120b9c32756203fb9dfe8ca2fb8467fed830c34c877e25638c3fc"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:29c7947c594e105cb9e6c466bace8532dc1ca02d498684128b339799f5248277"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cdeabcff45d1c219636ee2e54d852262e5c2e085d6cb476d938aee8d921356b3"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35cffef589bcdc587d06f9149f8d5e9e8859920a071df5a2671de2213bef592a"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18c8dc3b7468d8b4bdf60ce9d7141897da103c7a4690157b32b60acb45e333e6"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7133d0a1677aec369d67dd78520d3fa96dd7f3dcec99d66c1762870e5ea1a50a"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6a96179a24b14fa6428cbfc08641c779a53f8fcec43644030328f44034c7f1f4"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4f78c88905461a9203eac9faac157a2a0dbba84a0fd09fd29315db27be40af9f"}, + {file = "pyzmq-26.2.0.tar.gz", hash = "sha256:070672c258581c8e4f640b5159297580a9974b026043bd4ab0470be9ed324f1f"}, +] + +[package.dependencies] +cffi = {version = "*", markers = "implementation_name == \"pypy\""} + +[[package]] +name = "requests" +version = "2.32.3" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.8" +files = [ + {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, + {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, +] + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<3" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + +[[package]] +name = "rich" +version = "13.9.2" +description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "rich-13.9.2-py3-none-any.whl", hash = "sha256:8c82a3d3f8dcfe9e734771313e606b39d8247bb6b826e196f4914b333b743cf1"}, + {file = "rich-13.9.2.tar.gz", hash = "sha256:51a2c62057461aaf7152b4d611168f93a9fc73068f8ded2790f29fe2b5366d0c"}, +] + +[package.dependencies] +markdown-it-py = ">=2.2.0" +pygments = ">=2.13.0,<3.0.0" +typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.11\""} + +[package.extras] +jupyter = ["ipywidgets (>=7.5.1,<9)"] + +[[package]] +name = "scikit-learn" +version = "1.5.2" +description = "A set of python modules for machine learning and data mining" +optional = false +python-versions = ">=3.9" +files = [ + {file = "scikit_learn-1.5.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:299406827fb9a4f862626d0fe6c122f5f87f8910b86fe5daa4c32dcd742139b6"}, + {file = "scikit_learn-1.5.2-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:2d4cad1119c77930b235579ad0dc25e65c917e756fe80cab96aa3b9428bd3fb0"}, + {file = "scikit_learn-1.5.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c412ccc2ad9bf3755915e3908e677b367ebc8d010acbb3f182814524f2e5540"}, + {file = "scikit_learn-1.5.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a686885a4b3818d9e62904d91b57fa757fc2bed3e465c8b177be652f4dd37c8"}, + {file = "scikit_learn-1.5.2-cp310-cp310-win_amd64.whl", hash = "sha256:c15b1ca23d7c5f33cc2cb0a0d6aaacf893792271cddff0edbd6a40e8319bc113"}, + {file = "scikit_learn-1.5.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:03b6158efa3faaf1feea3faa884c840ebd61b6484167c711548fce208ea09445"}, + {file = "scikit_learn-1.5.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:1ff45e26928d3b4eb767a8f14a9a6efbf1cbff7c05d1fb0f95f211a89fd4f5de"}, + {file = "scikit_learn-1.5.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f763897fe92d0e903aa4847b0aec0e68cadfff77e8a0687cabd946c89d17e675"}, + {file = "scikit_learn-1.5.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8b0ccd4a902836493e026c03256e8b206656f91fbcc4fde28c57a5b752561f1"}, + {file = "scikit_learn-1.5.2-cp311-cp311-win_amd64.whl", hash = "sha256:6c16d84a0d45e4894832b3c4d0bf73050939e21b99b01b6fd59cbb0cf39163b6"}, + {file = "scikit_learn-1.5.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f932a02c3f4956dfb981391ab24bda1dbd90fe3d628e4b42caef3e041c67707a"}, + {file = "scikit_learn-1.5.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:3b923d119d65b7bd555c73be5423bf06c0105678ce7e1f558cb4b40b0a5502b1"}, + {file = "scikit_learn-1.5.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f60021ec1574e56632be2a36b946f8143bf4e5e6af4a06d85281adc22938e0dd"}, + {file = "scikit_learn-1.5.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:394397841449853c2290a32050382edaec3da89e35b3e03d6cc966aebc6a8ae6"}, + {file = "scikit_learn-1.5.2-cp312-cp312-win_amd64.whl", hash = "sha256:57cc1786cfd6bd118220a92ede80270132aa353647684efa385a74244a41e3b1"}, + {file = "scikit_learn-1.5.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9a702e2de732bbb20d3bad29ebd77fc05a6b427dc49964300340e4c9328b3f5"}, + {file = "scikit_learn-1.5.2-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:b0768ad641981f5d3a198430a1d31c3e044ed2e8a6f22166b4d546a5116d7908"}, + {file = "scikit_learn-1.5.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:178ddd0a5cb0044464fc1bfc4cca5b1833bfc7bb022d70b05db8530da4bb3dd3"}, + {file = "scikit_learn-1.5.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7284ade780084d94505632241bf78c44ab3b6f1e8ccab3d2af58e0e950f9c12"}, + {file = "scikit_learn-1.5.2-cp313-cp313-win_amd64.whl", hash = "sha256:b7b0f9a0b1040830d38c39b91b3a44e1b643f4b36e36567b80b7c6bd2202a27f"}, + {file = "scikit_learn-1.5.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:757c7d514ddb00ae249832fe87100d9c73c6ea91423802872d9e74970a0e40b9"}, + {file = "scikit_learn-1.5.2-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:52788f48b5d8bca5c0736c175fa6bdaab2ef00a8f536cda698db61bd89c551c1"}, + {file = "scikit_learn-1.5.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:643964678f4b5fbdc95cbf8aec638acc7aa70f5f79ee2cdad1eec3df4ba6ead8"}, + {file = "scikit_learn-1.5.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca64b3089a6d9b9363cd3546f8978229dcbb737aceb2c12144ee3f70f95684b7"}, + {file = "scikit_learn-1.5.2-cp39-cp39-win_amd64.whl", hash = "sha256:3bed4909ba187aca80580fe2ef370d9180dcf18e621a27c4cf2ef10d279a7efe"}, + {file = "scikit_learn-1.5.2.tar.gz", hash = "sha256:b4237ed7b3fdd0a4882792e68ef2545d5baa50aca3bb45aa7df468138ad8f94d"}, +] + +[package.dependencies] +joblib = ">=1.2.0" +numpy = ">=1.19.5" +scipy = ">=1.6.0" +threadpoolctl = ">=3.1.0" + +[package.extras] +benchmark = ["matplotlib (>=3.3.4)", "memory_profiler (>=0.57.0)", "pandas (>=1.1.5)"] +build = ["cython (>=3.0.10)", "meson-python (>=0.16.0)", "numpy (>=1.19.5)", "scipy (>=1.6.0)"] +docs = ["Pillow (>=7.1.2)", "matplotlib (>=3.3.4)", "memory_profiler (>=0.57.0)", "numpydoc (>=1.2.0)", "pandas (>=1.1.5)", "plotly (>=5.14.0)", "polars (>=0.20.30)", "pooch (>=1.6.0)", "pydata-sphinx-theme (>=0.15.3)", "scikit-image (>=0.17.2)", "seaborn (>=0.9.0)", "sphinx (>=7.3.7)", "sphinx-copybutton (>=0.5.2)", "sphinx-design (>=0.5.0)", "sphinx-design (>=0.6.0)", "sphinx-gallery (>=0.16.0)", "sphinx-prompt (>=1.4.0)", "sphinx-remove-toctrees (>=1.0.0.post1)", "sphinxcontrib-sass (>=0.3.4)", "sphinxext-opengraph (>=0.9.1)"] +examples = ["matplotlib (>=3.3.4)", "pandas (>=1.1.5)", "plotly (>=5.14.0)", "pooch (>=1.6.0)", "scikit-image (>=0.17.2)", "seaborn (>=0.9.0)"] +install = ["joblib (>=1.2.0)", "numpy (>=1.19.5)", "scipy (>=1.6.0)", "threadpoolctl (>=3.1.0)"] +maintenance = ["conda-lock (==2.5.6)"] +tests = ["black (>=24.3.0)", "matplotlib (>=3.3.4)", "mypy (>=1.9)", "numpydoc (>=1.2.0)", "pandas (>=1.1.5)", "polars (>=0.20.30)", "pooch (>=1.6.0)", "pyamg (>=4.0.0)", "pyarrow (>=12.0.0)", "pytest (>=7.1.2)", "pytest-cov (>=2.9.0)", "ruff (>=0.2.1)", "scikit-image (>=0.17.2)"] + +[[package]] +name = "scipy" +version = "1.14.1" +description = "Fundamental algorithms for scientific computing in Python" +optional = false +python-versions = ">=3.10" +files = [ + {file = "scipy-1.14.1-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:b28d2ca4add7ac16ae8bb6632a3c86e4b9e4d52d3e34267f6e1b0c1f8d87e389"}, + {file = "scipy-1.14.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d0d2821003174de06b69e58cef2316a6622b60ee613121199cb2852a873f8cf3"}, + {file = "scipy-1.14.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8bddf15838ba768bb5f5083c1ea012d64c9a444e16192762bd858f1e126196d0"}, + {file = "scipy-1.14.1-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:97c5dddd5932bd2a1a31c927ba5e1463a53b87ca96b5c9bdf5dfd6096e27efc3"}, + {file = "scipy-1.14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ff0a7e01e422c15739ecd64432743cf7aae2b03f3084288f399affcefe5222d"}, + {file = "scipy-1.14.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e32dced201274bf96899e6491d9ba3e9a5f6b336708656466ad0522d8528f69"}, + {file = "scipy-1.14.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8426251ad1e4ad903a4514712d2fa8fdd5382c978010d1c6f5f37ef286a713ad"}, + {file = "scipy-1.14.1-cp310-cp310-win_amd64.whl", hash = "sha256:a49f6ed96f83966f576b33a44257d869756df6cf1ef4934f59dd58b25e0327e5"}, + {file = "scipy-1.14.1-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:2da0469a4ef0ecd3693761acbdc20f2fdeafb69e6819cc081308cc978153c675"}, + {file = "scipy-1.14.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:c0ee987efa6737242745f347835da2cc5bb9f1b42996a4d97d5c7ff7928cb6f2"}, + {file = "scipy-1.14.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3a1b111fac6baec1c1d92f27e76511c9e7218f1695d61b59e05e0fe04dc59617"}, + {file = "scipy-1.14.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8475230e55549ab3f207bff11ebfc91c805dc3463ef62eda3ccf593254524ce8"}, + {file = "scipy-1.14.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:278266012eb69f4a720827bdd2dc54b2271c97d84255b2faaa8f161a158c3b37"}, + {file = "scipy-1.14.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fef8c87f8abfb884dac04e97824b61299880c43f4ce675dd2cbeadd3c9b466d2"}, + {file = "scipy-1.14.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b05d43735bb2f07d689f56f7b474788a13ed8adc484a85aa65c0fd931cf9ccd2"}, + {file = "scipy-1.14.1-cp311-cp311-win_amd64.whl", hash = "sha256:716e389b694c4bb564b4fc0c51bc84d381735e0d39d3f26ec1af2556ec6aad94"}, + {file = "scipy-1.14.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:631f07b3734d34aced009aaf6fedfd0eb3498a97e581c3b1e5f14a04164a456d"}, + {file = "scipy-1.14.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:af29a935803cc707ab2ed7791c44288a682f9c8107bc00f0eccc4f92c08d6e07"}, + {file = "scipy-1.14.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:2843f2d527d9eebec9a43e6b406fb7266f3af25a751aa91d62ff416f54170bc5"}, + {file = "scipy-1.14.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:eb58ca0abd96911932f688528977858681a59d61a7ce908ffd355957f7025cfc"}, + {file = "scipy-1.14.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30ac8812c1d2aab7131a79ba62933a2a76f582d5dbbc695192453dae67ad6310"}, + {file = "scipy-1.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f9ea80f2e65bdaa0b7627fb00cbeb2daf163caa015e59b7516395fe3bd1e066"}, + {file = "scipy-1.14.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:edaf02b82cd7639db00dbff629995ef185c8df4c3ffa71a5562a595765a06ce1"}, + {file = "scipy-1.14.1-cp312-cp312-win_amd64.whl", hash = "sha256:2ff38e22128e6c03ff73b6bb0f85f897d2362f8c052e3b8ad00532198fbdae3f"}, + {file = "scipy-1.14.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1729560c906963fc8389f6aac023739ff3983e727b1a4d87696b7bf108316a79"}, + {file = "scipy-1.14.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:4079b90df244709e675cdc8b93bfd8a395d59af40b72e339c2287c91860deb8e"}, + {file = "scipy-1.14.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:e0cf28db0f24a38b2a0ca33a85a54852586e43cf6fd876365c86e0657cfe7d73"}, + {file = "scipy-1.14.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:0c2f95de3b04e26f5f3ad5bb05e74ba7f68b837133a4492414b3afd79dfe540e"}, + {file = "scipy-1.14.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b99722ea48b7ea25e8e015e8341ae74624f72e5f21fc2abd45f3a93266de4c5d"}, + {file = "scipy-1.14.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5149e3fd2d686e42144a093b206aef01932a0059c2a33ddfa67f5f035bdfe13e"}, + {file = "scipy-1.14.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e4f5a7c49323533f9103d4dacf4e4f07078f360743dec7f7596949149efeec06"}, + {file = "scipy-1.14.1-cp313-cp313-win_amd64.whl", hash = "sha256:baff393942b550823bfce952bb62270ee17504d02a1801d7fd0719534dfb9c84"}, + {file = "scipy-1.14.1.tar.gz", hash = "sha256:5a275584e726026a5699459aa72f828a610821006228e841b94275c4a7c08417"}, +] + +[package.dependencies] +numpy = ">=1.23.5,<2.3" + +[package.extras] +dev = ["cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy (==1.10.0)", "pycodestyle", "pydevtool", "rich-click", "ruff (>=0.0.292)", "types-psutil", "typing_extensions"] +doc = ["jupyterlite-pyodide-kernel", "jupyterlite-sphinx (>=0.13.1)", "jupytext", "matplotlib (>=3.5)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (>=0.15.2)", "sphinx (>=5.0.0,<=7.3.7)", "sphinx-design (>=0.4.0)"] +test = ["Cython", "array-api-strict (>=2.0)", "asv", "gmpy2", "hypothesis (>=6.30)", "meson", "mpmath", "ninja", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] + +[[package]] +name = "seaborn" +version = "0.13.2" +description = "Statistical data visualization" +optional = false +python-versions = ">=3.8" +files = [ + {file = "seaborn-0.13.2-py3-none-any.whl", hash = "sha256:636f8336facf092165e27924f223d3c62ca560b1f2bb5dff7ab7fad265361987"}, + {file = "seaborn-0.13.2.tar.gz", hash = "sha256:93e60a40988f4d65e9f4885df477e2fdaff6b73a9ded434c1ab356dd57eefff7"}, +] + +[package.dependencies] +matplotlib = ">=3.4,<3.6.1 || >3.6.1" +numpy = ">=1.20,<1.24.0 || >1.24.0" +pandas = ">=1.2" + +[package.extras] +dev = ["flake8", "flit", "mypy", "pandas-stubs", "pre-commit", "pytest", "pytest-cov", "pytest-xdist"] +docs = ["ipykernel", "nbconvert", "numpydoc", "pydata_sphinx_theme (==0.10.0rc2)", "pyyaml", "sphinx (<6.0.0)", "sphinx-copybutton", "sphinx-design", "sphinx-issues"] +stats = ["scipy (>=1.7)", "statsmodels (>=0.12)"] + +[[package]] +name = "setuptools" +version = "75.2.0" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "setuptools-75.2.0-py3-none-any.whl", hash = "sha256:a7fcb66f68b4d9e8e66b42f9876150a3371558f98fa32222ffaa5bced76406f8"}, + {file = "setuptools-75.2.0.tar.gz", hash = "sha256:753bb6ebf1f465a1912e19ed1d41f403a79173a9acf66a42e7e6aec45c3c16ec"}, +] + +[package.extras] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.5.2)"] +core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.collections", "jaraco.functools", "jaraco.text (>=3.7)", "more-itertools", "more-itertools (>=8.8)", "packaging", "packaging (>=24)", "platformdirs (>=2.6.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] +type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.11.*)", "pytest-mypy"] + +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] + +[[package]] +name = "snowballstemmer" +version = "2.2.0" +description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." +optional = false +python-versions = "*" +files = [ + {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"}, + {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, +] + +[[package]] +name = "sphinx" +version = "8.1.3" +description = "Python documentation generator" +optional = false +python-versions = ">=3.10" +files = [ + {file = "sphinx-8.1.3-py3-none-any.whl", hash = "sha256:09719015511837b76bf6e03e42eb7595ac8c2e41eeb9c29c5b755c6b677992a2"}, + {file = "sphinx-8.1.3.tar.gz", hash = "sha256:43c1911eecb0d3e161ad78611bc905d1ad0e523e4ddc202a58a821773dc4c927"}, +] + +[package.dependencies] +alabaster = ">=0.7.14" +babel = ">=2.13" +colorama = {version = ">=0.4.6", markers = "sys_platform == \"win32\""} +docutils = ">=0.20,<0.22" +imagesize = ">=1.3" +Jinja2 = ">=3.1" +packaging = ">=23.0" +Pygments = ">=2.17" +requests = ">=2.30.0" +snowballstemmer = ">=2.2" +sphinxcontrib-applehelp = ">=1.0.7" +sphinxcontrib-devhelp = ">=1.0.6" +sphinxcontrib-htmlhelp = ">=2.0.6" +sphinxcontrib-jsmath = ">=1.0.1" +sphinxcontrib-qthelp = ">=1.0.6" +sphinxcontrib-serializinghtml = ">=1.1.9" +tomli = {version = ">=2", markers = "python_version < \"3.11\""} + +[package.extras] +docs = ["sphinxcontrib-websupport"] +lint = ["flake8 (>=6.0)", "mypy (==1.11.1)", "pyright (==1.1.384)", "pytest (>=6.0)", "ruff (==0.6.9)", "sphinx-lint (>=0.9)", "tomli (>=2)", "types-Pillow (==10.2.0.20240822)", "types-Pygments (==2.18.0.20240506)", "types-colorama (==0.4.15.20240311)", "types-defusedxml (==0.7.0.20240218)", "types-docutils (==0.21.0.20241005)", "types-requests (==2.32.0.20240914)", "types-urllib3 (==1.26.25.14)"] +test = ["cython (>=3.0)", "defusedxml (>=0.7.1)", "pytest (>=8.0)", "setuptools (>=70.0)", "typing_extensions (>=4.9)"] + +[[package]] +name = "sphinx-tabs" +version = "3.4.7" +description = "Tabbed views for Sphinx" +optional = false +python-versions = ">=3.7" +files = [ + {file = "sphinx-tabs-3.4.7.tar.gz", hash = "sha256:991ad4a424ff54119799ba1491701aa8130dd43509474aef45a81c42d889784d"}, + {file = "sphinx_tabs-3.4.7-py3-none-any.whl", hash = "sha256:c12d7a36fd413b369e9e9967a0a4015781b71a9c393575419834f19204bd1915"}, +] + +[package.dependencies] +docutils = "*" +pygments = "*" +sphinx = ">=1.8" + +[package.extras] +code-style = ["pre-commit (==2.13.0)"] +testing = ["bs4", "coverage", "pygments", "pytest (>=7.1,<8)", "pytest-cov", "pytest-regressions", "rinohtype"] + +[[package]] +name = "sphinxcontrib-applehelp" +version = "2.0.0" +description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinxcontrib_applehelp-2.0.0-py3-none-any.whl", hash = "sha256:4cd3f0ec4ac5dd9c17ec65e9ab272c9b867ea77425228e68ecf08d6b28ddbdb5"}, + {file = "sphinxcontrib_applehelp-2.0.0.tar.gz", hash = "sha256:2f29ef331735ce958efa4734873f084941970894c6090408b079c61b2e1c06d1"}, +] + +[package.extras] +lint = ["mypy", "ruff (==0.5.5)", "types-docutils"] +standalone = ["Sphinx (>=5)"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-devhelp" +version = "2.0.0" +description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp documents" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinxcontrib_devhelp-2.0.0-py3-none-any.whl", hash = "sha256:aefb8b83854e4b0998877524d1029fd3e6879210422ee3780459e28a1f03a8a2"}, + {file = "sphinxcontrib_devhelp-2.0.0.tar.gz", hash = "sha256:411f5d96d445d1d73bb5d52133377b4248ec79db5c793ce7dbe59e074b4dd1ad"}, +] + +[package.extras] +lint = ["mypy", "ruff (==0.5.5)", "types-docutils"] +standalone = ["Sphinx (>=5)"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-htmlhelp" +version = "2.1.0" +description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl", hash = "sha256:166759820b47002d22914d64a075ce08f4c46818e17cfc9470a9786b759b19f8"}, + {file = "sphinxcontrib_htmlhelp-2.1.0.tar.gz", hash = "sha256:c9e2916ace8aad64cc13a0d233ee22317f2b9025b9cf3295249fa985cc7082e9"}, +] + +[package.extras] +lint = ["mypy", "ruff (==0.5.5)", "types-docutils"] +standalone = ["Sphinx (>=5)"] +test = ["html5lib", "pytest"] + +[[package]] +name = "sphinxcontrib-jsmath" +version = "1.0.1" +description = "A sphinx extension which renders display math in HTML via JavaScript" +optional = false +python-versions = ">=3.5" +files = [ + {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"}, + {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"}, +] + +[package.extras] +test = ["flake8", "mypy", "pytest"] + +[[package]] +name = "sphinxcontrib-qthelp" +version = "2.0.0" +description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp documents" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinxcontrib_qthelp-2.0.0-py3-none-any.whl", hash = "sha256:b18a828cdba941ccd6ee8445dbe72ffa3ef8cbe7505d8cd1fa0d42d3f2d5f3eb"}, + {file = "sphinxcontrib_qthelp-2.0.0.tar.gz", hash = "sha256:4fe7d0ac8fc171045be623aba3e2a8f613f8682731f9153bb2e40ece16b9bbab"}, +] + +[package.extras] +lint = ["mypy", "ruff (==0.5.5)", "types-docutils"] +standalone = ["Sphinx (>=5)"] +test = ["defusedxml (>=0.7.1)", "pytest"] + +[[package]] +name = "sphinxcontrib-serializinghtml" +version = "2.0.0" +description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)" +optional = false +python-versions = ">=3.9" +files = [ + {file = "sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl", hash = "sha256:6e2cb0eef194e10c27ec0023bfeb25badbbb5868244cf5bc5bdc04e4464bf331"}, + {file = "sphinxcontrib_serializinghtml-2.0.0.tar.gz", hash = "sha256:e9d912827f872c029017a53f0ef2180b327c3f7fd23c87229f7a8e8b70031d4d"}, +] + +[package.extras] +lint = ["mypy", "ruff (==0.5.5)", "types-docutils"] +standalone = ["Sphinx (>=5)"] +test = ["pytest"] + +[[package]] +name = "stack-data" +version = "0.6.3" +description = "Extract data from python stack frames and tracebacks for informative displays" +optional = false +python-versions = "*" +files = [ + {file = "stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695"}, + {file = "stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9"}, +] + +[package.dependencies] +asttokens = ">=2.1.0" +executing = ">=1.2.0" +pure-eval = "*" + +[package.extras] +tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] + +[[package]] +name = "threadpoolctl" +version = "3.5.0" +description = "threadpoolctl" +optional = false +python-versions = ">=3.8" +files = [ + {file = "threadpoolctl-3.5.0-py3-none-any.whl", hash = "sha256:56c1e26c150397e58c4926da8eeee87533b1e32bef131bd4bf6a2f45f3185467"}, + {file = "threadpoolctl-3.5.0.tar.gz", hash = "sha256:082433502dd922bf738de0d8bcc4fdcbf0979ff44c42bd40f5af8a282f6fa107"}, +] + +[[package]] +name = "tomli" +version = "2.0.2" +description = "A lil' TOML parser" +optional = false +python-versions = ">=3.8" +files = [ + {file = "tomli-2.0.2-py3-none-any.whl", hash = "sha256:2ebe24485c53d303f690b0ec092806a085f07af5a5aa1464f3931eec36caaa38"}, + {file = "tomli-2.0.2.tar.gz", hash = "sha256:d46d457a85337051c36524bc5349dd91b1877838e2979ac5ced3e710ed8a60ed"}, +] + +[[package]] +name = "toolz" +version = "1.0.0" +description = "List processing tools and functional utilities" +optional = false +python-versions = ">=3.8" +files = [ + {file = "toolz-1.0.0-py3-none-any.whl", hash = "sha256:292c8f1c4e7516bf9086f8850935c799a874039c8bcf959d47b600e4c44a6236"}, + {file = "toolz-1.0.0.tar.gz", hash = "sha256:2c86e3d9a04798ac556793bced838816296a2f085017664e4995cb40a1047a02"}, +] + +[[package]] +name = "tornado" +version = "6.4.1" +description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." +optional = false +python-versions = ">=3.8" +files = [ + {file = "tornado-6.4.1-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:163b0aafc8e23d8cdc3c9dfb24c5368af84a81e3364745ccb4427669bf84aec8"}, + {file = "tornado-6.4.1-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:6d5ce3437e18a2b66fbadb183c1d3364fb03f2be71299e7d10dbeeb69f4b2a14"}, + {file = "tornado-6.4.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e20b9113cd7293f164dc46fffb13535266e713cdb87bd2d15ddb336e96cfc4"}, + {file = "tornado-6.4.1-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ae50a504a740365267b2a8d1a90c9fbc86b780a39170feca9bcc1787ff80842"}, + {file = "tornado-6.4.1-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:613bf4ddf5c7a95509218b149b555621497a6cc0d46ac341b30bd9ec19eac7f3"}, + {file = "tornado-6.4.1-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:25486eb223babe3eed4b8aecbac33b37e3dd6d776bc730ca14e1bf93888b979f"}, + {file = "tornado-6.4.1-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:454db8a7ecfcf2ff6042dde58404164d969b6f5d58b926da15e6b23817950fc4"}, + {file = "tornado-6.4.1-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a02a08cc7a9314b006f653ce40483b9b3c12cda222d6a46d4ac63bb6c9057698"}, + {file = "tornado-6.4.1-cp38-abi3-win32.whl", hash = "sha256:d9a566c40b89757c9aa8e6f032bcdb8ca8795d7c1a9762910c722b1635c9de4d"}, + {file = "tornado-6.4.1-cp38-abi3-win_amd64.whl", hash = "sha256:b24b8982ed444378d7f21d563f4180a2de31ced9d8d84443907a0a64da2072e7"}, + {file = "tornado-6.4.1.tar.gz", hash = "sha256:92d3ab53183d8c50f8204a51e6f91d18a15d5ef261e84d452800d4ff6fc504e9"}, +] + +[[package]] +name = "traitlets" +version = "5.14.3" +description = "Traitlets Python configuration system" +optional = false +python-versions = ">=3.8" +files = [ + {file = "traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f"}, + {file = "traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7"}, +] + +[package.extras] +docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] +test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0,<8.2)", "pytest-mock", "pytest-mypy-testing"] + +[[package]] +name = "typing-extensions" +version = "4.12.2" +description = "Backported and Experimental Type Hints for Python 3.8+" +optional = false +python-versions = ">=3.8" +files = [ + {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, + {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, +] + +[[package]] +name = "tzdata" +version = "2024.2" +description = "Provider of IANA time zone data" +optional = false +python-versions = ">=2" +files = [ + {file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"}, + {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"}, +] + +[[package]] +name = "urllib3" +version = "2.2.3" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.8" +files = [ + {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, + {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +h2 = ["h2 (>=4,<5)"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] + +[[package]] +name = "wcwidth" +version = "0.2.13" +description = "Measures the displayed width of unicode strings in a terminal" +optional = false +python-versions = "*" +files = [ + {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"}, + {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, +] + +[[package]] +name = "widgetsnbextension" +version = "4.0.13" +description = "Jupyter interactive widgets for Jupyter Notebook" +optional = false +python-versions = ">=3.7" +files = [ + {file = "widgetsnbextension-4.0.13-py3-none-any.whl", hash = "sha256:74b2692e8500525cc38c2b877236ba51d34541e6385eeed5aec15a70f88a6c71"}, + {file = "widgetsnbextension-4.0.13.tar.gz", hash = "sha256:ffcb67bc9febd10234a362795f643927f4e0c05d9342c727b65d2384f8feacb6"}, +] + +[[package]] +name = "xarray" +version = "2024.9.0" +description = "N-D labeled arrays and datasets in Python" +optional = false +python-versions = ">=3.10" +files = [ + {file = "xarray-2024.9.0-py3-none-any.whl", hash = "sha256:4fd534abdf12d5fa75dd566c56483d5081f77864462cf3d6ad53e13f9db48222"}, + {file = "xarray-2024.9.0.tar.gz", hash = "sha256:e796a6b3eaec11da24f33e4bb14af41897011660a0516fa4037d3ae4bbd1d378"}, +] + +[package.dependencies] +numpy = ">=1.24" +packaging = ">=23.1" +pandas = ">=2.1" + +[package.extras] +accel = ["bottleneck", "flox", "numbagg", "opt-einsum", "scipy"] +complete = ["xarray[accel,dev,io,parallel,viz]"] +dev = ["hypothesis", "mypy", "pre-commit", "pytest", "pytest-cov", "pytest-env", "pytest-timeout", "pytest-xdist", "ruff", "xarray[complete]"] +io = ["cftime", "fsspec", "h5netcdf", "netCDF4", "pooch", "pydap", "scipy", "zarr"] +parallel = ["dask[complete]"] +viz = ["matplotlib", "nc-time-axis", "seaborn"] + +[[package]] +name = "xarray-einstats" +version = "0.8.0" +description = "Stats, linear algebra and einops for xarray" +optional = false +python-versions = ">=3.10" +files = [ + {file = "xarray_einstats-0.8.0-py3-none-any.whl", hash = "sha256:fd00552c3fb5c859b1ebc7c88a97342d3bb93d14bba904c5a9b94a4f724b76b4"}, + {file = "xarray_einstats-0.8.0.tar.gz", hash = "sha256:7f1573f9bd4d60d6e7ed9fd27c4db39da51ec49bf8ba654d4602a139a6309d7f"}, +] + +[package.dependencies] +numpy = ">=1.23" +scipy = ">=1.9" +xarray = ">=2022.09.0" + +[package.extras] +doc = ["furo", "jupyter-sphinx", "matplotlib", "myst-nb", "myst-parser[linkify]", "numpydoc", "sphinx (>=5)", "sphinx-copybutton", "sphinx-design", "sphinx-togglebutton", "watermark"] +einops = ["einops"] +numba = ["numba (>=0.55)"] +test = ["hypothesis", "packaging", "pytest", "pytest-cov"] + +[metadata] +lock-version = "2.0" +python-versions = ">=3.10,<3.13" +content-hash = "c429aa38c33951c68b15a3f1ca4089b8589d0acf180a8ae10355bacf33a89704" From db9544c650f99127f5937d57860b2a0c52056a94 Mon Sep 17 00:00:00 2001 From: Stijn Date: Mon, 21 Oct 2024 14:21:24 +0200 Subject: [PATCH 36/68] Basic tests check out --- tests/testHBR.py | 6 ++++-- tests/testHBR_transfer.py | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/tests/testHBR.py b/tests/testHBR.py index 1d2ba679..cd4d2bd2 100644 --- a/tests/testHBR.py +++ b/tests/testHBR.py @@ -1,5 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- + +# %% """ Created on Mon Jul 29 13:26:35 2019 @@ -24,7 +26,7 @@ random_state = 29 -working_dir = '/' # Specify a working directory to save data and results. +working_dir = '/Users/stijndeboer/temp/' # Specify a working directory to save data and results. simulation_method = 'linear' n_features = 1 # The number of input features of X @@ -47,7 +49,7 @@ ################################# Fittig and Predicting ############################### nm = norm_init(X_train, Y_train, alg='hbr', model_type=model_type, likelihood='SHASHb', - linear_sigma='True', random_slope_mu='True', linear_epsilon='True', linear_delta='True') + linear_sigma='True', random_slope_mu='True', linear_epsilon='True', linear_delta='True', nuts_sampler='nutpie') nm.estimate(X_train, Y_train, trbefile=working_dir+'trbefile.pkl') yhat, ys2 = nm.predict(X_test, tsbefile=working_dir+'tsbefile.pkl') diff --git a/tests/testHBR_transfer.py b/tests/testHBR_transfer.py index 029ad6b1..1b0cfa57 100644 --- a/tests/testHBR_transfer.py +++ b/tests/testHBR_transfer.py @@ -26,7 +26,7 @@ ########################### Experiment Settings ############################### -working_dir = '/home/stijn/temp/' # Specifyexit() a working directory +working_dir = '/Users/stijndeboer/temp/' # Specifyexit() a working directory # to save data and results. simulation_method = 'linear' @@ -86,7 +86,7 @@ print("Now Estimating on transfer train data ==============================================") nm.estimate_on_new_sites( X_train_transfer, Y_train_transfer, grp_id_train_transfer) - print("Now Estimating on transfer test data ==============================================") + print("Now Predicting on transfer test data ==============================================") yhat, s2 = nm.predict_on_new_sites(X_test_transfer, grp_id_test_transfer) for i in range(n_features): From 53d9dbc797db10c609454535c040060e6e737570 Mon Sep 17 00:00:00 2001 From: Stijn Date: Tue, 22 Oct 2024 13:48:48 +0200 Subject: [PATCH 37/68] Add numba and nutpie dependencies --- poetry.lock | 156 +++++++++++++++++++++++++++++++++++++- pyproject.toml | 2 + tests/testHBR.py | 8 +- tests/testHBR_transfer.py | 7 +- tests/test_blr.py | 13 +++- 5 files changed, 177 insertions(+), 9 deletions(-) diff --git a/poetry.lock b/poetry.lock index fd9e155c..5108b93c 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1132,6 +1132,36 @@ files = [ {file = "kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60"}, ] +[[package]] +name = "llvmlite" +version = "0.43.0" +description = "lightweight wrapper around basic LLVM functionality" +optional = false +python-versions = ">=3.9" +files = [ + {file = "llvmlite-0.43.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a289af9a1687c6cf463478f0fa8e8aa3b6fb813317b0d70bf1ed0759eab6f761"}, + {file = "llvmlite-0.43.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6d4fd101f571a31acb1559ae1af30f30b1dc4b3186669f92ad780e17c81e91bc"}, + {file = "llvmlite-0.43.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7d434ec7e2ce3cc8f452d1cd9a28591745de022f931d67be688a737320dfcead"}, + {file = "llvmlite-0.43.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6912a87782acdff6eb8bf01675ed01d60ca1f2551f8176a300a886f09e836a6a"}, + {file = "llvmlite-0.43.0-cp310-cp310-win_amd64.whl", hash = "sha256:14f0e4bf2fd2d9a75a3534111e8ebeb08eda2f33e9bdd6dfa13282afacdde0ed"}, + {file = "llvmlite-0.43.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3e8d0618cb9bfe40ac38a9633f2493d4d4e9fcc2f438d39a4e854f39cc0f5f98"}, + {file = "llvmlite-0.43.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e0a9a1a39d4bf3517f2af9d23d479b4175ead205c592ceeb8b89af48a327ea57"}, + {file = "llvmlite-0.43.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1da416ab53e4f7f3bc8d4eeba36d801cc1894b9fbfbf2022b29b6bad34a7df2"}, + {file = "llvmlite-0.43.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:977525a1e5f4059316b183fb4fd34fa858c9eade31f165427a3977c95e3ee749"}, + {file = "llvmlite-0.43.0-cp311-cp311-win_amd64.whl", hash = "sha256:d5bd550001d26450bd90777736c69d68c487d17bf371438f975229b2b8241a91"}, + {file = "llvmlite-0.43.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f99b600aa7f65235a5a05d0b9a9f31150c390f31261f2a0ba678e26823ec38f7"}, + {file = "llvmlite-0.43.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:35d80d61d0cda2d767f72de99450766250560399edc309da16937b93d3b676e7"}, + {file = "llvmlite-0.43.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eccce86bba940bae0d8d48ed925f21dbb813519169246e2ab292b5092aba121f"}, + {file = "llvmlite-0.43.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df6509e1507ca0760787a199d19439cc887bfd82226f5af746d6977bd9f66844"}, + {file = "llvmlite-0.43.0-cp312-cp312-win_amd64.whl", hash = "sha256:7a2872ee80dcf6b5dbdc838763d26554c2a18aa833d31a2635bff16aafefb9c9"}, + {file = "llvmlite-0.43.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9cd2a7376f7b3367019b664c21f0c61766219faa3b03731113ead75107f3b66c"}, + {file = "llvmlite-0.43.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:18e9953c748b105668487b7c81a3e97b046d8abf95c4ddc0cd3c94f4e4651ae8"}, + {file = "llvmlite-0.43.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74937acd22dc11b33946b67dca7680e6d103d6e90eeaaaf932603bec6fe7b03a"}, + {file = "llvmlite-0.43.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc9efc739cc6ed760f795806f67889923f7274276f0eb45092a1473e40d9b867"}, + {file = "llvmlite-0.43.0-cp39-cp39-win_amd64.whl", hash = "sha256:47e147cdda9037f94b399bf03bfd8a6b6b1f2f90be94a454e3386f006455a9b4"}, + {file = "llvmlite-0.43.0.tar.gz", hash = "sha256:ae2b5b5c3ef67354824fb75517c8db5fbe93bc02cd9671f3c62271626bc041d5"}, +] + [[package]] name = "logical-unification" version = "0.4.6" @@ -1409,6 +1439,40 @@ test = ["coverage (>=7.2)", "pytest", "pytest-cov", "pytest-doctestplus", "pytes typing = ["tox"] zstd = ["pyzstd (>=0.14.3)"] +[[package]] +name = "numba" +version = "0.60.0" +description = "compiling Python code using LLVM" +optional = false +python-versions = ">=3.9" +files = [ + {file = "numba-0.60.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5d761de835cd38fb400d2c26bb103a2726f548dc30368853121d66201672e651"}, + {file = "numba-0.60.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:159e618ef213fba758837f9837fb402bbe65326e60ba0633dbe6c7f274d42c1b"}, + {file = "numba-0.60.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1527dc578b95c7c4ff248792ec33d097ba6bef9eda466c948b68dfc995c25781"}, + {file = "numba-0.60.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fe0b28abb8d70f8160798f4de9d486143200f34458d34c4a214114e445d7124e"}, + {file = "numba-0.60.0-cp310-cp310-win_amd64.whl", hash = "sha256:19407ced081d7e2e4b8d8c36aa57b7452e0283871c296e12d798852bc7d7f198"}, + {file = "numba-0.60.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a17b70fc9e380ee29c42717e8cc0bfaa5556c416d94f9aa96ba13acb41bdece8"}, + {file = "numba-0.60.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3fb02b344a2a80efa6f677aa5c40cd5dd452e1b35f8d1c2af0dfd9ada9978e4b"}, + {file = "numba-0.60.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5f4fde652ea604ea3c86508a3fb31556a6157b2c76c8b51b1d45eb40c8598703"}, + {file = "numba-0.60.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4142d7ac0210cc86432b818338a2bc368dc773a2f5cf1e32ff7c5b378bd63ee8"}, + {file = "numba-0.60.0-cp311-cp311-win_amd64.whl", hash = "sha256:cac02c041e9b5bc8cf8f2034ff6f0dbafccd1ae9590dc146b3a02a45e53af4e2"}, + {file = "numba-0.60.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d7da4098db31182fc5ffe4bc42c6f24cd7d1cb8a14b59fd755bfee32e34b8404"}, + {file = "numba-0.60.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:38d6ea4c1f56417076ecf8fc327c831ae793282e0ff51080c5094cb726507b1c"}, + {file = "numba-0.60.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:62908d29fb6a3229c242e981ca27e32a6e606cc253fc9e8faeb0e48760de241e"}, + {file = "numba-0.60.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0ebaa91538e996f708f1ab30ef4d3ddc344b64b5227b67a57aa74f401bb68b9d"}, + {file = "numba-0.60.0-cp312-cp312-win_amd64.whl", hash = "sha256:f75262e8fe7fa96db1dca93d53a194a38c46da28b112b8a4aca168f0df860347"}, + {file = "numba-0.60.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:01ef4cd7d83abe087d644eaa3d95831b777aa21d441a23703d649e06b8e06b74"}, + {file = "numba-0.60.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:819a3dfd4630d95fd574036f99e47212a1af41cbcb019bf8afac63ff56834449"}, + {file = "numba-0.60.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0b983bd6ad82fe868493012487f34eae8bf7dd94654951404114f23c3466d34b"}, + {file = "numba-0.60.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c151748cd269ddeab66334bd754817ffc0cabd9433acb0f551697e5151917d25"}, + {file = "numba-0.60.0-cp39-cp39-win_amd64.whl", hash = "sha256:3031547a015710140e8c87226b4cfe927cac199835e5bf7d4fe5cb64e814e3ab"}, + {file = "numba-0.60.0.tar.gz", hash = "sha256:5df6158e5584eece5fc83294b949fd30b9f1125df7708862205217e068aabf16"}, +] + +[package.dependencies] +llvmlite = "==0.43.*" +numpy = ">=1.22,<2.1" + [[package]] name = "numpy" version = "1.26.4" @@ -1454,6 +1518,45 @@ files = [ {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, ] +[[package]] +name = "nutpie" +version = "0.13.2" +description = "Sample Stan or PyMC models" +optional = false +python-versions = ">=3.10" +files = [ + {file = "nutpie-0.13.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:4c731b6b32f51407ca973aefdcb0241c6dadfebcf47e781557344d28d346c0fa"}, + {file = "nutpie-0.13.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b69e62c4d25e62e670ef31244e65556ed562650dfbc56a068972e177c5e5e291"}, + {file = "nutpie-0.13.2-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:a7cfe73f29769f7185e677587755ba63818e9334d161a69216c8d6cefd9d66b7"}, + {file = "nutpie-0.13.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:0202a5b2352b065a269dd1467cacd4b9ef4020665373e4d12eede232425eaea8"}, + {file = "nutpie-0.13.2-cp310-none-win_amd64.whl", hash = "sha256:fa2f5f46fad31d9cdac486510a656a7e85df470662ffcd6c3c84534eb7d24c28"}, + {file = "nutpie-0.13.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:024fb04ddcaa2ce8a2cf6864bebe68acfb68518f6199c6d3de0c6b9b49d1ac75"}, + {file = "nutpie-0.13.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:225f17a15e33f731db43c55f821b988df2781568e2dc6f22ae9798e259386009"}, + {file = "nutpie-0.13.2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:1a7a5e7012976327485349b581ae762cd6e60bb1805f9d323e0eed2d945c73a3"}, + {file = "nutpie-0.13.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:be1635cdd6ec19cc541e212ee95e11288dda7a234a2ae7f70c2c91fdaa677fe0"}, + {file = "nutpie-0.13.2-cp311-none-win_amd64.whl", hash = "sha256:d7d297a975737ca997890cae284adca74e429567503596cbf66a37640faf4f10"}, + {file = "nutpie-0.13.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1656a4e45981db30d9ca850e889c10ac69c3e327a994607924c2db1dcefb49c7"}, + {file = "nutpie-0.13.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:57b6f6640996d88b290285acdcf7978bf9f6257c2a80d38eb5d1903e11bb0301"}, + {file = "nutpie-0.13.2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:e1419e53a5ce3bfba39157cb1381eb18f1835bd1b73312d485e1f543f9ce3748"}, + {file = "nutpie-0.13.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:6d29babf3773544692153799b3579f9de1e084a06fd2dcc851e97bef4c92768b"}, + {file = "nutpie-0.13.2-cp312-none-win_amd64.whl", hash = "sha256:5b6f45e2e475eee1519f18b6cbcd56ef225dbcaeb6f35e248d829467097ab385"}, + {file = "nutpie-0.13.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:db240a317b1ded7eddf2ca8e2b4bcfcdbd4624256655aac61625c8f7d5ca39d0"}, + {file = "nutpie-0.13.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:2100024275ec6ba6de899188a3a2111f4b68aee7bfdbd4e4eb02ed4c922a9f22"}, + {file = "nutpie-0.13.2.tar.gz", hash = "sha256:f14282e2ac045c67a9b262a865b02a243178c55b541b236b21dfcb0c3678bcea"}, +] + +[package.dependencies] +arviz = ">=0.15.0" +pandas = ">=2.0" +pyarrow = ">=12.0.0" +xarray = ">=2023.6.0" + +[package.extras] +all = ["bridgestan (>=2.4.1)", "jax (>=0.4.27)", "numba (>=0.59.1)", "pymc (>=5.15.0)"] +pymc = ["numba (>=0.59.1)", "pymc (>=5.15.0)"] +pymc-jax = ["jax (>=0.4.27)", "pymc (>=5.15.0)"] +stan = ["bridgestan (>=2.4.1)"] + [[package]] name = "packaging" version = "24.1" @@ -1783,6 +1886,57 @@ files = [ [package.extras] tests = ["pytest"] +[[package]] +name = "pyarrow" +version = "17.0.0" +description = "Python library for Apache Arrow" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pyarrow-17.0.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:a5c8b238d47e48812ee577ee20c9a2779e6a5904f1708ae240f53ecbee7c9f07"}, + {file = "pyarrow-17.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:db023dc4c6cae1015de9e198d41250688383c3f9af8f565370ab2b4cb5f62655"}, + {file = "pyarrow-17.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da1e060b3876faa11cee287839f9cc7cdc00649f475714b8680a05fd9071d545"}, + {file = "pyarrow-17.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75c06d4624c0ad6674364bb46ef38c3132768139ddec1c56582dbac54f2663e2"}, + {file = "pyarrow-17.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:fa3c246cc58cb5a4a5cb407a18f193354ea47dd0648194e6265bd24177982fe8"}, + {file = "pyarrow-17.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:f7ae2de664e0b158d1607699a16a488de3d008ba99b3a7aa5de1cbc13574d047"}, + {file = "pyarrow-17.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:5984f416552eea15fd9cee03da53542bf4cddaef5afecefb9aa8d1010c335087"}, + {file = "pyarrow-17.0.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:1c8856e2ef09eb87ecf937104aacfa0708f22dfeb039c363ec99735190ffb977"}, + {file = "pyarrow-17.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2e19f569567efcbbd42084e87f948778eb371d308e137a0f97afe19bb860ccb3"}, + {file = "pyarrow-17.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b244dc8e08a23b3e352899a006a26ae7b4d0da7bb636872fa8f5884e70acf15"}, + {file = "pyarrow-17.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b72e87fe3e1db343995562f7fff8aee354b55ee83d13afba65400c178ab2597"}, + {file = "pyarrow-17.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:dc5c31c37409dfbc5d014047817cb4ccd8c1ea25d19576acf1a001fe07f5b420"}, + {file = "pyarrow-17.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:e3343cb1e88bc2ea605986d4b94948716edc7a8d14afd4e2c097232f729758b4"}, + {file = "pyarrow-17.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:a27532c38f3de9eb3e90ecab63dfda948a8ca859a66e3a47f5f42d1e403c4d03"}, + {file = "pyarrow-17.0.0-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:9b8a823cea605221e61f34859dcc03207e52e409ccf6354634143e23af7c8d22"}, + {file = "pyarrow-17.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f1e70de6cb5790a50b01d2b686d54aaf73da01266850b05e3af2a1bc89e16053"}, + {file = "pyarrow-17.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0071ce35788c6f9077ff9ecba4858108eebe2ea5a3f7cf2cf55ebc1dbc6ee24a"}, + {file = "pyarrow-17.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:757074882f844411fcca735e39aae74248a1531367a7c80799b4266390ae51cc"}, + {file = "pyarrow-17.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:9ba11c4f16976e89146781a83833df7f82077cdab7dc6232c897789343f7891a"}, + {file = "pyarrow-17.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:b0c6ac301093b42d34410b187bba560b17c0330f64907bfa4f7f7f2444b0cf9b"}, + {file = "pyarrow-17.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:392bc9feabc647338e6c89267635e111d71edad5fcffba204425a7c8d13610d7"}, + {file = "pyarrow-17.0.0-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:af5ff82a04b2171415f1410cff7ebb79861afc5dae50be73ce06d6e870615204"}, + {file = "pyarrow-17.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:edca18eaca89cd6382dfbcff3dd2d87633433043650c07375d095cd3517561d8"}, + {file = "pyarrow-17.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c7916bff914ac5d4a8fe25b7a25e432ff921e72f6f2b7547d1e325c1ad9d155"}, + {file = "pyarrow-17.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f553ca691b9e94b202ff741bdd40f6ccb70cdd5fbf65c187af132f1317de6145"}, + {file = "pyarrow-17.0.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:0cdb0e627c86c373205a2f94a510ac4376fdc523f8bb36beab2e7f204416163c"}, + {file = "pyarrow-17.0.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:d7d192305d9d8bc9082d10f361fc70a73590a4c65cf31c3e6926cd72b76bc35c"}, + {file = "pyarrow-17.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:02dae06ce212d8b3244dd3e7d12d9c4d3046945a5933d28026598e9dbbda1fca"}, + {file = "pyarrow-17.0.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:13d7a460b412f31e4c0efa1148e1d29bdf18ad1411eb6757d38f8fbdcc8645fb"}, + {file = "pyarrow-17.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9b564a51fbccfab5a04a80453e5ac6c9954a9c5ef2890d1bcf63741909c3f8df"}, + {file = "pyarrow-17.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32503827abbc5aadedfa235f5ece8c4f8f8b0a3cf01066bc8d29de7539532687"}, + {file = "pyarrow-17.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a155acc7f154b9ffcc85497509bcd0d43efb80d6f733b0dc3bb14e281f131c8b"}, + {file = "pyarrow-17.0.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:dec8d129254d0188a49f8a1fc99e0560dc1b85f60af729f47de4046015f9b0a5"}, + {file = "pyarrow-17.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:a48ddf5c3c6a6c505904545c25a4ae13646ae1f8ba703c4df4a1bfe4f4006bda"}, + {file = "pyarrow-17.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:42bf93249a083aca230ba7e2786c5f673507fa97bbd9725a1e2754715151a204"}, + {file = "pyarrow-17.0.0.tar.gz", hash = "sha256:4beca9521ed2c0921c1023e68d097d0299b62c362639ea315572a58f3f50fd28"}, +] + +[package.dependencies] +numpy = ">=1.16.6" + +[package.extras] +test = ["cffi", "hypothesis", "pandas", "pytest", "pytz"] + [[package]] name = "pycparser" version = "2.22" @@ -2633,4 +2787,4 @@ test = ["hypothesis", "packaging", "pytest", "pytest-cov"] [metadata] lock-version = "2.0" python-versions = ">=3.10,<3.13" -content-hash = "c429aa38c33951c68b15a3f1ca4089b8589d0acf180a8ae10355bacf33a89704" +content-hash = "243443b42aa8bbd9d52455e147000ebd4e1065e8de68e79fa93254d3e4e951fc" diff --git a/pyproject.toml b/pyproject.toml index 991ae576..bc33c1d7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,6 +14,8 @@ pymc = "^5.17.0" # Prefer Conda scikit-learn = "^1.5.2" # Prefer Conda seaborn = "^0.13.2" # Prefer conda six = "^1.16.0" # Prefer conda +nutpie = "^0.13.2" +numba = "^0.60.0" [tool.poetry.group.dev.dependencies] sphinx-tabs = "^3.4.7" diff --git a/tests/testHBR.py b/tests/testHBR.py index 8929edb9..ebe8405c 100644 --- a/tests/testHBR.py +++ b/tests/testHBR.py @@ -25,13 +25,11 @@ random_state = 40 -working_dir = '/Users/stijndeboer/temp/' # Specify a working directory to save data and results. - -working_dir = '/Users/stijndeboer/temp/' # Specify a working directory to save data and results. +working_dir = '/Users/stijndeboer/temp/HBR/' # Specify a working directory to save data and results. simulation_method = 'linear' n_features = 1 # The number of input features of X -n_grps = 10 # Number of batches in data +n_grps = 3 # Number of batches in data n_samples = 500 # Number of samples in each group (use a list for different # sample numbers across different batches) @@ -49,7 +47,7 @@ ################################# Fittig and Predicting ############################### nm = norm_init(X_train, Y_train, alg='hbr', model_type=model_type, likelihood='SHASHb', - linear_sigma='True', random_slope_mu='True', linear_epsilon='True', linear_delta='True', nuts_sampler='nutpie') + linear_sigma='True', random_slope_mu='True', linear_epsilon='False', linear_delta='Fals', nuts_sampler='nutpie') nm.estimate(X_train, Y_train, trbefile=working_dir+'trbefile.pkl') yhat, ys2 = nm.predict(X_test, tsbefile=working_dir+'tsbefile.pkl') diff --git a/tests/testHBR_transfer.py b/tests/testHBR_transfer.py index 1b0cfa57..29ec9c96 100644 --- a/tests/testHBR_transfer.py +++ b/tests/testHBR_transfer.py @@ -1,5 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- + +# %% """ Created on Mon Jul 29 13:26:35 2019 @@ -26,7 +28,7 @@ ########################### Experiment Settings ############################### -working_dir = '/Users/stijndeboer/temp/' # Specifyexit() a working directory +working_dir = '/Users/stijndeboer/temp/HBR_transfer/' # Specifyexit() a working directory # to save data and results. simulation_method = 'linear' @@ -54,7 +56,7 @@ for model_type in model_types: nm = norm_init(X_train, Y_train, alg='hbr', likelihood='Normal', model_type=model_type, - n_chains=4, cores=4, n_samples=100, n_tuning=50, freedom=5, nknots=8, target_accept="0.99") + n_chains=4, cores=4, n_samples=100, n_tuning=50, freedom=5, nknots=8, target_accept="0.99", nuts_sampler='nutpie') print("Now Estimating on original train data ==============================================") nm.estimate(X_train, Y_train, trbefile=working_dir+'trbefile.pkl') @@ -108,6 +110,7 @@ color='gray', alpha=0.2) plt.title('Transfer model %s, Feature %d' % (model_type, i)) plt.legend() + plt.savefig(os.path.join(working_dir, 'transfer_model_' + model_type + '_feature_' + str(i) + '.png')) plt.show() diff --git a/tests/test_blr.py b/tests/test_blr.py index 59be02c2..afaaad58 100644 --- a/tests/test_blr.py +++ b/tests/test_blr.py @@ -10,8 +10,9 @@ from pcntoolkit.model.bayesreg import BLR from pcntoolkit.model.gp import GPR from pcntoolkit.util.utils import WarpBoxCox, WarpAffine, WarpCompose, WarpSinArcsinh +import os - +workingdir = '/Users/stijndeboer/temp/BLR/' def create_noise(type_noise, N, parameters=None): """Function to create different noise distributions""" if type_noise == 'exp': @@ -112,6 +113,7 @@ def create_noise(type_noise, N, parameters=None): plt.fill_between(Xs, yhat-1.96*np.sqrt(s2), yhat+1.96*np.sqrt(s2), alpha=0.2) plt.scatter(X, y) plt.plot(Xs, yhat) +plt.savefig(os.path.join(workingdir, 'linear_regression.png')) plt.show() print(B.nlZ) @@ -151,11 +153,15 @@ def create_noise(type_noise, N, parameters=None): mod = (0.5*(1+lam*yhat + np.sqrt((1+lam*yhat)**2 + 4*s2*lam*(lam-1))))**(1/lam) plt.plot(Xs, mod, 'b--') plt.legend(('median', 'mode')) +plt.savefig(os.path.join(workingdir, 'warp1.png')) + plt.show() xx = np.linspace(-5, 5, 100) plt.plot(xx, W.invf(xx, warp_param)) plt.title('estimated warping function') +plt.savefig(os.path.join(workingdir, 'warp2.png')) + plt.show() # estimate a model with heteroskedastic noise @@ -181,6 +187,8 @@ def create_noise(type_noise, N, parameters=None): print(hyp) plt.fill_between(Xs, yhat-1.96*np.sqrt(s2), yhat+1.96*np.sqrt(s2), alpha=0.2) +plt.savefig(os.path.join(workingdir, 'linear_regression2.png')) + plt.show() print("Estimate a model with site-specific noise ...") @@ -232,6 +240,8 @@ def create_noise(type_noise, N, parameters=None): yhat, s2 = Bh.predict(hyp, Phi, y, Phis, var_groups_test=sids_te) + + for s in range(n_site): plt.scatter(X[idx[s]], y[idx[s]]) plt.plot(Xs[idx_te[s]], yhat[idx_te[s]], color=cols[s]) @@ -239,4 +249,5 @@ def create_noise(type_noise, N, parameters=None): yhat[idx_te[s]] - 1.96 * np.sqrt(s2[idx_te[s]]), yhat[idx_te[s]] + 1.96 * np.sqrt(s2[idx_te[s]]), alpha=0.2, color=cols[s]) +plt.savefig(os.path.join(workingdir, 'linear_regression3.png')) plt.show() From b25bc6ee1190f3a896d9d74001f9fb8b794fe033 Mon Sep 17 00:00:00 2001 From: Stijn Date: Tue, 22 Oct 2024 13:56:04 +0200 Subject: [PATCH 38/68] Changes: - Add nutpie support for HBR - Add pyproject.toml with poetry for dependency management - Clean up the project - Tune HBR priors - Add multicore support for torque through 'n_cores_per_batch' kwarg - Adapted readme.py --- README.md | 24 ++++++------------------ requirements.txt | 0 setup.py | 0 3 files changed, 6 insertions(+), 18 deletions(-) delete mode 100644 requirements.txt delete mode 100644 setup.py diff --git a/README.md b/README.md index 51c7d474..d76af7c1 100644 --- a/README.md +++ b/README.md @@ -27,16 +27,16 @@ source activate Use the command that you get from the command builder here: https://pytorch.org/get-started/locally/. This will ensure you do not install the CUDA version of torch if your pc does not have a GPU. We also recommend that you use the `conda` option. -#### Install other required conda packages +#### Install PCNtoolkit +Using pip: ``` -conda install pip pandas scipy pymc +pip install pcntoolkit ``` -#### Install PCNtoolkit - +Using a local clone of the repo: ``` -pip install pcntoolkit +python -m pip install . ``` ## Alternative installation (on a shared resource) @@ -69,18 +69,6 @@ https://pytorch.org/get-started/locally/ If your shared resource has no GPU, make sure you select the 'CPU' field in the 'Compute Platform' row. Here we also prefer conda over pip. -#### Install other dependencies - -``` -conda install -y pandas scipy pymc -``` - -#### Install pip dependencies - -``` -pip --no-cache-dir install nibabel scikit-learn torch glob3 -``` - #### Clone the repo ``` @@ -91,7 +79,7 @@ git clone https://github.com/amarquand/PCNtoolkit.git ``` cd PCNtoolkit/ -python3 setup.py install +python -m pip install . ``` ### Test ``` diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/setup.py b/setup.py deleted file mode 100644 index e69de29b..00000000 From 5898249156d4c4413d5c827c6298d33e997ea833 Mon Sep 17 00:00:00 2001 From: Augub Date: Tue, 22 Oct 2024 14:19:39 +0200 Subject: [PATCH 39/68] Update README.md --- README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/README.md b/README.md index d76af7c1..af6078c1 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,12 @@ source activate Use the command that you get from the command builder here: https://pytorch.org/get-started/locally/. This will ensure you do not install the CUDA version of torch if your pc does not have a GPU. We also recommend that you use the `conda` option. +### Install nutpie using conda + +``` +conda install nutpie +``` + #### Install PCNtoolkit Using pip: @@ -69,6 +75,13 @@ https://pytorch.org/get-started/locally/ If your shared resource has no GPU, make sure you select the 'CPU' field in the 'Compute Platform' row. Here we also prefer conda over pip. + +### Install nutpie using conda + +``` +conda install nutpie +``` + #### Clone the repo ``` From 00458df05b76fba16bb28f34c706d8472c32d3b8 Mon Sep 17 00:00:00 2001 From: Augub Date: Tue, 22 Oct 2024 14:30:02 +0200 Subject: [PATCH 40/68] Set default argument for multicore on HPC --- pcntoolkit/normative_parallel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pcntoolkit/normative_parallel.py b/pcntoolkit/normative_parallel.py index 6b92b124..d5b95c60 100755 --- a/pcntoolkit/normative_parallel.py +++ b/pcntoolkit/normative_parallel.py @@ -112,7 +112,7 @@ def execute_nm(processing_dir, cluster_spec = kwargs.pop('cluster_spec', 'torque') log_path = kwargs.get('log_path', None) binary = kwargs.pop('binary', False) - cores = kwargs.pop('n_cores_per_batch') + cores = kwargs.pop('n_cores_per_batch','1') split_nm(processing_dir, respfile_path, From bdb6bfabe8d70d338b01cf943ddea673ef48dfd3 Mon Sep 17 00:00:00 2001 From: Stijn Date: Thu, 24 Oct 2024 12:23:07 +0200 Subject: [PATCH 41/68] Split KvOp and SHASH --- pcntoolkit/model/KOp.py | 34 ++++++++++++++++++++++++++++++++++ pcntoolkit/model/SHASH.py | 37 +++++-------------------------------- tests/testHBR.py | 2 +- 3 files changed, 40 insertions(+), 33 deletions(-) create mode 100644 pcntoolkit/model/KOp.py diff --git a/pcntoolkit/model/KOp.py b/pcntoolkit/model/KOp.py new file mode 100644 index 00000000..f4b8a654 --- /dev/null +++ b/pcntoolkit/model/KOp.py @@ -0,0 +1,34 @@ + +# Third-party imports +from pytensor.scalar.basic import BinaryScalarOp, ScalarOp, upgrade_to_float +from pytensor.gradient import grad_not_implemented + +import scipy.special as spp + +class KnuOp(BinaryScalarOp): + """ + Modified Bessel function of the second kind, pytensor wrapper for scipy.special.kv + """ + nfunc_spec = ("scipy.special.kv", 2, 1) + + @staticmethod + def st_impl(p, x): + return spp.kv(p, x) + + def impl(self, p, x): + return KnuOp.st_impl(p, x) + + def grad(self, inputs, grads): + dp = 1e-16 + (p, x) = inputs + (gz,) = grads + dfdp = (knuop(p + dp, x) - knuop(p - dp, x)) / (2*dp) + gni = grad_not_implemented(self, 0, 'x', ' Grad with respect to x is not implemented for KvOp') + # dfdx = spp.kvp(p, x) #TODO Implement this + return [ + gz * dfdp, + gni + ] + + +knuop = KnuOp(upgrade_to_float, name='knuop') \ No newline at end of file diff --git a/pcntoolkit/model/SHASH.py b/pcntoolkit/model/SHASH.py index d9139d67..13f84457 100644 --- a/pcntoolkit/model/SHASH.py +++ b/pcntoolkit/model/SHASH.py @@ -7,50 +7,23 @@ from typing import Union, List, Optional # Third-party imports -import pymc as pm from pymc import floatX from pymc.distributions import Continuous -import pytensor as pt import pytensor.tensor as ptt -from pytensor.graph.op import Op -from pytensor.graph import Apply -from pytensor.gradient import grad_not_implemented -from pytensor.tensor.random.basic import normal from pytensor.tensor.random.op import RandomVariable import numpy as np import scipy.special as spp import matplotlib.pyplot as plt -CONST1 = np.exp(0.25) / np.power(8.0 * np.pi, 0.5) -CONST2 = -np.log(2 * np.pi) / 2 - -class KOp(Op): - """ - Modified Bessel function of the second kind, pytensor wrapper for scipy.special.kv - """ - __props__ = () - - def make_node(self, p, x): - p = pt.tensor.as_tensor_variable(p) - x = pt.tensor.as_tensor_variable(x) - return Apply(self, [p, x], [p.type()]) +from pcntoolkit.model.KOp import KnuOp, knuop - def perform(self, node, inputs_storage, output_storage): - output_storage[0][0] = spp.kv(inputs_storage[0], inputs_storage[1]) +from pytensor.tensor.elemwise import Elemwise - def grad(self, inputs, output_grads): - # Approximation of the derivative. This should suffice for using NUTS - dp = 1e-16 - p = inputs[0] - x = inputs[1] - grad = (self(p + dp, x) - self(p - dp, x)) / (2*dp) - return [ - output_grads[0] * grad, - grad_not_implemented("KOp", 2, "x", "") +CONST1 = np.exp(0.25) / np.power(8.0 * np.pi, 0.5) +CONST2 = -np.log(2 * np.pi) / 2 - ] def S(x, epsilon, delta): """ @@ -126,7 +99,7 @@ def numpy_P(q): return a # Instance of the KOp -my_K = KOp() +my_K = Elemwise(knuop) def P(q): """ diff --git a/tests/testHBR.py b/tests/testHBR.py index ebe8405c..2d3baf9e 100644 --- a/tests/testHBR.py +++ b/tests/testHBR.py @@ -47,7 +47,7 @@ ################################# Fittig and Predicting ############################### nm = norm_init(X_train, Y_train, alg='hbr', model_type=model_type, likelihood='SHASHb', - linear_sigma='True', random_slope_mu='True', linear_epsilon='False', linear_delta='Fals', nuts_sampler='nutpie') + linear_sigma='True', random_slope_mu='True', linear_epsilon='False', linear_delta='True', nuts_sampler='nutpie') nm.estimate(X_train, Y_train, trbefile=working_dir+'trbefile.pkl') yhat, ys2 = nm.predict(X_test, tsbefile=working_dir+'tsbefile.pkl') From 159e9d16ada2daa2e8623c9fe512de2be26bb13b Mon Sep 17 00:00:00 2001 From: Stijn Date: Fri, 25 Oct 2024 13:36:05 +0200 Subject: [PATCH 42/68] Refactoring SHASH --- pcntoolkit/model/SHASH.py | 465 ++++++++++++++++++++++++++------------ 1 file changed, 325 insertions(+), 140 deletions(-) diff --git a/pcntoolkit/model/SHASH.py b/pcntoolkit/model/SHASH.py index 13f84457..441f952d 100644 --- a/pcntoolkit/model/SHASH.py +++ b/pcntoolkit/model/SHASH.py @@ -3,126 +3,93 @@ See: Jones et al. (2009), Sinh-Arcsinh distributions. """ -# Standard library imports -from typing import Union, List, Optional +from functools import lru_cache -# Third-party imports +import numpy as np +import pytensor as pt from pymc import floatX from pymc.distributions import Continuous - -import pytensor.tensor as ptt +from pytensor.tensor.elemwise import Elemwise from pytensor.tensor.random.op import RandomVariable -import numpy as np -import scipy.special as spp -import matplotlib.pyplot as plt +from pcntoolkit.model.KnuOp import knuop -from pcntoolkit.model.KOp import KnuOp, knuop - -from pytensor.tensor.elemwise import Elemwise +##### Constants ##### CONST1 = np.exp(0.25) / np.power(8.0 * np.pi, 0.5) CONST2 = -np.log(2 * np.pi) / 2 +##### SHASH Transformations ##### + def S(x, epsilon, delta): - """ - :param epsilon: - :param delta: - :param x: - :return: The sinharcsinh transformation of x + """Sinh-arcsinh transformation. + + Args: + x: input value + epsilon: parameter for skew + delta: parameter for kurtosis + + Returns: + Sinh-arcsinh transformed value """ return np.sinh(np.arcsinh(x) * delta - epsilon) def S_inv(x, epsilon, delta): - return np.sinh((np.arcsinh(x) + epsilon) / delta) + """Inverse sinh-arcsinh transformation. + Args: + x: input value + epsilon: parameter for skew + delta: parameter for kurtosis -def C(x, epsilon, delta): - """ - :param epsilon: - :param delta: - :param x: - :return: the cosharcsinh transformation of x - Be aware that this is sqrt(1+S(x)^2), so you may save some compute if you can re-use the result from S. + Returns: + Inverse sinh-arcsinh transformed value """ - return np.cosh(np.arcsinh(x) * delta - epsilon) + return np.sinh((np.arcsinh(x) + epsilon) / delta) -def m(epsilon, delta, r): - """ - :param epsilon: - :param delta: - :param r: - :return: The r'th uncentered moment of the SHASH distribution parameterized by epsilon and delta. Given by Jones et al. - The first four moments are given in closed form. - """ - if r == 1: - return np.sinh(epsilon / delta) * P(1 / delta) - elif r == 2: - return (np.cosh(2 * epsilon / delta) * P(2 / delta) - 1) / 2 - elif r == 3: - return ( - np.sinh(3 * epsilon / delta) * P(3 / delta) - - 3 * np.sinh(epsilon / delta) * P(1 / delta) - ) / 4 - elif r == 4: - return ( - np.cosh(4 * epsilon / delta) * P(4 / delta) - - 4 * np.cosh(2 * epsilon / delta) * P(2 / delta) - + 3 - ) / 8 - -def m1(epsilon, delta): - return np.sinh(epsilon / delta) * P(1 / delta) - -def m2(epsilon, delta): - return (np.cosh(2 * epsilon / delta) * P(2 / delta) - 1) / 2 - -def m3(epsilon, delta): - return ( - np.sinh(3 * epsilon / delta) * P(3 / delta) - - 3 * np.sinh(epsilon / delta) * P(1 / delta) - ) / 4 - -def numpy_P(q): - """ - The P function as given in Jones et al. - :param q: - :return: - """ - frac = CONST1 - K1 = spp.kv((q + 1) / 2, 0.25) - K2 = spp.kv((q - 1) / 2, 0.25) - a = (K1 + K2) * frac - return a +def C(x, epsilon, delta): + """Cosh-arcsinh transformation. -# Instance of the KOp -my_K = Elemwise(knuop) + Args: + x: input value + epsilon: parameter for skew + delta: parameter for kurtosis -def P(q): - """ - The P function as given in Jones et al. - :param q: - :return: + Returns: + The cosh-arcsinh transformation of x. + + Note: C(x) = sqrt(1+S(x)^2) """ - K1 = my_K((q + 1) / 2, 0.25) - K2 = my_K((q - 1) / 2, 0.25) - a = (K1 + K2) * CONST1 - return a + return np.cosh(np.arcsinh(x) * delta - epsilon) ##### SHASH Distributions ##### + class SHASH(RandomVariable): + """SHASH RV, described by Jones et al., based on a standard normal distribution.""" + name = "shash" signature = "(),()->()" dtype = "floatX" _print_name = ("SHASH", "\\operatorname{SHASH}") @classmethod - def rng_fn(cls, rng, epsilon, delta, size=None) -> np.ndarray: + def rng_fn(cls, rng, epsilon, delta, size=None): + """Draw random samples from SHASH distribution. + + Args: + rng: Random number generator + epsilon: skew parameter + delta: kurtosis parameter + size: sample size. Defaults to None. + + Returns: + Random samples from SHASH distribution + """ return np.sinh( (np.arcsinh(rng.normal(loc=0, scale=1, size=size)) + epsilon) / delta ) @@ -134,35 +101,144 @@ def rng_fn(cls, rng, epsilon, delta, size=None) -> np.ndarray: class SHASH(Continuous): rv_op = shash """ - SHASH described by Jones et al., based on a standard normal distribution. + SHASH distribution described by Jones et al., based on a standard normal distribution. """ + # Instance of the KOp + my_K = Elemwise(knuop) + + @staticmethod + @lru_cache(maxsize=128) + def P(q): + """The P function as given in Jones et al. + + Args: + q: input parameter for the P function + + Returns: + Result of the P function computation + """ + K1 = SHASH.my_K((q + 1) / 2, 0.25) + K2 = SHASH.my_K((q - 1) / 2, 0.25) + a = (K1 + K2) * CONST1 + return a + + @staticmethod + def m1(epsilon, delta): + """The first moment of the SHASH distribution parametrized by epsilon and delta. + + Args: + epsilon: skew parameter + delta: kurtosis parameter + + Returns: + First moment of the SHASH distribution + """ + return np.sinh(epsilon / delta) * SHASH.P(1 / delta) + + @staticmethod + def m2(epsilon, delta): + """The second moment of the SHASH distribution parametrized by epsilon and delta. + + Args: + epsilon: skew parameter + delta: kurtosis parameter + + Returns: + Second moment of the SHASH distribution + """ + return (np.cosh(2 * epsilon / delta) * SHASH.P(2 / delta) - 1) / 2 + + @staticmethod + def m1m2(epsilon, delta): + """Compute both first and second moments together to avoid redundant calculations. + + Args: + epsilon: skew parameter + delta: kurtosis parameter + + Returns: + Tuple containing (mean, variance) of the SHASH distribution + """ + inv_delta = 1.0 / delta + two_inv_delta = 2.0 * inv_delta + + # Compute P values once + p1 = SHASH.P(inv_delta) + p2 = SHASH.P(two_inv_delta) + + # Compute trig terms once + eps_delta = epsilon / delta + sinh_eps_delta = np.sinh(eps_delta) + cosh_2eps_delta = np.cosh(2 * eps_delta) + + # Compute moments + mean = sinh_eps_delta * p1 + raw_second = (cosh_2eps_delta * p2 - 1) / 2 + var = raw_second - mean**2 + return mean, var + @classmethod def dist(cls, epsilon, delta, **kwargs): - epsilon = ptt.as_tensor_variable(floatX(epsilon)) - delta = ptt.as_tensor_variable(floatX(delta)) + """Return a SHASH distribution. + + Args: + epsilon: skew parameter + delta: kurtosis parameter + **kwargs: Additional arguments passed to the distribution + + Returns: + A SHASH distribution + """ + epsilon = pt.as_tensor_variable(floatX(epsilon)) + delta = pt.as_tensor_variable(floatX(delta)) return super().dist([epsilon, delta], **kwargs) def logp(value, epsilon, delta): + """Log-probability of the SHASH distribution. + + Args: + value: value to evaluate the log-probability at + epsilon: skew parameter + delta: kurtosis parameter + + Returns: + Log-probability of the SHASH distribution + """ this_S = S(value, epsilon, delta) - this_S_sqr = ptt.sqr(this_S) + this_S_sqr = pt.sqr(this_S) this_C_sqr = 1 + this_S_sqr - frac2 = ( - ptt.log(delta) + ptt.log(this_C_sqr) / - 2 - ptt.log(1 + ptt.sqr(value)) / 2 - ) + frac2 = pt.log(delta) + pt.log(this_C_sqr) / 2 - pt.log(1 + pt.sqr(value)) / 2 exp = -this_S_sqr / 2 return CONST2 + frac2 + exp class SHASHoRV(RandomVariable): + """SHASHo Random Variable. + + Samples from a SHASHo distribution, which is a SHASH distribution scaled by sigma and translated by mu. + """ + name = "shasho" signature = "(),(),(),()->()" dtype = "floatX" _print_name = ("SHASHo", "\\operatorname{SHASHo}") @classmethod - def rng_fn(cls, rng, mu, sigma, epsilon, delta, size=None) -> np.ndarray: + def rng_fn(cls, rng, mu, sigma, epsilon, delta, size=None): + """Draw random samples from a SHASHo distribution. + + Args: + rng: Random number generator + mu: location parameter + sigma: scale parameter + epsilon: skew parameter + delta: kurtosis parameter + size: sample size. Defaults to None. + + Returns: + Random samples from SHASHo distribution + """ s = rng.normal(size=size) return np.sinh((np.arcsinh(s) + epsilon) / delta) * sigma + mu @@ -171,41 +247,84 @@ def rng_fn(cls, rng, mu, sigma, epsilon, delta, size=None) -> np.ndarray: class SHASHo(Continuous): + """SHASHo distribution, which is a SHASH distribution scaled by sigma and translated by mu.""" + rv_op = shasho - """ - This is the transformation where the location and scale parameters have simply been applied as an linear transformation directly on the original distribution. - """ @classmethod def dist(cls, mu, sigma, epsilon, delta, **kwargs): - mu = ptt.as_tensor_variable(floatX(mu)) - sigma = ptt.as_tensor_variable(floatX(sigma)) - epsilon = ptt.as_tensor_variable(floatX(epsilon)) - delta = ptt.as_tensor_variable(floatX(delta)) + """Return a SHASHo distribution. + + Args: + mu: location parameter + sigma: scale parameter + epsilon: skew parameter + delta: kurtosis parameter + **kwargs: Additional arguments passed to the distribution + + Returns: + A SHASHo distribution + """ + mu = pt.as_tensor_variable(floatX(mu)) + sigma = pt.as_tensor_variable(floatX(sigma)) + epsilon = pt.as_tensor_variable(floatX(epsilon)) + delta = pt.as_tensor_variable(floatX(delta)) return super().dist([mu, sigma, epsilon, delta], **kwargs) def logp(value, mu, sigma, epsilon, delta): + """The log-probability of the SHASHo distribution. + + Args: + value: value to evaluate the log-probability at + mu: location parameter + sigma: scale parameter + epsilon: skew parameter + delta: kurtosis parameter + + Returns: + Log-probability of the SHASHo distribution + """ remapped_value = (value - mu) / sigma this_S = S(remapped_value, epsilon, delta) - this_S_sqr = ptt.sqr(this_S) + this_S_sqr = pt.sqr(this_S) this_C_sqr = 1 + this_S_sqr frac2 = ( - ptt.log(delta) - + ptt.log(this_C_sqr) / 2 - - ptt.log(1 + ptt.sqr(remapped_value)) / 2 + pt.log(delta) + + pt.log(this_C_sqr) / 2 + - pt.log(1 + pt.sqr(remapped_value)) / 2 ) exp = -this_S_sqr / 2 - return CONST2 + frac2 + exp - ptt.log(sigma) + return CONST2 + frac2 + exp - pt.log(sigma) class SHASHo2RV(RandomVariable): + """SHASHo2 Random Variable. + + Samples from a SHASHo2 distribution, which is a SHASH distribution scaled by sigma/delta + and translated by mu. This variant provides an alternative parameterization where the + scale parameter is adjusted by the kurtosis parameter. + """ + name = "shasho2" signature = "(),(),(),()->()" dtype = "floatX" _print_name = ("SHASHo2", "\\operatorname{SHASHo2}") @classmethod - def rng_fn(cls, rng, mu, sigma, epsilon, delta, size=None) -> np.ndarray: + def rng_fn(cls, rng, mu, sigma, epsilon, delta, size=None): + """Draw random samples from SHASHo2 distribution. + + Args: + rng: Random number generator + mu: location parameter + sigma: scale parameter + epsilon: skew parameter + delta: kurtosis parameter + size: sample size. Defaults to None. + + Returns: + Random samples from SHASHo2 distribution + """ s = rng.normal(size=size) sigma_d = sigma / delta return np.sinh((np.arcsinh(s) + epsilon) / delta) * sigma_d + mu @@ -215,81 +334,147 @@ def rng_fn(cls, rng, mu, sigma, epsilon, delta, size=None) -> np.ndarray: class SHASHo2(Continuous): - rv_op = shasho2 - """ - This is the reparameterization where we apply the transformation provided in section 4.3 in Jones et al. + """SHASHo2 distribution, which is a SHASH distribution scaled by sigma/delta and translated by mu. + + This distribution provides an alternative parameterization of the SHASH distribution where + the scale parameter is adjusted by the kurtosis parameter. This can be useful in scenarios + where the relationship between scale and kurtosis needs to be explicitly modeled. """ + rv_op = shasho2 + @classmethod def dist(cls, mu, sigma, epsilon, delta, **kwargs): - mu = ptt.as_tensor_variable(floatX(mu)) - sigma = ptt.as_tensor_variable(floatX(sigma)) - epsilon = ptt.as_tensor_variable(floatX(epsilon)) - delta = ptt.as_tensor_variable(floatX(delta)) + """Return a SHASHo2 distribution. + + Args: + mu: location parameter + sigma: scale parameter + epsilon: skew parameter + delta: kurtosis parameter + **kwargs: Additional arguments passed to the distribution + + Returns: + A SHASHo2 distribution + """ + mu = pt.as_tensor_variable(floatX(mu)) + sigma = pt.as_tensor_variable(floatX(sigma)) + epsilon = pt.as_tensor_variable(floatX(epsilon)) + delta = pt.as_tensor_variable(floatX(delta)) return super().dist([mu, sigma, epsilon, delta], **kwargs) def logp(value, mu, sigma, epsilon, delta): + """The log-probability of the SHASHo2 distribution. + + Args: + value: value to evaluate the log-probability at + mu: location parameter + sigma: scale parameter + epsilon: skew parameter + delta: kurtosis parameter + + Returns: + Log-probability of the SHASHo2 distribution + """ sigma_d = sigma / delta remapped_value = (value - mu) / sigma_d this_S = S(remapped_value, epsilon, delta) - this_S_sqr = ptt.sqr(this_S) + this_S_sqr = pt.sqr(this_S) this_C_sqr = 1 + this_S_sqr frac2 = ( - ptt.log(delta) - + ptt.log(this_C_sqr) / 2 - - ptt.log(1 + ptt.sqr(remapped_value)) / 2 + pt.log(delta) + + pt.log(this_C_sqr) / 2 + - pt.log(1 + pt.sqr(remapped_value)) / 2 ) exp = -this_S_sqr / 2 - return CONST2 + frac2 + exp - ptt.log(sigma_d) + return CONST2 + frac2 + exp - pt.log(sigma_d) +class SHASHbRV(RandomVariable): + """SHASHb Random Variable. + Samples from a SHASHb distribution, which is a standardized SHASH distribution scaled by sigma + and translated by mu. This variant provides a standardized version of the SHASH distribution + where the base distribution is normalized to have zero mean and unit variance before applying + the location and scale transformations. + """ -class SHASHbRV(RandomVariable): name = "shashb" signature = "(),(),(),()->()" dtype = "floatX" _print_name = ("SHASHb", "\\operatorname{SHASHb}") @classmethod - def rng_fn( - cls, - rng: np.random.RandomState, - mu: Union[np.ndarray, float], - sigma: Union[np.ndarray, float], - epsilon: Union[np.ndarray, float], - delta: Union[np.ndarray, float], - size: Optional[Union[List[int], int]], - ) -> np.ndarray: + def rng_fn(cls, rng, mu, sigma, epsilon, delta, size=None): + """Draw random samples from SHASHb distribution. + + Args: + rng: Random number generator + mu: location parameter + sigma: scale parameter + epsilon: skew parameter + delta: kurtosis parameter + size: sample size. Defaults to None. + + Returns: + Random samples from SHASHb distribution + """ s = rng.normal(size=size) - mean = np.sinh(epsilon / delta) * numpy_P(1 / delta) - var = ((np.cosh(2 * epsilon / delta) * numpy_P(2 / delta) - 1) / 2) - mean**2 + mean, var = SHASH.m1m2(epsilon, delta) out = ( (np.sinh((np.arcsinh(s) + epsilon) / delta) - mean) / np.sqrt(var) ) * sigma + mu - return out + return out.eval() shashb = SHASHbRV() class SHASHb(Continuous): - rv_op = shashb - """ - This is the reparameterization where the location and scale parameters been applied as an linear transformation on the shash distribution which was corrected for mean and variance. + """SHASHb distribution, which is a standardized SHASH distribution scaled by sigma and translated by mu. + + This distribution provides a standardized version of the SHASH distribution where the base + distribution is normalized to have zero mean and unit variance before applying the location + and scale transformations. This transformation aims to remove the correlation between the + parameters, which can be useful in MCMC sampling. """ + rv_op = shashb + @classmethod def dist(cls, mu, sigma, epsilon, delta, **kwargs): - mu = ptt.as_tensor_variable(floatX(mu)) - sigma = ptt.as_tensor_variable(floatX(sigma)) - epsilon = ptt.as_tensor_variable(floatX(epsilon)) - delta = ptt.as_tensor_variable(floatX(delta)) + """Return a SHASHb distribution. + + Args: + mu: location parameter + sigma: scale parameter + epsilon: skew parameter + delta: kurtosis parameter + **kwargs: Additional arguments passed to the distribution + + Returns: + A SHASHb distribution + """ + mu = pt.as_tensor_variable(floatX(mu)) + sigma = pt.as_tensor_variable(floatX(sigma)) + epsilon = pt.as_tensor_variable(floatX(epsilon)) + delta = pt.as_tensor_variable(floatX(delta)) return super().dist([mu, sigma, epsilon, delta], **kwargs) def logp(value, mu, sigma, epsilon, delta): - mean = m1(epsilon, delta) - var = m2(epsilon, delta) - mean**2 + """The log-probability of the SHASHb distribution. + + Args: + value: value to evaluate the log-probability at + mu: location parameter + sigma: scale parameter + epsilon: skew parameter + delta: kurtosis parameter + + Returns: + Log-probability of the SHASHb distribution + """ + mean, var = SHASH.m1m2(epsilon, delta) remapped_value = ((value - mu) / sigma) * np.sqrt(var) + mean this_S = S(remapped_value, epsilon, delta) this_S_sqr = np.square(this_S) From f3732b56359e1323d85f920bab870525da234a86 Mon Sep 17 00:00:00 2001 From: Stijn Date: Fri, 25 Oct 2024 13:36:24 +0200 Subject: [PATCH 43/68] Refactor KOp (Now called KnuOp --- pcntoolkit/model/KOp.py | 34 ------------------------- pcntoolkit/model/KnuOp.py | 52 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 34 deletions(-) delete mode 100644 pcntoolkit/model/KOp.py create mode 100644 pcntoolkit/model/KnuOp.py diff --git a/pcntoolkit/model/KOp.py b/pcntoolkit/model/KOp.py deleted file mode 100644 index f4b8a654..00000000 --- a/pcntoolkit/model/KOp.py +++ /dev/null @@ -1,34 +0,0 @@ - -# Third-party imports -from pytensor.scalar.basic import BinaryScalarOp, ScalarOp, upgrade_to_float -from pytensor.gradient import grad_not_implemented - -import scipy.special as spp - -class KnuOp(BinaryScalarOp): - """ - Modified Bessel function of the second kind, pytensor wrapper for scipy.special.kv - """ - nfunc_spec = ("scipy.special.kv", 2, 1) - - @staticmethod - def st_impl(p, x): - return spp.kv(p, x) - - def impl(self, p, x): - return KnuOp.st_impl(p, x) - - def grad(self, inputs, grads): - dp = 1e-16 - (p, x) = inputs - (gz,) = grads - dfdp = (knuop(p + dp, x) - knuop(p - dp, x)) / (2*dp) - gni = grad_not_implemented(self, 0, 'x', ' Grad with respect to x is not implemented for KvOp') - # dfdx = spp.kvp(p, x) #TODO Implement this - return [ - gz * dfdp, - gni - ] - - -knuop = KnuOp(upgrade_to_float, name='knuop') \ No newline at end of file diff --git a/pcntoolkit/model/KnuOp.py b/pcntoolkit/model/KnuOp.py new file mode 100644 index 00000000..c9f54fe4 --- /dev/null +++ b/pcntoolkit/model/KnuOp.py @@ -0,0 +1,52 @@ +# Third-party imports +import scipy.special as spp +from pytensor.scalar.basic import BinaryScalarOp, upgrade_to_float + + +class KnuOp(BinaryScalarOp): + """ + Modified Bessel function of the second kind, pytensor wrapper for scipy.special.kv + """ + + nfunc_spec = ("scipy.special.kv", 2, 1) + + @staticmethod + def st_impl(p, x): + return spp.kv(p, x) + + def impl(self, p, x): + return KnuOp.st_impl(p, x) + + def grad(self, inputs, grads): + dp = 1e-16 + (p, x) = inputs + (gz,) = grads + dfdp = (knuop(p + dp, x) - knuop(p - dp, x)) / (2 * dp) + return [gz * dfdp, gz * knupop(p, x)] + + +class KnuPrimeOp(BinaryScalarOp): + """ + Derivative of the modified Bessel function of the second kind. + """ + + nfunc_spec = ("scipy.special.kvp", 2, 1) + + @staticmethod + def st_impl(p, x): + return spp.kvp(p, x) + + def impl(self, p, x): + return KnuPrimeOp.st_impl(p, x) + + def grad(self, inputs, grads): + dp = 1e-16 + (p, x) = inputs + (gz,) = grads + dfdp = (knupop(p + dp, x) - knupop(p - dp, x)) / (2 * dp) + dfdx = -knuop(p, x) - knupop(p, x) / x + return [gz * dfdp, gz * dfdx] + + +knuop = KnuOp(upgrade_to_float, name="knuop") +knupop = KnuPrimeOp(upgrade_to_float, name="knupop") From 0013ea71d1b575d40122f1db7791cfaabd0cb6b8 Mon Sep 17 00:00:00 2001 From: Stijn Date: Fri, 25 Oct 2024 13:36:58 +0200 Subject: [PATCH 44/68] Add tests for SHASH classes --- pytest_tests/test_shash.py | 100 +++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 pytest_tests/test_shash.py diff --git a/pytest_tests/test_shash.py b/pytest_tests/test_shash.py new file mode 100644 index 00000000..2e81460a --- /dev/null +++ b/pytest_tests/test_shash.py @@ -0,0 +1,100 @@ +import numpy as np +from numpy.testing import assert_almost_equal, assert_array_almost_equal + +from pcntoolkit.model.SHASH import SHASH, C, S, S_inv, SHASHb, SHASHo, SHASHo2 + + +def test_shash_transformations(): + """Test the basic SHASH transformations (S, S_inv, C)""" + x = np.array([-2.0, -1.0, 0.0, 1.0, 2.0]) + epsilon = 0.5 + delta = 1.5 + + # Test S transformation + s_result = S(x, epsilon, delta) + # Test inverse relationship + s_inv_result = S_inv(s_result, epsilon, delta) + assert_array_almost_equal(x, s_inv_result, decimal=6) + + # Test C transformation + c_result = C(x, epsilon, delta) + # C should always be >= 1 since it's sqrt(1 + S^2) + assert np.all(c_result >= 1.0) + # Test relationship between S and C + assert_array_almost_equal(c_result, np.sqrt(1 + s_result**2), decimal=6) + + +def test_moment_calculations(): + """Test moment calculation functions""" + epsilon = 0.5 + delta = 1.5 + + # Test compute_moments function + mean, var = SHASH.m1m2(epsilon, delta) + assert_almost_equal(mean.eval(), SHASH.m1(epsilon, delta).eval(), decimal=6) + assert_almost_equal( + var.eval(), SHASH.m2(epsilon, delta).eval() - mean.eval() ** 2, decimal=6 + ) + + +def test_shash_random_generation(): + """Test random number generation for SHASH distributions""" + rng = np.random.RandomState(42) + n_samples = 1000 + + # Test base SHASH + epsilon, delta = 0.5, 1.5 + samples = SHASH.rv_op.rng_fn(rng, epsilon, delta, size=n_samples) + assert samples.shape == (n_samples,) + + # Test SHASHo + mu, sigma = 1.0, 2.0 + samples_o = SHASHo.rv_op.rng_fn(rng, mu, sigma, epsilon, delta, size=n_samples) + assert samples_o.shape == (n_samples,) + + # Test SHASHo2 + samples_o2 = SHASHo2.rv_op.rng_fn(rng, mu, sigma, epsilon, delta, size=n_samples) + assert samples_o2.shape == (n_samples,) + + # Test SHASHb + samples_b = SHASHb.rv_op.rng_fn(rng, mu, sigma, epsilon, delta, size=n_samples) + assert samples_b.shape == (n_samples,) + + +def test_shash_distribution_properties(): + """Test statistical properties of SHASH distributions""" + rng = np.random.RandomState(42) + n_samples = 10000 + mu, sigma = 1.0, 2.0 + epsilon, delta = 0.5, 1.5 + + # Generate samples from SHASHb + samples = SHASHb.rv_op.rng_fn(rng, mu, sigma, epsilon, delta, size=n_samples) + + # Check mean and standard deviation are close to specified values + assert_almost_equal(np.mean(samples), mu, decimal=1) + assert_almost_equal(np.std(samples), sigma, decimal=1) + + +def test_edge_cases(): + """Test edge cases and boundary conditions""" + x = np.array([-1e10, 0.0, 1e10]) # Test very large/small values + epsilon = 0.0 # Test zero skewness + delta = 1.0 # Test unit tail weight + + # S transformation should handle extreme values + s_result = S(x, epsilon, delta) + assert not np.any(np.isnan(s_result)) + assert not np.any(np.isinf(s_result)) + + # C transformation should handle extreme values + c_result = C(x, epsilon, delta) + assert not np.any(np.isnan(c_result)) + assert not np.any(np.isinf(c_result)) + assert np.all(c_result >= 1.0) + + # Test moment calculations with edge case parameters + mean, var = SHASH.m1m2(0.0, 1.0) # Standard case + assert not np.isnan(mean.eval()) + assert not np.isnan(var.eval()) + assert var.eval() > 0 # Variance should always be positive From 1679ec57bef97df136d7f303bf1ad38bba2d923e Mon Sep 17 00:00:00 2001 From: Stijn Date: Fri, 25 Oct 2024 13:37:26 +0200 Subject: [PATCH 45/68] Formating --- tests/testHBR.py | 117 +++++++++++++++++++++++++++++++---------------- 1 file changed, 78 insertions(+), 39 deletions(-) diff --git a/tests/testHBR.py b/tests/testHBR.py index 2d3baf9e..0e19ac5b 100644 --- a/tests/testHBR.py +++ b/tests/testHBR.py @@ -10,47 +10,65 @@ This script tests HBR models with default configs on toy data. """ + # %% -import os +from warnings import filterwarnings + +import matplotlib.pyplot as plt import numpy as np + from pcntoolkit.normative_model.norm_utils import norm_init from pcntoolkit.util.utils import simulate_data -import matplotlib.pyplot as plt -from pcntoolkit.normative import estimate -from warnings import filterwarnings -filterwarnings('ignore') + +filterwarnings("ignore") ########################### Experiment Settings ############################### random_state = 40 -working_dir = '/Users/stijndeboer/temp/HBR/' # Specify a working directory to save data and results. +working_dir = "/Users/stijndeboer/temp/HBR/" # Specify a working directory to save data and results. -simulation_method = 'linear' -n_features = 1 # The number of input features of X -n_grps = 3 # Number of batches in data -n_samples = 500 # Number of samples in each group (use a list for different +simulation_method = "linear" +n_features = 1 # The number of input features of X +n_grps = 3 # Number of batches in data +n_samples = 500 # Number of samples in each group (use a list for different # sample numbers across different batches) -model_type = 'bspline' # modelto try 'linear, ''polynomial', 'bspline' +model_type = "bspline" # modelto try 'linear, ''polynomial', 'bspline' ############################## Data Simulation ################################ -X_train, Y_train, grp_id_train, X_test, Y_test, grp_id_test, coef = \ - simulate_data(simulation_method, n_samples, n_features, n_grps, - working_dir=working_dir, plot=True, noise='heteroscedastic_nongaussian', - random_state=random_state) +X_train, Y_train, grp_id_train, X_test, Y_test, grp_id_test, coef = simulate_data( + simulation_method, + n_samples, + n_features, + n_grps, + working_dir=working_dir, + plot=True, + noise="heteroscedastic_nongaussian", + random_state=random_state, +) ################################# Fittig and Predicting ############################### -nm = norm_init(X_train, Y_train, alg='hbr', model_type=model_type, likelihood='SHASHb', - linear_sigma='True', random_slope_mu='True', linear_epsilon='False', linear_delta='True', nuts_sampler='nutpie') +nm = norm_init( + X_train, + Y_train, + alg="hbr", + model_type=model_type, + likelihood="SHASHb", + linear_sigma="True", + random_slope_mu="False", + linear_epsilon="True", + linear_delta="True", + nuts_sampler="pymc", +) -nm.estimate(X_train, Y_train, trbefile=working_dir+'trbefile.pkl') -yhat, ys2 = nm.predict(X_test, tsbefile=working_dir+'tsbefile.pkl') +nm.estimate(X_train, Y_train, trbefile=working_dir + "trbefile.pkl") +yhat, ys2 = nm.predict(X_test, tsbefile=working_dir + "tsbefile.pkl") ################################# Plotting Quantiles ############################### @@ -61,35 +79,47 @@ temp_be = grp_id_test[sorted_idx, :].squeeze() temp_yhat = yhat[sorted_idx,] temp_s2 = ys2[sorted_idx,] - + plt.figure() for j in range(n_grps): - scat1 = plt.scatter(temp_X[temp_be == j,], temp_Y[temp_be == j,], - label='Group' + str(j)) + scat1 = plt.scatter( + temp_X[temp_be == j,], temp_Y[temp_be == j,], label="Group" + str(j) + ) # Showing the quantiles resolution = 200 synth_X = np.linspace(np.min(X_train), np.max(X_train), resolution) - q = nm.get_mcmc_quantiles( - synth_X, batch_effects=j*np.ones(resolution)) + q = nm.get_mcmc_quantiles(synth_X, batch_effects=j * np.ones(resolution)) col = scat1.get_facecolors()[0] - plt.plot(synth_X, q.T, linewidth=1, color=col, zorder=0) + plt.plot(synth_X, q.T, linewidth=1, color=col, zorder=0) - plt.title('Model %s, Feature %d' % (model_type, i)) + plt.title("Model %s, Feature %d" % (model_type, i)) plt.legend() plt.show(block=False) - plt.savefig(working_dir + 'quantiles_' + model_type + '_feature_' + str(i) + '.png') + plt.savefig(working_dir + "quantiles_" + model_type + "_feature_" + str(i) + ".png") for j in range(n_grps): plt.figure() plt.scatter(temp_X[temp_be == j,], temp_Y[temp_be == j,]) - plt.plot(temp_X[temp_be == j,], temp_yhat[temp_be == j,], color='red') - plt.fill_between(temp_X[temp_be == j,].squeeze(), - (temp_yhat[temp_be == j,] - 2 * np.sqrt(temp_s2[temp_be == j,])).squeeze(), - (temp_yhat[temp_be == j,] + 2 * np.sqrt(temp_s2[temp_be == j,])).squeeze(), - color='red', alpha=0.2) - plt.title('Model %s, Group %d, Feature %d' % (model_type, j, i)) + plt.plot(temp_X[temp_be == j,], temp_yhat[temp_be == j,], color="red") + plt.fill_between( + temp_X[temp_be == j,].squeeze(), + (temp_yhat[temp_be == j,] - 2 * np.sqrt(temp_s2[temp_be == j,])).squeeze(), + (temp_yhat[temp_be == j,] + 2 * np.sqrt(temp_s2[temp_be == j,])).squeeze(), + color="red", + alpha=0.2, + ) + plt.title("Model %s, Group %d, Feature %d" % (model_type, j, i)) plt.show(block=False) - plt.savefig(working_dir + 'pred_' + model_type + '_group_' + str(j) + '_feature_' + str(i) + '.png') + plt.savefig( + working_dir + + "pred_" + + model_type + + "_group_" + + str(j) + + "_feature_" + + str(i) + + ".png" + ) ############################## Normative Modelling Test ####################### @@ -110,18 +140,27 @@ ############################################################################### + # %% for j in range(n_grps): # Showing the quantiles resolution = 200 synth_X = np.linspace(np.min(X_train), np.max(X_train), resolution) - q = nm.get_mcmc_quantiles( - synth_X, batch_effects=j*np.ones(resolution)) + q = nm.get_mcmc_quantiles(synth_X, batch_effects=j * np.ones(resolution)) plt.figure() plt.scatter(temp_X[temp_be == j,], temp_Y[temp_be == j,]) - plt.plot(synth_X, q.T, color='black') - plt.title('Model %s, Group %d, Feature %d' % (model_type, j, i)) + plt.plot(synth_X, q.T, color="black") + plt.title("Model %s, Group %d, Feature %d" % (model_type, j, i)) plt.show(block=False) - plt.savefig(working_dir + 'pred_' + model_type + '_group_' + str(j) + '_feature_' + str(i) + '.png') + plt.savefig( + working_dir + + "pred_" + + model_type + + "_group_" + + str(j) + + "_feature_" + + str(i) + + ".png" + ) # %% From 445dfabb018f6cedca7c7893fc08945f73389736 Mon Sep 17 00:00:00 2001 From: Stijn Date: Fri, 25 Oct 2024 14:08:51 +0200 Subject: [PATCH 46/68] Correct call to as_tensor_variable Refactor P and m1m2 Add grad_not_implemented warning for P` --- pcntoolkit/model/KnuOp.py | 8 ++---- pcntoolkit/model/SHASH.py | 54 +++++++++++++++++++++++++++------------ 2 files changed, 40 insertions(+), 22 deletions(-) diff --git a/pcntoolkit/model/KnuOp.py b/pcntoolkit/model/KnuOp.py index c9f54fe4..35e93302 100644 --- a/pcntoolkit/model/KnuOp.py +++ b/pcntoolkit/model/KnuOp.py @@ -1,5 +1,6 @@ # Third-party imports import scipy.special as spp +from pytensor.gradient import grad_not_implemented from pytensor.scalar.basic import BinaryScalarOp, upgrade_to_float @@ -40,12 +41,7 @@ def impl(self, p, x): return KnuPrimeOp.st_impl(p, x) def grad(self, inputs, grads): - dp = 1e-16 - (p, x) = inputs - (gz,) = grads - dfdp = (knupop(p + dp, x) - knupop(p - dp, x)) / (2 * dp) - dfdx = -knuop(p, x) - knupop(p, x) / x - return [gz * dfdp, gz * dfdx] + return [grad_not_implemented(self, 0, "p"), grad_not_implemented(self, 1, "x")] knuop = KnuOp(upgrade_to_float, name="knuop") diff --git a/pcntoolkit/model/SHASH.py b/pcntoolkit/model/SHASH.py index 441f952d..a64317e7 100644 --- a/pcntoolkit/model/SHASH.py +++ b/pcntoolkit/model/SHASH.py @@ -9,8 +9,10 @@ import pytensor as pt from pymc import floatX from pymc.distributions import Continuous +from pytensor.tensor import as_tensor_variable from pytensor.tensor.elemwise import Elemwise from pytensor.tensor.random.op import RandomVariable +from scipy.special import kv from pcntoolkit.model.KnuOp import knuop @@ -190,8 +192,8 @@ def dist(cls, epsilon, delta, **kwargs): Returns: A SHASH distribution """ - epsilon = pt.as_tensor_variable(floatX(epsilon)) - delta = pt.as_tensor_variable(floatX(delta)) + epsilon = as_tensor_variable(floatX(epsilon)) + delta = as_tensor_variable(floatX(delta)) return super().dist([epsilon, delta], **kwargs) def logp(value, epsilon, delta): @@ -265,10 +267,10 @@ def dist(cls, mu, sigma, epsilon, delta, **kwargs): Returns: A SHASHo distribution """ - mu = pt.as_tensor_variable(floatX(mu)) - sigma = pt.as_tensor_variable(floatX(sigma)) - epsilon = pt.as_tensor_variable(floatX(epsilon)) - delta = pt.as_tensor_variable(floatX(delta)) + mu = as_tensor_variable(floatX(mu)) + sigma = as_tensor_variable(floatX(sigma)) + epsilon = as_tensor_variable(floatX(epsilon)) + delta = as_tensor_variable(floatX(delta)) return super().dist([mu, sigma, epsilon, delta], **kwargs) def logp(value, mu, sigma, epsilon, delta): @@ -357,10 +359,10 @@ def dist(cls, mu, sigma, epsilon, delta, **kwargs): Returns: A SHASHo2 distribution """ - mu = pt.as_tensor_variable(floatX(mu)) - sigma = pt.as_tensor_variable(floatX(sigma)) - epsilon = pt.as_tensor_variable(floatX(epsilon)) - delta = pt.as_tensor_variable(floatX(delta)) + mu = as_tensor_variable(floatX(mu)) + sigma = as_tensor_variable(floatX(sigma)) + epsilon = as_tensor_variable(floatX(epsilon)) + delta = as_tensor_variable(floatX(delta)) return super().dist([mu, sigma, epsilon, delta], **kwargs) def logp(value, mu, sigma, epsilon, delta): @@ -420,11 +422,31 @@ def rng_fn(cls, rng, mu, sigma, epsilon, delta, size=None): Random samples from SHASHb distribution """ s = rng.normal(size=size) - mean, var = SHASH.m1m2(epsilon, delta) + + def P(q): + K1 = kv((q + 1) / 2, 0.25) + K2 = kv((q - 1) / 2, 0.25) + a = (K1 + K2) * CONST1 + return a + + def m1m2(epsilon, delta): + inv_delta = 1.0 / delta + two_inv_delta = 2.0 * inv_delta + p1 = P(inv_delta) + p2 = P(two_inv_delta) + eps_delta = epsilon / delta + sinh_eps_delta = np.sinh(eps_delta) + cosh_2eps_delta = np.cosh(2 * eps_delta) + mean = sinh_eps_delta * p1 + raw_second = (cosh_2eps_delta * p2 - 1) / 2 + var = raw_second - mean**2 + return mean, var + + mean, var = m1m2(epsilon, delta) out = ( (np.sinh((np.arcsinh(s) + epsilon) / delta) - mean) / np.sqrt(var) ) * sigma + mu - return out.eval() + return out shashb = SHASHbRV() @@ -455,10 +477,10 @@ def dist(cls, mu, sigma, epsilon, delta, **kwargs): Returns: A SHASHb distribution """ - mu = pt.as_tensor_variable(floatX(mu)) - sigma = pt.as_tensor_variable(floatX(sigma)) - epsilon = pt.as_tensor_variable(floatX(epsilon)) - delta = pt.as_tensor_variable(floatX(delta)) + mu = as_tensor_variable(floatX(mu)) + sigma = as_tensor_variable(floatX(sigma)) + epsilon = as_tensor_variable(floatX(epsilon)) + delta = as_tensor_variable(floatX(delta)) return super().dist([mu, sigma, epsilon, delta], **kwargs) def logp(value, mu, sigma, epsilon, delta): From 76340afc5889d0472fcb50ae7135ca2784abe946 Mon Sep 17 00:00:00 2001 From: Stijn Date: Wed, 6 Nov 2024 16:30:13 +0100 Subject: [PATCH 47/68] Fix pandas backwards compatibility --- pcntoolkit/normative_model/norm_base.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pcntoolkit/normative_model/norm_base.py b/pcntoolkit/normative_model/norm_base.py index 7839e740..268d421e 100644 --- a/pcntoolkit/normative_model/norm_base.py +++ b/pcntoolkit/normative_model/norm_base.py @@ -1,8 +1,10 @@ import os +import pickle import sys -from six import with_metaclass from abc import ABCMeta, abstractmethod -import pickle + +import pandas as pd +from six import with_metaclass try: # run as a package if installed from pcntoolkit import configs @@ -53,7 +55,7 @@ def save(self, save_path): def load(self, load_path): try: with open(load_path, 'rb') as handle: - nm = pickle.load(handle) + nm = pd.read_pickle(handle) return nm except Exception as err: print('Error:', err) From 104f28d3527a757de4af88d13d4ea91dbfaadd6c Mon Sep 17 00:00:00 2001 From: Stijn Date: Fri, 8 Nov 2024 16:17:31 +0100 Subject: [PATCH 48/68] cmake dependency added --- pcntoolkit/regression_model/blr/warp.py | 1 + poetry.lock | 228 ++++++++++++++---------- pyproject.toml | 1 + 3 files changed, 133 insertions(+), 97 deletions(-) create mode 100644 pcntoolkit/regression_model/blr/warp.py diff --git a/pcntoolkit/regression_model/blr/warp.py b/pcntoolkit/regression_model/blr/warp.py new file mode 100644 index 00000000..0519ecba --- /dev/null +++ b/pcntoolkit/regression_model/blr/warp.py @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/poetry.lock b/poetry.lock index 5108b93c..165a1724 100644 --- a/poetry.lock +++ b/poetry.lock @@ -380,6 +380,36 @@ files = [ {file = "cloudpickle-3.1.0.tar.gz", hash = "sha256:81a929b6e3c7335c863c771d673d105f02efdb89dfaba0c90495d1c64796601b"}, ] +[[package]] +name = "cmake" +version = "3.30.5" +description = "CMake is an open-source, cross-platform family of tools designed to build, test and package software" +optional = false +python-versions = ">=3.7" +files = [ + {file = "cmake-3.30.5-py3-none-macosx_10_10_universal2.whl", hash = "sha256:c518d174cde8c5bda3dc9c906af2e1ad54448019d9a9061c5d85331c67bbaa60"}, + {file = "cmake-3.30.5-py3-none-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:085728e950e6096014c99fc46361fbaa508863157bafe0ecf6dc232c16098456"}, + {file = "cmake-3.30.5-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:437e9f885cf576f47b45974a92239d7c86da91e99e62ecf1aa8be454703dd1a6"}, + {file = "cmake-3.30.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b3a662e22dba1288b678daa5544a62a05da1992e0b654e799217e22bc7e5194a"}, + {file = "cmake-3.30.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9dbedacaba2daa40726569590762d775246325b609753d7af888dc7eda49c7bd"}, + {file = "cmake-3.30.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a5c113428aa9f3b4b2ce2e6dc1b932cfe3991be04d215c5ab51c078eae3e674"}, + {file = "cmake-3.30.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9edd4065dbc67a6861255f05135249a3f042f1e09a73c608f84a1a0c6a60a266"}, + {file = "cmake-3.30.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db049e551e2f0562b3b225ac760888ee38b8ade62d74213f3611420e6b22f36d"}, + {file = "cmake-3.30.5-py3-none-musllinux_1_1_aarch64.whl", hash = "sha256:f9b351ad3b0bacd04fe73a35b71bf603416b0441d295c13881e56eba6ec01b4b"}, + {file = "cmake-3.30.5-py3-none-musllinux_1_1_i686.whl", hash = "sha256:c37f41ac7e7a806c91d16cd3efcd696635634bb63e0d9007582373f5a81c4fa1"}, + {file = "cmake-3.30.5-py3-none-musllinux_1_1_ppc64le.whl", hash = "sha256:e4fd409b3455a01fe80860503be4c1b34e2e12cc5433921c7aed1102a3870322"}, + {file = "cmake-3.30.5-py3-none-musllinux_1_1_s390x.whl", hash = "sha256:4a1ded0183a75bd71ee275ef976e8eb97b4a5f4b58e09c90c1734c509acb7d5a"}, + {file = "cmake-3.30.5-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:e2fd43ab522695e0ebbb6dfc6a1466daeb66c57f7f4aade02fe8c5a61acc2828"}, + {file = "cmake-3.30.5-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:6161031b0c89f3f60b82cd5e1dd8cdef47b0a057f9a5349e18bf1507ac4b2402"}, + {file = "cmake-3.30.5-py3-none-win32.whl", hash = "sha256:3ee3ab9b4d3fcdb9360104ef2175a47e145693b365983dcd8ccb5d58b1d0ab7f"}, + {file = "cmake-3.30.5-py3-none-win_amd64.whl", hash = "sha256:dddb1c82e69c8cf79a314f57c2cbb1b3c152758fa0997a5f5ddf8fc8207c994a"}, + {file = "cmake-3.30.5-py3-none-win_arm64.whl", hash = "sha256:ef454176664c941da91197feb91b68cab91ef0354ab0c4d7bfb70e069cb700f1"}, + {file = "cmake-3.30.5.tar.gz", hash = "sha256:2815a2b4dde61a78648a2ff4318d2d303eb41600c4bdb32fcb237b4746444ed2"}, +] + +[package.extras] +test = ["coverage (>=4.2)", "pytest (>=3.0.3)", "pytest-cov (>=2.4.0)"] + [[package]] name = "colorama" version = "0.4.6" @@ -522,37 +552,37 @@ tests = ["pytest", "pytest-cov", "pytest-xdist"] [[package]] name = "debugpy" -version = "1.8.7" +version = "1.8.8" description = "An implementation of the Debug Adapter Protocol for Python" optional = false python-versions = ">=3.8" files = [ - {file = "debugpy-1.8.7-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:95fe04a573b8b22896c404365e03f4eda0ce0ba135b7667a1e57bd079793b96b"}, - {file = "debugpy-1.8.7-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:628a11f4b295ffb4141d8242a9bb52b77ad4a63a2ad19217a93be0f77f2c28c9"}, - {file = "debugpy-1.8.7-cp310-cp310-win32.whl", hash = "sha256:85ce9c1d0eebf622f86cc68618ad64bf66c4fc3197d88f74bb695a416837dd55"}, - {file = "debugpy-1.8.7-cp310-cp310-win_amd64.whl", hash = "sha256:29e1571c276d643757ea126d014abda081eb5ea4c851628b33de0c2b6245b037"}, - {file = "debugpy-1.8.7-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:caf528ff9e7308b74a1749c183d6808ffbedbb9fb6af78b033c28974d9b8831f"}, - {file = "debugpy-1.8.7-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cba1d078cf2e1e0b8402e6bda528bf8fda7ccd158c3dba6c012b7897747c41a0"}, - {file = "debugpy-1.8.7-cp311-cp311-win32.whl", hash = "sha256:171899588bcd412151e593bd40d9907133a7622cd6ecdbdb75f89d1551df13c2"}, - {file = "debugpy-1.8.7-cp311-cp311-win_amd64.whl", hash = "sha256:6e1c4ffb0c79f66e89dfd97944f335880f0d50ad29525dc792785384923e2211"}, - {file = "debugpy-1.8.7-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:4d27d842311353ede0ad572600c62e4bcd74f458ee01ab0dd3a1a4457e7e3706"}, - {file = "debugpy-1.8.7-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:703c1fd62ae0356e194f3e7b7a92acd931f71fe81c4b3be2c17a7b8a4b546ec2"}, - {file = "debugpy-1.8.7-cp312-cp312-win32.whl", hash = "sha256:2f729228430ef191c1e4df72a75ac94e9bf77413ce5f3f900018712c9da0aaca"}, - {file = "debugpy-1.8.7-cp312-cp312-win_amd64.whl", hash = "sha256:45c30aaefb3e1975e8a0258f5bbd26cd40cde9bfe71e9e5a7ac82e79bad64e39"}, - {file = "debugpy-1.8.7-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:d050a1ec7e925f514f0f6594a1e522580317da31fbda1af71d1530d6ea1f2b40"}, - {file = "debugpy-1.8.7-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2f4349a28e3228a42958f8ddaa6333d6f8282d5edaea456070e48609c5983b7"}, - {file = "debugpy-1.8.7-cp313-cp313-win32.whl", hash = "sha256:11ad72eb9ddb436afb8337891a986302e14944f0f755fd94e90d0d71e9100bba"}, - {file = "debugpy-1.8.7-cp313-cp313-win_amd64.whl", hash = "sha256:2efb84d6789352d7950b03d7f866e6d180284bc02c7e12cb37b489b7083d81aa"}, - {file = "debugpy-1.8.7-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:4b908291a1d051ef3331484de8e959ef3e66f12b5e610c203b5b75d2725613a7"}, - {file = "debugpy-1.8.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da8df5b89a41f1fd31503b179d0a84a5fdb752dddd5b5388dbd1ae23cda31ce9"}, - {file = "debugpy-1.8.7-cp38-cp38-win32.whl", hash = "sha256:b12515e04720e9e5c2216cc7086d0edadf25d7ab7e3564ec8b4521cf111b4f8c"}, - {file = "debugpy-1.8.7-cp38-cp38-win_amd64.whl", hash = "sha256:93176e7672551cb5281577cdb62c63aadc87ec036f0c6a486f0ded337c504596"}, - {file = "debugpy-1.8.7-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:90d93e4f2db442f8222dec5ec55ccfc8005821028982f1968ebf551d32b28907"}, - {file = "debugpy-1.8.7-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6db2a370e2700557a976eaadb16243ec9c91bd46f1b3bb15376d7aaa7632c81"}, - {file = "debugpy-1.8.7-cp39-cp39-win32.whl", hash = "sha256:a6cf2510740e0c0b4a40330640e4b454f928c7b99b0c9dbf48b11efba08a8cda"}, - {file = "debugpy-1.8.7-cp39-cp39-win_amd64.whl", hash = "sha256:6a9d9d6d31846d8e34f52987ee0f1a904c7baa4912bf4843ab39dadf9b8f3e0d"}, - {file = "debugpy-1.8.7-py2.py3-none-any.whl", hash = "sha256:57b00de1c8d2c84a61b90880f7e5b6deaf4c312ecbde3a0e8912f2a56c4ac9ae"}, - {file = "debugpy-1.8.7.zip", hash = "sha256:18b8f731ed3e2e1df8e9cdaa23fb1fc9c24e570cd0081625308ec51c82efe42e"}, + {file = "debugpy-1.8.8-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:e59b1607c51b71545cb3496876544f7186a7a27c00b436a62f285603cc68d1c6"}, + {file = "debugpy-1.8.8-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6531d952b565b7cb2fbd1ef5df3d333cf160b44f37547a4e7cf73666aca5d8d"}, + {file = "debugpy-1.8.8-cp310-cp310-win32.whl", hash = "sha256:b01f4a5e5c5fb1d34f4ccba99a20ed01eabc45a4684f4948b5db17a319dfb23f"}, + {file = "debugpy-1.8.8-cp310-cp310-win_amd64.whl", hash = "sha256:535f4fb1c024ddca5913bb0eb17880c8f24ba28aa2c225059db145ee557035e9"}, + {file = "debugpy-1.8.8-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:c399023146e40ae373753a58d1be0a98bf6397fadc737b97ad612886b53df318"}, + {file = "debugpy-1.8.8-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:09cc7b162586ea2171eea055985da2702b0723f6f907a423c9b2da5996ad67ba"}, + {file = "debugpy-1.8.8-cp311-cp311-win32.whl", hash = "sha256:eea8821d998ebeb02f0625dd0d76839ddde8cbf8152ebbe289dd7acf2cdc6b98"}, + {file = "debugpy-1.8.8-cp311-cp311-win_amd64.whl", hash = "sha256:d4483836da2a533f4b1454dffc9f668096ac0433de855f0c22cdce8c9f7e10c4"}, + {file = "debugpy-1.8.8-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:0cc94186340be87b9ac5a707184ec8f36547fb66636d1029ff4f1cc020e53996"}, + {file = "debugpy-1.8.8-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64674e95916e53c2e9540a056e5f489e0ad4872645399d778f7c598eacb7b7f9"}, + {file = "debugpy-1.8.8-cp312-cp312-win32.whl", hash = "sha256:5c6e885dbf12015aed73770f29dec7023cb310d0dc2ba8bfbeb5c8e43f80edc9"}, + {file = "debugpy-1.8.8-cp312-cp312-win_amd64.whl", hash = "sha256:19ffbd84e757a6ca0113574d1bf5a2298b3947320a3e9d7d8dc3377f02d9f864"}, + {file = "debugpy-1.8.8-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:705cd123a773d184860ed8dae99becd879dfec361098edbefb5fc0d3683eb804"}, + {file = "debugpy-1.8.8-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:890fd16803f50aa9cb1a9b9b25b5ec321656dd6b78157c74283de241993d086f"}, + {file = "debugpy-1.8.8-cp313-cp313-win32.whl", hash = "sha256:90244598214bbe704aa47556ec591d2f9869ff9e042e301a2859c57106649add"}, + {file = "debugpy-1.8.8-cp313-cp313-win_amd64.whl", hash = "sha256:4b93e4832fd4a759a0c465c967214ed0c8a6e8914bced63a28ddb0dd8c5f078b"}, + {file = "debugpy-1.8.8-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:143ef07940aeb8e7316de48f5ed9447644da5203726fca378f3a6952a50a9eae"}, + {file = "debugpy-1.8.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f95651bdcbfd3b27a408869a53fbefcc2bcae13b694daee5f1365b1b83a00113"}, + {file = "debugpy-1.8.8-cp38-cp38-win32.whl", hash = "sha256:26b461123a030e82602a750fb24d7801776aa81cd78404e54ab60e8b5fecdad5"}, + {file = "debugpy-1.8.8-cp38-cp38-win_amd64.whl", hash = "sha256:f3cbf1833e644a3100eadb6120f25be8a532035e8245584c4f7532937edc652a"}, + {file = "debugpy-1.8.8-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:53709d4ec586b525724819dc6af1a7703502f7e06f34ded7157f7b1f963bb854"}, + {file = "debugpy-1.8.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a9c013077a3a0000e83d97cf9cc9328d2b0bbb31f56b0e99ea3662d29d7a6a2"}, + {file = "debugpy-1.8.8-cp39-cp39-win32.whl", hash = "sha256:ffe94dd5e9a6739a75f0b85316dc185560db3e97afa6b215628d1b6a17561cb2"}, + {file = "debugpy-1.8.8-cp39-cp39-win_amd64.whl", hash = "sha256:5c0e5a38c7f9b481bf31277d2f74d2109292179081f11108e668195ef926c0f9"}, + {file = "debugpy-1.8.8-py2.py3-none-any.whl", hash = "sha256:ec684553aba5b4066d4de510859922419febc710df7bba04fe9e7ef3de15d34f"}, + {file = "debugpy-1.8.8.zip", hash = "sha256:e6355385db85cbd666be703a96ab7351bc9e6c61d694893206f8001e22aee091"}, ] [[package]] @@ -852,13 +882,13 @@ test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio [[package]] name = "ipython" -version = "8.28.0" +version = "8.29.0" description = "IPython: Productive Interactive Computing" optional = false python-versions = ">=3.10" files = [ - {file = "ipython-8.28.0-py3-none-any.whl", hash = "sha256:530ef1e7bb693724d3cdc37287c80b07ad9b25986c007a53aa1857272dac3f35"}, - {file = "ipython-8.28.0.tar.gz", hash = "sha256:0d0d15ca1e01faeb868ef56bc7ee5a0de5bd66885735682e8a322ae289a13d1a"}, + {file = "ipython-8.29.0-py3-none-any.whl", hash = "sha256:0188a1bd83267192123ccea7f4a8ed0a78910535dbaa3f37671dca76ebd429c8"}, + {file = "ipython-8.29.0.tar.gz", hash = "sha256:40b60e15b22591450eef73e40a027cf77bd652e757523eebc5bd7c7c498290eb"}, ] [package.dependencies] @@ -1410,13 +1440,13 @@ files = [ [[package]] name = "nibabel" -version = "5.3.1" +version = "5.3.2" description = "Access a multitude of neuroimaging data formats" optional = false python-versions = ">=3.9" files = [ - {file = "nibabel-5.3.1-py3-none-any.whl", hash = "sha256:5c04c7139d41a59ef92839f1cabbe73061edd5787340bf2c9a34ed71f0db9d07"}, - {file = "nibabel-5.3.1.tar.gz", hash = "sha256:aec1b75dcf6bd9595a9196ff341b87957c69fb21bc5e38719463478dad83000a"}, + {file = "nibabel-5.3.2-py3-none-any.whl", hash = "sha256:52970a5a8a53b1b55249cba4d9bcfaa8cc57e3e5af35a29d7352237e8680a6f8"}, + {file = "nibabel-5.3.2.tar.gz", hash = "sha256:0bdca6503b1c784b446c745a4542367de7756cfba0d72143b91f9ffb78be569b"}, ] [package.dependencies] @@ -1559,13 +1589,13 @@ stan = ["bridgestan (>=2.4.1)"] [[package]] name = "packaging" -version = "24.1" +version = "24.2" description = "Core utilities for Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, - {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, + {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, + {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, ] [[package]] @@ -1888,52 +1918,55 @@ tests = ["pytest"] [[package]] name = "pyarrow" -version = "17.0.0" +version = "18.0.0" description = "Python library for Apache Arrow" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "pyarrow-17.0.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:a5c8b238d47e48812ee577ee20c9a2779e6a5904f1708ae240f53ecbee7c9f07"}, - {file = "pyarrow-17.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:db023dc4c6cae1015de9e198d41250688383c3f9af8f565370ab2b4cb5f62655"}, - {file = "pyarrow-17.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da1e060b3876faa11cee287839f9cc7cdc00649f475714b8680a05fd9071d545"}, - {file = "pyarrow-17.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75c06d4624c0ad6674364bb46ef38c3132768139ddec1c56582dbac54f2663e2"}, - {file = "pyarrow-17.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:fa3c246cc58cb5a4a5cb407a18f193354ea47dd0648194e6265bd24177982fe8"}, - {file = "pyarrow-17.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:f7ae2de664e0b158d1607699a16a488de3d008ba99b3a7aa5de1cbc13574d047"}, - {file = "pyarrow-17.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:5984f416552eea15fd9cee03da53542bf4cddaef5afecefb9aa8d1010c335087"}, - {file = "pyarrow-17.0.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:1c8856e2ef09eb87ecf937104aacfa0708f22dfeb039c363ec99735190ffb977"}, - {file = "pyarrow-17.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2e19f569567efcbbd42084e87f948778eb371d308e137a0f97afe19bb860ccb3"}, - {file = "pyarrow-17.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b244dc8e08a23b3e352899a006a26ae7b4d0da7bb636872fa8f5884e70acf15"}, - {file = "pyarrow-17.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b72e87fe3e1db343995562f7fff8aee354b55ee83d13afba65400c178ab2597"}, - {file = "pyarrow-17.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:dc5c31c37409dfbc5d014047817cb4ccd8c1ea25d19576acf1a001fe07f5b420"}, - {file = "pyarrow-17.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:e3343cb1e88bc2ea605986d4b94948716edc7a8d14afd4e2c097232f729758b4"}, - {file = "pyarrow-17.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:a27532c38f3de9eb3e90ecab63dfda948a8ca859a66e3a47f5f42d1e403c4d03"}, - {file = "pyarrow-17.0.0-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:9b8a823cea605221e61f34859dcc03207e52e409ccf6354634143e23af7c8d22"}, - {file = "pyarrow-17.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f1e70de6cb5790a50b01d2b686d54aaf73da01266850b05e3af2a1bc89e16053"}, - {file = "pyarrow-17.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0071ce35788c6f9077ff9ecba4858108eebe2ea5a3f7cf2cf55ebc1dbc6ee24a"}, - {file = "pyarrow-17.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:757074882f844411fcca735e39aae74248a1531367a7c80799b4266390ae51cc"}, - {file = "pyarrow-17.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:9ba11c4f16976e89146781a83833df7f82077cdab7dc6232c897789343f7891a"}, - {file = "pyarrow-17.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:b0c6ac301093b42d34410b187bba560b17c0330f64907bfa4f7f7f2444b0cf9b"}, - {file = "pyarrow-17.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:392bc9feabc647338e6c89267635e111d71edad5fcffba204425a7c8d13610d7"}, - {file = "pyarrow-17.0.0-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:af5ff82a04b2171415f1410cff7ebb79861afc5dae50be73ce06d6e870615204"}, - {file = "pyarrow-17.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:edca18eaca89cd6382dfbcff3dd2d87633433043650c07375d095cd3517561d8"}, - {file = "pyarrow-17.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c7916bff914ac5d4a8fe25b7a25e432ff921e72f6f2b7547d1e325c1ad9d155"}, - {file = "pyarrow-17.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f553ca691b9e94b202ff741bdd40f6ccb70cdd5fbf65c187af132f1317de6145"}, - {file = "pyarrow-17.0.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:0cdb0e627c86c373205a2f94a510ac4376fdc523f8bb36beab2e7f204416163c"}, - {file = "pyarrow-17.0.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:d7d192305d9d8bc9082d10f361fc70a73590a4c65cf31c3e6926cd72b76bc35c"}, - {file = "pyarrow-17.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:02dae06ce212d8b3244dd3e7d12d9c4d3046945a5933d28026598e9dbbda1fca"}, - {file = "pyarrow-17.0.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:13d7a460b412f31e4c0efa1148e1d29bdf18ad1411eb6757d38f8fbdcc8645fb"}, - {file = "pyarrow-17.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9b564a51fbccfab5a04a80453e5ac6c9954a9c5ef2890d1bcf63741909c3f8df"}, - {file = "pyarrow-17.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32503827abbc5aadedfa235f5ece8c4f8f8b0a3cf01066bc8d29de7539532687"}, - {file = "pyarrow-17.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a155acc7f154b9ffcc85497509bcd0d43efb80d6f733b0dc3bb14e281f131c8b"}, - {file = "pyarrow-17.0.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:dec8d129254d0188a49f8a1fc99e0560dc1b85f60af729f47de4046015f9b0a5"}, - {file = "pyarrow-17.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:a48ddf5c3c6a6c505904545c25a4ae13646ae1f8ba703c4df4a1bfe4f4006bda"}, - {file = "pyarrow-17.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:42bf93249a083aca230ba7e2786c5f673507fa97bbd9725a1e2754715151a204"}, - {file = "pyarrow-17.0.0.tar.gz", hash = "sha256:4beca9521ed2c0921c1023e68d097d0299b62c362639ea315572a58f3f50fd28"}, + {file = "pyarrow-18.0.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:2333f93260674e185cfbf208d2da3007132572e56871f451ba1a556b45dae6e2"}, + {file = "pyarrow-18.0.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:4c381857754da44326f3a49b8b199f7f87a51c2faacd5114352fc78de30d3aba"}, + {file = "pyarrow-18.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:603cd8ad4976568954598ef0a6d4ed3dfb78aff3d57fa8d6271f470f0ce7d34f"}, + {file = "pyarrow-18.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58a62549a3e0bc9e03df32f350e10e1efb94ec6cf63e3920c3385b26663948ce"}, + {file = "pyarrow-18.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:bc97316840a349485fbb137eb8d0f4d7057e1b2c1272b1a20eebbbe1848f5122"}, + {file = "pyarrow-18.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:2e549a748fa8b8715e734919923f69318c953e077e9c02140ada13e59d043310"}, + {file = "pyarrow-18.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:606e9a3dcb0f52307c5040698ea962685fb1c852d72379ee9412be7de9c5f9e2"}, + {file = "pyarrow-18.0.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:d5795e37c0a33baa618c5e054cd61f586cf76850a251e2b21355e4085def6280"}, + {file = "pyarrow-18.0.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:5f0510608ccd6e7f02ca8596962afb8c6cc84c453e7be0da4d85f5f4f7b0328a"}, + {file = "pyarrow-18.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:616ea2826c03c16e87f517c46296621a7c51e30400f6d0a61be645f203aa2b93"}, + {file = "pyarrow-18.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1824f5b029ddd289919f354bc285992cb4e32da518758c136271cf66046ef22"}, + {file = "pyarrow-18.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:6dd1b52d0d58dd8f685ced9971eb49f697d753aa7912f0a8f50833c7a7426319"}, + {file = "pyarrow-18.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:320ae9bd45ad7ecc12ec858b3e8e462578de060832b98fc4d671dee9f10d9954"}, + {file = "pyarrow-18.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:2c992716cffb1088414f2b478f7af0175fd0a76fea80841b1706baa8fb0ebaad"}, + {file = "pyarrow-18.0.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:e7ab04f272f98ebffd2a0661e4e126036f6936391ba2889ed2d44c5006237802"}, + {file = "pyarrow-18.0.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:03f40b65a43be159d2f97fd64dc998f769d0995a50c00f07aab58b0b3da87e1f"}, + {file = "pyarrow-18.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be08af84808dff63a76860847c48ec0416928a7b3a17c2f49a072cac7c45efbd"}, + {file = "pyarrow-18.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c70c1965cde991b711a98448ccda3486f2a336457cf4ec4dca257a926e149c9"}, + {file = "pyarrow-18.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:00178509f379415a3fcf855af020e3340254f990a8534294ec3cf674d6e255fd"}, + {file = "pyarrow-18.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:a71ab0589a63a3e987beb2bc172e05f000a5c5be2636b4b263c44034e215b5d7"}, + {file = "pyarrow-18.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:fe92efcdbfa0bcf2fa602e466d7f2905500f33f09eb90bf0bcf2e6ca41b574c8"}, + {file = "pyarrow-18.0.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:907ee0aa8ca576f5e0cdc20b5aeb2ad4d3953a3b4769fc4b499e00ef0266f02f"}, + {file = "pyarrow-18.0.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:66dcc216ebae2eb4c37b223feaf82f15b69d502821dde2da138ec5a3716e7463"}, + {file = "pyarrow-18.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc1daf7c425f58527900876354390ee41b0ae962a73ad0959b9d829def583bb1"}, + {file = "pyarrow-18.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:871b292d4b696b09120ed5bde894f79ee2a5f109cb84470546471df264cae136"}, + {file = "pyarrow-18.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:082ba62bdcb939824ba1ce10b8acef5ab621da1f4c4805e07bfd153617ac19d4"}, + {file = "pyarrow-18.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:2c664ab88b9766413197733c1720d3dcd4190e8fa3bbdc3710384630a0a7207b"}, + {file = "pyarrow-18.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:dc892be34dbd058e8d189b47db1e33a227d965ea8805a235c8a7286f7fd17d3a"}, + {file = "pyarrow-18.0.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:28f9c39a56d2c78bf6b87dcc699d520ab850919d4a8c7418cd20eda49874a2ea"}, + {file = "pyarrow-18.0.0-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:f1a198a50c409ab2d009fbf20956ace84567d67f2c5701511d4dd561fae6f32e"}, + {file = "pyarrow-18.0.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5bd7fd32e3ace012d43925ea4fc8bd1b02cc6cc1e9813b518302950e89b5a22"}, + {file = "pyarrow-18.0.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:336addb8b6f5208be1b2398442c703a710b6b937b1a046065ee4db65e782ff5a"}, + {file = "pyarrow-18.0.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:45476490dd4adec5472c92b4d253e245258745d0ccaabe706f8d03288ed60a79"}, + {file = "pyarrow-18.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:b46591222c864e7da7faa3b19455196416cd8355ff6c2cc2e65726a760a3c420"}, + {file = "pyarrow-18.0.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:eb7e3abcda7e1e6b83c2dc2909c8d045881017270a119cc6ee7fdcfe71d02df8"}, + {file = "pyarrow-18.0.0-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:09f30690b99ce34e0da64d20dab372ee54431745e4efb78ac938234a282d15f9"}, + {file = "pyarrow-18.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d5ca5d707e158540312e09fd907f9f49bacbe779ab5236d9699ced14d2293b8"}, + {file = "pyarrow-18.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d6331f280c6e4521c69b201a42dd978f60f7e129511a55da9e0bfe426b4ebb8d"}, + {file = "pyarrow-18.0.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:3ac24b2be732e78a5a3ac0b3aa870d73766dd00beba6e015ea2ea7394f8b4e55"}, + {file = "pyarrow-18.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b30a927c6dff89ee702686596f27c25160dd6c99be5bcc1513a763ae5b1bfc03"}, + {file = "pyarrow-18.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:8f40ec677e942374e3d7f2fad6a67a4c2811a8b975e8703c6fd26d3b168a90e2"}, + {file = "pyarrow-18.0.0.tar.gz", hash = "sha256:a6aa027b1a9d2970cf328ccd6dbe4a996bc13c39fd427f502782f5bdb9ca20f5"}, ] -[package.dependencies] -numpy = ">=1.16.6" - [package.extras] test = ["cffi", "hypothesis", "pandas", "pytest", "pytz"] @@ -1964,13 +1997,13 @@ windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pymc" -version = "5.17.0" +version = "5.18.0" description = "Probabilistic Programming in Python: Bayesian Modeling and Probabilistic Machine Learning with PyTensor" optional = false python-versions = ">=3.10" files = [ - {file = "pymc-5.17.0-py3-none-any.whl", hash = "sha256:1f6614589ab9095e79a98afb8bf173ea9810b4439591649e282708e3589c95e9"}, - {file = "pymc-5.17.0.tar.gz", hash = "sha256:3b7810f770c7aeab3087e289fadc97252ad423f3aa3f42b5715648f13df2aab7"}, + {file = "pymc-5.18.0-py3-none-any.whl", hash = "sha256:e2c1f478ae855395e345edd1ea7fb5b8d65fb34babd22d31af9ee409f4252cf1"}, + {file = "pymc-5.18.0.tar.gz", hash = "sha256:6e3c2235fa24198a3b1b929b1466cd36c65709822eb48821fb5b0e3684b5fd12"}, ] [package.dependencies] @@ -2261,13 +2294,13 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "rich" -version = "13.9.2" +version = "13.9.4" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" optional = false python-versions = ">=3.8.0" files = [ - {file = "rich-13.9.2-py3-none-any.whl", hash = "sha256:8c82a3d3f8dcfe9e734771313e606b39d8247bb6b826e196f4914b333b743cf1"}, - {file = "rich-13.9.2.tar.gz", hash = "sha256:51a2c62057461aaf7152b4d611168f93a9fc73068f8ded2790f29fe2b5366d0c"}, + {file = "rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90"}, + {file = "rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098"}, ] [package.dependencies] @@ -2401,23 +2434,23 @@ stats = ["scipy (>=1.7)", "statsmodels (>=0.12)"] [[package]] name = "setuptools" -version = "75.2.0" +version = "75.3.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-75.2.0-py3-none-any.whl", hash = "sha256:a7fcb66f68b4d9e8e66b42f9876150a3371558f98fa32222ffaa5bced76406f8"}, - {file = "setuptools-75.2.0.tar.gz", hash = "sha256:753bb6ebf1f465a1912e19ed1d41f403a79173a9acf66a42e7e6aec45c3c16ec"}, + {file = "setuptools-75.3.0-py3-none-any.whl", hash = "sha256:f2504966861356aa38616760c0f66568e535562374995367b4e69c7143cf6bcd"}, + {file = "setuptools-75.3.0.tar.gz", hash = "sha256:fba5dd4d766e97be1b1681d98712680ae8f2f26d7881245f2ce9e40714f1a686"}, ] [package.extras] check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.5.2)"] -core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.collections", "jaraco.functools", "jaraco.text (>=3.7)", "more-itertools", "more-itertools (>=8.8)", "packaging", "packaging (>=24)", "platformdirs (>=2.6.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] +core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.collections", "jaraco.functools", "jaraco.text (>=3.7)", "more-itertools", "more-itertools (>=8.8)", "packaging", "packaging (>=24)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] enabler = ["pytest-enabler (>=2.2)"] -test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] -type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.11.*)", "pytest-mypy"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test (>=5.5)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] +type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.12.*)", "pytest-mypy"] [[package]] name = "six" @@ -2740,13 +2773,13 @@ files = [ [[package]] name = "xarray" -version = "2024.9.0" +version = "2024.10.0" description = "N-D labeled arrays and datasets in Python" optional = false python-versions = ">=3.10" files = [ - {file = "xarray-2024.9.0-py3-none-any.whl", hash = "sha256:4fd534abdf12d5fa75dd566c56483d5081f77864462cf3d6ad53e13f9db48222"}, - {file = "xarray-2024.9.0.tar.gz", hash = "sha256:e796a6b3eaec11da24f33e4bb14af41897011660a0516fa4037d3ae4bbd1d378"}, + {file = "xarray-2024.10.0-py3-none-any.whl", hash = "sha256:ae1d38cb44a0324dfb61e492394158ae22389bf7de9f3c174309c17376df63a0"}, + {file = "xarray-2024.10.0.tar.gz", hash = "sha256:e369e2bac430e418c2448e5b96f07da4635f98c1319aa23cfeb3fbcb9a01d2e0"}, ] [package.dependencies] @@ -2755,12 +2788,13 @@ packaging = ">=23.1" pandas = ">=2.1" [package.extras] -accel = ["bottleneck", "flox", "numbagg", "opt-einsum", "scipy"] -complete = ["xarray[accel,dev,io,parallel,viz]"] -dev = ["hypothesis", "mypy", "pre-commit", "pytest", "pytest-cov", "pytest-env", "pytest-timeout", "pytest-xdist", "ruff", "xarray[complete]"] +accel = ["bottleneck", "flox", "numba (>=0.54)", "numbagg", "opt-einsum", "scipy"] +complete = ["xarray[accel,etc,io,parallel,viz]"] +dev = ["hypothesis", "mypy", "pre-commit", "pytest", "pytest-cov", "pytest-env", "pytest-timeout", "pytest-xdist", "ruff", "sphinx", "sphinx-autosummary-accessors", "xarray[complete]"] +etc = ["sparse"] io = ["cftime", "fsspec", "h5netcdf", "netCDF4", "pooch", "pydap", "scipy", "zarr"] parallel = ["dask[complete]"] -viz = ["matplotlib", "nc-time-axis", "seaborn"] +viz = ["cartopy", "matplotlib", "nc-time-axis", "seaborn"] [[package]] name = "xarray-einstats" @@ -2787,4 +2821,4 @@ test = ["hypothesis", "packaging", "pytest", "pytest-cov"] [metadata] lock-version = "2.0" python-versions = ">=3.10,<3.13" -content-hash = "243443b42aa8bbd9d52455e147000ebd4e1065e8de68e79fa93254d3e4e951fc" +content-hash = "6679b5416e0514a42c49c46585cc45ce6d0a6a69d458565976c497bc5a4ca507" diff --git a/pyproject.toml b/pyproject.toml index bc33c1d7..1f1740e2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,6 +16,7 @@ seaborn = "^0.13.2" # Prefer conda six = "^1.16.0" # Prefer conda nutpie = "^0.13.2" numba = "^0.60.0" +cmake = "^3.30.5" [tool.poetry.group.dev.dependencies] sphinx-tabs = "^3.4.7" From 11e2c49bf5e0d046fef98b4b35dbbebcec6fc354 Mon Sep 17 00:00:00 2001 From: Stijn Date: Tue, 12 Nov 2024 11:23:42 +0100 Subject: [PATCH 49/68] Remove nutpie and numba deps --- pcntoolkit/normative.py | 68 ++++++++----- poetry.lock | 221 ++++------------------------------------ pyproject.toml | 5 +- 3 files changed, 62 insertions(+), 232 deletions(-) diff --git a/pcntoolkit/normative.py b/pcntoolkit/normative.py index 14a35643..26612c27 100755 --- a/pcntoolkit/normative.py +++ b/pcntoolkit/normative.py @@ -11,25 +11,38 @@ # Written by A. Marquand # ------------------------------------------------------------------------------ -from __future__ import print_function -from __future__ import division +from __future__ import division, print_function -import os -import sys -import numpy as np import argparse -import pickle import glob +import os +import pickle +import sys +import warnings +from pathlib import Path +import numpy as np from sklearn.model_selection import KFold -from pathlib import Path + +try: + import nutpie +except ImportError: + warnings.warn("Nutpie not installed. For sampling with the nutpie backend, install it with `conda install nutpie numba`") + + try: # run as a package if installed from pcntoolkit import configs from pcntoolkit.dataio import fileio from pcntoolkit.normative_model.norm_utils import norm_init - from pcntoolkit.util.utils import compute_pearsonr, CustomCV, explained_var - from pcntoolkit.util.utils import compute_MSLL, scaler, get_package_versions + from pcntoolkit.util.utils import ( + CustomCV, + compute_MSLL, + compute_pearsonr, + explained_var, + get_package_versions, + scaler, + ) except ImportError: pass @@ -41,10 +54,15 @@ import configs from dataio import fileio - - from util.utils import compute_pearsonr, CustomCV, explained_var, compute_MSLL - from util.utils import scaler, get_package_versions from normative_model.norm_utils import norm_init + from util.utils import ( + CustomCV, + compute_MSLL, + compute_pearsonr, + explained_var, + get_package_versions, + scaler, + ) PICKLE_PROTOCOL = configs.PICKLE_PROTOCOL @@ -953,14 +971,14 @@ def transfer(covfile, respfile, testcov=None, testresp=None, maskfile=None, return # testing should not be obligatory for HBR, # but should be for BLR (since it doesn't produce transfer models) - elif (not 'model_path' in list(kwargs.keys())) or \ - (not 'trbefile' in list(kwargs.keys())): + elif ('model_path' not in list(kwargs.keys())) or \ + ('trbefile' not in list(kwargs.keys())): print(f'{kwargs=}') print('InputError: Some general mandatory arguments are missing.') return # hbr has one additional mandatory arguments elif alg == 'hbr': - if (not 'output_path' in list(kwargs.keys())): + if ('output_path' not in list(kwargs.keys())): print('InputError: Some mandatory arguments for hbr are missing.') return else: @@ -972,7 +990,7 @@ def transfer(covfile, respfile, testcov=None, testresp=None, maskfile=None, # or (testresp==None) elif alg == 'blr': if (testcov == None) or \ - (not 'tsbefile' in list(kwargs.keys())): + ('tsbefile' not in list(kwargs.keys())): print('InputError: Some mandatory arguments for blr are missing.') return # general arguments @@ -1208,9 +1226,9 @@ def extend(covfile, respfile, maskfile=None, **kwargs): if alg != 'hbr': print('Model extention is only possible for HBR models.') return - elif (not 'model_path' in list(kwargs.keys())) or \ - (not 'output_path' in list(kwargs.keys())) or \ - (not 'trbefile' in list(kwargs.keys())): + elif ('model_path' not in list(kwargs.keys())) or \ + ('output_path' not in list(kwargs.keys())) or \ + ('trbefile' not in list(kwargs.keys())): print('InputError: Some mandatory arguments are missing.') return else: @@ -1319,9 +1337,9 @@ def tune(covfile, respfile, maskfile=None, **kwargs): if alg != 'hbr': print('Model extention is only possible for HBR models.') return - elif (not 'model_path' in list(kwargs.keys())) or \ - (not 'output_path' in list(kwargs.keys())) or \ - (not 'trbefile' in list(kwargs.keys())): + elif ('model_path' not in list(kwargs.keys())) or \ + ('output_path' not in list(kwargs.keys())) or \ + ('trbefile' not in list(kwargs.keys())): print('InputError: Some mandatory arguments are missing.') return else: @@ -1427,9 +1445,9 @@ def merge(covfile=None, respfile=None, **kwargs): if alg != 'hbr': print('Merging models is only possible for HBR models.') return - elif (not 'model_path1' in list(kwargs.keys())) or \ - (not 'model_path2' in list(kwargs.keys())) or \ - (not 'output_path' in list(kwargs.keys())): + elif ('model_path1' not in list(kwargs.keys())) or \ + ('model_path2' not in list(kwargs.keys())) or \ + ('output_path' not in list(kwargs.keys())): print('InputError: Some mandatory arguments are missing.') return else: diff --git a/poetry.lock b/poetry.lock index 165a1724..6c2d0551 100644 --- a/poetry.lock +++ b/poetry.lock @@ -380,36 +380,6 @@ files = [ {file = "cloudpickle-3.1.0.tar.gz", hash = "sha256:81a929b6e3c7335c863c771d673d105f02efdb89dfaba0c90495d1c64796601b"}, ] -[[package]] -name = "cmake" -version = "3.30.5" -description = "CMake is an open-source, cross-platform family of tools designed to build, test and package software" -optional = false -python-versions = ">=3.7" -files = [ - {file = "cmake-3.30.5-py3-none-macosx_10_10_universal2.whl", hash = "sha256:c518d174cde8c5bda3dc9c906af2e1ad54448019d9a9061c5d85331c67bbaa60"}, - {file = "cmake-3.30.5-py3-none-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:085728e950e6096014c99fc46361fbaa508863157bafe0ecf6dc232c16098456"}, - {file = "cmake-3.30.5-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:437e9f885cf576f47b45974a92239d7c86da91e99e62ecf1aa8be454703dd1a6"}, - {file = "cmake-3.30.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b3a662e22dba1288b678daa5544a62a05da1992e0b654e799217e22bc7e5194a"}, - {file = "cmake-3.30.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9dbedacaba2daa40726569590762d775246325b609753d7af888dc7eda49c7bd"}, - {file = "cmake-3.30.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a5c113428aa9f3b4b2ce2e6dc1b932cfe3991be04d215c5ab51c078eae3e674"}, - {file = "cmake-3.30.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9edd4065dbc67a6861255f05135249a3f042f1e09a73c608f84a1a0c6a60a266"}, - {file = "cmake-3.30.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db049e551e2f0562b3b225ac760888ee38b8ade62d74213f3611420e6b22f36d"}, - {file = "cmake-3.30.5-py3-none-musllinux_1_1_aarch64.whl", hash = "sha256:f9b351ad3b0bacd04fe73a35b71bf603416b0441d295c13881e56eba6ec01b4b"}, - {file = "cmake-3.30.5-py3-none-musllinux_1_1_i686.whl", hash = "sha256:c37f41ac7e7a806c91d16cd3efcd696635634bb63e0d9007582373f5a81c4fa1"}, - {file = "cmake-3.30.5-py3-none-musllinux_1_1_ppc64le.whl", hash = "sha256:e4fd409b3455a01fe80860503be4c1b34e2e12cc5433921c7aed1102a3870322"}, - {file = "cmake-3.30.5-py3-none-musllinux_1_1_s390x.whl", hash = "sha256:4a1ded0183a75bd71ee275ef976e8eb97b4a5f4b58e09c90c1734c509acb7d5a"}, - {file = "cmake-3.30.5-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:e2fd43ab522695e0ebbb6dfc6a1466daeb66c57f7f4aade02fe8c5a61acc2828"}, - {file = "cmake-3.30.5-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:6161031b0c89f3f60b82cd5e1dd8cdef47b0a057f9a5349e18bf1507ac4b2402"}, - {file = "cmake-3.30.5-py3-none-win32.whl", hash = "sha256:3ee3ab9b4d3fcdb9360104ef2175a47e145693b365983dcd8ccb5d58b1d0ab7f"}, - {file = "cmake-3.30.5-py3-none-win_amd64.whl", hash = "sha256:dddb1c82e69c8cf79a314f57c2cbb1b3c152758fa0997a5f5ddf8fc8207c994a"}, - {file = "cmake-3.30.5-py3-none-win_arm64.whl", hash = "sha256:ef454176664c941da91197feb91b68cab91ef0354ab0c4d7bfb70e069cb700f1"}, - {file = "cmake-3.30.5.tar.gz", hash = "sha256:2815a2b4dde61a78648a2ff4318d2d303eb41600c4bdb32fcb237b4746444ed2"}, -] - -[package.extras] -test = ["coverage (>=4.2)", "pytest (>=3.0.3)", "pytest-cov (>=2.4.0)"] - [[package]] name = "colorama" version = "0.4.6" @@ -941,22 +911,22 @@ test = ["ipykernel", "jsonschema", "pytest (>=3.6.0)", "pytest-cov", "pytz"] [[package]] name = "jedi" -version = "0.19.1" +version = "0.19.2" description = "An autocompletion tool for Python that can be used for text editors." optional = false python-versions = ">=3.6" files = [ - {file = "jedi-0.19.1-py2.py3-none-any.whl", hash = "sha256:e983c654fe5c02867aef4cdfce5a2fbb4a50adc0af145f70504238f18ef5e7e0"}, - {file = "jedi-0.19.1.tar.gz", hash = "sha256:cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd"}, + {file = "jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9"}, + {file = "jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0"}, ] [package.dependencies] -parso = ">=0.8.3,<0.9.0" +parso = ">=0.8.4,<0.9.0" [package.extras] docs = ["Jinja2 (==2.11.3)", "MarkupSafe (==1.1.1)", "Pygments (==2.8.1)", "alabaster (==0.7.12)", "babel (==2.9.1)", "chardet (==4.0.0)", "commonmark (==0.8.1)", "docutils (==0.17.1)", "future (==0.18.2)", "idna (==2.10)", "imagesize (==1.2.0)", "mock (==1.0.1)", "packaging (==20.9)", "pyparsing (==2.4.7)", "pytz (==2021.1)", "readthedocs-sphinx-ext (==2.1.4)", "recommonmark (==0.5.0)", "requests (==2.25.1)", "six (==1.15.0)", "snowballstemmer (==2.1.0)", "sphinx (==1.8.5)", "sphinx-rtd-theme (==0.4.3)", "sphinxcontrib-serializinghtml (==1.1.4)", "sphinxcontrib-websupport (==1.2.4)", "urllib3 (==1.26.4)"] qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"] -testing = ["Django", "attrs", "colorama", "docopt", "pytest (<7.0.0)"] +testing = ["Django", "attrs", "colorama", "docopt", "pytest (<9.0.0)"] [[package]] name = "jinja2" @@ -1162,36 +1132,6 @@ files = [ {file = "kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60"}, ] -[[package]] -name = "llvmlite" -version = "0.43.0" -description = "lightweight wrapper around basic LLVM functionality" -optional = false -python-versions = ">=3.9" -files = [ - {file = "llvmlite-0.43.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a289af9a1687c6cf463478f0fa8e8aa3b6fb813317b0d70bf1ed0759eab6f761"}, - {file = "llvmlite-0.43.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6d4fd101f571a31acb1559ae1af30f30b1dc4b3186669f92ad780e17c81e91bc"}, - {file = "llvmlite-0.43.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7d434ec7e2ce3cc8f452d1cd9a28591745de022f931d67be688a737320dfcead"}, - {file = "llvmlite-0.43.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6912a87782acdff6eb8bf01675ed01d60ca1f2551f8176a300a886f09e836a6a"}, - {file = "llvmlite-0.43.0-cp310-cp310-win_amd64.whl", hash = "sha256:14f0e4bf2fd2d9a75a3534111e8ebeb08eda2f33e9bdd6dfa13282afacdde0ed"}, - {file = "llvmlite-0.43.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3e8d0618cb9bfe40ac38a9633f2493d4d4e9fcc2f438d39a4e854f39cc0f5f98"}, - {file = "llvmlite-0.43.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e0a9a1a39d4bf3517f2af9d23d479b4175ead205c592ceeb8b89af48a327ea57"}, - {file = "llvmlite-0.43.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1da416ab53e4f7f3bc8d4eeba36d801cc1894b9fbfbf2022b29b6bad34a7df2"}, - {file = "llvmlite-0.43.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:977525a1e5f4059316b183fb4fd34fa858c9eade31f165427a3977c95e3ee749"}, - {file = "llvmlite-0.43.0-cp311-cp311-win_amd64.whl", hash = "sha256:d5bd550001d26450bd90777736c69d68c487d17bf371438f975229b2b8241a91"}, - {file = "llvmlite-0.43.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f99b600aa7f65235a5a05d0b9a9f31150c390f31261f2a0ba678e26823ec38f7"}, - {file = "llvmlite-0.43.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:35d80d61d0cda2d767f72de99450766250560399edc309da16937b93d3b676e7"}, - {file = "llvmlite-0.43.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eccce86bba940bae0d8d48ed925f21dbb813519169246e2ab292b5092aba121f"}, - {file = "llvmlite-0.43.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df6509e1507ca0760787a199d19439cc887bfd82226f5af746d6977bd9f66844"}, - {file = "llvmlite-0.43.0-cp312-cp312-win_amd64.whl", hash = "sha256:7a2872ee80dcf6b5dbdc838763d26554c2a18aa833d31a2635bff16aafefb9c9"}, - {file = "llvmlite-0.43.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9cd2a7376f7b3367019b664c21f0c61766219faa3b03731113ead75107f3b66c"}, - {file = "llvmlite-0.43.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:18e9953c748b105668487b7c81a3e97b046d8abf95c4ddc0cd3c94f4e4651ae8"}, - {file = "llvmlite-0.43.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74937acd22dc11b33946b67dca7680e6d103d6e90eeaaaf932603bec6fe7b03a"}, - {file = "llvmlite-0.43.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc9efc739cc6ed760f795806f67889923f7274276f0eb45092a1473e40d9b867"}, - {file = "llvmlite-0.43.0-cp39-cp39-win_amd64.whl", hash = "sha256:47e147cdda9037f94b399bf03bfd8a6b6b1f2f90be94a454e3386f006455a9b4"}, - {file = "llvmlite-0.43.0.tar.gz", hash = "sha256:ae2b5b5c3ef67354824fb75517c8db5fbe93bc02cd9671f3c62271626bc041d5"}, -] - [[package]] name = "logical-unification" version = "0.4.6" @@ -1469,40 +1409,6 @@ test = ["coverage (>=7.2)", "pytest", "pytest-cov", "pytest-doctestplus", "pytes typing = ["tox"] zstd = ["pyzstd (>=0.14.3)"] -[[package]] -name = "numba" -version = "0.60.0" -description = "compiling Python code using LLVM" -optional = false -python-versions = ">=3.9" -files = [ - {file = "numba-0.60.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5d761de835cd38fb400d2c26bb103a2726f548dc30368853121d66201672e651"}, - {file = "numba-0.60.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:159e618ef213fba758837f9837fb402bbe65326e60ba0633dbe6c7f274d42c1b"}, - {file = "numba-0.60.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1527dc578b95c7c4ff248792ec33d097ba6bef9eda466c948b68dfc995c25781"}, - {file = "numba-0.60.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fe0b28abb8d70f8160798f4de9d486143200f34458d34c4a214114e445d7124e"}, - {file = "numba-0.60.0-cp310-cp310-win_amd64.whl", hash = "sha256:19407ced081d7e2e4b8d8c36aa57b7452e0283871c296e12d798852bc7d7f198"}, - {file = "numba-0.60.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a17b70fc9e380ee29c42717e8cc0bfaa5556c416d94f9aa96ba13acb41bdece8"}, - {file = "numba-0.60.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3fb02b344a2a80efa6f677aa5c40cd5dd452e1b35f8d1c2af0dfd9ada9978e4b"}, - {file = "numba-0.60.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5f4fde652ea604ea3c86508a3fb31556a6157b2c76c8b51b1d45eb40c8598703"}, - {file = "numba-0.60.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4142d7ac0210cc86432b818338a2bc368dc773a2f5cf1e32ff7c5b378bd63ee8"}, - {file = "numba-0.60.0-cp311-cp311-win_amd64.whl", hash = "sha256:cac02c041e9b5bc8cf8f2034ff6f0dbafccd1ae9590dc146b3a02a45e53af4e2"}, - {file = "numba-0.60.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d7da4098db31182fc5ffe4bc42c6f24cd7d1cb8a14b59fd755bfee32e34b8404"}, - {file = "numba-0.60.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:38d6ea4c1f56417076ecf8fc327c831ae793282e0ff51080c5094cb726507b1c"}, - {file = "numba-0.60.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:62908d29fb6a3229c242e981ca27e32a6e606cc253fc9e8faeb0e48760de241e"}, - {file = "numba-0.60.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0ebaa91538e996f708f1ab30ef4d3ddc344b64b5227b67a57aa74f401bb68b9d"}, - {file = "numba-0.60.0-cp312-cp312-win_amd64.whl", hash = "sha256:f75262e8fe7fa96db1dca93d53a194a38c46da28b112b8a4aca168f0df860347"}, - {file = "numba-0.60.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:01ef4cd7d83abe087d644eaa3d95831b777aa21d441a23703d649e06b8e06b74"}, - {file = "numba-0.60.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:819a3dfd4630d95fd574036f99e47212a1af41cbcb019bf8afac63ff56834449"}, - {file = "numba-0.60.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0b983bd6ad82fe868493012487f34eae8bf7dd94654951404114f23c3466d34b"}, - {file = "numba-0.60.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c151748cd269ddeab66334bd754817ffc0cabd9433acb0f551697e5151917d25"}, - {file = "numba-0.60.0-cp39-cp39-win_amd64.whl", hash = "sha256:3031547a015710140e8c87226b4cfe927cac199835e5bf7d4fe5cb64e814e3ab"}, - {file = "numba-0.60.0.tar.gz", hash = "sha256:5df6158e5584eece5fc83294b949fd30b9f1125df7708862205217e068aabf16"}, -] - -[package.dependencies] -llvmlite = "==0.43.*" -numpy = ">=1.22,<2.1" - [[package]] name = "numpy" version = "1.26.4" @@ -1548,45 +1454,6 @@ files = [ {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, ] -[[package]] -name = "nutpie" -version = "0.13.2" -description = "Sample Stan or PyMC models" -optional = false -python-versions = ">=3.10" -files = [ - {file = "nutpie-0.13.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:4c731b6b32f51407ca973aefdcb0241c6dadfebcf47e781557344d28d346c0fa"}, - {file = "nutpie-0.13.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b69e62c4d25e62e670ef31244e65556ed562650dfbc56a068972e177c5e5e291"}, - {file = "nutpie-0.13.2-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:a7cfe73f29769f7185e677587755ba63818e9334d161a69216c8d6cefd9d66b7"}, - {file = "nutpie-0.13.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:0202a5b2352b065a269dd1467cacd4b9ef4020665373e4d12eede232425eaea8"}, - {file = "nutpie-0.13.2-cp310-none-win_amd64.whl", hash = "sha256:fa2f5f46fad31d9cdac486510a656a7e85df470662ffcd6c3c84534eb7d24c28"}, - {file = "nutpie-0.13.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:024fb04ddcaa2ce8a2cf6864bebe68acfb68518f6199c6d3de0c6b9b49d1ac75"}, - {file = "nutpie-0.13.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:225f17a15e33f731db43c55f821b988df2781568e2dc6f22ae9798e259386009"}, - {file = "nutpie-0.13.2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:1a7a5e7012976327485349b581ae762cd6e60bb1805f9d323e0eed2d945c73a3"}, - {file = "nutpie-0.13.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:be1635cdd6ec19cc541e212ee95e11288dda7a234a2ae7f70c2c91fdaa677fe0"}, - {file = "nutpie-0.13.2-cp311-none-win_amd64.whl", hash = "sha256:d7d297a975737ca997890cae284adca74e429567503596cbf66a37640faf4f10"}, - {file = "nutpie-0.13.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1656a4e45981db30d9ca850e889c10ac69c3e327a994607924c2db1dcefb49c7"}, - {file = "nutpie-0.13.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:57b6f6640996d88b290285acdcf7978bf9f6257c2a80d38eb5d1903e11bb0301"}, - {file = "nutpie-0.13.2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:e1419e53a5ce3bfba39157cb1381eb18f1835bd1b73312d485e1f543f9ce3748"}, - {file = "nutpie-0.13.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:6d29babf3773544692153799b3579f9de1e084a06fd2dcc851e97bef4c92768b"}, - {file = "nutpie-0.13.2-cp312-none-win_amd64.whl", hash = "sha256:5b6f45e2e475eee1519f18b6cbcd56ef225dbcaeb6f35e248d829467097ab385"}, - {file = "nutpie-0.13.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:db240a317b1ded7eddf2ca8e2b4bcfcdbd4624256655aac61625c8f7d5ca39d0"}, - {file = "nutpie-0.13.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:2100024275ec6ba6de899188a3a2111f4b68aee7bfdbd4e4eb02ed4c922a9f22"}, - {file = "nutpie-0.13.2.tar.gz", hash = "sha256:f14282e2ac045c67a9b262a865b02a243178c55b541b236b21dfcb0c3678bcea"}, -] - -[package.dependencies] -arviz = ">=0.15.0" -pandas = ">=2.0" -pyarrow = ">=12.0.0" -xarray = ">=2023.6.0" - -[package.extras] -all = ["bridgestan (>=2.4.1)", "jax (>=0.4.27)", "numba (>=0.59.1)", "pymc (>=5.15.0)"] -pymc = ["numba (>=0.59.1)", "pymc (>=5.15.0)"] -pymc-jax = ["jax (>=0.4.27)", "pymc (>=5.15.0)"] -stan = ["bridgestan (>=2.4.1)"] - [[package]] name = "packaging" version = "24.2" @@ -1916,60 +1783,6 @@ files = [ [package.extras] tests = ["pytest"] -[[package]] -name = "pyarrow" -version = "18.0.0" -description = "Python library for Apache Arrow" -optional = false -python-versions = ">=3.9" -files = [ - {file = "pyarrow-18.0.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:2333f93260674e185cfbf208d2da3007132572e56871f451ba1a556b45dae6e2"}, - {file = "pyarrow-18.0.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:4c381857754da44326f3a49b8b199f7f87a51c2faacd5114352fc78de30d3aba"}, - {file = "pyarrow-18.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:603cd8ad4976568954598ef0a6d4ed3dfb78aff3d57fa8d6271f470f0ce7d34f"}, - {file = "pyarrow-18.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58a62549a3e0bc9e03df32f350e10e1efb94ec6cf63e3920c3385b26663948ce"}, - {file = "pyarrow-18.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:bc97316840a349485fbb137eb8d0f4d7057e1b2c1272b1a20eebbbe1848f5122"}, - {file = "pyarrow-18.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:2e549a748fa8b8715e734919923f69318c953e077e9c02140ada13e59d043310"}, - {file = "pyarrow-18.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:606e9a3dcb0f52307c5040698ea962685fb1c852d72379ee9412be7de9c5f9e2"}, - {file = "pyarrow-18.0.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:d5795e37c0a33baa618c5e054cd61f586cf76850a251e2b21355e4085def6280"}, - {file = "pyarrow-18.0.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:5f0510608ccd6e7f02ca8596962afb8c6cc84c453e7be0da4d85f5f4f7b0328a"}, - {file = "pyarrow-18.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:616ea2826c03c16e87f517c46296621a7c51e30400f6d0a61be645f203aa2b93"}, - {file = "pyarrow-18.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1824f5b029ddd289919f354bc285992cb4e32da518758c136271cf66046ef22"}, - {file = "pyarrow-18.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:6dd1b52d0d58dd8f685ced9971eb49f697d753aa7912f0a8f50833c7a7426319"}, - {file = "pyarrow-18.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:320ae9bd45ad7ecc12ec858b3e8e462578de060832b98fc4d671dee9f10d9954"}, - {file = "pyarrow-18.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:2c992716cffb1088414f2b478f7af0175fd0a76fea80841b1706baa8fb0ebaad"}, - {file = "pyarrow-18.0.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:e7ab04f272f98ebffd2a0661e4e126036f6936391ba2889ed2d44c5006237802"}, - {file = "pyarrow-18.0.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:03f40b65a43be159d2f97fd64dc998f769d0995a50c00f07aab58b0b3da87e1f"}, - {file = "pyarrow-18.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be08af84808dff63a76860847c48ec0416928a7b3a17c2f49a072cac7c45efbd"}, - {file = "pyarrow-18.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c70c1965cde991b711a98448ccda3486f2a336457cf4ec4dca257a926e149c9"}, - {file = "pyarrow-18.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:00178509f379415a3fcf855af020e3340254f990a8534294ec3cf674d6e255fd"}, - {file = "pyarrow-18.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:a71ab0589a63a3e987beb2bc172e05f000a5c5be2636b4b263c44034e215b5d7"}, - {file = "pyarrow-18.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:fe92efcdbfa0bcf2fa602e466d7f2905500f33f09eb90bf0bcf2e6ca41b574c8"}, - {file = "pyarrow-18.0.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:907ee0aa8ca576f5e0cdc20b5aeb2ad4d3953a3b4769fc4b499e00ef0266f02f"}, - {file = "pyarrow-18.0.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:66dcc216ebae2eb4c37b223feaf82f15b69d502821dde2da138ec5a3716e7463"}, - {file = "pyarrow-18.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc1daf7c425f58527900876354390ee41b0ae962a73ad0959b9d829def583bb1"}, - {file = "pyarrow-18.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:871b292d4b696b09120ed5bde894f79ee2a5f109cb84470546471df264cae136"}, - {file = "pyarrow-18.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:082ba62bdcb939824ba1ce10b8acef5ab621da1f4c4805e07bfd153617ac19d4"}, - {file = "pyarrow-18.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:2c664ab88b9766413197733c1720d3dcd4190e8fa3bbdc3710384630a0a7207b"}, - {file = "pyarrow-18.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:dc892be34dbd058e8d189b47db1e33a227d965ea8805a235c8a7286f7fd17d3a"}, - {file = "pyarrow-18.0.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:28f9c39a56d2c78bf6b87dcc699d520ab850919d4a8c7418cd20eda49874a2ea"}, - {file = "pyarrow-18.0.0-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:f1a198a50c409ab2d009fbf20956ace84567d67f2c5701511d4dd561fae6f32e"}, - {file = "pyarrow-18.0.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5bd7fd32e3ace012d43925ea4fc8bd1b02cc6cc1e9813b518302950e89b5a22"}, - {file = "pyarrow-18.0.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:336addb8b6f5208be1b2398442c703a710b6b937b1a046065ee4db65e782ff5a"}, - {file = "pyarrow-18.0.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:45476490dd4adec5472c92b4d253e245258745d0ccaabe706f8d03288ed60a79"}, - {file = "pyarrow-18.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:b46591222c864e7da7faa3b19455196416cd8355ff6c2cc2e65726a760a3c420"}, - {file = "pyarrow-18.0.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:eb7e3abcda7e1e6b83c2dc2909c8d045881017270a119cc6ee7fdcfe71d02df8"}, - {file = "pyarrow-18.0.0-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:09f30690b99ce34e0da64d20dab372ee54431745e4efb78ac938234a282d15f9"}, - {file = "pyarrow-18.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d5ca5d707e158540312e09fd907f9f49bacbe779ab5236d9699ced14d2293b8"}, - {file = "pyarrow-18.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d6331f280c6e4521c69b201a42dd978f60f7e129511a55da9e0bfe426b4ebb8d"}, - {file = "pyarrow-18.0.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:3ac24b2be732e78a5a3ac0b3aa870d73766dd00beba6e015ea2ea7394f8b4e55"}, - {file = "pyarrow-18.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b30a927c6dff89ee702686596f27c25160dd6c99be5bcc1513a763ae5b1bfc03"}, - {file = "pyarrow-18.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:8f40ec677e942374e3d7f2fad6a67a4c2811a8b975e8703c6fd26d3b168a90e2"}, - {file = "pyarrow-18.0.0.tar.gz", hash = "sha256:a6aa027b1a9d2970cf328ccd6dbe4a996bc13c39fd427f502782f5bdb9ca20f5"}, -] - -[package.extras] -test = ["cffi", "hypothesis", "pandas", "pytest", "pytz"] - [[package]] name = "pycparser" version = "2.22" @@ -2434,23 +2247,23 @@ stats = ["scipy (>=1.7)", "statsmodels (>=0.12)"] [[package]] name = "setuptools" -version = "75.3.0" +version = "75.4.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "setuptools-75.3.0-py3-none-any.whl", hash = "sha256:f2504966861356aa38616760c0f66568e535562374995367b4e69c7143cf6bcd"}, - {file = "setuptools-75.3.0.tar.gz", hash = "sha256:fba5dd4d766e97be1b1681d98712680ae8f2f26d7881245f2ce9e40714f1a686"}, + {file = "setuptools-75.4.0-py3-none-any.whl", hash = "sha256:b3c5d862f98500b06ffdf7cc4499b48c46c317d8d56cb30b5c8bce4d88f5c216"}, + {file = "setuptools-75.4.0.tar.gz", hash = "sha256:1dc484f5cf56fd3fe7216d7b8df820802e7246cfb534a1db2aa64f14fcb9cdcb"}, ] [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.5.2)"] -core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.collections", "jaraco.functools", "jaraco.text (>=3.7)", "more-itertools", "more-itertools (>=8.8)", "packaging", "packaging (>=24)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.7.0)"] +core = ["importlib-metadata (>=6)", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more-itertools", "more-itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] enabler = ["pytest-enabler (>=2.2)"] -test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test (>=5.5)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] -type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.12.*)", "pytest-mypy"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] +type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (>=1.12,<1.14)", "pytest-mypy"] [[package]] name = "six" @@ -2655,13 +2468,13 @@ files = [ [[package]] name = "tomli" -version = "2.0.2" +version = "2.1.0" description = "A lil' TOML parser" optional = false python-versions = ">=3.8" files = [ - {file = "tomli-2.0.2-py3-none-any.whl", hash = "sha256:2ebe24485c53d303f690b0ec092806a085f07af5a5aa1464f3931eec36caaa38"}, - {file = "tomli-2.0.2.tar.gz", hash = "sha256:d46d457a85337051c36524bc5349dd91b1877838e2979ac5ced3e710ed8a60ed"}, + {file = "tomli-2.1.0-py3-none-any.whl", hash = "sha256:a5c57c3d1c56f5ccdf89f6523458f60ef716e210fc47c4cfb188c5ba473e0391"}, + {file = "tomli-2.1.0.tar.gz", hash = "sha256:3f646cae2aec94e17d04973e4249548320197cfabdf130015d023de4b74d8ab8"}, ] [[package]] @@ -2821,4 +2634,4 @@ test = ["hypothesis", "packaging", "pytest", "pytest-cov"] [metadata] lock-version = "2.0" python-versions = ">=3.10,<3.13" -content-hash = "6679b5416e0514a42c49c46585cc45ce6d0a6a69d458565976c497bc5a4ca507" +content-hash = "83eae095eaf77b411c3945404211e299478b3374ecc52808f5b289f703bb3646" diff --git a/pyproject.toml b/pyproject.toml index 1f1740e2..6981a939 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,9 +14,7 @@ pymc = "^5.17.0" # Prefer Conda scikit-learn = "^1.5.2" # Prefer Conda seaborn = "^0.13.2" # Prefer conda six = "^1.16.0" # Prefer conda -nutpie = "^0.13.2" -numba = "^0.60.0" -cmake = "^3.30.5" +scipy = "^1.12" [tool.poetry.group.dev.dependencies] sphinx-tabs = "^3.4.7" @@ -25,6 +23,7 @@ ipywidgets = "^8.1.5" black = "^24.10.0" ipykernel = "^6.29.5" + [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" From 8f3b8ab32e4434807fdde6a3d5ae52b52048019f Mon Sep 17 00:00:00 2001 From: Stijn Date: Tue, 12 Nov 2024 11:27:16 +0100 Subject: [PATCH 50/68] Improve warning --- pcntoolkit/normative.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pcntoolkit/normative.py b/pcntoolkit/normative.py index 26612c27..9d885315 100755 --- a/pcntoolkit/normative.py +++ b/pcntoolkit/normative.py @@ -27,7 +27,7 @@ try: import nutpie except ImportError: - warnings.warn("Nutpie not installed. For sampling with the nutpie backend, install it with `conda install nutpie numba`") + warnings.warn("Nutpie not installed. For fitting HBR models with the nutpie backend, install it with `conda install nutpie numba`") From e595ddea4c9614b6378716397f2ad0929202e75e Mon Sep 17 00:00:00 2001 From: Stijn de Boer <19709783+AuguB@users.noreply.github.com> Date: Tue, 12 Nov 2024 15:18:37 +0100 Subject: [PATCH 51/68] Created using Colab --- notebooks/pcntk_colab_dev_env.ipynb | 4501 +++++++++++++++++++++++++++ 1 file changed, 4501 insertions(+) create mode 100644 notebooks/pcntk_colab_dev_env.ipynb diff --git a/notebooks/pcntk_colab_dev_env.ipynb b/notebooks/pcntk_colab_dev_env.ipynb new file mode 100644 index 00000000..82b831e6 --- /dev/null +++ b/notebooks/pcntk_colab_dev_env.ipynb @@ -0,0 +1,4501 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [], + "name": "pcntk_colab_dev_env.ipynb", + "authorship_tag": "ABX9TyPhmRD2D0nfPuaeSc4uS/Q+", + "include_colab_link": true + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "code", + "source": [ + "## Install condacolab, which will enable us to install using conda\n", + "## Outcomment this cell after the kernel has automatically restarted\n", + "import os\n", + "os.environ['PYTHONPATH'] = \"\" # Need to clear the pythonpath to avoid some errors\n", + "!echo \"pythonpath: $PYTHONPATH\"\n", + "!pip install -q condacolab\n", + "import condacolab\n", + "condacolab.install()" + ], + "metadata": { + "id": "WtVP1BD3eKjV", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "6e4a9a86-d761-4bf8-80fa-6ed748d9000a" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "pythonpath: \n", + "⏬ Downloading https://github.com/conda-forge/miniforge/releases/download/23.11.0-0/Mambaforge-23.11.0-0-Linux-x86_64.sh...\n", + "📦 Installing...\n", + "📌 Adjusting configuration...\n", + "🩹 Patching environment...\n", + "⏲ Done in 0:00:16\n", + "🔁 Restarting kernel...\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Check if condacolab works\n", + "import condacolab\n", + "condacolab.check()\n", + "\n", + "# Install libraries with optimized dependencies (BLAS and Rust) using conda\n", + "!conda install pymc numba nutpie -c conda-forge\n", + "\n", + "# Install CPU only verion of torch using conda (go to https://pytorch.org/get-started/locally/ if you need another version for your platform)\n", + "!conda install pytorch torchvision torchaudio cpuonly -c pytorch\n", + "\n", + "# # Install the pcntoolkit\n", + "!pip install https://github.com/amarquand/PCNtoolkit/archive/dev.zip" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "cb4xm679kxnE", + "outputId": "0985fdde-0fe6-44f6-cb29-d38e393f9010", + "collapsed": true + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Channels:\n", + " - conda-forge\n", + "Platform: linux-64\n", + "Collecting package metadata (repodata.json): - \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\bdone\n", + "Solving environment: / \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\bdone\n", + "\n", + "\n", + "==> WARNING: A newer version of conda exists. <==\n", + " current version: 23.11.0\n", + " latest version: 24.9.2\n", + "\n", + "Please update conda by running\n", + "\n", + " $ conda update -n base -c conda-forge conda\n", + "\n", + "\n", + "\n", + "## Package Plan ##\n", + "\n", + " environment location: /usr/local\n", + "\n", + " added / updated specs:\n", + " - numba\n", + " - nutpie\n", + " - pymc\n", + "\n", + "\n", + "The following packages will be downloaded:\n", + "\n", + " package | build\n", + " ---------------------------|-----------------\n", + " _openmp_mutex-4.5 | 2_kmp_llvm 6 KB conda-forge\n", + " arviz-0.20.0 | pyhd8ed1ab_0 1.4 MB conda-forge\n", + " atk-1.0-2.38.0 | h04ea711_2 348 KB conda-forge\n", + " aws-c-auth-0.7.22 | h96bc93b_2 103 KB conda-forge\n", + " aws-c-cal-0.6.14 | h88a6e22_1 46 KB conda-forge\n", + " aws-c-common-0.9.19 | h4ab18f5_0 221 KB conda-forge\n", + " aws-c-compression-0.2.18 | h83b837d_6 19 KB conda-forge\n", + " aws-c-event-stream-0.4.2 | ha47c788_12 53 KB conda-forge\n", + " aws-c-http-0.8.1 | h29d6fba_17 190 KB conda-forge\n", + " aws-c-io-0.14.8 | h21d4f22_5 154 KB conda-forge\n", + " aws-c-mqtt-0.10.4 | h759edc4_4 160 KB conda-forge\n", + " aws-c-s3-0.5.9 | h594631b_3 107 KB conda-forge\n", + " aws-c-sdkutils-0.1.16 | h83b837d_2 54 KB conda-forge\n", + " aws-checksums-0.1.18 | h83b837d_6 49 KB conda-forge\n", + " aws-crt-cpp-0.26.9 | he3a8b3b_0 332 KB conda-forge\n", + " aws-sdk-cpp-1.11.329 | hba8bd5f_3 3.5 MB conda-forge\n", + " binutils_impl_linux-64-2.40| hf600244_0 5.2 MB conda-forge\n", + " binutils_linux-64-2.40 | hb3c18ed_9 29 KB conda-forge\n", + " blas-2.125 | openblas 15 KB conda-forge\n", + " blas-devel-3.9.0 |25_linux64_openblas 15 KB conda-forge\n", + " brotli-1.1.0 | hd590300_1 19 KB conda-forge\n", + " brotli-bin-1.1.0 | hd590300_1 19 KB conda-forge\n", + " c-ares-1.34.3 | heb4867d_0 201 KB conda-forge\n", + " ca-certificates-2024.8.30 | hbcca054_0 155 KB conda-forge\n", + " cached-property-1.5.2 | hd8ed1ab_1 4 KB conda-forge\n", + " cached_property-1.5.2 | pyha770c72_1 11 KB conda-forge\n", + " cachetools-5.5.0 | pyhd8ed1ab_0 14 KB conda-forge\n", + " cairo-1.18.0 | h3faef2a_0 959 KB conda-forge\n", + " certifi-2024.8.30 | pyhd8ed1ab_0 160 KB conda-forge\n", + " cloudpickle-3.1.0 | pyhd8ed1ab_1 25 KB conda-forge\n", + " cons-0.4.6 | pyhd8ed1ab_0 14 KB conda-forge\n", + " contourpy-1.3.0 | py310h3788b33_2 255 KB conda-forge\n", + " cycler-0.12.1 | pyhd8ed1ab_0 13 KB conda-forge\n", + " etuples-0.3.9 | pyhd8ed1ab_0 17 KB conda-forge\n", + " expat-2.6.4 | h5888daf_0 135 KB conda-forge\n", + " filelock-3.16.1 | pyhd8ed1ab_0 17 KB conda-forge\n", + " font-ttf-dejavu-sans-mono-2.37| hab24e00_0 388 KB conda-forge\n", + " font-ttf-inconsolata-3.000 | h77eed37_0 94 KB conda-forge\n", + " font-ttf-source-code-pro-2.038| h77eed37_0 684 KB conda-forge\n", + " font-ttf-ubuntu-0.83 | h77eed37_3 1.5 MB conda-forge\n", + " fontconfig-2.14.2 | h14ed4e7_0 266 KB conda-forge\n", + " fonts-conda-ecosystem-1 | 0 4 KB conda-forge\n", + " fonts-conda-forge-1 | 0 4 KB conda-forge\n", + " fonttools-4.54.1 | py310h89163eb_1 2.2 MB conda-forge\n", + " freetype-2.12.1 | h267a509_2 620 KB conda-forge\n", + " fribidi-1.0.10 | h36c2ea0_0 112 KB conda-forge\n", + " gcc-13.3.0 | h9576a4e_1 53 KB conda-forge\n", + " gcc_impl_linux-64-13.3.0 | hfea6d02_1 64.3 MB conda-forge\n", + " gcc_linux-64-13.3.0 | hc28eda2_5 31 KB conda-forge\n", + " gdk-pixbuf-2.42.12 | hb9ae30d_0 516 KB conda-forge\n", + " gettext-0.22.5 | he02047a_3 468 KB conda-forge\n", + " gettext-tools-0.22.5 | he02047a_3 2.6 MB conda-forge\n", + " gflags-2.2.2 | h5888daf_1005 117 KB conda-forge\n", + " giflib-5.2.2 | hd590300_0 75 KB conda-forge\n", + " glog-0.7.1 | hbabe93e_0 140 KB conda-forge\n", + " graphite2-1.3.13 | h59595ed_1003 95 KB conda-forge\n", + " graphviz-9.0.0 | h78e8752_1 2.2 MB conda-forge\n", + " gtk2-2.24.33 | h280cfa0_4 6.2 MB conda-forge\n", + " gts-0.7.6 | h977cf35_4 311 KB conda-forge\n", + " gxx-13.3.0 | h9576a4e_1 52 KB conda-forge\n", + " gxx_impl_linux-64-13.3.0 | hdbfa832_1 12.7 MB conda-forge\n", + " gxx_linux-64-13.3.0 | h6834431_5 30 KB conda-forge\n", + " h5netcdf-1.4.0 | pyhd8ed1ab_0 46 KB conda-forge\n", + " h5py-3.12.1 |nompi_py310h60e0fe6_102 1.2 MB conda-forge\n", + " harfbuzz-8.5.0 | hfac3d4d_0 1.5 MB conda-forge\n", + " hdf5-1.14.3 |nompi_hdf9ad27_105 3.7 MB conda-forge\n", + " kernel-headers_linux-64-3.10.0| he073ed8_18 921 KB conda-forge\n", + " kiwisolver-1.4.7 | py310h3788b33_0 70 KB conda-forge\n", + " lcms2-2.16 | hb7c19ff_0 239 KB conda-forge\n", + " lerc-4.0.0 | h27087fc_0 275 KB conda-forge\n", + " libabseil-20240116.2 | cxx17_he02047a_1 1.2 MB conda-forge\n", + " libaec-1.1.3 | h59595ed_0 35 KB conda-forge\n", + " libarrow-16.1.0 | hcb6531f_6_cpu 7.9 MB conda-forge\n", + " libasprintf-0.22.5 | he8f35ee_3 42 KB conda-forge\n", + " libasprintf-devel-0.22.5 | he8f35ee_3 33 KB conda-forge\n", + " libblas-3.9.0 |25_linux64_openblas 15 KB conda-forge\n", + " libbrotlicommon-1.1.0 | hd590300_1 68 KB conda-forge\n", + " libbrotlidec-1.1.0 | hd590300_1 32 KB conda-forge\n", + " libbrotlienc-1.1.0 | hd590300_1 276 KB conda-forge\n", + " libcblas-3.9.0 |25_linux64_openblas 15 KB conda-forge\n", + " libcrc32c-1.1.2 | h9c3ff4c_0 20 KB conda-forge\n", + " libcurl-8.8.0 | hca28451_0 396 KB conda-forge\n", + " libdeflate-1.20 | hd590300_0 70 KB conda-forge\n", + " libexpat-2.6.4 | h5888daf_0 72 KB conda-forge\n", + " libgcc-14.2.0 | h77fa898_1 829 KB conda-forge\n", + " libgcc-devel_linux-64-13.3.0| h84ea5a7_101 2.5 MB conda-forge\n", + " libgcc-ng-14.2.0 | h69a702a_1 53 KB conda-forge\n", + " libgd-2.3.3 | h119a65a_9 219 KB conda-forge\n", + " libgettextpo-0.22.5 | he02047a_3 167 KB conda-forge\n", + " libgettextpo-devel-0.22.5 | he02047a_3 36 KB conda-forge\n", + " libgfortran-14.2.0 | h69a702a_1 53 KB conda-forge\n", + " libgfortran-ng-14.2.0 | h69a702a_1 53 KB conda-forge\n", + " libgfortran5-14.2.0 | hd5240d6_1 1.4 MB conda-forge\n", + " libglib-2.80.2 | hf974151_0 3.7 MB conda-forge\n", + " libgomp-14.2.0 | h77fa898_1 450 KB conda-forge\n", + " libgoogle-cloud-2.24.0 | h2736e30_0 1.2 MB conda-forge\n", + " libgoogle-cloud-storage-2.24.0| h3d9a0c8_0 735 KB conda-forge\n", + " libgrpc-1.62.2 | h15f2491_0 7.0 MB conda-forge\n", + " libhwloc-2.9.3 |default_h554bfaf_1009 2.5 MB conda-forge\n", + " libjpeg-turbo-3.0.0 | hd590300_1 604 KB conda-forge\n", + " liblapack-3.9.0 |25_linux64_openblas 15 KB conda-forge\n", + " liblapacke-3.9.0 |25_linux64_openblas 15 KB conda-forge\n", + " libllvm14-14.0.6 | hcd5def8_4 30.0 MB conda-forge\n", + " libopenblas-0.3.28 |pthreads_h94d23a6_1 5.3 MB conda-forge\n", + " libpng-1.6.43 | h2797004_0 281 KB conda-forge\n", + " libprotobuf-4.25.3 | h08a7969_0 2.7 MB conda-forge\n", + " libre2-11-2023.09.01 | h5a48ba9_2 227 KB conda-forge\n", + " librsvg-2.56.3 | he3f83f7_1 5.6 MB conda-forge\n", + " libsanitizer-13.3.0 | heb74ff8_1 3.9 MB conda-forge\n", + " libstdcxx-14.2.0 | hc0a3c3a_1 3.7 MB conda-forge\n", + " libstdcxx-devel_linux-64-13.3.0| h84ea5a7_101 13.4 MB conda-forge\n", + " libtiff-4.6.0 | h1dd3fc0_3 276 KB conda-forge\n", + " libutf8proc-2.8.0 | h166bdaf_0 99 KB conda-forge\n", + " libwebp-1.4.0 | h2c329e2_0 90 KB conda-forge\n", + " libwebp-base-1.4.0 | hd590300_0 429 KB conda-forge\n", + " libxcb-1.15 | h0b41bf4_0 375 KB conda-forge\n", + " llvm-openmp-19.1.3 | h024ca30_0 3.0 MB conda-forge\n", + " llvmlite-0.42.0 | py310h1b8f574_1 3.2 MB conda-forge\n", + " logical-unification-0.4.6 | pyhd8ed1ab_0 18 KB conda-forge\n", + " markdown-it-py-3.0.0 | pyhd8ed1ab_0 63 KB conda-forge\n", + " matplotlib-base-3.9.2 | py310h68603db_2 6.7 MB conda-forge\n", + " mdurl-0.1.2 | pyhd8ed1ab_0 14 KB conda-forge\n", + " minikanren-1.0.3 | pyhd8ed1ab_0 23 KB conda-forge\n", + " mkl-2024.2.2 | ha957f24_16 118.9 MB conda-forge\n", + " mkl-service-2.4.2 | py310h22455d7_0 70 KB conda-forge\n", + " multipledispatch-0.6.0 | pyhd8ed1ab_1 17 KB conda-forge\n", + " munkres-1.1.4 | pyh9f0ad1d_0 12 KB conda-forge\n", + " numba-0.59.1 | py310h7dc5dd1_0 4.1 MB conda-forge\n", + " numpy-1.26.4 | py310hb13e2d6_0 6.7 MB conda-forge\n", + " nutpie-0.13.2 | py310h4a6dfd8_0 1.2 MB conda-forge\n", + " openblas-0.3.28 |pthreads_h6ec200e_1 5.5 MB conda-forge\n", + " openjpeg-2.5.2 | h488ebb8_0 334 KB conda-forge\n", + " openssl-3.4.0 | hb9d3cd8_0 2.8 MB conda-forge\n", + " orc-2.0.1 | h17fec99_1 1006 KB conda-forge\n", + " pandas-2.2.3 | py310h5eaa309_1 12.4 MB conda-forge\n", + " pango-1.54.0 | h84a9a3c_0 438 KB conda-forge\n", + " pcre2-10.43 | hcad00b1_0 929 KB conda-forge\n", + " pillow-10.3.0 | py310hf73ecf8_0 39.8 MB conda-forge\n", + " pixman-0.43.2 | h59595ed_0 378 KB conda-forge\n", + " pthread-stubs-0.4 | hb9d3cd8_1002 8 KB conda-forge\n", + " pyarrow-core-16.1.0 |py310h6f79a3a_1_cpu 4.2 MB conda-forge\n", + " pygments-2.18.0 | pyhd8ed1ab_0 859 KB conda-forge\n", + " pymc-5.18.0 | hd8ed1ab_0 11 KB conda-forge\n", + " pymc-base-5.18.0 | pyhd8ed1ab_0 326 KB conda-forge\n", + " pyparsing-3.2.0 | pyhd8ed1ab_1 90 KB conda-forge\n", + " pytensor-2.25.5 | py310ha549d7f_0 9 KB conda-forge\n", + " pytensor-base-2.25.5 | py310h89e8f5a_0 1.7 MB conda-forge\n", + " python-dateutil-2.9.0 | pyhd8ed1ab_0 218 KB conda-forge\n", + " python-graphviz-0.20.3 | pyhe28f650_1 37 KB conda-forge\n", + " python-tzdata-2024.2 | pyhd8ed1ab_0 139 KB conda-forge\n", + " pytz-2024.1 | pyhd8ed1ab_0 184 KB conda-forge\n", + " qhull-2020.2 | h434a139_5 540 KB conda-forge\n", + " re2-2023.09.01 | h7f4b329_2 26 KB conda-forge\n", + " rich-13.9.4 | pyhd8ed1ab_0 181 KB conda-forge\n", + " s2n-1.4.15 | he19d79f_0 341 KB conda-forge\n", + " scipy-1.14.1 | py310hfcf56fc_1 16.1 MB conda-forge\n", + " six-1.16.0 | pyh6c4a22f_0 14 KB conda-forge\n", + " snappy-1.2.1 | ha2e4443_0 41 KB conda-forge\n", + " sysroot_linux-64-2.17 | h4a8ded7_18 14.8 MB conda-forge\n", + " tbb-2021.11.0 | h00ab1b0_1 191 KB conda-forge\n", + " threadpoolctl-3.5.0 | pyhc1e730c_0 23 KB conda-forge\n", + " toolz-1.0.0 | pyhd8ed1ab_0 51 KB conda-forge\n", + " typing-extensions-4.12.2 | hd8ed1ab_0 10 KB conda-forge\n", + " typing_extensions-4.12.2 | pyha770c72_0 39 KB conda-forge\n", + " unicodedata2-15.1.0 | py310ha75aee5_1 359 KB conda-forge\n", + " xarray-2024.10.0 | pyhd8ed1ab_0 795 KB conda-forge\n", + " xarray-einstats-0.8.0 | pyhd8ed1ab_0 33 KB conda-forge\n", + " xorg-kbproto-1.0.7 | hb9d3cd8_1003 30 KB conda-forge\n", + " xorg-libice-1.1.1 | hb9d3cd8_1 57 KB conda-forge\n", + " xorg-libsm-1.2.4 | he73a12e_1 27 KB conda-forge\n", + " xorg-libx11-1.8.9 | h8ee46fc_0 809 KB conda-forge\n", + " xorg-libxau-1.0.11 | hb9d3cd8_1 14 KB conda-forge\n", + " xorg-libxdmcp-1.1.5 | hb9d3cd8_0 19 KB conda-forge\n", + " xorg-libxext-1.3.4 | h0b41bf4_2 49 KB conda-forge\n", + " xorg-libxrender-0.9.11 | hd590300_0 37 KB conda-forge\n", + " xorg-renderproto-0.11.1 | hb9d3cd8_1003 12 KB conda-forge\n", + " xorg-xextproto-7.3.0 | hb9d3cd8_1004 30 KB conda-forge\n", + " xorg-xproto-7.0.31 | hb9d3cd8_1008 72 KB conda-forge\n", + " zlib-1.2.13 | hd590300_5 91 KB conda-forge\n", + " zstandard-0.23.0 | py310ha39cb0e_1 399 KB conda-forge\n", + " zstd-1.5.6 | ha6fb4c9_0 542 KB conda-forge\n", + " ------------------------------------------------------------\n", + " Total: 466.7 MB\n", + "\n", + "The following NEW packages will be INSTALLED:\n", + "\n", + " arviz conda-forge/noarch::arviz-0.20.0-pyhd8ed1ab_0 \n", + " atk-1.0 conda-forge/linux-64::atk-1.0-2.38.0-h04ea711_2 \n", + " aws-c-auth conda-forge/linux-64::aws-c-auth-0.7.22-h96bc93b_2 \n", + " aws-c-cal conda-forge/linux-64::aws-c-cal-0.6.14-h88a6e22_1 \n", + " aws-c-common conda-forge/linux-64::aws-c-common-0.9.19-h4ab18f5_0 \n", + " aws-c-compression conda-forge/linux-64::aws-c-compression-0.2.18-h83b837d_6 \n", + " aws-c-event-stream conda-forge/linux-64::aws-c-event-stream-0.4.2-ha47c788_12 \n", + " aws-c-http conda-forge/linux-64::aws-c-http-0.8.1-h29d6fba_17 \n", + " aws-c-io conda-forge/linux-64::aws-c-io-0.14.8-h21d4f22_5 \n", + " aws-c-mqtt conda-forge/linux-64::aws-c-mqtt-0.10.4-h759edc4_4 \n", + " aws-c-s3 conda-forge/linux-64::aws-c-s3-0.5.9-h594631b_3 \n", + " aws-c-sdkutils conda-forge/linux-64::aws-c-sdkutils-0.1.16-h83b837d_2 \n", + " aws-checksums conda-forge/linux-64::aws-checksums-0.1.18-h83b837d_6 \n", + " aws-crt-cpp conda-forge/linux-64::aws-crt-cpp-0.26.9-he3a8b3b_0 \n", + " aws-sdk-cpp conda-forge/linux-64::aws-sdk-cpp-1.11.329-hba8bd5f_3 \n", + " binutils_impl_lin~ conda-forge/linux-64::binutils_impl_linux-64-2.40-hf600244_0 \n", + " binutils_linux-64 conda-forge/linux-64::binutils_linux-64-2.40-hb3c18ed_9 \n", + " blas conda-forge/linux-64::blas-2.125-openblas \n", + " blas-devel conda-forge/linux-64::blas-devel-3.9.0-25_linux64_openblas \n", + " brotli conda-forge/linux-64::brotli-1.1.0-hd590300_1 \n", + " brotli-bin conda-forge/linux-64::brotli-bin-1.1.0-hd590300_1 \n", + " cached-property conda-forge/noarch::cached-property-1.5.2-hd8ed1ab_1 \n", + " cached_property conda-forge/noarch::cached_property-1.5.2-pyha770c72_1 \n", + " cachetools conda-forge/noarch::cachetools-5.5.0-pyhd8ed1ab_0 \n", + " cairo conda-forge/linux-64::cairo-1.18.0-h3faef2a_0 \n", + " cloudpickle conda-forge/noarch::cloudpickle-3.1.0-pyhd8ed1ab_1 \n", + " cons conda-forge/noarch::cons-0.4.6-pyhd8ed1ab_0 \n", + " contourpy conda-forge/linux-64::contourpy-1.3.0-py310h3788b33_2 \n", + " cycler conda-forge/noarch::cycler-0.12.1-pyhd8ed1ab_0 \n", + " etuples conda-forge/noarch::etuples-0.3.9-pyhd8ed1ab_0 \n", + " expat conda-forge/linux-64::expat-2.6.4-h5888daf_0 \n", + " filelock conda-forge/noarch::filelock-3.16.1-pyhd8ed1ab_0 \n", + " font-ttf-dejavu-s~ conda-forge/noarch::font-ttf-dejavu-sans-mono-2.37-hab24e00_0 \n", + " font-ttf-inconsol~ conda-forge/noarch::font-ttf-inconsolata-3.000-h77eed37_0 \n", + " font-ttf-source-c~ conda-forge/noarch::font-ttf-source-code-pro-2.038-h77eed37_0 \n", + " font-ttf-ubuntu conda-forge/noarch::font-ttf-ubuntu-0.83-h77eed37_3 \n", + " fontconfig conda-forge/linux-64::fontconfig-2.14.2-h14ed4e7_0 \n", + " fonts-conda-ecosy~ conda-forge/noarch::fonts-conda-ecosystem-1-0 \n", + " fonts-conda-forge conda-forge/noarch::fonts-conda-forge-1-0 \n", + " fonttools conda-forge/linux-64::fonttools-4.54.1-py310h89163eb_1 \n", + " freetype conda-forge/linux-64::freetype-2.12.1-h267a509_2 \n", + " fribidi conda-forge/linux-64::fribidi-1.0.10-h36c2ea0_0 \n", + " gcc conda-forge/linux-64::gcc-13.3.0-h9576a4e_1 \n", + " gcc_impl_linux-64 conda-forge/linux-64::gcc_impl_linux-64-13.3.0-hfea6d02_1 \n", + " gcc_linux-64 conda-forge/linux-64::gcc_linux-64-13.3.0-hc28eda2_5 \n", + " gdk-pixbuf conda-forge/linux-64::gdk-pixbuf-2.42.12-hb9ae30d_0 \n", + " gettext conda-forge/linux-64::gettext-0.22.5-he02047a_3 \n", + " gettext-tools conda-forge/linux-64::gettext-tools-0.22.5-he02047a_3 \n", + " gflags conda-forge/linux-64::gflags-2.2.2-h5888daf_1005 \n", + " giflib conda-forge/linux-64::giflib-5.2.2-hd590300_0 \n", + " glog conda-forge/linux-64::glog-0.7.1-hbabe93e_0 \n", + " graphite2 conda-forge/linux-64::graphite2-1.3.13-h59595ed_1003 \n", + " graphviz conda-forge/linux-64::graphviz-9.0.0-h78e8752_1 \n", + " gtk2 conda-forge/linux-64::gtk2-2.24.33-h280cfa0_4 \n", + " gts conda-forge/linux-64::gts-0.7.6-h977cf35_4 \n", + " gxx conda-forge/linux-64::gxx-13.3.0-h9576a4e_1 \n", + " gxx_impl_linux-64 conda-forge/linux-64::gxx_impl_linux-64-13.3.0-hdbfa832_1 \n", + " gxx_linux-64 conda-forge/linux-64::gxx_linux-64-13.3.0-h6834431_5 \n", + " h5netcdf conda-forge/noarch::h5netcdf-1.4.0-pyhd8ed1ab_0 \n", + " h5py conda-forge/linux-64::h5py-3.12.1-nompi_py310h60e0fe6_102 \n", + " harfbuzz conda-forge/linux-64::harfbuzz-8.5.0-hfac3d4d_0 \n", + " hdf5 conda-forge/linux-64::hdf5-1.14.3-nompi_hdf9ad27_105 \n", + " kernel-headers_li~ conda-forge/noarch::kernel-headers_linux-64-3.10.0-he073ed8_18 \n", + " kiwisolver conda-forge/linux-64::kiwisolver-1.4.7-py310h3788b33_0 \n", + " lcms2 conda-forge/linux-64::lcms2-2.16-hb7c19ff_0 \n", + " lerc conda-forge/linux-64::lerc-4.0.0-h27087fc_0 \n", + " libabseil conda-forge/linux-64::libabseil-20240116.2-cxx17_he02047a_1 \n", + " libaec conda-forge/linux-64::libaec-1.1.3-h59595ed_0 \n", + " libarrow conda-forge/linux-64::libarrow-16.1.0-hcb6531f_6_cpu \n", + " libasprintf conda-forge/linux-64::libasprintf-0.22.5-he8f35ee_3 \n", + " libasprintf-devel conda-forge/linux-64::libasprintf-devel-0.22.5-he8f35ee_3 \n", + " libblas conda-forge/linux-64::libblas-3.9.0-25_linux64_openblas \n", + " libbrotlicommon conda-forge/linux-64::libbrotlicommon-1.1.0-hd590300_1 \n", + " libbrotlidec conda-forge/linux-64::libbrotlidec-1.1.0-hd590300_1 \n", + " libbrotlienc conda-forge/linux-64::libbrotlienc-1.1.0-hd590300_1 \n", + " libcblas conda-forge/linux-64::libcblas-3.9.0-25_linux64_openblas \n", + " libcrc32c conda-forge/linux-64::libcrc32c-1.1.2-h9c3ff4c_0 \n", + " libdeflate conda-forge/linux-64::libdeflate-1.20-hd590300_0 \n", + " libexpat conda-forge/linux-64::libexpat-2.6.4-h5888daf_0 \n", + " libgcc conda-forge/linux-64::libgcc-14.2.0-h77fa898_1 \n", + " libgcc-devel_linu~ conda-forge/noarch::libgcc-devel_linux-64-13.3.0-h84ea5a7_101 \n", + " libgd conda-forge/linux-64::libgd-2.3.3-h119a65a_9 \n", + " libgettextpo conda-forge/linux-64::libgettextpo-0.22.5-he02047a_3 \n", + " libgettextpo-devel conda-forge/linux-64::libgettextpo-devel-0.22.5-he02047a_3 \n", + " libgfortran conda-forge/linux-64::libgfortran-14.2.0-h69a702a_1 \n", + " libgfortran-ng conda-forge/linux-64::libgfortran-ng-14.2.0-h69a702a_1 \n", + " libgfortran5 conda-forge/linux-64::libgfortran5-14.2.0-hd5240d6_1 \n", + " libglib conda-forge/linux-64::libglib-2.80.2-hf974151_0 \n", + " libgoogle-cloud conda-forge/linux-64::libgoogle-cloud-2.24.0-h2736e30_0 \n", + " libgoogle-cloud-s~ conda-forge/linux-64::libgoogle-cloud-storage-2.24.0-h3d9a0c8_0 \n", + " libgrpc conda-forge/linux-64::libgrpc-1.62.2-h15f2491_0 \n", + " libhwloc conda-forge/linux-64::libhwloc-2.9.3-default_h554bfaf_1009 \n", + " libjpeg-turbo conda-forge/linux-64::libjpeg-turbo-3.0.0-hd590300_1 \n", + " liblapack conda-forge/linux-64::liblapack-3.9.0-25_linux64_openblas \n", + " liblapacke conda-forge/linux-64::liblapacke-3.9.0-25_linux64_openblas \n", + " libllvm14 conda-forge/linux-64::libllvm14-14.0.6-hcd5def8_4 \n", + " libopenblas conda-forge/linux-64::libopenblas-0.3.28-pthreads_h94d23a6_1 \n", + " libpng conda-forge/linux-64::libpng-1.6.43-h2797004_0 \n", + " libprotobuf conda-forge/linux-64::libprotobuf-4.25.3-h08a7969_0 \n", + " libre2-11 conda-forge/linux-64::libre2-11-2023.09.01-h5a48ba9_2 \n", + " librsvg conda-forge/linux-64::librsvg-2.56.3-he3f83f7_1 \n", + " libsanitizer conda-forge/linux-64::libsanitizer-13.3.0-heb74ff8_1 \n", + " libstdcxx conda-forge/linux-64::libstdcxx-14.2.0-hc0a3c3a_1 \n", + " libstdcxx-devel_l~ conda-forge/noarch::libstdcxx-devel_linux-64-13.3.0-h84ea5a7_101 \n", + " libtiff conda-forge/linux-64::libtiff-4.6.0-h1dd3fc0_3 \n", + " libutf8proc conda-forge/linux-64::libutf8proc-2.8.0-h166bdaf_0 \n", + " libwebp conda-forge/linux-64::libwebp-1.4.0-h2c329e2_0 \n", + " libwebp-base conda-forge/linux-64::libwebp-base-1.4.0-hd590300_0 \n", + " libxcb conda-forge/linux-64::libxcb-1.15-h0b41bf4_0 \n", + " llvm-openmp conda-forge/linux-64::llvm-openmp-19.1.3-h024ca30_0 \n", + " llvmlite conda-forge/linux-64::llvmlite-0.42.0-py310h1b8f574_1 \n", + " logical-unificati~ conda-forge/noarch::logical-unification-0.4.6-pyhd8ed1ab_0 \n", + " markdown-it-py conda-forge/noarch::markdown-it-py-3.0.0-pyhd8ed1ab_0 \n", + " matplotlib-base conda-forge/linux-64::matplotlib-base-3.9.2-py310h68603db_2 \n", + " mdurl conda-forge/noarch::mdurl-0.1.2-pyhd8ed1ab_0 \n", + " minikanren conda-forge/noarch::minikanren-1.0.3-pyhd8ed1ab_0 \n", + " mkl conda-forge/linux-64::mkl-2024.2.2-ha957f24_16 \n", + " mkl-service conda-forge/linux-64::mkl-service-2.4.2-py310h22455d7_0 \n", + " multipledispatch conda-forge/noarch::multipledispatch-0.6.0-pyhd8ed1ab_1 \n", + " munkres conda-forge/noarch::munkres-1.1.4-pyh9f0ad1d_0 \n", + " numba conda-forge/linux-64::numba-0.59.1-py310h7dc5dd1_0 \n", + " numpy conda-forge/linux-64::numpy-1.26.4-py310hb13e2d6_0 \n", + " nutpie conda-forge/linux-64::nutpie-0.13.2-py310h4a6dfd8_0 \n", + " openblas conda-forge/linux-64::openblas-0.3.28-pthreads_h6ec200e_1 \n", + " openjpeg conda-forge/linux-64::openjpeg-2.5.2-h488ebb8_0 \n", + " orc conda-forge/linux-64::orc-2.0.1-h17fec99_1 \n", + " pandas conda-forge/linux-64::pandas-2.2.3-py310h5eaa309_1 \n", + " pango conda-forge/linux-64::pango-1.54.0-h84a9a3c_0 \n", + " pcre2 conda-forge/linux-64::pcre2-10.43-hcad00b1_0 \n", + " pillow conda-forge/linux-64::pillow-10.3.0-py310hf73ecf8_0 \n", + " pixman conda-forge/linux-64::pixman-0.43.2-h59595ed_0 \n", + " pthread-stubs conda-forge/linux-64::pthread-stubs-0.4-hb9d3cd8_1002 \n", + " pyarrow-core conda-forge/linux-64::pyarrow-core-16.1.0-py310h6f79a3a_1_cpu \n", + " pygments conda-forge/noarch::pygments-2.18.0-pyhd8ed1ab_0 \n", + " pymc conda-forge/noarch::pymc-5.18.0-hd8ed1ab_0 \n", + " pymc-base conda-forge/noarch::pymc-base-5.18.0-pyhd8ed1ab_0 \n", + " pyparsing conda-forge/noarch::pyparsing-3.2.0-pyhd8ed1ab_1 \n", + " pytensor conda-forge/linux-64::pytensor-2.25.5-py310ha549d7f_0 \n", + " pytensor-base conda-forge/linux-64::pytensor-base-2.25.5-py310h89e8f5a_0 \n", + " python-dateutil conda-forge/noarch::python-dateutil-2.9.0-pyhd8ed1ab_0 \n", + " python-graphviz conda-forge/noarch::python-graphviz-0.20.3-pyhe28f650_1 \n", + " python-tzdata conda-forge/noarch::python-tzdata-2024.2-pyhd8ed1ab_0 \n", + " pytz conda-forge/noarch::pytz-2024.1-pyhd8ed1ab_0 \n", + " qhull conda-forge/linux-64::qhull-2020.2-h434a139_5 \n", + " re2 conda-forge/linux-64::re2-2023.09.01-h7f4b329_2 \n", + " rich conda-forge/noarch::rich-13.9.4-pyhd8ed1ab_0 \n", + " s2n conda-forge/linux-64::s2n-1.4.15-he19d79f_0 \n", + " scipy conda-forge/linux-64::scipy-1.14.1-py310hfcf56fc_1 \n", + " six conda-forge/noarch::six-1.16.0-pyh6c4a22f_0 \n", + " snappy conda-forge/linux-64::snappy-1.2.1-ha2e4443_0 \n", + " sysroot_linux-64 conda-forge/noarch::sysroot_linux-64-2.17-h4a8ded7_18 \n", + " tbb conda-forge/linux-64::tbb-2021.11.0-h00ab1b0_1 \n", + " threadpoolctl conda-forge/noarch::threadpoolctl-3.5.0-pyhc1e730c_0 \n", + " toolz conda-forge/noarch::toolz-1.0.0-pyhd8ed1ab_0 \n", + " typing-extensions conda-forge/noarch::typing-extensions-4.12.2-hd8ed1ab_0 \n", + " typing_extensions conda-forge/noarch::typing_extensions-4.12.2-pyha770c72_0 \n", + " unicodedata2 conda-forge/linux-64::unicodedata2-15.1.0-py310ha75aee5_1 \n", + " xarray conda-forge/noarch::xarray-2024.10.0-pyhd8ed1ab_0 \n", + " xarray-einstats conda-forge/noarch::xarray-einstats-0.8.0-pyhd8ed1ab_0 \n", + " xorg-kbproto conda-forge/linux-64::xorg-kbproto-1.0.7-hb9d3cd8_1003 \n", + " xorg-libice conda-forge/linux-64::xorg-libice-1.1.1-hb9d3cd8_1 \n", + " xorg-libsm conda-forge/linux-64::xorg-libsm-1.2.4-he73a12e_1 \n", + " xorg-libx11 conda-forge/linux-64::xorg-libx11-1.8.9-h8ee46fc_0 \n", + " xorg-libxau conda-forge/linux-64::xorg-libxau-1.0.11-hb9d3cd8_1 \n", + " xorg-libxdmcp conda-forge/linux-64::xorg-libxdmcp-1.1.5-hb9d3cd8_0 \n", + " xorg-libxext conda-forge/linux-64::xorg-libxext-1.3.4-h0b41bf4_2 \n", + " xorg-libxrender conda-forge/linux-64::xorg-libxrender-0.9.11-hd590300_0 \n", + " xorg-renderproto conda-forge/linux-64::xorg-renderproto-0.11.1-hb9d3cd8_1003 \n", + " xorg-xextproto conda-forge/linux-64::xorg-xextproto-7.3.0-hb9d3cd8_1004 \n", + " xorg-xproto conda-forge/linux-64::xorg-xproto-7.0.31-hb9d3cd8_1008 \n", + " zlib conda-forge/linux-64::zlib-1.2.13-hd590300_5 \n", + "\n", + "The following packages will be UPDATED:\n", + "\n", + " c-ares 1.24.0-hd590300_0 --> 1.34.3-heb4867d_0 \n", + " ca-certificates 2023.11.17-hbcca054_0 --> 2024.8.30-hbcca054_0 \n", + " certifi 2023.11.17-pyhd8ed1ab_0 --> 2024.8.30-pyhd8ed1ab_0 \n", + " libcurl 8.5.0-hca28451_0 --> 8.8.0-hca28451_0 \n", + " libgcc-ng 13.2.0-h807b86a_3 --> 14.2.0-h69a702a_1 \n", + " libgomp 13.2.0-h807b86a_3 --> 14.2.0-h77fa898_1 \n", + " openssl 3.2.0-hd590300_1 --> 3.4.0-hb9d3cd8_0 \n", + " zstandard 0.22.0-py310h1275a96_0 --> 0.23.0-py310ha39cb0e_1 \n", + " zstd 1.5.5-hfc55251_0 --> 1.5.6-ha6fb4c9_0 \n", + "\n", + "The following packages will be DOWNGRADED:\n", + "\n", + " _openmp_mutex 4.5-2_gnu --> 4.5-2_kmp_llvm \n", + "\n", + "\n", + "\n", + "Downloading and Extracting Packages:\n", + "mkl-2024.2.2 | 118.9 MB | : 0% 0/1 [00:00 WARNING: A newer version of conda exists. <==\n", + " current version: 23.11.0\n", + " latest version: 24.9.2\n", + "\n", + "Please update conda by running\n", + "\n", + " $ conda update -n base -c conda-forge conda\n", + "\n", + "\n", + "\n", + "## Package Plan ##\n", + "\n", + " environment location: /usr/local\n", + "\n", + " added / updated specs:\n", + " - cpuonly\n", + " - pytorch\n", + " - torchaudio\n", + " - torchvision\n", + "\n", + "\n", + "The following packages will be downloaded:\n", + "\n", + " package | build\n", + " ---------------------------|-----------------\n", + " blas-2.116 | mkl 13 KB conda-forge\n", + " blas-devel-3.9.0 | 16_linux64_mkl 12 KB conda-forge\n", + " cpuonly-2.0 | 0 2 KB pytorch\n", + " ffmpeg-4.3 | hf484d3e_0 9.9 MB pytorch\n", + " gmp-6.3.0 | hac33072_2 449 KB conda-forge\n", + " gmpy2-2.1.5 | py310he8512ff_2 199 KB conda-forge\n", + " gnutls-3.6.13 | h85f3911_1 2.0 MB conda-forge\n", + " jinja2-3.1.4 | pyhd8ed1ab_0 109 KB conda-forge\n", + " lame-3.100 | h166bdaf_1003 496 KB conda-forge\n", + " libblas-3.9.0 | 16_linux64_mkl 13 KB conda-forge\n", + " libcblas-3.9.0 | 16_linux64_mkl 12 KB conda-forge\n", + " liblapack-3.9.0 | 16_linux64_mkl 12 KB conda-forge\n", + " liblapacke-3.9.0 | 16_linux64_mkl 12 KB conda-forge\n", + " llvm-openmp-15.0.7 | h0cdce71_0 3.1 MB conda-forge\n", + " markupsafe-3.0.2 | py310h89163eb_0 22 KB conda-forge\n", + " mkl-2022.1.0 | h84fe81f_915 199.6 MB conda-forge\n", + " mkl-devel-2022.1.0 | ha770c72_916 25 KB conda-forge\n", + " mkl-include-2022.1.0 | h84fe81f_915 745 KB conda-forge\n", + " mkl-service-2.4.0 | py310h9263142_0 56 KB conda-forge\n", + " mpc-1.3.1 | h24ddda3_1 114 KB conda-forge\n", + " mpfr-4.2.1 | h90cbb55_3 620 KB conda-forge\n", + " mpmath-1.3.0 | pyhd8ed1ab_0 428 KB conda-forge\n", + " nettle-3.6 | he412f7d_0 6.5 MB conda-forge\n", + " networkx-3.4.2 | pyhd8ed1ab_1 1.1 MB conda-forge\n", + " openh264-2.1.1 | h780b84a_0 1.5 MB conda-forge\n", + " pytorch-2.5.1 | py3.10_cpu_0 88.1 MB pytorch\n", + " pytorch-mutex-1.0 | cpu 3 KB pytorch\n", + " pyyaml-6.0.2 | py310ha75aee5_1 178 KB conda-forge\n", + " sympy-1.13.3 | pypyh2585a3b_103 4.4 MB conda-forge\n", + " torchaudio-2.5.1 | py310_cpu 5.0 MB pytorch\n", + " torchvision-0.20.1 | py310_cpu 6.9 MB pytorch\n", + " yaml-0.2.5 | h7f98852_2 87 KB conda-forge\n", + " ------------------------------------------------------------\n", + " Total: 331.6 MB\n", + "\n", + "The following NEW packages will be INSTALLED:\n", + "\n", + " cpuonly pytorch/noarch::cpuonly-2.0-0 \n", + " ffmpeg pytorch/linux-64::ffmpeg-4.3-hf484d3e_0 \n", + " gmp conda-forge/linux-64::gmp-6.3.0-hac33072_2 \n", + " gmpy2 conda-forge/linux-64::gmpy2-2.1.5-py310he8512ff_2 \n", + " gnutls conda-forge/linux-64::gnutls-3.6.13-h85f3911_1 \n", + " jinja2 conda-forge/noarch::jinja2-3.1.4-pyhd8ed1ab_0 \n", + " lame conda-forge/linux-64::lame-3.100-h166bdaf_1003 \n", + " markupsafe conda-forge/linux-64::markupsafe-3.0.2-py310h89163eb_0 \n", + " mkl-devel conda-forge/linux-64::mkl-devel-2022.1.0-ha770c72_916 \n", + " mkl-include conda-forge/linux-64::mkl-include-2022.1.0-h84fe81f_915 \n", + " mpc conda-forge/linux-64::mpc-1.3.1-h24ddda3_1 \n", + " mpfr conda-forge/linux-64::mpfr-4.2.1-h90cbb55_3 \n", + " mpmath conda-forge/noarch::mpmath-1.3.0-pyhd8ed1ab_0 \n", + " nettle conda-forge/linux-64::nettle-3.6-he412f7d_0 \n", + " networkx conda-forge/noarch::networkx-3.4.2-pyhd8ed1ab_1 \n", + " openh264 conda-forge/linux-64::openh264-2.1.1-h780b84a_0 \n", + " pytorch pytorch/linux-64::pytorch-2.5.1-py3.10_cpu_0 \n", + " pytorch-mutex pytorch/noarch::pytorch-mutex-1.0-cpu \n", + " pyyaml conda-forge/linux-64::pyyaml-6.0.2-py310ha75aee5_1 \n", + " sympy conda-forge/noarch::sympy-1.13.3-pypyh2585a3b_103 \n", + " torchaudio pytorch/linux-64::torchaudio-2.5.1-py310_cpu \n", + " torchvision pytorch/linux-64::torchvision-0.20.1-py310_cpu \n", + " yaml conda-forge/linux-64::yaml-0.2.5-h7f98852_2 \n", + "\n", + "The following packages will be DOWNGRADED:\n", + "\n", + " blas 2.125-openblas --> 2.116-mkl \n", + " blas-devel 3.9.0-25_linux64_openblas --> 3.9.0-16_linux64_mkl \n", + " libblas 3.9.0-25_linux64_openblas --> 3.9.0-16_linux64_mkl \n", + " libcblas 3.9.0-25_linux64_openblas --> 3.9.0-16_linux64_mkl \n", + " liblapack 3.9.0-25_linux64_openblas --> 3.9.0-16_linux64_mkl \n", + " liblapacke 3.9.0-25_linux64_openblas --> 3.9.0-16_linux64_mkl \n", + " llvm-openmp 19.1.3-h024ca30_0 --> 15.0.7-h0cdce71_0 \n", + " mkl 2024.2.2-ha957f24_16 --> 2022.1.0-h84fe81f_915 \n", + " mkl-service 2.4.2-py310h22455d7_0 --> 2.4.0-py310h9263142_0 \n", + "\n", + "\n", + "\n", + "Downloading and Extracting Packages:\n", + "mkl-2022.1.0 | 199.6 MB | : 0% 0/1 [00:00 Date: Tue, 12 Nov 2024 15:19:22 +0100 Subject: [PATCH 52/68] Created using Colab --- notebooks/pcntk_colab_env.ipynb | 94 +++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 notebooks/pcntk_colab_env.ipynb diff --git a/notebooks/pcntk_colab_env.ipynb b/notebooks/pcntk_colab_env.ipynb new file mode 100644 index 00000000..0dc879ef --- /dev/null +++ b/notebooks/pcntk_colab_env.ipynb @@ -0,0 +1,94 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [], + "authorship_tag": "ABX9TyPhmRD2D0nfPuaeSc4uS/Q+", + "include_colab_link": true + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "code", + "source": [ + "## Install condacolab, which will enable us to install using conda\n", + "## Outcomment this cell after the kernel has automatically restarted\n", + "import os\n", + "os.environ['PYTHONPATH'] = \"\" # Need to clear the pythonpath to avoid some errors\n", + "!echo \"pythonpath: $PYTHONPATH\"\n", + "!pip install -q condacolab\n", + "import condacolab\n", + "condacolab.install()" + ], + "metadata": { + "id": "WtVP1BD3eKjV" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Check if condacolab works\n", + "import condacolab\n", + "condacolab.check()\n", + "\n", + "# Install libraries with optimized dependencies (BLAS and Rust) using conda\n", + "!conda install pymc numba nutpie -c conda-forge\n", + "\n", + "# Install CPU only verion of torch using conda (go to https://pytorch.org/get-started/locally/ if you need another version for your platform)\n", + "!conda install pytorch torchvision torchaudio cpuonly -c pytorch\n", + "\n", + "# # Install the pcntoolkit\n", + "!pip install https://github.com/amarquand/PCNtoolkit/archive/dev.zip" + ], + "metadata": { + "id": "cb4xm679kxnE", + "collapsed": true + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "import pcntoolkit as ptk\n", + "\n", + "### If you get an error about a cffi version mismatch, bright the site-packages version of cffi up to the dist-packages version using the following line\n", + "# !pip install --upgrade cffi==1.17.1 # works if dist-packages version is 1.17.1" + ], + "metadata": { + "id": "AAtKC6emj8Rn" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "JZlmznTwoH_t" + }, + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file From 887a972d510e2934131438972a64843b23483ca0 Mon Sep 17 00:00:00 2001 From: Stijn de Boer <19709783+AuguB@users.noreply.github.com> Date: Tue, 12 Nov 2024 15:46:41 +0100 Subject: [PATCH 53/68] Created using Colab --- notebooks/pcntk_colab_dev_env.ipynb | 4558 +-------------------------- 1 file changed, 114 insertions(+), 4444 deletions(-) diff --git a/notebooks/pcntk_colab_dev_env.ipynb b/notebooks/pcntk_colab_dev_env.ipynb index 82b831e6..6d5f5408 100644 --- a/notebooks/pcntk_colab_dev_env.ipynb +++ b/notebooks/pcntk_colab_dev_env.ipynb @@ -4,8 +4,7 @@ "metadata": { "colab": { "provenance": [], - "name": "pcntk_colab_dev_env.ipynb", - "authorship_tag": "ABX9TyPhmRD2D0nfPuaeSc4uS/Q+", + "authorship_tag": "ABX9TyNfYdKn7+C4d4WSym/CFRMQ", "include_colab_link": true }, "kernelspec": { @@ -30,4469 +29,140 @@ { "cell_type": "code", "source": [ - "## Install condacolab, which will enable us to install using conda\n", - "## Outcomment this cell after the kernel has automatically restarted\n", - "import os\n", - "os.environ['PYTHONPATH'] = \"\" # Need to clear the pythonpath to avoid some errors\n", - "!echo \"pythonpath: $PYTHONPATH\"\n", - "!pip install -q condacolab\n", - "import condacolab\n", - "condacolab.install()" + "!pip install https://github.com/amarquand/PCNtoolkit/archive/dev.zip\n", + "!pip install nutpie" ], "metadata": { - "id": "WtVP1BD3eKjV", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "6e4a9a86-d761-4bf8-80fa-6ed748d9000a" + "id": "vIbnkHN9ydb3" }, "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "pythonpath: \n", - "⏬ Downloading https://github.com/conda-forge/miniforge/releases/download/23.11.0-0/Mambaforge-23.11.0-0-Linux-x86_64.sh...\n", - "📦 Installing...\n", - "📌 Adjusting configuration...\n", - "🩹 Patching environment...\n", - "⏲ Done in 0:00:16\n", - "🔁 Restarting kernel...\n" - ] - } - ] + "outputs": [] }, { "cell_type": "code", "source": [ - "# Check if condacolab works\n", - "import condacolab\n", - "condacolab.check()\n", + "# %%\n", + "from warnings import filterwarnings\n", "\n", - "# Install libraries with optimized dependencies (BLAS and Rust) using conda\n", - "!conda install pymc numba nutpie -c conda-forge\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import os\n", "\n", - "# Install CPU only verion of torch using conda (go to https://pytorch.org/get-started/locally/ if you need another version for your platform)\n", - "!conda install pytorch torchvision torchaudio cpuonly -c pytorch\n", + "from pcntoolkit.normative_model.norm_utils import norm_init\n", + "from pcntoolkit.util.utils import simulate_data\n", + "\n", + "filterwarnings(\"ignore\")\n", + "\n", + "\n", + "########################### Experiment Settings ###############################\n", "\n", - "# # Install the pcntoolkit\n", - "!pip install https://github.com/amarquand/PCNtoolkit/archive/dev.zip" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "cb4xm679kxnE", - "outputId": "0985fdde-0fe6-44f6-cb29-d38e393f9010", - "collapsed": true - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Channels:\n", - " - conda-forge\n", - "Platform: linux-64\n", - "Collecting package metadata (repodata.json): - \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\bdone\n", - "Solving environment: / \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\b- \b\b\\ \b\b| \b\b/ \b\bdone\n", - "\n", - "\n", - "==> WARNING: A newer version of conda exists. <==\n", - " current version: 23.11.0\n", - " latest version: 24.9.2\n", - "\n", - "Please update conda by running\n", - "\n", - " $ conda update -n base -c conda-forge conda\n", - "\n", - "\n", - "\n", - "## Package Plan ##\n", - "\n", - " environment location: /usr/local\n", - "\n", - " added / updated specs:\n", - " - numba\n", - " - nutpie\n", - " - pymc\n", - "\n", - "\n", - "The following packages will be downloaded:\n", - "\n", - " package | build\n", - " ---------------------------|-----------------\n", - " _openmp_mutex-4.5 | 2_kmp_llvm 6 KB conda-forge\n", - " arviz-0.20.0 | pyhd8ed1ab_0 1.4 MB conda-forge\n", - " atk-1.0-2.38.0 | h04ea711_2 348 KB conda-forge\n", - " aws-c-auth-0.7.22 | h96bc93b_2 103 KB conda-forge\n", - " aws-c-cal-0.6.14 | h88a6e22_1 46 KB conda-forge\n", - " aws-c-common-0.9.19 | h4ab18f5_0 221 KB conda-forge\n", - " aws-c-compression-0.2.18 | h83b837d_6 19 KB conda-forge\n", - " aws-c-event-stream-0.4.2 | ha47c788_12 53 KB conda-forge\n", - " aws-c-http-0.8.1 | h29d6fba_17 190 KB conda-forge\n", - " aws-c-io-0.14.8 | h21d4f22_5 154 KB conda-forge\n", - " aws-c-mqtt-0.10.4 | h759edc4_4 160 KB conda-forge\n", - " aws-c-s3-0.5.9 | h594631b_3 107 KB conda-forge\n", - " aws-c-sdkutils-0.1.16 | h83b837d_2 54 KB conda-forge\n", - " aws-checksums-0.1.18 | h83b837d_6 49 KB conda-forge\n", - " aws-crt-cpp-0.26.9 | he3a8b3b_0 332 KB conda-forge\n", - " aws-sdk-cpp-1.11.329 | hba8bd5f_3 3.5 MB conda-forge\n", - " binutils_impl_linux-64-2.40| hf600244_0 5.2 MB conda-forge\n", - " binutils_linux-64-2.40 | hb3c18ed_9 29 KB conda-forge\n", - " blas-2.125 | openblas 15 KB conda-forge\n", - " blas-devel-3.9.0 |25_linux64_openblas 15 KB conda-forge\n", - " brotli-1.1.0 | hd590300_1 19 KB conda-forge\n", - " brotli-bin-1.1.0 | hd590300_1 19 KB conda-forge\n", - " c-ares-1.34.3 | heb4867d_0 201 KB conda-forge\n", - " ca-certificates-2024.8.30 | hbcca054_0 155 KB conda-forge\n", - " cached-property-1.5.2 | hd8ed1ab_1 4 KB conda-forge\n", - " cached_property-1.5.2 | pyha770c72_1 11 KB conda-forge\n", - " cachetools-5.5.0 | pyhd8ed1ab_0 14 KB conda-forge\n", - " cairo-1.18.0 | h3faef2a_0 959 KB conda-forge\n", - " certifi-2024.8.30 | pyhd8ed1ab_0 160 KB conda-forge\n", - " cloudpickle-3.1.0 | pyhd8ed1ab_1 25 KB conda-forge\n", - " cons-0.4.6 | pyhd8ed1ab_0 14 KB conda-forge\n", - " contourpy-1.3.0 | py310h3788b33_2 255 KB conda-forge\n", - " cycler-0.12.1 | pyhd8ed1ab_0 13 KB conda-forge\n", - " etuples-0.3.9 | pyhd8ed1ab_0 17 KB conda-forge\n", - " expat-2.6.4 | h5888daf_0 135 KB conda-forge\n", - " filelock-3.16.1 | pyhd8ed1ab_0 17 KB conda-forge\n", - " font-ttf-dejavu-sans-mono-2.37| hab24e00_0 388 KB conda-forge\n", - " font-ttf-inconsolata-3.000 | h77eed37_0 94 KB conda-forge\n", - " font-ttf-source-code-pro-2.038| h77eed37_0 684 KB conda-forge\n", - " font-ttf-ubuntu-0.83 | h77eed37_3 1.5 MB conda-forge\n", - " fontconfig-2.14.2 | h14ed4e7_0 266 KB conda-forge\n", - " fonts-conda-ecosystem-1 | 0 4 KB conda-forge\n", - " fonts-conda-forge-1 | 0 4 KB conda-forge\n", - " fonttools-4.54.1 | py310h89163eb_1 2.2 MB conda-forge\n", - " freetype-2.12.1 | h267a509_2 620 KB conda-forge\n", - " fribidi-1.0.10 | h36c2ea0_0 112 KB conda-forge\n", - " gcc-13.3.0 | h9576a4e_1 53 KB conda-forge\n", - " gcc_impl_linux-64-13.3.0 | hfea6d02_1 64.3 MB conda-forge\n", - " gcc_linux-64-13.3.0 | hc28eda2_5 31 KB conda-forge\n", - " gdk-pixbuf-2.42.12 | hb9ae30d_0 516 KB conda-forge\n", - " gettext-0.22.5 | he02047a_3 468 KB conda-forge\n", - " gettext-tools-0.22.5 | he02047a_3 2.6 MB conda-forge\n", - " gflags-2.2.2 | h5888daf_1005 117 KB conda-forge\n", - " giflib-5.2.2 | hd590300_0 75 KB conda-forge\n", - " glog-0.7.1 | hbabe93e_0 140 KB conda-forge\n", - " graphite2-1.3.13 | h59595ed_1003 95 KB conda-forge\n", - " graphviz-9.0.0 | h78e8752_1 2.2 MB conda-forge\n", - " gtk2-2.24.33 | h280cfa0_4 6.2 MB conda-forge\n", - " gts-0.7.6 | h977cf35_4 311 KB conda-forge\n", - " gxx-13.3.0 | h9576a4e_1 52 KB conda-forge\n", - " gxx_impl_linux-64-13.3.0 | hdbfa832_1 12.7 MB conda-forge\n", - " gxx_linux-64-13.3.0 | h6834431_5 30 KB conda-forge\n", - " h5netcdf-1.4.0 | pyhd8ed1ab_0 46 KB conda-forge\n", - " h5py-3.12.1 |nompi_py310h60e0fe6_102 1.2 MB conda-forge\n", - " harfbuzz-8.5.0 | hfac3d4d_0 1.5 MB conda-forge\n", - " hdf5-1.14.3 |nompi_hdf9ad27_105 3.7 MB conda-forge\n", - " kernel-headers_linux-64-3.10.0| he073ed8_18 921 KB conda-forge\n", - " kiwisolver-1.4.7 | py310h3788b33_0 70 KB conda-forge\n", - " lcms2-2.16 | hb7c19ff_0 239 KB conda-forge\n", - " lerc-4.0.0 | h27087fc_0 275 KB conda-forge\n", - " libabseil-20240116.2 | cxx17_he02047a_1 1.2 MB conda-forge\n", - " libaec-1.1.3 | h59595ed_0 35 KB conda-forge\n", - " libarrow-16.1.0 | hcb6531f_6_cpu 7.9 MB conda-forge\n", - " libasprintf-0.22.5 | he8f35ee_3 42 KB conda-forge\n", - " libasprintf-devel-0.22.5 | he8f35ee_3 33 KB conda-forge\n", - " libblas-3.9.0 |25_linux64_openblas 15 KB conda-forge\n", - " libbrotlicommon-1.1.0 | hd590300_1 68 KB conda-forge\n", - " libbrotlidec-1.1.0 | hd590300_1 32 KB conda-forge\n", - " libbrotlienc-1.1.0 | hd590300_1 276 KB conda-forge\n", - " libcblas-3.9.0 |25_linux64_openblas 15 KB conda-forge\n", - " libcrc32c-1.1.2 | h9c3ff4c_0 20 KB conda-forge\n", - " libcurl-8.8.0 | hca28451_0 396 KB conda-forge\n", - " libdeflate-1.20 | hd590300_0 70 KB conda-forge\n", - " libexpat-2.6.4 | h5888daf_0 72 KB conda-forge\n", - " libgcc-14.2.0 | h77fa898_1 829 KB conda-forge\n", - " libgcc-devel_linux-64-13.3.0| h84ea5a7_101 2.5 MB conda-forge\n", - " libgcc-ng-14.2.0 | h69a702a_1 53 KB conda-forge\n", - " libgd-2.3.3 | h119a65a_9 219 KB conda-forge\n", - " libgettextpo-0.22.5 | he02047a_3 167 KB conda-forge\n", - " libgettextpo-devel-0.22.5 | he02047a_3 36 KB conda-forge\n", - " libgfortran-14.2.0 | h69a702a_1 53 KB conda-forge\n", - " libgfortran-ng-14.2.0 | h69a702a_1 53 KB conda-forge\n", - " libgfortran5-14.2.0 | hd5240d6_1 1.4 MB conda-forge\n", - " libglib-2.80.2 | hf974151_0 3.7 MB conda-forge\n", - " libgomp-14.2.0 | h77fa898_1 450 KB conda-forge\n", - " libgoogle-cloud-2.24.0 | h2736e30_0 1.2 MB conda-forge\n", - " libgoogle-cloud-storage-2.24.0| h3d9a0c8_0 735 KB conda-forge\n", - " libgrpc-1.62.2 | h15f2491_0 7.0 MB conda-forge\n", - " libhwloc-2.9.3 |default_h554bfaf_1009 2.5 MB conda-forge\n", - " libjpeg-turbo-3.0.0 | hd590300_1 604 KB conda-forge\n", - " liblapack-3.9.0 |25_linux64_openblas 15 KB conda-forge\n", - " liblapacke-3.9.0 |25_linux64_openblas 15 KB conda-forge\n", - " libllvm14-14.0.6 | hcd5def8_4 30.0 MB conda-forge\n", - " libopenblas-0.3.28 |pthreads_h94d23a6_1 5.3 MB conda-forge\n", - " libpng-1.6.43 | h2797004_0 281 KB conda-forge\n", - " libprotobuf-4.25.3 | h08a7969_0 2.7 MB conda-forge\n", - " libre2-11-2023.09.01 | h5a48ba9_2 227 KB conda-forge\n", - " librsvg-2.56.3 | he3f83f7_1 5.6 MB conda-forge\n", - " libsanitizer-13.3.0 | heb74ff8_1 3.9 MB conda-forge\n", - " libstdcxx-14.2.0 | hc0a3c3a_1 3.7 MB conda-forge\n", - " libstdcxx-devel_linux-64-13.3.0| h84ea5a7_101 13.4 MB conda-forge\n", - " libtiff-4.6.0 | h1dd3fc0_3 276 KB conda-forge\n", - " libutf8proc-2.8.0 | h166bdaf_0 99 KB conda-forge\n", - " libwebp-1.4.0 | h2c329e2_0 90 KB conda-forge\n", - " libwebp-base-1.4.0 | hd590300_0 429 KB conda-forge\n", - " libxcb-1.15 | h0b41bf4_0 375 KB conda-forge\n", - " llvm-openmp-19.1.3 | h024ca30_0 3.0 MB conda-forge\n", - " llvmlite-0.42.0 | py310h1b8f574_1 3.2 MB conda-forge\n", - " logical-unification-0.4.6 | pyhd8ed1ab_0 18 KB conda-forge\n", - " markdown-it-py-3.0.0 | pyhd8ed1ab_0 63 KB conda-forge\n", - " matplotlib-base-3.9.2 | py310h68603db_2 6.7 MB conda-forge\n", - " mdurl-0.1.2 | pyhd8ed1ab_0 14 KB conda-forge\n", - " minikanren-1.0.3 | pyhd8ed1ab_0 23 KB conda-forge\n", - " mkl-2024.2.2 | ha957f24_16 118.9 MB conda-forge\n", - " mkl-service-2.4.2 | py310h22455d7_0 70 KB conda-forge\n", - " multipledispatch-0.6.0 | pyhd8ed1ab_1 17 KB conda-forge\n", - " munkres-1.1.4 | pyh9f0ad1d_0 12 KB conda-forge\n", - " numba-0.59.1 | py310h7dc5dd1_0 4.1 MB conda-forge\n", - " numpy-1.26.4 | py310hb13e2d6_0 6.7 MB conda-forge\n", - " nutpie-0.13.2 | py310h4a6dfd8_0 1.2 MB conda-forge\n", - " openblas-0.3.28 |pthreads_h6ec200e_1 5.5 MB conda-forge\n", - " openjpeg-2.5.2 | h488ebb8_0 334 KB conda-forge\n", - " openssl-3.4.0 | hb9d3cd8_0 2.8 MB conda-forge\n", - " orc-2.0.1 | h17fec99_1 1006 KB conda-forge\n", - " pandas-2.2.3 | py310h5eaa309_1 12.4 MB conda-forge\n", - " pango-1.54.0 | h84a9a3c_0 438 KB conda-forge\n", - " pcre2-10.43 | hcad00b1_0 929 KB conda-forge\n", - " pillow-10.3.0 | py310hf73ecf8_0 39.8 MB conda-forge\n", - " pixman-0.43.2 | h59595ed_0 378 KB conda-forge\n", - " pthread-stubs-0.4 | hb9d3cd8_1002 8 KB conda-forge\n", - " pyarrow-core-16.1.0 |py310h6f79a3a_1_cpu 4.2 MB conda-forge\n", - " pygments-2.18.0 | pyhd8ed1ab_0 859 KB conda-forge\n", - " pymc-5.18.0 | hd8ed1ab_0 11 KB conda-forge\n", - " pymc-base-5.18.0 | pyhd8ed1ab_0 326 KB conda-forge\n", - " pyparsing-3.2.0 | pyhd8ed1ab_1 90 KB conda-forge\n", - " pytensor-2.25.5 | py310ha549d7f_0 9 KB conda-forge\n", - " pytensor-base-2.25.5 | py310h89e8f5a_0 1.7 MB conda-forge\n", - " python-dateutil-2.9.0 | pyhd8ed1ab_0 218 KB conda-forge\n", - " python-graphviz-0.20.3 | pyhe28f650_1 37 KB conda-forge\n", - " python-tzdata-2024.2 | pyhd8ed1ab_0 139 KB conda-forge\n", - " pytz-2024.1 | pyhd8ed1ab_0 184 KB conda-forge\n", - " qhull-2020.2 | h434a139_5 540 KB conda-forge\n", - " re2-2023.09.01 | h7f4b329_2 26 KB conda-forge\n", - " rich-13.9.4 | pyhd8ed1ab_0 181 KB conda-forge\n", - " s2n-1.4.15 | he19d79f_0 341 KB conda-forge\n", - " scipy-1.14.1 | py310hfcf56fc_1 16.1 MB conda-forge\n", - " six-1.16.0 | pyh6c4a22f_0 14 KB conda-forge\n", - " snappy-1.2.1 | ha2e4443_0 41 KB conda-forge\n", - " sysroot_linux-64-2.17 | h4a8ded7_18 14.8 MB conda-forge\n", - " tbb-2021.11.0 | h00ab1b0_1 191 KB conda-forge\n", - " threadpoolctl-3.5.0 | pyhc1e730c_0 23 KB conda-forge\n", - " toolz-1.0.0 | pyhd8ed1ab_0 51 KB conda-forge\n", - " typing-extensions-4.12.2 | hd8ed1ab_0 10 KB conda-forge\n", - " typing_extensions-4.12.2 | pyha770c72_0 39 KB conda-forge\n", - " unicodedata2-15.1.0 | py310ha75aee5_1 359 KB conda-forge\n", - " xarray-2024.10.0 | pyhd8ed1ab_0 795 KB conda-forge\n", - " xarray-einstats-0.8.0 | pyhd8ed1ab_0 33 KB conda-forge\n", - " xorg-kbproto-1.0.7 | hb9d3cd8_1003 30 KB conda-forge\n", - " xorg-libice-1.1.1 | hb9d3cd8_1 57 KB conda-forge\n", - " xorg-libsm-1.2.4 | he73a12e_1 27 KB conda-forge\n", - " xorg-libx11-1.8.9 | h8ee46fc_0 809 KB conda-forge\n", - " xorg-libxau-1.0.11 | hb9d3cd8_1 14 KB conda-forge\n", - " xorg-libxdmcp-1.1.5 | hb9d3cd8_0 19 KB conda-forge\n", - " xorg-libxext-1.3.4 | h0b41bf4_2 49 KB conda-forge\n", - " xorg-libxrender-0.9.11 | hd590300_0 37 KB conda-forge\n", - " xorg-renderproto-0.11.1 | hb9d3cd8_1003 12 KB conda-forge\n", - " xorg-xextproto-7.3.0 | hb9d3cd8_1004 30 KB conda-forge\n", - " xorg-xproto-7.0.31 | hb9d3cd8_1008 72 KB conda-forge\n", - " zlib-1.2.13 | hd590300_5 91 KB conda-forge\n", - " zstandard-0.23.0 | py310ha39cb0e_1 399 KB conda-forge\n", - " zstd-1.5.6 | ha6fb4c9_0 542 KB conda-forge\n", - " ------------------------------------------------------------\n", - " Total: 466.7 MB\n", - "\n", - "The following NEW packages will be INSTALLED:\n", - "\n", - " arviz conda-forge/noarch::arviz-0.20.0-pyhd8ed1ab_0 \n", - " atk-1.0 conda-forge/linux-64::atk-1.0-2.38.0-h04ea711_2 \n", - " aws-c-auth conda-forge/linux-64::aws-c-auth-0.7.22-h96bc93b_2 \n", - " aws-c-cal conda-forge/linux-64::aws-c-cal-0.6.14-h88a6e22_1 \n", - " aws-c-common conda-forge/linux-64::aws-c-common-0.9.19-h4ab18f5_0 \n", - " aws-c-compression conda-forge/linux-64::aws-c-compression-0.2.18-h83b837d_6 \n", - " aws-c-event-stream conda-forge/linux-64::aws-c-event-stream-0.4.2-ha47c788_12 \n", - " aws-c-http conda-forge/linux-64::aws-c-http-0.8.1-h29d6fba_17 \n", - " aws-c-io conda-forge/linux-64::aws-c-io-0.14.8-h21d4f22_5 \n", - " aws-c-mqtt conda-forge/linux-64::aws-c-mqtt-0.10.4-h759edc4_4 \n", - " aws-c-s3 conda-forge/linux-64::aws-c-s3-0.5.9-h594631b_3 \n", - " aws-c-sdkutils conda-forge/linux-64::aws-c-sdkutils-0.1.16-h83b837d_2 \n", - " aws-checksums conda-forge/linux-64::aws-checksums-0.1.18-h83b837d_6 \n", - " aws-crt-cpp conda-forge/linux-64::aws-crt-cpp-0.26.9-he3a8b3b_0 \n", - " aws-sdk-cpp conda-forge/linux-64::aws-sdk-cpp-1.11.329-hba8bd5f_3 \n", - " binutils_impl_lin~ conda-forge/linux-64::binutils_impl_linux-64-2.40-hf600244_0 \n", - " binutils_linux-64 conda-forge/linux-64::binutils_linux-64-2.40-hb3c18ed_9 \n", - " blas conda-forge/linux-64::blas-2.125-openblas \n", - " blas-devel conda-forge/linux-64::blas-devel-3.9.0-25_linux64_openblas \n", - " brotli conda-forge/linux-64::brotli-1.1.0-hd590300_1 \n", - " brotli-bin conda-forge/linux-64::brotli-bin-1.1.0-hd590300_1 \n", - " cached-property conda-forge/noarch::cached-property-1.5.2-hd8ed1ab_1 \n", - " cached_property conda-forge/noarch::cached_property-1.5.2-pyha770c72_1 \n", - " cachetools conda-forge/noarch::cachetools-5.5.0-pyhd8ed1ab_0 \n", - " cairo conda-forge/linux-64::cairo-1.18.0-h3faef2a_0 \n", - " cloudpickle conda-forge/noarch::cloudpickle-3.1.0-pyhd8ed1ab_1 \n", - " cons conda-forge/noarch::cons-0.4.6-pyhd8ed1ab_0 \n", - " contourpy conda-forge/linux-64::contourpy-1.3.0-py310h3788b33_2 \n", - " cycler conda-forge/noarch::cycler-0.12.1-pyhd8ed1ab_0 \n", - " etuples conda-forge/noarch::etuples-0.3.9-pyhd8ed1ab_0 \n", - " expat conda-forge/linux-64::expat-2.6.4-h5888daf_0 \n", - " filelock conda-forge/noarch::filelock-3.16.1-pyhd8ed1ab_0 \n", - " font-ttf-dejavu-s~ conda-forge/noarch::font-ttf-dejavu-sans-mono-2.37-hab24e00_0 \n", - " font-ttf-inconsol~ conda-forge/noarch::font-ttf-inconsolata-3.000-h77eed37_0 \n", - " font-ttf-source-c~ conda-forge/noarch::font-ttf-source-code-pro-2.038-h77eed37_0 \n", - " font-ttf-ubuntu conda-forge/noarch::font-ttf-ubuntu-0.83-h77eed37_3 \n", - " fontconfig conda-forge/linux-64::fontconfig-2.14.2-h14ed4e7_0 \n", - " fonts-conda-ecosy~ conda-forge/noarch::fonts-conda-ecosystem-1-0 \n", - " fonts-conda-forge conda-forge/noarch::fonts-conda-forge-1-0 \n", - " fonttools conda-forge/linux-64::fonttools-4.54.1-py310h89163eb_1 \n", - " freetype conda-forge/linux-64::freetype-2.12.1-h267a509_2 \n", - " fribidi conda-forge/linux-64::fribidi-1.0.10-h36c2ea0_0 \n", - " gcc conda-forge/linux-64::gcc-13.3.0-h9576a4e_1 \n", - " gcc_impl_linux-64 conda-forge/linux-64::gcc_impl_linux-64-13.3.0-hfea6d02_1 \n", - " gcc_linux-64 conda-forge/linux-64::gcc_linux-64-13.3.0-hc28eda2_5 \n", - " gdk-pixbuf conda-forge/linux-64::gdk-pixbuf-2.42.12-hb9ae30d_0 \n", - " gettext conda-forge/linux-64::gettext-0.22.5-he02047a_3 \n", - " gettext-tools conda-forge/linux-64::gettext-tools-0.22.5-he02047a_3 \n", - " gflags conda-forge/linux-64::gflags-2.2.2-h5888daf_1005 \n", - " giflib conda-forge/linux-64::giflib-5.2.2-hd590300_0 \n", - " glog conda-forge/linux-64::glog-0.7.1-hbabe93e_0 \n", - " graphite2 conda-forge/linux-64::graphite2-1.3.13-h59595ed_1003 \n", - " graphviz conda-forge/linux-64::graphviz-9.0.0-h78e8752_1 \n", - " gtk2 conda-forge/linux-64::gtk2-2.24.33-h280cfa0_4 \n", - " gts conda-forge/linux-64::gts-0.7.6-h977cf35_4 \n", - " gxx conda-forge/linux-64::gxx-13.3.0-h9576a4e_1 \n", - " gxx_impl_linux-64 conda-forge/linux-64::gxx_impl_linux-64-13.3.0-hdbfa832_1 \n", - " gxx_linux-64 conda-forge/linux-64::gxx_linux-64-13.3.0-h6834431_5 \n", - " h5netcdf conda-forge/noarch::h5netcdf-1.4.0-pyhd8ed1ab_0 \n", - " h5py conda-forge/linux-64::h5py-3.12.1-nompi_py310h60e0fe6_102 \n", - " harfbuzz conda-forge/linux-64::harfbuzz-8.5.0-hfac3d4d_0 \n", - " hdf5 conda-forge/linux-64::hdf5-1.14.3-nompi_hdf9ad27_105 \n", - " kernel-headers_li~ conda-forge/noarch::kernel-headers_linux-64-3.10.0-he073ed8_18 \n", - " kiwisolver conda-forge/linux-64::kiwisolver-1.4.7-py310h3788b33_0 \n", - " lcms2 conda-forge/linux-64::lcms2-2.16-hb7c19ff_0 \n", - " lerc conda-forge/linux-64::lerc-4.0.0-h27087fc_0 \n", - " libabseil conda-forge/linux-64::libabseil-20240116.2-cxx17_he02047a_1 \n", - " libaec conda-forge/linux-64::libaec-1.1.3-h59595ed_0 \n", - " libarrow conda-forge/linux-64::libarrow-16.1.0-hcb6531f_6_cpu \n", - " libasprintf conda-forge/linux-64::libasprintf-0.22.5-he8f35ee_3 \n", - " libasprintf-devel conda-forge/linux-64::libasprintf-devel-0.22.5-he8f35ee_3 \n", - " libblas conda-forge/linux-64::libblas-3.9.0-25_linux64_openblas \n", - " libbrotlicommon conda-forge/linux-64::libbrotlicommon-1.1.0-hd590300_1 \n", - " libbrotlidec conda-forge/linux-64::libbrotlidec-1.1.0-hd590300_1 \n", - " libbrotlienc conda-forge/linux-64::libbrotlienc-1.1.0-hd590300_1 \n", - " libcblas conda-forge/linux-64::libcblas-3.9.0-25_linux64_openblas \n", - " libcrc32c conda-forge/linux-64::libcrc32c-1.1.2-h9c3ff4c_0 \n", - " libdeflate conda-forge/linux-64::libdeflate-1.20-hd590300_0 \n", - " libexpat conda-forge/linux-64::libexpat-2.6.4-h5888daf_0 \n", - " libgcc conda-forge/linux-64::libgcc-14.2.0-h77fa898_1 \n", - " libgcc-devel_linu~ conda-forge/noarch::libgcc-devel_linux-64-13.3.0-h84ea5a7_101 \n", - " libgd conda-forge/linux-64::libgd-2.3.3-h119a65a_9 \n", - " libgettextpo conda-forge/linux-64::libgettextpo-0.22.5-he02047a_3 \n", - " libgettextpo-devel conda-forge/linux-64::libgettextpo-devel-0.22.5-he02047a_3 \n", - " libgfortran conda-forge/linux-64::libgfortran-14.2.0-h69a702a_1 \n", - " libgfortran-ng conda-forge/linux-64::libgfortran-ng-14.2.0-h69a702a_1 \n", - " libgfortran5 conda-forge/linux-64::libgfortran5-14.2.0-hd5240d6_1 \n", - " libglib conda-forge/linux-64::libglib-2.80.2-hf974151_0 \n", - " libgoogle-cloud conda-forge/linux-64::libgoogle-cloud-2.24.0-h2736e30_0 \n", - " libgoogle-cloud-s~ conda-forge/linux-64::libgoogle-cloud-storage-2.24.0-h3d9a0c8_0 \n", - " libgrpc conda-forge/linux-64::libgrpc-1.62.2-h15f2491_0 \n", - " libhwloc conda-forge/linux-64::libhwloc-2.9.3-default_h554bfaf_1009 \n", - " libjpeg-turbo conda-forge/linux-64::libjpeg-turbo-3.0.0-hd590300_1 \n", - " liblapack conda-forge/linux-64::liblapack-3.9.0-25_linux64_openblas \n", - " liblapacke conda-forge/linux-64::liblapacke-3.9.0-25_linux64_openblas \n", - " libllvm14 conda-forge/linux-64::libllvm14-14.0.6-hcd5def8_4 \n", - " libopenblas conda-forge/linux-64::libopenblas-0.3.28-pthreads_h94d23a6_1 \n", - " libpng conda-forge/linux-64::libpng-1.6.43-h2797004_0 \n", - " libprotobuf conda-forge/linux-64::libprotobuf-4.25.3-h08a7969_0 \n", - " libre2-11 conda-forge/linux-64::libre2-11-2023.09.01-h5a48ba9_2 \n", - " librsvg conda-forge/linux-64::librsvg-2.56.3-he3f83f7_1 \n", - " libsanitizer conda-forge/linux-64::libsanitizer-13.3.0-heb74ff8_1 \n", - " libstdcxx conda-forge/linux-64::libstdcxx-14.2.0-hc0a3c3a_1 \n", - " libstdcxx-devel_l~ conda-forge/noarch::libstdcxx-devel_linux-64-13.3.0-h84ea5a7_101 \n", - " libtiff conda-forge/linux-64::libtiff-4.6.0-h1dd3fc0_3 \n", - " libutf8proc conda-forge/linux-64::libutf8proc-2.8.0-h166bdaf_0 \n", - " libwebp conda-forge/linux-64::libwebp-1.4.0-h2c329e2_0 \n", - " libwebp-base conda-forge/linux-64::libwebp-base-1.4.0-hd590300_0 \n", - " libxcb conda-forge/linux-64::libxcb-1.15-h0b41bf4_0 \n", - " llvm-openmp conda-forge/linux-64::llvm-openmp-19.1.3-h024ca30_0 \n", - " llvmlite conda-forge/linux-64::llvmlite-0.42.0-py310h1b8f574_1 \n", - " logical-unificati~ conda-forge/noarch::logical-unification-0.4.6-pyhd8ed1ab_0 \n", - " markdown-it-py conda-forge/noarch::markdown-it-py-3.0.0-pyhd8ed1ab_0 \n", - " matplotlib-base conda-forge/linux-64::matplotlib-base-3.9.2-py310h68603db_2 \n", - " mdurl conda-forge/noarch::mdurl-0.1.2-pyhd8ed1ab_0 \n", - " minikanren conda-forge/noarch::minikanren-1.0.3-pyhd8ed1ab_0 \n", - " mkl conda-forge/linux-64::mkl-2024.2.2-ha957f24_16 \n", - " mkl-service conda-forge/linux-64::mkl-service-2.4.2-py310h22455d7_0 \n", - " multipledispatch conda-forge/noarch::multipledispatch-0.6.0-pyhd8ed1ab_1 \n", - " munkres conda-forge/noarch::munkres-1.1.4-pyh9f0ad1d_0 \n", - " numba conda-forge/linux-64::numba-0.59.1-py310h7dc5dd1_0 \n", - " numpy conda-forge/linux-64::numpy-1.26.4-py310hb13e2d6_0 \n", - " nutpie conda-forge/linux-64::nutpie-0.13.2-py310h4a6dfd8_0 \n", - " openblas conda-forge/linux-64::openblas-0.3.28-pthreads_h6ec200e_1 \n", - " openjpeg conda-forge/linux-64::openjpeg-2.5.2-h488ebb8_0 \n", - " orc conda-forge/linux-64::orc-2.0.1-h17fec99_1 \n", - " pandas conda-forge/linux-64::pandas-2.2.3-py310h5eaa309_1 \n", - " pango conda-forge/linux-64::pango-1.54.0-h84a9a3c_0 \n", - " pcre2 conda-forge/linux-64::pcre2-10.43-hcad00b1_0 \n", - " pillow conda-forge/linux-64::pillow-10.3.0-py310hf73ecf8_0 \n", - " pixman conda-forge/linux-64::pixman-0.43.2-h59595ed_0 \n", - " pthread-stubs conda-forge/linux-64::pthread-stubs-0.4-hb9d3cd8_1002 \n", - " pyarrow-core conda-forge/linux-64::pyarrow-core-16.1.0-py310h6f79a3a_1_cpu \n", - " pygments conda-forge/noarch::pygments-2.18.0-pyhd8ed1ab_0 \n", - " pymc conda-forge/noarch::pymc-5.18.0-hd8ed1ab_0 \n", - " pymc-base conda-forge/noarch::pymc-base-5.18.0-pyhd8ed1ab_0 \n", - " pyparsing conda-forge/noarch::pyparsing-3.2.0-pyhd8ed1ab_1 \n", - " pytensor conda-forge/linux-64::pytensor-2.25.5-py310ha549d7f_0 \n", - " pytensor-base conda-forge/linux-64::pytensor-base-2.25.5-py310h89e8f5a_0 \n", - " python-dateutil conda-forge/noarch::python-dateutil-2.9.0-pyhd8ed1ab_0 \n", - " python-graphviz conda-forge/noarch::python-graphviz-0.20.3-pyhe28f650_1 \n", - " python-tzdata conda-forge/noarch::python-tzdata-2024.2-pyhd8ed1ab_0 \n", - " pytz conda-forge/noarch::pytz-2024.1-pyhd8ed1ab_0 \n", - " qhull conda-forge/linux-64::qhull-2020.2-h434a139_5 \n", - " re2 conda-forge/linux-64::re2-2023.09.01-h7f4b329_2 \n", - " rich conda-forge/noarch::rich-13.9.4-pyhd8ed1ab_0 \n", - " s2n conda-forge/linux-64::s2n-1.4.15-he19d79f_0 \n", - " scipy conda-forge/linux-64::scipy-1.14.1-py310hfcf56fc_1 \n", - " six conda-forge/noarch::six-1.16.0-pyh6c4a22f_0 \n", - " snappy conda-forge/linux-64::snappy-1.2.1-ha2e4443_0 \n", - " sysroot_linux-64 conda-forge/noarch::sysroot_linux-64-2.17-h4a8ded7_18 \n", - " tbb conda-forge/linux-64::tbb-2021.11.0-h00ab1b0_1 \n", - " threadpoolctl conda-forge/noarch::threadpoolctl-3.5.0-pyhc1e730c_0 \n", - " toolz conda-forge/noarch::toolz-1.0.0-pyhd8ed1ab_0 \n", - " typing-extensions conda-forge/noarch::typing-extensions-4.12.2-hd8ed1ab_0 \n", - " typing_extensions conda-forge/noarch::typing_extensions-4.12.2-pyha770c72_0 \n", - " unicodedata2 conda-forge/linux-64::unicodedata2-15.1.0-py310ha75aee5_1 \n", - " xarray conda-forge/noarch::xarray-2024.10.0-pyhd8ed1ab_0 \n", - " xarray-einstats conda-forge/noarch::xarray-einstats-0.8.0-pyhd8ed1ab_0 \n", - " xorg-kbproto conda-forge/linux-64::xorg-kbproto-1.0.7-hb9d3cd8_1003 \n", - " xorg-libice conda-forge/linux-64::xorg-libice-1.1.1-hb9d3cd8_1 \n", - " xorg-libsm conda-forge/linux-64::xorg-libsm-1.2.4-he73a12e_1 \n", - " xorg-libx11 conda-forge/linux-64::xorg-libx11-1.8.9-h8ee46fc_0 \n", - " xorg-libxau conda-forge/linux-64::xorg-libxau-1.0.11-hb9d3cd8_1 \n", - " xorg-libxdmcp conda-forge/linux-64::xorg-libxdmcp-1.1.5-hb9d3cd8_0 \n", - " xorg-libxext conda-forge/linux-64::xorg-libxext-1.3.4-h0b41bf4_2 \n", - " xorg-libxrender conda-forge/linux-64::xorg-libxrender-0.9.11-hd590300_0 \n", - " xorg-renderproto conda-forge/linux-64::xorg-renderproto-0.11.1-hb9d3cd8_1003 \n", - " xorg-xextproto conda-forge/linux-64::xorg-xextproto-7.3.0-hb9d3cd8_1004 \n", - " xorg-xproto conda-forge/linux-64::xorg-xproto-7.0.31-hb9d3cd8_1008 \n", - " zlib conda-forge/linux-64::zlib-1.2.13-hd590300_5 \n", - "\n", - "The following packages will be UPDATED:\n", - "\n", - " c-ares 1.24.0-hd590300_0 --> 1.34.3-heb4867d_0 \n", - " ca-certificates 2023.11.17-hbcca054_0 --> 2024.8.30-hbcca054_0 \n", - " certifi 2023.11.17-pyhd8ed1ab_0 --> 2024.8.30-pyhd8ed1ab_0 \n", - " libcurl 8.5.0-hca28451_0 --> 8.8.0-hca28451_0 \n", - " libgcc-ng 13.2.0-h807b86a_3 --> 14.2.0-h69a702a_1 \n", - " libgomp 13.2.0-h807b86a_3 --> 14.2.0-h77fa898_1 \n", - " openssl 3.2.0-hd590300_1 --> 3.4.0-hb9d3cd8_0 \n", - " zstandard 0.22.0-py310h1275a96_0 --> 0.23.0-py310ha39cb0e_1 \n", - " zstd 1.5.5-hfc55251_0 --> 1.5.6-ha6fb4c9_0 \n", - "\n", - "The following packages will be DOWNGRADED:\n", - "\n", - " _openmp_mutex 4.5-2_gnu --> 4.5-2_kmp_llvm \n", - "\n", - "\n", - "\n", - "Downloading and Extracting Packages:\n", - "mkl-2024.2.2 | 118.9 MB | : 0% 0/1 [00:00 WARNING: A newer version of conda exists. <==\n", - " current version: 23.11.0\n", - " latest version: 24.9.2\n", - "\n", - "Please update conda by running\n", - "\n", - " $ conda update -n base -c conda-forge conda\n", - "\n", - "\n", - "\n", - "## Package Plan ##\n", - "\n", - " environment location: /usr/local\n", - "\n", - " added / updated specs:\n", - " - cpuonly\n", - " - pytorch\n", - " - torchaudio\n", - " - torchvision\n", - "\n", - "\n", - "The following packages will be downloaded:\n", - "\n", - " package | build\n", - " ---------------------------|-----------------\n", - " blas-2.116 | mkl 13 KB conda-forge\n", - " blas-devel-3.9.0 | 16_linux64_mkl 12 KB conda-forge\n", - " cpuonly-2.0 | 0 2 KB pytorch\n", - " ffmpeg-4.3 | hf484d3e_0 9.9 MB pytorch\n", - " gmp-6.3.0 | hac33072_2 449 KB conda-forge\n", - " gmpy2-2.1.5 | py310he8512ff_2 199 KB conda-forge\n", - " gnutls-3.6.13 | h85f3911_1 2.0 MB conda-forge\n", - " jinja2-3.1.4 | pyhd8ed1ab_0 109 KB conda-forge\n", - " lame-3.100 | h166bdaf_1003 496 KB conda-forge\n", - " libblas-3.9.0 | 16_linux64_mkl 13 KB conda-forge\n", - " libcblas-3.9.0 | 16_linux64_mkl 12 KB conda-forge\n", - " liblapack-3.9.0 | 16_linux64_mkl 12 KB conda-forge\n", - " liblapacke-3.9.0 | 16_linux64_mkl 12 KB conda-forge\n", - " llvm-openmp-15.0.7 | h0cdce71_0 3.1 MB conda-forge\n", - " markupsafe-3.0.2 | py310h89163eb_0 22 KB conda-forge\n", - " mkl-2022.1.0 | h84fe81f_915 199.6 MB conda-forge\n", - " mkl-devel-2022.1.0 | ha770c72_916 25 KB conda-forge\n", - " mkl-include-2022.1.0 | h84fe81f_915 745 KB conda-forge\n", - " mkl-service-2.4.0 | py310h9263142_0 56 KB conda-forge\n", - " mpc-1.3.1 | h24ddda3_1 114 KB conda-forge\n", - " mpfr-4.2.1 | h90cbb55_3 620 KB conda-forge\n", - " mpmath-1.3.0 | pyhd8ed1ab_0 428 KB conda-forge\n", - " nettle-3.6 | he412f7d_0 6.5 MB conda-forge\n", - " networkx-3.4.2 | pyhd8ed1ab_1 1.1 MB conda-forge\n", - " openh264-2.1.1 | h780b84a_0 1.5 MB conda-forge\n", - " pytorch-2.5.1 | py3.10_cpu_0 88.1 MB pytorch\n", - " pytorch-mutex-1.0 | cpu 3 KB pytorch\n", - " pyyaml-6.0.2 | py310ha75aee5_1 178 KB conda-forge\n", - " sympy-1.13.3 | pypyh2585a3b_103 4.4 MB conda-forge\n", - " torchaudio-2.5.1 | py310_cpu 5.0 MB pytorch\n", - " torchvision-0.20.1 | py310_cpu 6.9 MB pytorch\n", - " yaml-0.2.5 | h7f98852_2 87 KB conda-forge\n", - " ------------------------------------------------------------\n", - " Total: 331.6 MB\n", - "\n", - "The following NEW packages will be INSTALLED:\n", - "\n", - " cpuonly pytorch/noarch::cpuonly-2.0-0 \n", - " ffmpeg pytorch/linux-64::ffmpeg-4.3-hf484d3e_0 \n", - " gmp conda-forge/linux-64::gmp-6.3.0-hac33072_2 \n", - " gmpy2 conda-forge/linux-64::gmpy2-2.1.5-py310he8512ff_2 \n", - " gnutls conda-forge/linux-64::gnutls-3.6.13-h85f3911_1 \n", - " jinja2 conda-forge/noarch::jinja2-3.1.4-pyhd8ed1ab_0 \n", - " lame conda-forge/linux-64::lame-3.100-h166bdaf_1003 \n", - " markupsafe conda-forge/linux-64::markupsafe-3.0.2-py310h89163eb_0 \n", - " mkl-devel conda-forge/linux-64::mkl-devel-2022.1.0-ha770c72_916 \n", - " mkl-include conda-forge/linux-64::mkl-include-2022.1.0-h84fe81f_915 \n", - " mpc conda-forge/linux-64::mpc-1.3.1-h24ddda3_1 \n", - " mpfr conda-forge/linux-64::mpfr-4.2.1-h90cbb55_3 \n", - " mpmath conda-forge/noarch::mpmath-1.3.0-pyhd8ed1ab_0 \n", - " nettle conda-forge/linux-64::nettle-3.6-he412f7d_0 \n", - " networkx conda-forge/noarch::networkx-3.4.2-pyhd8ed1ab_1 \n", - " openh264 conda-forge/linux-64::openh264-2.1.1-h780b84a_0 \n", - " pytorch pytorch/linux-64::pytorch-2.5.1-py3.10_cpu_0 \n", - " pytorch-mutex pytorch/noarch::pytorch-mutex-1.0-cpu \n", - " pyyaml conda-forge/linux-64::pyyaml-6.0.2-py310ha75aee5_1 \n", - " sympy conda-forge/noarch::sympy-1.13.3-pypyh2585a3b_103 \n", - " torchaudio pytorch/linux-64::torchaudio-2.5.1-py310_cpu \n", - " torchvision pytorch/linux-64::torchvision-0.20.1-py310_cpu \n", - " yaml conda-forge/linux-64::yaml-0.2.5-h7f98852_2 \n", - "\n", - "The following packages will be DOWNGRADED:\n", - "\n", - " blas 2.125-openblas --> 2.116-mkl \n", - " blas-devel 3.9.0-25_linux64_openblas --> 3.9.0-16_linux64_mkl \n", - " libblas 3.9.0-25_linux64_openblas --> 3.9.0-16_linux64_mkl \n", - " libcblas 3.9.0-25_linux64_openblas --> 3.9.0-16_linux64_mkl \n", - " liblapack 3.9.0-25_linux64_openblas --> 3.9.0-16_linux64_mkl \n", - " liblapacke 3.9.0-25_linux64_openblas --> 3.9.0-16_linux64_mkl \n", - " llvm-openmp 19.1.3-h024ca30_0 --> 15.0.7-h0cdce71_0 \n", - " mkl 2024.2.2-ha957f24_16 --> 2022.1.0-h84fe81f_915 \n", - " mkl-service 2.4.2-py310h22455d7_0 --> 2.4.0-py310h9263142_0 \n", - "\n", - "\n", - "\n", - "Downloading and Extracting Packages:\n", - "mkl-2022.1.0 | 199.6 MB | : 0% 0/1 [00:00 Date: Tue, 12 Nov 2024 15:56:33 +0100 Subject: [PATCH 54/68] Created using Colab --- notebooks/pcntk_colab_env.ipynb | 263 +++++++++++++++++++++++++++----- 1 file changed, 228 insertions(+), 35 deletions(-) diff --git a/notebooks/pcntk_colab_env.ipynb b/notebooks/pcntk_colab_env.ipynb index 0dc879ef..9b5ae128 100644 --- a/notebooks/pcntk_colab_env.ipynb +++ b/notebooks/pcntk_colab_env.ipynb @@ -4,7 +4,7 @@ "metadata": { "colab": { "provenance": [], - "authorship_tag": "ABX9TyPhmRD2D0nfPuaeSc4uS/Q+", + "authorship_tag": "ABX9TyNpr04OpO9Ta6c7GFsTKsic", "include_colab_link": true }, "kernelspec": { @@ -13,6 +13,89 @@ }, "language_info": { "name": "python" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "76210a49be1144d58d8ed3b02aadbe72": { + "model_module": "@jupyter-widgets/output", + "model_name": "OutputModel", + "model_module_version": "1.0.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_a868d75a2c2849bca3edd651767b54f1", + "msg_id": "", + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "Sampling chain 0, 0 divergences \u001b[38;2;23;100;244m━━━━━━━━━\u001b[0m\u001b[38;2;23;100;244m╸\u001b[0m\u001b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[35m 25%\u001b[0m \u001b[36m0:32:20\u001b[0m / \u001b[33m0:06:35\u001b[0m\n", + "text/html": "

Sampling chain 0, 0 divergences ━━━━━━━━━╸━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  25% 0:32:20 / 0:06:35\n
\n" + }, + "metadata": {} + } + ] + } + }, + "a868d75a2c2849bca3edd651767b54f1": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + } + } } }, "cells": [ @@ -29,14 +112,7 @@ { "cell_type": "code", "source": [ - "## Install condacolab, which will enable us to install using conda\n", - "## Outcomment this cell after the kernel has automatically restarted\n", - "import os\n", - "os.environ['PYTHONPATH'] = \"\" # Need to clear the pythonpath to avoid some errors\n", - "!echo \"pythonpath: $PYTHONPATH\"\n", - "!pip install -q condacolab\n", - "import condacolab\n", - "condacolab.install()" + "!pip install pcntoolkit" ], "metadata": { "id": "WtVP1BD3eKjV" @@ -47,45 +123,162 @@ { "cell_type": "code", "source": [ - "# Check if condacolab works\n", - "import condacolab\n", - "condacolab.check()\n", + "# %%\n", + "from warnings import filterwarnings\n", "\n", - "# Install libraries with optimized dependencies (BLAS and Rust) using conda\n", - "!conda install pymc numba nutpie -c conda-forge\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import os\n", "\n", - "# Install CPU only verion of torch using conda (go to https://pytorch.org/get-started/locally/ if you need another version for your platform)\n", - "!conda install pytorch torchvision torchaudio cpuonly -c pytorch\n", + "from pcntoolkit.normative_model.norm_utils import norm_init\n", + "from pcntoolkit.util.utils import simulate_data\n", + "\n", + "filterwarnings(\"ignore\")\n", + "\n", + "\n", + "########################### Experiment Settings ###############################\n", "\n", - "# # Install the pcntoolkit\n", - "!pip install https://github.com/amarquand/PCNtoolkit/archive/dev.zip" - ], - "metadata": { - "id": "cb4xm679kxnE", - "collapsed": true - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "import pcntoolkit as ptk\n", "\n", - "### If you get an error about a cffi version mismatch, bright the site-packages version of cffi up to the dist-packages version using the following line\n", - "# !pip install --upgrade cffi==1.17.1 # works if dist-packages version is 1.17.1" + "random_state = 40\n", + "working_dir = \"temp\" # Specify a working directory to save data and results.\n", + "os.makedirs(working_dir, exist_ok=True)\n", + "simulation_method = \"linear\"\n", + "n_features = 1 # The number of input features of X\n", + "n_grps = 3 # Number of batches in data\n", + "n_samples = 500 # Number of samples in each group (use a list for different\n", + "# sample numbers across different batches)\n", + "\n", + "model_type = \"bspline\" # modelto try 'linear, ''polynomial', 'bspline'\n", + "\n", + "\n", + "############################## Data Simulation ################################\n", + "\n", + "\n", + "X_train, Y_train, grp_id_train, X_test, Y_test, grp_id_test, coef = simulate_data(\n", + " simulation_method,\n", + " n_samples,\n", + " n_features,\n", + " n_grps,\n", + " working_dir=working_dir,\n", + " plot=True,\n", + " noise=\"heteroscedastic_nongaussian\",\n", + " random_state=random_state,\n", + ")\n", + "\n", + "################################# Fittig and Predicting ###############################\n", + "\n", + "nm = norm_init(\n", + " X_train,\n", + " Y_train,\n", + " alg=\"hbr\",\n", + " model_type=model_type,\n", + " likelihood=\"SHASHb\",\n", + " linear_sigma=\"True\",\n", + " random_slope_mu=\"False\",\n", + " linear_epsilon=\"False\",\n", + " linear_delta=\"False\",\n", + " nuts_sampler=\"nutpie\",\n", + ")\n", + "\n", + "nm.estimate(X_train, Y_train, trbefile=os.path.join(working_dir, \"trbefile.pkl\"))\n", + "yhat, ys2 = nm.predict(X_test, tsbefile=os.path.join(working_dir, \"tsbefile.pkl\"))\n", + "\n", + "\n", + "################################# Plotting Quantiles ###############################\n", + "for i in range(n_features):\n", + " sorted_idx = X_test[:, i].argsort(axis=0).squeeze()\n", + " temp_X = X_test[sorted_idx, i]\n", + " temp_Y = Y_test[sorted_idx,]\n", + " temp_be = grp_id_test[sorted_idx, :].squeeze()\n", + " temp_yhat = yhat[sorted_idx,]\n", + " temp_s2 = ys2[sorted_idx,]\n", + "\n", + " plt.figure()\n", + " for j in range(n_grps):\n", + " scat1 = plt.scatter(\n", + " temp_X[temp_be == j,], temp_Y[temp_be == j,], label=\"Group\" + str(j)\n", + " )\n", + " # Showing the quantiles\n", + " resolution = 200\n", + " synth_X = np.linspace(np.min(X_train), np.max(X_train), resolution)\n", + " q = nm.get_mcmc_quantiles(synth_X, batch_effects=j * np.ones(resolution))\n", + " col = scat1.get_facecolors()[0]\n", + " plt.plot(synth_X, q.T, linewidth=1, color=col, zorder=0)\n", + "\n", + " plt.title(\"Model %s, Feature %d\" % (model_type, i))\n", + " plt.legend()\n", + " plt.show(block=False)\n", + " plt.savefig(working_dir + \"quantiles_\" + model_type + \"_feature_\" + str(i) + \".png\")\n", + "\n", + " for j in range(n_grps):\n", + " plt.figure()\n", + " plt.scatter(temp_X[temp_be == j,], temp_Y[temp_be == j,])\n", + " plt.plot(temp_X[temp_be == j,], temp_yhat[temp_be == j,], color=\"red\")\n", + " plt.fill_between(\n", + " temp_X[temp_be == j,].squeeze(),\n", + " (temp_yhat[temp_be == j,] - 2 * np.sqrt(temp_s2[temp_be == j,])).squeeze(),\n", + " (temp_yhat[temp_be == j,] + 2 * np.sqrt(temp_s2[temp_be == j,])).squeeze(),\n", + " color=\"red\",\n", + " alpha=0.2,\n", + " )\n", + " plt.title(\"Model %s, Group %d, Feature %d\" % (model_type, j, i))\n", + " plt.show(block=False)\n", + " plt.savefig(\n", + " working_dir\n", + " + \"pred_\"\n", + " + model_type\n", + " + \"_group_\"\n", + " + str(j)\n", + " + \"_feature_\"\n", + " + str(i)\n", + " + \".png\"\n", + " )" ], "metadata": { - "id": "AAtKC6emj8Rn" + "colab": { + "base_uri": "https://localhost:8080/", + "height": 129, + "referenced_widgets": [ + "76210a49be1144d58d8ed3b02aadbe72", + "a868d75a2c2849bca3edd651767b54f1" + ] + }, + "id": "CuoBYP1g2I20", + "outputId": "ca033c81-ab9b-4cda-938d-73e19c7360ca" }, "execution_count": null, - "outputs": [] + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.10/dist-packages/pytensor/tensor/random/op.py:84: FutureWarning: ndim_supp is deprecated. Provide signature instead.\n", + " warnings.warn(\n", + "/usr/local/lib/python3.10/dist-packages/pytensor/tensor/random/op.py:94: FutureWarning: ndims_params is deprecated. Provide signature instead.\n", + " warnings.warn(\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Output()" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "76210a49be1144d58d8ed3b02aadbe72" + } + }, + "metadata": {} + } + ] }, { "cell_type": "code", "source": [], "metadata": { - "id": "JZlmznTwoH_t" + "id": "L9gKL8bz2Jj4" }, "execution_count": null, "outputs": [] From 06ad20dc77c8e60b7c677a15633e562a6bb6af6b Mon Sep 17 00:00:00 2001 From: Stijn Date: Wed, 13 Nov 2024 18:02:21 +0100 Subject: [PATCH 55/68] Add nicer entrypoint for normative and basic cli testing --- pcntoolkit/normative.py | 66 +++++++++++++++++------------------ pcntoolkit/util/utils.py | 4 +-- pyproject.toml | 4 ++- tests/cli_test/split_data.py | 67 ++++++++++++++++++++++++++++++++++++ tests/cli_test/test_cli.sh | 18 ++++++++++ tests/profile_trendsurf.py | 5 +-- tests/test_normative.py | 7 ++-- 7 files changed, 128 insertions(+), 43 deletions(-) create mode 100644 tests/cli_test/split_data.py create mode 100755 tests/cli_test/test_cli.sh diff --git a/pcntoolkit/normative.py b/pcntoolkit/normative.py index 9d885315..a46a3942 100755 --- a/pcntoolkit/normative.py +++ b/pcntoolkit/normative.py @@ -110,71 +110,62 @@ def get_args(*args): :returns configparam: Parameters controlling the estimation algorithm :returns kw_args: Additional keyword arguments """ - + args = args[0][0] + print(args) # parse arguments parser = argparse.ArgumentParser(description="Normative Modeling") - parser.add_argument("responses") - parser.add_argument("-f", help="Function to call", dest="func", - default="estimate") + parser.add_argument("respfile", help="Response variables for the normative model") + parser.add_argument("-f", help="Function to call", dest="func", default="estimate") parser.add_argument("-m", help="mask file", dest="maskfile", default=None) - parser.add_argument("-c", help="covariates file", dest="covfile", - default=None) - parser.add_argument("-k", help="cross-validation folds", dest="cvfolds", - default=None) - parser.add_argument("-t", help="covariates (test data)", dest="testcov", - default=None) - parser.add_argument("-r", help="responses (test data)", dest="testresp", - default=None) + parser.add_argument("-c", help="covariates file", dest="covfile", default=None) + parser.add_argument("-k", help="cross-validation folds", dest="cvfolds", default=None) + parser.add_argument("-t", help="covariates (test data)", dest="testcov", default=None) + parser.add_argument("-r", help="responses (test data)", dest="testresp", default=None) parser.add_argument("-a", help="algorithm", dest="alg", default="gpr") - parser.add_argument("-x", help="algorithm specific config options", - dest="configparam", default=None) - # parser.add_argument('-s', action='store_false', - # help="Flag to skip standardization.", dest="standardize") - parser.add_argument("keyword_args", nargs=argparse.REMAINDER) - - args = parser.parse_args() + parser.add_argument("-x", help="algorithm specific config options", dest="configparam", default=None) + parsed_args, keyword_args = parser.parse_known_args(args) - # Process required arguemnts + # Process required arguments wdir = os.path.realpath(os.path.curdir) - respfile = os.path.join(wdir, args.responses) - if args.covfile is None: + respfile = os.path.join(wdir, parsed_args.respfile) + if parsed_args.covfile is None: raise ValueError("No covariates specified") else: - covfile = args.covfile + covfile = parsed_args.covfile # Process optional arguments - if args.maskfile is None: + if parsed_args.maskfile is None: maskfile = None else: - maskfile = os.path.join(wdir, args.maskfile) - if args.testcov is None and args.cvfolds is not None: + maskfile = os.path.join(wdir, parsed_args.maskfile) + if parsed_args.testcov is None and parsed_args.cvfolds is not None: testcov = None testresp = None - cvfolds = int(args.cvfolds) + cvfolds = int(parsed_args.cvfolds) print("Running under " + str(cvfolds) + " fold cross-validation.") else: print("Test covariates specified") - testcov = args.testcov + testcov = parsed_args.testcov cvfolds = None - if args.testresp is None: + if parsed_args.testresp is None: testresp = None print("No test response variables specified") else: - testresp = args.testresp - if args.cvfolds is not None: + testresp = parsed_args.testresp + if parsed_args.cvfolds is not None: print("Ignoring cross-valdation specification (test data given)") # Process addtional keyword arguments. These are always added as strings kw_args = {} - for kw in args.keyword_args: + for kw in keyword_args: kw_arg = kw.split('=') exec("kw_args.update({'" + kw_arg[0] + "' : " + "'" + str(kw_arg[1]) + "'" + "})") return respfile, maskfile, covfile, cvfolds, \ - testcov, testresp, args.func, args.alg, \ - args.configparam, kw_args + testcov, testresp, parsed_args.func, parsed_args.alg, \ + parsed_args.configparam, kw_args def evaluate(Y, Yhat, S2=None, mY=None, sY=None, nlZ=None, nm=None, Xz_tr=None, alg=None, @@ -387,7 +378,9 @@ def estimate(covfile, respfile, **kwargs): # '_' is in the outputsuffix to # avoid file name parsing problem. inscaler = kwargs.pop('inscaler', 'None') + print(f"inscaler: {inscaler}") outscaler = kwargs.pop('outscaler', 'None') + print(f"outscaler: {outscaler}") warp = kwargs.get('warp', None) # convert from strings if necessary @@ -670,6 +663,8 @@ def fit(covfile, respfile, **kwargs): outputsuffix = "_" + outputsuffix.replace("_", "") inscaler = kwargs.pop('inscaler', 'None') outscaler = kwargs.pop('outscaler', 'None') + print(f"inscaler: {inscaler}") + print(f"outscaler: {outscaler}") if savemodel and not os.path.isdir('Models'): os.mkdir('Models') @@ -1546,6 +1541,9 @@ def main(*args): # Executing the target function exec(func + '(' + all_args + ')') +def entrypoint(): + main(sys.argv[1:]) + # For running from the command line: if __name__ == "__main__": diff --git a/pcntoolkit/util/utils.py b/pcntoolkit/util/utils.py index 6e49becc..f04ae211 100644 --- a/pcntoolkit/util/utils.py +++ b/pcntoolkit/util/utils.py @@ -126,7 +126,7 @@ def create_design_matrix(X, intercept=True, basis='bspline', N = X.shape[0] - if type(X) is pd.DataFrame: + if isinstance(X, pd.DataFrame): X = X.to_numpy() # add intercept column @@ -149,7 +149,7 @@ def create_design_matrix(X, intercept=True, basis='bspline', else: # site ids are defined # make sure the data are in pandas format - if type(site_ids) is not pd.Series: + if not isinstance(site_ids, pd.Series): site_ids = pd.Series(data=site_ids) # site_ids = pd.Series(data=site_ids) diff --git a/pyproject.toml b/pyproject.toml index 6981a939..9a082e4a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,7 +23,9 @@ ipywidgets = "^8.1.5" black = "^24.10.0" ipykernel = "^6.29.5" - [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" + +[tool.poetry.scripts] +normative = "pcntoolkit.normative:entrypoint" diff --git a/tests/cli_test/split_data.py b/tests/cli_test/split_data.py new file mode 100644 index 00000000..b522700a --- /dev/null +++ b/tests/cli_test/split_data.py @@ -0,0 +1,67 @@ +import argparse +import os + +import numpy as np +import pandas as pd + +# Import train_test_split from sklearn +from sklearn.model_selection import train_test_split + +# Import the StandardScaler from sklearn +from sklearn.preprocessing import StandardScaler + +from pcntoolkit.util.utils import create_design_matrix + + +def main(): + + np.random.seed(42) + + parser = argparse.ArgumentParser() + parser.add_argument("--input_file", type=str, required=True) + parser.add_argument("--output_dir", type=str, required=True) + args = parser.parse_args() + + print(f"Splitting the data located at {args.input_file} into train and test covariates, responses and batch effects...") + df = pd.read_csv(args.input_file) + cov = df['age'] + resp = df[['SubCortGrayVol','Left-Hippocampus','Brain-Stem','CSF']] + be = df['site'] + + # Standardize the covariates and responses + cov = StandardScaler().fit_transform(cov.to_numpy()[:,np.newaxis]) + resp = StandardScaler().fit_transform(resp.to_numpy()) + + # Map the batch effects to integers + be_ids = np.unique(be, return_inverse=True)[1] + + # Get the min and max of the covariates + xmin = min(cov) + xmax = max(cov) + + # Split the data into training and test sets + train_idx, test_idx = train_test_split(np.arange(len(cov)), test_size=0.2, random_state=42, stratify=be_ids) + + + # Create the design matrices + mean_basis = 'linear' + var_basis = 'linear' + Phi_tr = create_design_matrix(cov[train_idx], basis=mean_basis, xmin=xmin, xmax=xmax, intercept=False, site_ids=be_ids[train_idx]) + Phi_var_tr = create_design_matrix(cov[train_idx], basis=var_basis, xmin=xmin, xmax=xmax, intercept=False) + Phi_te = create_design_matrix(cov[test_idx], basis=mean_basis, xmin=xmin, xmax=xmax, intercept=False, site_ids=be_ids[test_idx]) + Phi_var_te = create_design_matrix(cov[test_idx], basis=var_basis, xmin=xmin, xmax=xmax, intercept=False) + + # Save everything + pd.to_pickle(pd.DataFrame(Phi_tr), os.path.join(args.output_dir, f'X_tr_{args.input_file.split("/")[-1]}.pkl')) + pd.to_pickle(pd.DataFrame(Phi_var_tr), os.path.join(args.output_dir, f'X_var_tr_{args.input_file.split("/")[-1]}.pkl')) + pd.to_pickle(pd.DataFrame(Phi_te), os.path.join(args.output_dir, f'X_te_{args.input_file.split("/")[-1]}.pkl')) + pd.to_pickle(pd.DataFrame(Phi_var_te), os.path.join(args.output_dir, f'X_var_te_{args.input_file.split("/")[-1]}.pkl')) + pd.to_pickle(pd.DataFrame(resp[train_idx]), os.path.join(args.output_dir, f'Y_tr_{args.input_file.split("/")[-1]}.pkl')) + pd.to_pickle(pd.DataFrame(resp[test_idx]), os.path.join(args.output_dir, f'Y_te_{args.input_file.split("/")[-1]}.pkl')) + pd.to_pickle(be[train_idx], os.path.join(args.output_dir, f'be_tr_{args.input_file.split("/")[-1]}.pkl')) + pd.to_pickle(be[test_idx], os.path.join(args.output_dir, f'be_te_{args.input_file.split("/")[-1]}.pkl')) + + print(f"Done! The files can be found in: {args.output_dir}") + +if __name__ == "__main__": + main() diff --git a/tests/cli_test/test_cli.sh b/tests/cli_test/test_cli.sh new file mode 100755 index 00000000..6390fe3d --- /dev/null +++ b/tests/cli_test/test_cli.sh @@ -0,0 +1,18 @@ +# Assign the current directory to a variable +export testdir=$(pwd) +export tempdir="$testdir/temp" +mkdir $tempdir +echo $tempdir +export data_name="fcon1000" +export model_config="-a blr warp=WarpSinArcsinh optimizer=l-bfgs-b warp_reparam=True" +echo "Downloading the data..." +curl -o $tempdir/$data_name https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/refs/heads/main/data/$data_name.csv +echo "Splitting the data into train and test covariates, responses and batch effects..." +python split_data.py --input_file $tempdir/$data_name --output_dir $tempdir +echo "Fitting the model..." +normative $tempdir/Y_tr_$data_name.pkl -c $tempdir/X_tr_$data_name.pkl -f fit $model_config +echo "Predicting the test set..." +normative $tempdir/Y_te_$data_name.pkl -c $tempdir/X_te_$data_name.pkl -f predict $model_config inputsuffix=fit outputsuffix=predict +echo "Also doing estimate..." +normative $tempdir/Y_tr_$data_name.pkl -c $tempdir/X_tr_$data_name.pkl -f estimate $model_config -t $tempdir/X_te_$data_name.pkl -r $tempdir/Y_te_$data_name.pkl outputsuffix=estimate +echo "Done!" diff --git a/tests/profile_trendsurf.py b/tests/profile_trendsurf.py index 3877122f..3e0efefa 100644 --- a/tests/profile_trendsurf.py +++ b/tests/profile_trendsurf.py @@ -1,11 +1,12 @@ # NOTE: must be run with kernprof (otherwise the inmports get screwed up) # import pcntoolkit +import os +import sys + from bayesreg import BLR from line_profiler import LineProfiler from trendsurf import estimate -import os -import sys sys.path.append('/home/preclineu/andmar/sfw/PCNtoolkit/pcntoolkit') diff --git a/tests/test_normative.py b/tests/test_normative.py index 666bce49..4a4b8e29 100644 --- a/tests/test_normative.py +++ b/tests/test_normative.py @@ -4,12 +4,11 @@ @author: andmar """ -# import pcntoolkit -from normative import estimate +from pcntoolkit.normative import estimate import os import sys # from pcntoolkit.normative import estimate -sys.path.append('/home/preclineu/andmar/sfw/PCNtoolkit/pcntoolkit') +# sys.path.append('/home/preclineu/andmar/sfw/PCNtoolkit/pcntoolkit') # wdir = '/home/mrstats/andmar/py.sandbox/normative_nimg' # wdir = '/Users/andre/data/normative_nimg' @@ -26,7 +25,7 @@ covfile = os.path.join(wdir, 'covariates_basic_n500.txt') testresp = os.path.join(wdir, 'shoot_data_3mm_last100.nii.gz') testcov = os.path.join(wdir, 'covariates_basic_last100.txt') -estimate(covfile, respfile, maskfile=maskfile, testresp=testresp, +estimate(covfile=covfile, respfile=respfile, maskfile=maskfile, testresp=testresp, testcov=testcov, alg="blr") # , configparam=4) # cvfolds = 2 From 48a796b555718eec803b1657f56f19c91d31f093 Mon Sep 17 00:00:00 2001 From: Stijn Date: Thu, 14 Nov 2024 10:34:55 +0100 Subject: [PATCH 56/68] Set read and write permissions in test_cli script --- tests/cli_test/test_cli.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/cli_test/test_cli.sh b/tests/cli_test/test_cli.sh index 6390fe3d..d46e4195 100755 --- a/tests/cli_test/test_cli.sh +++ b/tests/cli_test/test_cli.sh @@ -2,7 +2,7 @@ export testdir=$(pwd) export tempdir="$testdir/temp" mkdir $tempdir -echo $tempdir +chmod -R 766 $tempdir export data_name="fcon1000" export model_config="-a blr warp=WarpSinArcsinh optimizer=l-bfgs-b warp_reparam=True" echo "Downloading the data..." From 33b746c722b02fd2880c5432cf0d928e8f401d87 Mon Sep 17 00:00:00 2001 From: Stijn Date: Thu, 14 Nov 2024 11:00:42 +0100 Subject: [PATCH 57/68] Remove print statement in normative --- pcntoolkit/normative.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pcntoolkit/normative.py b/pcntoolkit/normative.py index a46a3942..436f6064 100755 --- a/pcntoolkit/normative.py +++ b/pcntoolkit/normative.py @@ -111,7 +111,6 @@ def get_args(*args): :returns kw_args: Additional keyword arguments """ args = args[0][0] - print(args) # parse arguments parser = argparse.ArgumentParser(description="Normative Modeling") parser.add_argument("respfile", help="Response variables for the normative model") From cabfb5aeb99cca1cbcd442e10b0c32f8ffe66171 Mon Sep 17 00:00:00 2001 From: Stijn Date: Thu, 14 Nov 2024 14:39:01 +0100 Subject: [PATCH 58/68] Fix bug in create_design_matrix --- pcntoolkit/util/utils.py | 30 +++++++++++++------------- tests/cli_test/split_data.py | 41 +++++++++++++++++++----------------- tests/cli_test/test_cli.sh | 3 +++ 3 files changed, 40 insertions(+), 34 deletions(-) diff --git a/pcntoolkit/util/utils.py b/pcntoolkit/util/utils.py index f04ae211..19c6f553 100644 --- a/pcntoolkit/util/utils.py +++ b/pcntoolkit/util/utils.py @@ -1,26 +1,26 @@ from __future__ import print_function import os +import pickle +import re +import subprocess import sys -import numpy as np -from scipy import stats -from subprocess import call -from scipy.stats import genextreme, norm, skewnorm -from six import with_metaclass from abc import ABCMeta, abstractmethod -import pickle +from io import StringIO +from subprocess import call + +import bspline import matplotlib.pyplot as plt +import numpy as np import pandas as pd -import bspline +import pymc as pm +import scipy.special as spp from bspline import splinelab +from scipy import stats +from scipy.stats import genextreme, norm, skewnorm +from six import with_metaclass from sklearn.datasets import make_regression -import pymc as pm -from io import StringIO -import subprocess -import re from sklearn.metrics import roc_auc_score -import scipy.special as spp - try: # run as a package if installed from pcntoolkit import configs @@ -175,8 +175,8 @@ def create_design_matrix(X, intercept=True, basis='bspline', Phi = np.concatenate( (Phi, np.array([B(i) for i in X[:, basis_column]])), axis=1) elif basis == 'poly': - Phi = np.concatenate(Phi, create_poly_basis( - X[:, basis_column], **kwargs)) + Phi = np.concatenate((Phi, create_poly_basis( + X[:, basis_column], **kwargs)), axis=1) return Phi diff --git a/tests/cli_test/split_data.py b/tests/cli_test/split_data.py index b522700a..01506913 100644 --- a/tests/cli_test/split_data.py +++ b/tests/cli_test/split_data.py @@ -21,9 +21,12 @@ def main(): parser.add_argument("--input_file", type=str, required=True) parser.add_argument("--output_dir", type=str, required=True) args = parser.parse_args() + infile=args.input_file.split("/")[-1] print(f"Splitting the data located at {args.input_file} into train and test covariates, responses and batch effects...") df = pd.read_csv(args.input_file) + + # Select the covariates, responses and batch effects cov = df['age'] resp = df[['SubCortGrayVol','Left-Hippocampus','Brain-Stem','CSF']] be = df['site'] @@ -34,32 +37,32 @@ def main(): # Map the batch effects to integers be_ids = np.unique(be, return_inverse=True)[1] - - # Get the min and max of the covariates - xmin = min(cov) - xmax = max(cov) - + # Split the data into training and test sets - train_idx, test_idx = train_test_split(np.arange(len(cov)), test_size=0.2, random_state=42, stratify=be_ids) - + train_idx, test_idx = train_test_split(np.arange(len(cov)), test_size=0.2, stratify=be_ids) # Create the design matrices mean_basis = 'linear' var_basis = 'linear' - Phi_tr = create_design_matrix(cov[train_idx], basis=mean_basis, xmin=xmin, xmax=xmax, intercept=False, site_ids=be_ids[train_idx]) - Phi_var_tr = create_design_matrix(cov[train_idx], basis=var_basis, xmin=xmin, xmax=xmax, intercept=False) - Phi_te = create_design_matrix(cov[test_idx], basis=mean_basis, xmin=xmin, xmax=xmax, intercept=False, site_ids=be_ids[test_idx]) - Phi_var_te = create_design_matrix(cov[test_idx], basis=var_basis, xmin=xmin, xmax=xmax, intercept=False) + Phi_tr = create_design_matrix(cov[train_idx], basis=mean_basis, intercept=False, site_ids=be_ids[train_idx]) + Phi_var_tr = create_design_matrix(cov[train_idx], basis=var_basis) + Phi_te = create_design_matrix(cov[test_idx], basis=mean_basis, intercept=False, site_ids=be_ids[test_idx]) + Phi_var_te = create_design_matrix(cov[test_idx], basis=var_basis) + + print(f"{Phi_tr.shape=}") + print(f"{Phi_var_tr.shape=}") + print(f"{Phi_te.shape=}") + print(f"{Phi_var_te.shape=}") # Save everything - pd.to_pickle(pd.DataFrame(Phi_tr), os.path.join(args.output_dir, f'X_tr_{args.input_file.split("/")[-1]}.pkl')) - pd.to_pickle(pd.DataFrame(Phi_var_tr), os.path.join(args.output_dir, f'X_var_tr_{args.input_file.split("/")[-1]}.pkl')) - pd.to_pickle(pd.DataFrame(Phi_te), os.path.join(args.output_dir, f'X_te_{args.input_file.split("/")[-1]}.pkl')) - pd.to_pickle(pd.DataFrame(Phi_var_te), os.path.join(args.output_dir, f'X_var_te_{args.input_file.split("/")[-1]}.pkl')) - pd.to_pickle(pd.DataFrame(resp[train_idx]), os.path.join(args.output_dir, f'Y_tr_{args.input_file.split("/")[-1]}.pkl')) - pd.to_pickle(pd.DataFrame(resp[test_idx]), os.path.join(args.output_dir, f'Y_te_{args.input_file.split("/")[-1]}.pkl')) - pd.to_pickle(be[train_idx], os.path.join(args.output_dir, f'be_tr_{args.input_file.split("/")[-1]}.pkl')) - pd.to_pickle(be[test_idx], os.path.join(args.output_dir, f'be_te_{args.input_file.split("/")[-1]}.pkl')) + pd.to_pickle(pd.DataFrame(Phi_tr), os.path.join(args.output_dir, f'X_tr_{infile}.pkl')) + pd.to_pickle(pd.DataFrame(Phi_var_tr), os.path.join(args.output_dir, f'X_var_tr_{infile}.pkl')) + pd.to_pickle(pd.DataFrame(Phi_te), os.path.join(args.output_dir, f'X_te_{infile}.pkl')) + pd.to_pickle(pd.DataFrame(Phi_var_te), os.path.join(args.output_dir, f'X_var_te_{infile}.pkl')) + pd.to_pickle(pd.DataFrame(resp[train_idx]), os.path.join(args.output_dir, f'Y_tr_{infile}.pkl')) + pd.to_pickle(pd.DataFrame(resp[test_idx]), os.path.join(args.output_dir, f'Y_te_{infile}.pkl')) + pd.to_pickle(be[train_idx], os.path.join(args.output_dir, f'be_tr_{infile}.pkl')) + pd.to_pickle(be[test_idx], os.path.join(args.output_dir, f'be_te_{infile}.pkl')) print(f"Done! The files can be found in: {args.output_dir}") diff --git a/tests/cli_test/test_cli.sh b/tests/cli_test/test_cli.sh index d46e4195..d1645981 100755 --- a/tests/cli_test/test_cli.sh +++ b/tests/cli_test/test_cli.sh @@ -1,3 +1,6 @@ +#! /bin/bash +set -x + # Assign the current directory to a variable export testdir=$(pwd) export tempdir="$testdir/temp" From d45fb14f24b1a24672bb47e0b6ed59c180baa6dd Mon Sep 17 00:00:00 2001 From: Stijn Date: Thu, 14 Nov 2024 14:41:16 +0100 Subject: [PATCH 59/68] Update gitignore and remove temp folder --- .gitignore | 9 ++++++--- tests/cli_test/test_cli.sh | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index fcc7cfa6..c877c0c6 100644 --- a/.gitignore +++ b/.gitignore @@ -83,10 +83,13 @@ dist/pcntoolkit-0.27-py3.11.egg # Basic test functions for SHASH tests/test_SHASH.ipynb +# Dist folder dist/pcntoolkit-0.30.post2-py3.12.egg - dist/* - dist - build/* + +# CLI test folder +tests/cli_test/* +!tests/cli_test/test_cli.sh +!tests/cli_test/split_data.py \ No newline at end of file diff --git a/tests/cli_test/test_cli.sh b/tests/cli_test/test_cli.sh index d1645981..92aa890b 100755 --- a/tests/cli_test/test_cli.sh +++ b/tests/cli_test/test_cli.sh @@ -19,3 +19,4 @@ normative $tempdir/Y_te_$data_name.pkl -c $tempdir/X_te_$data_name.pkl -f predic echo "Also doing estimate..." normative $tempdir/Y_tr_$data_name.pkl -c $tempdir/X_tr_$data_name.pkl -f estimate $model_config -t $tempdir/X_te_$data_name.pkl -r $tempdir/Y_te_$data_name.pkl outputsuffix=estimate echo "Done!" +rm -R $tempdir \ No newline at end of file From aa15085cd61c65e6eaaaf30334b056ee77db58a1 Mon Sep 17 00:00:00 2001 From: Stijn Date: Thu, 14 Nov 2024 16:31:15 +0100 Subject: [PATCH 60/68] Small changes --- README.md | 4 +- pcntoolkit/model/SHASH.py | 29 ++++---- pcntoolkit/normative.py | 5 +- poetry.lock | 135 ++++++++++++++++------------------- pyproject.toml | 1 + tests/cli_test/split_data.py | 5 -- tests/testHBR.py | 8 +-- 7 files changed, 85 insertions(+), 102 deletions(-) diff --git a/README.md b/README.md index af6078c1..64fc232d 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ using the download here: https://www.anaconda.com/download #### Create environment ``` -conda create +conda create python==3.12 ``` #### Activate environment @@ -57,7 +57,7 @@ conda --version #### Create a conda environment in a shared location ``` -conda create -y python==3.10 numpy mkl blas --prefix=/shared/conda/ +conda create -y python==3.12 numpy mkl blas --prefix=/shared/conda/ ``` #### Activate the conda environment diff --git a/pcntoolkit/model/SHASH.py b/pcntoolkit/model/SHASH.py index a64317e7..c00585a9 100644 --- a/pcntoolkit/model/SHASH.py +++ b/pcntoolkit/model/SHASH.py @@ -6,7 +6,6 @@ from functools import lru_cache import numpy as np -import pytensor as pt from pymc import floatX from pymc.distributions import Continuous from pytensor.tensor import as_tensor_variable @@ -71,7 +70,7 @@ def C(x, epsilon, delta): ##### SHASH Distributions ##### -class SHASH(RandomVariable): +class SHASHrv(RandomVariable): """SHASH RV, described by Jones et al., based on a standard normal distribution.""" name = "shash" @@ -97,7 +96,7 @@ def rng_fn(cls, rng, epsilon, delta, size=None): ) -shash = SHASH() +shash = SHASHrv() class SHASH(Continuous): @@ -208,9 +207,9 @@ def logp(value, epsilon, delta): Log-probability of the SHASH distribution """ this_S = S(value, epsilon, delta) - this_S_sqr = pt.sqr(this_S) + this_S_sqr = np.log(this_S) this_C_sqr = 1 + this_S_sqr - frac2 = pt.log(delta) + pt.log(this_C_sqr) / 2 - pt.log(1 + pt.sqr(value)) / 2 + frac2 = np.log(delta) + np.log(this_C_sqr) / 2 - np.log(1 + np.log(value)) / 2 exp = -this_S_sqr / 2 return CONST2 + frac2 + exp @@ -288,15 +287,15 @@ def logp(value, mu, sigma, epsilon, delta): """ remapped_value = (value - mu) / sigma this_S = S(remapped_value, epsilon, delta) - this_S_sqr = pt.sqr(this_S) + this_S_sqr = np.log(this_S) this_C_sqr = 1 + this_S_sqr frac2 = ( - pt.log(delta) - + pt.log(this_C_sqr) / 2 - - pt.log(1 + pt.sqr(remapped_value)) / 2 + np.log(delta) + + np.log(this_C_sqr) / 2 + - np.log(1 + np.log(remapped_value)) / 2 ) exp = -this_S_sqr / 2 - return CONST2 + frac2 + exp - pt.log(sigma) + return CONST2 + frac2 + exp - np.log(sigma) class SHASHo2RV(RandomVariable): @@ -381,15 +380,15 @@ def logp(value, mu, sigma, epsilon, delta): sigma_d = sigma / delta remapped_value = (value - mu) / sigma_d this_S = S(remapped_value, epsilon, delta) - this_S_sqr = pt.sqr(this_S) + this_S_sqr = np.log(this_S) this_C_sqr = 1 + this_S_sqr frac2 = ( - pt.log(delta) - + pt.log(this_C_sqr) / 2 - - pt.log(1 + pt.sqr(remapped_value)) / 2 + np.log(delta) + + np.log(this_C_sqr) / 2 + - np.log(1 + np.log(remapped_value)) / 2 ) exp = -this_S_sqr / 2 - return CONST2 + frac2 + exp - pt.log(sigma_d) + return CONST2 + frac2 + exp - np.log(sigma_d) class SHASHbRV(RandomVariable): diff --git a/pcntoolkit/normative.py b/pcntoolkit/normative.py index 436f6064..1f160e84 100755 --- a/pcntoolkit/normative.py +++ b/pcntoolkit/normative.py @@ -18,7 +18,6 @@ import os import pickle import sys -import warnings from pathlib import Path import numpy as np @@ -27,8 +26,8 @@ try: import nutpie except ImportError: - warnings.warn("Nutpie not installed. For fitting HBR models with the nutpie backend, install it with `conda install nutpie numba`") - + # warnings.warn("Nutpie not installed. For fitting HBR models with the nutpie backend, install it with `conda install nutpie numba`") + pass try: # run as a package if installed diff --git a/poetry.lock b/poetry.lock index 6c2d0551..4607f4a6 100644 --- a/poetry.lock +++ b/poetry.lock @@ -423,76 +423,65 @@ logical-unification = ">=0.4.0" [[package]] name = "contourpy" -version = "1.3.0" +version = "1.3.1" description = "Python library for calculating contours of 2D quadrilateral grids" optional = false -python-versions = ">=3.9" +python-versions = ">=3.10" files = [ - {file = "contourpy-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:880ea32e5c774634f9fcd46504bf9f080a41ad855f4fef54f5380f5133d343c7"}, - {file = "contourpy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:76c905ef940a4474a6289c71d53122a4f77766eef23c03cd57016ce19d0f7b42"}, - {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92f8557cbb07415a4d6fa191f20fd9d2d9eb9c0b61d1b2f52a8926e43c6e9af7"}, - {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36f965570cff02b874773c49bfe85562b47030805d7d8360748f3eca570f4cab"}, - {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cacd81e2d4b6f89c9f8a5b69b86490152ff39afc58a95af002a398273e5ce589"}, - {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69375194457ad0fad3a839b9e29aa0b0ed53bb54db1bfb6c3ae43d111c31ce41"}, - {file = "contourpy-1.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a52040312b1a858b5e31ef28c2e865376a386c60c0e248370bbea2d3f3b760d"}, - {file = "contourpy-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3faeb2998e4fcb256542e8a926d08da08977f7f5e62cf733f3c211c2a5586223"}, - {file = "contourpy-1.3.0-cp310-cp310-win32.whl", hash = "sha256:36e0cff201bcb17a0a8ecc7f454fe078437fa6bda730e695a92f2d9932bd507f"}, - {file = "contourpy-1.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:87ddffef1dbe5e669b5c2440b643d3fdd8622a348fe1983fad7a0f0ccb1cd67b"}, - {file = "contourpy-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fa4c02abe6c446ba70d96ece336e621efa4aecae43eaa9b030ae5fb92b309ad"}, - {file = "contourpy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:834e0cfe17ba12f79963861e0f908556b2cedd52e1f75e6578801febcc6a9f49"}, - {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbc4c3217eee163fa3984fd1567632b48d6dfd29216da3ded3d7b844a8014a66"}, - {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4865cd1d419e0c7a7bf6de1777b185eebdc51470800a9f42b9e9decf17762081"}, - {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:303c252947ab4b14c08afeb52375b26781ccd6a5ccd81abcdfc1fafd14cf93c1"}, - {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637f674226be46f6ba372fd29d9523dd977a291f66ab2a74fbeb5530bb3f445d"}, - {file = "contourpy-1.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:76a896b2f195b57db25d6b44e7e03f221d32fe318d03ede41f8b4d9ba1bff53c"}, - {file = "contourpy-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e1fd23e9d01591bab45546c089ae89d926917a66dceb3abcf01f6105d927e2cb"}, - {file = "contourpy-1.3.0-cp311-cp311-win32.whl", hash = "sha256:d402880b84df3bec6eab53cd0cf802cae6a2ef9537e70cf75e91618a3801c20c"}, - {file = "contourpy-1.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:6cb6cc968059db9c62cb35fbf70248f40994dfcd7aa10444bbf8b3faeb7c2d67"}, - {file = "contourpy-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:570ef7cf892f0afbe5b2ee410c507ce12e15a5fa91017a0009f79f7d93a1268f"}, - {file = "contourpy-1.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:da84c537cb8b97d153e9fb208c221c45605f73147bd4cadd23bdae915042aad6"}, - {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0be4d8425bfa755e0fd76ee1e019636ccc7c29f77a7c86b4328a9eb6a26d0639"}, - {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c0da700bf58f6e0b65312d0a5e695179a71d0163957fa381bb3c1f72972537c"}, - {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb8b141bb00fa977d9122636b16aa67d37fd40a3d8b52dd837e536d64b9a4d06"}, - {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3634b5385c6716c258d0419c46d05c8aa7dc8cb70326c9a4fb66b69ad2b52e09"}, - {file = "contourpy-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0dce35502151b6bd35027ac39ba6e5a44be13a68f55735c3612c568cac3805fd"}, - {file = "contourpy-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea348f053c645100612b333adc5983d87be69acdc6d77d3169c090d3b01dc35"}, - {file = "contourpy-1.3.0-cp312-cp312-win32.whl", hash = "sha256:90f73a5116ad1ba7174341ef3ea5c3150ddf20b024b98fb0c3b29034752c8aeb"}, - {file = "contourpy-1.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:b11b39aea6be6764f84360fce6c82211a9db32a7c7de8fa6dd5397cf1d079c3b"}, - {file = "contourpy-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3e1c7fa44aaae40a2247e2e8e0627f4bea3dd257014764aa644f319a5f8600e3"}, - {file = "contourpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:364174c2a76057feef647c802652f00953b575723062560498dc7930fc9b1cb7"}, - {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32b238b3b3b649e09ce9aaf51f0c261d38644bdfa35cbaf7b263457850957a84"}, - {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d51fca85f9f7ad0b65b4b9fe800406d0d77017d7270d31ec3fb1cc07358fdea0"}, - {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:732896af21716b29ab3e988d4ce14bc5133733b85956316fb0c56355f398099b"}, - {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d73f659398a0904e125280836ae6f88ba9b178b2fed6884f3b1f95b989d2c8da"}, - {file = "contourpy-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c6c7c2408b7048082932cf4e641fa3b8ca848259212f51c8c59c45aa7ac18f14"}, - {file = "contourpy-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f317576606de89da6b7e0861cf6061f6146ead3528acabff9236458a6ba467f8"}, - {file = "contourpy-1.3.0-cp313-cp313-win32.whl", hash = "sha256:31cd3a85dbdf1fc002280c65caa7e2b5f65e4a973fcdf70dd2fdcb9868069294"}, - {file = "contourpy-1.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4553c421929ec95fb07b3aaca0fae668b2eb5a5203d1217ca7c34c063c53d087"}, - {file = "contourpy-1.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:345af746d7766821d05d72cb8f3845dfd08dd137101a2cb9b24de277d716def8"}, - {file = "contourpy-1.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3bb3808858a9dc68f6f03d319acd5f1b8a337e6cdda197f02f4b8ff67ad2057b"}, - {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:420d39daa61aab1221567b42eecb01112908b2cab7f1b4106a52caaec8d36973"}, - {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d63ee447261e963af02642ffcb864e5a2ee4cbfd78080657a9880b8b1868e18"}, - {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:167d6c890815e1dac9536dca00828b445d5d0df4d6a8c6adb4a7ec3166812fa8"}, - {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:710a26b3dc80c0e4febf04555de66f5fd17e9cf7170a7b08000601a10570bda6"}, - {file = "contourpy-1.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:75ee7cb1a14c617f34a51d11fa7524173e56551646828353c4af859c56b766e2"}, - {file = "contourpy-1.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:33c92cdae89ec5135d036e7218e69b0bb2851206077251f04a6c4e0e21f03927"}, - {file = "contourpy-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a11077e395f67ffc2c44ec2418cfebed032cd6da3022a94fc227b6faf8e2acb8"}, - {file = "contourpy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e8134301d7e204c88ed7ab50028ba06c683000040ede1d617298611f9dc6240c"}, - {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e12968fdfd5bb45ffdf6192a590bd8ddd3ba9e58360b29683c6bb71a7b41edca"}, - {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fd2a0fc506eccaaa7595b7e1418951f213cf8255be2600f1ea1b61e46a60c55f"}, - {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4cfb5c62ce023dfc410d6059c936dcf96442ba40814aefbfa575425a3a7f19dc"}, - {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68a32389b06b82c2fdd68276148d7b9275b5f5cf13e5417e4252f6d1a34f72a2"}, - {file = "contourpy-1.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:94e848a6b83da10898cbf1311a815f770acc9b6a3f2d646f330d57eb4e87592e"}, - {file = "contourpy-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d78ab28a03c854a873787a0a42254a0ccb3cb133c672f645c9f9c8f3ae9d0800"}, - {file = "contourpy-1.3.0-cp39-cp39-win32.whl", hash = "sha256:81cb5ed4952aae6014bc9d0421dec7c5835c9c8c31cdf51910b708f548cf58e5"}, - {file = "contourpy-1.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:14e262f67bd7e6eb6880bc564dcda30b15e351a594657e55b7eec94b6ef72843"}, - {file = "contourpy-1.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fe41b41505a5a33aeaed2a613dccaeaa74e0e3ead6dd6fd3a118fb471644fd6c"}, - {file = "contourpy-1.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eca7e17a65f72a5133bdbec9ecf22401c62bcf4821361ef7811faee695799779"}, - {file = "contourpy-1.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ec4dc6bf570f5b22ed0d7efba0dfa9c5b9e0431aeea7581aa217542d9e809a4"}, - {file = "contourpy-1.3.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:00ccd0dbaad6d804ab259820fa7cb0b8036bda0686ef844d24125d8287178ce0"}, - {file = "contourpy-1.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca947601224119117f7c19c9cdf6b3ab54c5726ef1d906aa4a69dfb6dd58102"}, - {file = "contourpy-1.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c6ec93afeb848a0845a18989da3beca3eec2c0f852322efe21af1931147d12cb"}, - {file = "contourpy-1.3.0.tar.gz", hash = "sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4"}, + {file = "contourpy-1.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a045f341a77b77e1c5de31e74e966537bba9f3c4099b35bf4c2e3939dd54cdab"}, + {file = "contourpy-1.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:500360b77259914f7805af7462e41f9cb7ca92ad38e9f94d6c8641b089338124"}, + {file = "contourpy-1.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2f926efda994cdf3c8d3fdb40b9962f86edbc4457e739277b961eced3d0b4c1"}, + {file = "contourpy-1.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:adce39d67c0edf383647a3a007de0a45fd1b08dedaa5318404f1a73059c2512b"}, + {file = "contourpy-1.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abbb49fb7dac584e5abc6636b7b2a7227111c4f771005853e7d25176daaf8453"}, + {file = "contourpy-1.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0cffcbede75c059f535725c1680dfb17b6ba8753f0c74b14e6a9c68c29d7ea3"}, + {file = "contourpy-1.3.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ab29962927945d89d9b293eabd0d59aea28d887d4f3be6c22deaefbb938a7277"}, + {file = "contourpy-1.3.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:974d8145f8ca354498005b5b981165b74a195abfae9a8129df3e56771961d595"}, + {file = "contourpy-1.3.1-cp310-cp310-win32.whl", hash = "sha256:ac4578ac281983f63b400f7fe6c101bedc10651650eef012be1ccffcbacf3697"}, + {file = "contourpy-1.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:174e758c66bbc1c8576992cec9599ce8b6672b741b5d336b5c74e35ac382b18e"}, + {file = "contourpy-1.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3e8b974d8db2c5610fb4e76307e265de0edb655ae8169e8b21f41807ccbeec4b"}, + {file = "contourpy-1.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:20914c8c973f41456337652a6eeca26d2148aa96dd7ac323b74516988bea89fc"}, + {file = "contourpy-1.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19d40d37c1c3a4961b4619dd9d77b12124a453cc3d02bb31a07d58ef684d3d86"}, + {file = "contourpy-1.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:113231fe3825ebf6f15eaa8bc1f5b0ddc19d42b733345eae0934cb291beb88b6"}, + {file = "contourpy-1.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4dbbc03a40f916a8420e420d63e96a1258d3d1b58cbdfd8d1f07b49fcbd38e85"}, + {file = "contourpy-1.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a04ecd68acbd77fa2d39723ceca4c3197cb2969633836ced1bea14e219d077c"}, + {file = "contourpy-1.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c414fc1ed8ee1dbd5da626cf3710c6013d3d27456651d156711fa24f24bd1291"}, + {file = "contourpy-1.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:31c1b55c1f34f80557d3830d3dd93ba722ce7e33a0b472cba0ec3b6535684d8f"}, + {file = "contourpy-1.3.1-cp311-cp311-win32.whl", hash = "sha256:f611e628ef06670df83fce17805c344710ca5cde01edfdc72751311da8585375"}, + {file = "contourpy-1.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:b2bdca22a27e35f16794cf585832e542123296b4687f9fd96822db6bae17bfc9"}, + {file = "contourpy-1.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0ffa84be8e0bd33410b17189f7164c3589c229ce5db85798076a3fa136d0e509"}, + {file = "contourpy-1.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805617228ba7e2cbbfb6c503858e626ab528ac2a32a04a2fe88ffaf6b02c32bc"}, + {file = "contourpy-1.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ade08d343436a94e633db932e7e8407fe7de8083967962b46bdfc1b0ced39454"}, + {file = "contourpy-1.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:47734d7073fb4590b4a40122b35917cd77be5722d80683b249dac1de266aac80"}, + {file = "contourpy-1.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2ba94a401342fc0f8b948e57d977557fbf4d515f03c67682dd5c6191cb2d16ec"}, + {file = "contourpy-1.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efa874e87e4a647fd2e4f514d5e91c7d493697127beb95e77d2f7561f6905bd9"}, + {file = "contourpy-1.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1bf98051f1045b15c87868dbaea84f92408337d4f81d0e449ee41920ea121d3b"}, + {file = "contourpy-1.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:61332c87493b00091423e747ea78200659dc09bdf7fd69edd5e98cef5d3e9a8d"}, + {file = "contourpy-1.3.1-cp312-cp312-win32.whl", hash = "sha256:e914a8cb05ce5c809dd0fe350cfbb4e881bde5e2a38dc04e3afe1b3e58bd158e"}, + {file = "contourpy-1.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:08d9d449a61cf53033612cb368f3a1b26cd7835d9b8cd326647efe43bca7568d"}, + {file = "contourpy-1.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a761d9ccfc5e2ecd1bf05534eda382aa14c3e4f9205ba5b1684ecfe400716ef2"}, + {file = "contourpy-1.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:523a8ee12edfa36f6d2a49407f705a6ef4c5098de4f498619787e272de93f2d5"}, + {file = "contourpy-1.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece6df05e2c41bd46776fbc712e0996f7c94e0d0543af1656956d150c4ca7c81"}, + {file = "contourpy-1.3.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:573abb30e0e05bf31ed067d2f82500ecfdaec15627a59d63ea2d95714790f5c2"}, + {file = "contourpy-1.3.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fa36448e6a3a1a9a2ba23c02012c43ed88905ec80163f2ffe2421c7192a5d7"}, + {file = "contourpy-1.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ea9924d28fc5586bf0b42d15f590b10c224117e74409dd7a0be3b62b74a501c"}, + {file = "contourpy-1.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5b75aa69cb4d6f137b36f7eb2ace9280cfb60c55dc5f61c731fdf6f037f958a3"}, + {file = "contourpy-1.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:041b640d4ec01922083645a94bb3b2e777e6b626788f4095cf21abbe266413c1"}, + {file = "contourpy-1.3.1-cp313-cp313-win32.whl", hash = "sha256:36987a15e8ace5f58d4d5da9dca82d498c2bbb28dff6e5d04fbfcc35a9cb3a82"}, + {file = "contourpy-1.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:a7895f46d47671fa7ceec40f31fae721da51ad34bdca0bee83e38870b1f47ffd"}, + {file = "contourpy-1.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9ddeb796389dadcd884c7eb07bd14ef12408aaae358f0e2ae24114d797eede30"}, + {file = "contourpy-1.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:19c1555a6801c2f084c7ddc1c6e11f02eb6a6016ca1318dd5452ba3f613a1751"}, + {file = "contourpy-1.3.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:841ad858cff65c2c04bf93875e384ccb82b654574a6d7f30453a04f04af71342"}, + {file = "contourpy-1.3.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4318af1c925fb9a4fb190559ef3eec206845f63e80fb603d47f2d6d67683901c"}, + {file = "contourpy-1.3.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:14c102b0eab282427b662cb590f2e9340a9d91a1c297f48729431f2dcd16e14f"}, + {file = "contourpy-1.3.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05e806338bfeaa006acbdeba0ad681a10be63b26e1b17317bfac3c5d98f36cda"}, + {file = "contourpy-1.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4d76d5993a34ef3df5181ba3c92fabb93f1eaa5729504fb03423fcd9f3177242"}, + {file = "contourpy-1.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:89785bb2a1980c1bd87f0cb1517a71cde374776a5f150936b82580ae6ead44a1"}, + {file = "contourpy-1.3.1-cp313-cp313t-win32.whl", hash = "sha256:8eb96e79b9f3dcadbad2a3891672f81cdcab7f95b27f28f1c67d75f045b6b4f1"}, + {file = "contourpy-1.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:287ccc248c9e0d0566934e7d606201abd74761b5703d804ff3df8935f523d546"}, + {file = "contourpy-1.3.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b457d6430833cee8e4b8e9b6f07aa1c161e5e0d52e118dc102c8f9bd7dd060d6"}, + {file = "contourpy-1.3.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb76c1a154b83991a3cbbf0dfeb26ec2833ad56f95540b442c73950af2013750"}, + {file = "contourpy-1.3.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:44a29502ca9c7b5ba389e620d44f2fbe792b1fb5734e8b931ad307071ec58c53"}, + {file = "contourpy-1.3.1.tar.gz", hash = "sha256:dfd97abd83335045a913e3bcc4a09c0ceadbe66580cf573fe961f4a825efa699"}, ] [package.dependencies] @@ -708,13 +697,13 @@ woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] [[package]] name = "h5netcdf" -version = "1.4.0" +version = "1.4.1" description = "netCDF4 via h5py" optional = false python-versions = ">=3.9" files = [ - {file = "h5netcdf-1.4.0-py3-none-any.whl", hash = "sha256:d1bb96fce5dcf42908903c9798beeef70ac84e97159eb381f1b151459313f228"}, - {file = "h5netcdf-1.4.0.tar.gz", hash = "sha256:e959c3b5bd3ca7965ce5f4383a4e038ffcb55034c63d791829bd33a5ac38a962"}, + {file = "h5netcdf-1.4.1-py3-none-any.whl", hash = "sha256:dd86c78ae69b92b16aa8a3c1ff3a14e7622571b5788dcf6d8b68569035bf71ce"}, + {file = "h5netcdf-1.4.1.tar.gz", hash = "sha256:7c8401ab807ff37c9798edc90d99467595892e6c541a5d5abeb8f53aab5335fe"}, ] [package.dependencies] @@ -2247,13 +2236,13 @@ stats = ["scipy (>=1.7)", "statsmodels (>=0.12)"] [[package]] name = "setuptools" -version = "75.4.0" +version = "75.5.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.9" files = [ - {file = "setuptools-75.4.0-py3-none-any.whl", hash = "sha256:b3c5d862f98500b06ffdf7cc4499b48c46c317d8d56cb30b5c8bce4d88f5c216"}, - {file = "setuptools-75.4.0.tar.gz", hash = "sha256:1dc484f5cf56fd3fe7216d7b8df820802e7246cfb534a1db2aa64f14fcb9cdcb"}, + {file = "setuptools-75.5.0-py3-none-any.whl", hash = "sha256:87cb777c3b96d638ca02031192d40390e0ad97737e27b6b4fa831bea86f2f829"}, + {file = "setuptools-75.5.0.tar.gz", hash = "sha256:5c4ccb41111392671f02bb5f8436dfc5a9a7185e80500531b133f5775c4163ef"}, ] [package.extras] diff --git a/pyproject.toml b/pyproject.toml index 9a082e4a..5ede1693 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,6 +15,7 @@ scikit-learn = "^1.5.2" # Prefer Conda seaborn = "^0.13.2" # Prefer conda six = "^1.16.0" # Prefer conda scipy = "^1.12" +matplotlib = "^3.8.1" [tool.poetry.group.dev.dependencies] sphinx-tabs = "^3.4.7" diff --git a/tests/cli_test/split_data.py b/tests/cli_test/split_data.py index 01506913..bb2caa98 100644 --- a/tests/cli_test/split_data.py +++ b/tests/cli_test/split_data.py @@ -49,11 +49,6 @@ def main(): Phi_te = create_design_matrix(cov[test_idx], basis=mean_basis, intercept=False, site_ids=be_ids[test_idx]) Phi_var_te = create_design_matrix(cov[test_idx], basis=var_basis) - print(f"{Phi_tr.shape=}") - print(f"{Phi_var_tr.shape=}") - print(f"{Phi_te.shape=}") - print(f"{Phi_var_te.shape=}") - # Save everything pd.to_pickle(pd.DataFrame(Phi_tr), os.path.join(args.output_dir, f'X_tr_{infile}.pkl')) pd.to_pickle(pd.DataFrame(Phi_var_tr), os.path.join(args.output_dir, f'X_var_tr_{infile}.pkl')) diff --git a/tests/testHBR.py b/tests/testHBR.py index 0e19ac5b..db875fa2 100644 --- a/tests/testHBR.py +++ b/tests/testHBR.py @@ -35,7 +35,7 @@ n_samples = 500 # Number of samples in each group (use a list for different # sample numbers across different batches) -model_type = "bspline" # modelto try 'linear, ''polynomial', 'bspline' +model_type = "linear" # modelto try 'linear, ''polynomial', 'bspline' ############################## Data Simulation ################################ @@ -62,9 +62,9 @@ likelihood="SHASHb", linear_sigma="True", random_slope_mu="False", - linear_epsilon="True", - linear_delta="True", - nuts_sampler="pymc", + linear_epsilon="False", + linear_delta="False", + nuts_sampler="nutpie", ) nm.estimate(X_train, Y_train, trbefile=working_dir + "trbefile.pkl") From 749b19416172c30be06a8c4d570725f65050130d Mon Sep 17 00:00:00 2001 From: Stijn Date: Fri, 15 Nov 2024 11:46:43 +0100 Subject: [PATCH 61/68] Update README Update CHANGES Fix delimiter issue --- CHANGES | 15 +++++++++++++++ README.md | 4 ++-- pcntoolkit/util/utils.py | 6 +++--- pyproject.toml | 4 ++-- 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/CHANGES b/CHANGES index 169180f0..99fa20b5 100644 --- a/CHANGES +++ b/CHANGES @@ -87,3 +87,18 @@ version 0.29 - Addedd functionality to compute SHASH z-scores from normative.py - Updated requirements - Basic pytest continuous integration framework implemented + +version 0.30.0 +- Minor bug fixes + +version 0.31.0 +- Major changes: + - Move to Poetry for dependency management in pyproject.toml. + - PCNToolkit must now be installed using python -m pip install .. See the README for complete instructions. + - A CLI command normative is automatically created, and can be used instead of python normative.py. + - Nutpie can be used as a sampler for HBR by setting `nuts_sampler='nutpie''. Nutpie and numba must first be installed using conda. +- Minor changes + - torque jobs now support multicore jobs via the keyword 'n_cores_per_batch' + - Backwards compatibilty improved by using pd.read_pickle instead of pickle.load + - SHASH classes have been refactored and improved + - HBR priors improved diff --git a/README.md b/README.md index 64fc232d..f18f7801 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ Use the command that you get from the command builder here: https://pytorch.org/ ### Install nutpie using conda ``` -conda install nutpie +conda install nutpie numba -c conda-forge ``` #### Install PCNtoolkit @@ -79,7 +79,7 @@ If your shared resource has no GPU, make sure you select the 'CPU' field in the ### Install nutpie using conda ``` -conda install nutpie +conda install nutpie numba -c conda-forge ``` #### Clone the repo diff --git a/pcntoolkit/util/utils.py b/pcntoolkit/util/utils.py index 19c6f553..cd245746 100644 --- a/pcntoolkit/util/utils.py +++ b/pcntoolkit/util/utils.py @@ -1078,14 +1078,14 @@ def load_freesurfer_measure(measure, data_path, subjects_list): data = dict() a = pd.read_csv(data_path + sub + '/stats/lh.aparc.a2009s.stats', - delimiter='\s+', comment='#', header=None) + delimiter=r'\s+', comment='#', header=None) temp = dict(zip(a[0], a[col])) for key in list(temp.keys()): temp['L_'+key] = temp.pop(key) data.update(temp) a = pd.read_csv(data_path + sub + '/stats/rh.aparc.a2009s.stats', - delimiter='\s+', comment='#', header=None) + delimiter=r'\s+', comment='#', header=None) temp = dict(zip(a[0], a[col])) for key in list(temp.keys()): temp['R_'+key] = temp.pop(key) @@ -1137,7 +1137,7 @@ def load_freesurfer_measure(measure, data_path, subjects_list): else: tiv = a[' ICV'] a = pd.read_csv(data_path + sub + '/stats/aseg.stats', - delimiter='\s+', comment='#', header=None) + delimiter=r'\s+', comment='#', header=None) data_vol = dict(zip(a[4]+'_mm3', a[3])) for key in data_vol.keys(): data_vol[key] = data_vol[key]/tiv diff --git a/pyproject.toml b/pyproject.toml index 5ede1693..d370c791 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "pcntoolkit" -version = "0.30.2" +version = "0.31.0" description = "Predictive Clinical Neuroscience Toolkit" authors = ["Andre Marquand"] license = "GNU GPLv3" @@ -10,7 +10,7 @@ readme = "README.md" python = ">=3.10,<3.13" bspline = "^0.1.1" # Install with pip nibabel = "^5.3.1" # Prefer Conda -pymc = "^5.17.0" # Prefer Conda +pymc = "^5.18.0" # Prefer Conda scikit-learn = "^1.5.2" # Prefer Conda seaborn = "^0.13.2" # Prefer conda six = "^1.16.0" # Prefer conda From 3e9c7c74a35d79095cf97ce1512aa1ed4810825d Mon Sep 17 00:00:00 2001 From: Stijn de Boer <19709783+AuguB@users.noreply.github.com> Date: Fri, 15 Nov 2024 12:35:54 +0100 Subject: [PATCH 62/68] Created using Colab --- .../pages/apply_normative_models_ct.rst | 1020 +++++++++++++++++ 1 file changed, 1020 insertions(+) create mode 100644 doc/source/pages/apply_normative_models_ct.rst diff --git a/doc/source/pages/apply_normative_models_ct.rst b/doc/source/pages/apply_normative_models_ct.rst new file mode 100644 index 00000000..ba552baf --- /dev/null +++ b/doc/source/pages/apply_normative_models_ct.rst @@ -0,0 +1,1020 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "2d8fb4c8-4360-4fdc-b0a2-e1c2e22bd8f9", + "metadata": { + "id": "2d8fb4c8-4360-4fdc-b0a2-e1c2e22bd8f9" + }, + "source": [ + "## Using lifespan models to make predictions on new data\n", + "\n", + "This notebook shows how to apply the coefficients from pre-estimated normative models to new data. This can be done in two different ways: (i) using a new set of data derived from the same sites used to estimate the model and (ii) on a completely different set of sites. In the latter case, we also need to estimate the site effect, which requires some calibration/adaptation data. As an illustrative example, we use a dataset derived from several [OpenNeuro datasets](https://openneuro.org/) and adapt the learned model to make predictions on these data.\n", + "\n", + "First, if necessary, we install PCNtoolkit (note: this tutorial requires at least version 0.27)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "f606eda6", + "metadata": { + "id": "f606eda6", + "outputId": "dd209f94-142d-4043-81da-e4bceaee19f0", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Collecting https://github.com/amarquand/PCNtoolkit/archive/dev.zip\n", + " Using cached https://github.com/amarquand/PCNtoolkit/archive/dev.zip\n", + " Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", + " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", + " Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", + "Requirement already satisfied: bspline<0.2.0,>=0.1.1 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (0.1.1)\n", + "Requirement already satisfied: matplotlib<4.0.0,>=3.8.1 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (3.9.2)\n", + "Requirement already satisfied: nibabel<6.0.0,>=5.3.1 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (5.3.2)\n", + "Requirement already satisfied: pymc<6.0.0,>=5.18.0 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (5.18.0)\n", + "Requirement already satisfied: scikit-learn<2.0.0,>=1.5.2 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (1.5.2)\n", + "Requirement already satisfied: scipy<2.0,>=1.12 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (1.13.1)\n", + "Requirement already satisfied: seaborn<0.14.0,>=0.13.2 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (0.13.2)\n", + "Requirement already satisfied: six<2.0.0,>=1.16.0 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (1.16.0)\n", + "Requirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (from bspline<0.2.0,>=0.1.1->pcntoolkit==0.31.0) (1.26.4)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.8.1->pcntoolkit==0.31.0) (1.3.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.8.1->pcntoolkit==0.31.0) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.8.1->pcntoolkit==0.31.0) (4.54.1)\n", + "Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.8.1->pcntoolkit==0.31.0) (1.4.7)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.8.1->pcntoolkit==0.31.0) (24.2)\n", + "Requirement already satisfied: pillow>=8 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.8.1->pcntoolkit==0.31.0) (11.0.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.8.1->pcntoolkit==0.31.0) (3.2.0)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.8.1->pcntoolkit==0.31.0) (2.8.2)\n", + "Requirement already satisfied: importlib-resources>=5.12 in /usr/local/lib/python3.10/dist-packages (from nibabel<6.0.0,>=5.3.1->pcntoolkit==0.31.0) (6.4.5)\n", + "Requirement already satisfied: typing-extensions>=4.6 in /usr/local/lib/python3.10/dist-packages (from nibabel<6.0.0,>=5.3.1->pcntoolkit==0.31.0) (4.12.2)\n", + "Requirement already satisfied: arviz>=0.13.0 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.20.0)\n", + "Requirement already satisfied: cachetools>=4.2.1 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (5.5.0)\n", + "Requirement already satisfied: cloudpickle in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.1.0)\n", + "Requirement already satisfied: pandas>=0.24.0 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2.2.2)\n", + "Requirement already satisfied: pytensor<2.26,>=2.25.1 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2.25.5)\n", + "Requirement already satisfied: rich>=13.7.1 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (13.9.4)\n", + "Requirement already satisfied: threadpoolctl<4.0.0,>=3.1.0 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.5.0)\n", + "Requirement already satisfied: joblib>=1.2.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn<2.0.0,>=1.5.2->pcntoolkit==0.31.0) (1.4.2)\n", + "Requirement already satisfied: setuptools>=60.0.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (75.1.0)\n", + "Requirement already satisfied: xarray>=2022.6.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2024.10.0)\n", + "Requirement already satisfied: h5netcdf>=1.0.2 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (1.4.0)\n", + "Requirement already satisfied: xarray-einstats>=0.3 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.8.0)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.24.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2024.2)\n", + "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.24.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2024.2)\n", + "Requirement already satisfied: filelock>=3.15 in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.16.1)\n", + "Requirement already satisfied: etuples in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.3.9)\n", + "Requirement already satisfied: logical-unification in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.4.6)\n", + "Requirement already satisfied: miniKanren in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (1.0.3)\n", + "Requirement already satisfied: cons in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.4.6)\n", + "Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich>=13.7.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.0.0)\n", + "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.10/dist-packages (from rich>=13.7.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2.18.0)\n", + "Requirement already satisfied: h5py in /usr/local/lib/python3.10/dist-packages (from h5netcdf>=1.0.2->arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.12.1)\n", + "Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py>=2.2.0->rich>=13.7.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.1.2)\n", + "Requirement already satisfied: toolz in /usr/local/lib/python3.10/dist-packages (from logical-unification->pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.12.1)\n", + "Requirement already satisfied: multipledispatch in /usr/local/lib/python3.10/dist-packages (from logical-unification->pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (1.0.0)\n" + ] + } + ], + "source": [ + "! pip install https://github.com/amarquand/PCNtoolkit/archive/dev.zip" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "ddd7b3cb-b018-4ed4-8b55-15728d8c5411", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "ddd7b3cb-b018-4ed4-8b55-15728d8c5411", + "outputId": "d3d408d4-9c55-49d2-cae9-e3a500e168e3" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "fatal: destination path 'braincharts' already exists and is not an empty directory.\n" + ] + } + ], + "source": [ + "! git clone https://github.com/predictive-clinical-neuroscience/braincharts.git" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "b1849f76-b17d-4286-bf57-50ff56e81bf8", + "metadata": { + "id": "b1849f76-b17d-4286-bf57-50ff56e81bf8" + }, + "outputs": [], + "source": [ + "# we need to be in the scripts folder when we import the libraries in the code block below,\n", + "# because there is a function called nm_utils that is in the scripts folder that we need to import\n", + "import os\n", + "\n", + "wdir = 'braincharts'\n", + "\n", + "os.chdir(wdir) #this path is setup for running on Google Colab. Change it to match your local path if running locally\n", + "root_dir=os.getcwd()" + ] + }, + { + "cell_type": "markdown", + "id": "b2227bc7-e798-470a-99bc-33561ce4511b", + "metadata": { + "id": "b2227bc7-e798-470a-99bc-33561ce4511b" + }, + "source": [ + "Now we import the required libraries" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "ff661cf2-7d80-46bb-bcfb-1650a93eed3d", + "metadata": { + "id": "ff661cf2-7d80-46bb-bcfb-1650a93eed3d" + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import pickle\n", + "from matplotlib import pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "from pcntoolkit.normative import estimate, predict, evaluate\n", + "from pcntoolkit.util.utils import compute_MSLL, create_design_matrix\n", + "os.chdir(os.path.join(root_dir, 'scripts'))\n", + "from nm_utils import remove_bad_subjects, load_2d\n", + "os.chdir(root_dir)" + ] + }, + { + "cell_type": "markdown", + "id": "78719463-28b2-4849-b970-cfbe2f07d214", + "metadata": { + "id": "78719463-28b2-4849-b970-cfbe2f07d214" + }, + "source": [ + "We need to unzip the models." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "3b1d4d4b-68ab-4bba-87f5-6062995805d0", + "metadata": { + "id": "3b1d4d4b-68ab-4bba-87f5-6062995805d0" + }, + "outputs": [], + "source": [ + "os.chdir(os.path.join(root_dir,'models'))" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "d4b7b2f4-c514-4d4f-a6b0-9461e1b20831", + "metadata": { + "id": "d4b7b2f4-c514-4d4f-a6b0-9461e1b20831", + "outputId": "87f49919-54d4-4b2f-a959-28060596ced9", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Archive: lifespan_57K_82sites.zip\n", + "replace lifespan_57K_82sites/Right-Pallidum/Models/meta_data.md? [y]es, [n]o, [A]ll, [N]one, [r]ename: " + ] + } + ], + "source": [ + "# we will use the biggest sample as our training set (approx. N=57000 subjects from 82 sites)\n", + "# for more info on the other pretrained models available in this repository,\n", + "# please refer to the accompanying paper https://elifesciences.org/articles/72904\n", + "! unzip lifespan_57K_82sites.zip" + ] + }, + { + "cell_type": "markdown", + "id": "802b1da6-04cc-4310-af81-f50d38c3e653", + "metadata": { + "id": "802b1da6-04cc-4310-af81-f50d38c3e653" + }, + "source": [ + "Next, we configure some basic variables, like where we want the analysis to be done and which model we want to use.\n", + "\n", + "**Note:** We maintain a list of site ids for each dataset, which describe the site names in the training and test data (`site_ids_tr` and `site_ids_te`), plus also the adaptation data . The training site ids are provided as a text file in the distribution and the test ids are extracted automatically from the pandas dataframe (see below). If you use additional data from the sites (e.g. later waves from ABCD), it may be necessary to adjust the site names to match the names in the training set. See the accompanying paper for more details" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "f52e2a19-9b63-4f0f-97c1-387f1a1872a2", + "metadata": { + "id": "f52e2a19-9b63-4f0f-97c1-387f1a1872a2" + }, + "outputs": [], + "source": [ + "# which model do we wish to use?\n", + "model_name = 'lifespan_57K_82sites'\n", + "site_names = 'site_ids_ct_82sites.txt'\n", + "\n", + "\n", + "# where the data files live\n", + "data_dir = os.path.join(root_dir,'docs')\n", + "\n", + "# where the models live\n", + "out_dir = os.path.join(root_dir, 'models', model_name)\n", + "\n", + "# load a set of site ids from this model. This must match the training data\n", + "with open(os.path.join(root_dir,'docs', site_names)) as f:\n", + " site_ids_tr = f.read().splitlines()" + ] + }, + { + "cell_type": "markdown", + "id": "3aab54a5-2579-48d8-a81b-bbd34cea1213", + "metadata": { + "id": "3aab54a5-2579-48d8-a81b-bbd34cea1213" + }, + "source": [ + "### Load test data\n", + "\n", + "**Note:** For the purposes of this tutorial, we make predictions for a multi-site transfer dataset, derived from [OpenNeuro](https://openneuro.org/)." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "262d429a-160b-4ba3-9ba4-9acc195bc644", + "metadata": { + "id": "262d429a-160b-4ba3-9ba4-9acc195bc644" + }, + "outputs": [], + "source": [ + "test_data = os.path.join(data_dir, 'OpenNeuroTransfer_ct_te.csv')\n", + "\n", + "df_te = pd.read_csv(test_data)\n", + "\n", + "# extract a list of unique site ids from the test set\n", + "site_ids_te = sorted(set(df_te['site'].to_list()))" + ] + }, + { + "cell_type": "markdown", + "id": "c636509a-8b12-43f1-811c-08cb22640be2", + "metadata": { + "id": "c636509a-8b12-43f1-811c-08cb22640be2" + }, + "source": [ + "### (Optional) Load adaptation data\n", + "\n", + "If the data you wish to make predictions for is not derived from the same scanning sites as those in the trainig set, it is necessary to learn the site effect so that we can account for it in the predictions. In order to do this in an unbiased way, we use a separate dataset, which we refer to as 'adaptation' data. This must contain data for all the same sites as in the test dataset and we assume these are coded in the same way, based on a the 'sitenum' column in the dataframe." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "53551023-aff6-4934-ad2d-d77bc63c562d", + "metadata": { + "id": "53551023-aff6-4934-ad2d-d77bc63c562d" + }, + "outputs": [], + "source": [ + "adaptation_data = os.path.join(data_dir, 'OpenNeuroTransfer_ct_ad.csv')\n", + "\n", + "df_ad = pd.read_csv(adaptation_data)\n", + "\n", + "# extract a list of unique site ids from the test set\n", + "site_ids_ad = sorted(set(df_ad['site'].to_list()))\n", + "\n", + "if not all(elem in site_ids_ad for elem in site_ids_te):\n", + " print('Warning: some of the testing sites are not in the adaptation data')" + ] + }, + { + "cell_type": "markdown", + "id": "4f73e30e-c693-44b8-98c6-52b71b577ea8", + "metadata": { + "id": "4f73e30e-c693-44b8-98c6-52b71b577ea8" + }, + "source": [ + "### Configure which models to fit\n", + "\n", + "Now, we configure which imaging derived phenotypes (IDPs) we would like to process. This is just a list of column names in the dataframe we have loaded above.\n", + "\n", + "We could load the whole set (i.e. all phenotypes for which we have models for ..." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "b48e104c-cbac-4ae2-8377-cd3ff80162fd", + "metadata": { + "id": "b48e104c-cbac-4ae2-8377-cd3ff80162fd" + }, + "outputs": [], + "source": [ + "# load the list of idps for left and right hemispheres, plus subcortical regions\n", + "with open(os.path.join(data_dir, 'phenotypes_ct_lh.txt')) as f:\n", + " idp_ids_lh = f.read().splitlines()\n", + "with open(os.path.join(data_dir, 'phenotypes_ct_rh.txt')) as f:\n", + " idp_ids_rh = f.read().splitlines()\n", + "with open(os.path.join(data_dir, 'phenotypes_sc.txt')) as f:\n", + " idp_ids_sc = f.read().splitlines()\n", + "\n", + "# we choose here to process all idps\n", + "idp_ids = idp_ids_lh + idp_ids_rh #+ idp_ids_sc" + ] + }, + { + "cell_type": "markdown", + "id": "280731ad-47d8-43e2-8cb5-4eccfd9f3f81", + "metadata": { + "id": "280731ad-47d8-43e2-8cb5-4eccfd9f3f81" + }, + "source": [ + "... or alternatively, we could just specify a list" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "8b74d75f-77a5-474a-9c9b-29aab1ce53a2", + "metadata": { + "id": "8b74d75f-77a5-474a-9c9b-29aab1ce53a2" + }, + "outputs": [], + "source": [ + "idp_ids = [ 'Left-Thalamus-Proper', 'Left-Lateral-Ventricle', 'rh_MeanThickness_thickness']" + ] + }, + { + "cell_type": "markdown", + "id": "56ee1f7f-8684-4f1c-b142-a68176407029", + "metadata": { + "id": "56ee1f7f-8684-4f1c-b142-a68176407029" + }, + "source": [ + "### Configure covariates\n", + "\n", + "Now, we configure some parameters to fit the model. First, we choose which columns of the pandas dataframe contain the covariates (age and sex). The site parameters are configured automatically later on by the `configure_design_matrix()` function, when we loop through the IDPs in the list\n", + "\n", + "The supplied coefficients are derived from a 'warped' Bayesian linear regression model, which uses a nonlinear warping function to model non-Gaussianity (`sinarcsinh`) plus a non-linear basis expansion (a cubic b-spline basis set with 5 knot points, which is the default value in the PCNtoolkit package). Since we are sticking with the default value, we do not need to specify any parameters for this, but we do need to specify the limits. We choose to pad the input by a few years either side of the input range. We will also set a couple of options that control the estimation of the model\n", + "\n", + "For further details about the likelihood warping approach, see the accompanying paper and [Fraza et al 2021](https://www.biorxiv.org/content/10.1101/2021.04.05.438429v1)." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "62312b8e-4972-4238-abf9-87d9bb33cc10", + "metadata": { + "id": "62312b8e-4972-4238-abf9-87d9bb33cc10" + }, + "outputs": [], + "source": [ + "# which data columns do we wish to use as covariates?\n", + "cols_cov = ['age','sex']\n", + "\n", + "# limits for cubic B-spline basis\n", + "xmin = -5\n", + "xmax = 110\n", + "\n", + "# Absolute Z treshold above which a sample is considered to be an outlier (without fitting any model)\n", + "outlier_thresh = 7" + ] + }, + { + "cell_type": "markdown", + "id": "42bc1072-e9ed-4f2a-9fdd-cbd626a61542", + "metadata": { + "id": "42bc1072-e9ed-4f2a-9fdd-cbd626a61542" + }, + "source": [ + "### Make predictions\n", + "\n", + "This will make predictions for each IDP separately. This is done by extracting a column from the dataframe (i.e. specifying the IDP as the response variable) and saving it as a numpy array. Then, we configure the covariates, which is a numpy data array having the number of rows equal to the number of datapoints in the test set. The columns are specified as follows:\n", + "\n", + "- A global intercept (column of ones)\n", + "- The covariate columns (here age and sex, coded as 0=female/1=male)\n", + "- Dummy coded columns for the sites in the training set (one column per site)\n", + "- Columns for the basis expansion (seven columns for the default parameterisation)\n", + "\n", + "Once these are saved as numpy arrays in ascii format (as here) or (alternatively) in pickle format, these are passed as inputs to the `predict()` method in the PCNtoolkit normative modelling framework. These are written in the same format to the location specified by `idp_dir`. At the end of this step, we have a set of predictions and Z-statistics for the test dataset that we can take forward to further analysis.\n", + "\n", + "Note that when we need to make predictions on new data, the procedure is more involved, since we need to prepare, process and store covariates, response variables and site ids for the adaptation data." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "07b7471b-c334-464f-8273-b409b7acaac2", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "07b7471b-c334-464f-8273-b409b7acaac2", + "outputId": "a1de6a82-4430-4e11-de5f-b2874dd3c5d9" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Running IDP 0 Left-Thalamus-Proper :\n", + "Some sites missing from the training data. Adapting model\n", + "Loading data ...\n", + "Prediction by model 1 of 1\n", + "Evaluating the model ...\n", + "Evaluations Writing outputs ...\n", + "Writing outputs ...\n", + "Running IDP 1 Left-Lateral-Ventricle :\n", + "Some sites missing from the training data. Adapting model\n", + "Loading data ...\n", + "Prediction by model 1 of 1\n", + "Evaluating the model ...\n", + "Evaluations Writing outputs ...\n", + "Writing outputs ...\n", + "Running IDP 2 rh_MeanThickness_thickness :\n", + "Some sites missing from the training data. Adapting model\n", + "Loading data ...\n", + "Prediction by model 1 of 1\n", + "Evaluating the model ...\n", + "Evaluations Writing outputs ...\n", + "Writing outputs ...\n" + ] + } + ], + "source": [ + "for idp_num, idp in enumerate(idp_ids):\n", + " print('Running IDP', idp_num, idp, ':')\n", + " idp_dir = os.path.join(out_dir, idp)\n", + " os.chdir(idp_dir)\n", + "\n", + " # extract and save the response variables for the test set\n", + " y_te = df_te[idp].to_numpy()\n", + "\n", + " # save the variables\n", + " resp_file_te = os.path.join(idp_dir, 'resp_te.txt')\n", + " np.savetxt(resp_file_te, y_te)\n", + "\n", + " # configure and save the design matrix\n", + " cov_file_te = os.path.join(idp_dir, 'cov_bspline_te.txt')\n", + " X_te = create_design_matrix(df_te[cols_cov],\n", + " site_ids = df_te['site'],\n", + " all_sites = site_ids_tr,\n", + " basis = 'bspline',\n", + " xmin = xmin,\n", + " xmax = xmax)\n", + " np.savetxt(cov_file_te, X_te)\n", + "\n", + " # check whether all sites in the test set are represented in the training set\n", + " if all(elem in site_ids_tr for elem in site_ids_te):\n", + " print('All sites are present in the training data')\n", + "\n", + " # just make predictions\n", + " yhat_te, s2_te, Z = predict(cov_file_te,\n", + " alg='blr',\n", + " respfile=resp_file_te,\n", + " model_path=os.path.join(idp_dir,'Models'))\n", + " else:\n", + " print('Some sites missing from the training data. Adapting model')\n", + "\n", + " # save the covariates for the adaptation data\n", + " X_ad = create_design_matrix(df_ad[cols_cov],\n", + " site_ids = df_ad['site'],\n", + " all_sites = site_ids_tr,\n", + " basis = 'bspline',\n", + " xmin = xmin,\n", + " xmax = xmax)\n", + " cov_file_ad = os.path.join(idp_dir, 'cov_bspline_ad.txt')\n", + " np.savetxt(cov_file_ad, X_ad)\n", + "\n", + " # save the responses for the adaptation data\n", + " resp_file_ad = os.path.join(idp_dir, 'resp_ad.txt')\n", + " y_ad = df_ad[idp].to_numpy()\n", + " np.savetxt(resp_file_ad, y_ad)\n", + "\n", + " # save the site ids for the adaptation data\n", + " sitenum_file_ad = os.path.join(idp_dir, 'sitenum_ad.txt')\n", + " site_num_ad = df_ad['sitenum'].to_numpy(dtype=int)\n", + " np.savetxt(sitenum_file_ad, site_num_ad)\n", + "\n", + " # save the site ids for the test data\n", + " sitenum_file_te = os.path.join(idp_dir, 'sitenum_te.txt')\n", + " site_num_te = df_te['sitenum'].to_numpy(dtype=int)\n", + " np.savetxt(sitenum_file_te, site_num_te)\n", + "\n", + " yhat_te, s2_te, Z = predict(cov_file_te,\n", + " alg = 'blr',\n", + " respfile = resp_file_te,\n", + " model_path = os.path.join(idp_dir,'Models'),\n", + " adaptrespfile = resp_file_ad,\n", + " adaptcovfile = cov_file_ad,\n", + " adaptvargroupfile = sitenum_file_ad,\n", + " testvargroupfile = sitenum_file_te)" + ] + }, + { + "cell_type": "markdown", + "id": "75210821-ccb8-4bd2-82f3-641708811b21", + "metadata": { + "id": "75210821-ccb8-4bd2-82f3-641708811b21" + }, + "source": [ + "### Preparing dummy data for plotting\n", + "\n", + "Now, we plot the centiles of variation estimated by the normative model.\n", + "\n", + "We do this by making use of a set of dummy covariates that span the whole range of the input space (for age) for a fixed value of the other covariates (e.g. sex) so that we can make predictions for these dummy data points, then plot them. We configure these dummy predictions using the same procedure as we used for the real data. We can use the same dummy data for all the IDPs we wish to plot" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "2d0743d8-28ca-4a14-8ef0-99bf40434b5b", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "2d0743d8-28ca-4a14-8ef0-99bf40434b5b", + "outputId": "e8957652-cfd0-4a4c-998b-463c356bbaed" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "configuring dummy data ...\n" + ] + } + ], + "source": [ + "# which sex do we want to plot?\n", + "sex = 1 # 1 = male 0 = female\n", + "if sex == 1:\n", + " clr = 'blue';\n", + "else:\n", + " clr = 'red'\n", + "\n", + "# create dummy data for visualisation\n", + "print('configuring dummy data ...')\n", + "xx = np.arange(xmin, xmax, 0.5)\n", + "X0_dummy = np.zeros((len(xx), 2))\n", + "X0_dummy[:,0] = xx\n", + "X0_dummy[:,1] = sex\n", + "\n", + "# create the design matrix\n", + "X_dummy = create_design_matrix(X0_dummy, xmin=xmin, xmax=xmax, site_ids=None, all_sites=site_ids_tr)\n", + "\n", + "# save the dummy covariates\n", + "cov_file_dummy = os.path.join(out_dir,'cov_bspline_dummy_mean.txt')\n", + "np.savetxt(cov_file_dummy, X_dummy)" + ] + }, + { + "cell_type": "markdown", + "id": "126323a3-2270-4796-97c4-94629730ddf7", + "metadata": { + "id": "126323a3-2270-4796-97c4-94629730ddf7" + }, + "source": [ + "### Plotting the normative models\n", + "\n", + "Now we loop through the IDPs, plotting each one separately. The outputs of this step are a set of quantitative regression metrics for each IDP and a set of centile curves which we plot the test data against.\n", + "\n", + "This part of the code is relatively complex because we need to keep track of many quantities for the plotting. We also need to remember whether the data need to be warped or not. By default in PCNtoolkit, predictions in the form of `yhat, s2` are always in the warped (Gaussian) space. If we want predictions in the input (non-Gaussian) space, then we need to warp them with the inverse of the estimated warping function. This can be done using the function `nm.blr.warp.warp_predictions()`.\n", + "\n", + "**Note:** it is necessary to update the intercept for each of the sites. For purposes of visualisation, here we do this by adjusting the median of the data to match the dummy predictions, but note that all the quantitative metrics are estimated using the predictions that are adjusted properly using a learned offset (or adjusted using a hold-out adaptation set, as above). Note also that for the calibration data we require at least two data points of the same sex in each site to be able to estimate the variance. Of course, in a real example, you would want many more than just two since we need to get a reliable estimate of the variance for each site." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "cdd68cc6-212b-4149-b86a-24e842078e1a", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "cdd68cc6-212b-4149-b86a-24e842078e1a", + "outputId": "43a33a06-cffb-4bab-9bd1-293cc8e65d48" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Running IDP 0 Left-Thalamus-Proper :\n", + "Making predictions with dummy covariates (for visualisation)\n", + "Loading data ...\n", + "Prediction by model 1 of 1\n", + "Writing outputs ...\n", + "metrics: {'RMSE': array([0.55690777]), 'Rho': array([0.]), 'pRho': array([1.]), 'SMSE': array([0.]), 'EXPV': array([0.])}\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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puJ///d/UVBQ0Gw5Txzf999/j9tuuw0DBgzA2LFj8dJLL8FqtTZbziXHpcy0G9XV1fLo0aPl3//+9/KOHTvkjz/+WB4+fLj89NNPu3vTWs23334rp6WlyQsXLpSnTZsmT506tdkyX331lZycnCyvWbNGzszMlJcvXy7369dP3r9/f/tvcCuYNWuWvGTJEnnz5s3yzz//LL/wwgtynz595Jdfftm+jKeO7fPPP5f//ve/y1u2bJF3794tv/fee/KIESPk++67z77M3r175b59+8rLly+XMzMz5TVr1sjJycny119/7cYtbx3PP/+8fP3118u9e/eWs7Ky7PM9db99+umncu/eveUdO3bI+/fvt09nz561L+OpY5NlWX711VfloUOHym+88Ya8Z88eecuWLfLKlSvluro6WZY995g8ceKE0/7av3+/vHjxYrlfv35yRUWFLMueu992794t9+nTR3788cflXbt2yZs3b5YnTZokT5w4UTYYDPblPHF8+/fvl/v06SM/8sgj8o4dO+S33npLHjRokLx69Wqn5Vx1XLIQa0def/11eciQIXJVVZV93n/+8x+5b9++cklJifs27AqwWq32v5cuXdqiEJs0aZL85z//2WnenXfeKT/wwANXffvagrhAOvLkk0/Kw4YNs4/bU8fWEv/973/l3r1724/BefPmyXfeeafTMn/+85/lyZMnu2PzWs3JkyflIUOGyP/+97+bCTFP3W9CiLV0bAo8dWy5ublyv3795B9++OGCy3j6MenI+PHj5fnz59v/99T9tnz5cnn8+PGyzWazz8vMzJR79+4t79271z7PE8c3b948+bbbbnOat3HjRrl///5yeXm503KuOC7ZNdmO7NixA6NGjUJoaKh93uTJk2Gz2bBr1y73bdgVoFJd/NApKCjAqVOnMHnyZKf5U6ZMQWZmZod2x4aHhzeb17dvX9TV1aGhocGjx9YS4ng0m80wmUzYs2cPbr75ZqdlpkyZgtzcXBQWFrphC1vHs88+i9mzZyMxMdFpvrftN0c8eWybNm1CXFwcxo4d2+L73nBMCvbt24fCwkJMnz4dgGfvN4vFgsDAQEiSZJ8XHBwMAPYwDk8dX3Z2NkaPHu00LzU1FWazGTt37gTg2uOShVg7kpeXh6SkJKd5Op0OUVFRyMvLc9NWXR3EeJreDHv27Amz2dxiHEFH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\n" + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Running IDP 1 Left-Lateral-Ventricle :\n", + "Making predictions with dummy covariates (for visualisation)\n", + "Loading data ...\n", + "Prediction by model 1 of 1\n", + "Writing outputs ...\n", + "metrics: {'RMSE': array([4205.49266088]), 'Rho': array([0.45898577]), 'pRho': array([5.62632393e-25]), 'SMSE': array([0.81397727]), 'EXPV': array([0.19814613])}\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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54Hk5M7tZ+mSEOvfv79Dv7DWUCgUOHnypEuvYRiGYRjGe9DpgL17AYOBitZbQ5KAd97xwaBBaiQktJ1jrK+nGqwRI5xz2/c0tbVkNFtURJE+P7/OfX+XhNi9997rshBjGIZhGKb7IknAgQPkpdVWXRhABq9VVQrMmKEF0LoQM5vJ6HXUKIpEdTbV1cD331NatCOsKZzBJSF2//33d9Q4GIZhGIbxQk6fpuL1lJS2zVWrqoB33wXuussCjabtdYso1KBBnhmrK1RWArt305jT052fpXlZN0e36aLJoQzDMAzDeDsVFWRVERwMhIS0vqzFArz0EjB/vnOF7qKh94gRgL+/R4brNFVVJMKqq52beCC4eBFQqz2bGXRLiL3++utYsWJFi8/feeedeOutt1xe70cffYT58+cjJycHo0ePxp133gmDwWB7/uuvv8Z1112HnJwczJgxAx988EGzdZhMJvzzn//E+PHjkZubizvuuAN5eXnNlrtw4QLuuOMO5ObmYvz48Xj66adhMpmaLbdlyxbMmDEDOTk5uO666/DNN9+4vF0MwzAM010wGKh2Sq0G4uNbX5asKqjgPju77XUbjVQbNnQozVDsTKqr7ZGw1FTnRFh9PbBpE/Dhh0BgoGdDYm4Jsffffx+ZmZktPt+nTx+89957Lq3zpZdewv/93/9h1qxZ2LhxI/72t78hOTkZ1l/bnf/000+47777kJubiw0bNmDmzJn43//9X+zYsaPJev7+979jy5YteOihh7BmzRqYTCYsW7YMmkax0vr6etx+++0wm81Ys2YNHnroIbz33nv4xz/+0WRd27Ztw5/+9CfMnDkTGzZsQG5uLu677z4cOXLEpW1jGIZhmO6ALFNd2PnzlLZrqzz83Dng0CFg1qy21y1JlJLsiobetbVUE1ZZ6VwkTNTHrV5N4122zPO9L91aXWFhIW655ZYWn+/du7dLQiwvLw9r167Fiy++iKuvvtr2/xkzZth+f+mllzB48GD87W9/AwCMGTMGhYWFWL16Na699loAQFlZGd5//3385S9/waJFiwAAOTk5mDx5Mt555x2sXLkSAPDOO++goaEBa9euRUREBADAarXir3/9K1atWoX4X28BVq9ejdmzZ+PBBx+0vefZs2fxwgsvYMOGDU5vH8MwDMN0B86codY+ycltzyJsaABefhm44w5y22+L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PAYHB3HhhReisbERv//971O+y7dr9+STT6KxsXHE8rnPfS5lu3xrl44f//jH+LM/+zOsWrUKGzZswHvf+15EIpHk9/l4T/7FX/xF2uvW2NiIp59+Orldvl63X/ziF7juuuuwbt06bNq0CX/zN3+DpqamEdvlY/teeOEFvOtd78JZZ52Fiy66CP/6r/+KeDw+Yrus3JeWwbSht7fX2rhxo3XzzTdbL774ovXDH/7QOvvss6377rsv14c2YTz33HPWhRdeaH34wx+2tm3bZr3jHe8Ysc1TTz1lNTY2Wg899JC1e/du6+6777ZWrFhh7d27d/oPeAK4/vrrrTvuuMN6+umnrZdfftn63Oc+Zy1btsz60pe+lNwmX9v2X//1X9ZnP/tZ69lnn7X27NljPf7449Z5551n3XbbbcltfvOb31jLly+37r77bmv37t3WQw89ZDU2Nlo/+9nPcnjkE8eDDz5oXXDBBdbSpUutffv2Jdfn47V74oknrKVLl1ovvviitXfv3uTS0tKS3CYf20U8/PDD1rp166xHHnnEeuWVV6xnn33Wuvfee62BgQHLsvL3njxw4EDK9dq7d6/10Y9+1FqxYoXV1dVlWVb+Xrc9e/ZYy5Yts+666y7rpZdesp5++mnr8ssvty699FIrHA4nt8vH9u3du9datmyZ9fGPf9x68cUXrUcffdRavXq19cADD6Rsl6370hCxacTXvvY1a+3atVZPT09y3fe+9z1r+fLlVltbW+4ObBKIx+PJ93feeWdaInb55ZdbH/vYx1LW3XDDDdZ73/veKT++UwE7SB3/7//9P2v9+vXJdudr29Lh+9//vrV06dLkPXj77bdbN9xwQ8o2H/vYx6ytW7fm4vAmhYMHD1pr1661/vM//3MEEcvHa0cilu7eJPKxXZZlWYcOHbJWrFhh/c///E/GbWbDPUls2bLFet/73pf8nK/X7e6777a2bNliJRKJ5Lrdu3dbS5cutX7zm98k1+Vj+26//XbrXe96V8q6b37zm9bKlSutjo6OlO2ycV8a1+Q04sUXX8T555+P8vLy5LqtW7cikUjgpZdeyt2BTQJO5+i3TlNTE44ePYqtW7emrL/qqquwe/fuGe2OraioGLFu+fLlGBgYQCgUyuu2pQPvx1gshmg0ildeeQVXXnllyjZXXXUVDh06hBMnTuTgCCeO+++/H9u3b8eiRYtS1s+2a0fkc7uefPJJNDQ04KKLLkr7/Wy5JwHg1VdfxYkTJ3D11VcDyO/rNjw8jOLiYjgcjuS60tJSAEiGceRr+958801s3LgxZd2mTZsQi8Xw61//GkB270tDxKYRhw8fxuLFi1PW+f1+VFdX4/Dhwzk6qqkB22MfCJcsWYJYLJY2jmAm47e//S1qa2tRUlIyK9oWj8cxNDSE119/HV/5ylewZcsWNDQ04Pjx44jFYiPu0yVLlgBAXtynzz77LPbv348dO3aM+C7fr922bduwfPlyXHLJJXjkkUeSMSv53K7XXnsNS5cuxcMPP4zzzz8fZ511FrZv347XXnsNAGbFPUk89dRTKCoqwiWXXAIgv6/btddei0OHDuE73/kO+vv70dTUhH/5l3/BihUrsH79egD5276hoSF4vd6Udfx86NAhANm9L92ncrAGE0MwGITf7x+xvqysDH19fTk4oqkD22NvLz/nU3v/7//+D8888wzuvPNOALOjbW9/+9vR3t4OANi8eTM+//nPA8j/toXDYTzwwAO44447UFJSMuL7fG1fdXU1PvzhD2PNmjVwOBzYtWsXvvCFL6C9vR333HNP3rYLADo6OvCHP/wB+/fvx7333ovCwkJ87Wtfw+23346f//zned02HcPDw/jZz36GLVu2oKioCED+3o8AcM455+DLX/4yPv7xj+Mf//EfAYjn4Bvf+AZcLheA/G3fggULsG/fvpR1v/vd7wCoY85m2wwRMzAYBW1tbbjjjjuwYcMG3HLLLbk+nKzh61//OsLhMA4ePIivfvWr+OAHP4hvfetbuT6sU8ZXv/pVVFZW4t3vfneuDyWr2Lx5MzZv3pz8vGnTJvh8Pjz22GP44Ac/mMMjO3VYloVQKIQvfvGLWLZsGQBgzZo12LJlC7797W9j06ZNOT7C7OCll15Cd3d3xgzzfMOrr76Kv/u7v8P111+Piy++GL29vXj44Yfx/ve/H9/97ndRUFCQ60OcNG666Sb8/d//PR577DFcc801OHjwIL7whS8kCWa2YVyT0wi/3z9CJgAQ5lxWVpaDI5o6sD329gaDwZTvZzKCwSDe9773oby8HF/60peScXGzoW3Lli3DunXrcN111+Hhhx/GK6+8gueeey6v29bc3IxHH30UH/nIR9Df349gMIhQKAQACIVCGBwczOv22bF161bE43G8+eabed0uv9+P8vLyJAkDJG5xxYoVOHjwYF63TcdTTz2F8vLyFGKZz227//778ba3vQ133XUX3va2t+HKK6/E17/+dbzxxhv4yU9+AiB/23fttdfi1ltvxYMPPogNGzbgL//yL7F9+3aUlZWhpqYGQHbbZojYNGLx4sUj/Mb9/f3o6OgY4WfOd7A99vYePnwYHo8H8+bNy8VhjRuRSAQf+MAH0N/fj2984xvJIFQg/9tmR2NjIzweD44fP4758+fD4/GkbRuAGX2fnjhxArFYDO9///tx7rnn4txzz01ai2655Rbcdttts+7aEfncrjPOOCPjd0NDQ3l9TxKRSATPP/88rrzySng8nuT6fL5uhw4dSiHPAFBXV4dAIIDjx48DyN/2OZ1OfOpTn8KePXvwk5/8BC+//DKuv/56dHd3Y82aNQCQ1fvSELFpxIUXXoiXX345yZgBCSx2Op0jMjTyHfPmzcPChQvx7LPPpqx/5plncP75548IhJxJGB4exkc/+lEcPnwY3/jGN1BbW5vyfT63LR1ee+01xGIxNDQ0wOv1YsOGDfjv//7vlG2eeeYZLFmyBA0NDTk6yrGxfPly/Md//EfK8slPfhIAcN999+Hee++dVdfumWeegcvlwooVK/K6XW9/+9vR29uLN998M7mup6cHr7/+OlauXJnX9ySxa9cuhEKhZLYkkc/Xbc6cOXjjjTdS1jU3N6Onpwdz584FkN/tAyQLdNmyZfD7/Xj88cfR0NCACy64AACyel+aGLFpxPbt2/H4449jx44d+MAHPoD29nY8+OCD2L59+4jBfqYjHA7jl7/8JQB5+AYGBpIP23nnnYeKigp8+MMfxic+8QnMnz8fGzZswDPPPIN9+/bh29/+di4PfUzcd999eOGFF3DXXXdhYGAgGaQJACtWrIDX683btv31X/81zjrrLDQ2NqKgoABvvfUWvvnNb6KxsRGXXnopAOBDH/oQbrnlFvzDP/wDtm7dildeeQVPPfUUHnrooRwf/ejw+/3YsGFD2u9WrlyJlStXAkBeXru/+qu/woYNG9DY2AhAFM1/8IMf4JZbbkF1dTWA/GwXAFx66aVYtWoVPvKRj+COO+6Az+fD17/+dXi9Xtx0000A8veeJHbu3Ik5c+bg7LPPHvFdvl637du345/+6Z9w//33Y8uWLejt7U3GaOpyFfnYvn379uF///d/sXz5ckQiEezatQs/+clP8G//9m8pcWJZuy8nK3hmMDkcPHjQuvXWW63Vq1db559/vvXAAw9YQ0NDuT6sCaOpqclaunRp2mXPnj3J7X7wgx9Yl112mbVy5Upr27Zt1q5du3J41OPD29/+9oxta2pqSm6Xj2175JFHrGuuucZat26dtXbtWusd73iH9YUvfMHq7+9P2e7555+3tm3bZq1cudK67LLLrB/+8Ic5OuJTw549e0YIulpW/l27T3/609bll19urV692jrrrLOsbdu2WY899liKmKZl5V+7iK6uLusTn/iEdfbZZ1urV6+2br/9duvAgQMp2+TrPdnb22utXLnSevDBBzNuk4/XLZFIWN/97netq6++2lq7dq21ceNGa8eOHdbBgwdHbJtv7XvjjTes6667zlq7dq21du1a69Zbb7VeffXVtNtm4750WJatgJ6BgYGBgYGBgcG0wMSIGRgYGBgYGBjkCIaIGRgYGBgYGBjkCIaIGRgYGBgYGBjkCIaIGRgYGBgYGBjkCIaIGRgYGBgYGBjkCIaIGRgYGBgYGBjkCIaIGRgYGBgYGBjkCIaIGRgYGBgYGBjkCIaIGRgYGBgYGBjkCIaIGRgYGIwD3/nOd9DY2Ijrrrsu14diYGAwi2CImIGBgcE4sHPnTsydOxf79u3DsWPHcn04BgYGswSGiBkYGBiMgaamJuzduxef/OQnUVFRgZ07d+b6kAwMDGYJDBEzMDAwGAM7d+5EWVkZLrroIlxxxRVpiVhPTw/+9m//FuvXr8c555yDO++8E2+99RYaGxvx5JNPpmx76NAhfOQjH8F5552HVatW4dprr8UvfvGL6WqOgYHBDIIhYgYGBgZjYOfOnbjsssvg9Xqxbds2HD16FPv27Ut+n0gk8KEPfQhPP/003vWud+GOO+5AR0cH7rzzzhH7OnDgAG644QYcOnQI73vf+3DXXXehqKgIO3bswHPPPTedzTIwMJgBcOf6AAwMDAxmMv7whz/g8OHDuPvuuwEAZ599Nurq6rBz506sXr0aAPD8889j7969+NSnPoVbb70VAHDjjTfitttuG7G/z3zmM6ivr8cTTzwBr9cLALjppptw44034nOf+xwuu+yyaWqZgYHBTICxiBkYGBiMgp07d6KqqgobNmwAADgcDlx11VV45plnEI/HAQC/+tWv4PF4cP311yd/53Q6cfPNN6fsq7e3F3v27MHWrVsxMDCA7u5udHd3o6enB5s2bcLRo0fR3t4+fY0zMDDIOYxFzMDAwCAD4vE4nn76aWzYsAEnTpxIrl+9ejUeffRR7N69G5s2bUJLSwuqq6tRWFiY8vv58+enfD5+/Dgsy8IXv/hFfPGLX0z7n11dXaitrc1+YwwMDGYkDBEzMDAwyIA9e/ago6MDTz/9NJ5++ukR3+/cuRObNm0a9/4SiQQA4Pbbb8fmzZvTbmMnbwYGBrMbhogZGBgYZMDOnTtRWVmJe+65Z8R3zz33HJ577jncd999mDNnDl555RWEw+EUq9jx48dTfjNv3jwAgMfjwQUXXDC1B29gYJAXMDFiBgYGBmkQiUTw85//HBdffDGuvPLKEcvNN9+MwcFB7Nq1C5s2bUIsFsMPfvCD5O8TiQS+853vpOyzsrIS5513Hr7//e/j5MmTI/6zu7t7yttlYGAws2AsYgYGBgZpsGvXLgwODmLLli1pv1+7di0qKirw05/+FF/5ylewevVqfPazn8Xx48exePFi7Nq1C319fQAkwJ+49957cdNNN+Hqq6/G9ddfj3nz5qGzsxO/+93v0NbWhp/+9KfT0j4DA4OZAUPEDAwMDNLgpz/9KXw+HzZu3Jj2e6fTiYsvvhg7d+5EMBjEI488gs985jP48Y9/DKfTicsuuww7duzAjTfeCJ/Pl/zdGWecgSeeeAJf/vKX8eMf/xi9vb2oqKjAihUrsGPHjulqnoGBwQyBw7IsK9cHYWBgYDAb8fzzz2PHjh347ne/i7PPPjvXh2NgYDADYWLEDAwMDLKASCSS8jkej+Pxxx9HSUkJVq5cmaOjMjAwmOkwrkkDAwODLODTn/40IpEI1q1bh2g0ip///OfYu3cvPvaxj6GgoCDXh2dgYDBDYVyTBgYGBlnAzp078a1vfQvHjh3D0NAQFixYgBtvvBHvec97cn1oBgYGMxiGiBkYGBgYGBgY5AgmRszAwMDAwMDAIEcwRMzAwMDAwMDAIEcwRMzAwMDAwMDAIEcwRMzAwMDAwMDAIEcwRMzAwMDAwMDAIEcwRMzAwMDAwMDAIEcwRMzAwMDAwMDAIEcwRMzAwMDAwMDAIEf4/+txDXonufQvAAAAAElFTkSuQmCC\n" + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Running IDP 2 rh_MeanThickness_thickness :\n", + "Making predictions with dummy covariates (for visualisation)\n", + "Loading data ...\n", + "Prediction by model 1 of 1\n", + "Writing outputs ...\n", + "metrics: {'RMSE': array([0.08652435]), 'Rho': array([0.77666469]), 'pRho': array([2.97430261e-103]), 'SMSE': array([0.40227749]), 'EXPV': array([0.59789079])}\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkoAAAHPCAYAAACstvVvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAADph0lEQVR4nOydd1hT59/G7ySEvUE2CCqiiBv33ts6W7dWW7VVq3ba/mp3rd1La63W0Var1larde+BC/fee+BC9k7y/nG/hwASCCRkwPO5rnNBTtZzTs64n++UaTQaDQQCgUAgEAgETyE39wAEAoFAIBAILBUhlAQCgUAgEAh0IISSQCAQCAQCgQ6EUBIIBAKBQCDQgRBKAoFAIBAIBDoQQkkgEAgEAoFAB0IoCQQCgUAgEOhACCWBQCAQCAQCHQihJBAIBAKBQKADIZQEglLSvn17jBs3ztzDsHh+/PFHREREID4+vtjXtm/fHtOmTSvR5x88eBARERHYuHFjaYdotfzzzz+IiIjAqVOnin3t8OHDMXz48BJ9/u3btxEREYFff/21tEMUCKweG3MPQCAQUCDcuXMHzZo1w6JFi556fsWKFZg+fToAYOXKlahdu7aJR6jl4MGDGDFihF6vvXDhQhmPpmKwZMkSODg4oF+/fuYeikBQ4RBCSSCwEOzs7HDw4EE8fPgQlSpVyvfc2rVrYWdnh8zMTDONTkvVqlXxxRdf5Fv3zTffwNHREePHjzfoszdu3AiZTGbQZ5RH/vzzT3h4eBgklIRVSCAoHUIoCQSlIC0tzeif2aBBA5w6dQrr16/HyJEjc9fHxcXh8OHD6NSpEzZt2mT07y0p3t7eeOaZZ/KtmzdvHjw8PJ5aX1JsbW0Ner9AN2LfCgSlQ8QoCQTFIMXYXL58Ga+99hoaNWqEIUOG5D5/+PBhDBgwALVr10aHDh2wevXqUn2PnZ0dOnfujP/++y/f+v/++w+urq5o2bJloe+7cuUKXnnlFTRu3Bi1a9dGv379sG3btnyvSUhIwOeff45evXqhfv36aNCgAV544QWcP38+3+ukeJ/169djzpw5aN26NWrXro2RI0fixo0bpdouieTkZEybNg3R0dFo2LAh3n77baSnp+d7TWExSklJSZgxYwbat2+PqKgotG7dGm+++WaRMU9ZWVkYN24cGjZsiKNHjwLQ/o43btwodhwA8O+//6Jfv36oU6cOGjdujKlTp+LevXv5XnP9+nVMmjQJLVq0QO3atdG6dWtMnToVycnJua+JiYnB4MGDER0djfr166NLly745ptv9N5v7du3x6VLl3Do0CFEREQgIiLiqVijrKwsfPbZZ2jatCnq1auHCRMmPLV/CotRyszMxI8//oguXbqgdu3aaNmyJSZOnIibN2/qHI9Go8H06dMRFRWFzZs3A9DGSh05cqTYcQDArl27MGTIENSrVw/169fH2LFjcenSpXyvefjwId5++220bt0aUVFRaNmyJV566SXcvn079zWnTp3CmDFj0KRJE9SpUwft27fH22+/rd+OFQj0RFiUBAI9mTx5MipXroypU6dCo9Hg119/xY0bNzB58mQMGDAAffv2xd9//41p06ahVq1aCA8PL/F39OzZE6NHj8bNmzcREhICgEKpS5cusLF5+nS9dOkSBg8eDF9fX7z44otwdHTEhg0bMGHCBPz444/o1KkTAODWrVvYunUrunbtiqCgIDx69AjLly/HsGHDsG7dOvj6+ub73Hnz5kEmk2H06NFISUnB/Pnz8frrr+Ovv/4qxZ4jU6ZMQVBQEF599VWcPXsWf/31Fzw9PfHGG2/ofE9qaiqGDh2KK1euoH///oiMjMSTJ0+wfft23L9/H56enk+9JyMjAy+//DJOnz6NhQsXok6dOiUex5w5c/D999+jW7duGDBgAOLj4/HHH39g6NChWL16NVxdXZGVlYUxY8YgKysLw4YNg7e3N+7fv4+dO3ciKSkJLi4uuHTpEsaNG4eIiAi88sorsLW1xY0bN3LFmz688847+Pjjj/O5Nr29vfO95pNPPoGrqysmTpyIO3fuYPHixfjoo4/w3Xff6fxclUqFcePGYf/+/ejRowdGjBiB1NRUxMTE4OLFi7nHX8H3vPPOO1i/fj1mzZqFtm3blngcq1evxrRp09CyZUu8/vrrSE9Px59//okhQ4Zg1apVCAoKAgBMmjQJly9fxrBhwxAYGIj4+HjExMTg3r17CAoKwuPHjzFmzBh4eHhg7NixcHV1xe3bt7Flyxa9961AoBcagUBQJD/88IOmevXqmldffTXf+nbt2mmqV6+uiY2NzV33+PFjTVRUlGbmzJkl+o527dppxo4dq8nJydG0aNFCM3v2bI1Go9FcvnxZU716dc2hQ4c0f//9t6Z6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\n" + }, + "metadata": {} + } + ], + "source": [ + "sns.set(style='whitegrid')\n", + "\n", + "for idp_num, idp in enumerate(idp_ids):\n", + " print('Running IDP', idp_num, idp, ':')\n", + " idp_dir = os.path.join(out_dir, idp)\n", + " os.chdir(idp_dir)\n", + "\n", + " # load the true data points\n", + " yhat_te = load_2d(os.path.join(idp_dir, 'yhat_predict.txt'))\n", + " s2_te = load_2d(os.path.join(idp_dir, 'ys2_predict.txt'))\n", + " y_te = load_2d(os.path.join(idp_dir, 'resp_te.txt'))\n", + "\n", + " # set up the covariates for the dummy data\n", + " print('Making predictions with dummy covariates (for visualisation)')\n", + " yhat, s2 = predict(cov_file_dummy,\n", + " alg = 'blr',\n", + " respfile = None,\n", + " model_path = os.path.join(idp_dir,'Models'),\n", + " outputsuffix = '_dummy')\n", + "\n", + " # load the normative model\n", + " with open(os.path.join(idp_dir,'Models', 'NM_0_0_estimate.pkl'), 'rb') as handle:\n", + " nm = pickle.load(handle)\n", + "\n", + " # get the warp and warp parameters\n", + " W = nm.blr.warp\n", + " warp_param = nm.blr.hyp[1:nm.blr.warp.get_n_params()+1]\n", + "\n", + " # first, we warp predictions for the true data and compute evaluation metrics\n", + " med_te = W.warp_predictions(np.squeeze(yhat_te), np.squeeze(s2_te), warp_param)[0]\n", + " med_te = med_te[:, np.newaxis]\n", + " print('metrics:', evaluate(y_te, med_te))\n", + "\n", + " # then, we warp dummy predictions to create the plots\n", + " med, pr_int = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2), warp_param)\n", + "\n", + " # extract the different variance components to visualise\n", + " beta, junk1, junk2 = nm.blr._parse_hyps(nm.blr.hyp, X_dummy)\n", + " s2n = 1/beta # variation (aleatoric uncertainty)\n", + " s2s = s2-s2n # modelling uncertainty (epistemic uncertainty)\n", + "\n", + " # plot the data points\n", + " y_te_rescaled_all = np.zeros_like(y_te)\n", + " for sid, site in enumerate(site_ids_te):\n", + " # plot the true test data points\n", + " if all(elem in site_ids_tr for elem in site_ids_te):\n", + " # all data in the test set are present in the training set\n", + "\n", + " # first, we select the data points belonging to this particular site\n", + " idx = np.where(np.bitwise_and(X_te[:,2] == sex, X_te[:,sid+len(cols_cov)+1] !=0))[0]\n", + " if len(idx) == 0:\n", + " print('No data for site', sid, site, 'skipping...')\n", + " continue\n", + "\n", + " # then directly adjust the data\n", + " idx_dummy = np.bitwise_and(X_dummy[:,1] > X_te[idx,1].min(), X_dummy[:,1] < X_te[idx,1].max())\n", + " y_te_rescaled = y_te[idx] - np.median(y_te[idx]) + np.median(med[idx_dummy])\n", + " else:\n", + " # we need to adjust the data based on the adaptation dataset\n", + "\n", + " # first, select the data point belonging to this particular site\n", + " idx = np.where(np.bitwise_and(X_te[:,2] == sex, (df_te['site'] == site).to_numpy()))[0]\n", + "\n", + " # load the adaptation data\n", + " y_ad = load_2d(os.path.join(idp_dir, 'resp_ad.txt'))\n", + " X_ad = load_2d(os.path.join(idp_dir, 'cov_bspline_ad.txt'))\n", + " idx_a = np.where(np.bitwise_and(X_ad[:,2] == sex, (df_ad['site'] == site).to_numpy()))[0]\n", + " if len(idx) < 2 or len(idx_a) < 2:\n", + " print('Insufficent data for site', sid, site, 'skipping...')\n", + " continue\n", + "\n", + " # adjust and rescale the data\n", + " y_te_rescaled, s2_rescaled = nm.blr.predict_and_adjust(nm.blr.hyp,\n", + " X_ad[idx_a,:],\n", + " np.squeeze(y_ad[idx_a]),\n", + " Xs=None,\n", + " ys=np.squeeze(y_te[idx]))\n", + " # plot the (adjusted) data points\n", + " plt.scatter(X_te[idx,1], y_te_rescaled, s=4, color=clr, alpha = 0.1)\n", + "\n", + " # plot the median of the dummy data\n", + " plt.plot(xx, med, clr)\n", + "\n", + " # fill the gaps in between the centiles\n", + " junk, pr_int25 = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2), warp_param, percentiles=[0.25,0.75])\n", + " junk, pr_int95 = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2), warp_param, percentiles=[0.05,0.95])\n", + " junk, pr_int99 = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2), warp_param, percentiles=[0.01,0.99])\n", + " plt.fill_between(xx, pr_int25[:,0], pr_int25[:,1], alpha = 0.1,color=clr)\n", + " plt.fill_between(xx, pr_int95[:,0], pr_int95[:,1], alpha = 0.1,color=clr)\n", + " plt.fill_between(xx, pr_int99[:,0], pr_int99[:,1], alpha = 0.1,color=clr)\n", + "\n", + " # make the width of each centile proportional to the epistemic uncertainty\n", + " junk, pr_int25l = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2-0.5*s2s), warp_param, percentiles=[0.25,0.75])\n", + " junk, pr_int95l = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2-0.5*s2s), warp_param, percentiles=[0.05,0.95])\n", + " junk, pr_int99l = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2-0.5*s2s), warp_param, percentiles=[0.01,0.99])\n", + " junk, pr_int25u = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2+0.5*s2s), warp_param, percentiles=[0.25,0.75])\n", + " junk, pr_int95u = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2+0.5*s2s), warp_param, percentiles=[0.05,0.95])\n", + " junk, pr_int99u = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2+0.5*s2s), warp_param, percentiles=[0.01,0.99])\n", + " plt.fill_between(xx, pr_int25l[:,0], pr_int25u[:,0], alpha = 0.3,color=clr)\n", + " plt.fill_between(xx, pr_int95l[:,0], pr_int95u[:,0], alpha = 0.3,color=clr)\n", + " plt.fill_between(xx, pr_int99l[:,0], pr_int99u[:,0], alpha = 0.3,color=clr)\n", + " plt.fill_between(xx, pr_int25l[:,1], pr_int25u[:,1], alpha = 0.3,color=clr)\n", + " plt.fill_between(xx, pr_int95l[:,1], pr_int95u[:,1], alpha = 0.3,color=clr)\n", + " plt.fill_between(xx, pr_int99l[:,1], pr_int99u[:,1], alpha = 0.3,color=clr)\n", + "\n", + " # plot actual centile lines\n", + " plt.plot(xx, pr_int25[:,0],color=clr, linewidth=0.5)\n", + " plt.plot(xx, pr_int25[:,1],color=clr, linewidth=0.5)\n", + " plt.plot(xx, pr_int95[:,0],color=clr, linewidth=0.5)\n", + " plt.plot(xx, pr_int95[:,1],color=clr, linewidth=0.5)\n", + " plt.plot(xx, pr_int99[:,0],color=clr, linewidth=0.5)\n", + " plt.plot(xx, pr_int99[:,1],color=clr, linewidth=0.5)\n", + "\n", + " plt.xlabel('Age')\n", + " plt.ylabel(idp)\n", + " plt.title(idp)\n", + " plt.xlim((0,90))\n", + " plt.savefig(os.path.join(idp_dir, 'centiles_' + str(sex)), bbox_inches='tight')\n", + " plt.show()\n", + "\n", + "os.chdir(out_dir)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "135dbebd-f563-4a2a-9f44-f96757fb4b0b", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "135dbebd-f563-4a2a-9f44-f96757fb4b0b", + "outputId": "6aabc7ba-2896-4a35-932d-bd843f90b8e5" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "centiles_1.png\t Models\t Rho_predict.txt\tSMSE_predict.txt ys2_predict.txt\n", + "cov_bspline_ad.txt pRho_predict.txt RMSE_predict.txt\tyhat_dummy.pkl\t Z_predict.txt\n", + "cov_bspline_te.txt resp_ad.txt sitenum_ad.txt\tyhat_predict.txt\n", + "EXPV_predict.txt resp_te.txt sitenum_te.txt\tys2_dummy.pkl\n" + ] + } + ], + "source": [ + "# explore an example output folder of a single model (one ROI)\n", + "# think about what each of these output files represents.\n", + "# Hint: look at the variable names and comments in the code block above\n", + "! ls rh_MeanThickness_thickness/" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "fe1cac10-01f1-42fd-a4b7-cf08ce0d64be", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "fe1cac10-01f1-42fd-a4b7-cf08ce0d64be", + "outputId": "cd83ef21-0698-4183-9b90-a48a1f90f465" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + " 436 436 11115\n" + ] + } + ], + "source": [ + "# check that the number of deviation scores matches the number of subjects in the test set\n", + "# there should be one deviation score per subject (one line per subject), so we can\n", + "# verify by counting the line numbers in the Z_predict.txt file\n", + "! cat rh_MeanThickness_thickness/Z_predict.txt | wc" + ] + }, + { + "cell_type": "markdown", + "id": "88d2dbc0-e82f-4af5-91eb-dc8aa60f6ba7", + "metadata": { + "id": "88d2dbc0-e82f-4af5-91eb-dc8aa60f6ba7" + }, + "source": [ + "The deviation scores are output as a text file in separate folders. We want to summarize the deviation scores across all models estimates so we can organize them into a single file, and merge the deviation scores into the original data file." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "e3fb0ced-ed44-487c-86b8-07b9fc04d64e", + "metadata": { + "id": "e3fb0ced-ed44-487c-86b8-07b9fc04d64e" + }, + "outputs": [], + "source": [ + "! mkdir deviation_scores" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "571f549e-9edd-4f8b-a6b3-d76cd23609f0", + "metadata": { + "id": "571f549e-9edd-4f8b-a6b3-d76cd23609f0" + }, + "outputs": [], + "source": [ + "! for i in *; do if [[ -e ${i}/Z_predict.txt ]]; then cp ${i}/Z_predict.txt deviation_scores/${i}_Z_predict.txt; fi; done" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "9f63da6c-91e8-4852-91a7-a4e8bc9d9f31", + "metadata": { + "id": "9f63da6c-91e8-4852-91a7-a4e8bc9d9f31" + }, + "outputs": [], + "source": [ + "z_dir = '/content/braincharts/models/' + model_name + '/deviation_scores/'\n", + "\n", + "filelist = [name for name in os.listdir(z_dir)]" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "8791195b-09a9-4251-8fd7-35e80a028d2f", + "metadata": { + "id": "8791195b-09a9-4251-8fd7-35e80a028d2f" + }, + "outputs": [], + "source": [ + "os.chdir(z_dir)\n", + "Z_df = pd.concat([pd.read_csv(item, names=[item[:-4]]) for item in filelist], axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "f1054959-dd17-4c1b-b1db-56cf849ecae2", + "metadata": { + "id": "f1054959-dd17-4c1b-b1db-56cf849ecae2" + }, + "outputs": [], + "source": [ + "df_te.reset_index(inplace=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "6ab00be4-d9c8-49aa-b407-f69946ca2d6c", + "metadata": { + "id": "6ab00be4-d9c8-49aa-b407-f69946ca2d6c" + }, + "outputs": [], + "source": [ + "Z_df['sub_id'] = df_te['sub_id']" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "9f6185b6-d9d7-4651-bbab-2cfba6c46963", + "metadata": { + "id": "9f6185b6-d9d7-4651-bbab-2cfba6c46963" + }, + "outputs": [], + "source": [ + "df_te_Z = pd.merge(df_te, Z_df, on='sub_id', how='inner')" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "ae932714-60c3-4a36-8b72-cd9086a25761", + "metadata": { + "id": "ae932714-60c3-4a36-8b72-cd9086a25761" + }, + "outputs": [], + "source": [ + "df_te_Z.to_csv('OpenNeuroTransfer_deviation_scores.csv', index=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "9c97bd6e", + "metadata": { + "id": "9c97bd6e" + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "colab": { + "name": "apply_normative_models.ipynb", + "provenance": [] + }, + "kernelspec": { + "display_name": "braincharts", + "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.9.7" + }, + "vscode": { + "interpreter": { + "hash": "f65f66140ab2d9a57fedc58a3b7e1d01f34d12111107cec87dc46b07c8179a15" + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} \ No newline at end of file From 700e8271af69303142471ff2a8bd3190e7b7a275 Mon Sep 17 00:00:00 2001 From: Stijn Date: Mon, 18 Nov 2024 09:56:14 +0100 Subject: [PATCH 63/68] Move numba and nutpie deps to pyproject.toml --- .gitignore | 6 +- doc/source/pages/FAQs.rst | 2 +- poetry.lock | 303 +++++++++++++++++++++++++++++--------- pyproject.toml | 14 +- tests/test_test.py | 0 5 files changed, 245 insertions(+), 80 deletions(-) create mode 100644 tests/test_test.py diff --git a/.gitignore b/.gitignore index c877c0c6..ddd329e6 100644 --- a/.gitignore +++ b/.gitignore @@ -92,4 +92,8 @@ build/* # CLI test folder tests/cli_test/* !tests/cli_test/test_cli.sh -!tests/cli_test/split_data.py \ No newline at end of file +!tests/cli_test/split_data.py + +docs/autoapi/* +docs/_build/* +docs \ No newline at end of file diff --git a/doc/source/pages/FAQs.rst b/doc/source/pages/FAQs.rst index a8879d36..efe98bd0 100644 --- a/doc/source/pages/FAQs.rst +++ b/doc/source/pages/FAQs.rst @@ -5,7 +5,7 @@ Frequently Asked Questions Most of the questions we recieve are about interpretation of normative modeling outputs. -The PCNtoolkit develoers have written a protocol for how to run a normative modeling analysis which should be helpful to you if you are just getting started. +The PCNtoolkit developers have written a protocol for how to run a normative modeling analysis which should be helpful to you if you are just getting started. Rutherford, S., Kia, S. M., Wolfers, T., ... Beckmann, C. F., & Marquand, A. F. (2022). The Normative Modeling Framework for Computational Psychiatry. Nature Protocols. https://www.nature.com/articles/s41596-022-00696-5. diff --git a/poetry.lock b/poetry.lock index 4607f4a6..9c91ef44 100644 --- a/poetry.lock +++ b/poetry.lock @@ -626,59 +626,61 @@ typing = ["typing-extensions (>=4.12.2)"] [[package]] name = "fonttools" -version = "4.54.1" +version = "4.55.0" description = "Tools to manipulate font files" optional = false python-versions = ">=3.8" files = [ - {file = "fonttools-4.54.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7ed7ee041ff7b34cc62f07545e55e1468808691dddfd315d51dd82a6b37ddef2"}, - {file = "fonttools-4.54.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:41bb0b250c8132b2fcac148e2e9198e62ff06f3cc472065dff839327945c5882"}, - {file = "fonttools-4.54.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7965af9b67dd546e52afcf2e38641b5be956d68c425bef2158e95af11d229f10"}, - {file = "fonttools-4.54.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:278913a168f90d53378c20c23b80f4e599dca62fbffae4cc620c8eed476b723e"}, - {file = "fonttools-4.54.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0e88e3018ac809b9662615072dcd6b84dca4c2d991c6d66e1970a112503bba7e"}, - {file = "fonttools-4.54.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4aa4817f0031206e637d1e685251ac61be64d1adef111060df84fdcbc6ab6c44"}, - {file = "fonttools-4.54.1-cp310-cp310-win32.whl", hash = "sha256:7e3b7d44e18c085fd8c16dcc6f1ad6c61b71ff463636fcb13df7b1b818bd0c02"}, - {file = "fonttools-4.54.1-cp310-cp310-win_amd64.whl", hash = "sha256:dd9cc95b8d6e27d01e1e1f1fae8559ef3c02c76317da650a19047f249acd519d"}, - {file = "fonttools-4.54.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5419771b64248484299fa77689d4f3aeed643ea6630b2ea750eeab219588ba20"}, - {file = "fonttools-4.54.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:301540e89cf4ce89d462eb23a89464fef50915255ece765d10eee8b2bf9d75b2"}, - {file = "fonttools-4.54.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76ae5091547e74e7efecc3cbf8e75200bc92daaeb88e5433c5e3e95ea8ce5aa7"}, - {file = "fonttools-4.54.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82834962b3d7c5ca98cb56001c33cf20eb110ecf442725dc5fdf36d16ed1ab07"}, - {file = "fonttools-4.54.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d26732ae002cc3d2ecab04897bb02ae3f11f06dd7575d1df46acd2f7c012a8d8"}, - {file = "fonttools-4.54.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:58974b4987b2a71ee08ade1e7f47f410c367cdfc5a94fabd599c88165f56213a"}, - {file = "fonttools-4.54.1-cp311-cp311-win32.whl", hash = "sha256:ab774fa225238986218a463f3fe151e04d8c25d7de09df7f0f5fce27b1243dbc"}, - {file = "fonttools-4.54.1-cp311-cp311-win_amd64.whl", hash = "sha256:07e005dc454eee1cc60105d6a29593459a06321c21897f769a281ff2d08939f6"}, - {file = "fonttools-4.54.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:54471032f7cb5fca694b5f1a0aaeba4af6e10ae989df408e0216f7fd6cdc405d"}, - {file = "fonttools-4.54.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8fa92cb248e573daab8d032919623cc309c005086d743afb014c836636166f08"}, - {file = "fonttools-4.54.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a911591200114969befa7f2cb74ac148bce5a91df5645443371aba6d222e263"}, - {file = "fonttools-4.54.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93d458c8a6a354dc8b48fc78d66d2a8a90b941f7fec30e94c7ad9982b1fa6bab"}, - {file = "fonttools-4.54.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5eb2474a7c5be8a5331146758debb2669bf5635c021aee00fd7c353558fc659d"}, - {file = "fonttools-4.54.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c9c563351ddc230725c4bdf7d9e1e92cbe6ae8553942bd1fb2b2ff0884e8b714"}, - {file = "fonttools-4.54.1-cp312-cp312-win32.whl", hash = "sha256:fdb062893fd6d47b527d39346e0c5578b7957dcea6d6a3b6794569370013d9ac"}, - {file = "fonttools-4.54.1-cp312-cp312-win_amd64.whl", hash = "sha256:e4564cf40cebcb53f3dc825e85910bf54835e8a8b6880d59e5159f0f325e637e"}, - {file = "fonttools-4.54.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6e37561751b017cf5c40fce0d90fd9e8274716de327ec4ffb0df957160be3bff"}, - {file = "fonttools-4.54.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:357cacb988a18aace66e5e55fe1247f2ee706e01debc4b1a20d77400354cddeb"}, - {file = "fonttools-4.54.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8e953cc0bddc2beaf3a3c3b5dd9ab7554677da72dfaf46951e193c9653e515a"}, - {file = "fonttools-4.54.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:58d29b9a294573d8319f16f2f79e42428ba9b6480442fa1836e4eb89c4d9d61c"}, - {file = "fonttools-4.54.1-cp313-cp313-win32.whl", hash = "sha256:9ef1b167e22709b46bf8168368b7b5d3efeaaa746c6d39661c1b4405b6352e58"}, - {file = "fonttools-4.54.1-cp313-cp313-win_amd64.whl", hash = "sha256:262705b1663f18c04250bd1242b0515d3bbae177bee7752be67c979b7d47f43d"}, - {file = "fonttools-4.54.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ed2f80ca07025551636c555dec2b755dd005e2ea8fbeb99fc5cdff319b70b23b"}, - {file = "fonttools-4.54.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9dc080e5a1c3b2656caff2ac2633d009b3a9ff7b5e93d0452f40cd76d3da3b3c"}, - {file = "fonttools-4.54.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d152d1be65652fc65e695e5619e0aa0982295a95a9b29b52b85775243c06556"}, - {file = "fonttools-4.54.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8583e563df41fdecef31b793b4dd3af8a9caa03397be648945ad32717a92885b"}, - {file = "fonttools-4.54.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:0d1d353ef198c422515a3e974a1e8d5b304cd54a4c2eebcae708e37cd9eeffb1"}, - {file = "fonttools-4.54.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:fda582236fee135d4daeca056c8c88ec5f6f6d88a004a79b84a02547c8f57386"}, - {file = "fonttools-4.54.1-cp38-cp38-win32.whl", hash = "sha256:e7d82b9e56716ed32574ee106cabca80992e6bbdcf25a88d97d21f73a0aae664"}, - {file = "fonttools-4.54.1-cp38-cp38-win_amd64.whl", hash = "sha256:ada215fd079e23e060157aab12eba0d66704316547f334eee9ff26f8c0d7b8ab"}, - {file = "fonttools-4.54.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f5b8a096e649768c2f4233f947cf9737f8dbf8728b90e2771e2497c6e3d21d13"}, - {file = "fonttools-4.54.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4e10d2e0a12e18f4e2dd031e1bf7c3d7017be5c8dbe524d07706179f355c5dac"}, - {file = "fonttools-4.54.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:31c32d7d4b0958600eac75eaf524b7b7cb68d3a8c196635252b7a2c30d80e986"}, - {file = "fonttools-4.54.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c39287f5c8f4a0c5a55daf9eaf9ccd223ea59eed3f6d467133cc727d7b943a55"}, - {file = "fonttools-4.54.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a7a310c6e0471602fe3bf8efaf193d396ea561486aeaa7adc1f132e02d30c4b9"}, - {file = "fonttools-4.54.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d3b659d1029946f4ff9b6183984578041b520ce0f8fb7078bb37ec7445806b33"}, - {file = "fonttools-4.54.1-cp39-cp39-win32.whl", hash = "sha256:e96bc94c8cda58f577277d4a71f51c8e2129b8b36fd05adece6320dd3d57de8a"}, - {file = "fonttools-4.54.1-cp39-cp39-win_amd64.whl", hash = "sha256:e8a4b261c1ef91e7188a30571be6ad98d1c6d9fa2427244c545e2fa0a2494dd7"}, - {file = "fonttools-4.54.1-py3-none-any.whl", hash = "sha256:37cddd62d83dc4f72f7c3f3c2bcf2697e89a30efb152079896544a93907733bd"}, - {file = "fonttools-4.54.1.tar.gz", hash = "sha256:957f669d4922f92c171ba01bef7f29410668db09f6c02111e22b2bce446f3285"}, + {file = "fonttools-4.55.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:51c029d4c0608a21a3d3d169dfc3fb776fde38f00b35ca11fdab63ba10a16f61"}, + {file = "fonttools-4.55.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bca35b4e411362feab28e576ea10f11268b1aeed883b9f22ed05675b1e06ac69"}, + {file = "fonttools-4.55.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ce4ba6981e10f7e0ccff6348e9775ce25ffadbee70c9fd1a3737e3e9f5fa74f"}, + {file = "fonttools-4.55.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31d00f9852a6051dac23294a4cf2df80ced85d1d173a61ba90a3d8f5abc63c60"}, + {file = "fonttools-4.55.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e198e494ca6e11f254bac37a680473a311a88cd40e58f9cc4dc4911dfb686ec6"}, + {file = "fonttools-4.55.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7208856f61770895e79732e1dcbe49d77bd5783adf73ae35f87fcc267df9db81"}, + {file = "fonttools-4.55.0-cp310-cp310-win32.whl", hash = "sha256:e7e6a352ff9e46e8ef8a3b1fe2c4478f8a553e1b5a479f2e899f9dc5f2055880"}, + {file = "fonttools-4.55.0-cp310-cp310-win_amd64.whl", hash = "sha256:636caaeefe586d7c84b5ee0734c1a5ab2dae619dc21c5cf336f304ddb8f6001b"}, + {file = "fonttools-4.55.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fa34aa175c91477485c44ddfbb51827d470011e558dfd5c7309eb31bef19ec51"}, + {file = "fonttools-4.55.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:37dbb3fdc2ef7302d3199fb12468481cbebaee849e4b04bc55b77c24e3c49189"}, + {file = "fonttools-4.55.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5263d8e7ef3c0ae87fbce7f3ec2f546dc898d44a337e95695af2cd5ea21a967"}, + {file = "fonttools-4.55.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f307f6b5bf9e86891213b293e538d292cd1677e06d9faaa4bf9c086ad5f132f6"}, + {file = "fonttools-4.55.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f0a4b52238e7b54f998d6a56b46a2c56b59c74d4f8a6747fb9d4042190f37cd3"}, + {file = "fonttools-4.55.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3e569711464f777a5d4ef522e781dc33f8095ab5efd7548958b36079a9f2f88c"}, + {file = "fonttools-4.55.0-cp311-cp311-win32.whl", hash = "sha256:2b3ab90ec0f7b76c983950ac601b58949f47aca14c3f21eed858b38d7ec42b05"}, + {file = "fonttools-4.55.0-cp311-cp311-win_amd64.whl", hash = "sha256:aa046f6a63bb2ad521004b2769095d4c9480c02c1efa7d7796b37826508980b6"}, + {file = "fonttools-4.55.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:838d2d8870f84fc785528a692e724f2379d5abd3fc9dad4d32f91cf99b41e4a7"}, + {file = "fonttools-4.55.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f46b863d74bab7bb0d395f3b68d3f52a03444964e67ce5c43ce43a75efce9246"}, + {file = "fonttools-4.55.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33b52a9cfe4e658e21b1f669f7309b4067910321757fec53802ca8f6eae96a5a"}, + {file = "fonttools-4.55.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:732a9a63d6ea4a81b1b25a1f2e5e143761b40c2e1b79bb2b68e4893f45139a40"}, + {file = "fonttools-4.55.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7dd91ac3fcb4c491bb4763b820bcab6c41c784111c24172616f02f4bc227c17d"}, + {file = "fonttools-4.55.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1f0e115281a32ff532118aa851ef497a1b7cda617f4621c1cdf81ace3e36fb0c"}, + {file = "fonttools-4.55.0-cp312-cp312-win32.whl", hash = "sha256:6c99b5205844f48a05cb58d4a8110a44d3038c67ed1d79eb733c4953c628b0f6"}, + {file = "fonttools-4.55.0-cp312-cp312-win_amd64.whl", hash = "sha256:f8c8c76037d05652510ae45be1cd8fb5dd2fd9afec92a25374ac82255993d57c"}, + {file = "fonttools-4.55.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8118dc571921dc9e4b288d9cb423ceaf886d195a2e5329cc427df82bba872cd9"}, + {file = "fonttools-4.55.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:01124f2ca6c29fad4132d930da69158d3f49b2350e4a779e1efbe0e82bd63f6c"}, + {file = "fonttools-4.55.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81ffd58d2691f11f7c8438796e9f21c374828805d33e83ff4b76e4635633674c"}, + {file = "fonttools-4.55.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5435e5f1eb893c35c2bc2b9cd3c9596b0fcb0a59e7a14121562986dd4c47b8dd"}, + {file = "fonttools-4.55.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d12081729280c39d001edd0f4f06d696014c26e6e9a0a55488fabc37c28945e4"}, + {file = "fonttools-4.55.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a7ad1f1b98ab6cb927ab924a38a8649f1ffd7525c75fe5b594f5dab17af70e18"}, + {file = "fonttools-4.55.0-cp313-cp313-win32.whl", hash = "sha256:abe62987c37630dca69a104266277216de1023cf570c1643bb3a19a9509e7a1b"}, + {file = "fonttools-4.55.0-cp313-cp313-win_amd64.whl", hash = "sha256:2863555ba90b573e4201feaf87a7e71ca3b97c05aa4d63548a4b69ea16c9e998"}, + {file = "fonttools-4.55.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:00f7cf55ad58a57ba421b6a40945b85ac7cc73094fb4949c41171d3619a3a47e"}, + {file = "fonttools-4.55.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f27526042efd6f67bfb0cc2f1610fa20364396f8b1fc5edb9f45bb815fb090b2"}, + {file = "fonttools-4.55.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8e67974326af6a8879dc2a4ec63ab2910a1c1a9680ccd63e4a690950fceddbe"}, + {file = "fonttools-4.55.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61dc0a13451143c5e987dec5254d9d428f3c2789a549a7cf4f815b63b310c1cc"}, + {file = "fonttools-4.55.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:b2e526b325a903868c62155a6a7e24df53f6ce4c5c3160214d8fe1be2c41b478"}, + {file = "fonttools-4.55.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:b7ef9068a1297714e6fefe5932c33b058aa1d45a2b8be32a4c6dee602ae22b5c"}, + {file = "fonttools-4.55.0-cp38-cp38-win32.whl", hash = "sha256:55718e8071be35dff098976bc249fc243b58efa263768c611be17fe55975d40a"}, + {file = "fonttools-4.55.0-cp38-cp38-win_amd64.whl", hash = "sha256:553bd4f8cc327f310c20158e345e8174c8eed49937fb047a8bda51daf2c353c8"}, + {file = "fonttools-4.55.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f901cef813f7c318b77d1c5c14cf7403bae5cb977cede023e22ba4316f0a8f6"}, + {file = "fonttools-4.55.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8c9679fc0dd7e8a5351d321d8d29a498255e69387590a86b596a45659a39eb0d"}, + {file = "fonttools-4.55.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd2820a8b632f3307ebb0bf57948511c2208e34a4939cf978333bc0a3f11f838"}, + {file = "fonttools-4.55.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23bbbb49bec613a32ed1b43df0f2b172313cee690c2509f1af8fdedcf0a17438"}, + {file = "fonttools-4.55.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a656652e1f5d55b9728937a7e7d509b73d23109cddd4e89ee4f49bde03b736c6"}, + {file = "fonttools-4.55.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f50a1f455902208486fbca47ce33054208a4e437b38da49d6721ce2fef732fcf"}, + {file = "fonttools-4.55.0-cp39-cp39-win32.whl", hash = "sha256:161d1ac54c73d82a3cded44202d0218ab007fde8cf194a23d3dd83f7177a2f03"}, + {file = "fonttools-4.55.0-cp39-cp39-win_amd64.whl", hash = "sha256:ca7fd6987c68414fece41c96836e945e1f320cda56fc96ffdc16e54a44ec57a2"}, + {file = "fonttools-4.55.0-py3-none-any.whl", hash = "sha256:12db5888cd4dd3fcc9f0ee60c6edd3c7e1fd44b7dd0f31381ea03df68f8a153f"}, + {file = "fonttools-4.55.0.tar.gz", hash = "sha256:7636acc6ab733572d5e7eec922b254ead611f1cdad17be3f0be7418e8bfaca71"}, ] [package.extras] @@ -1121,6 +1123,36 @@ files = [ {file = "kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60"}, ] +[[package]] +name = "llvmlite" +version = "0.43.0" +description = "lightweight wrapper around basic LLVM functionality" +optional = false +python-versions = ">=3.9" +files = [ + {file = "llvmlite-0.43.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a289af9a1687c6cf463478f0fa8e8aa3b6fb813317b0d70bf1ed0759eab6f761"}, + {file = "llvmlite-0.43.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6d4fd101f571a31acb1559ae1af30f30b1dc4b3186669f92ad780e17c81e91bc"}, + {file = "llvmlite-0.43.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7d434ec7e2ce3cc8f452d1cd9a28591745de022f931d67be688a737320dfcead"}, + {file = "llvmlite-0.43.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6912a87782acdff6eb8bf01675ed01d60ca1f2551f8176a300a886f09e836a6a"}, + {file = "llvmlite-0.43.0-cp310-cp310-win_amd64.whl", hash = "sha256:14f0e4bf2fd2d9a75a3534111e8ebeb08eda2f33e9bdd6dfa13282afacdde0ed"}, + {file = "llvmlite-0.43.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3e8d0618cb9bfe40ac38a9633f2493d4d4e9fcc2f438d39a4e854f39cc0f5f98"}, + {file = "llvmlite-0.43.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e0a9a1a39d4bf3517f2af9d23d479b4175ead205c592ceeb8b89af48a327ea57"}, + {file = "llvmlite-0.43.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1da416ab53e4f7f3bc8d4eeba36d801cc1894b9fbfbf2022b29b6bad34a7df2"}, + {file = "llvmlite-0.43.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:977525a1e5f4059316b183fb4fd34fa858c9eade31f165427a3977c95e3ee749"}, + {file = "llvmlite-0.43.0-cp311-cp311-win_amd64.whl", hash = "sha256:d5bd550001d26450bd90777736c69d68c487d17bf371438f975229b2b8241a91"}, + {file = "llvmlite-0.43.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f99b600aa7f65235a5a05d0b9a9f31150c390f31261f2a0ba678e26823ec38f7"}, + {file = "llvmlite-0.43.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:35d80d61d0cda2d767f72de99450766250560399edc309da16937b93d3b676e7"}, + {file = "llvmlite-0.43.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eccce86bba940bae0d8d48ed925f21dbb813519169246e2ab292b5092aba121f"}, + {file = "llvmlite-0.43.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df6509e1507ca0760787a199d19439cc887bfd82226f5af746d6977bd9f66844"}, + {file = "llvmlite-0.43.0-cp312-cp312-win_amd64.whl", hash = "sha256:7a2872ee80dcf6b5dbdc838763d26554c2a18aa833d31a2635bff16aafefb9c9"}, + {file = "llvmlite-0.43.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9cd2a7376f7b3367019b664c21f0c61766219faa3b03731113ead75107f3b66c"}, + {file = "llvmlite-0.43.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:18e9953c748b105668487b7c81a3e97b046d8abf95c4ddc0cd3c94f4e4651ae8"}, + {file = "llvmlite-0.43.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74937acd22dc11b33946b67dca7680e6d103d6e90eeaaaf932603bec6fe7b03a"}, + {file = "llvmlite-0.43.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc9efc739cc6ed760f795806f67889923f7274276f0eb45092a1473e40d9b867"}, + {file = "llvmlite-0.43.0-cp39-cp39-win_amd64.whl", hash = "sha256:47e147cdda9037f94b399bf03bfd8a6b6b1f2f90be94a454e3386f006455a9b4"}, + {file = "llvmlite-0.43.0.tar.gz", hash = "sha256:ae2b5b5c3ef67354824fb75517c8db5fbe93bc02cd9671f3c62271626bc041d5"}, +] + [[package]] name = "logical-unification" version = "0.4.6" @@ -1398,6 +1430,40 @@ test = ["coverage (>=7.2)", "pytest", "pytest-cov", "pytest-doctestplus", "pytes typing = ["tox"] zstd = ["pyzstd (>=0.14.3)"] +[[package]] +name = "numba" +version = "0.60.0" +description = "compiling Python code using LLVM" +optional = false +python-versions = ">=3.9" +files = [ + {file = "numba-0.60.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5d761de835cd38fb400d2c26bb103a2726f548dc30368853121d66201672e651"}, + {file = "numba-0.60.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:159e618ef213fba758837f9837fb402bbe65326e60ba0633dbe6c7f274d42c1b"}, + {file = "numba-0.60.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1527dc578b95c7c4ff248792ec33d097ba6bef9eda466c948b68dfc995c25781"}, + {file = "numba-0.60.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fe0b28abb8d70f8160798f4de9d486143200f34458d34c4a214114e445d7124e"}, + {file = "numba-0.60.0-cp310-cp310-win_amd64.whl", hash = "sha256:19407ced081d7e2e4b8d8c36aa57b7452e0283871c296e12d798852bc7d7f198"}, + {file = "numba-0.60.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a17b70fc9e380ee29c42717e8cc0bfaa5556c416d94f9aa96ba13acb41bdece8"}, + {file = "numba-0.60.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3fb02b344a2a80efa6f677aa5c40cd5dd452e1b35f8d1c2af0dfd9ada9978e4b"}, + {file = "numba-0.60.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5f4fde652ea604ea3c86508a3fb31556a6157b2c76c8b51b1d45eb40c8598703"}, + {file = "numba-0.60.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4142d7ac0210cc86432b818338a2bc368dc773a2f5cf1e32ff7c5b378bd63ee8"}, + {file = "numba-0.60.0-cp311-cp311-win_amd64.whl", hash = "sha256:cac02c041e9b5bc8cf8f2034ff6f0dbafccd1ae9590dc146b3a02a45e53af4e2"}, + {file = "numba-0.60.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d7da4098db31182fc5ffe4bc42c6f24cd7d1cb8a14b59fd755bfee32e34b8404"}, + {file = "numba-0.60.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:38d6ea4c1f56417076ecf8fc327c831ae793282e0ff51080c5094cb726507b1c"}, + {file = "numba-0.60.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:62908d29fb6a3229c242e981ca27e32a6e606cc253fc9e8faeb0e48760de241e"}, + {file = "numba-0.60.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0ebaa91538e996f708f1ab30ef4d3ddc344b64b5227b67a57aa74f401bb68b9d"}, + {file = "numba-0.60.0-cp312-cp312-win_amd64.whl", hash = "sha256:f75262e8fe7fa96db1dca93d53a194a38c46da28b112b8a4aca168f0df860347"}, + {file = "numba-0.60.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:01ef4cd7d83abe087d644eaa3d95831b777aa21d441a23703d649e06b8e06b74"}, + {file = "numba-0.60.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:819a3dfd4630d95fd574036f99e47212a1af41cbcb019bf8afac63ff56834449"}, + {file = "numba-0.60.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0b983bd6ad82fe868493012487f34eae8bf7dd94654951404114f23c3466d34b"}, + {file = "numba-0.60.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c151748cd269ddeab66334bd754817ffc0cabd9433acb0f551697e5151917d25"}, + {file = "numba-0.60.0-cp39-cp39-win_amd64.whl", hash = "sha256:3031547a015710140e8c87226b4cfe927cac199835e5bf7d4fe5cb64e814e3ab"}, + {file = "numba-0.60.0.tar.gz", hash = "sha256:5df6158e5584eece5fc83294b949fd30b9f1125df7708862205217e068aabf16"}, +] + +[package.dependencies] +llvmlite = "==0.43.*" +numpy = ">=1.22,<2.1" + [[package]] name = "numpy" version = "1.26.4" @@ -1443,6 +1509,45 @@ files = [ {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, ] +[[package]] +name = "nutpie" +version = "0.13.2" +description = "Sample Stan or PyMC models" +optional = false +python-versions = ">=3.10" +files = [ + {file = "nutpie-0.13.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:4c731b6b32f51407ca973aefdcb0241c6dadfebcf47e781557344d28d346c0fa"}, + {file = "nutpie-0.13.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b69e62c4d25e62e670ef31244e65556ed562650dfbc56a068972e177c5e5e291"}, + {file = "nutpie-0.13.2-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:a7cfe73f29769f7185e677587755ba63818e9334d161a69216c8d6cefd9d66b7"}, + {file = "nutpie-0.13.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:0202a5b2352b065a269dd1467cacd4b9ef4020665373e4d12eede232425eaea8"}, + {file = "nutpie-0.13.2-cp310-none-win_amd64.whl", hash = "sha256:fa2f5f46fad31d9cdac486510a656a7e85df470662ffcd6c3c84534eb7d24c28"}, + {file = "nutpie-0.13.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:024fb04ddcaa2ce8a2cf6864bebe68acfb68518f6199c6d3de0c6b9b49d1ac75"}, + {file = "nutpie-0.13.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:225f17a15e33f731db43c55f821b988df2781568e2dc6f22ae9798e259386009"}, + {file = "nutpie-0.13.2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:1a7a5e7012976327485349b581ae762cd6e60bb1805f9d323e0eed2d945c73a3"}, + {file = "nutpie-0.13.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:be1635cdd6ec19cc541e212ee95e11288dda7a234a2ae7f70c2c91fdaa677fe0"}, + {file = "nutpie-0.13.2-cp311-none-win_amd64.whl", hash = "sha256:d7d297a975737ca997890cae284adca74e429567503596cbf66a37640faf4f10"}, + {file = "nutpie-0.13.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1656a4e45981db30d9ca850e889c10ac69c3e327a994607924c2db1dcefb49c7"}, + {file = "nutpie-0.13.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:57b6f6640996d88b290285acdcf7978bf9f6257c2a80d38eb5d1903e11bb0301"}, + {file = "nutpie-0.13.2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:e1419e53a5ce3bfba39157cb1381eb18f1835bd1b73312d485e1f543f9ce3748"}, + {file = "nutpie-0.13.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:6d29babf3773544692153799b3579f9de1e084a06fd2dcc851e97bef4c92768b"}, + {file = "nutpie-0.13.2-cp312-none-win_amd64.whl", hash = "sha256:5b6f45e2e475eee1519f18b6cbcd56ef225dbcaeb6f35e248d829467097ab385"}, + {file = "nutpie-0.13.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:db240a317b1ded7eddf2ca8e2b4bcfcdbd4624256655aac61625c8f7d5ca39d0"}, + {file = "nutpie-0.13.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:2100024275ec6ba6de899188a3a2111f4b68aee7bfdbd4e4eb02ed4c922a9f22"}, + {file = "nutpie-0.13.2.tar.gz", hash = "sha256:f14282e2ac045c67a9b262a865b02a243178c55b541b236b21dfcb0c3678bcea"}, +] + +[package.dependencies] +arviz = ">=0.15.0" +pandas = ">=2.0" +pyarrow = ">=12.0.0" +xarray = ">=2023.6.0" + +[package.extras] +all = ["bridgestan (>=2.4.1)", "jax (>=0.4.27)", "numba (>=0.59.1)", "pymc (>=5.15.0)"] +pymc = ["numba (>=0.59.1)", "pymc (>=5.15.0)"] +pymc-jax = ["jax (>=0.4.27)", "pymc (>=5.15.0)"] +stan = ["bridgestan (>=2.4.1)"] + [[package]] name = "packaging" version = "24.2" @@ -1772,6 +1877,60 @@ files = [ [package.extras] tests = ["pytest"] +[[package]] +name = "pyarrow" +version = "18.0.0" +description = "Python library for Apache Arrow" +optional = false +python-versions = ">=3.9" +files = [ + {file = "pyarrow-18.0.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:2333f93260674e185cfbf208d2da3007132572e56871f451ba1a556b45dae6e2"}, + {file = "pyarrow-18.0.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:4c381857754da44326f3a49b8b199f7f87a51c2faacd5114352fc78de30d3aba"}, + {file = "pyarrow-18.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:603cd8ad4976568954598ef0a6d4ed3dfb78aff3d57fa8d6271f470f0ce7d34f"}, + {file = "pyarrow-18.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58a62549a3e0bc9e03df32f350e10e1efb94ec6cf63e3920c3385b26663948ce"}, + {file = "pyarrow-18.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:bc97316840a349485fbb137eb8d0f4d7057e1b2c1272b1a20eebbbe1848f5122"}, + {file = "pyarrow-18.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:2e549a748fa8b8715e734919923f69318c953e077e9c02140ada13e59d043310"}, + {file = "pyarrow-18.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:606e9a3dcb0f52307c5040698ea962685fb1c852d72379ee9412be7de9c5f9e2"}, + {file = "pyarrow-18.0.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:d5795e37c0a33baa618c5e054cd61f586cf76850a251e2b21355e4085def6280"}, + {file = "pyarrow-18.0.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:5f0510608ccd6e7f02ca8596962afb8c6cc84c453e7be0da4d85f5f4f7b0328a"}, + {file = "pyarrow-18.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:616ea2826c03c16e87f517c46296621a7c51e30400f6d0a61be645f203aa2b93"}, + {file = "pyarrow-18.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1824f5b029ddd289919f354bc285992cb4e32da518758c136271cf66046ef22"}, + {file = "pyarrow-18.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:6dd1b52d0d58dd8f685ced9971eb49f697d753aa7912f0a8f50833c7a7426319"}, + {file = "pyarrow-18.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:320ae9bd45ad7ecc12ec858b3e8e462578de060832b98fc4d671dee9f10d9954"}, + {file = "pyarrow-18.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:2c992716cffb1088414f2b478f7af0175fd0a76fea80841b1706baa8fb0ebaad"}, + {file = "pyarrow-18.0.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:e7ab04f272f98ebffd2a0661e4e126036f6936391ba2889ed2d44c5006237802"}, + {file = "pyarrow-18.0.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:03f40b65a43be159d2f97fd64dc998f769d0995a50c00f07aab58b0b3da87e1f"}, + {file = "pyarrow-18.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be08af84808dff63a76860847c48ec0416928a7b3a17c2f49a072cac7c45efbd"}, + {file = "pyarrow-18.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c70c1965cde991b711a98448ccda3486f2a336457cf4ec4dca257a926e149c9"}, + {file = "pyarrow-18.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:00178509f379415a3fcf855af020e3340254f990a8534294ec3cf674d6e255fd"}, + {file = "pyarrow-18.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:a71ab0589a63a3e987beb2bc172e05f000a5c5be2636b4b263c44034e215b5d7"}, + {file = "pyarrow-18.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:fe92efcdbfa0bcf2fa602e466d7f2905500f33f09eb90bf0bcf2e6ca41b574c8"}, + {file = "pyarrow-18.0.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:907ee0aa8ca576f5e0cdc20b5aeb2ad4d3953a3b4769fc4b499e00ef0266f02f"}, + {file = "pyarrow-18.0.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:66dcc216ebae2eb4c37b223feaf82f15b69d502821dde2da138ec5a3716e7463"}, + {file = "pyarrow-18.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc1daf7c425f58527900876354390ee41b0ae962a73ad0959b9d829def583bb1"}, + {file = "pyarrow-18.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:871b292d4b696b09120ed5bde894f79ee2a5f109cb84470546471df264cae136"}, + {file = "pyarrow-18.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:082ba62bdcb939824ba1ce10b8acef5ab621da1f4c4805e07bfd153617ac19d4"}, + {file = "pyarrow-18.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:2c664ab88b9766413197733c1720d3dcd4190e8fa3bbdc3710384630a0a7207b"}, + {file = "pyarrow-18.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:dc892be34dbd058e8d189b47db1e33a227d965ea8805a235c8a7286f7fd17d3a"}, + {file = "pyarrow-18.0.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:28f9c39a56d2c78bf6b87dcc699d520ab850919d4a8c7418cd20eda49874a2ea"}, + {file = "pyarrow-18.0.0-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:f1a198a50c409ab2d009fbf20956ace84567d67f2c5701511d4dd561fae6f32e"}, + {file = "pyarrow-18.0.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5bd7fd32e3ace012d43925ea4fc8bd1b02cc6cc1e9813b518302950e89b5a22"}, + {file = "pyarrow-18.0.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:336addb8b6f5208be1b2398442c703a710b6b937b1a046065ee4db65e782ff5a"}, + {file = "pyarrow-18.0.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:45476490dd4adec5472c92b4d253e245258745d0ccaabe706f8d03288ed60a79"}, + {file = "pyarrow-18.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:b46591222c864e7da7faa3b19455196416cd8355ff6c2cc2e65726a760a3c420"}, + {file = "pyarrow-18.0.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:eb7e3abcda7e1e6b83c2dc2909c8d045881017270a119cc6ee7fdcfe71d02df8"}, + {file = "pyarrow-18.0.0-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:09f30690b99ce34e0da64d20dab372ee54431745e4efb78ac938234a282d15f9"}, + {file = "pyarrow-18.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d5ca5d707e158540312e09fd907f9f49bacbe779ab5236d9699ced14d2293b8"}, + {file = "pyarrow-18.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d6331f280c6e4521c69b201a42dd978f60f7e129511a55da9e0bfe426b4ebb8d"}, + {file = "pyarrow-18.0.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:3ac24b2be732e78a5a3ac0b3aa870d73766dd00beba6e015ea2ea7394f8b4e55"}, + {file = "pyarrow-18.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b30a927c6dff89ee702686596f27c25160dd6c99be5bcc1513a763ae5b1bfc03"}, + {file = "pyarrow-18.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:8f40ec677e942374e3d7f2fad6a67a4c2811a8b975e8703c6fd26d3b168a90e2"}, + {file = "pyarrow-18.0.0.tar.gz", hash = "sha256:a6aa027b1a9d2970cf328ccd6dbe4a996bc13c39fd427f502782f5bdb9ca20f5"}, +] + +[package.extras] +test = ["cffi", "hypothesis", "pandas", "pytest", "pytz"] + [[package]] name = "pycparser" version = "2.22" @@ -1799,13 +1958,13 @@ windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pymc" -version = "5.18.0" +version = "5.18.2" description = "Probabilistic Programming in Python: Bayesian Modeling and Probabilistic Machine Learning with PyTensor" optional = false python-versions = ">=3.10" files = [ - {file = "pymc-5.18.0-py3-none-any.whl", hash = "sha256:e2c1f478ae855395e345edd1ea7fb5b8d65fb34babd22d31af9ee409f4252cf1"}, - {file = "pymc-5.18.0.tar.gz", hash = "sha256:6e3c2235fa24198a3b1b929b1466cd36c65709822eb48821fb5b0e3684b5fd12"}, + {file = "pymc-5.18.2-py3-none-any.whl", hash = "sha256:c8ff5648d16f258fd28da51db4c3feff0f538bdfe3be4f2c85021e310e5cbc3c"}, + {file = "pymc-5.18.2.tar.gz", hash = "sha256:7879b3b7ee9dcab85b1d54d465acbdbb4b0f4a7dfd1fcb868a88362935519133"}, ] [package.dependencies] @@ -1814,7 +1973,7 @@ cachetools = ">=4.2.1" cloudpickle = "*" numpy = ">=1.15.0" pandas = ">=0.24.0" -pytensor = ">=2.25.1,<2.26" +pytensor = ">=2.26.1,<2.27" rich = ">=13.7.1" scipy = ">=1.4.1" threadpoolctl = ">=3.1.0,<4.0.0" @@ -1836,28 +1995,28 @@ diagrams = ["jinja2", "railroad-diagrams"] [[package]] name = "pytensor" -version = "2.25.5" +version = "2.26.3" description = "Optimizing compiler for evaluating mathematical expressions on CPUs and GPUs." optional = false python-versions = "<3.13,>=3.10" files = [ - {file = "pytensor-2.25.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:23ffac5ce99089abe3b6e1ae0c957f3af2a382209fb5894eb42acba0e01b96bf"}, - {file = "pytensor-2.25.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:29754160a84ade77b63e1690aad8306da3b8f6f8e35c8ac5d36d1b19066b5f8d"}, - {file = "pytensor-2.25.5-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:51ea5083ec4760e6cfda48422d1b69e88d1b68e0f9a4aca41b0a89a4f38a1da7"}, - {file = "pytensor-2.25.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:343000f352c12ec36f5307d5c9ff7d8aba6dfa651be8c26b824d75cbad29d776"}, - {file = "pytensor-2.25.5-cp310-cp310-win_amd64.whl", hash = "sha256:50264e6365578ee15298f23578ddc00cec4f015c1cb77dafbb6c3216b11f689c"}, - {file = "pytensor-2.25.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a97e769900718fea3a0efd2a4c452775786ca3bd7966c6510e89a1356e516d55"}, - {file = "pytensor-2.25.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb7f6a370a99095850949798ee0ada38ace5132172fcbb4272398e687de5b417"}, - {file = "pytensor-2.25.5-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:930429bdf5cee35868a06a9d075f2fb40b3471708a61bea62cfafd21aaa0811e"}, - {file = "pytensor-2.25.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:78686d9e26b26da2f0824f1f5a297f153b948a93c46e527d43d7337fe31e5afb"}, - {file = "pytensor-2.25.5-cp311-cp311-win_amd64.whl", hash = "sha256:8a7b9dc112e3cef8e05641da9429a46fe1cd9d3b3bf11763c3500bc941c49fc7"}, - {file = "pytensor-2.25.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f15cf74eff5e53854f9e74ac4991ae850e48641ccbb211200d214c599b76d691"}, - {file = "pytensor-2.25.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c99f2aed904178c59fac57f5a760b547f7c1c14c20d31e41721fbebf9e47cf1"}, - {file = "pytensor-2.25.5-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0c973a8a682854eb47378db33cfb5bc63ba5a868b5749fe79b2846e6795ff46d"}, - {file = "pytensor-2.25.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:16344b21bd70eb689c7db7ab91eec556012c08e9ad8a7cbeb42812d53f89a64e"}, - {file = "pytensor-2.25.5-cp312-cp312-win_amd64.whl", hash = "sha256:5edaa549903a8be02e6dcf56110d5cf523b6249460c455138e36686928a6c5a7"}, - {file = "pytensor-2.25.5-py2.py3-none-any.whl", hash = "sha256:92271932118e4d9e6528eeba1cdd0e9e8f2d05d8493eb394da2cd8cf09c8836e"}, - {file = "pytensor-2.25.5.tar.gz", hash = "sha256:f8b9f7d637104b2fc7fdd9c50219cc639744b718572c034b7cb8fe8f5051da92"}, + {file = "pytensor-2.26.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bcce400cb435309c00af2dba8eaa8825f651eb4e39571966c141bb616ff17b5b"}, + {file = "pytensor-2.26.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89da00c829a6107f275894f75219d48c18916e48a0946b77d8a1bebd4fe995b6"}, + {file = "pytensor-2.26.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:f95bc45f2f2644866b4e603d85edbdc984e609d52877e6ca9381caaa641a1b03"}, + {file = "pytensor-2.26.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:acc6e799fba9cbf7e544c17e33c976d4e7230c87a322cc69c35b710ef720087b"}, + {file = "pytensor-2.26.3-cp310-cp310-win_amd64.whl", hash = "sha256:8c63279b86001029a38e82facc3b1d4a8b24723c1fd7263e3590886f3b2c2923"}, + {file = "pytensor-2.26.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8e41d3b68d6dfabb75c99cd6cb579c9fb9c95f02c40fb5561f39fa7a4b8f6fc6"}, + {file = "pytensor-2.26.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab08350715554bb53be83d3be75283bb8890caf72e97b122b4fae76244950d3f"}, + {file = "pytensor-2.26.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6b6985fb9cca966231d654d4396b293f1e33dd78a4bbb274af9f18e19defd5c3"}, + {file = "pytensor-2.26.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:06362f848cb576e378fd2ff00caf79365aa44c0fe2473d68be1de78013925518"}, + {file = "pytensor-2.26.3-cp311-cp311-win_amd64.whl", hash = "sha256:ae418d65b752a8bac50c0a401a052854ff85c509a51c70d7c6539299a75c1ba3"}, + {file = "pytensor-2.26.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:65b6b327cd8e39440b6c090d6c7ff85192f3db99f753b76cb5483fbf3212304c"}, + {file = "pytensor-2.26.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4954fbe7b45077063166c83e100d36ad461df283c2222d0d15dc523ac312609"}, + {file = "pytensor-2.26.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:131141f7acbbe80bfa48895269ffcf4d572a0e01ebee81ef6b4f6f1042d88a59"}, + {file = "pytensor-2.26.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c124fb425bd5867c6b206cb0b8d458ab1f983b180a63581abf9d07369b90e792"}, + {file = "pytensor-2.26.3-cp312-cp312-win_amd64.whl", hash = "sha256:cce401c6020991767a2fde1d9dc7dda30a8289fc002552bc604e53623c92b8e0"}, + {file = "pytensor-2.26.3-py2.py3-none-any.whl", hash = "sha256:447ce88dd75a71dbb7158f9ccec0ffc7dc8fdb379f334ebf870003c977e4346f"}, + {file = "pytensor-2.26.3.tar.gz", hash = "sha256:703cfdba1d66b84a1739f50abdd7c18d25f788a85f2d07ed9b5bc66c929fb2fb"}, ] [package.dependencies] @@ -2623,4 +2782,4 @@ test = ["hypothesis", "packaging", "pytest", "pytest-cov"] [metadata] lock-version = "2.0" python-versions = ">=3.10,<3.13" -content-hash = "83eae095eaf77b411c3945404211e299478b3374ecc52808f5b289f703bb3646" +content-hash = "5b075d3de7d6307785d93bb28f9af1d879f19bcacc1093929d6cf8a252c75d48" diff --git a/pyproject.toml b/pyproject.toml index d370c791..eb1a87e0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,14 +8,16 @@ readme = "README.md" [tool.poetry.dependencies] python = ">=3.10,<3.13" -bspline = "^0.1.1" # Install with pip -nibabel = "^5.3.1" # Prefer Conda -pymc = "^5.18.0" # Prefer Conda -scikit-learn = "^1.5.2" # Prefer Conda -seaborn = "^0.13.2" # Prefer conda -six = "^1.16.0" # Prefer conda +bspline = "^0.1.1" +nibabel = "^5.3.1" +pymc = "^5.18.0" +scikit-learn = "^1.5.2" +seaborn = "^0.13.2" +six = "^1.16.0" scipy = "^1.12" matplotlib = "^3.8.1" +numba = "^0.60.0" +nutpie = "^0.13.2" [tool.poetry.group.dev.dependencies] sphinx-tabs = "^3.4.7" diff --git a/tests/test_test.py b/tests/test_test.py new file mode 100644 index 00000000..e69de29b From e9928203a503ac5539389be5ec415f5a38c3ae5d Mon Sep 17 00:00:00 2001 From: Stijn Date: Mon, 18 Nov 2024 14:29:18 +0100 Subject: [PATCH 64/68] remove numba and nutpie from pyproject.toml and add numpy --- README.md | 2 +- poetry.lock | 159 +---------------------------------------------- pyproject.toml | 20 +++--- tests/testHBR.py | 2 +- 4 files changed, 14 insertions(+), 169 deletions(-) diff --git a/README.md b/README.md index f18f7801..a3699197 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ using the download here: https://www.anaconda.com/download #### Create environment ``` -conda create python==3.12 +conda create -n python==3.12 ``` #### Activate environment diff --git a/poetry.lock b/poetry.lock index 9c91ef44..ca8e0876 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1123,36 +1123,6 @@ files = [ {file = "kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60"}, ] -[[package]] -name = "llvmlite" -version = "0.43.0" -description = "lightweight wrapper around basic LLVM functionality" -optional = false -python-versions = ">=3.9" -files = [ - {file = "llvmlite-0.43.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a289af9a1687c6cf463478f0fa8e8aa3b6fb813317b0d70bf1ed0759eab6f761"}, - {file = "llvmlite-0.43.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6d4fd101f571a31acb1559ae1af30f30b1dc4b3186669f92ad780e17c81e91bc"}, - {file = "llvmlite-0.43.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7d434ec7e2ce3cc8f452d1cd9a28591745de022f931d67be688a737320dfcead"}, - {file = "llvmlite-0.43.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6912a87782acdff6eb8bf01675ed01d60ca1f2551f8176a300a886f09e836a6a"}, - {file = "llvmlite-0.43.0-cp310-cp310-win_amd64.whl", hash = "sha256:14f0e4bf2fd2d9a75a3534111e8ebeb08eda2f33e9bdd6dfa13282afacdde0ed"}, - {file = "llvmlite-0.43.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3e8d0618cb9bfe40ac38a9633f2493d4d4e9fcc2f438d39a4e854f39cc0f5f98"}, - {file = "llvmlite-0.43.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e0a9a1a39d4bf3517f2af9d23d479b4175ead205c592ceeb8b89af48a327ea57"}, - {file = "llvmlite-0.43.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1da416ab53e4f7f3bc8d4eeba36d801cc1894b9fbfbf2022b29b6bad34a7df2"}, - {file = "llvmlite-0.43.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:977525a1e5f4059316b183fb4fd34fa858c9eade31f165427a3977c95e3ee749"}, - {file = "llvmlite-0.43.0-cp311-cp311-win_amd64.whl", hash = "sha256:d5bd550001d26450bd90777736c69d68c487d17bf371438f975229b2b8241a91"}, - {file = "llvmlite-0.43.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f99b600aa7f65235a5a05d0b9a9f31150c390f31261f2a0ba678e26823ec38f7"}, - {file = "llvmlite-0.43.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:35d80d61d0cda2d767f72de99450766250560399edc309da16937b93d3b676e7"}, - {file = "llvmlite-0.43.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eccce86bba940bae0d8d48ed925f21dbb813519169246e2ab292b5092aba121f"}, - {file = "llvmlite-0.43.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df6509e1507ca0760787a199d19439cc887bfd82226f5af746d6977bd9f66844"}, - {file = "llvmlite-0.43.0-cp312-cp312-win_amd64.whl", hash = "sha256:7a2872ee80dcf6b5dbdc838763d26554c2a18aa833d31a2635bff16aafefb9c9"}, - {file = "llvmlite-0.43.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9cd2a7376f7b3367019b664c21f0c61766219faa3b03731113ead75107f3b66c"}, - {file = "llvmlite-0.43.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:18e9953c748b105668487b7c81a3e97b046d8abf95c4ddc0cd3c94f4e4651ae8"}, - {file = "llvmlite-0.43.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74937acd22dc11b33946b67dca7680e6d103d6e90eeaaaf932603bec6fe7b03a"}, - {file = "llvmlite-0.43.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc9efc739cc6ed760f795806f67889923f7274276f0eb45092a1473e40d9b867"}, - {file = "llvmlite-0.43.0-cp39-cp39-win_amd64.whl", hash = "sha256:47e147cdda9037f94b399bf03bfd8a6b6b1f2f90be94a454e3386f006455a9b4"}, - {file = "llvmlite-0.43.0.tar.gz", hash = "sha256:ae2b5b5c3ef67354824fb75517c8db5fbe93bc02cd9671f3c62271626bc041d5"}, -] - [[package]] name = "logical-unification" version = "0.4.6" @@ -1430,40 +1400,6 @@ test = ["coverage (>=7.2)", "pytest", "pytest-cov", "pytest-doctestplus", "pytes typing = ["tox"] zstd = ["pyzstd (>=0.14.3)"] -[[package]] -name = "numba" -version = "0.60.0" -description = "compiling Python code using LLVM" -optional = false -python-versions = ">=3.9" -files = [ - {file = "numba-0.60.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5d761de835cd38fb400d2c26bb103a2726f548dc30368853121d66201672e651"}, - {file = "numba-0.60.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:159e618ef213fba758837f9837fb402bbe65326e60ba0633dbe6c7f274d42c1b"}, - {file = "numba-0.60.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1527dc578b95c7c4ff248792ec33d097ba6bef9eda466c948b68dfc995c25781"}, - {file = "numba-0.60.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fe0b28abb8d70f8160798f4de9d486143200f34458d34c4a214114e445d7124e"}, - {file = "numba-0.60.0-cp310-cp310-win_amd64.whl", hash = "sha256:19407ced081d7e2e4b8d8c36aa57b7452e0283871c296e12d798852bc7d7f198"}, - {file = "numba-0.60.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a17b70fc9e380ee29c42717e8cc0bfaa5556c416d94f9aa96ba13acb41bdece8"}, - {file = "numba-0.60.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3fb02b344a2a80efa6f677aa5c40cd5dd452e1b35f8d1c2af0dfd9ada9978e4b"}, - {file = "numba-0.60.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5f4fde652ea604ea3c86508a3fb31556a6157b2c76c8b51b1d45eb40c8598703"}, - {file = "numba-0.60.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4142d7ac0210cc86432b818338a2bc368dc773a2f5cf1e32ff7c5b378bd63ee8"}, - {file = "numba-0.60.0-cp311-cp311-win_amd64.whl", hash = "sha256:cac02c041e9b5bc8cf8f2034ff6f0dbafccd1ae9590dc146b3a02a45e53af4e2"}, - {file = "numba-0.60.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d7da4098db31182fc5ffe4bc42c6f24cd7d1cb8a14b59fd755bfee32e34b8404"}, - {file = "numba-0.60.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:38d6ea4c1f56417076ecf8fc327c831ae793282e0ff51080c5094cb726507b1c"}, - {file = "numba-0.60.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:62908d29fb6a3229c242e981ca27e32a6e606cc253fc9e8faeb0e48760de241e"}, - {file = "numba-0.60.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0ebaa91538e996f708f1ab30ef4d3ddc344b64b5227b67a57aa74f401bb68b9d"}, - {file = "numba-0.60.0-cp312-cp312-win_amd64.whl", hash = "sha256:f75262e8fe7fa96db1dca93d53a194a38c46da28b112b8a4aca168f0df860347"}, - {file = "numba-0.60.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:01ef4cd7d83abe087d644eaa3d95831b777aa21d441a23703d649e06b8e06b74"}, - {file = "numba-0.60.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:819a3dfd4630d95fd574036f99e47212a1af41cbcb019bf8afac63ff56834449"}, - {file = "numba-0.60.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0b983bd6ad82fe868493012487f34eae8bf7dd94654951404114f23c3466d34b"}, - {file = "numba-0.60.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c151748cd269ddeab66334bd754817ffc0cabd9433acb0f551697e5151917d25"}, - {file = "numba-0.60.0-cp39-cp39-win_amd64.whl", hash = "sha256:3031547a015710140e8c87226b4cfe927cac199835e5bf7d4fe5cb64e814e3ab"}, - {file = "numba-0.60.0.tar.gz", hash = "sha256:5df6158e5584eece5fc83294b949fd30b9f1125df7708862205217e068aabf16"}, -] - -[package.dependencies] -llvmlite = "==0.43.*" -numpy = ">=1.22,<2.1" - [[package]] name = "numpy" version = "1.26.4" @@ -1509,45 +1445,6 @@ files = [ {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, ] -[[package]] -name = "nutpie" -version = "0.13.2" -description = "Sample Stan or PyMC models" -optional = false -python-versions = ">=3.10" -files = [ - {file = "nutpie-0.13.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:4c731b6b32f51407ca973aefdcb0241c6dadfebcf47e781557344d28d346c0fa"}, - {file = "nutpie-0.13.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b69e62c4d25e62e670ef31244e65556ed562650dfbc56a068972e177c5e5e291"}, - {file = "nutpie-0.13.2-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:a7cfe73f29769f7185e677587755ba63818e9334d161a69216c8d6cefd9d66b7"}, - {file = "nutpie-0.13.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:0202a5b2352b065a269dd1467cacd4b9ef4020665373e4d12eede232425eaea8"}, - {file = "nutpie-0.13.2-cp310-none-win_amd64.whl", hash = "sha256:fa2f5f46fad31d9cdac486510a656a7e85df470662ffcd6c3c84534eb7d24c28"}, - {file = "nutpie-0.13.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:024fb04ddcaa2ce8a2cf6864bebe68acfb68518f6199c6d3de0c6b9b49d1ac75"}, - {file = "nutpie-0.13.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:225f17a15e33f731db43c55f821b988df2781568e2dc6f22ae9798e259386009"}, - {file = "nutpie-0.13.2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:1a7a5e7012976327485349b581ae762cd6e60bb1805f9d323e0eed2d945c73a3"}, - {file = "nutpie-0.13.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:be1635cdd6ec19cc541e212ee95e11288dda7a234a2ae7f70c2c91fdaa677fe0"}, - {file = "nutpie-0.13.2-cp311-none-win_amd64.whl", hash = "sha256:d7d297a975737ca997890cae284adca74e429567503596cbf66a37640faf4f10"}, - {file = "nutpie-0.13.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1656a4e45981db30d9ca850e889c10ac69c3e327a994607924c2db1dcefb49c7"}, - {file = "nutpie-0.13.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:57b6f6640996d88b290285acdcf7978bf9f6257c2a80d38eb5d1903e11bb0301"}, - {file = "nutpie-0.13.2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:e1419e53a5ce3bfba39157cb1381eb18f1835bd1b73312d485e1f543f9ce3748"}, - {file = "nutpie-0.13.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:6d29babf3773544692153799b3579f9de1e084a06fd2dcc851e97bef4c92768b"}, - {file = "nutpie-0.13.2-cp312-none-win_amd64.whl", hash = "sha256:5b6f45e2e475eee1519f18b6cbcd56ef225dbcaeb6f35e248d829467097ab385"}, - {file = "nutpie-0.13.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:db240a317b1ded7eddf2ca8e2b4bcfcdbd4624256655aac61625c8f7d5ca39d0"}, - {file = "nutpie-0.13.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:2100024275ec6ba6de899188a3a2111f4b68aee7bfdbd4e4eb02ed4c922a9f22"}, - {file = "nutpie-0.13.2.tar.gz", hash = "sha256:f14282e2ac045c67a9b262a865b02a243178c55b541b236b21dfcb0c3678bcea"}, -] - -[package.dependencies] -arviz = ">=0.15.0" -pandas = ">=2.0" -pyarrow = ">=12.0.0" -xarray = ">=2023.6.0" - -[package.extras] -all = ["bridgestan (>=2.4.1)", "jax (>=0.4.27)", "numba (>=0.59.1)", "pymc (>=5.15.0)"] -pymc = ["numba (>=0.59.1)", "pymc (>=5.15.0)"] -pymc-jax = ["jax (>=0.4.27)", "pymc (>=5.15.0)"] -stan = ["bridgestan (>=2.4.1)"] - [[package]] name = "packaging" version = "24.2" @@ -1877,60 +1774,6 @@ files = [ [package.extras] tests = ["pytest"] -[[package]] -name = "pyarrow" -version = "18.0.0" -description = "Python library for Apache Arrow" -optional = false -python-versions = ">=3.9" -files = [ - {file = "pyarrow-18.0.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:2333f93260674e185cfbf208d2da3007132572e56871f451ba1a556b45dae6e2"}, - {file = "pyarrow-18.0.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:4c381857754da44326f3a49b8b199f7f87a51c2faacd5114352fc78de30d3aba"}, - {file = "pyarrow-18.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:603cd8ad4976568954598ef0a6d4ed3dfb78aff3d57fa8d6271f470f0ce7d34f"}, - {file = "pyarrow-18.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58a62549a3e0bc9e03df32f350e10e1efb94ec6cf63e3920c3385b26663948ce"}, - {file = "pyarrow-18.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:bc97316840a349485fbb137eb8d0f4d7057e1b2c1272b1a20eebbbe1848f5122"}, - {file = "pyarrow-18.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:2e549a748fa8b8715e734919923f69318c953e077e9c02140ada13e59d043310"}, - {file = "pyarrow-18.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:606e9a3dcb0f52307c5040698ea962685fb1c852d72379ee9412be7de9c5f9e2"}, - {file = "pyarrow-18.0.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:d5795e37c0a33baa618c5e054cd61f586cf76850a251e2b21355e4085def6280"}, - {file = "pyarrow-18.0.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:5f0510608ccd6e7f02ca8596962afb8c6cc84c453e7be0da4d85f5f4f7b0328a"}, - {file = "pyarrow-18.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:616ea2826c03c16e87f517c46296621a7c51e30400f6d0a61be645f203aa2b93"}, - {file = "pyarrow-18.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1824f5b029ddd289919f354bc285992cb4e32da518758c136271cf66046ef22"}, - {file = "pyarrow-18.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:6dd1b52d0d58dd8f685ced9971eb49f697d753aa7912f0a8f50833c7a7426319"}, - {file = "pyarrow-18.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:320ae9bd45ad7ecc12ec858b3e8e462578de060832b98fc4d671dee9f10d9954"}, - {file = "pyarrow-18.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:2c992716cffb1088414f2b478f7af0175fd0a76fea80841b1706baa8fb0ebaad"}, - {file = "pyarrow-18.0.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:e7ab04f272f98ebffd2a0661e4e126036f6936391ba2889ed2d44c5006237802"}, - {file = "pyarrow-18.0.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:03f40b65a43be159d2f97fd64dc998f769d0995a50c00f07aab58b0b3da87e1f"}, - {file = "pyarrow-18.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be08af84808dff63a76860847c48ec0416928a7b3a17c2f49a072cac7c45efbd"}, - {file = "pyarrow-18.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c70c1965cde991b711a98448ccda3486f2a336457cf4ec4dca257a926e149c9"}, - {file = "pyarrow-18.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:00178509f379415a3fcf855af020e3340254f990a8534294ec3cf674d6e255fd"}, - {file = "pyarrow-18.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:a71ab0589a63a3e987beb2bc172e05f000a5c5be2636b4b263c44034e215b5d7"}, - {file = "pyarrow-18.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:fe92efcdbfa0bcf2fa602e466d7f2905500f33f09eb90bf0bcf2e6ca41b574c8"}, - {file = "pyarrow-18.0.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:907ee0aa8ca576f5e0cdc20b5aeb2ad4d3953a3b4769fc4b499e00ef0266f02f"}, - {file = "pyarrow-18.0.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:66dcc216ebae2eb4c37b223feaf82f15b69d502821dde2da138ec5a3716e7463"}, - {file = "pyarrow-18.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc1daf7c425f58527900876354390ee41b0ae962a73ad0959b9d829def583bb1"}, - {file = "pyarrow-18.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:871b292d4b696b09120ed5bde894f79ee2a5f109cb84470546471df264cae136"}, - {file = "pyarrow-18.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:082ba62bdcb939824ba1ce10b8acef5ab621da1f4c4805e07bfd153617ac19d4"}, - {file = "pyarrow-18.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:2c664ab88b9766413197733c1720d3dcd4190e8fa3bbdc3710384630a0a7207b"}, - {file = "pyarrow-18.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:dc892be34dbd058e8d189b47db1e33a227d965ea8805a235c8a7286f7fd17d3a"}, - {file = "pyarrow-18.0.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:28f9c39a56d2c78bf6b87dcc699d520ab850919d4a8c7418cd20eda49874a2ea"}, - {file = "pyarrow-18.0.0-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:f1a198a50c409ab2d009fbf20956ace84567d67f2c5701511d4dd561fae6f32e"}, - {file = "pyarrow-18.0.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5bd7fd32e3ace012d43925ea4fc8bd1b02cc6cc1e9813b518302950e89b5a22"}, - {file = "pyarrow-18.0.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:336addb8b6f5208be1b2398442c703a710b6b937b1a046065ee4db65e782ff5a"}, - {file = "pyarrow-18.0.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:45476490dd4adec5472c92b4d253e245258745d0ccaabe706f8d03288ed60a79"}, - {file = "pyarrow-18.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:b46591222c864e7da7faa3b19455196416cd8355ff6c2cc2e65726a760a3c420"}, - {file = "pyarrow-18.0.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:eb7e3abcda7e1e6b83c2dc2909c8d045881017270a119cc6ee7fdcfe71d02df8"}, - {file = "pyarrow-18.0.0-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:09f30690b99ce34e0da64d20dab372ee54431745e4efb78ac938234a282d15f9"}, - {file = "pyarrow-18.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d5ca5d707e158540312e09fd907f9f49bacbe779ab5236d9699ced14d2293b8"}, - {file = "pyarrow-18.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d6331f280c6e4521c69b201a42dd978f60f7e129511a55da9e0bfe426b4ebb8d"}, - {file = "pyarrow-18.0.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:3ac24b2be732e78a5a3ac0b3aa870d73766dd00beba6e015ea2ea7394f8b4e55"}, - {file = "pyarrow-18.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b30a927c6dff89ee702686596f27c25160dd6c99be5bcc1513a763ae5b1bfc03"}, - {file = "pyarrow-18.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:8f40ec677e942374e3d7f2fad6a67a4c2811a8b975e8703c6fd26d3b168a90e2"}, - {file = "pyarrow-18.0.0.tar.gz", hash = "sha256:a6aa027b1a9d2970cf328ccd6dbe4a996bc13c39fd427f502782f5bdb9ca20f5"}, -] - -[package.extras] -test = ["cffi", "hypothesis", "pandas", "pytest", "pytz"] - [[package]] name = "pycparser" version = "2.22" @@ -2782,4 +2625,4 @@ test = ["hypothesis", "packaging", "pytest", "pytest-cov"] [metadata] lock-version = "2.0" python-versions = ">=3.10,<3.13" -content-hash = "5b075d3de7d6307785d93bb28f9af1d879f19bcacc1093929d6cf8a252c75d48" +content-hash = "8e68c8be0ee075c1bd72557f1e774ccbdb8fb0635317d234a79487e0577d1061" diff --git a/pyproject.toml b/pyproject.toml index eb1a87e0..266a05a0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,16 +8,15 @@ readme = "README.md" [tool.poetry.dependencies] python = ">=3.10,<3.13" -bspline = "^0.1.1" -nibabel = "^5.3.1" -pymc = "^5.18.0" -scikit-learn = "^1.5.2" -seaborn = "^0.13.2" -six = "^1.16.0" +bspline = "^0.1.1" +nibabel = "^5.3.1" +pymc = "^5.18.0" +scikit-learn = "^1.5.2" +six = "^1.16.0" scipy = "^1.12" -matplotlib = "^3.8.1" -numba = "^0.60.0" -nutpie = "^0.13.2" +matplotlib = "^3.9.2" +seaborn = "^0.13.2" +numpy = "^1.26" [tool.poetry.group.dev.dependencies] sphinx-tabs = "^3.4.7" @@ -30,5 +29,8 @@ ipykernel = "^6.29.5" requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" +[requires-python] +python_version = ">=3.10,<3.13" + [tool.poetry.scripts] normative = "pcntoolkit.normative:entrypoint" diff --git a/tests/testHBR.py b/tests/testHBR.py index db875fa2..cd4e833e 100644 --- a/tests/testHBR.py +++ b/tests/testHBR.py @@ -61,7 +61,7 @@ model_type=model_type, likelihood="SHASHb", linear_sigma="True", - random_slope_mu="False", + random_slope_mu="True", linear_epsilon="False", linear_delta="False", nuts_sampler="nutpie", From 0c083b24fcd83ecc37b70448046eea90e40c7e19 Mon Sep 17 00:00:00 2001 From: Stijn Date: Mon, 18 Nov 2024 14:58:19 +0100 Subject: [PATCH 65/68] Update README.md --- README.md | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index a3699197..04ba245a 100644 --- a/README.md +++ b/README.md @@ -23,16 +23,17 @@ conda create -n python==3.12 source activate ``` -#### Install torch - -Use the command that you get from the command builder here: https://pytorch.org/get-started/locally/. This will ensure you do not install the CUDA version of torch if your pc does not have a GPU. We also recommend that you use the `conda` option. - -### Install nutpie using conda +### Install nutpie and numba from conda-forge ``` conda install nutpie numba -c conda-forge ``` +#### Install torch from pytorch.org + +Use the command that you get from the command builder here: https://pytorch.org/get-started/locally/. This will ensure you do not install the CUDA version of torch if your pc does not have a GPU. We also recommend that you use the `conda` option. + + #### Install PCNtoolkit Using pip: @@ -65,6 +66,13 @@ conda create -y python==3.12 numpy mkl blas --prefix=/shared/conda/ ``` conda activate /shared/conda/ ``` + +### Install nutpie using conda + +``` +conda install nutpie numba -c conda-forge +``` + #### install torch Using the command that you get from the command builder here: @@ -76,11 +84,6 @@ https://pytorch.org/get-started/locally/ If your shared resource has no GPU, make sure you select the 'CPU' field in the 'Compute Platform' row. Here we also prefer conda over pip. -### Install nutpie using conda - -``` -conda install nutpie numba -c conda-forge -``` #### Clone the repo From 6a86683d90d4bc8591aa683350b54349aefab0a1 Mon Sep 17 00:00:00 2001 From: Stijn Date: Tue, 19 Nov 2024 13:54:28 +0100 Subject: [PATCH 66/68] Replace doc notebook .rst files and update installation instructions --- README.md | 2 - .../pages/BLR_normativemodel_protocol.rst | 1533 ++++++++++++-- .../BLR_normativemodel_protocol_15_1.png | Bin 13275 -> 0 bytes .../BLR_normativemodel_protocol_16_0.png | Bin 0 -> 19471 bytes .../BLR_normativemodel_protocol_93_2.png | Bin 28250 -> 0 bytes .../BLR_normativemodel_protocol_97_1.png | Bin 0 -> 41759 bytes .../HBR_NormativeModel_FCONdata_Tutorial.rst | 1885 ++++++++++++++++- ..._NormativeModel_FCONdata_Tutorial_10_3.png | Bin 0 -> 143042 bytes ...R_NormativeModel_FCONdata_Tutorial_9_3.png | Bin 78758 -> 0 bytes .../pages/apply_normative_models_ct.rst | 1644 ++++++-------- .../apply_normative_models_ct_27_1.png | Bin 0 -> 67166 bytes .../apply_normative_models_ct_27_3.png | Bin 0 -> 62973 bytes .../apply_normative_models_ct_27_5.png | Bin 0 -> 59930 bytes doc/source/pages/installation.rst | 15 +- .../pages/normative_modelling_walkthrough.rst | 654 ++++-- .../normative_modelling_walkthrough_22_0.png | Bin 29709 -> 0 bytes .../normative_modelling_walkthrough_22_1.png | Bin 29125 -> 0 bytes .../normative_modelling_walkthrough_22_2.png | Bin 29391 -> 0 bytes .../normative_modelling_walkthrough_22_3.png | Bin 30697 -> 0 bytes .../normative_modelling_walkthrough_22_4.png | Bin 25341 -> 0 bytes .../normative_modelling_walkthrough_22_5.png | Bin 26189 -> 0 bytes .../normative_modelling_walkthrough_22_6.png | Bin 26741 -> 0 bytes .../normative_modelling_walkthrough_22_7.png | Bin 27756 -> 0 bytes .../normative_modelling_walkthrough_23_0.png | Bin 0 -> 59333 bytes .../normative_modelling_walkthrough_23_1.png | Bin 0 -> 57692 bytes .../normative_modelling_walkthrough_23_2.png | Bin 0 -> 60751 bytes .../normative_modelling_walkthrough_23_3.png | Bin 0 -> 60649 bytes .../normative_modelling_walkthrough_23_4.png | Bin 0 -> 50217 bytes .../normative_modelling_walkthrough_23_5.png | Bin 0 -> 51525 bytes .../normative_modelling_walkthrough_23_6.png | Bin 0 -> 53373 bytes .../normative_modelling_walkthrough_23_7.png | Bin 0 -> 54104 bytes .../normative_modelling_walkthrough_32_1.png | Bin 9492 -> 0 bytes .../normative_modelling_walkthrough_33_1.png | Bin 0 -> 20978 bytes doc/source/pages/other_predictive_models.rst | 415 ++-- .../other_predictive_models_16_1.png | Bin 16613 -> 0 bytes .../other_predictive_models_17_1.png | Bin 18179 -> 35783 bytes .../other_predictive_models_18_1.png | Bin 0 -> 39366 bytes .../other_predictive_models_32_3.png | Bin 39660 -> 0 bytes .../other_predictive_models_33_1.png | Bin 0 -> 69309 bytes .../other_predictive_models_33_3.png | Bin 37977 -> 0 bytes .../other_predictive_models_34_1.png | Bin 0 -> 66810 bytes .../other_predictive_models_50_4.png | Bin 70420 -> 0 bytes .../other_predictive_models_51_1.png | Bin 0 -> 117982 bytes .../other_predictive_models_51_2.png | Bin 80282 -> 0 bytes .../other_predictive_models_52_1.png | Bin 0 -> 135015 bytes .../other_predictive_models_55_0.png | Bin 26855 -> 0 bytes .../other_predictive_models_56_0.png | Bin 24851 -> 47682 bytes .../other_predictive_models_57_0.png | Bin 0 -> 42041 bytes .../other_predictive_models_72_0.png | Bin 27737 -> 0 bytes .../other_predictive_models_73_0.png | Bin 26035 -> 51001 bytes .../other_predictive_models_74_0.png | Bin 0 -> 47698 bytes 51 files changed, 4549 insertions(+), 1599 deletions(-) delete mode 100644 doc/source/pages/BLR_normativemodel_protocol_files/BLR_normativemodel_protocol_15_1.png create mode 100644 doc/source/pages/BLR_normativemodel_protocol_files/BLR_normativemodel_protocol_16_0.png delete mode 100644 doc/source/pages/BLR_normativemodel_protocol_files/BLR_normativemodel_protocol_93_2.png create mode 100644 doc/source/pages/BLR_normativemodel_protocol_files/BLR_normativemodel_protocol_97_1.png create mode 100644 doc/source/pages/HBR_NormativeModel_FCONdata_Tutorial_files/HBR_NormativeModel_FCONdata_Tutorial_10_3.png delete mode 100644 doc/source/pages/HBR_NormativeModel_FCONdata_Tutorial_files/HBR_NormativeModel_FCONdata_Tutorial_9_3.png create mode 100644 doc/source/pages/apply_normative_models_ct_files/apply_normative_models_ct_27_1.png create mode 100644 doc/source/pages/apply_normative_models_ct_files/apply_normative_models_ct_27_3.png create mode 100644 doc/source/pages/apply_normative_models_ct_files/apply_normative_models_ct_27_5.png delete mode 100644 doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_0.png delete mode 100644 doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_1.png delete mode 100644 doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_2.png delete mode 100644 doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_3.png delete mode 100644 doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_4.png delete mode 100644 doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_5.png delete mode 100644 doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_6.png delete mode 100644 doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_7.png create mode 100644 doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_0.png create mode 100644 doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_1.png create mode 100644 doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_2.png create mode 100644 doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_3.png create mode 100644 doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_4.png create mode 100644 doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_5.png create mode 100644 doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_6.png create mode 100644 doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_7.png delete mode 100644 doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_32_1.png create mode 100644 doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_33_1.png delete mode 100644 doc/source/pages/other_predictive_models_files/other_predictive_models_16_1.png create mode 100644 doc/source/pages/other_predictive_models_files/other_predictive_models_18_1.png delete mode 100644 doc/source/pages/other_predictive_models_files/other_predictive_models_32_3.png create mode 100644 doc/source/pages/other_predictive_models_files/other_predictive_models_33_1.png delete mode 100644 doc/source/pages/other_predictive_models_files/other_predictive_models_33_3.png create mode 100644 doc/source/pages/other_predictive_models_files/other_predictive_models_34_1.png delete mode 100644 doc/source/pages/other_predictive_models_files/other_predictive_models_50_4.png create mode 100644 doc/source/pages/other_predictive_models_files/other_predictive_models_51_1.png delete mode 100644 doc/source/pages/other_predictive_models_files/other_predictive_models_51_2.png create mode 100644 doc/source/pages/other_predictive_models_files/other_predictive_models_52_1.png delete mode 100644 doc/source/pages/other_predictive_models_files/other_predictive_models_55_0.png create mode 100644 doc/source/pages/other_predictive_models_files/other_predictive_models_57_0.png delete mode 100644 doc/source/pages/other_predictive_models_files/other_predictive_models_72_0.png create mode 100644 doc/source/pages/other_predictive_models_files/other_predictive_models_74_0.png diff --git a/README.md b/README.md index 04ba245a..eddeb9ad 100644 --- a/README.md +++ b/README.md @@ -83,8 +83,6 @@ https://pytorch.org/get-started/locally/ If your shared resource has no GPU, make sure you select the 'CPU' field in the 'Compute Platform' row. Here we also prefer conda over pip. - - #### Clone the repo ``` diff --git a/doc/source/pages/BLR_normativemodel_protocol.rst b/doc/source/pages/BLR_normativemodel_protocol.rst index 479b5163..8e5e8975 100644 --- a/doc/source/pages/BLR_normativemodel_protocol.rst +++ b/doc/source/pages/BLR_normativemodel_protocol.rst @@ -1,27 +1,24 @@ -.. title:: BLR tutorial +`Predictive Clinical Neuroscience Toolkit `__ +====================================================================================== -Bayesian Linear Regression +The Normative Modeling Framework for Computational Psychiatry Protocol ====================================================================== -The Normative Modeling Framework for Computational Psychiatry. Nature Protocols. https://www.nature.com/articles/s41596-022-00696-5. +Using Bayesian Linear Regression and Multi-Site Cortical Thickness Data +----------------------------------------------------------------------- Created by `Saige Rutherford `__ -Using Multi-Site Cortical Thickness Data - -.. image:: https://colab.research.google.com/assets/colab-badge.svg - :target: https://colab.research.google.com/github/predictive-clinical-neuroscience/PCNtoolkit-demo/blob/main/tutorials/BLR_protocol/BLR_normativemodel_protocol.ipynb - - -.. figure:: ./blr_fig2.png - :height: 400px - :align: center +.. container:: Data Preparation ---------------------------------------------- +================ Install necessary libraries & grab data files -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +--------------------------------------------- + +Step 1. +~~~~~~~ Begin by cloning the GitHub repository using the following commands. This repository contains the necessary code and example data. Then @@ -33,33 +30,28 @@ your computer). ! git clone https://github.com/predictive-clinical-neuroscience/PCNtoolkit-demo.git - -.. parsed-literal:: - - Cloning into 'PCNtoolkit-demo'... - remote: Enumerating objects: 855, done. - remote: Counting objects: 100% (855/855), done. - remote: Compressing objects: 100% (737/737), done. - remote: Total 855 (delta 278), reused 601 (delta 101), pack-reused 0 - Receiving objects: 100% (855/855), 18.07 MiB | 13.53 MiB/s, done. - Resolving deltas: 100% (278/278), done. - - .. code:: ipython3 import os # set this path to the git cloned PCNtoolkit-demo repository --> Uncomment whichever line you need for either running on your own computer or on Google Colab. - #os.chdir('/Users/PCNtoolkit-demo/tutorials/BLR_protocol') # if running on your own computer, use this line (change the path to match where you cloned the repository) - os.chdir('/content/PCNtoolkit-demo/tutorials/BLR_protocol') # if running on Google Colab, use this line + #wdir = '/PCNtoolkit-demo' # if running on your own computer, use this line (change the path to match where you cloned the repository) + wdir ='/content/PCNtoolkit-demo' # if running on Google Colab, use this line + + os.chdir(os.path.join(wdir,'tutorials','BLR_protocol')) + .. code:: ipython3 + ! pip install nutpie + ! pip install pcntoolkit ! pip install -r requirements.txt - Prepare covariate data -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +---------------------- + +Step 2. +~~~~~~~ The data set (downloaded in Step 1) includes a multi-site dataset from the `Human Connectome Project Young Adult @@ -88,8 +80,8 @@ depending on the research question. .. code:: ipython3 # if running in Google colab, remove the "data/" folder from the path - hcp = pd.read_csv('/content/PCNtoolkit-demo/data/HCP1200_age_gender.csv') - ixi = pd.read_csv('/content/PCNtoolkit-demo/data/IXI_age_gender.csv') + hcp = pd.read_csv(os.path.join(wdir,'data','HCP1200_age_gender.csv')) + ixi = pd.read_csv(os.path.join(wdir,'data','IXI_age_gender.csv')) .. code:: ipython3 @@ -98,8 +90,8 @@ depending on the research question. .. parsed-literal:: - /usr/local/lib/python3.7/dist-packages/pandas/core/reshape/merge.py:1218: UserWarning: You are merging on int and float columns where the float values are not equal to their int representation - UserWarning, + :1: UserWarning: You are merging on int and float columns where the float values are not equal to their int representation. + cov = pd.merge(hcp, ixi, on=["participant_id", "age", "sex", "site"], how='outer') .. code:: ipython3 @@ -108,29 +100,348 @@ depending on the research question. .. code:: ipython3 - sns.displot(cov, x="age", hue="site", multiple="stack", height=6) + sns.displot(cov, x="age", hue="site", multiple="stack", height=6); +.. image:: BLR_normativemodel_protocol_files/BLR_normativemodel_protocol_16_0.png -.. parsed-literal:: - +.. code:: ipython3 + cov.groupby(['site']).describe() -.. image:: BLR_normativemodel_protocol_files/BLR_normativemodel_protocol_15_1.png +.. raw:: html -.. code:: ipython3 + +
+
+ +
\n", " \n", + " value=\"1500\">\n", " \n", " 58150000.0030.02511
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
agesex
countmeanstdmin25%50%75%maxcountmeanstdmin25%50%75%max
site
hcp1206.028.8374793.69053422.00000026.00000029.0000032.00000037.000001206.01.5439470.4982721.01.02.02.02.0
ixi590.049.47653116.72086419.98083534.02772150.6119163.41341586.31896590.01.5559320.4972831.01.02.02.02.0
+ +
+ +
+ + + + + +
+ + +
+ + + + + +
+ +
+ - cov.groupby(['site']).describe() -Prepare brain data -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Preprare brain data +------------------- + +Step 3. +~~~~~~~ Next, format and combine the MRI data using the following commands. The example data contains cortical thickness maps estimated by running @@ -139,7 +450,7 @@ was reduced by using ROIs from the Desikan-Killiany atlas. Including the Euler number as a covariate is also recommended, as this is a proxy metric for data quality. The `Euler number `__ from -each subjects recon-all output folder was extracted into a text file +each subject’s recon-all output folder was extracted into a text file and is merged into the cortical thickness data frame. The Euler number is site-specific, thus, to use the same exclusion threshold across sites it is important to center the site by subtracting the site median from @@ -147,7 +458,7 @@ all subjects at a site. Then take the square root and multiply by negative one and exclude any subjects with a square root above 10. Here is some psuedo-code (run from a terminal in the folder that has all -subjects recon-all output folders) that was used to extract these ROIs: +subject’s recon-all output folders) that was used to extract these ROIs: ``export SUBJECTS_DIR=/path/to/study/freesurfer_data/`` @@ -157,14 +468,14 @@ subjects recon-all output folders) that was used to extract these ROIs: .. code:: ipython3 - hcpya = pd.read_csv('/content/PCNtoolkit-demo/data/HCP1200_aparc_thickness.csv') - ixi = pd.read_csv('/content/PCNtoolkit-demo/data/IXI_aparc_thickness.csv') + hcpya = pd.read_csv(os.path.join(wdir,'data','HCP1200_aparc_thickness.csv')) + ixi = pd.read_csv(os.path.join(wdir,'data','IXI_aparc_thickness.csv')) .. code:: ipython3 brain_all = pd.merge(ixi, hcpya, how='outer') -We extracted the euler number from each subjects recon-all output +We extracted the euler number from each subject’s recon-all output folder into a text file and we now need to format and combine these into our brain dataframe. @@ -173,12 +484,12 @@ recon-all.log for each subject. Run this from the terminal in the folder where your subjects recon-all output folders are located. This assumes that all of your subject IDs start with “sub-” prefix. -:literal:`for i in sub-*; do if [[ -e ${i}/scripts/recon-all.log ]]; then cat ${i}/scripts/recon-all.log | grep -A 1 "Computing euler" > temp_log; lh_en=$(cat temp_log | head -2 | tail -1 | awk -F '=' '{print $2}' | awk -F ',' '{print $1}'); rh_en=$(cat temp_log | head -2 | tail -1 | awk -F '=' '{print $3}'); echo "${i}, ${lh_en}, ${rh_en}" >> euler.csv; echo ${i}; fi; done` +:literal:`for i in sub-\*; do if [[ -e ${i}/scripts/recon-all.log ]]; then cat ${i}/scripts/recon-all.log | grep -A 1 "Computing euler" > temp_log; lh_en=`cat temp_log | head -2 | tail -1 | awk -F '=' '{print $2}' | awk -F ',' '{print $1}'\`; rh_en=`cat temp_log | head -2 | tail -1 | awk -F '=' '{print $3}'\`; echo "${i}, ${lh_en}, ${rh_en}" >> euler.csv; echo ${i}; fi; done` .. code:: ipython3 - hcp_euler = pd.read_csv('/content/PCNtoolkit-demo/data/hcp-ya_euler.csv') - ixi_euler = pd.read_csv('/content/PCNtoolkit-demo/data/ixi_euler.csv') + hcp_euler = pd.read_csv(os.path.join(wdir,'data','hcp-ya_euler.csv')) + ixi_euler = pd.read_csv(os.path.join(wdir,'data','ixi_euler.csv')) .. code:: ipython3 @@ -221,7 +532,7 @@ inclusion is not too strict or too lenient. .. code:: ipython3 - df_euler.groupby(by='site').median() + df_euler.groupby(by='site')[['lh_euler', 'rh_euler', 'avg_euler']].median() @@ -229,9 +540,8 @@ inclusion is not too strict or too lenient. .. raw:: html -
-
-
+
+
- + +
+ + +
+ + + + + +
+
@@ -363,6 +807,13 @@ inclusion is not too strict or too lenient. df_euler['site_median'] = df_euler['site_median'].replace({'hcp':-43,'ixi':-56}) + +.. parsed-literal:: + + :1: FutureWarning: Downcasting behavior in `replace` is deprecated and will be removed in a future version. To retain the old behavior, explicitly call `result.infer_objects(copy=False)`. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` + df_euler['site_median'] = df_euler['site_median'].replace({'hcp':-43,'ixi':-56}) + + .. code:: ipython3 df_euler['avg_euler_centered'] = df_euler['avg_euler'] - df_euler['site_median'] @@ -383,18 +834,19 @@ inclusion is not too strict or too lenient. brain_good = brain.query('avg_euler_centered_neg_sqrt < 10') -.. warning:: - **CRITICAL STEP:** If possible, data should be visually inspected to - verify that the data inclusion is not too strict or too lenient. - Subjects above the Euler number threshold should be manually checked to - verify and justify their exclusion due to poor data quality. This is - just one approach for automated QC used by the developers of the - PCNtoolkit. Other approaches such as the ENIGMA QC pipeline or UK - Biobanks QC pipeline are also viable options for automated QC. +**CRITICAL STEP:** If possible, data should be visually inspected to +verify that the data inclusion is not too strict or too lenient. +Subjects above the Euler number threshold should be manually checked to +verify and justify their exclusion due to poor data quality. This is +just one approach for automated QC used by the developers of the +PCNtoolkit. Other approaches such as the ENIGMA QC pipeline or UK +Biobank’s QC pipeline are also viable options for automated QC. Combine covariate & cortical thickness dataframes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +------------------------------------------------- +Step 4. +~~~~~~~ The normative modeling function requires the covariate predictors and brain features to be in separate text files. However, it is important to @@ -407,7 +859,7 @@ their own dataframes, using the commands below. .. code:: ipython3 - # make sure to use how="inner" so that we only include subjects that have data in both the covariate and the cortical thickness files + # make sure to use how="inner" so that we only include subjects that have data in both the covariate and the cortical thickness files all_data = pd.merge(brain_good, cov, how='inner') .. code:: ipython3 @@ -433,13 +885,15 @@ their own dataframes, using the commands below. all_data_covariates = all_data[['age','sex','site']] -.. warning:: - **CRITICAL STEP:** ``roi_ids`` is a variable that represents which brain - areas will be modeled and can be used to select subsets of the data - frame if you do not wish to run models for the whole brain. +**CRITICAL STEP:** ``roi_ids`` is a variable that represents which brain +areas will be modeled and can be used to select subsets of the data +frame if you do not wish to run models for the whole brain. Add variable to model site/scanner effects -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +------------------------------------------ + +Step 5. +~~~~~~~ Currently, the different sites are coded in a single column (named ‘site’) and are represented as a string data type. However, the @@ -451,17 +905,689 @@ variables (0=not in this site, 1=present in this site). .. code:: ipython3 - all_data_covariates = pd.get_dummies(all_data_covariates, columns=['site']) + all_data_covariates = pd.get_dummies(all_data_covariates, columns=['site'], dtype=int) .. code:: ipython3 - all_data['Average_Thickness'] = all_data[['lh_MeanThickness_thickness','rh_MeanThickness_thickness']].mean(axis=1) + all_data_covariates.head() + + + + +.. raw:: html + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
agesexsite_hcpsite_ixi
027.0110
127.0210
233.0110
327.0110
435.0210
+
+
+ +
+ + + + + +
+ + +
+ + + + + +
+ +
+
+ + + + +.. code:: ipython3 + all_data_covariates + + +.. raw:: html + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
agesexsite_hcpsite_ixi
027.000000110
127.000000210
233.000000110
327.000000110
435.000000210
...............
168747.723477101
168850.395619101
168942.989733101
169046.220397101
169141.741273101
+

1692 rows × 4 columns

+
+
+ +
+ + + + + +
+ + +
+ + + + + +
+ +
+ + + +
+ +
+
+ + + + +.. code:: ipython3 + + all_data['Average_Thickness'] = all_data[['lh_MeanThickness_thickness','rh_MeanThickness_thickness']].mean(axis=1) + Train/test split -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +---------------- +Step 6. +~~~~~~~ In this example, we use 80% of the data for training and 20% for testing. Please carefully read the experimental design section on @@ -501,11 +1627,12 @@ Verify that your train & test arrays are the same size Test response size is: (339, 6) -.. warning:: - **CRITICAL STEP:** The model would not learn the site effects if all the - data from one site was only in the test set. Therefore, we stratify the - train/test split using the site variable. +**CRITICAL STEP:** The model would not learn the site effects if all the +data from one site was only in the test set. Therefore, we stratify the +train/test split using the site variable. +Step 7. +~~~~~~~ When the data were split into train and test sets, the row index was not reset. This means that the row index in the train and test data frames @@ -540,9 +1667,11 @@ which sites to evaluate model performance for, as follows: # Create a list with sites names to use in evaluating per-site metrics site_names = ['hcp', 'ixi'] - Setup output directories -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +------------------------ + +Step 8. +------- Save each brain region to its own text file (organized in separate directories) using the following commands, because for each response @@ -557,6 +1686,7 @@ variable, Y (e.g., brain region) we fit a separate normative model. X_train.to_csv('cov_tr.txt', sep = '\t', header=False, index = False) + .. code:: ipython3 y_train.to_csv('resp_tr.txt', sep = '\t', header=False, index = False) @@ -580,12 +1710,25 @@ variable, Y (e.g., brain region) we fit a separate normative model. .. code:: ipython3 + # Note: please change the path in the following to wdir (depending on whether you are running on colab or not) + ! for i in `cat /content/PCNtoolkit-demo/data/roi_dir_names`; do if [[ -e resp_tr_${i}.txt ]]; then cd ROI_models; mkdir ${i}; cd ../; cp resp_tr_${i}.txt ROI_models/${i}/resp_tr.txt; cp resp_te_${i}.txt ROI_models/${i}/resp_te.txt; cp cov_tr.txt ROI_models/${i}/cov_tr.txt; cp cov_te.txt ROI_models/${i}/cov_te.txt; fi; done + +.. parsed-literal:: + + mkdir: cannot create directory ‘lh_MeanThickness_thickness’: File exists + mkdir: cannot create directory ‘lh_bankssts_thickness’: File exists + mkdir: cannot create directory ‘lh_caudalanteriorcingulate_thickness’: File exists + mkdir: cannot create directory ‘lh_superiorfrontal_thickness’: File exists + mkdir: cannot create directory ‘rh_MeanThickness_thickness’: File exists + mkdir: cannot create directory ‘rh_superiorfrontal_thickness’: File exists + + .. code:: ipython3 # clean up files - ! rm resp_*.txt + ! rm resp_*.txt .. code:: ipython3 @@ -593,11 +1736,13 @@ variable, Y (e.g., brain region) we fit a separate normative model. ! rm cov_t*.txt Algorithm & Modeling -------------------------------- +==================== Basis expansion using B-Splines -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +------------------------------- +Step 9. +~~~~~~~ Now, set up a B-spline basis set that allows us to perform nonlinear regression using a linear model, using the following commands. This @@ -615,29 +1760,29 @@ al `__. .. code:: ipython3 # set this path to wherever your ROI_models folder is located (where you copied all of the covariate & response text files to in Step 4) - data_dir = '/content/PCNtoolkit-demo/tutorials/BLR_protocol/ROI_models/' + data_dir = os.path.join(wdir,'tutorials','BLR_protocol','ROI_models') # Create a cubic B-spline basis (used for regression) xmin = 10#16 # xmin & xmax are the boundaries for ages of participants in the dataset xmax = 95#90 B = create_bspline_basis(xmin, xmax) - # create the basis expansion for the covariates for each of the - for roi in roi_ids: + # create the basis expansion for the covariates for each of the + for roi in roi_ids: print('Creating basis expansion for ROI:', roi) roi_dir = os.path.join(data_dir, roi) os.chdir(roi_dir) - # create output dir + # create output dir os.makedirs(os.path.join(roi_dir,'blr'), exist_ok=True) # load train & test covariate data matrices X_tr = np.loadtxt(os.path.join(roi_dir, 'cov_tr.txt')) X_te = np.loadtxt(os.path.join(roi_dir, 'cov_te.txt')) - # add intercept column + # add intercept column X_tr = np.concatenate((X_tr, np.ones((X_tr.shape[0],1))), axis=1) X_te = np.concatenate((X_te, np.ones((X_te.shape[0],1))), axis=1) np.savetxt(os.path.join(roi_dir, 'cov_int_tr.txt'), X_tr) np.savetxt(os.path.join(roi_dir, 'cov_int_te.txt'), X_te) - - # create Bspline basis set + + # create Bspline basis set Phi = np.array([B(i) for i in X_tr[:,0]]) Phis = np.array([B(i) for i in X_te[:,0]]) X_tr = np.concatenate((X_tr, Phi), axis=1) @@ -657,8 +1802,10 @@ al `__. Estimate normative model -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +------------------------ +Step 10. +~~~~~~~~ Set up a variable (``data_dir``) that specifies the path to the ROI directories that were created in Step 7. Initiate two empty pandas data @@ -674,6 +1821,8 @@ these data frames will be saved as individual csv files. blr_metrics = pd.DataFrame(columns = ['ROI', 'MSLL', 'EV', 'SMSE', 'RMSE', 'Rho']) blr_site_metrics = pd.DataFrame(columns = ['ROI', 'site', 'MSLL', 'EV', 'SMSE', 'RMSE', 'Rho']) +Step 11. +~~~~~~~~ Estimate the normative models using a for loop to iterate over brain regions. An important consideration is whether to re-scale or @@ -693,70 +1842,69 @@ arguments that are worthy of commenting on: :: - alg = 'blr': specifies we should use Bayesian Linear Regression. - - optimizer = 'powell': use Powell's derivative-free optimization method (faster in this case than L-BFGS) - - savemodel = False: do not write out the final estimated model to disk + - optimizer = 'powell': use Powell's derivative-free optimization method (faster in this case than L-BFGS) + - savemodel = False: do not write out the final estimated model to disk - saveoutput = False: return the outputs directly rather than writing them to disk - standardize = False: Do not standardize the covariates or response variables -.. warning:: - **CRITICAL STEP:** This code fragment will loop through each region of - interest in the ``roi_ids`` list (created in step 4) using Bayesian - Linear Regression and evaluate the model on the independent test set. In - principle, we could estimate the normative models on the whole data - matrix at once (e.g., with the response variables stored in a - ``n_subjects`` by ``n_brain_measures`` NumPy array or a text file - instead of saved out into separate directories). However, running the - models iteratively gives some extra flexibility in that it does not - require that the included subjects are the same for each of the brain - measures. +**CRITICAL STEP:** This code fragment will loop through each region of +interest in the ``roi_ids`` list (created in step 4) using Bayesian +Linear Regression and evaluate the model on the independent test set. In +principle, we could estimate the normative models on the whole data +matrix at once (e.g., with the response variables stored in a +``n_subjects`` by ``n_brain_measures`` NumPy array or a text file +instead of saved out into separate directories). However, running the +models iteratively gives some extra flexibility in that it does not +require that the included subjects are the same for each of the brain +measures. .. code:: ipython3 # Loop through ROIs - for roi in roi_ids: + for roi in roi_ids: print('Running ROI:', roi) roi_dir = os.path.join(data_dir, roi) os.chdir(roi_dir) - - # configure the covariates to use. Change *_bspline_* to *_int_* to + + # configure the covariates to use. Change *_bspline_* to *_int_* to cov_file_tr = os.path.join(roi_dir, 'cov_bspline_tr.txt') cov_file_te = os.path.join(roi_dir, 'cov_bspline_te.txt') - + # load train & test response files resp_file_tr = os.path.join(roi_dir, 'resp_tr.txt') - resp_file_te = os.path.join(roi_dir, 'resp_te.txt') - + resp_file_te = os.path.join(roi_dir, 'resp_te.txt') + # run a basic model - yhat_te, s2_te, nm, Z, metrics_te = estimate(cov_file_tr, - resp_file_tr, - testresp=resp_file_te, - testcov=cov_file_te, - alg = 'blr', - optimizer = 'powell', - savemodel = True, + yhat_te, s2_te, nm, Z, metrics_te = estimate(cov_file_tr, + resp_file_tr, + testresp=resp_file_te, + testcov=cov_file_te, + alg = 'blr', + optimizer = 'powell', + savemodel = True, saveoutput = False, standardize = False) # save metrics blr_metrics.loc[len(blr_metrics)] = [roi, metrics_te['MSLL'][0], metrics_te['EXPV'][0], metrics_te['SMSE'][0], metrics_te['RMSE'][0], metrics_te['Rho'][0]] - + # Compute metrics per site in test set, save to pandas df # load true test data X_te = np.loadtxt(cov_file_te) y_te = np.loadtxt(resp_file_te) y_te = y_te[:, np.newaxis] # make sure it is a 2-d array - + # load training data (required to compute the MSLL) y_tr = np.loadtxt(resp_file_tr) y_tr = y_tr[:, np.newaxis] - - for num, site in enumerate(sites): + + for num, site in enumerate(sites): y_mean_te_site = np.array([[np.mean(y_te[site])]]) y_var_te_site = np.array([[np.var(y_te[site])]]) yhat_mean_te_site = np.array([[np.mean(yhat_te[site])]]) yhat_var_te_site = np.array([[np.var(yhat_te[site])]]) - + metrics_te_site = evaluate(y_te[site], yhat_te[site], s2_te[site], y_mean_te_site, y_var_te_site) - + site_name = site_names[num] blr_site_metrics.loc[len(blr_site_metrics)] = [roi, site_names[num], metrics_te_site['MSLL'][0], metrics_te_site['EXPV'][0], metrics_te_site['SMSE'][0], metrics_te_site['RMSE'][0], metrics_te_site['Rho'][0]] @@ -764,40 +1912,54 @@ arguments that are worthy of commenting on: .. parsed-literal:: Running ROI: lh_MeanThickness_thickness + inscaler: None + outscaler: None Processing data in /content/PCNtoolkit-demo/tutorials/BLR_protocol/ROI_models/lh_MeanThickness_thickness/resp_tr.txt Estimating model 1 of 1 configuring BLR ( order 1 ) Using default hyperparameters - Optimization terminated successfully. - Current function value: -1162.792820 - Iterations: 2 - Function evaluations: 47 - Saving model meta-data... - Evaluating the model ... .. parsed-literal:: - /usr/local/lib/python3.7/dist-packages/pcntoolkit/model/bayesreg.py:187: LinAlgWarning: Ill-conditioned matrix (rcond=1.15485e-18): result may not be accurate. - invAXt = linalg.solve(self.A, X.T, check_finite=False) - /usr/local/lib/python3.7/dist-packages/pcntoolkit/model/bayesreg.py:187: LinAlgWarning: Ill-conditioned matrix (rcond=4.51813e-19): result may not be accurate. + /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/bayesreg.py:196: LinAlgWarning: Ill-conditioned matrix (rcond=1.15485e-18): result may not be accurate. invAXt = linalg.solve(self.A, X.T, check_finite=False) .. parsed-literal:: + Optimization terminated successfully. + Current function value: -1162.792820 + Iterations: 2 + Function evaluations: 43 + Saving model meta-data... + Evaluating the model ... Running ROI: rh_MeanThickness_thickness + inscaler: None + outscaler: None Processing data in /content/PCNtoolkit-demo/tutorials/BLR_protocol/ROI_models/rh_MeanThickness_thickness/resp_tr.txt Estimating model 1 of 1 configuring BLR ( order 1 ) Using default hyperparameters + + +.. parsed-literal:: + + /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/bayesreg.py:196: LinAlgWarning: Ill-conditioned matrix (rcond=4.51813e-19): result may not be accurate. + invAXt = linalg.solve(self.A, X.T, check_finite=False) + + +.. parsed-literal:: + Optimization terminated successfully. Current function value: -1187.621858 Iterations: 2 - Function evaluations: 47 + Function evaluations: 43 Saving model meta-data... Evaluating the model ... Running ROI: lh_bankssts_thickness + inscaler: None + outscaler: None Processing data in /content/PCNtoolkit-demo/tutorials/BLR_protocol/ROI_models/lh_bankssts_thickness/resp_tr.txt Estimating model 1 of 1 configuring BLR ( order 1 ) @@ -805,10 +1967,12 @@ arguments that are worthy of commenting on: Optimization terminated successfully. Current function value: -578.945257 Iterations: 2 - Function evaluations: 46 + Function evaluations: 42 Saving model meta-data... Evaluating the model ... Running ROI: lh_caudalanteriorcingulate_thickness + inscaler: None + outscaler: None Processing data in /content/PCNtoolkit-demo/tutorials/BLR_protocol/ROI_models/lh_caudalanteriorcingulate_thickness/resp_tr.txt Estimating model 1 of 1 configuring BLR ( order 1 ) @@ -816,10 +1980,12 @@ arguments that are worthy of commenting on: Optimization terminated successfully. Current function value: -235.509099 Iterations: 3 - Function evaluations: 75 + Function evaluations: 69 Saving model meta-data... Evaluating the model ... Running ROI: lh_superiorfrontal_thickness + inscaler: None + outscaler: None Processing data in /content/PCNtoolkit-demo/tutorials/BLR_protocol/ROI_models/lh_superiorfrontal_thickness/resp_tr.txt Estimating model 1 of 1 configuring BLR ( order 1 ) @@ -827,10 +1993,12 @@ arguments that are worthy of commenting on: Optimization terminated successfully. Current function value: -716.547377 Iterations: 3 - Function evaluations: 91 + Function evaluations: 84 Saving model meta-data... Evaluating the model ... Running ROI: rh_superiorfrontal_thickness + inscaler: None + outscaler: None Processing data in /content/PCNtoolkit-demo/tutorials/BLR_protocol/ROI_models/rh_superiorfrontal_thickness/resp_tr.txt Estimating model 1 of 1 configuring BLR ( order 1 ) @@ -838,17 +2006,19 @@ arguments that are worthy of commenting on: Optimization terminated successfully. Current function value: -730.639309 Iterations: 2 - Function evaluations: 45 + Function evaluations: 41 Saving model meta-data... Evaluating the model ... Evaluation & Interpretation ----------------------------------------- +=========================== Describe the normative model performance -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +---------------------------------------- +Step 12. +~~~~~~~~ In step 11, when we looped over each region of interest in the ``roi_ids`` list (created in step 4) and evaluated the normative model @@ -917,7 +2087,9 @@ can organize them into a single file, and merge the deviation scores into the original data file. Visualize normative model outputs -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +--------------------------------- + +.. container:: Figure 4A viz ~~~~~~~~~~~~~ @@ -937,29 +2109,21 @@ Figure 4A viz plt.figure(dpi=380) fig, axes = joypy.joyplot(blr_site_metrics, column=['EV'], overlap=2.5, by="site", ylim='own', fill=True, figsize=(8,8) , legend=False, xlabels=True, ylabels=True, colormap=lambda x: color_gradient(x, start=(.08, .45, .8),stop=(.8, .34, .44)) - , alpha=0.6, linewidth=.5, linecolor='w', fade=True) + , alpha=0.6, linewidth=.5, linecolor='w', fade=True); plt.title('Test Set Explained Variance', fontsize=18, color='black', alpha=1) plt.xlabel('Explained Variance', fontsize=14, color='black', alpha=1) plt.ylabel('Site', fontsize=14, color='black', alpha=1) - plt.show - + plt.show() .. parsed-literal:: - +
- -.. parsed-literal:: - -
- - - -.. image:: BLR_normativemodel_protocol_files/BLR_normativemodel_protocol_93_2.png +.. image:: BLR_normativemodel_protocol_files/BLR_normativemodel_protocol_97_1.png The code used to create the visualizations shown in Figure 4 panels B-F, @@ -967,7 +2131,8 @@ can be found in this `notebook `__. Post-Hoc analysis ideas -~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------- + The code for running SVM classification and classical case vs. control t-testing on the outputs of normative modeling can be found in this diff --git a/doc/source/pages/BLR_normativemodel_protocol_files/BLR_normativemodel_protocol_15_1.png b/doc/source/pages/BLR_normativemodel_protocol_files/BLR_normativemodel_protocol_15_1.png deleted file mode 100644 index f641b263bc634a4b6b1bfe812d44d28a220bbd87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13275 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 diff --git a/doc/source/pages/BLR_normativemodel_protocol_files/BLR_normativemodel_protocol_16_0.png b/doc/source/pages/BLR_normativemodel_protocol_files/BLR_normativemodel_protocol_16_0.png new file mode 100644 index 0000000000000000000000000000000000000000..34ac58742a93861ab391248a0aeaaed921ff1d79 GIT binary patch literal 19471 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�{y?@#CRP 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 z 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�wUsa>Y z=K$YgvS07Rz-Hz9P|Ch~VO?C}&|7omnODw?Jza-+o6;?X7)fe}05Nnr-4!~%w-NfZ z$5foAKRL)e!V0|W&-<={qk@okx`a82;Pl4pfGfnX%r+m|o3rQ9_U}@_txg_+>YZML zLs|c9biL3Ho$3H{mL!#yY6^O6vg6&R@BK4(uq{NpuGdb8Qpz)3MXGhJgf7prCW6%I zW0H-R{kIDt7N%%Qq51DUc}qP6H*zO3!q2%gGRChBDdt$ZkoMTL zexn!s!G{vTSY_S)?qFUYPkg`4W?p6geU-a8XGQ03mebzf4X5vk7@&tS^Bn9zVW)+% zs>E>VwR(6|xT57fRIyjf_()o|oDOTdTwW-pt~FgcwJ_xBv4wHA%JLTeMNb@2GR*Rq?njQkX;f_ivpj|qFKvq-BAE}JcvDlP^{wdyafG^ON4V*q zF2kGl7Svqd;0dGlhARhap;A>v2ShP+r}BzW0xhK>+3N~9${OE&nJ;K)LE?;NSUUR| z>3okt#BHh>vdpXzzEKy0g^u7hfK&B+etvQcUZy>i6rY&g#2cktt?%WcvnU z(LW~XMU7qut+gG%3x9lUR&zF6UG#!$o46LrZ@a&!AMfw3){dQaV$!Eza?@V+zW&Qnw%&ODGOhgplZ+pXFp;{iv=AzS8C%4aR*Bm1m zsb9?-;eLUDg%m6}iLVpgMP7;7OKs#>Gb>LM=M(CQ-3=DN)DT+DG77s$7(^)3e%*uxHO%t|^W7QDjWZ#Oji7_nL8<2B8?+b&K#p#+#Ovenm4 z;&%`qgAwoyN@GjP*nVx~^gWI6x71I$2*V?YbYi!n*F?nHag?g!9UvfP2WdNO|M$x> zC!D?%9?o#xBv+dP84YA&hLi9AIHj9{$vSbrBz6VfP~qb;<6}7EU~bX%hWCO}=0(4K zpZQo7Q_qsBAz?72jh1BM(S{9?h8lyMeKb+`43w{uIpi~hOXysUA&)f{f6-^=`duo zp6_{2H}Y$)#mG=unx);Bc>`d9;j(aQ$?zy)0kdbuX@&IUu(f4DfhR?-dt6y*RDtug zc^LI*i-!Q+R6*C1(oo3Wg{m5dCv>w*k$_O9tA=S?%plx?$JSF=&Sql#RYRtJ^PEa>;lcQ⋙nw{!!fXbX4buAzdnZKwKG|Xx$~dUz2 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 +====================================================================================== -Hierarchical Bayesian Regression +Hierarchical Bayesian Regression Normative Modelling and Transfer onto unseen site. =================================================================================== This notebook will go through basic data preparation (training and -testing set, `see Saige's +testing set, `see Saige’s tutorial `__ on Normative Modelling for more detail), the actual training of the models, and will finally describe how to transfer the trained models onto unseen sites. Created by `Saige Rutherford `__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Adapted/edited by Andre Marquand and Pierre Berthet. - -.. image:: https://colab.research.google.com/assets/colab-badge.svg - :target: https://colab.research.google.com/github/predictive-clinical-neuroscience/PCNtoolkit-demo/blob/main/tutorials/HBR_FCON/HBR_NormativeModel_FCONdata_Tutorial.ipynb - +adapted/edited by Andre Marquand and Pierre Berthet +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.. container:: Step 0: Install necessary libraries & grab data files ----------------------------------------------------- .. code:: ipython3 - ! pip install pcntoolkit==0.26 + !pip install pcntoolkit + !pip install nutpie + + +.. parsed-literal:: + + Collecting https://github.com/amarquand/PCNtoolkit/archive/dev.zip + Downloading https://github.com/amarquand/PCNtoolkit/archive/dev.zip +  \ 64.9 MB 15.9 MB/s 0:00:05 + [?25h Installing build dependencies ... [?25l[?25hdone + Getting requirements to build wheel ... [?25l[?25hdone + Preparing metadata (pyproject.toml) ... [?25l[?25hdone + Collecting bspline<0.2.0,>=0.1.1 (from pcntoolkit==0.31.0) + Downloading bspline-0.1.1.tar.gz (84 kB) +  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 84.2/84.2 kB 2.3 MB/s eta 0:00:00 + [?25h Preparing metadata (setup.py) ... [?25l[?25hdone + Collecting matplotlib<4.0.0,>=3.9.2 (from pcntoolkit==0.31.0) + Downloading matplotlib-3.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB) + Requirement already satisfied: nibabel<6.0.0,>=5.3.1 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (5.3.2) + Requirement already satisfied: numpy<2.0,>=1.26 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (1.26.4) + Requirement already satisfied: pymc<6.0.0,>=5.18.0 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (5.18.0) + Requirement already satisfied: scikit-learn<2.0.0,>=1.5.2 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (1.5.2) + Requirement already satisfied: scipy<2.0,>=1.12 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (1.13.1) + Requirement already satisfied: seaborn<0.14.0,>=0.13.2 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (0.13.2) + Requirement already satisfied: six<2.0.0,>=1.16.0 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (1.16.0) + Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (1.3.1) + Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (0.12.1) + Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (4.54.1) + Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (1.4.7) + Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (24.2) + Requirement already satisfied: pillow>=8 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (11.0.0) + Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (3.2.0) + Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (2.8.2) + Requirement already satisfied: importlib-resources>=5.12 in /usr/local/lib/python3.10/dist-packages (from nibabel<6.0.0,>=5.3.1->pcntoolkit==0.31.0) (6.4.5) + Requirement already satisfied: typing-extensions>=4.6 in /usr/local/lib/python3.10/dist-packages (from nibabel<6.0.0,>=5.3.1->pcntoolkit==0.31.0) (4.12.2) + Requirement already satisfied: arviz>=0.13.0 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.20.0) + Requirement already satisfied: cachetools>=4.2.1 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (5.5.0) + Requirement already satisfied: cloudpickle in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.1.0) + Requirement already satisfied: pandas>=0.24.0 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2.2.2) + Requirement already satisfied: pytensor<2.26,>=2.25.1 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2.25.5) + Requirement already satisfied: rich>=13.7.1 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (13.9.4) + Requirement already satisfied: threadpoolctl<4.0.0,>=3.1.0 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.5.0) + Requirement already satisfied: joblib>=1.2.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn<2.0.0,>=1.5.2->pcntoolkit==0.31.0) (1.4.2) + Requirement already satisfied: setuptools>=60.0.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (75.1.0) + Requirement already satisfied: xarray>=2022.6.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2024.10.0) + Requirement already satisfied: h5netcdf>=1.0.2 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (1.4.1) + Requirement already satisfied: xarray-einstats>=0.3 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.8.0) + Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.24.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2024.2) + Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.24.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2024.2) + Requirement already satisfied: filelock>=3.15 in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.16.1) + Requirement already satisfied: etuples in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.3.9) + Requirement already satisfied: logical-unification in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.4.6) + Requirement already satisfied: miniKanren in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (1.0.3) + Requirement already satisfied: cons in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.4.6) + Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich>=13.7.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.0.0) + Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.10/dist-packages (from rich>=13.7.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2.18.0) + Requirement already satisfied: h5py in /usr/local/lib/python3.10/dist-packages (from h5netcdf>=1.0.2->arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.12.1) + Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py>=2.2.0->rich>=13.7.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.1.2) + Requirement already satisfied: toolz in /usr/local/lib/python3.10/dist-packages (from logical-unification->pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.12.1) + Requirement already satisfied: multipledispatch in /usr/local/lib/python3.10/dist-packages (from logical-unification->pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (1.0.0) + Downloading matplotlib-3.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.3 MB) +  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.3/8.3 MB 55.1 MB/s eta 0:00:00 + [?25hBuilding wheels for collected packages: pcntoolkit, bspline + Building wheel for pcntoolkit (pyproject.toml) ... [?25l[?25hdone + Created wheel for pcntoolkit: filename=pcntoolkit-0.31.0-py3-none-any.whl size=114835 sha256=40635c10c24ccf2c319ee965aaf1038272cd5578f14d9cb3dd14598ddab31d00 + Stored in directory: /tmp/pip-ephem-wheel-cache-f502unec/wheels/9e/c4/29/3bca3a5facf8ef69b8622461d8520d24a19d3745aefa093d1e + Building wheel for bspline (setup.py) ... [?25l[?25hdone + Created wheel for bspline: filename=bspline-0.1.1-py3-none-any.whl size=84482 sha256=150d24f295ccda92c9789d421e52c3858d43c66874deec4a463a87b4e5533448 + Stored in directory: /root/.cache/pip/wheels/3c/ab/0a/70927853a6d9166bc777922736063a6f99c43a327c802f9326 + Successfully built pcntoolkit bspline + Installing collected packages: bspline, matplotlib, pcntoolkit + Attempting uninstall: matplotlib + Found existing installation: matplotlib 3.8.0 + Uninstalling matplotlib-3.8.0: + Successfully uninstalled matplotlib-3.8.0 + Successfully installed bspline-0.1.1 matplotlib-3.9.2 pcntoolkit-0.31.0 + Collecting nutpie + Downloading nutpie-0.13.2-cp310-cp310-manylinux_2_28_x86_64.whl.metadata (5.4 kB) + Requirement already satisfied: pyarrow>=12.0.0 in /usr/local/lib/python3.10/dist-packages (from nutpie) (17.0.0) + Requirement already satisfied: pandas>=2.0 in /usr/local/lib/python3.10/dist-packages (from nutpie) (2.2.2) + Requirement already satisfied: xarray>=2023.6.0 in /usr/local/lib/python3.10/dist-packages (from nutpie) (2024.10.0) + Requirement already satisfied: arviz>=0.15.0 in /usr/local/lib/python3.10/dist-packages (from nutpie) (0.20.0) + Requirement already satisfied: setuptools>=60.0.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (75.1.0) + Requirement already satisfied: matplotlib>=3.5 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (3.9.2) + Requirement already satisfied: numpy>=1.23.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (1.26.4) + Requirement already satisfied: scipy>=1.9.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (1.13.1) + Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (24.2) + Requirement already satisfied: h5netcdf>=1.0.2 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (1.4.1) + Requirement already satisfied: typing-extensions>=4.1.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (4.12.2) + Requirement already satisfied: xarray-einstats>=0.3 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (0.8.0) + Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas>=2.0->nutpie) (2.8.2) + Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=2.0->nutpie) (2024.2) + Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas>=2.0->nutpie) (2024.2) + Requirement already satisfied: h5py in /usr/local/lib/python3.10/dist-packages (from h5netcdf>=1.0.2->arviz>=0.15.0->nutpie) (3.12.1) + Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5->arviz>=0.15.0->nutpie) (1.3.1) + Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5->arviz>=0.15.0->nutpie) (0.12.1) + Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5->arviz>=0.15.0->nutpie) (4.54.1) + Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5->arviz>=0.15.0->nutpie) (1.4.7) + Requirement already satisfied: pillow>=8 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5->arviz>=0.15.0->nutpie) (11.0.0) + Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5->arviz>=0.15.0->nutpie) (3.2.0) + Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas>=2.0->nutpie) (1.16.0) + Downloading nutpie-0.13.2-cp310-cp310-manylinux_2_28_x86_64.whl (1.5 MB) +  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 16.5 MB/s eta 0:00:00 + [?25hInstalling collected packages: nutpie + Successfully installed nutpie-0.13.2 For this tutorial we will use data from the `Functional Connectom @@ -47,7 +151,7 @@ First we import the required package, and create a working directory. .. code:: ipython3 - processing_dir = "HBR_demo/" # replace with a path to your working directory + processing_dir = "HBR_demo" # replace with desired working directory if not os.path.isdir(processing_dir): os.makedirs(processing_dir) os.chdir(processing_dir) @@ -65,9 +169,13 @@ color coded by the various sites: fcon = pd.read_csv('https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/main/data/fcon1000.csv') + # extract the ICBM site for transfer icbm = fcon.loc[fcon['site'] == 'ICBM'] icbm['sitenum'] = 0 + + # remove from the training set (also Pittsburgh because it only has 3 samples) fcon = fcon.loc[fcon['site'] != 'ICBM'] + fcon = fcon.loc[fcon['site'] != 'Pittsburgh'] sites = fcon['site'].unique() fcon['sitenum'] = 0 @@ -86,6 +194,390 @@ color coded by the various sites: ax.set_xlabel('age') + +.. parsed-literal:: + + :5: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame. + Try using .loc[row_indexer,col_indexer] = value instead + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + icbm['sitenum'] = 0 + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + + +.. parsed-literal:: + + site AnnArbor_a 24 + site AnnArbor_b 32 + site Atlanta 28 + site Baltimore 23 + site Bangor 20 + site Beijing_Zang 198 + site Berlin_Margulies 26 + site Cambridge_Buckner 198 + site Cleveland 31 + site Leiden_2180 12 + site Leiden_2200 19 + site Milwaukee_b 46 + site Munchen 15 + site NewYork_a 83 + site NewYork_a_ADHD 25 + site Newark 19 + site Oulu 102 + site Oxford 22 + site PaloAlto 17 + site Queensland 19 + site SaintLouis 31 + + + + +.. parsed-literal:: + + Text(0.5, 0, 'age') + + + + +.. image:: HBR_NormativeModel_FCONdata_Tutorial_files/HBR_NormativeModel_FCONdata_Tutorial_10_3.png + + Step 1: Prepare training and testing sets ----------------------------------------- @@ -122,15 +614,42 @@ then displayed. icbm_tr.to_csv(processing_dir + '/fcon1000_icbm_tr.csv') icbm_te.to_csv(processing_dir + '/fcon1000_icbm_te.csv') + +.. parsed-literal:: + + sample size check + 0 AnnArbor_a 10 14 + 1 AnnArbor_b 19 13 + 2 Atlanta 12 16 + 3 Baltimore 12 11 + 4 Bangor 10 10 + 5 Beijing_Zang 91 107 + 6 Berlin_Margulies 9 17 + 7 Cambridge_Buckner 96 102 + 8 Cleveland 13 18 + 9 Leiden_2180 5 7 + 10 Leiden_2200 11 8 + 11 Milwaukee_b 18 28 + 12 Munchen 9 6 + 13 NewYork_a 38 45 + 14 NewYork_a_ADHD 15 10 + 15 Newark 9 10 + 16 Oulu 50 52 + 17 Oxford 9 13 + 18 PaloAlto 8 9 + 19 Queensland 10 9 + 20 SaintLouis 18 13 + + Otherwise you can just load these pre defined subsets: .. code:: ipython3 # Optional - # fcon_tr = pd.read_csv('https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/main/data/fcon1000_tr.csv') - # fcon_te = pd.read_csv('https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/main/data/fcon1000_te.csv') - # icbm_tr = pd.read_csv('https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/main/data/fcon1000_icbm_tr.csv') - # icbm_te = pd.read_csv('https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/main/data/fcon1000_icbm_te.csv') + #fcon_tr = pd.read_csv('https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/main/data/fcon1000_tr.csv') + #fcon_te = pd.read_csv('https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/main/data/fcon1000_te.csv') + #icbm_tr = pd.read_csv('https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/main/data/fcon1000_icbm_tr.csv') + #icbm_te = pd.read_csv('https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/main/data/fcon1000_icbm_te.csv') Step 2: Configure HBR inputs: covariates, measures and batch effects -------------------------------------------------------------------- @@ -160,7 +679,12 @@ testing set (``_test``). X_train = (fcon_tr['age']/100).to_numpy(dtype=float) Y_train = fcon_tr[idps].to_numpy(dtype=float) - batch_effects_train = fcon_tr[['sitenum','sex']].to_numpy(dtype=int) + + # configure batch effects for site and sex + #batch_effects_train = fcon_tr[['sitenum','sex']].to_numpy(dtype=int) + + # or only site + batch_effects_train = fcon_tr[['sitenum']].to_numpy(dtype=int) with open('X_train.pkl', 'wb') as file: pickle.dump(pd.DataFrame(X_train), file) @@ -172,7 +696,8 @@ testing set (``_test``). X_test = (fcon_te['age']/100).to_numpy(dtype=float) Y_test = fcon_te[idps].to_numpy(dtype=float) - batch_effects_test = fcon_te[['sitenum','sex']].to_numpy(dtype=int) + #batch_effects_test = fcon_te[['sitenum','sex']].to_numpy(dtype=int) + batch_effects_test = fcon_te[['sitenum']].to_numpy(dtype=int) with open('X_test.pkl', 'wb') as file: pickle.dump(pd.DataFrame(X_test), file) @@ -186,6 +711,536 @@ testing set (``_test``). with open(filename, 'rb') as f: return pickle.load(f) +.. code:: ipython3 + + batch_effects_test + + + + +.. parsed-literal:: + + array([[ 0], + [ 0], + [ 0], + [ 0], + [ 0], + [ 0], + [ 0], + [ 0], + [ 0], + [ 0], + [ 0], + [ 0], + [ 0], + [ 0], + [ 1], + [ 1], + [ 1], + [ 1], + [ 1], + [ 1], + [ 1], + [ 1], + [ 1], + [ 1], + [ 1], + [ 1], + [ 1], + [ 2], + [ 2], + [ 2], + [ 2], + [ 2], + [ 2], + [ 2], + [ 2], + [ 2], + [ 2], + [ 2], + [ 2], + [ 2], + [ 2], + [ 2], + [ 2], + [ 3], + [ 3], + [ 3], + [ 3], + [ 3], + [ 3], + [ 3], + [ 3], + [ 3], + [ 3], + [ 3], + [ 4], + [ 4], + [ 4], + [ 4], + [ 4], + [ 4], + [ 4], + [ 4], + [ 4], + [ 4], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 9], + [ 9], + [ 9], + [ 9], + [ 9], + [ 9], + [ 9], + [10], + [10], + [10], + [10], + [10], + [10], + [10], + [10], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [12], + [12], + [12], + [12], + [12], + [12], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [14], + [14], + [14], + [14], + [14], + [14], + [14], + [14], + [14], + [14], + [15], + [15], + [15], + [15], + [15], + [15], + [15], + [15], + [15], + [15], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [17], + [17], + [17], + [17], + [17], + [17], + [17], + [17], + [17], + [17], + [17], + [17], + [17], + [18], + [18], + [18], + [18], + [18], + [18], + [18], + [18], + [18], + [19], + [19], + [19], + [19], + [19], + [19], + [19], + [19], + [19], + [20], + [20], + [20], + [20], + [20], + [20], + [20], + [20], + [20], + [20], + [20], + [20], + [20]]) + + + Step 3: Files and Folders grooming ---------------------------------- @@ -226,12 +1281,399 @@ and output files will be written and how they will be named. respfile=respfile, tsbefile=tsbefile, trbefile=trbefile, + inscaler='standardize', + outscaler='standardize', + linear_mu='True', + random_intercept_mu='True', + centered_intercept_mu='True', alg='hbr', log_path=log_dir, binary=True, - output_path=output_path, testcov= testcovfile_path, + output_path=output_path, + testcov= testcovfile_path, testresp = testrespfile_path, - outputsuffix=outputsuffix, savemodel=True) + outputsuffix=outputsuffix, + savemodel=True, + nuts_sampler='nutpie') + + +.. parsed-literal:: + + inscaler: standardize + outscaler: standardize + Processing data in /content/HBR_demo/Y_train.pkl + Estimating model 1 of 2 + + + +.. raw:: html + + + + + + + +.. raw:: html + + +

+

Sampler Progress

+

Total Chains: 1

+

Active Chains: 0

+

+ Finished Chains: + 1 +

+

Sampling for now

+

+ Estimated Time to Completion: + now +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ProgressDrawsDivergencesStep SizeGradients/Draw
+ + + 150000.3415
+
+ + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+
+.. parsed-literal::
+
+    Output()
+
+
+.. parsed-literal::
+
+    Normal
+
+
+
+.. raw:: html
+
+    

+
+
+
+.. parsed-literal::
+
+    Estimating model  2 of 2
+
+
+
+.. raw:: html
+
+    
+    
+
+
+
+
+.. raw:: html
+
+    
+    
+

Sampler Progress

+

Total Chains: 1

+

Active Chains: 0

+

+ Finished Chains: + 1 +

+

Sampling for now

+

+ Estimated Time to Completion: + now +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ProgressDrawsDivergencesStep SizeGradients/Draw
+ + + 150000.3315
+
+ + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+.. parsed-literal::
+
+    Normal
+
+
+
+.. parsed-literal::
+
+    Output()
+
+
+
+.. raw:: html
+
+    

+
+
+
+.. parsed-literal::
+
+    Saving model meta-data...
+    Evaluating the model ...
+    Writing outputs ...
+
 
 Here some analyses can be done, there are also some error metrics that
 could be of interest. This is covered in step 6 and in `Saige’s
@@ -249,7 +1691,8 @@ training and testing set of covariates, measures and batch effects:
 
     X_adapt = (icbm_tr['age']/100).to_numpy(dtype=float)
     Y_adapt = icbm_tr[idps].to_numpy(dtype=float)
-    batch_effects_adapt = icbm_tr[['sitenum','sex']].to_numpy(dtype=int)
+    #batch_effects_adapt = icbm_tr[['sitenum','sex']].to_numpy(dtype=int)
+    batch_effects_adapt = icbm_tr[['sitenum']].to_numpy(dtype=int)
     
     with open('X_adaptation.pkl', 'wb') as file:
         pickle.dump(pd.DataFrame(X_adapt), file)
@@ -261,7 +1704,8 @@ training and testing set of covariates, measures and batch effects:
     # Test data (new dataset)
     X_test_txfr = (icbm_te['age']/100).to_numpy(dtype=float)
     Y_test_txfr = icbm_te[idps].to_numpy(dtype=float)
-    batch_effects_test_txfr = icbm_te[['sitenum','sex']].to_numpy(dtype=int)
+    #batch_effects_test_txfr = icbm_te[['sitenum','sex']].to_numpy(dtype=int)
+    batch_effects_test_txfr = icbm_te[['sitenum']].to_numpy(dtype=int)
     
     with open('X_test_txfr.pkl', 'wb') as file:
         pickle.dump(pd.DataFrame(X_test_txfr), file)
@@ -270,6 +1714,7 @@ training and testing set of covariates, measures and batch effects:
     with open('txbefile.pkl', 'wb') as file:
         pickle.dump(pd.DataFrame(batch_effects_test_txfr), file)
 
+
 .. code:: ipython3
 
     respfile = os.path.join(processing_dir, 'Y_adaptation.pkl')
@@ -294,6 +1739,11 @@ and testing). That is basically the only difference.
                                                 respfile=respfile,
                                                 tsbefile=tsbefile,
                                                 trbefile=trbefile,
+                                                inscaler='standardize',
+                                                outscaler='standardize',
+                                                linear_mu='True',
+                                                random_intercept_mu='True',
+                                                centered_intercept_mu='True',
                                                 model_path = model_path,
                                                 alg='hbr',
                                                 log_path=log_dir,
@@ -302,7 +1752,375 @@ and testing). That is basically the only difference.
                                                 testcov= testcovfile_path,
                                                 testresp = testrespfile_path,
                                                 outputsuffix=outputsuffix,
-                                                savemodel=True)
+                                                savemodel=True,
+                                                nuts_sampler='nutpie')
+
+
+.. parsed-literal::
+
+    Loading data ...
+    Using HBR transform...
+    Transferring model  1 of 2
+
+
+
+.. raw:: html
+
+    
+    
+
+
+
+
+.. raw:: html
+
+    
+    
+

Sampler Progress

+

Total Chains: 1

+

Active Chains: 0

+

+ Finished Chains: + 1 +

+

Sampling for now

+

+ Estimated Time to Completion: + now +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ProgressDrawsDivergencesStep SizeGradients/Draw
+ + + 150020.477
+
+ + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+.. parsed-literal::
+
+    Using HBR transform...
+    Transferring model  2 of 2
+
+
+
+.. raw:: html
+
+    
+    
+
+
+
+
+.. raw:: html
+
+    
+    
+

Sampler Progress

+

Total Chains: 1

+

Active Chains: 0

+

+ Finished Chains: + 1 +

+

Sampling for now

+

+ Estimated Time to Completion: + now +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ProgressDrawsDivergencesStep SizeGradients/Draw
+ + + 150010.4015
+
+ + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +

+
+
+
+.. parsed-literal::
+
+    Evaluating the model ...
+    Writing outputs ...
+
+
+.. code:: ipython3
+
+    output_path
+
+
+
+
+.. parsed-literal::
+
+    '/content/HBR_demo/Transfer/'
+
+
+
+.. code:: ipython3
+
+    EV = pd.read_pickle('EXPV_estimate.pkl')
+    print(EV)
+
+
+.. parsed-literal::
+
+              0
+    0  0.438215
+    1  0.439181
 
 
 And that is it, you now have models that benefited from prior knowledge
@@ -311,19 +2129,12 @@ about different scanner sites to learn on unseen sites.
 Step 6: Interpreting model performance
 --------------------------------------
 
-Output evaluation metrics definitions
-
-=============  ==============================================================
-Abbreviation    Full name
-=============  ==============================================================
-NM             Normative Model
-EV / EXPV      Explained Variance
-MSLL           Mean Standardized Log Loss
-SMSE           Standardized Mean Squared Error
-RMSE           Root Mean Squared Error between true/predicted responses
-Rho            Pearson orrelation between true/predicted responses
-pRho           Parametric p-value for this correlation
-Z              Z-score or deviation score
-yhat           predictive mean
-ys2            predictive variance
-=============  ==============================================================
+Output evaluation metrics definitions: \* yhat - predictive mean \* ys2
+- predictive variance \* nm - normative model \* Z - deviance scores \*
+Rho - Pearson correlation between true and predicted responses \* pRho -
+parametric p-value for this correlation \* RMSE - root mean squared
+error between true/predicted responses \* SMSE - standardised mean
+squared error \* EV - explained variance \* MSLL - mean standardized log
+loss \* See page 23 in
+http://www.gaussianprocess.org/gpml/chapters/RW2.pdf
+
diff --git a/doc/source/pages/HBR_NormativeModel_FCONdata_Tutorial_files/HBR_NormativeModel_FCONdata_Tutorial_10_3.png b/doc/source/pages/HBR_NormativeModel_FCONdata_Tutorial_files/HBR_NormativeModel_FCONdata_Tutorial_10_3.png
new file mode 100644
index 0000000000000000000000000000000000000000..1d5d934276f56f6ddd3c4cc588e5e3febf2f4a1a
GIT binary patch
literal 143042
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%0Dvif
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�!{LBXG?V9Sv!6UDmZf{_5+nm@McR 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 Gp$P!$#Bj*~ literal 0 HcmV?d00001 diff --git a/doc/source/pages/HBR_NormativeModel_FCONdata_Tutorial_files/HBR_NormativeModel_FCONdata_Tutorial_9_3.png b/doc/source/pages/HBR_NormativeModel_FCONdata_Tutorial_files/HBR_NormativeModel_FCONdata_Tutorial_9_3.png deleted file mode 100644 index 193f9dbbfff7f1e7ccd36032029ad4c95f0501a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78758 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.1.1 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (0.1.1)\n", - "Requirement already satisfied: matplotlib<4.0.0,>=3.8.1 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (3.9.2)\n", - "Requirement already satisfied: nibabel<6.0.0,>=5.3.1 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (5.3.2)\n", - "Requirement already satisfied: pymc<6.0.0,>=5.18.0 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (5.18.0)\n", - "Requirement already satisfied: scikit-learn<2.0.0,>=1.5.2 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (1.5.2)\n", - "Requirement already satisfied: scipy<2.0,>=1.12 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (1.13.1)\n", - "Requirement already satisfied: seaborn<0.14.0,>=0.13.2 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (0.13.2)\n", - "Requirement already satisfied: six<2.0.0,>=1.16.0 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (1.16.0)\n", - "Requirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (from bspline<0.2.0,>=0.1.1->pcntoolkit==0.31.0) (1.26.4)\n", - "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.8.1->pcntoolkit==0.31.0) (1.3.0)\n", - "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.8.1->pcntoolkit==0.31.0) (0.12.1)\n", - "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.8.1->pcntoolkit==0.31.0) (4.54.1)\n", - "Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.8.1->pcntoolkit==0.31.0) (1.4.7)\n", - "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.8.1->pcntoolkit==0.31.0) (24.2)\n", - "Requirement already satisfied: pillow>=8 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.8.1->pcntoolkit==0.31.0) (11.0.0)\n", - "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.8.1->pcntoolkit==0.31.0) (3.2.0)\n", - "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.8.1->pcntoolkit==0.31.0) (2.8.2)\n", - "Requirement already satisfied: importlib-resources>=5.12 in /usr/local/lib/python3.10/dist-packages (from nibabel<6.0.0,>=5.3.1->pcntoolkit==0.31.0) (6.4.5)\n", - "Requirement already satisfied: typing-extensions>=4.6 in /usr/local/lib/python3.10/dist-packages (from nibabel<6.0.0,>=5.3.1->pcntoolkit==0.31.0) (4.12.2)\n", - "Requirement already satisfied: arviz>=0.13.0 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.20.0)\n", - "Requirement already satisfied: cachetools>=4.2.1 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (5.5.0)\n", - "Requirement already satisfied: cloudpickle in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.1.0)\n", - "Requirement already satisfied: pandas>=0.24.0 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2.2.2)\n", - "Requirement already satisfied: pytensor<2.26,>=2.25.1 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2.25.5)\n", - "Requirement already satisfied: rich>=13.7.1 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (13.9.4)\n", - "Requirement already satisfied: threadpoolctl<4.0.0,>=3.1.0 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.5.0)\n", - "Requirement already satisfied: joblib>=1.2.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn<2.0.0,>=1.5.2->pcntoolkit==0.31.0) (1.4.2)\n", - "Requirement already satisfied: setuptools>=60.0.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (75.1.0)\n", - "Requirement already satisfied: xarray>=2022.6.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2024.10.0)\n", - "Requirement already satisfied: h5netcdf>=1.0.2 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (1.4.0)\n", - "Requirement already satisfied: xarray-einstats>=0.3 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.8.0)\n", - "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.24.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2024.2)\n", - "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.24.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2024.2)\n", - "Requirement already satisfied: filelock>=3.15 in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.16.1)\n", - "Requirement already satisfied: etuples in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.3.9)\n", - "Requirement already satisfied: logical-unification in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.4.6)\n", - "Requirement already satisfied: miniKanren in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (1.0.3)\n", - "Requirement already satisfied: cons in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.4.6)\n", - "Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich>=13.7.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.0.0)\n", - "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.10/dist-packages (from rich>=13.7.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2.18.0)\n", - "Requirement already satisfied: h5py in /usr/local/lib/python3.10/dist-packages (from h5netcdf>=1.0.2->arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.12.1)\n", - "Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py>=2.2.0->rich>=13.7.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.1.2)\n", - "Requirement already satisfied: toolz in /usr/local/lib/python3.10/dist-packages (from logical-unification->pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.12.1)\n", - "Requirement already satisfied: multipledispatch in /usr/local/lib/python3.10/dist-packages (from logical-unification->pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (1.0.0)\n" - ] - } - ], - "source": [ - "! pip install https://github.com/amarquand/PCNtoolkit/archive/dev.zip" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "ddd7b3cb-b018-4ed4-8b55-15728d8c5411", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "ddd7b3cb-b018-4ed4-8b55-15728d8c5411", - "outputId": "d3d408d4-9c55-49d2-cae9-e3a500e168e3" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "fatal: destination path 'braincharts' already exists and is not an empty directory.\n" - ] - } - ], - "source": [ - "! git clone https://github.com/predictive-clinical-neuroscience/braincharts.git" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "b1849f76-b17d-4286-bf57-50ff56e81bf8", - "metadata": { - "id": "b1849f76-b17d-4286-bf57-50ff56e81bf8" - }, - "outputs": [], - "source": [ - "# we need to be in the scripts folder when we import the libraries in the code block below,\n", - "# because there is a function called nm_utils that is in the scripts folder that we need to import\n", - "import os\n", - "\n", - "wdir = 'braincharts'\n", - "\n", - "os.chdir(wdir) #this path is setup for running on Google Colab. Change it to match your local path if running locally\n", - "root_dir=os.getcwd()" - ] - }, - { - "cell_type": "markdown", - "id": "b2227bc7-e798-470a-99bc-33561ce4511b", - "metadata": { - "id": "b2227bc7-e798-470a-99bc-33561ce4511b" - }, - "source": [ - "Now we import the required libraries" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "ff661cf2-7d80-46bb-bcfb-1650a93eed3d", - "metadata": { - "id": "ff661cf2-7d80-46bb-bcfb-1650a93eed3d" - }, - "outputs": [], - "source": [ - "import numpy as np\n", - "import pandas as pd\n", - "import pickle\n", - "from matplotlib import pyplot as plt\n", - "import seaborn as sns\n", - "\n", - "from pcntoolkit.normative import estimate, predict, evaluate\n", - "from pcntoolkit.util.utils import compute_MSLL, create_design_matrix\n", - "os.chdir(os.path.join(root_dir, 'scripts'))\n", - "from nm_utils import remove_bad_subjects, load_2d\n", - "os.chdir(root_dir)" - ] - }, - { - "cell_type": "markdown", - "id": "78719463-28b2-4849-b970-cfbe2f07d214", - "metadata": { - "id": "78719463-28b2-4849-b970-cfbe2f07d214" - }, - "source": [ - "We need to unzip the models." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "3b1d4d4b-68ab-4bba-87f5-6062995805d0", - "metadata": { - "id": "3b1d4d4b-68ab-4bba-87f5-6062995805d0" - }, - "outputs": [], - "source": [ - "os.chdir(os.path.join(root_dir,'models'))" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "d4b7b2f4-c514-4d4f-a6b0-9461e1b20831", - "metadata": { - "id": "d4b7b2f4-c514-4d4f-a6b0-9461e1b20831", - "outputId": "87f49919-54d4-4b2f-a959-28060596ced9", - "colab": { - "base_uri": "https://localhost:8080/" - } - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Archive: lifespan_57K_82sites.zip\n", - "replace lifespan_57K_82sites/Right-Pallidum/Models/meta_data.md? [y]es, [n]o, [A]ll, [N]one, [r]ename: " - ] - } - ], - "source": [ - "# we will use the biggest sample as our training set (approx. N=57000 subjects from 82 sites)\n", - "# for more info on the other pretrained models available in this repository,\n", - "# please refer to the accompanying paper https://elifesciences.org/articles/72904\n", - "! unzip lifespan_57K_82sites.zip" - ] - }, - { - "cell_type": "markdown", - "id": "802b1da6-04cc-4310-af81-f50d38c3e653", - "metadata": { - "id": "802b1da6-04cc-4310-af81-f50d38c3e653" - }, - "source": [ - "Next, we configure some basic variables, like where we want the analysis to be done and which model we want to use.\n", - "\n", - "**Note:** We maintain a list of site ids for each dataset, which describe the site names in the training and test data (`site_ids_tr` and `site_ids_te`), plus also the adaptation data . The training site ids are provided as a text file in the distribution and the test ids are extracted automatically from the pandas dataframe (see below). If you use additional data from the sites (e.g. later waves from ABCD), it may be necessary to adjust the site names to match the names in the training set. See the accompanying paper for more details" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "f52e2a19-9b63-4f0f-97c1-387f1a1872a2", - "metadata": { - "id": "f52e2a19-9b63-4f0f-97c1-387f1a1872a2" - }, - "outputs": [], - "source": [ - "# which model do we wish to use?\n", - "model_name = 'lifespan_57K_82sites'\n", - "site_names = 'site_ids_ct_82sites.txt'\n", - "\n", - "\n", - "# where the data files live\n", - "data_dir = os.path.join(root_dir,'docs')\n", - "\n", - "# where the models live\n", - "out_dir = os.path.join(root_dir, 'models', model_name)\n", - "\n", - "# load a set of site ids from this model. This must match the training data\n", - "with open(os.path.join(root_dir,'docs', site_names)) as f:\n", - " site_ids_tr = f.read().splitlines()" - ] - }, - { - "cell_type": "markdown", - "id": "3aab54a5-2579-48d8-a81b-bbd34cea1213", - "metadata": { - "id": "3aab54a5-2579-48d8-a81b-bbd34cea1213" - }, - "source": [ - "### Load test data\n", - "\n", - "**Note:** For the purposes of this tutorial, we make predictions for a multi-site transfer dataset, derived from [OpenNeuro](https://openneuro.org/)." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "262d429a-160b-4ba3-9ba4-9acc195bc644", - "metadata": { - "id": "262d429a-160b-4ba3-9ba4-9acc195bc644" - }, - "outputs": [], - "source": [ - "test_data = os.path.join(data_dir, 'OpenNeuroTransfer_ct_te.csv')\n", - "\n", - "df_te = pd.read_csv(test_data)\n", - "\n", - "# extract a list of unique site ids from the test set\n", - "site_ids_te = sorted(set(df_te['site'].to_list()))" - ] - }, - { - "cell_type": "markdown", - "id": "c636509a-8b12-43f1-811c-08cb22640be2", - "metadata": { - "id": "c636509a-8b12-43f1-811c-08cb22640be2" - }, - "source": [ - "### (Optional) Load adaptation data\n", - "\n", - "If the data you wish to make predictions for is not derived from the same scanning sites as those in the trainig set, it is necessary to learn the site effect so that we can account for it in the predictions. In order to do this in an unbiased way, we use a separate dataset, which we refer to as 'adaptation' data. This must contain data for all the same sites as in the test dataset and we assume these are coded in the same way, based on a the 'sitenum' column in the dataframe." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "53551023-aff6-4934-ad2d-d77bc63c562d", - "metadata": { - "id": "53551023-aff6-4934-ad2d-d77bc63c562d" - }, - "outputs": [], - "source": [ - "adaptation_data = os.path.join(data_dir, 'OpenNeuroTransfer_ct_ad.csv')\n", - "\n", - "df_ad = pd.read_csv(adaptation_data)\n", - "\n", - "# extract a list of unique site ids from the test set\n", - "site_ids_ad = sorted(set(df_ad['site'].to_list()))\n", - "\n", - "if not all(elem in site_ids_ad for elem in site_ids_te):\n", - " print('Warning: some of the testing sites are not in the adaptation data')" - ] - }, - { - "cell_type": "markdown", - "id": "4f73e30e-c693-44b8-98c6-52b71b577ea8", - "metadata": { - "id": "4f73e30e-c693-44b8-98c6-52b71b577ea8" - }, - "source": [ - "### Configure which models to fit\n", - "\n", - "Now, we configure which imaging derived phenotypes (IDPs) we would like to process. This is just a list of column names in the dataframe we have loaded above.\n", - "\n", - "We could load the whole set (i.e. all phenotypes for which we have models for ..." - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "b48e104c-cbac-4ae2-8377-cd3ff80162fd", - "metadata": { - "id": "b48e104c-cbac-4ae2-8377-cd3ff80162fd" - }, - "outputs": [], - "source": [ - "# load the list of idps for left and right hemispheres, plus subcortical regions\n", - "with open(os.path.join(data_dir, 'phenotypes_ct_lh.txt')) as f:\n", - " idp_ids_lh = f.read().splitlines()\n", - "with open(os.path.join(data_dir, 'phenotypes_ct_rh.txt')) as f:\n", - " idp_ids_rh = f.read().splitlines()\n", - "with open(os.path.join(data_dir, 'phenotypes_sc.txt')) as f:\n", - " idp_ids_sc = f.read().splitlines()\n", - "\n", - "# we choose here to process all idps\n", - "idp_ids = idp_ids_lh + idp_ids_rh #+ idp_ids_sc" - ] - }, - { - "cell_type": "markdown", - "id": "280731ad-47d8-43e2-8cb5-4eccfd9f3f81", - "metadata": { - "id": "280731ad-47d8-43e2-8cb5-4eccfd9f3f81" - }, - "source": [ - "... or alternatively, we could just specify a list" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "8b74d75f-77a5-474a-9c9b-29aab1ce53a2", - "metadata": { - "id": "8b74d75f-77a5-474a-9c9b-29aab1ce53a2" - }, - "outputs": [], - "source": [ - "idp_ids = [ 'Left-Thalamus-Proper', 'Left-Lateral-Ventricle', 'rh_MeanThickness_thickness']" - ] - }, - { - "cell_type": "markdown", - "id": "56ee1f7f-8684-4f1c-b142-a68176407029", - "metadata": { - "id": "56ee1f7f-8684-4f1c-b142-a68176407029" - }, - "source": [ - "### Configure covariates\n", - "\n", - "Now, we configure some parameters to fit the model. First, we choose which columns of the pandas dataframe contain the covariates (age and sex). The site parameters are configured automatically later on by the `configure_design_matrix()` function, when we loop through the IDPs in the list\n", - "\n", - "The supplied coefficients are derived from a 'warped' Bayesian linear regression model, which uses a nonlinear warping function to model non-Gaussianity (`sinarcsinh`) plus a non-linear basis expansion (a cubic b-spline basis set with 5 knot points, which is the default value in the PCNtoolkit package). Since we are sticking with the default value, we do not need to specify any parameters for this, but we do need to specify the limits. We choose to pad the input by a few years either side of the input range. We will also set a couple of options that control the estimation of the model\n", - "\n", - "For further details about the likelihood warping approach, see the accompanying paper and [Fraza et al 2021](https://www.biorxiv.org/content/10.1101/2021.04.05.438429v1)." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "62312b8e-4972-4238-abf9-87d9bb33cc10", - "metadata": { - "id": "62312b8e-4972-4238-abf9-87d9bb33cc10" - }, - "outputs": [], - "source": [ - "# which data columns do we wish to use as covariates?\n", - "cols_cov = ['age','sex']\n", - "\n", - "# limits for cubic B-spline basis\n", - "xmin = -5\n", - "xmax = 110\n", - "\n", - "# Absolute Z treshold above which a sample is considered to be an outlier (without fitting any model)\n", - "outlier_thresh = 7" - ] - }, - { - "cell_type": "markdown", - "id": "42bc1072-e9ed-4f2a-9fdd-cbd626a61542", - "metadata": { - "id": "42bc1072-e9ed-4f2a-9fdd-cbd626a61542" - }, - "source": [ - "### Make predictions\n", - "\n", - "This will make predictions for each IDP separately. This is done by extracting a column from the dataframe (i.e. specifying the IDP as the response variable) and saving it as a numpy array. Then, we configure the covariates, which is a numpy data array having the number of rows equal to the number of datapoints in the test set. The columns are specified as follows:\n", - "\n", - "- A global intercept (column of ones)\n", - "- The covariate columns (here age and sex, coded as 0=female/1=male)\n", - "- Dummy coded columns for the sites in the training set (one column per site)\n", - "- Columns for the basis expansion (seven columns for the default parameterisation)\n", - "\n", - "Once these are saved as numpy arrays in ascii format (as here) or (alternatively) in pickle format, these are passed as inputs to the `predict()` method in the PCNtoolkit normative modelling framework. These are written in the same format to the location specified by `idp_dir`. At the end of this step, we have a set of predictions and Z-statistics for the test dataset that we can take forward to further analysis.\n", - "\n", - "Note that when we need to make predictions on new data, the procedure is more involved, since we need to prepare, process and store covariates, response variables and site ids for the adaptation data." - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "07b7471b-c334-464f-8273-b409b7acaac2", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "07b7471b-c334-464f-8273-b409b7acaac2", - "outputId": "a1de6a82-4430-4e11-de5f-b2874dd3c5d9" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Running IDP 0 Left-Thalamus-Proper :\n", - "Some sites missing from the training data. Adapting model\n", - "Loading data ...\n", - "Prediction by model 1 of 1\n", - "Evaluating the model ...\n", - "Evaluations Writing outputs ...\n", - "Writing outputs ...\n", - "Running IDP 1 Left-Lateral-Ventricle :\n", - "Some sites missing from the training data. Adapting model\n", - "Loading data ...\n", - "Prediction by model 1 of 1\n", - "Evaluating the model ...\n", - "Evaluations Writing outputs ...\n", - "Writing outputs ...\n", - "Running IDP 2 rh_MeanThickness_thickness :\n", - "Some sites missing from the training data. Adapting model\n", - "Loading data ...\n", - "Prediction by model 1 of 1\n", - "Evaluating the model ...\n", - "Evaluations Writing outputs ...\n", - "Writing outputs ...\n" - ] - } - ], - "source": [ - "for idp_num, idp in enumerate(idp_ids):\n", - " print('Running IDP', idp_num, idp, ':')\n", - " idp_dir = os.path.join(out_dir, idp)\n", - " os.chdir(idp_dir)\n", - "\n", - " # extract and save the response variables for the test set\n", - " y_te = df_te[idp].to_numpy()\n", - "\n", - " # save the variables\n", - " resp_file_te = os.path.join(idp_dir, 'resp_te.txt')\n", - " np.savetxt(resp_file_te, y_te)\n", - "\n", - " # configure and save the design matrix\n", - " cov_file_te = os.path.join(idp_dir, 'cov_bspline_te.txt')\n", - " X_te = create_design_matrix(df_te[cols_cov],\n", - " site_ids = df_te['site'],\n", - " all_sites = site_ids_tr,\n", - " basis = 'bspline',\n", - " xmin = xmin,\n", - " xmax = xmax)\n", - " np.savetxt(cov_file_te, X_te)\n", - "\n", - " # check whether all sites in the test set are represented in the training set\n", - " if all(elem in site_ids_tr for elem in site_ids_te):\n", - " print('All sites are present in the training data')\n", - "\n", - " # just make predictions\n", - " yhat_te, s2_te, Z = predict(cov_file_te,\n", - " alg='blr',\n", - " respfile=resp_file_te,\n", - " model_path=os.path.join(idp_dir,'Models'))\n", - " else:\n", - " print('Some sites missing from the training data. Adapting model')\n", - "\n", - " # save the covariates for the adaptation data\n", - " X_ad = create_design_matrix(df_ad[cols_cov],\n", - " site_ids = df_ad['site'],\n", - " all_sites = site_ids_tr,\n", - " basis = 'bspline',\n", - " xmin = xmin,\n", - " xmax = xmax)\n", - " cov_file_ad = os.path.join(idp_dir, 'cov_bspline_ad.txt')\n", - " np.savetxt(cov_file_ad, X_ad)\n", - "\n", - " # save the responses for the adaptation data\n", - " resp_file_ad = os.path.join(idp_dir, 'resp_ad.txt')\n", - " y_ad = df_ad[idp].to_numpy()\n", - " np.savetxt(resp_file_ad, y_ad)\n", - "\n", - " # save the site ids for the adaptation data\n", - " sitenum_file_ad = os.path.join(idp_dir, 'sitenum_ad.txt')\n", - " site_num_ad = df_ad['sitenum'].to_numpy(dtype=int)\n", - " np.savetxt(sitenum_file_ad, site_num_ad)\n", - "\n", - " # save the site ids for the test data\n", - " sitenum_file_te = os.path.join(idp_dir, 'sitenum_te.txt')\n", - " site_num_te = df_te['sitenum'].to_numpy(dtype=int)\n", - " np.savetxt(sitenum_file_te, site_num_te)\n", - "\n", - " yhat_te, s2_te, Z = predict(cov_file_te,\n", - " alg = 'blr',\n", - " respfile = resp_file_te,\n", - " model_path = os.path.join(idp_dir,'Models'),\n", - " adaptrespfile = resp_file_ad,\n", - " adaptcovfile = cov_file_ad,\n", - " adaptvargroupfile = sitenum_file_ad,\n", - " testvargroupfile = sitenum_file_te)" - ] - }, - { - "cell_type": "markdown", - "id": "75210821-ccb8-4bd2-82f3-641708811b21", - "metadata": { - "id": "75210821-ccb8-4bd2-82f3-641708811b21" - }, - "source": [ - "### Preparing dummy data for plotting\n", - "\n", - "Now, we plot the centiles of variation estimated by the normative model.\n", - "\n", - "We do this by making use of a set of dummy covariates that span the whole range of the input space (for age) for a fixed value of the other covariates (e.g. sex) so that we can make predictions for these dummy data points, then plot them. We configure these dummy predictions using the same procedure as we used for the real data. We can use the same dummy data for all the IDPs we wish to plot" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "2d0743d8-28ca-4a14-8ef0-99bf40434b5b", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "2d0743d8-28ca-4a14-8ef0-99bf40434b5b", - "outputId": "e8957652-cfd0-4a4c-998b-463c356bbaed" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "configuring dummy data ...\n" - ] - } - ], - "source": [ - "# which sex do we want to plot?\n", - "sex = 1 # 1 = male 0 = female\n", - "if sex == 1:\n", - " clr = 'blue';\n", - "else:\n", - " clr = 'red'\n", - "\n", - "# create dummy data for visualisation\n", - "print('configuring dummy data ...')\n", - "xx = np.arange(xmin, xmax, 0.5)\n", - "X0_dummy = np.zeros((len(xx), 2))\n", - "X0_dummy[:,0] = xx\n", - "X0_dummy[:,1] = sex\n", - "\n", - "# create the design matrix\n", - "X_dummy = create_design_matrix(X0_dummy, xmin=xmin, xmax=xmax, site_ids=None, all_sites=site_ids_tr)\n", - "\n", - "# save the dummy covariates\n", - "cov_file_dummy = os.path.join(out_dir,'cov_bspline_dummy_mean.txt')\n", - "np.savetxt(cov_file_dummy, X_dummy)" - ] - }, - { - "cell_type": "markdown", - "id": "126323a3-2270-4796-97c4-94629730ddf7", - "metadata": { - "id": "126323a3-2270-4796-97c4-94629730ddf7" - }, - "source": [ - "### Plotting the normative models\n", - "\n", - "Now we loop through the IDPs, plotting each one separately. The outputs of this step are a set of quantitative regression metrics for each IDP and a set of centile curves which we plot the test data against.\n", - "\n", - "This part of the code is relatively complex because we need to keep track of many quantities for the plotting. We also need to remember whether the data need to be warped or not. By default in PCNtoolkit, predictions in the form of `yhat, s2` are always in the warped (Gaussian) space. If we want predictions in the input (non-Gaussian) space, then we need to warp them with the inverse of the estimated warping function. This can be done using the function `nm.blr.warp.warp_predictions()`.\n", - "\n", - "**Note:** it is necessary to update the intercept for each of the sites. For purposes of visualisation, here we do this by adjusting the median of the data to match the dummy predictions, but note that all the quantitative metrics are estimated using the predictions that are adjusted properly using a learned offset (or adjusted using a hold-out adaptation set, as above). Note also that for the calibration data we require at least two data points of the same sex in each site to be able to estimate the variance. Of course, in a real example, you would want many more than just two since we need to get a reliable estimate of the variance for each site." - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "cdd68cc6-212b-4149-b86a-24e842078e1a", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 1000 - }, - "id": "cdd68cc6-212b-4149-b86a-24e842078e1a", - "outputId": "43a33a06-cffb-4bab-9bd1-293cc8e65d48" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Running IDP 0 Left-Thalamus-Proper :\n", - "Making predictions with dummy covariates (for visualisation)\n", - "Loading data ...\n", - "Prediction by model 1 of 1\n", - "Writing outputs ...\n", - "metrics: {'RMSE': array([0.55690777]), 'Rho': array([0.]), 'pRho': array([1.]), 'SMSE': array([0.]), 'EXPV': array([0.])}\n" - ] - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "

" - ], - "image/png": "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puJ///d/UVBQ0Gw5Txzf999/j9tuuw0DBgzA2LFj8dJLL8FqtTZbziXHpcy0G9XV1fLo0aPl3//+9/KOHTvkjz/+WB4+fLj89NNPu3vTWs23334rp6WlyQsXLpSnTZsmT506tdkyX331lZycnCyvWbNGzszMlJcvXy7369dP3r9/f/tvcCuYNWuWvGTJEnnz5s3yzz//LL/wwgtynz595Jdfftm+jKeO7fPPP5f//ve/y1u2bJF3794tv/fee/KIESPk++67z77M3r175b59+8rLly+XMzMz5TVr1sjJycny119/7cYtbx3PP/+8fP3118u9e/eWs7Ky7PM9db99+umncu/eveUdO3bI+/fvt09nz561L+OpY5NlWX711VfloUOHym+88Ya8Z88eecuWLfLKlSvluro6WZY995g8ceKE0/7av3+/vHjxYrlfv35yRUWFLMueu992794t9+nTR3788cflXbt2yZs3b5YnTZokT5w4UTYYDPblPHF8+/fvl/v06SM/8sgj8o4dO+S33npLHjRokLx69Wqn5Vx1XLIQa0def/11eciQIXJVVZV93n/+8x+5b9++cklJifs27AqwWq32v5cuXdqiEJs0aZL85z//2WnenXfeKT/wwANXffvagrhAOvLkk0/Kw4YNs4/bU8fWEv/973/l3r1724/BefPmyXfeeafTMn/+85/lyZMnu2PzWs3JkyflIUOGyP/+97+bCTFP3W9CiLV0bAo8dWy5ublyv3795B9++OGCy3j6MenI+PHj5fnz59v/99T9tnz5cnn8+PGyzWazz8vMzJR79+4t79271z7PE8c3b948+bbbbnOat3HjRrl///5yeXm503KuOC7ZNdmO7NixA6NGjUJoaKh93uTJk2Gz2bBr1y73bdgVoFJd/NApKCjAqVOnMHnyZKf5U6ZMQWZmZod2x4aHhzeb17dvX9TV1aGhocGjx9YS4ng0m80wmUzYs2cPbr75ZqdlpkyZgtzcXBQWFrphC1vHs88+i9mzZyMxMdFpvrftN0c8eWybNm1CXFwcxo4d2+L73nBMCvbt24fCwkJMnz4dgGfvN4vFgsDAQEiSZJ8XHBwMAPYwDk8dX3Z2NkaPHu00LzU1FWazGTt37gTg2uOShVg7kpeXh6SkJKd5Op0OUVFRyMvLc9NWXR3EeJreDHv27Amz2dxiHEFH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\n" - }, - "metadata": {} - }, - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Running IDP 1 Left-Lateral-Ventricle :\n", - "Making predictions with dummy covariates (for visualisation)\n", - "Loading data ...\n", - "Prediction by model 1 of 1\n", - "Writing outputs ...\n", - "metrics: {'RMSE': array([4205.49266088]), 'Rho': array([0.45898577]), 'pRho': array([5.62632393e-25]), 'SMSE': array([0.81397727]), 'EXPV': array([0.19814613])}\n" - ] - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "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54Hk5M7tZ+mSEOvfv79Dv7DWUCgUOHnypEuvYRiGYRjGe9DpgL17AYOBitZbQ5KAd97xwaBBaiQktJ1jrK+nGqwRI5xz2/c0tbVkNFtURJE+P7/OfX+XhNi9997rshBjGIZhGKb7IknAgQPkpdVWXRhABq9VVQrMmKEF0LoQM5vJ6HXUKIpEdTbV1cD331NatCOsKZzBJSF2//33d9Q4GIZhGIbxQk6fpuL1lJS2zVWrqoB33wXuussCjabtdYso1KBBnhmrK1RWArt305jT052fpXlZN0e36aLJoQzDMAzDeDsVFWRVERwMhIS0vqzFArz0EjB/vnOF7qKh94gRgL+/R4brNFVVJMKqq52beCC4eBFQqz2bGXRLiL3++utYsWJFi8/feeedeOutt1xe70cffYT58+cjJycHo0ePxp133gmDwWB7/uuvv8Z1112HnJwczJgxAx988EGzdZhMJvzzn//E+PHjkZubizvuuAN5eXnNlrtw4QLuuOMO5ObmYvz48Xj66adhMpmaLbdlyxbMmDEDOTk5uO666/DNN9+4vF0MwzAM010wGKh2Sq0G4uNbX5asKqjgPju77XUbjVQbNnQozVDsTKqr7ZGw1FTnRFh9PbBpE/Dhh0BgoGdDYm4Jsffffx+ZmZktPt+nTx+89957Lq3zpZdewv/93/9h1qxZ2LhxI/72t78hOTkZ1l/bnf/000+47777kJubiw0bNmDmzJn43//9X+zYsaPJev7+979jy5YteOihh7BmzRqYTCYsW7YMmkax0vr6etx+++0wm81Ys2YNHnroIbz33nv4xz/+0WRd27Ztw5/+9CfMnDkTGzZsQG5uLu677z4cOXLEpW1jGIZhmO6ALFNd2PnzlLZrqzz83Dng0CFg1qy21y1JlJLsiobetbVUE1ZZ6VwkTNTHrV5N4122zPO9L91aXWFhIW655ZYWn+/du7dLQiwvLw9r167Fiy++iKuvvtr2/xkzZth+f+mllzB48GD87W9/AwCMGTMGhYWFWL16Na699loAQFlZGd5//3385S9/waJFiwAAOTk5mDx5Mt555x2sXLkSAPDOO++goaEBa9euRUREBADAarXir3/9K1atWoX4X28BVq9ejdmzZ+PBBx+0vefZs2fxwgsvYMOGDU5vH8MwDMN0B86codY+ycltzyJsaABefhm44w5y22+L8nKywBg+vHMbems0FOEThfltiTCNBnjrLVpu+XLnmpW3B7ciYn5+fqisrGzx+YqKCihd6FHw4YcfIjk5uYkIa4zJZMKBAwdsgkswa9YsXLhwAUVFRQCAPXv2QJKkJstFRERg/Pjx2L17t+1/u3fvxtixY20iDABmzpwJSZKwd+9eACQ2L168iJkzZzZ7z3379jlMYzIMwzBMd6WigqwqAgPbrvWSJGDjRmDSJOdSjMI9f8QIIDzcI8N1CmG/ISYHtCVNLlwAnn8eGDgQWLiw40QY4KYQGzJkCD766CNbw+/GaDQafPjhhxgyZIjT6zt69CiysrLw4osvYuzYsRg0aBCWLFmCo0ePAgAKCgpgNpvRu3fvJq8T6VFRA5aXl4fo6GiEX/YpZ2ZmNqkTy8vLa7ausLAwxMbGNlkXAGRcZvWbmZkJs9mMwsJCp7ePYRiGYbwZvZ5Sd/X1QGJi28t/+y0V6Y8a1fayFgtFowYN6lz3fIOB2jLl55MIa82iQpKAXbuA998HliyhsXZ0z0u3goL33Xcfbr31VsyfPx+33347+vzaKv3cuXN47bXXUFlZiWeeecbp9VVWVuL48eM4e/Ys/vKXvyAwMBD//e9/sXz5cuzcuRP19fUASCw1Rvwtnler1Qh1IOPDwsJsy4jlLl8XAISHh9uWc/Y924ter3fr9d6I2Cbetu4Fb1v3pSdvH29b5yFJwPffK3H6tBKZmTLaSvgUFACff+6H3/zGDLO56XMiW9Q4a1RQoEBCgox+/SQ0mn/XoVgswI8/KnH8uAIpKTIkCS1ul9kMbNniA5MJuPVWK/z8HC/rafsKt4TYkCFD8N///hd//vOf8cQTT9jMXmVZRnJyMl566SUMHTrU6fXJsgydTofnn38e/fv3t73HlClT8Oabb2LChAnuDNcruXjxYlcPocPgbeue8LZ1X3ry9vG2dTznzwfgwIEwxMSYUVoqtbqswaDAhg1JmDGjBLW1ZtTWOl6uqqoKAFBX5wtJUmDAADUKCy2eHrpDJAk4dSoIp04FITbWhKqqlhVUQ4MSW7fGoFevBowerUVNTWvrtcKTHSLdXtP48ePx5Zdf4uTJkygoKAAApKamYuDAgS678IeFhSEiIsImwgCq7RowYADOnz+P2bNnA0CTmY8ARbYA2FKRYWFhDtOlarW6SboyLCys2boAinKJ5cRPjUaD2NjYFt+zvaSnpyMwMNCtdXgber0eFy9e5G3rZvC2dV968vbxtnUOJSUKVFQo0adP27VekgSsW+eDSZNkDB0a63AZk8mEqqoqxMTEQJJUMJkUmDBBQr9+0R0wesecOKFATY0SAwbIrXqg1dQAmzf7Yfx4C7KzfaFQtF4QplTWeXScHpF0SqUSgwYNwiA3rXH79OljE3OXYzQakZqaCj8/P+Tl5eGqq66yPSfquES9V+/evVFVVdVEUInlGteE9e7du5m3mEajQWVlZZN1OXptXl4e/Pz8kJKS4s4mIzAwEEFd0VyrE+Bt657wtnVfevL28bZ1HBoNcPAgCaz09LaX/+orSs9NmNB2/ZSvrwrFxf4YPBjIyem8FkJ5ecAvv9DszKiolpcrLaXJBrNnAxkZTkz5hOebkrtUgnbw4EEcPHiw2d9tPZxl8uTJqKurw6lTp2z/q62txYkTJzBw4ECoVCqMHj0aX3zxRZPXbd++HZmZmUj+tVHVhAkToFQqsXPnTtsy9fX12LNnDyZOnGj738SJE/HDDz/YolsAsGPHDiiVSowfPx4AkJKSgvT09GY+Zdu3b8fYsWOhcmauLsMwDMN4IWZz09mEbZGfD3z5JXDDDc4VsZeUKJCYCAwb1nkirKwM2L+fxteaCMvPJ9uNhQs7d/LA5bgUEVu6dCkUCgWOHj0KlUpl+7slZFmGQqFoIqxaY9q0acjJycEDDzyAhx56CP7+/li/fj1UKhVuvvlmAMBvfvMb3HbbbXj88ccxc+ZMHDhwAJ999hmeffZZ23oSEhKwaNEiPP3001AqlYiPj8e6desQGhqKJUuW2JZbsmQJ3njjDdx7771YtWoVysvL8fTTT2PJkiU2DzGAemw+8sgjSE1NxejRo7F9+3YcO3YMb775piu7j2EYhmG8BlkmE9YTJ5xreK3TAf/9L3DLLUBAQNvrV6t9EBEBjBzZdnskT1FXRy2ZGhpaF5YXLgBvvw3cdBMQE+P8+s1mmgDgSVwSYq+//joA2KJA4m9PoVQqsX79ejz11FP485//DLPZjBEjRmDz5s22+qwRI0ZgzZo1eO655/D+++8jKSkJf//735v5fP3xj39EcHAwnnnmGTQ0NGDYsGF45ZVXmsymDA8Px2uvvYb/+7//w7333ovg4GAsWrQIDz30UJN1zZkzB3q9Hhs2bMD69euRkZGBtWvXujQRgWEYhmG8iXPnyDU+NrZtYWW1AuvWARMnAr16tb1uoxHQaHxx9dWSU8t7Ar2eImEVFa2nWM+do8bkN91EqUtnsFqpJZLB4PnInktCbFQjoxBZljFgwAD4+fnB34PdOqOiovCvf/2r1WWmTp2KqVOntrqMSqXC7373O/zud79rdbnMzEy8+uqrbY5r8eLFWLx4cZvLMQzDMIy3U15OfmEqFRAZ2fqysgxs304O+6NHt71uSQKKixVISzOgf38Pez20gNUK/PQT1Ya1Zth64QLw3nsU1WtruwVqNfWnjI8nI1pnooGu0G6bMrPZjFGjRnk8KsYwDMMwTMeh1QLffUcCIymp7eVPnKDI2cKFzhWqFxcDcXEysrN1ndLCSJaBY8eA48cpWtdSS6aCAmpZdNNNzokwiwUoLKRI27Bh1D0gI8Pzxfrt3kUqlQoxMTFcrM4wDMMw3QRRnH/pEtC3b9uioqoKeO01YOVK5/pI1tRQ/8iRI2U0NLTuReYp8vKo1i0mhtoyOaK0lLbjxhtbL+AXaLW07cnJNNsz1rFLh0dwy7j/+uuvx9atW7nfIsMwDMN4ObJM6bvjx50rzjcagTVrgPnznaul0uupWH74cCApqXNSkhUVFK3z82u5d2VVFVlULFzonEdaWRlFCwcPJouOjhRhgJs+Yv369cOuXbswZ84cXH/99ejVqxcCHCRPp0+f7s7bMAzDMAzjJqdPAz/+SLVObdU5SRLwxhvAgAFAI4/1FrFagZISWj47u+U2Qp5Eo2l7hmRdHU0ymDOn7TSsxUJp1chIIDeX0pyeTkM6wi0h9tvf/tb2+/PPP+9wGVfsKxiGYRiG8TzFxVScHxjYcuSoMbt3U5px3jzn1l9URMJl5MjO8Qszm0lUlpa2PENSqyW7jenT2zaq1espEpaaSvVgbjbNcQm3hNhrr73mchsjhmEYhmE6j9pa4NtvyXrBGePS8+eBzz8H7r/fOdPWigogKIhmVHZGgwBZBo4cAc6epRouR8LPaKRI2FVXUS1ca2g0JDoHDKB6ME/PimwLt4TYaGfmsTIMwzAM0yXo9TRDsrS0bUECkCBZtw64446WC98bo9XSe1x9NaU8O4Pz54GjR6l2y5F7ltVKhfkDBtCjNWpqyKg2N5eW7Sz3/8a4Vaw/depU7Nq1q8Xnv/nmmzb9vhiGYRiG8TwWC82QPHsW6N277eiW0Qg8/zwwd65zospsJj+ynBznRJ4nKCujlGRAABAW1vx5WQY++oieGz269Rqv8nLahtGjgUGDukaEAW4KseLiYuh0uhaf1+l0KCkpcectGIZhGIZxETFD8sgRKmRvyVtLIEnApk0kqgYObHv9kkQeW5mZwNChnVPUrtGQc75O1/Lsx2++IfPVa65pWXjKMk0s8PUFxoyhbejKKiu3hBiAVmvEfvnlF4Q5kqwMwzAMw3QYJ0+SaImPb7tuS5apJsxkohSjMxQXU2pw9GjH6UFP07g4PyXF8TKHDtFjwYKWo1uSRBMLgoJIhLW0rs7E5Rqx1157zeamr1Ao8OSTTzZpuC3QarVQq9WYM2eO+6NkGIZhGMYpLl6kGZIhIUBERNvLHz1Kou2ee5wrzq+qogjbmDGdM7tQOOeL4nxHY7xwgcTksmUtR/+o9RLtk1GjOt4fzFlcFmLR0dHo+2syuLi4GPHx8Yh3kEwOCgrCwIEDcfPNN7s/SoZhGIZh2qSigorzLRbnmnMXFwObNwO/+Y1zzvlaLT2uusq59XuCCxeAw4dbLs6vqKDWRTffDAQHO15HYxE2Zozzzb47A5eF2Jw5c2xRrqVLl+Kee+7B2LFjPT4whmEYhmGcp74e+PprmgmYmdn28mo1OecvWeJcZEsU5w8dCvTr5/54naGiglKS/v6Oi/N1OnLNv+66lsWVEGGRkZRK9SYRBrhpX/HGG294ahwMwzAMw7QTvZ68woqKgD592i4+N5lohuS0aW2bnQIkZgoKaN1DhzqXwnSXhgZKmbbknG+xAK+8Aowd27Kzviw3jYQ502eys/FIX/Tz58+jsLAQ9fX1Dp+fP3++J96GYRiGYZjLMJupJuzsWYqEtWXDIEnAyy8DWVkkqpyhsBBITOy84nyLhSJhxcWOhaKwqYiLA4YMcbwOIcLCw2nc3ijCADeFWEFBAR599FEcO3YMsuy4wadCoWAhxjAMwzAdgCRRv8Vjx5yzqZBlYOtWet2UKc69R1mZfZZhZxghiOL806dbds7fsweorARuvLHl6F9JCU1YGD0aiInp2DG7g1tC7M9//jPOnj2Lxx57DCNGjGCrCoZhGIbpJIRX2M8/U+G8M074P/wAHD8OrFzpXHqxvp4ibuPGAQkJ7o/ZGfLzqTg/JsZx9O30aTKqveOOlqN/5eW0P7xpdmRLuCXEDh06hFWrVmHp0qWeGg/DMAzDME5w/Diwbx8JlpCQtpc/cwb45BPg3nvbjpwBVHdWVWU3Pe0MKispJenn53gCQUUFsGULcOutLadIKytJZI4Y0Xni0R3cKreLjIxEaGiop8bCMAzDMIwTnD0L7N4NhIbSbMC2KCsDNmygKFJLFg+NMZupvionBxg8uHOc53U6Ks6vr3fcYknMkJw3r+Vtrqmh+rLhwymt2R1wS4gtWbIEn3zyCaxWq6fGwzAMwzBMK1y6RK18fH2dS7vV1QHPPgvcdJNzyzeeITliROf0YLRYgIMHaVJASkpz4WexUAum8eOB1FTH61CrSawNG+bcTFBvwa3UZHp6OiRJwrx587Bw4UIkJCTAx8EnNn36dHfehmEYhmEYUAH6rl0UsWrJsqExOh3wzDPAzJnOiRNZts+QHDOGmmt3NKI4/9QpimL5+jZ//qOPKM2Yk+N4HQ0NQG0tRcL69On4MXsSt4TYQw89ZPv9n//8p8NlFAoFTp065c7bMAzDMMwVT0UFGbaq1UDv3m0vbzYDq1fTrMGWBMzllJRQunPcuM6ZIQkAeXlUnB8d7Vj47dlDtWo33OA4RWow0PODBgH9+3dtA+/24JYQEz0nGYZhGIbpOGpqKBJWUUGF822JDauVvMJSUiiy5QxVVVTkPnYs+XN1BsI5v6Xi/NOnaabnsmWOU6RmMzUC79+fxGZnGM16GreE2KhRozw1DoZhGIZhHFBfTyKspIREWFtiQ5KA99+nlN706c5FiER91YQJzqU8PYFWS8X5Go3j9xQzJJcudTxD0mqlCQUZGUBubvOUZnfBI9rRZDLh8OHD+Oqrr1BTU+OJVTIMwzDMFY9GQyLs0iXnXPNlGfjqK/LiWrTIuQiRTkeWD8OGdV4PSbPZ7pzvqDi/8QzJiIjmr5ckaueUlER1YZ3h9t9RuC3EXn/9dUyYMAE333wz7r//fpw5cwYAUFNTg9GjR+P99993e5AMwzAMc6XR0ECzIy9ccE6EAZTG27uXokjOLG80Umpv8GBqFdQZ9VWyDBw5Qr5mjpzzrVYSYa3NkCwpoZqyESOcs+PwZtwSYh988AGefPJJXHXVVXjiiSeatDmKiorCmDFjsH37drcHyTAMwzBXEjodibDTp0mEOZN2O3QI2LaNXPOdme1osVBUKSur82wqABJghw9THdrlkSxZprRqUlLLEwzKy6nl0ogRjqNl3Q23hNgrr7yCqVOn4plnnsHkyZObPT9w4ECcO3fOnbdgGIZhmCsKvR749lvg5EkSYc644J88Cbz7LokwZ1odCa+wtDQqzu+s1F5REXDgAHUCcOQH//33ZEMxebLj6FxtLf0cPrzzJhR0NG4JsUuXLmHixIktPh8REYG6ujp33oJhGIZhrhgMBuC776h9Ue/egErV9mvy8oBXXgFWrHDOckKWqeYsIYHSf0FB7o/bGWpqKHVqsThuwn3qFBXvX3+949o2rZbStbm5VFfWU3BLiIWFhaFWyFMHnD9/HrHe3m2TYRiGYbwAg4EiYceOkQhzJkpVVAS8+CLZO0RHO/c+RUXUImjCBMeWER2BTkcirKaGGpRfTlkZpSRvvNHxdhsMQHU1eYV1N8PWtnBLiE2cOBHvvfce1Gp1s+fOnTuHLVu2YMqUKe68BcMwDMP0eBqLsIwM50RYRQXw/PPAzTc739y6pIRSlxMmOI5KdQRmM0W6Cgup+P7yaFdDA7Uvuv56x8JQeIVlZQEDBnQ/w9a2cMt148EHH8QNN9yAOXPmYPLkyVAoFPj444/xwQcfYOfOnYiNjcU999zjqbEyDMMwTI/DYKA+i0KEOVNoX1UF/PvfwOLFzvt+VVSQCBo/norhOwNJosJ8MUPy8kkHFgsZz06c6LhJd0/xCmsNlyNikiTZfo+Pj8eHH36Iq666Cp9//jlkWcbWrVvxzTffYPbs2XjvvfcQFRXl0QEzDMMwTE/BaFRg924ljh51XoTV1AD/+hcwfz4V8ztDdTVgMlHros4ybAWAU6cUOHIEiI93PEPy3XdpPAMHNn+tLJMIS0ggj7Pu7BXWGi5ry4kTJ2LWrFmYM2cOBg8ejOjoaDzxxBN44oknUFNTA0mSEBUVBWV37DPAMAzDMJ2EXg8cPBgKrVaJfv2cExp1dcDTTwNz5zpvvlpXR+m/ceM6t76qqEiFoiIlwsNpluTlfPMN1Y7NnOk43VhaSqnKkSMdv76n4LJaSk5OxhtvvIEbb7wRM2bMwNq1a1FQUACAvMNiYmJYhDEMwzBMKzQ0AN9+q8SFCwFIT5edEmH19STCZs4EsrOdex+1moTYqFHOv8YTlJUBx48Hw8eHJgZczrFjwM8/k3O+I8lQVUW2HSNGOH59T8JlxfTOO+/gq6++woMPPgiVSoW1a9dixowZWLx4Md544w1UV1d3xDgZhmEYpkeg1VLbolOnlOjVy+SUCNNoSIRdcw3NHHT2faqryXNr0KDOK3KvqQH271fCYFAiPl5u9vylS8CnnwJLlji256ivJ8f/YcOAxMROGHAX067QVa9evbBq1Sp8+umn+OSTT3DnnXeipqYGTzzxBK6++mrceeed2Lp1K3Q6nafHyzAMwzDdFrUa2LmTitczM2WoVM2FiqPXPP00mZwOHuzc++h0VJw/dCgVuXdWokqrpRZL1dUKxMebmj1fXQ28/jpwww2ODV11OorgDRkCpKd3+HC9Arc/mqysLDz88MPYtWsXNm/ejMWLF+PkyZP4/e9/j/Hjx+Phhx/2xDgZhmEYpltTU0MiTPSOdMYxv74e+Oc/gUmTSFQ5g15P9VVDhlBUqbNaFxkM5BVWVASkpMgOG3mvXw/MmQM4shg1Gkk8DhgA9O/f82wqWsKjGnn48OH4y1/+gk8//RRTpkyBXq/nXpMMwzDMFU9lJfDFF5SW69vXORFWV0cibNo0imo5g15PXmE5OVRf1Vl2D2YztS46f568wi4Xf2YzsGEDWWdkZDR/vcVC487MpKjflVRq7rGPyGAwYNeuXfj000+xd+9emM1mJCQkYPbs2Z56C4ZhGIbpdpSUAF9/TdGezEznIlQ1NZSOnDXLsbWDIwwGeq+BA6k43xmx5wkkiQrvT54kLzA/P7LKaPz85s3ULcBRI29JIpuKlBSK4HXWuL0Ft4SY1WrFnj178Omnn+Lrr7+GTqdDaGgo5s2bh7lz52LUqFFQXCmxRYZhGIa5jIsXSYSp1STCnIn0VFWRT9icOZSmcwajkVKCgwYBY8Y416PSE8gycPQobF5hl/ugyTKwbZvdSPZySSDLJB5jYymC50zD8p5Gu4TYTz/9hM8++wxffPEF6urq4Ofnh6uvvhpz587FpEmToOqsI4BhGIZhvJQzZ6htkcVC0SBn4hIVFcAzz5Ctg7M+YUKEDRgAjB7deSIMoEbdP/9MfS4deX3t2aPEpUvATTc5FqFlZfS6ESOca1jeE3FZiE2ZMgWlpaUAgBEjRuC6667DjBkzEHal7kGGYRiGaYQsk0/Wnj1Uo5Wa6tzrCguB1aupbZGzjvkGA6X1srOBsWM7133+/HmqCwsOdtwj8tSpIBw/rsRttzlOx1ZV0f4ZMaLz+l56Iy4LseDgYPz2t7/F3LlzkXBZl1FJklBWVoaYmBiOijEMwzBXHFYr9Y3cv58iPI5mBzoiLw948UXgllucF25ChA0YQOnIzhRhBQXAvn0kpKKjmz9/5owC+/eHYflyC/z9m6uw+nqqIxs9uvP6XnorLguxTz/9tMXnampqMHXqVGzatAljx451a2AMwzAM050wGkmc/PQT1UtFRDj3ulOnFNi8GbjjDuqr6AxidmRXiLCSEvIKs1iAXr2aP19QAHz8sS9mzKhAYGBzJarVUs3csGGOZ1BeaXh8Yqsst21OxzAMwzA9iYYG4LvvgBMnaOagM70RZRk4fToQ333ni5UrHUeWHCFE2MCBnVuYD1AN25495AmWkuL4+ddeAxYsMEOSpGbP6/Vk6pqT43wNXE/H404dPEuSYRiGuZKoqQF27CARlpHhvAjbt0+BXbsisXKl2WkRptPZfcLGju1cEVZTA3z/PaUVk5ObP19fT15h8+Y5TsmaTEB5OZm1Dhp0ZXmFtQZHxBiGYRimnRQV0czIsjKgTx/nDFQliYTb/v0+WLiwFKGhzuUjtVqKOOXmUoF7Z/pt1dYCu3dTgX1aWvMZoFot8NJLwPTpVONmuqy7kcVC9Wx9+tD4O8totjvg0V0RHh6O119/Hf379/fkahmGYRjGq5Blsqf4/ntKt/Xt61yEx2IB3nmHWhDdeacFlZXN03eOUKtJBA0bRo/OFDL19bSdZWXU//Hy7dTrSYRddRXth8uxWmlGaEYGNSC/0gxb28KjH6Wfnx9GjRrlyVUyDMMwjFdhtQKHD1NfRX9/5wvOjUZg3ToyLb39dlqPM9TV0WPkSIomdVbvSADQaKgmrKSEImGXizCjEfjvfylC58h8VpJIdPbqRSLscsNXxkUhtnbtWpffQKFQ4N5773X5dQzDMAzjbRgMNGPw8GEgLg6IjHTudQ0NwHPPUcRoyhRK7TkjxKqr6bWjR1NdWGfWVWm1FAkrKCAR5qh/5MsvkwDLzW3JNV+BxERquRQc3GlD71awEGMYhmEYJ6itpZmRZ8+SMAkKcu511dXAf/5DqbuRI51/v4oKqrUaN44MWztzLlxDA0XCLl2ibb08FWq1Aq+8QvVgI0c6FmEVFSpkZsoYNerKdc13BpeE2OnTpztqHAzDMAzjtRQUULG6KMp3ts4pP5+MWufPp9mCzlJcTBGoiRPp/ToTnY6ifvn5LYuwN98ku43x45tH6WQZKCtTIDjYihEjJKejhlcqPG+BYRiGYVpAksiWYu9eik45W5Qvy9SD8b33gGXLnDdqlSSaiRkcTJGwtDS3hu8yOh1Fwi5coGiXIxH21ltU6zV5csv9IwMCgN69GxAdHdU5A+/GsBBjGIZhGAcYDNSq6PBhSq05cpF3hCQBn38O/Pgj8JvfOJ+Ws1op8hYVBUyYACQmtn/s7eFyEXZ51M9qpRmffn7ANde0LMJUKmDoUAl6vaVzBt7NcVuInT59Gm+++SZOnjwJjUbTzElXoVDgq6++cvdtGIZhGKbTqK6mQvWzZ8lB3hmTVoAK2F99lQrd777becNVs5lEWK9elO5z1uDVUzQ0UNSvNRH27rtUCzZ9umMRVlFB6dSRI4GYGBn5+Z0z9u6OW/MvDhw4gMWLF+Pbb79FXFwcCgsLkZKSgri4OJSUlCAoKAgjXalMZBiGYZgu5sIF4LPPgPPnqT7LWRGmVgNPP01F/Lfe6rwIMxqpKD4jA5g0qfNFmJgd2ZIIkyRgyxb6ee21jkVYZSX9HDXKses+0zJuRcRWr16NlJQUvPfeezCZTBg3bhxWrVqFsWPH4ujRo1i5ciUeeeQRT42VYRiGYToMsxk4dIhSij4+QFaW8zMVL12iovxrrgGGDnX+PfV6JYqLFcjJob6RgYHtG3t70WhIhF261LIIe/992jezZ7cswiSJRJij/pNM67gVETt58iQWLVqEkJAQ+PxqMCJSk0OGDMGNN96I559/3v1RMgzDMEwHUlcH7NxJoiQ8nASFMyJMloEDB4AXXgBuucU1EVZXB9TW+mLIEBkTJnS+CFOraSaosKhwlI7csoVq5VoSYVVVJMJGjuz8iQU9BbciYj4+Pgj+1aEtLCwMvr6+qK6utj2fkpKCCxcuuDdChmEYhulA8vLIJV+08PH3d+51Fgvw4YfU6uiee4DQUOffs6wM0OsVGDy4ASNGRHV625/aWhKdwjHf0ezId96h3+fMaVmEWa3kqp+e3uFD7rG4FRFLTU3FxYsXAVBRfu/evZsU5n/77beIiYlxa4AMwzAM0xGYTDQrcvt26qfYt6/zIqyhAXj2WXrdXXc5L8IkiYryfXyAq66S0KePoVPd8gGgpoaMaVsTYW+8Qf+fObNtEeZsiyfGMW59/FdffTW2bdsGi4WmqN5xxx3YuXMnpk+fjunTp+Prr7/GjTfe6JGBMgzDMIynqKoCduygqFBYGNVHOSuILl0C/vY3YNAg4PrrnW/AbTYDFy9SW6QpU4CMDLnd428vFRXAN9/Yo3+Xty2yWIBNm0hYtmRRUVnJIsyTuJWavOeee3DbbbfZ6sOuv/56KJVK7Ny5Ez4+Prj77ruxYMECjwyUYRiGYdxFkiiVuG8fped693Z+dqMkkXDbto1mRTrrKwYAej255ffuTUX5ERH0v86kpIR8wurrSYRdLrLMZmDjRjKfnTixZYsKWabCfK4J8wztFmJmsxkXLlxAREQEFI0qGufNm4d58+Z5ZHAMwzAM4ym0WpoRefQoWUz07ev8rEijEXjtNSqwv/9+5/tMAiR8qqqoafeIEZ1flA9QFG/vXhJ/qanNt9tgIBGWlkaO/o5EWHk5/X/UKFrHlcpldqlu0+7UpFKpxMKFC7Fz505PjsdGQ0MDJk6ciH79+uGXX35p8tyWLVswY8YM5OTk4LrrrsM333zT7PUajQaPPfYYRo0ahaFDh+KBBx5ARUVFs+UOHTqEG2+8EYMHD8bkyZOxfv16yHLTcLEsy1i/fj0mTZqEwYMH48Ybb8SRI0c8ur0MwzBMxyDL1Dfx00+p7VBiIpCU5LwIKy8H/v53imLdcYfzIkyWgdJSsogYM4YETleIsPPnqSbMZHI8G1SnI+uNPn0c944EaDuuZBFmsVBEc/9+z0cy2y3EfHx8kJSUBJPJ5Mnx2HjxxRdhtVqb/X/btm3405/+hJkzZ2LDhg3Izc3Ffffd10wYPfjgg9i7dy8ef/xx/Pvf/0Z+fj5Wrlxpq2cDgEuXLmHFihWIjY3FunXrcPvtt2P16tXYtGlTk3Vt2LABq1evxrJly7Bu3TrExsZi+fLlKCws7JBtZxiGYTyDXk8zIj/7jNzy+/alPo7OIElkTfGvf9HMwalTna8js1opCuXvTyatQ4c2r8fqaGSZ+mTu3k3jTkpqvkx9PbBmDdlPjBrVXKTJMqU0/f2BsWOvPJ8wk4lE/Lff0uPCBecFvLO4VSN26623YvPmzVi0aBEiIiI8NCTgwoULeOutt/C73/0Of/nLX5o8t3r1asyePRsPPvggAGDMmDE4e/YsXnjhBWzYsAEAcPjwYezZswcbN27EhAkTAAAZGRmYNWsWdu7ciVmzZgEANm7ciMjISPznP/+BSqXC2LFjUVNTg//+979YunQpVCoVjEYj1q1bh+XLl2PZsmUAgOHDh+Paa6/Fxo0b8fjjj3tsuxmGYRjPUVhItWAXL5IICQ93/rVGI80crKgA7r3X+X6RAKX5iovJYX7MGCA21uWhu43VSinYn3+mzgCO3PqrqoB164Bp0xyb10oSibCQEBJpzjYu7wmYzXT8nDlD+8nfn7bfz8/LhJgkSVCpVLjmmmswY8YM9OrVCwEBAU2WUSgUNgHjLH//+9+xZMkSZFw2HaOwsBAXL17Eo48+2uT/s2bNwtNPPw2TyQSVSoXdu3cjLCwM48ePty3Tu3dvZGdnY/fu3TYhtnv3blxzzTVQNarUnDVrFtatW4fDhw9j9OjROHToELRaLWbOnGlbRmzzl19+6dJ2MQzDMB2PwUCNug8dIkHSt6/zMxsBugC/9BIwbBgwb57zUTCAashqaoABAyjK5EotmacwmUiAHT0KxMQ4FpHFxTQ7cu5cxx5gkkTLRESQCOsKMdkViO0+c4bSsYGBJKh9fOi4+uUXoF8/BTwYe3JPiP3zn/+0/f7+++87XMZVIbZjxw6cPXsWa9aswYkTJ5o8l5eXBwDNBFpmZibMZjMKCwuRmZmJvLw8ZGRkNJlEAJAYE+vQ6XQoLS1F7969my2jUCiQl5eH0aNH25a/fLnMzEy89tprMBgMzcSnK+g7e9pMJyC2ibete8Hb1n3pydvn6rYVFirw448KFBQoER8vIyKCxJiDSpdmSBKwe7cSX37pg8WLLUhJkdGomqXN15aV0TVn2DAJ2dkyFIrW64k64nPT64GDB5U4c0aBhAQZAQEkzBpz4YICW7b4Yv58MxISmj9vtQLFxQrExMgYNkxCaCiJEFcw/PoCg6sv7EJqaoAzZ5QoKFDAxweIjZXh40P/37fPBxcuKJGWJiEgQAbgubCYW0Js165dnhoHADoY//GPf+Chhx5CiIMuq/X19QDIxb8x4m/xvFqtRqgDd73w8HAcP34cABXzO1qXSqVCYGBgk3WpVCr4X+byFxYWBlmWUV9f75YQE4a4PRHetu4Jb1v3pSdvX1vbptcrceZMIM6eDYQkKRAfb4JGQ4XyzqDVKrF1awwUCmDBghr4+sooLXXutRaLAmVlKkREWDBwoA4BASbk5zv3WgAoKipyfuFW0GqVOHYsBCUlKsTFmVBXJ6OurukyZ88GYs+eCEyfXgqFwory8qbPW61AebkKsbFmJCY2oK5OarYOVyh1did2ISaTAgUF/rh0KQBGoxJRUWb4+MjIy/PBjz+GobbWD1lZ9Zg2zQhfXxmABMBzBX9uCbFerpioOMFLL72E6OhoLFy40KPr9WbS09MR2BXTaDoQvV6Pixcv8rZ1M3jbui89efva2jZJAvLzFTh2TIGyMiWysmSXasFkGThyRIH33vPFtGkW5ObKUCgSnX69RgNUViowcqSMESMkl1JWer0eRUVFSE5Odvtzq6oCTp9WwmxWYNgwuVkqVpaBH35Q4sgRJZYvtyAoqHnXG5MJKC1VYPBg2pbg4PZ3xjEYDCgtLUViYqJbwYqORJaB8nIF8vIUKC9XIClJRlgYTWD47jsflJYqMGqUFenpMpTKEMhyCLRaQJar2165C7glxATl5eU4ePAgqqurMWPGDCQkJMBqtUKj0SA0NNRm+NoaxcXF2LRpE1544QVbtEqn09l+NjQ0IPzXb5dGo0Fso4S1Wq0GANvzYWFhKCsra/Ye9fX1tmVExExz2e2SyWSCXq9vsi6TyQSj0dgkKqZWq6FQKGzLtZfAwEAEdUURQSfA29Y94W3rvvTk7XO0bbW1VAt1/DgVUQ8c6NrMRJ0OePNNe0F+RISTzq6gi3hZGRV1jx0LDB7sfHukywkMDHRLiF26RJMSNBqqh7u8pk2SyLqjqAi4/XbA37/5TjIYyDG/Xz9g+HDP2WwEBAQgIMD7bg4MBuD0aeDsWdo/mZkUDfz+ezqeRo+m7gc+Pj4wm+lYM5lo4oKn+4K6JcRkWcY//vEPbN68GRaLBQqFAllZWUhISIBOp8OUKVPwwAMPOFUjVlRUBLPZjLvuuqvZc7fddhuGDBmCZ555BgDVijWu2crLy4Ofnx9Sfp1X27t3b+zbtw+yLDepE8vPz0dWVhYAICgoCImJibYasMbLyLJsW7/4mZ+fj/79+zd5z6SkJK9V+gzDMD0Vsxk4dQo4eJAukMnJzltSACSizp8HXn6ZLrjXX+9aQb6YURcZCVx1FbX58fRMOmeQZRITP/5IvzsyajWbgc2bSaAuWeJYqDY0UEStf38gN7f9grK7UFEBHDtGRfmxsTSh4tw5anmVlQXccguJLaORlgVo1mlaGhAf73wnBmdxS4i9/PLLeP3117Fy5UqMHTsWd9xxh+250NBQTJ8+HTt37nRKiGVnZ+P1119v8r9Tp07hqaeewl//+lfk5OQgJSUF6enp2LFjB6ZNm2Zbbvv27Rg7dqxt9uPEiRPx4osvYt++fRg3bhwAElInT57EnXfeaXvdxIkTsWvXLjz66KPw+1Xibt++HWFhYRg6dCgAYNiwYQgJCcHnn39uE2Jmsxk7d+7ExIkT27HXGIZhmPYgyySAfvoJyMujGX2ObBdaw2AA3nuPLry33ea6JYNwyc/MJJf8qCjXXu8pzGbgyBF6tGRPodORW35qKglGR2Kzvp4egwaR878rs0u7GxYLfe7Hj1N0KzWVJje89x79vP56sjgxmSjaKctke5KWRoKto3zg3NrlW7Zswfz58/Hb3/4WtbW1zZ7v168fdu/e7dS6wsLCMHr0aIfPDRw4EAMHDgQA3H///XjkkUeQmpqK0aNHY/v27Th27BjefPNN2/JDhw7FhAkT8Nhjj+F3v/sd/P398eyzz6Jfv36YPn26bbkVK1bg008/xcMPP4ybbroJZ8+excaNG/HQQw/ZRJ2/vz9WrVqFNWvWICoqCllZWXj77bdRV1eHFStWOL2vGKYlDAa68/L3BzjAyjCOqaujyM/x45RC6t3btRSRLJMlwSuvUOrt/vtdu7AKTy2FguwccnI8HxlxFp2OjGZPnwbi4qhB9+VUVlLEb9w4Sps6EqtVVXTuGT6cUpKuRAW7GxoNRcHy8khsxcbSsbRrF3m9ZWfTZ1xRQYItMZEinXFxHb9f3BJipaWltsiRIwIDA6HVat15i2bMmTMHer0eGzZswPr165GRkYG1a9c2G8dzzz2Hp556Cn/+859hsVgwYcIE/PGPf4RvI7mflpaGjRs34h//+AfuuusuREVF4YEHHsDy5cubrGvlypWQZRmbNm1CTU0NsrOzsXHjRlsqlGHai8FAdRsGA4mw5GQWYwzTGKMROH06ED/+6IOGBrpAumKuClC04513yNh12TK6uLr6+pISSkuNGNG1LX7ISoHqwlJSHKcRL1wA3nqrZY8wUd/m60siJD29a1KrnUVxMUUOq6vp+DEagbffJkF/ww2U1q6ro16kcXFUZxcf33mdENwSYtHR0a1OTT1x4gQSE52ffXI5o0ePxpkzZ5r9f/HixVi8eHGrrw0NDcWTTz6JJ598stXlhg0bhvfee6/VZRQKBVatWoVVq1a1PWiGcQGjkURYVBSdYE0mFmIMA1B0Ii8P2LdPiZ9+CkW/fq6nISWJWvy88QbVgt17r2sXV1mmyJJORxMBhg2jNGBXUVBAvQ5ra0k8OUoj/vgj8NVXwM03O05XCsPS0FASlY7aHvUURCryl1/os0xOpr+/+IIihVlZdA4uLqbPddgwEredHel0S4hdc801eOedd7BgwQKb75cojt+zZw8++ugjTt8xTCuIdGRNDf3sqlQHw3gTJSXkjH/uHCBJSqSkGBEX55oIq60lAabRAMuXu+4MbzJRtDo8HLj6asezETsLSaLJCT/9RL87imBJErB9O01CWLbMsaO/2UyiQ0T2HAm1noJOR1GwCxeoljAwEPj8c2rgvmgRRcGqqkisZWSQKHOU4u0M3BJiDzzwAA4cOIB58+ZhxIgRUCgU2LBhA55//nkcOXIE2dnZuPvuuz01VobpcYh0pMlEIoyjYcyVTHU11fGcPEmRiuRkQKmUUVjo/DosFuC77+iiO2MGzQJ0VUBVV1MBe2Ym1U91VUE+QBHzQ4eonik01LF4MhjIhkOlApYudRz1MxioZU9GBjUg7yrR0RlUVdE+KyujVKRaTTNHMzOBBQvofFtcTJ9r//60TFfWx7klxEJDQ/Hee+9h06ZN+OKLL+Dv74+DBw8iNTUV9957L+688062d2CYNggIYAHGXNmo1SS+fvmFanWSkux1YEajc+uQZYpgbdpE0a//9/9c7/NoNtM6goKACROogN3TnlGuUFtLRfl5ebRPHG1PVRXNjMzNpd6WjgSFRkNR955uTyHLVDt35AhZcvTqRQL2u++A6dNJcFVXk1jv25eiYN5gu+f2RNWAgADcc889uOeeezwxHoZhGOYKQaejmX+ikDo2lsSPq4XjDQ3Ali1kzrlgAUV9XKWmhoRPRgbVCrla0O9pLl0iEVZTQ/YJjgThmTNkvTBnTssF91VVFA3LzaVG5J1VgN7ZWCyUvj1+nCKD8fHAJ59QAb7wTyspoVRzdjaJNG+ZoOBWMO62227Dvn37Wnx+//79uO2229x5C4ZhGKaHoddTCnLLFioslySKTkRHu3ZxtFiAb78FHn+czFUffNB1EWY2A/n59HP8eHJT70oRZrEAR48CX39NAjMjo7kIk2Xa7o8/Bm691bGhrCjKl2Vy/h80qOeKML2e6ueOHKFIqo8PRQnDw4HrrqNUZEUFCdqxYynl7S0iDHAzIvbjjz+2OnuxpqYGBw8edOctGKbHwH5hzJWOXk/F5EePUr1SeDgJMFcFgixTuu6NN0g03Xef67MZZZmicGo1eZLl5nZ9FEyrpW4BZ85Q/ZKjvpVGI0XBjEYqyneUZjSbKfoTE0PRvfj4jh5511FXR/VgRUW0nSUlFAmbMoVmQFZU0OzS3FwSrN4oRt1OTSpakZWXLl1CsCt9Jximh8J+YcyVjE5Hs9eEAAsLoxqd9lwUq6vJE6yyEpg/ny62rqLX28cxcSKNpStrwQASED/+SOPq1cvx+aGykgxpBw6kyI6jejC9norU09NJhPXkovzSUhJhNTVUQ7d/P9UZLlhAsyRLSkhcDxxIotRbcVmIffTRR/joo49sf7/00ksOfbg0Gg3OnDnDbYAYBuwXxlyZaLVkQXHsGEUm3BFgej2l4n7+mQqvb7jB9ZlukkT2BUYjReJyc7t2RiRApqInTypw4gSdFzIyHG/XL7/Q9s+dSyk2RzGQ2loqzB84kJz/e3JRfn4+WZyYzSS2PviA9tuNN5LwF22oBgzw/nOty0JMr9c3aWfU0NAApYOjJigoCEuWLMG9997r3ggZpgfAfmHMlURdHRXOHz9OEayIiPYLMIsFOHAgFIcO+WHsWOChh9r3/VGrSQzGx1MtWO/eXd/SR6sFjhwJgVbrg5gYx30vrVZg2zaKKN5+u+OuApJEUTAfHzKuzczs+m3rKERR/i+/0Lk0KIiihAMGAEOG2FORQ4Z4byryclwWYjfffDNuvvlmAMCUKVPwv//7v5g6darHB8YwPQn2C2N6OrJM0aazZ6nGqa6Oiu+zstonCqxWSjt98IEvoqNV+M1vzIiMdD3EI+qlVCoyMR04kMw8u5qiImDvXiXy8gIwZIjkUGCp1cBrr5F4XLrUsZO+2L6oKEpFutHMxusxGCi9ffYsTc6orQU++giYPJlSk2I/DBrU9fV+ruBWjdjXX3/tqXEwTI+H/cKYnojFQqLi9GmK2hgMVI/THhsKwN6WaMsWEnK33mqB0ViH4GDXDJ9EA2edjuqlhgzxDpFiNlOk8OhRwGBQoFcvo8PzwtmzwLvvAlOnkt2Co33Z0EB1Y+npPd+kVaMhYX7xIgnT06eBPXuAefPovFpeTj1ABw7s2jZU7cHtYn2BVquFVquFJEnNnkvqyc2sGIZhrkB0Oroonjhht0lISGj/RVCSSMi9+y5Fr268kdZnMlGkwxXq60mgxMRQqq53764vxgeoNOGnn2g7o6OBmBi52bZZrdQV4PRp4JZbHNewyTLVQBmNVAs2aJB3bF9HUVVF+62igiJf33xDx9ySJSRG6+tJrHa1AW97cVuIvfXWW3j11VdR2EoPilOnTrn7NgzDMEwXI5pg5+VRnU51Nc1OS05uf2G4aO79/vsUXZs9m2ZCtieaZjBQrZS/P6UhBwzwjuiIEJk//0wpW9FY2mRqulxtLaUik5LImsJRKtJiIWEaEkKNq1sq3O8pFBbSftPpyPD33XepTm7ePDr+VCpKyaamdt/94JYQe/vtt/G3v/0NEyZMwMKFC/Hss89i2bJl8Pf3x4cffoiYmBgsXbrUU2NlGIZhugCDgS6IZ86Q47teT5GaPn3aXwwtSTSj8oMPSODNmNGyO3xbWCxkZSBJVKiek+M9NUJaLaXUTp8m0erIfFWWqfh861baD336tJyKrKgge4thw7p+xmdHIo6Po0dpXwQEUFF+bi61aiovp+0fPNi7rSmcwS0h9uabb2LChAl4+eWXUVtbi2effRZXX301xo4dizvvvBMLFy5EXV2dh4bKMAzDdBaixuriRRJg1dUUoYmNdS/KZLXS+j78kETctde2P5ohSZS20mpJnOTk0Lq8Ycag6Hv488+0HxMTHfc1NJkUeP99H1RVAbfd5nhWZONU5KBB9Oip1hSAvY7u5Ek61mprSaRecw2JrrIy+pwHDfKOiRfu4pYQKygosM2g9Ps1MWs2mwFQQ/BFixbhrbfewvLly90cJsMwDNMZqNX26FdpKUW/IiMpkuMoVeYsFgtFhrZtI0EyZ077W83Isr03ZEwMcPXVFAnzFlsYnY4iOSdOkNhsyRusoECBzZvjMWKEjJkzHS/TOBU5dmz7o4bdBb2ejhNRR3f6NBm1Xn897Z/aWoqI9evnPZ+3u7glxEJDQ2G1WgEAISEhCAwMRFlZme354OBgVFVVuTdChmEYpkPR66n4OS+Pojj19ZRGi4lxHMVxBYOBZrd99RXVRt10E0XV2kt9PUWHwsJImPTr5/4YPYUsk4g9dIjEU0uTF6xW2h8//+yDyZOrMWBAlEMRptXStqakUEouMrLDN6FLqaujovziYpoZ+fXXtP033kifu1JJ+yE93Tuinp7CLSHWt29fnD592vb3kCFD8Pbbb+Pqq6+GJEl49913kZ6e7u4YGYZhGA9jMFDEq6CAog+1tRS9iYoi81V3LnSyTBfOr74CDhygovlVqxyn3ZxFq6ULdXAwWTX07++4F2NXIaJgp07R9rdkJlpVRT0yExKA22+3oKbG3GwZ0QFAlu01UT0l+tMSpaWUxhVRznffpZ+zZ9MEkbAwSj07Mr3t7rglxK677jq88847MJlMUKlUuP/++3HHHXdg0qRJtHJfX6xZs8YT42QYhmHcpLH4ys+n9B5AkZbMTPddyCWJ1v3ZZxTVGDUKePBB9/zzGhqA4mJ/KBQKDBpENgXR0e6N05OIWrDDh2nfthQFkyRg717gu++AmTPJUsPcXIPZPqPYWCpE79WrZ6ciL29X5O9PRfkjR9IxWV5O9XU5OdQkvifilhBbuHAhFi5caPt7+PDh2LZtG77++mv4+Phg/PjxyMjIcHuQDMMwTPvQaKi4ubCQCu/F/KmICPfrvgQmE6XjvviC1nf11ZROcieqJmYIKhQKZGQYMGWKFamp7o/Vk2g0FAU7fZpEbEttk2pqgM2byXB1xQpK+16OLNOECJ2O0q2DBnmH9UZHYjZTBPH4cRLrWi3VEF57LUXAKitpnw4c2LPNsD1m6CpISUnB7bffDgA4f/48Pv30U8ydO9fTb8MwDMM4wGqlC7qY8VhaSmlCHx/PFN0LhKfYV18BR47QBfOGGyiS404ER6ul9apUlJJLS7Oivl7rVl2Zp7FaqZ7u8GHa1wkJjmfvSRKwbx8ZkM6Y0XIPSLOZPqfQUKp7a6m4vyeh19Nxc/48HZfHjtFj0SLaH1otidH29ijtTnhciDXmyy+/xOrVq1mIMQzDdCBaLVBUpIJarURZGUVgdDqKIkREkKeWpy7sJhNFgb78ktJoo0e3vxF3Y9Rqqp8KDKT0Y1YWFWwbDPRcV2Iw2PvEarW0/efP233BHO3bqirgnXdIoLUUBQMAtdoHRqMSffpQ+q2nF+QDVAf288+Uvo6NBXbsIGuORYvo2A0IAIYPb/+s2u5GhwoxhmEYxvMYDHShr6qi+qSiIh+cPx+BuDjFr61zPDuT0GqlWYC7dpElQ0YGMHcuRYLcLeqvq6OLb3AwCZGsLPdmVXoaUbOl0VB6t7ycRFmvXo69vKxWmu3344/A9OmtR8GKihSwWhUYMcKK7Gy/btmex1WKiiiSWFdHNwlvvUWzIHNzKYobG0vHgTfVAXY0LMQYhgFAFxytVgmDwXvsABjCYKAUWHU1XcjKyihKZLXam8knJxuRluY5o09ZpvfYuxf44QeK6IwaRSk2d6NfViuJr/p6KsAeMYIEizc6xRsMVEwuauzS0ykN64hLl2i2X1oaRcFaqmuqraV9m5QkIzRUg6ysyB4vwqxWamT+yy/0t48P8PrrwIQJVIxfUdGzTFpdgYUYwzAwGIDiYgXKy1WIilIgKKhnF8d6M7JM0ZfaWhIrxcV0kVKrydxTpaJC5tRUe4Njo9Ez6TtZpiL5gwdJfOl0NHNvxQqqX3I3TWQyURRPr6eIx4QJJGzcsbXoSEST7sOHqd4rLc1xOx29HvjkExJrc+aQsHC0r0wmiq4FBZH4TEmRUFho7fgN6WL0ehJgZ87QZ33+PNXOzZlDgkyt7t5Nu92FhRjDMDAaAYNBRliYFQaDDJOJhVhnYTRSmkYIr6Ii+r2hgYRRQADNnmssvDyJLJPg+uknEl8aDRXJL1hAosMTtWVaLUXzAKr76tePtqeluqmuRq+nmZAnTtDYMzNp3/v6Nv0MRI/ITz4hYTV1quOJELJMn6lGQ2Ju4EASogZD521TV1FbS62Kiotpm7/6ivbD4sUkwJRK8oXr6c3LW8NlIfbKK684veyhQ4dcXT3DMF2Avz8QEKCAWu2DXr0UPd48sqswmSgdV1dHj9JSihA1NNBzCgWlZUJCSLB01GwxEfk6coRc7+vrSXxdd53nCvsliS7CdXUUAcrMpGbWSUmembXZEVitlIY8doxqwSIjW05D1tYCW7bQa269tWVzWYOB1hUaCowZQxHAKyHqI8tAWZkKJ074QK+n4/rNN+kYGD+eorwxMVQP1t2bdruLy1+Hf/7zny4tr7hSJS7DdCMCAoBevWTU1JjQq5fM0TA3kWWKqqjVJHLq66muS/hE6fUkugIC6AKVmNjxTZytVrKFOHiQPL+MRroozp7tftF9Y/R6iuwZjSRORo2iaEd0tPdGPGSZJiOcOEF1YP7+JJgcCWGTiWaMHjkCTJlC0T1H+040JDcaSYQOGOBdnQA6ErMZOHFCgSNHghEfT/vgo4+AyZNJdFVW2iODV1o9mCNcFmK7du3qiHEwDNPFUApMYhHmIkYjpVo0GhJetbUUAdFoSHQJ9/TAQIoMxcXRhb6jRYks03ufO0fi68wZev+BA4GbbyZR4CnxJUn2KJ9KRcKub1+yH/DW9KOgpoYE2LlzJFZbEsWyTJGyzz6jfbhyZcuTFkSPyOhoSlmmpvZ8XzCBRkM1defOKREUZMXp0wqcO0dNuy0W2jcDB9Lx4a2R0c7G5d3Qq1evjhgHwzCM1yLLYlYpXWi0WhJclZUkvvR6e72Pj49ddEVGdm6PQKuVIm9HjpDXVU0N2Szk5ADTppHY9qQAbGig9zCbSdgNG0aiw5O+ZR2FVkvi9ORJ2o64uJad7EtLKQ0ZEEAitiWvL7OZ9r+fH+1zb2pI3hkUF9OxV1MDREbKeP/9CERFKbBwIQnTkBCyqejpbZtcxaN6VKfTYdOmTZg/fz6Sk5M9uWqGYZgOx2Sii3JDA12ohdAQdVwGA0XAABJcAQEkumJjPS9ynMFqpbTnzz8rceBALNRqP4SHkxfXnDk0Lk/XmZlMtE8aGkhkpKRQHVWvXt4f/QJINF+4QG11amooahUf73jZhgbg00+pf+b06S1HtiTJvk+SkykN2dI6eyJmM01uOHmS/pZl4M03/dCnjxaDB/uhosIXiYlkTdHd07MNDfRd96TA9rgQe+GFFzB8+HAWYgzDeB0istXQQGlD8VPMWNRoxAxSurgCFN0IDLS71KtUXXc3L9oXnTpFj0uX7PVMQ4ZoMXhwAEJCPF9sZrFQ2lGtpnRSTAzNdEtKIu+v7hDdMBqp/uv4cSoUDwtruTek2UwzSHfvpgL7adNaTqOJNGREBLUnSku7MorxBWo1RV8vXqR9+ssvlMKdMcOM+noz1GoF+ven6GB3nQRUVwd8/z156h0/Drz/vsKjnncez9DKsuzpVTIMwziN2UxRD53O/qiqUuKXX0Jx7JgSkmQXW+J05ecnZo6SsPD37/r+dpJEAqigwC68amvpTjwjAxgyhGY5qlSA2SyhpMTk0QudxWKfbKBQkNAYPpwiX3Fx3ae+x2wmwXr8OKUNg4JaLsSXJEqt7dhBBfYrVrQc+TCZqBZQpaKap379en6T7sbIMlmtHD1Kx2VICPDxxyTGFi8GyssV8PEBhg6VkJnZPcR6Y8xmYP9+YOdOasckbswAzx/73eSrxDAMQ1wutMTvoli8oYGEltFoL5Q3mxWoqQlAWpoCoaF00fAGsSWQZRI+NTXkPn7+PNkomM2UXuzdm2Y3xsR0rACyWEh4qdV04QwLI0PX5GT7JIPughBgJ0/SjMiAAEottuTzde4c+YFFRVEdWHi4Y/FgtdpnQ6amku1HXFzHb483YTTSfj19mr5DBgPNipwwgaKklZVAXJyM8PAGJCeHdysRVllJEzJ27iSBKejbF7j6aoqQxsTIADy3UR79SiuVSiQlJSGAp10xDNNOjEa7uNLr6dHQYPffEp5bjYUWYI9q+fuTgPD3b+o8X1hoQnx814sJIbrq6ujif/48kJdH2xQcTDVXffqQNUJQUMcXvRuNtG+1Wnqv8HASXyLy1d1O50KAnTpFxeP+/rRPW0oXFhVRJEehoP6ZcXGOBZjoi1lfT8uMHEnr9RYx31lUVVHUsLiYJi3s20cdBa6/nva9RkMu+ampEsrLu0/XgPPngQ8+oHS09ddhR0ZSbeC0afRZdxQeFWJRUVH4+uuvPblKhmF6ELJMF/7GkSxRqyUucnq9PaJlbXQeV6no0Vho+fp6d8rDaqXtKCqiCFd+PkVnLBaqO0tNpZqiq64iEdYZF3Vh5qpWUyTDz4/SjtnZVGAeG9v1YrU9mEyUxhURsLYEWFUVRcDq6sgRPyWlZdGr0dDy4eEkwDIyup9AdReLhW4YfvkFtn6077xDx/DcuRTNDQ+niQpJSfZJLd7OuXPA5s2UhhTk5ADz5lH0qzNS8G69RXZ2Np5++mnMnTvX4fPbt2/Hww8/jFOnTrnzNgzDdBMaC63GYkujsUe0xMxDk8kutBQKunAKoRUUZBda3o4sU/2I6CNYWGh/aLW0bXFxFGEaOpRSjJ2dFjWZ7F5nkkSiLz6exEdsLM0c7A772hEGgz0CVlbWtgCrrga2b6eIzqRJNMO0JQGm11Nhf0AAXZz79iWH/CsNtZoEWF4eHTtlZVS4PnUq3RTV1JAgy87uPvvn/HkSYPv20d9KJTBxIrBwIX3OnYlbX722CvOtVis76zNMD8NiaTrjUAit2trmES1R4KpU2kWWSuV9NVrOIEkkHBsaSGQVFdHP0lISOgDVcMXHU0Rg1CiKEPj4dH7UThhnajQ0Nj8/GsugQTS+mBi6gHbn07NWSzP1zpwhsRQU1HINGEARre3b6fOaMIEEcUsCzGikdfr40EW5b18Sq1cakkRRxl9+oZuokBBg2zbax6JXpNVK3mAZGd3j+3zxIvD66zQrFqBj4OqrqS6wI9OPreH2PVBLQkur1WLPnj2IbMn5jmEYr6Wxn5Z41NdTNEGrtUe1LBZa/vKIVncUWgBdVCSJBExJCd35l5bSz7o6es7fn8RMfDxFSaZPpzRjVwgugcUCaDQ+KClRQJJoLKGhNDswMZFERFRUz7BVqKmhFO+5cyT+xXa2dKxVVgKff95UgLW0rNlMAkyW6aLcty91CXD3cxX1jKKOsTug1VKa99w5+l5rNFSQP3483WjU1tKxlZ3dPURqXR3wxht0LEgSfaaTJnWtABO4LMTWrl2LF154AQCJsEcffRSPPvqow2VlWcbSpUvdGyHDMB2C1UonW2FcWlmpwLFjITh5UgmzuamflizTRSQggC4k4eFNi+G7C8ISwmKhCIkQWaWlZEUgLC0CA+niEhNDMwZHjKA6Kl9f73CMF15oDQ10gZdlBSRJgV69ZKSlkeiKjOweBqvOIEn0ORUVUURDq6XPIyOj5c+jspIiYOXlJMDmzGl5WYuFljebSVz060diwxOftYiuGY30nfH22aeyTJHe48dpn4SGAl99ReNfsMBebjBgAAlVb/cGM5loMsY779C4AWDcOGDZMoqgegMuC7GcnBzcfPPNkGUZb731FsaPH4/09PQmyygUCgQGBmLgwIGYPn26p8bKMEw7EPVBIlWlVtMJtrbWPkPRagVMJiWqqwORlqZAWJj3+Gm5gkgfGgwktCoqaFvLynxQUBAPi8XXFt0ICyOhFRtLka2pU+0F894gtgQiFSxq7iTJ3iy8b18xs9GKqqo6DBoU02PEFyBMWBU4cCAUsuwDhaJ1J3whIr74giIgV11FheStCbCqKvqOJCRQvVhSkmfr5cRNTXg4RZXNZu8VYg0N9iiYry/tlzffpAkK6ekUjYyLs0/s8GZkmUxYX36ZzgMAfV/uuou+796ES4fb66+/jquuugp/+tOfAAB6vR5LlizBkCFDOmRwDMM4j5g6LsRWXR2dgBrXbckyheRFa56wMLs5p9EIBASYWmx63NWIonjR1qeiwi60KivtF1SAxFREBEWFoqKAPn0kpKfXoW9fFQIDfaBUemd9lMXS1LpDpBlF38qBA2m7IiLosxMRSb0e0Gh6jpl2fT3VJp09C5SUKFFX54fsbBlhYY6XlyTytPryS/pcJ0wg4eCMAIuLszco74gIr0hH1td7bxRZkijaePw47ZfQULJxqK4G5s+nc4tWSwKsb1/vnzFaUgKsXQscOkR/x8RQBGzKFO+6yRK4JMSeeuopREZGIiMjAwDw8ccfY9y4cSzEGKYTaWw/IJzPy8vpblX4bskynXACA+kRE0MnT288CQF2kSVc74W4qqwksVVVRcJSLBscTAJLpOAyMylSIrbxcqFlMskoKbFApfKOCJ8skwgQn5dIiQrRFRpKXmJRUSS4wsN7fvNo0bA8L49mQarVtO2pqTL8/c0OL/5mM/DTTyQaoqOBGTNabzhuNtsFWHx8xwowgUhHemuNmEZDUbALF+j40+splTdkCE04qa2lfZud7Zl6uY7EbCYvsLfesk9SufFGYNEi7xaPLgmxsLAwVFdX2/7mdkYM07FIEt2JCo+t6mq6WGk0FDWxWJpGuKKivFNwCZElollCYImf1dV04hRiJDLSHs3q25f8fMLC7DVa3rZ9rSE6ARgM9BATHFQqElcxMXShDg8nARYWRv/35gueJ9FoKBpz7hwdC1Yrfe6iLY6IcjZGp6O0008/UdeBG29s2QkfIHFfVUXHoBBgSUmdF50SRsPehNVKgvfECbqJCw6214Jdfz39bGigzgHdIQp24gSwejVtE0AzOe+/n2xjvB2XhNjo0aOxZs0anDp1CqG/moV8/PHHOHr0aKuv++Mf/9j+ETLMFYIs20VXXZ29mFyjoRNi44hJUBDdpXpDmqNxNMtkalqbJX7W1dn7OgYF2aNZ4oLbOGLXnUSWQETyxASHxma0YpJDSAiZt0ZG0u+NWy1daZjNdENx8SKlINVqOi5a63wgy+T9tWsXCbdBg4Dly1ufkKDX0/GoUFARfp8+9LO7eqZ5itpaSkNevEj7r7oa2LqVmpYnJdHNUmwsibD4eO++KdBogE2baDYkQIL8rrsoDenN426MS4fjX/7yFzz55JPYu3cvqquroVAosHfvXuzdu7fF1ygUChZiDOMAk4lOiLW1dLEoKbG38BG1QcHBdMGOj+/alJqwdTAaKQ0qZhuK2iyRWhMtcqKjSXD07k3pjcYzDrvLyfFyhNAUgqtxiyURlfT3t0fywsPp8wsJoZ+Bgd132z2BLFPkpbiY0mAiQhUVRcdJS/vGbAZOngzC++/7QqUCRo8GZs1qWUyJG5qaGoo6pqfT+uPju6fI9yQmE+37kycpqqhSUV/FoCCaEanT0XE9cCDtM2+Ogsky8O23wLp19rKFGTOoUXtLtYTeiktCLDo6Gs8884zt7/79++Nf//pXi876DMMQjS8ONTUkuioq7IabSqX9oh0b2/l37KL/ocmkQFkZ3SGXl5PYKi+ncYqIXHS03dohLY1+Dw7uvtEsgdgHQmAJ93+R/gXsKabgYEp5RETQ78HB9kjllRjhag2NhoR7fj4dTzodHedtpQZra6n269gxP8TGBmD2bAvi431aPMYkiSI59fX0efTvTyIsJubKFsAAHdulpfb2TyEhlMI7coTMTCMi6HNKSCDrjtjYrh5x61xejJ+aCjzwAEVJuyNune6feuopDB061FNjYZgeg7goVFfTnX9hIV1YtFq7/YC4GHXWhVuWKbJlsdC4ioooOlFcTJEtk8kXRmMioqN9ERdHF7A+fchzRzjEd3ehZTI1f4iaLYCEgehpGRVln50YFGSf+CDE1pV+cW8NvZ4u/AUFdHyp1bTPoqIoNdgSFguJhb176TXDhwPLlplRV1eP6OgAh8ef2WyfqBIRQW2kUlPpmGVIYJ06RZEwcbPx7rtkYrpwob1sIDeXbqy8odyhJRwV4998MxXje/O428ItIXb99dcDAEwmE06cOIHq6moMGzYMUVFRHhkcw3QXJIlOaCKSVFhIf+t0dMEWM+Hi4jo+xSiK4kURdEkJ/SwttacQw8NpLHFxJLTi4gDAgvLycvTqlQSVygumFrqAPaJHD7OZHmICgMWiQGWlPxQKBYKCSGhFR5PICguzT3YQj4AAriNyFb2ejv3iYvvxL2xEWjNelWV63Z491K4oOZmiNAkJ9BpHxfoApfBrauj7FRMDDBtGNzY9yUfNHcxmikKePEk3hYGBlMrTaimFJ8t0jkhPp2J8bxeux49TMX5BAf09dCgV4yclde24PIHbp5rXX38da9euhUajAQBs2rQJY8eORU1NDWbOnIlHH30UixYtcnugDONNyLK9oL68nE4Oor5LqaRoV0SE59y5HdFYcF26RI/CQhqPaMUTF0e1MQMGkGFpUFDLrXhMpq6P8pjNJKh8fe13uJJkF1aNH+ICLbzRfH1JYPn50f4PCyPxS7VZEkpL69G/fyQiI0loeYONRXdHp6PjraSEjr36evp/RETrPl7itT//DPz4I312ublkwNpahFjMuq2vp2M5I4PeR3jhMU3TkKWldPwXFlIab9w4ErhqNd2I9OtHEUpvjnRrNMDGjcCOHfR3eDiwahUweXLXn688hVuH7gcffIAnn3wSs2fPxvjx4/HYY4/ZnouKisKYMWOwfft2FmJMt0TMfvP3pwu3VgsUFChw/HgQTp5U2lrMKBR04Y+MpLohT58cREpRpyPBJ0RXaSn939+fTqaJiWRkGR9PYsSbT64Ci8UurHQ6ErZ6Pe1DYVh6ucgKDbXbPAQENH2Iz+ryNIVeL8NqNSM6miMm7iDL9s4MIsqqVtNnFB5OKcHWBK7JRCat+/dTjWT//lQkHh7e+vFqMChQUqKAQkHfs+HD6bvGrYybUltLUcX8fPqsjEbg00/pc1m4kD4ri4Wc5dPTvb8Y/5tvqBhfCPyZM2mm7K+mDT0Gt4TYK6+8gqlTp+KZZ55BbW1ts+cHDhyIN954w523YJguwWAgY8nSUhJbRqNIPfqgvDwEvXsrERPT+t2kSJGJuiNnaOy1lZcHnD9PJ9WGBhIjCQkUZRs5EjYHfG8VXCJVeHkUS9g6APbIlxBOoaE0W0s0XRZtlhoLLY58dC5Wa9Nax4oKOh59fEhApaW1fgxaLHQs799Prxe9O1NTW3+d1UrfuZoaBRoafDBggGyzn+AJEU3R6+lcce6cfTbk11/T/6+9ls4rDQ30WfXtSxFLb6akBFizBjh8mP7u7sX4beHWKe3SpUutNvWOiIhAnZhXyjBejizTHWVFBZ3Qjh61F90nJlKkKSNDhr+/EYmJcqsXA+GnJYRYTExzMSbqmqqrqZD2/Hny9TEYSHSkpNAJaMQIuuB5kwARkSwhtERtliTZlxEiSwgpUZMVHGwXVeIREGCvFRJRyMRE775j78k0NNDxW1lpT7tTCyz6DGNj2xZRhYUkvi5coO9Obi6JgtZuSkTXiNpaOpYiI4HcXAlmswZDhkRyNPMyzGbaz6dO0ecVFES/nz5NnmCxsbQ/Y2Opj6aou/NWzGZgyxbg7bfpd5WKivEXLuzexfht4dapPSwszGEkTHD+/HnEevs8WOaKxmAQTaFJBFVV0R2lsGoIDqaLiBBSRqNz6xURoJAQSmlaLHQC1OkoNXPmDAkvg4GWSUmhu9WJE+nvrj5ZivELCwcxu1CYsvr42GcX+vvbRZYwKL08VahSOZeyTUy0i1cWYZ2H0Wi3VhGzaDUa+syCg+lC3lYUymKh6O2hQyS+oqKoTc7kyW1//gYD3fAIa4uMDPpOxMcDkiQjP9/aY+qBPIEkUdTo9GmK2vv7003M/v0UNVqwgPanUmmfDelsVL6ruLwYf9gw4L77ekYxflu4JcQmTpyI9957DzfffHOz586dO4ctW7Zg4cKF7rwFw3gUUWRfXk41LgUFdMKyWu0F9qLOS4gPUZ/kCiJ6dfo03bEWF5PI8/WlC0xmJt2xhoR0TdG4MGdtbFCq09HMQqNRicBAe4Pi8HD77MLGswr9/WFbzlMXSSHgmI6lsZlwWRk9xA2Dvz+liKOj274hMBrpGD90iIRBXByZgU6a1Lb4Mpvpu6fV2sV8bi5FbRrXABkMntjinkNlJd3MiVY+DQ1UB5aURA26dTraZ/36UZo/JKRLh9sm9fXkjP/FF/R3RAQV40+a1HOK8dvCLSH24IMP4oYbbsCcOXMwefJkKBQKfPzxx/jggw+wc+dOxMTE4J577vHUWBmmXVgsdPIqL6dalYoKOvn7+tKXviXvHBHxcQZRTH/mDPU8u3CBLlLCXX7aNHsRfWdhtTZ1gTcaSYAJB3yRFgwJIfEZECChslKDfv2iEBnpZ7N06MkpgSsFvZ5uQETqXZj0iuhjaChFI9v6rIXlwfHjVL9TX0/p89xcYPbstr8vFgsVjGs0dAxGRZFgiI+n37s6EuzN1Nbaa0ZFZH7XLrqRu/Za+r4bDFSD16cPCVtvRpJoJuQrr9DxAPTcYvy2cEuIxcfH48MPP8R//vMffP7555BlGVu3bkVwcDBmz56NBx54AGbRA4RhOhG9nu7yS0roxFVTQ1GAoCC7rYQ7d1uikPjUKXvPNsBeDDtpEr1XR19YhEmpmOHZuKm0SB8KI83ISHtUSxiUNnaC1+tlnDtnRGqqzLU43RirlcROfT0do2VldBFvaLALr5AQijw5c6NhMtHx/csvdIOhVFLqcOpUSlm2FdEV4kurtc+uzMmh9/eWfqnejEZD+/3CBfoM/fyAAweotnTCBPoOG40UjczM9P46MIBqcF94gaKpAB1P991H0dQrEbfLf6Ojo/HEE0/giSeeQE1NDSRJQlRUFJRKJV566SWsXr0ap06d8sRYGaZV6uvpolNQYPc0kmW6u3LXwV4Ir6NHlThwIAZ1db7w96cTSHY29b7rSLd1MRXdYLA/RGG8SmV36k9JIcEVFNS07Q5f7HomkkQCp7JSgfz8AFRUKG3pPr2elgkIoGMhKcm5CR+SRBf548cpuqtWU8QqK4vS6aI5e2uYTCQgtFoSamFhdJFNSKB6Sz4e26ahgW4iz5+nz8DPjyYQFRRQ/9YRIygKHxhIwrZXL++a0OMIrRZ47TVg2zY6zoKCgKVLgeuuu7J9/Tz6sbGjPtOZyDJdMEShfXGx/cQvDCXbe2ISRqnHj1M/tuJiElppaUB2tg65uYEIDe2YM4fZTBdR8RCCS9RkRUbSxaxxU+mgILpAXik1FVciFotd3KjVFOWtrKQLtlqtREVFCBISFAgPp2PD2SbXoivE6dP0KC+n4ywzE5g+naJWzlwkDQYal05H37vwcGDwYNjaZbH4cg6djuq/zp6lm0k/PzoPXbhA4mvwYHtkbOhQuvnydjsPWaY06ssv2xt0T5oErFzp/SnUzsDL9TPDNEWS6OJTWkonJlHvFRBAAqW9YXlJItFz+jQJr7w8Wk+fPnT3mZpKJz6TSUJJidEjJz5Ztke3dDp73YevL10Iw8LoYhgRQWIrJISEl7efdBn3EJ5PWi391GhookdNjf14kWX7cRISAoSHy/DzMyIpSW4z3Wi10rpOn6aaxspKWk9aGhmlilqxtkS9GKdGQ8duYCAdqwMGkPCKjGTx5QpCgJ07R6lkf3+7OM7NBebNs6d3c3LonBQU1NWjbpu8PAVeeYVS2wAJx3vvpW1iCBZijNdjsZDgKikh8VVZSRej4GA68Scnu75OWabIU14eCa+TJ+l90tLI7XvGDM86sAvRpdPRQ5ROioL45GS6eIm2PKGhHOHq6ZjNJGR0Orvwqq21N7A2Gu31fiIaGhHh2MS3pX6MIqVdUGCvM9Jo6AKeng6MGUMRK2eEF0DHsFZrt3gREz2SkqgOsS2HfKY5er0Sp08rUFhIn72/P6Ukjx0jwTVvHh0fskwiNy3N+2dCArQtmzfH48ABf8gybdfNN5O1RncV6EYjfX88vf9ZiDFeidlsbyB84QJFBEwme+Ps9ogkq5XWc/iwfcZXQgIJr+XLSdh56iJCdhD0EI2nhfVDRgYVOTcWXd31xMS0jkgzi2NBr6f0XW0tndDFJIvL6/2Cgyll40pqXUzcEAbBFy5Q2l6hoOMtJYVm10VEtNxv1NH4RSsvs5kupmFhNBM4JobEV3eIyngjWi1w7pwCP/4YCpVKiYAASkeeOkXnpOuuo2MGoDrUtLTuMZvQaAQ++gh4550AGAx0or76amDFCjp3dydEl5O6OgoA1NbSdzgx0bPv47IQO3HihNPLVlRUuLp65grGbKYLR3ExFahWV9P/wsLaV2wvolCnTtlNJgMC6KQ2f77ztS9tIawrGhroSyrLdEENCqJIV3y83YcrLMz7C2oZ55EkOsb0evtPvd7emFqrtXu1idZOCoXdhy08nH66ehyKRuglJRTtysvzQWFhAnx9fREeTqJryBCK7KpUzt9gWCxNhZePj91gNS7OPvP2Si6sdpf6ekpB5uUB1dVK6HRKnD+vRF4embEKAaZQ0LkqNZX2ubcjy8B335EnGF36FUhL0+M3v1EiN7f71FOYzSS4qqqoBEajoe+Fn599prkwtvYULl8SFi5cCIWT+RJZlp1elrkyuVx8VVXRBSssjFIeroovq5UiaT//TDOMtFo6keXkOOdz5NyYFaittbf3USrpyxkZSamDiAjYCqa93c2aaR1hDXL5Q6OxWzIIoSXSzaJ+S1iHhIS4Ht0SiIbvdXX0HSkqokdtLV2oo6Pp7jwnR8LgwVVISopDYKDzKqlx5NZspjEGB9tvICIi6MERW/eQZUrV5eeTCNNq6bxx7JgSeXmRGDZMtqUglcruFQEDqI5t3Tq66QUoWrp0qQnp6YVIS0vp2sE5gaibFCUwWi39T9j8lJWRcK6spO/Ctdd6Vte4fGp46qmnPDqAxnz++ef45JNPcOLECajVaqSlpWHp0qXNxN+WLVvw8ssvo6SkBBkZGXjooYcwefLkJuvSaDR46qmn8NVXX8FsNuOqq67CH//4R8RdFhs9dOgQ/vnPf+LUqVOIjo7GTTfdhJUrVzZ5P1mWsWHDBrz11luoqalBdnY2/vCHPyCXqw3bhcVCB3ZRkV18WSyw3cm7Il5EDcyZM+Stk5dHF74BA4AbbiBx5E66UZYpwiFqeQwGBerq/BAWRlECcbESMxj5vqN7IDoLiNRg44coQNdqm7d4EjRu8ST6L/r5tf9YE83eheAqLqYLgui5GBREEam4OJptFhlJokm8n8kko7xcbjVSJQw/RYpUkkgoBgXRsRwdTcdyWBhPCPEUkkQ3hvn59JmKiPnBg3TRHzxYQmJiPQIDI6FUUkQsObn7CLDiYuD11ykSBtBxc8MN1BsSsKKwsCtH1zYaDX0O4ubGYrH7P168SA+rlUTx0KGUijeZAJVKBuC5k73LQuz666/32JtfzquvvopevXrh97//PSIjI/HDDz/gT3/6E8rKynDfffcBALZt24Y//elPuPvuuzFmzBhs374d9913HzZv3txEGD344IM4f/48Hn/8cfj7++O5557DypUr8cEHH8D311vTS5cuYcWKFRg/fjwefPBBnDlzBv/+97/h4+ODFStW2Na1YcMGrF69Go888gj69euHzZs3Y/ny5di6dStSUrxf7XsDVqtj8RUW5rr4EtYSP/8M/PQT3cmkptK07rlz3YtCSZI9zSgKkgMD6cRI7UIk1NTUIzc3CuHh7X8fpmMQDcgbt28ymYD6egXOnw9CaakSJhNdEM1me/Nyi4VEtOg6oFKRsFKp7CLL19c9oS3ElvC7Ky+nR0WFfcZsY8E1YQKd+EUhvSvvLYSmSJWKXqfCb653b/sNBNcoeh6RNs7Lo/SW1UrC/uBBEsPDhtGDIi8yBg+WkJFBN3PdgaoqYPNmaksk6huvuQZYtsxuR+GtramsVopsFRfT91CnIwHp60uf14UL9D3MzqbriSzbU5N+fnTz7ekbFa+qVnnppZeaeJGNHTsWdXV1eOWVV3DPPfdAqVRi9erVmD17Nh588EEAwJgxY3D27Fm88MIL2LBhAwDg8OHD2LNnDzZu3IgJEyYAADIyMjBr1izs3LkTs2bNAgBs3LgRkZGR+M9//gOVSoWxY8eipqYG//3vf7F06VKoVCoYjUasW7cOy5cvx7JlywAAw4cPx7XXXouNGzfi8ccf77T9092QJLv4OneODn6TiU7+rqYdLRY6oR04QLOJZJkMJmfPdt4vqaUx6nR2A0xZpi9heDh9EYUjvZgNRu7zFk45diIWS1NRdfnvjWceis4CQmBZraJvqBLV1YFITFQgKIhOuiJtKESWu0iSXQAJj6/qavopxJY4vqKj6dGvHwmuwECKsrXnOBZ1XXV1PrBYFFAq7XVogYGUuoyMJMEVFkbvz5HbjkGrtc/urq6m/5WW0g1jaCiJL39/+sxCQoC+fSVYrRpkZoZ3ix6rGg3w3nvA1q32mbqjRpEA6927S4fWJjod3fgUFNBnI2p5y8tpkoSPD0Ukr7+ezhuyTN+h2NjmaXohPj2FVwkxR4aw2dnZeO+996DT6VBbW4uLFy/i0UcfbbLMrFmz8PTTT8NkMkGlUmH37t0ICwvD+PHjbcv07t0b2dnZ2L17t02I7d69G9dccw1Uja6qs2bNwrp163D48GGMHj0ahw4dglarxcyZM23LqFQqXHPNNfjyyy89vQu6PZJEF53TpwNx8iS5fBsMrrvbixlgp0/bU44REfRFueMOWl97LiayTF9IjcYuvIQNxsCBdHEUBcl8seo4zGZ6OCOuhI3D5dErwF6P5edHJ1I/P9iElvgfQKk7f3+TUz5bjpBlegjvrJoaOplXVdl/itmPvr50/ERG0nGVlQWMH0/jErMV23NsCZHXOKUK0Dp9fBTw95fRp4+MuLimvnNsJ9GxCGPpwkKq/6qvp31+/jx5Z6WlAZMn03GtVFL9VFoazdi2WmUUFnq48rsDMBiAjz8Gtmyh4x+g8o/ly+mc7M2IdH9hIZ33/f3pPHLsGKUjBwygG3pZpu+l6EIRH0/Xg86YFexVQswRP//8M+Lj4xESEoKff/4ZAEW3GpOZmQmz2YzCwkJkZmYiLy8PGRkZzSYK9O7dG3l5eQAAnU6H0tJS9L5Mxvfu3RsKhQJ5eXkYPXq0bfnLl8vMzMRrr70Gg8GAADduZfSiD0k3RhSilpQokJenQGGhhOLiUCQnW5CQYERCgn1ZcfFwhIhOHTmixMGDStTUKJCcLCEnR8L06XQBFR+pKy1MRXG1TqeAJCkQGCgjPJwuWhTxkpsJu5bC6uLz6gmf2+W4u21Wq11IkbBSNPm7oUFhE1c00UFhE1iNZxQKcUUP2SaqRPrAWesFq9W+XtOvt+/ip6CxwLJY6CJaW6tAba3C9nt9vcKWpgZoHKGhdAyR0JIxerRsizSJiNTliBRHW1gsjVOrtI8av7e/v/24pa4KMnx9DaitVSMpKRgBAfbb9Zb8xboThl+/jAYvy3WZTEB5uQKXLilQVqb49ZiWcfy4D4qKlMjOtmLGDAk6nQJqNX1eycl03gkIoGPT+OsJ0djaibELMZmAL7/0wZYtfqiro4M6PV3CrbeaMXy4BIWi5XNlV24btelSoLhYgdJSBYxGqusqLlbi7FklwsOBIUOsv/qB0U1McrKM+HgZ0dFyk4CBo+3z8+viGrHO5KeffsL27dvxu9/9DgBQX18PAAi7bC6v+Fs8r1arEeqg2jE8PBzHjx8HQMX8jtalUqkQGBjYZF0qlQr+l4VywsLCIMsy6uvr3RJiF0W36G6IVqtERYUKhYX+qKz0g07ng8BAK8LCrEhPlwCUoaqq9XWQ+FLi5MkgHD8eAp1OifT0BuTm6hAdbbbdzYswvzNYLAo0NCih0/nAalXA319CcLAVcXFmREZaEBZmRXCwFUqlOJnSwxWKiopce0E34vJts1pJNJlMSphMCpjN9p8GgwJ6vRIGgw8MBgWsVgUsFnpYrU1PVD4+Mnx9Zfj4yLbfxd+OIqXCdFd4cbmCEFhWK42voUEJrTYAhw8boNWa0dCgREODD/R6H9s4FQogMJCOjeBgK0JCrEhIsKJPHysCA6VfBZbsMKIlarGchQQo7UOzWQGzWQFZppUqlTL8/GSoVBJCQqyIjqb3DwiwP0SkT/SaFOMvLS11bUd1I7xl27RaJSorVSguVkGt9v31RtQXZ89S6KRPHw1GjLDCalVAq5UQEWGGr6+E2FgLGhqUKCiwIDCwaRTM26yeTCYFfvghHF9+GQW1mmRCTIwJs2dXY9gwDZRKKjlxhs7cNpr96IeyMhWqq31//W7LyMsLQmWlCpmZWowebYAkKQFY4e9vRkKCGVFRZvj7yzAaKbXcFr17WwF4LtTstUKsrKwMDz30EEaPHo3bbrutq4fTYaSnpyPQkxbuHUxDgz3yVVysgFqtgL8/RQVCQuhiYDQaUVFRgbi4uGYCFrAXLB88qMShQ0oYjUD//hJuvFFCTAygVAYDcL5qVVyMtFoFDAaKniQkyEhMBOLjZURGyjYTS3fR6/UoKipCcnJyt/rcWsJspjs+kwmoqzOioKAcEREJkGV/aLUKW+0ciQVaXpLo5CYECfnryDaPtMZpQU+ldxtHrkThc309RRrUagU0GvvvjaNXgHClt0Kh0CE2NgBJScpfU3eyrUbMHslSAnC/cp3Eq33ygNh/NC4FfH1lBAfTnXVICKUyQ0JkBAYCAQGyzfzX2bSiwWBAaWkpEhMT3box9Ea8YdssFop+FRZS9IvSczLKynxw/rwSKSkSrr7aCoVCAYUiDJGRMlJTZcTF0UzWqio6FqKjKTUp0uNtnSs7G6MR2LHDFx995GuLgMXESFi0yIKpU63w84sAEOHkujpv28xmoKJCgYICBaqqFFAoaB8fO+YDsxkYOtSKq64CFIpgREUFIS1NRkKCjPDw9p2jfH3PenT8XinE1Go1Vq5ciYiICKxZswbKX89G4b9OU9NoNIiNjW2yfOPnw8LCUFZW1my99fX1tmVExExExgQmkwl6vb7JukwmE4xGY5ODSa1WQ6FQ2JZrL4GBgQjycmtqg4HuEi5epFqtujq62MbE0GzFlg5kf39/2z6zWCh9uX8/zXa0Wqm24JZbqJZGoXBNJQmHcuG7ExxMLVt69aKTXVRUx3p4BQYGer0QE4a2jc1GxU8SLfS3EAt6vQ8qK0MRExMIlUplmyUkjAzF754y8xTCSkS+hAmqGJtabf9b9FcUx5rosSjqoGJiyIJB/E+IQJEmNJstKC9XIz4+sElNaHuwWu31ao1nXjZOl4t6NT8/u5FvaCh+FVpNf3rSHDUgIAABAd59XLaXzt42WaZzXVkZ2U/U1totRo4coe/RgAHArFmA2axEYKAvEhPpHBQb2/RzFQX6YpLI5fj7+3fp56bXA599Bnzwgb0pd1wcsGQJcM01Svj5tf8705HbZjLZr01VVfR9r6+n+q+ICGDcONHRxAeJiXSNSEhwf5Yw3Yx6Dq8TYgaDAatWrYJGo8G7777bJMUo6rTy8vKa1Gzl5eXBz8/PZiXRu3dv7Nu3r5mhbH5+PrKysgAAQUFBSExMtNWANV5GlmXb+sXP/Px89O/fv8l7JiUl9bi7T4HZTLN9Ll2iotPaWvp/dDQ1wnbm4mE2U0px3z46cSmVZDFx++1w2frBYrGbaAqvl/BwOhHGxtKF2Mv1bIcgDDlFakx4ntXX21voCKElZvqIu0UhFEJC6G9JkqFSOdc4uiWEsBLO72o1ndjr6mg8dXV2kWWPENnFdHCwXUzFx9OxFhZGokWptAur9ha8tzX2yycFNH40trcQMy39/Og4FGMWjvmNf/IM2+6FXk+lCoWFdnsDg4Fmfufl0XGZm0ufryyTwE5JoQt8Sw74VNvXqZvhFFotCbCPPqJzBkDbsWQJMG2a93YBESnEvDy6NimV9FkdP04TIWbMoGtUeDiJr5QUujn31glYXrWbLRYLHnzwQeTl5WHz5s2Ij49v8nxKSgrS09OxY8cOTJs2zfb/7du3Y+zYsbY73YkTJ+LFF1/Evn37MG7cOAAkpE6ePIk777zT9rqJEydi165dePTRR+H3q0Tevn07wsLCMHToUADAsGHDEBISgs8//9wmxMxmM3bu3ImJEyd23M7oAoQrfWEhnXSEy31kJEUb2vpSimLkoiJg585IFBb6IjCQTlp33ulao1RhpKpW04lQqaSTXFYWzWgR5pPePCNMpPyE6Wd7aBzVEg7oQmjV1TU1JJUku0ARZqNUWO5cm5vWGkc3jlyJSJUQVUJk1dc3nYyhVNojVqKnZmqq3UbB379p1KojTpJCXJFAVdpO2kJcNZ6GLtKsIr0qIlZCIIr96e/f9HdvPgYZe9cDMeHDERYL2YyUltL5T622ex/+8gt9N9LTgbFj7d+p+HiKfjVONXYXKitpFuTnn9v7WSYmAjfdBEyZ4r0CzGCgGZAiM6NUUrDg7Fm7nZFKRdeHzEz6fLqDN5tX7e6//vWv+Oabb/D73/8eWq0WR44csT03YMAAqFQq3H///XjkkUeQmpqK0aNHY/v27Th27BjefPNN27JDhw7FhAkT8Nhjj+F3v/sd/P398eyzz6Jfv36YPn26bbkVK1bg008/xcMPP4ybbroJZ8+excaNG/HQQw/ZRJ2/vz9WrVqFNWvWICoqCllZWXj77bdRV1fXxPS1uyJJJLiKi+lgLi+3e305Y7QqLs5FRcDevcDJk0BQkC9SU61YudKC8HDn8y6Ool5RURRFi42lL1d3CUAaDHRSNxrpxJ2Y2PrYG/f4E4KrpoZONiKlKISSLNsvKv7+JEhVqvaluIT3lbgQXbzoj4ICJTQautOsq0OTmisxvTskhC5GISF2J/DGkSshsDyNqBET6UEx47LxT6DpeH19AVlWwGpVwtfXniIMCrJHrESE0N+/6U+me2M02j3c/P0p3SbEmCTRMd7YW0rUH548Sd/fjAxg5Ej6XgYF0TGRnU2irDv0f7ycixeB998HvvnGPqM4LQ1YvJgsNry1h6heT9eYixftqdPz5+nvQYOAOXPou5yQQAIsKal7fX+9Sojt3bsXAPCPf/yj2XO7du1CcnIy5syZA71ejw0bNmD9+vXIyMjA2rVrbREswXPPPYennnoKf/7zn2GxWDBhwgT88Y9/tLnqA0BaWho2btyIf/zjH7jrrrsQFRWFBx54AMuXL2+yrpUrV0KWZWzatMnW4mjjxo3d1lVflukEVFxMka/SUrrYhoa2LRjE681mqpvYu5cEXGQktYCYOhVQKCwoKWlAYGDb+UfRIFmvpwt3aCiZXCYm0p1mRIT3hpNbQ/hiRUTQicNspv1qNtOJXpjIajQkhEUdlMFgj9I0FlsxMa630BEiy2wmUSc8r4TAq69vaqcQGOgLH58QJCTYexhGRJDYujwt6CmECGxNXInlxHv7+NhtLBpHrgIC6GLZWFgJd3xJsqK4uB59+0ZekSnsKxXhVRceTse76KpQWUniq6qK/jaZyIQ1L4+W7d+fLvCyTN+/hAT6f1xcxzirdySyTCm7LVuAH3+0/z8nB1i0iISmt0Z1dTqKUF68SJ+fLFM/y/Jyamqfk0Pf+eRkMpSNi/NeMdkaCln2dB9xxhl++eUXmEwmZGdnd1qxvlpN4uvCBbq70GjsLt9thW9FT8cLF0h8nT9PUarhw6lOq/Hdh8lkRElJCZKSkqBSNT1jSZI96mUy0QU0IoLuyuLivD/qpdfrce7cOfTt27fVYn2dzl6/YDbTiVuk70Q6UYiLy+uKnD2RCKFlMNAFRTyqq+khUg4irSucocPD7T0FRSSNCtqNKC8vR3x8fLPPzVlExKqxmLr898YolcKQtKkpqxBVYpKAEFaimXbjiQTOpFEMBj3y8/ORkZHRI4vZe/L2ubNtRiNdtGtqKKql19N3UjQ5v3iRbkYDAiiSEhdHx3BgIJ2LROG9SGe3VGzvzrYVFhYiJSXF45+bxQLs2UMpyNOn6X8KBZkLL1pEYrMjcWfbGhrsAkxkSE6coN+HDaPPJCyMSh1En9TOvGGXpGPw91cgJyfHI+vzqogY43kaGkh85edTLl2ttufQk5JaP3iF+Dp9msTXpUsUJRk+HJg3z/k6ApOJ3lejsRe3ZmTY6yvcbczd1RiNFN1Sq+mnEENiVidgrxMLCCAR5GxtkRAwYvZWRQX9rKqi/SrMT4W4ioqyt2YSDvPuRrEaF7E7eohlxPuIaJUQVsHBsNkxNE4FOhJVnpyVyVy5yDJ9/6qq6NxXXk43LEolRcLOnKHl+vShJuoi3R8VZT8vXd5do7tEwWprge3b6SH8F/38qBfkwoW0fd6KRkOfT0GBPUtw/DidZ4YPt3eryMigm/eIiK4esWdgIdYD0evtU3pFTt3Xl04ybfVlFEXyJ04AP/xAIi4lBRgxguoInLlIUoG5EmVlCttdJDkZU4g/NrZ7FFA6Qq8n88YLFxS2+pP6errDNpnsQiQwkE4aiYlt77PG6cPGzaCF9xBA4jUqii4QAwfSPgwIcK9lTmMbBlHQXlXlB7NZAR8fu12EUmkvYBcCKyzMXmclitcbpwJZWDGdjSTRd7GqiiL+VVX2yFdhIUXzLRaq7xo/3v5dDQ+nm9LYWHjMb7ArOHsW+OQT4Lvv7OeNyEiy15gzh373Vurq6DMqLLSXbPzyC51bhg2j842YsZ+S4trEr+4AC7EegigOLyigE46YHRYVRSH31k4uIr115AhZTVRU0B3HuHF01+HMiUmkHEmUKKDV+iA5WUbfviQeRI1Td0LUr4nC9fJyoLraB4WF4YiIUNqiXIGBdBJv3ILJEaJ5dVkZCeWSEvrMRAuNsDC72MrNpZ8icuZqxLAlnyvRzFYIrMY2DCEhQFycCb17y7a0paOHiLIxTFdjNtN3U4gvMbnEZLKfCwESX2PG2FPh4eF0kxQbS9+57iq+zGbKVmzdSrVTgv79KWsxYYL3nndFa7zCQvrstFr6LE+csHuAhYbSZ9SnD9WBebl1Y7thIdaNMRrpon7pkr0eSZbpzscZ8aXTAYcOkclqTQ0d7FOm0AHvzIVfWBmIlGNICBVMRkdL0GjqMWxYdLcpjDYY7P5WdXUkkNRqEmPCQyowkPqVRUebkJrasteW1UrrKyqiR0kJiVuzmT6TqCg6uaSlAaNGNS2Gd4bGrX/Itb2poagoaBcRKX9/OiYa2zAI+4XGP81mCfn5DcjIkLy6To+5stHpKOVWWUnfLVFv2tBA4uviRTruMzJIiAhbktBQinyJcghvtWhwhpISYMcOYOdO+yxCX19g4kQSYP36denwWkXM1C8ooO0Qvm2nTpE4njTJ7iPYty+lUrubPYirdOND8cpEiC8Raq+poQtzRATd9bV2chGtgA4eBA4cIAHVrx8wcyalDJ0RAiJKpNPZ7yxzcux3l8HBgF4v49w5q9dGTSwWuxdWfT3tz7o6OpGbzXbRFRRE+7XpRAR7bz+RUqystIfVi4vpM/Lxsc+wGjiQBG5jawdnxiiaZQvBJeqxGvtdqVQk7IShqJhl2bj4X7TwaQtXGqkzTGdBLdF8cOGCAjU19H0TjeOrq0l4VVTYi7eplQ0d/2FhdG4SvoPdWXyZTHTTvH07ZS8EkZHknzVrFp0LvBWLhT6nS5fsNXvCNql3b2D6dDqHJSZSUMATDvjdhW58WF45GAwkFgoKqPBUiK/wcIqqtHawShKJjgMHaOqyXk/F3Ndfj1/7Orb+3rJsNxA1GOjkFhlJ4isuzp6S81ZkmUSjsGuorKSTQUODPSUoZui19sW3WGg9588rcPJkGNRqX/zaWQsREfTatDQyfAwKck5wWSwk2oTgaux+7+NjF1Hh4fYWOaLgX4gsV2ZZMkx3QJbpZqeujiInhYVK5OeHIThYCUmiKHN+Pn13RNuagQPp+yZunhIT6TwVFtb9vx9FRWS8+tVXdvd7hYLqdmfOpKi6NwvMxpkbYReSn0/blZVF2xAeTpmYjIy265h7Il788V3Z6HSUHisqsqcdAbvVQ2viy2ql5ffvB376iS74gwYBN9zg3DRfq9Ve72Wx0F1KUhIVScbF0V2Xt35RLBa763tdnT110dBAIsfXl6J2kZEkZhztC2EsKyY7FBTQ5+HnB8TFKREYKGPiRAvi4nzg69v6vhBRM+F+3ziyJcSWSmX3TBMzDBt7Y3nzSZZhPIFeT9/X2lo679XVkRgzm6nZ9rlzIdBqfREQQOehkSPtk0eCg+mGUBTbh4R0/xrGhgaynvjqKypaF0RHU/ueGTNIsHgzWi1w6ZI/zp1ToqGB/j59mrZt0CCavCWuZ+npnW9B4U3wKd6LUKvtdw4FBSQoFAq6W2irxZDVSpGe/fup7kuppKjV0qVwqsO8qPcSUZ6wMMrPJyfbPVu88UsiTuB1dbT9FRX0hTcam6YYWyrIFdYQwt6joIBeGxAAWwPfoUMpGqVUAmazFeXlOsTFhTaJBEoSiazGLYdEUbyoyRJeXqGhdo8s8ejud+0M4wrie1tf39Tny2Si/xcX00OW6eYnPt6IYcP84eensqUcxU2h6CzR3bFagcOHgV27aMa6aBemVJLwvPZain5587lCkuizLCoCLl3yQWFhEGRZgXPn6KYzJ4cEV3Q0pSNTUrpnhwJPw0KsC5FlSpWJ6IuI3vj60smld+/Wv3RWKx3wP/xAd02BgXSgL19OF/u2hJPBQCfChoamFhOi3svbCu1FyqK21n7nXFtL4xc2GcHB9CUXfQwbIyJdFy6Q8CoooBN/UBBF/Hr9//a+PEyuqkz/rb3X6q7eO+nskM5CVpYISQDDGgwy4gABHBgY1yejI+oM6PyAYcQZ5NFBR0VxFIdBHTdwNICMYBhRSBhHIlEWsyed3tJ7dXdVdVVX3d8fn2+dU7erekt1V1fnvM9zn6q6devWPXc55z3f8n5zpaMrLs583i0LiEYdCAZVtikJl66CrxMuLvk6WIynVp+BQSYwvIFxmW1t8kqLV2+vkLHmZnmeWNVh4UK6+BMYGophyRIrWe2huHjmWuUnitZWL37xCzd+9Sul+wUISbn0Uokvra7O3fGNB9GoqlPM0I+mJgf27y9FQ4MTGzfKdaupUSWIZmsG5GRgiFgOEQ478eSTLsTjKrNtLP94LCauypdfFlHC8nIhTx/84PjU8RnvFQ6L1aeiQszEMzHeK5FQ1i6WZGKiACDHSrep3VrIrNDjx+V8HT4sHb/PJ1a+efNS47nSIR5XdR6Hhihg6kAw6EZpqQOBgJy/0lI59yRcsynAdLRafQYG6cAyXsxAbm+XCRBlJShO3Nws21ZUyH11zjlKr45W7KoqoKAgjr6+fixaVD5rsnnb24EXXwReeMGHw4cXJtf7/ZI1eMklEj81E70QOnQvDt3JBw+KVWzxYmDDhj4sXhxIuh9ra02oRTqYU5JDJBIy+xtLaG9oSFJ7d+8WS059vehMXXHF2IOiru8ViwlhqKuT7CKa9meKqZvxXT09YilsbZVjD4eVm7GkRJUcIcRKJR0C68V1dMg2tbXS1quuEtKaKYieNehIuixLxXAVFYm1TLKuEujqCmLZsvJJm9TzycJkr9XHck0GBoD0L4z/oZJ9d7eQLtZO7epSIsWJhBKW3rAhlXiVlwvxYnIK77NIRFWoyGd0dQG/+pUIrirNLydcLgvnnJPAFVe4cO65M38iNzws17m5Wcn8nDwpfa/PpwSnS0steL0hnHuuH3V1M59U5hKGiOUQLpeV1v3HTL99+4R8tbcLmVi/XrIdx3pQM+l7zZsnD8h4YsamA3RL9PSo0j39/TLwO51CGsvKMOIhlnR2mXkdPChWr3hcOviGBhFurK5G2kB6Uf2XhcV+AaWnVVkpgwGtXCUlQgD5/5GIhWg0PmnLYb5ZmEgW+/pUFqfB6QmddOlZjaGQCg/o7ZVJUFubbOP1yrNYVSV9ELXtWHmCzxozgmcbensl6P6Xv5RSPazs7HBIGMnGjVHMn38cy5fPnfE1Qvv7lfuxu1uuL0NqFiwQ2ZBAQPq0xYuBQCCOtrYwAoGZMd7MZBgiNkMQj8uM6f/+D/jtb6VzW7JEzNQNDWNbrRjvFQqpIs+rVgmJqamZGSWF6JagSj07a+pulZaOLPpN8dL2diFdBw7IefJ65bwsXCgdADW6dJB0hcOyUCeLGltz5sj/UYOrpGTqXbP5ZmEiWcwXC55BdkD34uCgLIzLDIWUi7GvD0ldLz2ru7JSrCIswUV5GGp5lZZOz7OWK5w8KaEju3dL7C4laQBgxQoRXd28Wc5HJBJHU1Mi887GAEMmsl2MnIjFhGy3tEh/HQxKX3zkiPSvjY2SzFRRIRP9efOEXLtcSh7IYGwYIpZjHDjgwN69Yqr2+eRBveGGsQthZ4r3WrlSzP4sj5NLRKMyi+ruTiVe0agM6kw714+Ts+4jR4R0US8oEFBijVVVI8vssEC5TrosS2luzZunhE9p7cqFdScfLUxMQjCYfYjF5HkZHBSCNTAgE53+fmU5ZhkhZiZTy6qsTJ6pRYuk3yEZ8PlUAXpOcPI9uH40wmNZEiO1e7cQsAMHUr8/80zgoouEgNXUZPeYurqUdZ1JSqcKy1JJFc3N6tofOybXf9488TpUVspYs3ChTPhnW/3H6YQhYjlEMOjGs886sWaNWL50F1g66Ppe8bgSIZ0/XwhNZWVu473YYbe2OrB3bwlee82ZFCol8aqtTZ0JU2354EFRWG5rkw6bWVPnnJO+E4/FUuNQANlvYaHEc9HSxdn3TAkQnU4L00Rj0YaGpE4o5TsMZgd0y3AoJK/MPqZFmqW8WG2iu1sG+VhMnr3yciFeS5aorGKSLhak10lXPkwwxot0hMftFk2sPXuEfDU3q+0dDplQX3CBLPX1U3NcFIT2+8VSNTx8av1JKJRaMD0YlBiwY8ekP1i6VOL6OCmeO1dZv2YzLEtNVgYH5f2CBdntu2fI8HR6oqQkjptvjsPrzXwZhobkgRgYkAe8tFTpezGwNVf+9+Fh6cy7u4VMMbg+FHKip8eXVEnWiVcsJjEGf/yjEK/eXum8588XEzfV7XXiFY9L+2ntsizpCAsL5RxQ54yka6YPAhOxME02sH+isWjcvqvLA79fKfcb5AekvqkDPT1KViUUUtqAnLBQ6663V03qenpUrGRJiQqaX7hQVW7gPVtWJgNxUZHKFJ6tLkaChMfhkGD7AweA116T80d4PJJAdcEFko1dXj71x0XrXDAor5OZbLJMVGureC16e+XzsWNCOhYuFGteZaWa9NfVzW7piUhErm0wqArKc9Ifj8s2c+dm9z8NEZthoMuR2YJut3R8Z54pD0B1de4egnhcHlS6Gkm8olHprEtKZMB3OCz4fNFkZ3T4sMweDxyQtgUC8oBfeqnK2iSZ1F2MoVBqwe3SUgkCZZxJaensJgunEtg/0Vg01rMsKUkk61vO5nObbyAZGBpSmb2RiExQ+vuB3l4nWlvLUFrqSsZVcgJHCZj+flUQvqxMnp/qankWWWWChKu4WKnUU3y4qGj2Wz90WJZkAu7eLZavw4dVsD0g5+bss4V80XI/naB1bqIxYvG4mjy3tEj/IKWkJN6vvl7iixnismCBjD3l5bMz6N4uCs5YyHhcDAKscKLXKs22h8UQsRkACo0Gg8rlWF0ts4+qKhUTNd2gjhcDcik4G4mo4Ho9xiuRkAHi4EEHfvvbMnR2uhGLqYypd75TBgDd2jU8LIMFZxyAKu+zaJFyMfr9cl5mY0eQCacS2D/RWDSPRywbAwNOVFfPfKvibAGlV/RFJ1zMUKRllK8Mpu/vl9e+Phc6OsrhcLjgdKqsY7rna2oUkWKxeBIuv1+V1uIy261cmdDVJer2r74qr0xCIBYuFPfcuedKzd5cE9PxWtc5iabsRE+P9A1NTTKhLiuTQtsXXKAC7znxnylhHdmCnq3f1ibXnMSLz0RdXXptymhUxkAmfmULs+wU5xcSCeDIEQd8PukMGxslky9XLsdEQrkq+MAGgzJjcDqlU9ezGhMJ+e6Pf5Tl6FEhVjU1TgQCcWzePIxAwJUkXrR2MfOKMzlmVNXUyHnw+2dWXNd0IJ0L8lQC+ycai8btg8HYjJfUmOmgRYpWRvur/gwwsYTfDQ/LK2UiqKHFz6xTCiiiJbGXFioqQqipccPrlRqoJNdFRSp+i8krnOXnmkjkGqGQZDaSeB0/nvp9QYGETJx7riwzXeFeByfSXV0yiWbmK/W/3G6J+VuzRvpfVheprp59MaIDA8oKSJkkTmzpjuezYFlKIqmlRRZ6f6hIcNFF2R2cT6OhbubB4QDOOSeBefPkQZhul6NlqazGri6ZHTEL0+FQ7gnqeMXjMiC8/roQr6Ym2c/cuWLx2rhRHuDh4Tja28MoKvInBxyWAuIgsGSJzLzoIpnNMQdjIZML8lQD+yea7SjitZYhYRosixUVFGGKxUZ+DoeVSz0SSf0NX6NRpbmlZ/gyEJjQa6TqtVKLi4VYORxKj4v3hdebQH9/CAsWlCTFUBnndzpNaMZCJAK88YZoNO7bJ/0Y434AObdnnimajevWidUrn6yDJBDpyFdLi9wLCxdK2aSqKunb586dORJH2QKNCp2dQqI6OuTZY5y1XkUmkVCxy0ePSnxcKCTPXkODeKY2blTJcGJttgBkj4yZRzSHKChIYO1aa9pICGs1dnfLrODoUVVoFxgpoMqH+rXXpMPiLKqhQczYW7ak1nQcGpLtg0EH2tu9iMUc8PuVyB8Vs0tLT++ZuN36NZoLMpvSEfmk6J9NsKONRBzJ2EsSJfvCCgu6izAeV9/zvQTHp1Zj4EJLVzgs/8/ngwkmJEjMOKTOFl2KJFi0arF0Fl2GQrzUq8cDRCIJNDVFMG+eNeusGaeCwUEhXr//vRCvAwdSiRcgMVHr1gn5WrNGrkk+gUK6DLrXS8KRfC1YIGWTGHTPZK98a+toYPJYR4eQqt5eeTYLCpRGpdOp+oNDh+R+OH5c1tXXCwnfuFHGLE5gGHIzOKgSXhYtyu6xGyKWQ0yH65Fp6l1dqbEBfX2q0HdNjSr9098vgrJvvilWmsJCmUGtWQNceaWakTMzi/51y1LyEfPnW6iuHsTy5eWoqTm9rV12pLN+TYe2WL4p+hOJRGYipL/yfbp4KyFhLpw8WYayMhdcrtTfkEjp5EuP02LnC6Q+s17vSELEUj2FhcoaxQB5EiuXS7bX3YT8PfepW7xOp7jIU4FlyT3+5puyvPGGDLa6oCog9/6qVVJjd+3aqZOXmEoMDal+va1NxX+1tMg58HgU+aquljbPRvIVi8k5IPniRLaoSMgUJyWUSdq/X+6JSETOx8qVwNVXyzNIkhYKibEiHFaknc9qRYU839me7BgiNstAFWyaplmKApCbhzElHCiOHBHidfy4kLCyMnmAV6yQNGxmizidcoNylgGo2o8LF8pNTzdjPJ7AkSNDqK01s3M70lm/mG06lrVqLIvWaN/nQtF/NNKUbr0eR0VSxO/TLdzWTqT0fah9uRCJVMDrlZhFZr/RAqWTH91aRcJESRWdVLlcqQRLJ1c6keL3+nI6W4SzhaEhsWiQeL355sjgekBlAXKpq8ve/0+lqr0OZtPT4nPypFK5b2mR/t7vl757/XohDPX1slRVzS6xVUputLeL5llfnxAoCoR7vSp++dVXVTWWQECI1623qjGNlq7ubqWZp49rFRWp5e7ozmxvz26bDBHLc+jlR5qb5YYbHJQbkcSLEhGxmGzz+uvSaQ0MyA02Z45oxTAdGpAH3bJUnEFhoWxbVaXcjGVl6cVW7aZ/A4VM1q9MLkgSC8sSEqxbtABFvIDRLV6TsbrZiVO6hdvQgqSTH50wJRIjSZXd+iSWKzXA6YTKbtUA5L6zW4+4ML7R7aY0QxwDA/0IBMrhdrtSSBTjPvT90crFz9w202KI1dQikQBaWhw4dkyRrsOHR/Y1LpcKnVi7VpapCLCfKlV7HRTY7e0Vqxc1G9vaVJUSyo9s3qzIF2UnZpMnYmhILH4kX3od5fp6eQYpy/HGGyIQnkhIAtyVV8oY5/HIfgYGxHo2PCzPd0mJuBpraqTPYLLYdFaCMEQsz0BXY3e3snilI15OpwxgR49KfBfNsZWVctNdfbVSyO7vVyVOOGgODanYgiVL5MH2+2fXw50LTCQAX3cnxuNyXaqqpHNmJh0HgqKizBaveFw6LV3+g6rpetB5f78Tx44V49gxZ0qQuk66SKzsJIrWLF1igevTkShgJIlyu+V/KL3AJA6Kijoc8h2Jk51EuVyp1i2+yn4T6OgYQENDKYqKPCkkTH81bsDcIx6XgfLgQem39u/34tChJYhERrLdQEAC6pcvl36tsFD6qUhEBt+pCkDPtqo9kFq2jhafvj5VRJ1WmPp6IZhz5khfT5djRcXskp2JRIR8tbXJWNffL32J3y/ngMaFY8eEfJ04IX3GmjXAe98r27EaTWurbOv1yjbLlkk/HAgI+cp1QoYhYjMYzGrUiVdPjzyszEDUiVcoJLPEP/5RXI7xuMyOFi0Crr1WbkCnU9br5U6Gh+UBDgTkoaZvnZpC+RBLlE8YbwC+7k7s7JRrx9i+UEg668JC6YCKi2VAOHxYftvaquKfSJJ0Cxddesz2k/cu9PYG4HS6MTys6gzqYruAfE5HokgsGYBOMkTrE8mT/qoTKNYZLSuT46NLhb/XF901qO8vEyIRC05nDHV1xl0+kxCNSljEwYNqYX1ZBSFgXq+FRYscWLZMkS8RkJatBgak7+vtlftvKmO/sqFqD0j7e3rcGBpyJIPsaQFrbZU2lZcL6Vq8WJ6Hujqx9NTVjdRlzHeEw4p8NTcryYjSUjkHDods84c/KFf03LmSbHH99dLfUBC9s1P6B79fzh2JayAw8wirIWIzCMxSpIgqVY+Z2q67BwG52Vgq6MQJuUnnzhXidf75KgAxFpN9tLdLB+dyyXeBgMwM6GacbnOsgQKtkLpFiSb0vj65Lj5fahYfXSOJhHzPGoJ6jBXJtmWlWntIpvTF5bLg8yUQCCRQXOxKujB10mNf7BYonXiRMOnWq3QL77npcPcY5AbxuPRnR48qiYCjR2VdOotpQYFY4s88E5g7NwqfrxXnnluDQCCzSd7hkEG3pkYmEVNp3Zysqj3djcEgXW0uHD1aikjEha4u6ffdbplAr1kj/XkgIEs8LkKrQ0Ozq8j2wICSmWhvVxUg/H4xDDgcMibu3i1j3fCwENF3vEPOTyKh6mImEkqXcu1aGSt17cuZCkPEcgjLErMzTbCcAVHHi0GD1dWybXe3pGDv3y83rM8nD2ZjY6qUBAfg7m55eJnNRbE+v1+IV1FRrs9A/mEyhbEZ+0SCFAwqQVuSZN1yxQDSvj5xTXJbQFmyEgm5JyxLiIwuicDsVb9ffsNagWVlSsSTBIkkStqSQE9PH+bMKUBRkWdEQLrdlZftuKjJDm4GMwfDw2LNOHEilXCdOJFZjbykRGK6liyR1zPOkL6KwdTNzXE0NSXQ0yN9Vqb7wu2WierQkLxOtX7aeCzbrJrCQuodHcpV1t4OdHS4EI36MWeOAwsXAps2Cemqq1MxS2Vlcu70GNCZZtGZCCwrVeuMfRytV/PmyTatrcArr4iFtKBAiCkD7SmVdPSonIvSUkkwq6vLfQ3mycAQsRwiHHZi1y4ZzahcTwHV4WF5UF95RRXHLi6WmK1zzlElGFgZvr9fbmhA6RItXSoDG9Xqc+0Hz3ekK4ztco2UO6BYJ8vTkGQx5byzU62nDAhTpen+0zvbggK5dpWVKm5KDyKn1UonY9Qn6+uTeyocllm2358afK53VqJFNZRTLaps6qYZTA0SCSWH09wsJIvvaZVIh4IC6b+4LFyoMtMyDZqcrBQXJ5IxjZnuj5lA5KNR6YsplN3ZKROvkydl6eiQ9lDJft26OIaHu7BiRSUaGtzJmCU70TpVcedcgxpfeomlcFj6Mb9f7oHhYSFdb7whZL66Wqxa27ax/BrrqiqRYyZj5Lv13BCxHMLhAGpqLBQVyU155IiKkYhE5IGkFgwzH4eHVXzQ0JBKty0rE+LFrI/TXTQ1W9Az+bq7pSRVV5cH3d1OvPWWkCdWD+DCYsssS8OsRyqiMxjd5VKyH0VFKq6KtQAtSzouQLY/4wzZlvFYuixCumutu/oKC1UwPEmcgUEmcNLR3i4LY5ZaWmQgTY3hSoXPJxYtO+GiXuFEwHt8cNCJioqxrVzTTeQjEUW8Ojulj+jrk/MlkzYhppxgr1olxKGqSiZGhYUJ9Pb2obExMObkJ98mKeEwcPKkB8GgM0lIYzFlra+qkm3eektl8S9cKIKqixdL30qJDsaJ0VpaVTW9Rcj1CTOrxGTT4mqIWA4Riznw/e+70NEhA2ldndyI69fLwKu7GTnTZG1G3oxUqz/dCmJnC5RR4AMWicjD39urskiHhlRH29bmQkdHJRwOdzLpgRmNVHAuLlaxfKWlcm0YQ8WYPb1oenFxegmGUEgGvoKCyWWB0UIQCsmxU5KktlYCmfOpUzfILjiZ6+hQREsnXen0uHQ4nXIPzZ0rS0ODek8F82zA55PnaGBgGFVVub1n43Fl5Q4G5fwxnlfcjHLenE55rufMAc47T86HXfaH2eeRiIVQyMpdo7IIxjhTYqOlxYWmplJUVjpQVibnxOWSseyll8TgAIhL8d3vlu/DYTm3x45Jv8es2Jqa6ZHkGB5OnURTpaCvLzW8ZMuW7B6LIWI5RCLhwNq1CTQ0qKwxZjOyI2RmZEODck2VlRk340TAWoD6jIadKUvecGCiYOLAgKwDlIhnSQng8ThQUBBHdXUCVVUueL3yYJaWqjIZFRWpOlT64naPLQRJ8m1Zpx7z4vMp9w5V2hlzlmsiNp2CmKcL4nG5j7l0dqpXvmc1jLFQWCiknQvrEjY0yOfpqmEpMY/WtPZ57Is5ILOEUF9fKukaHJTjq6sTj8TcuWKpIXHgRHmq7u9cly3TK7e0tkqfGonQemehujqKsjIrKaPU3S2Ea/Vq4Ior5B4i4Wlqkn60oUHixKqrhYhNlWdnaEiOlwstmvSAJBIqqYnWSIZ2ZNujYIhYDuH1JlBSYqGjQw1IRUXyAFdXp9ZmnIpsxlw/xNkEawRysVu2qJ7c26uyloJB5WJhjB7ddgsWqLiMggK5NmJ5HEZvbw/mz/fB7/ck63dalgxc44lVGM3FYM8c9PulMzgVssIahzxOCp2OF1NBmEyG5PgRiShZg0xLT48P3d2LMTjoSsYZjgX2NSRZOuGqrZV+53SwsjPOltp8LBY9MKBU7EnCHA5VO5cSEoGAnC+9v54OkpqLsmVDQ8oK2NYmryT1xcWKOLW0AL/7nQsHDlSjqMiNZcuArVvlfLFvbm+XvrWsTFyOtbXKQ5BtDA+r8YBkurdX1Vp2OOTcMcynoGD0MXe8z9h4YYhYDpFIOODxSHX3igpVImg6RFPzsfYgLVu0YEUi8lD19Kj4rJMn1eDU16cUmAEZeFiqoq5OTN4lJUozrbSUBZRl+5ISIQgMqvf5gJISC+3tUcydqwLay8rGZ2EYD+xCkRQh1EFrXVHR2CnsJFHV1ULAeB7Gutb8nWUpwppNwjQVgpgzHdGoCjhOt9i/48AxWjyWgvNPiwwggYByiVVWqvf8PNuU18cLXUORpKu7W843XbXd3dKnJBKq/NiqVWLtZm1elr6hyHUuCOt0lC2LxVR/ymQDCohLfyj9Sk+PWLwOH5ZzOWcOsGxZAmvXnkRtbR1iMVcyxIblg+bMkXtxPLF/E0U4rCYvJNPMTgdUQlumcY+VQAYGhLR1dqoKNj09wGc+40hmpWcDhojlED5fApddlpgy9efRQJ0qWkoCgZkxELKj1AkXM5DoJqBbgB0ELT0Ohzzk7CDr66VdhYUqfovEixmGzEjUTc26BYjJESQMmQJqqfdWXHxq8Ve6UCT1cwBFgmIx6fAiETmWxsbMZGyyVicSBmqWkTBRbDUb90m2BDGnAwzUJdlnFQr7+9E+M0t2svB6ZcArL1cJHnxfXg4UFQ0hEmlFY2MtqqsLTaIOlIufCwVTObh2dMi6YFC2LykRgrp4sUyOy8sVcWW/MpO0FidTtmwsMNOaiv4kMJwQFheL5SoYVJUPgkE5V8uWAdddJ+eI5/vkSQ9KSx2oqZEi6ySx2ZROoleCJKm1VY0XFCuntU7KnanfJhLS33V3i7Bwa6uq40kJKVqIly1T3qrycgtA9tj3DO7+Zj9YRDgXoJZLW5vcbA0N0/vfDJDXO0pmHA0MKLM3AyVZTYDZM4yVmzePA5Esfr88dDrRYjbieM+13XU4FmEIhZSuW3v72GRlNFefnoIfjUpnpluNaAmsrZX/CocVEbPvd7JWJ/13bW1KZDibauVTITXA+4pJF/oSDDrR0lKKt95yJSsO6DGDXPTEDf3ezJYrgi5w3sMc3DN9Jvkay+oi0iNRlJefftnSelgCSW93txqcOXFj/I/TqeK4FiwQywyz+AIBOf9csnUupyIMJBuSFtTjoju2o0MlKVGXrapK1pF4dXfLvdnYCFxzjfR3kYiadCQSsm7+fAuDg0GsXx9IqYBwqqCAq15xhiEoPC/FxRKvp/fXnFCdOKEWSj4FAmKlW7lSYteYWGC//izxZlyTBlmBwyEPS12dEpDNdmdBMUO9nBLjCwYHVSYfH6hgUJGtkhI161+8WM1mSkoU2dKJ1lRYVUhs9DgtGagdiEZTrWMOx0j1+kz7HMtKRSLodqssIn5mBuaxY6lu7HT7nazVSf8d28j6fafambKCAElPOtI01nc6gbJvl7mD9AE4NRZJ2RGS/vG850JiVVQ0cywq+QTLUtddT7ihhUsnXAxVAOT+raxUmlSsmUtha4YqTOV1mcowkIlIWrCWZTCoLF6M8aLlqKhI+ty+PnEzHj8u57O4WJIRrrxS+mKKTjOjvLRU+unqarF4iehqAgcORJP952TBbEwmBbDiTCgk+2WIRnW1uoaJhIxlJ04IeTx6VH7vdgtBW7xYlPkbGlQ1EP5Obxvr5bJfoQj2nDmTb086GCJ2msLjkZt3aEheIxHRB9LjIsb7gOuldCTj04E33yzB73/vTFqLmK3V06NU4qknU14uKcyVlWrQomhpcTGS4qks/jwdGBqSBz4clmPhgyexAm6UlKhOsKhIOgFqv41mdh8eloe8oGBsV18mq1Fxsayj7AX3a7d+FRdPzupEUz4zx4JBuTcsSzo23aI0FnGyk67xxTudOlhdgGTd50sAiKCszJcs38TYQJJ5+2InVaxcYTA1sCwVB0rLZDgMdHU5ceRIKQoLXcnsRZKJwUG5JiRclZVi1aipkX6EpICD9XjiI7ON6YjlyvS/eqxhe7uq3MIYr8JCOT9tbcCBA5K5ODQk523pUuCqq+Q8RqPSt1M30e+XAHsWGy8ry17fTPcoBWBbWlIrzhQXKyMCn8fhYWnjoUMii8GxrL5eLHc33CDvWVGEfRj3q5eKY99QUiIel0BA7hu99vKJE9lpK2GI2GkK3axtWUoVu6IifcyYPU6GwqXsFKlHJGrSHvT11cHtdsPjUSWVGhqkOCszi8rKlBtRt2zpdRRJxqa78wyFxOpEK1d5uRxLOpVvn0+I2ngID4PfT55MdfVlclfaZ7yMO/J65RxVV8t1ZCd4/LiqZzc8nOqysb8f+VqAwcEliEadGdXRswlKepDM2kmRTpZ06+do5CkTYY9EhtDUdALz5s1DQcFpGKU+QxCPqyoTOmEnYWCIAjW6JOHGg1isEl6vG36/KgG0erXc+1Rmpz5XcbG6R2YCcZ6KWC47EgmV7MF+ubtbkQzGOzEbsKlJxUQBYiVauhTYvFmVluLYEI/LOV+5UhHbbBYbj0RSEwLa2lSMqr3ijMOhrFYHDojV7uhRFZ975pkiCLtkiaq1HI0qDwxDXHg+CgslHpCWUrqkOS5lQktLdtpOGCJ2GoODPIPdKyqEUFVUKFO/LvvQ3S0PLjWJ+vrkIQXkxmU8y/z5cVhWN+bPD6C62pcSIM/OYLTZEy0n05VRl44EDQyogsROp8z+6BYcr8p3uv2mK0xMtyKDS+kCZXKC/sq0cT12ifUqaWmcPBwA1IXROyu6NlmXkm42u2vY61XWBzuh0pdYTO4hXuOamqlJWzeYXtAyS7LFV7rEBgdV8k1PjyIOLEwPyH1QUSHLsmVAIDCMcLgDZ5xRhZoaX5JoFRbKvTbTNRWzEculI5FIFRxlKSXGjwJyTvjs9fQI8WJFBGYtrlsHXH65IjaWpSzpc+ZIHCr79GwJhjOwnnGnra3S9w0MqL6vuFgmmDxPw8PSxr17xdrV1iZ98vz5Yu269FIhUiw3NzgobW5ult/T5VpRIZny1OMk8ZoJiUIz4BAMcgG6Exmk2damZlGcobCzpNnW7ZaZUSAgMw+9gLg+MDsccXR2BrFoUdmkahZOZ0bd0JB0BvaMRxbSLimRToIma7vKN8+jnt1YUSEDS1OTnEPq1DClurU1VamZg9GpZNURnEHSpaYPWPp7Dgh0/RYWAi5XBH19rVi0qA6BQGHyPAByfk6ezEycJpqhSd2efMiaNFCDNAvTk2CxBBhJAS3lzEaklWZgQAlkut3SZwQCSqiaVSgYF8p7VZIU4mhp6cPixRU5q4F6qphILJcOhjKQeHV3q7guvdQOn6FoVAWiDwwIIVuwQGKiNm5UFqJ4XLZnmbU5c5Slq6wse1a7WMyBri6lhdfSoiyfliXHV1Ii/a4uas7EgOPH5beBgJCuK66Q9tA7QQ/BoUOyP/Zp9fVK481ezWAmwnR/sxgUKtRdUCRYJ0/Kw9rUpKwxlqWESSlOumaNzIxcLiV2R/FCzrjsMyUSucliKjLq0mFoSKx+zc3y8OoZj3SlDgzIa1GRnKf2dgeOHi1Ec7MrmXXa2SntZWwDZ3eTgS7BQTM5LUwMLKasRkGBkD7KdOj1J3nO0lnlMpGmSMRCU1MMFRUjzfJjkeOJZmhO1zU2GB3MArMvLOXCvoPyG9Tm00lWOCy/cThUvBYzPuvrJf6zuloRLZZks1tJM1m2spEkkg9g5iGthkw80BNR+Kwwc7C1VU0k3W4hVAsWiNu2sFBZupxO6RdKS6X/rqhQk+hsSUnE4+re6OsDmpqceOONcpSWupKehcJCFVjvcMh909IC/Pa3EgrS3S3HuXixWEOvuUaOk4kGg4MyZiUSqSSuri7VbZpv/YkhYrMAjAWiu0ovO9HcrDRzurqUC4Azh8JCMdeSfBQWyg3d3Q0sWiQEjBYeDrJVVVPvRprsDHK8GBoSEnXkCLB/v7JY/f738h0zOfWZvaAAwPi0Phj0Tg0bmvidTiEhLpfEZlC9n0R3PDM3O8FKR66A9IRrIgkDhM8n159CsvbtJ2PFnOprfLqBLqZ4XK6xvugEy17ui25DEiv2I5GIIliA3LecFJSWKisKrVm0ruqJLFwmKiEzm0ENRyY27d9fiMOHnUnrYiwm23FiFYnIxJkaV8PDSnKooUFqE9NCZFnyOxKemhrpe/x+lSWajWuQSCjhYV36YnBQ7isAcDgcACxUV1soKVEuxt//XuK6WlrkWOrrJT5twwYVM0srK0V23W4lsL1qlbzSbZqvVlIdhojlCZi+rQfMB4N6gVWlfNzbq9wADHSsqpKZKW9emp+ZQROJSGdKoVDGctEKwxlYPriRIhEV8EtTPhd9nSJX44O4/SwUFUVRU+NGRYUrGRPFgGGPR2myBQLSUSUSKoMROPXSPumsXOksUtzWbqXKlDAw1n9SYZ+p7vakAmPhmjwYFG1fhodHfqaLMDUGy4mWFj+8XlfSkqUnaDDuMhpN/V/GAZJg+f0yOWA2MycSXAoL1bVnogWTLgzJSoVdUJZWLgaii2vXiZ6eAtTWyvXt7RVSwwxHllSaO1eC5Tdvln2zf2fmI4tqM0wkm4r/lCHiwhhhki5a6oqKlMckkQDa2y00Nfnw1lsutLXJvVdeLmEtF18sE31WMqGL8cgRmaAyM3L5clWzk/fjbMQMH1JPP3BWpHek3d1CsFpaUq1b9LP7fEple/ly9UCWlyspCD37TM92oSWlo0N+PziYKiDJQdXjyf0gy2D10QiWriE0HnCmRSHHmhp1vtxulQZfWiodwtGjEYRCJ3HGGTWYO1dMVzwvQCrJ8niUeORkJSV00gVIR93WpoL+SaI4wNrJcjorFX9bXi6dPWfgo2E8rsfTwcJlWTLIxOPyykX/zPfpXnkeSab0mCvdUqULy+qkiwuTZNRxeZBIBFBS4k7KbRQWKut1cbFyd9MtqMtysJAxq0zo72ciwZopdXLTVQKh2Civo05+mYhDGY62Nhc6O8tRUOBOZgbW14sKPSdN7IdJmCk8q4cvZOschMMjSRezL2npIukqLZWxRkgX8NZb4jZsa5N1paVuBAIurF+fQGNjakxtKCTeGlpZ/X4haDrpKimZmffeVMAQsRwikQCamx2Ix1XKcWur3NQnT6rYI926FQjIzb9ihQqcp59fj7eYSLBlNKoUhxmAP52DLC00nGnpS1eXej8RgsX4qYoKVc+sokLOF9+zqHFfn2pjYaGcc7dbAkXnz1dq3NQAcrsTSRFEu7SGTrKAVEFWxjkwM8iOTO5GFqYF5N44dixVH4mDO0V6dddhOtLHY2tultlnX9/YcSIzsSSRToRIkDJ9Docd6O52w+NxJIOC9e1IluzuPLsVisSJ2lA6OeKiuwK5cF06MLZKl/Pgc0xlc06kdJFY3q9yXaPo7m7BggVzUFRUkHRrMWaQi9ud/4PbdNfJ1ckWiTIz/wYGFFGOxxVxYp+mC5HyGS0tlWOuqQGWLBnG4GAPqqqq4PO54HYrksy+Slf6z1b2IsuYcenrU+WMGPMHqHuRXhWOE/v3S//R2SnHw9JQF18sGZmWBfT3D+PIkUEUF5fi5MlUS9eyZdI3nY6kKx1mQHd6+mJgwIVPf9qT1HxioHxZmTyAK1cKMWJ8kV0G4lTdASxvEYuJcF1vr/wPSUA2LGDxuOqIOjrSE6zOzvFZZYDU1PZ0C0nXRAJQKZCqkyfGUEUiKvaFRcXb2rzwetOruOuEdWhIJT54PCp9PxZTMQ6jBdAPD6tg3a4u9R+xmHwmseP/9vaOjPfKRKBJDkpL1fvRJEXsrkePR7nLmORBMqOToNHe23/LhcTI7pqzZ+uR3JD88LM9PkrWuzEwUAuPx5NineK+xwLJEjPNeA5oNSKJovgwCRUHMmqlcTv770iauH8u+v/p7+0aTpGIhSNHIli0yJoVMTOjIdsCqZlKYw0MqGdWJ9l87uNxFVhPOYb+fvnO61V1KpcuVYKnLleqaKjLBYRCYaxcmUiSLrqAs6HTRTkHZl3q2o90VzOYn31Vaak8g21tko3Y0iLv43E57oYGIVvnnCPjEyeC4bC8b2lRbauujmH9egt1dSp7MVtkcjbBELEcwrKAJUsSqK93JclWaenIbKKpKL3BgZ/qxYwPAVI7IIdDzOXpCkuzWCoDNUmu2tu9aG2dh/5+H3p6MG5x0EBApbJnWqZikMlEnurrU92zDFwuKLBGtXAMDEinHA6nEll2hsxUbWiQgGcG0Ntdf3o9UFrvolHp5GkJ9XjkGhw+rNrhdqtitjx+3TrEwunRqHS0tbUkJQ60tPgQDDrgcikSo1uFKMjJYG7dHaeTI50Q2eOb0pGssWq3sePWCQqJiceTuo4kqbBQaZs5HBYGB0OoqvKgqMiVXE/Xlr4vfR/6Pp3O1MFUf7Wvy7Te4NQxUYFU3rP2Cg98Hvv7UzNFOVFg1jktRiRcurWIXom5cyUspLhYXX+ScarX6zI/XCwrgQMHBnHmmdak5RUSidQi84ODcpwsJRcOqzI9zGotKJDjSSRkctnUJNb29nY5Py6X9H8LFgAXXSTvqVlId3k8Lv0Y3ZRLlqjEDb8fcLvjOHSoD8uXz8lqke/ZCEPEcoji4gSuv34Y5eWeaS/Uy8y5WCxVlwaQh5VaQPTjJxIqkFQXdE0PFwDVqzBLkDPE6mpFrPT1U6E4PRHYrVKZsgO93sQI1xwLlrvd0rH19sp+zjpLWa14rulGZqc5PKzcGF1d8h2PIxKRY+jsVBa0khLVuba1yRIMSgdIMqETJZb0IDkaGlKxYYmEXibJi+Hherjd7iTxSffqdEqnTPJD66zuBmMSg+4W0+U1dMsQA751SxC3dTpTSZCd7HDhcemfXS61PhYbxvHjXVi8uCRpbdC3Ncgf0B3JiRGt7rSWcqHbjc8K3cskWiQVduFkhkDQ1c/423nz5BnT71Xd6slt7XVGR1P4Z9zVWEhX2YTZ8dQkjERUko5+bGVlSJaaY+hLZ6d69uvrZVJ43nnSN3u9I92twaDKxFy0SImi6jVU7W2cSCjJ6Q5DxHIIp9NCcfH01U8E5KHq6hI//xtvSBoxOyo+0L294xcX1U3wVVWMMYsC6ERjYwXmzClAefn0tnGyGCsgvahIBoDBQQuBgAziAwPSqb36qtIPKyiQ7VpbVVYRyRClAqJRRUgodhgKKeKkFzmmdYzEQrce6dYkBtEy0YKvlBYg8QFkv+w86+pkAHE4YujqakNDQx2Kinxwu5XbkLNovRJAWZm0p7ZWOuh0BCgTUZpuAhSJAIWFiaSb0GBmQ7dQDQwA7e0eSOUHRUiYfcgJRjqSxe109xzhditZh9JSZflnn0xrNicLugQEreaM58rGPcU6m7r24+CgKvWkF6EGVFwhJznUMWT2fGeniksrKRGr3bx5ojEWCKjC2LTwsXwQY76YFMD4tEyEy+DUYYjYLAKtVnQR6jFZ+mJPYc8ExrzU1MisqbZ2pKuQLjMdkUgcTU0DmDcvMGPjVezuMao00xXodCrXLGeb4TDQ0eFES0sR9u93JwvH0lLodquOnvFQJKB0D+ouMJIm1nZjbNHcuXJeScC8XpmxVlUpMuVyKddAV5fsu6JCXAkFBWJ5IymsrVX/43IpEcVQSDrYhgYKuiZw5MggFi0SwpIpKJpklcWBpzpY2iD/ocfvkWTpyQzMpiMR0V3boZALHR2lKC93wrJSt9P1E+mK56SFsZ2UlqH1hiSLBItubBIyey1TJkScKgGhe1TXcOvpceCtt0pw4IAzhXzSsuVwKKLldCotLr0/j8eV9a6uTp73xYtlcux2q3NJMH6rpETF1eo1FrOZhWkwPhgilieIx5WMhT3Ynes4+I4HxcXycNPdtWiRCtJkXNrixbIdK9DPROiB3HpwNuNC2NGz8+MMU682wM6RAaecZROM7XG5AK/XDaAI5eWOZAddU6OC15cskTRsxo4UF6tangUFsi4Ukm0LC6XTDAZFWZruzo0bZVA4cULF4c2ZIwGy9g6SsS5AagZnebkq21RamvobxorQ8pYJmYKidddQruUDDKYXeqyf/szZ39uD3/m9/qwyS5XPIn9DwkKyEo+7EI2WweNxJcuOUZKjtlaRB042dG0zTnhINNLVPvX5Tt1iT2u6PeCfWdMMjrcTrVjMie5uL+rr1USOYSF6OSNamisrpc21tRKTxn7Z3l+xjYWFqdmXRUWpmnDGujUzYIjYDEA0OjKLUA9+7+zEuIPeHQ556PQYLD0miwH5TU2icMxSRcuWqeDUw4dVXEFJyfTFbqVTA9fr2+mEqr9fOiu6HHQ1cD1egkSDHQ6L4dKlwI5KF7RkYC2z3Biv5PUCoVAMTU0tWLCgAbGYO1mzja6D8nI5lzo50TWPYjGxuJHcMOakvl7F4jFoNxyWa0+BRMb06eQnXVYkdYr4v5z5E+y06+pGzzobLSj6dNAMm03QM1FJpnS5DruFWJfrUOKjKq7QLu3BGCYu+m/1bFfWrdUtV3pdSWpKsVZqSQlgWXH09nZjzpxqFBe7UuqkcjvdhcglG0KzrFagLzpRpN4W28xzxH6HYqe0rDNujWLcXV0uDA5WwOdzo6BA+mtmfi9YIP2E1yvnWHfv622lSDdFXEmy7NI6BjMXhojlEL29btx6a8EoQe+p4IyIsVj2DENKXYyl8cRC1C6XELzaWkV6qAzPgE2nUzqNiVo+4nElgWEvsRKLKQLFGBAWBtYJFV0P7LwJmuv1gNjiYlWImuZ2ZqAyK45kQs+Es2fF6bCLRg4NAYcOWQiFXOjtlUGirk7cfMXFYg1LR2zYYbIjB1LJjccjVsdwWDpQ0ZdT9dQA2aanR1mzKGeiZ3vqZI+WrM5OWRcIqG3Hm3VmLF/TA136w76MJhSrvw+FHGhqKkBfn/NPyQmprkCdbPG3OuniPUOikU4WRN+GxABQ0h66VAdfdckdTnz4POoJHEyO0WOuOAlKJBJobu5FY2NFUuPwVDJQmVGsk0X9My3nDPS3n0dmVAKq0DaV83WiFQwq0ulyqdqO5eXS5zY2AgUFcXR0dKO2tho+nyuZnML260kAJJ06aR0tEcAgf2CIWA4xPOxAX588RQx6H20pL89OCjzN4mecIRk0tOpQSd7lUvIVdXXKlZcpzoMzRNYG6+tzobW1Em63O0UhnO4/DiCAtEef2ZJI2fXC/P7UbDs9A0+XG8iWREC6+KiBAfypVIcDXV0qm5ESEaMRG31/LFuiz1jnzVMz6ZYWCfSnAG1dney/p0c63gMH5H+rqlQ5Jf1Y6W5uaVHZZLGYiuWaCMGaDZYvXbQ1FlOWRw6oE3lv10QbbV2mMkV2q1Q6EmYnZ3ZXu50cRCIuBIOVKChwwbJGWrlIqjih0QdvXUzWntFKUsRFF5PVJUMoIWJ3/ZF0MavWbmHW458yIRy2MDgYT1p87LBbzu2iuwyCp5RDODwynEHXtANSXaZ6piIJGgkWoKx4tErNmaNcpUxc0WO92G5JoEmgq2sAy5dXIhBITQKg/qDB7IchYjmE3x/HQw9FMHduQdqg96mAXsi3tVXIQzwOvPSSdCR9fdLhdHbK4E43BEUPdfcf1+saT9KJuAB4UF0tJILq4NXVQi6YDl1RIfupr5f/1olVrjWXWJi3sFBe7TFyXq8cczisOlc7ubLvT4+3srsLOdCxk2fhdRZWBuTct7UJMfZ6hWgFAvJe3zctZtQKA1QbRnNpEnZykY6M2NcDI9en23as9Zn2rxOSdOKx9vX27aNRJ06eLENVlSuZDZqpfXbiRDdcOmvUWDUi9ePTiZe+XTqk6wvsEiCpMh8O+HwJlJdbyQHcLjhbXDxSMJaLTr7sorOZtNrSaa1Ntg9jP2Of7A0PAwMDDhw75kMs5oDTmRo/RouV3a3K6wSkWr3s8aDMrNSzxCmsrZcQqq1NtUaRPNJNqEu06IXR9Yon6QhqKJTAm28OYvlyy2htncYwRCyH8HoTp6yEzYEik6UqHFZZfSwjpM8MQyE1a9Q1m5iZV1ysYhDo+quuVm5QPTaDHVE8HsWJE80444yFKCkZOaXTrUOVlTMz604XUy0sFMsTO+SBASsZJByNCmlKR650ZHIH2i0hw8NIupb8funISc6AVE23aFQC+mmZO36cnbtSuOY2FRViHaOMhk4kVIyPE+3tfrz+ujPp3s5EumjR1EmJ3f1lf5+pTqO+Lh3xsluJRnPlcTuCxCCR8CAWq4TX6x5BFuyfdYmN0bTL7IKutPKkU8RPV25IJ1bpJD64/9GIDz/HYsNobu7AokWFKCrypBxXukXXaKPVZjLQXZuMy7STIhIlvuriqnocGcmYTsrkd050dJSitNSZ4kZlP6cHyYdCaqLJ+4D1DHWrOy3N1MZiJqHTqYgrzzEtg7rqfbqYNC65nkQa5B8MEZtB0Dsru2md8gpMXdbFB/VUbns8FSAdBs3dTqfM1MrKxEpVWCj7jMXEMsVA0cJC2TdrGtbXp3cLpIOIkFoZY9VmeuwRCQDLTTH+g1mGXm8CHo8jGXDb0qJiRdzuVPKhX09eHwYpc9CxEw0OLLyO+mA2NKTKHrlcwP/+r9JNooXSroBN2QyKX+oESbdoWpYHsVg1PB7PCNfVaBiNoKRTm0+3jhaXTCQnE4nQLTz6e7qDSHBisWF0dHSgrq4GXq8vRfOM/0MXs17KyK6Sbz9+/X/0faY7L+m01EZbJqLGHw5b8PkiKQrt6Uiv3cpnt/BlstqR9DA7kPcbf5/J/cp4LD1g3x5/psdn6eELikS7MDRUDr/fleK2I/Gh5YkhDiRD6epsUoBYD2rnxMhuDdTj1AwMphKGiOUQQ0NO/OhHrmR8lU6oOGgT7JT0OI2SEiEKDQ3SGVVVKXFN3Uqll71pbxeXFSBur6IiKSI9OCjfBQIqxmFgQPZJ92U2cSqxR7pFxN7pj7ZeHzT0wUC3KOqDQ2enDAwkTv39QCjkxsBAFfx+V1LclAMSCZCeTWYf7OxIR3J0S0g6ksGBiq4OBvUCqRlVHMS5nV70mZIXXq+QbbFkxtDefhL19TUoKPBlJCk6IeFx6qTGTkzYRjtx4ft0S6bv2abRvtdfeY6HhuI4dKgHS5dWJUUpT8WNli6GjPdmutixdO7PsWLN7CTdTpj0jMVQyImmplIcOOBMlqcay7Ko7ytdsXJ9fbqsSl33yq5NqJ9bBp/r/RGJD/sqPXNSr9TgcgGJxDA6O0+ioaEeRUWu5P3u8ykiVVAwsrKD3fLIfRoYzDSY2zKHiESceP11VzIOoaZGxSXU1Ij7z14oWA92ZcczEXCGyvgsn08ERE+elA56yRLpaIuLZfvx1nPLBJ382AnSaN+lc7PqgwS3ZxYXrT/2DKh0v9UHsUzgYK7H4yQSgNfrRCTigcvlSM7A2cnbZ9YcdPidvi/ddZUu/kYnOjqx6e0F9u+XAWhoSArDV1ZKuzo65LWgQLld0llsmHQQCIi7eu5cIfSRSAIHD/bgzDOrUFCQOW4LGD2+a7Tv9X2Mtq2enTbWf461jbhdHTh2rAjBoBNeb6qrlNvZyUo6l2om0jVajFs6q5F+3+txaemsS+lin+zkKhp1Y3CwBh6POyVuTbcsKctnKlGiO87u7tSD6vVYM/1+Z+yZnpFM8q5PHuy/0d9nymLmMUSjcRw+3I2VK2vg9xvXn8HsgyFiOURZ2TA++9koSkoKs5rxNxpKSmQAJgkjmaDwZySiZo1MjXY4lI6Z7r6wW5CUNIUTLS1+/OEP0iC6G/T0+EyEyW6hslvi7BYWfaCwd/C6fIVdxLGgQA0gelaXPT5EV6Pv7gYGBmLo7m7F+vUNKC93p1iNeHz6q/29PQBdfw+Mvp4DrGTJyTkMBmX//f1CpouKxFXKmLV0cVksUcRr7ffT0uZEa2s5XnvN+SfZgNRj5ns7KdNJCgmAPYjdfgyjxXrZLUJAKgnKtK39+1QrkgfhcP2fBHnT/06/RhO1lo22/Xjdknb3q+6yJeHR1+nvLSuO/v4gamvdSauRnpGYzhWru3ft5Mv+Ola8WaZ1pxqDBkhoQEGBBa/XkDCD2QlDxHIISjdM1EVnn/FmsjaliwehhpcoVku9Sb3wrZ6FZCdMo1mXdAJiWR4MD1fD6/WkzIZ1kkRyRC0svZyIrg1GQVn77JkdPv9TX/R1fK+OTb2mCxDXB3y7m1GytBzo7XVj/35HMvCd26Qb3HXrnl2wVndf6m6mdIHvXBgryIBk6ozROkjiynMzmqvMfp4sy4NotAZeryctoeT+0q1PRzT0dXr9Sb63uz7TEROu12PI+NtM5MYeyyXXexjd3UHU1LhRUODKGPOluzTt7s9091o6dysJfKZ4udFi4eznzt7GTG2OROI4dKgDjY1lKC4e2aZ0sWd6Ww0MDHIHQ8RyCInZciQtLplcc0y17u9XKdd2C5OdLOnBtXTlkYTYBxXGFelkSVen9vtTYzJ0KxqJJEmS0wlEo1E0NzdhwYJ58PkKkv+T7v/tIEFKzZqStuvEhUHodrHJdPEudmFKPfg9HSFKZ8FRFiEPYrH6ZED7aAOZTjwyWQt0t5AeF6bHyOiuSkovAOpa6aRUkgmUpU/fp/293VISi0XR3NyC+fPnoLCwIOPAny443b7OHiM2GpmZ6PpM2472XTgcx8GDJ7F0aVnS7Z5pH5liz4DRY9tyiVDIQn9/DHV1MDIIBgZ5BkPExolDhw7h/vvvx969e1FcXIxrrrkGH/3oR+GlSWIS6Otz41Of8iSJgJ52T7CT1wUQ7VYluuH4WVdd1jOD9AFTHywJPZ7EHhejv1IWo69PxSXpJCgcdqGzM4DiYtcIF6adYKWLgeF/2c+D/T3PjR5rlc7Voi8MbrcH8KaLg9HPNWUJhoejaG09gQULGlBUVJDiwtRJTqYYL/v5z2RVGe39RNeNlziIplEPli+vm3WDeSgE9PQMo6bGEBUDA4OZBUPExoG+vj7ceuutWLhwIb70pS+hvb0dDzzwACKRCO65555J79fnS+Dqq+MoLnYls9r0wdQe8GsvGpvOxTUwIAHddlHEsVxio5EfOwlyOEYKSuqBvQ6HA5GIK6XMiT3QVyeSetyWLphoD9xN53ZK58bKtIz2fToXUGay0ofly+eYAd3AwMDA4JRhiNg48L3vfQ+Dg4P48pe/jPI/yZzH43Hcd999+MAHPoDa2tpJ7TcSceKJJ9xpCQ/BdXpgrW7pSZeyzcDedNo4VIe2138j+dFdZum0nEaLPVHxKlEcPHgMy5YtRUmJJ+N2BgYGBgYGpzsMERsHXnzxRZx//vlJEgYAW7duxb333ouXXnoJ11577aT2GwgM49FHh1BcXDgq6bEH8k50mW6EQkBpaTypDG9gYGBgYGCQHoaIjQOHDx/Gu9/97pR1fr8f1dXVOHz48KT36/NZaGwMobAwTXDYJJFJOHQ6EQ6HU15nE0zb8hOzuW3A7G6faVt+Yja3zbIsOLKYoWOI2DgQDAbh9/tHrC8rK0NfX98p7fvo0aOn9PuZDNO2/IRpW/5iNrfPtC0/MVvbdiqJenYYIpZjLFy4EIXjLeKYJwiHwzh69KhpW57BtC1/MZvbZ9qWn5jNbTtw4EBW92eI2Djg9/vR398/Yn1fXx/KyspOad+FhYUomqWBVKZt+QnTtvzFbG6faVt+Yja2LZtuSQAwuWvjwOLFi0fEgvX396OjowOLFy/O0VEZGBgYGBgY5DsMERsHLrzwQrz88ssIBoPJdc8++yycTic2btyYwyMzMDAwMDAwyGcYIjYObN++HcXFxdixYwd+/etf44knnsCDDz6I7du3T1pDzMDAwMDAwMDAELFxoKysDI899hhcLhd27NiBz3/+8/jzP/9z3HXXXbk+NAMDAwMDA4M8hgnWHyeWLFmCf//3f8/1YRgYGBgYGBjMIhiLmIGBgYGBgYFBjmCImIGBgYGBgYFBjmCImIGBgYGBgYFBjmCImIGBgYGBgYFBjmCImIGBgYGBgYFBjmCImIGBgYGBgYFBjmCImIGBgYGBgYFBjuCwLMvK9UGcjnj11VdhWRY8Hk/WC4jmGpZlIRaLmbblGUzb8hezuX2mbfmJ2dy2aDQKh8OB9evXZ2V/RtA1R+CNOdtuUEDa5PV6c30YUwLTtvzEbG4bMLvbZ9qWn5jtbcvm2G0sYgYGBgYGBgYGOYKJETMwMDAwMDAwyBEMETMwMDAwMDAwyBEMETMwMDAwMDAwyBEMETMwMDAwMDAwyBEMETMwMDAwMDAwyBEMETMwMDAwMDAwyBEMETMwMDAwMDAwyBEMETMwMDAwMDAwyBEMETMwMDAwMDAwyBEMETMwMDAwMDAwyBEMETMwMDAwMDAwyBEMETMwMDAwMDAwyBEMEZtmHDp0CLfddhvWrl2LjRs34sEHH0Q0Gs31YU0Yx44dwz333INrrrkGK1aswLZt29Ju98Mf/hBXXHEFVq1ahXe+85144YUXpvlIJ46f/exn+NCHPoQLL7wQa9euxTXXXIMf/ehHsCwrZbt8bNsvf/lLvOc978Hb3vY2nHXWWbjkkkvwz//8z+jv70/ZbteuXXjnO9+JVatW4YorrsATTzyRoyOePAYHB3HhhReisbERv//971O+y7dr9+STT6KxsXHE8rnPfS5lu3xrl44f//jH+LM/+zOsWrUKGzZswHvf+15EIpHk9/l4T/7FX/xF2uvW2NiIp59+Orldvl63X/ziF7juuuuwbt06bNq0CX/zN3+DpqamEdvlY/teeOEFvOtd78JZZ52Fiy66CP/6r/+KeDw+Yrus3JeWwbSht7fX2rhxo3XzzTdbL774ovXDH/7QOvvss6377rsv14c2YTz33HPWhRdeaH34wx+2tm3bZr3jHe8Ysc1TTz1lNTY2Wg899JC1e/du6+6777ZWrFhh7d27d/oPeAK4/vrrrTvuuMN6+umnrZdfftn63Oc+Zy1btsz60pe+lNwmX9v2X//1X9ZnP/tZ69lnn7X27NljPf7449Z5551n3XbbbcltfvOb31jLly+37r77bmv37t3WQw89ZDU2Nlo/+9nPcnjkE8eDDz5oXXDBBdbSpUutffv2Jdfn47V74oknrKVLl1ovvviitXfv3uTS0tKS3CYf20U8/PDD1rp166xHHnnEeuWVV6xnn33Wuvfee62BgQHLsvL3njxw4EDK9dq7d6/10Y9+1FqxYoXV1dVlWVb+Xrc9e/ZYy5Yts+666y7rpZdesp5++mnr8ssvty699FIrHA4nt8vH9u3du9datmyZ9fGPf9x68cUXrUcffdRavXq19cADD6Rsl6370hCxacTXvvY1a+3atVZPT09y3fe+9z1r+fLlVltbW+4ObBKIx+PJ93feeWdaInb55ZdbH/vYx1LW3XDDDdZ73/veKT++UwE7SB3/7//9P2v9+vXJdudr29Lh+9//vrV06dLkPXj77bdbN9xwQ8o2H/vYx6ytW7fm4vAmhYMHD1pr1661/vM//3MEEcvHa0cilu7eJPKxXZZlWYcOHbJWrFhh/c///E/GbWbDPUls2bLFet/73pf8nK/X7e6777a2bNliJRKJ5Lrdu3dbS5cutX7zm98k1+Vj+26//XbrXe96V8q6b37zm9bKlSutjo6OlO2ycV8a1+Q04sUXX8T555+P8vLy5LqtW7cikUjgpZdeyt2BTQJO5+i3TlNTE44ePYqtW7emrL/qqquwe/fuGe2OraioGLFu+fLlGBgYQCgUyuu2pQPvx1gshmg0ildeeQVXXnllyjZXXXUVDh06hBMnTuTgCCeO+++/H9u3b8eiRYtS1s+2a0fkc7uefPJJNDQ04KKLLkr7/Wy5JwHg1VdfxYkTJ3D11VcDyO/rNjw8jOLiYjgcjuS60tJSAEiGceRr+958801s3LgxZd2mTZsQi8Xw61//GkB270tDxKYRhw8fxuLFi1PW+f1+VFdX4/Dhwzk6qqkB22MfCJcsWYJYLJY2jmAm47e//S1qa2tRUlIyK9oWj8cxNDSE119/HV/5ylewZcsWNDQ04Pjx44jFYiPu0yVLlgBAXtynzz77LPbv348dO3aM+C7fr922bduwfPlyXHLJJXjkkUeSMSv53K7XXnsNS5cuxcMPP4zzzz8fZ511FrZv347XXnsNAGbFPUk89dRTKCoqwiWXXAIgv6/btddei0OHDuE73/kO+vv70dTUhH/5l3/BihUrsH79egD5276hoSF4vd6Udfx86NAhANm9L92ncrAGE0MwGITf7x+xvqysDH19fTk4oqkD22NvLz/nU3v/7//+D8888wzuvPNOALOjbW9/+9vR3t4OANi8eTM+//nPA8j/toXDYTzwwAO44447UFJSMuL7fG1fdXU1PvzhD2PNmjVwOBzYtWsXvvCFL6C9vR333HNP3rYLADo6OvCHP/wB+/fvx7333ovCwkJ87Wtfw+23346f//zned02HcPDw/jZz36GLVu2oKioCED+3o8AcM455+DLX/4yPv7xj+Mf//EfAYjn4Bvf+AZcLheA/G3fggULsG/fvpR1v/vd7wCoY85m2wwRMzAYBW1tbbjjjjuwYcMG3HLLLbk+nKzh61//OsLhMA4ePIivfvWr+OAHP4hvfetbuT6sU8ZXv/pVVFZW4t3vfneuDyWr2Lx5MzZv3pz8vGnTJvh8Pjz22GP44Ac/mMMjO3VYloVQKIQvfvGLWLZsGQBgzZo12LJlC7797W9j06ZNOT7C7OCll15Cd3d3xgzzfMOrr76Kv/u7v8P111+Piy++GL29vXj44Yfx/ve/H9/97ndRUFCQ60OcNG666Sb8/d//PR577DFcc801OHjwIL7whS8kCWa2YVyT0wi/3z9CJgAQ5lxWVpaDI5o6sD329gaDwZTvZzKCwSDe9773oby8HF/60peScXGzoW3Lli3DunXrcN111+Hhhx/GK6+8gueeey6v29bc3IxHH30UH/nIR9Df349gMIhQKAQACIVCGBwczOv22bF161bE43G8+eabed0uv9+P8vLyJAkDJG5xxYoVOHjwYF63TcdTTz2F8vLyFGKZz227//778ba3vQ133XUX3va2t+HKK6/E17/+dbzxxhv4yU9+AiB/23fttdfi1ltvxYMPPogNGzbgL//yL7F9+3aUlZWhpqYGQHbbZojYNGLx4sUj/Mb9/f3o6OgY4WfOd7A99vYePnwYHo8H8+bNy8VhjRuRSAQf+MAH0N/fj2984xvJIFQg/9tmR2NjIzweD44fP4758+fD4/GkbRuAGX2fnjhxArFYDO9///tx7rnn4txzz01ai2655Rbcdttts+7aEfncrjPOOCPjd0NDQ3l9TxKRSATPP/88rrzySng8nuT6fL5uhw4dSiHPAFBXV4dAIIDjx48DyN/2OZ1OfOpTn8KePXvwk5/8BC+//DKuv/56dHd3Y82aNQCQ1fvSELFpxIUXXoiXX345yZgBCSx2Op0jMjTyHfPmzcPChQvx7LPPpqx/5plncP75548IhJxJGB4exkc/+lEcPnwY3/jGN1BbW5vyfT63LR1ee+01xGIxNDQ0wOv1YsOGDfjv//7vlG2eeeYZLFmyBA0NDTk6yrGxfPly/Md//EfK8slPfhIAcN999+Hee++dVdfumWeegcvlwooVK/K6XW9/+9vR29uLN998M7mup6cHr7/+OlauXJnX9ySxa9cuhEKhZLYkkc/Xbc6cOXjjjTdS1jU3N6Onpwdz584FkN/tAyQLdNmyZfD7/Xj88cfR0NCACy64AACyel+aGLFpxPbt2/H4449jx44d+MAHPoD29nY8+OCD2L59+4jBfqYjHA7jl7/8JQB5+AYGBpIP23nnnYeKigp8+MMfxic+8QnMnz8fGzZswDPPPIN9+/bh29/+di4PfUzcd999eOGFF3DXXXdhYGAgGaQJACtWrIDX683btv31X/81zjrrLDQ2NqKgoABvvfUWvvnNb6KxsRGXXnopAOBDH/oQbrnlFvzDP/wDtm7dildeeQVPPfUUHnrooRwf/ejw+/3YsGFD2u9WrlyJlStXAkBeXru/+qu/woYNG9DY2AhAFM1/8IMf4JZbbkF1dTWA/GwXAFx66aVYtWoVPvKRj+COO+6Az+fD17/+dXi9Xtx0000A8veeJHbu3Ik5c+bg7LPPHvFdvl637du345/+6Z9w//33Y8uWLejt7U3GaOpyFfnYvn379uF///d/sXz5ckQiEezatQs/+clP8G//9m8pcWJZuy8nK3hmMDkcPHjQuvXWW63Vq1db559/vvXAAw9YQ0NDuT6sCaOpqclaunRp2mXPnj3J7X7wgx9Yl112mbVy5Upr27Zt1q5du3J41OPD29/+9oxta2pqSm6Xj2175JFHrGuuucZat26dtXbtWusd73iH9YUvfMHq7+9P2e7555+3tm3bZq1cudK67LLLrB/+8Ic5OuJTw549e0YIulpW/l27T3/609bll19urV692jrrrLOsbdu2WY899liKmKZl5V+7iK6uLusTn/iEdfbZZ1urV6+2br/9duvAgQMp2+TrPdnb22utXLnSevDBBzNuk4/XLZFIWN/97netq6++2lq7dq21ceNGa8eOHdbBgwdHbJtv7XvjjTes6667zlq7dq21du1a69Zbb7VeffXVtNtm4750WJatgJ6BgYGBgYGBgcG0wMSIGRgYGBgYGBjkCIaIGRgYGBgYGBjkCIaIGRgYGBgYGBjkCIaIGRgYGBgYGBjkCIaIGRgYGBgYGBjkCIaIGRgYGBgYGBjkCIaIGRgYGBgYGBjkCIaIGRgYGBgYGBjkCIaIGRgYGBgYGBjkCIaIGRgYGIwD3/nOd9DY2Ijrrrsu14diYGAwi2CImIGBgcE4sHPnTsydOxf79u3DsWPHcn04BgYGswSGiBkYGBiMgaamJuzduxef/OQnUVFRgZ07d+b6kAwMDGYJDBEzMDAwGAM7d+5EWVkZLrroIlxxxRVpiVhPTw/+9m//FuvXr8c555yDO++8E2+99RYaGxvx5JNPpmx76NAhfOQjH8F5552HVatW4dprr8UvfvGL6WqOgYHBDIIhYgYGBgZjYOfOnbjsssvg9Xqxbds2HD16FPv27Ut+n0gk8KEPfQhPP/003vWud+GOO+5AR0cH7rzzzhH7OnDgAG644QYcOnQI73vf+3DXXXehqKgIO3bswHPPPTedzTIwMJgBcOf6AAwMDAxmMv7whz/g8OHDuPvuuwEAZ599Nurq6rBz506sXr0aAPD8889j7969+NSnPoVbb70VAHDjjTfitttuG7G/z3zmM6ivr8cTTzwBr9cLALjppptw44034nOf+xwuu+yyaWqZgYHBTICxiBkYGBiMgp07d6KqqgobNmwAADgcDlx11VV45plnEI/HAQC/+tWv4PF4cP311yd/53Q6cfPNN6fsq7e3F3v27MHWrVsxMDCA7u5udHd3o6enB5s2bcLRo0fR3t4+fY0zMDDIOYxFzMDAwCAD4vE4nn76aWzYsAEnTpxIrl+9ejUeffRR7N69G5s2bUJLSwuqq6tRWFiY8vv58+enfD5+/Dgsy8IXv/hFfPGLX0z7n11dXaitrc1+YwwMDGYkDBEzMDAwyIA9e/ago6MDTz/9NJ5++ukR3+/cuRObNm0a9/4SiQQA4Pbbb8fmzZvTbmMnbwYGBrMbhogZGBgYZMDOnTtRWVmJe+65Z8R3zz33HJ577jncd999mDNnDl555RWEw+EUq9jx48dTfjNv3jwAgMfjwQUXXDC1B29gYJAXMDFiBgYGBmkQiUTw85//HBdffDGuvPLKEcvNN9+MwcFB7Nq1C5s2bUIsFsMPfvCD5O8TiQS+853vpOyzsrIS5513Hr7//e/j5MmTI/6zu7t7yttlYGAws2AsYgYGBgZpsGvXLgwODmLLli1pv1+7di0qKirw05/+FF/5ylewevVqfPazn8Xx48exePFi7Nq1C319fQAkwJ+49957cdNNN+Hqq6/G9ddfj3nz5qGzsxO/+93v0NbWhp/+9KfT0j4DA4OZAUPEDAwMDNLgpz/9KXw+HzZu3Jj2e6fTiYsvvhg7d+5EMBjEI488gs985jP48Y9/DKfTicsuuww7duzAjTfeCJ/Pl/zdGWecgSeeeAJf/vKX8eMf/xi9vb2oqKjAihUrsGPHjulqnoGBwQyBw7IsK9cHYWBgYDAb8fzzz2PHjh347ne/i7PPPjvXh2NgYDADYWLEDAwMDLKASCSS8jkej+Pxxx9HSUkJVq5cmaOjMjAwmOkwrkkDAwODLODTn/40IpEI1q1bh2g0ip///OfYu3cvPvaxj6GgoCDXh2dgYDBDYVyTBgYGBlnAzp078a1vfQvHjh3D0NAQFixYgBtvvBHvec97cn1oBgYGMxiGiBkYGBgYGBgY5AgmRszAwMDAwMDAIEcwRMzAwMDAwMDAIEcwRMzAwMDAwMDAIEcwRMzAwMDAwMDAIEcwRMzAwMDAwMDAIEcwRMzAwMDAwMDAIEcwRMzAwMDAwMDAIEcwRMzAwMDAwMDAIEf4/+txDXonufQvAAAAAElFTkSuQmCC\n" - }, - "metadata": {} - }, - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Running IDP 2 rh_MeanThickness_thickness :\n", - "Making predictions with dummy covariates (for visualisation)\n", - "Loading data ...\n", - "Prediction by model 1 of 1\n", - "Writing outputs ...\n", - "metrics: {'RMSE': array([0.08652435]), 'Rho': array([0.77666469]), 'pRho': array([2.97430261e-103]), 'SMSE': array([0.40227749]), 'EXPV': array([0.59789079])}\n" - ] - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkoAAAHPCAYAAACstvVvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAADph0lEQVR4nOydd1hT59/G7ySEvUE2CCqiiBv33ts6W7dWW7VVq3ba/mp3rd1La63W0Var1larde+BC/fee+BC9k7y/nG/hwASCCRkwPO5rnNBTtZzTs64n++UaTQaDQQCgUAgEAgETyE39wAEAoFAIBAILBUhlAQCgUAgEAh0IISSQCAQCAQCgQ6EUBIIBAKBQCDQgRBKAoFAIBAIBDoQQkkgEAgEAoFAB0IoCQQCgUAgEOhACCWBQCAQCAQCHQihJBAIBAKBQKADIZQEglLSvn17jBs3ztzDsHh+/PFHREREID4+vtjXtm/fHtOmTSvR5x88eBARERHYuHFjaYdotfzzzz+IiIjAqVOnin3t8OHDMXz48BJ9/u3btxEREYFff/21tEMUCKweG3MPQCAQUCDcuXMHzZo1w6JFi556fsWKFZg+fToAYOXKlahdu7aJR6jl4MGDGDFihF6vvXDhQhmPpmKwZMkSODg4oF+/fuYeikBQ4RBCSSCwEOzs7HDw4EE8fPgQlSpVyvfc2rVrYWdnh8zMTDONTkvVqlXxxRdf5Fv3zTffwNHREePHjzfoszdu3AiZTGbQZ5RH/vzzT3h4eBgklIRVSCAoHUIoCQSlIC0tzeif2aBBA5w6dQrr16/HyJEjc9fHxcXh8OHD6NSpEzZt2mT07y0p3t7eeOaZZ/KtmzdvHjw8PJ5aX1JsbW0Ner9AN2LfCgSlQ8QoCQTFIMXYXL58Ga+99hoaNWqEIUOG5D5/+PBhDBgwALVr10aHDh2wevXqUn2PnZ0dOnfujP/++y/f+v/++w+urq5o2bJloe+7cuUKXnnlFTRu3Bi1a9dGv379sG3btnyvSUhIwOeff45evXqhfv36aNCgAV544QWcP38+3+ukeJ/169djzpw5aN26NWrXro2RI0fixo0bpdouieTkZEybNg3R0dFo2LAh3n77baSnp+d7TWExSklJSZgxYwbat2+PqKgotG7dGm+++WaRMU9ZWVkYN24cGjZsiKNHjwLQ/o43btwodhwA8O+//6Jfv36oU6cOGjdujKlTp+LevXv5XnP9+nVMmjQJLVq0QO3atdG6dWtMnToVycnJua+JiYnB4MGDER0djfr166NLly745ptv9N5v7du3x6VLl3Do0CFEREQgIiLiqVijrKwsfPbZZ2jatCnq1auHCRMmPLV/CotRyszMxI8//oguXbqgdu3aaNmyJSZOnIibN2/qHI9Go8H06dMRFRWFzZs3A9DGSh05cqTYcQDArl27MGTIENSrVw/169fH2LFjcenSpXyvefjwId5++220bt0aUVFRaNmyJV566SXcvn079zWnTp3CmDFj0KRJE9SpUwft27fH22+/rd+OFQj0RFiUBAI9mTx5MipXroypU6dCo9Hg119/xY0bNzB58mQMGDAAffv2xd9//41p06ahVq1aCA8PL/F39OzZE6NHj8bNmzcREhICgEKpS5cusLF5+nS9dOkSBg8eDF9fX7z44otwdHTEhg0bMGHCBPz444/o1KkTAODWrVvYunUrunbtiqCgIDx69AjLly/HsGHDsG7dOvj6+ub73Hnz5kEmk2H06NFISUnB/Pnz8frrr+Ovv/4qxZ4jU6ZMQVBQEF599VWcPXsWf/31Fzw9PfHGG2/ofE9qaiqGDh2KK1euoH///oiMjMSTJ0+wfft23L9/H56enk+9JyMjAy+//DJOnz6NhQsXok6dOiUex5w5c/D999+jW7duGDBgAOLj4/HHH39g6NChWL16NVxdXZGVlYUxY8YgKysLw4YNg7e3N+7fv4+dO3ciKSkJLi4uuHTpEsaNG4eIiAi88sorsLW1xY0bN3LFmz688847+Pjjj/O5Nr29vfO95pNPPoGrqysmTpyIO3fuYPHixfjoo4/w3Xff6fxclUqFcePGYf/+/ejRowdGjBiB1NRUxMTE4OLFi7nHX8H3vPPOO1i/fj1mzZqFtm3blngcq1evxrRp09CyZUu8/vrrSE9Px59//okhQ4Zg1apVCAoKAgBMmjQJly9fxrBhwxAYGIj4+HjExMTg3r17CAoKwuPHjzFmzBh4eHhg7NixcHV1xe3bt7Flyxa9961AoBcagUBQJD/88IOmevXqmldffTXf+nbt2mmqV6+uiY2NzV33+PFjTVRUlGbmzJkl+o527dppxo4dq8nJydG0aNFCM3v2bI1Go9FcvnxZU716dc2hQ4c0f//9t6Z6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\n" - }, - "metadata": {} - } - ], - "source": [ - "sns.set(style='whitegrid')\n", - "\n", - "for idp_num, idp in enumerate(idp_ids):\n", - " print('Running IDP', idp_num, idp, ':')\n", - " idp_dir = os.path.join(out_dir, idp)\n", - " os.chdir(idp_dir)\n", - "\n", - " # load the true data points\n", - " yhat_te = load_2d(os.path.join(idp_dir, 'yhat_predict.txt'))\n", - " s2_te = load_2d(os.path.join(idp_dir, 'ys2_predict.txt'))\n", - " y_te = load_2d(os.path.join(idp_dir, 'resp_te.txt'))\n", - "\n", - " # set up the covariates for the dummy data\n", - " print('Making predictions with dummy covariates (for visualisation)')\n", - " yhat, s2 = predict(cov_file_dummy,\n", - " alg = 'blr',\n", - " respfile = None,\n", - " model_path = os.path.join(idp_dir,'Models'),\n", - " outputsuffix = '_dummy')\n", - "\n", - " # load the normative model\n", - " with open(os.path.join(idp_dir,'Models', 'NM_0_0_estimate.pkl'), 'rb') as handle:\n", - " nm = pickle.load(handle)\n", - "\n", - " # get the warp and warp parameters\n", - " W = nm.blr.warp\n", - " warp_param = nm.blr.hyp[1:nm.blr.warp.get_n_params()+1]\n", - "\n", - " # first, we warp predictions for the true data and compute evaluation metrics\n", - " med_te = W.warp_predictions(np.squeeze(yhat_te), np.squeeze(s2_te), warp_param)[0]\n", - " med_te = med_te[:, np.newaxis]\n", - " print('metrics:', evaluate(y_te, med_te))\n", - "\n", - " # then, we warp dummy predictions to create the plots\n", - " med, pr_int = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2), warp_param)\n", - "\n", - " # extract the different variance components to visualise\n", - " beta, junk1, junk2 = nm.blr._parse_hyps(nm.blr.hyp, X_dummy)\n", - " s2n = 1/beta # variation (aleatoric uncertainty)\n", - " s2s = s2-s2n # modelling uncertainty (epistemic uncertainty)\n", - "\n", - " # plot the data points\n", - " y_te_rescaled_all = np.zeros_like(y_te)\n", - " for sid, site in enumerate(site_ids_te):\n", - " # plot the true test data points\n", - " if all(elem in site_ids_tr for elem in site_ids_te):\n", - " # all data in the test set are present in the training set\n", - "\n", - " # first, we select the data points belonging to this particular site\n", - " idx = np.where(np.bitwise_and(X_te[:,2] == sex, X_te[:,sid+len(cols_cov)+1] !=0))[0]\n", - " if len(idx) == 0:\n", - " print('No data for site', sid, site, 'skipping...')\n", - " continue\n", - "\n", - " # then directly adjust the data\n", - " idx_dummy = np.bitwise_and(X_dummy[:,1] > X_te[idx,1].min(), X_dummy[:,1] < X_te[idx,1].max())\n", - " y_te_rescaled = y_te[idx] - np.median(y_te[idx]) + np.median(med[idx_dummy])\n", - " else:\n", - " # we need to adjust the data based on the adaptation dataset\n", - "\n", - " # first, select the data point belonging to this particular site\n", - " idx = np.where(np.bitwise_and(X_te[:,2] == sex, (df_te['site'] == site).to_numpy()))[0]\n", - "\n", - " # load the adaptation data\n", - " y_ad = load_2d(os.path.join(idp_dir, 'resp_ad.txt'))\n", - " X_ad = load_2d(os.path.join(idp_dir, 'cov_bspline_ad.txt'))\n", - " idx_a = np.where(np.bitwise_and(X_ad[:,2] == sex, (df_ad['site'] == site).to_numpy()))[0]\n", - " if len(idx) < 2 or len(idx_a) < 2:\n", - " print('Insufficent data for site', sid, site, 'skipping...')\n", - " continue\n", - "\n", - " # adjust and rescale the data\n", - " y_te_rescaled, s2_rescaled = nm.blr.predict_and_adjust(nm.blr.hyp,\n", - " X_ad[idx_a,:],\n", - " np.squeeze(y_ad[idx_a]),\n", - " Xs=None,\n", - " ys=np.squeeze(y_te[idx]))\n", - " # plot the (adjusted) data points\n", - " plt.scatter(X_te[idx,1], y_te_rescaled, s=4, color=clr, alpha = 0.1)\n", - "\n", - " # plot the median of the dummy data\n", - " plt.plot(xx, med, clr)\n", - "\n", - " # fill the gaps in between the centiles\n", - " junk, pr_int25 = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2), warp_param, percentiles=[0.25,0.75])\n", - " junk, pr_int95 = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2), warp_param, percentiles=[0.05,0.95])\n", - " junk, pr_int99 = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2), warp_param, percentiles=[0.01,0.99])\n", - " plt.fill_between(xx, pr_int25[:,0], pr_int25[:,1], alpha = 0.1,color=clr)\n", - " plt.fill_between(xx, pr_int95[:,0], pr_int95[:,1], alpha = 0.1,color=clr)\n", - " plt.fill_between(xx, pr_int99[:,0], pr_int99[:,1], alpha = 0.1,color=clr)\n", - "\n", - " # make the width of each centile proportional to the epistemic uncertainty\n", - " junk, pr_int25l = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2-0.5*s2s), warp_param, percentiles=[0.25,0.75])\n", - " junk, pr_int95l = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2-0.5*s2s), warp_param, percentiles=[0.05,0.95])\n", - " junk, pr_int99l = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2-0.5*s2s), warp_param, percentiles=[0.01,0.99])\n", - " junk, pr_int25u = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2+0.5*s2s), warp_param, percentiles=[0.25,0.75])\n", - " junk, pr_int95u = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2+0.5*s2s), warp_param, percentiles=[0.05,0.95])\n", - " junk, pr_int99u = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2+0.5*s2s), warp_param, percentiles=[0.01,0.99])\n", - " plt.fill_between(xx, pr_int25l[:,0], pr_int25u[:,0], alpha = 0.3,color=clr)\n", - " plt.fill_between(xx, pr_int95l[:,0], pr_int95u[:,0], alpha = 0.3,color=clr)\n", - " plt.fill_between(xx, pr_int99l[:,0], pr_int99u[:,0], alpha = 0.3,color=clr)\n", - " plt.fill_between(xx, pr_int25l[:,1], pr_int25u[:,1], alpha = 0.3,color=clr)\n", - " plt.fill_between(xx, pr_int95l[:,1], pr_int95u[:,1], alpha = 0.3,color=clr)\n", - " plt.fill_between(xx, pr_int99l[:,1], pr_int99u[:,1], alpha = 0.3,color=clr)\n", - "\n", - " # plot actual centile lines\n", - " plt.plot(xx, pr_int25[:,0],color=clr, linewidth=0.5)\n", - " plt.plot(xx, pr_int25[:,1],color=clr, linewidth=0.5)\n", - " plt.plot(xx, pr_int95[:,0],color=clr, linewidth=0.5)\n", - " plt.plot(xx, pr_int95[:,1],color=clr, linewidth=0.5)\n", - " plt.plot(xx, pr_int99[:,0],color=clr, linewidth=0.5)\n", - " plt.plot(xx, pr_int99[:,1],color=clr, linewidth=0.5)\n", - "\n", - " plt.xlabel('Age')\n", - " plt.ylabel(idp)\n", - " plt.title(idp)\n", - " plt.xlim((0,90))\n", - " plt.savefig(os.path.join(idp_dir, 'centiles_' + str(sex)), bbox_inches='tight')\n", - " plt.show()\n", - "\n", - "os.chdir(out_dir)" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "135dbebd-f563-4a2a-9f44-f96757fb4b0b", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "135dbebd-f563-4a2a-9f44-f96757fb4b0b", - "outputId": "6aabc7ba-2896-4a35-932d-bd843f90b8e5" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "centiles_1.png\t Models\t Rho_predict.txt\tSMSE_predict.txt ys2_predict.txt\n", - "cov_bspline_ad.txt pRho_predict.txt RMSE_predict.txt\tyhat_dummy.pkl\t Z_predict.txt\n", - "cov_bspline_te.txt resp_ad.txt sitenum_ad.txt\tyhat_predict.txt\n", - "EXPV_predict.txt resp_te.txt sitenum_te.txt\tys2_dummy.pkl\n" - ] - } - ], - "source": [ - "# explore an example output folder of a single model (one ROI)\n", - "# think about what each of these output files represents.\n", - "# Hint: look at the variable names and comments in the code block above\n", - "! ls rh_MeanThickness_thickness/" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "fe1cac10-01f1-42fd-a4b7-cf08ce0d64be", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "fe1cac10-01f1-42fd-a4b7-cf08ce0d64be", - "outputId": "cd83ef21-0698-4183-9b90-a48a1f90f465" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - " 436 436 11115\n" - ] - } - ], - "source": [ - "# check that the number of deviation scores matches the number of subjects in the test set\n", - "# there should be one deviation score per subject (one line per subject), so we can\n", - "# verify by counting the line numbers in the Z_predict.txt file\n", - "! cat rh_MeanThickness_thickness/Z_predict.txt | wc" - ] - }, - { - "cell_type": "markdown", - "id": "88d2dbc0-e82f-4af5-91eb-dc8aa60f6ba7", - "metadata": { - "id": "88d2dbc0-e82f-4af5-91eb-dc8aa60f6ba7" - }, - "source": [ - "The deviation scores are output as a text file in separate folders. We want to summarize the deviation scores across all models estimates so we can organize them into a single file, and merge the deviation scores into the original data file." - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "e3fb0ced-ed44-487c-86b8-07b9fc04d64e", - "metadata": { - "id": "e3fb0ced-ed44-487c-86b8-07b9fc04d64e" - }, - "outputs": [], - "source": [ - "! mkdir deviation_scores" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "571f549e-9edd-4f8b-a6b3-d76cd23609f0", - "metadata": { - "id": "571f549e-9edd-4f8b-a6b3-d76cd23609f0" - }, - "outputs": [], - "source": [ - "! for i in *; do if [[ -e ${i}/Z_predict.txt ]]; then cp ${i}/Z_predict.txt deviation_scores/${i}_Z_predict.txt; fi; done" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "9f63da6c-91e8-4852-91a7-a4e8bc9d9f31", - "metadata": { - "id": "9f63da6c-91e8-4852-91a7-a4e8bc9d9f31" - }, - "outputs": [], - "source": [ - "z_dir = '/content/braincharts/models/' + model_name + '/deviation_scores/'\n", - "\n", - "filelist = [name for name in os.listdir(z_dir)]" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "8791195b-09a9-4251-8fd7-35e80a028d2f", - "metadata": { - "id": "8791195b-09a9-4251-8fd7-35e80a028d2f" - }, - "outputs": [], - "source": [ - "os.chdir(z_dir)\n", - "Z_df = pd.concat([pd.read_csv(item, names=[item[:-4]]) for item in filelist], axis=1)" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "f1054959-dd17-4c1b-b1db-56cf849ecae2", - "metadata": { - "id": "f1054959-dd17-4c1b-b1db-56cf849ecae2" - }, - "outputs": [], - "source": [ - "df_te.reset_index(inplace=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "6ab00be4-d9c8-49aa-b407-f69946ca2d6c", - "metadata": { - "id": "6ab00be4-d9c8-49aa-b407-f69946ca2d6c" - }, - "outputs": [], - "source": [ - "Z_df['sub_id'] = df_te['sub_id']" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "9f6185b6-d9d7-4651-bbab-2cfba6c46963", - "metadata": { - "id": "9f6185b6-d9d7-4651-bbab-2cfba6c46963" - }, - "outputs": [], - "source": [ - "df_te_Z = pd.merge(df_te, Z_df, on='sub_id', how='inner')" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "ae932714-60c3-4a36-8b72-cd9086a25761", - "metadata": { - "id": "ae932714-60c3-4a36-8b72-cd9086a25761" - }, - "outputs": [], - "source": [ - "df_te_Z.to_csv('OpenNeuroTransfer_deviation_scores.csv', index=False)" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "9c97bd6e", - "metadata": { - "id": "9c97bd6e" - }, - "outputs": [], - "source": [] - } - ], - "metadata": { - "colab": { - "name": "apply_normative_models.ipynb", - "provenance": [] - }, - "kernelspec": { - "display_name": "braincharts", - "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.9.7" - }, - "vscode": { - "interpreter": { - "hash": "f65f66140ab2d9a57fedc58a3b7e1d01f34d12111107cec87dc46b07c8179a15" - } - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file +Using lifespan models to make predictions on new data +----------------------------------------------------- + +This notebook shows how to apply the coefficients from pre-estimated +normative models to new data. This can be done in two different ways: +(i) using a new set of data derived from the same sites used to estimate +the model and (ii) on a completely different set of sites. In the latter +case, we also need to estimate the site effect, which requires some +calibration/adaptation data. As an illustrative example, we use a +dataset derived from several `OpenNeuro +datasets `__ and adapt the learned model to make +predictions on these data. + +First, if necessary, we install PCNtoolkit (note: this tutorial requires +at least version 0.27) + +.. code:: ipython3 + + !pip install pcntoolkit + !pip install nutpie + +.. code:: ipython3 + + ! git clone https://github.com/predictive-clinical-neuroscience/braincharts.git + +.. code:: ipython3 + + # we need to be in the scripts folder when we import the libraries in the code block below, + # because there is a function called nm_utils that is in the scripts folder that we need to import + import os + wdir = 'braincharts' + + os.chdir(wdir) #this path is setup for running on Google Colab. Change it to match your local path if running locally + root_dir = os.getcwd() + +Now we import the required libraries + +.. code:: ipython3 + + import numpy as np + import pandas as pd + import pickle + from matplotlib import pyplot as plt + import seaborn as sns + + from pcntoolkit.normative import estimate, predict, evaluate + from pcntoolkit.util.utils import compute_MSLL, create_design_matrix + os.chdir(os.path.join(root_dir, 'scripts')) + from nm_utils import remove_bad_subjects, load_2d + os.chdir(root_dir) + +We need to unzip the models. + +.. code:: ipython3 + + os.chdir(os.path.join(root_dir, 'models')) + +.. code:: ipython3 + + # we will use the biggest sample as our training set (approx. N=57000 subjects from 82 sites) + # for more info on the other pretrained models available in this repository, + # please refer to the accompanying paper https://elifesciences.org/articles/72904 + ! unzip lifespan_57K_82sites.zip + +Next, we configure some basic variables, like where we want the analysis +to be done and which model we want to use. + +**Note:** We maintain a list of site ids for each dataset, which +describe the site names in the training and test data (``site_ids_tr`` +and ``site_ids_te``), plus also the adaptation data . The training site +ids are provided as a text file in the distribution and the test ids are +extracted automatically from the pandas dataframe (see below). If you +use additional data from the sites (e.g. later waves from ABCD), it may +be necessary to adjust the site names to match the names in the training +set. See the accompanying paper for more details + +.. code:: ipython3 + + # which model do we wish to use? + model_name = 'lifespan_57K_82sites' + site_names = 'site_ids_ct_82sites.txt' + + + # where the data files live + data_dir = os.path.join(root_dir,'docs') + + # where the models live + out_dir = os.path.join(root_dir, 'models', model_name) + + # load a set of site ids from this model. This must match the training data + with open(os.path.join(root_dir,'docs', site_names)) as f: + site_ids_tr = f.read().splitlines() + +Load test data +~~~~~~~~~~~~~~ + +**Note:** For the purposes of this tutorial, we make predictions for a +multi-site transfer dataset, derived from +`OpenNeuro `__. + +.. code:: ipython3 + + test_data = os.path.join(data_dir, 'OpenNeuroTransfer_ct_te.csv') + + df_te = pd.read_csv(test_data) + + # extract a list of unique site ids from the test set + site_ids_te = sorted(set(df_te['site'].to_list())) + +(Optional) Load adaptation data +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If the data you wish to make predictions for is not derived from the +same scanning sites as those in the trainig set, it is necessary to +learn the site effect so that we can account for it in the predictions. +In order to do this in an unbiased way, we use a separate dataset, which +we refer to as ‘adaptation’ data. This must contain data for all the +same sites as in the test dataset and we assume these are coded in the +same way, based on a the ‘sitenum’ column in the dataframe. + +.. code:: ipython3 + + adaptation_data = os.path.join(data_dir, 'OpenNeuroTransfer_ct_ad.csv') + + df_ad = pd.read_csv(adaptation_data) + + # extract a list of unique site ids from the test set + site_ids_ad = sorted(set(df_ad['site'].to_list())) + + if not all(elem in site_ids_ad for elem in site_ids_te): + print('Warning: some of the testing sites are not in the adaptation data') + +Configure which models to fit +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Now, we configure which imaging derived phenotypes (IDPs) we would like +to process. This is just a list of column names in the dataframe we have +loaded above. + +We could load the whole set (i.e. all phenotypes for which we have +models for … + +.. code:: ipython3 + + # load the list of idps for left and right hemispheres, plus subcortical regions + with open(os.path.join(data_dir, 'phenotypes_ct_lh.txt')) as f: + idp_ids_lh = f.read().splitlines() + with open(os.path.join(data_dir, 'phenotypes_ct_rh.txt')) as f: + idp_ids_rh = f.read().splitlines() + with open(os.path.join(data_dir, 'phenotypes_sc.txt')) as f: + idp_ids_sc = f.read().splitlines() + + # we choose here to process all idps + idp_ids = idp_ids_lh + idp_ids_rh #+ idp_ids_sc + +… or alternatively, we could just specify a list + +.. code:: ipython3 + + idp_ids = [ 'Left-Thalamus-Proper', 'Left-Lateral-Ventricle', 'rh_MeanThickness_thickness'] + +Configure covariates +~~~~~~~~~~~~~~~~~~~~ + +Now, we configure some parameters to fit the model. First, we choose +which columns of the pandas dataframe contain the covariates (age and +sex). The site parameters are configured automatically later on by the +``configure_design_matrix()`` function, when we loop through the IDPs in +the list + +The supplied coefficients are derived from a ‘warped’ Bayesian linear +regression model, which uses a nonlinear warping function to model +non-Gaussianity (``sinarcsinh``) plus a non-linear basis expansion (a +cubic b-spline basis set with 5 knot points, which is the default value +in the PCNtoolkit package). Since we are sticking with the default +value, we do not need to specify any parameters for this, but we do need +to specify the limits. We choose to pad the input by a few years either +side of the input range. We will also set a couple of options that +control the estimation of the model + +For further details about the likelihood warping approach, see the +accompanying paper and `Fraza et al +2021 `__. + +.. code:: ipython3 + + # which data columns do we wish to use as covariates? + cols_cov = ['age','sex'] + + # limits for cubic B-spline basis + xmin = -5 + xmax = 110 + + # Absolute Z treshold above which a sample is considered to be an outlier (without fitting any model) + outlier_thresh = 7 + +Make predictions +~~~~~~~~~~~~~~~~ + +This will make predictions for each IDP separately. This is done by +extracting a column from the dataframe (i.e. specifying the IDP as the +response variable) and saving it as a numpy array. Then, we configure +the covariates, which is a numpy data array having the number of rows +equal to the number of datapoints in the test set. The columns are +specified as follows: + +- A global intercept (column of ones) +- The covariate columns (here age and sex, coded as 0=female/1=male) +- Dummy coded columns for the sites in the training set (one column per + site) +- Columns for the basis expansion (seven columns for the default + parameterisation) + +Once these are saved as numpy arrays in ascii format (as here) or +(alternatively) in pickle format, these are passed as inputs to the +``predict()`` method in the PCNtoolkit normative modelling framework. +These are written in the same format to the location specified by +``idp_dir``. At the end of this step, we have a set of predictions and +Z-statistics for the test dataset that we can take forward to further +analysis. + +Note that when we need to make predictions on new data, the procedure is +more involved, since we need to prepare, process and store covariates, +response variables and site ids for the adaptation data. + +.. code:: ipython3 + + for idp_num, idp in enumerate(idp_ids): + print('Running IDP', idp_num, idp, ':') + idp_dir = os.path.join(out_dir, idp) + os.chdir(idp_dir) + + # extract and save the response variables for the test set + y_te = df_te[idp].to_numpy() + + # save the variables + resp_file_te = os.path.join(idp_dir, 'resp_te.txt') + np.savetxt(resp_file_te, y_te) + + # configure and save the design matrix + cov_file_te = os.path.join(idp_dir, 'cov_bspline_te.txt') + X_te = create_design_matrix(df_te[cols_cov], + site_ids = df_te['site'], + all_sites = site_ids_tr, + basis = 'bspline', + xmin = xmin, + xmax = xmax) + np.savetxt(cov_file_te, X_te) + + # check whether all sites in the test set are represented in the training set + if all(elem in site_ids_tr for elem in site_ids_te): + print('All sites are present in the training data') + + # just make predictions + yhat_te, s2_te, Z = predict(cov_file_te, + alg='blr', + respfile=resp_file_te, + model_path=os.path.join(idp_dir,'Models')) + else: + print('Some sites missing from the training data. Adapting model') + + # save the covariates for the adaptation data + X_ad = create_design_matrix(df_ad[cols_cov], + site_ids = df_ad['site'], + all_sites = site_ids_tr, + basis = 'bspline', + xmin = xmin, + xmax = xmax) + cov_file_ad = os.path.join(idp_dir, 'cov_bspline_ad.txt') + np.savetxt(cov_file_ad, X_ad) + + # save the responses for the adaptation data + resp_file_ad = os.path.join(idp_dir, 'resp_ad.txt') + y_ad = df_ad[idp].to_numpy() + np.savetxt(resp_file_ad, y_ad) + + # save the site ids for the adaptation data + sitenum_file_ad = os.path.join(idp_dir, 'sitenum_ad.txt') + site_num_ad = df_ad['sitenum'].to_numpy(dtype=int) + np.savetxt(sitenum_file_ad, site_num_ad) + + # save the site ids for the test data + sitenum_file_te = os.path.join(idp_dir, 'sitenum_te.txt') + site_num_te = df_te['sitenum'].to_numpy(dtype=int) + np.savetxt(sitenum_file_te, site_num_te) + + yhat_te, s2_te, Z = predict(cov_file_te, + alg = 'blr', + respfile = resp_file_te, + model_path = os.path.join(idp_dir,'Models'), + adaptrespfile = resp_file_ad, + adaptcovfile = cov_file_ad, + adaptvargroupfile = sitenum_file_ad, + testvargroupfile = sitenum_file_te) + + +.. parsed-literal:: + + Running IDP 0 Left-Thalamus-Proper : + Some sites missing from the training data. Adapting model + Loading data ... + Prediction by model 1 of 1 + Evaluating the model ... + Evaluations Writing outputs ... + Writing outputs ... + Running IDP 1 Left-Lateral-Ventricle : + Some sites missing from the training data. Adapting model + Loading data ... + Prediction by model 1 of 1 + Evaluating the model ... + Evaluations Writing outputs ... + Writing outputs ... + Running IDP 2 rh_MeanThickness_thickness : + Some sites missing from the training data. Adapting model + Loading data ... + Prediction by model 1 of 1 + Evaluating the model ... + Evaluations Writing outputs ... + Writing outputs ... + + +Preparing dummy data for plotting +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Now, we plot the centiles of variation estimated by the normative model. + +We do this by making use of a set of dummy covariates that span the +whole range of the input space (for age) for a fixed value of the other +covariates (e.g. sex) so that we can make predictions for these dummy +data points, then plot them. We configure these dummy predictions using +the same procedure as we used for the real data. We can use the same +dummy data for all the IDPs we wish to plot + +.. code:: ipython3 + + # which sex do we want to plot? + sex = 1 # 1 = male 0 = female + if sex == 1: + clr = 'blue'; + else: + clr = 'red' + + # create dummy data for visualisation + print('configuring dummy data ...') + xx = np.arange(xmin, xmax, 0.5) + X0_dummy = np.zeros((len(xx), 2)) + X0_dummy[:,0] = xx + X0_dummy[:,1] = sex + + # create the design matrix + X_dummy = create_design_matrix(X0_dummy, xmin=xmin, xmax=xmax, site_ids=None, all_sites=site_ids_tr) + + # save the dummy covariates + cov_file_dummy = os.path.join(out_dir,'cov_bspline_dummy_mean.txt') + np.savetxt(cov_file_dummy, X_dummy) + + +.. parsed-literal:: + + configuring dummy data ... + + +Plotting the normative models +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Now we loop through the IDPs, plotting each one separately. The outputs +of this step are a set of quantitative regression metrics for each IDP +and a set of centile curves which we plot the test data against. + +This part of the code is relatively complex because we need to keep +track of many quantities for the plotting. We also need to remember +whether the data need to be warped or not. By default in PCNtoolkit, +predictions in the form of ``yhat, s2`` are always in the warped +(Gaussian) space. If we want predictions in the input (non-Gaussian) +space, then we need to warp them with the inverse of the estimated +warping function. This can be done using the function +``nm.blr.warp.warp_predictions()``. + +**Note:** it is necessary to update the intercept for each of the sites. +For purposes of visualisation, here we do this by adjusting the median +of the data to match the dummy predictions, but note that all the +quantitative metrics are estimated using the predictions that are +adjusted properly using a learned offset (or adjusted using a hold-out +adaptation set, as above). Note also that for the calibration data we +require at least two data points of the same sex in each site to be able +to estimate the variance. Of course, in a real example, you would want +many more than just two since we need to get a reliable estimate of the +variance for each site. + +.. code:: ipython3 + + sns.set(style='whitegrid') + + for idp_num, idp in enumerate(idp_ids): + print('Running IDP', idp_num, idp, ':') + idp_dir = os.path.join(out_dir, idp) + os.chdir(idp_dir) + + # load the true data points + yhat_te = load_2d(os.path.join(idp_dir, 'yhat_predict.txt')) + s2_te = load_2d(os.path.join(idp_dir, 'ys2_predict.txt')) + y_te = load_2d(os.path.join(idp_dir, 'resp_te.txt')) + + # set up the covariates for the dummy data + print('Making predictions with dummy covariates (for visualisation)') + yhat, s2 = predict(cov_file_dummy, + alg = 'blr', + respfile = None, + model_path = os.path.join(idp_dir,'Models'), + outputsuffix = '_dummy') + + # load the normative model + with open(os.path.join(idp_dir,'Models', 'NM_0_0_estimate.pkl'), 'rb') as handle: + nm = pickle.load(handle) + + # get the warp and warp parameters + W = nm.blr.warp + warp_param = nm.blr.hyp[1:nm.blr.warp.get_n_params()+1] + + # first, we warp predictions for the true data and compute evaluation metrics + med_te = W.warp_predictions(np.squeeze(yhat_te), np.squeeze(s2_te), warp_param)[0] + med_te = med_te[:, np.newaxis] + print('metrics:', evaluate(y_te, med_te)) + + # then, we warp dummy predictions to create the plots + med, pr_int = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2), warp_param) + + # extract the different variance components to visualise + beta, junk1, junk2 = nm.blr._parse_hyps(nm.blr.hyp, X_dummy) + s2n = 1/beta # variation (aleatoric uncertainty) + s2s = s2-s2n # modelling uncertainty (epistemic uncertainty) + + # plot the data points + y_te_rescaled_all = np.zeros_like(y_te) + for sid, site in enumerate(site_ids_te): + # plot the true test data points + if all(elem in site_ids_tr for elem in site_ids_te): + # all data in the test set are present in the training set + + # first, we select the data points belonging to this particular site + idx = np.where(np.bitwise_and(X_te[:,2] == sex, X_te[:,sid+len(cols_cov)+1] !=0))[0] + if len(idx) == 0: + print('No data for site', sid, site, 'skipping...') + continue + + # then directly adjust the data + idx_dummy = np.bitwise_and(X_dummy[:,1] > X_te[idx,1].min(), X_dummy[:,1] < X_te[idx,1].max()) + y_te_rescaled = y_te[idx] - np.median(y_te[idx]) + np.median(med[idx_dummy]) + else: + # we need to adjust the data based on the adaptation dataset + + # first, select the data point belonging to this particular site + idx = np.where(np.bitwise_and(X_te[:,2] == sex, (df_te['site'] == site).to_numpy()))[0] + + # load the adaptation data + y_ad = load_2d(os.path.join(idp_dir, 'resp_ad.txt')) + X_ad = load_2d(os.path.join(idp_dir, 'cov_bspline_ad.txt')) + idx_a = np.where(np.bitwise_and(X_ad[:,2] == sex, (df_ad['site'] == site).to_numpy()))[0] + if len(idx) < 2 or len(idx_a) < 2: + print('Insufficent data for site', sid, site, 'skipping...') + continue + + # adjust and rescale the data + y_te_rescaled, s2_rescaled = nm.blr.predict_and_adjust(nm.blr.hyp, + X_ad[idx_a,:], + np.squeeze(y_ad[idx_a]), + Xs=None, + ys=np.squeeze(y_te[idx])) + # plot the (adjusted) data points + plt.scatter(X_te[idx,1], y_te_rescaled, s=4, color=clr, alpha = 0.1) + + # plot the median of the dummy data + plt.plot(xx, med, clr) + + # fill the gaps in between the centiles + junk, pr_int25 = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2), warp_param, percentiles=[0.25,0.75]) + junk, pr_int95 = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2), warp_param, percentiles=[0.05,0.95]) + junk, pr_int99 = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2), warp_param, percentiles=[0.01,0.99]) + plt.fill_between(xx, pr_int25[:,0], pr_int25[:,1], alpha = 0.1,color=clr) + plt.fill_between(xx, pr_int95[:,0], pr_int95[:,1], alpha = 0.1,color=clr) + plt.fill_between(xx, pr_int99[:,0], pr_int99[:,1], alpha = 0.1,color=clr) + + # make the width of each centile proportional to the epistemic uncertainty + junk, pr_int25l = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2-0.5*s2s), warp_param, percentiles=[0.25,0.75]) + junk, pr_int95l = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2-0.5*s2s), warp_param, percentiles=[0.05,0.95]) + junk, pr_int99l = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2-0.5*s2s), warp_param, percentiles=[0.01,0.99]) + junk, pr_int25u = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2+0.5*s2s), warp_param, percentiles=[0.25,0.75]) + junk, pr_int95u = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2+0.5*s2s), warp_param, percentiles=[0.05,0.95]) + junk, pr_int99u = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2+0.5*s2s), warp_param, percentiles=[0.01,0.99]) + plt.fill_between(xx, pr_int25l[:,0], pr_int25u[:,0], alpha = 0.3,color=clr) + plt.fill_between(xx, pr_int95l[:,0], pr_int95u[:,0], alpha = 0.3,color=clr) + plt.fill_between(xx, pr_int99l[:,0], pr_int99u[:,0], alpha = 0.3,color=clr) + plt.fill_between(xx, pr_int25l[:,1], pr_int25u[:,1], alpha = 0.3,color=clr) + plt.fill_between(xx, pr_int95l[:,1], pr_int95u[:,1], alpha = 0.3,color=clr) + plt.fill_between(xx, pr_int99l[:,1], pr_int99u[:,1], alpha = 0.3,color=clr) + + # plot actual centile lines + plt.plot(xx, pr_int25[:,0],color=clr, linewidth=0.5) + plt.plot(xx, pr_int25[:,1],color=clr, linewidth=0.5) + plt.plot(xx, pr_int95[:,0],color=clr, linewidth=0.5) + plt.plot(xx, pr_int95[:,1],color=clr, linewidth=0.5) + plt.plot(xx, pr_int99[:,0],color=clr, linewidth=0.5) + plt.plot(xx, pr_int99[:,1],color=clr, linewidth=0.5) + + plt.xlabel('Age') + plt.ylabel(idp) + plt.title(idp) + plt.xlim((0,90)) + plt.savefig(os.path.join(idp_dir, 'centiles_' + str(sex)), bbox_inches='tight') + plt.show() + + os.chdir(out_dir) + + +.. parsed-literal:: + + Running IDP 0 Left-Thalamus-Proper : + Making predictions with dummy covariates (for visualisation) + Loading data ... + Prediction by model 1 of 1 + Writing outputs ... + metrics: {'RMSE': array([0.55690777]), 'Rho': array([0.]), 'pRho': array([1.]), 'SMSE': array([0.]), 'EXPV': array([0.])} + + + +.. image:: apply_normative_models_ct_files/apply_normative_models_ct_27_1.png + + +.. parsed-literal:: + + Running IDP 1 Left-Lateral-Ventricle : + Making predictions with dummy covariates (for visualisation) + Loading data ... + Prediction by model 1 of 1 + Writing outputs ... + metrics: {'RMSE': array([4205.49266088]), 'Rho': array([0.45898577]), 'pRho': array([5.62632393e-25]), 'SMSE': array([0.81397727]), 'EXPV': array([0.19814613])} + + + +.. image:: apply_normative_models_ct_files/apply_normative_models_ct_27_3.png + + +.. parsed-literal:: + + Running IDP 2 rh_MeanThickness_thickness : + Making predictions with dummy covariates (for visualisation) + Loading data ... + Prediction by model 1 of 1 + Writing outputs ... + metrics: {'RMSE': array([0.08652435]), 'Rho': array([0.77666469]), 'pRho': array([2.97430261e-103]), 'SMSE': array([0.40227749]), 'EXPV': array([0.59789079])} + + + +.. image:: apply_normative_models_ct_files/apply_normative_models_ct_27_5.png + + +.. code:: ipython3 + + # explore an example output folder of a single model (one ROI) + # think about what each of these output files represents. + # Hint: look at the variable names and comments in the code block above + ! ls rh_MeanThickness_thickness/ + + +.. parsed-literal:: + + centiles_1.png Models Rho_predict.txt SMSE_predict.txt ys2_predict.txt + cov_bspline_ad.txt pRho_predict.txt RMSE_predict.txt yhat_dummy.pkl Z_predict.txt + cov_bspline_te.txt resp_ad.txt sitenum_ad.txt yhat_predict.txt + EXPV_predict.txt resp_te.txt sitenum_te.txt ys2_dummy.pkl + + +.. code:: ipython3 + + # check that the number of deviation scores matches the number of subjects in the test set + # there should be one deviation score per subject (one line per subject), so we can + # verify by counting the line numbers in the Z_predict.txt file + ! cat rh_MeanThickness_thickness/Z_predict.txt | wc + + +.. parsed-literal:: + + 436 436 11115 + + +The deviation scores are output as a text file in separate folders. We +want to summarize the deviation scores across all models estimates so we +can organize them into a single file, and merge the deviation scores +into the original data file. + +.. code:: ipython3 + + ! mkdir deviation_scores + +.. code:: ipython3 + + ! for i in *; do if [[ -e ${i}/Z_predict.txt ]]; then cp ${i}/Z_predict.txt deviation_scores/${i}_Z_predict.txt; fi; done + +.. code:: ipython3 + + z_dir = os.path.join(root_dir, 'models', model_name, 'deviation_scores') + + filelist = [name for name in os.listdir(z_dir)] + +.. code:: ipython3 + + os.chdir(z_dir) + Z_df = pd.concat([pd.read_csv(item, names=[item[:-4]]) for item in filelist], axis=1) + +.. code:: ipython3 + + df_te.reset_index(inplace=True) + +.. code:: ipython3 + + Z_df['sub_id'] = df_te['sub_id'] + +.. code:: ipython3 + + df_te_Z = pd.merge(df_te, Z_df, on='sub_id', how='inner') + +.. code:: ipython3 + + df_te_Z.to_csv('OpenNeuroTransfer_deviation_scores.csv', index=False) diff --git a/doc/source/pages/apply_normative_models_ct_files/apply_normative_models_ct_27_1.png b/doc/source/pages/apply_normative_models_ct_files/apply_normative_models_ct_27_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2258d6a2913d00ed4a4f5f982de7d1065c371115 GIT binary patch literal 67166 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

sN`!b(Y6 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 A4gdfE literal 0 HcmV?d00001 diff --git a/doc/source/pages/apply_normative_models_ct_files/apply_normative_models_ct_27_3.png b/doc/source/pages/apply_normative_models_ct_files/apply_normative_models_ct_27_3.png new file mode 100644 index 0000000000000000000000000000000000000000..ed4ca34a5967216e8d8b8540eddb445f0cdc66d9 GIT binary patch literal 62973 zcmbrm1yojB^ga3kN-I)IOG|gR3P^)=cXxLxAdQ4{2uL?bNJ}Fn($WG_(%o+#uKwQt zjq%=ib%%H0`209~pMCaTYpyxxI-v@3uO6Thpu%9V2a*z^iZB?wAq)mLjEo3A*%PRh z20wV6#nhdZ>`a~A3>-~hvIfrf)^^U;7KWs*CXP-PcDC$Hyi9Biq~^}f_D+1v%r^h? z1tvR3GiEY5glTXQ6nhB`Cm0OF0Qw)UKset520ONt6n(Djp7tl*&0X2#=WQ#yBz5!Y zdnwXKq>nstE#7cE4>Np@DXKjqujb=6=@#C&ThzGIK=+Y}RK3#R<$cVqH>9Leak^L% zyC$Y=K11i%4wnOz#<2s&)P0n*nOiCJCPQf+L&@xG-ori%!>6jfRSa(p@Pfgg4d-|r zK^XKmgCu&~$A;(~EZ~pMJv7$;K4W?lgm?Fm%#*J#BJO@CFI=Cj8~PUds941#qyH{L zt{%dA_q)!R44ro$88je6mvfIVDxwqEYeT>j^yIiW-g>8|=TlSsZiVw`YZAk1qGV&! zz&#!T>ETDcR$m_bMStmXt!mQ;;ER*ba}1Mq5TJ?dExmi14gURXHBoO?cT!1SFle{+ zmc(t&@55lZoi ziOU#%X9(SqgzuieMKn11GwptReQGltew4@1Kh@;H4lTOx^~KU@>#ZP{-8?$1_SU0_ zYyB;TP@7HNTyUjPkKy-^&yzT<9?yGjl~VW1B(vRL8%pnp7QQj}+Rc?t{F$LvJnsH0 z^qKwfxSA38ZvF2Rs|w$1Pl;G#tvrXKqj5F8uFn>u@8ja$qCH`1GiF;lU(4)yb03Yx z`^QucZeEEm{Q(m57?|U-X&l?$-*MrHE z?V0@_(#!_GIzxN=`o3=0EksEtGEFCFH8|6@T%Ty+Jb5y6G8#{-lu}{@7Rmi&+RR~G zMa=+Q;=5%H<3tFtpeGK!T3IJp@tD-q@GnklziK9Rt(=}(&o$tpJ!WWI{Q8#Fa*Rgc z==)0=Mn)G8JvJG)uZNX3!3Lg0Dk>`VOTmO66=>}H8S6;t=ujKocDrwHc5h!4j~h-` znc(p{QbN1#YWVgFqdWR(G}tC^FhwP$*RNj(G<%)?0*~)xy?);J(&lJ;=800COh9=# zbIbW}!mHzQzaWPG`qcz27%W=w1P@&F2IKkj=k=F6jc_nlR#q6SSvOkCt{HcAbydB} z7zGO(+u>}_;A&0y_PL1()y=8jZC&4`&)L#D7J|sTX(|>zA|ZKLsv6FyRjWUg#;e}s z&PqT)uy=F0yFA3d+nKDi_y#qvtbgM41wvBTXwUd#Xr;4^{4Y* za6G5U9Ht$?4-{x{)LXoHKWj4T`ktEz9Q0C5Rhgi{7QyKX7SDOEp@Dz1_f8lFd-L{f zYRPif6TQI9%%|Y2z{U056BZVJH&fxZt6QR3gX-YmP`_O}^9UOo+7gR1cCB6DLC*iG zZ9V!S?S6B<#_IH2hC%Z)GAAde`{5wB16b_Eim50o-Avr{1JyCMJF0 z^f;Ye8AS_HM?V$TEh{XvIJkXB;weEQm=xj?t3REr`4;gE9%=@ za6}l*%*^_!sHkMS*{!EozBDv6^i@3$7vmy`l)X{Y(_@Y%oQnfHzsng@qi3&)2)83U_MmCX}r~aJbGT+oV@h((n3zZ zBewlO{7Mw?I9M??!rB5c$FkaoDPsnF-^LFdL9q-0k1B0Fy#-?p$yn>wa^2>JKGxUD z%9POjn46Cj<0jL1oy194^hK&~*=6Jdl;Y4kK8JxL|HbK9o=h^lM#5_)B_l7HBo;V= zNW^DyY3s3-_wU`C@|`s2C@3uaTJSnYL0ug=QhfCHmfN4HfTfOi6buX{eXfxpG^!Tk zB4LnNS6v-#jAG*Aj<5I$2?;3_D#Kusu?lKxNa0;?K(JX_>5F5sQ*w9bDQmf~^u9ix z{J!A~TW6oDwIM`&KoA%a5#j1X4NhD|BsNSu0uK&G!@%I|X??ghY*#f*>~OFmiGz!~ zR6Ap9_4unI4Gv?=PCs*NAf;pyuajxqc4%nmb4|^Z{u4a(QJuvx$_|!NaLf>DG$Y*> ze4gyKT-t{Be|DQwEgnB{Q&3Q-c2>8#x;h+I2l*q4h!?(DcVUG$QvB`r@84DR{5F12 zf%QT(>WQ*(@Q##}lXI<~ef88QP&So|Ojx*8(nd|XAHl!R_=S&;Puwkt=U;nzkU;e9 zO4RcW)oFA!0QrN*dHqpXc(}uiP2F_&>ZVz2eEiso9a-#{rAxR`Q`$uBE7Cw6Rn>&i zt^5ArPncgMn8;)b%`F`gvr5MsG{Ff~;RjpbzW(ex=Q6o;u~qI?FXI)y`-D+5@YgTH znT69ix2HR;x4!whS_%sOCjALnZoBhm*SmhvAZVVQpD#7;wsaJixBUDx)j~xn*?zXa z?68*Z#^)_0DA?S$5S9I0tIoD-*YDO#CY9>}y=sYwvonXcw|9l@T!U(k>^qF7wJ7vo z%XAvwr=>;o#XY0o;K0fBIl=!ulpa1Tbcqh0a1uBeHnaX#nUd1g1gok7{Y?3#=1Ke# zvG;;r1Uw+*YU}CApFRW;i}++7ee?sA{qt0^v$G!&5ur=Qve?enyO!qU#*ek$95drZ ziq9<2($dP6A8wVm2KO1aOEWi*QT|+}2^#-#nV*;UB7d~Ts}Z&s&fFp*C4~y5*cBhu za^1Pjt&7v$Xf<7r+`d~wBO^E%-3L^5(}A{$Qmxl2DnZ2juKEK>thH-``^h}nHDg)T zA;WthkTFFva&qEUF;MXG;)DNequ&}dplMTdv&a;mot^1-N8q3R3TL(l3DR_!KP~|s z9sS;Sfd^b5MFB7{bYd?S5?Ua+91H1wCn_f26tj~b6wY0qaw#I6bOG_@nWNc!hfs-kCUzLX(0E9>k zp|iFunlE6R+b_1k&DwW7fMWZ_(Z<`03(qtj2l&gAZ74@iZF(X-BtnLrT`t^4p>YjVrs8Zo%39#!iF67fiapuoU;e}2}W!NI{nh#^Jb7GSZ)<76Jg z#kPQ{79ai$&rRBul@(GNn%>`3zZs-*vB3TC_#UP%=-*tOt5@j5fyW<{nD`C^jJl~> zI`DYGs*q-Q{Kf|$!06{^3*?6n#lgTW7n}5VD^zJ1)IZb7GXD^Qjn+-qCo>OkTlK%f zTTfTrXKvbqZ@D^XyZpN6t;xUSFn4l{=`4J1R0bV zwL`br(_p^IL%rFPGsA0#_v$e7R#Zj?-L_$aT2xGIsj`Q}s_LrwbUr*b7OUy%px@lw zybVNF7S})O;JN>bUrpWwcmq`g7VzclMkHo8?Nx{u9m{0qIU3L!Uerf zKFVhbolUmhK->GXG&)MW6qV_4MkENvh6gKs;1?|pyk%q}v@$~}Y+KGv)A(FapZcDW z>G~Y29Bq#Gn~)*G)O1{MbwP${+G|If`fP!1tRW80l`X&ts(NmdI&Nfwg2d%57j(Mr zOZQ|3{JaqOAt^s!3xfLdECqLKAEN&s zGynfo-TYrK#Q)37rG3nT`@SXEDEF@fvr$k*v|f0aB$J_2UT&t=^IySL&Etf4cH<>d zd|y#fpwaf;0P1ZL&G3omz~EUsnJ5*I4E%<=r4nUmOSZ5b}yr6mywiOHy-zeTJXx+Y_V8OF!S zI457VziW|14`2L2^9e4FvyQ{f>i^us;)>+r6e}qw?%w{!=E$SJMeW9Z{D%>SzCC+V znu6k2M(_S!SCHUsK-gi8CaF-%^;V2YoAJSHJ?!tikMxa`t?7m`k$(L6*-8?J;=aWw zlCR`$Yrpq`tk!Chi9xps@8!FPU4bard$%_Ww=WG0460Y57>&>5;(cUpnOO* z?KkHj5IC7K!sE2W34TZ%hD72H!^OoNOyCE&#I|W)9Gye}FYcLqH>mi?`W@p;j5VOY zvReG0g#Lwl-kk#AqF zN|3J>TP}BALUFPkjd>Box(*O2E4|Mh@z4=x96{~Xk$H3UY#@ynn~=*|#MYJxlnE`S z?du?acFs3@?Vl}2FE8BQa335VRywXqsWUvDVM}DvX%EAte?&+a?y@zpbTVVt12A-@ z#b_S&*3Sw91ONac0roMNYj6pPjO;pC?I#Wsz2hPpGJ+9PsA&6@2`5N~(h)Lz36eO` z>Q6K+(RU=h1snNJq4*se8@sm>C;wu9D?uE@XXx_#%RQ`yoyf2@Fb=ENiM7Dl;#-(M zt5G*p{kSg$J*hD0K!mk{s8tDSBkS3EOl)cy7|ht%Sbw5K1A@~~Sr414cc37rpxDp6 zy+Q(j1jHOMS=k3SAnO`}+ySsLD9P08Y>5+?^`gKHz`=qso<>=fH$Nuiw(SI!&AbPH z=pD_%6=Slv`21r5^7>4jPx(R}##95YdS&*qKu;4LxoM?308`f32Czp2fQ+hD2D^cb zNw+B^nca-bW4lD7y25TjD9N`pd#2foyS=@g#rMj6h7Hu6;;yb-uDkO#mkT>{jjS%4 z$^`_++)!0NX36>RsSvuqVxnegZJ$?>GM%>5AgAm^7Zg$=-0YX&?T=`_7bkA1;#Q%1 zpHuC1J!$hfbt%~|Ruk)d%%JXHs#RwQn3VdRhAn{o-`xUugU6x|3w}U|2){~Kq@zQu>%A{F>oTe14hqtr zjIK?|M@P;8I=CLQ2!!dD_jH9n@%TSx$gTa7g<}kHK~-E{~^SRQXlb z$gp=P?O2}{9o@~2aE)7zW$1T%xxi{VfOmCs+FEzb%*_p9wRV7{9hM`x$*(3YFhFrw zSy@@T3bqMsDgy%z?Ioydt4|Bc%j*~^$W6)Fs6iI~zI7}+VZxTI&q0tX+6BIfgBoP> z<>V0_UI?jO)!8vANXpp%OHwwo(|U<89(4ac94qTkt6W0BZYvVVAN5;IZ40fd*=+K| zDMv+y*MJ)M=y!V~dz1M7y?<}71P%@ktYXq4w1M%tt}Y2c5btAS4Yim+eU|)G-PgCp zh8WZy5;8K@wM_ebm1$?mnVAcJ1mj|3J&iv_L5HgWyS=`qAO!VDXX!f`-9YQ1++r2o zr-wbof$EBiSaN{(Sn=!X>MAHL6)V>}wFL0!$LJ`)yiwHsHVZAp;4d|Uz5ra4Z*FZ> zf`c~0c7A@&<8eSqEth6~xzHJkT?s;V(%^6EEx<2y06+r=1GLFY2?=DO+bgFTHq&Z+ zezzU#DyIKJR&e_Z%k}L|hCZ|>{%#9Ym=n18hUHSSOd3`9DZ@^PA`W8=HP+Z&r zs-wX5^>ykA%+m!wVG@rOOo$gdS|5RsauhLtF!zG@Xl;c3Z@)j4J$sD{*AH)QZXoh& zq+CxJsxxb6L0pB%!(V_d?Uv=93#>L9HeBwGbYIVUXPrH?u<*24wX{8j(+UFmfEs~- zFf=mwH9k9}JNkAM{Vg1iy}zk|F4t|DN>P#j?adSQ+JTx$4=k{m>gHStmFaLHYRh}? zD-s00LC}YAv8cHC&xBNVvxi5Xf?U>9{(!!vprAmonk=gktGG8TcuE9e{j2j~zu+#z zuTZM%5x&7}X*n5`la}rP+~t0>-xUHx=z?kzki{7K=Lf5@6Ez@f^j1ZH8a*p74{>^W z8U*1SM%-^uw{TW!o{`8tPUrFzW~CSKG00vB=<1rgc=(p;%9-T-cTOVkZhI@AQ|W zY)ZJ@CWNEi-Jb*BhW!76lR3n<0h*Y!I3f}uPS6zoFy_fR-Ci?WO)Yc%gEd@4{D|5O zq9ZJ31x48n6|j!z|UwSM9%t-O8B;tn-`;7!cs# zG9H9_e8{4|lL;ayN>u5-+nK{+V}I)ECImzaW%p{hx?V1*6;q8)3HkUhb@Vk3#Mz7f zrzMoH&GIfDS+q?Ly?G`N-xG~cZB}5sZA^|Mws`)P_OFb9htx*YmbekNtwVWNB{eP zBN82dquVdNak_t@O22o|-!_meqMl^6OChTM0^WXHMMPP-F?fdQFKk_Q8Jko}VP%L2 z`#obgOhPyCl&!PoG=`EbL{{Qs`&Do6Nn~B~UyRya3{d}fGRG=6YB6;U6z>y!&LdY7 z*Bl0fpdjN%{0@d|;Vl35fUfv+xV?U6u??P*<)vl5%;@PF!{GZ;0e>XO1|Lfkdi*t8taS`g- zFEssmfyw!t+5}D9NaC4&Ap@I#dQthuh7`+=>>N1Z)``R#&45V4fUPo$9v?FcbJEoC z7>a-anY!RD%)i5ru1a7H#+DR24PoBCduqJK;6`mRruw(slPfB=LULFMT7zekH{ zt^NMu80`VNmDO(}9pVZX`U?B3!>vTh6td(G_tBs3G%Q)YTB7REhv4pSDY5(VKy)(ea4pINmwW{st5lT}i21R~Phj z5{r@e%d;{ALxF!cjgGhlt^Eq}qo?viXQf%HO3Zy-;pyDAu#u=2MZ}e9Q$>(uFo7 zy)icBt@H+ek8eJC{|dgU(#slyQZh;9CtRlJ_|1H8HD${QIg6|aJR0Hu7GHcHngl@c zlR`DE8o2dG!_tGp;EmH3S8BjFDXCX^xnG1QqVA+J5Q5W#yev zk&>+C%)v6(e3B5i-0Wfy`9Fg@oUte<-=ln1*OJD7@YGi#hSALC*|&aLTwcRKx8&Md z#DAj){W4^;bLnPh5Y9A}l1ty5ZK%;?^CT8Z3p;8=`xmb4WvBrsb}_9A*F24GJ&Vks z@k?9khhdiKJOYxUW)=Ux>hj^*nFHMqyMA^MB!-1@e$Nhl7J#Sukr4aBCc5FJj{3hn zKbobi{9Z>)8He-4Hu9HYSlVFH(riOx1!M_QjhXsr`2_d-{ek+LGC&KIPU3#_eyF7rqy!FWx?u z!s0v{8ggX{+SvXVL2|~%V9(_4k#Q*7vbU?eh6CuI#V*5Xi-|U?{VMBap{$}?K9V*3 zU1XnsBOzHd-VzdSEfFvA3xv|8HW%i&jt(GcC!=V!OItRZT1{xz}e3Qb0?mIrgS$?+3rcm91W;9qtpc@sTOyE%DB?73w0n<_$d&W5MX2D z<4YgZbiV?@bCv{X4PbxIOMCF**NKY*PFz#vzV(9K{fnVbc;R9G5$O7DuxRx0E&KlP z+L99Vx_M7}p!&Q|NC<9f65!zAfWgSg$@hQ&_p!bn&+lsasUVyB9U^Q(i$j^J!}xAq zFsERpUK$^p#@_QK-q?jxY$zBbf6Q3EvovICR9-kTI2aLP4BY`tC+(L-JIs?!4feS_ z`NApk-*plxUilxc(Nax6_Bv6BoNNoQVYcE>Y@Ys}Wy6iOD^sF6TsF)|Rtw}f2Au{R zpNpe__UGQLR8;qKb8~l^?%&;?uGDMHy~AP3_@80wDk^Z9K8V_WJ~OnEBj5Sy`+2Rx zheXPe9zM;>%;;n!GiAX8uyOp?A-U`wQ7AL~A|Ju`EI=`?R00l$Bc|C(lEgpBOEK|H zij@3Kwt>#vcddkg@FxMp{N}0!`3}+{CZ?vpfbz;HbPM!i0}=VsGKgkOqQ}udd`NPS zNym|i3W#;ey}J>V-?t=J9uQ8{wr!aod1C45`G{HkIC2K+L-p=b!lOojTPuAoT}$*@ zNi<6z!$|wtm~^F3$Afw9nDqzHyzswDAh8mv`)V7>ua-i92Oq%i4x0DXXLw9XR!jiR7*t4~q|5KzA>CfzH~gEu-~b^uq4hG>-)(;X>&NGol$4*-jY`V%2}&?2 z(wt^aIcjQ*Ikc2TV}yiThkX1J1E&CqzV(+Y%)2C)1fs)A?zpNBo(N*OiVEsLQr7+N z4UgDU`_^5?Xu?EYxW>oZP8XCkKU0*@rhTO%a|Nacw=o_l)d%mtkju>bbsQgGJE&4z z1PZVFI}QEtk$KxL;WT3(pJ(6~(<`gOH@b}`jgF>g=6YywzpC5F?#sGc3U_{7Tw@hX zBJ{w(&n+cg@DTL(YjFzN$<8_r!Sru!eHFaLp`t?BUR0c(>P}kkj;T;An2PT#9nySr zv87&VC>B1v;IWnt)$`iAyO73sez-;fh`gLv(cS58^C)k>>U-S)O{^PK{qNG!h=7=d z@YH+nd9_QD3^k-MbOOx=axU=i)FXI!cnl^q0+ME@e)%ErQW##H?Ym!W+JF_>)y-?qz1Kq}`4hvp^t5hlCuVpR0gc7=fMIrviZ5P5wWkN1znn8s> zGDXGPF%@IVYoh8tf)y6nz+)q#|IzHFp)E=!C_tYA8i!G6Az%J!6YvKxl^*6M>bBor zFWeeHoEV_OZcgf2$$-)}p*NF$do(Iv4}_}sV9r1#)c-w@e710Vt@mfDGN;e;uE_0A zV1&xh3e!OXaFYyLwdg70l|O)zHS2r1&5}9@iMAx3>txVqXP`D5G1mD%=NE;DcpW=) zZSF$Hjz5Ev&eZu~e63Znz!j(@zLNpUu6B}9GCuZCSnzyJjWV{X#)dYf%vevUuI#c- z?Z9C(^PHv*;M8ottR_6p+?{KzlYYU#%!~m_)h?h!hCl-A$t|E>r+oc3auZqH_w=u} z?fej65%}zgK|w)~5>(cFq6rfLW{7#eTc4{{X1}l5V&T9Z#><-|;K2r|U?tjLuwZxb zKPw9kTv|+2^d79uvgQ}?C(x^wY6hL@*}*|n=XAB%GN4O8H?M)e?E{)sAJ7SMc2EC1 zltXD*6GDA`HpArB<}h7fe6R%^XY9fc9IM*!gqoZPJ*_x!mav1)Z9-Wh5dpERX?yOt zmhzzvsgB$b$R`CQCD!}rVPU8=I_s|?6BRix@0UKv`k5iMAQL3jS+S^~`*F{57s|mk3L(%Q{Sj5n9rr+<95qBe+VEm*CfR-G@ z2bYCfs`?9@Y#y%@hMR-LR#Fz0N4G%UhY0mQvtO_wYEpuM zQ~Zh%@>?OhkS=$$w_EpztTO36fd#&MHt^ax&XbsWZT&W%}*BTe#{*ul};(M6NZ)W2LO{QRKy&2;XZ;jugMi zEOmyqXkj{st9p1^S~f})M%zRHrl)@)#G%w5tI}Ux5ixIBT%y(mPQ534xd(XsCw@1F znfsmC@>2u4CK}?9mhHJgg-*;jwsG87g`O_=ZY|S~NLdQozewZPm2L5tGm9j)Dc>2Ns}Tz^Xz+Lj!|Bq#78Lsd4XJP!Jh8c{_DGtZ176 z@YzF|!qMOmB8bE#N5jNwVN;4RfP8;Anrm6pAlbkMyfM=aurSBa)lPZfDw&#^dc08G z{3$=5f`#RKsf#i_U@iAB`_ocy=J6ct> zPnN=G-A8%K6CTcKBr(oFFn^2qpq-Sv)Zy}I!wB0c(TIZ}CM5+GSg}@CSC@*4%c=yQ zZPtr6s{!^Mcqhh16+%}DCIgRwM37vU1RPx^CMIz%yq-4yL%04Kq6Rng=()~_b}{z< z@o^CmJh0y*MJYKts!hDzq?a0&P5SP79baCK+SPS~CxF-6x6$7MGTGgOeO{>dw{)S z2)8mZp5}cLGCJXe2RT6XQ>~fZlPSpk!_Q_SgV6Zh4%$}haWEkpA`a?(-~mDXAZ2pd zNM)=6v~6?p5>3dE067*BFa-P|vh@Mkd*~YK@NnCiTGX7?OM+B=o|kFaEKbz*b~^#(yZJ| zN8teZ2h5EkA|f+eYQ;W}FySJIrd_=#wC(7wd2-m<#MNBU2GQH zL|FlK2pDu6Qu`qyJ)%xYSI*af4)+oM^hH$_I;b5VUgo^2Yqphy4-3bYkY@kr=ZE1X z_}PCP_38+FJh;Ym%5w>RZ{7=M+{&u)z9r{zenj*$3Qe=@fU@tlscc|*U+0K>2+;jU zPxoYv!!P)}f~TM@++LMW``A0(9yEko^yCSGg9BStwM+Vsc8P=lqaOd|9$L*wMd`dZ z@Rl0Rqq0MxEaCTQ7(PkNR2Ym2l2UXWc3o`Givc|oxKFi9hM=l^JSfLBRwgb?{F%-t5ouwaeXvTFi@2%xgYx z_w{kiuuoJufP!K>QYX7iZ|uBQo!2irj+6^FR(VDr!3lTveG-WkH(%Vshp5dEAUdW zn5r>yV|0eAXncznDuDRLo$~(`-DAoEg$IGhEpKYGQzbDnGdsx35m4LQDm^1#vOWTJtSAhR57%Jyg zp=*DPSHied&^ZF)_Z&`3%iaPm?!<&`hSS^bdX*AkASDAAS8>-`D=;B&UAO#QfyZcr z?*+Ubug^7ZuP2Nk3)~8@xRp6&f3v0*u1X_X6U}%=L!T3GECPGw+-TfaJHzG!2P)H-0(Pa5(ve#v<_>GcOy7pvc5d%#iTQ~>(i1Z zm2AtCr7S{xXzg_!D@vl3oD9rF=}Kc|Bk!GB~jgG!95YJ!Ls?+y;^+_OaYzeeEI-K#I$;X<9M%y*oN+%Rj4;W|TFhiKNXb9-p=q!qaP|S%0`|^Vohgn zRNz?)|Km0uMrvn<=j}1pgM%FK_*y;g=w7Tc`&{FMDB?2z&CT8a}m{i)mtt>=+WL+6@|f@KZgz8rhK0m@^? zJ1wT6@`8^OV%!Vpfb-UUWrWFP8gV$-!jF&`GzEOI*00L|Bk>DJd0#<}6cl2)yLMWB z3(47qRSHT{^7P4pB`5D1Gay=xrE%6Uh*6KW)^6O>v$EeP#@^gSg&(@`IS#h&G$eF= zcw`V06EAg4jfq%qp|{^nXyNY>uoVKF;T(+=YfQh)v&j>PBaHIzE5{?vcXf06ZUe?#A)y;n ztc`EAUi=yMyI~*75Df1j@j?d<1^r@FXx1B)fofC3!b(d`>~d$qS1=;shb7t@+Mbmy z8RWLh-Eb%rB80Yw{u6`D7vT!w)uBYmJNX!?gQmkqK zd?*ZxU4_YC`v!Zh-6JIY@vIGgeOq%l(y!=M>kYn?lx;EIq*J>yL{EAtT5}MYN>;^ zbeh;+I)o8u-nFC_eAW$DOPSA**v#n zv|)zl7hHZfIngwONpZ{W#K4@!V)yZDi^fHO4Tsr|3!zwTwB&2Ty@A#Ec!dV1+4`YmG8CAH2gn@6+v;cA(=Tf* z0cXe~X36sX@GT60ltC;aY0W~Zqc-k>J|m@aUm3UEHWJ0e61 zdh+BYp8`eIwG06@ce;=tKYz3_Bo-p-1Az5Vu7F^Gs&v;mLFDo&4m)KclZ(L1AC|c& z_wn(8x$7|A)a@(9&k@kwv$xc7wpm=Rpro`MssiPj0o-Wum*jtbP_1bnn&6*p(jWZN z{M`EmIY#bP0!Bx$i!O#__4H2KZUIm0K6+nB$nWw*O3StQcu^OF^re%9*Y%8@z!vQS z^(p|D13Tn`hs^pgFv45l6!4h)fCLy_Hu!6@!d0xiP;iE40arf zmUeskmbhd1$0}9mM7%FrOrz2cOI5K9N(bLF&}OAn0ot*8dCznf%Meg)a2ehQl2F?i z)YX*onKvvftUZaiIP<|Kuu7_)+uai?Z5;5;(Ph`N~r5RYFP=_9LmBpSOv-!`*i}XHQfNvJHI3}M5~7Q^aC!u} zaCc19f{V+h@n8ZM1_|h+s0N*9{O_Pw~fr(AH?~w_FGs2em5hSzQy#YcwkVJZnhCdA2Yw9K4vun{*d$rN(u*_H2QdA%jlub?rGG)Tbs`uf8@uTj zOd-zW>m%Q8(scyHHQ;+|X$O6b$RDJFKsjg#T0Ed038+q1R#S8PPpQd!^>JKrCR-^# zeto=uB_4UyTq01%>A@h8^NCMUai5db_m4yLj^%|wUsP+?S0ESCwLQ7Ym2S(=gqKd> zsa-25f7Wwr(Ba?NDTinOWVGzN3h2cGRv|iXz`~ya_-7BAaI%3tNnT+89@Gal3&{Ve z1{Zo~zV!T_erT2F9@h{|eTfU3WM?-iP#z2l%b66o=15L^Nb+a)a@|=uP1uSop1`UZwXxOb%17! zC!nV@0=NX1L4>*M76N|PWx(~G{JniGC8d|-GDlI)-K?zu&aDXtNXAJh^S;%UKUR4e zte{+2t@#8WeFaxl`QE2by$=aJ%Jnb?k`Z{S@Hh!11s>wTj&>J7xYKOUA@DfcTRQ94 zyLlroe2oJ&HtLqI>4LU15dY;(Am3?Fxk!{Twm7F{OloA1{JCXHKmWe9rR+2)`&CAs{U z=H@iN2UFjHwo${eg4YV#w3TAexL+c|pGXE4j#IX$g&rxZ#K;5O9G~Zem=mM;1|)Bz zZl1}UAK1NYz)WkcYmj*Pv5&37CUs8Y#8Hy8pOVDLi1y8zOvgcncw^ucSieB1p^k*u!UgItS>AZL-|FkF!injv7G9vr?bOcF+is1ueZm_l5Zb zVrH>ntE>Zv8IN3Zcb-ExW)a8`CqI!PsGRd5Wpftz8Ux0Q3vFVmqs|c#a*wO311gR9 zCw*?NJc`iJ9=gs_9E=r`5($@e+SKvN^{A?h+~BijA71EsQZS)a0?y_N2t!?f`;M{K zNPG>t1yxmplalbF!k`GCMx;uA968&XNiGm&io{3GjN!g7wwR!m_QV#tC6SHZAsmDI z_d&w~<)`eNRAIm05%8C%?+nfz(XOsjiz_ZXizq-135`Y%Mgzb!g+Y{=g06+Tw_!0uosHaG1BPH|FqBdKv7ed${>a{p zX@bw=!}n;xXD$2#J@KmqA~Mmbwt#f4Bn*WIGZ}&_C<(E@&dw)w5gs$Jyo~*1I=ppk zyqOZW?EOGnzGqpESU@@!+E}p#g>bHaNHG&)mYR@f>f{4-8p$gibEhpZ^G2tA+PkB+ zwJ}wd5WH^%b8+M1Qib*Oz@a+)%`4ZJA|v9#n_Tmdz}dtjs0Q)XUFUsXIu7p0KyMWr z(74yom8n7lXKt>AfX;#gT!yO@HJV{OtG^Wkyv#0a#wUOZsubX(sd{d#_fJ zV2>f(yvIAuM{^$e_dk3X9CeEV2>spzLh zEyT^m5jja)f1qp4wC6m{1?|M3b8NNm4pv5}8Pvc7kfkT)=eLG76e+Gh$H&IleC?_k z%|13hVzeR=M(v`yD**#`3Tl9B$qf?2S#mJXcKv8yto3@U#!5J!Y>JWpaqLj*79*>5 z-PTN85Xn*ih0w0cxeK&SmTmCRIgIx93`m(ChD12;xIB2!<~01e)BGEb)HW|gXHoG+ zP0lMN9d)w_6^j}i6nYv`%-;omEB(xIu>L`tK2E)WPEpG*I7G7+FLzb{I$)j^l;$SK zm<`9WprAVLxB#Kr@8)G;V+=*QUuzg@Q4Ili6uK6_6O;B!1hIA|oot(C0bI)(`0}O~ z$NChn_#Ok6lFr!l8y@H8Hmf9&mk^C@UNP2;xwK$#MXPb3oqP-tE7E*l>)n5gzg^F#{F zlL;;5Elv-|{%Z;ZcwlKFd_+t<&Wo`7ulolH4}Gj?ea}Ful-DuFEszo})9)eZDB4S1 z;K@v=)}%dnjC)@u2}Vg>>-T4S$r01lV{F(m7eCY2w~cf1Gef&Fo&LH4if41K6XN`! zgH}kokPiVMvZ;Z08wK<#4@jzk2MB_tW@05=koz| zZntH|qeG=SSya7TH-5)yVsTuFgF|7goD=h8r%@S=%csEz6O>gOW59lxgol5Ap3Z)< z6Qy;?{E&#pA4;a6VO>mHn+TY^V}OECU(XXC9}oHzktuWvWgvbhiRm{mA65?o4^E*_ zzXoQWDuTSQtk_lE{ALp}J3%3h5CuXKN8zDZQWEiWEOH#Be*fbOkL{W$F?AEFYa-5X zm0LoiY_?*ZkO&+fj|1u6z-N!gZA%2n!@!dM3o!ZWUmU3*C%Am%2Phx#p;zPcIEN^P z2?>d)CLFTkGV5e#Us;vG1wVAT5j^&!0@QMEUsg*@K)^Pkm)8h{bQ;F0kiBkwesTk6 zEkiqHsAy8oO`ObDJuW6cu(dx1&ByQGKRUazWFc3Kdl`)W6?80y02y!o`t_Zni=?QA z^k-Hwn^GX{UJyGu@X;Y4`9INx*?#Hb1bH55Y~sSO_YpoewQ~!yQn3YfK}CUmeAH}J zkmaf-mH}jw5RdwE6?$LrK9HnAhcWWacoriA1A0qKOF>y#tzaftUC;$k&;0^QMH?aq z2fb8!pZE4p-F93aqXEr&Y;!%s%m2H=+Cp^+`u8ndz%js4h>N;-&Sd`7#7b{xT^RY( z>o%XYur^?!5vWnRQk0o7zw~ma65OFQ&_lq(gj0C!3w591{PqJc@CXSFb+Gck%MqAK zG92`dm#&-nQ+4Hs;>~uD~lzIBRWY5W|D=3g#Vph@qaLJo(HhaBP<$p9fge^_T!? zJtOi9ir`)Ud@N8<#~XjeOCQ3d1AlYEt^b{L@nS38uFZxE;R&;%)+bse;4%9$w`|7@ zvOf31RE}R_9b=Wczig_6dad#6*BX7~199~qQkvE>yzHTN^v#a4)*DZtdO=DuSZC;! z5|yCwH5xr0+Bvggu{0m*?VjeYd7irZy5>;E*w55Pnu_sl(Idh<1;4DG?#POrV`3h) z4t@F*=-s{vg=nU#0aGC2vt_39RGNgNYUH(hm!TY@Z$CB!T@Fu}v;nhu4=0k2U=5%p z@DdCUWBa?1O8Z$e1=Hh*MnmRkd+Vx1A_o&l2y_*oreC|1fv5B?Dk`u5PMUPRcnk#` zyIox@zrw=7x*2_t029QcZlXlhJ$SGE#%MHqK72EAEwmlo8T+JI*x4S02FZT%Q9a_I zhZ%@|A<#=rKzF{y!7O;o1&dKPI_M?7LpM;T#Ghl(*aE#|18PLhdim~G01}A^usKw( zLTnjSrMyML=mwY>Qn7j+N9`*a`XRNBS~ex{>sutCXV`VdP`naoXa+YW(?i-n#=So( zU%0JcNd7*4r3smy8R_Q6EzEGv;oTv0EPg0fh2XIV-;)E#0>lKsDLV=fD(6#dMGE;4 zokra==PxtHG_6z+b-MK(e#JJ!*a=$m-^a(_i|bqI+n;g=oz(_4nyJ@*!1i)Bnt2ll z8omsH7o>M^u*>IkZc+wM5cI80HM%jA_+2@Gg7jA0*H=ijOxvQ^48b2_06^O|RKx<+ z&>n1aqvOqS&;+a$=VCKe0avV6-VJE#q4Xrr#~%2SuVe8*MZvuSRed||vZFS{%!W!WMF zyhElBrsX3D#WnZ@tCUoS?DjfXW8%z<7HLx@^>eY72ze2yqHf zguh$uPc#Cra)E(vgm=q7t;)Ng4irEJcv&|>z-IWhxcdpS5ys`s*xhJ}gakSCR&e+V% z=yYd}i>%h`)D~*;Q{XHbO9Kl8-7|QNff48?g5F^PUhe|DJQiBw)`#HyZ2WMAusLz` zSCPmD3}W)aceUT!Nn3#wJ8@#7!YDx{>rvN44-=6nWuB4NhSrsOeVv)`+31^D+pNWXOt-fjjf#UqgZY%1 zg8WTq(p#xSQ_x}TRfh$ZO;AFyw5l*uy7L@5}Hk`1Dtx&#SPNQ1^ zZ;?LmIEe=Y-ouB3qZ}Y`T6zPoReNT59sNQsoN7A@V~AcAyAr_w1cwdn4aZt0Q| zR6wP>q}<qCp`@cQo+%vbMGjgqKUDx?NkK_0ptgLE1!;d0jQ+{sB{QKTA z^@xm{H8GW$o=ytmM_X;Wp|k@y1m{pbLJ}qa2Q>2^`5$PcBSN_=5H6vS!EU|{r<2bH zRkEe1UY-AcrF~K(O&NsZK8y>HS}kIXmEBn=aV9umMp%f+dnUJ5hW9F&<76Lm1BuzsHm=3^OLmu#AZrv)%QB-nu`W$r302xT1T_-h|Hb8A-gn%iPrv(JU z-z`2(#sWD^vtzTB)E_@Cy@vS6aS_p13k$emZ&VyKHTcvO{q&TWl}DG3O+i+V{FT}D z;S1W2sqDP=A4zt0_&}TIST$+G0n!c{AVGH+bHG;CBXnOhDJ5)h!fTXaeT<{pQFuqJ~l45ZaFU}R$D;CORM z18$#YYv_Qo+wwuus8xtbjZ-~0c$gH-EJ4_dbt(XU%weo4t*1u{%>zd8lI8y+>+06% z2>g^d9(N)n>QAV)SH_{)kG;=c`MwN*h9yr{=S6$#Q;>MXQ{&*$?ECo^j$z^A0#B@Q zJ2aV4fU^8U$LHc#Nh9qArI@Yvo*)GJSB0N^gs4S1mU{;-sO)tm>>~qu&Cw?01NYL-?jgV!iwE&7aZSeZ@dK_EpU^O zi@LKSAxu30SkeoQ5pRhQvm(Oq4*vXV-6G=TbP3jBK_Cn~GFCw0ALl@3&~Jvc?iC`RI0H%Eg~ z$5T=q|HI*UO?M8#6lUSiS2XvZAAIUX_%c{m*v71UlTu|vstWvmd|UZt*zC}I_xJ1s z_&G?MnwlnZjsPeS1m+Ls+YvE(pL4qpQ+QM&_yBu=hV(7)-@W%%qFh2|W)u*hEWtGq z@!Th0_d9#FdiuX<4NI2sKfStdsqgOZPxc$85QM^X3IBG-HWChfUrEnq5j*GET&BfT* zD1CYLOG`&%!0DTaVwNajg|@c)A%(;zjihQQddE{rJXr7Psl3DB&}?1f8?twu*0yuD zM(Qs^xcCwovRz!LyG?;g2G)hm!0m&AikiP*zxFQLX8iw`154=Xu-laQhmss0Y=k+~ zyiSkTybtXTys*NY7~66|9tHqxHfaA{KLYl2ZUiw0jNv^1>X23W=GT`L065GNa+C%f zh5CkuI+smZL-vp6E784D9#1h)BWt&;NG);a$O{M%TQr7M&<@!!@2{iOX!&*4emalU@U~J`PRH4)738?Nm7v` zLVk}|AYi7et|ry__{|#yvFD164`7S3po>tyRCKZXXQ$N&Q{q-=E{LJ*r)j3!4azFT z-QCwA4B`6v?vJ^-i>Ex6cnMpwsdo@hVK57N1DT>0oCvdy(pclZ1K%XVY_0O0Pnjda z-Rc$I{eHRDqkeB9CZ?^Jz(XoJ1;xTbasskHnV1z-OvuGENMmUohqzAs>W!jeRINAm z!wm#4a1`L9Sd#b9?iW#J3WT-(FJ4K5uy|cT_p&lv26{<_)sz#WBBx%9Lsps!Jf+un zZuURA>m5~)>a9uZXY)eaKZI{B6f^~*t~#Kr1?Mu0g&dvBLp=k@ZlYB`=f!} zH{v)eE~xW<$0fqOa1_cAQ(!)xqU<5KaPmn^Au(#pN~-Lmy59DkC?_e{&u+tCSYk|| zxNA#k>uMtV+AuGudT76tkRmvf`B0j}CNN*;4PHL)Wr|Qzxjm>Zo{^VYt0K0LN9;2* z6k6Id5*!=_T7?F$p2-W~c=F`|e$%DwU(EHpxWH_(aiqY8+a)tc?0q z&RbRbF|8L~TbTN;=esbJOR$aJnNx7q)=kzsT1|tSt($fHxr8nR1tEd_l6WiF4~X&6 zfHTc+?3X148G-NwQK8g<_=@mNu<1 zmYb(gq<~XK-VYt#L%{Xx2Ou&7zW@MLMbIF>y+bHC#UJt)HL+dCNZC2lAWBjh#41XS;5e;R_ZL-ejRWz;5t8J zxCAJcW>McdAlL!Ip*t{}6%Y3WfV(NqM0IdWE?%Qk!&?N4R~J2mQ?varR#;wO%`11W zfxp`seGa4t5s$pVB8F%@Wr^m#eYDNylW4r5L!!4{lXs(#kc9!mn-Tr>BvMLJOF| z=mmgvy@*`cIwnQ&qyIi7s4+FkB(0g=8M$DGoz@!X_o#n%ihIqxX zE^#bKK3|vIwbWJ0st9YJ86Vo?BWLaOzvO&1 zSz3iIaf6vImZ6bsA&E;le{m5|{X-{q3CJ=BWiGtR@gMH{(sLpPrQsXrucKDTakb*- zXr5yCtf$(IkrKMLtlJ0A=zaKMwuqYxMYYY2+bw#Jd-6EZLP)dlcw4>4Of65Br=b6= zZ@HnT;|N8wBxxX#vn1EsQT_AkGA-hE$8Sqx=g} z6tQ4~ZB^lUR)eb8c894#*P{C*ESUA|z-J89{@#{+b!9vZhneD$PmW z6c>~>;3}F|$z`6|9r4pnExY#H(^+}qf7AFWsMH`=_vJz&UIjv+3-K<>3E8XDM$ zzvXVSXXhz7pcPx{r~(m6V0HeVz>YVF;i?-NMgxX5DPpxf6h|HX;^;FG*waIejk7mt*yM5=i6mpiGw=h4!0CUzuLc1C^T`y zi>$8azxnhC?=&uw>~JF$pM#aPb|UZmR*>(FP!_V9%rPvQ^k-GedLNi5*Ql5gx-UiP z!sWK^Yc^On10!3~Cad;uP7vdI-|WcvlHXS4)^K8^zEjvr85gjuiLuT|4au|P7@o7J zBrG|MKCR4?0;jP}K8vuJjAzt5b0Q?qJsoZf-mjr|=EM=H%X!@hP&AnYiXQ;!Au8fx z?~izHO9wclgLwe#Zjq7b>FF_XaiRM983%uX60W7K-S(fZQ7kjFS9blJCmt?xaq&?$ zI?{z|&;>m-*rvt*f@DE<&7BCgu%hHI4*Ss8C!dZm){={db0$ZKyGIOYDkYOu>a5U8 z{@V{7O|IZGllmw_P`ohPTwJK8$jx8hFPyIg&Is_k4U0^QzZZ**_rmM)xg8n`xAfv` zFW@;jz{CEv#mV#&xQ8yU5J@h;MB4=Jz4s6WZ*Zq3=Hwh6k|VaBPb_)W1}gG`;7^*G zh&v;r7|yi4xZUfO$tG*MP##m|!T)MkP?fBGf>jjZcsTRw3j)qeE19J(J>0BBW#+QQ zirGLLCeBYp7_{otl2<(R&4FSDSt|8FP+gqqW{$9^=;IKH`lQ$QqTB}CIkd!DUPbX2 z{GA7f-~v{69EyHEn|uKjFvME)-@`3XQM}A%3l$n&O-%vxY=~$Rp}Ku5th@d)RdP-v zm6$rNd}Tbs6#4aj*_L>LToBv)_~q5z86{=VhD9JNF*YtGR0w@$<}h|HIl`c}|HJF= z&BW+HhC4Dr2>2P#Mm74s8HFxO6fEhnLys0JY)cq;oOHL2RAGM^tPq{4=2rN{-23 zH8_zq>g+Lyt$1q^$2k{<3Gfb8p&0KzT!4eGkS5y6wF}{%0oMY)i7ywdhn?ef?qjN@ zhKX8nn{9S^1qB2w{V|eA;DeaN{ki6N_KU?iC-9}{7wNGt!f8)G0hX=T(zLWw#A`TV zB}=-d$Z~Ph=x6VrvLO278d;fuX-02Ls)U*mi462|Y)nVo?8pQxs#wDpG-22Q#u;8w{q**%3{hRjwS$e!vERSinFe$92yK zmi(JSI0Nk`N!s96k-?fOH?bGV)AmLBK^>lnOfs?J3FRYCbKWKSA|tOyW8}SL$RQTy4e!4@H$+Z&Va`Ba!!+|1S-s)kD=e#BU z$??rzPZ*X~jH&uegR+5fFoJT!OAfwI=wHUPBce3Giqn>C*ykA-b<%+L$}u?To~ThV z`c1P4F8zC6%Qw`rVCLD*3;kk-zoCy5{C3<0+?)on%S~N{Us>_16RXygL=1;vK^(r- zHEqj7lMnkpl&y1cO}MZ%(mRYgTb zzs~BuiMs6H7=-kER6Gse+nE?M?6;=B{K8Qq(zy==NF!r$P^=NuEs2kx7i4e{YSKw8 zzAjc@!JENKt*a{+KdTXiFDNkWhK*iiEiEly>pt(mNAOqFHO%M;%rt(+UfF-JZ#RFV1m703|NZ{Bt`S-a_n27e`?#Ezkm zA?V?t-(?(=($BzVQMm>Xh|QY`;T>{v$sG7+K0d7{U)QocJEF%-KOnX^+*~!S8cf{% z?u;lXz#e5aKc5cpkmEDF!im;V<={B$y1Q3at#l3Dxq!5zplqY0q%WPk`c$P;9}ae) zV%;&a?W~hI2LUtwmghcE`xLPd71>z0ot%5)m8_Um1~cO)k(VB34-b%ZDlGHlNShd% z=P1e<(lg?6w<-bLt$K*eZvynsz!CuuxI+#%|gn(A{_D4Z{&}g!PySB~>W2mly zcse7P%R4*|b|YNCdw)<3TiJr(H-ju=k%0gup$T}0Ap--1JJ!{Ck5m-y;NVPnR{<=N zbIv#Sh1|y8IEBx@VAS9&Cua2@Y$r?#m#n#pu)b<1(|X$Dujd6o>qi4BK19cmaIjuE zu^zyK{99eE$C63G-LP$^s9#)s>1WCtEGr}E@n@2afY@qqXAb+*3%OSvT%;?)sE=k( zepV&UOb-28n+Doz9Qh-l{Vy_%S?I7C+X0$~QA!G=>)gk;6S#zp-C?qxZ{wvZQW%`% z;u03MU*RotZfzmW6(=rT79u&=U1?xp|W2<9|$HC##ZZ0k2RNoUthMpirT_cUcD80m-LWo{bNG-9#}3& zLm%Dd!~4i0BduP|tj#sx;hh^_74}@V;`;(*E23BgfyeWvW~g77mU=C7qB*WNZ#RIe z(cX$eyoQO}*fC$BW$Y!)vqF|F3X4}t+rLnjd2h$(?TjQXEoSNfl=v0(s$zEyW!wpO zB}Im#nnV0GUdpnEJwS{ieuDF+O}KDb`I)@eQ8CKx>p26Jf=B@?C|VPXqEZKc)CmY^ z!c2Kg3jJ@!cs}-J^YzEv_&l4pN58o$**5daM$^)L1nhe6cBv&FfBx6iSCHdHGd2CC zet!qyYZHlGR#tzKJ^4^tuCbA3D($kLPMBmxX1L-0>ko@fTvF}v)zQs^XA%^pG_QyI zv;CVL6){Fsa{e%z=jB>K%bfXz16wmV*@G6j4tZ(`)8rDL7))JU)=IjD9hiH4?nH|4 zLPHF=2ht#lRR>Ei(Jwi48ma#BW|Weu6~Qx0fZZV=`EY22U%!ea~JC?z3dS$x3961YG91(^L&u^)!K9Y>m?yi z89Sbj!dWDxWmr-MnJD@B?lZ?2bxc6ukPsByk_dPZTV_q4_-L}fmSrP6G~ix|RIexR zUAEx<6Bmb3W^v2v77}_Gf^Wv6IvX<*grvyTymjVrNcA@u22-cj^KP{~F>6|}l_@Sx zI*>Cm8g_~oHW!!;5ckjQlEFZoi2B4E3@=Pckuv%eb9{^eVfo<2L7=0rK*aBP2nlA} zUL^yI%BX~)fe|FJ7Im6?MUE6j2on>1P>C@g?wm@DY)9+t-pwFs9=+tE3 zQ*-Q0Xv%Q9u%_}yItbivgPRWzjjD!hra&>C9aFt8&!n)!jLlow73Af6K}Uzl?RLE&^*=@DqtV_r{Awb2(WJ#~+Qa z&-J~CX-F(U(+mR8FWv?sfIi@rMD{S0$f;hz#O>KEq|f(swfj)QO!W`m4eK}{CByICZvBVel~7-S<8&(>FR|=lX$u^ znAHhto6+>NNnky@yCVdWOhwi+6*JSPKYv1c`1#v&r98-@!{3qz{6%jLXgvBXGkpB5 zjd%j@Nl7HOg2JT&*ZO3eThH%_kMD`WqwMUr`gz4OjpMhSFhD6rwC5mZ)1POEOg=&+ zL7dIcz}eiLh!Ur2$U>>0POfoaTqb#xyO9{X-5EQdgxHGAU_Fjg^FCsmQBTh<5Cn}K zU0jIGDMdeO#AIia3TEt^*d{^YJQ6trat@pmRQr!_R|qgd#Zh#0zBVIORAV$dl|)Py zDhTv9f_3(yrg@+glJTe8OQsKZ9C%HcXnH0z)Gw^9wOS=S*w=^`<`d|~CJ!ZU0m_`v z?DlfzyCM^>3j=tB`cGy@8k%-CV}o=N$BVsZ%1`<&UW;z3VOFiI{3hU1|52{B0!vl= zDk5PC;B>K;(1r#iYBN!Slv0xEFEA+Uzo`$tKnG#m$Qi3Jc zkZC}ER%rr0SZ%Eg!*vT66xYotDAqP_{Z1IbNGHHSnrHcAx1x-@mT@k=>gT1nnv%2< z=rWqh5sz>f{R_CcHAQu~sosD*De$tQNv?^L)ZpPXLdT2P0LfSj5{ag)fVK8FEp>LP zUDRh1M9Y-@#9#`=swD!Jx|rO-gD7?a60B_MQb~54`S}7bc=-~cP%W*gTJ6%ZeBvYU z5`7r-Y<92I)!=76y?+%__r1w4=m>^HuLE9U?x42dQ)@kU09tVN)|;w5fM z`>n0@hh~eE)}GP>LrchlB8#E9k%4|$Pn{*b$U6?9*UWfRFh6ISGk6RHmY6ijlG4*Hl4$5`)>VUyz>PYLx$1klW!Ixk2;cSAe?TQHA-vo63zBbX)#@v&s+3$OAE{EL?i z+C@5ZSk28}C1hso(UqB*$}3P4Q;Pw6^y>O`TZlX@B`&0qo!!oG?2Dh88vc{$!9~(F zOdQ61lBY_ERb`q7=x6J6&1eiHoc4#1(RI$xPNsYfGg0N`qPUdAbCv^Sbjo@ph~;bj zK597JgT;@Y0UUH0=yZ)?;agQ$wdL$LaS(`Fr=CWV?cT3}SFgN9U?~$eMq|Ly`D&QSJd9W9sZ6%0o19wSj^`yam}qF}1`a;o79!x@ zGha*KecX-g90z1tK?7P)G*~zs4pPXF!ji>&CsPs>RR26JA6x&AgR}GPGKCbd?_YvZ zUw1GtY&Q@QD0I?H+xf(0c>0SkFlUS7eEi6&uKVZ1z5|81d0bi=(k(TN~MgVRQQAc8Jh+}^NDM| zHUB6pTb)$VX&h!Q$c^FWrpZTQ&yY|mnt*o-q_wZ#H{i@}rdEt6-sWZbLgPVM8K5&x zJmz_@d3HRf3ZaA-1XDaSa1wbdw2H3h=QoVa8!Rv9^CmVONK-)N+rFOLV@naX!h9uC zhB#+tA7uEn#SJ(x^VGJi*Q;u@oyeNaFdUJ_b7R#3A`{4Htv>wrl*OH^lP6q@#E!4p zwQtvZEkG<-r`t_5}^roBgZk zMUlyI&+&<yTDJW!23oC;pd*pgv*$;x4xx0|&8mL3TB z$4NpsS7Exw*`4V|1^Gl4n-L0X_-jQzGMNP~0%KP823br2Ul*2dMKREq3-mWaRz)lp zv!SU{(9;354?{MM7D+Plm>B>>IeQdq$YuN**a>A^P8f>l7VJg24fg!##?YI!HTytvH3Pe>BFY!!zmd8mW^CXlin=1NT+SF+tPI-d^|KxcH-$kD0X|yp(Ks>^4uMRyY$4h`3zg1q#mR zhp%>Ghn_v|7#lrt4Vxwosc?yAB1k#EYLPqb>)$!U!OG7K4qo$G6%Xdr+$w5KpEYBU zCLw_hD=6I#Ibf*d;P%}f-AWgs$i`#XOxWuyM?THWq>K_RE}6U8-0UbBxq>hg9o#0f zu$7l;sGAPv(Pa{p&CR%oJJTIJbBYTY$?5;H5{>W>{B&i4W-eY{fs!6yHIi(?`9%m-4?-$bZ`7 z#l8>o4UnK#6{V*B<5-08=1tk<-V&eWzz_!Dzv66c`WuK1K_VHRUtFBOJ3mro;AH;& zg|r8WdbOzN@=}$a{$t+@*RXMAMuu%SMR~ftxTU3P8kapIlbGC0Y#^q?6gn8+W*_E) z#|VPYrDX1NYqBdr6=D+}IG67-WswfDyPWVBK?a zHI?A^_rK?ny%ijRi{3AY972ND{a>0Pn*N zCYL;djnkm&i60+?RL$s00)&A34U5|o9tWtwGm{i+pS2wE`D)hZ8E^qCtaD1a!5gHa z<2Ux(w6hDD{k<_L)YcJfAYPWODHOG zzat~npaflq zuW3~b4Nbs5VrutPAl!tf-(HYWG?S6}kZ$a95|`mixz3y|F^vja?^m?yQ7CiO?UiP% z)xQTV2o25p&51oPtC|KpNc!dXhM)aA9Ya+ySsI2)>VtQFHDSy`XE*u3ET>X(Q_Q=JXRnL*Yl`v2G5)`i0WTdL9UK0DZnp@~+|v(`0qNYmW^|UL z;3Q!vTOcofllNH+t<#r-fN1V!tx!HOvYpY^Zoerd4TSVnSr*=75Hez65nDffPAK%q z&xyo{LEHNsvC@(#(&b1Rz6u!C4V46pNgY!uak%3A+_`n$%oz+vVT;oE`^ifc6*UFm z8gROE9(`A>A?tjhsc9IPy`cELEt3+RlG2aYEXbiD_XifitC_tWBbUQZ{z6-ergQ&l zI#VY(z@|q3;y{T&$*H&yO|Jn%#4r8f@Nn?j@#j~z12CLd30=g2`nBwI-7mZdk%QVA zhMqkgN7F>M#=@*o$i^u1zPpgpOLEiKF9i%UDsbikTqjP%Dr%Z^t{RMZI>_x}2S zKWmvdC+E01MA;c6X9s+4#q@qh4VmG;%2z_TpS&NuYoWGkr3o1;48ic z7aV1NhgHz+H!c=WXmF~6LVm{rNcA06OXx?P;NU#s>rhLtzqwwrCA+y@g{AVcc8Y12 zYCKP?f2G_QtxIa2{b9zgMTellPLT3uJS22SdR>S3i$(tSLB0&63l1-RHMuqF82EsJ zx^|5DCOQW9MrB|aH3`Bf`F+K5H&`qfqCUTka1Pww&b=CcxF;4gs13R-(RiJUx8tDI zRnhvHJaCB@ltTH)@&yXBR~{$~Mevb??L6U(K}g+B!O@mCwzLOBbj| z_DK1LZX7$`?)MEfVBg=H8%}DHDbW8&k1MLnaMq^~AHWL*B7H{h`KL9-GWL}S=*jSI#{S*uZ1}Wg%^!N5=Hm!^4h>GCE1w&mq@Hg&- zSch{kw??0Fz>0t`fxoSJlaNO+Sb7IxJ@QK=#l@mOp}?ohuh$3-xQF9Y?ASKAZ;!GC za{vkYtrT?EIQ=|o+tQ8|#<+S@8UCyHWK*kK(^Pfm?3)qD$TxTMkm8WUyb*B6m4zjm zMZ}kU?+_*2pP2u;@9~vPpK#TO2jhCrIbtEbb6A zj=|yKO|X<108#+09{^#411BgJg#l>l-UYJ5z`p@OovPOAYY{rQZd0#Ch@{dBEA&Yy~ zpI+EP?aRlTMApbFQU+A~#i}qjp67ZwMp1T#8^Us{zkMX#N=4)x}I`3*J z>Nk_jkZdSbG)+~HkLF)pr3RF($H>au-uI#3;NIT_p*|{YcJD*GdHgh%ICgye{6Q3i zSDa0~gW+XJ)T&o&ax?QB1TABM1qB5NnCXv5mK-VYVudJ3YiSXK+C>D^w9=%LvP32O zbO3yw+Pix@a7{I{D}f~I_72y@UK7lk0=X1$_Qmk<=sLbCA(HnLy6D=IZ}H$GSu?AZ zgqnX=wD#InRiN)BA)aqMcx<}w!wj~$CG{G?cXvpD2kN*Z(V3Hqg_&nb&oP++v-xpbTQDZxLHe@~%gSWxC-@;s^Hwm~ z*}+N|&7C~Db}17!K@wdC(rDvvr3=KrswxX{nt_%JgJBX95@S9ovFu-FUW9WD?983B z@|0|HJ|jw($cF1o8bRtoIO`^ECoqP(I>{OQX6lM z&3vsKw$8S4u4%R% zP{lKcz9<@~8ctEm32gHg3f^XY7DG3A7p}32gf$G>)g3J`NiAX)0rvd|I~)Cpw!Q*c!4EUh z6Bd?^E*0Pf)-<8Ps!3+q@t>U?Iq)6Aof56ZnJJo^k@=_+6>`00)$SeHES8^7^>cRz zOmtT6q8-QORZYURLX-y=0SuIs1V5JsT8aW<7>bP5%xa#^+HIrcSuc`pSw{arvCe-$<2M0qpH6gsKT%+4%FMo-`Eq_!zxp+-fT(`FWdMOyM?*Flgg9r}>#{7zfb4xQorr1&BnL z-w)_|MSSsQG~jYR{DdO;Kn^&qkw9CJ%MpeBDFmKSON>0x`NqaWzN~3GG+?L$&S)gy z1Aqf|i`gKysFxQDG%dMZ6dMWbAH78QW*Uw*>p`E+M%dgKh?BIo`~1cpawx`;bKxT? z)zO{%*VnhA>%aq7D^Xc~#f*xwT__aTb=Jh=NMFf8Nx7}WKIZ-s4;wD8>-Tx>0|)2$ zEsj0KpG1i0(7Dg8YUlcTx@DB#kb{BEYl`6@guK7P$ikb6?%>{5}t(lhPGNAczFU&sp!iremrpCoIb zCNvp!*vQ3d({1d6DVJ?6jANidFOh}Z_y+Jt=Qf4A)ft3aZs#?@ebWjuxoENl`A6Zo zx&Fm%yv>)y+@^%U@q!ti{FhKaHQOY$jla#v4@@rT9Go#4G}Tc&K(2fZY;n(G8Vy7f ze{G5UaohTqPEuOc)N-ZHzB5Kap->hYfw_cT+_^T9`I_1s&-JfNL7gE#WgW7GxjoD^b zo#?|h?#i7H(hnet_Bse{0_t)f zNIb|57?VB~2WiU((0aB3dTS%%;{I!8OX1KJdMBx$S_f(;KLdv%C}V#KRFQ|{50Z3g z6?m)RgVK*Y)f0{V^f_zSMmrcxpm-pAu~n6vCP&tVj2iUxEuG7jO1pY0TOYmsJ6sGv zkh#Mrl~qS^sUv(w{ZhjPp0!fMhRyir6_{DV{+%1^gd9uu9mV)Cjs0c z3e+zDyz2fZ4i=yYs`C%kz#Ae^u;TpP{|XriMD5>8-tVX)LIHfB+t2}Ij}QcQ07Ci( z{Vyhsa6lnq(xAX`v+Yk#|CbaF1m~;gYSD1+f1=XlKw+Q(r3+x5!$1Ut5l!46fV1?q z34APw*MGd&DJDP-e*l#rmLM;UAUbJid^SDsMb)XWJRu?d-F{8@l@M|KJttZlEi9gG zJZy7YiZ7Fm605``wm3eEw^weR7_OTzyC_cNgkJp33>QWFwi z3cIZZm$RFl+1M*VcAwU?VSu2SIOpQylf`?H zoU5A20Rir32RlzmYRYxqfjWdt@5ES;FZ1y5Kv0{VL9w4ynU)2JnuF$eA;jfG>H!=* z(6O%nUkNn`aUlIT{@IVfbR)9apq?BFiJzYzQ9FPD6@WN13KF7m6#$*D0U;9=gqi{R z0zuRIkBslWqX9_Zph>>cu;uYs8qYAuup=RXB=d07qDeF&S_F3EM~(M$YYC8!Yf-Pb z#{pm;`A}U<%|$AjPc0(V5NVZx%WOO4xz1Bo#JB72iK?t$%wz5?;!hCH*qM$edw52w z^4ybwR7q3aURetOcvadN99f~M9r8)WNLcYTyY@G1 z1F0fi@PeJ08d|Js;4i6f`XfT>VeH`{QL9I+#(v;o2R1$JF)@%{5>nZtsl?SdpsYGx|NdI|Ax(0M5Lz7~XK5Nx@; zxg9lN;RPw!jTt#w$NF(#qC5sjt$r*1mqi-pASI3o`YXY5#c}NXaP29gS`pMeyoxvg zM3+S)H$1J_>T*Qb96=KRse1&B{ljDG5YU?ho<)vh;8Q{5%df%XP`neTT^tOs*>feR zE~k(-zo)p>9jnn4W`KFG83&LOu(r*|2ByB;%=OBq^07nQpTqEmdV<|uh|x#=>UKrO zZG1!+tHWaZf6Z|8n8g43Bgdj4DY+DudQB@;_98GaSyRF=F2ULd^QbbDQZz$XdpR&_ zIlimQ{SGQS>jFZNF|?|igbgICZVp(9iy}qX)1v-<#K%`@GbQmct*ymfZVoInb(oer zebVLs%4A z@z-}baSn@6p?(e@=nYkzpJz?@#7Pg{q~|;C$RxC799+sUmnM~xAdvJXXJr)o#BD%) zl9Ywjk=nPrakh(9H=C1d!W|meW>u~ro zf_S>mdsDdrN-GLNMa7N#s#-Gn{94h%;lJFhb>BX1+R?~s)dRc^^cdOlJ$7!LjeUK< zHVmehsqDT9o_VG0S|4-mO))d$nj92daBz0Ew?SDqxmA)I(06&TdV(lkMN%_0eS(D9 z;lN#UZ75cwQ$etsx56hTMl~Ey`$%f=F79iQMj7bFU9vI;Wc7!%a95Bp1ua#eRCbNf zf(+KO{We0U0tySq4iA4QtvnA^`4ieB#nIPS39yJrAM?x0FFX>iH9%(t0IkuWWUEA; zpJQzO-o>YOY+jp)=Iwr_$B8W4>=Et0$P?z+9+$o=LpP!^P#{DCfcW*?P6nfQg+$o0VJVW!2^Vh3q_;?UcrLp(-t& zY)oyRy*BX5;S-p@uc--J(!-&o1TckKI^NpX#N(@#Im*oF0oU|YrU4Y_O_^5G$}w0C zwz`%}ym%iK*`K?-pZq42dB6Rko}Z+=!awl-?byf|jiBavKXZSgC&xgl|8qODp5% zX7_+hXO52zy14NQ`@x0une{_c$k#WxPUeyLjI^;E7J`qK@>3n+m@ zO@Q+DD7HX1$hoLRI)9p8NC-(m;ftxJSACW2IL)XAigUMX_CSUIY0y%j05>|g9nc=l zWqZhD7V*nSTcIJkSL-M47MC00y=GFcU$YSs5v{fJoy&eUU*#l?3LqiXIFFunzlNsuz~GGX*K&4IQg{KIAlvMwV>ZW&rv(H{b^TgkoLG(3j+XYtZ`1|~a?$yy zifR<%C^IMwou2Cz_|$+8>@vH+&wt9t{mz7K05nwtL{4Nx1SWX@VSF*2lKt7OqB&%=nxunGT@JOjkW`&DMr>ZIaHxaMx1jh4k9XLE<>LSc(SpU*07H^ItGSMCxCJ^$4F7W#?OKaByKCYilB;k{0bFC@I;I=w!zlKw|JJ&}WuPkd6)s8F}5`s5xzNT}Z#! z%~+peSrzOExnx0l@@OUqxu;S;Xt@$dVZ;bkW+O8oaFB;18&J@VOO( zn?QE~!9LI58|FfqiZ0(JL|xcYtoU4R51f~8dM)a*?67Onj-5pbhK6Rtm&Ps}KG5Ml zhuJH8=PWF)8g7G=s?AMA2aKK=e2<+JlJYg4FN(A?h1C*H9@z_KFYWExiFtTj4~A)`(MaN&2}(@N$d=T_8Z9xds0j*ZtkL2(cw;+~3&1Q{2_V za1+%c@B;AkMFmNqfIq)xTr#qha%(t~dsGziar~4XUu&%{mSz1UHsHdl1wG1c7*eZs zR#?1_nOC031Z)GJ#oC3~QqJ|MB~^&%ZN~H7XnBi7)_f#xe}459OV6Y!i;ENoF_MEO zAV7m-p>A5hO?pKPoTIPj7TZ>dHD@-=h zA)T-z_?^5i#;9C)7q(;TYe%&}_;_2|Zeal^@hOlFDFT}UExkjdtgNq;a>8*&k@6|{ z+R|1Fi^AD4`C2QCI`9%3`|>r}-tXP7=gS#YlBA6irLYyY`L>5L6NL zBm;>X(yc$atGD{h%qYTZXv!HIohajGc@zl@&kD3OY5};UBRf$Mw)kOO`Npq3R5(lb z;IRAQqUIW8>y81m3sG1JN-FEbg+a{>n4|ARi|Pxv2ue!~ji7)-4?_vk(hS`&bax{qB@IL85YpY zz!NQ& zho}ocF(df?s4F{B938@1;TQ0+M@Fh3KMd%zBuwz~MOF{_>55?d>lE9%PM^SWnr>cC;y8stk7>RjTR9 z?^abt|K-md3FG5TK%Q;oL4N>UYG2sX`;UNtTcFAt+^EFb#bFTi>SOc2cg$Gu=BTjJ zHd#-=;aUxVhVt?tn(xN1-0ki2Qlz$i?_2Vu#>MMQS_e0kQ{HEnwe-Es9AM|yH1$nSdZ4l)qw~+* z5KG#Z#O4atDk5$3ih%!=RDZAX)n>}#WD2YZ&v zlBGFsjW>dQK1t5980aj?APTu*S5vy280noJm`$6OA|cQ*)~`tvi>`t@Lxg!Sp!QYilmHGVl)|Vr+y2eryw?U ziyA1}tSy&M*w>vVHWn!3NH;X9P-R3?<~q!#btHJ$bj16PPDw;u=C?XB&mOBQ3m@4g zRKo#TQDd7mh~VeBYy&k#gRpOu)xblPZ5okIe}DZ7_ZyXGLLlwj?6gtCjuD=Kf0dO- z>$=7&Zy^edGGBo3%Y*yt0;XezjaOt=?>LP%jf%RY`|TZq0Xa1NABx96fGO@AzB&NY#WS>zIEI;Zcyb-lyFA zc7Em0Je33k_ZBq*;dIe7g!(%4EkFE@NPL%%EgA|~2hED%W4qQ_saU+gRG&81KEMK+ zo>#BBjKVbRI87U9TS*>+`*-_+dd58VnF$^2>LGr7Ao$2I8>h!_ytTQcC^D*% zTS?b~f6iMoij%uzz_Kw9?+M7nVrW@&XJ^MFh4h8uR>wJ8?}YW3j^l87&e)bteoPs?J>6_+@p;(mY?$Uua2iD zIC0({Wbs9cjVtj!O-AlhV%BQo5`d$gumhxoJPyJD7NPIxhw!0y->h+d|9(C)lGxp;lF-pOgJL-VMpCvo)LmAm z#dlA3WrWUod0Yx4k+G%+#Vl?DO#j3?@czRbit z@D|UAdY#Htk_2+!jGn(mS5biXUi#_AO^cU1aZM1A zr%gaZ_hg~&71w*F68s!ubOwduxs?mZd-qfC^#1-JW6r&G!Kx)$We9l}g-(Fz8KCVK zO8WH8YX;D`JhY&spZdAHOVX&WZjM}ti9zvRT{cYBQwtlE++kfUp(k)1;*RJiw_k2d|qfCS0rx7}(^9>uuxyVT0T-9`C6fe`2cg!# zn~jcdiTEgw_5p%pmmNBpoBUJ9GE=&!-l4p@I7I?z))`r>k6LaA+u*jMhg0mXSC*9X z_9lN;_3!}Pa<%ylk3T-HyNatG1iTuyZGRegv1dV{zO!>nE?Bs25(Uw<*5gs~7DuA2 z%WC5pn8U*r_75ZJ1>iXHg)Hv_#R9yg*Rp~!P!CMbxj-K!LPoy$*!N0C#JW^k>vo)5{ zKIvMJa@ZZWFFClozzV!aK!1f|{+Bzx{>G$g!T16YavCXUfXL*B24{@Y+XB^r*L&h; zlq2d1q~AnZ)S0H%DnbBHxC$VyDfVzDcYx4Y}VeX@4nOQg=b z6SyVN$T)yhu)0$s;l+R9XYt{uJkm@g*jROI2@pwLEG#5Z@_wpVx$SsQKW!gCOeB6- zko5X2MGnv%MW~UkMTU9&qaKRDY|I7nfY|gYq~$apa;bP>^*+1+GmA=oH<_bZSP=YI zEFi1ZX__vpo3Yjgh01Y}*irt$x*4NZb>>a*>=_sk+H@M&Rt+XDC?w@RK2)3oBFFND z*%H^vuifQ$Aay|PKQ_h8ye4YUeW}QxvhC^F{76Q29sZX3Qz@kZ+X&er(U;Al{2=2O zL}&&WTLn_A)FoQz)=gvw2SNjb;rxiFz}BfA;)s-1?=Bw&85GzwT#8OS~@@`#f~mX@3AWl(#Z)^5%1zs8Bq#hNbk2Gk=MQC?zK;+#FxS zJ(C$LY+VdIG&E4$qu{6N@4sfG2*7{wn!$(yn)rhaIQ>7W5y|}Vef)RZE230esr0X= zXX&_hQy6ucI4P-v#Fj_f}w#Ih(V7p5EG?+PWKCuku`SG~23t6+Lxz54)${=T!o1!J??Q;GyW& zRp9%QBH)wr-{ioHlBLDQ)NWzT;X0!C6x~ zxp5hXHB(-xIWe73%7k@$!6_pZO7i0Em}gamI%AZz1LnS^X%w7*m_Yb)KLt9l$JXQo z`R4;+svS!=Ay@x$d*GC`Aez`GJ=?evO>v;0bcG+_9V4MDALlr5RGnFp{-&= zf24YPZ}`BURt!ShH^r>e`{Ad?UdJr`OI^>Gkr6DW$KqT^vUU|1!9m%5vl@bTV8bTX z&mPVC0hpMm&pgHx;?6GVI7C*AEGp~kkTo5xkpRz0L4~?_ozqIT{Cv9j-rhinzLuCn z4+F@TcUXY*gmWaR$H%yK>5(2@nIC9HSaj-q z426D0U=ll5*UGMn`>H>thYtomDJj#|V-0;$W5~!TiT3+nQdBrF-exy$)~lBRBY(Kp zA}{Ml;pBLr^x_Hu^eWV#rpUS!9lYDqcduZq~sO6NhCx;NNB#MjQHxI@Hi_^uowsN5d zXL4^&SW+_ZOA#fE$D;oICH!^fQu5xQQF>zj`Ev_{8p;bY+zN)NDjgg|MMWkRWB3s= zA23vLICf4$#zXFvFK2JP=#8)lMm}8m9&|$tS!mJtIz19S!oN1EF~?9Fy#GG(Pd&7% z*z(w@>9@5RgWd!MUao|f_}%VyJ|uP=KRh+2p^i}Ah*Pwxt5Ktx0n#t?ff6twMXF3S zA=!aTBA%Gza}`G8nR5JNCE=xnl&167a$z3ooGe6Y=5gBEug6d8#XD4hJ!UGxF_=~4kaZ?u8e@F!Tk?ZG^8PXTy!Kke*>)qt*Pj(nKZ{MtCeyqWMYc9 z=&64E)_UTr;(8_89{A>qg&yd2i(ea2JqDIW-@Bhm+l4VocDT`&DvUp>b+fXfH2WaQZ~lR${OVy98IU++Y;(W_EDpP6>x7M+I+A+F~XmqF9CHKp5W|%VXS?1za~FRw|QK z(hYYi>@vXo4OhzT0Zuq$MPzxkc`}r|cu8JYOo?kK#v^R_j9j@|)Gy4R?`_o?EkUN5 ziEA+A=0@|qA!*p{!=MJAh`;@#JWHxRmndZ_B@n4y{0`o!wRB! z#5#BkdA4%aWi#@_!?&;)9RJBB{_Dv%f2xRx{a{MUM6B*+EtDU3J)iF1yB#ysL|0e1 z5_h{8se57BaJrWKB0?9!#El6cEkt#j#;ESYDGHLe3um6YWC@B7c4v(c6u?p+(5M~8 z7CV#@qLVamDf8EVENrk{@2wig=rduxd$EsI+*^SmDypEvNUE_KlwGfOQro7heC+G1 zRc$Gcz|AsgSJQUh7B$de!f;bh8Y9iEfy#!24eunHK44%4Eg7f$l=Bfu7WeFbmKv!<8!9r4q97^h7Y*mtVy|nPn8HIpJ*E(^P+Iak`pLj_~li2zU{VK@Bw_SUugKm{AZ-+W%!YczUzng)- zS!{x^%7ae~CcnS`)z0Vn=u*gv|GV(?~NukmgS)o!C{aIEOTK@;!MCKPuPKH_7Dk6!IsxWx9YHFA)s zfeH;b4l{J@0B*$5lu*e=M#8s|A5Ved&MNQ%QNHafI>ero_+)om0xR%gjmN{QlQ^a# zw!*tt6BBJ?l}`i``pkwVi0z`uHp!j){?Xmo+CnZ7=l`BNK@Rc)14BhicgnwN*YQb- z?zIfF;e=YTRcal6>BU9*Qm+_=kkHtUYx}lGWwk};p@ThXl6iv<2-;_owz$i)R%4hs zy})>UTi450rzA-SyvMusjzfiSn}#HFm-m5|(;twpA#?17jm!2HbDY0Oq@NSrCq3a{yu^pFCC1NakT`HP|OU%X&U;nal= zOG|dJ{rZd<%46XwRHC`mL`{P8`#j-e>cNpZy$&Cr%2RYV$4!w~@y}^s<7O}JpV7R6 z)>;emBOiV|*ytE8dC=wHU1^~|FjL12orU%<$EMF`pz>v+bz~o^{^D~rgl#=19A~#; zC@&bCs@BA1DP(L&CkLp(@(Q=FCu!8>;3XLuw!oNC_UwbhEZ9DEL82vpvJdUM-1`8D z;4mfN5{2*@?HFS*&l(x=AgsT$-}J3JBYqn+$=;jjP*l|B25=W*V2t6yGQld2sQAMs zQ#}QSiV_)e-;d=m*BO}=+HBRL0_X4jJ7|-F%)uXi?n`7irx#gOR1eicGikZ;=62N1 zagKck_ju^K|8^49l`^eNt#_DTuC}Yc+}_y{SY7+d!gj@sMT11&rK`6@OmrVHWPanu zvY<}^9vtI=IqQsNw*?9K>Oo?FC~&jrLD@ip$TUS!ko@CwlOpw!juM++JVY7O4#meU z8Zj~9a6uY{gqXYVrBC7?KVsvNr-BF7s1Ch_lx>G3!RXzW5w>s6*O(tE_X5!b+klTU zEAC_wvA~{J9SSBwjp!=ItmENPD6AA$vZ2<15e7k!+zNUeZcdJ5p^(u2ibZydu?$m^ zTEngG^5LkAjXF;xOkm0TrYLEe)c>aF4M8tmQ>Ugfc%>}48>sr z!zKiZC&`VX!SH7L1`l$h2+8jGs$mRi2Ans1GC+6(-$^x9SxCPGy>Z{a9-=znPD4=8 zajTy!;{4WclC6~&3zqD}?_5&+lH|_;r?X0-^q8`&^LIG0HNAq%MJ85m8h_x&!%dYf znX9-Dm5SUC6bLk2Tv)=x*=koGf~c5My7LN@gN(^J#?BjFFd(IrB2SX+j*W~e8lD6M zR8D&<$FV)mZE=P)y7aQ@WPOp$l&I0eF#J%GmBh;%^Vf4+n!#41qJO`CY6La}ersnw8{OUC zN^K1b@3Ym4l=KV*{O1*cJvGXMA6uG71b_ID{;sS=@=wWLk;RM((*53*ZY_t6kTNr- z%CGjBoC9b7huH35%eOj-4cMeUdqX63|!1{tS_n*Uk8*2bPyr5KA)sz$XNHy zpqHe)+R&HzA}vprqt#(p@l=snS14)s?%rLD_3*d_hlyh!i$d-SEpzqx7D(*6c*&{lA6Zj1S@XOc(6f*a=7 z!xs2^L06j(DJ~whRMS?;9fzzvcP_~+OK>0~t2j76nsjuTa{h!*JpTUZKrZXkLBtE1 z)E7wuF(BfG49B1MC$o0X@kgHX+r--ra?w&JVr?{PWlNY9I2ve|tjAhep$2u%NgIBKw}Axo7E!}R?OBZ%;vT* zNFdn6m-gV^_X8&DI1q8pK$HuEp|7Xuj!_<7js#+24*2qmK&HIq5$)6t_Qg}CjmsW7 zAzadsDREs3@3uytlGny6W%#E59V!&x8q(6-=ZpecG)B%ZbQx6yYzdxMEQc^E?)Tq5 z*erd`!BYaGnRqh~?YSFORu;dvW}?LkDJ+~I|F47LF!~!>iSnKP@Uf3%IG${8ncGGo zu~VfJR(%SNUW6E#2cOI(v6zAp?p+5TS$aN$38JHgXs&1xDLK->9$Dn*9SbBmI-(Sp zl46aH7GVV|edKfgy#D%Sdhpe@1gh=!;%;}kfH6v1wsAvT9Q`<*Gd-}TUhTdDCXKmO zfh#`MS}B^S-x^Pz*DIziouiX+?@OQY{yWS>HQhpH@H9CGAq_NWEu-+IEzSVM7UyBm zP`Jf#n17A{eZWu_-)Fxq_O%9TWrr%qlbbRAaish^8f@&}W1f-`^ya*j6ZZ26UDX7U z>Ire+2Mf4q;N4$!!}!bgiFk4j^x7UBXYn%4#ghY-h{%H{1W)%1N?mfYB!3errm9l9 zp!J@soSvpS3@`Vp!Gun}NTPzGW30pl{NaIXtChQXuw)NB3M1c%+mt)#^)2SMM<=&P z^)ddjc~_9Xid-QKLKURKBYi?Ln)0`jgk_P6gFR)hNHM%`iDHAV{DPB&ff!H42H(?j z$Ve=OC{6(m$nNaT0`#8In;O@J%f!&YTa}VHi4&1En3%;ECueC7E^HQkjRp3Eum?Zi zbxLY?aOkPs69=a>exN-@>373(BRho}uICrx=B*~Y!@foXwK@A}6aXh+5kxxvjC{wU zd%fO~?CAD*GrOfm)YGJSkJV=~NsDlxiXF4SU`2i`>o z%Jq(NAM>*P+D0yc4G~l%XJsT5V?5beJXa(v++z^sR4KFaZnSl za((s__2C$a(1nFYC-1gm(~B+6x7Ab3gw_@om8nm$w$GhE_+);QX%Oo(iPBY9ubmSA zYsM4aK=mLULW<8OVUTRO;Xa5q+bia#>~0{g*9gMtV1_70#X=FEPqq6@0>A19TUjX# zq&!7{6;_kQRaIYopI{YNPqL8~@7zdBKWi@^C2+>%#rpcy{F{IqLz-)jK$2cucd@j2 zClZph#5XIjr>Vnf)qPhtaTYIJ{oALXy9`OIDy z72cdL9>t1r#+v4FU7j5?t0B)-RW%;){QKxJ7yo$Og_kv z4MU;GjGFh8>Wq|ds@^^mXIpU;h{K2tj2zrNCS{j?P0wF^g;KpMy&wO%{;>SjV)N9?!qxP=_GLL2WQZ+d$ z9gjfz`yEIs22s)~-9b#C{Gsp8hE4!MMf;pKxF7rGgQ+&Tj9Tmfx zy0OAa0t`o4p^g%7)kXt1It3ykyXwtl7^$h(M>80OXN0uf4h=)8O?(k0uJC&xZRR|9 z2e3bI>87{r?bNTd2rAzCZV!J2c?s`?NOn5Zblv0PX>*ClX9HlU>+H-X z6wd;wuWw1G9JiwoKE+JVA-q#)yd(YD&);<#5gpx7V>qY0|C(5)TS&Mh;pimgCu0gf zeQCC7oj&70L8StdY z{BuU5jt+lE~SY(8j+}h%INjW)28Uk+~R50Mw z?FxnJH29a4xI0lw4Q7b;*!sG;`Qk*V!7zJ6LPo8EXC#SmM;kPgi(7TjGk;cSz8!%I zWS$(UNh>lNp|0CKfFgB5-A1k)0^pt6$e2-4BleJhrg>4xV0dY%hL(V8<;Df_;;Wfp+i<*m-*EMERu(F0pYo+jjS;<2M6iY%{_q$#R98cx1ob<|G{@ne^dPktWO7$M;z`&mq zl2L}Y>(-Ib;o()O+iSxY+n@$#DbB$=0r9^XIYd>Ov2rIYHs5|YjS-}43Ii0$Y$$4) zRDfwCNf-bct_pg$ZRrn{=NE?Q9CPe#&8-S~)QD+cn}SZE=tdrP)}r|hjxdKC`|W7< z{g(_ocJ|4E%>@#>K;mt9lyaJljV&xb9gidHItUD6t3WKmBD^fuivB~=cW#)}G|UT% zq@KfMWUkP3b;}m5v!fk{4Bri`Jau^L-eAyLp1Tfg2V{uEfjKZau;GPAUfv!H90mO5 zA82GKl0{k*od?a#5~)tyB3gGz8kh z=^zk*#B=ua`Z+krwV;_d~C=D@Zmm{Od_S9mvAsrpIK%-1*4;- z@r1%)k5rDBL9LHtmKeBEiXT}X z6;u=8-2|_Y?*(lL>K*ma9hP#Xot$XRxpjF4A`U{oPbB%di8Op9krAk7;sno4s9Avi5iRM zaVU5bkC^fef@q&|h!RAK?4Qz|oRk=ahXeSb6L@U!CcuyL8K2p)()4JpH=W`ER_=!ux3f45w@mZSQVle6{ z2d(hNrhR&wfRO|V>=W@2nlb0!^_gnf@Dw07!wyfaHSl{_wzPVqo0l8%Do(+s)F93l zr@AKXA8sTWanpr2uvCxUPEHDz0-x*;H0k+1KSaw@+=K9iW&j7`woP|Nc7h}BP{Zqi z=Z~8cNcIq@>*iOQb>0A`-_+yB470D*Q`7STS7v?T=<+V!ZPeL3^Adv&4fCZ8 zxM|;C$fdPm3Z`E0S9(H4qa0A;H!m9rZmFJZ&>kKpmNwI?SLLQ^Nj1qJz7vyf_%~|> z1=5vS#G)2l8|HW|z(G|`8zrk*V?i(sySZ0-pcz+?VL0-tf-nSHV}5V2sBk{@c*v<< zkpD-!HgX?Owwl=(f+nvjH2Y@JTPV2ECA}l``iTG^x%>)o^54tuLrHUOtvBx>Y`>q5 zYb+V5wikpeG8^J+qwW8#sn*KUs?Jn2bBJJ5I`GUK<4Q!p^y`sUT;&ks*vrC$@^aYy zI#5^gzI+EgY-)!m6W4ZY+?z+M@D>5+`912`zQG4^WRH$TAf57fXxZ-wOgPlkXi|WEn=P2)qAEnm z;Fa}dFX@xFEzI~e@eJ1N9>dT>&`F60cyBKF?G~i};^T#qeoRKq!d#KoZUwWZF_d*8 zEzN$q(ALh4J9)PP0=T?WQYT}H(I72$LYW)Tol{fGRqD%OLQm}b;;g-1y+lTK=bJj} znlM$VyERl7oj$vBXbU8xP@O!M))eC%4w2}13sDr}-za=T?$(%6dpRhaBLp`JvfMaS zM2pI=o=Asm4J?Z%e|Ruw)~+@*vR`->R|ztcU9@p7F%i>3@_8g#m`^#++HC_R_xf#qL%G&H>#cV6v(;?83HCU zL{%cbl$?@Q$bs!=UtZrV^q+Zs-BV{wqoytvVCRh)8%uqm-sXt%B$Xd3?fQuyK5#6} zuKS^bMo}ouB~LYK)d!m}bW1f?$@9j_U3b-{J60Ir@@TYm$2~2Xeg3pp+PoFXK5lI2 zd-YpCsK1{vN;ZdTVWtU3!8dVYRX#}t>2Y#syU$8umLMH5J@0`Ih`^;J`t2x7!~jyU zij73bjM>aI3Z1VLyfYLEuLc>{y$I}Md(!ONvi_iDT_&dM*3ciz3+G4bWO;tyGa0bEED@D0G;wT%fS0h37%m>;%S5C`XR#pEN>WkLYgGl< zrPQIJBB2}XY+-8JS}dA<(1+;_4nim&;{JZ0{@MPJmB{#?-)?Z7x8J7-0hwAlh;C}q zw0VVugLy7ZJw5*EbNup<0hO|ezenUWbz|P0kEQHNN^K0GiYRm|_mID1&2FMzh#NLL zyKE5}wE6HEVfIdbz4T;f{w{~*6YWJT;ey$8xY9Yj@m^L|g}lMr4C84Y#l}J1&H>

h3}pa8gphV9|n5hsGTKG&_Rre^jIc!1uz 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 literal 0 HcmV?d00001 diff --git a/doc/source/pages/installation.rst b/doc/source/pages/installation.rst index ce1551ce..18e50880 100644 --- a/doc/source/pages/installation.rst +++ b/doc/source/pages/installation.rst @@ -20,13 +20,19 @@ Basic installation (on a local machine) source activate -4. Install required conda packages +4. Install torch using the torch instructions. + +.. code-block:: bash + + # Command found on the torch website: https://pytorch.org/get-started/locally/ + +5. Install required conda packages .. code-block:: bash - conda install pip pandas scipy + conda install numba nutpie -c conda-forge -5. Install PCNtoolkit (plus dependencies) +6. Install PCNtoolkit (plus dependencies) .. code-block:: bash @@ -60,7 +66,8 @@ Alternative installation (on a shared resource) .. code-block:: bash - conda install -y pandas scipy + # Command found on the torch website: https://pytorch.org/get-started/locally/ + conda install numba nutpie -c conda-forge 5. Install pip dependencies diff --git a/doc/source/pages/normative_modelling_walkthrough.rst b/doc/source/pages/normative_modelling_walkthrough.rst index f63ec8fa..61a297a7 100644 --- a/doc/source/pages/normative_modelling_walkthrough.rst +++ b/doc/source/pages/normative_modelling_walkthrough.rst @@ -1,6 +1,4 @@ -.. title:: GPR tutorial - -Gaussian Process Regression +**DEMO ON NORMATIVE MODELING** ============================== Created by @@ -10,14 +8,9 @@ Mariam Zabihi `@m_zabihi `__ Saige Rutherford `@being_saige `__ Thomas Wolfers `@ThomasWolfers `__ -\______________________________________________________________________________\_ - - -.. image:: https://colab.research.google.com/assets/colab-badge.svg - :target: https://colab.research.google.com/github/predictive-clinical-neuroscience/PCNtoolkit-demo/blob/main/tutorials/CPC_2020/normative_modelling_walkthrough.ipynb - +\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ -Background Story +**Background Story** -------------------- Morten and Ingrid are concerned about the health of their father, @@ -40,13 +33,116 @@ IQ, age as well as the same sex as Nordan. Do your best to get as far as you can. However, you do not need to feel bad if you cannot complete everything during the tutorial. -**Task 0:** Load data and install the pcntoolkit ------------------------------------------------- +**Task 0:** Load data and install PCNtoolkit +-------------------------------------------- .. code:: ipython3 - #install normative modeling - ! pip install pcntoolkit==0.26 + !pip install pcntoolkit + !pip install nutpie + + +.. parsed-literal:: + + Collecting https://github.com/amarquand/PCNtoolkit/archive/dev.zip + Downloading https://github.com/amarquand/PCNtoolkit/archive/dev.zip +  \ 64.9 MB 16.9 MB/s 0:00:05 + [?25h Installing build dependencies ... [?25l[?25hdone + Getting requirements to build wheel ... [?25l[?25hdone + Preparing metadata (pyproject.toml) ... [?25l[?25hdone + Collecting bspline<0.2.0,>=0.1.1 (from pcntoolkit==0.31.0) + Downloading bspline-0.1.1.tar.gz (84 kB) +  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 84.2/84.2 kB 2.0 MB/s eta 0:00:00 + [?25h Preparing metadata (setup.py) ... [?25l[?25hdone + Collecting matplotlib<4.0.0,>=3.9.2 (from pcntoolkit==0.31.0) + Downloading matplotlib-3.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB) + Requirement already satisfied: nibabel<6.0.0,>=5.3.1 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (5.3.2) + Requirement already satisfied: numpy<2.0,>=1.26 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (1.26.4) + Requirement already satisfied: pymc<6.0.0,>=5.18.0 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (5.18.0) + Requirement already satisfied: scikit-learn<2.0.0,>=1.5.2 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (1.5.2) + Requirement already satisfied: scipy<2.0,>=1.12 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (1.13.1) + Requirement already satisfied: seaborn<0.14.0,>=0.13.2 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (0.13.2) + Requirement already satisfied: six<2.0.0,>=1.16.0 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (1.16.0) + Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (1.3.1) + Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (0.12.1) + Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (4.54.1) + Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (1.4.7) + Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (24.2) + Requirement already satisfied: pillow>=8 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (11.0.0) + Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (3.2.0) + Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (2.8.2) + Requirement already satisfied: importlib-resources>=5.12 in /usr/local/lib/python3.10/dist-packages (from nibabel<6.0.0,>=5.3.1->pcntoolkit==0.31.0) (6.4.5) + Requirement already satisfied: typing-extensions>=4.6 in /usr/local/lib/python3.10/dist-packages (from nibabel<6.0.0,>=5.3.1->pcntoolkit==0.31.0) (4.12.2) + Requirement already satisfied: arviz>=0.13.0 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.20.0) + Requirement already satisfied: cachetools>=4.2.1 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (5.5.0) + Requirement already satisfied: cloudpickle in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.1.0) + Requirement already satisfied: pandas>=0.24.0 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2.2.2) + Requirement already satisfied: pytensor<2.26,>=2.25.1 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2.25.5) + Requirement already satisfied: rich>=13.7.1 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (13.9.4) + Requirement already satisfied: threadpoolctl<4.0.0,>=3.1.0 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.5.0) + Requirement already satisfied: joblib>=1.2.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn<2.0.0,>=1.5.2->pcntoolkit==0.31.0) (1.4.2) + Requirement already satisfied: setuptools>=60.0.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (75.1.0) + Requirement already satisfied: xarray>=2022.6.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2024.10.0) + Requirement already satisfied: h5netcdf>=1.0.2 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (1.4.1) + Requirement already satisfied: xarray-einstats>=0.3 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.8.0) + Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.24.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2024.2) + Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.24.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2024.2) + Requirement already satisfied: filelock>=3.15 in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.16.1) + Requirement already satisfied: etuples in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.3.9) + Requirement already satisfied: logical-unification in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.4.6) + Requirement already satisfied: miniKanren in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (1.0.3) + Requirement already satisfied: cons in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.4.6) + Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich>=13.7.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.0.0) + Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.10/dist-packages (from rich>=13.7.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2.18.0) + Requirement already satisfied: h5py in /usr/local/lib/python3.10/dist-packages (from h5netcdf>=1.0.2->arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.12.1) + Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py>=2.2.0->rich>=13.7.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.1.2) + Requirement already satisfied: toolz in /usr/local/lib/python3.10/dist-packages (from logical-unification->pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.12.1) + Requirement already satisfied: multipledispatch in /usr/local/lib/python3.10/dist-packages (from logical-unification->pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (1.0.0) + Downloading matplotlib-3.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.3 MB) +  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.3/8.3 MB 37.7 MB/s eta 0:00:00 + [?25hBuilding wheels for collected packages: pcntoolkit, bspline + Building wheel for pcntoolkit (pyproject.toml) ... [?25l[?25hdone + Created wheel for pcntoolkit: filename=pcntoolkit-0.31.0-py3-none-any.whl size=114835 sha256=40635c10c24ccf2c319ee965aaf1038272cd5578f14d9cb3dd14598ddab31d00 + Stored in directory: /tmp/pip-ephem-wheel-cache-nl3hy35q/wheels/9e/c4/29/3bca3a5facf8ef69b8622461d8520d24a19d3745aefa093d1e + Building wheel for bspline (setup.py) ... [?25l[?25hdone + Created wheel for bspline: filename=bspline-0.1.1-py3-none-any.whl size=84482 sha256=1da013ad20b77d85515a6a2318eaf7cc4baaa7772eb1d26249f923ce8d779d7e + Stored in directory: /root/.cache/pip/wheels/3c/ab/0a/70927853a6d9166bc777922736063a6f99c43a327c802f9326 + Successfully built pcntoolkit bspline + Installing collected packages: bspline, matplotlib, pcntoolkit + Attempting uninstall: matplotlib + Found existing installation: matplotlib 3.8.0 + Uninstalling matplotlib-3.8.0: + Successfully uninstalled matplotlib-3.8.0 + Successfully installed bspline-0.1.1 matplotlib-3.9.2 pcntoolkit-0.31.0 + Collecting nutpie + Downloading nutpie-0.13.2-cp310-cp310-manylinux_2_28_x86_64.whl.metadata (5.4 kB) + Requirement already satisfied: pyarrow>=12.0.0 in /usr/local/lib/python3.10/dist-packages (from nutpie) (17.0.0) + Requirement already satisfied: pandas>=2.0 in /usr/local/lib/python3.10/dist-packages (from nutpie) (2.2.2) + Requirement already satisfied: xarray>=2023.6.0 in /usr/local/lib/python3.10/dist-packages (from nutpie) (2024.10.0) + Requirement already satisfied: arviz>=0.15.0 in /usr/local/lib/python3.10/dist-packages (from nutpie) (0.20.0) + Requirement already satisfied: setuptools>=60.0.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (75.1.0) + Requirement already satisfied: matplotlib>=3.5 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (3.9.2) + Requirement already satisfied: numpy>=1.23.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (1.26.4) + Requirement already satisfied: scipy>=1.9.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (1.13.1) + Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (24.2) + Requirement already satisfied: h5netcdf>=1.0.2 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (1.4.1) + Requirement already satisfied: typing-extensions>=4.1.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (4.12.2) + Requirement already satisfied: xarray-einstats>=0.3 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (0.8.0) + Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas>=2.0->nutpie) (2.8.2) + Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=2.0->nutpie) (2024.2) + Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas>=2.0->nutpie) (2024.2) + Requirement already satisfied: h5py in /usr/local/lib/python3.10/dist-packages (from h5netcdf>=1.0.2->arviz>=0.15.0->nutpie) (3.12.1) + Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5->arviz>=0.15.0->nutpie) (1.3.1) + Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5->arviz>=0.15.0->nutpie) (0.12.1) + Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5->arviz>=0.15.0->nutpie) (4.54.1) + Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5->arviz>=0.15.0->nutpie) (1.4.7) + Requirement already satisfied: pillow>=8 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5->arviz>=0.15.0->nutpie) (11.0.0) + Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5->arviz>=0.15.0->nutpie) (3.2.0) + Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas>=2.0->nutpie) (1.16.0) + Downloading nutpie-0.13.2-cp310-cp310-manylinux_2_28_x86_64.whl (1.5 MB) +  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 9.5 MB/s eta 0:00:00 + [?25hInstalling collected packages: nutpie + Successfully installed nutpie-0.13.2 **Option 1:** Connect your Google Drive account, and load data from @@ -77,24 +173,24 @@ them to Google Drive. !wget -nc https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/master/tutorials/CPC_2020/data/camcan_demographics_nordan.csv !wget -nc https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/master/tutorials/CPC_2020/data/camcan_features.csv !wget -nc https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/master/tutorials/CPC_2020/data/camcan_features_nordan.csv - + # code by S. Rutherford .. parsed-literal:: - --2022-02-17 15:03:58-- https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/master/tutorials/CPC_2020/data/camcan_demographics.csv - Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.110.133, 185.199.108.133, 185.199.111.133, ... - Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.110.133|:443... connected. + --2024-11-19 12:28:31-- https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/master/tutorials/CPC_2020/data/camcan_demographics.csv + Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.110.133, ... + Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 17484 (17K) [text/plain] Saving to: ‘camcan_demographics.csv’ - camcan_demographics 100%[===================>] 17.07K --.-KB/s in 0.001s + camcan_demographics 100%[===================>] 17.07K --.-KB/s in 0.003s - 2022-02-17 15:03:58 (12.9 MB/s) - ‘camcan_demographics.csv’ saved [17484/17484] + 2024-11-19 12:28:31 (5.14 MB/s) - ‘camcan_demographics.csv’ saved [17484/17484] - --2022-02-17 15:03:58-- https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/master/tutorials/CPC_2020/data/camcan_demographics_nordan.csv + --2024-11-19 12:28:31-- https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/master/tutorials/CPC_2020/data/camcan_demographics_nordan.csv Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.110.133, ... Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected. HTTP request sent, awaiting response... 200 OK @@ -103,20 +199,20 @@ them to Google Drive. camcan_demographics 100%[===================>] 332 --.-KB/s in 0s - 2022-02-17 15:03:58 (15.5 MB/s) - ‘camcan_demographics_nordan.csv’ saved [332/332] + 2024-11-19 12:28:32 (4.10 MB/s) - ‘camcan_demographics_nordan.csv’ saved [332/332] - --2022-02-17 15:03:58-- https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/master/tutorials/CPC_2020/data/camcan_features.csv - Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.110.133, ... - Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected. + --2024-11-19 12:28:32-- https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/master/tutorials/CPC_2020/data/camcan_features.csv + Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.109.133, 185.199.110.133, 185.199.111.133, ... + Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.109.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 188944 (185K) [text/plain] Saving to: ‘camcan_features.csv’ camcan_features.csv 100%[===================>] 184.52K --.-KB/s in 0.05s - 2022-02-17 15:03:58 (3.88 MB/s) - ‘camcan_features.csv’ saved [188944/188944] + 2024-11-19 12:28:33 (3.58 MB/s) - ‘camcan_features.csv’ saved [188944/188944] - --2022-02-17 15:03:58-- https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/master/tutorials/CPC_2020/data/camcan_features_nordan.csv + --2024-11-19 12:28:33-- https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/master/tutorials/CPC_2020/data/camcan_features_nordan.csv Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.110.133, ... Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected. HTTP request sent, awaiting response... 200 OK @@ -125,7 +221,7 @@ them to Google Drive. camcan_features_nor 100%[===================>] 1.66K --.-KB/s in 0s - 2022-02-17 15:03:59 (25.3 MB/s) - ‘camcan_features_nordan.csv’ saved [1695/1695] + 2024-11-19 12:28:33 (22.1 MB/s) - ‘camcan_features_nordan.csv’ saved [1695/1695] @@ -160,7 +256,7 @@ between those two files. print(norm_demographics) print(norm_features) - # find overlap in terms of participants between norm_sample_features and + # find overlap in terms of participants between norm_sample_features and # norm_sample_demographics norm_demographics_features = pd.concat([norm_demographics, norm_features], @@ -189,33 +285,182 @@ between those two files. CC723395 86 FEMALE 0 145 [707 rows x 4 columns] - left_Hippocampal_tail ... right_Whole_hippocampus - participants ... - CC110033 482.768229 ... 3531.764896 - CC110037 595.269259 ... 3835.426137 - CC110045 655.847194 ... 3681.494304 - CC110056 561.345626 ... 3461.373764 - CC110062 756.521166 ... 4782.407821 - ... ... ... ... - CC722542 467.896808 ... 3284.108783 - CC722651 406.326167 ... 3210.272905 - CC722891 393.430481 ... 2423.675065 - CC723197 475.929914 ... 3043.146264 - CC723395 444.301617 ... 2988.001288 + left_Hippocampal_tail left_subiculum left_CA1 \ + participants + CC110033 482.768229 419.948094 666.496024 + CC110037 595.269259 502.320315 698.157779 + CC110045 655.847194 476.433625 654.215689 + CC110056 561.345626 447.258970 611.114561 + CC110062 756.521166 521.034681 716.391590 + ... ... ... ... + CC722542 467.896808 440.794061 688.130914 + CC722651 406.326167 393.469843 613.794018 + CC722891 393.430481 303.049578 444.772656 + CC723197 475.929914 372.449778 525.739508 + CC723395 444.301617 330.688394 565.359058 + + left_hippocampal-fissure left_presubiculum left_parasubiculum \ + participants + CC110033 131.719049 285.535445 59.209377 + CC110037 156.304335 367.678385 60.817591 + CC110045 146.767569 346.347202 67.481121 + CC110056 126.615335 327.528926 70.901227 + CC110062 206.205818 384.356075 80.329689 + ... ... ... ... + CC722542 184.300085 306.287030 72.629722 + CC722651 224.292557 254.786917 50.006651 + CC722891 158.987352 202.213773 46.418129 + CC723197 172.558200 222.384434 40.304889 + CC723395 206.235576 197.417773 34.240227 + + left_molecular_layer_HP left_GC-ML-DG left_CA3 left_CA4 \ + participants + CC110033 583.239022 313.144932 223.022262 266.801434 + CC110037 619.053381 311.428298 192.949211 260.551999 + CC110045 622.037178 322.315065 204.756048 275.428880 + CC110056 597.467595 323.777115 233.160437 278.133998 + CC110062 666.590397 364.130988 253.917949 311.079938 + ... ... ... ... ... + CC722542 597.823380 322.236056 252.159707 275.293551 + CC722651 558.060369 322.176631 261.160474 282.029715 + CC722891 384.798819 204.562530 149.220194 184.259996 + CC723197 467.847632 262.950594 215.411133 232.938256 + CC723395 470.969863 269.963160 234.219152 241.325755 + + ... right_hippocampal-fissure right_presubiculum \ + participants ... + CC110033 ... 133.101613 263.829445 + CC110037 ... 148.099481 339.309772 + CC110045 ... 159.687619 324.398659 + CC110056 ... 123.262352 290.196432 + CC110062 ... 136.785201 406.323486 + ... ... ... ... + CC722542 ... 147.391931 273.150743 + CC722651 ... 185.053756 232.752897 + CC722891 ... 140.980648 211.807774 + CC723197 ... 213.080235 258.567312 + CC723395 ... 205.934342 210.039976 + + right_parasubiculum right_molecular_layer_HP right_GC-ML-DG \ + participants + CC110033 47.651798 586.026640 328.057551 + CC110037 59.693186 617.448302 312.116795 + CC110045 55.738550 609.208671 314.460832 + CC110056 67.410418 569.389816 310.290805 + CC110062 80.403248 767.955163 383.194510 + ... ... ... ... + CC722542 50.874375 572.634593 302.504826 + CC722651 44.493903 533.912687 308.141458 + CC722891 57.371362 387.195124 199.979009 + CC723197 50.846316 481.409074 267.190903 + CC723395 33.216529 493.194601 274.020748 + + right_CA3 right_CA4 right_fimbria right_HATA \ + participants + CC110033 283.392837 282.565685 87.127463 73.589184 + CC110037 212.605572 269.307660 99.657823 60.920924 + CC110045 237.869822 271.505300 69.436808 59.323542 + CC110056 218.809310 267.327199 60.505521 51.726283 + CC110062 268.227177 325.403040 92.215816 85.484454 + ... ... ... ... ... + CC722542 236.946562 261.352283 46.144212 43.966509 + CC722651 247.810543 267.203989 68.730322 59.699644 + CC722891 146.836915 187.083211 27.913196 38.629828 + CC723197 211.618157 244.176755 51.893458 65.474967 + CC723395 232.592060 240.980896 68.335159 62.081225 + + right_Whole_hippocampus + participants + CC110033 3531.764896 + CC110037 3835.426137 + CC110045 3681.494304 + CC110056 3461.373764 + CC110062 4782.407821 + ... ... + CC722542 3284.108783 + CC722651 3210.272905 + CC722891 2423.675065 + CC723197 3043.146264 + CC723395 2988.001288 [651 rows x 26 columns] - age sex_name sex ... right_fimbria right_HATA right_Whole_hippocampus - CC110033 24 MALE 1 ... 87.127463 73.589184 3531.764896 - CC110037 18 MALE 1 ... 99.657823 60.920924 3835.426137 - CC110045 24 FEMALE 0 ... 69.436808 59.323542 3681.494304 - CC110056 22 FEMALE 0 ... 60.505521 51.726283 3461.373764 - CC110062 20 MALE 1 ... 92.215816 85.484454 4782.407821 - ... ... ... ... ... ... ... ... - CC722542 79 MALE 1 ... 46.144212 43.966509 3284.108783 - CC722651 79 FEMALE 0 ... 68.730322 59.699644 3210.272905 - CC722891 84 FEMALE 0 ... 27.913196 38.629828 2423.675065 - CC723197 80 FEMALE 0 ... 51.893458 65.474967 3043.146264 - CC723395 86 FEMALE 0 ... 68.335159 62.081225 2988.001288 + age sex_name sex IQ_random left_Hippocampal_tail left_subiculum \ + CC110033 24 MALE 1 73 482.768229 419.948094 + CC110037 18 MALE 1 103 595.269259 502.320315 + CC110045 24 FEMALE 0 124 655.847194 476.433625 + CC110056 22 FEMALE 0 124 561.345626 447.258970 + CC110062 20 MALE 1 126 756.521166 521.034681 + ... ... ... ... ... ... ... + CC722542 79 MALE 1 116 467.896808 440.794061 + CC722651 79 FEMALE 0 128 406.326167 393.469843 + CC722891 84 FEMALE 0 129 393.430481 303.049578 + CC723197 80 FEMALE 0 96 475.929914 372.449778 + CC723395 86 FEMALE 0 145 444.301617 330.688394 + + left_CA1 left_hippocampal-fissure left_presubiculum \ + CC110033 666.496024 131.719049 285.535445 + CC110037 698.157779 156.304335 367.678385 + CC110045 654.215689 146.767569 346.347202 + CC110056 611.114561 126.615335 327.528926 + CC110062 716.391590 206.205818 384.356075 + ... ... ... ... + CC722542 688.130914 184.300085 306.287030 + CC722651 613.794018 224.292557 254.786917 + CC722891 444.772656 158.987352 202.213773 + CC723197 525.739508 172.558200 222.384434 + CC723395 565.359058 206.235576 197.417773 + + left_parasubiculum ... right_hippocampal-fissure \ + CC110033 59.209377 ... 133.101613 + CC110037 60.817591 ... 148.099481 + CC110045 67.481121 ... 159.687619 + CC110056 70.901227 ... 123.262352 + CC110062 80.329689 ... 136.785201 + ... ... ... ... + CC722542 72.629722 ... 147.391931 + CC722651 50.006651 ... 185.053756 + CC722891 46.418129 ... 140.980648 + CC723197 40.304889 ... 213.080235 + CC723395 34.240227 ... 205.934342 + + right_presubiculum right_parasubiculum right_molecular_layer_HP \ + CC110033 263.829445 47.651798 586.026640 + CC110037 339.309772 59.693186 617.448302 + CC110045 324.398659 55.738550 609.208671 + CC110056 290.196432 67.410418 569.389816 + CC110062 406.323486 80.403248 767.955163 + ... ... ... ... + CC722542 273.150743 50.874375 572.634593 + CC722651 232.752897 44.493903 533.912687 + CC722891 211.807774 57.371362 387.195124 + CC723197 258.567312 50.846316 481.409074 + CC723395 210.039976 33.216529 493.194601 + + right_GC-ML-DG right_CA3 right_CA4 right_fimbria right_HATA \ + CC110033 328.057551 283.392837 282.565685 87.127463 73.589184 + CC110037 312.116795 212.605572 269.307660 99.657823 60.920924 + CC110045 314.460832 237.869822 271.505300 69.436808 59.323542 + CC110056 310.290805 218.809310 267.327199 60.505521 51.726283 + CC110062 383.194510 268.227177 325.403040 92.215816 85.484454 + ... ... ... ... ... ... + CC722542 302.504826 236.946562 261.352283 46.144212 43.966509 + CC722651 308.141458 247.810543 267.203989 68.730322 59.699644 + CC722891 199.979009 146.836915 187.083211 27.913196 38.629828 + CC723197 267.190903 211.618157 244.176755 51.893458 65.474967 + CC723395 274.020748 232.592060 240.980896 68.335159 62.081225 + + right_Whole_hippocampus + CC110033 3531.764896 + CC110037 3835.426137 + CC110045 3681.494304 + CC110056 3461.373764 + CC110062 4782.407821 + ... ... + CC722542 3284.108783 + CC722651 3210.272905 + CC722891 2423.675065 + CC723197 3043.146264 + CC723395 2988.001288 [650 rows x 30 columns] @@ -252,22 +497,22 @@ putative biomarkers that are not restricted to brain imaging. # perpare covariate_normsample for sex and age covariate_normsample = norm_demographics_features[['sex', - 'age']] + 'age']] covariate_normsample.to_csv('covariate_normsample.txt', sep = ' ', - header = False, + header = False, index = False) # perpare features_normsample for relevant hyppocampal subfields - features_normsample = norm_demographics_features[['left_CA1', + features_normsample = norm_demographics_features[['left_CA1', 'left_CA3', 'right_CA1', 'right_CA3']] - features_normsample.to_csv('features_normsample.txt', - sep = ' ', - header = False, + features_normsample.to_csv('features_normsample.txt', + sep = ' ', + header = False, index = False) # code by T. Wolfers @@ -278,7 +523,7 @@ putative biomarkers that are not restricted to brain imaging. Once you have prepared and saved all the necessary files. Look at the pcntoolkit for running normative modeling. Select an appropritate method set up the toolkit and run your analyses using 2-fold cross validation -in the normsample. Change the output suffix from estimate to ’_2fold’. +in the normsample. Change the output suffix from estimate to ’\_2fold’. HINT: You primarily need the estimate function. @@ -296,7 +541,7 @@ you will have no doubt when it is correctly running. # run normative modeling using 2-fold cross-validation - pcn.normative.estimate(covfile = 'covariate_normsample.txt', + pcn.normative.estimate(covfile = 'covariate_normsample.txt', respfile = 'features_normsample.txt', cvfolds = 2, alg = 'gpr', @@ -307,55 +552,66 @@ you will have no doubt when it is correctly running. .. parsed-literal:: + inscaler: None + outscaler: None Processing data in features_normsample.txt Estimating model 1 of 4 Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed - Warning: Estimation of posterior distribution failed + + +.. parsed-literal:: + + /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/gp.py:147: RuntimeWarning: overflow encountered in exp + self.sf2 = np.exp(2*theta[self.D]) + /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/gp.py:160: RuntimeWarning: invalid value encountered in multiply + dK = K * squared_dist(x[:, i]/self.ell[i], x[:, i]/self.ell[i]) + + +.. parsed-literal:: + Optimization terminated successfully. - Current function value: 1856.502251 - Iterations: 40 - Function evaluations: 99 - Gradient evaluations: 99 + Current function value: 1925.145213 + Iterations: 30 + Function evaluations: 75 + Gradient evaluations: 69 Estimating model 2 of 4 Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed - Optimization terminated successfully. - Current function value: 1596.239263 - Iterations: 42 - Function evaluations: 93 - Gradient evaluations: 93 - Estimating model 3 of 4 - Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed - Optimization terminated successfully. - Current function value: 1862.316698 - Iterations: 47 - Function evaluations: 104 - Gradient evaluations: 104 - Estimating model 4 of 4 - Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed Optimization terminated successfully. - Current function value: 1587.950935 - Iterations: 30 - Function evaluations: 64 - Gradient evaluations: 64 - Estimating model 1 of 4 + Current function value: 1627.864114 + Iterations: 41 + Function evaluations: 102 + Gradient evaluations: 102 + Estimating model 3 of 4 + + +.. parsed-literal:: + + /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/gp.py:147: RuntimeWarning: overflow encountered in exp + self.sf2 = np.exp(2*theta[self.D]) + /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/gp.py:160: RuntimeWarning: invalid value encountered in multiply + dK = K * squared_dist(x[:, i]/self.ell[i], x[:, i]/self.ell[i]) + + +.. parsed-literal:: + Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed Optimization terminated successfully. - Current function value: 1916.461484 - Iterations: 44 - Function evaluations: 94 - Gradient evaluations: 87 - Estimating model 2 of 4 + Current function value: 1922.205071 + Iterations: 30 + Function evaluations: 73 + Gradient evaluations: 67 + Estimating model 4 of 4 Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed @@ -365,36 +621,48 @@ you will have no doubt when it is correctly running. Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed Optimization terminated successfully. - Current function value: 1611.661888 - Iterations: 34 - Function evaluations: 85 - Gradient evaluations: 85 - Estimating model 3 of 4 - Warning: Estimation of posterior distribution failed + Current function value: 1621.445961 + Iterations: 78 + Function evaluations: 181 + Gradient evaluations: 181 + Estimating model 1 of 4 Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed Optimization terminated successfully. - Current function value: 1912.665851 - Iterations: 61 - Function evaluations: 133 - Gradient evaluations: 126 - Estimating model 4 of 4 + Current function value: 1844.061877 + Iterations: 36 + Function evaluations: 81 + Gradient evaluations: 81 + Estimating model 2 of 4 Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed + Optimization terminated successfully. + Current function value: 1580.315780 + Iterations: 37 + Function evaluations: 79 + Gradient evaluations: 79 + Estimating model 3 of 4 Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed + Optimization terminated successfully. + Current function value: 1851.005493 + Iterations: 32 + Function evaluations: 68 + Gradient evaluations: 68 + Estimating model 4 of 4 + Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed Optimization terminated successfully. - Current function value: 1619.045647 - Iterations: 43 - Function evaluations: 110 - Gradient evaluations: 105 + Current function value: 1584.089863 + Iterations: 39 + Function evaluations: 91 + Gradient evaluations: 91 Evaluating the model ... Writing outputs ... @@ -423,13 +691,13 @@ model using the appropriate specifications. 20, 30, 40, 50, 60, 70, 80]} covariate_forwardmodel = pd.DataFrame(data=covariate_forwardmodel) - covariate_forwardmodel.to_csv('covariate_forwardmodel.txt', - sep = ' ', - header = False, + covariate_forwardmodel.to_csv('covariate_forwardmodel.txt', + sep = ' ', + header = False, index = False) # estimate forward model - pcn.normative.estimate(covfile = 'covariate_normsample.txt', + pcn.normative.estimate(covfile = 'covariate_normsample.txt', respfile = 'features_normsample.txt', testcov = 'covariate_forwardmodel.txt', cvfolds = None, @@ -441,8 +709,22 @@ model using the appropriate specifications. .. parsed-literal:: + inscaler: None + outscaler: None Processing data in features_normsample.txt Estimating model 1 of 4 + + +.. parsed-literal:: + + /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/gp.py:147: RuntimeWarning: overflow encountered in exp + self.sf2 = np.exp(2*theta[self.D]) + /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/gp.py:160: RuntimeWarning: invalid value encountered in multiply + dK = K * squared_dist(x[:, i]/self.ell[i], x[:, i]/self.ell[i]) + + +.. parsed-literal:: + Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed @@ -451,8 +733,8 @@ model using the appropriate specifications. Optimization terminated successfully. Current function value: 3781.497401 Iterations: 20 - Function evaluations: 61 - Gradient evaluations: 54 + Function evaluations: 58 + Gradient evaluations: 52 Estimating model 2 of 4 Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed @@ -466,10 +748,22 @@ model using the appropriate specifications. Warning: Estimation of posterior distribution failed Optimization terminated successfully. Current function value: 3201.761309 - Iterations: 39 - Function evaluations: 108 - Gradient evaluations: 108 + Iterations: 48 + Function evaluations: 114 + Gradient evaluations: 114 Estimating model 3 of 4 + + +.. parsed-literal:: + + /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/gp.py:147: RuntimeWarning: overflow encountered in exp + self.sf2 = np.exp(2*theta[self.D]) + /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/gp.py:160: RuntimeWarning: invalid value encountered in multiply + dK = K * squared_dist(x[:, i]/self.ell[i], x[:, i]/self.ell[i]) + + +.. parsed-literal:: + Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed @@ -480,9 +774,9 @@ model using the appropriate specifications. Warning: Estimation of posterior distribution failed Optimization terminated successfully. Current function value: 3771.310488 - Iterations: 47 - Function evaluations: 181 - Gradient evaluations: 167 + Iterations: 48 + Function evaluations: 156 + Gradient evaluations: 143 Estimating model 4 of 4 Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed @@ -496,9 +790,9 @@ model using the appropriate specifications. Warning: Estimation of posterior distribution failed Optimization terminated successfully. Current function value: 3200.837262 - Iterations: 40 - Function evaluations: 104 - Gradient evaluations: 104 + Iterations: 42 + Function evaluations: 116 + Gradient evaluations: 116 Writing outputs ... @@ -508,7 +802,8 @@ model using the appropriate specifications. Visualize the forward model of the normative model similar to the figure below. -.. figure:: data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAcQBxAAD/4QDoRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAcAAAAcgEyAAIAAAAUAAAAjodpAAQAAAABAAAAogAAAAAAAABxAAAAAQAAAHEAAAABQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzADIwMTk6MDE6MTAgMjE6MDA6MDYAAAOQBAACAAAAFAAAAMygAgAEAAAAAQAAAMmgAwAEAAAAAQAAAHIAAAAAMjAxODoxMjoxMSAxNDozNToxNwD/4RGtaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA1LjQuMCI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFNTg4MUU5QkVDMTRFOTExOEI3RkU1RDU4RURGM0Q0RSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyRUM1RUY5ODQ5RkRFODExQTNBM0EyODcyMEY2OTA2NCIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJFQzVFRjk4NDlGREU4MTFBM0EzQTI4NzIwRjY5MDY0IiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0wMS0xMFQyMTowMDowNiswNTozMCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTktMDEtMTBUMjE6MDA6MDYrMDU6MzAiIHhtcDpDcmVhdGVEYXRlPSIyMDE4LTEyLTExVDE0OjM1OjE3KzAxOjAwIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0iRUNJLVJHQi5pY2MiIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIGRjOmZvcm1hdD0iaW1hZ2UvanBlZyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MkVDNUVGOTg0OUZERTgxMUEzQTNBMjg3MjBGNjkwNjQiIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RTQ4ODFFOUJFQzE0RTkxMThCN0ZFNUQ1OEVERjNENEUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkVDNUVGOTg0OUZERTgxMUEzQTNBMjg3MjBGNjkwNjQiLz4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiBzdEV2dDp3aGVuPSIyMDE4LTEyLTExVDE0OjM1OjE3KzAxOjAwIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjJFQzVFRjk4NDlGREU4MTFBM0EzQTI4NzIwRjY5MDY0IiBzdEV2dDphY3Rpb249ImNyZWF0ZWQiLz4gPHJkZjpsaSBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHN0RXZ0OmNoYW5nZWQ9Ii8iIHN0RXZ0OndoZW49IjIwMTktMDEtMTBUMjA6NTE6MDErMDU6MzAiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6N0QzQ0MyOERFQTE0RTkxMTlFRTJGRkMzQkZENTkzMUUiIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiLz4gPHJkZjpsaSBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHN0RXZ0OmNoYW5nZWQ9Ii8iIHN0RXZ0OndoZW49IjIwMTktMDEtMTBUMjA6NTE6MDErMDU6MzAiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6N0UzQ0MyOERFQTE0RTkxMTlFRTJGRkMzQkZENTkzMUUiIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiLz4gPHJkZjpsaSBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHN0RXZ0OmNoYW5nZWQ9Ii8iIHN0RXZ0OndoZW49IjIwMTktMDEtMTBUMjE6MDA6MDYrMDU6MzAiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6RTQ4ODFFOUJFQzE0RTkxMThCN0ZFNUQ1OEVERjNENEUiIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNvbnZlcnRlZCIgc3RFdnQ6cGFyYW1ldGVycz0iZnJvbSBpbWFnZS90aWZmIHRvIGltYWdlL2pwZWciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImRlcml2ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImNvbnZlcnRlZCBmcm9tIGltYWdlL3RpZmYgdG8gaW1hZ2UvanBlZyIvPiA8cmRmOmxpIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzUgV2luZG93cyIgc3RFdnQ6Y2hhbmdlZD0iLyIgc3RFdnQ6d2hlbj0iMjAxOS0wMS0xMFQyMTowMDowNiswNTozMCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpFNTg4MUU5QkVDMTRFOTExOEI3RkU1RDU4RURGM0Q0RSIgc3RFdnQ6YWN0aW9uPSJzYXZlZCIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V0IGVuZD0idyI/PgD/7QBkUGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAACwcAVoAAxslRxwCAAACAAIcAj4ACDIwMTgxMjExHAI/AAsxNDM1MTcrMDEwMDhCSU0EJQAAAAAAEG8VJXtBp2YwhKsNALMYCvf/4gIsSUNDX1BST0ZJTEUAAQEAAAIcQURCRQIQAABtbnRyUkdCIFhZWiAHzwACABYADAADAA9hY3NwQVBQTAAAAABub25lAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLUFEQkUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApjcHJ0AAAA/AAAACRkZXNjAAABIAAAAGd3dHB0AAABiAAAABRia3B0AAABnAAAABRyVFJDAAABsAAAAA5nVFJDAAABwAAAAA5iVFJDAAAB0AAAAA5yWFlaAAAB4AAAABRnWFlaAAAB9AAAABRiWFlaAAACCAAAABR0ZXh0AAAAAChjKSAxOTk5IEFkb2JlIFN5c3RlbXMgSW5jLgBkZXNjAAAAAAAAAAxFQ0ktUkdCLmljYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAAD23AABAAAAANM6WFlaIAAAAAAAAAAAAAAAAAAAAABjdXJ2AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0AAGN1cnYAAAAAAAAAAQHNAABYWVogAAAAAAAApngAAFH+AAAA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 +.. figure:: + data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAcQBxAAD/4QDoRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAcAAAAcgEyAAIAAAAUAAAAjodpAAQAAAABAAAAogAAAAAAAABxAAAAAQAAAHEAAAABQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzADIwMTk6MDE6MTAgMjE6MDA6MDYAAAOQBAACAAAAFAAAAMygAgAEAAAAAQAAAMmgAwAEAAAAAQAAAHIAAAAAMjAxODoxMjoxMSAxNDozNToxNwD/4RGtaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA1LjQuMCI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFNTg4MUU5QkVDMTRFOTExOEI3RkU1RDU4RURGM0Q0RSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyRUM1RUY5ODQ5RkRFODExQTNBM0EyODcyMEY2OTA2NCIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJFQzVFRjk4NDlGREU4MTFBM0EzQTI4NzIwRjY5MDY0IiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0wMS0xMFQyMTowMDowNiswNTozMCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTktMDEtMTBUMjE6MDA6MDYrMDU6MzAiIHhtcDpDcmVhdGVEYXRlPSIyMDE4LTEyLTExVDE0OjM1OjE3KzAxOjAwIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0iRUNJLVJHQi5pY2MiIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIGRjOmZvcm1hdD0iaW1hZ2UvanBlZyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MkVDNUVGOTg0OUZERTgxMUEzQTNBMjg3MjBGNjkwNjQiIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RTQ4ODFFOUJFQzE0RTkxMThCN0ZFNUQ1OEVERjNENEUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkVDNUVGOTg0OUZERTgxMUEzQTNBMjg3MjBGNjkwNjQiLz4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiBzdEV2dDp3aGVuPSIyMDE4LTEyLTExVDE0OjM1OjE3KzAxOjAwIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjJFQzVFRjk4NDlGREU4MTFBM0EzQTI4NzIwRjY5MDY0IiBzdEV2dDphY3Rpb249ImNyZWF0ZWQiLz4gPHJkZjpsaSBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHN0RXZ0OmNoYW5nZWQ9Ii8iIHN0RXZ0OndoZW49IjIwMTktMDEtMTBUMjA6NTE6MDErMDU6MzAiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6N0QzQ0MyOERFQTE0RTkxMTlFRTJGRkMzQkZENTkzMUUiIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiLz4gPHJkZjpsaSBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHN0RXZ0OmNoYW5nZWQ9Ii8iIHN0RXZ0OndoZW49IjIwMTktMDEtMTBUMjA6NTE6MDErMDU6MzAiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6N0UzQ0MyOERFQTE0RTkxMTlFRTJGRkMzQkZENTkzMUUiIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiLz4gPHJkZjpsaSBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHN0RXZ0OmNoYW5nZWQ9Ii8iIHN0RXZ0OndoZW49IjIwMTktMDEtMTBUMjE6MDA6MDYrMDU6MzAiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6RTQ4ODFFOUJFQzE0RTkxMThCN0ZFNUQ1OEVERjNENEUiIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNvbnZlcnRlZCIgc3RFdnQ6cGFyYW1ldGVycz0iZnJvbSBpbWFnZS90aWZmIHRvIGltYWdlL2pwZWciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImRlcml2ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImNvbnZlcnRlZCBmcm9tIGltYWdlL3RpZmYgdG8gaW1hZ2UvanBlZyIvPiA8cmRmOmxpIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzUgV2luZG93cyIgc3RFdnQ6Y2hhbmdlZD0iLyIgc3RFdnQ6d2hlbj0iMjAxOS0wMS0xMFQyMTowMDowNiswNTozMCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpFNTg4MUU5QkVDMTRFOTExOEI3RkU1RDU4RURGM0Q0RSIgc3RFdnQ6YWN0aW9uPSJzYXZlZCIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V0IGVuZD0idyI/PgD/7QBkUGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAACwcAVoAAxslRxwCAAACAAIcAj4ACDIwMTgxMjExHAI/AAsxNDM1MTcrMDEwMDhCSU0EJQAAAAAAEG8VJXtBp2YwhKsNALMYCvf/4gIsSUNDX1BST0ZJTEUAAQEAAAIcQURCRQIQAABtbnRyUkdCIFhZWiAHzwACABYADAADAA9hY3NwQVBQTAAAAABub25lAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLUFEQkUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApjcHJ0AAAA/AAAACRkZXNjAAABIAAAAGd3dHB0AAABiAAAABRia3B0AAABnAAAABRyVFJDAAABsAAAAA5nVFJDAAABwAAAAA5iVFJDAAAB0AAAAA5yWFlaAAAB4AAAABRnWFlaAAAB9AAAABRiWFlaAAACCAAAABR0ZXh0AAAAAChjKSAxOTk5IEFkb2JlIFN5c3RlbXMgSW5jLgBkZXNjAAAAAAAAAAxFQ0ktUkdCLmljYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAAD23AABAAAAANM6WFlaIAAAAAAAAAAAAAAAAAAAAABjdXJ2AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0AAGN1cnYAAAAAAAAAAQHNAABYWVogAAAAAAAApngAAFH+AAAA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 :alt: 1-s2.0-S245190221830329X-gr2.jpg 1-s2.0-S245190221830329X-gr2.jpg @@ -531,12 +826,12 @@ individual participants. S_hat=np.mean(S2,axis=0) n=S2.shape[0] CI[i,:]=z*np.power(S_hat/n,.5) - return CI + return CI feature_names=['left_CA1','left_CA3','right_CA1','right_CA3'] sex_covariates=[ 'Female','Male'] - # Creating plots for Female and male + # Creating plots for Female and male for i,sex in enumerate(sex_covariates): #forward model data forward_yhat = pd.read_csv('yhat_forward.txt', sep = ' ', header=None) @@ -544,71 +839,71 @@ individual participants. yhat_forward=yhat_forward[7*i:7*(i+1)] x_forward=[20, 30, 40, 50, 60, 70, 80] - # Find the index of the data exclusively for one sex. Female:0, Male: 1 + # Find the index of the data exclusively for one sex. Female:0, Male: 1 inx=np.where(covariate_normsample.sex==i)[0] x=covariate_normsample.values[inx,1] # actual data y = pd.read_csv('features_normsample.txt', sep = ' ', header=None) y=y.values[inx] - # confidence Interval yhat+ z *(std/n^.5)-->.95 % CI:z=1.96, 99% CI:z=2.58 + # confidence Interval yhat+ z *(std/n^.5)-->.95 % CI:z=1.96, 99% CI:z=2.58 s2= pd.read_csv('ys2_2fold.txt', sep = ' ', header=None) s2=s2.values[inx] CI_95=confidence_interval(s2,x,1.96) CI_99=confidence_interval(s2,x,2.58) - # Creat a trejactroy for each point + # Creat a trejactroy for each point for j,name in enumerate(feature_names): fig=plt.figure() ax=fig.add_subplot(111) ax.plot(x_forward,yhat_forward[:,j], linewidth=4, label='Normative trejactory') - ax.plot(x_forward,CI_95[:,j]+yhat_forward[:,j], linewidth=2,linestyle='--',c='g', label='95% confidence interval') - ax.plot(x_forward,-CI_95[:,j]+yhat_forward[:,j], linewidth=2,linestyle='--',c='g') + ax.plot(x_forward,CI_95[:,j]+yhat_forward[:,j], linewidth=2,linestyle='--',c='g', label='95% confidence interval') + ax.plot(x_forward,-CI_95[:,j]+yhat_forward[:,j], linewidth=2,linestyle='--',c='g') - ax.plot(x_forward,CI_99[:,j]+yhat_forward[:,j], linewidth=1,linestyle='--',c='k', label='99% confidence interval') - ax.plot(x_forward,-CI_99[:,j]+yhat_forward[:,j], linewidth=1,linestyle='--',c='k') + ax.plot(x_forward,CI_99[:,j]+yhat_forward[:,j], linewidth=1,linestyle='--',c='k', label='99% confidence interval') + ax.plot(x_forward,-CI_99[:,j]+yhat_forward[:,j], linewidth=1,linestyle='--',c='k') ax.scatter(x,y[:,j],c='r', label=name) plt.legend(loc='upper left') plt.title('Normative trejectory of' +name+' in '+sex+' cohort') plt.show() plt.close() - + # code by M. Zabihi -.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_0.png +.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_0.png -.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_1.png +.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_1.png -.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_2.png +.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_2.png -.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_3.png +.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_3.png -.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_4.png +.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_4.png -.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_5.png +.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_5.png -.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_6.png +.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_6.png -.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_7.png +.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_7.png **TASK 6:** Apply the normative model to Nordan’s data and the dementia patients. @@ -626,25 +921,25 @@ individual participants. # create a covariate file for Nordan's as well as the patient's demograhpics covariate_nordan = demographics_nordan[['sex', - 'age']] + 'age']] covariate_nordan.to_csv('covariate_nordan.txt', sep = ' ', - header = False, + header = False, index = False) # create the corresponding feature file - features_nordan = features_nordan[['left_CA1', + features_nordan = features_nordan[['left_CA1', 'left_CA3', 'right_CA1', 'right_CA3']] - features_nordan.to_csv('features_nordan.txt', - sep = ' ', - header = False, + features_nordan.to_csv('features_nordan.txt', + sep = ' ', + header = False, index = False) # apply normative modeling - pcn.normative.estimate(covfile = 'covariate_normsample.txt', + pcn.normative.estimate(covfile = 'covariate_normsample.txt', respfile = 'features_normsample.txt', testcov = 'covariate_nordan.txt', testresp = 'features_nordan.txt', @@ -657,8 +952,22 @@ individual participants. .. parsed-literal:: + inscaler: None + outscaler: None Processing data in features_normsample.txt Estimating model 1 of 4 + + +.. parsed-literal:: + + /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/gp.py:147: RuntimeWarning: overflow encountered in exp + self.sf2 = np.exp(2*theta[self.D]) + /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/gp.py:160: RuntimeWarning: invalid value encountered in multiply + dK = K * squared_dist(x[:, i]/self.ell[i], x[:, i]/self.ell[i]) + + +.. parsed-literal:: + Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed @@ -667,8 +976,8 @@ individual participants. Optimization terminated successfully. Current function value: 3781.497401 Iterations: 20 - Function evaluations: 61 - Gradient evaluations: 54 + Function evaluations: 58 + Gradient evaluations: 52 Estimating model 2 of 4 Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed @@ -682,10 +991,22 @@ individual participants. Warning: Estimation of posterior distribution failed Optimization terminated successfully. Current function value: 3201.761309 - Iterations: 39 - Function evaluations: 108 - Gradient evaluations: 108 + Iterations: 48 + Function evaluations: 114 + Gradient evaluations: 114 Estimating model 3 of 4 + + +.. parsed-literal:: + + /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/gp.py:147: RuntimeWarning: overflow encountered in exp + self.sf2 = np.exp(2*theta[self.D]) + /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/gp.py:160: RuntimeWarning: invalid value encountered in multiply + dK = K * squared_dist(x[:, i]/self.ell[i], x[:, i]/self.ell[i]) + + +.. parsed-literal:: + Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed @@ -696,9 +1017,9 @@ individual participants. Warning: Estimation of posterior distribution failed Optimization terminated successfully. Current function value: 3771.310488 - Iterations: 47 - Function evaluations: 181 - Gradient evaluations: 167 + Iterations: 48 + Function evaluations: 156 + Gradient evaluations: 143 Estimating model 4 of 4 Warning: Estimation of posterior distribution failed Warning: Estimation of posterior distribution failed @@ -712,9 +1033,9 @@ individual participants. Warning: Estimation of posterior distribution failed Optimization terminated successfully. Current function value: 3200.837262 - Iterations: 40 - Function evaluations: 104 - Gradient evaluations: 104 + Iterations: 42 + Function evaluations: 116 + Gradient evaluations: 116 Evaluating the model ... Writing outputs ... @@ -761,21 +1082,21 @@ age 20. Do that for both sexes seperately. lengths = len(forward_yhat[hyppocampal_subfield]) for entry in forward_yhat[hyppocampal_subfield]: if count > 0 and count < 7: - loop_percentage_change_female = calculate_percentage_change(entry, + loop_percentage_change_female = calculate_percentage_change(entry, forward_yhat.iloc[0, hyppocampal_subfield]) percentage_change_female.append(loop_percentage_change_female) - elif count > 7: + elif count > 7: loop_percentage_change_male = calculate_percentage_change(entry, forward_yhat.iloc[9, hyppocampal_subfield]) percentage_change_male.append(loop_percentage_change_male) - count = count + 1 + count = count + 1 - names = ['30 compared to 20 years', - '40 compared to 20 years', - '50 compared to 20 years', - '60 compared to 20 years', + names = ['30 compared to 20 years', + '40 compared to 20 years', + '50 compared to 20 years', + '60 compared to 20 years', '70 compared to 20 years', '80 compared to 20 years'] @@ -803,5 +1124,6 @@ age 20. Do that for both sexes seperately. -.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_32_1.png +.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_33_1.png + diff --git a/doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_0.png b/doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_0.png deleted file mode 100644 index 732e6d2fa966aa13da6f623915be6c37ae02b4d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29709 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 z 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 W4=O80U+|NQki4|ARGEbF$NvMh6=!w; diff --git a/doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_2.png b/doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_2.png deleted file mode 100644 index 396e5341304cae63135dfe47c00041601c8a9886..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29391 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

SE^$xcx>6xBSSb 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 zπ3bALwy@zYoBYU&RewU0WJoRsViT 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%0A!E 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 z'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 M>%1ycwEFx%0HD84$^ZZW diff --git a/doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_6.png b/doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_6.png deleted file mode 100644 index 943656aa3cd734962a77e38f100f1100dddf6664..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26741 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 diff --git a/doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_7.png b/doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_7.png deleted file mode 100644 index b1907fc7b631c3ab6efea11be02f488b6fa894b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27756 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

ZEEN+e|iX;`S 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 z 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 dm#cW literal 0 HcmV?d00001 diff --git a/doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_1.png b/doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_1.png new file mode 100644 index 0000000000000000000000000000000000000000..4a955a7070582932c4f9853a92ddf4972cc6ce4a GIT binary patch literal 57692 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%0DI4k;fyyOMMVMA7oQh|f> zIw!-ur-|QJC{LJZd?t%uKPexl!}u#HDFMSIudXh&wY9Yd6N`K?6n3aCh2BK6|Dpb- zt<*zb+@epj-wjs(#)#e|Wxw=cm?|gB$Hj9xxc&_+y-6{d!||#Ai71A@6dWUE)t*`Z zot2Qt$oubX0~4xcT*%*m%SM*+pRg6LV2Jm3I)o3p()^D>E0x`|KQGsUHy; zX}f7RdR0K6yxr3fr{eNMx+`(p%rjVjf2vR5#oE{rDy*3OpW?CYH7NL{ihJ?F&~Y?M z61n@o-7|9rkI!C$=WoMat*{9Honrn!pVjSnFz~qnbrEPMJ~6R1aPJ>lS*0fxmzJ^t z&#s+`r^flDWE>PHkO#Q2t&~~NU6Yl^2SYA{ zvHy3u2V6;032||zv-70WSc@=A%my6I!GHh|?OlK)075j#wUH!*+Sof7@|PeUyCP_g ztFN!`sAsV@0`b>3K)OIPK0W=Cdvx>5F*|@-6M@ltJHSDK;$B!8cY5|#zWe{#sfM#|XR7T6Nk4Lslq?VSJT|&fn_TxZC zL~KkOrxe|}$K1p{n}ldVda!|np46raWL?3fqy zmN{Rit4qF4l;r?XILtNRo=teY+gemfSu+Yz-qvMGJ)W;?x?1(V^BJ|Ap2q)IpQg z_9-NJ7W*LYUX6qo^VVn2%5`Iu^R4GLYU$fIeky)r2c8kq<2IAiAJp-wsT>eA<#cqC zp$B2`2?;6c>+5Ck*Q$ak98hr~A=u|403V2;h~(sumVwG@Tn}OKVw1q^;#gu=a~p`c zWFSG@beS;uUnfgD3I{PIaiFB=8oKoh>(qKAilhqLC)X{7(K$H5ZV2d&GO+SL6T)zF zagjmqT?PTGV+>c##T!;1NkA_Ng=CM^W&xPDzqjHLr=sbA9-Dg8HsNpcqM|P4>XdYX zxS)UB#B0uD8OX?PD7v2F*Ho|S>aGMq9K|AHlu!T_C4hhhl7ZCq5`5c1PhP9CF_~af zjnXMIRsq#yZ*MQd&M`o;fkjv~bs*EdaRK_5tehMIoxiS<-T~*FgJVbV5V{%EhNM7z z_9Q%f1mr`ANBqhm;Nap@Qmn^`05(HNd$Xrt`h6nkWpyxyy*R`Y(BC%%0{-?mU~d5L z3C9Ik7?3w=2Un+{*db~=dwa++c>DQfppT$y4rbp`wZ}>6-(`v#eU}Ffl-PZ`ObH)QC@1g!TzQUQl`9^f z1u_QgYXA=z5l4MT3Dd?*1!BgD3jI%itx-@?x-JA9onu(@NxkDI0wE9TV<0nzc6`jZ z^&I?<&$&l5laP@71K$i*970WgNAmeYyX!?c6+rOx-T%5&B@!2+LIC4dNnRe$?{Ld@ z^Gy|ktwzQls5|xmHz4Tq<016TnFdIDsHze{pD+bd<@jB&eS+y4$e-B%fcCPtr)LpdzAb-z?sYV5tXYDBw<$1{;N4bxXrq## z=)2p?o>Oi&#)WAwo|R7S0>$0ZZ`UR)H1HEG9-8{XI`4tZsu4DW%bJg^mG<@47`woMgXTm*EDJSYJp#8AjD zD=&|5uxl_-jqKtSZLdc8V%4L>ulxj}3PMbVUMP&&q8H8%8uTKLjv#puh=jrLR4PM`NkoOToPAVf1aO@6@#6gI1Dj-k(SVMe8 z0E?KI*mGyr)-WY4trwcDsH*C;y-`C8u=h7_-VnL{ffULbtR?8h+6_*uwYVh4XVH`i~iSuP)f}`Q8hKBT55T)TbM_VZaEF6Gr#$@=0fzTg*fw6T1 zM*K=c>@YPK7Z+%SnI6IV1oB^By#w9@xdWyF;O2IKR1Khj(RE(D0WmJ0bh zSCW#$OpOZu((!~dfmRs@i|?82z`c%I^!WR<%F5NG|*E;j7*KeTt!>A#>msS$#JUlc56y8$4Xu9LazuK!yMY zHVK4L;Tg=xdIxZ?pUCHvLg+UCxw`~2U}cQm%p>p%(ZxdZ(lZ&m;AAKX1Vmp{uudc(WW2Mhiv%Bjj?WK2W;3;QO^%m4rY literal 0 HcmV?d00001 diff --git a/doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_5.png b/doc/source/pages/normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_5.png new file mode 100644 index 0000000000000000000000000000000000000000..475de8076008651a298ad46c1a6692dd206708f6 GIT binary patch literal 51525 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 z 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

    IYyu zr@5@ZQ?*?ZHmOhtDC<4(XLI0=iuTNE+{x)V`;AQ9l2VHeD?|1MdvmdsIZ-M z1+cIV?yTROTydD4$II$4B`VY@`#)w>f=pF^yqnDvcMD4KLI(EDD%Gm-%{HpzXJR#G zZ17xL_DuVtY;mr-m+u?7N>Z64=3KhQa%&yDxaliU7#i2b@_#NEPriu_DwhpHZ@eJ3 zvs9JJdNGp8xR1}|bGG0hZ6#DE8Ew}%A8(WphlWoWZYs3b{59uwdS>dP1_nlMh^eNg{`J?atiK2rREL6Ln2c}b6>@CT z$ryopVo+g2@%`bi{{VJq8maxpRmreWj^ARL0?J?_fk>cFWBk z-)5<$WkoVqwa!#*_itJ;YmLJa-Rt3!#49D)X|UW}=n$Jf|Ho?;vH_OqiJ=EOpI}Ot z#`lb=sUJATR%-@t7B6fUsqTgNP3T(KHu(0Xm#oMsAE%6v?aDSrD334l)v^~~Wh}qu z*ZJLNV?80o7Yh67CEp4st&>E!T`&>O7CL@!)I#+(Bmbgn?eqsB=H8e>6uAZa$HUVF zUw7W~p*!*T?2xaE{zZA=z{m`hgj3nwt)-b+I>vfy zB1VG>U!byOwt3W-wCG;lVlW?Rrp*j(fupv9r-tU^=BK4`Z3qXp80cYZ8}tbv&Exfc zHRwf)*!al(mOGIbueUs=nsN@qLb< zgs78L!DJ6{FVtJdoj4JwZ#;H(Ku8_}4H7*SB?I&!=(cBiR^74b2PfN@!uc$2$4S^u z#lj^QNnoG_F($%{{k)G)c*E~Mn(J8?TDT?V2b->}QrDT5bJg&Me(#& z)-J|0eCUU&q!3DNt(cEH4zQ|y>l&l#J6Mi6CNp$$d9K6T#<#i#eK#RRIE>iuqx%xk zJHF_rjcfDV)ntNpCD0MTy}-U5(vblK7AoABVek+j>7TSqRadv z8f+)oa5*flj2SjTXS{`CywxQtZX$=?l(YD$)rlP|Tz-^O3ub#_1$R>qP0+s5N7g+Eb7v`C^U|pI(-&shhTYlA?W$ zqDLT;vo<{!6c|%X)N(CQe8hx;DPD)nfE+DhB8G7i-2sS6%*S@hT`ZT24|w%%28lph}S*fwsIx!j795Qc@IM zzQ%3_yi2lxASq^5o!RK1NNN4b_d!F_?zwo4T+Xvn;k6wxEs=W2j%AxZR(L#y0b7KE zoy2V2?d6=;$btm1@69R4W9b?oA6WW{Lo+(#%HD)9&uUNbePLV5F5Z1uTsXdb`e=OO zdmC16#H?}_>ymN3Y8vptN{JuE9sywh&r&1fC5&l3#zaJ7x5siMlU<%BWMhE)a6(fZl+5&~S+xu`(5P91~+LB3K` zVf&rYl?Y$G>;x817?IA}nn4YVtWO3~2cd!ZA$>vW#(@aGkvQIMvTr%+ylcU=olI{K zfWP|_SPdU=bO+B;vuFQ8WkBG#^P^lad@bGeHUIn7u?%fad@Cjn<@@{`H}Dzxj6aKJ{%_$g^@He21m{jx88;l0lcl=*P&hL`b+a?}cf)B>Hx2CXv9J`Qz|!C_iWB#< z5OJ7Wp7CtGAGue`FV2H77I)*`1TTX8o;rIVC@W+eWYe85-g1gc!30 z=uM5|K*-vBN!G#4C?E}x0QY8Cv&zu&CMrMlqh#wnim{>@HI>90C>H?}k9!NhwRkj}3@`%T689R<6AvX+;ClvH<{ZUYx5dDu7CS$azK zQ+?~+p@NY1>jS=N1cJP;tu^n_v51TGT8OxZoC5oo-f31=BtO_jmun6@Gw77cY|7Xu z{OUkjn!+J&_wV2^C{Xp0i0E%^gCP|qp5qfiXq0w=*xqY(BJ9v0G3M*BhS&K;azPcD zoV`<|$FtuV57Scm*|5~LQe9}h?e1J&py28fAyKA=PfpAQAgRJ%c|2iRUmNof?=d@% zDicfJH$Ik@)!{W4nRzUzQ_}y!Ri&vR!*PHlF1kW|{*g4jyW1+sp z#{T;Y@-xbAlve~^6oLr|lV?`ct!2np`giI!dWBio^Inp9d5);`Ga5XFc}w>T87=ky z7WizRqh4p$<6ljmn3jZ8OqfRLn@V?wq_W0_(0~*svw3}$O?gi(pP!VOUSU0i>TYqa z+a8x^t()uF+WOSH@PiBL+CK+oj?6}zl(UshQ2MUFbnJ+lRuWEdy03Nr=J%rXVWKfFY+sRM<8Y0#zYdt=?!us-IgqWV>O&3md&_8hy@;k@5 zvaG_A-@0X|8T{E7p?@ApH1!?I*P*8dXk%@iT zb1+DsN5P&MWs4dw&5tNuFhf7|;HnTB zYg;=tTspWAXbv4NW0e29=+hDx?k2tpG_t9#p9epG@j8&u(J3dBdlcWIlC3`S*Isgm z6AOkC)DemF-;-g_N|cog`e&b0x9fMHSMLA6(%v$vs_zT`J%?6GP`X0_1?fgWQjioC z1Q8HKLb`=RBS@o2cZx_U-Jp~pEg;=p(#?OK@9&QL>b|&lT!%W;b7ZskS!=Gfo;m09 zSzT;ZEgkKmMZBKXDO294sClFl^ookAy`uxLU`PZbFCVEo<~GJQjklbwE?J#f!eheP z4wQ!n&(irJ?{3XjaZM$qII=ybt`5=PWbRfP|LCo15>aKq?R$|#KOHde5dt;HF&x{6 z()`lj%l?+|Ir(7Qap3aNozju17va80W z`VHxNgf{7w?&6YP;_MBX3P#DtFJDbuNSsqxG&Fy+f@ej!rt>C9s5|LdS{QHHvMaA< ze>Xd$526C)C$gcUB6XwsIGvG^I>09?sOV36vS6%6BO9@nVOn+XOX8}Zu8scWjq@~f zry*0uXTo#)FBF!UA79tKop{GC`y_bMm`0A!V$EaRL*weJ^p=(mY)Na$ZM(y$%Z-^n zS@TreRNJq$HrXCE6^Rw2yx$tEyRDVa`NZL}_TR}DOF?oBF zEwhKl#t_`-UGrQ3zygNMfI4h0c+QrU!_di8Uvy6Fn2ercVYzkT}* z4{?l`JUnQv+1PM>ed1W_x=1k8(X1?3rY<%k^1g+##FR_n>~ZM6`xV?Qk_S^9a*Pu@ zn9i)oE!ut$F+r2^{q_e755gN8y91N%shaW4^o8DvQ|?ilVdcgW;XXIGbpr!2dg*=H z*TcJN681d*#vBDEw>GyxnQ+syX-=1nn7(zKq~Q4&`35EJt60(|tVD&VD^oW%6zy$E zKLkp?%PRK4qY@k3Gl`6`Ef#1gi7OIPi>>OQGzuwFD9rH1SBjAzpo%l;xsvrnJd@1o zP{U2MVUFz3!5K%$s-JGB*8Jn5{m8g4NWOOT%|SJv!Zu{53<324 zk);XTagYcbBKpv5Yirl}D8*|O6oC!r8#Z`XXN`;(S-;@zz;+o*9?3<>-A?H~b+mD7vHArnI{ zo9-U@{pGH}%8HABOQKxy)L)KuO>Ekb$X_;g4ytFXe%*(D-uHcTRXB2zDDae4~ zye(C#mTu(sK50a-@4)HS+)oF#Yiktv+OM^r7gmSvE-XbIt_ioF?$acJPYDiUlTP|M zp;+5EyfbKu;8e9$#@6IZw=yIw|D*^Fr-+ zdVYNP@lY&)2%D*S?6;m0rBaBpmVI!U`_VzfZJgG<>m=Z4G=D1v=s=i|q;G_J9yH(^ z-FXe&`JWQqz@#6Ojg2t8#)J3uEdzYh$g|lHZXT!A$K!5G$>>xm_?{DMYZEFxFD*;Y z#wO!>!ic=qKUlR=E!AsDblC9S-(fu2gUIzPBL$B&?rN2Gx-FiRn#8Qy2qnpX4^A=>N()K7OLsyRXXDdLtG?n1pH-g8 z1RHObSVhdVbxN(CCmilq6F0cNzKt3Vxi4Mnf>ry}E6vl2zspV`S)IiA!^e2>XY{FO z;$PZF3-U&?zDygj2OnoTnkTB{{WHb&O!!hfZ=Z9OYe?nqMi8YIPiPy~9~dQQx&c`K zBfNpiF%1N$|J>HIa&lfmCpMVC_PN$R<7p$bnj!cg=a2RV2b)! zB1@#`kMg*e+?lVdy)A`e6@(n~#s$WSzZjiy;fu!+FqG`-XC-!i?aqf-BzQmbA)YyZ z=DuJYj=-wN8GMVVv+$lDVS1o;%)lDR%EG~V<^0V3N1cn*?#)hqQ#GE&fX4A=a>Jx& z4{uREuNz&NBctz*kGiG8^Wrq4VE$dX5av6I>Q^!$C_|eB^6y3kNYe-JI?IJT<2lLt zc=cD5zN*2P5;5Fr8#X-hNqcl~$0{)!&8ZvVq!e(}e%_Io20s^#KAcTw{U~$QfID)NVi6j-^BrzcvSe;bydi8Ih~9tgUfK@3fB;;V@E?7 zZd>;@xdbF=vr#9EOM@Kq^YdvXB_!x0j1DIne+Sskg&QyW{KJ=c)Sd&0o{c;1V!vOgitSA3A8A;`e6VLHIyxg_d^R6Ae^@X5Xjytg z^rMN6L$`o@XBvJ>EPuUd&|_>Tt?#tEe@feV=Cg;c3i^k(%r6OxGCDaqVR^5vu68*z z>(_vLqxFoZsdZGrSXrmUaGwjR#Zqtfq`EM(TFrI3VFo$|XqKXOB`P0h^c+DQ}=6zo%E zK*@o@AQM8smW&tn|Dd16gt2%d}ZTD=L$*h%@?;{K3ao9|;N{Np(%h zoQW&Z7q#MbpZ0H&J*J2|qcbTjujr5O=Xac5MV48yG*Bw(;M8?$iKjdgFMqjp_ro?6 zk7FL6$J~BMBdv&di<#z*u*YquO2b(>&{?UQ#^^<8YrkDw$z6f5EGIWOIce>xxI*Rd z68X88VQ(%++x(ABKD)6tPIfJgy7fb8_-Uo~>$D-Ia5Cb>ow{Y4)U&W0lyKM(t%2-m z(Pr-0e#NJ;63f`ldfug^DoYAsHL@NCI;(n1T2aUmO4?`bQvR)b^)s%|Rnj4&$O;2F z>_tZxQ&mr|g7V~74Iyw4Go|(oP$jUkvih8#FN;zo^as2$JIDQ-l^LE+h}CSbE8d)_ zF|BDC+gD>Wh;__ug!e1N4ZreagbMcdN)*fInq4(C=nqCArI;f-#4Un{tV?Ebvsnaj z8&-j)hMeuh3m+TIsL(CA+5hhN^ySXAkCgW$-lkc2e(JA`uX7O^ zO4Z@MT;Es>`#CMgip|EvA)>TdL$Y!`Pjd3;#Nf@}{%5-iZHX>-DnAfcAXRXBvF?hd z6MMTi-o&fLZIre>RABLTKy)M8u_F^By}9ep$pIB0YifGS^JoTl+^&rd;&c<8%eW8Z za1wQQc^+_J^O=hVyDm&uPYCFRX4O<&?)B9Z#*w?7q;hbWBNjm*MGyU z+<`4OTQJtS??aA*v4CRh{Pa4s#Hy zW8cg9YGziNJO!?OgXW`0zSY%Y$2)LtW`VYAC^v2bSV`aL=rbZ$G4F^*)f5*DTij_j zeVL|LLD=5e)Ba?Cg$xjx2syv}x6d<+CuzJJ9eZW_!)QQ`9jUR0x2d)e5Zn$i&1DsOXK3j-H;nybxaONsUNKqV+glh_yGm1$Qcw z9(jp*(0_AU>T>4W0V$G3$m~scJ5}Wk*03+D9C9fx_&YM*GM`S~@#FL~z6;D=iY#Yx zd`a@F&ZoCk?YrJLN2M?JzBVB;zv;!dvwPpCo3a}xMUiQ$UYK@Ylw|q&UTNuL^HdsP>t0#ndvY*v0EM;kN83QKz24F}mHc|guU{EZ zMGD5hjNIJZ7-+-9oei*9$BMTaYY6~XW)5ND*q|WEIKdEl%w=6KFkJ z7WVG;JmJu9@JzO_un4teHK-{lZ0YH-cYdX)@bPzYQN+)o0&*)|D=V(L!%24m^I5qJ z7R3iUf3zJPC&WHb&Z(#Se9wMu-qeJBvoUAX)=C_EkmB^Rdy^wr!-JWr`QN1yN4%`r zv(mOY94c@equJ{>>#ft0ZrXJ`rPjatSaP^cl)-#l{U|1q`KhADj$((v?01sAb(fwm z`)wsOZOgfxQhomt+c+ASQFw3&8^hWdHFs-x1tbRK!I?&)}Ow8%cpB8Nz#IAa@SRe4D`%jYvvLsw+wK zIusHfogYpi5x^yL8Mng)N7C)hnk}$j#JW6cliD74=$Wx|_f`ARmRFT9v3T%t1r0%aREEFcr1K4x zdw-`b?%u4boc^?ws@R$!XzL<;PN*$IO55N>tJh=I(xdI!nu%g)!6ioZR{80Kh8ujJ zeq@p9@A&Pfb-!dghV9@4-J#Tl$cxJpOElXIkhHSkA`4aRQPI&@xm)%8T|K`aMcuvq zfR*$HIXUxTkCdHh5B>b&Li(2i!Z!63EReLMIp0xui#M7FZ6aP19rQZ#JyG=*a*XRi zq>bnE+of^_b8!3LS$uZU@QW&T>UdU^v-aTqYJ5v9p~r8>quj+J|`?Yb&dH zS!MCj5?2NSRkTN!)@qAp+*fJe)?NrImwZLqX`@P&5 ztEu}yXrZR-lh{rguSYl2I+fc=XJNC7Vma!tuxTG%;W{j1e zZz3F@j>hyLb>kD1rGS#&BJT2GzLT497;lwk?5c4=S4fE2qvw~Wxt(TiL-q;ZU5HeV zov+?2-{7VG_ZLt3f;}EabmTS{lM$8KNbZlp`j@M0d9}e*Vny(aK0-nea;fcZ0skJMJqHdS1QRzaBoG)KRmdv#R#8Q5_@Lu+-mv zZ}{j><%o~-_~257Qd!{YYUPa&NMzFR5RB@+$;t3jvPm8=ppSrV0uXbIp|=RE4O+dC znAfOB&BIXJO}M5+ea^gS&NZQsGh5gZI6@!tJiiQ9M+VL3L|H`-N)6B`?wSzb;KuI+*bG+ocK zV{w1~hMMzk1@JEh=vCy$kAC3VJ(nH(qPf@TN3rRKF5p90czL4?sPI}WIy{PBO~m+O z;32v+b#7wVBBi}nmKqQqo+kpU_Vx(GeNRsvTt>{Kk0>&4PsHF=dG?|5z9$V2kw}51 zW-4+Q;&&4t3wQH_#N^CY%ry0+c5V21tKSM(=vr20XXE_g`m=LsscYFg+V|xtYk5w# z!dh9vcx84wF+$Ev9EA}?%Q=;z9~~Atk+7TRTH}`4cIVzT#&AUuH{-2Hr{oJ>b;~0sI>G3c-jJ{M|)Hl zFaX)v**mBk*yMkm{|c$1`COf`+{2XxorVP+YGY1W!c>UgU)03emAZMZ-TSC3gZ<9kzhvke#gSn$Pwrp9XiT$P9To34lYKew$C^SGsOy6(~6 zU7ZxK->i>I79ngud9-#DPdenzbiI_k`8j0Abxx;st8OVi`Ob2BXLyr6^pu*o+oqM7 zQV*&7F0*^7btIaPpP%FQ?O-rK{xoz6j`mp6T+Ltx{tl>ivT|}zU!5HteIt7VI!my; zFV1$=Ukq>AOL86f3(?dQo|Dp&8h?8;szk#|3UbMAj{ty!{xd2jNtW`O+&&GnX*Hx1 zIs+;-I02(Q(}NNc6W<4!fi?UMT3QwLd;2%6Mv8sF`I5V*dVC{ZxW|^^s*iVwb4cjm z>ZL7E;uAn63!@eN0Ms}l`cV^<~D6nID7I3;5RO zF>+3Qz{lHs(#Rr!@ z4NfPc6*dgmxVQtrhZWR+#G+zW!tDH_t=YN+R~0|%FY^HCp37y!FIc?1yzHHwbKYNP zyItpM<{#KQc#TTw6zb_CjFhHw6`~~ zh|;kjXwqZpxDX|=Ysgkfi{b)+#7$;^=ah34P+Y}wENT|L#Oa+t+(Y!v zAzmR^RY#?35V}k^`d3}1vSD%Vr!eri|GGPgiCL}qUR1KGTPjK+U~NcqrBHuRL$9-J zsuz#jirDQTSIl7PNRx;4lXQ8f>5doxEp#46-HcrWdOX^I|GK)w{hK#$Dlb(*iy|;F z6TnU%8ymY1OcUwEs-DNTzM!uUe^=)(aXns;pdvlpXQ;?P9Sse)MEjxtuDfYjQ|{Z# zdZ+dot_HRA-R^EIZ&3QooBgk>r$CKNeITJkDvZL#MN`P4W+e*S^n*H|myzKcBw};~ zIM!^g@2>}Lc@H7?3|9V;dcVM;s6S_wCPqdRX+$}mzOn7t_qcbj>-g&NT&?D85oMt!15slb@1$0S67ys!%{zuq-3f3 z+uygn>v5KGy*-iaG-(c3r>f|a+*DGgd#)L^^@=vdP5mKSbjZKTb%1eQ_XdwZgn#;o z9~7dOIPKfYa|);_KYZBH(h_iTu<;NMARzAE%HDweO{q%Y<0IQds?_Qz)W8&_HMG@)1ESc7xZ{-`K z@(@ci!6Ls8+8WKFyJHV*t$v{dh70r*K{3t-2+5yeR|RT_TPR)El8V_%x6Y6FUqq}9fvqtetzUn_z%&Ok zB`A?{K0ZEsi-|UXxQ0HTd7DN6Z3@gxy06T6U3_E>B<6R>DC4a_Sat8l>%KJU_|WYT zKX#VB6G`DWkQ0sZ7*B&<+Kc1O<&`vU#3){`h4)j5V^;l%Z}P{lnw~o}kCvUCC|U&b ze=ds8X{qH&5BR#I@=D#5$idj0>r+{gvGLWbSIr>e?!gwHghUhSO;Bh5+8qDQ%I7GR z;KD;oT=Vdlx+vocByvjWe44`}TVxzA+C-@u0=MD$^h_UKV2F-%T zmgVt$xVsx#_2)Udo$al=RjQW6e}k=y%u51-i|)jW>fj0cH4$6JrMV69^;do_|3T`I znJze{60b~5gv}pF=YPgaN#r9K;I1#phtQPvHX^onV2d0$ zh#Zd2Z5at{;5{$6L#sDsW0HBCbcJhzMBFyVUPot&m-3_}z_w^@V=5B&Yt{Akj)UPS zlHvKl29EO$LtWd%r*5Vr0Q?ql&l3{QM+S6M)8P!w8Szx#B>zH_eH|rleEdRDk5`e6 zZTge8z^UbSo`R%l=;B&@rfCw#xmD+{St0K$T;V~5{o7w}f45fQ;%hA?rY##u%rv|+ zGf9ilxH-}2zLkg1_>#B6b6Mk6Q-HeQ&Qhvyw_WO%h+tWR)stuAIF8@>KI`K>d$I^Q z#eGf9aH`+NTqe4=<85<;r4e$9{9K>zeRmh8=(F3Zd!E%^cW9sLvQ_TXSxppvdwh*l z+N3K!^Q+HH=ECPMkERrJ0{VnD38-?zN2i3m10=-7*24yDt6$=|xZF>qPCa*ClsEWX zR5frr4&S)h`}m!brHq~wrI;FBSwmRk;F9n_sfZX~*>slDxB)Ih?^7T1Jlg9h3lHgY zt^^}mzUu;Mg`Y}aUoYh~CD$sY2(G`y7y5r)>IzrrX2(cL&G1mc_>|>vT;t0g z%Gs~&JamdTHp6(oFY{CF-q*zAb50U_={1H}4C-92cVt;AyNe7t`z9Gq9{*CsB)hN? zr=I=l{hUxO#WfomNG0R=%~0~ZmLHpb&|Fs%^@)!wFb6L^hCHo0q2Zdzs)$q8MLDud z;-?`GEhhPK%d}sKDY@#cxwT;*)x^pT50vVNNEtil+n^@H5pr4P>2;2s5c$o&!i#4p z0WzJi@I@?g{fxm#&BvFY+kl8XT6$BBrAkBGaCumkC) zZcvM~8N2o?U8r`Ieio0KU=uU^?>+x)2Qlmp#;u=f^k4A&A-;L%VMQZ`?b!Ekp_Zwb z&FE)rL_=F9om5wzD0*d#Vv%RyADKdRRBtn_9Thx}|Ni%gwW1yACXpHc02zhD+Qu{X z3WvDfW<#DgA(`Ys-z%KOeLvc|NTL9)Srw(pVcmJ*W{;O0-$m-j7%o6j~i1FcIGU$q&TFxO-j~MP_b`g@rr<4*YkW|TjFFnGbkv?8_FHf z^w3fifCkV>?at4dnb8M%g@s_DjpKnr&1`K&z{V`q?9Cg2l@K2I&M?Pi*H4_L+er-9 zo^EcHS(bZMb|h&%QDx&>8Z2b4)M-}9T@kMHoH%I6Bjgz&smRN_0&wCuAuH-uiC)yFZa2qNE>DXOg%=&Hd?*| ziyQ~ru9VzYgP%1i!I=a2+X2457-%3R?8p?HorRK;lQng9gW&=T3LuBVNe<46)IC)e ze{ORc)Q^v=zJeQnC%9ZFY7(c^wjQT%7B6C#adruA7lzY~K0uaIgwwS`IIa1hC~WM4 zv|qT%UsToC(*yhQR>db6A(T(07n8me^|E#{{pj^;kxiMKoxKLfL@-*!K!CWV@!~~c zsXAz5U-I+IPMYA+{Qy9Txe@xhe$(utCX~(*EdenZ8O)ELJYjnN&)&9H1N*_1@d6*P47C5MCXUn)6;iQ`T6<04vQ*h zM{^Oj_V&%_o=4EWUESSxEo4!sd$2**(AI8Kkw=dPLlL|j$p%7l-F4)xQuMI%n{kah zIWsLoPek;~Sm?O*-@jjjO$7Q86TFlCFW{p8OoT+o!v8mK^!b}Fp@;cQvi9WUElq|0 ze_sg4z@*2@cz0ARtGBFQF0LBpM?$v+JZwd_7mDwp3A>Ef@S_0&#vjv*^u`_e?T2Vvz_O>kuy5nA#=au#g!GwBmJi#C|Plz1& zYjAi+I!2TLs;R_r<P3?U+$v=MlSWa$n1@l%ZrIMSQ zC^8MgBPod{gqf=9>V7cNSU3f0;dR8X?(Xs@{9J0lm0Z5O*t)EqIJ7Y{OOr&M^aAg4 z1wuy@KG#Gx!=&pRp)wS?R2J0iHCYzbDZr{$F| zzA2Z4Oe#xWem>^^eDxtJh8-L@qsPe(>g4|xU&pe-V&pi<=U^l$XlY%C13!G{Jpg=% z`mnEiD4$J1BCv4xg~|D|r3FZin80Vm>P4MQ2Qqjz!pik;P)nT&m@OdGvPmA#Uq3#8 zb9p*sp7IzVAVel4jAozQk18)0LX+cxjo~NFxGZFB1S9QeA=Uux^p9vnlZV$wctOFU zmWB@sa*yEh3}jIaT{Qa_UirT7BMUiULDKhFfCO%W&>oePM1TNkA^@^LXXodi4hRVe z<;~6W2zAY=;6n+7ymV=KdGpv94d^6XfXa+YOdR8?mqK`)?++h=Z_1}PWqj40BCtNR zK#C>Y^ZXLjhW_!=Buf8Hso^#wU^X1?Pi8vBkW0KEEjL3uffX;fH$(7{d-@Hi_Q0a2+^U8{}UZWoY&(D5??w2>>>~}m%%@OX3#cJ z(HvT~kdV+5?z8~F6Fxx4T48|wnPjiN{!RD+0s;)3VDoZLt?$J1A!LmsW>7oqDD&>qsl z!W8h>@58GV)c6LT$2W6S6W;-D3vSN1H|>6$fH^6QE~|1&p4~_vbf(JvV7&>dyRVUv z-85hzCw~VY|KQNj?G1ycPv3#{$DN9P`^u`SbXZ?2*9vQjVM~#fl{F2ytu3J`fHn@W zb91+)-S?ZGoyDM_prF0?_6E8N2ms|EmDI>feV&EQ9}_|%84dc^YUt%>&wXa zj;q`{E&LM2r(eKe0w;G&;C(eWTgA5&rjZbbk`|~{|k0Bz(ZIP-LD4jZG z7G&O={N%H9b9V4#1%!lV0ahadK(*1aF%k-j*D#f2@YRFx&{8&ZRfK??lL;g*<*}{m zwY$JBnT3>aR8fuN3aRyE?Ryw{mcqjpAYBB>WmxZ?1KssKP&(i#YS$CcOHjh3-MOrh zmHONdwQ#WKf^Xj?v4jUoaLP(?0ez$ZY(zvFe0|8=X{`pr5)Ar-W1eSZiQBFzIB`$U z1Tw@Ft=%$ zs{%nxc?Jd9j~x`c&>{H!`*gS)aOTd1$rJ{&|ILWS?l;3G3^72uqr+r(%Dsp9* zCN2>zV@BcSd09H;JqSA|Mu1v}rA>agP(KrJugRMYm!2S0WbEwNGq2L4(4w}zon1Ph zwEE%Ka(+=gv%0$a=(krP9;q-017Y5-oNhJb!VvBUl34ZgxH}{uVdjAT_;#agc(B|l zumnBRf4bSWu={pt3Uh!v`5CxPf7&@V{`q zjpg0?3cZ6z>FVm5!J`<=R3rwHTozl3t1k$iZ-&kI`K?9;g2TdY3JVKgB_hg!A^QuP z{C~H2yVNnzGmggy1B$6WLXeSHQ0NC^|LC2Mj)9Vl%qK8=I7CI`$0sK8ye==GCISR5 z2;wn!^_5{xqk(I%?qq>J{`YfPjPd2gIhORC%Nmh!dVPHgI-&zP5>3JdTze_hgp$6O z``=B~qr?G^3Big66m?A~xcM_Q^s558kFn&ga-9Bex5cx5V{rhEY4EonOfWM4pLRh1 m?E;%@@&0$z`v3h#-%DJSu%jl0D%liV+#MUhw1QOe{`T{fh z69mAUCJ|Py5stzB5z)uPPJyt;BSM0LBZ4p|wnv=`3&#YXH9+Vi^tHF2j)({`)z$s+ zIU+bLKsQtA>J<=ZI|z;1e+-v5(SPo-LS+8P^ql(fj6Fe*ghcOK5PnG|msB~i9*G)> zibMQ%A%2apR*apM*`gj*v#-^Fb!q6l?4OF2GW%cJO2Iav;wt6dJ$ne-p$*Q3LC6YL znQ2pkBR6KJV>+I!8+lz)JUGRRDTtXY;>0;j*ALQ-M~>xdS;74MGs`q1rwG~EZ|K)( zZQ9{yfw!{5RdyTD^W+k<-G;l0Vnw`DN~(Lb{M)jQ%$;@pW2?3+_cSWVt0i!*c%nCR z-=2Rl&$UbBiW_$J+;qX#Jc74n>0L-qPp^x9x=C#`I`TF6loGEuFF6K6)CRtk$nG`T#M; zBu8LsmzgC0V^0qGFNJw|9Mrb z>et7XQdqyR3W%b)8ecXeQV!s_l?2IkMlHVM_C- z`E8jZyCFT9nb(Wu{Obk{C0b7sg7F7Ue_Rh|2H8&is3&-{{JIMUxwc3&$4C&BvOUFL6brQ3h+ZwZzmI2 zGAuP;E7S(3sxSFUDvq<+E!nNE{8?xcVqwuyec8HcdD*XgYlxRem{uSR9ts3rBOn-b z$K{i|e@1g8Rx{^;A8ZPo(BtO?V%oZI$M~0l&<1MPY-ME>6iQC2w|5;Kj1(`$-uLlo z5mjv$sh)Ur#u?@5ebzwC73|rkGW-c%{wrfw;yKdfRie+;ehp=RXa)GvrAvPlE*a(0 z3P@Wc-7L6u!p!P7Wo6bI;ZKK3$g>ER4(%QMWfe{3gd3j+M~4%jiKY16{u%E}r!AP# zULI$(7EjwUUeat5hm_fG6?=nJF&R#&i7JU_S2h_0!kAUJ@3s2De85IGaUO9MlrpGo zk2m86$EX)Xy&fSJq7q_-@^pG5AuZQa$)H82DoOtf!*$hC z{M_ch<4McR`Y?I1b8q#e*X{~ELG;_81e^aJT&-r;ixO0`m-NRjkM)p_&e>RsK;}?Q zBq9#{7-rHq9Irn{9_w+x{n0w)4#h()-i|Ts)inh&|Cb)M($l}|WNDz?L7!{CFyhe3 zb-%VieV|d$&mxKti@}k=_Uneqn3E9^m4zA=SH}0ceb1}%37ma(#;iR{-OE`A8a19( z=#3cr>|T-h7G!B@SsoR8rrLQjiFoshku1vVLSXMl7mk}{Z)95mNc-cXw?DzErufV9 zjvfOB6sA`qH`119iy&33q~}I>3#w^7IsoDVbxaJlYMR(Gnc+qSkeSyiyC2nXt7S$c z(a&_a3|9K!46;r51yGvBi?c@z4DM&IQR;t%qT1pqw;+G#+Ak?Ry~p@`)%)`X6|d)S z?fAx)rH@iCsd}w%D9+0lHkW}fMt_49UMy*Ra1SPcI-xzJ8=!L?y}bS-ExKi5T6Zd8-0_# z|0+lSS-HmQ;kKr3j0uwSL0Q>~$sy8YdZjDl$i4z!pQxlJI41^cUL);M#vY zPM<66%kp4&OV!Nw%9+TT_%L20I+4;Qx`0|0fCkJ6UrO`Q%V;2IX38f*$xba$GOCFO z4^;}04DlTiCc)%|J)IGCqPRfn;>j*uW)+75(99Rr(jiCoY{Ka)J72932a)^_%BCCY zo0^((^Y?gILQ4WeupUcYABI1XhM~PtZhLkqBb3Gwk<#CCrzcZ}!N@5p`txTv{m%Be zZA-vE^mpBZqnfz%=ib8O-FnC;o?WAQzB!c0R{Xxm-e(Us@kTnQ>O2`4L+0&~`8U7R z@V#RYyc^FY#-u*@g--0G$_Zx1wP~=@Ag_Dc?ZW zdbF`k(-C-RJ!J|^6>= zvd|}4u^$*_v~UKHJP`t=oGu;JHXzY(fUy9djzg9O7`b`&W@fxFvE~}nf}im%_c}64 zNR4V3p7)OLxpi+Z$SF}^R;wNVD;oAAuZ67ISm+4E=5zP^K-yh`20lR%cc?~O<%H30 zIp5Q#HFov{S6ta3DOnN6pE-N~j{U4Bv-|K`TSI&7r%M_ z1^t{(1=(*|!1p5C#e_AC)K=^4xe;fmijfTw3UNjW&g4y0k7eykWP|eE{D2RwmI^Fl z&QosFcF?wvN)ayk>&7JnmMx>$O^fS^Z#nRE#0P*&l zxMcGv{@uhwbGQx}h19{9onyI9%~jaF)5gi||L!772Lr{kv)u|Okt5yiK7&&~oF?Az zdV1YpLXMjOUt!hk{=bqxHuubMEv>C7a$(ysmng`nzQ;pj0F*CM0Na4Te{T4*=IzO_ z)wIUjJQOv7&s&ir=K$xznO#=wM2bB&QvM7o)fs8ep;ckuez*^SMgd;_IF&e*nB3YT z4Gx|Nz_$snZl!2u+n)&1)`NB444+Tk{<%cly|@PX?mI47lx&i<>b0vWDH3r3?Oo>s zdrA85sxJL7Gy_8zNwAq!lOM@jOkm3xfKNx1F|QEQq=p_8inj@Gla>8goBuXP_B({- zMlhvVyN=(kZCAd;G%{2!5Gl}A(oKudeW<=$-~ZKRHLNsT65S(#JBjt7k8^U6_yi`0 zR51QY9w>)9U)dZ=tCTW_t|yZ9>J(p+pftOd zWF@G?RDe=jF(5YoTcBMUxH*0jU1R6|HZ)+T>Ju+UyTYr3=*8%B%j#-6W8ITk37=a4 zsRYp0IC)rD8{zYLez3csL4|;&Y|_~qvpVS9xgJ}_uV@vLwY80n2$k#~ z*ja@|XK@u0DSTSBmveg(k*xS8Lh*S#T5KJ5+jn+;2`KAH94?DP zCr5ki!TvE)SFNMA+2}lR+oa0Mv1fc~N0fQP$8t(A1UWiX)z;N2;PdJcVK5m9$wmbo9YGCx$%wm1$SJCu1LJtDR|a z3okl-b}X#kPOXGF^~Fr@m1#0Ne~xAWFV_u`=7xgMu}At?vB9j(sK%du~1KoNMKuGBo;ug-hIBj-jdYYyNP%x@bqz@|J&G$q@B%p|0(q6EJs=+S; z9mZhpORmRBhG6(OktF2rPMMi>Q|vnPx6>j_tQ<(S9p;}|K_yo{PF?C-kE=`_F{5($ zrqO*PQ|A7SkAO}i>Hr_xJy%{O{@}PunxRs6HNDsk9(t~}UE5bEWSZXpbQ;wZrNlH3h4+s^fP_gTwJYxBlL%z&Y$wv=oJ0d!V(9*^spplRx8g zsJ~k8{%>PF4|WqPE~N-tte2ODcSb$P5zEuU#G~s$u^{6piyFaDorFn|XM}0Uxo@W8 z`h!1=2D2oMz}86w(cn7Glz#1j&o(~lPWCnHX+34JpX0j zk{NPTVAQpz(l5xdJ$RyV3^_2JlkJuwXg~4I%YMnSn;`@(ht4@_G2qAuC3RtsET1KH z=_*mt3=y-k_#wfW7U~Pn-cOvn$C$uSmNZS66a^{;4}b-OTRAHr9GWpH6(BJ#DnO2u zIe(fr&JL_^6rB8MO1A!e#*@1_k*C5wnUs8~N)3OC-%Qy|(6wo@Axz{^-QNrio-CbM zn8_#_3zAKwSQ2WWF4yUGUV4v;___y8ud$QSNKLZ%jLwN(-hIWDo#9v}x$sx75r*h; z3S0lLaAkHBy8dV!uR@1EB`g8%NFgq^23IDu@b5eATectWDb+>h*QF3C>PZp{wV5M6 zsJc)_LIr5fsN=>k#OgDBVjCf5*9b!28l#vIMx{P3aR zTp&N(i*;!$NB2XUuF~Lp!3&v{orhMV>{vXeZ6OQs*2Y_CVw8OMa$C0!BUMLTS^Is( zMpoPsoW5q`RneGMo!zUQtPQ^5tZPzt^CA4z%JbKHBL)zA4E2FvyZ-zu&_1yr3xoC5Cx|MB?Jyq!+# z;BMu!@)bcBc`o;3e$K-D1&WSlW5G4bg~Yq=*H`XQ`b}pJK@`K5&p4%io%rt8iE%pI z`(YdLLVZHxy?+S268W?Wnm&t6>*y%Vn+~3NzgjuB>pF%X>_Cr!${;Y{^hjDAchGM} z&HfsZtcr#GdWD#nQ2%g(&j~!Xu!z-XM(yKkzKPtbB#w3mwZRmx60NofZXU~#?9&;o zpgA~6dGzwsj|=4JRbGLsHDjd$asWqx&XOXoP;RLfS@9Q-H0U%OW{3l3vgh^R>bI25 zyK~1u>e`e^QYUXYpMBtnN2MAy?wWBX9}hx6qN11IU&A}9GovP|m>=spI0|6WXCVv8 zxUKWx5Phy8x8lx-U5?hM32pz_h#pM0rbVpWE79>kGcU&!35QA zo$sVA_;oEk6yn%ev zfBf41fs@3x82a$G#O&;7gLwRxp zAHR`{GZU=@2#X%ekhRGdQ;RbV(F#GM@?LQTx{z4Npkl^~18b5vU*E>trSO#sPI^hs zNKx+COARh~)X-->X(SxK);U$~*--|-^UI3MOC6Ec4>xr;(q|@GBkeo!4h*nYrV_|} zM9}&Tn=Z^EC6)OpS`}$hSW$yK0UMXddwX6G4fe^XT(>g4HPj}F&S<3bZ+tDIGJUx- z_r@rxaFA`zfl#yBjtdB5tEOKjXB{IG__DoG!!}Jb`%l&E!|Okz76D~E3=roFzSdB^%{q>>Dz!aB>o zfg>i;tGUS5KAYh2tW9ZspSb)6!JUizSZK0l<8!tk35dcPBT9|cJvxB>3)Tk-GV*`h z$obu(>%0K&+p9;v12u+rnoxVbA)~pj^ugiW-A6oI76Ho<4QT{|b=;SVpc_N|_x?QW zv)k(Nv)z(!d3Lrv?dvJCjxxp%EoU}(^wn^W-ObX9)4+kTU5*Oo7(<1WupJYVJmaH+ z*%4yK^+1cMP7M8nH%uV?mFu!Z8gkjnv15llx1I4$o>|#qQt7vBPotXR!+x+*9f=*( z1M6$pNteyT({r@xCaabD9oy_%J6L*X{4UIyy-PY=*W?+p?LsWtpmlUJZPQOO7V)tz zX_8U7u3IKc>?$M`goH!|9a$cxkqLt!F@i4SRUUHh(BS(Qt6Fd{((Bw!qvH_onzcD+ z{yC>2&UdqVo#(xxUVXrWU>$o~s@wV4fw^)=Mosbc2vIJX)y`&UIplCBK^IoeHq!gCG`6jFP z$Fvcq>X;GYyjL=BWjqttv63M;_ziGtYHnaKrbC_rZUNjR*X|_j7JSPoy3l>d#U!Gn zk@-r?=J!hEa|yS7sF^U|xIX#}h1jmBOnLKqU6}x|Vq_t2T(hFHR+EFNMKK>n9 zcU_oHaeHrKHitkTI2f)hY}>nrj3OzWbQddz2OAt9Ri^#^E=78xYg6@6qH5RszfZZ`$Rs3}}}l;X-0d z;#19mIxjhRbfw0MDywHE5;c9BWRvf+^wp@XIw5P&cFb{Xs4j=)6Qwu8%SRs{3UXME_u6WM z8t*xEF6D>z0}^r?xcut!Krm$wFotQ0G~xT1R!zF@*Qt`tY8W#fb>e5p-zmLsvZV;9 zAmI=>E-XZWYr_fvLf@i4cRVTB03m`1Uw(fTp8?3PA?bomGGPua+a390^Yibud=#K~_y<4;T_$>e_gmgVV{hdQqWOB>dyztqpZ=Sl zQlt!t$8F2=;ET{gQYQg)y@wL|B{ITmk?r!mSTu|nd zad!K219dNc*=CKcyT)iJ`jB0WHRF{|YoR7)Z*vhwMasup=AR&JP)UoB3{ej8IL1{n zU&oJzUTz|sy+HQ;!BBw99e{%*LCIS3ZN1skwq;4t)Az z=KB?)=2K_!`*z~D2Z*bt`HX%=#&w{DvHLa8K6L**al$9}tQB!qfYhL`=coYb_zjtB zZO+4Z)c7m5AX0_>v}3C1<5xfQ;&mjVMYQyK#K~kH-o4=F!+eU4vweq8$=?SQfQ=yD zAa8AH8&psaNw8Q4n9c4t{5Rh`>kq)Rh^9rzb1#K`9)VA1RKK@#m!2=n=hKXp+06xq zS~UPqco0urtsnJO^U4MeG{Q9y0}-LM9}Im}l`RHH0x?3QW~sddSAun$X!7*O9L1%# z&IfuJWB-_6KYu-iUqma>X{DaB&peg48jN#ct9{oh6Lf8)Ri?D$R%x%Oq3cU>(kpjy zNxT)*8|vU{ZCIhsGZC$pk`CTRr@soY^0*=Zh0DE*}uL2!ObVU)Z-tzGNKdJ zH4&TZD?QB>Occ76l^rm+MB$tWx~DQuupYglI@&_&xbb?fKTS3MFk^Ok zt}RFOhiEj*2%(xng!9_AtSHzk>b&h~+AjlMA_(B_1p<7qk*)~VqT+CBg z-W!1|?-bl6AVG6SJ=4Y(;d(uXhO-38nh7;>NApgV>v1iUmRwMI7WbHEWSO6T-?fcq|9j#fXa&-+4(G?`-JF@06G@{!9GbSLb#aES z5qgEw@HQiOdR8PpN@tc_u_85PnhHa}tTjtJaHbDmfM$Yq@THd1G9O=ud0&`cG6Fz+ zD9gtUd)Jj&gg2~IR`yOJ1|-I+urUPUyvoBc5Z_XYd@*0hdv}yVTeO{=H z;mw2}u;Q1cXp~w!J^|tV z{2%(&$uuk7BBWJ%q0Ch=Lt$>z4$yKc6 zh%XI^J}RK&wsPaQ7;i#udwdea2T1Vygjao+K7<)y&>rAkt0pWo;fY@&)2eAj{^VIQ z^X|2-!AzSvn$&^YcMaWY2UH0siq7d2F zNRp7qzWaXXUGq%yJbK>eJ&yPL-tRb`G4m+5>$=YK|NsBC^SX9QT7q^3!wL$8LMwUf zh#ZBoP!RtdSVn{IBy*Vc;$QnM#Z@fjP4z5o&Ro!?oIGP`cHY$Tyn*%>YuyVL2Bs#w zT!LJ`aBMkeX=!F5#LaE|kH5fWdO@F?KRG=PAF|x+n5qSZLU)Gzvmjb5%78+V)sj4N zNWnI+?~Q|{!bsNKmx{&SHz|^oMGIE#Tf6v>_>s$MOTx9&759k8?F?PNp4;}K(xF}J z7s@RvWgBp_n{?&Qb!h^63S}8110#j9 zMvxEBVvE^1GYaM4+t+U?l#7oI7|B4{ig62_k^ddAX<6DvI~u(2&*pTM|V=MTgGxQ5*&RtXR1= z2l{fVAD@goXkcK#BfaQZ)Vp`uy88NVT^;TBw;D-=_$M7rQ}u*8@5rZVKfiA8<lQ z*Di{TiZG>S`v=TN8gL;91|5ByG~m05S{4o>qB{Z=H|&&)zyj$3gKyK zX)kiuQfMzk551mhs?_aqr?uVZ#%1$4OV&wr%SML1OLgpN^yg-0)Y1)ouF!7Y*y?-p z=KV8;R}3ZwJJS#7;j5zO-SGB8w|cu=HXmQ#*hh~ZmC!zJ$NqV2W57^KKljd^TR~R# zfpuS#VqE-ir(k4ISVV6BDbuMPZ~-5x!Wce4^ql zqxrM7hE?I$tUoo#>P~qw3E%PYQS8-8Nl9U_%w^lo&c0{={)yL%7McA{uJKy;roixU zwvqleEh%4)<)(4*@ipGtrTEO=K2~Gl#n;`%QdRGsyZ4GP9~^jSO&RCn5p`viyv;6C zw?X;zgWJ+VlI$UlDWCJkG|BT;*0hUYGZ_9@+0&35hC5@G%>Gie*{W!h{>Na4&y`tS z!Eu*Y()Y}awbh5r4o9iv(^6!MnikwYz+-C0Mb@k-U5Zz)?9`z{ze@|YFV34DENypR zFf=%L=jMP5djJhBLpXb|?cwSunR?F5me4S-18Nlqrs5}uyVu2KQnuhBV1Im|^<>j< znHkBRo$NJwGd9_qRNo+Q;r%fW#{DU`N#}6pK?ZOb|q5gECA&z`ts)`ezQv8SGx zSWnqlMZ8_6UN4?s^m7%(<^5!Shl)uHKq3X zr&ZEcA2`=^(Gs*>VX>?#kceemnj1dSY}eQl1Z0>(|@;_e%3C;awXd^lGZ zuX@XK)#C;D>GW&kn*w9xqv{^rOq%3mXOAk;$uMq?Bv;ES;aT&@yraiy_Dct~&5)LK z)Po_SV0I+Q{)4}Mn%&R`Ar@ZaCcX_DHe5EHn3z~=mqgj-h8@BtKE0~^&MtXAy)r+0 zukN}8_3^e4m)WcnA zy~a&xyQU@G&;#;Dn~bu@S{>5$E0{6BjGkRx8*sqMzGi6ARa!jerL20i<$gRm`9ouU z8rhc1xmCRH1O+ARYqbr#b$h|U4eH8|h+^VWZXNv3N7A)M`k4ikck-WGEOeL_m|vvn z68>fF0*c`Dz@FXnkMRHLO8Qrj@bx#WtEP#Py34iV@?k|2i>~s7F&->awN<@F6t-eC zwju+M_8;i7Ya^afM1Jd|3}|RO)99men)00-#;pr!_tiK|hfCfbo*t^`#R#g}Y?}Lk zzz%v%+cS5n77kp(E^`Vf5;|Dw%jx6eV|A){{i(Ccn#^JO zC~38PN4p@eJ)E41=H});n=ck_Hd=ad^4ajJ@@Lo9S>boZTJ_f1cLmw-p$?4O@->D& zyowtczjSHg_U+quv9gAhjADFY1KuyM_vh93)O!`M;pIn)HYs+Se-z(1wfH2w`RoSI zlD%8ZWD}T}^?~6H_GNZ|{*;268bjrY>d2Gwva+({z9Atjm0e5CK7Or|ink~H_loNj z-G~|UGkKF;n>~ZNlC`tTLXWFW)vsWfN=->gbD48?ni;8AbpEM1Sw|wTz+FaKTIs@t z!9$%(*K9_Y+P3Q*t+bwA=LG?#`=?-{_MW|}mT^9&v-GY}Rk&pKrxZRwr)Lyi#%mu5Oal& zB~fg;oi5pSB}MxpDY2`nt`=Cb9?}-Z{D8k+l*OJms*Cq$wtc%mbl~wKk4=Wb@0wrT1%CpnMoAuG-v zWGR>D#k9{PP_H7GDL*72plRo(1>=QeB;sQwj~|y)Qc@asM&Znkxy&i=YcX>@{NPlc z*U6J769!c%UtFop&4RX^^jPkKX*uAWP8;T_@eZ%vtE`@oNEc(Nxx+)Kwa}w?Gm_*|%UdB5_Uhig`UyXS>d2Vr=$($G6%}Id$ChtNnYZ2)vkHED zvJe+>6kR~`+f-vC^MarXL(v`BzAs^@!r<@_N<=XZeHG@`(FEa$utX- z@KVy&)^^o09qFm{4j=7n-Z!31nMPk+Bgs?n!nV6AqAA-d&Utnyq`n~&^Nq=(j7Ke5 z`!bsW+D&#}Msu2B?e5MGA9?^1t3OtTS>d<$KI-svx3;A4JfmVndq)@Jcmi_Mzo*&lEk0#aEABd`C2y8Yj&~T-pl`}Mq-Me=$ z7LJ=+rYqPXQBGdIHp5tbX7Fx-0@_|)g}RDLv~1YXU7VaJH*MO)AZ#6f{P=N(b|%Wz zC8(oYug}qz&(2Ko12v!Y`{hC14B(N_Sc^qET5ujnn*DI4#K;R)uX9B=HjNzU$48}| zDWu`l%vAy7y4318bkc)GET5-!;l-cH4p@G2bMH0%R{`54?SVZE-^}&ICG`NjR~aSc zMPjye|FKT`wQ=T~$a|*wssx+)+_|IB!LxavNlhttLA=i%<(}}{(%x)ndQL)JfffX* z#{KHH+GE6;a%4Gr?6Iqj{DP%-xk(k&CTipiWPp>!J$j_FS>Sy15D#v#eaUfeOvT7Q z{#Z=I{op-&_DJnfijPh)F7{+?c3 zTrSkhG4lD1`duyOtk1ba(i_&VCzY4|IlK3%7*B#q@?kWGIO zB>Lsqx?5M5J>L4QFjimks*a&hlE!uJ{j<9Czdl|6eTVp}kV)f?GuxbV2$`;_QP4em zwx*##?-hf_g_qkQbSWJ_e%*egCt_~4e{QzCtFJ1;9kbA5d2 z*boEU+Gf{+E31t>xp}0wUdHB))!mZP(q7U0v^0h1&z~!rP%dG3AGGqYripscYS+ai zI`RIt{g>zTy`m=Xo?R2d+SX!?Nlyz9Fb)82NCYMPN;3a&*}ZrT2cVQ;^?hDJ0Oy-z_q?QZCwd%0T1jj#dT}nn)HGlo-Fo(}s5@=H)$EBot z9m_DM6ciNJ=XZ8>?Gt3ZICt9ENW$Jen{Aho9htjefI1O1y3DON)jO6Vd z?U&7-U*EtWYMjFvqy7@KU3DI2L4~sdKnU)WML!lpL@N9s5szy zbvmeakLIVBSN1x!V#Pfe_>V)`E_w0dbwjd_qMTgSvVO`zjz0@`w7)Is7ORBe(?6Dv zFlPcpf>aF3!-jj3c0;~DhS zDr?oI*K5Xkd;fGYP%yc!W95n!q&#*vqd~+%28#QW2uqJg9j3U6VJx&o9MUHsK&|(= zQ(HbHUdG{}nI7eWs4^eFu^ zLJ)H0)h$`?v57abRVUl3ca+6#KSXv*=shvG1AuYo04t6rD*?5PbEUx}++TYH~|otIbM-{0TEM;tY*1ht^&^eNK7lL}_lh<1RU zzFiWkhoY`-gfxER(b6SvU)N+EAknmzgGZPN)0){!I@$Z|$P=#0$ld$#28hIH- z(3v#IPcx&L1-0DHU)%>Q;{Ust01J(+>d&Kdh1qGia$v@JW>V4{zDp!J?j9Z%a~>FAB0AGFQQ zj(Lm-P>yUOeP@}fQ%J(9X!th(d2!LvA8*QdEK2X*JMug_UlaONZ%fy%(o81Lp#ih9 zRf{Em{qS4a|Bnp&KkrO|n7k$hGuE^We8(X6qQ;|>=TM5WJJ-jKWB@q|g=Atc@Oy>` z+nDI&ebwr>{1hNix30gfK#QoWkAGjp?=m~hFhv}fAg9qr#SHA(qfpA^p}X`teQr$E zH)?rg-aZAh?Z%07TMl373f|ni%#HIKnktW1O=WW$s#Y?VlasrHqRTHZs^{X=$WE(U zl8}uh#^UYSwtvC+Q&R0Mr(K8Y3uYB@wUb1F4Js}V5>|$oBU|7+V_C0Z6O)^p`!5tc zva0taoTjY7nUkm#oPAn;>&4&T z@twLy6ZFI%o>CC~7}FzEHlN_L!Oqfj^Nyn)Ov0nWUO^Ck$Y|>D6qbe*;qf`Ei*MX+RKB|KQ1k8GGMXj>W!v4PdqW&pMN>HM>$aeScxE7 z1y_b|n)6Yrxb>YWXRAS z%%W;=j%2}F(*Lb?7FT4yhY||S5Pe_Gl~<=|mFVQhu=Xifd$-xJIZgm_uQm-4bIIq* z9eAo%@Y<-qH4km_Hh>?SlSQ^|`_s#l5H}Lw9T3ao_KuTP?_b{D+-pp^x|eLGHG6s8 zt*)Ni!^NcpWOe=e_1Q4_j>qlcr8V@hUYAa7cXR6y5n<$Abg1g){*NCV;0jZ=UH(r@ znxf^@$oj-rk{Mof#tPt^3rR=BC<|(R+y)BHW)l zBpf0T{I zabt?O_b?pco;r0?MSw_1I&6{v-L;Ur;sOH$)j~QV?rK(fIS;cs!IC$uPYhz~e&EJj z^=e;RJTTtnkf;Md{Giy%FrR>4w+(-$gk+y^;)zYV3qa>8^!c~02Y0Q)w)!vN1Co1k zRM=JiUTEmHblicX3&5$+%y4xa2Nx0Qm~2`eB;`*YPf$yb{lfT7SSWO_`MvlAC?`aP zQ|LE_B9R!ypvj6CjiQmZ+2j2 zSe|r-_UbZkg;S^QL#9yL|M~Gk{P(He!;1K-dn9s9Pp5Df6kvWAqF*3iJaS%Zvc_gz?jnT2uY(bYO3s`9J#^oy=3J^zi>6v zwhXXv;l8wLj{W-^g{(iFBd*hkT|Vc&ef7@cg)C}d=1g$+1po{&6pi9DtA4|vO@$`| z%V|oR>3NxB=T@mVBAwS1eQh=OmHoVE?)=s6t&snxd_&4BC`F@iqPZ(UqQqd~T}c(5s=zFS;1T z(K=`wz!Kb}{UJ`E_RF5wW#?*ReE{OOOA@|*%pSMm4wd3!j)st@xngy&i_?VgcFe%k-MjQrvk8 zkiOFLrw65G2HeE%u#rd%MzO=`t}k~wOZFtyh|_BjrG3x(6_@F+K-EktY2&=U(QuKB z&SUwFrgkE)=w!%JMG7$lE*pQ-?;M4mLliulR=X(7^R1HDH#vzgejk;0>?$SZ)JR{m zGV#UsUpPDN#UWr&bp$Qg!*JuZrpNU^QyYNHP@%jAn^taw`kuP}gUC3~U+H^PDT7PGIkDncsES3Fc;fS*Q0_xnp` zNRlBU!KEuk)a02Nt@Iy`qmBCZz=n6Aqu`M#H`2Se9kMUMQ%8U)sbFrVKV45X?VPMa z>ao9Xv~3fyCpRR|+_C>97yi6&K!Bms2^I{=AQOSr>{f6Mp zFTAN6In^4FEHFlkw}xQW$TBU^6im> zK%$?jWyJV-Q$gv~3!L-({S!3vnqYb{lCqFIc`_Z6dVs%bZ(V{hTB@GjC{|1rCY(a5 zpX}ywhDE_Cwxt~g&bG1c{z**=#o|S4UtxJfbe^*WBA@n!#^W=jX2q_^shIQd^g4s+BYFbR|0Z zzQiHhl0h_sCQPfcviQ)@r^rd^h|PZSG9G;YQb|SS=N~j1aTg*tKcZnjoIg8hG}FoL zLTHPEipow&lB7$+q$axPMJQEZq~npNmbp}~Ld)jt>irLuAC)$WO~ ziz=8-$f&5{F($xJ%di{L|4JPgml>lE)(HD(>6x&^UuSq<(X&*j>4w}+V{j*SBQ?)ycmRIrwZ;6 z_QTIPCMC7fh5Je7oU4U}1?T?#`^f{W%C)m-PSKU}-~eaxn3`iZO}|D@Z3W+NMRW9g zBy!*bJt`XY5}Q?l@_jQy-E$14KP`^O_Y4CPTWr|dCZm&g9+#(%B<7W z=yM^@II_+V1c-w?e6MZ#D8f}d^F5DRbd1MKSsd>Z3QZJbB_-d){7FM%)4ezM)rF2g zb%>B$iok7imy+1#r=!B_UuU|3AfP>mbr$X)~)Mn(D6zK zDJi!8+_Gs5Er^F#9g$9w608FdHmZ*FAhC@M7$1IT9|#QakrwG!Tsl3VM9(XhzW*Xk z)Y?zYnH8uleGu@CD=rg^##JzVVG8M}$x7hEc)xu`}2k8KD2ou+^c`mf+eq_;4&ewb^#lqSh4Kk`7~M+ZcEMf+og; zuIm=Sy!9ICt}Z4I1DBi$^P&|BWGv(DkPy?80eshTuwIOURxs&}a?t9G-(*|ydo}_e zfF&HQ_z|SSy1#LrYHq7@IQ}p#t%ezQ@u(C{==FnN`yjA9#9pYiJAq(D9vX;8@Vw0; zpTtxauVz_?f6bF-4vb7*y=J|*xcKg!J8!a~5Q%3ZQl5fQYJ{z=m@*9S5yiptk`=}F z{k^|W5>PxcW1+ras7q|F5zj{#c_2lTJo}N9g6U3f6q%GS*eYpsoUE*c#O6{zdh`l0 zTZ+bx@d+3%;?{YrzES2Y=H(euz6UVEcnPew8iu+tI6=nw#=TP?!@NGh%uYd-G@>KN z!$7hI#(%C0OzAvPs-=cV5|YQiW?1zqHN&SsOr$=;wzMubMr$QS0F)biz(qW+R!JKLX} z!8@s`=E_%bNGxEhiGq?+U6v>}H+PAF;{$<%Z~R!ShE8wBFFK{96nW1iTk=hgO+8s9 zHx}ndC9{|*(eS{`{n0$3Cu>+%iW|1(W}zuZZQ|97hU$>(0^Ozu-%v=I2k`}IPiz_~ zd;=0rvY%u(H6~=X8WI@iJUu=zi)`M?%ZI5Se{CJR8Z^95NEoJw%}rF)AxRIp!-7Q7 z=50JZhg~g}W!vHpy=oG0y8o(e^Iehr==?`D-L;(6@gQpD4;2Iin zbLaJgtbC#8a3{`%Z?I5I`yk`%_(E&Q-MY z3z;RHiWx}%HbXl${`mSq2EOxX)@4xPo^87^xWb<+uyoKi=A_0WeB@ae9f0YI8CJ-& zjWnxMj7pwAjxzGyuzef^dGV6isyf z#*IzzM0;DbPMBVfNG@_t^hG`W~L4z@LStV>~p(BE6tt?Akw9FZaIE3RTAHXw7%v3`Xr?45Y{ zte9Qr$y0~8KxKVo{YCAEA0i6STb~pHx2gioEkVB`cobmd==?Ba`ugsLCXd=_`XEXX zHSElp2hfz#ooDQ^uts3lQ~-mm8H6oNzflpO zQNybS4jb0MZp^@85{BkBhkj8h85t@74Udd$!Vemq*MehB9G=+uhH7lbD(S_j)!jTi z$wi}JLW)XCMc=r6Iw%1{v()k9ckbL-KfnHPqB-uOAf(byz#7odGA?HV!021!_(B61 z=o-RZvT!7UiYB1s)x(=e02%V-)-oZiY)|5&ZS!AN*pq7)0Ud?g|5(St!&8Yarib}T zs2X|Z2n7_Ai-g#+hbXmVwdCZyfdf@xRB4z!SuzS&Qv3%?!5O=ZhnIx6OJ2Ub#YPwn z74W5Ucn@O%uZWd5AVCbXUQ|ytnpTA94I&@D>=ny}-XMQ(w|1@Sl9!lXhES5?lJm$6 z2QsAY3^+6Akuu=V=*Pe!q2Kw5i8)|0&`u~CLmZx&VulOm5>mGbfEVus=u}sGp(viM zld&43>W7R6?D9QiWW_J~?^?g2wqdqWKLi6^G;xS=wJK8mVdxza{8CPK(I=+`8H*^r zen~{a8R`7;(0U+>Vf7&huaGdiqA~Mj7PVLKzX2Hw zB3&f{8SCbsNNC}BzVyeuVRR&r&=`W|EhOjm3HG8*yv`qXgyuu^G68n^3qt=*5@Dj>vc{ld}$EH|@lhFu`p0TwJ5L~_zX}kMg8qf_`cTCWv{~kpIwfEno7Ba!yXu8CP z+uc}{vgV#FWr@zsJuT`m3LyzzD2e63Vq&qu{Y{M8@cQ`&+kMys=d+g@wS)3~oalkB zJ3c+Q{|ylTRj551N-Lt5J{KKpp)%KmhYx?r#h2IR7%4djt5XT|zBiV)XQsQvGNHK* zWDE{o*evFpJM)gd;Hu$9-oGOao*_tIK*aYE>dSz+%g|h(pstS{MXh~uq{;X8ZFwCB z-~b}m&tGI6+d7u*U}Jc`E#2rYj`T5+nuXw_jMR=tAJ}7TeEj@uZ);?q;=$99 zYU?7T=%*k}odID%Ox;vQY$gqcQ|(bNX6mQ;Be;#IY!Pw#9DvwAVKS%S+)A^j;Jan_ z_zdLc*Dxdi!V!QyIFmF{p9e2 zo0ku7?Zt$8gX0{E&Mu6c^T;hEzE$7|`Ak*drtYT-UsHU zEdb1(v3VUaeyhLAw)EXDugr<|2rln}razwd)X3g+gcc)!`~)xwp{US51b9<{uc}DE zovgsiSFh4_Joguo$wIP0957(h;*#=zw36uJCj$5+f$E73X=rF@JN2AiD;^0$D*eCE z;jxb-LaQ+EBhbzVMnk6Gv#X_?mHdG!W1O@w6d(rt&XAYa2rADb*Ee`zWR6hf1T^G< zF@8tkQgk0qtjP~H7%mG*k*MSBP6sjZpchm3InHjxMn^{{&!7Rx1D=Eh%qO&v5zy~4 zH#G@%&XCWt;xak3h;A?cr+60#TaBE*i93taT$RLsDc|39gx?(x{d+N+l=T{5j|Isn z1S7Or;=23ZxpP)*rduWf4lnk<@Dv6Z_1Z9R>i`~lYvb-B$XX*UI-)?x?#QRcYI1aC z{*L}dRB){vjz^NSmFRb}P_d*%z8ukjS7!*a&;t3HY!Vq9fAHZ5JL(a8!TdDezfy6< zXK8sWE)s#5ut6j-J^vJlam1q$()RlQLLf%g%lK>miQ0zz+R zW&IULIj;5?)wwl2uKp(l-BU((0qOc*1Lwe0hg)6doMvYFU6eI7gAuLL($(T{UfR72 zYzz zOU*zAd&GxBPp@FIHt7?NB)R{v&2Qo7uO$pvuWh<}Jl&`sMh>>aS=fS9+z5PD`sx+b zV;r4R2i)`bCj$#v+}64TrNdy2<$*OuSmjon$sQ3@ZU#Utd@$p)n z#xx|WQ0clnx!2xdyGLNg4RU&L>skf4d@%18CZL)F6LGl6q!&0Kd^j9LUy%QWujf%FgaK z$F2{3xV7lw-9P=i3tPPI!dEDM#(EzVmAKO$eZn@M6`+7quK=fvwa0CqwPhga!{jpk zW#0AVCk^f@y_RF8r|77P1CG9Pz(0f=*hk1Xx<->bcm6pjSMBPs`0nT;!BQ6^&z^(R zdQ{K=U%C__d9GeSP0rJgUIYHF%NJkt_Z|6F);%Gz@TZ?<`;VyXT<;w|uusr=%6aE{ zIehf#&MyHG0uN4Ior@AWk|XftY46Wht^V}>VuGUtl1~ed``Iq$P|x6~TN_J-jfCwA z9o{gXd8Yr>v4Y6}Uoi@$X^4a&_Gx?ycu6^R(a8%DCP@g($QJ|;1o2-7l;dW7vu$sQ zwAz>h~!KVlukD#hHh0(^7n zQdW|1C%+SpNv}iOlqM$cx0#N_1=aK>UZmB5-Ijhi@2>A5frlcYqkiN^T2SlcjHfme znb2g+eLtaNJMP_Jy^jY$Y-bXJfP83jyCZ{>-8fGEMsX_Clejq9^8PZ#ALq1$hVI0x_ftQ!Rlzkz@9V?tBu4!;4XNtl0 z2x?BT>DMHivS<|Ymm!K^-X=-4cfJ&}Bmqqp6pa#0iEIFp`)G(zWdrtGMB)PJTSrkL z>S*It7y|Pn=nkECYX@**?_-Nag(9ZR)42yEndR)9Pu?=pGu1Zd+ycy{i#b3{B5}YvNUT^Dys(pa=hD*ng+xk)3rD(nU9&%eX7fSh7jNBB&xEa74|YIiZe5Kfj5? zRp%b}C5PrPg?r|~NgtZOp0tJEznB9@B4se+Jo@nU&OaoT!2K4(1BG<;4YT;#3xo

    3oS7#L)NGxS#bTQ7cgLenZ6 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 literal 0 HcmV?d00001 diff --git a/doc/source/pages/other_predictive_models_files/other_predictive_models_33_3.png b/doc/source/pages/other_predictive_models_files/other_predictive_models_33_3.png deleted file mode 100644 index 8297272eb60189b0a838c107bb5ff89ecbb306be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37977 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 literal 0 HcmV?d00001 diff --git a/doc/source/pages/other_predictive_models_files/other_predictive_models_50_4.png b/doc/source/pages/other_predictive_models_files/other_predictive_models_50_4.png deleted file mode 100644 index b174b49824e4b02093e03d9beae34fc366f124b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70420 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

    ~JWZ?5|;^LE&=gf9>WBhN_!t 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
  1. C3gzJa7!=c++L2irsgt0;)qI-TrdY19vHj8o@8|$u zy zlE$|2XoA&x$T?s3JS^D|%)k^A#F;;T^|b#f!Pyjst+3rn&%JsvhlbmCep&1(l?6dg z0=X(hW=ypaF+eihaO{CMkBnvTfj%oxFN&#AF`?{+j3|Anx7iy-vPo-f-dLrlY&;uL zc$d@M#iik%mP3uqn5}?PzOj>(8G*ZAzkkf=jAWu*85L7qXjkbJ~T!dPP-FgqK;|_Oj%S5GJ~=S?P$*f0Ab`?0BEz z*(RXVagw)O)Y9;<4=aM!mFy*9)h4A`cCPUC%)LFCF9YJ$e(d>`%2yh4?L>R{wzIo) zLkpJps~wBXuB~|((~cU6%)l6rGi8foewCI%eS6f*R`f16Ol{ssZymO$2^e{ zU+}pu+;OwQI(FFBdtu6So1PG_k~3`$MeOXDtIdKr*gQR7`3z_TWf~nUGPAP&@zrNb zwdil`TV5W_{_&5G9|4}e-2KrZBox8XgdGG>Xf)XIW{r>K$&k=#G{_%)2=hb2wYfe} zprN7pR~L+wI2E5!nH%=Icd)jHsrWW-$XolitYTFm&Eyg3^7zpBQ7`)TWB*E^W$rIc zD4pjkIgE;6{6s3U@$Y7;sos}gC%15JS>3?cZ8Sh~>^T@TWlom0gTE{4#$jKmR=Kl% zBVXxJg;YW+^7+OS!QbOMQ)vfwH=g9*xrwp)SU8UpM2q#H(E25$oj`rkU!hS>#WEnT zi0B(8m#bH4>(3{)SR?`i(KNES*t5-jLPpT4n*U`W=-AZP0K2Oc7?S5B2E93b5X6); zBiG)9G2nz4A3md{Js+qhU(2Ysh@0}WK=uiYY20cVjf_w~>2ik?1@V8jFw=QBkSQCJ zJ2d?0z0no}MNZ4%TORS7w$$;jOekzBue@^}=KBs(@_1!Er3XU~AspR^#hxXf*#=jp zEHTt#U$GzNLNsq@-ha=QL7f7SxgA^sA=8jER`yoWrN-o@^%z(xQnb?F-bM*k8nKkF z15<0)y!_KmO-;Eco?7yCS`BiMhrjyhoRvSn*_$gT>GVU=8%|^a=bG($2Q+}kKlFLL zN5{h(nl4m&<+Jv+WR|B3{k+-j8qjOZhd}xv#Y-( zg4~U_0a{WOHfy3q;)EAN?^3~fKq-}=5#VUF`t`%gQxa2+8-GvYhdfi<=7h7^w#si! z^Wby-ox(^`YcAqI!CqqUYYQw2xoadW{vBj1`fxM{K_;RY=B`ru@%>!0Tc4-h8f4!6 ziCT2Uz!W8gt7-NY5od^3%GjAgGH10hu;{ax@$Ev1N)Ek#i-5Y%E_!0Hvwk9d!P)^H z40uH2HA0I)^wAJ=^}M~cT~beEL{BTb9=qIw1!MX?XUI{<@Km%ghbk8!(c+6<4Ff(oz>sAiDd6GuRO@JtAg7}W*+Y>OjyU|? zIFKOnE-TH%X)?~oo^I5RQMCzgSBm?bG&7dJZKrOC_dI(ooG(+6H%hEp zUqw|tYVxNm*)LtE!|0fMgj@G~&IoF*{(zn}L04ucfefI~Ny*4i(a|rv+@qqR`iC&0 zG&J155iG3^4;Rlpl9O{clQYxPhXZ&ku&8s9bW$WRSSKqD~cWL|%6E3IVN_Dt~KcRp#VNd_Q z$SSu(RN%^2O7HX9Ih~RTweeuN?rf9x_g$Zaf8y{pW{!AwZb3dRj}xMi=$v|uz-hLH zE*ih3BPEJhK|^Oq=L6CN#F<^i`XLc_Q{@95&uM*-u)P`GlB7X*zuMpJ045{QtoWz& zwT))&MNOH$)i4Y!Ay+dBx>Z;nJmv4hMnnz#IK+wlrft`|83BO|^-+7*f5X0%9s!OF zLP#h`SQSBddARGxn_S{3_74d|MoDzzjpYcP?i%}hD$n^VUxVrB`0`~Y2I>{I!6vYz z+TN%nc(Ze_u;I%3LVVQnu93%^$W~A&S3EmipnGj)Wd$fg@gN-~OE#Zik^AmqdvIYE z1ZYg`MrkM*|t=&*mGqsGy(yCR#Q~>5XeMOV-4yCe!w*x(b(Q*7_$Kuuo zN1ZFQgFB*YD+=wasw7nSh>b*Ah&Uxm+(%()Wx#1I0ryw?YHI`C%|OI+JXynI&)`mQ zjKAX|@a22+in|X-85z7T8@X=deW?{Z3JoX;K;oA9;aJU40{>;{v&9@APmP)m((GQ^0k zcvKC$&I>d?c$6BB)=n2r{#zpHKQZSM!5Y%-%HdPciKW*<* zw3N~sKD|N~IP%>?FSEoEU!YPA9pqyB5!pq7OP47xW@ondBdzDX{vUF|wgZt*Ch7N1 zXRgJ{yHBlNE8@rUaY#m1|Jup3XiRf%bg{#`y7?wX?JbUtx;m;?m9n~u#NeU4(RQia zAALBdLe9B2@Liz~5T7p#<@;K1-}KXLN3A_mpvI#VejY|6$46HLz5Bh(8L<;E3Vv1J(O&M~opF>;QZATb3!z}2Gb^hgl+8jyR zRZw?XcC0aX?KzsA<|7WL@=e8U^sO@cnQj(ivaBF#vR$g<=1sXci$du}F;PTJt}eeZ z&9j^O-Gy&Ya;PLZF=JGLV$Q$*{BmjdO%HiTslKIf0J0wm4}aY4z|Gq}Y>cFl zZW|h6I9qg*7VIOrGxO*uc;L`_ZK(G0;yJVTt!Z2)OyH_N+YFs7crsh8#)gdd6`~C^yHb@eqN1Y(z$YqA6~k;c6H;k3dVnD( z!^M_L*6?#T`NuPNE4xwgOLN@1EZ`ctBv@+a^yU5V-~4aa+w1iVxK#xyPX<3H^zV>NqbZ)iW3|9`_NUuaWL)%%R`%<$e9WWwCxs)Li(uYpeQ)2LLK z!a&wo@gX+cPb;yl#p=^`Yzs+D#5k^N<_*JT+Ylcg+;=xcE-ON(B)CO#W8cV=>W0dy zS6R$!4FQT;Nf@GNpB2%am{&e&Gg80mp9YF)xo-QXPtxzmSVtJPN{t3I&#bFAAJ-+= z&vm3;tiF?Q;T8QDRfs5@Fuol(CY3iGMjyFI)>A-Q82%L(-ah4?*_erH zSE%q1ESK}tFM*|!`Fi!M{+Q@aDuUf5O;N7R6Q7v?l00)!!G7?-ZFZj%1udA_ zn3Otl5r`xW6I?P-T{CGInjd}QXZta%DBGC$Vfs>O19v*F!^m48|NcE^35pH1$}Pe& zTV(W9nM1+dE1BH>z4h*g6T>YKf|nS_F-toKWDcU}c;$|GgKT0@kSAb&FttxfjuEa@ zy#XyT;7hu5dez!0uq|UN@y{+mB~$h+UHXhMc4-^`5#|l9ph(5`7%MEWBtTzNO={422?01F|Iv-D4-+u>}hy)fhOo=2`GSKt_$_b<62{2Q!C=|%A zgB@V1^mWS;&SIfz9R%%x<}?aAx_9Me<*M}7P^508lc0W5vIfljt=dn@bj@47LOCX; z(YL0diQHz7T*T2_Lw{WO>L-y$>==0@!;44>-q8$UG#Zy&GtW;m zvw9_~dZ*4EA5XC5w@Ou|gtwc=R|^6?utUyzf|3I`GEhB2ud_U&arE3D;X)a4i%k9D z^V4_<4cSFP3>MMba)vDpng4zWmdX|%0bkz^ZP*sDQ;Db7;)}#4{NNJ>&ek=cVfIw5 z1(8A!y5A6igVnu2dv{}_1B~b==hW$wb5N>Hu1Y4%^UWR}RpyI#9go4mG_gAYRPVvs zBVV2k-qozc{+*hwD|wJP5+h?woUBz&T$xRu?6t~_0a2lv@^Aico#aH^{#qXRU`>&j zZEjEFk-He($R}eSDB>nbW$UU^Q1J`OqUf#O`m7>^cqqn&#YY4!HSk@WtrEl+56%njD%4#xj7Q)M3|^u^yWG3QMMq(1S+ z;VMX`F*0z!7n=7PzS;`<4s?8`h3U}1!$n|(aXTmlgV&oUcb~tRGKMW+0C-8&G~f&6({uiL>iPZ1YZ0 zXMJ;`b+l0H?duDTh{LRTveNo;P3p`ncjJ$(ZbFZN>ScHM7I5(^7PoVSIpGyUk9IH9 z$G58N8ZQi57z$|O}& z>DqY+6>^a&db}s<{m%y@Z(r^PXFk@Wq5wl??b45|-)t3YhxbIZ(~oc=Dj!8vsotkx z4+jhq3-?NB6-+CBF}|1H?J$D?o#rX72+fxl;s*A>u^jy}$(O>KoCTMf3H^X3*de?g zCAzPqR!BOJvlhU!0?d+5DwD+k6_2Z80F# zj1dNo-^9c6)evCFnP;cv*5+O)&HIb%ku}@i`w~>Tq{^98%w|QAj9&k4e^DU%2I88& z&>>vgwHFsb37$EakAmIiEk;{7#jbK|jUG!R?Zhtr-?P`}uGmR{%=reGJW=RM(F*HZAmR_{@#>qj33zhAv($rERA|{#5p2li9Hp@}S zn8R9e+EOYi`0pa?!YpyUW=ZJZZTA!3GmESu#ECn`&i+|FTXH8@<*nzX5fcq7_#sbQv6GH|$lXGfxG2G0)+l>6#N z;osAz6jZd;Q(uyC8kI zp)d4$WeRTY5}0^~O6Dd_k9xa1k>LULR1! zU{XlZ)9qKbJ-3c3mk9C}q$RVuR;aUQt&k)dq? zDIx4#mX+SG(39rzXPwb3ftiH4GUE}d1ygGEDSp5_@?5JK2)KjbQ!pd@-PSRV4)Z7e zkdYw~(N-S828Y)As%GcbG^e&nn$DG)%AV_=Xev6M04V6${R<5jx$krJ6R^JXJd zwO_*|ENq7O2`IYt`AL1-eC5wQpeB$XeJqHFbSQoo^26f$ij$U_nnx-3F_$3(?8*}F zgNG4w&42=V3=V0uz4)5znp1+DMO##p7(HzcW5d`-q1^2D>wDq8fed>VYBN|3D>1Vm zeo=V>D0j{_z#Rf;rPo3yVL$m2v+f;h6BU9}&XH#Vttjmm>_^KR<&RI#$v}rlRNtp4 z3qu<6eAEbj9)6YBlHodk`Q&zF@$~r~=JH^#^vKsPTsMX*3@a3p zs{EQoX~GsSOdb8o5S#eQ!vT#zllCF)F1r3rENeBBIg|Cd@YwlS{DdRgafS2tF3fJ= zeHN=rJ9^ylvdn&Q36KozW3%-Vob1V{;-x(Zg$g5Y+!fKgDsl_wVM#=6@!;nvj_Sve zJ!fV6Nc0e5!GmoAMT?O#SmcoV#??~iw7SvSYes9N7&=L=FA$vTZc|r8ENqn%4--wx z?(t4AoefK^b0MvRCXAp9=wiw5S*{N!J}>H_;b=zFmc$52ROFjRPF+`VhA&M2@ITi7 z7x4=NB~T?YBlvwg$O;|)gy5r3v;loqbR;Dukb}vd5InU!@dCc24!+CPsQmJ3>D5K? zI3d$|I{x4!4hs=15s5zOn&DWB;65K;)OKj^nLitAiG$bL20dMrjwP{T3C7huL*0j(WQ(6&e96 z4SKhd3H{YfdE0BM<%=sP7~&iEd%XdPkeLf*A)LCM8qo($L5+TqHBaSizO(-1{D-n_ z9LcJ!1GgObDoTZw<)!qAyg}QYXIt-^v8`qJ=QFXMPmXe@n(gqoqI${JEMJm-oe3ZC*<#`)$<6l{TE361b?M_L1haS*%i8VpN&*mddOL)eDp| zMVX--C|6)4Zrh4V>m^v2rIaGrg7QuR@^=_s6Q*io)>f z5_*1h=6p9IQ9n@hf5siz*-asRin82M*yc+)ZaI!QgRT0-{yvFs<&>iAOb&qAGMr6& zw#;VxaxQhHh2pO$tKks7y@K>_35EJzoLHm4c7RM~-5Wi$k=fc=xyDJ)S^;L@*q#r& z%;gIlQW*ZnlCIrl{rx3u)dpZkUZc2Q9X#f(W_IP%oza_uIGv~8`;8}D=2Iml5~wek zojG7(hbl#m%i1`_dkxc>=&#wU`PFMwOh7PF-1p;|Ia#9z`?qA#cEWXK`jX`M8+D0B zQc=3DV(9fV43x58N*8MLzc&_in+|Viz4u~{j$=d%S5GSI3t$7a92B|0On)Vx{paQ{ z%oZ8nuSk;IwxOIpJQ1|T!8|sao(=9h+=Hjrd6T|m8Q-Y2{k3TvxncgToz8+$KJX9m zot9Qf-xql^-Pv#`$ky%ZVpYUg;)!M=TQ@BSI!iTVT#o0T4h1;{v-tH1_ zwcLt`EQaAcJUTu{|9g4D14rHMxXRO}UMtTc5d+@dwVzc!)q`=DcXatY<*aQ&BQosH zSW6_3E$f&g5Vh?13Vogh;dt`y71_UzGpy_*ONL&&R}s*;)QxO}TDu=I`FYcnKR@}Q zK5ZlSJg&qHa`n3H)b4C^`OCAmc4jli`iM#|!sCA2l^d|#fDtRrA$l9UZ5Pj%^Z?un zG2QL@6G_@LF#m{+_Xtgs-`3xqCK@UeE}Lx%Sni*`zZerWj5~ zIPE?u{&3lI5>5Pf!b8ne4>4*Uj%+s6?Za!jPnJzia_X5nv7kFQJQuT&0`aT^}o}*F;?%oNFxoV;J=dr?f~sLW)aBJ+_nWiLK^p=G0tF5_#E+ z3kAjWk5<>H=(T_=?U$tDYCoG3<8=E1c@{CU3OfV2d}X;xy1D_;?6*gYKIOnrG=BUp zq&fi-%414H)lYOw?Q^y2+mDlHzB4BETHD>X@xOGazL9MfR;Yx`F$RJ2ay&tD{SveI z_k5*JRQcQHXvt3&(#pglXvACi-Tj@hB8MrB`4UFfUG)`N-x$t>0U6v_or!KIkXtX!NS^GXi!08x{2#M2iyTrKQWQcbH#YM6^g^Zpi z!g~~^(wzh`pS5FoKE>Vcj(aLRGu?`f`1h(!IBLuOT; zho|^*3MaIu1s2w)Uq#^BJIo?@s^mi%Ra)EQylHc7(lv5pI3%>k^&M_=g1eqQ?f=No z&TjKEP8tF*-FWfrd4|>o+SjKQNiJU(lrS>spYP-6ZvV{?xmq+yPb#6pb@qTd)SyoM zswWzHfk(>i&LPa_OlNUfFsxDqqj~T0lTX)})zLL^scfV9Vodfs;x< zE(PMdjo-eEBeqAZp4}M$@}s&yu|GE_V>zHHp=W8Ze(O!jtzN<1usp=-NOy1p@u$JJ zWzn`meQdZtX#(r*;BcKt;}3fEa_F1JHxhz7pQ>cm&UI4CujZ8TXz&!791$mJ#T0ZK zmM8UlONHsWvrM`J-KTAZB0b|exaY4e(D;${%jX$vPB%fpG@wfBa&Kj+*26KT7?@s zPCo!I4PbtCK&vfOw2XmxlU+F;L<)xNf&uXjv{~}BKH3vFu?9$wD%9da{8ob+ipktv zmDP@$wSQeRav#u&1Af$%_kXxoe@gwhY-p+7G^z=142_^<2lFdnM-nzy`$c*%-AORJ zFqL_tIPC2%@U(Wpbma&PQAlbMnF*EHCi*wh)t{;3ff)&#WG`1urR`VJ8$Bu|0oMvH||O?1NGUjQbLOeHB#B0R4Stjs*q;yq%>v9C3jVmmHgr|rqG_rpzy z-jwpTUPt??d8P!5p+9!X2W|YdesOh7%NC7S3939D-8$sjLCkxwdsfRQPuf?OGPCGA ziYbuYVaw-ASON1-+6(8}H_+ak#HoRJI(qmz>NRy&drV>5jn$kdB!f&>YK9;p$MW-tle3GVnw1mu@}HYG?@iuUAuSqPDpgqJvLDnq`UCQ<8D2_|=UcX58ECj)OtO!{c(nN7 zSh>Qyx?%}$`f?i*L_dND=XKU`tVFh7&nw$-6WaY^cTZA z3zDeK{BY2=7CRlUL0Oz|0K7nv_^Vk;ODz_kH?YsX_n#f%*876!%$FPAtR|+e4|w^f znH}@;)u8y|AVQA!%~stB_8|fj7Jn60;&eiD*Mfsidt+N?@{r;e$%ba zDTT3>Ip9;T&|1hMzL3tQ0h^^P@_hLi*dMZ;XH`?474ne6UACS7<-9$S6IR6MT2bu`n7z#Jy z(UvWm2O7Llv2ZCBQAUEy)g?PQ>CY%=uqhDQ{b+w?-$@O#yaWC&x8LYs)!Msi;!wGM zge31e(TwVbvtMmy?7K0<{uUMuy|zwG)AoC7Rib~IeSJ{mO z!D#Hn;J9XB0Sfhnkhlz$tow~BaNwQlDmzq4ou;)shAfla0W317y?((n@wirHN00*+ zN2pnA<5%8=PfgS>t=IeR=9ba1$iwz(9dlI%A3tC<1EByfAU^o(dtPV5P=_#B)>ht_ zD{l6VQ8QVO`)Z;!VGGjGP|UJ_20*$er$O*%if4CDs*x3F^nWMGs8spZO0|#k8*@dF z-G=a-($vSCsH(Q&o-quHNB5C0f(c;a4;>Y%i(WG$rN-Fgi*5>?ea0lH?ftFN1`)@U zPD!kS5oxUSPU%`xT}Zedaj>g(q*f10uk%HV7xT6#y%T5NWv9ZFG!}69G#bgDHKnPo z3fnKzho)CW?@=ft+tBQS|71vMT$mV&fsO4KhwZqn+O&JK2P57c`YrL0uDoSZq4{(- zFg)CKAUi?}8bJ@PZHfb26v@H2 zOH9NfCnh$+fv#i6|#0>51dVhE&z!dpB$T7d<4-?O3p_tes1=F-`P<5@tug*^&RuZqMk zW$w_|aP84c%aQq8ijRj2M#FSfIibdfJFc7;D_)}>bEHwEt?gk?3info@abO^6lZEM zD-+M)V}_G?Y$@j}yXQ*uE62!F)D8o6huAH%C7(DHF%B~!& zm}CliA0saX!GpSEdahv>W!Kk>LV2dbn>=9Go!`20J+#9*22 zcah!};tC{wA24k(z`Bt{%lAC)@6ij)|T?M&!pL0 zFcg`YE#%>}K)DO>6%Gs|Akh55HdKd(WPO`f-vG2qCtBL7RGUyiD340?*}$e(E2Fj6 zI1{lE)YnDy=KG(|n4KEN&+y4^#hrCi?z7-N)Xf3bg4f|wj;O4$EZ+ayU=TJ-1iMP# zoKG)tbPZKO8!r_izH51Kr`ARLnHN68q@eQV4Y35lKNjuu=^8m43~x3BG7j#$QjhQ$ z&s1PVD5w2{mvz(hog&qZ8wM;uGm69Er?z66eT#-v6`@QtT<_f5pILT>%>FlV_uB9Y ze*B|CMz$_84d0dI_N_`}JW^9hTvj~ZnisUtT}dRMh304QuUHSwV`*ESf37_trVJ{X zVHSLL`*Wd+@d6|0{INJC{Jhq_l47o1wz#cw;!GjZ@uh%rCt6TrPAD8w~mTDt!;^O|2UMaA8#_XKEDv!kQ^Vc|| zJtg5qywdpaFxPKC&hrkinxLr1`>2-;Hu7eGd(>pO!*Xql`>-Y^o}qr}h~|?j*T7(V zTmF$zPdq6jGHBX{v0wC}PM@2xH~&X3l1E&e@1G@eCXq_&1}-gFIQTWdK0>^s*pbPH zf3-9mPADP`_Ws&83p$`X7|WJqfy}9BZL5gOBJ4AbTSi1{Z!LcxqLOtjqNc~2HB~~+ z1Le7#U|`0%lg z;!F-laDcPxHcsxvh22?UUw2CYuyS0)X?riAG#RBV)fI9LKa?KhcpTKVa0C~hl0gFM zv{Oy9NQ3Bmp)`~3I?BiKk51#)64|WrdDD)4(I6qA0J(9nE&@wDG<4?D-r%s&pu3Zk z*|I9DXx&ELx&UCeUn1;bC`9=pxW#mXzG8|c>y$+c82B-XeOQ%gt>JegN?<00nL6vU zbc*~FJ&;G8uV|$Q?NBZNgC>S9rvCRD61{xv``HAeb;JD8zp^{pFTD!Tg9k1Cs|G_A4 ztV{BBC8F(m&)Ck_aLiSecN$hr`QyL=G5zo^$GeIQ2Ny5rUV zSmB0!=cd8x+4ruuFq6jl(e)>L&@z^(tEz5VV+C@a^A0C-)$+p7z5i18&_Y;JyMwlw zap7@9A3o^%26{SsB2hy1;d#)T z(Q5%wXbWrx0}-NLR}TkFcEX$R#xE}~_PlF&^R++ldrp1>oQB|naAVpfaqr;pg;klg z_Mhp`g3MT_3%8N)1b_j}>iN%#sVyAKA&ug-D2(cXt)c|NGL5*}tA}a+#v?uSzv7V% zl^=g08g#b1h+XHsRHoq^zaxBxWCs#hZT@fiE54Nxzv;R#x<>ZJq|?i(ehMiJoRNFF z7YA`1+^bQc(Y2>Hjo60Jo7$PHs;6X*o$QsNR3$e<{mjZ`SWMWo=GwQBiwZ)XckQVW zT))6e(<<9^r75O`2M8r;^!!MzXV}_h<>HA(Q%=iG<@aWTT^P#qw^1YvPN$R&#n0{c z+4&J6;@@AJzEd)H79=*pYBKr^hL>~WbA|X(Q@+#h!U9U;%P~Z!7!iqbmb=K+~wJcW5}-mCv|BDi8};Q5%@0n8=a8Q1o9?;5ar$&I@0 zJovq`+ogwFtUzI?NpQtLaVJ?cwj)lpf&iGFwc9-u*cum9ZY$Ywya9|`Y~w_1?9pV9 z2V^J?CbEx8cWU-0@mWe9ti4E|3cT2q5dGO+inZ}?m@&Yy2eWiY^}NIb?@%0wbI`&o zwOoDs8tcqpwp%WcLe3cd_Yk$({;9i$G)MZVu<-XDUF9f}rG;m*`;2SZ`6^awn4*rZ z1NLh;3NNsdAo3vCv{vOf+-FC*&{kQjgW}%dpG+kTQKP#rj3L6VrOF9Pj(@6y{{}6X?CToge9b zYs+GfE&OmemC0WCF9#+$h!MAq6>fE7s?^JB9%sb0L3o+y@f6I=OFpNp%A3!-e@l`aCSsfFIPdS3K>&XA&*~-HR}p z!WWgmD3Q$Ws(i+w19cu6J zhyDw7^MGO`UGvxvXJoYfSQ&yQ?PA+CI??sdv$&ftI_AL z>a`v}1Ae^)uhfjSPViKC$82A`RcIGO!;|GL{3GnYBN~J&X9eu~+#Usm0KR|cBkx#C ziAU=0U&a8LEu}~jk$aR{u$Z@?LGA>^0O&?wPi(sT1)kKYFk>=F)6-6l_H4lXK-6rE z0CK6sFQ_TNYQO+}h|#E<1lVqdAHL{(gHp<*0vUD;1FCjN#L$5J!9U#FoAKPe(I`3R zr!V!{g=sC-ntgqThmPs?`@-YR$kYzwENf+{>*fc=-H1&kKk)MJ&}P6kzaJ8lP+vn_ zX1ld1BUN1`+=zipH~tlFWhe-H^Tb!?RnV$1k{hRALVM(CpY3rEp6TVEpZOw4 z9P{i(OzEO4BRYtF zd2ucU!eoHn87W_LZwt<%aG}xGanC?^f(yfq0+m4FFE2ikZ6+QabJL-+SN(?He{{Rd z+O%=z50$c#yxFGOGIhy7M`GRTq-_+n`UDSPb|h}7NBg&L~de#E}M6J4HU zN=!{-Z~#M&&xsX74zj?h-q>@Egv3 zc3*EIZHpI^AdVrFKUYSKmjt)=CSJ##9K(WMs;eq@u$te^_TC|yL~-*I$BJA&{5W#2 z*>`G`C=yiHbpqbj$b*J=#dgOI6)XnRDoMG}RkP6<c4)8T=Ld`bFMs1>8MmXyykyVU!;#@7i&5{{R^aK$VtHM^0pH$pZuO zOqcjFS$r9&*;6L`+J@`Wq0)sWuObq%He&P)uoeo)fQ7R~o-UDA;a`C`UWUKW%cTCB zgP#efz%A5IUwmeK#HLr;lQ~gVpSB68iwkr+H!&9aYhixI1Y+>-BkMIxI~xDU&DwrT zjij(PhRuGAWyDV9?8M3B(C~?@uBw8w5v8huR#`)8QEi0mM|K-3@aY2*{>7(HfFxg# zJgQ!Q=*;)#60cD2)tMHRqgcn;S1`6Ly~9rc;_GaL*aC)`x^YMJm;C*sR7^8$tNw%3T{ z+{>ARuiN*?91gBPx@LSBnBC|7EpqCz7Ep7!ZjQgbBP@QeH?~D4cwuzV24XF2FACJt z5xB4y|2v8Ld@2+H63hohv?<@}D4`K)w#L-ZR(z!))igAAl4Tk;0|;wm2q12Dxr7=h zdTUwFbKnO`^y<%ObO(s_r)9bPcuJg;caSahv5Z>=+U&?ZuHmzCdP)Eg1@&J>O#r65`Clv$iJ)!k$S45>Kij4hlv4(ouO~v>721J<#Jln`#?e5(}x#8iRgF53|n}g9bjet}fd zv#1vv{?N0f9%Kdu{a4(MgrkH}k(D5|a0Pl_{|xk{_r6S`80$j(>MGnPsSR>i3mVGG zA_#j+?%J_HYh+$!?i^O4odK}Vh6@A`*;iUg58|zwqbh?Cmm#UUgQwA_JPpFf5aqfw z!Dp|7D)O2jTo<%RWP*Zt_a&T@=k-Q^S)x?=AMqkH$G=b4s<^^E59W_eGlJ-&(&%Cz1&Ju_9-`J zI;!{uDpL7aW%wv;tT?UdnsJJd&x4@CY^D;U341d-?=c z-25wRnbb$zk^6j^@E_UQD2Y)LJB9DwFw+XZPbpb>Z7-kwy22($BFXq{qaX?m{Per! zJ8H?LkL+T1PF1mDu-z?uqwM{*-*e#Rs0#6ic-Pis0E*$ zf{~}xAXfU{OP8VJKfJo~fYN8Be?*RVHiid26)0Cp`$q*N6HcE=YC-V=RPH84oU(_P_;K3 z@1qwz6RWtEPzs19VpyprUXbklhfrY^6!Iu32`!<5_}-F9yE0ljpj|kU+1d7B9)a3z zZYQQLJ*+#QsD?0hzq`r($!6mU)o+rp>-}N#h{I<_(huB1y;blISR)l=they*;gObC zJnDX!N6SUjVn(Dfn1J1-<@Ng-AI^3pEudkVy~`l8^@lf19U* zGzK8Nn+$c7FnkQpv7 z0P_5sRsGK~^Z$d^u{OO)PunD>!yov4Lf`VrK>T2@{oYONW>M8o zwZSE_RHa+HfL{MRV$fPpo>Y4;YWx5;e7eb@vRXH;n7Z9{@h|Zw<9GjpqLH~M6y-#w z(I}GXaLQNODo_dG@3F~$a0l7t<@YLpuaNeBXd%V93ifnGQSK#iDFf4=xvRde_`kYc zpWc!Q(bEp}w*mcn3ipz&Ph~i@x{GS?ik9^^CW$bp+ zz;fDpJ^x9^T)QKCnqzP3h@B1U>F70x3|dd4*N)`H>cIu8X_K6`P8QwxnNiMj_!0+$ z>v^>jW+txF)62$Un-5zM-usAKiDAn-oOtmvFU$#u(*>gh?e$DUjP&I9umV^}_~%>pIot z@TiPX1lxw2$Q$)MEHWx9Q-xn>3#OuNqUJRLa}>!~UOO9aWnKD1*TM;y`lygV3o}i4 zjqdgdS5^nw&CM8PWm}T^I`54_@iP}HW?~m-{;*N~+|M{>gX;xXUdGgWYHV1wdMo+$|#;!l6^g$$MMLk_$b0Ix(B*7i-ipod34nw6~ypf)UVT#uV5Ey6|m0S1;V4Cu8STMBj>+$KZ-w?s z^P0JOir$G6izg>t&K2un9{!B6=ID!Gvcel3J^g{Bcs0w)>Inzia7&h3s&+O+Ay2Q% zPX#&2jiy^q4Q0pHT*rl9q+~#7?Et{hz`qV_p<&BLT9EqRTy8nCqJ_q9D}n5$&A48S zJmVcda|XEsEhU=kvrA+a~+#@5-9-H7RfuBc#`%wTqT zDL86GW}vcI@0WJ@)VjBaIgJ%I=$6=TkRWVahO#p97izO8+!t*^Q?6BCB%(o(?vYH_ zOiejTUk$a9&G%br-1@NI-Qi_mH#-$}%rkR?v6IH$(Sw95-n-PM-1jj5v zIeXD?thRmZ8=P1yAjR=^?KeM=0rC~;?<}8VA~QCTi`p+D?7EmVITPe^wF?e1@y?Q;?;Vy&W+mc?VaqM4DpWAPksVF!x}C{AeBJ>9*Fc2TFrT zrw9-l^dbh{_NtH=z($+F%MybzPe9z#Q^zx;R!|(Nr;S6fT8|KmgV1dbL#azwIsbRjed56h?jqWIqgDnP0dGq@En_}Uj5H69c8XK9<_ zzR=i2Y3_`4h9|hXasUm?re~Zhn#PD<+Ch%Er5R=Y`tOhb3z8ZKwq`v?nt(~h6nEGO4CIRdmUvnW+qFN!a2 zKmV)INwSvVB(Qq^aR<)mmmu?psZ&*vCO+zId77O@2p!_~ebICa5UIR#y{{F;cpf)W z#HxWj%AjNWi14`@@4%!zgjn>(jEP7yfksJJU9!nBf#6$3biW1%dh8k>;bwG8m%u^~|U&9BUpsu6| zyu(s}<=vP@uz~Wj0|ITp?E?Q~Wkf7fQ0JPG_HT<%(iMdk{x2P)CK*^FxZ1p#7m{y*AT7hmE7%KSt&b^8-bV11%`co zgYsS0(7aMYR06I1A`kY?U@-pvuLnpR78+~>X`xg>o6*OvZ|ZKb40wRIL~-N_0{LoA zr8@ZfmzR*=ZY6E4F^`Zq7JgHqmQv2rAktA(T2)qWthlJ@rTo?|+w8*p!u3D|_wHf* zo^Wo;F#k9LA!?SBj_LaA>;IGaYJ1WV^aU3F-Ye5j3qEzXrwm?hd4cP-Cx3^*;Vt{K zq54Xq*{WP6quw&7T4nyJUst!#7k$|dvbs9E&1(V>F@_fpCkzrQ!7fYjJx=@RzKGO< z!mFAYB}-j-2XD;N|KT%e*!*BM_ZiP7uBGHFzz`3l-5n%5)YH*Adx5|9rehawYU?D|^Ya$>^Td9g!uy_&Gav z{D!N+(>*diOc4pa(I_P_9+9LbaRU7S!TIb54oH*M-_CNJNN|lda}fj9m-vY#em0B1 z?LSiC?tORr`?=;yNi5z|E1F8R67XVPU`;acpgHu7bbMkkjD=}VM?c;BgTsmoh&zr` zK;8TdLQd!u-K>uN=!J$Q{m3!`4xgyGJ-&RCPfj58W7Ct{SH24?5l$aZ$F9&qF%}s- zd)0rMdz5h;p-c7og{5|Ohuw)*e3IdO*uy@0l>cqu5N#bK0%9Bg^vdX$g6Md$_TQLi z#Jh(}xB$9M_#CS(gbTugwnz=RF|_$Xt7%0`qUOJt(zf&|P0J(FOs2Yi!4q2A`Mh(h zq#KU(gK|k8i%c&eiUoAA2u;h+6y3CMU8zovdRMOERB*l&7%v_Mu)GMdpl)CnUEr8+ zxz*an*dhoRX|hnL#)+PrPBS2`wfQb`lR60VM~X}8oAGN9W*<{83QUMB;~Skltc4d+9g zj!sTmW@ZwV#*>DNbu2bp14Pu+`OMlAWd_3pWD*HJIXUE0Q&Tguv!kiJP=X;?tsq~n zx5u%Gmc16ufqazYSe7 zaXG&XEDjV8?wFd0?F}U_*SSG*-#O#og(F2y|Nb^(y0y8LQ$cgYVr34Fnd_Ti`fyUv?<`zAGWUATqeRG3Y{CZ)p!#kVGZp zml)=!uOn&?GEuot1;g*~9IL6vIi@>-wiCBu3a(8N2VyUy&7=}=xZEL~#sj%{OVYUN z$_;dyAfXCtJ{uFn_I3mrxnEpbMfygeY3mtxhO4=Ew9RpT+B=mlcb)&1OBQ?Rf2MOtBO@aLbBmGGS0HD*b9}tK z;}s+cIXRQlnJ%mO!cE5`A3wj*Qp2rI_3?6Z3WyCs$H2IpaZ6w^>6$G!unUr+Yma1j z-4@;UGCsO&*aHIv?Ywe`1#>dkZI&`lrXkf<1lGSL^0ah^-pCAM@I`gJLYpPKyvJG) zl}i@o2XV$Bco@62qKwvZYi>nBfCG$2ZfI)O06zdE6E?f(q2d-)wj$~3G{c}%T5Y~L zh~_IuCTY;kn?l`W!#ryg$zF?kQT9}6c)K%dEIBbizf#paD>Bb6lo5$=mA0t`>JSY( zW^b67Rfv&Vu!SGy+ZmAWct9g@iKVrv^DhP$g3(2DP>!NupyB4P8{t~Z9^xxxp>3hp zSH;F5J-$?S1CycxyPxCPhNZp$Z9c5XXZ-fyRyBa9YYX(xvyy|mm*>3NQRVSVwcv^d zHr4Wp;xLcSy!?Dag$(@Xizgva&E?Pl{~A_)4fZ9ny85(sO1Y*Qaqkk_a^fZu;_n|=Sb<8n5d-hXJ%)QyqkfgRT&4+rv2wa&q#rvNDhj zVgRx?JG%E%v-?5c3YJ#i2Z&x8QVa)C&ZGSev9Ie8pfa$8#0JuR8F_};xrFvH^NJuv zv3pl^_>PB_ZbX}_;>6#Wl#MBd1RMxNsAIaIj?8S&_qUoNz0?r&E&-(d;hNGWjDDc6D_4@cSdJZf`3X-h+%JN07q& z>gJ$)_~zk!SnQqV|0my^Ky|}CiX=@wpMk+i?pZ`!JX1PD5X6;@HaOYXAIx}`m)k^c z_xAU<4~SPQ8?u*w%Win7GL+irpvs`dkTGU~t7l<25TCaYsgBVNJ+J|w=k_^h|Z z@Ll4i3~cTzm9SNq(D$=(iJIoxnQmBKjB?xP#VyNfUtvv{M?e~_YW&QSw;;=g6TeeL?ttz^ z?C7^Ffzi%F_-2Ra#u08MK@^aP+5!?$lmAOZRX9Z+l0-f9k=ADLDxB94&aG3y;#ZrUN6}W}^=H>>4fFP`~ksB5kHZEbWO4)j& z2bIHa@Acc$O%Q83$sz}lEt%BU{QMLg6N90prBze^yGXVg+(Gs0{b~FuO>@JaNd<-I zSaNwXvq4krSxpk1#;!GOHFu4rD3ZvG39g7rY1`VMD!k3rkg$it+S*xLxfJb!(=Qx2 zY8}Ev<{~0dwEGiDifKoJKA9@mL6Kgr06dJ)w9;6qNm)ECN!4=EIOy@PFw>g} z73OAQp_PZR-Luw1j+(-a+p?XRLgHwlF}7*`Xy3r5%Wv#vJ1(aLt|gO80^sX>(JBAG zFc;F|!9T$qAB;3Nv<8p7>t*kz{q>UT|P!Vy%kgLGYP2|dJF^cx7(%kN3gx?%-j%pEo z{;Wv-hid=?8x8vty1#7!7pUwm)>lhTV>9U^P%9L53=M_V)O@C)v6T{%l9cS4oQwex zIoT44UCSQNh3D+a;4Z+PUo2W8S^%XlJKvI&i#j3BHB(7E4ees;unCZKCovAqq-Are zP!-5^dsdVRgXuuBqs+0IV5#j_9Op;S;t7-C{dE1dpX`qv-hf2TlA`iF7g>FV=D^s* zj3zlFvTWWSSTO(wOY;Z5`j1MMaO2KE!r;a3lVVy8>2NUucqAZ5GB-iKP<(ReAH8yU?*EIjw+_ns4c>)85R??@mhP4=rAtskx=WLAtveq@}w-c4L&H7qwYisLTxw3CfZF>dp?1 zD;Td)77lEKD(~s6Fprjv=*~0$eCv~W4p8z|V~)I|xe&;~fbLe+?viC0jS-exMN%t- z{gTKMZ>|ObCogw<+X0|FFjCJbj9t3KOt-!m7Nmmug#OyZwahXYx{&*YVq0$NM& z1q1~{FJ3i9Ca8W)gFG6B3<7DH{s9bz(of0n$$)H=g79N3P{#fh9sR;5DG47eQ`mw; z3g-cNZ1Hp&U?lfV(lOMje2yVdHS<>YYf!L8p&^8=HmoqBr|nz!+1z2 zyTAdV`j=jpL^57KYSiXVLR=2738s!!_Xs=d*rU^@{?CB5#T%pMvkUIj5o<(fR|R3yaj63zU4;(9;&S{4ZcW!RBKPvuAdvnx$ zoXBZDL$L^eU9T@3B8*y#3me$8AfBs;?Mi}+iwk1>$7++|bUaNfD`uc&zHkjd`BagL zEOS?(80~cOA8q9jcKl)2DZlK`*KtJH_^$LJ_qchi(mgeMY(quqAM_c2ibz{Z>)2_= z4tPn?^TU)3g^?=#Fwmfth3I!e^dr&iG2wJKUGc&ZtVpotsn;|=WMe_{X8v(tdC&xZ z^&egQshSqkKSLZVlXPH8l{yIU+ZRZL@dXFOZI(x3q(fk8a^NFKLE@%l*)?)L#s8PJ?lgy{gs@I)B)tRpqk1^ zY5D5aCaJ>SI_@O38pEa;o)Q4Cjf{+FwR@$3Jv9|Brv@+r0s=hFM@yK`YeN6Cxhqt% zmmyj$I$yDp@dEzK09}J>t*KUMU7{eFYyr8=s!h$Wfo~W;di}JONtji~lOy8o7S#+X z{OcGu^_9NF4KQU*^9PL}ONhkw^CZsZNDfC`*z7AfnlHY9?Ow|HlSmUsm*l**WEW*= zcm2JyA%^=#9*YU3v}l*5?QCO==nJXUcP0%^zNtxPF?M!@a3Fhjya^9vWoA|t}N z_}PN;jq@c!h*KwhZ2*`Sr8A8tk~>C?ll4{IJ1 zz3iqCwqUi<)l=HgYC@QXSursO*C$hr>!P8(nfxW7q?{92#ZJQXg|0{|x1xg#K61i} z&|Lrf#pm7t+sx}oBMYo~of$0T$-u?lBHlOlJ{_{YK%VqlpJsCnHJF7Qu}Wi8>}QBk z5Rd-%wW6P^v4%wXmZ7tE3oMg*MMFZ&U|ly*idj)WD)k+Y9X&a68v3@dLxQ?dpbEgC z;LpFZC%3ALhW(e8E@TwZoukk*%`W6~9wW4^2`s1UO!R|Fd-QZ*tECXkb+y3$0_vk< z$C5!(LpkQ6k~s1f+7D-oCGMb(k<%wKD9ySv%O0*mQ*{J{Al~u572xxIcKad%&nRFQ z!&3iK-_-1Hn{yME?z;)N|3iGs=|1kLwi(zgKE7X`9I6iKd*$K5LHE6=w$?+Vq`O zH`eF*{^S$9L-8YE*RZ)jAn{S((&~p9UB03zT{U!3z_b6eq=Vag7-}TUyXoD)_IlxP zB7(TROL{@1mksy98EvbfZV)i4^7O;SQ=e10n5N}ZawHrfji;oRn^AtpLZJw)89P#P z`1pUXBEl_#%R{JvEd%9Z3-CP(*fKC@GQ8)XCA?{|klKz;I4QUy-?1}Am;Y#AZ;n_U zC_Y2iH#Yf`0r7NQi_9i!i0&5-v}SFUWvj+3E$Xaj*B{X1sm2p<|CsG-OkiF4nL%I0 z=Z(z4vi`=~Qs_Q|F3|D~!&+RP@DZ5`24r*5g+n>|(*X{})1Lrg(63DIfFo;RiCl#N zHU+0Qd7GF}ziW||aU%wiU8BauBh3&9RYM;?Oul>?J!QOrOFE4s#MZ{B0;xU zuxTqQAt4Y*^~$pm^10GupI=i^{EQByc|ksKb1aCTSi~HY9ZS-G)X$%#iqMS%sC z@if=$>{PvTQXfU`CjH;Sm}+Yj{KXRh^V<(&w}^QMsefh&HO=-X;xjJ;_xKt8x(0KR zGSIDt0{59&O}DW%T$QtP-KW=ywemR}T$BgOI+{8n zH;S3`fwqF#m&J6pQq;u)UO|?$=RZ$yP|f42F|btnZ!B$fcW0+>P7bAkfkAqMwVhqn zSH?mW+4_`Wzx(D!!A9YGKcEs$EmU>rC7GJvW8>W{k-Y{MDm64T>|j-ARx@6RWlp3> ze);`H^JH-)i00s&cE+R^{S`r8WMYU=p;ixS^YhJ+OkFq~mpM8qUZ+0J1wKQm|K3Qc1oD8q`mEi!&1qZWZL}e9Y zU;f*hpO$a(T)S|;-dKGATcmwrEKkLLtsl`S*`7FFZPwzHpPKiVd$_M_0LwJ$#hl?jfl zEPMj9>Q$G2h{M9MJUDWKJDJ)9hrlVwVVFFvxz3S11kD7J5_uC}$R$A?-5QNlXy|f( z_Di91q$R1x?V0i6zC^eK1IxFihRUm2jmHi4aKw6HB3VdpIM{u3$&r!I{w6L}vE-3p z>L>H%9+q~Q!Iy@Xo&`BBB2T;&&w1%h})3EiV?&2jQE&Usy3+5=Mr}QDuTwx2cNi zcg&pI7=Eg6ZWEZDvcfCmHVr|QTz-Xj0IW@Rz5dtCNZLRoi@7Y*&%lr5|HC@)&PIsZ zABa+}Xxc}#KWgHzq;z(p1UxeU;Liio>HYD3_OHN}WP>YST|0};^$mQ>ojLa=bmPD& zIZVug`#c2w9h*h&!4N}Km|Sk>oK&Z&UyG}&Sy0{mu;638_vM&CBSsb*dF5#OL%sdJ?`A?mOngFs zBsRKRv+&Ayuuvv%BUb7M5xY^))n%4=XvmUe_V_pc&AG+J$K$i>z6+(40Fn-I@pZ>puBV5avzi@&-=Ui8Fl zJ_4vwt{bQ}O!fAR{Ak4V*xk=I&3Ku_p4(*X*mis&h=f(rTo=K_T?Z|ocK1z3MBatE z4%aU-+mlh(-XPYe!lNSk@F^t5ZW{|;{u2D+zEfR?4*GZXXV%o^=6U^rj4zPnRyZwB zNkL=i{dgr5N3W8-!Y5}wbrSRi_WLXYx>MC4Ma!@_NK2}v!yR!od$q}n5$uEpVTwdW z;3j98=76L!h1+AbWBl)zRsFvL!F%ao(9wk-MdGDMD~ZnwE0UkJEPueZ9|(n1!^4zP z9It9!SFr2)<*!CP%|?MZu#wZhO^B0+y_kPc_j@1c^s9czbs|cd*2a-Z#{^~BL7?{m zd$V_=3Is{^xZlAU8@Qu`p{JPqnUjUHH=xxTCwJYJPlYKG6Ou$} zkFOq?r=Wrb{;e+1DVFW)IQfnY#X?JOh`rJ#I+9Y_qw190^*bsU9GMvHJ89Qd)z$uF zXT@G?VLo0iFYFmeL7`;!MJif3E1o(tGt*&b%ok8#;OhpkXgf2dg!A+BC2EyFZqK*j z#z28hK0`>mfC2SY<%UI^p*$Ez7k znsqxH)TOfJCZc-(1Gu&N52m}{r(qnf1$-x#36I8xQ`NJwm@A#Q@YTpR(Y+9Q!Sd3M z>$JqF#WK7O-UV@Nyf#~lLt|Vz;z#xK#~nqfW^GoT;?ff?GXbojzw?RQhiF5VEML19 zT9G{4nO64)`}_L^BnvpdLv@D%`veq949uQ$&r%Cs0U8GHWDx_*ka7U+L@(0Ctef-g zAkR0ktB&6eWWLQ^M`;7%3J4UsiqSR#NvM&pBVYmmGLVGr-u|;o*te2bZsjRxb{2^6 zyW01tL-qL{op8VN<>eK zBQgNwgikL#roOZ^0Lf=SX7&RV?W$D(hy{ze3Rq#`_P%ropf^zn-Uo4*jtDqqJU!ln zwYMRXKhyHRjCa3%WBD_|Km8p&@5}3=t1$C%91cv(*zZ)*ywVM7$ST^oUu;j0#G!j) ztvlSPDOmh2XJ^lKZ@m2GnnVZj(|O#2&sGvoqw=-|W|5=5*)oJjvm=fTp_>?ffJ z4T{s{3hFRRrRE#N;|IKmXEGUCUBH5l_;Y21@b|=~DW$t5`+MR{EaW!w>Q5(`tf)_30Sv3asjpFj=z7A+}+(ZYQOh@XZacxl}V9yJPs@$jQ|z3_2c8n zz(B;Utu1I_xyjMI?QV~uOsDluEEE1WNEhJ|5drTn(B!cDBRiWSFE0;3IaZewJ@A_P zz#m5(8G3pXYHGRf%f6#-=z5C#Xo;K7&upArkIz>}e0)Xbo{$^ob(tSxHpp+Z{M>D? z*A@5d%w&=Mk!o^Z${^Re7p{LM3K7k8$$ay>p_vN)#cSK7+s7zU`g@yG?bnw5L;UXTiyE}BiC#v0a5HFn537)1`5-R(GW{}fEyIZw=^Cx2XqGFl&gr0H z7e2Q$gE-vzF;6%ML4;D~hMBQpN{y&|hU>}9cutzBK&Yq%5Bw97FqiyY^|fk{t4$}5 z=)nVD;b((mB*DDm&*bFMFFmw8Z%WooVTOcxGlZF+^lh>Z3QbO1S{C_s9mnRdC3!Jo z16Bh^J>Z4n-tAF8JkdXl24;0ep{IX2YZu89A@Nw>6S{e<&FMo8SXQNlz4_iHZ6(pI z_;)Z4H^t~V-Lo>dQjVV;)n}VQxLhPyirPIZi7J|sW`t3?G}xV*efx$8MrMPq^F{(v zsQf#+vygqY^OxU{5LZe#E_d|JGY684TddIse^>{`X$%_v{64LZ=`to9T66L57dN_# zau6J0u9!bpYED?hki*g?_XmgXH)$? ze=J)T1BV=oK8re5qh6i5bfnJF#c=F$?v5U^I8;SzqQHz~5fPM{#}|7o-G_;bjDoGP zynS0X99vt4EMM9`d#;pTGJCnkczz)CBKEREa4r{3ni<=!&q4nf&Fip*d6WHX)=Qv;FjTH3PE0H<(;zUQw@7DMndZWq}_->6#o$1;bx{w9%DD`t~jH zkJ5p7+~SsgWECBky`uToTku@k3*85X)x3CiV{R=voo*-vtUd_-gaxF*52_nXJU4^~ z8Lzn&9Yvq;Hi8OXH$Ut# z9xj&b#+CT|tmL^`K=Vi)iO2MLH!&JDQSNhz z)kFptWbGs?XP)|F;9CEBj_|F_mL8}%B8MqExP7R_Q}Box77I1$g}c(}24lnXZ}e_4if}G-Y7!RV z`g&6!r5v&6yxaMa`5d7X7IcK9qkN-HSl^zj9ZiW5H4&)~l71Pe5|QGPO3aW*hpsdE zf4xAHyn0r$y$MwkO6o;i=w7+$}$$ps*=Q)>?eP278 zqTYBh&A*iMd8rZRA7E|l>4kyOINB;?MG`^6c+|inF6tp2{jF~7IiY>t@d)Rs?TFF4 z6juI9x>aNdhl9WDNbf257Um(p$Gc?o9qRq&C zp9Xeb`UkIXcmfyu{f-6NvVf7GPW$IaU^)H-MuSUdSV7@Z8tK*E)LQfRs}K_LnB-0p zZ3J}9$YpyR<%3izHgU0y@%6V5yb33nJ}ctvCTGXI+Vp_5aB8#Xa>6yXnnx4U=tw8+oF>#+epyzSy6Fyqf0!WO z?Fvp74f=KoRP|Z(uPW!4g4$qxQd$We1re()G%+mXD%LLpl<5zmqE_AVq*!Uj%v@=h zS6hepYghC?_k5I)d^<3%%s61s*s8{EwN^#2P1G8ovZJ*Mhp>B-YJl|oS%3SKZuKU<0W*l zOxmj`kV7b3GtZD8ihJ9`B4U{=`LX|Wn7PB)ur$Fep-~Dt+2j}Ns-`ntGxnTeH9rTR zj-M!Tyy8VOUZg%WIB!6&&JtPM-mVf^mjWri6q$}g|Kz--w6l{~g<-Bl^Wy-hnOjQ{lW25*k*b)EO^ zO{L%0j{_1(8PZ~6ipI!=pjEw&$aXb^~{7p}P3&=wQ|d@|8VQ}EF3n>ueT|EZ(s%)KbPZtvyL9BOHGpcuUF zg=`*mWb3pp-rYwIgFl#{rKw zD^zgSePD6m(zrJ`WF{OKO+wX(?-?`8)!IwbEJQ{xL_cV!#)yNq#M7~;xsvx-bv48* z6j<<+R>nPc3vx$Vo!N(=Q+O4EL}ei0PIJPX(Nu}i8A(b(POhH!DVXbmaS;<4N8%7q zTuM1;JPO5`bDdu4>eJdaN4sXE=W^-GmD{5q^RIuTXNwLnM}lpRH(!6?kkSb1JPZ9y z^|+b4%#J~#LbDn(eS!mIY=V_|_11@pUU*W+0x1$2_jOFjtbi!74LGp(wF=i{m({Nj;xE`sOf=JT=@%=B;wC5RERJoA1`= zk;2WQZA6B8>(wQieJ+3%uDgjcPD>asmE(3qOE~B`gl%3I7~sLc7+|M(A@LcUVi7|T z{8~?};H}hFQ9ZXM^SQgbyjip69Hz+#Im3l0vzZ@$&Djitx(8wTp@M;B0c^I*!Be^| zBZJc6W0+a`1D~aWTD|4|In13aO+c)KeMkKgromGd0+YYCuT2Qz=spC}zl05v3CaRM zV=n376$;wM^r!L(Ph;n=>DtmQyh5M6ag#bN*v=<2bB?V)+`=|2G!vvsQC^R;r=t8? zOjr}>U!8q6IlQe6E99o0B*+iw^RK>`Qrt>Ul>Kb<=GRnYj^S>^172g%Rge;JKt%rh8(h= zNk+lPXdZoAgDLa2j)+~~QL?>npXTz`CePd-rA&xZdNLB8y3d}i86O26{|mh`wUg|G z1FrNAGW0JEY8D?~CNg3zHKcB^` z)1F88@F^qNW9EcopJgQw3RL?1g%ceua3rmXYe}rt8pz=2QGNr{Nva!?q#R7dTwB+D zPSeq9X^US83fg${<@C#i&T`7R{CP(YXfM()S zx&||oPHE=(=(zh8>#%)!WO)u=$5JC1!}5Xj5q{rp+8iDKWM{KTvMgYH_ntVBiPim^ zB|+S&jM9p`Ro_xxPZmyh5~PA{eyqvGJV2R1MjTi-#6@7i`ezgS@R)@nNxdWH{H1;S*d=|xWJC)zE35*%Z0ZmHa_KBy5R5pD zlpMFEx5&G494wG$8S_McN|K`n@akjQ4@an#5jEKQL_XaGEmqdMmQC2hXrZ+ar9$l0 zoJ{b6&w&9bD+9PGt@8Zu-;0BSf&_^FZZh=sFHqb9-0so*tXbr)nxE{+^;OU&7H)+dt1CKEBZ51a3{h zL=9+C7m`X3IPuK!;iYPTx3#h67Q5TIvhS|$uFphK7q0iEPuzva4Uc#~b7VJ))5hDh}x12R}0_9 z$&QE_{A|uP6^>FWT{AR}TN3bTZL1%ZwaBe&X$LEC(C6sJ7pgb-=$ylvw>t%8S9DI$ zWzn^A71snFo;11;aShm|EDS6{P!ZB~p9S)dQ}fEbb-@dlR|4bem8>?0AD&*{2Kr(n zoLO~r)r;apUC0i)U#Bj6%Gl*p%&~e2J}_9u*Q|B53vJAm8uBdgDdy`D!!ZBU?wB!3 zDb>*e_Yx!!0WttxuG_cngzj9rD?=@q=V1}>A3)$-J$jDE3Dsn^yO#ox$R}+e0yC4Q z#84njpgISvpx-|1ZD5XrxiOifbINFTe11o$`HkcBx&3B!_UH4nW6EnfBr5N;)`1B) zRkoym)y#1mwVz+)(8m7k39zMFN6KW&^mrbb{PV%jFB}ed zq>-F%@@Sl7^=R1l)s&9R0lG#bmAnsLSI*|b(Jw|`?m$)p(~aHjgboCpdlm6E*)ryv5*oT!#0?L>|CxZ}5nu zbf4S8ia6+t$wN2z7EozI3)RkSfRF6>_W>H$0GcfY^~Fu5KH%=YX;xW=cu_{3M#(Mk z2UF!I!2H|Z?E|dU>F9Oh;pTsS@O5arRm96a2auG z4moJ71c$ESzCJeI-gfO0;Km96g!4}KXs+7uURZzf2&lRbF{<-{sMCRyB+qXWo_Gm zarx92a*c4f*?2jsZ*4f5Y-N7pcscyHfxIy!gi2kmC;GmJrnma&51$EX$}k89GmuXq z@AU!4Hg#3{*l*0G$!x6;UdyZS*F7V>5npO0$BVVf8Ksy3seiWd$DnJcwhDKaynMV# z%$%AtJ+@FbOkr852kPiu9cdVv$|^>NmhC;!Z&T0K5@uN@j~*%I;r%CX@6)=e6Y-~K zG7^$w<chFga3$OP z$wR>Q?fu;TCNQ=8t<5>PMLOTh{jq9`QIu9m4+DV| zX3KTJ+EqUHdhMSwCDf0BdxiOqTauP}J@oAfc&o)i^6YpLlZm^SDf+0$A*yj$*YxT64Fnw_ zz^>}JANw5uxfurNDf`9YT;OgMJch>-KYQ_?5{4=;ZJAtrg0c8i_nu`YRp`mHU{i@f zvQ@rHjq$tr6tyHXXj7$T#S{;+h%1CcW02Haw4SYcQ9j*1-~$I> zDO1zA!euxcsuSKIbB(=R2%w$9o;P4aRKaovU^A2y03|@fHlR{|=SWI#)n`0+H;<$u z^Gj}TrupWW+zS4^`YoA6a?@~UBxWSK6ds)4<;>sU!VvNm+vCRe!*Cyt2e~2UH#S#> z*)9W@)+Ey78m}`E<*&hEksHmAt8CZZTKjCO?y4*0=TD;UDM9@)lk7wT%GY;MLwsBe zJ@NLRLf;$f_4p>;ne_q*jUa_E)4pk92kr4V^nI^yX(sgG&_^#rp*bMQFSMd+&R0#n zy?aejg=H_#Db~r=T&<`8Gu5Jg{s~6LHP*nUr&D=IH_9|bFlLQZ9=~&WAl>`A^ke<= zLr;KV=g`Cc3qL{ux7({(LIqnv#sGs`Etgi;tAl|v*0QTIt>A_i9~_VOe)a{}a~(iw zhUy45%^~pVVIj29`(`H62>nbPvPa!Z(tDD2>)aw)qCSAyNqgj*Z1?a6)M7W*#93-ceU#J>>J$R1ySzoNsvOKE{Yqls#6Y=U zUQ(xY-oEI&sBX$$n16={pEAy*AEg9{NFQVwIe>dQ@5&^-**sxMWHRy4^0=w#%%5UV zW*Mx82FjdXbVToetIrRFru?Q`&WQ?ik&1L9eJPOJ^NEZhVYUq5!1qr%sNviWxkeGk9)vq-G5xM?$0rT?7>7(M@ZKdK^gBC-J{e5M6ds&gf;1KZgT>j zmMv?SIVv|_G`P2ZII3h!S2Kt#G)MZo!PM2_bZ%2+UzMKW>_Gy#4nvHNKYq`!5C*m8 zLrs23P76;({V%6A_fGt($6}M2G9TOal>~dPg}q0qRy5u4R1r0~(5yv1qMO1^<}E{k zy4pM(CUv~Cjy&C{B6y`oBfKU=X`O%V8KhZh{tIgVLj25BtF-G}n3$s{3)G@}>@+Hk zAU)x7a~!_^3iS5b0FGZNek2JGeGg6bp|zTrdW9Eyf5c+4KH;g6+22Rys49DavpZ}c zl}iS|&I@T4iD+E!|AM3+$ftJOviJe&cuzO+vlAOpX|Ns#M!!;Dpm|SyAa#Mj^#6Lpo7s347tfB?{eFtmoP4}L6Ik8p^ba_&xQSo0 zXlU@|qFP`r9LVX5K#xE%IXZ1*6sY~xeQ+h>TuIx!wogE_J2qoBf3)QMl*Ckd~ z&gvYulb<(_{#h;e4$Y4wjpXuAwu^X&Y}2L3v1LdBGBtBQP_bT5JH7l&;EJoL35sW~ z-r$oC)Ze!ouLQfoVA-?u?pYO=Zck60w|gzQ#h;oh2%Ko?E11@`En@L6rd~QbUX7?X zJ*{9PSQp#i|kEXjh(a{v2NL3Pw@l<>2 zfedv1(I(`57?;95+1)nzGZASAk@wD!qqn9JhHHiX4q7WwYnlP}7hB^rBMi}tg=*2E zKgIlWzAu47UQ#OMc`d_qgmGFtw2Wu)))24VRDk92^zFweKrdqgP>{bgypsZOv3h&i zfeJoh4C-(w*LHrq@Tq&kD!!WSJ6+COBrskS5lCWs);54ZJ>qqhioWTlHY7T#>9eoT zcEC%T?3kH8)~ZdEf@2xtE%c1im{*;~VZSg8s*+~!>6czr_Y47+W2d!=d$im;{ju|& zV?&6%F)D@cxq?V<=) zI8SU(JG=dytJ(Db%=RRJZ&dN9Z?PrGU7Q|w{fR&>+*Aq$P!XRP(9L4$3N-#A zVQ^>tw)}2JM@{wzZ)a2SJ7@;*a+zdFGut+*7o~{xl@GeJSAT7gxq38z^SP6=+r#ho zVH^uAf!<`}(Nfue!VA=X8{{qLTdY)htnAp&IB0eO44*Grh&E%tKT>YEa_TBZBWAkr zD4tFYAUxbg_p*%-R=CbF_GfDDG&xXzLK%pkHX%uq20`LI{Y3u`Ei|ITeVXU?_ou;q zi$MzO10ds}Ol>xRFL&w)C?bqg45-U#u3a%U91Zu-dWO6Q&B+Irhqqa$xPYRxr`>q7 zN_@jiVYn?-$3@-iPy%DKn!4kz8@a1SwumbO1I)=sElm*weqwb#V{~=N9G&h#A0~ zZ1>6VlXW5ht}x=up=YjLqlH`A!*hDjCw;gS($+IEDXZ@Cootosenta@7uP9bA7fVO zg3R@;x7I@!AKZ=b=!0anuCJqH+4<>TL%QTvoC_NRxjrObgT;Tp``;}vTY}@`n`CLC z*wr_;c?8Yvbe8&|xgCic5sYRGll8Pm=tpcs{NzuR3_0N0hEUWQh`|Q8+)M}=Zg&k2Bk>vCY*fxX` z{0@-6OLiOH83IFq_Gy@as11*}_yBeNv66KA=Bv`~ zG?l_G!hoh*OEMVUD4O3syHFZ^8}+^)@+)wZ&~s!XF9uY!b36;LKm``~>#x)|qr%T? zVmq&iEQxp5XZ>%9w>at_wfN$X5(`1IHXsG5Ig@^drUBKF>(j1IQua%)XxBW_BzbTN zz)`$9L1pC|5skZIwDdeA1ou^BU(92-|EjAVEr0S%9_lB+&G;#W7zskFy~*ll7Y)Sr zguu`4vxEVA_%%z%;=hbUm?{Tc3%f=ZZXOwM&8z+5AwI_OJ-~@Q<3qAr4@IJJIWJn z9S{Jy#+rYaN_0!WPA?Rao1efAFk+dc4x-*?|Bo%0ClQ?kV$e?)WB&k({%vJ#V!e`Q zZx8jma~&R%lBApu0us(K0>SYAml)ut5<% zI3u65-oT0t1lA#(>hUN_Y*0v22W49r78O@INgNp%tpn{H-Av))=F+Y6fD9!7Q}5!A zO$EIHY8hGKHP;h~8oKQ6i4MhOVfVPPd3b!Zb#$cCZS#PKhi5gLpadSKWeBF1{95fPA$Iz*GiyfUhUK+dY@1hj5q3{#( z1GY=99((x)!1wn1i_kn7B;w4QF`YyVErwQZgK z)*!X+y3u|&)XFbyuI4|9lURWy6hs6iGVhlJ*dw=#!i$S@la&sVI8ItpAPuvc6);}K zf|ez@xmr7){yid4V+{}~)S#Gd{*8n7DxRF2Af~fu)-e{VmiLa1vMj^GTCKJX{~{B; zdAwdF;P*58EJMZp?UprnIn0)$NI|24#EKnfwAiyDoBlD2)RKq#b_)9fhZG zy1+r1pUORvB|;aJ-+xt&FNnL30~Ei3`wQ~VxmK8NDPqf+c#{mUMz}OG z9;LespdB5KMV^ zXl~Bm7Xkz9H5T*Hp7&RLhF{!HqUz-2M43IKmHDTQ*=GI z;P%GB&F9G_i5M8HQ5Y>C~eSaAr1S4=+d$9(;~d zyvwOJ=H-Cr0oB5n|2B(QwnLtUs03x$>z>qfimwQuMMO~WOa+J+fKp%>t_Hhz;gvus zr_Op64XXH|ge7x?FXX|qIY`6#_iii2Iw&$y;oK8Uk#>SENLV~>t0hnW=ne4UPEL0@ zy6n23eg!SIJ>JD=XNHZiNSmM9SSzQJ9&rxzXZ?XTR{}xPbv=0y}zCRgU)0KKJ>=qCM!c&f}oCpd4 z@H6EM*ac!)R8eQQf6t{K73SvbDURV=L@Nb)P~?($AI@(%$o1f1bdT?oyT}4jIeHq4BQm0(5yg%9SjXW4Gie-Q9_sBoTX@=aFaIged3Hq*2fJ)rHhu? zy`x*HG(`MWQ<7^k9LSyceIh6L@)TVAq(dYSATSr5jc3wa--x|{OGr%Y-yBS6v{`$> z#>QqA&K#Wyo{id!D?UgoXgX6nxbNHbPntTlklKwL-b2%mzj4i~i9|d}P_`dLkQoR- z9SJ(xo4DLbP(nip571dcihnWSct0aO4H3ecX?pe+Wx zh|(5y$fqJV6)Mnj5IrfoQ`3TJZRsW3BQ$U|p~A@P^}quIoOPtu9cYmCUbR=;|JUg^ zV;}__;cImC?P2cKoDaS)uo%9EMN`Q_{W+Lr1}bIfY{VJZ)W`R-l?oY1bMF9?2!x<5_Vg#RYS{l%Qy6g z@pXoGDHwOequ;~57P%U zNd}dMmv#nMq5qepahl3E^A1^X#N>%58+88Zl_lJ5&SQzW{=~(X)i0XcsP+~Uvuij- z8r3}ni|(wy()E0+XL=gjXE1>!e^&?$-&6w@V;D?Yhg!GY2Jkx{sYUkn^iFr%0tZe(Og>zaVu?@Q7EM`hpo9Y#S_y zLFbT6QouvLhi1J}5j9&&1Pd&dqvk0(hWFElY87L@Kf|?|KM@x*Ra z4*@W*OiZg2@B*;d2o**9^j_a?;XZ|OP19UcUVe9N-dco#(&Ui(i_8p+EX=GVF9$vt zP`robC$!`_h<}=y+wz%L7L%-YPU!B(2s2TR>moK_m0Ugw1@U=~A9PdRywLzLb1X^RbrP-QnQ+5aF3X!t)wYIw#6QIZk zrmLk$dccz}AAU9%++>0#cOap*t##()`&!0+KWEW4cmEOq;OeS*4Cnmu8+*p)$Pj1=_#4~TvO-f)L>H6CTA=d zZav?bISo96phUoBAysd+?32?*8;HKTO1q;Ez&z-p_qyH0{Ts)C*a5^18o=N+xJv@g zkctY{{fruBw&*1)cA;o#-xxJdE6!!FA^*6zM$p&5%AMywRP!3&CK;o_V#WcpYE zSYXkie9Y@zO{9ubt+W6JJ=mNeYA{*#G%Q0JJXDYCDffXzuOA&*d8Q`kaz;f-3lb_; z8*S@fpPrp%feS__1_}%2`w*ahk+&-ZZCrP`l&6; z;3=e=y0_}z#tRc-&x`K}QA5AVlBmE`4&p!X+#`wH@2@P)D|5b$XPGrAoSjCRQ>J)W zNJ&X0AK5GTBVm_Bl5$sr4szhyjY0JuS`vfVN=uY1k89Xli4+io~GP=8%k1Bt05h@!7neA$S!CEu% z`M{F1m@*q=_!C893|{8Xgza^AaRL5>>;>!Z_HRLVa`pZK^Ke$QTtZo?-!V20Ff36K zkw2n+X*{-n?rwA_rl*S3Dzh$ap-8HaTKKu3G>nw0-h!K^*S6Am&98}+wYEpOCAGET zjhC;lIpSL)e2f2Lpq%Z)j4d?Y4z4|?iL8Rc1~8Yt5N3v(#_3ULcE#B<1T(7Q7IEjl zhZ%#{)vURy;`hI*d+%^A`~H9Y-O|!fAw^20WN$LMWJXk!JwjxU?A?+rlu@Ek5|X`F zLhmw?GBZL(R>;iwJ z&i-cN%_*m;=N2)qWNTg7p!)!0SO1wt^+exl&#uO`nMQAysZiPxKyRa*X-6xUf6gZ| zsW9nQha>M{y@I0U+<52wM>}#=5rB zZgWZJ#rdZWx@VXL4$xS?`=qRBrkfzJa`IPg?U&kNc~o1vW1Ku8mxeAkd7txkOaD=g z4H#0{8?zo9Jz6E|zr|r|;OG9{T#KH6XoqC7&-HZ;zK^d0>6MjpGbacT^f*3AOb>3Q z->USt-xXMW6LK`=JZ1V~#~|nYGR4}f44Srv>v*>E$ks+AD-{K>=oUF-O2kQcE^Vld zt~VJ~7Kw|CL)Xt-#-BMgp(m!+2@)7W|a8;eqf(GE-&%XCX26adT+&Z#3GdnZU%0DlM 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 diff --git a/doc/source/pages/other_predictive_models_files/other_predictive_models_57_0.png b/doc/source/pages/other_predictive_models_files/other_predictive_models_57_0.png new file mode 100644 index 0000000000000000000000000000000000000000..f15e8bc8fae960d1f19290f98b97902de6d26df7 GIT binary patch literal 42041 zcmbTe2Ut|uwl#`vt1Sw&3L;2o1tbXwh)7lu6p$cMvVef(43Z5kC{c-$K|n$gBo!G{ z1SIF21&UAv$(ed{(d{|?&b{~D_y6B#H^r{KSK4#UIp&yS@mfLd4hb*h@UHSF$p)cha*pB$Cy$w>G!3H#gD$!_m;z&cw=+ zm-9O3mCJuTwzs#o6XfEu_}2}bR<_1md^rUeXymx{U3F-gOb`8cC{--Qgor5dgVgPt z%1@%_hMb;|Pi_;IT0U(2*?QsX@mH^2UVQcHX*td1SNamI20dJ+w}0QI6}c9mFD^3s z`T6sUEE2!oKK$wY8p@bvuqcZbmh{@dKg&`--(`lRUR;P2Hm=x5Od z9|82!TAUmvKtwd^Ri+g~bnnQKBhvToDO+2Aq#^ajbfBh2FM8>*aB#?GY7_){-|3qg zVZqJ5`ug>Dfk{VA7tEK4D3xJ-aU}cIt5-aWDeo{0&tJS?ia39nk@0JFU;NFw=CFm5 z2Ce;NnYxyif-SiHs&!ggnrX)ee-(z1m-<-&EOQ!Er%&JF_U@mYVdc;<=R9^ak{|9X z(vk?*WxJ&tTHBD=)KumjvI<9HP-r*WtOJ)4e75bmL{JF&68oG`XS?4?@VihTWOa)C? zKGP?CJWWH&dZo2X9e$7ZnKn8OKM&r<<7r#lq*DxynsNb{JXq)(OfVG^ZI6o8YDyf3 z*hp6&dLroGoqonC)LanBoj4`3(!iS~cLct^A#kqg^tA}*2#wf}T6z_FKd-Xj9(FLs zzt$<6me_i-T_i|>I-QJv_d@oS{42{@`(R85x}tC>E8;IJ`5Gb6J8|7EpWiTBn1*h) zGZpT*Y4O`{ZvtpoHDK2~)kF{9(s=IGOrL&b8NeyWfmCZx;3zl_%Hd|ywistPT5UBdj>K#T2S*il5k3jFA+g_$m zdd8MlmhBwa;384|O@5i)M-zsRO$U`_M+CL4GCgJP=iKjibc=EzV8;i@Db6Psc2^p@ z4(^;EQA6Ea-}dgp;=giAR7=hj@MZVuGZVPg;Smj|$1z=4F^kIg`iZOU>EY%%aaQ|U z@WnRYm>Oo@x<(H@LCDHA@n$Pp1B`~WB0nckB`6N>hR+M zvq1O&9TNNff^i>ic82Ti&xcNAV1kSd)3*Uu@7Vv&WE zN|gV=pTPFQxKPKF$9!;-_v)q5>}#^mS^35kTYP|_=EJlw9DMvLuv{+N;VBk5c2124 zEe)-d=Ogjy+ZhZXz|N!S;K|Zla#H^&2R$z2U0mNifcN`2nkfOp$z5 z_#$$*_L1hCnVAlH!ZEJbqF~Qs)d_W68MSZbJ9$noeX;fxJmkK)}e-g7* z++Va68b8-u@ZK%oom`yE?s|=(pryAEI>%_p#40GNfjOf#Kv%flsv%K(2Y(lL>cC9e zmfAGle*AK_bnM4bbp4@Z+cO4O4|F~3W8>MF7!C$8ak%c&M{nRe6rHaQ zpZlXqdQ2OdTU71c^25GzYq=XC2lVGR9_H`o-O zQQ)setL_Ax5rS_mc1D95$#8Jbq@Z0UR)p0RJ;G6o?bQ!o&`gKxhLgtX7CRm5?C|*d z1?C9)@6fMwgG^rk>Gm_|X4yN}`t-w@FRMYnindA_SaB-ve0zdo%v{e`U08w4@xIzj zEJMT{)SVEEH14Jttj3+Z01b=Uyg+DHqmpj7>ul-54?#3j@Oc;xCVmO%g^4u&e4x29 zw0pYaOeQve@G9KE4lkEuJuuOe1)kh#UstzKcUA|tfOWqRoYYj?xc5lDo({v&6M=!j za|Gy``wqFdVcw4?7OZ@g!!)Un=40KT`G{sXF-8sSXODZTTX^X`$Zn>#UcnuGQjyLA?e^(ku^JtQavdH1yF+h{{+dYYyzp?#Hv2c&;mHw&lWB2R(;v?(_gVBaws)Xp@WUaCqp6y~mJ)c9#|bv>HLRc5Kb>{8ONr`AF{F2} z>K-yRo9lT1Z3PE<2XZ)C*M1f(oGHfk{yy?MY9^LcUUQC*HtT+hWQ@IBuwBMAPb*LK zMUZ;u*^;vPNz*fflEyFN3=5nEg)@73 zcO7V$F~BDz=fs~G*X}6 zd_Go-4)56*;*8TJ9-hEt!h5CeF^<+aip{SUeKPz)x6CX;lc&Z27`^)LnV5{B*ZHu z9m@lQi^{wZP)8ToG|#sJ?jZFRzd3x9c$L)tACdOgonP_w>uU8q9X(xX@z@ER^f-Zz zXf#xfkv?vD9Ky5$vo*wSDrc(5Jc9t-V&vkivV!LFauWaW6)R_Fidq09@p7Y$H0EF2 zs;;KjvN*dwDg6h43E;hhLd_?k`0o!Jj*;+`7F~bhPMlT-svL{GWtf`wn*>PoL zj6B@jk%{7`g74O3A|-_N|?X(`sNh>bn~Z?imrdajeCDB3Aej8crw zDx+D1ys!-WDAgp@)mUj{+T1Mg6E>kfU}uvo3Tk=ic>MF~>Y%->e^h#Qq5J&LCVnEY zq04$_PSGU1(=^bEIcgdl7ng4&+r|UE4E|D0W4@j|-$61m6t6I%kXdB$5~0E$t0A04 zpZ*i_^4fho4tDe-t19AZ*@e2M&`YvB;dlIl+}yOH$e=a0mv9Ffb7xUnB_pCF)-;ePu=#5gtdm;*Suc0~IW2a9ETP>C;^QLke)^X^G!IrrmL=$ls%4(pZ3o z6piNl6m#`g@_$=`ZolZzk0BD`HIgo$0o5Ww+Rmf$@+PA<)Qq9=r)=+|n4m?-U0~23 zw5^3;d5#QSJ|9#jY_j~wZtK}GMl0O8Um*uOMp|{{q#E-fRz5zJgoFfXDXIH+@4kYS z6c2iP;mDDQhM5_~hw%q!`SIvqn-4YoKj(7)P8!fGpPolPMpmt-WJavGsw@buPzLL~P|CNqs}zDr|S2-?HTV_33T@!V| z&~Mt{pw`|9VK1&?3l|mX=8Tp}fvr%C*Qt&v{PEWEsBqzrAG$O1hsY8Ok!j$jZog+p2smjB)12Sk?CKN(&~R z^i#5}UGiIoCQYiLSMWj=Hi{g$H-?->)EgM?1YG8;sj3pM@+J#sjJa-ei<_HUMWYtR zoH1#ZRs5l`=-J_8^(`&(L08SXGuSc@(!KQhOy6P(cGbHF7A6&@wEqtYGr#(1NBC7jojTmP2e(K7M{7;o)i# zHrgfjtV{3e**xYorKP1KYyd+gn&5Ca)2Zed6%DkziIiUsoVDxg>x1uu7$t7s4mm%N zdY=JoQ920d1Ks2`avdvXsmk4DnFt#&3S}3UlC_Nr_nq{Ab;^PBk>^#2c*}6YxA^-J zHA5}CCcbX<%EDon2DU$Z*;!axH!)HRFr5K3tFsaNLQiKf}2FK-!`R;UYnCMG8C2JP#aF&b@@~WMvY6``ty8eT+}-&+_ubrgmudwGyDO8{*E4n^ z`OH2njn|rip|Ob)ToNVy+1#4ny!m~A#QHcF*G!mZqo%;&<6t)NmNo-cmL47+rh`Q} z0klFN4j&^8IUf}rZBAj=C9*R)HkRPIzY@1SB}Pcg&%a75>h|E!p+lx^?_UZFH%30G z4WLzZ>&eo_6#QibCksV*nJFml2{|oXcG4-d7{IDGRNqO-$Qm7eC?P4Cu7Xijy)b1j z2t3gxsdg&k=!8qMkKfceK;2q=|1fOCvK7_KXN%P!E zn`=!FchEfz;~`S^86bVC__#euYPKgkE;l#Velk=Imf8l!^9Fvs3cgDgd}2^%v7NDm zgoKJ2E$mg7xtv=20gFPDPfrh-4q!8L^YYee={+AWPtarRwz!O=nVi(F|}dCNK)71-t7s)B?6iqTn#4 zWgi}}U@7(Uz5-Iz!cRW#Z;q46MqZUVLCM((E@EPQJn`GNyF<1O9B4@7zyGcotjZf%iE5^XNo)K~)b{r3jM9tj-_ZQ)r>^+4*pq~Vr$oM4QBm>T z4VnUW2619yp74&2h@yX?r%$uK`k>@ETrMK<5r|J%Sr4l} zSBKathj2}KS=1~M357B4sTZf1?)D6`-Bvn=k&6@owS}iv7B|GhgBkY5>2bC$f{509 z8U-m6dgi~foBtURf6}90&rRGApBiTT2c|aoJ6e+FnUHJdSHfLa-w2Cn|Bav!--BmIJEGqx{HIIUNjLU0uZE8(dak-Tn0- zF8%M!_)pvUYf+q~0)-X-T9i-x{9vJ1NX)8td4x-sj&&9fQ3AfpfDv97#+{%2oTv|JXcRTT&w)`2W~E{~9>5PzYzkr%S&8SOUvKnl2D6R`J=DrZeryC4~JQCaHl!s~(3Q?UeldeA7&W$@)-gZv8(YkW7FJ ze#>xYwsf(g1A;%`y2~VV!ViM%cQF;w^_tOz_>A#3xR4!1y7`YA3J#>Fv!fAfWDlo?jIrMjAIOD=T~- z%(yn)CXVj`dtT{iI?WmUGYvAjkM>Kr$(5nYl{*VUX3i7e-X_;PdGh4(=8v(UBmnd* zmo9y%$JaGAg)%x!wN_F%K8ycnRgV^__1!wA4L-MA&zu!iK^l}{Qv z#kPi_J$ASVV?d)|AV&A#%{g>uT{*xya>oj}{sDN^`Z{n9@S46Fq<>HFrVC=E6>`kz z%!&?LZI|H+eT7E&wBvIoGf4};&gMV=iFMf+7{qrr7PFU27RontQ0}6XBG&~gl)i@V z!EfWU)f&P$3amy%WuvY&%`OXg>^{-<*qT()L5&hAhiOvURi{w>#zylgf#zkkmWzu^ zXwT%#Od40k=B*dU$htAv73uP#TesufmS1xip&-p~sg+Dz934$FIWh6TGn`NCU`8P| znWgGR#>ScrqN1V{H9One(u&2w9^uCDej)`O()S_pP+Zgn*e|-bs>H;|sJy9l=F&X{ z2<#4K9Uo*1Y=4o9@b;34|pImAj8L6ztYgD)u zZ?Df|wpOMv4*2fKYZj5Dw1P>Hrp=F3>Js)AJt=GnMaAU z?^%v~mo?LZ$8BFq#4cXE6)3#?3X+?6opKjeZtnXVgLZ-4nVM=iyY2054P#;y!{XBi z_ZzifV=ze_Bc);Cza}8i$A(MqPhJ8fmR}+#3RnqyE2{|bx+Zb~j3#^AYum6Je&$1$ zAs=E)gDf;C2~uD-F|o?Vq60i^9OIxG+I`=R?FF5POUQXmx2)3dcza5@6s4S;oNajB z6z9*gr*zEBhFF&vKDsL#6j|rK@9UzVtq4b9}Z0T7C?>h^Yi~iIEX~ zBDY7Qqa9!WpHOsWRuH5h2zAfz_x3&j<^=xvpW}Z2b)2hoj_1g)zupZJ-ThI;lXB@n z{^Pf}<`{M<)1i`rX2`5(D>5`D?FIQvJE44g|9iz3EOYFW=bYgOU4CD$j%GxNb$@>! z655_nHJ!BMXD&Tno9*&>{krW1nP{qUth405;Puv4)t4_<9p@fM;cib-YTLi9@jsvP z?%g>^`=rG7R)guBCr)X5?ya%0u)Ja1gQVxJcT{6vf!o%y?Xfr9Cl9vij|@iW`)U8U z4y8kA!v6>O?*G7>>N6GVDpwmw-;*R291JL~hIZ{8@(I@m#`bL!No{ygJAVG$8CKK{<<8JA~*WEv+88yG!3|AF24 zjd2R@v9Ym{S4|YtHsI|_wF@nliC<9D-P(~c>xtwi7J&H`-sCBw-Iq0zsor%0kttXEF5idOtxX+K~CLB;^3@8Bri(OGh6hDaF^l1#bEaT1){{n7PXR-2Pm` zw#;jTn%U{n#Xh?5)wVm*G`ye${F1Q#9DIH8vt!{J^njh-0qNEy&4E8q2jajFb| zexa&a6Uk>ZN2%MZPgc2Jg05P+m34&`m;{rGZV>Eq8LTQ3(fso4jPK8dap16oMNf;I zJA@rwJ26(8+Y*Y+0kk-*=MJr=dHY0Q)83so)v8GgjFS9q5D0*F5Ep?zQU^Wx3JHJm(l;&&qCqUR1xpFhj?}a>qosU!P3=-9yWr!^c%MaocNX@oGi)8qc~; zH1RiCRJsOsg{@7+q03VA?vH#$wiinOs`8-KoEZ=N?+S`w{`bwVR%M9oE7X@c*NZ8x z-hAUZ@k$Zbq~v0rF>f=|pvGc2EIdhjFTX#!HYkM0Dz-iBazV9GhK6Cy!iX-p>qQBe zFDsu*4#zdSdFtfGsFcBS5D`50vtM!ceDEl6=%Wt0!FVd`eNS+xq3GhqibalkB_S)s zdBvRm%8}w?=?H##xTQ}&kKgK=fiLZ&lT{z}{oUZjVKdQp>YlqMuB7bOm}^ZN`f`*| zYj)$3n&z|5kD#xQRDU@BZK!;}ZP)=nmm{{H3Jp)(lg;a2UY}P&lX|ch#c|DINuL)= z`cDV{{5AQqR_gAj8)@1?bz^TBlL@E?_0?o~djt&Z5K!@cLa$W{?I zF-cLqzZPCB;z=07R&*{-MdehB_S!iv@EGuC6xQy4{5B}h)1HZi6>f4jZK8IalW)Ue z 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 literal 0 HcmV?d00001 diff --git a/doc/source/pages/other_predictive_models_files/other_predictive_models_72_0.png b/doc/source/pages/other_predictive_models_files/other_predictive_models_72_0.png deleted file mode 100644 index e391a4fcd5638d8f7f42deb5cd04b12adcb9d453..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27737 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

    6gDfY{&?vzCV9RTIQ3X{jBEepqo| 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 F{sWGK?oI#z literal 26035 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

    rTU3^DY=P7`o(GGn~NCzS@@(g zd^2P+m@{NEbTZ`pCSPD(hc491wgO$qg?$aW(0}%2=t5gKFoZHWSD~v?;=-`;KG#Nc zRr9&`O`gaTE}Oyc*Tb2fnwMIXSdw2f1;|NBEJ-acNz5&n;x}25*Gt5kv4^)fHMu0O iG&jB?Ex#ytiZ|otT3!W4#*oeP_`WeQ0l8BJGnfETCSF?r diff --git a/doc/build/doctrees/pages/apply_normative_models.doctree b/doc/build/doctrees/pages/apply_normative_models.doctree index 4a24e45cbf77eab1dbabeb9b3688647acd0ae4fd..a1c3942eb79b910bde91b4d9efb967d5df32580f 100644 GIT binary patch delta 6094 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 O>EILAa9$DE3jPZOWAohr delta 15391 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 O@BK?4({H)aElH$#^j9g|W zJt8GViFw62i6xo&dGQ5B`RPTe#l=%uQWHlA}zltcZxUT<`otSjEo7JPg;IsVghmx*kmvP E08yeOOaK4? diff --git a/doc/build/doctrees/pages/glossary.doctree b/doc/build/doctrees/pages/glossary.doctree index 6151007c555a1d92a0f92bcb2138ee268e316027..6cea70a6043cea330ed7796b09fe0da80766813f 100644 GIT binary patch delta 204 zcmezDdeDuvfpw~x@BK?4({H)aElH$#YjM`Er zJt8GViFw62i6xo&dGQ5B`RPTe#l=%OD#$)$uF7$NQ)T7FUPl#b02G75~0hc;Kreq& zln$58;P>m{Oi#^AElMoOFPZ}6q$HN47MCRE7EJM*94O-=;?3B@Tb!C)l2@7=Uy+ty dlsmsE7!{zzHLQC>e4qwHHJnRVu+{)aCyA>^F#AC@>#@=J0um09MN1WxoXh(d~s$xnM^G;p|yzYv%Xlp9jlqC*69PN1{+=w;zU1Vunbw`~}Snq6xbNZ`m z-cUx8qvC;HPul;O!yO=>?7%mGPmqc3o%lM6aG@54=TIoL3N+Y)4Gu~Za}|%Ka7}m z!?NKt{A4<+rPxc>?o_2{fpxR{>7kgAS&p*wBFDHe4z4 z2Pfc~`7neG4mf1mM&q#1Is_JDGvnqRsQ`T1HlTGCo%>KjLv?IO4;$tVt6E>g`Ca zk`GMv4>DddIaw73ogdQ_L2F_=0r@GiP_va69G_$uXoV9MiZygiNB(dDA5~lN?YlPukyQ#J=lkjG{ z0J^SeW`9|8wL^igx+e4oh{c8Bvo?=*7}VgvcO8a(ttR^e$`XINd`*x4w-?0x_l8`n z(~Y z^$Ej{LjaR&nt4)7D2%_yaHw^V-dg=4F@9IwDb(XF{qZgTps`~S; zm(eg>YI1?GZ!dP})Sc+Hw(E-Rr^S_kwZ1R$kPe<=pTI%Yt%dB88l!HG6j}I@ouTV{ z`p5N2VzKKA>HZ@K&#AlVpHWRBVN~S&JcK-bZK5E^1n1((?aw4e+9XjdM zN{0v?j*vmgnKIE8PCk+4)L>JT+ftb=)qhL%-BS2|l8P$GH>+yAuP8;Yu_{GMMD<$Y zB!f(0W_SnTJH`5c5H#XHbZ}tI4+(Fd{deL=ej7geG;7DPOIb?Y2G$>fAG{H4Z&Z(s zV5k$O$HuU=5&VIkdx5qxI5--?!3r3t1NN$5VEh7}uRwEkAh)*L1)Quv@hZqs%&qoi z50<067>M9A6?UUOJ6UFFXvId`JumN# l;9n~2&H8M(%%Xh}+{BdH02>+7Jpru`Z1*nmBHZ3L{}*x6HH82G delta 1922 zcmai!ZETZO6o7Z$`o6HWV=Jxg=-ahrHv6t^M^~qn(F}sr0-{DYG=p|q$L*W-BkdX) z5jKX2&J~rM`hyRNhQvrh2un3VgF%yph{k_Jk{LfRC<)3B{umN9@!q#v?bqy|oA%uE zJolX2b9>>?wKzY+zw7B+;C&!IWhb#n$R1CGMkm72P|6;RjzxkAdvg4htOWOAok+aI zNED=*bQ9BVloX4lA&1(S-TM%5N|BsgNyYbD%y>zy!V|(xT&g{W4QpSf``?u9cQz^U z!dh{=X*3oc3tGa_8(*l29NSo=n~R)t?{RHbSg{-*gHHS4{+ zJug;0d=woTx8S0YE5+JRD`<`6Grxkh)6WbA3G|v=xK$U!b6PL&&g(^e3hv8wduZ%l z@d0-W`24(dHmQOoVoz#>9P2omIh<)He7d=KP;65b=j8vh@FU&R{O08<5#Q0fg#r4_ z#1;KqBKO}IH1`7bTXQX>_0djOGGk$$V%-NfPLBdjz2lh4>;TX$Mj?LFv-Q19y)@O zoh`R%kCEJKCr(%OF zt7sd{S3e$$O-8f#Y*&C=RN#Wk!F{QqGiOJY!`yV02}EKm`0G)pMx-zBE%$lu=Un;^ zEZxB^DezXGp%S5ACVcp3z6I=tj^f(Ad>r2QW4=6g?uh`r eCu66oV|!%mtmiyjmXS{i5Pjtv9Ks);-2E@|6GWo` diff --git a/doc/build/doctrees/pages/modindex.doctree b/doc/build/doctrees/pages/modindex.doctree index 6a4a8aad1d5374cbfded61f0f5aede93b36a7765..10b1aecddfece0dfdf35938e845bfb3f96e22090 100644 GIT binary patch literal 410015 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 _pl-6O^fbNkO`SgofFyBuR6Miv1o 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 diff --git a/doc/build/doctrees/pages/normative_modelling_walkthrough.doctree b/doc/build/doctrees/pages/normative_modelling_walkthrough.doctree index b2e8da1b9405bb8a6900639cd10345d63657504b..81b6237822f3f04efbf0fea3b14c3078d8162ee5 100644 GIT binary patch literal 161333 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 r6MUcGwt>eZ`P?|skdANjfa?!AZp4d3DR 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 diff --git a/doc/build/doctrees/pages/pcntoolkit_background.doctree b/doc/build/doctrees/pages/pcntoolkit_background.doctree index 26cc2d52ab050e5f51fdf32477aa2b6ee7a98741..004776a986682a9c4692589911b01be4737a4aa4 100644 GIT binary patch delta 6019 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 delta 5910 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 diff --git a/doc/build/doctrees/pages/post_hoc_analysis.doctree b/doc/build/doctrees/pages/post_hoc_analysis.doctree index 5ee952c3fc4f2168321bae24931da6e45b7261ff..bd824185adc1c8d344f424e4ac0129b64d7348fc 100644 GIT binary patch delta 1095 zcmZXTOH30%7{~h!ZPkJzih+b8MPq^mEa0muDxyY#U_2;Ql+*$%+ZDRF55xp)^+e4E z3A37T(dfY_A_UhE6TJB1W|WKgxL{(4C?+&f!DpPAMKJO5rSseW_y5m)o#}dy#>SB~ zV!QaJ-`WAra?e4TlVp#q1cgv7S1odqXTKy0T#X_deW2Rn)A<~Jd09N4#!DD%=|VamwL zaVk=Oq`&!C?S+U+na{jql)EW#(74%rEpF8usPN|Gy%jF?TlJaMio zPA-B1*7bA_4#+ED7l9dgT23ON4&@dZ+JG{Is^ZuLD{-It08S7|6;$G9P4}Rcdf?Gh zHnJW&)dUxq=R4|IX$&?`Ah=3NXA2eBTYiJV1TiMSHLVeN!oU|36rZ^SBMf{q!NzbY zj8l;GivfBVa$nSHA=CI6ew+nA$jAQmCHJG2DF^)@jL#6bQ-n0VODg{Ed=WCvmc@x9VA%O%atqy&ayo3TXLEZnF@hC6_MUw0N0>79W|3aDbLPy38d- z)fR*T4V-eikz<<|sB4rtMwwfbIYpUElsQCMcXX%9XOh#h9q033k>FW~K V(=adH3d;`DUo@Ni?~m?Oz#memZdm{T delta 933 zcmZXTUr5tY6vub2+l*368YKB=D<3ld@GEJfGIKL9bx8@~&!Q;*Os>D&T-$zg)zm={ zO{~PLK@|BGsQG989tx_5EP4ofiRz(;h>BHYguy}|vhKMvC3-ph&gXu==iGC+zxWq& z?K9Cw48s{Q{QzVikZ7mdC3$_WmX3ChOO={Dt?nkDX){rN!*G-lEl| z2J^F2T0~Wvtvmpoj^@x5Jf(Tg>zcVJ2gp1yi+vj;G*7W59gKsHM#BgfC)n(+hq?Jg zr}O{yC;s)nxKq{+u#=hX+ri3i>}iH7G{5F%D{HDWF>m=TXhig88C~4l2MVHh0(mPY zp;r_LvwHg^TpDy7gRn54b_~J@D!*|hqE?7uI=7Ur*KGTy2s}oXSYjq7SH~|8Fe5-B31)h(!b<@b zlHhJ{EyNLI{t^JE;m<*BR`Rq{ktYQ(&kz5bR8Q~%EHv6cR_Sq##+f838MBd%dIpX> zK4TiYGKSY09=i`#t$zFnu(!8mRxx2_-id0H6Z+Hru9kpDb)N{eb^6>xPSBoBSO8kJ zuaiFsaRPfEo2@L@>vYO)45j?#DH4Vs{MjkrF%)9D1%p*cFdXJnDD@ahFfC;3G*btb ziHZ_YVUG%HRM?`z5*6~ON;h>66^M>BO|+wzlfCd~N%q2LuashOE4CKB!uVB)Ox6ap G2KWR0i!%xU diff --git a/doc/build/doctrees/pages/visualizations.doctree b/doc/build/doctrees/pages/visualizations.doctree index fcbac270870277c7ae86289eef0e9e3895162900..6181093c6b2aa9854357b7eb3ca11f8d1bd19d70 100644 GIT binary patch delta 5573 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 MSid}O>5e1+1F0*3(EtDd literal 18179 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ẘrL8NAka>tCuNt$O^=t8$ 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 Dn^v(g diff --git a/doc/build/html/_images/other_predictive_models_56_0.png b/doc/build/html/_images/other_predictive_models_56_0.png index 86713369c994ceea449107fb86bf9ac02fb9eb9f..fabb2f3ba10b8d670c683d2056aef963f1644b5e 100644 GIT binary patch literal 47682 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 diff --git a/doc/build/html/_images/other_predictive_models_73_0.png b/doc/build/html/_images/other_predictive_models_73_0.png index 0ce9b332a6ce90f69fde3227299a3d596bff8cec..f18578d977f246f42539b2b3a002d5ad64527295 100644 GIT binary patch literal 51001 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

    6gDfY{&?vzCV9RTIQ3X{jBEepqo| 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 F{sWGK?oI#z literal 26035 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 - + bayesreg — Predictive Clinical Neuroscience Toolkit 0.20 documentation - - - + + + - - - - - - - - - + + + + + @@ -62,13 +58,24 @@

    Tutorials

    Other Useful Stuff

      @@ -111,7 +118,9 @@

      Source code for bayesreg

       from scipy.linalg import LinAlgError
       
       
      -
      [docs]class BLR: +
      +[docs] +class BLR: """Bayesian linear regression Estimation and prediction of Bayesian linear regression models @@ -253,7 +262,9 @@

      Source code for bayesreg

       
               return beta, alpha, gamma
       
      -
      [docs] def post(self, hyp, X, y, Xv=None): +
      +[docs] + def post(self, hyp, X, y, Xv=None): """ Generic function to compute posterior distribution. This function will save the posterior mean and precision matrix as @@ -306,7 +317,10 @@

      Source code for bayesreg

               self.D = D
               self.hyp = hyp
      -
      [docs] def loglik(self, hyp, X, y, Xv=None): + +
      +[docs] + def loglik(self, hyp, X, y, Xv=None): """ Function to compute compute log (marginal) likelihood """ # hyperparameters (alpha not needed) @@ -363,7 +377,10 @@

      Source code for bayesreg

               self.nlZ = nlZ
               return nlZ
      -
      [docs] def penalized_loglik(self, hyp, X, y, Xv=None, l=0.1, norm='L1'): + +
      +[docs] + def penalized_loglik(self, hyp, X, y, Xv=None, l=0.1, norm='L1'): """ Function to compute the penalized log (marginal) likelihood :param hyp: hyperparameter vector @@ -382,7 +399,10 @@

      Source code for bayesreg

                   print("Requested penalty not recognized, choose between 'L1' or 'L2'.")
               return L
      -
      [docs] def dloglik(self, hyp, X, y, Xv=None): + +
      +[docs] + def dloglik(self, hyp, X, y, Xv=None): """ Function to compute derivatives """ # hyperparameters @@ -484,8 +504,11 @@

      Source code for bayesreg

               self.dnlZ = dnlZ
               return dnlZ
      + # model estimation (optimization) -
      [docs] def estimate(self, hyp0, X, y, **kwargs): +
      +[docs] + def estimate(self, hyp0, X, y, **kwargs): """ Function to estimate the model :param hyp: hyperparameter vector @@ -542,7 +565,10 @@

      Source code for bayesreg

       
               return self.hyp
      -
      [docs] def predict(self, hyp, X, y, Xs, + +
      +[docs] + def predict(self, hyp, X, y, Xs, var_groups_test=None, var_covariates_test=None, **kwargs): """ Function to make predictions from the model @@ -595,7 +621,10 @@

      Source code for bayesreg

       
               return ys, s2
      -
      [docs] def predict_and_adjust(self, hyp, X, y, Xs=None, + +
      +[docs] + def predict_and_adjust(self, hyp, X, y, Xs=None, ys=None, var_groups_test=None, var_groups_adapt=None, **kwargs): @@ -687,7 +716,9 @@

      Source code for bayesreg

                           ys = ys - residuals_mu
                       s2_out = None
       
      -        return ys_out, s2_out
      + return ys_out, s2_out
      +
      +
      diff --git a/doc/build/html/_modules/fileio.html b/doc/build/html/_modules/fileio.html index 54095935..99728826 100644 --- a/doc/build/html/_modules/fileio.html +++ b/doc/build/html/_modules/fileio.html @@ -1,28 +1,24 @@ + + - + fileio — Predictive Clinical Neuroscience Toolkit 0.20 documentation - - - + + + - - - - - - - - - + + + + + @@ -62,13 +58,24 @@

    Tutorials

    Other Useful Stuff

      @@ -138,7 +145,9 @@

      Source code for fileio

       # ------------------------
       
       
      -
      [docs]def predictive_interval(s2_forward, +
      +[docs] +def predictive_interval(s2_forward, cov_forward, multiplicator): """ @@ -153,7 +162,10 @@

      Source code for fileio

           return PI
      -
      [docs]def create_mask(data_array, mask, verbose=False): + +
      +[docs] +def create_mask(data_array, mask, verbose=False): """ Create a mask from a data array or a nifti file @@ -189,7 +201,10 @@

      Source code for fileio

           return maskvol
      -
      [docs]def vol2vec(dat, mask, verbose=False): + +
      +[docs] +def vol2vec(dat, mask, verbose=False): """ Vectorise a 3d image @@ -224,7 +239,10 @@

      Source code for fileio

           return dat
      -
      [docs]def file_type(filename): + +
      +[docs] +def file_type(filename): """ Determine the file type of a file @@ -250,7 +268,10 @@

      Source code for fileio

           return ftype
      -
      [docs]def file_extension(filename): + +
      +[docs] +def file_extension(filename): """ Determine the file extension of a file (e.g. .nii.gz) @@ -282,7 +303,10 @@

      Source code for fileio

           return ext
      -
      [docs]def file_stem(filename): + +
      +[docs] +def file_stem(filename): """ Determine the file stem of a file (e.g. /path/to/file.nii.gz -> file) @@ -297,12 +321,15 @@

      Source code for fileio

       
           return stm
      + # -------------- # nifti routines # -------------- -
      [docs]def load_nifti(datafile, mask=None, vol=False, verbose=False): +
      +[docs] +def load_nifti(datafile, mask=None, vol=False, verbose=False): """ Load a nifti file into a numpy array @@ -330,7 +357,10 @@

      Source code for fileio

           return dat
      -
      [docs]def save_nifti(data, filename, examplenii, mask, dtype=None): + +
      +[docs] +def save_nifti(data, filename, examplenii, mask, dtype=None): ''' Write output to nifti @@ -372,12 +402,15 @@

      Source code for fileio

       
           nib.save(array_img, filename)
      + # -------------- # cifti routines # -------------- -
      [docs]def load_cifti(filename, vol=False, mask=None, rmtmp=True): +
      +[docs] +def load_cifti(filename, vol=False, mask=None, rmtmp=True): """ Load a cifti file into a numpy array @@ -439,7 +472,10 @@

      Source code for fileio

           return out
      -
      [docs]def save_cifti(data, filename, example, mask=None, vol=True, volatlas=None): + +
      +[docs] +def save_cifti(data, filename, example, mask=None, vol=True, volatlas=None): """ Save a cifti file from a numpy array @@ -535,12 +571,15 @@

      Source code for fileio

           for f in tmpfiles:
               os.remove(f)
      + # -------------- # ascii routines # -------------- -
      [docs]def load_pd(filename): +
      +[docs] +def load_pd(filename): """ Load a csv file into a pandas dataframe @@ -558,7 +597,10 @@

      Source code for fileio

           return x
      -
      [docs]def save_pd(data, filename): + +
      +[docs] +def save_pd(data, filename): """ Save a pandas dataframe to a csv file @@ -577,7 +619,10 @@

      Source code for fileio

                       na_rep='NaN')
      -
      [docs]def load_ascii(filename): + +
      +[docs] +def load_ascii(filename): """ Load an ascii file into a numpy array @@ -593,7 +638,10 @@

      Source code for fileio

           return x
      -
      [docs]def save_ascii(data, filename): + +
      +[docs] +def save_ascii(data, filename): """ Save a numpy array to an ascii file @@ -607,12 +655,15 @@

      Source code for fileio

           # based on pandas
           np.savetxt(filename, data)
      + # ---------------- # generic routines # ---------------- -
      [docs]def save(data, filename, example=None, mask=None, text=False, dtype=None): +
      +[docs] +def save(data, filename, example=None, mask=None, text=False, dtype=None): """ Save a numpy array to a file @@ -639,7 +690,10 @@

      Source code for fileio

               data.to_pickle(filename, protocol=PICKLE_PROTOCOL)
      -
      [docs]def load(filename, mask=None, text=False, vol=True): + +
      +[docs] +def load(filename, mask=None, text=False, vol=True): """ Load a numpy array from a file @@ -664,12 +718,15 @@

      Source code for fileio

               x = x.to_numpy()
           return x
      + # ------------------- # sorting routines for batched in normative parallel # ------------------- -
      [docs]def tryint(s): +
      +[docs] +def tryint(s): """ Try to convert a string to an integer @@ -686,7 +743,10 @@

      Source code for fileio

               return s
      -
      [docs]def alphanum_key(s): + +
      +[docs] +def alphanum_key(s): """ Turn a string into a list of numbers @@ -699,7 +759,10 @@

      Source code for fileio

           return [tryint(c) for c in re.split('([0-9]+)', s)]
      -
      [docs]def sort_nicely(l): + +
      +[docs] +def sort_nicely(l): """ Sort a list of strings in a natural way @@ -711,6 +774,7 @@

      Source code for fileio

           """
       
           return sorted(l, key=alphanum_key)
      +

    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 J{dQ-}KLFO({FeX# literal 0 HcmV?d00001 From 91767a3931be985b0cb11bb28a735515c2f3172a Mon Sep 17 00:00:00 2001 From: Stijn Date: Tue, 19 Nov 2024 15:35:49 +0100 Subject: [PATCH 67/68] Update docs --- doc/build/doctrees/environment.pickle | Bin 285780 -> 343429 bytes doc/build/doctrees/index.doctree | Bin 4031 -> 4109 bytes .../pages/BLR_normativemodel_protocol.doctree | Bin 91997 -> 154464 bytes doc/build/doctrees/pages/FAQs.doctree | Bin 4535 -> 4615 bytes ...R_NormativeModel_FCONdata_Tutorial.doctree | Bin 38767 -> 179379 bytes .../doctrees/pages/acknowledgements.doctree | Bin 5030 -> 5117 bytes .../pages/apply_normative_models.doctree | Bin 72552 -> 60279 bytes doc/build/doctrees/pages/citing.doctree | Bin 16090 -> 16168 bytes doc/build/doctrees/pages/glossary.doctree | Bin 8947 -> 9025 bytes doc/build/doctrees/pages/installation.doctree | Bin 14406 -> 15660 bytes doc/build/doctrees/pages/modindex.doctree | Bin 394153 -> 410015 bytes .../normative_modelling_walkthrough.doctree | Bin 113777 -> 161333 bytes .../pages/other_predictive_models.doctree | Bin 93205 -> 112567 bytes .../pages/pcntoolkit_background.doctree | Bin 41905 -> 42095 bytes .../doctrees/pages/post_hoc_analysis.doctree | Bin 46105 -> 46310 bytes .../doctrees/pages/visualizations.doctree | Bin 19938834 -> 19938996 bytes doc/build/html/.buildinfo | 4 +- .../_images/other_predictive_models_17_1.png | Bin 18179 -> 35783 bytes .../_images/other_predictive_models_56_0.png | Bin 24851 -> 47682 bytes .../_images/other_predictive_models_73_0.png | Bin 26035 -> 51001 bytes doc/build/html/_modules/bayesreg.html | 87 +- doc/build/html/_modules/fileio.html | 140 +- doc/build/html/_modules/gp.html | 167 +- doc/build/html/_modules/index.html | 47 +- doc/build/html/_modules/normative.html | 262 ++- .../html/_modules/normative_parallel.html | 370 ++-- doc/build/html/_modules/rfa.html | 82 +- doc/build/html/_modules/trendsurf.html | 75 +- .../pages/BLR_normativemodel_protocol.rst.txt | 1531 +++++++++++-- doc/build/html/_sources/pages/FAQs.rst.txt | 2 +- ...R_NormativeModel_FCONdata_Tutorial.rst.txt | 1885 ++++++++++++++++- .../pages/apply_normative_models.rst.txt | 369 ++-- .../html/_sources/pages/installation.rst.txt | 15 +- .../normative_modelling_walkthrough.rst.txt | 654 ++++-- .../pages/other_predictive_models.rst.txt | 415 ++-- .../_sphinx_javascript_frameworks_compat.js | 17 +- doc/build/html/_static/basic.css | 68 +- doc/build/html/_static/css/badge_only.css | 2 +- doc/build/html/_static/css/theme.css | 2 +- doc/build/html/_static/doctools.js | 137 +- .../html/_static/documentation_options.js | 5 +- doc/build/html/_static/graphviz.css | 7 - doc/build/html/_static/language_data.js | 9 +- doc/build/html/_static/pygments.css | 1 + doc/build/html/_static/searchtools.js | 267 ++- doc/build/html/_static/sphinx_highlight.js | 16 +- doc/build/html/genindex.html | 49 +- doc/build/html/index.html | 71 +- doc/build/html/objects.inv | Bin 3947 -> 4330 bytes .../pages/BLR_normativemodel_protocol.html | 1513 +++++++++++-- doc/build/html/pages/FAQs.html | 54 +- .../HBR_NormativeModel_FCONdata_Tutorial.html | 1816 +++++++++++++++- doc/build/html/pages/acknowledgements.html | 48 +- .../html/pages/apply_normative_models.html | 233 +- doc/build/html/pages/citing.html | 48 +- doc/build/html/pages/glossary.html | 50 +- doc/build/html/pages/installation.html | 67 +- doc/build/html/pages/modindex.html | 390 ++-- .../normative_modelling_walkthrough.html | 631 ++++-- .../html/pages/other_predictive_models.html | 386 ++-- .../html/pages/pcntoolkit_background.html | 72 +- doc/build/html/pages/post_hoc_analysis.html | 67 +- doc/build/html/pages/visualizations.html | 68 +- doc/build/html/py-modindex.html | 47 +- doc/build/html/search.html | 47 +- doc/build/html/searchindex.js | 2 +- doc/source/conf.py | 1 - .../pages/BLR_normativemodel_protocol.rst | 4 - ...HBR_NormativeModel_FCONdata_Tutorial.ipynb | 628 ++++++ .../HBR_NormativeModel_FCONdata_Tutorial.rst | 2 - doc/source/pages/apply_normative_models.ipynb | 793 +++++++ doc/source/pages/apply_normative_models.rst | 369 ++-- .../pages/apply_normative_models_ct.rst | 624 ------ .../apply_normative_models_29_1.png | Bin 32916 -> 0 bytes .../apply_normative_models_29_3.png | Bin 31992 -> 0 bytes .../apply_normative_models_29_5.png | Bin 31880 -> 0 bytes .../apply_normative_models_ct_27_1.png | Bin .../apply_normative_models_ct_27_3.png | Bin .../apply_normative_models_ct_27_5.png | Bin .../normative_modelling_walkthrough.ipynb | 648 ++++++ .../pages/normative_modelling_walkthrough.rst | 348 --- poetry.lock | 35 +- pyproject.toml | 2 + 83 files changed, 11867 insertions(+), 3882 deletions(-) create mode 100644 doc/source/pages/HBR_NormativeModel_FCONdata_Tutorial.ipynb create mode 100644 doc/source/pages/apply_normative_models.ipynb delete mode 100644 doc/source/pages/apply_normative_models_ct.rst delete mode 100644 doc/source/pages/apply_normative_models_files/apply_normative_models_29_1.png delete mode 100644 doc/source/pages/apply_normative_models_files/apply_normative_models_29_3.png delete mode 100644 doc/source/pages/apply_normative_models_files/apply_normative_models_29_5.png rename doc/source/pages/{apply_normative_models_ct_files => apply_normative_models_files}/apply_normative_models_ct_27_1.png (100%) rename doc/source/pages/{apply_normative_models_ct_files => apply_normative_models_files}/apply_normative_models_ct_27_3.png (100%) rename doc/source/pages/{apply_normative_models_ct_files => apply_normative_models_files}/apply_normative_models_ct_27_5.png (100%) create mode 100644 doc/source/pages/normative_modelling_walkthrough.ipynb diff --git a/doc/build/doctrees/environment.pickle b/doc/build/doctrees/environment.pickle index ed234a5f140bfd90c5f1fa77710be7a6babfde7c..36dff56fe43cbfd5ee630d3adbc87e6c122c8b50 100644 GIT binary patch literal 343429 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%0A#i{YZKpV*>^ev!wP>>Z2;v;Xepav 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 delta 64278 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 JI@#U){{T^6$M*mL diff --git a/doc/build/doctrees/index.doctree b/doc/build/doctrees/index.doctree index 6b3b646b4e6f25ee66dca996c9d4b2893e73e18a..de33cbad63e47ad3683c2a1e37bd53286925fd6a 100644 GIT binary patch delta 205 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 diff --git a/doc/build/doctrees/pages/FAQs.doctree b/doc/build/doctrees/pages/FAQs.doctree index 28e269f6f31e9255d9ee445ec4ee84af295184b4..c71de8ed54a357fbde75e0e912564eeae2b2fb3c 100644 GIT binary patch delta 207 zcmdn4+^)jXz&iEMMwT>283+B);?$yI{o<0$th|)er2Nz({eYtUtkmR^;?1p$!HkUa zCf75IG8RmJ$20+n-MLwoC5+9aN2H`EF|Rl$u_QA;FTS8CKfNfmxOhtK6pbF%lKhgy zoGIQ6JzOv~sVP8i>EvRraIPM<{L+$w(vm5DlTUHU3l!z&mjJb=re#)4>0#8LGWj`| rmrzF!Z!ypvd8N7W6>0fJxl=keyK*ZqG9KKV#`Bqpv14;Ie+&}<963!Y delta 124 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%0A2uF0P8u)vTgI=>|Jaaf9=`sEs3CO5 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 RvMuPu<3n~xiVX5!|NpPFQw;zB literal 38767 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

  2. _g43FP3r6xXzVCdQ<=+Is$-*GlObab-&Y}6q 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 JeboQ@{{T_j64d|z diff --git a/doc/source/pages/other_predictive_models_files/other_predictive_models_51_1.png b/doc/source/pages/other_predictive_models_files/other_predictive_models_51_1.png new file mode 100644 index 0000000000000000000000000000000000000000..b07fe78a9e9a94124f770fb05e2389b19dc4adef GIT binary patch literal 117982 zcmb5Wby!yI_BD!$U7&&zqEdpQgfu9jGy>8sCDJ7gHiC-M4N4;=El4RK($XRVN=S)x zNqu9zzI%Va>zs3)^PNBT_EmVEwbp&ld(JV&9CLYJle@Zi*RfqBBqVz!CBzg-NVZCo zkZcaxu^s=yEnq~0KX~oM)$En5jO`uuZH-7|_3f?At?bQBZ=ASoWNT+?Wyx`l=iGVL z6F2Sct?l^O*ew403+JqCP1v}y@>207JFO+u?MO)W>l6Rmlq{TNO0tQBL{jYXb*IQ* zJ&ta&!?fkoO%1)?ev*giM3ep0@~(<1#yyA?^H!Hqc=zP9MxJuYG4Fh1h1}a|$IdEf z)<2#na}_(FKD=0MVQFV{)&IC#pL$)I+I+{+Xe=qJ39!uTB&H{~n+}@9?2Rv0?YJbbwA_U+r8R=ts1NcY{0a$H%kC|#YAKBJQMxUi6yUMldV!*~akpbKaB#phJK zB7LRq(=#(4K7810XJ=PjTs+d5NjuyW(=_uJRZ&rKX}X#=MJZ`tmCxadZ{H$ogIG8`R-K}S+`}jG2315vHkWOz z^KaR{=OvbeoJD1isHmt^Ak*b^jl3N@cmDX@^RDnU$H|lT@)f^H>%z^Z!_FTO+2BSo7=rr+#?RW?S`@YH5pVymOrFaJz#4Z_GBoRrun?3;SWm$zJW8riKPtrHk*1 zI@2|;t}IO0*x2C1TaO<<{#rG&@k^G0^VIjt(U~m#H8nM?>e&zQ%>9Fd53;f@5R0f& z;vy3x6lKyBZRGO%N$PIxx7K$zZQ1_)$B(;VVPPG`XA7Al#;~z&e@2t8r>Py3mX@xs zub-Nl`X2XOsDH2~KwYQvNlbHN6u)U-sURMi;@C08M42#wZ)XuS;`fN~EKdCRlroNF z*GsJu7v<@>xwc~Ym6py&)hoOQd(p`8he_7!C39;&6~-I-$q-Lf*gCD8CzX$ zb)=gq<$mK*D9L4$*Xdz!4iym_^mY47oiGLGh*8QS4| zw^4Xw$XtsoigNLmxJ3h9w zveKGss&wXh@+HJ_q34DW&fD%J#Fj#C7ZT?Y3iW%)fs9Vox7Oe6woi@8Rd?7h3tnf!&wHNsG8>apPxw zn1JVcQzJ2?atW#3dQ5fSkv(wMdkHmhoH*pF|ONB06xIiW37CJxPY4X)F zRV7_QLZbZh=NC8xQ@yT}`j(cB&2d-5I86^VH#fU&tSyE{L~uCI47$DZXeeNOnUOfwoD1B|!Oq~QIxzMn%>2_6Jg)$HKx%qkT$B)ZDd^p)@#BKRa!rJ=0 zPpqE4{`=3bM5kwGE6U67AgP|W=@YCH$l)R?%4Ny!oXRg>)RwX1twGBJ&xJXS%q=W}{OP67 z9A(pyQT>e{bOvg^yPe*VWzn5)>U&n}?fD8d1Z3i}abJ5om-gg~w{LldK0Z4hrXwvS z<#ULNDviXau&{7u>PLmWQOg4Brob4_bzbeTr6s4K^n%`&xtULCAyPV60R>4($(p$( zZ!$*m-Me>hyN1MBx2G{l<1V|??O5QJiByHS zM~PS8ccg2!QkQvdlqPoiL`O#>s8Z~Wc4eDLzRrzt_!@nPQgUKi&%huK;lWeE9>S)p zLPbq|_|oXNLc8Gkp)1%?u9zV#Jv*!2;HQJK`(HE(ZwT~Ex2^1CLKL8YsIptIB^i+& zIz-OM$hhqqD=TYY+|}oaECCDA*ezzq-`^xv873yX`6r9xDyyqajzt_0d93=Ro+#@5 z&(1qd>D_979c1Z=e8t%p+gE7km07kPZaY+)z|vXb>L?>4L-OUFV`fK|WB|ja&l%eM zE(^cH^j8=d80y0~Nbj(yX1p=$JeNLzRKvr^XMC(oD&fZ0T+@;9@!7!|vJVv%9A|fb z&bQD+HubkGLq$M&BWdgVleAF&Y5!1dP;34E06%1}=2TU-OM;G9ZYRn{Ji32hv}oxJYy;=#V++!FtSuVIoj#sIr5qAtwfWBLsVZkHY;gkI=G#?CR{xA=3gCn#beFmNQ64YLsZV%uG+e^4wUzj;7)KG}7V&1KGdm}Av zZ4~=mB=Rvr^qicWt@(3vb82s`>5yW1ePj{7&5ZxxD60qig_cgV8ep%sx9#-yrRFzQ z`v`onfB*hVf(OlBBfuLB!;!l@f-g9^x+-NGN|LPO{#fg<$hK>L9B^k9Kn*+&W8^q# zFHvkrP|pPFX7As-$1WJWaF-Y8p@4Kh&4I&*t5Bx6IuTJ@E*ToeGo<+W-Kg?uE^-)` zdA>N(ESeK_(dK%r*v^InDG2*8EEH9BM1FL=zYYoNMOAk=%XRO zOHlF}!nx|Ex&Nr2&D+KMPUmxJa7f@BWY zTUpHWZ3yG=^4d>3gZyX*cmS~UA&^<=b8BlwXJ^PhYQE37V|z01#15rmr)hKA-%4Jj z%swCPlkR_0P|%cJoH5whWTJ4BKUK`wvM$l1qiZely=Tn)6JZnQXNc^|)XV>%`$}nv z2=h>3Pa%h~wwh*VHX*IO$2cVdm`qy}_X@hqy+juI($%GZ<3?=QZj{-FW}O+Yn52ZX zFR$~sE~GIi+%PezMjke8iQj2d8~DDZC5f1l9k%*xcFKWJAq+HbOVX!SV)~$d2h-e+kU=A;sYXn;fis3wm8xIvpxM ze!Ru-Vb88z{UN#@HMzgAEVi_UbUSwMKE=$u)7{;D0oZ5s{L8e`DEV@YA`0#Ldc#RxKgx-<167K%~{+YHbm-*fQaFPJ~*4UN?=Gxsf z973U0-#5(bvHI3nE+q1FGV9s12=T*a9clXC%kPp@R#v{T>JyR;YjZ)g^W6TW7Ceu$ zvEy3PGrx#sDf~89w>o`kV~lW&ks$BHK?HVOSL1k-iB3ZP+UoKwmFMq=^z%8szP>*J z*~5aRWn>0Nn&UKviIdOqm$fZOuBw$F}naaNzxE~-S{%}#R!1`D6aoi%7nQzsDimN$CuH{bsC#qamGtIuhs zfs!|k(Qy$-YI^>TOGbEGkdla~C9+*XY*FW(R4GCP7I!Pwi|J2%lC;xa#` zfGQI$;QRrVx(gq}(I0w$pVWT5L)Om2`w;z2;8c_k!@A(JoMs(QJ=XsG7#phv;ZV;p z-m9;#PXK!?_Ro|>smm)<75kS_aU>)qUx`0CvWHeE5*I*P`5?TpTJe;U<1I)AYD`13 z^$XDY1C*4KD9}s4a+;FWa~J@TOL+%N&|!Nos-x&vdeo3@?p}eqCmeCSuMS2@e2yo*`v44o6 zlEKHP3MBOJ%6wg(pT4o5i z|G7TCiUW4$+_`gM(F6Vcv5`XV8a56N$|MQkY@;`J?A_ZQNO09TzSy`pt|0_C6peT-|pcVf{4cag36Zxh{lF-f=xc`(1X)#vR2{H|L?21Zhg0Y9!>t zEG((4O_P0PW&V+okw2Ez*CL?-oMvQXvG|%>llvQR6R74w_#&R8=1ug$Q&$W%s_{*^ zwZLv?KqMNPOAsG6k0yqcWn`WzmU*mE<@I16?1xPpg=aNX6v*jWS!FIQ0bGj*c+tDeMVWK6UE1+IuAhhgkT`AL`m`R=h@j~ucs*5LrXx&&b%k3 zjpt9oX(I}0lhDdjFrxve2I@s$dV8bstSaDokX!8COI$iUCa+#iLnGU`;n>3O9_dV-k}0TaDE?sKK1bQ)kPb)s%7h7m4XMew zD5IW-hi3{5a;BQr^8h)y*k9?O;`8SNnwpv*R22yMt{fBjV7n^v2hd(@7JjKiWq43f zzztRs8Xm5gp~dU6_`3nvaT!@*7Z(Ge8{L;u*kzN*_P>?RlX5Qqrz$8bH7oXb2TFUo zIs+Fs_F-ynj`hyt2N{BHOE1PdGlxgN6|<%gzeG;|R~Oxi6kvpvEfi{MZx2HB4trh_ z8Ah~T1yq=|&q$+%I@_gC`c+{oCvPJKc3z!uHdw~ zbOA(gWYnm~QS8x=!TU(6-+%o|8$bWwU-Ns0z|H^u z&U7qTNMuwLSJRZbpP{6X1htESkrDm>)`4Sp)YZ&U{>2=BSM2{)@BI`>|L`;~Zy5NR zwin%lPxl~#Y~Q{;d+Xc3H*duw8BBf;)I3AC%r};)XrK5Fzr7qB93a0J*x6egnEri4 zYTV2wX*s!{$f)2Q`etSzY9q^Xx1unQc&uF6PJY5f0S>5!~gC9 z*69Bxh|l;)$SEwbjM0ogUwd8_``a&aW-L8TDN%;fxG^$i{QNHQxGT>n1f1SvR4`f7 z(a~K`*WjuiV$&^s3JDwVYuk~4f3IE4Dj8h7IX}|pRqtSwy~Y&xeHE&>)_Y|s+|G=e za#iFKu0V)&st}B#$DTcY{1Qll?XV`kozo^XG!%;BHh`=ZMF(RfB-RSosWURG>bQ;T zXAZNdq)9lYp#&sfKLgErm+<+2Bb}-Lw7O!Y1@B?eGF{&TvrIZ>8x2>d=T?R!?w*#p zapMMOCUDUW#77<^N&WC_pV$|Gt8p$srBLi#N0)GvWMyRbK;}YLzPrA*lH;~K6OzHr z!KUMhe^<@WVt%tQ6M&5N>eVZamG$)%D-aWJs4l*-hyHHt<5-|8z8OwB=2lg=8|*J> zTsRgMCD@Ny2NbalE=r`+@rJdB9pATaUw8=e;F%z)*>xZ{B5OF$8oyRfeFPx^$>G$Q zGd?&$23A(jq2+VkYC9nypq1Kt)awTx`p7vg2}pd##>P%gPN>n3%m)x*74P5Q%{Hn- zMUVZ91A2(|Kq8IVCApn3f3gb-I;lKo z26v*qR-qGc_3Bj!7Qq?5p`jESxi{}3${@cHptfhtX=#eC#AW^iqL77!1-k7A=%Tu3 z7N8e`K~&_Kb#ktN?8scZc3}JVuPk0Bj*}z|vf&R(N(6(0g9(9k$!X#=O*ugQ^uoeN zsPz!ZkKSye{m(}3*xq&Y;I>yEM$*G*%zhb3-&_o*@+pnUxGJf!YmA1$D|S-poz_m0 zG1=a#HO8HzwK~yl{RswgXuBw&Rs>-g6j4M__^v=8q=ck^^0zwIDxZ6+-3Qs~M}NP+ zsUYaqP`6bX2pY57Vvpn2ZQBUJ8HqZ2Kutzg7G(ScJ-ztsn=+sle}8`>byM@-Hbhdp z!{_`Rq_^04_H$?FFv1=JS!r7d1*9(5g3y@T&SzqnWLklqaL&aGQ8L9a1+5@1*$Bu`DJCo(!s1h>e$K#p?{=l z75WRhE=;w`3!Bys4fX=E`Jm%dy0PvGs8>y>2nZ%-&HS{)XhK?ZnY#%k_x|(e`vI^M zAUOeQwWezpgcLRXn}!tBaAY3zctkqKo@N`GX?<%maPwoz7iIIdsCbS$^w1j>{vRc;3g9i^{kM095vAZo<*M_j|zvJa~HGe|DWezNKce*>FBxBD& zsa~eSkK6@rzx9M%Taw1aYD1%W$O-Tf=9Rt=g9t|84x7h~n z2VP!g^XDkh2LP^)1Nb0$TUdCIlClQmkN!W+LMJ0Iy{jjymrYz`YTrjCSQBC`QpWkpk9vvLCza~IsmL)g^hk16GID9 zk%VU<(b(w+d<-rjOrmFMTH|->YVHlR>b9Lg5)frx_69_M6J6u;NqyPHZ& zOT*oN|Nae)N@jK)c>ya)Qw*WOMq_! zWJR3q!;X%QI5W;*sW_m*rXx%zg0dV;Erk8z3Wv}9*x)m&Ui1I#CS zi0sDo6a;O-F;F20;hMdRW`m@On;mc7G&mMbyOxA$fUup|v?Bv|+9Q9do5t;R9wm=$!HT zBp@J=jclP1Hk3j+wO(I!Zg6E|V?zexahXdt?gMW{Q}gc6lFUptZmZr(vM_bY@*>ej1N|fjE)u_goEq9d zjEes4f>P|-_vN-}Ub(z{g#GkCeg7>I*@K4@mtfcvVH>ScuM-r6E z)5t%dpa*Da=x3Vv+^V!TF*m0w4#XQ zm!e1yj7V|e##SJLS9t28eNcqACaadzG}#j6(kY>4Yo-YKJs@zQja56CDTvsB+y~0Z z-*f8{e#gEtZ=V{Uk@m;efklx75Y};R$q{=j@_lj=rMxVo0{`Ym8AKB}cc)stUbFw2 zB!lB&{95k;{2GxG`@io$P(pg`Zr5(I8xcoTH=I3oQ!S@_7KNruC-x&C`XB3wQ;zl? zuk@JIg0*VV^wKe9tA5LrVJ4gOEuM0Bd&qt~r@K~66_}FR9g0}nq44sr&E+w7XVmPJ z+5T&aogTCs{A6kEzW{;h25#dDvh zP0pXM{X=z%Ve5WpZROe>2Js}A{X1(dF9Aw(`}(4^MHqVVU$GZg^>~IJuq+Ew&$la3#A`z#UvSZ)AbF1Zq4?+9u z-iWKO3)V!+$9sy~l}6ofo);-uTRHJ|M%6=%kqFO|BL4K^+JoEG+7I8bx;gnAiIwfn z14&3WKe=#8fcM-5!cd_E!3HVP_IhS|`dRP+HtHC7XLLQ5>2Xfkv{iK;0@3sY0K$V> zB<48T)^>G;A)8J8>f&f9MQ0e&*`p^f`b9UR& zX64VH{$Ic9zvh{7t#o8)V?}oh2?=Q!#Rz*gLZZ&f$*BOz0dxayeWh#+bV+Dow{A%d ze0)~uwrpE;aS`hR-f#g9D{Rr-Eu=GplD|C|&{|9oblp+MC$cKaq)n#LSnoCz5!upu zznr%G6}vzQX`S$$;pek-YQ%{e2|q1uZ*))TXQndk>pCso7o}IdkBGak*52K?-H;Y& z6SZtk5TtNUZ}j}G71|o1k3y)w{I`F7M;`-Dn9tBm;Vua`BFIsKsMo$o9-DhV8zRWa z$twX@as;YtYkh#Q?m^5o`t!NOaZ-oiHqgl*KYePrzPgOg&;`irB>n*bM6V1X38Cx- zt>>yAK6TQHdte(H6emxgez22_!5X?Q@KzYVV}?o?Y!f;5ql(Z*yUIL;VZ#~q=fv_4 zCdGL4qjmBfwip5(6YdifC6XzK&;&5Yy#XxmL43s-*8E~*`qdogrJ`sA_5$~qpmrh3 z&l|{bpbsBVGOZmQtNZ$NXP31g{i7Tb5;3~gS5S~BxNZfiP%9`X5UYTen_MK%dzcWq z3an_+X!z7zLXM*07r8a{T}8=mJ>_FUYP%jWEGrfG6}sG0+wJ<6dZ(F7ng6WMPGTb> zPD}e_ztvpUJVy)M=?hRn2z7)62&A_(68GF`JiUOhfsJRD5p1Mufqdt_eTh({0pvLJ zKWxRufYDsbpYU9ru0~v+2cz2a{5ds$F#5R7>6+Yx%Lh@kjBYx-T|y+_lZ>dgaGiLg zm|n}&5tKbi&j<gql192M_ASFKumxwW3ygwv2!4csxLwX9R=}g z*RB=u$}`ACO5lW{H~F!m;y$0l*m>6la}Q$gODvE*%gt9d$KJlDKh{!qds(y0fq6-f za^!f$a>E+~t@REzB72IMyc{R#Rf{ocHV{k5TyOm#Wa5x;mV3#t*P!+xPO(|Z^CwSE zAqcTKhsel86%`MGR@UX4NW!+k)eUJCqKOUohIu#l#f!$!%iZAd0x@IjfzI(f2M?FN zRRTsXECl5LKtfS~YY{l;rxSYGd1FqH6Nugr30xUOGr-OqUknF?2}L)SxJ5QrM&%QIP z1J6K^bm@@w0>uZhOt4BEpr(!*6(l0uj)#2T`pe#Zk^6mva?Zu5CZwjSep2t=z0kC^ zd*)i6()(O`Vud#oRp0`9Q|VJP>NmEE@;}3W6w{xXx9Q~E|A{w+n>IAUtboJ(%lUk( zzDC#$Y;f+{+5(9_63g6SDAn1JX=uy&gkZYo`)NuhthO-fD*ax>KfJ zcj`Bq-;sAqTE8#ey;jWnwykzu;2*TY%f2UxskPPXPR&NCv(2F*&puKa#gNvl|0|25 ztEds04Tz4WLH064e2;#enV%nm>j_6Y$rWY@qIU+Sfo(6NlVOw7(E!tH;6djpJ%Vx=)b&&Wu~NDV7Ev3lm_^*Dg7Rg;hhm`%*gq*1PxVB86Xk|Dgl zWZ-*a&yF1@=;-bOq^_>5wNkUGW>CRz_^Yo>H-`;|m&cEHG`u)zWi@Fpny8~C)CJeX zr%#{u2$P;V6-QMC_lC2ru!bP1n$)4yRh}fdsQw76(&qYt7G$~7wFONYVUK#a6?P`O z78nl0)Ay~|S;;I0{a<*9_8jAU{QbKgth#b=N~pu$3in4Me463eL`Rb--#tB15T#~` zJO>IU+YSA3&+&^-<%QQE{gM-^8IIr=lpGZm74&eQp_8HnO&j3;6NEUznP)4ICa$Zi z%Mp1+SJ*wf0WDIrdM-e{LO%CJp@)C!EYSuhL?og`jATaql+bC=#T8Xk3sn(>-EeTC zpwGDc&L%WAcZ2erJaww8)SVwx2fv>*wi?oGkrA=T0vWzJxd z*5jvHC$|db-^&tT82$%qe|iy3pLuWBCo#|V=G(K~Jx6+>SXbRWm+D$$~9PYp5V zij3UTO1K@Hn-#``io#_f=Pi$=W)k!W4delo#?hb3l)Sd5ajjUiVPI1^4m5|D%lk@r zyog^8<*_-5zBwxD8=HYEplBp$+V$r&3B|!b!+G;F2|A1_X=;80E5=4f4}*e~6RR0z z!^OZAmmp?Mv41g(G5m_FL+Y5Le_bp0OEdMw=qgt*zR02o7P&TuZI=#~L= z2|c9|JjR%`s{2ZE2OY`06sMWXho~IA(fDYm_RqQ22Iupy$)7f}BrTA8Z$*2V&h0KS zI`DWkPLZ5GuI9YhIe27lSXeY5Dp~~HK2}$gQByyQh|u&Mu02qch0ITc3?vk0Gy`7c zNBR5TgG2)p2~o<=wdFs&xEyu3|8T+l?j^H*6rm!|8@><5y;IAezW3(H7#;7t*9ZPM zhoesj8Yu6tM7~eFZ+KzA=@+YPG88cP5|Od@%l_Few>|y#R2;NQLul>AqT)ckb(%g2 zejf{^;h{ehk?e?Fg!E773qU}~;IiPcyNfNrQ!S|1#39GrXhP*p9v6b)Gr>vT3wXY%*vuIjR=Y;cy+_DCSF_ z#MBm1%%L57I%t>mn~VB=pBThlB;+g~{UCqki6FrK4z|ozj~zCN?%h^>=JQXl*dV4& z4gwaQTi^Li4d%NfL_c8sD@lIJ5^Y}OkPReZx>O(Mgxz5)ez{BS;7TXH1DD#D5MTaP z$a;lS?Mnq|-TO~6oeDqQlH~YX&&H>{fVR*dWV>SX)7!r|(Dm@YoH#QvYM@P2 zbM9HY^j6J~76&o)9GkoQgYT6dj9jL^E&pkq3ilYh<4sO|*VJ5O@c;f?^Z<)~-=6u~ zT@@o7sad=p}G>)0P?R)?A zfwQ*TPN%x87pKms`LjBUpH4bWX2Wq$Hss<#{4p44sO=SK_FvjQ@a({mBaa|P5wsl! zVbFFPw2`S|TEVcl@2AnyL!|Dy_JM3(ie29F{+i|ip0bg2w*V!VKc8=J`r;z`O?KW# zXs5gbbrA6!bm9u3#Y0pi6RAPQ&XWaU^Ou!_7d;}}Pel~p_CEB&u!en1_w1wIW=gC2A)Hs#?b zNHzD-{v&z+{ymg8^t9rYjd2W;uRm<9V$EsN$NbB~77rbK6HF32cI=RFG>1NbU&Z;k zj+8~GBg@P@rKyWY`kDXPl$Sztgzt5T!HxOJUA*)seo~~3GqMa~TbcY9BFidXjjT{m zj!c^>$=?cLxjgkzIv{VT0Htiqj+K`LG~NW zpo;**nobXDfJ+U^^wIUrO`*G>LX+%w@DdVKZq~7vLQl8To|n+FOscqKX6r}!Oqm=EL*5OHwlV9)*^Lf80R}l97bs=pAUiQV>K3=ar zczB;=@W`ju%A~N;XhvbuHc=}E>hK5m{C~R*^=;rkL1=2LdR;ZzLohcQ_Nn04RjekM)d<#No^&K$=)905f5#0(8KdDgYhqqZLY1 z-oRHlO_nTjPOh!4T3cJ|^;deUf6RkdZLBl%IT#M+d4MxtFv>^Y^sTO}{2VL38=VUq zJ39mTJa}os4dITTFNC(LcVni{yba#4w{PEK7Uc?5MKl?uRjaxC-0nw3Q4>8=cwa#M z6!LBTV_l6Y!8WZ$XjX<~2+1|M?sVh3(r1xZ`n1L`)p@EebaCvIOK-OjAd=;=2)QcjKUY|f zeBAE#?TdEj5AtK!Wr=j7Ja%{YqH!e>-)}W@O1Pqm>{VWOl}u=Dzx``j0`i)ap|#Ky+rIKKo5BP0=+fG}7lw0#f7OXk)*GgZrPZ{NcLO<4SZ z!cUW5x zbBr5^83lq+0sKOBZo<$}HQbsckDok=GpY-|o_y^t@yO^Jr|Za(?57oq$M^$`6C)3_o^epM+lE;p`jWvD)ZQ-RpzqGpDIL!}F zT;P3Z+TFP2b86}Fs)lFTyaV(4pxSqLsjNS{Op@5ot=z;nSEdO1W+9v{Zj25|vbBSwTEB30wFJNNHrL_{F|w~Xmf zvE|2vq1o~Z6J>d9?CbYtgEY(X7NBCmzwcAsD z6Wo6^9~g18ge)!6o+zr1xxb8gW{|lr?!?ZHD3_&WR4`xnXKnVoAGP1uMMhVC?V7on zaYS5EOK^9KrSuW{S^2Rop0Dxv5ahqW911TYD$g`*0_Lv4ILzuf7I4u4>F1Z6g}tW^ z1`u>{FM)p$gpA--CXG~tTg&^<9fIx}7*s&INLGm3F8XNCE2QVu)!C+{udxPpQt zF~h+4M<#$D1Sb)3JnF)6$Hl1$d#qMupJE*IA914r?BK%r^W_+uwEG4|2tHxj3&j<@ za#?&<$l@gIl9c#b)4b8a_;u1bT$AV!^Ql0lNjI!1v>PUxka@L)aTz0)o2M`UgoHqB zI}C{(fs#^EAHIG)c8xJV{Gx?VNXStlOPP21BVdf2GF#X=IpZO7Jb3iTcC>|FKu|DG z$ng$rX~-G`hR$2S@M#DRzF9^Nh>=Fc^IM%6>B>Y?{@2&M-MgR61qfXc7njTyd#oz? zLCN96iQkDXRiXL2+gLsoH_pwy>N%;_M*cfeS=V#1L2t?U>E5Gg`{Y(KGH|eH_0+xd zG;m~n+Lt!>URrkoiR+()!fiPSu^Jv)B?yxZl@ZQSpJ&07VRslBqr!aeIo;C8(P^-0 zc5H~p+Po?r*J*u~7d0*SX7fGh(?6FYW>)o#L)YA=^Jc4h>!Z8ntxR~VymuX5FkV>t zis7W_0GHYO@J4m4fTv`+uiQo?`@DO{pO~0f3_0fX>C=Yl@?YuBzl^RvO&<|Na_`=~ zrT!;u#E@}w^T84=*5j0i4vB!(5H@4jf-x<6Ax$mo9@+zF)S(#MEGpzw?+ZD0h)9qWNDN@N^_X;bCwguZ5q zpoW{fySJ~eF=S*|Kw4p!T3uaLD{*nipT}&`eIOzm%uKq>jreUGoytUb<6o)+aNE0~+EMaP4f0zs`eM3Z3KpBEv) zAt9=X)ldf|aGzYWwDEk7zp1c120uPLB-+pD2#N4sdSogAcs&V$xYpUl zrGIp^1}eN1q!~Dw>5)+TJU77l$1s;OEz=#1riyZ^itJ*}&+&0-Lqo$v;c*=u9UOa` zxe*2A-tEbr46PY&3`|VCqN21Lt;E8|g`BRvOKKs$CSwgL94&;`@OvG6)syr>{ z;rOk|B%HqRal*Rd{rq|7+&SlIKIjcZi3S6CU;e$J)@}E+###J~%na6;>zdLQ!&@G#uZ_8|MEGmM z#Uv+tOS-ZQNJ;lm>A_hH^obU?Gz1r3I0=4RUD-5aH*eq)H~J;aR9LJ#qKl)X*?v`P zjh#2g+WD`A0(bBcAeES{%oh}!iGY^@jfRtO!$5el#xNmPm@u%X=#=n5={A52McAbO z73wi*IJK~_y(RNrfM44m$XMxlo`awKsCcX|any_fJmfx_`ybW`AVmU*p(F7gvwq6^ zO3%8%4hSbnn@d7QE(gX!2pj>`mza=-z9m`UQxAK>hgk6^YT1T6q33>w!uJDZUBiOt zXdqj&L*d8NO%njo&b@nyk$w_lt{yen4vuHyCm4b8fz1HTiLQ_P-`EYyAp@|V6^72n zARk?iQoxI|09A|dph6YgaR&oB!2BaU@3;}p=3jHYp$6Y-Z!Yun{M}b3k63>E_%Y#+ z0^VtXjRE~Cj$2TJ+r%=wv{G-m8@K}nUh9^XZf1fFxE6`Ag?eM5+v@P8O@TlFgLz@B^z`)1a5C?DiN@m@ zD1{AgzNzZECwLR)Ls>^RKvo~{l7A-T>m8_|S1XbXL53XlMYl%A`{~o`aAXCKyR=G4 z$tmuuqEftg#o{{gr@w!I&g;_1U3>Q`r=_QJO*&3|O(3a-ew7=!x zYk^fJp}8uMi#xBc77|8#CR72;8~R}eJbn+w`Ag0ioCQ8gLZgZa+xz)-CgvWbFhJI- zor+(Z>CbFJ&;+6lb_Rx2Vn|sLs+|#HJ$wNE?`yrl*j1>9#LNVeSmKwiE@t7?Dbd8v zI3}N;CW}>_2o^3Qz?}HNbJ`l{kt!1;6)0DE+)jyHoRZrzQW3+Yu&s)~zU0M@7#xD! z+HrLdGTg1K001b!nQ=Hcz zndkd4^*6qFmX}u@eHaByS0un&g$CPo1@O)^hek}`CqRxAhqYUg7+1q!%au*UnDVXK zNMTQ%oqP6NH#avYM*}$lPU2edfgs>DafR#+%G%66bviMcZ#;=ieLPIH6fELh0#cpL zJ?T=1DGi!1WIf_bgu-x~*prpZF?&uO z2UBgSH=9D)Bc>eUSpxk1KWJK&Q~}4}Z5Th$b07VgT7 z4mXR_{}bnxveBlwz)JULQ_TM4%uJAHUf)v}FCIa3Aj>@n3R(yqgJS>y92B-SJXDeV zEHV28YwBrs_UzAJi#^u(5Ev++=)X*oYrIP#zz_~CRB*dj1=@i%koEXxmX5IA+>^C& z-*)oSu<}c`ictxh`mA%>GXq(+mct@kq zg(DIWz@aG2YKdjsNC3%)2HIK5D%bZ*xrnS>lMIY+;l9@Q+&_A1>Cqn{dZE^TL`fZ` zPFew@(Y~?6vR*5$B`V(j-)b@b429y3i+EsL%^8lFez9lEqe$A}@vuW4jR7l-F!dH2xCS>4$>0hsj{OZ7*u1}^?53+IA<w zOWO|lD?%hyKGgIh z%fuU>-09*^<>e%>4x(A^H<`6-)4w(+xvv+wxaeV6XSCQ&Clx5c)ab^YgaLR7 zKd$qTVmEd0o;z6QtG#3#BkA?XfnzK?AVDSp6bb@3+cb>eXf# zkqQb5>X0S`b>0_qR4TXcUhRD8#CwyLfu(OyWefu5H@XGBv^|QMOc)mv8GOI~#IehB znGeYyTZ4Nx*S26N+%Iow$7hFD? zN$lHt0@GA=lJ$hu`TR$X2%_T0-#E^0k5YN9T3bl-N=HFLyW+mrO3lwBwBdA2>R(VbqNb3n~+u;rIj?`Fi_9Bv5f@ARCK}&UFB}2 zv3;D4#j9GtsqU&h%mpTNGBc| zCYt(pD^ERe+7{WjtGiUuid1InqNDxsrtw%U11HC97uRZ@`CX#KZSFgr#3a*`_*=Op zF5`H9aEtzlbOCy4h#REIu4Z7-!kAyy&f5MGf`qfFR2?)y!Y)bzdi$~b#L9)nzZr>8 zI!Ct!&}RKiI-7JO8M8Z4M^+nN9>H z!7$S2$&gc(0xi*RCw|5`p*t0S=@0`kM%f7^E-O2`vIaTYCtoQ@{W@{RRHVK{E@#>K^1-a8~x92WiU zz7aLuj|+h*`x}z(VdgDaM|e{}dHO4thp&cclU1pRL&`oazzmW4D9K3Y8!8osM|{4? zBQ;9d@!&IUnYy%hKpLhom65>00eK0?Zc90e)_Kmh(q+@K!u|X9HRd-Enx{=%k(nt_ z42+Std~a~EvlB))66ivY0EH7-X7Lrohy@A8TP4u;wY~1B!{qa!^+7yU2~9O4yK#jn zyVPX-@7-MoY6g}nsoF!-V@JgQ$KaA#A6m_b@qfp6I55f3Pzaa=L`Z_+Aq=8fJ2)62 zCz23Gp=*qBgdxyfj`H~Nf$!h%q^7dK)KY<0{J_UZGPZ0(P?W42RWJq*pjkge%=_DA z;?+ektuU#iQNWZ#2!3!L8+9kb3eu6s&%^UFDQP`VQclkJ(+j%)Sooe&`2B`wU^NuO zNc9a3Hum<0sNaaV$4CNZwM4%Z3{e553;Z-iIrRt(qaG<=H1o}CP*=OkJj;yxpqk&r z%Yupw+UYpW51_6I{EAqmY*Ntxlk(N+fm5rK|Ri7DQ@^Q#9%ick6<(ob@;_u~bSbPSzH&8G7Q)R4tbXv= zF)7HRa4@kQev*=s^7EA-8paSVFq*aMu@05rhgVE&^&u zn|XJgkt7|Pk;V6)jWgy3QHNg9|8_oPcUxzx-gkbQP>RxTc3tCVn&ca?n#AZ9hIGK} z>j37WGoE5IAxgDrSn^~ldVR-Rh2XIaOtm|E_ADWHVZDZN1c;aZgd578!IWL_IqmQP z8WyY9|HrzrYC|C^+Z`9RV7zrG+Ta@bLulx49L80ImIuii?ytj^j7+farQ8?~KYxy8 z4}_S8geZbnDTKRV?7j{{FsFAtru$~*J9Rm3RPKO-d^(Yjht`*M zQxHvY8O5*KalTmY`{_w839k|+ek`%iyJzxC{G;G7i5!`H^0PN!Yi;29IMMl4^}Gd# zImMnmgp`M1Al~zU{U8MN@EUH|DVq>r=Q&)L9m3hP-j*YGY{FoiX*5l4Pfrgo^be?4 zf@SM}STIO_nvQN0SoXhfjL4<=wc97eHr_7Vl`5?ofCM$&;ycSAx#jG4YbeHz7_1N`}Fdqg+Oib~B8{kq^1U0Z!9E7>p&~*}pDZr8@24vfeUYdAI1HuiH zn8n7r|20l>>aGi)c;NIU!|8C%B z8UabY_c0+P6fO0;Mb`ux>Zh+b6<(lBE;GfPA0NnCQ@b-NS?x5{F&Y{g-g6O$VYEV4 ze6{>Y>*)0}%D!G7+7{nbHGh2&@w}fSvOsJbk6OgF|HayS$8-6IeZxkwBO{U#*@Wz^ zP_lRSjv^uwzA}$UC--&J({S=?|FX4 zalF?t(R9h9#%JC93Zg3X!NUJcTY%p2o(d#i(CQ-IOrVRA;60GKf~D}JcNHLuXrLR- z?%($f3)2j`C!+uljvJIu$i{^yZvl6nQk>vBRmlTixUZmp!^!gdojx}|AGyNh=yZ*X z>jD6g5ImLiv?)}>Z}>jB`!m3n8$ceZ3XD87^X%^*q3t?@5c1xSHsSb< zp|HXBLWSzx0R#O#25ptKgtD@-fhXS3 z4I8W=7B>LM6P0sZc$IwQmZHd?9bpaS!o(H0^QhlLv7ExVW z7G;M9N0e-P@v`Ct!}F%)brdK!*C2vAlAtpxFO=Iqi|PJTRI!g*ngW*FhS&f~OPRr)1-Thcz_!wgyVk?y77a@m z5`}<*g=*&8U!3#h2Nxty7O+fgCiw3N_=BW~_YJ|~-Tba-6^f}}eT?VQgHeo9K zEi?jJ@o0pu2Xi3ur2+py8j#X8ILk=s3Ttegzzc_X-T>l2;@==!09yMlpjO@XH&Q;t zLv{ynQ5F!>LB?%N4e|k~nqGp8HOGsN7APxRJUm3^2kV-Uj*br0Fip@MW*JuSg8I0{ z=@%N@!`GOZna6Cj!2AWwXgc&22n`M1vrlm4TVOEl1+6P^e(y3eEGsJ{AhbvYHiZ!18GIyB=Xnb<-X!2dQY6{|C1Llb!~sNrHV7T zXjU|r8x$5)vI^va;S(ACmY75&2T ziuX^EcN4pWJ=n5)a8c;m;>QxX(z#1V+#g=ctgUc!>Pb}9-G#&xb?+criSO{zATw$j zDD+s%LQTJNKvX%_dmsN4*Qi+)xtYrC#051}r2@8t-qH?XaYlf`@#XdBuXMpS<-h`aDA?5=!r z03)VLHhJuG4A<0u)m;p@zXKw_j@1y7l$Q7yRE+ed%~EB=8>@Ghx_wyB=5_as3xUc zAmoc@G|XU4W_|nA)~7bnGjW8~=AY4Ubm%ve>?)cJxc&$@SDk4>S_rpEz}rWu*BEh9 zWS#X#CRv!0@W6h%D*`*3a{0yvO>k5$CsWK>g5d>rauoM*f>~00`_9PThS&~Y^_|?Q z79K<*DLp$XW#-_Jh!S&<6u#GEEzA)7t9t6>OHm#s^#SfL_N)bdD8e`O@5-z5J4HOr z)jaQ>8?}Ot+H17B6rJNY5>(|xlsS8UZE?jSF8;0ku~XlPd}3n+=H$JzIUjBY#0?7V zx8wYlaz zSg*p*b@ z&-x8xCfh`Lf#~9bOXt!beH=F%J=?3LkuJ>cGBXj|_P49UMBm4@V z?4D{W=u`fvc^ng!qo_{yfjZI0N4h@jftE+&Q2Hc$5j$3avvE#Ms%$7zVPN=u|8aa4 zo!qnM@0dH?62M1f27)!fqeg+31BV@iH*tPj_}5rd=qiDGBs7%Z5vl=ETjS7iV#{b6 z$uVt(y}0r87|Ygh@)m#IGG1%IAEB)*t+?`C^WQ=EXwQ3_Y53Bj;yyfGC`phVeOrH5 zeSgQ(s&&V!?j~;ZxnimyR;`dLrt=0x=}dV`*{4qP2FoW{H#0OW5Abkt-LjG3?x>aR zzjjNw*W@3a0pz1b-dh$IGZqXqF`2@V8#p)tY+<;1_3GG1a3X;;^C1}Frm&eI7{@pG z1-?N;{W(e9^Y?<_m5`m=4(+yPqSULOt0}TB|GQX|i!h@qw)aIc-o*4~e`r(ek9Z$n z|GDlfX7{Q(r;6ZOx8r$T5o?OijvCyGXR#fY%(+u!&LLO&CN?%2rF6|Lz)Cvl$IHxo z=Ti+7Pj`Z8J1U&c-kFsa6}1fhcKi;iJ46cx{0)+QmC#H~MHS1nw86eZjldVs$b+vr z0YbnY{pJQo7DZIlQBoFUjy`+JM!m06GiJpVz6GMYRMR0H?`LoNWC~7kwF{#)SKy)q zw+@3Jt%UNd-iX;=f{lb?;#Qn>+#`%lsis4xt8fPCZ(<=>CmfNO;WdA>dLEa$Y_=^S| z92`J2c5*g1ALyOZK+J=c^Fl;!2k!1D#90~KJ2@NYmLYVi3xH6%sC;S9J|7L)_fHz^O! zL;s9;y+CY=fD=Sg$L|46vbqe~Ih=|^q2n96HDeCxC=H#>!)-k84;K9+26r01(ENe^ zWrI4-_yT|KGm5WXe`r+Fr`Yd&RycI*V0jG<^PLgT`eBtQlqJpn1|C^EwTE4UJn9%= zx!GWne1)qr6xDVS%iO-6aUq`k?D#xoOr6#n&`el@{0tCFZ1^eR;!^-w!3`myOkn-m z6D8sRW-GGkX9wL!`Lk6jSW}o+85l62&Qo3|@HiPg(O6npL9B-$DnXup3F>ZoU|=BZ z8E?cb2*?b$+-N}X2-*Qm(1BnjLp6vzG62mi9zFyBPNp2Hd&MydZ(yJie=XwU14q`+ zVoQ9GSM~hiV!sB{b%96$$>f6+C!~r3#gTPH>xx9D0us^!?h+)VC3#I7M0()`qrj&k zWdc;!P+b@h}V%$;mPwqv!t{7|>f7>;E7$4kIO9gkIqa_HG zkj4+(YZ#OB^LL<`gP$CE0g&BK4h1(rB7O=PjS!{pQ~<`k4U_e^)qpCd149jAkFNpP z%@C7>paoDu@ss+YTwM|CBjB?wAP+5vIA`cYq3%-yVbaa9H%(2~9-QI)0^+uk5$PMD z_d+T^Z*MecdC?KD5U`W(<%msyQ+wcjRJyERs0Vm&2+BaP!Nu}&I|YC0{r_8dC})$3 zI7j~{(V^&u_=QLppG=pA6y9^EXsF(cyYEspZso=}NZ}RGXcfNy!Esz?PX+-5WFix* z)pwtp<4JM}^5?(*Hs>A|HW_@&P`D)2L@_&Q@O2&El@lS@5uu!H&tF?DL$m*64vo`8 z>d5g{u2ZROSc+cfa7QzM7LZMw3W}DUwK0QFQjl>AWHu5_4R|Be(a7S4t=$W&EXro@ z_CFCJ*uyx-K7y3TX}TE~P`8|+OjbP55<>y&1Sl(vKG@hju^+9es;U~GW`#8m_B+p> zYSp+F020qb#jbBBDw6GvmjFmRoOAgWVD=kOh(yG@fa2=rDgmk^P;(t`i}nf?6&&gm zfQliQ3$zD_LNZqgYG;5L5MoCE2t*WZ&?N~B>H&_EKP88JEq1Tt{U^u_g{fmf@OnZB zUuu?u{EHHg$pJQ=vX?4tCY5rjuD35!%6!WxO8zKnz4eIasUGIx>&hS{D1Pw^#@)Yf z$>^X{PMJvB@T@3c1yd`ZK`PVUL&+2@cK($!Nd3eiwMwQ}Omnm!ql?zT66 zym4RLK0v{v+AvJ|GD~DEziyE!I;d59MI(nt8o@{iTM&`sLp&3>3hDuW0$gOlfEvjL znV3jILK!C~C!gN%{0{@B8!TCnNl1P5VMVV7Xhs+hd66E zp1uKQ0eDDMkY#VWJY?gM19+By0$EFdb6drBLmVUnq(MO=tN|{9KSp0TEcq>A8UtKZ zZO%&L(^KWO7RgWcmJfO66JXnq?A_gesL@Z}AHS`Kg+M8(_zo#vhLrIWAk*XG7bGfb3;taE|M!|8lfqXxMX0+;NY5<|8p~TdZa;2+F!w|cl zlSS=^S+)=01x-Y`ON!o|Uv1QjkdaITO_!~;QA z(B=lErCkGTd~s=M6YO)-PzdN5mnp^Yf`INNRB;d%8o$8g&7qwm3xa(R@ed43InLf4 z_dK$Li|8g2BO`>+3ZZ}q0q95#ct$Wt-$0pW2F6=Z>hOYx9>@=;KBHBTQz9y+M@fKl z0PlbpGvGV$IxlPKmp$$Pl;TG|!*(l6Qa9kSh@TY5eccL2Cd66*28n}b!Jj^X>I}GC zzCWrnxLIVtg$LXkJ9uND6jtKd?-?qKA`)?M} zSBb3X;O?aO??^{(1!&W@02t7Ky9H6yLy151*_sq}rgA|TSVk~U1Oa>p?~0qe4Km^& zu()Sf=YO(Z>hl%i)Po2I$@+thkE9SoF=kHkQ^F(r7Htb~<8uX=BU+dcRbFj0w?=9a)>A_;l`ooGO04?^I85r;o)QeRhh14)Gk zlK@~ch?2OMuuOh60dQ+25YuGAP!8B^5Cq8l4J<5pt!XRExJF?~FLm%AZbbmUd|SOn zHDwDsnX##GY;x^3lm))T_SIemqb$emc00RT1a|WgC%D$P&u~*Z`U6O+@WhuZUsq5J zqIK8VcyYet#J@VN^9BhiVs0Y-FCj&Z5Hhx+3z^6uG(zOni)MyowUA;m^XnIKQiAGC zC8cZvX2C#8$v$Ah_%(JRiN~FRLJEzfy3}Yws@^9C-4+~_nMu)lIA|m@X7Y;Vv?*&w zy&Tj^+XFIMaH6-Vlf5GHJdS(Wv$v!>7Sp<}(|MY%l{wG|23JRn@_|=GkvEoRi8v)b zk-1!P@wD6JIFBk^xEh|9IA*eg8b_xuMiiBBxFXL8c<;BAH+=p>3uS)hV&X7|l*x*zpR`gTRrdau?%4@)$JqLsH$|1$Pfy8r z=90odHudwg+93*lz#F{X7VnefI#tDmO(fDuu&O6smg1N1?40N5f>9N&@1_dvQW?wA zrK(+LK%lk-4@48rI}A+Bk0m9R;EJN8x^(R553{uZ1M5k?g$bzJS0tPq%uc=6v0#O@F(;gf~l7orZcH4{>{1dy~YW;eEcu75{h=6{=V1vaI#nSW${>(O=U(;if?qB zGTwf%YGJyKbMpmNO^OF4Wh~F?27hQcBUR+%yEK`iSX4*3vKn`$-+`?JNpkw%Bu>6x zvjvJ4CMsU*cVI-7IbR8OEfK!=y8fVOSw@(j?$>vjT_1xWV*r0jl{3wSJ+58Cx4@Kq zti^Ri8cJ%`#NzP0;?N_kF!@wXEn9e_4)fUUM3q46JVCzXXH!hCFL%3;)G1wk^NEYSDVNm)u$x7Hv;ekjSbA;MfaA1r@Wy(rvVzob@}n_%nH`uC&-~ zqVRUuJswI>P!V881g3{GLfel~k3A<<-!Yt@+~k$kfu4<4{J6nB4>m+$ z@nKW4hC9F&5p<0;NSzD@zncCt!-d{47HG#(bxw-)D1xfe5~Iaz{80P%Gs*Q$Li1{h zBHs{ko7>qcPq2I73vcNJ|M8Og3*DOLb55OoLhv)v?-~9rRg*#W0G${GtaT6UjGS9w zls`omch5r53Ych?6b*B-038_3qQ3N1uRZ696xAi6msjK(J_|oRq7jd?zVMB?nRj84 z8tqVf$*<(2^NX*i?4f^LubY*cWV#b)bzVHq`smDh+)*sDL6otL*lqPWWTO&=#`G*A z@(7{S{Ag*RuE2p$ke1~UX=U|ltXspCZ>H*+G9>jw&?pI!JIUGxTKhx&N}O>CV!9|*H!T#)%$Dz zp&9218&6ReqtC+@1rGCgO$fp))8ZAfVnAC^VRWj-!A;0p>(^lu=xa=6s^XU%TT?m0DE;W6ZnnN28uKX<%)IdEb+nT z)?(Mb<#+Zy6dbx&|IZHHYOS#fw|ZrAn0I77(b9qg@Jg| z35ZXsy~(Ox3W&^K{~fS*F!0z4?6_f5ClCdt@uKX67hrw}oq}kVOtIfkf~0C>vqIQ0 zAVbY@^PAUo$8kxLq$^yKhlBtbs>Y=X@(#2+GoWAa{EP^a{B_3ns<9^5fctqjCx-Rh>J>auDuixF6vFhTTSh zXg~j+@I=J{b3t~u5zf3j+p!Sl0d$-G5nODM>vr?9Kpw!cYzWik;MRkHUu5LTR{kk4 z=n&Xy0r|*iJU4EbLHY~)75a(cmVAh3vK~7ECon?wCwvLhgpy~p)*}uGYsE)rpu~50 z@}x&yOS<|NTqu^rh?>>4{^-pusW+FmU$tq&S@dXszR+wrdYiirCeXXNY1ox0=tS>J}S3B zR+k3JOO!B+2f}4QI+W*p4C)aiVgpRVFl4SCB;Y^#pMYvd^y#8Egr`8Sk_n{Yt6t2z z{tR;J5O(7rfuUrZ48%`KkF(aaviU!8xBUwXZK zHrI0_?03gds5hb<%d=U(8alCW@bSB6|AsF6|Ap`fn9cJyA@>sml^`%7Atv^&^BP`D{xFG6%DzI=-L1nehCngW=-X9M}zDI0qb601USO^NFAN_fg^h5!KSKmnw+dK}5f3}!iMAWLr>`S(hFNlb=71`aG%b82jm37`QVXZ)pvBfgO>#^1XYlom7{jq zf%Wdo)ggj0sktj&D_$eR!x&%;1x?eTUW}81IvFS|k!f@Xvtg?I@}Wo*oEaqg}&g-gan(y`hsuMyQmR zt3mf-Yq1BRYtV@z11S)k85FG0KqHR!&)=1SXNOB#67rvJCKw(<6BHxr%ntq^W^wU& zXq$_HfbZ~#12;RIWd$FCKneu^E)u@H=n%t_~D*q7_@R@%vgtyrSU16y=f8hPzuRIU4^7MQHJaeWCFGbjoy7ImDUB7)Bii|tz zG|U;&X;UBJo&hEViE#kL65{ythmyj>5$SI7+EfoTNf2R;*ziF{aPT|%5XNS}V8&bK z=76fOAt}$G$VK$Fpk*qtIT^Ib1Od3Ko75Kn$CxSR}|Ngs*YmNPX?9;k)p1hj4cDS|q!vp)vI8RBk$<_e}8 zCBnbbfK`dez95egN#X?!HiTk<`4p4|fZ4l3Fh4T?4OCV7h?^^IsWmhQ5JEtF6`e+h zhV(cZcBY*{_ZkmoZ*%CjOQaweH!Ca4c7|-a#9^BZRNSm;X;Ftvz6CY?m)7E6N&uot zuhvLo=rnNc9wfcq|5hk*zilZlON(dpY~q36%2|E!?~NT=GN+eBgVLMDdOGLYj~_7O zvf=hU&5|cwV8)_8Sbo5$MPt!bBWBMQ)61*$`Zi*e3wvLI8hSc?T&@18m?Qow% z_#&WDNZ_RD!)WJwqF|^*@{FMXL!@rGU7TfuY5?RR(#$non_y;o<3~?iPK^%camxjK zy;Ey!B3+yKsk0NS7#(Tyeqq$ONPp!014jmaW;5tQ|L4OfFQU2UtX=51psQWOUv&HT zS*HZ*h}D40{?@C&DS_8*8Vwa!NvkiJ9ik53=7`{_vE1oZ@Q^B=Z;_S{M}x9tW_Gq2 z&H?bE45GkWXZ>AIPp=1{NeEi3hc%8kUSYg0HZqrWcD7o1%j$n=wTQ+5aYU@T8xkh42z`A$S3Je`&8x%;94+A!*K#`DcBESked zx1p$yPs*kHaYgxCr;_`=Urmez^6RetLbVxCiE|=(fS@i$9vT4HBve%2;gO*u@-F}i z7a$@5`4cb{k^`mLvCM(QB!O-WK+7-yOlKAUi}>pkM32B>q5^ttR_z=lOZU9##$*GM zlm-xd5Vc6-U-8#@$j>E=xzK>*ws#>?GYR+70Yvuebav_ir7dtt=YT*!{vEvfFwl4Y zFA*3d54-_Itay0qNQdAb&Y=~tm8l^;@28pvcunBFsl$|WQ* zBnI`08XvoyCYzR*8OdOh6-7)%bu|j2gAQL0c8H1!=vZ6TD$)+uQ8PQ5X!q~WWW0;7 zbiw1pw1n_eIcM$ZBQwO|Wr07FJ7@<&H9>~wtLy3q%P52cF{SyFrH5%MJx^R2|4v+?w z69NP3J0*Fe)`F4zJ-E9xGZe@X1QzlEa{5c*oce;ukr@c3*d-ml$4}}sT$N@*qS+(3fHH8awqq`{GDRDk_{$ivqZCD*k6KlV0J|gofzoh;e1l5tPygwOZR=_J$Z80)&Qc(X1Wq!RkprQv zHrVUPCWWFf4T#8By;k~A?9an?hhn>|d&H9*((YU><0sCyiTQ+LpodMZ)&kbxA1_it zHE?{iXR=Z;Nt!<53Ve(|jAp`#K48(YpLigXowQlGw{8;;7Qbh|@x9Uo_I?`9(?Ig4ZN- z^>cQA>Os-Hk)E?BE5EOM-iUcISaY|V&$phg?`)#|Rh;T$5)?a`w`#5jdqAi-z;v!@ z{U9%Yq&MM%Ffic6^#i*YxLqw^!@{TnVWTM+<=Tu`cA*qwgPB9{{y*q&>uG5D>kNds zFViyN1~-(@@+aZ(eyVZp=RY*8N#BSeEMiy$?AcL}A`%?LL5VC(+uNmey4L&`>?pod$^v!j=lR8&yo zzOp}Aj9TiyAT{UutC;vU%(^}t>BWwkn#YCpBvCf!+AEE~fwrR`7)b-c70xKkP zxN;jlIu@*mxGgYx86IMKUlh30qS3&8i`f;4`!~i4#EA22itt#rj}y&D+m2WM%qbgk z|Ne!9$d?r~qmqP=j&3RhA{qpL={?S6?%3o0h~Av4=Gdy#)aS(_JG|sw|#_|_}X}7JVeS9`lwO+*Bwf16Wq6q7p zp+AF)19(EmrwfK{9_@7x|1A$?MbY`&;i=D=R(E6BRb~=NHXm zxjNGcSHvL7^cDlr>&GYb@rQ)ouPW)=m8ie2*Q}UXMOJm~zh5N2WMW8AKWi1nW~R>2 z)%fRIG6M7mSVx>F0k8)lAT7va26fY@ZMyqYb)Db)q-!e;^xP$hgG&(TmPVMvp`9T~q`T;LCOmTA7{3fOh#Y;sG zO<*B5g)5kpTRv*Q#Ich>cr*0P+qn2X6Gt~EpAaxn5D@r%9w@X7{+`NO__w z*Z(%jzpwn|nwRb#!(vId1LNl?Ogi`iV_iKb?M_(0} zOhzQA)zX4@4Aay!EwC?t@qKP)(BN0Ty*@)Ub_-c?#JgwdKY(5RwrpW3U@v`q}k|I z8A_a_Maywk7U6jB#n$@eXV@9v=F<545zK6=Br(q2OyG|c zJDg$Iy2>y^35Lg9L;Jha+fEZrg8vH9wa6EixM;tP3Fn{ITjX7DkM8TZHpspGqaw*) z$v<6XNt7V(29LctMc3ci*JcWtXTCF1xhpcBFYw+eLD(sldNwSWWo`gsjn^niKnTf9!W zEg=qA>(Sryn~GL3oom{>lGm=nLXo|7FN2UkH@Sc=9xJLE`F_%jZ-QT!SWN!H>yFOe z%jx{_V~2Lcaf(Z4T~4j{tB;Uae@lNGV=&&plJibh@5_0vj_qX@;-!B-K3Ez4_WjC`d!-Nx2 zv_hA>ps;-H0^?=V?pr|IgSIq`*b#0`D5d-q|>k4?zn4jZN*;uen}0 zI$z!L?DdU*h^#Eu$7?3O84_X4L)tz%&!p$>b=h7bEu8a{s70$D>Bkg%^v1AebU61> z1-a*&Ucn5v{DwzeZ#xDPBkH?Gju4 zvL?c#K!#!n%4j$=8+AJieA6a!S6+Hz3|hg?^>563D$wK`-*#oPUI|%6tQWZ4ngUaZ zDK2OaH~6kzPTa?NqhdPcDTOw^ZcNJYX4K=v*wvGMYIDjpe5?M)7~f#ZoA`hGfS@e6 zX`po(_0785G+MstV(Q(j;R}adnuB{@X`##@LNp0F!|ZOTknCq0{;X!6pX z=RS>4R_UxlVxo;z2KEOfh++6X2D(Cr;w3`@?Cw`4)}T~Er5l5||a z@mr&Al(uLHpVxHUrDoWheF!s{d|S9hX>46-XbmyM9#Gbt&-4dj~V?+oH@GKwQ zYL?L5#$arYhWk<0jDi9;_fF$MfAS5#TT(K9Y{{+F3bVh{9^N}~zv7);W0TTqeze25 zOcLYaD2SG36P%i3(N8Vq=PC(BAlx=vZMByjoH?QmaxXRnMIb-=?WlLxs*BDmg!@!I zF#R#YOD~5L;vPc3@xW_i0yDC7*;g*?#?bI?)!3kX-_p{gdSt1<_xa_yngaJJy7}O= zl56(-sB1c1^ojp?@M8xv8tT~G0-|H|QT=Gx#epw-`^}mic|Lh78ap@yWdpNFb|*z> zsw^=FTO*)%qxVwQ5T8MnaSdJPS0@)VZSBx2u#%2l*W}Q~ZFVjN4Fpx7Xg8n#bzjVu zBx@Ee(Ky$f9CbfThYKxLIC}v7keNyTcL!RMGIH;zmyb$dE4trYBy`9jDE#H4(DA9} zDBi0eZBS<7JQsi7Ygj{O#CMCL*{vKCAHfSYyRQn8 z;^34BOqwT6*47w0d@VFN?uOi$tklPQjdUkh*<}SRy(}rhox6UoWn$8PI{J>;&JUN* zsCL9TU+ki-Wd$@z+f({Tt4QPn9RK?O5&NtH0oS(Bg$FUaZu1`8!O>hgFv;p6BuVXG zw`~4X0I;@j<-Lq(qL(DearWKxl97+HT`w41i7A<3M{A1JZX6qu)G=!p69|?yVpugC z=}FP>Ll*26$8*SZrCF>5m3Nn_z0hsj8W;Obje7gkan+y47}OU{B)`S>op>Q&ag}}m zev=+AHBHKUFE?4y_fW>H-Nba}eOjjQ;?a9A``6}{W?$3S1f0mf2Dr2QyaLSbI}yz| z)sB8A|LSXhjtvHG>ga6LHMnhB$klQJk=GjT;6pLs^Nw^>1S@VL0#`&D2Q%Tqv*#FM zQrcw(b%cqE^^Kx_s%Z~?OXcL;H(X&a7ma9n!m6JTsmJmFou_)@tDWNzIS>;L!I~lZdGEeTjudO%p#{@m19olcTPuB{^ z!qGjg?L2lQQ0~?984OuU*QU{rdng{$qH(ypn$hr6hpc2Ctvn?bqP?U3eIPV|CTDJ0 zB+}5ZG3}?E)|0Hp#o;t3nl~*5e|NOwHTpYD3JhzvDu#KUvPH+lA;*Lj$_u|=Oh%e4 zj|wZK;RATf%#?^uOs$C`I7>LNXUcrs%M7KAY<(iJ+@GVnR=p8pvU8N27h+}bpOb7u zkM6a_i=5|WFHin^SBGe#By3Sv))HTkWSH&5QoD3eNJo2DU=f^QelM4CeXrC4+Yncj zux{6v1zjzNs=AnzUC^x{)9{J7x4YR#t*4*OY*$7Fo}I1jxHPX!ThH|dc0Nu>;-C#F z`?o3jQbZhD74w~FKN2V`6#Tk}V}`+`(6CryI)ihI#k7qPN_JWGg)02hUqn5@$QtB-xwlr ze~`6uGA~_n0XZo`oGi!8_LJZ!#eX!}@*KJ9TDTYPHROc6CnglAY}~gqHCd}jdbXJo zCmy7d4Cv8o!Tj)<6K50+pK9khQ~x7kn}~wl(HjB(RxCr+nvpkQVeU%)xVP1eGF1@q zv`F6~hDRR-`Li=R!;=x@b#Fx)6Zy^O1URFv19+bEJ#RJXD4Xu~*N;2hgn#ZM{Ox$J z{Be{8hh*^cqEDY^5}4P;U6dHs|D8}l{@6vR&r|JMU1vxY)4XkSz|QZ5)%|iWcVn^` zSz>SkTq;%7Olw3RR`zMA^M0kBD1HKuDIjpLx4u6_a@WYQ+Uuz_KfVe#+GPLvLXA?{ zA@Kmk+582SNC4S*EWeW>cFlwY8o=F=5J$vdvADQc?SJD7AgN$;7YD;JL}N@XF5U&X z_hms_N(B4k<>mcx;sSIf1Q{SE5{PF27YkSgzCwZvGBZUqflGA;5CU~s#^%Q18#(m% zFB4JzuCgIx^JP6gZ1=UHp_k;fmR9jcK81L&ukQXMjCkF15BtdSXiZ+|jrZZ6lL)f< zvWbTF;df3%uH>~klhcIBXj8*gqss;^wu#M5TZwlHyFBD_0Y&5iFcyZT{qU#;>33{E|3j&gR9K0K+zK)ojvIoDyaN$LZVV-%;be|YS16&Pi1tNn%N;8 zgb4Yzta1gOFv0vio>_`4DSlNG^X0?sJSiI4mE{b*6Pp!k7R5EWu?O|9(VJ~7Vn(dF zByxYZ|JawEcibA27+fj=V2BquSojHw(UoQZM}h6fA7Ytf z*tPqjGl4z=A5oU!HyD(YiX&QllSzSpUjCXKlRATJh=qY@cGQb&=V<-%*O6WqFK(l1 z!`&o;^&>m3#p(BL*#HxVbH)#RppmG0R*<7GpA@5-Cm8vmQ+Y`}LoN~WMeh}GD8l&A z7GOt;ii##7ssy4?m^)?=3IyO_G(=te{9rDs0&fGxZ{CNAU0|C>k~;w1j$V6)s-exl z_vY2@;o?Q04Aek3`Ban!?BUbE^mZ}cgJ)#jmvs^NW{gQ7ra=`UK5|3B5=@U|>N;ny z1-Q{ri(+!SLh%1ap6;e|Jl!kF-v+zaB>wFCp!bi8%vpW0d_3GDShKr%x=iLf$TNpL zmn0>YBOh$O89J+t{w3Xl_4QZ+d^q>^Oq6SQceljvgj75){!7Pr3c>@=?T&3z!_m+mD)R6gPy z&m5J6l^bM%?2~5k@;oZZR2{;r$Sdes7$-z|q!p|mQWvc9!0qIphn46(fy$PZzwF{_ zsZ-0S(1|T+c9e1SklzMFMP&*4)r5GgdT%OBMs*FGS$4f*km-c4kTNUXJqze)cZKJT zj!>^4cWv8TLDE>zghfTSI>jokWRlU*B{>2hy?ptxPTK2~JkecAs2>AUviyor;Wqoa z`Dtd=Sx{X++C}y1I!L(IU=Te=>Pd!cgQZPLnDp~E$_4$RT%@zv54JQuomHH#fB&_h z&yg)==EP-mxZ&Xac6bqML;8oXEm83hBF6|$Bn}u!5rcRj&Zbr1Z^9i{lTiQl>v^>Ndy1g+hu6#iaj9(!+1hRIcdK9k&+Czcqod3!=u7?0nQvSe2ztd* z26IIyPg$Z3Vi9cVBRrKMqy7u*W|gRPg=7#(NB;22$tVuEG1;RjU{%Ty#?9^Aw@&YO zLTheaFm*yJ;8g8pYtFf?(uFxWcgQ_syAnT0ANc%z?)_FIZUh)fRhK2jV#olI`lR|S z0jwTOmwQ393o9`Os61eeG9d68nG6XeEfRqN+!WvQL|8xFrFI5rh<0UdyymD~5H>J` zr_-tR!vs48IdcH-BX>|g579>@KTt^o8Rt?-!B7GUCq+uQ9<{XtemHYWr)tsSt6yE* zbuhhT>!!L(VIzL&PCf=l)pL}H1YcN=g7HJW%VoW#BA!8(l5OR5&U6%F6achn82hnq z$p?io0cj!rJgaymMmZTB0q~zaTb8ne#FZdpu%fALW&Kz}sCo#Io&>=H+aCNTLNg)L z5ZhxeN8N>h>vd$H8_@RmJT*e>L6S`|_(35fiTB-gF0LRL z3CK?Y9p~-(k4clGfEqMFNov^HMT<)x=pT+Na)H?4T&c%ZQb%7NfrNX?xx;%V&Q(o* zJd59+=cA1+ZF_IOP-Qi?6t{7g9GypavF(C2LK?u?@%&_W z5JVa`U>n1jKWW(7t}s3wG9soS7ibpl42Y=^ZTpD`iD1H`CKoa*`fvzA2yYI$G!}IA z?HZq92CpGCh8e1}M0;Ax;{1cCrp+Xzf&Zc-{WfPy^hE6aXTyS#2Y}#7_AKwT%jdAW zRd{HBkNDiV>2&Py8{3@3;-PK08`hfXlZH1 z4*r6$A;5T%VdijLYC_=oxa$mI>Ep4$n3%&Gh-!v6*0&nsiSEI)iO0RnFiiubaUa2Z zM6jp23c(4?ps<_^{gH#jEMh5bX!p0M7ry+!EuAa$r?pMqSVWhAvPnz|Yr+VD2c}s? z$s!3~=NdGOQr$VW4rg<|(mCEBBuw&+B(i$oEn>U!rvH|fCS28?l)cO&>N|)^*MBamx5WSxQnTpkA%LmUMxu(Hm zby?h%2WTgHaKeD(6VxG1FkTbfn1aCYJ@{E<_ON7F$>LLK>DPt^`i|R3iUK)J4wdlN zS27XLx?LXECT2j#DV;yz!#txUy;~Ti?W2ujMs0R$!<`OC{DNT6#`K*mG1dtaK`!++ zm#PBH4XXtz;mDRDjig!i2Gq_@{y@~7IjT9iXa>4DVLgrFbTcK5XORPpI{x<`w5r@G zL>_r8zjf$TDIAvy6`qiT%^wU}uXk?SS_@M^+g;DwEbsBjC*9ybypx=0Wt_ zRGtW@0*{HK(U(RoBVXMZwOdzKvCVjXA#|X+?}JUy-h_v{P$pgc*WuCFR%Mn2x91FJ zb2-K7N|yyf*;rXwf7sE1lqQt3)!HPuZ{$J$UBTT_5M)}@8WhV4{OEbe51P+wO$+-V zIny8!t%EUjNPY>9I?mE=kq7&z=(&5pHyVeZUlC#TWyRpk(~|Db4pb=m4n@J%VE(lY zcYFVGe9K1-%|>dq1?tA4>|7yqFePilScphLSE8zso^Ny5bv`i`zkVMzlWl53-(^8| zz^#+^a%DjKOdiI~+*ML)cc{wMA!G`4UhZq{c?1GE?m5)GHggTB(;e2C*^n=wGKHXL zt9@#CqHKjRqK}btr7z&N!yyqs=}|sTosyZp#9!VUU5?N#VaG-Hn_4Hblnx?3Xn4TK zNr&;#Y;u6gcpN<_Ch2CEVjWFwYg(3TPWVU5`)}fjwsoIaV!1G^s};zK7#Ey5O3Jdn zrPpZ<1r;TxO+W__!+fJ_U?OH494UDel{T2Ak%0#n!ud&%>BR^d@9yoXR-8VSW)yJ? z)ze_ngJBV|9?0RK4rRwTxn)#vVe&ouKS+Xj{7QXMhWGi-W8AY-8w4fRSK(5RFc=oj z>Q~)m{dnE(bCee~c~|O7A+-HuIc3fcr{56=X6-VUjC9Y{!{u32^0{N1^3@Z#+j&8t z8@>V+g?r`5;!{x&51sc0ZLLw|)7H%uh$JHO200QaG{UA36$#s57^z4rl3$Mu>D0(k z>Lmrq2Gsk#zkm}+#X&9Nudrm@dH2rPyYw$wYNq)qO5roc@%D}VRY52|$gofnzY@?# zKA@o<3ew);#B7Tv#B(#QquyX);0h5Xr>5*KG7s82TN+iBWs+4dQ!+Z=NBN%UBA!L7 zc5ymfj!5d1H+)A&5GXw;jS+Kstl(%45>;LO5397*AbR1aBBXlv8a7boktp!YDlviE z5YJ6aOMBWbi1@1^S{w}o(d#keteEF1PhWy0QDh8PQZyk5)Ti8Y$YAPB1gD;-}3eDO@pm{eA@+X8%UTIGnhN z7cW2cuXZNgJUcLbJQ{d*WcKm+$<8H&9BFRneDDotP`YqxHCJU;_0bJNKIMYi$8Rtg z2G5Q_n{*QbZ6HiD1z2%pyecx;7fvrESSs~)&Q2EeB%r-w(kVm|%xVvpIiMf;3bJJ+ z76(x-fV=^srjfWnsBY0={?a7S+wSush{YW8e~}S+pwdl;pswnpwJIcW6vDv37^Yk9 zV5ZQR331%dHyW@jjt#&^LA^CZAof9K->Avs0(r`wQkGcv(M*% zts-ec_9N<=$1bKeBWQ`3nri?zPyuIg!-Mze% z=aoiyJ!hVCvqH*2YJJUvLXl5VkZ4>fBlPQ|yBx*bEE8i%xm*t+IRLRRAX8vL5DD4i zZ(#Q!qDDv+jE5;lW3uup9#BRgQ*NOQM`m4t$^sHF(&6StDh}x8B${M#v#dTs*LEMm zHxU;n=u%*a#k+_Ia&QwP)0U8C4J2ao!s-mb-KGA>2@HKe!bG_?vKhkJ+RDKal_QJm zy}%$J4oE|ghls1$JE~ir+gELqn4zv}3HpYEX%5)$Kcx{Xon#?>i1~G?5HoV%*&cXYvujf6LL$T z3t5{lQP-ayQH#z#w$37!zP~*DOjm-cTPA6!dszUUw`_y+8ABc=UI-kwTPpEn(GU(MF(xgmGNy{Ffi7xszOPBYd{rqs;dGKtPCQ2c$^`Wo*w9rz#$ z&&hlzUT%n)KE~1xWgmYksyj^6=yR1fdM8(&m)MiVMEbfQ?Llsa3ScUf=&Knl5yT8h zeao0*b-rUJS>Nl6*VNK-fecQatZ*Y9c>AKSv~cdvuYqkr3a@ zBC+LPxZW`t>_YGGIuA?E67lx9Zid}Zt2G`!HN0(POPNQD^-;CH*6zgoJ&?zA9k{!ZSs;l z`@-W+}$jfWOPk6UbPr$4_$mhL}HPmAQrt*Hms8N zV&&}S?8)b@2bP7MLBiT9?q@|4_1`a08#a^@B>Nrg_OIO6vQE9B`M@aXES-y-N~Z8k zy8pM^P7{UMuFToY)J6Fr`>isW0*18TCz4{UwhjnUDdI-L8!x&(?B^jMmvf{KcLU@Tu3zDecAaD{H zMWo=e?ZI@xMvJO;^xFeP=2`z~#X`R^lg5yP+@t{&|27;eRW6L zjI(%6r|#vFr%zU-bMf+#hpzDFp{sl}dwqKKVs_5W#`Wyhb1yx4ZDEY&ThgnS2CVIc zsBr_Hn-WQE5U5XMt2zh@h?9bI+;2V zF?!Ndp9uRrFJ#)%koor{Ax7{U(50X-&l0!7+#nVX`d4F`^fXjRKdxb z)`Sc}64i?qpAw(&XzzZbiMU%-{3!?)u;{asvn)$AN=`>GP(MYV_xhpeoeo75Uc zs`=l}=9YrPGAc1so=M>d=b&PLM)|SZB}t5!>)d0K4PE-|Fq3>JCM>RMG^(FF&b<3N zD==(&ap2<5*uLhHZ5B2AB4Gcd$t<`C`?9uxHJ&whC?LGfjCAI2S-3Q`yARjZBg!$o z)V{G{HAmvRRG_4MLI*BY_pm)+i6?OmXcx&QN#^eJe8GM}d+VC4nK|+rC{@j?mp5T< z{Vk$hKPp<2UYfN;Oryq6N0B+Pf_l?x>et`M8=b(PKY6NHweD{TQ~qY@`L^SOu?6}3 zTvQuM>ZX1vIA0}kH8d(!^}A<(bB}wAW!z^Oym3M*CuiA0=R}qHfK~(nf{K?jvqzT> zs3}-yF7%5bF#DFteVjb13oczbOwCPazOfR@G}?jZ@`K!vCIXeY9A5nCd(Wwt(HZ_3 zk5_zNf@@9B%E84{Ry5>XX}R(w#3ozO@Lai|z-ZlpM7fKxwx8^)_aB7(G$TH@lGI4D zsi&%wUuvznNzI;Pr|ItImv>fLbWi>TN~UjO{XoFsafbf2B$S)FW9ahIhflZVZG{2t z?+MnrHhN2n!k@&1-Z%LKo7j<%EAN#vcSEkb<Q+>_z zQ|N%7o9dD3d6Es**#C>E{|=}6|Np>ovbPW-WS3-QCRB**b&i>pz2`x8R>;Vfy*WoV z*;`f_;UIgDWADxH;r0IfzTa zpB8u7FBrzZZ4psjzdJY4FPrpP->3<3iJkCa8Yl_yu5xvpo2A5N-Nk)>De$4)H$!LC*L~O!a{OOW4o?hQ+NoX1bpmJVt)JrU>K6iY}{H7?wX$ z5xDWO-&*9kdka3JX6x*`W4yA8{=2K02Ri~A+pDx$7&|Qx+Dq<~sz9f`FkksHU{;@x zsHsV+&GD4;$D06MS_iI}N0X6rk33 zcJ~Q4H3i#L3`Om;74yquR>)lQ@9KF$gCB7cJ+YT^F~>qrMe6dR~~WP0rP?H ze-C3zmjwROn~yHF61{2n;7OF+S2(v(N~S4L_VhgygWZOh#_&9S57vp3j-(85kCX6y z|Ckj;IwaqXu*cW=5aADLV0{lAK-gilV`#x(56~EXo{0tLDa7J+2phOUCZfqVYQcgO*ticy-hL@1&;S&XazoTOG{AoJe)3rxB z7a?h_yb$j*ln4$t3yPn}O6EjLvKhp&zQk$^f}swz5^<3tZ9NaL4r+Ng**-^Bp4_L5 zZJl0-pq~7p7J1@pzw5b0FfHRbe!{uc%#)E#asCwaPpl8vq>OULi^}VshDJe*ovZP9 zSdg?e<5IX+Lf31&l`663G31YtukyC<$J85H_2LI_qa`c%v}7nRN2x)xes>R9icE{- zdZe7$Xef>YcMgB0qRO|FFRfk7$ZBqbp2vm5htc3*|}ddol)P6#>}HqwcR0vDpX&)Rpau98)LV z3ug=>@F*oh+B0|FtRFnxNvaM+@^>BpRVc0#-l7f2? zDduL6z*%}7ky~+N_L74SEtSh2JZ`&Re&u=wW*3jK_G!+`-`}c5o>wXj+%uFaz7KIj zq%$yv-IE4;QEK^*jR@?}TAaUGDh;Iz<;4tsyIjW;BgW4CoSEA!9XQIN!zg9if~wG{ zLrCRzFS0dK)TrGKeU z2yO5k)=4X{>KR7vO9B`p@kXslh;1ht@8#bt2isR4{{8SUuvn_BnPWB(zM|VptDiZ5 zt-pFU*G?fzwq&@Zi@N10WRab6Q>0a=^qJn2QSeXbvQs+xky5G8L3<_W0O(9|I`PZJ z()KIrf!UdNJd{t2Tx8k)SuP09!@mp*V@4shDONUiWPAi?{GEGP+-&?%hS25mx(7sw zomw3(Q8#n&1L^N4j0ZY-t9v)5ux}oASRbxwcMSZtM@GNr7_}5ty5;ANv;~hZw7n~H zR!a6VHlIuags}pC8tS7Qu%138{6SAd?)G5zM)i}?QVK%bt>Ohe0-$kB0d)KbbnkIx zWX#f3H*|Q87fKQadU8*L!fBC>VeHgRIsfZVzk)j^%Mq51--ATBY=zrLRZTf~_>+F|+G9}DqQ8%->%B?auXSd#lv7Y6W4TJF zNh#v}GAKc)*tL_Y#;mK(S0krGtgh;P#?C+iJ5!105`px1*x0>&*}xsf=1frdPhBrt za$(U!xZxiC2aVo16SqM)%R6n7rLLOY76(|-g&s{cS?YB7rdzMtxMd;N3WYhD+dIACNil#-Sw5iiS8hEhN^(X3Q;8XKa+; zGNtERm9KA26xbpoeBPJ%mAOLHmpE#I>jUz#*$bHHTl=ycZnKm9g+D&5b>o9Uv@h(& zVPsVvBJOc{wjhml(ry3OufVQgwO?8IIaU#U1-S3tvWz$!_$hQeUG^_+@7N4xgZC~u zb?g?B%tT=jF*I(nx0>!AWpq!X&%PpXm9=keZh#mBEeFGiAMi1xJd=8Ra+Y94ma;X7 zj&M`TO8`e$Z18H=!`Dd6T^Ta|87|oie5NnTo?P!3D}HtcQ2AcY*B*Y97C-rQgHG!HWVj4I&#m)%|#ng+=NiJwv$y zt2r9|d55F{@>EJmA#XQ};m01>q#J4ygWEYwQGpJcP%=wWFz7G2eq45*=6c6r+4c@# z@~5tKe2iC*>9c-;kv1c;rkmO>Yyy_fc)ai!dN*~woj1!E?&l1W_m<~5YnS8qo!?;> zg^{RyKO|GK^bBMZ&xj08&N_(+6O=VB=~Bc=^V?>C2aK_SG2*h3 z+mTp=C}mb-d`dAvDirK|3MaIVsdZoL3-q~^*cQe;*`mLIuL!(lAD-Qv{NQbtt3Ubu zZ*T5@t)jp&+reifI~msLBRmH|OM; zPs(yDSV-QRhTb>j7Zh6LI!Y@_Aob%g?dL>4XoG_1ANo-Hvx7&l#w4ifTH?`6n2+oa z(z^SO44^ftd#%P2gDBa-8+)T$Awx4fZaaU( zwgR2%fY^biLH>*mV#@J8Pf@Vd7;22eGPK{%zb^1#V$i_~j`9SZjvUW|{S)Y~Gsg#* zU?p&o_?S@#8q-)tzxDgO2*Tzi-Cj}_LDa|m&uP1EcYL19OL5`;GrA=}TqrNO6#=w@ z_^4=n&-_%UC-zL{n11ez)}1H=;s{p-VZ2{TA_097}K{ zspPZ4EWi&-E@4~#Fq@fd-dqpZ-*;~sL0w70_?e9wl$MKVAwm+xyBP!e)gbBMSO^w0 zrDl}%1?IgdT7>dW+LsA-6!nXLkx|H)w7z0!y!@|xLrdd|p+n@q__A|70o!tEq2pc4 zwClitr*}KaTjvLUM*SQsPgJugA-!6%~5qeUr1mBR3=Qyw21>3EDFHFw?GE25v=u z2r)?Uazk8Rxx%MbH4uy0PS%CP#8xLSe5OAsmVW6tG#u1Kxpt^p`Ky~r;^HSsHj}*c zVWxQI%*O^R{hs4pb7tQLRwb?pu8kvSX+pcX z&r_7(-c+pXM+H=Q-R`BIv6`#+)qwh@mH^5I=Jf78YFTzuDC?g)%vZy_kl-(E9qBu{ zgEq$(v^Wlk?BupI?R+j%(ae2;Xl@AM$? zq2teZJR&v{F<#Gj9nafzIGOXwBgu1j9>Zda3I$}UE7aq8;Y4~L3q|pSu~plwyd39S ztSsG7CZTimPnJq9(kT*R-9?^no#85Rs?|&>2JaY9rk|mwDGmO}MZ}aB7tNy}Okc$a zv&ply9n8?tN(H%2YY#lzrHCa`f7BIAt!x6eK9^q^p~rC<`e> z)Z#cUSdu?(5dXqVknSA`F6^9fKW94FToVDQM+XmYSF_jTpC;1my^)Q_^SG(H@E8WX zzbGGh-6T{2u~dd@FYQfoCg3IBPmbi%ZXneO2zVB)p8ks0CyBDBiD4%$89HY^P7*|Kc2tjzeDq;NFalO$ zeZivTLH5z8!x}aBC;~xkdz}x@=_|LT+Sxxr@J#?Ezk?1{--NEY=N!Y}O;0J6PhN~S zt02*AAQXjysjjaqH#7j*#+xjVAz#JQ;xic*Q=pxIme@u5iKNROqgxJj6HfNHmu*Lt z^$hLia+E5kfW2!XfeZ4`5(s%hzN+L+nQI~tF$=!b^sg>3Ae*=zbXQ|CbRUvY@_@6F zG|9@1ETaeAsMVyF&&bATpj$BhALW(*kZbW_-y<%HO_lUfRh%OD4hV4Rha^tSEMc-UqV6p+CyDdZUmLsqA}~Tm zx_CCuP(itKOc=+F)(TMdp!X^KF^1>iWtuD;MA|-zA_@9tZ6&*y(5q694Y7>% zEv0fIN+42$cJy*?kH*B*2ee8y^RFi56j_bZGUOqGVv3aSDZlwZt(A*##cd(j)PKPr z0kbxpW>s8pGy27Y+f1mzYBVZWs4pzD;*o~8DE*!y&*u5}2}X0pm^Hv%NfnGVTS@ub z*w; z&z?2ro~og#mEaYNMT#J%CZ*gR@V3+<=9;_}j`s;f&}CXQPveWys$2?+MebYfroP?} z`VjCy63QCw{fYXJ3SyD;x-@?9BYD-Ixov{hDZS~Zma*63!E2HOho}85e>07AzFJ!3 zGBr=cG7m0xHhZ1?EaKzw9sB?+)<*iq6p}6SG@BGs5rudJnm-GFhnS*T^#I|6oR5#X zkyOII{hC0Q+{ty-?uFJz(P>d!aat(fO_ItJsG@)=(gG6SaaOESqA?kU6Mg#UdFIEZ zs#B7>plq#U;LXUfX`noKc%h6Q_t z%1SPY6?H6dLXdx_8f)L-hCcYFD=)dEHE#B@2($j82K6gpJVQbH732$F>Ke~Om$UHJ@Z-)0ErFCzP$Qy^x>4Ie9 zqS*?u^H+X5cGjg{V!1(YT)V705w)^4@v@GYa`oRUt`OO9qxr7S(^2(<4T`fX)xo7J z&bjSzxot%~S~H(H7%PlDCe2Fk)=M=pPXI7C-b65;=AtruaBNP_`pq>gK@eT1F*|=F z@Wbb?o5){(!Ddgxd|7Vo$M+Pl8O4uJE`kfsk|P7#ovMkTxQ@~DHS(ZyX(rd7F61Ca zqlr}OU8xU%j12h;muM_2jNiT~*g!nAb{d)RGba7Suwwv`EjPh217n1dNx8A9urTe( zt+Lpx3Fnc4$~w7u6w{KH(>gYoeMkFTvoYrffBQPUMu|Vz;@JB*Lv=U7)2eC5;NSy} z#S6eZ=??YE^!N_3e8!M2fx8q&82nCe^zDaZE=1M`SCTPsOL$@rl=ywsw?d#52KIh4 zIN&w|I90WnK~dhy+Y&!37@J}eoW5noAPzywJ`I#PNg zj(gYM2f<}cLwl0H*P-wp2a@K0BPFozD!e0rL2puGD|KihbW*k_2|ccr1)hmENTe~! zyWTQgT^7|37DJjd!ca0l-7h0Pg0n4{rdAa7c<jT_0*EsF2@_DZpfTRrzRuO|P%E$mv)* z2U#Hr8Zpjndid&(P{*MIDDtbxGJX;i8lhA3tbnFj!|JK5(f*G~Z{$HrYpkFCu>kzl zd&QQgn?@5#DYz}iYPW+Nf`Z|kuGY}`lxD68?=<(~$T6h+NL!B0&(nsh^%p5uLg+n( zhS6OADLQycmu#q9>plhzgMPEIvaH|ww<8(j>jC-kzPQ!C0`*W`iv7-gAgk3X!8hZ zl6S;rAU%!s%=5VJp^KVc^4mU-M85jxCPFw0k_?Y$S{s5LnD z;pb$J&FrjPexeE#A^RVuO1kLo9eu|Ws9&D5uB(P5idVLp=UCx;UKZ+1`R@A50sKqxvKpB~Aip|+9u30EuT!`qX)Y`R@~)TRdLE@QaVg+(+fJeS)gSdaN-hp4@nRkr z{h*2~O}Y806mQfAbtlVA{xvI}pWH3pn9o(d5NyjVIloH+9nN#Iequ0Z(nPYh(-^5l zGP4<1V7aoT3E#n=`1O6BZz5@mr*32Uia>?J3N)-GpbU_Q6*14WjR6?!f08_>Zz~`hPQrLz* zo4WjExs>GQL65ey8P)x3fVD+}A}Cd%qZcE{jwW(&l~5XIFz#=gM99_sV^T^tRRcnV ztDhq+p#iZ%zkQ9!A-16zI_L{cMd-!wmBJ-LvYC&9MJNyd<>q@t9N#<5-C!l*>WH{j zG4~T0$SQq#nbNPZKO%K6klSvSh4G>i<<^ zMbps#7iH#9_zz{42x-h3?^tyk)iSWgNvfsoGi`y4t<#?sVl)s~Gjd4H2sv^?tjs2B zff`t|N8k*exA3#;5dx+n_TK6g$8)XmQ(EnNf&S$-RtHNo?pq8E*H4Gj+4CctQ1U}b z=h1DmrL5f#OF}P{Z>+wj;{H2fO#N`R<$A)!VL5D08ONE?kvPP6ww9Ah;?@4u7O{uS zy!bbJ`a8#9ab@!zU<7L+?H`!YR6c6@`Q!>vxbYQdLW zYW%wGb%tLTp}rOg{fr`=>WKw;s~gqXZcuY25stU7a=`i*tM5w312I~Z64dL*2&+zW z^2{%G8MHgMbwtAT2u#^xpL3zGW1xSVhO&BY68bIt9xXId1*XPEn=G)8_c9OJhb(p4 zzDLGQpR&|hZp~C?%A+|yJ9|RPX*=o)gsrBp;&qD{Ve!+z z9=bU_#1UoYnlFJe==NV^fojdF?Nwz(Ov`|t*x1_k01$b)xC>)U7^U_B&d=>5o-(?! zuLx_Y#&Ag{rW`{NY|?&-a28#GJd`ehuy>c(e7?R7D9Kp8-NYXWjq*PxZ#`vzear^U z&`AtDNA7ot!sOs+AT^lR=;vOr$h}eYm($NTGedts!~T56GUul1*;kDM^MTjnXzq31 zNE>#!BM-4k~9^#9u3?`*`;E!p&Ki2Dv}aThH@Tc=gBH|?v-WCF!}^GP&r zsmaEs?zc?(1p!GFH=>b(tB+F09?0kx*@zuCPhGm(&v|Nn*Dkl*W8;Yb^YO*ECl$FB zQn{say2x0TEBZlxcdR!#F^n_KDkF?nr*Hl&RpqpOpz-r0*;~hp*LjZ&C0*41n^k6& zD;Ec`Be-6Da04hN8Cf66VH+FgU2hzXehOI@`XSs2n(xW9e2K7!uTBno!Yw{MLVG5<5X}(x1S@A8 zNL=$HQRh`jg=K8;$B0j7n=Kc3VWTFmlkIPG z#-L&!;&J7OHr;|IP;WY++m`F1Bk*wTg1C&kbT*1kPmwOZhv1YO5q%m>()w31B7>`^ zf8@|#={G~S-Qfx)L+UoCaAwLIJa5RP?T;;F@3eHzC~I%U@83z@R)VHBePys7jjdw* zHxlYe;r#9b6%z3v!IS47uh=%^5sv2iwe6~L0J9{dI&_yy5-DrNMHEZME(V?}Wbr-d znsz%j=8)*WpEYE9>8Z<@(tyzwvYe&bZ$dy$CnD(_F#Qta&NbS^poX=GIbFxaXY{GYHyLm~j&*n$=xGXX)^qC>&Smw(Xd}w6~UsHGtVt(B!t^}p-?-H8U(2zrelx5)v z1B%e!ijH7ycN_fW^gC7`6tTaNZ%<%qJ1Ry9=w+++Rr18bb?{ihMmS#es&+i_<*QQl zyzu7@uh#?f&ed$iN>^4Nf+k@^UXl|FpE(KvkIh zOae=y=m&i!vikCHk$>>9-2z?MusSroRxlAk&KO2>+f??E8dx1HJ+lz%9lihHQI^pB zv{f~Pom1sl^pkDN!v5Klmm|*t%UL`9=IB8SmL*RZRs5(VVF0`|&EF`4j1&Bf_tww^ zN~%X(0ICA`C@*1GR1^F6Gc|98zHrLDlFi5UeDpxMTl+F3MBb#Wu#3a@b=x(m> zv~ac6Jp2*GqaTzkD0pKyd0)sTm@vN3N^9Dm%DYhzvm+m+(K)48gE2`NQ5?f!SO=D4>_>_<8l>P6gayP+uaS|b0Lu~C}p=I21F}#n`KTqqA zm@jg$!%8(M%C}`H8luMLRLPMGBK=2oh*@H*8L#s*59!@agGsE=M^!3eUm@h2*QbTtTYx|ldh~HMmWWFGc-J;r^Xab(p~=kN zu3Z~{uFpm(UmTgYu(^@mp(MIqNljGpGp8({Y#h(%j+43`i4*ffzJEASyW7M>H?s$Y zv&e@l#IO!BzM#HxWmlZ|m*RsAl^M*%d)5CH+M7j+H9I#l-&tyCNl?0lnTVYqS?Dmr zR)}hFel|ZzjJ#d(W&q?Z`Y1x|sTT+0PozAuC6Pxo8HyaAi{w=dxKf%6>7zVyn~!Sw zzi|tcFO*f`1b%>u#dY24@yIYxnMX60S=G{Hg5S=Z04ERq^{4-fs!N6&TCvh#{rJ>S zh0cb}b`7eJqxt1NQQi;va-{P!VvWK5>n+(#xzxZJjd<2xN|+#FZJDzmIBCP!eL~;l z&hLTek!I@!CQbP$6ZYv>87KR3h}iV`S;YZE0^q3Oqi*bvE?wd$f}udGtV({YlJ-~b z`n2ALH1NY0P~xcp6;7~Gs+8akPR|&iHu|7hNs0>TUQRySj$BsF{88tSTyT-_K3?p`A5(E`v5Y6DY&6CbHt8?%(*0 z%o8v81Ua{t?mD0GXi%@hQLAsY#4%k$hmQHylll)dqCFk&mt{uNTz~&lT+Pv2B82%v zKAB69G5jg-EKjo#it*1rT9eX@tL3-R029)(0I_fK!!$P$EX5kz-odgHaxZ%@?4-fPGKG%5I2U+Wd|A~ST+ zK3uaro%-d%Dfw0dWxJpBgL5O7SetFL!(n8P=qx77v%qRBP;t*_#d5R0|A`@r% zhy(bT>~s6-r_Jn!%F~3VbJe7O`uV+vm@lCpot67pRWsh>j1%X}#`z^9;!~fX$9JZA z^$zizoH*j1d{*&=l|Q$BpU@fH@oxon87a@a;i-o9-c*+UTOS#@ydG?^fqci{{ben< zYxb{PbhHE{Sf9#k1dgA)m8Aka@*@vi5xfByp}b?{b#7OH#x7<=w?x{Fp>}(fBYrgb zR6$2eOK!a+26Pg^Dp-A4Bu5tQRux+2k=xjk()X9a5a9nF*G4?a?Eq!lV-S6I|TSKOmek|eb_WUMbBT1i8~N0^s$rtuXVV0E7iukw)otB%^Y>wmyH>&&x$jQ6(o&er!3Iqxs0=p zl=?<{**19}<%!5IE9uXrc~8OFrU^ZMAIm$hB|Eb=jK*)KQXRnfRxLb{dHIzy0dgKD zOXBWMG}ef=R3jTB(6ZseA?tL-4r@4`8gdRsC_L#p(IZ%e{6D@vx|bF(o&U6%Jvz(; z07e@PolX|Z(DN}?y(j7cZ)Ptyayay>_d_6P>!rNY14Oi$GS<$OIOGrfAPE$PlTxrT zqB(CxixV%>5)K7NQSFLfw$GMxHmEBsG*#Xj>~ zu|WOzQcU9Zv^ciW=e(< zo5OL0vu|09is(h9BMv&N;ox*RZoVI`3dCH$;&r*{8NDBxIxFV)7- zUw+?%bX-Rq0^vCvq=IP;9k~K)Pb_WQ+AQ^+m?j>Zt4n!dUJD(u^9#mpJkRI*xueA_ zWpz*aURxVd<7^+djaM2dk-};k~pE@hyZLNvDZ7r$x z@W$xb$npx`9lZeCVyU%V`k1un6}8m~#~6s=$yIM@8_V6$VNQ^o`J5k7@FcXBT(4-V|=nIk@~?`Z(4IK0ByXt;ok>;zTG2HpO&LnP&&k-SP!i{-*2zTD!=zL zr^_dfNL*do0{W4pwj;C-&!SuXH_YD3G4Crndq7N>l!-QMSSsx}20^a+sPk^BKp1-l zN%I)tX#E4c-RQ(C*N(0l#)IYs@x)-14J2S8*pgYoBvFar^DP1u{Y)3av=bp2+#SV< zCL;tRlOUcT_}Nm>7HWXBI7oCW97NyuqQ7VhW87Q*i9n-1OjMwkGX>&)@fr6}Ktp|$ zG>P?U^GD)WY-!9F7E6!GT=1?Yj%7sZU@s(cu^a|V+fDvOf2x!0^W|J7gix=LXiU<9RXAS6IKw}w3ou(mh*3gWxr8kdk zdf}a2ILwCNQvzIaWDC;inTkBK{`3#x{J@@Y!TWX$0xa*D7^vwhIq+f!0`wk^{9<>K zNx>}&E;_}*(R7CylwYaEoBJ!lL!E#<1<)LC=G{=Bb%F>MeouzB`;J~OGr5+gpufj_ z7`ATx^w1kD^s)rLdT>fGUyG#Y-N9M&U2Roje`4yY0S96A>Jv-{P^@PUw|^Ifng%UP zRs63L`}O9m2}16A@>& znDezPy7FA@I!-IQVSOK>(H+A5Bk}V+9)VMXeACq5H+)?a@_A(gb5?K(UeX`Z-ax&f$dYkZ14Wp={L#)h`q%ghCyyD5?k91gbk;TFM0tnoS&} z)9mWHkwP|EhyuRG$lM^@pj+e?!eqf$93z5Gi(7K>Dx=m&-h~j;3e4@NM!a|~snt?L{n@>st^^M&77rbUyotdR{Fn@`vHvN%Jr{h&4R52)ihCJ6cjF~EiAnM$BKtFNVwRLigb(fcR*(6F?qnqZF8boWk;i^w;-%k7R|HoK zLOc{;UX91P^Od}|?__CcphhpwKYlK$Nc``qq;iMY-pq%Bw`v2DHj$ueP6;|33V!8# zMvhbhP1&x#0_bm>(Y}r{?Q{fHqZBqetb;Fgo6x<@lDW8|PniOYE?sJGNB|LTr^ZcH zwn93m6`HX20O*)ne?Ik-j^7&J0qi<_t~5$lFHCky_|!I=iH{Un z_VucZ1M(v6nunAUCK+|C5ZeN-nHI?R@nyVMLMKIC`c&g^0vcG^cTpo5gi;{9^IbdY zFNdmH^Jk9Agxjx+maKZ2Gb|RD=`^bDu2>%qsxbD&8_{n?2 zrn>O1P70+$C0VN*^LO4<6Uxuhh80kfGoFRXCA&A_mtHaFbdAK4642_aBeg6tPlbjq z6xC&*hSyc&QQ+AkW>VL+g*=G@6ZLiaI+DIXDoTM9nDN2O_KyR96rR_)lwkB51b_84 zwQm`XXeM}hho1q(R>ixN%r4jS9W}f-oWx=AbT!y8xs^*ig52nl2;C1_9L*YpYH;Ze z2D=bw*YLjvQX_GN&k2rBqUPs<47bsMdc#yCUZ>|F(*Mb7XtMiCr7WxTBaU`YbD~=f zs#`$J8&y*~KPAtMG}a&tO2HY$UDrJIZ>j_rsxUaY$-JZvT8b332Lz)GR)D7bqjkul zeqct~UtJ-nZ#sW^IVBUM&L+(|;$?RQ#5)Qh|{IuM0o+zWvj6ub{#$D!61NF%l50!51 zYV}H7hsjdj&VSJ4crSG#dKAPuGfEL5ony4uzIg4+zD&b;8o2iuIc~mXP$Bh{V0=er z$g}M&u#q@&eMM9E(zI@{Zr(Y3N}QO8X6(d3KJ5kU;I+y=XGXv5h{I#scB%Y@5JI5J zTCOX5g+O(J=29dy>iu!1bi|(1E;{{8mOmsdbbBko&$d=DIfHchEJI9?o~D%7_QKD_~?PtHdvuu6+G{qEY9 zZpVcMtl(Obg(6p{KOfb^Q;fQgs?;4HeE`G*Eb+U@TwW2`gb=TI>QaPK4Et6tK=Q;a z+m$rI>Cq-=$YGn468B5?hSWKr)9S$WVKy+xs& z^qC1%KRypP*sRGqy&Z)$HM?t~g)|=TGEIm-7;0TdsuV?m4_;E_+hIWdn3wWHN(aH_ zvKS|=5{{_ZdV5ZirQzBooueDq_Z4wndz+OdNe1=yY|N=(o19eJm&{TeFY-ntT2*13 zmInIIo1U_C$NX;;#?8TRh>a8ehb2UuTP*T739iq+BL+Fhl`sa6VEId?C@jWv4f5~$ z*{e2@O^gSO2cu1g4ri}w>xruNQQ~~^g-BYOC@7wxvt?1j^ZO)*{R9qckjcwu)hZ8I zVAy@%?V?|UQ*nY0Jaz$ey(W9^kssM7taOX6JBQOmEb7s=H`mrTFsk~%9Z+xnevNXz zl77;W0{wWh_v0CXF_|%SnGqUEHp8BN?5TV8LXmU`gu?XyK6$LHI;?`g-+NfxPLs>B zJrXqVqo21g_U9{A6%9OKrB*#p1L0C%5b$Sf8VF4Nicrr{C&~REGB-v8rC%^A4Sm(BHDb$$d_S|e zRc_25lj>h>V`{9LZKX^;)GQ#=-l^QXlJF5fx$r0^$wz@^v(h&8aJ zwN!=!)4~x-$pG2f;DWOM`uiWz7e#m@pYjz_;{+JqEtqQ>@Z8=r+u#)@8DAB1n@tid zTAA2jix+L0$O8anS#33@@hQ|?pS)>Oo zqnhfd?0=m&6Mk-|JFaL68M{xzNU4b9ZV8tfOzlW-HWML-hJAykXz<6ynGrwm%pysb zV6nZeT^g#uPmh5Vd2nrFzXz>d&Ld+XDSfyjRH^d%_L~8bu}=_BH84ENZMe|06{W~#DDrOA+fDxOI}MUZM#Nr|GFZBE=Am*6lFOEc3)g+`KULaE51PAp^HE{aEJ}jH z#W5Pe&|Vi$>V$M?$w{Hno-|STt1Xv5UL=3uxjQg8zkUkHe|d6N<8-;n7IIFy6jIF% zMo0%_cg`B2#bpVcxsMin!5&p2=%#i=l8F>yp$u5E*%~r~=Qwru$$ojxhytgCe$Lan ztGyRFKO^oLLg%3TPuQ1|-pv9#JJ5$oQHa2cl)T*D_QY33$s=X|0wOpi>~ly1YVI%y z7L>1BNBZ~Q!h8Jm=&i0 zmX#Y}nm+~9vig(zWaa^b!z~`Z%^Q0W(M%71eg0p|pFQMBR)_$Ll>!5p8vNbx-7WYO zLiTY!$_MpZ>z@vfW1`mrS&)H5cyhM0E7nm4PF_*brMFvAu4HWa{1{@M3w>w448p(60l_77>Ll6|vvmH+9D(4D@HDw9d3Y3IF+jO*=9s`y}%pvP!0! z%hJ`cZ7fUf>RO-`b9qRm(#}W;P8HSTeLH-V+aLfBz}cU8-^du747C; z`8TBzdG?(79Y+|!{{{}J=o6NqZ^Ct-9>*eL>F0-45K8!A0nUcI-w7A1~~fh=~0Ikgx&F3`Q1_K&PK87N}{8!)ZaICg1yw2Abo# z&1|7$s#jW5Ma`^=U5L)kI;e^uaye+ip;{`lnVtU;o~vnwH*p%}y-0~=46wYV5ivV? z^=XqQRhxMHCvEcJy@`Y%k!$EXeWwbkgpSa~_Bvw1OCpV^K)&CZALuO9-y}kSrp68X zQF4x*Pzu`hs+{D}+TN2Fk*r_r(0KC9i#dT=+w1h}==DwuR3cot1$BM!N{X?9C7$)u z8xHwEkXQ^sf-P?R8`)A+XO0YbNKl$%Ox#-Sn#J~?gL^V}T66ZNC`0vC$PToAZL60l z0J)s9_qcHOVVC>oy5-KG_e)0^Wh-K^nLqcePJ+9PM=xXR@~rCXjYR_I1h$rdRD6&> zoFF1f!yr4RNRs$Zus7c*?DD|MUvcKGHoG=(XO6tVeRZ3ol-*dSbY1d*Wm0NFME3a- z2DoelEQ>NV+bA3i?2nB$7E(stV1|cN+q`_guXYcu)}hii4?ok3{l4JL33VpFdnahM zgN^U5M8r>P(HM#2jPT%cHfje%kGZXtxMy4Bb_RkLg)cfeL#rOX!NsJZW z?v|reqKyeBj+Y0B#awD=8aQ7wu4-=uvj~S)LK(gq+$4Hq%h=4n+bR#8STFf8HJU{TX ztn9N16!VSQ>sdw0ii*r(%I*PNk6Trlv&MOEx1@vtJ2}x`h@7e)&nE zO#fFr8J*T0->8+w>RGibNmMQHM!c-8RlUZ(0t1u9#g#iRF~SFIEx*u~PuDP98P0 zvrN{a$7#h^c3&<~8Vc7Zh}ZqjmcZ1-EgX|RNB5=xr&MTa_=nsodn;KL9^ov1($xK$ z?-PbhvB^p=)N-?H`+D8n;N%Y^s14v8LyHgGjffOl@}%*9e!}S+yVs-v&Dy%A@!7_8 zwg%83Qg|qdosC#@H&Duam-FOvD+X|;=9>lU!HMIb`q@ie;8GGz3+B9ftCOF_NLmiT zXrM29X$l+#SV8UA+HNU8^u0H3@V%dKq7q6bBLviJvT@5?x9I13ZmRkN`-#du;#6uiBWA>rv_^+)4pQ`yg7A3sY=i_v`6j3qz~Y zAD6>Gq0A2g{?D-L?DVWuG(>Ko%^AfK4v?%_V%WJCVLcN5Cf_Z_gw zU38KR7~21vM$sZJ)CA766>9GKYuNNnKqr^hk(; zaw*~FH{;wFLd(TIH^4EhyAEIC)AF=^UM)Xvrr08&eQH6@L_%F{E(@}H=X`I)Kv*3! z4-Y9w3Fs04O`JXPPV@1)ZRHIM2j}ZBgT8% zTs+dM?nUij)uT-2w!OVvkNDab+sj^5GU-!AVJjww3d0K)To9w7-k&e`P7YVs({i3p z#gAIAGtdvHL@-zD|1-ak{se5Rz|1)FRaQuifu6M~FJ^s(sq^zp9W&Bxit` z6PM@pzrY@5Y54>Y4;NH!+)YMLpT4sMECuhP{c0Ot&p`kb&cJ8Xjwxt68MomIoT2`U z%@uD3foH($?hW`8JO!+rLY&tIR-T9hwzAPZymCZQ^RC_A3|^Gih`4@*zli$EtmO0k zaz}o}RN2KU$2%WzsHP^m3NY9*b4%?%?jAos>8!ELU#y*|=V@9wGVj8k1L_><79yM4 zJ=)VF$ET;`&(#yN=p{GQi%D3ELi;~R#9iHI1i%oS^tn>GjaK^%x4=^2!HNp%)TH3eBHdV5?seG@Tb?{KuES`Xdn zy5c&FATK1PeyZ(svZW1-GG!DL2!TE0UG$*K|Lcea9RC14>Lo}cW|d#vK@$f~wjlh` z@#4r5?as@#%%}r63S$GGKum0Gr}}yi1-AjXE8!(HWPez zz(9(ej;(yY*#*y- zOtx8mAZo&I{R%TM0iKdtY|m5vqN-By#3kRm;I7#G{ySP{*_Bt=?IV3T*nOp&jX8Vl zQMR_97l&OYxGH$`W0G8%L^)YRsNV^aLCS<7@*ML~P!A451}IeyR^&piNFUz&+8{Au zTR3*V%VTXOM$Pt~jRy|b57n9mZ}jas?r+e7pqbZ+yN4GCBXMQ?YpqoS!ij$xt=2%q z#q8{%Af*|l4NX;OA8~vH1)Nk`F2QAMA{sdMg5bEewg4QE8>yJw4bD_QFx5o^@y^_5 z2fw+U4_`FiMLiodKLYP6@Tco;{k)NZ{JVKRn0&q zUmSOaPry%*`vr_UohWiZy!{hHvX9Wx*k#sNYzPtXe{BxtI)V8b0~l80D!6`ypYW|~ z!Hsv)huo-s(4c$J9bGU~eM;#rkNUURf@N=Df7NlNE?A6GiD#sjq}DQiY$_kupOf+a zF8aXul)G&>{TnG(zrp95!}QyiOH9ZZky|lTU~el!W^dA(ul_z^v6AxcInF*&# zxQvz>WIWR>nO|O(0>+;S2`_(BFaS$l5W|HA{Aoe(_5Y8nuZ+qv+O`H!L}`!~kVd*Y zL`pgZq#Nn(6a_&_y1To(ySux)yW!if=iEEKasTUhdG_9`=2~mcEfz&6a_NMgu}lfz z#yY#Ze^Y(U+t_nv0<#uGZ)-;4ja?JLY!Lx-xoo5KSk5#cx3vO!~Mal_<4V^JDfq*Er^#&W&J%?rK?6W zpbr-ZC~IGA?JWZ(q)*81+dRv5)jcRGtnZJKUV(vOQ=ns<@fI zia6#BpWH1sBO~2h*VM$nMeD|Ivwh>E38Y&NCrfrad$a6zjtB+Zjf_|V&*8jf^Clqr zgk1sTVZGMt6A&FyheK7sU0Un;%*V#YY1wfBXtC8bG=LE7YUQ-%`m~nk;Hj-XWR>F` z@i(PJMS#KfqC42g+1uQ%8e|b9h-(Xd*uu44GI_u(p712Q)>ujx{2F_<9xq!<+feg{ zh6(J)i2JQ2t39u5?sxk9h5vZX9c^X!_x^*g6GCfYhMMm^JfLh8alGN4dCbgviL;+c z#cxY>0ZVhOm>gYYu;OzmoBJ*4H&w)q5WdFt5yg%*!no`7*5D8;(;^=YU7!cv9V#YP zmr)_V9w4v~`J)K;Gr`Sqc=BTx2qiE;6jQX^5T_X$@JD{!ybC1}wTYksinKDufIVL{ z1W;frregKh82dWn_Te$%z9{EoOlbrU>X_0ZA-`<2{6c7ts59`VQMZ+?+=2BjU0^7`7p7 zbU-tDZFN<^=Pd>##veDFBLR2YbK(rhI2CtI@)jHixMDmc5(iB#$s?>^Yoz6Uo_!>H z7(?2c{5rVi#wKVs_fb2wG_|2|+k7h_PB4uw^eD2v+@s}gTOtDF;_kTr$VM4l5N9?E zp8Z@uI%ZYIbS162#*7;ynNwE@|Mc}de(t{z9N(=gqF#QuM+Ah7n|#vX)YhDhSs1jT z!Q4lwPKgU?2hY$_)069J$P<;^+8C7PEUkZ-8zx3{53=i5`=k0r9!i}^=gWh^lK6t! zytqSYbH=YxuL3?3bw5k!>FGJ&oDe|)J+(f&dHGCn9q_mm72g3JW=SdK=^@yignWNInWag@kgfs{IxNL@j%7d<8GG%62waNUI*c_ z_OVpe)Nrh=A?R^4<0gWAY<(JY#bdPVqn7I2JZXovK|#=3tAGtTdQi)IL8zrE^hFX5 zSavTY08tD7kP65^`VZlJJq3}zgLT84@nbB z_x7mvB6A@x5D*J@F7-X#>SBRyEt@{TRaEFL47iF23kZ?*8d`Y5i)pZ?TD#aM-vpZ^ zYHz$P2{kyqJ-jAicgDt%*&M41G)uZ1TdK|83d@nn(8~<2D4dysLw$StV59yGNaKdu zEH3fw|1{?2=7u6BA+f#SN=;4uI1MD8{eeI-L?p7qAHAci3+?^;0YGsHco2n(r_V=4 z2{UQtdv}~69L9kEli6@!tIL z#7g@jp3C(OdE62g;7!v|8pQt4zi*!|92;D0V2K!s6xquS>=UPP#(mC#XV|4%ewX34j#Kt@VxmK9c=^N{ULPcm#4+MbxqXIoDYOUJRE{_ zue08O*Hx=`jF7IJzg56~)y_|t-JGb2EZX$?Sov#O#uEb=WdJi>D`Iv$%>)h5EfGnq zrDZ)2)SILAqMRspQ1C%MlFg_-;=ya}=_XqUp7y&&fI$7x6tk z+c^dSwJM{>Kjwh-UkErK8+J9rXW9WPX?uj3i>mMf{1i)%z=H02DK2 zou2S`ZtOhF-ZSIv;n1wGJ#c`y9HqzrW`Y_4^XRaLN6ps*15A7(Vt`S?t>5Y)>4q_D2%FF3HWZZvW9{25 z7a|2I=}RLc);pVxp3njylRAC~B!y)_90!WG+aPzG^+@Ej-C_W)K4KocFQ89)G5v&0 z$d}OkbO#T@H7=W3%$dsL-DR!YEfW+dL^c3}>Mmb52n1I4_GEyWoLnl-3ea?#byI<< zAWBV#*9TkY>B;D*gg+WHd9^AYVwPOgPUbUlJALo67r_|NU!Xel@$egc@*vQa0x->j zkzo-UB^XhbP*eO?77B#ohJGg){ap5CA@QSS!L+m4{{<}WkgBTxQJ)av((93iel%+F zyEY5I`Euu$_7B;%UZ?6h`rSEZe8snhW>4du%elB0F>H5lKRtB{UZHh~&5Gr4vvtML zZG-^PnS7IU`^Rr%4Dj6C5~e`L-RppMws*%K=sra2q`gd0F4p|m8wPRZVo@0$NdsA@ zK)%`+I4RqW9@L>^ei=769wjBP1Q&i|dpJP8zc}&|aL8{6iRH7C$?57ZA77Hu z$%&RzW$viXbB>#ntdZR8CgeRi=bx&9bz&cBz*rB6o*|zA^e<4~y^Gkb3IP()VA#5% zSak2O+=MjVWgh5G8WBh&`GtQ)=ndJo6i;Z1#d zxnzDu2b7tHE!4Ao>ndFE0i-?^nvoZth~gqhCToG;cPD)92@|9x8%a(MLU#8^oFI;> zEoD=P`{~uC;eJrzOVQWmJ8i^(h*<~_Lt^hSMifQX_x-a0XJ9(`-)LrQ%5YpBr}dM= zI|mDY%N20v`Z`D+YjF2JnFY|(kb~*6JfyEUa;Co+L5?M}X`-XGSZ5D?a(?b=SSD!# zE>NmgGg~_GeWOUDi*GKnY9ZUWxxzpG>joDButx<3BTws&I&%usPuvdxiZS*u_o&SG z{Yv1@A3`3%pqS9$h`GcI<8CO>Y546J&qMT*=_3@6xHG5Kdjra zRu+DO$h5r%q;zERRsp-EOK==<4*n)CZ%4NEtr;u<>yo_-7+4nVH_2pPWMkm@yQv%n zW1?tP6&wrd1EAkvyxhc_5;c0PeDNe^Z>%vr*XLKC{yA}fD!;j`(Z<4qe2k{ zg-w_}D9C`|19S=SzzF#g7E2AiwYJ+(ku!|p7IUB9nPPpWV*nlw(muh&g4z2wk#%;v@u7Ta!^6cfJ6mpKJY9s($jCS|KY!j!kvx(q zfu*af3lRbjz@&YV0+_iIxa_G06>(*I!!}I9qcvUp0Z>J2LF<({1bmtUp!UyyoVC$5-nSw zLSnnISZQkqRbq5CZLtW7D?;n!5^J~-3ZSuq*C`MTku`y)_BCSXvYyiO5nKU z{8~+I-tM|ztn4KO7ot(G`3q1KYk*XmnVIE)^aAEJ(gwJt&QZqw+C@+h(`eL102zw) z_4RfTPbn3$5P-UrKB$BcaF|HD`T4=rj9(j#Ky*upk>^IWL^CvG10q4%HfL3_-AQ1l zA}`)^1E%t-PJEu28}{^Wec$Y4u_X#m4U}gvpMH`L!s$}mQlpE01ho5~K8hrVzw(#P z&R$0TU28+1FwLd39o`fx!~Xa*a1H81?CLNJv-cHpe8a*&^e6QFAp&haUuA_*#*w9E zaviYcY+ov`#JvUx<$*>kcKz<11UPD1|OU3DG35 zj2~Lm8H=-xsHj?jbotBrIc}}l&*)&-5I$&P4FdpgSE)80WMahk;F&D8ePMh9_5jP) zw~(HWXP!}GQN+aZ!ydHepVLJn39^v#XG%cz;aItJQ8X2w;`f2=&Rid;9uo-hYj;Ls z6x5V?!y4eN?5>I>o45mQGiLi9h+i%ZO_^i_AqGlwUxjxZkdi-)pZiaDj<;pL(pap+ zB@rSzOH_>7fX)Rhn#l26z z#qlBIhlNjSr)QUIN;icOec>j-laT!2Y4TnnO9)5dHx1JhW=R z7yv}?5J~(7X?E78UO{|;;&+mNzQB*?tRLF5Y0(1%OvM~LmY`2z;&^shoG!Of{N`_+ zYKt;Ynx|AtD}dbaHYg1s^AUdD)Bs?i5Aot~{OIE1}dYV)T} zM}wK7(eg)*rM5aH_u8=a$Wf>r;37M0;R3``)(hN!b&@g|Ig$9X=0~hnjlLO0nBnkR z+0iCvP3-7^MGwNxMXCMI%)CF!tMS>Da!G!UL|3`%62MRmpx3~BZY1WQ*jz#M;a$}o zRyLr+2NEu05tQnp5!~UpBs=@?e?KQAJ$So~%YSs<-aeazAI`075oMiR;@Z}+`_!$iw{K26|yJ!i&CY6i&lc3c5~a7KYh~FntHeEAh z651#Kz>9JxlP?M9~2%)y^rld zp4yta$esGlH+hGGjT$os$Hu|MVerzry$lijXa+E(f7#fto)#I`M?bNVv7SMH&C5Qc zy2ERuCJJ&!U-BWTov)eEp~UanYW_=ti1MnvHRY$9%Z&m-H*XfO0Y2l)H$P1f!sN<3 z1C_Ejdlo^r#>Mu-$)`Bfj>i0}uJLvS5flg-m;2IJWZeG90}yN~Ntp?&T?gV-YPvZ2 zkIsw0l+-Po>_rz^7BGNiB#32DDuD*!06%jw5SW6>`I?7W&OMkFr^kveN-o*DFpv-& z$u(9gFA8CH2zbV9aBqYt93y(*&8$@a*bANnpQryR2s)zbqxs%n5VYXJ?<}q%)Si$* zOBT7b>3s!}SI9YhpU}wCzJ!Ba{ST33pJRp&Pv#}LIf6iC4s-JP5bGx8_Vt*)WJc=r zJ|~_VCcPHD!_u5s0UIVm;0FR=b5j_q{r__E&Y{YC)C)~36wv2sTnrYmkjAm72XQBh zAV&O60Gb&=0}fVw;C&pN917sqK}l1Y0RoI#g!gfv@eds5ZQh}>UE#vy1Rz-cl0G_8 z;ieE5W!Wc6%ddMscnCSp+ff6DR|mSvEp+M!>ey?1zd$E3_q*2U1kpd7lhJ6K^}=OG zW0-7QNDNSm9ZS2vZu#YcPAW(Ihv&aTyT7c3DTL0OJ)gVDpQWH!>@E5LinuALwlPyV zVhVnv{IW}_ZM_|u)w@QjlMT}O>nsci{D28!q<&)UBld9ee;Fk^7Hjo==jm!|e!Vin zlm+7lYQAQv;31HRPzf#l9c=|GkZ44K+h76!e12cyiCT>DfK%h@e#6uWE6qTLtn`K^ z_!D`dT~DqqrDHQ*%J$X0do;c19$!SimOmm7l!YMoYX5gUPz1-~o?(mVvEd#y5qt1? z?l}aY0@#f5K!<_`LjBGO{sVxZ7=h+H*yR8v;ko&5OXJnCwuw}K;uauP)HHcNR_&to zg5<^QO8pNhk9Y_!T03kLbx)HmS1V%j(t2`fMs+TZOCP+|wc7V*?mee?sVcGYjJ2YJ zlGTr^2gpJcBIBTfz59A>lmX|%K>Od56?$?(yZ<#D?9uhq@(5*DG!a`o=Pvv)UY;GNu89zG7(azM0$2Jr=rH=o_EZ|XN@=TMk!;-{ zt2f>Ia%WeeGK5rIsFe7>^Cvy7Kt5L(3-h$!M{8u)UeP|MuOPTQM)>bMI!iLn6)3f!NZ53v(-z|NJExPR9lidq8ON3f#&gP&+i6 zG;es$bc|Z09bgYK(lmrYXfOm3f@(&Y;Xk1s7bry5prQ$XRFlv=l%;JyT&p}C;N`{g z!rE`51hYN||J^bqIvWDy7dHnxM!!0JbWC;nvkUnngZI-~>Tz9IfrA7qS}7nP6wa`L z8_KNB^iK!AS#F_|{QEAG5&w0Y?ybx+SHoPXi|_oC^)B*OQj)|hn!zlaetbd&ny_~u z5*ygm2Fr_(p9gfZk;+OhWV7w?4ISg8Fn&{kY{Ks#Kq}B+*qqh-rsEMEMdF@d|vOi*hR% zwF)jZGG2#0*1-x_S+Mv8L(vfjIeTJYWNoBB2|BS6m{8qOZX|rnyCwnEHN;T@2Ram(lcp!n~Omv~i*Y_|Cwe_ODfTk;X=t&6tsJ-~K4(PJz z`A`b|_}^E84>ax!p9deVm!Cn168yL?Kk%LZC-Bg5Tr5Oqk^pumaSUGB%ojm1y;S`a z^x+6}hCzpdg>wEAIS;@)dz8-|wTzxDwDO`W^}tkfDT7QiPVKRtmajREuXOSHe`ZpA zLP5-X1~j}VX)U1nquX_gW7b%T;T1(kdz;nH4lF*Ng9+&0`oz9UT;Lk*Ekq|8CHhF> zXDPbS)jtgnocBWF0wnBtUOxQ`dr4`NyPVd{5g_0uNX&tqZ{vYM($)lY2%VeT2`m)h zMM11i8o-U2?>Edq3uckpF?k$r4o7ygDw8&Zp*+HQR#va=lSpe zgKq7oO*H9XmyHfZ~{;T&__wVvYUx37rU5NKR7F`t~*bsIAe^4`18^iD!kjn+( zM<1PT{bA;LG$6Y*eQGO}BGU;&bWH9TaUSwmL$`mpwUOYOq=`Oq0EEyy?9MjS518nC zQY$~V2(dYV3r+^}qy-G*5*Z0{*lOR+C?QCKpd%9WNTCh;Q}N;R>i5I%YdyaxIf{7d zyg>>*Z(&A4+{)lxlW58fDz{zr+;T{yc?YkWm~_Q_os~-|CIwT&F=yrEqRi<#*mluO zS8}EJp)fDfaL}}n`5?6NtWO*=0+(qn4p}M!lFfBZl4PW2qR8YbWFb9&JSPNQ-8PVc0>Eu+<1zewlWk19Ba*^g77I*X zK5EBgVqQF#I(VDxKq$vBh7x)N2ADnMxv;VJVbhm38pgienmX1x4{k?B zP)imMRbaXSLLwu&W7%b< zt^}MMWn5ol>i!ncf)XzWWwH@lpV#9dw1d71SQ`o0eN!%?fSo~Vl z-pNWO-9x{v>@J3MZ+b%C>hOSZqzvl%&A@gnf=mbD*P8pXiFpQxP=0<=P$?Nf1(8_a z=J8A7heJH1feXHhx^f%cf_G8gH{UDyML9t;K(li&6${k8-}ocxgg=vm(DNn`4#d<0 zxjq;fM^^8d-mYFqO7t>?+-ng&VDqyqHkNl1-Djn`g7@`RRGRhh2_c6 zyCNi~#HRM}m|v2~u6=Xo2~C$V)%A7j>SN^1o)Mo7rudbiu@`1ofpAvKf`YBs1jSgc zJOyN~3{pbOqO+eMs80M;faGJ;+R7l5 z1FvJ`*Np;dGBSwMAU~bn{ZOUV(0!Z2Kp@h^dw$cLY?t2fQ{3ui0kL~bUGUQ8>LbQb zZ-4g>7Kt8Kv1-$(>g~IqU!crr2Ay)vC!dXuo7&Urs$h|x4R;zHQT`H-bu0-4(K<-U zNEVyurm>r(`FC~13rR_)k;mCcJ&qkV!e2?Fze5#pIkxY+eZt27RH|U#JiHFWY&0Cp z3&*@&P=2KCNiEZER(L`}O&PCF>gY4;-E zhu@rPGf89ma;RXh>09I=mT-K-UOU$R5!xh8(nytB`Grb+?a;59Q_G3KYa1qcJLoUF z&~~uehdPBfj^gCuql=~7i}>~D7Q>FSVHG~C+tVmoD8o}5g=SJqe*$vh*BiT;r(6rZ z3(&xQPN&Y5M~PRGR8(bT+!dzrs0n9NL5j#=Z&7U3`rf(bC22GDl*uZkWrL?Mull2tIDjE& zZIFWam((A8?a6MbOs@P_9rN#l-H&`(#S+U=NviRX(~%;g;|~V^qJ+#ipz2krI(c?+ zdDbiI7&UAc8`Pe6FITTLdT2==)QcQArQ|gq;lFz}&&3lYO+h7mq5DAI7z57XMZzHC zM16UH0egMU2Qf6)p{*1}2?Thn3BIl2_2`(9*~_N-FV*Xkn8gn+Xo9?)sLZgsmP;qE z#+!#92Sr8s+S*#Y2iMv4bhJkYm@$5BIdX3w5vz>B&54)1v`83&V-aUhXecw0KclV? zh%8tWFB8wB_bk+HkMK~@XbNL+bf;-v_)t=ISU9Jv=sLV*btj)nuGZOx^4eA~fhMqo zX$t)nqS_Z@sgHyNPk+sO=b?5sCjw;dJiQA;&Eba&%xg3q^ST~f-yK;-_K7=Wepf|F z?%_*qT%H?=E7jD)IcC;W7kl?IRe)8Tb-PU5Uz}PuC7G8lDlTxH5Lr|IsjJ3CPopq! z$Bt7?Uy;J-a3<>FxR+(=iQ=s*GmIwT#^Czmd}^`lF};{#E*ZfCmG`d$CUWEx-7TwT z*zU-Q2nLfu%D4IO&e`4EJd>xnhDo^}DiBaWMeAGx|aQ_%ARx=(E?-MtY~TU*U4P1~@H+mMWrN85N? z_@tgvfSKTG6OlLBU_s$4i4^mRFO>O8x@pDfgSfM3;k~Kw&h|`7c|Fwmqro9@+=}-< zPM+#iJb2~tR6_e(rY1hchn8upr?8PRHs*xkX5xz4w%^l9olEDCvGOP0`Ws|NrA9>5 z#MG5A*byZja8+JR%tf?gojI@Fld$7s?db*NS2Ft6abfTDGEPjk%E|=)D0(m0ICpQ- zyfE;4SNcO!2a})30qf@*BwyE##jbis0IK#luMHFch^@ z@;}ZY#~mzgdvbXUs=$-*0w>{=RsCA<0YA<)&#_P>cdK|kTBV92G(leK$Ly5@xg_2} ze~xyx>ydkrNUq_?_Wc*?0{yKMBuRpm#g!TfvS{pj4;t~xuwufSIN9kD*zPxNjbGk5 zVOWTZ(xq2NOG(JA`$`t)DKioG_@fG3GHc~UQrU>-_0r|GE#x>f#8;wfEEe|EB^0J9 zN^C?ZX+5RT7@oFQQe07AYmC4u(F9(Y>}RPz-F@blp$TLWh{4UgYvNlS$RE%f`oa0W zkK<*F>~-qEJ~OiIV-+f?nbeR`^wL<3-?=k8p8c67Z_kBFfIDG9|InI-YN9bUO0f&Jvm6 zXs@eSH0)dH@e8rq%?BHfSh?2gC8lZqU=8BJ5;SgRn51LdN3tjhX*z*irLpN+`bUjB z_H~3;sphD$WI-vkhEWSL6DIx-XK{0Z5n)v1S7zCdC!UrX2&U4R3UcWtC#Q1fz9v7( zjtc`;m&1)Y;rlchYq^7(T44(u@o{B|QS z8GkJ|SXd+9S~Vj%C2DB3^ZALEcdM7cf+Ge`u24}fQ&u5UQBGsq)IM?k>syRTar?&N zuW#+qoActwL;G{Vk_ukw*d$Ghi!j|k$3D}*svI}9R5y6erS)u@Y=(5jpWoed`4Sm^#{ zyVkOE9I0$EYA&1-b1~sR;Xl$ZDIppq!?iVv)3h5K0%v_C7A9nDpJ>4!4MSamz$f1u2PHUGzzPY3s*LQ zST%vKhz`=w%pWFyrVcH>NI;Sp06?9Vl*KcMl*}h z>};6$7yq1fmpiynqM37uvb@qradgF7BAEJ7bfiSfo5@|~HtftdANq;gRL?;Q+4SUD zIaBHMW~-Z1%_^#!i>J%Aamn;Y?Ay=%X#G|%SJ`^?nFbIq8Q3SAt7f}vw2=!*c zgvI1py?z>esICm6#Nk9LH7u`3*g>d%P6(ga`wp#?Q z0wsXT`*Dy{Sm1lOkf9g}N-WuDL9{Xnu|C@7 zym1+_S+dCpMJkTdC2ez*jn3rY@_Vy(9O|w+uJ_5z*x~)G>JACL#Q7O{RaJj{h^ok8 zgB;TAI;%F!2l!c%nS^l+T?_|~xsySGhI`3*L>5Mhny55T*JH;fY&0d|>QKs}E9u9q zCzw!KSW^65YBBfdmC0qKWZXP_*>`5$cZl>xCLH4;%uTAfMbV5C@)!0S_Dnh(>^;9~ z*=)BAFOBujaHY3JOW57fOJ8MI4jb!zZ^u4nlsrlD`t2jy-*_WJ`b6#%l_fh_br2*? zo28n&*5A!-S{-s@!fzc*=CyU686N*ifG!S~|LrL9>nBQ@ATJdaNcw)W&RN~it`1HXKFCW2l;jNMTG@r zea4>=Vb@%xyxZmSMW+$+r7Ocghxm8bER+sAP=@NvG8P3mJPhpDLoTMX4y6q6H{YJ5?yb;LEC#PtIM z58d7T@!e~9LB99sDYV|PYN}E$&S-@1oulD9vHlXRXQo8Qykpu;k}Pk=n_BnVQZqDkab8uwdAVYq${lH?$7O@lbytVI&whMP_0_~YD8|>Mn&?;(CJ;x&6vI*OZi4l0kdTpsOQ(54rln*Q7DX59-a!M+r)h3zi`^Q zzVk0nCrTTcnngJjfK;-zDC%XsD$0SXCuh$J+e}+^;YkIn&MtalEYC`y*rk>bR>p^=GKeGp@8=hq3!$&Kjgzgn7t>V|K! zVC&p?_~1s~x9~RKQHN#n|Lu+JncS+$*CHk>h1c5BY#D9y%XXN z0wlMsZMjB>`p9T`{(igNdyk1CGr3+9qg*aSO%<(a6hMR6|*j@ZoW z4J_5Rx4#d8cMlF?G>hXZv41mm=|~cHC8$!2S+pDPZ-VlWRyS+sso~U{CXK^@a4p&N zqSW7d$gp*YW89 zyRLmG7EjeZo_!CptCDSX>Bfp3izB5#L~BE#zvyhlh^jTiJ9|Bhlc9PpoE$s4vq=ON zmM29lKIq>lDro)6^TK-iRC_gVsUZCW@8_3w+z!p@m>prHsj_0z^mnd!8i}}jXA$4z z#Y_Y?rM5#ARPDzZ+a9x18hk-5R9B~_<4|kZ^NggfZ*b$|vJU*UogEWE1<;%mhkJo@ z3PeQh*HFu+^7-R^hMN~@(zNUux*Vdp*6ESd@NTY2*tCOYHr7j?7In*1bodJKwYAK4 zf}!h~gMLrUtos(PwHrCypzuqHm#cgq!h1{DM!V;P2tBvwDxE_)Lk9w5#0;Iu>ufa0 zUp2RW%KqI;n@dzK{TPwYuS}1j_*Y3qOm(%A0@Kj9uEUK%($)2;i#Y>RQFEN@w$CPI zD$3tFGkox_$F53avbSrxH3IVI?rsFeSDqqX5yM?m)JjStXA@jl?Fm@hGscIrm2W-Z z4q+tef!xWgw&s!h1)iBU6j1y9?fwtsralZ2KRFEZC{rsiLNP zCw9sw+^ZNzde2;-nb$AvTo9Y59ByN|plq4G{MxiXh#qlSq(L6LY z2?>HOxWB1&Yg&I_x=Tj07~V7dTfvF7fOq)vv_+-aImBp)HskVGo z;&<40BmYt-nnB(iBUid61)dSSVAro22DXmaVCl7EH53a_%5-3Kl#=Tps?k}bN~V5% zOC8<2dpwqW%D1j246hrhnzr1=3%oX~N_7Suh_740SJ@%a=H&xY-#J0zOI4YHcwh-! z@m_Ma@yxc=8P0w{}Caj|ewaOPqb!gR++p3&*wM4_=) zIlZr48$)tE#w)t!J^7*|9{!keJ%T@PRbQuPXjf;hbQ->3XTR^Xl-=Nb;%V-_D!KP_ zW>f_Z)s-RaoNi?`)yL|<%TOFMzrGb+&Dtvu2|ZpBSYxhPJKJV!3OoT63k?w36F+i) zODu^~;LNVLp2wbJm~y2-cOzf1IP&<(%Th?aXyxSs9Zr1=6=G*=a35=C?w+FqjWmF> zD#MKzYV1H?Ggih9fF@vgY4QPLJ#+?3-#wF#4xw9O19e5{c)iMfQnR4)oCUt6Drv1YQMW`tB@l zG4>vEB&oNMP$Q?4M3q}hC3Y<%yynZVn6 z;;UZj6+!vMZCiRnY>GZz#%Im@>g%hy`+6?BO`_!A*av*rB#Wk|jI5O)X&G3?7B#ds zH%Fs@7u*WEGIB~m_t|81tEK+29IOd0Z)7_39Mt+*2p3~hc_?#H8x1yDkN9HhB4R&< ze$bZp@Flh?3itneb;G5R4?zq=)P>1k&oHkOSkPxi&K*E^_3*ZX`S>pbOd)+vW z8GpF_BJN9%U_&!kYDHJq87x%N?P$~eObC*$t>YJ7OLW9Wj&Mx!c=kP}S@1O7CcG7!(b5i-i<4^g z$-$8&coO|r2^3U?F)UhS;v3@#U6PAx52lfx6fW?m=^>KyA=`kbl6Xm(lR zfK-Ek8zrP zJH3gJF=sI)DoH6^E|)Br6nHGNAW#?QRfPwIG=6M{!Qb7|@j-~KvH-O<-SA~0ZQqpf z6OuWvcfJO`iu2xYk_hGey-I0^x`o~D&as^=eA}W4(V9D{n?9n!|I`XK^toiL-DSb0 zAbdJx9(+!ndXU21!3N;6t4vC~UNyIgz`{F|2on#^gaPIHVbf(t5m?UCp`RXUwo2&K zG{r<*z~xO4Z`j}{z`DT1eNwu9J{qIjoEQ%s9qm;QXI;}3`@${ZhCg6YVVdfLKg=}* zKd)7@Tl2MD2{b!gnFn^R-YHYv@DcleeN8Vfm;Pd{yn| zxPZUL2e}A+w&sP+o-iaA31ce-72*(9l9BD0AsdBx*WiHEy!XsfjWu(VMRZe9LiAm= zk(&_~-*RkAayMNmCwX|{>1@MTGjBMoQ)M07uKA?@#tUf;s)htc`GHLDw}))6ZDGty zgvi4goxRvy>TJ9J!4TV@Be24jXwiWdiB$S}C4*Zatlh?)i4E6Ll?Q zrGxrUz-2ZDmbab7!T!XbP6z9xWz5iC(Sq~rH!5ObDt2zDP5fD* z;BTl3Rn(Zt6z(g-4#G?x-VdrUmgYOSjl7;O##5;c1-@x_+x&N7EHoSW-R0Z0w{4H0 zavIu5)){n`f?u=o**ew~%}O^HSXi#~45DeL!jf04Z!W1*RU-!rC`2dJ!B z2jsn@0yzH{P!+iuDIY!}7jks;Mzp!;@tOs)CK{{LIyDt%!!c9~7_b^#)}1w0Ueh{g z&ACg2JbLt8U)UT?Dk_+=m{evw-qRN;qEtE2^YRwn4v!#JM{HhriYmmEvtfdww9N>q zqv8kDK~=zf3@RfGi3SN<(DKCE4}F2}LI1@QKAVCzl4ru>&tYjd-_M0DOFc<4g8b%@ zxw(#1*%^O=Mq|zVBq{d5DFIj=XTCR9c6n;LS0s$|i7P1&F-JdAG4$_OagjtWvTC4y zdL`jN{vrBDP%gAX*4<1T?)Rry9PP0IACp(9wThHfGqGjip#L>t3g)u(`&Eid1FvzG z(`fw!&K;Xc=;A}FJHo??dp!X1*SawJWM_|cDY++~H$kc&Z9I3Gg@GQf*)cmHA7S#Q z7D1N}J8N*@Th%>JDNbiJe2FUBhVBm^>;Bh0zviRm!`hlA+=ViPt*GwbnRXX-wzt7} zfo{}{t1{(N;`d{t`RIu#>H{_OEqY|QQ)4}54f?ETv4 zCwOhIK3ohKzIh1;G1haD`*XL%&30wQkNMc;76`GMv64u!0~ylcad!rApW{hETSfAv z#IGnN#jhO;g0{2qby!{u(+qrj_ozy~O0+!X^~&;@+G=K)pi{|VM-)OWWofq&M_dHp zDxAIJnJxK+|4r-@eit%MzGVftFr^}zPLspK!)N5fs}$$?kA)T-dYPcI&ZoE>UDB*M zq_K(3GW`wCyb7GT22zm<_O3tm(&zXH#e|N!^L-W1R1f$y3#3H=`=xfOqG$nB{B*rl zKk8U4ttq$;7rqKi41aI6}y0{fbt=W8Bz1GP$y<8q`0$EU_%4krCCUt;!R<+CW; zKXrSt*EjSk;3u1~Rt8#ZxjB3U&!mKv4SwYPG|${%Bs=V_`uS1`)5D8o3*LZ$OjOq; zBvUJ~+3V5e@{0@k_ks8`93FZBO~-FOn*s>zKSylGbWd7NY#6E$8kD3S@@#jHEOW;@ zo5lPVSQeq)?7jQwURnKI&xsT(>06k~$3`9}8A;uW0S?a2ey*!E$LhIe%-acc z65bDR6xTc(05bi#US2f+1}bsCcL?{J8Gb zfp)Jfk$LYX_@esaDN6Ffm|@2xy=6|RLktpLe56L^FKXc#HSz*GX^kM>{ii=!e^t4u zw83O^_=O4(7>qrmi&PR$78DEof2sS+NYzfq(dAMm7cvvEp!!AK2uiD{Z?C|FzUv|Qn%5oFY-8m8lxIZ z#kx}aasRQRntvw6Si;<~wx}=C;8Rs}^ecZZ>d&_QRKvRNYc5mdMTOJeHR<-Ez&l@& zFicy<4)23AxT^bNagAMX_L&R%6Ge6sSWP}M`MomYqL}d0(Iay8HK@QM9?@!)o z)AoG*Dcn7sB0Aup%GHZhOr56bi<2tHz5Mm)crHb_AURCjrmfy|NG1Se+SJ>3))%rh z6T|TSZ(WpTjzuGe_DuTFZbZSCF8|FxvM z6o-$=7C}Y^PH0P4S>U=WTH|%$J$jfRDdLdmE zxD-`k20t&D&sF&;*K?IHxtb#|?M34QM^>-J zN6=P-5^YL=9!=Q29#0_pd2RZ&Cs_wy24^-6oO$qn6Wq9Q5L+5NPu&0H1u%@Uu03iV zGtZgYNyzM1sSi*a3F^b{r;myC6&~vA>DXn42Qe@5797Xt2U1mblm@&4ZDAct!!O7( z`%3eJ0+~@c@;Mc(x}Y~oh)iZ$rYO$(Ba(V~J92VlxjX84@=bxAnW_@DYAFV1F%qF%?5WwVtTjf2^sIl-|TBW@d&Q52b zjt5l4S8C2=4RKKl+fWS$a}5C3)Pz**<50&w$0?ZMKEJkia1W)1WB#wy=NJb&h0WbYj;*DS)(P7AmqrP*GQ z8e3&8B87air{nK$Yonu~H>Wkw6jh}x>G3?As_L&w@wY9~#ZxV;mJ{c{l{wg$Yi}0v z%aDZkvh;fmAkY~Vd^ahWiO2iC-vH+gfTXR?GIDD~wXiDL)QNlzD&+lma%c2GbnmZB=hBiAHF7;e{Kfkb?F?lcGnHs zf6>KFHHy_5Al&h&b5AXH#eBem=h7%*M%&RH-TGq=Uk&mnx_27dT6285=eoDLEm(61 zp|kf!wv_8AsYR*3YJErNYuUS83XOWr+&p;tNutj^im$C%tj%_J7s@8Q-@>{#A^V88 zjV}BxK$C*a1I->wgtOIA3k#u)W1YDsW9%J3K)WE4AQ?|V@)c!{>AxrnOXbFzzM;qf zY10P+FMoUrrow%e3wzb;$jdOQSMz%10PJi1e@uOKT-DpsH;9UWf`E#Mh)PM9fHb0l zv`9D7A>9pvqNH@Uba$uH-QDe`yLo4ybMJHC|NZDWzddWMnQu+QpVQdSr}pZb+W52I zGhUTH=q<*n35v>-6Fql+UefT0209X}qx|JFy-L(554*afGO3*ElKS?L8CGk}&xk?! z3OsG|m+aLHTp^QrFw1DvqOyIk-B0Ui57ro`(TV4Mn<+64T2wkO7K@ld;$fsoKJ zn5^XU@T`)Cx_LW{(Kzt3!|3nu)rsCd-?5@m;dc>35oqy@L#>&~gy%EpByocYJTl^_ ziX1vMvqwhR3W{w{X9BZ1LM7BqiCkQ2(X%8|3ao6Ouf2;(adf9|PLCl7lnZO7X~^3a zTwzzTYyQ&9_FY4m1-}6=k;=F{-~EQrgAWR>Ds646Bl-*}C;KC0i@SUn=TlSQjMcM#3RExQq0aT7>xi`dlz}BB z!6A|Ru8(W}?A8#hKDLS?eOITUr`^(QPQ=vDT5B4{fYmrv9&2f9&LMwSDZ}C&2bMpr zhIBs#3NQsL!7lN$8uPu4ELFpy5^M-kmQlQD#k^p@vKp!dff&Mpws$cKn0~37sEI1{ z3yHb8BgD!_QEp@ndI46MbZU;W!`?oj<~1!FT;ZaAnRE3b^0qW`l7EwHF3tm5P;#l1 zjI=b}f>WNU*^~_*yw)dl*j1*Xk5LYs__g=5O&hTK&Y%9+P6UB}+PAR)Xw&W-LANXS zp<(%ETb`n$WAODpviBN4Z2m=HG!yNiN>|(fqC4UzYs=p%0_hv*qn2Lg$|dP+T?hn` z;bG$6lEg|2uq3%=jD~8)Y@H;a=$;cu_bE4OoU|s!p(JyOwX7Y+5%q6ZjXmakMd$k# zAlV|UbK%}PbP5lQBUN77I@O!#c_z%rT`xuS0+q3MXs)6*?lv~_+?@Cp8e>U^jK9hY zt+sCIYMx>=5Y3ddkC5Fm4g@G#fX0gA>Nd-7J&TNeJd4Pfwpfb2kG-PeVW-ZNa5lsQ zF%S}IMNFI?>p@w7C|l?Pg?=fqJpV>nU&`9`YSE(W$7;?`GKJH(w<>g4!x33B!SYIP zTq-E?=S@`k@+}ydt}5L_ffhPfrp({nzw&=BtYMVtDvqj5Ktl?^$>#PDrfqxo=w?{6 zvE($8^ca1_YFzp?uol}C`*5yrGnaPKAWwVY=)D z(W-HpivU;Kw-W{{m}sgTZ~<8D<>%U7QR07z+Aq14BU+Lfr4`u%pP2GF-IvZ?F%--! z%#wzn+(Xq9%f)!B;$UvpqAx75yODZK+oL+4f?Ot#@jHfVYeSZQ zKR)A{FAVIM-S|{{$6wJ}mwd^anN!JD+jr#QldHoQddwnrmuU-D)@Ab`gLo$x@$}`j zg4=1h-*sLIXa$n}P+xFa@{v|gkfDL=TKm)0S1a??{(k8Jk!~8ji#wcSz?-GEI1d8G z%wP29(^f@HmSOhbO-0TMrNZMt3Ag2~$)lQ_gTDfULsP%KUDdMgWOJWxd_q~LC&;Pk z$8BwvA(5vcy%w|OWbo~S=s$2CBVgt~%Xbn36aAk_T041zB)6q8!QSOEjs8Bexs%Fx z=eEojK&H~1MQj5*I#%5-JNzy8QD$CXB+reR3g%6o;6}%kx&9 zS4hbVe7Y9!+39-8ujQ6ceEnSoL^qaLvv1ec_jm=B98{e;Ol%+aVq2Mvu!V_Y2w38> z{)@5tB_?FL9pThU!af!hkI9=mpJs5PH~7y5i(@}0F&Cr%O{fsz7`+mqBvQU@r7XGZ z^R!qFkV*GH)eaqQ76>Q6EHi5Q^W==K(O4sd2Zw(Dj;d2fndPWbRYlaAa`M->wZXKJXYJtUL5N;bg44O*X-B`!L17a!O4fm&c`wsp$}IKj zep}SQ+8zIcQud`Sc}Fehij-17in6wNDTMKMZtQ4>>Fm0lp^cw?JLmFT_x`-@w}D}K zN6T#j#o^T<2>LD&4^zVi$N7c7CVk11aBj+qRcjjWJ*5cv%z4(cf;=pVd8B$h6Q9bJ zhFsO5gyd~%8v{E@Z<~`e2BC`nHSU3~<0S6wCAW(((NCm;d&_Uvv~=X@t(@3&#pjbD zB02Li-BcDd76mM&$v)2EawUHjTr6q#9&W9>dQG;g!1dj^%Ig7&sNp2^$`n~lV3u^9 zwH<0C*enS5_X@N=Q|f)Y;Vr@T#jFZ2(8SuZ(nYk{5dufG3B!|JdA_vqB~HVVw_-{= z2WT{L!{--<#u_?X~J8Wds%muC~N*Ol?I(y>%! z8~7Ia_4 z(8vNw&;g{dP0PxlQPX%uEV&jJ2MhBkAs0&@TnkD>B}(&FhR-VG|7M05UZa+;#jz^T z*wlC3P>4S&O{$d8NJ&d$b%oL3_QmtZ=|l>B+F7HKk7iA@#Ci_d#ILSJ_vNU3_#kRn zN@=QhvbLl`U2|QZSCrB^>W{)!!D_oH-Op;!`&|*2zjx9V_7E+)+)9btKNuc-0-|3* zA&P;UlKq%8$5seMws%H`5)p)}yUl3R+#@ac&Qrrh#r*n8Rnj&^Z02-AECC-=GW(}Z ze;K_sO`8VUYTmmd^6@X_=dYF@N4(LLdX9qQz}ve1q^RI!@#j*G&p+Cxc%^qc4D^h%@AzKi^ZoE#|Cq` zioPQL$mYTaKK)FBr&4sgb$Ad(QW<~a$5o9$qFnwnb2OSHIei9!^5`lSa&64t+~3^E zNIB|aBA{|V0(#5)5T8H6NB74PAmcmTQ4dkFeGhJBN^6mg4qZdvi)IKw@}FKr3*Utq zZr1;9j^H4@AOyU#w&zLt2neZnPIijRJ_i6kfFdeMw{#Y<1?__Q^G;S@#xh2vd}2W? z?M%uq^V@wX8io5+m?giOhg-w!YgU-*jroK5%08y(u7=|R8_Ht+lYPKT&9QI2tb9hn z>3kH?V@%5lUZ7AoAr>KJ=XhPu-Jy(K`^hqa9!)M!4#CL08=ZO4GN%dnqbogsD)e z$+IW_q9`uapN7v!GJm*+;fS8_^422?j ziG0%It~-SI^PPY$UVr6-yj$vESnJjaH&muw2_O2YoW}A2MoU0n&|Wsk#}i$bb0{mD z3y^m(Fg?1k!a*t3y$M)mx(Y^iaTyDFcDF^!a&|-FN72Vs3j7iVNQ7>GyI63A;$2pj z?9jRMrm4&K6ZbEf*HCVg%V!pPeNbA(8sxo9E6N12!I-AV$YswuTIbW zj%y_JK}ouOa@x}V&ru+kL!5Lt=801a2R6kr8t~C8W7AKnA1tSIDd2lL#sbVxREkFn zfJF>JX`R{swfDLaeHUp;khQqrbAp&uN4Y+Jz3_zF+a=CFfsSD7Y$BdM+Q2m$Mz2k8^-!q{g-W7bcRG~$D&(t z(CI%W%aDdQ1oKQVIlo6Y-jPo{paI?RM3eEl=tN6Fr`BM)QSpSYwO{14HD|yH&+r$P z>N44^Ohp$54g}sv0U$i^)JCsY0N{Jmxir9co_g7LwY4L0Bad*etxxj!Vtwma>16jP zy>9C?X&IaiNPG>NB2*2-gpNk9FNB2aRtxBujXeDSDfiF9Xzz@qQWVC&(pw16cm-EQ;AcS@o)#Qo78p8PZRgDah!rEz{#9)w&vQ~H0V9vfnlvyw+3MxIRM@zjNZ z;?~3wqtovkuI3xj3ozts&-kJqaB8?OADcIR!vN*a49-QInnX=*QQ8Ela8%e)ys_j{ z-Ym}z)35W0r-i+qj`9Dg?uwz#AR4&wq(yN;h;Z&7a&^* zc-9q&l=jT)0@e`yWo>bLf`CjoOfb{``I?A|9YM%u48HN}iA?W<-r5M4ly+GFPAN@( zWntDd(&yWTR*m{0eek$*%wfv;V6SwkEZo7+)XS+HEk&fU`7M-7=1re$wE(f38^+?m zIJNbnco{KEqU=)d9rK<#UP>Gjr6@_`8zxNft8JZE9)#j}8dn8mKb3LTtgsEu)MK}Qjl=P8A zQ`?^(IA<=SFJAi;8j>ga90I8N8zvdMB%vy!X0d73$cwcz!dW&q9gnc714}jWoUrdA zG)b0KU-;?aWE+8aYfYR4yI z$>Mv_HLh$#!EBnQ+LCU@D6dOjUmw4Tr$O|AVV-_a9DSmgH`X4(Oxx%%Qf5lQ+Rdea& z)-^bYvcuY@>A@O!pyiEB`{G<%&VAxkEbHwKw6^4#DwsOIN4$1WDsVRs`@}%>cx@-o7Owz#o&1pY2hdds_r)&ey5vnb#ww=o2-^M4~gb2T6!XZ zw;M^T(-msRMzPYV1dg;Pt09lg{!mvq^h@3mS>fN=clW5pRl~t7vNxxf$<^PYGo&(45O1kFj$$aQ-WGZG z4h(yOhMn;KqNmDW3I6!2|9a@6+}hGwcymVXxAct$D)Q(~ z=C0;@8qwbq{m~^_BZe(JbsP5W_m_|rsZI12%2Vxu+L5>yF$|9@EPO@#gC9eJ@bvKY zKm|btK)lqUD<~?zrQe3eZV;ippkY!E4F=5AxUrwFg9PsP9M%c<&P8Cf|JlNl8oW9c zh!vln0KKs_ops3>9JgAPc(8!3G$jxeuoc%LE@s|asBv6P;q`RC>N0mrDR?q)^K4h9 z$7cSoIq8cWswFTSHA?^Hh_R2b)*3M|3Os*!MhcYYZ8Kv2bmbRu%W?BXm3KI!>_aNh zSAwMCQ0o_ewu$|HxmJ2updtO3?{WEiw;~QA^(|ZRyYqQPt_8EJ*J$t1j=gjVKD14* zkfD+}cX;*n{v5%J7bDugPB@|p_J4FImHy~W{Q)?mkx>I)FKrt~sHOL$H;gbFAh%ia z|3dgx_UoeT@|;!*Rb$!*n$-(O(@fc+gJ#0DM{}kNl6>JVNc9~2Xu~h^m;;Wmt6Lg; zJy332leAa!?mg1U_$cDS0ra!N2tQ>s?rRBO4D-~qG{04C(pz85(Emq`&I-u>ml}O^ z;Cv`^NL35c`7{d&)TpKWp6lGdSuT4tQfG=O$~mB#6sA7wKg5lD(A}0D{32ystmj>#4`BZd4`O0_@3kAYAD=I-oJVh)*2s02Jx@*# zLXF=@2HRfRN)=1On~O&R@cj6yummOjeXe^H(}nLM`SNhzR8g@cNEV%b*ZD18>ui1J zYlVkCw_hY~-~ksl{J?`;{9Oho^aE>ka)20TmL>wDX(s!Z*4Il7isz~?Z(a;~T$ z8nh`ywzMe7G3|Pyl*-ySv_Y&06?+18rUFrqcPd+9WWwO$`y-!L`y3E<6f86>wcAdC zP;o8q%M8YEd!!EZ#-fjtW6HWv_R|b+Ea|c%%XF zfq?3pwa+tzsudF>hYIRvISW` ze{PrV>q@OYH!khkpw9W2zaYkj{8kYWUVklUqCvikM83tW3URN$20w=;OJp6Bf9L!- zxj(qeJBc=C$lQY}fd(8&QKjXpiTO28h601S9Vm64?AoUbBNUM=bLAN~ABl)yMp$oX zhh1p^I^5L_jqjbN-Ifin8umRr)4mRLWDqP=x1j!1jqBQG{k>*56Z&D~1GMVM_HC>U zlkR!ib1!p5%O|k%xSm~vYgEk|HLJAJX|)EK4dP|T4Myi~9-!T!BB%0I=EF`=YV&TO zDQ@Y?>6*6W;J#WgN4aU0zp#-=e9OvUIz`}%8RgsjUy(mF+G43PsWm~W4dfACG)YI( zyw5=?-vYp_l|3jgHx58GMbXQ4mxPAIm}x8wNkc+!`Mulk<}B`vP(+_|v$6V(Y^lsK zTY9epDZ+K{EFcSlqsfu5HsQKw&DcTSM`+$}`62ye|G%_yDqHlitl|A=29xFJR@3(k zqUbLP@F~2+bbqb1Qski8JS+3PGV#{~u^>ve_CEm@kQK?9JjL#z_cHu%0iQiW2JkXle`G!7tV7)GfZX62_=YR9Cj% zT}+X;H}!jPdeoF39(M7V7E)T{IIEr(T5Pv3$6Ok>y~xyF`^V-a?)Yh|fnO*UXQxSM z@FlJi)4%jn|0@wAksloa1GIB(K004|u0w&Nz6!JVC9ti&rSCm^GIng>-7>B}{;-V2 zbYz{_4vAn~CZ2>)i!cqaEO_veFb-<1c9GbP0Tn=$)DM2;cjh|AXZ6TJv$AOZE%(?7 zblW3p6K^CCd`52y_m}XPYg4^^r-pf3)fS- z3AQoIQVQx4Z!dOUF-a};JmWGaA*|3ME??&Gb$tyT&=x~$Of(e2=wbTn04)J}%h!;?iO9E`z} zTZBd8i&3wl{TeIh=f8xqfdgfcLivUT(&(Zc4gFsg2>cSy0q>- zbrklkoS^@F2;Lwv^Njr<-L>u|R{&PexzF{keMUo306{wrwyRrBU`?sn=LF-YsHLd3 zQ=!XFbM{Csv)~0TA+y?ThrqUH!KRh8s~=r%fbv|CBs8%`1YJWnz2iGSWwXtLe;Nc& zA{uzr!^_o=mpU278`o5cD|dCn+2NW!p$Mq81YfRG1p=bpg@KtzinpEAaUfM-iUOer zQwbb!xNV9UtVseZ0@KO6c1NZH)`!(TSIAgk7`-tPJ9w9i~<^o@bW=p;Ae2_Lc?c4-~Y;9f4Gf#Mqzm`7;6(WohT>C*$ryl@%qC8duF& zM2fg2Uk3XJ9gfZvPVO#0Y7Tah)YPL@qQvqu0)bJOG4oSsuAxO`F)nA(J=GoeF$OK8 zuM(H{d8U)DRdfRjYESXDFHsLzdlo?>2|Ds^0d+~>(;2)4vFJqpm0lO~-uK4reh@=W z!SId6UJv=G=g{79Lkl3OZ{(NGar~#Tn~;Q}_;;@9pH6bFnYV|&!O3hD%_epIdP1J4 z`sKt?-RQ$HmAz^}AHZFzsjB_^pF2ZWAt71eHx=BolO@@^w6%VhVI?aghFAgEdk>K& zR%C!mo25w5A9xCANAF2~RO3JaUJTx@yqcg%CHSq8%68TDs#(Kj%=*+{;?-4Gs{4x$ z`)2E}A=U#Z;j-coxx1T#{w#{sy9nXi2aD^DT)wv0lBsY!L1?vIushcgtiD?}dNpUV z**(r=6kWV0Ysm%LK*>`0zgC4_d-6lL{O@YJ+yHcnn{+dHise`Tvd}@LiTRm7_r9*I z%?-YBobj1ZUsM<_a9HrQ@`KY(*-P;gp22CpV_w1~LS!aI7DAbOUGF6K+;$<3$AH`s=xc) zMF~euG(;sU`rrs2vW(G=+53Bb?y|6gf`n*~<&)YcNfPnB+5bMu!V{s2VHq2>_`w8k zR9s?gh|AsmQAJAdLVq<54TjdzJ44@(e3e}hD0oFk6Q;5zGs3p8fc4Yo?^s#_F+0^> zn6vPR+{#e~8mmK+LC^HB8j96YCHLR67YyiizBy6@Rs~cq@;J{<-#d9bGKxe;9 z5+`Y=RBoe^Z_HTdcf1jY{WyIPk0_b>SX2HQ)ye%4<9OOz;u(q_^^e$%`?2y^cud7Q@Sy}n&)vLR(mIDokyM92D z&o5&whhT0TR%ww6`u0x8v70_2aoTP$?h(B%x=9Q#VDK2_$yVQ0kW9?=dXG39=CTo$ z=Dc`*2h`jmB42-Fsp*q zCDH7r%@Y$<4I5>d`T0Lr;$7ol4aJPv&%sB6NFWg_wU;PhX6Gh2evHp0@kb$VC%heQ^6v7_msR9(Ax`39 zy7^f*EQL-6x_+PL9!7tNNKjRS!uCk}N{MJ0dO~n%e<=A_{PEh{XtJR+8fj17ip)Qiq3+rWQn~3|{h5%+!YKAL9Lfks zGx~y)f{@`5wIb*25rqf)$|(A|)POsDGW|T$nkRA>KCmI!ZYJnW77(p@6*3MOC_<1I z3^XG=6|3z;b+zwJ3|K{N;ud-qGT!4oTy3{!E#}F)v)!n0HNMi3)%kn8SIN=h)zPd9 z$aHVie`xs$$nh;}Eb>9}d+7LHg7JAzU#8|AQ54#paZG0Wjq*67oK}{+4#0eOBYDK1 zB8@ps4RyX!PB3Tj{W306VQ->q(#3J`Kw2eZ*6Ttzo6{_C_mQ|)-sTgz&WFoFI6YiF z68N5#QBH*2u+ec9_C28F)t*wrD!FQ1U!@%6s-ELxJ6bxrwzjs{l3Ryiq>o>jxm{kI zp+(Jhz}hwED(RYUA}L9ZN1L!1BkE*t1^>~b_ImfI%z@_$7FT0G%Oi1cT;G>eUK7@N zE8G10MaN5{1g;7tMv6aQ`)o(s1nDw_>BMtJYG3j4#bv0b?tZQ>LIE*xD_~3c?4`)} z`YD(A**pvuo%>s~M54$~oGS!`BX|&jaQrEq*p_Y0ZmTEKdheV4ZKI&9Q9Wkw6F^>s z7#^U^>YKD?qjND*j7D0%(<|vP0$0l15pEs6Ho^7!MBg`%VAF(Bh6;^|dt&Y?HD&P~ zXm+&HGn}>_-ZNi97Ts9{Le$FY zr56s#gNC3pUnM&8Spm-YCubotDXEwhg^eDW`z<^9R`6m&%!f+UuV6oc9R9?Q`Xka? z6~$f#XQ_!{gCo8Nj7PHv-FYmXS_;WMZ{S;&*8zESayB{RL~_CNb?7S!5}GgBlYuFe zh-X7Jhz!Kg1sax**WSsZJbb8^q*Zs5I9X<+oP%fOJ2|UB^ikWeUF{vo#-2W3I_a|! z8jBd&xTe*TWXO8ku^(NzeV~7Q{-We%C_sV#$gmaVjy}cXL}wG*8HLEIG=YMw`os-K zjv{JFSg+`133J}PZ}&YXh89^x;k8C_`|$$0MRN({aJHa&z9ppS z%a>l2Leb3QH4SDIQ=APmarSfuNoV2EOmAd3+C1-K<(WB)<$~+)%NCepXQ4~Bc)9li zpG{0du#8Y_JJL*ja0e93i^!m*i6F9_hHos7YZU5NHS|*N>=+06M1L`BBEBIyzp#M1 zeRx>=$?q;7U!Bnt%PiQil%CnIVt)%0GwIhaPuT0SyVt`fEhBT?t+tjIR-1K3vUs7Q z-JGw&cXY&$IYo>C(lxx z(!O*Ljcz=tQ=um!7h84h?*}3~+H7hvHij^bDvb?isS2q-OD(vdFQ371MT@fedC7Kp zeeC9rf>(*4YIRX*(h$l#{&zxhNT!qfR*)Q%w=9I8 zWM_7EHX{>LVs&-Q;NT#Ue+?{Wj5%~HQ4%jRnR?}V=~TnS%F4PvUg85A_K>?<7>$Or z5t~~_Gp>5DV^={*sZhHuXdgOLov5=IDq94K4(qf54(p8fmTA@3 zw91B7BMiOE4=u5m7A~>!nTri8eoVWCCf>hLJsYXo`ZVLUQwRoZK7gK*1r!_F)`Md@ zdE3B!HeN87F^Bv;G>G_Nf*k&q^dbzP6EkP9+=?MM{XikT>)d&C9=weMY9OR44yj9X zSQ$ZByHqIwt?@h33-~^yQlPq>d!sZc3Xe=!fFd}NW@IV8?+WbZzwWcRE)Yumy0_bu zd;OBr<%g}Hm9|y>fV26MN_p9@#qhlm^Dd5_>^YYM7cX*Q&AFYgD84(7-nfbLdz|Ti z_xg&?cjxNI%)ILx$y{6Yn<6N;53G()Gw8)c7<2)=IgII=gVz-#%-u*DT_=IvMptvm zt=GyYu7soo`ZxL*@h95`t}cD+KwZl3L$M=C)VhfMNDr;XLI z>D1}c9D*{uSRy}=;7C`A)oeH;TCI!kT+995`9m8HcqbXZ>2|HOyT21RN*f=;ikQ+MX)$Er_ zm-~LgQyLBOGfk zN{P)=ld-_Q05SlLKl>BV!NN>pr)w{uW>V7nG@n~=$#3Cw(u)gu8!CJZiMo8>tF z^T{}W(W=`3CNpTdaZ&Fr{H@o-wT&&JZ-&=qI(^(N_`+C-5 ze04ZTm#!o&Z8@+bAC~oyaB7;fFbk`UUZwm4(Tj{M^*R@^2u63;tBY`G2w|VpE$rN! zy?og0?Q*^&WMyTgP+>uCaWYjl$qakbn?5OjhZcpq!VOS-(763d7f761HZW@ZmzZq+ zQyyb`Soiw}nfQ&Jz6~KjLLZCmZw5U7fTY0Rp5eMtTyW6yNhtG|epJlZXhz!}`_Tg| zK{I~~3ZD_5_~DO#DEnd-BU^RnRZMsu4mcuSA#(v>WCGPHkmBHT#;WJS-P(p%0B%1` zkSuooU}LG(S6YmIY2OBd#&ev~PRUn@2A)=^G&u1x63LV@##6idqhMDnWcS z!a6}F+&JF*h{c%&$v(9EJ*Q?Dshau^|7;o#ooz0IQVEhbz(Iz&RKMB#kZ!~v_Hgat zrvxK@DQjG=k2YqE3r~BF`Tn6i69!%p1c8%YaaZA%#fVi3NVx= zcjCdWz1_V%VNublxzWZ(0XV5P;TeO(u0;Zc)-AAP-LOs_cA>$CTwPn6+uG`ZrP20X zT8IZhetv#K{%bG;#l^*q_!2}(f=Gxci5c<=Bm``XHM%?b!{^-neG%&dd53I}kiwez zsP@&#jk>0*oBToue<%r0h{F>Vs}l#G1T9hV?UG*<(ECPIKQz860+ywX&T)elz)hh) z?h8dgEBXGX>RtCz_v@qAHBwD&JoJDPysN|#s`L&}5O{@QP#1`%>lz*2Cf=k5gqadn+ERH6OClP zIxrE-bJeuNjMT}&=wi4X>-?J3HEz^RJWW{dV0++qih7fAP z2bvcdxf}Z-%8{Z_%7(&Sao#-Z!c)mp%RnE%X{mnfv{%Q1#7dSzheIsDe+EAWk^_Q2 zonW6=XYpmIuacCg*|`4qY6XwL7~Fjpw~z@ zLR*1bq0(I5O@I52nFbhGXTGV=jy7ErWZ+;rT1fj$RGaG%p<0E~rjR9n#=77hve=vWt7 zOL(Djy2D?EUVPN1UFZ-yoJ$ejMhGjAUT@qi016UPe%=V$-^B8#pKW2`V+IK_DYwwe zcE`GcTKWO6<6X#^dtk!T0i5F{cU*hwsu(gEd(WANvG;yFlfd4`Eb<4&BZJiTrDa?a z4@wkeLHrKX5gD1Foj*{EX%z7RasE&8Y+XQwGaSbbbx{ajBw(1E8)q*&nwi0N6gmBb zyMM?}9h=gUEvr~9VNt+@5M*?J`gs#yGYbd(nsDxgk}pOLl2>;Qg+0h>EP^?5_zxex zhgG#0_$#D&`F%klr67|vp)vZz}v@%iJjo!vB^6CATIYRvVE#cgT;UP+(2e2Otleu z5y{js$cOCBkY4F%^$Vf^iMcRv89xthvc)|D!}~zpP;A}yr|>^kFvv}R+{N84%B7ac z-mNh5(3Qyb%V!Vdo;Uu9`ml)Hr?(oN-(<*vw5kbmfP9ZKHlo;EF6{7p@OBuFp8l)L z7Fd6?SxKq{s_dZ^`90&ovPJnNv{{|GCPb|Iin|TY%fD@{Z6Vjd??}oij-PH@#-w}r z-T(H1?OjS9fub=mUP4={W%zGSO!T1c%Pq07wteRTra>m{g=4>0QLkXb;tH7bqxOvQ zSqqmurb)hId0Q`r$lzAmF%ZXgMluznIsd))4R_I^0rnhD6wrN_m^ z-QQGo6`zC^%aI(G6uoA5lT3cjkLkrPrNz5cE_2YUR=)MZCQi@HeE#CacUYUKviAi^ zB*eL#8lVXJKWE%O(A#)y5y}3ck-FQEQSRieW$R>o@o};|433c zh3p29Mi7i)$FZstSkWs2MrHGth;+6yGVol90BgVfUzU6JV;lLuT8W?h6a3k?-zoiq z4<1XMK{cmw`WkRkj-M`W^M5s=0Ufr@5 zA+I?W6Q4QplOp^@Fcil)5%q|%G8lhBK;@QANqLF~rEt(O-6eZijLMgfIe!{P-M=Pc zt^MsSp;G^177jy~aFg)(5|^Zn6CQ&o1InfNarlYXicw1?OkLVUzwX2xPaLx=74U;L z(Q(Lsk@(ztlR-i!KC`U488!x7(qAA&*f8^Sai+nP>%y^zRrlv2=}v^LPrqnfXX#XohAD?l^>Mm)z|X^-*0 zH<6)%O>GSM?1g$zK%>QQz!G6#2^hIgGS-OpXo?boQ3J>>M4{i#Fsu z$WgXx&*)*l>!O2nNm-d5tY{w5E}O&zb;=_!FF+d5tcp#>q02xAQn>VLpsJ?JST>11 zn|krWV+%hnHRCHwtMOfu!;9@&6<2!(jv#x_gCB?=T|Pr<2kD53XEXgR6*x#SbI4H0 zobi(L$l5#-%?TCAdCE+Qr%t23p*IT|N6SU{@uDT$~kT*tserqfT4cuY|HqddERbM&5~k<5FNlw*e&?6 z=jY!AO${BSsnCH}A*MVtxQm~U3#kxGcb8x*o3|S_pZ;Oz71RD03~SX>7sgMvw#ya5 zop4}g|`yH&dX=-*Oty-5%tRAwZy}8s^-P$4f8kXF3BsG6x0*MJ1^%!_5 zJq366614%)G%t8LpP{z#*Z7Qc*9f$&aI%p35LjLLpJF$-_Ig%bk<=xO*DU|UqJ7Mo zGt}u!^5WW2iXc#5=L|@$cwNIUtft6X`doUW)>1x_{7dsijG_fHN)#$H#F}$#-^BFy z=v}>U=&z>CW#lsC3gN$d=AEmTr>9p1di+;sL39MR-wCrPn`YY&a?n>YqtC`>o+G!X6YG!dZQCAXWsKS<(hINX7 z2c8HTNT;gQXJ`t=e8Bg(lXS|^BN+O*oz+w!DN#e0N0-uBY7}Z8rIT`$p9|wb_}$#= z9&}}=whu;9W%!6S(XUAJ>yxc%{}FWinS9i*y{D`b%#U9$xL}37kTHCYXMt>xfiR`M zPrXqJGBCj#TnqZT+xu#KlWCt;d{&x6vJwRB6i_qgnlVs(% z4jTRl4#!l4C>wB6-y4S97Za_{(YpjljoifLa_nc5rcKeRNMQJo?vB++Mj-hGi%I%k zoITj&!7TZbU6}2VvGQ9Uhq8wDBC6oY@)IlT)pm4eUj1f503cpwgHac44Sh7cGT;rN z7gAU@lrKBJffYap+$$H*DdtSp1{FWp5&^Uhi&bjw%T7jlxb}#tVBsx*c%^-RgHiza z+zGP-AL`Be#`ggR9?o`|;am=7Qheg&bxUD#_z-AzpOsopV!d&jpK_zrIpfSutA}W{ z?O>GA1T9xLmyW$}!V2kdC3Xq`ueWxq9pH>&8_crzM)MZ7zd8Y;;U63>dM9EPv8~A` zsfKABP?4B!)E|aa&KUVL;6c^GP+}pHmCw%d%PXyfjahAEEE{h)w$_C*8X0+B*#vh| z(*NvMZmC1F^Sw_xJ8%dk-ql%<$)x0 z_!H;%m7$FC{xrTlOxYmiW{rU_V!V9It)_ryg5vWV$(2j4V_tYhU~LL+EWsW9FnL~* zZEjG%WcC$`;E*rxAnzJogD^{niRj(wR{z_p8Z$4>2sVvLKEL`c=@qmFL1~qcJk?SM zV9*Xxb1(#-0Vc}Ng>?~T7hr%_b;fOhObblbU~x%LBjgDuNKMr{a!g|$n8a_MW@MVI>} zv7f))c*UH%w_#gYabNhIFw*@1f*F*a8{92}-O^hfXo86bNO=_W*m!uLgF=y^rdb22 zy3EH73uY}$MAp3Pb&aI80SS4QM+RGvuoK_Huyf*n9kZSFK$a=YFdk@T#eIpa!t{gMM4=LBmn;wCMK;~g6A5T=&UT(1Nk2NI{p=L-N|vMS!R6UvweB@;v-x8}4q zb&vW3o%o0O>1%y0aP22Dx^EYoA$?kHei>!e%W51y3{Bw9v;KilAS?-r@qWxN?P!Q( z*d1;ghtS6Snq=mk#_P$o>$=SGJ&52fMw7I%#i!)DhJrDca{G+=n(!BE=~KLU-HfS2 zP<@^(tdsoLbC}Vy1=_qF5UNc3xA`S{SbGV!ZC4WTRPHji1Yx0U!{9W2S6vXDi_|n> z(7o3JDPSuJ)oA;lh2^x3-uJdmJ}v02B)?C& z1LEPBHm)}o!n>>!>KHCx**WV_L7WmZ*e_E}Tk|(%M&0<|%r`1f0F9r4nfJfJP^*yC z<{4cTjIs<*g1ym}^1&uTe<~1=Hzb3SEH1QjVnYB`d2W5kfOOb48j8C&L3VJ&xDNG& z>Z3F@exMyljJ+3}BqDXMuyw2X+T&e#{RSe1^sCfPmaapV2H}I*`Z7t|foa#o)oVD$ zcDF)*&3h&C^$ujfvXDZ9l+aYBPrt9Lbg3ZkCn#{(>>`&Yk~m*RN|ilo>wexLdd~SO zg2_3Z;mrl{Th(AWf&bVwLBF`t#Ybw&x%rQEs^9AV(NIv7diQxF7%&8=sLa{Sbw8~N zNb!s4O9KJ}M`}Pf0mS;dfRjHQHF=5xQXa7}o*QVyXb|v`9q!%_LM_Pg{Wl%Lp(d*b zh502(s_0ExTvYtm`nv2`8q0Evc+ea|{2Nj^j1+J{Q^~wO^9f!^5pV=0(kH%(cvU>u zQLYzC(|*FbDeuC&$D)HN{(|*~3w0cxDmN!)Fq>K$#Hx(@bA=zj=d0&0bEhRPF212Rw(qY;yt1)f zMwL#@55~5R28KP0-j1YF4K!qwuif_Z89_2BrIhQl8F3qs+nDemE)oSPCWceDD90jt zX;(o|Q}a1W8~Y^m1c`S7lYolcbd7WBt1uuTyxzs*N~|Se*Lr)Z8d*1?>c-Y2L+3o>u=Kk(-vOnLYD&CJ$cI) znX@eK+ubQ(P;fb3>QGT6u*Q#;ex`tv){#CPc)#jv-=lIDb4f<@x7W*`8+(AS8 ziv4Z;Xhf{|->%8D;&0WpkN)j-ik`(jfKE<>n~_og`XI6RJ!Z;{{06OY4X*^_S19%t z8!6?0&Z4|S!>`W>Kv5AGe6EeEWw4=11x^P(QXBSB4T<=UV|M+M;;3+WF%3OBo@H296_ zA6^Jy99=k&kZ|y;RM&ImHQ@s9)gQ63Ogx1frMeJ|m-?Cy4t_SOt?O1+=)1&kxIA$= z-o{Ii%lKw)nI02GB6G~2QBeUjJzXgNl>j?t`^m$qg@PhQ;f&;TmJNMPtdI$z~cX;xAu zu%=S`#6@UO=r?9t{=*goPY&-Lai8*@F^Lz+8*0|o2K4tH2SheFLMUi`;H z-h7s>g;i}b$NZQWj-e9l75;?Qo-^*ZFr|yv!h7mP%2$b0d3q%vPucN4n|&2lUZpKJ86ID{(wl*6ERObTLAIt;VQgX|Vr! zgwvt&Sa$kJOyZpg7K?oT5O?mBRd<{Eu)t$znkPA_)l7W8vAdY144MrX7)+QRp@oSUMwV%oah4PY+Qe1aqlV)RnF zwO&^S$VNI-5*{iAD~C59VGdx|fI88qE8)n{xO-M(c8y2M$HtyihYE-3oR#yXx?^pl z`PE4G-SY%Zx3Qdu!VibF#KfeUuQU=b6Pb8YLBZ~+*ug@nE*dC1!^1h$Obn1ICZ_+m zB+(ljUD@1kADX7moK=QTTn?FybNdv`PC|~0K&X5W&emM+t!m33Ka;#1^(H22glv6c zWZXYN^Jg`b_9G2J$)nce>UgzG-g1%LEtSozR$k%A4AG*5^OMc-t5ARSqnw`_pGF&K ze^BrN#9A0R6<@nJKlmQ1{+h;nD}ePW*a=lBD18+Siounn(uw)vVvbMl)t)Df;_D@t z;A$;<(=PyZ*7s}A$APXiCa7=sEx(%q`PuTWQ!H%L(V9${9*N8xvCW)E?E$ue?ptc% zQsMVUJglnbC|WmX;-1gSIf}$#Qd2Zx7e=Lny2sh?!X{- z3trLBIu#LM zHmo(=hh>MgJVrjxxe`77253#_$zeY@D19M+z>snEcr%3-0OIyR_796DFrptzDK5I>4aa4i$;ZI`>^&+#K|)70*}d?5B(kV_yB(T$<0CjVs}kRV%9L zEoHGY1M@nS38Fd*?<<=Iw(6+)U|L++s~!{X6@DQF!rQ_>o`+BMLNNM2)J)8G{DW7U zN1{B8_)^}mTI^2Jl*C8nqq$ zrkzHd^5M&md_;>JdSXZ=2YN;C|6rNKsHAbcy>T%eD`V}&1n6)fW3tY;qhG6>gN%e} zZ(pzFk%i=yI=d#9S0EcR7=Z(Qk%mjREK;#EuB{?PmPI!QN%*n==T%-Oh5>5ocaY4WeFLK#lcbBAk$3F zkh^9|(DvzvP;ul#b#JoAMt+&sLoO^`loVtqeQe}T@zTkH3#7&LKSx;6EnNTDyye_* zMijs4F(18>JYsh*4RPvLx1NQZ=ouOyLun8#KI>gE2tdh4HouBS1wBDx|5yOC5d(dtK=AZmM@ zQVbWp8#^0D?ZHtsT6=I7!Ff%jKAffZK{<@1EMFhnggzot5$o>;v??F{IBi5O{;2IK zeKya;mIV`x9w)5cNh*Ffbmx~NRldFPVlS^8NQg(kp{o*$qY$9w-4+lw9#3>aW`!EP zP;=|uzcUSoDM)+caUn3ANWn^W%5a5e*NPK@;Fdqh|~>lHO;9p^j{w; zWY1mblg?rtcj0m7a&Tt_0hevyJdv70zpzlFrcoP>S68im>1zcM972_D3BD6P&_JHICPKK`Ko#6H`i5(E&&ps2a`Y0hvS#s;*N7aPMkAK zlY`T2sB}c`A0qouXudC$jWyjJ$d9pqV5blG3ywL9)6SMb)0=N1s7kYuDKQ+O(&(Xx znXwHM&nmcQ32NIg)bk@?q7+}$wK_arwxMf~Qi`ziiUY|3v}pB8e4eUfs+j;3N`Wr( zoKimvLITZIYYM)PPz5W1yhl0r&MTXt6ch|Iy6^Oo0MDhw#M7~66_ISV=SP>Iu%U>8 z`H}uxSfKGxJ~Ss4kKrgR`2OPWyYG7;{{Z1_fzk7zU~qr-`jnQ$8Gph)r3rvN5Kfg< z8!W23f8^@Z48K(~wwmb4`TURs>dQaU_f(`+<{W#8Gv?58c{15k8$}#(Mw4t+E|lU- znp%a3U|zxbeb>LkIy8POfdmhom{;0YdcP+GIC=!O+vrH)>g!wixX`Y5%5jVi=Q_`1 z<<33&D0R!i*2!~Rx?=s{jWpC)Cp6E`Fm9^R{fM2lwa(Ln{##IvQx_pm+{6zZK&WEq z(1UTHQP6sUb{DG8XNQA;MuM^c$@o2wQrN|NZdO~E)7vwL+3ViOspyXF@CE4mSqd?R zLkw~+6$+h(NB%oP_RVpBY~-Q@L=Z=Zvog|Vo^w^6-#J{?67H&J};>Ii9$}a zAWefZ265nHUakd7P08P-2O(O0gZ(J~ZE~7iN%Lo6 zPwJsFn2XD}gR}32FZ(G+`xh-5AlTj|%rO4paW6{zPqz_l3$VC)l33)1|JnD4&M71t z2ZZJIBm;$%*FnnvDxqM4Y@Pjc{=3e?gqeg8W9YhAY6hG3QxvGE!=Jtp{!G64W#`^A z*tR{}V?;ly$zSGovo)lXcs|L{8v3Y@Wl8cQ7q3Eul7I#owdB+C{@lk(36J^RcyCW% z0T|!C3UoU%&*WURv>Kedy+ZqLKRvo~31KeAu&Z&s#H+h|Bn}tbWRTkWT$nNY<-$GW zhHH3fVZaXPzbHo(Ukyuc{)cFdC6@NK+y;oT%$zi&5+GHw0W<{XCQY@Wi{XT@r&&36 zGXI0}neg_2uRP4T*&d*;$UnpG*_SeeM9-OXce?EMgzs5`aI$RL0i@aCaT>z!OD{n} zF}}KaFKIXsmw#d8DRhE(fKWu`iP&&k0isT7XoT+UGL*luqC$i8r0+XtQ$p2J)YN_7 z_P~pi(5Sp^zh49z5JvwR2U|vH@O5NtDpZ7?`*^2EJAGeC1JnHqjofGM;m?#}Q1CYm z_MA*$9RADJ*s!_03k}TLH2o`P(InJF2!y{$3fJ0A9*45TOOtwgV(}w;q@cg*A$;bU z6=s3ixifAHtjIc9tpo z64&zxBzJY;RLZ3?#zcCsK`|G}%Lf+($SplSrhKMCR{Zsk^bY)3UC{pnF)j3$P~3zJ z#D(xRzS*n}#)o|za$qoVk?x)*e*BMmFJ%w|XJ$uko1J;?Od1*Ig8pmeaKdH`P3n#( z%|rgjP@fZcz*hqjW~z?i`wu}SK?X*OH~e^uOj~p2GE=b^!*AWE+*;U_xWJ*BZEt-u z=&KF>??u+hPJZ&N8f0M*`Fa%Bh=T#hqB^)<6hazYE=*}$gSv`tISI~iJ1i88C;|1& zraZJx9c@d)3?3L}qXZK!U`+IRt@NzgSu~CE-b&uL&Y$AN&1iqd^}F99Iz$Ot(b@I$UBS zz!J$I6EfGohl~L5sv=Nfyjx%_jYi;w+J;T(|tXg@$VwIt~T!?q-^4S!0-n`w5tZeIkn zHwI4I}LS&dU6z@vy>y(}iO?iXsXEZe8wjhVn=cM?M$XeN^-fr<=Pc zz|Ak;i2wR$?Uz$!(*~o*-_@JXzPc~97ya*< z$^Q;-E0GLPkxc@s%6VW>a)o2_`=KXN^9axc>woy>%kB7T5HC_~<7;5_dz1dw$he{K zGb#}ILWH+aFzgg$8QU>Wc%XJ`S8@$$4%IlFy8r|0C=9TAHIx$oLNF2({pd@i=f8UV zj1;p7H^(UlVe}9+6?eA{MJP;Cv6nR)O|0X&vCh%BC?O>IbGjy2L_oz^yj}SBJGdN< zpgbrx3NkvVbc6c^JxZPhBM*K}ahn*gWc zMH`Y{rNAvCrxI{p3&$Lk?h7QZD8*KIBRm5uh|K$=kEjT&TcM=AJ+Fe7xx13xGv_}? z2mekoQ?y~T*BcQS`4Kb`<3aj6qW{yLlAh|XIpZ-Gali6u>fQ6V{!6}^t;=MDE4gsR zd5v@g%c)#>w7&NcNNX7R+3$ii91X1$4Lg-dFeF_63{e(ZzAc6eed&~3Owm^3GY4PR zMHqRdrnq{8RbmnqloXm^t_cgL9xLb@z;GXz+RzD^98NAg=yM(?oNd<~8(S;EDnxjp z6SYT)?Ob6tOK)G{zD$3|02coumFO=3DU;llit07SRi!bV1Ii5I&n@V@0rAJGG;Yl~ z$?>R>;eZ&&c0oVdFP2muqdomF?;6jV-oH{Pf|q zDaXP-I)5htKi#==-kaqU=A-5VoCC+DnF~Vks%lx=6^bf`o9WOA}YD=TC zi`q1^Z}&Hzd90Z3#Qi)|$>$BWGQpmj)9JjKq%xytC?M;Mt3F^mCtE}HmYuM}5Bs~( zVq~y@hvsR_eqn`Sy!>G^u?*|hR1n7qmnw(yW_Yyu?6JCG)bTNf4R+x-jSl}cLeXO` z{UKo7@dn5qX7yiu+A;QOQ~gCxqB*BTeFw`fLlF0t{Z_|-J#y>8Hhj{2{%(2<{5uD) zGSSp?Se0@XSE!xSSF5>I$65Gy=H%mZ+Vc%XUFYc*ne#g#DLVv`*OY~BA&TbNo0CFs8OCiS5-&`4 z@9M#S);4$&Fou?DeK8c{yL*pU!n{KnH;&M)5kun&;fCE-Un~{!NM4h(1tG45>-XJx zx9L$2FOfWX@n&P%lWBTpHYCl4=sorGUvBY%9(*sz1A0D{66kXGr5Y%=FKi6W<4GPL z-gVa}JzRa?KRBd>6Gteu&=)5rE;Bt7ezPY>TtuQVlxNt)^>^t_i;@Hu3%1hRu&rMY8%L()(`v z`2CpV9ZK>ocb}`LWDG>l*5qca-zyKHbbCW(5;VyDQFWpTAx zuqRwxCHPVG8I6{R*45@G30L}3Rk_=Cagg(!#s%w~B5hmmN05`eyK2{>!&Y6y-SNYD z*x-gKuhj6FWUmr2+_R9YHP-_-^~Iy77g1O1NvFL-_)*MsMxo)K7|~+Q;+(P;UD8)d zyUV!(n)P&sy7VbOPn_J=w5I0bGpwwQEu_E7hDCGpdW1HIvOeMcLA(lYdSAs2`>oVO z8G+rqu*5hy%puKn{g|pzc@9@`a&S$|j8tLFUZ!l+rcJDS*zk%a|rFb@E0n8Sy+%jKth0iK+SWR9&Q z?JfGi4858?jDxbn?Z?~Lj!nn6B}C{73lsbk*A=yNpQ=|X+ra~rvw`xK7Pa)g($9cE)-Z^S|M>2Hd;T z9vMEf%}YF4e>By8_(g=5CvKI)iRxAL#EQ-jc5Y4_GR>C`vTSXKs~pY7!o<(FK1yY@ zo$Janbk~>JAt#02-;61f@GEyOwhRmr+!VPwqRrKctzJdkbdFM7s?=GGl&#AAtY)~>@im>h;Oa}%K8nxu^tN63k`j15 z8=D8Dli_nu%x^rM=k3XEV!9a{W9Wb{vGwZRZxmbgk>INFO5*Y9$_La4uv) zopEm5aFoW%?TylF(OGQ0N4(s6H*ZL$t+t&z^cqSB|CkWH(0 zQfIl)2+R)g`rs$2I=;W{F15Iq;|ccL+=C{a;O-EVky;^3EeTd<-+3+Pw?XUn@%r;w zjR)*3Hupjc3tSx+d{yLk?P+~}dQF#rr0)$Jsn6)Go641MQIZEX=ja2ol7R^hw^ex^ zmN>ifDQJ}QblvJ3|I@Kw&YC-XOOAcj{Vn~kza}$(QIc(v|7}z_5*#Go@6^|!h*97ah?Zv$EVexWD==C6%xY1-h?T$Z!>F3<>a>jtH zPVLh(uznpmOMG)Kvt--5TQRWTV8ogW3qXAIFdud&g|s?-AO}4X_#Mr&r zwv@DwRIZ5pelOQIYjLbzaZQrb-cxp#y!n2cQETV?#&697^$Ogb(=Kle!mzVKqd6jIehl~?%&;YYs;B3Vf{EZfx_cl z)v%V-{);iE!^8;MWwnQm3mDwQ?a8~|oK93|FROAh{g-89M9!CArgU&0a%GDKFHqCb z@NT0>MXqBksNIl#dud)VCogx#o1Fh?b;|1$U2z%>#o7JCT-0H2& zL$U>D+4*Y;dv>l)h)L|(-pgKb(r1hQ$>Tup&D5~@#E-6gHG!p%^p(Je2nDW^xPUIJH#g@`$e{F%_78a?;znt_FW%?T!_qw zYfBMXB^7u};|8`HH)p#Dwbtg=k&`)hz%s;3; zVy2a4q&j)cClkxHhtNnYCWGI5#QSIGet{caDK7TpbeXqgp1+04w9n*G-B&)kxL4cU zPb;#(Y0nuiwv3%Occ6eOS6gvPbGzdFU@Pw+H_@0#c(@&lhLt*KV5DD5aAfIM%rB<6 z=XMl)jPbsK(#eLq@i*G<)_X%_>lu=|aC}i$SO2`;)jrypr^0D>@ok9T%KhCYL7zJG zST~PLCJt@aKgSl^pF_!@%V;=mT#QfOq_pq1=j0XIvs8ZX>Dkn+|TmT`)Pq$ z-xug^K@59X;Cgsi5bnP!kEw`Ga#g6l>)3C#d~1R?)=!Edx$Ka?*_f#9bd?a5bwRPV ze*A67fOPJ!L2J~w^8q8i`0RJVI$_JHhKqZG>$mmP|CtbS_3qNkw`HK!T2cop#}~0h+&%K}_a63_moMrUst-2kx(Bix=L~rT3y2qPZ!Qq+ zFL2na4_|x~k}DNCX!_~7BAo#n*5?mjl@J4^s8_IdW}Ucs5}$?b+FlT9g1Qinq37s1 zmH*|(InSx_?I6+;!baG!hueBsD89@+|D|i9otN;l>8cJTr-OTp4mS-lsZuwsvd|Y# zvTv$(SZM#W5Xi~N)ix_Ckhe~g*BXfEt~X-cQm=Dx-P)(2G^Cu-o2iR=Y|)+OoJHy; zUAM)C_1l99TGv%Kyn1DKX-lp%fl$TcZbxAUtl~zCMHaK=%p+u2Z>LQ!-9m#$f<+C% z35LA?%Jvj3J;M7+xH)gMDz)fJpI>10E*v5>?QKo| zr-wQA-*^_v*5%vfT5=}woLp6`ls4~YSD~ybVjC|-s(1q{aT98G5(0Bq)@>psC$&uK z{TR_Rg<$ZLQtWh!l7IWz5v>@F6G1HUxi79b-a0Nvs-c@EyVFfmfRY{A zI?phk`CD+2-=w)I(HO-2G$;9Ao1p3|Ik0IvGvr&A&a8cdLGOtlmu7F!Bp}c>@x^dq z(rdZA@|2ld#_(z*?ect8WWX!iG)=zFiK+xYso5MN?PUE(rC(}z(Te*z0DlFNuJ?q1Vy-k>UvE6?NY2Pe`~E#bN|gVS*qbK#MvIJy72toM;Sc}WMW z^$>shs7<`cc^>7hnmd9Tfys@-(Pg^^Zv_f-k1ZpfM=Nr&d!e6d1dQE zQkZyawscz&@Cy+lC$aIZ%hmI^Ir&HnbVJko@}2{-6PE(ie=U(BYWqPtcS(TLS=)?G zjS%XW+6m&F$WFL*%tlM4ceWBVuaJkmM=6ExBsA zwaO=W`N<1mIx+CK09vUeV0ZArJY#5`AUhFN|f{_YgC+o)50> zdVINONV%Ohy$wnI>PV< zq?vWL|A{}{G`3e8wHnZEE#cmhpJ^G=ta|uXe!&to?s_1FFP=R3WkEe~PCfkomyTOl zga=cz*gI+?A&d(}N?g&uu>b5D!Q@9ALtLAHwuT6Eg9w%?UM9W2gPut~>7}VLS(1>T ztGV-?o1B0w!L@PUB6t4~!&BiB+Py2r$~pRIlmxUKd;NRUpc(f+3S2sm0s0eV_57g;pqOaqNyTY%A?|OH+(Xa zM!CUKvN}E14ar^Yp{t8Hv@MWO7&=AF@yIO`Im<6UZfAYKNG6v1BNl*?P5AExnjNht zA&9E<;4_g)r>YHog?66oo9$%SQP$I;3|1mxy!Owh9VyGrqes~~b*%5W%g<`00VnL*#YdG@?f`I~R7fJZ=)Z6}=(vc<`DWgJo5B9v z*uE)u+Aaf7D60Q_6}&w0zL%u!z~vHsKnCh#un85P(J9&$S7Ic~P5rM2q4a=J@P$HV zx(DmEV(h6CIq%WVf0zDliZ$d@5N3Cq<~l8phsHsOl}Esg^|U?~VI)3}-@~wBIGoD~ zgUmSN51OVBdRwhkH9mZr>4l5JqrOL_p(C>s|3s2n_JBNN<8E4M#wVA8wS$tQu6#8) z;4U7RGLSv`?ZGJ1fKJ&eh!eG%H&|#$HVE;NdC%Uds>4QvWZ7eBc8wjw9W@vd)PIr~ zoFIz&k!Ehq5#P`Y0F&oekvMMLNO_dLUYi&xa6?kT`ma}_5E2(icnh?WPL*Zj$tA2% zJ30yYfmf_#veB1G*;lMr^*O9oFUVLpMtAPH39AT4r|5>=rTb%OqCq-;_%xI`fKgZ8 z(oG|&HM*4NmML2OwyFZ?XIJ$iStHLnU5`!%1Cw$@7|Al~p8j#kg70Dr!$uG;%Qe>3 z+-YKnOAD{P=U$4mI938xn5TVCmt4{lEWZnIeG$Dh_tMXhCB^e8eUnh#SN(d|dQ7$l?y);3nGCLe1AX<<{;X@e7{KdaTM^ zf>seR1<^vk*HmyT2J%JVD&<{1MjuvGbh&(8P{1ak-wk;=%3Eea81VZ-KB6p!%!KB& zp$L{+X)q)@=y?RGtbVm#eaN3s43 z)lwF^(Arq3*Apd`pE271>oly6-jUN;o0*UyGV|xNKZp^s3fU^amNTb;y82BF7l9#R zHJZ7F1lv#Mg327~U7!AQRa)D-^Va~|A&FQ#|Bl{VP8jSAiAFlyzdQouu3oQOF6De$ zzP#izKy#b%6~+h+^K8*=HSuD-MWY)I6ZOIO4Lg{vXGPDQKW}Akp9)&F7cO38F&k#X z#lzdalQaaK<%DcT*ZRIG)D8_1IXF1H=>76IOQRwZ#A(^hM~i2yf`WqD;a zF)JV>1n=tAtMcheL2F}WdA5tP-90_q5B}JRkLWW+@Op`4Pn@==*dZ0y9q}?le0~8< zfB2FH^`#!S(UVfUWykp_LmxlCvYAuj2QNT@=F&HXwD5(OsI${!CQo#1gVo`Jp~8_e z2PV*it(>daA9o4F=Kr-3e-`BV`n6Jy&c!e~g%-Q-#l;*TCsE>l!ewr5Uc#sG$I$A! z5%Oa&LzmNX7sW`IKbiM1A?%BP@d^?}#Q`3eak#sjZ!!>2d3H+jlAPE1N17tjxpU{T3k&B* zOKjeFd*@ltwQ!SrY)%VFQsZ@WbnN`>@_cAE{ItT^j+B%XG#LM}nQzk`$W%wv)(Xu= zat%Al)zs9sj!gd84GwMiHyD)jtWn6-bVv{X0R}UcNeC_Rx-qqDLI6OSR#HCtf zo+9LTS>)}>%YN~9O1~14bB&5wK{Nc=Sf`WgljdGS|u8Nm# zc5J&6H?6pVOKYRhWNvQHa{+QnJWAnDj(}NJ(y0=5P819x(QxT#Qo49j|a%IOO?F z3xH34Ulii-9S$a})fs#P1KBMW^nAx+>Vrwx&1aXma&mI!SHH@Aw*GZs#bx`m3Z$pR zq@}63V06#+{M6bSa>~&b$uh6aU9vf#>9GlVgs7rd?EDI z4Kxq%L@l4OYJE(XQ-&Wf%<5gFk%2?9+`POpLl^j*n@>B$B{};cv5TXwl0$&F#L=Z`%;IRgA`R z^mTQybPl{~8>e!Jb}fKs1sOTKrdWbGkfq?{@&GlKI4-;CUx(W$aLZneDmj0MWOlz>33WOkqXl$?yNY zQp#hv62=~;0i2&?QfgF>G{?Nbd3VcOmB%w`~f7v1EhPBrRk6u-1 z9zNB;Yc?=*nG@g3TZef@J!K9S4=u*AszBMZGvBz!I!x-1;U}~GISBfYqIhJGwI$|)EFecj|oD>8?zd08o3;Pq6v118^}!I@Vu~sc=VQ1FS%}{=sO0~H z!p6o1kq{fVIEaHNFvtTio3&wc*s1fYF2@fa`gRkoE-wQv{*475X5$n=<&r4TIXY4dw zRv&DC#wK7#+_z3UcpOlkTX5fqbS6oCDJW2Td zG?*rv`DkQUlF0U?CpIntK_dib1Pq`c$j-kOeQvYRp+8;c`)K}JTp<5xWY1?ALzl7W z2PWgsNB=%=Q1|W5`ru1fh&N95C$>Q-`x<-;_jLM9o3}2fPRm_!}cA&hD^xuBosq{=E%K z%)f~&{5|(yye%mB|I&|1B+&0-0IooR0o*_~$nTGX^>)(G=lYRY;Vs1d?_v|QRWH| z{hHdDB--_-!vXm+$TQH^udJ>T@w@YY-w6+(kX>5bzAKym^FHn0 zKSJMjCjak0{&OCIEcXAi)fM;s`O^rTeP^-N%+JA`J20c+KYJ?ImM2KoaDQ#A9FQi@ z>A?)ZSR9BI0LQ*OOS*(W&*lD%@PNCrFCft70JsJ1B{2x|U!G?WL!ccT8k(A!5rE%0 zge?VFCC64iNY(-n-+ZO^l}qPgbA|^{%F^kbjOy?Al-ij{h_th-T=^WzOo-($#tuSS zPXq)onfyg*2Xgf#3QdQsJM96cOoHTMO-D!OHCf+KjhKgKpFoLv-*jPat{(KFj6pZ; zb~0|zSpg_uzJC2$R7QrqvIt@c?ye=Zti1j{Pm}`Op|~VYPeV6a@`l1UdEct4NA8Dn z1QH@Rv|%8ijJm7&okxc6kP`gQN7)o{@P^rL$Myzok=0(91WNfvIG`!RpqyJ*<0~Z2 z$Is6Xj?TFE3y!XTX;b_qCd7z`1^15CZY{@81Q5 zh2d`SB^u$k0qGoqANvObqk4GwDBLZOXX~GnMyAk~ zGDx-=?hrB%6)xdKU~y9F;2$iGmfVNC`E86Dnw9YYY$l%HEop9T^#c*uNX;yzoKM-G zd_%<@ju{O4DqI|1^rvHdNYb{Y2=?fR=WTUauRyPYApU?yLGZE{lBNnhwY1E3I-YF~ zxgkkG!Cq2YdhSDPtmzabMM^7uR(Z{P5_Uok%Uc;L1-Z7QIJ8tqHb?tfR#vucg!8ap zRq%2@IK-hMi<=)fL!|{TH|FZMDpk7k>bHbyL;OQrQHsx>>o__VJC!}pP=V{nI#W?o zBM8f&BNnmQHhRnQy%|m8srUKa~YmBH1VE zfyoVShqVhIL8FoFMQ>A$uVAwK$&u^fTm)pO%3SY6zh>*V-uQlcWMXP+8p-d$cgeH5 zJ4jIc0SygJsr{-r?3917uwbKl!4QFKFx~>*0qjXc#LITM|GlQi3BIbTs)WdQ3xpQ9 zetT+a3L@^MCbej@@p7jd(v-5Lw(H|@pu$Y}GC7$NVnj2t&=t-PKtpT}w3ZVg)ZLJ# zmCa2_P2HOIW71)bay;1`kZ5O3p%5B^t+TPQQM`I$zdFp~dSJ%QIXi5m!9PwEc z0DqXBw)AdoziJ&C8iJQWN%IZdN}2uY%Qh!T@FEPcKTnMjp2kZ^NT{pOOcj0xevLsX z`z73`GFQ0IuR!>Z9Md6I7)&x)Y?Vaqj8BWoGiaxH@E{C8L~vweQ+JAlg^A6^@>wR~d5&P+Yw=;hHspj| z=k`FB=4W`f^HhVtgVexI)R~f}ux2N?r^akiR$Q#a3?WpsE5uHDYI;2F0wa({Rjt zvMq7&A`nY_`SK--PX3G5l;FM$uunlx!lR?b1Ic*@3(ZIn00>x%FWZtXsGFXREffSA zO-I_IAGGpZEfWu;%Qx!!#QX{FO=%Qd7X*OH<6?S^L}_kpN0c$~U0+2(x!y`uSl3z(7WEoSp7h&QBv+*_!T$RQ>(^H>4TC z)Hp!NTv|ni`1bAFY-YpPJv=-}$;e8acj+J)x$-#YLK;5KVvEC=QN~7mRB9LB=dstNPq_w-1F55gxUq)^Etk z9NV9vs`~JQC`LrjnatZaZxF;iGd1;WBk}SpXM`se{kjJ^M;>rWK(#dZ;?Wel9a@-dja1C`~a7P_H*UIK)3>yc05Y z2gnr_t{2~B|K;!i%KS@?!ZmOFhj;YROZ=C;`~T#}*B`?&|G_t~NX6^hhsVdd%!C{J z`<3em0}yKa`_@Fii;IeCL7sy}&JzhX1iEm3@FD@yT)1%I8ZK@PgixP%?@H&2f#w=f zBi-2Cyv@kSI542`-L>S96yjBf+-XeX!p>*A<$kA9gsi=;{`Z^Vy=g&Ig7?+~@EQOP zr|r*cz(XXbq~HMVhqPa*-~~RC#31Xr+bai@3+_v>xJ|$hXqIy=_<+_Dma#BzFfd#2 zLj*ar(FK$%yELf8^%A*|2XJRIUq8oB!-S}Zm5LcE4}e2>1i^D-Ym4Ic?N?vE+^wmp z0YJttDkU{{yk1Ge$qB)w9~E^m00dC+n;2Zd_ugqF0)_D^(EC02GAZc}xPglGW0eZ$ zUEUE#C#SJ}JMgZ_M$di|=4%qp&RpPf^ucGM4vvnt7C$F|PkUXhRh)4GI+Cq@X^K&N zZd?!_D)c8{uvfdPMTL;K_+^Cd02dd^sQOTZ^Ts_jpDv>dA7Lv3&K_Hcdklee{g@Pa zxL-!U8Sl{uQ2lRIyZaRqFmC%5~dG~`$?RZ1$FO&jzEA-$X%LDo(j^LNoq5YO?i?M^W&G| zP)ApHsKSLEf`<;owf!+ngW9)Oc2-9aN%(CS`1-oKx@?;TX)w3L&BmMS%fzq_Der%u z5d<5;Yhbg$Cgot(>@a2~B;;{qo@oq3XLX6tQ)DQynz;nd6TND9I2wkE%t=7;Jm?iy zS674ALp_BcbhN)N17X(Z{d;|Y5-_=miISRn3*4nPYt&Y`b!Pw>H!{BH>({R+o?jca zJIe!sTXU^=`1tj~R1$-5*8sKk;=^@r0I18rq6V+Gc3A88vt0ejX=z*gR~*jtkIuHcdb5nx42ww z8A3zlG7lq==s|Zx=8t|M77{g&kjX(jv_FH&L4dUO51R$?_O4jv2Ggj+U9W_rS@-ujYWHGBU3Uu4)PI55|ItmRQeO$C`op&aVRZ zuQ#%%aSWkl_W2(l84tTDx+qJ%EPQ>TC@*g&$}nDgZ)FJ1a=?D0IIKQ7A+N{p1|w@_ z$NFs!6wGAlR5>m;4tSC*-9A0N7bAM+uN^LSgf0lI6FH}L-f0K z7KiLWioZLMR<$tQDZn3y(~boGg!O?Y6_j$ZWujBS^(Hmn1%v93kcEN3Kg~o|f+~B& zx}Cj!$1@iKf{2lT_OGyYP{5*uChc*y!)~Sc^8n-}#l=59K0d#_9Ao1>``LMS39`5g zRWJbX1VqmHBB2NJAc{W+Tch54 zt0OT*0J@ZJ4HWkXW`Wbwhj;PFpz|F}`uX-KGftJ=yQ{9T(FS0kOCi7gN~BX6914__ zKKHte|FW&`b*5TLu-OQh#+7P#o6Q%0Gcc5$Z?BTQtEk}pz{!w$%Q*tP#Q;yQ9vD5) zsd4pw1TeJm@*_Cevb3>j-Cv#;g6TqSBOw1SQD_E}+Mw+5!UvESlAh;irdzhIQg#^~ zZHDO|;b}I05J&C*zDb2IPhV-*zD0{ln?W`{9InkC9DpHgtd*@Bj5NR|1`ZkR1Nc)I z6XMW%Ef#Up*v**2qM|-dF5oaB`5rA;h2?LjzpT%D@3ZsHPwnwjz~gJBTtUEt194fx zR|%lP_)oR+Xaq3OJ?YB#Z{-!$A&RfCNAuKGI37L>2j&X#(TM`yYfkUe1*{M@3&1@Z z!d5V<7M6E%H}T8xY+isRI6s--ajFe7Pm(`>p6I^^7!y+Z^HH@v!v2Io%O((Id{qiw zpk?beUIjz58(AOKV`X{Kd)IztFlc!jSpWkSE+sIsHNT7uMmUQ*?{>7K-IFS%R%+`D zPy7r{yO5|1u3>X$hw@KU27=>>k`f^REza-45K6ylRB$y0-ek{ud7jyELksJYz~j;9 z@k+|dIgXn;D0ujVBNYIjNZJ8; zZxH1CJBvL4-#$Y=8Va;4pn-4(#j((om{g)%PWTa)I{qjH-ayJg@&c(1ari0n9AZ%OCw-M1P zW=g{Q&s+nlF*(1BnG~^J0(csKa^C2sCQ(2PO)t^Te^D=c2(;DU;2?wxVTjVaE_=xA zpDFOBuE(oIoOGcm0HxO;vD;pT&9vZ>NLdLvv(?HV%Y0ju03^m6ySw%M{o&~3j=zx> zkiV9YHM%Nq6$54=<#UY$HsJ3G* zBdqitZ7ppaEzJ#XI2+qLnA=$MuyeC>v)(XsbhH)b;P|i4*=_7iIieXt-Xah;5VDew zR9q95$J{(a22SfXx-MOkgxQ#_N$;g~+TY z=zcbIzZ<&W5v}q;q>3_^b&p#A?X5@5PAbfNkC>nH23j1cukyfaDdv(V%yZ^5RkYE< z3YwiK%FIrZ%zTQ>&+oQXSR=DsSPul)xK>n+pE*9Bbro7p;}KwWk+KU>3mVG6oUlk@Rh*n75xk!-m@jV zhbMy1`W)$Ip4&X~c8?`RXg%>x-hyw>LpQyL?7FYZ{D$l3^?06LH6xNgr*R*h)T5C( zTyA}v+<#-(lZ?0MXE%!Zx0;0)#Y5)jID=#&xSqs0h5bs`XPgem$gPCR2nx=d;Upl$ zaNgmK`BEU6i!kn%>}!2V_w+8WznME|rrE6T^Ld6WIgi0ztX=DSXgukb0{0z-IixaW z>6$yjpCk;~TV>Xxd3JF|bn3||Duv9JexI(JdhMu!y0*E7|F6f@eZrsy*XzB$ZJp!! zI>oac?eF<}BKYxbTi&nYvKG%e zwW6A@@EhF6wZxC`L#l5|u+I78gqu9!@Y`S%pjdC8vrxi&#@{Pm&_Bc@=YDu{7sp$D z(?nyF(&UN9SOkB)^z}Qw1~f_Gg$YM&&jcU4yM;*mUWgyu7iBNpaUZIfIE}VAG?fj< zO*J+S6C)9O#FI&LE_QVh159mvi*sHd zHui3kx&3-fze~@}iX_-5c!!%|EPIqc_vb=LuSTZvuOp%-IPH2DIezS~ALDbPO!wbR zY;Jv`W@zR1x{^~O_K}Y~*XeSTz)pZ)=E~2bQp{o3#etuOo-En~>$M$T!{`#RuO+2? z{$?3-)RqgqXpN=U>b-Yy3m-C|BQ>L|&RuhAw#enlAp7ZBeVSFG&|*7I5z<6jcjLjv zs4NE#+LuscDJXROAQVb0wN#r}*6y5BftiW5=7`6gHrckMpf^7jWs ze@kpiq&wZr>(Rct8S2L`xU-Fz#_{-jJ2k`5D_Rbk$gInC1R?rdCB6|4o30g7wS}u+ zDaODCw++#M>cshm!VAxnz%wn9sEK;F_*&4f!7ob4sB=l@*k9%<4t`m~Z|mvW_}(Uf z6KyDp?w7oFP{P_Q{Lnwt)5Ct}v{3MKNsZH|Z!2>H&D6bD4Q{Q;gy?W;=G#T0KQQ@| z3q>>qkWcGVeByg#k!W!6K8CI9=6S}vx#cXwuwJqLXBSrYz&ZITD+!EUS5{>jH54E()x zEqjR5;_XOd1GhEZ2I@ESmR=GB`gcN!8U24HZeRE%oV&ACCc0&F_H+N4&_j#r+lFsY z*#got)7FdrJq2oMC7ryCquiH{oEcmhiasXQXhfFSWt51KZmS?EF8sym(z}QskB)pd zpuy2@>s|UggY~`<+a7;!omxOk6KB#WuR`xqPG*T%LhzEq{eieWMd43h^@ZLu5Q}6- z+W*#IGHow7_HK=EGbm5rA!PKAYOf%d2pSc_`H4_ecgLaI_&itMB&`$d`L@+=u`s9P zLyR)(&}I~ho_b5^GS`dAR!NJ*v=Y)j4aMeIwTs~jomb&Zcksx0rF9vcbqyQEl~&d#5FRK@2yoggdzKozt>D_H$Eid@3z_CLdNzO8K9 zfwSg$a&Ba+unR6)C4lvcS2}BRw0bA;{Ho%MQYtwTJ$KT9nlJDgYYs(f0SH1co)u7txVBuWL}*tWEcI78hoXlILR0si8ZWpIY}DQIJFy?L0U~ zX~>IvSM80fvB8i)8XC{eIHGM&Q3qY?tsI4FKTlM!7>e3SS{0GXX7B5K@{pGU(-2zhL8gS7QZAHuHEeu+S9Da&Bpx~ zM|LTqO-WSY6Z6AszGKL&DC#Z7cy)TEx(76!9+#-oB8LNdcOz2)AQM zIH3 z``0`P4AUGgx)j=_mV~JyOPcnZD(^HEBo|RLxSl0GX64}$v#iw@;vhA=RbQz7g5r?Y z5aoI$1*fT1jmmGXu9j7i`%ak@ATaYARq`%6&0QicY9LX$mmSQ^cQ*kyC^^!2m%6~r{Q#qFy z3RsS)>GALKdzz&=c`tG`9tHjj-F|wpu(B@4V=5DJs{&uDsg%6@EoeLW@V`EmW8V2x zEfUww_AiqAZ;)Q&W4?v@=-F8#cCGS<1_lO?0&n_1l?tXr+t0O@S5{Iw-unj~mhE&4 zuw%c{5^*Q%MJ_Ee>lLX?kbE&lQbxvMs{VYoYQ9eQ)IacXG+MbKEfN(Kg$j;D)v}y3^)#_6*sfiag1QtTY!g{l-%`@-a5{NgTKFXMM(1StN67 zB=ap%3+$!KIRr-?QX}1Q2k|2D`4LRM(scwWxv1 z>3LVgfZv246J6-YrQQPaJ#IH2A{eh}@2U2JFBQ}z!BZMbLW=-0eeiDiG1qmEP^6TE z;oco?RYrPQ9c=Ji8>;r5(O8;@M4k9GD*XJ9u`4I0qop)nEFq}>49+>wSXwK=I14P5Crio581jGO`qbg-?vBbr-C5fD{Q2{Uj>lvj z&Koj@RTZz_+0PpW2B7R0~^Vr+DTh9WO?`I&6^``Cr5jxJAZ$> zWiL5rKmRJdHQ&L5j_WY-^z=-)pK06{Eo5E%=aGjaK?u=qT9GbVD@HX#o~FK` z0Vh__?&j+1YSj)#6LTCHd6kH&^u%IwZ?Ab`Vq#I)WqI(?&^Ke62hOYv-usM2rd^%d z>y)A%yR+hF2Z~9pzsLlvM<CPxqTu*~II8I7>f9^TqwQVTvkIpT5r z^Nd!&y8Ta2`cRn-0}c+({=q@dXW1(XNg{*~pFAO087adLdDBwohi5+Y?GE3|e%miU z$f>D+E%s%~%F7$o`Qq#!9!@VTG>2V(fDm+ErVgd$tGDDg% zzPULaXPPwC8pVRCvZ+0Z9xk!yOL>F`GiO~LxWDguft2n^x^(FJ)|O$z8xn=ao^%Gkg;DT^-fxNrz`4$>ite|@n%(YUf>|yVf*5gpa^j@0u$NFP zpsC@Zd|v0`m!>l>pI82~{qk;vEm`uTt|6V?QTse%Z}oNG7`N(j-M*n}r(1682h%e- zJzcNsbJEzE_<&ifoO7hq%5ZtGFh{-U?g$@~LV_L)$Y{A89tQ`<8pveCF-5;C|CwdEMj&J z#;ZLJR==+ax^3RRbm@{-jb~h?(-JonrOQ{Y&~O_Oq^72-Wt}P}@ ztHQo?OQYmvKyWbe-H&fuJ~Hv>)gg3zPMi=g2lAf6Ru*#ldlinTGF%|pz@m7~| zk;&6fJHxb;6tuKRSQ0SVsRoVj;E`!LX&=JUELa`t{_bK!$;#=yqgiG>_sOPaDm`2b zH)Q;c!$PMJoeWgMd)k$}Z802~3W>s3Idn$j%Pa=iKkZS|(!NYAGvJQnjFU$kZ}%xm zN=kMYn=2z=ItU1UX+MU}1ocjT%53IlwP}3=tf@-ntvivZa9nM!yY?JT^TQA3oJC0} zt=6nR;*_I%9eavyU-NQAf5z`rqFs!I4v#BZ0H-h!(w!FG)Me< zdHMT@2!pMvZ6PWl*j8jPMJSTXyG-20w~@@R+L>`*2N9rGTnYOPd=_;ozjNQV^5KvMFO}$r^Q^#wMxC z+pHArwl&YHS$fe|Ia9%IbyTRTs!GsfmlcLwZ-0Ht@o)dzhCs5dzhCn&)6*-sx(ZUT zyeQT*(bK!Z@*?L3A77MQ47>V*;OCfY6cp$65^v#<)6umj2sv~QQ&&5$Pd-9?vK#C} z%TY;((?7MfEqJ^~4FyJ3*Xw*8RDoP$@tuC<oy>9M_ir*$mDbl@@A+{!mMm0X87Nt~9-m9L; zZGs=>F=?khK0aRFm7Z;6$*+>o(4eiUso7p0`glh!dUAfg32N2G#>NjzeuwQpN;>X~ zcRmf|s};|;Ogs?GLbsi-a&V5c~AqqpDMGH1xi5h-YIGR)a zbbH<+H_+rsK1oVR>A_oh=HGM#jj_L0mTc>MY|;dzEKc&$2mH8FA1s}oYYu0??t{*& zw>Iywvy-~G00YG?BJ6X0xFtjBsJ6%JmW=K6Wch#BESoS)&gYMXbH~O=@zE-=nBjSE zf=>BA-scDL+Fu|=N$But4VV4wh^S-cj<-WEL?&+1CH=~cq&>%5B;wU;znl_@OwRR` zun=Wyen7tG-z9bwa(22`d;89vDd->X86Oh~-^NaBkjINglvG7RDOH)h=CeGmKeMRO zO4@eAfcUG9Wa_b$rp*Hcd6M=E=sZF-1+kIH*Of~gUsl(-x|sI z7X)4Ns_BVYNj?}T^p7z7S^IPF&tFQ25E$6pb(m~Y{Zb!ScJo<4#L&qCYO?VaVLK@_ z;(yj7?6hx-nhGh}mSp6Iw@$;q(>?9{PfhTr=)L7K@q@n$4w1Hn)#7ocgk9h1l>VoW z?=s&B<+2EWmZicaE#Qt9WgPlBja`aH$wv}L$~2jmok-2mvDnFnKv7Zg{_|`jucXLG z#}NxMI>Ea2sfNVtd?==lE5pAJJptWpuT6*xq?%s2eEC&ipiG7+N2%3F^hy;poXs8? zhB>*!(qhY@h-L<#gpf8?m(@`knEK4t#fe(+ud4Z-TmQnJ&O^%ubp`FPnG=O^m3!)> zp-t&Q_(W0xmnmWgjc%^I96d2MbC~Y;x5lBr_;v(a)cb%9&$Es@O1U!H%Z?1<+pY9cG}IrEmk zd&Q(EPAOe_YGwxS;meozp*N@LH@u0JzdPTROjZXENO1AuPfPxpnVALv6jqpluc{o; z9J-`+(2m_s4;FIWG%PH%p+4oP71qa}4qN0;&CNCPbcr-Xv8d(@_y+{^q)8ED>kbr9 z-WOPMVkcvk>*jKzq@_*7RhTZ|;WN>e`ZbVx`N4jYjhgSamQmTD^j?IEsTnVI>C;!U z{_SopgzIA?(rZ$lyg8oC4yV2y6+|=j0mREgMfg-yRHuha9L}qwvQzZ|L#0;N44cD@ z;R%QGgzTozJ#b#0Yzn>R>gL8}ImoG{tzDEj00T4Mnb-y$jR&m=T^y6ES!C986WEX$ z3}KhZ*2QG+LuPn%0OqgKWx@^kKdm%XL!*{Ifd0mK_wE}23Rj?^Ady6XOfnz6zR=Xh zqlZZL+NA+tP_@mz~@_zkKf#^J%?_OIDscJe( ztYX&f4Ha$cDfH$Gl$P>36tx&)ggd6 zAbvz@C{^q0a$q~^c^`dOaeEo|h&E+V*>UVamN_PiD zDb%CxDb*it?QhJO|IVg>r@nRn{<~;4&Ecx1j*gDQB0!JK%*@VhJ{yfxal%g7PSlsF z$87(FM{TLp1G$>bpJhKH_5nR!uWVA%u$XU;du(fKTUyoK{fyscT>k9z^;p_vNoW8iBBNroG{yCwiK-R{f$1O1#cyj)(z`Wr<%Z=m15QY7_~fI_(XNr(8o z5LKt!p{Q-gx59D@u3IOh?*RRx&`1Opis`mGIyo87{`vrLr!SuJU)YoLmG!!aE4gpR z(@)>*(OmhrVg28d2}5)P1OmQDNJdt>@^iDU?ja^$S5ZO&7x9x&M@C`~}Bnhe85n zF1~z`SV_U4-?io;=()rB`swR6?Bgd9FMQ4?iVFWKC1kMur)PUbtX5Rdw~o`g(!72}X!&t>%b* ztkNkRU~T_b)$q-^w!Q-W#}=nhj%Y+&IRl6&(tze*?D0uxB~?_eLVb|2cv@jUr&jAN z%E-vr9?ONNs;W9VHg+%_%&|P4jJn^~s<{ZPu^#ADmTEpdlKFJ)?34_;DfUe=@#BYZ zIXBoaxeX=nt}@rdP|%2Z3KkX?g37Sobj@aRWo2cQ_#Zh+zackLr74eRx0rfE{%J9$ zU6eP5=+6D_gSVaMuO}(1G*u($9ZyeBg_rKj{0GK5f3@d?5sDE=LhmTqTH|<3vD^&H z>7?GxdNsZ(FBe=oy#ix0(~FjCkLLqFN6c*2>ptuok@9)V@LAon2aVG>B<6F^leDQ^ zxGYCF$BA9TS4%3X99@U*q3eq={DHYox&nUnbbJ!PZWgE~(sJ&rqn_q!2+Q%RxGd#N zATtucthTHMWB#GYCzAsf8|_1O@y;1U#hdrTG4YBG;%I}n@AkCw&x5Zim;&ofVa;Od zOOmKZFDMfaP^JI;VYR$PN4b-XEsItV;Yw&nsLNT+r-lJi9!9--FTR1BiSmE`Svurt zh@1zmA4E;l+`d~`wTh#7mGh-CnS?1ET`O*4b!76rHw`TM8D#RT#&l%)tbc-lV}(`F zC;y!7XwEuwWj^F}r}Kr!wc8&)DU(o<{zu)F{PCdbGCyhH?711YWw#lj(G7|NfAX{& zp8G3yr^qMs4GUh(Do<#tDFav6{#l>c>%3Z7I~yx_5|g0!nV9h>p2=FA*^2;eJzG7J zmmXrc)YX(SdDo|m``Y%buuq;=_kS)n5vXuN)SkpC?yFMYNXh$b8u}<9bt;N2s?_@?}=%ZJ44X>m^+^8nS>j1p$>ML{c{Bc5F<>yM4>pjEhM_EJ`ok#*xBhQe!UOR zW^_fAaZ`DNyR=XA{=}Fd%pmCz@9ag>{3f1?B96v)<%oi@TP{jT-#c|&>~3Du59)SdTecjeZN8whc6@pxYI zdZ;6Q?GuBF34$N|@bG)T8Oy!w|1$OL+Un`Xe`W#FZ*g+I2bu_~=PzFzy!D-(#;&gL z>kpg}w#$QDw0tl9hb)_nxG&Mr5K>>OgsnhKMK#0l^O{Z7kM=koD}H~I_Si=tKXJv$ z%g1v5h(G;-&oDVRCskz90VPy`!E5`2a(>U=gpVR98dJM*-^_d+40<+qGwRtySM zXcv0&4qs*7G3Ms_w#WI)5#$o1gr<2-TrSNt!kDj5f;Hw4IV_UT?eis@nbxq|fpBc- z;=cF8(&EXNKen^Sg2Nlc?sD;QDeD-#ys5nR6s;ZVtfg4hDgO90j@id36TQSNBte~lxO+`hY0T^n~MSWRj7$7BuY%q zUrz3eT-?9ovJNg$FvSd#hu) zqIl4=uwC`nuP2eH+e}O&RT+Q|0a8xQ&r2U{&Q*9Ga7VG2GN8J%pR<5m2a*?7@Wa8o zuzt9dkM|5ZarTScR_GTH;lXN(S|E5XB>N=A^M%^^X_i_RdKW0foTk>ouVRWpfBojP z^kNDBFSM|mw{BGcz64b&&8#QwDw_tc^6T4QxAm210s;e-tKFR}L^!I}afvBe5qhvk zax}|GeSw;yDjm%cr8W}^YHHK~u+N1^%fWrZ+~Yy}pW7MG&4f#xJAZyC6b*(5t8PsK zFth@%Bj+UxEW6SuwUn)}ZxSE}26u;-_v#I0_pT&StbT|9Rrc1+oAnyIpwvofX(fzR z2Ds|2#NtxzJ{ky^93hFP_6aVhB;3N&Uuj$Ky>M?9RbWTNC`q47`n^uk^vvk*R!t%EGV|5ii2k&j^ZDhq$sg)6{shAUv8+ECGrd6;bI!vVNChM^S77pHA#jrJnY*=X-DB^IUcyEoD z2e8_J+FJ2&kaT=zW%C`Mia>fsfa25$TL6nUfm!x{QF=Yq5ZITc%tXo{)(*YM z?00rlhdr>#81q$0pmD*JY~Q?Z`M`$E)2fgFh%{7gcME9G&&I|=^S-+X*q9OK_TNQ; z!QBOR0L2y2yxzip}YSSx@-99O`~>ecRis(D&ClU?Fxvt<+BGr+AsqtQJj z7OHm@liE3Ij}6Mkfh+NN9Xet!&s+@{`FMXOTsC$_DyH1`s5n@RFHl0$fcArloIQPyc=dCwf6|6m5ZGt4k zf!XFf!L&7+^Y^#R^CGd;ls81F6wFl{s5g0*V$_c>o#7|l5dq=HpYKEg+XkVg7;etC z#J#yb7o)1<768J*)Y6h1@No5SMub2YbF?ZVfJaaN{rfI6lL=PVT=m{~I^YlfHefLs zup}^Ke;z%0L?`Z@;OmP(U}5oQ8;3dYUFeNJjkq^}%)w6v2L=Xqa2It}n2nUO!9W}S zcy+$mVjv90qz}Xy>(O$YI)B0|*j5O7#~oRgcTt{8$qE^Ad47{SGkqtY6js;YuwMdez8R$b;RHvYIN5P`RFLlR$n}ahTyTw zBc%}^7Qh}lB@5epm{a=?0~(^T9nDCMzCI7OahuIkygmz@lw!>J>kZm7Yis#Mt8%u- z`*wf9e0g|j%;)bweiy6?&yly&VIajejEyA%b-D~P^sDp4U%<;qn)&VoVgoz-Rd%h| zYL7i`(0}mLR3DCKPWxTvzAho=ui)?_-==dRd4eqXRjM`9pVD7uj$lK1-QW_6GBsV1 zwCLEgIfv^19V?zulCd{G{&V!5zF|!0p7x9cGet(pZdnwQC{;ak*){&zkQiO>xS${c zFnAUR@^x!?SrH%#$%NC3K9Q442LR`}J7ju*$|Jv-d|Y|OJK;ixj^66bAm4LZiLZt0 z4fyM`eUp3jiJ@3Ky=C-z=E07Ji0)~6VTnEtxjW;w-*O4UTq_87^S7$**av%H%Pl`% z)wg~ zeeA(_J(tgctONbc!+2P{rv`DWipNL-z8Lg?gN+13;^)8ABtk6UvXI9yi`&KFTW?+9 ze&h3KB@ed9ian9*3(@w7ylfpnGr+!8FyBp_Dk&+m{%vs%KW_l{AK`S`dhkKBntSO= z;Iki*-?{0t2oe|S83Of3J|BlF!qfF+7i=vDAAT(C!ldRLO=zAM`2*YOA8O$;eBf1Z z;$r^v-Q#%LlST;W=kgtx_Nrbr<>(*k@bPvo=P;Q z^XN4TCA3i#{!88996D>bZW5y27pG24@2)K+HO}&LWRzV>>^;4R#Ab~)A(;})LQ(%1 z^&pw!g;Ja%-&)^2-!o?PXu0D5lC99?lMxc?LnkCnT$q~j8?wxR$}1lqxyN`O+UL)< zwl>=Q>JyI9u|zt}7613|$s4wbOwu%;Si-4fvg?D&~ z#h3}TUSb>;zr5(f70ZqIS`0(gFEBn1MDO~&L%-v?KNt+&ti84lNX&$?QJl{Qpteg!afY=?=kN6FJ@4u5h5q`bo1 z*p5t=Qt7$;V$Yk(NkE>-ypT~5&&_maek53Y=uAx_mdlqSm+op{Qvb$;*rg5VT z3FhaNe{gRjbd6f9ar$v2`mRwTG?sYvisu%ep;wRdkV|AbM(xA5v_fPb;(=*T4cGJS<>${jIQ2;K+EurxsrI-?Oq>puJXWJo6gxPwN(6xk zluE3W3broblLt;`5(JZbwu6W4{V$1e^2g(Z|L(mOz8-o&N7b+@e_euLDn&?Ka#M5r z>0OtNmg3Cw$72>;KY3^UR!b1g|K=~)82;w|H}Q)*`6YAvUYOuw3p|tWYhQw4(dL9V&~v+3xsHp^SB@=k?HXuEj|4Jq-1JwZxQGMCeZUi0)7Rq zUAXMWyBmNCOux1z)p#ADa$>nw(11ZeiF%F2{veBkg@~4C7zW@g2OA6Pk5C|ayfjWeiuhku^gn?S7 z2Lk43rBg6yiI=Zl{i$tMOSGZ)@*3>qT*uL`x5;R%I?_Ht)7#`^1^@|I>0TvID-KXD;3=GkwcaNLBqUDRd62)k^sj>q<}5-F=*;%& z*fn1&UC$o(RiM6qAmRbiUwvQS#}~OF{7WDSYigJWTFpOule9Q+0*>}I4hz$$cdyse*B2*O;1a+*Ulg(3)QXhO}9wd`TmS=p+b*l&Rs$CH^OX# z)ZddpvG|pHC&}DZiJ&UAnlll6@9&*5V@n&5RfyZ{^-K31C=0Su7D?|Mc|q zJrKY_yZ-fDo1UINl3jaPSk(|{GHjT7Yi;0>j3Oc;&2OXtXsXwE3h8ZI8p-PxnUDZr z#D-j;At4}VkWgvrG46Bb1woXs;I@g{TONCA*(%J)sQZnuAig!yfTj*41_`1y0?h22 zVq)W|11dp*!*c}tt5#onF2|qrWyx)cWU{TZxmFQcdS6M~;+1#-^Y1(-eY3CTL8mew zJ=)@AS@+GdVD0NGK1q5{ssqypaOu`6o}9fK`6ude@@Rwq9-6*UZG{;}&0S!rGj!Xg zd()xhOAg@KpZ_nZ_}SMNY&xz}=V2-KXz+OM+rr&S0U!H=$-Q=s-%<~%2CvQdXx8EB z(Zm^0w`bPlRkDzqQmb<1%F4>(U;1`uCLtIEp>I|r{NRB~C5w5*ig^iR(;i79Kv%F_ z8RY6L6dLP{HG_I|Q|g_dQ`hdGCRZCq6qglbBhbhoeRJ>LFZWaEZ9(ter9nk8%Vk#0 zqgxutclql?F`fGHs!e;5EeoMGhxRU)lFmnroO(Sl!nTMmLrwXE&eJZ{FooXOChPU z3fZTfCYC2QpM7;Rg}5SbOkYzwNGs&E`m~oA_82Cd!hVzJglf%nmZt=C`wq*4kuIx+ z(Capw=%K5^Vm*b3n^g{xD18l!Pac;9g;`$)&QTi;>E1M)y5pBo_jHnp$xtr&m)Cbj zC2_Sdt0I$o=$CrDtlkZS-HM|#!(}$%fUqDZ6T%>_LrV#90n&W`*SZp00uH|mg1$#d z=u?es72l7(Kd+_l^x)Om!$DDEg$0uh2_V+$5~%w#0(5h4?e9p4TV4zaDRS|sK$1oe_ddhO@ex`c~EAAK*^dFGZl=~be#OXr5Kl(woM`I-l7>&GQm z9mR2*{T`xKnpr>nd0Ljhqxhir{4FA_LlLa(Jw0qb$a|Td%s1LFq2~An^8Vv!`Wtti zEB{14%lN&gMU*w#VNM*6Tf5@t^jLq8-j-v*lLmz6Yel6p_NQIvUQ``lwGJpE!#kNe zCQI1gI>*3&w4NFVSSOBfEFYojJA};IL1tw^?3&ZLSuB9dkvV-PI#87K=`2Pg6Bm!u zUHSzJx(0=OisyZy66d>LoWf`zkcH#-2?Sq{UdvtjQ%SCsa74z-_jId^B5=@4I6k~` zVCJkc?u$w`HPOAPd5M?tO}V!0nCr|ax=OZJKh@O4FZOQQRM;~53vM*)de&^QiXOA{ zl}qo=mGbOrh-jXuU%MkRNOziC*XuDwRu#@AxhOPwnUgpc&MK^$sUx#`sYzasJe}=S z+v`GRy`iqY{pg`=Nb0jSyuM;g8C|X>92*iFI%Ge#JLjH{AX}g;?bg^Df0J%0X8+b@ z(;snV$<8`&plqJI@0-K@?-D9pOwfHE*N;UUwf5VS7!60YwN}&#X=q&_`25H z%WH_CpZZ{s7vhH5)%wNIDOy!cIXR0ehM=v+5{||ak;c+ZjiqdjB>_u5)?y6O!pea> z7ve3L%2-TgdFb_umEYG>OIGtr*uR!I_h}6DYAAMVm`=EY2mLdVq7Y}-=K@Z?pK2+y zoltxQTZFNAvY}Zp6Lr7Hk?Y(|fDFmw-dFE`b~PU2xNV{?+sa6S@2C1;f5KzkqkLD|!Ct;H$bxU!MqWM!qfp6TQ7GNNH8r&J7U9r+qZwFj(vG7A@K}Z z2<_EE1B`?%t5;5dm9liIEBTx~JQP&Ez6b^N9k<RW#sTD<&$oa4^=s-Hqk2#s^YhJmFg6#OQW?IH8tODv~P;d{Ze=)wM}FAS{ybvS{4{zRD9EHXX%+UdXaaYKHkIBovpN%tVR98(rqT{#XV}U zL|Br)e+I4fF{J0Frlu}l7mfr(ppi_)9I@py9LCR%xUZVm4#ASmt7|KODH~|Nr*qAf zLF*}U+cH_&g2p?wvZ8&XkYMBC;gnZ7^@Z!Ej~8DmXdljGeXXk4BoECNZC!@BceY!u zO(}a-y$&KC#EonZk?iga*#ZL2>!fFw!*ZNY-5GyAwrPILVkzeNb}Bddv%C6;L!Gza z9$sc%a_gB6vF{*pCz|R8-0}>&lWf5M96aF!^Bh+X^qc-%O>7K1U#A-SjsfU5V1HjJ z8fpg>!$#A(+I?qzeSH!TOmc(M>O?KW#}@EqOh5_T-`^K>;^^t=0kIbz2WzMNDmPe% zq=s)y3>BnJ(jk1{x!og!fb`%SP>y>cLL3hs_uDH?FPpx;$gOW~4g?B!iJIE1s0L&! z@W!wA3dm^{8k`4|STHXmCDl{uWC3{`Me!3}aA5EzA=QCZvUGJPwxRk)$%V*0${or9cYaVhQV6F)|Nqsbi(_m%p8 z2dKuJNJyaA=XHx+@$U<8M|V`y&mHeb1O;L`K3^Tz_K9R_`@UsAd4<2LMQ~s`Y}sPt ziPXp27kC&1X#hX1h+o9A z2VvH1n~55Pd_3=4fERY)je!YnaKc#&YC0xIy#W;EeTW?YDt9;p7YiHJBp@c9fhg^C zlxoOx9V{LzwH&I)er^7f&2kf#enMKQ6Rz`bD7W_P5vZk0SQ`S8p?#2RhM+fTUC^al z)clszGGTP75&=Y*tupH|q><5Wtj{MRl2A~*P-z-rZ2wcKlc3j(>am zRINGnTD)7M9A|3ru5CV1QqBCDKdBTF?h!BKG0$UwtMxB&2x6;U-wfe2x1LlkABrIdBHjNOccA3({ymup{z`71krY#T5An*sgZhhl-~o;HQB=f$u14}bN0Y>FE* z{;ZxGTq|T9-C?P|_B>U;M8+!Vqj{cGiD!~UYDwYe-I9-!;^a5aOfLp(ez80z;o13B z5%OK0mWoF7!OHFdj~DCXv~TNQaPjy}6}!&o@{Ny=L)uC}a~!+@$fOv9vX0GrLl|Z@ zJ8XMA7--}~X=g0;(bsciu#8{hlc5R?q-sufN3rEneJj=SX&}cDr2Qf6CO?{c^+gq3-Hh?O1))fRq^w52FH0d4wpW$sP_Ay#j(LdW zg{gM3f~|>X)#v-oJ}ksSN;adPw`0&rhFNpzaKK3Urfv#c z0L!<;&yINzkZ&)GE_B^60K?wFQVm!zR_euBhZbjdQdxKh`F}G})IB8s@i!s)3DN^% zrr`wkHNucx8fL@o>|_ti7#6xl%>JlX9n62i(mNT3j$^jRAMZZR*((G`XX)8DkRMEt zid4YGATSUV%yajHPL=Bi7S+7b-J}55lmrsLZW_H+;vIJ(Pxa&6s~1>@x&oF6S(gXi zL!zi9##W1n*<^=*W_7-`z*zt11k$eNy=ms-I41ou@}Tg}m~t4~Bo3d$(8mjg)Dt!A z^o>?z3+=`EQr>$S3ByF1&5sgEyWKrc@7SMY{bv>++6!NHrk*B)zFWVvN7;`%?7GQ< zMT`m*9yRcRAT7lY6}17BGSe=4l(MqhQ~=d~5L$W7d;Ot%4TUz2jC=yNW-ONs#6Fmc z12PMRj*BR$)#vNrgvtKwM@6h=H{Dnp^ZgAkZCQC_qMR3o#@!btv{^iTpb_YFpqs=S} zB|oZ(X4<`h@-O=P=r9#>wH!5(`vwmN{^0qP2}U z5C_8gwzf|^zOa-92L(M@T;TNBwS4vJ6-w;=($c7sk`mT<2gO7=U7Dmi;X&pHpUhs5 z%$~aB#Hm$T>SMC2zw#WQV?*36XXdl4J9PUDBCQY4->eqT7KRXwV#z3zZCrq=fLHDwW^E4D^pF|b zb@Jbd6u)zv=W;rth<`B1{oSENrA_!6itT|#jiq_lI7|5ciDb$u)4eksUb^&XkL|IH ziOJitt^9c+1cq}PBimWZZ{m&n*d1UNpB&-{f^EFrKFu z_gqDfr87N!diQZle1XGNk=n0kh&!^ay_flju9RstRr)gPmbxGPv1t7gP;*~WbXzI& zaa1-51ADLgPrGtkSW`OAAZnbjqZ&DqL0j0kRZVN>EBjBs53a+UZfFTTLKxA8TI)Wix*Fx zPW54vH}+g6v?ccnlb6fO%P88FJ92qR=wLFjecyp#LL(yvS?-`%&Ot#$d$0ul%4+=B z#V|eJ1$E2ztM_}ga}uiYQ!4ANl%?SIA#uCa#EPf7zdXBR@dG^p`cERZr(-nX zPwAIQ2Tv3hiV6#VK)M?IB8aH94i*|J*K~qOT-j{#NejXIvY!Axfe7otR+qSt&uLZX zhP#_v5Ac(RD|c&*+bH36t z(rdm)@IC*7Igq8O3x;S`y1^M31O`EA<&vjup4J z8ri459>e(_=WQVT=))zkN#xfJ+}3ijCF`&=YJh9RRU1cugSoC2e{_&I6mB!=8@>AK*8$kkZuv;J^kp zHj04i2uVp5hDxDVL)=3Gm>><`%c~H=!@I%F9RX73G-R8gpDPP{AHi|d`S~|rzp}uM zzzNJ-zb&xQInYV*3gGM=^w+3wYyj6G@ATPGK^%gQ2$%^t_H_jxA0ONpNk>P=RxW%} zx)iLh1?d#)u}bi2Qg`+^WZhk?DYV8ebYwh?6JA_BW#ta@u1%bhaui9z8!cc-a3nsd15A(Tdk3$-X6?<@mxr4 zS(YgqwBA%7eQErlZtL{G)e~^RCUAbBJxTP_NSTe{%a^TN z3th}AU&tQ^k~WTxCcv>z3$IW}(_teype_9Q{gn#NTK)v<6w+VZhD{f}!4MY6i&_Sj zDgTL|ZEgvytjXo&b})4gTKV9-UI*+0Y>otYIT~gSSO*vUSv(# zUWxde()|yv-Z3uB_KzD5%eHH^xMf=ltCrnz%U-szxMeKcE!+08wOY1)A6@_Ze(^l7 z_gS6iasK$l5%7+_F8V+d_$rC~Og;7MLR|-LEVl zyzjR00?}WY1OW2@NW~B6o@5f}$$g$5!Bg6UJuI&1E0BtNJ{;8(^E!q?!62SK-K?>> z9BTujy!h%wKIZb@ADnqU$oK34_c>E50`D39{Ms|N$EIk#$<~9FrG{_NbB_bjJ=bQE zOORUe8?T|7B{_QfmQ^0GlC%nQxZCS|NisyDg{q&RWTawNu`yCRYL41e=uA30g11+j zY|jhDVTKWFXqPru7(LAcc(1D5^$NMpSH|LD2De1vDrj)`1Trvyn(vh-#ATQkTJGr) z3&T_2dEw#X11eWCUgyJ4K&kH}cmw2Qg}SZ05)u+Xx9SJz%CpBi2av>&w?MwM2V5R0 zbMB|>kh8P1TjMW!CVG|nBKKDZ{XpC@04Uv|3qVe|8%OqlQ4?%Q9mB)nU;&1D)d!ZA zmQF_01L+C9R?Tkw4v<7j15}5ZlQUoJJ0`H(VEcm8ef6pg#VhL(gXHQ3Qhi9L+*kYa ztB=-~chTKz;Roz9oa3tuRxQ)O$}SU`$4i*|}Ss|6#6g;8Vz(EHNiD zLD{2KFB_a`LbC>a(0#ETP_=jLU6Ex3i_d1$aUtNKW)#E8h+b}Oa&T|PI<9{z)REVu zrM|P(9@yHX+KXg%wK{)G%eou66OKnaR;*TXi5ZYht5T*F57Mvgw>2O!i3Qx_z-zNQ z{QC?nJ*88PL>v}9fW1;`Lq$T8aafx!uLasxtvb)@^b4R(1^hWI2oVJ=PAC_GSP`|^YBR#iO&}u=|s`R+Ad8O>ZxhciO&t2{Qd1al~ z_xA3_e!nu*Kqk;S67z)AaIdP5#Yfy^UsZ zqSS)~jc_*g&pf;W{V!~|c`l1|E}+S-Mm+74L(e>fzJOdj_`jM<%aegHiw z;o2n9DpHIl0i~y0CYE6*NEdBo>hLLK>nVSc=p;ikbAdPq-2v|As$RM6Lp?n^5-(-&Y*fR;KM+)Ufxfc ze`zaQEjRf3wFm6*x4^<}XK&v*GZPQ|#y^0HUXsi!uFB38^g-3t6VBAu0TL6OHYk}X`?d7+^bKwo)T+g~s~RSt_g2u4=vL}Of;E?$kMHm9?f@v? zkV&t|B`R^p;NW*~Qc9&7Ea1N>3G9F`qDLq0vDt(0+JynKW9R6Y3#4~+%3+|U^aC{a z)z$*adrwyvl#Gm%;4Nrbq0!O(3k%5rxL`FN!iM0qn)i*3#VRicQqgZgV1>@RbEvAU zTra6;bIPO#usz80U0*iSZ z#*RWK!8alOyUtJ!UpPA9+lu9W#!%8NUGQUso^<1VeyMy9GrFoP!KWBI5ECv_sIN)> z7blzjd!;!#e{MvGygL67wImB2?-Si{4QS`ejc>@ zhH++(B&G3&j&l`rw`>A2}i_AFGVQXt5Q?&PB^s&(7P`PR!W6IfLd+<;*0Kp{?ec~3VEu0(6XKzO6B|4-5A!D37`J zyGk~iTO`Fj4YbSer3s+;rsZU*Sex-~mo@9Qk@c+$wa}?IKztA?mu+j|Ie@<8BKcKl zW!X7@CHN+2uR(YzAFAdF;n=nFcVjSuLJVbqD+bnh4M`g}F4KT7tn=P+M$2rrVOAJH z2|A8D66Yn%0pf%;4*pL1!(F3bBQqP@J9c&zZ{OG|N^wOX&6#P+t)OfrC&%SPRj@2_ z(Lv}lXVOJ>#T0o_HKmOcVroZo>}Gvg!s9iOygMhnkjWtI>7ik@Sb^EZ;%G|i$iq`P zfR$_uXf8l`4Ig(d(-$XE3d6f{2aeA*_>n7Q4H-)Y^#uE@DmRMZyQUV#v~Mn-kw&Ua zx)nbT3Ye=9zN$UIg814hOhPE6idfm$a$d#4B*AeyBq^vOf)#(s((Sle3`Tu`noe6bgh^^ z+V7*1%~f~jIo`kMVsU(@Z>?cB%EA49W)U!H>bHL>b#P7)#=|#!H7K6W@21qmD-%Px zO*?npQPjJBO~+j$?@(V^=z9O;9K54w|HzR`x*eX>-v5?O5^gT$HAswKVAoAdW!XZq z7s;&D6i8sS7L?L#W=Gj1ofqPBf4vnfDiBvhV(W7=Q-|Von>LJkAYPGRz=pZ@hJlpK z>^7wRB4i|D>d@$|6-NmciOWY)D@ML^GG8Z7OdCls2gAH;3)SA=Ag{?= z?}Qqi`Fpl)Pyje(&)Kd>YvL;_*k16|h^WCnyt+{Qx4!Y3_SYVnS}#RfI_~Lyp*XOT zI5p2FZ?8Y4YH{bdXCO=bdfJNv*KtWBkgFk*lOmEE2BG_jhGqnz+n%JR-#1#olg}ao z`Zw+1H~OX?c@I(ANFcgf5V{^BIU^!DxVR8#C3QtZkDGMWK?UrWi3k}D5RL_apx<}% z;^tl&3;f^L{5!{jM&9!3`|9+M>CmIvCTL3zeC$e-aO1Q5e%{RleJ5 zGVqV1r0YHwh%{X7B&xBam;O*-s6|rEWJgxtZNoNVoCL-+F4WF81pPJK6xnf&4xYeS zAr5jem~~=i2yW;RXei%59a7|hk*GU_2)|(XecSzbI@CJw%`O((-29$8ZiGejaVlYH zQA+VdJuasL+oJ7dJ<#i@>F^uB5=Me9tcv+gio8c#pPm^DKV?-a5S_FGYW?kms$$&f zTwS}M2?x|I1UEvB0yY(^xsby;{HYLm530Cg%TIt^9oami=sILc2o=t9%;;c?8vwAW zPTRG^HG1f>JoZ}jWI5BRcJs2rw!iqVU&DgtL4p|$Jt|3J$Kvt+=G|;H3T^?V)Z&sC zPiXgC26JB8J1WHOsr{r@KMw>?jDcmee-=U(7zEkR4_qt(x(6NXI~AHT(P~1Cxr#_= zZ_#hJYe%PiKV?>+XZzw7JYa;vy0@omK+uL^zAP%I#gLj()8I-yh(oMFLE)G8{&&K4 zr;?Rd%CwshWo;mjs9sh#xhj@kpD&aeXU)i0b1s(?wIPnNCoz@Lo`#+E30haJk!qR% zwji*K{&79}-JS#`Jxj4Z18n#m@MI<(}tvp%_P*VkHb zLDHuDyToEk_NmlT(Qw$}ZpKO$O8$1l18CD;OW>sCeA(M1>(~Lno)}t zn;V`}Hu|d6Q3(}n>-m8cM9q^5WC$SV6fM(@a2aEyu?HCHU1sM zc?$mTLUpHzh&SDHzi6lh73;BTk|4!PIe>zv#59Z)% zRn#hA*FIdY#7@}%*4h$*s*z_rj3s@Vn)iOU$I?ouR~t(jpjg2E6u=vEhGhqTiXqzK zO~gRC$5QM5d$2cP7@oX_=mJ2IL*JuD{gx!NMx*t=P|fIEKL{F5&JH)IGj>Jm=rB*7 z%W~DzTBl|3tZ1Kl-TK=)>&zVKV=342TYJ{;pp<^{)3xZ|wOGlzmn=H| zcCJR7QP%7$vnNV_R|xAS`|ZZRyN2C`eyAXFxcc9v4w#iEj@BvS0W4$ppvTR!#taG2 z;e4?B#nx%(yNa+0+Ggp7^&8>c`}p#h1^j%d03&kbMF(D7gxNd z4LcWAj3W{j>LB9yvwJ?ta^V*)?A4(T|N9gC8PYlu_C|XT^~{o3ST?;nc3wg@?W;RH z`{m>lC}(Wq!G&qrWkVv(jYXUe&F60;I(=M~XL*H6?&qj|R<+lJuFCrAYYNmfKTz8= zj*PCuub`H%;uSml`?Li;RE>pFw#v7YHjiHQZ;b4&i$N+M>F!{%Bha_kXg?^1XUgnj zPseaf?Wb-{miDN(Ob==4TG|hzn=uG^*i6-4i{l4 zX8c`9Vp;c9?!CK$J?~dgn&-O&^p_CPX=SIhprT%)<~PA&lRh&9h$+dZ{cpJtx5pp; zx#g;Fv2Yq1oa`rUvzYXxT!{7WRX&Tto87Q!#QDlXlT(*L`bfoG?%9}OU%XrwsLmLI z;#+)W?_pbF$q?L(EblW-@rY4+fN)ouxuaE!Tzd&?9UH!NENmXhqAKnF*;2OeU`Of$ zf?LAn?U1dEVjR4i*HVy#t~4xzCns9Cm_1nS?oPHMG|nWSRk*p~T_e8wR{t`#0)xi~|_ z`=@NT2}Iv*o)WK1h=0-a&{02*4`;5D66Z{B9+x=rXd=~`Q;eX4+pH-t9)}e1gRFXLns)i)S5=zD763YT;+!Xy8y{TNO zV7-NsT(Ntgc8AAfhwj3?VX{(b<1-?=DKjVL$jNqCqd94C8IR;wEB|XaB7%=Q+xjth zoM?f8+}(gKYn(pxnsdd)8K)<4*Yf4Hu;1w=32w}1v#@u=dgLS0cK;ag$32vLXNtG+ z(|v~?(&?Lhh`+vwg)_hQ--lrqZ@cM2MEYv_axi0>!MQ>*;D}3=d9M*>QZl3Cqr^da zL;S)PKbyJs08Ho5_1H6_H(%C54Oa>$U07EjLn6->-pCxuFS8wOidg><&HoQu8j(Fr zh&UXxzpFGM?nIahs;>j*Dc!-?vavoiUva`jIq*hsSt#~4AV4dQ%|1{GFA1kd1wvTzIXN}}zz z+x4oY6|YMM%jkzc^)?Hi;hA@e^|F|aQq@hyM11z+sN^q6L-SgzSux3k%6N1iknbxN5mTB}| zGupOu7NZU&C{(}u4Xsq;K$sEaGJMo}YLu$e{z`17l>S1mqXdKDyXhVZa#(j;UnoxZ zFkY7*ubh~YS^;gPCA}o|`P%=}0`MaRGPbv#N!0&&AYD6ZmEhai{A{boal~go$;ZNq zIdX99@ATXfq2ZB^$HJ>3JRXbIRIU=+Q}%I&lq!bO_>=x8%8QpaktK^>b1m_Qbll7+ zt!0$V}rY5f#b23_+Drv5otxgDSJlhjZrw)lq6 zQn|i`RnPQw6femGK#XH2%~eA0J$SX(P|8e(=^_XyW0631l+w?mU3)@q6MoFGudw1J zK_3FiVgKHIa5CB=W=^avw;iqasPwKXPr!pwX!8ck50oU!w<_jvAtoK&NU-1KW4=`# z38I}f5p*S%9nxtjfVYHbhIVfEn%?XpsahOvdAeEM19b>AqenR6g&_&X3hU>k`}MYP|``9*?JuH`))-LB42s{*7ge zC6sFYs{}D|;R4ZNe^YhT?HP1J1)Ur}X#LbCAL?8rzfuhE_*?0~9`^#F<-_#hV=HvB zHfXrUst;}cG;=e$2)MmU>1{-Wz5OL)`ZgA?T|r;xtt~ZdG9S3w;h&>R=WJI5hUM4= zzjO#G?p@i;*E7wxhj)|uEYeDH7c1$O{LxW6&0{l;=}=98>AUGV$rH3VV~3dad86h$ zapb~0meZc;K>oj9DxS#Mbtg2%fomH*6A zURR3d^yy@RRV)bO=|<9b$lB00I&ZgqGsrBrN)g_&G)#hO=o&XS*OBftRR z409;$HBG@HlIDJYiR-9`!ijT<=g3I?zu=)1gyr-uMICl|LW!8E#b!DCj{LlmO4PYQ zfAl4G-?)^OM}bcB<=(l*`F-EbL-}8lTa^dsNZHI`#9GtAfAVh?LniCM*Q9^o^8F%D zahIQi1z>;zpAMP-O*8!9dp==p%nD7|kj7c&w);Bp{O@R~;0ii&h9~S1G!mfRf`VS? zgvX6_8<)}4xUSpyi5iZs^)r0ujZPY!CN0^!Io-GH6lxCvNb!ExNb8+E-279oXUmCm zO6e~iVmmq3$Sr$l?F9Ua(}oQPr|OanW2L@q!&$4J3jfGQW61n3E#E&n7uz~JN&0$O z3YYB(0+1V3+iRr8Im*$FA$d?lx`@s!A*9#K;*|Y;)Ndlj>_5Ae&)F7|g$raY-oal& zP;hf7jkyLZeDbNAZfYPx=X$CSvzunSTH_vkh-{vqJ=*<;$})TB+#@ug{`Zb3 z7z)|E>>26jmuL?a)vFJrIVoznJ^|m7ans`j3t|#JTki}gzR=JMep9Xw_~H#0^r3rJ zo}9G@47Ey})!UEIaQZot57KK|Mn?QyT2U|3oDI{h9p3fyY@tryPE7b~_V;$JP<&chV@by= z^5_XKX($^%`0al&G;)12ciKU;I1YDk4q+wel40xe@F!o3rR{h<&Yeq>ZWu$9xx|43 zEXw+qdavN9nUCFXi}f>x<$1J%M1t3H2WxV4_Ku(0PczNk_-QmcV7Qj4;u^SF!MIs}PV z+_LHa;+6w?uf-9yUD%t*saRV(cf&s}m!6hd@aNzcCgna}p_~-ep$Q)6mBrqGP`H<} zTJA=8#!@vRbzYY_hn~rUudnKwI08(p=~dXXKNC(kTZ8?zl1%u!ZV8wPcc;V(L=MWa zBT?tA$v)nKEZ-~S$it)}44&`qlCl3ZALy2_>sTfjZfv9yU-@J|`N3FaPO-wb7OBxn`18w~K(TXcNt%)KU2li&ZN+d2Dx%J-Ry%z}ZfDm#x}vY#|4S`ophDp5&pOhk zRZ8}d&)L0MA~@gX_!li=GoO@d;v9G~dQ~uo5QZ%6w3IU-dBQ{ZbPsUbcxwjy>eUcQ z1K!eh+7r}BLG_b5-37x22r4?HMgro_n0NKBG)N!8;ZF6%?AVJ01L;FCm%Vg@Xn&qX zxAfrpmb_*R<(?PPE#C7Jq_%s2B@@6F_a2ta4YAluNmW9W)b7~$L<5wugOo)I@ZIfb zbzGdqf80047{Y|L?hIUh(9<>Y-ct@px)l@r;*x$V7I_Wl!;B$46P#u=t<)P67f>X? zz!=L^!J@pl2Q;0}CFt8<|BAhn@z9vV`ivwx?qng(x!3yN>@oR(efFjfIk+o6b2K`z zzh?@pS){F@2F5RoDvT-BGViF(Fz2xJw3WSNT)rqI{ntXV5V3F1AcTwD5;{27dpE zAc4Q3Jol?Htk zypK1eu{@SWqQ>5eW`EQ;s86_>o4cSmhT*WXWbU+v0s<-)%nH=>dWN-xy6q*XQ|3+b z6=!Fo<@UcCD<)3TP%&w;00$jk*?Gl50X;wMegCDl98j6WPY6Se9~&itQB-19tCO3b zLL)|90boGF<#PIV6EgOE>7A!Q)*iOqqe8o%wARn5Y@oJU4QVde$gs__pot@Vx?8Io zKD_YinFhV1RF}0nXQ~;X*sqEj2Cmwzx#9LrwUJ1nrN_aOGM@seWNKSV+=>qdy8fCd zrW-fY(PU$fr|H?8^ws=*^vB8pV7L7r+G+44esI#64`oG=?M#r6OT2kIivEh-Dcm5c z46WBp-1fMtY3qvAK2n)GE@J)i5Y4f_M^Twf`LFaNGwc^FR%a>zurh-O&bIP+L_mVQ zr~~K?SowHco6tS|6kj5;yX#O75$DDG!$=ku%xNxCM!NGt!{v6qF&&Kw7x-D7uKlon z&}kVfw}bTF-5&u&`khTh#x-0@%E!5QbR4K9$zs_~O1e~;V{-%3*bJafG`Z#Hvnk5K z?LNMxke>5H!z&ap%Kc1U@H+kz#AJj1hkgbeDf)Rg%D5zLQcU%e5jU0Nhr5>)fC2mI zA*r$592PFmXlQORSiqPuIn_qPd1tk{x16E+f}EjGX7cNoUqB@EHpB1%-Tuf_zLx#{ zT)olEnJ`#W^5bI@!ezsog)jCheK3DLsUH1fkXo2$3IVrw5ca0X?|&@>Y)cOAuotc} zgYL(Vv7!@3C`n&m%;Of40U1Rp#hN=MvvE&qcE+*fAAWvSUQ$!66=BP#rp(uGV#I>L zV%5;*hq}ba{BHmsgkaJx=TB%IROT+H9zGge2xl;rDKY(Vg>m?(`}^J4MQsh>-^WATjr%zd}p7^T;aD}@ObspJuImN z92-47<{wLeB-2u%;9Q~qYAS0S+|JBc<+U}p)lASC5tC9y3yRQD0?1Vv5pz(A}2M$`3uzIH7-fF1*N(*qX zqDNU`2*@Tlh$i1l{9nM4QzLVtKwM)wNTsDGhoMNeUMl>4nBC*(Lc_*)p?7`gBJO`vJ19?<_~RX zdZ(l1C5vQcx^H-y0%*ML^s6?Y;wYgP*1e*u{l=4~`yf-1uWKOY+f3onzME>?jln-8 zxJM|s<9!=_6-KtvAs!N=jGx%ocT)@Mx&#=)i~@8fI7l;nBudV-EvwB{_iU>p4H_Te z-C}~J%uDf8ky-p1OcDXhv>PoRsh&P~auo*c_#w6UwSy~^tRN#rL2K=FV@YVc52mtk z>I@%3RLu~tBs;&uD71a2Z=^FOlJA;H$8{RgoGLRZLe8Lhe$1dp;|ZuP;y_9H7lASQ zOEl_riP>A?kw0CL)@WtgYm@Ap?g^a%kX8@H13jw>c979cG>h5GTleGr?{m;hg5~!t z54xN%$ze=xdQ^ZTRq>qAW$ z>CJQbHB=otw(Ux&XhZoRf6J+<^`0Zgm-aN|U$V6+xQH4Yz`Hg7Ya6diX3zk+^^(-v@gw0#NBFeoS`)|0( zWwQTS`CEukSw;|nY~-m@!}~xl^?fg*iSySz#AqbbnRwNj#mTT2k{2>jcoWWFgKc9E zw+;LKNjszKaFEc2I;EWNbR?^|?3jq2xJ;b6-4&Nv$pCP)Nk%+YL!w?IGyxdXG$a@K zLXs9Ly6~_lnJut+E40}`274)x8_|4sgS7Oh8dX96`lj15V(41+<{L#?4Dd_Rk@rXg z#~is>DLRG1D{$2%J%@xu{{Q2}#M)J^IdDZUF+_>6MENmA#Sq9JgV0L?(N&#V>p--M z9Ns}uZNXMwL~h@{t0i)<<~taP+Akv&7c`8zA=a|8=v;Pipi{3TmPuhUaCjK?)Y$lV zj&C~3K@m`lk}Wa_J0i%IT9U;}A3WA2SXpoUH8#xZv~66%mL#92@e*Q(^z_84!C}%4 zQhJh4<8~b7STNGiq`-pUgT>Dzh*Vfivd!_ZY$|)k&CgGmS65_(mt!?@;Hpy`UxyBe zb!28VcnAq-njmy7Ja#xq@XuvPO5riE>B2TgK zum*)c;8YV%&~o1L31j#qaU+CrjNM^inNH01@5@NWpl+;rYa>TVMR~scU|*?ieY)P4 zXX)-3l{JvftBAF%Gv>O%H<2kg_k1~3560#gOZ*qViA*{aM#l0E4=3I9)P-8M+b%bCozrHlgl0u-O*ZW>FUN%V zwhuhd>)dyr&;K+kncnkW=jApgsD@SHgQf<1NYnwBC!~K2=ity25(yyg8qM_}V?iwE z2&+$!$_z++g4}TJZoXbbyU%c2z8OJrPv-21D+y^^&YviO)+kEVucaxY$AjvSP^M+6 zpyqp%@SjI<%@ud2sN0)#9R%_*fUbY2wbqK%25XcngkJ|!g>^ct7?f8KI!q1sO0+Qh z#KTn&)cST0h15CUA_AsW`<0f? zElaG`tI@5ZW={o(==$SHFp5%4P0jJ4&e)1u-xen-feby=bC7_Za4)VEgI<8-&*-f} zaohsyjPU<)bbne}L=@xf$b0Okw{jTw*$Y$<$bUhY>Jy!+!2fwuh(PO$whtfpueRGW zmNXTS{G2Wf^J%iqSt>fD=1~x2*rnymS69y<1AD!7-Qna4tp!tOF}m!{oOySL4)h}%v|(a$Jb{KfL2s`4rb~7e={WoH-GSgM}=a$KT4YA*L7-%0onNpJgfH@ zbLMm(uCKfDLXobdr>A@>V^+T9$pf z(j!y}>WK%Yx|J8nD6OwpfKEw}iZ*X;q7u@hO}m(<7C;r%`L)8iw;ZpCXQdA9j6|+W zz@?16?VwM)e_626p$;ZAJij%7rB}zspc{swcYT51c-k6_b?k}-?>0HLL}^9zJvyHv zL-_*wGq@z+8jD{k^vJ9H`<}e)AmQ_tx7HajHvem4k%$Pj&_YHYPR1V8K z=$Is3loe8DtN3rmy#X03bYs`c>!T}CE-)URG-rxZ(3wr^s14QGW@i^>5D=HkPTWR1 zQZ6I%dJ^a2j`YT9_-I5z!Id5p4h;4%GL@U>h}z)|LyF;6>t5|slzQX%yG67^q~eOY zv|-<%ci~)fs0npq(9nxv3M~cNV5OmPh2Kr@sdxmTzng5z%%&a25iiOE4j~Hhtx04M zns3RY25O%|!={)kCd3l1DiVKBhPiKI9d_^fNL*~xp)J@uz>%pv{vaW7VQ$~^)V9`P zV<^8Vv)Cy1RD3{+65#GD{!qfoN8DP;!etC7yk!sE(ZJEf8a*Gy1?c@K0D^5Sl6J$= zNmYCYLXn}m4=S`uzVa(h+5!2rm8Sg5f{0{{fvipo?nWP?DacqxoRWxZ2Vh?rM@ee> zsrmFrPj{m~gG*#|Vdv5;HsW5rpLH{jt|#-O{lxyu(#W?X)(gGT_KMY@j}LN zMZcz@$^*v1Y}{EcUwDAZoB1h%46Z&WbK&6x2KZ4vpkN0HOTD^GiJfk|t0v6Vs zgr@doyT>MvTl?d1E^AJtWSSG`TPlAzM2{Q4_Uomw6eg|3>Yej<-a;6KPky5XA}pr! zf>65r>>8dimrWTj*E`SEW+qO>!A0MrxOC+h{2bCJP95y_q_ho}eR6Pnw+qFcGp)bb z3+%C!ap1&*RMUz*yLX$E7L5sa*zwqF+!9|3(Oc70jFar(==k+A8w4gJg3r5mM;bcX zW3Ye1Iy0jBX1fksb%i)t5+a|8_A1MujZmXEq%N_j8)Vmo6QMoTp4bp~K0NCF9kd8U z|6IY9ri7b!d%nhm5Q#c^_~X*>6EOdj7!HpJc;7BheUttEoz77Q0f7ZD2xgclM7flZ z-Xcu5SM%2H)9+=|&UvqEPK6-gr~^KFm=(+IExmrA98$Jr)$-Z_#{U@Mc@Oxr{ahXL zK$r=LP$;=PhjisaW6PsS+Ajxjm#z&MDg6B1v zaPj&Ajj%qAK#~2jiW1y#o@zLmBTUd3GyPeRO-v*RyLhbuxfH$w5agHvX`MyGa0+Qy}Y`S zGa)MPw}WOxL*I*rsy|o7+^amoCPA)+B`PV9i*aNM{eZA?->Wo|ip~JlBsqa95FarP ziWE}4_D+`)D2mOYM;!e3f~Narh*t4z}pjffh^ltg!|Rhv7u>q5@8T9V!m~dD>s|o7BJqr^VxjoQ`RHzWexBMT6z?! zj=7gBlld`l)tz$hvvg~3X@wt(CA#EobRg*ap=T4U!%d4E`E8(m_O|wE&+VUkAQBo3O1)s1iDu!0>;v>Z)8?uizWKrw%s|6%=wm4zvzjPFq`yO3 z3rSpv!{Z#K^s?6I@vk>tyqC(1yXGr031<1X#$#e_ZOa0m3BD#mcbxGL>BJ2V5ae&H zhibEYW}a25isPO;F(K04J8v%kb)Y}fj4?X)RAVv%7CltY)`RySqF|VF?Sn4SFrfg@ z^I&Rl@fLp{#>AW9PG22-eHz}t`j7Lr?hjWsxm0D}(FN|gtL0mbk` znF9+&DY9Ej$n-*~UhYgNX0pN(+AuY&FF4|Eep-9xxcVp&Vmj&@Ff}UJ#?O`yl9_VN zDX?!KTNSae;Pl@q=qbiAEP9j0#Ffw?iUoK1(Y>@9P=`l@8~w(9HB>Q2N*LS~>zR{X z<3Z-}DVAN)z%~QjhO5BoX6#eOgpoR0lpwdXUVq!+QA=Vnis?{~sH7-7^<462x8ZY7 zr^^riIsR;Xl&$y^9Z_nk;s4LcbNrS~X15Bni?m~mW#7{8(m5o5cutB0ST$v|v!etU zu*GHPkJEzXWM&vIr0SOEMeS57wJm?5Ae4ouI{1PMPw9XR8YmVi2@)irF`~2d?XM1G zh&JwRTnQoMZ9g7{*Avt0yN{U(=c9#XpHBVDxom&L=z~Et66pJ2+@PDWiS>7Zr~yx2 zPu_;V+0WYhi{Q80(DL|Z!=H1aCv(HrHUjP96)UZFHTGNT(RvO&DphzaXEk5e#kKu| zS8@mqjmnLUdUAw1h1P^a^fK=ygHc%dJP09>iVJ=#w#l^}+qU;3->;;C8q1a~)q9Ed z$=NC@rIaHX`B*QXpCl1q@_?a?&R7?5TrHioalk(ieFs~-D1Nc-*ODTT$W`^Ya(stq zaDcj&4XhO~_(?SK9@U{lSbGw)kj5L`5d#q$a))%{8}62TN%jw@_PQTVXR-ABj%n_A zG)e>9xChUcSLqsJJ>u(by|HRvv{)7_S-~k-2iPvmxsgHtf*t4)m4A<2+!5EL{5p|^ zd*PbCHiZd#wD5=Nb@Q*pMqJurIe*S247z{o&%pyKl$;Bh=&Lg(268{1@7(zQoZ5B= zd!&y~Lf-nc(mXqS`AIm%3Q5rbYSqYgK-&HzN=1l5 zOz>i;DmwIekcj!#H1WmGnv1{rX>Ir8ya2vEE~0v1rp$UPV(D;6yuo{qLfeSJ6j{|5 z4^2OciZLo!W|n~WN9%u#UC)HQ82`cWH@z_?D!iz3_&HN>jPCIj73JbKyG9414%MCS z=I=m%>DiZViI+&R9?5k89lipvm0v&JNm#r+`cSh2l9A4#fhgW0Zh^d&?LX4!WZNyT zg%hj1;MLV-FLc8dm-fP&yV8!|IqnzvR>ue3%qN*bXz7yG=4JxtDQ0ft_gQFGPuKtq zN5gA9f5uG3AFfFB$qTkd*~cz1$}FV%_zK<{*A*7n9guODyAuA06I%`*8_s-$L-)i% zl~Y{nC>;_h(%Lud;+Hzow?Omf&Dg)*5OQPLT+{nF?{y`oU0t+)5q7R8;JL<7=}_aY zGbgydD6_&9vgEW!&gWvaS<#X@!R^#rC?VAP>!z=o$o1a6YUi4iJq#9DR4*$QGm3*s z_O~A=mt^fyJK}$Q_af> zZ-au75$^8=CRgGV$TAZG!HLq{b!_fhe8hRtm5qJ&-xN%>BkoHFl!YV{(5T(pk#=CJ zm0!p;Ow6jECKBX%H0cDE>{5QxPfYc!(^b{8$C-E{`)j)1M7xc+=PipLXx++sOM|Po zMiZ>0%K_f_Q6@C#VfBRyWe`E^X?*(p2ijP781;S|Ztn~iWy!a7PJHQxVwX`&!|AO} zukdiF_B1<#S}htfNSqYWagG-%E}n?FNOZv){vO>aDGg06L-tFv#i@5SnY4(eWNF6n zC+}NGU4M>Kl7RxAU16jrt-19m#!%9Dv56|+e3dDhh3Hy$Nf~|ia8h1wi}4%5vtc0o zH0h0Vv_+wpQNMs*NAmWBM-K01a%^vKz=>MJDNW5Is`N~tzR(p%qY{$qTzf#nr%+_b zk}3eo@7fl4?`>6Gxn;$j9ZQq`9 z1O0V(RDk$3*`QlccE?Jrh3G~z&Sp+#r9e+`(ULXECD#gzt>4S+*JQ22JRc@o|992X zFVfS#*FqOQ*JEs@VGfqvH~B7aAd8?3MZ)~So!uOUy|_6nqp|mCHL+V;Ta-LfpIN90 zBXLUS!JpssMVyakMD%y$JY-#q#w&dr>bTR!$YdbzVOo7NQtDE6#m~*ol<`*;+Fwr0 zfm|?c!RSc_Ps6OX(mogn0-Mi^I-vAdYMm&zsn4uUc`OxUe+D2CBu{1zF~Gki9ps<3 zesg5vn;Rsw=$oHeBtQP?D=FfEqpUT#T`N2-y-s>M`4pGGyKcNYuW{ERi95fcY0eN% z{u=TlO(+3xtWtho2?1A3RZ`U!vMv5$cG*4s<%{CisPtH3Ra7EdtFH@r#*|;F z)=f70@Q&K`?E*US_u{`vXy%LV9n2;=xQzckoMhFSugxs594{uFMEYxP+d22q>$bfX z@6P&!WA$VzcPsKTQh$pgX-#&z9nJ6CGvkP*YsDT-SjC&t@WzoJMt-z1zRXDy|$7`3WlpM&)WCJ-p{qTVhN=!wBu-Y2r<%yB^p;F0xPZlagdj}$>JdO;>0w+$ry-lGJ z53$?td_qTR&OYl`^n+-try ztb(`6_Lrd637hdBlBGCvt&DK*$I%5CuG zS|lSziUsJnHbz7n8W6uJiLIrqaqph{$a5g76Hy}AgoITUg*t7vZB3%)AGdW8>`!=!Nx(tB!R$p^R+Aa{qqpdY|QBbEG?=aHQ61(qusq;^Pnf zf@5q{o+kEVgQG^PwSwo)0{r3Ouz{t$UuKnYO=lhkLvnWJI-7Mnv18Sg-w+;*ZgMJe z#`U8+KcA-uHs^VKUm8*&L+v5e|L2z+Va^&nzUZZP4$I+7B$bSu?0{@5iKHfH8Io>8 z$7$>z9CI+~f+uRsPPMZdMk09MVv2IVU6uzL?I81Kmr-6^~<| zim>~|iiXnO3%Vmuwic1S>U{e0`3^my@7~I-0PCL0t8UWJKm?7MIl%lOJT2*qw;Rt| z#8N3`rPN$4L{6P(dM3Zag%0o*u)Ta5LwYs zNUw#kSpq1OqjG6Fg5oK1e!3%BrFNy#6!(s@>XjKUR#g)>rjH~ztDmAiH1$-Wm*sBj zFN-9IF_P2MAtON}NpKO2Hh`bc!Z?8D=;ZET_w@-~GSheG(zRxSkryjzIP2|BUU$*+ zx)_9LdDFo&+P?ZSy>I$iGaXHHZ|~l}DQDoUgwXJ?W*BT7e5@FL8FK4kRSo*p_@juB z5}_(q{9`IG!@9J-b)_{c9FxL0h}5A{p~{X%e3#RenZ@i|c~hh)YsU(c+mGb3-k>a+ zUT?2wpg&VM9)2*I=u0W}=rK%{Kpg#VDt+v8`*|^~c#{2P(Zcv;i=&#J&S=>1hfj+6 z6Vpv}%AWZXOSN3?yywfGtvBVaNucW9=vx{Nhe3X@2&zg{$}{N6=$HC5Y`iog$NeRq z0)5s(e@~x$;`Dx__{>y+j{G>683RUxN6l06iAH!zglUaKh)+BYiw?WeAb0?_xdw-T zy23zTZK&@FPq^$4>*2W3^5}rk$%D>scE%0f)&n+f7C6{PO8(R^ks>u#{U->}hoOHC zXCoF4ts5F?KnWc;4IR~J6CdDTD6UZ>U$_*<{8k~l#xbdisIF&b7v|$lHUtx@4d2XAx~oMd#hRe|lmwvpG_O3q~tj6VAn{An@CHFM355 zk*wVEzo=tlSoYel@Cs)Yh&H7yk4ZSSN0G;l>177O?yi7$wT&1<**3Yo#S(Iy6~+Z6y7A zH6Mpe@5lV}i5VKrw?oQdcj+I6 z><%KP@1Ub-h>h&G4CScOyHwWV0FUs-9mddBYnV9PSb9sgor@>KGu>9sJHSQ9mQahM zbf3JH8QPO1X}L2}yg%FQuZ_4+hEh_x8;YM=Mc3KFChuw`aU^UlAxm9s z@AM)x6mDXYSAqwF1=F{G*_d`Ou0*}9!%m+s-3lb%kJ)Fmi=ys~Ja#O(3G3ANy_3-$PMX!{DTPdCgkPmXo7 zi*CRFN|~9)LsVnZrOViHeKIM#L9Y5UpqGggG_r)g+l4mA!0?N^2+#GAHjlL=Y-I*b z67OeSMFxWYeV&~i&abwdToo&pxBVwmfD&=CD(Z%JgDo zd)d3$-fv{E(t+F_5pPQRzW6w}KBEDo3o?5(#h@jWO-E1fp2#z{S+47UBN+yHF0Qwn z$`y%(3kaowPdO>@(JJp>So>xs2gVprIU!JhPCXl4gnVjmZp_cm$)x+I2AT)!R=c(5 zUh{J2w_Os4zh=wGO2%uI0;zV9RG(&Ca3(9k>@Z=SZSBED7TDh;dsJ`mzqHjWuIWi! zN6fp3z~U|2Z?R>ai+v9pw5ogMISLIb$MPa*?vHA%KnJIRSVrTO z4Om6g{5dz5Eog!$q){#;kSIqIUALEDCm#6gJrJ{O8@0v7n{(%*_j0n z`_^GKyt4fh-a;WRX>A2sc{$E?z@t6~r$YrAVkG0fI8G32+wz;_L3$Q&y_91vHywzp zv?{03o5d5%CT8rXStLCfCR+{T%-;rfdDKyNtp-h zte)?w%wa}Vnt9u;D4l;)eWrLB*y29hzLcWba>T^_KtlNZ@-XfXs-MtG0!PEugDj!}}@>K)q|5rZ2EeL{Mk|76Kc4;=L;OnTM+G$o!MgM8NGK#JT7z0`4tH7tVeZzE#d3z#Q_;< zNNGseH}#Y3X|eRClp7$ZIFw1kS1~UL$CAvcLUZE@{>6{aN{`48r1#tQ-g4gpuWS;v!rRi&%M<&5`pkk$0c_)GWRIFreH>XFaNEoqY@ zxNv9g;%EnXd}fbtKx|BAO!2GJCFnTl$fE$|H_=$A2uZ4%oi74@b`gDM#ZO5tkVFfx zh!IV3h<;(g4pZ5j$;x(wv=Ig5xhYE%XuL@r{g=0Q?rg0x$x$y+bo2Cl6#>?CkNCXy z&)fZzqJ^qNNrDRK7>iI@fp^XfX0x}j#;hmD_avfov^-GXbN!#w>RXF*)PLSz-$#@S zV$W<~TnIqbNAUenV&ZK6+-8p^fld%|O-_+Do0j$VD}X8n?!}lKdG5rNY6hl!aXs0f zx5pT@waH=NP)5a(qO7)p5H$_Sln_vvoL-tulE0_r&Wka>nRBj?cSKe?*dE^g*3{qs zd;M&?D5saXT#I!1Xese0FqU=mf?v2>FC`^~8;7BzoC-*xT-*eY{0zvg3bN%*vQ{?Z z3S3#fI&?&j#*;kN;+Z@mV;QpfxuNG!NL1?Pn+;WQB`3QgCYcClM~W*%DHjGtmq?HT zH>6ODP#JbziQ?UEF|+Ex81HaG9~^7vEHt88ZS2nxQM8-7uVnP^-!OTqC0#+^7I5n* ztxZ+3?;gaOf3z#08|BJ9KPHM0Av4PSs(z0Jb3X?%O^L;Uh6Li`KeDKroR{m~>@>fH z5$lDm0{f!K1ugnE5L8n5e(z9>J&{`$m!K6~`Z{`rYxc`7(bK9hgF(+{}eD+;>r) z(1)u)XM&ZuCNr{xPqpT>wVW!r&RuqwRn(daVrl5Q(t>$%@^Qlw15pl1&+pHjmH-~o zS2xeyoZD9-{+wY91Gz7Qhrynqt_AU}l4NNV9h(uA5W@3`bT;~Odni$I&#+)2R>~M1z`;?$ZjSda z1Fw5_aOwAe%UW60wKr!a$qZ_+`c>q#J-{OyWG(|!kBgN8iY`ojaA?PS`>$Z%th3)I zn9uN2iu)&@g3x3<>*)U&0l%%)IhSv0;D4)_LZY+;5jRy&R4+|nbLUPmAlGHHW(nE; zkb2`1i+AIuMEIj_l`59EKXk9Z5JYyRdieFJd2Uac<50#5ef+xHOul>|ZlA#LOLQ1% zWO^5zrn$DjHH9L*6sIGy=^yM%$ykgP5wN=}ExJ}JZ71p`%GOWlpX;7j-`-t&)z}!O z7JWF#685Y=d_`jW<_e71U8n-MFP-|2r}0PqHhZf#eKufK$)gC-T5ETyBKRIMlhYVRsW<$yyOk>}@~YwdFKV)%~RfHPOp3 zAs7Y)7DnocB{nD%4K^Tdcjl?>=9}-d7PA5!ut!wFRDA(uRHodO_AWx_>MS>{#X!FV z35d&BjE5ADH8(cZtcL11N<#Ivg%v9Myy03R9bK`(q-SC4L79>G{9J+b({4nZy>)L@ zx0G?5P1pO{bT(j{w*@jXIL#u=i9Dj3i83iIPUkr@bKRFYnTX66YQ*@-`jlB$d)8zZ z=_2HVQezhkt*X4#iHZ4eq+o^w{WHo@;~q5(5m4wKP_bXtSAIuL`tQu<30QhZ4^KUV z5z735mo=$73vKJI*=0zNlp=LDRpVf(`CTxr=sXMzLlM}R_|D1_1k!;3{Aa6pBe&1> zhoQX4Ra;aQN++cP{|Hv91XZ#8)Sp$u3t+g2!+l44@PyXj4Q#07cVt{*MWWQHP4(ut zlV#oKRxf_x=F?fw740OgD_g9Ioe(P|0`e+QQ-9U?a0wO?EgH+2ZgM>~w1iNf3IwXc z`htWshX4XKDid~8r(n_;aVSZc{juNl7?$ z(|M+vvSoz(D7S|kne<^V|4s}dVV?brnd7XtSjRUhU3gIac4OPY`_4^J_vSs!69-5c zbW#@{k>tiu>dv9vUvu6}(fxa@%AVd!q0_J^)tTCI9uK&!eG0WOw;}fO!pmA(1s4%~*zVeKzDzofe^4Koq zHUK(1guID0A+elzljqO4`okTUPH83z=#O`@g-b4lfD*jO8x5f={; zi|Xl~^MTex!JIY*FMP?xax?0~+fet6l!`EacGIPj-H48Xy5)fBtuT4blK%EPFEH(u zkQ%Du;#*BB|0i|5XY1G~FzChI`Uvb{@WRNZv;S%JS?NAHlfWQwh{qoyY$N}XD8++5 z6v!WUS93JO%`P=>cy4O9D=VUtpsjErXLmdzDS_DqBETYL1|U&JBu;#CdKdYz1J~G0 zeKlUoe0Dm@cPi=eiC|81sIbGQanyrID^Xqow+o{~;%+dxg%J|w2cF6?Zq4ZDdr#MZ zzObs|%4Fk|w)5r1xjnNUUSf9|iKQ=!71Z1>EWGP*I--@G#>etC!N)S2;*M~a*33i$Yu+szD#Rqx6Y9y zHmgzi5Sx-Ud{mw{JiCX)$Odkf7dp9<04tiby<{$nTs#7jMmD7jTIUI0UV#*co^>EE zPl>Z}Cew0hvm^M_O748;Urj}&flElPHC}kzsN%|%T8E1!{JD(Bt$_#F5K$?`io(dV zcGavbT{6;1T92A~6CXJCX1asH=u&rAb-f~;s5f17!D4v^SC_(~lM2;`?-kOWMk!9( zzkMF3>)xdkIMEgi-TVK?0)&zH@cpjfNb;oOn4ut#>y)z#DC@WsvA%qXkExUx=lkCh zhHmqzV*_V$$@ZF6EaAcDdGpqq^OW^>lCQFp2VV1uItQDhcFm*y3VWSf2`f7hVFtsk zw62wj03efAQ>LGDK5^r|Rp{2h7ajC|Sbe9%JDI~!{q)@Jn`ERTO_HNUY2uDvcqo6a zUCcV7C^6|uu~CaJNnV95I-f`BdPK`fJea$w_Wn*v73EVKrJG;bd*H;OBb#czH|$b% zn>F=07-Tt#CIMXS=mcSg-Q9r!02Iqg`t2ct>Lb!dUb-f= zP9{h=Fi8!;X2$ObS0|CS9Iz=R|8J9pl5z|8w@f*6;f)<{>G1QZ(uPF|F;rN1V59DW zy0h;yh7n`ba=QM6LA|rP9Mr!YX0E2?IQ`~9mlksysh3^a+wzl>%UXu~gq|7?bX=(S z$_0(duVf^EYE=MuO~^0z`87gMH${=kh)I(Vs8g=)Ln>VcKk*8GmZn3V{>hoZ@I=+= zw$`JobCa9vGON#4gef}LWkbmrNq#0jKGlfg9jK>x-d2p&?l->9NNzwp^B4u*JDV~l zy_v(7fV*P@EYQE=6H}XuJ|X8CCJN)&`J%M}Os8i}EQW$+^u+g7B&fAbS^Bj`zzt%eapHE{dFm`|gh?%c(r&24aD`B7YyP zz3H{JraL4GVkaD2-`1S*J9j;;v)Yc2*RgT;dkE2QcWwy8~J3}*2b>F3~qURQqL z+|Fox3P3C9HAD~+)A`l&FX-x-%Qb@yNun%6Z^rCAjx+sEp&iNOYVn)6UA!=>NB*bD zTmc#P#L+LiBqCJ*%)N!*%B*mz68?m>S+B{`$S#~227`J_&OAO`^@*$(3lf)W-kO?p zoBT#V?K+NOSyg&~&-hu^!{)ADx*oAoY= zQ8FIYkS0}`MaMJinbayef%?U}hyVKpYFh(hy4r77U;1;VT8|5cA$jV3bag<0G}cx zG*@6HR9dW|cmHAXJnXFONNwI0K>PITJ7g%s=h)bPG zk1=6xiVY34fr_D4z#!ArbyG^^;Bo`qG1xxIkN{3AeY-dqpxG>8CU#ZhJYsJ2gg9O} zh%<9YPAW{>EfC^TM=U)l4h|;N?M%Yl$`&Qk+vuf?3yLSyQ$*G&>oAtdbR{|kjFk&J z0m&NsH@NXpX0nu<0(D>50KRPyT*xzT$>3kv@KbnAF!sPG!h-l$SDYvKCPZ^Ej$kclwWZy^V7Cx~wqe@irkcrsaEblc__#iRB8G0p<}0L(Q@mIGhc{%T zbHt>S<_wnk0J^?ixCY^8cw9xBb!eCJj#i>ZCte&gD!Xa~Wb99J>Y z?@pP%&fgFOO)(M!-R&QKk!_}@hAv^QV5{XPM5-??XBoWJ67LJ?G?M_hW4)oXHq>tQ z@S2h605GGgn;le8ZEpNb{lQ@$xB0jUBrXwt1xWnw>6p_!Ap`fJo=~6W{A^UxgEi0R zQcrB$xloDdq7fKYO6Z>P)OLy$5*=+3pXKxD-AN*vDjWKK2jU3o<_%2GHQ=dM*NP=k`0I|hj(ts{bvSm2)V#eOtvtWL=si>7I@7oEe3w+*#T1^C_@e4fpSmb7fPGU7MQx@% z1n>KaFR!Xw43I=VPtp^R)!BJ8*+@~o%?lQ9wRvKOi_131DyXmjFx{%W{3;52zX}_q zcDb#<&6r|)5T>V9wLS3l;2~9;R@{exJm;4Q17me)9#w$SzGCd#^7Ulj?aU@FBh;f=0L*`Chy4KkwvrXJ# zA0A(y~rt>P_-{%|w>fKp&d>lT>r{md+D7bdX=aUd)12+(BHq}&wW^ghp-QpSZh>eh~} zXOcUaDeeU1a-n%Y|2Q`)5pSH&KTZ2VH!hjAYM;=?^i)FYll1f}r9w|rl5WwKqem9%C&zgFlEqW-Dp%@yGn|TrY7dtvFsA z9U=Zfj7TR83tSa-pOysWYh_p~YcT*65t~tDIQgo7ZBZ!gpzjZNy$byM3lhVQP4;KpHzbrhqcuAMO3+?hPg zS_e4Evb3tI%bvk80`c)gC&32sMH$SfXGoacYRXv737Ha1=2wbmQ<_yn$6QO3_)yk1 zLf>OiweE7_pK-NN97w$deQ=7>7#}Q$x__>1tNNCHWja(q0X0nRl`$$#53+~|$~?+B zj`Hp1b_e2q_oF+=pr_vlZ*cetY!#a>18>%AvwJQ2BoQxU#W`xb<)V`x8Nom$+DwCL zMEZE~uMy&=C!}fj_Z$+@+E8U4NM~4Qx!C;X$)!nDZ6tbvD*o|jAg%dqd?3oeUg)1#3%1w}+51}`Zn4|rbk1B=h3I_eU0rJW0jJ=}s=h)} zg9WG{DN4N?^!5nJ%L?~L`XfUV#ToAQPsD}J(%bKfm%MHU}?(jhpr4o1xRmW<5!)82dVL3f#!c;V$Ttx*Z z1DrGMA%3?Et#Cc=dSYKs3HL<#+Mr$VfmIg3VQG2}-qacT%(* z=1w;1J}^>4HFUtX@<3GT=mw6|^N)KO$No*or@D?sdqm3_re?Rpx;4wVF``OS(D{UNS*mp!j@{rShr8Dc-|p^8!NKIV z`L})|{ITqL-nX{n#l(ouR9~gB483nFbxdcR6y$yM{1=V-W5TW*Z;RaCFQhB~IgJ~K zO234BpVG*+(7OeDYmy4(QF){i-5Hj`CVvXiKTb(*oM`&e`{b|(rM*WzKngJlJri%V zAJ7+;Q#BkIJQ_v2c#??jgpJ1lUVe?E5M-IeJ;U5=z>(e(?h|jMvHR1<%lAOsj(!s^}~n*tN2^2cw{{)V}|YROT~-qsetvY-V3jgj_?D$fWt6}fIll^ z{qEY>^pdgpongu!T3d2ka=_FAw*gNckPe!sdOs3Ta(tD-FH&IT-Zrr$<_(E_`W2)5-STU6LGO-gR1@eIa zHSIx>_rat?cu!e?k_O$ueWua}`884g8tMk#Hlg;a09z!O`X+3}`RM%BwLvaNf?zwy z8}wQX$?@M@-2lF8_A7!dB_J)MG9&==Dd!R zQbUp@v2V-pOe9W}RQ1!4&XvOz?g4WQxaOFPDhN!LoJui~*~j%Rt~4An*s4%W97DfesVq?cwBt7@Tb z@MyT+UE*{T_G*>BjFEOAkDbgxZyRVNgp*?ZYwf(zY^;S1&Z$$tpNCxSBZuZ;{FFQcIzW)S3QTaN|ld z;!6^8V8w6OL_kAkc_$gLlWOICH4~jxEhgz;dUOGD1_sF8b9KS{Rv>oHfo0`$dksO`6n6GOsmZ+}d@JrAL&c6Ylg7#k*%uR=r3}iuxR+jsxXFpuan;O; z2|C%y_f8#+)i4mw&0v@QmP`0yVsk)^nIVRdztAM!~~b@Nf*-i)jD$22ozv00O*!0TL}b;kOO5m!43xv4g*}z$6CB1)*Z>~7WLYZxvJs=l`b(muP;I|IIuCbWN zCx$WhuY5HiEEtgIHm9UV)c*zPjJVd*Te4UP>aVpI!)alr6;!laG_ux32-l>A12LfV zcdt(bsf~iNYkzEoGN_n^)qV|{`mngh@{j_;$TFTwQVdPT^t9~N_=324TZTaRun}|Z zz0U7VN}1piiU$vxJ(qgZDib1KxJ{+57WYvfGsb;1b>}aGNTJec-lM@c80qB^|RVUFiQS31?fGyZTrBj8ZHqGHYFuYKBQ!bD`NjS?Cseg z`j%-UkqBA-{ot%~Lb|oG+8OwwZY$6bEn6`?pE_fqw%1Snfowr7N5ri0nPN|kG?{@(9o+%0HCph()v)fT1=9{bIkO`D5r3U*~B z8hgQ8Z5h)o*v-hah4TFi67?QY4LYxAY+Y-z-Xmm#T%gbepQ(cNHHAycw`xs&rkzRe z$V?f$>nsX+5q%V_6ya!+kPEYxxLgSr(-gnIV6DRF&uG+2bJ#Riw1@_e1+8za15r7i zf?V2btsq_wAVCKJdVG{9{rzgc5GpYgVr#wPl5{QilEMN_WT_2yhby7LHvR7pX$%v*l5S+wov2XNT1-xOuP>n)T7o}J* z0YDz$*C?l9e*@%CK+2oxT8Kybkb=9n>*-&~UyIZz*vs!3ZswEN^^BLfGMmF`@p}04 zBWD=Ucu5=JYkst@wI)_b z5fkzpkULcrI@s~ztfYV3k~DlU9(wgiMQsOo$E~qVdP{ibil&3b*X8Fj*oeV3k*MkN z)40loo7a!iaP#AEvvt)%j|$oD`}G|TZGDiU1K0x8&tF&gnwGUG^^tvH00(`&A&OnR zso7@4L;Snb+(6Q_JoRsDp)LD8BNb#tUtXjzJL1dpve!N>z#|MV8XwP11wx-|93PuJ zs&6m=(7Mt7u`;@pso-ScB)aCWSnYS_7>BGH4T|pJHu_WkT^Fx$hz_g+er+m9C~R6v zY%(i|B-VY$bRfBnia@k;<39ft4Mg*EU82)oWH!76m|r+fW}djqWe@6Vu-qd(`~qN4 zdluTOn3h2yU;5h3$|sOV|E=S{GkpwgtrL)J(@Fpzn3%g<)emlc6=y_e_Crao64{+S z`Mj|qu5!F6Pfr-M9rSo>$p-(`iPsjVypLdt5!*Z1Y;So-(^Ef@Kmxt8uQZ&O zMO%pGGEZEg`jgS}x~M4vrl^ zfRXQdI`VX$w@PWZz5u3+TJ~Rg6U^&F8vqtwX01h;P$W%{V+1>JK#tR5iuApnB~@Z9 zI0Sx#+l$BFOao=1eFHzEoT(ptHy8p@(rq-Pv-k6$acUFD7BU6ZO%c*2$g8MsXiK%M zfObdp!~EsqZ@%mGjzzwdzpVA!*VIjqjX9m!*!jwZ(Sm!Aek2^9G2qF%-mPUQR{ zfX4cd=iQClz^MljMXpWN`K|kPIj1>U@T;uS8zcAG4<>&$A>}G(={HcFC4wF98Bkw<;4IH%oL%!NLLxCN$PMFnv=kVHb)JoE`?2ujRsN|SCihh zFul;x?;$3Cf2+!0;PzG^1EdhpQ+|{sj#`w=#>AeBNi7k$JhmEz-%B3V5UCsRf1Eg-DOf#Y`cpO#L6@p!u@3BWpV= zASz(|jU*FN1I)(8iUDM;b>7*pC@Es>O@dW@vn!N}N@Pf^Yhy0cCUf_ncb^!juxZ@z zIigWW!zrxhWQHzn5|N{c1fPE5uDmAAY&*$Djcr)^4Jctcs6=s_V*8wk-DN3I%h+*( z@(LL6xK0-E?K=2wY6Db?9Kduw9>Sb{|1iil{<_Fic7mjc%gGy18}=(h?YP9vZgO&e z64vX+A*d2-!`L|h|Fm z65;a0vZdYMli?H|sFr9e|1Xt`qUYnfkP{@#|Q-pEtKJ=XF} z3I|#Jlr#}1gw%MzEtP;=dv(3@(#4h3c{GBgwD)LQ&iLt0x7nwcU~TIsxV5S5-`Yd$ z@<0Hx_?Cz|a04=GqN^c6@COSZI+eX>GnG_1^epoy0h6=YkvtA?IFy{pE=tE^sM+zy z+q%&2Zhv%Z36%z9>k#QNzkgp!+;qEQj0VWW&qiWkr5?g-yNy-6s!YJ+8eyk>Y)RA- zBsU#AOblnkdEMSsXkW+VOO}vqAce*C0BUF3GBCC=F^F+)Go*VQ*L0DEl^dV0@YkEk zb*nfh;Og9pMU>+I+m1n}jP?Ix0f62`aCxz&7D;_3OFYy{7kdn*q)b24$1wwVV92u+ zS*HH;{yuIbZ+Jx{?fd!*(}o$>hC_R)t85^S@?_V@5|Sw8{)6 zE1Zv%3fPVUB*^ZJiFOQ+fOfRa+v|=wUy}HBTNQqd<2xBa#f5jHlwSf>zEDW)k6j`O z#8RpgE*k`$?w$yxnVviTts|v*Vq)Op^QHkwK1!=H-J%?W8`CuQQo7WyITK(8!T>0c{v|y)CO@lKYYgS% zWW!ClV1SwOMyjYusl8NoQF$_5Ek8L>H`h`!zo&B0q?^w1_wVW0(rn{tRq@H9D1HKDTVd)s#2?GLC?_#s581e2OJ507$C;&6B z0yMtxJMpJ*R4K-~43PIvC3e5E?KO#s+|Np3%sqqt$>yxyb&=$nJU-up&>>aSp#P9z z+Wg9(X%m}dq?}PG1dn|iGr@J~?$i9Bq5zC8ge%9>(>nFYD8kP9$*5`@+=uk z3BdLPwj3PLcIzOb&s1R!A=yD6bDi~l#+gp8*9gsq{1pM1OGmb+3U%yq3^Z;sb{spu zv_1~XG`ecq15F7Gwih-Rhs97S)0u$xmJ%>staGd_()Oj2fc7V8X318Oh7$1F`B%e0 zSGY$fqN)rk$+ObWGr1IzHelD$R(v(UR%YWba>^O6E5T36t}2ocCQy|^c9>Axgs9vm z!cmh1%jr?so?P)9z?@_#SRwl%Cu%H#{qFAXve{bNV|=3BU93o}oTBK#J`DIfDGg`T zKIbR5<5hpg>@S~`(p^n{d|NVgt%HK$v1!n+(zUkYcX#sFu*GC;CX2c?@6s!v3QtebTFk zf4?uxOnY-Nw{2tw%hgl%LQK0r@IR zmYc6CAR@5>#%CVB(gQU#>dCkFrly0NajHu9QG`( zFaf@`S&u!rsD@4o-HoesOrKZfGYLk2Z?%6*54FKFMJkAxNL%QfH#_sdHFp_q>M^%| zK;AuJ*gseCMJ6O<33lGU8(XfX^SXY>5)M+({7Y^g)VT&N*Z8Ua^+ZXWo=yB?qd6*U z1@n;ikGBblx-hTuoIh5c$c%yB?Af1z-L<78T|krnzkQh=O`?O0f)2iIMo0%%wkGJ} zzsXirEU0xQCRCtMP40@=o#Y4Ii4mF7fkliRp!tr3J$V@5 zlwm^#q7${Ms7TJJZ3Nhbbr(lAO}{|Gn5<(9r7}i%mxCNp+N&@*!=ryikD@^gYo9d2 zA!>?G_5nJ3Kxj0Qr#8@>(oW1I3TKS5fLmAznQ7@wikwR<)kLb}>usyA9aVBw^@?F? zN$lL2yXyppNVW?FLB1E{_&^sx9X)WXS=)fr_8Ka=0(SM z(6CbNrxH<|WTxB7{C<-G=mgo8m#70>0-G3-)AVUP%JA|4~sL~GR0foUcUQ%0I z!g(x3&hkwi^4Ry-&h;>05p5Q2Qf*?Ku*2oYLFkw7eBoi{0(hhAg&P@w)Z0#)9>==) z4A-Whf6Mb=QP9<086}0nv+1Y7R!iT0NG673> zic1a?*ko?vC3k#zG1)>abZ{`k5Zjig+8*+LJDG^%)gO_t!x+hJdW;(BtygA`TAx|% zw+LZ7Z!1^a)C%C>5NLu`VR&cl{Tpulk_;iK0&<=Q;!zLMQDu)UmKiq*zy|o_bTF>kE5pJJ97j|F)?GI2ChVZXBuV*8iws?GdhiQxDjrn^ z>g)}?gP01&!i2q~<@vDN5Abu^%1P76>$^v|qHsFxO0`!Zr}ov1AFFkIsfFBkFow>< zK5M#lImjj=5;`mSO2#KgRGA&k$AGt`VD_=;!ldZ(7-N?3F^3_|CiV1m#45j{VI8T2 z99SZd_HwwZVtsFQbA&GJ$Kk*xq^*XCkj@Myev3+P1=CSVO{!E)iOm3ULkfZU2FI88_O*qQ}XN;%W)|W!a+N<1Z*! z??yzvXZNSAq%XP1GgsVbk(bBx7o;UN4Ym67YBa^$^1delS!CR@fAKor>EJX=%1Sad zKng~w!oE#1B}*kTxpB8`#}ed|Q#35UAM)2n2Hb&$4+4`MlN}7vX>Xu>`LSmUq+Ajs zM<49kmaHjA0vD6A43%d`-WW-u%3`T|1Al%u#%Ze;9@d5W!sfXPLO{1Z%#(IWVW9yt zKtM58 z1v{pho|aD?6DmWo+Lfyjrs5p59i8&0($~9r9A#?i1sIg}vct{R&mFwI@!_L5o|s-#b)d#`dlckb_n4x+I3nor^-YKN2{{2xY`gFq(*l9f)>5P5SLk~76@|3az&)QRag?< zPafnV?aZ`@AU!L1Q6_x-7MqQl!I{#uU)Vmng3eq1Y&19<>2GyDhA#8tFyxEk7i5}T zS2bl2iIL;Vnoerj%&>5L{pd()Hp!BkW&V0x-X75MD=s}o;xS_V+WLl~MkOp=WPGaT z=Mg?gqwcefwg+HbZFl1+r~ExyTxxy_i3szo@?bQc`B)`$r45hzh9UHwUC1V$y%8JV z-#ewAh@NZETRcpu1e%MTI0YE*S9NfL-4oaIL#u>~_#|9gWSlU*n!2Mx&5NLY{E^ca zb9pU*0Frg+{ebNbyzHpp4FOK`LG1nWP^hw57%EgOKQ)gfPpyfuua?oVAk@(ALOgG_ z>%Lv=>&^;ow1e1jn8v;lFB>Tun|u(W6cz90Qstc$YSA}ia!jHv4&+T5^G+TjP<+cbuoVTp!EL3jnk~m$pqv0hzEt7 z=kIgH6KIoDP%m+YXby>=tk)r2=SsVJrZbx#zvT~5-crjSgr1ibSWLWj0DW5aPg>zU zulf{+y*t(PEZeu44$ke8wEG66K4twurg%E%LuYay2L;=od|8$LCCSk_^R=g9%%#$6 z+jkjk=#e-1PQ9T~CxajrTx~tc8G6RD)ex|))YOXmvFu23$x@Xr!qv5m2CJ_Yx0$eZ z&gi&rAYZBfNbqaQTK17tJAJrG$Xf(l@cu3p4RCEQD+?%!Bfo7Oqnk6siamXd1xAhd zmLC!aONbnvJ1RWaIBDFuVqu9H(y0@E?-L~BQ%6Ob8xHMayM*5c(bg?t_HuLP_QG>S z5==CZ63pu1TuSTR4w4n6Y-x7r9bGS-Don*r^&@0xYrlb$Tt8E}7P?)_VAsc5FhtOF zGqZ|G4poCYC=HXm?raS#~jTdRXft_ERF3q+iE zt|@VidVh_LLe$vJA~)T;22VkcFSp0OM~#p=Ny&l`{&y{YUuenUYJo2Djd)OKfM7?- zpHYn}{&cjTlx$(m$Y^xh!8;qjZ#rF4TVl#z_$D-m$8t<=^f(k2}@OqULu;*A9y)-Z!kltx|-Rb%E&;dv6yc>JrEh)C{(#t_c!q< zqtot;wGBl8^{D;(xt97_Ip*q01Of}5okMMmLCWXrEt)u+S3 zS^I#rA2xlBOTwCyRIqoyMYaT*v)Lxqp@6gYqv8s#SKO1WBn9s~^CJ);BF3geI*RT@?W$O;Ip zdkSupFq5%--7M`eZ))&ibHHUeH)9;|fa5NG=$ol~`l-V+QST-Sr{NCz`p2*=YYJO9 zjVpEMA~T?~m4DolzUMHZGR0F#te zGpE|19;|&IB15!0%l6!FrkqkLvUrqv8b~S_*At9KEHa(HwYV5%tGExtVA`8KJKEOq zhDvTVSmW}??1cSrx+;T(zhM6LQOT?W`WQ%$@%2S_iAosGkPMJ?}!!kFkbX~d1Znw(g#kSEH&ut zNJ+6i?e*-g?Gmk82*^pPzaL%EFpp$ISXoBeXWp^+)b)w_1R3}f3GbSS7;6G;*yj~$ zu;7FI98~iB3#QGM2wDg(wXHxeA$2Vb$Gfn>uoR3?X&Y#TLWaL_NhmVeUqj=QlwPMz z{U5TvDk!fe*cOMN!5xAHcXxMpx8UyX1lQmm+=9D%aCi6M?hbeJpL6fat;z$bg8KG1 zyQh1t)oXepxX`c7hmuV+_z?r$x-;6k3tJ3?)k;MHJdJ$Qk&fw?E#x0|KG{g{uB};YMHoK=AZ={*itMf8n_FLpc<%FZ@Apb(-R|0L^u%tlP7}g zFCvJUzD@@qq4?B&mVm+FN3G6UD%JrhZJ1|N4b;dcUp#Ub zj@_O5Ex>I1YmH@4TbmDz3K^bJUgsg#R(cN+$nN{PC~~KdmNA`U@60Z)U&02Kw9*}b z+95+4o;;5yWt{fArUfsqdt}#b2?Hx!tE^a56?(&3JL&w63hmfMnYA=(gEM{UR^#>g zQE{X7v1;Swj%imtYkTPK#X5B=U5w5nY`45W(w1M~1PLCsfQa*k{q!-ctAV%V=2=K< zkwGR_R&AlTDwgovWF5hAJpOZsc5XOgO9n2?k1|c=Gw~j)=Qw{kpZvN*j7mf&g{8$B zbgBY%yUqhLq|gBF9uv&v(|y{HTY6XfJ0DqG6Td#)zXXIv1>?4KAyn}^zr;kpY)elV zS-d#q$>5CBRWD+HF*h13b5TTBp*$qTS)o&&1GW$!j$c8rF-ixeJ6s#7bXz5Tn)VOF z5CFK;`n?(>YKEtd8I>gg_d=64{jS?S-A^8B#-b#vjlw|4p^8WCs7u0twx8Uit@M3! z1&^D5{}vignY}B5xXRh4ynK_?3~|wmKpxWeO7v}y@2%(?+W5&)UNITt*~RG9Y^bNL zwvcD>R5W(NGx=?iMsm&LSMUA}vNa!}poTS-tD0%%bL}YHg9f@wQ1g&TSR{&!_oJWe z)|H`wrkDl99Tqq`?*0o4Wjb2p#?nZ7nH7vIeE;x>WLloCl|*=I%nQ#@?U=eY-L4Z; z6uno=jq8i$6Sw^hgbBmSl8r)x?lu(VP!bS<_?Y>Zh%kFX?mWq+-(`-JBE#_`v&ZXd z!lUGk#)lbzjZ$NfNKRXpv?o}L!<-a84UzFd>&M4^jcvE!mk^tt7&X&(W9R_?asz>H z$$7Q7^u5Jwtrp5DU5g?F8H21l@2LmjUt!jl#YDrzcdy2`Don(MkeYQ}wB|5=x>urF z4Ek`I(M-6=-Ib1i;uxd5>c4yXdm;o0l1lZ58%2!colr6R{Yr(ufl%y%;qwK%e*EPA zpjwWqqu!oFDVb6jHf6yAQ(J}$YLj$JqFh;IPbilxGHeNXT{|~xZFQl&SFYDj+`QKv zJTS&W!J$B#d3AEV){oQF?dC;z+~4S0b`FsCuH#YvC7tN8tlCq~UiB1%N#^P&WjB zCrMfRg$(JyNYRzn*js>S>KEREq-q6v>62w_FCc2hb2weVZwPMSwR*vz${ZfABu%@B z&kogGp1nsfQO9m>uiB_%Ez~pdBiW{QsV2V=NhO#RerIqk6HGsaq>s5MW#C(NKAN`Y zt4dY{SS*;DFC2(wavbTG1~u`FH0Y@#lMq&?p0Z%8xVl%>lR5XZTVf{8cz|B)>Z~j; z5p}TC(lAfI;CcPLs5#F{W*Hw9*x8b|cP}Dli70hpS}^mI{$*g(&%`$0`FRqll&ofTP=cMf4P;is&lE zv*Nnt2B{tsYsf`VL$iYMg{=@w+|RaEs_E9m#&)_F;E=tW&%vr%Qp~2!EqkePL$}ynS^$> z0|qO(5XIs^gyADCkYn{)>X}}!oCq8APP-dkOhO&wiDk|K#A1Q!I;P#&>EC~gj4!8K z;STRwXoCL87+&f}P_KtH31k>H3%~{Xi`u(F8oH2Q-eo<@9ILDw^n!Jh4~3G-qM+i) zGAyy`yZlL{4VE=6%F|SZ7GrVR{yQETrSB4g!GCVH(nx*i_>x7x6E+r{^Veyw2fh7g z$FhqVCRazyebVYKAlqQ<%Si-SCGrLQg`rTzz==^XHRI^;wAcpnRMhhcsqJ35=7a6% zYq2@KT@ZquPzF-&iCZvkLH9S(0t@r|K0X#t-YiS*?fF_*e9NS8`4*KV?3;=z!g5eCy%&QEy+SdT&y&K(gbBTUM^~|Y#zks#@J_{FbsPK8+lQ+bb1@>c<-Iwl|$T*fiI#8IQ zN}n5`e4R*SpmElr~FSEP}#2qs5R-RxbeO-HO) zr;kh!^`di)YzAM=jw2{=vO*l%1{}Dz*?fIo?Q2{ZT_xzFX+~x4JN!TTCAj$MSg@nd8sUp z5ytAW2P;WR{fA4{ zyhcfc8OFXt{JhrlIKNc9*676WnSK569;-%b zo9C-fLI6QhD(jrRDY2$zNLZb{ExOJI1h%9?Bb2+lV1Ar| zayxEUQ)cYejckg<>>+_o9U!zE^dQ`Hfn86U**hY`KY%{)1*4VbP%s(ZX}ao$7n$zc zcLs=hb8ODt1(fr9r5wjBL|L5;2*gUo9%o4thxQ@eyazmB>v?hLH@uE4ZKJ`c=c68V zZDGmkoN2zPMXpKT=F#`)>*i=dW9_NmVg$1sRsSIrfy^UpN+4RDZMk7cdLwk}-Vj)* z1M$;&{3#j`xisYl-heOldy39Nwat_1W`OJk|wB`Li5mscaS({8@NEH zX2>WtBXzb-%TBBi03wfV={6BEt-rRdOd9*5A66U7W1IW`D!GL(#X!INW?NYSFg zZ>dhMh`{mtg9BIo*)lD9qfq5bGFN0YSd9n6##kNQ*qc z$s?CkGTHLVfmXl>18W4?9InNC$UL})c!#cs#tU%YqN${p@TVWt}MfZH`WwIb|LO#?AV?qp@oBlYBIFMKo( zqXW124r)bi&ZBfRNukcXS)6E+#u6>pax{qsE}6#uPKiCzNZOE$cBdR$Cn8j2pdb>& zroYIdEScEIP*`7R(bx-?Ncq72f&_!(AfF3g@ksBX<3{E*OAPUk!lg&_$D=jhVDn{%_?TUVd~ zi~%y-jL}>sCko@0smpbyeN#nAoF2f4dg#j8x%uDs4S4?DQxN~x3*fZT^0X>NzrJDD z-OzCDtBS_KC60`d)k!)~NX|dWDU*R?f^EK)?s4(WZu_h1Sn5j0Ju^DAnkiM0E4`;? zv9}o=spKC-Jm^gS3JRed&Z#djpesYQuMF7-o`k7ze?i{`Ahtl}pwCBYd3H+QWCN1A zDYm$(F(p8#Kq~wpYia1mPFjhb6x+jPVvNt`8?4(KOdthal|Qx)o;t+!bu~JgaoM>-$d+a=7>n| zicWBJA$B3HOiiPL;>rwsM)@FyY2trBC(dA)YG{{Kd%QaAKg=W-$v4NgU&4mTB^;3x zLR=7p)XwYw%T`nfTz27%__A?O-N0gEpD+?-yDf!K+}kieHg#;ldjozDiZ9c%kqhxxxH3Vkv}oUGr8yO386fb0Ed>@ay#trvhQbK6(!p(ji!}O_yme`_*)>;qKY2CzXstZ*d|Hz_* zLUS;Ph~6{m?VeFVhQ^3+9~z-C=51tQrc7jtIrXHw-s7sV!@+w)fTI5iB@D|$CwL_e z2*T?z{V&E?K#L@IdKj2LmfWu=TTQLX5DBs}_Wj0)osgl!@3TSimS%66)RY@1od(t- zCb{kY*WvqVhQJ5TTiS+cYfT^JS3tO)w(DU$=3K1>V0KHJ_c|AR*)#Q<;~ORx-B59O zJIJV)(32;FEi|;<_v?X(S?`$!3_|B&zlFAM8t#Tfk>Hq-dT>3`S2H`r%vKKI&EP72 zulsuOq_~OK6kqJ)O*qM7ogl$j{i&XYoh9N`Kw%&!hHKZTCJmef!y1tl>RpdznM3(Xj6=i|uX+{W9;`iP4w{ zfk15W!zh#HlMvJvNPvxTNsKQI>C1Jdqx2@ZT%-QRejo5)aES-~wvSDxAXxKBQ33TP zvjcT-#z7WfP(FeW_HK=ZN@)lBqFvbq0}m=#R&v3}Nx$U&r}HISlO=6Pfsv`-osIeN z?`2_=xq4sVGXq=m`K81zKr-bDyYQW)g$5tLUu+LmG5oXZ*ISz+73i&zi!6)#i z1zh*wH8QCsA}e9l(AJUz?jMkasSnh~jx?B{=wPFSfi<}5*6&8qOx_&de=08@u&SlG znB3#J3y`Mp!TISQL-B^nWDm-bDyz2RW59PwR1I+$O)MAhpAY2T{U@+bo!B1GrRU(+ z6VgB$;>m{Ss4uPQ1Ck4(IFx8({m;J0$RtdcW=;KV6inCxy{@Cf!6^DJzxK#agh=Cr z0jr4}R6e+{|0nRSS)H7cPWeE+Z+&(I7!L7!ixI=pIRMk4n(4dbbae@W26yi&ba#7V z4G9XG@SGODtlyG&gqHLHm)z&}e$k3~!kKV;-3K3d^MQ?)E7BczjI!AiJK!R7s@4av z(TTg+1-DMSA9D5v-&`%b@2-#F9qO ziE7JzAMWM8ZHYp5wky=lL08kIR}=bp8HP}{0iE#|*|>(U?KF_nQ(1So?zEu?Rrz6& zS^_aUVCKnByigoLGh=TYDWsA(q@&l-)-ja9GY3~eX`Q5!xB)e_G{vTFg24GM&<)TM zCDF%AegKh{G(4NBzdH@X{+pBj6(85d2d0dAG#uq0Oqsl(Sg>?XF3cDHMT<(?eP*tc z&}Ebbs7K4pFJ|Fj!j+Fam>6tR#+ldXsPG3JfGoLnX0Th%66)n1AgpR6p3d%xZ;e;g zY}#>79~8V5T*IJxHJRx8`R!Y0w@=|>a%(%#nW5NnglPxKYc0^vXe{(c;~H5&3gla;r^4!sl|mXYut~3`bjdl*EFH9?*E80?Cy&D)g_8HO9XTgIK$$`DrBEM4 zwkQ+`9-%IUkQoq+H7AC6_6gD4sPOIK$$mN@6h3)@PN8W~j$WU5bRZg;(siz%#ZK0U z)MK-yrjs+aM$>M(_&MnBz*oEvXT0)weu-y(U%hvx7jzZY{5>GDqo|fszo%>>xX+n_ z#Jg;k^J;DQ=N8%gP75)F@Gp>uofr?QnHuu^?%tyu2}M=ge%Q~xwVN}eg_hoINQK9h zLpQlfEvu~i8mNh6&?3FThx!J+!=Ve3enkVp*5UV@xIAWbPG!vd7piiko3b}XV1Wazm}9hAga zlP~Vc3AixcD1eLNhap4teW}rpfX-SPa?^KjrT7A03L&E?Qc3-hT0F(Wsx8Pz*Cu{y zBoqJgB_c~^YfTS{zBdTJ5O&*lktYQ`L}5*R?59%_fLQQ4?dn%LmwKllnea9;DWfkz zEB+88&ZxBc0e}RNB9R^Iv$2o#_t*ed=pR;kfwUyDOsoomPcb zWZH9D9vOqcC};i!1i)>d;oCxjgR7$foMi3(^-o=g)Y!Labo;6N?8+mP{N(9yFbEQ) zmS!}b)J7B;bNoqO#~8ovgV8X~MJ5qA4;w(2Hi$0iunpWw7gy~bWIZt9RDH8nYIfhm z!kk+lylhk{R0NPS&t6AhGWY$5C-m_X2Tyal|SO&3CCw|ik)be6BY#}oSSGkyD$IiT7Z(sz67en zkCrP?T!DDlVnE8+yETA>a=Cqei*{ll(`3IiZH`_&yVb<01)Ki+t*u7ftlQe-%aTpH zdPA}JTLkCD+6{13xxcJkUyzZ3ZsQg>EI*|7CiG(Cloz4|$^**mlZiUanPqameo+n^ zX<49JT)8BM6D7RLqI)7ZXc1i4i9l1Uk!rM$X90m~S@!+r7nWTW?`~X&ajm6}4nV?@1~H zGG&2UcI(3%)~hp+%Lgr2u_3>NZlpUE@U!(DU{kRL0==gpIgU3O+#}S-&FkXT z5L*_Vs7ik;;j4*(?y{x*A^BrR z05Kb#9au%HeI>rH)>W|E1z@AYoM43rEXLYW49|vQ%~8UpCQY=s@<4P!YiEeg!nrX_ zKw8FZL<01)Pq@|0k+`#H7!5R>hLGL`TQ1gq5YHXLwsi%0sn@Re1D34W7o#`ewzuo zxomN4L0Cfu24Dz~Cpwla#3JG>x>VKBDSO$G7G92WbVDjXySCw1RB8qTZ5(L~S?1Fdv>yKilvve9de}=qfa*O>3 z7$CTxBCWRh2(Ocd=t;yWcJ0A%G_Yoe)|8?FEPT3quciU5PQbywI$cYAF(0*uno32Ie}KBO=ERq`zR?7;QR!n`t( zQ=@ET6q-QK!iCUwe%cF&2GmGZ21d4hTj@WsHO)vT3K2G|??-YLdn$yb>;_c*rcC_n zLW!Ah;6X<-y)mx^k`1#kbygwm&I3kdVOgvL1Qc!o;KJZNXn$M#`_sZ?b`^L*C<+rT zHyK6-suL|`yb5jOlpPtb>bdd{;qZkUWEguG*l7o$3H-)hVL^ZU9WXyu0inzK1th%- zyu*}t#ha5jz!xrtDbEAl7jG#?0GN>THJd;_R+iU%cP&Jp``z;L1Wt+#@;hAwx2UGh zCsP$tnq6!bS_3$Wo#XmbxwnN1C}An3Vtn4hh+ zig;t8TNz^$Pf{;ON#hD+!Q87R<+?>PXGuGfT!Yb^z|M2^Na*)*DSv?g%dh+Hj=-Pw z93GqQ{Ws%olf{(-vN!h^mY%+Ex}hxf&FC+&<@5Z7QbjXT!!}Qtbm&Dag=ys2be~VX zFgHBc+iiz?#^qy~C?hR(+k8*LSc()uR;up$Tvx`1s`s%&-Z(miux;FJ^=B&o%#e>DsS|s7Rzl)~U$cB95LggnUwB1y@rDh0A z>FZ(3)L(^#&~mfUaa#C4oMExh^nJIJ_tx{=hAWmhB{CLUOCXZ*sb02p)0ERH)s@|7 zla#lARwCt@90>+_Fjq4)Z8g6Gd4VRzh;2Dt4mKkI1|Gf#Y)Ai?s$6eOv*)Q`r@AEqNxVRfK0 zHUna^g$E}c`AX%$`GmJ77_piVTBN9<>VMGH;3(y&t z`oo4UPc9D#zeP?-6IB~%XYoODaO@A%(V>g30eW!pUxuDP?iuR>J8yEf8Fu?AfiET{ zVGWc2D!#3`k8@q&~oi^<(KZs~Nc ze=fQOT9ui}e;?iY_>!p!_4WZ0I}P%;V4xZZe`fnH0PYH0_Z*;sdg!1o0mE3LS3YDPz^=|=|u8`{Sq@zrrilFY$ zUQYkck%2JqY`rsfUZ0+$)~3Heg^9o%W~|PkEFkB3$;^WDc3!?@`~ne3+&5r_o96lh zCjm$P2T;QY5D$Wx`7(oA=SR0)X=sED10fnC$O`RnzoCht zs}U5M08LBX$l@yT1b9h%pMTwzcQyX5E?_vNJ;m0xqsg-5yfMVI@?CX{c4f`ST5gxR zC$Fv!AR0B$WM5*#4ykyabh&uuTe`!ZJ4eth;&nQ#@)BxJDF6&*_blaWxL@{~=LO3? z-Kr!fQN|)?$bfmb{Ymf>k{8LMc3^%4ELbZ|7lkKF89Z8G67n$GUoENU;*UIj- zBl$)Fu+Y2expw;*3T5ugoI^?9E!*soW`kK=Ll-(4gKN^qNrSs*o4_~sLO`mj(()CZ z>ihP7vH4*nyon&{*&~^30{k8DsXu8(KRaUQi07ZcwX#x|Q9TX(($`FUB52_HtdW|f z+*+LX0Ph)^nl*rKlLDhbdoy%3^h4XdrUK$;GLMnB!<8)$(DDbm_0+#re~-Dclubo- zzXW``vP@EvKf8wm3;2SgSZ&XIn7uDT7LhEe!^!ks+@ZWF&0+(3qyLL=7 zex!hIy<27Lhu+fJh9(R9-t?-8S&N7|4AI5s3;1h()yeZyFpMhqp$Lt zM@E|3+y zOa7IZ-A^B~0Fc2f@q?n>)zg7xha!Jne3ySJdz1T3ZWdNHxY`}vf3MXB4daCheN|CI(&OL!q{}s1RxQww@mnSDIoIlPzYwCt6mlxE< z_N-|(m_7Ruo!zPDPjEwMg8mO;V-s4>=DV-GLI%ze3rs;vwcuZ9~a_9feT_~L%^(>dEXmSh*G*^32{~pIYB{$xIa~6-B;_ zGwp4mty!;Q0h`pP?5=-ij;V_t+CNEMjj979TBItt`!TGx1f_SqpzX8t16fu?Km~-` z_WYZ0wqRLA#pRz9(N!s%el(i^0pK05AFVixUEqy(%z0TKwgtd0Jhg?>!2m7|4L=)R zZCh(Y@1IvuW$cIzay74$|mgpJ^Qf9n9Gu+SWnz(1NR}!qN($0CVP0z zW5=w!4{gM*DlfnHn`!}S)P3-|(NoeM1TTD^cj@&b()FYplCh2_-a5N$alW*;uf@kG zTtDz6^m#OYf&d}3nZONSGx_OuQ-0aQirm)K*8ATRvY+c)0$@*oGbH*70}+VXJ2Mxr z&;1&qR<-9B`VlHtMR{vQ0K?tg=CxV)u)k4`s3ltmI}S7-U_juK`lY$)(o!W}x$2SS z*pg+gImLx6*{VuM*`?@Lc2hMeR|D47^OiC3`UZ8aI;yKd7+4t##pekg@9+06&i!u0 z-q;DgM5?N*Atz%cpIm*;V$;o-2ns>fb_hc-nQFgv4q=k4o!e(Z;vwjE=C{1qByEE9YrRe}2$@A#~$D*M_0rW8bxex?>+ z^Hw%ig1oxkvnT88O(ef-2Q`1iLSq!Ef&hS6ai07(aDryL?LWW2`dJKM-Mkx}_cQfN z3Xfnv>5_brI(ynV#Ps&KmF5}s+5v8$3_64a1DFuXr)CBCZT^+z>(^9XaOqg-lk#gf$;!4)+BJ({j#IcC<%Kx93!TNmkTZ6I!EgjQYiQefJnLj&z4_* zuMo0G5CdQ!?=0c`MSI$F93agDeKf$QjN$I739K_j6_i`TIg|AZgO0VX#=6s8K9P$D z(I^w(Ta?O3`OZa_PJrt*HC00d6qfu9t0wR4Vut^9Qvvpv_k`7LgDf8!p!)`JHNZpN z1MJHK9`gKOzf7MNj|@#~M0ge1Myg z>*34OzG!_GsXEKagT@lCOh4O?zTywx5x_~E1}rDrJ{u%f!)ILRK_Uj>8;tZ&MwRde z(rf#sopb_V+I4LuKtGJoq+;aSY>^+dusG+(QA7v~yS`40guxWypoMA&&8WUzNceEw zeWUby$8aonRqayQ7v5_NUTrKM883;Z=yeJsy^z#;tWS$-)kZeJBK5Wsx*!8j0VLZW zCjCHP!{yHEb#W?6esXv?gAB09bX9Y;Z++*Vgyj)x_vz(&Gc$~<=b@sjILWCDEKKLW z<%P{Eb2imkcPNL~k^}_JL&b(c=9jgIu71E0x&+WfV4*En7mLcQ7RAdhL?tyq=BkVb z7ky5y?~+GpxV#e{xaQq=o-UVEd{@1)7S~2+0dF^nXlXT*IT>(VsH^n@I44mKtJM#L z#uddyKx73RR|jHJ_(%yOte&pOejZHDf9~|``JS>C_YY!#WWkp+ezGX^71+Q1FPKl) zhbe24?R|g6P}Anzm2!2&KOdV6HCnF^w{2s~bIoPpPBSzk3m3Z;o|JS<#q{%}IIv}> z@-1UAaa_&djWtbcFCbs(#derG$twP&_|(6RqZfa+?R@}C2yg`^ff*Igk6ELmni}ZO zwJ>c`AH!F>XgVvuY1T?Xf>PW=1TzJ&jO#l z`(R(*&r*~~lc$`A-ReVek8xjLv6hU_?#9rttOC?kX@Dweb=()4DPg4>HzfPs#Kspa z)H*qGV|LCCr4#mo-C*RjsA9}kscav5w>iSt7L(k0mfhk|U?r8ut zO`COy2_QyKbOt7=#ie=Ko}>1Hp(z@gSO&Y%+gUCzGAS9$qg2HV0-6wsTkNILDq-YX z=+Doc2m2fFm=umBhR?y#(R>rk@;CF4pIGM>FQ&?p`fC;nh{;f%D!mWRkNGw@Sz{^M zl?Fe4^n%1niG^G3B_)-(SOSdK_V-JAdg{!21^2p6+b2&bmq}8p1aSC!>m#PoNwg0O zz3?{*iN8U%;9s*)vd-?EZ9L z^PX6k*s#`P$m2|zCHv#UL`7CkT(AI^G!Zsj?!GuEji&&gYpBn*fl79VT;DB5-Bda3S9#Rm#`|St)*LIk^gIEC=AQtFzUEN+OgR0~KynO_kN3xa&@$|#)P_HOERj&4X z8WInmf%SS#FS|DIU{W9eKict{Px+j}lqZ>+>_ZEfP5{5+7F-s9NYa|^h|TgQw`NyE zxe#4oIezrj?0G}fxrTnl&JJ=lTD3GzfHicq zisnG!k?6DHlx@UHMw2T}{L#tP(^hEzs#Xu2vAJ>tO4HD-{}G^B%i|uf(RkV@#u0{* zej-$};VBaX%O4Tp#=WPrb(#Pc04O1I`8@*;C!6Qd!#!~HBg7Ur0?@%vp39ksPK)A4 zK7S9tJ-yBsvubA|)G^3B3 z_kh_2NRg2=qeDZf5_vwK^&x_5TXOr8&eJY7G1RTgXsKJuT6@xct!z)gH=+@JwTBQRcQA(I$8jS$Rt%k$Lb zJ4lXS_X4kpfthhvt(R8ES_k-v*g?oFyB9g^r+>gG@jH0n0YQ1U(l9z&`K^jV<;IvU|Ls|IjY`$14L;x zM~bVdWD}Y9^bQ>0%-YpjV>Jr>49+Sv;IY(nHSf%q)=LkSon6i%w924z(sfz$VcP(ydH{9dG58VvvtUWYf9gj2R8Al}GrLQ`fv&g4+ufhwg!VwO zxbl08h`$&MCY78I*!4%PMsJ2?f#w1w62R3=CfvW#xd3+x;OHg{1Htou?$*^z7UyZ` zf)4_tuH{?@{+F_U@M+h31gHvt)Io;CSW%f4f$Fxr`1(>IC?P~3l)Ie*k_mL?kmTyD?!(aR70-daD0Y=d!Q*0&mu^Kq1krkxeBDFqg(61;Pzh^u(7fk z@K}@r4Fv%Y(zHsTpIPwCK~#7{@#Ip`K@+MW|AAfO43QCIlcyXl7u9SFkt>)hH;95v zndpkQ*|W%~f1`WqmMO(8nl;6>w)yDWx_Ex>T(2X|l_Ao#{Kk>tkZjlLldwEX`*E{h zWp}-oOb@49B`WvccGuP3c+4t=Nj;u*cVR5h2Z}SVFyvu0(I0)j8+Zc;2jVu_$CLvx z^-L^?11=i?DG`)h^U^E6kkct`27>jG<=uPLKS23j}bIz1T zp20ty*AaQh+!mW$j*8p@VS)W|GL+qHK|I?ipD)~i=)Lg7T;!ImR|05CO8rt-_Xu`Q z#Cs6*bRKb0{GElD9tV>R6jZ^G0v}LsX=@%#w0+u4zPs+W8J@URmF}ueOc5piIveVn zK4Z2;=dL=!MaQ80|EA=qAFdcKnWy+h@1h4%^%hp}G2KsDyMu1zo4o|j8y0NG&c8%6 z3i}g*%mXJM{7QmF{q;eF(}6z4JfbyEYuuK@5&rBA>#wKy~ISRpLZn2xma)1e9F%TadGt4tj9-EUqt%r)OG8etTOUc#jH+^j3z9SJL zhV?Pro^I09Z=E~s?OJ@xm=9Is#xEB5jMPo*m!hFNEo0Su83eHg?Ech7BakJJALJco zcc$H$pktf7*-qF8cybi#R9)=TH$2(=_9+dnl@0d=4X)hwgw;^$xzjJN(3)1EnpP>= zRKc>0dow@ljY9n#FH+Wy&K; zczveK)F3Q^&V9rEhu@RHN}?Z1uB41&^^Mx-?f;okzk1y{;Pl)tnT^9^cbFBKFv;BA zE}A$S$javFKueNVGc`Vm%jEHjH}msIUNu{rz|`)XVmKC}Y3dIyHY0A!vg0|B*D1iC zyyLJsi@2fJSnO^~JGZMEH>pHg8!YcDD*&-l=|om;l{Hkz7nE6NOWLUOys=uV`rLTK z>cjA)kghhlY(tqJkLTX9J9syEk@+fG>BAs+A< zJKs%cJ>TtjmA|P^&_#A!^MRi*sU$f!lAyat0n2Ola|mg`8z|1=@85i^JNQRXOcEaU zujTKY$oCJvwDV2ZgC0nv+G}8_lxY2q^?)V_PNLP;lBt_qiFP9$iB_zE%bMke{zvDm z!{?)6%@iDtHw@AG@%!0!9-Dr5OB-u)^OiPOpjgm4&vxTi9L*2oMLuyB87^FtJA5DZ zIW>>EYU@_2w+Wc-?spy4`$7uN8pTM2snOV2^U_S6(!xV6c7(1j!HQ%xF?X)~<=V~W zzTV>XC>%nx;IhZ&*a6ot&2hANaszJdNIru1?9>2wCh|SNNv+=8A3`*OX1qxg$Ym zZx%wE$FP0FaSQFjirKj9B>D#}<6_6*5s=Jr4(at;mnYZ3rplz5KduG_`2qFtcBR9c zkQ$Yqbma})4zz^Y;O;!5d+PRgcrtul8Vmz0z`voH2@4%+K1fibF^?*EBN>4#N&| zgTv~_4MTbkA3N=H&tw?4n%zc=JOd#lxb6n;;A5N2n@8sHKc$y*+t{k{79-@D18BQl zn(w=ppmhA+i`>tnFRB;PY0eU%d_mJe%k0nMkP&ZtS@Di7tj?Nm&a)w$!IME={8e&5 zr@k!yy^IYAwW0I1S)qL3Ulx> zw^>4BvItN~;4QdKrrl z`$e~Fj6YEFlEveG#dnwgt}9WK((NZ!viAt#1?8!|L{=NDC^CwUxh-3a1>%J@h$Lly zU}7(rjNaZa|K&+~w2K3ue6pkF8KHCK8NJSHVqvpol)-!0e*f>p^u#9OrIv%@QfV`V z4vI4Blfy;qZTTwm%?ne1op!a12z^>BPbHw4Xe|gmB{Cgp-vZ3|Q;tp&%cYDmF??;rV7Y6bcX1DTq z_781Gn8-uJrdB}Z#G@B;*6iCH3eOO`MY{tjo+zt~6EM>M?E ziB(3OrbhvVSVo5m4Z{1audE|;_G|`34?1NBOZLX#B*`%bQcaX9lxb&tEx{{)Wl@K# zv3cfhiHh^lEXRA(fvtz_C4X*meUZTY@kUlaT7C0ZPWIhZz}GI1+)=YvxYt6x5Px?e z#%SvSd^ss~6|x`Lr+sxBzCu!9!hSd-3qcj1vGLS#aC0tup;RX$8;Xj7(Ek>B;~LuZ z`B^VFbp?gRocO~hh}nE&?2MaJ9dd36q1W-pg=NfncVS~2mB1=qcfUd(@)z^pxQ@?G zY(7c!k%lEONFDqtOwW`W9i;_{9rI-N;h)YA)Q)|A}SL`h{M(N<75d}n06+Cf4=Zhy5qW4}pVADs5qjuY0!#1_f?$O;`?=R1)oFBg^aSFAnYpYy2osbN8 z4``p?rUiQi!@3`3P?{*@z(0y`_oO`seg_r~8Uh*u{OdnLkx4Gzv?eP8UbDM@HKMUK z&r_D(N8k_b1v^5p9gH@E47GO>3;3GilWDx4S^F81h!_*yi#VBGt*d8T+17OKTCt$0 zSc$2cbW5wE((ow+ksQrmij4Y7t8H;9y*jDu|Frhy;ZTKt-(xAVglwa1jV;MC_B~lb zSwg}zp~hAd#=dVA4aQnYh=dSB#aNOk3?d56*momj&%QnP^t;|a-s^p@=bz^}|2T8a zea^Y>bH4ZYvwZJ44t7-vr;sTpGR2c`D?o>x-t}69A_9$6sc?2XCtCC8pA*VLL!Ei? zf;0N_C%}MDAiAxXv`{Pu^ILhQGs-xma%xJ)WlNbN{>7520QC$kmmF!ZbK*(Ua~9Xu zSb^c-UwCk94goA5GPxOI4!xCrZj3ETk&a zdQ)WD(Ixg%ndzR}W#j+@|K-Hj!hm43Mg(U4-gdjfEoIOUd;tA{f!r4Rnw5Ctm0MTz zHp|5+!`9ORa3cG2e#4xBFzUlQWqB$qQ5?2&K}+N%u)^23*^+vL5U%1L8Ac%SzbI)| zJV(}vHaL37Yx`ROpUEw#r;YHoAdk-m9t$C2fAx)4l;8@S`JDNDySYDssDDSE8FfW{%J}0A= zDAQZ_quxK@byU z+wG?pZuHFA!n|WOkJ4K40_)&+l4C?cZ9O zBh=(|349u+I2TS~d7b-Nc$OVH^S?i-DLK65`*tAqiL1G{_#(^1*$K1O4xjm2cCYo) z(}cse;5VK*X61JEwtjBUnu_&BRl3Ihc(g}}LH>IF$SLyPtzsMT6Z4SOsi6R43beX^23K-FHyE2?V3Lz#UIRXpeC}T z|7QQnH005qd{Sa^*Y@dlrNV62%FNMy8 zWq*m#^XuG_!!UTl+9{IApM#EpaLcNjSQ!nmxj+{gvl{yJmXxTCIQn^}I=tL1>O zRh2`NIpye{mMa<=5}?yvy&6;o1|-~!8;_S6096S~Gj_pKU5EJxEcSBg;5PTxc`Vba z8UD5e$)e2wsMgD`9E5>d)%^7P_U`wk);D>XS&3qkoOe#$33P6eia2)xV%cK_t@h{t zhk?ob(Z{3Lwl*Uq0Pdw+HB{F=y0cGQg=C;7rsDQ^yR(MFc8BktkG?*MSMu~)=)1Yo zni0XC!@rFA`YCr(cUlwh28G?-pQ43gKHbA1fdPwk|G2}|e4}@yQvetMibFp;sWuP~ zm~?suM7y#ye7>|ci?zPt3fL@Q0bXmj268cQ-c4Eummn@pWbuL?U|KmYf&W&4%H zndAor)T!As$9Xuk(NI~^lL$EaQ;#wKslEX#GsE?dkU}~vmm=AwHhV6>WY)9fh}e4O zqRZ-GOX%<_>f7;We(D)UxlhwGjQZBjkp%6p0uD5em@B;X%pX$8=y|Ci`3nCP?Z1Vs zmmld*qi;wKFV*kbzn;nqlGqiAv(F5_VLgN56SJ*Hg26`8v8GE zjrHsToNiH8iUMAbO?5adeJCJ{ui|-VuV&)->Z!1OQHB;MGjNU$fo4v!(*S!s|Z27_5 zRSO-wQ)G29kxQ2dyt?=)*z7ec z-^DRLyNjD|5tIFZ>HgX|`Rc|Cgm2lv3&XM?QS#y~H$oAh!4zYE$w4YW*ZV9N_!W@$ z7bp=kLrhwEHaM5v#JSEzHJg@bWNO8n>kCee$Htiw9GTFofw36kh-%_xZYJWqtKE!Z z?oBOTSZ(FSyBFan;D29^JTF9OwrH^~e;Ml@1G8mEeD40K27yEA3fD=XQ#u#4*ibCi zSFH=o>$UY`40|+7)n*=cIC$^fLi<_6&)WY4(>2?3Llfj63sKLbC;JJC=7qoM>cJb$#tjg1GACm)S(dex`8J?@acuMF{d1DaBEahROBaCFOIR^jHIWF;X!#~&n;ZR*WHrs5lL$?r|k{{#c6Kxq{%A0qBAwloRY z#LpsK5mGaLf?VSe%aW9D+#(L>n}&eR^y}2#)Y^r*IwP~IE97OYw10X_imfvO5@{J#;3hblCFmFIbkg%4-_O)E4&HqYn5APh zeay;@$JI3mzFf>wPx{Q{ee)vZ8Q zEC1xI1ruu2?dUkw3oPQc(A;c7@oR_m&)H5+^~m>7wHRO}^ui-=e8#r6R(I#g0~lXA z_w&^gGs?2Pd1h>oEA(mOOECexuaI=yJeJdci+Ud}5$e{z?6TQ{l8VjHVc=BjJRwR-VlnpA$0pyS*WY_(|$F<0&O0f5%Ii2IqmzlnExAdB}nk8PEX?zDOq*b$nvw%;m zXB+!Y%3~c2+V|z?v(XJjvhJGwB}Cax&W|J4kw)SDKHh9O_jez0kQ0P|Tx3V%V~k_T zVufNAK#l>f+P>fXx7HyWb-1(x762#lOi0VCly;ODm%^e=|HRrZW%%&2b|^W0b?21d zx?77ZFAa=-q2VH5O&+FI(=-q*FRH;g!@_N1UlZSvNu0XkR z3J84%3e>5eWk2C!{I1MvKrv5ds~Z_PGCIdS_fmgr6r~h0d*2?p3#0P(LXn)$fBb>6 zYFzB~ECdMv=ce^F{)7S3=d8H+s~JAGamDv=FWhiyZa8Bl;vZ$=elOH&Q(l)KM-07- z8(8*`8ilUM!zrJUnww%MoL|I?8+mjV6bFX<>^ zX!}nL$Hy^CidOLteZ@M9FiLR{_f#6ngP__Mnq1gJV9Gwm{gjFCb7QYA8oNHJ2_r5l zmh^WjIly44yUq&^t2G#oor-#it)At&@ID!vV26 z2yN%) z5k0!lUmrsI--tIevRgKLl>9dtI+60xt0=!Hd<|%^6nhA$Um+O zt(*{{(nwIFnU+n7$OUx%ac^ujkjWqBev6ZcdrjDtM%+{; zS5KXnnNQL4qN(&2VxzlAw^)H3bHmL!<43#>jZr3ij;G$y2dX@OVZc;5K|Uz~Bw%}k zxeKT`;5;-ksM(uchp7h8X?A{gmc}~t*i7&D9B<{R3lKlu1q^_N7h0!KLkWKJZ?R7B z(iu5r{(;6eXOUu%mw+wau{nBRy!WCOB_6i0^$T+@<^Hrk;avBc$bhupl$ua*iod1? zNt3Y;^6}$P8AIqvMH&he^`YxVC>#0F^4_9Y*-JEz?+(rmg|qXSZcDiuRAiLR#KbsR zd!u{RxX>K(&tDzV>YlisdIrqd{ZGrTqxS2{bQG5HUD@*4w!7qI@Uq|qFPn#T(10n` zwBg!Ed;y)~<>Uivty8dL*WpKZKKV7>bad>OZ89=7|Gqhzq!NzHS+y#UHaaPDR}vws z{r@Y446Q>@CZ0&n>YQp4(SDv2fxh^GR8>i;Dz$w-`Rs@uX3qn>h03K~;AhCWOI05e zmOglZK8@9*Qi}Ep2^y+>u=x32>ywMx?Vyk${6jW*@61?EkY{1W%fPZx zC?3m252V5E`$O;V8~1-5i#XUjwmk5>GRaQEF2^TErx5 zF|e%F4sDYa@dbfSfGb3$)uh!Nl*8Zfuh5j`-dLWMFEPrsg1w_RCj>HKOm{y6M5gj+ z!}6f(9f=eLv^2vLHkYz#E|8bApM*evxp0LoY!rA!6RB1VkVkhd-=6>^Uqir7|I;{e zUd5a0#5%1@R5GG3JxAO+#DoF8P-f4(h(4Q|H_XEeUqaR2FC+U2Rb)O%A-wz(mprwE zdbejQPy`ufadJ{9bL@sJzhhx!2%b27a-)*qkCXwO1G*nOUFoDt zt7l|l>a^K40K5euP#Y>laogVHtXi8I6#}Zqr749qKfjRuH*Z@UjTF$w)H2~WE?GT& zqes0K2KkY}^R0#3cgM^lRC$3N*|%YFUaom|<~nlvW5d|UlOLzZ;hbcerpUoY)mMHV z0Yg=!Z2CjCKvweF2Xja@-PNceZ!25ub_OU-LO@ku!n5HpA!_~j2Mw?4id-gaeueRc z(S~%YWYdpBtCQCrcI-GFFo?c1eGSOPC!Z#b3x6u)eAfH`1p_vaQ6g~l4ti^!{^cU# ze+_Y^WKDyAOMdQJcQltj2|-!P=%5;U_jm2G6GJnA8s8iK6d7i`x9#2W97qdJAI%t+ z%u7Hi2#xG=;9-cA^b9OKhAQs`to50S-{dH_tj%s29dC+>I>T=yYKfWd^GO-{^;$n4 zB1il|xM2edf3SN&T%M)j4^gg(&N8T*TrFbYhcw}=0Qf7*d$P}zj2VHaZ&htNlMzQ= zG3qsxe;&Q@C-v5wK>re#ch?Y2UHcxVX4#jha#IR$WM zPVnqUpM=zY-2XKkvQhsZ0`EZ)^+(~Dm^s?5vWL=~I#znAZT>N_wrE{e7 zjp140l(hg*S)xFke-o3^NV5Xx`=keMC5L6bub=p+a!Pk~Xct&&upVZ(3?=~W0WH<{ z;u~_63!ZTUNtI+S_Fc>Vzyy>-mTu~)X5geqJ8J-q# zuqnIb8QMS&fdfm(ad86RE$7WsRV$;W%RfKg3kkotsWG;^n+;rojK@l3CNppngGWHP zZ3~;1x9o~6y!hlS4}||DxXnJOjWe=!-?yg&d)(DQMO_?Z42{qAbdh($Tik#R%cc~B zoiBJxM|HEP&%);LAr^}@%FWGY<`80k!rpYX!~PEX>kW`nx|qqIlS^1Bn_`Rq(P1tQ zJ=(jZg^nWSJZfF_!yG5*P9Xpdu65Zowu`agM5@w-+05L$Fl`v9c(AF2wo%>9n+4Lh z?)mRDor*VCj!2D}Iqkg-ywq}UEr>v&|Ma!Bv%2w*dtjxc$ zx{jc$27!6EA>bA-Rno_q( zZh!{Vty$_i@?RUQO;HW|zeeTPyw3h>WDh#?uhD;dA|hhJHzpK?Q=|RkrF!|;cu^Cd zepewmpGz^=^vb0?up@eGVk7Vwp=vT(X8XFA1v?Z)vPIuif2r53S8gon_BZ3{gUevY zh-r7h0u1s0=~i2WkeYywD097d0a&bW$#fd*2uuDbH~e1ve|p^g-wkvv9sVW>PSHYj zo?i-y66szhz{Bu2f|K_*Sl;p2GV&kSjU?%C$u&cJ2N8AM zwSkizIQXx~h>2Yd`<@Ba$)QtG5%%Nz#rr2yIk|a*midqdEhk^mm8tl`%m$A8GEi*M z3YroLa9P@tsL>jxgu7kMoI=)vh|JWDe7MVn71)Z+`1??EG3{)#y8J=gJwI zq;VUc;H}==;>M^iSV1~;!jF`hKPV7>M>=%FzYGh%J)tec5ITOi857DTuDz%m9X-Ug z_1+`gnWKGDa$I~oTzFvO0xbGLu#A4Q$oDYKSvRJXqdAJU2Szb^TNGuYH_qyqMeu(Q zr-&CS#CA)0;A$C)5=;6=AQ!4gZ#2#8e?;E zlNH%5gvQ8LO~+)yCRQ(~IUs>HgKn{u;F@((PsPOC;aM=4BslUFlXizHG?I8H9~smC0w?th2&ejRX{yo!U9C+6{iLx{Ss zbDA&+Y0zePU3>~pD8v&oO9@GkBgg|Ue3^|fm`1B$*_%Y9SL1SH0%?%`u}JLr;glNP zZ^ow#+CHkO+l*V7qHYYnR0TX>SnY%zuAn|ovMUeFd_z7|_VH0V<%#nbnEJ#uVWdH= z8m6(!#B?SQX*t(U6)`B%TXu~Vu>=l;b+<10@D6(Fh&BYpB*ds@OloHMoSl4#gUgO* zxV}GG^9vEuH(>-DDE_0(Q}pXve%qB};!ZyJV`V|mt5HxLy*K&7Zj0JPb#Nfa1)(^& zi|EREc2?iMYv;UD;co=lJ@KZU-lJ?#)<-lQctY#THi^$IT0tQz(Pez7*BEZz90a;` z)>UTJeaSgx3xR%8kyRdr-U^KDURS$O1$Y!3Wy1FA@!k;Q*82pwOX^+&Sl&gLDx79U zb?P9a4b;o5C9=KUb@mwQ@PsF8Y8l&QGK~ww^nykiq{i9DbOIRD--&dB-ZI%(?9>u{ z3?GVzE(C+;u|D&giJrzMsyZuv%kaF+n!SRfW10_P*kL?41=JGvEqlZMGGupAvK=Cg zcTz9Y^U(NV7VrM#XKW#;^(iA4Y8y&Ml{i+tF4Amx9VFh5M~AnZK%=l223GlrHxDO7V1Vvq`U9KB|qDHo! zb{f=4k8I^A5wCZ)99S&v`Rwj)GDVP1FZugB5K(yet zCi`tD%H-TTmLj@Rh~RsYN1L~~O`2*5 zF`XUN$%yIR63ZN4>o(t~e5HM25aPEjM=H$1TTW>w%LDII-vlxiK;C zr^eDrYep+{8g)1^@)uB?=O7zkx6_QaR>>Wq`z+(CWh$#GG#8y}!-dKwor?+nd(PU1 z9{UV#v=?YT-b9;2pr~)OV>D#CBT7WQ;($Dnp3VXCrE#H=5smkASb%hXj~CL>&p&5L z1t`ze3(O(g-hzJwFK;+(RX>!$#Lo`TY$8}XJtPs`ti<#Z4Bqw`jpnrEh2fnOG0rM^vr%j@%2jK*ILkmR>(r!dr z)uh$d^Q%c4EUZSK))Voy(G{F6x!^oUt88 z!v0-G3|;ccP|8N7U5(0mX3T8VhG%ek+e1wnZmR zB3SQ??dt`6! z=TYbPx~|{jd)>eLkNc17ygEBMKA+=#yx*_abG;5%8L6wgNhwK5NJw^zUArtxLb6$c zgk+=N_O19EZhjpa{2!0im0MPFX1Z3k8WuVv*EOu}8k<=e8)zQ0(Xp^JFf-*ibK%Tc zmSg%>R(CCV+1O0}^#f8ksWuhDOr+`kZBPA+wfK>&VXbC35nR{OY-+Z zMmuaBs+-q~CY!4}UHvYlUAw%ueHOfYRI+_S~i`-~T`VP53!Ey%OC&KPbH2>k+-gzy9U8>?>{8zn8#uE|Yq*?EBY6 zuU+!~k56E_mU{VL*QeVe=KrsM5sp6g_rvlysHv%C7|9nF7RYTFdA`5Bae|z5i#sJ3 z^Qa8*iC!ZA_3{&e8Ai=-WEk;qB$q`+ zdqzfH1P4={JbCh#vT}W@j)YVwZ;W|I)K$*_e!FuAndOUGS^_k`xYfPC&9`yWCXS=i zD~r>+X!wsDK73eGQu6Hi^QB+DJUuSrvX`1Vq&p+atV{RPqb=zM4O_Qu+qP@>Zgx)2 zlFrVs_qTIX&AJM9B|GPOT#=RCfBNRT2z(Mblk8?KEiGn+gp#U24p$G4nwbo3MO9Vm zT$?e?mJb?@Z*M%NyW$p+m?)8=`Q@!b;-P|q0)D$GdKJg5n>T+;QsFi>F=0P@w&?qJ ze?iBkyQ@pHyOLkHyX%yDGjJL#=Dvu9?s)#tz|DeV!iXsemQ8?*C+gLP39nb%DRMn-~%mvH&Fo;0`?4tQ zcXV`gJ9t_&-+uPi$GgYb+1ZEGmgmNWxy?GYagP`H__VaOqiQp8aN-ci-{{80K(nzv+jBI?~y~#JJ^6|0;nGMa&iZp@_ z7phbCA2{Hr?z9*q8z~cQ#~RUCS9jx#dI5j+2p(AIxHS{4fc=b2X<1oZ>$C9i@SKjO zL`A=F$2p~()y8*9auf#-`f+nFspsFHui;$7PGOP`x!`3=J2y8cez7&z*6i1CQ=%U) zFYk~On|Gm}S+4VXL8`;zRAA{j!^XFq$z6rch4occEX798_8d*XmXe%aa@kGAyg{ef zWw%@?pGDvE9M2P1J+$u$`LtgT<>jg#;jqu^m`~HI^}Qa%S^k?+LPFw~y7Q`^h9u9v zLx*DDsb*WaXz}szFq!@M=+!^VG%5PQAy_w1e{XCE}g zNjG5abF79QWn^$+GdN6FbFa)ctA_~O_ov{{J$rv{ls~s@$BrGoXKqunv9TF`f9Dz+ zdKAy;$%6;)-J z!2Mh4`uof}^FFn=Q(e7!6-)8nd~6`xSxQD`F9|kJgvhf!#5piAF`=WQyI?y`&1W-u z&GyH6leWEw4?n{;#-olhY0o@DMRnlFk*^^7o6Al+uGW!COSj0z&(S5*Bl)9 zo!1sm?L2&@uP*9px^b&_QPIWGv9W3T&N%6C*<>|=@y`4g1qFhew(g41D0aDU;lkd7 z2fsYrwCz^jJ@zcqjyI?pAwteHmX_0;%cNvvaaTQQ@U$kI6xDAOIyqwd?AX4&sHB9x z-NbgH)7{gPOgsiB>VT*_<Oodqqi`5t|)`A#&BMTTEhL=E{h)DS0^vDoV=)Mz5^ z%NWU`miKY$dy-0go8$WG{IE@Xrb)vE+n+@nX0sI%Z^lqaNJ_q3@^QR>e_1|FRVcFE%tnQA#WmE!?MA5q&Zo->E!wIHW7^I1^mJdv_o`w|Cx!I<=_MBPrFi7%Sj#zR zSXfwm2Wmnk(yBxGY<s54sGEcb-vBiP0v|2$q)Ph*5 z;Jw1n=U+4uO?>jkLeC2}w3nL+y-CU$vd(U63zJ#}YfDBIzDzy|x5EV;&z?O?@^fLb zmvR8dd(*`-kE27)$?8G9R7Z|{uo{vj`TY6w1(d2%JG3)nW8->v^+=fycRp>z{;*qJ z;#yl<8_L`=_$_i1&ciipRdw}nY_<&v(yKmtclw^5)2VnnQXKuIy4rnhb$L@l8%3bf zhdUck1L8fnO@9Pz*tC@-A?PGlM=l&Emtt~q@`0g?w5Z!5)`ZDfY%c6U5_t|w97+G- zAau+RnqNpsyuG~}(_A|hZrr%xfE_~OusYi;pLmnC+6EQQVYW$;WM!`1EYE3`w^^$T zji)-8dlPXp?yYB-vU77etOjK+D%hSnVcB2xsix+PM6X`s94gKLz9NZa7=IwzcC?|E znOSX~-89K_50BE?TDFc9Jl|Uxh6k6HmXzGCqjcs<|A9t=r0dIF>-7SP@v;mT{ay{W zWf%pS03ev#*ld-5ddugEsA$3q1DoMSrs5;2w{J74=ifi^7IaT@5VCVEHQEMjS(tYrdA{0StTa<@BKd3l(MjJ@8-K(pO$7vcI?_kf9A}Y zjuDP_g;*>IZl5QL4!6JaHJf^WyIG;mL}$K1L8&&5F3KN&M-IdI`1s&p^m?r?9$Eyx zsH$p6sRsidlGRw7-|R?pnoi}RjT<)(*2nC`k$nSfHawxB{9ZMC<9mG{Rb!v&iB!g7xetyKFvV{>a7l7!6$~2yH_PZ$#I&b+_R~M;Y z_Xex=0R7P*L?y?H2}^qiI|ogT-K>+pzdHDtzyBekJW9Mivy1w|S%u?ueNH$=K|{gI zeZMY=$9NCahHL5Q_-QPE_Er=MpZMHD!Ei3E{ruwn(AHXtmHB+9 z^S?gzEqD1<`C2YcDwO5+{9JJ2z7wKv4={|iXTO30E#J0Z-CHs}C$Y%L89_E|x0>%XCPMm0Z zdNw~lpFkH4Cdctl`HYsuXka6 zzf=s$Uu;Z_Se#bErr{TRq-{H@n5@=4JiH{uK<-`G9Jm_t$+>G}#;FE8$sr)RD3PE` zI~5Y-Z#eTh0@YK`nosv%w@zu8A+363I43GEFYi(M)eINe5@GSHg5tY`n3Bke6Nk^J ze!a_6`{l*qCa&A5-Vx`xxMF~?j5~7tx{IG}+PiPxC)Wd~8cn>HU0=NDMO&trvz;4N zx~M>Pf^Sw_^7{3rS`KlCE!(!~wMgI8y9_Ro7(OsFz!B$N=7i7pFPzxIuz3F{C1nMA zPlL%}T3YElcOpu;2*S4KFJZHYyzIK)VQDCiWM!(7jiO*uT)HCqq9_Nc)5>Jo=(bxI zz12lTC$C<<`~m2bWp;kFmBR+db$k&k{5Jgly?fg1;(oP)%aW`7I*~toSEEPQO;9sm z+gJV?^$4{n^L@F0I~BKS)rWB3FA`mOc0Q(jWMpL4t3l|QeE6>dFWB*ZLvRf&dTO!)FW&56(Ej?0rI1FZDM750=L?!owT>8p$|rliP|W#Q=mo!e^~$PU>DH~Y#w}+_ z@EyJYX9adog+C*sO*L#v*i}};3>rH-mmhrIL=(u1B9kBpoMOI;ZCPg0;E)>vcr0T} zJ;cia5-ULmH#F_f1ra2_W=v47-Lh!}&How$ta(neWcwjDwW@IEHP^(%(~q~2#j54o zlb^o%5-`CMRosJCs3y~-{odLN4?xXLb#*i_iSIy2enFHM&biNKYyboPmg7FSzw)qzb6I9 z{5s}$TJaH*XJ>aK z-`-l>k9o`6&J|SnK=7%9GOUpa3W@%uv!@l`N8e0RF8T7M4g!H7*h^cw!Q+$^b}(nq zn`iA=W}D91&kRztRv+QDVg#${!3k@SkeF z{Xu7E=eh9?Lc3U9p0Ax75w9c@S}8&~{OGuRK1$SG6A*1?xakF$bVPD;EiRdTZ;}o* zviEm)F>YALZh7p-w}u8S;BLqjE?>W1!|GL{5HF0T)q*qkH^$51?ylxX)uQwPkK8LL zV?f6``i7i1!ZIlL3L7h`oH}O5J5+Wsj*X3R7&m{=5MhWg2CGl7MDMLIXozL9wz6u} zik-(-zbSh4s*x%!4bA)Xv^0r%N)5r{nS* zmu-TQwbs{G#W^_Ab|usDTD?67%>lG|iRT8hUj=%r4wj)|ti8JWI>o+yk!$v#u?BM- zU{+Sk1c()F$71NUg+dsI*yf07~#kb=P^l?XZAB{ey=b* zG7?ASnVFes@%^3BkXm@_{59adWeNXog1*>YjFdU6Q$had@nZ^f4BT)WnzX)=k(QyM z_~O*B$+o6E7Px z*pzq}+jeEbd0oQ#I`kqQ`x(XqCnY1WkQaD(;gzR8Iti!^GPDUq;HA5JynOtA z4!xQ_?4(;NDtc|T*wjQV1LRU%e-~5M*yxK(TdXXYFU?PQzId@SHa2!}a8M>){|4ld zPv0U%fbPk*kf++!%OvLlF0mIR`^k<2q?{*-?!Wb^tkMI&f`99ro#yBM6t=%w z=YQ8P|0tTz$+buB;1a^WQL|>x$G1jeky}%BrjOIzXu*N`gi2>&Wg?X+k4|#Dli_dI z+l)ohLIr6psDUy_z#7MkZ@!s8Y(i=68&qx;f;d~UEcJK$;1}@$(Z^J_4LppFrXTMr z^o);ZB7OSiulD)pTbHQ#iZdju<-gG`_trPi;kUi)-`)2RECDK+N{hyyD-i#nJAg&` zBz+WlX`Zs#Ei3fH8hq$L3dQF_kPRFIHJ`N)Z-gmitpTp?8(sCZ_u z?lF$~Y|7xEKCWMe>Pb+yT-%A#@^Yr;hq_N+ypRYgYfm>Q2722`?~=uE@}$K?r@+gX zFBxyVdE%hSTEZtDFTelr;WB`n9lLjbX>FxoWmSr2{QF$W7|Y5D!6nCLOk7fO7f3lF z9F@9LK_DrPy&g=QgioJ7r5iT60paKv(DwSG34OsK=P=>EKWFT;`0Fr<{rq^SZm=&0 zFJQVjumF$sFgb3r)s5*?Pj4?unlIyxjUpn&4z$wSy)3cI2Zx9EA37uo8F}m0txu17 z|9!M?_V!&+BHFa3rY4v|chSR5fXgb5@5OvhLW4#5yM+=(&~9kVt;6byim##C>b9I@ zXTKq!Rnpi<&c>F^*=`MO>C)q^H=;y$&$1lew(Z$QF@Jg=3I^dkTJ7`y*aLJ|CrE3; z1S%(c%Qg%)Cx?r^p>IX)zH4p0g#aguvOgNTy27zPH+_qji?h-*1rvE?+L3dx#p2lC zM}+0eE41)sX)SQfU9yAzP(OZ4;sqN1hTlD3c6w0rc>6@2n`w|1iVu&=+I;ojJDd-{ z#ADvGnFJaK!Sy?Ac2k{~7ZS3Y(w1@&ZzlMq7!{;>N>2S(ajS(!`+a;@4o>+VJ-pVP z{3?$AWWF=s2sE${DAAwyL|r6Abhd&89Ja5vSQfNrhRU&tAK8zEBYy%CFCOyw=iKz& z^zdfDmfBQQUcTdK=uBmp?`g#|OJM4Y$*%>c_caFJ4=_C~&7s+_ zB`1mhdVcn^R$B%-^-?)Tatgsz73Y&m7cY`*+P0@k!5CarwoK#Bor`D`fDcOVm#V%3 z7&YW=n-J-i#(lsv0eBO)elPr#l#!ei>_p}FLy$A#YnAYwX)pJN$`!_Mx3LKQ!CRvp z&Ek%+@vb5OQOmt*OR{G^iK&fGA8)f|cywGS{8W$5yVA*RY+4jk(~Ayb0Yp=x1wQ^< zRVCTm0sz=#0xJo$MQJz-&>b4UFWv&8pzhmu31a8%94ifIJjOphvNx~B4vaO^;_q+W zx>ex*`ZbJ-$?55a3pPtL1~mNlBG%HF{(MRNLoU;Ys9v%{-0bY->5fxWsd+!_PV)1I zK!MmG16H|_?Z*<(HW(QfP3ys%*)T0t0t`+ z?c9LAx($~H9fKZ6o01YF#{Yo02edrcI=?FXDw_j^{wdU6w5j>lcPqHB+S}U)W;QoB zZ##yHlq(W50;;A1}JlVi;|_U*SH8ua795oO`tfb zClY=mSCXA%xLV+ITC;h4TW4Scv*Kid$;!fHRk%=ieT;-$^tFB93=-J%-fL4Ki1od}W(69Zd3Fx-9k%!G-#>t&1x+c9`bA{qaTr$kwD_)3T0WbX zPo8Xc0r|oCYEqFz1L%c}0=WAiGxI!X>_sT9iu0OP0qj_zmq+<*?m$r}aXr8T2|$$9 z6IEjp+Or3ZfE%QCFfT$0r(Crf|3M)lB0_-Z>}(#ussTu&CoWtFfU4EcXoE!!;x?+O>0Ir9VaX7{Cl$$_UW}8>mmM5@heITvI zw0lB|2d><72cVQiDfJ2JPtVX$pusMPcQ~P55P;b4{=B&7C~pb+4SJV?vyju$&?#p5 zw--@=xC|SQ;Rv#8mA)MrLVwWXt-%_}RliA4FBH5#KhD6+>;^15JzXm_-KrP9;e%-h zuRDVwc6k|UJGwD!kUej8)uXAG@hFH64LvLVz{`J>8spZ~r!X0?&<_e6mtlo5p1dAZ z0wT!>WSj8jol>?fZtV>q_smE$*#qF=pA!?wUKc}ot(kWoVj(OQ65xUT3MX=s?>6y_Jhm8@R4H8oTF)M=s_VR1L;w`Z~*I&{dc-ppojWF)ccTfh9b znf{@$hNY}qNihcB-JZu9+iI%zs($fPC^uX3xpL)7_sB>kxSQ+q=f{p8e;5#O1X?G@ zXq;?}`0xN8DxgtJkojaL%6y7p6LU{b4?&$O*$TnUj}u!!MMcHEL;>YH<->=cDBXmm z>viI4eWA1S_hfZXSR_zLVt&!Zj`yhE_v!13;bRHE3<$3B!x$cNQ@M9u zklkb?xeZr+<;wSFD;78R><#V?hidE!h$ zWAPmtjmmoMg_Z`we=e`Iy*(H>MMGczxx4#rWo0F{{N9lf349tX5^iiq9dJ0~w)7pa z^4!OatE;LSYctZ*r}EE80Vcvr8D?N(VmP&#!%g4>bXvme2J*1zucB}QU2(X#Wt~A9 zrcAsS|3*B&n%C?wpop8^qSxiOJ$8(=p7F4TmT6Jr`CpUo^yQv={mQ2{IjUOVU`GPj z;@2(3Sk7^g1hT#5IbRp()U)T`!X#8uPM8#I_%3@k!+lt-Ff>kL&E7D0YU1*t2^e?? zKKw+Z0e^?ffh@x*_0n_P+*kltY%K$Naa=6>{``AU_J)XvW8e~zYk^xBRWe!NR5NVb zLrolj;SNngcOrv1$?`=uR+0ith{v-30(gCM*(j?2%G8(BVcwbcb5#{tMs z0?9-6diJ)aamsQDU3h}}KQ7E?Z~~|;2Dn|ZznLCsU^ilGf4c?O8fwpC1MQ8xH`()& ziu=q}73KjK;mA8sejL^o2RQY=k+8C|@(Tzoj^|F0G|9e#<6931g4n|~!0;iE>sUT2 z7*Cp7KDz<2Zq-vi`d_V3^S8KRb}yL$}U z=q`$LPga-L+gszE*Vlj}33sCOB?Y0XnVOn9Ony16#3ea7xpWZ`o`eI8VBorAZ5b3Egm?^N z^7)Gw#c&zX{C?3Ja{)lZxcrcnRXc0p1ty4UXGh#_(oPwZ3~EYBx2UM7QYqn{UK{LP z0>RGDD^9#Q(Ybp{@8;i{c%AReO7ZjShtHX0EjTOaE5^vLZSxhO$hUP?@n}wgMIC@s z0QxI}j0GW}Kyd`-a)Ho}f=PN&L5t8Vc#evi01gdnMz)43SU@b53b_zz&XRpZ2ikqY zW%szaQz#NVWH+B@Q6v8H_ATR&A3p#d?~JyjfUJCrxb*n*9(av^0QI@(Y&oO-ZK9Ek zR%(%wXBpVry!uFKl{)HX9bffoyXNNdK@5#WGe&aboOw@)yh(*WE79V(GO23f`xq|3 z+5i~S8)-ut=o_{SXRUza5@%C3um}vFzIfC(xX)i<@36x%fUFF??|75x#eY!dGp{?yZatx7*_|B(Mz&YMu_fCYuylQ~c`gxDYKX;mXT}9%dVu#*})$)M+ z068xkJL4?J(F$LuxM9Qon;u5~&)2V2?>{a`{qLvcD(2d_{EI`4f&Yq^lwe8Q*C5BE z^N~q0w?BN+5wS7!@6-P)==}Kv2kJdf!%i}@uU_6!^muSvh_h9}&qoz{{}DF3oO5&4 znq6Xy=BiN5z%^2j|47Su#rAU3PS1}$VaZ_Ckf#feV*1aN+GXaHNmqxARZ`bFk0Z=( zZ;p*wUmzvFMWrOylxn!)YJl^9r0|~0JMka-92!@5E0AJJA#?|$SiX>?#YP>~YV!#z z^X5@+?eb+hrhUSm#lKh+)=x1Uvbo&a|MO=Na4ad`OJM*Q2}sBIqk}D!WDrI|QlH|Y zov!_-$xS4DJC&?t!@2oEvhwRV>%jh&;I=qJJss^YpG9|0ewb$*+&k?@FVVT}5}(G6 zE4P{{Gw0-1oo`%enskVeVLaymTGaox3y^Q?9_oO^76etEpbB9_Q+S z8aD`C(f8G*!UaPodIwwpPQkVSKH_+};j`mgAtAJdHsGJy82Uz@IWV=C)O?3nqwN`~ z)7(^RIqQctl0ScIt{-R@?K+pWruv;zy|}<*S@7fK9S@{5wjDdSFa3bi*cLNsTep`o zM<=EZ_?iXBiHL&2hGQoMGRei>?JeCs%Z`>XYZ)UehL9RBZ{RwkAEOud7bp0W1keY2 zxC}ZWy;OAu3OlfHg!wyIG*9D7=X);*)TSHyXh|R$b3*9|rBvv*i7>jyLH`27sO zyHXr`IbZihH|w2;LYhe1-`@|^GuuocX{e(pV6sWdTr;z?gsgG=`0;e3<~;=Claxep z-ilxa8!p$Ut7sCD3 zg#t-WzoPhM5&f|-QIQOGM8#`1&%#0>JQy5qJxUP*N{;(vWMqi;=+=br5R4g`b)nNL z?!D=wAn-7J4kQRK;Rla!n^NPu#yT#~4WEbhUlk@mgrTrf@v7P9R5Fck0D!LW5VGwb zxk@A?G!%kB<=JtVESgZg(fb?A@DCTnu;A8Hn!vCthF5_=MM+W71N+(GeS7yt)allS z3HY+A90E*)HeUtsEbDI9Q?g^YIoT7m5i0yHTEUR!vQkUL4%>XIL&Zjj}LdQrAB|KVh&vEZ4OH~uMu}_%4usTqryP3)T*t% zmr9#se+r~5$k^2AW1=zQe$U<9-T?7a^IAQJx`z&n8nqiKGm1G5lQvGI&OT#>^;=UJ zaJ&4#EX79P@&tkaZfWcRMacukAELXCa(m z#6is0R_p*X5x~n{TDF`Yzs+kkcoCWt0n}hI=z;W8IwC@XSfCh?N4C|_el(bVkiK11 z=UF7?W&c*|8y^l)Z||>5t^D5ua^qb`J zb2=_r1wqsbJg38`oX!Y0PZupt{@ty8dU|^QlS&$r+(%1Gi{|R$<8uJbl@6c<6jzsb zZGE+C9gC z4+2nqf=ATrWehC>ml7DSLJj*yEM7QSKKXN|U#k(G6Hgdzyq`}5}mP(IjM<(zXg0`_;YbAdp%|Anv6 zqeY^s5ky<;enuO>ZAQbYoE`yx5|PgR*zY%!)pi#__PB_JxdojT5g0V;xCFa%z>ScE z77^mQYhx3OmP`-IXhKf>yhOsQ%sZ3R zl67|z%SG9==ns-rcS-?*$NVMVrG8heuu)g7v6F0-fjjD+9QEeS@7Y-$kS^$g@Rl#4 z2E}qn5HTnxQ)6QyqyYk3VdVh*K2|!s2C7octK%ZFp@ncB5u0ng_JIE6Nn|D^;DjUA zh1BvPBO{~PMbJ{i8LakBn8bS?v{S5ZZ3j}galSB&LQP0jN16ul?1}Xmbbw6#q~vD`2odC@!F0GF^KyT zvfI1cxrfjOK!;?juR+s1E+`m={gmK2G(0Surh6S{J=Q4{N}l*EuUrmp0e*xglA6O> zNXfv8fkD}j|Lh+g^vEwDTDyMYwV14Mdj&)Mz&m@-SNw@3mE}8)v_@X$EJP3`W{^U! zv$SAOfS>$9%j;>TuEN%xf?ufm-pvGWd+E+qMj>F&38zbYZDkQw9JuZ^XrBPAl^?>h zcBV6vlUjd1#)16Y9sB^qt`kjC7vKX(2A_9_h!dStQ&e`l!Y7Di3af)3N%{%KWWU`5V5V>zPu zb>ATt;xwnHf3h4e%D1Q;0_C_KJCpQ+1 zHeUC&e3G&sW<^CsG$Rox#*JmNrl*Zf zO+Ebl4sO`6fgn6G)%KA6_~BD-AWjZco&(Tp@zffQCPJ~E8Se;2fK3j`Rj>`87;RTz zYekx~7C#6Qpe zhuzBX?yk|?Jw=24XKn>02;PwjQ>gzQ&l)3XF}F78$WZQWdwVf6VeH|&djrdy;Z0dT z#`0d1$Cef7(}?}n#a^cZ08)3HRq)q)-Y1G3Nksj@85K_nkU$#}MzT63EiDTBSKq*Z z2udTEMiivR*_&{Os=2!yic#nZ{1Oq=;T;IjKK1j{CU-4pT}Virh3Vtq;P6&0pBMF< z$dw~N;0Kj9vE2zgk?7Q?PMrcqD6{QyEF-iVt>B=bbM`a(1uIh$&|lty+Ow$_^kG$? zchw=pTF;zp8@x#USr={QD?Fm1ie>#0gJ;nL>)my*mm8Jw4yAD-k$d1_` zn3Yk8Dk-SpV~?V5{a>uvy!o_?~)oIdSb3 z3RN1S1#qdQVHq%@mw+ipp`R!z$M$x6*{e^2+D#R%uX_H!aNYUDb`L6U58TZ+aB!SX z3WyKr6wTLEiC`*F(IZ&hmdkS{XeV!#GnhfYHeZyMCL;HD2WpNIND9&`I&a04BL@dZ zDR=?-$230v!8WCdr5O%cS6#0<6HkaqI(mL!bHKc2kPHBqwg$BbF0aNa)2)v zY(|gxoV@-9oeiTwgw+Z?Fpc^jVS;WwBxm-?*x~UgnIg$#H+`dc!J^wvH@Fg`6^3rM z1hpR0eg0H9Ql7bi+2wfZ@pI?)BcY&H;1D>xTi@82B{DLS@M*Jex-e3s=0`&v|B++; z0tsL8!4}}ck2yKmd56))M>ZZ+(f1Zg`*VtVv?fm;_d4{#({g#z$i694&py|UMD@PC z`x$4eOA?V^=4{%{Ic-_`u1$-IPIPnuN|#(6fz(u1QnDGS04m%U2r+LF8GT4EPK1#W zgMjnbhXsZT>-+7SOpfhD*o4;3zwK~yQH78h@lkHUgB%HgFP0YEBu+SA_WwVo1+Zd7xTs9&N1?!anCEy9I;)?&EoMWHEMW;Ku zRY)9~+74QZH0_D_RQq_6Z2s!QM-TnB5=$rU&CnAC<($p^s1d1mQW7gxiN!bNA1+4A z9V1)r8>)EE=hfxgahmB#s~4z5Eywz%Ft$u>p4k6?Om7haa4$s+6e&;j5nqNJM=!1 zTZ<*X@O;GbXP)ZGH72HgpQSD}ikwZ^xXc?76S`=Phg5R^PTi+FG?z;?6&s(g8;wQ_ zIt~0fI@i&B}+s4{kC{_fe2OH5t-wt8(v zs$;_)`&`l^gKP5|MHQ8&#bi&`{q}MBc*w{7ls1J2K>;_v-Oo@sS1;*{8LhV-+s0Tz zK0@4h&i~3cT6=1)lKv!cvva*{TOIFnA4?PW{wJhB$8>`$YO@aIsda%& zv%G{*TyT=6&0+k^K(YFrcX8E!Q~ph*JwF37L&j$uJv-F_;(;MFA|X@R{Etga*QL2%I4|zAR7}{7 zHu1*;D5N80v=;!qs&5pc&F!KN$Q_FV%Z~Oa1~G#D zkp?$Kb#^fmx|)WO(ar~d$u*>4{dB@Wx4)mX;@>&10Y<*%oRbuW-;g)`Ju@R|ji{R) zS|6?@Pq@aHl?edOhwt2T^qf(xwOVP3TxaRa&Wtgxnxulfpv^iP!`mFh4^}ciJ@Aw7 znm5D5h4r(}qBKX#i}kCWLj>HMO1?&&m}bz}kGPZ*i*ovQ)G2o@C~-Hl6qxFKrO zyD*b>hmdy`h)mn%%bO8UCn8FbBF|FcpQ_FW8-qnaJr!Ne08>RQ;unNpyYr$pi;If} z4rCa)(C;d6jQrxG09l`!$KnaNi~+SeU^lwVQ*u9qWj>WKo3;O0`sW;3;iRKGn6}9}*h% z|HDykmh8*R-vtx;f3b45Fg~!$~HnG~gPBE;5!J zu)HviK7aeR7gQW!lGiM3*Hb@y__k00sX^<`@2i{~xw;LqNs>q+UK~6oZO>Dk>tun2qFwYfKCSk>rH$IIIQm z+Eeax3gH&yPl) zD=OR&okXPBXIC#mhod8JZSu>XD={hj*`fmbUcV~o8&f11yxFkFHkXcapjlN(L|ArX zQ&NIlM~=P5lZ6^@ZL#C=vl2;GwCXgA`yWhu*2D$fn96)sN5->0n73q9n-pd+7uXDj zNCeY9+Kf>`DkG>QoJfnoZ^z-@PR`6kqs>2g_DrvZQ1yus0WblA|AT!^L;W`X0_Wfw z;x=e+P-i@FQ|6;B?0abV36XTDEh8}}DJzRR++k`5j_=CqeAi1_AsWob%`Ou39NDoT zPJ=gsu}MkQAdm|X>t(B7T|2aY|094?2vU7$n1uTbKtLpUt%K21%`tTWN4o;^PncKQ zLh!EdM%OC?IrI>?p#{Vv65E^@oq=9RdRNzZ)>f&HG0;NLb53dPn}fsuEz8x^wkJ;d%`|i);T@vuR8l z0wR!91#!KAUw?OQw3Ty2HIJ2@-3xbWfg6B?`4y$;qr>7kAerHy6GE#q2QUVF3@iX; zaxV={4S{JDrDhL5O-oA?4aX>71gwYn&ad~8B90M12>M+CC?@yiA6DM5ij)w>^lEC^{nP zPNdPm25#lsb0JtJ|5oN9N-w+i*S*%X@KbP(L!lqVdnPHRZH4QNFc}kMKYz_b!VXW= zgq{{QCxneqUaC+EY+HJ@u=UK!uBPP&9!`-@h^(A;S%+R7iy--~q7wi20aQbVA@jMz zS5;-H$Nk3})88u{IbP5}uOxe|#!AR%oM+5gD1#ZIx`bnlaaM9~!7k!at!(X ze+U#xv1zP0+ND@?5Ni<#2n0sP_%<>31%s!_bwANip=o}?nIHsK+mB3f&&Tadf)||{uk3hf@{bgSeCzMj+@+#2H49kS5bb1aR!S zuxsC8g)get-$m#f+)|^ZQFSR+7fGWCoF^n#@>GM|_xq{BFSC}tv3jd4-uuHR;M9su zFZV@-#OR3g$@jvcg}gd4q^mZVo}i=f?&Z6CLv8YD~bQ7?Ub|rsImY+E$>MI}p`r?QpiN}?|_LfAEN%aM6zz=`K{^Z*@i^T1nsZViq3TB z*$-v)m^Lyo&3>#0gtZOG^grKgCPFpX6NK8Ca~mo%j`5$^0X9r=Z7mrh7Et7_Ac+HN zub-n;ixCJk^q)OFZ_M*hPd0Da67xsBfm!ho@;J`gRzjcSv}qx<{QCNHBiwXfMg%QI zEo1A6nO=8Vl)^u94kqv#Ym?r+V^m6|$ATgC!Pk)j=^WFNrx8|(fdF#P-hK)_ch>~P z#iyhP2?2s=#smhOQ%Thp!ySsD`!$tG;}1AAP05z1mnEg833{*dR(Xl+16ro}-MbgB zUR|?4AgulAapm1Rsl#>+$)93n+r}y~o(!-4{9)K4xY;FSW7Ny_al+amEgs?Cu`r%T zTJ&Hk#ypj?>B2hy98a*R@kaR!aqXL8ZP7&|d^N?LkDt09(lm%(JlR(9)eV2{(U|b6 z@!L}QSLZSB{=5Z)XxAX1a)ciDZbks%uBBx$qAk!|EHPUJ%6SD}J|031CKd=41kf2# z-crCQV#>Oy>EN~eol?r)%j&7xuBDT}%jW0{)?Q6e+znZV2(bdighBZf3m?sf~49Kr+{5Nb9;mIyHuv$O=N)X?xUSRuiP(Mdq{ zjyVkKXrM|G_yw}wS*MkIXH-8Dp$U>foK9FxM0^w*4nPmzr$CezGT<)=A(;Ghhoy-4 z3Nh*KxHLn&I3h{o>0a8jkIf%q*yu|iT3WvKEBAM;*1b5Hn(&L4Pe_rqi+CSMC%eR+ zj=r_ZTY^lQUk9$sLSdmz4-0s5MD<0EY@z%rr~Tez;Chdq z`2%{1?a3P(6S(U!jv9$d1H9*g#V~3dVBC)H3NR*vWFx}Ego;nNXb^!O81j?@+Y*Kj zFd_c(OuByEBb4LGrCB2=v%UtYo8>EYI;A#4m2?G1!OPJlOxvm6Fs_E29a0y5@$KaT+t zRIryc0?PRzcu&PutxbD(CBX)Zf}u`m-Jk#@$cZlY2b&R6AOd~_62VzIRaqH< zQ4J2scZ78YiJge!Az{#hxh%N0@`pchv9oJHB0}Ja0>F*1qztpKPmTJ*CxN!)f)JCs z!{ipIjjhV>8J;X$8>J$Xe)Oq?vW@L=m3Onf=r{9&`a_>*g?_F`Z#h87OkP*GY4S8@ zU1dmOvl1UfhG8!FwVB#f<*Yi%5qTv;Kkdtr@)c!t*#{AQL^>1VV+j#KR{giYG;}?M zks44_3-kaL=U__!j#V)n1;{Z_w9__HaVvrFretR7Vy(9b&gDw3Rgq45eN5e*IkSQM zo6$C3(|{oc!&9$|J|)ZN_V41|^JO|Y)|dEl3Swg7Iqw%D`EfI!E33j0K^d=Z-uRYhweVX5C|3S(G!m z%7Xdqypqi=ZM2w5RurK=l}TOmdmOSqSB^$i5IQVse~1JXw8KgkvMdB zON#9*mN#+Ap4*w+qkf|_uZmBhzWX)A5BXZChfe}-DGSk9>p*je%adUt(Du9>}Qv3W9i zk?ER(k&%o}pn~^7i)UDr?UUx)1@<_v<-WKXd_|_@xb3Q+*-nM~8^l}AZ`TadvnOT} zyqaq|>`MDBZ8rqe70~6h#dr0as^G11KU695p6-Uv_?D0#U0}U z5t?OrLs^T)jLKW-CO*-sSJ-?ent{B7=6;_n^$ih5)+z~nGOgcko)*i3Hea;U5CcGuF$Z{`g8Lq$zp-94pwBP!4hzdq?I zmw7LA@5;Utw@b4aU+V^UJ#y|{3?66+YODX8a%IESg*ETLuU--~-jMjSl;+#_$5M%x zYA={AvnlMRl$ICh;@BG2QPaK#74bRe59fWwbnC$+lKMm9`+6Js(!S7_{IvZ-_F#kQ zrf+rLsWD1^e@AXGCin*9^8i|M|IAwV;1X1)k?x;AUulFRDoE(}M0ORa z5>4px*%rT!a2b+oXlU?w{L$qn-fmO8vrgYM9oz6J)?)3Y-2BcD$ve$&e6S{=FCD18 zfQ2h5j2+7nw^F6!qIUZhKYYp{vz0Q>FD^xzNk`W0yN>eVyH6&vRAc-IbOA#9{N+n| z+7})k{m?x^_-s9(KcpZm1TWg+sQyi0-RS${*tEnuO^EhKU1;9B6|UkPNF_)lJ^Y^Z zYa8b9o-7(ERytTk=x%t(~z&5cKEZ8gb?XBs)75WH72SL8(#BKQvf%9l(XcDvwPTXzGXnU;Kn{o( zQMgF}85N!+TSM;V&n%B4qK~&7uLFiQjE+G1B_xqhMj{rDU+W>}EJJvZN;!Z5 z2dD+7iOKA>YDN-QG4VB0y9$q;>%SGh%I)`we()prYgySdBn1!K99cAlEsEg^?GehS z!k_SW(+o5i#cC*+{N1-T;MS#Oorr6zWaa!i8aqu26a>~SX`Y1FbWP&KIQVMz><`SD zW+qu3=IPNi3DV6q;m(@8(9iz8^n3d0hWE!rR*wCzVIfJp)(A3HL$ufd;x!E1U2omu zF#Vl&=hGwO`DDCh3WKB^4g`=y%7|z*lT%aTX~{VJ=y$t{2#*T$M8rS?n3Zl%iR)-r zA??wlN8dz65yrKJmC#hf|7AF)(m2~EIoS+JqH-!-IRCQ?m|}oU%8sxATzm^^2~p@F zLE|INurv!^1}cKB6EP%Mh4D48s+gO*MDWf6Hr3UmHOZUEziDhaa+oc^{It!JijGTx z(aIhNmQ(MPVy11fZejfQ^>G2uNZ+T&PwuCA_TJFg3p04jsIoK*-$bk3heY2yP- zNaKgan+U7^PrjW%1$+0t8c6AH#2V~cT;$)!rp4tUbdRF)Re0@y#AkXsI^k8~JwuQP zDa%AXX+j6Ibe}>W+P81t4@|aW9*an-gy`;_RI5u%B`B zD^qw{5|_#3>7~}@$7SBNL734u1h zdY#~*U>1RZ;`MdI zk79!Txg5_GQzn&$rQ@sG>W>mZf#M%Os9`;s8>6vfqiJF;3U%mKrg7j>+sBU=kb`kS zIvm;r#>oFgogyV<5 z-IM)PcIVF4qcFLhHB<{L@i+k&t8o91FM6T-v!?YsdderbQ?MC@8TG#$hVVbiS? zrAs#aW{E(N7|w*NYn1n?%7}f^)i*pFkKn4BYb>uAZS%iBHVnIBN!nLK-;M|!1d=1XNaqr%}51=L^Rt?7YCMhX2@fO&9 zlUW-Z2!6Y)WT1cL2ctcxwbk zfh%C+EkFb{sE>BdsU|il-ls=g4Qexy5nNlbOOTI$W6A-k6_;&EH#h*Pu#fN>8yb9w zAou8KNL0)0%natA@yZ`hWJWe7JSjtg^D*2Zr8_^4mO$i&Kw=sS9Pgttm!ZUSEnRS0 zxqwyF#CsKpcLU%>AP^h3ze-5jE8Lf;W!XJW@r_%~p;3Ya`3#9E_r6sYiF7{Y)m|(aEEp zYqOgKmcEr${RGkA-D;)zx`Hi1cSumqOdxfdCUYEcj`p4C9Ba^$A)RglI^LK7Zb5G?Jbcp#(da z$7*mdMmh&jViXJOFmOqaB-I9av7^ueGx6psgy(UYI8-|1`8QxxYKX;sw)|9(%H7uX zcFWm>gn)Wri-5BlkCxPk;q%e1b#=N?bjx=tSss{rc#0Q&>>?2o5)y}0W{OmY2UIO& z?uL6ol67GTftIoxeSb$?)(N2+all&Gwu>0hLZX`i^27IQ{@TAfS=I86;JpDjvpX+B z+8|mtl0kCwL~ai*Kyp~O0*1JVkQsjDG~Uf~`O^-8_ss7|zb&aW$p(CucP4*AEz4k* zxqEYXM?`2Y87pzfLewsov0G*hI}SgutbRO7cRJs0+68p|ZJ|`QwT133>x>;io%|9ewJw6iWo*++Oh(I%5wTizEbgIH|5gd( zZTUA|yLPPzl~bl#R=+KsiAasv+t*{)@(16TDWi41gDFV7-3jIeV9HTs48d8SczEnV z)0E9(z4`74eq*?#8Kx4&IqmJ3J%RJ|7$r#-!>}a8v>1lBNibcdhmA7qgqG+LKjhpL zV{NSvE>qyJ=#4()&W^W0fOO{AGu6NnK>#QYWo7t0vaXaWs_F<2fJq{To;azD7#)#2 zJ?AcP0>Qsh>^fGJ%)5PG_u0>l1~O;c0rW^tbO1ug9+XDXB2zTA56?LSg$mwBf+q&F z{|T6hiW;ozoWc7SPA&y9AAh(%VTL42>giE0X7+lGEi1QZ$HV>~(*8Ou%e9LaMPFJ< zQ9w#$f*>GDmnb2KiliXjB?!{ppdg}zG>DXxbc1wSKo0(@}fj{kiRj^uxPbBt|0wDln9!k+liIFkQcIX3Eu8sZTVpAFzWi24%?|N0iB76Ax!(++L6 z^b;mzP`z^bH2xcetD*pU!@2ulpdfiZe#Bp|TMFKtBXADl;^EE0On9_IDY7pB<6~-^ zVQ7e#*Q4qH7H=XHQ+S>}d1d*Prmrutlx%1@Bz}(c7(H|*{gjf9#zXyS@$}D|t2oBR zs1iaL5)-BL50jm9W&u0fw!$Uw=xQ#UL3J2wUloikTC==;o1tK~7Z2sExaiBgCM>8V1GcrmGX0o!gV*un5__FUo;Cu*!ZVH}br+p46 zWY`cy0UBjw^kGrXNKJ#%m8p&7Y7~$lE>d8mDfPiZhh)-Z)&LaDU0z;JS;11}dL&;J zz~c#LA2{T37$LYbW} zM&eZN%P+!TSG?sexl+Q*rvo-ON2R;NW;$uoG0jjoIKbHkhbL4o%Z>5-al#&5aPF#t zb^L7oV^F7xwHNIckeJ@Ecym~7^wHaNF1!uGXMLx6nL)5VPb*<7?H(8 zVN}R?$qZdBPA!?X>my){5qBIkbW8BjtJ&FH2(KD|N&7t_9r6&6+ye+Md{ryXW)i!v{Gwnzo-+R6?%&(8d`8eTGoLAdEJ>TZb0KX^00$PjgpSAaweP@HJsJ zfR+^x{>4^#0QG}!UCFIK_i(7(j>6^*w;3P!xBGX^82JiTNzVDDU2w{oba`x+e7!Pb zG<`%p{NVB^Tl*do*sM39t&1uCSkL@>dt=1P(6p5N?R2B?J==A^{2Z%tGx0%#lUq|^ z`&0!5MT=0LMFu1444R-RLGW4>$PPPg{T^Faj`)%8uufJ^tNwaVJohEfsy6NJxi%^9 z<-;)eC5huV%$Jg)@O6FQumxil1iOBQ+M8h%0TAU52oDiuFcQ=Pau^6$3UanbR8sul z<^&-=+}R~n4d~z?h#>%hm%wET-6*uvFBoyb6GZ{x9w6|A(?}ko4Fc{3_07%Bz6}Tn zXujoi&PR?Q+6nkV5VA$g+^9|NZg z2sTj<9#m*F#dXxzi|YHS+HX#z#k;qGz)=-QRj9H^nS=mG)ubT6c6Z?jv;?0Y@-2`* zRyyUL`C=OMTss;X+;3L!{VZzBC|m{TTQnJNGeh72Q>S6>&ld26(s3|nUsu&JMx%~+ zCyLMd#*<~tnmirOlAxw{k@hlUOkO%#g0XKWcmyL1HfwapFV0>E##p<%_yGaX`8gWz7> z6L^?lXi&0yNWq|tgabhXhk$#C3cy+_I5;>eCT16+8-Y3D?rLgozV@$^t>2so!Y;pn zzce3`Il=a!JUsJ(yER^wcJfw5wP(#)Z6h9bJZ9*%`x~nehGDDjB+zG1h2#2sopVLj ztE+#8B7@q6phLHnnZ5gmN;UFLhk6K?M%?bd&9J}zhC%};+qR93o;h^6GLs8rZxk9% z>|&V&_okms(fsR(`-n?F#QDQ+?K;SMns-KjL8VJ*(mVL!o%>&S-MSt zka^BY9jvRsA&E>j-oX^n(fJ1oF-VBKfh?I@Unfk^nuVU2&iAc7XvLUnO`UR}^n)|` z)g%+udhdYcjj#;td^X*&f1b6eQnSJPLQ|5&cQgOQ8guk7#3RY~0^M?c+q)0&OlNlm1k=UgWC26Uc*PVs`$NqXZ9NC*b^OiZg9lzu$-4SR31} zTnB7w)sWxmY9`Uo#qM}nC@%0|PQ&YVL)abB4U*Zbz!`Y%Y(-{&UU5rh;%WxHddSj zm$HqhwHUHz{xt7yFi1i~Tdw=Y(h|UhAVx==`yz^5iB@yt7h<=|ggv3G8LfPQw?fxE z=h#cN)SP-HTR^SCKKuA+%#P8!l^KBi^Yar6K&u@gUlL@gjh&s@c@5W~7y3I_=6;EO zkwM8F{q=}PRjx0eY48;VnMEmwve~V#rcG@kpDbQ>U+MPr=vu0lMJ}$t;ZyUg=XWVh zxiG5VsPQ(Gv|QZpDmEHo@8?K1I*P+0nQ5VgYYTLNJczGR;AQ9pOG|i0C)5i>cY^{m z%(G&u7BKU^U?Ksn0w|U_sdu4X{hq9%Lhptw3OAu|2bOUbZKOuU-%itM3OP2ql6ddQ(KJ-d?wP>D(!40{b;18 zEDNhG{ATxlU3NmaX@N14qlY)a;plhO)9cagmCH{B#wR95z-<9!`#+qVA;1`F!)_*$n`)pJ`iKC1C0x%8B`k335i7*Wg%_GHO1oUihQQb*rhWGsd8hvOft z-7DiddhHMIU|PH+sdV?YGn+XTur$ZZG22PCfKT0wjV0T(*%?&Wvnz_4ETO{_KQ5$D z=(@A=yEj_zec5ojbTV@bmm~^|Z4FQm4Sw7TBji8I&SbN{gg;J*Jhrqll$> z>%!|B^Qzmt7okzTitF-iRNt6lW8pU*s4XUu%ug!rq{mir?XYtoVVk0FXY1W4=eqM?VJ2L-*_C2_z2 z`2&%#0G^>UsjPT}VUe=U|6suMbUwG^9RnxC=<&+O5eF;l?L?A@B-!za*v~soz3b_!%o4QorF&BTo8koxl}*D#zjxmJDib7htRgE|vUFCR+=H=Ww#ss45`QrMGKS8RijUE^pQGQzM1Ba{ zV%rskd{3ir%yn;ZQe92c;ZfQB3vp7#7Gd^~yH48l45G_cKPtudFOnPU1D_exL8JJ8 zrQCHz&3@CB6n^H4AtRkQ`1#?=!D55*o;p=+j5oayi_uT1T>l{-#=fCnuU?mCL@lpb z9&~XcaLN&`KCTZe9yTF*A!A?_kwq`8|JCU$U-fL1KM3)r?RKBAAH3gQW|1F_WMC9!o# zNvLbGG=`gvnJxpVG)NrN}&8}`@lu4|D}uV?*PlN*mxr5;BeZnWN$nRE_Wi|Wrf zcyFCe%ds)F?wz!o^Y`6Lj+gbdI*N~sqFiQAS3Hs$({{A=;<{?o^J2NDJ6jv=@nLTA z<6*wb&oV!@)U+G~TqFqfM;iRB$RR3l0El|E1+X1m11p7w-r$7|7574QBfq_VF?tgJ*Qu=wI?EOIoC^x0J2po@}z(@-v z46;7A0h@p628s?07;TWKC@|eXUY%^Q;XZ)9*0w=?`mbM0z!{_h-R1Ex_~aaS=5awe z+-n>Y7S;%V`)EE?wr6N44btg;kCnrbRa4x@bDo4R}dEh zB3Qs=eB*2JXoWP`HtM@{GnVY0ibUTo+u-CC3Pux-oojATR{648m?JCwk$i38M-6i} z%e0HFwE?LC=zthEs&E2F)XYo5bnZ)nAxQzU*KFu zM@LS$5%(eJ9e=_6j_7HSc(n}aXU{Idi->4v0BqiZ5PfJ$nn5HD{#=X%U>aa|i#NcP zkZ|1&W2zG{WjP!8wg0Jh5fdEPr{Mwz!7VWPAF5rzDf>aD2b~1cx8IW_36(q`C2J9zM^7IwtJs7{&N|<+7{H&;`lkcnV41L zas_fH4BG$iqSK|y+UnoDP4Mh?e*1p~LCrUKXc74zK*?zW!v9)j|IbCa184(xFB=&x z-3^$6>HVcd-2W{}E{)>ADncN@ED23@znQg75EsC#rU+&P-ggPWQxBn6MQr>~(S8~8 zd7Qg~e5&Q*{EsjS@o|Il24VQXdnt&l838~R>1&}<0LWSkb1*sQd`q)%bPZk5vynYDE;MZ#qOPx93c@|^-l{`88500n$@vhg%^f1L%X8W z5g~b(-|`*hW%2YC6>iz%#X@Gw6Y__Z1P{)yRF-~^Sb<*7akJ^aam0DRK0%LpS1K3R znX)n8rKLySn4{KA#N9UvGBns((Q;|h`b5xPF(|GJ5ry1kHZFgXL2*;{sy!aBZChpR zpNOn8xz)uDg(Ao`Aij1@6j)Po_URho1Q-RQVlvM?Prxl*^jZN>C$Od@!^{QQws)21 zs?Gk>*mjOG!;|_~3qPFq$W1E!Wk^`qV-Q|~_6$jkEjCfycLLG_{BPgRowugzPC?MN znyYY|6G?0U#*e%CuBtqb0u;6)_}VR-USKL zr_Y{!K>Sdz@gHEdEM~-&YF&ahzPx=iXk71Xg`EUXWw@BruFasjUBuot;{eyg=b@qc zv@pRGd28I&edaHp76eTMjx*N1mASpu&n@k-`YFRs+~K_;DPL$YCqAC%iAX*6H;E|r zAj|zxgzkAg@SY{RLu<=&@6|JskdWT{M;4q@HkXYJYpxGhfawfNIzN`kj}q{4v>1UukI!2;nktZE1`vI2*# zCp6Ankg5&inS2w!anCoqJ!Xy3H+_PKoeH2yCgMrf5?mwy=5sct@pW z(9PpvRen6&tW=dy{FdxG_BQAq4fwJ&Q&R}zY!oXd6GXUl<+ny2K=uYOP(Ptj>C3VU zhQY@lXo%ioQ)Ngk^M=C#@+p$Qe*mCkNL19xdNTBFVqhu(H}fxkEx5G6DfUVm!(f3p z=wTcIxeCTKpktH|e!~d^%Mha1qaa}l3G!;r2fQJTQW(4kASg)>!otM-9>3Hi*!ArH zwe-V!yAr*1Vu*UrednF5W{Xr#>wSGUYGh(NF=V{& zdUiEa*1NaHeZ!~;C6^>T{_qmtpUe{Co0gcigq$@pNZ#nv^p`sWfh;hNzL+ZG&t@@P z7i*kXW$3)|<;5snkb8|mxIAvf)B1_N1dGc;9^c)SePiWGZFutKv#k$3Uxm?!PFPOb zEsTjq#@GJN7JdfBqy?Yfh425d0u}AMeIvq0UIFF!!1Y=HE&<9d1Yb+Q9Gq=)aFQV6 zT38`r38C@GMkNR=*CYji&=+K#;Hf|sO(3%%;AK0NnV3&71z0M3B$`W8F`z!<|KAw(3qL$7+< z`>^(_I>yii>YnCu5%!+6&48xPq0PBPgA-)hg6{rfey1j94O3)WB=;OV{b+~-5#F2D zm_SlI<3CjE{<{x1WoE3($ARY~~Y7&&ieLA8Pv-Y^-E$+-d(u z5>%zCm`{*7J>|Mfh#bZMP62%83o!%|L!$03zi1DPFdw9+XQnu4cLLAl zl61>$hJ>@4G2HkgH1p#n=^B{H@j5bx9aA^)(5Ejb!|U=L2cL6gLD^?`{_yuhCiP^` zwetyqy{XORRPA@6Pn*|;+3_F&TZw}pnDBp(2XnLh1`hgPJXk+s(*M(2XnFrjHbe4H zS+=&JEPn)dBBYS8ZRLxbKz7y#bP^g27RrV>(+m$!y9+|=U^zE(3Q1qXw8JHFf^Z=Y zqd8AmjzPBJ6i+t&+1F4|2NI{$Dl5F5l28d0-Y?fV+^q@{g;O3N&|%F7kIU-_g58jv}?NHjfd>E zH2AVdLWls>=0H}S;ko}kMJ`6`U?xBRfR+|EPYqamm`&AT6-iaejY@%_u#EQ1XW(aE4t;_Z z!{q0LMpcn6t}*ZfBUoM@t^BR)9%%VM z3U3U~6gU|4VT=PKKhJ=DBcRB26(#sx*-C;Ahh&yo(-gmbL+&)X|kREFe=WAjRcFgMRO&jDt3G(y;nqBA^+ z=f(0v0`H};%P9LavbQm;d?AccY!|)(zDj+0HcO7Km}8e1zZQ(c-n`u z%PT)VHl*8sK9Hoh{qcx=M*Xsk*JrT={Yw+Pi>nR(e_}iSZX|tNC-K}n8{?k?pNuHe z&|K^BaQXE4wTVZkR?O(s_ppQyvYs@_FFKK#vLdL8LykY>k|xS(ajpDmpI43k@#S4Y zhtX#ueD#w@^)ZzzKmGZe0+apn9tp=CRpk5?Oa#6l@*1pc&ApC!Ha4-Hzi|9 zOW0F-;Vsn(HT}O!PD#EBFNqy8_i(*f-%3r2oXY_mkg6us0Tne>W*w2nOBP1g?0k1+ zF%W2MYO;;pu`(B@zWj*mMcUX;nx^Xv`A_Zs;uLhUouf7Zt;3iAm?asR`QFtoJ>D_7 z7KYnjk}eHy?4#@P@3*+NTF5e%2wNUu<-Vo(Lw)z^)R0qDu4)hvM~9 z!B?A#Zfbn#DJ<&~k_+PAPC4(zUOeGdG~4GlTp~3Wat-IBj!_dE^AJ9JuutuMSZ0rpnq{(qQ=I$ugDe z%uo{&j}jd>9qy;r62{K_*mK^Zu`ct6Hn`#+gbz4Pd0F2zL*#VjW5j!JkYj>0QE^@0kWBy;5&Y5G1=O}cHpN?PU!v{ZUjAYdqwd+ADw>{ge|2#?lW*_f zL3`hjRahyHP70R@geTCGFlqPO*H{V=v!#r+$yy1Y?N#!rud} zKs@~=r`;0iBt89$G%1czMds)Q)A+`RGo{m0sDaD;c;Z4HkYR*e^QPH7Y}`pmf9UbY182QuTZ#)YTN*knQjAT z1o{a*7)^k%ndgrv_3`mR;+4Pz2ciB@1+cFSem%Dbdlr0W#1>a*)dxvkpBK;Kxr}70 zgJP*b?=7AvH@*7B+2j;aDu^c5*3~6WV-SmyR34HK_bL}RnMHRe9OT`wBL-}$+7#oG z3uS=W3$ek2Y_If3gTm=9k^YAr(Q1L>PSlaDz?%96bSGUAHo1b)f=xtowrO8)^)F>} zcg$lS?Wy_0Cor<-jwyF2)$30T*i}lnilxkkf7j%UCnmeX+OTrh7*##0D>8i zv3vm0rsUiq;7j?1p(}2puH2WU-amb$qk&#&t;EjCO6x}}e9^h!p(Wq15@hFQ0;$oT zuhd;9FuRBK>0(Ldg}&fhI=bkpB{g`wQ?Rt!>uS;ISZjZc{C6pw&Te~ws02mcpT}+Z z+@R{9rEu8jO?AGio!NqGoZ_{8a$b7{h9OBlrGe^eufgk&2F}~ZEl-VBwpTk@Ud6`- zg!DI!hFzTVE&aZsRpk_(avr97_xKfvc-?^_Pm*Ke4umK+Tu|Hq9L)soIpDPvw5k55 zU;~#|-AZTg?m6*#MMf$Iz9IuzioTgyKvk6>EHbSFF&yB9=v${pHb5MU2h)i|0wbW^ z*C{0e^YYk%jS@qC570$e(ExMB)1(Wqk@b|AsqYVgvJUa+LmO#GJ_N!9m>aP`vWhgd zAk+i^^_$Se>HrI5yK%sxX~4wc*^7X-8RBuZ4UWG^OH1=?R6(-_|7mp>bQOspT7e9R z-XB(T+(wm1Y#eBoV1EH(D+A37@L)@kk0^Am+6GZg5pGBP_@0Xj)2HIOhZv!4m zWTMv{2j4R20b`L>Ye9g520?M?1rX}xy2s%R4*1sIL1HWX{9ugMnmdK2;5D=?h(ei7 zI}X|YwK@lCMg%;-$Hzw&mwTha#+6gGc2ii_FSIRzFi!kz_*Dx zyr!-uaspHrhpx)1F;sa8l7^_kGty=d#lX3!Dq&plc>lDq)N<+ZzsI7&r_*{Yr&SIt)GnXJwL4UAx!|;2@8Tf;9}pyP?h?eyQ!rGVt#Ev z=FFYyu|6u3lZ}JRhttA`Foz@q8Hh(mYPJB*`O_@~& zlkO-ML`EAf5h4kkD)XF-j|B0U#Kt(oDD%*OTjl(m|`-Xy1{>; zB05dzqE&5nE~ENJ6=57%+k{Ljr=M&??r1w@N`CUVE>9jEYA0A=Pw=*H`bzyj2c#e4 zq9E4`7KwCO5df19F4uer>q1ZiyAUK;tv@~K`35o@5M)@30TRiiDqna> z0mcL1FYpmO17L!5JqZ~~@H2cZh#ko5OMQDO6?5Hb{Ms=B5;6zg#waV zLm6cU`AZx&wLmAG8yA4^3L-qjh`ATw3FV1{ip}aIC}FE93SennfawVqGSaLfYF2&7 z`-C?^-Ob`Zku-wKBl_^sQA)rGAu0Z1vb zE$lkj%-nyp<|p%^IpqU>fEm@2LRf9|LI!moiCWKV!Z4;74}G_PAf2L?z>eU4-h2g0Ah*A6ZSBm!}^_QAqq=uI%5q4UD`$5F*AuTN$M5l@HG$0Yz00{n< z-LU&RU=^ZUy&w+=21N*xKqw|iGe7_>D9ZgA`&0h0u)P-vB`r41D4s^J3fMMrgWnQ` zL{z|Tad=4j*Qd1JhW0{8AgoH6fKM3PQmUgNYeSm{z4pJ$g@WIz4L?V~>e}O_Ds%2hb;T%9Z zh=UIV8zx0%pe}X3Em;5dJ4DI8a z0@bK`nYVF%t2FuoBk?1}yR&Z9=VHYhE?H^#u^Db5Locd{ZHtQ!b7CIcBcoZGognKF zwtVMzPl2qZi`R{K`NuUSzIT~5?`*ifhdARV!<;aFvOlibiIJZahQ7r^ncrufGyvyd3u267U>50_-wVA&(AOJOd>cqHmBE0z~ff&Zlrd>_RXPvY;4T zB87Xe1Xcf!#NFrdRTY{Akk$CFW%5-HDgkCZ9J z(QDSciTW)j?gr&0qS+G8KS8v(UYH@juL*9t9h8MmL|as+e2x{gskU*SjdhqrB2eKd zM;5xIIKF{*mjWn21V00A`1ygFfdM^uL!L!+1}DfRifTYQ znpE^&wv$vYWQ(^H9TSxyEybh!i(G(0la4!|@4nUpF(?j7+T8%W&& z#uu!ep-9&NQO=NMfC6f~UZ+(h<}nV=-zEw=$^y0t2pAH{9kMyJlyB~WJ`0IfCS_5Q za?OG0aer8L2CX3{Xq1tJ=vrVKS|izLKvtU`caoV~Jqz!~DcD?o#^owyQyO)BMV9Jz zpG5-{CI<@XtgI~9Y58oH14LfB|`wDZaj4S3Hs&uqTt>nd$J(+J8#v3NnX){$Y)_SNfzRS6a?4^Q81!UJWT(e;K zw%`W10imbpwXi}G5&t2Z2jRlsRWI=e0po3ZZDa){9BoUWyL{+=I(*mW4rtH7_^Efe zHG?qvaN_R3$03WcfGEPOb=jN|}WGls_ zvY`-jDA0H#5Mp^lj!Pa435`!_+!_HGMTlmo&(ij%4>l_spzc7b5gs^>^q}a2u!wo2 ztmb%?1)(?)<1PpkkS*I6pcmE44ukx0Bu*5v(aN0n?_8YjUV+)+=jyM@R)F)JAkGT{ z&1JXugM^MhAb%8KeB>WSE*!|5^9@m}fNJUT@N_D+WK3maAe%fCKczoh-TLg*glX41rF=iumcadz8!ZVwrCb4=E=|>_h+ew zLK9F3Lv|y957bpZXsD6e2!0=v5~oh+_@U?_ra|DCKYe3D7U@|(q%wO>GTjzJLQ_L3vgBgD`R|1#w9&vgr5NGY9Q_K(tdz@}CBfI6@^ zB4+|Pgcu(Zu%X~9BnKc|zNp-Kq*0qvl z4%}Uv-DkqUCtpGUl6ekkdThA&j@Y&Ao}T9Fdf2L!5hl0 z&~;P<1cnXxO`#QtSy}4BouA4gS|M@0dG1WO$6@m8$MI(B+San8pxdjPi}TrXAAgMI z&vrVmXzj+vWC=P&{`!Q`W2{s6d6b)J%{C07knv`iUQoe{xIP^OFsB0a=53<=&V#+yC>Y$S6lErzB5;!JJmCe>;!mBKu z$E>@Wzew?;Gw5?JruU>bAU z4Fe``FF-qxhZ}JmgB-6t%m$y23u9u%wu9FQG|G!#U`#v^{CXYq*$7yuju1JU&?L1uBvB? zZ4zmlq+U$7BIJJ5wBX(NUam3!()#mauFd&+^9Jx+5M5aqYcOSYI3am`EBl>~V-pmD zHn0;G{63Y8Y{SYYnkD70xq5mbUs`b*y;0mFeC7~r*kYbEP`l}t`J(E_7)z8vmw}O4 z9sII)`_I|$n$r&}6|7ttuT}eSSe5W8Jpy-bvTvQO!%yzY#exJg5Jap3b^XDcggBZhp|X(tUyV*Id&TZ3;p zDPOu4__kmrb5{6b+RlB-iNbTU;;{GIH<lWtqU>q={-a+Rphps=@WWuAy#oR)}EeOviJ`9_z*m;W55lK(Is# ztI$M~e!O)Y3+tu9 zx~}b2`-=F4$8Ng;u`LpL^Q47&c?ke4j#sZa{c=UngYB#CZqT({zTN^owCc66^WsUT;CBHGHGi_7EWJJ%u@Z_>J;~w7 z(q-<$Iaq_jSifSJr}uqSX7~x-Z#>$@LK5+r_5rWu0K9uF*ArBI_SmQgC~QyNjxA8{ z4+-i<>!tV>Hn8g3uCCf=UzKzF?9@!^i7CnHlazD|umUyQ5q_}z! z(=l))=IN0$VQ;PDx>xnNF30weV|NOPKF*4xY}(y6jn7aqUYJrSJ7bCn8yxEnmw9own0@6Ro)fXSnm~lKl$BgF+CbZa6sXo zoszvm+}F|&a!zDVJpTMqP??GJ9bKgmBQQCOejs}wMAMa{gx_KpLs-)FTHvmdk5B4ce=HlZI%&*3+Wo84|&OQ*I*4c6f3mP*sW z)-`KCznJb_ezm7%=rRPapdSpO%@AS%i$)0`*A~HD*4L$B6pa>g69BCQ+e0|q_7UhCi8|8Pe+Sl2WVbvR z_aBRkN5iINV1xtHKKU$&iNG1B_0Bn|&o=5ClWW-`!C2Qs%cy+&6o!dhP6Ejl9-JDz z9M{oQbktO~a7%QBZt4{iT`Wzb4C+Ah-|sMLz6hnlUDpwK7u>Ckh2B&6aG}*_uvjCKTnGK+)!pdA)w`PW(T;cg6jmN z2tvq)T&n-;Y&05S_YMgA11zT#{}2A9O9`NW?G{9qF+&Fk8gI>vmI!8r_lSu;QPjt_ zn+?VTGBPrV&9}6dQ8xjX@ulE(vs3a@BhRV_m1Q(v@lsdv(#Kf0cS}AQbF)`z^QfJW zI5!b@s*{N89-ivIdEgKqvT-@fB@Hc*_mxWK&8;h0PU@QGJa4E-a!mfdaTuNBHsPCm zaSa2LAF1`V8aipuB%cL*3}!Vgx8(VKXY-|-FW;RS-O=QmnqJY;w7evD{=8@PNG)@Z zdKMD5xk1r&7XlCw1vTU_&%v@}=(M|GW#cexqy+d2XBuWP#CHoz@%-c71MLFGd@wl^ z0+52rYaRenBq5*qhI#Fh+MchL|7 z1IwKo2)dDkt5zP?H}V(^sMxf$`*H=t7q^8iDlXNQ#=6qW?cf=6Q{MjbT}qcsJx9=g zc2_a2Q=umLx$yU43V-L~-4~Sx6L_>caTSRie)0P8#p$0DMR02esnp9T?MWF;8IQv@ z^+%KSkRg>vPQK{2ZPXpF5UI~I9U%y)4k#_;_<-R43W#E*4~~;1V0q|V5ZWP(lYp3L zyuZy4+gcHmGT^;1Vy8gF2J=Q56CUknZS%-ZKf*W@MKu9wU3_Ybv z4XF1sZTFlnRh4&VT~?Xgg{6CggyGTiH zDnESjBFUSIrbzDMYmFLJYtsou_q?>hW@@T^(hK}caguJhh43l754xs|cB5TXjCuSw zXG4)Y+7eWu?n|nLXV_5@u9s*w62pCH@h`4Kw&gfF%h6!Pp;yAS4XK88kui zzfhoELbi-gEJ?I(fkYJ92DuW?WC_Lqk!%UDMUTAvV+sNwlt64C5}UQG@wfVvZW{fl zR=#&I;&xeOv~urrd)-xnXqPbls^HWG!6R)lZSIhpUzsQ0Xnc8ZIN>)y;p8%7r8nEz z^E1`p*7u8?@~Q*sOIJAEkS=>sZC5&@ujP`}np>`|L?r6`g!E99C1e3P@As=;;x!-Vw{iiXaz)@N$b$7^L*PM! z%qe_Nm|Ot@(x`Ed9UdNz4BQ1vJ_?YHt@^V#cQ+8qu6+5M^T#s2;~Og*FBUNb&6er@p&7jc^trz z_Mfp+c5>xFlC(n2W@Y1g3kQjP{=&qo^eF?6Xu;AymaOwP>?7<6zVrVxM_g`)IViXy zIlgkQxGf_5Nd{O z!i7@<@w$NMJA9QNd^nzJOb6m|?q@Ku{`Z~cn!M|G5);U4OK}dXD#S3*t>qCHpE@$gRk{^KdPkFcI9#e zWZvGk_m{}VkbVn`kRZnog@o|-+Qp?|Tz`@j4Ade!yh|YTCXNS?-v}mlZnM!a#QVuF zBRUZV;KeqaAuqfC*z*2_7fGAH6e70ZtO*rF+Kn5MFLWj+R95c-Wa%NCSwxwGN8Q(C$+;~vz+vg3bx_a05Oi>~3W9voQwvmEw!SmI4$ z!qd*W{Mbm&SZOjef>gVbZbtlIYC?88N#xDFH(WsU|D8x$Po`C`mUp4D4c@%+vAswa zp1|g(HJuZ`_Ldp)a9eXIw2|Cb+cmR{qE z>k?vPKxC=-$0f)ix@NQ3A#r+Sm>tL{73KNqljLlY3J2HAc)*Ei3!c}a^H)$7MfAAw z4p%$ImO#O)>m|NXef@1x0D}$AP;yj^+hT`e^6JDZ!*tEwfbWhNN!PK6GP%UgLQF6c zU0wD!7C-8)idRC(pv#mUpXnJOdXrt`zox?6z*8Cr_Eps!#-sHeBLgCp2Y7E~Jl))v z3(4Pn<>aQ(EhjLHpnsNL*ircAO@F;5ur(_Jvak}iz~*+*8N{sLhI7i%(UBeSU1XQ| zfkd(ySc@Ny;T}OU0|aN#d5*560vd~`BO!VY_RTc{SZUn<{VI&bK+mSU&VjRn0eH#n z;K?isaBb3!Ia;Fex_vX}J463C=s2_S@!M8sIoF$qZdagJ^VrXoNvXe0l1uzbKXHJ) z*g#mjCGB9Mg-XKZZfvUP3hOA7cU<|+fOl>7bc<4 zU=VKmXCu(J>gh2Ke+`d1UCepYo|YoEUi6{qEnJm(T+UZR9l7b51vnG z?eabz=lgpCh%%b{6trq*E8edzyfPR;k&ACVKY2B9Lim07;K#af>@*M06C;?n?J5>6 zzjM$x*j!xF%?V$6jEjy=5DBTRPGa(oBD45ooOO zk(Tgz^(qA(vFmWb4aF)AzYhakCRV6zXRe}ivjb9+Ew5$Yyv2KVW?&DT7lC=BTRHa0 ziv-hRx_;(xuVXsdXe(=MlxDkqil>+We&Z8C@209pWLOMT45WkCRawPm3L%#g-STM1 zaL?H-<0KZSX{!f`EYfO%)OqaWS{ezzSBA9v+xQwyy@_iDzsU$_0G!6a$=tw_$g;1;$G4;4FP95>zHom zST1~_i*y|1Ykg3-*aFJd)<)r7--1$4Upn1Ojtn9hTj;j z*VjFM*scmY*3pn19N_Utb0I*g*wf()e2po5rGp-~z%Tbcf1LiHg57bzNPp+%6dkM7 zrZOSRC;!})>(RN2DQ^ifl+isoBxSFWL{x8hGiTfz6KHJW$ClvmnH|4hOxOq7ikRUDzB(ZCdW^YYa)1!#uvsT)Fsd4J_-S0X&>+>W zdmXCT1(NuJ0^&VV&nyhco#bOJxD4X3Sf^)gA3CZnBxbT4kb_IXNfQF-52}?*$7Im| z6r^uZUd`0+`F(5L{f5}~=|RWMm&7gtquF)Qkw{#iwZLTh_Ak!>>6kz+g(lh{ zj$|M-(2?*92)Jqj?GLh%4q>l=gO(sD0*HSXzJ3}%5)%cS!DWOjhL6I;#M}aR zrsw7wpiTQ_QjFw(gt4(*6@(jKCijLsiyZwUnrr!^aCf*2X?*NE@%mp0@meN+eK`^{ znVB(A`%=&bTW-HkT>E``-<-Bfn@5H)n&BU_#$GVht#ZQTu5Pb^wG1!u2v(y zRGZ+;kp6Obf#GT8@W@l65m*kU77#HL?wfX2`#CeuHsRPwql~QIV<_3_gEC`7=?4VG zg;YyN*gpfx7{piMVon2JpBK`TvIs4m-S&Pxg^juFR9ZWljC3ck!o^tDL^{MNGTz6ZjYBWTR*l%zr$_8-q8 zX>={j>b^cIW{R7lwOL~6$nmbgxL8|lUv5G>t={DDQ!Jr*ixmRN>42Dncec1 zX-0et-CA_f)(=oHA$cG6Gdtv_rNF$3I2$0i9~6T6JM_>{)dDGu7|tOuvKEZ* zfHRm3X8lAqO+q?OI&9;~XbA!r^A({(PcUH0=jl8G%6bdZoq$_H{5decKTCKFn9GKp z9_?3ETs6sMA*weDH8BS@0ZS?lJFI|YdsJ&tPkl?Ba3UUg`n0AVFkqi=wJwq}L^pKb ztKGU+jTVGQL`q=#MB;%i?c);L{YUg38}c!4T?Z2B0&lajR1sNwQJ2~$JPJL?x|Z}P zdv|XOouBmW-R;ox25vYDST{DzUS%?8FGLOhUO^@OU%0=KF9 zsnC+XgmFj`=G4esV2OO1y~h;8wx46|XHMf&y!m~MP{^}QP%7?S>y3W_N9!c~m;qLX z1p9kdtYNd}X%@cQi^45ERHUQItc_&rccNT}qzybKGRaa*2k6L2$*cH1KYw@Z!|pdp z+~wwBci80qec1Jo7?PifPm2~Hx^|XnVWyTUK)U8Cf=tEanql`wDPD6YJ6}&@Rk%BJ z{fqnSog0rAgLVEU%a3{E)O{)KUmvx2>ySy}P_fPQvCihq?<1dFuC2TK>Wc4R|1l|D z%VAF8m6UPnA7nS%ecNU9xWA}0ccmwM(YkCo&G)0AZ%+c)5$xD<>bAFHd?@m%pE$r< zhPIrZ^iMG{RVw}FX{!kL*zPJPKP+W?3co)xFlWjY&)Ja|F9TcrN=r%$NJvX}DIg&& zDInc~ba#hHcS{LKcXxM5Bi-FK_cPa8-`?k3`}{e-)(_WpG3PsEtbk z;E)M6gTohJ`9pF|1o<}6eg{Vvf5MYdF{ldhPrdo&E(W3gDk#@F)RT)bcj{_=6%h2w zKDC)$8%NZj+&|FD`d0QO0FB+2e*36*-`|}tzr>|P3uXTq<(h+k)M$nLlnJSr>O2MG zE7cGyQe@qKrxCB_d+T?w14$-p>$t1avO}b_V&WeznAff4QDgJ`z{sC!$>y9z!MCG2 zAL`KT4-SerBl0T-4dXel>C4drt5J=%n+t2VW@l>9Vw++TzZm#AWTyH%LNm5wqVIg9 zcK$_;x}zZpgz{dz(P`_9NcS$f{-dRbUliI$!Ioaa{|=?^AC@YVU_CD>t<2rMk%KI- zPGk`3N(;p(ttkI8-AWj9YCY)F7qb68dyFMBnYn9WzZRRYgN9x{ zBMxa&rdSy)(eR3B_{EF7JR1f4+i9k+ac_+ghDA%Z3sh@KJxDzYj+~$jMa1Z|^0qH0 ziOu59LW{`TU>1QCc}h5HP(i;Xh$^!QlQ4|7 zha`qr23AlIab*t?70F3TwFRP8%FOrgOdfpuw(!)YeW+knN!C&C#na!Aa0I(#1c%=v z2du8k9FGg`2wu;%+)Xu_g{kEf4IDkXKHpS^*H=RuF1EOBxdtoYsx-D);Vrbtx1a7O zeK{ot>pG5aF7P_V&!2t~Uc|b_vwu5KTLEvJ&9z(bsT6MtSy|ed#uq&fP1#Cgoj!B= zP1z5PFFdJFr9p`bO4#S9$+1GA&3Tam1Di3e%@6Vm z>Cr|}xK%W9*ok13wVLx9_Rm}^*}ZH||9dMqK?A5GZxYJx=)kfLG!h+1jOit_u`jN& z4=Z4HrsB6v8Sulo5r1#BOC5X!p*~H?>chkV=; z2A<%oRTzZbNi+8zE%);pER z?gph2uTNXhl`G}NS;Pw~mhtYqS2~XQe$@UN)S~=DQ%gxYcgkI&g}Ot*4GerP^XDR( zP{`LD^80EH9f>(0gBpCVfYYqu8sO9viD zvcmbHW*-~NL7T6U0w4aZ62VN5NP&;?HGFbNTkH6NHKJJr>^4;PjMubJwJ{~F!_fp+?{R}Pv^iB&BS}JO_NgBzL ztX#Gv&*NYYX*|JW&*+!Ewgcr`@sm8G_cs8`*Nc$S%MAv&+{@oS;_$#-T+hCh1l*n)`3HWMpI3$z z{;>7IZqIcdZ^!lo*A+s@vcu_HO+-Tz3);|;LTLmEW!X%XzVAmXtJI~X-beBFifmef8HistXd6t3Mqy_z3E($_CAgcV7~l^8K>+&amo@x!pM8hBn{ zvfteG{V;)O$B0Pcp;B`t16ZLlDVdlQC2t9Fo7G5y6ucc`QO0`bJ1q2>xof;k+}Sry zW7n$mN~kRlta?=Qr(2THh+hSGPIG(?GkQ z&ZFaysx=&YFZPwaUR`}R#)gt^sWo2=u5(wWNN05d?f%wF&o8!Ps%05WVB(<>3&8e9 zp4gHBcC}T66Oob)XW52AUhZ7U6i4y(d>Nv(Z)m%duM3cp z)@wA`tW6ap0r&zwip+u?sn=V^rZ+1VcTtq%U;ozmzu%>Jv!)S{tNk%r`x%B$mwOu~ z(o%8ePP`FcUT^ci7p8$D4gR|on^864nwGXp3G^byGhP!*>rm?4#gm0DR&o)4+O~2I#DEqL2O;*C~FZTi;Y`u-$TJ@?jPH0N^ zJWKz=Uu?N;-knnV^=hGOJ9qX22RxINJEmqejfA5m=;~Q$a8N|XPiaXFrz-h$WgN9T z^aTNQha1rMaE#KQKJEKw;ayJePRu}tT2D(mhDqr5<9fX7?geVHqaP@Yo4ClwS~Tff z^p~M_vkv-1Wc#@ z;3vwd12CDmX+ps8A21};4$3Yv_dE-zg`W?KE3C8XB&_YMlP+B`A69TjUT>LvDtP6) z8w>d|SRVbL%%2`D7Grd)|&KRD7oItek3sR*;wBu%Fn_7mR&6Az@R z&F_|qFg!_Xbrm53Bpu2Pawz~7L)FHhyF&^_cfV+dW9pD*I=u?nKnj~Jgrl%i3N8-a zt7oRIiu*hP32$>i?*&ijzxU_<`ihmcJ&oF&2%t6@0-CB@9rX|B@KVp5=)fQx2d$3$ zuajg7ak38Z0-3h_5=cLMh|!F!(RPs$x${vzD~fwwF~DQNzF<0m zy-})d#xEiPB$SmO%SBt*|NAqpUcRl$r_b+N=kJF*p8r0;!0Uz`j_9$Y<Z0FOK7K@Xf5m~=s-yz)t zj`Sl!me98DcIt{{scQT}w$Yud2e4`sd0@Rs6#B`Dr-5yT!e9Tylk=$-4m%kV+7j3N zXMfDu(np591@?QyFIQx3c=L*XNX&BVcFPouJ zMbhVNH8e1Ez!JgA=lVRSgoC?9n?6+7Zu|-F3Da;R&VB-bgpH24jdGVbp8h^08iFQ$ z_S9)RJ@B-)!(Gg9^4ltnCe+4s5dh6o`mOwvFPT*tMr}!zj8kz*2-&i{SL;7z#19ZZ zzwLMH6BjXF|MIk3d0AA^&UsA?7KH#|ld2yK ze*JGJRvsd#U96N9>a&WL@fT?UBf@aS!c#Qc{u7Pj+noUP9Ta@*E+neM zc1GeVMicl=42MFr-GrHflKk+Q!Z^B+88%@TT0jwfWPP**w{P)vzlp;*fU+j2REs1D z0{PUJ(~6-29B*%5;-zZ7zx#AR(BQ~`Po~qkG@b?+Y^4Qz)XjxZlAO=di5Dq=0)+%V zJcZp0x5hhtJH%A=o)O08z4do*Fpv)Ydrkp6^kq18OmBswFO%mJLT*8f;bOLVP$g#v zBKOD{_;MXuZ<|AzLZjkNdNYn>VL;Mxvv}Q z7k4mLiIG|L+7yPDLt8ug0sufBxvUTpl>3^2DGcxnBnvl+6IO&on%8t#6cG_=<$7MhRc@n9`QFKWm5;`)H1zC)1U`wB;S7%qs5CWK=6R= zAH$X`Z@%;a*7v-J23M*r`3TA0x2@Ioz>4Kom5{M? z4P&Fi4ccdm&)PTq$b5L44Y$j1EYN*7hsC*z{*grNPqgcUGjhmmvI}l$Uda(3iAwvn zjC9K%trD6MTvH>0OFj~oZ?PbgpSV``dmuEo> z|6SWgtb|j{E(#c}6KL4(`~n$ElMyr@Jl3Td!3`OO9`vM@%cS(4Z-I zfiK-r!JMM6*AZNFRGzl9;i_+Lnp|LO1{MM{^o{7P_;)QU+LKK(0-myCHE{sd#22+v zepyB9RceAA$EdFHu15WfDUzyVTc)W|avmmyIdC!`VxDJ$V*%JNXk3Ooz89-<*>J2< z%OX;`7a{*z+^WPg5{l>*_-_cv^=;{hCE3MqKCHMo6UMZ~_>8oYm-Z=Nr(3{$D?U8s znP3|q-%{pT(r{5zIbKs%9w=%uR)VR9BynTa%Ja(eP@{mW!WOx%d)()tC~Ip1WB`|` zuwa^vg%M6wbs87;>;40{XsIWezcHf})8x<3w|HkLZ6@Ypf++WjLx#7!@BjlCYjRPj zh_GTOO!y{0^lYDuBtk#kvu%2If9plve=W$M%~rxK0!GFV21Cn6Z|9JiYbW#Er;O}$ z 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 literal 0 HcmV?d00001 diff --git a/doc/source/pages/other_predictive_models.rst b/doc/source/pages/other_predictive_models.rst index c67b860c..2b841cad 100644 --- a/doc/source/pages/other_predictive_models.rst +++ b/doc/source/pages/other_predictive_models.rst @@ -1,24 +1,23 @@ -.. title:: Predictive modeling tutorial - -Predictive modeling using deviation scores -============================================= - -The Normative Modeling Framework for Computational Psychiatry. Nature Protocols. https://www.nature.com/articles/s41596-022-00696-5. - -Created by `Saige Rutherford `__ - +.. code:: ipython3 -.. image:: https://colab.research.google.com/assets/colab-badge.svg - :target: https://colab.research.google.com/github/predictive-clinical-neuroscience/PCNtoolkit-demo/blob/main/tutorials/BLR_protocol/other_predictive_models.ipynb + ! git clone https://github.com/predictive-clinical-neuroscience/PCNtoolkit-demo.git -.. code:: ipython3 +.. parsed-literal:: - ! git clone https://github.com/predictive-clinical-neuroscience/PCNtoolkit-demo.git + Cloning into 'PCNtoolkit-demo'... + remote: Enumerating objects: 1237, done. + remote: Counting objects: 100% (360/360), done. + remote: Compressing objects: 100% (185/185), done. + remote: Total 1237 (delta 200), reused 306 (delta 172), pack-reused 877 (from 1) + Receiving objects: 100% (1237/1237), 141.45 MiB | 10.83 MiB/s, done. + Resolving deltas: 100% (562/562), done. + Updating files: 100% (70/70), done. .. code:: ipython3 + import os .. code:: ipython3 @@ -42,7 +41,7 @@ Created by `Saige Rutherford `__ import numpy as np from matplotlib import pyplot as plt from scipy import stats, linalg - from sklearn import preprocessing, decomposition, linear_model, metrics + from sklearn import preprocessing, decomposition, linear_model, metrics import warnings .. code:: ipython3 @@ -62,7 +61,7 @@ Created by `Saige Rutherford `__ plt.rc('figure', titlesize=BIGGER_SIZE) # fontsize of the figure title Load Data ------------------------------ +========= .. code:: ipython3 @@ -85,7 +84,7 @@ Load Data Create Train/Test Splits --------------------------------------- +======================== .. code:: ipython3 @@ -117,7 +116,7 @@ Create Train/Test Splits test_mu_centered_ct = (test_data_ct - train_data_ct.mean(axis=0)) Principal Component Regression (BBS) --------------------------------------- +==================================== .. code:: ipython3 @@ -131,7 +130,7 @@ Principal Component Regression (BBS) .. code:: ipython3 - print(f'First PC explains {pca_model_z.explained_variance_ratio_[0]*100:.2f}% of the total variance.') + print(f'First PC explains {pca_model_z.explained_variance_ratio_[0]*100:.2f}% of the total variance.\nThis is an artifact of zero inflated data') plt.figure(figsize=(10, 7)) plt.bar(range(1, 51), pca_model_z.explained_variance_ratio_[1:51]) plt.title('Deviations model Variance Explained Ratio\nPCs 1-50', fontsize=25) @@ -141,15 +140,16 @@ Principal Component Regression (BBS) .. parsed-literal:: First PC explains 23.41% of the total variance. + This is an artifact of zero inflated data -.. image:: other_predictive_models_files/other_predictive_models_16_1.png +.. image:: other_predictive_models_files/other_predictive_models_17_1.png .. code:: ipython3 - print(f'First PC explains {pca_model_ct.explained_variance_ratio_[0]*100:.2f}% of the total variance.') + print(f'First PC explains {pca_model_ct.explained_variance_ratio_[0]*100:.2f}% of the total variance.\nThis is an artifact of zero inflated data') plt.figure(figsize=(10, 7)) plt.bar(range(1, 51), pca_model_ct.explained_variance_ratio_[1:51]) plt.title('Cortical Thickness model Variance Explained Ratio\nPCs 1-50', fontsize=25) @@ -159,10 +159,11 @@ Principal Component Regression (BBS) .. parsed-literal:: First PC explains 24.28% of the total variance. + This is an artifact of zero inflated data -.. image:: other_predictive_models_files/other_predictive_models_17_1.png +.. image:: other_predictive_models_files/other_predictive_models_18_1.png .. code:: ipython3 @@ -176,7 +177,7 @@ Principal Component Regression (BBS) test_transformed_ct = pca_model_ct.transform(test_data_ct) Fit Linear Regression Model --------------------------------------- +--------------------------- .. code:: ipython3 @@ -184,14 +185,14 @@ Fit Linear Regression Model # we will check that this matches sklearn results later # fit ols model on dimension reduced train data - train_features_z = np.hstack([np.ones((train_transformed_z.shape[0], 1)), + train_features_z = np.hstack([np.ones((train_transformed_z.shape[0], 1)), train_transformed_z]) - train_features_inv_z = linalg.pinv2(train_features_z) + train_features_inv_z = linalg.pinv(train_features_z) train_betas_z = np.dot(train_features_inv_z, train_phen) train_pred_phen_z = np.dot(train_features_z, train_betas_z) # fit ols model on dimension reduced test data - test_features_z = np.hstack([np.ones((test_transformed_z.shape[0], 1)), + test_features_z = np.hstack([np.ones((test_transformed_z.shape[0], 1)), test_transformed_z]) test_pred_phen_z = np.dot(test_features_z, train_betas_z) @@ -201,14 +202,14 @@ Fit Linear Regression Model # we will check that this matches sklearn results later # fit ols model on dimension reduced train data - train_features_ct = np.hstack([np.ones((train_transformed_ct.shape[0], 1)), + train_features_ct = np.hstack([np.ones((train_transformed_ct.shape[0], 1)), train_transformed_ct]) - train_features_inv_ct = linalg.pinv2(train_features_ct) + train_features_inv_ct = linalg.pinv(train_features_ct) train_betas_ct = np.dot(train_features_inv_ct, train_phen) train_pred_phen_ct = np.dot(train_features_ct, train_betas_ct) # fit ols model on dimension reduced test data - test_features_ct = np.hstack([np.ones((test_transformed_ct.shape[0], 1)), + test_features_ct = np.hstack([np.ones((test_transformed_ct.shape[0], 1)), test_transformed_ct]) test_pred_phen_ct = np.dot(test_features_ct, train_betas_ct) @@ -216,34 +217,20 @@ Fit Linear Regression Model # OLS using sklearn - lr_model_z = linear_model.LinearRegression(fit_intercept=True, normalize=False) + lr_model_z = linear_model.LinearRegression(fit_intercept=True) lr_model_z.fit(train_transformed_z, train_phen) train_pred_phen_lr_model_z = lr_model_z.predict(train_transformed_z) test_pred_phen_lr_model_z = lr_model_z.predict(test_transformed_z) - -.. parsed-literal:: - - /usr/local/lib/python3.7/dist-packages/sklearn/linear_model/_base.py:155: FutureWarning: 'normalize' was deprecated in version 1.0 and will be removed in 1.2. Please leave the normalize parameter to its default value to silence this warning. The default behavior of this estimator is to not do any normalization. If normalization is needed please use sklearn.preprocessing.StandardScaler instead. - FutureWarning, - - .. code:: ipython3 # OLS using sklearn - lr_model_ct = linear_model.LinearRegression(fit_intercept=True, normalize=False) + lr_model_ct = linear_model.LinearRegression(fit_intercept=True) lr_model_ct.fit(train_transformed_ct, train_phen) train_pred_phen_lr_model_ct = lr_model_ct.predict(train_transformed_ct) test_pred_phen_lr_model_ct = lr_model_ct.predict(test_transformed_ct) - -.. parsed-literal:: - - /usr/local/lib/python3.7/dist-packages/sklearn/linear_model/_base.py:155: FutureWarning: 'normalize' was deprecated in version 1.0 and will be removed in 1.2. Please leave the normalize parameter to its default value to silence this warning. The default behavior of this estimator is to not do any normalization. If normalization is needed please use sklearn.preprocessing.StandardScaler instead. - FutureWarning, - - .. code:: ipython3 # ensure matrix math predictions and sklearn predictions are accurate to 5 decimals @@ -270,8 +257,8 @@ Fit Linear Regression Model Passed -Mean Squared/Absolute Error of Predictions ------------------------------------------------ +Accuracy of Predictions +----------------------- .. code:: ipython3 @@ -326,18 +313,18 @@ BBS Cross Validation def bbs(X, y, n_components, n_cv_splits, pred_summary_function, verbose=False): assert X.shape[0] == y.shape[0] - + fold_accs_train = [] fold_accs_test = [] np.random.seed(42) shuffled_idxs = np.random.choice(range(X.shape[0]), size=X.shape[0], replace=False) for fold_i, test_idxs in enumerate(np.array_split(shuffled_idxs, n_cv_splits)): - train_mask = np.ones(X.shape[0], np.bool) + train_mask = np.ones(X.shape[0], bool) train_mask[test_idxs] = 0 # create train/text X, y train_X, test_X = X[train_mask, :], X[test_idxs, :] - train_y, test_y = y[train_mask], y[test_idxs] + train_y, test_y = y[train_mask], y[test_idxs] # mean center columns using train data only train_X_mu = train_X.mean(axis=0) @@ -356,7 +343,7 @@ BBS Cross Validation # fit OLS model if verbose: print(f'CV Fold: {fold_i+1:<10} Fitting Linear Regression model...') - lr_model = linear_model.LinearRegression(fit_intercept=True, normalize=False) + lr_model = linear_model.LinearRegression(fit_intercept=True) lr_model.fit(train_X, train_y) train_pred = lr_model.predict(train_X) @@ -364,11 +351,11 @@ BBS Cross Validation fold_accs_train.append(pred_summary_function(train_y, train_pred)) fold_accs_test.append(pred_summary_function(test_y, test_pred)) - + if verbose: - print(f'CV Fold: {fold_i+1:<10} Train MAE: {round(fold_accs_train[-1], 3):<10} Test MAE: {round(fold_accs_test[-1], 3):<10}') + print(f'CV Fold: {fold_i+1:<10} Train Accuracy: {round(fold_accs_train[-1], 3):<10} Test Accuracy: {round(fold_accs_test[-1], 3):<10}') + - plt.figure(figsize=(13, 7)) plt.plot(range(1, len(fold_accs_train)+1), fold_accs_train, linestyle='-', marker='o', color='C0', label='Train CV Performance') plt.plot(range(1, len(fold_accs_test)+1), fold_accs_test, linestyle='-', marker='o', color='C1', label='Test CV Performance') @@ -377,7 +364,7 @@ BBS Cross Validation plt.xlabel('CV Fold') plt.legend(fontsize=20) plt.show() - + return fold_accs_train, fold_accs_test .. code:: ipython3 @@ -389,23 +376,23 @@ BBS Cross Validation CV Fold: 1 Fitting PCA model... CV Fold: 1 Fitting Linear Regression model... - CV Fold: 1 Train MAE: 0.599 Test MAE: 0.619 + CV Fold: 1 Train Accuracy: 0.599 Test Accuracy: 0.619 CV Fold: 2 Fitting PCA model... CV Fold: 2 Fitting Linear Regression model... - CV Fold: 2 Train MAE: 0.572 Test MAE: 0.713 + CV Fold: 2 Train Accuracy: 0.572 Test Accuracy: 0.713 CV Fold: 3 Fitting PCA model... CV Fold: 3 Fitting Linear Regression model... - CV Fold: 3 Train MAE: 0.577 Test MAE: 0.687 + CV Fold: 3 Train Accuracy: 0.577 Test Accuracy: 0.687 CV Fold: 4 Fitting PCA model... CV Fold: 4 Fitting Linear Regression model... - CV Fold: 4 Train MAE: 0.604 Test MAE: 0.608 + CV Fold: 4 Train Accuracy: 0.604 Test Accuracy: 0.608 CV Fold: 5 Fitting PCA model... CV Fold: 5 Fitting Linear Regression model... - CV Fold: 5 Train MAE: 0.581 Test MAE: 0.687 + CV Fold: 5 Train Accuracy: 0.581 Test Accuracy: 0.687 -.. image:: other_predictive_models_files/other_predictive_models_32_3.png +.. image:: other_predictive_models_files/other_predictive_models_33_1.png .. code:: ipython3 @@ -417,41 +404,43 @@ BBS Cross Validation CV Fold: 1 Fitting PCA model... CV Fold: 1 Fitting Linear Regression model... - CV Fold: 1 Train MAE: 0.622 Test MAE: 0.643 + CV Fold: 1 Train Accuracy: 0.622 Test Accuracy: 0.643 CV Fold: 2 Fitting PCA model... CV Fold: 2 Fitting Linear Regression model... - CV Fold: 2 Train MAE: 0.605 Test MAE: 0.723 + CV Fold: 2 Train Accuracy: 0.605 Test Accuracy: 0.723 CV Fold: 3 Fitting PCA model... CV Fold: 3 Fitting Linear Regression model... - CV Fold: 3 Train MAE: 0.604 Test MAE: 0.701 + CV Fold: 3 Train Accuracy: 0.604 Test Accuracy: 0.701 CV Fold: 4 Fitting PCA model... CV Fold: 4 Fitting Linear Regression model... - CV Fold: 4 Train MAE: 0.624 Test MAE: 0.646 + CV Fold: 4 Train Accuracy: 0.624 Test Accuracy: 0.646 CV Fold: 5 Fitting PCA model... CV Fold: 5 Fitting Linear Regression model... - CV Fold: 5 Train MAE: 0.614 Test MAE: 0.722 + CV Fold: 5 Train Accuracy: 0.614 Test Accuracy: 0.722 -.. image:: other_predictive_models_files/other_predictive_models_33_3.png +.. image:: other_predictive_models_files/other_predictive_models_34_1.png Connectome Predictive Modelling --------------------------------------- +=============================== .. code:: ipython3 # correlation train_brain with train_phenotype train_z_pheno_corr_p = [stats.pearsonr(train_data_z[:, i], train_phen) for i in range(train_data_z.shape[1])] # train_pheno_corr_p: (259200, ) + # there are some nan correlations if brain data is poorly cropped (ie: some columns are always 0) .. code:: ipython3 # correlation train_brain with train_phenotype train_ct_pheno_corr_p = [stats.pearsonr(train_data_ct[:, i], train_phen) for i in range(train_data_ct.shape[1])] # train_pheno_corr_p: (259200, ) + # there are some nan correlations if brain data is poorly cropped (ie: some columns are always 0) .. code:: ipython3 - # split into positive and negative correlations + # split into positive and negative correlations # and keep edges with p values below threshold pval_threshold = 0.01 @@ -495,15 +484,13 @@ Connectome Predictive Modelling .. code:: ipython3 - fit_pos_z = linear_model.LinearRegression(fit_intercept=True, normalize=False).fit(train_pos_edges_sum_z.reshape(-1, 1), train_phen) - fit_neg_z = linear_model.LinearRegression(fit_intercept=True, normalize=False).fit(train_neg_edges_sum_z.reshape(-1, 1), train_phen) - + fit_pos_z = linear_model.LinearRegression(fit_intercept=True).fit(train_pos_edges_sum_z.reshape(-1, 1), train_phen) + fit_neg_z = linear_model.LinearRegression(fit_intercept=True).fit(train_neg_edges_sum_z.reshape(-1, 1), train_phen) .. code:: ipython3 - fit_pos_ct = linear_model.LinearRegression(fit_intercept=True, normalize=False).fit(train_pos_edges_sum_ct.reshape(-1, 1), train_phen) - fit_neg_ct = linear_model.LinearRegression(fit_intercept=True, normalize=False).fit(train_neg_edges_sum_ct.reshape(-1, 1), train_phen) - + fit_pos_ct = linear_model.LinearRegression(fit_intercept=True).fit(train_pos_edges_sum_ct.reshape(-1, 1), train_phen) + fit_neg_ct = linear_model.LinearRegression(fit_intercept=True).fit(train_neg_edges_sum_ct.reshape(-1, 1), train_phen) .. code:: ipython3 @@ -512,52 +499,48 @@ Connectome Predictive Modelling pos_error_ct = metrics.mean_absolute_error(train_phen, fit_pos_ct.predict(train_pos_edges_sum_ct.reshape(-1, 1))) neg_error_ct = metrics.mean_absolute_error(train_phen, fit_neg_ct.predict(train_neg_edges_sum_ct.reshape(-1, 1))) - print(f'Training Error (MAE) (Positive Z Features Model) = {pos_error_z:.3f}') - print(f'Training Error (MAE) (Negative Z Features Model) = {neg_error_z:.3f}') - print(f'Training Error (MAE) (Positive CT Features Model) = {pos_error_ct:.3f}') - print(f'Training Error (MAE) (Negative CT Features Model) = {neg_error_ct:.3f}') + print(f'Training Error (Positive Z Features Model) = {pos_error_z:.3f}') + print(f'Training Error (Negative Z Features Model) = {neg_error_z:.3f}') + print(f'Training Error (Positive CT Features Model) = {pos_error_ct:.3f}') + print(f'Training Error (Negative CT Features Model) = {neg_error_ct:.3f}') .. parsed-literal:: - Training Error (MAE) (Positive Z Features Model) = 0.631 - Training Error (MAE) (Negative Z Features Model) = 0.666 - Training Error (MAE) (Positive CT Features Model) = 0.662 - Training Error (MAE) (Negative CT Features Model) = 0.665 + Training Error (Positive Z Features Model) = 0.631 + Training Error (Negative Z Features Model) = 0.666 + Training Error (Positive CT Features Model) = 0.662 + Training Error (Negative CT Features Model) = 0.665 .. code:: ipython3 # combine positive/negative edges in one linear regression model - fit_pos_neg_z = linear_model.LinearRegression(fit_intercept=True, normalize=False).fit(np.stack((train_pos_edges_sum_z, train_neg_edges_sum_z)).T, train_phen) - - + fit_pos_neg_z = linear_model.LinearRegression(fit_intercept=True).fit(np.stack((train_pos_edges_sum_z, train_neg_edges_sum_z)).T, train_phen) .. code:: ipython3 # combine positive/negative edges in one linear regression model - fit_pos_neg_ct = linear_model.LinearRegression(fit_intercept=True, normalize=False).fit(np.stack((train_pos_edges_sum_ct, train_neg_edges_sum_ct)).T, train_phen) - - + fit_pos_neg_ct = linear_model.LinearRegression(fit_intercept=True).fit(np.stack((train_pos_edges_sum_ct, train_neg_edges_sum_ct)).T, train_phen) .. code:: ipython3 pos_neg_error_z = metrics.mean_absolute_error(train_phen, fit_pos_neg_z.predict(np.stack((train_pos_edges_sum_z, train_neg_edges_sum_z)).T)) pos_neg_error_ct = metrics.mean_absolute_error(train_phen, fit_pos_neg_ct.predict(np.stack((train_pos_edges_sum_ct, train_neg_edges_sum_ct)).T)) - print(f'Training Error (MAE) (Positive/Negative Z Features Model) = {pos_neg_error_z:.3f}') - print(f'Training Error (MAE) (Positive/Negative CT Features Model) = {pos_neg_error_ct:.3f}') + print(f'Training Error (Positive/Negative Z Features Model) = {pos_neg_error_z:.3f}') + print(f'Training Error (Positive/Negative CT Features Model) = {pos_neg_error_ct:.3f}') .. parsed-literal:: - Training Error (MAE) (Positive/Negative Z Features Model) = 0.620 - Training Error (MAE) (Positive/Negative CT Features Model) = 0.642 + Training Error (Positive/Negative Z Features Model) = 0.620 + Training Error (Positive/Negative CT Features Model) = 0.642 .. code:: ipython3 - # evaluate out of sample performance + # evaluate out of sample performance test_pos_edges_sum_z = test_data_z[:, keep_edges_pos_z].sum(1) test_neg_edges_sum_z = test_data_z[:, keep_edges_neg_z].sum(1) @@ -572,44 +555,44 @@ Connectome Predictive Modelling neg_test_error_ct = metrics.mean_absolute_error(test_phen, fit_neg_ct.predict(test_neg_edges_sum_ct.reshape(-1, 1))) pos_neg_test_error_ct = metrics.mean_absolute_error(test_phen, fit_pos_neg_ct.predict(np.stack((test_pos_edges_sum_ct, test_neg_edges_sum_ct)).T)) - print(f'Testing Error (MAE) (Positive Z Features Model) = {pos_test_error_z:.3f}') - print(f'Testing Error (MAE) (Negative Z Features Model) = {neg_test_error_z:.3f}') - print(f'Testing Error (MAE) (Positive/Negative Z Features Model) = {pos_neg_test_error_z:.3f}') - print(f'Testing Error (MAE) (Positive CT Features Model) = {pos_test_error_ct:.3f}') - print(f'Testing Error (MAE) (Negative CT Features Model) = {neg_test_error_ct:.3f}') - print(f'Testing Error (MAE) (Positive/Negative CT Features Model) = {pos_neg_test_error_ct:.3f}') + print(f'Testing Error (Positive Z Features Model) = {pos_test_error_z:.3f}') + print(f'Testing Error (Negative Z Features Model) = {neg_test_error_z:.3f}') + print(f'Testing Error (Positive/Negative Z Features Model) = {pos_neg_test_error_z:.3f}') + print(f'Testing Error (Positive CT Features Model) = {pos_test_error_ct:.3f}') + print(f'Testing Error (Negative CT Features Model) = {neg_test_error_ct:.3f}') + print(f'Testing Error (Positive/Negative CT Features Model) = {pos_neg_test_error_ct:.3f}') .. parsed-literal:: - Testing Error (MAE) (Positive Z Features Model) = 0.705 - Testing Error (MAE) (Negative Z Features Model) = 0.696 - Testing Error (MAE) (Positive/Negative Z Features Model) = 0.697 - Testing Error (MAE) (Positive CT Features Model) = 0.710 - Testing Error (MAE) (Negative CT Features Model) = 0.695 - Testing Error (MAE) (Positive/Negative CT Features Model) = 0.701 + Testing Error (Positive Z Features Model) = 0.705 + Testing Error (Negative Z Features Model) = 0.696 + Testing Error (Positive/Negative Z Features Model) = 0.697 + Testing Error (Positive CT Features Model) = 0.710 + Testing Error (Negative CT Features Model) = 0.695 + Testing Error (Positive/Negative CT Features Model) = 0.701 CPM Cross Validation --------------------------------------- +-------------------- .. code:: ipython3 def cpm(X, y, p_threshold, n_cv_splits, pred_summary_function, verbose=False): assert X.shape[0] == y.shape[0] - + fold_accs_train = [] fold_accs_test = [] np.random.seed(42) shuffled_idxs = np.random.choice(range(X.shape[0]), size=X.shape[0], replace=False) for fold_i, test_idxs in enumerate(np.array_split(shuffled_idxs, n_cv_splits)): - train_mask = np.ones(X.shape[0], np.bool) + train_mask = np.ones(X.shape[0], bool) train_mask[test_idxs] = 0 # create train/text X, y train_X, test_X = X[train_mask, :], X[test_idxs, :] - train_y, test_y = y[train_mask], y[test_idxs] - + train_y, test_y = y[train_mask], y[test_idxs] + # create correlation matrix between train_X and train_y if verbose: print(f'CV Fold: {fold_i+1:<10} Computing correlations between train_X and train_y...') @@ -622,18 +605,18 @@ CPM Cross Validation # create masks for edges below p-threshold and split pos/neg correlations keep_edges_pos = (train_corrs > 0) & (train_pvals < p_threshold) keep_edges_neg = (train_corrs < 0) & (train_pvals < p_threshold) - + # sum X entries with significant correlations with y train_pos_edges_sum = train_X[:, keep_edges_pos].sum(1) train_neg_edges_sum = train_X[:, keep_edges_neg].sum(1) test_pos_edges_sum = test_X[:, keep_edges_pos].sum(1) test_neg_edges_sum = test_X[:, keep_edges_neg].sum(1) - + # fit linear regression models based on summed values - fit_pos = linear_model.LinearRegression(fit_intercept=True, normalize=False).fit(train_pos_edges_sum.reshape(-1, 1), train_y) - fit_neg = linear_model.LinearRegression(fit_intercept=True, normalize=False).fit(train_neg_edges_sum.reshape(-1, 1), train_y) - fit_pos_neg = linear_model.LinearRegression(fit_intercept=True, normalize=False).fit(np.stack((train_pos_edges_sum, train_neg_edges_sum)).T, train_y) - + fit_pos = linear_model.LinearRegression(fit_intercept=True).fit(train_pos_edges_sum.reshape(-1, 1), train_y) + fit_neg = linear_model.LinearRegression(fit_intercept=True).fit(train_neg_edges_sum.reshape(-1, 1), train_y) + fit_pos_neg = linear_model.LinearRegression(fit_intercept=True).fit(np.stack((train_pos_edges_sum, train_neg_edges_sum)).T, train_y) + # compute train errors train_pos_error = pred_summary_function(train_y, fit_pos.predict(train_pos_edges_sum.reshape(-1, 1))) train_neg_error = pred_summary_function(train_y, fit_neg.predict(train_neg_edges_sum.reshape(-1, 1))) @@ -646,27 +629,27 @@ CPM Cross Validation fold_accs_train.append((train_pos_error, train_neg_error, train_posneg_error)) fold_accs_test.append((test_pos_error, test_neg_error, test_posneg_error)) - + if verbose: - print(f'CV Fold: {fold_i+1:<10} Train Pos-Edges Model MAE: {round(train_pos_error, 3):<10} Train Neg-Edges Model Accuracy: {round(train_neg_error, 3):<10} Train Pos/Neg-Edges Model Accuracy: {round(train_posneg_error, 3):<10}') - print(f'CV Fold: {fold_i+1:<10} Test Pos-Edges Model MAE: {round(test_pos_error, 3):<10} Test Neg-Edges Model Accuracy: {round(test_neg_error, 3):<10} Test Pos/Neg-Edges Model Accuracy: {round(test_posneg_error, 3):<10}') + print(f'CV Fold: {fold_i+1:<10} Train Pos-Edges Model Accuracy: {round(train_pos_error, 3):<10} Train Neg-Edges Model Accuracy: {round(train_neg_error, 3):<10} Train Pos/Neg-Edges Model Accuracy: {round(train_posneg_error, 3):<10}') + print(f'CV Fold: {fold_i+1:<10} Test Pos-Edges Model Accuracy: {round(test_pos_error, 3):<10} Test Neg-Edges Model Accuracy: {round(test_neg_error, 3):<10} Test Pos/Neg-Edges Model Accuracy: {round(test_posneg_error, 3):<10}') + - plt.figure(figsize=(13, 7)) plt.plot(range(1, len(fold_accs_train)+1), [x[0] for x in fold_accs_train], linestyle='--', marker='o', color='C0', label='Train Pos-Edges Model') plt.plot(range(1, len(fold_accs_train)+1), [x[1] for x in fold_accs_train], linestyle='--', marker='o', color='C1', label='Train Neg-Edges Model') plt.plot(range(1, len(fold_accs_train)+1), [x[2] for x in fold_accs_train], linestyle='--', marker='o', color='C2', label='Train Pos/Neg-Edges Model') - + plt.plot(range(1, len(fold_accs_test)+1), [x[0] for x in fold_accs_test], linestyle='-', marker='o', color='C0', label='Test Pos-Edges Model') plt.plot(range(1, len(fold_accs_test)+1), [x[1] for x in fold_accs_test], linestyle='-', marker='o', color='C1', label='Test Neg-Edges Model') plt.plot(range(1, len(fold_accs_test)+1), [x[2] for x in fold_accs_test], linestyle='-', marker='o', color='C2', label='Test Pos/Neg-Edges Model') - + plt.title(pred_summary_function.__name__, fontsize=20) plt.xticks(range(1, len(fold_accs_test)+1)) plt.xlabel('CV Fold') plt.legend(fontsize=10) plt.show() - + return fold_accs_train, fold_accs_test .. code:: ipython3 @@ -674,32 +657,27 @@ CPM Cross Validation fold_accs_train_z, fold_accs_test_z = cpm(hcp_z, gscores, p_threshold=0.01, n_cv_splits=5, pred_summary_function=metrics.mean_absolute_error, verbose=True) - .. parsed-literal:: CV Fold: 1 Computing correlations between train_X and train_y... - CV Fold: 1 Train Pos-Edges Model MAE: 0.652 Train Neg-Edges Model MAE: 0.673 Train Pos/Neg-Edges Model MAE: 0.644 - CV Fold: 1 Test Pos-Edges Model MAE: 0.636 Test Neg-Edges Model MAE: 0.671 Test Pos/Neg-Edges Model MAE: 0.632 + CV Fold: 1 Train Pos-Edges Model Accuracy: 0.652 Train Neg-Edges Model Accuracy: 0.673 Train Pos/Neg-Edges Model Accuracy: 0.644 + CV Fold: 1 Test Pos-Edges Model Accuracy: 0.636 Test Neg-Edges Model Accuracy: 0.671 Test Pos/Neg-Edges Model Accuracy: 0.632 CV Fold: 2 Computing correlations between train_X and train_y... - CV Fold: 2 Train Pos-Edges Model MAE: 0.648 Train Neg-Edges Model MAE: 0.678 Train Pos/Neg-Edges Model MAE: 0.636 - CV Fold: 2 Test Pos-Edges Model MAE: 0.651 Test Neg-Edges Model MAE: 0.659 Test Pos/Neg-Edges Model MAE: 0.662 + CV Fold: 2 Train Pos-Edges Model Accuracy: 0.648 Train Neg-Edges Model Accuracy: 0.678 Train Pos/Neg-Edges Model Accuracy: 0.636 + CV Fold: 2 Test Pos-Edges Model Accuracy: 0.651 Test Neg-Edges Model Accuracy: 0.659 Test Pos/Neg-Edges Model Accuracy: 0.662 CV Fold: 3 Computing correlations between train_X and train_y... - CV Fold: 3 Train Pos-Edges Model MAE: 0.644 Train Neg-Edges Model MAE: 0.662 Train Pos/Neg-Edges Model MAE: 0.636 - CV Fold: 3 Test Pos-Edges Model MAE: 0.65 Test Neg-Edges Model MAE: 0.708 Test Pos/Neg-Edges Model MAE: 0.646 + CV Fold: 3 Train Pos-Edges Model Accuracy: 0.644 Train Neg-Edges Model Accuracy: 0.662 Train Pos/Neg-Edges Model Accuracy: 0.636 + CV Fold: 3 Test Pos-Edges Model Accuracy: 0.65 Test Neg-Edges Model Accuracy: 0.708 Test Pos/Neg-Edges Model Accuracy: 0.646 CV Fold: 4 Computing correlations between train_X and train_y... - CV Fold: 4 Train Pos-Edges Model MAE: 0.653 Train Neg-Edges Model MAE: 0.676 Train Pos/Neg-Edges Model MAE: 0.648 - CV Fold: 4 Test Pos-Edges Model MAE: 0.626 Test Neg-Edges Model MAE: 0.659 Test Pos/Neg-Edges Model MAE: 0.625 + CV Fold: 4 Train Pos-Edges Model Accuracy: 0.653 Train Neg-Edges Model Accuracy: 0.676 Train Pos/Neg-Edges Model Accuracy: 0.648 + CV Fold: 4 Test Pos-Edges Model Accuracy: 0.626 Test Neg-Edges Model Accuracy: 0.659 Test Pos/Neg-Edges Model Accuracy: 0.625 CV Fold: 5 Computing correlations between train_X and train_y... + CV Fold: 5 Train Pos-Edges Model Accuracy: 0.631 Train Neg-Edges Model Accuracy: 0.666 Train Pos/Neg-Edges Model Accuracy: 0.62 + CV Fold: 5 Test Pos-Edges Model Accuracy: 0.704 Test Neg-Edges Model Accuracy: 0.696 Test Pos/Neg-Edges Model Accuracy: 0.697 -.. parsed-literal:: - - CV Fold: 5 Train Pos-Edges Model MAE: 0.631 Train Neg-Edges Model MAE: 0.666 Train Pos/Neg-Edges Model MAE: 0.62 - CV Fold: 5 Test Pos-Edges Model MAE: 0.704 Test Neg-Edges Model MAE: 0.696 Test Pos/Neg-Edges Model MAE: 0.697 - - -.. image:: other_predictive_models_files/other_predictive_models_50_4.png +.. image:: other_predictive_models_files/other_predictive_models_51_1.png .. code:: ipython3 @@ -710,51 +688,61 @@ CPM Cross Validation .. parsed-literal:: CV Fold: 1 Computing correlations between train_X and train_y... - CV Fold: 1 Train Pos-Edges Model MAE: 0.675 Train Neg-Edges Model MAE: 0.673 Train Pos/Neg-Edges Model MAE: 0.659 - CV Fold: 1 Test Pos-Edges Model MAE: 0.659 Test Neg-Edges Model MAE: 0.67 Test Pos/Neg-Edges Model MAE: 0.653 + CV Fold: 1 Train Pos-Edges Model Accuracy: 0.675 Train Neg-Edges Model Accuracy: 0.673 Train Pos/Neg-Edges Model Accuracy: 0.659 + CV Fold: 1 Test Pos-Edges Model Accuracy: 0.659 Test Neg-Edges Model Accuracy: 0.67 Test Pos/Neg-Edges Model Accuracy: 0.653 CV Fold: 2 Computing correlations between train_X and train_y... - CV Fold: 2 Train Pos-Edges Model MAE: 0.674 Train Neg-Edges Model MAE: 0.678 Train Pos/Neg-Edges Model MAE: 0.636 - CV Fold: 2 Test Pos-Edges Model MAE: 0.661 Test Neg-Edges Model MAE: 0.657 Test Pos/Neg-Edges Model MAE: 0.668 + CV Fold: 2 Train Pos-Edges Model Accuracy: 0.674 Train Neg-Edges Model Accuracy: 0.678 Train Pos/Neg-Edges Model Accuracy: 0.636 + CV Fold: 2 Test Pos-Edges Model Accuracy: 0.661 Test Neg-Edges Model Accuracy: 0.657 Test Pos/Neg-Edges Model Accuracy: 0.668 CV Fold: 3 Computing correlations between train_X and train_y... - CV Fold: 3 Train Pos-Edges Model MAE: 0.659 Train Neg-Edges Model MAE: 0.665 Train Pos/Neg-Edges Model MAE: 0.644 - CV Fold: 3 Test Pos-Edges Model MAE: 0.699 Test Neg-Edges Model MAE: 0.704 Test Pos/Neg-Edges Model MAE: 0.684 + CV Fold: 3 Train Pos-Edges Model Accuracy: 0.659 Train Neg-Edges Model Accuracy: 0.665 Train Pos/Neg-Edges Model Accuracy: 0.644 + CV Fold: 3 Test Pos-Edges Model Accuracy: 0.699 Test Neg-Edges Model Accuracy: 0.704 Test Pos/Neg-Edges Model Accuracy: 0.684 CV Fold: 4 Computing correlations between train_X and train_y... - CV Fold: 4 Train Pos-Edges Model MAE: 0.674 Train Neg-Edges Model MAE: 0.678 Train Pos/Neg-Edges Model MAE: 0.658 - CV Fold: 4 Test Pos-Edges Model MAE: 0.653 Test Neg-Edges Model MAE: 0.656 Test Pos/Neg-Edges Model MAE: 0.638 + CV Fold: 4 Train Pos-Edges Model Accuracy: 0.674 Train Neg-Edges Model Accuracy: 0.678 Train Pos/Neg-Edges Model Accuracy: 0.658 + CV Fold: 4 Test Pos-Edges Model Accuracy: 0.653 Test Neg-Edges Model Accuracy: 0.656 Test Pos/Neg-Edges Model Accuracy: 0.638 CV Fold: 5 Computing correlations between train_X and train_y... - CV Fold: 5 Train Pos-Edges Model MAE: 0.662 Train Neg-Edges Model MAE: 0.666 Train Pos/Neg-Edges Model MAE: 0.642 - CV Fold: 5 Test Pos-Edges Model MAE: 0.709 Test Neg-Edges Model MAE: 0.698 Test Pos/Neg-Edges Model MAE: 0.708 + CV Fold: 5 Train Pos-Edges Model Accuracy: 0.662 Train Neg-Edges Model Accuracy: 0.666 Train Pos/Neg-Edges Model Accuracy: 0.642 + CV Fold: 5 Test Pos-Edges Model Accuracy: 0.709 Test Neg-Edges Model Accuracy: 0.698 Test Pos/Neg-Edges Model Accuracy: 0.708 -.. image:: other_predictive_models_files/other_predictive_models_51_2.png +.. image:: other_predictive_models_files/other_predictive_models_52_1.png Lasso (Linear Regression + L1 Regularization) ------------------------------------------------------ +============================================= .. code:: ipython3 - # LassoCV uses coordinate descent to select hyperparameter alpha + # LassoCV uses coordinate descent to select hyperparameter alpha alpha_grid = np.array([10**a for a in np.arange(-3, 3, 0.25)]) - lassoCV_model_z = linear_model.LassoCV(cv=5, n_alphas=len(alpha_grid), alphas=alpha_grid, fit_intercept=True, normalize=False, random_state=42, verbose=True, n_jobs=5).fit(train_data_z, train_phen) + lassoCV_model_z = linear_model.LassoCV(cv=5, n_alphas=len(alpha_grid), alphas=alpha_grid, fit_intercept=True, random_state=42, verbose=True, n_jobs=5).fit(train_data_z, train_phen) +.. parsed-literal:: + + [Parallel(n_jobs=5)]: Using backend ThreadingBackend with 5 concurrent workers. + .....................................................................................................................[Parallel(n_jobs=5)]: Done 2 out of 5 | elapsed: 0.5s remaining: 0.7s + /usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.07308221069854426, tolerance: 0.04611195889050071 + model = cd_fast.enet_coordinate_descent_gram( + ./usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.15375414865695802, tolerance: 0.03970345334827422 + model = cd_fast.enet_coordinate_descent_gram( + ./usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.10611096508367268, tolerance: 0.04382929483334259 + model = cd_fast.enet_coordinate_descent_gram( + .[Parallel(n_jobs=5)]: Done 5 out of 5 | elapsed: 0.5s finished + .. code:: ipython3 - # LassoCV uses coordinate descent to select hyperparameter alpha + # LassoCV uses coordinate descent to select hyperparameter alpha alpha_grid = np.array([10**a for a in np.arange(-3, 3, 0.25)]) - lassoCV_model_ct = linear_model.LassoCV(cv=5, n_alphas=len(alpha_grid), alphas=alpha_grid, fit_intercept=True, normalize=False, random_state=42, verbose=True, n_jobs=5).fit(train_data_ct, train_phen) + lassoCV_model_ct = linear_model.LassoCV(cv=5, n_alphas=len(alpha_grid), alphas=alpha_grid, fit_intercept=True, random_state=42, verbose=True, n_jobs=5).fit(train_data_ct, train_phen) .. parsed-literal:: [Parallel(n_jobs=5)]: Using backend ThreadingBackend with 5 concurrent workers. - ...................................................................................................................[Parallel(n_jobs=5)]: Done 2 out of 5 | elapsed: 0.3s remaining: 0.5s - .....[Parallel(n_jobs=5)]: Done 5 out of 5 | elapsed: 0.3s finished - /usr/local/lib/python3.7/dist-packages/sklearn/linear_model/_base.py:155: FutureWarning: 'normalize' was deprecated in version 1.0 and will be removed in 1.2. Please leave the normalize parameter to its default value to silence this warning. The default behavior of this estimator is to not do any normalization. If normalization is needed please use sklearn.preprocessing.StandardScaler instead. - FutureWarning, + ....................................................................................................................[Parallel(n_jobs=5)]: Done 2 out of 5 | elapsed: 0.2s remaining: 0.3s + ....[Parallel(n_jobs=5)]: Done 5 out of 5 | elapsed: 0.3s finished .. code:: ipython3 @@ -770,7 +758,7 @@ Lasso (Linear Regression + L1 Regularization) -.. image:: other_predictive_models_files/other_predictive_models_55_0.png +.. image:: other_predictive_models_files/other_predictive_models_56_0.png .. code:: ipython3 @@ -786,22 +774,18 @@ Lasso (Linear Regression + L1 Regularization) -.. image:: other_predictive_models_files/other_predictive_models_56_0.png +.. image:: other_predictive_models_files/other_predictive_models_57_0.png .. code:: ipython3 # based on cv results above, set alpha=100 - lasso_model_z = linear_model.Lasso(alpha=lassoCV_model_z.alpha_, fit_intercept=True, normalize=False).fit(train_data_z, train_phen) - - + lasso_model_z = linear_model.Lasso(alpha=lassoCV_model_z.alpha_, fit_intercept=True).fit(train_data_z, train_phen) .. code:: ipython3 # based on cv results above, set alpha=100 - lasso_model_ct = linear_model.Lasso(alpha=lassoCV_model_ct.alpha_, fit_intercept=True, normalize=False).fit(train_data_ct, train_phen) - - + lasso_model_ct = linear_model.Lasso(alpha=lassoCV_model_ct.alpha_, fit_intercept=True).fit(train_data_ct, train_phen) .. code:: ipython3 @@ -832,23 +816,23 @@ Lasso (Linear Regression + L1 Regularization) Ridge (Linear Regression + L2 Regularization) --------------------------------------------------------- +============================================= .. code:: ipython3 - # RidgeCV uses generalized cross validation to select hyperparameter alpha + # RidgeCV uses generalized cross validation to select hyperparameter alpha with warnings.catch_warnings(): # ignore matrix decomposition errors warnings.simplefilter("ignore") - ridgeCV_model_z = linear_model.RidgeCV(alphas=(0.1, 1.0, 10.0), fit_intercept=True, normalize=False, cv=5).fit(train_data_z, train_phen) + ridgeCV_model_z = linear_model.RidgeCV(alphas=(0.1, 1.0, 10.0), fit_intercept=True, cv=5).fit(train_data_z, train_phen) .. code:: ipython3 - # RidgeCV uses generalized cross validation to select hyperparameter alpha + # RidgeCV uses generalized cross validation to select hyperparameter alpha with warnings.catch_warnings(): # ignore matrix decomposition errors warnings.simplefilter("ignore") - ridgeCV_model_ct = linear_model.RidgeCV(alphas=(0.1, 1.0, 10.0), fit_intercept=True, normalize=False, cv=5).fit(train_data_ct, train_phen) + ridgeCV_model_ct = linear_model.RidgeCV(alphas=(0.1, 1.0, 10.0), fit_intercept=True, cv=5).fit(train_data_ct, train_phen) .. code:: ipython3 @@ -874,14 +858,11 @@ Ridge (Linear Regression + L2 Regularization) .. code:: ipython3 - ridge_model_z = linear_model.Ridge(alpha=ridge_alpha_z, fit_intercept=True, normalize=False).fit(train_data_z, train_phen) - - + ridge_model_z = linear_model.Ridge(alpha=ridge_alpha_z, fit_intercept=True).fit(train_data_z, train_phen) .. code:: ipython3 - ridge_model_ct = linear_model.Ridge(alpha=ridge_alpha_ct, fit_intercept=True, normalize=False).fit(train_data_ct, train_phen) - + ridge_model_ct = linear_model.Ridge(alpha=ridge_alpha_ct, fit_intercept=True).fit(train_data_ct, train_phen) .. code:: ipython3 @@ -912,21 +893,81 @@ Ridge (Linear Regression + L2 Regularization) Elastic Net (Linear Regression + L1/L2 Regularization) ------------------------------------------------------------- +====================================================== .. code:: ipython3 - # RidgeCV uses generalized cross validation to select hyperparameter alpha + # RidgeCV uses generalized cross validation to select hyperparameter alpha elasticnetCV_model_z = linear_model.ElasticNetCV(l1_ratio=[.1, .5, .7, .9, .95, .99, 1], cv=5, n_alphas=len(alpha_grid), alphas=alpha_grid, random_state=42, verbose=True, n_jobs=5).fit(train_data_z, train_phen) +.. parsed-literal:: -.. code:: ipython3 - - # RidgeCV uses generalized cross validation to select hyperparameter alpha + [Parallel(n_jobs=5)]: Using backend ThreadingBackend with 5 concurrent workers. + ............................................................................................................./usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.21318694590257792, tolerance: 0.0423918944559644 + model = cd_fast.enet_coordinate_descent_gram( + ./usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.17936527851907158, tolerance: 0.03970345334827422 + model = cd_fast.enet_coordinate_descent_gram( + .../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.8618322913218321, tolerance: 0.04611195889050071 + model = cd_fast.enet_coordinate_descent_gram( + ./usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11.57867990423236, tolerance: 0.0423918944559644 + model = cd_fast.enet_coordinate_descent_gram( + ./usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10.2273489799189, tolerance: 0.03970345334827422 + model = cd_fast.enet_coordinate_descent_gram( + ................../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.4036642558553467, tolerance: 0.04401109832998077 + model = cd_fast.enet_coordinate_descent_gram( + .................../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8.073063075099014, tolerance: 0.04382929483334259 + model = cd_fast.enet_coordinate_descent_gram( + ../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18.227358858718446, tolerance: 0.04611195889050071 + model = cd_fast.enet_coordinate_descent_gram( + ............................................/usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14.883650580549045, tolerance: 0.04401109832998077 + model = cd_fast.enet_coordinate_descent_gram( + ....................................../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.18805636326129616, tolerance: 0.04611195889050071 + model = cd_fast.enet_coordinate_descent_gram( + ............../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.0544661418971657, tolerance: 0.0423918944559644 + model = cd_fast.enet_coordinate_descent_gram( + ........................................................................................................./usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.1788130249701112, tolerance: 0.03970345334827422 + model = cd_fast.enet_coordinate_descent_gram( + ............/usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.13839227040918445, tolerance: 0.04611195889050071 + model = cd_fast.enet_coordinate_descent_gram( + ........................................................................................................../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.15009167262110168, tolerance: 0.04382929483334259 + model = cd_fast.enet_coordinate_descent_gram( + ........................................./usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.20204581109658193, tolerance: 0.03970345334827422 + model = cd_fast.enet_coordinate_descent_gram( + ............................/usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.09891903798924773, tolerance: 0.04611195889050071 + model = cd_fast.enet_coordinate_descent_gram( + ......................................................................./usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.13078279402705562, tolerance: 0.04382929483334259 + model = cd_fast.enet_coordinate_descent_gram( + ../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.18265009272980137, tolerance: 0.03970345334827422 + model = cd_fast.enet_coordinate_descent_gram( + ..../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.0877297694903234, tolerance: 0.04611195889050071 + model = cd_fast.enet_coordinate_descent_gram( + ............................................................................................../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.11087317503455552, tolerance: 0.04382929483334259 + model = cd_fast.enet_coordinate_descent_gram( + ...................../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.16051209546739642, tolerance: 0.03970345334827422 + model = cd_fast.enet_coordinate_descent_gram( + ..................................../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.07594686106816084, tolerance: 0.04611195889050071 + model = cd_fast.enet_coordinate_descent_gram( + ............................................................./usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.10611096508367268, tolerance: 0.04382929483334259 + model = cd_fast.enet_coordinate_descent_gram( + ...../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.15375414865695802, tolerance: 0.03970345334827422 + model = cd_fast.enet_coordinate_descent_gram( + ../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.07308221069854426, tolerance: 0.04611195889050071 + model = cd_fast.enet_coordinate_descent_gram( + ..[Parallel(n_jobs=5)]: Done 35 out of 35 | elapsed: 6.3s finished + + +.. code:: ipython3 + + # RidgeCV uses generalized cross validation to select hyperparameter alpha elasticnetCV_model_ct = linear_model.ElasticNetCV(l1_ratio=[.1, .5, .7, .9, .95, .99, 1], cv=5, n_alphas=len(alpha_grid), alphas=alpha_grid, random_state=42, verbose=True, n_jobs=5).fit(train_data_ct, train_phen) +.. parsed-literal:: + + [Parallel(n_jobs=5)]: Using backend ThreadingBackend with 5 concurrent workers. + ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................[Parallel(n_jobs=5)]: Done 35 out of 35 | elapsed: 1.8s finished + .. code:: ipython3 @@ -958,7 +999,7 @@ Elastic Net (Linear Regression + L1/L2 Regularization) -.. image:: other_predictive_models_files/other_predictive_models_72_0.png +.. image:: other_predictive_models_files/other_predictive_models_73_0.png .. code:: ipython3 @@ -975,12 +1016,12 @@ Elastic Net (Linear Regression + L1/L2 Regularization) -.. image:: other_predictive_models_files/other_predictive_models_73_0.png +.. image:: other_predictive_models_files/other_predictive_models_74_0.png .. code:: ipython3 - elasticnet_model_z = linear_model.ElasticNet(alpha=elasticnetCV_model_z.alpha_, l1_ratio=elasticnetCV_model_z.l1_ratio_, fit_intercept=True, normalize=False, random_state=42).fit(train_data_z, train_phen) + elasticnet_model_z = linear_model.ElasticNet(alpha=elasticnetCV_model_z.alpha_, l1_ratio=elasticnetCV_model_z.l1_ratio_, fit_intercept=True, random_state=42).fit(train_data_z, train_phen) train_preds_en_model_z = elasticnet_model_z.predict(train_data_z) test_preds_en_model_z = elasticnet_model_z.predict(test_data_z) @@ -988,7 +1029,7 @@ Elastic Net (Linear Regression + L1/L2 Regularization) train_mae_z = metrics.mean_absolute_error(train_phen, train_preds_en_model_z) test_mae_z = metrics.mean_absolute_error(test_phen, test_preds_en_model_z) - elasticnet_model_ct = linear_model.ElasticNet(alpha=elasticnetCV_model_ct.alpha_, l1_ratio=elasticnetCV_model_ct.l1_ratio_, fit_intercept=True, normalize=False, random_state=42).fit(train_data_ct, train_phen) + elasticnet_model_ct = linear_model.ElasticNet(alpha=elasticnetCV_model_ct.alpha_, l1_ratio=elasticnetCV_model_ct.l1_ratio_, fit_intercept=True, random_state=42).fit(train_data_ct, train_phen) train_preds_en_model_ct = elasticnet_model_ct.predict(train_data_ct) test_preds_en_model_ct = elasticnet_model_ct.predict(test_data_ct) @@ -1008,3 +1049,5 @@ Elastic Net (Linear Regression + L1/L2 Regularization) Test MAE Z model: 0.680 Train MAE CT model: 0.633 Test MAE CT model: 0.692 + + diff --git a/doc/source/pages/other_predictive_models_files/other_predictive_models_16_1.png b/doc/source/pages/other_predictive_models_files/other_predictive_models_16_1.png deleted file mode 100644 index 4b8e0cbfcef0c795e048109cdb507c9d8efe9d90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16613 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 diff --git a/doc/source/pages/other_predictive_models_files/other_predictive_models_17_1.png b/doc/source/pages/other_predictive_models_files/other_predictive_models_17_1.png index f832a94921ef5dab9b435f03c5d8d6aab6a57044..99be9491af448f3dafeb51d316f510be7f90fb3a 100644 GIT binary patch literal 35783 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 MSid}O>5e1+1F0*3(EtDd literal 18179 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ẘrL8NAka>tCuNt$O^=t8$ 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 Dn^v(g diff --git a/doc/source/pages/other_predictive_models_files/other_predictive_models_18_1.png b/doc/source/pages/other_predictive_models_files/other_predictive_models_18_1.png new file mode 100644 index 0000000000000000000000000000000000000000..46a04ca9c1aeaca58c64526d9f4ecb483bac3dd7 GIT binary patch literal 39366 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 EH!j-$LI3~& diff --git a/doc/source/pages/other_predictive_models_files/other_predictive_models_33_1.png b/doc/source/pages/other_predictive_models_files/other_predictive_models_33_1.png new file mode 100644 index 0000000000000000000000000000000000000000..21cc4855e1b2be7414b7103864656dcf8429555c GIT binary patch literal 69309 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

diff --git a/doc/build/html/_modules/gp.html b/doc/build/html/_modules/gp.html index 72e63591..1fff0f37 100644 --- a/doc/build/html/_modules/gp.html +++ b/doc/build/html/_modules/gp.html @@ -1,28 +1,24 @@ + + - + gp — Predictive Clinical Neuroscience Toolkit 0.20 documentation - - - + + + - - - - - - - - - + + + + + @@ -62,13 +58,24 @@

Tutorials

Other Useful Stuff

    @@ -134,7 +141,9 @@

    Source code for gp

     # --------------------
     
     
    -
    [docs]class CovBase(with_metaclass(ABCMeta)): +
    +[docs] +class CovBase(with_metaclass(ABCMeta)): """ Base class for covariance functions. All covariance functions must define the following methods:: @@ -148,7 +157,9 @@

    Source code for gp

         def __init__(self, x=None):
             self.n_params = np.nan
     
    -
    [docs] def get_n_params(self): +
    +[docs] + def get_n_params(self): """ Report the number of parameters required """ assert not np.isnan(self.n_params), \ @@ -156,17 +167,27 @@

    Source code for gp

     
             return self.n_params
    -
    [docs] @abstractmethod + +
    +[docs] + @abstractmethod def cov(self, theta, x, z=None): """ Return the full covariance (or cross-covariance if z is given) """
    -
    [docs] @abstractmethod + +
    +[docs] + @abstractmethod def dcov(self, theta, x, i): """ Return the derivative of the covariance function with respect to - the i-th hyperparameter """
    + the i-th hyperparameter """
    +
    + -
    [docs]class CovLin(CovBase): +
    +[docs] +class CovLin(CovBase): """ Linear covariance function (no hyperparameters) """ @@ -174,7 +195,9 @@

    Source code for gp

             self.n_params = 0
             self.first_call = False
     
    -
    [docs] def cov(self, theta, x, z=None): +
    +[docs] + def cov(self, theta, x, z=None): if not self.first_call and not theta and theta is not None: self.first_call = True if len(theta) > 0 and theta[0] is not None: @@ -186,11 +209,18 @@

    Source code for gp

             K = x.dot(z.T)
             return K
    -
    [docs] def dcov(self, theta, x, i): - raise ValueError("Invalid covariance function parameter")
    + +
    +[docs] + def dcov(self, theta, x, i): + raise ValueError("Invalid covariance function parameter")
    +
    -
    [docs]class CovSqExp(CovBase): + +
    +[docs] +class CovSqExp(CovBase): """ Ordinary squared exponential covariance function. The hyperparameters are:: @@ -202,7 +232,9 @@

    Source code for gp

         def __init__(self, x=None):
             self.n_params = 2
     
    -
    [docs] def cov(self, theta, x, z=None): +
    +[docs] + def cov(self, theta, x, z=None): self.ell = np.exp(theta[0]) self.sf2 = np.exp(2*theta[1]) @@ -213,7 +245,10 @@

    Source code for gp

             K = self.sf2 * np.exp(-R/2)
             return K
    -
    [docs] def dcov(self, theta, x, i): + +
    +[docs] + def dcov(self, theta, x, i): self.ell = np.exp(theta[0]) self.sf2 = np.exp(2*theta[1]) @@ -226,10 +261,14 @@

    Source code for gp

                 dK = 2*self.sf2 * np.exp(-R/2)
                 return dK
             else:
    -            raise ValueError("Invalid covariance function parameter")
    + raise ValueError("Invalid covariance function parameter")
    +
    + -
    [docs]class CovSqExpARD(CovBase): +
    +[docs] +class CovSqExpARD(CovBase): """ Squared exponential covariance function with ARD The hyperparameters are:: @@ -247,7 +286,9 @@

    Source code for gp

                 self.D = x.shape[1]
             self.n_params = self.D + 1
     
    -
    [docs] def cov(self, theta, x, z=None): +
    +[docs] + def cov(self, theta, x, z=None): self.ell = np.exp(theta[0:self.D]) self.sf2 = np.exp(2*theta[self.D]) @@ -259,7 +300,10 @@

    Source code for gp

             K = self.sf2*np.exp(-R/2)
             return K
    -
    [docs] def dcov(self, theta, x, i): + +
    +[docs] + def dcov(self, theta, x, i): K = self.cov(theta, x) if i < self.D: # return derivative of lengthscale parameter dK = K * squared_dist(x[:, i]/self.ell[i], x[:, i]/self.ell[i]) @@ -268,10 +312,14 @@

    Source code for gp

                 dK = 2*K
                 return dK
             else:
    -            raise ValueError("Invalid covariance function parameter")
    + raise ValueError("Invalid covariance function parameter")
    +
    -
    [docs]class CovSum(CovBase): + +
    +[docs] +class CovSum(CovBase): """ Sum of covariance functions. These are passed in as a cell array and intialised automatically. For example:: @@ -303,7 +351,9 @@

    Source code for gp

             else:
                 self.N, self.D = x.shape
     
    -
    [docs] def cov(self, theta, x, z=None): +
    +[docs] + def cov(self, theta, x, z=None): theta_offset = 0 for ci, covfunc in enumerate(self.covfuncs): try: @@ -320,7 +370,10 @@

    Source code for gp

                     K += covfunc.cov(theta_c, x, z)
             return K
    -
    [docs] def dcov(self, theta, x, i): + +
    +[docs] + def dcov(self, theta, x, i): theta_offset = 0 for covfunc in self.covfuncs: n_params_c = covfunc.get_n_params() @@ -333,14 +386,18 @@

    Source code for gp

                         dK = covfunc.dcov(theta_c, x, i)
                     else:
                         dK += covfunc.dcov(theta_c, x, i)
    -        return dK
    + return dK
    +
    + # ----------------------- # Gaussian process models # ----------------------- -
    [docs]class GPR: +
    +[docs] +class GPR: """Gaussian process regression Estimation and prediction of Gaussian process regression models @@ -407,7 +464,9 @@

    Source code for gp

             else:
                 return True
     
    -
    [docs] def post(self, hyp, covfunc, X, y): +
    +[docs] + def post(self, hyp, covfunc, X, y): """ Generic function to compute posterior distribution. """ @@ -435,7 +494,10 @@

    Source code for gp

             self.hyp = hyp
             self.covfunc = covfunc
    -
    [docs] def loglik(self, hyp, covfunc, X, y): + +
    +[docs] + def loglik(self, hyp, covfunc, X, y): """ Function to compute compute log (marginal) likelihood """ @@ -475,7 +537,10 @@

    Source code for gp

     
             return self.nlZ
    -
    [docs] def dloglik(self, hyp, covfunc, X, y): + +
    +[docs] + def dloglik(self, hyp, covfunc, X, y): """ Function to compute derivatives """ @@ -526,8 +591,11 @@

    Source code for gp

     
             return self.dnlZ
    + # model estimation (optimization) -
    [docs] def estimate(self, hyp0, covfunc, X, y, optimizer='cg'): +
    +[docs] + def estimate(self, hyp0, covfunc, X, y, optimizer='cg'): """ Function to estimate the model """ if len(X.shape) == 1: @@ -556,7 +624,10 @@

    Source code for gp

     
             return self.hyp
    -
    [docs] def predict(self, hyp, X, y, Xs): + +
    +[docs] + def predict(self, hyp, X, y, Xs): """ Function to make predictions from the model """ if len(hyp.shape) > 1: # force 1d hyperparameter array @@ -591,7 +662,9 @@

    Source code for gp

             v = solve(self.L, Ks.T)
             ys2 = kss - v.T.dot(v) + sn2
     
    -        return ymu, ys2
    + return ymu, ys2
    +
    +
    diff --git a/doc/build/html/_modules/index.html b/doc/build/html/_modules/index.html index 4cc795aa..087396d6 100644 --- a/doc/build/html/_modules/index.html +++ b/doc/build/html/_modules/index.html @@ -1,28 +1,24 @@ + + - + Overview: module code — Predictive Clinical Neuroscience Toolkit 0.20 documentation - - - + + + - - - - - - - - - + + + + + @@ -62,13 +58,24 @@

Tutorials

Other Useful Stuff

    diff --git a/doc/build/html/_modules/normative.html b/doc/build/html/_modules/normative.html index bb71c8e8..c143588b 100644 --- a/doc/build/html/_modules/normative.html +++ b/doc/build/html/_modules/normative.html @@ -1,28 +1,24 @@ + + - + normative — Predictive Clinical Neuroscience Toolkit 0.20 documentation - - - + + + - - - - - - - - - + + + + + @@ -62,13 +58,24 @@

Tutorials

Other Useful Stuff

    @@ -116,25 +123,37 @@

    Source code for normative

     #  Written by A. Marquand
     # ------------------------------------------------------------------------------
     
    -from __future__ import print_function
    -from __future__ import division
    +from __future__ import division, print_function
     
    -import os
    -import sys
    -import numpy as np
     import argparse
    -import pickle
     import glob
    +import os
    +import pickle
    +import sys
    +from pathlib import Path
     
    +import numpy as np
     from sklearn.model_selection import KFold
    -from pathlib import Path
    +
    +try:
    +    import nutpie
    +except ImportError:
    +    # warnings.warn("Nutpie not installed. For fitting HBR models with the nutpie backend, install it with `conda install nutpie numba`")
    +    pass
    +
     
     try:  # run as a package if installed
         from pcntoolkit import configs
         from pcntoolkit.dataio import fileio
         from pcntoolkit.normative_model.norm_utils import norm_init
    -    from pcntoolkit.util.utils import compute_pearsonr, CustomCV, explained_var
    -    from pcntoolkit.util.utils import compute_MSLL, scaler, get_package_versions
    +    from pcntoolkit.util.utils import (
    +        CustomCV,
    +        compute_MSLL,
    +        compute_pearsonr,
    +        explained_var,
    +        get_package_versions,
    +        scaler,
    +    )
     except ImportError:
         pass
     
    @@ -146,15 +165,22 @@ 

    Source code for normative

     
         import configs
         from dataio import fileio
    -
    -    from util.utils import compute_pearsonr, CustomCV, explained_var, compute_MSLL
    -    from util.utils import scaler, get_package_versions
         from normative_model.norm_utils import norm_init
    +    from util.utils import (
    +        CustomCV,
    +        compute_MSLL,
    +        compute_pearsonr,
    +        explained_var,
    +        get_package_versions,
    +        scaler,
    +    )
     
     PICKLE_PROTOCOL = configs.PICKLE_PROTOCOL
     
     
    -
    [docs]def load_response_vars(datafile, maskfile=None, vol=True): +
    +[docs] +def load_response_vars(datafile, maskfile=None, vol=True): """ Load response variables from file. This will load the data and mask it if necessary. If the data is in ascii format it will be converted into a numpy @@ -181,7 +207,10 @@

    Source code for normative

         return Y, volmask
    -
    [docs]def get_args(*args): + +
    +[docs] +def get_args(*args): """ Parse command line arguments for normative modeling @@ -197,74 +226,67 @@

    Source code for normative

         :returns configparam: Parameters controlling the estimation algorithm
         :returns kw_args: Additional keyword arguments
         """
    -
    +    args = args[0][0]
         # parse arguments
         parser = argparse.ArgumentParser(description="Normative Modeling")
    -    parser.add_argument("responses")
    -    parser.add_argument("-f", help="Function to call", dest="func",
    -                        default="estimate")
    +    parser.add_argument("respfile", help="Response variables for the normative model")
    +    parser.add_argument("-f", help="Function to call", dest="func", default="estimate")
         parser.add_argument("-m", help="mask file", dest="maskfile", default=None)
    -    parser.add_argument("-c", help="covariates file", dest="covfile",
    -                        default=None)
    -    parser.add_argument("-k", help="cross-validation folds", dest="cvfolds",
    -                        default=None)
    -    parser.add_argument("-t", help="covariates (test data)", dest="testcov",
    -                        default=None)
    -    parser.add_argument("-r", help="responses (test data)", dest="testresp",
    -                        default=None)
    +    parser.add_argument("-c", help="covariates file", dest="covfile", default=None)
    +    parser.add_argument("-k", help="cross-validation folds", dest="cvfolds", default=None)
    +    parser.add_argument("-t", help="covariates (test data)", dest="testcov", default=None)
    +    parser.add_argument("-r", help="responses (test data)", dest="testresp", default=None)
         parser.add_argument("-a", help="algorithm", dest="alg", default="gpr")
    -    parser.add_argument("-x", help="algorithm specific config options",
    -                        dest="configparam", default=None)
    -    # parser.add_argument('-s', action='store_false',
    -    #                 help="Flag to skip standardization.", dest="standardize")
    -    parser.add_argument("keyword_args", nargs=argparse.REMAINDER)
    +    parser.add_argument("-x", help="algorithm specific config options", dest="configparam", default=None)
    +    parsed_args, keyword_args = parser.parse_known_args(args)
     
    -    args = parser.parse_args()
    -
    -    # Process required  arguemnts
    +    # Process required arguments
         wdir = os.path.realpath(os.path.curdir)
    -    respfile = os.path.join(wdir, args.responses)
    -    if args.covfile is None:
    +    respfile = os.path.join(wdir, parsed_args.respfile)
    +    if parsed_args.covfile is None:
             raise ValueError("No covariates specified")
         else:
    -        covfile = args.covfile
    +        covfile = parsed_args.covfile
     
         # Process optional arguments
    -    if args.maskfile is None:
    +    if parsed_args.maskfile is None:
             maskfile = None
         else:
    -        maskfile = os.path.join(wdir, args.maskfile)
    -    if args.testcov is None and args.cvfolds is not None:
    +        maskfile = os.path.join(wdir, parsed_args.maskfile)
    +    if parsed_args.testcov is None and parsed_args.cvfolds is not None:
             testcov = None
             testresp = None
    -        cvfolds = int(args.cvfolds)
    +        cvfolds = int(parsed_args.cvfolds)
             print("Running under " + str(cvfolds) + " fold cross-validation.")
         else:
             print("Test covariates specified")
    -        testcov = args.testcov
    +        testcov = parsed_args.testcov
             cvfolds = None
    -        if args.testresp is None:
    +        if parsed_args.testresp is None:
                 testresp = None
                 print("No test response variables specified")
             else:
    -            testresp = args.testresp
    -        if args.cvfolds is not None:
    +            testresp = parsed_args.testresp
    +        if parsed_args.cvfolds is not None:
                 print("Ignoring cross-valdation specification (test data given)")
     
         # Process addtional keyword arguments. These are always added as strings
         kw_args = {}
    -    for kw in args.keyword_args:
    +    for kw in keyword_args:
             kw_arg = kw.split('=')
     
             exec("kw_args.update({'" + kw_arg[0] + "' : " +
                  "'" + str(kw_arg[1]) + "'" + "})")
     
         return respfile, maskfile, covfile, cvfolds, \
    -        testcov, testresp, args.func, args.alg, \
    -        args.configparam, kw_args
    + testcov, testresp, parsed_args.func, parsed_args.alg, \ + parsed_args.configparam, kw_args
    + -
    [docs]def evaluate(Y, Yhat, S2=None, mY=None, sY=None, nlZ=None, nm=None, Xz_tr=None, alg=None, +
    +[docs] +def evaluate(Y, Yhat, S2=None, mY=None, sY=None, nlZ=None, nm=None, Xz_tr=None, alg=None, metrics=['Rho', 'RMSE', 'SMSE', 'EXPV', 'MSLL']): ''' Compute error metrics This function will compute error metrics based on a set of predictions Yhat @@ -349,7 +371,10 @@

    Source code for normative

         return results
    -
    [docs]def save_results(respfile, Yhat, S2, maskvol, Z=None, Y=None, outputsuffix=None, + +
    +[docs] +def save_results(respfile, Yhat, S2, maskvol, Z=None, Y=None, outputsuffix=None, results=None, save_path=''): """ Writes the results of the normative model to disk. @@ -406,7 +431,10 @@

    Source code for normative

                                 example=exfile, mask=maskvol)
    -
    [docs]def estimate(covfile, respfile, **kwargs): + +
    +[docs] +def estimate(covfile, respfile, **kwargs): """ Estimate a normative model This will estimate a model in one of two settings according to @@ -474,7 +502,9 @@

    Source code for normative

         # '_' is in the outputsuffix to
         # avoid file name parsing problem.
         inscaler = kwargs.pop('inscaler', 'None')
    +    print(f"inscaler: {inscaler}")
         outscaler = kwargs.pop('outscaler', 'None')
    +    print(f"outscaler: {outscaler}")
         warp = kwargs.get('warp', None)
     
         # convert from strings if necessary
    @@ -627,7 +657,8 @@ 

    Source code for normative

                         if warp is not None:
                             # TODO: Warping for scaled data
                             if outscaler is not None and outscaler != 'None':
    -                            raise ValueError("outscaler not yet supported warping")
    +                            raise ValueError(
    +                                "outscaler not yet supported warping")
                             warp_param = nm.blr.hyp[1:nm.blr.warp.get_n_params()+1]
                             Ywarp[ts, nz[i]] = nm.blr.warp.f(
                                 Y[ts, nz[i]], warp_param)
    @@ -730,7 +761,10 @@ 

    Source code for normative

             return output
    -
    [docs]def fit(covfile, respfile, **kwargs): + +
    +[docs] +def fit(covfile, respfile, **kwargs): """ Fits a normative model to the data. @@ -756,6 +790,8 @@

    Source code for normative

         outputsuffix = "_" + outputsuffix.replace("_", "")
         inscaler = kwargs.pop('inscaler', 'None')
         outscaler = kwargs.pop('outscaler', 'None')
    +    print(f"inscaler: {inscaler}")
    +    print(f"outscaler: {outscaler}")
     
         if savemodel and not os.path.isdir('Models'):
             os.mkdir('Models')
    @@ -824,7 +860,10 @@ 

    Source code for normative

         return nm
    -
    [docs]def predict(covfile, respfile, maskfile=None, **kwargs): + +
    +[docs] +def predict(covfile, respfile, maskfile=None, **kwargs): ''' Make predictions on the basis of a pre-estimated normative model If only the covariates are specified then only predicted mean and variance @@ -905,6 +944,10 @@

    Source code for normative

         X = fileio.load(covfile)
         if len(X.shape) == 1:
             X = X[:, np.newaxis]
    +    if respfile is not None:
    +        Y, maskvol = load_response_vars(respfile, maskfile)
    +        if len(Y.shape) == 1:
    +            Y = Y[:, np.newaxis]
     
         sample_num = X.shape[0]
         if models is not None:
    @@ -922,9 +965,13 @@ 

    Source code for normative

             Xz = scaler_cov[fold].transform(X)
         else:
             Xz = X
    +    if respfile is not None:
    +        if outscaler in ['standardize', 'minmax', 'robminmax']:
    +            Yz = scaler_resp[fold].transform(Y)
    +        else:
    +            Yz = Y
     
         # estimate the models for all variabels
    -    # TODO Z-scores adaptation for SHASH HBR
         for i, m in enumerate(models):
             print("Prediction by model ", i+1, "of", feature_num)
             nm = norm_init(Xz)
    @@ -947,6 +994,10 @@ 

    Source code for normative

             else:
                 Yhat[:, i] = yhat.squeeze()
                 S2[:, i] = s2.squeeze()
    +        if respfile is not None:
    +            if alg == 'hbr':
    +                # Z scores for HBR must be computed independently for each model
    +                Z[:, i] = nm.get_mcmc_zscores(Xz, Yz[:, i:i+1], **kwargs)
     
         if respfile is None:
             save_results(None, Yhat, S2, None, outputsuffix=outputsuffix)
    @@ -954,7 +1005,6 @@ 

    Source code for normative

             return (Yhat, S2)
     
         else:
    -        Y, maskvol = load_response_vars(respfile, maskfile)
             if models is not None and len(Y.shape) > 1:
                 Y = Y[:, models]
                 if meta_data:
    @@ -986,7 +1036,9 @@ 

    Source code for normative

             else:
                 warp = False
     
    -        Z = (Y - Yhat) / np.sqrt(S2)
    +        if alg != 'hbr':
    +            # For HBR the Z scores are already computed
    +            Z = (Y - Yhat) / np.sqrt(S2)
     
             print("Evaluating the model ...")
             if meta_data and not warp:
    @@ -1008,7 +1060,10 @@ 

    Source code for normative

                 return (Yhat, S2, Z)
    -
    [docs]def transfer(covfile, respfile, testcov=None, testresp=None, maskfile=None, + +
    +[docs] +def transfer(covfile, respfile, testcov=None, testresp=None, maskfile=None, **kwargs): ''' Transfer learning on the basis of a pre-estimated normative model by using @@ -1044,14 +1099,14 @@

    Source code for normative

             return
         # testing should not be obligatory for HBR,
         # but should be for BLR (since it doesn't produce transfer models)
    -    elif (not 'model_path' in list(kwargs.keys())) or \
    -            (not 'trbefile' in list(kwargs.keys())):
    +    elif ('model_path' not in list(kwargs.keys())) or \
    +            ('trbefile' not in list(kwargs.keys())):
             print(f'{kwargs=}')
             print('InputError: Some general mandatory arguments are missing.')
             return
         # hbr has one additional mandatory arguments
         elif alg == 'hbr':
    -        if (not 'output_path' in list(kwargs.keys())):
    +        if ('output_path' not in list(kwargs.keys())):
                 print('InputError: Some mandatory arguments for hbr are missing.')
                 return
             else:
    @@ -1063,7 +1118,7 @@ 

    Source code for normative

         # or (testresp==None)
         elif alg == 'blr':
             if (testcov == None) or \
    -                (not 'tsbefile' in list(kwargs.keys())):
    +                ('tsbefile' not in list(kwargs.keys())):
                 print('InputError: Some mandatory arguments for blr are missing.')
                 return
         # general arguments
    @@ -1266,7 +1321,10 @@ 

    Source code for normative

             Path(done_path).touch()
    -
    [docs]def extend(covfile, respfile, maskfile=None, **kwargs): + +
    +[docs] +def extend(covfile, respfile, maskfile=None, **kwargs): ''' This function extends an existing HBR model with data from new sites/scanners. @@ -1299,9 +1357,9 @@

    Source code for normative

         if alg != 'hbr':
             print('Model extention is only possible for HBR models.')
             return
    -    elif (not 'model_path' in list(kwargs.keys())) or \
    -        (not 'output_path' in list(kwargs.keys())) or \
    -            (not 'trbefile' in list(kwargs.keys())):
    +    elif ('model_path' not in list(kwargs.keys())) or \
    +        ('output_path' not in list(kwargs.keys())) or \
    +            ('trbefile' not in list(kwargs.keys())):
             print('InputError: Some mandatory arguments are missing.')
             return
         else:
    @@ -1376,7 +1434,10 @@ 

    Source code for normative

                                      str(i) + outputsuffix + '.pkl'))
    -
    [docs]def tune(covfile, respfile, maskfile=None, **kwargs): + +
    +[docs] +def tune(covfile, respfile, maskfile=None, **kwargs): ''' This function tunes an existing HBR model with real data. @@ -1410,9 +1471,9 @@

    Source code for normative

         if alg != 'hbr':
             print('Model extention is only possible for HBR models.')
             return
    -    elif (not 'model_path' in list(kwargs.keys())) or \
    -        (not 'output_path' in list(kwargs.keys())) or \
    -            (not 'trbefile' in list(kwargs.keys())):
    +    elif ('model_path' not in list(kwargs.keys())) or \
    +        ('output_path' not in list(kwargs.keys())) or \
    +            ('trbefile' not in list(kwargs.keys())):
             print('InputError: Some mandatory arguments are missing.')
             return
         else:
    @@ -1487,7 +1548,10 @@ 

    Source code for normative

                                      str(i) + outputsuffix + '.pkl'))
    -
    [docs]def merge(covfile=None, respfile=None, **kwargs): + +
    +[docs] +def merge(covfile=None, respfile=None, **kwargs): ''' This function extends an existing HBR model with data from new sites/scanners. @@ -1518,9 +1582,9 @@

    Source code for normative

         if alg != 'hbr':
             print('Merging models is only possible for HBR models.')
             return
    -    elif (not 'model_path1' in list(kwargs.keys())) or \
    -        (not 'model_path2' in list(kwargs.keys())) or \
    -            (not 'output_path' in list(kwargs.keys())):
    +    elif ('model_path1' not in list(kwargs.keys())) or \
    +        ('model_path2' not in list(kwargs.keys())) or \
    +            ('output_path' not in list(kwargs.keys())):
             print('InputError: Some mandatory arguments are missing.')
             return
         else:
    @@ -1591,7 +1655,10 @@ 

    Source code for normative

                                             str(i) + outputsuffix + '.pkl'))
    -
    [docs]def main(*args): + +
    +[docs] +def main(*args): """ Parse arguments and estimate model """ @@ -1620,6 +1687,13 @@

    Source code for normative

         exec(func + '(' + all_args + ')')
    +
    +[docs] +def entrypoint(): + main(sys.argv[1:])
    + + + # For running from the command line: if __name__ == "__main__": main(sys.argv[1:]) diff --git a/doc/build/html/_modules/normative_parallel.html b/doc/build/html/_modules/normative_parallel.html index 1cb6ed98..bcd334f9 100644 --- a/doc/build/html/_modules/normative_parallel.html +++ b/doc/build/html/_modules/normative_parallel.html @@ -1,28 +1,24 @@ + + - + normative_parallel — Predictive Clinical Neuroscience Toolkit 0.20 documentation - - - + + + - - - - - - - - - + + + + + @@ -62,13 +58,24 @@

Tutorials

Other Useful Stuff

    @@ -135,7 +142,8 @@

    Source code for normative_parallel

     import time
     import numpy as np
     import pandas as pd
    -from subprocess import call, check_output
    +from datetime import datetime
    +from subprocess import run, check_output
     
     
     try:
    @@ -157,7 +165,9 @@ 

    Source code for normative_parallel

     PICKLE_PROTOCOL = configs.PICKLE_PROTOCOL
     
     
    -
    [docs]def execute_nm(processing_dir, +
    +[docs] +def execute_nm(processing_dir, python_path, job_name, covfile_path, @@ -192,6 +202,7 @@

    Source code for normative_parallel

         :param testrespfile_path: Full path to a .txt file that contains all test features
         :param log_path: Path for saving log files
         :param binary: If True uses binary format for response file otherwise it is text
    +    :param cluster_spec: 'torque' for PBS Torque and 'slurm' for Slurm clusters. 
         :param interactive: If False (default) the user should manually 
                             rerun the failed jobs or collect the results.
                             If 'auto' the job status are checked until all 
    @@ -211,10 +222,11 @@ 

    Source code for normative_parallel

         cv_folds = kwargs.get('cv_folds', None)
         testcovfile_path = kwargs.get('testcovfile_path', None)
         testrespfile_path = kwargs.get('testrespfile_path', None)
    -    outputsuffix = kwargs.get('outputsuffix', 'estimate')
    +    outputsuffix = kwargs.get('outputsuffix', '_estimate')
         cluster_spec = kwargs.pop('cluster_spec', 'torque')
         log_path = kwargs.get('log_path', None)
         binary = kwargs.pop('binary', False)
    +    cores = kwargs.pop('n_cores_per_batch','1')
     
         split_nm(processing_dir,
                  respfile_path,
    @@ -234,6 +246,8 @@ 

    Source code for normative_parallel

     
         kwargs.update({'batch_size': str(batch_size)})
         job_ids = []
    +    start_time = datetime.now().strftime("%Y-%m-%dT%H:%M:%S")
    +
         for n in range(1, number_of_batches+1):
             kwargs.update({'job_id': str(n)})
             if testrespfile_path is not None:
    @@ -266,9 +280,10 @@ 

    Source code for normative_parallel

                         job_id = qsub_nm(job_path=batch_job_path,
                                          log_path=log_path,
                                          memory=memory,
    -                                     duration=duration)
    +                                     duration=duration,
    +                                     cores=cores)
                         job_ids.append(job_id)
    -                elif cluster_spec == 'sbatch':
    +                elif cluster_spec == 'slurm':
                         # update the response file
                         kwargs.update({'testrespfile_path':
                                        batch_testrespfile_path})
    @@ -282,8 +297,10 @@ 

    Source code for normative_parallel

                                       memory=memory,
                                       duration=duration,
                                       **kwargs)
    -                    sbatch_nm(job_path=batch_job_path,
    -                              log_path=log_path)
    +
    +                    job_id = sbatch_nm(job_path=batch_job_path)
    +                    job_ids.append(job_id)
    +
                     elif cluster_spec == 'new':
                         # this part requires addition in different envioronment [
                         sbatchwrap_nm(processing_dir=batch_processing_dir,
    @@ -310,9 +327,10 @@ 

    Source code for normative_parallel

                         job_id = qsub_nm(job_path=batch_job_path,
                                          log_path=log_path,
                                          memory=memory,
    -                                     duration=duration)
    +                                     duration=duration, 
    +                                     cores=cores)
                         job_ids.append(job_id)
    -                elif cluster_spec == 'sbatch':
    +                elif cluster_spec == 'slurm':
                         sbatchwrap_nm(batch_processing_dir,
                                       python_path,
                                       normative_path,
    @@ -323,8 +341,9 @@ 

    Source code for normative_parallel

                                       memory=memory,
                                       duration=duration,
                                       **kwargs)
    -                    sbatch_nm(job_path=batch_job_path,
    -                              log_path=log_path)
    +
    +                    job_id = sbatch_nm(job_path=batch_job_path)
    +                    job_ids.append(job_id)
                     elif cluster_spec == 'new':
                         # this part requires addition in different envioronment [
                         bashwrap_nm(processing_dir=batch_processing_dir, func=func,
    @@ -352,9 +371,10 @@ 

    Source code for normative_parallel

                         job_id = qsub_nm(job_path=batch_job_path,
                                          log_path=log_path,
                                          memory=memory,
    -                                     duration=duration)
    +                                     duration=duration,
    +                                     cores=cores)
                         job_ids.append(job_id)
    -                elif cluster_spec == 'sbatch':
    +                elif cluster_spec == 'slurm':
                         sbatchwrap_nm(batch_processing_dir,
                                       python_path,
                                       normative_path,
    @@ -365,8 +385,10 @@ 

    Source code for normative_parallel

                                       memory=memory,
                                       duration=duration,
                                       **kwargs)
    -                    sbatch_nm(job_path=batch_job_path,
    -                              log_path=log_path)
    +
    +                    job_id = sbatch_nm(job_path=batch_job_path)
    +                    job_ids.append(job_id)
    +
                     elif cluster_spec == 'new':
                         # this part requires addition in different envioronment [
                         bashwrap_nm(processing_dir=batch_processing_dir, func=func,
    @@ -376,7 +398,7 @@ 

    Source code for normative_parallel

     
         if interactive:
     
    -        check_jobs(job_ids, delay=60)
    +        check_jobs(job_ids, cluster_spec, start_time, delay=60)
     
             success = False
             while (not success):
    @@ -393,16 +415,33 @@ 

    Source code for normative_parallel

                     if interactive == 'query':
                         response = yes_or_no('Rerun the failed jobs?')
                         if response:
    -                        rerun_nm(processing_dir, log_path=log_path, memory=memory,
    -                                 duration=duration, binary=binary,
    -                                 interactive=interactive)
    +                        if cluster_spec == 'torque':
    +                            rerun_nm(processing_dir, log_path=log_path, memory=memory,
    +                                     duration=duration, binary=binary,
    +                                     interactive=interactive, cores=cores)
    +                        elif cluster_spec == 'slurm':
    +                            sbatchrerun_nm(processing_dir,
    +                                           memory=memory,
    +                                           duration=duration,
    +                                           binary=binary,
    +                                           log_path=log_path,
    +                                           interactive=interactive)
    +
                         else:
                             success = True
                     else:
                         print('Reruning the failed jobs ...')
    -                    rerun_nm(processing_dir, log_path=log_path, memory=memory,
    -                             duration=duration, binary=binary,
    -                             interactive=interactive)
    +                    if cluster_spec == 'torque':
    +                        rerun_nm(processing_dir, log_path=log_path, memory=memory,
    +                                 duration=duration, binary=binary,
    +                                 interactive=interactive, cores=cores)
    +                    elif cluster_spec == 'slurm':
    +                        sbatchrerun_nm(processing_dir,
    +                                       memory=memory,
    +                                       duration=duration,
    +                                       binary=binary,
    +                                       log_path=log_path,
    +                                       interactive=interactive)
     
             if interactive == 'query':
                 response = yes_or_no('Collect the results?')
    @@ -425,10 +464,13 @@ 

    Source code for normative_parallel

                                      outputsuffix=outputsuffix)
    + """routines that are environment independent""" -
    [docs]def split_nm(processing_dir, +
    +[docs] +def split_nm(processing_dir, respfile_path, batch_size, binary, @@ -543,7 +585,10 @@

    Source code for normative_parallel

                                              protocol=PICKLE_PROTOCOL)
    -
    [docs]def collect_nm(processing_dir, + +
    +[docs] +def collect_nm(processing_dir, job_name, func='estimate', collect=False, @@ -581,19 +626,15 @@

    Source code for normative_parallel

         batch_fail = []
     
         if (func != 'fit' and func != 'extend' and func != 'merge' and func != 'tune'):
    -        file_example = []
             # TODO: Collect_nm only depends on yhat, thus does not work when no
             # prediction is made (when test cov is not specified).
    -        for batch in batches:
    -            if file_example == []:
    -                file_example = glob.glob(batch + 'yhat' + outputsuffix
    +        files = glob.glob(processing_dir + 'batch_*/' + 'yhat' + outputsuffix
                                              + file_extentions)
    -            else:
    -                break
    -        if binary is False:
    -            file_example = fileio.load(file_example[0])
    +        if len(files) > 0:
    +            file_example = fileio.load(files[0])
             else:
    -            file_example = pd.read_pickle(file_example[0])
    +            raise ValueError(f"Missing output files (yhats at: {processing_dir + 'batch_*/' + 'yhat' + outputsuffix + file_extentions}")
    +
             numsubjects = file_example.shape[0]
             try:
                 # doesn't exist if size=1, and txt file
    @@ -947,7 +988,10 @@ 

    Source code for normative_parallel

             return False
    -
    [docs]def delete_nm(processing_dir, + +
    +[docs] +def delete_nm(processing_dir, binary=False): '''This function deletes all processing for normative modelling and just keeps the combined output. @@ -971,11 +1015,14 @@

    Source code for normative_parallel

             os.remove(processing_dir + 'failed_batches' + file_extentions)
    + # all routines below are envronment dependent and require adaptation in novel # environments -> copy those routines and adapt them in accrodance with your # environment -
    [docs]def bashwrap_nm(processing_dir, +
    +[docs] +def bashwrap_nm(processing_dir, python_path, normative_path, job_name, @@ -1036,7 +1083,7 @@

    Source code for normative_parallel

             job_call = [python_path + ' ' + normative_path + ' -c ' +
                         covfile_path + ' -f ' + func]
         else:
    -        raise ValueError("""For 'estimate' function either testcov or cvfold
    +        raise ValueError("""For 'estimate' function either testrespfile_path or cvfold
                   must be specified.""")
     
         # add algorithm-specific parameters
    @@ -1065,10 +1112,14 @@ 

    Source code for normative_parallel

         os.chmod(processing_dir + job_name, 0o770)
    -
    [docs]def qsub_nm(job_path, + +
    +[docs] +def qsub_nm(job_path, log_path, memory, - duration): + duration, + cores): '''This function submits a job.sh scipt to the torque custer using the qsub command. Basic usage:: @@ -1088,10 +1139,10 @@

    Source code for normative_parallel

         # created qsub command
         if log_path is None:
             qsub_call = ['echo ' + job_path + ' | qsub -N ' + job_path + ' -l ' +
    -                     'procs=1' + ',mem=' + memory + ',walltime=' + duration]
    +                     'nodes=1:ppn='+ cores + ',mem=' + memory + ',walltime=' + duration]
         else:
             qsub_call = ['echo ' + job_path + ' | qsub -N ' + job_path +
    -                     ' -l ' + 'procs=1' + ',mem=' + memory + ',walltime=' +
    +                     ' -l ' + 'nodes=1:ppn='+ cores + ',mem=' + memory + ',walltime=' +
                          duration + ' -o ' + log_path + ' -e ' + log_path]
     
         # submits job to cluster
    @@ -1102,10 +1153,15 @@ 

    Source code for normative_parallel

         return job_id
    -
    [docs]def rerun_nm(processing_dir, + +
    +[docs] +def rerun_nm(processing_dir, log_path, memory, duration, + cluster_spec, + cores, binary=False, interactive=False): '''This function reruns all failed batched in processing_dir after collect_nm has identified the failed batches. @@ -1133,7 +1189,8 @@

    Source code for normative_parallel

                 job_id = qsub_nm(job_path=jobpath,
                                  log_path=log_path,
                                  memory=memory,
    -                             duration=duration)
    +                             duration=duration,
    +                             cores=cores)
                 job_ids.append(job_id)
         else:
             file_extentions = '.txt'
    @@ -1146,17 +1203,21 @@ 

    Source code for normative_parallel

                 job_id = qsub_nm(job_path=jobpath,
                                  log_path=log_path,
                                  memory=memory,
    -                             duration=duration)
    +                             duration=duration,
    +                             cores=cores)
                 job_ids.append(job_id)
     
         if interactive:
    -        check_jobs(job_ids, delay=60)
    + check_jobs(job_ids, cluster_spec, delay=60)
    + # COPY the rotines above here and aadapt those to your cluster # bashwarp_nm; qsub_nm; rerun_nm -
    [docs]def sbatchwrap_nm(processing_dir, +
    +[docs] +def sbatchwrap_nm(processing_dir, python_path, normative_path, job_name, @@ -1164,6 +1225,7 @@

    Source code for normative_parallel

                       respfile_path,
                       memory,
                       duration,
    +                  log_path,
                       func='estimate',
                       **kwargs):
         '''This function wraps normative modelling into a bash script to run it
    @@ -1202,14 +1264,15 @@ 

    Source code for normative_parallel

         output_changedir = ['cd ' + processing_dir + '\n']
     
         sbatch_init = '#!/bin/bash\n'
    -    sbatch_jobname = '#SBATCH --job-name=' + processing_dir + '\n'
    -    sbatch_account = '#SBATCH --account=p33_norment\n'
    +    sbatch_jobname = '#SBATCH --job-name=' + job_name + '\n'
         sbatch_nodes = '#SBATCH --nodes=1\n'
         sbatch_tasks = '#SBATCH --ntasks=1\n'
         sbatch_time = '#SBATCH --time=' + str(duration) + '\n'
         sbatch_memory = '#SBATCH --mem-per-cpu=' + str(memory) + '\n'
    -    sbatch_module = 'module purge\n'
    -    sbatch_anaconda = 'module load anaconda3\n'
    +    sbatch_log_out = '#SBATCH -o ' + log_path + '%x_%j.out' + '\n'
    +    sbatch_log_error = '#SBATCH -e ' + log_path + '%x_%j.err' + '\n'
    +    # sbatch_module = 'module purge\n'
    +    # sbatch_anaconda = 'module load anaconda3\n'
         sbatch_exit = 'set -o errexit\n'
     
         # echo -n "This script is running on "
    @@ -1217,12 +1280,13 @@ 

    Source code for normative_parallel

     
         bash_environment = [sbatch_init +
                             sbatch_jobname +
    -                        sbatch_account +
                             sbatch_nodes +
                             sbatch_tasks +
                             sbatch_time +
    -                        sbatch_module +
    -                        sbatch_anaconda]
    +                        sbatch_memory +
    +                        sbatch_log_out +
    +                        sbatch_log_error
    +                        ]
     
         # creates call of function for normative modelling
         if (testrespfile_path is not None) and (testcovfile_path is not None):
    @@ -1239,7 +1303,7 @@ 

    Source code for normative_parallel

             job_call = [python_path + ' ' + normative_path + ' -c ' +
                         covfile_path + ' -f ' + func]
         else:
    -        raise ValueError("""For 'estimate' function either testcov or cvfold
    +        raise ValueError("""For 'estimate' function either testrespfile_path or cv_folds
                   must be specified.""")
     
         # add algorithm-specific parameters
    @@ -1268,19 +1332,20 @@ 

    Source code for normative_parallel

         os.chmod(processing_dir + job_name, 0o770)
    -
    [docs]def sbatch_nm(job_path, - log_path): + +
    +[docs] +def sbatch_nm(job_path): '''This function submits a job.sh scipt to the torque custer using the qsub command. Basic usage:: - sbatch_nm(job_path, log_path) + sbatch_nm(job_path) :param job_path: Full path to the job.sh file - :param log_path: The logs are currently stored in the working dir - :outputs: Submission of the job to the (torque) cluster. + :outputs: Submission of the job to the slurm cluster. written by (primarily) T Wolfers, (adapted) S Rutherford. ''' @@ -1289,15 +1354,22 @@

    Source code for normative_parallel

         sbatch_call = ['sbatch ' + job_path]
     
         # submits job to cluster
    -    call(sbatch_call, shell=True)
    + job_id = check_output(sbatch_call, shell=True).decode( + sys.stdout.encoding).replace("\n", "") + + return job_id
    -
    [docs]def sbatchrerun_nm(processing_dir, + +
    +[docs] +def sbatchrerun_nm(processing_dir, memory, duration, new_memory=False, new_duration=False, binary=False, + interactive=False, **kwargs): '''This function reruns all failed batched in processing_dir after collect_nm has identified he failed batches. @@ -1315,7 +1387,12 @@

    Source code for normative_parallel

     
          written by (primarily) T Wolfers, (adapted) S Rutherford.
         '''
    -    log_path = kwargs.pop('log_path', None)
    +
    +    # log_path = kwargs.pop('log_path', None)
    +
    +    job_ids = []
    +
    +    start_time = datetime.now().strftime("%Y-%m-%dT%H:%M:%S")
     
         if binary:
             file_extentions = '.pkl'
    @@ -1329,11 +1406,12 @@ 

    Source code for normative_parallel

                     with fileinput.FileInput(jobpath, inplace=True) as file:
                         for line in file:
                             print(line.replace(duration, new_duration), end='')
    -                if new_memory != False:
    -                    with fileinput.FileInput(jobpath, inplace=True) as file:
    -                        for line in file:
    -                            print(line.replace(memory, new_memory), end='')
    -                sbatch_nm(jobpath, log_path)
    +            if new_memory != False:
    +                with fileinput.FileInput(jobpath, inplace=True) as file:
    +                    for line in file:
    +                        print(line.replace(memory, new_memory), end='')
    +            job_id = sbatch_nm(jobpath)
    +            job_ids.append(job_id)
     
         else:
             file_extentions = '.txt'
    @@ -1347,73 +1425,124 @@ 

    Source code for normative_parallel

                     with fileinput.FileInput(jobpath, inplace=True) as file:
                         for line in file:
                             print(line.replace(duration, new_duration), end='')
    -                if new_memory != False:
    -                    with fileinput.FileInput(jobpath, inplace=True) as file:
    -                        for line in file:
    -                            print(line.replace(memory, new_memory), end='')
    -                sbatch_nm(jobpath,
    -                          log_path)
    + if new_memory != False: + with fileinput.FileInput(jobpath, inplace=True) as file: + for line in file: + print(line.replace(memory, new_memory), end='') + job_id = sbatch_nm(jobpath) + job_ids.append(job_id) + + if interactive: + check_jobs(job_ids, cluster_spec='slurm', + start_time=start_time, delay=60)
    + -
    [docs]def retrieve_jobs(): +
    +[docs] +def retrieve_jobs(cluster_spec, start_time=None): """ A utility function to retrieve task status from the outputs of qstat. + :param cluster_spec: type of cluster, either 'torque' or 'slurm'. + :return: a dictionary of jobs. """ - output = check_output('qstat', shell=True).decode(sys.stdout.encoding) - output = output.split('\n') - jobs = dict() - for line in output[2:-1]: - (Job_ID, Job_Name, User, Wall_Time, Status, Queue) = line.split() - jobs[Job_ID] = dict() - jobs[Job_ID]['name'] = Job_Name - jobs[Job_ID]['walltime'] = Wall_Time - jobs[Job_ID]['status'] = Status + if cluster_spec == 'torque': + + output = check_output('qstat', shell=True).decode(sys.stdout.encoding) + output = output.split('\n') + jobs = dict() + for line in output[2:-1]: + (Job_ID, Job_Name, User, Wall_Time, Status, Queue) = line.split() + jobs[Job_ID] = dict() + jobs[Job_ID]['name'] = Job_Name + jobs[Job_ID]['walltime'] = Wall_Time + jobs[Job_ID]['status'] = Status + + elif cluster_spec == 'slurm': + + end_time = datetime.now().strftime("%Y-%m-%dT%H:%M:%S") + cmd = ['sacct', '-n', '-X', '--parsable2', '--noheader', + '-S', start_time, '-E', end_time, '--format=JobName,State'] + jobs = run(cmd, capture_output=True, text=True) return jobs
    -
    [docs]def check_job_status(jobs): + +
    +[docs] +def check_job_status(jobs, cluster_spec, start_time=None): """ A utility function to count the tasks with different status. :param jobs: List of job ids. - :return: returns the number of taks athat are queued, running, completed etc + :param cluster_spec: type of cluster, either 'torque' or 'slurm'. + :return returns the number of taks athat are queued, running, completed etc """ - running_jobs = retrieve_jobs() + running_jobs = retrieve_jobs(cluster_spec, start_time) r = 0 c = 0 q = 0 u = 0 - for job in jobs: - try: - if running_jobs[job]['status'] == 'C': + + if cluster_spec == 'torque': + + for job in jobs: + try: + if running_jobs[job]['status'] == 'C': + c += 1 + elif running_jobs[job]['status'] == 'Q': + q += 1 + elif running_jobs[job]['status'] == 'R': + r += 1 + else: + u += 1 + except: # probably meanwhile the job is finished. c += 1 - elif running_jobs[job]['status'] == 'Q': - q += 1 - elif running_jobs[job]['status'] == 'R': - r += 1 - else: - u += 1 - except: # probably meanwhile the job is finished. - c += 1 - continue + continue + + print('Total Jobs:%d, Queued:%d, Running:%d, Completed:%d, Unknown:%d' + % (len(jobs), q, r, c, u)) + + elif cluster_spec == 'slurm': + + lines = running_jobs.stdout.strip().split('\n') + + for line in lines: + if line: + parts = line.split('|') + if len(parts) >= 2: + job_name, state = parts[0], parts[1] + if state == 'PENDING': + q += 1 + elif state == 'RUNNING': + r += 1 + elif state == 'COMPLETED': + c += 1 + elif state == 'FAILED': + u += 1 + + print('Total Jobs:%d, Pending:%d, Running:%d, Completed:%d, Failed:%d' + % (len(jobs), q, r, c, u)) - print('Total Jobs:%d, Queued:%d, Running:%d, Completed:%d, Unknown:%d' - % (len(jobs), q, r, c, u)) return q, r, c, u
    -
    [docs]def check_jobs(jobs, delay=60): + +
    +[docs] +def check_jobs(jobs, cluster_spec, start_time=None, delay=60): """ A utility function for chacking the status of submitted jobs. :param jobs: list of job ids. + :param cluster_spec: type of cluster, either 'torque' or 'slurm'. :param delay: the delay (in sec) between two consequative checks, defaults to 60. """ @@ -1421,11 +1550,12 @@

    Source code for normative_parallel

         n = len(jobs)
     
         while (True):
    -        q, r, c, u = check_job_status(jobs)
    +        q, r, c, u = check_job_status(jobs, cluster_spec, start_time)
             if c == n:
                 print('All jobs are completed!')
                 break
             time.sleep(delay)
    +
    diff --git a/doc/build/html/_modules/rfa.html b/doc/build/html/_modules/rfa.html index 986a44c9..0ea213e2 100644 --- a/doc/build/html/_modules/rfa.html +++ b/doc/build/html/_modules/rfa.html @@ -1,28 +1,24 @@ + + - + rfa — Predictive Clinical Neuroscience Toolkit 0.20 documentation - - - + + + - - - - - - - - - + + + + + @@ -62,13 +58,24 @@

Tutorials

Other Useful Stuff

    @@ -110,7 +117,9 @@

    Source code for rfa

     import torch
     
     
    -
    [docs]class GPRRFA: +
    +[docs] +class GPRRFA: """Random Feature Approximation for Gaussian Process Regression Estimation and prediction of Bayesian linear regression models @@ -191,11 +200,16 @@

    Source code for rfa

     
             return X, y, hyp
     
    -
    [docs] def get_n_params(self, X): +
    +[docs] + def get_n_params(self, X): return X.shape[1] + 2
    -
    [docs] def post(self, hyp, X, y): + +
    +[docs] + def post(self, hyp, X, y): """ Generic function to compute posterior distribution. This function will save the posterior mean and precision matrix as @@ -240,7 +254,10 @@

    Source code for rfa

             if hasattr(self, '_iterations'):
                 self._iterations += 1
    -
    [docs] def loglik(self, hyp, X, y): + +
    +[docs] + def loglik(self, hyp, X, y): """ Function to compute compute log (marginal) likelihood """ X, y, hyp = self._numpy2torch(X, y, hyp) @@ -275,14 +292,20 @@

    Source code for rfa

             self.nlZ = nlZ
             return nlZ
    -
    [docs] def dloglik(self, hyp, X, y): + +
    +[docs] + def dloglik(self, hyp, X, y): """ Function to compute derivatives """ print("derivatives not available") return
    -
    [docs] def estimate(self, hyp0, X, y, optimizer='lbfgs'): + +
    +[docs] + def estimate(self, hyp0, X, y, optimizer='lbfgs'): """ Function to estimate the model """ if type(hyp0) is torch.Tensor: @@ -324,7 +347,10 @@

    Source code for rfa

     
             return self.hyp.detach().numpy()
    -
    [docs] def predict(self, hyp, X, y, Xs): + +
    +[docs] + def predict(self, hyp, X, y, Xs): """ Function to make predictions from the model """ X, y, hyp = self._numpy2torch(X, y, hyp) @@ -347,7 +373,9 @@

    Source code for rfa

                 torch.sum(Phis * torch.t(torch.solve(torch.t(Phis), self.A)[0]), 1)
     
             # return output as numpy arrays
    -        return ys.detach().numpy().squeeze(), s2.detach().numpy().squeeze()
    + return ys.detach().numpy().squeeze(), s2.detach().numpy().squeeze()
    +
    +
    diff --git a/doc/build/html/_modules/trendsurf.html b/doc/build/html/_modules/trendsurf.html index d01ca0b3..1470dd83 100644 --- a/doc/build/html/_modules/trendsurf.html +++ b/doc/build/html/_modules/trendsurf.html @@ -1,28 +1,24 @@ + + - + trendsurf — Predictive Clinical Neuroscience Toolkit 0.20 documentation - - - + + + - - - - - - - - - + + + + + @@ -62,13 +58,24 @@

Tutorials

Other Useful Stuff

    @@ -135,7 +142,9 @@

    Source code for trendsurf

         from model.bayesreg import BLR
     
     
    -
    [docs]def load_data(datafile, maskfile=None): +
    +[docs] +def load_data(datafile, maskfile=None): """ Load data from disk @@ -179,7 +188,10 @@

    Source code for trendsurf

         return dat, world, mask
    -
    [docs]def create_basis(X, basis, mask): + +
    +[docs] +def create_basis(X, basis, mask): """ Create a basis set @@ -223,7 +235,10 @@

    Source code for trendsurf

         return Phi
    -
    [docs]def write_nii(data, filename, examplenii, mask): + +
    +[docs] +def write_nii(data, filename, examplenii, mask): """ Write data to nifti file @@ -251,7 +266,10 @@

    Source code for trendsurf

         nib.save(array_img, filename)
    -
    [docs]def get_args(*args): + +
    +[docs] +def get_args(*args): """ Parse command line arguments @@ -293,7 +311,10 @@

    Source code for trendsurf

         return filename, maskfile, basis, args.a, args.o
    -
    [docs]def estimate(filename, maskfile, basis, ard=False, outputall=False, + +
    +[docs] +def estimate(filename, maskfile, basis, ard=False, outputall=False, saveoutput=True, **kwargs): """ Estimate a trend surface model @@ -406,13 +427,17 @@

    Source code for trendsurf

             return out
    -
    [docs]def main(*args): + +
    +[docs] +def main(*args): np.seterr(invalid='ignore') filename, maskfile, basis, ard, outputall = get_args(args) estimate(filename, maskfile, basis, ard, outputall)
    + # For running from the command line: if __name__ == "__main__": main(sys.argv[1:]) diff --git a/doc/build/html/_sources/pages/BLR_normativemodel_protocol.rst.txt b/doc/build/html/_sources/pages/BLR_normativemodel_protocol.rst.txt index 479b5163..4c23523b 100644 --- a/doc/build/html/_sources/pages/BLR_normativemodel_protocol.rst.txt +++ b/doc/build/html/_sources/pages/BLR_normativemodel_protocol.rst.txt @@ -1,27 +1,22 @@ -.. title:: BLR tutorial +`Predictive Clinical Neuroscience Toolkit `__ +====================================================================================== -Bayesian Linear Regression +The Normative Modeling Framework for Computational Psychiatry Protocol ====================================================================== -The Normative Modeling Framework for Computational Psychiatry. Nature Protocols. https://www.nature.com/articles/s41596-022-00696-5. +Using Bayesian Linear Regression and Multi-Site Cortical Thickness Data +----------------------------------------------------------------------- Created by `Saige Rutherford `__ -Using Multi-Site Cortical Thickness Data - -.. image:: https://colab.research.google.com/assets/colab-badge.svg - :target: https://colab.research.google.com/github/predictive-clinical-neuroscience/PCNtoolkit-demo/blob/main/tutorials/BLR_protocol/BLR_normativemodel_protocol.ipynb - - -.. figure:: ./blr_fig2.png - :height: 400px - :align: center - Data Preparation ---------------------------------------------- +================ Install necessary libraries & grab data files -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +--------------------------------------------- + +Step 1. +~~~~~~~ Begin by cloning the GitHub repository using the following commands. This repository contains the necessary code and example data. Then @@ -33,33 +28,28 @@ your computer). ! git clone https://github.com/predictive-clinical-neuroscience/PCNtoolkit-demo.git - -.. parsed-literal:: - - Cloning into 'PCNtoolkit-demo'... - remote: Enumerating objects: 855, done. - remote: Counting objects: 100% (855/855), done. - remote: Compressing objects: 100% (737/737), done. - remote: Total 855 (delta 278), reused 601 (delta 101), pack-reused 0 - Receiving objects: 100% (855/855), 18.07 MiB | 13.53 MiB/s, done. - Resolving deltas: 100% (278/278), done. - - .. code:: ipython3 import os # set this path to the git cloned PCNtoolkit-demo repository --> Uncomment whichever line you need for either running on your own computer or on Google Colab. - #os.chdir('/Users/PCNtoolkit-demo/tutorials/BLR_protocol') # if running on your own computer, use this line (change the path to match where you cloned the repository) - os.chdir('/content/PCNtoolkit-demo/tutorials/BLR_protocol') # if running on Google Colab, use this line + #wdir = '/PCNtoolkit-demo' # if running on your own computer, use this line (change the path to match where you cloned the repository) + wdir ='/content/PCNtoolkit-demo' # if running on Google Colab, use this line + + os.chdir(os.path.join(wdir,'tutorials','BLR_protocol')) + .. code:: ipython3 + ! pip install nutpie + ! pip install pcntoolkit ! pip install -r requirements.txt - Prepare covariate data -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +---------------------- + +Step 2. +~~~~~~~ The data set (downloaded in Step 1) includes a multi-site dataset from the `Human Connectome Project Young Adult @@ -88,8 +78,8 @@ depending on the research question. .. code:: ipython3 # if running in Google colab, remove the "data/" folder from the path - hcp = pd.read_csv('/content/PCNtoolkit-demo/data/HCP1200_age_gender.csv') - ixi = pd.read_csv('/content/PCNtoolkit-demo/data/IXI_age_gender.csv') + hcp = pd.read_csv(os.path.join(wdir,'data','HCP1200_age_gender.csv')) + ixi = pd.read_csv(os.path.join(wdir,'data','IXI_age_gender.csv')) .. code:: ipython3 @@ -98,8 +88,8 @@ depending on the research question. .. parsed-literal:: - /usr/local/lib/python3.7/dist-packages/pandas/core/reshape/merge.py:1218: UserWarning: You are merging on int and float columns where the float values are not equal to their int representation - UserWarning, + :1: UserWarning: You are merging on int and float columns where the float values are not equal to their int representation. + cov = pd.merge(hcp, ixi, on=["participant_id", "age", "sex", "site"], how='outer') .. code:: ipython3 @@ -108,29 +98,348 @@ depending on the research question. .. code:: ipython3 - sns.displot(cov, x="age", hue="site", multiple="stack", height=6) + sns.displot(cov, x="age", hue="site", multiple="stack", height=6); +.. image:: BLR_normativemodel_protocol_files/BLR_normativemodel_protocol_16_0.png -.. parsed-literal:: - +.. code:: ipython3 + cov.groupby(['site']).describe() -.. image:: BLR_normativemodel_protocol_files/BLR_normativemodel_protocol_15_1.png +.. raw:: html + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    agesex
    countmeanstdmin25%50%75%maxcountmeanstdmin25%50%75%max
    site
    hcp1206.028.8374793.69053422.00000026.00000029.0000032.00000037.000001206.01.5439470.4982721.01.02.02.02.0
    ixi590.049.47653116.72086419.98083534.02772150.6119163.41341586.31896590.01.5559320.4972831.01.02.02.02.0
    +
    +
    + +
    + + + + + +
    + + +
    + + + + + +
    + +
    +
    -.. code:: ipython3 - cov.groupby(['site']).describe() +Preprare brain data +------------------- -Prepare brain data -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Step 3. +~~~~~~~ Next, format and combine the MRI data using the following commands. The example data contains cortical thickness maps estimated by running @@ -139,7 +448,7 @@ was reduced by using ROIs from the Desikan-Killiany atlas. Including the Euler number as a covariate is also recommended, as this is a proxy metric for data quality. The `Euler number `__ from -each subjects recon-all output folder was extracted into a text file +each subject’s recon-all output folder was extracted into a text file and is merged into the cortical thickness data frame. The Euler number is site-specific, thus, to use the same exclusion threshold across sites it is important to center the site by subtracting the site median from @@ -147,7 +456,7 @@ all subjects at a site. Then take the square root and multiply by negative one and exclude any subjects with a square root above 10. Here is some psuedo-code (run from a terminal in the folder that has all -subjects recon-all output folders) that was used to extract these ROIs: +subject’s recon-all output folders) that was used to extract these ROIs: ``export SUBJECTS_DIR=/path/to/study/freesurfer_data/`` @@ -157,14 +466,14 @@ subjects recon-all output folders) that was used to extract these ROIs: .. code:: ipython3 - hcpya = pd.read_csv('/content/PCNtoolkit-demo/data/HCP1200_aparc_thickness.csv') - ixi = pd.read_csv('/content/PCNtoolkit-demo/data/IXI_aparc_thickness.csv') + hcpya = pd.read_csv(os.path.join(wdir,'data','HCP1200_aparc_thickness.csv')) + ixi = pd.read_csv(os.path.join(wdir,'data','IXI_aparc_thickness.csv')) .. code:: ipython3 brain_all = pd.merge(ixi, hcpya, how='outer') -We extracted the euler number from each subjects recon-all output +We extracted the euler number from each subject’s recon-all output folder into a text file and we now need to format and combine these into our brain dataframe. @@ -173,12 +482,12 @@ recon-all.log for each subject. Run this from the terminal in the folder where your subjects recon-all output folders are located. This assumes that all of your subject IDs start with “sub-” prefix. -:literal:`for i in sub-*; do if [[ -e ${i}/scripts/recon-all.log ]]; then cat ${i}/scripts/recon-all.log | grep -A 1 "Computing euler" > temp_log; lh_en=$(cat temp_log | head -2 | tail -1 | awk -F '=' '{print $2}' | awk -F ',' '{print $1}'); rh_en=$(cat temp_log | head -2 | tail -1 | awk -F '=' '{print $3}'); echo "${i}, ${lh_en}, ${rh_en}" >> euler.csv; echo ${i}; fi; done` +:literal:`for i in sub-\*; do if [[ -e ${i}/scripts/recon-all.log ]]; then cat ${i}/scripts/recon-all.log | grep -A 1 "Computing euler" > temp_log; lh_en=`cat temp_log | head -2 | tail -1 | awk -F '=' '{print $2}' | awk -F ',' '{print $1}'\`; rh_en=`cat temp_log | head -2 | tail -1 | awk -F '=' '{print $3}'\`; echo "${i}, ${lh_en}, ${rh_en}" >> euler.csv; echo ${i}; fi; done` .. code:: ipython3 - hcp_euler = pd.read_csv('/content/PCNtoolkit-demo/data/hcp-ya_euler.csv') - ixi_euler = pd.read_csv('/content/PCNtoolkit-demo/data/ixi_euler.csv') + hcp_euler = pd.read_csv(os.path.join(wdir,'data','hcp-ya_euler.csv')) + ixi_euler = pd.read_csv(os.path.join(wdir,'data','ixi_euler.csv')) .. code:: ipython3 @@ -221,7 +530,7 @@ inclusion is not too strict or too lenient. .. code:: ipython3 - df_euler.groupby(by='site').median() + df_euler.groupby(by='site')[['lh_euler', 'rh_euler', 'avg_euler']].median() @@ -229,9 +538,8 @@ inclusion is not too strict or too lenient. .. raw:: html -
    -
    -
    +
    +
    - + +
    + + +
    + + + + + +
    +
    @@ -363,6 +805,13 @@ inclusion is not too strict or too lenient. df_euler['site_median'] = df_euler['site_median'].replace({'hcp':-43,'ixi':-56}) + +.. parsed-literal:: + + :1: FutureWarning: Downcasting behavior in `replace` is deprecated and will be removed in a future version. To retain the old behavior, explicitly call `result.infer_objects(copy=False)`. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` + df_euler['site_median'] = df_euler['site_median'].replace({'hcp':-43,'ixi':-56}) + + .. code:: ipython3 df_euler['avg_euler_centered'] = df_euler['avg_euler'] - df_euler['site_median'] @@ -383,18 +832,19 @@ inclusion is not too strict or too lenient. brain_good = brain.query('avg_euler_centered_neg_sqrt < 10') -.. warning:: - **CRITICAL STEP:** If possible, data should be visually inspected to - verify that the data inclusion is not too strict or too lenient. - Subjects above the Euler number threshold should be manually checked to - verify and justify their exclusion due to poor data quality. This is - just one approach for automated QC used by the developers of the - PCNtoolkit. Other approaches such as the ENIGMA QC pipeline or UK - Biobanks QC pipeline are also viable options for automated QC. +**CRITICAL STEP:** If possible, data should be visually inspected to +verify that the data inclusion is not too strict or too lenient. +Subjects above the Euler number threshold should be manually checked to +verify and justify their exclusion due to poor data quality. This is +just one approach for automated QC used by the developers of the +PCNtoolkit. Other approaches such as the ENIGMA QC pipeline or UK +Biobank’s QC pipeline are also viable options for automated QC. Combine covariate & cortical thickness dataframes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +------------------------------------------------- +Step 4. +~~~~~~~ The normative modeling function requires the covariate predictors and brain features to be in separate text files. However, it is important to @@ -407,7 +857,7 @@ their own dataframes, using the commands below. .. code:: ipython3 - # make sure to use how="inner" so that we only include subjects that have data in both the covariate and the cortical thickness files + # make sure to use how="inner" so that we only include subjects that have data in both the covariate and the cortical thickness files all_data = pd.merge(brain_good, cov, how='inner') .. code:: ipython3 @@ -433,13 +883,15 @@ their own dataframes, using the commands below. all_data_covariates = all_data[['age','sex','site']] -.. warning:: - **CRITICAL STEP:** ``roi_ids`` is a variable that represents which brain - areas will be modeled and can be used to select subsets of the data - frame if you do not wish to run models for the whole brain. +**CRITICAL STEP:** ``roi_ids`` is a variable that represents which brain +areas will be modeled and can be used to select subsets of the data +frame if you do not wish to run models for the whole brain. Add variable to model site/scanner effects -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +------------------------------------------ + +Step 5. +~~~~~~~ Currently, the different sites are coded in a single column (named ‘site’) and are represented as a string data type. However, the @@ -451,17 +903,689 @@ variables (0=not in this site, 1=present in this site). .. code:: ipython3 - all_data_covariates = pd.get_dummies(all_data_covariates, columns=['site']) + all_data_covariates = pd.get_dummies(all_data_covariates, columns=['site'], dtype=int) .. code:: ipython3 - all_data['Average_Thickness'] = all_data[['lh_MeanThickness_thickness','rh_MeanThickness_thickness']].mean(axis=1) + all_data_covariates.head() + + + + +.. raw:: html + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    agesexsite_hcpsite_ixi
    027.0110
    127.0210
    233.0110
    327.0110
    435.0210
    +
    +
    + +
    + + + + + +
    + + +
    + + + + + +
    + +
    +
    + +.. code:: ipython3 + + all_data_covariates + + + + +.. raw:: html + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    agesexsite_hcpsite_ixi
    027.000000110
    127.000000210
    233.000000110
    327.000000110
    435.000000210
    ...............
    168747.723477101
    168850.395619101
    168942.989733101
    169046.220397101
    169141.741273101
    +

    1692 rows × 4 columns

    +
    +
    + +
    + + + + + +
    + + +
    + + + + + +
    + +
    + + + +
    + +
    +
    + + + + +.. code:: ipython3 + + all_data['Average_Thickness'] = all_data[['lh_MeanThickness_thickness','rh_MeanThickness_thickness']].mean(axis=1) + Train/test split -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +---------------- +Step 6. +~~~~~~~ In this example, we use 80% of the data for training and 20% for testing. Please carefully read the experimental design section on @@ -501,11 +1625,12 @@ Verify that your train & test arrays are the same size Test response size is: (339, 6) -.. warning:: - **CRITICAL STEP:** The model would not learn the site effects if all the - data from one site was only in the test set. Therefore, we stratify the - train/test split using the site variable. +**CRITICAL STEP:** The model would not learn the site effects if all the +data from one site was only in the test set. Therefore, we stratify the +train/test split using the site variable. +Step 7. +~~~~~~~ When the data were split into train and test sets, the row index was not reset. This means that the row index in the train and test data frames @@ -540,9 +1665,11 @@ which sites to evaluate model performance for, as follows: # Create a list with sites names to use in evaluating per-site metrics site_names = ['hcp', 'ixi'] - Setup output directories -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +------------------------ + +Step 8. +------- Save each brain region to its own text file (organized in separate directories) using the following commands, because for each response @@ -557,6 +1684,7 @@ variable, Y (e.g., brain region) we fit a separate normative model. X_train.to_csv('cov_tr.txt', sep = '\t', header=False, index = False) + .. code:: ipython3 y_train.to_csv('resp_tr.txt', sep = '\t', header=False, index = False) @@ -580,12 +1708,25 @@ variable, Y (e.g., brain region) we fit a separate normative model. .. code:: ipython3 + # Note: please change the path in the following to wdir (depending on whether you are running on colab or not) + ! for i in `cat /content/PCNtoolkit-demo/data/roi_dir_names`; do if [[ -e resp_tr_${i}.txt ]]; then cd ROI_models; mkdir ${i}; cd ../; cp resp_tr_${i}.txt ROI_models/${i}/resp_tr.txt; cp resp_te_${i}.txt ROI_models/${i}/resp_te.txt; cp cov_tr.txt ROI_models/${i}/cov_tr.txt; cp cov_te.txt ROI_models/${i}/cov_te.txt; fi; done + +.. parsed-literal:: + + mkdir: cannot create directory ‘lh_MeanThickness_thickness’: File exists + mkdir: cannot create directory ‘lh_bankssts_thickness’: File exists + mkdir: cannot create directory ‘lh_caudalanteriorcingulate_thickness’: File exists + mkdir: cannot create directory ‘lh_superiorfrontal_thickness’: File exists + mkdir: cannot create directory ‘rh_MeanThickness_thickness’: File exists + mkdir: cannot create directory ‘rh_superiorfrontal_thickness’: File exists + + .. code:: ipython3 # clean up files - ! rm resp_*.txt + ! rm resp_*.txt .. code:: ipython3 @@ -593,11 +1734,13 @@ variable, Y (e.g., brain region) we fit a separate normative model. ! rm cov_t*.txt Algorithm & Modeling -------------------------------- +==================== Basis expansion using B-Splines -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +------------------------------- +Step 9. +~~~~~~~ Now, set up a B-spline basis set that allows us to perform nonlinear regression using a linear model, using the following commands. This @@ -615,29 +1758,29 @@ al `__. .. code:: ipython3 # set this path to wherever your ROI_models folder is located (where you copied all of the covariate & response text files to in Step 4) - data_dir = '/content/PCNtoolkit-demo/tutorials/BLR_protocol/ROI_models/' + data_dir = os.path.join(wdir,'tutorials','BLR_protocol','ROI_models') # Create a cubic B-spline basis (used for regression) xmin = 10#16 # xmin & xmax are the boundaries for ages of participants in the dataset xmax = 95#90 B = create_bspline_basis(xmin, xmax) - # create the basis expansion for the covariates for each of the - for roi in roi_ids: + # create the basis expansion for the covariates for each of the + for roi in roi_ids: print('Creating basis expansion for ROI:', roi) roi_dir = os.path.join(data_dir, roi) os.chdir(roi_dir) - # create output dir + # create output dir os.makedirs(os.path.join(roi_dir,'blr'), exist_ok=True) # load train & test covariate data matrices X_tr = np.loadtxt(os.path.join(roi_dir, 'cov_tr.txt')) X_te = np.loadtxt(os.path.join(roi_dir, 'cov_te.txt')) - # add intercept column + # add intercept column X_tr = np.concatenate((X_tr, np.ones((X_tr.shape[0],1))), axis=1) X_te = np.concatenate((X_te, np.ones((X_te.shape[0],1))), axis=1) np.savetxt(os.path.join(roi_dir, 'cov_int_tr.txt'), X_tr) np.savetxt(os.path.join(roi_dir, 'cov_int_te.txt'), X_te) - - # create Bspline basis set + + # create Bspline basis set Phi = np.array([B(i) for i in X_tr[:,0]]) Phis = np.array([B(i) for i in X_te[:,0]]) X_tr = np.concatenate((X_tr, Phi), axis=1) @@ -657,8 +1800,10 @@ al `__. Estimate normative model -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +------------------------ +Step 10. +~~~~~~~~ Set up a variable (``data_dir``) that specifies the path to the ROI directories that were created in Step 7. Initiate two empty pandas data @@ -674,6 +1819,8 @@ these data frames will be saved as individual csv files. blr_metrics = pd.DataFrame(columns = ['ROI', 'MSLL', 'EV', 'SMSE', 'RMSE', 'Rho']) blr_site_metrics = pd.DataFrame(columns = ['ROI', 'site', 'MSLL', 'EV', 'SMSE', 'RMSE', 'Rho']) +Step 11. +~~~~~~~~ Estimate the normative models using a for loop to iterate over brain regions. An important consideration is whether to re-scale or @@ -693,70 +1840,69 @@ arguments that are worthy of commenting on: :: - alg = 'blr': specifies we should use Bayesian Linear Regression. - - optimizer = 'powell': use Powell's derivative-free optimization method (faster in this case than L-BFGS) - - savemodel = False: do not write out the final estimated model to disk + - optimizer = 'powell': use Powell's derivative-free optimization method (faster in this case than L-BFGS) + - savemodel = False: do not write out the final estimated model to disk - saveoutput = False: return the outputs directly rather than writing them to disk - standardize = False: Do not standardize the covariates or response variables -.. warning:: - **CRITICAL STEP:** This code fragment will loop through each region of - interest in the ``roi_ids`` list (created in step 4) using Bayesian - Linear Regression and evaluate the model on the independent test set. In - principle, we could estimate the normative models on the whole data - matrix at once (e.g., with the response variables stored in a - ``n_subjects`` by ``n_brain_measures`` NumPy array or a text file - instead of saved out into separate directories). However, running the - models iteratively gives some extra flexibility in that it does not - require that the included subjects are the same for each of the brain - measures. +**CRITICAL STEP:** This code fragment will loop through each region of +interest in the ``roi_ids`` list (created in step 4) using Bayesian +Linear Regression and evaluate the model on the independent test set. In +principle, we could estimate the normative models on the whole data +matrix at once (e.g., with the response variables stored in a +``n_subjects`` by ``n_brain_measures`` NumPy array or a text file +instead of saved out into separate directories). However, running the +models iteratively gives some extra flexibility in that it does not +require that the included subjects are the same for each of the brain +measures. .. code:: ipython3 # Loop through ROIs - for roi in roi_ids: + for roi in roi_ids: print('Running ROI:', roi) roi_dir = os.path.join(data_dir, roi) os.chdir(roi_dir) - - # configure the covariates to use. Change *_bspline_* to *_int_* to + + # configure the covariates to use. Change *_bspline_* to *_int_* to cov_file_tr = os.path.join(roi_dir, 'cov_bspline_tr.txt') cov_file_te = os.path.join(roi_dir, 'cov_bspline_te.txt') - + # load train & test response files resp_file_tr = os.path.join(roi_dir, 'resp_tr.txt') - resp_file_te = os.path.join(roi_dir, 'resp_te.txt') - + resp_file_te = os.path.join(roi_dir, 'resp_te.txt') + # run a basic model - yhat_te, s2_te, nm, Z, metrics_te = estimate(cov_file_tr, - resp_file_tr, - testresp=resp_file_te, - testcov=cov_file_te, - alg = 'blr', - optimizer = 'powell', - savemodel = True, + yhat_te, s2_te, nm, Z, metrics_te = estimate(cov_file_tr, + resp_file_tr, + testresp=resp_file_te, + testcov=cov_file_te, + alg = 'blr', + optimizer = 'powell', + savemodel = True, saveoutput = False, standardize = False) # save metrics blr_metrics.loc[len(blr_metrics)] = [roi, metrics_te['MSLL'][0], metrics_te['EXPV'][0], metrics_te['SMSE'][0], metrics_te['RMSE'][0], metrics_te['Rho'][0]] - + # Compute metrics per site in test set, save to pandas df # load true test data X_te = np.loadtxt(cov_file_te) y_te = np.loadtxt(resp_file_te) y_te = y_te[:, np.newaxis] # make sure it is a 2-d array - + # load training data (required to compute the MSLL) y_tr = np.loadtxt(resp_file_tr) y_tr = y_tr[:, np.newaxis] - - for num, site in enumerate(sites): + + for num, site in enumerate(sites): y_mean_te_site = np.array([[np.mean(y_te[site])]]) y_var_te_site = np.array([[np.var(y_te[site])]]) yhat_mean_te_site = np.array([[np.mean(yhat_te[site])]]) yhat_var_te_site = np.array([[np.var(yhat_te[site])]]) - + metrics_te_site = evaluate(y_te[site], yhat_te[site], s2_te[site], y_mean_te_site, y_var_te_site) - + site_name = site_names[num] blr_site_metrics.loc[len(blr_site_metrics)] = [roi, site_names[num], metrics_te_site['MSLL'][0], metrics_te_site['EXPV'][0], metrics_te_site['SMSE'][0], metrics_te_site['RMSE'][0], metrics_te_site['Rho'][0]] @@ -764,40 +1910,54 @@ arguments that are worthy of commenting on: .. parsed-literal:: Running ROI: lh_MeanThickness_thickness + inscaler: None + outscaler: None Processing data in /content/PCNtoolkit-demo/tutorials/BLR_protocol/ROI_models/lh_MeanThickness_thickness/resp_tr.txt Estimating model 1 of 1 configuring BLR ( order 1 ) Using default hyperparameters - Optimization terminated successfully. - Current function value: -1162.792820 - Iterations: 2 - Function evaluations: 47 - Saving model meta-data... - Evaluating the model ... .. parsed-literal:: - /usr/local/lib/python3.7/dist-packages/pcntoolkit/model/bayesreg.py:187: LinAlgWarning: Ill-conditioned matrix (rcond=1.15485e-18): result may not be accurate. - invAXt = linalg.solve(self.A, X.T, check_finite=False) - /usr/local/lib/python3.7/dist-packages/pcntoolkit/model/bayesreg.py:187: LinAlgWarning: Ill-conditioned matrix (rcond=4.51813e-19): result may not be accurate. + /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/bayesreg.py:196: LinAlgWarning: Ill-conditioned matrix (rcond=1.15485e-18): result may not be accurate. invAXt = linalg.solve(self.A, X.T, check_finite=False) .. parsed-literal:: + Optimization terminated successfully. + Current function value: -1162.792820 + Iterations: 2 + Function evaluations: 43 + Saving model meta-data... + Evaluating the model ... Running ROI: rh_MeanThickness_thickness + inscaler: None + outscaler: None Processing data in /content/PCNtoolkit-demo/tutorials/BLR_protocol/ROI_models/rh_MeanThickness_thickness/resp_tr.txt Estimating model 1 of 1 configuring BLR ( order 1 ) Using default hyperparameters + + +.. parsed-literal:: + + /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/bayesreg.py:196: LinAlgWarning: Ill-conditioned matrix (rcond=4.51813e-19): result may not be accurate. + invAXt = linalg.solve(self.A, X.T, check_finite=False) + + +.. parsed-literal:: + Optimization terminated successfully. Current function value: -1187.621858 Iterations: 2 - Function evaluations: 47 + Function evaluations: 43 Saving model meta-data... Evaluating the model ... Running ROI: lh_bankssts_thickness + inscaler: None + outscaler: None Processing data in /content/PCNtoolkit-demo/tutorials/BLR_protocol/ROI_models/lh_bankssts_thickness/resp_tr.txt Estimating model 1 of 1 configuring BLR ( order 1 ) @@ -805,10 +1965,12 @@ arguments that are worthy of commenting on: Optimization terminated successfully. Current function value: -578.945257 Iterations: 2 - Function evaluations: 46 + Function evaluations: 42 Saving model meta-data... Evaluating the model ... Running ROI: lh_caudalanteriorcingulate_thickness + inscaler: None + outscaler: None Processing data in /content/PCNtoolkit-demo/tutorials/BLR_protocol/ROI_models/lh_caudalanteriorcingulate_thickness/resp_tr.txt Estimating model 1 of 1 configuring BLR ( order 1 ) @@ -816,10 +1978,12 @@ arguments that are worthy of commenting on: Optimization terminated successfully. Current function value: -235.509099 Iterations: 3 - Function evaluations: 75 + Function evaluations: 69 Saving model meta-data... Evaluating the model ... Running ROI: lh_superiorfrontal_thickness + inscaler: None + outscaler: None Processing data in /content/PCNtoolkit-demo/tutorials/BLR_protocol/ROI_models/lh_superiorfrontal_thickness/resp_tr.txt Estimating model 1 of 1 configuring BLR ( order 1 ) @@ -827,10 +1991,12 @@ arguments that are worthy of commenting on: Optimization terminated successfully. Current function value: -716.547377 Iterations: 3 - Function evaluations: 91 + Function evaluations: 84 Saving model meta-data... Evaluating the model ... Running ROI: rh_superiorfrontal_thickness + inscaler: None + outscaler: None Processing data in /content/PCNtoolkit-demo/tutorials/BLR_protocol/ROI_models/rh_superiorfrontal_thickness/resp_tr.txt Estimating model 1 of 1 configuring BLR ( order 1 ) @@ -838,17 +2004,19 @@ arguments that are worthy of commenting on: Optimization terminated successfully. Current function value: -730.639309 Iterations: 2 - Function evaluations: 45 + Function evaluations: 41 Saving model meta-data... Evaluating the model ... Evaluation & Interpretation ----------------------------------------- +=========================== Describe the normative model performance -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +---------------------------------------- +Step 12. +~~~~~~~~ In step 11, when we looped over each region of interest in the ``roi_ids`` list (created in step 4) and evaluated the normative model @@ -917,7 +2085,7 @@ can organize them into a single file, and merge the deviation scores into the original data file. Visualize normative model outputs -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +--------------------------------- Figure 4A viz ~~~~~~~~~~~~~ @@ -937,29 +2105,21 @@ Figure 4A viz plt.figure(dpi=380) fig, axes = joypy.joyplot(blr_site_metrics, column=['EV'], overlap=2.5, by="site", ylim='own', fill=True, figsize=(8,8) , legend=False, xlabels=True, ylabels=True, colormap=lambda x: color_gradient(x, start=(.08, .45, .8),stop=(.8, .34, .44)) - , alpha=0.6, linewidth=.5, linecolor='w', fade=True) + , alpha=0.6, linewidth=.5, linecolor='w', fade=True); plt.title('Test Set Explained Variance', fontsize=18, color='black', alpha=1) plt.xlabel('Explained Variance', fontsize=14, color='black', alpha=1) plt.ylabel('Site', fontsize=14, color='black', alpha=1) - plt.show - + plt.show() .. parsed-literal:: - +
    - -.. parsed-literal:: - -
    - - - -.. image:: BLR_normativemodel_protocol_files/BLR_normativemodel_protocol_93_2.png +.. image:: BLR_normativemodel_protocol_files/BLR_normativemodel_protocol_97_1.png The code used to create the visualizations shown in Figure 4 panels B-F, @@ -967,7 +2127,8 @@ can be found in this `notebook `__. Post-Hoc analysis ideas -~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------- + The code for running SVM classification and classical case vs. control t-testing on the outputs of normative modeling can be found in this diff --git a/doc/build/html/_sources/pages/FAQs.rst.txt b/doc/build/html/_sources/pages/FAQs.rst.txt index a8879d36..efe98bd0 100644 --- a/doc/build/html/_sources/pages/FAQs.rst.txt +++ b/doc/build/html/_sources/pages/FAQs.rst.txt @@ -5,7 +5,7 @@ Frequently Asked Questions Most of the questions we recieve are about interpretation of normative modeling outputs. -The PCNtoolkit develoers have written a protocol for how to run a normative modeling analysis which should be helpful to you if you are just getting started. +The PCNtoolkit developers have written a protocol for how to run a normative modeling analysis which should be helpful to you if you are just getting started. Rutherford, S., Kia, S. M., Wolfers, T., ... Beckmann, C. F., & Marquand, A. F. (2022). The Normative Modeling Framework for Computational Psychiatry. Nature Protocols. https://www.nature.com/articles/s41596-022-00696-5. diff --git a/doc/build/html/_sources/pages/HBR_NormativeModel_FCONdata_Tutorial.rst.txt b/doc/build/html/_sources/pages/HBR_NormativeModel_FCONdata_Tutorial.rst.txt index d4933e38..55d17eb8 100644 --- a/doc/build/html/_sources/pages/HBR_NormativeModel_FCONdata_Tutorial.rst.txt +++ b/doc/build/html/_sources/pages/HBR_NormativeModel_FCONdata_Tutorial.rst.txt @@ -1,30 +1,132 @@ -.. title:: HBR tutorial +`Predictive Clinical Neuroscience Toolkit `__ +====================================================================================== -Hierarchical Bayesian Regression +Hierarchical Bayesian Regression Normative Modelling and Transfer onto unseen site. =================================================================================== This notebook will go through basic data preparation (training and -testing set, `see Saige's +testing set, `see Saige’s tutorial `__ on Normative Modelling for more detail), the actual training of the models, and will finally describe how to transfer the trained models onto unseen sites. Created by `Saige Rutherford `__ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Adapted/edited by Andre Marquand and Pierre Berthet. - -.. image:: https://colab.research.google.com/assets/colab-badge.svg - :target: https://colab.research.google.com/github/predictive-clinical-neuroscience/PCNtoolkit-demo/blob/main/tutorials/HBR_FCON/HBR_NormativeModel_FCONdata_Tutorial.ipynb - - +adapted/edited by Andre Marquand and Pierre Berthet +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Step 0: Install necessary libraries & grab data files ----------------------------------------------------- .. code:: ipython3 - ! pip install pcntoolkit==0.26 + !pip install pcntoolkit + !pip install nutpie + + +.. parsed-literal:: + + Collecting https://github.com/amarquand/PCNtoolkit/archive/dev.zip + Downloading https://github.com/amarquand/PCNtoolkit/archive/dev.zip +  \ 64.9 MB 15.9 MB/s 0:00:05 + [?25h Installing build dependencies ... [?25l[?25hdone + Getting requirements to build wheel ... [?25l[?25hdone + Preparing metadata (pyproject.toml) ... [?25l[?25hdone + Collecting bspline<0.2.0,>=0.1.1 (from pcntoolkit==0.31.0) + Downloading bspline-0.1.1.tar.gz (84 kB) +  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 84.2/84.2 kB 2.3 MB/s eta 0:00:00 + [?25h Preparing metadata (setup.py) ... [?25l[?25hdone + Collecting matplotlib<4.0.0,>=3.9.2 (from pcntoolkit==0.31.0) + Downloading matplotlib-3.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB) + Requirement already satisfied: nibabel<6.0.0,>=5.3.1 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (5.3.2) + Requirement already satisfied: numpy<2.0,>=1.26 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (1.26.4) + Requirement already satisfied: pymc<6.0.0,>=5.18.0 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (5.18.0) + Requirement already satisfied: scikit-learn<2.0.0,>=1.5.2 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (1.5.2) + Requirement already satisfied: scipy<2.0,>=1.12 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (1.13.1) + Requirement already satisfied: seaborn<0.14.0,>=0.13.2 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (0.13.2) + Requirement already satisfied: six<2.0.0,>=1.16.0 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (1.16.0) + Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (1.3.1) + Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (0.12.1) + Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (4.54.1) + Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (1.4.7) + Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (24.2) + Requirement already satisfied: pillow>=8 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (11.0.0) + Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (3.2.0) + Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (2.8.2) + Requirement already satisfied: importlib-resources>=5.12 in /usr/local/lib/python3.10/dist-packages (from nibabel<6.0.0,>=5.3.1->pcntoolkit==0.31.0) (6.4.5) + Requirement already satisfied: typing-extensions>=4.6 in /usr/local/lib/python3.10/dist-packages (from nibabel<6.0.0,>=5.3.1->pcntoolkit==0.31.0) (4.12.2) + Requirement already satisfied: arviz>=0.13.0 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.20.0) + Requirement already satisfied: cachetools>=4.2.1 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (5.5.0) + Requirement already satisfied: cloudpickle in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.1.0) + Requirement already satisfied: pandas>=0.24.0 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2.2.2) + Requirement already satisfied: pytensor<2.26,>=2.25.1 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2.25.5) + Requirement already satisfied: rich>=13.7.1 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (13.9.4) + Requirement already satisfied: threadpoolctl<4.0.0,>=3.1.0 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.5.0) + Requirement already satisfied: joblib>=1.2.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn<2.0.0,>=1.5.2->pcntoolkit==0.31.0) (1.4.2) + Requirement already satisfied: setuptools>=60.0.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (75.1.0) + Requirement already satisfied: xarray>=2022.6.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2024.10.0) + Requirement already satisfied: h5netcdf>=1.0.2 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (1.4.1) + Requirement already satisfied: xarray-einstats>=0.3 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.8.0) + Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.24.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2024.2) + Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.24.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2024.2) + Requirement already satisfied: filelock>=3.15 in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.16.1) + Requirement already satisfied: etuples in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.3.9) + Requirement already satisfied: logical-unification in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.4.6) + Requirement already satisfied: miniKanren in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (1.0.3) + Requirement already satisfied: cons in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.4.6) + Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich>=13.7.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.0.0) + Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.10/dist-packages (from rich>=13.7.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2.18.0) + Requirement already satisfied: h5py in /usr/local/lib/python3.10/dist-packages (from h5netcdf>=1.0.2->arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.12.1) + Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py>=2.2.0->rich>=13.7.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.1.2) + Requirement already satisfied: toolz in /usr/local/lib/python3.10/dist-packages (from logical-unification->pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.12.1) + Requirement already satisfied: multipledispatch in /usr/local/lib/python3.10/dist-packages (from logical-unification->pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (1.0.0) + Downloading matplotlib-3.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.3 MB) +  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.3/8.3 MB 55.1 MB/s eta 0:00:00 + [?25hBuilding wheels for collected packages: pcntoolkit, bspline + Building wheel for pcntoolkit (pyproject.toml) ... [?25l[?25hdone + Created wheel for pcntoolkit: filename=pcntoolkit-0.31.0-py3-none-any.whl size=114835 sha256=40635c10c24ccf2c319ee965aaf1038272cd5578f14d9cb3dd14598ddab31d00 + Stored in directory: /tmp/pip-ephem-wheel-cache-f502unec/wheels/9e/c4/29/3bca3a5facf8ef69b8622461d8520d24a19d3745aefa093d1e + Building wheel for bspline (setup.py) ... [?25l[?25hdone + Created wheel for bspline: filename=bspline-0.1.1-py3-none-any.whl size=84482 sha256=150d24f295ccda92c9789d421e52c3858d43c66874deec4a463a87b4e5533448 + Stored in directory: /root/.cache/pip/wheels/3c/ab/0a/70927853a6d9166bc777922736063a6f99c43a327c802f9326 + Successfully built pcntoolkit bspline + Installing collected packages: bspline, matplotlib, pcntoolkit + Attempting uninstall: matplotlib + Found existing installation: matplotlib 3.8.0 + Uninstalling matplotlib-3.8.0: + Successfully uninstalled matplotlib-3.8.0 + Successfully installed bspline-0.1.1 matplotlib-3.9.2 pcntoolkit-0.31.0 + Collecting nutpie + Downloading nutpie-0.13.2-cp310-cp310-manylinux_2_28_x86_64.whl.metadata (5.4 kB) + Requirement already satisfied: pyarrow>=12.0.0 in /usr/local/lib/python3.10/dist-packages (from nutpie) (17.0.0) + Requirement already satisfied: pandas>=2.0 in /usr/local/lib/python3.10/dist-packages (from nutpie) (2.2.2) + Requirement already satisfied: xarray>=2023.6.0 in /usr/local/lib/python3.10/dist-packages (from nutpie) (2024.10.0) + Requirement already satisfied: arviz>=0.15.0 in /usr/local/lib/python3.10/dist-packages (from nutpie) (0.20.0) + Requirement already satisfied: setuptools>=60.0.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (75.1.0) + Requirement already satisfied: matplotlib>=3.5 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (3.9.2) + Requirement already satisfied: numpy>=1.23.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (1.26.4) + Requirement already satisfied: scipy>=1.9.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (1.13.1) + Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (24.2) + Requirement already satisfied: h5netcdf>=1.0.2 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (1.4.1) + Requirement already satisfied: typing-extensions>=4.1.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (4.12.2) + Requirement already satisfied: xarray-einstats>=0.3 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (0.8.0) + Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas>=2.0->nutpie) (2.8.2) + Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=2.0->nutpie) (2024.2) + Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas>=2.0->nutpie) (2024.2) + Requirement already satisfied: h5py in /usr/local/lib/python3.10/dist-packages (from h5netcdf>=1.0.2->arviz>=0.15.0->nutpie) (3.12.1) + Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5->arviz>=0.15.0->nutpie) (1.3.1) + Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5->arviz>=0.15.0->nutpie) (0.12.1) + Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5->arviz>=0.15.0->nutpie) (4.54.1) + Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5->arviz>=0.15.0->nutpie) (1.4.7) + Requirement already satisfied: pillow>=8 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5->arviz>=0.15.0->nutpie) (11.0.0) + Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5->arviz>=0.15.0->nutpie) (3.2.0) + Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas>=2.0->nutpie) (1.16.0) + Downloading nutpie-0.13.2-cp310-cp310-manylinux_2_28_x86_64.whl (1.5 MB) +  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 16.5 MB/s eta 0:00:00 + [?25hInstalling collected packages: nutpie + Successfully installed nutpie-0.13.2 For this tutorial we will use data from the `Functional Connectom @@ -47,7 +149,7 @@ First we import the required package, and create a working directory. .. code:: ipython3 - processing_dir = "HBR_demo/" # replace with a path to your working directory + processing_dir = "HBR_demo" # replace with desired working directory if not os.path.isdir(processing_dir): os.makedirs(processing_dir) os.chdir(processing_dir) @@ -65,9 +167,13 @@ color coded by the various sites: fcon = pd.read_csv('https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/main/data/fcon1000.csv') + # extract the ICBM site for transfer icbm = fcon.loc[fcon['site'] == 'ICBM'] icbm['sitenum'] = 0 + + # remove from the training set (also Pittsburgh because it only has 3 samples) fcon = fcon.loc[fcon['site'] != 'ICBM'] + fcon = fcon.loc[fcon['site'] != 'Pittsburgh'] sites = fcon['site'].unique() fcon['sitenum'] = 0 @@ -86,6 +192,390 @@ color coded by the various sites: ax.set_xlabel('age') + +.. parsed-literal:: + + :5: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame. + Try using .loc[row_indexer,col_indexer] = value instead + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + icbm['sitenum'] = 0 + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + :18: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! + You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. + A typical example is when you are setting values in a column of a DataFrame, like: + + df["col"][row_indexer] = value + + Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + + fcon['sitenum'].loc[idx] = i + :18: SettingWithCopyWarning: + A value is trying to be set on a copy of a slice from a DataFrame + + See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy + fcon['sitenum'].loc[idx] = i + + +.. parsed-literal:: + + site AnnArbor_a 24 + site AnnArbor_b 32 + site Atlanta 28 + site Baltimore 23 + site Bangor 20 + site Beijing_Zang 198 + site Berlin_Margulies 26 + site Cambridge_Buckner 198 + site Cleveland 31 + site Leiden_2180 12 + site Leiden_2200 19 + site Milwaukee_b 46 + site Munchen 15 + site NewYork_a 83 + site NewYork_a_ADHD 25 + site Newark 19 + site Oulu 102 + site Oxford 22 + site PaloAlto 17 + site Queensland 19 + site SaintLouis 31 + + + + +.. parsed-literal:: + + Text(0.5, 0, 'age') + + + + +.. image:: HBR_NormativeModel_FCONdata_Tutorial_files/HBR_NormativeModel_FCONdata_Tutorial_10_3.png + + Step 1: Prepare training and testing sets ----------------------------------------- @@ -122,15 +612,42 @@ then displayed. icbm_tr.to_csv(processing_dir + '/fcon1000_icbm_tr.csv') icbm_te.to_csv(processing_dir + '/fcon1000_icbm_te.csv') + +.. parsed-literal:: + + sample size check + 0 AnnArbor_a 10 14 + 1 AnnArbor_b 19 13 + 2 Atlanta 12 16 + 3 Baltimore 12 11 + 4 Bangor 10 10 + 5 Beijing_Zang 91 107 + 6 Berlin_Margulies 9 17 + 7 Cambridge_Buckner 96 102 + 8 Cleveland 13 18 + 9 Leiden_2180 5 7 + 10 Leiden_2200 11 8 + 11 Milwaukee_b 18 28 + 12 Munchen 9 6 + 13 NewYork_a 38 45 + 14 NewYork_a_ADHD 15 10 + 15 Newark 9 10 + 16 Oulu 50 52 + 17 Oxford 9 13 + 18 PaloAlto 8 9 + 19 Queensland 10 9 + 20 SaintLouis 18 13 + + Otherwise you can just load these pre defined subsets: .. code:: ipython3 # Optional - # fcon_tr = pd.read_csv('https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/main/data/fcon1000_tr.csv') - # fcon_te = pd.read_csv('https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/main/data/fcon1000_te.csv') - # icbm_tr = pd.read_csv('https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/main/data/fcon1000_icbm_tr.csv') - # icbm_te = pd.read_csv('https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/main/data/fcon1000_icbm_te.csv') + #fcon_tr = pd.read_csv('https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/main/data/fcon1000_tr.csv') + #fcon_te = pd.read_csv('https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/main/data/fcon1000_te.csv') + #icbm_tr = pd.read_csv('https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/main/data/fcon1000_icbm_tr.csv') + #icbm_te = pd.read_csv('https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/main/data/fcon1000_icbm_te.csv') Step 2: Configure HBR inputs: covariates, measures and batch effects -------------------------------------------------------------------- @@ -160,7 +677,12 @@ testing set (``_test``). X_train = (fcon_tr['age']/100).to_numpy(dtype=float) Y_train = fcon_tr[idps].to_numpy(dtype=float) - batch_effects_train = fcon_tr[['sitenum','sex']].to_numpy(dtype=int) + + # configure batch effects for site and sex + #batch_effects_train = fcon_tr[['sitenum','sex']].to_numpy(dtype=int) + + # or only site + batch_effects_train = fcon_tr[['sitenum']].to_numpy(dtype=int) with open('X_train.pkl', 'wb') as file: pickle.dump(pd.DataFrame(X_train), file) @@ -172,7 +694,8 @@ testing set (``_test``). X_test = (fcon_te['age']/100).to_numpy(dtype=float) Y_test = fcon_te[idps].to_numpy(dtype=float) - batch_effects_test = fcon_te[['sitenum','sex']].to_numpy(dtype=int) + #batch_effects_test = fcon_te[['sitenum','sex']].to_numpy(dtype=int) + batch_effects_test = fcon_te[['sitenum']].to_numpy(dtype=int) with open('X_test.pkl', 'wb') as file: pickle.dump(pd.DataFrame(X_test), file) @@ -186,6 +709,536 @@ testing set (``_test``). with open(filename, 'rb') as f: return pickle.load(f) +.. code:: ipython3 + + batch_effects_test + + + + +.. parsed-literal:: + + array([[ 0], + [ 0], + [ 0], + [ 0], + [ 0], + [ 0], + [ 0], + [ 0], + [ 0], + [ 0], + [ 0], + [ 0], + [ 0], + [ 0], + [ 1], + [ 1], + [ 1], + [ 1], + [ 1], + [ 1], + [ 1], + [ 1], + [ 1], + [ 1], + [ 1], + [ 1], + [ 1], + [ 2], + [ 2], + [ 2], + [ 2], + [ 2], + [ 2], + [ 2], + [ 2], + [ 2], + [ 2], + [ 2], + [ 2], + [ 2], + [ 2], + [ 2], + [ 2], + [ 3], + [ 3], + [ 3], + [ 3], + [ 3], + [ 3], + [ 3], + [ 3], + [ 3], + [ 3], + [ 3], + [ 4], + [ 4], + [ 4], + [ 4], + [ 4], + [ 4], + [ 4], + [ 4], + [ 4], + [ 4], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 5], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 6], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 7], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 8], + [ 9], + [ 9], + [ 9], + [ 9], + [ 9], + [ 9], + [ 9], + [10], + [10], + [10], + [10], + [10], + [10], + [10], + [10], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [11], + [12], + [12], + [12], + [12], + [12], + [12], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [13], + [14], + [14], + [14], + [14], + [14], + [14], + [14], + [14], + [14], + [14], + [15], + [15], + [15], + [15], + [15], + [15], + [15], + [15], + [15], + [15], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [16], + [17], + [17], + [17], + [17], + [17], + [17], + [17], + [17], + [17], + [17], + [17], + [17], + [17], + [18], + [18], + [18], + [18], + [18], + [18], + [18], + [18], + [18], + [19], + [19], + [19], + [19], + [19], + [19], + [19], + [19], + [19], + [20], + [20], + [20], + [20], + [20], + [20], + [20], + [20], + [20], + [20], + [20], + [20], + [20]]) + + + Step 3: Files and Folders grooming ---------------------------------- @@ -226,12 +1279,399 @@ and output files will be written and how they will be named. respfile=respfile, tsbefile=tsbefile, trbefile=trbefile, + inscaler='standardize', + outscaler='standardize', + linear_mu='True', + random_intercept_mu='True', + centered_intercept_mu='True', alg='hbr', log_path=log_dir, binary=True, - output_path=output_path, testcov= testcovfile_path, + output_path=output_path, + testcov= testcovfile_path, testresp = testrespfile_path, - outputsuffix=outputsuffix, savemodel=True) + outputsuffix=outputsuffix, + savemodel=True, + nuts_sampler='nutpie') + + +.. parsed-literal:: + + inscaler: standardize + outscaler: standardize + Processing data in /content/HBR_demo/Y_train.pkl + Estimating model 1 of 2 + + + +.. raw:: html + + + + + + + +.. raw:: html + + +
    +

    Sampler Progress

    +

    Total Chains: 1

    +

    Active Chains: 0

    +

    + Finished Chains: + 1 +

    +

    Sampling for now

    +

    + Estimated Time to Completion: + now +

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    ProgressDrawsDivergencesStep SizeGradients/Draw
    + + + 150000.3415
    +
    + + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +
    
    +
    +
    +
    +
    +.. parsed-literal::
    +
    +    Output()
    +
    +
    +.. parsed-literal::
    +
    +    Normal
    +
    +
    +
    +.. raw:: html
    +
    +    
    
    +
    +
    +
    +.. parsed-literal::
    +
    +    Estimating model  2 of 2
    +
    +
    +
    +.. raw:: html
    +
    +    
    +    
    +
    +
    +
    +
    +.. raw:: html
    +
    +    
    +    
    +

    Sampler Progress

    +

    Total Chains: 1

    +

    Active Chains: 0

    +

    + Finished Chains: + 1 +

    +

    Sampling for now

    +

    + Estimated Time to Completion: + now +

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    ProgressDrawsDivergencesStep SizeGradients/Draw
    + + + 150000.3315
    +
    + + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +
    
    +
    +
    +
    +.. parsed-literal::
    +
    +    Normal
    +
    +
    +
    +.. parsed-literal::
    +
    +    Output()
    +
    +
    +
    +.. raw:: html
    +
    +    
    
    +
    +
    +
    +.. parsed-literal::
    +
    +    Saving model meta-data...
    +    Evaluating the model ...
    +    Writing outputs ...
    +
     
     Here some analyses can be done, there are also some error metrics that
     could be of interest. This is covered in step 6 and in `Saige’s
    @@ -249,7 +1689,8 @@ training and testing set of covariates, measures and batch effects:
     
         X_adapt = (icbm_tr['age']/100).to_numpy(dtype=float)
         Y_adapt = icbm_tr[idps].to_numpy(dtype=float)
    -    batch_effects_adapt = icbm_tr[['sitenum','sex']].to_numpy(dtype=int)
    +    #batch_effects_adapt = icbm_tr[['sitenum','sex']].to_numpy(dtype=int)
    +    batch_effects_adapt = icbm_tr[['sitenum']].to_numpy(dtype=int)
         
         with open('X_adaptation.pkl', 'wb') as file:
             pickle.dump(pd.DataFrame(X_adapt), file)
    @@ -261,7 +1702,8 @@ training and testing set of covariates, measures and batch effects:
         # Test data (new dataset)
         X_test_txfr = (icbm_te['age']/100).to_numpy(dtype=float)
         Y_test_txfr = icbm_te[idps].to_numpy(dtype=float)
    -    batch_effects_test_txfr = icbm_te[['sitenum','sex']].to_numpy(dtype=int)
    +    #batch_effects_test_txfr = icbm_te[['sitenum','sex']].to_numpy(dtype=int)
    +    batch_effects_test_txfr = icbm_te[['sitenum']].to_numpy(dtype=int)
         
         with open('X_test_txfr.pkl', 'wb') as file:
             pickle.dump(pd.DataFrame(X_test_txfr), file)
    @@ -270,6 +1712,7 @@ training and testing set of covariates, measures and batch effects:
         with open('txbefile.pkl', 'wb') as file:
             pickle.dump(pd.DataFrame(batch_effects_test_txfr), file)
     
    +
     .. code:: ipython3
     
         respfile = os.path.join(processing_dir, 'Y_adaptation.pkl')
    @@ -294,6 +1737,11 @@ and testing). That is basically the only difference.
                                                     respfile=respfile,
                                                     tsbefile=tsbefile,
                                                     trbefile=trbefile,
    +                                                inscaler='standardize',
    +                                                outscaler='standardize',
    +                                                linear_mu='True',
    +                                                random_intercept_mu='True',
    +                                                centered_intercept_mu='True',
                                                     model_path = model_path,
                                                     alg='hbr',
                                                     log_path=log_dir,
    @@ -302,7 +1750,375 @@ and testing). That is basically the only difference.
                                                     testcov= testcovfile_path,
                                                     testresp = testrespfile_path,
                                                     outputsuffix=outputsuffix,
    -                                                savemodel=True)
    +                                                savemodel=True,
    +                                                nuts_sampler='nutpie')
    +
    +
    +.. parsed-literal::
    +
    +    Loading data ...
    +    Using HBR transform...
    +    Transferring model  1 of 2
    +
    +
    +
    +.. raw:: html
    +
    +    
    +    
    +
    +
    +
    +
    +.. raw:: html
    +
    +    
    +    
    +

    Sampler Progress

    +

    Total Chains: 1

    +

    Active Chains: 0

    +

    + Finished Chains: + 1 +

    +

    Sampling for now

    +

    + Estimated Time to Completion: + now +

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    ProgressDrawsDivergencesStep SizeGradients/Draw
    + + + 150020.477
    +
    + + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +
    
    +
    +
    +
    +.. parsed-literal::
    +
    +    Using HBR transform...
    +    Transferring model  2 of 2
    +
    +
    +
    +.. raw:: html
    +
    +    
    +    
    +
    +
    +
    +
    +.. raw:: html
    +
    +    
    +    
    +

    Sampler Progress

    +

    Total Chains: 1

    +

    Active Chains: 0

    +

    + Finished Chains: + 1 +

    +

    Sampling for now

    +

    + Estimated Time to Completion: + now +

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    ProgressDrawsDivergencesStep SizeGradients/Draw
    + + + 150010.4015
    +
    + + + + +.. parsed-literal:: + + Output() + + + +.. raw:: html + +
    
    +
    +
    +
    +.. parsed-literal::
    +
    +    Evaluating the model ...
    +    Writing outputs ...
    +
    +
    +.. code:: ipython3
    +
    +    output_path
    +
    +
    +
    +
    +.. parsed-literal::
    +
    +    '/content/HBR_demo/Transfer/'
    +
    +
    +
    +.. code:: ipython3
    +
    +    EV = pd.read_pickle('EXPV_estimate.pkl')
    +    print(EV)
    +
    +
    +.. parsed-literal::
    +
    +              0
    +    0  0.438215
    +    1  0.439181
     
     
     And that is it, you now have models that benefited from prior knowledge
    @@ -311,19 +2127,12 @@ about different scanner sites to learn on unseen sites.
     Step 6: Interpreting model performance
     --------------------------------------
     
    -Output evaluation metrics definitions
    -
    -=============  ==============================================================
    -Abbreviation    Full name
    -=============  ==============================================================
    -NM             Normative Model
    -EV / EXPV      Explained Variance
    -MSLL           Mean Standardized Log Loss
    -SMSE           Standardized Mean Squared Error
    -RMSE           Root Mean Squared Error between true/predicted responses
    -Rho            Pearson orrelation between true/predicted responses
    -pRho           Parametric p-value for this correlation
    -Z              Z-score or deviation score
    -yhat           predictive mean
    -ys2            predictive variance
    -=============  ==============================================================
    +Output evaluation metrics definitions: \* yhat - predictive mean \* ys2
    +- predictive variance \* nm - normative model \* Z - deviance scores \*
    +Rho - Pearson correlation between true and predicted responses \* pRho -
    +parametric p-value for this correlation \* RMSE - root mean squared
    +error between true/predicted responses \* SMSE - standardised mean
    +squared error \* EV - explained variance \* MSLL - mean standardized log
    +loss \* See page 23 in
    +http://www.gaussianprocess.org/gpml/chapters/RW2.pdf
    +
    diff --git a/doc/build/html/_sources/pages/apply_normative_models.rst.txt b/doc/build/html/_sources/pages/apply_normative_models.rst.txt
    index 9a55d8b4..1dabeb43 100644
    --- a/doc/build/html/_sources/pages/apply_normative_models.rst.txt
    +++ b/doc/build/html/_sources/pages/apply_normative_models.rst.txt
    @@ -1,17 +1,5 @@
    -.. title:: Braincharts tutorial
    -
    -Braincharts: transfer
    -===================================
    -
    -Code for transfering the models from `Charting Brain Growth and Aging at High Spatial Precision. `__ 
    -
    -.. image:: https://colab.research.google.com/assets/colab-badge.svg 
    -    :target: https://colab.research.google.com/github/predictive-clinical-neuroscience/braincharts/blob/master/scripts/apply_normative_models_ct.ipynb 
    -
    -
    -.. figure:: ./brainchart_fig1.png
    -   :height: 400px
    -   :align: center
    +Using lifespan models to make predictions on new data
    +-----------------------------------------------------
     
     This notebook shows how to apply the coefficients from pre-estimated
     normative models to new data. This can be done in two different ways:
    @@ -24,34 +12,26 @@ datasets `__ and adapt the learned model to make
     predictions on these data.
     
     First, if necessary, we install PCNtoolkit (note: this tutorial requires
    -at least version 0.20)
    +at least version 0.27)
     
     .. code:: ipython3
     
    -    !pip install pcntoolkit==0.26
    +    !pip install pcntoolkit
    +    !pip install nutpie
     
     .. code:: ipython3
     
         ! git clone https://github.com/predictive-clinical-neuroscience/braincharts.git
     
    -
    -.. parsed-literal::
    -
    -    Cloning into 'braincharts'...
    -    remote: Enumerating objects: 1444, done.
    -    remote: Counting objects: 100% (1444/1444), done.
    -    remote: Compressing objects: 100% (1365/1365), done.
    -    remote: Total 1444 (delta 153), reused 1342 (delta 75), pack-reused 0
    -    Receiving objects: 100% (1444/1444), 57.99 MiB | 34.87 MiB/s, done.
    -    Resolving deltas: 100% (153/153), done.
    -
    -
     .. code:: ipython3
     
         # we need to be in the scripts folder when we import the libraries in the code block below,
         # because there is a function called nm_utils that is in the scripts folder that we need to import
         import os
    -    os.chdir('/content/braincharts/scripts/') #this path is setup for running on Google Colab. Change it to match your local path if running locally
    +    wdir = 'braincharts'
    +    
    +    os.chdir(wdir) #this path is setup for running on Google Colab. Change it to match your local path if running locally
    +    root_dir = os.getcwd()
     
     Now we import the required libraries
     
    @@ -65,45 +45,34 @@ Now we import the required libraries
         
         from pcntoolkit.normative import estimate, predict, evaluate
         from pcntoolkit.util.utils import compute_MSLL, create_design_matrix
    +    os.chdir(os.path.join(root_dir, 'scripts'))
         from nm_utils import remove_bad_subjects, load_2d
    +    os.chdir(root_dir)
     
     We need to unzip the models.
     
     .. code:: ipython3
     
    -    os.chdir('/content/braincharts/models/')
    -
    -.. code:: ipython3
    -
    -    ls
    -
    -
    -.. parsed-literal::
    -
    -    lifespan_12K_57sites_mqc2_train.zip  lifespan_29K_82sites_train.zip
    -    lifespan_12K_59sites_mqc_train.zip   lifespan_57K_82sites.zip
    -    lifespan_23K_57sites_mqc2.zip        README.md
    -
    +    os.chdir(os.path.join(root_dir, 'models'))
     
     .. code:: ipython3
     
         # we will use the biggest sample as our training set (approx. N=57000 subjects from 82 sites)
    -    # for more info on the other pretrained models available in this repository, 
    +    # for more info on the other pretrained models available in this repository,
         # please refer to the accompanying paper https://elifesciences.org/articles/72904
         ! unzip lifespan_57K_82sites.zip
     
     Next, we configure some basic variables, like where we want the analysis
     to be done and which model we want to use.
     
    -.. note::
    -    We maintain a list of site ids for each dataset, which
    -    describe the site names in the training and test data (``site_ids_tr``
    -    and ``site_ids_te``), plus also the adaptation data . The training site
    -    ids are provided as a text file in the distribution and the test ids are
    -    extracted automatically from the pandas dataframe (see below). If you
    -    use additional data from the sites (e.g. later waves from ABCD), it may
    -    be necessary to adjust the site names to match the names in the training
    -    set. See the accompanying paper for more details
    +**Note:** We maintain a list of site ids for each dataset, which
    +describe the site names in the training and test data (``site_ids_tr``
    +and ``site_ids_te``), plus also the adaptation data . The training site
    +ids are provided as a text file in the distribution and the test ids are
    +extracted automatically from the pandas dataframe (see below). If you
    +use additional data from the sites (e.g. later waves from ABCD), it may
    +be necessary to adjust the site names to match the names in the training
    +set. See the accompanying paper for more details
     
     .. code:: ipython3
     
    @@ -111,91 +80,35 @@ to be done and which model we want to use.
         model_name = 'lifespan_57K_82sites'
         site_names = 'site_ids_ct_82sites.txt'
         
    -    # where the analysis takes place
    -    root_dir = '/content/braincharts'
    +    
    +    # where the data files live
    +    data_dir = os.path.join(root_dir,'docs')
    +    
    +    # where the models live
         out_dir = os.path.join(root_dir, 'models', model_name)
         
         # load a set of site ids from this model. This must match the training data
         with open(os.path.join(root_dir,'docs', site_names)) as f:
             site_ids_tr = f.read().splitlines()
     
    -Download test dataset
    ------------------------------------------------------
    -
    -As mentioned above, to demonstrate this tool we will use a test dataset
    -derived from the FCON 1000 dataset. We provide a prepackaged
    -training/test split of these data in the required format (also after
    -removing sites with only a few data points),
    -`here `__.
    -you can get these data by running the following commmands:
    -
    -.. code:: ipython3
    -
    -    os.chdir(root_dir)
    -    !wget -nc https://raw.githubusercontent.com/predictive-clinical-neuroscience/braincharts/master/docs/OpenNeuroTransfer_ct_te.csv
    -    !wget -nc https://raw.githubusercontent.com/predictive-clinical-neuroscience/braincharts/master/docs/OpenNeuroTransfer_ct_tr.csv
    -
    -
    -.. parsed-literal::
    -
    -    --2022-02-17 15:01:31--  https://raw.githubusercontent.com/predictive-clinical-neuroscience/braincharts/master/docs/OpenNeuroTransfer_ct_te.csv
    -    Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.110.133, ...
    -    Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected.
    -    HTTP request sent, awaiting response... 200 OK
    -    Length: 628752 (614K) [text/plain]
    -    Saving to: ‘OpenNeuroTransfer_te.csv’
    -    
    -    OpenNeuroTransfer_t 100%[===================>] 614.02K  --.-KB/s    in 0.03s   
    -    
    -    2022-02-17 15:01:31 (22.0 MB/s) - ‘OpenNeuroTransfer_te.csv’ saved [628752/628752]
    -    
    -    --2022-02-17 15:01:31--  https://raw.githubusercontent.com/predictive-clinical-neuroscience/braincharts/master/docs/OpenNeuroTransfer_ct_tr.csv
    -    Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.109.133, 185.199.110.133, 185.199.108.133, ...
    -    Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.109.133|:443... connected.
    -    HTTP request sent, awaiting response... 200 OK
    -    Length: 163753 (160K) [text/plain]
    -    Saving to: ‘OpenNeuroTransfer_tr.csv’
    -    
    -    OpenNeuroTransfer_c 100%[===================>] 159.92K  --.-KB/s    in 0.03s   
    -    
    -    2022-02-17 15:01:32 (6.08 MB/s) - ‘OpenNeuroTransfer_ct_tr.csv’ saved [163753/163753]
    -    
    -
    -
     Load test data
    ------------------------------------------------------
    -
    -Now we load the test data and remove some subjects that may have poor
    -scan quality. This asssesment is based on the Freesurfer Euler
    -characteristic as described in the papers below.
    +~~~~~~~~~~~~~~
     
    -.. note::
    -    For the purposes of this tutorial, we make predictions for all
    -    sites in the FCON 1000 dataset, but two of them were also included in
    -    the training data (named ‘Baltimore’ and ‘NewYork_a’). In this case,
    -    this will only slightly bias the accuracy, but in order to replicate the
    -    results in the paper, it would be necessary to additionally remove these
    -    sites from the test dataframe.
    -
    -**References** - `Kia et al
    -2021 `__
    -- `Rosen et al
    -2018 `__
    +**Note:** For the purposes of this tutorial, we make predictions for a
    +multi-site transfer dataset, derived from
    +`OpenNeuro `__.
     
     .. code:: ipython3
     
    -    test_data = os.path.join(root_dir, 'OpenNeuroTransfer_ct_te.csv')
    +    test_data = os.path.join(data_dir, 'OpenNeuroTransfer_ct_te.csv')
         
         df_te = pd.read_csv(test_data)
         
    -    # remove some bad subjects, this requires having a column called "avg_en" that corresponds to the average Euler number extracted from Freesurfer
    -    # df_te, bad_sub = remove_bad_subjects(df_te, df_te)
    -    
         # extract a list of unique site ids from the test set
         site_ids_te =  sorted(set(df_te['site'].to_list()))
     
     (Optional) Load adaptation data
    ------------------------------------------------------
    +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     
     If the data you wish to make predictions for is not derived from the
     same scanning sites as those in the trainig set, it is necessary to
    @@ -207,13 +120,10 @@ same way, based on a the ‘sitenum’ column in the dataframe.
     
     .. code:: ipython3
     
    -    adaptation_data = os.path.join(root_dir, 'OpenNeuroTransfer_ct_tr.csv')
    +    adaptation_data = os.path.join(data_dir, 'OpenNeuroTransfer_ct_ad.csv')
         
         df_ad = pd.read_csv(adaptation_data)
         
    -    # remove some bad subjects, this requires having a column called "avg_en" that corresponds to the average Euler number extracted from Freesurfer
    -    # df_ad, bad_sub = remove_bad_subjects(df_ad, df_ad)
    -    
         # extract a list of unique site ids from the test set
         site_ids_ad =  sorted(set(df_ad['site'].to_list()))
         
    @@ -221,7 +131,7 @@ same way, based on a the ‘sitenum’ column in the dataframe.
             print('Warning: some of the testing sites are not in the adaptation data')
     
     Configure which models to fit
    ------------------------------------------------------
    +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     
     Now, we configure which imaging derived phenotypes (IDPs) we would like
     to process. This is just a list of column names in the dataframe we have
    @@ -233,15 +143,15 @@ models for …
     .. code:: ipython3
     
         # load the list of idps for left and right hemispheres, plus subcortical regions
    -    with open(os.path.join(root_dir,'docs','phenotypes_ct_lh.txt')) as f:
    +    with open(os.path.join(data_dir, 'phenotypes_ct_lh.txt')) as f:
             idp_ids_lh = f.read().splitlines()
    -    with open(os.path.join(root_dir,'docs','phenotypes_ct_rh.txt')) as f:
    +    with open(os.path.join(data_dir, 'phenotypes_ct_rh.txt')) as f:
             idp_ids_rh = f.read().splitlines()
    -    with open(os.path.join(root_dir,'docs','phenotypes_sc.txt')) as f:
    +    with open(os.path.join(data_dir, 'phenotypes_sc.txt')) as f:
             idp_ids_sc = f.read().splitlines()
         
         # we choose here to process all idps
    -    idp_ids = idp_ids_lh + idp_ids_rh + idp_ids_sc
    +    idp_ids = idp_ids_lh + idp_ids_rh #+ idp_ids_sc
     
     … or alternatively, we could just specify a list
     
    @@ -250,7 +160,7 @@ models for …
         idp_ids = [ 'Left-Thalamus-Proper', 'Left-Lateral-Ventricle', 'rh_MeanThickness_thickness']
     
     Configure covariates
    ------------------------------------------------------
    +~~~~~~~~~~~~~~~~~~~~
     
     Now, we configure some parameters to fit the model. First, we choose
     which columns of the pandas dataframe contain the covariates (age and
    @@ -274,18 +184,18 @@ accompanying paper and `Fraza et al
     
     .. code:: ipython3
     
    -    # which data columns do we wish to use as covariates? 
    +    # which data columns do we wish to use as covariates?
         cols_cov = ['age','sex']
         
    -    # limits for cubic B-spline basis 
    -    xmin = -5 
    +    # limits for cubic B-spline basis
    +    xmin = -5
         xmax = 110
         
         # Absolute Z treshold above which a sample is considered to be an outlier (without fitting any model)
         outlier_thresh = 7
     
     Make predictions
    ------------------------------------------------------
    +~~~~~~~~~~~~~~~~
     
     This will make predictions for each IDP separately. This is done by
     extracting a column from the dataframe (i.e. specifying the IDP as the
    @@ -294,12 +204,12 @@ the covariates, which is a numpy data array having the number of rows
     equal to the number of datapoints in the test set. The columns are
     specified as follows:
     
    --  A global intercept (column of ones)
    --  The covariate columns (here age and sex, coded as 0=female/1=male)
    --  Dummy coded columns for the sites in the training set (one column per
    -   site)
    --  Columns for the basis expansion (seven columns for the default
    -   parameterisation)
    +- A global intercept (column of ones)
    +- The covariate columns (here age and sex, coded as 0=female/1=male)
    +- Dummy coded columns for the sites in the training set (one column per
    +  site)
    +- Columns for the basis expansion (seven columns for the default
    +  parameterisation)
     
     Once these are saved as numpy arrays in ascii format (as here) or
     (alternatively) in pickle format, these are passed as inputs to the
    @@ -309,74 +219,74 @@ These are written in the same format to the location specified by
     Z-statistics for the test dataset that we can take forward to further
     analysis.
     
    -When we need to make predictions on new data, the procedure is
    +Note that when we need to make predictions on new data, the procedure is
     more involved, since we need to prepare, process and store covariates,
     response variables and site ids for the adaptation data.
     
     .. code:: ipython3
     
    -    for idp_num, idp in enumerate(idp_ids): 
    +    for idp_num, idp in enumerate(idp_ids):
             print('Running IDP', idp_num, idp, ':')
             idp_dir = os.path.join(out_dir, idp)
             os.chdir(idp_dir)
    -        
    +    
             # extract and save the response variables for the test set
             y_te = df_te[idp].to_numpy()
    -        
    +    
             # save the variables
    -        resp_file_te = os.path.join(idp_dir, 'resp_te.txt') 
    +        resp_file_te = os.path.join(idp_dir, 'resp_te.txt')
             np.savetxt(resp_file_te, y_te)
    -            
    +    
             # configure and save the design matrix
             cov_file_te = os.path.join(idp_dir, 'cov_bspline_te.txt')
    -        X_te = create_design_matrix(df_te[cols_cov], 
    +        X_te = create_design_matrix(df_te[cols_cov],
                                         site_ids = df_te['site'],
                                         all_sites = site_ids_tr,
    -                                    basis = 'bspline', 
    -                                    xmin = xmin, 
    +                                    basis = 'bspline',
    +                                    xmin = xmin,
                                         xmax = xmax)
             np.savetxt(cov_file_te, X_te)
    -        
    +    
             # check whether all sites in the test set are represented in the training set
             if all(elem in site_ids_tr for elem in site_ids_te):
                 print('All sites are present in the training data')
    -            
    +    
                 # just make predictions
    -            yhat_te, s2_te, Z = predict(cov_file_te, 
    -                                        alg='blr', 
    -                                        respfile=resp_file_te, 
    +            yhat_te, s2_te, Z = predict(cov_file_te,
    +                                        alg='blr',
    +                                        respfile=resp_file_te,
                                             model_path=os.path.join(idp_dir,'Models'))
             else:
                 print('Some sites missing from the training data. Adapting model')
    -            
    +    
                 # save the covariates for the adaptation data
    -            X_ad = create_design_matrix(df_ad[cols_cov], 
    +            X_ad = create_design_matrix(df_ad[cols_cov],
                                             site_ids = df_ad['site'],
                                             all_sites = site_ids_tr,
    -                                        basis = 'bspline', 
    -                                        xmin = xmin, 
    +                                        basis = 'bspline',
    +                                        xmin = xmin,
                                             xmax = xmax)
    -            cov_file_ad = os.path.join(idp_dir, 'cov_bspline_ad.txt')          
    +            cov_file_ad = os.path.join(idp_dir, 'cov_bspline_ad.txt')
                 np.savetxt(cov_file_ad, X_ad)
    -            
    +    
                 # save the responses for the adaptation data
    -            resp_file_ad = os.path.join(idp_dir, 'resp_ad.txt') 
    +            resp_file_ad = os.path.join(idp_dir, 'resp_ad.txt')
                 y_ad = df_ad[idp].to_numpy()
                 np.savetxt(resp_file_ad, y_ad)
    -           
    +    
                 # save the site ids for the adaptation data
    -            sitenum_file_ad = os.path.join(idp_dir, 'sitenum_ad.txt') 
    +            sitenum_file_ad = os.path.join(idp_dir, 'sitenum_ad.txt')
                 site_num_ad = df_ad['sitenum'].to_numpy(dtype=int)
                 np.savetxt(sitenum_file_ad, site_num_ad)
    -            
    -            # save the site ids for the test data 
    +    
    +            # save the site ids for the test data
                 sitenum_file_te = os.path.join(idp_dir, 'sitenum_te.txt')
                 site_num_te = df_te['sitenum'].to_numpy(dtype=int)
                 np.savetxt(sitenum_file_te, site_num_te)
    -             
    -            yhat_te, s2_te, Z = predict(cov_file_te, 
    -                                        alg = 'blr', 
    -                                        respfile = resp_file_te, 
    +    
    +            yhat_te, s2_te, Z = predict(cov_file_te,
    +                                        alg = 'blr',
    +                                        respfile = resp_file_te,
                                             model_path = os.path.join(idp_dir,'Models'),
                                             adaptrespfile = resp_file_ad,
                                             adaptcovfile = cov_file_ad,
    @@ -409,16 +319,8 @@ response variables and site ids for the adaptation data.
         Writing outputs ...
     
     
    -Evaluate the performance
    ------------------------------------------------------
    -
    -.. figure:: ./brainchart_fig3.png
    -   :height: 400px
    -   :align: center
    -
    -
     Preparing dummy data for plotting
    ------------------------------------------------------
    +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     
     Now, we plot the centiles of variation estimated by the normative model.
     
    @@ -431,9 +333,9 @@ dummy data for all the IDPs we wish to plot
     
     .. code:: ipython3
     
    -    # which sex do we want to plot? 
    +    # which sex do we want to plot?
         sex = 1 # 1 = male 0 = female
    -    if sex == 1: 
    +    if sex == 1:
             clr = 'blue';
         else:
             clr = 'red'
    @@ -459,7 +361,7 @@ dummy data for all the IDPs we wish to plot
     
     
     Plotting the normative models
    ------------------------------------------------------
    +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     
     Now we loop through the IDPs, plotting each one separately. The outputs
     of this step are a set of quantitative regression metrics for each IDP
    @@ -474,83 +376,82 @@ space, then we need to warp them with the inverse of the estimated
     warping function. This can be done using the function
     ``nm.blr.warp.warp_predictions()``.
     
    -.. note::
    -    It is necessary to update the intercept for each of the sites.
    -    For purposes of visualisation, here we do this by adjusting the median
    -    of the data to match the dummy predictions, but note that all the
    -    quantitative metrics are estimated using the predictions that are
    -    adjusted properly using a learned offset (or adjusted using a hold-out
    -    adaptation set, as above). Note also that for the calibration data we
    -    require at least two data points of the same sex in each site to be able
    -    to estimate the variance. Of course, in a real example, you would want
    -    many more than just two since we need to get a reliable estimate of the
    -    variance for each site.
    +**Note:** it is necessary to update the intercept for each of the sites.
    +For purposes of visualisation, here we do this by adjusting the median
    +of the data to match the dummy predictions, but note that all the
    +quantitative metrics are estimated using the predictions that are
    +adjusted properly using a learned offset (or adjusted using a hold-out
    +adaptation set, as above). Note also that for the calibration data we
    +require at least two data points of the same sex in each site to be able
    +to estimate the variance. Of course, in a real example, you would want
    +many more than just two since we need to get a reliable estimate of the
    +variance for each site.
     
     .. code:: ipython3
     
         sns.set(style='whitegrid')
         
    -    for idp_num, idp in enumerate(idp_ids): 
    +    for idp_num, idp in enumerate(idp_ids):
             print('Running IDP', idp_num, idp, ':')
             idp_dir = os.path.join(out_dir, idp)
             os.chdir(idp_dir)
    -        
    +    
             # load the true data points
             yhat_te = load_2d(os.path.join(idp_dir, 'yhat_predict.txt'))
             s2_te = load_2d(os.path.join(idp_dir, 'ys2_predict.txt'))
             y_te = load_2d(os.path.join(idp_dir, 'resp_te.txt'))
    -                
    +    
             # set up the covariates for the dummy data
             print('Making predictions with dummy covariates (for visualisation)')
    -        yhat, s2 = predict(cov_file_dummy, 
    -                           alg = 'blr', 
    -                           respfile = None, 
    -                           model_path = os.path.join(idp_dir,'Models'), 
    +        yhat, s2 = predict(cov_file_dummy,
    +                           alg = 'blr',
    +                           respfile = None,
    +                           model_path = os.path.join(idp_dir,'Models'),
                                outputsuffix = '_dummy')
    -        
    +    
             # load the normative model
             with open(os.path.join(idp_dir,'Models', 'NM_0_0_estimate.pkl'), 'rb') as handle:
    -            nm = pickle.load(handle) 
    -        
    +            nm = pickle.load(handle)
    +    
             # get the warp and warp parameters
             W = nm.blr.warp
    -        warp_param = nm.blr.hyp[1:nm.blr.warp.get_n_params()+1] 
    -            
    +        warp_param = nm.blr.hyp[1:nm.blr.warp.get_n_params()+1]
    +    
             # first, we warp predictions for the true data and compute evaluation metrics
             med_te = W.warp_predictions(np.squeeze(yhat_te), np.squeeze(s2_te), warp_param)[0]
             med_te = med_te[:, np.newaxis]
             print('metrics:', evaluate(y_te, med_te))
    -        
    +    
             # then, we warp dummy predictions to create the plots
             med, pr_int = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2), warp_param)
    -        
    +    
             # extract the different variance components to visualise
             beta, junk1, junk2 = nm.blr._parse_hyps(nm.blr.hyp, X_dummy)
             s2n = 1/beta # variation (aleatoric uncertainty)
             s2s = s2-s2n # modelling uncertainty (epistemic uncertainty)
    -        
    +    
             # plot the data points
             y_te_rescaled_all = np.zeros_like(y_te)
             for sid, site in enumerate(site_ids_te):
    -            # plot the true test data points 
    +            # plot the true test data points
                 if all(elem in site_ids_tr for elem in site_ids_te):
                     # all data in the test set are present in the training set
    -                
    +    
                     # first, we select the data points belonging to this particular site
                     idx = np.where(np.bitwise_and(X_te[:,2] == sex, X_te[:,sid+len(cols_cov)+1] !=0))[0]
                     if len(idx) == 0:
                         print('No data for site', sid, site, 'skipping...')
                         continue
    -                
    +    
                     # then directly adjust the data
                     idx_dummy = np.bitwise_and(X_dummy[:,1] > X_te[idx,1].min(), X_dummy[:,1] < X_te[idx,1].max())
                     y_te_rescaled = y_te[idx] - np.median(y_te[idx]) + np.median(med[idx_dummy])
                 else:
    -                # we need to adjust the data based on the adaptation dataset 
    -                
    +                # we need to adjust the data based on the adaptation dataset
    +    
                     # first, select the data point belonging to this particular site
                     idx = np.where(np.bitwise_and(X_te[:,2] == sex, (df_te['site'] == site).to_numpy()))[0]
    -                
    +    
                     # load the adaptation data
                     y_ad = load_2d(os.path.join(idp_dir, 'resp_ad.txt'))
                     X_ad = load_2d(os.path.join(idp_dir, 'cov_bspline_ad.txt'))
    @@ -558,19 +459,19 @@ warping function. This can be done using the function
                     if len(idx) < 2 or len(idx_a) < 2:
                         print('Insufficent data for site', sid, site, 'skipping...')
                         continue
    -                
    +    
                     # adjust and rescale the data
    -                y_te_rescaled, s2_rescaled = nm.blr.predict_and_adjust(nm.blr.hyp, 
    -                                                                       X_ad[idx_a,:], 
    -                                                                       np.squeeze(y_ad[idx_a]), 
    -                                                                       Xs=None, 
    +                y_te_rescaled, s2_rescaled = nm.blr.predict_and_adjust(nm.blr.hyp,
    +                                                                       X_ad[idx_a,:],
    +                                                                       np.squeeze(y_ad[idx_a]),
    +                                                                       Xs=None,
                                                                            ys=np.squeeze(y_te[idx]))
                 # plot the (adjusted) data points
                 plt.scatter(X_te[idx,1], y_te_rescaled, s=4, color=clr, alpha = 0.1)
    -           
    +    
             # plot the median of the dummy data
             plt.plot(xx, med, clr)
    -        
    +    
             # fill the gaps in between the centiles
             junk, pr_int25 = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2), warp_param, percentiles=[0.25,0.75])
             junk, pr_int95 = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2), warp_param, percentiles=[0.05,0.95])
    @@ -578,14 +479,14 @@ warping function. This can be done using the function
             plt.fill_between(xx, pr_int25[:,0], pr_int25[:,1], alpha = 0.1,color=clr)
             plt.fill_between(xx, pr_int95[:,0], pr_int95[:,1], alpha = 0.1,color=clr)
             plt.fill_between(xx, pr_int99[:,0], pr_int99[:,1], alpha = 0.1,color=clr)
    -                
    +    
             # make the width of each centile proportional to the epistemic uncertainty
             junk, pr_int25l = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2-0.5*s2s), warp_param, percentiles=[0.25,0.75])
             junk, pr_int95l = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2-0.5*s2s), warp_param, percentiles=[0.05,0.95])
             junk, pr_int99l = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2-0.5*s2s), warp_param, percentiles=[0.01,0.99])
             junk, pr_int25u = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2+0.5*s2s), warp_param, percentiles=[0.25,0.75])
             junk, pr_int95u = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2+0.5*s2s), warp_param, percentiles=[0.05,0.95])
    -        junk, pr_int99u = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2+0.5*s2s), warp_param, percentiles=[0.01,0.99])    
    +        junk, pr_int99u = W.warp_predictions(np.squeeze(yhat), np.squeeze(s2+0.5*s2s), warp_param, percentiles=[0.01,0.99])
             plt.fill_between(xx, pr_int25l[:,0], pr_int25u[:,0], alpha = 0.3,color=clr)
             plt.fill_between(xx, pr_int95l[:,0], pr_int95u[:,0], alpha = 0.3,color=clr)
             plt.fill_between(xx, pr_int99l[:,0], pr_int99u[:,0], alpha = 0.3,color=clr)
    @@ -600,14 +501,14 @@ warping function. This can be done using the function
             plt.plot(xx, pr_int95[:,1],color=clr, linewidth=0.5)
             plt.plot(xx, pr_int99[:,0],color=clr, linewidth=0.5)
             plt.plot(xx, pr_int99[:,1],color=clr, linewidth=0.5)
    -        
    +    
             plt.xlabel('Age')
    -        plt.ylabel(idp) 
    +        plt.ylabel(idp)
             plt.title(idp)
             plt.xlim((0,90))
             plt.savefig(os.path.join(idp_dir, 'centiles_' + str(sex)),  bbox_inches='tight')
             plt.show()
    -        
    +    
         os.chdir(out_dir)
     
     
    @@ -622,7 +523,7 @@ warping function. This can be done using the function
     
     
     
    -.. image:: apply_normative_models_files/apply_normative_models_29_1.png
    +.. image:: apply_normative_models_files/apply_normative_models_ct_27_1.png
     
     
     .. parsed-literal::
    @@ -636,7 +537,7 @@ warping function. This can be done using the function
     
     
     
    -.. image:: apply_normative_models_files/apply_normative_models_29_3.png
    +.. image:: apply_normative_models_files/apply_normative_models_ct_27_3.png
     
     
     .. parsed-literal::
    @@ -650,24 +551,23 @@ warping function. This can be done using the function
     
     
     
    -.. image:: apply_normative_models_files/apply_normative_models_29_5.png
    +.. image:: apply_normative_models_files/apply_normative_models_ct_27_5.png
     
     
     .. code:: ipython3
     
         # explore an example output folder of a single model (one ROI)
    -    # think about what each of these output files represents. 
    +    # think about what each of these output files represents.
         # Hint: look at the variable names and comments in the code block above
         ! ls rh_MeanThickness_thickness/
     
     
     .. parsed-literal::
     
    -    centiles_1.png	    MSLL_predict.txt  RMSE_predict.txt	yhat_predict.txt
    -    cov_bspline_ad.txt  pRho_predict.txt  sitenum_ad.txt	ys2_dummy.pkl
    -    cov_bspline_te.txt  resp_ad.txt       sitenum_te.txt	ys2_predict.txt
    -    EXPV_predict.txt    resp_te.txt       SMSE_predict.txt	Z_predict.txt
    -    Models		    Rho_predict.txt   yhat_dummy.pkl
    +    centiles_1.png	    Models	      Rho_predict.txt	SMSE_predict.txt  ys2_predict.txt
    +    cov_bspline_ad.txt  pRho_predict.txt  RMSE_predict.txt	yhat_dummy.pkl	  Z_predict.txt
    +    cov_bspline_te.txt  resp_ad.txt       sitenum_ad.txt	yhat_predict.txt
    +    EXPV_predict.txt    resp_te.txt       sitenum_te.txt	ys2_dummy.pkl
     
     
     .. code:: ipython3
    @@ -698,7 +598,8 @@ into the original data file.
     
     .. code:: ipython3
     
    -    z_dir = '/content/braincharts/models/lifespan_57K_82sites/deviation_scores/'
    +    z_dir = os.path.join(root_dir, 'models', model_name, 'deviation_scores')
    +    
         filelist = [name for name in os.listdir(z_dir)]
     
     .. code:: ipython3
    diff --git a/doc/build/html/_sources/pages/installation.rst.txt b/doc/build/html/_sources/pages/installation.rst.txt
    index ce1551ce..18e50880 100644
    --- a/doc/build/html/_sources/pages/installation.rst.txt
    +++ b/doc/build/html/_sources/pages/installation.rst.txt
    @@ -20,13 +20,19 @@ Basic installation (on a local machine)
     
     	source activate 
     
    -4. Install required conda packages
    +4. Install torch using the torch instructions.	
    +
    +.. code-block:: bash
    +
    +	# Command found on the torch website: https://pytorch.org/get-started/locally/
    +
    +5. Install required conda packages
     	
     .. code-block:: bash
     
    -	conda install pip pandas scipy
    +	conda install numba nutpie -c conda-forge
     	
    -5. Install PCNtoolkit (plus dependencies)
    +6. Install PCNtoolkit (plus dependencies)
     	
     .. code-block:: bash
     
    @@ -60,7 +66,8 @@ Alternative installation (on a shared resource)
     	
     .. code-block:: bash
     
    -	conda install -y pandas scipy 
    +	# Command found on the torch website: https://pytorch.org/get-started/locally/
    +	conda install numba nutpie -c conda-forge
     
     	
     5. Install pip dependencies
    diff --git a/doc/build/html/_sources/pages/normative_modelling_walkthrough.rst.txt b/doc/build/html/_sources/pages/normative_modelling_walkthrough.rst.txt
    index f63ec8fa..61a297a7 100644
    --- a/doc/build/html/_sources/pages/normative_modelling_walkthrough.rst.txt
    +++ b/doc/build/html/_sources/pages/normative_modelling_walkthrough.rst.txt
    @@ -1,6 +1,4 @@
    -.. title:: GPR tutorial
    -
    -Gaussian Process Regression 
    +**DEMO ON NORMATIVE MODELING**
     ==============================
     
     Created by
    @@ -10,14 +8,9 @@ Mariam Zabihi `@m_zabihi `__
     Saige Rutherford `@being_saige `__
     
     Thomas Wolfers `@ThomasWolfers `__
    -\______________________________________________________________________________\_
    -
    -
    -.. image:: https://colab.research.google.com/assets/colab-badge.svg 
    -    :target: https://colab.research.google.com/github/predictive-clinical-neuroscience/PCNtoolkit-demo/blob/main/tutorials/CPC_2020/normative_modelling_walkthrough.ipynb
    -
    +\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
     
    -Background Story
    +**Background Story**
     --------------------
     
     Morten and Ingrid are concerned about the health of their father,
    @@ -40,13 +33,116 @@ IQ, age as well as the same sex as Nordan.
     Do your best to get as far as you can. However, you do not need to feel
     bad if you cannot complete everything during the tutorial.
     
    -**Task 0:** Load data and install the pcntoolkit
    -------------------------------------------------
    +**Task 0:** Load data and install PCNtoolkit
    +--------------------------------------------
     
     .. code:: ipython3
     
    -    #install normative modeling
    -    ! pip install pcntoolkit==0.26
    +    !pip install pcntoolkit
    +    !pip install nutpie
    +
    +
    +.. parsed-literal::
    +
    +    Collecting https://github.com/amarquand/PCNtoolkit/archive/dev.zip
    +      Downloading https://github.com/amarquand/PCNtoolkit/archive/dev.zip
    +         \ 64.9 MB 16.9 MB/s 0:00:05
    +    [?25h  Installing build dependencies ... [?25l[?25hdone
    +      Getting requirements to build wheel ... [?25l[?25hdone
    +      Preparing metadata (pyproject.toml) ... [?25l[?25hdone
    +    Collecting bspline<0.2.0,>=0.1.1 (from pcntoolkit==0.31.0)
    +      Downloading bspline-0.1.1.tar.gz (84 kB)
    +         ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 84.2/84.2 kB 2.0 MB/s eta 0:00:00
    +    [?25h  Preparing metadata (setup.py) ... [?25l[?25hdone
    +    Collecting matplotlib<4.0.0,>=3.9.2 (from pcntoolkit==0.31.0)
    +      Downloading matplotlib-3.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)
    +    Requirement already satisfied: nibabel<6.0.0,>=5.3.1 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (5.3.2)
    +    Requirement already satisfied: numpy<2.0,>=1.26 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (1.26.4)
    +    Requirement already satisfied: pymc<6.0.0,>=5.18.0 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (5.18.0)
    +    Requirement already satisfied: scikit-learn<2.0.0,>=1.5.2 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (1.5.2)
    +    Requirement already satisfied: scipy<2.0,>=1.12 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (1.13.1)
    +    Requirement already satisfied: seaborn<0.14.0,>=0.13.2 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (0.13.2)
    +    Requirement already satisfied: six<2.0.0,>=1.16.0 in /usr/local/lib/python3.10/dist-packages (from pcntoolkit==0.31.0) (1.16.0)
    +    Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (1.3.1)
    +    Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (0.12.1)
    +    Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (4.54.1)
    +    Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (1.4.7)
    +    Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (24.2)
    +    Requirement already satisfied: pillow>=8 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (11.0.0)
    +    Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (3.2.0)
    +    Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib<4.0.0,>=3.9.2->pcntoolkit==0.31.0) (2.8.2)
    +    Requirement already satisfied: importlib-resources>=5.12 in /usr/local/lib/python3.10/dist-packages (from nibabel<6.0.0,>=5.3.1->pcntoolkit==0.31.0) (6.4.5)
    +    Requirement already satisfied: typing-extensions>=4.6 in /usr/local/lib/python3.10/dist-packages (from nibabel<6.0.0,>=5.3.1->pcntoolkit==0.31.0) (4.12.2)
    +    Requirement already satisfied: arviz>=0.13.0 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.20.0)
    +    Requirement already satisfied: cachetools>=4.2.1 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (5.5.0)
    +    Requirement already satisfied: cloudpickle in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.1.0)
    +    Requirement already satisfied: pandas>=0.24.0 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2.2.2)
    +    Requirement already satisfied: pytensor<2.26,>=2.25.1 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2.25.5)
    +    Requirement already satisfied: rich>=13.7.1 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (13.9.4)
    +    Requirement already satisfied: threadpoolctl<4.0.0,>=3.1.0 in /usr/local/lib/python3.10/dist-packages (from pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.5.0)
    +    Requirement already satisfied: joblib>=1.2.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn<2.0.0,>=1.5.2->pcntoolkit==0.31.0) (1.4.2)
    +    Requirement already satisfied: setuptools>=60.0.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (75.1.0)
    +    Requirement already satisfied: xarray>=2022.6.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2024.10.0)
    +    Requirement already satisfied: h5netcdf>=1.0.2 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (1.4.1)
    +    Requirement already satisfied: xarray-einstats>=0.3 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.8.0)
    +    Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.24.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2024.2)
    +    Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas>=0.24.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2024.2)
    +    Requirement already satisfied: filelock>=3.15 in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.16.1)
    +    Requirement already satisfied: etuples in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.3.9)
    +    Requirement already satisfied: logical-unification in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.4.6)
    +    Requirement already satisfied: miniKanren in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (1.0.3)
    +    Requirement already satisfied: cons in /usr/local/lib/python3.10/dist-packages (from pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.4.6)
    +    Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich>=13.7.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.0.0)
    +    Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.10/dist-packages (from rich>=13.7.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (2.18.0)
    +    Requirement already satisfied: h5py in /usr/local/lib/python3.10/dist-packages (from h5netcdf>=1.0.2->arviz>=0.13.0->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (3.12.1)
    +    Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py>=2.2.0->rich>=13.7.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.1.2)
    +    Requirement already satisfied: toolz in /usr/local/lib/python3.10/dist-packages (from logical-unification->pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (0.12.1)
    +    Requirement already satisfied: multipledispatch in /usr/local/lib/python3.10/dist-packages (from logical-unification->pytensor<2.26,>=2.25.1->pymc<6.0.0,>=5.18.0->pcntoolkit==0.31.0) (1.0.0)
    +    Downloading matplotlib-3.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.3 MB)
    +       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.3/8.3 MB 37.7 MB/s eta 0:00:00
    +    [?25hBuilding wheels for collected packages: pcntoolkit, bspline
    +      Building wheel for pcntoolkit (pyproject.toml) ... [?25l[?25hdone
    +      Created wheel for pcntoolkit: filename=pcntoolkit-0.31.0-py3-none-any.whl size=114835 sha256=40635c10c24ccf2c319ee965aaf1038272cd5578f14d9cb3dd14598ddab31d00
    +      Stored in directory: /tmp/pip-ephem-wheel-cache-nl3hy35q/wheels/9e/c4/29/3bca3a5facf8ef69b8622461d8520d24a19d3745aefa093d1e
    +      Building wheel for bspline (setup.py) ... [?25l[?25hdone
    +      Created wheel for bspline: filename=bspline-0.1.1-py3-none-any.whl size=84482 sha256=1da013ad20b77d85515a6a2318eaf7cc4baaa7772eb1d26249f923ce8d779d7e
    +      Stored in directory: /root/.cache/pip/wheels/3c/ab/0a/70927853a6d9166bc777922736063a6f99c43a327c802f9326
    +    Successfully built pcntoolkit bspline
    +    Installing collected packages: bspline, matplotlib, pcntoolkit
    +      Attempting uninstall: matplotlib
    +        Found existing installation: matplotlib 3.8.0
    +        Uninstalling matplotlib-3.8.0:
    +          Successfully uninstalled matplotlib-3.8.0
    +    Successfully installed bspline-0.1.1 matplotlib-3.9.2 pcntoolkit-0.31.0
    +    Collecting nutpie
    +      Downloading nutpie-0.13.2-cp310-cp310-manylinux_2_28_x86_64.whl.metadata (5.4 kB)
    +    Requirement already satisfied: pyarrow>=12.0.0 in /usr/local/lib/python3.10/dist-packages (from nutpie) (17.0.0)
    +    Requirement already satisfied: pandas>=2.0 in /usr/local/lib/python3.10/dist-packages (from nutpie) (2.2.2)
    +    Requirement already satisfied: xarray>=2023.6.0 in /usr/local/lib/python3.10/dist-packages (from nutpie) (2024.10.0)
    +    Requirement already satisfied: arviz>=0.15.0 in /usr/local/lib/python3.10/dist-packages (from nutpie) (0.20.0)
    +    Requirement already satisfied: setuptools>=60.0.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (75.1.0)
    +    Requirement already satisfied: matplotlib>=3.5 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (3.9.2)
    +    Requirement already satisfied: numpy>=1.23.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (1.26.4)
    +    Requirement already satisfied: scipy>=1.9.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (1.13.1)
    +    Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (24.2)
    +    Requirement already satisfied: h5netcdf>=1.0.2 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (1.4.1)
    +    Requirement already satisfied: typing-extensions>=4.1.0 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (4.12.2)
    +    Requirement already satisfied: xarray-einstats>=0.3 in /usr/local/lib/python3.10/dist-packages (from arviz>=0.15.0->nutpie) (0.8.0)
    +    Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas>=2.0->nutpie) (2.8.2)
    +    Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=2.0->nutpie) (2024.2)
    +    Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas>=2.0->nutpie) (2024.2)
    +    Requirement already satisfied: h5py in /usr/local/lib/python3.10/dist-packages (from h5netcdf>=1.0.2->arviz>=0.15.0->nutpie) (3.12.1)
    +    Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5->arviz>=0.15.0->nutpie) (1.3.1)
    +    Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5->arviz>=0.15.0->nutpie) (0.12.1)
    +    Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5->arviz>=0.15.0->nutpie) (4.54.1)
    +    Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5->arviz>=0.15.0->nutpie) (1.4.7)
    +    Requirement already satisfied: pillow>=8 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5->arviz>=0.15.0->nutpie) (11.0.0)
    +    Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5->arviz>=0.15.0->nutpie) (3.2.0)
    +    Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas>=2.0->nutpie) (1.16.0)
    +    Downloading nutpie-0.13.2-cp310-cp310-manylinux_2_28_x86_64.whl (1.5 MB)
    +       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 9.5 MB/s eta 0:00:00
    +    [?25hInstalling collected packages: nutpie
    +    Successfully installed nutpie-0.13.2
     
     
     **Option 1:** Connect your Google Drive account, and load data from
    @@ -77,24 +173,24 @@ them to Google Drive.
         !wget -nc https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/master/tutorials/CPC_2020/data/camcan_demographics_nordan.csv
         !wget -nc https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/master/tutorials/CPC_2020/data/camcan_features.csv
         !wget -nc https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/master/tutorials/CPC_2020/data/camcan_features_nordan.csv
    -        
    +    
         # code by S. Rutherford
     
     
     .. parsed-literal::
     
    -    --2022-02-17 15:03:58--  https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/master/tutorials/CPC_2020/data/camcan_demographics.csv
    -    Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.110.133, 185.199.108.133, 185.199.111.133, ...
    -    Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.110.133|:443... connected.
    +    --2024-11-19 12:28:31--  https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/master/tutorials/CPC_2020/data/camcan_demographics.csv
    +    Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.110.133, ...
    +    Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected.
         HTTP request sent, awaiting response... 200 OK
         Length: 17484 (17K) [text/plain]
         Saving to: ‘camcan_demographics.csv’
         
    -    camcan_demographics 100%[===================>]  17.07K  --.-KB/s    in 0.001s  
    +    camcan_demographics 100%[===================>]  17.07K  --.-KB/s    in 0.003s  
         
    -    2022-02-17 15:03:58 (12.9 MB/s) - ‘camcan_demographics.csv’ saved [17484/17484]
    +    2024-11-19 12:28:31 (5.14 MB/s) - ‘camcan_demographics.csv’ saved [17484/17484]
         
    -    --2022-02-17 15:03:58--  https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/master/tutorials/CPC_2020/data/camcan_demographics_nordan.csv
    +    --2024-11-19 12:28:31--  https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/master/tutorials/CPC_2020/data/camcan_demographics_nordan.csv
         Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.110.133, ...
         Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected.
         HTTP request sent, awaiting response... 200 OK
    @@ -103,20 +199,20 @@ them to Google Drive.
         
         camcan_demographics 100%[===================>]     332  --.-KB/s    in 0s      
         
    -    2022-02-17 15:03:58 (15.5 MB/s) - ‘camcan_demographics_nordan.csv’ saved [332/332]
    +    2024-11-19 12:28:32 (4.10 MB/s) - ‘camcan_demographics_nordan.csv’ saved [332/332]
         
    -    --2022-02-17 15:03:58--  https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/master/tutorials/CPC_2020/data/camcan_features.csv
    -    Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.110.133, ...
    -    Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected.
    +    --2024-11-19 12:28:32--  https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/master/tutorials/CPC_2020/data/camcan_features.csv
    +    Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.109.133, 185.199.110.133, 185.199.111.133, ...
    +    Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.109.133|:443... connected.
         HTTP request sent, awaiting response... 200 OK
         Length: 188944 (185K) [text/plain]
         Saving to: ‘camcan_features.csv’
         
         camcan_features.csv 100%[===================>] 184.52K  --.-KB/s    in 0.05s   
         
    -    2022-02-17 15:03:58 (3.88 MB/s) - ‘camcan_features.csv’ saved [188944/188944]
    +    2024-11-19 12:28:33 (3.58 MB/s) - ‘camcan_features.csv’ saved [188944/188944]
         
    -    --2022-02-17 15:03:58--  https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/master/tutorials/CPC_2020/data/camcan_features_nordan.csv
    +    --2024-11-19 12:28:33--  https://raw.githubusercontent.com/predictive-clinical-neuroscience/PCNtoolkit-demo/master/tutorials/CPC_2020/data/camcan_features_nordan.csv
         Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.110.133, ...
         Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected.
         HTTP request sent, awaiting response... 200 OK
    @@ -125,7 +221,7 @@ them to Google Drive.
         
         camcan_features_nor 100%[===================>]   1.66K  --.-KB/s    in 0s      
         
    -    2022-02-17 15:03:59 (25.3 MB/s) - ‘camcan_features_nordan.csv’ saved [1695/1695]
    +    2024-11-19 12:28:33 (22.1 MB/s) - ‘camcan_features_nordan.csv’ saved [1695/1695]
         
     
     
    @@ -160,7 +256,7 @@ between those two files.
         print(norm_demographics)
         print(norm_features)
         
    -    # find overlap in terms of participants between norm_sample_features and 
    +    # find overlap in terms of participants between norm_sample_features and
         # norm_sample_demographics
         
         norm_demographics_features = pd.concat([norm_demographics, norm_features],
    @@ -189,33 +285,182 @@ between those two files.
         CC723395      86   FEMALE    0        145
         
         [707 rows x 4 columns]
    -                  left_Hippocampal_tail  ...  right_Whole_hippocampus
    -    participants                         ...                         
    -    CC110033                 482.768229  ...              3531.764896
    -    CC110037                 595.269259  ...              3835.426137
    -    CC110045                 655.847194  ...              3681.494304
    -    CC110056                 561.345626  ...              3461.373764
    -    CC110062                 756.521166  ...              4782.407821
    -    ...                             ...  ...                      ...
    -    CC722542                 467.896808  ...              3284.108783
    -    CC722651                 406.326167  ...              3210.272905
    -    CC722891                 393.430481  ...              2423.675065
    -    CC723197                 475.929914  ...              3043.146264
    -    CC723395                 444.301617  ...              2988.001288
    +                  left_Hippocampal_tail  left_subiculum    left_CA1  \
    +    participants                                                      
    +    CC110033                 482.768229      419.948094  666.496024   
    +    CC110037                 595.269259      502.320315  698.157779   
    +    CC110045                 655.847194      476.433625  654.215689   
    +    CC110056                 561.345626      447.258970  611.114561   
    +    CC110062                 756.521166      521.034681  716.391590   
    +    ...                             ...             ...         ...   
    +    CC722542                 467.896808      440.794061  688.130914   
    +    CC722651                 406.326167      393.469843  613.794018   
    +    CC722891                 393.430481      303.049578  444.772656   
    +    CC723197                 475.929914      372.449778  525.739508   
    +    CC723395                 444.301617      330.688394  565.359058   
    +    
    +                  left_hippocampal-fissure  left_presubiculum  left_parasubiculum  \
    +    participants                                                                    
    +    CC110033                    131.719049         285.535445           59.209377   
    +    CC110037                    156.304335         367.678385           60.817591   
    +    CC110045                    146.767569         346.347202           67.481121   
    +    CC110056                    126.615335         327.528926           70.901227   
    +    CC110062                    206.205818         384.356075           80.329689   
    +    ...                                ...                ...                 ...   
    +    CC722542                    184.300085         306.287030           72.629722   
    +    CC722651                    224.292557         254.786917           50.006651   
    +    CC722891                    158.987352         202.213773           46.418129   
    +    CC723197                    172.558200         222.384434           40.304889   
    +    CC723395                    206.235576         197.417773           34.240227   
    +    
    +                  left_molecular_layer_HP  left_GC-ML-DG    left_CA3    left_CA4  \
    +    participants                                                                   
    +    CC110033                   583.239022     313.144932  223.022262  266.801434   
    +    CC110037                   619.053381     311.428298  192.949211  260.551999   
    +    CC110045                   622.037178     322.315065  204.756048  275.428880   
    +    CC110056                   597.467595     323.777115  233.160437  278.133998   
    +    CC110062                   666.590397     364.130988  253.917949  311.079938   
    +    ...                               ...            ...         ...         ...   
    +    CC722542                   597.823380     322.236056  252.159707  275.293551   
    +    CC722651                   558.060369     322.176631  261.160474  282.029715   
    +    CC722891                   384.798819     204.562530  149.220194  184.259996   
    +    CC723197                   467.847632     262.950594  215.411133  232.938256   
    +    CC723395                   470.969863     269.963160  234.219152  241.325755   
    +    
    +                  ...  right_hippocampal-fissure  right_presubiculum  \
    +    participants  ...                                                  
    +    CC110033      ...                 133.101613          263.829445   
    +    CC110037      ...                 148.099481          339.309772   
    +    CC110045      ...                 159.687619          324.398659   
    +    CC110056      ...                 123.262352          290.196432   
    +    CC110062      ...                 136.785201          406.323486   
    +    ...           ...                        ...                 ...   
    +    CC722542      ...                 147.391931          273.150743   
    +    CC722651      ...                 185.053756          232.752897   
    +    CC722891      ...                 140.980648          211.807774   
    +    CC723197      ...                 213.080235          258.567312   
    +    CC723395      ...                 205.934342          210.039976   
    +    
    +                  right_parasubiculum  right_molecular_layer_HP  right_GC-ML-DG  \
    +    participants                                                                  
    +    CC110033                47.651798                586.026640      328.057551   
    +    CC110037                59.693186                617.448302      312.116795   
    +    CC110045                55.738550                609.208671      314.460832   
    +    CC110056                67.410418                569.389816      310.290805   
    +    CC110062                80.403248                767.955163      383.194510   
    +    ...                           ...                       ...             ...   
    +    CC722542                50.874375                572.634593      302.504826   
    +    CC722651                44.493903                533.912687      308.141458   
    +    CC722891                57.371362                387.195124      199.979009   
    +    CC723197                50.846316                481.409074      267.190903   
    +    CC723395                33.216529                493.194601      274.020748   
    +    
    +                   right_CA3   right_CA4  right_fimbria  right_HATA  \
    +    participants                                                      
    +    CC110033      283.392837  282.565685      87.127463   73.589184   
    +    CC110037      212.605572  269.307660      99.657823   60.920924   
    +    CC110045      237.869822  271.505300      69.436808   59.323542   
    +    CC110056      218.809310  267.327199      60.505521   51.726283   
    +    CC110062      268.227177  325.403040      92.215816   85.484454   
    +    ...                  ...         ...            ...         ...   
    +    CC722542      236.946562  261.352283      46.144212   43.966509   
    +    CC722651      247.810543  267.203989      68.730322   59.699644   
    +    CC722891      146.836915  187.083211      27.913196   38.629828   
    +    CC723197      211.618157  244.176755      51.893458   65.474967   
    +    CC723395      232.592060  240.980896      68.335159   62.081225   
    +    
    +                  right_Whole_hippocampus  
    +    participants                           
    +    CC110033                  3531.764896  
    +    CC110037                  3835.426137  
    +    CC110045                  3681.494304  
    +    CC110056                  3461.373764  
    +    CC110062                  4782.407821  
    +    ...                               ...  
    +    CC722542                  3284.108783  
    +    CC722651                  3210.272905  
    +    CC722891                  2423.675065  
    +    CC723197                  3043.146264  
    +    CC723395                  2988.001288  
         
         [651 rows x 26 columns]
    -              age sex_name  sex  ...  right_fimbria  right_HATA  right_Whole_hippocampus
    -    CC110033   24     MALE    1  ...      87.127463   73.589184              3531.764896
    -    CC110037   18     MALE    1  ...      99.657823   60.920924              3835.426137
    -    CC110045   24   FEMALE    0  ...      69.436808   59.323542              3681.494304
    -    CC110056   22   FEMALE    0  ...      60.505521   51.726283              3461.373764
    -    CC110062   20     MALE    1  ...      92.215816   85.484454              4782.407821
    -    ...       ...      ...  ...  ...            ...         ...                      ...
    -    CC722542   79     MALE    1  ...      46.144212   43.966509              3284.108783
    -    CC722651   79   FEMALE    0  ...      68.730322   59.699644              3210.272905
    -    CC722891   84   FEMALE    0  ...      27.913196   38.629828              2423.675065
    -    CC723197   80   FEMALE    0  ...      51.893458   65.474967              3043.146264
    -    CC723395   86   FEMALE    0  ...      68.335159   62.081225              2988.001288
    +              age sex_name  sex  IQ_random  left_Hippocampal_tail  left_subiculum  \
    +    CC110033   24     MALE    1         73             482.768229      419.948094   
    +    CC110037   18     MALE    1        103             595.269259      502.320315   
    +    CC110045   24   FEMALE    0        124             655.847194      476.433625   
    +    CC110056   22   FEMALE    0        124             561.345626      447.258970   
    +    CC110062   20     MALE    1        126             756.521166      521.034681   
    +    ...       ...      ...  ...        ...                    ...             ...   
    +    CC722542   79     MALE    1        116             467.896808      440.794061   
    +    CC722651   79   FEMALE    0        128             406.326167      393.469843   
    +    CC722891   84   FEMALE    0        129             393.430481      303.049578   
    +    CC723197   80   FEMALE    0         96             475.929914      372.449778   
    +    CC723395   86   FEMALE    0        145             444.301617      330.688394   
    +    
    +                left_CA1  left_hippocampal-fissure  left_presubiculum  \
    +    CC110033  666.496024                131.719049         285.535445   
    +    CC110037  698.157779                156.304335         367.678385   
    +    CC110045  654.215689                146.767569         346.347202   
    +    CC110056  611.114561                126.615335         327.528926   
    +    CC110062  716.391590                206.205818         384.356075   
    +    ...              ...                       ...                ...   
    +    CC722542  688.130914                184.300085         306.287030   
    +    CC722651  613.794018                224.292557         254.786917   
    +    CC722891  444.772656                158.987352         202.213773   
    +    CC723197  525.739508                172.558200         222.384434   
    +    CC723395  565.359058                206.235576         197.417773   
    +    
    +              left_parasubiculum  ...  right_hippocampal-fissure  \
    +    CC110033           59.209377  ...                 133.101613   
    +    CC110037           60.817591  ...                 148.099481   
    +    CC110045           67.481121  ...                 159.687619   
    +    CC110056           70.901227  ...                 123.262352   
    +    CC110062           80.329689  ...                 136.785201   
    +    ...                      ...  ...                        ...   
    +    CC722542           72.629722  ...                 147.391931   
    +    CC722651           50.006651  ...                 185.053756   
    +    CC722891           46.418129  ...                 140.980648   
    +    CC723197           40.304889  ...                 213.080235   
    +    CC723395           34.240227  ...                 205.934342   
    +    
    +              right_presubiculum  right_parasubiculum  right_molecular_layer_HP  \
    +    CC110033          263.829445            47.651798                586.026640   
    +    CC110037          339.309772            59.693186                617.448302   
    +    CC110045          324.398659            55.738550                609.208671   
    +    CC110056          290.196432            67.410418                569.389816   
    +    CC110062          406.323486            80.403248                767.955163   
    +    ...                      ...                  ...                       ...   
    +    CC722542          273.150743            50.874375                572.634593   
    +    CC722651          232.752897            44.493903                533.912687   
    +    CC722891          211.807774            57.371362                387.195124   
    +    CC723197          258.567312            50.846316                481.409074   
    +    CC723395          210.039976            33.216529                493.194601   
    +    
    +              right_GC-ML-DG   right_CA3   right_CA4  right_fimbria  right_HATA  \
    +    CC110033      328.057551  283.392837  282.565685      87.127463   73.589184   
    +    CC110037      312.116795  212.605572  269.307660      99.657823   60.920924   
    +    CC110045      314.460832  237.869822  271.505300      69.436808   59.323542   
    +    CC110056      310.290805  218.809310  267.327199      60.505521   51.726283   
    +    CC110062      383.194510  268.227177  325.403040      92.215816   85.484454   
    +    ...                  ...         ...         ...            ...         ...   
    +    CC722542      302.504826  236.946562  261.352283      46.144212   43.966509   
    +    CC722651      308.141458  247.810543  267.203989      68.730322   59.699644   
    +    CC722891      199.979009  146.836915  187.083211      27.913196   38.629828   
    +    CC723197      267.190903  211.618157  244.176755      51.893458   65.474967   
    +    CC723395      274.020748  232.592060  240.980896      68.335159   62.081225   
    +    
    +              right_Whole_hippocampus  
    +    CC110033              3531.764896  
    +    CC110037              3835.426137  
    +    CC110045              3681.494304  
    +    CC110056              3461.373764  
    +    CC110062              4782.407821  
    +    ...                           ...  
    +    CC722542              3284.108783  
    +    CC722651              3210.272905  
    +    CC722891              2423.675065  
    +    CC723197              3043.146264  
    +    CC723395              2988.001288  
         
         [650 rows x 30 columns]
     
    @@ -252,22 +497,22 @@ putative biomarkers that are not restricted to brain imaging.
     
         # perpare covariate_normsample for sex and age
         covariate_normsample = norm_demographics_features[['sex',
    -                                                       'age']] 
    +                                                       'age']]
         
         covariate_normsample.to_csv('covariate_normsample.txt',
                                     sep = ' ',
    -                                header = False, 
    +                                header = False,
                                     index = False)
         
         # perpare features_normsample for relevant hyppocampal subfields
    -    features_normsample = norm_demographics_features[['left_CA1', 
    +    features_normsample = norm_demographics_features[['left_CA1',
                                                          'left_CA3',
                                                          'right_CA1',
                                                          'right_CA3']]
         
    -    features_normsample.to_csv('features_normsample.txt', 
    -                               sep = ' ', 
    -                               header = False, 
    +    features_normsample.to_csv('features_normsample.txt',
    +                               sep = ' ',
    +                               header = False,
                                    index = False)
         
         # code by T. Wolfers
    @@ -278,7 +523,7 @@ putative biomarkers that are not restricted to brain imaging.
     Once you have prepared and saved all the necessary files. Look at the
     pcntoolkit for running normative modeling. Select an appropritate method
     set up the toolkit and run your analyses using 2-fold cross validation
    -in the normsample. Change the output suffix from estimate to ’_2fold’.
    +in the normsample. Change the output suffix from estimate to ’\_2fold’.
     
     HINT: You primarily need the estimate function.
     
    @@ -296,7 +541,7 @@ you will have no doubt when it is correctly running.
         
         # run normative modeling using 2-fold cross-validation
         
    -    pcn.normative.estimate(covfile = 'covariate_normsample.txt', 
    +    pcn.normative.estimate(covfile = 'covariate_normsample.txt',
                                respfile = 'features_normsample.txt',
                                cvfolds = 2,
                                alg = 'gpr',
    @@ -307,55 +552,66 @@ you will have no doubt when it is correctly running.
     
     .. parsed-literal::
     
    +    inscaler: None
    +    outscaler: None
         Processing data in features_normsample.txt
         Estimating model  1 of 4
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
    -    Warning: Estimation of posterior distribution failed
    +
    +
    +.. parsed-literal::
    +
    +    /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/gp.py:147: RuntimeWarning: overflow encountered in exp
    +      self.sf2 = np.exp(2*theta[self.D])
    +    /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/gp.py:160: RuntimeWarning: invalid value encountered in multiply
    +      dK = K * squared_dist(x[:, i]/self.ell[i], x[:, i]/self.ell[i])
    +
    +
    +.. parsed-literal::
    +
         Optimization terminated successfully.
    -             Current function value: 1856.502251
    -             Iterations: 40
    -             Function evaluations: 99
    -             Gradient evaluations: 99
    +             Current function value: 1925.145213
    +             Iterations: 30
    +             Function evaluations: 75
    +             Gradient evaluations: 69
         Estimating model  2 of 4
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
    -    Optimization terminated successfully.
    -             Current function value: 1596.239263
    -             Iterations: 42
    -             Function evaluations: 93
    -             Gradient evaluations: 93
    -    Estimating model  3 of 4
    -    Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
    -    Optimization terminated successfully.
    -             Current function value: 1862.316698
    -             Iterations: 47
    -             Function evaluations: 104
    -             Gradient evaluations: 104
    -    Estimating model  4 of 4
    -    Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
         Optimization terminated successfully.
    -             Current function value: 1587.950935
    -             Iterations: 30
    -             Function evaluations: 64
    -             Gradient evaluations: 64
    -    Estimating model  1 of 4
    +             Current function value: 1627.864114
    +             Iterations: 41
    +             Function evaluations: 102
    +             Gradient evaluations: 102
    +    Estimating model  3 of 4
    +
    +
    +.. parsed-literal::
    +
    +    /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/gp.py:147: RuntimeWarning: overflow encountered in exp
    +      self.sf2 = np.exp(2*theta[self.D])
    +    /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/gp.py:160: RuntimeWarning: invalid value encountered in multiply
    +      dK = K * squared_dist(x[:, i]/self.ell[i], x[:, i]/self.ell[i])
    +
    +
    +.. parsed-literal::
    +
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
         Optimization terminated successfully.
    -             Current function value: 1916.461484
    -             Iterations: 44
    -             Function evaluations: 94
    -             Gradient evaluations: 87
    -    Estimating model  2 of 4
    +             Current function value: 1922.205071
    +             Iterations: 30
    +             Function evaluations: 73
    +             Gradient evaluations: 67
    +    Estimating model  4 of 4
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
    @@ -365,36 +621,48 @@ you will have no doubt when it is correctly running.
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
         Optimization terminated successfully.
    -             Current function value: 1611.661888
    -             Iterations: 34
    -             Function evaluations: 85
    -             Gradient evaluations: 85
    -    Estimating model  3 of 4
    -    Warning: Estimation of posterior distribution failed
    +             Current function value: 1621.445961
    +             Iterations: 78
    +             Function evaluations: 181
    +             Gradient evaluations: 181
    +    Estimating model  1 of 4
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
         Optimization terminated successfully.
    -             Current function value: 1912.665851
    -             Iterations: 61
    -             Function evaluations: 133
    -             Gradient evaluations: 126
    -    Estimating model  4 of 4
    +             Current function value: 1844.061877
    +             Iterations: 36
    +             Function evaluations: 81
    +             Gradient evaluations: 81
    +    Estimating model  2 of 4
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
    +    Optimization terminated successfully.
    +             Current function value: 1580.315780
    +             Iterations: 37
    +             Function evaluations: 79
    +             Gradient evaluations: 79
    +    Estimating model  3 of 4
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
    +    Optimization terminated successfully.
    +             Current function value: 1851.005493
    +             Iterations: 32
    +             Function evaluations: 68
    +             Gradient evaluations: 68
    +    Estimating model  4 of 4
    +    Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
         Optimization terminated successfully.
    -             Current function value: 1619.045647
    -             Iterations: 43
    -             Function evaluations: 110
    -             Gradient evaluations: 105
    +             Current function value: 1584.089863
    +             Iterations: 39
    +             Function evaluations: 91
    +             Gradient evaluations: 91
         Evaluating the model ...
         Writing outputs ...
     
    @@ -423,13 +691,13 @@ model using the appropriate specifications.
                                           20, 30, 40, 50, 60, 70, 80]}
         covariate_forwardmodel = pd.DataFrame(data=covariate_forwardmodel)
         
    -    covariate_forwardmodel.to_csv('covariate_forwardmodel.txt', 
    -                               sep = ' ', 
    -                               header = False, 
    +    covariate_forwardmodel.to_csv('covariate_forwardmodel.txt',
    +                               sep = ' ',
    +                               header = False,
                                    index = False)
         
         # estimate forward model
    -    pcn.normative.estimate(covfile = 'covariate_normsample.txt', 
    +    pcn.normative.estimate(covfile = 'covariate_normsample.txt',
                                respfile = 'features_normsample.txt',
                                testcov = 'covariate_forwardmodel.txt',
                                cvfolds = None,
    @@ -441,8 +709,22 @@ model using the appropriate specifications.
     
     .. parsed-literal::
     
    +    inscaler: None
    +    outscaler: None
         Processing data in features_normsample.txt
         Estimating model  1 of 4
    +
    +
    +.. parsed-literal::
    +
    +    /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/gp.py:147: RuntimeWarning: overflow encountered in exp
    +      self.sf2 = np.exp(2*theta[self.D])
    +    /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/gp.py:160: RuntimeWarning: invalid value encountered in multiply
    +      dK = K * squared_dist(x[:, i]/self.ell[i], x[:, i]/self.ell[i])
    +
    +
    +.. parsed-literal::
    +
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
    @@ -451,8 +733,8 @@ model using the appropriate specifications.
         Optimization terminated successfully.
                  Current function value: 3781.497401
                  Iterations: 20
    -             Function evaluations: 61
    -             Gradient evaluations: 54
    +             Function evaluations: 58
    +             Gradient evaluations: 52
         Estimating model  2 of 4
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
    @@ -466,10 +748,22 @@ model using the appropriate specifications.
         Warning: Estimation of posterior distribution failed
         Optimization terminated successfully.
                  Current function value: 3201.761309
    -             Iterations: 39
    -             Function evaluations: 108
    -             Gradient evaluations: 108
    +             Iterations: 48
    +             Function evaluations: 114
    +             Gradient evaluations: 114
         Estimating model  3 of 4
    +
    +
    +.. parsed-literal::
    +
    +    /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/gp.py:147: RuntimeWarning: overflow encountered in exp
    +      self.sf2 = np.exp(2*theta[self.D])
    +    /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/gp.py:160: RuntimeWarning: invalid value encountered in multiply
    +      dK = K * squared_dist(x[:, i]/self.ell[i], x[:, i]/self.ell[i])
    +
    +
    +.. parsed-literal::
    +
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
    @@ -480,9 +774,9 @@ model using the appropriate specifications.
         Warning: Estimation of posterior distribution failed
         Optimization terminated successfully.
                  Current function value: 3771.310488
    -             Iterations: 47
    -             Function evaluations: 181
    -             Gradient evaluations: 167
    +             Iterations: 48
    +             Function evaluations: 156
    +             Gradient evaluations: 143
         Estimating model  4 of 4
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
    @@ -496,9 +790,9 @@ model using the appropriate specifications.
         Warning: Estimation of posterior distribution failed
         Optimization terminated successfully.
                  Current function value: 3200.837262
    -             Iterations: 40
    -             Function evaluations: 104
    -             Gradient evaluations: 104
    +             Iterations: 42
    +             Function evaluations: 116
    +             Gradient evaluations: 116
         Writing outputs ...
     
     
    @@ -508,7 +802,8 @@ model using the appropriate specifications.
     Visualize the forward model of the normative model similar to the figure
     below.
     
    -.. figure:: data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAcQBxAAD/4QDoRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAcAAAAcgEyAAIAAAAUAAAAjodpAAQAAAABAAAAogAAAAAAAABxAAAAAQAAAHEAAAABQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzADIwMTk6MDE6MTAgMjE6MDA6MDYAAAOQBAACAAAAFAAAAMygAgAEAAAAAQAAAMmgAwAEAAAAAQAAAHIAAAAAMjAxODoxMjoxMSAxNDozNToxNwD/4RGtaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA1LjQuMCI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFNTg4MUU5QkVDMTRFOTExOEI3RkU1RDU4RURGM0Q0RSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyRUM1RUY5ODQ5RkRFODExQTNBM0EyODcyMEY2OTA2NCIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJFQzVFRjk4NDlGREU4MTFBM0EzQTI4NzIwRjY5MDY0IiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0wMS0xMFQyMTowMDowNiswNTozMCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTktMDEtMTBUMjE6MDA6MDYrMDU6MzAiIHhtcDpDcmVhdGVEYXRlPSIyMDE4LTEyLTExVDE0OjM1OjE3KzAxOjAwIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0iRUNJLVJHQi5pY2MiIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIGRjOmZvcm1hdD0iaW1hZ2UvanBlZyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MkVDNUVGOTg0OUZERTgxMUEzQTNBMjg3MjBGNjkwNjQiIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RTQ4ODFFOUJFQzE0RTkxMThCN0ZFNUQ1OEVERjNENEUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkVDNUVGOTg0OUZERTgxMUEzQTNBMjg3MjBGNjkwNjQiLz4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiBzdEV2dDp3aGVuPSIyMDE4LTEyLTExVDE0OjM1OjE3KzAxOjAwIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjJFQzVFRjk4NDlGREU4MTFBM0EzQTI4NzIwRjY5MDY0IiBzdEV2dDphY3Rpb249ImNyZWF0ZWQiLz4gPHJkZjpsaSBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHN0RXZ0OmNoYW5nZWQ9Ii8iIHN0RXZ0OndoZW49IjIwMTktMDEtMTBUMjA6NTE6MDErMDU6MzAiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6N0QzQ0MyOERFQTE0RTkxMTlFRTJGRkMzQkZENTkzMUUiIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiLz4gPHJkZjpsaSBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHN0RXZ0OmNoYW5nZWQ9Ii8iIHN0RXZ0OndoZW49IjIwMTktMDEtMTBUMjA6NTE6MDErMDU6MzAiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6N0UzQ0MyOERFQTE0RTkxMTlFRTJGRkMzQkZENTkzMUUiIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiLz4gPHJkZjpsaSBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHN0RXZ0OmNoYW5nZWQ9Ii8iIHN0RXZ0OndoZW49IjIwMTktMDEtMTBUMjE6MDA6MDYrMDU6MzAiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6RTQ4ODFFOUJFQzE0RTkxMThCN0ZFNUQ1OEVERjNENEUiIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNvbnZlcnRlZCIgc3RFdnQ6cGFyYW1ldGVycz0iZnJvbSBpbWFnZS90aWZmIHRvIGltYWdlL2pwZWciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImRlcml2ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImNvbnZlcnRlZCBmcm9tIGltYWdlL3RpZmYgdG8gaW1hZ2UvanBlZyIvPiA8cmRmOmxpIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzUgV2luZG93cyIgc3RFdnQ6Y2hhbmdlZD0iLyIgc3RFdnQ6d2hlbj0iMjAxOS0wMS0xMFQyMTowMDowNiswNTozMCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpFNTg4MUU5QkVDMTRFOTExOEI3RkU1RDU4RURGM0Q0RSIgc3RFdnQ6YWN0aW9uPSJzYXZlZCIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V0IGVuZD0idyI/PgD/7QBkUGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAACwcAVoAAxslRxwCAAACAAIcAj4ACDIwMTgxMjExHAI/AAsxNDM1MTcrMDEwMDhCSU0EJQAAAAAAEG8VJXtBp2YwhKsNALMYCvf/4gIsSUNDX1BST0ZJTEUAAQEAAAIcQURCRQIQAABtbnRyUkdCIFhZWiAHzwACABYADAADAA9hY3NwQVBQTAAAAABub25lAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLUFEQkUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApjcHJ0AAAA/AAAACRkZXNjAAABIAAAAGd3dHB0AAABiAAAABRia3B0AAABnAAAABRyVFJDAAABsAAAAA5nVFJDAAABwAAAAA5iVFJDAAAB0AAAAA5yWFlaAAAB4AAAABRnWFlaAAAB9AAAABRiWFlaAAACCAAAABR0ZXh0AAAAAChjKSAxOTk5IEFkb2JlIFN5c3RlbXMgSW5jLgBkZXNjAAAAAAAAAAxFQ0ktUkdCLmljYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAAD23AABAAAAANM6WFlaIAAAAAAAAAAAAAAAAAAAAABjdXJ2AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0AAGN1cnYAAAAAAAAAAQHNAABYWVogAAAAAAAApngAAFH+AAAAAFhZWiAAAAAAAAAtlAAAmiAAABFdWFlaIAAAAAAAACLJAAAT4gAAwdD/wAARCAByAMkDAREAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9sAQwADAgICAgIDAgICAwMDAwQGBAQEBAQIBgYFBgkICgoJCAkJCgwPDAoLDgsJCQ0RDQ4PEBAREAoMEhMSEBMPEBAQ/9sAQwEDAwMEAwQIBAQIEAsJCxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ/90ABAAa/9oADAMBAAIRAxEAPwD9KKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgD//0P0ooAKACgAoAOvSgA74/CgAoATI9aAI2ubdDhp4wfQsKAEN1bH/AJbKfpQAC7tu9wg+poAVbm3f7k8bfRwaAJeoyOlAB060AFABQAUAFABQAUAFABQAUAFABQAUAf/R/SigAoAKADvjHPpQBheNNFHinw7e+Hk1e4sJLxAont8tIuGDfdBGQcEEZHB6ik9iZarQs6Fp91pGjWWj/aJbn7HAlubm6O6SXaANxAP16mjoNKyL/kO/+tuHPsuEH6c/rTGRQpYXG4wtFP5b7GO4SFWHY5zg0CumWFVV4RAO2BxQMcBnj1oAzbLxFoWpand6NY6tbT3thj7TAkm54s/3h7dPai6Emm7GXceOtBi8c2/w/mgum1K5tjcq/k5iwBkjd1zheuMZIGeaTeocyvY6A2trnIgRT6qAp/Mc0xgLZBzHJKnuJCf50AL5U6/cuc/76A/yIoAN10vVY3+jFf8AGgBPPK/6y2lX3wGH6c0AKLq3Jx5qqTxtb5T+RoAl6jI70AJmgBaADmgDmvHsvjmPRUb4fQ2cuom4TeLkgAQ87sZ4z936DOMmkyZX6HRQed5KG4CibaDIE+7ux82PbNMrdD6ACgD/0v0ooABzxQBG06r8iZdv7q9PxNAFe7mS1tJr3UJ1htreNpZNucKijJJPXoD0x+NAm7K5R8JeKNA8X6QuteG7jz7RpGj3GMoQy9QQ3I6g/iKW4JqWxtUxh0PTn0oA5nwf4D0DwEupPpM1yV1K5+1Tm5m3heuAOOnJ5OW5GScUlZCUbECfFHwdJ4suPBg1Ei8toBM0hx5B6HYHBOW5HQY5PcUlLUSkr2NseI9GbBW73g9CIXZT+IWqHc8x8HSeC/AnxFvtH0jRNTxqsRuJdavHPlpn5/KBZRhcgck5LADoAahPUzi+WTZ6amteGpphKmraa0wHlhxPGXx6A5zV3RppuZPifTPGup61oN74V8R29lpltcF9ShZcm5jJXhTg54DDHy/ezkkYpMUtdjqc8c9fWmUNWRHd40dWaMgOoOSpPTPpQA6gAHPSgBCFPDDII/OgCP7Jb5ysYT/c+Q/oRmgBPJlX7ly3sHG4f0P60AGbpesccg9m2n8jmgA+0Kv+shkT/gOcfiKAHpNFLxHKrewPNAD6ACgAwfQ0Af/T/SV5FjALH73RR1NAEfzzErI/ljqUB+bB9T6f5zQBMiqgwi7evSgCO6ktobaaW8aNbeNGaYyY2hAPm3Z4xjOc0MH5nCaV8SfhzBa3WjeBPJvp7G2kuodO060ZRKRyQmFC5LYBOMjIJqbroRzx+yWvAfjDxd410qS+vPCn/CPyRzGIC9MjFhgHKoQhI98gfWhNsak2a+sj+ydHvNc1rVtRuILKBriSK1AiyFBJChMN0HdjVA9DA0Txd8NtS0nR9buYreyfWXaKzTUV3TPIrFSNzZ7/AMWccgUk11C8VqzV0Xxl4P1zTdT8S+FhHqH9nLJFMba32zPsUtsXIBIPYdDnr1waBeO6LXgXxb/wm/hy38Qrpd1p3ns6CG4HzfKcbgeMg+vH0prUcXc3x7cdse31oHYa8Uco2yRq+eMMuf50aBocr43k8P8AhLw7eeJD4TjvXtgp8q0gVZGy2MlgMgDue1JtImTsjEg1PxFe+ItBh0nwxq1vomq2Auri7e+l32rkE7CrsVXHyjBHORjoanUWrZcsfAdp4EvvEHjPS9cv5Jb5XurxLqJbhW25Y7UTY2euBn246U7W1FyqOpk2/jH4i+ONA0jxB8PbfThbyXpjvEvE8tzEp5ADFht9SrE8j0NF2F3LY1LT4h2XjQeI/DFhZ61p95pyvZTXSW3meVI25Q6bSWOCpI47Ci9xqV7oxvhZeeL/AA7qV34R8U6rb3ej2kZNjqN05iuLiQsDt2SMWwMtnIBG0DODSjfqKN07M9QhvbO4lkgt7uGWSLHmIkgZkyMjIHTIq7mhNQAUAHU0AMeGKT/WRhvTcOlADfs4H+qlkT2DZH5NkUAIBdKRkxyj3+U/4fyoArfb73/nwm/OgD//1P0ljhRCXGS54Lnkn+lAHN2HgLTtO8c6h48jv717vULdbeSB5MwooC9B1/hHBJHXFK1tSeVLUj8e+OJPB+m/aNN0K6127WaOKS1tclolbPzOQp2jOMA4ySKG7bDlLlWg3xLrOnaboP8Aa/jzVF0vTZwsTWse4kmQcxuwG9uM5ChRgHOaL9xN2Wpn+GfhJ4L0DxPb+NfC3nWyG18qG2hlzAysv3+cscqcgFiOhFJR1ugjBbo7ODU9NuL2bTbfULWS7tQDPAkwMkYYZBZRyAR3IqrjumYN54V1258eWfimPxVcxaVBbNBLpQX5JWIbk84zyCTjOVFKzE03K/Q43WPDeva58cdOfVNEkufDGl2fnWrtABbwy7Ccg9AxkC8Hngcbealp3Ia9/XY7qO78B+DFe1jv9D0RbiRpmjM8Vv5jnGWwSOTge4xVaI091GBqHx3+FlvBcHS/GGn6zdxI7Ja6Y5u3eQA4X9wr4yeOelF+wr9jh/CXxT8Wf8JDfeJ/HVn4os9LktwkWl2nhfUruOMjbiQSRwFccMc7j1wQMVMXrqQnJO7Op1b456eumi68M+CfGGqSuyYSbw7qFlCUJ+95s0IQ9eADkk57VTfYpy00NGD43eB/lXUl1/SpSuSmoeHdQgAP1aAKw9xRe473RzmoftCeHIPH+maJDr2iW2hTQM13d6jObSRJMHAUTbOny4ABzk9MUr6ibfMdWPjB4Fn8Tab4X03WoNTn1RN0c9hKlxbp1ADOrEAnaenpzT5lsNyWx2caRRr5cSKiDI2qAAPwHSnsUvI8w8Ya74j1H4paF4L8LXlzpQi/4mGoz/Z90N1GAPl3DqAoZecDLAZ4qXe+hm9ZaHY2XjXwzrfiXUvBdvcNNqWnRiS5heI7CMgEBjwcblz7mnctNN2KWk/DDwnouu6n4i06K8hu9WbdJ5V08aL3OzYVxk9ck+2BxRy2FypGjDte8n07S/FgluLTBmtZmjnMWem4DEgz7tSBGX4p8fL4Hn0228RLbTNqk5t7c2+9HZsgElCGUD5hnLj71O9tBOVnY3hrkMPF9Y39p6mSAuo9y8e5cfUjHegq5atNRsL8FrG9gnA4PlSBsexx0phdFigYUALtb+6fyoA//9X9Iby9trKMSXMgBc7UCgs7t6Ko5P4UBcqCLUtS5uHaxtu0KMPOYf7Tg/J/uqc/7XagWrLtta29lCtvaQrDGuQFUfn9T65/WiwWK2saHo/iGybTda0+G8tmYP5Uq7lBHQ/Uf1NFrjdnozg9U+K9t4N8cXPhzxi+jaJoMdojadNJdL59w2FwscP3m6t8qpxjnqKlPUhN3scbqFt4m1/xoPGXwV8K6vZPcsz6jqGtRtYWl4u5CEVJv3+0lfmYQ4PykdKVtbktNvQPiH4p+PFhrGm+GLPWNLttV1hS0Nto+meYEXkc3VyxViCMnEKgDBJINOTYSlJaGZqfw/j1f4teHfCWtavr2tGGzF5q66zezXNrK23cwjQFYgMZXIjUZ7k4ATvzBd8x6JqPwl+B+oeGJhp/h7w1pFgzAnUtMgtoGUhu8wX14O7PXFN2ZckmrnR634f1eLwQNA+H+qR6dd29vFBZ3Ep3AIuAckA8lRjODyc+9O1loHLp7pxVj8MfH2v+JdRn+Inidp9Mm0wWASxmMa3BKgFinRcMCxOBubHGMgyotkRhJ7s9J8MeHrDwnoNn4f01pmtrKMxo0z7nbJzyfxJ7D6dKvyNErIu/2hZfbjp326D7WF84wCUeaE7NtPOM9+lA7q5zlvofjJ/HOoahqWs2l14ZmtVjt9OaIFlkwuScjpkMc5OcgYGAalLUnladx+q/DD4b62HXVvAXh673kEtLpsRbPY525BHqD3qrD5UzzLV/AGn+Adf03TNE1Dx0sfiC82rJpWoGKKxThVDjDCXaG6v0VTz6xZJ6EWUWds3gr4maSfM8P/F2e828GDxDpFvdIQO2+3Fu47ckt+NWXY4zx/dfGrRLCTXIPDvhPSp45Ee/1fTdTQPdoAAkbrcxRkDOODI+eMGpehEubc66D42+HLeGObxXoniLw2kiiT7Tf6Y8lqQeQ32q3MsODkEEuOO9O5SlbcveDrb4X3uv6j418Fa3peoXurjbPNZaglwp5ydoViFOQMigEknc6y80vS9RaB9Q061uTbOJoPOhV/KccBl3AkHHTGPzFFirIs9ucc5z/WmBVu9L0y+IkvLCCZx913jBYfRuopWCxW/sTyebDVb+3x1Uy+cv0xIGIH0IpisLnxFb8EWN+OvG63b8vmUn3yv4UAZP/CXy/wDQla7/AN+j/hQM/9b9D9R03ULbSb+50N459be2f7PcXhyPMIOAccKucfKoxQxNaaGP4G8Wvc6VJpni7XNLfxFpKM+qpDIoWAbjgt/CMAgNg4BJ5qU+4ovuZr/F2LX5ZLH4WeG7vxg8bGJ7+GVbbSonHUNdvkSEdxCshHene4XvsVdX0HxzfaXda38SfiG+k6VaxNPPpnhWNoPkAyQ13IDO/AIzGITn86Qbak/whm+EV5Ddy/DXSbe3uk2G9eSFvtjs2SDLM5Lyng/MWP8ASmmmCkmaHh/xX4ok8S6/p3iWwtFsLacLpn2ItNNImTy6oSV42n5guCSKL6gpO50bXerXOGtdEWLHR7yZUPPcLGH/ACJU0DZyfxDuviFaWdnDoekwasmoT/Zb6O2hKNFAwwSWZjwem7GBjNJ36EzcrEU3wg8DaT4KvPDt9faiuiK7385kucbWVQS+QvZV6Ht70cugnCKVjlfD+gP4h8f+H/Efgq41CfwZaac1mZRqUqGJkV18oqzBx0Q4HGADmptd3QkryViXxhp3iv4dWGveIdI8V3GuStdRXL2NzfSKbG0JbJwJMuSSi54GB0PNN6bCd4rc6K/vPFviTwNp/iT4U6xN9rvGR9t84YCPlXA8wHBDD8lOM8U9Wrot3cbo0bX4bCDxWnj06sX11rRbeVpYg0X3QpwqFPTA7YA4zT5eoctnc6T/AIqOPqumXPuWkh/TD0ytSjrXiweGNLm1nxFpc9tZ2yhpZ4pY5ETJwBgkNySPur3FK9gvYpXvi7w/r/hG5vrLXbnTLW9tJDDqLW8sSxAqf3gcgDI9iOlK90Ju6F+GDWcfg+wtLPxePEflhx9tLYZxuY4IzuXHI5ORjmmmEdih8Y/BGu+PPCw0bQdRht5I5vPkimXAnCjhd2CVOce3rRNXWgpxclobXgCw1zS/Bul6b4khtIb61gEMkdsf3SKpIQDHH3MA44z0oW2o4rSzIdc+F/w38SzNceIPAXh/ULiTrNcadE0h99+NxPv1p2Ksjgdf0XwP4E1+08PaF4+8XeEru8ge5jW1v3vLKONQfvRXYljQfIfuqvA9MGk3YiVoml4au/idrGlpr3g/4meH/FFmztH5eraI9m7MvUGW3cBT7mE+uO9Fxp82xqjx18RdM/d+IPg5qNwy8GbQdVtbyI+4E7W8n4FPxNFx3AfG/wAC2/7vxB/bfh64GR5Gr6PdQHPoH2GNz6bXINFxOSRs+HviR4D8VOkGheLdLurp13m0FyguVH+1ETvX8RRdDUlLY6XB9DTGf//X+4pfFPxI8axm28GeEm8N2EwIOs+I0KyhD/FDYxsJSx9ZWix3DDilqJ6lPw7+zl8NtIKT65preIrtDu36p+8iLZBz5GRGcEA5ZSQehFCjYlQS1On8F+AtE+Hg1abT9QuWh1Cf7U4uZAEgHPCgAADBPJyeOTximlYajysg8afETSvDmhXmpvaG9toUXzdwGGV22AhScupJ6gbP9qpbsEpJEnhPwv4Zn02PXLCyjjh1iKK5eKC3FrG4K5UNGoycA9HLAHmmrdASW6OqgggtolhtoY4ol4VUTao+mOlMdh0kiRDMjqn+8cUDIzdIfuCST02ocfnQBzms3/jA+J7DTbPQLWfw/dQyC/mnPzg88HDbQOnBBzk8CkyWaui2On6dp0Vp4esdPtrEZMa2rjy+TyQVHPPU0LyGrLYx4fh7okXi3UPGhsxJf6nb/ZZ45Zt0DIQoI2Fe4UA549utK2txcqvc6K3iazgS3tbGCKGNQqRxHaqjjgKFAH/6/WqWg7EhmkA+a1k+oKn+ZoGH2qPo6yr2IMZH8qAIb2DStYtZdN1CK2u7e5XZJBIAyyDvkenSgN9xDo2kvpLaH9gg/s9oDbm3CYjMR4K4GABzS02DRqxnweC/DmnaKNE0rRrO2hhjZLcNCspic5O75s5IY56/jRZWJcVsjnfA/h3UfDNhDoPi3xybjW7iaWW3EV62WiGOFjk4bHJzs43Y6AUlpuJK27Ot+y65b82+rxTL6XVuCx/4FGVH/jpp6laiG91qAEXGipMD3s7lST9RJsx+Zphc5DxE+t33jnRb9WsbbQreKWO+XUbAiUl9wYLIUKgEbRhWA4Od3SpauS1eVzstCsdC0/TktPDlvZQWKklI7QJ5YJOSfl4zzyfami9FsaFMCO6t7e8t5bS7gSaCdCkkcgyrqeCCD2OcUMLLqYGo/Dj4f6tpkei6p4K0S8soRiOG4sInWP3UFSVPuKEkhJJbEH/Cqvh3/wBCfZfrQM//0P0oGc8sfXrnB/GgDkPGWp+KNS0eew+Gc9u+rRSokkz7TFCo5K5Py7/YA4yc4yDUu72Jk7rQ2tP0iZ4Le48Qype3qqrOAMQRy45MceMDkcMctz1FNaDXmZrfD3w7/wAJnP47m8+S9nthayRySgwFAAN23HXaMY6d8d6Vri5Ve5k6H4d17wJofiCfTdWvvE15dStd2sVyvyRnBwgyw3HnnGAcAADrRsKzjdnSeG7nW9W0Ozv/ABDZtp19NHuntlIyhycZOSRkAHAPGQO2aaKjtqZvhrwpr+j+Kdc1nU/E76hY6g4NnaMn/HsM9Mk+mBx1xk80JO4opp3bOrxj/CmUV9QsYNTsLnTbrd5N3C8Em1ip2spU4I5BwetAMyvBng/SvAugxeHtGluZLaJ2kDXD73ZmPJJAAH4DFJKwkrG7TGM82PzDD5i+YBuKZ5A9cUXAfnHPpQBy7w+Ph8QFlS5sP+ESFrtaIj9952OO2Qc477dvbNTrcnVyKWtfFnwLoXiK78L69qBtLi0gWaSWaA+ScgEKuASWwQcBcdcHijmXUTmk7MzT8W/Dt346sfBOg6Rd3/2oK015bHbFErIHVwB95cEEnIAHTPSi+ugufU6HXPB15q3iHR9cg8R3lomlMWa2UsRNnscOox67g2R0xTa1Kcbu4up+BtG1TxPp/i++s0n1LS0KW8gd0CjJPK5IbBJIPHP4UWG43dzoPPcf623kH+0MMP05pjAXMGeZdh9Gyp/I0Ac7B4906fx7P8P10+9W7t7Rbk3DR5hxgHAPXocZ6buKXNfQnmu7G1PomkXUhmm02ATf89VTbIPo4+b9aLDsZevadr9jo15P4Rvrh9SjiZrW3upRJFJIOgJky3I/2gPpQ9hO9tCLw1dePDoVnP4m0zTTqDJm4igmMZQ5IH95SSoGfmA5x0FJX6gnK2pqf25HCMX+n31pz/HCXX8WjLKB9SKY7jf+El8O/wDQbsv+/i/40xn/0f0G8QR67caFfXaWzSzxW8j22mwS7TK+07Q8nUknHyjA9d1J7CexyXwI8CX/AIV8Pz6zr63kWq6zIZZ4LjjylVm2/L2Yg5Pfn2pRT3IpppanpRmLkrbqJCOrZwoqjQQQbjvnbzD16YA/D/HP4UAS4GMDj6UAL+FAHK6dqHj1/GurWOo6JaJ4egt1awuUceZLJ8o2nnv8/UDGB1BpXZMea4/wBrvirxBpM954t8NHRLuO6eOODJO+MAYbnnqSPQ4yOKEEW3udPTKCgAoA5m38A6Rb+Orjx/HdXpvrm2Fs0Rl/dBQAMgf8BHHTqcUrWdyeVXudNTKOX8EeBU8GNqrLrl9qX9qXZuj9qOfKzngepOeT3wKSQkrDfFfwy8H+NdSstV8Q6cZ57NSo2OUEik52vj7wzyPqaTjcTimdDZaZpunbfsFhb25WNIQY4gpEa8KuQOgxgDOKpaDSSMCx8V6vc+O73wlJ4UvIdOtLZZotTb/VSMQpKj5QO5HBLZU5GDST1EndnUUyg/lQAm0HggE/SgDD8V6/4f8ABWjTeI9Y82C2hKIWgQ7yWbAXCnnnnmjRCbSL2l3kWq6Zaarpl2z215ClxD5kfVHGRwMEcHnmgFrqWd9wn3oFYeqv/Q4/nQMpa9JqUujXsOj3K2WoPA62s1xGSkcmDtJwCMA49aGJ6rQr+DbfxHZ+GrG38WajBf6rGjLPcQ42tySv1+XAPHXmktNwSsrM0/sOm/8APlD/AN8imPlR/9L9JXlEeF5Lnoq9TQAwxvL80547RqePxPWgCbgDGBhenoKADuR3HX2oAKAOX8eSeP4rOx/4V/BYy3DXSC7F0QFEOOSM9Rnr39KTZMr9DqPf26UygoAKACgAoAKACgAoAKACgBOep54AJxzQAtAHL+ONE8Z6ydL/AOEQ8Sx6T9muhLeb13edH6Dg5xzwcA55IwKTTJkm7WOoPXpjPUfn+FMohu7W1v7d7W9tYriCTho5UDqw91NANXJEjSNVijRURFCqqjAAHReOABxgCjYVhtwbgW8ptBGZ9jeUJM7d+OM47ZxSew/Q5X4ax/ERNLupPiNNbteyXLPbpDszHF6EoMHnOBycdTSV+pMOa2p1TW8LncEAY/xKdp/MVRRH9lh/uT/9/wA0Af/T/SaOJIx8o+bue5oAdQADrQBy/g7wHa+Dr/Wr+21a+vDrNz9pZLh8rEcn7vvyRn0CiklbUlRS1OoplBQAUAFABQAUAFABQAUAFABQBy/h7SfG1n4q1y+17xBb3mjXTA6baohDwj34GOODydx546UknclJp3Z1FMoKACgAoAKACgAoAKAOY1zx9p2geLNG8JXFhey3GtZ8qaKLMaYOPmOfUHOOg5NJslys7WOnx70yj//U/SigAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKAEKhiGKgsDwTyR680BYXBoA/9X9KKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoABQA7A9BQB//2Q==
    +.. figure::
    +   data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAcQBxAAD/4QDoRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAcAAAAcgEyAAIAAAAUAAAAjodpAAQAAAABAAAAogAAAAAAAABxAAAAAQAAAHEAAAABQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzADIwMTk6MDE6MTAgMjE6MDA6MDYAAAOQBAACAAAAFAAAAMygAgAEAAAAAQAAAMmgAwAEAAAAAQAAAHIAAAAAMjAxODoxMjoxMSAxNDozNToxNwD/4RGtaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA1LjQuMCI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFNTg4MUU5QkVDMTRFOTExOEI3RkU1RDU4RURGM0Q0RSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyRUM1RUY5ODQ5RkRFODExQTNBM0EyODcyMEY2OTA2NCIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJFQzVFRjk4NDlGREU4MTFBM0EzQTI4NzIwRjY5MDY0IiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0wMS0xMFQyMTowMDowNiswNTozMCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTktMDEtMTBUMjE6MDA6MDYrMDU6MzAiIHhtcDpDcmVhdGVEYXRlPSIyMDE4LTEyLTExVDE0OjM1OjE3KzAxOjAwIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0iRUNJLVJHQi5pY2MiIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIGRjOmZvcm1hdD0iaW1hZ2UvanBlZyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MkVDNUVGOTg0OUZERTgxMUEzQTNBMjg3MjBGNjkwNjQiIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RTQ4ODFFOUJFQzE0RTkxMThCN0ZFNUQ1OEVERjNENEUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkVDNUVGOTg0OUZERTgxMUEzQTNBMjg3MjBGNjkwNjQiLz4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiBzdEV2dDp3aGVuPSIyMDE4LTEyLTExVDE0OjM1OjE3KzAxOjAwIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjJFQzVFRjk4NDlGREU4MTFBM0EzQTI4NzIwRjY5MDY0IiBzdEV2dDphY3Rpb249ImNyZWF0ZWQiLz4gPHJkZjpsaSBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHN0RXZ0OmNoYW5nZWQ9Ii8iIHN0RXZ0OndoZW49IjIwMTktMDEtMTBUMjA6NTE6MDErMDU6MzAiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6N0QzQ0MyOERFQTE0RTkxMTlFRTJGRkMzQkZENTkzMUUiIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiLz4gPHJkZjpsaSBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHN0RXZ0OmNoYW5nZWQ9Ii8iIHN0RXZ0OndoZW49IjIwMTktMDEtMTBUMjA6NTE6MDErMDU6MzAiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6N0UzQ0MyOERFQTE0RTkxMTlFRTJGRkMzQkZENTkzMUUiIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiLz4gPHJkZjpsaSBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHN0RXZ0OmNoYW5nZWQ9Ii8iIHN0RXZ0OndoZW49IjIwMTktMDEtMTBUMjE6MDA6MDYrMDU6MzAiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6RTQ4ODFFOUJFQzE0RTkxMThCN0ZFNUQ1OEVERjNENEUiIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNvbnZlcnRlZCIgc3RFdnQ6cGFyYW1ldGVycz0iZnJvbSBpbWFnZS90aWZmIHRvIGltYWdlL2pwZWciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImRlcml2ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImNvbnZlcnRlZCBmcm9tIGltYWdlL3RpZmYgdG8gaW1hZ2UvanBlZyIvPiA8cmRmOmxpIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzUgV2luZG93cyIgc3RFdnQ6Y2hhbmdlZD0iLyIgc3RFdnQ6d2hlbj0iMjAxOS0wMS0xMFQyMTowMDowNiswNTozMCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpFNTg4MUU5QkVDMTRFOTExOEI3RkU1RDU4RURGM0Q0RSIgc3RFdnQ6YWN0aW9uPSJzYXZlZCIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V0IGVuZD0idyI/PgD/7QBkUGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAACwcAVoAAxslRxwCAAACAAIcAj4ACDIwMTgxMjExHAI/AAsxNDM1MTcrMDEwMDhCSU0EJQAAAAAAEG8VJXtBp2YwhKsNALMYCvf/4gIsSUNDX1BST0ZJTEUAAQEAAAIcQURCRQIQAABtbnRyUkdCIFhZWiAHzwACABYADAADAA9hY3NwQVBQTAAAAABub25lAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLUFEQkUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApjcHJ0AAAA/AAAACRkZXNjAAABIAAAAGd3dHB0AAABiAAAABRia3B0AAABnAAAABRyVFJDAAABsAAAAA5nVFJDAAABwAAAAA5iVFJDAAAB0AAAAA5yWFlaAAAB4AAAABRnWFlaAAAB9AAAABRiWFlaAAACCAAAABR0ZXh0AAAAAChjKSAxOTk5IEFkb2JlIFN5c3RlbXMgSW5jLgBkZXNjAAAAAAAAAAxFQ0ktUkdCLmljYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAAD23AABAAAAANM6WFlaIAAAAAAAAAAAAAAAAAAAAABjdXJ2AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0AAGN1cnYAAAAAAAAAAQHNAABYWVogAAAAAAAApngAAFH+AAAA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
        :alt: 1-s2.0-S245190221830329X-gr2.jpg
     
        1-s2.0-S245190221830329X-gr2.jpg
    @@ -531,12 +826,12 @@ individual participants.
             S_hat=np.mean(S2,axis=0)
             n=S2.shape[0]
             CI[i,:]=z*np.power(S_hat/n,.5)
    -      return CI 
    +      return CI
         
         
         feature_names=['left_CA1','left_CA3','right_CA1','right_CA3']
         sex_covariates=[ 'Female','Male']
    -    # Creating plots for Female and male 
    +    # Creating plots for Female and male
         for i,sex in enumerate(sex_covariates):
         #forward model data
             forward_yhat = pd.read_csv('yhat_forward.txt', sep = ' ', header=None)
    @@ -544,71 +839,71 @@ individual participants.
             yhat_forward=yhat_forward[7*i:7*(i+1)]
             x_forward=[20, 30, 40, 50, 60, 70, 80]
         
    -    # Find the index of the data exclusively for one sex. Female:0, Male: 1   
    +    # Find the index of the data exclusively for one sex. Female:0, Male: 1
             inx=np.where(covariate_normsample.sex==i)[0]
             x=covariate_normsample.values[inx,1]
         # actual data
             y = pd.read_csv('features_normsample.txt', sep = ' ', header=None)
             y=y.values[inx]
    -    # confidence Interval yhat+ z *(std/n^.5)-->.95 % CI:z=1.96, 99% CI:z=2.58 
    +    # confidence Interval yhat+ z *(std/n^.5)-->.95 % CI:z=1.96, 99% CI:z=2.58
             s2= pd.read_csv('ys2_2fold.txt', sep = ' ', header=None)
             s2=s2.values[inx]
         
             CI_95=confidence_interval(s2,x,1.96)
             CI_99=confidence_interval(s2,x,2.58)
         
    -    # Creat a trejactroy for each point     
    +    # Creat a trejactroy for each point
             for j,name in enumerate(feature_names):
                  fig=plt.figure()
                  ax=fig.add_subplot(111)
                  ax.plot(x_forward,yhat_forward[:,j], linewidth=4, label='Normative trejactory')
         
         
    -             ax.plot(x_forward,CI_95[:,j]+yhat_forward[:,j], linewidth=2,linestyle='--',c='g', label='95% confidence interval')  
    -             ax.plot(x_forward,-CI_95[:,j]+yhat_forward[:,j], linewidth=2,linestyle='--',c='g') 
    +             ax.plot(x_forward,CI_95[:,j]+yhat_forward[:,j], linewidth=2,linestyle='--',c='g', label='95% confidence interval')
    +             ax.plot(x_forward,-CI_95[:,j]+yhat_forward[:,j], linewidth=2,linestyle='--',c='g')
         
    -             ax.plot(x_forward,CI_99[:,j]+yhat_forward[:,j], linewidth=1,linestyle='--',c='k', label='99% confidence interval')  
    -             ax.plot(x_forward,-CI_99[:,j]+yhat_forward[:,j], linewidth=1,linestyle='--',c='k') 
    +             ax.plot(x_forward,CI_99[:,j]+yhat_forward[:,j], linewidth=1,linestyle='--',c='k', label='99% confidence interval')
    +             ax.plot(x_forward,-CI_99[:,j]+yhat_forward[:,j], linewidth=1,linestyle='--',c='k')
         
                  ax.scatter(x,y[:,j],c='r', label=name)
                  plt.legend(loc='upper left')
                  plt.title('Normative trejectory of' +name+' in '+sex+' cohort')
                  plt.show()
                  plt.close()
    -            
    +    
         # code by M. Zabihi
     
     
     
    -.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_0.png
    +.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_0.png
     
     
     
    -.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_1.png
    +.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_1.png
     
     
     
    -.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_2.png
    +.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_2.png
     
     
     
    -.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_3.png
    +.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_3.png
     
     
     
    -.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_4.png
    +.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_4.png
     
     
     
    -.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_5.png
    +.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_5.png
     
     
     
    -.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_6.png
    +.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_6.png
     
     
     
    -.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_22_7.png
    +.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_23_7.png
     
     
     **TASK 6:** Apply the normative model to Nordan’s data and the dementia patients.
    @@ -626,25 +921,25 @@ individual participants.
         
         # create a covariate file for Nordan's as well as the patient's demograhpics
         covariate_nordan = demographics_nordan[['sex',
    -                                            'age']] 
    +                                            'age']]
         covariate_nordan.to_csv('covariate_nordan.txt',
                                 sep = ' ',
    -                            header = False, 
    +                            header = False,
                                 index = False)
         
         # create the corresponding feature file
    -    features_nordan = features_nordan[['left_CA1', 
    +    features_nordan = features_nordan[['left_CA1',
                                           'left_CA3',
                                           'right_CA1',
                                           'right_CA3']]
         
    -    features_nordan.to_csv('features_nordan.txt', 
    -                            sep = ' ', 
    -                            header = False, 
    +    features_nordan.to_csv('features_nordan.txt',
    +                            sep = ' ',
    +                            header = False,
                                 index = False)
         
         # apply normative modeling
    -    pcn.normative.estimate(covfile = 'covariate_normsample.txt', 
    +    pcn.normative.estimate(covfile = 'covariate_normsample.txt',
                                respfile = 'features_normsample.txt',
                                testcov = 'covariate_nordan.txt',
                                testresp = 'features_nordan.txt',
    @@ -657,8 +952,22 @@ individual participants.
     
     .. parsed-literal::
     
    +    inscaler: None
    +    outscaler: None
         Processing data in features_normsample.txt
         Estimating model  1 of 4
    +
    +
    +.. parsed-literal::
    +
    +    /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/gp.py:147: RuntimeWarning: overflow encountered in exp
    +      self.sf2 = np.exp(2*theta[self.D])
    +    /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/gp.py:160: RuntimeWarning: invalid value encountered in multiply
    +      dK = K * squared_dist(x[:, i]/self.ell[i], x[:, i]/self.ell[i])
    +
    +
    +.. parsed-literal::
    +
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
    @@ -667,8 +976,8 @@ individual participants.
         Optimization terminated successfully.
                  Current function value: 3781.497401
                  Iterations: 20
    -             Function evaluations: 61
    -             Gradient evaluations: 54
    +             Function evaluations: 58
    +             Gradient evaluations: 52
         Estimating model  2 of 4
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
    @@ -682,10 +991,22 @@ individual participants.
         Warning: Estimation of posterior distribution failed
         Optimization terminated successfully.
                  Current function value: 3201.761309
    -             Iterations: 39
    -             Function evaluations: 108
    -             Gradient evaluations: 108
    +             Iterations: 48
    +             Function evaluations: 114
    +             Gradient evaluations: 114
         Estimating model  3 of 4
    +
    +
    +.. parsed-literal::
    +
    +    /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/gp.py:147: RuntimeWarning: overflow encountered in exp
    +      self.sf2 = np.exp(2*theta[self.D])
    +    /usr/local/lib/python3.10/dist-packages/pcntoolkit/model/gp.py:160: RuntimeWarning: invalid value encountered in multiply
    +      dK = K * squared_dist(x[:, i]/self.ell[i], x[:, i]/self.ell[i])
    +
    +
    +.. parsed-literal::
    +
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
    @@ -696,9 +1017,9 @@ individual participants.
         Warning: Estimation of posterior distribution failed
         Optimization terminated successfully.
                  Current function value: 3771.310488
    -             Iterations: 47
    -             Function evaluations: 181
    -             Gradient evaluations: 167
    +             Iterations: 48
    +             Function evaluations: 156
    +             Gradient evaluations: 143
         Estimating model  4 of 4
         Warning: Estimation of posterior distribution failed
         Warning: Estimation of posterior distribution failed
    @@ -712,9 +1033,9 @@ individual participants.
         Warning: Estimation of posterior distribution failed
         Optimization terminated successfully.
                  Current function value: 3200.837262
    -             Iterations: 40
    -             Function evaluations: 104
    -             Gradient evaluations: 104
    +             Iterations: 42
    +             Function evaluations: 116
    +             Gradient evaluations: 116
         Evaluating the model ...
         Writing outputs ...
     
    @@ -761,21 +1082,21 @@ age 20. Do that for both sexes seperately.
         lengths = len(forward_yhat[hyppocampal_subfield])
         for entry in forward_yhat[hyppocampal_subfield]:
           if count > 0 and count < 7:
    -        loop_percentage_change_female = calculate_percentage_change(entry, 
    +        loop_percentage_change_female = calculate_percentage_change(entry,
                                                                         forward_yhat.iloc[0,
                                                                                           hyppocampal_subfield])
             percentage_change_female.append(loop_percentage_change_female)
    -      elif count > 7: 
    +      elif count > 7:
             loop_percentage_change_male = calculate_percentage_change(entry,
                                                                       forward_yhat.iloc[9,
                                                                                         hyppocampal_subfield])
             percentage_change_male.append(loop_percentage_change_male)
    -      count = count + 1 
    +      count = count + 1
         
    -    names = ['30 compared to 20 years', 
    -             '40 compared to 20 years', 
    -             '50 compared to 20 years', 
    -             '60 compared to 20 years', 
    +    names = ['30 compared to 20 years',
    +             '40 compared to 20 years',
    +             '50 compared to 20 years',
    +             '60 compared to 20 years',
                  '70 compared to 20 years',
                  '80 compared to 20 years']
         
    @@ -803,5 +1124,6 @@ age 20. Do that for both sexes seperately.
     
     
     
    -.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_32_1.png
    +.. image:: normative_modelling_walkthrough_files/normative_modelling_walkthrough_33_1.png
    +
     
    diff --git a/doc/build/html/_sources/pages/other_predictive_models.rst.txt b/doc/build/html/_sources/pages/other_predictive_models.rst.txt
    index c67b860c..2b841cad 100644
    --- a/doc/build/html/_sources/pages/other_predictive_models.rst.txt
    +++ b/doc/build/html/_sources/pages/other_predictive_models.rst.txt
    @@ -1,24 +1,23 @@
    -.. title:: Predictive modeling tutorial
    -
    -Predictive modeling using deviation scores
    -=============================================
    -
    -The Normative Modeling Framework for Computational Psychiatry. Nature Protocols. https://www.nature.com/articles/s41596-022-00696-5.
    -
    -Created by `Saige Rutherford `__
    -
    +.. code:: ipython3
     
    -.. image:: https://colab.research.google.com/assets/colab-badge.svg 
    -    :target: https://colab.research.google.com/github/predictive-clinical-neuroscience/PCNtoolkit-demo/blob/main/tutorials/BLR_protocol/other_predictive_models.ipynb
    +    ! git clone https://github.com/predictive-clinical-neuroscience/PCNtoolkit-demo.git
     
     
    -.. code:: ipython3
    +.. parsed-literal::
     
    -    ! git clone https://github.com/predictive-clinical-neuroscience/PCNtoolkit-demo.git
    +    Cloning into 'PCNtoolkit-demo'...
    +    remote: Enumerating objects: 1237, done.
    +    remote: Counting objects: 100% (360/360), done.
    +    remote: Compressing objects: 100% (185/185), done.
    +    remote: Total 1237 (delta 200), reused 306 (delta 172), pack-reused 877 (from 1)
    +    Receiving objects: 100% (1237/1237), 141.45 MiB | 10.83 MiB/s, done.
    +    Resolving deltas: 100% (562/562), done.
    +    Updating files: 100% (70/70), done.
     
     
     .. code:: ipython3
     
    +    
         import os
     
     .. code:: ipython3
    @@ -42,7 +41,7 @@ Created by `Saige Rutherford `__
         import numpy as np
         from matplotlib import pyplot as plt
         from scipy import stats, linalg
    -    from sklearn import preprocessing, decomposition, linear_model, metrics 
    +    from sklearn import preprocessing, decomposition, linear_model, metrics
         import warnings
     
     .. code:: ipython3
    @@ -62,7 +61,7 @@ Created by `Saige Rutherford `__
         plt.rc('figure', titlesize=BIGGER_SIZE)  # fontsize of the figure title
     
     Load Data
    ------------------------------
    +=========
     
     .. code:: ipython3
     
    @@ -85,7 +84,7 @@ Load Data
     
     
     Create Train/Test Splits
    ---------------------------------------
    +========================
     
     .. code:: ipython3
     
    @@ -117,7 +116,7 @@ Create Train/Test Splits
         test_mu_centered_ct = (test_data_ct - train_data_ct.mean(axis=0))
     
     Principal Component Regression (BBS)
    ---------------------------------------
    +====================================
     
     .. code:: ipython3
     
    @@ -131,7 +130,7 @@ Principal Component Regression (BBS)
     
     .. code:: ipython3
     
    -    print(f'First PC explains {pca_model_z.explained_variance_ratio_[0]*100:.2f}% of the total variance.')
    +    print(f'First PC explains {pca_model_z.explained_variance_ratio_[0]*100:.2f}% of the total variance.\nThis is an artifact of zero inflated data')
         plt.figure(figsize=(10, 7))
         plt.bar(range(1, 51), pca_model_z.explained_variance_ratio_[1:51])
         plt.title('Deviations model Variance Explained Ratio\nPCs 1-50', fontsize=25)
    @@ -141,15 +140,16 @@ Principal Component Regression (BBS)
     .. parsed-literal::
     
         First PC explains 23.41% of the total variance.
    +    This is an artifact of zero inflated data
     
     
     
    -.. image:: other_predictive_models_files/other_predictive_models_16_1.png
    +.. image:: other_predictive_models_files/other_predictive_models_17_1.png
     
     
     .. code:: ipython3
     
    -    print(f'First PC explains {pca_model_ct.explained_variance_ratio_[0]*100:.2f}% of the total variance.')
    +    print(f'First PC explains {pca_model_ct.explained_variance_ratio_[0]*100:.2f}% of the total variance.\nThis is an artifact of zero inflated data')
         plt.figure(figsize=(10, 7))
         plt.bar(range(1, 51), pca_model_ct.explained_variance_ratio_[1:51])
         plt.title('Cortical Thickness model Variance Explained Ratio\nPCs 1-50', fontsize=25)
    @@ -159,10 +159,11 @@ Principal Component Regression (BBS)
     .. parsed-literal::
     
         First PC explains 24.28% of the total variance.
    +    This is an artifact of zero inflated data
     
     
     
    -.. image:: other_predictive_models_files/other_predictive_models_17_1.png
    +.. image:: other_predictive_models_files/other_predictive_models_18_1.png
     
     
     .. code:: ipython3
    @@ -176,7 +177,7 @@ Principal Component Regression (BBS)
         test_transformed_ct = pca_model_ct.transform(test_data_ct)
     
     Fit Linear Regression Model
    ---------------------------------------
    +---------------------------
     
     .. code:: ipython3
     
    @@ -184,14 +185,14 @@ Fit Linear Regression Model
         # we will check that this matches sklearn results later
         
         # fit ols model on dimension reduced train data
    -    train_features_z = np.hstack([np.ones((train_transformed_z.shape[0], 1)), 
    +    train_features_z = np.hstack([np.ones((train_transformed_z.shape[0], 1)),
                                     train_transformed_z])
    -    train_features_inv_z = linalg.pinv2(train_features_z)
    +    train_features_inv_z = linalg.pinv(train_features_z)
         train_betas_z = np.dot(train_features_inv_z, train_phen)
         train_pred_phen_z = np.dot(train_features_z, train_betas_z)
         
         # fit ols model on dimension reduced test data
    -    test_features_z = np.hstack([np.ones((test_transformed_z.shape[0], 1)), 
    +    test_features_z = np.hstack([np.ones((test_transformed_z.shape[0], 1)),
                                    test_transformed_z])
         test_pred_phen_z = np.dot(test_features_z, train_betas_z)
     
    @@ -201,14 +202,14 @@ Fit Linear Regression Model
         # we will check that this matches sklearn results later
         
         # fit ols model on dimension reduced train data
    -    train_features_ct = np.hstack([np.ones((train_transformed_ct.shape[0], 1)), 
    +    train_features_ct = np.hstack([np.ones((train_transformed_ct.shape[0], 1)),
                                     train_transformed_ct])
    -    train_features_inv_ct = linalg.pinv2(train_features_ct)
    +    train_features_inv_ct = linalg.pinv(train_features_ct)
         train_betas_ct = np.dot(train_features_inv_ct, train_phen)
         train_pred_phen_ct = np.dot(train_features_ct, train_betas_ct)
         
         # fit ols model on dimension reduced test data
    -    test_features_ct = np.hstack([np.ones((test_transformed_ct.shape[0], 1)), 
    +    test_features_ct = np.hstack([np.ones((test_transformed_ct.shape[0], 1)),
                                    test_transformed_ct])
         test_pred_phen_ct = np.dot(test_features_ct, train_betas_ct)
     
    @@ -216,34 +217,20 @@ Fit Linear Regression Model
     
         # OLS using sklearn
         
    -    lr_model_z = linear_model.LinearRegression(fit_intercept=True, normalize=False)
    +    lr_model_z = linear_model.LinearRegression(fit_intercept=True)
         lr_model_z.fit(train_transformed_z, train_phen)
         train_pred_phen_lr_model_z = lr_model_z.predict(train_transformed_z)
         test_pred_phen_lr_model_z = lr_model_z.predict(test_transformed_z)
     
    -
    -.. parsed-literal::
    -
    -    /usr/local/lib/python3.7/dist-packages/sklearn/linear_model/_base.py:155: FutureWarning: 'normalize' was deprecated in version 1.0 and will be removed in 1.2. Please leave the normalize parameter to its default value to silence this warning. The default behavior of this estimator is to not do any normalization. If normalization is needed please use sklearn.preprocessing.StandardScaler instead.
    -      FutureWarning,
    -
    -
     .. code:: ipython3
     
         # OLS using sklearn
         
    -    lr_model_ct = linear_model.LinearRegression(fit_intercept=True, normalize=False)
    +    lr_model_ct = linear_model.LinearRegression(fit_intercept=True)
         lr_model_ct.fit(train_transformed_ct, train_phen)
         train_pred_phen_lr_model_ct = lr_model_ct.predict(train_transformed_ct)
         test_pred_phen_lr_model_ct = lr_model_ct.predict(test_transformed_ct)
     
    -
    -.. parsed-literal::
    -
    -    /usr/local/lib/python3.7/dist-packages/sklearn/linear_model/_base.py:155: FutureWarning: 'normalize' was deprecated in version 1.0 and will be removed in 1.2. Please leave the normalize parameter to its default value to silence this warning. The default behavior of this estimator is to not do any normalization. If normalization is needed please use sklearn.preprocessing.StandardScaler instead.
    -      FutureWarning,
    -
    -
     .. code:: ipython3
     
         # ensure matrix math predictions and sklearn predictions are accurate to 5 decimals
    @@ -270,8 +257,8 @@ Fit Linear Regression Model
         Passed
     
     
    -Mean Squared/Absolute Error of Predictions
    ------------------------------------------------
    +Accuracy of Predictions
    +-----------------------
     
     .. code:: ipython3
     
    @@ -326,18 +313,18 @@ BBS Cross Validation
     
         def bbs(X, y, n_components, n_cv_splits, pred_summary_function, verbose=False):
             assert X.shape[0] == y.shape[0]
    -        
    +    
             fold_accs_train = []
             fold_accs_test = []
             np.random.seed(42)
             shuffled_idxs = np.random.choice(range(X.shape[0]), size=X.shape[0], replace=False)
             for fold_i, test_idxs in enumerate(np.array_split(shuffled_idxs, n_cv_splits)):
    -            train_mask = np.ones(X.shape[0], np.bool)
    +            train_mask = np.ones(X.shape[0], bool)
                 train_mask[test_idxs] = 0
         
                 # create train/text X, y
                 train_X, test_X = X[train_mask, :], X[test_idxs, :]
    -            train_y, test_y = y[train_mask], y[test_idxs]  
    +            train_y, test_y = y[train_mask], y[test_idxs]
         
                 # mean center columns using train data only
                 train_X_mu = train_X.mean(axis=0)
    @@ -356,7 +343,7 @@ BBS Cross Validation
                 # fit OLS model
                 if verbose:
                     print(f'CV Fold: {fold_i+1:<10} Fitting Linear Regression model...')
    -            lr_model = linear_model.LinearRegression(fit_intercept=True, normalize=False)
    +            lr_model = linear_model.LinearRegression(fit_intercept=True)
                 lr_model.fit(train_X, train_y)
         
                 train_pred = lr_model.predict(train_X)
    @@ -364,11 +351,11 @@ BBS Cross Validation
         
                 fold_accs_train.append(pred_summary_function(train_y, train_pred))
                 fold_accs_test.append(pred_summary_function(test_y, test_pred))
    -            
    +    
                 if verbose:
    -                print(f'CV Fold: {fold_i+1:<10} Train MAE: {round(fold_accs_train[-1], 3):<10} Test MAE: {round(fold_accs_test[-1], 3):<10}')
    +                print(f'CV Fold: {fold_i+1:<10} Train Accuracy: {round(fold_accs_train[-1], 3):<10} Test Accuracy: {round(fold_accs_test[-1], 3):<10}')
    +    
         
    -        
             plt.figure(figsize=(13, 7))
             plt.plot(range(1, len(fold_accs_train)+1), fold_accs_train, linestyle='-', marker='o', color='C0', label='Train CV Performance')
             plt.plot(range(1, len(fold_accs_test)+1), fold_accs_test, linestyle='-', marker='o', color='C1', label='Test CV Performance')
    @@ -377,7 +364,7 @@ BBS Cross Validation
             plt.xlabel('CV Fold')
             plt.legend(fontsize=20)
             plt.show()
    -        
    +    
             return fold_accs_train, fold_accs_test
     
     .. code:: ipython3
    @@ -389,23 +376,23 @@ BBS Cross Validation
     
         CV Fold: 1          Fitting PCA model...
         CV Fold: 1          Fitting Linear Regression model...
    -    CV Fold: 1          Train MAE: 0.599      Test MAE: 0.619     
    +    CV Fold: 1          Train Accuracy: 0.599      Test Accuracy: 0.619     
         CV Fold: 2          Fitting PCA model...
         CV Fold: 2          Fitting Linear Regression model...
    -    CV Fold: 2          Train MAE: 0.572      Test MAE: 0.713     
    +    CV Fold: 2          Train Accuracy: 0.572      Test Accuracy: 0.713     
         CV Fold: 3          Fitting PCA model...
         CV Fold: 3          Fitting Linear Regression model...
    -    CV Fold: 3          Train MAE: 0.577      Test MAE: 0.687     
    +    CV Fold: 3          Train Accuracy: 0.577      Test Accuracy: 0.687     
         CV Fold: 4          Fitting PCA model...
         CV Fold: 4          Fitting Linear Regression model...
    -    CV Fold: 4          Train MAE: 0.604      Test MAE: 0.608     
    +    CV Fold: 4          Train Accuracy: 0.604      Test Accuracy: 0.608     
         CV Fold: 5          Fitting PCA model...
         CV Fold: 5          Fitting Linear Regression model...
    -    CV Fold: 5          Train MAE: 0.581      Test MAE: 0.687     
    +    CV Fold: 5          Train Accuracy: 0.581      Test Accuracy: 0.687     
     
     
     
    -.. image:: other_predictive_models_files/other_predictive_models_32_3.png
    +.. image:: other_predictive_models_files/other_predictive_models_33_1.png
     
     
     .. code:: ipython3
    @@ -417,41 +404,43 @@ BBS Cross Validation
     
         CV Fold: 1          Fitting PCA model...
         CV Fold: 1          Fitting Linear Regression model...
    -    CV Fold: 1          Train MAE: 0.622      Test MAE: 0.643     
    +    CV Fold: 1          Train Accuracy: 0.622      Test Accuracy: 0.643     
         CV Fold: 2          Fitting PCA model...
         CV Fold: 2          Fitting Linear Regression model...
    -    CV Fold: 2          Train MAE: 0.605      Test MAE: 0.723     
    +    CV Fold: 2          Train Accuracy: 0.605      Test Accuracy: 0.723     
         CV Fold: 3          Fitting PCA model...
         CV Fold: 3          Fitting Linear Regression model...
    -    CV Fold: 3          Train MAE: 0.604      Test MAE: 0.701     
    +    CV Fold: 3          Train Accuracy: 0.604      Test Accuracy: 0.701     
         CV Fold: 4          Fitting PCA model...
         CV Fold: 4          Fitting Linear Regression model...
    -    CV Fold: 4          Train MAE: 0.624      Test MAE: 0.646     
    +    CV Fold: 4          Train Accuracy: 0.624      Test Accuracy: 0.646     
         CV Fold: 5          Fitting PCA model...
         CV Fold: 5          Fitting Linear Regression model...
    -    CV Fold: 5          Train MAE: 0.614      Test MAE: 0.722     
    +    CV Fold: 5          Train Accuracy: 0.614      Test Accuracy: 0.722     
     
     
     
    -.. image:: other_predictive_models_files/other_predictive_models_33_3.png
    +.. image:: other_predictive_models_files/other_predictive_models_34_1.png
     
     
     Connectome Predictive Modelling
    ---------------------------------------
    +===============================
     
     .. code:: ipython3
     
         # correlation train_brain with train_phenotype
         train_z_pheno_corr_p = [stats.pearsonr(train_data_z[:, i], train_phen) for i in range(train_data_z.shape[1])]  # train_pheno_corr_p: (259200, )
    +    # there are some nan correlations if brain data is poorly cropped (ie: some columns are always 0)
     
     .. code:: ipython3
     
         # correlation train_brain with train_phenotype
         train_ct_pheno_corr_p = [stats.pearsonr(train_data_ct[:, i], train_phen) for i in range(train_data_ct.shape[1])]  # train_pheno_corr_p: (259200, )
    +    # there are some nan correlations if brain data is poorly cropped (ie: some columns are always 0)
     
     .. code:: ipython3
     
    -    # split into positive and negative correlations 
    +    # split into positive and negative correlations
         # and keep edges with p values below threshold
         pval_threshold = 0.01
         
    @@ -495,15 +484,13 @@ Connectome Predictive Modelling
     
     .. code:: ipython3
     
    -    fit_pos_z = linear_model.LinearRegression(fit_intercept=True, normalize=False).fit(train_pos_edges_sum_z.reshape(-1, 1), train_phen)
    -    fit_neg_z = linear_model.LinearRegression(fit_intercept=True, normalize=False).fit(train_neg_edges_sum_z.reshape(-1, 1), train_phen)
    -
    +    fit_pos_z = linear_model.LinearRegression(fit_intercept=True).fit(train_pos_edges_sum_z.reshape(-1, 1), train_phen)
    +    fit_neg_z = linear_model.LinearRegression(fit_intercept=True).fit(train_neg_edges_sum_z.reshape(-1, 1), train_phen)
     
     .. code:: ipython3
     
    -    fit_pos_ct = linear_model.LinearRegression(fit_intercept=True, normalize=False).fit(train_pos_edges_sum_ct.reshape(-1, 1), train_phen)
    -    fit_neg_ct = linear_model.LinearRegression(fit_intercept=True, normalize=False).fit(train_neg_edges_sum_ct.reshape(-1, 1), train_phen)
    -
    +    fit_pos_ct = linear_model.LinearRegression(fit_intercept=True).fit(train_pos_edges_sum_ct.reshape(-1, 1), train_phen)
    +    fit_neg_ct = linear_model.LinearRegression(fit_intercept=True).fit(train_neg_edges_sum_ct.reshape(-1, 1), train_phen)
     
     .. code:: ipython3
     
    @@ -512,52 +499,48 @@ Connectome Predictive Modelling
         pos_error_ct = metrics.mean_absolute_error(train_phen, fit_pos_ct.predict(train_pos_edges_sum_ct.reshape(-1, 1)))
         neg_error_ct = metrics.mean_absolute_error(train_phen, fit_neg_ct.predict(train_neg_edges_sum_ct.reshape(-1, 1)))
         
    -    print(f'Training Error (MAE) (Positive Z Features Model) = {pos_error_z:.3f}')
    -    print(f'Training Error (MAE) (Negative Z Features Model) = {neg_error_z:.3f}')
    -    print(f'Training Error (MAE) (Positive CT Features Model) = {pos_error_ct:.3f}')
    -    print(f'Training Error (MAE) (Negative CT Features Model) = {neg_error_ct:.3f}')
    +    print(f'Training Error (Positive Z Features Model) = {pos_error_z:.3f}')
    +    print(f'Training Error (Negative Z Features Model) = {neg_error_z:.3f}')
    +    print(f'Training Error (Positive CT Features Model) = {pos_error_ct:.3f}')
    +    print(f'Training Error (Negative CT Features Model) = {neg_error_ct:.3f}')
     
     
     .. parsed-literal::
     
    -    Training Error (MAE) (Positive Z Features Model) = 0.631
    -    Training Error (MAE) (Negative Z Features Model) = 0.666
    -    Training Error (MAE) (Positive CT Features Model) = 0.662
    -    Training Error (MAE) (Negative CT Features Model) = 0.665
    +    Training Error (Positive Z Features Model) = 0.631
    +    Training Error (Negative Z Features Model) = 0.666
    +    Training Error (Positive CT Features Model) = 0.662
    +    Training Error (Negative CT Features Model) = 0.665
     
     
     .. code:: ipython3
     
         # combine positive/negative edges in one linear regression model
    -    fit_pos_neg_z = linear_model.LinearRegression(fit_intercept=True, normalize=False).fit(np.stack((train_pos_edges_sum_z, train_neg_edges_sum_z)).T, train_phen)
    -
    -
    +    fit_pos_neg_z = linear_model.LinearRegression(fit_intercept=True).fit(np.stack((train_pos_edges_sum_z, train_neg_edges_sum_z)).T, train_phen)
     
     .. code:: ipython3
     
         # combine positive/negative edges in one linear regression model
    -    fit_pos_neg_ct = linear_model.LinearRegression(fit_intercept=True, normalize=False).fit(np.stack((train_pos_edges_sum_ct, train_neg_edges_sum_ct)).T, train_phen)
    -
    -
    +    fit_pos_neg_ct = linear_model.LinearRegression(fit_intercept=True).fit(np.stack((train_pos_edges_sum_ct, train_neg_edges_sum_ct)).T, train_phen)
     
     .. code:: ipython3
     
         pos_neg_error_z = metrics.mean_absolute_error(train_phen, fit_pos_neg_z.predict(np.stack((train_pos_edges_sum_z, train_neg_edges_sum_z)).T))
         pos_neg_error_ct = metrics.mean_absolute_error(train_phen, fit_pos_neg_ct.predict(np.stack((train_pos_edges_sum_ct, train_neg_edges_sum_ct)).T))
         
    -    print(f'Training Error (MAE) (Positive/Negative Z Features Model) = {pos_neg_error_z:.3f}')
    -    print(f'Training Error (MAE) (Positive/Negative CT Features Model) = {pos_neg_error_ct:.3f}')
    +    print(f'Training Error (Positive/Negative Z Features Model) = {pos_neg_error_z:.3f}')
    +    print(f'Training Error (Positive/Negative CT Features Model) = {pos_neg_error_ct:.3f}')
     
     
     .. parsed-literal::
     
    -    Training Error (MAE) (Positive/Negative Z Features Model) = 0.620
    -    Training Error (MAE) (Positive/Negative CT Features Model) = 0.642
    +    Training Error (Positive/Negative Z Features Model) = 0.620
    +    Training Error (Positive/Negative CT Features Model) = 0.642
     
     
     .. code:: ipython3
     
    -    # evaluate out of sample performance 
    +    # evaluate out of sample performance
         test_pos_edges_sum_z = test_data_z[:, keep_edges_pos_z].sum(1)
         test_neg_edges_sum_z = test_data_z[:, keep_edges_neg_z].sum(1)
         
    @@ -572,44 +555,44 @@ Connectome Predictive Modelling
         neg_test_error_ct = metrics.mean_absolute_error(test_phen, fit_neg_ct.predict(test_neg_edges_sum_ct.reshape(-1, 1)))
         pos_neg_test_error_ct = metrics.mean_absolute_error(test_phen, fit_pos_neg_ct.predict(np.stack((test_pos_edges_sum_ct, test_neg_edges_sum_ct)).T))
         
    -    print(f'Testing Error (MAE) (Positive Z Features Model) = {pos_test_error_z:.3f}')
    -    print(f'Testing Error (MAE) (Negative Z Features Model) = {neg_test_error_z:.3f}')
    -    print(f'Testing Error (MAE) (Positive/Negative Z Features Model) = {pos_neg_test_error_z:.3f}')
    -    print(f'Testing Error (MAE) (Positive CT Features Model) = {pos_test_error_ct:.3f}')
    -    print(f'Testing Error (MAE) (Negative CT Features Model) = {neg_test_error_ct:.3f}')
    -    print(f'Testing Error (MAE) (Positive/Negative CT Features Model) = {pos_neg_test_error_ct:.3f}')
    +    print(f'Testing Error (Positive Z Features Model) = {pos_test_error_z:.3f}')
    +    print(f'Testing Error (Negative Z Features Model) = {neg_test_error_z:.3f}')
    +    print(f'Testing Error (Positive/Negative Z Features Model) = {pos_neg_test_error_z:.3f}')
    +    print(f'Testing Error (Positive CT Features Model) = {pos_test_error_ct:.3f}')
    +    print(f'Testing Error (Negative CT Features Model) = {neg_test_error_ct:.3f}')
    +    print(f'Testing Error (Positive/Negative CT Features Model) = {pos_neg_test_error_ct:.3f}')
     
     
     .. parsed-literal::
     
    -    Testing Error (MAE) (Positive Z Features Model) = 0.705
    -    Testing Error (MAE) (Negative Z Features Model) = 0.696
    -    Testing Error (MAE) (Positive/Negative Z Features Model) = 0.697
    -    Testing Error (MAE) (Positive CT Features Model) = 0.710
    -    Testing Error (MAE) (Negative CT Features Model) = 0.695
    -    Testing Error (MAE) (Positive/Negative CT Features Model) = 0.701
    +    Testing Error (Positive Z Features Model) = 0.705
    +    Testing Error (Negative Z Features Model) = 0.696
    +    Testing Error (Positive/Negative Z Features Model) = 0.697
    +    Testing Error (Positive CT Features Model) = 0.710
    +    Testing Error (Negative CT Features Model) = 0.695
    +    Testing Error (Positive/Negative CT Features Model) = 0.701
     
     
     CPM Cross Validation
    ---------------------------------------
    +--------------------
     
     .. code:: ipython3
     
         def cpm(X, y, p_threshold, n_cv_splits, pred_summary_function, verbose=False):
             assert X.shape[0] == y.shape[0]
    -        
    +    
             fold_accs_train = []
             fold_accs_test = []
             np.random.seed(42)
             shuffled_idxs = np.random.choice(range(X.shape[0]), size=X.shape[0], replace=False)
             for fold_i, test_idxs in enumerate(np.array_split(shuffled_idxs, n_cv_splits)):
    -            train_mask = np.ones(X.shape[0], np.bool)
    +            train_mask = np.ones(X.shape[0], bool)
                 train_mask[test_idxs] = 0
         
                 # create train/text X, y
                 train_X, test_X = X[train_mask, :], X[test_idxs, :]
    -            train_y, test_y = y[train_mask], y[test_idxs]  
    -            
    +            train_y, test_y = y[train_mask], y[test_idxs]
    +    
                 # create correlation matrix between train_X and train_y
                 if verbose:
                     print(f'CV Fold: {fold_i+1:<10} Computing correlations between train_X and train_y...')
    @@ -622,18 +605,18 @@ CPM Cross Validation
                     # create masks for edges below p-threshold and split pos/neg correlations
                     keep_edges_pos = (train_corrs > 0) & (train_pvals < p_threshold)
                     keep_edges_neg = (train_corrs < 0) & (train_pvals < p_threshold)
    -            
    +    
                 # sum X entries with significant correlations with y
                 train_pos_edges_sum = train_X[:, keep_edges_pos].sum(1)
                 train_neg_edges_sum = train_X[:, keep_edges_neg].sum(1)
                 test_pos_edges_sum = test_X[:, keep_edges_pos].sum(1)
                 test_neg_edges_sum = test_X[:, keep_edges_neg].sum(1)
    -            
    +    
                 # fit linear regression models based on summed values
    -            fit_pos = linear_model.LinearRegression(fit_intercept=True, normalize=False).fit(train_pos_edges_sum.reshape(-1, 1), train_y)
    -            fit_neg = linear_model.LinearRegression(fit_intercept=True, normalize=False).fit(train_neg_edges_sum.reshape(-1, 1), train_y)
    -            fit_pos_neg = linear_model.LinearRegression(fit_intercept=True, normalize=False).fit(np.stack((train_pos_edges_sum, train_neg_edges_sum)).T, train_y)
    -            
    +            fit_pos = linear_model.LinearRegression(fit_intercept=True).fit(train_pos_edges_sum.reshape(-1, 1), train_y)
    +            fit_neg = linear_model.LinearRegression(fit_intercept=True).fit(train_neg_edges_sum.reshape(-1, 1), train_y)
    +            fit_pos_neg = linear_model.LinearRegression(fit_intercept=True).fit(np.stack((train_pos_edges_sum, train_neg_edges_sum)).T, train_y)
    +    
                 # compute train errors
                 train_pos_error = pred_summary_function(train_y, fit_pos.predict(train_pos_edges_sum.reshape(-1, 1)))
                 train_neg_error = pred_summary_function(train_y, fit_neg.predict(train_neg_edges_sum.reshape(-1, 1)))
    @@ -646,27 +629,27 @@ CPM Cross Validation
         
                 fold_accs_train.append((train_pos_error, train_neg_error, train_posneg_error))
                 fold_accs_test.append((test_pos_error, test_neg_error, test_posneg_error))
    -            
    +    
                 if verbose:
    -                print(f'CV Fold: {fold_i+1:<10} Train Pos-Edges Model MAE: {round(train_pos_error, 3):<10} Train Neg-Edges Model Accuracy: {round(train_neg_error, 3):<10} Train Pos/Neg-Edges Model Accuracy: {round(train_posneg_error, 3):<10}')
    -                print(f'CV Fold: {fold_i+1:<10} Test  Pos-Edges Model MAE: {round(test_pos_error, 3):<10} Test  Neg-Edges Model Accuracy: {round(test_neg_error, 3):<10} Test  Pos/Neg-Edges Model Accuracy: {round(test_posneg_error, 3):<10}')
    +                print(f'CV Fold: {fold_i+1:<10} Train Pos-Edges Model Accuracy: {round(train_pos_error, 3):<10} Train Neg-Edges Model Accuracy: {round(train_neg_error, 3):<10} Train Pos/Neg-Edges Model Accuracy: {round(train_posneg_error, 3):<10}')
    +                print(f'CV Fold: {fold_i+1:<10} Test  Pos-Edges Model Accuracy: {round(test_pos_error, 3):<10} Test  Neg-Edges Model Accuracy: {round(test_neg_error, 3):<10} Test  Pos/Neg-Edges Model Accuracy: {round(test_posneg_error, 3):<10}')
    +    
         
    -        
             plt.figure(figsize=(13, 7))
             plt.plot(range(1, len(fold_accs_train)+1), [x[0] for x in fold_accs_train], linestyle='--', marker='o', color='C0', label='Train Pos-Edges Model')
             plt.plot(range(1, len(fold_accs_train)+1), [x[1] for x in fold_accs_train], linestyle='--', marker='o', color='C1', label='Train Neg-Edges Model')
             plt.plot(range(1, len(fold_accs_train)+1), [x[2] for x in fold_accs_train], linestyle='--', marker='o', color='C2', label='Train Pos/Neg-Edges Model')
    -        
    +    
             plt.plot(range(1, len(fold_accs_test)+1), [x[0] for x in fold_accs_test], linestyle='-', marker='o', color='C0', label='Test  Pos-Edges Model')
             plt.plot(range(1, len(fold_accs_test)+1), [x[1] for x in fold_accs_test], linestyle='-', marker='o', color='C1', label='Test  Neg-Edges Model')
             plt.plot(range(1, len(fold_accs_test)+1), [x[2] for x in fold_accs_test], linestyle='-', marker='o', color='C2', label='Test  Pos/Neg-Edges Model')
    -        
    +    
             plt.title(pred_summary_function.__name__, fontsize=20)
             plt.xticks(range(1, len(fold_accs_test)+1))
             plt.xlabel('CV Fold')
             plt.legend(fontsize=10)
             plt.show()
    -        
    +    
             return fold_accs_train, fold_accs_test
     
     .. code:: ipython3
    @@ -674,32 +657,27 @@ CPM Cross Validation
         fold_accs_train_z, fold_accs_test_z = cpm(hcp_z, gscores, p_threshold=0.01, n_cv_splits=5, pred_summary_function=metrics.mean_absolute_error, verbose=True)
     
     
    -
     .. parsed-literal::
     
         CV Fold: 1          Computing correlations between train_X and train_y...
    -    CV Fold: 1          Train Pos-Edges Model MAE: 0.652      Train Neg-Edges Model MAE: 0.673      Train Pos/Neg-Edges Model MAE: 0.644     
    -    CV Fold: 1          Test  Pos-Edges Model MAE: 0.636      Test  Neg-Edges Model MAE: 0.671      Test  Pos/Neg-Edges Model MAE: 0.632     
    +    CV Fold: 1          Train Pos-Edges Model Accuracy: 0.652      Train Neg-Edges Model Accuracy: 0.673      Train Pos/Neg-Edges Model Accuracy: 0.644     
    +    CV Fold: 1          Test  Pos-Edges Model Accuracy: 0.636      Test  Neg-Edges Model Accuracy: 0.671      Test  Pos/Neg-Edges Model Accuracy: 0.632     
         CV Fold: 2          Computing correlations between train_X and train_y...
    -    CV Fold: 2          Train Pos-Edges Model MAE: 0.648      Train Neg-Edges Model MAE: 0.678      Train Pos/Neg-Edges Model MAE: 0.636     
    -    CV Fold: 2          Test  Pos-Edges Model MAE: 0.651      Test  Neg-Edges Model MAE: 0.659      Test  Pos/Neg-Edges Model MAE: 0.662     
    +    CV Fold: 2          Train Pos-Edges Model Accuracy: 0.648      Train Neg-Edges Model Accuracy: 0.678      Train Pos/Neg-Edges Model Accuracy: 0.636     
    +    CV Fold: 2          Test  Pos-Edges Model Accuracy: 0.651      Test  Neg-Edges Model Accuracy: 0.659      Test  Pos/Neg-Edges Model Accuracy: 0.662     
         CV Fold: 3          Computing correlations between train_X and train_y...
    -    CV Fold: 3          Train Pos-Edges Model MAE: 0.644      Train Neg-Edges Model MAE: 0.662      Train Pos/Neg-Edges Model MAE: 0.636     
    -    CV Fold: 3          Test  Pos-Edges Model MAE: 0.65       Test  Neg-Edges Model MAE: 0.708      Test  Pos/Neg-Edges Model MAE: 0.646     
    +    CV Fold: 3          Train Pos-Edges Model Accuracy: 0.644      Train Neg-Edges Model Accuracy: 0.662      Train Pos/Neg-Edges Model Accuracy: 0.636     
    +    CV Fold: 3          Test  Pos-Edges Model Accuracy: 0.65       Test  Neg-Edges Model Accuracy: 0.708      Test  Pos/Neg-Edges Model Accuracy: 0.646     
         CV Fold: 4          Computing correlations between train_X and train_y...
    -    CV Fold: 4          Train Pos-Edges Model MAE: 0.653      Train Neg-Edges Model MAE: 0.676      Train Pos/Neg-Edges Model MAE: 0.648     
    -    CV Fold: 4          Test  Pos-Edges Model MAE: 0.626      Test  Neg-Edges Model MAE: 0.659      Test  Pos/Neg-Edges Model MAE: 0.625     
    +    CV Fold: 4          Train Pos-Edges Model Accuracy: 0.653      Train Neg-Edges Model Accuracy: 0.676      Train Pos/Neg-Edges Model Accuracy: 0.648     
    +    CV Fold: 4          Test  Pos-Edges Model Accuracy: 0.626      Test  Neg-Edges Model Accuracy: 0.659      Test  Pos/Neg-Edges Model Accuracy: 0.625     
         CV Fold: 5          Computing correlations between train_X and train_y...
    +    CV Fold: 5          Train Pos-Edges Model Accuracy: 0.631      Train Neg-Edges Model Accuracy: 0.666      Train Pos/Neg-Edges Model Accuracy: 0.62      
    +    CV Fold: 5          Test  Pos-Edges Model Accuracy: 0.704      Test  Neg-Edges Model Accuracy: 0.696      Test  Pos/Neg-Edges Model Accuracy: 0.697     
     
     
    -.. parsed-literal::
    -
    -    CV Fold: 5          Train Pos-Edges Model MAE: 0.631      Train Neg-Edges Model MAE: 0.666      Train Pos/Neg-Edges Model MAE: 0.62      
    -    CV Fold: 5          Test  Pos-Edges Model MAE: 0.704      Test  Neg-Edges Model MAE: 0.696      Test  Pos/Neg-Edges Model MAE: 0.697     
    -
     
    -
    -.. image:: other_predictive_models_files/other_predictive_models_50_4.png
    +.. image:: other_predictive_models_files/other_predictive_models_51_1.png
     
     
     .. code:: ipython3
    @@ -710,51 +688,61 @@ CPM Cross Validation
     .. parsed-literal::
     
         CV Fold: 1          Computing correlations between train_X and train_y...
    -    CV Fold: 1          Train Pos-Edges Model MAE: 0.675      Train Neg-Edges Model MAE: 0.673      Train Pos/Neg-Edges Model MAE: 0.659     
    -    CV Fold: 1          Test  Pos-Edges Model MAE: 0.659      Test  Neg-Edges Model MAE: 0.67       Test  Pos/Neg-Edges Model MAE: 0.653     
    +    CV Fold: 1          Train Pos-Edges Model Accuracy: 0.675      Train Neg-Edges Model Accuracy: 0.673      Train Pos/Neg-Edges Model Accuracy: 0.659     
    +    CV Fold: 1          Test  Pos-Edges Model Accuracy: 0.659      Test  Neg-Edges Model Accuracy: 0.67       Test  Pos/Neg-Edges Model Accuracy: 0.653     
         CV Fold: 2          Computing correlations between train_X and train_y...
    -    CV Fold: 2          Train Pos-Edges Model MAE: 0.674      Train Neg-Edges Model MAE: 0.678      Train Pos/Neg-Edges Model MAE: 0.636     
    -    CV Fold: 2          Test  Pos-Edges Model MAE: 0.661      Test  Neg-Edges Model MAE: 0.657      Test  Pos/Neg-Edges Model MAE: 0.668     
    +    CV Fold: 2          Train Pos-Edges Model Accuracy: 0.674      Train Neg-Edges Model Accuracy: 0.678      Train Pos/Neg-Edges Model Accuracy: 0.636     
    +    CV Fold: 2          Test  Pos-Edges Model Accuracy: 0.661      Test  Neg-Edges Model Accuracy: 0.657      Test  Pos/Neg-Edges Model Accuracy: 0.668     
         CV Fold: 3          Computing correlations between train_X and train_y...
    -    CV Fold: 3          Train Pos-Edges Model MAE: 0.659      Train Neg-Edges Model MAE: 0.665      Train Pos/Neg-Edges Model MAE: 0.644     
    -    CV Fold: 3          Test  Pos-Edges Model MAE: 0.699      Test  Neg-Edges Model MAE: 0.704      Test  Pos/Neg-Edges Model MAE: 0.684     
    +    CV Fold: 3          Train Pos-Edges Model Accuracy: 0.659      Train Neg-Edges Model Accuracy: 0.665      Train Pos/Neg-Edges Model Accuracy: 0.644     
    +    CV Fold: 3          Test  Pos-Edges Model Accuracy: 0.699      Test  Neg-Edges Model Accuracy: 0.704      Test  Pos/Neg-Edges Model Accuracy: 0.684     
         CV Fold: 4          Computing correlations between train_X and train_y...
    -    CV Fold: 4          Train Pos-Edges Model MAE: 0.674      Train Neg-Edges Model MAE: 0.678      Train Pos/Neg-Edges Model MAE: 0.658     
    -    CV Fold: 4          Test  Pos-Edges Model MAE: 0.653      Test  Neg-Edges Model MAE: 0.656      Test  Pos/Neg-Edges Model MAE: 0.638     
    +    CV Fold: 4          Train Pos-Edges Model Accuracy: 0.674      Train Neg-Edges Model Accuracy: 0.678      Train Pos/Neg-Edges Model Accuracy: 0.658     
    +    CV Fold: 4          Test  Pos-Edges Model Accuracy: 0.653      Test  Neg-Edges Model Accuracy: 0.656      Test  Pos/Neg-Edges Model Accuracy: 0.638     
         CV Fold: 5          Computing correlations between train_X and train_y...
    -    CV Fold: 5          Train Pos-Edges Model MAE: 0.662      Train Neg-Edges Model MAE: 0.666      Train Pos/Neg-Edges Model MAE: 0.642     
    -    CV Fold: 5          Test  Pos-Edges Model MAE: 0.709      Test  Neg-Edges Model MAE: 0.698      Test  Pos/Neg-Edges Model MAE: 0.708     
    +    CV Fold: 5          Train Pos-Edges Model Accuracy: 0.662      Train Neg-Edges Model Accuracy: 0.666      Train Pos/Neg-Edges Model Accuracy: 0.642     
    +    CV Fold: 5          Test  Pos-Edges Model Accuracy: 0.709      Test  Neg-Edges Model Accuracy: 0.698      Test  Pos/Neg-Edges Model Accuracy: 0.708     
     
     
     
    -.. image:: other_predictive_models_files/other_predictive_models_51_2.png
    +.. image:: other_predictive_models_files/other_predictive_models_52_1.png
     
     
     Lasso (Linear Regression + L1 Regularization)
    ------------------------------------------------------
    +=============================================
     
     .. code:: ipython3
     
    -    # LassoCV uses coordinate descent to select hyperparameter alpha 
    +    # LassoCV uses coordinate descent to select hyperparameter alpha
         alpha_grid = np.array([10**a for a in np.arange(-3, 3, 0.25)])
    -    lassoCV_model_z = linear_model.LassoCV(cv=5, n_alphas=len(alpha_grid), alphas=alpha_grid, fit_intercept=True, normalize=False, random_state=42, verbose=True, n_jobs=5).fit(train_data_z, train_phen)
    +    lassoCV_model_z = linear_model.LassoCV(cv=5, n_alphas=len(alpha_grid), alphas=alpha_grid, fit_intercept=True, random_state=42, verbose=True, n_jobs=5).fit(train_data_z, train_phen)
     
     
    +.. parsed-literal::
    +
    +    [Parallel(n_jobs=5)]: Using backend ThreadingBackend with 5 concurrent workers.
    +    .....................................................................................................................[Parallel(n_jobs=5)]: Done   2 out of   5 | elapsed:    0.5s remaining:    0.7s
    +    /usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.07308221069854426, tolerance: 0.04611195889050071
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    ./usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.15375414865695802, tolerance: 0.03970345334827422
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    ./usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.10611096508367268, tolerance: 0.04382929483334259
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    .[Parallel(n_jobs=5)]: Done   5 out of   5 | elapsed:    0.5s finished
    +
     
     .. code:: ipython3
     
    -    # LassoCV uses coordinate descent to select hyperparameter alpha 
    +    # LassoCV uses coordinate descent to select hyperparameter alpha
         alpha_grid = np.array([10**a for a in np.arange(-3, 3, 0.25)])
    -    lassoCV_model_ct = linear_model.LassoCV(cv=5, n_alphas=len(alpha_grid), alphas=alpha_grid, fit_intercept=True, normalize=False, random_state=42, verbose=True, n_jobs=5).fit(train_data_ct, train_phen)
    +    lassoCV_model_ct = linear_model.LassoCV(cv=5, n_alphas=len(alpha_grid), alphas=alpha_grid, fit_intercept=True,  random_state=42, verbose=True, n_jobs=5).fit(train_data_ct, train_phen)
     
     
     .. parsed-literal::
     
         [Parallel(n_jobs=5)]: Using backend ThreadingBackend with 5 concurrent workers.
    -    ...................................................................................................................[Parallel(n_jobs=5)]: Done   2 out of   5 | elapsed:    0.3s remaining:    0.5s
    -    .....[Parallel(n_jobs=5)]: Done   5 out of   5 | elapsed:    0.3s finished
    -    /usr/local/lib/python3.7/dist-packages/sklearn/linear_model/_base.py:155: FutureWarning: 'normalize' was deprecated in version 1.0 and will be removed in 1.2. Please leave the normalize parameter to its default value to silence this warning. The default behavior of this estimator is to not do any normalization. If normalization is needed please use sklearn.preprocessing.StandardScaler instead.
    -      FutureWarning,
    +    ....................................................................................................................[Parallel(n_jobs=5)]: Done   2 out of   5 | elapsed:    0.2s remaining:    0.3s
    +    ....[Parallel(n_jobs=5)]: Done   5 out of   5 | elapsed:    0.3s finished
     
     
     .. code:: ipython3
    @@ -770,7 +758,7 @@ Lasso (Linear Regression + L1 Regularization)
     
     
     
    -.. image:: other_predictive_models_files/other_predictive_models_55_0.png
    +.. image:: other_predictive_models_files/other_predictive_models_56_0.png
     
     
     .. code:: ipython3
    @@ -786,22 +774,18 @@ Lasso (Linear Regression + L1 Regularization)
     
     
     
    -.. image:: other_predictive_models_files/other_predictive_models_56_0.png
    +.. image:: other_predictive_models_files/other_predictive_models_57_0.png
     
     
     .. code:: ipython3
     
         # based on cv results above, set alpha=100
    -    lasso_model_z = linear_model.Lasso(alpha=lassoCV_model_z.alpha_, fit_intercept=True, normalize=False).fit(train_data_z, train_phen)
    -
    -
    +    lasso_model_z = linear_model.Lasso(alpha=lassoCV_model_z.alpha_, fit_intercept=True).fit(train_data_z, train_phen)
     
     .. code:: ipython3
     
         # based on cv results above, set alpha=100
    -    lasso_model_ct = linear_model.Lasso(alpha=lassoCV_model_ct.alpha_, fit_intercept=True, normalize=False).fit(train_data_ct, train_phen)
    -
    -
    +    lasso_model_ct = linear_model.Lasso(alpha=lassoCV_model_ct.alpha_, fit_intercept=True).fit(train_data_ct, train_phen)
     
     .. code:: ipython3
     
    @@ -832,23 +816,23 @@ Lasso (Linear Regression + L1 Regularization)
     
     
     Ridge (Linear Regression + L2 Regularization)
    ---------------------------------------------------------
    +=============================================
     
     .. code:: ipython3
     
    -    # RidgeCV uses generalized cross validation to select hyperparameter alpha 
    +    # RidgeCV uses generalized cross validation to select hyperparameter alpha
         with warnings.catch_warnings():
             # ignore matrix decomposition errors
             warnings.simplefilter("ignore")
    -        ridgeCV_model_z = linear_model.RidgeCV(alphas=(0.1, 1.0, 10.0), fit_intercept=True, normalize=False, cv=5).fit(train_data_z, train_phen)
    +        ridgeCV_model_z = linear_model.RidgeCV(alphas=(0.1, 1.0, 10.0), fit_intercept=True, cv=5).fit(train_data_z, train_phen)
     
     .. code:: ipython3
     
    -    # RidgeCV uses generalized cross validation to select hyperparameter alpha 
    +    # RidgeCV uses generalized cross validation to select hyperparameter alpha
         with warnings.catch_warnings():
             # ignore matrix decomposition errors
             warnings.simplefilter("ignore")
    -        ridgeCV_model_ct = linear_model.RidgeCV(alphas=(0.1, 1.0, 10.0), fit_intercept=True, normalize=False, cv=5).fit(train_data_ct, train_phen)
    +        ridgeCV_model_ct = linear_model.RidgeCV(alphas=(0.1, 1.0, 10.0), fit_intercept=True,  cv=5).fit(train_data_ct, train_phen)
     
     .. code:: ipython3
     
    @@ -874,14 +858,11 @@ Ridge (Linear Regression + L2 Regularization)
     
     .. code:: ipython3
     
    -    ridge_model_z = linear_model.Ridge(alpha=ridge_alpha_z, fit_intercept=True, normalize=False).fit(train_data_z, train_phen)
    -
    -
    +    ridge_model_z = linear_model.Ridge(alpha=ridge_alpha_z, fit_intercept=True).fit(train_data_z, train_phen)
     
     .. code:: ipython3
     
    -    ridge_model_ct = linear_model.Ridge(alpha=ridge_alpha_ct, fit_intercept=True, normalize=False).fit(train_data_ct, train_phen)
    -
    +    ridge_model_ct = linear_model.Ridge(alpha=ridge_alpha_ct, fit_intercept=True).fit(train_data_ct, train_phen)
     
     .. code:: ipython3
     
    @@ -912,21 +893,81 @@ Ridge (Linear Regression + L2 Regularization)
     
     
     Elastic Net (Linear Regression + L1/L2 Regularization)
    -------------------------------------------------------------
    +======================================================
     
     .. code:: ipython3
     
    -    # RidgeCV uses generalized cross validation to select hyperparameter alpha 
    +    # RidgeCV uses generalized cross validation to select hyperparameter alpha
         elasticnetCV_model_z = linear_model.ElasticNetCV(l1_ratio=[.1, .5, .7, .9, .95, .99, 1], cv=5, n_alphas=len(alpha_grid), alphas=alpha_grid, random_state=42, verbose=True, n_jobs=5).fit(train_data_z, train_phen)
     
     
    +.. parsed-literal::
     
    -.. code:: ipython3
    -
    -    # RidgeCV uses generalized cross validation to select hyperparameter alpha 
    +    [Parallel(n_jobs=5)]: Using backend ThreadingBackend with 5 concurrent workers.
    +    ............................................................................................................./usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.21318694590257792, tolerance: 0.0423918944559644
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    ./usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.17936527851907158, tolerance: 0.03970345334827422
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    .../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.8618322913218321, tolerance: 0.04611195889050071
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    ./usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 11.57867990423236, tolerance: 0.0423918944559644
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    ./usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 10.2273489799189, tolerance: 0.03970345334827422
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    ................../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.4036642558553467, tolerance: 0.04401109832998077
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    .................../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 8.073063075099014, tolerance: 0.04382929483334259
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    ../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 18.227358858718446, tolerance: 0.04611195889050071
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    ............................................/usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 14.883650580549045, tolerance: 0.04401109832998077
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    ....................................../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.18805636326129616, tolerance: 0.04611195889050071
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    ............../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.0544661418971657, tolerance: 0.0423918944559644
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    ........................................................................................................./usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.1788130249701112, tolerance: 0.03970345334827422
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    ............/usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.13839227040918445, tolerance: 0.04611195889050071
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    ........................................................................................................../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.15009167262110168, tolerance: 0.04382929483334259
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    ........................................./usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.20204581109658193, tolerance: 0.03970345334827422
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    ............................/usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.09891903798924773, tolerance: 0.04611195889050071
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    ......................................................................./usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.13078279402705562, tolerance: 0.04382929483334259
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    ../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.18265009272980137, tolerance: 0.03970345334827422
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    ..../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.0877297694903234, tolerance: 0.04611195889050071
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    ............................................................................................../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.11087317503455552, tolerance: 0.04382929483334259
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    ...................../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.16051209546739642, tolerance: 0.03970345334827422
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    ..................................../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.07594686106816084, tolerance: 0.04611195889050071
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    ............................................................./usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.10611096508367268, tolerance: 0.04382929483334259
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    ...../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.15375414865695802, tolerance: 0.03970345334827422
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    ../usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_coordinate_descent.py:683: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Duality gap: 0.07308221069854426, tolerance: 0.04611195889050071
    +      model = cd_fast.enet_coordinate_descent_gram(
    +    ..[Parallel(n_jobs=5)]: Done  35 out of  35 | elapsed:    6.3s finished
    +
    +
    +.. code:: ipython3
    +
    +    # RidgeCV uses generalized cross validation to select hyperparameter alpha
         elasticnetCV_model_ct = linear_model.ElasticNetCV(l1_ratio=[.1, .5, .7, .9, .95, .99, 1], cv=5, n_alphas=len(alpha_grid), alphas=alpha_grid, random_state=42, verbose=True, n_jobs=5).fit(train_data_ct, train_phen)
     
     
    +.. parsed-literal::
    +
    +    [Parallel(n_jobs=5)]: Using backend ThreadingBackend with 5 concurrent workers.
    +    ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................[Parallel(n_jobs=5)]: Done  35 out of  35 | elapsed:    1.8s finished
    +
     
     .. code:: ipython3
     
    @@ -958,7 +999,7 @@ Elastic Net (Linear Regression + L1/L2 Regularization)
     
     
     
    -.. image:: other_predictive_models_files/other_predictive_models_72_0.png
    +.. image:: other_predictive_models_files/other_predictive_models_73_0.png
     
     
     .. code:: ipython3
    @@ -975,12 +1016,12 @@ Elastic Net (Linear Regression + L1/L2 Regularization)
     
     
     
    -.. image:: other_predictive_models_files/other_predictive_models_73_0.png
    +.. image:: other_predictive_models_files/other_predictive_models_74_0.png
     
     
     .. code:: ipython3
     
    -    elasticnet_model_z = linear_model.ElasticNet(alpha=elasticnetCV_model_z.alpha_, l1_ratio=elasticnetCV_model_z.l1_ratio_, fit_intercept=True, normalize=False, random_state=42).fit(train_data_z, train_phen)
    +    elasticnet_model_z = linear_model.ElasticNet(alpha=elasticnetCV_model_z.alpha_, l1_ratio=elasticnetCV_model_z.l1_ratio_, fit_intercept=True,  random_state=42).fit(train_data_z, train_phen)
         
         train_preds_en_model_z = elasticnet_model_z.predict(train_data_z)
         test_preds_en_model_z = elasticnet_model_z.predict(test_data_z)
    @@ -988,7 +1029,7 @@ Elastic Net (Linear Regression + L1/L2 Regularization)
         train_mae_z = metrics.mean_absolute_error(train_phen, train_preds_en_model_z)
         test_mae_z = metrics.mean_absolute_error(test_phen, test_preds_en_model_z)
         
    -    elasticnet_model_ct = linear_model.ElasticNet(alpha=elasticnetCV_model_ct.alpha_, l1_ratio=elasticnetCV_model_ct.l1_ratio_, fit_intercept=True, normalize=False, random_state=42).fit(train_data_ct, train_phen)
    +    elasticnet_model_ct = linear_model.ElasticNet(alpha=elasticnetCV_model_ct.alpha_, l1_ratio=elasticnetCV_model_ct.l1_ratio_, fit_intercept=True, random_state=42).fit(train_data_ct, train_phen)
         
         train_preds_en_model_ct = elasticnet_model_ct.predict(train_data_ct)
         test_preds_en_model_ct = elasticnet_model_ct.predict(test_data_ct)
    @@ -1008,3 +1049,5 @@ Elastic Net (Linear Regression + L1/L2 Regularization)
         Test MAE Z model: 0.680
         Train MAE CT model: 0.633
         Test MAE CT model: 0.692
    +
    +
    diff --git a/doc/build/html/_static/_sphinx_javascript_frameworks_compat.js b/doc/build/html/_static/_sphinx_javascript_frameworks_compat.js
    index 8549469d..81415803 100644
    --- a/doc/build/html/_static/_sphinx_javascript_frameworks_compat.js
    +++ b/doc/build/html/_static/_sphinx_javascript_frameworks_compat.js
    @@ -1,20 +1,9 @@
    -/*
    - * _sphinx_javascript_frameworks_compat.js
    - * ~~~~~~~~~~
    - *
    - * Compatability shim for jQuery and underscores.js.
    - *
    - * WILL BE REMOVED IN Sphinx 6.0
    - * xref RemovedInSphinx60Warning
    +/* Compatability shim for jQuery and underscores.js.
      *
    + * Copyright Sphinx contributors
    + * Released under the two clause BSD licence
      */
     
    -/**
    - * select a different prefix for underscore
    - */
    -$u = _.noConflict();
    -
    -
     /**
      * small helper function to urldecode strings
      *
    diff --git a/doc/build/html/_static/basic.css b/doc/build/html/_static/basic.css
    index 08896771..7ebbd6d0 100644
    --- a/doc/build/html/_static/basic.css
    +++ b/doc/build/html/_static/basic.css
    @@ -1,12 +1,5 @@
     /*
    - * basic.css
    - * ~~~~~~~~~
    - *
      * Sphinx stylesheet -- basic theme.
    - *
    - * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
    - * :license: BSD, see LICENSE for details.
    - *
      */
     
     /* -- main layout ----------------------------------------------------------- */
    @@ -115,15 +108,11 @@ img {
     /* -- search page ----------------------------------------------------------- */
     
     ul.search {
    -    margin: 10px 0 0 20px;
    -    padding: 0;
    +    margin-top: 10px;
     }
     
     ul.search li {
    -    padding: 5px 0 5px 20px;
    -    background-image: url(file.png);
    -    background-repeat: no-repeat;
    -    background-position: 0 7px;
    +    padding: 5px 0;
     }
     
     ul.search li a {
    @@ -237,6 +226,10 @@ a.headerlink {
         visibility: hidden;
     }
     
    +a:visited {
    +    color: #551A8B;
    +}
    +
     h1:hover > a.headerlink,
     h2:hover > a.headerlink,
     h3:hover > a.headerlink,
    @@ -324,17 +317,17 @@ aside.sidebar {
     p.sidebar-title {
         font-weight: bold;
     }
    +
     nav.contents,
     aside.topic,
    -
     div.admonition, div.topic, blockquote {
         clear: left;
     }
     
     /* -- topics ---------------------------------------------------------------- */
    +
     nav.contents,
     aside.topic,
    -
     div.topic {
         border: 1px solid #ccc;
         padding: 7px;
    @@ -375,7 +368,6 @@ div.sidebar > :last-child,
     aside.sidebar > :last-child,
     nav.contents > :last-child,
     aside.topic > :last-child,
    -
     div.topic > :last-child,
     div.admonition > :last-child {
         margin-bottom: 0;
    @@ -385,7 +377,6 @@ div.sidebar::after,
     aside.sidebar::after,
     nav.contents::after,
     aside.topic::after,
    -
     div.topic::after,
     div.admonition::after,
     blockquote::after {
    @@ -611,25 +602,6 @@ ul.simple p {
         margin-bottom: 0;
     }
     
    -/* Docutils 0.17 and older (footnotes & citations) */
    -dl.footnote > dt,
    -dl.citation > dt {
    -    float: left;
    -    margin-right: 0.5em;
    -}
    -
    -dl.footnote > dd,
    -dl.citation > dd {
    -    margin-bottom: 0em;
    -}
    -
    -dl.footnote > dd:after,
    -dl.citation > dd:after {
    -    content: "";
    -    clear: both;
    -}
    -
    -/* Docutils 0.18+ (footnotes & citations) */
     aside.footnote > span,
     div.citation > span {
         float: left;
    @@ -654,8 +626,6 @@ div.citation > p:last-of-type:after {
         clear: both;
     }
     
    -/* Footnotes & citations ends */
    -
     dl.field-list {
         display: grid;
         grid-template-columns: fit-content(30%) auto;
    @@ -668,10 +638,6 @@ dl.field-list > dt {
         padding-right: 5px;
     }
     
    -dl.field-list > dt:after {
    -    content: ":";
    -}
    -
     dl.field-list > dd {
         padding-left: 0.5em;
         margin-top: 0em;
    @@ -697,6 +663,16 @@ dd {
         margin-left: 30px;
     }
     
    +.sig dd {
    +    margin-top: 0px;
    +    margin-bottom: 0px;
    +}
    +
    +.sig dl {
    +    margin-top: 0px;
    +    margin-bottom: 0px;
    +}
    +
     dl > dd:last-child,
     dl > dd:last-child > :last-child {
         margin-bottom: 0;
    @@ -765,6 +741,14 @@ abbr, acronym {
         cursor: help;
     }
     
    +.translated {
    +    background-color: rgba(207, 255, 207, 0.2)
    +}
    +
    +.untranslated {
    +    background-color: rgba(255, 207, 207, 0.2)
    +}
    +
     /* -- code displays --------------------------------------------------------- */
     
     pre {
    diff --git a/doc/build/html/_static/css/badge_only.css b/doc/build/html/_static/css/badge_only.css
    index c718cee4..88ba55b9 100644
    --- a/doc/build/html/_static/css/badge_only.css
    +++ b/doc/build/html/_static/css/badge_only.css
    @@ -1 +1 @@
    -.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}
    \ No newline at end of file
    +.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions .rst-other-versions .rtd-current-item{font-weight:700}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}#flyout-search-form{padding:6px}
    \ No newline at end of file
    diff --git a/doc/build/html/_static/css/theme.css b/doc/build/html/_static/css/theme.css
    index 19a446a0..0f14f106 100644
    --- a/doc/build/html/_static/css/theme.css
    +++ b/doc/build/html/_static/css/theme.css
    @@ -1,4 +1,4 @@
     html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden],audio:not([controls]){display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}blockquote{margin:0}dfn{font-style:italic}ins{background:#ff9;text-decoration:none}ins,mark{color:#000}mark{background:#ff0;font-style:italic;font-weight:700}.rst-content code,.rst-content tt,code,kbd,pre,samp{font-family:monospace,serif;_font-family:courier new,monospace;font-size:1em}pre{white-space:pre}q{quotes:none}q:after,q:before{content:"";content:none}small{font-size:85%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dl,ol,ul{margin:0;padding:0;list-style:none;list-style-image:none}li{list-style:none}dd{margin:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;max-width:100%}svg:not(:root){overflow:hidden}figure,form{margin:0}label{cursor:pointer}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}textarea{resize:vertical}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}.ir{display:block;border:0;text-indent:-999em;overflow:hidden;background-color:transparent;background-repeat:no-repeat;text-align:left;direction:ltr;*line-height:0}.ir br{display:none}.hidden{display:none!important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.relative{position:relative}big,small{font-size:100%}@media print{body,html,section{background:none!important}*{box-shadow:none!important;text-shadow:none!important;filter:none!important;-ms-filter:none!important}a,a:visited{text-decoration:underline}.ir a:after,a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}.rst-content .toctree-wrapper>p.caption,h2,h3,p{orphans:3;widows:3}.rst-content .toctree-wrapper>p.caption,h2,h3{page-break-after:avoid}}.btn,.fa:before,.icon:before,.rst-content .admonition,.rst-content .admonition-title:before,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .code-block-caption .headerlink:before,.rst-content .danger,.rst-content .eqno .headerlink:before,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-alert,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before,input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}/*!
      *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
      *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
    - */@font-face{font-family:FontAwesome;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713);src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix&v=4.7.0) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa-pull-left.icon,.fa.fa-pull-left,.rst-content .code-block-caption .fa-pull-left.headerlink,.rst-content .eqno .fa-pull-left.headerlink,.rst-content .fa-pull-left.admonition-title,.rst-content code.download span.fa-pull-left:first-child,.rst-content dl dt .fa-pull-left.headerlink,.rst-content h1 .fa-pull-left.headerlink,.rst-content h2 .fa-pull-left.headerlink,.rst-content h3 .fa-pull-left.headerlink,.rst-content h4 .fa-pull-left.headerlink,.rst-content h5 .fa-pull-left.headerlink,.rst-content h6 .fa-pull-left.headerlink,.rst-content p .fa-pull-left.headerlink,.rst-content table>caption .fa-pull-left.headerlink,.rst-content tt.download span.fa-pull-left:first-child,.wy-menu-vertical li.current>a button.fa-pull-left.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-left.toctree-expand,.wy-menu-vertical li button.fa-pull-left.toctree-expand{margin-right:.3em}.fa-pull-right.icon,.fa.fa-pull-right,.rst-content .code-block-caption .fa-pull-right.headerlink,.rst-content .eqno .fa-pull-right.headerlink,.rst-content .fa-pull-right.admonition-title,.rst-content code.download span.fa-pull-right:first-child,.rst-content dl dt .fa-pull-right.headerlink,.rst-content h1 .fa-pull-right.headerlink,.rst-content h2 .fa-pull-right.headerlink,.rst-content h3 .fa-pull-right.headerlink,.rst-content h4 .fa-pull-right.headerlink,.rst-content h5 .fa-pull-right.headerlink,.rst-content h6 .fa-pull-right.headerlink,.rst-content p .fa-pull-right.headerlink,.rst-content table>caption .fa-pull-right.headerlink,.rst-content tt.download span.fa-pull-right:first-child,.wy-menu-vertical li.current>a button.fa-pull-right.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-right.toctree-expand,.wy-menu-vertical li button.fa-pull-right.toctree-expand{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.pull-left.icon,.rst-content .code-block-caption .pull-left.headerlink,.rst-content .eqno .pull-left.headerlink,.rst-content .pull-left.admonition-title,.rst-content code.download span.pull-left:first-child,.rst-content dl dt .pull-left.headerlink,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content p .pull-left.headerlink,.rst-content table>caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.wy-menu-vertical li.current>a button.pull-left.toctree-expand,.wy-menu-vertical li.on a button.pull-left.toctree-expand,.wy-menu-vertical li button.pull-left.toctree-expand{margin-right:.3em}.fa.pull-right,.pull-right.icon,.rst-content .code-block-caption .pull-right.headerlink,.rst-content .eqno .pull-right.headerlink,.rst-content .pull-right.admonition-title,.rst-content code.download span.pull-right:first-child,.rst-content dl dt .pull-right.headerlink,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content p .pull-right.headerlink,.rst-content table>caption .pull-right.headerlink,.rst-content tt.download span.pull-right:first-child,.wy-menu-vertical li.current>a button.pull-right.toctree-expand,.wy-menu-vertical li.on a button.pull-right.toctree-expand,.wy-menu-vertical li button.pull-right.toctree-expand{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before,.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.rst-content .admonition-title:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.icon-caret-down:before,.wy-dropdown .caret:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before,.wy-menu-vertical li button.toctree-expand:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before,.icon-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:""}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-sign-language:before,.fa-signing:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-pied-piper:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-address-card:before,.fa-vcard:before{content:""}.fa-address-card-o:before,.fa-vcard-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{font-family:inherit}.fa:before,.icon:before,.rst-content .admonition-title:before,.rst-content .code-block-caption .headerlink:before,.rst-content .eqno .headerlink:before,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before{font-family:FontAwesome;display:inline-block;font-style:normal;font-weight:400;line-height:1;text-decoration:inherit}.rst-content .code-block-caption a .headerlink,.rst-content .eqno a .headerlink,.rst-content a .admonition-title,.rst-content code.download a span:first-child,.rst-content dl dt a .headerlink,.rst-content h1 a .headerlink,.rst-content h2 a .headerlink,.rst-content h3 a .headerlink,.rst-content h4 a .headerlink,.rst-content h5 a .headerlink,.rst-content h6 a .headerlink,.rst-content p.caption a .headerlink,.rst-content p a .headerlink,.rst-content table>caption a .headerlink,.rst-content tt.download a span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li a button.toctree-expand,a .fa,a .icon,a .rst-content .admonition-title,a .rst-content .code-block-caption .headerlink,a .rst-content .eqno .headerlink,a .rst-content code.download span:first-child,a .rst-content dl dt .headerlink,a .rst-content h1 .headerlink,a .rst-content h2 .headerlink,a .rst-content h3 .headerlink,a .rst-content h4 .headerlink,a .rst-content h5 .headerlink,a .rst-content h6 .headerlink,a .rst-content p.caption .headerlink,a .rst-content p .headerlink,a .rst-content table>caption .headerlink,a .rst-content tt.download span:first-child,a .wy-menu-vertical li button.toctree-expand{display:inline-block;text-decoration:inherit}.btn .fa,.btn .icon,.btn .rst-content .admonition-title,.btn .rst-content .code-block-caption .headerlink,.btn .rst-content .eqno .headerlink,.btn .rst-content code.download span:first-child,.btn .rst-content dl dt .headerlink,.btn .rst-content h1 .headerlink,.btn .rst-content h2 .headerlink,.btn .rst-content h3 .headerlink,.btn .rst-content h4 .headerlink,.btn .rst-content h5 .headerlink,.btn .rst-content h6 .headerlink,.btn .rst-content p .headerlink,.btn .rst-content table>caption .headerlink,.btn .rst-content tt.download span:first-child,.btn .wy-menu-vertical li.current>a button.toctree-expand,.btn .wy-menu-vertical li.on a button.toctree-expand,.btn .wy-menu-vertical li button.toctree-expand,.nav .fa,.nav .icon,.nav .rst-content .admonition-title,.nav .rst-content .code-block-caption .headerlink,.nav .rst-content .eqno .headerlink,.nav .rst-content code.download span:first-child,.nav .rst-content dl dt .headerlink,.nav .rst-content h1 .headerlink,.nav .rst-content h2 .headerlink,.nav .rst-content h3 .headerlink,.nav .rst-content h4 .headerlink,.nav .rst-content h5 .headerlink,.nav .rst-content h6 .headerlink,.nav .rst-content p .headerlink,.nav .rst-content table>caption .headerlink,.nav .rst-content tt.download span:first-child,.nav .wy-menu-vertical li.current>a button.toctree-expand,.nav .wy-menu-vertical li.on a button.toctree-expand,.nav .wy-menu-vertical li button.toctree-expand,.rst-content .btn .admonition-title,.rst-content .code-block-caption .btn .headerlink,.rst-content .code-block-caption .nav .headerlink,.rst-content .eqno .btn .headerlink,.rst-content .eqno .nav .headerlink,.rst-content .nav .admonition-title,.rst-content code.download .btn span:first-child,.rst-content code.download .nav span:first-child,.rst-content dl dt .btn .headerlink,.rst-content dl dt .nav .headerlink,.rst-content h1 .btn .headerlink,.rst-content h1 .nav .headerlink,.rst-content h2 .btn .headerlink,.rst-content h2 .nav .headerlink,.rst-content h3 .btn .headerlink,.rst-content h3 .nav .headerlink,.rst-content h4 .btn .headerlink,.rst-content h4 .nav .headerlink,.rst-content h5 .btn .headerlink,.rst-content h5 .nav .headerlink,.rst-content h6 .btn .headerlink,.rst-content h6 .nav .headerlink,.rst-content p .btn .headerlink,.rst-content p .nav .headerlink,.rst-content table>caption .btn .headerlink,.rst-content table>caption .nav .headerlink,.rst-content tt.download .btn span:first-child,.rst-content tt.download .nav span:first-child,.wy-menu-vertical li .btn button.toctree-expand,.wy-menu-vertical li.current>a .btn button.toctree-expand,.wy-menu-vertical li.current>a .nav button.toctree-expand,.wy-menu-vertical li .nav button.toctree-expand,.wy-menu-vertical li.on a .btn button.toctree-expand,.wy-menu-vertical li.on a .nav button.toctree-expand{display:inline}.btn .fa-large.icon,.btn .fa.fa-large,.btn .rst-content .code-block-caption .fa-large.headerlink,.btn .rst-content .eqno .fa-large.headerlink,.btn .rst-content .fa-large.admonition-title,.btn .rst-content code.download span.fa-large:first-child,.btn .rst-content dl dt .fa-large.headerlink,.btn .rst-content h1 .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.btn .rst-content p .fa-large.headerlink,.btn .rst-content table>caption .fa-large.headerlink,.btn .rst-content tt.download span.fa-large:first-child,.btn .wy-menu-vertical li button.fa-large.toctree-expand,.nav .fa-large.icon,.nav .fa.fa-large,.nav .rst-content .code-block-caption .fa-large.headerlink,.nav .rst-content .eqno .fa-large.headerlink,.nav .rst-content .fa-large.admonition-title,.nav .rst-content code.download span.fa-large:first-child,.nav .rst-content dl dt .fa-large.headerlink,.nav .rst-content h1 .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.nav .rst-content p .fa-large.headerlink,.nav .rst-content table>caption .fa-large.headerlink,.nav .rst-content tt.download span.fa-large:first-child,.nav .wy-menu-vertical li button.fa-large.toctree-expand,.rst-content .btn .fa-large.admonition-title,.rst-content .code-block-caption .btn .fa-large.headerlink,.rst-content .code-block-caption .nav .fa-large.headerlink,.rst-content .eqno .btn .fa-large.headerlink,.rst-content .eqno .nav .fa-large.headerlink,.rst-content .nav .fa-large.admonition-title,.rst-content code.download .btn span.fa-large:first-child,.rst-content code.download .nav span.fa-large:first-child,.rst-content dl dt .btn .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.rst-content p .btn .fa-large.headerlink,.rst-content p .nav .fa-large.headerlink,.rst-content table>caption .btn .fa-large.headerlink,.rst-content table>caption .nav .fa-large.headerlink,.rst-content tt.download .btn span.fa-large:first-child,.rst-content tt.download .nav span.fa-large:first-child,.wy-menu-vertical li .btn button.fa-large.toctree-expand,.wy-menu-vertical li .nav button.fa-large.toctree-expand{line-height:.9em}.btn .fa-spin.icon,.btn .fa.fa-spin,.btn .rst-content .code-block-caption .fa-spin.headerlink,.btn .rst-content .eqno .fa-spin.headerlink,.btn .rst-content .fa-spin.admonition-title,.btn .rst-content code.download span.fa-spin:first-child,.btn .rst-content dl dt .fa-spin.headerlink,.btn .rst-content h1 .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.btn .rst-content p .fa-spin.headerlink,.btn .rst-content table>caption .fa-spin.headerlink,.btn .rst-content tt.download span.fa-spin:first-child,.btn .wy-menu-vertical li button.fa-spin.toctree-expand,.nav .fa-spin.icon,.nav .fa.fa-spin,.nav .rst-content .code-block-caption .fa-spin.headerlink,.nav .rst-content .eqno .fa-spin.headerlink,.nav .rst-content .fa-spin.admonition-title,.nav .rst-content code.download span.fa-spin:first-child,.nav .rst-content dl dt .fa-spin.headerlink,.nav .rst-content h1 .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.nav .rst-content p .fa-spin.headerlink,.nav .rst-content table>caption .fa-spin.headerlink,.nav .rst-content tt.download span.fa-spin:first-child,.nav .wy-menu-vertical li button.fa-spin.toctree-expand,.rst-content .btn .fa-spin.admonition-title,.rst-content .code-block-caption .btn .fa-spin.headerlink,.rst-content .code-block-caption .nav .fa-spin.headerlink,.rst-content .eqno .btn .fa-spin.headerlink,.rst-content .eqno .nav .fa-spin.headerlink,.rst-content .nav .fa-spin.admonition-title,.rst-content code.download .btn span.fa-spin:first-child,.rst-content code.download .nav span.fa-spin:first-child,.rst-content dl dt .btn .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.rst-content p .btn .fa-spin.headerlink,.rst-content p .nav .fa-spin.headerlink,.rst-content table>caption .btn .fa-spin.headerlink,.rst-content table>caption .nav .fa-spin.headerlink,.rst-content tt.download .btn span.fa-spin:first-child,.rst-content tt.download .nav span.fa-spin:first-child,.wy-menu-vertical li .btn button.fa-spin.toctree-expand,.wy-menu-vertical li .nav button.fa-spin.toctree-expand{display:inline-block}.btn.fa:before,.btn.icon:before,.rst-content .btn.admonition-title:before,.rst-content .code-block-caption .btn.headerlink:before,.rst-content .eqno .btn.headerlink:before,.rst-content code.download span.btn:first-child:before,.rst-content dl dt .btn.headerlink:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content p .btn.headerlink:before,.rst-content table>caption .btn.headerlink:before,.rst-content tt.download span.btn:first-child:before,.wy-menu-vertical li button.btn.toctree-expand:before{opacity:.5;-webkit-transition:opacity .05s ease-in;-moz-transition:opacity .05s ease-in;transition:opacity .05s ease-in}.btn.fa:hover:before,.btn.icon:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content .code-block-caption .btn.headerlink:hover:before,.rst-content .eqno .btn.headerlink:hover:before,.rst-content code.download span.btn:first-child:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content p .btn.headerlink:hover:before,.rst-content table>caption .btn.headerlink:hover:before,.rst-content tt.download span.btn:first-child:hover:before,.wy-menu-vertical li button.btn.toctree-expand:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .icon:before,.btn-mini .rst-content .admonition-title:before,.btn-mini .rst-content .code-block-caption .headerlink:before,.btn-mini .rst-content .eqno .headerlink:before,.btn-mini .rst-content code.download span:first-child:before,.btn-mini .rst-content dl dt .headerlink:before,.btn-mini .rst-content h1 .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.btn-mini .rst-content p .headerlink:before,.btn-mini .rst-content table>caption .headerlink:before,.btn-mini .rst-content tt.download span:first-child:before,.btn-mini .wy-menu-vertical li button.toctree-expand:before,.rst-content .btn-mini .admonition-title:before,.rst-content .code-block-caption .btn-mini .headerlink:before,.rst-content .eqno .btn-mini .headerlink:before,.rst-content code.download .btn-mini span:first-child:before,.rst-content dl dt .btn-mini .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.rst-content p .btn-mini .headerlink:before,.rst-content table>caption .btn-mini .headerlink:before,.rst-content tt.download .btn-mini span:first-child:before,.wy-menu-vertical li .btn-mini button.toctree-expand:before{font-size:14px;vertical-align:-15%}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.wy-alert{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.rst-content .admonition-title,.wy-alert-title{font-weight:700;display:block;color:#fff;background:#6ab0de;padding:6px 12px;margin:-12px -12px 12px}.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.admonition,.rst-content .wy-alert-danger.admonition-todo,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.wy-alert.wy-alert-danger{background:#fdf3f2}.rst-content .danger .admonition-title,.rst-content .danger .wy-alert-title,.rst-content .error .admonition-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.rst-content .wy-alert-danger.admonition .admonition-title,.rst-content .wy-alert-danger.admonition .wy-alert-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.wy-alert.wy-alert-danger .wy-alert-title{background:#f29f97}.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .warning,.rst-content .wy-alert-warning.admonition,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.note,.rst-content .wy-alert-warning.seealso,.rst-content .wy-alert-warning.tip,.wy-alert.wy-alert-warning{background:#ffedcc}.rst-content .admonition-todo .admonition-title,.rst-content .admonition-todo .wy-alert-title,.rst-content .attention .admonition-title,.rst-content .attention .wy-alert-title,.rst-content .caution .admonition-title,.rst-content .caution .wy-alert-title,.rst-content .warning .admonition-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.admonition .admonition-title,.rst-content .wy-alert-warning.admonition .wy-alert-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.wy-alert.wy-alert-warning .wy-alert-title{background:#f0b37e}.rst-content .note,.rst-content .seealso,.rst-content .wy-alert-info.admonition,.rst-content .wy-alert-info.admonition-todo,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.wy-alert.wy-alert-info{background:#e7f2fa}.rst-content .note .admonition-title,.rst-content .note .wy-alert-title,.rst-content .seealso .admonition-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .admonition-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.rst-content .wy-alert-info.admonition .admonition-title,.rst-content .wy-alert-info.admonition .wy-alert-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.wy-alert.wy-alert-info .wy-alert-title{background:#6ab0de}.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.admonition,.rst-content .wy-alert-success.admonition-todo,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.warning,.wy-alert.wy-alert-success{background:#dbfaf4}.rst-content .hint .admonition-title,.rst-content .hint .wy-alert-title,.rst-content .important .admonition-title,.rst-content .important .wy-alert-title,.rst-content .tip .admonition-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .admonition-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.rst-content .wy-alert-success.admonition .admonition-title,.rst-content .wy-alert-success.admonition .wy-alert-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.wy-alert.wy-alert-success .wy-alert-title{background:#1abc9c}.rst-content .wy-alert-neutral.admonition,.rst-content .wy-alert-neutral.admonition-todo,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.wy-alert.wy-alert-neutral{background:#f3f6f6}.rst-content .wy-alert-neutral.admonition-todo .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.rst-content .wy-alert-neutral.admonition .admonition-title,.rst-content .wy-alert-neutral.admonition .wy-alert-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.wy-alert.wy-alert-neutral .wy-alert-title{color:#404040;background:#e1e4e5}.rst-content .wy-alert-neutral.admonition-todo a,.rst-content .wy-alert-neutral.admonition a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.wy-alert.wy-alert-neutral a{color:#2980b9}.rst-content .admonition-todo p:last-child,.rst-content .admonition p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .note p:last-child,.rst-content .seealso p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.wy-alert p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all .3s ease-in;-moz-transition:all .3s ease-in;transition:all .3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27ae60}.wy-tray-container li.wy-tray-item-info{background:#2980b9}.wy-tray-container li.wy-tray-item-warning{background:#e67e22}.wy-tray-container li.wy-tray-item-danger{background:#e74c3c}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width:768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px;color:#fff;border:1px solid rgba(0,0,0,.1);background-color:#27ae60;text-decoration:none;font-weight:400;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 2px -1px hsla(0,0%,100%,.5),inset 0 -2px 0 0 rgba(0,0,0,.1);outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .1s linear;-moz-transition:all .1s linear;transition:all .1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.05),inset 0 2px 0 0 rgba(0,0,0,.1);padding:8px 12px 6px}.btn:visited{color:#fff}.btn-disabled,.btn-disabled:active,.btn-disabled:focus,.btn-disabled:hover,.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980b9!important}.btn-info:hover{background-color:#2e8ece!important}.btn-neutral{background-color:#f3f6f6!important;color:#404040!important}.btn-neutral:hover{background-color:#e5ebeb!important;color:#404040}.btn-neutral:visited{color:#404040!important}.btn-success{background-color:#27ae60!important}.btn-success:hover{background-color:#295!important}.btn-danger{background-color:#e74c3c!important}.btn-danger:hover{background-color:#ea6153!important}.btn-warning{background-color:#e67e22!important}.btn-warning:hover{background-color:#e98b39!important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f!important}.btn-link{background-color:transparent!important;color:#2980b9;box-shadow:none;border-color:transparent!important}.btn-link:active,.btn-link:hover{background-color:transparent!important;color:#409ad5!important;box-shadow:none}.btn-link:visited{color:#9b59b6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:after,.wy-btn-group:before{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-active .wy-dropdown-menu{display:block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:1px solid #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980b9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:1px solid #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type=search]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980b9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;left:auto;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned .wy-help-inline,.wy-form-aligned input,.wy-form-aligned label,.wy-form-aligned select,.wy-form-aligned textarea{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{margin:0}fieldset,legend{border:0;padding:0}legend{width:100%;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label,legend{display:block}label{margin:0 0 .3125em;color:#333;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;max-width:1200px;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:after,.wy-control-group:before{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#e74c3c}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full input[type=color],.wy-control-group .wy-form-full input[type=date],.wy-control-group .wy-form-full input[type=datetime-local],.wy-control-group .wy-form-full input[type=datetime],.wy-control-group .wy-form-full input[type=email],.wy-control-group .wy-form-full input[type=month],.wy-control-group .wy-form-full input[type=number],.wy-control-group .wy-form-full input[type=password],.wy-control-group .wy-form-full input[type=search],.wy-control-group .wy-form-full input[type=tel],.wy-control-group .wy-form-full input[type=text],.wy-control-group .wy-form-full input[type=time],.wy-control-group .wy-form-full input[type=url],.wy-control-group .wy-form-full input[type=week],.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves input[type=color],.wy-control-group .wy-form-halves input[type=date],.wy-control-group .wy-form-halves input[type=datetime-local],.wy-control-group .wy-form-halves input[type=datetime],.wy-control-group .wy-form-halves input[type=email],.wy-control-group .wy-form-halves input[type=month],.wy-control-group .wy-form-halves input[type=number],.wy-control-group .wy-form-halves input[type=password],.wy-control-group .wy-form-halves input[type=search],.wy-control-group .wy-form-halves input[type=tel],.wy-control-group .wy-form-halves input[type=text],.wy-control-group .wy-form-halves input[type=time],.wy-control-group .wy-form-halves input[type=url],.wy-control-group .wy-form-halves input[type=week],.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds input[type=color],.wy-control-group .wy-form-thirds input[type=date],.wy-control-group .wy-form-thirds input[type=datetime-local],.wy-control-group .wy-form-thirds input[type=datetime],.wy-control-group .wy-form-thirds input[type=email],.wy-control-group .wy-form-thirds input[type=month],.wy-control-group .wy-form-thirds input[type=number],.wy-control-group .wy-form-thirds input[type=password],.wy-control-group .wy-form-thirds input[type=search],.wy-control-group .wy-form-thirds input[type=tel],.wy-control-group .wy-form-thirds input[type=text],.wy-control-group .wy-form-thirds input[type=time],.wy-control-group .wy-form-thirds input[type=url],.wy-control-group .wy-form-thirds input[type=week],.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full{float:left;display:block;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.35765%;width:48.82117%}.wy-control-group .wy-form-halves:last-child,.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(odd){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.35765%;width:31.76157%}.wy-control-group .wy-form-thirds:last-child,.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control,.wy-control-no-input{margin:6px 0 0;font-size:90%}.wy-control-no-input{display:inline-block}.wy-control-group.fluid-input input[type=color],.wy-control-group.fluid-input input[type=date],.wy-control-group.fluid-input input[type=datetime-local],.wy-control-group.fluid-input input[type=datetime],.wy-control-group.fluid-input input[type=email],.wy-control-group.fluid-input input[type=month],.wy-control-group.fluid-input input[type=number],.wy-control-group.fluid-input input[type=password],.wy-control-group.fluid-input input[type=search],.wy-control-group.fluid-input input[type=tel],.wy-control-group.fluid-input input[type=text],.wy-control-group.fluid-input input[type=time],.wy-control-group.fluid-input input[type=url],.wy-control-group.fluid-input input[type=week]{width:100%}.wy-form-message-inline{padding-left:.3em;color:#666;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:.3125em;font-style:italic}.wy-form-message p{font-size:inherit;font-style:italic;margin-bottom:6px}.wy-form-message p:last-child{margin-bottom:0}input{line-height:normal}input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;*overflow:visible}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}input[type=datetime-local]{padding:.34375em .625em}input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{padding:0;margin-right:.3125em;*height:13px;*width:13px}input[type=checkbox],input[type=radio],input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus{outline:0;outline:thin dotted\9;border-color:#333}input.no-focus:focus{border-color:#ccc!important}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:thin dotted #333;outline:1px auto #129fea}input[type=color][disabled],input[type=date][disabled],input[type=datetime-local][disabled],input[type=datetime][disabled],input[type=email][disabled],input[type=month][disabled],input[type=number][disabled],input[type=password][disabled],input[type=search][disabled],input[type=tel][disabled],input[type=text][disabled],input[type=time][disabled],input[type=url][disabled],input[type=week][disabled]{cursor:not-allowed;background-color:#fafafa}input:focus:invalid,select:focus:invalid,textarea:focus:invalid{color:#e74c3c;border:1px solid #e74c3c}input:focus:invalid:focus,select:focus:invalid:focus,textarea:focus:invalid:focus{border-color:#e74c3c}input[type=checkbox]:focus:invalid:focus,input[type=file]:focus:invalid:focus,input[type=radio]:focus:invalid:focus{outline-color:#e74c3c}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif}select,textarea{padding:.5em .625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}input[readonly],select[disabled],select[readonly],textarea[disabled],textarea[readonly]{cursor:not-allowed;background-color:#fafafa}input[type=checkbox][disabled],input[type=radio][disabled]{cursor:not-allowed}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap;padding:6px}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{line-height:27px;padding:0 8px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:1px solid #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-switch{position:relative;display:block;height:24px;margin-top:12px;cursor:pointer}.wy-switch:before{left:0;top:0;width:36px;height:12px;background:#ccc}.wy-switch:after,.wy-switch:before{position:absolute;content:"";display:block;border-radius:4px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wy-switch:after{width:18px;height:18px;background:#999;left:-3px;top:-3px}.wy-switch span{position:absolute;left:48px;display:block;font-size:12px;color:#ccc;line-height:1}.wy-switch.active:before{background:#1e8449}.wy-switch.active:after{left:24px;background:#27ae60}.wy-switch.disabled{cursor:not-allowed;opacity:.8}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#e74c3c}.wy-control-group.wy-control-group-error input[type=color],.wy-control-group.wy-control-group-error input[type=date],.wy-control-group.wy-control-group-error input[type=datetime-local],.wy-control-group.wy-control-group-error input[type=datetime],.wy-control-group.wy-control-group-error input[type=email],.wy-control-group.wy-control-group-error input[type=month],.wy-control-group.wy-control-group-error input[type=number],.wy-control-group.wy-control-group-error input[type=password],.wy-control-group.wy-control-group-error input[type=search],.wy-control-group.wy-control-group-error input[type=tel],.wy-control-group.wy-control-group-error input[type=text],.wy-control-group.wy-control-group-error input[type=time],.wy-control-group.wy-control-group-error input[type=url],.wy-control-group.wy-control-group-error input[type=week],.wy-control-group.wy-control-group-error textarea{border:1px solid #e74c3c}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:.5em .625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27ae60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#e74c3c}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#e67e22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980b9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width:480px){.wy-form button[type=submit]{margin:.7em 0 0}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=text],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week],.wy-form label{margin-bottom:.3em;display:block}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0}.wy-form-message,.wy-form-message-inline,.wy-form .wy-help-inline{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width:768px){.tablet-hide{display:none}}@media screen and (max-width:480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.rst-content table.docutils,.rst-content table.field-list,.wy-table{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.rst-content table.docutils caption,.rst-content table.field-list caption,.wy-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.rst-content table.docutils td,.rst-content table.docutils th,.rst-content table.field-list td,.rst-content table.field-list th,.wy-table td,.wy-table th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.rst-content table.docutils td:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list td:first-child,.rst-content table.field-list th:first-child,.wy-table td:first-child,.wy-table th:first-child{border-left-width:0}.rst-content table.docutils thead,.rst-content table.field-list thead,.wy-table thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.rst-content table.docutils thead th,.rst-content table.field-list thead th,.wy-table thead th{font-weight:700;border-bottom:2px solid #e1e4e5}.rst-content table.docutils td,.rst-content table.field-list td,.wy-table td{background-color:transparent;vertical-align:middle}.rst-content table.docutils td p,.rst-content table.field-list td p,.wy-table td p{line-height:18px}.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child,.wy-table td p:last-child{margin-bottom:0}.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min,.wy-table .wy-table-cell-min{width:1%;padding-right:0}.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:grey;font-size:90%}.wy-table-tertiary{color:grey;font-size:80%}.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td,.wy-table-backed,.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td{background-color:#f3f6f6}.rst-content table.docutils,.wy-table-bordered-all{border:1px solid #e1e4e5}.rst-content table.docutils td,.wy-table-bordered-all td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.rst-content table.docutils tbody>tr:last-child td,.wy-table-bordered-all tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0!important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980b9;text-decoration:none;cursor:pointer}a:hover{color:#3091d1}a:visited{color:#9b59b6}html{height:100%}body,html{overflow-x:hidden}body{font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;font-weight:400;color:#404040;min-height:100%;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#e67e22!important}a.wy-text-warning:hover{color:#eb9950!important}.wy-text-info{color:#2980b9!important}a.wy-text-info:hover{color:#409ad5!important}.wy-text-success{color:#27ae60!important}a.wy-text-success:hover{color:#36d278!important}.wy-text-danger{color:#e74c3c!important}a.wy-text-danger:hover{color:#ed7669!important}.wy-text-neutral{color:#404040!important}a.wy-text-neutral:hover{color:#595959!important}.rst-content .toctree-wrapper>p.caption,h1,h2,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif}p{line-height:24px;font-size:16px;margin:0 0 24px}h1{font-size:175%}.rst-content .toctree-wrapper>p.caption,h2{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}.rst-content code,.rst-content tt,code{white-space:nowrap;max-width:100%;background:#fff;border:1px solid #e1e4e5;font-size:75%;padding:0 5px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#e74c3c;overflow-x:auto}.rst-content tt.code-large,code.code-large{font-size:90%}.rst-content .section ul,.rst-content .toctree-wrapper ul,.rst-content section ul,.wy-plain-list-disc,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.rst-content .section ul li,.rst-content .toctree-wrapper ul li,.rst-content section ul li,.wy-plain-list-disc li,article ul li{list-style:disc;margin-left:24px}.rst-content .section ul li p:last-child,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li p:last-child,.rst-content .toctree-wrapper ul li ul,.rst-content section ul li p:last-child,.rst-content section ul li ul,.wy-plain-list-disc li p:last-child,.wy-plain-list-disc li ul,article ul li p:last-child,article ul li ul{margin-bottom:0}.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,.rst-content section ul li li,.wy-plain-list-disc li li,article ul li li{list-style:circle}.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,.rst-content section ul li li li,.wy-plain-list-disc li li li,article ul li li li{list-style:square}.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,.rst-content section ul li ol li,.wy-plain-list-disc li ol li,article ul li ol li{list-style:decimal}.rst-content .section ol,.rst-content .section ol.arabic,.rst-content .toctree-wrapper ol,.rst-content .toctree-wrapper ol.arabic,.rst-content section ol,.rst-content section ol.arabic,.wy-plain-list-decimal,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.rst-content .section ol.arabic li,.rst-content .section ol li,.rst-content .toctree-wrapper ol.arabic li,.rst-content .toctree-wrapper ol li,.rst-content section ol.arabic li,.rst-content section ol li,.wy-plain-list-decimal li,article ol li{list-style:decimal;margin-left:24px}.rst-content .section ol.arabic li ul,.rst-content .section ol li p:last-child,.rst-content .section ol li ul,.rst-content .toctree-wrapper ol.arabic li ul,.rst-content .toctree-wrapper ol li p:last-child,.rst-content .toctree-wrapper ol li ul,.rst-content section ol.arabic li ul,.rst-content section ol li p:last-child,.rst-content section ol li ul,.wy-plain-list-decimal li p:last-child,.wy-plain-list-decimal li ul,article ol li p:last-child,article ol li ul{margin-bottom:0}.rst-content .section ol.arabic li ul li,.rst-content .section ol li ul li,.rst-content .toctree-wrapper ol.arabic li ul li,.rst-content .toctree-wrapper ol li ul li,.rst-content section ol.arabic li ul li,.rst-content section ol li ul li,.wy-plain-list-decimal li ul li,article ol li ul li{list-style:disc}.wy-breadcrumbs{*zoom:1}.wy-breadcrumbs:after,.wy-breadcrumbs:before{display:table;content:""}.wy-breadcrumbs:after{clear:both}.wy-breadcrumbs>li{display:inline-block;padding-top:5px}.wy-breadcrumbs>li.wy-breadcrumbs-aside{float:right}.rst-content .wy-breadcrumbs>li code,.rst-content .wy-breadcrumbs>li tt,.wy-breadcrumbs>li .rst-content tt,.wy-breadcrumbs>li code{all:inherit;color:inherit}.breadcrumb-item:before{content:"/";color:#bbb;font-size:13px;padding:0 6px 0 3px}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width:480px){.wy-breadcrumbs-extra,.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}html{font-size:16px}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:after,.wy-menu-horiz:before{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz li,.wy-menu-horiz ul{display:inline-block}.wy-menu-horiz li:hover{background:hsla(0,0%,100%,.1)}.wy-menu-horiz li.divide-left{border-left:1px solid #404040}.wy-menu-horiz li.divide-right{border-right:1px solid #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical{width:300px}.wy-menu-vertical header,.wy-menu-vertical p.caption{color:#55a5d9;height:32px;line-height:32px;padding:0 1.618em;margin:12px 0 0;display:block;font-weight:700;text-transform:uppercase;font-size:85%;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:1px solid #404040}.wy-menu-vertical li.divide-bottom{border-bottom:1px solid #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:grey;border-right:1px solid #c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.rst-content .wy-menu-vertical li tt,.wy-menu-vertical li .rst-content tt,.wy-menu-vertical li code{border:none;background:inherit;color:inherit;padding-left:0;padding-right:0}.wy-menu-vertical li button.toctree-expand{display:block;float:left;margin-left:-1.2em;line-height:18px;color:#4d4d4d;border:none;background:none;padding:0}.wy-menu-vertical li.current>a,.wy-menu-vertical li.on a{color:#404040;font-weight:700;position:relative;background:#fcfcfc;border:none;padding:.4045em 1.618em}.wy-menu-vertical li.current>a:hover,.wy-menu-vertical li.on a:hover{background:#fcfcfc}.wy-menu-vertical li.current>a:hover button.toctree-expand,.wy-menu-vertical li.on a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand{display:block;line-height:18px;color:#333}.wy-menu-vertical li.toctree-l1.current>a{border-bottom:1px solid #c9c9c9;border-top:1px solid #c9c9c9}.wy-menu-vertical .toctree-l1.current .toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .toctree-l11>ul{display:none}.wy-menu-vertical .toctree-l1.current .current.toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .current.toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .current.toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .current.toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .current.toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .current.toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .current.toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .current.toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .current.toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .current.toctree-l11>ul{display:block}.wy-menu-vertical li.toctree-l3,.wy-menu-vertical li.toctree-l4{font-size:.9em}.wy-menu-vertical li.toctree-l2 a,.wy-menu-vertical li.toctree-l3 a,.wy-menu-vertical li.toctree-l4 a,.wy-menu-vertical li.toctree-l5 a,.wy-menu-vertical li.toctree-l6 a,.wy-menu-vertical li.toctree-l7 a,.wy-menu-vertical li.toctree-l8 a,.wy-menu-vertical li.toctree-l9 a,.wy-menu-vertical li.toctree-l10 a{color:#404040}.wy-menu-vertical li.toctree-l2 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l3 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l4 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l5 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l6 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l7 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l8 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l9 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l10 a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a,.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a,.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a,.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a,.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a,.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a,.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a,.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{display:block}.wy-menu-vertical li.toctree-l2.current>a{padding:.4045em 2.427em}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{padding:.4045em 1.618em .4045em 4.045em}.wy-menu-vertical li.toctree-l3.current>a{padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{padding:.4045em 1.618em .4045em 5.663em}.wy-menu-vertical li.toctree-l4.current>a{padding:.4045em 5.663em}.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a{padding:.4045em 1.618em .4045em 7.281em}.wy-menu-vertical li.toctree-l5.current>a{padding:.4045em 7.281em}.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a{padding:.4045em 1.618em .4045em 8.899em}.wy-menu-vertical li.toctree-l6.current>a{padding:.4045em 8.899em}.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a{padding:.4045em 1.618em .4045em 10.517em}.wy-menu-vertical li.toctree-l7.current>a{padding:.4045em 10.517em}.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a{padding:.4045em 1.618em .4045em 12.135em}.wy-menu-vertical li.toctree-l8.current>a{padding:.4045em 12.135em}.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a{padding:.4045em 1.618em .4045em 13.753em}.wy-menu-vertical li.toctree-l9.current>a{padding:.4045em 13.753em}.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a{padding:.4045em 1.618em .4045em 15.371em}.wy-menu-vertical li.toctree-l10.current>a{padding:.4045em 15.371em}.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{padding:.4045em 1.618em .4045em 16.989em}.wy-menu-vertical li.toctree-l2.current>a,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{background:#c9c9c9}.wy-menu-vertical li.toctree-l2 button.toctree-expand{color:#a3a3a3}.wy-menu-vertical li.toctree-l3.current>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{background:#bdbdbd}.wy-menu-vertical li.toctree-l3 button.toctree-expand{color:#969696}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical li ul li a{margin-bottom:0;color:#d9d9d9;font-weight:400}.wy-menu-vertical a{line-height:18px;padding:.4045em 1.618em;display:block;position:relative;font-size:90%;color:#d9d9d9}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:hover button.toctree-expand{color:#d9d9d9}.wy-menu-vertical a:active{background-color:#2980b9;cursor:pointer;color:#fff}.wy-menu-vertical a:active button.toctree-expand{color:#fff}.wy-side-nav-search{display:block;width:300px;padding:.809em;margin-bottom:.809em;z-index:200;background-color:#2980b9;text-align:center;color:#fcfcfc}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto .809em;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-side-nav-search .wy-dropdown>a,.wy-side-nav-search>a{color:#fcfcfc;font-size:100%;font-weight:700;display:inline-block;padding:4px 6px;margin-bottom:.809em;max-width:100%}.wy-side-nav-search .wy-dropdown>a:hover,.wy-side-nav-search>a:hover{background:hsla(0,0%,100%,.1)}.wy-side-nav-search .wy-dropdown>a img.logo,.wy-side-nav-search>a img.logo{display:block;margin:0 auto;height:auto;width:auto;border-radius:0;max-width:100%;background:transparent}.wy-side-nav-search .wy-dropdown>a.icon img.logo,.wy-side-nav-search>a.icon img.logo{margin-top:.85em}.wy-side-nav-search>div.version{margin-top:-.4045em;margin-bottom:.809em;font-weight:400;color:hsla(0,0%,100%,.3)}.wy-nav .wy-menu-vertical header{color:#2980b9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980b9;color:#fff}[data-menu-wrap]{-webkit-transition:all .2s ease-in;-moz-transition:all .2s ease-in;transition:all .2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:#fcfcfc}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:fixed;top:0;bottom:0;left:0;padding-bottom:2em;width:300px;overflow-x:hidden;overflow-y:hidden;min-height:100%;color:#9b9b9b;background:#343131;z-index:200}.wy-side-scroll{width:320px;position:relative;overflow-x:hidden;overflow-y:scroll;height:100%}.wy-nav-top{display:none;background:#2980b9;color:#fff;padding:.4045em .809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:after,.wy-nav-top:before{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:700}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer;padding-top:inherit}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:grey}footer p{margin-bottom:12px}.rst-content footer span.commit tt,footer span.commit .rst-content tt,footer span.commit code{padding:0;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:1em;background:none;border:none;color:grey}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:after,.rst-footer-buttons:before{width:100%;display:table;content:""}.rst-footer-buttons:after{clear:both}.rst-breadcrumbs-buttons{margin-top:12px;*zoom:1}.rst-breadcrumbs-buttons:after,.rst-breadcrumbs-buttons:before{display:table;content:""}.rst-breadcrumbs-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:1px solid #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:1px solid #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:grey;font-size:90%}.genindextable li>ul{margin-left:24px}@media screen and (max-width:768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-menu.wy-menu-vertical,.wy-side-nav-search,.wy-side-scroll{width:auto}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width:1100px){.wy-nav-content-wrap{background:rgba(0,0,0,.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,.wy-nav-side,footer{display:none}.wy-nav-content-wrap{margin-left:0}}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60;*zoom:1}.rst-versions .rst-current-version:after,.rst-versions .rst-current-version:before{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-content .code-block-caption .rst-versions .rst-current-version .headerlink,.rst-content .eqno .rst-versions .rst-current-version .headerlink,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-content p .rst-versions .rst-current-version .headerlink,.rst-content table>caption .rst-versions .rst-current-version .headerlink,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .icon,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-versions .rst-current-version .rst-content .code-block-caption .headerlink,.rst-versions .rst-current-version .rst-content .eqno .headerlink,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-versions .rst-current-version .rst-content p .headerlink,.rst-versions .rst-current-version .rst-content table>caption .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-versions .rst-current-version .wy-menu-vertical li button.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version button.toctree-expand{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}.rst-content .toctree-wrapper>p.caption,.rst-content h1,.rst-content h2,.rst-content h3,.rst-content h4,.rst-content h5,.rst-content h6{margin-bottom:24px}.rst-content img{max-width:100%;height:auto}.rst-content div.figure,.rst-content figure{margin-bottom:24px}.rst-content div.figure .caption-text,.rst-content figure .caption-text{font-style:italic}.rst-content div.figure p:last-child.caption,.rst-content figure p:last-child.caption{margin-bottom:0}.rst-content div.figure.align-center,.rst-content figure.align-center{text-align:center}.rst-content .section>a>img,.rst-content .section>img,.rst-content section>a>img,.rst-content section>img{margin-bottom:24px}.rst-content abbr[title]{text-decoration:none}.rst-content.style-external-links a.reference.external:after{font-family:FontAwesome;content:"\f08e";color:#b3b3b3;vertical-align:super;font-size:60%;margin:0 .2em}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content pre.literal-block{white-space:pre;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;display:block;overflow:auto}.rst-content div[class^=highlight],.rst-content pre.literal-block{border:1px solid #e1e4e5;overflow-x:auto;margin:1px 0 24px}.rst-content div[class^=highlight] div[class^=highlight],.rst-content pre.literal-block div[class^=highlight]{padding:0;border:none;margin:0}.rst-content div[class^=highlight] td.code{width:100%}.rst-content .linenodiv pre{border-right:1px solid #e6e9ea;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;user-select:none;pointer-events:none}.rst-content div[class^=highlight] pre{white-space:pre;margin:0;padding:12px;display:block;overflow:auto}.rst-content div[class^=highlight] pre .hll{display:block;margin:0 -12px;padding:0 12px}.rst-content .linenodiv pre,.rst-content div[class^=highlight] pre,.rst-content pre.literal-block{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:12px;line-height:1.4}.rst-content div.highlight .gp,.rst-content div.highlight span.linenos{user-select:none;pointer-events:none}.rst-content div.highlight span.linenos{display:inline-block;padding-left:0;padding-right:12px;margin-right:12px;border-right:1px solid #e6e9ea}.rst-content .code-block-caption{font-style:italic;font-size:85%;line-height:1;padding:1em 0;text-align:center}@media print{.rst-content .codeblock,.rst-content div[class^=highlight],.rst-content div[class^=highlight] pre{white-space:pre-wrap}}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning{clear:both}.rst-content .admonition-todo .last,.rst-content .admonition-todo>:last-child,.rst-content .admonition .last,.rst-content .admonition>:last-child,.rst-content .attention .last,.rst-content .attention>:last-child,.rst-content .caution .last,.rst-content .caution>:last-child,.rst-content .danger .last,.rst-content .danger>:last-child,.rst-content .error .last,.rst-content .error>:last-child,.rst-content .hint .last,.rst-content .hint>:last-child,.rst-content .important .last,.rst-content .important>:last-child,.rst-content .note .last,.rst-content .note>:last-child,.rst-content .seealso .last,.rst-content .seealso>:last-child,.rst-content .tip .last,.rst-content .tip>:last-child,.rst-content .warning .last,.rst-content .warning>:last-child{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent!important;border-color:rgba(0,0,0,.1)!important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha>li,.rst-content .toctree-wrapper ol.loweralpha,.rst-content .toctree-wrapper ol.loweralpha>li,.rst-content section ol.loweralpha,.rst-content section ol.loweralpha>li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha>li,.rst-content .toctree-wrapper ol.upperalpha,.rst-content .toctree-wrapper ol.upperalpha>li,.rst-content section ol.upperalpha,.rst-content section ol.upperalpha>li{list-style:upper-alpha}.rst-content .section ol li>*,.rst-content .section ul li>*,.rst-content .toctree-wrapper ol li>*,.rst-content .toctree-wrapper ul li>*,.rst-content section ol li>*,.rst-content section ul li>*{margin-top:12px;margin-bottom:12px}.rst-content .section ol li>:first-child,.rst-content .section ul li>:first-child,.rst-content .toctree-wrapper ol li>:first-child,.rst-content .toctree-wrapper ul li>:first-child,.rst-content section ol li>:first-child,.rst-content section ul li>:first-child{margin-top:0}.rst-content .section ol li>p,.rst-content .section ol li>p:last-child,.rst-content .section ul li>p,.rst-content .section ul li>p:last-child,.rst-content .toctree-wrapper ol li>p,.rst-content .toctree-wrapper ol li>p:last-child,.rst-content .toctree-wrapper ul li>p,.rst-content .toctree-wrapper ul li>p:last-child,.rst-content section ol li>p,.rst-content section ol li>p:last-child,.rst-content section ul li>p,.rst-content section ul li>p:last-child{margin-bottom:12px}.rst-content .section ol li>p:only-child,.rst-content .section ol li>p:only-child:last-child,.rst-content .section ul li>p:only-child,.rst-content .section ul li>p:only-child:last-child,.rst-content .toctree-wrapper ol li>p:only-child,.rst-content .toctree-wrapper ol li>p:only-child:last-child,.rst-content .toctree-wrapper ul li>p:only-child,.rst-content .toctree-wrapper ul li>p:only-child:last-child,.rst-content section ol li>p:only-child,.rst-content section ol li>p:only-child:last-child,.rst-content section ul li>p:only-child,.rst-content section ul li>p:only-child:last-child{margin-bottom:0}.rst-content .section ol li>ol,.rst-content .section ol li>ul,.rst-content .section ul li>ol,.rst-content .section ul li>ul,.rst-content .toctree-wrapper ol li>ol,.rst-content .toctree-wrapper ol li>ul,.rst-content .toctree-wrapper ul li>ol,.rst-content .toctree-wrapper ul li>ul,.rst-content section ol li>ol,.rst-content section ol li>ul,.rst-content section ul li>ol,.rst-content section ul li>ul{margin-bottom:12px}.rst-content .section ol.simple li>*,.rst-content .section ol.simple li ol,.rst-content .section ol.simple li ul,.rst-content .section ul.simple li>*,.rst-content .section ul.simple li ol,.rst-content .section ul.simple li ul,.rst-content .toctree-wrapper ol.simple li>*,.rst-content .toctree-wrapper ol.simple li ol,.rst-content .toctree-wrapper ol.simple li ul,.rst-content .toctree-wrapper ul.simple li>*,.rst-content .toctree-wrapper ul.simple li ol,.rst-content .toctree-wrapper ul.simple li ul,.rst-content section ol.simple li>*,.rst-content section ol.simple li ol,.rst-content section ol.simple li ul,.rst-content section ul.simple li>*,.rst-content section ul.simple li ol,.rst-content section ul.simple li ul{margin-top:0;margin-bottom:0}.rst-content .line-block{margin-left:0;margin-bottom:24px;line-height:24px}.rst-content .line-block .line-block{margin-left:24px;margin-bottom:0}.rst-content .topic-title{font-weight:700;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0 0 24px 24px}.rst-content .align-left{float:left;margin:0 24px 24px 0}.rst-content .align-center{margin:auto}.rst-content .align-center:not(table){display:block}.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink{opacity:0;font-size:14px;font-family:FontAwesome;margin-left:.5em}.rst-content .code-block-caption .headerlink:focus,.rst-content .code-block-caption:hover .headerlink,.rst-content .eqno .headerlink:focus,.rst-content .eqno:hover .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink:focus,.rst-content .toctree-wrapper>p.caption:hover .headerlink,.rst-content dl dt .headerlink:focus,.rst-content dl dt:hover .headerlink,.rst-content h1 .headerlink:focus,.rst-content h1:hover .headerlink,.rst-content h2 .headerlink:focus,.rst-content h2:hover .headerlink,.rst-content h3 .headerlink:focus,.rst-content h3:hover .headerlink,.rst-content h4 .headerlink:focus,.rst-content h4:hover .headerlink,.rst-content h5 .headerlink:focus,.rst-content h5:hover .headerlink,.rst-content h6 .headerlink:focus,.rst-content h6:hover .headerlink,.rst-content p.caption .headerlink:focus,.rst-content p.caption:hover .headerlink,.rst-content p .headerlink:focus,.rst-content p:hover .headerlink,.rst-content table>caption .headerlink:focus,.rst-content table>caption:hover .headerlink{opacity:1}.rst-content p a{overflow-wrap:anywhere}.rst-content .wy-table td p,.rst-content .wy-table td ul,.rst-content .wy-table th p,.rst-content .wy-table th ul,.rst-content table.docutils td p,.rst-content table.docutils td ul,.rst-content table.docutils th p,.rst-content table.docutils th ul,.rst-content table.field-list td p,.rst-content table.field-list td ul,.rst-content table.field-list th p,.rst-content table.field-list th ul{font-size:inherit}.rst-content .btn:focus{outline:2px solid}.rst-content table>caption .headerlink:after{font-size:12px}.rst-content .centered{text-align:center}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:1px solid #e1e4e5}.rst-content .sidebar dl,.rst-content .sidebar p,.rst-content .sidebar ul{font-size:90%}.rst-content .sidebar .last,.rst-content .sidebar>:last-child{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif;font-weight:700;background:#e1e4e5;padding:6px 12px;margin:-24px -24px 24px;font-size:100%}.rst-content .highlighted{background:#f1c40f;box-shadow:0 0 0 2px #f1c40f;display:inline;font-weight:700}.rst-content .citation-reference,.rst-content .footnote-reference{vertical-align:baseline;position:relative;top:-.4em;line-height:0;font-size:90%}.rst-content .citation-reference>span.fn-bracket,.rst-content .footnote-reference>span.fn-bracket{display:none}.rst-content .hlist{width:100%}.rst-content dl dt span.classifier:before{content:" : "}.rst-content dl dt span.classifier-delimiter{display:none!important}html.writer-html4 .rst-content table.docutils.citation,html.writer-html4 .rst-content table.docutils.footnote{background:none;border:none}html.writer-html4 .rst-content table.docutils.citation td,html.writer-html4 .rst-content table.docutils.citation tr,html.writer-html4 .rst-content table.docutils.footnote td,html.writer-html4 .rst-content table.docutils.footnote tr{border:none;background-color:transparent!important;white-space:normal}html.writer-html4 .rst-content table.docutils.citation td.label,html.writer-html4 .rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{display:grid;grid-template-columns:auto minmax(80%,95%)}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{display:inline-grid;grid-template-columns:max-content auto}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{display:grid;grid-template-columns:auto auto minmax(.65rem,auto) minmax(40%,95%)}html.writer-html5 .rst-content aside.citation>span.label,html.writer-html5 .rst-content aside.footnote>span.label,html.writer-html5 .rst-content div.citation>span.label{grid-column-start:1;grid-column-end:2}html.writer-html5 .rst-content aside.citation>span.backrefs,html.writer-html5 .rst-content aside.footnote>span.backrefs,html.writer-html5 .rst-content div.citation>span.backrefs{grid-column-start:2;grid-column-end:3;grid-row-start:1;grid-row-end:3}html.writer-html5 .rst-content aside.citation>p,html.writer-html5 .rst-content aside.footnote>p,html.writer-html5 .rst-content div.citation>p{grid-column-start:4;grid-column-end:5}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{margin-bottom:24px}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{padding-left:1rem}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dd,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dd,html.writer-html5 .rst-content dl.footnote>dt{margin-bottom:0}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{font-size:.9rem}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.footnote>dt{margin:0 .5rem .5rem 0;line-height:1.2rem;word-break:break-all;font-weight:400}html.writer-html5 .rst-content dl.citation>dt>span.brackets:before,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:before{content:"["}html.writer-html5 .rst-content dl.citation>dt>span.brackets:after,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:after{content:"]"}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a{word-break:keep-all}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a:not(:first-child):before,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.footnote>dd{margin:0 0 .5rem;line-height:1.2rem}html.writer-html5 .rst-content dl.citation>dd p,html.writer-html5 .rst-content dl.footnote>dd p{font-size:.9rem}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{padding-left:1rem;padding-right:1rem;font-size:.9rem;line-height:1.2rem}html.writer-html5 .rst-content aside.citation p,html.writer-html5 .rst-content aside.footnote p,html.writer-html5 .rst-content div.citation p{font-size:.9rem;line-height:1.2rem;margin-bottom:12px}html.writer-html5 .rst-content aside.citation span.backrefs,html.writer-html5 .rst-content aside.footnote span.backrefs,html.writer-html5 .rst-content div.citation span.backrefs{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content aside.citation span.backrefs>a,html.writer-html5 .rst-content aside.footnote span.backrefs>a,html.writer-html5 .rst-content div.citation span.backrefs>a{word-break:keep-all}html.writer-html5 .rst-content aside.citation span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content aside.footnote span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content div.citation span.backrefs>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content aside.citation span.label,html.writer-html5 .rst-content aside.footnote span.label,html.writer-html5 .rst-content div.citation span.label{line-height:1.2rem}html.writer-html5 .rst-content aside.citation-list,html.writer-html5 .rst-content aside.footnote-list,html.writer-html5 .rst-content div.citation-list{margin-bottom:24px}html.writer-html5 .rst-content dl.option-list kbd{font-size:.9rem}.rst-content table.docutils.footnote,html.writer-html4 .rst-content table.docutils.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content aside.footnote-list aside.footnote,html.writer-html5 .rst-content div.citation-list>div.citation,html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{color:grey}.rst-content table.docutils.footnote code,.rst-content table.docutils.footnote tt,html.writer-html4 .rst-content table.docutils.citation code,html.writer-html4 .rst-content table.docutils.citation tt,html.writer-html5 .rst-content aside.footnote-list aside.footnote code,html.writer-html5 .rst-content aside.footnote-list aside.footnote tt,html.writer-html5 .rst-content aside.footnote code,html.writer-html5 .rst-content aside.footnote tt,html.writer-html5 .rst-content div.citation-list>div.citation code,html.writer-html5 .rst-content div.citation-list>div.citation tt,html.writer-html5 .rst-content dl.citation code,html.writer-html5 .rst-content dl.citation tt,html.writer-html5 .rst-content dl.footnote code,html.writer-html5 .rst-content dl.footnote tt{color:#555}.rst-content .wy-table-responsive.citation,.rst-content .wy-table-responsive.footnote{margin-bottom:0}.rst-content .wy-table-responsive.citation+:not(.citation),.rst-content .wy-table-responsive.footnote+:not(.footnote){margin-top:24px}.rst-content .wy-table-responsive.citation:last-child,.rst-content .wy-table-responsive.footnote:last-child{margin-bottom:24px}.rst-content table.docutils th{border-color:#e1e4e5}html.writer-html5 .rst-content table.docutils th{border:1px solid #e1e4e5}html.writer-html5 .rst-content table.docutils td>p,html.writer-html5 .rst-content table.docutils th>p{line-height:1rem;margin-bottom:0;font-size:.9rem}.rst-content table.docutils td .last,.rst-content table.docutils td .last>:last-child{margin-bottom:0}.rst-content table.field-list,.rst-content table.field-list td{border:none}.rst-content table.field-list td p{line-height:inherit}.rst-content table.field-list td>strong{display:inline-block}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left}.rst-content code,.rst-content tt{color:#000;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;padding:2px 5px}.rst-content code big,.rst-content code em,.rst-content tt big,.rst-content tt em{font-size:100%!important;line-height:normal}.rst-content code.literal,.rst-content tt.literal{color:#e74c3c;white-space:normal}.rst-content code.xref,.rst-content tt.xref,a .rst-content code,a .rst-content tt{font-weight:700;color:#404040;overflow-wrap:normal}.rst-content kbd,.rst-content pre,.rst-content samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace}.rst-content a code,.rst-content a tt{color:#2980b9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:700;margin-bottom:12px}.rst-content dl ol,.rst-content dl p,.rst-content dl table,.rst-content dl ul{margin-bottom:12px}.rst-content dl dd{margin:0 0 12px 24px;line-height:24px}.rst-content dl dd>ol:last-child,.rst-content dl dd>p:last-child,.rst-content dl dd>table:last-child,.rst-content dl dd>ul:last-child{margin-bottom:0}html.writer-html4 .rst-content dl:not(.docutils),html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple){margin-bottom:24px}html.writer-html4 .rst-content dl:not(.docutils)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{display:table;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980b9;border-top:3px solid #6ab0de;padding:6px;position:relative}html.writer-html4 .rst-content dl:not(.docutils)>dt:before,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:before{color:#6ab0de}html.writer-html4 .rst-content dl:not(.docutils)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{margin-bottom:6px;border:none;border-left:3px solid #ccc;background:#f0f0f0;color:#555}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils)>dt:first-child,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:first-child{margin-top:0}html.writer-html4 .rst-content dl:not(.docutils) code.descclassname,html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descclassname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{background-color:transparent;border:none;padding:0;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .optional,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .property,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .property{display:inline-block;padding-right:8px;max-width:100%}html.writer-html4 .rst-content dl:not(.docutils) .k,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .k{font-style:italic}html.writer-html4 .rst-content dl:not(.docutils) .descclassname,html.writer-html4 .rst-content dl:not(.docutils) .descname,html.writer-html4 .rst-content dl:not(.docutils) .sig-name,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .sig-name{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#000}.rst-content .viewcode-back,.rst-content .viewcode-link{display:inline-block;color:#27ae60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:700}.rst-content code.download,.rst-content tt.download{background:inherit;padding:inherit;font-weight:400;font-family:inherit;font-size:inherit;color:inherit;border:inherit;white-space:inherit}.rst-content code.download span:first-child,.rst-content tt.download span:first-child{-webkit-font-smoothing:subpixel-antialiased}.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{margin-right:4px}.rst-content .guilabel,.rst-content .menuselection{font-size:80%;font-weight:700;border-radius:4px;padding:2.4px 6px;margin:auto 2px}.rst-content .guilabel,.rst-content .menuselection{border:1px solid #7fbbe3;background:#e7f2fa}.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>.kbd,.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>kbd{color:inherit;font-size:80%;background-color:#fff;border:1px solid #a6a6a6;border-radius:4px;box-shadow:0 2px grey;padding:2.4px 6px;margin:auto 0}.rst-content .versionmodified{font-style:italic}@media screen and (max-width:480px){.rst-content .sidebar{width:100%}}span[id*=MathJax-Span]{color:#404040}.math{text-align:center}@font-face{font-family:Lato;src:url(fonts/lato-normal.woff2?bd03a2cc277bbbc338d464e679fe9942) format("woff2"),url(fonts/lato-normal.woff?27bd77b9162d388cb8d4c4217c7c5e2a) format("woff");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold.woff2?cccb897485813c7c256901dbca54ecf2) format("woff2"),url(fonts/lato-bold.woff?d878b6c29b10beca227e9eef4246111b) format("woff");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold-italic.woff2?0b6bb6725576b072c5d0b02ecdd1900d) format("woff2"),url(fonts/lato-bold-italic.woff?9c7e4e9eb485b4a121c760e61bc3707c) format("woff");font-weight:700;font-style:italic;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-normal-italic.woff2?4eb103b4d12be57cb1d040ed5e162e9d) format("woff2"),url(fonts/lato-normal-italic.woff?f28f2d6482446544ef1ea1ccc6dd5892) format("woff");font-weight:400;font-style:italic;font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(fonts/Roboto-Slab-Regular.woff2?7abf5b8d04d26a2cafea937019bca958) format("woff2"),url(fonts/Roboto-Slab-Regular.woff?c1be9284088d487c5e3ff0a10a92e58c) format("woff");font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(fonts/Roboto-Slab-Bold.woff2?9984f4a9bda09be08e83f2506954adbe) format("woff2"),url(fonts/Roboto-Slab-Bold.woff?bed5564a116b05148e3b3bea6fb1162a) format("woff");font-display:block}
    \ No newline at end of file
    + */@font-face{font-family:FontAwesome;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713);src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix&v=4.7.0) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa-pull-left.icon,.fa.fa-pull-left,.rst-content .code-block-caption .fa-pull-left.headerlink,.rst-content .eqno .fa-pull-left.headerlink,.rst-content .fa-pull-left.admonition-title,.rst-content code.download span.fa-pull-left:first-child,.rst-content dl dt .fa-pull-left.headerlink,.rst-content h1 .fa-pull-left.headerlink,.rst-content h2 .fa-pull-left.headerlink,.rst-content h3 .fa-pull-left.headerlink,.rst-content h4 .fa-pull-left.headerlink,.rst-content h5 .fa-pull-left.headerlink,.rst-content h6 .fa-pull-left.headerlink,.rst-content p .fa-pull-left.headerlink,.rst-content table>caption .fa-pull-left.headerlink,.rst-content tt.download span.fa-pull-left:first-child,.wy-menu-vertical li.current>a button.fa-pull-left.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-left.toctree-expand,.wy-menu-vertical li button.fa-pull-left.toctree-expand{margin-right:.3em}.fa-pull-right.icon,.fa.fa-pull-right,.rst-content .code-block-caption .fa-pull-right.headerlink,.rst-content .eqno .fa-pull-right.headerlink,.rst-content .fa-pull-right.admonition-title,.rst-content code.download span.fa-pull-right:first-child,.rst-content dl dt .fa-pull-right.headerlink,.rst-content h1 .fa-pull-right.headerlink,.rst-content h2 .fa-pull-right.headerlink,.rst-content h3 .fa-pull-right.headerlink,.rst-content h4 .fa-pull-right.headerlink,.rst-content h5 .fa-pull-right.headerlink,.rst-content h6 .fa-pull-right.headerlink,.rst-content p .fa-pull-right.headerlink,.rst-content table>caption .fa-pull-right.headerlink,.rst-content tt.download span.fa-pull-right:first-child,.wy-menu-vertical li.current>a button.fa-pull-right.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-right.toctree-expand,.wy-menu-vertical li button.fa-pull-right.toctree-expand{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.pull-left.icon,.rst-content .code-block-caption .pull-left.headerlink,.rst-content .eqno .pull-left.headerlink,.rst-content .pull-left.admonition-title,.rst-content code.download span.pull-left:first-child,.rst-content dl dt .pull-left.headerlink,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content p .pull-left.headerlink,.rst-content table>caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.wy-menu-vertical li.current>a button.pull-left.toctree-expand,.wy-menu-vertical li.on a button.pull-left.toctree-expand,.wy-menu-vertical li button.pull-left.toctree-expand{margin-right:.3em}.fa.pull-right,.pull-right.icon,.rst-content .code-block-caption .pull-right.headerlink,.rst-content .eqno .pull-right.headerlink,.rst-content .pull-right.admonition-title,.rst-content code.download span.pull-right:first-child,.rst-content dl dt .pull-right.headerlink,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content p .pull-right.headerlink,.rst-content table>caption .pull-right.headerlink,.rst-content tt.download span.pull-right:first-child,.wy-menu-vertical li.current>a button.pull-right.toctree-expand,.wy-menu-vertical li.on a button.pull-right.toctree-expand,.wy-menu-vertical li button.pull-right.toctree-expand{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before,.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.rst-content .admonition-title:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.icon-caret-down:before,.wy-dropdown .caret:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before,.wy-menu-vertical li button.toctree-expand:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before,.icon-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:""}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-sign-language:before,.fa-signing:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-pied-piper:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-address-card:before,.fa-vcard:before{content:""}.fa-address-card-o:before,.fa-vcard-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{font-family:inherit}.fa:before,.icon:before,.rst-content .admonition-title:before,.rst-content .code-block-caption .headerlink:before,.rst-content .eqno .headerlink:before,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before{font-family:FontAwesome;display:inline-block;font-style:normal;font-weight:400;line-height:1;text-decoration:inherit}.rst-content .code-block-caption a .headerlink,.rst-content .eqno a .headerlink,.rst-content a .admonition-title,.rst-content code.download a span:first-child,.rst-content dl dt a .headerlink,.rst-content h1 a .headerlink,.rst-content h2 a .headerlink,.rst-content h3 a .headerlink,.rst-content h4 a .headerlink,.rst-content h5 a .headerlink,.rst-content h6 a .headerlink,.rst-content p.caption a .headerlink,.rst-content p a .headerlink,.rst-content table>caption a .headerlink,.rst-content tt.download a span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li a button.toctree-expand,a .fa,a .icon,a .rst-content .admonition-title,a .rst-content .code-block-caption .headerlink,a .rst-content .eqno .headerlink,a .rst-content code.download span:first-child,a .rst-content dl dt .headerlink,a .rst-content h1 .headerlink,a .rst-content h2 .headerlink,a .rst-content h3 .headerlink,a .rst-content h4 .headerlink,a .rst-content h5 .headerlink,a .rst-content h6 .headerlink,a .rst-content p.caption .headerlink,a .rst-content p .headerlink,a .rst-content table>caption .headerlink,a .rst-content tt.download span:first-child,a .wy-menu-vertical li button.toctree-expand{display:inline-block;text-decoration:inherit}.btn .fa,.btn .icon,.btn .rst-content .admonition-title,.btn .rst-content .code-block-caption .headerlink,.btn .rst-content .eqno .headerlink,.btn .rst-content code.download span:first-child,.btn .rst-content dl dt .headerlink,.btn .rst-content h1 .headerlink,.btn .rst-content h2 .headerlink,.btn .rst-content h3 .headerlink,.btn .rst-content h4 .headerlink,.btn .rst-content h5 .headerlink,.btn .rst-content h6 .headerlink,.btn .rst-content p .headerlink,.btn .rst-content table>caption .headerlink,.btn .rst-content tt.download span:first-child,.btn .wy-menu-vertical li.current>a button.toctree-expand,.btn .wy-menu-vertical li.on a button.toctree-expand,.btn .wy-menu-vertical li button.toctree-expand,.nav .fa,.nav .icon,.nav .rst-content .admonition-title,.nav .rst-content .code-block-caption .headerlink,.nav .rst-content .eqno .headerlink,.nav .rst-content code.download span:first-child,.nav .rst-content dl dt .headerlink,.nav .rst-content h1 .headerlink,.nav .rst-content h2 .headerlink,.nav .rst-content h3 .headerlink,.nav .rst-content h4 .headerlink,.nav .rst-content h5 .headerlink,.nav .rst-content h6 .headerlink,.nav .rst-content p .headerlink,.nav .rst-content table>caption .headerlink,.nav .rst-content tt.download span:first-child,.nav .wy-menu-vertical li.current>a button.toctree-expand,.nav .wy-menu-vertical li.on a button.toctree-expand,.nav .wy-menu-vertical li button.toctree-expand,.rst-content .btn .admonition-title,.rst-content .code-block-caption .btn .headerlink,.rst-content .code-block-caption .nav .headerlink,.rst-content .eqno .btn .headerlink,.rst-content .eqno .nav .headerlink,.rst-content .nav .admonition-title,.rst-content code.download .btn span:first-child,.rst-content code.download .nav span:first-child,.rst-content dl dt .btn .headerlink,.rst-content dl dt .nav .headerlink,.rst-content h1 .btn .headerlink,.rst-content h1 .nav .headerlink,.rst-content h2 .btn .headerlink,.rst-content h2 .nav .headerlink,.rst-content h3 .btn .headerlink,.rst-content h3 .nav .headerlink,.rst-content h4 .btn .headerlink,.rst-content h4 .nav .headerlink,.rst-content h5 .btn .headerlink,.rst-content h5 .nav .headerlink,.rst-content h6 .btn .headerlink,.rst-content h6 .nav .headerlink,.rst-content p .btn .headerlink,.rst-content p .nav .headerlink,.rst-content table>caption .btn .headerlink,.rst-content table>caption .nav .headerlink,.rst-content tt.download .btn span:first-child,.rst-content tt.download .nav span:first-child,.wy-menu-vertical li .btn button.toctree-expand,.wy-menu-vertical li.current>a .btn button.toctree-expand,.wy-menu-vertical li.current>a .nav button.toctree-expand,.wy-menu-vertical li .nav button.toctree-expand,.wy-menu-vertical li.on a .btn button.toctree-expand,.wy-menu-vertical li.on a .nav button.toctree-expand{display:inline}.btn .fa-large.icon,.btn .fa.fa-large,.btn .rst-content .code-block-caption .fa-large.headerlink,.btn .rst-content .eqno .fa-large.headerlink,.btn .rst-content .fa-large.admonition-title,.btn .rst-content code.download span.fa-large:first-child,.btn .rst-content dl dt .fa-large.headerlink,.btn .rst-content h1 .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.btn .rst-content p .fa-large.headerlink,.btn .rst-content table>caption .fa-large.headerlink,.btn .rst-content tt.download span.fa-large:first-child,.btn .wy-menu-vertical li button.fa-large.toctree-expand,.nav .fa-large.icon,.nav .fa.fa-large,.nav .rst-content .code-block-caption .fa-large.headerlink,.nav .rst-content .eqno .fa-large.headerlink,.nav .rst-content .fa-large.admonition-title,.nav .rst-content code.download span.fa-large:first-child,.nav .rst-content dl dt .fa-large.headerlink,.nav .rst-content h1 .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.nav .rst-content p .fa-large.headerlink,.nav .rst-content table>caption .fa-large.headerlink,.nav .rst-content tt.download span.fa-large:first-child,.nav .wy-menu-vertical li button.fa-large.toctree-expand,.rst-content .btn .fa-large.admonition-title,.rst-content .code-block-caption .btn .fa-large.headerlink,.rst-content .code-block-caption .nav .fa-large.headerlink,.rst-content .eqno .btn .fa-large.headerlink,.rst-content .eqno .nav .fa-large.headerlink,.rst-content .nav .fa-large.admonition-title,.rst-content code.download .btn span.fa-large:first-child,.rst-content code.download .nav span.fa-large:first-child,.rst-content dl dt .btn .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.rst-content p .btn .fa-large.headerlink,.rst-content p .nav .fa-large.headerlink,.rst-content table>caption .btn .fa-large.headerlink,.rst-content table>caption .nav .fa-large.headerlink,.rst-content tt.download .btn span.fa-large:first-child,.rst-content tt.download .nav span.fa-large:first-child,.wy-menu-vertical li .btn button.fa-large.toctree-expand,.wy-menu-vertical li .nav button.fa-large.toctree-expand{line-height:.9em}.btn .fa-spin.icon,.btn .fa.fa-spin,.btn .rst-content .code-block-caption .fa-spin.headerlink,.btn .rst-content .eqno .fa-spin.headerlink,.btn .rst-content .fa-spin.admonition-title,.btn .rst-content code.download span.fa-spin:first-child,.btn .rst-content dl dt .fa-spin.headerlink,.btn .rst-content h1 .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.btn .rst-content p .fa-spin.headerlink,.btn .rst-content table>caption .fa-spin.headerlink,.btn .rst-content tt.download span.fa-spin:first-child,.btn .wy-menu-vertical li button.fa-spin.toctree-expand,.nav .fa-spin.icon,.nav .fa.fa-spin,.nav .rst-content .code-block-caption .fa-spin.headerlink,.nav .rst-content .eqno .fa-spin.headerlink,.nav .rst-content .fa-spin.admonition-title,.nav .rst-content code.download span.fa-spin:first-child,.nav .rst-content dl dt .fa-spin.headerlink,.nav .rst-content h1 .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.nav .rst-content p .fa-spin.headerlink,.nav .rst-content table>caption .fa-spin.headerlink,.nav .rst-content tt.download span.fa-spin:first-child,.nav .wy-menu-vertical li button.fa-spin.toctree-expand,.rst-content .btn .fa-spin.admonition-title,.rst-content .code-block-caption .btn .fa-spin.headerlink,.rst-content .code-block-caption .nav .fa-spin.headerlink,.rst-content .eqno .btn .fa-spin.headerlink,.rst-content .eqno .nav .fa-spin.headerlink,.rst-content .nav .fa-spin.admonition-title,.rst-content code.download .btn span.fa-spin:first-child,.rst-content code.download .nav span.fa-spin:first-child,.rst-content dl dt .btn .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.rst-content p .btn .fa-spin.headerlink,.rst-content p .nav .fa-spin.headerlink,.rst-content table>caption .btn .fa-spin.headerlink,.rst-content table>caption .nav .fa-spin.headerlink,.rst-content tt.download .btn span.fa-spin:first-child,.rst-content tt.download .nav span.fa-spin:first-child,.wy-menu-vertical li .btn button.fa-spin.toctree-expand,.wy-menu-vertical li .nav button.fa-spin.toctree-expand{display:inline-block}.btn.fa:before,.btn.icon:before,.rst-content .btn.admonition-title:before,.rst-content .code-block-caption .btn.headerlink:before,.rst-content .eqno .btn.headerlink:before,.rst-content code.download span.btn:first-child:before,.rst-content dl dt .btn.headerlink:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content p .btn.headerlink:before,.rst-content table>caption .btn.headerlink:before,.rst-content tt.download span.btn:first-child:before,.wy-menu-vertical li button.btn.toctree-expand:before{opacity:.5;-webkit-transition:opacity .05s ease-in;-moz-transition:opacity .05s ease-in;transition:opacity .05s ease-in}.btn.fa:hover:before,.btn.icon:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content .code-block-caption .btn.headerlink:hover:before,.rst-content .eqno .btn.headerlink:hover:before,.rst-content code.download span.btn:first-child:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content p .btn.headerlink:hover:before,.rst-content table>caption .btn.headerlink:hover:before,.rst-content tt.download span.btn:first-child:hover:before,.wy-menu-vertical li button.btn.toctree-expand:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .icon:before,.btn-mini .rst-content .admonition-title:before,.btn-mini .rst-content .code-block-caption .headerlink:before,.btn-mini .rst-content .eqno .headerlink:before,.btn-mini .rst-content code.download span:first-child:before,.btn-mini .rst-content dl dt .headerlink:before,.btn-mini .rst-content h1 .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.btn-mini .rst-content p .headerlink:before,.btn-mini .rst-content table>caption .headerlink:before,.btn-mini .rst-content tt.download span:first-child:before,.btn-mini .wy-menu-vertical li button.toctree-expand:before,.rst-content .btn-mini .admonition-title:before,.rst-content .code-block-caption .btn-mini .headerlink:before,.rst-content .eqno .btn-mini .headerlink:before,.rst-content code.download .btn-mini span:first-child:before,.rst-content dl dt .btn-mini .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.rst-content p .btn-mini .headerlink:before,.rst-content table>caption .btn-mini .headerlink:before,.rst-content tt.download .btn-mini span:first-child:before,.wy-menu-vertical li .btn-mini button.toctree-expand:before{font-size:14px;vertical-align:-15%}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.wy-alert{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.rst-content .admonition-title,.wy-alert-title{font-weight:700;display:block;color:#fff;background:#6ab0de;padding:6px 12px;margin:-12px -12px 12px}.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.admonition,.rst-content .wy-alert-danger.admonition-todo,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.wy-alert.wy-alert-danger{background:#fdf3f2}.rst-content .danger .admonition-title,.rst-content .danger .wy-alert-title,.rst-content .error .admonition-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.rst-content .wy-alert-danger.admonition .admonition-title,.rst-content .wy-alert-danger.admonition .wy-alert-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.wy-alert.wy-alert-danger .wy-alert-title{background:#f29f97}.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .warning,.rst-content .wy-alert-warning.admonition,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.note,.rst-content .wy-alert-warning.seealso,.rst-content .wy-alert-warning.tip,.wy-alert.wy-alert-warning{background:#ffedcc}.rst-content .admonition-todo .admonition-title,.rst-content .admonition-todo .wy-alert-title,.rst-content .attention .admonition-title,.rst-content .attention .wy-alert-title,.rst-content .caution .admonition-title,.rst-content .caution .wy-alert-title,.rst-content .warning .admonition-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.admonition .admonition-title,.rst-content .wy-alert-warning.admonition .wy-alert-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.wy-alert.wy-alert-warning .wy-alert-title{background:#f0b37e}.rst-content .note,.rst-content .seealso,.rst-content .wy-alert-info.admonition,.rst-content .wy-alert-info.admonition-todo,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.wy-alert.wy-alert-info{background:#e7f2fa}.rst-content .note .admonition-title,.rst-content .note .wy-alert-title,.rst-content .seealso .admonition-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .admonition-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.rst-content .wy-alert-info.admonition .admonition-title,.rst-content .wy-alert-info.admonition .wy-alert-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.wy-alert.wy-alert-info .wy-alert-title{background:#6ab0de}.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.admonition,.rst-content .wy-alert-success.admonition-todo,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.warning,.wy-alert.wy-alert-success{background:#dbfaf4}.rst-content .hint .admonition-title,.rst-content .hint .wy-alert-title,.rst-content .important .admonition-title,.rst-content .important .wy-alert-title,.rst-content .tip .admonition-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .admonition-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.rst-content .wy-alert-success.admonition .admonition-title,.rst-content .wy-alert-success.admonition .wy-alert-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.wy-alert.wy-alert-success .wy-alert-title{background:#1abc9c}.rst-content .wy-alert-neutral.admonition,.rst-content .wy-alert-neutral.admonition-todo,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.wy-alert.wy-alert-neutral{background:#f3f6f6}.rst-content .wy-alert-neutral.admonition-todo .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.rst-content .wy-alert-neutral.admonition .admonition-title,.rst-content .wy-alert-neutral.admonition .wy-alert-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.wy-alert.wy-alert-neutral .wy-alert-title{color:#404040;background:#e1e4e5}.rst-content .wy-alert-neutral.admonition-todo a,.rst-content .wy-alert-neutral.admonition a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.wy-alert.wy-alert-neutral a{color:#2980b9}.rst-content .admonition-todo p:last-child,.rst-content .admonition p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .note p:last-child,.rst-content .seealso p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.wy-alert p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all .3s ease-in;-moz-transition:all .3s ease-in;transition:all .3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27ae60}.wy-tray-container li.wy-tray-item-info{background:#2980b9}.wy-tray-container li.wy-tray-item-warning{background:#e67e22}.wy-tray-container li.wy-tray-item-danger{background:#e74c3c}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width:768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px;color:#fff;border:1px solid rgba(0,0,0,.1);background-color:#27ae60;text-decoration:none;font-weight:400;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 2px -1px hsla(0,0%,100%,.5),inset 0 -2px 0 0 rgba(0,0,0,.1);outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .1s linear;-moz-transition:all .1s linear;transition:all .1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.05),inset 0 2px 0 0 rgba(0,0,0,.1);padding:8px 12px 6px}.btn:visited{color:#fff}.btn-disabled,.btn-disabled:active,.btn-disabled:focus,.btn-disabled:hover,.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980b9!important}.btn-info:hover{background-color:#2e8ece!important}.btn-neutral{background-color:#f3f6f6!important;color:#404040!important}.btn-neutral:hover{background-color:#e5ebeb!important;color:#404040}.btn-neutral:visited{color:#404040!important}.btn-success{background-color:#27ae60!important}.btn-success:hover{background-color:#295!important}.btn-danger{background-color:#e74c3c!important}.btn-danger:hover{background-color:#ea6153!important}.btn-warning{background-color:#e67e22!important}.btn-warning:hover{background-color:#e98b39!important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f!important}.btn-link{background-color:transparent!important;color:#2980b9;box-shadow:none;border-color:transparent!important}.btn-link:active,.btn-link:hover{background-color:transparent!important;color:#409ad5!important;box-shadow:none}.btn-link:visited{color:#9b59b6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:after,.wy-btn-group:before{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-active .wy-dropdown-menu{display:block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:1px solid #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980b9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:1px solid #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type=search]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980b9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;left:auto;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned .wy-help-inline,.wy-form-aligned input,.wy-form-aligned label,.wy-form-aligned select,.wy-form-aligned textarea{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{margin:0}fieldset,legend{border:0;padding:0}legend{width:100%;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label,legend{display:block}label{margin:0 0 .3125em;color:#333;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;max-width:1200px;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:after,.wy-control-group:before{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#e74c3c}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full input[type=color],.wy-control-group .wy-form-full input[type=date],.wy-control-group .wy-form-full input[type=datetime-local],.wy-control-group .wy-form-full input[type=datetime],.wy-control-group .wy-form-full input[type=email],.wy-control-group .wy-form-full input[type=month],.wy-control-group .wy-form-full input[type=number],.wy-control-group .wy-form-full input[type=password],.wy-control-group .wy-form-full input[type=search],.wy-control-group .wy-form-full input[type=tel],.wy-control-group .wy-form-full input[type=text],.wy-control-group .wy-form-full input[type=time],.wy-control-group .wy-form-full input[type=url],.wy-control-group .wy-form-full input[type=week],.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves input[type=color],.wy-control-group .wy-form-halves input[type=date],.wy-control-group .wy-form-halves input[type=datetime-local],.wy-control-group .wy-form-halves input[type=datetime],.wy-control-group .wy-form-halves input[type=email],.wy-control-group .wy-form-halves input[type=month],.wy-control-group .wy-form-halves input[type=number],.wy-control-group .wy-form-halves input[type=password],.wy-control-group .wy-form-halves input[type=search],.wy-control-group .wy-form-halves input[type=tel],.wy-control-group .wy-form-halves input[type=text],.wy-control-group .wy-form-halves input[type=time],.wy-control-group .wy-form-halves input[type=url],.wy-control-group .wy-form-halves input[type=week],.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds input[type=color],.wy-control-group .wy-form-thirds input[type=date],.wy-control-group .wy-form-thirds input[type=datetime-local],.wy-control-group .wy-form-thirds input[type=datetime],.wy-control-group .wy-form-thirds input[type=email],.wy-control-group .wy-form-thirds input[type=month],.wy-control-group .wy-form-thirds input[type=number],.wy-control-group .wy-form-thirds input[type=password],.wy-control-group .wy-form-thirds input[type=search],.wy-control-group .wy-form-thirds input[type=tel],.wy-control-group .wy-form-thirds input[type=text],.wy-control-group .wy-form-thirds input[type=time],.wy-control-group .wy-form-thirds input[type=url],.wy-control-group .wy-form-thirds input[type=week],.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full{float:left;display:block;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.35765%;width:48.82117%}.wy-control-group .wy-form-halves:last-child,.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(odd){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.35765%;width:31.76157%}.wy-control-group .wy-form-thirds:last-child,.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control,.wy-control-no-input{margin:6px 0 0;font-size:90%}.wy-control-no-input{display:inline-block}.wy-control-group.fluid-input input[type=color],.wy-control-group.fluid-input input[type=date],.wy-control-group.fluid-input input[type=datetime-local],.wy-control-group.fluid-input input[type=datetime],.wy-control-group.fluid-input input[type=email],.wy-control-group.fluid-input input[type=month],.wy-control-group.fluid-input input[type=number],.wy-control-group.fluid-input input[type=password],.wy-control-group.fluid-input input[type=search],.wy-control-group.fluid-input input[type=tel],.wy-control-group.fluid-input input[type=text],.wy-control-group.fluid-input input[type=time],.wy-control-group.fluid-input input[type=url],.wy-control-group.fluid-input input[type=week]{width:100%}.wy-form-message-inline{padding-left:.3em;color:#666;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:.3125em;font-style:italic}.wy-form-message p{font-size:inherit;font-style:italic;margin-bottom:6px}.wy-form-message p:last-child{margin-bottom:0}input{line-height:normal}input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;*overflow:visible}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}input[type=datetime-local]{padding:.34375em .625em}input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{padding:0;margin-right:.3125em;*height:13px;*width:13px}input[type=checkbox],input[type=radio],input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus{outline:0;outline:thin dotted\9;border-color:#333}input.no-focus:focus{border-color:#ccc!important}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:thin dotted #333;outline:1px auto #129fea}input[type=color][disabled],input[type=date][disabled],input[type=datetime-local][disabled],input[type=datetime][disabled],input[type=email][disabled],input[type=month][disabled],input[type=number][disabled],input[type=password][disabled],input[type=search][disabled],input[type=tel][disabled],input[type=text][disabled],input[type=time][disabled],input[type=url][disabled],input[type=week][disabled]{cursor:not-allowed;background-color:#fafafa}input:focus:invalid,select:focus:invalid,textarea:focus:invalid{color:#e74c3c;border:1px solid #e74c3c}input:focus:invalid:focus,select:focus:invalid:focus,textarea:focus:invalid:focus{border-color:#e74c3c}input[type=checkbox]:focus:invalid:focus,input[type=file]:focus:invalid:focus,input[type=radio]:focus:invalid:focus{outline-color:#e74c3c}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif}select,textarea{padding:.5em .625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}input[readonly],select[disabled],select[readonly],textarea[disabled],textarea[readonly]{cursor:not-allowed;background-color:#fafafa}input[type=checkbox][disabled],input[type=radio][disabled]{cursor:not-allowed}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap;padding:6px}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{line-height:27px;padding:0 8px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:1px solid #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-switch{position:relative;display:block;height:24px;margin-top:12px;cursor:pointer}.wy-switch:before{left:0;top:0;width:36px;height:12px;background:#ccc}.wy-switch:after,.wy-switch:before{position:absolute;content:"";display:block;border-radius:4px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wy-switch:after{width:18px;height:18px;background:#999;left:-3px;top:-3px}.wy-switch span{position:absolute;left:48px;display:block;font-size:12px;color:#ccc;line-height:1}.wy-switch.active:before{background:#1e8449}.wy-switch.active:after{left:24px;background:#27ae60}.wy-switch.disabled{cursor:not-allowed;opacity:.8}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#e74c3c}.wy-control-group.wy-control-group-error input[type=color],.wy-control-group.wy-control-group-error input[type=date],.wy-control-group.wy-control-group-error input[type=datetime-local],.wy-control-group.wy-control-group-error input[type=datetime],.wy-control-group.wy-control-group-error input[type=email],.wy-control-group.wy-control-group-error input[type=month],.wy-control-group.wy-control-group-error input[type=number],.wy-control-group.wy-control-group-error input[type=password],.wy-control-group.wy-control-group-error input[type=search],.wy-control-group.wy-control-group-error input[type=tel],.wy-control-group.wy-control-group-error input[type=text],.wy-control-group.wy-control-group-error input[type=time],.wy-control-group.wy-control-group-error input[type=url],.wy-control-group.wy-control-group-error input[type=week],.wy-control-group.wy-control-group-error textarea{border:1px solid #e74c3c}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:.5em .625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27ae60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#e74c3c}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#e67e22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980b9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width:480px){.wy-form button[type=submit]{margin:.7em 0 0}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=text],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week],.wy-form label{margin-bottom:.3em;display:block}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0}.wy-form-message,.wy-form-message-inline,.wy-form .wy-help-inline{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width:768px){.tablet-hide{display:none}}@media screen and (max-width:480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.rst-content table.docutils,.rst-content table.field-list,.wy-table{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.rst-content table.docutils caption,.rst-content table.field-list caption,.wy-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.rst-content table.docutils td,.rst-content table.docutils th,.rst-content table.field-list td,.rst-content table.field-list th,.wy-table td,.wy-table th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.rst-content table.docutils td:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list td:first-child,.rst-content table.field-list th:first-child,.wy-table td:first-child,.wy-table th:first-child{border-left-width:0}.rst-content table.docutils thead,.rst-content table.field-list thead,.wy-table thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.rst-content table.docutils thead th,.rst-content table.field-list thead th,.wy-table thead th{font-weight:700;border-bottom:2px solid #e1e4e5}.rst-content table.docutils td,.rst-content table.field-list td,.wy-table td{background-color:transparent;vertical-align:middle}.rst-content table.docutils td p,.rst-content table.field-list td p,.wy-table td p{line-height:18px}.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child,.wy-table td p:last-child{margin-bottom:0}.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min,.wy-table .wy-table-cell-min{width:1%;padding-right:0}.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:grey;font-size:90%}.wy-table-tertiary{color:grey;font-size:80%}.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td,.wy-table-backed,.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td{background-color:#f3f6f6}.rst-content table.docutils,.wy-table-bordered-all{border:1px solid #e1e4e5}.rst-content table.docutils td,.wy-table-bordered-all td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.rst-content table.docutils tbody>tr:last-child td,.wy-table-bordered-all tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0!important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980b9;text-decoration:none;cursor:pointer}a:hover{color:#3091d1}a:visited{color:#9b59b6}html{height:100%}body,html{overflow-x:hidden}body{font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;font-weight:400;color:#404040;min-height:100%;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#e67e22!important}a.wy-text-warning:hover{color:#eb9950!important}.wy-text-info{color:#2980b9!important}a.wy-text-info:hover{color:#409ad5!important}.wy-text-success{color:#27ae60!important}a.wy-text-success:hover{color:#36d278!important}.wy-text-danger{color:#e74c3c!important}a.wy-text-danger:hover{color:#ed7669!important}.wy-text-neutral{color:#404040!important}a.wy-text-neutral:hover{color:#595959!important}.rst-content .toctree-wrapper>p.caption,h1,h2,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif}p{line-height:24px;font-size:16px;margin:0 0 24px}h1{font-size:175%}.rst-content .toctree-wrapper>p.caption,h2{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}.rst-content code,.rst-content tt,code{white-space:nowrap;max-width:100%;background:#fff;border:1px solid #e1e4e5;font-size:75%;padding:0 5px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#e74c3c;overflow-x:auto}.rst-content tt.code-large,code.code-large{font-size:90%}.rst-content .section ul,.rst-content .toctree-wrapper ul,.rst-content section ul,.wy-plain-list-disc,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.rst-content .section ul li,.rst-content .toctree-wrapper ul li,.rst-content section ul li,.wy-plain-list-disc li,article ul li{list-style:disc;margin-left:24px}.rst-content .section ul li p:last-child,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li p:last-child,.rst-content .toctree-wrapper ul li ul,.rst-content section ul li p:last-child,.rst-content section ul li ul,.wy-plain-list-disc li p:last-child,.wy-plain-list-disc li ul,article ul li p:last-child,article ul li ul{margin-bottom:0}.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,.rst-content section ul li li,.wy-plain-list-disc li li,article ul li li{list-style:circle}.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,.rst-content section ul li li li,.wy-plain-list-disc li li li,article ul li li li{list-style:square}.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,.rst-content section ul li ol li,.wy-plain-list-disc li ol li,article ul li ol li{list-style:decimal}.rst-content .section ol,.rst-content .section ol.arabic,.rst-content .toctree-wrapper ol,.rst-content .toctree-wrapper ol.arabic,.rst-content section ol,.rst-content section ol.arabic,.wy-plain-list-decimal,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.rst-content .section ol.arabic li,.rst-content .section ol li,.rst-content .toctree-wrapper ol.arabic li,.rst-content .toctree-wrapper ol li,.rst-content section ol.arabic li,.rst-content section ol li,.wy-plain-list-decimal li,article ol li{list-style:decimal;margin-left:24px}.rst-content .section ol.arabic li ul,.rst-content .section ol li p:last-child,.rst-content .section ol li ul,.rst-content .toctree-wrapper ol.arabic li ul,.rst-content .toctree-wrapper ol li p:last-child,.rst-content .toctree-wrapper ol li ul,.rst-content section ol.arabic li ul,.rst-content section ol li p:last-child,.rst-content section ol li ul,.wy-plain-list-decimal li p:last-child,.wy-plain-list-decimal li ul,article ol li p:last-child,article ol li ul{margin-bottom:0}.rst-content .section ol.arabic li ul li,.rst-content .section ol li ul li,.rst-content .toctree-wrapper ol.arabic li ul li,.rst-content .toctree-wrapper ol li ul li,.rst-content section ol.arabic li ul li,.rst-content section ol li ul li,.wy-plain-list-decimal li ul li,article ol li ul li{list-style:disc}.wy-breadcrumbs{*zoom:1}.wy-breadcrumbs:after,.wy-breadcrumbs:before{display:table;content:""}.wy-breadcrumbs:after{clear:both}.wy-breadcrumbs>li{display:inline-block;padding-top:5px}.wy-breadcrumbs>li.wy-breadcrumbs-aside{float:right}.rst-content .wy-breadcrumbs>li code,.rst-content .wy-breadcrumbs>li tt,.wy-breadcrumbs>li .rst-content tt,.wy-breadcrumbs>li code{all:inherit;color:inherit}.breadcrumb-item:before{content:"/";color:#bbb;font-size:13px;padding:0 6px 0 3px}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width:480px){.wy-breadcrumbs-extra,.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}html{font-size:16px}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:after,.wy-menu-horiz:before{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz li,.wy-menu-horiz ul{display:inline-block}.wy-menu-horiz li:hover{background:hsla(0,0%,100%,.1)}.wy-menu-horiz li.divide-left{border-left:1px solid #404040}.wy-menu-horiz li.divide-right{border-right:1px solid #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical{width:300px}.wy-menu-vertical header,.wy-menu-vertical p.caption{color:#55a5d9;height:32px;line-height:32px;padding:0 1.618em;margin:12px 0 0;display:block;font-weight:700;text-transform:uppercase;font-size:85%;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:1px solid #404040}.wy-menu-vertical li.divide-bottom{border-bottom:1px solid #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:grey;border-right:1px solid #c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.rst-content .wy-menu-vertical li tt,.wy-menu-vertical li .rst-content tt,.wy-menu-vertical li code{border:none;background:inherit;color:inherit;padding-left:0;padding-right:0}.wy-menu-vertical li button.toctree-expand{display:block;float:left;margin-left:-1.2em;line-height:18px;color:#4d4d4d;border:none;background:none;padding:0}.wy-menu-vertical li.current>a,.wy-menu-vertical li.on a{color:#404040;font-weight:700;position:relative;background:#fcfcfc;border:none;padding:.4045em 1.618em}.wy-menu-vertical li.current>a:hover,.wy-menu-vertical li.on a:hover{background:#fcfcfc}.wy-menu-vertical li.current>a:hover button.toctree-expand,.wy-menu-vertical li.on a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand{display:block;line-height:18px;color:#333}.wy-menu-vertical li.toctree-l1.current>a{border-bottom:1px solid #c9c9c9;border-top:1px solid #c9c9c9}.wy-menu-vertical .toctree-l1.current .toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .toctree-l11>ul{display:none}.wy-menu-vertical .toctree-l1.current .current.toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .current.toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .current.toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .current.toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .current.toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .current.toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .current.toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .current.toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .current.toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .current.toctree-l11>ul{display:block}.wy-menu-vertical li.toctree-l3,.wy-menu-vertical li.toctree-l4{font-size:.9em}.wy-menu-vertical li.toctree-l2 a,.wy-menu-vertical li.toctree-l3 a,.wy-menu-vertical li.toctree-l4 a,.wy-menu-vertical li.toctree-l5 a,.wy-menu-vertical li.toctree-l6 a,.wy-menu-vertical li.toctree-l7 a,.wy-menu-vertical li.toctree-l8 a,.wy-menu-vertical li.toctree-l9 a,.wy-menu-vertical li.toctree-l10 a{color:#404040}.wy-menu-vertical li.toctree-l2 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l3 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l4 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l5 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l6 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l7 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l8 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l9 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l10 a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a,.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a,.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a,.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a,.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a,.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a,.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a,.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{display:block}.wy-menu-vertical li.toctree-l2.current>a{padding:.4045em 2.427em}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{padding:.4045em 1.618em .4045em 4.045em}.wy-menu-vertical li.toctree-l3.current>a{padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{padding:.4045em 1.618em .4045em 5.663em}.wy-menu-vertical li.toctree-l4.current>a{padding:.4045em 5.663em}.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a{padding:.4045em 1.618em .4045em 7.281em}.wy-menu-vertical li.toctree-l5.current>a{padding:.4045em 7.281em}.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a{padding:.4045em 1.618em .4045em 8.899em}.wy-menu-vertical li.toctree-l6.current>a{padding:.4045em 8.899em}.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a{padding:.4045em 1.618em .4045em 10.517em}.wy-menu-vertical li.toctree-l7.current>a{padding:.4045em 10.517em}.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a{padding:.4045em 1.618em .4045em 12.135em}.wy-menu-vertical li.toctree-l8.current>a{padding:.4045em 12.135em}.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a{padding:.4045em 1.618em .4045em 13.753em}.wy-menu-vertical li.toctree-l9.current>a{padding:.4045em 13.753em}.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a{padding:.4045em 1.618em .4045em 15.371em}.wy-menu-vertical li.toctree-l10.current>a{padding:.4045em 15.371em}.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{padding:.4045em 1.618em .4045em 16.989em}.wy-menu-vertical li.toctree-l2.current>a,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{background:#c9c9c9}.wy-menu-vertical li.toctree-l2 button.toctree-expand{color:#a3a3a3}.wy-menu-vertical li.toctree-l3.current>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{background:#bdbdbd}.wy-menu-vertical li.toctree-l3 button.toctree-expand{color:#969696}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical li ul li a{margin-bottom:0;color:#d9d9d9;font-weight:400}.wy-menu-vertical a{line-height:18px;padding:.4045em 1.618em;display:block;position:relative;font-size:90%;color:#d9d9d9}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:hover button.toctree-expand{color:#d9d9d9}.wy-menu-vertical a:active{background-color:#2980b9;cursor:pointer;color:#fff}.wy-menu-vertical a:active button.toctree-expand{color:#fff}.wy-side-nav-search{display:block;width:300px;padding:.809em;margin-bottom:.809em;z-index:200;background-color:#2980b9;text-align:center;color:#fcfcfc}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto .809em;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-side-nav-search .wy-dropdown>a,.wy-side-nav-search>a{color:#fcfcfc;font-size:100%;font-weight:700;display:inline-block;padding:4px 6px;margin-bottom:.809em;max-width:100%}.wy-side-nav-search .wy-dropdown>a:hover,.wy-side-nav-search .wy-dropdown>aactive,.wy-side-nav-search .wy-dropdown>afocus,.wy-side-nav-search>a:hover,.wy-side-nav-search>aactive,.wy-side-nav-search>afocus{background:hsla(0,0%,100%,.1)}.wy-side-nav-search .wy-dropdown>a img.logo,.wy-side-nav-search>a img.logo{display:block;margin:0 auto;height:auto;width:auto;border-radius:0;max-width:100%;background:transparent}.wy-side-nav-search .wy-dropdown>a.icon,.wy-side-nav-search>a.icon{display:block}.wy-side-nav-search .wy-dropdown>a.icon img.logo,.wy-side-nav-search>a.icon img.logo{margin-top:.85em}.wy-side-nav-search>div.switch-menus{position:relative;display:block;margin-top:-.4045em;margin-bottom:.809em;font-weight:400;color:hsla(0,0%,100%,.3)}.wy-side-nav-search>div.switch-menus>div.language-switch,.wy-side-nav-search>div.switch-menus>div.version-switch{display:inline-block;padding:.2em}.wy-side-nav-search>div.switch-menus>div.language-switch select,.wy-side-nav-search>div.switch-menus>div.version-switch select{display:inline-block;margin-right:-2rem;padding-right:2rem;max-width:240px;text-align-last:center;background:none;border:none;border-radius:0;box-shadow:none;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;font-size:1em;font-weight:400;color:hsla(0,0%,100%,.3);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none}.wy-side-nav-search>div.switch-menus>div.language-switch select:active,.wy-side-nav-search>div.switch-menus>div.language-switch select:focus,.wy-side-nav-search>div.switch-menus>div.language-switch select:hover,.wy-side-nav-search>div.switch-menus>div.version-switch select:active,.wy-side-nav-search>div.switch-menus>div.version-switch select:focus,.wy-side-nav-search>div.switch-menus>div.version-switch select:hover{background:hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.5)}.wy-side-nav-search>div.switch-menus>div.language-switch select option,.wy-side-nav-search>div.switch-menus>div.version-switch select option{color:#000}.wy-side-nav-search>div.switch-menus>div.language-switch:has(>select):after,.wy-side-nav-search>div.switch-menus>div.version-switch:has(>select):after{display:inline-block;width:1.5em;height:100%;padding:.1em;content:"\f0d7";font-size:1em;line-height:1.2em;font-family:FontAwesome;text-align:center;pointer-events:none;box-sizing:border-box}.wy-nav .wy-menu-vertical header{color:#2980b9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980b9;color:#fff}[data-menu-wrap]{-webkit-transition:all .2s ease-in;-moz-transition:all .2s ease-in;transition:all .2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:#fcfcfc}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:fixed;top:0;bottom:0;left:0;padding-bottom:2em;width:300px;overflow-x:hidden;overflow-y:hidden;min-height:100%;color:#9b9b9b;background:#343131;z-index:200}.wy-side-scroll{width:320px;position:relative;overflow-x:hidden;overflow-y:scroll;height:100%}.wy-nav-top{display:none;background:#2980b9;color:#fff;padding:.4045em .809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:after,.wy-nav-top:before{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:700}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer;padding-top:inherit}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:grey}footer p{margin-bottom:12px}.rst-content footer span.commit tt,footer span.commit .rst-content tt,footer span.commit code{padding:0;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:1em;background:none;border:none;color:grey}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:after,.rst-footer-buttons:before{width:100%;display:table;content:""}.rst-footer-buttons:after{clear:both}.rst-breadcrumbs-buttons{margin-top:12px;*zoom:1}.rst-breadcrumbs-buttons:after,.rst-breadcrumbs-buttons:before{display:table;content:""}.rst-breadcrumbs-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:1px solid #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:1px solid #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:grey;font-size:90%}.genindextable li>ul{margin-left:24px}@media screen and (max-width:768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-menu.wy-menu-vertical,.wy-side-nav-search,.wy-side-scroll{width:auto}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width:1100px){.wy-nav-content-wrap{background:rgba(0,0,0,.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,.wy-nav-side,footer{display:none}.wy-nav-content-wrap{margin-left:0}}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60;*zoom:1}.rst-versions .rst-current-version:after,.rst-versions .rst-current-version:before{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-content .code-block-caption .rst-versions .rst-current-version .headerlink,.rst-content .eqno .rst-versions .rst-current-version .headerlink,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-content p .rst-versions .rst-current-version .headerlink,.rst-content table>caption .rst-versions .rst-current-version .headerlink,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .icon,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-versions .rst-current-version .rst-content .code-block-caption .headerlink,.rst-versions .rst-current-version .rst-content .eqno .headerlink,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-versions .rst-current-version .rst-content p .headerlink,.rst-versions .rst-current-version .rst-content table>caption .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-versions .rst-current-version .wy-menu-vertical li button.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version button.toctree-expand{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions .rst-other-versions .rtd-current-item{font-weight:700}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}#flyout-search-form{padding:6px}.rst-content .toctree-wrapper>p.caption,.rst-content h1,.rst-content h2,.rst-content h3,.rst-content h4,.rst-content h5,.rst-content h6{margin-bottom:24px}.rst-content img{max-width:100%;height:auto}.rst-content div.figure,.rst-content figure{margin-bottom:24px}.rst-content div.figure .caption-text,.rst-content figure .caption-text{font-style:italic}.rst-content div.figure p:last-child.caption,.rst-content figure p:last-child.caption{margin-bottom:0}.rst-content div.figure.align-center,.rst-content figure.align-center{text-align:center}.rst-content .section>a>img,.rst-content .section>img,.rst-content section>a>img,.rst-content section>img{margin-bottom:24px}.rst-content abbr[title]{text-decoration:none}.rst-content.style-external-links a.reference.external:after{font-family:FontAwesome;content:"\f08e";color:#b3b3b3;vertical-align:super;font-size:60%;margin:0 .2em}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content pre.literal-block{white-space:pre;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;display:block;overflow:auto}.rst-content div[class^=highlight],.rst-content pre.literal-block{border:1px solid #e1e4e5;overflow-x:auto;margin:1px 0 24px}.rst-content div[class^=highlight] div[class^=highlight],.rst-content pre.literal-block div[class^=highlight]{padding:0;border:none;margin:0}.rst-content div[class^=highlight] td.code{width:100%}.rst-content .linenodiv pre{border-right:1px solid #e6e9ea;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;user-select:none;pointer-events:none}.rst-content div[class^=highlight] pre{white-space:pre;margin:0;padding:12px;display:block;overflow:auto}.rst-content div[class^=highlight] pre .hll{display:block;margin:0 -12px;padding:0 12px}.rst-content .linenodiv pre,.rst-content div[class^=highlight] pre,.rst-content pre.literal-block{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:12px;line-height:1.4}.rst-content div.highlight .gp,.rst-content div.highlight span.linenos{user-select:none;pointer-events:none}.rst-content div.highlight span.linenos{display:inline-block;padding-left:0;padding-right:12px;margin-right:12px;border-right:1px solid #e6e9ea}.rst-content .code-block-caption{font-style:italic;font-size:85%;line-height:1;padding:1em 0;text-align:center}@media print{.rst-content .codeblock,.rst-content div[class^=highlight],.rst-content div[class^=highlight] pre{white-space:pre-wrap}}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning{clear:both}.rst-content .admonition-todo .last,.rst-content .admonition-todo>:last-child,.rst-content .admonition .last,.rst-content .admonition>:last-child,.rst-content .attention .last,.rst-content .attention>:last-child,.rst-content .caution .last,.rst-content .caution>:last-child,.rst-content .danger .last,.rst-content .danger>:last-child,.rst-content .error .last,.rst-content .error>:last-child,.rst-content .hint .last,.rst-content .hint>:last-child,.rst-content .important .last,.rst-content .important>:last-child,.rst-content .note .last,.rst-content .note>:last-child,.rst-content .seealso .last,.rst-content .seealso>:last-child,.rst-content .tip .last,.rst-content .tip>:last-child,.rst-content .warning .last,.rst-content .warning>:last-child{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent!important;border-color:rgba(0,0,0,.1)!important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha>li,.rst-content .toctree-wrapper ol.loweralpha,.rst-content .toctree-wrapper ol.loweralpha>li,.rst-content section ol.loweralpha,.rst-content section ol.loweralpha>li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha>li,.rst-content .toctree-wrapper ol.upperalpha,.rst-content .toctree-wrapper ol.upperalpha>li,.rst-content section ol.upperalpha,.rst-content section ol.upperalpha>li{list-style:upper-alpha}.rst-content .section ol li>*,.rst-content .section ul li>*,.rst-content .toctree-wrapper ol li>*,.rst-content .toctree-wrapper ul li>*,.rst-content section ol li>*,.rst-content section ul li>*{margin-top:12px;margin-bottom:12px}.rst-content .section ol li>:first-child,.rst-content .section ul li>:first-child,.rst-content .toctree-wrapper ol li>:first-child,.rst-content .toctree-wrapper ul li>:first-child,.rst-content section ol li>:first-child,.rst-content section ul li>:first-child{margin-top:0}.rst-content .section ol li>p,.rst-content .section ol li>p:last-child,.rst-content .section ul li>p,.rst-content .section ul li>p:last-child,.rst-content .toctree-wrapper ol li>p,.rst-content .toctree-wrapper ol li>p:last-child,.rst-content .toctree-wrapper ul li>p,.rst-content .toctree-wrapper ul li>p:last-child,.rst-content section ol li>p,.rst-content section ol li>p:last-child,.rst-content section ul li>p,.rst-content section ul li>p:last-child{margin-bottom:12px}.rst-content .section ol li>p:only-child,.rst-content .section ol li>p:only-child:last-child,.rst-content .section ul li>p:only-child,.rst-content .section ul li>p:only-child:last-child,.rst-content .toctree-wrapper ol li>p:only-child,.rst-content .toctree-wrapper ol li>p:only-child:last-child,.rst-content .toctree-wrapper ul li>p:only-child,.rst-content .toctree-wrapper ul li>p:only-child:last-child,.rst-content section ol li>p:only-child,.rst-content section ol li>p:only-child:last-child,.rst-content section ul li>p:only-child,.rst-content section ul li>p:only-child:last-child{margin-bottom:0}.rst-content .section ol li>ol,.rst-content .section ol li>ul,.rst-content .section ul li>ol,.rst-content .section ul li>ul,.rst-content .toctree-wrapper ol li>ol,.rst-content .toctree-wrapper ol li>ul,.rst-content .toctree-wrapper ul li>ol,.rst-content .toctree-wrapper ul li>ul,.rst-content section ol li>ol,.rst-content section ol li>ul,.rst-content section ul li>ol,.rst-content section ul li>ul{margin-bottom:12px}.rst-content .section ol.simple li>*,.rst-content .section ol.simple li ol,.rst-content .section ol.simple li ul,.rst-content .section ul.simple li>*,.rst-content .section ul.simple li ol,.rst-content .section ul.simple li ul,.rst-content .toctree-wrapper ol.simple li>*,.rst-content .toctree-wrapper ol.simple li ol,.rst-content .toctree-wrapper ol.simple li ul,.rst-content .toctree-wrapper ul.simple li>*,.rst-content .toctree-wrapper ul.simple li ol,.rst-content .toctree-wrapper ul.simple li ul,.rst-content section ol.simple li>*,.rst-content section ol.simple li ol,.rst-content section ol.simple li ul,.rst-content section ul.simple li>*,.rst-content section ul.simple li ol,.rst-content section ul.simple li ul{margin-top:0;margin-bottom:0}.rst-content .line-block{margin-left:0;margin-bottom:24px;line-height:24px}.rst-content .line-block .line-block{margin-left:24px;margin-bottom:0}.rst-content .topic-title{font-weight:700;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0 0 24px 24px}.rst-content .align-left{float:left;margin:0 24px 24px 0}.rst-content .align-center{margin:auto}.rst-content .align-center:not(table){display:block}.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink{opacity:0;font-size:14px;font-family:FontAwesome;margin-left:.5em}.rst-content .code-block-caption .headerlink:focus,.rst-content .code-block-caption:hover .headerlink,.rst-content .eqno .headerlink:focus,.rst-content .eqno:hover .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink:focus,.rst-content .toctree-wrapper>p.caption:hover .headerlink,.rst-content dl dt .headerlink:focus,.rst-content dl dt:hover .headerlink,.rst-content h1 .headerlink:focus,.rst-content h1:hover .headerlink,.rst-content h2 .headerlink:focus,.rst-content h2:hover .headerlink,.rst-content h3 .headerlink:focus,.rst-content h3:hover .headerlink,.rst-content h4 .headerlink:focus,.rst-content h4:hover .headerlink,.rst-content h5 .headerlink:focus,.rst-content h5:hover .headerlink,.rst-content h6 .headerlink:focus,.rst-content h6:hover .headerlink,.rst-content p.caption .headerlink:focus,.rst-content p.caption:hover .headerlink,.rst-content p .headerlink:focus,.rst-content p:hover .headerlink,.rst-content table>caption .headerlink:focus,.rst-content table>caption:hover .headerlink{opacity:1}.rst-content p a{overflow-wrap:anywhere}.rst-content .wy-table td p,.rst-content .wy-table td ul,.rst-content .wy-table th p,.rst-content .wy-table th ul,.rst-content table.docutils td p,.rst-content table.docutils td ul,.rst-content table.docutils th p,.rst-content table.docutils th ul,.rst-content table.field-list td p,.rst-content table.field-list td ul,.rst-content table.field-list th p,.rst-content table.field-list th ul{font-size:inherit}.rst-content .btn:focus{outline:2px solid}.rst-content table>caption .headerlink:after{font-size:12px}.rst-content .centered{text-align:center}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:1px solid #e1e4e5}.rst-content .sidebar dl,.rst-content .sidebar p,.rst-content .sidebar ul{font-size:90%}.rst-content .sidebar .last,.rst-content .sidebar>:last-child{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif;font-weight:700;background:#e1e4e5;padding:6px 12px;margin:-24px -24px 24px;font-size:100%}.rst-content .highlighted{background:#f1c40f;box-shadow:0 0 0 2px #f1c40f;display:inline;font-weight:700}.rst-content .citation-reference,.rst-content .footnote-reference{vertical-align:baseline;position:relative;top:-.4em;line-height:0;font-size:90%}.rst-content .citation-reference>span.fn-bracket,.rst-content .footnote-reference>span.fn-bracket{display:none}.rst-content .hlist{width:100%}.rst-content dl dt span.classifier:before{content:" : "}.rst-content dl dt span.classifier-delimiter{display:none!important}html.writer-html4 .rst-content table.docutils.citation,html.writer-html4 .rst-content table.docutils.footnote{background:none;border:none}html.writer-html4 .rst-content table.docutils.citation td,html.writer-html4 .rst-content table.docutils.citation tr,html.writer-html4 .rst-content table.docutils.footnote td,html.writer-html4 .rst-content table.docutils.footnote tr{border:none;background-color:transparent!important;white-space:normal}html.writer-html4 .rst-content table.docutils.citation td.label,html.writer-html4 .rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{display:grid;grid-template-columns:auto minmax(80%,95%)}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{display:inline-grid;grid-template-columns:max-content auto}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{display:grid;grid-template-columns:auto auto minmax(.65rem,auto) minmax(40%,95%)}html.writer-html5 .rst-content aside.citation>span.label,html.writer-html5 .rst-content aside.footnote>span.label,html.writer-html5 .rst-content div.citation>span.label{grid-column-start:1;grid-column-end:2}html.writer-html5 .rst-content aside.citation>span.backrefs,html.writer-html5 .rst-content aside.footnote>span.backrefs,html.writer-html5 .rst-content div.citation>span.backrefs{grid-column-start:2;grid-column-end:3;grid-row-start:1;grid-row-end:3}html.writer-html5 .rst-content aside.citation>p,html.writer-html5 .rst-content aside.footnote>p,html.writer-html5 .rst-content div.citation>p{grid-column-start:4;grid-column-end:5}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{margin-bottom:24px}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{padding-left:1rem}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dd,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dd,html.writer-html5 .rst-content dl.footnote>dt{margin-bottom:0}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{font-size:.9rem}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.footnote>dt{margin:0 .5rem .5rem 0;line-height:1.2rem;word-break:break-all;font-weight:400}html.writer-html5 .rst-content dl.citation>dt>span.brackets:before,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:before{content:"["}html.writer-html5 .rst-content dl.citation>dt>span.brackets:after,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:after{content:"]"}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a{word-break:keep-all}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a:not(:first-child):before,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.footnote>dd{margin:0 0 .5rem;line-height:1.2rem}html.writer-html5 .rst-content dl.citation>dd p,html.writer-html5 .rst-content dl.footnote>dd p{font-size:.9rem}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{padding-left:1rem;padding-right:1rem;font-size:.9rem;line-height:1.2rem}html.writer-html5 .rst-content aside.citation p,html.writer-html5 .rst-content aside.footnote p,html.writer-html5 .rst-content div.citation p{font-size:.9rem;line-height:1.2rem;margin-bottom:12px}html.writer-html5 .rst-content aside.citation span.backrefs,html.writer-html5 .rst-content aside.footnote span.backrefs,html.writer-html5 .rst-content div.citation span.backrefs{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content aside.citation span.backrefs>a,html.writer-html5 .rst-content aside.footnote span.backrefs>a,html.writer-html5 .rst-content div.citation span.backrefs>a{word-break:keep-all}html.writer-html5 .rst-content aside.citation span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content aside.footnote span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content div.citation span.backrefs>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content aside.citation span.label,html.writer-html5 .rst-content aside.footnote span.label,html.writer-html5 .rst-content div.citation span.label{line-height:1.2rem}html.writer-html5 .rst-content aside.citation-list,html.writer-html5 .rst-content aside.footnote-list,html.writer-html5 .rst-content div.citation-list{margin-bottom:24px}html.writer-html5 .rst-content dl.option-list kbd{font-size:.9rem}.rst-content table.docutils.footnote,html.writer-html4 .rst-content table.docutils.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content aside.footnote-list aside.footnote,html.writer-html5 .rst-content div.citation-list>div.citation,html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{color:grey}.rst-content table.docutils.footnote code,.rst-content table.docutils.footnote tt,html.writer-html4 .rst-content table.docutils.citation code,html.writer-html4 .rst-content table.docutils.citation tt,html.writer-html5 .rst-content aside.footnote-list aside.footnote code,html.writer-html5 .rst-content aside.footnote-list aside.footnote tt,html.writer-html5 .rst-content aside.footnote code,html.writer-html5 .rst-content aside.footnote tt,html.writer-html5 .rst-content div.citation-list>div.citation code,html.writer-html5 .rst-content div.citation-list>div.citation tt,html.writer-html5 .rst-content dl.citation code,html.writer-html5 .rst-content dl.citation tt,html.writer-html5 .rst-content dl.footnote code,html.writer-html5 .rst-content dl.footnote tt{color:#555}.rst-content .wy-table-responsive.citation,.rst-content .wy-table-responsive.footnote{margin-bottom:0}.rst-content .wy-table-responsive.citation+:not(.citation),.rst-content .wy-table-responsive.footnote+:not(.footnote){margin-top:24px}.rst-content .wy-table-responsive.citation:last-child,.rst-content .wy-table-responsive.footnote:last-child{margin-bottom:24px}.rst-content table.docutils th{border-color:#e1e4e5}html.writer-html5 .rst-content table.docutils th{border:1px solid #e1e4e5}html.writer-html5 .rst-content table.docutils td>p,html.writer-html5 .rst-content table.docutils th>p{line-height:1rem;margin-bottom:0;font-size:.9rem}.rst-content table.docutils td .last,.rst-content table.docutils td .last>:last-child{margin-bottom:0}.rst-content table.field-list,.rst-content table.field-list td{border:none}.rst-content table.field-list td p{line-height:inherit}.rst-content table.field-list td>strong{display:inline-block}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left}.rst-content code,.rst-content tt{color:#000;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;padding:2px 5px}.rst-content code big,.rst-content code em,.rst-content tt big,.rst-content tt em{font-size:100%!important;line-height:normal}.rst-content code.literal,.rst-content tt.literal{color:#e74c3c;white-space:normal}.rst-content code.xref,.rst-content tt.xref,a .rst-content code,a .rst-content tt{font-weight:700;color:#404040;overflow-wrap:normal}.rst-content kbd,.rst-content pre,.rst-content samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace}.rst-content a code,.rst-content a tt{color:#2980b9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:700;margin-bottom:12px}.rst-content dl ol,.rst-content dl p,.rst-content dl table,.rst-content dl ul{margin-bottom:12px}.rst-content dl dd{margin:0 0 12px 24px;line-height:24px}.rst-content dl dd>ol:last-child,.rst-content dl dd>p:last-child,.rst-content dl dd>table:last-child,.rst-content dl dd>ul:last-child{margin-bottom:0}html.writer-html4 .rst-content dl:not(.docutils),html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple){margin-bottom:24px}html.writer-html4 .rst-content dl:not(.docutils)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{display:table;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980b9;border-top:3px solid #6ab0de;padding:6px;position:relative}html.writer-html4 .rst-content dl:not(.docutils)>dt:before,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:before{color:#6ab0de}html.writer-html4 .rst-content dl:not(.docutils)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{margin-bottom:6px;border:none;border-left:3px solid #ccc;background:#f0f0f0;color:#555}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils)>dt:first-child,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:first-child{margin-top:0}html.writer-html4 .rst-content dl:not(.docutils) code.descclassname,html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descclassname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{background-color:transparent;border:none;padding:0;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .optional,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .property,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .property{display:inline-block;padding-right:8px;max-width:100%}html.writer-html4 .rst-content dl:not(.docutils) .k,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .k{font-style:italic}html.writer-html4 .rst-content dl:not(.docutils) .descclassname,html.writer-html4 .rst-content dl:not(.docutils) .descname,html.writer-html4 .rst-content dl:not(.docutils) .sig-name,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .sig-name{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#000}.rst-content .viewcode-back,.rst-content .viewcode-link{display:inline-block;color:#27ae60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:700}.rst-content code.download,.rst-content tt.download{background:inherit;padding:inherit;font-weight:400;font-family:inherit;font-size:inherit;color:inherit;border:inherit;white-space:inherit}.rst-content code.download span:first-child,.rst-content tt.download span:first-child{-webkit-font-smoothing:subpixel-antialiased}.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{margin-right:4px}.rst-content .guilabel,.rst-content .menuselection{font-size:80%;font-weight:700;border-radius:4px;padding:2.4px 6px;margin:auto 2px}.rst-content .guilabel,.rst-content .menuselection{border:1px solid #7fbbe3;background:#e7f2fa}.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>.kbd,.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>kbd{color:inherit;font-size:80%;background-color:#fff;border:1px solid #a6a6a6;border-radius:4px;box-shadow:0 2px grey;padding:2.4px 6px;margin:auto 0}.rst-content .versionmodified{font-style:italic}@media screen and (max-width:480px){.rst-content .sidebar{width:100%}}span[id*=MathJax-Span]{color:#404040}.math{text-align:center}@font-face{font-family:Lato;src:url(fonts/lato-normal.woff2?bd03a2cc277bbbc338d464e679fe9942) format("woff2"),url(fonts/lato-normal.woff?27bd77b9162d388cb8d4c4217c7c5e2a) format("woff");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold.woff2?cccb897485813c7c256901dbca54ecf2) format("woff2"),url(fonts/lato-bold.woff?d878b6c29b10beca227e9eef4246111b) format("woff");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold-italic.woff2?0b6bb6725576b072c5d0b02ecdd1900d) format("woff2"),url(fonts/lato-bold-italic.woff?9c7e4e9eb485b4a121c760e61bc3707c) format("woff");font-weight:700;font-style:italic;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-normal-italic.woff2?4eb103b4d12be57cb1d040ed5e162e9d) format("woff2"),url(fonts/lato-normal-italic.woff?f28f2d6482446544ef1ea1ccc6dd5892) format("woff");font-weight:400;font-style:italic;font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(fonts/Roboto-Slab-Regular.woff2?7abf5b8d04d26a2cafea937019bca958) format("woff2"),url(fonts/Roboto-Slab-Regular.woff?c1be9284088d487c5e3ff0a10a92e58c) format("woff");font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(fonts/Roboto-Slab-Bold.woff2?9984f4a9bda09be08e83f2506954adbe) format("woff2"),url(fonts/Roboto-Slab-Bold.woff?bed5564a116b05148e3b3bea6fb1162a) format("woff");font-display:block}
    \ No newline at end of file
    diff --git a/doc/build/html/_static/doctools.js b/doc/build/html/_static/doctools.js
    index c3db08d1..0398ebb9 100644
    --- a/doc/build/html/_static/doctools.js
    +++ b/doc/build/html/_static/doctools.js
    @@ -1,15 +1,15 @@
     /*
    - * doctools.js
    - * ~~~~~~~~~~~
    - *
      * Base JavaScript utilities for all Sphinx HTML documentation.
    - *
    - * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
    - * :license: BSD, see LICENSE for details.
    - *
      */
     "use strict";
     
    +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([
    +  "TEXTAREA",
    +  "INPUT",
    +  "SELECT",
    +  "BUTTON",
    +]);
    +
     const _ready = (callback) => {
       if (document.readyState !== "loading") {
         callback();
    @@ -18,73 +18,11 @@ const _ready = (callback) => {
       }
     };
     
    -/**
    - * highlight a given string on a node by wrapping it in
    - * span elements with the given class name.
    - */
    -const _highlight = (node, addItems, text, className) => {
    -  if (node.nodeType === Node.TEXT_NODE) {
    -    const val = node.nodeValue;
    -    const parent = node.parentNode;
    -    const pos = val.toLowerCase().indexOf(text);
    -    if (
    -      pos >= 0 &&
    -      !parent.classList.contains(className) &&
    -      !parent.classList.contains("nohighlight")
    -    ) {
    -      let span;
    -
    -      const closestNode = parent.closest("body, svg, foreignObject");
    -      const isInSVG = closestNode && closestNode.matches("svg");
    -      if (isInSVG) {
    -        span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
    -      } else {
    -        span = document.createElement("span");
    -        span.classList.add(className);
    -      }
    -
    -      span.appendChild(document.createTextNode(val.substr(pos, text.length)));
    -      parent.insertBefore(
    -        span,
    -        parent.insertBefore(
    -          document.createTextNode(val.substr(pos + text.length)),
    -          node.nextSibling
    -        )
    -      );
    -      node.nodeValue = val.substr(0, pos);
    -
    -      if (isInSVG) {
    -        const rect = document.createElementNS(
    -          "http://www.w3.org/2000/svg",
    -          "rect"
    -        );
    -        const bbox = parent.getBBox();
    -        rect.x.baseVal.value = bbox.x;
    -        rect.y.baseVal.value = bbox.y;
    -        rect.width.baseVal.value = bbox.width;
    -        rect.height.baseVal.value = bbox.height;
    -        rect.setAttribute("class", className);
    -        addItems.push({ parent: parent, target: rect });
    -      }
    -    }
    -  } else if (node.matches && !node.matches("button, select, textarea")) {
    -    node.childNodes.forEach((el) => _highlight(el, addItems, text, className));
    -  }
    -};
    -const _highlightText = (thisNode, text, className) => {
    -  let addItems = [];
    -  _highlight(thisNode, addItems, text, className);
    -  addItems.forEach((obj) =>
    -    obj.parent.insertAdjacentElement("beforebegin", obj.target)
    -  );
    -};
    -
     /**
      * Small JavaScript module for the documentation.
      */
     const Documentation = {
       init: () => {
    -    Documentation.highlightSearchWords();
         Documentation.initDomainIndexTable();
         Documentation.initOnKeyListeners();
       },
    @@ -126,51 +64,6 @@ const Documentation = {
         Documentation.LOCALE = catalog.locale;
       },
     
    -  /**
    -   * highlight the search words provided in the url in the text
    -   */
    -  highlightSearchWords: () => {
    -    const highlight =
    -      new URLSearchParams(window.location.search).get("highlight") || "";
    -    const terms = highlight.toLowerCase().split(/\s+/).filter(x => x);
    -    if (terms.length === 0) return; // nothing to do
    -
    -    // There should never be more than one element matching "div.body"
    -    const divBody = document.querySelectorAll("div.body");
    -    const body = divBody.length ? divBody[0] : document.querySelector("body");
    -    window.setTimeout(() => {
    -      terms.forEach((term) => _highlightText(body, term, "highlighted"));
    -    }, 10);
    -
    -    const searchBox = document.getElementById("searchbox");
    -    if (searchBox === null) return;
    -    searchBox.appendChild(
    -      document
    -        .createRange()
    -        .createContextualFragment(
    -          '"
    -        )
    -    );
    -  },
    -
    -  /**
    -   * helper function to hide the search marks again
    -   */
    -  hideSearchWords: () => {
    -    document
    -      .querySelectorAll("#searchbox .highlight-link")
    -      .forEach((el) => el.remove());
    -    document
    -      .querySelectorAll("span.highlighted")
    -      .forEach((el) => el.classList.remove("highlighted"));
    -    const url = new URL(window.location);
    -    url.searchParams.delete("highlight");
    -    window.history.replaceState({}, "", url);
    -  },
    -
       /**
        * helper function to focus on search bar
        */
    @@ -210,15 +103,11 @@ const Documentation = {
         )
           return;
     
    -    const blacklistedElements = new Set([
    -      "TEXTAREA",
    -      "INPUT",
    -      "SELECT",
    -      "BUTTON",
    -    ]);
         document.addEventListener("keydown", (event) => {
    -      if (blacklistedElements.has(document.activeElement.tagName)) return; // bail for input elements
    -      if (event.altKey || event.ctrlKey || event.metaKey) return; // bail with special keys
    +      // bail for input elements
    +      if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return;
    +      // bail with special keys
    +      if (event.altKey || event.ctrlKey || event.metaKey) return;
     
           if (!event.shiftKey) {
             switch (event.key) {
    @@ -240,10 +129,6 @@ const Documentation = {
                   event.preventDefault();
                 }
                 break;
    -          case "Escape":
    -            if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break;
    -            Documentation.hideSearchWords();
    -            event.preventDefault();
             }
           }
     
    diff --git a/doc/build/html/_static/documentation_options.js b/doc/build/html/_static/documentation_options.js
    index 908cd41f..b86f7e34 100644
    --- a/doc/build/html/_static/documentation_options.js
    +++ b/doc/build/html/_static/documentation_options.js
    @@ -1,5 +1,4 @@
    -var DOCUMENTATION_OPTIONS = {
    -    URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
    +const DOCUMENTATION_OPTIONS = {
         VERSION: '0.20',
         LANGUAGE: 'en',
         COLLAPSE_INDEX: false,
    @@ -10,5 +9,5 @@ var DOCUMENTATION_OPTIONS = {
         SOURCELINK_SUFFIX: '.txt',
         NAVIGATION_WITH_KEYS: false,
         SHOW_SEARCH_SUMMARY: true,
    -    ENABLE_SEARCH_SHORTCUTS: false,
    +    ENABLE_SEARCH_SHORTCUTS: true,
     };
    \ No newline at end of file
    diff --git a/doc/build/html/_static/graphviz.css b/doc/build/html/_static/graphviz.css
    index 19e7afd3..30f3837b 100644
    --- a/doc/build/html/_static/graphviz.css
    +++ b/doc/build/html/_static/graphviz.css
    @@ -1,12 +1,5 @@
     /*
    - * graphviz.css
    - * ~~~~~~~~~~~~
    - *
      * Sphinx stylesheet -- graphviz extension.
    - *
    - * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
    - * :license: BSD, see LICENSE for details.
    - *
      */
     
     img.graphviz {
    diff --git a/doc/build/html/_static/language_data.js b/doc/build/html/_static/language_data.js
    index 2e22b06a..c7fe6c6f 100644
    --- a/doc/build/html/_static/language_data.js
    +++ b/doc/build/html/_static/language_data.js
    @@ -1,19 +1,12 @@
     /*
    - * language_data.js
    - * ~~~~~~~~~~~~~~~~
    - *
      * This script contains the language-specific data used by searchtools.js,
      * namely the list of stopwords, stemmer, scorer and splitter.
    - *
    - * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
    - * :license: BSD, see LICENSE for details.
    - *
      */
     
     var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"];
     
     
    -/* Non-minified version is copied as a separate JS file, is available */
    +/* Non-minified version is copied as a separate JS file, if available */
     
     /**
      * Porter Stemmer
    diff --git a/doc/build/html/_static/pygments.css b/doc/build/html/_static/pygments.css
    index 691aeb82..0d49244e 100644
    --- a/doc/build/html/_static/pygments.css
    +++ b/doc/build/html/_static/pygments.css
    @@ -17,6 +17,7 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
     .highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
     .highlight .gd { color: #A00000 } /* Generic.Deleted */
     .highlight .ge { font-style: italic } /* Generic.Emph */
    +.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
     .highlight .gr { color: #FF0000 } /* Generic.Error */
     .highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
     .highlight .gi { color: #00A000 } /* Generic.Inserted */
    diff --git a/doc/build/html/_static/searchtools.js b/doc/build/html/_static/searchtools.js
    index ac4d5861..2c774d17 100644
    --- a/doc/build/html/_static/searchtools.js
    +++ b/doc/build/html/_static/searchtools.js
    @@ -1,12 +1,5 @@
     /*
    - * searchtools.js
    - * ~~~~~~~~~~~~~~~~
    - *
      * Sphinx JavaScript utilities for the full-text search.
    - *
    - * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
    - * :license: BSD, see LICENSE for details.
    - *
      */
     "use strict";
     
    @@ -20,7 +13,7 @@ if (typeof Scorer === "undefined") {
         // and returns the new score.
         /*
         score: result => {
    -      const [docname, title, anchor, descr, score, filename] = result
    +      const [docname, title, anchor, descr, score, filename, kind] = result
           return score
         },
         */
    @@ -47,6 +40,14 @@ if (typeof Scorer === "undefined") {
       };
     }
     
    +// Global search result kind enum, used by themes to style search results.
    +class SearchResultKind {
    +    static get index() { return  "index"; }
    +    static get object() { return "object"; }
    +    static get text() { return "text"; }
    +    static get title() { return "title"; }
    +}
    +
     const _removeChildren = (element) => {
       while (element && element.lastChild) element.removeChild(element.lastChild);
     };
    @@ -57,16 +58,20 @@ const _removeChildren = (element) => {
     const _escapeRegExp = (string) =>
       string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
     
    -const _displayItem = (item, highlightTerms, searchTerms) => {
    +const _displayItem = (item, searchTerms, highlightTerms) => {
       const docBuilder = DOCUMENTATION_OPTIONS.BUILDER;
    -  const docUrlRoot = DOCUMENTATION_OPTIONS.URL_ROOT;
       const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX;
       const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX;
       const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY;
    +  const contentRoot = document.documentElement.dataset.content_root;
     
    -  const [docName, title, anchor, descr] = item;
    +  const [docName, title, anchor, descr, score, _filename, kind] = item;
     
       let listItem = document.createElement("li");
    +  // Add a class representing the item's type:
    +  // can be used by a theme's CSS selector for styling
    +  // See SearchResultKind for the class names.
    +  listItem.classList.add(`kind-${kind}`);
       let requestUrl;
       let linkUrl;
       if (docBuilder === "dirhtml") {
    @@ -75,29 +80,35 @@ const _displayItem = (item, highlightTerms, searchTerms) => {
         if (dirname.match(/\/index\/$/))
           dirname = dirname.substring(0, dirname.length - 6);
         else if (dirname === "index/") dirname = "";
    -    requestUrl = docUrlRoot + dirname;
    +    requestUrl = contentRoot + dirname;
         linkUrl = requestUrl;
       } else {
         // normal html builders
    -    requestUrl = docUrlRoot + docName + docFileSuffix;
    +    requestUrl = contentRoot + docName + docFileSuffix;
         linkUrl = docName + docLinkSuffix;
       }
    -  const params = new URLSearchParams();
    -  params.set("highlight", [...highlightTerms].join(" "));
       let linkEl = listItem.appendChild(document.createElement("a"));
    -  linkEl.href = linkUrl + "?" + params.toString() + anchor;
    +  linkEl.href = linkUrl + anchor;
    +  linkEl.dataset.score = score;
       linkEl.innerHTML = title;
    -  if (descr)
    -    listItem.appendChild(document.createElement("span")).innerText =
    +  if (descr) {
    +    listItem.appendChild(document.createElement("span")).innerHTML =
           " (" + descr + ")";
    +    // highlight search terms in the description
    +    if (SPHINX_HIGHLIGHT_ENABLED)  // set in sphinx_highlight.js
    +      highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted"));
    +  }
       else if (showSearchSummary)
         fetch(requestUrl)
           .then((responseData) => responseData.text())
           .then((data) => {
             if (data)
               listItem.appendChild(
    -            Search.makeSearchSummary(data, searchTerms, highlightTerms)
    +            Search.makeSearchSummary(data, searchTerms, anchor)
               );
    +        // highlight search terms in the summary
    +        if (SPHINX_HIGHLIGHT_ENABLED)  // set in sphinx_highlight.js
    +          highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted"));
           });
       Search.output.appendChild(listItem);
     };
    @@ -109,28 +120,46 @@ const _finishSearch = (resultCount) => {
           "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories."
         );
       else
    -    Search.status.innerText = _(
    -      `Search finished, found ${resultCount} page(s) matching the search query.`
    -    );
    +    Search.status.innerText = Documentation.ngettext(
    +      "Search finished, found one page matching the search query.",
    +      "Search finished, found ${resultCount} pages matching the search query.",
    +      resultCount,
    +    ).replace('${resultCount}', resultCount);
     };
     const _displayNextItem = (
       results,
       resultCount,
    +  searchTerms,
       highlightTerms,
    -  searchTerms
     ) => {
       // results left, load the summary and display it
       // this is intended to be dynamic (don't sub resultsCount)
       if (results.length) {
    -    _displayItem(results.pop(), highlightTerms, searchTerms);
    +    _displayItem(results.pop(), searchTerms, highlightTerms);
         setTimeout(
    -      () => _displayNextItem(results, resultCount, highlightTerms, searchTerms),
    +      () => _displayNextItem(results, resultCount, searchTerms, highlightTerms),
           5
         );
       }
       // search finished, update title and status message
       else _finishSearch(resultCount);
     };
    +// Helper function used by query() to order search results.
    +// Each input is an array of [docname, title, anchor, descr, score, filename, kind].
    +// Order the results by score (in opposite order of appearance, since the
    +// `_displayNextItem` function uses pop() to retrieve items) and then alphabetically.
    +const _orderResultsByScoreThenName = (a, b) => {
    +  const leftScore = a[4];
    +  const rightScore = b[4];
    +  if (leftScore === rightScore) {
    +    // same score: sort alphabetically
    +    const leftTitle = a[1].toLowerCase();
    +    const rightTitle = b[1].toLowerCase();
    +    if (leftTitle === rightTitle) return 0;
    +    return leftTitle > rightTitle ? -1 : 1; // inverted is intentional
    +  }
    +  return leftScore > rightScore ? 1 : -1;
    +};
     
     /**
      * Default splitQuery function. Can be overridden in ``sphinx.search`` with a
    @@ -154,15 +183,26 @@ const Search = {
       _queued_query: null,
       _pulse_status: -1,
     
    -  htmlToText: (htmlString) => {
    -    const htmlElement = document
    -      .createRange()
    -      .createContextualFragment(htmlString);
    -    _removeChildren(htmlElement.querySelectorAll(".headerlink"));
    +  htmlToText: (htmlString, anchor) => {
    +    const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html');
    +    for (const removalQuery of [".headerlink", "script", "style"]) {
    +      htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() });
    +    }
    +    if (anchor) {
    +      const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`);
    +      if (anchorContent) return anchorContent.textContent;
    +
    +      console.warn(
    +        `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.`
    +      );
    +    }
    +
    +    // if anchor not specified or not found, fall back to main content
         const docContent = htmlElement.querySelector('[role="main"]');
    -    if (docContent !== undefined) return docContent.textContent;
    +    if (docContent) return docContent.textContent;
    +
         console.warn(
    -      "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template."
    +      "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template."
         );
         return "";
       },
    @@ -215,6 +255,7 @@ const Search = {
         searchSummary.classList.add("search-summary");
         searchSummary.innerText = "";
         const searchList = document.createElement("ul");
    +    searchList.setAttribute("role", "list");
         searchList.classList.add("search");
     
         const out = document.getElementById("search-results");
    @@ -235,10 +276,7 @@ const Search = {
         else Search.deferQuery(query);
       },
     
    -  /**
    -   * execute search (requires search index to be loaded)
    -   */
    -  query: (query) => {
    +  _parseQuery: (query) => {
         // stem the search terms and add them to the correct list
         const stemmer = new Stemmer();
         const searchTerms = new Set();
    @@ -266,40 +304,98 @@ const Search = {
           }
         });
     
    +    if (SPHINX_HIGHLIGHT_ENABLED) {  // set in sphinx_highlight.js
    +      localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" "))
    +    }
    +
         // console.debug("SEARCH: searching for:");
         // console.info("required: ", [...searchTerms]);
         // console.info("excluded: ", [...excludedTerms]);
     
    -    // array of [docname, title, anchor, descr, score, filename]
    -    let results = [];
    +    return [query, searchTerms, excludedTerms, highlightTerms, objectTerms];
    +  },
    +
    +  /**
    +   * execute search (requires search index to be loaded)
    +   */
    +  _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => {
    +    const filenames = Search._index.filenames;
    +    const docNames = Search._index.docnames;
    +    const titles = Search._index.titles;
    +    const allTitles = Search._index.alltitles;
    +    const indexEntries = Search._index.indexentries;
    +
    +    // Collect multiple result groups to be sorted separately and then ordered.
    +    // Each is an array of [docname, title, anchor, descr, score, filename, kind].
    +    const normalResults = [];
    +    const nonMainIndexResults = [];
    +
         _removeChildren(document.getElementById("search-progress"));
     
    +    const queryLower = query.toLowerCase().trim();
    +    for (const [title, foundTitles] of Object.entries(allTitles)) {
    +      if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) {
    +        for (const [file, id] of foundTitles) {
    +          const score = Math.round(Scorer.title * queryLower.length / title.length);
    +          const boost = titles[file] === title ? 1 : 0;  // add a boost for document titles
    +          normalResults.push([
    +            docNames[file],
    +            titles[file] !== title ? `${titles[file]} > ${title}` : title,
    +            id !== null ? "#" + id : "",
    +            null,
    +            score + boost,
    +            filenames[file],
    +            SearchResultKind.title,
    +          ]);
    +        }
    +      }
    +    }
    +
    +    // search for explicit entries in index directives
    +    for (const [entry, foundEntries] of Object.entries(indexEntries)) {
    +      if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) {
    +        for (const [file, id, isMain] of foundEntries) {
    +          const score = Math.round(100 * queryLower.length / entry.length);
    +          const result = [
    +            docNames[file],
    +            titles[file],
    +            id ? "#" + id : "",
    +            null,
    +            score,
    +            filenames[file],
    +            SearchResultKind.index,
    +          ];
    +          if (isMain) {
    +            normalResults.push(result);
    +          } else {
    +            nonMainIndexResults.push(result);
    +          }
    +        }
    +      }
    +    }
    +
         // lookup as object
         objectTerms.forEach((term) =>
    -      results.push(...Search.performObjectSearch(term, objectTerms))
    +      normalResults.push(...Search.performObjectSearch(term, objectTerms))
         );
     
         // lookup as search terms in fulltext
    -    results.push(...Search.performTermsSearch(searchTerms, excludedTerms));
    +    normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms));
     
         // let the scorer override scores with a custom scoring function
    -    if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item)));
    -
    -    // now sort the results by score (in opposite order of appearance, since the
    -    // display function below uses pop() to retrieve items) and then
    -    // alphabetically
    -    results.sort((a, b) => {
    -      const leftScore = a[4];
    -      const rightScore = b[4];
    -      if (leftScore === rightScore) {
    -        // same score: sort alphabetically
    -        const leftTitle = a[1].toLowerCase();
    -        const rightTitle = b[1].toLowerCase();
    -        if (leftTitle === rightTitle) return 0;
    -        return leftTitle > rightTitle ? -1 : 1; // inverted is intentional
    -      }
    -      return leftScore > rightScore ? 1 : -1;
    -    });
    +    if (Scorer.score) {
    +      normalResults.forEach((item) => (item[4] = Scorer.score(item)));
    +      nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item)));
    +    }
    +
    +    // Sort each group of results by score and then alphabetically by name.
    +    normalResults.sort(_orderResultsByScoreThenName);
    +    nonMainIndexResults.sort(_orderResultsByScoreThenName);
    +
    +    // Combine the result groups in (reverse) order.
    +    // Non-main index entries are typically arbitrary cross-references,
    +    // so display them after other results.
    +    let results = [...nonMainIndexResults, ...normalResults];
     
         // remove duplicate search results
         // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept
    @@ -313,14 +409,19 @@ const Search = {
           return acc;
         }, []);
     
    -    results = results.reverse();
    +    return results.reverse();
    +  },
    +
    +  query: (query) => {
    +    const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query);
    +    const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms);
     
         // for debugging
         //Search.lastresults = results.slice();  // a copy
         // console.info("search results:", Search.lastresults);
     
         // print the results
    -    _displayNextItem(results, results.length, highlightTerms, searchTerms);
    +    _displayNextItem(results, results.length, searchTerms, highlightTerms);
       },
     
       /**
    @@ -384,6 +485,7 @@ const Search = {
             descr,
             score,
             filenames[match[0]],
    +        SearchResultKind.object,
           ]);
         };
         Object.keys(objects).forEach((prefix) =>
    @@ -401,8 +503,8 @@ const Search = {
         // prepare search
         const terms = Search._index.terms;
         const titleTerms = Search._index.titleterms;
    -    const docNames = Search._index.docnames;
         const filenames = Search._index.filenames;
    +    const docNames = Search._index.docnames;
         const titles = Search._index.titles;
     
         const scoreMap = new Map();
    @@ -418,14 +520,18 @@ const Search = {
           // add support for partial matches
           if (word.length > 2) {
             const escapedWord = _escapeRegExp(word);
    -        Object.keys(terms).forEach((term) => {
    -          if (term.match(escapedWord) && !terms[word])
    -            arr.push({ files: terms[term], score: Scorer.partialTerm });
    -        });
    -        Object.keys(titleTerms).forEach((term) => {
    -          if (term.match(escapedWord) && !titleTerms[word])
    -            arr.push({ files: titleTerms[word], score: Scorer.partialTitle });
    -        });
    +        if (!terms.hasOwnProperty(word)) {
    +          Object.keys(terms).forEach((term) => {
    +            if (term.match(escapedWord))
    +              arr.push({ files: terms[term], score: Scorer.partialTerm });
    +          });
    +        }
    +        if (!titleTerms.hasOwnProperty(word)) {
    +          Object.keys(titleTerms).forEach((term) => {
    +            if (term.match(escapedWord))
    +              arr.push({ files: titleTerms[term], score: Scorer.partialTitle });
    +          });
    +        }
           }
     
           // no match but word was a required one
    @@ -448,9 +554,8 @@ const Search = {
     
           // create the mapping
           files.forEach((file) => {
    -        if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1)
    -          fileMap.get(file).push(word);
    -        else fileMap.set(file, [word]);
    +        if (!fileMap.has(file)) fileMap.set(file, [word]);
    +        else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word);
           });
         });
     
    @@ -491,6 +596,7 @@ const Search = {
             null,
             score,
             filenames[file],
    +        SearchResultKind.text,
           ]);
         }
         return results;
    @@ -499,16 +605,15 @@ const Search = {
       /**
        * helper function to return a node containing the
        * search summary for a given text. keywords is a list
    -   * of stemmed words, highlightWords is the list of normal, unstemmed
    -   * words. the first one is used to find the occurrence, the
    -   * latter for highlighting it.
    +   * of stemmed words.
        */
    -  makeSearchSummary: (htmlText, keywords, highlightWords) => {
    -    const text = Search.htmlToText(htmlText).toLowerCase();
    +  makeSearchSummary: (htmlText, keywords, anchor) => {
    +    const text = Search.htmlToText(htmlText, anchor);
         if (text === "") return null;
     
    +    const textLower = text.toLowerCase();
         const actualStartPosition = [...keywords]
    -      .map((k) => text.indexOf(k.toLowerCase()))
    +      .map((k) => textLower.indexOf(k.toLowerCase()))
           .filter((i) => i > -1)
           .slice(-1)[0];
         const startWithContext = Math.max(actualStartPosition - 120, 0);
    @@ -516,13 +621,9 @@ const Search = {
         const top = startWithContext === 0 ? "" : "...";
         const tail = startWithContext + 240 < text.length ? "..." : "";
     
    -    let summary = document.createElement("div");
    +    let summary = document.createElement("p");
         summary.classList.add("context");
    -    summary.innerText = top + text.substr(startWithContext, 240).trim() + tail;
    -
    -    highlightWords.forEach((highlightWord) =>
    -      _highlightText(summary, highlightWord, "highlighted")
    -    );
    +    summary.textContent = top + text.substr(startWithContext, 240).trim() + tail;
     
         return summary;
       },
    diff --git a/doc/build/html/_static/sphinx_highlight.js b/doc/build/html/_static/sphinx_highlight.js
    index aae669d7..8a96c69a 100644
    --- a/doc/build/html/_static/sphinx_highlight.js
    +++ b/doc/build/html/_static/sphinx_highlight.js
    @@ -29,14 +29,19 @@ const _highlight = (node, addItems, text, className) => {
           }
     
           span.appendChild(document.createTextNode(val.substr(pos, text.length)));
    +      const rest = document.createTextNode(val.substr(pos + text.length));
           parent.insertBefore(
             span,
             parent.insertBefore(
    -          document.createTextNode(val.substr(pos + text.length)),
    +          rest,
               node.nextSibling
             )
           );
           node.nodeValue = val.substr(0, pos);
    +      /* There may be more occurrences of search term in this node. So call this
    +       * function recursively on the remaining fragment.
    +       */
    +      _highlight(rest, addItems, text, className);
     
           if (isInSVG) {
             const rect = document.createElementNS(
    @@ -140,5 +145,10 @@ const SphinxHighlight = {
       },
     };
     
    -_ready(SphinxHighlight.highlightSearchWords);
    -_ready(SphinxHighlight.initEscapeListener);
    +_ready(() => {
    +  /* Do not call highlightSearchWords() when we are on the search page.
    +   * It will highlight words from the *previous* search query.
    +   */
    +  if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords();
    +  SphinxHighlight.initEscapeListener();
    +});
    diff --git a/doc/build/html/genindex.html b/doc/build/html/genindex.html
    index 1509fff9..d55d9018 100644
    --- a/doc/build/html/genindex.html
    +++ b/doc/build/html/genindex.html
    @@ -1,28 +1,24 @@
    +
    +
     
    -
    +
     
       
       
       Index — Predictive Clinical Neuroscience Toolkit 0.20 documentation
    -      
    -      
    -      
    +      
    +      
    +      
           
    -      
           
           
     
       
    -  
    -  
    -        
    -        
    -        
    -        
    -        
    -        
    +      
    +      
    +      
    +      
    +      
         
         
          
    @@ -62,13 +58,24 @@
     

Tutorials

Other Useful Stuff