From 7cf11d17acc9e84e12b96a0ce760628f9a4ad45e Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Sun, 19 Jan 2025 15:02:28 -0500 Subject: [PATCH 01/29] Updating the notebooks --- chapters/chap03.ipynb | 5 ++++- chapters/chap06.ipynb | 9 ++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/chapters/chap03.ipynb b/chapters/chap03.ipynb index 7eae21b3..5f2cb1d3 100644 --- a/chapters/chap03.ipynb +++ b/chapters/chap03.ipynb @@ -606,7 +606,10 @@ "width, height, x, y = [3.77, 2.9, 1.1, 2.65]\n", "ax = diagram(width, height)\n", "bbox = stack.draw(ax, x, y)\n", - "# adjust(x, y, bbox)" + "# adjust(x, y, bbox)\n", + "\n", + "import matplotlib.pyplot as plt\n", + "plt.savefig('chap03_stack_diagram.png', dpi=300)" ] }, { diff --git a/chapters/chap06.ipynb b/chapters/chap06.ipynb index 1d306833..5b082b8d 100644 --- a/chapters/chap06.ipynb +++ b/chapters/chap06.ipynb @@ -1039,7 +1039,7 @@ }, { "cell_type": "code", - "execution_count": 130, + "execution_count": 1, "id": "455f0457", "metadata": { "tags": [] @@ -1063,7 +1063,7 @@ " loc='left', dx=1.2)\n", " frames.append(frame)\n", " \n", - "binding1 = make_binding('n', n)\n", + "binding1 = make_binding('n', 0)\n", "frame = Frame([binding1], name='factorial', value=1, \n", " shim=1.2, loc='left', dx=1.4)\n", "frames.append(frame)\n", @@ -1073,7 +1073,7 @@ }, { "cell_type": "code", - "execution_count": 131, + "execution_count": 4, "id": "a75ccd9b", "metadata": { "tags": [] @@ -1197,8 +1197,7 @@ "id": "0bec7ba4", "metadata": {}, "source": [ - "It looks like an infinite recursion. How can that be? The function has a\n", - "base case -- when `n == 0`.\n", + "It looks like an infinite recursion. How can that be? The function has base cases when `n == 1` or `n == 0`.\n", "But if `n` is not an integer, we can *miss* the base case and recurse forever.\n", "\n", "In this example, the initial value of `n` is `1.5`.\n", From 8e938813eeeb198c5150f97a4fcdf433aa07e0e1 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Sun, 19 Jan 2025 15:02:28 -0500 Subject: [PATCH 02/29] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579347 -> 579404 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index 4a991b95695c6d9a7b1638b4d3a26a787182967c..b2edbef5fd72d6ef0791d5b52d8f12289ae8e4e4 100644 GIT binary patch delta 14208 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�T-p&; zsG~FdhC1}NqlbYYMr(SQd*AJ)h*1|_2fei-OES+iwyf;(9o|OsMoWNB`Tm4|E zS}lzN;(5D;-dow+v87{@k1_OZ4>>7j?#Qw*@b=8el9 zwGfe8)-dlk)F|(6F0ct^stFLvT2CvdHV5jq8^?pkAdg!Rlq2Aya0<8}1-wJ3$+t}jBmh;gJT z&NC7_9bab^mlD8}p1Uj0q$8UTlqe%S*yMQyJ$5H#`*XTq`B zimn`ihAWo&$Rut&GmhRLEbl~bewhVjCQ)| ze+_9`22}SDA1;O3tNRx0815^JUyt%PBh;Ub>f;!%@Q;gC!C8*5`3g?14Eg3H7vnKG zkDHKQog2^h#8zTzaGhtAb2v5Pg4tF?OvS&dC97LxCOXVycTn+FOgdgU{}^jp-;II- z^UUZDgA^_sn#Z*%Yjg8H$maF{8-NPN2lYol0f=L1)4VB}eV6?_Mx1Ubov_k>wMmd_ zWcLx#$ZlN`;+`eP=n0_PVK0W$u(E9`E&s~PvE3`}SJ3^s%|(6EApLs?e;DYL9?gx? z+*fCT?KjU}5=B=Lcg!jw#T=~pk?@F`K0RFrF3m@mzT3#mU_!n!67Ku?%?iE`D)7#$EH{rc4*L- zgedY6W}I1zXug+cjg)?AlmUn7fIguLhu1ISv1oPFT$!2V3v=Znm7`o`0kzb*=>VP~ zEb?!4D4MI%DV*R2*CFq(Yt*G91$w_S03Q^Ye0C5VLTwWb)Zzr5dvVK@$OSVN^2HO^ z2Xu&qMp)wyeaB5{w*p^P+~r$H1Jp)G(24y)zI~r(8;apWvi%yC&&fU$RMYE{8+5gP ztBoB}qw9*Vb~1j5Om5gU-Pz$rGAzXJE=ST>{C1pqYPQ7%9mBqKGBQ^F;u)n303=RD zPB7>>7=>#6lp6(t6iH9?LOCC*Zqq>Ni`ZBG$h7)lXgT_8u51Rz1}%M7(YwGM)$%dG zHuNjgB|8ApK!^WcF`@jE@9G0eC`s-8sY^N?aPuQG{Mo^yf3yqA#($0Q9n#CcE1T^J z8i;7aR~WcG1GDFO3`V~zC6EKc8{owKklQ>RnFVpAmCPl(7Y`MuIqPiK*3P4scx^Tm zjvWtrQ>VcDuyecS6QhT3lxkeZ8Rg961sDOf!ASa3&9$S`0Y>_2CMH<2BE}HoZ;y#7y@dGG5Rp79yHaozX(NTtwK#8@*eLVU-ZgBe5B1fJ=$u^Oe`gy%RK? z4UZQ(lWu#sNpVxzz3&-nE2{AZYRb-{L3R~*YiUI4_FOg@kS%7Jr1?3VqJ%KcpCl)7 zaS6@3tTNStQllkZN32-{05*LUBg)bxdL%8yE1cq`LxWyk8> z#8HhA^L-raTEf6(Sf-tkXkD-C=}jBgej(X}pT|ik6E;aCK=%v8Tnz`PgkebT(Qwn6 z$nmSv;rYY%LlA?4o5d}Ao-5}VLi^*UPI{4%aM-LP+uIHK>n+cBGp?xBChcbGc0w1{ z{i?jS^M}sohZ_{IF`UvOxj68+KE##$QpW3V9~0*Wr7@XTg}7@*3>*X#OT0Lk4(9UX(^& zb`#M((c}TWWXE9JsuhQFppw`1qZ_n(%9_0BvJKP^C`}&tS~mxJm~EPcMlof=&c*VKGYWW1xyZaQWfQ1b~R<) zy)B@14Mrg~S);^@3@BAxcN84+y7I(eb0gAz!c6Ilti6-U<>=szYNJa{e(f{U>bEa_ zn%!yiVzlVXCC7!gqwjMdz`7h#f?C)z32mwz_hji{A7p|#JqOS@6K30{FQ}8v6(5~y z%BMJ?VO`I66Q98UagZg>^W|Utzq+=UUdq3kf=S*a!2eR4I!S=J82`vG3jdHf6@jP! z_J(!)hb-X+3`O^+ix~8)a7~IC2q=8}cNdW`$*T|;{(nxiG{qJI8!`XQT>eKe=L&Eu z>!09*22}(rMj)Vr(Lcf2vrsVqXhAlyAbq|0-}WX z2fI_lI@Co81eDPJ2dnK5^6#4L{6SX!UXX10KZ3){K@>RtFt>OAArtI@q_F*wTd_g^ zRYA}bHt25y`)%OA4dS;!Ha%fO_1FG!?HY%Y{;Q3eggga>_eY_hfD-vnCH{XYum4ow z|KqGslEowx&ws{`OhVy;koYClOhDlwvNHU%akbJ{{to`9ef#gcOjEzT$P4~>CH5RAs{e$h&ipRayYR0ocu9alU}%W{-W}lC-yReze|vDx{$r(o^8Nea{O^3k z2uZ~Azo|qBApe^>^%wPo?{5#Nx&NlZEv~zA;Q;|fI{Y_v+~n^V>wm`l*`JKL-$-5m zzc1_f|7X%a``yfvl)}LQ1hn??-&D6GqWS;cZ}a)zJh;8Td9Zu`$s_*j{=wHouCc)Z z0aXzGH}3!&G)dw2)+WI&{9|cJVice#N#cJ=P86U?>J*^(Ne&B8g1|~i4GT~jpcrhR iNiVFwMW)5yqCt}FB9uDtQPTJ#ln})6IMnZF?*9S17nbb+ delta 14153 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 Date: Wed, 22 Jan 2025 13:14:18 -0500 Subject: [PATCH 03/29] Updating the notebooks --- chapters/chap06.ipynb | 172 +++++++++++++++++++++--------------------- chapters/chap08.ipynb | 2 +- 2 files changed, 87 insertions(+), 87 deletions(-) diff --git a/chapters/chap06.ipynb b/chapters/chap06.ipynb index 5b082b8d..a8d03c32 100644 --- a/chapters/chap06.ipynb +++ b/chapters/chap06.ipynb @@ -12,7 +12,7 @@ }, { "cell_type": "code", - "execution_count": 87, + "execution_count": 5, "id": "56b1c184", "metadata": { "tags": [] @@ -66,7 +66,7 @@ }, { "cell_type": "code", - "execution_count": 88, + "execution_count": 6, "id": "e0e1dd91", "metadata": {}, "outputs": [], @@ -86,7 +86,7 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 7, "id": "5aaf62d2", "metadata": {}, "outputs": [], @@ -104,7 +104,7 @@ }, { "cell_type": "code", - "execution_count": 90, + "execution_count": 8, "id": "741f7386", "metadata": {}, "outputs": [], @@ -122,7 +122,7 @@ }, { "cell_type": "code", - "execution_count": 91, + "execution_count": 9, "id": "e56d39c4", "metadata": {}, "outputs": [], @@ -140,7 +140,7 @@ }, { "cell_type": "code", - "execution_count": 92, + "execution_count": 10, "id": "50a9a9be", "metadata": {}, "outputs": [], @@ -164,7 +164,7 @@ }, { "cell_type": "code", - "execution_count": 93, + "execution_count": 11, "id": "d70fd9b5", "metadata": {}, "outputs": [], @@ -182,7 +182,7 @@ }, { "cell_type": "code", - "execution_count": 94, + "execution_count": 12, "id": "ef20ba8c", "metadata": {}, "outputs": [], @@ -200,7 +200,7 @@ }, { "cell_type": "code", - "execution_count": 95, + "execution_count": 13, "id": "0a4670f4", "metadata": {}, "outputs": [], @@ -218,7 +218,7 @@ }, { "cell_type": "code", - "execution_count": 96, + "execution_count": 14, "id": "6e6460b9", "metadata": {}, "outputs": [], @@ -236,7 +236,7 @@ }, { "cell_type": "code", - "execution_count": 97, + "execution_count": 15, "id": "77613df9", "metadata": { "tags": [] @@ -269,7 +269,7 @@ }, { "cell_type": "code", - "execution_count": 98, + "execution_count": 16, "id": "89c083f8", "metadata": {}, "outputs": [], @@ -288,7 +288,7 @@ }, { "cell_type": "code", - "execution_count": 99, + "execution_count": 17, "id": "737b67ca", "metadata": {}, "outputs": [], @@ -307,7 +307,7 @@ }, { "cell_type": "code", - "execution_count": 100, + "execution_count": 18, "id": "9b4fa14f", "metadata": {}, "outputs": [], @@ -325,7 +325,7 @@ }, { "cell_type": "code", - "execution_count": 101, + "execution_count": 19, "id": "50f96bcb", "metadata": {}, "outputs": [], @@ -344,7 +344,7 @@ }, { "cell_type": "code", - "execution_count": 102, + "execution_count": 20, "id": "6712f2df", "metadata": {}, "outputs": [], @@ -364,7 +364,7 @@ }, { "cell_type": "code", - "execution_count": 103, + "execution_count": 21, "id": "0ec1afd3", "metadata": {}, "outputs": [], @@ -386,7 +386,7 @@ }, { "cell_type": "code", - "execution_count": 104, + "execution_count": 22, "id": "c82334b6", "metadata": {}, "outputs": [], @@ -404,7 +404,7 @@ }, { "cell_type": "code", - "execution_count": 105, + "execution_count": 23, "id": "595ec598", "metadata": {}, "outputs": [], @@ -432,7 +432,7 @@ }, { "cell_type": "code", - "execution_count": 106, + "execution_count": 24, "id": "236c59e6", "metadata": {}, "outputs": [], @@ -459,7 +459,7 @@ }, { "cell_type": "code", - "execution_count": 107, + "execution_count": 25, "id": "2f60639c", "metadata": {}, "outputs": [], @@ -481,7 +481,7 @@ }, { "cell_type": "code", - "execution_count": 108, + "execution_count": 26, "id": "c9dae6c8", "metadata": {}, "outputs": [], @@ -501,7 +501,7 @@ }, { "cell_type": "code", - "execution_count": 109, + "execution_count": 27, "id": "c8c4edee", "metadata": {}, "outputs": [], @@ -555,7 +555,7 @@ }, { "cell_type": "code", - "execution_count": 110, + "execution_count": 28, "id": "bbcab1ed", "metadata": {}, "outputs": [], @@ -577,7 +577,7 @@ }, { "cell_type": "code", - "execution_count": 111, + "execution_count": 29, "id": "923d96db", "metadata": {}, "outputs": [], @@ -601,7 +601,7 @@ }, { "cell_type": "code", - "execution_count": 112, + "execution_count": 30, "id": "9374cfe3", "metadata": {}, "outputs": [], @@ -627,7 +627,7 @@ }, { "cell_type": "code", - "execution_count": 113, + "execution_count": 31, "id": "405af839", "metadata": {}, "outputs": [], @@ -645,7 +645,7 @@ }, { "cell_type": "code", - "execution_count": 114, + "execution_count": 32, "id": "e52b3b04", "metadata": {}, "outputs": [], @@ -668,7 +668,7 @@ }, { "cell_type": "code", - "execution_count": 115, + "execution_count": 33, "id": "38eebbf3", "metadata": {}, "outputs": [], @@ -686,7 +686,7 @@ }, { "cell_type": "code", - "execution_count": 116, + "execution_count": 34, "id": "b4536ea0", "metadata": {}, "outputs": [], @@ -709,7 +709,7 @@ }, { "cell_type": "code", - "execution_count": 117, + "execution_count": 35, "id": "325efb93", "metadata": {}, "outputs": [], @@ -729,7 +729,7 @@ }, { "cell_type": "code", - "execution_count": 118, + "execution_count": 36, "id": "3cd982ce", "metadata": {}, "outputs": [], @@ -753,7 +753,7 @@ }, { "cell_type": "code", - "execution_count": 119, + "execution_count": 37, "id": "c734f5b2", "metadata": {}, "outputs": [], @@ -771,7 +771,7 @@ }, { "cell_type": "code", - "execution_count": 120, + "execution_count": 38, "id": "094a242f", "metadata": {}, "outputs": [], @@ -813,7 +813,7 @@ }, { "cell_type": "code", - "execution_count": 121, + "execution_count": 39, "id": "64207948", "metadata": {}, "outputs": [], @@ -835,7 +835,7 @@ }, { "cell_type": "code", - "execution_count": 122, + "execution_count": 40, "id": "c367cdae", "metadata": {}, "outputs": [], @@ -845,7 +845,7 @@ }, { "cell_type": "code", - "execution_count": 123, + "execution_count": 41, "id": "837f4f95", "metadata": {}, "outputs": [], @@ -864,7 +864,7 @@ }, { "cell_type": "code", - "execution_count": 124, + "execution_count": 42, "id": "e411354f", "metadata": {}, "outputs": [], @@ -883,7 +883,7 @@ }, { "cell_type": "code", - "execution_count": 125, + "execution_count": 43, "id": "925e7d4f", "metadata": {}, "outputs": [], @@ -902,7 +902,7 @@ }, { "cell_type": "code", - "execution_count": 126, + "execution_count": 44, "id": "62178e75", "metadata": {}, "outputs": [], @@ -949,7 +949,7 @@ }, { "cell_type": "code", - "execution_count": 127, + "execution_count": 45, "id": "23e37c79", "metadata": {}, "outputs": [], @@ -968,7 +968,7 @@ }, { "cell_type": "code", - "execution_count": 128, + "execution_count": 46, "id": "5ea57d9f", "metadata": {}, "outputs": [], @@ -991,7 +991,7 @@ }, { "cell_type": "code", - "execution_count": 129, + "execution_count": 47, "id": "b66e670b", "metadata": {}, "outputs": [], @@ -1039,7 +1039,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 48, "id": "455f0457", "metadata": { "tags": [] @@ -1073,7 +1073,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 49, "id": "a75ccd9b", "metadata": { "tags": [] @@ -1142,7 +1142,7 @@ }, { "cell_type": "code", - "execution_count": 132, + "execution_count": 50, "id": "cad75752", "metadata": {}, "outputs": [], @@ -1180,7 +1180,7 @@ }, { "cell_type": "code", - "execution_count": 133, + "execution_count": 51, "id": "5e4b5f1d", "metadata": { "tags": [] @@ -1211,7 +1211,7 @@ }, { "cell_type": "code", - "execution_count": 134, + "execution_count": 52, "id": "3f607dff", "metadata": {}, "outputs": [], @@ -1221,7 +1221,7 @@ }, { "cell_type": "code", - "execution_count": 135, + "execution_count": 53, "id": "ab638bfe", "metadata": {}, "outputs": [], @@ -1239,7 +1239,7 @@ }, { "cell_type": "code", - "execution_count": 136, + "execution_count": 54, "id": "73aafac0", "metadata": {}, "outputs": [], @@ -1269,7 +1269,7 @@ }, { "cell_type": "code", - "execution_count": 137, + "execution_count": 55, "id": "be881cb7", "metadata": {}, "outputs": [], @@ -1288,7 +1288,7 @@ }, { "cell_type": "code", - "execution_count": 138, + "execution_count": 56, "id": "fa83014f", "metadata": {}, "outputs": [], @@ -1337,7 +1337,7 @@ }, { "cell_type": "code", - "execution_count": 139, + "execution_count": 57, "id": "1d50479e", "metadata": {}, "outputs": [], @@ -1366,7 +1366,7 @@ }, { "cell_type": "code", - "execution_count": 140, + "execution_count": 58, "id": "798db5c4", "metadata": {}, "outputs": [], @@ -1423,7 +1423,7 @@ }, { "cell_type": "code", - "execution_count": 142, + "execution_count": 59, "id": "e0f15ca4", "metadata": { "tags": [] @@ -1448,7 +1448,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 60, "id": "90b4979f", "metadata": {}, "outputs": [], @@ -1470,7 +1470,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 61, "id": "9217f038", "metadata": {}, "outputs": [], @@ -1494,7 +1494,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 62, "id": "3168489b", "metadata": {}, "outputs": [], @@ -1533,7 +1533,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 63, "id": "62267fa3", "metadata": {}, "outputs": [], @@ -1543,7 +1543,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 64, "id": "5f8fa829", "metadata": {}, "outputs": [], @@ -1553,7 +1553,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 65, "id": "3d129b03", "metadata": {}, "outputs": [], @@ -1563,7 +1563,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 66, "id": "030179b6", "metadata": {}, "outputs": [], @@ -1573,7 +1573,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 67, "id": "d737b468", "metadata": {}, "outputs": [], @@ -1583,7 +1583,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 68, "id": "77a74879", "metadata": {}, "outputs": [], @@ -1593,7 +1593,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 69, "id": "0521d267", "metadata": {}, "outputs": [], @@ -1603,7 +1603,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 70, "id": "468a31e9", "metadata": {}, "outputs": [], @@ -1613,7 +1613,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 71, "id": "abbe3ebf", "metadata": {}, "outputs": [], @@ -1623,7 +1623,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 72, "id": "651295e4", "metadata": {}, "outputs": [], @@ -1644,7 +1644,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 73, "id": "0a4ee482", "metadata": {}, "outputs": [], @@ -1664,7 +1664,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 74, "id": "956ed6d7", "metadata": { "tags": [] @@ -1676,7 +1676,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 75, "id": "a994eaa6", "metadata": { "tags": [] @@ -1688,7 +1688,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 76, "id": "4318028d", "metadata": { "tags": [] @@ -1700,7 +1700,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 77, "id": "05208c8b", "metadata": { "tags": [] @@ -1733,7 +1733,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 78, "id": "7eb85c5c", "metadata": {}, "outputs": [], @@ -1753,7 +1753,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 79, "id": "687a3e5a", "metadata": { "tags": [] @@ -1765,7 +1765,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 80, "id": "c49e9749", "metadata": { "tags": [] @@ -1777,7 +1777,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 81, "id": "8497dec4", "metadata": { "tags": [] @@ -1799,7 +1799,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 82, "id": "76be4d15", "metadata": { "tags": [] @@ -1838,7 +1838,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 83, "id": "0bcba5fe", "metadata": {}, "outputs": [], @@ -1858,7 +1858,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 84, "id": "4b6656e6", "metadata": { "tags": [] @@ -1870,7 +1870,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 85, "id": "36d9e92a", "metadata": { "tags": [] @@ -1882,7 +1882,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 86, "id": "1d944b42", "metadata": { "tags": [] @@ -1894,7 +1894,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 87, "id": "63ec57c9", "metadata": { "tags": [] @@ -1924,7 +1924,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 88, "id": "4e067bfb", "metadata": {}, "outputs": [], @@ -1944,7 +1944,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 89, "id": "2a7c1c21", "metadata": { "tags": [] @@ -1956,7 +1956,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 90, "id": "5df00229", "metadata": { "tags": [] diff --git a/chapters/chap08.ipynb b/chapters/chap08.ipynb index 1323762c..01083129 100644 --- a/chapters/chap08.ipynb +++ b/chapters/chap08.ipynb @@ -862,7 +862,7 @@ "id": "34c93df3", "metadata": {}, "source": [ - "The `endswidth` method checks whether a string ends with a given sequence of characters." + "The `endswith` method checks whether a string ends with a given sequence of characters." ] }, { From 3ae2ff0220806fd7dedf700cb4228348bbb703a3 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Wed, 22 Jan 2025 13:14:18 -0500 Subject: [PATCH 04/29] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579404 -> 579477 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index b2edbef5fd72d6ef0791d5b52d8f12289ae8e4e4..399eaa47912696864c5f3c3b0beab0e0f0a06345 100644 GIT binary patch delta 24969 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

01mLPT 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 From c0622875baafe2b19d406b2b85ee24847898dd5d Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Tue, 28 Jan 2025 09:39:03 -0500 Subject: [PATCH 05/29] Updating the notebooks --- chapters/chap00.ipynb | 4 ++-- chapters/chap10.ipynb | 12 ------------ 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/chapters/chap00.ipynb b/chapters/chap00.ipynb index 55b62c27..b42d9c0e 100644 --- a/chapters/chap00.ipynb +++ b/chapters/chap00.ipynb @@ -171,9 +171,9 @@ "\n", "If you are teaching with this book, here are some resources you might find useful.\n", "\n", - "* You can find notebooks with solutions to the exercises from , along with links to the additional resources below.\n", + "* You can find notebooks with solutions to the exercises at , along with links to the additional resources below.\n", "\n", - "* Quizzes for each chapter, and a summative quiz for the whole book, are available from [COMING SOON]\n", + "* Quizzes for each chapter, and a summative quiz for the whole book, are available on request.\n", "\n", "* *Teaching and Learning with Jupyter* is an online book with suggestions for using Jupyter effectively in the classroom. You can read the book at \n", "\n", diff --git a/chapters/chap10.ipynb b/chapters/chap10.ipynb index 51dac268..5a0f8eb8 100644 --- a/chapters/chap10.ipynb +++ b/chapters/chap10.ipynb @@ -611,18 +611,6 @@ "The time it takes to find a key in a dictionary is almost constant -- regardless of the number of items." ] }, - { - "cell_type": "code", - "execution_count": 63, - "id": "aa079ed3", - "metadata": {}, - "outputs": [], - "source": [ - "d = {'a': 1, 'b': 2}\n", - "d['a'] = 3\n", - "d" - ] - }, { "cell_type": "markdown", "id": "b3bfa8a5", From 1a14dace0632cb3396c5f74ffa8de856b24482e6 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Tue, 28 Jan 2025 09:39:03 -0500 Subject: [PATCH 06/29] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579477 -> 579434 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index 399eaa47912696864c5f3c3b0beab0e0f0a06345..07539c066b1a05adc740e1122617f4eb47f99d9e 100644 GIT binary patch delta 18029 zcmZ6zQ;;se)-2ezZQHhY+q-SscK6q|ZQHhOo4ak>bMBeB_n(=UddOIr>#1TzWv-}{ zI?{_;Qg}rfP%tzgARs89eObN)cmYU=t8{b7tMmpXJUE2^Kw7moiu+EeKtQGJNeh37 zlCt680RK;kxvK{(5HQ#oC=k$pj~s1l=WUM0?;HJq6}6F8t0ydex(V-`o=9Wwlon%s zZExo`CuNq<;b|fgXa*oFKKX0F-V(e&V#MKESg{R4gv9IlQW@?Y;p?zkY2=_SKStj! z>H*>xX0Fb=Yt5ZYRq_iDXO)%pAfWF&n?N2BvCNse?B1}Vd%7g;?K}<;CNay#q3o#f z^_^FWoKYRz(9u}f+W8=&)}hF1TssoeD4#V6&5F5|CZnqx#cAEgmcpg7Wn?G!{_6;A zbh$=&7owf%wYENDkC?if6&|k0J{giszfHWHyk2z8Ql37<`MG)dxcu6?#JoS@ ze~mePDtI58l0Y*rr*_`W??)>;rd7-pzRt5K@^bhx33JWjdW{|gqx4h7b+~}bxr9BC z=3>4t4e0L`Fr6D9p43o09>vk5HzR)(wVUc2v+wF;Jd415YR@qH04jqQBa2a;{SfY5 z4J2gDB^7AGDSA27r%M*(I`lA_^f(=g^3yRRbFjLq{%z|UhW*wGpyPuXKU5_HRGpg> zs#1&{*8bzyv9@PL%KlZZw76uu>ij&fHXY^Y)_RA`1 zmWlPc@Nbq^Y1>M)%9zsCK%{!kVz~A@R9xS1-SkPE^J1E)`cAqI5H~!!02~%}d3-q8z^5~C!cd!F2_t&^d6Pn7BT^O|J zc+ufWBQ5c)fI%_5nH_d5jfjeW{c=kXNmA`GcT$YvamdTCsyuIss$WVa|BSz)*^24f z(-RXES3z(}oMItCn@;*&SCb8F;_2Rl)1E zzS2p+xb1URWjx$yScU$yox%oGkL|}hBr5i)i1FJ;0_o|24j((tSFa5nUCHKLrb0wmQG5ne@#H&<+nB~xoO-GDXcQd;uR0ME>F$bc8 z;4^8K0CwXsqN}se5V%x^2tW7Dn2dGk&V+{v$_QC>#qct#m8PZNJY+m%u|R~S9SAx_ zGM~f;@HVh7y*YRzxA4_m+KBF_z#J=&Kw3wP^G8kfCPB-k{ZqNjxueU2tG#VYilZ{!`n7 z$dX=vICFUq=0gh3_FYTKCT~UD!Pb#rgL{aspuAQqtBtkvrgQ*AW5apE@kahv(n4;i!Hl)H%4t3k_L07Y&jjn%?|qpy29E!Wr|^p(3#E46pu0R09MR! zKsD8x4au9>$n!e{Nqrk}B6iJwpun-|=r+X9YDQ^KtYl`pw3b$Lcvp`u^lP1e!gW#g1P5qF>pzUiZ#1-1PNM}$KAs*?Q8r{ zC}=ggkx@E0%?wdvyqPn(WjZ+*fbptNAHBX$;FyG&|A=h5G0s#l{?z9ZBOl{<$SCZQ zhrf({@WWZoj>vo78j9jLG@FW7Jg+%|)FIDiBRwezRL)!mCq@F@4*rIblvs@@8Bbsh z8y%PLvJ9D%|ANSUF(^CZ8$oG@S@gbF;{K=?vQED*pa!&1BXJms&5f8A@ckFwGP8SZ z^nMsfRv8VU$F(PMg{MUxhQA5Uz)e82KZ&RErh5F{wV-eenwH)YoH^k^LOFn5YUM$s zIpoX9>u-rij8XIyOK}L-RQp0W8D@N>F!f6%n{-0%fQQbjNXma+0oE!{ah433eF=P`T+Ov`_8<==?#2CqH3F?$ zB+@n!qb>QUfAFr`IeIFag~}|zK{;6Ok7Z>ogXKn{M%==%r39)DYp^f($}Ef3(J2m| zh)5~^X*F({PL$SWx-)dMfDoM(l-(#YqT!=QMZxQOlkd|{EM$rn08pgD#kHMBkV}y3 zXSyfhRnNJQivW#t*MOuc;A(O=v*b0Bz#x68?&5APpgcz zs?`6kAlE}715&!(4#)9nveG8pw++$T&HCbxp@fY?BrBiLSy%_GdZg%)S(%)DHypNE@0HBUfRr(0kib8}!19v> z^R?nK_0&K%V^0y?$^2rjdD5dRCQ793YcO<`QDqq+*jD5k03=E~udp*sWRR*s-0D*= z=*uQWcmlIHiG9iQ040@`AehFXl4n4@$l5HgmQ?X7#>k$cBbBvYwvEm&KnCAmnQRjJ zkBr!MR=GYUJHz`&LlxEp+Eg=QkqxssS8@oqG}NaURHV=q;q$KF=yLN z?jGV|q-@SOz+lC!+P1a0jM{D7%^=Qd)htcff-6M_EZQ~f0*`ibV+Et$6M#v??KTna zaiT|{f3X`BUt@Dkc5O4sscw}1^kb^R)~zmF4}{mKhlc1656<^dldUuP6P_N2C(ok{ z<{e^GG|WB@qiyv{_iT|L6f^!Kk_TzMJ;6~jV#4p8WwtfEAcBdgF-^xQD z1BpfhbSeK@wRg#0r!?2y+euAF4YM)0@TCpi_Efl@3}Qogr|8G~oC$p+Ro2&(P!%pF zYOUyk@{~`;7f6FZlLB{OjC4E)8D%I)K&ZwXiidqD9(t#YxrjJu+;u9AOvvem!g{87 zg+9U0h;10TES(O;^3b-7egqyBR3`*O>TX{E5Dv-s6F>X53>OW)a&krcbrcT`MU7 zl7Bn``hr*Nt;$mayMq7yQrIsMWsrnWiZrfaosw05=k+$A3gqQvXU~}FuR*ID9x@ez zSHy1SxMXa&_;5vVm4=;5Qa#mDb0({tg~0h$4ThI6u)}3mUJ8T@<5(^A9YHw#tv9*L z7oG)5(ARLRgxMHWDbRlYcQ9stv(JPF5aBI6tBW=I$ds{o3l;F>YyGvokF8)@X=rG@ zmDw)G`eWHC-=bZ&H~1499QLjDSGz+Y|-Fg;E!V;AjZ+8Yy0x%B@T4-nw7c`By4qETzUXOR{TlKrfYa0 zJXSv)DJCk_BC=(gFS-~n3|7YA6e}B(=OPp!J)z8weCdKio7tdlj12pi0YRl^tQNkQ z3eR@h*-@X?u3Y?n;`@k;TUi(l;D#&YDNlK#p)!KWqY<6n>U1F+fX~P7aF{P3n^6>( z<^Z&$Qf)wnHYPh=t;xOVW)q31aGjJRL|>imJ|yb1U!cZOv4=TIM^)n5hJB(|p+KJQ z0r4mPA8E-*JT5hZfw(e#q${IPyS0LSFw}mFk9D2!%tKJo`G7j}n>IQDAXKrlm{l0; z-u&hCye0R+MuBT9-{9SRtHD0!Aq>O@R75HME(@Q;gT_3P0&VynVd|gHHLa1?;48-g z#F>Z^FNxKj2h)P~udHpSPd)ul*#e=U_~&z+%F;lP^(2e`x4s7}3&vhE)gtw2d>b4- ziBJ?zpW*2BlnEen-?S1E;K|4=-pXyHbpuOIpna!yNsD%2YeLR0w@B~C3bU-Rij_P# z!5YN68L$sPJjAQ$KF1ai*cn*D|2X=Df4^AuEfT13kLTTG=Qo3nVtW7ZG34?RiR(lO|NhPCG*Q7bv2uT} z?l|G;rkjDTvKnYQY{5JkiO^yM)t(2$bzj|HE0W4mK&r$9oo0QH8c2d)et4ap*|{KM zr;+Zl0<&6V=VP=D&`>S2h9$}MRvOGN+~f4w17o;^fWyROdeqs)N=+x7d7G;La@ZRP zFO!Mt(63;RBHRR{rmRXZJYOfqc$7D#ceMSDQAiSP2mMH#6Cd~@9*c6{CS9Agw?`sq z98;U4rtXpHNj@#DaJnIPw2_EOiOtsk`ii^ziTl13NEcKFpjSi~%%}jCG@0QNh>iTM zad+X-{>YPVh35QG<>r^^SVT;HWz*X(-bsmYdTS<;rD>mp##6C1SlLBY65euE&WDF>BvNFZQSgG$bx(o-tIq7?U$xQ#0{g{mOJ9 zS)dk1HMlkd+TimBZILvRsN~Oeq5*-rTEPse)3vj2 zUwhqq7}3w?Uwe4z|E8TeT=!M4ik7}6mVEmXHqUlA|3Q9d**95_%QQF;;iXJ?QsW`| zXBtFIOS(I$gdu~fm@Yt=oh3WW>wjHhGun%acm%=)_*lxnB6V;|cOJo-?cYL_AeoL6 zp?b?$lp_gR4#_C4eBv(~pO<@&4wLF?G*yzn^b8n6t*FY^ll<-UtP?$uffT!<6U!xe zU1ajH4Y>T#$HR#0a$gPO+jsuc>rhU6fnRSxkT7&=Yr>icd$i<0$|k?CMqJQ- zRcbQ_5VOW+46J>R#4QoE?J{*=<7GNSp(D}VPz`3rl^yJ6Eh!h!;4lCyY*&zab9iiT z6CE%QwhTc1`-hNg7q%1voS9*FE@iR;^l5MVvW^?!EYWwb$T4)eJIRMICX-YJSQJDi zO;qIR-gU-f0&y<{wAQZwM@qf@8Fx{K>tzoeV2=Vm3Px60n$7IJ7y%WYgb3%wodWZR z29;Qi|Fy#7pNnC*!hx93;VG^hS$|=mzvA4wu{w5Q@>rd!GMev%V=+QmMrOrKB4`B; z-NpZavdQ*vr1d^gOhL{ zBj7M(_<}Ynvz9Q^C#I8a+tZV6e=iG(1JqRNPdk~w_PvGMB8zza72p#l4240c`5$FFl^_oJ6 z1W5l2j{f-{5KPpI=)Yiq$^U?TCbk6s1sQ|>2eb_uB>t}{xCV)naY79Q^x5=ZQ&6`A z?tix^awwtsZ^?f57dSI55D>xWe@k-b{!d9$!<-E5f3<%<{zsetbCB}CL{y`NaY9BQ zAcgV&MNA`FfP#jB1_J$mOvg4MQebYz|HV%8Q3C!y^tMhV;Q9ZXADg&{GX0;%qg`qH zrNBgKH~$d;{Exu@-?ePk^|n70Py7W4iVX>qXfCXikxL(d^$s01v$+#m#i?qKDM`ehUan9CJOC++p+5Oud0w z0hIlAy8uM{;!6*2OvuK-VYfe&tX0I1$`y>ir~3XRkgvKuJ8~XiF4_q7~Y(L2y_^;3z_ja5oat(s9el z$NWMg^mu(RQ^tNECL?>xd4HzIp09U9ApJ4qF(yqi7d-DMh_&Hrs|#0WOX5w~=FEU{ zTEeP!Vs3GYmFTkw^Ykyop8OS0Qi(0BrFUV_L}Xw+0SX>ooMrErXX^~>bGtSQAU=yu z{3%A7<*;6 zUn*v5W0#;;e3JRg;ju`s8trNb0RNd9us%{4R;m#r@GdzhP5* zoY0xYKkwbv@E!4k<6DM9z`H~f*HD=3X5TY2nIRk3PGy;u2hEJbm}W zni$Ie={R_EZ;wPZ7@_F7%=}?=LJFl*FlA@epqes*hz9*mVKYj$*U=z|PL=?s0@@0A zmdCC}z=$;KO4nLpg5{V8#2xKsVvM$FPb7Wd?e^135_rH~DI9=T$d1{#y9ij~`6+=m z+5Q~MP%WL>>Xf0iI|<~>>^K+yqkSnIq~w?tB-@x!%(3YT?^i` zJz@z?cPH1Ro?}%15X=H0mlTXQ>txFo?rB#_Ly23$q`-{g-m4k|h~^EXG0%@M0EPa2z2=q zN33L2La(o7XZhT&qdDu;OLQ)quf3imzkOr;iHlQcpfBQwV$u*k4nwiJjz&0^9~sd_ z1eqaW(g5_r!;yBpMk9;_bajWLdYjjHjWC2ESo10NRzQf2#i{(gvfyp==A=t0_EiWTOWsHy+S!G3Yc5#8}*JJbte$=e+831!2~U>r!TW2v=!gh!EIM>?>B zG!b$}MB!w_CL$dtF0}3nB;RMEEFDu2w+_qI>t7r4=aVv`Hh~RP!1utAL87RXQq*19 zljaIiPvk#-un1c8WV4EiW-2q(vkDsx-Tk7*YFC<_KQIn}B#Jy$-yt(qD*}fm-w7V^LHArAyXF1E`rQ-O5R2Aqrv!=0 zDJYJRVS0()PQzJ%m(+jQzz}=VV&aRB1jShPEtmt)l_2RC2BBL(W=U(P3bU9548K0@ zQkICT*S9S${zqtE$gGSusdS%F<63BA`q2iM5bT*-pBpYyP~o}V6VE=LYD8BC=`Dl zKhg{UVVGg}P^w@3z~@$!5_rX+8q<2M zKTUJStrFFP-P%Cc)4bL^W}`dH19`BY#?J)5a5GO-L*kUKBt!X7PS#p`5y7{iUrjir zt2ea#GsFU6Ul@8_^XcuO#*PBK#$9Fb*(qv8;W3Wz$!0~J2_%5_0rh?uAp1q3ah66T z^#PJ$w!8Y$X~6>W{#%~UG_)XK762|xUjKpvC)nB`C#G@oKj02a`ZrCiV?=Ne;@pAi zy-EWxsAuZ%N3=%tYnBob=3*`cBdF~V#b_cOOi-+0FJcn1Ot+EX=Y%C$C*c7^Dn}}` zdd=ufd0JxOFyMpnq%|329L0=tD1GT$(PBpotwN=Rwdr}PBWp7&q6hY-A3!@2H*>&2 zt2cy`(mCi65Vf6sMe--Pl$8uBT9MS~WlWDp6S0jl6Sk*ew)Eh`rGs2qlP@YYk$u># z;Hr(iI6CnA9Z8SI0jH{>JJ7!6c;_FDItoU37u$n&*rjxrj&sbZsLTscIX8`_#iuWk zrmL=0OK(b{KF}t(>a7(iC;;EiO-l9`v`RB>{<_hAkn3YDa3ud?GdpvX&^r-nfm&L^ zYQ_xTR&KViR!`QcdEyJ`7oTWEt@1{SfDxeq!Tu}6Oesr>%A1gY8ERDj9w*%UNbYb3 z!20aIOU`I&hKdSa9P@1%^u?CwZ`N8S)duj7kJ;1yS%G-m0{jLTB znG|qFS_d6sB)rfMdO#Z1p8qkuk}3X;S`VAXR+drli@pzlxkN7|H@2D1p?g4HvqWwl>y}}4+B>?1j8lv$)F;eSssdE1! zm{tUO-JMCNl%X;Ukv7Ln2rfbg<}NTVqJSETO)A(5X<@HPMNso>hSFH;xlXr~Snu@H zk&F65sKzZ`RaLOa1fpK}DjrRPCrc-V6)9`EEqari*U)gQB=nZME2! zGPe+sT&~s7^PgaRk03os0#$Q4mtx!nz8Z_yMCn|O2 za){xHGQi0;M8VaRL3lr*a{gBRj0O${Eu0p4i=$F)tx8p_(nh|FTdsEn&g<6bkCog! z8ao3DEptk3S9)%Pgq#>+2^+P!eAWsQv;h<_HZHpODBZ-CKXfqozZlL*1MB*FY&;9# z3$!VUVh**^Oe2MrBwBUhU~qMdFS9QrsVrJV-)Mot#56`@X)Fx$+>DNX&u6;x@C=P!&8y2$-Y@*3g{V z7E4Q+nue8f8h#MTk#AMm4<|p{p581L>H7j7_kPgAM7Mo|MrV&{=Y0d584S@BeyC|8 zz)L`ZS%OP7Z2c*aN*zZ-Zfj+LuSz`x4e$cFjNiuURrypMa3=?6Y&H9#N{qtm@KeJx zoc31uu=DzcxpJ+8^)>g6Ef`gB8;QcUIBLqBL{80+xm41jB34?dm(?n)Biir^#@6q? zc-X-Z60=ZQB%>+t zm_-PR?S4896>b$|FX88>jJk#j5*epSITQjk&XNL~5qijdLR5fVk~Ayhq5*|h;6?Kw z7S3Ql&m+;$+xUW)X#SdaBxUe-0o-&73L`_Gbi&;{2buX#vui@ixtLjM3pv0RBe?T# z(SG*bu!i%Y-oZvJQCx>3~$N2%BOU66k>={`-=E5R488f)UCHw}s@|2yX@z z9l!x<@%|p9_K2^AD~>_2fQL8h>%v)_f15g3+wOIP>96&p0>X)7_<338D&Q%?C=h>4 zePd=b0w7h;L88MivispG#Gm^Ha3`>QZDTCKS};Fa10~&cY@Gicz0b zOh_ph%JG_ztys5{e`&vvNhb4NM0= z5<4Qsr+vn9pLkOuh&dwSaY*qiJ>A4NH`(zZw!C`k<)7W$t826kpLLPY`Ew)dg=?01 zYf$mUNU=*FLT>Y70V|B?P4B}mCokMvt13?=ceR~uq{+~d%_@)NGb=6^TycsRCSp!y zG~<$|%&WA#{q<#RJ92o90#JyK)@A@Mq}ZkA5ec}Mn`+j--;6oM;$r+B`uFxg(ncp) zqb>`V+fw9f@Z?zSQh270laFKykS*|4dIydFa-r3ZrXv%a0DC?akorpd-rzcE$njBQ zm(4T6jC`TyQrFnnUf^6J53h-Awce29%{u#A=2+_CXTK06dclWt7`-284NKJ5;%6~# zF3=F>6)-=4*(@2UWISwH!z=w<5uC54EsYN`p`es1W%>{b+Pk^%HDRR#*7*VfkiNo6 zo~ZGx@RstJfF7WZB9a;kA9}-=685aOQ#_h0A))h&kK)utn<6gHZb%Tk6P476-dWOZF3)u{+26e(D6n*1vOh-d3^GzQ^ZgU4rM)?KyvY;!?)_~S+{NZ_C)!lMw5VZ8f=TM|mcrLJg;=P;U zuw@mmTv0zrWh;C!29iohk}-#VU4>;*v;x$202*umd5A{8%SrnvclwcbXaYGBOd=js z_K?tZh{?=U?R=G*Sf!~jlU4lD-S9FZ!!P^Ffd%Ep$@uNb?++Tw$n8b00D%9z{u zNVwN4>TodKbPZMdG)%k|i1&sbkPut6G}V|W+Ib7Z5c44x)an^q59ZBi0k0LUP6cL0 zK#81!Yc~PJB9ZctoBOl}5Q9-X`gvF8= zii>PBZj+o5pR`PvElaLIN%AhZ<#n(;Y46~*+;Ku8g!7uPMwh<==KiX?%SFB@GA5p= zooR!75g!rCHST&VAJ{c$Tm=J=3g@DMsO0UEM5X0Zl+TE8Uup|Xp)+v5`#ib)MROj6d{UN0v|Nd5 zc2&;m;gPS$prW{!yXkkTTQ`;s$lU8#SS3F+Wmp1tUJLo2>p&V$=)HX_qj}ed3S^`G zBcDv+n(PI}hz$ExRt|pNU#2ZNRf5%I?)9+zED5=ALh!X|SKV6D=Hf*zqWSzz0R_72 zJ1`pVTNlf#=FvQen^sA}G7geIf+>ah#$I<`>Hg5F%M+2`T3KUnIn^EkV7eTLb@`m? zTyGS4PeH~I##pjmo@}Wiv0n5#GFrJ1kxYdUBFar>tC|gR)A*>;D_~>AQ->;BlQ+?2 zCd^;SV|aHpQZy>0*Iw&yX}#6Y8V%v(>sVyQ`^~1MZ7~<==2I-t`}in1(9e1dKw-1y z(E{h@M-y3SP|Ner6S~6zBymefZAP7?9vA%;izg@&M>bz93G5DkJScY6s_QoY6LhY! zl4R7a)(iR|P5CBT3*+{bGurK%BGmNLa7eJIVzftdT22dkPm`j79_&cr)B(hR04F>o z$g!pa`=8`3W_+D)wIpFET|QiQMxL!7c@Cx4lEEv0lxtwjIYz7o@LkYBRoQ620pP3m z3@fof^c>c~`gh8+XTqCJfAKi>Wo+MF_!Oai39C_ z5ADAOh)VezF27{H39|OL@14yf=TJ3EXLRjx#`W2|F*m>X z+Pc+EYrohY4)jHJE$)sckbU+5zzYWZ-D2n-7mq`{|6S(-b}L3+;FxrqVnTJ}sR%gQ z$fRkNR7(&a_c&vxO(;^5U2PHPuN%ov2KY!wN%gw#6ximxn|f~{KB=BEL7$h*V!S~^ zm=)NkOMw~+rLp#B?g5;hU!J=T+jfy)tt#aIkv^G~IwG-T8lFfhr-=0aCEzT4Y>ZX2 z(3^5GF75@)Vs9z(1uuQdJd6#1;Cc+qm!7uR@36idnk91Il(Cy$dWc%lZ^0lVE*j>i zb@$TL3i<6IO;e5~8N^VuT>iwknV4vBqnDV~=85hr=*WJBgqX70UjihMCdCd7utwEx z(wreuEXI+db)^q*K8mYbAD{L+oIkhEQLvXj_F({{zOX}RGwO8d^45MsxrY2lJ6(?f_}u2{tRn+I}|H0{z=Ih~4qEN%n{noJQEP2DGc7FN(ib3cezHZ7BO0#?9h9 zJ*WT(>c-yvfgmvB=pYm9Q@}BiZnEl(`&f~tS2n?Y9kCId_hJ3z8^8U$t6fj7Om(#J ztpONmoqfJ9N-rY~bgaFg4RvJ~ulq3n zN}=Dgz)tsbv$`OD_qU6pAivM2WuIT?@5BcLhoMbxU>&B7r;c~no&Q*i9Xx`Ej`wN8 zH$50BElj~~DG;>h%-nBZd_$<^g+$RlGO=%*d`&UT4*Jjwmiu4*eg|kbP2~_+mT&;& zd~$bhpl-x~xB zcCs(m!4*5iHMcGXZ+?3dfA#x=7E3blnc_U(N3X_aWeZAKhEaS4Jo6)4>|O zCiWGAx)O&$x3!yJL@{z@{PF4*VTJV9g58U(@t zmI9^>=%&A#1_z{o`<)D1fq?tdys2&FT#o}bmLniJ)G$8Bwc=N&KUG{b!5eTJxa)ZP zy~LqCx&jEa-*Ea3+b_e}y1jdPRyJgxyf-e7WW%-AIXy1(`_qw}@(11;U$3;KPhe#} z_3bYn#RRh9oAO0$y)0*fMf>KISI6PWyHsy(aU*F_hsKLW8ig@UY#$ng!Ob4<%9y6>r14N z^4Vg{c9KCI>~k9o485Gz!6-gGMlpD;cpe}5Y%=j+FV=gYhiBF70yV(MF%8qOTSvl~ zf|-r+*%C?2avL0r-jNk`3Q@pd$wlgP=dS86A(9IVLw+VJPr&zncQ}s;^d; zF4)bXAZHbQHxJyNvjlmkjwqw&^zuB@AVlF2DSY@>Uw#I2DRa&&5 zRz5@NoyxGV%z6SC$27pFqY#vlzW3;oyrjI7PT4Uzru(mt<56KT1&i7z`Giea0H1{rFS0j&9OPj$Ky>}C%Y8QP+~)CNG1Wu49{Ny(c!Mq*Si?3#Iw3x&Df#8F z^ewaOF&KGMgVBl&j4lmWjLe~=`rv-RTyMWC_YrgCH!dY*z6Q{2vVv(UO2P|c?e(2l zDWK6atT*TA2P~YYWMphb&zRrf4N2B@^ftWhK0$#IFq?l-u0dAYd1}FBqXPYp_Yn(& zip$7PbU~ds9KQ+N-Bld8JI7++CU>gMzqV+r`94f~OOfF&nud0z{b)d}F+7*l@EDH8 z<=<6>+h^zw5kJ7~Z|NiBcD6G=Dc~Z8Y#1YwsVDf~Y@xa^WQC^g&M&nE@Ds@DAr#>5 zoSIGQj6x*Bnn9oWOe2QtZuzniq$*e-%_Y^bn^~v-?GK%t@O*+pwz!UCLZh9W7j-$m z$D9eMEk4j#YnMV{z-?SCH0iT9LeRn_Je2ilJjp1!VL9M6R&q~B{%6%T5bCr=E4hWV zqytUty_49Moph6VDF}wHnOJ^l((24Jur9!mS5(2cw8d5*KF&pPKy$d@S`owr9>s@G z9mOwyPxsD)1UwpnR=Q0ls{sR~n1v`6hZc>NZY}*_DKNp=iwvnGwzQW}a?VyAKXjif zCXjR*Oc*ftp3)J#h->XBV2*Mi1fYyf`fkq%lz z!8wOE21A?eL~VFSP6fL9UPN!KM%A#fj(Ch%>uQu;j2Y>$iWM%&Rdi$|=zXYFqRd*$ z{z9q?^MvOaq|Ui=Dvyosxq>9M%-o(My$DupD+{0%sd1oWm%MeRWXz9k22Yo{RAB;| z5*xXt*9eul-tjaKD1;|r1O2P2!h<9p&p!!jOj{a&5=PY5czwORcCXgE5)p;EdSY`` zBH=(3(wvB4@>}xrZf-U{a~d@ZHWj=P_U%We#ar-3m=+a znFlcW8@(E5;kTrmB)rVuo~~(2?#M`V63FY=SqLvMLTbyZo@)ZEAhb}J%ha$$qHAec znu)lCzF=jm^Q$S-UYDW_AH2brxe;WD!{??o6*b^v9dm-XSC% z*{~&+%-#sHRSGeCiAH~DD@#=*Y?Zw_k8AFq)5NrMmMeY&k-P;oSD33@OLMqfN(o^8 ziWl$w(q(q>j$I!)G=+m4yNf&xrxZeH$WqHvxRs2beULpS1E1Z=oATlxLlL2zUE`=# zQUvs3@a^c|5-|wQ#kR!lfpKz%y6VZ$fwGN~90YDcj8v{-o?_Z8M$!OTRODtJ|!=o^}7Y9G9s*2{~?D6h-9C#DTJVk&@!L3jN zdZZa<`!~#BePD^NDV8v134Jx`G7vg!6FnA(0ZIb-8={x5f8o>Q4qV@wq4GKAAJiO= z9gdeWpl32x%5QVbKi$R!(cdT;S;5%xjP%95`69T-9yqI78hZ64AiAqP`TF`1vJ36n z6ID%*ukf33riFCPr}Gc=)8PQt%gnc-HgG-3A70(LR8y~m9?vr~g6;w4rgwzew>(Sk zv~paD5O$)!MtdpuZ=mHlo=Rbl9Eh?q$yBx%h_kTVCl0W+3wI!$h6A+g$V}R?qU4$~ zV^nkSR`lzCPi1;*IUKmvzOM(*-!CsQCSXj|Gv8elg|xk%DEYZ&JT?Gj7L+r^rP5Vv z*+(OyC?$LG&{|iUADia!s<&`Sek6<5%KzjFO#3Y7v9q{S*wmvF(pd&j_e|`NA{d0_ z!a)5h!^py&^(#)Z`JrrqJ3|^>&wfEfkV1cgqQQ}j<31oJM!l$(4Qb^VwS-EDDA7}^ zwP+1%ssb~3m_;b08w~+0T#>ddsSd3x_lL8EktV%#1%DOv4T5LZpLoJd6U~tIt~S^T z-V$blp2}uUE>{%_2ItT6mcd|@jg!FR?a!XHFlSaz z5EhxRawXRNu#Pt(#H)#LgTH-?_i79)MA%calVi3by1CcYM4bV5&Z-ZEQtORecM`k3 z#gmY6zKFZP5MPy-*%!&sV@;Z=;1Z%CH@FrVslj0}V7yNb?x3#J508nO6A(iV99SAn zi8&nQ_uN4^18Cki$fZ$$d`SNheS8^vCfIW<%>V4r)dRV7`}+~0!iDoWp7ZG+iK$E+ z1!jzTxfgzHA@%@>CLtuMGu!0D^ha7`#V(W4_wGvWu@Q|$?CU>A#N(t5oyXPRD6eZp zlYItvsc+_7v?)d*u`$31m(WBg1%9DAh726bq2)U;h!x4;0|R*mvsA|{h%I0vDJCO%}{ zTY+LiQbH%fF8m~e$EpopgS(<>x~MAS>Z2yuL*==*=bS;!p@!*TYJZ-%(ra1>I~hB8J@0?X?89D%RbvAS67y#gwZjXZ$Ak+(88+lBP48ud{c?k;%SrSOQIY z0;0}X%occ&E4$deQj9|1EE5IS-Y$4EkZV>JigW>|roGt%C_SOH47q5CZu};#CTm=zgo$8{pr6H1^nhe~MRUhG7V%aEM zbEg1N0t~ntE1{jsey$WLh;{G7gw)B;wb3Q&xd5+LRk0sMDR|GY0ZDi5mHO39xIdxg zIHZhk+3>*u&~M*03HaTyG^ro*BU%ab;j=sV5C-_nM8fgc9YJ_FA$kfcEm$sH;*U+~ z!p7Z_DB*7)#^v2TG||NoJ56{VJfbimPWk{-k)&QuFSq*5I~TL)h74+Z4jG6D!d%z) zzU)ON+_`NJx8h5K-~D_>XHUFL9I)6_JK;ZZ&Be3U`|@?>x|_4h!}@G%I%shc!hH3% zna;6j4VgVd70U|KKPaLL{e)p0Kfyz%kH*TWnTwqqOtQ?Ha%&wlwE{Ug4|DbM9}a-} zuexkc|$r*%38?6Av{D0pw zdYXA_)evSCyTns_Z0vf4v*CC00ctL1Qd&F6QWp>l^Mn$gEJNS9ndTfgp1HXAz+iqd zfdVuPx?svfFu9D>lKUM+89y@ZZt7sej1Jm^tA@-xTL*T9(PJzsWKkemIW zD%yO(An9N8}u z<^8+{>qNz%=W8=K! zU(G(`sdViV?F@|g(A?3I!VQ1yP0w$|{ddHvBi5VnKf=SGwLd9HS)s5|=H0*|YN#b5 z`Xy1BLW0!UXv|{YGfRLoSVL=?=Cyyl+P(2@rE&xsYAxxji>=mTNCZ+a=$d1`Xx1Nz z+ywjLC^3Tzn!7Lyyv)bDJOUZh3Oc|5RR|aTB%0pgDI#Ic??K;%7lx-REx|ec8l(Gaq<~SntL_4##mnqI z#3SfPM(V6Fc;#?(=@*7P)fd*vriI_<6zv&IoJ#<#ckN>VQW(Vc`iU#0(O=@Rn$%_F z1szY$tzC?JTkIWSaQ98uH(p3gac34wb_1j>I<3QHz%U?VWbMo+GZZDjj)D!=%0iB9ULwEvUzU(|7M8U@fK&kT0V8kEidwB*`^@By|NXuDp53d9h96f@6T)U?zSSShTRZjkC2Y;MRFO$N$rA5Hsr#sj3Uw+M_5tOP+!0X)Y z590slkAk$-(*M`mFIpL}Da-%84g7!Aaeg69M^PNV``x+SWNw5cx&3mk!l9LB?&lcA zEbOf^O@k1Gim=JVKQ%J5rb9zt^u_2VgekHpP)M+r_TWSG5HvT<=!#l^9CG)TYMt7BU?z7rOEUF@gtN8WJ?p}Uw$=SxE)1px%K+1bwp{vZFPFK4`V_RkJ*W@0 z2T9n@dweQP&ay>pdL>H4EXC^(bT&+mr(*dm*5&W6Ja_=1#{&r2&|Y|C0wE39OrSKM zY9d6W=NE_}mBUZCw?Hhyi%K3g9V>2X>ukAtu`YwJfAdqVjQpnH1n34?0py^ zg-Ya^2q1HN6G+DnNM3Auqg{;@gFJP(A-GE?D}Wq<7ubr+(e984egMZ2eu;qN+t=!HpMq*yP&bKD5@iiYoM%)P* z^|}S##BGU9IhE>jH?Jr2U{Do#9Bo|&w7)MYxwH(ORB&IH(GjN;p^ZOk?xV?M(!4y0 zL%%U-Q9K!kF;<*wW%XuF4{b;Wgr=-&u9mi~K%cg&;Pduo1%M9NAF%Bv6Wg{Xww+AuiETR*yJOq7ZQHi3i8-;qXa8$|?_2v|S66qfy6Sh( zN8PpVTIV%n$+ct%zh%I{(Lq2!ph3nhIpPrnpgh^*&HuaWmGI#a|0At(bea$^G!T$l z_C)4D;?(YGXczzn1nmDiX71t+2LcLy3I+o5zel#VrPCHy!soTV|Ga3Et=JhALCTTl zbCs5@*V3W2?evqpJFiKcsA|3#D!!je`xf)JkKRuZLW-1Hq;11SN&Iw1{T|sqU<*yV ze8Q>qQKPGua){_X>dD2=mo-zA6%ra;VfxcLJooFR z6*!VLR>lY!-u<@3jh|4$&ZMTLshrdrV?m=~J{I4ixoD!!W@4@PX`cHV?cP{{Re~OB zr9D+e{Ut~zWYhf(qu&->?i!u_{bZoHn(Wopn);A)J>K28C}B?NWlmYT_}RF4c6SHN z@1Kce)N#&ukO-zX;2E~-Tub}5WM&xMcrsQ#ZPX%tox^7HbN9aOateNb{=4~Z{k~sp z71XI@VNYi`QTY1vc=-^jHIs{7>6}xG_~eH8H0qnHT|A*RK2h;W-JNLMi1kxh0oSV! zXrIa{1M~29;Na!u;awBt;+;X1SMdaBo{7p64-@J5r2t7&MgH`htenp{EedO&%A70$ zLVUrk?Sk&lkneiDo|WwN^>NVY$H(iBMt9?7*^-Jz%C86AL`uq7v(VDBLi@Cj*@M+! zlvH^T8hK>GAy(sW9u1k7#lNyuAl=2_J62?l6t+@8Syj5WrtHgVaF^;20d?R(ru+B6 z`D+2DY7D})t1*P6k+d>R08MuWmHOyBY@60mLl&oFO;#FCWbR1^9jJYM*2ZIi4ZX!vl<6n2a1K14^4)Jf!pKfe*vY=F^ zrq!qPo7eVBD(Zhwdvy_BEH6{Hl&F>eO4EUo={ZT^*>9JzU?bO3Kdk|8oiR2w0%{Xh zL#+Xuw;BDvuBZ@QZ~W$C7szd75hf9#?wRh*=+{bFqfO%?%{K-lS)0+%eyOqd!;ERV2LOkH_&YN9_OhDe4 zn+QWH*^@zUmYDm>?gwVI%3o0M@h0Qu3#}YFgmHzJ>6Zar8SJlaKZB2`CSw#5 z9x~lu+xsKPj>6JLf4^2Pvm4h+{3s9ysgpr9zz`T37*04fhtBNb7b~eV9x9N%%V-FG zuB{Qt8mkES`^Lca{Ko{RTWQJ(On)6D1+fZNrkwL8n=nP+p@h zFi-Nw{e@}TWe-<(Ljly@K)deQ(-FOwv(BjDAbs3$;Se^xY8E9q*|Hic9d(^6L(b9L zId91{gA>QKNPtF0+`(x2$>2cM`h&uY)+~q%gYY?=27C-?d-PeVzxz?s2S0QnV{9)( z)g9bNkKTGK)RW8C)K5MT1GaK2IUZfU6-NuGa?@G_43%g+?{a6g4ZJe*x8=B6(6)Nri3lfkPDR$$SKW;D7pz07k zSc5{$E|3*h+*k+iDbG9yYnncbkU0!z=?F_gejIdgFT*p)Tg5T_kk`skTYaruHkb-7 zr)32su0%hwo`eBaREsvGFJi%u%Lt+d_9Eo0T7w=w6O-`m2p`qTa$W@SY=+5AO$I2f zJ-RT@wE}-6%VK*}T3&Lgh4h?MX=Wkkm}PwP72vjoqUdY$EZhCfJuZqsi-T3H*|q&i z(KFp|4~Au);|4>(swj+%(zt2l7#rfuSSbL@GzhNQn_hj4x?X`3QfB@m@~MVcQ^B~C z^A&m_`ian2#1j`!dF!A@^NcN_r@U2U*$D)0Mb{_+OSI4vf%OJvN=m2ESeh-^ zEq(A`bi!0P-ZjcJ9PTT#WOklQ!q-Jm+=(BEO54n$cP_C9<331wy}n@DUZVBnFeHG* zrB2FQBJKj4M{Kk*8W@wDBG<#pqf$!c8qc_k5l-KwcY~1Jd0AH@sd}v=2A{l!rPO3( zc$#1as*O}d3RVIAQR?D7%ZN3yu}%sJeURozv^Y6;sLF$My?U`?L{)iJx9PrELEeg5 zvv!BJa(6QMDHYTV@iI4zBtuQ!Ss;LDOERMuDrV0PgZySGe}y)YPF{eTofu`MN_kHA zHGXdaP}WKo?O`a{B(}8$lS3VcoMap79484g!v$q-J>$YEyShkCV!m2M{gmg;*vsg@ znJjlrQ6v*w+(SlXx#BY4<{Fk(SqRCJ$*blc3JBRV!@oo3h)u=yjOE{yxB+h5e^)HK zNe2fGexB|BcX2-Xm>@j;+*lM41{1(Enkb!`$3*t0pVz|$-O%|V@rvAY&m+*7!G;6Q zc)l%EeOAEMZb%Q2^}V1%+dytG5iMiiIIHG^_b|zG`!~BDstI}WH5R<_W*(ltb}Jvg_IUsP=`=}~;k^eoXea>3=#oEtKhMfbJTZJ)T_ zzhHh4w7!KWF@_uERr<-kG?va{nxmN|eT(EfS3ImBySrqBYW?yu0swk5Yy&hbB`>!^ zir4^CgQUf~PSA%foX8AzVFKrZ=ijYVX1rkHih8aA^#W^?yjo)Yvlt_Lv5qv}dg&Sl zzW_NxUqzBh$R0U~?TB(+a#s5CM?KBS80tg=YOy7QCEQ;*Ny{V$RNNmFvS+uZB;DxO zA-J?PzhJEZE6X+BM8GT!ObPoC&W`9d5H_TE8mnZbHKBpxG(Rr^ySy;wEqDhZI(;vb zaS4*XB#(_%9~%<`6}tFiMGZYvgi7bntp7h*`C#}<0?Z#2;GF5dc$F@)pUd-?AR&Is z?87x~4O3^$FO}>Ogm`f0Q$%P_=~Owk=2tU%PI{V$*ld`ks{wYbX(^JOuU1gl7sm$3 z@Um(}rT2H36WO%>x3(sIvdwCZXc}t3~ zmS}306UdyjIlv0dq;x6&S-F4B(yV^aGtx;x!ic)awR@)n-&-qJtb8)dv{v~Ma3lhC z9{M}jmR<}cIc2Hh8h1`l^$lJXSrQv&teI-YmY*u+)!F3tGMAlmSu946x~3#0cqn%* ztyR39^cl*F$dH@WuwykE2Cx6QC*NgYc}785n^#E_O{ za^DGfV;(aJ`H%>XkkB6k5z5J9m?aO}6;P>yf`AKB=>Fa&iU;6=zR0QbYmoC{{ILGh zKGID#xIPA<*+>5Xa`;qcQMGE@^Aq#QjhOGU6@FvFr^aL#vz8z4ermg)xHdn!TdH;* z?eFu(0SC-=e&i;Z0g-{qyJBUg|NJr4x_sC83*nGIDaS-4gZ5M#6wxvXT%&fm6DF*4 zArOE|Q8HC-233t+Y8@ChaQ#KA7q$l`5&^m7?nKuh<=VV{c!5J0CupZ7js#iXjFuUJ z7l(WkI_KOD14S^%LW_<9u?%aQ>W?ZV0*R8|iSbX2YI4AO5`i}^En8Gz>C@`K58&J0iGU3F-JX#>#GuLl4)Re4j4tu#b z&=(!}#$*;Fp!WePtK1L}{~JGCvPzR@!_^`JN#Uw6TZq0Y&Fxdvdp}=^qhj}DWQw}j zr4`3at$dau%>hy*ZjY?^H4cxO!9ZMj=3bRisLfiz{snr!+1tKWm}0$u{$Vc@8~CXH zhvY-0JD*M*@B;TG`Jz;}c@iU|_d(N$im9f1Ky{>RkIOdf)%VsH{9(66IX)ogw=CI}90WcD*Z`tsx+0 zYbI!$PWzL6wT$_ADRM}TuW}o2emopdNs>-II4z3^KtjJDSj{$P(_yGz0R%)ffLG(N zmbd(;Izvs{D6aO;e7%^NGg_h)8{L;hLaz&m>2ntEU$}ndVJthrO?lfqSxXP_*{*^Q z@Y@LOXrUi>yi$KvvQ5rkUNR;B@^w>BqdHp8cp5d)m|BJw%#Us}f@Ha8>?R55;_Tv% zr$K>ho2BAh(gp(zaRBEz3;#oE+8K` zv6=2=cW_rS$aG(6d%c0X{;_|$!6y-{z^b$-H zRHYb)wV&1qTg+#Mk0&+qv%c7UL>G}K+kDFw(c{h@D$+zsaYM0lSh$XmfHLN0k zqUyk--PVYg@luKc@f2 ze}o{CPyzbG>veh0I&~B8`th^X8w}fGwn>Mm4QTbi@4TT&R+{DqhanO@O}b~$6(!Xd z&w|HOMw895J|R!oQSt)svS2c?9MaYt^ETvzJv<2nO9}_vq3XKhrq|pK{IkF$0Nf=2 zTprPhf#B27{e53DXt@yipKpmX+Bk8G@y~j`&pzsfR@I(8L)3bk^t44!y}et}^NDim zgC&yafhcG4B7CB*aM06r`@7SP^Z<0+UH#crK@6 z1Z=Pvm^g97dsfP`dYqRGy0->478eS}ga2W-fz@y1!-GND@+d9g?`gU3h(kZS&1ZgG zvoKx0ajeBMnP0_1#C7i4LlQ*0oA9llx7mVc=a9f9k;m&rufX){{kQJjPbC9Mp#qzT zp!LKUaiJ`4$GORJ6%wUx=xHsd!3d}r&d?W0J$E+W_CwJhbX3q(Pf7f)*`!j-FU>ap zx)`}*miF0H!#C)-<0|@uwXsNcs~nET;aOZbTt)Gk{IWW^8rFzCcb>U#>bbzz z`5pn2#m~h^#uf57+w`}#&a%jl{Zo2)qU6jz+7c*NO{opiiV*>Nt z+Uc&U4C<@Jbl7Bfxkq789a^u?M35Gu6vDNyWr%`9_Md};)zJMxBKg!g zwPylKp-o&d*Rc#OKl~3<2MNK;AKef(2a&%NhLpYn=ii^W#qs(3 zF*l#@I{?W4Pw-0=Am;pki(jKRu>cv^f5|VgTjc-ZyND<8|Ipp!|6+@YE#d$0XW;)u zlfVIz{~>kp|G`4@Vw(S%)$ISV#jw zn#t^g1^qFXB`cfjqztsh<6!X}-Y(w&Ww8rf3Vh|I!M&+kUZAW1XP?~;fTU1#;qHY+ zSs6R%l485K`uuEnwdm!0LuWSgv6IdyJE)n~!k&i;+Q7bqgkeL{R~R|B*FYgqCod{SnVE%*-Ag^RuW^X5kp_q{(!la zHr~#UwX^j;a+rA)$gR({>mGijc`GHrg*MsK-P!N<4lNjlKyVrKDLKvls_E$gX#zYP z@J;M(hU=O)G})5aDmXJ~DkATMf%;I;NWqyY4TFnn@80j@M*kvIfG$L`rI+M-!fnDNSCz!tCk#?=ng8|C<)g2hB!#mb zp8>b$+@H@lzD>ok*Dde;S8l86YT(|}ixT4ZIgkY2Vw5ugC^;nNlB4O$Rc0VTc0oZs3qelEiz)in6V}mB;RI|G+UB z6D%IlZ6T?h6lc7DpW~aE*6PJ4Ppu@Bh-(k%AO}!-n++E7C-xAz`_oNXQmNwuNa}xn zRIL@c>27|DAr8d-Ew6HgWSnS713eT1D5|ml;$i6_sZA7up!;3*d6vTOAnKt{yVf^b z8DIi72883??A_SAb`%QdUhZJA#2$Opb%NnoMJxo3+w-4Ae_o{Mr&?Z98S`axTmNJ$ z?M=KobGXgM2h^@*;-185;#>4=|3K>qdkcvcU%s7(CV~#6%=__?XlA@;Fv77%ye2Kq zvTvx1S>TAC@H5PSl(;Wra1snd=YuMd)*(@Mm-=n>2?FVIymg?A1c~!cMtOfoB^C&VH|V-TXNpHQP6|oTp+eQ+l>1I> zP~A4vlkctA&pU%DNMidJh17jtP%NNObI85o3-uo>i#-LaQ3V!d-ohpqDZTjHQ}J0r zkJo7SG~Fhv=fXp`2gzgC_^*t`aU9qu{!ayu%8g9;M4_C9Kn2A@q4}=m5~~c$>Cm z)99ni`lpjmE>Kkzub@?%=2JS=C;f&E>|e04_Q2VocQ^Czirw$B9d*DnT~@a3L~4{f z|Kv)pOGMyTP?Ndc0RIERtB#L@;`smJth{> z!e;Mn_0>`{vYcj0@BPjljG&8Og491#%;h>z2N!)&*%N;d7w4=-(3hzBxJ8Cfx0_E? zo)SW0lzATe3wzg+BD~CWB-A$%=W@z=3|KU^zCOFJu8b@3G`f(o=kqFqFeN2Z(t`u- zn~4byi2-@rMLME5a+vlcG1CV{j9`?}LIY_twhDTo{`>>N`ZzoRG?*toC(0|AM6oc z{4=OZ{4S-A7&oyvP`xb6AXvzs>TsK-jXbGEla#D>a^LV_&1>Bu^GuU~s6fp6GboD1 z)K~D*br77~t@U5DV5*q(HNh^H>z~GR_=3snCr~fOdLm@H?5qOSSU3x~gZ?>24seNS zvy%^&xEyuhx9O~_xvuHa){DUJZx~z>-)Uy^kDX{iw|RT4FdKd|Yn-YTrpx=ZE0jv6 z8%!bI`ew>!XCO9bTl?EtAxG!}j zQ-b*veK$NOso;U2EC58X!k$GNUV!y}W+b!pt>0D?<_BHWztA84$g>73_Nq)jg5J=F zJYd%&T+@~Ev6b+ln8DRZ(8-`zhe06g^}?XTOLUnHeg3i~>ioV1lg5XIu)(ZsS(KKX zGxX>Bcl4+f1gT=iGmyH#i(;7-oKmLpz|P7B`7jm$J1CFk%~b_o>6O=LoWe{Yl0cr7Wf4OHgy>++t4(adb8JI+}4cT}Dbw zq*sI`^HBnOj!4Xhpy>vEv3ykQUn7U_W{8`}!1-z9p{VVXH;rhmmLbqPNB3T1y0HT@ zchg4)cH!!R`U6mC^`f8zeqdZdQnhHj7;JZ0`x(VH*~(3k{uUUMv{*7Naxr6_ZJ{)e zQ&YeHkX7REn-xhqLg#AsP)V zKs@=iLQG@(R{z@*M+i|3{(Po?L?|W=wH_W%o{E00ngYNHVGBX1fe}-O5TVIu8h}M| zI_>$j4zdV8`P9Z0{9BMQ$>iZrZueep@cyihwd=r`b4f44M5IQE4fwI^P*?LqPEKJR zY@p{tqkqq|4T)UjvtzXxpe2v>G^L#dMllrh)f1$5_2aTl_7B{5@a#wcy((r`Ro|ar zAqS1~Rvo~|8!V+>Eg~dwRjZR{tkEa?7v|^ei8SPS$7ic(v>Ax&2dppj`2!689uKogl^d6 zT~-B;h$rqruy<+bKV3Y^>A<>fm|fp{>VylVO~q?5%`R(jPD3W)+?!&JN{dt?<5(hg zA|U|E>I0Z4^i6MVCIf>4T$c443*i$dOSb~LgFa}b7 zd`mVsdvqBg%(qfGa!7a8e{8F>;XmfRr$1WxO^TWkNfMQSC+2@6~ zzge)wW(%+!lAEMtY!csU#^2?qgc&Wv_22*`*Ol(iQQYcP(k#f%R``v5&bEb6N@LhT zJ#+oc_43>n%pbeaa5in@JLVmj+TPg_3-SqTNA)D_%nxR{xeD*20EABZxNoMIR+XoS zdsPV9;$T$@YI}B(GmhqZ8l<^Ns%SWhjnk%o{YaQ8xt^V7dTFn5q z$P+#AAIpjfv>>y4;RHk-_*AhLP=W&cMKcg}zckh;w!_Ai%M8q;<86X&irzjP%p#-= zMDu5sLL%kR0K-rfyB=T*EJ?_z*m=JB&VYt zLmGy05nfOWBK)3d#blKT^Zks8b~j{eV4!P(UFDQ@^K})0?-$V=ytQ%6%b8W4LXm$Y z;pirwNQP8fbai8zJ=Y}({saYFMjgc!l5^ORd%_K6r!{*SM2(=XdzV9BQ1w*=-U)%i zo@}_l?{>jMbLI!#`2g{aHafQk@?kNj4z|>aag|4FWt<@~bT0)VFmFo!oC~!z>}sA4 zmF1#9Q;*9f;l}`b;cTHs;cavkkOO6N_pJe66&Rsx_p_ms`e@0~+Ae@ALe)Kt#i5#y z3|57-mE_>_O)efwhN7lf{f1T>A#Vl+Z9j4tCiJTT8~X7=@oaV25V>c2-Eb~G^lOW0 z?5VV*sr1C8p1|-ov}Um*{;9%>2YKHmSZ%pooOB(-FWzQhP`|W^{<3@GjjVZig#3kp z74_d4pFj$4`g)`FC`TdzvwhWO)oke9{&fUnIukr3e>0c7HQHDIgs=S z4ZT!q4uQ-BgVKaxfHVcHw^ixmLNa=XK>t^Bix^Zh@6~zzZJHsLpg6eWFq&{eVQRbG z;&PS0g`?dR0k!-CS8pHBZ~D}Wf7LR>n_4ncUN5k^6Gcz!!8?HI!JBvgti?l7p(LTZ zmu^Gp3;Zd_`J(CEcR7+OF+=pVIfi$_7~3{)Gzw|5{)0c9sjsw9gKLP)-+tZEHbg}6 z>H};f;~|oC8As{fk!uueX$TI2=nsC=0{`DL{F4tph3bA~<+Al-!NDKYZY49C4oVU7 zIiwvt8Hxs|JZpe@mks`r($&SVWDB^zu9clo6*hTZ{@CWAV+RlO{QN#p{p+^MA897I z-{+YoiaP1v0@v(e%>vLzAJG^)-TPyA$2y=Zm>s`LvCb7uavbQ3-BgFT;U?# zLwxq!=9~j(*UrMR1CRs6G-iCs1$rGZ-0)v0ZC zZRPK|&bf1im2Quf|wRO)dKOFCZ@>;l0gGX;QmENP^y9Z=R03WHJ8@fX*^y)89 zI3pOOZ@vCuSo<%H-JJqrm(FutD4vA`x&i%~6|8Vn87eaqsCt#=iiZvIgE0h|wo5hs ze#Ag=hu0Od+*Bl3PIDf5*fiP8O&;SltG!V~3CZ+X0al5-O3`viEyYw%lNs7~mQy?d zF~jzk(w}Mz)qKo=h&>;vEx#4;Txt93=YW;D6HAA@&FFG%TZ6G;b7b$uY(}2g3H+PU z-_NqiB|P-T=MAIMtrlk~)jcM*KNMRIWfFnspVsTnB{15q+Ad0IJza4lPLphuEnWjY zSw+m6=?jx;Ljsbflm5dnOJwHqUXiawudd3GovyVsZ;eJZX^+3fwV7THQN*wt1-cUA zT03^QOM@R@Van>ztCbbF=al-fNu0AV~qG z*m?&&7jsBZNO~XdBgJE zDnyiB*r}K(E)Ym&@Eo8AM0&Qvk;;MU2R_+P#Fixty?1%1wl`3oel+N#^R1@9ugGv(Z)Inlg9CItB$yol@(=8YV4z?rr~DO z--+j}$@fh^6*0`2KIWxUwvVG9QXmatqBpG{2@`v+kg(P3FS;9>_)D&GZ3EZO$;kR2x_$vXB}_cJqOR*!^gQZ(xkk)ExwACvetw zF8(W{a>D8aqxb*h2+w5-!#H%wg-1n~(`-=>Ee&`WlkOg}mxRMf8Mwl>CVUIULq*6pQpapPpf{ihmA4Jc7?y$lu(+I3!E!Nx zR;qOZdGPPfVhm-$snNjhBZV`OT>)3jZHgZ>5*($w1{VB@T&ZaDY)8snOphIN<*p!f z!yUP*RMlmveP)^(SXqyEl#SwJO{hS`Aw-A=JA!}d^w0gu9R!o95+~~&B#>Vptdc~P ztLK*xUk-uapZ+{@V;_JsT9CNQKomhWDiRXgWH9Xcrt;=ZSItwJ@;xt{tuBk+F^evf zo9^0o7H>5E*?SCd&NKig9B1Y<8Gc<6W0$-~VdVc!y`jl-dxp8-NIi0yp2O!dxG3Dz z4%OR&SK088g19G2RVlCwZrIm(1C3LEvm8DR8>{AisKo99sR@8Iy^x+E4jjuFKT7Si zbPA#@sf~hZZLrvpPI=aoEq*mHNUKrxvJ42!7ra>$ENDGr))OkJcZv?vR|^%CqR}$N zp>$_PQpSTWE=vL~x?0$I10I*hBJA4aS--9Y64Cg|5CR{1R{QOcIh*~n)}2ERx!k-6L0X}1~(Ukx`h7LNC5OW-e4iHMzgBN~FkP-BpFMx@>z zwB7BUjUvSsNeZa=D6F73ux3E5};5*k6)+Jv`p#5kbgO@t{u`nd2yOK&?7+#gy zn+=YF8uu^=7cxtqf&tU$Mx5Aio?2p!K$`P%<>gOrhT)>sXo57kByenT+uHDN0REfd zS~?StGvU(h8y1|GgS?p<7K_n#3{A_cYZ31-8whi`;lWpef;ot*lMB%KacSq9_ATI{ zf>F`;W7wJ>rA3QW5$b$wV#50s_0e~=L1IWO-+!bf^?75`s|9AcXVuf~Vw-ChkLZOm zh|~r$mILtv*)to6#JoFfeM+%u=q{x z2*k5VULQ%RIBj`&YiHA~k;)xqB-{QP1ELB+%O02621-Fz8 zKfeYB8q!-Id&#)&3jQ#`8`Jtsa|cSx0#;#^j1?LODe;R;rt4iJYu z!G;mXm8+-ySC5@DUEXaS!Li5sclMRiQ4K~pX3Iep6!N?#)%Pz%z0|y65J#0jhD7fJd0eLvqaxr8p8Ze-V7Fi%0&}1Kw+QK zcBF@>OTl8J%BL;`De50dYOh=rKvM^ z%zWX-vlvDH-Bl>Pn2XylLP00DU=NdSe-beLO35WNcpQE81c zL1)O+UwVC>VG-go&j_epA(FrbB#ErKL zD`|D5`OMs`Wyh~3+EP(8lC^-Y3z>?!E!L=8E%zIJ!fa<}MwUW&bFh=geJ6;%;Xjv7VhDYJYPrXDECw*L>(~V* z_=ZM?$6UCzg)l0|8{IkH>+ar7v&ptMg<>u;tH72|h;oE~4ADsgUKc-43_+*c@@a`;Gc2O&a%W*dFkUwJf1h+C|3dgE0MI z^bLvFir_A|h&eng&gDJ?1<1?eAYkg?gRZo6TFXBkz%_h+=Xpai%wTxmPJN1lqS=R_-HX#U0;+~ z>FFhD=&vOvKisuz>fj3n>(EeXr{>o$Sa{irDmRT=6xbB<~{7c>Q_q zFpzQ#Najf3lX8sm!Wrjp!kq-%(lB~XgoQHRWCWw4bv^;_*^g7!NO(phBc*8?ctq4)>AArp6~O_D|NQ5p5BIIDC{p2 z9V+t7U{;VydPQnfM~9RJ-z{|gd*>XcUw9W{(II}oUzWTu@R}r5K7p4hTJKe-uL31( z15*lTT6)b#F`W3Zn1Kwv-l7U5HOBf?r!0NpxzeP}bgfA^i_0C*aRy6iW*_~AaIrkr zG9DVt@XBj$Ttqz8A1^a}ArP=JW3-A7s?bKGL8H3aiXirsT6LW#|LF5BPC0Bp@>vv; z;P?uG32AnQa_{(?f)hy%?m&0~F0YF19z#yaSly(v4>-;fo!PNmPcrWAU{YB|lGEN( z)j44+HT7ozRtu!t?~!YO$lDWE4z(lv_d!OC20V`%86w|fM^zt9{wzhdDZV{C7Sk89 zjIu)%IesaMx=vA*cA_4v719ptx{x+hU;PzuooKQ5UT8cZ`I$3l(BudWcU)qxOD6GvM>VGDm82zum|~Ber1o@}>(oQu54ijA#ij;a&zwDLgEd6v%d~Wl zP4z)C0u=|$KNh@6Ai9CzM6=03M5k_8d^wV!g@X|+kc(zj!64=EVZ|e`!?2U=4ew2W z!BG|=jOco8`3)3H)TU~vA(wpN9yF`)oRhCH&yjP^cEf_l%}0dEP7&F7^8~g6Uy4-+ zT?RX0sf9AV7%rVgKNsP#Q04eE>u~)5Y^jbkwl~a#pUaoUWEzIF4abwnYoK*DHsx6` zX%;&w1?mh{``YYIo7&lBf^~GCRO%0aUt(u(`M+;~vbdNYyC|v)yj^Jm8)!P^V#IIS zEh&VB_pNcbGBR7x;{_fJ@)1YHJ1@9`BPB1l9nCz8K8amU&y0 zk|?%bypJwj$@VS>2SLr;cwT2HZ1N=4MZsyh0*N=n5?Or`SKNOLXe0XY(Mpm5bZ5}o zE-f|bjllqk(+72guINPjK$5a^N=@{_N3x9Fhb0qa7bFHVHEpRaxUlv-AgjhAP~lE; zb1Ioqvk&ceQyHb~Wz$%j7LWAd@g7J+2lC6Q3)tHueNGs7)P#FljjGSlw%OHDdt-pL z7R6Hb$&B1Pi}8PlQ2kzvDE7wybnu?2LOSh#Hyf7a&@JbrR(tZ%h(xb7oR>sc?@u>Q zzjOBZ>V9lC@!db)>{{1;LZ?Qpe;?f09MlPvZfawGh;r=wwedDGZlZ+w`_N;CMwGFR zL{7A+ofjix-f`D{&)zyz-Bp$TPlh74Tu=bPRLB7%(!QNgChCpi-sPjGG3!J1# zJh5GI5e?wVr`W?^VP9S#-i!&ci!GPz7~c1YU>K`6B>hFDK{ zSmHWlbM#mmyUH#L?2PhdYahq0lsi_FMC-wmNXEq38WWOngd$6A>uR9EgUmHcb>%to z*3dYJJCCce>4^eoku&)N6b_246kGT8HjS{d4=5G?G1#4xYG1?Vw`R-KN~v;A zgriYOSG2H0FFSUyv5h0JUTy9@*^yNM#nB_@^JQvkWsHZ9JEdbUw z>CjTc+R&pv0@_&y+(kWfI?C<-UM8g+KzV^D} zj1gP+a1j{u@G!dq2tXVEN~$C@J4gN7%3BE_aOpX^umVd3jF)#AvT}O6?c%G1T#M6D zp&^=zC4hy%#i&%D2v-(UtBNMiX(>Hf^3`{Q^t|Dk>RKPj-KQC*GfL8K4u~Cetsl9N zWR2;V(oVzJ?d)iLcXG#&@s(&x&Rlz?o{|Av&&i%MFmZF3dD>Lkpo)-dMU1cFy|6_O<% zsJM?05aMf5ajxtIb(knMyxs-*JnSWq}Qw9=lI; z8u;ihDY-l*b`DLD*AV$ym-!&4Yhr}JeUGgBP{kY|+hPc|L3nLL ztP??U9_Y_rzhN1Oo6A~;B3pk#XxQ;${{T|=QfYjKU`9f4Sa8Eh zfawRsV9gw96U_bX?&nQbZM7TFC4cs*t2T{LP6Yni7F)&a1u6KQnD*vt3) zpJs6@Oz??)R$&4s3qgDIPV74B?_9)5q@~kTl@RCRj3q71$ri-HyCUCttZt^*!L9CFXG($_%@aXqzapXiJbLBAq&|!4 zZlA&ddE;?5uQ{h9I81Ly6tSlL9x2cfrTHKqbZ!@|SDZ%Tn{hPD-t#8!C}HjLV6p0v z&S+jITDu<+NjVJWyOAk-`#e5`7`eL1>egSL;f(t;ol_vz|ICd{wK43kI*fdVc?*a% zri`rn&~g7H@<)34E$J*An7#LzPRFq0z_viZ=Rkt$B)qvBUoN7{gA`|wHXcALz8xD_ zxOG8VngB}iNtZ@oy6i1dO%^Scee$m$c2eB6IiI0fKU?bWptZoA1gvQ{t?^m%Np6m< zYP_I|lE{uB)55kIdsQ>XU>r%s$QYb}Ihdir4`0BZoU67lqPR!7UX7fsz{xEXR6_z@ z64}J-nmANEe^uFq9&)>8{sSO2o5N;I04MF~!=|yXg(b5zdZvTQL5%;Ezoni&S9BAd zLr}%RmyKg=^YcA(Izjj#)Li$Av6O9Ugq1Ug;OxJG&UHGeLl{~D>0el^JvT>2Uw*IE zws@hL+QQ0yhb5PaHGHUujAWB}oJA&9Wp?90^N7~i3$Dm^JDMLYxDVXEeyk-Gmo(KN zz$?qDExOc1R4SO8)3a423gBNF3bs45bi8S_!mukKLGzuUBP>wiA;!wiZw_!$WW%Et z4e4pn~z(7Fm_6+Q*@! zk@oz@UBtwUk;e0{Yy^0Kfx_YW7#Ats|DJ;von0YJjXVyE934cTsgrR>qGS03jGzOh zLQN4fE}Z0NQ*g$#+0v8VN?!z5X%z}o7>1Pus`l-!Piff26ZjP4qGpV2D#ypNt4B&d zBUvGwn@hOFUqWSVsNd+vV=`63c(+F%f7X3Pt89hPC7iX*uK>eMQ!?-}pQJprKlC1< z*_(j<5agX-;c#*FRk)T4D!yinS22~zfvih4@urNKnfA!$BAlnW7zCaPYHp$l9l~r6 zqw_se4nWaydbD`XiMRxa|87EFY=jI}|59DRi43fg`?W>MH)_o`2Iw8!R!W_VM$}A8 zTc!mJ$w7rd0dS`4Dmb|PzD0ew`qxpOd93|c`glmYAnseHNW2MA9oX-|3l`POsXND< zCLtU_8m(V4P|15J>-4P|;)uC3PHPgV@5F`fE7XU1DPmfZa1jYgaVSE8A1e?R<|n4jM99k@&GkYoDeCEMY(TUrd1jL4+kr? zAV`DYJp((RswCCIRElw-e@ITKNYU(xSu|O03fc}z0zJnUX3AeG;%uG zq$Ry=ryBTve9`ZCmo16<62|mH6g%>HD*Wuf)yUmw%GcX?i_`i!7Da@^hPYEPbG=%R zMO|5^zuF9Si~dfTG)4#vUfVQJSVw%?N4zwu!T^JIsZYwY2wRPklZ|17G}C^X<1*z4 zpc(`!MnB7gG(Mk@n+u&ff(EXc&EuAS zke{h(zu6_g^fZ6*3YV299;%&)zq&c zqhfpCT{}w${|(|~xy-3SG#99I>;BhlHhO+{4V%QgxKvjvtt{zYf%DH^d6?V>dkn~n zz(o~=){1=oKXsgcNK;W1$M1Vrx0_6tNJF+&Q))3Y%^%OTqG{BB2`Xxo68)fbCO9R7 z6x4=-k!V5GMTk&h(vLx`glP$rBEmoB)TTE2FNY98KZG(ctozP0_x7|u&Ohg#^Ev09 z_s)M`?$?R*?7JsV|9R=}Sk}gfndy@unRNKm5O*;b6vbs>nfqp#dyxpY$I)g>^teQW-!QTCpc(I1H?bER znEBqD@dFI*_6(f4?)GNj-UM(T5oFO<1)LHG?mipd`!BkC+=iLOF^gxW@{QZnrS%Y& z;#OypwOX~*g-J?xm0Rtra+6U>xvdM3V)0!F$_0rrG3M)*3aNZp993eA2iXy z05NKFvg#UJ8qQZ%#KX%HKro2}|KaM9vnGTV+Ym}asqCQ&gg9oyuF<2AN_!@WCYC%p z$;izYBy!#+WT}AHLhynjd=We?+2JM0WF{A2uCDTa@r)A7Ev4f~e zUKxF@m80jvoPj=V<+i9~9|P|9eVX+$F|-zvF(aE9aJ4mkx`BN5u_8*YGYm<)HX!{o zY-E>`XmW@c=`T4EzCv^vmBc)|lv8BqH#XY)j#0NcAVMqrZ)hLA`EUK~L);lt!XMGC zA=%L2^3@^6eC?5{PI+RhLbD0`Is+X7LhV15yvm4_wi1$!45*e_HqvZ8rfGT{I~{So zZ;7XVGp1fM-Y(9Ltsm?LEaW$K%H5-yIkF@6pm>g@oe?lC6E;cnh^HPKruS_)RR-13 z)j6UnVs)!#f7f?<_i#uw-P+cPn>XyrajQ{ Date: Tue, 28 Jan 2025 09:45:46 -0500 Subject: [PATCH 07/29] Updating the notebooks --- chapters/chap18.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chapters/chap18.ipynb b/chapters/chap18.ipynb index 2cc91a57..1955731e 100644 --- a/chapters/chap18.ipynb +++ b/chapters/chap18.ipynb @@ -2027,9 +2027,9 @@ "\n", "* \"How does `unittest` do test discovery?\"\n", "\n", - "\"Along with `assertEqual`, what are the most commonly used methods in `unittest.TestCase`?\"\n", + "* \"Along with `assertEqual`, what are the most commonly used methods in `unittest.TestCase`?\"\n", "\n", - "\"What are the pros and cons of `doctest` and `unittest`?\"\n", + "* \"What are the pros and cons of `doctest` and `unittest`?\"\n", "\n", "For the following exercises, consider asking an AI for help, but as always, remember to test the results." ] From 6c568d1594b0cf69bbff8c9098676c06d9d7fdbb Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Tue, 28 Jan 2025 09:45:46 -0500 Subject: [PATCH 08/29] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579434 -> 579430 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index 07539c066b1a05adc740e1122617f4eb47f99d9e..a5bf99e15c98281578c1afb321e547e86a37f39f 100644 GIT binary patch delta 3127 zcmZ9PX&{vA7r>kvTR4WmqDc%%Cmn*-RU=$W~k2_I|@y2KfJBL^@Gr#uKu_fR8@|n z-bDRu-9!|PbQl7Wt;XC*(oQo|kyF47fOV4tSMBZEcRy< zm)_#PR+*70ezx9wNw>-D!0jqA%o8mko)g00aeG9*ymGG#gX#NLUpS(lJdbcs(hd>%#nev z2t9$f%!6zFD67&$gsjcbzS%oVp)WZv>-o86-wfF2N;n5Lkf`$;*&GrZe|x&T3%(mH zcbgLlG~Rmw`z+jScLHZ2M-iy#dkx24cbC)p44>uEB>VT@NZqStEFc%0x{=yk7ySnL z5+4q^#jaX0tyb|BSzOR?Kf69>;O!QTCuxT5uI`yxPxZnq3t^x08|=lWeLJXgF6TVN zx+@%Ue$m||qdeKLBV0(k%|i-orRI5ZBNE$_3XX z|ES6cx?eIWMXiEK&TqN{^I>Ms`o|U%yrBDD+eq4Gl3I1;rhmkj=)q&Pm0ynVn;ra? zvbXWEenD26Kgqk}68?n*0hVJ)DdB;cbKY#w zlnku6%gaAlZ5!{o>aW1n2(!$924@|L;Gwsv6`PzXSbkZ&Zk(9Yl*Ph}f<;9?lI3)hnZadSsy+ z-aiUolandB!5_|LV6NPs+H-Z7?Lvpuw6*I*pM$UCY8R9711Ae+WB{!v-H=D4^^miO zrM`!Dsq0{NE!J#UoxhNP)-Bsy#1Gh1^Up^bd&RV$dJe>=Q%iZ{jB}L+3U+o5cyj0omFrrII!C%Ft9-lk8La}g z4@#)s51cq{Fnt}-%;aKPwCt_9gy!5Bip?}6I;|AhyLllMf|}*o6dl%vs3D2(^Kasc z#Xii47g}a3z6>V#c5Vof@D}RpMeb2IO}-cg>?zYc5?FGy6OEf)pjuZ(j2!nn#Nz+F zMR|Db#(VhC-H285wbvrOj=mM_S?&(Cf3CF|iaXNzDqXWy@=xwHnq7bPv180zgOfS? zWeV#s(V6qzGczYy@(p+HOkBrIhJBrr7UjTb=SG4*+()iy0yIo+p! z2-e$uA&7HQogE@^>Rlqg)Bn6h^gNo1Sn4@*l{ zae^9}XQ}j>0AI;XaNx`GtBed=}dJ>Udz$Fbw-kFk|M9HPmL?|V~h3*JH zJi>*iMLqellu73JGX)N&yUfSVzoz+MWVq-K*;Fq}n6arV<ifQQ1C*-E5#G}`tqD69x zX8I;wfk8GCM;x$6VY0;U<$y)JyzBkF_JOrnKd=A&Tho4p)A@X(#tZwpfjZX6TdUHRo`FbPaGX4uQ^ZhWlEkDb(gY| zY3*2a=(x2o6!W|wK(oZrFFyPgDSL{{!!Ga<770lq%~^jOVI%4^ZwdKegT~F(MWU}w zm@lDp8iKvkoptrTEr#@hi+q5HR`bvqHfgDwVd@gz+6x1xY6_}#dyNt+hw~mgH_0^J zc6P&=-&F9+)DPn-XtEoB7n$kDIk4r)yFSeqsW5C30~+xILeMAR1%AL#%2YDr5d}w; z-XM(&*vtfWUVf-K`7~w}V?7$Ge0S66x)>74a)o}Lg?$nn;|IiL?$JVqfy>q8w}ll- zk;oDSTgS~$IX+!SVU%@i(q|~q{srqWZ5-@ekCEX8rBHw%>f}*RVnS7GTtR~86U8Zu0$i zr35(-06!O`B+~=Hb}(%R^LDUo$DVrA18_2tvHI}#!cAbg%i!Q3T#&(Wy>J6q-Y;I< z#pZp#=NophaR2Z5#9h3+i_Z-FUjJwp9~}HWpS+7d>|*Po-|Jg;vH0-s`P5xZ+r?)` ze%0^V^?F9&YX5yINeWy5fE)lo(F4FCW@ZTR?=ymF6u1y@RRRF-O8|o4Ulh1D)E7jK r!tDTgB>*&6+LlS9aBUz;1psfU0Q}&aZGyr;u@`V17N8ft{h#oE)gHWu delta 3150 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 Date: Fri, 31 Jan 2025 09:22:05 -0500 Subject: [PATCH 09/29] Updating the notebooks --- chapters/chap10.ipynb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/chapters/chap10.ipynb b/chapters/chap10.ipynb index 5a0f8eb8..5788be5d 100644 --- a/chapters/chap10.ipynb +++ b/chapters/chap10.ipynb @@ -1797,10 +1797,16 @@ "cell_type": "code", "execution_count": 70, "id": "e04a5c73", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ - "# Solution goes here" + "for word in word_list:\n", + " if len(word) >= 8 and is_interlocking(word):\n", + " first = word[0::2]\n", + " second = word[1::2]\n", + " print(word, first, second)" ] }, { From 2c7925f5160a63c8d04e4967b48cdf70a2e4467a Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Fri, 31 Jan 2025 09:22:05 -0500 Subject: [PATCH 10/29] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579430 -> 579467 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index a5bf99e15c98281578c1afb321e547e86a37f39f..34287ce1954d7fdba92e891792be28f43ced0e3a 100644 GIT binary patch delta 6437 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

GxcJ~ z6jGZqdME4?c(^cTaExWi+aq*Xd}w3*EiRo~l#1J5v1Vx-xKGX@W!luJUdx#G6_c)p zu9?4~Yn}^~lTwn}ly(z`(6n!8Rr|Cr%0dkvX@1k`HYe#Q$v)Z<45|wSry^-TJrjm9 zAUUReTxpu^0p=12+so^*zYz4{u8;X(r)hoteJ9oDx{nQizjp{yL)1UTo` zjy!EkjE_Xwj2wsOA;`rxW7etWi|1k}MN83QJv1rC7O2+QGYCw2Y}^L88K|63k6&*l zM2T@?HlGwe8YS#U^SlE6#86RY;muq)c_T70%D8~*U|&Y;E{PrMQW=%0jFNO#YvPfl zb&6FV%g5lJ-5({vK{f*qZJO|RXGq4Wyy&E2PWn+1U8s`{f%tsVlDmDOgykL9rs!z^ zubQ02d>UFpO3Qhki4`1xc79WyK+zn_l5(lqrJpboKD0oAVnV@9EggT*7(`AQVx$JI zCwBWHe_ER=ZPu)aAAXKtR?^(U5?v6nP)qJ5B8wj4Vr(Ik2ov=2sG2=?vy84zV|El! zL5ZNscE4!Ngp6^K4bOXd6zrMYt>kdJdXuMwL&F`8mFiePvQy*t)@G0io35oHv+CwmwlH7O{-6_V~y%c?3O@w18SRML0vxI46R~+fI9F#a3LLD3{;#J=|Z%8z*vk*pEM5Y$v3wSxB z%iUPmPn94So^@uW61keev#Ag+Fq)>0>0p^ZKC;){Gri=6{ZIumOl2cive+g8$Fz*E{q86BZgxZ>%!$xeSQ zKoi z3QT@9BmBk7w)3oLbqTb+q|{fcEpx@=l2y`3aheTvzoW3-+K(f;=05Njh#X> zP{AD1FmFRD{6=ILO!cApj3)AR77wUAJYEVTr_=G6fS9y%(d@fE%{^qt9Vr1wM$Q(Bso^?%C?IUy=&b5XFLy7 z9n=FZ$?x>1>xB-)Kh{=`jygoqSICN$Ad-<~5}AlT-pyntsUg-bMZmQkTA%#h%>w>vB44*L`*#B(xI z!Zg+0a1_Vt=g&{Yg)G$^_o%D{sNMMZyz%k_BmG&sq0#QB)#%R~~DA6WlpA{j~{5XIj_P_M6a@ zapBO_Z{A1Y;e6kXS33}@Nrk2^AU6HOOX2*q-W12xkHr~a@fH^yIkZznEZox9pKb6P zdTA8O&XK^2Kk$=&tot0OD&!O_XGj@j5Zg)wCn{{ki#=PKqkYCwyqBe*Jx3JTkUD_ZTH&tMm)`U-D`%@wJkAcrr8aGC^&~+3?AX2J zPF!!j3;*LD0Gs$8*clt)cXL^ZjS$ZH zz#(<{?pV z5cCWo?ErcL2T?pg;UGv3A^i`)9Qq4f|AyJWL3;SFEhT>g&d6UYJpP7-zd?5N_m;mK z;7_9VG=qu$7`Y6&?T}dKmzC0wBIG%K-r3{iqAbE`owbL1a+nF%Z^&wme+i zdkjQ|AUpH#Y|ac29T^#b_~#d~e7^uu5*q;;fQ>-+$K;cL4s35#(GFt<0N85&J`g1F zu!9Wxb{vHHKPOg<-v{o#{&yOipTpY8+rd;z^Y^h-|0J(g^Yyge*Wt;{e<%AxxhFu( z{}cIU;yyC9?Eggy{(mAfR7oa$`2m2ypMOWPK=1yJREFP20!R`6xi%T}{-=fZ`|eMm zHE<9qFdjMx2N?tHq3n|&10WYPViIJG=qHQ_Z52i&h9XXZq<{!e*(s1T3gRH>{w@3; DqzlwW From 33b5c9b7d49d74f695bc41bc122ec0080db91f16 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Tue, 11 Feb 2025 19:14:55 -0500 Subject: [PATCH 11/29] Updating the notebooks --- chapters/chap07.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chapters/chap07.ipynb b/chapters/chap07.ipynb index 6370e831..9d9c634b 100644 --- a/chapters/chap07.ipynb +++ b/chapters/chap07.ipynb @@ -815,7 +815,7 @@ "## Search\n", "\n", "Based on this simpler version of `has_e`, let's write a more general function called `uses_any` that takes a second parameter that is a string of letters.\n", - "If returns `True` if the word uses any of the letters and `False` otherwise." + "It returns `True` if the word uses any of the letters and `False` otherwise." ] }, { @@ -1076,7 +1076,7 @@ " A variable used to count something, usually initialized to zero and then incremented.\n", "\n", "**linear search:**\n", - "A computational pattern that searches through a sequence of elements and stops what it finds what it is looking for.\n", + "A computational pattern that searches through a sequence of elements and stops when it finds what it is looking for.\n", "\n", "**pass:**\n", "If a test runs and the result is as expected, the test passes.\n", From b8d5d02473f060ac627fae31857df5d9314ec551 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Tue, 11 Feb 2025 19:14:55 -0500 Subject: [PATCH 12/29] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579467 -> 579467 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index 34287ce1954d7fdba92e891792be28f43ced0e3a..442b85f5407b0c732d7fb3dcf3bed074748ca57a 100644 GIT binary patch delta 5813 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 From 25c982444789eaca326ad613389b53c4dd39854b Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Wed, 12 Feb 2025 10:16:35 -0500 Subject: [PATCH 13/29] Updating the notebooks --- chapters/chap09.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapters/chap09.ipynb b/chapters/chap09.ipynb index 93f8fd6f..0f3c3c8a 100644 --- a/chapters/chap09.ipynb +++ b/chapters/chap09.ipynb @@ -1746,7 +1746,7 @@ "id": "8fc79a2f", "metadata": {}, "source": [ - "Of if you want them in a string, you can use the `join` method." + "Or if you want them in a string, you can use the `join` method." ] }, { From 17be2f6e46c6b8b428231702a1ce926ee887c2da Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Wed, 12 Feb 2025 10:16:35 -0500 Subject: [PATCH 14/29] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579467 -> 579467 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index 442b85f5407b0c732d7fb3dcf3bed074748ca57a..e1e9469e04c356f21fae432b2180647bafbe193d 100644 GIT binary patch delta 998 zcmeBPuiU*}nK!_jnMH(wfq{cTD9C3buN`~v?ltK^yfH|IhZ!g|xsb;kCboG!PmeHI z&`tp%SfgO43>Mt$j1c_oT%`aOtVlr!ZcE9P0}HA(BLq{L4=I8LHJ8E#7pE`P0*hsx zhl_1qao$@SEcopgLeS**A$5@8^q)$MaMA7N%8Zu!d_dtSyH}fIx2ZEQ=xv>B*sL&p zUJxS>%s1ON1~FPIGX`ycTgo_v1*}>&=@$D(Z3c#}J<}U+GAc}8UxlRnP!%J$4%n^> z%aH8iTh5qj1Qss4i6p$`CgUy>uy7$C6T)Td`ItKN!NOK{NWv9%Oba!^!ZI01!ciGa z!7^as4J`=a=|G1|ZRcoZ+7I#isWk|>?Hp^F0?ol%VxAxg&w9c%)fDVU-i>{?O?em? z*2+Wt7%Rn$2$BLR<~E+miOs^>In|kuF@sr;w3xSWfmtg}nN3+htoDzV%s|Wn#H>Kf zw*8|edvW&kz;hg;?UhT}w^uIZ*bQ-;`B@GhW?*ufe((|p#3xJ7a=4<3@SH;zDaH`F zg(2d29$nW83=#ed=xWL^MD8MsaKO^cbkB<%4yevteG%O-p-bo@l^7xqFhtxhqw89S cAtHJOT}=&!$YTr delta 997 zcmeBPuiU*}nK!_jnMH(wfq{eJ&P?x#ymsvWpRY~_;*CKvJj_6$$%Q=TFtN?+d3uDw zf_4fB!5RfSWw790XN2Hy=PCuTU_}Z-a9c{Q99U4T86lX`d`J;2sJRp_xHx^O7FaCn zJX~z^iu2yuV8L&{5P~MZ52=F$r~g!9go|!BS7x--=K~5yZM|Lld7C-|gWlH3hRq7o z=LIqHzwxXL zunfsAzU7RmMquHxn@GZ2ZZhsN0Sg!MF(F*Go{yE+s?6;DbO6OCFTi|@T@0HQ%%8s@$61Ke%+GT8FauN5^n;f;ARbwImctcQgy$T(NHK=UEesLI z^XR%(V2JQvKvz?SA#xX4gaejjrh8uGa6onD>Wk=x30*=Lsl*U@fFa_38C};p3=z>Q X=xS;(L>^;^cwI%(wSC=Hj=PKi;Pd1! From 5bebacb0de08c7702a4852b91850667bf9a753f9 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Wed, 12 Feb 2025 20:44:12 -0500 Subject: [PATCH 15/29] Update --- jb/_config.yml | 15 ++++++++++++++- jb/_toc.yml | 50 +++++++++++++++++++++++++++++--------------------- 2 files changed, 43 insertions(+), 22 deletions(-) diff --git a/jb/_config.yml b/jb/_config.yml index 245575a9..f0b261f9 100644 --- a/jb/_config.yml +++ b/jb/_config.yml @@ -1,5 +1,5 @@ # Book settings -title: Think Python, 3rd edition +title: Think Python author: Allen B. Downey latex: @@ -14,6 +14,19 @@ repository: html: use_repository_button: true + extra_footer: | +

+ parse: # myst_extended_syntax: true # instead enable individual features below myst_enable_extensions: # https://myst-parser.readthedocs.io/en/latest/using/syntax-optional.html diff --git a/jb/_toc.yml b/jb/_toc.yml index e5e3fd4b..6a5c362e 100644 --- a/jb/_toc.yml +++ b/jb/_toc.yml @@ -1,23 +1,31 @@ format: jb-book root: index -chapters: -- file: chap00 -- file: chap01 -- file: chap02 -- file: chap03 -- file: chap04 -- file: chap05 -- file: chap06 -- file: chap07 -- file: chap08 -- file: chap09 -- file: chap10 -- file: chap11 -- file: chap12 -- file: chap13 -- file: chap14 -- file: chap15 -- file: chap16 -- file: chap17 -- file: chap18 -- file: chap19 +parts: +- caption: Front Matter + chapters: + - file: chap00 +- caption: Chapters + numbered: True + chapters: + - file: chap01 + - file: chap02 + - file: chap03 + - file: chap04 + - file: chap05 + - file: chap06 + - file: chap07 + - file: chap08 + - file: chap09 + - file: chap10 + - file: chap11 + - file: chap12 + - file: chap13 + - file: chap14 + - file: chap15 + - file: chap16 + - file: chap17 + - file: chap18 + - file: chap19 +- caption: End Matter + chapters: + - file: blank From d56f0f50c8bd6e8b5b81b4de99fe9433b90c91d7 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Wed, 12 Feb 2025 20:44:33 -0500 Subject: [PATCH 16/29] Updating the notebooks --- chapters/chap09.ipynb | 2 +- chapters/chap10.ipynb | 42 +++++++++++++++++++++--------------------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/chapters/chap09.ipynb b/chapters/chap09.ipynb index 0f3c3c8a..755c656f 100644 --- a/chapters/chap09.ipynb +++ b/chapters/chap09.ipynb @@ -895,7 +895,7 @@ "id": "f90bd9ea", "metadata": {}, "source": [ - "The result it a list.\n", + "The result is a list.\n", "To convert the list to a string, we can use `join`." ] }, diff --git a/chapters/chap10.ipynb b/chapters/chap10.ipynb index 5788be5d..5c126883 100644 --- a/chapters/chap10.ipynb +++ b/chapters/chap10.ipynb @@ -477,7 +477,7 @@ "metadata": {}, "source": [ "The following function loops through the words in the list.\n", - "For each one, it reverses the letters and then checks whether the reversed word in the word list." + "For each one, it reverses the letters and then checks whether the reversed word is in the word list." ] }, { @@ -505,6 +505,17 @@ "If it doesn't find what it's looking for -- which happens most of the time -- it has to search all the way to the end." ] }, + { + "cell_type": "markdown", + "id": "fac41347", + "metadata": { + "tags": [] + }, + "source": [ + "To measure how long a function takes, we can use `%time` which is one of Jupyter's \"built-in magic commands\".\n", + "These commands are not part of the Python language, so they might not work in other development environments." + ] + }, { "cell_type": "code", "execution_count": 58, @@ -590,6 +601,15 @@ "This function takes less than one hundredth of a second, so it's about 10,000 times faster than the previous version." ] }, + { + "cell_type": "markdown", + "id": "4cd91c99", + "metadata": {}, + "source": [ + "In general, the time it takes to find an element in a list is proportional to the length of the list.\n", + "The time it takes to find a key in a dictionary is almost constant -- regardless of the number of items." + ] + }, { "cell_type": "code", "execution_count": 62, @@ -602,15 +622,6 @@ "%time much_faster()" ] }, - { - "cell_type": "markdown", - "id": "4cd91c99", - "metadata": {}, - "source": [ - "In general, the time it takes to find an element in a list is proportional to the length of the list.\n", - "The time it takes to find a key in a dictionary is almost constant -- regardless of the number of items." - ] - }, { "cell_type": "markdown", "id": "b3bfa8a5", @@ -1201,17 +1212,6 @@ "In the notebook for this chapter, you'll see where these measurements come from." ] }, - { - "cell_type": "markdown", - "id": "c6f39f84", - "metadata": { - "tags": [] - }, - "source": [ - "To measure how long a function takes, we can use `%time` which is one of Jupyter's \"built-in magic commands\".\n", - "These commands are not part of the Python language, so they might not work in other development environments." - ] - }, { "cell_type": "code", "execution_count": 50, From dfba6768557da4ed66e015302a608876988e2432 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Wed, 12 Feb 2025 20:44:33 -0500 Subject: [PATCH 17/29] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579467 -> 579465 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index e1e9469e04c356f21fae432b2180647bafbe193d..bf4c23cb14ef7cdc438b26e7632dc862a3f5d329 100644 GIT binary patch delta 18276 zcmYJ(Q*bWO(gx_*$&PK?wr$(CoqVyK?AW$#+qP|cCv(o!%ztjWYCU)Bs;l4b=sJ?f zIubZV8Bj1(ARr(ppoEe{I0482`5KEr`I-i0TsV-#l4M6XPRRc}|4U7Ea4{(VH9o@s znJ*zf$$za|?d9`-#`-l#@gGZjCkFmMY~vsS=3+odERoeVI4W~(rT_w>Z%JkfCQQp!28R3p zf6>;U3><(2SbkHO=0-}L4AvkDdELrXR~JJBmD&nYq^0+zfrFq5S&;PFQ;_r}kL@_Z z-tC?vqY7G_!s;HI{nkpA;4=);(6#V>ruki$wytJV$W<3CmwqnL>H9m>;MyL#=GVi7xTl8t?I+$=^H1}B zzg8v*@MNE%Xx5tYuv7cDv})Q_=o3>$b?oEhgskH!1psx7^N=cnd({r%;Qcb4qMX&GE@r?S*vMc!Iljc%{E zJ_h#!0T1!t7)KPkN-6hf8bR$$M%5^OIytKY;6SX^QE0rIeuz(WIF|~q%{(_)?C2Im zKn_Cy?YsCl7$bJW3v_zOB*{N4;QY@?VuVV75_Y)ouw;G|^jZF6JWa@}}maMRQ76Y#m z0KN4dcO$*Urv~zdZeBwaeh&R

Jg@y_ZmSTjYh1S1pK-SE`JZ(-|Q-|2JsUf%+oe zSu_|~)(q4Yh^YEFHyyGyy)XB#Kq+3^{IDkq;3i8cw{Rbx>R7C+c2^whPw9tmff8=L`7X7J)`4mX9T z@IG2$^V@097fTX%1~n&IdtQ+MU!Y>&U6Cazq%KiHX~YOy3Sk;oXXzBlEK%3)>AtUT zci?NNqI;1ycnZ0Jy8Dd+T*%@Cr~rSnvsnOT`5>{Cf*nCIwx`{mRh|E}(Ru6&vj-#u zS`B!|nMk4hd=0_DVWG|0g6T*9-a(ij&QM1L6_R(IUgAu=zd50yRx!JOSzt`S#`p~Ox`FPl`ME9 zZjqI*mc;1IelCQ+)P@59=2k*pf8hLXWE?Yyr=81dm0{i-iE~DmG|NWr_z4_3^2SuW~}Q2b@D@T8DzIOdOq@zYkzBQwSBh4YtP^Qq3PPeZiL-L z6jDl4B@s_RXkqL?Cb_;1btZ%#&l3qJf>4btpnvW8+~q)8NJ=+|f{URLHjp{*#(#0X z>B=4y`go?QU6I>MK;-mupw7KOZFz9W8r}LFSQ^Zmg`Y_QwAhzkE{5%<$}a}cu0Edh znbx`}J>V8*G57VqQFtFr+Qq&?;3x7qZ33xBh4B86k{nx0^J?E|Xn-}QLP5?ZUa`to zsg1TuM=1u1QfOVJt}r`G_##X6?8EmQiggI&&b;^De=}^RIEARgiFtq_?wWZPQ{rpV z5${c??@9>);K9eFgYRjN054EC&1X40Ewnk)FP@BX@^XoAphk(Jf3zYJD#j8;Jt*t2 zbr#eGv%Jf;)Om$=L@&NJ92+znSq*6OskD&za0=fn+vmVH3&2Iz+|LKrb1G=ijOTtE z8C(6%))txNA znsL|v;^f5=Vm*on+~Gmj{q6tsv|w%eGlS!c``wN}rg!@b6%i8$+d54#@^21tD~)LKENa+73xZ@+g#ak8ksDo$CvuuCu*Owet9Q8k5S!=#&eHt?enXA4O2(I8MW(3kJI8(qh3&6GNyo$f~~ahyW}^~xv%?g2flcNsm5tP_Pps&CVbTJINs_i0-5M%1E4a655M-Eyu$t0<1`0=cgb(!gGfe`CE zK8|)PwMb4<=|^*`eP^u)7k2FBOoizW9)xN%5+nO`EeMkK6Ugp?m7@h7?5R)@2r&3h z-I;Zp?bmL4yv30cgH2I$KCcbKvCTDLW}~C$b@*s(RQo-UCprjJ>6_eiGp^J&y)~mr zwkd|*5|7h{9<7(6J>ya05Yp6dx+dS9iJXsOmKjB%{fuIux4vU2j;fmIFJ~ygOeQVqLrrTQx`MWF1(52!I~9oO1NTAk&iqe)hyUd zh|y%}A@}GJso!%&*|sD%k>sYJX)0Jbms>4(Y+n!l*NGSrF`t`2&$PDM2 z*WpmSNI$x(s(}Kt^8w7|F$_}hG=cR(T*5#D4)t%=0dn$~I!$j7*53{1C6k&tq&x~K zTwHX(E8icEw>KU_Gyyc!pxIRbF;2bFNKFVbake+QRc3Q;%eouoyu9{O)JkPJV^wHO zT0O{03nHBivaN^p7zqcl1|v4!-x205$mPQ7{x2OesDTh{%~V?CwWEt`fz%FH_AKzD z;TyLq=?aJTNp>0cxjr^rhDVxj1(=W_2f1Kae8FD#2 z5;{$01jWk)RSa|k7fqFGutYm-#6il8a{9hM8U4x=gsCb!(od6)z!OVK+&L+U7Ko+MmT7!QqWwTWQ`S*?A7e3jCIj!jR!Wo8vzr9UKV zlTK*zBKIIJC-LmQ`Xur1E%LOpYmIg|oKS79aEjWWm0Vld9hCt}RcmDwiB5TAUzEY1 zo6ysN+Ma@VmqG8Va&|Ml)-5_bPNZq^Lci3Gp8@59H(vrk3($7HzF6psTdhD<-niwR zX3;h^OU%De{4~pCUb__epUu~V-hh12O;Mi_WUZ)cmyz9spoo}J5DFuR@dgVW#QHk7chcQkN=GUKC*`5NgFW`U{H$s{+ni`gePU+ z|IV8ka|8;Q{<}wX-YuNerC`+|uFmWFrfQRV_o`7GmUk$QFS(fn;IX_aY6IO&ZVT4N z=*F`Q`-koS#{#bz=(uI=gD*RcVAE9o{TWoFGmh1ydsutlDqZ)7s$@FkoYIkA-~4>n z7ip}!yWMryNqsG=AkP`^N}Cjb{2_K}QdstNg;B5zwFp`Vs7Q zA#p{^5gJaE-S5ZUhg!e0>ycA@XhPm;P4?Gph4WJCM;9+?Sb|i{awr7}FjXkjJVsa( zN2~}%8Kz=mQz+L561Yoshyp!n2tVDy9fhOv?(pBe8X*)hU=Sv(*%6&`zIf^MErId~ zjx1I{un4X_o1%z8|J0rfy1}&?i&4d~WmBaX0-RhGC|RhjDjTj0`L&Rw384y6k35z9 z^6F;QC0in2J>7Q{4xD$j*6uOiT13+FVg{vP6mKc3cBCh_YhppZUTIKguq6T09KJhb zXl!@kkfyE*g2Vs)z(#5ApoIx^qbGlBsDQx0<*?`2aD9a|?_ItCBh5}Q^C^)`= z{uW~&cwJO^eAgCCf|O@}9lp!oC$$EMEer{*-SGJ(lu`xHrK0E;D_O?8c7!HTwBGIv zT3Q$g8^r7&IA^}=AJ|fN;QXoNp-P_0l$5Go9nalc;Z7M)HLp?!a@S~*Lbxt`E2ytJ z1$S3@DnrbOG6XEtH8djRb+OW`HBHW%|B^eOw_-IdS`!(hRBH+AjqOs3i%tOsAA7e6 zecF*|%dYs?^*z`TP^V2KGk(xV|_LRw{X13*>; zrc@1Cg2dA24v%RGBYJ8mVz!lT$>;)|mNfi%`upmx;RbhXo;x2(U$&mk=4PnF+f5K_ zqj*f$9czv@*MHq#kZLUt2}S^F?(bifud{2=lyBpoU733iy_h5NzAW0&-t<^B#EW?| z-;^;v19S;;3|mlOyx294u((|`WxVMzo!U?DdREGDyAyumy?)=o95!Cm5KsNWwW7R+ zPgDYILQ(tsNIQzSy!j_|`y@`P^v5HMSVI9m8vJr+Gg$6Dp*eT7arl59*V`uI5HfFf zdZV28ix=ZS0S5G(d%3D!ZvtE^_}mW?j)y_elrcc!vXNZ#D1*)VR>?Tf=y7O`gFN%< zA^+Xf47#RZeE*p}B6tsRyh7VtkSXqT@`DgC%hyPm$T_pjvO0}iI@OX8+oPaXn3~+P zyBitYQcI-jCI-^80~7#my1Hb^xr_bdNIB*9+=-I;R;~`8HDVR{bj*lBBja*IAcV5wO&uI@-Z`(XF43#>^%Wp$n|Lp)*q+|6n&>QRZxRIn$y+mv z5y6#6ndjD0wrv&fTuHjrRZZt!OGsk;4JoC=Ib;NXp7ChnwNx!l-fF9V>t(8|H}wn{ zu_jg`=CU`;e{%r_MLej3(#)SZ^Opqs5WMX2Z0Xa3QWog@JIKZ^^#D%Uf#!HbGk(qr zR9j$?Q+vjEzqe)O`emW3$ct@+u+PXPsx>1MX@Vk8>=(EpV&CRT%ib|Yo3Eo5v8$CL z>hDJxA5j`6 zmn8ff)xeeeFbr{g$|p&Dd}ktdMAcuii+wU0#&7gc7eLSsdjF6g2V#pq)!t>~z^b z79{$QHHm<6z4RCAxPw7UCWJQT;8;8_vK=J7@x@kkapE9^hx(UBJoFdV2H*xNZr{C0 zj){U|?-&GqP+GMiWqZiGW0FH~tvmWOn&}UfvW|&c;#TQ3R52F~irr8i4S+3J%TngB znYr@lR0P^3ubH7&fR;I-Bd0_yodY{gFzqM6{uGeAacuH5|EEXZzqyxK+$A`>gsZzH zfr%w{M*tV$ip@L}4!iuKw&S-DY|(nO-i3*S;oIm8`BpZxsf*lb!U~N}fWNw0oeHuy z-kyQC?;+Fpv2$=Qx_jr%Z?5(9hGt{cB6TJ{5aL|^TmK`eF9^&Ot1Re(*S#ozD$1D| zx*Wh&H&%KDl;g?^{l~bL_c2#Dcr$}ekhI+ZU`d%2`y7}`9Ep>y?>1cJo-GE-wER)b zFEV{U{h9PR<;(grcak^Y`I^>CQE4XQlAQ3NKTq>JqoG-m8fbk@o=kb6O8XmbXBz}g z5>IjPuDNmHt(I2C7f7-L47RTif$5$b3k3s8` zhovFUMlLe|Xfia(m(5ohw~)1ZiRQ~??@={xdwJbN+&|uC78-XHF~ZnJA|inAyg!`w zJSjZr=*=?g8B9pjMnC>YSqR-R=@-$Tqb&*-=e0joYSJTVlqfzkqH8$v?T>k8*8{FE zcOcatF-)5>b>p+Ma2Kp)^UE&9MH~AiQzYOMSJV^+Z`APh)UKgX?}s^2`OB;2DB7s>H3(8x)*`n}FayNaFF=rrUXWE!ip?)(1&t98aOO0#FdcdVqymwU z4G?NIbXq!9Fp)cOR_~{i=QMniLf3v;Q}rc7}fN@p+&D0*dWU3)}!E zOsn$-h6DV6IlG0MCoB*!*f}T=(EnSSb$yZ##gl#k0%Br3w%&|ObkJayxPBP_8Qwm- zJsO;N+IpiiB1=jC3fdP8Qd?nO-+S~;S1-bX?GSdy-CRIa;D5{-n6KOcj5q=%k=>rc zdVXO|`i6dADB?ftN%ohr*yeJDJLDVy;?H`xhvBcDwi4M}r$a5{UgItZ2LFD-eI2GT%?rlY$)lIDA6QKX(;g%JkTaspD$`@u?{}!>^VS92Kcq`-X~SqI zk3WO8fV#YX>ADNlon0uJPR6#>avhelzI^%~F8KQ1PE{P-?`BS0PiE}aa$?Q^b&i9h zoDOT>92u)5wryKH@_9Sp&VIk11opR8Z8-pqD^6d}uUmuP_n$HXz^B307s1b0l|&*0 zbIj7o&~NwG)pu1k1A!^|A?XI!s?FHtr+)@?;%Sfrv(d)8EJ)Tr`LM%+aoo?Nv3nuT zZMW|6EYG+TPy6#}QO2`X)#+`37UpzN9Z2sk?|M_mn_2>N?pWS%Fo*lLh6hJ`Tl{_S z`uu>rW;~-VN}ibFvEb{NAi5R8Ufd3Oa_CjqAp9T#xed&qzoerhzxg|Tw6DtX=aIdX zpgnWNEjzD4gJ(~o)~s)>=;WI5@bH=DN#&{XKOIWqu%L8F{9Sad$4fcDKfIra!;n$K zKP!&UnqL*1#ud{utZgSeUnUEl?eds}k^j16zqO(MrcH$^uq0YEypwjSYsV#w2T+i_ zLeW@v2S#J7Rr$HSV^fXYglFB&n2U|`Z`aplOg8CYKd$V`FghoetR&dBfbmZbk?Yat zIcblwhRj$C<5TG0lhI4qS3lf*bH{znGR8rFR9JQ2<_W*O(rS-n!K3`7j*KQvYo?P|Yu{Atx< zCQ6{Kpci#GcSszuCO!HZf5!MV#<=}~DE3hfoPnlO?A<{cNqkS(YX$US>2jnke7*Rj z2?{=@E!4h$sZcL~?%1mo5QAy*r3^qEs_(!qJ7@Uxq2SXDMEbnga+@t@H30#_Lnx^~ z2z9>zH32ZBODhEAKq@gBmO^G@g1Q2c)gdYb2uL-jEq?j_kwk}PP}aBjQeOkTr;$W2 zT5jjbgmxva-cFopJ=2(h83ZfjTw*|u+K4$x;I0m^PUR{ff|hlfR6qV1LJ-_Q@O7!y zY}GW(B(wk{Hs@&Cb2px}ejD=D|2}K{*l-wv(BWO7_iu1~S|rq&iUsz}83RUQ9yk&{ zIK~eXt+DP!pYQ`#MjI*@6I%jS`LlRw@rdMJFKZ5m#@)wK#Sw(MLS}CpL$N+%F02nT zzsNu@xSu6p`~V#uV^Jm*U3f4aPLvOY^qPd36Iwgh7!+AX{eUtMp5r!C{Z9wmI8jW% znb&NqA(75z$I3Tro`<%b9k<#nlPz#h(K~Eu@Y=9<@?B9kh2`X{L??NZV`UrkY*GAQP5}j=)GUf z7{XB|{nqGt_}A{_nDBjL=LYiMKxZX^^=H=0wV+_SQL9|h-L+o1>eF628*<_`=em9b zlYM>=o$9G{!|>kv97A6Ol=-#9{o2T5qje$K<6*~$6nuoh`YOz9{}FPrKSP+z5nR0i zwV^|RCj}5a5-W)Bmq?0GOoXjm#2vYt3P)T|=pL#c7$rvPCE;WkTaWiJCX@N)Tghq1a_Jp-V{rCrlm>nz@#H9>pkeKP4+D7>R zqr-GQmSELW+lS=!e+g#HS9W;hbZIu=33pNFljSpM22pc3P(zv>m-L~6i8#LBjz+n+ zj#C*A7g)fg5U|mr#jxmTREd}-gA~mhHKLC=tmoKdNIu1UmILOk0!Z61pC|0Z zJ#40aZdgn^9Y^bfJQAKN<6wcD_aq1a&q3r|de~mD5eKs@_&@Oo+s8v9v5ST0D#e22 zpg|mD8?%IcynzC!T>AI*U`Y9ez5y=|_c?z!N(lJS;OBi}QU7MN8KeNQKHv-xXOKEa zD~LZd0@W3(JL^DT?T=&#mG2K+TN{0uZXPGye|S#jOymJKq*ie-Vw-=&kB=b%zSzk@ zV%Pf;Hgg;c;Qed7i%>_9U_JiS)pR{Tu~H}#|9%4jrm-!H>m)|oW=Pvu$8P%Jm^{IQ z*XO35t*~3`!R|9u1TtMSVr`b@zoD^_ev}Po-)k5IJQf^q!auBs)rs|M_Z#L&T1Bb{ zd$T}qu6Zn&jaPSuhw@zBO#a~me&OOXwCr_)StH?+iO20M{V>dZeWnDitgz?&j8eU# z^F;h%>+~#TeWzSF^KzALHy~%JtCU7Z+aaZ!ly)Q&1-AET48a39s1d}_Hm(ejjIrPA z3#J9~$@=fO$LfS#7PzL z`lppFi1X1j72m<)!oHx}(R+I_i@^Sj+gZ%c4N~^eAVu6`O@B(@#Q+uXk2ESK)L^Dj zu|^RM9ubO1s6ov@4Z1M}2vuVc3l~~x$gXE=odkuWeg_~^6hN>~X}v8;OU@gCWI!Bx zQwhUTH}x|s%}=1A)82iOD~B(z(J%&{m5Oi7=Y&5B=2m-^ktED}~#p9*yq z`3R|zQ_ji%`XLd$0-qxN=oM`&mnLBojE_~DVM=tR67{VodnS9a-Y^r41s5Wm39k~? z*nT!BdLxM-sPiuaa)M(6aFdW5aB<`*>DFt(upr2c0%?R7+y)Y)DP!sfhj2UV6kGdQ zr<_3XbA`+EF#aJe)#OL#~czWx-)3 z-RoLP?`k91tm7xTD2~oq2#V4 zf1{lE_KjPyVgx~S7@AkmmD_@zQwq>$IWrV^_j26T{>J&FpN(AB7eO^{@$9I9MI{pT z!gq0R7(QG1D(t{|e4P2-UuMAu)8y&Y9%Yv|x~3-p6srd^&M=wMO2lo;g-(UJ=MBM) zq!VZNH^RoSz^^*{%w@31|K_k_gG1v`VqwAB3tz0&xh1p)OoRjp>S7F{6a6HfSUYta z!!LMfp4z5(ntXKCSvDiif2=>+jd3qXJapskPvTdQodC1Z_TaH!|~1RFvRR!C}%3z!zv7wx=9KNq_~iRF1M;GX$`=eh;& zM29nND41{C#4^Q)2KH|;u*%v_y`HW^k6%X@VuD$?=iWK$w~#*+inkRvWYDLu)s;)s z$f)*g!kF!>N%ZjZXDnl7z&0(_zD%P^RnhPPtj)~J(x@6JdU9pjloWaEEEva)4Dm!z z09C=xEx+Bx=5^EhH8mReS$q{cF&lM>Hrs77{<$92xi7b>;mrg#x!7n@nrx`OJcU_G z6_q^^GR4h2l^*OM;22^;tD;@WiAG}rmcVf!+(+##+hB~=BT$n6Y_m4RSHw59Ro*KA z5|1Oy@(t1DJF|#qsE;NUNIB5s6l@FuM1!0372%{71xGn(5KUCKQf;3HukUQs5AZRC z7zT&8=x)sxnRdTL>(_#PfwBblm2o=&HiOZ?(e_0}zjmu9jmS%ys1?MgoqP#4Q&u8N zJysQE4)a>1p0Y6}x>8eZkCwnzQfHBWY{dUiEt0(LydkaV@?CgegBfEwd7bhIZ(zkk z>@bsMl%o3cAZ{a5N9Z+t%C(%d@aI3l;sVa&)qC<0as?BJ69&pgr!w1qV;;5u-NG+6 zerf$F56ALXKWj zjdig3`on0aMrGc7TZs^pe}U@&EB=t|b6GhYC4rDWQDjBA)O>aYr4JQxx)y$ zzxs7>DAFw?5yo-bM7X_2vsHc_Z^4W?2MQM}^uGL8uu2RtELY#r1bk6iUbmXux?u zT=sd8?gyK3WL&c_o6f~4ZT{A&N@S2NG$MhM!{h^*Q5#f`#swoS4KKZoD;)*g0_H)0yU{*7wD254w+jrBl~=EsDr7p;*Alys3#IbNAzsK7=D*>S z4GdRHsQQVRXIiQu`FlbcxyU%t+non0R}y`1MJrZ$l&NB_TrR;q>Qr9XNJ#U{tJVm) zExO7$f!xj|n{YF3N*k)Z&{D5!3E$bdbJ3C}W#D${B^AK|cw0PxY26g|&rBuaNiOpuFR;5^W3=H@u z&_Ve%G3^EO(Jb--DdSs1-hKRw3r=7M+J7&tVEeN}(c{0X7*F}G8x#^y9T^T^v2rxj z5<&(PSB6Xlq4$B^c7aG1$tf5`tQG&=-HWpe8*CY3|7DT((-AJ#DcMXAGTThKBA2C0 z)G(2Qy?XB8c+ztc)}Aw+S;Kf5%`hse^AjIvyKoc8$@_A{;9MqSb4VWXDNS9iSFG~+z}>^XTe`t z+NNsjmWF@9D_*_=g!!sk+6Dj2PH_O8+UFjQa=>e+<2yW`KERE#(w9NXM(1<;6$OA* zgegn3lRNF1eO-3mQ4R{sn_x|g!q6&!h%Gc^aLRZB^h3}%n`_9gWYse!Gn_jL>0y-< z6B5KTVrK>GdxGVe#mzP^+hjn&bfaxI?plIA};*miFU({<=N54Q5u&e-`C9J z+?<2J%?cA#3N93T>*PL&55#g;$(_1g>pE1mBY=TXvE8_ZE9xrc3fh5{2-@Zj0)l(< zC#vBA;~S~<6i@mA+e(S6u)V2_5`!6WMJ@>T?u7ZSd~!1_jcH-txYj{$WKOVYFdw2| zP30K$q5O0Ez&rM`23?@>x|ysJtpZsdxhGuubBh>8YNefey@kTz7ep+4W_}Z!VMMwN z$n1A=tCcjfh^^L;SH+BeUPQ4Ladz=~zad`$PAQW{=D%q*k$wr2>VHxtOyhB*Zs<;r zUT?_}-gflaek?|GS*{AATK5m)B~XoqKkualcP}B&a4py&Rh1vO7`{v=>8WLfJLqe{ z_sLDvR!T&)EXu$h4bF)=_*y`!p0=-{|45C|>K_tJecc84p>1}A%d&Gj$LnsYpdr2j z@bK}1sxxC{{hQKhpN+~M&GVqx9qGQdK^k!xpw8ml3R9kfiXom-pueFH{^S-75P<(E z2FJ%flXWx3H0kksbhETar!A%T?h5_TZVBq#A{d|7*b}YrVPMNn_=rR_q2mVKD;~Qa zig;7;DfsjSlilFG(UVj{5|7;kdCdZC@_qHlPk`2&J2?Tm}6)I6%&pH z_p^sP(UaO3P(|vrIY2bz*2;x~%3^2n{1)qa{bb($T-_ervdEtz`Q2db(VS$g8k+bz zR3y5LFCEqElAV>npAi~ zy{ORmUXbG2c?H7Y(XZTuR9Vz0SJD+MN(>X!%%X9Y^2ymGDn~bPMAK{r?#pD9T87#d zb-eR!OEzrc$o;nP7;85yBRyu7Rs#azYw-6i`uaiRn5u5$t-T zLSv#U>2l-`?aX+VlO5j5DZ3+;PB4{d21Z^gKE>4|+iKaY^jxg5volfhC@GXjLBZoS z)~i-6ki`c-bRIal0k45$%W1TiIsiuE;E%4yp44oH& zy)uK`?j3+e)hQ`w543;ZMAfg|vsxfb!oS8`i`}@ATa=GAX1rDL}3iE4 zLgw;NxcRv#S87a%I7gkiVqwoi`%kT|B2zn;AWXkb+Ej&! zV822@?=fpQe|T84wKfuGt`}gUgRxt90z3Cu=u!*LmJ9vxs2T2kIU_UD*Ki6-X8GoN z-GcO@2qiZr4gdlCfCsHs9;5CNE>P(j%JLXAh&Zeg3!#>!)UEgN)oX>9 ztmi#ObZ|areKF{J8=BG+=5T@X(N?LIkYd(U9Ofh8#vFo)#@BLnF>(dZw6FSZ-+jZ9TKrP2KC1qsW7)}zKL3sGTHPCsCHdh4fFFn$ zeGyOjUYr01skUX7@aI_tUF;CoAv1{6n0=5-qLz0qM1J0Gr>~Q>C%s$1k@Mtkqq~}# znx5X}m=4}5S?S5v609#hW7EYyqDA(!CtiOsY&Fx zDfR$ikNp09T2Gga-N)Zo z*gL*3oY3m|%3YUwI1=Iru_kKQr+ zy5ls^2q6lU-Yh0>3K$#;7^vNqC`g|XkJD&Hy z>L?rHXj_U6v3ddbcejxVwT*Re8ycd{)9>obDDHItx3aW>w;IFXSKJ!H^M?p2>1=>O z`y1&4SD2LZ^wY0P(rlD2#%Iw%2p+k_H=v*X=$7)<(}?5TqdP1AisbQxk`wi2k&u@1 z*5hk58J_>*CHp$@kB5wMX}EGK8TmUVfK~l^>t_otZH5cN;@@~Bfy%$EY3o5Pre|X4sYjt^_8!2b=;iAl@0(kycSiy@?S+(WV~I#w(<(Ahkb*Ot=K8w7aD835MxxZab}Rlnj8Xv%mzY zLK0axlM!;l91$4CyXi2;xXawB6?jY;~QkMc@dq?I zx4*uh4I{5SyuJRkInrFz5QUOWO`~r5{O~w~CAQgZ^~^g{F+Un()SHcrQb)8rgmAxD z;Uug}atf^ZuhPjpwz&kyXHxBgs+q8j;jM7^Dk|S4ia?;|*qw`efgjRB|Ay|yK|zkR z_SGALgYZng^KP{KSDyj#KQM#7^u03(y@btW)_hen_pl*w1)Wk3sR+ju zlwaW4=xmd5e=QUJ5~b8PiSc;C@(>y32YHa>MGdJ$G^rj#*iVsH2QVWmjBsq!NCk%N&#C9mD16DR$~agxvz{TqOgwGhPJ}voE@+1 z2g!5=NkCeS3R3u#f-xGkh@1!CkQ}Bw?awSfSx7Q^kig(<^}rZ5GK9x;fCpl3tmbt; z1yRdU2DQd}0W*iHi(!FU4R@MidqDsEOYs`ZN55A#+bUqoB-kiFovm*Dn#Ju*Pi}tO zgN~^oG&_udC_m?3rQhFzqipPV`VZAN5Jg)E!SHry{!ln{ZY}n#hAcNL$$P`6Zc-hp zLSg1EvD{i}D6&7)B5FAXRwz<2n_7jdgK}itzlXc&)$TgJ?$Djhf5il0Ln4K^L$wmU z$}8Ud81#U+{UB)lB#+$j{Q&m!RXY%bb{er1?YTWtF(m^JQ$-feqm$CPF3{*98){%W zCeeQA1P$oIvh@tRt%?I+qTP2dvBb4*2mzSHhXrk^t9B~wU=Hd@NT{bUEDt9ZYw`dJ z?DkLL;GjVmP}gDxL>(YJGU{_!JdHOr1JnB+vOL3B2FXrDF;dN&L@8e zMqA!NvYI4VVq6()7-)^yQ!1@B*hKLt6~^gsz6EQiXkDRz1YS}pXk*Z1DwkRUd#o;@ z3vRe0#Zzgz#sOkECZIK-aiLSV?C9x!_=>#{b6u=`UUH0c@5i7DdSwL+HDz?SV6ub$ z_Y;8B=rgD-N!3C{5QLRyHoqP!nL}{Pdn|Dd45Fcw>hliBe>!1rjyrl9C>QJuR~5C* zl7dJ8-z2CBNh+{QIM8t8)z$KqD@os_}EIUfar zE%>jx;9vuc3CKGI14hf?Yxe#?(_8d`4jdr*t}&_Vbj&Mh@Ps!*&tt`yun`WC1(=_> z3j=>1Wb@7|66YH$uK7h4i#zlMS2LR0sOvQh=fBz*-Wv~xJ?y-Hir&!^efyrRJ0biHGw@9QU{|+_>^u!j zo5{Ay-nw1UZ!_1x$V)iP5(mg+vA5cpr=ji$yFrchpsCFri!?jPTU~0h zkQbRt3fjkF(%l$?YbitBoCPHUtYrWj+mcYbO3~2Q^^e3pW0u1(h7n{vS|^o4dUcQ# zA$OqptA@=8V6j`P{B*4SYr@1X$O4o2YA4o$ChTQ$7nJ%KMYH5hC|x^KN3mYeKsHqa zDn2?tQ5Q)a(8t|5JR@fAL&`ilU{n$q62Iw^;LMTegF;6R9gXL4m-qfD05CvQ^$}+9AV9>WL5M?9!lEzVX->0q>O=32o)O1x zho2rtD89XX*F&`#YY1B__%LWTltj6XqMwgS8QF~^b+cu;y zXQ0oHD8mrGC|dyvw+Ub>6i9DSSsmji*U2DuP5@v_OB zMnMw5ITDs80hR}~Ta&Lc)r6_uPQl84XRi+!cbgb-_3szR!hbs4);Q!MLj=(as3@?_ z`RsEfA20jqaaF@``SS?zD9(p=S^u{ZgJf61&;mv-HC0;jvJ&tijfd5rX!=2TMF0j- z$(0?=-MdFzDOx&>jQsMHGFOksU9+TVPOGqQtWb$Gv~5#tz)?J3iWj=c-W13az~`^v zzrSd1lG@s})$ zM}X4aW?NvUgO%LuFS|)2fn8tbkM^Wz^lon|C z$F;l-+}EVjF#T($Sv&Y3bP5vrSHC#Qq{&!6MT+hT_7ng?xs`b6z<^LldPgA0R+od& z7h#hDLtbIsc_4Gbf;)PyD|m{5;Y}g#2AsW15YvTBJPPes)-G^lhXo96x(ow&@22lK z28qF8zG!Lx&t1m7kk`;09X&>D(~Glsepf7s?9PnoYpW<#I{4ig19B8&2o0KlVj#lf zw^57voG?I-CRQECZM6$C`%?LgOsIO#1kEW}iJg1?YdvrrJR4{w*w7mcG6n;jd*Y2e z{W_E1!PRUUohol-$>n&RNi>*qmbi@gGerjF9ercjQSB~>QZXpIp^y~49H&Qfb5xl< zv-#)qw(Bl4*wGMX@DE|l+7VC zw*wHQuqPdNZi^7@-hE-qbU^AoQrGUNygjsZ>j~EvKW1NN*CgPBflDLR#5onbUzR^B1qvB29DN?_0tV9H*M&->>mJLi-ZI*1cS{A^ZChklgx8nhn^7c2SN(uM)* zK@l>`HMpZCkp0~08ZV@#3O8CU`Q_2lIRT*lgw}vSM(&n770sUzi)$^SYu(3PG!D7u z8^VD)=q(ZEO*18sYKNA%x27z-3$o5MqrQ2iTxFz)RHD}ozFmJ}WcXF|vnh#K8?0Z_ zt&*%tN?NGm5q_co&rhh7a@QVwjYC?Kb}22}sZ;o&RGrUeFb*B^)y1YZAde(om=3rl zgw#d|yf?V9mX%!eSRH>w$H7;C3v5B@kR#U;fIUj4|2;#&CNGN2lSg31yXME0WlkF_ zpcCr1&A?`@my|JWL$`G3xm5NjMgOU;m``$LjalrqS;}@UhO$O@mH6am=8{Sw{pX0< zHTd;rF!x7J-`d5d#?UiNmm2S`u^aI1=`7AI!-Mr0%y(;cHk(os?}niQJMGz`BEJwp z_F?E~__>14Nor-9ATMni$`(ZC{=tO}YekQ(TPknBC{u#8t20Rd>9$NB-}Lku=<9s-F!?23EL@&3n`RB9lUmS|HT0IkGTi`nB zh2ixDmya!&G?C)1AQS_CU;*qQ_2|-lKv>pRhLfZ#6pf4a8QN5wA~)DtZ`~C~pH}?$ zMY~c1(GpT_kjIKw6v2)u*V4MLeJQ+82aHhP$3PPMYn2dYF~J zQ3hQ$uEPvQI*&CXwyuqVJ0YZC_!?vfgbu-TTBo~Z(bRtb&mwiwB$T4-HS~>d8ulLl z@NZdwiY1!_L;l0mgCZ3LyJn>7uIrH($(onk(Dkw7Nw>7K(sTcG*8A>Sxw|?ZMH+r; zj+(M&%Dfjw`3raoBPXo5X!xJ4!||l#j}O_~j@(fBQoMfu4bInP2SjIGXOT%bUf>`4 z_|Tq;f5vX&izat)MO|uLxw`F!vP`|-+cpQrH8vI;zhtFUFJ|m=kn8xCc*-!b!D>-p z>!m}IEb2cWdvDAt6TLJe`zUZDN5Uqp>n4GRTqEvoR{Q??EBj%MS36lQ?k%^u^kHwg zrsm&E7n&Y^5jOj@xSoA;wRm059{W!=eTxmc4mqFspSD8i$1=vmi(Te(CR}yW{E(8l zsNQY4{4xJ7k;VVgbbj{iGc|pYop4`wS;pGT$LxHo#7;-;EL+QQ$k}h9((8<#re)`6 zHchziF)7i;=46zjoBA}H9h;}kj+0xtL~fa3w;KD2__akrfxW(JcP{8DSqh7-aw;#7 zj-LBR%K7qaoqs8Thc4aTD98Qhggs~Q@0#N!77~2*pALSg2~(}^&zUK>P5pYwEyW-A zikB58*UkBI>EO;>j&^B|cY75XC*F8+J4-ghAU<3Dl#%uJ)jBSf^G~R1sfWs3wKjCv z`*P`=O>3sB_*q|(yIi$HGkL;s9qT~O&p#OF`kgTTe6IUP(?3n^6Dz+iT{r#e-M6|M z<_hgfpZ#vi=8s?NmqhF2ZB)9t`{|am`^w^9{XCQTsd{@vo<^U^m%}%zYZ}=0+L!Hp zzcH}f|Bpa+rcSd*_mrukkLQ1U{G0z?{7e12=k~0~cbWJu$#ie2*%wBqqovO89ZKUr zMBlLPnYwmQ`>bwf;h0a-b*By`3!I&N^Xz&3n0u86yff~6-TQs1#g8BLYm1k$PwZmT z{I=~-W5>Hyw@*G>=99nb$u#qV>bPdt5>!SLVq z`1~@S2)j8SV$c0vRk=DrGJW-0rPF6clHHCOe>iB~ruB2F+$+~Bynpf(FzGuC}Sn}7cgJMtRj>F1Xrot(k9oH5l1be=}(O(fARHyL-CfJ6)U zm=LFItmk9u&wR(aN+Re1ylz zH3+Hg9BY{Z%|RNXpCF0Odcri-6eMaW#SC{ydw~=)5VHU=D-g2*G5hucDUKtXm?kWp zZg!T#ml=4L$@GJlIKVDga+br58Mwk4F2H>bO`r%};3m3&!+A6<%h3h+E}*F>MHje( zEWimrtYo^^MGkwo`xL;7#Nlhi85k59B!FkMFfcFz@s`HYs_BUrIi#nrt77D0V`YGA z0|k*F$iD}dK@@mh;^0M*tpLfU--O66xQVI#K2QO35+Bp_Mm{DLWV01PPCB&TJFH!k zfk9^zx|6i+z*?lIH(ci6L9ue}WuS??84ziHQ@zZB%Dkk|5F}^IgN%N((d77k;E^p; z_n;fSaJu0Y4ows@tFHjf+`R^Bra3M%XZuNBsWxR`X!?e3rtkFs=w^Ce1)8ZW#SHSf z^z>LMW=>@9PhWSHLymFt^s`qv;u$AQ*S*FO%@{nr^BPAy^8!oe>H962C8jf9=Wt+D Qo$hj-!;wwxEC(>E00tJofdBvi delta 18356 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 From af6435b8651b147a1fe3d11cb7e7ca2a72f2e0ef Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Sat, 15 Feb 2025 20:03:06 -0500 Subject: [PATCH 18/29] Updating the notebooks --- chapters/chap13.ipynb | 9 +- chapters/chap14.ipynb | 12 +-- chapters/chap15.ipynb | 4 +- chapters/chap16.ipynb | 202 +++++++++--------------------------------- chapters/chap17.ipynb | 4 +- chapters/chap18.ipynb | 5 +- 6 files changed, 57 insertions(+), 179 deletions(-) diff --git a/chapters/chap13.ipynb b/chapters/chap13.ipynb index b8269895..a5b20d64 100644 --- a/chapters/chap13.ipynb +++ b/chapters/chap13.ipynb @@ -1587,9 +1587,7 @@ { "cell_type": "markdown", "id": "85844afb", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "Here's an outline of the function to get you started." ] @@ -1601,7 +1599,10 @@ "metadata": {}, "outputs": [], "source": [ - "# Solution goes here" + "def replace_all(old, new, source_path, dest_path):\n", + " # read the contents of the source file\n", + " # replace the old string with the new\n", + " # write the result into the destination file" ] }, { diff --git a/chapters/chap14.ipynb b/chapters/chap14.ipynb index b71f7068..2236a581 100644 --- a/chapters/chap14.ipynb +++ b/chapters/chap14.ipynb @@ -359,7 +359,7 @@ "metadata": {}, "source": [ "It might be surprising that the parameters have the same names as the attributes, but that's a common way to write a function like this.\n", - "Here's how we use `make_time` to create a `Time` object.`" + "Here's how we use `make_time` to create a `Time` object." ] }, { @@ -981,7 +981,7 @@ "metadata": {}, "source": [ "The result is the number of seconds since the beginning of the day.\n", - "For example, `01:01:01` is `1` hour, `1` minute and `1` second from the beginning of the day, with is the sum of `3600` seconds, `60` seconds, and `1` second." + "For example, `01:01:01` is `1` hour, `1` minute and `1` second from the beginning of the day, which is the sum of `3600` seconds, `60` seconds, and `1` second." ] }, { @@ -1307,14 +1307,6 @@ "Also, in this chapter we saw one example of a format specifier. For more information, ask \"What format specifiers can be used in a Python f-string?\"" ] }, - { - "cell_type": "markdown", - "id": "c85eab62", - "metadata": {}, - "source": [ - "## Exercises\n" - ] - }, { "cell_type": "markdown", "id": "bcdab7d6", diff --git a/chapters/chap15.ipynb b/chapters/chap15.ipynb index 91d12714..39bebc02 100644 --- a/chapters/chap15.ipynb +++ b/chapters/chap15.ipynb @@ -983,9 +983,9 @@ "\n", "2. Write an `__init__` method that takes `year`, `month`, and `day` as parameters and assigns the parameters to attributes. Create an object that represents June 22, 1933.\n", "\n", - "2. Write `__str__` method that uses an f-string to format the attributes and returns the result. If you test it with the `Date` you created, the result should be `1933-06-22`.\n", + "3. Write `__str__` method that uses an f-string to format the attributes and returns the result. If you test it with the `Date` you created, the result should be `1933-06-22`.\n", "\n", - "3. Write a method called `is_after` that takes two `Date` objects and returns `True` if the first comes after the second. Create a second object that represents September 17, 1933, and check whether it comes after the first object.\n", + "4. Write a method called `is_after` that takes two `Date` objects and returns `True` if the first comes after the second. Create a second object that represents September 17, 1933, and check whether it comes after the first object.\n", "\n", "Hint: You might find it useful write a method called `to_tuple` that returns a tuple that contains the attributes of a `Date` object in year-month-day order." ] diff --git a/chapters/chap16.ipynb b/chapters/chap16.ipynb index 01fd85ba..57f3d417 100644 --- a/chapters/chap16.ipynb +++ b/chapters/chap16.ipynb @@ -1279,9 +1279,7 @@ { "cell_type": "markdown", "id": "2e488e0f", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "You can use the following outline to get started." ] @@ -1290,9 +1288,7 @@ "cell_type": "code", "execution_count": 49, "id": "92c07380", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "%%add_method_to Line\n", @@ -1310,22 +1306,13 @@ }, "outputs": [], "source": [ - "%%add_method_to Line\n", - "\n", - "def __eq__(self, other):\n", - " if (self.p1 == other.p1) and (self.p2 == other.p2):\n", - " return True\n", - " if (self.p1 == other.p2) and (self.p2 == other.p1):\n", - " return True\n", - " return False" + "# Solution goes here" ] }, { "cell_type": "markdown", "id": "3a44e45a", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "You can use these examples to test your code." ] @@ -1334,9 +1321,7 @@ "cell_type": "code", "execution_count": 51, "id": "aa086dd1", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "start1 = Point(0, 0)\n", @@ -1347,9 +1332,7 @@ { "cell_type": "markdown", "id": "e825f049", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "This example should be `True` because the `Line` objects refer to `Point` objects that are equivalent, in the same order." ] @@ -1358,9 +1341,7 @@ "cell_type": "code", "execution_count": 52, "id": "857cba26", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "line_a = Line(start1, end)\n", @@ -1382,9 +1363,7 @@ "cell_type": "code", "execution_count": 53, "id": "b45def0a", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "line_c = Line(end, start1)\n", @@ -1394,9 +1373,7 @@ { "cell_type": "markdown", "id": "8c9c787b", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "Equivalence should always be transitive -- that is, if `line_a` and `line_b` are equivalent, and `line_a` and `line_c` are equivalent, then `line_b` and `line_c` should also be equivalent." ] @@ -1405,9 +1382,7 @@ "cell_type": "code", "execution_count": 54, "id": "9784300c", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "line_b == line_c # should be True" @@ -1416,9 +1391,7 @@ { "cell_type": "markdown", "id": "d4f385fa", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "This example should be `False` because the `Line` objects refer to `Point` objects that are not equivalent." ] @@ -1427,9 +1400,7 @@ "cell_type": "code", "execution_count": 55, "id": "5435c8e4", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "line_d = Line(start1, start2)\n", @@ -1449,9 +1420,7 @@ { "cell_type": "markdown", "id": "b8c52d19", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "You can use the following outline to get started." ] @@ -1460,9 +1429,7 @@ "cell_type": "code", "execution_count": 56, "id": "f377afbb", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "%%add_method_to Line\n", @@ -1480,20 +1447,13 @@ }, "outputs": [], "source": [ - "%%add_method_to Line\n", - "\n", - " def midpoint(self):\n", - " mid_x = (self.p1.x + self.p2.x) / 2\n", - " mid_y = (self.p1.y + self.p2.y) / 2\n", - " return Point(mid_x, mid_y)" + "# Solution goes here" ] }, { "cell_type": "markdown", "id": "4df69a9f", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "You can use the following examples to test your code and draw the result." ] @@ -1502,9 +1462,7 @@ "cell_type": "code", "execution_count": 58, "id": "0d603aa3", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "start = Point(0, 0)\n", @@ -1518,9 +1476,7 @@ "cell_type": "code", "execution_count": 59, "id": "647d0982", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "mid1 = line1.midpoint()\n", @@ -1531,9 +1487,7 @@ "cell_type": "code", "execution_count": 60, "id": "e351bea3", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "mid2 = line2.midpoint()\n", @@ -1544,9 +1498,7 @@ "cell_type": "code", "execution_count": 61, "id": "5ad5a076", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "line3 = Line(mid1, mid2)" @@ -1556,9 +1508,7 @@ "cell_type": "code", "execution_count": 62, "id": "8effaff0", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "make_turtle()\n", @@ -1580,9 +1530,7 @@ { "cell_type": "markdown", "id": "c586a3ed", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "You can use the following outline to get started." ] @@ -1591,9 +1539,7 @@ "cell_type": "code", "execution_count": 63, "id": "d94a6350", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "%%add_method_to Rectangle\n", @@ -1611,20 +1557,13 @@ }, "outputs": [], "source": [ - "%%add_method_to Rectangle\n", - "\n", - " def midpoint(self):\n", - " mid_x = self.corner.x + self.width / 2\n", - " mid_y = self.corner.y + self.height / 2\n", - " return Point(mid_x, mid_y)" + "# Solution goes here" ] }, { "cell_type": "markdown", "id": "d186c84b", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "You can use the following example to test your code." ] @@ -1633,9 +1572,7 @@ "cell_type": "code", "execution_count": 65, "id": "4aec759c", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "corner = Point(30, 20)\n", @@ -1646,9 +1583,7 @@ "cell_type": "code", "execution_count": 66, "id": "7ec3339d", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "mid = rectangle.midpoint()\n", @@ -1659,9 +1594,7 @@ "cell_type": "code", "execution_count": 67, "id": "326dbf24", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "diagonal = Line(corner, mid)" @@ -1671,9 +1604,7 @@ "cell_type": "code", "execution_count": 68, "id": "4da710d4", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "make_turtle()\n", @@ -1701,9 +1632,7 @@ { "cell_type": "markdown", "id": "29e994c6", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "You can use this outline to get started." ] @@ -1712,9 +1641,7 @@ "cell_type": "code", "execution_count": 69, "id": "30cc0726", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "%%add_method_to Rectangle\n", @@ -1732,24 +1659,13 @@ }, "outputs": [], "source": [ - "%%add_method_to Rectangle\n", - "\n", - " def make_cross(self):\n", - " midpoints = []\n", - "\n", - " for line in self.make_lines():\n", - " midpoints.append(line.midpoint())\n", - "\n", - " p1, p2, p3, p4 = midpoints\n", - " return Line(p1, p3), Line(p2, p4)" + "# Solution goes here" ] }, { "cell_type": "markdown", "id": "970fcbca", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "You can use the following example to test your code." ] @@ -1758,9 +1674,7 @@ "cell_type": "code", "execution_count": 71, "id": "2afd718c", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "corner = Point(30, 20)\n", @@ -1771,9 +1685,7 @@ "cell_type": "code", "execution_count": 72, "id": "b7bdb467", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "lines = rectangle.make_cross()" @@ -1783,9 +1695,7 @@ "cell_type": "code", "execution_count": 73, "id": "9d09b2c3", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "make_turtle()\n", @@ -1809,9 +1719,7 @@ { "cell_type": "markdown", "id": "cb1b24a3", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "You can use the following function, which is a version of the `circle` function we wrote in Chapter 4." ] @@ -1820,9 +1728,7 @@ "cell_type": "code", "execution_count": 74, "id": "b3d2328f", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from jupyturtle import make_turtle, forward, left, right\n", @@ -1852,9 +1758,7 @@ { "cell_type": "markdown", "id": "b4325143", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "You can use the following example to test your code.\n", "We'll start with a square `Rectangle` with width and height `100`." @@ -1864,9 +1768,7 @@ "cell_type": "code", "execution_count": 76, "id": "49074ed5", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "corner = Point(20, 20)\n", @@ -1876,9 +1778,7 @@ { "cell_type": "markdown", "id": "2cdecfa9", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "The following code should create a `Circle` that fits inside the square." ] @@ -1887,9 +1787,7 @@ "cell_type": "code", "execution_count": 77, "id": "d65a9163", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "center = rectangle.midpoint()\n", @@ -1902,9 +1800,7 @@ { "cell_type": "markdown", "id": "37e94d98", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "If everything worked correctly, the following code should draw the circle inside the square (touching on all four sides)." ] @@ -1913,9 +1809,7 @@ "cell_type": "code", "execution_count": 78, "id": "e3b23b4d", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "make_turtle(delay=0.01)\n", @@ -1924,14 +1818,6 @@ "circle.draw()" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "48abaaae", - "metadata": {}, - "outputs": [], - "source": [] - }, { "cell_type": "markdown", "id": "a7f4edf8", diff --git a/chapters/chap17.ipynb b/chapters/chap17.ipynb index 7dadbc21..c26b8b78 100644 --- a/chapters/chap17.ipynb +++ b/chapters/chap17.ipynb @@ -1740,7 +1740,7 @@ "* `get_rank_counts` does the same thing with the ranks of the cards, returning a dictionary that maps from each rank code to the number of times it appears.\n", "\n", "All of the exercises that follow can be done using only the Python features we have learned so far, but some of them are more difficult than most of the previous exercises.\n", - "I encourage you to ask an AI for help.\n", + "I encourage you to ask a virtual assistant for help.\n", "\n", "For problems like this, it often works well to ask for general advice about strategies and algorithms.\n", "Then you can either write the code yourself or ask for code.\n", @@ -1934,7 +1934,7 @@ "Write a method called `has_straight` that checks whether a hand contains a straight, which is a set of five cards with consecutive ranks.\n", "For example, if a hand contains ranks `5`, `6`, `7`, `8`, and `9`, it contains a straight.\n", "\n", - "An Ace can come before a two or after a King, so `Ace`, `2`, `3`, `4`, `5` is a straight and so it `10`, `Jack`, `Queen`, `King`, `Ace`.\n", + "An Ace can come before a two or after a King, so `Ace`, `2`, `3`, `4`, `5` is a straight and so is `10`, `Jack`, `Queen`, `King`, `Ace`.\n", "But a straight cannot \"wrap around\", so `King`, `Ace`, `2`, `3`, `4` is not a straight." ] }, diff --git a/chapters/chap18.ipynb b/chapters/chap18.ipynb index 1955731e..41d5fc1a 100644 --- a/chapters/chap18.ipynb +++ b/chapters/chap18.ipynb @@ -2013,7 +2013,6 @@ "### Ask a virtual assistant\n", "\n", "There are a few topics in this chapter you might want to learn about.\n", - "Here are some question to ask an AI.\n", "\n", "* \"What are the methods and operators of Python's set class?\"\n", "\n", @@ -2031,7 +2030,7 @@ "\n", "* \"What are the pros and cons of `doctest` and `unittest`?\"\n", "\n", - "For the following exercises, consider asking an AI for help, but as always, remember to test the results." + "For the following exercises, consider asking a virtual assistant for help, but as always, remember to test the results." ] }, { @@ -2064,7 +2063,7 @@ "metadata": {}, "source": [ "Write a version of this function that uses `set` operations instead of a `for` loop.\n", - "Hint: ask an AI \"How do I compute the intersection of Python sets?\"" + "Hint: ask a VA, \"How do I compute the intersection of Python sets?\"" ] }, { From 34d7c6405ae89cdc756629d0ca2f28f4bbd24b6d Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Sat, 15 Feb 2025 20:03:07 -0500 Subject: [PATCH 19/29] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579465 -> 579250 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index bf4c23cb14ef7cdc438b26e7632dc862a3f5d329..e5eed7a470f863b4963935d7a87c7b9d800bf2a0 100644 GIT binary patch delta 28931 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⪼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 T*eDi)#Qr>ClqLXwuK9leTVo|? delta 29170 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 B?AibT From f3620aaf4679114c32d533ec2736576f4cfd34cd Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Sun, 16 Feb 2025 09:28:02 -0500 Subject: [PATCH 20/29] Updating the notebooks --- chapters/chap13.ipynb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/chapters/chap13.ipynb b/chapters/chap13.ipynb index a5b20d64..ba90420d 100644 --- a/chapters/chap13.ipynb +++ b/chapters/chap13.ipynb @@ -1601,8 +1601,12 @@ "source": [ "def replace_all(old, new, source_path, dest_path):\n", " # read the contents of the source file\n", + " reader = open(source_path)\n", + "\n", " # replace the old string with the new\n", - " # write the result into the destination file" + " \n", + " # write the result into the destination file\n", + " " ] }, { From c578daea3421ad66726a7f7e9973a19e66c98fde Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Sun, 16 Feb 2025 09:28:02 -0500 Subject: [PATCH 21/29] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579250 -> 579259 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index e5eed7a470f863b4963935d7a87c7b9d800bf2a0..fb26e2f9efb194b8c3f3d500d3d4dec2b0a1fb20 100644 GIT binary patch delta 7310 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 From 2e20e9fe7076eabe66a4451564de5e256b3fe076 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Wed, 4 Jun 2025 17:34:16 -0400 Subject: [PATCH 22/29] Updating the notebooks --- chapters/chap12.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapters/chap12.ipynb b/chapters/chap12.ipynb index f3f7b194..cb9b780f 100644 --- a/chapters/chap12.ipynb +++ b/chapters/chap12.ipynb @@ -1827,7 +1827,7 @@ "metadata": {}, "source": [ "Dictionaries provide a method called `setdefault` that we can use to do the same thing more concisely.\n", - "Ask a virtual assistant how it works, or copy `add_word` into a virtual assistant and ask \"Can you rewrite this using `setdefault`?\"\n", + "Ask a virtual assistant how it works, or copy `add_bigram` into a virtual assistant and ask \"Can you rewrite this using `setdefault`?\"\n", "\n", "In this chapter we implemented Markov chain text analysis and generation.\n", "If you are curious, you can ask a virtual assistant for more information on the topic.\n", From c4863203e08ffdb16d54a83e3600c8b19506a583 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Wed, 4 Jun 2025 17:34:17 -0400 Subject: [PATCH 23/29] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579259 -> 579256 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index fb26e2f9efb194b8c3f3d500d3d4dec2b0a1fb20..88767d9bee4146cefdf1edc2d947d90e8a46ed73 100644 GIT binary patch delta 3253 zcmZ{mc{G%L8^`Z)TgEP;WG(BUu_Y$E-eNMA1|?!1;%SgI9%0c=!N*2;MwHu#@ql!e;?JY~3s#izToHn(fix41kk*%hXv1M9`s45gX^4in zG0_^gbCM91k7lCo(an1yinz-}@pm^75cTX~q6Iz2lp(rIW1?DX%?b=kTHOcR!ZkWF zFdbDsI(NWL+z+f&003lFih8s(DH{vp`E@VSj>{~fH7~HRN(HDkU@glyo zq~cH*@2}dL=1>@y3Ut)Vd(21i-iNtqK=P&AduOr^0Km*7B+njVmRAhHKI|uadU5;K zxMbs%QzrvPub#w}bDx)i7hcn|+Knk6_;T4Pd3N+@qLWSkIs3e1>-ZmL1u8F}d?POD zPRN_o~)%atG0a1S`bn`kMx* z&l8GLZAZqx+GShnwmT+2!OjjQ#vu+}JR33FhQ5@8dFZd+6)|lpMMFI+@wBF7D5#^q zx{&Wl6cP;-Fc#E=j-9C7%l@5>l!D&bnP?@=KMb=+?Muba+eA8f5lZa#G}}B7I0PtH z|Ix7HLfOAw@VG=zb&r&s*Pxw1Jl%3; zr|9IhmCmdNa(IT-((Jj@;xJWw!Jimg7S8Gh{oFHZ@pmFVN38UB9AU3O-imjwO5&(0 z;#+A5T%3D!H^h$ct)`gZoN97%G9^;u{a4yE_3lh#qU=z3{nBk=bV;p3gign31qO-w zR&6maqZInOZ^uoV2V42Kd5PylpVwtMx|QL$x5g#o)6@2s=h-OnLn<+^y&D7L`q8l} z8kyp1MZguS>Lp1S26?h>=1@f|FZCK9aA$hTWXQGb-BIU^++Br)ep{p=k}n9x1|U5z zO1%kCIUQ7o%@3UaU=*(8TaZufzN9N5&Ly4ta@Mjy)lRo|b{4Ofy;}RWHJ^4mAS3op z8Mm3E;a}q(*#6-AS+a{B>6h>5e0Hzc$U)RM#MtdSiWQX%ex>s$0kPbTY9|}SmUA74 zai9G@x`9g3v%Kd_aQu#$k`R1wtvj8nHjHyx$bK|h-eFS*@^8k*`)Vr0s%ORb=EEb9 zDF$6L3zg2E;nS^(eJ<+C8yxk3^5nykXJMWz6b9k<|lNbj!dpYN|d)koQ3@!J}D{7m?q517mJjRM>BtF!H+n0`HXqefL3S?jE)>kvAAS4U2^Mk9B8ulmO{F(c!@ zFBLw5Z4}#!w6X}4UHxjKGO4)FPWTfxR(D`!kLG$sN6F}F>;94{Q8RDN(!XX;O#bbc z#)c=KF#a;WN1ou{ApNQQAWkA(cn|&z%03}cx$)b>m4*N^&SiIUESge;T#S;O3%S{I z zelWDa$CrvDW^FNwCjTZIy;a{K`O5I6eAOqgKhuHjh-$P21(PHCLFo8oM@G8PoAW*s zuKSj9Gb?J)frf-9tS&9bB87-@Cs*ZFT`~x@$1jVF<+8em%Pj}<-_W1$d;BmoNwqJm zRPJ~pZb7ofieRo<-+q!BY9)+)uSRAyY>I|Ot1d*9`de?39?liGmx=EVVLzZmT5Ma9 zidvYl`jdP=U@cLqxl>@lNa|v7w-L@I_x=IvCX-#k67?g;Jk1x|aqEs%QBCZgn6%Q! z5X`}GiP&2T!G{svvfMbim_8r*>x&mBHA?;W{ivk{)e#6)ozBz_FVqt+b4{8P5YwxN z$&2;2+u!d7nr^}@MbiAgqa#nL>{YeQS`#J}zKPai<=5m})_H^&2n*ei>nA2=KRx3W zP9#__^x=|AcY4ohf8I+qA_zX{u;EOwUlEAYmd$^T_|zM%ynMYA_gus~iZfW1|Hx;7 z^^l;Nw>agwG_L$Q-X~X`H)(V2F;v_=?1@fa@2UK20n!IKt`@KGr|X9_u{xizu&Wj5 zvb{Sg$-8iLaKR#52;&fWNf0^NBed4DVl`D5^*;CA`oO}5*grN2k}n?%(-eNd$I|k1 z3KQQgoB1FBpt>9yjir5XE^bZ${NL75^U#1L4x0HSJv_5R7@oye92%}BB{AafpKsCf~*jKrvobg zs*e*yf%IUd2OB-uYXngoR$fq@TOP-jZ(MpFM@@PjyzA$(bG8ePVP!lXX>Si)47we) z3x4D`q}RO--Pw+~UT&-M-;M^iBg39;!h72h@2hQ9f!oo@c4X4aEaYYEa=#WVQbjLZ z_qW>$^ufhgaC{^+3S69o?t}Ae<)sqgN}SMC4nYHcMD z=cNSzuFJo>5=p9*ZLXmddMjW>L6SQCgOnr+a&j>LDAZK%=_%MaX`KS!$I9sApZ&vV zZ(}Mw(?oKj!Xz!vY}<7Isz5bx`w>WB9Y^gWLZ_3(op7qUrv4VPlK>w?n-{{eO4 BrN#gN delta 3220 zcmZvedpwkB8-U-LR}97|5(Xj65F)3LQ>>_wtV5(E5))R45E-W$4VoCdN<}%1Q$ve! ziiX-2gUBIKh*Gk|MlH$CjBop9vwz(GT+jVn_jCIFp1ZbOp`lzs$PNecYy|)S0mS0$ zQiV(q3yYOL?5K2*LV_$t2}17q4u7pcCW&&Wi5wTbC}*s|p${y$=vRvfISvi?;-Yjf z|Lq)#iRYrH;~DZCs#3s3@daxt9O~Q6MT@%+s&eSkG8ffdVPM%5`fCU5|Cp|?0Mpk% zvAC=IL{Uf;765itQ+CJ8LAUK;$nX1tP?zA6^bUJi6_%45JRcc3uL=MujjUW*Xmbxj zK#(5*|2Z2v;{r@TjZ>|wkh_{t5zI@AV-WVfx-C}+0Nze=47Z11Lf@;=e;tBNsT1ad zV;WtlnYF~To?RKzixd6MGY>})@STdyqL=Mw#G*XJPZ@@#?ilRTlFFn`i0&}8S5DH_ zl*#*gFTAb$cgwQ$(frd20;gdw?j3y_KJ4q}ow9$QK;2cNFPLaK^`6dy69n0)qNSy6 zExEB(3XtR8!v->AG{Pdu&KCBO5k5%3^{?_`P~9@ppU86nb_T1fS1EBpMmO5_dFrSI zadz4RGP)+}(>Cx~wrMR!YNTn+{pPV!!<(pI>)yphueGENyfWJkdfgD=6G;7I>x~@o zHT%ay0j`0j?$fWYj>XhG6^hw*<6EI^5yLIb;$`-$l&Xvc^62cjpl%cYV2`XAf`e#` zWhaeCt=3Sbt|zKI`IW04o7@O%roLv2%qNY*F7v5jHj**ahMixKwh z(z}Y=$l)fJ?8@Q8Ax5~uyiQGklBki^aaTA>Ww()y6~Sgs_um;SSf6?>8lkP2NBJY$!^agqw2S9lF=7>_~Ly zs6*Udje^6MSM=MT1f_m4$|!ny4~4FGHN}$ES{c>`1AaSn>I~i9MJRlVG?)fEcu-TavYx%Il3C6mCB$d zVeUGgp4j)Mr1hePTfJd`id(-dVO8DFx!|eTU->yUUm8t+p}rA4_|+WXBO zkhR_US&f22Jvbz~l1RFp5yF!n?P{QA97)`gm#sT9g;F1d!t9D`>kN*_M#6MG^#tz( zWorzLhos3TF)@5hm505Q@xboG=p|Ulf_5cl!jKoyO%THu4p=eYT>tS^m{9^U6sZ ztf$US^PG-+VeRF;<(cT5h~1n}*GVqtMP6GjV2hIH;GQAO z`Zv6GoAJ5Rzr>iTW?EJP2_GhAwhHbcSv!rdskYuKjZC@zZK&_a?8@tH0}IIfn(NLD zA*#W4`Wqn3CVJdR3QxwTWr@x&28+-@6@s z@SFJi2ZL$Kk7;29@^Dds`0>e7-v>p@)IbT_xSUZ&3Lckwa#q+4QGuCUpFcP>q{(*aF&zmwE}di9G^bwT(f?OVAk!yVMc zbU2$DVWj3!7M+xaJL!69muMm__&t>0!_9)P59)9EcAT(k__EpcG;MmaT6(OyKyq~# z(1PENv2U#@$vksEHg65U3U<^kD>kcTUK1hm?Ic^vdF|%DG|qs^rd$Uu@&n#8mE%<7zqs! zaYtBUbfaheu{p6&+$P7Dykk~0!o^UpmT3(K71cNNnqWt3gU#9TRs$=1OqoV^IIXg< z$6_QaJXO@H$PYgx7owt*C)97^9gu@ zE{D5If?VslEeYBp!4VrHXif>#L;y2cJ_ijdedt&Wco*bwrV6O`o!9IHlLa`KtizrD zLQ5-d$=bGv0Jq7O%qhngV_7SZiRXgQgBZcl-i4s-mJarOkhNSr<3ER^{$L_PO@xA z^5~LvfC>QAR04oJAi-*F0RYB|s#tI6S}#K72kS7~s)1j(>i(Bij%_tBPmmtR0Dx=t zkJiTtoVifsGX(Mnckwfp8&&dqM_W2KQN)-?zExHa Date: Wed, 4 Jun 2025 17:43:41 -0400 Subject: [PATCH 24/29] Updating the notebooks --- chapters/chap10.ipynb | 2 +- chapters/chap12.ipynb | 4 ++-- chapters/chap14.ipynb | 2 +- chapters/chap15.ipynb | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/chapters/chap10.ipynb b/chapters/chap10.ipynb index 5c126883..e1de3afe 100644 --- a/chapters/chap10.ipynb +++ b/chapters/chap10.ipynb @@ -1559,7 +1559,7 @@ "source": [ "### Exercise\n", "\n", - "Write function called `find_repeats` that takes a dictionary that maps from each key to a counter, like the result from `value_counts`.\n", + "Write a function called `find_repeats` that takes a dictionary that maps from each key to a counter, like the result from `value_counts`.\n", "It should loop through the dictionary and return a list of keys that have counts greater than `1`.\n", "You can use the following outline to get started." ] diff --git a/chapters/chap12.ipynb b/chapters/chap12.ipynb index cb9b780f..49c55ce7 100644 --- a/chapters/chap12.ipynb +++ b/chapters/chap12.ipynb @@ -520,7 +520,7 @@ "\n", "* `key=second_element` means the items will be sorted according to the frequencies of the words.\n", "\n", - "* `reverse=True` means they items will be sorted in reverse order, with the most frequent words first." + "* `reverse=True` means the items will be sorted in reverse order, with the most frequent words first." ] }, { @@ -730,7 +730,7 @@ "id": "22becbab", "metadata": {}, "source": [ - "The we'll store the words as keys in a dictionary so we can use the `in` operator to check quickly whether a word is valid." + "Then we'll store the words as keys in a dictionary so we can use the `in` operator to check quickly whether a word is valid." ] }, { diff --git a/chapters/chap14.ipynb b/chapters/chap14.ipynb index 2236a581..f0f9998a 100644 --- a/chapters/chap14.ipynb +++ b/chapters/chap14.ipynb @@ -907,7 +907,7 @@ " \n", " carry, time.second = divmod(time.second, 60)\n", " carry, time.minute = divmod(time.minute + carry, 60)\n", - " carry, time.hour = divmod(time.hour + carry, 60)" + " carry, time.hour = divmod(time.hour + carry, 24)" ] }, { diff --git a/chapters/chap15.ipynb b/chapters/chap15.ipynb index 39bebc02..52fb9c86 100644 --- a/chapters/chap15.ipynb +++ b/chapters/chap15.ipynb @@ -604,7 +604,7 @@ "id": "e01e9673", "metadata": {}, "source": [ - "## The __init__ method\n", + "## The init method\n", "\n", "The most special of the special methods is `__init__`, so-called because it initializes the attributes of a new object.\n", "An `__init__` method for the `Time` class might look like this:" From 38462ce925df86fb8015cc1e0c4873f5e237f9b2 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Wed, 4 Jun 2025 17:43:41 -0400 Subject: [PATCH 25/29] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579256 -> 579251 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index 88767d9bee4146cefdf1edc2d947d90e8a46ed73..4be25fae6d89b5d67784f9163742d7ff4875de68 100644 GIT binary patch delta 20664 zcmY(KV{k6ans#H`wr$(?j&0j|V(i$q?PSNcZ96-*^S$TH%$aZguI{S4e{|JVebwqe zHKa{7q;N{IpkQb~KtNDHt}zL4f)H>$LYDA74a)d%Ag(brJWT(CT1@Q;{)Nbc|AS0|2Z=%4Vv?vzxFF#FJut0d9T>IA ztK^#cU)*Z;e|S^btQ_sX(9`>W5bMVvISQ`f^Fb^YwTg;HQ!C{$eGbIoZ zLrW5KFi~2r3NYM%&uFVx0iLD&_olCJx|J(hAfULee>M@OA} zDFC(9%;Qx8NU?afqK4MJd_{ARn0{bfXb0Ys5I(efXbHj| zCe{9&qT*5%Mdm3Wun}Ae5XiBlK^D@B_St6eu+>Y;+O}ahI&@#C_>^LNSC7vny0S$t z^w=zBJC{RQBRr433$XA@CzE|SqIH6Nz8K6R%IjOZ*wh$%hS}2K-!yi8dO9oc$N~hh z?~C}a%}!@hN)X*KRbi(hT2yD|Bgo$j9SuQNFoejg%;W84OvBj+$lbkoaA2(%aCFNQ z447mquwQMHpAK9O$(yfmy-0`h)ag!sEF*(m_deEdfwo>&#mHHCaSUzOK%x<1=Jovs z#2_dD&GXm<0r^k^jTz*4Us9>#6%gUk@>(2}rBBhkzS^oJomi=1N<1q0~e)iR3T z#oRaOO=v?c%JoS9=5l)J3Qj}%FY!|Q-ceOt2hdr6nIgp|>QzjBrzKhl;6ViD;qAeE z;z0T-8P@G7OjCQd_A!N)!HT{a+(miB)V`A2%J#TL#3*poXT^u~omP^O9ofBdPwsuV zDwi-u4Z{VS!X8^t@Rr_TeFJvUqRB>qK=BshcoVi2c})%l$Z$;{GCjs zjy}(;_dcY^6)>InXeDx$q7qXUF!jt4l7$&yQP_D-c7a%^xIqd1r&FuBggJvK>rr%Sb*UlNH-YXZ$m6`{xqVF zmsm-ho)-r45(6A>rfh!^N&m+iL-(73xR@8o+)*bq31!a+&;aaeupKKQ&E^AmPSX}8 z7y&JuiutSXyCjm~KY(6rS%D%CdH8pnHIFFj4V#VEz~IW^M)g`f+JW16)$%nSoTB`5 z7YgDd&O}ozM8!spi1|oz#Ovzg(lp7+ig2r`!g1hxjjC)lHIpQ0&gLkonUJu`Tl}pP zb;{n6y+?{DL9OKaNB8Pc5W#yzk!68hW_*OOU|%M_JiYN9Qh-ia$kjOewmVecOLpW| zIw57ZtD`;bz&=HgkAsvF8OK}e1|-hZ>PBSa)XWtPtnvw^^Y001bjc?LIAw=->N2{& zDkZvhvauO0eS+}~vIUrf&gg!#fZae6mCwoBWnfwMP{@&1t$k{U}>LW zd5yPNVh^V74-c?u9t5{2I39jCe$)s8{(rO2g^LS?e*=1I9El1$FWej3sTZ?o+K=J4 za9m$wAVcPL<%%JohO@|MHQy2I8*i~O^E_v5A%Ml5w;9EB@wJT#>Tf$^x~h!Z3+`8g z%*~~_^(a;8T8E4eLaSvFi(sX*Do3!o_I{<+%b$RIcE$B;=_TdcmNDtPFoe`$0#LD= zp^+a)q~I%~J4O}1138fUwX zHVnbrS15{S-GT{Y2T7>R#Nhz%lN0V?fP1sGu-54TNHk!H^bp1x0E}tpNz;}E>Y@)0 zz^i+;{dNoubE>%Kd0Hogo|)oO*0dI$=+c+C!T=t%iA37LdHUlT;6z6 zpziy3gr-E8dOl0Qq89qKkmfLM*FQzfdxOn1VKK`*ceZs4#encj1Qd9=5`m;t>^1x{ zHUL3ln5et%uU(j*G0M=`4L)pBw}td)K9f~S^FHTzVKjLoi2TbQyHin6hXC~8l|rGblJ?6eleNbT$-iRm-WY~pWa4~!nZnlRE@jH+aKS`2Yl~jshJVJ# zIJZH`PO&(u*6heikU)K~DYv%*fa+OFR{-mYyIYn97(EhHs%%%^b?4GX&$NR5c?*);g|Ru-O5oliz%AYEmmCUKvj zV#ykqM@P$k0ULPk8?y*Ylm!C6Ru)x-!S5W*+!(Y44)<2w_lm;(RJ_6)q z1);gn`fTCMNG}ZvDV7+@f>a8zw0EnAp_`{M$@)ff^<;P?YWxmr&;vMLV$y0bXs#76 zGpyWEbQnGw?N|V>pg%(L9}X|l{Q{rVlVa`{`EYUIFX(#V;|tg=@!6={_b)<`u(Wao zS8_qOUHGo}`=@_PhjP*guA{k^zX2bua;gcaWX&ef!^>VU55B@*cpJ|a*u*EK>nICo zyDj)$!5_Zx6Q zr!FAyFjw91C3#!>39v4YC>>U3{WCecJBh$1n+!MPB>oTdx5ZXPgt)JcM~rZ zI4O;=&NO5J-wUO5$-n9sVt~AuV^#B6JPUV;i4PhL8H{}2@oi*wSJ}?*cwB4Xki41; zs|maiB7f`SB!2Fc%u0rho==+;E^`+GZQq5e&VWxKd6g?P0!vrI!^Cj@&ZRQdxDNte z(v`UxZZ%Rrv9q(MDB$WAnM<;DT@d19iY&+#B($34LzAHY_O@Jc>Iu#C%k znxLJWk3B@}B&Of1XcJGnQzH%CvM%54(Z-_u@aX_g^VNq7z+IwMy`^W>52~Z8QqO47 z7n(cMyxJzIj8LPwl5eE4`xtBy_^X*L8I}Hf@g+qnLLN2eIT9wNikP~Je_GmMK|^1A zuLXat=UB7*F~geZH$ZBz4-dQlk*kXrjr=qCpx7M+()*@r<)kJ32js z%IjUc!8I#8$(8N0D`1f~*9q#pt;e3+-MP?8dnmuxivn|cZb?fD795t9Z}Kf-ryt*j zc!yV(XE_+dw^q%4Vihn#KTsp#S`EK>MGViElB7C}SJl@6HW$lmHX?o?`|4g-n(j2g zW-OD`Wld{K51>PX#xH^S#S_Zg5Gr+iG9s7!H%8r24KhL*urG`t)~BR;Kk5xoB(}+O zXXdonH+~*+Keu?qMoxnf8%uLsY+!Ym(@gGxIpGHj6ZKj}$@U7zw%2Eo_$I3iJrZfV zVd+WFT`Zobky_AqOr9O=-peD&urkWaWzWlus>gg@2PoA_PNv<+T}ImE>=*Q)K1qA( z6lO!fxP}qP^Q`S8_28J|-5)0+sz2$Ql>~HLkAF$ss}o-18@*1IOQ&@R6JbyxTgg6d zKS4+aoG;LEKl0blDT)o?pUuYQ|3v~+zz0&s^)Dj!sfPc|TWL;b#FA>Yrx+FYA_v8~ zjvw8&1DY{2ga4j&bLTf*3McA$gGUjn?H1!9b7r|~tF&v>U-K3=W#22?JvB%pD2iZs z!c{guY4Qd{ZBiAGvSw`vZ-+HF%#>F{syo-Zs~eXkbL6Z(1?a4cQpHgjj%Y^&%w;}7 z(MKq1W{P0_E%3wmDB){H1-Bu*;e{7ADw~qOt0Xj^*^bEt#s(Ly z=hMd;?ho&0x!W=}2v*xm4g}r29q+5>gtMf znf>^TT{}ikn7OJcbhjzKsexRY%_N=!c^yq&d~6|7&r^0poguLreGBSqq?(8tNNXJ* zaa(#yh`(tfJv;1R05(MojJ2j(+)a5R1voKxiL%wK(2RqB`D>PMO5x9CwLD*e4dve{ zbd{Ns4S{W|?wuW?^TX|VF%k1|jv9zVD1=;_~ z2q`J$fhqWjAM|g_ej|gVfq_ z)5H6{H*bmpU)H2Qhn=>*XT>}}(Nh!j&^leX-(3f}F;(-mV{)8vg5bYE3Ge6!aByU=fWA2MAk@}8zdQ<1JAmc0~cM#@d_XA@ofZkNJ*9#xpjoTNz419!tX5{rudI*@4--QF&Ao<_e-8XN-|SI zkd_ZwR*N}dtCfEATmJmJDjWoa)U=jbxm9aH zY!)<=DKv=A0qf?R&~%gl0`a$x-$5Agx5}-Xax8!eE;cC&Uk!T9EM!B%x?FImZXBhj z3mV6L66vOVZbM|bNwmx!3H1I!KH@rVgnj()`@WjULkAWeK})m*Sio&Ku)TXxZ5bsq z@6H)hw&bDf#w6-+Rnp@{vEM>!wjRD<_GA>t%|KP$MeUMak$mv4^EI>rRalv=F4+`@ zl@}m9#Ve|)rmply8eoq#F~1_@XGe60w_b}}Q5FJ43FDPOdZBHhia;{YT|^EiBsu}& zQlc%9z6l1I`H*O{GJx?g!B@}6^&i6|E^Ny2VhyaYXFbR+MV>I>+w-eOq1FW~3zlmt zj78%ua^2E5sv@a&FT%`V8!pVF?LON1)39Dvb$dGys=b|%XG0aL7k=td!UXw&^=2s_ z;2`M+DJh0$_dG9B7HMu}eLU)1OV%;lb5kZNEGNzN5s4DXWq>&Jnn5LIm5d3~s6XzDio7l^paw_)lp<2^)f@QD3EnDz=iIu3M zR!s_s8CO|$8T6q+Up2OeLZKuldM{_qIJrNM6l^{Mao9G36x+-Xbf&SRk0*Qk^ zTBsidjTbq6-2jDLIoPpw4EpUX1v<`$L7(YC8DoT%nmKI zAfkYFD4{f(FXbBL^8vJa6`&ptTV~nL&CO(UM;{wZZ|;f5XD3qEnF0nKnWN4`-oDAb z^)k&`|Co9e;k1n!G}c)}takPd8H6@(@glF5sv9Q#0sztPW>`EdR8y@LcMSHrad3WP zICcjYs_MY}_@o*=b#(~Lstk95xTL`+IE`_G(0AeWAS{hy3QPGDYat4+`{t4>&_;jh zKdCx*`O2)*QtAzt3H0JNYQImx{no@{ygA67x|-kQBKDP8ZyxA2a|kJbb29e$8BUx~ z+=t9;YXDb`nSuNo5RPd6x9BHI%iir~VcAIHR0}O(N~`E0_LVGUo7xmy9LQ^siHs+u zO*m-rY%?AKe$vsQ(RyU_lV$s$ndO)#p*=(Up1O-9ijwVTh}+;ryNfIiXM*yqIL`<4 zSAV<@he1-q(Rw^)M*&3)jU%h~7wT+V>E@e57Kle0 zJONBx;LS}>q<2UcekBD@Eo>eWR7{u6TZoT%dz}YX-B&jElCh`!Xm?zU2l{vXI}l^A zJgmPg@Dz(ISBSU2C_53$)A%*=DFeQ(j}42;S39>|aP?+i`DE^kIB%Dnb+TP}A&9S9 zk_e6k9Qzi4W}uc&b^bi$MKVOpMx|GOC(=$Pj8@yEQv_=VM7*_$HojbRSwZ0>{;fbu1dod34pn z*c&ovRK`*W8=ZhthyweRZ)it&o6RU;9kgYEKa90*y$Z8l;pQW^c}`ke8l4l8AFSQ- zK3lk+bd6_~r_aQir@ao*(v5>(AEU_?2fBo~S`P0?-rkzzgLbO5oP;lfft^a4P}hvRYd z%}T(%c9B(m;hLLuO*tL6<-&G9BN;Jw?RMlpZf##sAvJ#}0H6J*=e5$-^2b$Uz_^~d z<<(se@~6ai`gJE#lb_5!Dg!2gb<7$cE}4K?Ztrpsq3@BDggmQJee>l6!uZCPCE+Fb z0BTB{S%N0q<~|8KR?_`*I|G>P3A`_dqFm>?iXXh~x3(*1=_ZZ_VffpqPHYRuWfBeK z-|Y8(bXV6#zM`#zjS$czmyosCi1&%yGtZS5w}{{=%cx&|9yeBGtNhjRMP@#-1+lTItI zst~IC^WLDV?neHTR8ZGH!MPhKSg*SpPn>I471-=|#71=7wqlYnah9{r-U@)rmVrrf9pCiTW0|>j zX&3tb>vRk=whD8rR?QG0#YbMo0nX}{_|Lm8r48<`*siK`SF$+Pu@=sgNRtc34{I&N z=ab-Kc8#3fX}?P#&!TH8CjNEE%T^+JpXOx>iPhppWfd_YY2_ zw^b-(yP;m?{Chq%{v4<-p$G6^PQD!u$#V!q?~1Pr9HQz#sVxG4=qX;M)rNyB9ng6Y z`cDmsm@20-AE<46^^02*e>0EigCIIpo_kR)e%WI@I{>IUCZX=10&5f$xQ5K#e(`bKH=Qsz@0J{1P=Du% z%?&wm)F@rG;Maa!F=a~Pt~_Qxrr7KYg}`>f_j=@lb1{x~ zn1pO&-O0hjZhg?y!D0I)z!U~xH|;Hd7?@V23i2_IgPy1vKt(KJQMZ=*z(?wvXlLg0 zRSf}D`Qx@BT@jUL1uy1-5_joKFK@Ai3}V|Go)AmH+CnCoY5g~MiaLy9yn_w!RI*P( zeh!ilLBx0XYJ$eP3MTfCF0><^Z??1PT9=-iL#DZsM)Qb*!B5K94pNhh;ky^;Gm1Ys1_D;dC0%(78hYOa5u z?;ts2oymaaqcLq>)EB9oNXGYY`)@;@6*DwNSOTZ?z`OrY6UtBzR!>@1)RK4j z3$(Z?zXR(Q*Gn8A{N~jrmi)s19nA+jE!+S1+K6zeI88=*?U_5sFKGRAL3eX`V!sSf zi9u^`@|-aX-{E&d32p#uOQ*y&RXnFtM%wlweI+4}o(eU)Nbq{sk)1;EPp?8Kx$Fc| z(3=4E8-MhX3J2bz$)v=+EXAehLyLa=@OnT1AHhZB&#&Di{63DgQ2PzsuVTvyNpjqj2linn9~|=dF3kEW1nuo81ABrQ$!3K(Z`%DJ0cF#1KY?>b z!kN&~{f!u=MCR}oWg#z~pG8u=*0{{B=r3@Q{S?PfaZejA1IeXNUu>EeAG$F>bEx|_ z0Ou8|$Ve5GFDIkFSD_5ENJ}3?)re1afKTAWkt-2Z3$(sK$KY?WZl!{7&kz#q`$6#% z9Lfzx4h>2xO+3!^LF<81sfdCSH+=9PQL|hnYUoygxEXN1tGJrI;lr$&U6W-lW@uZQR_D|MJ0|k^wQywu zqP|0?O0tq6^F2he!Ub!MM+KTAZF~$)a{?M`F!=CF>lV-}FIFLhU}FJnyjOc>IKB$i z6z(Q|2!eVvUMN#Yq6{I#NSh>7pQdCi&9-}!!@S=QSxL6> z+JQ(~FjNUVfOjH~Y?Lm!75eOLslWu*4q(lrrCY5;uYm#x*L~aHwjL(bmwk?SOuR-< zWK>!N9mIAxlZG_|%ghM$a>V@PEsRKR=JwL6OWX3d4BnJadHlU~TUWoI7n#1t4DVV? zm|rF3r4}fxUSj#jQ6CGibX=5UUW6hH$tS&}r6R=~-${AGpngq1k;vH(`KM8HL>5LN zwCVE^v0t&?Coe!Kp9=0aQ^+!9lT$e6%NL>^RWs+(Sw*R32o*{H85~}vmdpkqgB4^_ zQnlTJBT_WEyrd-W#+BQITTo?*nC#+%*U(#Hbez+y<#=^qpVih_CB zA44Ye?2F;p+XlttX^9dpV7zDCc;-#%uw=M_w&yk=xU1sxb-Cw45@jHAKTB-SbX%L? zJ((fVTAoeJdm!770byb*xzYrvU}P_u+FU-3v;7A9z05#ckwIXOy#8e)cJfWRfwZMO zv?nH|HHEOgHvt0B+|av?%@}vP!bYSw-k!tcdG^(op21c!nGf%#)@U1X9i5Lpdwyo{ zB$O%u4m9a09D^^Bra6w_Q+yfTtrB1~c6-tFr&%RoOzO0LxW)N?%#1xH5b&()y_>c3 zkhJ9tx|!jHKoz0j+dKNBz3pP%2iBh3S8r*p(xH)lPR#-s=ibtyp$LwXzN@`~zHU}U zh`SEvWn094b{IClmLNiPyb<`E)D!J)p+=r4k60|t0#jvBZI_@jGo27k1E<2<;ID$h zNalDu$tZM2GdD{0kS=*u85`8nLKjg~LU*u-x=c%za*T0Br)qY37oU(cKXg8zi3NCq@Zu1qB7lpY<$UEm-Nk?wXJC0oodD?)d*mQVH z$S>?gYpNKF7YR-{eU8AvDi@U4$=hikBS?ee-H`#1UNX!o(Ab5)$bQU)UfcKHE8E;i z#h1O;2(V`2`>;w32Pd|s_xBw$@P2(Z)f9^xD+~0s4-(CW1V2O|zi=RbSjbWxddAvz zvsUI*u(X!J!2r}r$`yb_m*d8Kq+43}f8r8t13Ci9RMz>NrGEl7OYYfHq>WX-^_0XS? z)8UV3&|p!()*NJf=@FC0bwf=ZVPmh;o-zOss+84G6JzE*QX#=CIkvfN2|ADU)E491 z6xdn%x`7t*{0Ij_&f5|q3lV9u03Y|@)1WjVc+lz> z23C?aq0k+5hR~YL{Ol&mR_fKYC{QQbTn+e!h@wM`G$gm88rKIvS9TW}D^)_9Jt#nL zkWlS#M*A){kOh1XkSxNl)EW7s=m`Fsf`iN*@$G?HB&x0qS;IoYrpT9zkQ_gtn&`SQ zIa);fK|f~9j_~v3c}1Qt|2BX7WMx1O__tPuM7wSe*qNVygOPVD&n~n85ONZA${#!3 zUr571Z!Po#LAf4~fYrW|Ht|xY?|DEATduKm%pNL%V@!vCYzIyA)Br@hgTerCT3de> z+fmP=lBjT0L2tQ0Z1XIwbp~3yP4+q4Tv4%<@|7yYlwoGO_jADIJvRpl1j%wb{UB26 zQi5_H{Y7Z$`&3^lurZn3;Xm&bGqCtAb&fMvNJtj=wB^__0-~ox^e38%g&zPH^w!*s z;l!{dhI@Ztg2yYad-4<9O|`oUWYY;t^Z}JzS=z{Ne`H^#3RIAK*l)A89hVPyb7Y|* zm5IqD_A)s{t`5G}22veGZws@JU)@fPVpI6#+kp4L1 zB=x6^?ugTKC6?-D(YsMtuWZ20g`%cai!dtC8ZFO3t_oXB8SQTFOM zz@K}(Ep44hVerM|?Zto#uZatwxUVXW5Eqzu#F1Y8%5P34C(rA>a)2+Sl#yUXL*)3} z-|`2SiP%qq4p$At&ZEFBF4@-JpW83Ut-a^3pMx#y<$c%mX>rWY56slA=dgP$l0`Ib zrFh%2+s`hjbeaYC#h}kOl{619$mY;kpyv5UPB#(w>qNYZ9an%uaZNJd(>*WB=h-+3 zbuc756N%2+pFF>RSz0<)!usp=Zh{ujo3i>O?^utIbBenk>#1u_6Oh_h3|TLOK!TDL zJ8O5yozWy2{&ckVEWR1N9b0&)#e$CyN+uva{$8McAQ=Q%Z`Su~!6jDV!cQQ3NJZ&U z28PQf*1v`u8y(Oz6eT=gTftHGU}0W$b&k;i?Sq;*ag_W-4n~>fmpOBCsHDp?_`6~= z(71)g_B&T)%Zu92d23WzAU0~~w2CjsJ-!Vuuw%e>E@uf0K^`=s=< zV@11)EvQVF*cC|Kw%?od-Y_y1djMiGt4-(B^sxpCzAqf#&^aJW2|hBAK)r8Mg?H;n z9bta|-Y4;TDs+^JWsLYHh1ZAsjV14Bas3Y$i2j_)bb2`$imi{2*r*|rby-pr zoVgwwayP&l7tvY+|JvvLVA)CbuJZfLL93f4w04a0%XHxMDbgg9GZ;&{@y+vClr~Y@ zMe*G+vE3p=*ZIsYYfVz^vATqm>S+o+fW@CBhU7jA0%D3)^*;^JPLqYNsJF9F+CaDIBeJ()5Rjrs8&{? z>#vJ<0RjW0y96ZIajg00!nH){d~G)HRc%K_xhf0PgNF-Eh$d$-N5!Dh-Fb0w-jnaa zr8`Rbsr`rrUeX9NzSaM7XtB8TMuAuQV37${(rIhb{7X>P(+9drEV`J5?>gVf5mogv z%LNe6?FVOqUI>CQbJ70gLgAGy*WG%NF~LiwOPs}AWz^i;vBU4wZjw~y3Q6z{kGyNH z0B6F3T%?Tru1n#UKEG?#z4SU2rCdB{tUjdIQPi>zjmoZUZ`Q%7l;durc@4B)o_r>a zQQM{%^5(0n3o#@@`p$#e`ij2zE#1QUcnQe3x1+na!tgMJG_0caNhib66<-YE$5BxV zCeKLqS07GpyESyh?0UiKt(SWk`-&<@EN%^fj|K;&ZG8*-Td7mNvHiGN=JK=H6E~G zu79;qGbX%G2Rp}A6SOzXE_dK9ykTP3!^1?&HaFs2kAkk@dv12)bIjE{z=Q{%RIZ_S z0M5U3N0mq3WbYWXCLeTAu$NPK8A^(bnFLjwAHkW(N1%Re&~TTFo?6xRQKE#R^s6~5 zyVdaPk97V%NFvcnj&f^4EVOdSEjJ*r%Y=k49}vv|LD63aFGrUEb7pNJ`&>rD2&;fz zy_`!6om1~3LuuQ`SiV4oSV_jYT>G(C$~$aWNR?kgtj*B^^IIPxt2{%1b%wHVEQytw zvg34XWLWG-oYTS~>CFE-0D2%K<&y$Sw)S3Le}Lu3xd?{7PaJyURp#=BfDGWXR^nmy zgkwodnNU~xluJ`QV8jLO?+*zIVXy;kaG3wiXtu06X~@lV3umdu za2R(Z2(~+)H^rrR{ERLbltR1{C;+6D71%Q%rf8M#AIfme8?y#bq-ifHGk{` zf-3S#mxAA{)Gi%|i2Vl5rlUK&NcwEl6w%M-d7)+a)d^_>MPQD1>Ex(d`||iHTZ)a& zA3nPBiuIGfQ__oPK)tc#uq9d<_)VspREC1ma7~QxkM$O#x={qFaS0$z>5Zn}07Jdj zC-}WZ{C;;~->tDkkFMl~8$j6o{j{6_UDYdBQk}fJF`-O+EM$v7pmjsYR$150t zfc7SVfYQ7WKxqEQ$f`g98Tv2vcSRpU*nt`dsI}qW+E(?#|FL>&1VAn^03t1o+p-D4 zf5BF~UPgu?$Avn6Rmb>uVbaNUP}PJ#_n#30yB zi(*{el?BfFynFc{BiCh2)9V95vpM*3H%1{bbC>}P@JH|~8rS;*a|&W!jr{q%;W61c z_yN$!UI}^*y0~DZ<-y_{&RQw3A-G?>)&r_HZ8|WVAXb&r!1N7#K@9=RCWYQJIs9ms zs=f{V^Q00CQ*M{?0HTnu)&g9D&q{!faHd1BJy8e&rb{TcwbPX^Kunw5exZaZW`6

b}AVCjq&~r2rbT~O?+cc8|~#CAm@UFY%#rL=mF~2Fru>* ziQQJ=_Kq9~yMZheK5>`}ACcI~a@z`F4=*-t4Zan2A%x`YPmJox?8 z`o8q*9aB3U&@;zTJmvPuoMpd=ue%b~WDd3+;HSZ1YKr1g`#8k$#MKf>+O#NPf^lhy z!S0delSFo|Yq@`x;p zbPZSr_L#-;GOdtP!~W2trdhWdRsIAU^Wvw(yIyj-tuHeOH#7A%tD;pVLn^7V%wb3J zw#U#7fb5mN2yxlHYP)RMimkwB77+Xcodn70G<9nr!gRV4>jRx0#pYItd(~Aa(gqOA z;F9B0@W;$CQGhUL6BbrdS5FEKaG!BGep01)O$^p4E}A{vc1 z*hg{&5nlf$o{eYMJ93?0-RjcRLk9 z#i>#7DR$(qe;ZMBEx=n6Z^4+iWxH0EYV4wU&Z(`l->$KNij7<(@bytUykOhI?pP?c zh_|S}YW$9B%JD4Zn=&2~Yy}JEFAij7(U#CGUjMIlH# z`Q}>t_0@L>-}cz@F+J5*w4pmL2ivb2kLqihh7JoW@ofr3z=sfs`LgmIJkyU%zEVX? zrG`lsBtJ&_*=MpD)qi?*2Y;UOFa0XQGXttgN;B8;5=X+=@nV;);gFVaL8NqE3mq0C zuWdu>oh~h%*o8-_GDKbjBqo2rxAiq84KHH~Z_dT>Aun`|+CwOyjRQgjS}RSCC9i@ogOi|@cWx*mwfQ?0}Rl>2ATF2O#YVU87P zmDX~Hh_c=i68AYNGU0zaB#K&E6DL5To2$ZY9*I6A!)MwpuKLoFo}dSB2-0BVMiz-i zhx&?}LtZ5e3~=E0-wF)qW~gH{9wt4S5>{C7LDjK#t0bVXSqTP#m^9;&K>Y2xd-}g5 z7v#c@qu^H^g?t$SRNd0HU=r++G06gvg-n7?x|94#C(qHcb>p!zhNxEIzCrnkl$z59 zJ9iuPu{S^Nv|WR=ZlKk^KgZFmq}N5KR%(>Ln-uiC2HkT@{ISVb>W>!NPFU5BiZ15h zy)qwQ=A*-Kq<+HaDjSUF2?tjo*ob?UqH!=?ojBSy=Pq zXQFU?i_ASs7Hw&XPM2@W=|{O)WJX64{&3PzQDg8hf{#H=V?md2C>9{|yBzFX4T!Cg z(HMFD4;LvXJ;xQMeE?UF@~J%=H|dW*YR}^|ONCNZ^C>QkXE$37XpdL4JhnYVJ;iIc!s5KB}2g!?zp)&JNGddQ3()!w;s%Kv`lWR0VK4Dbbb zI$3Cq=J~xr&siXS<$P>cnRV$BgOWfxMU|t-D7hBsJmy1Op1=kYVH}|1SQzIJnxJ%4 zQSg?1UYZk7e=Vvr?7RjxnZfiM!&Qp65=2*d*%9tR{~*!Qg0L?d76ru@q5jvLaIG5< zC&5Oi+YyY>aJ?%3#&i7lJI(z4mh(0MyZ^Pna-#Jxz!BuaJ$}SH7i}ye2mV;dZT-Q% zN=w3gB6|VXr-1*UKB==7_Lx?uMkqPN`q>8>9i)(a^e?A8kjPmAnME5`+QKv~WGuC* zoTGJvCjsvAl$RmPxHisBXvPUud}~NWPzzQqk=Xj)HLxxzld9u~lMb#*eSi-jpyOui z7$ymWLW%2}Ud;3Um7|6#cMS{~A?OeG>xARo@qnl~eZz$+h1XEO+nPxSNv2P|I&d^|$kG>vlArw}is&)GXr4ZySV5ME7XpM6rjwJqs zL3}8to2i(sHKRfS7MIeoCSd=D*Oh7Vj~scTiw(X~>t2MayZ}X^b%Q3u#MuUV9x=_p z+U4eqMKllAh)}&v;MYwKgq(4E=lk|wP9Fiw(bvCO4n5e9J0JCf8K^>lv8^d=fd_qr zAhOT#8t+#1VAhS$0abxmJM)J@#LU>kzNVTw_UA)`XnFZ!vZk}Fyy1Cg?fEv$8O0|E z-u-<*-v^^BDDa6){2B^&9)RcRVEjcqCwLTrUnD2M*}4{85-ZEGnJhwDbFI+13{M83 zezuI*E=dknt3mP;Mr$09On|EzPD;NM2C<=&{(j51nKh`9AyjWfGF#g1M?FE-xAMky2=A=5)`&0$%&=23sfc3`tbQv?SBrH8!9~#L)9hwK zjj1KvL=<3XnjPk5ndYvgGj?rHkdSy;ii>@l?AnJ(ZkXtF(@g@#f&HBsM;#h~fs{u< z*S)BNKN$Y}T;`N?w4Zf=Y-FsJ3fiJpoNLA8dZ^;ZJx%VYh2d@^Hb$U*lW9i&-Bvqp zB!cy(X!;TSXMvNi@NOWg*4~NrwTG-#_KrKLkPg$tapSbncYMXQ7n$m7sQo8ar~|hR z48PM4$T{vX1sOmPDVpw#sQqcu9jeW?)$VpSufDz*xtW4h`^3j!c@UEl>km;2p@2YP zeH|Yahqrpq&{XEe;F-9+$T<^|!kD;41m9F;D+W9` zKq9Ed>%oTwR3jM6FoGvPvFuKcKe_Uu7RXOji%4|G`evpxtt=@veqQ{}t;|8l^5WHf zAkDebR#7(=TS`7=LEv{lG2DDAuI`&O(biN&WdxL<*8^zb;Ha&w(k9eon02$H_ZazR zVL~}VRT?YLSE4D@QlyKqW`3iTqJW{oLQ;e^FjJ{G&gy4v9g~4flI5cqdN&+traDQK zX?X%1zKz$8g7{t%*R(^7X#nTs;X1Fq#H#&y4!!;oYJXo{;X2dP=qJeVCgH#MwPXk= zyZ~qrtEyY^d}{D!<4SDEb~JXyCq|DEm}DG!hA?)Pt_A6nC8vxrNn8(gU3~_xpV+Bk zOHrTo(X|9hRawP`6<^pFsghw8fAy}yR`S4=#kv|yXBk})BuCS6D(!U>r=l9AE3cnC z#T%v$3hP%)x|5Ty4#HJjDHfcp$13g?6ak4OUG53?;)B0ch3L(kGJ0LJF*D!8Q^z7* zSdJF?;8Yn4R(o*cPS74*?jc=3Qtm~(Wn=_rgDuRsbMjOYQ|C>!-Y}zgFoj_pvg@g{ zZ@5br9NJjmfz)Q~0{g#7@D25sCDsHNbX^z zIuIq1)7B0A*AGVU=`j?6+YJN*RKYQax4~P9h0=FpaAf96S+3bQbTO$~qCX9k!s`kp zZP!~7Lz>UB<@4rRc4xosV04JT52t-S;+OOq$dStmOm4cqk7D681*XK#*p+SE!m%eM z>n;%xBMj>|g!U3R)Ud7R5uYfsKX$f8wLxt24CksL?e$FrCEs_eMy+*3UG6k~zAga& zw++*>nJ(nP0|NT(`md@Bm6@Hv%F)Z-_?O!M{$h8x1W`l;^qYs1Dnkp1+=XfPUVyNT z3kN`_uO3_&zVs{_Lr!m8JO3=O3b6tj*bQ%A<=RkP z1NTycN;=vdph z0eDa=>->=e_+YTi=7>?cmpCx9l_Fq?bqIxBbZ=wFv>|~t!vE%?tu*e%=HD2IXo;V z)%?`rn&(57iw_I?t2Lwa3=98X8P^@n_WH(4h}bH`YN#!0l&Vp?8kL%*wA3hS)!u3} zM$M{GBed4F_g4pPG>8*{>p7>tL%bZY))zQ}3#L(z@twNM1TA>~OXdYx+xoo5nSkw=()6mT3Iw7U) zxJv0J&1IaJ!p2kSf4Y6qh8laQ+TlcldODFI%9z~?%=4s##EojeM#E@63DiK1_Z10e zP422f_-L(k`&COC`}{?(`{uyN6=;G}%NUP3Wo85*D-t}zJf@7@r=%VPfn98?)ub~U z1iPJMaOC{oe!EBB6Rdvh3TTbuNe%-yrRM`jdbE^c33J&1p>Z3QcXrqu=LF14OjoIs z?-c7GwygmK0h-Zhf9-m;MW-tyedf|EFPM^GEV-VLF3&G>WkT+VBPX~b;0#-Ftzyd* z2h6*jSDlu}Pi~)DpI5(aVdDI;jvqYzXf%sS8mS1DW3=Z}&lHJI0Mf1j#a~1%45IVf zYI08Y)p5F6MS3a3ko>$x$jPz5Of-l5_B(L-&c5Kzo4e%G-a~y6`P(fsOFMQ@(=KN= zU`~_@cGldzw3r%=fO6H3BSfbKpEh~pqDrPfMIw}RuRr<0N{VE!Z10ASU|<}(W|Bk5 zR;cghLF?T7U5Wy=(A^T>q`iFi5pgPlmWUJH>T;#p2h){a?z+2P6aWeKM#_DUp%rD? zphFkAS3a=_R&0lxQ$wyi)AjO~8S5|I9eTo~-#Gt8G#M5Z9h+8PXO#hPSP0STWrf-O zQR+i>BW9j|Iqr>nUpDD60=j*z?oV}UTUi7VW9V+a_Wz7UFM*DCU% z*B*33#7VI~FtC#rn7wzYxY2Z+J?shsMz62pWgr`K+zSr6_o8w2~dSO}3z7jpB{#Ltd^vj+_N@^tBN(3pB&qPKPQ5#cY^Yb4*@=7!22$ zR9+~Cm4?c5-#+btI#_H*sxzRWP;QBmdyNwoRYEfR#h)G?Ph}MX_p5qzN10crl5wA- zh8CQCv8RK++5VF4Q*g3Z3Z=oxsFCd2q^Nb&+=0ZMYq`u91PXL1& zkRI`@gy-@t1Um;8%sPH!uh%>HJ~r+4$DZvh*kHP=WexwRy+nH-n>Ea6DIUQzodFW7 zi=T52@lPhGG7*jHNl=*;IC;&8M&+D5NaIJOLbs|OyIvtQyyfJELeZO92j(BQ(DzXf%lsacNxa2oI*Y#CLbE8!xD0M47wPtM^HfmDW$c30J zm(nU4(j96OC6U7*ZOY_#DloZ)jV97-I+h;ZcKU9#ncIwBh1%pE9H@NvGFhEOD*LM| zF8D7h{e9L(1!m5txzUre*pd~Ukg=3~YmMk!Mfo(r7WHn^!OjN9lHd%4V^rvBd?1YZ zjgSE_TQ9Xy5xHC;nVdFqkvL@O;nd4BH#Xee`|*yIYUu;WN$1>@y|fAOPA1bh5;M_D zwrmGTI_oH^HXX19j!0B5(d-CE2T?e7&hsPzAFE|(QN&6X0%Mu#BKWZWB6ZJZmhj#g zGHph*d=+&5D-q6tc1^T9hv+MAVENCY0)^LffS$}<#!meqSoHQx?m9Rm(?;KXgDnjK zS1_I95<%)R^!!oN8T+z71lGZ!ah6Y_&>zjfrf~4*G7YiOEy059D6 zdNv|H!iCH=bOMAH)&nLi=)bfEYDGX~ZV$BXdve)c+!QA!=!EVq?cZXdOO82gd4cMb zb~R@k?0Lb6o>eaT^7$sz0g@L>QLT?_p*M&tuUki+6t+F%sD81-wfEI4S?iLlf+}2+ zOhBVzbX~#hL>{NJ`<_0~I9Bh35^FPBe?k)-R7$hkS!K`iW%wR%VJWM;dx0Q?eKnPU zi2=@z9uN3y{__GEg(LdO>hNF2Xpr(Gz0SZ`2<*0Euzfq(({6yk>ugFs|G&}O)!3k( ziia$Bo>{!zOws0ZUr4Uonj0J1w=;jd^S144eAAr?;i~(vaLe#(X(1Cc zsr3`!G_Q%aq|gb1I$SGMlXF_0fcQ}Dixx>vWf_LqEljES4!fdxQS6$bKhIEzt>w^M zC00`JnMqog$0r`kSjSBiqM}iCGxH(X`cgp$Qs{Y$F#l=%tLhdhi4P=FN`edYKEOzr zXWe4Q7whKTGX|n6kCcxHYPhj5TwSi4QH9kt?7q*+ytwPC?Zfd$(^65?9~?By`&etF ze1mGK*X^~ky}h)}Fk3MyY!nqEST(W4tCb3O^%0=f2s<#Mv>rOcth#ymbNO=lnVfd?q(e%k zZG)=+WF=Pw9l|fOlh$xo_G>GDa*$U&D-}+k0N~GPDysj`fZ>Ab>-L=<>xW9+Bi?S( zv~}a2ATyc;k9eXfM8HNvl}nQnN>)w_d2d+jMkr%Lo0SZ+xhCpQO85>I496iV9ga^% zD>)78-%EbfV|q52U=eK54Cfkc6BPktOr>l0czw^%`JuBFY=6rVRc&e2JiC78~UIb{LW* z^DC9~s7*RYpFKDgA{n#W&x_l_)%CCaazG4Ips zF5n_a$3~K+p^tvN3dUvKbN-qZi<~i5CiOyUD|`-}H7D(%{Tn9weBt4O7HTtWo% z-Io~{5Q|i%-fJc+lYU;E^|Inin*P=KgYYG)n@;h1Pa!r`&b_fS6uN_keY8lo?!}vh zL{@u~g283&OG++>oG$4#WnVS7mEyT2O}fa@`AzdXSH>scQnh->=1+}lR$QI>4X{aG zavt|SKwmE=xX(k}9Whd98M7Z*df=NhTUYccmlaubTWadDl~9{s||OKMwIR;O&6_Z4T!5S7!>#FHoJ*4 z_YgKqT$klR$r-g{WJ}qF)fEC#fScqNtA#o&mUHgydBW8UwhrpI4PB@8YlCit+TZ9P zvy|m_?N+(UdTmTaXX4LfTs;d=Og&tOGLR;Uk8^TZFOH z@dguqWs!L%4Xi*S6LTzya zM1e%_6s(Ef)p7FxvH|#9KMWxBBX0f06vKD zL5vSz9iU0ZyONjAw3E!5o+5I8h9o1`u`8`Q{)_gq7n4}#PQDVon2=s6x81S$WD zC5Qft(|^Oj;s5gXzheA59zVyF|LEhfH2x>ySDg79CLQ@N@AM0%Ja=#V*O(2pFanbP zRZ4CYbP3RuOAr@8!Hn`81yTMW+0WPgbnLlsf&Bs_-q7yC1p<6j2bfQNUo!j4lJm== zcn`WnXh4OE#lKQr`!PNfpPRsaJ1(|!*`H68{4Q&Zig^!${pjKHdGXJg{P$u$>+jqA zJEi~J=DZcfF?=gc&%f26e8xZ&KV;9z{B!cK=(~W#|Mz)bLp_eK30?dyfEfQN@a=3U zE25^aQ(U-E!uES#>P&!d$5}T1^EmOJshM#Q6oBIfpw74fP-1+qMDM;G37(R{fS?2o zC<6?LmGEaa37-Y{i2+dQV!tmqIH&q00jNz$0OL!75F&s{$EG+TaQ{EjT!#>c{$COx z`CsxS5hD99^@#m1y^Hyh{Fgk<|Cd_L9f0|ANa$v~|EBgv@s`G33meLz_#0Z0^-?s?NO zf{AeiHe&iV{k+8!&})97To^+>QsF*y(?aR?m`S^9s-pkE)>&pXH!oGIO_Whf4LTsV z8;(tkKZ?IMrBUia3`={|Qq;-Gi_|~Q!lsZE2hbfFdr|5W; z#Zmc+NbH1Hf&}uc8RLZvA_I0=cIW8qI zHb~D>?}Ds6GO6TWP8i)oA1_Ap$O?uwuC}$tUg7$*gttvSpI$DK0A4vh-1`uL8;jGq z)Y1fZY&G~9uU0k1#Yl=bV<+SHRV;3DYx6`!S@STCU)U)rC7#A# zv=T)5u)=4yrCDs0TH=I!dW^L*kAjs;OV^BegJc-Tapg}R*0zv&l?01J)aaJ@#TK66 zLN@Tpu|%iMD@nc;p^H%z(NK8h$dW}HHNhH6Ip`anGqeEX{Q+fDqEeI_BCo>o$CF2f#q4D)#eBDJ^1eHIez z18HfaIM@scMZ<4^Q}q*V)NSiF!epX%Un^$k))cf8N)AD!MX^uf7&5PO@~=FG)?bJI zHx8*DH51zgfF*7m_+6$<&I5%5;<#@yh~eebm1)6H7fXy`lV=tfeHVEYgD*yUs$>bd zD@AMH6?ve;av!3bT9cZ0#_Cvr;H;BavB>fR6)7@_`wFye8(AlRbgl1ShrRR|!2GiY zL0~-Yq@-~;)Z_KdCW&2?5(%ff6joUszD`Daz=V^?h z%ZbMTO3@g_-@obKV*5Ba&TNf$8Op3`tq-A*s<5VYJ3VS)hQt&LNiVHpgUjZ#f)jV8 zlTG;fCv|^GQl;~EG^b}95>=KEm9fN7LQfdgx~QteDNt@NFp~11V^xWII^pZ(e&UHO zXVZV1s|+n|H4?#pP6)xOefW*LapNG}4+8xFniReXc3G%xRBLXVzh3{jmN}aRpYpT>oM3yHi+K(HrlFgtd@8NWSlzj1XvjtDvdq3oZN7Ud(W7?& zG?K1%AGgf*c^F;1%~;?2wre|3$Fn~UulxE1LiGxH^xihAcq)CO*jm$vNXMk6VIJn+ z9eyDHGdgG5nd_-=6i>P_<>+skg4NQ#D{d2SmDioB`Xnmj3!cdR-}=W?=L*ykcb zk#uEA!XrU(Os+9L7aEuvvefrG5NO5?MW1xFT+%LtGbt2$K6lp|8M4v=tk_9ZOO5MfW+>B zfcyd>08zKHcCgLZD+B%YKe+*24*Hw*|K!Gf;jgn?b`X%WqyIZMvN!%WH~yPo=7f+#yyXx6$j#c9XA!ewrS^qPU7f zWYet?uMn|S%}6M)P9>}W=*H90O~*JpOfU{OsyojGB?A<5k{f4mF!v7mE!YLqHnKA< zx=$2j2NMlB(~0?D2x|Fkcm<$ywt@`sXSB5~|T5qd3g)KL% zGnk6<%(5uuW0HY@>-Q&jy5; z{R52o?rynMn1b?^ace0lG*FqT>nZ?~nqKCa>A@CK{>xB53;i!LkA!es!xl(?M{mq3 zAEw-4?c?Rw!g9P@J_hEQ;{~W6vnyti)_C{dUGx>=|*+2;G7YR=E?J^I)-o zC6VQFY|;$=H|(^z&L|~_zPt?}2wb>tW&VLj1c$#dd*VtkOwE~wo3imyKr{hkD|~wQ z+4u~MMm)WvtzlfQuB;DU{nYQ)D!qxT%cI+k>pUtCQqu8%3*s}Rd^}V=-_f8;xFR8a%E8R+QaI|KK*u9Iv$pWYgqv0?||KOYg(6~ zP!IaT4qhdbJf@05v8^9^vJpRWU(r7o-EENmG4{ckD-OjuP}UrW-+>W`6)A|~90UQy zpb2pF_wmByAw|Jq>K_e$jxXVG3vC!ZUgT3g%gx&m>R}tX=t5R6DPnX^3)*briIWO_ zPi!aNjddYtC06la1L6QEBPZeUo7p|8IqZUg#JS7FuBaV_tiTrsXGh67_}of{e^&ab zcBE9wY4t}*EU@Lj!licpNk3hNlfaQsV3tEYA5uA$&U4e1tF2@mD_#v;Q(X}6s4EhD zLMSZ!6+w5~3pb&X{5Q@_c>8O9-GM$K81#I~>4WtkLMa#S!D^F6lbvQF8 z?QL`{I|-J`)G1Ij=3u==>>|bx2-2bw;58@HPii&64v z#ZDwHkg2L20*|{f)4y-9%zk&faNaeu9KowVdJmVfAJ$~_EkJrda?)BGWDL_tt#J}@ zgMoPqU^Pa;e?KD(*i zbv7W`e|&G}=O)!?)ZV%i2j5iMD6O*_iAI-gTx=ekk7L%-Ml{+u@(kJu3o*bRi^Kms z`ct5pEQ^=>7l|HQOHbKIxh`crre$Dx*h9BD@@O)-m*D{-Ntc+Jr6idJ;%|^7V1Ej@ zD|1JJHhLk60h$mnWmL4G%&)#3$dC-o=W3Q#uN#Ml9eQ4)eoB0*um|6x4;a&gaFF!mfVo~8@$=oHDCWKG4W~WB* z{G}kyYPSLK1vuCGn;=(1_J+4zIyXOz#1mz4&OI#ABAsrx&u>sY-URA5@IwwTFhIVZiM_3l*D{LVp(%WNXA--H9`!NWs}N@aW%EYul%nS!t$Rl?l2DY*ug-<*?pUU>Q+Df?i=-B8g5w7#rq}Wb3*Cis%h~c1 z(kn=SKWFOY;{7ony6=ImrB}tRxIfyzbn0>wu-rna6vVcdl6olI2)E9o5RG0f9h!nV zUl*a|p4A9nDI7sIo260*lt@Tfh)pzq&)z{)qb_zCB!6W3NAx5o=+_6bGu{y+8?n7f zGvFgQaAhChhNtOTb|{VIV1aY)7+OGPz{&&gW4sPK+2i$bL^`AQO*GFi96W$t<)V=q znJvprSHHom`G`NGFZWZ|^S4VLPDz9$3Zb2wPh?2W3?9_fKa417-ta^FX^&f zpHP17KG*e*+tYRb^ydc?7H8fG6UhNmsbz1vf*uCO?As7IC4(h;aPFLWhIPrRic+Jn z&OC1g5!MW8Q+L2xCbb;;i5Tl(97*iUZJ8hPUc5_7zigmBIvZqwG(`wYaipH#PQ3$?I&l8| z`lD%^b`%^SM89Hhj&wGw`{4m5y5L3iPmK}HH28+b;qfk-2nxubiISInSZBT(5~EkB z93=dE`d>UA6$XZsHG39CFFz>1l&*@Bmk^h&5JU1Ebtikn3;g|S5!>>S1#3fye>hY% z=20R)xGO)?L>6DF^@D_O4^}9lA;zB>A!H>2T^o7XAXt{g)OX?KiqVn)czAO-vC)ZvJTT(?6e)Q1?RU3hUdm!nxtwl zJbyzg^1XORi~WMGb1{D4>Uc6YOllevF4+@~CkY{iw;_?96+89CffNG=vWg#to6t|vx}HOmbeO38K$^6Vf-4*b2tUfP-K@GdT0 zJ0~cHlcT6FGfnD8Ug}}O1m(V+Zb>i5V2L(4Iks>2d=F|?Ne(qr{EA`=u6dgqD-K31 zca5D{@lrA1q6p%ONh7_ao5JR6Z#g)hOCNijHYwQNV2C&m_`ZmeUT+_g*Qas($hLGH zdtpFH(;nVc^E)|T?ITe42FgihHR`ZMr#xchdA4mPT~uUc3K`I2`cty?KrQWZ<_T&f z9^$GIBoKBTtxUv76P+*IAB#aex&KoW^`)$Hthfg-q*5w_JkpOzzfqvl%zoSNJ=v$8 zFGjjQAC1|YM*BK8bRRPJ(GyhIp@$Pe8PJC)kW2fj_*>y-0;f#_Vuat8S-Nv=FU!`^ z+j`kUVBz!8fy#TVti?caZ!k%?X92uYqu1(})UGU$yVi`(I)#qi#LSB!%C5bLkmWr=MJZy4Gu>5w&d3fKHGNa|J$$?YgXkcp-&%$~VwQJ|;TGn0$7;3d< zV4f4uf>CcUt?zZwOC{G0kFU}J7sly)(!PxnOcL)xJR+Su8A@QRJZvA_dlsfhQaufC zI18|v|B5$?|8+Xo;?zsG(iJ^MIn)O5TS7E z+;qm(S^5!Cye;B;*|ajubrOaoK5xn-xDaz2TZ5cRIQEA2&>6i~5A(n2AP)eL{e28- z9m7xGoy(fNF$l$a-VvPQ^^_{zrQKeZ@)o>>jK|<;r%AqF;Wqf;&?QJN}hF+l1+IQMVD(Z0sH%TF-l>R zh`ttXQ~sMHE-Y>2?84YYZQuZq`1CQ*r=~oz2iE~J)k4aZx(lR>jLyL7YUhF z=Wm)Os5<$?jsI*O^F^U+VX+zXG$U!wd5bQ9__(b(T9 zhNWM!9H-pQAvZHTS;~okk4PjaLhioV3B;Gq(n?=~Gs~{22XoFG1U@%ZGqx_njy#tw zed|ip=C_65(*W*h_FDRWL|SZkPs>-rIy;g6l=zM+uR=}bsXt~EU}UlPxD&(06Y%Qo zJkH|v-IJ4%r*wZ`zPW=k{Qf8u_vF8UHlfU_Mi=OHACDd`{R4ObPAztYz12fg>~cIN zOkRy!In}fNp-6&exa(A-a6;vo)z%_F59pLl%v$RpeZ%Zp<;;&; zLwA&7GpXNqUF-&wlnK_afGx_+F#S#lG}$-qTJ! z2Lo+$-5QhA`YjXyxUUZ`U32NDVWT5`7`LIgO}(IokTGoEouE2v-ldcq_%(txy zZwlTEICYk^<%8M40kO^9Kt8fp2E|6tPft3DlkC4#O-?E3cla)8Y_4U70$w#-b zv1a##PK(YGQrryPgrRSaPG4w>rjTq4MOpRVu^ki%Gv2)j;z!ueH998udu?2qv{r_T z^Q7MBWxK6nlw6mBAY$46D#4#Sx{9{N55(~b1t{`@EnF(3(ebB zj*%x%v$fg*Er@?+;88s%HUf;;73`kdM8B$BkKo5w;T^PSnIoopDNDJ+*?}nf{&gv> zagIf|G(3h=q_Ow(aXvvCJTX7GTHxRB`POrqWo-|8o!q(BywfpAoz-n-%w!=~UK9IL4lW${o4wVjL&{@mWGfB=x=*9TKMx``mxXdu!t6 zcNt~=tqJB1dmc==$~yM)8-}|E|wUb z^K{fuoO1u?GP}a+Z}_-k+4I-!Vx}Xf`EC_4-=}rohyk?|J@QySVTwFT@~$C7ai|Am z8eE?VKzFR=jLD}}$A@HMjOWd$A1B`1GL)fT!?B{c{Ck(6- zGzRtb#9aB#M9zp6Aa(@-19PjTGei4*!75ckY6~J+oX;D2ALFd&sXP2v5GY(O5h;Nh z0Fp&QMV0otErN;~YwU}pc~EM*tU2+xx>Fpzq4F>`M?Cq`{ENLPPwN$+0K5fz5zHA= zt03jgZ2~mK;#n^Swu!veB@>@XcC^JH;~g1J4Ic3Bg{F!O1D9TtnSx)ob@j0`Z3~o@ zV_XK`F)~1ZwS>Vs*zAFst#4qSS}o83m@yX2IYkY{SDO}mn}v(Lc6Gi$M*f?q1BuVV(@S~vt%L6hG zr{B9HKn7$nbj`~dkkHK1QF_`gj*r(6d?_BZK&!EsR^MvtRPH2mV4Sg+=m!-p=a`nX zlW~^tNnNnvb}Djds>xrA7WFkW1EKuQF6u83MpbPxXXsJF+Qi~-Bnip9u#?g~_m>7_ zn=eO!v?Q+uAM~O#q z8Jt|`sWtMam%*GYx-QyOLh%K6(88`X*l4_&4@O*g^G2g;_wrQd;#W=jk+Y{sHc|x7 zukEVa$-HS-{;oT6MM^S9-o%vq;YrRLPu2VM0Xg%1tmC zRRg-dP+RXV%cxOIVq_W#>F=y+0~O_&t%wP$hbfKd>8$5Wt@ewmA}4(XcJ`1H6dR|g zZv)RzDE;Ucrw%Nk(eo;j{$Nf|?j)uK&OJm2NAQtIRw1iWMJfbftEdS?xr>yRtKrSE zs!fM|K4xfZs>a~t%_k<(?S*7@0=mB4fJT@X4y#!1{Yk|;EtWV|Sjs7xs`_~8~AgmDd-RGLHgM*CSG zAX!yW@QLzOQWXopEpw#B3Cdgq>duu|k}p~THb8i+lx&72y9M#+XS2{4Rwu-fOV6lT z5lRll75sc-30Jofnq}W?O|@HO`S+f=zmApIavTe>8}~R#%GSYo?|1h8XeBy5q$+~ z$xjg~>d%J%rB>^ibsbtsy7~HI_aK)n1P-tmsT_qbk*B$c=aqjP+-hWFH+K0l3Z>a5 zWlS2hdV3)Pd=$oAk%@cOc3)51y2;w`2R%;-LtuZQ6FIr)*WU0v83pSr8Edn1(CpC7 zJYoQ{jtFk(F;fP|OT5-zAUro|BBWjh3ICiUe6*Xgd6Ff{g zRtToasMIG*Wo11soCd={y3W&pfS1kodyrS*foo=-?k-XFqdD5Isevn`s)**|f_Rpb zBkz#xg2U+I{vtglYj);wPLmoAR2t+e$N>V(J_0)!@uc=nKy(?BT{?%+!nfBhJUF$Q;VjPH;l2wLz ziYa*(T1v#Pt+>rSNqSm?r#K7*iYcv~Bd}7+0+Io2B%k_D{;OMENkujScE|{p(#El>4JH;hCqSnT`FPsz4b3IeMrz`{ zZIeXHp+WDFNZ;(puV#u=XMU-+f4Hl2>bP5KP+>xJsOnUKg%?ssy(OEQc|TGzoWeW8 zXqA5qLbPwdnpA3OMNrx@ErRO!m|p;mNG9DImpntgGEOO&<3YHQ7Eymf8tVQocha1x zu&4euiy&3uHZ3HXN?NpWV6glnP$!${GE;G+aU4^OWvFo`#9khHq>D}jX28-@D%+U0 zHE7pE4WJ0kg0sU`<*KGa(prc34mlC?iG~Os1>wL)Ba$DnXw*8;F%UEV{LK%b08O2` z9Aat20iqVIgCbAWhqYVgj54wr~VM3jf zGEOPb@}LG2i7IwReyBRYB+&8Ex+6Z{ zFbYT4mLsd#id$6#a}tt~gf&q-bz~)f)q2-U9(f=KxcXjF5-EEv+_>19l!1)a$mi=b z8i73u_OCND=;hu*5C=w1rpj(J*3m|q27Yd0nTX7HhxFU-Ep3r5bN>L&bn%oLOC*7? z$Q_afLQ)2py1z}pC%CBg1E;t46!2Vjtt$!(Mi-3KiKRAAFjqA@Xl0JODdje zz<)E(>I?V^d%O|gqk<>d%%q#Z$X!fO?_oWOs`>vmo(5q-E4w4CyJ7{CcA&#|>k0wS z3ZJ%-GDlAInT+;HQ$Gg)av&VeJeiM8+2OnQ1}6AE5&5Qk!aX(lDnoQ!aV4EG%9iEK zB>G_lGgn|i*CBtJ^lm%9pqgPwOlgjfC;zB5=p%Y$p5T&;77<|8lxym=fwvl66rE|3 zqJp!gE$B&?YHXd9rU5=N<%9O58fB{AXEaA1+^BIiHw#}6!}tMno=;RYEt>_fAXk{V z{(UliMv(9+i=8BV?kZUD%K*U%VRP73zeN59{18c#fv>1URB5;n1e|%272SUvs~s-W z9qQw71n*-cIV)S{ta*|$f2-m4f7o`EV4M&hIwL6w*XP$fPUYNvQ$XA{XxC)+TGyM- zej6L|wT$-G5Sjp{_ZI0o@~3;z@qmU%RBvFb0qRKC(}jNyi27o5v|P3mw2T_zUCCgo z68V*I{cM=v76~r8IFJBf?&g*O%rMkavOYldiQmFKaQu6fZiokR0{YO1 zN#h4UlbheuX+@|Hyrdz2Wqri_%zfpJ$3iLq*`TXB!r)%mA%|jX7x4NG?%?$C4RCg7 zy>Q~4IVpnw{(_e?^cC|)NV1M5pq6e^^9nG8kjJ#{wifyJtDNQw2HzBw0@<{B&*m+J z@{~bxcLa2CEon{(1$57k3ivioMwy5zD!^cI^rJ28U6hbZk+lYVdL5_r?@nF5Q*y5( z#XZD1N%1qXVG7F`FM(@QK%+(}jGwmM<;-jp5Bs>-eH7V`IY=$u(PzcSgQDdZnSUuW z+>s4}ue0vap7TgiJqZ#kn$l4FP(bEzNcI2Ci3LRK9E=uNt*K`(zp*v1KD)v1g!IBH zSh!5RqXnnT3MyDWI8!s`nvAYo3peWGasrfSZhBG$d2SA=iN_@l9yIb4`6l$@2UO43 zqa$c|11O9!zq|2&-ZRspJ(_qb4zUio%?y z`T#4Hi|1z{v~0#gdE46c1g>fU2DY^tc!O$nD7+waZN|N*-VNf@2qq!Nvs<;UtnZqk zPUzR5&pqd%~L;?(3XO~70Y5~I|1PXsE@sMU4G+YA^* zTunp*DLy$C-7sy~l{CyM!me6YXB1*YatDP3VYCS(-f^MVckfcIaJxDc_M>&ItXQ25 z;v*!0BT1V(SFB{x;Ojg;x8l!x>-;xb@viTZ6<*u`FRdr!abT^w>{*^merKH-R?K~4 z(fplH)6*NOK`N<=OXRu0-4R9eJPY8N$Po;0gi`^9w|v_E=1JjKEHl)5l0POyt4o~C zTxH%gGPup_*lwIu>jFpq36FGSqY7uqja;mN@n=jCoH@H~F|_eJ8Kqt_VWB%<+*#ZN zhDQCNZfD)WuTbpfp!W>4Qw)%%RL{wdkS^#MG~zj0!{ zvB&T=fH$nB3CN=%))iR~5+Tx53?|FV300d;>3K1C!T(2@F<;oNv<0?jR-R_@vO{v zw4U#irw6||cQih2zJ+vE#QpfV_zbJSbXhj}oTpK64I)P=5$$ z2-9tFy|eO9M$<*5MFRnj7Zf{f#@+Y}aq#V#((jydmyc-T!6}qmVdB7=Sz#lSqH=cS zeo<^s!k#Tz8@am)qc6SI;C?6@`Skh#FL}-b!tg&-o?%4iJBJ{Z=M30dL><;%;x{U6;$I$T8;;y{Ao&-=wh=&Dhfs^*lV z{c%O23kfH5Ld^?urhr#JgrS*&MkmUQdg&1n;;rQRtwJ8Uyly}c8spJC`p5i>(s5Pr ze$npN+U+;~|9^~YT8&|{k_iN4ZyF@S6$y;)e}=b8kibTmVE;QA9J~80?U3Ot2*&b1 zwF*J7D=a|K@`vcr9&eEQzh37%5!OTpOxt4O+y5jsqwHm&KeJCHssvFZxPZhX{lLjY zJ)X@ImXOirq+yf`9y@@#2ZLvg&2sLE&l?SDx{=ca|Z&Q)8hQxi=*Z4sr@7l(^;A#oI?2BVU_6S)Z2kss6l=h#= zjTUs3JUisGITJEVOK4+JaYOSp{57aSmmvkL&cIIN?7wuEKKk z3C8rsPni{Yu9nD<9~eeCgc&BT+f0(_Xl@lkz~a9w@A zUE(CosBAYHd9#j3Q6X8sGW?WM{KeRg5jnGr^eYk7F=zhpG;@|GfE1|8+_89NE?l=` zv_etwES4=1&@}{jIvOSEbM;{J(fH4=gn`QP745-T;yZ?)7i9Es+dhf21#7fda2Y@# zKBB|MvA!d0RC9;rZaQXflN%tu7wiGCPA30_oEi_lXWqzA6jtP9#+$cr*&_zRzu zyD$E;u-E}8&WAmyi$Q*YRZRvGfR>1*#`K@pS{heEz)abe8+1nNehsb&m+@{IB5u}54xK=w zf`Fp^!NgU|VkRWtABowW-vs3bdQ=KuKDxx*>L_`fJ=fk@FhHMsXKvFUP~>m+wW{WH zPGWD2SRhK<)OCsWA1hgzbZO-Qx3tq-gZJFdy9yE*YOccm!epkMpyd7__;i3;vh*ty zt(65wuxRU`IM`TP;K@UZCV){t8&ufTiNT0iBA0SyTYPY+MiWg!MAs+k(%0fl^1R4R z2G`=ov=Jtqrt~gZUX@PdH`Kk3`xBh9z8yDK3G7&^qE-ej?Ig;GoHfPzlYsDz|hg40s-4+2Fgrl>!Bgo z38_Nvg(P2n#lkhQ3MCTydPsJ$(6itEXU&clw6FKOffCydu}s!A&NrhvUFYKSR!1h+(fS zV1P@mWK+VL27{or#tM*`=AWU${XHVG_QGr4bNGJ7=AFn;WPXl?Y7)UilOZ2Y)u#tV zKKbQ^`w_zyoB5MIE?@6a;v_;Ij1s*QsA15!=4Kn#q#(b8H0*c;c^>Sgvd3th(@5h} znvE%P07U`&MR7Pa&B8aG5xb~yHxIzgDVdMhdmb7>)xt&#@dHruHRc=Rvvn#bP8^KD zAFzq8?b3mdl!-R#z(kjQO%5$ss21dGHXy|s`~I$e(S6K#N4eyVDjmsmgK-0;ZWW0s za6rIMWeu|k45_$JBEc1Sa-dz!*8WO`?K@_No+4(Rs+w3LCkcfm4s96D`KXk`iWyP} z;eRfYIA^+ND+1JHdc-xBD;*6e{_(Ib(5G27Ya4u3+8vG??G{_t4ejsACnvQIM3s6& zT##h;>Hxpm^1O)pV0VcLT?7^rfq&R4l0iP$wf5cxT0L6RDM z$dR3{V(pztav5?5Ognk(+Vu6Bq`Kl`7{SVC>jei&nLspm=}{<2pO+ zk%vXC#Q;XFk0LQug8Xt_V&)nLlpZF0Wcgm(3wucYr-H54^+s$g9TR61jQKWXQ}9A) z)Ln#x4*!@tRzWzj zwLH)Fs1+V{>KYy=TY>tu{m(Ip8>8m;rcY?))UN!1+j~6v}?vm>sk{ z;#|v|;vxt60PRf1FcSF^mgYkMP8~^oH!1UBa#3nl<~1fFd2WjLNSa#pCp1~oH6i&5 z;Y-Anl&pEc3KnGP2s4h`hC)2OYCzSWq4Q$W==iVJzzXyWjCGzKxV2vp;;o-_lLg+Q z41l}qYkQ9<@0b2XX%*h`>u_>jQj(u#>C%2z-J(@(ZAlXd+4aRfp1{QSVxjAe4j=H? z+p2r3zJaEOwk3 z1ObaYG|)(|-qGnNi9N;S&2*T90A&|m7T}16AEcsSN>-{=L_IT4zvePu(kXDbWZP7X zwl2Q;E1#s|2v+kU!?TC8=J2C`2ksUqy8}YE3*b4NiTpV8##@a#s8Q4U*N|&jX(SoN zLI3tx`-Xt|R>A8gmUq%4%3fRuwbcJB#->L5aU9s%*4Cr_I8up!qLWX#=prKd4EV@0 zX56HvD2sWXppptA{Ij%B6SHFLhdC&Xd>YY z8OaiUY*#>3yb7@=Egmi3?eQt?bo8dh1rqNN(z3nk8Y~GirujF)wNfwHxE<%vzw>$0 zL;8P2*Zc2mkOdYN6OGcH5Ga{S0VXe+2rPwPsX~?Von^E#KD{SQ&2KNa@cVZI|R`>B&kL->YmR#aBZmX%%7{vpJ&30LrAia zZ;nykWaSyFpiw?Kh^A|Cs}Y)r^GC;H?^AcfJaT#EBZ4E)AbtC@9BxxC($>O5I4*SoQ%=???rd4Tsjrh7DN&E_ZMlMfPA4v7l=-a$+w!?We1Zwku zRdQQRi?Kzhoxb&1pUx$GFz_~dv7^BRo~@oZDAQuk%5nhSA7QwT0066$)$39X>PRVS zo%JfmyzOc1xvgh#f|siE0%H_)sL_~7qURzo2~G|}PpA2S8rS5YD$hM4BW-&|GJFe| zu;ZA=bXK|gia#~yzfW79%0!VoKn|-=|CMum)JY!6RTRV7evSE%*$ z!J!cO;C7g9iME6TaS_iBgq@<=ELZ9YZ2~3zeX=e5?fRaQ0Oo*(s-|mhlAORU!ji^3 zDo9pSOEDg0gXf+toAjhC*7CU05^P|okJyIuo&?Gc+@=pJ_WjHDo&Bm5E2KdK309dPGF*r+*My%JN^s- z@j|xp-7h%haJ&M3A&m2mHBctY>-fxH5>aBF`mIV3oQL0qGLo73rB@U2>!lhOaLJ{k zS^P$Zdu^+4-rDri$%T(@($aNAq%#K=xLDP}IQb`Jfb}&FC3yNUxBcMxD*Kn-&gTw}VwjRnIaFseCIp%|``=Z|Lu0V|bjGhANQ5)2jA~Iw+q%%H4BQ9mDG5;( zy7cKWtX&?XmXXoSoF8ouxW!1}EGSpH#y`I0pefonbpbE$vw6syEZ^@Z*^W@XFM?N2 zClDyC04~??`JRjr5?Fvsbzbf2UaUtUFg3v}d*c%rQg+A;7w~3FP<}3Dk-TSMY?lp=fC{q>W{IMNH9it>* zfHg(KYOC0$iAV;&da#z>B3~BOyh804)nqLNjE}ACOUJYq20dey3G&ZBp8z!|QS34& znynp;qFG^qZhg9g{aSRkS>VM&hq3y2Wf<=<6lBZ0`*qcum__UPuCuVQ>PcbatpIg2 zI@Ed+a8vk-sdh>*R*fS*(+Wt>ot_|E2W8ti@|L)bk7n`dj{3OSR})v-zT`^? zJ!zN_tmc6amqsW3L~!2Z)lb5I3Wy0-J;0)By={a(rl@OGzqu0X=~0}V=T3T~CXO9P z2w5TLn|`vyn=uBFaR=hS?L#k%P$|FxO4)V@){nMhAr_*i1EEig#*WM9G*&dG^ z(k49E`=C8V-}~GO8pbf!3i(A+9g?{u2Wrtf^Wx$nKsYaMmBLz`s8UasPe~ce@svW} z-&Is@Q$GCrAJW>Vv}JdCY8nnIhecLA>+i~loHYRQY8MV%ELwN7 zlr>EiVeL2CEBt)3XrV%3YK=`7M=`911sY9wb5Up|#NfzKP?U)sLNvy9^BScmPt*V_ zYz0K7Aw5sJMb4r%*1z5CejLtDlKEcpHmt(TDI=fBeXMWC33cGGxvXq5a z;b)LP6xk(L`3e}S&^LEb*F0%6QCM`p7GmT^x#i%w*z`Q6lmKAr4NCMD8xAm(<#hB< zme78~UZ8GqqY#pXVPn->v&@h`2O=P%tv>m4^{~ zNL&I2uRu??IswCMFjoRB_V40mkRyvnC?i8P~BYb4d5>PI}L8#Gb#5|LO@y*7tvta=5woP6DLC^?ryvu*#etf}Z5LPynPa zUu6}WJK+QiCeTbVAgK$TwI0yl-*O^sO`*s=ZNqCL$oG2R%sojhm3`VG;;|QKa}Q>a zsL6CN4p%bDZEEMWd|ad~>0f9zEjpU`U8dPXnvp+VY`cWy?pk&-Bi3i@eDy+|WZ>z@ zY^Xl7y2?8yWA}@6-NWFdI5nIoUL}Yc;ku7vy|AZ!TrZ93AX`*8?3Y2=YwPn#-!B)9 zn|~MdKUV?$@5KNA_pfHgfOkFu5RiDc|NCpAu@%_=etdVa0#iZ;czX?aL_|c8CBX_x zvP2XGT|ltQhz_>lIm8c+x0d9^|1oxioL&OR-kEby`%2det>`Zmo#6T3y4o8H;H+;Q zwaH>nZ%#Sg^0J`Ye-5;%uMN0;;mCu*L$%7~5Rpfg+P?nFtp(xzRCxX3>*fl!!fSfx z{m7<@_jut_a_9X7%(qzodf1k6Gqrrj8aBHK7HNSuulToBxaftjUo3B}u7i6+GzT|B ztnzM7S_VA?pi{3DS!8)n7@Hsj~M4>9mwRv?V(rifQzhk8w+=mHOh zww%ARV=Df=N36j4n^`Y6LJ|Dq`tddQI!p4*KYK{Qh+43Jq}u)bUJt!2k7QdAl~owZ)y9)*Rg`iEiJ+yN=oppc97JHDcvFepSBgTo`;EL8WnN3B?E%m9>YL7b zv2$~LW2mwV=5o89Uyr|-PAOy1ax--R0MZ*hjLO#OZt1ah3-Xvn(1u&BW?G)%usjIX zPH#M9yQCwJv;s9uUw!)2du{U!$a&3oOZWhW7>KjE4~OX><=~@FSX@b?C$0^SGup|3hP@ion?9k zm7|+r8+NxlBGJThS4<|46pyTprp7#D8N8IeG=(0h9j_qKL4wV( zT*|@^k%N@)nmQkzI-p|fh98@;c5QqJ~4mCJ)0H&kOgM4r)= zPu#gZ65z`1mLj}xu7({mmkrk?FLd5Z)B{d}i>7Wa+>Lor!Mv?~@8Ketc`4F=pX?%l z&lM838sE&gTwj<4q$ssksIfw8rZ#5bITbyKJ#M{6uQ>buLrcnh=Y+I~rAk!oo6899 zT=jRmriKD+*9w6bjE$oANOX!roQ+|riOvmxQ$qiomr}n+3CRnaiBwucG@0vSBaJE8 z_CpKEy}2B39q4&pHb4}>_?#+&tAZQL#Yl}xN=rSNTnY<#?w8QiwMxH(jg_`t;s2-2 zF#&mR>s|q3^98Tc1~iajDfD&}1oK$N8si+?)%zS4y`02I_Bw^yg(}QNgKg&ec}dgH zkQb^HtTr+4!n5drXYyeDYOw4}CVfrgXRkm*UL+*x$A^U$4gtGj}iT4}E6TW)B}gcmuvEBc!; zlmusB$2dQY!q_?r*ZRA!LL$!L%=0)X=1fw2DYTqUEOj-r5G@up}QaOPrn3K$v46e^{ z1t_2QEYW_w_%9@K8DFimXD1f01^c@TjY!XS-rIYX23s9cwYvvKglc|LEBTD{gzj~X z^2SM?VcXDKqHI>F!cvY^NlG*>-XA!UA*c?Q4>zY`KXxVHC;JsNq^h|ZRYAzB_RTj2 zIVkJ7u#EfX*iBuEYWJ%W73}^g>_}EEzYr7_Hf7k?^ zx;5_;p)HV-Q?`_2cgbm}CT+`}?Lp!ag}I)kTEipguFm!V)Jt`j_stfvCK_u0+V~U3 zMJ4^TlphCgOBo^f=tl7T4voC5-mn&jjh#Tjw3gM0R(5ZHZ;_@x5TuPJGS`U)<5nDz zL&fB=(xLUR|5_*AJAq(YjT1hlOnjZg7dSJI>XoH8>4aNyE{faTDb!mfEkqO@QuetP zDOmBRCQCj)nyE1a(G#?gv<6;o+$I{VV>m>L7;JVc)(?<(;Inxm^p-1)-dk0Ch~gfj zyVn%)@ozPI;1II4l*wXFY+iz4k*k!=$NakJDHu54p~<6?G5~p_oUzH(facOWBb^|f zO67P8%u$`swR&-BLUTZU#O8rZ(e1q%yDjd^q&Eq2{7h@@^^a^oFCnxVQ!R#++;8 z_efrlQ|aK~KHN>n8F5b6jD8=a{9S23>-0?-0vxH^A~oMO#EUy!nv{mn8GGt^D7OD7 z!68}ZgQHK+WTZcQCej-k?dt=*GePxkQ=`uI7U=-@d$luwm6wW~O);khc+bL@v5 z%e8rlyy+1_}&82wf4P&iSl9dg-j{g4ua0*E-xn^=?YrSvRM0EUcy zE@?|ya<%%Ln?@jt_@C{1^;#U3{za+Wg%LTQu@6X~>PO0akBIEE0qwb>gizxtU5Te~ zBRrOOrG1)RSgtwjLJXbjqnQpf%Xun11e%Z8&$ON^~ z%8f6tI#6L!1ITRA7hmCDt4T10u1`XgQ?GyZ8C|#B>BJ>C+>dt_Nemy*z(N$Ltk;zd zG1*9c$eg_P2Fh7Y{fQFfG^1!yPiQ8nG^64I60-eJS9UxifRno=EJ9WH5_66PT0O@- z)(9lu?G^V#4DZ(+3fl>OVy%_jj&pw&lV-Iuv#@}A6c z4I59M&2S`ZuRNRM zijONK)rYn+=fx+`bn**cmO}5WE9wb`8}dC?#OoDh&cw+FIv;Y>^Y`56hB55%SXqQ5 zeUa^sH;iy^tEks(aoDo_RJ>8Eq9!-aB=-qJ3VfKUw$1^%>iEb$ex3%!+SQ}m*8K&gBEm-Q^)Y{WFiHees=-qSFSG=~=#k=|&X(_$@IG*PU48KqDgec$s* zTa?*H4f|X-*n5A2K^ym_K_0Wo4=kStK=hrCjSafVr5CHL2uz{F;H0Xn#!RoS;x84X*_AnP}N*E(|-_FL_gO^9D5@iGvY z`NmYMrp7+sPVe@CWkl7Oc@n~oh7~CJETpz?!5o$vZYLCU6>)JmD=``Jg*0Ro-I7at zu^-wA+p$)plY#=sltpoCN6-rBUz`BbDYW%Z&<-fq6ipu1x?a^i#Jh0DK4`>LMh5`87%a z=|M!@kPJ}pUq2LB7DzlG;vpp-vTCp_xt=r8$0U#ZXD)PbKbQ`cokw1sod>S_PMv1a z4b~zVtvj|rj}dlvgRlH9i}(B~r~W0M=>5~~@R!{8mn_xyr$6>D8T9r~yYp`{)$!Yn z{}Q&LC*OkQeupaC4`wB4DnM_%1+!9%3OU~Kb+tA!Bn1HfZI9zP{1!S-X{Bhf@A9}3dHqJDc)@>kR?YIM^ev7Y$;YSE@qyHV^@x93tL69_u{s1HOzhKypo3CkOZW5OU0G7V}o%tKO zaS$x<6UK2u2%eZQ`ooWc#9{uspc~N+)Mo~wH{XKKqKomrnjp^H2p$Xt&hh}!dptns z@sHW_W5S3g=^-$b^OXSb2fLE4ucyOpS7BR6D|>e<7oj`8-!JT6Z*~ Date: Mon, 12 Jan 2026 16:32:12 -0500 Subject: [PATCH 26/29] Updating the notebooks --- chapters/chap00.ipynb | 2 +- chapters/chap10.ipynb | 2 +- chapters/chap12.ipynb | 170 +++++++++++++++++++++--------------------- chapters/chap15.ipynb | 22 +++--- chapters/chap16.ipynb | 2 +- chapters/chap18.ipynb | 2 +- 6 files changed, 100 insertions(+), 100 deletions(-) diff --git a/chapters/chap00.ipynb b/chapters/chap00.ipynb index b42d9c0e..e7c283c1 100644 --- a/chapters/chap00.ipynb +++ b/chapters/chap00.ipynb @@ -50,7 +50,7 @@ "\n", "Writing this book, I tried to be careful with the vocabulary.\n", "I define each term when it first appears.\n", - "And there is a glossary that the end of each chapter that reviews the terms that were introduced.\n", + "And there is a glossary at the end of each chapter that reviews the terms that were introduced.\n", "\n", "I also tried to be concise.\n", "The less mental effort it takes to read the book, the more capacity you will have for programming.\n", diff --git a/chapters/chap10.ipynb b/chapters/chap10.ipynb index e1de3afe..742da868 100644 --- a/chapters/chap10.ipynb +++ b/chapters/chap10.ipynb @@ -1364,7 +1364,7 @@ "id": "170f1deb", "metadata": {}, "source": [ - "### Ask an assistant\n", + "### Ask a virtual assistant\n", "\n", "In this chapter, I said the keys in a dictionary have to be hashable and I gave a short explanation. If you would like more details, ask a virtual assistant, \"Why do keys in Python dictionaries have to be hashable?\"\n", "\n", diff --git a/chapters/chap12.ipynb b/chapters/chap12.ipynb index 49c55ce7..f2d5d236 100644 --- a/chapters/chap12.ipynb +++ b/chapters/chap12.ipynb @@ -80,7 +80,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "id": "4cd1c980", "metadata": { "tags": [] @@ -103,7 +103,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "id": "52ebfe94", "metadata": { "tags": [] @@ -116,7 +116,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "id": "49cfc352", "metadata": { "tags": [] @@ -142,7 +142,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "id": "44e53ce6", "metadata": {}, "outputs": [], @@ -152,7 +152,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "id": "50d1fafa", "metadata": { "tags": [] @@ -173,7 +173,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 7, "id": "16d24028", "metadata": {}, "outputs": [], @@ -201,7 +201,7 @@ }, { "cell_type": "code", - "execution_count": 88, + "execution_count": 8, "id": "1668e6bd", "metadata": {}, "outputs": [], @@ -241,7 +241,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 9, "id": "ed5f0a43", "metadata": {}, "outputs": [], @@ -261,7 +261,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 10, "id": "a9df2aeb", "metadata": {}, "outputs": [], @@ -283,7 +283,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 11, "id": "b138b123", "metadata": {}, "outputs": [], @@ -305,7 +305,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 12, "id": "fe65df44", "metadata": {}, "outputs": [], @@ -324,7 +324,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 13, "id": "b47a87cf", "metadata": {}, "outputs": [], @@ -347,7 +347,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 14, "id": "348949be", "metadata": {}, "outputs": [], @@ -366,7 +366,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 15, "id": "06121901", "metadata": {}, "outputs": [], @@ -385,7 +385,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 16, "id": "881ed9f8", "metadata": {}, "outputs": [], @@ -403,7 +403,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 17, "id": "ab5d2fed", "metadata": {}, "outputs": [], @@ -421,7 +421,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 18, "id": "2fdfb936", "metadata": {}, "outputs": [], @@ -446,7 +446,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 19, "id": "3104d191", "metadata": {}, "outputs": [], @@ -474,7 +474,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 20, "id": "4fba7d1c", "metadata": {}, "outputs": [], @@ -502,7 +502,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 21, "id": "4be34c95", "metadata": {}, "outputs": [], @@ -525,7 +525,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 22, "id": "8efe7c4c", "metadata": {}, "outputs": [], @@ -543,7 +543,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 23, "id": "79c17341", "metadata": {}, "outputs": [], @@ -574,7 +574,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 24, "id": "838bcb4f", "metadata": {}, "outputs": [], @@ -593,7 +593,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 25, "id": "90c45e7e", "metadata": {}, "outputs": [], @@ -617,7 +617,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 26, "id": "e106be95", "metadata": {}, "outputs": [], @@ -635,7 +635,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 27, "id": "8101a510", "metadata": {}, "outputs": [], @@ -655,7 +655,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 28, "id": "c046117b", "metadata": { "tags": [] @@ -697,7 +697,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 29, "id": "edd8ff1c", "metadata": { "tags": [] @@ -717,7 +717,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 30, "id": "67ef3e08", "metadata": {}, "outputs": [], @@ -735,7 +735,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 31, "id": "471d58e9", "metadata": {}, "outputs": [], @@ -755,7 +755,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 32, "id": "4d4c3538", "metadata": {}, "outputs": [], @@ -778,7 +778,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 33, "id": "8b42e014", "metadata": {}, "outputs": [], @@ -796,7 +796,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 34, "id": "f48be152", "metadata": {}, "outputs": [], @@ -817,7 +817,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 35, "id": "5716f967", "metadata": {}, "outputs": [], @@ -838,7 +838,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 36, "id": "b37219f5", "metadata": {}, "outputs": [], @@ -880,7 +880,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 37, "id": "75b548a9", "metadata": {}, "outputs": [], @@ -890,7 +890,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 38, "id": "2bfa31ae", "metadata": { "tags": [] @@ -913,7 +913,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 39, "id": "6f5d5c1c", "metadata": {}, "outputs": [], @@ -932,7 +932,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 40, "id": "1445068b", "metadata": {}, "outputs": [], @@ -952,7 +952,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 41, "id": "4fc47ecd", "metadata": { "tags": [] @@ -974,7 +974,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 42, "id": "91ae9d4c", "metadata": {}, "outputs": [], @@ -993,7 +993,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 43, "id": "8bf595c1", "metadata": {}, "outputs": [], @@ -1016,7 +1016,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 44, "id": "22953b65", "metadata": {}, "outputs": [], @@ -1034,7 +1034,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 45, "id": "1c7cdf4d", "metadata": {}, "outputs": [], @@ -1052,7 +1052,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 46, "id": "a7a3aa42", "metadata": {}, "outputs": [], @@ -1071,7 +1071,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 47, "id": "c4286fb3", "metadata": {}, "outputs": [], @@ -1111,7 +1111,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 48, "id": "d8ee02f6", "metadata": {}, "outputs": [], @@ -1131,7 +1131,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 49, "id": "bfdb1de1", "metadata": {}, "outputs": [], @@ -1158,7 +1158,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 50, "id": "2e73df79", "metadata": {}, "outputs": [], @@ -1176,7 +1176,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 51, "id": "495ad429", "metadata": {}, "outputs": [], @@ -1206,7 +1206,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 52, "id": "c1224061", "metadata": {}, "outputs": [], @@ -1228,7 +1228,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 53, "id": "4296485a", "metadata": {}, "outputs": [], @@ -1247,7 +1247,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 54, "id": "e03fd803", "metadata": { "tags": [] @@ -1259,7 +1259,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 55, "id": "f6ee1840", "metadata": {}, "outputs": [], @@ -1282,7 +1282,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 56, "id": "d6c65d79", "metadata": {}, "outputs": [], @@ -1312,7 +1312,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 57, "id": "3171d592", "metadata": {}, "outputs": [], @@ -1335,7 +1335,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 58, "id": "3321e6a4", "metadata": {}, "outputs": [], @@ -1353,7 +1353,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 59, "id": "e4e55c71", "metadata": {}, "outputs": [], @@ -1372,7 +1372,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 60, "id": "f25dcb5e", "metadata": {}, "outputs": [], @@ -1391,7 +1391,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 61, "id": "990354a0", "metadata": {}, "outputs": [], @@ -1413,7 +1413,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 62, "id": "b9371452", "metadata": {}, "outputs": [], @@ -1441,7 +1441,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 63, "id": "8c3f45c2", "metadata": {}, "outputs": [], @@ -1464,7 +1464,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 64, "id": "641990a3", "metadata": {}, "outputs": [], @@ -1487,7 +1487,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 65, "id": "9322a49a", "metadata": {}, "outputs": [], @@ -1509,7 +1509,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 66, "id": "45a60c52", "metadata": {}, "outputs": [], @@ -1533,7 +1533,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 67, "id": "3e86102c", "metadata": { "tags": [] @@ -1553,7 +1553,7 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 68, "id": "e49d52f7", "metadata": {}, "outputs": [], @@ -1590,7 +1590,7 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 69, "id": "15108884", "metadata": {}, "outputs": [], @@ -1602,7 +1602,7 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 70, "id": "747a41be", "metadata": { "tags": [] @@ -1626,7 +1626,7 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 71, "id": "5a4682dc", "metadata": {}, "outputs": [], @@ -1647,7 +1647,7 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 72, "id": "36ee0f76", "metadata": {}, "outputs": [], @@ -1782,7 +1782,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 73, "id": "05752b6d", "metadata": { "tags": [] @@ -1807,7 +1807,7 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 74, "id": "a4365ac0", "metadata": {}, "outputs": [], @@ -1850,7 +1850,7 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 75, "id": "f38a61ff", "metadata": {}, "outputs": [], @@ -1860,7 +1860,7 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": 76, "id": "d047e546", "metadata": {}, "outputs": [], @@ -1880,7 +1880,7 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": 77, "id": "6b8932ee", "metadata": { "tags": [] @@ -1908,7 +1908,7 @@ }, { "cell_type": "code", - "execution_count": 79, + "execution_count": 78, "id": "44c3f0d8", "metadata": { "tags": [] @@ -1932,7 +1932,7 @@ }, { "cell_type": "code", - "execution_count": 80, + "execution_count": 79, "id": "3fcf85f4", "metadata": {}, "outputs": [], @@ -1950,7 +1950,7 @@ }, { "cell_type": "code", - "execution_count": 81, + "execution_count": 80, "id": "d9e554e3", "metadata": {}, "outputs": [], @@ -1975,7 +1975,7 @@ }, { "cell_type": "code", - "execution_count": 82, + "execution_count": 81, "id": "8c2ee21c", "metadata": { "tags": [] @@ -2003,7 +2003,7 @@ }, { "cell_type": "code", - "execution_count": 83, + "execution_count": 82, "id": "b13384e3", "metadata": { "tags": [] @@ -2023,7 +2023,7 @@ }, { "cell_type": "code", - "execution_count": 84, + "execution_count": 83, "id": "62c2177f", "metadata": {}, "outputs": [], @@ -2057,7 +2057,7 @@ }, { "cell_type": "code", - "execution_count": 85, + "execution_count": 84, "id": "64e11f26", "metadata": { "tags": [] @@ -2081,7 +2081,7 @@ }, { "cell_type": "code", - "execution_count": 86, + "execution_count": 85, "id": "fe2d93fa", "metadata": {}, "outputs": [], @@ -2109,7 +2109,7 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 86, "id": "22210a5c", "metadata": {}, "outputs": [], diff --git a/chapters/chap15.ipynb b/chapters/chap15.ipynb index 52fb9c86..f7dfa60f 100644 --- a/chapters/chap15.ipynb +++ b/chapters/chap15.ipynb @@ -373,7 +373,7 @@ "id": "e6a18c76", "metadata": {}, "source": [ - "Now that we have `Time.from_seconds`, we can use it to write `add_time` as a method.\n", + "Now that we have `Time.int_to_time`, we can use it to write `add_time` as a method.\n", "Here's the function from the previous chapter." ] }, @@ -409,7 +409,7 @@ "\n", " def add_time(self, hours, minutes, seconds):\n", " duration = make_time(hours, minutes, seconds)\n", - " seconds = time_to_int(self) + time_to_int(duration)\n", + " seconds = Time.time_to_int(self) + Time.time_to_int(duration)\n", " return Time.int_to_time(seconds)" ] }, @@ -431,7 +431,7 @@ "outputs": [], "source": [ "end = start.add_time(1, 32, 0)\n", - "print_time(end)" + "end.print_time()" ] }, { @@ -836,7 +836,7 @@ "\n", " def is_after(self, other):\n", " assert self.is_valid(), 'self is not a valid Time'\n", - " assert other.is_valid(), 'self is not a valid Time'\n", + " assert other.is_valid(), 'other is not a valid Time'\n", " return self.time_to_int() > other.time_to_int()" ] }, @@ -924,7 +924,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 36, "id": "3115ea33", "metadata": { "tags": [] @@ -960,7 +960,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 37, "id": "133d7679", "metadata": {}, "outputs": [], @@ -992,7 +992,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 38, "id": "3c9f3777-4869-481e-9f4e-4223d6028913", "metadata": {}, "outputs": [], @@ -1012,7 +1012,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 39, "id": "fd4b2521-aa71-45da-97eb-ce62ce2714ad", "metadata": { "tags": [] @@ -1025,7 +1025,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 40, "id": "ee3f1294-cad1-406b-a574-045ad2b84294", "metadata": { "tags": [] @@ -1038,7 +1038,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 41, "id": "ac093f7b-83cf-4488-8842-5c71bcfa35ec", "metadata": { "tags": [] @@ -1050,7 +1050,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 42, "id": "7e7cb5e1-631f-4b1e-874f-eb16d4792625", "metadata": { "tags": [] diff --git a/chapters/chap16.ipynb b/chapters/chap16.ipynb index 57f3d417..eb84e1ca 100644 --- a/chapters/chap16.ipynb +++ b/chapters/chap16.ipynb @@ -234,7 +234,7 @@ "id": "a7a635ee", "metadata": {}, "source": [ - "In the same way that the built in function `sort` modifies a list, and the `sorted` function creates a new list, now we have a `translate` method that modifies a `Point` and a `translated` method that creates a new one.\n", + "In the same way that the `sort` method modifies a list and the `sorted` function creates a new list, now we have a `translate` method that modifies a `Point` and a `translated` method that creates a new one.\n", "\n", "Here's an example:" ] diff --git a/chapters/chap18.ipynb b/chapters/chap18.ipynb index 41d5fc1a..30278222 100644 --- a/chapters/chap18.ipynb +++ b/chapters/chap18.ipynb @@ -1661,7 +1661,7 @@ "id": "07be77f3", "metadata": {}, "source": [ - "In this example, the value of `kwargs` is printed, but otherwise is has no effect.\n", + "In this example, the value of `kwargs` is printed, but otherwise it has no effect.\n", "\n", "But the `**` operator can also be used in an argument list to unpack a dictionary.\n", "For example, here's a version of `mean` that packs any keyword arguments it gets and then unpacks them as keyword arguments for `sum`." From bca0892915f15937b2122046db3d5bb155a57188 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Mon, 12 Jan 2026 16:32:12 -0500 Subject: [PATCH 27/29] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579251 -> 579250 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index 4be25fae6d89b5d67784f9163742d7ff4875de68..f5c786643b81d9a6019a6db62913690c0b0cc086 100644 GIT binary patch delta 40437 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 delta 40563 zcmY(qQ;;Ug5-r>|r)}Fdr)}GuwvDfCThq2}+qP}nefQZn{(H{!e`dVSn5d{dSm@Sd1 zh%hk=4(|V98fxK$!2rz{eqI?8d*GGX;!#BCzK!Q%6{=0vCJ!00?1N>NPr}y6CohDGMF8w_W{J22c$6;5XtFVQ zWr*Vm$XTtXUW|9`Y~K-G$;`qTFtHyZXrLyW??mUT?#Su}5c^Nbbt{BP+rqo(5!&v# z8uHvuDYt^P(725}jris@Xlv0H;ALpbYrWN|v$c>RW=CG2l?jR5&odoxU}m8=7BhYm zoBhZVp1(P=c>w#f!Fi{9F2$tdH^OdUt4OdxU4)lVp3CKx##(w4Isn3v!JJ;%YaGdg zxw}V2Uv|EC>iJjA?bG0>q}p`$?5DtA9`yr@m2;wU<+Q~RgXI<)MQzX;DQ>arxm5S; zVN%#cs3aypFw7}(CUszN5T>v(rBIwSIDQDG{jH}G7J&7>Qkx80F5yYS7G_|y-|_fG zs6pZS{TkevNKj6)YY>&laY~rV9YpGtpe4=)uEh0~Lb#-E;U+4w^^R#K$Fj+DuMW;s zmY~?i-N{)j1=rM6;AZgZW(C?l8SHNTpnsoJK%tE2(Yq>&$a{dt)cV*EI>h|ky*Y`b zPaLowvj9f9Xyf%7nC#L>^M|Oy664TEC8^FKZW=ZbXF_(mLfTs;3ZV?p8I6nN57F=} z7-4`)$`xzkSJ9!THwfa|7NP{Ks=WaIBh%qci0|d};;tBpj8-Wvt;Vp9E?wxC8UaU% zQp7x!=GPo5Aw5{tvR;T;CK}&7dDtz%sH)st3qV`ExyMBza8a;|6`OWAF>0p!?fntW zOWZ&RXeF7EQ5rb)6k&awnG=~s8W|_UWsg2uZ4dtuF%#b*>12JZsX*L`_XT<``q6+< z=mR%j30wcWldLVF*Q^y3`B6v~C68E6V>pR@j`dnvVj`%lxiogPIGQc|H3JEe8etMH zKVSt54Ttxl1et^HoX~APFf08FL1~Lg6`wu6j)Sg83e(wKzBRvC4YK92PF2{?VcqZ zwNp64CIP)A>9Du|w$mwUB8!>Q%->!)Nbk2rc{RPoTE0f?+@OUxiVjPV57*K(Gr;oj z1RGaaxESxG5~oBbQfocU3A&MAkk%5)b{HAa@WH(-?`5^Y=kYrRGFb~ypu)+ynS-B= zpY3b9BkoztF_(=1jeT2(q)cQQ)9eRj&4O2moI6EkpMZGRk$d1&A(<$2o4*~sm_bLQ zjJd4T`z9~jMJ^3eyx9uJ{$aAz0ubuigy`;MdGS;j200{2K_X{_$ z_#no3DZ5BHF_1~$Q9yGvKc8tFckhUf6mI$K4_RhVSwsl35xxQvp_!H6nj|zx(I9H} zt`+cMl_WTZnIFfx;J$~F%#0UEWmm~DpqgiClv7JAdl6+|OV*LhTrJr|I_2^zD-eNtjRXrq_sJG7#w>cC_*hal0fc}Tm0tU4-5g-d zS+|oq2RIoh8q@dDSuiR#ZT?(DZr5+86J<7Q7AJ4O6{F4D)@=h1w{u|zq1@qviN|g? z5bSWEg`<7485CY&agKLvGRms16@T|)sKVAP&t3I}RjG#r>kszN_E3?oGWrpm9EBy# z{_4*;KrgGCei%gE0CY=rZIJC3GVBt{fi&M7V=Eak;&o3m*%+P^!h~0urlHS~Vc-Ha z&cES;M4@&l|5&zm$Xq2i*4)`jPDT#0(mV5}4%~E=xg7UnL3kzW$9bO$ej%0DRuxg^ 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

rqCX*zxR=E-W{3N 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 Wm;o9fsioS^0434Y5y1P$^8WyuJy~r4 From 20ca672ff606d9fcfd30faf82be2c4daf2e080ed Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Sun, 8 Mar 2026 10:48:17 -0400 Subject: [PATCH 28/29] Updating the notebooks --- chapters/chap13.ipynb | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/chapters/chap13.ipynb b/chapters/chap13.ipynb index ba90420d..fe8f516a 100644 --- a/chapters/chap13.ipynb +++ b/chapters/chap13.ipynb @@ -753,6 +753,18 @@ "db" ] }, + { + "cell_type": "markdown", + "id": "47685eb7", + "metadata": { + "tags": [] + }, + "source": [ + "If you get an error like `db type could not be determined`, the most likely cause is that a file with the same name already exists but is not a valid shelve database (for example, it may be corrupted or created by something else).\n", + "\n", + "In that case, the simplest solution is to delete the existing file and run the code again so that `shelve.open` can create a new database." + ] + }, { "cell_type": "markdown", "id": "0e4a2fb3", From 19cb35f68cf4c964d20e08c4647e251e8ec63743 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Sun, 8 Mar 2026 10:48:17 -0400 Subject: [PATCH 29/29] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579250 -> 579397 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index f5c786643b81d9a6019a6db62913690c0b0cc086..e4202d4ca4c34ebb14768a0c98f8d04f6399fde8 100644 GIT binary patch delta 13975 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