Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ltiao/c066d22588d9494cb4b94a6cdd472392 to your computer and use it in GitHub Desktop.
Save ltiao/c066d22588d9494cb4b94a6cdd472392 to your computer and use it in GitHub Desktop.
Approximating the KL Divergence Between Implicit Distributions.ipynb
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "Approximating the KL Divergence Between Implicit Distributions.ipynb",
"version": "0.3.2",
"provenance": [],
"collapsed_sections": [
"31TlGzqZ6W5v"
],
"include_colab_link": true
},
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"[View in Colaboratory](https://colab.research.google.com/gist/ltiao/c066d22588d9494cb4b94a6cdd472392/approximating-the-kl-divergence-between-implicit-distributions.ipynb)"
]
},
{
"metadata": {
"id": "ZCxh4vi36W3V",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"%matplotlib inline"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "PMLLQJUI6W3Y",
"colab_type": "code",
"colab": {},
"outputId": "ef6f26d7-4a60-4f99-b332-9f4fc478528b"
},
"cell_type": "code",
"source": [
"import numpy as np\n",
"from scipy.special import expit\n",
"\n",
"import tensorflow as tf\n",
"import tensorflow_probability as tfp\n",
"\n",
"from keras.models import Sequential, Model\n",
"from keras.layers import Input, Dense\n",
"from keras.callbacks import Callback\n",
"\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"import pandas as pd\n",
"\n",
"from matplotlib import animation\n",
"from IPython.display import HTML, SVG\n",
"from keras.utils.vis_utils import model_to_dot, plot_model"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"/usr/lib/python3/dist-packages/h5py/__init__.py:34: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.\n",
" from ._conv import register_converters as _register_converters\n",
"Using TensorFlow backend.\n"
],
"name": "stderr"
}
]
},
{
"metadata": {
"id": "9tmDnLoW6W3f",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"plt.style.use('seaborn-colorblind')\n",
"\n",
"plt.rc('text', usetex=True)\n",
"plt.rc('font', family='serif', serif=['Lato'], size=16)\n",
"plt.rc('animation', convert_path='/usr/bin/convert')\n",
"\n",
"np.set_printoptions(precision=2,\n",
" edgeitems=3,\n",
" linewidth=80,\n",
" suppress=True)"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "ozif4aoO6W3j",
"colab_type": "code",
"colab": {},
"outputId": "301b03a5-6b8c-47a8-a814-103efc28f1c1"
},
"cell_type": "code",
"source": [
"'TensorFlow version: ' + tf.__version__"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"'TensorFlow version: 1.10.0'"
]
},
"metadata": {
"tags": []
},
"execution_count": 4
}
]
},
{
"metadata": {
"id": "dahCiHQd6W3m",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"sess = tf.InteractiveSession()"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "kx4XvkMW6W3o",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"golden_size = lambda width: (width, 2. * width / (1 + np.sqrt(5)))"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "O4Yi5gaf6W3s",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"mu_p = 1.\n",
"sigma_p = 1."
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "wwLTcf7q6W3u",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"mu_q = 0.\n",
"sigma_q = 2."
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "BecEyMz16W3x",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"p = tfp.distributions.Normal(loc=mu_p, scale=sigma_p)\n",
"q = tfp.distributions.Normal(loc=mu_q, scale=sigma_q)"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "NFSUkub86W3z",
"colab_type": "code",
"colab": {},
"outputId": "e5037d3f-3797-4cd7-a119-0f45a341759a"
},
"cell_type": "code",
"source": [
"xs = tf.expand_dims(tf.linspace(-5., 5., 500), 1)\n",
"xs"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<tf.Tensor 'ExpandDims:0' shape=(500, 1) dtype=float32>"
]
},
"metadata": {
"tags": []
},
"execution_count": 10
}
]
},
{
"metadata": {
"id": "FNL2B-pv6W33",
"colab_type": "code",
"colab": {},
"outputId": "9dfe0a67-0cf8-4286-ad99-f4b086b33239"
},
"cell_type": "code",
"source": [
"fig, ax = plt.subplots(figsize=golden_size(8))\n",
"\n",
"# ax.set_title('probability densities')\n",
"\n",
"ax.plot(xs.eval(), q.prob(xs).eval(), label='$q(x)$')\n",
"ax.plot(xs.eval(), p.prob(xs).eval(), label='$p(x)$')\n",
"\n",
"ax.set_xlim(-5.5, 5.5)\n",
"ax.set_ylim(0., .5)\n",
"\n",
"ax.set_xlabel('$x$')\n",
"ax.set_ylabel('density')\n",
"\n",
"ax.legend()\n",
"\n",
"plt.savefig('gaussian_1d_densities.svg', format='svg', dpi=1200)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb784063d68>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "OXKu3Vi86W36",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"def log_density_ratio(p, q):\n",
"\n",
" def log_ratio(x):\n",
"\n",
" return p.log_prob(x) - q.log_prob(x)\n",
"\n",
" return log_ratio"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "Z3HmzusH6W3_",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"def density_ratio(p, q):\n",
"\n",
" log_ratio = log_density_ratio(p, q)\n",
"\n",
" def ratio(x):\n",
"\n",
" return tf.exp(log_ratio(x))\n",
"\n",
" return ratio"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "AxS34IgD6W4A",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"r = density_ratio(p, q)"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "ZXaEdOKj6W4D",
"colab_type": "code",
"colab": {},
"outputId": "9dc456d3-a7d5-4d02-a671-ef5799751b51"
},
"cell_type": "code",
"source": [
"fig, ax = plt.subplots(figsize=golden_size(8))\n",
"\n",
"# ax.set_title('density ratio')\n",
"\n",
"ax.plot(xs.eval(), q.prob(xs).eval(), label='$f(x)=q(x)$')\n",
"ax.plot(xs.eval(), p.prob(xs).eval(), label='$f(x)=p(x)$')\n",
"\n",
"ax.plot(xs.eval(), r(xs).eval(), linestyle=':', label='$f(x)=\\\\frac{p(x)}{q(x)}$')\n",
"\n",
"ax.set_xlim(-5.5, 5.5)\n",
"ax.set_xlabel('$x$')\n",
"\n",
"ax.set_ylabel('$f(x)$')\n",
"\n",
"ax.legend()\n",
"\n",
"plt.savefig('gaussian_1d_density_ratios.svg', format='svg', dpi=1200)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb7840634e0>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "wLjh5KTE6W4G",
"colab_type": "code",
"colab": {},
"outputId": "7d547cfd-d164-4ca4-a9e1-49648b838d35"
},
"cell_type": "code",
"source": [
"tfp.distributions.kl_divergence(p, q).eval()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0.44314718"
]
},
"metadata": {
"tags": []
},
"execution_count": 16
}
]
},
{
"metadata": {
"id": "t_M4qCvH6W4K",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"$$\n",
"\\mathrm{KL}[p(x) || q(x)] = \n",
"\\mathbb{E}_{p(x)} \\left [ \\log \\frac{p(x)}{q(x)} \\right ].\n",
"$$"
]
},
{
"metadata": {
"id": "NLbrSp6J6W4K",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"p_samples = p.sample(5000, seed=8888)\n",
"q_samples = q.sample(5000, seed=8888)"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "CbQUCIIK6W4O",
"colab_type": "code",
"colab": {},
"outputId": "020430e7-521c-45b4-a363-ccb5d6aa6d9c"
},
"cell_type": "code",
"source": [
"log_r = log_density_ratio(p, q)\n",
"tf.reduce_mean(log_r(p_samples)).eval()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0.44670376"
]
},
"metadata": {
"tags": []
},
"execution_count": 18
}
]
},
{
"metadata": {
"id": "KskTv6BE6W4R",
"colab_type": "code",
"colab": {},
"outputId": "cd7c33bf-49aa-4e80-d296-4d4c9d508d2e"
},
"cell_type": "code",
"source": [
"tfp.monte_carlo.expectation(f=log_r, samples=p_samples).eval()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"WARNING:tensorflow:From /usr/local/lib/python3.5/dist-packages/tensorflow_probability/python/monte_carlo.py:161: calling reduce_mean (from tensorflow.python.ops.math_ops) with keep_dims is deprecated and will be removed in a future version.\n",
"Instructions for updating:\n",
"keep_dims is deprecated, use keepdims instead\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0.4581419"
]
},
"metadata": {
"tags": []
},
"execution_count": 19
}
]
},
{
"metadata": {
"id": "hlosGIej6W4U",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"$$\n",
"\\begin{align}\n",
"\\mathrm{KL}[p(x) || q(x)] \n",
"& = \\mathbb{E}_{q(x)} \\left [ \\frac{p(x)}{q(x)} \\log \\frac{p(x)}{q(x)} \\right ] \\\\\n",
"& = \\mathbb{E}_{q(x)} \\left [ f \\left ( \\frac{p(x)}{q(x)} \\right ) \\right ] \n",
"\\end{align}\n",
"$$\n",
"where\n",
"$$\n",
"f(u) = u \\log u\n",
"$$"
]
},
{
"metadata": {
"id": "qjFA3AcR6W4V",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"_kl_forward = lambda u: u * tf.log(u)"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "tLPtvEIm6W4X",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"us = tf.linspace(0., 2., 500)"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "EqaG3qzm6W4Z",
"colab_type": "code",
"colab": {},
"outputId": "fb148d47-5d03-46c8-c06a-bf2b3b5bf0f2"
},
"cell_type": "code",
"source": [
"fig, ax = plt.subplots(figsize=golden_size(8))\n",
"\n",
"ax.plot(us.eval(), tfp.vi.kl_forward(tf.log(us)).eval())\n",
"ax.plot(us.eval(), _kl_forward(us).eval())\n",
"\n",
"plt.show()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb760019ac8>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "yqdwdSiS6W4c",
"colab_type": "code",
"colab": {},
"outputId": "9e829dcb-a699-4a6a-828f-5b1b8808634d"
},
"cell_type": "code",
"source": [
"tf.reduce_mean(_kl_forward(tf.exp(log_r(q_samples)))).eval()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0.45856187"
]
},
"metadata": {
"tags": []
},
"execution_count": 23
}
]
},
{
"metadata": {
"id": "fCfjJcQT6W4i",
"colab_type": "code",
"colab": {},
"outputId": "5642fe2d-e8eb-43ad-afbe-9d1d190402d3"
},
"cell_type": "code",
"source": [
"tf.reduce_mean(tfp.vi.kl_forward(log_r(q_samples))).eval()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0.4559041"
]
},
"metadata": {
"tags": []
},
"execution_count": 24
}
]
},
{
"metadata": {
"id": "N7renZK76W4l",
"colab_type": "code",
"colab": {},
"outputId": "be37c29d-2760-43a5-9488-fd5255c12476"
},
"cell_type": "code",
"source": [
"tfp.vi.monte_carlo_csiszar_f_divergence(f=tfp.vi.kl_forward,\n",
" p_log_prob=p.log_prob, q=q, \n",
" num_draws=5000, seed=888).eval()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0.4430853"
]
},
"metadata": {
"tags": []
},
"execution_count": 25
}
]
},
{
"metadata": {
"id": "ZUaKHv5w6W4o",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"def optimal_classifier(p, q): \n",
" \n",
" def classifier(x):\n",
" \n",
" return tf.truediv(p.prob(x), p.prob(x) + q.prob(x))\n",
" \n",
" return classifier"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "At2-KnKJ6W4r",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"n_p = n_q = 200"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "XRh-OUP-6W4u",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"p_samples = p.sample(sample_shape=(n_p, 1), seed=8888)\n",
"q_samples = q.sample(sample_shape=(n_q, 1), seed=8888)"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "w71oVJta6W4z",
"colab_type": "code",
"colab": {},
"outputId": "183140f3-e200-44e5-e231-0322ee021b2c"
},
"cell_type": "code",
"source": [
"X = tf.concat([p_samples, q_samples], axis=0)\n",
"X"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<tf.Tensor 'concat:0' shape=(400, 1) dtype=float32>"
]
},
"metadata": {
"tags": []
},
"execution_count": 29
}
]
},
{
"metadata": {
"id": "mbjCuwEf6W42",
"colab_type": "code",
"colab": {},
"outputId": "35bd61c5-a767-4e7a-c4de-b9f1bac20389"
},
"cell_type": "code",
"source": [
"y = tf.concat([tf.ones_like(p_samples), \n",
" tf.zeros_like(q_samples)], axis=0)\n",
"y"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<tf.Tensor 'concat_1:0' shape=(400, 1) dtype=float32>"
]
},
"metadata": {
"tags": []
},
"execution_count": 30
}
]
},
{
"metadata": {
"id": "-HPfyfr06W45",
"colab_type": "code",
"colab": {},
"outputId": "fdf0cb73-00fc-4c5d-8621-7d4c6570c6bc"
},
"cell_type": "code",
"source": [
"golden_size(8)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(8, 4.944271909999158)"
]
},
"metadata": {
"tags": []
},
"execution_count": 31
}
]
},
{
"metadata": {
"id": "gRjiXLVo6W47",
"colab_type": "code",
"colab": {},
"outputId": "02fa6510-d755-4cbe-ccc9-9dbba8ed1a31"
},
"cell_type": "code",
"source": [
"fig, ax1 = plt.subplots(figsize=(9, golden_size(8)[1]))\n",
"\n",
"ax1.scatter(X.eval(), y.eval(), c=y.eval(), s=12.**2, \n",
" marker='s', alpha=.2, cmap='coolwarm_r')\n",
"\n",
"ax1.set_xlabel('$x$')\n",
"ax1.set_xlim(-5.5, 5.5)\n",
"\n",
"ax1.set_ylim(-0.05, 1.05)\n",
"ax1.set_yticks([0, 1])\n",
"ax1.set_yticklabels(['$x_q^{(j)} \\sim q(x)$', \n",
" '$x_p^{(i)} \\sim p(x)$'])\n",
"\n",
"ax2 = ax1.twinx()\n",
"\n",
"ax2.set_ylim(-0.05, 1.05)\n",
"ax2.set_yticks([0, 1])\n",
"\n",
"# plt.show()\n",
"plt.savefig('dataset.svg', format='svg', dpi=1200)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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ICDCGAAAQECEMQAAgIAIYwAAAAERxgAAAAIijAEAAAREGAMAAAiIMAYAABAQYQwAACAgwhgAAEBAhDEAAICACGMAAAABEcYAAAACIowBAAAERBgDAAAIiDAGAAAQEGEMAAAgIMIYAABAQIQxAACAgAhjAAAAARHGAAAAAiKMAQAABEQYAwAACIgwBgAAEBBhDAAAICDCGAAAQECEMQAAgIAIYwAAAAERxgAAAAIijAEAAAREGAMAAAiIMAYAABAQYQwAACAgwhgAAEBAhDEAAICACGMAAAABEcYAAAACIowBAAAERBgDAAAIiDAGAAAQEGEMAAAgIMIYAABAQIQxAACAgAhjAAAAARHGAAAAAiKMAQAABEQYAwAACIgwBgAAEBBhDAAAICDCGAAAQECEMQAAgIAIYwAAAAERxgAAAAIijAEAAAREGAMAAAiIMAYAABAQYQwAACAgwhgAAEBAhDEAAICACGMAAAABEcYAAAACIowBAAAERBgDAAAIiDAGAAAQEGEMAAAgIMIYAABAQIQxAACAgAhjAAAAARHGAAAAAiKMAQAABEQYAwAACIgwBgAAEBBhDAAAICDCGAAAQECEMQAAgIAIYwAAAAERxgAAAAIijAEAAAREGAMAAAiIMAYAABAQYQwAACAgwhgAAEBAhDEAAICACGMAAAABEcYAAAACIowBAAAERBgDAAAIiDAGAAAQEGEMAAAgIMIYAABAQIQxAACAgAhjAAAAARHGAAAAAiKMAQAABEQYAwAACIgwBgAAEBBhDAAAICDCGAAAQECEMQAAgIAIYwAAAAERxgAAAAIijAEAAAREGAMAAAiIMAYAABAQYQwAACAgwhgAAEBAhDEAAICACGMAAAABEcYAAAACIowBAAAERBgDAAAIiDAGAAAQEGEMAAAgIMIYAABAQIQxAACAgAhjAAAAARHGAAAAAiKMAQAABEQYAwAACIgwBgAAEBBhDAAAICDCGAAAQECEMQAAgIAIYwAAAAERxgAAAAIijAEAAAREGAMAAAiIMAYAABAQYQwAACAgwhgAAEBAhDEAAICACGMAAAABEcYAAAACIowBAAAERBgDAAAIiDAGAAAQEGEMAAAgIMIYAABAQIQxAACAgAhjAAAAARHGAAAAAiKMAQAABEQYAwAACIgwBgAAEBBhDAAAICDCGAAAQECEMQAAgIAIYwAA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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb74c6adf98>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "N1YtHMq76W4-",
"colab_type": "code",
"colab": {},
"outputId": "0c7197be-afe9-4a9e-a04e-0656181848d7"
},
"cell_type": "code",
"source": [
"fig, ax1 = plt.subplots(figsize=(9, golden_size(8)[1]))\n",
"\n",
"ax1.scatter(X.eval(), y.eval(), c=y.eval(), s=12.**2, \n",
" marker='s', alpha=.2, cmap='coolwarm_r')\n",
"\n",
"ax1.set_xlabel('$x$')\n",
"ax1.set_xlim(-5.5, 5.5)\n",
"\n",
"ax1.set_ylim(-0.05, 1.05)\n",
"ax1.set_yticks([0, 1])\n",
"ax1.set_yticklabels(['$x_q^{(j)} \\sim q(x)$', \n",
" '$x_p^{(i)} \\sim p(x)$'])\n",
"\n",
"ax2 = ax1.twinx()\n",
"\n",
"ax2.plot(xs.eval(), optimal_classifier(p, q)(xs).eval(), 'k-')\n",
"\n",
"ax2.set_xlim(-5.5, 5.5)\n",
"ax2.set_xlabel('$x$')\n",
"\n",
"ax2.set_ylim(-0.05, 1.05)\n",
"ax2.set_ylabel('$\\mathcal{P}(y=1 \\mid x)$')\n",
"\n",
"# plt.show()\n",
"plt.savefig('optimal_classifier.svg', format='svg', dpi=1200)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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9dc57bTT2LlzJ++88w4jRozA6/W6XVaTduqpp7J06VIuvvhi7rrrLq666ipKS0vdLksk3qYbY2ZHbxhjjq7toJFYCoMiIk2EtZaHH36Y3/3ud3Tq1IklS5ZoObY6aNu2La+++iqjR49m5syZ9OzZky1btrhdlkg8LbDWXha9Ya39Hsg3xpxXl4MoDIqINAGBQIDrr7+eBx54gGuuuYYPPvhA3cL7wRjDvffey7x58/jyyy857bTTWLFihdtlicTLOmPM4NjuYicQZtXlIAqDIiIuKyws5Le//S3PP/88DzzwAC+88AKpqalul9Ws9evXjw8//BBrLWeddRbvvfee2yWJxEMf4EYgzxiz2plbcDDQrS4HURgUEXHRli1b6NGjBwsXLmT69Ok8+OCDmi+vgXTt2pXPPvuMI488kr59+/KPf/zD7ZJEGtpaa+2p1loPcCmRFUhuBHLrchBNLRNHmlpGRPZl48aN9OrVi02bNjFnzhx+85vfuF1Si7Rz504uuugiPv/8c6ZPn87vf/97t0uSZqo2U8sYY4YTCWXZANbaaTXsnwXcAyxyHrPYWru0lvXcYK19port/ay1r9bmGKCWQRERV/zwww/06NGDzZs38/bbbysIxlF2djYLFiygV69e/OEPf+CJJ55wuyRpoYwx44B11tq5TgjsaIwZsI/9s4B3rLUjrLVznc331Pb5rLXPGGP6O2sUR485ljp2E6tlMI7UMigiVVm7di3nnXceBQUFvP3225x22mlul5QQysrKGDRoEK+++ipPPfUUt9xyi9slSTNTU8ugMWaXtbZtzO3ewAhrbZ9q9s8FlsS2Hhpjsqy1efWosSvQwVo7r9aPURiMH4VBEans+++/5+yzz6akpIQFCxaQk5PjdkkJJRAIcOmll/KPf/yDqVOncuONN7pdkjQj+wqDxpgcIq18bSttW2KtrfJCYGOMBTpaa9fFpeBa8rn55CIiieSnn36id+/eFBcX8/7773PiiSe6XVLCSUpKYvbs2QwYMICbbroJn8/H4MGD3S5LWoZsYGelbXlQdWufMaaD82MHJzRmA1nW2vFxr7QSXTMoItIItm/fTp8+ffj555956623FARdlJyczJw5c7jwwgsZMmQIM2fOdLskaRmycAaNxIiGw8rbAaJhkJhrDKPXHTYqhUERkTgrKCigb9++rFu3jn/+85+6RrAJSElJYd68efTo0YPrrruOBQsWuF2SNA8+Y8zimD9DYu6r6jq/aAis3GIYu21xzLaFwPAGqLNOFAZFROLI7/fzu9/9jhUrVjB37lx69uzpdkniSE1N5R//+AfHHnss/fr1Y8mSJW6XJE1f0JnXL/ondtqYney98kcWQDUDQvKquK+8W7kBa66RwqCISJxYaxk8eDDvvfcezz//PBdddJHbJUklmZmZzJ8/n3bt2vGb3/yG1atXu12SNFPO3ICVQ182kda+qvZfR2TlkA4xm/cVHuNGA0hEROLkoYce4qWXXuLPf/4zV111ldvlSDUOOeQQ3n77bX7961/Tt29fPvvsM9q3b+92WdI8TTPGDIiZM7APMauBOMEvJ+b+MUBvINrCeBkwoqoDG2OGUfW1h7Wxw1o7obo7NbVMHGlqGZHE9be//Y3rrruO3//+9zz77LNaYq4Z+PTTT+nZsyfdu3fnP//5D8nJyW6XJE1MHVcg6QDkVZpDcAgwMHbeQWf/ctWNJjbGZNandmttfrU1KwzGj8KgSGJ6//336dOnDz169GD+/PkkJSW5XZLU0syZM7nyyiu5/vrreeaZZxTipYLahMHmSN3EIiIN6IcffmDgwIEcc8wxzJ07V0GwmRk0aBDffPMNo0eP5vjjj+fOO+90uySRuFPLYBypZVAksRQXF3PWWWexdu1aPv/8czp16uR2SbIfwuEwAwcO5B//+Af/+te/tG60lGupLYMaTSwi0gCstQwZMoTly5czc+ZMBcFmzOPx8OKLL9KlSxcGDRrE999/73ZJInGlMCgi0gAmTZrEyy+/zMMPP6wpZFqAjIwMXn31VQD69+9PSUmJyxWJxI/CoIhIPX3wwQcMGzaMSy65hHvvvdftcqSBdOjQgZdeeolly5Zx2223uV2OSNwoDIqI1MP27du54oorOProo3nhhRfwePS12pJcfPHFjBw5kmeffZZnn33W7XJEasUYc3Jd9te3lojIfgqHw1xzzTVs27aNV155hTZt2rhdksTBQw89RK9evbjllltYvny52+WI1Ebvuuys0cRxpNHEIi3buHHjuPvuu5k8eTI333yz2+VIHG3bto2TTjqJzMxMFi9eTEZGixtQKrXg9mhiY8xYoDaTT19qrW1X2+OqZVBEZD989NFHjBw5koEDB3LTTTe5XY7E2QEHHMBLL73EqlWruOOOO9wuRxLXIqAjkF/Dn511OahaBuNILYMiLVN+fj4nnngiPp+PpUuXkplZr1WipBm55557GDt2LK+88goDBw50uxxpZG63DDo1DLPW/rW++8RSy6CISB3dfvvtbNq0iZdffllBMME8/PDDnHbaadxwww388MMPbpcjiWlpLfZZWJcDKgyKiNTB3LlzefHFFxk5ciTdu3d3uxxpZElJScyaNYtwOMxVV11FKBRyuyRJMNbad2qxz7K6HFNhUESkljZv3szQoUPp1q0bo0aNcrsccUmHDh2YMmUKH374IY899pjb5YjUm64ZjCNdMyjSclhrufDCC/nvf//LsmXLtNxcgrPW0r9/f958802WLl3Kcccd53ZJ0giawjWD8aCWQRGRWpg6dSpvvfUWEyZMUBAUjDE8/fTTtG7dmmuvvZZgMOh2SSL7TWFQRKQG3333HX/605/o27evppGRcgceeCBTp05l8eLFjB071u1yRPabuonjSN3EIs1fOBymZ8+efPnll3zzzTf84he/cLskaWKuuOIK5s6dy6JFizj55DqtAibNjLqJRUQS0NNPP80HH3zAY489piAoVXrqqado37491157LWVlZW6XIwnGGNOmqp/rQmFQRKQaGzZsYMSIEZx//vlce+21bpcjTVS7du145pln+OKLLxg9erTb5UjiGVfNz7WmMCgiUgVrLUOHDsVaS25uLsYYt0uSJuziiy/mqquuYuzYsXz99ddulyOJxVTzc60pDIqIVGHGjBm89dZbjBkzhqOOOsrtcqQZmDhxIm3atGHIkCGEw2G3y5HEYav5udYUBkVEKtm6dSt33HEHv/71r7nlllvcLkeaiQMOOICJEyfy8ccfk5ub63Y5kjjq3W2hMCgiUsntt99OUVER06dPx+PR16TU3tVXX03v3r25++672bRpk9vliNSKvuVERGK89dZbvPLKK4waNYrOnTu7XY40M9HJqP1+P7fddpvb5YjUisKgiIijpKSEW265hU6dOjFs2DC3y5FmqmPHjjz44IO89tprvPbaa26XI1IjhUEREceYMWNYt24dU6ZMISUlxe1ypBn7f//v/3HSSSdx6623UlBQ4HY5IvukMCgiQmTJuXHjxnHllVdy3nnnuV2ONHNJSUlMmzaNzZs38/DDD7tdjrRs9V5KTmFQRBKetZabb76ZtLQ0Hn30UbfL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eukl7rjjDgVBkSqMGTOGUCjEqFGj3C5Fmim1DMaRWgZF6sday7nnnsvXX3/NmjVryMzMdLskkSZp+PDhTJgwgaVLl3LyySe7XU6LpZZBEZFG9tprr/Hf//6Xhx56SEFQZB/uvfdesrOzueuuu1Ajj9SVWgbjSC2DIvuvpKSE4447jlatWrFs2TJ8Pp/bJYk0aU8++SS33347b7zxBr/97W/dLqdFaqktgwqDcaQwKLL/HnnkEe677z7eeecdzjvvPLfLEWnyAoEAJ554IsFgkK+++oqUlBS3S2pxWmoYVDexiDQ5GzduZMyYMfTr109BUKSWkpKSePzxx1mzZg2PPfaY2+VIM6KWwThSy6DI/hk0aBCvvvoqK1eu5Oijj3a7HJFm5Xe/+x0LFy5k1apVmmqmgallUESkEXz44YfMmjWL4cOHKwiK7IeJEycSDAYZMWKE26VIM6GWwThSy6BI3YRCIbp168a2bdv49ttvychocf8BF2kU9913H4888ggffPABZ511ltvltBhqGRQRibPnnnuOZcuW8de//lVBUKQe7r77bg477DBuu+02QqGQ2+VIE6cwKCJNQl5eHiNHjuTss8/msssuc7sckWYtIyODCRMmsHz5cqZPn+52OdLEqZs4jtRNLFJ7d955J48//jhLliyha9eubpcj0uxZa+nZsydff/013333HdnZ2W6X1Oypm1hEJE6WLVvGE088wdChQxUERRqIMYYnnniCXbt2cf/997tdjjRhahmMI7UMitQsFApx5plnsn79elatWkVWVpbbJYm0KLfeeitTp07l888/55RTTnG7nGatpbYMKgzGkcKgSM2efvppbrrpJmbMmMGVV17pdjkiLU5eXh7HHnsshxxyCJ999pmWdqyH2oRBY8xwYB2QDWCtnVaL/QG6AYusteMbota6UBiMI4VBkX3bunUrnTt3Jicnh4ULF2KMcbskkRZp9uzZXH755UyaNIk//vGPbpfTbNUUBo0x44gEurlV3a5i/1xr7dCY20uA2Y0dCHXNoIi45k9/+hNFRUVMnjxZQVAkji699FL69u3LqFGj2Lhxo9vltGRDKgW/BcDQqnY0xmQBeZU25wL3xKm2aikMiogr3n33XWbMmMGIESPo3Lmz2+WItGjGGCZPnkwwGFTLYJwYY3Kq2LwT6F3NQ7KB4caYDpW2N/qF0wqDItLoysrKuPnmm+nQoQP33nuv2+WIJIQOHTpw//338+qrr/LPf/7T7XJaomwi4S9WHpS3AlZgrV0HnOL8HdUHWBi3CquhMCgije6RRx5h1apVTJ48mbS0NLfLEUkYd911F8cffzy33noruqZ9v/iMMYtj/gyJuS8LZ9BIjGg4rHKSR2vt0ujPTmDsTTXdyvGkMCgijWrFihWMHTuWq6++mr59+7pdjkhCSU5OJjc3lw0bNjBq1Ci3y2mOgtbaU2P+xI4Urnz9H+wJgZVbDKsyB+hVqaWwUWg0cRxpNLFIRcFgkNNPP52NGzfyzTff0K5dO7dLEklIt9xyC1OnTuWDDz7g17/+tdvlNBv7Gk3sXDO4xFpr9rWtmseOAxZYaxu9ixjUMigijWjChAksXbqUKVOmKAiKuGjcuHEceeSR/P73v6ekpMTtcloEp8u3cutgNjVcA2iMGUBMEKxmIEpcKQyKSKP49ttvefDBB+nfvz/9+/d3uxyRhNaqVSueffZZVq9ezX333ed2OS3JNCfcRfUhMl0MAMaYDrH3G2N6EwmMi40xWc7I4ssardpoHeomjh91E4tEBINBzjnnHFatWsXXX3/NwQcf7HZJIgLcdNNN5Obm8tFHH3HGGWe4XU6TV8cVSDoAebHXFToDTgZaa/s4A0Z2VXGIudbagQ1Zd00UBuNIYVAkYvTo0YwaNYqXX36ZQYMGuV2OiDgKCws54YQTSEtLY9myZRrdX4OWujaxuolFJK4WL17Mgw8+yOWXX64gKNLEtG7dmueee45Vq1YxfPjwmh8gLZJaBuNILYOS6IqLi8nJyaGoqIgvvviCtm3bul2SiFThrrvuYuLEifz73//mwgsvdLucJqultgwqDMaRwqAkultvvZXJkyezcOFCevXq5XY5IlKNsrIyTjvtNLZs2cIXX3zBQQcd5HZJTVJLDYPqJhaRuJg/fz6TJ0/mzjvvVBAUaeJSUlKYOXMmBQUF/OEPf0ANRYlFYVBEGtzGjRu5+uqr6dKlC3/5y1/cLkdEauH4449nwoQJvPnmm0yePNntcqQRqZs4jtRNLIkoEAhw7rnnsmLFChYvXkynTp3cLklEaslay29/+1sWLFjARx99xKmnnup2SU2KuolFRGph1KhRfPTRR0ybNk1BUKSZMcbwt7/9jYMPPpgBAwawY8cOt0uSRqAwKCIN5l//+hfjx4/nxhtv5IorrnC7HBHZD+3atWPu3Lls3ryZq6++mnA47HZJEmcKgyLSIL7//nuuvfZaunbtymOPPeZ2OSJSD926dWPSpEnMnz9f1/0mAF0zGEe6ZlASRWFhIWeeeSabNm3i888/55hjjnG7JBGpJ2stV111FbNmzWL+/PlccMEFbpfkupZ6zaDCYBwpDEoiCIfD9OvXj3/961+89dZb9O7d2+2SRKSBFBUVccYZZ7BhwwY++eQTjj32WLdLclVLDYPqJhaRernvvvt4/fXXeeyxxxQERVqYjIwM/vnPf5KSksLFF1/M9u3b3S5J4kBhUET226xZs/jLX/7CDTfcwK233up2OSISB0ceeSSvv/46mzZtol+/fpSVlbldkjQwhUER2S/vv/8+1113Heeccw5PPfUUxhi3SxKROOnevTvPP/88H3zwAUOHDtUKJS2Mz+0CRKT5Wb58Of/7v//LMcccw2uvvUZycrLbJYlInF1xxRWsWrWKhx56iEMOOUSjjFsQhUERqZO1a9fSt29fMjMzefvtt8nOzna7JBFpJA888ACbN29mzJgxtG3blmHDhrldkjQAhUERqbWtW7dywQUXEAgEeO+99zjssMPcLklEGpExhilTppCXl8fw4cNp27YtgwcPdrssqSeFQRGpla1bt3LeeeexefNm3nnnnYSfYkIkUXm9Xl566SUKCgoYMmQIbdq04dJLL3W7LKkHDSARkRpt3ryZnj17sn79ev7973/TvXt3t0sSERclJyczb948zjzzTAYNGsSsWbPcLknqQWFQRPbpp59+omfPnvz444/Mnz+fnj17ul2SiDQB6enpzJ8/n7POOosrr7yS5557zu2SZD8pDIpItX744Qd69uzJTz/9xFtvvcU555zjdkki0oS0bt2aN998kz59+nD99dczefJkt0uS/aAwKCJVWr58OWeccQbbtm3j7bff5qyzznK7JBFpgtLT03njjTf4n//5H2699Vb+/Oc/ax7CZkZhUET2snDhQs455xy8Xi8ffvghZ555ptsliUgTlpKSwty5c7nmmmu4//77ufbaa7VSSTOiMCgi5ay1TJ48md/85jcceeSRfPLJJxx//PFulyUizUBSUhIvvPACf/7zn3nppZc4//zz2bFjh9tlSS0oDIoIAGVlZQwZMoRbb72VCy64gA8//FDzCIpInRhj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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb74c1613c8>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "wOnn5JBv6W5B",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"log_ratio = Sequential([\n",
" Dense(16, input_dim=1, activation='relu'),\n",
" Dense(32, activation='relu'),\n",
" Dense(1),\n",
"])"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "TrcxCb166W5F",
"colab_type": "code",
"colab": {},
"outputId": "bc1437ca-cac1-4a64-ac0c-f23f25995cf9"
},
"cell_type": "code",
"source": [
"SVG(model_to_dot(log_ratio, show_layer_names=False, show_shapes=True)\n",
" .create(prog='dot', format='svg'))"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"image/svg+xml": "<svg height=\"294pt\" viewBox=\"0.00 0.00 189.00 294.00\" width=\"189pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n<g class=\"graph\" id=\"graph0\" transform=\"scale(1 1) rotate(0) translate(4 290)\">\n<title>G</title>\n<polygon fill=\"white\" points=\"-4,4 -4,-290 185,-290 185,4 -4,4\" stroke=\"none\"/>\n<!-- 140425234187656 -->\n<g class=\"node\" id=\"node1\"><title>140425234187656</title>\n<polygon fill=\"none\" points=\"0,-166.5 0,-212.5 181,-212.5 181,-166.5 0,-166.5\" stroke=\"black\"/>\n<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"25\" y=\"-185.8\">Dense</text>\n<polyline fill=\"none\" points=\"50,-166.5 50,-212.5 \" stroke=\"black\"/>\n<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"77.5\" y=\"-197.3\">input:</text>\n<polyline fill=\"none\" points=\"50,-189.5 105,-189.5 \" stroke=\"black\"/>\n<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"77.5\" y=\"-174.3\">output:</text>\n<polyline fill=\"none\" points=\"105,-166.5 105,-212.5 \" stroke=\"black\"/>\n<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"143\" y=\"-197.3\">(None, 1)</text>\n<polyline fill=\"none\" points=\"105,-189.5 181,-189.5 \" stroke=\"black\"/>\n<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"143\" y=\"-174.3\">(None, 16)</text>\n</g>\n<!-- 140425237803248 -->\n<g class=\"node\" id=\"node2\"><title>140425237803248</title>\n<polygon fill=\"none\" points=\"0,-83.5 0,-129.5 181,-129.5 181,-83.5 0,-83.5\" stroke=\"black\"/>\n<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"25\" y=\"-102.8\">Dense</text>\n<polyline fill=\"none\" points=\"50,-83.5 50,-129.5 \" stroke=\"black\"/>\n<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"77.5\" y=\"-114.3\">input:</text>\n<polyline fill=\"none\" points=\"50,-106.5 105,-106.5 \" stroke=\"black\"/>\n<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"77.5\" y=\"-91.3\">output:</text>\n<polyline fill=\"none\" points=\"105,-83.5 105,-129.5 \" stroke=\"black\"/>\n<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"143\" y=\"-114.3\">(None, 16)</text>\n<polyline fill=\"none\" points=\"105,-106.5 181,-106.5 \" stroke=\"black\"/>\n<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"143\" y=\"-91.3\">(None, 32)</text>\n</g>\n<!-- 140425234187656&#45;&gt;140425237803248 -->\n<g class=\"edge\" id=\"edge2\"><title>140425234187656-&gt;140425237803248</title>\n<path d=\"M90.5,-166.366C90.5,-158.152 90.5,-148.658 90.5,-139.725\" fill=\"none\" stroke=\"black\"/>\n<polygon fill=\"black\" points=\"94.0001,-139.607 90.5,-129.607 87.0001,-139.607 94.0001,-139.607\" stroke=\"black\"/>\n</g>\n<!-- 140425231818144 -->\n<g class=\"node\" id=\"node3\"><title>140425231818144</title>\n<polygon fill=\"none\" points=\"0,-0.5 0,-46.5 181,-46.5 181,-0.5 0,-0.5\" stroke=\"black\"/>\n<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"25\" y=\"-19.8\">Dense</text>\n<polyline fill=\"none\" points=\"50,-0.5 50,-46.5 \" stroke=\"black\"/>\n<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"77.5\" y=\"-31.3\">input:</text>\n<polyline fill=\"none\" points=\"50,-23.5 105,-23.5 \" stroke=\"black\"/>\n<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"77.5\" y=\"-8.3\">output:</text>\n<polyline fill=\"none\" points=\"105,-0.5 105,-46.5 \" stroke=\"black\"/>\n<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"143\" y=\"-31.3\">(None, 32)</text>\n<polyline fill=\"none\" points=\"105,-23.5 181,-23.5 \" stroke=\"black\"/>\n<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"143\" y=\"-8.3\">(None, 1)</text>\n</g>\n<!-- 140425237803248&#45;&gt;140425231818144 -->\n<g class=\"edge\" id=\"edge3\"><title>140425237803248-&gt;140425231818144</title>\n<path d=\"M90.5,-83.3664C90.5,-75.1516 90.5,-65.6579 90.5,-56.7252\" fill=\"none\" stroke=\"black\"/>\n<polygon fill=\"black\" points=\"94.0001,-56.6068 90.5,-46.6068 87.0001,-56.6069 94.0001,-56.6068\" stroke=\"black\"/>\n</g>\n<!-- 140425231697512 -->\n<g class=\"node\" id=\"node4\"><title>140425231697512</title>\n<polygon fill=\"none\" points=\"31.5,-249.5 31.5,-285.5 149.5,-285.5 149.5,-249.5 31.5,-249.5\" stroke=\"black\"/>\n<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"90.5\" y=\"-263.8\">140425231697512</text>\n</g>\n<!-- 140425231697512&#45;&gt;140425234187656 -->\n<g class=\"edge\" id=\"edge1\"><title>140425231697512-&gt;140425234187656</title>\n<path d=\"M90.5,-249.254C90.5,-241.363 90.5,-231.749 90.5,-222.602\" fill=\"none\" stroke=\"black\"/>\n<polygon fill=\"black\" points=\"94.0001,-222.591 90.5,-212.591 87.0001,-222.591 94.0001,-222.591\" stroke=\"black\"/>\n</g>\n</g>\n</svg>",
"text/plain": [
"<IPython.core.display.SVG object>"
]
},
"metadata": {
"tags": []
},
"execution_count": 35
}
]
},
{
"metadata": {
"id": "Uh72dB7j6W5M",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"plot_model(model=log_ratio, \n",
" show_layer_names=False, \n",
" show_shapes=True,\n",
" to_file='log_ratio_architecture.svg')"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "5u-FOFmD6W5S",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"x_p = Input(tensor=p_samples)\n",
"x_q = Input(tensor=q_samples)"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "yAhingUC6W5U",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"log_ratio_p = log_ratio(x_p)\n",
"log_ratio_q = log_ratio(x_q)"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "l617Cfun6W5W",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"def _binary_crossentropy(log_ratio_p, log_ratio_q):\n",
"\n",
" loss_p = tf.nn.sigmoid_cross_entropy_with_logits(\n",
" logits=log_ratio_p,\n",
" labels=tf.ones_like(log_ratio_p)\n",
" )\n",
"\n",
" loss_q = tf.nn.sigmoid_cross_entropy_with_logits(\n",
" logits=log_ratio_q,\n",
" labels=tf.zeros_like(log_ratio_q)\n",
" )\n",
"\n",
" return tf.reduce_mean(loss_p + loss_q)"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "gNpA8LM16W5X",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"m = Model(inputs=[x_p, x_q], outputs=[log_ratio_p, log_ratio_q])\n",
"m.add_loss(_binary_crossentropy(log_ratio_p, log_ratio_q))\n",
"m.compile(optimizer='rmsprop', loss=None)"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"scrolled": false,
"id": "1TZgr7616W5Z",
"colab_type": "code",
"colab": {},
"outputId": "eb64a67d-4479-4b8c-da73-888afa13538d"
},
"cell_type": "code",
"source": [
"m.evaluate(x=None, steps=1)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"\r1/1 [==============================] - 0s 215ms/step\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"1.357100009918213"
]
},
"metadata": {
"tags": []
},
"execution_count": 41
}
]
},
{
"metadata": {
"id": "bKaBK0Pi6W5b",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"class PredictionHistory(Callback):\n",
" \n",
" def __init__(self):\n",
"\n",
" self.predictions = []\n",
"\n",
" def on_epoch_begin(self, epoch, logs):\n",
"\n",
" self.predictions.append(log_ratio(xs).eval())"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "CyfIoRBn6W5c",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"hist_pred = PredictionHistory()"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "_FrIwbo56W5f",
"colab_type": "code",
"colab": {},
"outputId": "979d9091-eaf6-4756-eca9-f9e1fed15371"
},
"cell_type": "code",
"source": [
"hist = m.fit(x=None, y=None, steps_per_epoch=1, epochs=500, callbacks=[hist_pred])"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"Epoch 1/500\n",
"1/1 [==============================] - 0s 78ms/step - loss: 1.3547\n",
"Epoch 2/500\n",
"1/1 [==============================] - 0s 5ms/step - loss: 1.3460\n",
"Epoch 3/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.3390\n",
"Epoch 4/500\n",
"1/1 [==============================] - 0s 5ms/step - loss: 1.3300\n",
"Epoch 5/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.3306\n",
"Epoch 6/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.3242\n",
"Epoch 7/500\n",
"1/1 [==============================] - 0s 5ms/step - loss: 1.3223\n",
"Epoch 8/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.3107\n",
"Epoch 9/500\n",
"1/1 [==============================] - 0s 5ms/step - loss: 1.3164\n",
"Epoch 10/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.3135\n",
"Epoch 11/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.3016\n",
"Epoch 12/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.3139\n",
"Epoch 13/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.3022\n",
"Epoch 14/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2897\n",
"Epoch 15/500\n",
"1/1 [==============================] - 0s 5ms/step - loss: 1.3050\n",
"Epoch 16/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2794\n",
"Epoch 17/500\n",
"1/1 [==============================] - 0s 5ms/step - loss: 1.2887\n",
"Epoch 18/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2726\n",
"Epoch 19/500\n",
"1/1 [==============================] - 0s 5ms/step - loss: 1.2929\n",
"Epoch 20/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2859\n",
"Epoch 21/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2723\n",
"Epoch 22/500\n",
"1/1 [==============================] - 0s 5ms/step - loss: 1.2709\n",
"Epoch 23/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2625\n",
"Epoch 24/500\n",
"1/1 [==============================] - 0s 6ms/step - loss: 1.2750\n",
"Epoch 25/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2670\n",
"Epoch 26/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2737\n",
"Epoch 27/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2670\n",
"Epoch 28/500\n",
"1/1 [==============================] - 0s 5ms/step - loss: 1.2604\n",
"Epoch 29/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2756\n",
"Epoch 30/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2676\n",
"Epoch 31/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2592\n",
"Epoch 32/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2664\n",
"Epoch 33/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2358\n",
"Epoch 34/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2418\n",
"Epoch 35/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2485\n",
"Epoch 36/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2721\n",
"Epoch 37/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2340\n",
"Epoch 38/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2369\n",
"Epoch 39/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2338\n",
"Epoch 40/500\n",
"1/1 [==============================] - 0s 5ms/step - loss: 1.2654\n",
"Epoch 41/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2360\n",
"Epoch 42/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.2713\n",
"Epoch 43/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2334\n",
"Epoch 44/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2228\n",
"Epoch 45/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.2348\n",
"Epoch 46/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2412\n",
"Epoch 47/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2259\n",
"Epoch 48/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2501\n",
"Epoch 49/500\n",
"1/1 [==============================] - 0s 6ms/step - loss: 1.2071\n",
"Epoch 50/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2374\n",
"Epoch 51/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2404\n",
"Epoch 52/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2025\n",
"Epoch 53/500\n",
"1/1 [==============================] - 0s 5ms/step - loss: 1.2036\n",
"Epoch 54/500\n",
"1/1 [==============================] - 0s 5ms/step - loss: 1.2334\n",
"Epoch 55/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.2147\n",
"Epoch 56/500\n",
"1/1 [==============================] - 0s 5ms/step - loss: 1.1970\n",
"Epoch 57/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1975\n",
"Epoch 58/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2216\n",
"Epoch 59/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2305\n",
"Epoch 60/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1782\n",
"Epoch 61/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1606\n",
"Epoch 62/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1953\n",
"Epoch 63/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2164\n",
"Epoch 64/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1865\n",
"Epoch 65/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1901\n",
"Epoch 66/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2187\n",
"Epoch 67/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.2146\n",
"Epoch 68/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2216\n",
"Epoch 69/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1946\n",
"Epoch 70/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2014\n",
"Epoch 71/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1830\n",
"Epoch 72/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1722\n",
"Epoch 73/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1928\n",
"Epoch 74/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1795\n",
"Epoch 75/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.2153\n",
"Epoch 76/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2065\n",
"Epoch 77/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1707\n",
"Epoch 78/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1800\n",
"Epoch 79/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2096\n",
"Epoch 80/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1687\n",
"Epoch 81/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1694\n",
"Epoch 82/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1646\n",
"Epoch 83/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1935\n",
"Epoch 84/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1924\n",
"Epoch 85/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1366\n",
"Epoch 86/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1485\n",
"Epoch 87/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1835\n",
"Epoch 88/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.2216\n",
"Epoch 89/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1867\n",
"Epoch 90/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1574\n",
"Epoch 91/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1759\n",
"Epoch 92/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1688\n",
"Epoch 93/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1557\n",
"Epoch 94/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1603\n",
"Epoch 95/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1322\n",
"Epoch 96/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1703\n",
"Epoch 97/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1983\n",
"Epoch 98/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1644\n",
"Epoch 99/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2133\n",
"Epoch 100/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1384\n",
"Epoch 101/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2194\n",
"Epoch 102/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1253\n",
"Epoch 103/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1637\n",
"Epoch 104/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1504\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"Epoch 105/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1397\n",
"Epoch 106/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1793\n",
"Epoch 107/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1838\n",
"Epoch 108/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1497\n",
"Epoch 109/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1473\n",
"Epoch 110/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1939\n",
"Epoch 111/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1742\n",
"Epoch 112/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1274\n",
"Epoch 113/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1267\n",
"Epoch 114/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1457\n",
"Epoch 115/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1577\n",
"Epoch 116/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1902\n",
"Epoch 117/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1752\n",
"Epoch 118/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1467\n",
"Epoch 119/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1256\n",
"Epoch 120/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1485\n",
"Epoch 121/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1566\n",
"Epoch 122/500\n",
"1/1 [==============================] - 0s 5ms/step - loss: 1.1587\n",
"Epoch 123/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1645\n",
"Epoch 124/500\n",
"1/1 [==============================] - 0s 7ms/step - loss: 1.1009\n",
"Epoch 125/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1594\n",
"Epoch 126/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1156\n",
"Epoch 127/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1314\n",
"Epoch 128/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1711\n",
"Epoch 129/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1790\n",
"Epoch 130/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.0907\n",
"Epoch 131/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1418\n",
"Epoch 132/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1301\n",
"Epoch 133/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1643\n",
"Epoch 134/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1933\n",
"Epoch 135/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1461\n",
"Epoch 136/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1433\n",
"Epoch 137/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1015\n",
"Epoch 138/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1041\n",
"Epoch 139/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1560\n",
"Epoch 140/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1883\n",
"Epoch 141/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2050\n",
"Epoch 142/500\n",
"1/1 [==============================] - 0s 5ms/step - loss: 1.1162\n",
"Epoch 143/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1824\n",
"Epoch 144/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1590\n",
"Epoch 145/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1451\n",
"Epoch 146/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1244\n",
"Epoch 147/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1455\n",
"Epoch 148/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1605\n",
"Epoch 149/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1436\n",
"Epoch 150/500\n",
"1/1 [==============================] - 0s 5ms/step - loss: 1.1052\n",
"Epoch 151/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1889\n",
"Epoch 152/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1468\n",
"Epoch 153/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1207\n",
"Epoch 154/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1387\n",
"Epoch 155/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1440\n",
"Epoch 156/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1285\n",
"Epoch 157/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1322\n",
"Epoch 158/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1686\n",
"Epoch 159/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1082\n",
"Epoch 160/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1193\n",
"Epoch 161/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1170\n",
"Epoch 162/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.0906\n",
"Epoch 163/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1226\n",
"Epoch 164/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1168\n",
"Epoch 165/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1458\n",
"Epoch 166/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1079\n",
"Epoch 167/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1473\n",
"Epoch 168/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1395\n",
"Epoch 169/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1001\n",
"Epoch 170/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1406\n",
"Epoch 171/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1413\n",
"Epoch 172/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1945\n",
"Epoch 173/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1741\n",
"Epoch 174/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1820\n",
"Epoch 175/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1532\n",
"Epoch 176/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1065\n",
"Epoch 177/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1668\n",
"Epoch 178/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1677\n",
"Epoch 179/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1770\n",
"Epoch 180/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1358\n",
"Epoch 181/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1191\n",
"Epoch 182/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1369\n",
"Epoch 183/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.0827\n",
"Epoch 184/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1403\n",
"Epoch 185/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1302\n",
"Epoch 186/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1276\n",
"Epoch 187/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.0572\n",
"Epoch 188/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1506\n",
"Epoch 189/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1693\n",
"Epoch 190/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1636\n",
"Epoch 191/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1681\n",
"Epoch 192/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1847\n",
"Epoch 193/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1172\n",
"Epoch 194/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.0903\n",
"Epoch 195/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1467\n",
"Epoch 196/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1915\n",
"Epoch 197/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1233\n",
"Epoch 198/500\n",
"1/1 [==============================] - 0s 5ms/step - loss: 1.1444\n",
"Epoch 199/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1244\n",
"Epoch 200/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1073\n",
"Epoch 201/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1477\n",
"Epoch 202/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1400\n",
"Epoch 203/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1375\n",
"Epoch 204/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1764\n",
"Epoch 205/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1482\n",
"Epoch 206/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1569\n",
"Epoch 207/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1653\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"Epoch 208/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1214\n",
"Epoch 209/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1719\n",
"Epoch 210/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.0741\n",
"Epoch 211/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2381\n",
"Epoch 212/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1877\n",
"Epoch 213/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1771\n",
"Epoch 214/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1602\n",
"Epoch 215/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1639\n",
"Epoch 216/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1249\n",
"Epoch 217/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1204\n",
"Epoch 218/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1316\n",
"Epoch 219/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1622\n",
"Epoch 220/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1240\n",
"Epoch 221/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1383\n",
"Epoch 222/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1638\n",
"Epoch 223/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1595\n",
"Epoch 224/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1365\n",
"Epoch 225/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1415\n",
"Epoch 226/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1402\n",
"Epoch 227/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1849\n",
"Epoch 228/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1542\n",
"Epoch 229/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1331\n",
"Epoch 230/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1294\n",
"Epoch 231/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1242\n",
"Epoch 232/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1051\n",
"Epoch 233/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1470\n",
"Epoch 234/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1089\n",
"Epoch 235/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1449\n",
"Epoch 236/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1554\n",
"Epoch 237/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1286\n",
"Epoch 238/500\n",
"1/1 [==============================] - 0s 5ms/step - loss: 1.1090\n",
"Epoch 239/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1416\n",
"Epoch 240/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1854\n",
"Epoch 241/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1619\n",
"Epoch 242/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1685\n",
"Epoch 243/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1408\n",
"Epoch 244/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1357\n",
"Epoch 245/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1459\n",
"Epoch 246/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1512\n",
"Epoch 247/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1122\n",
"Epoch 248/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1016\n",
"Epoch 249/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1262\n",
"Epoch 250/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1171\n",
"Epoch 251/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1707\n",
"Epoch 252/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1563\n",
"Epoch 253/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1879\n",
"Epoch 254/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1321\n",
"Epoch 255/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1847\n",
"Epoch 256/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1781\n",
"Epoch 257/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1498\n",
"Epoch 258/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1691\n",
"Epoch 259/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1407\n",
"Epoch 260/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1408\n",
"Epoch 261/500\n",
"1/1 [==============================] - 0s 6ms/step - loss: 1.1225\n",
"Epoch 262/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1126\n",
"Epoch 263/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1074\n",
"Epoch 264/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1120\n",
"Epoch 265/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1475\n",
"Epoch 266/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1317\n",
"Epoch 267/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1321\n",
"Epoch 268/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1805\n",
"Epoch 269/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2043\n",
"Epoch 270/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1156\n",
"Epoch 271/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1039\n",
"Epoch 272/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1607\n",
"Epoch 273/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1498\n",
"Epoch 274/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1112\n",
"Epoch 275/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1329\n",
"Epoch 276/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1721\n",
"Epoch 277/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1291\n",
"Epoch 278/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1047\n",
"Epoch 279/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1517\n",
"Epoch 280/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1282\n",
"Epoch 281/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1352\n",
"Epoch 282/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1290\n",
"Epoch 283/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1454\n",
"Epoch 284/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1212\n",
"Epoch 285/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.0813\n",
"Epoch 286/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1313\n",
"Epoch 287/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1241\n",
"Epoch 288/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1576\n",
"Epoch 289/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1249\n",
"Epoch 290/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1280\n",
"Epoch 291/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1179\n",
"Epoch 292/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1102\n",
"Epoch 293/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1253\n",
"Epoch 294/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1254\n",
"Epoch 295/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.0861\n",
"Epoch 296/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1497\n",
"Epoch 297/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1680\n",
"Epoch 298/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1050\n",
"Epoch 299/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1490\n",
"Epoch 300/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1842\n",
"Epoch 301/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1177\n",
"Epoch 302/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1330\n",
"Epoch 303/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1542\n",
"Epoch 304/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1437\n",
"Epoch 305/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.0965\n",
"Epoch 306/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1098\n",
"Epoch 307/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1247\n",
"Epoch 308/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1681\n",
"Epoch 309/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1352\n",
"Epoch 310/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1166\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"Epoch 311/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.0795\n",
"Epoch 312/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1356\n",
"Epoch 313/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1719\n",
"Epoch 314/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1513\n",
"Epoch 315/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.0873\n",
"Epoch 316/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1608\n",
"Epoch 317/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1580\n",
"Epoch 318/500\n",
"1/1 [==============================] - 0s 5ms/step - loss: 1.1041\n",
"Epoch 319/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1493\n",
"Epoch 320/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.0978\n",
"Epoch 321/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1575\n",
"Epoch 322/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1235\n",
"Epoch 323/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1033\n",
"Epoch 324/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1534\n",
"Epoch 325/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1027\n",
"Epoch 326/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1538\n",
"Epoch 327/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.0713\n",
"Epoch 328/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1587\n",
"Epoch 329/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1707\n",
"Epoch 330/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1006\n",
"Epoch 331/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1479\n",
"Epoch 332/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1738\n",
"Epoch 333/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1367\n",
"Epoch 334/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1428\n",
"Epoch 335/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1186\n",
"Epoch 336/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1553\n",
"Epoch 337/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1491\n",
"Epoch 338/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1307\n",
"Epoch 339/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1531\n",
"Epoch 340/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1380\n",
"Epoch 341/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1475\n",
"Epoch 342/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1588\n",
"Epoch 343/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.0924\n",
"Epoch 344/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1319\n",
"Epoch 345/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1212\n",
"Epoch 346/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1306\n",
"Epoch 347/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1267\n",
"Epoch 348/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1256\n",
"Epoch 349/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1401\n",
"Epoch 350/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1088\n",
"Epoch 351/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1041\n",
"Epoch 352/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1147\n",
"Epoch 353/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1475\n",
"Epoch 354/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1130\n",
"Epoch 355/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1060\n",
"Epoch 356/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1754\n",
"Epoch 357/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.0851\n",
"Epoch 358/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1048\n",
"Epoch 359/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.0979\n",
"Epoch 360/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1038\n",
"Epoch 361/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1604\n",
"Epoch 362/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1555\n",
"Epoch 363/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1361\n",
"Epoch 364/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1746\n",
"Epoch 365/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1565\n",
"Epoch 366/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1007\n",
"Epoch 367/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1504\n",
"Epoch 368/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1433\n",
"Epoch 369/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1176\n",
"Epoch 370/500\n",
"1/1 [==============================] - 0s 6ms/step - loss: 1.1180\n",
"Epoch 371/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1098\n",
"Epoch 372/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.2001\n",
"Epoch 373/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1439\n",
"Epoch 374/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.0924\n",
"Epoch 375/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1063\n",
"Epoch 376/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.0655\n",
"Epoch 377/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1417\n",
"Epoch 378/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1365\n",
"Epoch 379/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1812\n",
"Epoch 380/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1653\n",
"Epoch 381/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1221\n",
"Epoch 382/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1164\n",
"Epoch 383/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1361\n",
"Epoch 384/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1375\n",
"Epoch 385/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1531\n",
"Epoch 386/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1413\n",
"Epoch 387/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1669\n",
"Epoch 388/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1229\n",
"Epoch 389/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1733\n",
"Epoch 390/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1419\n",
"Epoch 391/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.0995\n",
"Epoch 392/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1098\n",
"Epoch 393/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1390\n",
"Epoch 394/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1319\n",
"Epoch 395/500\n",
"1/1 [==============================] - 0s 7ms/step - loss: 1.1383\n",
"Epoch 396/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1808\n",
"Epoch 397/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1306\n",
"Epoch 398/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1374\n",
"Epoch 399/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1566\n",
"Epoch 400/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1467\n",
"Epoch 401/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1699\n",
"Epoch 402/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1170\n",
"Epoch 403/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1354\n",
"Epoch 404/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1411\n",
"Epoch 405/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1520\n",
"Epoch 406/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1222\n",
"Epoch 407/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1439\n",
"Epoch 408/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1857\n",
"Epoch 409/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1194\n",
"Epoch 410/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1197\n",
"Epoch 411/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1852\n",
"Epoch 412/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1630\n",
"Epoch 413/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1798\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"Epoch 414/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1267\n",
"Epoch 415/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1004\n",
"Epoch 416/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1560\n",
"Epoch 417/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1078\n",
"Epoch 418/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1266\n",
"Epoch 419/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1249\n",
"Epoch 420/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.0938\n",
"Epoch 421/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1103\n",
"Epoch 422/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1749\n",
"Epoch 423/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1478\n",
"Epoch 424/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1011\n",
"Epoch 425/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1179\n",
"Epoch 426/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1144\n",
"Epoch 427/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1441\n",
"Epoch 428/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1519\n",
"Epoch 429/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1769\n",
"Epoch 430/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1296\n",
"Epoch 431/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.0812\n",
"Epoch 432/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1588\n",
"Epoch 433/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1322\n",
"Epoch 434/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1385\n",
"Epoch 435/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1900\n",
"Epoch 436/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1394\n",
"Epoch 437/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1000\n",
"Epoch 438/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1510\n",
"Epoch 439/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1287\n",
"Epoch 440/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1229\n",
"Epoch 441/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1168\n",
"Epoch 442/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1420\n",
"Epoch 443/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1057\n",
"Epoch 444/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1518\n",
"Epoch 445/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1318\n",
"Epoch 446/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1301\n",
"Epoch 447/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1271\n",
"Epoch 448/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.0820\n",
"Epoch 449/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1356\n",
"Epoch 450/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1175\n",
"Epoch 451/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1170\n",
"Epoch 452/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.0989\n",
"Epoch 453/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1461\n",
"Epoch 454/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1439\n",
"Epoch 455/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1696\n",
"Epoch 456/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1609\n",
"Epoch 457/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1345\n",
"Epoch 458/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1206\n",
"Epoch 459/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1124\n",
"Epoch 460/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1601\n",
"Epoch 461/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.0884\n",
"Epoch 462/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1766\n",
"Epoch 463/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1178\n",
"Epoch 464/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1629\n",
"Epoch 465/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1679\n",
"Epoch 466/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1528\n",
"Epoch 467/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1308\n",
"Epoch 468/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1568\n",
"Epoch 469/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1322\n",
"Epoch 470/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1845\n",
"Epoch 471/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1720\n",
"Epoch 472/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1746\n",
"Epoch 473/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1031\n",
"Epoch 474/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1126\n",
"Epoch 475/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.0892\n",
"Epoch 476/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1604\n",
"Epoch 477/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.0991\n",
"Epoch 478/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1176\n",
"Epoch 479/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1359\n",
"Epoch 480/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1451\n",
"Epoch 481/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1180\n",
"Epoch 482/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1422\n",
"Epoch 483/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1629\n",
"Epoch 484/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1107\n",
"Epoch 485/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1604\n",
"Epoch 486/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1261\n",
"Epoch 487/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1279\n",
"Epoch 488/500\n",
"1/1 [==============================] - 0s 3ms/step - loss: 1.1337\n",
"Epoch 489/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1208\n",
"Epoch 490/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1583\n",
"Epoch 491/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1372\n",
"Epoch 492/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.0727\n",
"Epoch 493/500\n",
"1/1 [==============================] - 0s 5ms/step - loss: 1.1226\n",
"Epoch 494/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1693\n",
"Epoch 495/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1455\n",
"Epoch 496/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1075\n",
"Epoch 497/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1110\n",
"Epoch 498/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1380\n",
"Epoch 499/500\n",
"1/1 [==============================] - 0s 4ms/step - loss: 1.1834\n",
"Epoch 500/500\n",
"1/1 [==============================] - 0s 6ms/step - loss: 1.0987\n"
],
"name": "stdout"
}
]
},
{
"metadata": {
"id": "8fVosBKj6W5k",
"colab_type": "code",
"colab": {},
"outputId": "05150646-a437-49f1-ef97-9fd5e4e913fb"
},
"cell_type": "code",
"source": [
"fig, ax = plt.subplots(figsize=golden_size(8))\n",
"\n",
"# ax.set_title('Class probabilities')\n",
"\n",
"ax.plot(xs.eval(), optimal_classifier(p, q)(xs).eval(), label='true: $\\\\frac{p(x)}{p(x) + q(x)}$')\n",
"ax.plot(xs.eval(), tf.sigmoid(log_ratio(xs)).eval(), \n",
" linestyle='--', label='estimated: $D_{\\\\theta}(x)$')\n",
"\n",
"ax.set_xlim(-5.5, 5.5)\n",
"ax.set_xlabel('$x$')\n",
"\n",
"ax.set_ylim(0., 1.)\n",
"ax.set_ylabel('$\\mathcal{P}(y=1 \\mid x)$')\n",
"\n",
"ax.legend(loc='upper left')\n",
"\n",
"# plt.show()\n",
"plt.savefig('class_probability_estimation.svg', format='svg', dpi=1200)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb77c022a90>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "O2PGNEHx6W5p",
"colab_type": "code",
"colab": {},
"outputId": "d4b328ba-a05e-446c-83df-d524f95d22c4"
},
"cell_type": "code",
"source": [
"fig, ax = plt.subplots(figsize=golden_size(8))\n",
"\n",
"# ax.set_title('Log density ratio')\n",
"\n",
"ax.plot(xs.eval(), tf.log(r(xs)).eval(), label='true: $\\log \\\\frac{p(x)}{q(x)}$')\n",
"ax.plot(xs.eval(), log_ratio(xs).eval(), \n",
" linestyle='--', label='estimator: $\\log r_{\\\\theta}(x)$')\n",
"\n",
"ax.set_xlim(-5.5, 5.5)\n",
"ax.set_xlabel('$x$')\n",
"\n",
"ax.set_ylabel('$\\log r(x)$')\n",
"\n",
"ax.legend(loc='lower right')\n",
"\n",
"# plt.show()\n",
"plt.savefig('log_density_ratio_estimation.svg', format='svg', dpi=1200)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb7602cdef0>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "J9RPrIi46W5r",
"colab_type": "code",
"colab": {},
"outputId": "acaac29e-4849-4a00-8dc7-71db1eb62311"
},
"cell_type": "code",
"source": [
"fig, ax = plt.subplots(figsize=golden_size(8))\n",
"\n",
"# ax.set_title('Density ratio')\n",
"\n",
"ax.plot(xs.eval(), r(xs).eval(), label='true: $\\\\frac{p(x)}{q(x)}$')\n",
"ax.plot(xs.eval(), tf.exp(log_ratio(xs)).eval(), \n",
" linestyle='--', label='estimator: $r_{\\\\theta}(x)$')\n",
"\n",
"ax.set_xlim(-5.5, 5.5)\n",
"ax.set_xlabel('$x$')\n",
"\n",
"ax.set_ylabel('$r(x)$')\n",
"\n",
"ax.legend(loc='upper left')\n",
"\n",
"# plt.show()\n",
"plt.savefig('density_ratio_estimation.svg', format='svg', dpi=1200)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb7602cd6d8>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "31TlGzqZ6W5v",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"#### KL Divergence \n",
"\n",
"$$\n",
"\\begin{align}\n",
"\\mathrm{KL}[p(x) \\| q(x)]\n",
"= \\mathbb{E}_{p(x)} [ \\log r(x) ] \n",
"& \\approx \\mathbb{E}_{p(x)} [ \\log \\hat{r}(x) ] \\\\ \n",
"& \\approx\n",
"\\frac{1}{M} \\sum_{i=1}^{M} \\log \\hat{r} (x_p^{(i)}) \\\\\n",
"& = \n",
"\\frac{1}{M} \\sum_{i=1}^{M} \\sigma^{-1}(\\hat{D}(x_p^{(i)})), \n",
"\\quad x_p^{(i)} \\sim p(x).\n",
"\\end{align}\n",
"$$"
]
},
{
"metadata": {
"id": "74Q-nGnW6W5x",
"colab_type": "code",
"colab": {},
"outputId": "d2ea5fb6-6393-44b6-9b71-75114b1da775"
},
"cell_type": "code",
"source": [
"tf.squeeze(tfp.monte_carlo.expectation(\n",
" f=log_ratio,\n",
" samples=p_samples\n",
")).eval()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0.4424468"
]
},
"metadata": {
"tags": []
},
"execution_count": 48
}
]
},
{
"metadata": {
"id": "HSDwaJKg6W52",
"colab_type": "code",
"colab": {},
"outputId": "e122a896-77c0-4287-f1c5-4355b640feb8"
},
"cell_type": "code",
"source": [
"fig, ax = plt.subplots(figsize=golden_size(8))\n",
"\n",
"hist_df = pd.DataFrame(hist.history)\n",
"hist_df.plot(ax=ax, y='loss', label='binary cross-entropy')\n",
"\n",
"ax.set_ylabel('loss')\n",
"ax.set_xlabel('epochs')\n",
"\n",
"# plt.show()\n",
"plt.savefig('binary_crossentropy.svg', format='svg', dpi=1200)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAgUAAAFGCAYAAAD6uOxSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzsvXl4HFed7/09Xb1ql7wmThyjJJA4yRBkhzAEmLlEngUG7juDTbjvLDBL7OFh1hvGZicwQLCBuRMYGGSWebnDzAB2MiyBLFYSspHFtrLbsRPLS7zJsqTW1mt1nfePqnPq1OmqXqSW1JJ+n+fxY3V3ddWp6qpzfuf7Ww7jnIMgCIIgCCI01w0gCIIgCKI+IKOAIAiCIAgAZBQQBEEQBOFARgFBEARBEADIKCAIgiAIwoGMAoIgCIIgAJBRQBAEQRCEAxkFBEEQBEEAIKOAIAiCIAgHMgoIgiAIggAAhOe6AbPN0qVL+Zo1a+a6GQRBEAQxa+zfv/8853xZue0WnVGwZs0a7Nu3b66bQRAEQRCzBmPseCXbkfuAIAiCIAgAZBQQBEEQBOFARgFBEARBEADIKCAIgiAIwoGMAoIgCIIgAJBRQBAEQRCEw6JLSSQIYmEwNjaGc+fOIZ/Pz3VTCGJOCIfDiMfjWLZsGeLxeG32WZO9VAhjbCOA6zjn28ps1wZgM4AkgEsBQP2Os59OALsBDDvb7uac989Q0wmCqCPGxsYwMDCAVatWIZFIgDE2100iiFmFcw7TNDExMYETJ05gxYoVaG1tnfZ+Z8UoYIx1A+gCsAFAJQP3RzUjYD9jbDPnfKfzVgeA7c6/JICbySAgiMXDuXPnsGrVKjQ0NMx1UwhiTmCMIRKJoL29HbFYDGfPnp0/RgHnvBdAL2NsCYC2Cr6ykTF2RDEC+mEbFDuVbdoBdFRrDBwenKxmc4Ig6pB8Po9EIjHXzSCIuiCRSCCbzdZkX/UaU7BBG+w7AfxQ3YBznoStElTFZM4E55zkRoKY5yy0ZziZTKKtrZI5E0F4qeWzUJfZB6pBwBjrct7boW7DGNvMGNvo/L+10n1bHBhJU2ASQRD1QW9vLy699FLcfPPNJbfbsmULtmzZMkutIhYrdWkUAHawIWNsM+y4Af1p6QXwI875bsfFcKmzbUUcG07VsKUEQRBTp7u7G9u3by+73aZNm8gomAN27txZfqMFRN0aBZzzJOd8J+d8A4BvqYM+57zfcR8I9gAomdGgcmw4XcOWEgRBzDzd3d3o6uqa62YsOvbv3z/XTZhV6tIocFISVXqcf0JB4No2SdhxB0H728wY28cY2wcAR0kpIAhiHpFMJtHb24u+vr65bsqiIZlMYsuWLRgeHp7rpswqdRdo6KQv7mGMtWtqgGos7NA+60SJVEfHxbATAMIXXM7JfUAQRL2RTCaxe/duAJAD0ebNm+Xrnp4eJJNJ7NmzB729vdi2bRs6OzulS2HPnj249NJL5XcAoK+vD/39/fLzLVu2SLVB7GP9+vXYsGEDfvjDH2LDhg3o6OjAtm228Lpr1y50dXWht7cXGzZswNatW0u6OrZt24brrrsObW1tSCaT2LhxY+BxNm/ejGQyiZ07d6Kz057T9ff3Y+tWN0Rsx44d6OrqQjKZxN69e3HTTTehq6sr8P2g63rbbbfhuuuuw969e7FhwwZ0d3eXvYa9vb0YHh5GX18fduzYgba2Nvn+VM5HPZ64znv37vX8Zrt3757yta8ZnPNZ+wc7PqDH5/1OABudv9v0bQDsArBLeb1V+3yP+H65f4mLXsvf+a0nOEEQ85cDBw7MdRNqyq5du3hnZ6fnva1bt/Kenh75es+ePby7u7voO0eOHOGccz4yMsLtLt2lq6uL79q1i3PO+ZEjR3hbW5vn856eHt7Z2clHRkb4/v37+f79++Wx9PaobfGjq6tLfp9zztva2uTroON0dXXxkZERzzlu3rxZfke0XXy2f//+wPeDUK+ReC2OWe4a7tq1i2/cuLFon1M5H/V4Khs3buTbt2/3fKfaa895+WcCwD5ewRg5W8WLugB0A9gIoIMxdgRAL+dcaGHdADbBrkqYZIz1KBkFSwD0c28VxJ3O56LiYQ/nfHclbYmFQ3jlPNUqIIiFxt/9+AU8c3psTttw7YUt+Of/5+opfVfMLgUbNmzApk2bPDN/FZG+KL4nXqupjffff3/Rdv39/fLvjo4OdHZ2oq2tzTPT7u7uBmArDWK2+t73vjew7UKRUPexf//+ksfp7e31tFscd8OGDdi+fbucwQ8PD6O7u1u2aXh42Pd9P4Tyol5bcT4bN26s6Br6MZXz0Y8l2LJlCzZt2iQVhWqvfa2ZreJFfQD6AOwI+FzK+9r2QftLBu2rHPGwgSNDKeQLFiJGXYZUEARBoLOzE8lk6VIs5eoatLW1obe3F/39/ejo6KhqH9u2bcNtt92GXbt2lR0k9+3bVzTY6a/17/f19fm2qa2tDfv27UN3dzd6enrQ09Mj3R73339/4PubNm2SrhIA6OnpQX9/v7wGAuHeKHf+5ZjK+fjh9ztXc+1rTd3FFMw08UgIpsXRP5TC65Y3zXVzCIKoEVOdodcrtRgMdLWhXC0Elfe+973Ytm0b+vr6igZ4nc7OTs+AXAmdnZ2+QXzJZBKdnZ3o7e31KAHbtm3Dzp070dXV5fv+nj17fPcFwDMgl1IWStHf349kMhkYu1DufErtV/+dq7n2tWbRTZXjYQMA8NK5iTluCUEQhIs+qPb09EwrsKyvrw+9vb0e94MYJIWsXoq2tjY5OJVLhezu7pYDuaC/v79ktsTGjRuRTCY95717925s3LgRnZ2dsv2Cm266yXNe+vtBxxBtESSTyYqzOFRjR3ePVHs+gkp+52qufa0xbr311lk94FzznW9/69aza34T165qxVte4y+nEQRR35w/fx7Lli2b62bUjAMHDmDTpk3o6+vDgQMHcNddd6Gzs1MO6H19fbj11luxb98+dHR0gDGGW2+9FY899hgaGhpw1VVX4dOf/jQee+wxjIyM4KqrrsLatWtx5swZHDx4EGfOnMHp06fxlre8Bbt27cK6deuQTCbxxS9+EY8++ihCoRCuuuqqouV3V61ahfb2dqxbt67sOdx00024/fbbcebMGRw9ehTpdBo33HAD+vr6Ao/z/ve/H//8z/+M0dFRPProozhz5gxuv/12AMCLL76IkZERHD16FAcOHMD+/fuxdevWwPdLtUsc48CBA+jv78eNN94or2m5a9jX14eDBw8inU5j3bp1Uz4f8Tv39/ejoaEBp0+fxu7du3HVVVf5xo1Uc+2B8s/EZz7zmTO33npr2UpMzA5KXDysX7+en37XF/Dbr1uOf3vftXPdHIIgpsDBgwdx5ZVXznUzFjxipkvUht27d6Onp8fX1eG3bTXXvtwzwRjbzzlfX24/i859AACdHQ1UwIggCMKHHTt2eOR5Yvaoh2u/KI2CS9obcHyEjAKCIAidrq4u9Pf3Y+fOnaQS1JC+vj709PRg3759gesp1MO1X3TZBwBwSUcCP3o2g4LFYYQW1vKrBEEQ02Gq0flEabq6usq6Derh2i9SpSAB0+I4M5aZ66YQBEEQRN2wKI2C1W0JAMDxEVotkSAIgiAEi9IouKS9AQAoroAgCIIgFBalUbC63VYK/vA/nsbuZ0/PcWsIgiAIoj5YlEZBUyyM371iOQBgz+HBOW4NQRBTYbHVWCGIIGr5LCxKowAAfnHz9XhrZwcODFC5Y4KYb0QiEaTTFBNEEACQTqcRi8Vqsq9FaxQAwNUrm/HC2XGacRDEPGP58uU4deoUUqkUPb/EooRzjnw+j+HhYZw8eRJLliypyX4XZZ0CwVUrmpFM53F6LINVrYm5bg5BEBXS0tICADh9+jTy+fwct4Yg5oZwOIx4PI7Vq1cXrVsx5X3WZC/zlKsvaAYA9J0cJaOAIOYZLS0t0jggCKI2LGr3wXUXt2Flcwy33f8KSZAEQRDEomdRGwUN0TBu/e3X4vHjI9j7anKum0MQBEEQc8qiNgoA4M1rOgAAJ6i6IUEQBLHIWfRGwcpmO43j7Hh2jltCEARBEHPLojcKljREYYQYGQUEQRDEomfRGwWhEMPypiheODOG+w6dm+vmEARBEMScseiNAsB2IfzkxQH89s4n8fIgVTgkCIIgFidkFABY2ewWffj+/lM4cn4Sr1LgIUEQBLHIWNTFiwQi2BAAfvDMKdx3eBDLm6L4yZ+9cQ5bRRAEQRCzCxkFCvFwCEeGUhjLmMjkC3PdHIIgCIKYVch9AGA4lQMAvHF1GwoWx9nxLAYmKBuBIAiCWFyQUgDgtndeiVCI4d1rV+Lh/mEAwLmJHCyLIxRic9w6giAIgpgdSCkAcOWKZtz5gevwmiXuokgFi0sFgSAIgiAWA7OqFDDGNgK4jnO+rcx2bQA2A0gCuBQA9O8wxrYC6AfQ4Xy+c7rtW9EU87wemMhhqfYeQRAEQSxUZsUoYIx1A+gCsAH2QF6Oj6pGAGNsP2Nssxj4GWPbAezlnO8WrxljG8XrqbKyxbse9cB4FletbJ7OLgmCIAhi3jAr7gPOeS/nfAeAvgq/spExtll53Q/boBBs1gyAPQC2TLOZaI2HETXcS3JgYBzslp9h97Onp7trgiAIgqh76jWmYIPmDugEsBcAGGNdPtsPA+ie7kEZY1jZ4roLeg8PAgBuf+TodHdNEARBEHVPXRoFnHPpYhBGgKM0AHYMwbD2laSzbdt0j72iKYblTVFEDIYTSbuqYSxcl5eJIAiCIGpK3aYkOgP8ewFsAnCz8lEbnOBCBWEkdMAxEKZK55IGGCGGV5NpHB0mo4AgCIJYPNTtaMc5T3LOd3LONwD4lhJj4DfoCyNBVxCq5ut/cA3ueP96rGiOIZnOA7ArHRIEQRDEQqcuRzsfN0CP8w+wB3798zbANiQC9reZMbaPMbZvcHCw5LGXNEZxYWvck54YDxtVtJ4gCIIg5id1ZxQ46YsjfvEBjLE2znkfitWCDgC9Qft0FIf1nPP1y5Ytq6gdK5RFkkJ1d5UIgiAIovbUxXDHGOt0ChsBwD4AO7VZ/wYAu5X3dirbi897UENUpWAyR4sjEQRBEAuf2Spe1AU7ZXAjgA7G2BEAvc6sH85nm+AM/IyxHqdiIQAsAdCvFjPinG9jjG11DINOAEemW7hIZ0VzVP49mSWjgCAIglj4zIpR4Az+fQB2BHy+E8BOn+1L7dN3X7ViZbNb3XAyZ6rHBWO0SBJBEASx8KgL90E9osYUCPfBx35xEKEP3wXO+Vw1iyAIgiBmDDIKAvAzCr74wCsAgNNjmTlpE0EQBEHMJGQUBLCiSYkpcIyCC50Fk14amJiTNhEEQRDETEJGQQAdDVFcc0EzljZGcXosg0/c/RKWNdqGwsFzZBQQBEEQCw8yCgIIhRie+/Bv4i+uXw0A+Hzvy3jm9BgA4CUyCgiCIIgFCBkFZWiMFlczJKOAIAiCWIiQUVAGP6PglfOTc9ASgiAIgphZyCgoQ2O0uJTD4GRuDlpCEARBEDMLGQVl8FMKUrkCUkpBI4IgCIJYCJBRUIYGzSi4qNVOSxyazM9FcwiCIAhixiCjoAzpvHfdg84lDQCAwcnsXDSHIAiCIGYMMgrKEA97lYJLlzQCAM5TXAFBEASxwCCjoAy/f81K/PCP1+GGNe0AFKVggowCgiAIYmFBRkEZGGN477UXYqlTzVAYBaQUEARBEAsNMgoqpKPBNgpWtyVghJhMS3z82DAms24mwvf2vor/9/slV30mCIIgiLqEjIIKaW+IAADaEhEsaYjg/GQOQ5M5vPlrj+H9P3gGT58cBQD0vjyIHzxzCjnTmsvmEgRBEETVkFFQIe0J2yhoiYextDGKwYkszk3YGQh3PHcGXf/nYTx+bBjDqTw4B04k03PZXIIgCIKoGjIKKuTaVa1Y1RrHsqYYVrXGse/kaFG546dPjWHIcSv0D3k/u+elc2C3/AxHh1Ke9w+cHUcyTTUPCIIgiLmHjIIK+b21K3DyUxuQiBj45IbX4tRoBh+843nPNgcGxjGcsgf4fm3w/+5TJwAAe19Net7/jW/8Cv/nof4ZbDlBEARBVAYZBVPgrZ1L8OuXtOPUaMbz/sGBCQynhFLgNQryBQ4ACIeYfI9zjuFUTn6HIAiCIOYSMgqmiEhNVHnh7BhGHFdA/7BuFNiBhxHDNQpMi8PiQLZAQYkEQRDE3ENGwRR5TUdD0etzEzlYtiCA/qFJvHh2HOfG7WBE0/nAUJSCTN7y/E8QBEEQcwkZBVNEGAUhBtzyG5345IbL5Wct8TCODKVw9Zd+iTd/7VEArvtApCo+dWIED/cPAQCylL5IEARB1AHhuW7AfEUYBRYHvvzuq3BMcResv6gND7xyHgBwxIktMC174BcGwEd+fhDHhu20xYzpXXSJIAiCIOYCUgqmiO4+WN2WkMssr7+4Vb4v3hPug4xjFExkC7JUMikFBEEQRD1ARsEUubA1DgBYu6IJABAKMVy53P57/cVtcruLne2E+0AYAOl8AeNOeWQyCgiCIIh6gNwHU8QIMTzxN2/xKAZrVzRj/8lRrL/INQqWN8cAuNkHqlEgyJBRQBAEQdQBpBRMg+svaZeDPgC85TUdWN4UxcVtcSxvshdQEoGFrvvANgbSSsZBlmIKCIIgiDqAjIIa8hfXr8aJT3YjbITw1s4lANzBv5RSQO4DgiAIoh6YVaOAMbaRMba9wm23Ov92Mca2+uxnK2OskzHWJv6emVZXTijEEAvbgYW7378e77v2Qjn4CxeBMADUjANyHxAEQRD1wKzEFDDGugF0AdgAoGyhf8ZYD+d8i/J6P2MMnPMdzlsdALY7/5IAbuac190CAomIIY2CyZxrHHDONfcBGQUEQRDE3DMrRgHnvBdAL2NsCYC2UtsyxtpgD/QqPbANgB3Ke+0AOurRGBB4jQI300A3AjJ5iikgCIIg5p56jCnoAODnDvAYE5zzZD0bBACQiISQNi0ULFcZyJoFTzwBQGsfEARBEPVB3aUkcs77GWPrtAF/A4BedTvG2GYAw7CNiDbFtVA3CKVgwqlHANjug7S21gG5DwiCIIh6oO6MAgDgnPeJvx13QjeAdcomvQCGOedJZ5sexthmzvnO2W1paRIRA5wDQ8rSyFnTKlIK8gUOy+IIKYslEQRBEMRsU4/uA51dAG5UlQPOeb8wCBz2ANg26y0rQyJiX97BCa9R4JdtoLoQvvzgEfzG1x+b+QYSBEEQhEJdKgUCJ31xu49yMAKgXTEMkgACUxIdV8NmAFi9evXMNVgjEbHTE8UaB4CdiqgrBYBtLIjt/+GuA7PTQIIgCIJQqFulgDG2EcAeJ3MBjLEu5eMdmlLQiRKpjpzznZzz9Zzz9cuWLZuZBvsgFkN65fwkALs0sp/7AKAMBIIgCGLuqQujwClCtFF53Q07gHCfU5yoE8BNgJ11AGBI28Um1KX7wDYK+k6NAgBef2FLoFFAwYYEQRDEXDNbxYu6YAcLbgTQwRg7AqBXcQt0wx7YdzvugT3O+z3KbnYrf+90qhwmAVwKoIdzrn5eF0ij4OQoVjbHcEFzDGfGs0XZB4B/VUMKPiQIgiBmk9kqXtQHoA/e4kPq5zsB7HT+TgIoORI629RdCqJOImwLMS+cHcf/uGwJYuGQHWhYoVKQK1iIh4wZbydBEARBAHXiPlioCKUAAK5c3oxY2HDcBz7ZBwFGAUEQBEHMFmQUzCAeo2BFE+LhkF3R0Gep5IxZwOnRDD72i4PyPYozIAiCIGYTMgpmEFGnAACuuaAZsXDIqWjo7z543/f347b7X/G896bbH8HOx4/PSnsJgiCIxQ0ZBTOIqhS8/sJWGVMgjIJwiKE5Zod1ZE0LL52b8Hz/kf5hPHkiiQ/e8dzsNZpYMBQsjoLF57oZBEHMI8gomEFUo6AtEbGVgryFVK6AEANa4mG0xm2jIGMWPJUPAWDnE7ZC8I4rV8xeo4kFw5JP3oM1n+stvyFBEIQDGQUziCheJIiHDeQKFr5w/yswQgyNUQNtiQgAIJUrdik83G+XY4galJZIVM9oxsTJ0cxcN4MgiHkEGQUziFAKfm+tPdMPK4N7vsBx6ZJGXLmiCQCKXAcAIJRfCjgkCIIgZoO6XvtgvmOEGI59/EasbIkBAF4enPR8ft+WN2FwIoddz57B82fGA/cjChu9OpLGxe2JmWswQRAEsagho2CGuaSjQf697e2XoSlmIBExMDiRQ8QIoSlmqwlHhiaDdoGsaeHgwDjW7vglnvibt+D6S9pnvN0EQRDE4oOMglnkqpXN+MZ7fs3zXnMsjEQkhEODpY2CM2NZAMCx4RQZBQRBEMSMQDEFcwxjDBe2xFGwuExP1MmYBaScNMbRjCnf33bXAdx676FZaSdBEASx8CGjoA64sDUOAFjRHPP9XK1tMJrJy/d3PHgEn7nv8Mw3kCAIglgUkFFQB1zY4hgFTVHfz1WjIJm2jQLOqSgNQRAEUVvIKKgDpFEQoBRkTEvWMRDug6HJnO+2BEEQBDFVyCioA1Sj4PrVbZ7P2hIRX/fB8ZH07DaSIAiCWPCQUVAHXNhqKwQrmmL4xc3X484PrJeftSXC9sqKznLLybStFJBRQBAEQdQaMgrqAFUp6GiI4rdft0x+1p6I2O6DIqUgBcBeP4EgCIIgagEZBXXAVSubsaYjgTc6roOo4f4sbYkIOAfGnFiCUU0paIoGGwVPHh/B/YcHp92+h46cR9/J5LT3Q8wNtFIiQRCVQtPMOmBZUwxHP94tX4eNEELMXvug3VkwaSRtBxYmHaXg7LhdzChvBa+L8KavPgoA4F9517Ta9/c/eREXtSbw0z9/47T2Q8wN+YIFI2SU35AgiEVPxUoBY+xaxti1zt8tjLEPM8Y+PHNNW9wItaA9YacpiliCUSclcSJrv84XimeBlsXl57VgMucWTypHzrTwoTuex+BEtmbHJ6aH3z1CEAThRzXug/cB6HD+vh/AEgD3k2EwM8TC9k/TlrDFnJGUrRSMZU170HdSFPOFYqXgM/cdRvPH7q5ZW7KmhUyFRsHBc+P4xq+O4aEjQzU7PjE9cj73CEEQhB/VuA/2cs4fYIy9BsA6zvl1AMAY65yZpi1uotIoEO4DUbQIGM+amMzZSoDa4R8cGMcVy5vw84MDNW1LxrTkSo3lMJ1ZKfmx6wc/w5EgCMKPapSCEef/bgC7lfep958BYtJ9YBsFwn0A2BkIE1mhFHBwznF0KIW1O36Jew8NYt1FrSX3PZk18fix4YrbkskXKjYKCk6lxQJVXKwbSCkgCKJSqjEK1jHG3gNgG4BvAgBj7Ea4LgWihgiloL3BG2gI2FUN1ZiBgsVxZiwDABgYL/bl6zPFD935PN78tcfwaoW1DqpxH5BSUH9QTAFBEJVSsVHAOf8SbANgi+NGuBFA14y1bJET09wH6byFuPNeMp3HZM4dpHMFC+OOkZDOu0GBSxvtIMVUzjugH3aWaT7m1DooBee8YvfBlx58BU+9aqcu0uS0fiClgCCISqkq+wB2XMH9jLEW2AYB55x/e8Zat4iJGiFEjRASETeV7AKnyNFoxsREzpQZCvkC9xoFuQKuWtmMf/yd1wFAUebAyha7guKZsfIZAmKWWYlSsPWug/j7n7wIgNwH9QQpBQRBVMp0sg86QNkHM4ZtEISkOgAAFziD+eBEFvkCl66FfMGSxY1SjlLQEDHQGLUNiklNKVjRZO/neAVKQcYsOP+Xnm3qqzaS+6B+IKWAIIhKoeyDOiUWDqEhakg3AuAqBaed+IH2RAQD41nkPEqBhXTeQiJifx8odh+IfR4btmMKvvvkCazpaMDbL19a1I6Ms+ZCOaNAn42SUlA/UPYBQRCVQtkHdYpwHcTCrvtgpbO08qlR1ygA7E5fdx80RA00OK4H3X0gBnihFHx2z2HsfOK4bzuyzrYFi8MsMbjoAw8pBfUDKQUEQVRKNUrBOsZYO+zsg81A9dkHjLGNAK7jnG+rYNutzp/XwVYpdvh83i+OzznfWWk75gOxsG0UqO6D9kQEsXDINQqE+8BylYKUU33w4kgcjc66CLpSIOIDjjnZB6l8QQ7+OsJ9YP9tocnwtyP1gYeMgvqBYgoIgqiUio0CzvmXGGM3ozj7YKTMV8EY63a23QB7IC+3fQ/nfIvyej9jDMIwYIxth20o7BavGWMbxeuFwG+9bhkGxrMe90EiYqA1Hi5SCnJmgFIgYwq8JY+FAXDCMQrSJY0C9/1MvoCmmP8tkyP3Qd1CSgFBEJVS1SqJnPNvAdjLGHs7gCOc8y9Vkn3AOe91BvS+ctsyxtoA6Evy9QD4qPJ6s2YA7AGwBQuIv3tbJ25755Ueo6AhaqAtESl2H1iWFlNgBxpK94GuFDgD/WTOBOcc6bwVOHCoxkKpuIKcWZ9KwZ5Dg1h5632YrOFaEPMN/beZr7w0MI5zPnU4CIKoHVUZBYyxb8IesHcDOMIY++EMtKkDwFafAMY2pw1+tRGGYcc6LDjiSkxBIhJCazwiV0hskzEFvCj7IKFkHxTHFNivLW6rBAWLBysFea/7IAh9tcZ6MQr+909fxMB4Fq8MTc51U+aMfJ38FtPlyh2/xBXbH5zrZhDEgqaaOgUfBrCLcx7inHdwzg0AP6p1SiLnvB92doPqZtgAoNf5uwO2EaCSdNrYVsu21APxiPsT3bCmA61xV74XMQXl3Qd6TIE7gIs1FYKMgqzmPgiiSCmoE/fBmHNdmqKLd5XwhaIUAO79ShDEzFBNT3mUc36/+gbn/A4nzqCmcM6lm8EZ6LsBrHPeakNxcKMwEjpQ7HqY10SMEG57xxX4zcuW4uoLWqQ6APi7D8YyJkyLe9wHf/3fL2A4lcenfuu1ALwD/XCqtFGQqdR9oMcU1Mk4NO4oKPVhoswNCyHQUK+DQRDEzFCN+yDoqZzpNXJ3AbhRUQ78Bn1hJFS+ys884iM3Xo43XdIOAGiN+xgFBS4HvyFnieWGqOGphvjpew/Jv9WMghFpFPirAJ7sgxJKQb2mJAqloF7aMxcshEDDhXAO840v3v8yPrfn8Fw3g5hlqjEKLnXKG0sYY2sAvLGWDdL2vx2xhwVlAAAgAElEQVTAdlU5gD3w626CNgDgnPuqBIyxzYyxfYyxfYODgzPT2FmiLeHjPihYGHdWTRyatI2CRMRAKMR896HO+IUcq8/0BZUEGh4bTsn1FAT14j4QxoC5iI2ChVC8SKwKSswed790Dne/dG6um0HMMtW4D3YCeIAxxmEPzB2wB+N1Jb81RZyaBns4573O6y7OeR/nvI8xpg/+HXBjDopwahjsBID169fP69GhVXEfNDvpgeraB6OOYtCgqAQAsKTB/V4mbyEWDiFrWopSEBRoWN4o2LzrWTx2zJuZWm8z83prz2yyEGbZE4s4e2SuKFh8Qdw7RHVUs0riKOd8PezUwF4AX+ScX845H5tuIxhjnY4RIF53wx7o9zHG2pxMhJuUr+xUt4cdiNgz3XbMBy5f2ggA2PT6CxBxCgllTQsTWi0CEWQoWOasdwDYLgERsDjsLMkc7D4oH2g4lMoXpT3W2yBcb+2ZTRZCTMFEjpSC2abAF8a9Q1RH1SHZzsxdzsoZYx/mnH+51HecNMJuABsBdDDGjgDoVdwC3QA2AdjtBBbucd5XB3pZl4Bzvo0xttUxDDph10xYMIWLSnHTtRfiXWtXoDEWxqFzEwDspZQ5BxgDhGqvKwVpZUDPmhaWNkZxbiLnKgWBdQrKpyTqBgFQP+4DwWy1ZyJrImtaWOIsWz1XqIF5C2G2pxfgImaegsUXhOuJqI5Ao4Ax9g8on/vPANwIoKRR4Az+fQB2BHwu5X0nLsDfGe79ju++FjqMMTQ6boOIYV+m0Yw9sLfGI0g6MQIiyLAhaiCVK0i3AmAP7iKLQU9JzJkWfvzCWfzPq1cgFjYqUgr0OghA8Mw8X7DwFz96Fp/ovhyXL2uq8KzLM5LKIZUvYFVrwvfz2VIKrtz+IE6OZsC/8q5ZOV4Q6ukuhNmeiClIRKoqrUJMgwLnC+LeIaqjlFKwBPbsvFRZ4rKDNzFzREJ2ByniCToaXKNAuA+G//G38cm7D+ErDx3B4EQW7/nePqRyrvtAKAX5AodlcfzyyHnc9O/7cdXKZjz/4d+oKKbAVykIGISfOpHE/913EkfOT+LRv37LVE7bl0s+dz/Gs6ZnMFZVjtkyCk461SbnmoWmFIiYArWYFzGzFCxeVJSMWPiUMgp+yDl/utwOGGMznZJIBBB1SiCLaoYdDRH0O7+GcB/EwgaWNUVhcaDn8eN4pN/O2tSVAsBb7+DFs+N4NZnWihcFGAV+SkGAXC8WeCq3FHO1jPsEoiXT7nv15s6ohomsiT/5r6fxtd+/OlAJ0fEqBfO/YxcFuBIRMgpmC9t9MH+fG2JqBGpxlRgE1WxH1B7hPhADYruSmaAGGoraBupALN4bduoaALYLQZ31Z00LGbMgJduMTzAi57wqpcBw0iR1o+BbTxzHd5484fudqTKinNtspyRaNTzej545jf9+/iw+efeh8huL43uUgvnfsYtA2ji5D2YNc4FnH4ykctj5+HEqjKVBT9g8RncftCfc4LYLmt1sA+EqUIMN/ZSCrGl5Zv35gr0mQlMsjBDzn90HzfiD+hIx80hr6sLmXc/hL370rP+Xpoh6bqXcB6+cn8Rn7ztc085BzwaZDmKAD7HKvXXqmSwEpUC4D0gpmD0WulLw38+fxZbdz+HVZHqum1JXkFEwj4mGvUpBh1OLYFVrXAYjAm5tgwFlhTlRBEk3CtKKiyBvWciYFhIRA/GI4Rto6KcSAN6ZqoqYeQS5ImqJGlxZyih457efxKfvPSRXn6wFfu6MqSJcH6EqnlZVqQiqQTEXDE5ksXbHgzg8OFHV94T7IB6mLmu2sAMN6+feqTViQlNPz0c9QE/YPEYoBSKmQMy+uy9f6tlOqAKqRSzcByLQECh2H+QLHJl8ATEjhHg45KsKBBkFQT58aRQE1EWoJWrbSsUUiPOqpYthLFNLpcD+vxqlQD0VkZ1SD9zx3BkcHJjAPz1UKn65GJF9UM01IKbHQlcKhMGzENxrtYSMgnlMKMQQYu6s9H1vWIWNv3YBvvSutZ7thPvg1WSm6D11IMwVdPeBhWzBQjwSQiJiFEn+gH+QIRA8Mxcr9vntq9T3poJ6jFL7DTtxDrU89nSNgvGMiUnndxWzfqMqo8A9l9Nj2RJbFjOazuPhI5XHD3/2vsMVx4OI+y3E3JLclSDcMfM5YHS+MdfZBx/+6Ytgt/wMAPDDp0/hsaO1XdpGTFAWshoyFcgomOdEjZA0Cla3JbDr/es91QsBVxXwUwpUbPeBrhRYiIcNxygofngqHdz3nkji4MC4ohT4P4jJaS6Nqx5XPUapAV8MtrVUCqbrPmj5+N1Ycet9AFSloPLvq2dyarQ6n+m/7X0Vb//m49IoKcen7z1UcTyI+B3+9VfHsfRT9+LESKqi7wn3gTlLs7p0voCN39uHo0OVtW8hUuAcnM9dNdCvKGrS+77fh7f8y2M13b9QQeYimHIia4Ld8jPc/nB1itlUmMyaVcVLkVEwz4kYITkrDYrM9lMFEhEDMc0/W+w+sLMPYuEQGiIGUj7Bc5W4DzjneOPtj2Dtjl/KBzDoHlWzIaaCavWrBsvARBYvDYz7fkdkRNSb+0AMhDLQsAqrQHynIWrgzFi2qmyI8ayJgsXl8WuJfo2fPFHZSuci0HC2lIJ7XjqHO547g//90xdn5Xj1iDAGFmoGQl4qBbNv9AiX3ufvf3lGj3N8OIWmj92Nbz5+vOLvkFEwz4kYTM5Kgwq72Msoe3/qaJgVBW0VZR9YdvZBPBxCIhLyVQoqcR8cG3Znqjmz9AM4lKpeKQgq1KMaBX+5+3lcueOXvt8X7oOg9R+mwnu+tw/b7jpQk33JQMMqlAJhBFzUGodpcZyvQqov5+KZDrpR8LK2umYQ0n0wS7NW0U6jmou+wBDXWpfXJ7Mmnj8z7SVvKqaW6b0qORlTMPtGj/DKjEyhv6uGQ05A753Pnan4O2QUzHMiRkhaukFKAWMMF7bEPe9l8hbiWnpXsfvAzj6IhUN2ueQqsg/Uzvshxz/dloj4PoDqttX4mQWqmyCnFluqMKpYdPy1CDhSDa0dDx6Z9v4AtwOZSkriRU6xo9NjlWdWiN9oZowCe9/iVCrNQhCBhrNmFDj3QngxGwXOpdZn0n/4H334tS8/NKX7o39oEpd94f6qXFpqXMN4xqyZkSDOay5iCsQ5zXT9lMIUjFsyCuY5UcP9sUula13Y6jUKjBCT7oMWx72QK9juA9ERiuyDeMSoPtBQudcfOWobBZ1LGjxGgSnTE919VOI+4JzjG48dk8WJ1HapA7tfe/06FKOGSkEt8uj11M+p1CkQp3lxm/27V5NumZVKQe07SzHYCnHn5fOVKQUiW2W23AfCeFnURkGAUvCr4/Yy6VOJ/zk4MIEjQym8UuHvDnjjSFo+fjc+c9/hqo/rR24Osw9my2UhDkNGwSJCLJ8M2CWNg7ig2R4cfm/tCnznva/HjZcvlUbEpUsaALjuA2Ek5AuWdB80RKauFJx0sh5ypuWZyY9lvamUQGXugz2HB/GhO5/Htp8fLGpDkPug1Hsi0LDW+cpTzZ4b0TpbcSWrch84g+cqxxisF6VAH9RfOleZUiDcTuQ+mD3Eb6UPYI1OtdSpSN+5Kfjx9dn0rudOV31cP+ZSKZgtl4V4XqqZUJBRMM9pirorJpbqwC5stTMSljdF8WfXrwZj7vaXL7VXKxTFi0RmQt7i0n0wnZTErDLIqA+DCMZTZf5KlIJD5+xZhhjMvUpB6bUaJnyMmFq6D1SpUxhiAPDwkSFc+5WHAleaVNE723IPdu/hwaLrJsbeC1viYAw4XYVSIAbgSoyCaqtA6h38cCpf0UAvrutsGQXiOItZKTADovNFnzOVoGC5GmsVg6J+z4jjV0PP48fwrSe8wXbinsrNUPEis2Dh9of7ffc/W4bIVO5jMgrmOaIyYbnV40RMAVMWthT++8uXNQJwsw9ai5QCAw1RAyeTGbBbfoYfPn1K7qOS7APREWRMyzPw6kWX7DaVn30cc9LY1nTYCodqmKgPYDpfKDKUJnzS7GoZaKgGUi5pdNM+/+yHz+DZ02M4PlLel6orBaID8Xuu0/kCfudbTxbVCRBKQSwcQms8guEqpF6pFFTQWXrqXFSyvY/hVYmhJPY9W2tYmAvIKPjaI0fxagX3nY6rFHh/V6kUTMF9ICX7KgZi/TdvjAb3dSOpnHRLqvzl7uexeddz3rY4bcjP0D313adexd/95EXsePCVos9UpaSWAc46oh8g98EiQlQrLLdQzEpnLQS1Jv+5CdsouGyJYxQUCpr7gMuUxEQkJB/OWxWfXkVKgXPTZ4qUArtTUZWCSvyUx4Zto6DZKeWsV2EUZEwLTVoH4rcmgRtTMH3rXVUK1I5vYMIuIFTJs6l3tuKa+fVd6XwBBYt7Sjrb27rqQlsiXJXUm60i+0A9x8kK1nvI+nTYQfeQ5zjO92YrpsCdYc1eFzmRNavytVfCaDqPv/nxC4GS+4ZvPo4v+QxagBJTUDQoC6WgeqMgO4WBOMgo0SlYHB2fvBdbdj/n+3nxfh0lZIaUApEV5mc8qf3gRZ/txbnx6gqMVYqrMlb+HTIK5jnSKChTE77FcQn4FdW5bKkbU5DOF1z3QcFyshRCcilmADij+KerVgqUB1BI+ergU8kAIWbbIhhMDYjTYwqaYl6pUUSxqwg3RLl0yXIULO6pv6CeizhuJYbHiCbLCnXFb5YcNICLTRmzV8+sJiismpgCdZD3u7Y6vi6oCuohiGsw2zEFYWP2lILbH+nHG//5kZruUwyoQUWfel8+j613HSx6Xw3InYpS8L29r+LXv/po0fvSfVDFQKw/M/ozrbfzu0+9WtF+ZXzDDFVtFAOx3zow6uTl/GRuxlI8RT9cTTVUMgrmOa5RUNp9sLzJXkGxzaeS4WVLbaUgZ9rLILc6LolswYJpcVnRUKDOSlP5gm9AnVcpUN0HyoJLPosjVTJACKVAHCMVEFOQzheKlAK/2ayI1cwWpifjifP5wjuuwIduWON7LpUYBcm03cao07CslM6Lvys+U4/1aP8QPt9rF0WxlYJIVVJvNUaB18grrxT4xXlUYgiKa+tnFPzg6VM1qwnhHq+6zrTvZBLbH/CfcVfK2bEsRtL5mublC+OmWoVF3V4PChR9QamYgg/84Bk8cXykKOZkKoGGempxkFJQrWtJrn0wzclAEMy5d/yapRtaasB4LaGUxEWI8P9HyygFb7qkHf/6nmvwL39wddFnHQ22wSDdBzFHVXAGf1GnQEV0XKlcwdfQ8DMK9Cp5+uATD4eQLuNfK1hcZiiI5yodEFOQcZZ9VvGbzQqJeLqdgzifqGErK8InH1RcKQgxgDfFDM93/GZ70ihQrsFbv/4rfNuJMQgx23CsSimoIiUxV4VS8Kl7XsLD/cVrKlSmFAS7D+46MIDv7z9V9P50EAZipTEFb7z9UXzk5werHtAnsibe/19PY3AiK39DPxfLVJFGQZXtKpRQCoRxWolLSh/8pxJoqMec6JVY3XZVaRRI98jMKAXizvGzx/Tzn6lYGXEYyj5YRAilwC+4RoUxhr988xq0OwYAAPzXH3XhYzdehogjkX7i7kPImpZUCiaU5Wr1/HuxjkIqX0B7g49RoLoPfDIOgOIo946GaNkBwrPIEXcNE7nPcu6DGYwpEB1gxGBIRAykcgVw7vX3lzrGqyNpu/5CWnMflAiy81MKVBhjaK9SKRC/VyWDdbZCpYBzjn/c87JvoOXBcxM4UsaXXiolMaspULWg2qW9RbsqUUtUvvHYMfzffSfx5V8ekQZzJYGXlVLKKChlwKjb61k54jevJKZAV5tkcJ/ye1382T1429eD1zXQlYKgATQooj8oQyY3BVeGH48fG8YHdz9XdBwxEPsdX/QV33jPNQD8VcCpcHBgHL84OOAex9kvKQWLCDFLr7R6n8r73rAKn3/HlVLmErQ4A6mIPxBrH6iIojNZ00Jj1CiaUelKgfh8TFnGV18caUljpKyUrA5C/u4DtXiRVSQ1+scUOPvW3Acnk2mwW36GJ5xiLeUQnVLEcJWVjGnhhDIQljIKPvCDZ/ChO5/HU856AKLzk0pBKaMg4LpNTymo3NcPAG//18ex59Cg73alZkKbdz2LPy+xoBLn3FUKfC5fxrRqVmPiieMjOHRuQt6TQbL7f/WdwvFhd7Ek8QhVuxCWKD/dGo9Io6CW9TLEdfe9d0oYUl73gXc78VtUYmjq95A4pmrEnRzN4JH+4BUQ9X0EuR6C7rGg+9hVCqY3S3/Xd57CNx8/jsEJrzHvxhTYKcH3H3afDXFNE47bt1ZKwdodv8Q7v/2UfC2eZUpJXEQIpWAqRoHKY391g5TlmmJhhJibvqfHFADAgBMtK7IT9OwHtR/JmpZs51jWlMqE7j6oRCnwGAW8OJ/eW6egUJTT7JeSKBYa0t0H9zkDXE+Fi4lIpSDEpBE1kTXxyXte8m2/DnfKFD0ZYBT4zYREpb+g6yZiCiZzhYpzo6caUwAAH7rzed/t/I4tBtJ03irpn1YNTP+4ikLNlIJf/+qjuGL7g3K27tdZWxbHH/5nH77zlJsGGnN8wtUuhDXknPfSRvfen+6zrCIURD/jptS96HEfaNdAGIJ+v9l4xsQOJbZCd0G5SkHlg2CxUeDf7qBgyqCFvWqlFLQ6fZuugrkxBRxrdzyI7p4npGog7lexJs1Mrf4pjkNKwSJCGgXTlBzf/JoO/ME1FwCwB5KIsiRzPFIcUzDozHBEHQPdaBCdEOf2okoi9mEsY8qBWjyMUiloiJQdiNSOTDxIHveBp06Bj1LgI+8KGVXvJKuN3JUxBU4KJ2AP8D99cQD/86oVnm38WN1mr1MgOmRxfm6gYensA8vieObUqOdzBjv7AKi8LK3o9CuJKdBnm69xakfo+A0C6vLdpYxBcc3i4RAsXizHZh2loNpCSqXImMGGWK5ggXNvm0Wg2FSVguZYWAbBzoRSEOR2Eeifl4opEM+Yn1Kw9a4DstIo4Bqt+jGriinQrkeQQREUGxBkFIjtp1tyeFmj7ZI9pi0DLsZhDjc4W9wz4pii36x1TIG7wiWlJC46RPGiWnQkXataAdjxAurqi7FwCAkluMcIMZxz8u6zTsVDPSXSrZtu/y+s6dGMWRRA51EKNKPg0LkJfO2Ro/K1WuijnFKQzhfQEDU82RF+7gN9Rq6fQ6WBwdJ9EHKNKDEQ/4/LljrtD/6dVCm+66JWt+Jahe6DO54/gzf808Oez0MhJg3HgQpzoatyH2jns7o94bud3+Aq7l2gdAZCTutA9ctQymiaKmIwK22Iueck1iCpWilwjIICd4Nw9YF0OpQyCtSJhG7MqONkUbBgCffBoLagWTn3QSWGXFFcQpBSEPD7BxoFARUbq2VZk10D5tiw1ygQ/Y5qjIs4DPFsi3u61vU3hPEhlQIKNFw81Mp9AAAffPMl+MB1F+Ov3rIGkVBIDqBxLftgWWNU+s+EUfCutStx/eo2uc1L5ybAbvkZzo7bNQ1cpSAvg/9EZy+CujoaIjI4T3DljgfxNz9+Qcqg6sy0XEpixiwgETE8D4SfUiAeyCKloMp0HiGzRgzXfSAGCXHOpYwCscY6Y8BvdC4B57aKIdwa5QINDw4UryMgYgoA4JovP4QHXzlftE37J+7Bll2uTz9bjfugwg7Vz2+rKgWlVAlheAgXlT7AiWswXcNYHSTFPekn67qxMO72IvunevdBXh5nJmMKfN0Hym+nq0iqm0b/jXMlrrdu/JVzHwTdP2oQpB70Wb37wP83KeWWqwYRk3R0WFcK7A+ePOHGJAl3kXimRb9azn2QNQs4VOE6IYB7zlNxjZBRMM9p9UkHnCqNsTD+7X3XYlVrwqMUiFUSBcuaohicEDEF9oJJX3/PNfjQDWuK9vnY0RFPOz3uA2XwCTF7G4t7OwrRl5k+Er8YHDJ5S1rlorPhnCOdt5CIhDyDup9SUPDZN1C9+0ANNBTXSwz0wo1RKrhrNJ3H0sYovr3p9VjqSJKm5QbZ+WWYqEqB3ikBdsck3AcA8OLZcQDAfYfO4Z8espd2Tqbz2PmE6x+vRinQr1mQG8CvcxKGYqnvAeVnVX7Ba1NBzRLJlFAf3PtWVQqm5j4Qg4RpWdK4rTbzoRSuUlD8mfrbjWa8RkFJ90GJUsX69SpSCjT3QVAaq+oKqDTQMMh9oB7De161UQrE73ZsWIspcP5X3y9WCpyYgjLZB5t3PYcrtj9YsQtwQjMwq1HRyCiY56gday1RYwpihq4UxDAwkcNIKucoBfZnfjPqwUnbeFAVjUQkhBDzDj7xiCGPITpbb4CZj1HgDA4Z05IZEzltgIiHDc0ocDvt58+MoWDxCtwHlcYU2NtHDSbPRcwcpVFQUikw8ZbXdODPrl8to4VNyyr5YKtKgZ9RwOBeeyh///v+k/jSg0c811h0OH6DXhD6NQtyA/gpBc2xsDTmcgUrMK1WzKqk/7XA8f899WrRjHW6M2y1wy0VaOgW41KUAiXQ8GcvnsXjx4Kj6VWE+8C0+MzEFPgUfRrPmDg+nPIaBWnNfaA0QR+ExW+eLRTHcRQrBf7Sv9inX+Av4L0GwkD7wR914YY17YGDfyVKgXq/TqWQkv/+HaNgRHcfFPcbwggMiikYSeV8Sx7//ICdZjg4ka2oJLK4rlMpD05GwTwn7HRGH73xspruN2IwN/tAK3O8vCmKJ46PoOOT92I4lZPxBH514t2UK9d4iRohRI2QfDAypoWEkvYoZo1Hhtzc9RfOjuPZ06MBSoG7XoNeeCcRCfm6D06NpvH6rzyEO547E6wUOC8rdh+oKYkB7oNSct5oJi+vkyiv61EK/PzCIvsgXyjyaQK2UrBEqSMhBrt03jY21A7zEaewkLsgUuVKwYGtv4k3XdIeOOP3k2ijWv2LICNEj9T+yYtn8ac/fEZmdUyldK4f6my5ZKChj5IiMmrGsybe/d29ePPXHivrL7csLuMj8oUZjilQ2vLu7z6FNZ+/3/Nb6TPQUimJ4npzXuzK0QdY/TctUgoC7hf1WZTFzSIGYmEj8HeuJKZA/W5em0BMFbF/MVgXLA52y8/wtUePFm0rMjbEMRs0o+Cv7nwB/+v7fUXfE/fjh392AO/67lNFn+sUGQWkFCwu+FfehS+848qa7jMSUpSCsO4+iMm/h1N5mcrolwsrYg9UN0c0HEI0HPK4D1SlQMw2n1TqA9zy0xexZddz/kaBacm1HdzIeXsfiYhXKRDndGo0A85t48A1CrwdVPXuAzemYErug4wpAzJdpaC0USAXmClwWVBKJRRiWNkSx3dver1n+3S+gGzB8nSYz58ZL9qmHHoVx0ClwGc2Fgl5jc2g77pGgeHsy34tXCFSKZiu+yCtug9KKAUipkAZ8MRWakzB48dK17dQA/UmcqZ0lZVSCrY/8Are7LOmQBB+gYaPOSrGs6fdevsl3Qd6SqLSvnKV+YKVAuE+KO3vB9zrHA4xRAwWWFdANV7U9qv3+HjWRPPHfoFdz56W92StlALX/WP/r15fgVgFVrRV9J3iup2fzEk1QUVcx1OjGZxVlALL4vjGY8eQ0uImRJtKFf0KgowCwpeIweQsJq6k2DVGDenvFogb229GfdpZPKk1UawUqDJ1ImJ4lALL4vjKQ/3yO6MZE5O5gjclURoFBTRG7cE/p3XY8bABdU0b4dMT/4+k84r7wD8tq2qlQMk+GFNKRRshFtjhWxbHeNZ0lYKQm79cSUVDwL/Gumi5SDdVgwhtpcDtMO2BictOsiL3gel2bg3RUkZB8b4iipsFCI4r0Au9iFX6RKS7GMArUQr+9AfP4NtP+NedSDoDY1j5nXxjCrRKnIB7v41nTfl8/PRFW/J9pH8I7Z+4p2ihK/V8x3ziGfz4yM8P4vEKi2mp7VcHhXUX2QHBDyklp5NF7oNSMQVcprjp93M1MQVmwZJZTDpe94G9j4hhp0oHBhoqx1aPq6phrybTmMgWcMtPXyxyNU4Vsf903oKluCNVEk5a93Aqh2PDKZwdz8rzAVzXh2lx3/MTu5zMFTwBsXcdGMCH7nweH/2FrZqJ+YtQREtNKIKYVaOAMbaRMbZ9uts7729ljHUyxtrE37Vt7eJGXaAjHrFl3o93X45H/+qGIktWLMbkpxScHBXZB4pSoBkF5yezWNIQUWIKCni4fwjPnh7DWzs75HsiH13gpiTawY5RgxVJu4lISLpY7GPZbRe+3GTaDM4+qHItcrVOgXQfODOhSMhuX5BRIGaK4jqpSoEcoPwCDct0aKLpwnBT0+kKFvdUmBzPmJ5ZU5BSwDmXMqjYn1QKggIN/dwHhlcpCDqem5IY8uxLzYBR/y/Fzw8OeAZDldG0q+rI7AMf/7VeidP+2277WDYv3WlisPjcnpeRTOdlpUqBKtGrM/WZzj4QtSQeOuJehyKloMR6HVnTksuW64Z0uZgCVdna+L19ePd39/q22899EA6FbKWgwDEwnsVn7zvscdGoA596H/qlJGZNS7Z1utkH6v7Tef9CWlEjhI5EBEOpPN793afwrSdOIGqEPLFDgH3dSykXkznTc9+Ja3Pa6WdFbIsIrqxb9wFjrJsxthXAFgBtNdi+A8B2AEcAHAXQzznv99mOmCIRZXodM0JgjOFzv3sFrl3VinevXeHZtpT74KQjaas56dEwQzTsDuAD4zmsbI7JTj+VL+Cgk37zu1csB+A+bEExBfGw4TE0ssoMVpX/xzImcqYlDZuRdE4p9OF9mEVnUWmGr5/7QAy6EYPZ/tCADkhI165SwGQbKnEfBCHSovQVF0Vnotavn8h5O7SgQfqz9x3Gkk/ei8GJrNcQKqkU2G3/3SuW402XtAPwUQqCjALT6z4QM6XzkzlYltuJVjLjy+StwOj+URkUGnbdBwVeZDz5uVfEe2MZU/5OeU1p0oO91N/T47oQg+A/3IW/DqgQWR0PfDAAACAASURBVCl+gYZiADqv1BQISscFvPK6KDndLFNsvb9ZsVKgqwzu7PwnLw4gCO996LoPxDN+14EBfPreQ57IfnVwnwwwCjKKAZmr4r4Jgjv1JUQA72QuwCgIh7CkMYrhVE7WC4l4jAJHKShYJWf1tlLg7l/0veKYot/W01vrLtCQc97LOd8BoDiCYurbtwO4lHPezjnfXYt2Ei6RkKoUeKsC3vjaZXjgg78uX5cyCs75xRRIpcC+Uc+OZ7CiOYaGiN3RpHIFHDk/iVg4hIudKn8iME6sTxAxmCemIB7xximog5UQCjqcgLuhVE769pJpUwYU6h2jO1us7IFS3QfCwBEDTTgUQiwcChzExUxNxEZ4Aw29g4xKOaNA2EMhxx+rD2hDysAwkTXl54wFy/nf3WuvV59M52XbYuEQGqMGJgN8xOLafOTtl8nKjRFNKSinMoj7UHTs41nT0wFXMsPOmIVAY0cE28UjITfQ0OL46M8PovXj98jv+SsFbpukO8p5TxgFZoHjwNlxPHl8BL//b3tx+8PuPGZMuW5ZZSD/l8eOAQAOOPET1eK39oHfTFR/L8h9IPaj1xoBUJTRAJSoaFjmt/JzH8iYggIves7VtgFeA1N1H6ilpPUCa1MhV7D3I6oa2uXEi/cXM0LoaIhgaDIn2xYxmHtvKL9TKeVCGB2ijoNQdNXYHqA40LAa98HM5LPNApzzJIBk2Q2JKeFRCnyWKlXLB4uiMqVk9haf7APxQJ2fzNlGgRJo2D+cQueSBnmTi1oGorNoiBhuSqKqFJjiQXcHaNGulc0xDKfyOD+Zk/L3SConZ056hyY650rlRbV4UdiwpU7hK7aVglJGgVcpEEaZt05BaaPAb//qkqnq56JzHHYGQiPEMJFzB9n2RASjGTvGQE+tEoOn6s4pG2joXJtoOCTvLd19UC4eQRhafjN0ALKzZMw/HazgqApBPnvxGxQsrhQvsvD9vpMAgDNjGXQuafRVCsTs3qsUuDNcwP4tP3XvIRw5P4lntCA0T+ZD3vIU7/nRM6dx07/vx3/9UZd8z+938cMvpsDvftbT/LzZB4orwTn3Zq0Y1+BEFpd/8YGy2QfSwA0YiDnnePTosGe5YfFbRIwQIiE7psAvcyDIfaDWKZDLU5cIllQZy+Sloe6HOM7ypihePj+JVL7g6TsF0XAISxqieOHsuJzFR/2UgoCYBIGaDtsQDbv3mnM9xf4mtOJFdec+mAkYY5ud2ILNjquBqCHCAg0xfwVA7czFYjClVuKKhw1pXMjsA9OyJWAOrGiKyX2m8wX0D6XQ2dEgHzCxPK40CqKGnOGL2gcRww00VAdo4T5Y2RwHICJ83UDDIPdBqVx1P3LKAAnYg3Aq785yYkZ5pUBmH6hKgQx6K/6uOhO7fGlj0eeqURAPG3J7131gG0crmmKYyBbksZY2RlGwuO+sWhg6KcelE2K2UdEQNWSw1TOnRvG3P35B+nxdI80NrrLdLG4XFKwUiJgCr1IAeAfTXIHD+Ie78Mf/+bTvftx0TP/jiH2ZFvdkH4gaGMJvqwezmgVLBoLZRoHrNwfc56LAOVK5gq/xo7oP9KWgHz1qZwv84uA5+V6lnbxfTEHVSoFy3wlDuVlLsT09lvHdb3FMgau2RA3v8GNZHHc8dwZv+/qv8E1lEbIipUBxGakGjnr8VN69nuo94vfb5wscT50YwQMve6t9fn//SbR+/B6Z5eKHGOBFRtZkzvRVQaJGCC3xMAYnstLgUZWCgmIUVDIJUd0g6v/i9677mIIZoBfAjzjnuznnOwFcyhjbPNeNWkiIwTgeMXxnJKovWLoPSiwSoK6PoCoFogzyyhY3pmAy5xgFSxo9hoY6M22MhmXna7sPDKf2gVeejBpepQBwjAJPoKG7fxU3V71C94HlzmjEscVAFzG87g2dcWegFQOQOO+caflKwAK1za9b3lT0uWqnqUpB2vlfxBSsaI5iQpHjlzTYcuh4QMU5wJEyTUv+/g1y0C7gDf/0ML76yFGZAur6PF2lwF5iuvz6B3pKohp9rfqUxYDzH32nfPeT8Znhq6gKiPjNTYuj2VFvTo/ZvmA9mFU1UrIFSyo6+YK9+qPa8duz3OLf0VsjoeDZ5+FBO77muFIcp1JDVbQlaJAH7Gf5hbNjYLf8TC7vGxRT4CoF3hRbNTZFpTgl0b02LVrhtbxl4WlnQa9+pUaJjCkwnJgCU1UKimMlAG8cwdHhlHye/H77XMHC9bc/ihu/+bjn/XsP2UZY38lgQdo1CuznJRUUU2CE0BQLy8kIYKuBjNmGQaVKgUAYpBnTO/iL/2WZ40Jw3xHEvDQKOOf9jvtAsAfAtqDtHTVhH2Ns3+Cg/3rvhBchX8cCBnpVKRC+3tJKQQgXOb7kqMHsTIGCJYNuVjS57oMTI2mMZ01cuqTBs08h/TJmD3DeQENvRoOrFChGQYtiFCiBhqa28JAgW2KG7ocaaGifp3vtyrkPVGUDcK+lOlCWNQqWFSsFzMcosEtAewMNVzbHMaGkfC5pFEZBcNneVM6udSDOU7p/lA45qxlWEYPJeytqhPC2zg683VksKjD7QAYa2t9TB8xTzuzd3q50xyc60CD3gZhdqbnztlIQcY6V9pyTaXGYBctjpOSVQLFXkxmsvPU+GeUvXEF+g4aakqhn2RwetAfIE0odioqNAhHV7gk09H63ORbG/pP2YCxiGNRt/KoA6sW4gpa+Di5exGFpwW85k8vUyIRPVkrYUZnyliWfF3VW7uc+4Jzj5cFJrF3R7NseINg9KLKqSqWIisF3uVQKCkUZGYAdXC3UFfc9V2GVKYkFqyh2SA/mtNvkdYO4k6FFqBQ4KYicMaZmJSQBBKYkcs53cs7Xc87XL1u2bOYbuQAQg5O+9LDATykoVeQnFg5h85tWAwCeOT0mLX5RiGNFc0x2BGJmdHFbwpMaCdgddsywMwrEjW6nJBrOTNwrK0bDTA6wqlIgBsN03pIdRXGgYcHZV/AD9R/7T8rgOrWioX1st+2u+8B/4NNrIkijIOdvFGx/4BX87Y9fQNa0sKwpCiPE0HVRa9F+/WIKxNK/gOI+aI55AvdErv24MlidGk17iqQIpSCqKQWj2gCnXpuoRylg+Ms3r8Gu968rOlfAni3+00NHikrCqr/TWLa0NKwifueg7VTlSZAvWPK3kEqBMohkTEvOliOGPeMTUv2pUVtSF/e4UAn8jAK9mqJqaIhcflUVKWcU3PPSOfz8wEBF7oN4OCQVqv4hW40IVAqcv/WYgkqVAtV9oC8elbcsqdao9634PYTKlC9w+MYUKO0UM/jhVB6jGRNXrrBVND8Xld8gDkAqm6XWopBKgfO8pPKFQPeBbhRElGdd3Hu2oeltj98iW1IpyLtGFudcqkBFMQX1ln0wA+zQlIJOAP1z1ZiFiCieI2bXOgm/mAItwEZ9CGLhEP70utUIMeBP1l0kB3ChFKxsjsuHXmQstMTDRerDeNZ0CgHZy7tazuwrHglJQwNwH4ZIyE1JbIgYaImHpVIgZrgiNSvQfeCjFBwdSuHR/iH80X8+jT//kb3CoLr2gf2/qhSUzj6QRgETHYU31x3wdnof+flBfPWRo8iaFta0N+Dlj7wdf3DNBUVBTh6jwIlpUGdLQ5O2vN2eiDjuA/sYwigQg+5oOo/LvvAAvqosYy2k0pimFOx91X00fZUCEVMQ8hoTuvvgnd9+Crf89ABOOjN0132gGAVKh+m3AqaKGGiDOnk/4890ikoBrirhiYzPuyliTdEwcqZrcOntyTgGmd/xxRjcHAsja1oew8Qvzz5onQjBbfe/jM/3vlxRoGHEcGNf+odtVSKozLE492ZtrZFq3QdqQKZ7HC4LSHkDLzWlQHHBeGIKfFZ2fPm8fT6uUuBtD2MllALFHeZHJl/A7c7zIJWCrL/7IBYOoUmbYIUN1ShQYgq0/sZPrfNTCgoWd++9rJaSON+UAqcI0cZKtnWMAb36yCaUcB8Q1SMGlxVN/kaB6hsW2QdiABez3UvaE3L7WDiE5ngYhS+/Cze9YRUiTvXBcxP22glNjo+yKRqWM6umWLhIKRjLCKPAVgrELC0eDuGClhheODvukeDUYJ6wwbC0MYozYxmMZUys6bDbpy7BrBZDcYsGFT9Qv/mvv8IXH3gFAGSFOV0pUAdokWMdaBRohZJEhyE6a8b83RijGbvM9GuWNIAxVhS8pZoIwihRO8bhdB6NUQPNsbCnWppYL0HEFCTTeWRMS8rMom1ZH6VAXSo2qxlWEU0pEO3yS4EU5y5cPYlwcSftMQq0+Id9ryaxdseDssZAuZgCv9m3aXGZLiiqc+o59GK/TTHDY3Dpg3nGCcwMWsoXsAfbTL4QeJ8Igkr9ettV8F0lMV/gnpUzIwaTbRXXsGxMQVxXCoLcB+41KFhc7lcY4n/71tfgg2++xDmOqxSoazHodQos7nVDCEyfdr4ijQJHKdB++4aIoakN7t9SKQj4LX5x8BzueO4MACWmIF/wX+fDCMlrprdXNwrEkun5goW/uvN5vHCmONBRGJYiRVt3S9V9RUPGWJeTIbARwHudCoRdyibdsAsVVbr9Tue9zU7Fwx6qVVBbxMAmIvb9EIOAXuZYzJRXtbrfFSspCkTQXTKdR1siIoMZm+Nh2fk2x0ooBY77QAxi8YiBP153EU6PZXDPoUGPXO1K8nau8IkRe+a5pr3Bs++Cozp89r7DuPO5M55cdZ1z41nZTrHmgB5tLgZoI8TAmB1TEBRoqLsPhLToLuxk4NxEDh2fuMcj6R8cmPCkjOrpoyHl+sUjBrIFzShI2UaBMMpEZ7xEcx+Idqs+/EknhVEGGjozoUPn3CAxNy+dy/OSMQXO9xhjvumM4v46N55z2l+ckjhaQil46kQSBwcmcNz5vf0CA1V0o0sEgOlKgdd9UJCSeFMs7PlMn51lnADGUv1zSzyMbMEquyhS0IqAarsyphv06Jn5W5anVHkk5DVWJ7Nu8K3YXiBjCpzfurxSUPxdwJ39vnF1G65f3S4/F/vxGgXe7APAHdyDUhLF+0fOT4IxNwhXNwgbo94FllRDLibdB/6/hZqCLYwC+5nwiSnwcR+INoaNUFEwcd6ysOfwIL7+2DGpRKqkNdUrnbc8x3XdCtUrBbNSp4Bz3ge7ENGOgM93AthZxfbJoM+I2iBk7BXN0cBtGqIGRjOmHPDVwVCsZyD3pw3uQuofy5ieFRSbY2E5aDdFjaIH0jYKDGldiw4+EQnh99auQHsigv9+/gzeuNoOOYkYrvsgYtjBPmL2oBotgmTaxKfvPQQAeMOqFgDFUq3lHFcMSKK/zVu2/5lpVQTFAF+V+8DwDoCJsJ3JMJLOy4wNwE6pVA0BXSnwZB8YIYxm8p4Z+XAqh0vaG2TgmIiOdrMPvMv5JhVZN+UEJspAQ+f3FpItoNR68FMKlMbZ6YyaUeAMPAOOT90vJVEv06wykraNCbn6oBI7YlncYzABxe6DxqgBs+AGZfq5mdJKhUS909fJ5P2DDFWaYgb++/mznkBeP8rN/EQZa79Aw3yBY2ljVP5Ousvp6HBKbs+Y/wJITUUxBeWVAr97vzUeka4CNf5CXSzKXfsgJA1KcQ97Vz0sjn0YTufREgvL30YPNGyMhj1l28ez9qJkdv0S7vsd9xj2+9dc0IwrlrsxC0EVDZuiulGgKAVKoKH9P5fGsN+ArqckjmdNzc3jvT6LIaaAmGHEYFCJUuAunewMhiUqHApEpsBoJi9z8wFvx1rOffDI0SFc+Jk9ThsMRIyQDJhTfdhq8F5LLIwzTsCYsO7tY9nn8rizghyAQKVA1rlXBiHL4hhJ5T3BhVEpk7t1Cyp2H2gpVKqBNZYxPW33GAVh3X1QHGiodnL5AreVAmcA/gtnVrJUyz4QHZ2aTy+qq+nZB68oRoEerGkXLxLuFUXhMEJ40XH9CMT9JQaKBr+YgqyqFHiNihHHwBGBoOrs22/NCH2gbYgYyFuWvAZ6hLfYp3QfREsbBekAaVkQNUIy4l2kVYr7UnBxW9xpa2njIpMvaO4Db4yARynQnrHxrCm3j4fdJc77hybxtq//CsDUYgr87v2WuPuMj2VMqRCI5oraF4BXKZjU5HHAe03E+6lcAQknXVm8VtGVgomsiaHJHC78zB78+IWz9nsB7h7xvTs/cB1iYQPxcEgG3+r4uQ9EGw0l0LAgJxhcGqF+xeP0TJpUzlupU9zfMiWxiqqNZBQQvgwpUelBJDT3QVhJNQOKOxsVEWg4mjFl5DPg5j8DdocYHGjIPDMDtQaCmsesuw+a424VMLVjFGlnv3TSx9oSETn46B256FjUYKhvP3kC33z8OG5Y0+45R/u4rnKgdoy33nsIew5588KLjQLXfSAYy5qerJCYNriqFNUp0NwHABz3gbfDEu4DYfiIdqvnnHKC7ISsrxp0rZrP2Vu8qDgQs70hgof7h/G53pfle9IoGMuAMTuTBAiOKdADssRsUxgLqjHkF1egGwWNUQMTTtlixtxOXPhxxX4y0n1QenZvBxoGd87RMCtK09NjejqXNPq2dSJrYscDrygZOfZvE1TmWMSMAMVKwWSuII3UeNiQKs9dB9y1CvTiRcOpPLouasWq1rin/oAnnVHWGHGvU2s8Iu+Dl89PeNrRFDM890g4xOQzldKMTf0c1VoSiYghz9Hv3leN/vFsAQPjWWRMC0ecWgl+0f/quQnFqzFqBK99YLCiQEPRRm9MgVAKLKmQ+eGqXl5XoH2sULH7gJQCYroIOXBlCaNAzAz1mAJ1LYRfu6DF97uu+8CrFIiSomIBIb3DGsu4KYkqccVAyRbczjdiuCmJtlLgHmtZo3tuoiMTRkFT1AhcPtevQxKzit3vX+85R9EG0Ta1w/jMfYfxWzufAOAGgrnZB6WVAtW4UI0vXSnwS0n06xjVAf13rliG13Qk0Bg1itwHQopvjNorImZMSxpkazoaZId/qVNdUV0qF7DvESEBq7/td957LQBI/799zvZ2Q6m8bdwxYRS4564aKWp9gZxpSaNAzCpVY8IvA0A3/hqjYWlILGmIIu+kfXmUgrxbU6CcUpAxyysFIiVQoBvlFzivdVfH1rsOYNvPD8qBO2NqgYZaTIF6P6nrnACOUSCUgoirFKgxODIlUSoFObz+ghac/NQGXL3SjvSPK8rY5/YcxgOvnPd8FxBKgf27qlkrYjt1UhA2mByApftAzT5Q1uFwl2UvoCGqKAVF937Yo6JM5MyioMtyRoF45hpjYVnlUycaLhFTEHLTq2XhK4tLN6q6cJVAPAPqsyAKsjXHDFmPZFHUKSBmB7fSXQmjQLoPDPk6YjC58FA4xPD439yAc5/5raLviuJFoz4xBYDbwYZDxdKmUApUxMAkBj41E0AdaNUHc6kiwQuj4Lkzdk36kXReDiLl6rkDrrKiDgyiIxLnUJn7ALKt9rGEUeBeh7FMHlnTlYDvV8qzRjUjSr18wUZB2KMU3H3zm9AQtf2wuvtA0NEQwaQjWYoBxlCMwEuX2AOIu34ER8Sw4y0imlsFAK5b3YarVzZ7Bnn1qquKjxpnorozVKVgMmdK94Ho3DNVKgVqLQ4xs9brDIgZOVCBUhAQUyBu5agRkq4Sgf78id9cdx+oAaCiOFU67z4HekyBeu2LlQLXfZCIGHIfqoohzjXnDD7D6bx87sV9bwde2t/55D2H8IEfPAOgWFESRsmTx5OIhUOypoBuFERCruvJP9DQjulRjYJUvoCEs1gaUPy7tya8A/V4xizKDhnL+LtGhHGoxtTYZY6LB+BYCfeBnn0A2AaqKFblFz8ingG1PxHxQE0xO1hVZDIAZBQQNUDMukoaBZpS0BwPY//fvw1/1HURALE0bljWBVcR2QejmbxHbpRGQcy/SqJpcX+jIOJ1H6gPnIzoNxia427HvczjPrCPKx6iyVxBzhCC3AcqYxkT4RDzBK+JjkhVCrKmhY3f24duraRqkftADzTUlIJcwcL/esMqMGandQn0LI9yMQWAPcALw+kKpVSyahToxkxHQ9RxHxSkUQgAq5001ItaE57v5ZXYA7cMtPc3bI2HtSWE3WNGldiQjGnJ+0PEFIRDzJOSOOkEZdp/29uoA4J/DXzvOarBfsKdoi/fLWbkADyGlR7waW9b8B8wlDVBdET++7vWrsCnNrwWv/U6u/hakXrl3JPxsB3Jbin3MVAcU6AaArqbL+VxH4SkvK6qDeI7WdPCt588gVSuICP8XaPAQNYsFAXqiu0Ys+8x0ZYnT4zg6pXN8llUP2PMXelTPS+9oqFcXtl0gwQbSsQUCFVDoCoFgjGfOgFA8cqEQj3zq2viG2hoikDDkDOAc49xcEJRzfTwLD3QEHDV3Za4ndaq3uN1l5JIzD/uvvlN+Pu3dXpm8Tp6SiIAXHNBiyLXl4gpMGxZciJb8CyrLGIKRAfrt+JYLBwqMhYSmvtAnZmqMQWq+8ATU+BznkFrDgQtEqQHBOmDoGjbHc+d8czuOXer4BW7D/xjCrKmhcaogcKXfg9b336Zcky9eJH7dzxs+CoFSxujuPqCZrzjyuX40Z+sk++3xMNFMQWibc2xsB3cZFoeFUMoBXrFu7zlzk79lALAXgxKXwNAnldYcR84mS0h5s7iWuJhj1Lw5V8ekZ2qiCnwW+pYxbS451waPUqBaxSoaZhppaaAur26H0E6b/kOGMKQixoh3H3z9Z4aAiKm4NKlDfjM77xOHlcPHJtU5HT19xXGvTqgmxaXs/OLWuO+MQVi//GIG4gn3osaIVmCXKTwvrWzA3/2xtXO+ThGQTRcZIQyBrz+QvseWd2WQNhZBwWwgwvfsKpVTjZspaA4Lgf/f3tnHiXXVd/5733v1dr7oqW1WWpLlixZEtZivNtYEraxAQMyBEICISBDghMzJjYOZBIGSJAD2TPnWCQzmcwQDtgJM5nJhMQKIQlkErwQsy+2bIg3rK219lJd9eaP+3733Xvffa+ququ7q7t/n3N07K569erVW+793e9vg+4+MBUQ1R9Bcx+Ucj58T8ATyWfXjtk4M+4wCjT3wc2f+hd88P9+J/o+ch9ExdEopiAl0DAfeIaxGKckCsOQk8ddwwtallFXITAWQnGgoWkI07a10Dxujilgps3uNb34rdduyWzPSg9v0ZoMaWVhVzjU0R+ObPeB2yhIug80oyByH6g6AdGmgW+5DzSjQDdMKMJb/R5rAHY17iG3hvkbzQm+u5CD69kc0To16qoG4HYfjIxWUKmGUdGfZKqnjh1TMDaZ7NI3UM6jlPPxV+98ObZqMSBp7oNizlNS6VilquI5AODu64fx26/dgndFJa11pSBORUzGFADyGowYqWhm3ESsFFSR82SFyFEtHVCPEv/df3o6VgqU+yBbKZBGQfxbDPcBKQWTUikgqVwPLOvQVoJFR0rhuYlJ5/WPg2QFbtq0FB/at0G9tzRycdF9G2gttc19x8GU+iR8NkMpOP/xV+HJX77BHVOgKwVWsNo3fuk6lPOBetaOnZvA5Wv64jolZBREk5N+XYb7y+iNnrULo6BJ3Ti8cKCsrkGn5j4IPNOQjON6bKXAQz6Iu6VS9oE8v55qBAZII86+TmfHqw73Qfz3F757FL/+d7JomYpb8mKlILX3gU/BuH4itoDKHOsuoePnJox7pbMQGCm8o5Uavn/0rBFvQOeE9n9SlYxm9wEzS5Sj1ZrdHVGv1JWGPnnp/crp/9Ug6JBhC4Er0NB2H8QrUyMlMTJA7GIiur9vXb9Z1Mj237omFKdRYLkPektu1eXZU2OoRhHuQikF6e6DrFQl+zW7IVKlGiYkVN040ukqBGrlrisFxcBHR0EWG5L1KLTsh8DHXdcOq3OrurhNhgljwDZgekuBUYzIdB/E6tDYZE0FohKdhSBRp4A4q9wHmlKQEmion+cOR0wBKQUUpHpqrKL1Zoh/j0spSAtYK6j7JF5hE1Rm3DaSEy4trS30mEspiCaFWrQizfkeSjnfCOb1I1ebHlMgsw9MxUxftZ+Ngk11pU2fAAGzENGW5V3qnrxwsBz97vgm7S3l1DXoKgRqYWGrTK5Aw8mavC/0cuejlapSNHO+Z9z7wwPlxPPiUgrOjE8alU6JiWrNcBn2lfI4OVpJCTSU23QWAiOdGIjrFOjqjx1c2JH3DffS6bFJbPz43+PRfz+lfsP5CdMoiN0JOXYfMLPDQEfekDoJmkTtFYgOPSSArRTQKiF6kF1Kge9nBxpWa8bKVDcKupS/0jf8/3papG0UJJQCR0wBfbfxGy33QV85ea4A4NmRUVTD0DB0stwHR8+mGwX1sg8AM2IfiFfBNluWd+E7Pz6LkdGKYRQUAlIKzEBDHfouvcwxXQ9agdufo0I2NADr6Va6OjRWqapeEoC89lIFcQdxnpuo4pkT5/GY1gK3EaVAX/mTb3+iGmIiimkoBh5OjcZFY/TPus5JPaNA900TZHyQ0Ur3xUcO/wC/849H1HbnJ2KjIMt9QO4LI4BPi/Gg1W4caBgrBTRp0X1aCDw1eelGQUFTCgDTKLhkeZfqZbE+UgpM1TCnJvEuLSVZKQWqJ4g7+0DFFCj3QU1TCoRxbvZuWJJ4hs46jILJWmgYq4TeDAyQxvWxcxOp7gP5mwL0RmMmFUejQEN94raNAlspoBbTQFxd0lYKKFi8q+CzUsDMDndfN4wv/dyVidcnm3YfJIsXqZWRYx+lXFIpKCTcB6HmPohXGzR42ZHA+qBGueCArJlu+4Fd7gMgWSMgzj6IVxIuSCnQDZ2slMSjpBQ4VJTMiobRAPbjMxPGSjZNKbh18zJM1kL87feOmu6DwENH3ldNbYpBA0aBdj32XbQEn/7JS5VvmegpBqo9NiAVgd5SDjduXIKP33KxOj9ypSuUIdhVDFJbfANyoF/3sb/DYS2OwzYgwjBEpRoarjA90JBW7BOTsitiIfBUDAStpPXt46jzGgAAIABJREFUXRUJ09pQx0ZBvJokaAKhgZ8m8H946jje97++hXd+9gn8/ZPH1D0pAx/T3Qd2e2/9//N+bOyRESGzD8xAQ3om87pRoMXqqN+RN42CHat68DOXrVHFw9YPkvtAVwoCdW92acXL4sJo5nOvB26qQMMg7pZK2Qd0vHSe/vMbtuLgrRcn7hupFMTXie65jz78fdjohbsA+RyNjFacDazoGncXA3TkfTxx93X44nuujH6blzAKKJuJns2OvG+4Wf7lh3F/EbpflFIQjWWUfdNdzLVfmWNmYdJXzqOvnJxQ7B4ALgyjoKQrBWb2gUtt6CvnEpY7DZp69gENNno3srImTeoUIxm1Ug2xrj9u5HTZmj4c/v5RY1s7cIqUxUR/B6vMsUtVAYB/OnICS6P2x4RtFOgD59GoqElj7gNNKYiO55mT5zHUXVQ58QMpCsblF/Shv5zD//n2j7F1KI7SLuZ8lPO+kiddUjk1Z3LGFPge3hJlqOhQvYqR0QpKOR9jkzW8cfsQHrh9OwBZx56QMQXyxHcVAmfkPuEapG2lgMbMtJgCUpIqtRomJmsol3IyW2JsEsuqNQhhnnunUlDPKFABevFntyzvwkdv3ohbNy8DkHym/virP8Iff/VHRgyKUymIblm7aRcAoxcFRdDrdQrspjoqxdb31L2oP8N69gEQ+7Y//qqLsX6wA7/xqovRUwzUb8pZCwTDfWDFEtjjgW6wS/eBl3QfaGMDPauv3bLcUJvi81VFZyE+f9cO92Ndfxm/9+Wncd+eDca20iiIrwdN4HoZcvucfOSmTfAEsE0ziH0PmKy4lYKh7gKOnZtAZ968x/VtSVmi+7zbUgq6CwGeZaWAmUsmHRKljX6Ddzt8+2T9ep6AHevYX86rffcUA1TuvwUd0faG+8AzlQI9poC+U8mTfmwwUFrdYEceeV8kyhzr7gOjLoG1iqG/aUDrdRgFgSfwuSeex9FzE6b7wAo01AeBoxkxBVlKAQVV/fDkqCqCQ7/The8JvGL9IL7yzAkrpsBDRz5QE6lLKaDjM42C7OGGAtBORZOIHcToG5K3iFNhC0Ei2FX/ba4ytXf/5bfwzIm4UBDds67sA2rZC8iV6fhkpBRE7o5KVcZL6Pe763jS3E5FLfsAgLqX6Td/cO9FyvhOU9/IEJcVFh1KQWgpBda5lK/J6ypjCuJjo8/E7gP5nqkUONwHSimQ558m53UDZTxw+/ZEzA0gDUOVfVBMDzQk7N4H0n0gAw2rNXmt9EBDgvZnP0PHz08YRbDyvoc7r16HSjXEg088r16nIla2UgBAKSE6tN0NGwZx/fpB4z2pFJiBhnReV3TLoOeOvO90pQK6UiCPW7kPRifU35x9wMwpNIFlTQL6BGlUNNRylAnbuOgv54xIZz0YUbkPaqEadJwxBZaP1hdC+ZB7Szl88T1X4Fu/dD1yvpfIsx61fN00sNR1HzhW5O98+RqMT9bw1999yVIKokBDKx0MiH3Trlz4etkHgGx4M9QdZ1i41B5i9+peHDl+3hjoClZ1NpdSQNuNT9ZwbnwSI2OTzvRSHVptkgqkV0sEYBhN+iqv0yrT/JZLV+Lr778O4SdfjZev6cW5iWriGI+fr+A//W0sCdPEpxs4ZBR0FwN1XinQMO97qq4CqSD6fehSCtKwYwrscrg6WYY2QNkH6YGGemMqQsUUBFpMQUb2Af3OvC+UgaoHC+vZB0DsPkhr8mRnIqnsg7zLKDB//9dfOI2/iNoXG3UKqjUVcBkHGiaNbtso+OaLZwxlKe972L6iG1uWd+EzX3tOvU6Nj3IOo4C6pxq/MUPJooqGVadSIJ9TVx8YgoyvUVVEy3YfBBxTwMwtjbgPbtq4BHdfN4x9Fw0aRYSUUqCtwO2Hob8cS+32JEj1D8Yna8qy1gsCdVpGBw0OvifUJNBbzOEV6wextKuAwMtWCgyjIM19EP23uxAkVI9VUfrjmbFJ6OMdnTr6LlcDnEbcB66YgmotNIwCO2hTZ/dq2W3yK1qjqGLgGzEYrvQ7+r7xyRr6fuUL+IenjjuNGB2KLRkZlcGG45M1Y5JOKAUUvBX5aYnfvW2LSq3sLAQ4Oz6JtVbwKCAn7lOjFfzhl59Wq0AyHnR3QHcxUKrPRFRCO++bMQWyg58w9t0otvugI6Nccn2joGpkVpybMJWmrJiCnOepXPvYfaBlH1jPdSHwlRzvyj6w23GnGY8J90GQXqfAvr+/9txpvOG/PYp/fvoEJqNJmgqj2fE4+v2nB0sSW4e68NypMdUKHZDXRAiBS1d24xmtmNDIWCXVfeA0CjLufapTYMQUnDPLzHfk/cQ+7tuz3vibYiHoWpwwjILUr0/ARgHTcvZvGwIA3LRpaeo2ge/hE6/Zgr+94wpjhbWss4D924bwivUD8bbWQNhXyhntkHXoIT83MRmnJNK2UcqVXutfdy2QbKkrFznfS03/ou+LjQLLQAnMAc3zhJLICRqwxqs1IxuCygG73Af2bzW+0xo49IqGRuBcRqVKnZ2reiAE8MTzp9VrxZxnZIxkKQWy3n995QiIs1BOab0ditq+7ZK3Rc33bLpxTBfAuYmqYTQQL50dx6cffw7v/fw38Y7PPhH9lihg1Y9L6upNe2SdgmrkPpAxBUop0I6vnLHat0koBRnlku1zmPMFnrj7Oty0SVY6tGMKiDjQsH5Mga0UVFW1vbh/hTxeLXvHkX1Azxi12047J7ox1VnwDfeBXejKdR0B4ENf+C4qVkXD88ooMI0uwDRsiF2rpAGs92Cga1LwfcOtcGpUVhW1sw+AZLaS3E+6MZeWfVDO++qZ6MzH5+JP3/wyfOee67EhCtSk652sUxC7D+p11dRho4BpOVeu60f4yVdji1VCtBEC38ODb9uFndEKFajjPrAGSRqQzo5X1YMYKwXyv+++4gK8dstyY99kLAhh+kdzvjAe1tNjFTyv1ZkvBJ5asaanJOrR1aZRQCvhMEQioyLwYqOAjnNlT7zCt5UJIBnXoMdl6c2phroL2Lys0xnnoNNTymFNb8l4rRh4hlyctiq2ez2k+UTVd1FMwVhF+cUN94EViKlPPvpkod8TpBTQQP2K9QN49K5rcNmaXjx3agwvWZ3o1KoyiGMEugqm+2BkdBI9pQA9xRxOj02qmAJ9ok0zlFzQ/UP3a9rER79bZ3VvCdtWdOOv33U51g92YLRSc6ZmNhJTIFMSZVMfPdCQPqfcB45Ve49LKbCyD9LuE/28CSG07INkSmKaC+LFM+OYtFISSU7XAw0Ju3kbAOyKxpxRq7w2IJ8rvYz2qbGKTEnU9jnQkf4suQx4IvC8RJ2C4+cr6C3mlGrUUYizD7YOdWPTsi5lhJAxkKxTUFF/N+E94OwDpv1xuw/c79FDenZiUpUw1cscA8AnXrMlsW8ZUyAVBM+afKg7nhACmw7+velf9z1MpCkFjnK+feUcno6VeGPysGX8wPMwGsoB6sM3bkQp52NNXwl3/+W3nd/nek2PKVjdF0/uQ91FfOP916ORsaKvlDO6FxYC3zCcUgMNfdMocOV665CBcvJ8RfmDswIN8ylGgX6+9Xa2+7cN4cGoi+XFSzvxxSePKZmW0KVmVYmyGEd+nx2v4sz4JAY7ZNfEM1HJaVspSDsnLmz3QZbrwTYKdIOtGHh1lQJXvE9cGIiUgklVTEs3huw6BSrl1xPGMW9a2onVvUVVjbFeTIGt9pUd2Qdk0OtBmDqjFdkRUroPRF33gTJstNdW9chjfulsfE/kNRVHT8ulqqL6PguRW81VjyLTfeBQCkZGKxjqLiiDpjPvJ8YTMqLJGHDVKSgGXmY8gwtWCpi2J9N9YL0XKwWTiUA/lz9WVxE68kGi1wM9gDSo2pHFzbgP6Nh1SimTnv25wY48fue2SwzZ32UULLVqudu/mAaZ5V0FeJ7IjCcg7L4QUimo7z4o5nzDKHjB4WvV6Sz46Cz4eP70mPqcPmjbgYZ6QRg90FD/TR15H5O10LgfAKm4PH96XAXKxcccX0uaBLo1pYDq0Q+U8+peOXF+AjnfMzID7HOSFWRZtCatrNLi9j2sF9qSaZxVZ7XGpPvApRTE7oPJmiymRfd/Jeq6R42JgFi16ioExjHfsnkZfvQr+5SadLKOUmD/3ps2LcWHb9yI7St6lGuRDPpi4CXicoC4r0TsPqipyTJWf+IPupSCfOAlamfQNbEn9VNjSfcBkJ7JUy/Q0M4+AMxCTh35ONCQjAMKzKWqobFSEKeClvN+QoGsBxsFTNtjD6hS2k36CQHTfaAqGqbEHwBm9sFtlyzH23atdr7/Z197zlnqNNMosAINgaT7wDAKbPeBnxzE9M+7jIK37VqNR+66Rv3tWfv8yE0bAcRpl43QY8VByJiC+LWslES9YYsrAEtHCIFVPSU8e2osdh8YSkq8bc4XqpWvrRQYxxod22kr+2FVbwnVWojv/Pissb2+qiRlQ88+INfRYEdenYNj5yaQ84WRQ29PgP0ZGR5xmeP6g7cef/Oml63Ah2/cqH2n7AWhZ8cQcUVDh1KglZ/WAw0DTyijm9wHulFy6coeAGbFQh2ahEdGZQlwrwEDFJAuq//4yotUEyMgfg6FEE7FYbRSdbgPrOyD6Hd6IjZE9Gco5wlsX9Fj/oYU1+ApR6AhkGywZO/HhSvQEJAuGaUUFHzDeAOALcu68LZdq/CZt8omZucrVXgiNvxHRiso55LVX+vB7gOm7XF1W1TuA+uG190Hrt4HyX3HMQVv27068T4NJG/7zL+hEEnK+sNbDHxVPc1OSYyDpOLv1VsTA/XcB/Fx0yCmByqmlTleq0349k9+37XDeM+Va5uKjk8qBX5DSkHB9/DimVhZacSvubq3iGdHRpUxkZp94MXV6TotpcA4BjISJ6qGAbkqWuV+/YXTxvYqKM0XSgbuKebUBPd8pBQNduTVivXYuQl05APDiLOD6gbKOfz4TDJ/XYhkB8As9Pv9mnX9hkuolPNxclS6Xjxhnu8wpKqNtcR+bKWgWgvxhe/JFFmlFNRqatIlyChIg54HKkY1Fa5ZN4CvP38a777iAvUaqRk6pvtA3htffFJWsNTjRABzPGlYKbCetZEo0LDPNw3m4YEy/p9WbdDejwvlPqjaRkFOGbud+SCxyAh8D3/y5kuV8TNakSm8+jNTzvvOcS8LNgqYtidL9k9TCowyx1ZMgWvfaQ+OPqH/9j8ewZq+kqoESN9XrGYrBfq+P3zjRizvKuDOz38TgK0UuI9NPwa91kFaaV998rSlWRnI1dwAbSsFBct9kJWSSOVaG2VVTwl/8+JRJYEbSoEwJ7KJMeqQ6KcqBXoapr6SX93rVkriFtw+Lloio7svv6BPfZbUjsGOvDIOj52bQG8pZ1xn+xyn9ZfwhXAaBYfvuBxLHKtO3fCw77dSTrpeRis1lPO+Ss0lqrXQmQkSy9KeUjS+8cIZlLU0uEpVrmT1e2ubNYHa0LM5MlpJuLUa5c5r1uHOa9YZr9kGlx/F/YxPxu6Ds+NV1c3QDjTUH5u8dR70YFz5G9wG25888u946ex44j4aHjBTX3uilt5pbgVACzS0lYJSgPWDHegpBrhoSUfCfRB/3nSr6fdFR755pYDdB0zb45JV9VRCHUMO1AqUeCJFKbAMh8T72uv/+qMRZZWTb193H9gGist9oNdDsI83rR10mvshzU+p76fJ8cBJTykZU2BG2qdPyFQKeUV3EX8eBfllsaq3iBfOjKk+Ael1CuJStnZKon0MhO5T1gfvFVrNBt3//LqtQ/j2Pdfj9duG1Lkm98FAR14ZRqfGpCqlnxO7omF/SpaH7wmVNqpfzz0XLXFOummrXDp2mX1QRTHwE8dQ1ZUCV50CX+CtO1bhNVtk+eHzE7ELrlKtRe6D5HVPc3vQ8U3Wwropmm/duRKfun1b5jZqv9YETc/imfFJBL5ITJq6+gOY59CLjAh6f9PSTlw4UFYGYd4xEb/pZSvw3ZfO4sT5SsJYGO7vMP5+5cYleOaDew1Fx8b3kOI+yGFtfxkjH7sZm5Z1KXXHDq7Wx6i8VukTkK4TjilgFhwqHSnv4+ao9gFNELbP3Lb8AeBndq/G5356p9OnqccUuLAfwOPnKnjPlRfgf//sZQDqVDQkX7H1vbY/V3dh6NBAqn++XkyB/Vvs8zMVui1p3lYGsuoUUHrX7962Ba+P6ldksaqnhDCEKkGsT2xCCMP/ToGAWTEFBetcq99UzKE/Ul2GuuNVbMkqOXzxsq7ob3ke9UBD3Riysw8aVQoCL46NqJeyCdjFqJLXYVRrZ21fp2otVDEF+sSo6hT4HrqKAd537bD2u+R7E1HKnG1YP/PBPfjhh/Y6j7VgGI7ZU81/f8sOvPPyCzK3sY+JIKPg9FgFOc9LTNS2+8B+zvTW1fnAw5O/vAfvuGyN/Iwj0PAtl65U18H+LmoHTfhCZBoEgLvMMYBE0HM+ZfEhhDCUU8MomIJSwO4Dpu2hQeAHH7gBKyJfsJ8ykRorw2ggX9VbwqoUudhOeUp+t/n6RLUW9aGPXQYTdd0HVqyB5c8ln6JtmOh94Al9kkxzH3hea42CnkRtBc/6O1u6B7Jz73VWRxUenzwWGQXWZLKsq4AfnRyNikrFVffqxRQAycF0oJzHifMVrOgu4jGcMr4v7VqeHa+qFEUzSM3LNArSAg19zShoZPA2Glw5lYIqTpyX7gw7Na5aq5N9EO1PV1F0pWCyVksc4wWOSpFE3lqxtgr7Oi5TSkFVdUnUoYwflzsPkOfxzLg5wdvqn30f9RRzODlaSYwPtvugkWsqyxwnC5TZQckqIDRlcVOtSZcpNSObqNZkrAu7D5iFhsvvr6oEJlooJ5WCRvadphS4HqiilXFQP/sgQynQUtnsAYQmUv3zWZMCof+WFtgEiRWL/b315GMAqZO2DRlv3zsqswJsg4NWhTkvVgooQK7eMdirOqdS4MhpByKZP/qZ5B8uGveaMK6rPQmmdcj0hVABgc2u6NKMgudPj2FlTzFxTqphdkwBTTore0qJ9yrVENVa/TLLacc31UBDF/a1oXtiolqL3Ade9J0eap+4VSkmqmtqqlIQv07X1hVomPOEmrDtYxnqKhp/N2oUTFRruOWPvmq8nkyPlvega592ZgL9pqlkH7BRwLQ9roC72H1gbqs/pI1Ec8epTtnb6d9dyvlGFcOCHwenGcdidUmMXzcnE1ISUt0HKb8jSHm91TEF3XZKovU70/Lq9QDFRpUCGVAl8KWnjgNIyu7KKNAMgWLOy1AKTIlfh4I29VV87H9OSrT0GhkF5r5tpcD8fKoBpykFzao6SaNAumueHRnDiu4i1g+a/u3JqHuoPF6XUpA0TuOURKkUNGMU6O6aZso+192vdR312h0UaAjI3H793rQDjwm7zDSgd65MBhrm/LjMt61KeJ7Af33Ty/COy1ar46lH2jZ2gG8+8JQSkNyHadiQ4sV1CpgFiV5xjaAbPVspqP8w0ACR1kWMSoVe0GcWiaHVR8H36yoF9kNvuA/0mII090Gzlr7Q/78F7gM7JbHBEr56AF9Wkx+dQuBj21A3RkYrGB4oK2mYoL8DT+DP3roDH7/lYlyyvGtKSsEly2Ugn5le6Sc+Z39+oOxWCoyKhtbK2DUJA2QUyP9v1oCz3Uc0kb14ZhwruouJ9NdqqJc5TsYUuIxPmvQqtVoi+6AenifUb51ZpSC+z2TAp/xO+57Ich/QZ+3XXAZDzhfKpeZaeLz9stV4+Zo+AA0qBSnjlB3gu3FJJy62rqnah5XBQpU61/WXU/efBhsFTNuTpRRkxRQ05j6Q27gaDgFxC9ML+sxysq1yHwTaZJJ0HwQN/w4d0XL3QXrBpSz0Pg1ZTX5sqDPjVWv7E+9RR01PCKzsKeHeG9anFrQBso3Ej968EX/8xu247ZLl6rVi4HYfyNfk55X7IGdOrLaapKPHlegGUtBipYBY2VPExUvN3iMy0DC7oiHxuZ/eiY/dvEkZpBOToSpoNJVjtBuBTYeEUaC5f3q0QlO2OpEaaOh4TouWYpS3jMteUgpSJtx6bklzW/fzbT93P3fVWnzt7usyv4+Ok4az12xZxkoBs/CIYwo0paBF7gMaCNKMgivXSov/ddrEUcr5KOdkyld/Ode8UqAPyF66UVB2xBQ0S0uyD6IBsBh4+ORrNmPfRYMAgB9+aA/+9RevTv3cip7mlQIgNgquXpc0CsidcGrMrKKXVi0vSykoBD7e8fI1hjskH8gqeq50T3qNjAJ79Wim65n3hH4N9RWs7j5o9krZ95vuLljRXcSmZZZSoKW9uesUxEdw+/YV+OW9G8ziRVMwCijdklqEtwL7eaAeC4CM3YhbUDenFGQGGlrni1xqaWNMWpyQc9sG3QdZuAw7ANiyvKu9sw+EEPsB7A7D8N7pbi+EuAfAEQD9ABCG4aFWHivTPuR8LxFgQ9avbQVP1X2QZhTcfPEynPn1m40e66Wcj3zg4at3XYPh/jJ+80tPye+2Hkia1O1VY2qgYQPZBwDwB6+7BP/8TLJqmotWug8mqjX8h+suVK+v6StjTV969PkKbQXXaEwBIGvnv3rzMpUvr0PSfaNFkRpRjpJZBJ7TfUCfJ6OAUiRlQyR39kFnXvZ/0OV6o/OjFmjYaBlg13EDwJWasrKip4gLrUj4+nUKXL9ZvnfLH30Vy7sKWNKZXoTHBdWb0FWj6UIT3x++fis2L+tEXyk+pt5S3ObaNkTjOgWNBBqaipFe44LKQcvXU4yCFEPfhauBFZB0H2RhxxT8yU+8DD1FGVPRlhUNhRB7AewAsA9yIp/W9kKIgwAeCcPwIfpbCLGf/mYWFrIGu5d4DagTU5Aiy+lQBHqW/dBp5cHTKnBrVP0sTSkY6Mjj82/fhVesHzReT6Ykkqxpfm9HJLnbh/bzV6/Dz1+9LuNXxbTAe6BWRc36hYe6TV9voyzrKuAvozoQNqQUHD/nrrdvUzCUo/pqQuBLP7jbfRDFFHSYtSKoS6LniUT+emchwPHzFcOvaxezit0HDf0k53HL44onx5U9RfSV87hybR868j4e/v4x/OrffE8V5XHFFLh+s36sL54ZNzI1mqGVRgEdU3cxwPXrB/GDo3H/ir5STk2MtkvJLntOKKNAOycre4oQIo6LsQMNad9pE27aosWF3WSNsOuDZGHHFOgl29tSKQjD8DCAw0KIAQC9Ldj+gKUePAzgXgBsFCxA7A50gOY+sMYxw/cX1H8Yfv91W7F5WRdu3Lg0czt9gLGDyNKMAgC4bWuyYE9CKUhzH0TfU0lRMRqhFTEFvifw26/dgj0bButvrNFsLEQjUEyBKzB0z4bBRJnaLPeBa5vAE7jr2mHcsD75W+2YAkCu+k8j6eKibn7Udlo3BPXj8IXsSwA0r+q46kOs7CniuVNjqqzwV+68Gp9+7Fk8/P1j+NNHn1WuoLSKhjZ2kGuzE4x+XK2CrgOpHrqx2lfO4WQUHNy4+0Cm7elKzcalnTj64RuVoWUYBZ5QCwO9nbJOkKJKuLAbhQWeQDHnpWYXuUhzHwBtahS0EiHEDsfLJwC4y2ox8x69WxuRNpDqK0N7he6it5TDfXs21N1O7+OeSDdzVD3LQl+xBl5cjSzhPogGtUrKwNMIWW14m+EurcrdXLJ7dS9+7ZUXqYpzOofffUXitam4Dz568ybndnZKov7ZOENGIIS8X/7qZy/DU8fP487PfxM538Mbtg3hz7/+gqVMeC0LNASAR++6Bt968YzpatP+//TYJHpLOed5caoj1nekBcXVY2V3C42CwJyQDaOglMezI3KSTTMKXEqBS0XSlRdzseGpZ/P8hFv6T0szdrFrdQ/+5zdfVH+Xcn6iCVk90rrGAtkqqHNfzW3eFvRDGgE6IwAghOgNw3Bk9g+JmUkCTyQG9LSBVLf2tw5lN2xpBlr5hWFSRs9SClzoMqbu80srXlSpTl0pWGh4nsCvau2C65FV0ZAwimJljKBxoGEsoav+FFqBLbpaN1+8DA8+8bx6/XM/tRO1MMThHxzDX337x/iDrzxjxhRM030AAMu7i1jenV1AZ/uKbsNYtCsa6qS57ZolrczzVKBjoudCN9L7yjnVPTOZfZAMWAakUV9P1bJbLNMYQGW8bZqJKfjADRuwZ8MSXPF7XwZArcmbNApI7XF8X7OGXOv1vZmnF1FwoQYZCclwZWbes6avhDVW/XDqD+/y2f3+6y7Bv919bUuPQU97s2Xb5o0C8wGu5z5IkyjnA4+/71r8nWMFP1sYBYZSBmh9gsya9OI6Bcn+EzlNmja61mnptJ4nEPgebtq0VKlYvgdsG5Kpg+sySgZnHU897GfEbg9MwXlLHUGEtkthqu6DVilWQFwKO86K0ZWCHF67ZTl6igHee5UZd5OVfVDvXNoxBWQUnE8JEmwmJdH3BLYuj9NHSzm/qcwDIL7PnErBQncfIFIFLMgYsBUEAIAQ4gCAAwCwZk1SdmTam1/ZdxHu27PeeE0pBY5n+b0NBuE1C/Vxt90H1104gJ/csTJRQS4NuxhTavGiaKUzMTl/jYJLV/XM6ff7kXumWgtTlQKdrBVjHGjoch/EEfxksOr7s1druiH4i9cM49rhAexcXTfcyqDRbAV7EtxuKWj95TyevO8GI4WUyOrI1wjFwMNYi+/f919/IVb0FPHWHasAmOehpxhgoCOPkY/dnPhcWqDhvouW1L037PRTUvHGU35bM0oBYKqP5Zyf6HtQD1f7baLZ0J75aBScQDL4sBcA0lwHUbriIQDYtWsXa7HzDDmwm6vz2hSDs6ZDWorhmr4y/sdPukJd3OirRyB9AFHug2kEGjJy4j4/UW2oMmSmUhAI9BQDd98AzcAT2uVKK2Clx5F4nmjaIGgG+75ytWRO6+RnH3ezRsFLH74RIVp7/wa+h5/etTr1vTTSUhLfvGMl3rxjZeZ35q3skTduX4EvPXkcH3u+YZACAAAP0klEQVSVO/4krlOQuVuFbtjcf+vFqQ200qDfnZY105H3ca7RfTX1zW1AGIaPCyHsyb8fwOG5OB5mbqjVppbGNR0o79nuEtgsiYmEVjCJOgVRfYB5rBS0AwXfw3lUG1QKst0Hg5ZvnO4/5QryBYR2ua5c24f3X38hXn5Bn/G5ZleS00H/jt96zWbsWNm4emMrBc0eb1eTvvGZJJ/ynDX0WStDJed7+C8/8bLU7UkZmkpg5q2blzXtbondB8nPXbG2H2d/41UQH29sX21xxYQQwwB2NFFn4JBVl2AfgAdm5uiYdkR1lptNpSDnVgqapeGYAqUUsFEwHVwV69LIGsR/ZvdqvHDGzCn3leoT57oLbWXcUQjwm6/enNiX77lXrTOB/oy8Tys+1Qj2OZuN450paGJvthcAYLqJGpmwm4kpsJlK/EUcaDj9MMHZKl60AzJlcD+AfiHEUwAOh2H4eLTJXgC3I6ozUG/7MAzvFULcE1U8HAbwFBcuWlxUVUzB7A1SHSnug2aJFYIG3QecfTAtXA1v0si6nVw1J8h9pVxBDU44ab07ZoLpfIf92XltFExDKchqGuUivr5Nf9WUyEpJbHpf095DA0ST+eMA7k95X/n8G9k+2ib1PWbhU8vIPpgpynkfed+btiGiGjwpiTEl0HABZB+0A7FSUP+6NbtK85VREF/LsAEbbjoryWahiWk6PTTifbWnUfD6rcsTHTVt8v7UlQIvyipptGPpbLqHgOziRc3SFu4DhmmW6pzEFPgNtw3OQghZSjcZaGhuR+6DRiYZJp1mlIJmsWMKcr6HMKxvxKkyuFO4gfduGMQ3XzzT8Pb0Xc00pUpjqsWLZpo/f/vuutvYz1uz5IP69QyI2TT69O9rxPCtR3teYYapA60KVve6o6Zngo58kNqit1lyWsEUFWiYUqeAmR7NxBQ0ix1TYNcpqPe5qRgFD7/7Crzwa69s+hg7m2hKpRN+8tWqM+a8dh8EU3cfAPL+afQemm2lIGjSvZG5r2nvgWHmgJ/auQodeR+3XZL0884Uv3D1Oty8KbtHQqPkPIdS4KjO+OrNy/COy9zpV0xjUBnqVsjnNnZMQc4TqDXwPXGvhNmLKWimU6UNFYFqV/dBI0zHfQBI47LReyjwTdfgTMPuA2bRI4TAG7atmNXvvHRVT8uK8eR8LxlT4BhA0roFMo1TsNrgtpKEUuB7aCQudDYDDYmOJrru2ZDaMq+VgmkEGsrPJ8utp9GZ9yEE0NXEOf/ye6/CN144PaVjU+6DBprA1d3XtPfAMEzTuGMK5u+A284o90ELIrNt6JLRNVzSkW+ogt9s+pypac90lIK0EsHzibh40dTug7zfuFKwvLuIr7z3Kuxc1XhRqqvW9eOqdVOr1J9V0bDpfU17DwzDNI1smWwWOJnNTIrFhAo0zJjQlncV8OIZd1/7LMiQo2DQT71xu8qMaeRzs2EInmuBUUDncD4brtOpU0Cfb6YOwBVrZ68VT1any2Zho4Bh5gB91RGXRJ2/A247U4g6XGad3+/c+wqcHZ9set8UU0CGQKM169PaZc8Em5fJZjtvTykN3AgLwX2Qm7b7oHGlYLYJLDfWtPY17T0wDNM0Oc0/ye6DmaUQrfCyahD0lnJNN6EB4gmm2mR/ChVoOAuTzLqBMmqfuHVanQoXglHQikDDdlXzWpmSyEYBw8wBm5Z2YjhqlTvbOc2LjULgtSQAywXNkc32rFJ1Cmbpmk+3dXEhJW12PuF7Ap6YnlLQrj9fuQ/mS0VDhmFM/kIrtsJKwcyysruIoa5kW+BWQNes2mSFqbnIPpgOCyGmAJBtoqeiCAHAB25Yj3a12znQkGEWECrQkEuJzQgf2LMev3DNuhnZNwXvNTtXzjdDcCYyN+aCr9x5FZbXKYecxi2bl7X4aFpHHFPA7gOGmfeoQMN2XYbMcwqBr2oVtJqDt25GTzGH27c3VzNjNgMNWwFlbjQbO9FuXLSkc64PYUYIuHgRwywc5tuqkYnpLeVwv6M1cj3m2zX3F4hRsFChVMlWGAULQxNimHnMfJsgmOlD13q+RPNPNXaCmR2UUtACNw8bBQwzx3D2weJjOl0S54JAKQVzfCCMk7gdO3dJZJh5Txxo2LoJ4ooL+lq2L6b1zLc4EjrOyRpbBe0IpyQyzAJiJioa/vMvXN2yfTGtJ1YK5vhAGsTjmIK2pr+UQ+AJdE+j6RXBRgHDzDHsPlh8+FHr7FJuZrIiWg27D9qbN2wbwvYV3RjsnFq6pQ4bBQwzx3Cg4eJDCIEvvOtybB3qmutDaQhVzpkDDduSwPewaVlr7iU2ChhmjmGlYHFyw4bBuT6EhuGUxMXDPPFoMczChSsaMu1OwEbBooGHIYaZY7h1MtPu0L05yUbBgoeNAoaZY9h9wLQ7lyyX/uobNy6Z4yNhZhqOKWCYOYYDDZl255Khbpz4yI1T7jDIzB/YKGCYOYaNAmY+0FfOz/UhMLMAuw8YZo4JoghDdh8wDDPXsFHAMHMMKwUMw7QLbBQwzBzDRgHDMO0CGwUMM8f4nH3AMEybMKuBhkKI/QB2h2F4bwPb3gPgCIB+AAjD8JC1n2EADwE4AeAAgIfCMDwyE8fNMDPJ+oEOrO0vYcOSjrk+FIZhFjmzohQIIfZGk/wdAHob2P4ggCNhGD4UGQMXRoYA0Q/gIICnADwdbcsGATMvWd1XwtMf3Iu1/eW5PhSGYRY5s6IUhGF4GMBhIcQAGjAKAByw1ISHAdwLqQwQfQD62RhgGIZhmNbQdnUKhBA7HC+fALBXfyEMwxEAI7NyUAzDMAyzCGg7owDSNXDCem0EAIQQvZExACHEgWi7fgC9YRjeP6tHyTAMwzALjHY0CnoRBRdqkJHQD2kgHAZwQjMQHhBCHNCDERmGYRiGaY52TEl0uQTISDgBAGEYHiGDIIJiDpwIIQ4IIR4VQjx69OjR1h0pwzAMwywg2tEoOIFkMGIvIOMIhBC9QohQCKFvMwKZougkDMNDYRjuCsNw15Il3OWLYRiGYVy0nVEQhuHjSKoF/ZAuA+J+SykYhqxpwDAMwzDMFGkLo0AIMWzVIThk/b0PwAOAyjo4bu3idmS4DxiGYRiGqc+sBBpGaYZ7AewH0C+EeArA4UgVQPTe7YjqEIRheK8Q4h6tcuFTYRjqNQoORcWQRgBcCOAB632GYRiGYZpEhGE418cwq+zatSt89NFH5/owGIZhGGbWEEI8FobhrrrbLTajQAhxBsD35vo4FgGDAI7N9UEscPgczzx8jmcHPs8zzwVhGNaNtG/HOgUzzfcasZaY6SGEeJTP88zC53jm4XM8O/B5bh/aItCQYRiGYZi5h40ChmEYhmEALE6jgEshzw58nmcePsczD5/j2YHPc5uw6AINGYZhGIZxsxiVAoZhGIZhHCzG7ANmGkQFpXaHYZioIBkVlDqCqIGV3bWy3vsMwyxchBAPhGF4h/UajxltxqIxCvjmmh5CiL0AdkCWnE70mRBCHATwCFWWFEIcFELs1//Oep+Jie5VANgNec7ud7zPA+k0iBqqHUBcFRW2ocvnuXVEz/8ux2s8ZrQbYRgu+H8ADgLYn/Y3/2v6XD7geP2k9fdeAA83+j7/U+flAevvxwDcY53/1HuZ7/WGz/NBx3k+wOd5Rs71cHR+HrNe5zGjDf8tlpiCA6FpXT4M4I60jZnmiHpb2JyAfIjrvs9IotWr3SH0AQD3aX/Xu5f5Xm+M/UKIA9rfRyBVMILPc+vYC3l+FDxmtC8L3ijgm2tW6Ic8pzojgJro6r3PSPoB3COEGLZe7wV4IG0x+0JT7h8G8AjA57mVRG7Hzzne4jGjTVnwRgH45poN6CHWoXPe38D7DIAwDI8A2Bn9l9gH4HD0/zyQtgj9HNMkH8axG3yeW0dvKNvdJ14HjxltyWIINKx3c7luWKY5XOeQzvmJBt5nIsK4nThNMHsB7Ixemu5Ayve6RnR+3wjZtv1d2lt8nltAnaBAHjPalMWgFPDNNfOcQCRxa/QCQLRKqPc+4+ZBAHu0VS0PpC0kDMORMAwPhWG4D8CntBgDPs/TJHKBZT3bPGa0KYtBKeCba4YJw/BxIYR9LvsRyd713meSROlYB3XlAHXuZSEE3+sNIoSwZe0Hon+HwOe5FewAMKzFX+wG0BulcT7EY0b7suCVgmhQ5Ztr5jkUFTYi9kEOso2+z0RE5+nhMAwPR3+TzzvzXuZ7vTGi4LeTLv9/ZCzweZ4mYRg+FIbh/fQPMvtgJPqblC8eM9qQBW8URPDNNU2EEDsiK38/gDcKIe7Ro7BDWfhlWAixP9ruKd2fWO99RhJNWP0AHhVC9EYy7Ju0TXggnT6PAjhkrer3Qa5g6TU+zy0icsvcDvn830PGGI8Z7cmiaYikVR8bhrRYufoY01ZEg+VJx1sPhWF4u7Zd5r3M93p9IoOWUggHgMyKhnyemUXDojEKGIZhGIbJZrG4DxiGYRiGqQMbBQzDMAzDAGCjgGEYhmGYCDYKGIZhGIYBwEYBwzAMwzARbBQwDNM2RPUwDlptjRmGmSXYKGAYpm2IqgUehyx2wzDMLMNGAcMw7cbj9TdhGGYmYKOAYRiGYRgAi6NLIsMwTRKVXL4PwCOQHe4eDsPwcNSb4SBked+HITsK7oasS3/I+vyBaDsAGI4a4+jfcTDa/wiAXruuffRdgOwrYO//HkhFoTf6/s9aHSUZhpkCXOaYYZgEQoinAOyjjnbR3zuj1sH7Ids6X6ht/yCAR2jiF0I8BmAPNRiKJvjbwzC8Q3v/XTSRCyFORts/Hm37YPR9R6gnRBiGItr2AIATZERE259go4Bhpg+7DxiGMaDuf1qLW0Cuyvdqfx+ByQOQyoJa4etdCKM20Aeizo87IJUDfRLfaf19gr5fMyyo1fERAAeFEAeEEMNhGB5mg4BhWgMbBQzD2AwDGBFC7KV/iGX+NI5ASvkAsAPSrWAzAmBX9M8wKiwDhLZ1EhkYdyByKwghHtMMBoZhpgHHFDAMY0Mr9MPaa4dTtiWGEU/kRwD0O7bphRZjMNWDE0LsjY7tcPT3Qcj4hfszP8gwTF1YKWAYxkDz1auJW5P9CXtSvwPAvdrne63P7wfwUBiGR6IJ/YgWSAghxLC1/yx26J8F8NkGP8cwTB1YKWAYxsUeAPcJIR6hF6zsgCPRRD8C6S54WM8OALBT+3w/ZHaBXpBoD2RcwDCkq2Ekym7YAWlc7IgyDA4hilWItj8YfecwxT7AkdnAMMzU4OwDhmGaIpqM7wjDcN9cHwvDMK2F3QcMwzAMwwBgo4BhmCaI5P07AOzipkUMs/Bg9wHDMAzDMABYKWAYhmEYJoKNAoZhGIZhALBRwDAMwzBMBBsFDMMwDMMAYKOAYRiGYZgINgoYhmEYhgHARgHDMAzDMBH/H5bs1ci6x0MsAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb712603cc0>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "uJ6hZJ-P6W53",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"js = tfp.vi.monte_carlo_csiszar_f_divergence(f=tfp.vi.jensen_shannon, \n",
" p_log_prob=p.log_prob, \n",
" q=q, num_draws=50000)"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "PbIgUhaY6W55",
"colab_type": "code",
"colab": {},
"outputId": "8e9ab4be-7081-4478-c6df-8da58b2e0ad0"
},
"cell_type": "code",
"source": [
"js.eval()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"-1.128503"
]
},
"metadata": {
"tags": []
},
"execution_count": 51
}
]
},
{
"metadata": {
"id": "Eb5ufuDJ6W57",
"colab_type": "code",
"colab": {},
"outputId": "7375a0ba-c7e5-4aba-f410-f7d0043b8d09"
},
"cell_type": "code",
"source": [
"g = sns.JointGrid(x='index', y='loss', \n",
" data=hist_df.reset_index(), space=0)\n",
"\n",
"h, w = golden_size(10)\n",
"\n",
"g.fig.set_figwidth(h)\n",
"g.fig.set_figheight(w)\n",
"\n",
"g = g.plot_joint(plt.plot, label='binary cross-entropy')\n",
"g = g.plot_marginals(sns.distplot)\n",
"\n",
"g.ax_marg_x.clear()\n",
"g.ax_marg_x.set_xticks([])\n",
"g.ax_marg_x.set_yticks([])\n",
"# g.ax_marg_x.set_axis_off()\n",
"\n",
"g.ax_joint.axhline(y=-js.eval(), color='k', linewidth=2.,\n",
" label='$- 2 \\cdot \\mathcal{D}_{\\mathrm{JS}}[p || q ] + \\log{4}$')\n",
"\n",
"g.ax_joint.legend(loc='upper right')\n",
"g.set_axis_labels('epoch', 'loss')\n",
"\n",
"g.savefig('binary_crossentropy_vs_jensen_shannon.svg', format='svg', dpi=1200)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAowAAAGRCAYAAADvk+IOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8W1edNvDnaPEWx5adrUmatFW6l9LWdiid0gKNTRlmeGeY12kYmIF3Zqg9GwxMIaYw0HYYCDEw0Bk2qywzLIXULgUKlNZKF5p0i6K0TZqki5Xd2W3Fu63lvH9I5/rq6upKsmVJtp/v59NPLenq6khyrEe/swkpJYiIiIiIUrEVugFEREREVNwYGImIiIjIEgMjEREREVliYCQiIiIiSwyMRERERGSJgZGIiIiILDEwEhEREZElBkYiIiIissTASERERESWHIVuQAFwaxsiIqLiIArdAMoMK4xEREREZImBkYiIiIgsMTASERERkSUGRiIiIiKyxMBIRERERJYYGImIiIjIEgMjEREREVliYCQiIiIiSwyMRERERGSJgZGIiIiILDEwEhEREZElBkYiIiIissTASERERESWGBiJiIiIyBIDIxERERFZYmAkIiIiIksMjERERERkiYGRiIiIiCwxMBIRERGRJQZGIiIiIrLEwEhERERElhgYiYiIiMgSAyMRERERWWJgJCIiIiJLDIxEREREZImBkYiIiIgsMTASERERkSUGRiIiIiKyxMBIRERERJYYGImIiIjIEgMjEREREVliYCQiIiIiSwyMRERERGSJgZGIiIiILDEwEhEREZElBkYiIiIissTASERERESWGBiJiIiIyBIDIxERERFZYmAkIiIiIksMjERERERkiYGRiIiIiCwxMBIRERGRJQZGIiIiIrLEwEhERERElhgYiYiIiMgSAyMRERERWWJgJCIiIiJLDIxEREREZImBkYiIiIgsMTASERERkSUGRiIiIiKyxMBIRERERJYYGImIiIjIEgMjEREREVliYCQiIiIiSwyMRERERGSJgZGIiIiILDEwEhEREZElBkYiIiIisuQodAPybfHixbjwwgsL3QwiIqJ5b/HixfL3v/99oZsxn4lMD5x3gfHCCy+Ez+crdDOIiIjmvYaGhkI3gTLELmkiIiIissTASERERESWGBiJiIiIyBIDIxERERFZYmAkIiIiIkt5DYxCiGYhxOYp3K/D5LqN8fO1CCFactNCIiIiIjLKy7I6QohGAHUAmgAEsrzv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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb7287e27f0>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "CUbBIT-m6W59",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"# fig, ax = plt.subplots(figsize=golden_size(8))\n",
"\n",
"# hist_df = pd.DataFrame(hist.history)\n",
"# hist_df.plot(ax=ax, y='loss', label='binary cross-entropy')\n",
"\n",
"# ax.axhline(y=-js.eval(), \n",
"# color='r', linewidth=2., \n",
"# label='$- 2 \\cdot \\mathcal{D}_{\\mathrm{JS}}[p || q ] + \\log{4}$')\n",
"\n",
"# ax.set_ylabel('loss')\n",
"# ax.set_xlabel('epochs')\n",
"\n",
"# ax.legend()\n",
"\n",
"# # plt.show()\n",
"# plt.savefig('binary_crossentropy_vs_jensen_shannon.svg', format='svg', dpi=1200)"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "rAfiysRF6W6A",
"colab_type": "code",
"colab": {},
"outputId": "9e1447dc-2123-447d-ffd1-420529fc1a5a"
},
"cell_type": "code",
"source": [
"fig, (ax1, ax2) = plt.subplots(ncols=2, figsize=(16, 5))\n",
"\n",
"# ax.set_title('density ratio')\n",
"\n",
"ax1.plot(xs.eval(), q.prob(xs).eval(), linestyle='--', label='$f(x)=q(x)$')\n",
"ax1.plot(xs.eval(), p.prob(xs).eval(), linestyle='--', label='$f(x)=p(x)$')\n",
"\n",
"ax1.plot(xs.eval(), r(xs).eval(), linewidth=2., label='$f(x)=\\\\frac{p(x)}{q(x)}$')\n",
"\n",
"ax1.set_xlim(-5.5, 5.5)\n",
"ax1.set_xlabel('$x$')\n",
"\n",
"ax1.set_ylabel('$f(x)$')\n",
"\n",
"ax1.legend()\n",
"\n",
"# ax2.set_title('Density ratio')\n",
"\n",
"ax2.plot(xs.eval(), r(xs).eval(), linewidth=2., label='true: $\\\\frac{p(x)}{q(x)}$')\n",
"ax2.plot(xs.eval(), tf.exp(log_ratio(xs)).eval(), \n",
" linestyle='--', label='estimator: $r_{\\\\theta}(x)$')\n",
"\n",
"ax2.set_xlim(-5.5, 5.5)\n",
"ax2.set_xlabel('$x$')\n",
"\n",
"ax2.set_ylabel('$r(x)$')\n",
"\n",
"ax2.legend()\n",
"\n",
"# plt.show()\n",
"plt.savefig('dre.png', format='png', dpi=720)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA70AAAFJCAYAAABXQUqKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8W+d9LvDnBbgnRIqkJiWBljUtSyDlvWSDnvKITUpJnbitY0NN0rS5vbFop+3t7VTIpMltm6QhZCdpnSaWCbe2ZXkBshXHtmyTgvYWIVlblEiCe+O9f4AHBvcC8GI8389Hn4rA4cFzGlqHv/OOn5BSgoiIiIiIiCga6VQHICIiIiIiIgoWFr1EREREREQUtVj0EhERERERUdRi0UtERERERERRi0UvERERERERRS0WvURERERERBS1WPQSERERERFR1IpTHYCIiIjUE0Js7P/ragDVUsqKUY4tAWAEYAPQAMACwCaldAU9KBER0QSx6CUiIopxQohKKeUGv693CSEwSuGbBaC8/48bwNMseImIKFxxejMREVEME0IY4C1c/VUCeG6Mb50GoEBKOU1KaQtKOCIiogCI2pHe6dOny/nz56uOQUREUWLXrl1XpJQ5qnMEQRaAjf2jvf6jtYbRvklK6cbQYnlUvDcTEVEgjffeHLVF7/z581FTU6M6BhERRQkhxOeqMwSDlNIlhCgcVPAWA3CM9n1CCAu863mzABhGWwOs4b2ZiIgCabz35qgteomIiGh8pJRO7e/9053NAApH+RYHgIb+0V4IISqFEBYppXXwgf3FsQUA8vPzA5qbiIhoPLiml4iIiPxVAbhrtI2ppJQureDtZwdQNsKxVillkZSyKCcnGmeHExFRuGPRS0RERAAAIUQ5gHL/kd9hjjEIIWT/iLDGDW8LIyIiorDDopeIiIi03rt2KaWj/2vTKIdXDBrpNQJgyyIiIgpLLHqJiIhinBDCDO+GVDX9I7lGAOv93jf2F8Xars31g05RihGmNxMREanGjayIiIhiWP80ZXv/l5V+b/n33jXDW9hqr1mFEBvhndZcAKCSvXqJiChcxXTR29zcjLq6OvT09KiOQmEmPj4eubm5yMjIUB2FiCio+kduxRjHWAFY/b52AxizRdFk8N5M4YS/DxBFh5gtepubm3Hp0iXMnj0bycnJEGLU+z3FECklOjo6cO7cOQDgjY6IKER4b6Zwwt8HiKJHzK7praurw+zZs5GSksKbKg0ghEBKSgpmz56Nuro61XGI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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb7600f0160>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "XzDVB0ZS6W6E",
"colab_type": "code",
"colab": {},
"outputId": "6a60a2ab-972b-460e-b1cc-cdb396ecad71"
},
"cell_type": "code",
"source": [
"fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(nrows=2, ncols=2, figsize=(15, 8))\n",
"\n",
"ax1.plot(xs.eval(), tf.log(r(xs)).eval(), linewidth=2., label='true: $\\log \\\\frac{p(x)}{q(x)}$')\n",
"line1, = ax1.plot([], [], linestyle='--', label='estimated: $\\log r_{\\\\theta}(x)$')\n",
"\n",
"ax1.set_xlim(-5.5, 5.5)\n",
"ax1.set_xlabel('$x$')\n",
"\n",
"ax1.set_ylabel('$\\log r(x)$')\n",
"\n",
"ax1.legend(loc='lower right')\n",
"\n",
"ax2.plot(xs.eval(), optimal_classifier(p, q)(xs).eval(), linewidth=2., label='true: $\\\\frac{p(x)}{p(x) + q(x)}$')\n",
"line2, = ax2.plot([], [], linestyle='--', label='estimated: $D_{\\\\theta}(x)$')\n",
"\n",
"ax2.set_xlim(-5.5, 5.5)\n",
"ax2.set_xlabel('$x$')\n",
"\n",
"ax2.set_ylim(0., 1.)\n",
"ax2.set_ylabel('$\\mathcal{P}(y=1 \\mid x)$')\n",
"\n",
"ax2.legend(loc='upper left')\n",
"\n",
"ax3.plot(xs.eval(), r(xs).eval(), linewidth=2., label='true: $\\\\frac{p(x)}{q(x)}$')\n",
"line3, = ax3.plot([], [], linestyle='--', label='estimated: $r_{\\\\theta}(x)$')\n",
"\n",
"ax3.set_xlim(-5.5, 5.5)\n",
"ax3.set_xlabel('$x$')\n",
"\n",
"ax3.set_ylabel('$r(x)$')\n",
"\n",
"ax3.legend(loc='upper left')\n",
"\n",
"hist_df = pd.DataFrame(hist.history)\n",
"line4, = ax4.plot(hist_df, label='binary cross-entropy')\n",
"ax4.axhline(y=-js.eval(), color='k', linewidth=2.,\n",
" label='$- 2 \\cdot \\mathcal{D}_{\\mathrm{JS}}[p || q ] + \\log{4}$')\n",
"\n",
"ax4.set_ylabel('loss')\n",
"ax4.set_xlabel('epochs')\n",
"\n",
"ax4.legend(loc='upper right')\n",
"\n",
"plt.show()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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7SbUFgCtKX4nm6aO5+ob/UZtPYBGAH4R6QTQZpxj9J5AW+TSYt2d5vN1rP2pykYd67VAYC/C69IGaDf1jW1eK5NxrM49XvsO6a2F3SGbN+JS91TAgWNFlFKJvJ5cyvTFqwbwXXj4ok8/cQVwaUZZP4BNoS2R6UyvfLuglUMwZMpvzzF1/Qi1U1/Lk4gmiPUN2a1jYx0r6XYsmW4wAEAJoAU8IWk8VSYUmf4daobWLbUSQHuExqEpPVYYNFJaY3BARERERJQYBo1ERERERERkiUtuEBERERERkSUGjURERERERGSJQSMRERERERFZYtBIRERERERElhg0EhERERHFICJVItKiL2tG5CkMGomIiIiIYlBKdQDohrYONpGnMGgkIiIiIrKnw+kMEDmBQSMRERERERFZynI6A0REREREdomID8C9ANoB1ADYrZRqE5F6AC0AugDsBtCj7+9USrWGvL5ZTwcAAaXUtpDPaNHfPwjAp5TaGbK/Xv+1IcL7b4HWIunTP/8JvWsrUcoSpZTTeSCiSWYatF8J7UQagHaia1JKBR3LGBERUZxEpBNAg1Kqy/R8pVIqKCKNAFqUUpWm9DsAtBuBoYjsA3C9cf7TA8CNSqlNpv1NRqAnIr16+g497Q7987r0ALRXKSV62mYAPUaQqafvYdBIqY7dU4nSnIg0KqVa9bug9dDuqLYCAANGIiJKJXpQCCNg1HVAO78ZujDedmgtk2MthObzn1KqDUCziPhEpAraedIc5K0Med5jfL4p8PSZPrtFRJpFJKCUamPASOmAQSNR+jOfrKoAPAkASinO/kZERKkmACAoIvXGA5e6kVrpgtZVFNDOgz0R0gQBVOuPcUFnSIBqpI1ID0A3Qe+2KiL7TAElUcrimEaiNGfqvlMFoIuti0RElMKMFr4207Y2i7SGAC4Fel0A/BHS+GAa4zjRzIlIvZ63Nv15C7Txk9uivpDI5djSSOQd9TCdWEVkwidFIiIiJ5jGCo6dw0zdSg2h57dNALaaXu8LeX0jgJ1KqS494OsyTXQDEQmEvH80VebXAnjC5uuIXI0tjURpTD/J3ayU2grgZmjjOoyTLbvLEBFRKroewL0i0m5sCJndtEsPBIPQuqPuNs9uCmCl6fV+aLOjmodsXA9tXGIAWlfWoD47axW04LNKnyG1FfpYST19i/6ZAWPsJSLMzEqUijh7KlEa009aNdDGe3RAu9vaDv0E6GTeiIiIkk0/721SSjU4nReidMKgkYiIiIjSAoNGosnBMY1ERERElPL07qObAFSb1icmoiRgSyMRERERERFZYksjERERERERWWLQSERERERERJYYNBIREREREZElBo1ERERERERkiUEjERERERERWWLQSERERERERJYYNBIREREREZGl/wduCaDi3F5rDgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb712321f60>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "q-aSU44Q6W6H",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"def init():\n",
"\n",
" line1.set_data([], [])\n",
" line2.set_data([], [])\n",
" line3.set_data([], [])\n",
" line4.set_data([], [])\n",
"\n",
" return line1, line2, line3, line4"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "7ThgVrJH6W6I",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"def animate(i):\n",
"\n",
" xs_ = xs.eval()\n",
"\n",
" line1.set_xdata(xs_)\n",
" line2.set_xdata(xs_)\n",
" line3.set_xdata(xs_)\n",
" line4.set_xdata(hist.epoch[:i])\n",
" \n",
" line1.set_ydata(hist_pred.predictions[i])\n",
" line2.set_ydata(expit(hist_pred.predictions[i]))\n",
" line3.set_ydata(np.exp(hist_pred.predictions[i]))\n",
" line4.set_ydata(hist.history.get('loss')[:i])\n",
"\n",
" return line1, line2, line3, line4"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "_mTReLbX6W6K",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"anim = animation.FuncAnimation(fig, animate, init_func=init, \n",
" frames=hist.epoch, interval=60, \n",
" blit=True, repeat_delay=5)"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "SU64pqea6W6M",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"HTML(anim.to_html5_video())"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "BLas2QaP6W6O",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"anim.save('dre_training.mp4')"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "QkNqanVV6W6P",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"anim.save('dre_training.gif', writer='imagemagick')"
],
"execution_count": 0,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment