{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "2U5gjTQc669x" }, "source": [ "# Lab exercise #3: Approximate inference for Gaussian Process models" ] }, { "cell_type": "markdown", "metadata": { "id": "I9P9BLdN66-G" }, "source": [ "CS-E4075, 2021" ] }, { "cell_type": "markdown", "metadata": { "id": "pcf_7Eal66-J" }, "source": [ "## Learning objectives" ] }, { "cell_type": "markdown", "metadata": { "id": "mUv6IOU_66-L" }, "source": [ "After completing this lab exercise, you should be able to:\n", "\n", "- Implement Variational inference for GP classification\n", "\n", "\n", "**/!\\ Important Notes /!\\**\n", "* In this notebook, we **won't** be implementing sparse GPs (the approximation using inducing points). However, completing this notebook will give you all the tools and building blocks to implement them.\n", "* For speed purposes, it is highly recommended to use an automatic differentiation framework such as tensorflow or pytorch. (optimization using numpy/scipy also works, but will be much slower!). Examples and hints in this notebook are using tensorflow but can be adapted to run in alternative frameworks.\n", "* All exercises must be solved using only basic mathematical operations (exp, erf, ...) and linear algebra routines (solve, matrix-vector products, ...)\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "id": "C37jb-UxOKue" }, "source": [ "**A mini tutorial on automatic differentiation**\n", "\n", "When using an automatic differentiation framework to optimize a function $f: \\theta \\to f(\\theta)$, the variable $\\theta$ and/or the operations mapping from $\\theta$ to $f(\\theta)$ must be defined using operators from the framework.\n", "\n", "For example to optimize $e^{\\theta}+e^{-\\theta}$ with respect to $\\theta$ with tensorflow, you need to proceed as follows:\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "6QFiiuNGOL3z", "outputId": "a8dd00e3-a50c-4163-b1d0-0d5b2b174364" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 \n", "100 \n", "200 \n", "300 \n", "400 \n", "500 \n", "600 \n", "700 \n", "800 \n", "900 \n" ] } ], "source": [ "import tensorflow as tf\n", "\n", "# define the theta variable\n", "theta = tf.Variable(1., dtype=tf.float32)\n", "# define the function\n", "f = lambda x: tf.exp(x) + tf.exp(-x) # note the use of the tf.exp operation (not np.exp)\n", "# run the optimization\n", "for t in range(1000):\n", " # at each step, compute the gradients\n", " with tf.GradientTape() as tape:\n", " tape.watch(theta)\n", " loss = f(theta)\n", " gradient = tape.gradient(loss, theta)\n", " # apply the variable update (gradient descent)\n", " theta.assign(theta - 0.01*gradient)\n", " if t % 100 == 0:\n", " print(t, theta) " ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "id": "FBLZZULA66-O" }, "outputs": [], "source": [ "%matplotlib inline\n", "import numpy as np\n", "import math\n", "import matplotlib.pyplot as plt\n", "\n", "import tensorflow as tf\n", "\n", "\n", "import tensorflow_probability as tfp\n", "tfb = tfp.bijectors\n", "b = tfb.FillScaleTriL(diag_bijector=tfb.Exp())" ] }, { "cell_type": "markdown", "metadata": { "id": "8I1b-PLC66-R" }, "source": [ "## Task 1: Variational inference for Gaussian Process Classification" ] }, { "cell_type": "markdown", "metadata": { "id": "HB5AYW3W66-V" }, "source": [ "We are interested in the problem of Gaussian Process classification. \n", "\n", "We have some data $\\mathcal{D} = \\left\\lbrace {\\bf x}_n, y_n \\right\\rbrace_{n=1}^N$, with $y_n \\in \\{-1,1\\}$.\n", "\n", "We want to perform inference in the following generative model\n", "$$ f \\sim GP(0, k)$$\n", "$$ p(y_n=1|{\\bf x}_n) = \\phi(y_n * f_n),$$\n", "with $\\phi$ the normal cumulative distribution function $\\phi(x)=\\int_{-\\infty}^x {\\cal N}(u; 0,1)du$.\n", "\n", "We will here use a RBF kernel, with two parameters: lengthscale $l$ and variance $\\sigma^2$.\n", "\n", "\n", "The posterior is $p({\\bf f}|{\\bf y}) \\propto p({\\bf y}|{\\bf f})p({\\bf f})$ is intractable, hence we resort to an approximate inference scheme called variational inference.\n", "\n", "This turns inference into optimization. We optimize the distance $d(q) = KL[q({\\bf f})||p({\\bf f}|{\\bf y})] \\geq 0$, with respect to a distribution $q({\\bf f})$\n", "\n", "We parameterize $q$ through the mean vector $m$ and the Cholesky factor of the covariance $L$: i.e. $q({\\bf f})={\\cal N}({\\bf f}|m, S=LL^T)$\n", "\n", "In practice we optimize the ELBO:\n", "$${\\cal L}(q) = \\log p({\\bf y})-d(q) = \n", "\\underbrace{\\mathbb{E}_q \\log p({\\bf y}|{\\bf f})}_{VE} \n", "- \\underbrace{KL(q({\\bf f})||p({\\bf f}))}_{KL}$$\n", "\n", "We split the ELBO into two terms\n", "* variational expectations (VE)\n", "* Kullback Leibler (KL)\n" ] }, { "cell_type": "markdown", "metadata": { "id": "s6XskkCP66-X" }, "source": [ "### Task 1a: KL divergence\n", "\n", "For a prior $p({\\bf f})={\\cal N}({\\bf f}|0,K)$ and a variational distribution $q({\\bf f})={\\cal N}({\\bf f}|m, S=LL^T)$, compute the KL divergence $KL(q({\\bf f})||p({\\bf f}))$\n", "\n", "You can use the formula :\n", "$$\n", "\\begin{align*}\n", "&KL\\left(\\mathcal{N}(\\mu_0,\\Sigma_0) \\parallel \\mathcal{N}(\\mu_1,\\Sigma_1)\\right) \\\\ \n", " &= \\frac{1}{2}\\left(\n", " \\operatorname{tr}\\left(\\Sigma_1^{-1}\\Sigma_0\\right) +\n", " \\left(\\mu_1 - \\mu_0\\right)^\\mathsf{T} \\Sigma_1^{-1}\\left(\\mu_1 - \\mu_0\\right) - k +\n", " \\ln\\frac{|\\Sigma_1|}{|\\Sigma_0|}\n", " \\right),\\; (source: wikipedia)\\\\\n", " &= \\dots \\quad \\text{ (bonus : can you fill the gap?)}\\\\\n", " &=\n", " \\frac{1}{2}\\left(\n", " \\sum_{ij} (L_1^{-1}L_0)^2_{ij} +\n", " ||L_1^{-1}\\left(\\mu_1 - \\mu_0\\right)||^2 - k + 2\\sum_{i}\n", " \\ln |L_{1,ii}|- \\ln|L_{0,ii}|\n", " \\right).\n", " \\end{align*}\n", " $$\n", "\n", "**Note**: this needs to be adapted to the (mean,cholesky) parameterization of the multivariate Gaussian distributions.\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true, "id": "sW7T2ux_66-Y" }, "outputs": [], "source": [ "def KL(m0, L0_const, m1, L1_const):\n", " \"\"\" returns the KL divergence between N(m0, S0) and N(m1, S1)\n", " \n", " arguments:\n", " m0, m1 -- N x 1, mean vector\n", " L0, L1 -- N x N, Cholesky factor of a covariance matrix \n", " returns a scalar\n", " \"\"\"\n", " \n", " ###############################################\n", " # ------- insert code here -------------------\n", " ###############################################\n", " \n", " #############!! SOLUTION !!####################\n", " L0 = b.forward(L0_const)\n", " L1 = b.forward(L1_const)\n", "\n", " N = len(m1)\n", " iL1L0 = tf.linalg.triangular_solve(L1, L0)\n", " term1 = tf.reduce_sum(iL1L0**2)\n", " \n", " iL1dmu = tf.linalg.triangular_solve(L1,m1 - m0)\n", " term2 = tf.reduce_sum(iL1dmu**2)\n", " cst = -N\n", " \n", " term3 = 2 * tf.reduce_sum(tf.abs(tf.linalg.diag_part(L1)) -\n", " tf.abs(tf.linalg.diag_part(L0)))\n", " \n", " return 0.5 * (term1 + term2 + term3 + cst)\n", " #############!! SOLUTION !!####################\n" ] }, { "cell_type": "markdown", "metadata": { "id": "33m5cg2UIl-F" }, "source": [ "Let's check that the KL is coded properly.\n", "\n", "For instance, noting $q_0(f) = N(f|0, I)$ and $q_1(f) = N(f|0, 2I)$, \n", "we should have:\n", "* $KL[q_0||q_0] = 0$\n", "* $KL[q_0||q_1] > 0$ \n", "\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "id": "7tl6dFfAJQz5" }, "outputs": [], "source": [ "K = 10\n", "m_0 = m_1 = np.zeros((K,1))\n", "L_0 = tf.constant(np.eye(K), dtype=tf.float32)\n", "L_1 = tf.constant(np.sqrt(2.) * np.eye(K), dtype=tf.float32)\n", "\n", "L_0_const = b.inverse(L_0)\n", "L_1_const = b.inverse(L_1)\n", "\n", "assert KL(m_0, L_0_const, m_0, L_0_const) == 0\n", "assert KL(m_0, L_0_const, m_1, L_1_const) >= 0" ] }, { "cell_type": "markdown", "metadata": { "id": "w9zp6Q-W66-a" }, "source": [ "### Task 1b: Variational expectations\n", "\n", "To compute the variational expectations $\\mathbb{E}_{q(f_n)} \\log p(y_n|f_n)$, we first need to compute the marginal distribution $q(f_n)$ and then compute the expectation.\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true, "id": "onU4NYnp66-b" }, "outputs": [], "source": [ "def q_marginals(m, L_const):\n", " \"\"\" returns the vectors of marginal means and marginal variances\n", " i.e, the means and variances of q(f_n)\n", " \n", " arguments:\n", " m -- N x 1, mean vector\n", " L -- N x N, Cholesky factor of a covariance matrix \n", " returns : 2 N x 1 vectors\n", " \"\"\"\n", " \n", " ###############################################\n", " # ------- insert code here -------------------\n", " ###############################################\n", "\n", " #############!! SOLUTION !!####################\n", " L = b.forward(L_const)\n", "\n", " cii = tf.reduce_sum(L**2, axis=1, keepdims=True)\n", " return m, cii\n", " #############!! SOLUTION !!####################\n", "\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true, "id": "qq0NMMtr66-d" }, "outputs": [], "source": [ "\n", "def phi(x):\n", " \"\"\" Cumulative distribution function for the standard normal distribution \n", " Hint: you may want to use the error function. (tf.math.erf if using tensorflow)\n", "\n", " phi(x) = int_{-\\infty, x} N(u| 0, 1) du \n", " \"\"\"\n", " ###############################################\n", " # ------- insert code here -------------------\n", " ###############################################\n", " \n", " #############!! SOLUTION !!####################\n", " return (1.0 + tf.math.erf(x / np.sqrt(2.0))) / 2.0\n", " #############!! SOLUTION !!####################\n", "\n", "def classif_log_likelihood(f, y):\n", " \"\"\" log p(y|f) for classification using the normal cdf \n", " log p(y|f) = log phi(y * f)\n", " \"\"\"\n", " ###############################################\n", " # ------- insert code here -------------------\n", " ###############################################\n", "\n", " #############!! SOLUTION !!####################\n", " return tf.math.log(phi(f * y))\n", " #############!! SOLUTION !!####################\n", " \n", "# --------------------------------------\n", "# The next function is given to you.\n", "# It approximates E_q(f_n) log p(y_n|f_n) via Gaussian quadrature\n", "# see: https://en.wikipedia.org/wiki/Gauss%E2%80%93Hermite_quadrature\n", "# --------------------------------------\n", "def expected_log_likelihood(\n", " means, covs, llh, y, n_gh=10):\n", " \"\"\" returns the expected log likelihood terms\n", " \n", " E_q(f_n) log p(y_n|f_n)\n", " \n", " This is a quadrature approximation, \n", " turning the integral into a sum.\n", " \n", " arguments:\n", " means -- N x 1, vector of means\n", " covs -- N x 1, vector of covariances \n", " llh -- log likelihood function\n", " y -- N x 1, vector of observed labels \n", " \"\"\"\n", " z, dz = np.polynomial.hermite.hermgauss(n_gh)\n", " weights = (dz / np.sqrt(np.pi)).reshape(1, -1) # 1 x n_gh \n", " inputs = means + np.sqrt(2 * covs) * z.reshape(1, -1) # N x n_gh\n", " llh_quad = weights * llh(inputs, y) # N x n_gh\n", "\n", " # 'tf.reduce_sum' is tensorflow's summing function, \n", " # replace if using another framework \n", " return tf.reduce_sum(llh_quad, axis=1) # N, " ] }, { "cell_type": "markdown", "metadata": { "id": "JUCd3aeN66-e" }, "source": [ "### Task 1c: ELBO\n", "\n", "We are now ready to implement the ELBO as the difference between the variational expectations and the KL divergence:\n", "\n", "$${\\cal L}(q) = \n", "\\underbrace{\\mathbb{E}_q \\log p({\\bf y}|{\\bf f})}_{VE} \n", "- \\underbrace{KL(q({\\bf f})||p({\\bf f}))}_{KL}$$\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true, "id": "D_XH9m0U66-e" }, "outputs": [], "source": [ "def elbo(m_p, L_p_const, m_q, L_q_const, y):\n", " \"\"\" returns ELBO\n", " L = \\sum_n E_q(f_n) log p(y_n|f_n)\n", " + KL(q(f)||p(f))\n", " \n", " (See slides of lecture 4 for closed form solution)\n", " \n", " arguments:\n", " L_p, L_q -- N x N, Cholesky factors of the covariances of p and q\n", " m_p, m_q -- N x 1, mean vector of p and q\n", " returns: a scalar\n", " \"\"\"\n", " \n", " ###############################################\n", " # ------- insert code here -------------------\n", " ###############################################\n", "\n", " #############!! SOLUTION !!####################\n", " means, covs = q_marginals(m_q, L_q_const)\n", " ve = expected_log_likelihood(means, covs, classif_log_likelihood, y)\n", " kl = KL(m_q, L_q_const, m_p, L_p_const)\n", " return tf.reduce_sum(ve) - kl\n", " #############!! SOLUTION !!####################\n", "\n", " " ] }, { "cell_type": "markdown", "metadata": { "id": "3fRRI2op66-f" }, "source": [ "### Task 1d: Inference as optimization\n", "\n", "We are now ready to optimize the ELBO.\n", "We will first load some data" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 324 }, "id": "jT-nKs_w66-g", "outputId": "63c00f7e-1302-4ca0-c00c-c61e229221f1" }, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Classification data')" ] }, "execution_count": 8, "metadata": { "tags": [] }, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light", "tags": [] }, "output_type": "display_data" } ], "source": [ "# Loading the data\n", "\n", "import csv\n", "XY = []\n", "with open(\"./XY.csv\") as csvfile:\n", " reader = csv.reader(csvfile, quoting=csv.QUOTE_NONNUMERIC) # change contents to floats\n", " for row in reader: # each row is a list\n", " XY.append(row)\n", "XY = np.array(XY)\n", "\n", "# Here we select a subset of the data. (remember computations scales as N^3)\n", "N = 50\n", "X, Y = XY[:N,:-1],XY[:N,-1:]\n", "Y = (Y-.5) * 2 # to be in {-1, 1}\n", "N = X.shape[0]\n", "\n", "# Plotting the data\n", "\n", "plt.scatter(X[:,0], X[:,1], c=Y)\n", "plt.xlabel('$x_1$', fontsize=15)\n", "plt.ylabel('$x_2$', fontsize=15)\n", "plt.title('Classification data', fontsize=20)" ] }, { "cell_type": "markdown", "metadata": { "id": "tVmiRlQm66-g" }, "source": [ "#### Preparing prior statistics\n", "\n", "We need to compute the prior covariance $K_p = K_{\\bf ff}$ and its Cholesky factor $L_p = chol(K_{\\bf ff})$." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true, "id": "IqSkvWnW66-h" }, "outputs": [], "source": [ "# kernel parameters\n", "l = 0.5\n", "s = 0.5 # the standart deviation\n", "\n", "# computing the kernel matrix K_ff\n", "\n", "###############################################\n", "# ------- insert code here -------------------\n", "###############################################\n", "\n", "#############!! SOLUTION !!####################\n", "dists = np.linalg.norm(X[:, None, :] - X[None, :, :], axis=-1)\n", "K_p = tf.cast(\n", " s**2 * tf.exp(- 0.5 * dists**2 / l**2),\n", " dtype=tf.float32\n", ")\n", "#############!! SOLUTION !!####################\n", "\n", "# Computing m_p, L_p = cholesky(K_p).\n", "\n", "###############################################\n", "# ------- insert code here -------------------\n", "###############################################\n", "\n", "#############!! SOLUTION !!####################\n", "m_p = tf.zeros((N, 1), dtype=tf.float32)\n", "jitter = 1.e-6\n", "L_p = tf.linalg.cholesky(K_p + np.eye(N) * jitter) # jitter sometimes needed.\n", "L_p_const = b.inverse(L_p)\n", "#############!! SOLUTION !!####################\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "id": "qqktFNQO66-j" }, "source": [ "We initialize the variational distribution to $q({\\bf f})={\\cal N}({\\bf f};0, I)$,\n", "then optimize the ELBO using gradient based optimization.\n", "\n", "\n", "Gradient based optimization refers to optimization schemes where a function $f(\\theta)$ is optimized with respect to $\\theta$ by following the gradient $\\nabla_{\\theta} f(\\theta)$.\n", "For example gradient descent construct a sequence of values $\\theta_t$ following\n", "$$\\theta_{t+1 } = \\theta_t + \\eta \\nabla_{\\theta} f(\\theta)|_{\\theta=\\theta_t}$$\n", "where $\\eta$ is the learning rate.\n", "\n", "\n", "When using an automatic differentiation framework, one does not need to manually derive the gradient (hence the 'automatic'). Such frameworks include tensorflow, jax, pytorch (pick your favorite). These are widely used to optimize the loss function of neural network models in supervised learning." ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "K2VBthKh66-k", "outputId": "37b0a521-b20f-4e50-a5e4-37d1c6c35f05" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 tf.Tensor(43.967033, shape=(), dtype=float32)\n", "100 tf.Tensor(25.733654, shape=(), dtype=float32)\n", "200 tf.Tensor(20.25793, shape=(), dtype=float32)\n", "300 tf.Tensor(17.320648, shape=(), dtype=float32)\n", "400 tf.Tensor(15.554422, shape=(), dtype=float32)\n", "500 tf.Tensor(14.420387, shape=(), dtype=float32)\n", "600 tf.Tensor(13.681102, shape=(), dtype=float32)\n", "700 tf.Tensor(13.172512, shape=(), dtype=float32)\n", "800 tf.Tensor(12.809529, shape=(), dtype=float32)\n", "900 tf.Tensor(12.536594, shape=(), dtype=float32)\n" ] } ], "source": [ "# initial distribution parameters m_q, L_q\n", "m_q = tf.Variable(tf.zeros((N, 1), dtype=tf.float32))\n", "L_q_const = tf.Variable(L_p_const.numpy(), dtype=tf.float32) # just copying the prior!\n", "\n", "\n", "\n", "# Optimize the loss: a tensorflow routine is given\n", "loss = lambda m, L_const: - elbo(m_p, L_p_const, m, L_const, Y)\n", "\n", "\n", "# definition of a training step\n", "def train(opt, m, L_const):\n", " with tf.GradientTape() as tape:\n", " tape.watch([m, L_const])\n", " loss_ = - elbo(m_p, L_p_const, m, L_const, Y)\n", " gradients = tape.gradient(loss_, [m, L_const])\n", " opt.apply_gradients(zip(gradients, [m, L_const]))\n", "\n", "# you can change the optimizer or learning rate\n", "opt = tf.optimizers.Adam(learning_rate=.005) \n", "\n", "# running the optimization\n", "for t in range(1000):\n", " train(opt, m_q, L_q_const)\n", " if t % 100 == 0:\n", " print(t, loss(m_q, L_q_const)) \n" ] }, { "cell_type": "markdown", "metadata": { "id": "emZZ_6Zc66-l" }, "source": [ "* Plot the evolution of the ELBO as a function function of iterations.\n", "\n", "* Plot the posterior process $p(f^*|x^*, {\\cal D})$.\n", "\n", "* Plot the predictive distribution $p(y^*=1|x^*)$.\n", "\n", "* Repeat the procedure for different values of $(\\sigma^2, l)$, can you see an improvement? Is the ELBO a good proxy for hyperparameter optimization in this example?\n" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 595 }, "id": "RCekvfs166-l", "outputId": "af9db0a8-106b-408d-ce6f-78cbee778259" }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEhCAYAAABlUDcAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdd3gc5dXw4d/ZpmI194orNjaYLiCmm2o6hBJaqMFAChB4k5DkSyh5kxCSN4EESHCoCT10gsGY3kyxTTfFFXdblpvq1vP9MSOzWq2slbVVOvd1zSVpZnbmbNGeeeZpoqoYY4wxiTy5DsAYY0x+sgRhjDEmKUsQxhhjkrIEYYwxJilLEMYYY5KyBGGMMSYpSxCmDREZKSIqIvfkOpZ8JSLnua/ReQnrl4jIkgye91r3vAdn6hzZJCLnu89n7yTbzhCRD0Skzt3npk4cV0TkIxF5I70R9yyWIAqAiLwqItZhpQdoL/F0RyJSBvwOeEZV30vYNgm4HygH/g5cBzyfsM/B7SVjdTp4/RrYX0ROSX/0PYMv1wGYvLQCmABsynUgBejQDB//FuAhYGmGz5MNlwGDgBuSbDsGEOAcVX27ZaWIjFDVr5MdTER6AcWqWgugqk+JyOfAb0XkMbVewZ1mJQjThqqGVfULVV2V61gKjaouVNWFGTz+Ove9aczUObJBRLzAJcBX8QkgzhD358q4x3iA50RkuoiMTTjed4AvgYsSjnMvMI7MJ+7uSVVtSViAkYAC9wDjgSeB9UAD8CZwRDuPKwKuBj4BGoHNwBvAae3sfzzwErAKCOL8M7wGfD8hjmTLqwnHGoZzdbnIPVYt8DSwV5LzXuse42DgTOBdoB5Ykvj8kzx2MHArsAQIATXA48CeSfY9zz3OecAU4FWcUomm8B7c4z52NHAl8AXQDCwH/gJUJHnMEnepAP7s/h4Gro3bZ7x77GVu/GuAB4Ad2olje+A/wAb3/X8b5+p2y3NLFkM7x/qO+36vd5/LEuBBoNrd/upW3u+Rie9dkuMfinMbZr37GfgK5+q8Msm+LefyAb8A5ruPWQb8AQh08n+ms6/TFHf9b9r5zCR9DYBS4Jfu+/Y0zuf8FWAucGSSuEa4j30w198rhbjYLaatGwXMwvnCvx3ny/E7OFcxZ6rqwy07ikgAmAEchPNldivOh/kU4GER2U1VfxG3/1T3mKuBZ4B1wABgF+B84DZgI8691/NwPujXxcW2JO5YewAvAH3cGB4H+gEnAm+KyEmqOj3J87sKONw9/ytA5dZeDBEZhZMghwAv43y5bQecChwjIier6n+TPPQUnC+E54B/uM8lVX8BDgQeAZ4CjgSuAA4Qkf1VtTlh/4AbWx+c12QzsNiNfwrOa+N3n/MCnMT6bTf+yao6N+75jsV5//u6sX+I80X4pPt3SkREgLuBc3He58dxEuswYDLOle9snMS1ETjBfa4fxh1mYwfnuBjnXn0Dzhf1WpwLgJ8Bx4nIfqqa7BgPAAe4z2czcDTwU5zP4vkpPr9teZ0Oc3++mbD+Q5zP+YnArsDNfPPcN6pTcvqtiPwH5+KrD06SOExVo4knUdWvRWQFcJiIiLpZw6Qo1xkqHxdaX7n/MWFbNc5V6QbirmKBn7v7Twd8cesH4HyZK7Bv3Po5OFdsA5Kcv1/C36/SzlU3zhXgApwr0oMStg3BqU9YBRTFrb/WjacB2H0rz/+ehPUz3PW/TFi/LxDB+Ucti1t/nrt/DJjSyffgHvex64ARces9wGPutl8lPKbldX4R6JWwrbf7nq0DdkzYNhGnBDU3Yf0L7vEuT1h/Qtzn47wkMSxJWDfV3fc9Eq7mAS8wOMlr1uq4Sd67g+PWjXA/S5uB8Qn73+buPy3ZZ8r9HPaJW9/L/TxFgUEpvlfb8jq9467v28H7PzJhfSlOiWcNTpKPL0G0V7J/wj3Wjqk8H1u+WawOYus2AdfHr1DV2TitK6qAk+I2XYDzIbxSVSNx+68FfuP++b2E40dwkk0rqrquEzEeA4wB/qaqryUcZyVwI05FYLJ7sNNU9YNUTiIiw4AjcCpHb0w4z9s4pYk+OFfjiZ5S1eeTrE/FzRpXKamqMeAnOEnngnYec5WqNiSsOwfnPbtGVeclxP8p8E9gdxHZEbY838NxSh+3JOz/FM6twFT9yP15saq2qvhX1ah2va7nbJyS0y2q+kXCtl8CdcB3RaQoyWN/pqrr4+JpwPl8e3AuhraqC6/TcCCsboVyKtw6iNnA/u7yf0Cdqk7G+UzeJSJXJ3no6rhzmk6wW0xbN1dV65KsfxXndsHuwL0iUo5TpF6R5B8UnFseuPu3uB/nAz5PRB7C+Ud6S1VrOhnjJPfnCBG5Nsn2lsq8CTilm3jvkbqW2N9Q1TZJDec5nu3u968unCdRmy8YVV0kIsuAkSJSpa1vnTQDHyc5TsvrtGs7r9M49+cEYB7fPN83NcmtC5zPwEEdBe+2rJkIrEk1GW+DPdyfLyduUNUNIvIBzm268cBHCbvMTnK8Ze7P3imce1tfp744JbqUqWpMRI5quWAQkaFx2x4Skf/i1AMmakmA/TpzPmMJoiNr2lnfckVSmfCzvSvBlvVVLStU9c8isg74Pk5zvysAFZHXgJ+4JZVU9HV/ntrBfmVJ1q1Osq49nX6O23ieRFt7D0a4ccUniLXq3ldI0PI6JbZySdTyOrU8344+Ax1peT1WpLj/ttjm90aT10u0lIC9nTh3Z1+nJqA4heO3ou00cXW31ePcKkxUEndO0wl2i2nrBrazfpD7c1PCz0FJ9gWncjt+PwBU9V+q+i2cL69jgDtxrvRmiEj/FGNsOeYJqipbWa5L8tjOVNht03PchvMkSvU96OhcLfvt2sHrdG/C/h2dvyMtX8BDt7pX13TlvUnXuTv7Oq0FKkTEv60nVtVXVXVkCru2XBys3dZz9VSWILZuD/f2UaKD3Z8fALi3oRYCQxPbZ7smuz/nJtmGqm5U1emqehFO5VwfnETRIgpb2o4nesf9eUD7TyMtWm6P7C8iyUqeW32OXdDm9oSIjMZpPbWknSvgZDr7OsU/32Sv+8GpHMS9p/8pMFBEdu9of9z3mtSu3lu0xNomJhGpAnbDufX2eSeO2dlzd/Z1arkNuEPaI2prPE6d1SdZOFe3Ygli6ypxuutvISLVwFk4V05PxG26C6fn5x/j/1FEpB/wq7h9WtZPdps/Jhrg/ozvCNVSkZesku0pnOT0AxE5OtmTEJFJIlKabFuqVHU5MBOnhdMVCcffB6c/xQZavybpcLmIbGkW61ZU/hHns3t3J45zN87V/DXtjPvjiR/fKO75jgJ+mLDvCaRQ/xDnr+7P20WkVVNi97yD41Zt7b1uz304jR1+JCLbJ2z7DU6/kPtUNdiJY6akC6/Tq+7Pb6U7poQYinAS5AeduJgwLquD2LrXge+5X4Bv8U0/CA9Oi5TNcfv+CTgKp2nfRyIyHadJ3qk4X/o3qmp8m+8ngHoReQenaaTgXN3uhdP08MW4fV9yj/O4e9wm4GtV/beqhkXk2zhNUJ8Vkbdx2pI34lxl74XT2WwwrZPOtrjEfR3+KCJH4FRwtvSDiAHnt1Op3xVvAR+KyMM4SflInPbxc0hoTbU1qlrrjsnzBPCOiLwEfIZzS2o7nErsvrS+L/4DnPb9N7nP9yOcxggn4TSxPC7F09+B895+F5gvIk/h9IMYAhyCc+FwrbvvLJz36QoR6cs39/D/ltgCKu65LRGRK3D63swVkUfc4x/kPq8vcPpDZMq2vE5PATfhvJ93ZDC2g3FaeD2WwXN0X7luZ5uPC617Uk/A+TBvwPnHfYskPTbdxxXjtNH+FOdLvA6nI9AZSfa9BOfLapF73PU4xfWfAuUJ+3pxBjVbhHOlqLTtST0Ap9fsp+7x6nF6xz6K07oovm/GtbTTGzfx+SfZNhSnQ9bXOD2R1+F0iErWY/s8ttKmv4P34B6+6Ul9Fd/0pF6B88XSbk/qFN7bW9zXphmn78AXwL+BE5Psv737Gm7E6Tcyi23vSX0WTqusTe65F+O0ZtsjYb8p7nnq6VxP6iNw+iRswOkXsQAniVYl2fdV2u9b0+n3rbOvk/uYJ9zXofdW3v+RXfxffoB2+hvZ0vEi7oto4ojISJx/3ntV9bycBtNDiTPU+LnAKFVdkttozLZyR6W9G6d0eU/Ctn1xLriuVNW/ZODcLZ1UH1DVxD5IJgVWB2GMyQl1Olj+B/hZV+vI2vELnEr/X3W0o0nOEoQxJpf+B2d8rlHpPKjbAGQV8F21UYm3mVVSG2NyRlWX8k0FfTqPqzij0pousDoIY4wxSdktJmOMMUn1mFtM/fr105EjR+Y6DGNMAZgzZ846VU11uJukjpzcS2vXJxu/MMn5Pg7OUNUpXTlfJvSYBDFy5Ehmz051/DtjTE8mIu0OCpiqdeujvDtjWEr7+gcvzMuRZntMgjDGmOxSohrLdRBdYgnCGGMywJlKsbAbAVmCMMaYDFCUcNI5lApH3rViEpG7RGStiHzazvaDRWSTiHzoLr9Otp8xxuRaDE1pyVf5WIK4B2cwtcRpK+O9oarHZicc052pKo8//yH3PfkeGzc3ssPogfzo3MnsNG5wxw82ZisUiObxl38q8q4Eoaqv880cssZk1D8feovb7nuNtbV1hMJRPvlyJZdd9zDzl9jkY6brCr0EkXcJIkWTROQjEXlORHbKdTCmMDU1h3jomdk0ByOt1gdDEe7+z9tt9q+vb+apZz5g2p2v8ubb84lGC7uFisksBaKqKS35Kh9vMXVkLjBCVevdGdSeBJJN84mITAWmAgwf3pkJukxPsLa2Dq+n7aR+qvDlotYliAUL13LF/zxAJBIlGIxQUuJn6JDe/PXPZ1FSEshWyAVPVXm3ZgkzV35BidfPCSN2YWzFgI4fWKAK/RKi4EoQqrpZVevd36cDfndaz2T7TlPValWt7t+/S50iTTfUr3cZkXZKASOG9W31929+/zQNDUGCbmmjqSnM0mW1PPjwO8kebpJQVX46+0kunfUQ9y96n7vnz+LUV+7g/oXv5zq0jFBVQiku+argEoSIDGqZy9mdW9jDN/P4mhz7bP4qLvz5/ez/nT9z5Pm38M+H32r3SzjXepUWceyhO1MUaF2QLgr4uOCUSVv+rllXx+rVbaczDoWizHxpXsbj7C5m1SzmxZVf0BQNA04FbnM0wo2fzGR9sCHH0aWf0w8itaUjIjJFRL4UkQUicnU7+5wmIvNE5DMReSAdzyHvbjGJyIM488j2E5HlwDWAH0BV/wGcAlwqIhGcaT1PVxuSNi8sXl7Lj65/ZMs9/bqGIA88M5t1G+r5+SVH5ji65C4//xB6lQR47LkPaA5GGDKwkisuOISJOwzZso/XI7T3CfN6296iMsk9t3zeluQQzyse3lizkBOG75KDqDJJiNL1z4eIeHHmGz8cWA68LyJPq+q8uH3GAj8H9lPVDe5sel2WdwlCVc/oYPstOM1gTZ7595PvEQq37hgUDEWY8cbnXHLmAfSuyMSkYV3j83q45KwDmXrGAUSiUQL+tv8SffqUMWJ4XxYuWtsqURQFfEw5cucsRlvYirw+PEibVjsiUOTJu6+iLlMglp5L172BBaq6CEBEHgJOAOKLrxcBt6rqBgBVTUszvIK7xWTy1/wla4kl+Y/w+72sXLMpBxGlzuORpMmhxTX/7wSqKkspKQng83koLvYzYcIQTjt57yxGWdhOGr4rAW/b1zimygGDts9BRJkXdUsRHS0dGAosi/t7ubsu3jhgnIi8JSLviEhaRobtfmnb5Mz2I/qzeHltmyQRCkcZMrAyR1Glx7ChfXjovkt5a9Z8amrqmDB+CBN3GopbHWZSsFPvwfxg/IHc8vlreETwiBBT5W/fOo1evu7XEkyBsKZ8Dd5PROKHm56mqtM6cTofTmvOg4FhwOsisrOqtq086+RBjUmLc07ah9fem9+qX0FRwMfh+43Py9tLnRUI+Jh80IRch1HQLtphP44fvjNvrllIkdfPwYPGUuYvytj51gfrmbXuK3ziZb/+O1DmL87YuRI5PalTvoBYp6rV7WxbAWwX9/cwd1285cC7qhoGFovIVzgJo0tNxCxBmLQZNawvf/3Vqfzl7lf4YtFqykqLOGXK7pwf1yLImIElFZw8cveMn+exr9/lz188i1c8CM6trN/udjoHDsxOkleEaHru4r8PjBWRUTiJ4XTgzIR9ngTOAO52m/2PAxZ19cSWIExaTRw3hDt/f1auw+j2VJVnnv6AR//zHvV1TexRPYrvfe9gBg2uynVoeWFJfQ1/+eJZQrHWveR/8eFDTD/kair8JVmJI6ZdvwWpqhER+SEwA/ACd6nqZyJyPTBbVZ92tx0hIvOAKPATVe1y839LEKbH2lzXxJuzFhAKR9inejSDC6ie5Ja/vcDz0z+mudlpNvraK58z+71F3HnPVPr2LctxdLk3Y+WHRJJM1uMR4bU18zhu2J4Zj6GTt5i2fiynU/D0hHW/jvtdgSvdJW0sQZge6e13F3DtDU8jIqgqt057mXPOmMR3T98316F1aMOGBp595kPCcU2KYzGluTnMY/95j6mXHJLD6PJDcyxCLEmCiKm2KVVkjhBNvZI6LxV29MZsg4bGINfd8DTBYITm5jDBYIRQOMq/H36HL+evznV4HVqyuIZAoO21XTgc5ZNPliV5RM9z8MAdKfL626xXlP3675CVGBQI401pyVeWIEyPM+u9hXg8bT/6oVCEGS9/loOIOmfgwMpWpYcWHo+w3XZ9chBR/tmlajhHDt6VEq8fAQShyOPnwjGTGVSSnXoaVacEkcqSr+wWk+lxolGlvdFZIpH8nyJyyNDe7DRxGJ9+sqxVovD7vZxy2j45jCx/iAi/nHgSRw3ZjRdXfYLf4+XoobszvjKxf1lmxdJUB5ErliBMj7NP9Siisbb3p4uK/Ew+YHwOIuq86//3ZP5047O8/dZ8APr06cWV/3M0o0d336GzO0tE2LPvaPbsOzon53cqqfO3dJAKSxCmx6mqLOVHFx/G325/iWg0Riwao6jIz6EHTWC3nbfr+AB5oLS0iF9f+22amkI0NYXo3buX9erOO4VfSW0JwvRIxx+1K7vvvB0zX51HMBThgG+NZacJQzr8kq1du5kFn6+i38AKRu8wKOdfyiUlAZuwKE85Q23kbwV0KixBmB5ru2F9uODs/VPaV1W59ff/ZcYTc/EHvMSiMYaN7Mf/3nYuVX16ZThSU4jS2JM6Zwo7emOyZMYTc3jx6Q8IhyI01gdpbgqzeP4a/nD1I7kOzeSxmHpSWvKVlSCMScGTD7xDc1PryW6ikRifzv2aTRsaqOxtpQjTmlVSG9NDNNQ1J13v8XpoaghZgjBtKEI0DWMx5VJhpzdjsmSfg3bA52tb4dirvJgBQwpnDCeTXTE8KS35Kn8jMyaPnHXxZCp6lxIocgrdHq9QVOznyutOStor2xhVIazelJZ8ZbeYjElB775l3P74j3ju0ff54N1FDNmuDyec+S2GW8c00w4F6wdh8ldTQ5BP5yzBH/Axcc+R+Pz5e6VSCMorSjjtggM57YIDcx2KKRBWSW3y0sv//YC/XvMkXq8HFLx+L9f9/Rwm7Do816EZ0yMokpYJg3KpsNNbDxGLxYglGTuoPcuXrOPmXz9BsClMY32QxoYgdRsb+X8X3U2wOdzxAYwxaRHFk9KSr/IyMhG5S0TWisin7WwXEfmriCwQkY9FZI9sx5gN62s285tL7+X4CT/nuAk/59cX3knNqo0dPm7mk3OIRtomFFV4//UvMxGqMSaBUvgd5fI1snuAKVvZfhQw1l2mAn/PQkxZFY1Eueq0W3n3lXlbBpSb88aX/Pjkv3VYCqjf2JQ0QcRisXbb8xtj0ksp/FZMeZkgVPV1YP1WdjkB+Jc63gGqRGRwdqLLjndf+ZxN6xtafdHHYkpDfTNvPf/xVh+7z+TxFJe2HcBNY8pu3xqT9liNMclFkZSWfJWXCSIFQ4H4uRWXu+taEZGpIjJbRGbX1NRkLbh0WL6ohlCSkkJzY4hli9Zu9bHVB4xjp91HUBw3ymdRiZ8Tv7svA4f2Tnusxpi2VKXgbzF161ZMqjoNmAZQXV2dfAqxPDVy3CACxX6aGoKt1pf0CjByh60XljweD9f9/RzemPEprz77EUUlfqacvBe777t9JkM2xiSwfhC5sQKIn9llmLuu29jzwB3oN6iSVV/XbpkG0+vzUFHVi30Pn9jh470+LwcfsysHH7NrpkM1xiShFP6Uo4Wa3p4GznFbM30L2KSqq3IdVDp5vR7+7+EfcPDxu1NcEqCo2M8BR+3KTY9fhj9QqHndmJ5DEcIxb0pLvsrLbxoReRA4GOgnIsuBawA/gKr+A5gOHA0sABqB83MTaWaVV5Vy1Y3f4aobv5PrUIwx2yCf+zikIi8ThKqe0cF2BX6QpXCM2SZrV2xg84Z6hm/v1CeZniWdPalFZApwM+AF7lDVG9rZ72TgUWAvVZ3d1fPmZYIwppBtrK3nt5fezVcfLcXn96IKU391AlNOn5Tr0EyWpWMobxHxArcCh+O02HxfRJ5W1XkJ+5UDlwPvdvmkrsIu/xiTh66/6E6+mPs1oaAzPWlTQ5B/XPcEn7y7MNehmSxShahKSksH9gYWqOoiVQ0BD+H0BUv0G+APQNp6w1qCMCaNVi6pYeG8FVtanrUINoV5/I5XcxOUyZmYSkpLBzrs9+UON7Sdqj6bzvjtFpMxabSxth6fz0uItp0c16UwjpbpPlqG2khRPxGJrzOY5vbj6pCIeIA/A+d1LsKOWYIwJo1GjR9CNKH0AOAP+Kg+aHwOIjK54gzWl3Il9TpVrW5nW0f9vsqBicCrIgIwCHhaRI7vakW13WIyJo1KehXx3auOpihumBNfwEdZZQknXnhQDiMz2Ze2oTbeB8aKyCgRCQCn4/QFA0BVN6lqP1UdqaojgXeALicHsBKEMWl38kUHM3z7gTx+xytsqKmjevIETpl6CJV9ynIdmsmydPSkVtWIiPwQmIHTzPUuVf1MRK4HZqvq01s/wrazBGFMBuw1eQJ7TZ6Q6zBMDrW0YkrPsXQ6Tgfh+HW/bmffg9NyUixBGGNMxuTzSK2psARhjDEZoAgRSxDGGGMSdbIVU16yBGGMMRlit5hM2kWjMTZuaKCsrJgiG+TNmMKUWi/pvGYJIs/MfPYjbr/pBZrd6UaPPG43Lvnxkfj9+TtmvDGmre4wYZAliDzy/qwF/PUP0wnGzUX9wjMfEovGuPznx+YwMpNJoeYwdRsbqepfjtdb2LckzDcUiMQK+/20BJFH7r/j9VbJASAYjDDz2Y+ZevkRlJQG2nmkKUTRSJR/Xv8kzz3wNgBFxX4u+MXxTDlz3xxHZtLFbjGZtFnTzmBuHo+wcUNDj00Qi+tquXv+LOZvrmGXPkM5b/t9GFxameuwumzadU8w46FZhNyLglBzmH9c8ziVfcuYdOQuOY7OdFU6JwzKlcIu/3QzO0wciiT5PHm8HvoNqMh+QHlgbu0yTnp5Go9+/QFz1y/jvoXvceyL/2Dh5ppch9YloeYwzz84i2BTQomxKcT9f3k+R1GZdIshKS35yhJEHjn34skUFflbJYmiYj/nXTq5x1ZSX/PBszRFw0RVAYhojIZIkN9/8kKOI+uauo2N7W6rWbkhi5GYjNG0zQeRM5Yg8sioMQO46c4LqJ60PZVVpYweO5CfXHMCJ562d65Dy4lQNMKCJCUFBd5ftzT7AaVRVf/ydpswj9t1eJajMZnQ0lGukBOE1UHkmdFjB/Lbm87MdRh5wevx4Pd4CcYibbaV+Qq7Psbr9XD+L47n9mseJ9gU2rK+qCTAuT9rv8Xawo+W8OhN01m1aA27HrQjJ/5gCr0HFn59THekiLViMiZTvOLhhOG78NTSj1sliWKvj7NG75XDyNLjqDP3papvGff/5XlqVmxg3G7DOfdnx7L9xO2S7v/Os3P53dl/IxQMozFlwYdLmH7nK9z27m/pP6xvlqM3qdA8Lh2kIi8ThIhMAW7GGfv8DlW9IWH7ecAf+WZWpVtU9Y6sBmmy4he7HMna5jpmrV1MwC1NTBmyI1N32D/XoaXFpCN3SanFUiwW46bv39GqtBEORohFG/j3bx7jytunZjJMs43yuQI6FXmXIETEC9wKHI4zOff7IvK0qs5L2PVhVf1h1gM0WVXi83P7vmewvGEjSxvWM6a8HwNLel6LrppltTRubmqzPhqJMWfmxzmIyHRE1fpBZMLewAJVXQQgIg8BJwCJCcL0IMN6VTGsV1Wuw8iZ0opSYtFY0m3lNlNd3ir0W0z5WIMyFFgW9/dyd12ik0XkYxF5VESS37Q1ppso792LPQ7bGV+g9TVdcWkRJ19+dI6iMluXWgumfC5l5GOCSMUzwEhV3QWYCdybbCcRmSois0Vkdk1NYXesMuand13KhH22p6gkQK+KUgLFfo69+DAOO/uAXIdmklAgGvOktOSrfLzFtAKILxEM45vKaABUtTbuzzuAG5MdSFWnAdMAqqurNb1h5pdgOILf68Xjyd+rEdM1ZVW9+NPMX7FiwWpqltcyeufhVPQtz3VYpj3q1EMUsnxMEO8DY0VkFE5iOB1o1TFARAar6ir3z+OBz7MbYv5496ul/O4/L7O0ZiMBn5dT9tuZK447AL+vZ/a87gmGbj+IodsPynUYJgXWiinNVDUiIj8EZuA0c71LVT8TkeuB2ar6NHCZiBwPRID1wHk5CziHPl+2hsumPUVz2Okj0ByO8Ohbn7CpoZn/PXtKjqMzpmdTCr+SOu8SBICqTgemJ6z7ddzvPwd+nu24tkVdYzN/fOw1XpjzJZGosu+OI7j6tEMY0rfrTTXvmPkewUjrXsbN4QgzPviKq048iN5lJV0+hzFmW+V3BXQq8rd2pBtQVS66+VGef/8LguEo0ViMt+Yt4ewbH6ChOdTxATqwaPX6pPc4Az4vqzZs7vLxjTFdE4tJSku+sgSRQXPmL2dZzUbCce3XYzGlORRm+ntdrzaZsN0APEnGBw9Fogzra+PzGJNLqs4tplSWfGUJIoMWr1lPNNa2c1NTKMKXK7re7PaiI7xZyYEAACAASURBVPahyJ/QLt7v47T9d6GitLjLxzfGdE26+kGIyBQR+VJEFojI1Um2Xyki89y+YS+JyIh0xG8JIoNGDeyD19P2JS4J+NhhaP+0HP/uy0+jevthFPm9DKjsxQ+O2ZerTjioy8c2xnSdamrL1sQNP3QUsCNwhojsmLDbB0C12zfsUdpp+t9ZeVlJ3V3sOXYY2/WvYtGq2i23mTweoTjg5+i9J6TlHBOGDeDOH52almMZY9IrTbePOhx+SFVfidv/HeDsdJzYShAZJCL88/JTOGqv8RT5fXg9HvbbcST3/fRMehUX9nwGxpitU1Krf3CTSL+WUR/cJX543lSHH2pxIfBcOp6DlSAyrLy0mOu+eyTXfffIXIfS7cU0yuebX+HzTa/g9xSxS9VRjOxVjSSb6NuYTOvcaK7rVLW6q6cUkbOBaiAt95ktQZhuIaZRHl36S1Y1fU5YmwFYUj+H3Xofy0EDL8pxdKbHSs9QGx0OPwQgIocBvwQOUtVgOk5st5hMt7C4/v1WyQEgrM3M3fA0m0KrcxiZ6cnS1Mx1y/BDIhLAGX7o6fgdRGR34HbgeFVdm674LUGYbmFh/butkkMLQVja+GEOIjImPa2YVDUCtAw/9DnwSMvwQ+6QQ+DMsFkG/EdEPhSRp9s5XKfYLSbTLZR4K/DgI0broUc84qHIUzgT6ny9vJaGhiBjRg2gKGD/noUsnWMxpTD80GFpOVEC+wSabmFi1RHMWf8EMW2dIAQvo8v2zlFUqVtTs5mrf/M4K1ZtwOP1oKpcdckRHDE5sbm7KRgKmsfDaKTCbjGZbqF3YChTBl+FX4oJeEoJeEoo8VZyyvDf4fPkd5NiVeXKXz3C4qXraA5GaGwM0dQU5o+3zeDLhWtyHZ7pCk1xyVNWgihgDZEQN3w0k6e+/pRwLMqkAaO4Zo8jGVHWJ9eh5cT4yoMYU74PKxo/w+cJMKRkRzyS//NifLFgNevW1xOLtf6mCIWiPPbfOfzCphQtUPk9zlIqrARRoFSV819/gMeXfExTNExEY7y1ZhGnvHQ3m0JNuQ4vZ/yeYkaW7cmw0p0LIjkAbNzYmHQmQFVl3br6rMURDoV5+6n3mX7HSyz/amXWztutWQnC5MInG1bx5cY1hGLRLetiKM3RMI8u/ogLd/hWDqMznTFhh8GEw9E264sCPvbda0xWYljy2TL+55BrCTeHiUZjqCqHnXUAV9x+sXU03FZa+BMGWQmiQC3YnHw02OZohM82rEq6zThC0XrCscZch7FFVUUpZ526D8VF/i3rAgEv/fuVc/ThO2f8/KrKr46/gU01m2msayLYGCTUFOLlB9/k1Yffzvj5uzUrQZhcGFPRL+nnqtjrY8feNl9xMptCi3h3zbVsDM4HoH/Jbuwz8FpKfQNzHBmcf/p+jB8ziEefmcumuiYOmjSWbx+7B6Ulma9gX/zJUjau3dRmfXNDkP/e/gKTT98v4zF0WwVegrAEUaB26T2EHSoHMG/j6i23mQQo8vo4ZdRuuQ0uD4Widby0/HuEY/W0XLLVNH3AS8sv4pgRj+OR3P8rTNprDJOydEspXjgYRpIMSw8Qaur6zIc9Wh6XDlJht5gKlIhw94FncsLwiRR5fXhE2HfgKB495AKqAjYXdaIldc8R0zDx/7FKlFB0E6sbZ23zcUPRCM8s+5j/N/cpbv3iFVY1tr0Sz3fb7z4Kn69thX5RaYBDztw/BxF1E4pTgkhlyVO5v2wy26zMX8Tv9jqO3+11HKpqlYlbUR9eRjTJUBwxjVAf3rYWOw2RIGe+dicrGjfSGA3h93i5a/7b3PatM9mn/6iuhpw1Xp+Xq++7jOtP/RPRSIxIKEJxWTEjd9qOY6YenuvwClpHw2jkO0sQ3YQlh63rW7wTizeXENHWTYA94qV30Q7bdMx7F8xiacN6gjGn93Y4FiVMlJ/OfoxXplyJRwqngL73Ubtz52c3MeOeV6hduZ49D9+V/U7cG2+SkkUqli+u4Z83/JeP31lESa8Ax561L9+5+OBtPl7BsgRhTH5RVTY3PMb6ur8RidVQEqimf+VPKPb2pTGyest4TR4CVBWNo1/xrtt0nukrPt2SHOLVR4Isrq9lTHnXp5XNpoEj+nPONad1+Tjr127milNuobE+iKrS3BTikdtfYdmitfzs/85IQ6QFJI9vH6UiLxOEiEwBbga8wB2qekPC9iLgX8CeQC3wHVVdku04TX5av/lv1NbdjLqlhYbml2gMzuLAQQ/z5eaZLK9/EREfI8uPYac+39vm0lexx590fUyVYo+PpkiY577+khX1m9m53yAOHDIKTw5Lel9/uYo7rn+cT99ZQFllKSdNncyJUw/B004F9bZ68t43CTWH0bj7K8HmMG+98Ck1qzbSf3BVWs+XtxQklusguibvEkTcBN2H40yt976IPK2q8+J2uxDYoKrbi8jpwB+A72Q/WpNvYrEmauv+uiU5OBTVJuoa7qB6wG1UD/hZWs51+qhqfv/J8zRFw1vWeRBGlPUlFFX2e/TvBKMRmiJhSnx+Rlf25eEjz6DUn/2xoVYvXcePj/0jzQ1BVKG5McS/bnyWVUvW8YMbTk/rub74aFnSjn+BgI8lX63uOQmC/K6ATkWnLx1E5CQRuUxEdkhY/8M0xbRlgm5VDQEtE3THOwG41/39UeBQsZvwBghHlyFJP9YxmoNz03qub4/YnUMHj6fY66PE66eXL0C/4jJu3vs0Ln/9GTYEm2iIhIkBDZEwX22s4ZZPtr3FVFc8etuL7lX9N+uCTSFmPDiLjevq0nqukTsMwutr+x6EQxGGjOiX1nPlvQLvKNepBCEiNwCXA9sDM0XkirjNF6QpplQm6N6yjzuZxiagb5J4p7ZMAl5Tk7znselefN6BqIaTbvP7RqT1XB7xcGP1yfzn4Iv5xS5H8X97ncqLR1xBha+UzzfUtPm/D0ajPL7ws7TGkKovP1hCNNL2fkeg2M/yNI8Ye+K5++NPmMvCX+Rj4l6jGDrSEkS3TRDAMcBhqnoZsDtwvIj80d2Wd1fwqjpNVatVtbp///ytMFzWuIR3al9nYf1Xre7bms7zeiopLz0eobjVepES+lZc0c6jumZMeX9OHrEHBw4ci8+Tn610ho8dnHRAwFAwzKDh/YhG2t4S2lZDhvfld/d8j1E7DMLjEfwBH5OP3Y1f3XJO2s5RMAo8QXS2DsLjXrGjqrVuZfL9InIn6et0l8oE3S37LBcRH1CJU1ldUEKxEH9f+CcWNyxA3Pzav2gQV4z9BaW+XjmOrnAN7HMjIsVsbngEUDyeKgZU/YbS4klZOX/v4hLG9+7Pp7WrW/3vBzxevj06NxMAnfKDw3hr+ocE43pGB4r9jBw/hB+fdBPrVm+isk8vzrzsSI47d/8uN5uesNsIbnvmxwSbw/h8np7XvBXcSuq8u27ulM5+qa8SkT1a/nDrCL6DkwMnpimmDifodv8+1/39FOBlLcBL7/+ufJSF9fMJxUIEY0GCsSCrmlfwwNI7cx1aQfNIEYP6/IHth33O6CFzGDNkLhW9jstqDDcfcBy9i0oo9fkRoJfPz7iqfvxgl32zGkeLUROGcv19lzJszEA8Xg+BYj8Tv7U9SxbXsG610/t70/oG7vrDf3n6njfSdt6iYn/PTA4telgJ4jxoPemvqsaA74nIXekISFUjboX3DJxmrne1TNANzFbVp4E7gX+LyAJgPU4SKTizal8nknC/PKoRPto0h6hG8bYzn0F9eC1fbHqWuvBqhpbuzujyyfg8RdkIOeNUw4Qb/kWk6SHQKL6SE/GXXYRI54cP8UgxHm9xxztmwOjKPrx1yqVM//pLltdvYpe+gzho6OicNnPdZd9x/PPNX9PcGMQf8HHpkTcSam7djyPYFOL+m2dw/HkHWOdL03GCEJGbgB+rY3l7+6lq2sYFTmGC7mbg1HSdL1cSk0OLmCoxjSVNECsbP+C55VcT0ygxwiyqe40P1t/PScP/QcBb2LelVJXm9RcRC70DOM1Uw/W3EG1+geJ+TyJ5MKBeZ5T4/Jw8Jl0F6/QpLnUuJtYsX590e0NdM8HmMMVZGEm2u5M8Lh2kIpVbTGcAT4pIabKNInJUekPqOXaq2DVpk8yRpaPxJ+mEpRrjpVX/S0SbieEkl4g2URdezUfrH8p4vJkWC39ELPxNcnAEiUUXEQ2+kquwuq0ho5I33KjoXUpRcfJOgKaTCnywvlQSxLdwmrW+ISKDW1aKyJEi8g7w30wF1919e9hZlPnKCHicKzW/+CnxlnLWiAuT7r8pvIJQtO0UlFENsbCu8L9AY+E5oEla02gD0dC72Q+om7vgZ8e1SQRFJX7O/ckxdnspHVKtf8jjUkaHZXZVXSwi+wKPAO+JyDU4PZknAS8CB2c0wm6sT6Av1+70J96pfYMlDQsZUrId+/Y9iHJ/RdL9fVKEkrzvfneogxDPIBA/aOIcBMWIZ0jKx4k0v06o4R5UN+ErPpZArzMQyU1dRD7ba/IEfnHbudz5+2dYuWQd/QZX8d0rp3DIidW5Dq3b6BFDbajqJhH5E/AE8E/gI2CSqtplXReVeEuZPODIlPYt8w+gd2AktcEFrRKFT4rZsfLETIWYNd7iQ2FzEWgjrS6rxIe/9KSUjtG8+WZCDbeBO9RGNPQJ4caH6dX/SUsSSex9yE7sfchOuQ6j+8rj0kEqOrzFJCJTROQN4HngbeB2YEec204myw4fcj2lvn74PaX4pBivFDGybH/GVx2d69C6TKSYkr7/QXxjgSKgGPEOo7jP/Yind4ePj0XXEaq/ZUtycDQTiy4m3PhkpsI2pn1pusXkfg9/KSILROTqJNuLRORhd/u7IjIyHeGnUoKYDrwCHKSqb7rBfAjcLSLjVPWadARiUlMRGMyZox9iReNcGiPrGFC8I72L0juERC55fNtT2n8mschyIIp4h6d8PzwamuPeogq23qBNRJpfINCrIFtDmwIlmp5WTLkcwDSVBHGwqr4ev0JVp4nIYuARN0n0sEHec8sjXrbrtVeuw8goj29Ypx8jniqSX455EG/+DrViurH0tFDaMoApgIi0DGAanyBOAK51f38UuEVEpKsdiDu8xZSYHOLWzwT2B/bpSgDGpIs3sBciFbQdFixAoNd3cxGS6elSv8XUr2VgUXeZGneUtA1g2lld6nnk9nC2BGHygoiH0n4P0lh7LhqrwemIH6W44n/x+vOvw5rp/jrRimmdquZd87Eud01VVRtH2+QNr280ZQNeJxb+FNV6vP7dEE/nh+kwpsvSVAdBDgcwLayxC4xJgYjgDeyc6zCMSVcz1y0DmOIkgtOBMxP2aRnAdBZpHMDUEkSeiMUaaWieQSxWT0nx/gR8o3IdkulmorEYL7zzBc+88RmqyrEHTGTKpPF40zwntYmThgSRywFMLUHkgabge6xcdzaKgsYApbLsXPpV/tqGPDBpoar88rZnefuTxTQHnRFc5y1ezSuz5/PHy463z1mGpGuwvlwNYGqXDjmmGmbluvOIaT2qDShNKM1savg3jcHXch2e6SY+W7Satz/+JjkANAUjvD9vKR/NX5nDyLq5Ah+LyRJEjjUF30VbT7EBgGojmxsezEFEpjua8/kywkmmFW0OhZnz+bIkjzBdpt90lutoyVeWIHJMCdPedN6a2CPYmG1UWVaM39/2jnLA76OyzMaoyhgrQZiuKAnsA7S9shMppTzFAep6gvqGJ1m+en++XjGalWuOoqk5bfNT9QiH7jUu6WWIR4TD9tkh6/H0GJYgTFd4PKUM7P1nd6RRZ2x+kVJKivalrOTY3AaXJzbX30ftxiuJRBai2kQo/CFra8+iOWhJIlXlvYq5+apv07u8hNJiP6XFAarKSvjLj0+kqsz6iWSCUPi3mKwVUx4oLz2e4sCubG54lGhsI71KDqW06EBELH+rxti4+fdoqxFaIRZrpnbjdQzq/zheT2FPtZotu40byvSbL+bzxWtQVXYcPciauGZaHn/5p8ISRJ7w+0bQt/KqXIeRd2K6iVis9Sx6EYVmPNSHPmPDip0pLzmCYX3+hNdTlqMoC4fX42HimMEd72i6Tgt/wiC7fDB5zSPliAS2/B1VaMKDunfUlRB1TS/w9bqLchWiMe2zOghjMkfER0X5pYg498lDSapalRCNwfcIRZZmOzxjtqrQ6yAsQZi8V1V+BZXllyFSQQwPyZoFiwQIRRLHLzMmx6wEkT4i0kdEZorIfPdn0nkmRSQqIh+6y9PZjtNkl4iHqoorGD7kc3r3ugAItNlHNUSxf3z2gzOmPakmB0sQKbsaeElVxwIvuX8n06Squ7nL8dkLz3RWNNbM5uDHNIeXd/lYIh76V34fr5QS/9EVKaFP2Tn4vB3PW21MNhX6LaZ8a8V0AnCw+/u9wKvAz3IVjOmalZsfZOGGPyB4UMKUBSYyccCt+L19tvmYfu8gth/0HKs3/YH65jfweXrTt/xi+th80yYPFXorpnxLEANVdZX7+2pgYDv7FYvIbCAC3KCqTybbyZ22byrA8OHD0x2r2YoNTe+wcMMNxOL6L9QFP+LTtT9g98FdG2Mq4NuO4X1v6WqIxmReHpcOUpH1BCEiLwKDkmz6Zfwfqqoi7Ra+RqjqChEZDbwsIp+o6sLEnVR1GjANoLq6usDfqsKyfPOdrZIDgBKhPvQZTeFllPi3a+eRxnQTeV6/kIqsJwhVPay9bSKyRkQGq+oqERkMrG3nGCvcn4tE5FVgd6BNgjC5E4wkfesQfISjtZYgTLcntDcMZ+HIt0rqlmnzcH8+lbiDiPQWkSL3937AfsC8rEVoUtKn5EAkWWsjovQKjMtBRMbkgLViSqsbgMNFZD5wmPs3IlItIne4+0wAZovIR8ArOHUQliBSFIs10tj0DPUNDxGJZm6imGGV5+P3VrZKEh4pYVTvq/B6SjN2XmPyicRSW/JVXlVSq2otcGiS9bOB77m/vw3YjPTbIBh8h5ra77p/xdCNUSrKL6Oy4sq0nyvg7cOeQ55h+aY7Wd/0GgHvAIZVXkifkv3Sfi5j8lYelw5SkVcJwmSOajM1teeg2nrgu7r6Wygu2p+ior3Tfs6Atw+j+/yE0fwk7cc2yTVGgryxdj7N0TCT+o9hQHFFrkPqufK8j0MqLEH0EM3BN5OuV22mvvGhjCQIk13vrlvE5e89gAjEVImq8v1xk7lg7AG5Dq3nsgTR8zQG32ND/QPEtI6KkuOoKD0Wkfx+KZ3pS5N9WhUSmqOawtMUCXH5+w/QGA21Wv+P+a+yT//R7FQ1NEeR9WxWguhhajbfwrrNN6HaDCj1za+zoeFBRvS/P6+TRHHRfqhG2qwXKaWkxEYrKXRv1yxAkjSqDEUjPLXsA0sQuVLgCSLfWjHltUh0Les2/dmd3cx551UbaQrNpa5pRm6D64DHU0Xvqt8iFANewEkORUUHUFJ8ZG6DM9ssqlFUleZoBNW230YxlOZoOAeRmZYJg6wVUw/R0Pw2iA802Gq9aiObm56jovSYHEWWmrJeZ1IUqKah8WFisTpKSo6iuOggm9q0AM3btIi/L3iYrxtXEvAEOLDfPkS07TdNidfP4YN3ykGEBshKCUJE+gAPAyOBJcBpqrohYZ/dgL8DFUAU+K2qPtzRsS1BdILHU4YgSd5zD15PVUbPrZGlEJ4Lnr4QmLTNt7P8/nFUVf4qzdGZbfXxxlm8vOZxNkXWM6J0HFMGn8mg4q33Mv+6YRW//vRWgjGnviEYC/HaunfYre8IPqrdRCQWJYpS4vVzwIBx7D9gbDaeikkgZK0OomUU7BtE5Gr378RBThuBc1R1vogMAeaIyAxV3bi1A1uC6ISy4gOdL+aEN10kQO9eZ2TknKqKbr4Omh4D8QIC0gv6/BvxjcrIOU12vFHzLM+vepCwWyL9fPMcFtR/yo/G/p6BxcPafdzjy18kHGtdnxSKhVmvS/jHt37Iq6vn0xgNceigHZnUfwwihT7gQwHLToLocBRsVf0q7veVIrIW6A9YgkgXkQDD+z/A0pqzUXWu3lQjDKq6juJAhorxzc9C0xNA8JsPmzaiGy6Ffs/ZP3+BisTCvLD6oS3JAUBRwrEgM1c/wtkj2++8uKRhJTHa3k7ye3yU+oWrdpqSkZhN50mSeqEMSHUUbABEZG+cWbc6HL/OEkQnlQR2ZdyQuTQEZ6HaRGnRJLyezHVG0sYHgMRmqArRVRBdBL4xGTu3yZwN4XXtNDpWvm78KsmWb2xftl3SJBGORRhS3D+NUZou0U5VQPdzpzBoMc0djRpI2yjYuIOg/hs4VzVJpVUCSxDbQMRPWfGB2TmZNrYThMf6LxSwMl8FMY0m3dYnMGCrjz15u8N4vWYuzbFvSh9FHj8HD9iLykB5WuM0XZR6AWKdqla3e5g0jIItIhXAs8AvVfWdVIKy5iv5rvgYoDjJBh/4bA7mQlXi7cVuVfvhl9Yj3vqliEMHnrzVxw4pGcANu17OThVj8ImXSn8Zp253BJdu/51Mhmy2QZamHE1lFOwA8ATwL1V9NNUDWwkiz0mvs9HmZyC61C1N+AAfUnljXnfMMx379rCpeMTL3A2vIwh+TxHHDTmHceW7dvjYMWXbccOuV2QhStMl2amkvgF4REQuBL4GTgNnFGzgElX9nrvuQKCviJznPu48Vf1wawe2b5g8J1ICfR+F5ufQ4BvgHYSUnIb4bArVQufz+Dllu0s4fuj5NEXrKfdV4RFvrsMy6ZKlwfpSHAX7PuC+zh7bEkQBEAlAyQlIyQm5DsVkQMBTRMBTlOswTCYU+FAbliCMMSYDBJBYYWcISxDGGJMhNpprN7O28W2+3HArjeFllAfGMr7PZfQp7rjS0BhjWsnz+aZTYc1c46ysn8nsNVewMfgJodhGapvfZ9aqi6htmt3xg40xJkGhj+ZqCcKlqnxW+0ei2txqfUybmbf+zzmKyhhT0DTFJU/ZLSZXVJtpjibtgMjm0PwsR2OM6Q6sDqKb8EoRPiklovVtthV7bXwbs+02h+t5csWLvL/+Eyr8ZRw/5BD26Wv1Wt2eFn4rpry6xSQip4rIZyISc3sBtrffFBH5UkQWuOOfp+HcHkZXnoNXSlqt90oxY6suTscpTA9UH2nkyg9/zzMrX2Z502rmbV7AX766h4eXTs91aCYbCvwWU14lCOBT4NvA6+3tICJe4FbgKGBH4AwR2TEdJx/XeyqjKs/CKyV4pAiflLFD7x8yvMI6qJlt89yq16kLNxCJG5gvGAvx2PIXqAs35DAyk2ktEwZlYSymjMmrW0yq+jnQ0RwHewMLVHWRu+9DOBNmzOvq+UU8TOhzGeN6X0I4upGAtzce8Xf1sKYH+2DDPELadk5ov8fLooZl7FplAy52W6rOUsDyrQSRiqHAsri/l7vr0sYrAYp9Ayw5mC7rV9Qboe0FT1Rj9A5kbh4Rkx8KvQSR9QQhIi+KyKdJlrTfxxGRqSIyW0Rm19TUpPvwxnTouCGHEPC0Lqh78TC0ZCDDS4fkKCqTLYXeDyLrt5i2NvFFilYA8bO6D3PXJTvXNGAaQHV1dR7nadNdjS0fwaVjzmTaoodRlEgsypiy4fxs/EW5Ds1kmgIF3oopr+ogUvQ+MFZERuEkhtOBM3MbkjHtO2jA3uzXb0+WNa2izFdK/6I+uQ7JZEth54f8qoMQkZNEZDkwCXhWRGa464eIyHQAVY0APwRmAJ8Dj6jqZ7mK2ZhU+DxeRvUaZsmhhyn0Ooi8KkGo6hM40+Ilrl8JHB3393TAGpIbY/JbgbdiyqsEYYwx3Uk+lw5SYQnCGGMyQLrBUBuWIIwxJlPyuAlrKixBGGNMhojVQRhTuFZs3MzDcz9mxcbNTBo1nGMnjqfYb/8WJg3yfCC+VNh/gumxZi1eyqUPPUUkFiMcjfHSl4v451vv8+j3zqS8uCjX4ZmCZ2MxGVOQYqr89InnaQpHCEedG8VN4TArN9Xxz7ffz3F0prso9H4QliByKBKrZ17Nr3h5yR68uHgXPlh9CU3hpKOGmDRbun4jdcFgm/WhaJTn59kMgiYNFCSqKS35yhJEmmxoept5a3/Ax6vPZuXm+4jGmre6v6oyZ9X5rKx/iqg2oYRZ1/QG7648lUis7ax2Jr2K/T6i7RT/S/w2iq9Jk5YhvztaukBE+ojITBGZ7/7svZV9K0RkuYjcksqxLUGkwdKNf2fe2oupbZzBpuZ3WLzhD3y0+jRisbZXqC02BT+kIbwIJX6ugBhRbWZl3ZOZD7qHG1RRzrj+/fAkzD1S4vdxZvUuOYrKdDvZmVHuauAlVR0LvOT+3Z7fsJUJ2RJZguiiULSWpRv/RkybtqyLaRNN4cWsbXim3cfVhxegST4ZMW2iLvR5RmI1rf311GMZXFlOr4Cf0oCfIp+XIyeM5dQ9ds51aKabENWUli46AbjX/f1e4MSksYjsCQwEXkj1wNaKqYs2N8/FIwGiGmq1PqZN1DbOZFD5KUkf18s/OulEMh4ppixgs4xlw9CqCl780QW8u2QZa+rq2W3oYEb2bbd0bkznZacV00BVXeX+vhonCbQiIh7g/4CzgZSnXLAE0UV+byXJy4ge/N72R+6sKtqDUv9I6kPz424zefBKMUPKbA7sbPGIMGnU8FyHYboh0U5VQPcTkdlxf09z57NxjiXyIjAoyeN+Gf+HqqpI0nZR3wemq+ryDqZ0bsUSRBdVFFXj9ZQTjTYSnyg8EmBI+VntPk5E2HPwPXxZ+3vWNDxLTCP0LZnE+L6/xu+1qSiN6RZSL0GsU9Xq9g/T/kRrIrJGRAar6ioRGQysTbLbJOAAEfk+UAYERKReVbdWX2EJoqtEPOw88F4+XXMB4dgGBA9KlDF9fkVZ0cStPtbvKWdi/98xsf/vUFU6k9mNMQUgO7eYngbOBW5wfz7VNgzdcrUqIucB1R0lB7AEkRalgTHsNexV6kOfEInVU1G0G15PaaeOmgRX0AAAB5tJREFUYcnBmG5GydZgfTcAj4jIhcDXwGkAIlINXKKq39vWA1uCSBMRobzImkcaY76RjcH6VLUWODTJ+tlAm+SgqvcA96RybEsQxhiTKQU+FpMlCGOMyQRViBX2hBCWIIwxJlMKOz9YgjDGmEyxCYOMMcYkZwnCGGNMGwrECjtB5NVgfSJyqoh8JiIxtw1ve/stEZFPROTDhO7pxhiTJ1Ic6juPSxn5VoL4FPg2cHsK+05W1XUZjscYY7adtWJKH1X9HKxXsTGmG7BbTDmjwAsiMkdEpra3k4hMFZHZIjK7pqYmi+EZY4yCxlJb8lTWSxBbG7ZWVdsMMtWO/VV1hYgMAGaKyBeq2maWJHe43GkA1dXVhZ3KTYfCkSjRWIzigE0ZavJEHtcvpCLrCWJrw9Z24hgr3J9rReQJYG86MY2e6V421jXxu7tm8taHi1BVxo8ayP+78AhGD+uX69BMT2a3mLJPRHqJSHnL78AROJXbpgdSVS793SO89eEiItEY0Zgyb+FqLvrfh9lU19TxAYzJpFgstSVP5VWCEJGTRGQ5zuQWz4rIDHf9EBGZ7u42EHhTRD4C3gOeVdXncxOxybW5XyxnVe1mItFv/skU53bTf9/8LHeBGWPNXNNLVZ8AnkiyfiVwtPv7ImDXLIfGpvAmljcup0+gD4NLBmf79KYdy9dsRJMU44OhCIuW1+YgImNcSl6XDlKRVwkiH6kq9y+9n9dqXsPv8RPVKCNLR3L52Msp9XVuUiCTfmOH94ckraKLi/zsNCZZWwhjsiiPSwepyKtbTPno1ZpXeWPdG0Q0QlO0iVAsxKKGRdy5+M5ch2aACaMGMmHUIAJ+75Z1Xo9QVhJgyr4TchiZMRT8LSZLEB14Yc0LhGKhVusiGuHjTR/TFLVK0FwTEW76n5M47fDdqSoroVdJgMP22YF7rjuL0uJArsMzPZo6rZhSWfKU3WLqQGOkMel6QWiONlPiLclyRCZRccDPj04/kB+dfmCuQzHmGwoajeY6ii6xEkQHdq7cGU+Sl6ncX06VvyoHERljCobdYureThp6EqW+UnziFLY8eAh4Apw38jwbM8oY076WKUcLuB+E3WLqQN+ivvx24m+ZuWYmX9Z9yaDiQRwx8AiGlQ7LdWjGmHyXx6WDVFiCSEGFv4KTh52c6zCMMQVG87h0kApLEMYYkxH5Xb+QCksQxhiTCQoUeCsmSxDGGJMBCkmHgSkkliCMMSYTVPN6MqBUWIIwxpgMKfQShGiBV6KkSkRqgK872K0fsC4L4eRST3iO0DOeZ094jpCb5zlCVft35QAi8jxO7KlYp/+/vft72XuO4zj+fCWU/DhDZsWB1EiRzMyP8iOz1hYlHChZOaGolWjKH6AcMJFGTtakEDWaW2TFaNLSZqbFgVtqBxKiNN4Orq+6Zt8x3Nc+167v83F0fa/v9+5+fbru+371ub8/PlUr/s/3m4TBFMSRSPJxVV3aOsckDWGMMIxxDmGMMJxxTiPvpJYk9bIgJEm9LIiDPds6wFEwhDHCMMY5hDHCcMY5dTwHIUnq5QxCktTLgpAk9bIgxiR5LMnnST5N8mqSmVwRKMmtSXYn+T3JTF0+mGRFkr1J9iV5qHWeSUjyfJL9SXa1zjJJSRYneTfJZ93P6/2tMw2NBXGwOeDCqroI+AJ4uHGeSdkF3AJsax1kISU5DngKuAlYAtyRZEnbVBPxAjB1N1VNwAFgXVUtAS4H7p3Rz3NqWRBjquqtqjrQbX4IzOSqQFW1p6r2ts4xAZcB+6rqy6r6FXgRWNM404Krqm3Ad61zTFpVfVtVn3SvfwT2AIvaphoWC+Lw7gbebB1C/8oi4Oux7Xn8gzITkpwDXAx81DbJsAzuYX1J3gbO7Nm1vqpe645Zz2h6u+loZltIRzJO6ViQ5GTgZeCBqvqhdZ4hGVxBVNX1f7c/yV3AKuC6OoZvEvmncc6ob4DFY9tnd+/pGJXkeEblsKmqXmmdZ2j8F9OYJCuAB4HVVfVz6zz613YA5yU5N8kJwO3A640z6T9KEuA5YE9VPd46zxBZEAfbAJwCzCXZmeSZ1oEmIcnNSeaBZcCWJFtbZ1oI3QUG9wFbGZ3QfKmqdrdNtfCSbAa2A+cnmU+ytnWmCVkO3Alc2/0+7kyysnWoIfFRG5KkXs4gJEm9LAhJUi8LQpLUy4KQJPWyICRJvSwISVIvC0KDkOSaJDV+HX13Q93+JE+0zCZNK++D0GAkeQc4saqWJzkN+AD4ClhTVb+1TSdNHwtCg5HkKkZrYNwIrAPOAK6sqp+aBpOmlAWhQUkyB1wBfA8srar5sX1PA6uBs6oqjSJKU8NzEBqafcBJwKPj5dDZDFxy9CNJ08kZhAYjyT3Ak4we5PdLVS07zHHlDEKyIDQQSW4A3gDWMlpvfDuwsqoOWTXQgpBGLAjNvCQXAO8DG6rqke69OeDUqlrac7wFIWFBaMYlOZ3ROsY7gNv+XCUwydXAe8Cqqtryl6+xICQsCOkQFoQ04lVMUifJxm6lPbqV2ja2ziS15AxCktTLGYQkqZcFIUnqZUFIknpZEJKkXhaEJKmXBSFJ6mVBSJJ6WRCSpF4WhCSp1x+4ukfU4SGHGgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light", "tags": [] }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light", "tags": [] }, "output_type": "display_data" } ], "source": [ "###############################################\n", "# ------- insert code here -------------------\n", "###############################################\n", "\n", "#############!! SOLUTION !!####################\n", "means_final, covs_final = q_marginals(m_q, L_q_const)\n", "means_final = means_final.numpy()\n", "covs_final = covs_final.numpy()\n", "plt.scatter(X[:,0], X[:,1], c=means_final)\n", "plt.xlabel('$x_1$', fontsize=15)\n", "plt.ylabel('$x_2$', fontsize=15)\n", "plt.title('posterior prediction q(f*)', fontsize=20)\n", "plt.colorbar()\n", "plt.show()\n", "\n", "p_final = phi(means_final / np.sqrt(1 + covs_final))\n", "plt.scatter(X[:,0], X[:,1], c=p_final)\n", "plt.xlabel('$x_1$', fontsize=15)\n", "plt.ylabel('$x_2$', fontsize=15)\n", "plt.title('posterior prediction q(y*)', fontsize=20)\n", "plt.colorbar()\n", "plt.show()\n", "#############!! SOLUTION !!####################\n" ] }, { "cell_type": "markdown", "metadata": { "id": "t3ZlPddLxMXT" }, "source": [ "### Task 1e: Posterior prediction for new data points\n", "\n", "Under the hood, the algorithm defines a posterior process for all values of the input space.\n", "\n", "For a new input $x^*$, the posterior prediction is given by \n", "\n", "$\n", "\\begin{align*}\n", "q(f(x^*)) &= \\int p(f(x^*)|{\\bf f})q({\\bf f})d{\\bf f}\\\\\n", " &= {\\cal N}(f(x^*)| K_{f^*{\\bf f} }K_{{\\bf ff}}^{-1} m_q,\n", " K_{f^*f^*} - K_{f^*{\\bf f}}K_{{\\bf ff}}^{-1}(K_{{\\bf ff}} - S)K_{{\\bf ff}}^{-1}K_{{\\bf f} f^*})\n", "\\end{align*}\n", "$" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "id": "nIrjqfJNxKDv" }, "outputs": [], "source": [ "def posterior_marginal_prediction(X_new, X, m_q, L_q_const):\n", " \"\"\" compute the posterior marginal predictions q(f(x*)) \n", " independently for all inputs in X_new \n", " \n", " arguments:\n", " X_new -- N_new x 2, matrix of new inputs\n", " X -- N x 2, matrix of training inputs\n", " L_q -- N x N, Cholesky factor of the covariances of q\n", " m_q -- N x 1, mean vector of q\n", " returns: predictive marginal means and variances (both with size N_new x 1) \n", " \"\"\"\n", "\n", "\n", " ###############################################\n", " # ------- insert code here -------------------\n", " ###############################################\n", "\n", " #############!! SOLUTION !!###################\n", " L_q = b.forward(L_q_const)\n", " L_p = b.forward(L_p_const)\n", "\n", " dists = np.linalg.norm(X_new[:, None, :] - X[None, :, :], axis=-1)\n", " K_fnf = tf.cast(\n", " s**2 * tf.exp(- 0.5 * dists**2 / l**2),\n", " dtype=tf.float32\n", " )\n", " dists = tf.reduce_sum(X_new**2, axis=1, keepdims=True)\n", " K_fnfn = tf.cast(\n", " s**2 * tf.exp(- 0.5 * dists**2 / l**2),\n", " dtype=tf.float32\n", " )\n", "\n", " V = tf.linalg.cholesky_solve(L_p, tf.transpose(K_fnf)) # K_ff^-1 K_ff*\n", " pred_means = tf.matmul(V, m_q, transpose_a=True)\n", " A = tf.matmul(V, L_p, transpose_a=True) # chol(K_ff)^T K_ff^-1 K_ff*\n", " B = tf.matmul(V, L_q, transpose_a=True) # chol(S)^T K_ff^-1 K_ff*\n", " pred_vars = (\n", " K_fnfn \n", " - tf.reduce_sum(A**2, axis=1, keepdims=True)\n", " + tf.reduce_sum(B**2, axis=1, keepdims=True)\n", " )\n", "\n", " return pred_means, pred_vars\n", " #############!! SOLUTION !!###################\n" ] }, { "cell_type": "markdown", "metadata": { "id": "sfGR_5yG64zo" }, "source": [ "Plotting the prediction" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 306 }, "id": "4bXbpwLP3Zcv", "outputId": "d8e258dd-ae9b-43a4-f049-28a969b761a1" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light", "tags": [] }, "output_type": "display_data" } ], "source": [ "# create new input points on grid\n", "n_grid = 100\n", "x = np.linspace(X.min(), X.max(), n_grid)\n", "X1new, X2new = np.meshgrid(x, x)\n", "Xnew = np.hstack([\n", " X1new.reshape(-1,1), X2new.reshape(-1,1)\n", "]) # size : n_grid * n_grid x 2\n", "\n", "###############################################\n", "# ------- insert code here -------------------\n", "###############################################\n", " \n", "#############!! SOLUTION !!####################\n", "\n", "# evaluate posterior process on grid\n", "pred_means, pred_vars = posterior_marginal_prediction(Xnew, X, m_q, L_q_const)\n", "\n", "plt.scatter(Xnew[:,0], Xnew[:,1], c=pred_means)\n", "plt.xlabel('$x_1$', fontsize=15)\n", "plt.ylabel('$x_2$', fontsize=15)\n", "plt.title('posterior prediction q(f*)', fontsize=20)\n", "plt.colorbar()\n", "plt.show()\n", "\n", "#############!! SOLUTION !!####################\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "id": "CDp21NI566-m" }, "source": [ "### Advanced [for the curious, no extra points]\n", "* Repeat the procedure for the regression setting with Gaussian noise. You need to derive new variational expectations since the likelihood changes. Apply the resulting algorithm to the regression problem of the previous assignment.\n", "* For fixed hyperparameters, do the ELBO match the marginal likelihood $\\log p({\\bf y})$? If so why?" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": true, "id": "tf6jYiwm66-n" }, "outputs": [], "source": [ "###############################################\n", "# ------- insert code here -------------------\n", "###############################################" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "id": "-y3I4SF__RaO" }, "outputs": [], "source": [] } ], "metadata": { "colab": { "collapsed_sections": [], "name": "lab3_biject.ipynb", "provenance": [], "toc_visible": true }, "kernelspec": { "display_name": "Python 3", "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.7.3" } }, "nbformat": 4, "nbformat_minor": 1 }