From 0e7d972da862747d8c4d06513717badadd345290 Mon Sep 17 00:00:00 2001 From: Morten Hjorth-Jensen Date: Mon, 25 Aug 2025 08:29:52 +0200 Subject: [PATCH] Update week35.ipynb --- doc/pub/week35/ipynb/week35.ipynb | 562 ++++++++++++++++++++++++++++-- 1 file changed, 534 insertions(+), 28 deletions(-) diff --git a/doc/pub/week35/ipynb/week35.ipynb b/doc/pub/week35/ipynb/week35.ipynb index 35f134d71..93790600c 100644 --- a/doc/pub/week35/ipynb/week35.ipynb +++ b/doc/pub/week35/ipynb/week35.ipynb @@ -1374,7 +1374,10 @@ "id": "01530c39", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1412,7 +1415,10 @@ "id": "1d052cbe", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1439,7 +1445,10 @@ "id": "3e9e681f", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1463,7 +1472,10 @@ "id": "20aab659", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1486,7 +1498,10 @@ "id": "c8e80cf1", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1513,7 +1528,10 @@ "id": "7235bf1b", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1555,13 +1573,33 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 4, "id": "98ca5627", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[ 2.00000015e+00 -1.33455722e-06 5.00000368e+00 -4.56206180e-06\n", + " 3.29741124e-06 -1.41302735e-06 7.29192834e-07 -2.87627245e-07]\n", + "Training R2\n", + "0.9999999999999959\n", + "Training MSE\n", + "9.120225711002453e-15\n", + "Test R2\n", + "0.9999999999999963\n", + "Test MSE\n", + "6.3758192923440154e-15\n" + ] + } + ], "source": [ "%matplotlib inline\n", "\n", @@ -1579,16 +1617,19 @@ " return np.sum((y_data-y_model)**2)/n\n", "\n", "x = np.random.rand(100)\n", - "y = 2.0+5*x*x+0.1*np.random.randn(100)\n", + "y = 2.0+5*x*x#+0.1*np.random.randn(100)\n", "\n", "\n", "# The design matrix now as function of a fourth-order polynomial\n", - "X = np.zeros((len(x),5))\n", + "X = np.zeros((len(x),8))\n", "X[:,0] = 1.0\n", "X[:,1] = x\n", "X[:,2] = x**2\n", "X[:,3] = x**3\n", "X[:,4] = x**4\n", + "X[:,5] = x**5\n", + "X[:,6] = x**6\n", + "X[:,7] = x**7\n", "# We split the data in test and training data\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)\n", "# matrix inversion to find theta\n", @@ -1623,7 +1664,10 @@ "id": "02220d97", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1809,13 +1853,425 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 6, "id": "2c315558", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
01234
0-1.7497650.3426801.153036-0.2524360.981321
10.5142190.221180-1.070043-0.1894960.255001
2-0.4580270.435163-0.5835950.8168470.672721
3-0.104411-0.5312801.029733-0.438136-1.118318
41.6189821.541605-0.251879-0.8424360.184519
50.9370820.7310001.361556-0.3262380.055676
60.222400-1.443217-0.7563520.8164540.750445
7-0.4559471.189622-1.690617-1.356399-1.232435
8-0.544439-0.6681720.007315-0.6129391.299748
9-1.733096-0.9833100.357508-1.6135791.470714
\n", + "
" + ], + "text/plain": [ + " 0 1 2 3 4\n", + "0 -1.749765 0.342680 1.153036 -0.252436 0.981321\n", + "1 0.514219 0.221180 -1.070043 -0.189496 0.255001\n", + "2 -0.458027 0.435163 -0.583595 0.816847 0.672721\n", + "3 -0.104411 -0.531280 1.029733 -0.438136 -1.118318\n", + "4 1.618982 1.541605 -0.251879 -0.842436 0.184519\n", + "5 0.937082 0.731000 1.361556 -0.326238 0.055676\n", + "6 0.222400 -1.443217 -0.756352 0.816454 0.750445\n", + "7 -0.455947 1.189622 -1.690617 -1.356399 -1.232435\n", + "8 -0.544439 -0.668172 0.007315 -0.612939 1.299748\n", + "9 -1.733096 -0.983310 0.357508 -1.613579 1.470714" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 -0.175300\n", + "1 0.083527\n", + "2 -0.044334\n", + "3 -0.399836\n", + "4 0.331939\n", + "dtype: float64\n", + "0 1.069584\n", + "1 0.965548\n", + "2 1.018232\n", + "3 0.793167\n", + "4 0.918992\n", + "dtype: float64\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
01234
0-1.5744650.2591531.1973700.1474000.649382
10.6895190.137652-1.0257090.210340-0.076938
2-0.2827270.351636-0.5392611.2166830.340782
30.070889-0.6148081.074067-0.038300-1.450257
41.7942821.458078-0.207545-0.442600-0.147420
51.1123830.6474731.4058900.073598-0.276263
60.397700-1.526744-0.7120181.2162900.418506
7-0.2806471.106095-1.646283-0.956563-1.564374
8-0.369139-0.7516990.051649-0.2131030.967809
9-1.557795-1.0668370.401842-1.2137431.138775
\n", + "
" + ], + "text/plain": [ + " 0 1 2 3 4\n", + "0 -1.574465 0.259153 1.197370 0.147400 0.649382\n", + "1 0.689519 0.137652 -1.025709 0.210340 -0.076938\n", + "2 -0.282727 0.351636 -0.539261 1.216683 0.340782\n", + "3 0.070889 -0.614808 1.074067 -0.038300 -1.450257\n", + "4 1.794282 1.458078 -0.207545 -0.442600 -0.147420\n", + "5 1.112383 0.647473 1.405890 0.073598 -0.276263\n", + "6 0.397700 -1.526744 -0.712018 1.216290 0.418506\n", + "7 -0.280647 1.106095 -1.646283 -0.956563 -1.564374\n", + "8 -0.369139 -0.751699 0.051649 -0.213103 0.967809\n", + "9 -1.557795 -1.066837 0.401842 -1.213743 1.138775" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
01234
00.00.00.00.00.0
10.00.00.00.00.0
20.00.00.00.00.0
30.00.00.00.00.0
40.00.00.00.00.0
50.00.00.00.00.0
60.00.00.00.00.0
70.00.00.00.00.0
80.00.00.00.00.0
90.00.00.00.00.0
\n", + "
" + ], + "text/plain": [ + " 0 1 2 3 4\n", + "0 0.0 0.0 0.0 0.0 0.0\n", + "1 0.0 0.0 0.0 0.0 0.0\n", + "2 0.0 0.0 0.0 0.0 0.0\n", + "3 0.0 0.0 0.0 0.0 0.0\n", + "4 0.0 0.0 0.0 0.0 0.0\n", + "5 0.0 0.0 0.0 0.0 0.0\n", + "6 0.0 0.0 0.0 0.0 0.0\n", + "7 0.0 0.0 0.0 0.0 0.0\n", + "8 0.0 0.0 0.0 0.0 0.0\n", + "9 0.0 0.0 0.0 0.0 0.0" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "import sklearn.linear_model as skl\n", "from sklearn.metrics import mean_squared_error\n", @@ -1906,11 +2362,14 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 7, "id": "b8dacc33", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -1936,13 +2395,27 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "id": "d35541fd", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi4AAAGdCAYAAAA1/PiZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABOyElEQVR4nO3de1xUdf4/8NeZYS7cZkRBLoKEV8C74AWNslZR20prfytb3yw3u5jdiN2tXLuY7S623chSy3bLtd2Qdu1iLWa0m6JhF1kw85YliiGEqDBcZ5iZ8/tjLjDMADPDXABfz8fjLDOfOXPmM+MEr/2cz3l/BFEURRARERH1AxJ/d4CIiIjIWQwuRERE1G8wuBAREVG/weBCRERE/QaDCxEREfUbDC5ERETUbzC4EBERUb/B4EJERET9RoC/O+ApRqMRZ8+eRWhoKARB8Hd3iIiIyAmiKKKhoQExMTGQSHoeTxkwweXs2bOIi4vzdzeIiIjIDWfOnEFsbGyP+w2Y4BIaGgrA9MZVKpWfe0NERETO0Gg0iIuLs/4d78mACS6W00MqlYrBhYiIqJ9xdpoHJ+cSERFRv8HgQkRERP0GgwsRERH1GwNmjgsREfVfoihCr9fDYDD4uyvkYVKpFAEBAR4rVeJWcNm4cSOeffZZVFVVYdy4ccjNzUV6errDffft24dHHnkEx44dQ3NzM+Lj43H33XfjoYcesu6zZcsW/PrXv7Z7bktLC5RKpTtdJCKifkKn06GqqgrNzc3+7gp5SVBQEKKjoyGXy3t9LJeDS35+PrKysrBx40bMnj0br732GhYuXIgjR45g+PDhdvsHBwfjvvvuw8SJExEcHIx9+/bh7rvvRnBwMO666y7rfiqVCsePH7d5LkMLEdHAZjQaUV5eDqlUipiYGMjlchYRHUBEUYROp8O5c+dQXl6O0aNHO1VkrjuCKIqiK0+YMWMGpk6dik2bNlnbkpKSsHjxYuTk5Dh1jBtvvBHBwcF46623AJhGXLKyslBXV+dKV2xoNBqo1WrU19fzcmgion6itbUV5eXliI+PR1BQkL+7Q17S3NyM06dPIyEhwW5QwtW/3y7FHp1Oh5KSEmRkZNi0Z2RkoLi42KljlJaWori4GFdeeaVNe2NjI+Lj4xEbG4trr70WpaWl3R5Hq9VCo9HYbERE1D/19v+FU9/myX9fl45UW1sLg8GAyMhIm/bIyEhUV1d3+9zY2FgoFAqkpqbi3nvvxR133GF9LDExEVu2bMGOHTuQl5cHpVKJ2bNn48SJE10eLycnB2q12rqx3D8REdHA59bk3M7nH0VR7PGc5N69e9HY2IgvvvgCjz76KEaNGoWbbroJADBz5kzMnDnTuu/s2bMxdepUvPzyy1i/fr3D461atQrZ2dnW+5aSwURERDRwuRRcwsPDIZVK7UZXampq7EZhOktISAAATJgwAT/99BPWrFljDS6dSSQSTJs2rdsRF4VCAYVC4Ur3iYiIqJ9z6VSRXC5HSkoKCgsLbdoLCwsxa9Ysp48jiiK0Wm23j5eVlSE6OtqV7hEREXmdIAjdbsuWLXP72Jdddhlyc3Od2s/Ra69bt87t1+4vXD5VlJ2djaVLlyI1NRVpaWnYvHkzKioqsGLFCgCmUziVlZXYunUrAGDDhg0YPnw4EhMTAZjqujz33HO4//77rcd86qmnMHPmTIwePRoajQbr169HWVkZNmzY4In32Ctv7CtHeW0Tbk2Lx+hI51auJCKigauqqsp6Oz8/H0888YRNOY/AwECf9GPt2rW48847bdq6WmFZFEUYDAYEBNj+2dfpdG7VVnH3eZ7g8jTfzMxM5ObmYu3atZg8eTKKiopQUFCA+Ph4AKZ/0IqKCuv+RqMRq1atwuTJk5GamoqXX34Z69atw9q1a6371NXV4a677kJSUhIyMjJQWVmJoqIiTJ8+3QNvsXd2HDyLt744jZO1Tf7uChHRgCeKIpp1er9szlYHiYqKsm5qtRqCINi0FRUVISUlBUqlEiNGjMBTTz0FvV5vff6aNWswfPhwKBQKxMTE4IEHHgAAzJkzB6dPn8ZDDz1kHUHpTmhoqM3rRkVFITg4GACwe/duCIKAXbt2ITU1FQqFAnv37sWcOXNw3333ITs7G+Hh4Zg3bx4AYM+ePZg+fToUCgWio6Px6KOP2vS5q+f5g1uTc1euXImVK1c6fGzLli029++//36b0RVHXnzxRbz44ovudMXrVIEyAEBDq76HPYmIqLda2gxIfmKXX177yNr5CJL3biWcXbt24ZZbbsH69euRnp6OH374wVps9cknn8S//vUvvPjii9i2bRvGjRuH6upqHDx4EADw7rvvYtKkSbjrrrvsRlLc9fDDD+O5557DiBEjMGjQIADA3/72N9xzzz34/PPPIYoiKisrcc0112DZsmXYunUrjh07hjvvvBNKpRJr1qyxHqvz8/yFaxX1IFRp+og0LW1+7gkREfV1f/zjH/Hoo4/itttuAwCMGDECTz/9NB5++GE8+eSTqKioQFRUFObOnQuZTIbhw4dbzy4MHjwYUqnUOpLSk0ceeQSPPfaYTdtHH32EOXPmWO+vXbvWbnRk1KhR+POf/2y9v3r1asTFxeGVV16BIAhITEzE2bNn8cgjj+CJJ56w1mDp/Dx/YXDpgcocXDjiQkTkfYEyKY6sne+31+6tkpISfP311/jjH/9obTMYDGhtbUVzczN++ctfIjc3FyNGjMCCBQtwzTXX4LrrrrObe+KM3/3ud3YTgYcNG2ZzPzU11e55nduOHj2KtLQ0m1NTs2fPRmNjI3788Ufrcj6OjuUPDC49CFVaThVxxIWIyNsEQej16Rp/MhqNeOqpp3DjjTfaPaZUKhEXF4fjx4+jsLAQn376KVauXIlnn30We/bsgUwmc+m1wsPDMWrUqG73scx56a7NUS02y6mgju2OjuUP/ffb4SMccSEiImdNnToVx48f7zZQBAYG4vrrr8f111+Pe++9F4mJiTh06BCmTp0KuVwOg8Hgwx4DycnJ2L59u02AKS4uRmhoqN0ITl/A4NID64iLliMuRETUvSeeeALXXnst4uLi8Mtf/hISiQTffPMNDh06hD/84Q/YsmULDAYDZsyYgaCgILz11lsIDAy0Xpl72WWXoaioCL/61a+gUCgQHh7e5Ws1NDTYFYQNCgpyeaHhlStXIjc3F/fffz/uu+8+HD9+HE8++SSys7P75BpSfa9HfUz75FyOuBARUffmz5+Pjz76CIWFhZg2bRpmzpyJF154wRpMBg0ahNdffx2zZ8/GxIkT8Z///AcffvghhgwZAsA0mfbUqVMYOXIkIiIiun2tJ554AtHR0Tbbww8/7HKfhw0bhoKCAnz11VeYNGkSVqxYgeXLl9tN/O0rBNGf1zR5kKvLYjur8MhPuHPrAUyKVeOD+y732HGJiAhobW1FeXk5EhISoFQq/d0d8pLu/p1d/fvNEZcecI4LERFR38Hg0gPLHBcNgwsREZHfMbj0wDrHhZdDExER+R2DSw9U5hEXnd4Ird63l6gRERGRLQaXHoQo268Y5zwXIiIi/2Jw6YFUIiBEwQm6REREfQGDixO40CIREVHfwODihFBeEk1ERNQnMLg4gQstEhGRt82ZMwdZWVn+7kafx+DiBBahIyIiC0EQut2WLVvm1nHfffddPP30073q27Jlyxz2acGCBb06bl/CRRad0F6EjiMuRESXuqqqKuvt/Px8PPHEEzh+/Li1LTAw0Gb/trY2yGSyHo87ePBgj/RvwYIFePPNN23aFApFl/s76p+zfXbmWJ7GERcntBeh44gLEdGlLioqyrqp1WoIgmC939raikGDBuGdd97BnDlzoFQq8fe//x3nz5/HTTfdhNjYWAQFBWHChAnIy8uzOW7nU0WXXXYZ/vSnP+H2229HaGgohg8fjs2bN/fYP4VCYdPHqKgohIWFWR8XBAGvvvoqFi1ahODgYPzhD3/AmjVrMHnyZLzxxhsYMWIEFAoFRFFERUUFFi1ahJCQEKhUKixZsgQ//fST9VhdPc+bGFycwDkuREQ+IoqArsk/mwf/4D7yyCN44IEHcPToUcyfPx+tra1ISUnBRx99hG+//RZ33XUXli5dii+//LLb4zz//PNITU1FaWkpVq5ciXvuuQfHjh3rdf+efPJJLFq0CIcOHcLtt98OAPj+++/xzjvvYPv27SgrKwMALF68GBcuXMCePXtQWFiIH374AZmZmTbHcvQ8b+KpIieoAjnHhYjIJ9qagT/F+Oe1f38WkAd75FBZWVm48cYbbdp++9vfWm/ff//9+Pjjj/HPf/4TM2bM6PI411xzDVauXAnAFIZefPFF7N69G4mJiV0+56OPPkJISIhN2yOPPILHH3/cev/mm2+2BhYLnU6Ht956CxEREQCAwsJCfPPNNygvL0dcXBwA4K233sK4cePw9ddfY9q0aQ6f520MLk6wznFhHRciInJCamqqzX2DwYB169YhPz8flZWV0Gq10Gq1CA7uPihNnDjRettySqqmpqbb51x11VXYtGmTTVvn+TOd+wcA8fHxNuHj6NGjiIuLs4YWAEhOTsagQYNw9OhRa3Dp/DxvY3BxAq8qIiLyEVmQaeTDX6/tIZ0DyfPPP48XX3wRubm5mDBhAoKDg5GVlQWdTtd9lzpNdBUEAUajscfXHjVqlEv9c9QmiiIEQbDbr3N7T+HL0xhcnGAtQKfliAsRkVcJgsdO1/Qle/fuxaJFi3DLLbcAAIxGI06cOIGkpCQ/96xrycnJqKiowJkzZ6yjLkeOHEF9fb1f+83g4gSVdXIuR1yIiMh1o0aNwvbt21FcXIywsDC88MILqK6u9koA0Gq1qK6utmkLCAhAeHi4S8eZO3cuJk6ciP/7v/9Dbm4u9Ho9Vq5ciSuvvNLhqSZf4VVFTghlcCEiol54/PHHMXXqVMyfPx9z5sxBVFQUFi9e7JXX+vjjjxEdHW2zXX755S4fRxAEvP/++wgLC8MVV1yBuXPnYsSIEcjPz/dCr13ol+jtC659RKPRQK1Wo76+HiqVyqPHPlvXglnr/osAiYATf1zo8JwfERG5rrW1FeXl5UhISIBSqfR3d8hLuvt3dvXvN0dcnGCZ46I3imht635SFBEREXkPg4sTguUBkJgHWViEjoiIyH8YXJwgkQgIUbDsPxERkb8xuDiJCy0SERH5H4OLk0JZhI6IiMjvGFycpArkQotERN4yQC5wpS548t+XwcVJLPtPROR5lpL2zc3Nfu4JeZPl37fzEgbuYOVcJ3GhRSIiz5NKpRg0aJB14cCgoCDWyhpARFFEc3MzampqMGjQIEil0l4fk8HFSZzjQkTkHVFRUQDQ46rH1H8NGjTI+u/cWwwuTmpfr4gjLkREniQIAqKjozF06FC0tfF37EAjk8k8MtJiweDiJI64EBF5l1Qq9egfOBqY3Jqcu3HjRut6AykpKdi7d2+X++7btw+zZ8/GkCFDEBgYiMTERLz44ot2+23fvh3JyclQKBRITk7Ge++9507XvIZ1XIiIiPzP5eCSn5+PrKwsrF69GqWlpUhPT8fChQtRUVHhcP/g4GDcd999KCoqwtGjR/HYY4/hsccew+bNm6377N+/H5mZmVi6dCkOHjyIpUuXYsmSJfjyyy/df2ceZhlxYeVcIiIi/3F5degZM2Zg6tSp2LRpk7UtKSkJixcvRk5OjlPHuPHGGxEcHIy33noLAJCZmQmNRoOdO3da91mwYAHCwsKQl5fn1DG9uTo0AOw+XoNlb36NpGgVdj6Y7vHjExERXYq8ujq0TqdDSUkJMjIybNozMjJQXFzs1DFKS0tRXFyMK6+80tq2f/9+u2POnz/f6WP6AgvQERER+Z9Lk3Nra2thMBgQGRlp0x4ZGYnq6upunxsbG4tz585Br9djzZo1uOOOO6yPVVdXu3xMrVYLrVZrva/RaFx5Ky6zFKBjHRciIiL/cWtybufiQKIo9lgwaO/evThw4ABeffVV5Obm2p0CcvWYOTk5UKvV1i0uLs7Fd+Eay+TcRq2epamJiIj8xKURl/DwcEilUruRkJqaGrsRk84SEhIAABMmTMBPP/2ENWvW4KabbgJgKj7k6jFXrVqF7Oxs632NRuPV8GKZnGsUgSadASEKXklORETkay6NuMjlcqSkpKCwsNCmvbCwELNmzXL6OKIo2pzmSUtLszvmJ5980u0xFQoFVCqVzeZNgTIpAiSmESDOcyEiIvIPl4cNsrOzsXTpUqSmpiItLQ2bN29GRUUFVqxYAcA0ElJZWYmtW7cCADZs2IDhw4cjMTERgKmuy3PPPYf777/feswHH3wQV1xxBZ555hksWrQIH3zwAT799FPs27fPE+/RIwRBQKgyABeb29DQqke02t89IiIiuvS4HFwyMzNx/vx5rF27FlVVVRg/fjwKCgoQHx8PAKiqqrKp6WI0GrFq1SqUl5cjICAAI0eOxLp163D33Xdb95k1axa2bduGxx57DI8//jhGjhyJ/Px8zJgxwwNv0XNClTJcbG7jBF0iIiI/cbmOS1/l7TouAPDz9Xtx+KwGby6bhqsSh3rlNYiIiC4lXq3jcqlTsew/ERGRXzG4uIALLRIREfkXg4sLuNAiERGRfzG4uIAjLkRERP7F4OICrldERETkXwwuLlBxxIWIiMivGFxcEMqFFomIiPyKwcUFlsm5HHEhIiLyDwYXF6gYXIiIiPyKwcUF7VcV8VQRERGRPzC4uMA6x4UjLkRERH7B4OICyxyXRq0eBuOAWOKJiIioX2FwcYFlxAUwhRciIiLyLQYXFyhlUsgDTB8Z57kQERH5HoOLi1TWWi4ccSEiIvI1BhcXtddy4YgLERGRrzG4uIhl/4mIiPyHwcVF1hEXLUdciIiIfI3BxUWhHHEhIiLyGwYXF3GhRSIiIv9hcHERF1okIiLyHwYXF1kWWmTZfyIiIt9jcHERF1okIiLyHwYXF3GhRSIiIv9hcHERC9ARERH5D4OLi1SBvByaiIjIXxhcXKTiiAsREZHfMLi4KJSLLBIREfkNg4uLLHNcWtoMaDMY/dwbIiKiSwuDi4ssIy4A0Mh5LkRERD7F4OIimVSCQJkUACfoEhER+RqDixvaa7lwgi4REZEvMbi4gcGFiIjIPxhc3KAK5EKLRERE/sDg4gauEE1EROQfDC5uaK/lwlNFREREvsTg4gaVkmX/iYiI/IHBxQ0s+09EROQfDC5uCOWICxERkV+4FVw2btyIhIQEKJVKpKSkYO/evV3u++6772LevHmIiIiASqVCWloadu3aZbPPli1bIAiC3dba2upO97zOOjlXyxEXIiIiX3I5uOTn5yMrKwurV69GaWkp0tPTsXDhQlRUVDjcv6ioCPPmzUNBQQFKSkpw1VVX4brrrkNpaanNfiqVClVVVTabUql07115GRdaJCIi8o+Annex9cILL2D58uW44447AAC5ubnYtWsXNm3ahJycHLv9c3Nzbe7/6U9/wgcffIAPP/wQU6ZMsbYLgoCoqChXu+MXnONCRETkHy6NuOh0OpSUlCAjI8OmPSMjA8XFxU4dw2g0oqGhAYMHD7Zpb2xsRHx8PGJjY3Httdfajch0ptVqodFobDZf4RwXIiIi/3ApuNTW1sJgMCAyMtKmPTIyEtXV1U4d4/nnn0dTUxOWLFlibUtMTMSWLVuwY8cO5OXlQalUYvbs2Thx4kSXx8nJyYFarbZucXFxrryVXrHMcdEwuBAREfmUW5NzBUGwuS+Kol2bI3l5eVizZg3y8/MxdOhQa/vMmTNxyy23YNKkSUhPT8c777yDMWPG4OWXX+7yWKtWrUJ9fb11O3PmjDtvxS1cq4iIiMg/XJrjEh4eDqlUaje6UlNTYzcK01l+fj6WL1+Of/7zn5g7d263+0okEkybNq3bEReFQgGFQuF85z3IMsdFpzdCqzdAESD1Sz+IiIguNS6NuMjlcqSkpKCwsNCmvbCwELNmzeryeXl5eVi2bBnefvtt/PznP+/xdURRRFlZGaKjo13pns+EKNvzHue5EBER+Y7LVxVlZ2dj6dKlSE1NRVpaGjZv3oyKigqsWLECgOkUTmVlJbZu3QrAFFpuvfVWvPTSS5g5c6Z1tCYwMBBqtRoA8NRTT2HmzJkYPXo0NBoN1q9fj7KyMmzYsMFT79OjpBIBIYoANGr1aGjVIzzEPyM/RERElxqXg0tmZibOnz+PtWvXoqqqCuPHj0dBQQHi4+MBAFVVVTY1XV577TXo9Xrce++9uPfee63tt912G7Zs2QIAqKurw1133YXq6mqo1WpMmTIFRUVFmD59ei/fnveEKk3BhQstEhER+Y4giqLo7054gkajgVqtRn19PVQqlddfL+PFPfjup0b8ffkMXD463OuvR0RENBC5+vebaxW5iUXoiIiIfI/BpScfZQOv/wyoLLFpZhE6IiIi32Nw6UnNEaDyAFBnuxZTexE6jrgQERH5CoNLT0LMhfIaz9k0txeh44gLERGRrzC49CTYElx+smlWBXKOCxERka8xuPQkxFwRuFNw4RwXIiIi32Nw6Yn1VFGNTbN1jgvruBAREfkMg0tPLCMuTbbBRcURFyIiIp9jcOlJSITpZ2Pn4GKe46LliAsREZGvMLj0xDrHpQYwGq3NnONCRETkewwuPQk2j7gY24DWOmtzqLVyLoMLERGRrzC49CRAAQSGmW53OF1krePS0oYBstwTERFRn8fg4gwHtVwsdVz0RhGtbUZHzyIiIiIPY3BxhoNLooPlUkgE020WoSMiIvINBhdnOChCJwgCQhQs+09ERORLDC7O6KKWCxdaJCIi8i0GF2d0VcslkFcWERER+RKDizN6XK+IIy5ERES+wODijC7WK2LZfyIiIt9icHFGx+q5HXChRSIiIt9icHGGpY5Lcy1gNFibOeJCRETkWwwuzggOBwQJIBqBplprc3vZf464EBER+QKDizMkUiAo3HS7wwRdLrRIRETkWwwuznJQy4V1XIiIiHyLwcVZDmq5WBda5IgLERGRTzC4OMtBLRcWoCMiIvItBhdnOajlwgJ0REREvsXg4iwHtVwsl0OzjgsREZFvMLg4y1LLxeaqItOpokatHqIo+qNXRERElxQGF2c5OFWkMgcXowg06QyOnkVEREQexODiLAeTc5UyCQIkAgDOcyEiIvIFBhdnWUZcWusAvRYAIAgCi9ARERH5EIOLswLDAInp1BCazlmbudAiERGR7zC4OEsQOsxz6VjLhSMuREREvsLg4gpHtVwULPtPRETkKwwurnBQy4VzXIiIiHyHwcUVwY7WK+KICxERka8wuLjC4XpFHHEhIiLyFbeCy8aNG5GQkAClUomUlBTs3bu3y33fffddzJs3DxEREVCpVEhLS8OuXbvs9tu+fTuSk5OhUCiQnJyM9957z52ueZeD4GIZcWEdFyIiIu9zObjk5+cjKysLq1evRmlpKdLT07Fw4UJUVFQ43L+oqAjz5s1DQUEBSkpKcNVVV+G6665DaWmpdZ/9+/cjMzMTS5cuxcGDB7F06VIsWbIEX375pfvvzBssk3M7XA6t4hwXIiIinxFEFxfZmTFjBqZOnYpNmzZZ25KSkrB48WLk5OQ4dYxx48YhMzMTTzzxBAAgMzMTGo0GO3futO6zYMEChIWFIS8vz6ljajQaqNVq1NfXQ6VSufCOXHC6GHhzITB4BPCAKXjlf12BR7YfwlVjI/Dmr6d753WJiIgGKFf/frs04qLT6VBSUoKMjAyb9oyMDBQXFzt1DKPRiIaGBgwePNjatn//frtjzp8/3+lj+ozDFaItp4o44kJERORtAa7sXFtbC4PBgMjISJv2yMhIVFdXO3WM559/Hk1NTViyZIm1rbq62uVjarVaaLVa632NRuPU6/eK5VSRrhHQNgKKkA5zXBhciIiIvM2tybmCINjcF0XRrs2RvLw8rFmzBvn5+Rg6dGivjpmTkwO1Wm3d4uLiXHgHbpKHALIg0+0m06hLex0XTs4lIiLyNpeCS3h4OKRSqd1ISE1Njd2ISWf5+flYvnw53nnnHcydO9fmsaioKJePuWrVKtTX11u3M2fOuPJW3CMIHWq5mCboWoKLhiMuREREXudScJHL5UhJSUFhYaFNe2FhIWbNmtXl8/Ly8rBs2TK8/fbb+PnPf273eFpamt0xP/nkk26PqVAooFKpbDaf6HRJtCrQdKqoUauHwejSPGciIiJykUtzXAAgOzsbS5cuRWpqKtLS0rB582ZUVFRgxYoVAEwjIZWVldi6dSsAU2i59dZb8dJLL2HmzJnWkZXAwECo1WoAwIMPPogrrrgCzzzzDBYtWoQPPvgAn376Kfbt2+ep9+k5nRZatIy4AKbwojYHGSIiIvI8l+e4ZGZmIjc3F2vXrsXkyZNRVFSEgoICxMfHAwCqqqpsarq89tpr0Ov1uPfeexEdHW3dHnzwQes+s2bNwrZt2/Dmm29i4sSJ2LJlC/Lz8zFjxgwPvEUP63RlkSJACnmA6WPkPBciIiLvcrmOS1/lkzouALB7HbA7B0hZBlz3EgAg9Q+FqG3UoeCBdCTH+OiUFRER0QDg1TouhA6nihzVcuGICxERkTcxuLjK4XpFLPtPRETkCwwurnJQPddahE7LERciIiJvYnBxlbWOSw1gnh5kreXSwhEXIiIib2JwcZVljotBC7TWA2D1XCIiIl9hcHGVLBBQmOrPWE4XcaFFIiIi32BwcYddETpTcGHZfyIiIu9icHGHJbhwoUUiIiKfYnBxR6daLlxokYiIyDcYXNzRxUKLHHEhIiLyLgYXd3Qx4sLJuURERN7F4OKOYNvgwpL/REREvsHg4o5Op4pYgI6IiMg3GFzcEeJ4xKWlzYA2g9FfvSIiIhrwGFzcYRlxaToHGI0IMY+4AEAj57kQERF5DYOLO4LDTT9FA9ByATKpBIEyKQBO0CUiIvImBhd3SGVA0BDT7c7zXDhBl4iIyGsYXNzVRS0XBhciIiLvYXBxF2u5EBER+RyDi7uCOwcXrhBNRETkbQwu7rJbIdpSy4WnioiIiLyFwcVd1jkunavncsSFiIjIWxhc3NV5cq51jgtHXIiIiLyFwcVdllNFTecAcHIuERGRLzC4uMtujgsvhyYiIvI2Bhd3WU4VNZ8HDG1QBXLEhYiIyNsYXNwVOBgQTGX+0XQOoQrL5FyOuBAREXkLg4u7JBKbInSc40JEROR9DC69ERxh+tlY02GOC4MLERGRtzC49EaHS6K5yCIREZH3Mbj0RofgYllkUac3Qqs3+LFTREREAxeDS290qOUSogiwNnOeCxERkXcwuPRGh1ouUolgDS8MLkRERN7B4NIbIZ1XiOZCi0RERN7E4NIbdusVcaFFIiIib2Jw6Q1rcOm8XhFHXIiIiLyBwaU3LHVctPVAWwuL0BEREXkZg0tvKNWAVGG6bVOEjiMuRERE3sDg0huC0OF0UY11oUVWzyUiIvIOt4LLxo0bkZCQAKVSiZSUFOzdu7fLfauqqnDzzTdj7NixkEgkyMrKsttny5YtEATBbmttbXWne77V4ZLoUCUXWiQiIvIml4NLfn4+srKysHr1apSWliI9PR0LFy5ERUWFw/21Wi0iIiKwevVqTJo0qcvjqlQqVFVV2WxKpdLV7vmetQgdF1okIiLyNpeDywsvvIDly5fjjjvuQFJSEnJzcxEXF4dNmzY53P+yyy7DSy+9hFtvvRVqtbrL4wqCgKioKJutX7BZIdo8x4V1XIiIiLzCpeCi0+lQUlKCjIwMm/aMjAwUFxf3qiONjY2Ij49HbGwsrr32WpSWlna7v1arhUajsdn8ouN6RRxxISIi8iqXgkttbS0MBgMiIyNt2iMjI1FdXe12JxITE7Flyxbs2LEDeXl5UCqVmD17Nk6cONHlc3JycqBWq61bXFyc26/fKx1GXKwF6LQccSEiIvIGtybnCoJgc18URbs2V8ycORO33HILJk2ahPT0dLzzzjsYM2YMXn755S6fs2rVKtTX11u3M2fOuP36vRLc8VQRR1yIiIi8KaDnXdqFh4dDKpXaja7U1NTYjcL0hkQiwbRp07odcVEoFFAoFB57Tbd1OFXEOS5ERETe5dKIi1wuR0pKCgoLC23aCwsLMWvWLI91ShRFlJWVITo62mPH9BqbU0VSAKYRF1EU/dgpIiKigcmlERcAyM7OxtKlS5Gamoq0tDRs3rwZFRUVWLFiBQDTKZzKykps3brV+pyysjIApgm4586dQ1lZGeRyOZKTkwEATz31FGbOnInRo0dDo9Fg/fr1KCsrw4YNGzzwFr3MElz0LQiVmOrO6I0iWtuMCJRL/dgxIiKigcfl4JKZmYnz589j7dq1qKqqwvjx41FQUID4+HgApoJznWu6TJkyxXq7pKQEb7/9NuLj43Hq1CkAQF1dHe666y5UV1dDrVZjypQpKCoqwvTp03vx1nxEHgzIQwBdI4J1FyARAKNoKkLH4EJERORZgjhAzmloNBqo1WrU19dDpVL59sXXTwEunAR+vRMT32yAplWPT7OvxKihIb7tBxERUT/j6t9vrlXkCR1ruQRyoUUiIiJvYXDxBAfVc3lJNBERkecxuHiCw1ouHHEhIiLyNAYXT2DZfyIiIp9gcPEEB2X/WYSOiIjI8xhcPMGmei5HXIiIiLyFwcUTQiJMP5vOdZicyxEXIiIiT2Nw8QTriEsNQhWmj5QjLkRERJ7H4OIJweYRF2MbhkhbALCOCxERkTcwuHhCgAIIDAMAhAsXAQAajrgQERF5HIOLp5hruYQZ6wHwVBEREZE3MLh4ivmSaJXhAgBOziUiIvIGBhdPMU/QDW07D4B1XIiIiLyBwcVTzMElUGcKLo1aPQbIwttERER9BoOLp5hruSi0puBiFIEmncGfPSIiIhpwGFw8xTziIm2uQYBEAMB5LkRERJ7G4OIp5sm5QocVojUtvLKIiIjIkxhcPKXjCtGBLPtPRETkDQwunmKu44Lm81ArLKeKOOJCRETkSQwunhIcDggSQDQiRtYMgGX/iYiIPI3BxVMkUiAoHAAQE6ABwBEXIiIiT2Nw8STzPJdoqSm4cMSFiIjIsxhcPMlcyyVCwvWKiIiIvIHBxZPMIy5DxDoAvKqIiIjI0xhcPMlcy2WQ8SIAjrgQERF5GoOLJ5lHXNTmFaK50CIREZFnMbh4krmWS3CbKbhwxIWIiMizGFw8yXyqKNC80CKDCxERkWcxuHiS+VSRvPUcAE7OJSIi8jQGF08yj7gE6OohRxs0HHEhIiLyKAYXTwoMAySmBRaHQINGrR4Go+jnThEREQ0cDC6eJAjWUZcIoQ4A0KjlqAsREZGnMLh4mjm4RFvXK+I8FyIiIk9hcPE08wTdOFkDAEDTwhEXIiIiT2Fw8bRg03pFMRxxISIi8jgGF08zj7hESizBhSMuREREnsLg4mnm4GKZnNug5YgLERGRpzC4eJp5cu5g8wrRnONCRETkOW4Fl40bNyIhIQFKpRIpKSnYu3dvl/tWVVXh5ptvxtixYyGRSJCVleVwv+3btyM5ORkKhQLJycl477333Oma/9mtEM0RFyIiIk9xObjk5+cjKysLq1evRmlpKdLT07Fw4UJUVFQ43F+r1SIiIgKrV6/GpEmTHO6zf/9+ZGZmYunSpTh48CCWLl2KJUuW4Msvv3S1e/5nPlUUqrcEF464EBEReYogiqJLpV1nzJiBqVOnYtOmTda2pKQkLF68GDk5Od0+d86cOZg8eTJyc3Nt2jMzM6HRaLBz505r24IFCxAWFoa8vDyn+qXRaKBWq1FfXw+VSuX8G/I0bQOQEwsASG59A4umj0HOjRP81x8iIqI+zNW/3y6NuOh0OpSUlCAjI8OmPSMjA8XFxa71tIP9+/fbHXP+/Pm9OqbfyEMAWRAAIFyo56kiIiIiDwpwZefa2loYDAZERkbatEdGRqK6utrtTlRXV7t8TK1WC61Wa72v0Wjcfn2PspT9v3gKEajjQotEREQe5NbkXEEQbO6LomjX5u1j5uTkQK1WW7e4uLhevb5HBZsm6HLEhYiIyLNcCi7h4eGQSqV2IyE1NTV2IyauiIqKcvmYq1atQn19vXU7c+aM26/vcdaFFus5OZeIiMiDXAoucrkcKSkpKCwstGkvLCzErFmz3O5EWlqa3TE/+eSTbo+pUCigUqlstj6jQxE6jrgQERF5jktzXAAgOzsbS5cuRWpqKtLS0rB582ZUVFRgxYoVAEwjIZWVldi6dav1OWVlZQCAxsZGnDt3DmVlZZDL5UhOTgYAPPjgg7jiiivwzDPPYNGiRfjggw/w6aefYt++fR54i35gCS6oYwE6IiIiD3I5uGRmZuL8+fNYu3YtqqqqMH78eBQUFCA+Ph6AqeBc55ouU6ZMsd4uKSnB22+/jfj4eJw6dQoAMGvWLGzbtg2PPfYYHn/8cYwcORL5+fmYMWNGL96aH4WYFlqMEDRoaTOgzWCETMoixURERL3lch2XvqrP1HEBgGP/BrbdjDLjSCzWPY3Sx+chLFju3z4RERH1QV6t40JOMp8qGirUA3C/eq5Ob8TJc40YINmSiIio1xhcvCHEcjl0HQARGjcm6H5bWY+fr9+Lq5/fg0+O/OTZ/hEREfVTDC7eYK7jIoceKjS7FFwMRhGbdv+AGzZ+jhM1jQCAd//3o1e6SURE1N8wuHiDTAko1AAsl0Q7d6rozIVm3LT5Czzz8TG0GURMv2wwAGDPd+fQrOPVSURERAwu3uJCETpRFPHu/37ENS/txVenLiBILsUzv5iA/LtnIm5wIFrbjCj67pwvek1ERNSnMbh4i00tl65PFdU163Df26XIfucgGrR6TB0+CDsfTEfmtOEQBAELxkUBAD7+1v21oIiIiAYKBhdvMddyCe9mxGXviXOYn1uEfx+qQoBEwG/mjcE7d6chfkiwdZ8F403B5T9Ha6DTG73fbyIioj7M5QJ05CRr2f96XOg0Obe1zYBnPj6GNz8/BQAYER6MFzMnY1LcILvDTIkLQ0SoAucatCj+oRZzxg71ds+JiIj6LI64eItljgtsJ+cePluP617eZw0tt8wcjo8euNxhaAEAiUTA/HGmEMTTRUREdKljcPGWDiMumtY262XOizeYLnMOD1HgzWXT8IfFExAk737ga+H4aADAJ0d+gsHIYnRERHTp4qkibwm2FKGrx6nzzbjp9S/wVfkFAMC85Eisu3EChoQonDrU9ITBGBQkw4UmHb4+dQEzRwzxWreJiIj6Mo64eIv1cug6HK3S4Kvy9sucNy9NcTq0AIBMKsHcJJ4uIiIiYnDxFvOpoiHQQAKj3WXOrrJcFr3rcDXXLiIioksWTxV5S3A4RAgIEIx4am40brpqKgKk7ufEy0eHI0guRVV9K775sb7LybxEREQDGUdcvEUqgxBkKtm/dEJgr0ILAChlUlyVaDr9tJOni4iI6BLF4OJN5tNFaPTM6s7tVXSreLqIiIguSQwu3mSeoIvGGo8c7qrEoZAHSHDqfDO++6nRI8ckIiLqTxhcvMnDIy4higBcMTocAK8uIiKiSxODizcFm9Yr8tSICwDMt5wuOszgQkRElx4GF2+yjrh4LrjMTYqEVCLgaJUGp883eey4RERE/QGDizd5+FQRAIQFyzFzhOlqJZ4uIiKiSw2DizdZJuee/wHQ6zx22AU8XURERJcoBhdvGjYVCBoCaH4E9j7nscPOHxcFQQBKK+pQXd/qseMSERH1dQwu3qRUAz9/3nS76DngbKlHDjtUpcTU4WEAgE+OcNSFiIguHQwu3jbuBtMmGoD37gH0Wo8ctr0YHYMLERFdOhhcfOGa502XRp87CuzO8cghLZdFf1l+AReaPDd/hoiIqC9jcPGF4CHAtbmm25+/BPx4oNeHHD4kCMnRKhiMIj494rmrloiIiPoyBhdfSboWmJgJiEbgvRVAW0uvD7lgPK8uIiKiSwuDiy8tfAYIiQLOnwD++4deH84SXPadqEVDa1uvj0dERNTXMbj4UmAYcP160+39G4DT+3t1uNFDQzAiIhg6gxGfHT/ngQ4SERH1bQwuvjZmPjD5FgAi8P49gM79sv2CIFivLtrFq4uIiOgSwODiDwv+BKiGARfLgU+f6t2hzKeLPjteg9Y2gyd6R0RE1GcxuPiDUg1c/7Lp9levAeVFbh9qwjA1YtRKNOsM2Hui1kMdJCIi6psYXPxl1M+AlF+bbn9wL6BtcOswgiBgvnnUZee3VZ7qHRERUZ/E4OJPGU8Dg4YDdRXAJ4+7fRjLPJdPj/yENoPRU70jIiLqcxhc/EkRCizaYLpd8ibw/X/cOkzqZYMRHiKHplWPL06e92AHiYiI+hYGF39LuAKYfrfp9o77gdZ6lw8hlQiYl8y1i4iIaOBjcOkL5j4JDB4BaCqBj3/v1iEsVxftOvwTDEbRk70jIiLqMxhc+gJ5MLBoIwABKPs78N0ulw+RNmIIQpUBqG3UorTiouf7SERE1Ae4FVw2btyIhIQEKJVKpKSkYO/evd3uv2fPHqSkpECpVGLEiBF49dVXbR7fsmULBEGw21pbW93pXv8Unwak3Wu6veMBoPmCS0+XB0gwNykSALCTp4uIiGiAcjm45OfnIysrC6tXr0ZpaSnS09OxcOFCVFRUONy/vLwc11xzDdLT01FaWorf//73eOCBB7B9+3ab/VQqFaqqqmw2pVLp3rvqr65+DBgyGmisBnY+4vLT549rn+ciijxdREREA4/LweWFF17A8uXLcccddyApKQm5ubmIi4vDpk2bHO7/6quvYvjw4cjNzUVSUhLuuOMO3H777Xjuueds9hMEAVFRUTbbJUcWCNzwKiBIgEPvAEc/dOnpV46JgFImQWVdCw6f1Xipk0RERP7jUnDR6XQoKSlBRkaGTXtGRgaKi4sdPmf//v12+8+fPx8HDhxAW1v7isaNjY2Ij49HbGwsrr32WpSWlnbbF61WC41GY7MNCLGpwOwHTbc/eghocv7y5kC5FHPGDAXAq4uIiGhgcim41NbWwmAwIDIy0qY9MjIS1dWO/1BWV1c73F+v16O21lSiPjExEVu2bMGOHTuQl5cHpVKJ2bNn48SJE132JScnB2q12rrFxcW58lb6tjmrgIgkoOkcUPAbl566cIL5dNFhBhciIhp43JqcKwiCzX1RFO3aetq/Y/vMmTNxyy23YNKkSUhPT8c777yDMWPG4OWXX+7ymKtWrUJ9fb11O3PmjDtvpW8KUAA3bAIEKXD4PaD0H04/9arEoZBJBXxf04jva9xbRoCIiKivcim4hIeHQyqV2o2u1NTU2I2qWERFRTncPyAgAEOGDHHcKYkE06ZN63bERaFQQKVS2WwDSswUYM6jptsfZQFnvnbqaSqlDLNHhQPg6SIiIhp4XAoucrkcKSkpKCwstGkvLCzErFmzHD4nLS3Nbv9PPvkEqampkMlkDp8jiiLKysoQHR3tSvcGnvTfAonXAgYdsO1moL7SqadZ1i7i6SIiIhpoXD5VlJ2djb/85S944403cPToUTz00EOoqKjAihUrAJhO4dx6663W/VesWIHTp08jOzsbR48exRtvvIG//vWv+O1vf2vd56mnnsKuXbtw8uRJlJWVYfny5SgrK7Me85IlkQA3vAYMHQc01ZjCi665x6fNTY6ERAC+rdTgzIWe9yciIuovXA4umZmZyM3Nxdq1azF58mQUFRWhoKAA8fHxAICqqiqbmi4JCQkoKCjA7t27MXnyZDz99NNYv349fvGLX1j3qaurw1133YWkpCRkZGSgsrISRUVFmD59ugfeYj+nCAFuygOChgBVZcCO+4AearSEhygw7bLBAIBdHHUhIqIBRBAHSKUyjUYDtVqN+vr6gTffBQBO7QO2LgKMelOhuit+1+3uWz4vx5oPjyAiVIGU4WEYFCSDOlAGdZAMgwLlUAfK2tvM7aGKgG4nWRMREXmaq3+/GVz6kwNvmibqAsCv3gYSf97lrtX1rbji2c+g0xudPrxUIkClDMCgIDlUgTJEq5R4cO5oJEUP0M+TiIj8jsFlIAcXACj4HfDVZkAWDNxRCESO63LX72sacKSqAfXNOtS3tKGuuQ11LW2ob2lDfbPpZ12LDnXNbdB2EXBUygD87fbpmDI8zFvviIiILmEMLgM9uBjagL/fCJQXAYOGA3d+BgSH9/qwrW0GU6CxBJxmHTYXncSB0xcRLJfijWXTMGOE48vXiYiI3OXq32+3CtCRH0llwC//BoQlAHUVwDu3Anpdrw+rlEkRqVJiTGQopicMRsa4KGxdPh2zRg5Bk86A2978Cnu+O+eBN0BEROQ+Bpf+KGgwcNM2QB4KnP4c2Plwj1caufUy8gC8sWwarhobgdY2I+782wF8wquUiIguSZrWtp538gEGl/5qaCLw//4KQABK3gS+/otXXkYpk+K1palYOD4KOoMR9/zjf/jw4FmvvBYREfU9Zy40Izu/DHOe3Y36Fv+HFwaX/mzMfGDuGtPtnY8AJ/d45WXkARK8fNMU3DBlGAxGEQ9uK8U7BwbQ2lBERGSntlGLNTsO4+rnd+Pd0kpcaNJh9/Eaf3cLAf7uAPXS7AeBmiPAN/nAP28D7vwvMHiEx18mQCrB87+cBKVMiryvKvDwv75Ba5sBt6Zd5vHXIiIi/2nU6vF60Un8Ze9JNOkMAID00eH43fyxmBg7yL+dA4NL/ycIwHXrgfPfA5UlQN5NwPJCQOn5K6skEgF/umE8AmVSvPF5OZ744DBadAbcfeVIj78WERH5llZvwNtfVuCV/36P802miz4mxqrxyIJE6+K9fQGDy0AgUwKZ/wBevwo4dwx4905TgTqJ1OMvJQgCHr82CUFyKV757Hvk7DyGljYDHvzZaFbdJSLqhwxGER+UVeKFwu/w48UWAEBCeDB+mzEW10yI6nO/2xlcBgpVNPCrfwBvXgN89zHwn7XAvKe88lKCIOC388ciUC7Fs7uOI/fTE2jRGfDowsQ+9wUnIiLHRFHEf4/V4Nldx3GsugEAMDRUgay5Y/DL1FjIpH1zGiyDy0AyLAW4/hXg3TuAz3NNVXUnLvHay9171SgEyqRY+9ERvFZ0Es06A566fhwkEoYXIqK+7MCpC3jm42P4+tRFAECoMgD3zBmJX89KQKDc86P1nsTgMtBM/CVQcxjY9yLwwX2ALBBQxQCCpMMm7XRfMJ1WsmmTAAFKIHBQty93++WmL/nv3zuEt744jZY2A575xURIGV6IiPqc49UNeHbXMXx61HR1kCJAgmWzL8M9V47EoCC5n3vnHAaXgejqJ4CaY8B3O4H8W3p3rIQrgZkrgdEZgMTxsOFN04dDKZPgt//8Bv8q+RGtbQa8mDm5zw4zEhFdSi406fD1qQv4+NtqvF9WCVE0Laq7JDUWD/xsNKLVgf7uoku4VtFA1aoBdtwHnC01VdUVje2b0dDhfsfHDLb7iR0WXhw8Aph+NzDl/wBFqMOX3HmoCg9sK0WbQcTcpEi8cvMUKGV9e8iRiGigqa5vxVenLuCr8vP4qvwCvvup0ebxheOj8JuMsRg1NMRPPbTFRRYZXDzn4mng69eBkq2Att7UplABU24Bpt8FDE6we8pnx2pw999LoNMbkRofht9kjMXMEYM5aZeIyAtEUcSZCy340hxSvjp1AafPN9vtN2poCKYnDMaS1DhMjhvk+452g8GFwcXztI3AwTzgy9eA8yfMjQIw9hpg5grgsnTTPBmz4u9rccfWA2g2Fy4aP0yFO9NH4JoJ0Tx9RETUC0ajiO/PNeLL8gv4qvwCvi6/gGpNq80+EgFIjlFh+mVDMD1hMKZdFoYhIQo/9bhnDC4MLt5jNAI//Bf4YiPww3/a2yPHAzNWABN+aaopA+D0+SZsLjqJf5X8CK3edMopRq3Er2cnIHN6HFRKmT/eARFRvyGKIqo1rfi2UoNvK+vxbWU9/ldxERebbdcLkkkFTIwdhOkJgzE9YTBS4sP61e9YBhcGF984d9w0AnMwD2gzD0sGDQFSfg1Mu8NUVwamSWF//+I0tu4/hdpGUyXGEEUAfjUtDr++PAHDBvWvSWFERN4giiIq61rMAUWDQ5X1OHy23vp7syOlTIKpw8OsQWVKXFifv4S5OwwuDC6+1XIR+N9W4KvXgXrzwouSAGDcDaYAEzsdkEjQ2mbAB2WVeH1vOb6vMU0Uk0oE/HxCNO5MH4EJsWo/vgki6k/0BiN0BiMkgmCq5iAIptswnbXu63PqRFFExYVmm4DybWW93UgKYPo9OXpoCMbFqDFhmAoT4wZhfIwa8oCBc9qdwYXBxT8MeuDYR8CXrwIV+9vbVcOA5EVA8mIgdhqMELDnu3N4fe9JFP9w3rrbjITBuDN9BK5OHMoCdkSXOINRRE1DK85caMGZC804c7EZP1403f7xYguq6ltg7OYvV3uYAQQINvclggCJRIBSJkGQPACBMimC5FIEKQIQZL4dKLf8DDA9Jpea9zPdhwDo9EZo9UbzTwO0baYwZfppe1+rN1hvN7TqcbRag4ZWvV2/AyQCxkaFYnyMGuOHqTB+mBpJ0aoBf3UmgwuDi/+dLQW+3Awc3QHoOlyGpxoGJF1vGo2JnYZvqxrw133l+PDgWejNv4VGRARj+eUJ+MXU2AH/HyvRpUoURZxv0plDiSWQtIeTyroWtBkGxJ+mLsmlEiRGh2L8MDXGx6gxYZgaY6JCoAi49H7vMbgwuPQdbS3A9/8BjrwPHP8Y0DW0PxYaYxqJGbcYVaoJ2FJcgbe/qrD+v5DBwXIsHB+FuUmRSBs5hCGGqJ9rbTPgy/IL+OxYDT47XuPwkt2OAiQCYgYFIjYsEHFhQYgbHIjYDj9DFAEQARhF0VSeShSt942iaCpRJTq+rzeKaG0zoFlnQLNOjxad+XabAS06PZp1BmtbU4fHW3QGNLfpIYqmirPyAAkUAVKb26afHTaZFHKpBAqZBHKpBIFyKUYNDcGYyFBeZWnG4MLg0je1tZquRDr8PnB8p4MQcz2aR1+HvKpovPH5aVTWtVgfDpRJMXtUOH6WNBRXJw5FpErp+/4Tkct+vNiMz46fw+5jNfj8h1q0trUXtRQEIEqlRFxYEGItoSQsEHGDgxAbFogolRIB/MN+SWBwYXDp+9paTZdVH3nfFGK0mvbHQqNhTLwOZaFz8P75GBQeu4CqetsaBROGqXF14lDMTYrEuBgV58QQ9RFtBiMOnLqI3cdNoyqdK7ZGqZS4KjECc8YOxexR4QhRcNUZYnBhcOlv9FpTiDn8PnC8wDbEKNQQL5uN6iFp+I82Ef86HYSDlfXo+I0dGqowj8REYvaoIQiS8xchkS/VNLRi9/Fz2H28Bnu/q0WDtn3SqUQAUuLDMGesabQ0MSq0z1/xQ77H4MLg0n/ptcAPn5lHYgqA1nrbx0Oj0Rp3OQ7KJuO9ulH4sBxoMlfnBUznnGeNHIKrkyJx5egIxA0O5C9JGpCMRhGa1jbUNbehUatHS5tlDobePG/DNHej41yNZp0BLW16NGnb52q06UVIJQJkUgFSiYAAqcR8WwKZRECAVECARNL+09wmk0ogiiL+V1GHQ5W2/50ODpZjzpgIXJU4FFeMjoA6qP8UQiP/YHBhcBkYjAagqgw4uRs4uQeo+AIwaG13GTIa1YOno8gwHn87G4ujdbYTeNWBMtMlhTFqjBumxrgYFRKGBPPUEvUZRqOIVr0BF5vbcLFJh7rmNtS16HCxuQ11TeafLab2i83mx5t1qG9p6/ZyYF+bGKvGVWOH4qrEoZg4TM3/xsglDC4MLgNTWwtw5ktTiDm52xRqOqxeLQoSaMMn4EjgVHyoGY1/nhuGRoP9/9MLlkuRHKPCuBi16TLEYSqMigjhJEAfMRpFNLTqoWltQ32LadOYf+oMHf49O/xW6vgrquMvK0/+5jIYRVOdDb0RbQZTbQ7L1mYwQmuwva/Tm2p0WH4ajSIMogij0XQsgyhCFEXTbaMIo/lqFtPt9rbeCpJLEawIQLDDmiOda5MEWGuUBJtvy6QS6I1GGIwi2gyizW2D0WhqMxihN5quxLHeNpjuj4wIxpyxQxER2nfXwaG+j8GFweXS0HIROLXPFGTK9wC139k8LMpDUHfZQpSFLcBnrWNwqKoBR6s0Nlc1WCgCJEiMVmF8jKngU3K0CiFK01yZ9v86Ovzx7PhH1UGbIAAy85C7XCox3Q5ov9+fT1+1GYxobNWjUWsKH42tejS06tGgbTMFEmsY0bcHkw4hpVGr92jgGChkUgGDguQIC5K1/wyUY1CwDGFBcgwKlNk9rg6SXZI1P2jgYXBhcLk01VcC5UWm0ZjyPUBDVftj6jhg4hLox2fiJGLwbWU9Dp/VWH82au0rWHqTzDxHwLLJpYI52Jg2qaS9hLmkQzlzSYd2QTCVArdWBxUESM37WG8LgKTDPlKJ4PAxU7vp2K1tBmsYadTq0dDahgatOZy0tjkMfu4IlEmhCgyAOlAGdaAMKqXMvlaP0O1duwDYmzgolZhCpdz87yC31uVoD5xyc40OmVSw1u2QS6WQSU3zPiyfrfXfRQLzv4nlMze3me8L5n0VARIEyaX9OtAS9QaDC4MLiaLptFLZ26arlbQdJg8OSwUm/QoY/wsgaDCMRvOaIWdNC5sdPluPY9UN0Olt600Atn8YO/6RETrtZxRNIxOWUwp9aS6CpwTKpAhVBiBEGYBQpQyhigCEKgOgUppGAkxhJAAqSzDpEFBUgQEcKSAiKwYXBhfqqK3FVCvmYJ6piq9ovgpJIgPGLgAm3QSMmgcEyL3WBdOcAdNciDa9ad6A9b7BiDa9aL1tCjqmeRBGo6XqZ3v1T6MI69wJS7vpfod9jPbPMRgd7Gc5tnXeBaCQSRCqDDAHEZkpnHS4HaoMQLAigBU/ichjGFwYXKgrDT8B3/7LFGKqD7W3Bw4GJvw/U4iJmdI+dEJERF7H4MLgQs6o/tYUYA79E2j8qb09fCwwKRMIu6yXLyAAgqTD1uG+9TGh63YIjn9295jTP9H96wD2+zs6hs3tjs/pdGzre+uijUGR6JLG4MLgQq4w6E0Teg/mAcc+AvStPT6FvMETAaaXz+8YMG3CZaeQZfO4o+fA8TEchdbuAq71ObBv67yfU/3vFJY7h9UuP5duHpfKAVkgEBAIyJRd/OzqMSUgCQAEKSDhqcdLmat/v1kfnS5t0gBg9FzT1loPHPkAOPZvQNfk/jFFEYB5KVrRaK43Y7ndua3Tfh3bHf6EE/t081yb+0b7fTr33/oT7Y97RcfX8RPR0PM+5CUCIJGaQ0yA+bakw21Lu6Q97AgeDDsdRxG7bbO74f7rORxldXQbjkdIHfXRmffRMdBaPudug3GnfWbeA4TF9+799xKDC5GFUg1MvdW0UddEJ4KOXbjqHJLQqa2Xl1n3OvQ46KujcOnwcRf2t2vrvF/HTezidof9jYYOr2n+DHvsX4fX7imMdvu5iqZlOvStpknwnX+2tQD6FtOiqjaPNTv49xYBox6A3q5CNvUx43/RP4PLxo0b8eyzz6Kqqgrjxo1Dbm4u0tPTu9x/z549yM7OxuHDhxETE4OHH34YK1assNln+/btePzxx/HDDz9g5MiR+OMf/4gbbrjBne4RkTdxXgr1higChjZTiBENgNFo/qk3BTHRYPppNLd1vC92aPfUCKCjEUVn29x6PfP/OAqTXd6Gbbuj/jjTZ8vzjQbHgdhmMzh+XBXdu/fvAS4Hl/z8fGRlZWHjxo2YPXs2XnvtNSxcuBBHjhzB8OHD7fYvLy/HNddcgzvvvBN///vf8fnnn2PlypWIiIjAL37xCwDA/v37kZmZiaeffho33HAD3nvvPSxZsgT79u3DjBkzev8uiYiobxAEU/kBL5YgoIHN5cm5M2bMwNSpU7Fp0yZrW1JSEhYvXoycnBy7/R955BHs2LEDR48etbatWLECBw8exP79+wEAmZmZ0Gg02Llzp3WfBQsWICwsDHl5eU71i5NziYiI+h9X/367NLtJp9OhpKQEGRkZNu0ZGRkoLi52+Jz9+/fb7T9//nwcOHAAbW1t3e7T1TGJiIjo0uTSqaLa2loYDAZERkbatEdGRqK6utrhc6qrqx3ur9frUVtbi+jo6C736eqYAKDVaqHVtk/i0mg0rrwVIiIi6ofcup6s82Jgoih2u0CYo/07t7t6zJycHKjVausWFxfndP+JiIiof3IpuISHh0MqldqNhNTU1NiNmFhERUU53D8gIABDhgzpdp+ujgkAq1atQn19vXU7c+aMK2+FiIiI+iGXgotcLkdKSgoKCwtt2gsLCzFr1iyHz0lLS7Pb/5NPPkFqaipkMlm3+3R1TABQKBRQqVQ2GxEREQ1sLl8OnZ2djaVLlyI1NRVpaWnYvHkzKioqrHVZVq1ahcrKSmzduhWA6QqiV155BdnZ2bjzzjuxf/9+/PWvf7W5WujBBx/EFVdcgWeeeQaLFi3CBx98gE8//RT79u3z0NskIiKigcDl4JKZmYnz589j7dq1qKqqwvjx41FQUID4eFMlvaqqKlRUVFj3T0hIQEFBAR566CFs2LABMTExWL9+vbWGCwDMmjUL27Ztw2OPPYbHH38cI0eORH5+Pmu4EBERkQ0uskhERER+49U6LkRERET+xOBCRERE/QaDCxEREfUbDC5ERETUb7h8VVFfZZljzNL/RERE/Yfl77az1woNmODS0NAAACz9T0RE1A81NDRArVb3uN+AuRzaaDTi7NmzCA0N7XaNI1dpNBrExcXhzJkzvMzaBfzc3MPPzXX8zNzDz809/Nzc093nJooiGhoaEBMTA4mk5xksA2bERSKRIDY21mvH57IC7uHn5h5+bq7jZ+Yefm7u4efmnq4+N2dGWiw4OZeIiIj6DQYXIiIi6jcYXHqgUCjw5JNPQqFQ+Lsr/Qo/N/fwc3MdPzP38HNzDz8393jycxswk3OJiIho4OOICxEREfUbDC5ERETUbzC4EBERUb/B4EJERET9BoNLDzZu3IiEhAQolUqkpKRg7969/u5Sn7ZmzRoIgmCzRUVF+btbfUpRURGuu+46xMTEQBAEvP/++zaPi6KINWvWICYmBoGBgZgzZw4OHz7sn872IT19bsuWLbP77s2cOdM/ne0jcnJyMG3aNISGhmLo0KFYvHgxjh8/brMPv2/2nPnc+H2zt2nTJkycONFaZC4tLQ07d+60Pu6p7xqDSzfy8/ORlZWF1atXo7S0FOnp6Vi4cCEqKir83bU+bdy4caiqqrJuhw4d8neX+pSmpiZMmjQJr7zyisPH//znP+OFF17AK6+8gq+//hpRUVGYN2+edT2uS1VPnxsALFiwwOa7V1BQ4MMe9j179uzBvffeiy+++AKFhYXQ6/XIyMhAU1OTdR9+3+w587kB/L51Fhsbi3Xr1uHAgQM4cOAArr76aixatMgaTjz2XROpS9OnTxdXrFhh05aYmCg++uijfupR3/fkk0+KkyZN8nc3+g0A4nvvvWe9bzQaxaioKHHdunXWttbWVlGtVouvvvqqH3rYN3X+3ERRFG+77TZx0aJFfulPf1FTUyMCEPfs2SOKIr9vzur8uYkiv2/OCgsLE//yl7949LvGEZcu6HQ6lJSUICMjw6Y9IyMDxcXFfupV/3DixAnExMQgISEBv/rVr3Dy5El/d6nfKC8vR3V1tc33TqFQ4Morr+T3zgm7d+/G0KFDMWbMGNx5552oqanxd5f6lPr6egDA4MGDAfD75qzOn5sFv29dMxgM2LZtG5qampCWlubR7xqDSxdqa2thMBgQGRlp0x4ZGYnq6mo/9arvmzFjBrZu3Ypdu3bh9ddfR3V1NWbNmoXz58/7u2v9guW7xe+d6xYuXIh//OMf+O9//4vnn38eX3/9Na6++mpotVp/d61PEEUR2dnZuPzyyzF+/HgA/L45w9HnBvD71pVDhw4hJCQECoUCK1aswHvvvYfk5GSPftcGzOrQ3iIIgs19URTt2qjdwoULrbcnTJiAtLQ0jBw5En/729+QnZ3tx571L/zeuS4zM9N6e/z48UhNTUV8fDz+/e9/48Ybb/Rjz/qG++67D9988w327dtn9xi/b13r6nPj982xsWPHoqysDHV1ddi+fTtuu+027Nmzx/q4J75rHHHpQnh4OKRSqV0SrKmpsUuM1LXg4GBMmDABJ06c8HdX+gXLFVj83vVedHQ04uPj+d0DcP/992PHjh347LPPEBsba23n9617XX1ujvD7ZiKXyzFq1CikpqYiJycHkyZNwksvveTR7xqDSxfkcjlSUlJQWFho015YWIhZs2b5qVf9j1arxdGjRxEdHe3vrvQLCQkJiIqKsvne6XQ67Nmzh987F50/fx5nzpy5pL97oijivvvuw7vvvov//ve/SEhIsHmc3zfHevrcHOH3zTFRFKHVaj37XfPQxOEBadu2baJMJhP/+te/ikeOHBGzsrLE4OBg8dSpU/7uWp/1m9/8Rty9e7d48uRJ8YsvvhCvvfZaMTQ0lJ9ZBw0NDWJpaalYWloqAhBfeOEFsbS0VDx9+rQoiqK4bt06Ua1Wi++++6546NAh8aabbhKjo6NFjUbj5577V3efW0NDg/ib3/xGLC4uFsvLy8XPPvtMTEtLE4cNG3ZJf2733HOPqFarxd27d4tVVVXWrbm52boPv2/2evrc+H1zbNWqVWJRUZFYXl4ufvPNN+Lvf/97USKRiJ988okoip77rjG49GDDhg1ifHy8KJfLxalTp9pcDkf2MjMzxejoaFEmk4kxMTHijTfeKB4+fNjf3epTPvvsMxGA3XbbbbeJomi6RPXJJ58Uo6KiRIVCIV5xxRXioUOH/NvpPqC7z625uVnMyMgQIyIiRJlMJg4fPly87bbbxIqKCn93268cfV4AxDfffNO6D79v9nr63Ph9c+z222+3/r2MiIgQf/azn1lDiyh67rsmiKIoujkCRERERORTnONCRERE/QaDCxEREfUbDC5ERETUbzC4EBERUb/B4EJERET9BoMLERER9RsMLkRERNRvMLgQERFRv8HgQkRERP0GgwsRERH1GwwuRERE1G8wuBAREVG/8f8BOKff48JbLugAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -1953,8 +2426,8 @@ "\n", "\n", "np.random.seed(2018)\n", - "n = 50\n", - "maxdegree = 5\n", + "n = 100\n", + "maxdegree = 30\n", "# Make data set.\n", "x = np.linspace(-3, 3, n).reshape(-1, 1)\n", "y = np.exp(-x**2) + 1.5 * np.exp(-(x-2)**2)+ np.random.normal(0, 0.1, x.shape)\n", @@ -2709,7 +3182,10 @@ "id": "8d0397cd", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -3027,7 +3503,10 @@ "id": "f5d258ce", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -4059,7 +4538,10 @@ "id": "6f4b429b", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -4097,7 +4579,10 @@ "id": "87d44fdf", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -4156,7 +4641,10 @@ "id": "928ae649", "metadata": { "collapsed": false, - "editable": true + "editable": true, + "jupyter": { + "outputs_hidden": false + } }, "outputs": [], "source": [ @@ -5063,7 +5551,25 @@ ] } ], - "metadata": {}, + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.15" + } + }, "nbformat": 4, "nbformat_minor": 5 }