diff --git a/ayan59dutta.ipynb b/ayan59dutta.ipynb index 0a721fb..8d86a24 100644 --- a/ayan59dutta.ipynb +++ b/ayan59dutta.ipynb @@ -5,7 +5,8 @@ "colab": { "name": "First_Date_with_TensorFlow.ipynb", "version": "0.3.2", - "provenance": [] + "provenance": [], + "include_colab_link": true }, "kernelspec": { "name": "python3", @@ -13,6 +14,16 @@ } }, "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "[View in Colaboratory](https://colab.research.google.com/github/ayan59dutta/Assignment-4/blob/ayan59dutta/ayan59dutta.ipynb)" + ] + }, { "metadata": { "id": "2XXfXed5YLbe", @@ -88,7 +99,11 @@ "metadata": { "id": "vmMcjzTxbWzw", "colab_type": "code", - "colab": {} + "colab": { + "base_uri": "https://localhost:8080/", + "height": 72 + }, + "outputId": "97e61a64-612a-4e7b-89b4-755ba204b606" }, "cell_type": "code", "source": [ @@ -98,7 +113,17 @@ "print (t3)" ], "execution_count": 0, - "outputs": [] + "outputs": [ + { + "output_type": "stream", + "text": [ + "Tensor(\"Const:0\", shape=(), dtype=float32)\n", + "Tensor(\"Const_1:0\", shape=(2,), dtype=float32)\n", + "Tensor(\"Const_2:0\", shape=(2, 3, 2), dtype=float32)\n" + ], + "name": "stdout" + } + ] }, { "metadata": { @@ -118,7 +143,11 @@ "metadata": { "id": "ol6O5I7Tb2nb", "colab_type": "code", - "colab": {} + "colab": { + "base_uri": "https://localhost:8080/", + "height": 219 + }, + "outputId": "3fd33587-4d6f-4c4d-88a0-060842eccf58" }, "cell_type": "code", "source": [ @@ -131,7 +160,25 @@ "sess.close()" ], "execution_count": 0, - "outputs": [] + "outputs": [ + { + "output_type": "stream", + "text": [ + "2.0\n", + "=======================\n", + "[1. 2.]\n", + "=======================\n", + "[[[1. 9.]\n", + " [2. 3.]\n", + " [4. 5.]]\n", + "\n", + " [[1. 9.]\n", + " [2. 3.]\n", + " [4. 5.]]]\n" + ], + "name": "stdout" + } + ] }, { "metadata": { @@ -177,7 +224,11 @@ "metadata": { "id": "FyVz0GNqgreZ", "colab_type": "code", - "colab": {} + "colab": { + "base_uri": "https://localhost:8080/", + "height": 54 + }, + "outputId": "df83c837-8f55-487f-b2d9-92466a952d6a" }, "cell_type": "code", "source": [ @@ -194,7 +245,16 @@ "sess.close()" ], "execution_count": 0, - "outputs": [] + "outputs": [ + { + "output_type": "stream", + "text": [ + "Comp Graph 1 : 7663\n", + "Comp Graph 1 Alt: 7663\n" + ], + "name": "stdout" + } + ] }, { "metadata": { @@ -212,7 +272,11 @@ "metadata": { "id": "4856BTvRhiBb", "colab_type": "code", - "colab": {} + "colab": { + "base_uri": "https://localhost:8080/", + "height": 72 + }, + "outputId": "0dce8f47-b8f5-4b23-eb4c-313ac98034b6" }, "cell_type": "code", "source": [ @@ -232,7 +296,17 @@ "sess.close()" ], "execution_count": 0, - "outputs": [] + "outputs": [ + { + "output_type": "stream", + "text": [ + "Complete Result: 3.5897436\n", + "Part 1 Result: -4.0\n", + "Part 2 Result: 3.5897436\n" + ], + "name": "stdout" + } + ] }, { "metadata": { @@ -257,18 +331,41 @@ "metadata": { "id": "-uHNe1BolJY0", "colab_type": "code", - "colab": {} + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "9faf40fc-22ec-4665-ffe1-0c060caf047f" }, "cell_type": "code", "source": [ "# Build the graph\n", "# YOUR CODE HERE\n", "\n", + "n1 = tf.constant([9, 10], dtype=tf.float32)\n", + "n2 = tf.constant([7, 8.65], dtype=tf.float32)\n", + "n3 = tf.constant(5.6, dtype=tf.float32)\n", + "n4 = tf.constant([7.65, 9], dtype=tf.float32)\n", + "n5 = tf.constant([13.5, 7.18], dtype=tf.float32)\n", + "\n", + "cg1 = tf.minimum(((n1 * n2) / n3), (n4 + n5))\n", + "\n", "# Execute \n", - "# YOUR CODE HERE" + "# YOUR CODE HERE\n", + "\n", + "with tf.Session() as sess:\n", + " print(sess.run(cg1))" ], "execution_count": 0, - "outputs": [] + "outputs": [ + { + "output_type": "stream", + "text": [ + "[11.25 15.446429]\n" + ], + "name": "stdout" + } + ] }, { "metadata": { @@ -289,18 +386,46 @@ "metadata": { "id": "0ZhYwAlLmEvB", "colab_type": "code", - "colab": {} + "colab": { + "base_uri": "https://localhost:8080/", + "height": 54 + }, + "outputId": "e2798e59-847e-400c-a1a7-ea8019f09419" }, "cell_type": "code", "source": [ "# Build the graph\n", "# YOUR CODE HERE\n", "\n", + "n1 = tf.constant([[1.2, 3.4], \n", + " [7.5, 8.6]], dtype=tf.float32)\n", + "n2 = tf.constant([[7, 9],\n", + " [8, 6]], dtype=tf.float32)\n", + "n3 = tf.constant([[2.79, 3.81, 5.6],\n", + " [7.3, 5.67, 8.9]], dtype=tf.float32)\n", + "n4 = tf.constant([[2.6, 18.1],\n", + " [7.86, 9.81],\n", + " [9.36, 10.41]], dtype=tf.float32)\n", + "\n", + "cg2 = (tf.reduce_mean(n1, axis=1) * n2) + tf.reduce_sum(n3 * tf.transpose(n4))\n", + "\n", "# Execute \n", - "# YOUR CODE HERE" + "# YOUR CODE HERE\n", + "\n", + "with tf.Session() as sess:\n", + " print(sess.run(cg2))" ], "execution_count": 0, - "outputs": [] + "outputs": [ + { + "output_type": "stream", + "text": [ + "[[386.1183 442.4683 ]\n", + " [388.41827 418.3183 ]]\n" + ], + "name": "stdout" + } + ] }, { "metadata": { @@ -318,18 +443,50 @@ "metadata": { "id": "GQWyCvsQmMcL", "colab_type": "code", - "colab": {} + "colab": { + "base_uri": "https://localhost:8080/", + "height": 90 + }, + "outputId": "4b7e04ba-a97b-4f0d-bc60-aa7dd1adc5d0" }, "cell_type": "code", "source": [ "# Build the graph\n", "# YOUR CODE HERE\n", "\n", + "n1 = tf.constant(7.0, dtype=tf.float32)\n", + "n2 = tf.constant([[7.36, 8.91, 10.41],\n", + " [5.31, 9.38, 7.99]], dtype=tf.float32)\n", + "n3 = tf.constant([[7.99, 10.36],\n", + " [5.36, 7.98],\n", + " [8.91, 5.67]], dtype=tf.float32)\n", + "n4 = tf.constant(19.6, dtype=tf.float32)\n", + "n5 = tf.constant([[1, 5.6, 6.1, 8],\n", + " [0, 0, 7.98, 9],\n", + " [0, 0, 7.6, 7],\n", + " [0, 0, 0, 8.98]], dtype=tf.float32)\n", + "\n", + "cg3 = ((n1 + tf.reduce_sum(n2 * tf.transpose(n3))) / n4) / n5\n", + "\n", "# Execute \n", - "# YOUR CODE HERE" + "# YOUR CODE HERE\n", + "\n", + "with tf.Session() as sess:\n", + " print(sess.run(cg3))" ], "execution_count": 0, - "outputs": [] + "outputs": [ + { + "output_type": "stream", + "text": [ + "[[19.463488 3.475623 3.1907358 2.432936 ]\n", + " [ inf inf 2.4390335 2.1626098]\n", + " [ inf inf 2.5609853 2.7804983]\n", + " [ inf inf inf 2.1674263]]\n" + ], + "name": "stdout" + } + ] }, { "metadata": { @@ -346,6 +503,22 @@ "To get you in the habit of looking up for the documentation, I am not providing what some of the following functions does, Google them up!" ] }, + { + "metadata": { + "id": "RTA72Bmol5tG", + "colab_type": "code", + "colab": {} + }, + "cell_type": "code", + "source": [ + "# Essential imports\n", + "import numpy as np\n", + "import tensorflow as tf\n", + "import matplotlib.pyplot as plt" + ], + "execution_count": 0, + "outputs": [] + }, { "metadata": { "id": "hW31RZkjtNwI", @@ -388,7 +561,11 @@ "metadata": { "id": "1h1-D8K1uT48", "colab_type": "code", - "colab": {} + "colab": { + "base_uri": "https://localhost:8080/", + "height": 347 + }, + "outputId": "0c6090c8-c4df-48ca-8702-f59966201ce6" }, "cell_type": "code", "source": [ @@ -396,19 +573,20 @@ "plt.plot(train_X[:10], train_Y[:10], 'g')\n", "plt.show()" ], - "execution_count": 0, - "outputs": [] - }, - { - "metadata": { - "id": "jrsUps0nu8vj", - "colab_type": "text" - }, - "cell_type": "markdown", - "source": [ - "** Question **
\n", - "Why did I created a session to plot the graph?
\n", - "[Ans]" + "execution_count": 4, + "outputs": [ + { + "output_type": "display_data", + "data": { + "image/png": "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\nb7t5AAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + } ] }, { @@ -490,7 +668,11 @@ "metadata": { "id": "ttI7ZT-ozAm1", "colab_type": "code", - "colab": {} + "colab": { + "base_uri": "https://localhost:8080/", + "height": 751 + }, + "outputId": "c7b50021-9628-4f9a-bdbc-6524b38bc362" }, "cell_type": "code", "source": [ @@ -524,8 +706,49 @@ " plt.legend()\n", " plt.show()" ], - "execution_count": 0, - "outputs": [] + "execution_count": 9, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Loss after epoch 0 is 48275.387\n", + "Loss after epoch 50 is 30.643898\n", + "Loss after epoch 100 is 30.633265\n", + "Loss after epoch 150 is 30.622795\n", + "Loss after epoch 200 is 30.612318\n", + "Loss after epoch 250 is 30.601858\n", + "Loss after epoch 300 is 30.591393\n", + "Loss after epoch 350 is 30.580938\n", + "Loss after epoch 400 is 30.570501\n", + "Loss after epoch 450 is 30.560047\n", + "Loss after epoch 500 is 30.549599\n", + "Loss after epoch 550 is 30.539164\n", + "Loss after epoch 600 is 30.528723\n", + "Loss after epoch 650 is 30.518248\n", + "Loss after epoch 700 is 30.507807\n", + "Loss after epoch 750 is 30.497387\n", + "Loss after epoch 800 is 30.486979\n", + "Loss after epoch 850 is 30.476562\n", + "Loss after epoch 900 is 30.466135\n", + "Loss after epoch 950 is 30.455725\n", + "Now testing the model in the test set\n", + "The final loss is: 34.145008\n" + ], + "name": "stdout" + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\nABrIIiIiBvgLElo1Xati2i8AAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + } + ] }, { "metadata": { @@ -551,37 +774,220 @@ "source": [ "def linear_regression(learning_rate=0.000005, n_epochs=100, interval=50):\n", " # YOUR CODE HERE\n", - " pass" + "\n", + " x = tf.placeholder(tf.float32, name='x')\n", + " y = tf.placeholder(tf.float32, name='y')\n", + " W = tf.Variable(0.0, name='weight_1')\n", + " b = tf.Variable(0.0, name='bias_1')\n", + " pred_y = (W*x) + b\n", + " loss = tf.reduce_mean(tf.square(y - pred_y))\n", + " optimizer = tf.train.GradientDescentOptimizer(learning_rate=learning_rate).minimize(loss)\n", + " with tf.Session() as sess:\n", + " sess.run(tf.global_variables_initializer())\n", + " for epoch in range(n_epochs):\n", + " _, curr_loss = sess.run([optimizer, loss], feed_dict={x:train_X, y:train_Y})\n", + "\n", + " if epoch % interval == 0:\n", + " print('Loss after epoch', epoch, ' is ', curr_loss)\n", + "\n", + " print('Now testing the model in the test set')\n", + " final_preds, final_loss = sess.run([pred_y, loss], feed_dict={x:test_X, y:test_Y})\n", + "\n", + " print('The final loss is: ', final_loss)\n", + "\n", + " plt.plot(test_X[:10], test_Y[:10], 'g', label='True Function')\n", + " plt.plot(test_X[:10], final_preds[:10], 'r', label='Predicted Function')\n", + " plt.legend()\n", + " plt.show()" ], "execution_count": 0, "outputs": [] }, { "metadata": { - "id": "A6MaclhK4rc6", + "id": "ufI5g3dzkl34", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 420 + }, + "outputId": "2512f030-91df-4b48-cfe3-2f88756466cb" + }, + "cell_type": "code", + "source": [ + "linear_regression()" + ], + "execution_count": 11, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Loss after epoch 0 is 48275.387\n", + "Loss after epoch 50 is 30.643898\n", + "Now testing the model in the test set\n", + "The final loss is: 34.363277\n" + ], + "name": "stdout" + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + } + ] + }, + { + "metadata": { + "id": "6ivaSeXpmx4E", "colab_type": "code", "colab": {} }, "cell_type": "code", "source": [ - "# Okay! Now let's tweak!\n", - "linear_regression(learning_rate=0.000034, n_epochs=500)" + "def linear_regression(learning_rate=0.000005, n_epochs=100, interval=50, weight=0.0, bias=0.0):\n", + " # YOUR CODE HERE\n", + "\n", + " x = tf.placeholder(tf.float32, name='x')\n", + " y = tf.placeholder(tf.float32, name='y')\n", + " W = tf.Variable(weight, name='weight_1')\n", + " b = tf.Variable(bias, name='bias_1')\n", + " pred_y = (W*x) + b\n", + " loss = tf.reduce_mean(tf.square(y - pred_y))\n", + " optimizer = tf.train.GradientDescentOptimizer(learning_rate=learning_rate).minimize(loss)\n", + " with tf.Session() as sess:\n", + " sess.run(tf.global_variables_initializer())\n", + " for epoch in range(n_epochs):\n", + " _, curr_loss = sess.run([optimizer, loss], feed_dict={x:train_X, y:train_Y})\n", + "\n", + " if epoch % interval == 0:\n", + " print('Loss after epoch', epoch, ' is ', curr_loss)\n", + "\n", + " print('Now testing the model in the test set')\n", + " final_preds, final_loss = sess.run([pred_y, loss], feed_dict={x:test_X, y:test_Y})\n", + "\n", + " print('The final loss is: ', final_loss)\n", + "\n", + " plt.plot(test_X, test_Y, 'g', label='True Function')\n", + " plt.plot(test_X, final_preds, 'r', label='Predicted Function')\n", + " plt.legend()\n", + " plt.show()" ], "execution_count": 0, "outputs": [] }, + { + "metadata": { + "id": "A6MaclhK4rc6", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 567 + }, + "outputId": "47f0ce71-b824-427b-a712-780e0478e0a4" + }, + "cell_type": "code", + "source": [ + "# Okay! Now let's tweak!\n", + "linear_regression(learning_rate=0.000034, n_epochs=500)" + ], + "execution_count": 14, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Loss after epoch 0 is 48275.387\n", + "Loss after epoch 50 is 30.583029\n", + "Loss after epoch 100 is 30.512005\n", + "Loss after epoch 150 is 30.441156\n", + "Loss after epoch 200 is 30.37047\n", + "Loss after epoch 250 is 30.29996\n", + "Loss after epoch 300 is 30.22961\n", + "Loss after epoch 350 is 30.159445\n", + "Loss after epoch 400 is 30.089417\n", + "Loss after epoch 450 is 30.019627\n", + "Now testing the model in the test set\n", + "The final loss is: 33.57057\n" + ], + "name": "stdout" + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\nRK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + } + ] + }, { "metadata": { "id": "peoHmV2M40uU", "colab_type": "code", - "colab": {} + "colab": { + "base_uri": "https://localhost:8080/", + "height": 751 + }, + "outputId": "37439bf7-b27f-4d9f-d8f7-44387225e52b" }, "cell_type": "code", "source": [ "linear_regression(learning_rate=0.0000006, n_epochs=1000)" ], - "execution_count": 0, - "outputs": [] + "execution_count": 15, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Loss after epoch 0 is 48275.387\n", + "Loss after epoch 50 is 5543.9863\n", + "Loss after epoch 100 is 660.7065\n", + "Loss after epoch 150 is 102.6527\n", + "Loss after epoch 200 is 38.877304\n", + "Loss after epoch 250 is 31.588247\n", + "Loss after epoch 300 is 30.75412\n", + "Loss after epoch 350 is 30.65768\n", + "Loss after epoch 400 is 30.645586\n", + "Loss after epoch 450 is 30.643066\n", + "Loss after epoch 500 is 30.641651\n", + "Loss after epoch 550 is 30.640408\n", + "Loss after epoch 600 is 30.639143\n", + "Loss after epoch 650 is 30.637852\n", + "Loss after epoch 700 is 30.636616\n", + "Loss after epoch 750 is 30.635359\n", + "Loss after epoch 800 is 30.634123\n", + "Loss after epoch 850 is 30.632849\n", + "Loss after epoch 900 is 30.631592\n", + "Loss after epoch 950 is 30.630354\n", + "Now testing the model in the test set\n", + "The final loss is: 34.36387\n" + ], + "name": "stdout" + }, + { + "output_type": "display_data", + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeQAAAFKCAYAAADMuCxnAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3Xd4U+Xfx/F3RkeS0kKhUCh7b8oS\nEGWJiqi4QEEBRURl70IXu0DZe8kSBEUBq6DipKIis+wNZc+W0pU0bZOc54/4wwdFRml72ub7ui4v\noU2TT++ODyfn5HtrFEVREEIIIYSqtGoHEEIIIYQUshBCCJEnSCELIYQQeYAUshBCCJEHSCELIYQQ\neYAUshBCCJEH6NV88Li4lBy9/yJFjNy6ZcnRxyjoZA2zh6xj9pB1fHSyhtkjq+vo51foP99XoI+Q\n9Xqd2hHyPVnD7CHrmD1kHR+drGH2yIl1LNCFLIQQQuQXUshCCCFEHiCFLIQQQuQBUshCCCFEHiCF\nLIQQQuQBD/SyJ6vVygsvvECfPn1o1qwZwcHB2Gw29Ho9U6dOxc/Pj1q1atGgQYPbH7Ny5Up0Orma\nTwghhHgQD1TICxcuxMfHB4BZs2bx+uuv0759e9asWcOKFSsICgrCy8uL1atX52hYIYQQoqC6byGf\nOXOG06dP06pVKwBGjx6Nh4cHAEWKFOHIkSM5GjC3zZ07kxMnjpGQcBOr1UqpUgF4e/swceLUbLn/\njh1fpHjxEmi1f58tmDdvySPf7++//0qTJo+TnJzEsmWLCQoKfeT7FEIIkXvuW8iRkZGEh4cTFRUF\ngNFoBMBut7N27Vr69u0LQEZGBkOHDuXy5cs8++yz9OjRIwdj55z+/QcD8O23m4iNPUO/foOy/TGm\nTZtzex2zy2efraFBg8YULVpMylgIIfKhexZyVFQUgYGBlClT5o632+12goKCaNq0Kc2aNQMgKCiI\nDh06oNFo6Nq1K40aNaJOnTr3fPAiRYw5PjXmXmPK7qVQIU+MRvfbH79z506WL1+OxWJhxIgR9OzZ\nk507dwIwYMAA3nrrLWrVqkVISAhJSUnY7XbCwsKoXr36Hfer02kpVswLk8l0x9ubNGnyr/vbtWsX\nKSkpnD17lgsXLhASEkLLli2Jiopi9erVaLVaevToQUZGBkePHiY4eDAREREMHTqUjRs3snPnTmbO\nnIler6dEiRJMmjSJzZs3s3fvXhISEjh79iw9e/akU6dOObKG4k6yjtlD1vHRyRpmj+xex3sWcnR0\nNBcvXiQ6Oppr167h7u6Ov78/UVFRlCtXjn79+t2+bZcuXW7/uWnTppw8efK+hXy/OaBjtoex6UzU\ng3wed6XVanA4lDve9mKllxnz+IT7fmxKihWLJeP2vO3ERAvHjh3n00834u7ujqIot9+Xnp5JYqKF\nhQs/IjCwMS+++DJnz8YyfnwEs2YtuON+7XYH8fGpWCyOO95+t/szm9M5f/4iEyfOYMeO7axevYby\n5asxd+48Pv74UzIyMomIGM3kyTPw9Z3FpEkzSUpKxGZzEBeXQlhYODNnzqdECX9mzIhk7dov0Gg0\nHDlyjEWLlnPp0kVGjw6hVat2/7kOfn6FcnzmuCuQdcweso6PTtbw3hRF4YblOmeTYjmbFEtRQ1Ge\nKf/cv26X1XW8V4nfs5BnzZp1+89z584lICCA+Ph43NzcGDBgwO33xcbGMn/+fKZNm4bdbicmJoZ2\n7f77l3x+VblyFdzd3f/z/YcOHSQx8Rbff/8tAOnp1rvebtiwAbfPIRcuXIQJEyL/8z7r1g0EoHjx\n4qSmpnLu3FnKli2Ph4cnHh6eTJ48464fl5ychEajoUQJfwAaNGjE/v0xVK1andq166LT6fDzK47Z\nnHr/T1wIIQoQh+LgauoVzibH3i7e//13LikWi+3vg0Wj3kRsr8toNTn/KuGH3u1p7dq1pKen061b\nNwAqVarEmDFj8Pf3p2PHjmi1Wtq0aUPdunUfOdyYxyc80NHsf8nufwm6ubnd9e02m+2v9+sZPHg4\ntWvf+3O/3znk/90fcMdLxxRFQavVoSiOu33YP2hQlL+fHcjMzETz1zfUP+9TCCEKGrvDzuXUS3cW\nbrKzcM8lncVq//cBk1FvooJPJSr4VLz9X5OSzXKljOEhCrl///4AvPrqq3d9//Dhw7MnUT6h0Wiw\nWp1f0JMnTwBQs2Zttm2Lpnbtupw9G8vOndvp3Llrlu/vbsqVK8+FC+exWCzodDpGjBjMzJnz0Wi0\n2O3227fz9vZGo9Fw7do1/P392b8/hrp1A++4jRBC5Gc2h42LKRf+Ktwzd5Tv+eRzZDoy//Uxhdy9\nqeZbgwo+Ff4q3UqU/6t8ixuKo9FoVPhMnFTdDzk/e/nljrz//tuUL1+RatVqANCx4xtERIyhT5/3\ncDgcDBo07JHu724MBgM9e37IoEF9AHjjjTfRaDTUr9+APn16Eho65vZtg4LCGDs2FJ1OR0BAaZ56\n6hl++OG7rH3CQgihggx7BheSz/9duP/vaeaLKRewOWz/+pgiHkWoU6zu7aKt4FORij6VqOBTCV9P\nX1VL9140iorPWeb0hQVy8cKjkzXMHrKO2UPW8dHlxTW02qycTz73/45wzxD71/ncS6kXcdzlNF0x\ng98dTy1X8KlIBe+KlPepQBFP3xzPnOsXdQkhhBDZIdOeyclbJ+44l/u/Ar6SehmFfx8bljD685h/\n038c5TpLt5C7twqfRc6SQhZCCJFjbA4b646vZdqeyVxOvfSv9wd4laZ5wJN/Fa3zKPd/pWtyM93l\nHgsuKWQhhBDZzqE42HzmKybvmsDpxFN46jzpUr3rXxdUOUu3nHd5DHqD2lHzDClkIYQQ2UZRFKIv\n/sLEneM4ELcPnUZH95rvMrRRECW9SqkdL0+TQhZCCJEt9lzbRcSOsfxx5TcAXq3SkaDHQqnoU0nl\nZPmDFLIQQohHcuzmUSbtHMeWc84phW3LPkNw01HUKfboA6JciRTyP1y9eoXu3TtTrZpzU4iMjAze\neuttWrZs/dD3tWHDOhITE2nRohXbtkXTs+cHd73d/7ZO/K9JYP9fbOxpZsyY8q8tG1u2bEKdOvVu\n/71o0aKMHTvpoTP/05YtW2jYsDmnTp245+cghHA955PPMWXXRNafXIeCQpOSzQhtMpqmpR5XO1q+\nJIV8F2XLlrtdeMnJSfTo8RZNmzbDw8MzS/dXpUo1qlSp9p/v/9/WiQ9SyP/Fy8srW/ZV/qclS5aw\neHHz+34OQgjXcd1ynZl7prD66EoyHZnULFqbsKajearsM3l26EZ+IIV8H97ePhQtWoybN2+yYsVH\n6PVuJCcnMm7cZKZMieDKlcvYbDbee+9DGjZszJ49u5gzZzq+vkUpWrQYpUoFEBOzh40bP2fChCls\n2fIN69evQ6PR0LnzW2RmZnL06GGGDRvA7NkL+frrL/nppy1oNFqefLIVXbp05caN64SHj8TNzY3K\nlas+cParV68QFjaCZctWA9CzZzcmTIhk+fIlFCvmx4kTx7h+/RqjRk2gWrXqrFnzMdHRP6PRaPnw\nw34cP36UEydOEBIynI4d37j9Ofz884+sW7cGnU5HtWo1GDRoGMuWLcZsTuXChfNcvnyJAQOG0qxZ\n85z6sgghVJCUnsj8fXNYcnABFpuF8t4VGNkkjJcrv5Zr854LsjxdyKYxYXhsyvr2i2g1+P5j+8X0\nF1/GPObBN6y4evUKyclJFC9eAnDOiB4xIpQtW76haNFiBAePIjExkYEDP+Tjjz9j8eJ5hIePp0qV\nqgwbNoBSpQJu35fFYmblyqX/2jpx6dJFTJs2h7i4G0RH/8yCBcsA6N27J61bt2XjxnU89dQzvP56\nFz75ZCWnT5/M+pr8JSMjgxkz5hEVtZ4tW77BaDQSHf0zixev5MqVy3zyyUpGjgxn7dpVTJw4lZiY\nPX99DhaWLJnPihVrMRqNBAUNvv2+GzeuM23aHHbs2M5XX22QQhaigLBkWlh6aDHz9s0kMT2REkZ/\nxjafyJvVu+Gmy/oze+JOebqQ1XLhwnn69XsfAHd3d8LCxqLXO5eqZs1aABw+fJADB/Zx8OB+ANLT\n08nMzOTq1atUqeI8ig0MbEB6evrt+73f1onHjh3h0qWL9O/vPE9rsZi5du0K586dpXXrtgDUr9+I\nHTu2/ytzamrq7cwAlSpVvufGFvXq1QfAz68ER48e4eTJE9SsWRutVkvp0mUYOTL8rh938eIFSpcu\ne3u3qvr1G3Ly5HHg31tFCiHyt0x7JmuOrWL6nkiuW65R2KMw4c3G0bP2+xjd/nvHOpE1ebqQzWMm\nPNTR7D/5+RUiIQuzRv//OeR/0uvdbv+/e/d3efrpO/d9/t8+x/DvrQ3vt3WiXu9Gs2bNCQoKvePt\na9Z8fHvrxP/6+LudQ7527eodf7/Xto46nRaH4/5jzTWaOz8vmy0TDw+Pu96nECJ/cigOvjy1nshd\nEZxLPotRb2Rww2H0CRyAj0dhteMVWPKkfxbVrFmb33//FYBbtxJYvHg+AMWK+XHhwjkURWHfvr13\nfMz/3zoxPT2dQYP6oCjK7a0Tq1WrQUzMXqxWK4qiMGvWNNLTrZQtW47jx48C3H56+EEYjSZu3UpA\nURRu3oznypV/j637n2rVanDo0AFsNhsJCTcJDnbuVPXPYi1TphyXLl3AYjEDsG9fDNWq1XzgTEKI\nvEtRFH48t4U2nz9B75/e43LqJXrWeZ+dXQ8Q3GSUlHEOy9NHyHlZmzZtiYnZzYcfvovdbufdd51P\nF7//fh/Cwkbg71/y9nnn/7nf1olz5y7h9de70LdvL7RaLS1atMLDw5NOnboQHj6Sbdu2UqlSlQfO\n6O3tTaNGj/Hee92pXLnKPa+SLlmyFM8+255+/d5HURQ++KAvADVq1KBXr+707j3g9ufQt+9Ahg7t\nj0ajpW7dQOrVC2TPnp0PtX5CiLxlx5XtTNgxhl3XdqBBw+vVujC8cTDlvMurHc1lyPaL4p5kDbOH\nrGP2kHV8dP9cw0PxB5m4Yyw/X/gRgHYVnif4sXBqFJVnvu5Ftl8UQgiRLWITTxO5K4IvT28A4ImA\nFoQ0GUUj/8dUTua6pJCFEMKFXE6+THB0OGuPrcKu2KnnV5/QpqNpWbq1DPVQmRSyEEK4gATrTebE\nzGT54SVYbVYqF65CcJNRvFCxgxRxHiGFLIQQBVhqZipLDixg/v45pGQkU8a7DEMbjuT1al3Qa6UC\n8hL5agghRAGUbk9n1ZHlzNw7jfi0OIp6FmV880kMazWIlFuZascTdyGFLIQQBYjdYeeLk58xdfck\nLqZcwMutEMMbB9O7Xj+83AvhqfckBSnkvEgKWQghCgBFUfj27GYm7xzPiVvH8dB58GG9fgxsMJSi\nhqJqxxMPQApZCCHyud8u/UrEjjHE3NiLVqPlrRrdGdZoJAGFSqsdTTwEKWQhhMin9l3fS8TOcWy7\ntBWADpVeYeRjYVQu8uAT/UTeIYUshBD5zJnEU0zYMZZvYr8GoFWZNoQ2GU294vVVTiYehRSyEELk\nIz+f/4Ge37+NxWamYYnGhDUdQ/OAJ9WOJbKBFLIQQuQTq4+uJOjXwbhp3VjYdimvVukkQz0KEClk\nIYTI4xRFIXLXBGbsnYqvpy+r26+jsX8TtWOJbCaFLIQQeViGPYPBW/vxxcnPKO9dgc9e2EDFwpXV\njiVygBSyEELkUcnpSfT4vhu/XYqmQfGGrG7/OX5GP7VjiRwihSyEEHnQldTLdNnckWMJR2hXvj2L\nnl6O0c2odiyRg7RqBxBCCHGnI/GHeW7DUxxLOMK7tXuxot0aKWMXIEfIQgiRh2y7FE2PLV1JyUhm\nVLPx9A0cIFdSuwgpZCGEyCM+P/Epg7b2RYuWxU8v55UqHdWOJHKRFLIQQqhMURRm7Z3GpF3j8fEo\nzMft1vJ4wBNqxxK5TApZCCFUZHPYCPp1MJ8c+5jSXmX49IUNVPOtrnYsoQIpZCGEUElqZiq9vn+b\nny/8SJ1i9Vj7/BeUMPmrHUuoRApZCCFUcN1ynbe+6cTBuP20KduWpc+uwsvNS+1YQkXysichhMhl\nJxNO0H7DUxyM289bNbqz+rl1UsZCjpCFECI37biyne7fdSYxPZGRj4UxuOFweVmTAKSQhRAi10Sd\n2kC/nz/AgYO5bRbxRvU31Y4k8hB5yloIIXKYoijM3zeH93/sgbvOg7XPr5cyFv8iR8hCCJGD7A47\nYX+MYNmhJZQ0lWLt8+upVay22rFEHiSFLIQQOcSSaaH3T+/x3dnN1PCtyacvbKCUV4DasUQeJYUs\nhBA5ID4tnm7fvs7e63t4MqAlK9p9greHj9qxRB4mhSyEENksNukMXTa/xtmkWDpV7czM1vNw17mr\nHUvkcXJRlxBCZKM913bx/Ia2nE2KZXDDYcx7arGUsXggcoQshBDZ5NvYzfT+qScZ9gymtZxN91o9\n1I4k8hEpZCGEyAbLDi0m5LcgDHojq9t/Rttyz6odSeQzUshCCPEIHIqDcX+OYsH+OfgZirP2+S+o\nV7y+2rFEPiSFLIQQWWS1WRnwy4dEnd5I5cJV+PSFDZTzLq92LJFPSSELIUQW3LIm8PZ3b7Lj6naa\nlGzGquc+pYinr9qxRD4mhSyEEA/pQvJ5umx+jVOJJ3mp0qvMfWoRnnpPtWOJfE5e9iSEEA/hwI19\ntN/YllOJJ+ldrz+Ln1kuZVxQORyQnp5rDyeFLIQQD+in89/zUlR74iw3mPjEFMY2j0CrkV+jBY7D\ngUfUBoo83hDfhrVBUXLlYR/oO8lqtdK2bVs2btzI1atXeeedd+jatSvvvPMOcXFxAHz99de89tpr\ndOrUiS+++CJHQwshRG5bfXQl3b7tjEOxs7zdJ7xX90O1I4nspii4/7iFIk89iff7PdBdOE/6611y\n7eEf6BzywoUL8fFxzmCdNWsWr7/+Ou3bt2fNmjWsWLGCfv36MX/+fNavX4+bmxsdO3bk6aefpnDh\nwjkaXgghcpqiKETumsCMvVPx9fRldft1NPZvonYskc3ctv+OKWIsbrt3omg0WDt1xjw8GEf5CrmW\n4b6FfObMGU6fPk2rVq0AGD16NB4eHgAUKVKEI0eOcODAAerUqUOhQoUAaNCgATExMbRp0ybnkgsh\nRA7LsGcweGs/vjj5GeW9K/DZCxuoWLiy2rFENtLvj8E0cRzu0b8AkN7+RcwjQrHXqJn7We53g8jI\nSMLDw4mKigLAaDQCYLfbWbt2LX379iU+Ph5f378v9/f19b39VPa9FCliRK/XZTX7A/HzK5Sj9+8K\nZA2zh6xj9sitdUyyJtHl8zf4+ezPNAlowqYum/Az+eXKY+c0+V4Ejh6F8HDYuNH596efhgkT8Hjs\nMTwe8C6yex3vWchRUVEEBgZSpkyZO95ut9sJCgqiadOmNGvWjE2bNt3xfuUBT4DfumV5yLgPx8+v\nEHFxKTn6GAWdrGH2kHXMHrm1jldSL9Nlc0eOJRyhXYXnWdR2GVg8ibPk/6+hq38vas+fwzR1Eh5f\nfIZGUchs2Bhz6Ggyn2jhvMEDrk1W1/FeJX7PQo6OjubixYtER0dz7do13N3d8ff3JyoqinLlytGv\nXz8AihcvTnx8/O2Pu3HjBoGBgQ8dVAgh1HYk/jBvftORq+YrvFu7FxFPTEGnzdln8kTO016/hnHG\nFDw/+RhNZia2mrUxh4ST8XQ70GjUjgfcp5BnzZp1+89z584lICCA+Ph43NzcGDBgwO331atXj7Cw\nMJKTk9HpdMTExBASEpJzqYUQIgdsuxRNjy1dSclIZnSzCfQJ7I8mj/yyFlmjSbiJcd5sDMsWo0lL\nw1ahIpYRoaS//Bpo89ZL1h56UtfatWtJT0+nW7duAFSqVIkxY8YwdOhQevbsiUajoW/fvrcv8BJC\niPxg3fG1DI7uhxYtS55ewctVXlM7kngEmtQUDIsXYFgwF21KMvaSpbBMiMTa+S1wc1M73l1plAc9\n4ZsDcvo8hqufK8kOsobZQ9Yxe+TEOiqKwsy9U5m8awI+HoVZ9dynNCvVPFsfIy8p8N+LViuGlUsx\nzp6O9uZNHEWLYhk4lLR33gPP7JuoluvnkIUQoiC7lHKRiTvHsf7kOsoUKsunz2+gqm81tWOJrMjM\nxPOzNRinR6K7chlHIW/MI0JJ+6APilf+eMZWClkI4XJO3zrF3H0z+eLkZ9gcNur6BbKm/eeUMPmr\nHU08rL/GXBojI9CfjUUxGLD0G4Sl30AU36Jqp3soUshCCJdxKO4As2NmsOlMFAoKVQpXZUCDIbxa\npRNuurx5XlH8B0XB/YctmCaNR3/0MIpeT1qP97AMHo7Dv6Ta6bJEClkIUeDtvLqDWXun8vOFHwGo\n6xfIoAbDaF/xBdkcIh9y+32bc8zl3t3OMZevd8E8bGSujrnMCVLIQogCSVEUtl78mdkx0/nzyh8A\nNCvVnIENhtK6zFPycqZ8SB+zB9PE8bhv2wpA+vMdnGMuq9dQOVn2kEIWQhQoDsXBt7GbmR0znQNx\n+wB4quzTDGw4jKYlm6mcTmSF7thRTJMn4PHdZgAyWrXBHByOrX5DlZNlLylkIUSBkGnPZOOpL5i7\nbyYnb51Ag4YOlV5hYIMh1PGrp3Y8kQXas7HOMZcbPneOuWzcBHPIKDKbP6l2tBwhhSyEyNesNiuf\nHv+E+ftmcyHlPHqtns7V32JA/SFULlJF7XgiC7RXr2CcMRXPNR+jsdmw1arjHHPZ9tk8M+YyJ0gh\nCyHypdSMFFYeWc6iA/O4YbmOp86TnnXep0/gAMoUKqt2PJEFmps3Mc6diWH5EjRWK7aKlbCMDCO9\nwyt5bsxlTpBCFkLkKwnWmyw9uJilhxaRmJ6Il1sh+tcfzAf1+lLcWFzteCILNCnJGBbNx7BwHtrU\nFOwBpbEMG4n1jTdB7zo15TqfqRAiX7tuvkbkvrEs3L0Ii82Mr6cvIx8L493avSjsWUTteCIr0tIw\nrFiKcc50tAkJOIoVI3VkKGnd383WMZf5hRSyECJPO598jnn7ZvPpsdVkODLwN5VkZJNQutZ8By83\nL7XjiazIzMRz7WrnmMtrV3F4+2AODsfSqzd4ue7XVApZCJEnnUg4zuyY6Xx5aj12xU457/KEtgjh\nuYBX8NB5qB1PZIXdjseX6zFNmYju3FnnmMsBQ7D0HYBSxFftdKqTQhZC5Cn7b8Qwa+90vj27CYDq\nvjUY2GAoL1V+lZIlihTsnYoKKkXB/fvvME0ah/7YURQ3N9J6vo9l0DAcJWR++P9IIQshVKcoCn9e\n+YNZMdOIvvgLAA2KN2RQw+E8U76djLfMx9x++xXTxLG47d2DotVi7fyWc8xl2XJqR8tzpJCFEKpR\nFIWfzn/PrJjp7L62E4AnA1oysOFQngxoKeMt8zH93t3OMZe/RQOQ/uLLzjGXVWV7y/8ihSyEyHV2\nh53NsV8xa+90jtw8BMCz5Z9jYIOhNPJ/TOV04lHojh7BNHk8Hlu+BSCjTVvnmMt69VVOlvdJIQsh\nck2GPYP1J9cxJ2YGsUln0Gq0vFqlI/3rD6FWsdpqxxOPQBt7BtOUiXh8ud455vKxpphDR5PZrLna\n0fINKWQhRI6zZFpYc+xj5u+bwxXzZdy0bnSt8Tb96g+kYuHKascTj0B75TLG6VPwXLsKjd1OZu26\nWEJHkdHm6QI95jInSCELIXJMcnoSKw4vZfHB+cSnxWPQG/igbh96B/anlFeA2vHEI9DEx2OcMwPD\nio/QpKdjq1wF88gwMl54ySXGXOYEKWQhRLaLT4vno4MLWHboI5IzkvB292Fww2H0qtuHYoZiascT\nj0CTnIRh4TwMi+ajNadiL10G8/Bg0jt1dqkxlzlBVk8IkW2upF5mwf45rD66kjRbGsUMxQhrOoZ3\navXE28NH7XjiUVgsGJZ/hHHuDLS3buEo5kdK6Cis3XqAhwxqyQ5SyEKIR5Zpz2ThgblM2z0Zq91K\ngFdp+gYO4M0a3TG6GdWOJx5FRgaea1ZhnDEF3fVrOHwKkxo6mrT3PgSTSe10BYoUshDikey9vpsh\nWwdwLOEIxQx+TGoyjU7VOuOuc1c7mngUdjseGz7HNGUSugvnUIxGzIOGkdanP0ph2cwjJ0ghCyGy\nJCUjmYk7x7H80EcoKHSt8TbhzcZSxFNmEudrioL7t5sxTR6P/sRxFHd3LL0+xDJwGEpx2d4yJ0kh\nCyEe2ndnv2HktqFcNV+hcuEqTG81h2al5PWm+Zqi4PbrVkyTxuG2LwZFqyXtzW5Yho7AUaas2ulc\nghSyEOKBXU29QsjvQXwT+zVuWjeGNRrJwIZDZfelfE6/eyemieNw/+M3AKwvvYolKAR7laoqJ3Mt\nUshCiPtyKA5WHllGxI6xpGQk06RkM6a3nENVX5lLnJ/pjhzGNGkcHj9sASC97TNYgsOx1amncjLX\nJIUshLinYzePMjR6AHuu78Lb3YfprebwVo3usgNTPqaLPY1xykQ8N64HIKPp45hDRmNr2kzlZK5N\nClkIcVdWm5WZe6cwd98sbA4bL1V6lQlPTKaESfavza+0ly9ByAyKrFjhHHNZNxBzyCgyWz8lYy7z\nAClkIcS//H55G8OiBxKbdIYAr9JEtpjOM+WfUzuWyCJNXBzGOdMxrFgKGRnYq1TFPDKcjBc6SBHn\nIVLIQojbEqw3GbM9jM+Or0Gr0fJBvb6MeCwULzcvtaOJLNAkJWJYOBfjogVoLGbsZcqiGz+OW8++\nBDqd2vHEP0ghCyFQFIUNpz4n/PeR3LTepHaxusxoNYfA4g3UjiaywmLBsHQxxnkz0SYm4vArTmr4\nWKxd38avdDGIS1E7obgLKWQhXNy5pLMEbRtM9MVfMOgNjG42gQ/q9UGvlV8P+U5GBp6rV2KcORXd\njes4ChcmNWwsaT3flzGX+YD8xAnhojLtmSw6OJ9puyeRZkujdZmnmNJyJuW8y6sdTTwsux2PLz7D\nNG0yugvnUYwmzEOGk9a7P4pPYbXTiQckhSyEC9p3fS9Dogdw5OYhihmKMbP1PF6p3BGNXOCTvygK\n7pu/xhQ5Af3JE84xlx/0wTJgKIqfn9rpxEOSQhbChaRmpDBp53iWHlqMgsKb1bsx+vHxMn86v1EU\n3Lb+jGnSeNwO7EPR6Ujr+jbrDKJVAAAgAElEQVSWIUE4SpdRO53IIilkIVzE9+e+Y8SvQ7hivkxF\nn0pMazWbJwJaqB1LPCT9zh2YJo3DffvvAFhfeQ3LiFDsFSurnEw8KilkIQq46+ZrhPwexKYzUbhp\n3RjSKIhBDYbhqfdUO5p4CPpDBzBOGo/HTz8AkP70s5iDR2GvXUflZCK7SCELUUA5FAerjqxgwo4x\nJGck0di/CdNbzaG6bw21o4mHoDt9CmNkBJ5fbQQg4/EnnGMuH2uicjKR3aSQhSiAjiccY2j0AHZf\n20khd2+mtJhJ91o9ZP50PqK9dBHjtMl4frYGjcNBZmB9zCGjyWzZWqZrFVBSyEIUIFablVkx05gb\nM5NMRyYvVnqZiCci8TeVVDuaeECaGzecYy5XLkOTkYGtWnXnmMv2L0gRF3BSyEIUEH9c/o1hvw7k\nTOJpSpkCmNxiOu0qtFc7lnhAmqREDAvmYFy80Dnmsmx5zEHBpL/2uoy5dBFSyELkc7esCYzdHs7a\n46vRoOH9ur0Z+VgYXu6F1I4mHoTZjGHZYoxzZ6FNSsRewh/L6PFY3+oO7u5qpxO5SApZiHxKURS+\nPL2esN9HEp8WR62idZjeajYNSjRSO5p4EOnpeH6yEtOMqWjjbuAoUoTUUeNJe7cXGI1qpxMqkEIW\nIh86n3yOEduG8MuFnzDoDYQ3G8eHdfvipnNTO5q4H5sNj/XrME2dhO7iBRwmL8xDR5DWux+Kt4/a\n6YSKpJCFyEdsDhuLDyxg6u6JWGwWWpZuzdSWsyjvU0HtaOJ+HA7cv/ka0+QJ6E+dRPHwwPJhPywD\nhqAUK6Z2OpEHSCELkU/svxHD0OiBHIo/QFHPokxrNZvXqrwu86fzOkXB/ZcfMU6agNvB/c4xl916\nYBkahKNUgNrpRB4ihSxEHpeamUrkrgg+OrgQh+Kgc/W3GPP4BHw9i6odTdyH247tmCLG4rbzTxSN\nBuurnTAHheCoWEntaCIPkkIWIg/78dwWRmwbyqXUi1Twqci0lrN5snRLtWOJ+9Af3I9p4jjcf/kJ\ngPR27TGPCMNeq7bKyUReJoUsRB4UZ4kj5LfhfHVmI3qtnsENhzGo4XAMeoPa0cQ96E6ewBQZgcem\nKAAynmiBOWQUtkaPqZxM5AdSyELkIYqi8PWZLxm5bSg3rTdpWKIxM1rNpUbRmmpHE/egvXAe07TJ\neHz+qXPMZYOGzjGXLVqpHU3kI1LIQuQRNyw3GLltKJtjv8KgNzCh+WR61vkAnVamNOVVmuvXMc2a\niueqFWgyM7FVr4E5eBQZ7drLmEvx0KSQhVCZoihEnd5A8G/DSLAm0KRkM2a3nk/FwrK/bV6lSbyF\ncd5sDEsXobFYsJcrj3lEKOmvdJQxlyLLpJCFUNF1y3VG/DqEb89uwqg3EvFEJD3rfCC7MuVVqakY\nly7CMG822uQk7P4lsYydiPXNbuAmQ1nEo5FCFkIFiqKw8dQXhPw2nFvpt2hWqjmzWs+ngk9FtaOJ\nu0lPx7BqOcaZ09DGx+Hw9SV1TARpPd4Dg1xoJ7LHA/0z3Gq10rZtWzZudG6QvWrVKmrVqoXZbL59\nm1q1atGtW7fb/9nt9pxJLEQ+d918jbe3vEnvn94j3Z7OpCen8uVL30gZ50U2G55rV+PbtD5eoSPA\nasU8PJiE3QdJ69Nfylhkqwc6Ql64cCE+Ps4Zq1FRUdy8eZPixYvfcRsvLy9Wr16d/QmFKCAURWH9\nyXWE/h5EYnoizUs9yczW82TsZV7kcOCxKQrj5Anoz5xG8fTE0mcAlv6DUYrKQBaRM+5byGfOnOH0\n6dO0atUKgLZt2+Ll5cWmTZtyOpsQBcaVlCu8+917fH/uO4x6E5NbTOedWj3lXHFeoyi4//wDxonj\ncTt8EEWvJ+3tnliGDMdRspTa6UQBd99CjoyMJDw8nKgo5wvdvby87nq7jIwMhg4dyuXLl3n22Wfp\n0aPHfR+8SBEjen3OXpHo5yd7wj4qWcOsUxSF1QdXM3DLQBKtibQu35plHZZRoYgcFWdVjn0/btsG\nISHwxx/Olyx17YpmzBgMlSpR0J6Ylp/p7JHd63jPQo6KiiIwMJAyZcrc946CgoLo0KEDGo2Grl27\n0qhRI+rUqXPPj7l1y/JwaR+Sn18h4uJScvQxCjpZw6y7Zr7KsOiB/HB+C17uXkxpMZPutXqgtWll\nTbMoJ74f9Qf2Ocdcbv0ZgPTnXsA8Mgx7jb+GsRSwr5X8TGePrK7jvUr8noUcHR3NxYsXiY6O5tq1\na7i7u+Pv78/jjz/+r9t26dLl9p+bNm3KyZMn71vIQhREiqKw7sRawv8IJik9kSdLt2LVayswZcq5\nx7xEd+K4c8zl5q8AyGjRGnNwGLaGjVVOJlzVPQt51qxZt/88d+5cAgIC7lrGsbGxzJ8/n2nTpmG3\n24mJiaFdu3bZn1aIPO5q6hWGRg/gpws/YHLzYmrLWXSv2YPihb3lqCSP0J4/5xxz+cVnzjGXDRth\nDh4lYy6F6h76dcgLFy5k+/btxMXF0atXLwIDAwkKCsLf35+OHTui1Wpp06YNdevWzYm8QuRJiqLw\n2fE1hP8RTHJGEi1Kt2Zm67mUKVRW7WjiL9rr1zDOnIrn6pXOMZc1ajrHXD77nIy5FHmCRlEURa0H\nz+kjBjlX8uhkDe/vcsolhv46gF8u/ISXWyHGNo+ga4230fy/X/KyjtkjK+uouZXw95jLtDTs5Sv8\nPeZS63pXucv3YvbI9XPIQoj/pigKa4+tZtT2EFIykmlVpg0zWs2ldKH7XwQpcp4mNQXDkoUY5s9B\nm5KMvWQpLOMnY+3SVcZcijxJClmILLiUcpEh0f2JvvgLhdy9mdlqHm/W6HbHUbFQidWK4eNlGGdP\nRxsf7xxzOXYiae/0lMlaIk+TQhbiISiKwifHPmb0H6GkZqbQpmxbprecQ0Ch0mpHEzYbnp+twTht\nMrorl3F4FcIcFELaB31QCnmrnU6I+5JCFuIBXUy5wJCt/fn10lYKuXszu/UCOld/S46K1eZw4PHV\nRoyREehjzzjHXPYdiKX/IBRfeamZyD+kkIW4D0VRWH10JWO2h5GamULbss8wrdVsSnkFqB3NtSkK\n7j9uwTRxPPqjh51jLt/piWVIEA7/kmqnE+KhSSELcQ8Xks8zJHoA2y5txdvdhzltFvJGtTflqFhl\nbn/8hiliLG57dqFoNFg7dcY8PBhHeRlJKvIvKWQh7sKhOFh1ZAVj/wzHnJnK0+WeZVrL2ZT0kg0G\nVLV7Nz7DR+D+61YA0tu/6BxzWb2GysGEeHRSyEL8w/nkcwzZ2p/fLv+Kj0dh5rZZxOvVushRsYp0\nx49hmjwBvt2EO5DRsjXmkFHY6jdUO5oQ2UYKWYi/OBQHK48sY9z2UVhsZp4p145prWbjb5LzkWrR\nnjuLaeokPNavQ6Mo0KwZicNDyXyihdrRhMh2UshCAOeSzjJ4az/+uPIbhT0KM7XlEjpWfUOOilWi\nvXYV44wpeH7yMRqbDVvN2phDwvF5sxOZ8alqxxMiR0ghC5fmUBysOPwR4/8cjcVmoV359kxtOYsS\nJn+1o7kkTcJNjHNnYVi2GI3Viq1CRSwjw0h/6VXnmEv5B5IowKSQhcs6mxTL4K392H7ld4p4FGF6\nqzm8WqWTHBWrQJOagmHRfAwL5znHXJYKwDJsJNY33pQxl8JlSCELl+NQHCw/tIQJO8ZgsVl4rsIL\nTGk5kxLGEmpHcz1paRhWLsM4ZzramzdxFC1K6vhJpL3dEzw91U4nRK6SQhYuJTbpDIN+6cuOq9vx\n9fRlZut5vFz5NTkqzm2ZmXh++gnG6ZHorl7BUcgb88gw0t7vjeL137vhCFGQSSELl+BQHCw9uIiI\nnWNJs6XxfMUORLaYQXFjcbWjuRaHA48v12OKjEB37iyKwYCl/2As/QaiFPFVO50QqpJCFgXegRv7\nCPtjJDuv/omvpy+zWy/gpcqvylFxblIU3H/YgmniOPTHjqC4uZH2bi8sg4fjKCEX0AkBUsiiADuX\ndJbJu8az8dR6AF6o+BKRLWbgZ/RTOZlrcft9m3PM5d7dKFot1jfexDxsJI5y5dWOJkSeIoUsCpz4\ntHhm7Ink4yPLyXRkUs+vPuHNxtKidCu1o7kUfcweTBPH477trzGXL7yEeUQo9mrVVU4mRN4khSwK\njNTMVBYfmM/8fXNIzUyhnHd5QpuMpkPlV9BqtGrHcxm6Y0cxTZ6Ax3ebAcho/RTm4HBsgQ1UTiZE\n3iaFLPK9THsma46tYuruScSl3aCYoRihTUfRrWYP3HXuasdzGdqzsc4xlxs+R6MoZDZugjl0NJmP\nP6F2NCHyBSlkkW8pisLm2K+I2DGW2KQzGPUmhjUaSZ/A/ni5y0tncov26hWMM6biueavMZe16mAO\nCSej7bMyWUuIhyCFLPKl7Zd/Z9yf4cTc2Iteq6dH7fcY0miEDPfIRZqbNzHOnYlh+RLnmMtKlZ1j\nLl982TnmUgjxUKSQRb5y9OYRInaM4cfz3wPQodIrhDQJp2Lhyioncx2alOS/x1ympmAPKI1leDDW\n17uAXn6lCJFV8tMj8oVLKReJ3BXB5yc+RUGheaknCW82lgYlGqkdzXWkpWFYsdQ55jIhAUexYqQG\nh5HWrYeMuRQiG0ghizztljWB2TEzWHZoMen2dGr41mJUs7G0Kfu0DPbILZmZeK5d7Rxzee0qDm8f\nzMHhWHr1Bi8vtdMJUWBIIYs8Kc2WxtJDi5kTM4Ok9ERKe5VhxGOhdKz6BjqtTu14rsFu/3vM5flz\nzjGXA4Zg6TtAxlwKkQOkkEWeYnfYWXdiLZG7IrhqvkJhj8KMeTyCd2v3wlMvT4vmCkXBfcu3mCaP\nR3/sqHPMZc/3MQ8ajlJCLpoTIqdIIYs8QVEUfji/hQl/jubEreN46jwZUH8I/RsMwsejsNrxXIbb\ntmhME8fiFrPXOeay81vOMZdly6kdTYgCTwpZqG73tZ2M/3M0O65uR6vR8laN7gxvHEwprwC1o7kM\n/Z5dmCaNx/23XwFIf/Fl55jLqtVUTiaE65BCFqo5deskETvG8u3ZTQC0K9+e0KZjqOYrs45zi+7o\nEUyTx+Ox5VsAMtq0dY65rFdf5WRCuB4pZJHrrpmvMnX3ZNYeW4VdsdPYvwnhzcbRtGQztaO5DG3s\nGUxTJuLx5XrnmMsmzTCHjCKzWXO1ownhsqSQRa5JTk9i/v7ZLDownzRbGlUKVyW06Rieq/C8vIQp\nl2ivXMY4fQqea1ehsdvJrFMPS0g4GW2eljGXQqhMClnkuHR7OisPL2Xm3qkkWBPwN5Uk4okpdK7+\nFnqtfAvmBk18PMY5MzCs+AhNejq2ylUwjwwj44WXZMylEHmE/DYUOcahONh46gsm75zAhZTzFHL3\nJrTJaHrV7Y3Rzah2PJegSU7CsHAehkXz0ZpTsZcug3l4MOmdOsuYSyHyGPmJFNlOURSiL/7C+B2j\nORx/EHetOx/U68vghsPw9SyqdjzXYLFgWP4Rxrkz0N66haOYHymho7B26wEeHmqnE0LchRSyyFYH\nbuxj3I7R/HYpGg0aOlZ9g5GPhVHWW17HmisyMvBcswrjjCnorl/D4VOY1NDRpL33IZhMaqcTQtyD\nFLLIFmeTYpm8czxfnt4AQJuybQltOoY6xeqqnMxF2O14bPgc05RJ6C6cQzEaMQ8aRlqf/iiFi6id\nTgjxAKSQxSOJs8Qxc+8UPj6ynExHJvX86jOq2TieLN1S7WiuQVFw/3azc8zlieMo7u5Yen2IZeAw\nlOLF1U4nhHgIUsgiS1IzU1m0fx7z98/BnJlKee8KhDQZRYfKr6DVyFW7OU5RcPt1K6ZJ43DbF4Oi\n1ZL2ZjcsQ0fgKFNW7XRCiCyQQhYPJdOeySfHPmba7snEpd2gmKEYYU3H0K3mO7jr3NWO5xL0u3di\nmjgO9z9+A8D60qtYgkKwV6mqcjIhxKOQQhYPxO6ws+HU50zdPYnzyecw6k0MazSSPoH98XIvpHY8\nl6A7chjTpHF4/LAFgPS2z2AJDsdWp57KyYQQ2UEKWdyToihsPvM1kbsmcOLWcdy0bvSs8z6DGg6n\nhFG24ssNutjTGKdMxHPjegAymj6OOWQ0tqYyalSIgkQKWdyVoihsvfgTU7+cyN6re9FqtLxZvRtD\nG4+gTCE5R5kbtJcvYZwxBc+1q51jLusGOudNt35KxlwKUQBJIYt/2XFlOxN3jmPH1e0AvFz5VYIa\nh1K5SBWVk7kGTXw8xtnTMaxc6hxzWaUq5pHhZLzQQYpYiAJMClncduDGPibuHMfWiz8D8Ey5dkS2\nm0SArpLKyVyDJjkJw4K5GBYvcI65LFPWOeay4xsy5lIIFyA/5YLjCceI3BXBN7FfA/BkQEtGNgmj\nsX8T/PwKEReXonLCAs5iwbBsiXPMZWIiDr/ipISNwdr1bRlzKYQLkUJ2YeeSzjJ19yTWn1yHgkLD\nEo0IbjKKFqVbqR3NNWRk4PnJx84xlzeu4yhcmNSwsaT1fF/GXArhgqSQXdDV1CtM3zOFtcdXYXPY\nqFm0NsFNwnmmXDvZlzg32O14rF+HaeokdBfOoxhNmIcMJ613fxSfwmqnE0KoRArZhcSnxTMnZgYr\nDn9Euj2dij6VGPFYKC9VflWma+UGRcH9m03OMZcnTzjHXH7QB8uAoSh+fmqnE0KoTArZBSSlJ7Jw\n/1wWH1yIOTOVAK/SDG8czOvVuqDXyrdAjlMU+OEHCgeNxO3APhSdjrS3ujvHXJYuo3Y6IUQeIb+N\nCzBzppllhxYzb98sEtMT8TMUJ7TJKLrV6oGHTi4Wyg36nTswTRoH23/HDbC+/CqWoFDsleUlZEKI\nO0khF0Dp9nRWH1nBzL3TiEu7QWGPwoQ1HUPPOh9gcpOLhXKD7tBBTJPH4/Hj9843PP88CUOCsdeR\n7SiFEHcnhVyA2Bw21h1fy/Q9kVxKvYjJzYshDYfTO7A/Ph5ysVBu0J05hTEyAs+ojQBkNGuOOWQ0\nRV54Gru8fEwIcQ9SyAWAQ3Hw1emNTNk9kTOJp/HQefBhvX4MaDCEYoZiasdzCdpLFzFOj8TzszXO\nMZf16jvHXLZqI9O1hBAPRAo5H1MUhR/Ob2HSzvEcvXkYvVZP95rvMqTRcEp5BagdzyVo4uIwzp6G\nYeUyNBkZ2KpWc465fP5FKWIhxEORQs6ntl2KZtLOcey9vgcNGjpV7cywxiOp4FNR7WguQZOUiGHB\nHIyLF6KxmLGXLff3mEudTu14Qoh86IFefGq1Wmnbti0bNzrPi61atYpatWphNptv3+brr7/mtdde\no1OnTnzxxRc5k1aw+9pOXv3qBTp+3YG91/fwfMUO/Np5B/PbLpEyzg1mM4Y5M/BtVBfTzGk4vLxI\nmTydhO17SX/jTSljIUSWPdAR8sKFC/Hx8QEgKiqKmzdvUrx48dvvt1gszJ8/n/Xr1+Pm5kbHjh15\n+umnKVxYLiTKLofjDzF553h+OO/cnL51macIbhJOYPEGKidzEenpeH6yEtOMqWjjbjjHXIaPc465\nNBrVTieEKADuW8hnzpzh9OnTtGrVCoC2bdvi5eXFpk2bbt/mwIED1KlTh0KFCgHQoEEDYmJiaNOm\nTc6kdiGnb51iyu4Iok47n51oUrIZIU1G0axUc5WTuQib7e8xlxcv/DXmMoi0Pv1RvH3UTieEKEDu\nW8iRkZGEh4cTFRUFgJeX179uEx8fj6+v7+2/+/r6EhcXd98HL1LEiF6fs0/x+fkVytH7zynnE88z\n9texfHzgYxyKgwYlGxDRJoJnKz2b6/Om8+saPhKHAzZuhPBwOH7cuevS4MFoRo7EVLw4WXk1t0uu\nYw6QdXx0sobZI7vX8Z6FHBUVRWBgIGXKPNx4P0VRHuh2t25ZHup+H1Z+3DrwuuU6s/ZOZdWRFWQ6\nMqlapBojHgvjhYod0Gg0xMen5mqe/LiGj0RRcNv6E6aJ43E7uB9Fp8Pa7R0sQ4JwBJR23iYL6+Fy\n65hDZB0fnaxh9sjqOt6rxO9ZyNHR0Vy8eJHo6GiuXbuGu7s7/v7+PP7443fcrnjx4sTHx9/++40b\nNwgMDHzooK7sljWBeftms/TQItJsaZT1Lk9Q42Beq/I6Oq1cKJQb9Dv+xDRxLO47tgNgfbUjlqAQ\n7BUrq5xMCOEK7lnIs2bNuv3nuXPnEhAQ8K8yBqhXrx5hYWEkJyej0+mIiYkhJCQk+9MWQKkZKSw6\nMJ+FB+aRkpGMv6kkYx+fyJs1uuGuc1c7nkvQHzqAceI4PH7+EYD0Z5/DPCIMe+06KicTQriSh34d\n8sKFC9m+fTtxcXH06tWLwMBAgoKCGDp0KD179kSj0dC3b9/bF3iJu7tlTWDl4WUsObiAm9abFPUs\nytjHJ/JO7Z4Y9Aa147kE3amTzjGXX38JQEbzJzGHjMLWuInKyYQQrkijPOgJ3xyQ0+cx8uK5kosp\nF1h8YD6fHF2FxWbG292H3oH9+KBuH7zc894/YvLiGj4q7cULGKdNxnPdWjQOB5n1G2AOGU1mi1Y5\nNl2rIK6jGmQdH52sYfbI9XPIIvscjj/E/H2ziTq9Abtip6SpFEGPhdCt5tsUcvdWO55L0Ny4gXHW\nVAyrVjjHXFav4Rxz+dzzMuZSCKE6KeQcpCgKv13+lXn7ZhF98RcAqvvWoG/gQF6p0lHOEecSTeIt\nDAvmYlyyAI3Fgr1secwjQkh/tZNM1hJC5BlSyDnA5rCx+cxXzNs/m4Nx+wF4vNQT9Ks/kKfKPpPr\nryN2WWYzhqWLMM6bjTYpEXsJfyxjIrC+2Q3c5R9DQoi8RQo5G1kyLXx6/BMWHpjHheRzaNDwYqWX\n6Rs4gAYlGqkdz3Wkp+O5eoVzzGV8HI4iRUgdPYG0Hu/JmEshRJ4lhZwNbqbdZNmhxSw/vIQEawIe\nOg/ertWT3vX6UrGwvIY119hseHzxmXPM5aWLOExemIeNJO3DvjLmUgiR50khP4JzSWdZdGAenx7/\nhDRbGoU9CjOk4XDerfMBxY3F738HIns4HLhv/grT5AnoT59C8fDA0rs/lv6DUYoVUzudEEI8ECnk\nLDhwYx/z98/m6zNROBQHpb3K0DuwH11qdMPL7d+zvkUOURTcf/kR48TxuB06gKLTkdb9XSxDhuMo\nFaB2OiGEeChSyA9IURS2XvyZ+ftm89vlXwGoVbQO/eoPpEOlV3DTuamc0LW47diOKWIsbjv/RNFo\nsL72OubhwTgqVlI7mhBCZIkU8n1k2jP56sxG5u2bzdGbhwFoUbo1fQMH0KpMG7liOpfpD+zDNGk8\n7r/8BEB6u+cxjwzDXrOWysmEEOLRSCH/h9TMVNYc/ZjFBxZwKfUiWo2WVyq/Rt/6A6nrJxtn5Dbd\nyROYIiPw2OTcBjTjyZaYg8OxNXpM5WRCCJE9pJD/4YblBssOLWLF4aUkpidi0Bt4r84HfFCvL+W8\ny6sdz+VoL5zHNG0yHp9/6hxz2aDh32MuhRCiAJFC/kts4mkW7J/HuhNrSLenU9SzKEGNQ+hRuxdF\nDUXVjudyNNevY5o1Fc9VK9BkZmKrUdM55rJdexlzKYQokFy+kPde3838fXP4JvZrFBTKeZend2B/\nOld7C6ObDJHIbZpbCRjnz8Hw0UI0aWnYy5XHPCKU9Fc6yphLIUSB5pKF7FAc/Hz+B+btn82fV/4A\noJ5fffrVH8jzFTug17rksqgrNRXjRwsxzJ+DNjkJu39JLOMmOcdcuskV7EKIgs+lmifDnsHGU1+w\nYP8cjiccA6BN2bb0qz+I5qWelCum1WC1Yli1HOOsaWjj43H4+pI6JsI55tIg+0ILIVyHSxRySkYy\nq46sZMnBBVw1X0Gv1dOx6hv0DRxIrWK11Y7nmmw2PNetxThtMrrLl3B4FcI8PNg55rKQbEcphHA9\nBbqQr6ZcZdKfU1l5ZBkpGckY9SY+qNeXD+r2oXShMmrHc00OBx5ff4kxMgL9mdMonp5Y+gxwjrks\nKhfPCSFcV4Es5FO3TrJg/xy+OPkZGfYMihn86N9kFO/U6klhzyJqx3NNioL7T99jmjge/ZFDKHo9\naW/3dI65LFlK7XRCCKG6AlXIO6/uYP7+2Ww5+w0AVXyr8GHd/nSq2hlPvafK6VyX2/bfnWMud+90\njrns+IZzzGWFimpHE0KIPKPAFPJXpzfS64d3AGhYohH96g+mW+M3SLhpUTeYC9Pvj8E0cRzu0b8A\nkP7cC84xlzVqqhtMCCHyoAJTyDWL1uadWj15tUonmpRshkajQaeV162qQXfiOKbJE/D45msAMlq0\nxhwSjq1BI5WTCSFE3lVgCrlKkapMaTlT7RguTXv+HKapk/D44jM0ikJmw8aYQ0aR+WRLtaMJIUSe\nV2AKWahHe/0axhlT8Pzk47/GXNbCHDKKjGfayZhLIYR4QFLIIss0CTcxzpuNYdliNGlp2CpUxDIi\nlPSXXwOtVu14QgiRr0ghi4emSU3BsHgBhgVz0aYkYy9ZCsuESKyd35Ixl0IIkUVSyOLBWa0YVi7F\nOHs62ps3cRQtSuq4iaS98x54ysvKhBDiUUghi/vLzMTzszUYp0eiu3LZOeZyRChpH/RB8Sqkdjoh\nhCgQpJDFf3M44NNPKRIahv5srHPMZb9BWPoNRPGVMZdCCJGdpJDFvykK7j9swTRpPBw9jE6vJ63H\ne1gGD8fhX1LtdEIIUSBJIYs7uP2+zTnmcu9uFI0Guncnod9QHOUrqB1NCCEKNClkAYA+Zg+mieNx\n37YVgPTnO2AeEYrvk4/hiEtROZ0QQhR8UsguTnfsqHPM5XebAcho1QZzcDi2+g1VTiaEEK5FCtlF\nac/GOsdcbvjcOeaycRPnmMvmT6odTQghXJIUsovRXr2CccZUPNd8jMZmw1arDuaQcDLaPitjLoUQ\nQkVSyC5Cc/MmxrkzMSxfgsZqxVaxEpaRYaR3eEXGXAohRB4ghVzAaVKSMSyaj2HhPLSpKdgDSmMZ\nNhLrG2+CXr78QgiRV7AEqv8AAAzZSURBVMhv5IIqLQ3DiqUY50xHm5CAo1gxUkeGktb9XRlzKYQQ\neZAUckGTmYnn2tXOMZfXruLw9sEcHI6lV2/w8lI7nRBCiP8ghVxQ2O14fPl/7d1/UJR1Hgfw9+7C\nyi4ioAeVv/ons8aQsprkHErAFBPTUQQk8ixAL9EG1EDtrNQpEY0Mr5Cxc+j0Gp28zuEmy5xxuHQ0\nK3U68weQkBidAoGiPAsbD5/7Y3P7pbLKwvMF36+/GPdZ9j2fUd48+zx+dgf8816D5dsqiM0G7fmF\n0DKehwT3NzodERF1gIXc04nA+vEu+Oeugs/JExBfXzhS50DLXIz22243Oh0REXmIhdyD+e77D/xf\nWwHfw19CzGa0JD2F5sVL0D70TqOjERHRDWIh90A+h79wrbncVwoAaJ08Fc05L0K/e7ixwYiI6Kax\nkHsQy4njrjWXH38IAHBGj3OtuQx/wOBkRETUWSzkHsBcedq15vKD911rLh+JcK25jBhjdDQiIvIS\nFrLCzP/7HvbX8+D33t9hamvDj2Hh0JYthzP6ca65JCLqZVjICjL98APsBfmuNZetrWi7axial/wF\nzrgpXHNJRNRLsZAVYrrUBFvhX11rLpsvQx88BM0vLEXrjCSuuSQi6uX4U14FDgdsmze51lw2NqL9\nDyG49OJLaHn6GaBPH6PTERFRN2AhG8npdK25zM9zrbkMDMLlF1+GI+3PgL+/0emIiKgbsZCNoOvo\n88H7rjWXZ76F2O1ozlwMx7wFkKBgo9MREZEBWMjdSQTWjz50rbk8dRJitUJLmwst8wVIaKjR6YiI\nyEAs5O4gAt9PS11rLo8egZjNcCQ/DW1RDtqHDDU6HRERKYCF3MV8vjgE/9WrYN3/KQCgZco0aNnL\noA+72+BkRESkEhZyF7Ec/xr+uavQZ/dHAIDWceOhLV2OtrBwg5MREZGKWMheZqn8Bva819DnX/+E\nSQTO0X9E87KX0TY6wuhoRESkMBayl5hrvoM9Pw9+722BSdfx48j7Xfumo2K45pKIiDrkUSG3tLQg\nLi4O8+bNQ0REBLKzs6HrOkJCQrB27VpYrVaMGDECo0aNcj+nuLgYFouly4KrwlRfD/ubr8NW/I5r\nzeWwu9G8ZDmccU+yiImIyGMeFXJhYSECAwMBAAUFBUhOTsbEiRORn5+PHTt2IDk5GX379sWWLVu6\nNKxKTE0XYXt7A2xFb7vWXA4Z6lpzGZ/INZdERHTDOvykgtOnT+Obb77B2LFjAQCHDh1CTEwMACAq\nKgoHDx7s0oDK0TTYNqxH/4fC4J+fB9jtuLR6HRoOHEZr0lMsYyIiuikdtseaNWuwfPly7Ny5EwDg\ncDhgtVoBAAMGDEBdXR0AwOl0YtGiRaipqcGECRPwzDPPdPjiwcF2+Ph07dvaISEB3vlGTifwzjvA\nqlXAuXNAcDCQmwvz/PkI8PeHl15FSV6b4S2Oc/QOzrHzOEPv8PYcr1vIO3fuxP33348hQ4Zc9XER\ncX+dnZ2NJ598EiaTCSkpKXjooYcQFhZ23RdvbNRuIrLnQkICUFd3qXPfRNfRZ8d2+K9dDUv1GYjd\nH9rCF+B4bgEkMAjQ2gGtk6+hMK/MkDhHL+EcO48z9I6bneP1Svy6hVxaWoqzZ8+itLQU586dg9Vq\nhd1uR0tLC/z8/HD+/HmE/rTycebMme7njR49GuXl5R0WstJEYP3w3641l+VlrjWXc+dBe34RJCTE\n6HRERNTLXLeQ169f7/56w4YNGDRoEI4ePYrdu3djypQp+OSTTxAZGYnKykq89dZbWLduHXRdx5Ej\nRxAbG9vl4buECHxL98L/tZXw/eooxGKB46lZrjWXg6/+TgEREVFn3fAdSAsWLEBOTg62b9+OgQMH\nYurUqfD19cXtt9+O+Ph4mM1mREdHY+TIkV2Rt0v5HPoM/qtXwnpgPwCgZeo0aNkvQr9rmMHJiIio\ntzPJLy8Ed7Ouvo7h6Xv8lmP/da253LMbAND6+AQ0L1kOPazn/VLhbbze5B2co3dwjp3HGXpHt19D\n7u0spytgX/Mq/HZ+AABwRoxxrbl8ZLTByYiI6FZzSxay+buzsL++Bn7b/uFacxn+gGvN5dhobtci\nIiJD3FKFbKqrg/3NdbAV/w0mpxNtdw93rbmcNJlFTEREhrolCtl08QJsbxfAXlQIk9YMfeidP6+5\nvAX2bRMRkfp6dyE3N8NWkA/7hvUwX7wAPfQ2aC+tREvKn4Cfto0RERGpoHcWcmsr/LYWA+vXoe/5\n82gPCsLl5SvhSJ0D2O1GpyMiIvqd3lXIbW0/r7k8Ww34+6N5YTYc8xZA+gUanY6IiOiaek0hWyrK\n0W92MnwqyiF9+kCbmwH7ypegmWxGRyMiIupQrylkn+PHYKmqhOPp2dAWZqN90GDYQwIA/gd4IiLq\nAXpNIbdOnY7WuCn8PGIiIuqRzEYH8CqWMRER9VC9q5CJiIh6KBYyERGRAljIRERECmAhExERKYCF\nTEREpAAWMhERkQJYyERERApgIRMRESmAhUxERKQAFjIREZECWMhEREQKMImIGB2CiIjoVsczZCIi\nIgWwkImIiBTAQiYiIlIAC5mIiEgBLGQiIiIFsJCJiIgU4GN0gM7Ky8vD4cOH0dbWhrlz52L8+PEA\ngH379iEtLQ1lZWUAgFOnTmHZsmUAgJiYGGRkZBiWWUWezvGNN97AoUOHICIYN24c0tPTjYytlN/O\ncO/evTh+/DiCgoIAAKmpqRg7dixKSkrw7rvvwmw2IyEhATNmzDA4uVo8neOuXbuwefNmmM1mRERE\nICsry+DkavF0jlcsXLgQVqsVubm5BiVWj6cz9Fq/SA928OBBSUtLExGRhoYGeeyxx0REpKWlRVJS\nUmTMmDHuY+Pj4+Xrr78WXdclKytLNE0zIrKSPJ1jWVmZJCYmioiIrusSGxsrtbW1hmRWzdVmmJOT\nI3v37v3Vcc3NzTJ+/HhpamoSh8MhkyZNksbGRiMiK8nTOWqaJlFRUXLp0iVpb2+X+Ph4qaioMCKy\nkjyd4xX79++X6dOnS05OTnfGVNqNzNBb/dKjz5AffvhhjBw5EgDQr18/OBwO6LqOjRs3Ijk5GWvX\nrgUA1NfXQ9M0jBgxAgCQn59vWGYVeTrHgIAAtLa2wul0Qtd1mM1m2Gw2I6Mr41oz/K2vvvoKYWFh\nCAgIAACMGjUKR44cQXR0dLfmVZWnc7TZbCgpKUHfvn0BAEFBQbhw4UK3ZlWZp3MEAKfTicLCQjz3\n3HPYs2dPd8ZUmqcz9Ga/9OhryBaLBXa7HQCwY8cOPProo6iursapU6cwceJE93E1NTUIDAzEkiVL\nkJSUhOLiYoMSq8nTOd5xxx2IjY1FVFQUoqKikJSU5P6BeKu72gwtFgu2bt2KWbNmISsrCw0NDaiv\nr0f//v3dz+vfvz/q6uqMiq0cT+cIwP13r6ysDDU1NQgPDzcst2puZI5FRUWYOXMm/y3/hqcz9Gq/\ndOqcXhF79uyR+Ph4aWpqkvT0dDlz5oyIiERFRYmIyNGjRyUyMlIaGhpE0zSZPHmylJeXGxlZSR3N\nsbq6WqZPny6apklTU5M88cQTUl9fb2Rk5fxyhgcOHJATJ06IiEhRUZGsWLFCSkpK5NVXX3Ufn5+f\nL9u2bTMqrrI6muMVVVVVEhcX536cfq2jOVZVVcmcOXNEROSzzz7jW9ZX0dEMvdkvPfoMGXDddLRx\n40Zs2rQJmqahsrISixcvRkJCAmpra5GSkoIBAwZg2LBhCA4Ohs1mw4MPPoiKigqjoyvFkzkeO3YM\n4eHhsNlsCAgIwPDhw1FeXm50dGX8coYBAQGIiIjAvffeCwCIjo5GeXk5QkNDUV9f735ObW0tQkND\njYqsJE/mCADnzp1DRkYGcnNz3Y/TzzyZY2lpKb7//nskJCRgxYoVKC0txaZNmwxOrg5PZujVfvHm\nbxLdrampSeLi4q55lnblzE5EJDExURobG0XXdUlMTJSTJ092V0zleTrHY8eOSUJCgui6Lk6nUyZN\nmiRnz57tzqjKutoM58+fL9XV1SIisnXrVnnllVfE4XDIuHHj5OLFi3L58mX3DV7k4ukcRUSeffZZ\n+fzzzw3JqbobmeMVPEP+tRuZobf6pUff1LVr1y40NjYiMzPT/Wdr1qzBwIEDf3fs0qVLkZ6eDpPJ\nhMjISNxzzz3dGVVpns7xvvvuw5gxY5CcnAwAiI+Px+DBg7s1q6quNsNp06YhMzMTNpsNdrsdq1ev\nhp+fHxYtWoTU1FSYTCZkZGS4b/Aiz+dYVVWFL7/8EgUFBe7jZs+ejZiYGCNiK8fTOdK13cgMvdUv\n/PhFIiIiBfT4a8hERES9AQuZiIhIASxkIiIiBbCQiYiIFMBCJiIiUgALmYiISAEsZCIiIgWwkImI\niBTwf/iSVWSEP2gpAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + } + ] }, { "metadata": { @@ -597,11 +1003,70 @@ "metadata": { "id": "JKiHjGN15HPX", "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 751 + }, + "outputId": "9a5de3eb-af6a-4eea-b494-3976ea865974" + }, + "cell_type": "code", + "source": [ + "# YOUR CODE HERE\n", + "linear_regression(learning_rate=0.00005, n_epochs=100000, interval=5000, weight=1.0, bias=-7.0)" + ], + "execution_count": 43, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Loss after epoch 0 is 8384.275\n", + "Loss after epoch 5000 is 2.226931\n", + "Loss after epoch 10000 is 1.8930315\n", + "Loss after epoch 15000 is 1.6588774\n", + "Loss after epoch 20000 is 1.4947088\n", + "Loss after epoch 25000 is 1.379485\n", + "Loss after epoch 30000 is 1.298761\n", + "Loss after epoch 35000 is 1.2421072\n", + "Loss after epoch 40000 is 1.2023896\n", + "Loss after epoch 45000 is 1.1745279\n", + "Loss after epoch 50000 is 1.154952\n", + "Loss after epoch 55000 is 1.1412734\n", + "Loss after epoch 60000 is 1.1316365\n", + "Loss after epoch 65000 is 1.1249279\n", + "Loss after epoch 70000 is 1.1201596\n", + "Loss after epoch 75000 is 1.116828\n", + "Loss after epoch 80000 is 1.1145263\n", + "Loss after epoch 85000 is 1.1129303\n", + "Loss after epoch 90000 is 1.1117805\n", + "Loss after epoch 95000 is 1.1109662\n", + "Now testing the model in the test set\n", + "The final loss is: 0.65428567\n" + ], + "name": "stdout" + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + } + ] + }, + { + "metadata": { + "id": "y8Sm9o0orWZ6", + "colab_type": "code", "colab": {} }, "cell_type": "code", "source": [ - "# YOUR CODE HERE" + "" ], "execution_count": 0, "outputs": []