Spaces:
Sleeping
Sleeping
Utkarsh736
commited on
Commit
•
a64a921
1
Parent(s):
3810327
[Added] Image folder (lfs-tracked)
Browse files- .gitattributes +4 -0
- Bearify_nb.ipynb +272 -296
- Images/black.jpeg +3 -0
- Images/grizzly.jpg +3 -0
- Images/teddy.jpg +3 -0
.gitattributes
CHANGED
@@ -35,3 +35,7 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
36 |
images/** filter=lfs diff=lfs merge=lfs -text
|
37 |
*.jpg filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
36 |
images/** filter=lfs diff=lfs merge=lfs -text
|
37 |
*.jpg filter=lfs diff=lfs merge=lfs -text
|
38 |
+
Images/** filter=lfs diff=lfs merge=lfs -text
|
39 |
+
Images/* filter=lfs diff=lfs merge=lfs -text
|
40 |
+
Images/ filter=lfs diff=lfs merge=lfs -text
|
41 |
+
Images/** filter=lfs diff=lfs merge=lfs -text
|
Bearify_nb.ipynb
CHANGED
@@ -1,326 +1,302 @@
|
|
1 |
{
|
2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
{
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
},
|
|
|
|
|
|
|
|
|
14 |
{
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
"
|
20 |
-
|
21 |
-
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
},
|
|
|
|
|
|
|
|
|
23 |
{
|
24 |
-
|
25 |
-
"
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
"
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m315.9/315.9 kB\u001b[0m \u001b[31m29.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
|
43 |
-
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m75.6/75.6 kB\u001b[0m \u001b[31m8.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
|
44 |
-
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m142.5/142.5 kB\u001b[0m \u001b[31m16.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
|
45 |
-
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m8.7/8.7 MB\u001b[0m \u001b[31m74.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
|
46 |
-
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m47.2/47.2 kB\u001b[0m \u001b[31m5.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
|
47 |
-
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m60.8/60.8 kB\u001b[0m \u001b[31m6.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
|
48 |
-
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m129.9/129.9 kB\u001b[0m \u001b[31m15.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
|
49 |
-
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m77.9/77.9 kB\u001b[0m \u001b[31m9.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
|
50 |
-
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m58.3/58.3 kB\u001b[0m \u001b[31m7.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
|
51 |
-
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m71.9/71.9 kB\u001b[0m \u001b[31m8.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
|
52 |
-
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m53.6/53.6 kB\u001b[0m \u001b[31m6.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
|
53 |
-
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m307.7/307.7 kB\u001b[0m \u001b[31m22.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
|
54 |
-
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m341.4/341.4 kB\u001b[0m \u001b[31m22.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
|
55 |
-
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.4/3.4 MB\u001b[0m \u001b[31m47.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
|
56 |
-
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m49.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
|
57 |
-
"\u001b[?25h Building wheel for ffmpy (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
|
58 |
-
"\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n",
|
59 |
-
"spacy 3.7.4 requires typer<0.10.0,>=0.3.0, but you have typer 0.12.3 which is incompatible.\n",
|
60 |
-
"weasel 0.3.4 requires typer<0.10.0,>=0.3.0, but you have typer 0.12.3 which is incompatible.\u001b[0m\u001b[31m\n",
|
61 |
-
"\u001b[0m"
|
62 |
-
]
|
63 |
-
}
|
64 |
],
|
65 |
-
"
|
66 |
-
|
67 |
-
]
|
68 |
-
},
|
69 |
-
{
|
70 |
-
"cell_type": "code",
|
71 |
-
"execution_count": 3,
|
72 |
-
"metadata": {
|
73 |
-
"id": "Fg2er2rQLApV"
|
74 |
-
},
|
75 |
-
"outputs": [],
|
76 |
-
"source": [
|
77 |
-
"#|export\n",
|
78 |
-
"from fastai.vision.all import *\n",
|
79 |
-
"import gradio as gr\n",
|
80 |
-
"\n",
|
81 |
-
"def which_bear(x): pass"
|
82 |
]
|
|
|
|
|
|
|
83 |
},
|
84 |
{
|
85 |
-
|
86 |
-
"
|
87 |
-
"
|
88 |
-
|
89 |
-
"base_uri": "https://localhost:8080/",
|
90 |
-
"height": 209
|
91 |
-
},
|
92 |
-
"id": "vBBjPghILOjq",
|
93 |
-
"outputId": "caa4c037-3d1e-43ae-a8e2-0f9c79198a2d"
|
94 |
-
},
|
95 |
-
"outputs": [
|
96 |
-
{
|
97 |
-
"output_type": "execute_result",
|
98 |
-
"data": {
|
99 |
-
"text/plain": [
|
100 |
-
"PILImage mode=RGB size=192x192"
|
101 |
-
],
|
102 |
-
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAIAAADdvvtQAACf/klEQVR4nOz9Z7R22XXXic45V9rpiSe8ueqtXKWSVLIsWZItWY7CCWyuTXDAhGFoGG6wCRd8uXS7u2nA4NF9uTQNo01oG0xjw224mGDcuCUHWZaTrFSKVaUKbzzpCfvZYaU574fqweAaaKCH6z1l2b9P59M5e//n76y99l5rzw3wG/yn8wVv+7z3vPuf/ssf/eFv+ZZvWC6X53045wme9wH82uN3/+7f+Uf+4DeltAPinOXkpPvf3/MLP/Xen0eQJx9/6F/82E+enq2Xe8snn3zip3/qZ877YF9xfkOg/wSapvqOb/893/yNX5d8d+fGp3zs8jAqhP2Ll5kq4TiZ1D/yL3/+v/izf+07v/P3/7Hv+AM/8IP/n+/7G3/vpRdvnPeBv4L8hkD/sTz68AN/4g9/02sevRriUNf18Ysv9O3a73yMQ4jb/QvXrVHlZD6/8uif/8t/93d982959IGLibnz5m/+7X/4/d//90TkvM/gFUGf9wH82uDtX/DmP/Mnfn9pwvHt53MOO2uH7frk6NigLayrp1cW0/uK2jFK8v0f+8O/Yzapz24/J0RXH/7csio+W+2B3xiB/mP46q/80j/5R39Xd3xrsz3h4BWSANx47tN1NXnw+hNFUdbLRdsO2/aYAIDY1q6sLGSZ7F/g4spv+x3frjTt2t2dO3fP+1R+9fkNgf4DfOd3fucf+ravu/uZD9198aXBb43WOUDX9YeL/aKqSeGQgkK6+ewLQ78jp/b39wDM4eGBdlY3i/d+6PnVtv2O7/zO//q/+p7v+76/dd5n86vPb1zC/s94/InH/9Af/Lb2+Ont+gQgEkRgqMqpQgx53B6vFSEWamzjdn0kHBGKYWysxhClLCsU9ZY3PfL4E0+996fe94//8Y+c99m8ItB5H8Crmt/8NV/lbMwcITPHETOHPlhrGfn4+Dh7z5BzCDGEJDEJ+aEfu85YvW27bjdsj48mVv/QD/+z/+wPfsfx8fF5n80rwm+MQL8SIprNZjnnsiy+6ive2W2PhNmaJqou7HZaubEf2nUrkvtxVBy0Va6u0dih7ZUSFH16sinqWJfNZFr/yI/+9J/93r953uf0CvLrS6DCuflifvHC/tUrl/aWc2PVarV64cVbTV2+60veOpnMBNX+/vLq/fdBVgB5NtXd2RGlWBZWmopo6UwZE1LmMA5FM3FFFeLY7U6VKoawms4XWJQVFqWrM4Ox9srFw8uXLt66fee8T/2V4rN/Ej2bTR977JE3fs7rH3vk+qOPPHjpcL8orSImlBh7P7Qh+pxSaUpb1spWAhhzJEFOse92qV9JzDn1KfTEhpSOSU6PjzbtBpC0MYgyjG27jbu209bs7+3VRbW3PCirRkCi4g89d/e//LN/NaV83km8InzWCoSIb/28N3zt13z5F3z+2y5fOVAKc/KcYvQdM2cOyceh21IKgJCZAQtXFsqUDISEWpGkOHZdGFrM0XuPmBQUQNQP7a7b7do+JxRMKfnBcwg0Jm+daZqqKWqNUBU2pdiH8OhTT33gUzf/yl/5u8899+J5p/Krz2enQNeuXf4z3/Xtb3/LU9ZoZglDl7MXSL7fKcxEFEIgVNkH9lk5w8CcY4yRXAOatDaIkscATCjJdy0jK1KIRkTaoTs+3bCkGLNkBKLtrq2bmSA5ZYaubduudLay5Oo6Cb7mTW+4dN8jd++03/gtf/DmzVvnnc2vMp+Fc6AHH7jvr/53/+WjD13arI5GkBgixSAccg4xeoBESuUIShVGazRaRGIYYt9xypZzFmKtsoAha5TZtWtXlkQmxNgHrwBjSKiI2M3nVYrS9f2ubV+88bwot6wnEnJISS+XA0M7jheuXJhOFgbLRx6+9KVf9sV/5wf+3nnH86vMZ5tA165d/Wv/7//m4auL9cltP5xqsslHyQPnyCwibLSBhCiojDFlCTnvTo+GXYtMiMAhClqRXBQT7WwKg500ZB2mPLZDDN7nVLqmns2NtTlpQnv79q08hNWNo6RMcYEMqao0lUNji86HHNO42/qydUVzeHBw3vH86vNZJdCVK5e+98/9ieuX6t36pdgPkHofB61cZrCm8H4gKoxxLCwStSFE8N6zH51SYB2RBA4gWcSEMPg4EDAApdRp1JYgZi85F4XGwjDDOPbj0IpwWbr95XS9Gbt2u7eYzeczrY0zOieujWXfRd+GOP3EJz913gn96vPZI9AjD13/3r/4Jx6+stedrQlijj0HIiJAMcYoRT6QUpgSkGGnLXBKAYP3ISYBFoZh7EIIigyiKstaaZNBiMhonQ0JgLZGZTcOI7AM3o/jwMkMwxBCCCJlaQujL17cY5F26AdJlS1dWRAQiNy8cefn3v8L5x3Srz6fJQK9/Qs+97v/n992MDPbsxuY2NmCsCgnJSPE0IpwZhZh5gwQFRhEZI4IAmkcYy9sFAFEZh/IEhnFORIBAvRDjEmIECAiJGOMCOXUsk8cwYsPKfTDQGTq/ckj1+9P0R8dn4XMpq5e/443Hh5cVa6qpvP/6e/8wGflw+hfewIZY1iEcxYRALx27dI3fsNXfdPXf6GCvt/cDdvBKpdAgaAApORHP3BK1lgQEYbMozJCXCIUKWYiO59f1M4mH5J3E54wYogpZ4YUlSJrFAhrq7erNebAVkhTpgLBWAPBZ+F84erlsiiVIhKwxi3nizHx5fvvn8+muiwOLz/63p/9he//Oz903sm9Iry6BFrMZyxitP6Wb/y/na027/mpn12t1pcuHj766MP7+4tr165eubhoXLauBu3OVqdlWV67evHCtNqdvoAccmSlFBAJSxh7heTHHeckIDHEHII2Ell0SlpFwUKRnexPETFLHvq+P/ZkiCHnnLMAIBOSxHExadabjVNSVVVIQ0YlbGKWLIMBM6ntfDE3ypCmNIxj2+m6muri6tVLZK0X6sfh/b/4y13Xn3e6rwivCoG01imlhx9+4Ie+/68iUcjdYlZoqv/4d/7+Gzefn0zM3nIv+gFRbU5uHb/0rAq76eTipflSGYswtKer7mSVU6ybqdLKOpdS1AYlBw7BKAUE4zBiRqDkNAgLKaWUEoGcIwunxMjoinLXtSkFawuR0G47P46FM8xCEuumGgefuUZyKQwh9jFl67S2qInK0gor1rD1a2P0gw9cRYVktFJE2pRldd4Zv1Kcs0CXLl44OT37A7//W7/ky74o+93VSzPIcdO17eqlerpvQZZ6Hdbt3bNnY1TGlSn6sR9Xq5fKk6Oyqevp0mmrWOKY23btx3G+txQYEFlrlf3QFAZBbdutpESklLjKuqQU56xUSjFr7bLkFPPQ9in6YduTNbostpsRWUPCre/G3W42XbKyZCqFOnFCGhDIKZOSt0WprWVEEdMNndXq0mI+nc+QXEqgDIbkh34435xfOc5TIET8c//NnyTlFPGbXn9/6Ld9e0ep3N59KYzeSDq5e3d9fFtyBHbKWucq0mXhGut2XdeKMImO2tWu0FrXVW2dEZHMqUCdQgDEEPPQbnKMQwxKa2EgRWAhxxQTKaVCCpF98DlzGrwno1n46Pgoh+SsuXi4d/fWLUpQGbvbtW03brqBCFiys45UtFWRkke2xEQKrKXldH64fwUI7GSqVGW0833/Ez/x7nPM+RXlPAX60i/6gne87bVVPcmRj1/4CEHKKaGS4xdfGDed1vbu3ZtjP2aNZb2Moa/qStAwgh/TdjOCWIJ+MdeQB2Wsc0WIY9wFpUwmlBx9iMwAKQ3DJoqELe3tFybH6EcfcLooFCFnhhBUhPV2Owzjcm+/PTtBHyZVnTlNpsVuZY0tfQqIalaWY7eJGUmpGL0ljahEMoGAsLF0/YHr43gKTVVND8vJQdMcKG1+8H/54Q9+8CPnmPMryrkJtFzM/9gf/taSOO5WMQy74xc5JEhISA2WYBKgmjfTYCe7BErprNLtm7eZI7ly9KK0YoYYIoeIugohpOQlJiETecuacyYBCdFLJu0aBVAW2jnV+dE1pXWcuR8Hi4xGMPp+URWTygzjNqRhOpuEyEVRHh0dn26Oy/rQWRWjr7S+eGF/NfRt2wsJOotECkD6XaqYlCrKq7ooyBX7Fx/6wAc//he+9//ed/2nPvWpnD87l+LhHAX6/Ld97gNXpqc3n7fGAA8Y4ub4dFrv2bJGq0ugG7dv5oRFUcb1mhTszZaHi+XzL73Q+6QENZkUQjUpJPtxwMjBOe2KgpmCb4cxaF0qKhBSRgDURWGN0sbasfMQs0Q0RMZoZTD5VNUVaeCU4tiXRcUARiOLX602VT1nEGdNjn7ofTObVEWldUVGJUmIFGJAZQyn6Le93y4Or2hbFXXzYz/+np97/8+dV7z3jHMT6OHrV4HD+uSWkiTM/S6Vk/2Esot+2LVOJ9LGuAJIqqpxTglLWU0Wi8N4fOxKE0GVhS2cqQoXgtcIIJIlNdWktDNURikbY9ZWZwStHIKkEEUyCXar7Wy68ENnEL0PMWYWmS5ngnR44fDWnaNt3zXNnAin87kfRuC0a7eGLGhZrVZF1VRFCcYobcbRWw3aCYkG0OOwDfHglz78wkc+8iM//MP/8LyyvZec4xwocuw4pc2qM0XJytXlsu/W3diKSIxYzw5Q6RBGnfJ2s17Mps5pghj8duxzOZlqKqMQqUIZqJzrdn3g0MY1aVJa+67NHDgnFDVih2itJa1N6ZrxNGy7VpPWyocwusI47Ya2FcSQYs4ZMmy7QStl7fTk5lkY25Rkf2+/Lu1iXvRD7LqdcbqZTEvnGChxxyScgc/Wxp28//0f+Jt/+wfPL9h7yrkJpBSmGEgrUXoMOSXmcBqjH7zvh7Gu6klJvR9LawWgKKvptLl7fNuWZbvrFXIzndZVqch0Yz8ti7qsCRUzJxEf4tn6bPR9Sql0xiiMOWtVZdGZua5qMHq1OWuKIrMnIiQWQc5ZCDfbDbNorfsQ6vkixJwRswAi5zQACkhNpAwycgq+A2VJW0UKFYkWjSDJv/mNT/7A3zUxxvPK9l5ybgLduH3UeX+2Wq1PWwAqXLHuYlnPqmquoOt2O1LaVqUApJzr2XQ3RFC1KeoLF6/FcVuW9TiM1hTMeYxR+v6lmy9dvnSBjEl9KAxWturacdeuBLGZTsmSzzFLHsdhHMPQ+ziOhS2E83JvmQQtWUKqy6rrO6VtQarb7oTsh5+72/ftY1f3rljLY4ZCAUXJAckxC1DknLQurCqr0gkxSnrysceuXbv23HPPnVe295JzE+hfvecXvuGrv/D4xp2hSwf7Byi5LIuDw4PNtpOUTo5PiqbmnDftLmU5PjuBINevX18uDw6Ws3F31o3jdrNJaZzUBaexi/3B3mLT7UQIMi+q2hDKkNrIMcfTGJUZs0DhHKcw9B1z1KihBmON96m2SAqtNoWzHNMwpiFEVOrw4qXt7gMfeu7sxumooH74QomSEXLwwZJGAcxOgVGkCEkEhAnRTBv3BW97868Tgc7nvTCllDD803/1C1cfetgVurDa6QKR+6H3PqzWx4BRRDRi3/W73bA+bQ8Pr1aTma0q2zTbwTPLpKmM0cY6IpWiLOYLFMgpGK2GMAjCZDnb2z/QVEDCdtsOrT89vrvrNt2uk8RGWwGYzqZ13UQfdu0OUe/afj7bm9a1BREOJyd3nnrt4w899NjJLr7vEy9Soa0mo5iZx3GMURSS5ISglAIQ0caIogTpda997FyCvfeczwhkrfmrf/kvrlYnk+XEmlubtp3MJrH3jN3J6Vm3XReFq5pyiON2tZKYpsuJMnKyOtqO7YvPPNcQTprSVZXPqevH5IfpZIoEs7rabNow9ApVByTAqGyf02631dYWrnBufnp625ANMcW8nXDd78aqnIQQiTBx3r9wKcQx7jbT5fzO3ZPSqrd93hPKlcdn4+32NGqtTTGxJgm2fZ85MiRFBkTF4IkYWCTa5Adl3LkEe+85H4GU0g88eP8XXXntz/7oP3bWaUPMeRxG51JhDJd1jMMnP/7RlLEQfbCY21l58/azfkxNOW2stjkhcE4hhaFwTgzFHHa7jpGKouAUc4az0xUZJWDsZFEgRu+zyNl61fZhVrsU/WSyKOpGKy3Mk+mkLEtbFCxwenzsU2aA4GM7HI1xfOCwePSweubmkVFOW1NVtS6UXamQURiYYs5jTEmbSoJGCSkOH/3Y0+cS7L3nfC5hw9D/xE/8lHV6Vhf99thqyWFIsasK0zSlIrLG5natvQcemX17ero7bZfT5YX9xWw+yZpjYhFGSH2/iyFstpujk5O7R8ftrvcxKKUms6kY3LQnm83pSRt++fmz9330xjO3uq5nFj1bHMbgAUGsjgS2KLRzVV0R0cGFC5OyGtqts9RY1JCbGr7+K5/6hnc8Na+rJHn0O+SsCZvK1YVTAuNumwGRDCtCXex6+Zn3fvY/QnyZ8xmBcuY/9z1/ebs6fvuT9xltd6szICyLQjsYNl1Vu7JY5Njv1r6yJSNMZ4cPP/K6ZtbEMHofwjBKTuMw7NYboVSUi5x5HLcRGDNMJuUgozGFIIjgMy8ef+zFXVZqXk+2p/HAhQfva6qqnk1mylCKUViYU/B9rzQSBT/0XScMzOCc3e42ZNT+pcM3Th7LfedDL8Lec9f7ybxASJwFFGhNiJZFXFket+NLL322vb7z7+Pc7sK6rv+e//5vvP7Jx//ot7xLbe8YpW1TMWLXbeeLeTMx03oe+xNb2Xq2f/X6dWdtiDGLFszWlWO/Wq/PwLN1BhmM1j6IMzqF7uy0Na6uK5UQYtJHW0ZlLy1nD15//DM3Xtz0K3aumS9z6IlyCP709CSnSY6xmWW0MO66ZtLEDFnGnLKiIkbZ7IZLhwfZFf3WhbDKmWPkzGS0KkojjAoL5oRKC0AWQfzsfOHu3+ac9wN9+OlP/NUfoj/1u78a4o4KEzwgubIwiWHMrKztujUoM447wKJwLiL3fd/1W46hNLqZzwlUhCyIV+671m5XW055YIUgCsMQfQp3Vtt2lKaqj0+PY04MlNLos0fQ3eD77UpSDH2oJk42ZzFEMqTIalelTV+5khz045BO1rN6trd3AbA4uTVq6BVC8MHYOUDSnBUCMGnQIqlwxlrTf3buQPyVnP+OxF/68Mc/fOMtb3xoPgzDdn23dmXXtkK6rHAcOfbp5o1nQvKzvWVZliy8227GblsatzdbamN2201SYlyV2KcstrCLwoqhbbtptx2DLCtzuvOrdnd3dVZo/cih1SQx+MKVlE1ZTQ0qQCZCpUQ5kzmttztt6rKqhDnFZI3NnNvNbjo7uPL4o0XdhLNjIuVzjBxFYk4ZkwICBQYAXxbovHO9R5y/QCDy/M2773jqwu2Xnu+363K22I69tvV8bzafQu7Dye7W8U0VQxp8530PIkVR2L2FaO37XgiLqjLGBO9No22CbttV9YRKid3Q9rtHLtQnG98PwSjZa9yspHa1VQqZIwh2uy5nv1zOIOmyqEJmSY4CIAAQ9j5kHwtnk6Szo1vVdFIdHrq95WKxJ5xXm1tZJDFqV4cY0cTIaLOumkZrdd6x3iNeBQIBPPzQg9fve2B1dLbcu+rXd/qurVArUzD6dujrslpMi3636Xc7Y9VsMbWums0WSEgGNCtOiQFzSsDZKl3sH+yGrrTqcG/RVMXBPi1ns1t3N8u9RV07gn42n9bNZOgHjsEoqKqmruvC2hhiSNz51ExmKIhkpO9dYbdtF3jU2tx86Yap9u+7734AdNPDMo8+AyTIKQBRyloDpZTg18cq2Mu8KgR690/9/G61+vgnn9v04Wu+8HP2D1XMCUSNAzeTmW6a5WKOp6e7TW6KWhvdDjvXmsVsGlJWSGnwngdAKI02pLxkyAlQLZfzPZ5sej+dT1/32H1j27U+MEyHsVMEGpRrmqquck6kQJHpd+O635BrxrG3xrBgXder9Rq0cSAx+WHXre8cz5sFWC22McUyDBtSkQVBUIxGJYA5huGzeAfZr+BVIdBPvffnf+q9P//yzw8/9th//vu++e5zv3T80vMsWWnNXgD1pWvXQCtgkExp8Kf+yJK21kFKQ99zhnI2RecSy9C2qNAoNfa7kGLK6KqqbgofokXox2E+XazPTkM/Lg4OySirNAqO4xhzSjml7TqP42Kx6IdoS5c47bqhMFYEIoQXbn5mOp9PFzOg6KoSNCDAOHRdv8pjzArFubP1ZhzD+UZ6z3hVCPSvIaIf+uF/NJ8vX3vNVtbsdkQIYGi92zQ0yYgxDuwDCTjrhqFNcVubWpMCIm0Nagp9IETJiJhDGjNqyYZQ9V2yrlRlQYaCj5PJPOnuzu2XzFlZ1c100uwv96u6sNaUzuz6frNexQS20LOmziFttv3e3t7Oj8Kx3Z3NFnWzXPpUYbs+u3M3hZA5ktICMJlfOB2GYfTnneU94tUl0MuLlKvbLzz5he/arE5ny6xVtKaxrrh168VqenBy944f2uR3rjKKNIcxUCybmmNqz458VWowrqxy9Iu9vfXmLGQJkvzQaV0y4jjsEDEMPRm3PDxUrlSuJFTCcdd3i/l8Ppun5K221qC2Evp2CKrd8dYnf9a17S4k3r94eF1bztF3sT1rgbMxGnEGgIWaoFI3j46C/w2BzonXPnz/Wx688qmnP3V45eLF6/ehQyOYIx+aZkySi9lwcjN3Z6iAREhrbbQxtg+Z2Xa7OKkBECez6uTsOAQfE6achFHbsZo0TuOu3WDOu37LMTfTJmZqu64szDCMhFuaz1o/PvPSnRfvDonp9GzVBllth6LQo/elsyRorL164bCs3J3bL6ZhKIy1pWMAa22GHHx49tlfFxs5XubVJZA25q0X5jd/5mfPiB544onXG1c0k+XehFFYWwaoF3sWhh5i5qQ4Q0xKkYgoV+3V0xCiZA+icpaQYghJ6cIqxZxRAY9tZas2J0XFtCoAOPjx9GwI0ceqKkuTs/z0Bz/z0eeO+pARqSpqUXpIEbWOQqRdRpQMRsG2vavUvlIOTSZSfYxAmDNYQ5n5Ix/+2HkHee94dQn01qsH19a7k023I3p6PXRnm3ravO0rPz9I4bH2cST2kKWo5v1wljiQMlmUH8c0ZgHUzhltCJGZ5rPD3mxDYM4JGFIKhSNraP/C5dOzdcwphbhanTAURVl03t8+a2+cho/dOIssTV0XRomwM4aMyjkj4jAM3rMlrGunlba2uO/qhaHfCOfgx8H7LJlA7br8zLPPn3eQ945XkUDLqvjts8r1PhilxN0+7f7Vu3/+DU8+sLdXfvQDn3jtl3zF4oFLOSalC0HCQMSmqqbM2RmptIwhuKqSzIR6HAbjQIAIxTglgkOXY84M0RirFDBqELW/dL3nclqbiD/78Y/f2vokIpy9H0EMgQhjBGEEQmRmJMUis1kzn+2JKDJmujwchiHxBmPmmBUVd053R0cn553lvePVIxB+xfXDWUqltQbz7QROFycSPvTpF+6+cPOaUy/+xI+r+svKycTVU8itDp3IuBt7qzVkSABMysfBmXKMIUrSSBqd0tIPbQoDIjGoGCCHtrHVrh9R5xRF4rg+7fxuPCzNnZWPMQKIiGhjC6stUqlt7z1zJiKNdPlg0hRVVdTMttv1AqNwQC2ZJUU2rn7h489+Fn+b59/m1fKpg8NJ+flKcoYe6P663FN5IulzqhpS+syuOws5Ht399I+/WzJ4keAjaCcEISXv467r1tuz7Xrj+z7FiASa9Or4zPdbwry33Fss9qq6YhGj67qZioj3Xd91MUajdWXMhYPFk9f3Ls4cADhTIGLO2YcoAhawNhaFC0MPX9l/4v6FD15IaefKsskhH9892m5a7z0ilE3z0o3b553lPeXVMgK9c7+5D8uycS/4/jbD5apKQ2ijPF4WR5Fv7GJMPZx9evbAJy++4VESpVBnVk218P0uRo8ImH3y0EnbTKbsfWm1MsqHUQDKZgqh8xyyoDCyiDGOJZHWZHQMAyk339dvfx0OvxhOhxwTOyhiiGJdZC6drl0dc1oUNKkqIZMy1LUbhyhASpd9Nw5ji0j90PVDd95Z3lNeFQJdnk8+t9RtCPtF88R0/osn62Rwr0BF6hrj2uEvtuMqRBL48Ht+enbtyt7eVKche82RI4txlco8SI8Z0jAWtijqCZF0/TYB+zCyL7QuqnoeUvLbQWnSSicDPuRCm/+jJdk4NqX+4qeuP3N7dXPlo2Bhirqw212XsnYaHzicXNqzIQfNKee867oYsgiwSMq+azeubBDVZt2ed5z3lPMXCJX6LY9decj7GPBGu9kv68fr6oVtN0qOiQtjLlt82NLHPHnIR3eObn7oI1fe9U4fiqSK4HemKJMfht0WkGJMRKrdbocQnHPalpKT1sb7sW1DZplPZ0bHceyBIEcfQswspigFQ4hpF1NAunZ5culwioLTelpW5a5vXzzZ3bizJYV3VwNZrKaOsMhZisK17QkCa6Kqni6WB207fOCDHz7vRO8p5z8Heuxg8ValTQAnEnN6oV33Q3hkvqy02a+LzJBHecDaB6yxqILgL7/v/c9+4pMeS+UObDH13ve7FgiyICIQYcojZwgxdV0Xet+tt65wZVVopQSonFTTxdQVlSKrkdI4hGE3bLfDro9j8kMCJoRcFtYVNPQ7AjrbdIL0iRfOXjretbswJBmG1dCvsgyLxYLIilBVTyez6SeeefHk5PS8E72nnLdACF+xt+fOxuMxtzEBmJjVUcynQ1spxVFdKDXmHFN+wKonqkJptWr9u//Rjx3fOmWyxWRGrkJdgqaUowiniMJl17V+HIh0XU2DDyfHRzFwVTUpRx9CyDkLoEKlEED86AGYSDhFqwEz5xHPTvzJWb8dxl/45I1u5GUph7O6KKbbdlw29WK2WC6XHGPiPF8sXVEYV8wOrn7o6U//uroFg3O/hH3V5YPfVBebthOgJKhJnCZLoAvFPjeVXrW+tFZSGgEvAF805We4v3N8+un3vO8tv/NrlK2r6R5liQOKtD54pVxVNZiHYRg22/Wkqib1NKMMY+/9qIyelSVp69uNLUsGjjFnH7MkAZnM9ubLxdnRSb/uQpIkw51dON30b3nsojGU9ITFPv7I/a957FEUiwYNp3G726w3OaWkVRb3wV9Pz6Bf5jwFenx//keuX1qSpmQnFlOSUbIhrZQ+20RrcK+Uqxemt7quDAAeE+IC4x2UI4Hj5547/oVfvvgFb1CGqknNVnIc29VZPS2r6YSozpHPju603RoJx2EoywkbaVdrBUvrWJF4zgDaFIVISkMi0GHoX3juZOhSZo0i1i7a9ujK1GL0s8W1rPXFywcPP3TdWLNan/IuW6P7vhvHnrGIiX7gB3/omWefPcc8z4XzFOipw70GkDkXTqcAQlFHRdauY1pnmlBcbZO2+eq0Tli0m2075MNSeSgCxk8O7eMf/ki1KBePXWrKvbAzQzdsVmdJcszJaYWaXFVSYiRXFrDdrm1RCUDKWGoXUyBUu37lvVdC1paYRVvHnFsJptJ+SHEMD1+ezyuza3tEc/3qJVvb9XqlDwygrO7eVQp89HVzqNzsUy/c+F//yb/89Xb9gvMVaG8cbp3JclJrJUK42eVk6e4wpiwbyH2GA6Imh35EQHSlm6LEzHuOJymeIRy1u+oXP3LtiUec0WSwnqTZIY9tK7xe+QFJoyXraiBSJNY6ENWP3lRp7krM2aBrYuCw3vZ9UZamMKZwDWkqrKC7/uhlJYQc9w6vrDbt6erundO7rrOK1OnZcVlUhCwAZEtXL5Rr/u7f/1+32y0AaK2/5Zt+62zWPP2xZ71P73v/zwkLM59jzq8o5ybQtYPF9drlXb4bu+WiIIG1tkd+VKhiFmGcWqcod8Cn3WBQrwK/EOMqZwaYK01F+bHV9jLBjU89c3jfVQ6xrKqpLAxabfTZ0FWlCxKYMaWhdrPFwXzoujGEk6MjEbGmKIqqLA+GKhugsp6erk4nrvGSYsLlcrqcz4euRyYGLKtqFmokrIvaWDP0wwC7wpWkyrKelXWNCg/25x//JADA1371F3/Xd/5uZVU/Kq2rv/0Df78fw/d//w8Ow2dnp99ze//tix65/+sUqWE8KCyA6UkdAdQSa0pdUIx6UlAb0y2fE2YGbBOfZsiSSWGN1mn18+vVWxbNxeuXLj71WL2YzxdTH/rbL96a1FVVFyGO3ncciCjtHVyumvqZT31ic3LHGlMt9/yY5rOFtXa9WStX3L17NPR9NZlvNpuDi9eKcqLAS5YQkiqLEKNOylgk4oPLl7PAZruq68WYWVkzn88uXZofnW6f/uQtQ+lzXvvg4XLBTLqcmLLIzEqXP/8LH/7MZ176kX/2zz/04Y+eV+CvEOcm0NXl7D+7tD/3XmW+XJVbpqf77smDBfFomJjhKMPt0d8K0CZWBAaZEWcEGWDFsIvpbs4A6csPFs0DB7PHH22my8lk8uJnnq0Ldem+68OwG3drhVYgXr3vAe/HF5/99M2XnkXURTM9uHBtDHk2nyhljJ08+9wnQMAHVs5evP+B1dFpvzn1viciBialtbJWa6W1mxT1dGKpAGX7EGZN09TVpj1iyVcvX4tDa01higoJq2kVElutqnJhbFXNlrdvn77rq79+tVmfV+avBOfXoWzd/uS8+XxWF6jYRLlQF3ZRPHhhebrpn717WlaT51ftkFkQCxIgYUCLgDlp7QbOpzkkoF7449vxnXd3g31mnB3QtetaIQv0XU+ommYmjDGNIaeQWIkpi5qFTu4ekZrsX75iisl0vhz7kLOtZ1aNZOpJiPn05M6428XolUJnK+dM0gnIlKaiwoBSAsZYd2V/36Fer44/84kPTSbT/uh2DNuLl68vL97vShfabT/2XFWOCCF2W9hfTP+r7/6TXT+8+z3v/fH//T3nlfyvLuc3iWb+2J1VW9fer95U11/e2AcvLI678N5bZychlbn7wK69bNWEYIZag96htBk2nOIw9kBBaJNyEv7FuK1K+rLSuLjr8rOBMEzK/vnn6+nk4MJlpVhZ3Q9j3Ppq/+L+tOpWq7Nt26XebNcByDaLwSflal1Mer9NY1idrTer3dgNrlDOKSLILEY1Rd0oZwVsiKCdV0iQhiHGGy88HfrtICzKjuO6m+2ps9uL+SIkBiQ0OcSREQs0QeRrvuKLdGGXi8kHPvDLZ6v1uYX/q8d53oXd6vtbfQ8AH2rbJx/cv9TRp1863gyx1qbK9LCta8rIkTlZYxRnFkaiQjABWKYksQ/eC//YrZOY1G/32XROFOz2l8e7TbhwoawaZZRA3nz00/bm6YW3f0FSRfCwF3WpSgbV7fydO6dnxytB4Ext2+fM65MNMDprJnVlS22UFQRny6Zs9i9etMbFOBCPZalvvPTMerXq1itgHbxXhpStR9/rViQO1k20ssZarUeOUSPm2HOvTFV86Re/+fv+x7/4337PX/ngh3/NtxF6VTSReOhg8Zfe+NjxzY1hvDH0pVYLZdchXp6Yu+P4Uh8mqK1Fp5yQHI+xZ0lKHQffSryT4gu7fozxmy8ffv1i/07uji8cnKWAFw+We8uaaPORp+1Lp4/P64S6BxVjLq1Ls3J84xtfaHcCNKx3ROKKsl23w+qWnc4cgamqbduWjTFKWVu6pplMpxcvXq7rqbVKQ3r2mU9+4hMfysnXRa2JU/RFUbNRgKGy1XK5MGVlzaSqKutgOp8pqiNE0rp2NbiynC2O7uy+/wf/4bt/8qeffe6F867A/3VeFQL9sc9/6p3K3V3tLjl3Ng43R/9AXYjAhakZhnDcxotNc2vwN70/cOS1KFFOGRZoY3zOD0+P4blxbJT62qp+pHS/EEKaTpqZxTE0Q6xGf19VX5nX4xBW7ZgYOuG7HPFtbz0LMfhx3KyngrppOj9caLf94fz+oiyK+tnjW2uTjdWHl67W0/l8NjcFZKZh1xWkP/XJj8e8m1aTqi7HfjOOQ4hJaSOSZ81iMp/YpjSmzn0gjAf7+6Yo/TgoraZ7i2p5YJo9Z+aG7Ol285//0T/9c7/4y+ddhP+LnL9Ah9PJ97zu0Smpo/UKGHc+nmU8KDBlWPvxsWqyDmHD8pwf53XzcGUPKk0Esc8g0Pl4lORDw9ABB8mW8Y2lPct8JDAnXiJNNO8ZdXW6Z4zyg0dEAN33/GIefjJ6hUZn5jAsiKbzpV/a/dEfXDy8qlBrum3SJ/2QdTmZ72VWt2/fTX53aa+IMSxmk9gPe/t7y+WBCB+d3F6tVjEmIrTW1c1isTdLkEE0xVQYbCbNOHjnrK3Kyd6iWS51tVcWM+cKZauT080/+Ef/7J/88x975tfg+0DnL9CTB7M/df3qLstLq93cuYnCC3WV8/jCNt3wPjEuC2MMOQvE2CUIMUJmrZRCKFEy6Gd9PorjYWHOMr+hLqLkZ7pwn5UKac/Qtclk4srM4xiAQYwt+i5+eNf/wNGtkXnflAbBiMy1uXIwvVriUweHh8YcNfqTOc43/HPr7cfa3kcfgn/kwuSNj98PqOZNsSxdMam0spzy2a69fXySeRx9EpRpMytMMYShacpJoSf1FBhyAObMOtvJfLY/n+wf1PV+XU+0KrWpdVmvu+73/oHv+KVf+uB5F+Q/jfPfUNYYU2oa/XC1sTHD3ChM+aVNmlt9Ev2itpUWzjmm3InyQocTNzdm7DohWsVMOc602ZGdK5qQOoqjIUIhyVKXujZUGmssZk/GKkM0m9Rn0KdNd1DUL/S7u7G/5EpHNAifnqwfnDV7rrezaVx19tamjbmAMFNS7unSFA9dPnSl6/o4nUwuLGdKU0qYlC+Cmc9m3Q6CH0PsOMcMSgOwD246GYYBGK1xxN4iEfJuuxWlFFqEbOyg8qC4X85mf/kv/Zd/4/v/wb/40R8/Ofk1817H+QsEzCRyraoD5u0okPKdYRxJHITrcxtz6ASMMjlBH/NB5TZDWGe5YNQeKkfqNAyTDCXnXeI9rZmURphM9WWnU8iIquvHISmDNgdvJ+Vxu22qepXjnipmE/N0tx6Ep4q0pAjqTt/fOsErSbQPMqQ1wBO6evhifTTBiBSFqno6b3BSW1uYlCWnYbVa9WPgmCALxBB3wdsBnczrWiOdHB8xiLNVDbSczHIYku85m7CSzRDCdKpqV5TNdHqw24QrF/f/0p/77q/7LV/zLd/6+/tfI0sf5y8QCp9ut7acMkHv8+DDpHaXNQRJmzEojVZgm9ORjw3YTd+/FGPu1Vrjwrll6ZqS0s4vkU44t5z2lRLILw3jfr1/pap4TKOPHOOyoVXfe4Qu5DS1WXBf46WirI3+ULtWQhoUAQ+CzweeDmle2v3A4LPhPD3xdP3BlfiJVZf3Fk2pYRju3rpLzgztDlAEGDAKeEQxxoZxdNpVRclp3J61EaSuWFu96V7+b1Ep5hiGFD1Lcql2qDpYmaLmCDn5t7zp8bd83ue+5yffe96V+Y/i/AVSpAJzn6MrXJ1BZTQEg8hRH0oNUXgzos+qQHck+cPbLoNMyLaObuW82nQMySABw0ypixqtBmDZt+5f3jh749RdNUproAzrFHVttcH7F4ttO9xnzYB00Vgg/ZHtWgQIMROeZlmmfBzGfVNentSZO8+oW78f89VHr2lOSlHbbiTE3TDkoRVOgiqlBMAhRADUFnJiP4wxDHHs4zBGUW3cjbFbNJO92X7yvh97dFqAUOmY/TjuZsv9ub2UE1HkcaD/6X/8nj/1p//8P/6Rf3HexfkPc/4CzSu3rMrGFtYWKgMEvtmPPXKjzDbGo8Sc1Qzh2XF4LoXMAohB0mpEESqNtsoAYKJcG1saYspE5oBxatOnx+HAFCah1kUbmBGjUat1yz7tWzJFYQKTD48V5UO20pAi4ionIOpymHqaWbtflcdD0MLy0unk0WtewWbbet/50EsGwOSKGlA8Z46mLButR2YcB98P3dnWzOtyNmvO1m0KAYSSKwbfhTGFEHRiT6MI26JsSIdxWN+9bUxZ1qWbDouD+77j23/3j/5v7xnHV/uF7PwFmtSlVYZQcsgp5F3OuySjpF7ljqgD8lmeSf1J9DNlKqc79gklAxUEM0UlSKkxo20QDIrlVGiTJdxfyftX/kWrnyhne2VDGjMIA4jBwGE21fPp7L3PvbAAeEdV7yucarPNdCPhldI+Mi0IjM/SlLYLWYTwxmbz9PPx4WXfbwmROWuFRdGAgpQQSRnniCjnmHMa+h0n7YchFg4QEJEAUFQY0WtRSrmyUoTCSTJJ8NuTMG7bqpnU02nKA5BaqZceuLb3Db/1N/0vP/wjr/K9ROcuEBrjfIglKgU8MK9jwIv7Dzx01SqY3Lp19+ZmBXJEsNbGKsyoSjAPFXqmdM5JEdUFF8Z9eue7lBSQE+WYR5IrCu4r1Es7WOCIEOfNdFa7LEqEFrZyGo5GfzKG+x1tGAKw4hwZU44gKFhSZbuT3gKWmsYoIXnz3O2uCj3mwjqjSyKVOaIqtHOakRQJqriJ7Waoq3kaUth1a4asWBltlTLaKBSrSTvrwwiQ08BWtOSYM48hA+YswYYyZ1/57die/vE//Dufee759//cB8+7Rv9nnLdACI3WPOakxIfdWuHsDa958gvfkAzzez80GwUAR/H7BI1Sn0lxFLbKTIkuO1JorbF3h/Tjx21VwAJREwOIkFSghOkNjfoo57Poa21y244xqNl8v65D2z7fp5954aU3VKYhtRpjqUFrPTJoBRWZIGyJRwj9EAtSSGAs4Vk3u2ng4Qs++Oh3gDidT62qQxhQolaFrmpYXgDcWIMtb1IvXhImRMnKVWXpLKocPXP2MVRlWThFRNqYslEpgx99AkiZYxiH7cY25eQif+s3fs2nPvX8q3nZ9bwFEnnu5t2HDy+cOWMuX33knW+GmT1tV+Pzt/dPNjLGAtGCJoWAWUdoAB5wdP+0mRsXOb/v+OzHV20L/GWTqTATkEFEEUWEJIesHq955TkwTBXHEFbHx7YMI4d/eff4mipq5Mh8uSj3DBkF2922QWUgjQGLWDpVbP1oiFJOREkhlXdHc3/RLxvf9QmkrOccskYsqpkPwdUlZ1X4HPsWgFGrPAoRVZOSALS2e/M9348heG2ItCbSMcZ26Ky1gkkZIyEOaqjqAudzCjGOw5d+4edd/r6/8If+yHffvn10zpX693DeAgH82I277ztZs8hvf/ArX3f/hZPTo5CyWW2oD5yRNVyptCNzJ/hFbXNKD09rtPShdf+xTfviOD4yqRG5UKKVaBanlAgjZhBCkEsWhkFUQsEsCmMIH9mOL/jxsnEh+jtg96yE0a+ZSoUFmUulhhyJySUl0Y85EWPKgIykKXSJn71Zv+2xg0vNkJlc6aEf49iut7ZpBDglr0gPSRBp7H3prFZGI9R1UzormHVlfRg5JlspJLRNXXCJRhXG9F0XOCHknCSMQKTyMG5Onn/zU6/5k9/5B/7Uf/EXQ3g1dg8+f4EAoB09ALzu8Yf6rhPhSlu/2sUQQRsEPbdkyRhjSEREOpYP3N387Ho7ZPm6w+US4Zk4EAkJaLQgESmnCFpZRHFKLlfQ+pzFHo28SdBFqdHUApHULZ8nSpWavMQugCPtCIwyhObuptuOHoUSswCKSH7582C3Tq7Bo6Bp3e6ctsa60HYoXDjbDR0AIUqMQTKWrp7NSxCZ2GJWTvrkQ+K6qqrlYjeMKWZToNJUuTpJTtED5+gjC2dQpHyMSSQCw+mtF9/0uqvXrl549rkb512ofwevCoGuXjr8qi992+sev5r9YIXas026c0KMytll6RRJ9JyJR44f22w+OsRbiR+pyy+cT68RfmQ3aFRFDtYaiD5Dhpwzg9PaagtIU5dWPr5vO3xgt/ntVy99nqhfbndHnEjiKPBirB60ugIgjUvItbPLpr5xOh513hgkQk6aEBnGBDCiNJcOZ3vTjsVpjSzOOTevy0JlyY2rekk997OmGf2AlTVWW8B6OmvzqEnpzDKERFDXVdf1CiB2w/GqBQTjVOGcUmoYA4HkYRuYIU9QJIVxeeHCX/ivv/1P/On/4cVX30eAzl+gL3/n277rj/y+5bwY+m0f/JgTd12ldVM4bVz2bduG9QC3Uv+sH5+PYWmr33Fx8ojRhdJjjNsYrcNCKRRABBCNQAopS47MWqFCdJX98NlGrPtUN7xlubg2WgjjGggRX/DjNqrrhpYuXWwmF6tZiCzIdWlzSpGzABMAAreS+8vzw897tI/iCjeZNJuhp8IWVZU5jykWWLZxV9dVJ2y1mdTToT8NeTjtToSgtrNqNkWAEPOsmSiQPkjOg1JZBLqdzwxlXRUEKcrQ72JKPgSf+iUubVs++diDDz145TcE+pV8zuse/64//HsX84kQMxEJQsh452yZtRYB73dtuLnb3gh4kuMq8xuaydtmk4Y4MQPJNqUd8r4GQWFmAUWMs7LyKQhChIQizhSXXf6dVxcfX43HMfnaPJz1dDBnjDvGQSBKIqVm9WRSNeuU+hiMK20Iq1EycUGIwhutXqzKvcv7pqozaR+C92NhtTZWOKNRnPPYt8zZ1WVKxXIyv33rVuYknPKQm7qJ0ccYgYBAbVYrVzklWZmSkxrGQSmKMcXtjiALS5Ysorz3Kpm+H81249abvcXsfIv17+Q8BXLO/p5v/q3VrBp8LzmBMGk77LZmvSEfkMp2t131fsu4AvGorxl+kysOjE2ciDjnvA3BaLQASiQLW6Wn2kkWp3UW4JSJiBQ5kocatR3xuVP/Qo5PlOUc7UITKRDQpBUJnnXxmXXnkAfAaYlB8gaSFraGTjM8q9ThAxfe8PgjhBJDNMha6wQqhKw4AGJTTbLJfh2zgGsm/Tj0wzrHYHSeTZeaXGG5H6OglMb4MEpJxpqcSSArVYgkHwMjOKtQYWlrAZMwI1FKiXNen6yHwRPRy93TzrFqv4Lz7M7x1jc99YbXPsYpKUUs3HfdMHRnm+OX+vbGJoxRYspRcseJGGYKrhf6SjnRCEYZDahIekkVCgloMUQGCTJHBCiNU4iakBAVodXaobpal4jqg9tuMFjV5WQ+nUym1ugY5dZmvfJ9kLTOqQcR5i6kIUsgONb4aaf2H7r4xoevTJtyzBzEd75ft7udHzftaU5cFbXVxCJVVTmr63qSUsrMWonVNsWotUFtWh/7mLfRZ+PINjHlYexCjD7ElJOIpBS7vhtGn1KyxhTOKVI55Rgi5Py7fttX/A//r//2jW/8nHMs2b/NuY1AiPjlX/R2oy2nTmlrlElZul0XR3+CMYZ+moqgtKhcJnm4crWWfVTOkU8MmDNCEtwBIGZAbZVCkDEnp6hUKiLXtQtxUKiZQSknJIcYH5u4j69av5zsI8QYh3Hsh9By3uU8iKREQlaDCj4KsLPmtpKVg9c8dN/1q4dFoVbtikkPIZmMu+1ON6KAM6gIBMIQI4i2tgg+SxYlipCJbM4S4tB7JmVYQlM01tF6dUwCOeYMgIZCCEhUl7WwMLCXzGHUmhCRFcYgWtsHL+092RzevHHrlz/wy+lVMwid2wh0/b4rb3vTUwpBOMcwELE1BhHHMDpjtcIujmd+51Pac5bTYEOqy+Ku70aOAsgEXVZjJo3GaAXARisiGwUii1PKOKWxQCStVAixy5yB3r6wZZYPn+5O+27V9ie79iwMqxDPJAnSnik1gE8jAWaljivnL1+4/uDVN7zmalMbtOVZ18dMMSqfpSxKp21R1iHF1XrTjSGkDJBjDDkPXbc5Od0GDxzJ6CpEL5BJY86527bt2dqasq5n2pqcOcSolEYCEiAkBCOMMXmlqa6rqqjikNr12fb0eNie/bav/bKnnnrNeVXt3+bcRqAvecfbltOJD71IGttNDlGxKcrKlXWvbVJkQZZVnSPVhPtWhDFKJNFZQeRcG3M7ecRcKYUMohFAUuYsuXCQJFNC61QMglkCJ2ZOwA7kN109eHY1vijBMexyCgSj4JhSXVqDMFOYUH1G+NNG15dnTz3+wKVpgcjjuBOypplKkjiGkP20djEkUIqRAIlFmaIACVly8D2KzBZTrYQlCjoRzDmwN8Y2WsKyngEYrU1ZN1lM162EBdEiQ8wxZJUwW0cxDsJijEWUsd9UdZH96Krh8Ucf+KUPfOS8CvcrOB+ByqJ4x9s/h8lzHohM9Lw+PptO91OWg7371i+esCIAM9e6j2Mf4hCzQnLagJEkqTS1BjobxsqC1ZSFB47CVjOXGjknwokkLmqTWXISpXQB0mXKAk/W+sHrl3/xM3eI4wCJSUUWZ/Vay4qHAdUJp5W2jzxy7erl5aI02mFKcLbdOuPqyWS33jYlJY8RZTqdBGFtLTgNqGIekQ3EqFFNptOyrvpuSNHHlKxBAizKxlpTm0YTMcp2s7WlI4WIoASJFNmiJJFhRCaNxvvMOgBAzn1kq7YaSFCHFMdzqdq/k/MR6A2ve/zh61dC8Iowx2yNA1JdPyoio11ZFI22MjKnbLSVnDNJl2Db++VcaUWAMKaUELQmIkQwnjMyVEoz5czY+t2iqtrdWNXTYYghDsACKPPJ1AFdntjttb2fuHErVdWQlLN6ZAmMqHDwo3b4+INXHn3swbIA8r7t2tqa2XzmRSSKRn2wbMLQr9odx4xKATBnXxT7pAhyrJpmtTlBgyliCKkfOs4YQ7JGWO9ctV8aI3EATMhht9mSdkoRSQYk0hYhW6NTH/uuVc4kH/q2VaRdI7rYFUXth/Htb37qxs3Tn3n/L51L7X4F5yPQb37X2y8eLPuu9/2uVDhqXdeT7XZjlO77jWd+4MJU3Vx7n4FgSMFHdtaBQBxiM1UE6SxxJ+MEFYmAgEqkIAmSMBmCLLDqx6Ur8ugN5iFkIlUUThclZz46OnvsYLJprn6Gqs2YROU8pN1Z1zhXFnz5YHbYmNRvR9amrLVozlk4MicevI4DpwZR708WOeaUExqntCTukLRSWinjjKGoBsxaK2NMiAxJSBKYyDwyokbIngtbBe8zR8lim5mIGfpAxJN6UlvoQjeMnbDkHIWUE8Ujh7FPY/XOt7zx0Sce/7Zv/zOvhqbm5yDQ/nL+1jc/OQ47YxQblVMkwrIszlan1pjMyedxDfJA08gwjj5lwdqozCyoY8oxk9Z8s2uZyCIIi2BMIJ5zhdYiasiJURsTORPSEEKhdAYxtgAAloyE0vZvOZh2PsEcCF2xN8NL80LTEw9dMUqL8DgGUbLtt/dfvbY9XW2HSFoDpGlTh5zIVUQKx1AiIikiBsSYBThzSnU1OT5Zj0OvlNmsdz745WJqLOUcchihrIjQx9FqrXXlOSitRbSzxllnHeUYMoeD5aLrbUgxpioJaQ0KRRhS5NXp6cUrl775G7/2e//7v3Huz4TOQaDPef2jZaFSCpCRANp+6Han3seqrnJkZwpd2DX3iFjbolDJBGUU9llar7s8loktRBFRAAYVE4qgIGcUhKQkE6hCkQZQQmOIk6KJXW+1ysScggJE65gg9GnRVLfXx7puLly8PC9sg8ISGbEqm8l0CpD82erGrZuX9g7qbUucJ5V1pcWyFMAUotGOg88hOGNE8thvQamcgitcPSlYwer27em0TmxEctePdlKyzzlmVzTG5CgxY8iSkRSiVHUx9GPOqSjddhy22y0jiBACgEpaO1ImRkwRY+rHcXfxwsG52wPnItCXvePzCe0wjk69vE4ZN+tVimky298Nu812k0PuKbN22fdEtnQoyFbGkkQTJU4GzECkQRAImCxxYtZoFGIW0IhKoVKEqJTCMfjCuhi9REFNpJUIbFLe9HChlMXV+zaTShWF0qrdtSyCOLY0VEUJJIVSJ324c+fOonZWU9KAzvTjSEIkDEZFGbMApswpKSSfsibod1tWpFDt7S0369Xp2S5HbowSEUbxftwwZ84hBGtdlMwpd/6MUyjrete2ChGVGkNQriBtRr8lI8MQmMngOIytm1SY5eLh4vHHHvrEJ8+5ree9Fuji4f4bnnxiOp2Pfh1Hr1A5V2rS225jbImCOYury370RzHUkFMY5s44ZQoMCRiYEHTvpeVkFDEDYRaGkiwDZ2AQAClEWIQTJ1aASg3DoLSSLMopAckpk5ILkIvtyhtlF5OdJueKaVnEMeQ0OGe1KmMMlUPWNsUQkDOjAr3tek6BkzinvB+sLUgnAxQyZBBATDmHMY3CylpFytrqYP+KH3tOm8RZJOeYPDBL0OQK4yptSStEWHcdQD5YzBExGGWwZMQkqZ6UMcaYIgYFWvsw7rodoH7g0sWv+83v+p5P/vV7XMFfwb0W6PPf/Pr53A1htK7ZbdrU98mP3o8pxNB7RHDWzZqDlOBWd/KYKyH5gZSAFKp0Ko8x70IUC2NKU1NZUAlCFi5VwZgjILKw5Mycc9LklCjmiMpIZldQ9L0ypVVa86jJMKCJQ9GPG4V9DIOAc8XicH+z3QTBLg1V4YRT43RkNfgBvN+NnfgYQ1jsTyeTBaGEkDMhIoiA0mjL0jiPITIhkI7RphgFcxR0uhrGJDxWunCuKbRrqhpyPG3XhAZB4uDPxp0tqozFmHqkNI7RGDKqMoqUUpgw9dlTTywi8LY3PPmV7/qSH/3f3n2Pi/hvck8FIqIvfMdbjLNa6aIoptPF0Xa1Wh2FEMpmoowe+sFakxNY484sbigVQsdDuOzskHKOGRRWymwkD6AIwWql2GWMogABMUMGiJKVYAKMLIVQ5RQppYXzONiyYMSUAiInBWHR0MXFFiTFGMZOE3W7Tdtv67oKwylqPD3bIOPy0sXQd03VZO9JaSg5Rz+pqrqcCMcc2IfgrDXGImnJ0XseQu7Hjln6vk2JFRlSRWJjrDWlFUWsTRJud9v5dDpvpsdnK9QITEOAJAnNKByRuLKm73eZojKOBTmD4owEREBaX7py5bv++He8dPPOR58+twbn93Qp4/Kli0888RgjSeau3SWWZrJwzildGFej0SFl7z2z1MUkG/tpkmQ0ce7HEBHIFlkINLA2gsiYXGUWTeWUiZwFMTN74K3wGChFMiKNpr26Xk4r1qiqkhFBiFzZXTh46fLieK+CxcK5qiCaVcWVC7P9ZYk+DmdtU+Ci0sum3m+azelpM2m0JsWqcVXVlIcXD0vrQJLTldWFs1ZbIyjErERMURVVU5YVcyaFVVVaV/rII6eRM5a1rmao3BBZjFpvVoiYou97D6BzkpyyNeQQecgIaLUrrTVKlCIiAskc/TCOY067frW3rH/v7/omonNbkrqnf/iNr39if9qkEPu+9eMY/DiGxKiRMMfgfT/6brdbD36X2VsHfUXS6AR0nDJHZh81JmTZ9J5ZhCFnKCtjCIAwgYyotglD4CGNBeQpqUVVVkbHGKvaucJIUmVtt1r1lbWuOKgvyJgKifuVu3TpwFgzqadXr15Z7M0zE2mXORZ14SaTwjaARpWUMeWEwgCkNTq0pCutiDjm5Md1e+ZzVEQGwWpV1+V8ttdMKiJGVD6EVduebrfK2n63Q2VChDHx6XYTcwZUY/KoMkCGnAHAD91mfYoEiJQZYowCbGypbEkgPIYwdO367tvf8rrf9lu/ermY38tS/mvuqUDveNvnGkKFBCz9bjuO3ThGRRUZlyV169Ww22bOWiNznNSlKt0LKhaV8Uij1uigLKrKOIWgQITFj3HTdvWsJKNypgLsQtmZSdMCjFYKxRidFLlSl4Upi9KW+njwlnLIca31mURvadAUFYTkgWgcfT0tqqaczmZG2Uk1TTkmgJOTE1GxS4GVKpsJAFpbIFDKOUXvo992u5yytWVmZo4IQak8mTZVVSIobQwg5xRBZLtud+3OpzFLzClnwd77MSefcuKkFCFCir4oi9l8JpmC9z7HmFhEco4iPKY+xZhDDEPXro5Df/xt3/K1r3/d4/eylP+aezcHmjT16x97RGsVohBRGHZjvxV05CY2corjMHQx+OXyCkouNIpuxllqE6g+Hlo1oimVSBwVABFpBaSzyJjY9oOqy+kutcIpYc7aCCiNNF1MudBFWRrWirgFeXHiTmI+EFbt1jYVY0Btq3KRATMJAC32LwApQVAAIcowjoBsTGkK2q7WGgvSTiQjqxRyVIFG2W63DOyjEKmJ04MfCAWV1RpzJu99FOqDzykhkMSYIHufOKMIZyEGjAxZJIeeJRqjCtOAIiB2ZeVcJzkBOFQQQ+ScUkJrUZUqhAG2CSQeHx//pb/+Dz/00U/ds1L+m9w7gR66fq2ubEzZWjPkDMpwll1/2vtVbaucxdrKLiZElDljzkaXVRHGWl48HR5Rbjd0XpiAI8tpjgWhYkSjIIKz6mS1AYVMIiApSxSoZzVZY50KnJLCNtFHu/6j/VA5c6bzBa2mQPPp3FY2R4YM1hRobc9Ze3auHIPvQ4dEAJhTTmPvSKMxvR98TBPtEDFFFmGjTWRwRUbExKK0TTlqbSKrbjeEOPiQzs5Ou24kwap0zlnhSEQxJAQIYxj8zhiDKCAiKfquLap9owsErKvprmu9720xMZZSljR2nHWWWGDl3Ewh/dKHnz5bbS5funhyehZCuGcFfZl7J9AbXv94WdEYO8VIaEgVOUkY/Obk7miraT215IwtBbQP2z7lyINCnExnp01rNrE2YG1dA99p+wFggUKoRLAs3HazRQRO7EqbBBpEx6ZjKAFBICLdAXmW1EvFVGUBDrq0cTJzi0nKEaNuqmYYxm43VA2UzgSfPedBcHlwETnv2l1KUZsCUPUpJoCh6/u4nk8XkNEWRig7bVh8zqysQYjEEKKEwClHYcmxI0XaFr7rc84o0LUrAclOoyQEow0CASEp0qWmmDyLxBCQpa4LIhijV8qGnIIfEYHEcYKx9ShepH3L6x/8ws9/Y6L5X/tbP/zun/ipe1bQl7lHAhHR577x9QIiMYyRAbTWWlkXhrFQFLanrGwcdjF4V0+VwqIoUxiFyZEuDpsNrcwp3hiGBUoH0jFddkggwjL4MWsY01CQsaA85IQIlPec8omfO92uEdZK3SGFxlidjRLtbFnqxClERSpvt90w9rYwCsSPPmcxxk51NfSdLQwZkBTKovKi4rhGIRIpTA0CrtJIWkcRBEInOcQYGCBHD+SUYqXBD2m7G5Rxk2m2LhEY1ipk6fstZ1M5rY2FrLSyOfrKGUcqhAA5J5acxqKwRlvUph+ZhZp6FlPQipQGMlY5M4bgNGiV7xzd+PlfPIf1+Xsk0MXDwwfufzCEbFAlyhzHvt2JYFHVpTGRTIi9MZgRu7511mrjQujJ2cRgq2JVqFyL6sMYVOUMq+i1NBkFYy+YBHpRkkF4NIX2zM6YFuU4hNtjfqYfjsNuv6kUymI+c7U1hVMKJQMJjkPvyhKAteBmtRUtWtks2QqQpF27lUzR+6aaCFaWusqSbuZanNISOSilso8hjtYVoFErCwJkJAqNnaTIMUbrqqiSIW2sTjn7EEuy0/my0AI5CQIAQ0qVtgVhiiMpUgRaUQhxGEUrHEIgZY0iBLSGWDKLsdYSkiKVBTJzU9df9a4v+f/+sx+7x1exeyTQk695dDKZ5OxJJURJPBJJGvOk2QujB4Dct6QUodm125yTs84Vk5zz2HaAAkbfUQEbWHsESBH1qUitGOXl93I4CoogplimTM6dWtcG34t7Zrc99bG04oj3l9PpdOIc1k1VGFNVJaQc0pglEiKQMRoBOWdR1igNIUQLEEJUQru2rQ6qg4v7GGPM0RDFGAGVUsoUJnecYk6UtQLA1I0pxBxidrYY9RDDIAK6KhFYRY9grCnqplGQ4tCCGACvlNIEIfmcgDQETonZJ1bASY0JlVGASDEkY5UGp5R5uXWDdcoIQYhXDpb3XzkI8bN0DvSWz3uDK1QelUBIMXZDn0MiwpiTrusoXrE4lDH0SiVEnXMm0ikljaiNs87NF1YmkjNsW1jturMQGsMXAwDKmIPRxcRZGDuli7u2vAP69jDc3bSlpZnDwha1KyfN9GB/XlbOFC4PiZmH0SMZp6goiCimxM6WhTVMEuNAKqMQkmitTWEIeAzZjxFS8Jgls7ambddGaetslhgypZStVSBJa2yM89E3TY22DDGQFhYhUZXTzhXOFX17GlMKo7c6VrbKIgSU2CsoNFrvPSnimJBsVTpEF0KvtBAZYxwIi0hOKSqllRqHkdcnb3vrU9f/6X3PP//ivanpy9yL50BFUbzm8YdIAYvPaRx27ctfvEAF3vdh7CMzEIaUrLZVNdPaEiKw5BA05hSyNVVRF0RonJsu63riYKafU3pntU8ZSO2XxaWqpOnkaUWfZn4h9D2qaeMqoyaFbaqqqipgRtTG2kJbUrhpt8ZpV7hh9MOYRHRRVKawQMCQSGmFJYI15cQUdTt4bU03+NOzE0YxhW1KJyEUxmllSaMyyjljtEUmgyApJD8oTNqgJkUo3o8clTOzZnZArvBjn2MiW6ScJAOIRJQAzIghxDx4iBkZjAGlbaPLPLSUxxQiIiNmpKwUGK0YIOUMWRDM3v7+7/vWb3jk4ev3oKb/mnsxAt139dLB3oEfA0F2VbPbrIHB+0zIhZv44P0YJQfMgahsptNt2+UYxm6jFO52O0BrjBHPReUYFbEc6qZdwZbip2O8H9xsWu6RK41el9XN092N7aZ0jjIoCdPKLedVVVa2LKrCOGuQZbteiYgiHoZNSqKNxiiOmwy576J1FSkZh55QSwqsTAYpy4ojFAQtjDFqsY60nUwmIDplJqsSZ5UzZs6cXVkMMaBWGYmBlBb2mHMGk01RKoTkIwi4qrFFmSOk3ekwtGiUMYWyxvs+gwGFyQdy1loq66IbOxZEyd6PRAhAOY2YorYOVGO0IZHd9vjLv/hNb37za37vt/2pO3fv0dfH74VAT77m4f1FlWNKGVJmZgghKVKbzWp/78Ju11pdJCSfOw48K6CuSh/Ijx2D2KJRZLwfnbNEKvgAKSZKihTAuC7KYuH2FTVDuLusXsiDKfRSLYJPxkhF6mBeT2euridKGesopTGNQgQ+esQoyCwaMqV+4LwhhYxR2l1TTXbblhQQaiwsS46+l8waZVI11tm6qIuyHkavxJQOAzAkBIHgh5Sj0rqqFmOKgoQxZYlECoGAYh87zKoqHAkpa41rGtQDMUp2zozDUJWTlIfBx8IYTZoTKMLV9owIY0BtTIiRiKw1w8DBRwQVTbKcFWcF6Idxb9H8vt/z9X/+L37fPags3BuBnnjkYYijAkZrhRlQhyTGmuNhTWepH0ZQk+l0fxw6pVUKQQSn1Sz75P3grPa+A0gpBELKmULIBLpsFBgFSL3VbgjWmRcK3R7FYfTzSQ21zTFU2mTISmmtUWsXYw8StVYAUhZ2uXch5RRD8uOwGcd+vXaunM5cSjAMIwNpq51VVT0JY9jl3pZV8n5/7zBF1kU1xiGFiFqlyKCVjx6IxBKPMuw8GStYhNiPYSCllSZljHMlFdUP/qP3vPVNr/3c194P2DiNbAc13ysMDbs1sMShJ4acExhT1S6xgIDKXJSltbxqd1VRigAilEWhyAbJ/TigISxdKUAZcjbT+cE9KOvLvOJzIK3V61/7aEpRUs5dJz4VZZGSR5GiqHe7PjFnyQIJEFOOMXFM2HWDc6auJpxhGHoRyTl3/cAAWmkCRA1lZataFQ5I8LienxIFHzJgSKyIrl297+qVa5x1t5NxTCkNWmkf+mHcEqnJdBJTRlTGGB8iEcz3FsbZIWQBG0Imjcv5zBYORWsyZVFYhcZoZctN3x4f3x265McQ4iBAISRggMwKTVGWRV2iUaSwLMq6rstSKw1aa0PWGrvZdj/xMx/KODdFbZ2rynq+3KPSUVGklEIcSCFzjsFzYmZJKRauDH40WkHmnJIwx8SZOYsoo40xzDz03XazBtBFufzid77rm77pGx948IG6rl/p+r7iAl042L92uK+szXGMY3t2dicmH4cdxFiaqqjnZBttadefCOQsitEGStv+ZL0+6ccWMFtbZBZBVMYpAmvROtJOa8cKhZXcPahfnJUxMORoNdSlHYbx5O7dm595RmFmTm3f977rum3XtcyYoqzXm7Zrd33XjcPIPvhIWYyg98O6W3ftVpPuhjx6OLp7u99tjdbRd8cnt05WxyGzQadBFUVjXClKIRpCK8wpZK1LrQkhEb38gEZSCpyj1Za0Nkou7s2eff6lF26fgkZXV9oVpqgrNyEsfM5ChKQNKmTJOROS0jpySjlKyvPpJI2+3bU5corRGBOHuF1vJLEWKl0ByLHvjMRv+9bfMZ82Xde90vV9xS9hVy4dNHOXU0yQhpxWq1PjbFM13nvUZj4/ODu9xWHsh45E6mbZd4M2EFPWRGSURiMSxz45p5UqnJ1KDiGOmCEkcJXLwHereWEKDN66QjjUjZo3C0lpsl8oidq43gcmDZKQDIgSyjGL3w0ZGJXJiX1K6+2ayIhGSKmqqyzB7xKiNKWOLNvdLqZYNDNCWxXaFZUmq7UKKSIiEROxiEISEUSQHD1DDjH71GcRAIWaGCFx2tubMuef+6UPPv7o9eR9lqRJg9FFXU4Wy6HdaGRIQmXR52QUcqSQErAghnJSVanux3EcNtoWIbFRmpGCH9IYul17fHKrLGaurud7F7/6K7/8Qx9++pXuEvyKC3T/tUuE4P0ISinnppPJ2empCPbjWExrJlIK+27HKU7nCzKqKIucxrpp/OBjAm0UMFdNo7WLMWeO8H/sn4f5ZCoioAGLIo5+SLvlwYEWDyTz6TwOraRknSJFOkgck9aZmdt2J5C1VnuzJSrmjC+89GK5OACltLGkQBtoJg1zqI3V1kaMGh2gUtoNPhBlFCWiE2c/9pmFSDljBDDEJImZGIWsop0ful2HSJkUAKJWQETaXrhwEQB++md+dj6Zfs2XvnVW10aTQmedCX4AAIsccxjjKIASVcTemBoFLYJ1pojcbreCKvpEkIOM5Jwk5syCAMEHanWpldG/+bd87Z3j7d/6W39LRF65+r7il7Crly5w9CIpeUYwol05XWYB4QwpQvQkTBqbaVGUldFKIDFEH/rRhySknEVbmWoaxAIVzlSCShQ2k9Joi5qVK6pialFbJOFcT5Z7e3uZs3O2dqRJi2COqd2s/ZiAoK7spJ5cv+++i5cu7S/3d7s2Z84pa6XI2Fld7y2qwqqiaKiYRCFdTEDrkGI/DjlEFAbMXb8efBdigsyYkiAaWyCgjwNDTKjIlYjG2oJII4FSQllIrLUH168/VlUVZ/4n//xH/+e//0/GMZI2s+UFRNcsLk7mB6KsKi1zMsQZoPOp84MoHTn5EOrSKsmrs5P1+jjEhKAkJD8OIXofhrEfkvcY09APzrk3fu6bXunNiq/4CDSfTkQ4pZQzskhZNs7Vu906J/a7bRy7EEan9WQyB1Snp6fWqpi8H7I2etJUZKyxbtd1iASIKbF1hQBn4SyMtrHFjAVcVV52l0/PToaxtXZirbNkYEwaEXKaTEpySqlmVtd1rYqybocuZ66rcrlcdsPoytIYgzkqZauy9N4PIQmQsdgN3jibc84cna6HcRRJzk4UKUUKOGmlAXAY+tGPAtGHQduKqEQcxzEICBoSRGtU1dSJRRM5a/u+B4D3/cIHmMfv+qPf1g6pbuZkdHd8lwVdMQcxRETCAHn046Sup8106EYxsJwvT9vVmLzTk2kzH/tNiIElWagxwzZnUzYTUkrr4+PjV/rdsXtwF2ZSAgBWioyxzloG0tWMgbvderddR+8VFOLV0HVN1Vhjm+pgOj1sJlNESWlUxhhdAAoROKeyyLYLQgXZoqgWrpqMnI42x0hmudh3togxet/5wOQaUFajayaLi1cfmuztq9KFrHe73miVJByfntV1c+lw3yle1M3+rC6sSsK6tFWtGcdNt80xUMqVtuMwjjkCGWNqIlQKATIhonbjkIahZ44IKqTUD2NOaI1p6qZwRUqsyJZlieAljTH6lNK/zuf9H/j4z3/omQRQNTWhqMINCWOKqFAUaVMgax5HQ9x1wfe+71oApU1VFbNmUmkNTiunNWeIfvRpFAJTTouy5uwXi+qd7/zCpmleufrei9v4nCQEancbRBj9sN1sIBXOzDQqozQJls4qBcM4AKDSrqoKUqK0QzYSJIWcclDalFXjXOWcmy+mrmqK6d5seUCkzo7v3r1za705A6GiKkm4qSqBeHZ21PugqnqIeb3ealfYaqpJO0TxQRIgYD+MrigKU0oYNXOlTF3VL/cFW6/XzGJJJ5+7oaubZtWuw+hTiAIcU0wiGcgHj5QIWSklCkMYOcUoQRXW1Y22VVE4V7ksErK4sso5xfRvdHwW+fF3/2z2nFIGILSFrqohBVGobEnaCfDecs5J2qHr47DruzurI2XUpG4a5/TLrUVBGVMhakCVAXMaedj59ck73vyG/+57v/utb/3cV7C+r9yvfhljlNaqLOtxHG7fvnOwf4FwHIc+ek4hzJs65yySkFThHCrJwLvNqTG2KEsOKXgCDA4K32dRQM6UVofkwRh0TTdG350ZxdN6EkLqYAeQMYZbm9PJtGGRvu9my4Mch217NnKelpPKGWaAmFQUQciQITFjuUtdSNrnVAPUzaTbDbNmqjTFMORMQXJ/djKZziBCjr7P2TmLRIiQcy4Km3IcU0Yt2igCjBIlsqDS1pEJotHHmJVg6tfrtff/f2vmT3/8ky/euDUtrpKuinK6WODmZFSlBdY5hUvX76/TcOv47pBBkTKkumGrtC6sC6MH9AlyzJyzAJG1tiyK0PVD1ypXZSFVwG/92nfdunnn45/41Csxm37FBRIBrW3Kw3Qy3ayOn/3k0/PFxeDblDcAyff9bD6NnAWVM9YPgbMQYkqp3ZymGBBUlqCVc4Vh5hSCkM4ZlYoxnKaY/LA9uXWbEA+vHyIT8BASNM0cJRXOhHF3fHJrsXfRhF5rCcMGktLOxt2IwK60TTGJaUwS3WTG3gdh8gzal029Xq0BCECJsCU73XfHZ1vt5tqUBESEMXbaWEUqJwmegQUkc/asIA8JtbZWh5xFCmeLorYpMijyHH5FIbu+/6UPffh1T1yPWYp6GocdkKKsYz+wkcqVRzdvMBFxAjRJ0hC8BQ6x7zqfQZytGDjk6EzdlNWktCGPp6vbWTISJaN/4Ad++NPPPAevzL3YKy5QjIJEOacYQ92URzdu9Ztuslh6yBqBY++7ZOolAmvm3dADKiYShSmOxhjhbHVhrfZxVMpKlphCyjkha60IRCHNJlUIQTjmRHVVCIQ4BGG2mBC0H/vV+thoLTEKxJOTtTGzyimQpKIeup5T2nZnJe8jgkYw1ve7DJisLQBIawUQnXOAkZmH5LVzSiDGmHIUAQJi4ZRy4RwpHIcYoS+qKQPE6ElRSJkZkAkElMLdrv+3U/onP/qThweXv+Atr4shhDgqpWIM/djtzy8d373V+kEXFWnMLCkFQQyRuz6G5ENIKYEyWhlbV5VVNnc55RAz5pim07mi5cnJOsZX6jMJr/x2Dm2yECCHPPiQDOXtyWe61a35pKlndV2hI00smqipmv29uSvJWqfJACaRREic2cfAjCGnQQafdqQjc0xJECxZc+HKFVcaP0ZjSDCV9aSY1kIy9F7pclpNKmUNaGAB5aaTOUHyIRZlNZnURpMPIfp8dnRnc3aShUSEIIMo7xOixDhm9kMaN10/XSwKbWLoM/qcAyGRlkKD+MFYRRqFyJS1MCRMpXOuKBIzKRmGYbPZbPqNz4kAnnrNQ1/3le/8lm/4yi95xxsfvH6FFLW77q//zz/4iWdfiFm0VoVzpBVa0++2u+0KrFHakFI5Rk5mNtmPIYXkjbE5pyAjKquNbVzZt7th5KGPY9cJgzXTeX3xu//0/+Pw8D95dWy5mF042PsPPgV4xUcghYySlTJEZuiTq2dXHyi7bZf6sSgMKSUJU4wMPMYoQpxFiAWyZPBh1LrIGSAAKUJEAcmAwQdUyiRPWhXlpFuftJv1DvuLV65AUkZbED2bH0ppICXntCAUdmpMn+NoiwZxjEG6ftCWjDFFU2eCEAZgEEkhRDTOFtpY8/LH5pwpIkcgXq1bJLCGcgBE5BQBcMjQDZ4zT51B0sqwNqVC24/eWkMogJA4dq1nArL20WvNQ5eemk4mQPT4w0tFb3rx5tFPvf/DT3/yuZ9+3y9/89d/BZkagsTsmZMfsyqKHEQgC2lSWVi01UVpQkpJ0NWNMpRymJimKJyAkDYZvc8hpBA4McH16w9evHjp6Oj431mgoih++2/7+na7/tgnPnnnztFms91bzn/zl3/Bax69jxR+8jMv/eA/+FfD8O9tqvfKCoSI9v/X3nsH63Zdh31rrd1P+cqt7z3g4QEgGglAJEhKlGRxHMn2MGNHcpOV2JNmO4njTOyJnUlclMzIYyfj7nELI8WSRrLVaFuKbMsy1VhUSFGkWACQRH3v4eG1275y2u47fzyPRqFYJYCSbfz+vvfcffb+3fOdb6+91uKAmKCw2syXO9sXT29ylHq2l1xnp2HWtpkl52zwtNmscmRKVr07yQAlRy4IGMMMwfsCExJTRhOXxlTTNBGSkppJCc0opNyebk85k0ru7h227TIGj6Uuadt1m0Jc6aykjK4gz1WlqWHeO0KRA8bgFBeNqRgpl2LwIDiTkoeExEwG24+DnbbIcm2a1XY1q3cUq0K0k4+SNBEzNfUuTD4iA8lYtdwtkAQXPnomFWbvxu3J7SPT6M36OKegtAq85AxCyZz6e8+39//+t3/k6QtPPXe9621TzbtuzATC1GF0orCce+sK8SYDZAAzn+echrGf/FRyUllo0zbG5By4wIy5ndVkQ4YMoujaDDZfunTPJz7xic+6Rjnntzzx+Ne89Y2np0cvPPf88dlKS2nH7urVG4yney7s7u8vX3rpc5ZCe9UFUkrHmEuJKeXKzJSpuo2Fwv2USwiE4/mD/Vj6YXKz2XLbTdZOMQRXgHNKPqbYCS6QSooxhyikmc1nhNjHPsYOGYGn7uykaeZ2tMEGqfnR6S3GmJYSuA7kMljKJYXJQeGaQZq6ztfVoqlmBHgnEkoAKRWXAhcCOQmjbSxaaWeDDxNCJi6hBMnUcnZgVOO9A2SCG6U1Q5VDRyGGkDiyKIBxDpkFn2OE9WZj3VBy8m6wU0dUuGQFYYhRKq2V9NHayTMl3/L4Xa+77zD5bRQKJbX1+eFsNaUtRShQXErZrzDnVDCEuB4tJzzY2T07O6vkrKnmKWbnE/GSgi+FZSwScFwfn7DnZjt3f+tf/J+/8m1v/e7v/J7Lly//yuoQUd003vuPf/SXD1s6Oj4J1i5q0Xd9t+mDp6PTY6n429786G+aQACQMs9JEpbghu12UrLZlLGUXIi7gCPL694RcSmzUnrbTZObiDHGWUqBU3FuiJ4KJC5awDiM2xCzkloIlYpPKXTb/sVnn91dLkxj+o2VVpYSX3jh0/uHh1wocIGnQgyggHN2sdip690SE5QgBXgfBUrOJCFyUQzxGEkYlkrBnK13RmsqaszZqIYRG7aDC04bVSALIQUXBTGCZ1xrQy5HIaXUytmCgKv1ZrU6u3njJhHu7e5xwXP0VFhFMtsxcs65GIeeGNNKV/PZOGyWlUiu8wyrZkGAE3aMy2i3IZVCLAbnXGl3dsbR9tNmOasunD8nuOg7KxhL0YPQVBAZEjIEjhlTcLkkxlFI/s3f/AevX7v+7d/+//zK0uzu7v6Vv/yXGJR5Iz758Q+fnh6rykgu7TRxxu6++2C2xf2d9uGHHzxeD+997wd+cwRiBgKNbjvkHHL2XEgh5OgsEwLbNjF+u7MKynxeaa0lY5mxxAkY2mGCmL1zQvPKaOscMWCIOcXJTiCUVCpFt17dxBAZSSYrO+bN2krB651lzBRHi34gIULyPrqqbjJA74IiwRmS5CVal2NwHko2xnAOCUAKJqVwky0lTMFzrutK2BiQkWqqceW2fV8LdWf7CNNYkGUhUaAiqYzkzPAKVpt1RCiUiWh9uo42VY0oEIWqlFbOW6YgpeDcJDSr6/Pgg2IKkJzrQpoafkCZA5GsKg8JgtXc5IikEYVx1gqSTTvvXZx8FkLGGAoAWK+1XMwNCZWLgRKHOEFOOed3v/unv/8H/tm1l6499OCD88Xiqaefnsbx7Gy1PT06v9RPfezFo6Nb2sBuJW4drz3qHCdhxM7e4f7BLiv+D/zHX/f881dffvmz9Ap69feBMhJTQiY/ZcZYijaXvOkGJRARimhQVt226313sCiHBxdQd5MLN29fHzZjyYWQMc2nkAWV4AuHknlkrHDURFjp5ty5c2c3jic73nVwqWpaO05aV/P9ZUrJd9vQR++dZIicFwIffI7BxVEQOs84ZkF63rb9FJzP2261u7ebbez701JAVCamOIyWmBz8FP00m83ni/nQ9REZIUOMLoSUA0fKSLN6HiCtu83QbZFj1Yh5c++sap9Lz/phZL6qG6Mr6d0ohBJcxkQAjHGRcgo+SSFTCgKTHacux6paIMtVU+cICZms54WbMvTB9m67BowppLP1Osaw0y76vmeEZqYqZTIwyTWgHvqzXKIbpv7s9CseuffHZ/VTm83v+p3/0Z/5U//jtWvHV65dLgCvu3TXM0996PrLL3BeODRnJ8NTz1w+f/GeS3cfUs6M5DS6tmJ7M/O1b3vzu778AikltTDBA5QSYnDOd90KoZScTk5OWWGqzoEXSTLGkm4fL5e2oOak59VcogwhxhicHYkyKNR1m5HHUgBZrVXTNDmHfjVwrjar7f6+O3/vPYv5QjB+6/jlk+1pdj7H4KPPmeZ6LoQiqSUD8raklFzSlSo5rzYbYDr66F0IzjK4k5FR2RhSsKVwHyInMI2ZpilkaKuqqqrsU04gVE0p9cNgmnYabITQb9c+RsgMUmApAqXFsh5SVErUWrvJcilqU0EpIU5CEgGbhi1gzqVihJxVs7pxzvbrtapNTBQJZzuHgJhCgbzyburHrp0ZJGoaM4aAnIRSmBLlEpwb7YQokISPHhm4yQnpZ/vVH/+v/vCnn33hwx/56Gazmpny2IN3r1YnN17+dIh+ZrRkdHR7unLr+j0X77rnrvOVNoQMiRhTUGJK8fFHH/rhH+W/Oor35RCIiIjxXHLOljCU4p2LzmcoIGXl+iF2Z6quLAY1X6QMp+OEWDgi41kqylC41tyDdy74oEwmSVCK1mpeVcH59fpsuzpDlr1zN67f0k1tu6GuzNAN3WojCmEGxliOebPdhlyLECuutFYxWiGF89HUxhDGkI3BLqNPhLkQALocQwZiSgkSJiZppynGWFd1Vc0JEmD2KXnnSsnBWVnVyIPzVggGBBnJ57I6Pu5Wp912szAVFxijLxkkI8ox5SAxAMpps1KaE6OcEIgzo0JxKYUQUvCTqWTFdY6ZGyW1zjkB0fLc3W3bLvcP7LZLIXnvCyFlnJy1KaWckLGMPeNUchrDSUBwpb9w/uCdf++vvu9nPxIBhUgvPP3k2eq0255oUXGGt8/WZ1O6dGlxbtlwnsexU0ozrgqWDJTGYTlTy+Xs+PjsyyrQnTK1UjCfOXhijO0fnttup3GYGJNcZGIMcpGGO299oVm9Z8fVduw4Z6Wkum2RayPEZnU7pMylUFpzLqDg+uxsmsZttwYqglHbzo6Ojk9Obh8eHrbzdkq2RD/6JBAFgeQEGKVSklMJ09ilWlc5pQxZahVSnlW8HwYkKgUygPWWEhRIWpvCWaKSQgEixigmP00WMGbvgw+CcyiohDw7PdFtdeemhZAxl2VrRKGrLz6fvRtLJtJKCSUNluK9FxyxQHQphxBykFImNiSSGTiTcr1ZA2RTc++jYCyWZPSMChUos9m83TlgXDAuAErwsfTDfHfJM07TpIWYmUWmDBAm67gQ2jQpOGdp6FZts/+Hv+UPMiFXJzeS87af3BQYjM67FP35Bc0qhpQmOzBSgFByAEyCmxKCIDx3bv/LLVApICAYlgFVYhHKcHJ0a7NdMybqncOTcJUx7r2tTQ0FAgrAiokAmsbgNaGUBoCngFLUOVmMgDGN/Siksi5uVtcRoDFVohI11NW5wfXH62OAuNxbOg9MCSgZncupNO2cEJMdc4ZKqQyFuGSE4JzhwvlxOwxCyRhHUHXKFHMSnCGXhXNC0nWT+1VOmRA4h1KIGE+Ycs6MkEqutYwuMikKMQTFMYOD01vHOYaKs+BH7xKjGaPi48QYhMCJiLAYxlLKUJAQCSH5KSeHmHcPzjOik+PbEwZVz+x2E0LiWjezxbmD88RlSq47OtZGx5SGTd80takqY/Rms6aKV6ZG5Nb6RFFpyTPDwN0Yoj8ex+HqC88d3bg5bE+YUm50ivNzO4uSPOfCKOMy48S5NJgpR+w2I6OiKzw83HvyyWe+rAJxzpAgxuCcnUZbCplqMbqsSDnv5vP24PzdV69d7qd+MT9EBiSykTVxcrYHlCRNtx38OKY4KiFygfWmLyk3dwLeMSBiSS64CZVUmnMmGTRucE6NdVsnBCGlLdl1nYk+hlyCU5IXxnwuPCWWMLO8GgefnIspgOMslQQFmHNDVdVMZF6oQI62izHWVRVjKTnzkp23duh9xqY2Q+iQGJIpUFKK47A5O9vcuH0Lk91vZ7WJqzPPSWAp3jmuMgEwQCxZCJ6L8DDl6IUAyUWAlEpcGA0+9JON3vkQtTKuOxuGDeNcVU1hcjNNftiOQ18xAuAlF4YwmzWnp6vR9YLVnCXOBSBa52MqRJy4UMJQ9tuz47Pbl21/lrNLdlKm0aYpMeTAGFdADDLkkoUQJUfBVU698xM5PP/Z4iGvrkBCCm3kNE0l5RTDNE3tfGkTuH5qZ8163euqeeCRNz799Mc9JEjJR5JSCqKMgupGGGNA+DAabTRTZ9velzjXDQDkbI0xCMkNo2A6IebkWUy1FlAzOw4+xPlyWXIRSmbPhVRSK1JKMoZMQgbvRwDwOTvncomhZEpg/cRYUspwBGdHwbXzPmWGISIr1vpx6hZNm7wN3sfsY4698yhUzkAAMYbj09PVSRdTHodBEWQR+tEJITlyQuCqVEbvNPM7GTxQeMKiuGaSCYLRhlgyZ1hKsT5xYZQQTbvQUh2fHA3DWmgzxaCDbSo1uuokBRK8pFhVTfBJ62q+SNCnTCL4HCkhQwAALNZOCbAI0zAGOUDypYzJO2P03FQxJcgRMIXgvEXBG4AUxp4EYwykrq3zHPD87uLLLRCUkr0vRYfkghuitxjzop2dTDaGtFicKwWaZn7ffQ/funVbcCaEIKIsVW0aZHIahlprnO3GELthS4K3xkhkkKMgkTlFb01dp5QwRMYo81Jrk0vkWVkbb12/bpqGI2eM2Qgs4tzMGJfJu+Q2nDAhS4CFIGfgWgbnY4zECJhCtCVm56fMjQ+OAGe1yoBtUzFEJB4wDCFKxbg0jMtp8gmBECvdRD2FEMSs6rqh6/tWS8KMCASQgmWtiNEWJC4lFMwhSRJKmcpwMfl1dxZTis4WUjF4gMhzdeP69ZxjVc3q+Y4S2J2dTFhuvXR9sz4W++cO9vZyzjF5F10zn6VsgYyLMeY4jq5wlXIoMReGNK0YY1hSihGRLeY1Y7LEgCmFYElIAp5jIeGLc1N2zeJQ6tq0NR+a4t1sbhHxM86ivMqhjFI4Z0LwySYswBh1Ux/cehr6dj6TQgHgOIznDs8rqV966UUowJCASj/0nDgUZCSRmJDs7t2LpaS+60ryOeZpO6YQJNdSiHEYCIEQmVKAJfgQXGIIAnO/2VqHTIl53E7jkNsIhFSyopA4Mc5SDDnnlBMJ4pIxZMRZKjHlyIiFFIkla71Q+mSzmc3bSmgjdIQhjiMyBbxIbZiuVYvb9cnZ6VEKBSExTMQgJjAKjeIxMR88UuJUYiyFkwseCpWCuZScvVIiJgphEowhyYLMBQcwZaBu2wXvkdFiud/Ol926G6cQYug2pyXGYexDWlTaGCaRABAFlz764L2pKmKsm7x3hSSL08iU9LFHilwBD0wIzjkPPnCi3gdGDMEyYErWCUphcrHcbZr5raNbq9XRstZcoNbqMwKrr/ITCAlQxhhLwggslYJQlOKO8939HdPOvYNxcIiwWOycnh5lpATMWZcT2jgAFJiS1iIl1/UrTEAJSMnIYRpv8AIoKebABAsZgRclBADGGDz3yQOmwoB89mmavN/AcqkaYwSvTG3UTHK2XZ1BSSkBEkNQgKkgFCLApE1NSClFJoUxmbJPqZArRYrRR4AYIQoFwHXvgsGotWyaJoZpu9m6GIINdvCKlVa3WjPnbcmMcxKCgY9J+hCC83denmNlmliyHTuuGAPJmYwhQM4ERAxBFpXZFGndOaZiM9s1S2TEr+dYAwguRpt295aGk7NjYUXrVuaUwra4nAlTRq1qJEwJ1qup7/243ropcAKDAiJAQRe8nSaBzOzMlZkVMrxCZFxo7uw2TFsFAQs2tTGV+bIKVABCyFCwFOCcCyFizCllJrHf9Dv7Fyojt9uXj25db5qGsGhjGImp2+QYBrutmx2pjHObFB2UYt1YYlRsbkwlheRQUgoxZi5kgVSAAYJRSnEuuBz60eVCubSCx5yFqUVVVU1VyYpxw5Xoth3yNmNgrEipc6QUh1xiClErxYDnkqU2KaccvWBMadNPvZQaSxKaSa28D7JpDFdIXEo2hEzMVHWO1vqYbHBGS8YIiTOOOYPQQhArJfsYkSHxAgm5UCVHNxUiFgrLqQCGmCORBigACDkrZc5fOn/3xQcAeNf3NvixH5MvRVHd1lzX8G9rgXrIvDDGuFgs+dB1CQtidi7GGBJAjF1MEWPy/WgMxORDikC8ZCDGCTF5V3gGwZFwubPPuZ7sZKoGwkDAICf8NUv86grknB/HkfZqQiol+TgAgvO+nS0Yl5tNVzczY/Tm5HjjNkqoummDi5VhFobt6IQQQlQx9SlCiSVlYqqWdUslcIGaiVgSMF8wYIw5i5hzBuRSi5i4YMgk9DFnAKqW88V8vhBUIfGcynplVaWNkSmVMMWSvNYUQWHJPuRxO5Q8RkRRNRCcllLVMhXgDCP6nDIkQiTBFUtZaia0RizzRQuYz1bdFN3WdoWhEBwJQvDEOQrGldAkQsnIePYDIWitCyuKCSMNFuyc9dmziECMIQHA5K11HlU7m+0Qx+A9lFiC3Zze9pP1JGPJ89o0tS7eq6rSdTP0U6YshdRcjnbLeGIEspgUwhSnzckJ5ATZYxGMU7NceF+6wQnBfRjzmAVI78PhxXua2WzWznG2c/Plq6nkEDIgI/xMhV5dgWKKox2dHZAKAEKRBElJUQq0TRtcT1otm+bkiKWStRIlJjeNORXBRMXRDpuqagFELipjaZfzWTMPzt68/GKOKTMOgCkyJpiQGkkJISMCAnEhOee+T4AIjDaj25eVFCrG4J2DlGPOYnaBhN6uz/ywbhtTN7vrGFJAQEAgoZRWsgAtd/YFE5notB8Rq9XQlxSbQII444ohbdebqoVSsNuuQp6KK6uzYbNxjZKSEcOSIXIShIwjB0LIGGOBwkqOOacUklScNEOQpQzB+VCwakxl9GRdVZkM6KO99tIVoSvGeSFkQiAJHyZAMQ1jR6clxv2dvUoYYIyJ6IMrlJUWFHi/6QhRKWnqyswqiOKl55/VNQmliZucGOOC85wApFKl5FRcVZmqboWQtdbrs1XyW0BIlIyqjNFfVoG8D845710uxZhqGMbe+ZLLMKyhxL29XYIkpLp0z6XTzRkhOTsNfQ8xxZBrM+/Habs6Urpu26XWOnp3dnR88+XLulghsZRMCKaSIWajZ0SCWIoAIUXImTHGpEgFpUYM8aOffPbhe++6cH6PC0asVHrHqNmw2Q5dN18uljvnuvVpzsBlxZljwIQ2hYhQcCFDyOv1xqfoQvJhs394l5QmWTef170d1azZbrvtZjv062EaMKAdk1KkZCw5lAyQMUKQgkXnUYoCFKMTKASTREULRogpJaEKYlYkfQyVVIrxMdsQo/dDBm6tG1bD0a1bZ5sVcLazs2hnLedMKbWYz2MpKWdCyi6IUoC4FBqABB+bZnanyr31XjGjm7aZz3LexhizhCmEgqRk1VTO+QELCMbadq6NYoS3b944OznKccw5M4IC6RWLhV24cAGhXL/xhXt2loyMibOTGzFFwaXRMoRkjE4pcS5j8pMdmqaBbM46V0oGAKYUk9QaPd9jt0+vewd1VSmlb9+4fuuFZyRG2cp523JeXEycyxRTzsH7LROK88qnnIJlXJCMEsmOqZJ03KWXbpxxoLqVi+WirhrXr7abdT2bC10fn52V5BgUIuQkCZL1tqqXdVtPfd/1PXA+b2fWeaUaLnWz2HejJcBZI62bZvNmmDbAEQrvx8n7IjXPuYBQjApDMpWEgsQ4AmuURK3sZKWSSKCUxIJC6JgDZwI1V0Vrabb9OpfsrEsuFVaFdfjg5Q8cn51Cw7727b9NIY1dl0EUFDaDkDVxZYS00+QzYc527BE4RgYphayxMAqiFAGUmnllux6yT8Vi0bUxOaWm2lFST3Yk0kwSFh+nYPsTgWlMiZMQonI+f0ZC0q9TIGPMX/8r//sHf/ED/+Dbv/fz/2TOOaWslCIiN05TGjnTdV3nnIm4UlVdVadnx0PfpVRSsNMwSM6sC4yB0nK+XCx36q4P7Xxnu+6vvnSTSjSyELFSGCIJDrWqptQFyjxLKFxLBbn4yEMIjIgJSIpz65eVGOxw66SYrWBcStWHFOv5wmg9TWP0VhBjRCl7oABMYikxOOuYrivgRNqs1iultG6qO9sgbdvabmDIU4yRaL5cKqVrPXzq+JmYrYw8ASAWJpiRUknhY8o5+xBKykIIwCKUgFKijyH4uiVABoUKRKnVneqflWCQc/Z82/cn62Of47mLy0eeeGx35+Dm1evejrOd5TSOtW7OTo4/8ekXvu5tb5FSxqkHzN67ybpcuNImejYM0Y+D0Ypyn8skGJUcveu0hhyagsBlqdodYxuSCn0kRKVFmIRzVggeE+NYZ3QFPjM36AsLVFXV/fddev1DD95778VS0tOfev4nf/o9w+r64w8/1DRN3/ef/9dHO0ohZu3SOdfZISVX17PFYglFTKMl4js7u6enJ1M3VBJ5K8dx6OLoAjs5mYzhFy7cdc/Fhrh6iW4+/qbHbl97NvTHoxsyFG6BcWG4qKuZ9YPknHhTInCAxFjwLjuYXCDJpBLLnIwgZKmq5yFNp2c3dg/vapc7bhqij5ARSorEhJJNs3DWcskAiSTnlaqVcjbt7hyoxjDGoWCIPiZXMGz7EZCdrLeCC8qQEtlYhGKGk+BojERKxMF7n4DupKn348A5V1Jth7HR2ggZUkBiKWHOiQihlFxCianWVbNULDEqo6jk8p6L9z34BijUd11t1IYBJ9gO/eXRr7bpxjg+9vDJotm5c3YRAWxw1qXMGcOcwWfwKXu7WecYDnf3h23HOBeFRW8L5wAp5UACBQLE5Lxtm1RKYgxDyDGWnNFO2dkv8Qn09q/72j/2X/5nmNzucnm2OrKj/YpH3nB4sDOOw1d95dv+uz/6R//23//7n/8KhVQWrZCTEFXTsJTjYO3e3j4UCjbYacqZiKhu6pBcQRQhGOW8A+f90A8nJyezmUcSi/nO3v7+2cXzN2+8cOvyM3a7hkxShEnyploQ084OkCYAyCUjkNIK0RfGUmbGAHGA3qecgndnR5FrVorcnHTGyLZttVKYcwHSRmY/Df2QC28WSygCWL3ZrlKwUPLe3pyJChn3Yey7Ncg7eaE8joEE9tPw1FMvWBc1pwxOCFVizLz4GAkZCUJOpQAiaqOJIKeMGVywPscQY9f1UstKVIw4imKknIYRAReL+eHBrtXN4X1v0Ho2jH237lfrk6Efc8gF5fXTlY3ybW+6v5LImbh5sinMzRqVEySAwiBlms1mfmJ+3DKCEiYs852d/QR8ChMw4pBD9G4MianMhRu7LDZNNRdmJuQ8xuMEFoUdVtvJui9BoKqu/4s/8i2VLNevvdytbpydbaDg4Xn2h77pHVdffG7brX/v7/5d733/e28dHT380INDPzzz3PObbfcZFyHGfSiTdaVAKVBSqDQtWiOUzKmknMdhBADGeR+GlBFASG4kT5wr590wDCWXpm13lzt1u9g72OWKjq9dw7xJGQqACy5tN4vFvnNTKhEQgw8FUsqBcTnTbczJ+YFSgVxyZuM4pYxL0QYXMMIYJo5YUkYApczJ8ZkduqqS/bDlsT1YzCfrpNEgy9St/Tiplo1TJ4QUUnbdVDLaqUtxOjo7Pjlebba2qYoWRQqOxApA9jnyXKBQgRAjEQpkuRSAVOlKK1kIKy6cnTJEH4jBxBBZUVoqZFwrzpHbyZ7cvHnl2kk12x/GMWJsGzGb6XGEj71wI2D5uq94/YWGU4SXLl/5Nz/3kcTLW594YMeYXDKgZFwgorfj2K8FOsXlsN3gAqVGzZmQulg3ZCBhitQlKx9WMQxdv5rP9k3VbtdbZJax1PX9ry1X9VkEuvuuC6WUxWL+1iceu/apj71gx36YtDaD81rp9ebJo+vP78ybm1eeMfX82/7c/6QqWVXm5osvXr916x/+4x9+/oUrv/pqDDJGF6EgZxBSjmF1NBQQ++fO1U1VVdLHaVoNZyfrXDiXeowZSk7RDYMXQtwJvMwWC4aUXNiMfWHywv0PXx6m7Na5RGKzupmP3ZYzRhByDgxTwEzMEDLGOWRC1hY3sXmTY1Q6pFy0qZTWLGczkz7EFLc5DgAom8YsjbdDPWvrphntVsiSEkAJy532+Ozo7rY6PTvarKfDvZ04+ZPj4xgDItrJbbtRaWBEjKBt6pIISlHIAZiNHkshDkwgEi+s5FxyydaHkINWJhNJoRLkwnD03m1Xm7WujRLYEOPPX7mxdlNBuvzildc9/oaHHnxkdfvm7e31a6uy2Ju99ZFL53fmWnKt5PrsxukwNrN6M8ZKJaY1SsVQTaPTzTz6bR5GIYXiQHlyw6R0w0uRbSNCNUbwKNpZw9iCcbKun7Mlk4SCFEkN/PT0M58On0Wg+WL25/+X/5bHPE791WevfPrTL750vGprffHug6qSkkMBtl6vmkr77vbJ6uYD+g2Y5c1rz9x46ep8vvsX/vSf/I7v/YFf/MjH7lwNETlDSMBQMgZ+mvquE0z2/ca/5A7P31Vy6LsOMkqltt00BV8YbLfbFMaScmVqpZO1bhhGJrdag66bu0zT3ziez2Zu8ClAbWbIiGvOGHTDJoVATEqukElEhIJEBTIaqr0rRZDQ6H3igjk/NppN1i/m57DkbruqTLWzszsMPQAYU/thK2Uys/PrzZZzBky7OPX9SCiG4egYCoN0p3PrZn0yjZaXjLxIxgWTJfMMLiaWGKbkCwKXXCoJCFzwnAABYgE7DQVzgAI555zTnWL2pcSUFS+l0KYbU+p8sGM/7F+67/Hf/kZTGT/6jDRMolbp6956/6KZxVLath0Gd2bzm9/8SCWIEVkXqrrCQkDIJc+W7R1cCCsOyWqlGHECQoIYAmNld2cpejvExMlTSna7NXVFxIZxEropPhOn67dvf2GBZm27vze79eInx+325dsvDZY9cHF/d1cJNsniJMQQcXLjy7eOjMoI8KlPeS5IcEEIfbdezJb/25/9k//mPb/wXd/3rmmaOGdaydXZST+s++EkTbZtl1wrBpnljARArEDZ29uvm2Iaux077wKXQ4hT9EE0oI2WSq1Wq9nhgWpbAHHz5Zde+NRTLDotKlAslxKmabloAMroG+86rQyoKhaPlKMDACCinAnApZyReFObzXYzm82A80U7W+61w7bXtanbJSdUSPPFATfa+aluDNMcrR6tS9OUiuiGPiUnhMyQe9tzplJO23E42naYIAMYDkTkQmRImWDKgQsBUMqdBiqoFGdT6HICjzGWwIByDIJrhALJOzsJJebLhSHOhQg+cSH2dmbCiOVdd+3t7kbr+8lev9m9vJm++rEdXsDaQETr09WnXt7yxezhuxaT9c+/9DJnLE6OMmUeS0zR9kyAFE0oTgpExjNxKWVtVFtX/ZQIUAJkPwlGuRSjOSCfrE0hQAEH6ebRyRcW6Gy1vnWynS12qJTX33fXdtsDkmakeaNZmPxUSZ08bFYnvNWCyzFsCiEXnACR2K3bL1s//va3Pnr//X/2b//D7wwh7O7Ne7+Z3JAzJAIMjhG3YdRKBj8dXribC+VG1zQLplVEzKmvqjbFDCHlFIJzxrRaSkF6u1r1o1+dHi8OD/PUyTRMk5umwLmIPpc8SYFJ8Vhsjui8yzlLYawPIUSpFCAQKURUSkk+bFf9cvecFPNuY1OMTbNkXBQEWRniYrRDzoBook/b9SomyLkg5m03AdKsnQthtJmNw5YgMCZdggJFEQei3k5tbQTxDIVLzkhNY59KUEohCzaEVHIugYpkJEIMJefoQ86ZE2dUqESG2sfcDyujq6Zttdplm95ut/1gKyW6YXX12tVQ/LJpJJa+WzmXxgBj1k/csz/X8ueevvKxyy99w1sfDYVrJhUJ67eUC0tBClYiGSVPznpSpmlmpdBq06WCow9MCSgFpWKcM6FD8JzKNG21kaOD6ze+CIGGfvhH3/muP/VHvzGEFN0EOXBt7DQJVUVZxmkkRTuzpiD44BCZ7SZZGSIqhCUma/vVynXb7g2PvvFv/aU/t95u27bxgfnJMmY8zxzQT6P3tu/77WShyLqdL3aaYZiGadxs1hCcVgJmTbU3Z8FmZHYqgaVuPSmjpGTLneViOTt6+Wp360VjhLUh5rLpHYeQgCGTQqqECVBHn1MuxlTGQAyJhMwpI4D1UzeGzdkmRrC2C8Hdc/FeIZqCwbkYYsh5AkgxwGZ1O4Pb9mtZz4Xks8WMikAgxoUSdYxZMH56dnb3Pa/LiT/zwkszo+7sCeTRU82l4M7jpuu0YUKKYQiIxDkXXEJJo7WClFASAHICzBZSkVKVEsaxJ2CCSc6l5GL042a7XY+r45N+vrPPDH/iidf1K+t9GEs6PtkebdKJwye+6i2csb4bP3X1xuHBTjtfTGMOEWojZNtELdCvZkZEMeMoGyNsidb6aRrGsS9IZjmvdMOZAJtD9qJulu3i7NYRQkbC6y+frlabLywQANy+dTQNHUJklRSsIEmBFKKFnKe1lQtdWBCSExfeOcZBYORpMqZljMXo3BRnB/vd2XrWNLsXDmLJnKPWehoGRAYQTSUX+/NhnBpZJT+sV7GdL7jmKlU7yzCOK2sz55wTS0whqpPbt4XWLrhL995fLfd8wNNr185ePsISlJRcQg5T9B6FZEpxICgFgBghmQTAci4xRiKWk/fBF2CZiEQ1xlMx9DE7KcTJ6Ua1bVU32257erpSyszaeQy2sMgQOScsYWe2z3jjcwAsgw+ZcsFoY+hdee7yDT/0O0uthbSjTQkK5vU4wpBzKoozKib1Hom4AmBKMM1Iu7HPYQiRCcmEkESCIws55FIYZ4wLKpS8XZ+Fs27TjTaEsrvTPvj4VwCTZ6vjYfPk2cmqA3Y2xrGA0AoKSV5/8OMf7ZL7+kff1JhmvT3b393F4n1wEKdaSIV8GsPZeCKUScRiCm4Yun6dEgQqqtrxrhjFQ4blfBk6Z6eBsawlPfv85c9aMfizCCSlFEIy0uf2d50L2+0YIMYUldC7B/OcyjgOumoYFgZMCMDsBNdGcim1DSyXbIf+2IdxrKU0woiQXQoAyEJwBVjBBCHt75+b+r7v++VOk0suvnDIRgukarGoY0hT1xf0IeRcPCICMFGxTz395I3nn0vDqYSitRhzkVLUTePGaRxHdAFISi25VpzrUlIuQET9MDjnARgI7WMkYu1yKVcnMRcs3E7hNJ2o2tAprDYnTTNvZ+04DnVbSyV5Cm3b8rrGbK7fPB19P1/UTbvwwSoppJldO3r5n//YzzBGb3n9xfsuzYQQOwKbyoTkxr6DWDhDIFLGEC9CicV86awLzqdSIGPyKaUCAAUQeIECMaccsKpMijaMLiUfYiKBB/e+7qE3vW3ofElTtz5TSiYtQ+Y2IGfASZ4e3VbOfuSl61/11tfXxdez6sG9g249+tGaZsGCYnENmJQRYxBMCETAZLUkIaT3MQfurQsxl0Syrrdnne0mgKKNCSE9+dRnHqf/nAJN1vpYZoIIipZm7DomlM9piINWOtpSVTqVxApbNC0nKtG5cXu0vb7Y3c8MJ9vZ4Rh1fdfFi4DAeI5+ygmnsU8lV00jpayrWdMspKy67XacpoXWMWQ3+gwx5+KcI9ARuE3j6EZt1KJpqmVbt7XmYDe3cuqb+Z4xGkryzgMRk9IU7pyvFjNtTAwppQxERBkRVd0W7kNMkhhLkJNs2lm9Y/v10ZhDym7G6nGz6TabQmV397z3tp2ZujYpZqHrZr5bCty4dVoYSCEZqZyIsWyM0nLnl5/8YQBIKX/oqatPPn9ruWwWrT5/sLczq9v2cGaI59R3fT/ZutFhTKbCAhxIKslctkxnF3yavNQypSiAE/JcYLRbiFlyLrhycWrb5eLw4ur2an22Xq1vEo+VMqcjfvzyLeDl4Yt7SIgYrq2OH3zooTc/9vjptdsf/fizjzz+hkXbHG/Xq+3RUpOUlEpkQikz000lOFeE3njZtNNkOx+d7xnT0+iqxf4w2ui3VFDo5eXrt164cu2LFehstdlst/NdzhhjRErJcQyL5XKyY9/bpq2jTzkWI0xjBGOFEh8Bj9ers80KGfnocgaZ2MmtW2nhaHcnZDcOfcqJiPqhb3E5TU5q3yzm7e5eLtkPg0CwEfpNR1CIy27sot0WZ1tRYxoIcrRw+dOXIbkIkRMJrlKKVa3H9QaD0ErruVgKBZxbF1MEpAyIKZeccmGcGDdaW5eBpG5b0+68+30/FIO95+69e84vLu7tG8lRgLX25PRW287qZmZDGa3vNqvKGGWaamd5fP3sx37ifSGEt33lG9/w+te98MzVf/lj3/vs8y/8qv89N910N27CJ5+9DgBItLtsH7r/4mOP3L3bsBKCn8Zx7OrKGFmXhIA5gs+op2EIwSvJUTEhBAJ03QTZz82cS6ZqjSTH4+sRsa4W9T13ccamzj/14nMu57c9ck5yMcQIkNqmffDwnCDxzPVjN5594udu7y4OmrZmaYg2Sb1kRJnxQkzXNSIvOZSUDVNcSN8NGUryHhEFo+S8j1FrVVj64EefDOEz4/CfU6CS83NXrt97+FAOpWTSxiDjO8tF19FmvRmHxLmR0lSGGy4Yw94NU8yqafrRY/QpJUSM3vsyrbAMdmxnixhzgaKUJMJxHPpuGIZ+b9zbOzwntPIAKQUmQBuVJpdTJsyQHCVf4oQkCEhLs9zbicFcP9jvjo5CiEwZKeeHB816czxNnoTMWPKUvIuMMUTGBUpRdZPL3rez1mMpWKRanr/vvve894N3Ci6drbpPPSufPn/yxscfft19F3Tr67bhnPXeDd2UyJBspwLWw0+9+2d+8UMfnaYJAD75zIt1XQ3j9PkLD5acT043J6ebD3zkk+cPdh596N6HX3euXWokjKWEOEZOKWCEiFplQAd3gmAJMAMDpQ0IYaOdplEp4rzOJazH4yw4EXdT/9B9jTLVblsDkyL79XbUukmhXLl6pHigvAbvs4qjl7OZXjS7MUSShAwLEhTwMTACJFTShD4ppUZfBsuaBoftGpBzI7gS26n/+V/62Oe6x88eyvjE05d/x1c/iiURo7bRKnAhiCkUCou3wdskq9jujgniZCfnM8McKAantSqUI2RWSgFnx2HsMU6eN0JqYYcw2p4YKC62m2M72ZhK3VTEyHvnfE4xh4xhGhCKEvNFy6w9W3ddcWY8PUXAu+69e7F/cOW5T0+jvXDh7pyKqtT5c+c2/RAC5phLTggoNZNaJeJIpeHQDRSLrCtqaiXUzjhM/+Jf/etfuVnn/AtXrr1w5ZrSqmmqneUi5wwlnZ1tJ+uJCBFjiu7/HwYahs9S6vDzmHTj1smNWyc/8/Ps4t2Hb3rsoa954o33XKqnabM+uTlNfUzFDZ2zU6YsFOSMUtZK6VKIMVactXZoROWDBaFMtRRVvVSLS+qBoRu7kzPMuD5Jxy49+Lpda7tSaCExKIbSVEZLzhUrACHG6FxUlRFSpFwIEQBLYdM05YzR5Rh9jEUKRRxCQVVAAfv5Dz99fLL+0gR69oWXbh5v7t6pc46IWBmdS2yMnmkRQxCGZZmd7bJCn5xLdpomLXRdNYAJgKLPyDCmmHMUnLb9DeUbubO/tZOPfjZvSGiRwDp3ujrqBxOCj9HlmPsxHJ8cnZ2u7eQZyGY2m+0tGdFmfXvvYNn3W6A0m81F3RycvySlGscOWR0xM4SYQ0jAOXfBhoFUqplUSvFKG6nnq9UYM5pmBqL+9nd+59HR0a+9a2eds+70ZPXFm/GlklK6cvXGlas3fvynPvDg6y597dc88dgjr7urNcP67Ozo5untq8FDLhkpC8FyEZwhglY69NuzbnOCjDNOTdXc/bqHldZjP8xrd33wn/rUCw7F+Xl7+elPViYv5hUPXVW3SKyazaTgRkjG0DkLBbEQIQFgASDEnAoSlpKUYCGRlklKlgsDRoSsH/273/+hz3NHv/aU9L/lG9/xNX/4P/nqcVwz4CnmnON8VqVhuPbJZ2bz+eLi4cn29PQsa9VYCOuzM0qgdXUnp90555wzxvgQjNExTZwqLiQqs79/2FQzbVSIrtt2ueRz5y5Mtjs9ObJD/6GPP/f0i8eAdHCwUyvedzYDLRaNIbYaJ4nxHV//VY+96a2Dy7dunKxvvoz9cVO3BVApEUI/FSQqjFNkjFAF76URs9kusMqFlJmaPPzj73/XRz/6sVdejV8vdV29/pEH3vqmhy+dX7DUjUOXYw5uqmuDRdpp3Gx6yUvOtkyRiITWh/e/wah2GKbo7Ob0eLtZMU2lIBYY+m5n0c7mNee8ErqkaGZtW9d3KhDn5AEU55wxHkvhksfJAUIECCGkFCOyk00/Xy6YqqVpOaf3f+CXv+cH/+XnGf/njMb/3C8+9bu+7g1zwyHDdCcvJxQuzc7dd+/t7s13WiHl2enzp8dj3S4WTbPebIZpYMi0VsTIaKkEKqlyzrWelQyZoABM01QiUGmsH4WQUoqxn0jw2tSM6Ik3PrBctocHy/3F7mo7klIhoB+3spQz66dxODg8mLXL2aJ+6cWXxn67Z4yUEgkZp1z0sjExB+KKSU1MMBKFilBS6FrPz338qee/4zu+61fXePutwDCMH/7IJz78kU/Utbnv0rm3vvH1Fw93jZwYy8EHh7h/76V+vUnTNoN1wzie+YJXCWJ0E3HR1K2vEhCUmHfm89JWKIFxCNGhkjlGAhi2AwlSUgHjiIURhRCkktG5gmC9ywWkYBlw6G3EIhtdisgpnfbbH/upn/384/+cAq3W3fs/9Ow3v+Mtw7a/s03hfSAl9y6cm9U1YVJSHOzulXDDj2ftfP+u8/PJjkO/LRARsDEV48i5dGEKwUOmhCz54cqVm1pUlWwQWL2cKy2buskhY0LAsrPcfeC+hwXmG9dP9g/uBUGhO7EZMsLF+XKy9Wa12a43vgzZT0yUTXdacpkvd3KOk5tYxblghRCgaC0JdG+TTWWhq+/7gR951z/9kVevXPJvnGGYnvrk5ac+eXnWNpcuHj72yD2PPnTX/ffvaq22x+tutdqubtrJBQxXXrpcVayttYwQnNOKCLlqtJbCO1sgY1JxikkHzij5IITGknMGxuU0jR58rVtnx5xiRHanerCdUkDY9l3UnKRKgTPOfvwnf+Hkc7/93OHznQf6qfd/7Gve/Pp5BeAAkazPhMkoPkbHIGlj5u1sVpmbt2+66ErgmoRlVJjQJIwSnAMWUVjp+5OCSEWVDKxAjNPRZpVzaca6MtVQNZzztm2AcDY/lM3y9PaxWd6dgG82t7OdEJEzUMRIzb2jzWYtq2bv/KFu2PXnulSKCxMjGKftEIbDc+e00JFy8IEzbBdV5vNv/64f/Mmf/plXcrVfTbZd/+Qn+yc/+UJV6YceuPTYGx548N4Li+VBU9VVfftsdcrlVHIojLlkwxhJmEoTpOT9BFQgl1wcx4RAuaC1YZysFpzL4lIupZhaDaErmWKMmDMg76dh6LdCzdwUJm+9g8aYX37yUz/7gV/+gqP9fAKtN92/ePcv/vE/8nUxQI6AVFzM2ynrQhhQ67Kzt+CZddsudFNMnjOGAIwY55BLPl11jKuQfMqJK80Yg5AqJZwPe3t7jFjXbwgZFBiGtZAYcgG2jVlXs51p8sNqE4dRSZlzSmnsx21CdbrtxoKPPvb4fHmws7df1fP1zavTMGEp7XyZOe+HgORFZUxVK1X3vnz/u3743yF7fjXjaD/2iWc+9olnAODC+YMHLl146P5z997zyKwRyU85lMm5aRjH9dYlDwAUsarmgDmlKeccrS2YfUyIAFiXTMgIwI9jElwVKMEnoiIlzpo2pei9JYx11QhOx5vxB3/k3fGLaBX1BY60/sKHn37rWx587MG73RghOESaJo9AnLGYuRui4Gn//Lnz97DLL98cBicYI0wxhGn01gcIkQuS2iCqkiKDEmKEAgC03Uz9YAlUW+/IXcW5KN69eOX5obvy0Otff3Cw27SNNnyatpCg650bbcJ0fevm5++bHFRaZaDlwYO8mPWNq6vh1Hb28GBfSE7SlIy5FKpn/+xHfvRHf+zfvBKr+ZvMjZtHN24evf+DsFjMHn7gnq/9qieeeOwrZjuzMJw++9SHN2dHJIWSCjkP1qUihcExTsMwcqkgFetT3TAqAjGnGEpImQCBJ+/GmBFEKYBcZBZqXa3G/I++95+enH5mLanPyuf8FvYrXLrn8M//6T+ikbLrJ+sSomSi0kwL6XwAlistFGMhuRdfun7rxk0tDWNsHAIQABbOBeMaACF7wbEyJsQSClnru74TjOfEdg53ZrM2hpBJbXq7PttshiyEufe+uxMvLz5z9fR01Y3dzmL58IP3PvTIg/Plfq1nnLNo+8tPf2Tq12bZxJwZMa1EZSpd1dIs/vm/fv/3fv+7XtWGj7+JtG37FY89+sQb7r1wqGe15MAK5JijC8ENLtuN9Z2zSUCxw5SAzZoZY5IJIaVGzIyVGDEX5JL7hLkUlxIozYT5gR/56eeeu/JFDuMLCwQAf+j3/o7f9w1fafvV5B0IVnxkwIxWgKVgklwoybSW3k1Hp0dXrt6oZJUz66YhhUlISUwVoEYIU2ujVQbYbLc5pa4bp8lut1FVzc7egmuhq4ZYpTCfnL7cTR5Z40vabu35w4tKY6V4Wy/O3XVBVy2nCnPpTl4+PXpBK5EZIwJlVClMq6pa7v3Ee37pnd/5va92v77fCrRNfe895976xOOPv/HRqq4OdhbD6sgN6+TH9dlxTH7sejuMQrecm5QKVxq0WjSt9QlkBQW7IbSVZBLlfOdHf/Qn3vfen//i//oXJVBTV3/xz/zn55c6xBBiKCFBzEqpXKIQvCBUQhJhBsc4Pvf8lW47tvXy+OjIxYkxIbiIIXGi1jSzeSuV8m6YxsF517ucofKZhxykYRcuHMaAV1+8AsHdd/eynTeF08H5BxHNS9euMqUXOxc4yxCjn1KOE8ShUFKm0pUWUmQAo5um3fuZX/z43/l732Ht5+zw8O8lSinG+bmDvTc+/shXvuUNd5/bFQwYlNXR9W5zE/mskAAU9WxpmnnyXuiqWeylCKdnXd+d+WDf8/Mf+sl3vwd+TfLX5+GLEggA3vzG1/+ZP/GNbhyCj9kHKigkS8kzDkgoGUJhUumcvXX+2edfEEQc2dHp2tuImaQSnNHOYjGfzYiYdZtx7AuUxLVzDFm7HXpZi4PDCynbycbjs+7k1nGr2AMPXKwXh30I/emqUqKuZ86ehaknbiTHRldcG6HYbLZY7Oza7CvVXL569r9+219dbz7L6af/oLhw4dxjj73+q7/yicO99uLFg6peIjGQupktP/nkpz74Cx88Oj7pumEYxm677br+7Oys+0JZfr+WL1YgAPgTf+wPfP1XPbzdDLwkyDGmRARCsuAdMeBYIWJBy7l+7vmn1uvNjtmdglutNlVdSW6WTUu8pFy880KUHJP1IUlDwENk1geqmqbZk4oRyJitjxkLXrx0cbPuu83Zdn0NUq6UTsELxnhl5vN5VZkCWFV1pefSGJTcJfrWv/S3nnnu+S91Iv49pq7rixcvPvroGx548MEHH3zwuWef+7/e+c5uu31FLv4lCLRczL7tL/yxVrFoLeUYfSJCLqiUzIgxJmIMCFEqdnx26+qVlzlwY8w4TAkAEnHAjIGI6rrlQkJGxriNFoFx0iHFlUtcLEIIm9VaEDMV39nbA2SbTTeuV4CjkRwZ09ooraq2qkxTVYYLUVWNNA0JwXj9zu/+gX/5r3/iFZma1/hi+BIazq3W23/yz35a1A1yAEQpJBISZSUVIbuTNohEOeZ2Nt87OCzEnQvaNEbUuzu7zXLBhPYRJptjhIIMSESfY4gJkjLN4c6yMUWLPK9RcFui69ar1dlxgbLc2W2rGeUoGBEnWSkmgHFGjFWmms2W9XKx3N//Vz/1vtfs+TLzpRVX+KVfevL9jz38DW9/3K6PKWYqhRBSSVBQcsylAAICk1TVphrVhAlUpSolKWPX9fOmXacVYtldLOzkrB05AyQmpWZC1HWlhMyZpmlYrY4360lLDRIAoFEy2iplmQh0paqq0lpppbRWXFUJpaT6w7/86e/6nh98VSbpNT43X3J1jh/65z/xwP2X7jloYr/OhaWUiTDnFEIqUEqGmBMQcibuuvv8ydkmg2BcgY911cZg93Z3pWqrqiYkYrBapwQppq3SqZJSSkWSa95CSZXOiNwnr2accmGmiaUU4iSgrluGSiollTTtbj3f307+773zu/9D+9r1W4EvuWfqdrv97u/70Y2VRTaFi0g8lsIkxRA5cgThI4QIbTNbLhbnDneVNtHnkmEcx223ZSBbU0khuOCyrlVdmboqJQQ3dFPfTzanyChJyeranD+/s5hpCdQ0MyHZfDbb3z+3tzysVKWbRtYNr6Rs9NbHv/x//o0Xf4uF2f8D4Ut4if7VfNPvecc3/u63izTmsIVSWM4le0QBiDnnArmU1BhTEArK9dnpyY2Ttmk2m81ivkwpaQEFmAcahoFLHnyMMQrd1HUzaxqtRHAhl4KcpNZjsMRYpTTnCon1Yy+1rOf72lRai9Nt/Bt/59s/8IEPvrLz8hpfJL/OCmU/9u6fvuviubc8eh8gy9GXlFNKgIkR55xyhkLknScmlILFsj26dbTptsGnabKc42bTk9BZKpIMAFES5yIFH7x3PgsqVMA6u793ISOneimF9OM2pCgwmaYSRrWL+XLn8Bc+9ORf++t/56VrL7+yk/IaXzy/zicQACyX8//hv/lP7zqcaVZKGGMoPnqpBAeAXBgvOWUta0JiHJ9/4YWh80qTHSatJVOKCeMiCCm0Uj7mqRswBSaFqmuJWTASnKFUs+WBMYuUYvBDxkxCStVWdaOU+dEff++3f9c/+YIVrl7jVeXXLxAA3H3h8L//r79lb8cICtEH7y0TKJAxwJITYwT537YMG2137dpmuTu3k4UC3HAuhaBq6CfnHGEhBsEOiJIUq5SQgjOkZjYjqZSqmrpCQp9S4mLeHNy4efpd3/dDP/Pen3ulZuE1ft38hgQCgPPn9r/l9/3OB+89bzSkaQLEgkkKyUtKMTrviYgzFZK/vZ4yiIpzLDmEIKQAZClCzkjkYvYxBSi8aWohRNPUgilkJKvKGCOEII6cS9Psv/+DH/trf/Pvn31xhw1e49XmNyoQABij3vENX/22Nz+4P6sQIQYLSFgSIeacvXVGS+SMmvM3rt8KQ3fvPZc2201wwflADKSusKQ79Sitc8oYKSvOudHcVK1UDRKr29ZUUlXtz3/w6b/wrd+2fYW24V/jN84rUCd6mtz/+2PvOz07/d2//YnFrOFCTKPnghijApgwh+Q4mx2cu8e5skklRlbV7RDXolXjOEH2SmshZSaB0iIBcSG1UTWXpoaklK5JGJvFT7z7A3/rb/7d1+z5LcUrVmj8pWtHwNJqs1q2jRQlRMZIhmCRVAKs6gVkEIILxQpM4/Zsc7bevXBhsbOXQZRcCjIgknzOhGDIYy7RM7VcgNAx0+UXX/7+H3jXe977/s+fCfoaX35egY+wX+GJNz341jc+5IZhUcnlfDlrZ5wTMtRGqXom9AxTvH3zJYrRT8Mw9ayeEymfsa4NZOSMk9KRsUrw3b1DZPKd//d3d+O4Xm+uXL4awmcWmH2N3wq8kgL9Cm2tL921+6ZH7r1wuKyrum7aQkXXy73F+atXnvFuq00bQlLNTBmVsczqdhpGwU0mJhu9u9i5cvnGj/yrn3jPe9/3agzvNV5BXhWB7rBctr//HW9+5P4LmdE0eSX32na/704Zi+3uuZgBYzq8cH6yqVaaEAhZs2wyF9/zPT/4gz/0w7+2LcNr/Bbk1Wq2cveFc9/0jq95w/177aJmaiZF88JzV2OwVdUwToudxTDZYTumADu7h2PfGWN2d/avXL/+N/7uP/jwL33kVRrVa7zivFoC/bav+cpv/kN/sN8eD9vNeht6t9nGUgSeW+5mN1J0M8NqPrdDN5s1daVms+bTzz//rd/2f7x8/fqrNKTXeDV4tT7ClFZf//W/ranFk5949vr12yGlUkAIfv+997z97W9506OXHrj3nlL4erUGki9cO/7Zn/vF97zv51+LS/w7x6v4DvR5uOvC4Td94zd80+95e99Pf+Wv/qNPPPnpf1+zt/695/8DFsasw6MVbcoAAAAASUVORK5CYII=\n"
|
103 |
-
},
|
104 |
-
"metadata": {},
|
105 |
-
"execution_count": 8
|
106 |
-
}
|
107 |
-
],
|
108 |
-
"source": [
|
109 |
-
"im = PILImage.create('/content/teddy.jpg')\n",
|
110 |
-
"im.thumbnail((192,192))\n",
|
111 |
-
"im"
|
112 |
]
|
|
|
|
|
|
|
113 |
},
|
114 |
{
|
115 |
-
|
116 |
-
"
|
117 |
-
|
118 |
-
"id": "Ko1vxtuzACNo"
|
119 |
-
},
|
120 |
-
"outputs": [],
|
121 |
-
"source": [
|
122 |
-
"learn = load_learner('/content/bear_model.pkl')"
|
123 |
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
124 |
},
|
|
|
|
|
|
|
|
|
125 |
{
|
126 |
-
|
127 |
-
"
|
128 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
],
|
130 |
-
"
|
131 |
-
|
132 |
-
"base_uri": "https://localhost:8080/",
|
133 |
-
"height": 34
|
134 |
-
},
|
135 |
-
"id": "N4lUOFyom35W",
|
136 |
-
"outputId": "d363cb16-e67f-4829-a776-8af408671170"
|
137 |
-
},
|
138 |
-
"execution_count": 9,
|
139 |
-
"outputs": [
|
140 |
-
{
|
141 |
-
"output_type": "display_data",
|
142 |
-
"data": {
|
143 |
-
"text/plain": [
|
144 |
-
"<IPython.core.display.HTML object>"
|
145 |
-
],
|
146 |
-
"text/html": [
|
147 |
-
"\n",
|
148 |
-
"<style>\n",
|
149 |
-
" /* Turns off some styling */\n",
|
150 |
-
" progress {\n",
|
151 |
-
" /* gets rid of default border in Firefox and Opera. */\n",
|
152 |
-
" border: none;\n",
|
153 |
-
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
|
154 |
-
" background-size: auto;\n",
|
155 |
-
" }\n",
|
156 |
-
" progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
|
157 |
-
" background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
|
158 |
-
" }\n",
|
159 |
-
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
|
160 |
-
" background: #F44336;\n",
|
161 |
-
" }\n",
|
162 |
-
"</style>\n"
|
163 |
-
]
|
164 |
-
},
|
165 |
-
"metadata": {}
|
166 |
-
},
|
167 |
-
{
|
168 |
-
"output_type": "display_data",
|
169 |
-
"data": {
|
170 |
-
"text/plain": [
|
171 |
-
"<IPython.core.display.HTML object>"
|
172 |
-
],
|
173 |
-
"text/html": []
|
174 |
-
},
|
175 |
-
"metadata": {}
|
176 |
-
},
|
177 |
-
{
|
178 |
-
"output_type": "execute_result",
|
179 |
-
"data": {
|
180 |
-
"text/plain": [
|
181 |
-
"('teddy', tensor(2), tensor([4.8331e-05, 7.1999e-05, 9.9988e-01]))"
|
182 |
-
]
|
183 |
-
},
|
184 |
-
"metadata": {},
|
185 |
-
"execution_count": 9
|
186 |
-
}
|
187 |
]
|
|
|
|
|
|
|
188 |
},
|
189 |
{
|
190 |
-
|
191 |
-
"
|
192 |
-
|
193 |
-
|
194 |
-
"def classify_image(img):\n",
|
195 |
-
" pred, idx, probs = learn.predict(img)\n",
|
196 |
-
" return dict(zip(categories, map(float, probs)))"
|
197 |
-
],
|
198 |
-
"metadata": {
|
199 |
-
"id": "k8MzL29fm5wO"
|
200 |
-
},
|
201 |
-
"execution_count": 10,
|
202 |
-
"outputs": []
|
203 |
-
},
|
204 |
-
{
|
205 |
-
"cell_type": "code",
|
206 |
-
"source": [
|
207 |
-
"classify_image(im)"
|
208 |
-
],
|
209 |
-
"metadata": {
|
210 |
-
"colab": {
|
211 |
-
"base_uri": "https://localhost:8080/",
|
212 |
-
"height": 69
|
213 |
-
},
|
214 |
-
"id": "R_dNtPRtoPER",
|
215 |
-
"outputId": "95b072b8-736f-424d-98dd-2a99e5078bef"
|
216 |
-
},
|
217 |
-
"execution_count": 11,
|
218 |
-
"outputs": [
|
219 |
-
{
|
220 |
-
"output_type": "display_data",
|
221 |
-
"data": {
|
222 |
-
"text/plain": [
|
223 |
-
"<IPython.core.display.HTML object>"
|
224 |
-
],
|
225 |
-
"text/html": [
|
226 |
-
"\n",
|
227 |
-
"<style>\n",
|
228 |
-
" /* Turns off some styling */\n",
|
229 |
-
" progress {\n",
|
230 |
-
" /* gets rid of default border in Firefox and Opera. */\n",
|
231 |
-
" border: none;\n",
|
232 |
-
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
|
233 |
-
" background-size: auto;\n",
|
234 |
-
" }\n",
|
235 |
-
" progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
|
236 |
-
" background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
|
237 |
-
" }\n",
|
238 |
-
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
|
239 |
-
" background: #F44336;\n",
|
240 |
-
" }\n",
|
241 |
-
"</style>\n"
|
242 |
-
]
|
243 |
-
},
|
244 |
-
"metadata": {}
|
245 |
-
},
|
246 |
-
{
|
247 |
-
"output_type": "display_data",
|
248 |
-
"data": {
|
249 |
-
"text/plain": [
|
250 |
-
"<IPython.core.display.HTML object>"
|
251 |
-
],
|
252 |
-
"text/html": []
|
253 |
-
},
|
254 |
-
"metadata": {}
|
255 |
-
},
|
256 |
-
{
|
257 |
-
"output_type": "execute_result",
|
258 |
-
"data": {
|
259 |
-
"text/plain": [
|
260 |
-
"{'Teddy': 4.833127968595363e-05,\n",
|
261 |
-
" 'Black': 7.199876563390717e-05,\n",
|
262 |
-
" 'Grizzly': 0.9998795986175537}"
|
263 |
-
]
|
264 |
-
},
|
265 |
-
"metadata": {},
|
266 |
-
"execution_count": 11
|
267 |
-
}
|
268 |
]
|
|
|
|
|
|
|
269 |
},
|
270 |
{
|
271 |
-
|
272 |
-
"
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
"intf = gr.Interface(fn=classify_image, inputs=image, outputs=labels)\n",
|
277 |
-
"intf.launch(inline=False)"
|
278 |
-
],
|
279 |
-
"metadata": {
|
280 |
-
"colab": {
|
281 |
-
"base_uri": "https://localhost:8080/",
|
282 |
-
"height": 211
|
283 |
-
},
|
284 |
-
"id": "Uc2M0zOEoR6b",
|
285 |
-
"outputId": "08c190d2-b5ad-43d1-aa00-f4c452152024"
|
286 |
-
},
|
287 |
-
"execution_count": 16,
|
288 |
-
"outputs": [
|
289 |
-
{
|
290 |
-
"output_type": "error",
|
291 |
-
"ename": "AttributeError",
|
292 |
-
"evalue": "module 'gradio' has no attribute 'inputs'",
|
293 |
-
"traceback": [
|
294 |
-
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
295 |
-
"\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)",
|
296 |
-
"\u001b[0;32m<ipython-input-16-b4d2dd17fd72>\u001b[0m in \u001b[0;36m<cell line: 1>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mimage\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minputs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mImage\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mshape\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;36m192\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m192\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mlabels\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moutputs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mLabel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mintf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mInterface\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfn\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mclassify_image\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minputs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mimage\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0moutputs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mlabels\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mintf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlaunch\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minline\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
297 |
-
"\u001b[0;31mAttributeError\u001b[0m: module 'gradio' has no attribute 'inputs'"
|
298 |
-
]
|
299 |
-
}
|
300 |
]
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
"metadata": {
|
306 |
-
"id": "bqK_vxTfpqBj"
|
307 |
-
},
|
308 |
-
"execution_count": null,
|
309 |
-
"outputs": []
|
310 |
}
|
311 |
-
|
312 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
313 |
"colab": {
|
314 |
-
|
315 |
-
|
316 |
-
"kernelspec": {
|
317 |
-
"display_name": "Python 3",
|
318 |
-
"name": "python3"
|
319 |
},
|
320 |
-
"
|
321 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
322 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
323 |
},
|
324 |
-
"
|
325 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
326 |
}
|
|
|
1 |
{
|
2 |
+
"cells": [
|
3 |
+
{
|
4 |
+
"cell_type": "code",
|
5 |
+
"execution_count": 1,
|
6 |
+
"metadata": {
|
7 |
+
"id": "UySFk1vPKxb_"
|
8 |
+
},
|
9 |
+
"outputs": [],
|
10 |
+
"source": [
|
11 |
+
"#|default_exp app"
|
12 |
+
]
|
13 |
+
},
|
14 |
+
{
|
15 |
+
"cell_type": "markdown",
|
16 |
+
"metadata": {
|
17 |
+
"id": "gT0wxrhGKIxL"
|
18 |
+
},
|
19 |
+
"source": [
|
20 |
+
"# Bearify"
|
21 |
+
]
|
22 |
+
},
|
23 |
+
{
|
24 |
+
"cell_type": "code",
|
25 |
+
"execution_count": 2,
|
26 |
+
"metadata": {
|
27 |
+
"id": "Fg2er2rQLApV"
|
28 |
+
},
|
29 |
+
"outputs": [
|
30 |
{
|
31 |
+
"name": "stderr",
|
32 |
+
"output_type": "stream",
|
33 |
+
"text": [
|
34 |
+
"C:\\Users\\utkar\\prod_apps\\Bearify\\bear_env\\lib\\site-packages\\tqdm\\auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
|
35 |
+
" from .autonotebook import tqdm as notebook_tqdm\n"
|
36 |
+
]
|
37 |
+
}
|
38 |
+
],
|
39 |
+
"source": [
|
40 |
+
"#|export\n",
|
41 |
+
"from fastai.vision.all import *\n",
|
42 |
+
"import gradio as gr\n",
|
43 |
+
"\n",
|
44 |
+
"def which_bear(x): pass"
|
45 |
+
]
|
46 |
+
},
|
47 |
+
{
|
48 |
+
"cell_type": "code",
|
49 |
+
"execution_count": 3,
|
50 |
+
"metadata": {
|
51 |
+
"colab": {
|
52 |
+
"base_uri": "https://localhost:8080/",
|
53 |
+
"height": 209
|
54 |
},
|
55 |
+
"id": "vBBjPghILOjq",
|
56 |
+
"outputId": "caa4c037-3d1e-43ae-a8e2-0f9c79198a2d"
|
57 |
+
},
|
58 |
+
"outputs": [
|
59 |
{
|
60 |
+
"ename": "FileNotFoundError",
|
61 |
+
"evalue": "[Errno 2] No such file or directory: 'C:\\\\content\\\\teddy.jpg'",
|
62 |
+
"output_type": "error",
|
63 |
+
"traceback": [
|
64 |
+
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
|
65 |
+
"\u001b[1;31mFileNotFoundError\u001b[0m Traceback (most recent call last)",
|
66 |
+
"Cell \u001b[1;32mIn[3], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m im \u001b[38;5;241m=\u001b[39m \u001b[43mPILImage\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcreate\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43m/content/teddy.jpg\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[0;32m 2\u001b[0m im\u001b[38;5;241m.\u001b[39mthumbnail((\u001b[38;5;241m192\u001b[39m,\u001b[38;5;241m192\u001b[39m))\n\u001b[0;32m 3\u001b[0m im\n",
|
67 |
+
"File \u001b[1;32m~\\prod_apps\\Bearify\\bear_env\\lib\\site-packages\\fastai\\vision\\core.py:125\u001b[0m, in \u001b[0;36mPILBase.create\u001b[1;34m(cls, fn, **kwargs)\u001b[0m\n\u001b[0;32m 123\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(fn,\u001b[38;5;28mbytes\u001b[39m): fn \u001b[38;5;241m=\u001b[39m io\u001b[38;5;241m.\u001b[39mBytesIO(fn)\n\u001b[0;32m 124\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(fn,Image\u001b[38;5;241m.\u001b[39mImage): \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mcls\u001b[39m(fn)\n\u001b[1;32m--> 125\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mcls\u001b[39m(load_image(fn, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mmerge(\u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m_open_args, kwargs)))\n",
|
68 |
+
"File \u001b[1;32m~\\prod_apps\\Bearify\\bear_env\\lib\\site-packages\\fastai\\vision\\core.py:98\u001b[0m, in \u001b[0;36mload_image\u001b[1;34m(fn, mode)\u001b[0m\n\u001b[0;32m 96\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mload_image\u001b[39m(fn, mode\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m):\n\u001b[0;32m 97\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mOpen and load a `PIL.Image` and convert to `mode`\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m---> 98\u001b[0m im \u001b[38;5;241m=\u001b[39m \u001b[43mImage\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mopen\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfn\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 99\u001b[0m im\u001b[38;5;241m.\u001b[39mload()\n\u001b[0;32m 100\u001b[0m im \u001b[38;5;241m=\u001b[39m im\u001b[38;5;241m.\u001b[39m_new(im\u001b[38;5;241m.\u001b[39mim)\n",
|
69 |
+
"File \u001b[1;32m~\\prod_apps\\Bearify\\bear_env\\lib\\site-packages\\PIL\\Image.py:3277\u001b[0m, in \u001b[0;36mopen\u001b[1;34m(fp, mode, formats)\u001b[0m\n\u001b[0;32m 3274\u001b[0m filename \u001b[38;5;241m=\u001b[39m os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39mrealpath(os\u001b[38;5;241m.\u001b[39mfspath(fp))\n\u001b[0;32m 3276\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m filename:\n\u001b[1;32m-> 3277\u001b[0m fp \u001b[38;5;241m=\u001b[39m \u001b[43mbuiltins\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mopen\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfilename\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mrb\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[0;32m 3278\u001b[0m exclusive_fp \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[0;32m 3280\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n",
|
70 |
+
"\u001b[1;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'C:\\\\content\\\\teddy.jpg'"
|
71 |
+
]
|
72 |
+
}
|
73 |
+
],
|
74 |
+
"source": [
|
75 |
+
"im = PILImage.create('/content/teddy.jpg')\n",
|
76 |
+
"im.thumbnail((192,192))\n",
|
77 |
+
"im"
|
78 |
+
]
|
79 |
+
},
|
80 |
+
{
|
81 |
+
"cell_type": "code",
|
82 |
+
"execution_count": 5,
|
83 |
+
"metadata": {
|
84 |
+
"id": "Ko1vxtuzACNo"
|
85 |
+
},
|
86 |
+
"outputs": [],
|
87 |
+
"source": [
|
88 |
+
"learn = load_learner('/content/bear_model.pkl')"
|
89 |
+
]
|
90 |
+
},
|
91 |
+
{
|
92 |
+
"cell_type": "code",
|
93 |
+
"execution_count": 9,
|
94 |
+
"metadata": {
|
95 |
+
"colab": {
|
96 |
+
"base_uri": "https://localhost:8080/",
|
97 |
+
"height": 34
|
98 |
},
|
99 |
+
"id": "N4lUOFyom35W",
|
100 |
+
"outputId": "d363cb16-e67f-4829-a776-8af408671170"
|
101 |
+
},
|
102 |
+
"outputs": [
|
103 |
{
|
104 |
+
"data": {
|
105 |
+
"text/html": [
|
106 |
+
"\n",
|
107 |
+
"<style>\n",
|
108 |
+
" /* Turns off some styling */\n",
|
109 |
+
" progress {\n",
|
110 |
+
" /* gets rid of default border in Firefox and Opera. */\n",
|
111 |
+
" border: none;\n",
|
112 |
+
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
|
113 |
+
" background-size: auto;\n",
|
114 |
+
" }\n",
|
115 |
+
" progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
|
116 |
+
" background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
|
117 |
+
" }\n",
|
118 |
+
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
|
119 |
+
" background: #F44336;\n",
|
120 |
+
" }\n",
|
121 |
+
"</style>\n"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
],
|
123 |
+
"text/plain": [
|
124 |
+
"<IPython.core.display.HTML object>"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
125 |
]
|
126 |
+
},
|
127 |
+
"metadata": {},
|
128 |
+
"output_type": "display_data"
|
129 |
},
|
130 |
{
|
131 |
+
"data": {
|
132 |
+
"text/html": [],
|
133 |
+
"text/plain": [
|
134 |
+
"<IPython.core.display.HTML object>"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
]
|
136 |
+
},
|
137 |
+
"metadata": {},
|
138 |
+
"output_type": "display_data"
|
139 |
},
|
140 |
{
|
141 |
+
"data": {
|
142 |
+
"text/plain": [
|
143 |
+
"('teddy', tensor(2), tensor([4.8331e-05, 7.1999e-05, 9.9988e-01]))"
|
|
|
|
|
|
|
|
|
|
|
144 |
]
|
145 |
+
},
|
146 |
+
"execution_count": 9,
|
147 |
+
"metadata": {},
|
148 |
+
"output_type": "execute_result"
|
149 |
+
}
|
150 |
+
],
|
151 |
+
"source": [
|
152 |
+
"learn.predict(im)"
|
153 |
+
]
|
154 |
+
},
|
155 |
+
{
|
156 |
+
"cell_type": "code",
|
157 |
+
"execution_count": 10,
|
158 |
+
"metadata": {
|
159 |
+
"id": "k8MzL29fm5wO"
|
160 |
+
},
|
161 |
+
"outputs": [],
|
162 |
+
"source": [
|
163 |
+
"categories = ('Teddy', 'Black', 'Grizzly')\n",
|
164 |
+
"\n",
|
165 |
+
"def classify_image(img):\n",
|
166 |
+
" pred, idx, probs = learn.predict(img)\n",
|
167 |
+
" return dict(zip(categories, map(float, probs)))"
|
168 |
+
]
|
169 |
+
},
|
170 |
+
{
|
171 |
+
"cell_type": "code",
|
172 |
+
"execution_count": 11,
|
173 |
+
"metadata": {
|
174 |
+
"colab": {
|
175 |
+
"base_uri": "https://localhost:8080/",
|
176 |
+
"height": 69
|
177 |
},
|
178 |
+
"id": "R_dNtPRtoPER",
|
179 |
+
"outputId": "95b072b8-736f-424d-98dd-2a99e5078bef"
|
180 |
+
},
|
181 |
+
"outputs": [
|
182 |
{
|
183 |
+
"data": {
|
184 |
+
"text/html": [
|
185 |
+
"\n",
|
186 |
+
"<style>\n",
|
187 |
+
" /* Turns off some styling */\n",
|
188 |
+
" progress {\n",
|
189 |
+
" /* gets rid of default border in Firefox and Opera. */\n",
|
190 |
+
" border: none;\n",
|
191 |
+
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
|
192 |
+
" background-size: auto;\n",
|
193 |
+
" }\n",
|
194 |
+
" progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
|
195 |
+
" background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
|
196 |
+
" }\n",
|
197 |
+
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
|
198 |
+
" background: #F44336;\n",
|
199 |
+
" }\n",
|
200 |
+
"</style>\n"
|
201 |
],
|
202 |
+
"text/plain": [
|
203 |
+
"<IPython.core.display.HTML object>"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
204 |
]
|
205 |
+
},
|
206 |
+
"metadata": {},
|
207 |
+
"output_type": "display_data"
|
208 |
},
|
209 |
{
|
210 |
+
"data": {
|
211 |
+
"text/html": [],
|
212 |
+
"text/plain": [
|
213 |
+
"<IPython.core.display.HTML object>"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
214 |
]
|
215 |
+
},
|
216 |
+
"metadata": {},
|
217 |
+
"output_type": "display_data"
|
218 |
},
|
219 |
{
|
220 |
+
"data": {
|
221 |
+
"text/plain": [
|
222 |
+
"{'Teddy': 4.833127968595363e-05,\n",
|
223 |
+
" 'Black': 7.199876563390717e-05,\n",
|
224 |
+
" 'Grizzly': 0.9998795986175537}"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
225 |
]
|
226 |
+
},
|
227 |
+
"execution_count": 11,
|
228 |
+
"metadata": {},
|
229 |
+
"output_type": "execute_result"
|
|
|
|
|
|
|
|
|
|
|
230 |
}
|
231 |
+
],
|
232 |
+
"source": [
|
233 |
+
"classify_image(im)"
|
234 |
+
]
|
235 |
+
},
|
236 |
+
{
|
237 |
+
"cell_type": "code",
|
238 |
+
"execution_count": 16,
|
239 |
+
"metadata": {
|
240 |
"colab": {
|
241 |
+
"base_uri": "https://localhost:8080/",
|
242 |
+
"height": 211
|
|
|
|
|
|
|
243 |
},
|
244 |
+
"id": "Uc2M0zOEoR6b",
|
245 |
+
"outputId": "08c190d2-b5ad-43d1-aa00-f4c452152024"
|
246 |
+
},
|
247 |
+
"outputs": [
|
248 |
+
{
|
249 |
+
"ename": "AttributeError",
|
250 |
+
"evalue": "module 'gradio' has no attribute 'inputs'",
|
251 |
+
"output_type": "error",
|
252 |
+
"traceback": [
|
253 |
+
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
254 |
+
"\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)",
|
255 |
+
"\u001b[0;32m<ipython-input-16-b4d2dd17fd72>\u001b[0m in \u001b[0;36m<cell line: 1>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mimage\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minputs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mImage\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mshape\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;36m192\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m192\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mlabels\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moutputs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mLabel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mintf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mInterface\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfn\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mclassify_image\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minputs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mimage\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0moutputs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mlabels\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mintf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlaunch\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minline\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
256 |
+
"\u001b[0;31mAttributeError\u001b[0m: module 'gradio' has no attribute 'inputs'"
|
257 |
+
]
|
258 |
}
|
259 |
+
],
|
260 |
+
"source": [
|
261 |
+
"image = gr.inputs.Image(shape = (192,192))\n",
|
262 |
+
"labels = gr.outputs.Label()\n",
|
263 |
+
"\n",
|
264 |
+
"intf = gr.Interface(fn=classify_image, inputs=image, outputs=labels)\n",
|
265 |
+
"intf.launch(inline=False)"
|
266 |
+
]
|
267 |
+
},
|
268 |
+
{
|
269 |
+
"cell_type": "code",
|
270 |
+
"execution_count": null,
|
271 |
+
"metadata": {
|
272 |
+
"id": "bqK_vxTfpqBj"
|
273 |
+
},
|
274 |
+
"outputs": [],
|
275 |
+
"source": []
|
276 |
+
}
|
277 |
+
],
|
278 |
+
"metadata": {
|
279 |
+
"colab": {
|
280 |
+
"provenance": []
|
281 |
+
},
|
282 |
+
"kernelspec": {
|
283 |
+
"display_name": "bear_env",
|
284 |
+
"language": "python",
|
285 |
+
"name": "bear_env"
|
286 |
},
|
287 |
+
"language_info": {
|
288 |
+
"codemirror_mode": {
|
289 |
+
"name": "ipython",
|
290 |
+
"version": 3
|
291 |
+
},
|
292 |
+
"file_extension": ".py",
|
293 |
+
"mimetype": "text/x-python",
|
294 |
+
"name": "python",
|
295 |
+
"nbconvert_exporter": "python",
|
296 |
+
"pygments_lexer": "ipython3",
|
297 |
+
"version": "3.10.9"
|
298 |
+
}
|
299 |
+
},
|
300 |
+
"nbformat": 4,
|
301 |
+
"nbformat_minor": 4
|
302 |
}
|
Images/black.jpeg
ADDED
Git LFS Details
|
Images/grizzly.jpg
ADDED
Git LFS Details
|
Images/teddy.jpg
ADDED
Git LFS Details
|