From d72dd0bc3400b567c0653eb6d01fcfcbb48fe500 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Derrode?= <stephane.derrode@ec-lyon.fr>
Date: Wed, 16 Sep 2020 09:15:27 +0200
Subject: [PATCH] publication du sujet de BE 2

---
 seance2_4h/figures/formes.svg          |   3 +
 seance2_4h/figures/spyder-tests.png    | Bin 0 -> 41286 bytes
 seance2_4h/figures/spyder-unittest.png | Bin 0 -> 4633 bytes
 seance2_4h/seance2_4h.md               | 112 +++++++++++++++++++++++++
 4 files changed, 115 insertions(+)
 create mode 100644 seance2_4h/figures/formes.svg
 create mode 100644 seance2_4h/figures/spyder-tests.png
 create mode 100644 seance2_4h/figures/spyder-unittest.png
 create mode 100644 seance2_4h/seance2_4h.md

diff --git a/seance2_4h/figures/formes.svg b/seance2_4h/figures/formes.svg
new file mode 100644
index 0000000..977d5c6
--- /dev/null
+++ b/seance2_4h/figures/formes.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="348px" height="181px" viewBox="-0.5 -0.5 348 181" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2020-09-02T07:51:36.488Z&quot; agent=&quot;5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36&quot; etag=&quot;fuW20ZwMJLSmCLgNqiah&quot; version=&quot;13.6.6&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;QcHEdDH7hetbROZjSo9L&quot; name=&quot;Page-1&quot;&gt;7Vptb5swEP41+biJd8LHkDabJrWa1kprP1rBCdYMjsBpyH79TLAD2CGFDPKyVZEifDZn5567x75zRuY0yr4kYBU+kADikaEF2ci8GxmGO3bYdy7YFgLLtQrBMkFBIdJLwRP6DblQ49I1CmBaG0gJwRSt6sI5iWM4pzUZSBKyqQ9bEFyfdQWWUBE8zQFWpT9RQMNCOjbcUv4VomUoZtYdr+iJgBjMf0kagoBsKiLzfmROE0Jo8RRlU4hz2wm7FO/NGnr3C0tgTNu8ED4uXp2H1ewh3fjPmanRb9rsE9fyBvCa/2C+WLoVFoBxMMkNyVpzDNIUzUemH9IIM4HOHtV1cKUwqJmWr+oLJBGkyZYN2JQGtbmRwoothSyBGFD0VgcEcFyXe3X7Gb4TxFZiaNwFDY3r2QqItLqKlKyTOeRvVQ0oKbKNdxRRkCwhVRSxh8rPLkU7fDpgZfz7WJlO3cTeiVDJevbrOxNU5vtQJWQdBzBXojFgNiGi8GkF5nnvhjFpHbcFwnhKMElYOyYxG+SnNCG/oBCODPN+4viOs+8RbHUU9jeYUJgdBV5Y1JOcX1i44hjWAcdwtWYfqFm9q4mtTtHAjRaANNzZXL+xuGiyfufAkBWdmcPsD9R6oDNF0cCouQpqmQIb4xFah6fOUBzLA0wGMFrG+Y7FYIRM7ueshNgRbMI7IhQE+TQHWbLOowsS0xmIEM4t9YwidnQ0tEe4Yd8/SATifsjQbjpSvEOGxlBkOFYA2v7XAJmmtP9bFwZIOEjnw1vKQpsePdO1sKhyVvB3H9bD5uQ5lykmq7SvnWAtS4LZPJFgZUXnJlhdzcPC2w3gfMghZ+shsC0psPWxfeHAVrMy/IFciwTi8pTcIkm7PkqGGaIvHND8+bXyfJdVG1vRiJm1XvjKdo3Xak/50q4l3mpEvKDUFhFRUGaLgdeymdgNDtp5M5EU6XIOPPRm0iY1xhit0ibe6ObKTaTRpmjh267p3fXDMIZcnzvAMLp2wIHkzb4/iuk13RWhr1dCXz8a+qcHsTDllcTmvowkoJXreW1j03C8z3Zd1ZkrILrTp080InwlwKmVC+9E4GQPkBUNDZuaYt/AaeHa3UMNx/1tTQ+Rfe591/twkTNQf4lzZxeRDwiqqqGv8NQyUHLDpdQB00VDTvRt9TB31nTRUEs0yQ0XWYeETt7z3UtDp9ZoVGLeJ0RpCFZwR8RkHZx0NfsX5ldY3HEnvjcb6lbXki4yxi0zphNudVmz/K9LwaflH4bM+z8=&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><path d="M 7 30 L 320.63 30" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 325.88 30 L 318.88 33.5 L 320.63 30 L 318.88 26.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 167 10 L 167 163.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 167 168.88 L 163.5 161.88 L 167 163.63 L 170.5 161.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="197" y="80" width="40" height="70" fill="none" stroke="#ea6b66" pointer-events="all"/><path d="M 197 80 L 197 30" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 197 80 L 167 80" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><rect x="307" y="30" width="40" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 40px; margin-left: 308px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Times New Roman; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">x</div></div></div></foreignObject><text x="327" y="44" fill="#000000" font-family="Times New Roman" font-size="12px" text-anchor="middle">x</text></switch></g><rect x="137" y="160" width="40" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 170px; margin-left: 138px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Times New Roman; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">y</div></div></div></foreignObject><text x="157" y="174" fill="#000000" font-family="Times New Roman" font-size="12px" text-anchor="middle">y</text></switch></g><path d="M 247 145.88 L 247 84.12" fill="none" stroke="#b3b3b3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 247 148.88 L 245 144.88 L 247 145.88 L 249 144.88 Z" fill="#b3b3b3" stroke="#b3b3b3" stroke-miterlimit="10" pointer-events="all"/><path d="M 247 81.12 L 249 85.12 L 247 84.12 L 245 85.12 Z" fill="#b3b3b3" stroke="#b3b3b3" stroke-miterlimit="10" pointer-events="all"/><rect x="237" y="105" width="40" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 115px; margin-left: 238px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Times New Roman; color: #B3B3B3; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">h</div></div></div></foreignObject><text x="257" y="119" fill="#B3B3B3" font-family="Times New Roman" font-size="12px" text-anchor="middle">h</text></switch></g><rect x="197" y="160" width="40" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 170px; margin-left: 198px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Times New Roman; color: #B3B3B3; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">l</div></div></div></foreignObject><text x="217" y="174" fill="#B3B3B3" font-family="Times New Roman" font-size="12px" text-anchor="middle">l</text></switch></g><path d="M 201.12 160 L 232.88 160" fill="none" stroke="#b3b3b3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 198.12 160 L 202.12 158 L 201.12 160 L 202.12 162 Z" fill="#b3b3b3" stroke="#b3b3b3" stroke-miterlimit="10" pointer-events="all"/><path d="M 235.88 160 L 231.88 162 L 232.88 160 L 231.88 158 Z" fill="#b3b3b3" stroke="#b3b3b3" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="77" cy="90" rx="50" ry="30" fill="none" stroke="#b5739d" pointer-events="all"/><path d="M 77 90 L 76.5 30" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 167 89 L 77 89" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 76.5 115.88 L 76.5 94.12" fill="none" stroke="#b3b3b3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 76.5 118.88 L 74.5 114.88 L 76.5 115.88 L 78.5 114.88 Z" fill="#b3b3b3" stroke="#b3b3b3" stroke-miterlimit="10" pointer-events="all"/><path d="M 76.5 91.12 L 78.5 95.12 L 76.5 94.12 L 74.5 95.12 Z" fill="#b3b3b3" stroke="#b3b3b3" stroke-miterlimit="10" pointer-events="all"/><path d="M 72.88 89.5 L 31.12 89.5" fill="none" stroke="#b3b3b3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 75.88 89.5 L 71.88 91.5 L 72.88 89.5 L 71.88 87.5 Z" fill="#b3b3b3" stroke="#b3b3b3" stroke-miterlimit="10" pointer-events="all"/><path d="M 28.12 89.5 L 32.12 87.5 L 31.12 89.5 L 32.12 91.5 Z" fill="#b3b3b3" stroke="#b3b3b3" stroke-miterlimit="10" pointer-events="all"/><rect x="37" y="70" width="40" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 80px; margin-left: 38px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Times New Roman; color: #B3B3B3; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">rx</div></div></div></foreignObject><text x="57" y="84" fill="#B3B3B3" font-family="Times New Roman" font-size="12px" text-anchor="middle">rx</text></switch></g><rect x="67" y="90" width="40" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 100px; margin-left: 68px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Times New Roman; color: #B3B3B3; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">ry</div></div></div></foreignObject><text x="87" y="104" fill="#B3B3B3" font-family="Times New Roman" font-size="12px" text-anchor="middle">ry</text></switch></g><path d="M 232 17.5 C 212 17.5 207 35 223 38.5 C 207 46.2 225 63 238 56 C 247 70 277 70 287 56 C 307 56 307 42 294.5 35 C 307 21 287 7 269.5 14 C 257 3.5 237 3.5 232 17.5 Z" fill="none" stroke="#67ab9f" stroke-miterlimit="10" pointer-events="all"/></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://desk.draw.io/support/solutions/articles/16000042487" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg>
\ No newline at end of file
diff --git a/seance2_4h/figures/spyder-tests.png b/seance2_4h/figures/spyder-tests.png
new file mode 100644
index 0000000000000000000000000000000000000000..6e0b0be2309ee3d7d989d878f04856c8b0ae2487
GIT binary patch
literal 41286
zcmeAS@N?(olHy`uVBq!ia0y~yU}a)pU~1)HW?*1gAeth}z`)E9;1lA?z{tSF#>l|X
z%Fe~cFUZFr$sEhTATBAU%kV>1UPeT!Uqww>TUSd{=KnO7X<F)&o-(i)nHXwXY5Zeg
zu&}bQFr8{@@ZZkC_K>uchl{SMw~4!lo1N|dDn|#u0AI%_yVFKyztmJi!$ShR|1Y&(
z!qCXTm-(L|?|*E3jCY0yL(zY>q9079|6^nRr>3VEl&oFtw>l$jl}P3PoV@JpoFx%e
zA)0mni%W|(C2lIn|NkyV#kA#rWpzbh^CtT#HVkVSUc^WJj|{4++FI98o7R<V-}T>j
zdcfbri00NNmkIy)w}>~lclY%;uCJ}`>gn{G_OG?|fBcmH+S@hzCiL#D-<z>8Lu;pL
z$-Mjt{ktP(|0|oZYs$3A|7)#mciX1S|694rY}TBa=}Uk6?(?2G<NuKfhdUM@s$W~9
zcFtk`!g(u}1}>a;ta|DHvQ1TC2g4UHUG!=mL(S@c%U3R2zH&|a(e%0Nj;vn0>cRZE
zotyrxUiJU~GKRi=ZR<C!t2kLPYtO8+E6#1&vT^>_&s(=|*}D1P_MO}QZBRbCtFP-^
z$F99Q_wL{GZ>!7dV{4Wj{QGTt<i>;VKJE_Mx9|Uf!~17ko^fZ-o&}fY+}}U*=%HJO
zj~=?Q_vXI?dKXWn>_2{S`^i5muC6$K^4O_k|4*Ji@%Y5%Wp|gJId}T(g)@)NPd<I=
z`0Mj!KTq~ux_EHI-3?bSoI88z%K1y@9$r{|=lq3}*A8F1c;WozYZotHxO(aO>L&}&
zUAcGZ%EeRHPanSe|MJyK|F0T9JNNAJrT;&##T|ICXV;_M=dORfeB;*bYgez{xN_;%
z`CB*cT)%bg;f+&YuCBdx=jMSIhrZq1{`l^l+xH*cy?^J#i^C7^J$`ZL@&Efd_a5Bc
z^l8n#2Opn5xcKP7(+{^lUU~fg!K3>pU!S@E;QzxX4_-Wa`0VkE2Txx-e)j0Y!}m|0
zKe_Vm(z6#&U%Yz$_34+lFMhv#{o?KGyN}=ed-e9^{{K7geZKeR{p<f<s@{Eg`}OV5
z7hfNJ{P^|nkDBM-U%vnR|Kpbr?|;7i^8NGYKVSa*{P*+sk3awZ|NsAAnsd@U1_lKN
zPZ!6Kid%2?@=lOGKK1!Yo`m(g7e{lMvn&2!;oZXAx%)w^K#`0S^KZVA+l;-vi}Mp^
zZa8A_+M<22j-FXrr^O7NcGnYar=KdHvg^N@>o+CMQmb@BV!yjlnhbOB+lIBO{Y|~5
zCSn%56MpE;I<)S#@0S&O1*&h~%5D-cEY;t<s^O4({RE|@|0?P?HJ+)N85tRGzvs-V
zQ@1YWm`Q&<I?I!r`$PQYKQ@17FR#}S;o4fc#o+$4>5N-gjbCJWe`R}+@4h)wf2#Pj
zY196_4yyGG{<~i<QRcD4@gLXv^rzHEF6USyzPfnosrprae%XhvNUQ%VUvJx8*pn>t
zINB~w_u6c0siXf-_=x^ptqKy8xPR;8&7@@ay#~!rcc-PTev>V@oh57Ys(||&Beee8
zKlMwLdHlNTyxFS|?;W-V`ywANJu18PdgP1u58qFZ|8qm#{^v&hf0sHguaEzCbNl~4
z=l6e2Um7N3$8}!5_S4D5=f!&}-0OPs=U42N;$U;WYL&;|lYi}pPp<pgKUJJxzAugc
zclNm5KhF!t?Z25v&H4Ac{Qj@vW%+-tb@^T{m6!i3?&Ds+=4kJyHrdCwRpKU#wBMcg
z<jB%#wKj6TV!xj8bJo7%R{tO8p~kw>xc;L0`W=7ft1tfOX&cw@q2Ei@GT^}9#*epq
zre|A=dF_h(dqcgn_D!hr+7-eA5)oG>*F|37<ltGt{#)OB?x7!Lo&R^em~eMp!mW2F
z!oM!*xct2M*QdXqsvqzD+PN;~<kN3E<~BA>obpX;X;W}a=1<o7)-MWAR^1T&v};Mw
zMe)NBi^LfkU47&K>}WjDUmxhN_3!5V?O)Q}Zhij0XzBCr6>nF0ZPirS|3fx1=uO%8
z`#K?+QRgHz#YEE=&CnK`(k*cQ@)4(vKZ16>_{-FCIrE3cldj;%Fn5I*on1eY0*gK!
zeaUoM+d8<?A;EEB;0o8(j=$MB&&i8^o@c<ld`{5D2i&6Fdv-VcW-hJPI{SWxxq!#q
z1O3e_q%&^pzw7p3d+(OTxh!%=b$8^3#)UM=|7qs0xuEyE?mx5qkMBCVk9!U-|Fn2Z
zbFt;!po`o!Ue=R$E;uat;YjynyXBY7BYk%L>D%FUMnz%5qKne!m{=JL_FR6+6Ia5v
za7T>JF@<BIU2+|}T(-5CED_to#-#X&Kj?+m4*P)ZD_dnhA9Z^8ob`hGZH_-Gz5iu`
z{@+<Le{)Rhp~<-{b}N@=Jms}Mw%vWtA9ML13;z6;|FNL_<74?BKlDwj54`-}6r=Iy
zz{`nK8mz_3pK`?)JXP{@<h0)Z;j{lwk(<&wDsvMpy+3=OJLz=rYpc`4{JRsKF8u%O
zbYlMWIgd*2J)Ek(cmA)+Q<8JNEFQD=NB^35f3beOjocTXO>R$|-(?)I<#QD8|IPe(
zyLi3qo&%3oiz~jp%Exl4V&R1IvjsgKF95OQ^z&~R?z4R)zW;~gai0(0?LTbnuYEB8
z-|t0f=a1I<xhohyeGsqfaqh|#<C))E<G;4m$IU1^YILqcrSM$MCCjx})h#an+@meg
zT`}j>YJr($YM&ll+&indZsCWlGr=7d36+ljSI;|fo_kMleBGVbpFGyos6F_y^RCjC
z<Fb$>b^iSdu}}8tiN)?SRQJr<pYe|4@{iRMa^7+5KV_5!4m{62?<Oh-{j&c5rTPBH
z>$ktjyUYzds`>15ru(NP1(TNopVwJL*c#q^Sk!!A<K@@hRt$}P{rBakHO^aCacSns
z(|nrqi#ZyszOQ!JUn6JnqVwtJJ)5`wd9(b^nwld^_xxHsL3{dt%d-uja1z!JDG&K9
zzE$M&(+PX@K0g&uetSBXrEaEb%$aho$G4U3;`?sBjXRoFe*RpxW{`z%qIi%D!`>;%
zQ~fQH--YW}9b#}v*LnLOQZLRuA+Chs*POz=`!?81oC;=%J7YEJ=O6JqKRc|apJ)Fg
zF3BXT6a0yL!=D|G^D`}8ES_pPrCTbw@PERevPU9~mcII1^SdfN{ZILBzjGkpKU>rO
zRO&7BqbV7Cf+g<jeRSG;%<_%h!94!Z*S8#1teGbXl^zjoj~1wXm!tQ%$gOB+hp}Gm
zDZ$e}ZIe#DKlzbwFWb?HC;p!J$!a^T$bxm2SXf+<O7YGa(m@uQ&pMvp*%;GTzR9Q1
z-Dd8misCN+6OEd>m3KEp%##1ke=J}9pO*6izwO`FUR=v_xqhkfhuif_kG^#OeJx|}
zlM-wDW7~cAMCs^E+ZkXJ6QebaYu4OyOPRicu)>x(eC1q4ZL&dn)A_7q82v?dJT0gQ
zVms?FuR!m4kM!5wcW=JD({K0mLwX6zvn0Rv$+OQ@Msdt(<C5iDKS#RUrFf=5i)}#t
zotei#B~N#-zChpV>6<R!-2eCD7w=olMf#E-U&{Y|`^EbU<Iep5H@)5FX#Gw7)o^F}
zWw$$X<R9PGoEIOnN?+9H+m<P_=FFQW>*SVLxPSW7`Liy)nXF$rrGNLOw?CG2Cx2aj
z`R%VwUdyU~>US22J(83P4=NHnvrph1f6x6i8+XAO3#&9I|8zXY0jec>&QJY)gRxO(
z-Y1JmtEc)`FJ5c$zU<WY>v9K|KKOUwNA59Arp=kl&Un9h&HmElnBl&66^8fEpVQXS
zb8juZu6|7A&OC|w^N(-tlr5fV!qw`O>mA6luVpr4t5a?;BU7siScr48b(-|-;L@BM
z*RsE--7Q<;yV^>jK(N(m;kM<|w5+wZ>aL!0_?l+*Be65Dh385fc=@>4#HPIc*56Oc
zv*PZh+_nyIUT8K`jF+YDjjm<WOzT}edsb-f{Sdc)?);L|_1w?Ct`IQkV(S)NzqKO$
z*55C`+YijqDDhhLD6;96#;UT6e|=XtIbvqapYLBj;egip@)cHo{%s#${qfTB-yZtn
zoZ1m(8TC(sdRMnMZBbbAeAhW^#k-Sp{RCZi-kJR8vHbb<I`V;054rwm9<jIozWJ2Z
z*<+_(zYcx1nIUz{-ivOwM?&teUGb~xdRwMq!M}Aco*Kty>AS!B8LBYv)$Z7PYjpg=
zp5NDAx;!vCtp1bb=6_ei<M*?AtX;tB@WAFnh@u_yTDwP#Y_k%h%d*v*cgMV4&t<S~
zZN$pUS{{LY+S(s=3^w%FJgCvMeHRhFtfZi0>FyT2!~5@*K1shim8B=UwO?jo_RIBl
z8?&!lo!!;5?Pt~N^PAjuTAW+@Jo9S#pB_1j&E@ZB#@p9^c(6V^M<t~)<^9Y)5r+o{
zr#r3|iE>?U|M&Gehv|PO%I(d&(X^LC<z?Tc)NhAccV?CPRex@}`RsjlL5prcr}FLN
zUp^JyF!GnLuUu++lI74+(eUChq2E%Mc}2H|e%)XGD*mth{y6g`QR=xmH%lAd%~)Bc
z9Kb33dWWX}84JlI?JH4F9%*vzU!mi^Q$k$xo6-h_<Eth0uFE&>lVd6Sl-8$w<Pm4_
zzQh8rPq7?#w!S_+wNybM!qQvv`^A48Z<4P~{ag`~a^!L6muvnfpC{}W3!dl4V)ysN
zOtG``_Ib$edber6-9MAduWuc=e>#?<MvCEMNqgM8r|$KiPxs5z>@~g+x<R~Ae|DK$
zzew>zN!{M{VU@Zjn~w>aua=z^yW2Op{`@0rQ`0@C1Z__j-({Z_$0fL9s^AaxdZzjh
zo~-fzzwc5^{o~XpAT;N-#gg)nRhu^#eEXeN$|#ZM{DA%3wkuM`#o6VTJf`0C6SY|A
zAgFQX99N9v10~kYp%WfmIdT5nu_-s>SUEU-O6Qj~_UY6mJ?z?SydmPCqm1m-V3r_`
zbKitxMT3v2r>qc{*zQ++a7XzjhwbNl^1m|KZau9N@hxkMfe*t*W48yHr{+xG%`I>4
zSFc-eCuec%jpdR4<)IrENs5(!_}b^N{FmZ}y`GC^Y0rPNed3F*R~&QZUKNa(7aJ=$
z>!jWnW7+yAU-$0SzJKY-hJ8!^h21)Jj@fr|6UUuhzb5DXeYs0<sl1tT&VzeXm^kLl
zY|g*g<FFvU<HlK)my>qykYdt~<q=t8RDJab7e`FAppnw_WHYBZUMf%2?!~dZ`}M;7
zxAKSmxi1%+M4K~RH;~rT%#l4h_2o*r4e7q+Po|!&vD&P~G(V2HaeaJ^ILDO>*SYR+
zF@1IB<YU*nYb9ePXtCx({NhtRMt52r>gU%Q9I{g1{8w<rYJH~2w=EsoG9r?BtZYh5
z+l`p)uP?QaHD7XuU6gYhqh<I#!(hgPo^cnSDlabEJ$J%MFYBez7roj)#TcEBY4=h+
z`BdAON!&bg^2#}fLV7f(#<jjJ(|f$3yvsQCM8wGo$IqK|j!fDrcrnFhllOJ?x*O43
z`~RG-PkvFKypu^Z;m)qJYAmNxB3`YkJ?6!+<#W3Kfk|_99v9r(U}!h@B9j!;?%Ql_
zd)Xbux4wHYQ}6a={r9$Y8=TX3X<2NZG*j{2gV)O-F>;QLNzq1Uv&hYu9WEz0BoluJ
zHZmwKJ+<o8%c);qJ)QoN%gFr0ne}y7ldth#yU=CoEyeuVmerKy)Ya0t!L2p<QJzgl
z+ESb{H;2UU4B30-g0b$V_pA1t`gHB)ny|Y^;}-Z&4O_KlNr}tqpyJhvABt@`V$7HL
zu#2WX=$U91eJ^m`nKNe&c-k%2PP}R>rJT5Id)a@Vb{>{v%a<j^)TJ$xdEAwoZ6w-z
z#9?BH&&-!o`wf>>>s*-9sJu|}g|2(iQ3b`mnHB9HJ7aZaf5zos{r~L0@e;##!uHI^
zww|&6_sKrs?{v{Kb2(bXO0LaoT=L}18UEk8k;NC!ZD?paU}rh+n$s0Yt9!ZD70)K_
z6;D4U9&c8%@y@pW>r|)yo^5(Wwq~#Fix7L3ZP#yJzr|>m<a^2gX3P!__BLJ#3u9)M
zEeFFi&#hUt#mvRl*!Uga?92LcCc6Lr|2gSj_i6RHA~weGl~zlQH)uyXC(QM!Vlp{k
z8D_hDPEG8pQnjg_rt4O9Elu3ouqGh<gi}YkU+7xR#UU*>b;Mj#ljkNzEVE!x7mF=B
z^Y%&)XX$|?$%13P3QcKu4{_e-IlR8^j>z|j1+3prcuhU}X6=JDOIC3j?Y%1S<K_99
zUzg`Ete>Cu>&){1C3h!e$%jZW_X;m#;+Ug3{q*A_;qNB&_sl+I+w$tnoX3+|udzO4
zQc>9%bDN7J<i&P{V^fOOYcL%Tk8bGI&~&Qc5M^KRwDR<XlNnAA*2Tu_m4x5zJrFye
z;h5wz`+v5+{}=Ax*?XXHZ|lFlUz(yvi+;A}oV0%(v+16<ZLpa@#j@(HD;@dw{rmK~
z*86?!&mEn@$D^Ma&#irtx4Caevv_plxm&*#H|#z4D~kWdTjnXhWZ9YSvbH=CO-Qif
zWeNGz;PCm|yUo=%U5nZI_s3ndTYbarL44ViNu^BF!Y8jVG`K!<m14j)v%7Xu9Jj-*
zmx_5Tb1<5lDa3edrC`68laNPft;(tn=e{<tAh(sCo{u~uCS`q{$XICP)s!`{rKoTc
z%WB(|9+x)wPdc@wZOZ%#AHM}(!(=v#bUt@d>-*R;L-0oMOwLA4rjC$pG44Mu|1X}t
zZ&#kj!HI@<3U@mC&t+r@^4!ZYWtZR!uH!tMwj4UzlhoXH`muEBvYh(M_awsS%<)|+
z+ul|tX|s2>x4L_-i7A_Khl_(nMD)6Y!qmin5&BGLpP4bK{+gf5WPCVNzW=)5jlC(4
zdF(gKu}u4Y!=z%S<HwTzpHKg#F&DD)hLjl=#B${Pji~ZvXIdfBKmAnK*>Ig-IbCAW
zzLx#RSDd``@%Q%a(v9{nogI>Tx?8NZd?npEulF|^IVap$zD-c$w~gV8lU;V}SFGAO
z;fZYi2RW&*<LzB>k2+UAOgXZ4+TnKzaZ~TAaJ-Qa<$d(jgU3!(X}f@h9m|`U%3BW4
zR>=I(Gl{j5VVc1s_W#`%;y!6S7SR@H@8K5QZok;noB!J5c?!OsRkk17W_79CHY%0u
ze=H~O5T2iPW9cf<<b?s7O`ZM*RL}U{lD1p>^J$*O%Zgbid=Gi0a2;HhX!z>>o1`1N
z|A~M2xby!X@xKB)jFv>Phjup}Tgc6!Gu2Dz<1{N4_kEf^`n9LH?k_B{{%kV+jn3RB
z%X}wth^NXv<Pg8U?%IiGdyLMXX5Ht#Ovb2i`WuyFhn!t>rrvSMjNUD<<Mra7eN$gJ
zK5##H*7!`VK!#a$Z|>8nFY0r*_?v|C&%P3__4h)=Cv)FrVspMpap;tGDsA|(OKjhb
zRO{r5M%kX%D{ELkpI(;wny2P&Of{$^*!lf>h}Kt)Se>a|FE7oSRVLi;yS~j>T5s0$
zf0|wg=8N3AcJkpnvlO4y&oR@Le)c`?R4j1GQVvkO*I~*qhl`~lO=u(Ar8%lH3Jfz7
zHVCOOI?6T{FE@L{aeM7m6N}o*S)EgO9xdf~tr>nhF2P`h6vr3C<Et0)o(k2}St__y
zxbf`64X<Q6cX>`U_2#cyGl%_yq%xy?=L*F~Pu$vGuR1PNB6u)E>#%O-&mz0(X2l6R
zb~3hStvi#;S;^@yIHRf0y5vUj1|il?6Q1tC|7q9d1OK-Es{ea2{om)W=P!N;zs{?9
zmwn3?JCA_fn?(g8w8Xj#CW%|KaG10{jPWm@FMY7=na=bVI&&XvdV69^j)q)!L5$J4
zLZ{=Cc;rvNIkN37SD_=jg=aI<mqT5y)`7RK<*~?VmW15xJ<wmrFOfcjvGM=o?T-JK
z?%yfTwDy_k((i)m-S&5`?o+yKRC=IOal;MOt^>x^nV&xH?SEr?FSF+7nVFCK8$K?2
zDcINjY!Q2;SN-RiaYssZYE7&8ndatQZoF_$eS`ETFaJ&JwdXB;oRas9ozKN8e1fjo
zr`T2dQ&|3-Tz~6YgnrxEt!2s+CZ7#8W_flpN4inzOU`Gn!$P5<=eRgnwx4{Pv!ci`
zm#=sA8fBYDp;uKi<xZVk!@sg?F@u3w-^ycaj&ZI~o-oZwAmjVi^XJ>jE94wR-#IOK
zRkXS#_;t`!Q*Um+NuFC@epw~SFz5WjwzgLeug<9G3h+q!E)9|WD6uzIvg4${i<W1C
z#i?A3=M4=~oD`xt9Tp^Be0^VvgN5y1tKR|pU$1s4iW*j#e!1uPcBS65I3^ac>x~ZO
zx31QPbiF+z>9F9!yQ5qU2Yfd63nfi?yzF>#*UZMaOH4k|%dR~+S&%s6gMikKPF_Fz
z(++j2EOs9subcY9En&lr&IA8TMT_NGZdn&NTy|R`KWke3gX&n0JJkiEEJ2S8A9odO
z|9j@%x#;=x?Jhg|pV%;IXX}n@qV0YM?r|~AoqW%aMJ#D!O`zPzXP@s0?wrwol<TPI
z)NAj$wjEEtSh4GJ$;P*TCACWOZureqoc`J|!TsrDkw(vgb5R^RJObM<Xb8-{oT(hz
z$q+m#<pBGKlM`5F8%qT8@9>w&Hp)3ja2`HiCicn9TF}E=l7nT>R=qG5-OC>`r|uSf
z@nI#Sk(6G>*-K5Dj|!~V-L7U`c`LDLwW9i7p2bTziW7U6t;#x^Ip18bu7_<aw^5m2
zsQN)q)9`Bx4y^vBbYa7bulZFh|NLkDbK3jQQuoW%QfIAoiWBEvo#Z2#VGc^vT&*G>
z#jKvFY6jm}_vK5!(y}v|dJ_%hC(UG;uJ=XIIl)R)TVu{8uP?%n-tUxoWInZM;*#!)
zqE?+JUqn*OIcM~wvD7`9-TH3okNAH}6^~g6=`cLzG5*RFZn#}=#-jf#=il8L_J(be
z1AEI?H3@N(8xarqHBxqMZ<U;MCG^d<|8Hl$lm36kb$(v>g=8~<@;#z2*6fsLy8U|1
z`wac)`sJ4j6&i|KQl1JLt<qSW;&M)ClJ**vxeXfve`l;WWXX7Of7aTX@5QHNQ-A6)
zX~~9_8Fx!pO^j2w&3y4Z=#>8**Q%dRlcabWvn2agt~g~KD%;2;`}T9kp1uQZu9<@V
zN|CP~c^11do!7c1;Bi;G>NjUiTjU{?mF0>XoF1*3)pz@ZNcJ?bDIQEx%B%Yx&S07Q
za)NhgdWTYGYwxmErQbc4)=oY4@}q$Jj99*zOf0jsR|i-3DqXnL=x}(^_5D8uf3(lq
z_e)ZFL!QS)N#CYlk#n^enB7yS#jxmam~j62LzVY6N3CRjzWp#k<W*(O;W?559RGVI
zKJfp0{#!$FgW#JAJ9*jj>!Sl7wFMt~CfBI9=c-?av!Uc|jz2HVtG%i`HIg`t>;#n#
z+8CTOU}myE_V;7gGdUKv-LKDIil1A*Y4u^=D?0wKS<Y<!r`PIJe)DlG$D7#qdB<k*
z`p5q{*p((*c>H#w-&f~^>bblumo@~yv=MN){NXeg%aqTR79DObPRo4V;*UEn{IA0P
z``wktcRBv#wMV8W<XmNTzP9_|+?67Y-VM^Ge(xnuI)?}PnOx<_<Y^FBy}Z%EL4iLu
za(8s;Cy~ZYZ4Qig^a9-%BxP<9*kSS{GGt-XmWdADk{o9y6$I!0V1G5iF)2LNbo++h
z1Csrz+r;!&nJQgMdwEdDbJf|F3oXw~=jgIr($@Fwzn-D>Wlj36?@E_SRpahCELgcI
z^U!MF_Zn|GyqECAX}La7a$S&kQ;Xxz;r|Q0<73U2e5wpIIhSRz<no@r6;7G%osrdo
z8ru$^%sBr=(X#lNW?%dNwTGwAZu<YXFEVb%JSNARE3SC)+<dFJ^Yyum>JvP(0)^80
zZ&jzNf3b0vEy-2<aQgC3I}Q<F$@wR`RIc<Mc>m{Md6?05L5)lQuT{KfTDC`)<IfR(
z-ouV_8%zo|=rh%S_;Rp$%k)3Z#<iBNfmci47vBr{dC=Il+^<~m-44wHZH_P71U)!!
zY~+1;P9deEXOsMfkAWPM-f-2-ikaH*v-|k>cc~nIw$IvkJGFoP*#jT<v7~TJVP`1z
zE_+lqd1B>*S%-c9WHJ4kr?N!Rz~PSHq&ds~#oo0NN#i&(A@F)b-+_+lOgSxnvg~nF
zQg0-;Pl{@qJ=I8nW8eK1<t-c!oG-n;o_BSgiE_aaJD;|ct%>p<`l7hDL{<f`?!Ur!
z;fuiZ+y$);8PkhdUR|9nrFb}C`O9MtYn9h1ZrE(pKDQ^B<y>Uj-7s&iITr(4<M=M>
zMzc2l|9grfhCArl=36x$#w^c@EG<qJ%Qh+R7Y$?a4u5*?WZ#*|GW`F0CC>XE`X3|z
zv8nF0kCoQUX)cVHZN)P5rm3hb`A`_;!g<_!b<Lq2y1VXwI-~vZh;U@Y>40~_yUQd!
z8xHu_ef<9KfwlGwYrzcvuhC9=Y5&!8&9}_0nIIUzox$-Y{0GlzC)q{Ii?=JRJ-0VK
z%)t1FtU3Fy8@mN=#654AtU2R!A(!vR8QT;)?!B^^6S8S%Oql1T?3|bXdINZv)@_oz
zZ)$TO{)?d$Pt3+GON2LA+p==-{J!~OrT~x1^o-{wV$%7S{E~h0R!tRoea-E0X6PdG
z?JHWBEb&UcwX)~q(<^JNCMRt_vLdUi)2{U3@55aa6*8Azam$)EcdFMBd0mI{aO1F!
zZx1?-?8}(svtIpri^rlhrrzAEd^N@9v-xocuGCm*c_7m^bm_i$o8?lzXE#}WE`FoQ
zw(Ww*lqm~eWv$9v=Of$yaY7V>{T7Mm#U;5@Tr$nBn&_<kWp2&%f45$3>D>uN^RGU0
zw%RYp@@$v8WNhs5xraV>Nj7q=pKG_5qsML00*_DA1ZH$cbr`d0n~0VRX3MkKecbym
zy|Yqv-}JMF$CmE@X)DaMQiA#SjHNAloZI}|B4391NaSTKn;ayyD9knC8~ZK&6EjcV
z(N+2&$h=Wo;X{Rc!e0&^BlqJv+!J>Tday?p?d-6dI<2yLd$XL=A>|9AC)f5K*#GBb
zd9k)}K*Yigo0u4jl@tmhqONm_a;!_xnD{AoN>Yzh<k21H(n_-%ayw312j6^l%|2eR
zG21E2l;zp7<;z(gy`3}rf_F=qisZ`xo7<)n7anq56mw*Ug3QB3f_^W}A1dm*sC?t)
z$WeDw+9UK*=zgTZ%LV6-a}?a0_hyTY<NBsGCI=TyZ?VeT!8dWj&73>pKR*6Ti`{hp
zz2f4!`jpnzjPREJl5<xo1sImHm$2MBSgG8ry|?=J?8L(3*37ow<XEK4PG0<*obvXL
z8XME{<-9E4@{bto{;9R$Rn-fQKkxki?OJb{r?YbXmgA3)Rr59+aLX!;Ri9$AxhXMh
z*W93xpDU;4zRtb2tHfRVwhhOdOZLAnmpZRH%F^W!?8GNvG52H&%cGvM6P_(+c1`Uo
zy}wMr`}^tR>dHdD{ak`)Mh96vlifBUG2eeLyWOv+Q@vTM^42{#llGW#=l^B<Bc~@=
zEYsF`(td{bt(VP??>%x1EPg>JQr^w!la5QM|2)&ZubkD&bm#Wj4b|$#<xx2qRvX;Z
z4)eww^vUO!k&QoS;ko?f)L#-Vb2QVql|RfceZ`;u^Tbp47jtEowPZRZn9cS3KGPs}
z*Jpj*XUa0KIf@1KO50b>i8-tB^`6V^#5VbE`+s}wJJuwaO<Qn3LvP)N3Gz+Sw<cFS
z>k+i5`{VQL$H&LzCD!vUzMB(w@K^KWyN%zy;(}-RG4D)k-2dzK`?~Mz|7W=t*IdzD
zml2Y5abNq26$`elv10sj-oE(RUHL7M4hd~+zkU>!$93Jf^n|T)>Yws|53JvB>&o9J
z|JH8vcb}?c?TH?X1IojK+EbqLh0J7RS+;!J#(&SOXK%hcIel4x#+BV+yS6NzG0$b;
zyOupWI0I(;HXOJl!e_W3V8z>&nhp!5+?q0JV`B9ByR%DgFEm^G<Wb)vHP;6gW;w67
zR?GN%Ua9UsAjS1{pQgR7?cC#M8>;Sy+zC9?+feo2WbOZj0q@0`y1RFX26Q-F`R1yS
z$0DL6(8}SmP@r+e+hwjU3S5F6PWltF4k~sD@t!yt+Rbvv)-&|KfXXuWFVhp9ysX|m
zPx<l8*lpzmySoni!X_*Ii{QI-YC`5DsmXqh#(r0C^sqehHo34SI&xvm5pmPt*hRVp
z?qRERUcKu0#5{AJ)b*@}ZJ#t;6tX5O2Pj_F<L70`T|Muk^T{s_cV?<hD3JPL7^Up2
ztgO6v>#PjPf<6HS=7+sO8z)Xo%$k;^X!K@N)RL&9nO}Q^Sl8TJke$*J;qLZmOB<t6
zP7|NWYq4wU$+BM~+;4N7jmY4B^Kh!x<6Ez1$uK2YaodJENoKwJr}&{{oeh^@$E_zE
zJvXy+S;A5~i<W4eE`G2!byd+mGv$i~xpPt~h0ZIin|mI%7T~(kQzx#zxXe{y+J!Ef
z&Fe+YI>P13M6<3kJUHv{z=Cnx6OOO?sX{BRb)9>-%Hc^=rUHleMy?5Vhb&yVHT<-H
zbg_C~oSn*Y`qCAqnzN^bbk>H<kez=eXlmB#l@A{V`6}s}mmPe&!GPtQ$IN%9j%6A;
zB+QK3G}Xxc($kwIr!TFtPfK5R?NQ{<J-27B+vNH}J6~kh#8XS1Sfwnq4Go^DmR*mI
zI`vX|kHLD4&s(#0F=;OfZ{%=UXvV-48zbGw%C2}|>6YFJ7fW;<->B&EJ6dqZy0g!H
zb}v+Vo3N4peYJOUmkV>aXNz`c2<Ure^zV|$QZ{(CLXv}rZ_3JiQLSe`T5lbius_Uu
zVh}r1cIJw{uvhCgq`f@2WU7Gw&S{crEO#y}kd<O-&0J-hZxSlD^7b@?Ynpy3+O7*u
zJ8^^?hfixr>XUI*$Y*Vyx?H&Aljo&P5?`Gq(~QK{Pc6SBDSA_B%T#l&n`=}=x9|%H
zNhWwN32tx83YGtzbZ_xtzttxvOYAtS(#+w)vdD~s>9opKH-!a@AC&4^%$+=$Ph7!Z
z!IZmwbCUY6Wc9t+<1xv2>qACEYfGV-e8QP#Ze5!%{9Jp*qv3faW0&;1-bM%aEv*jA
zD}U(v9bkMC(Z$(ly1V?IkdB(W%Pk$-8Qa-DX>x~uwiZpj63aay!p`MV<!W=?s9LvR
z$yA+VkJ(xq19}xNOgi<uF>l!^oqcD1bR2JS*d<il0BSJ%pEj7huVU|?p5vi&(oZL7
z-`5lIZ2o>)+e~P73GWpbA<Y66Q$MApA3SE7_O%oh3azYsV1DrJ5oQ6wj$0ZWB5SUi
zF;xmpN@I*v4CI+KljZBBJ=az+{XM`W$!^Xqvmo(R=vnO~9))AV9PM`*HYCnI`)qaL
zwJ3F_Oikv-GXLt2MxQso*_g*-70c~hRu`2$P0nZ13Jt3U8CA~@H?kO|zkUz$To97$
zWjM>L{kz8=(**V#i5x9UJ0@I=k+euK49ZlVu$Dyu)ZN<rcG1imk9x~0?;dk9SsZu5
zZ#tL!M8z}?-VUXN07W@R`T0CN;gY`>xLo{E>%g)o;JrOlbKHy18$aL5UwyX7ImJSA
za-(8^p5xqIH3z)ryo@SZu}WFMVe)q2*BcrS1nzUSnK#7>+)ey)BieiZma4ReJPFfX
z&Ty>ZW6$oA{&mCknvU)X;ad{c3Vl4h3`_@GPYF!CF5|a&<(2h3+Zm;0<hQphzwuO{
z)2B2fZ0UnjkUrvOqbn&oarxouOlMmoPCrsMEtr=r7p4*7eWOEl&w|pHhsq{Ft0R*4
zu*&;^k`Wh^c$@GQ*Od(Q2YhGGjt#K6X7e;~Ye+K3nvm5i6aCM=U%ypQLj93bl=}mb
z(&HtM9FO<&eedORW717kFz~u@*J$z2TVFQJF5~<8uvL%cm`71!+CCX&o7`z~K1_$R
zrp~PFUhks0R@rO8pD97Cdsmt|$`@aLuw-w*6^8`(R4&<LtAkh$-I~hj`e4s9)-18T
zb=zW1groPw?R!>QTGja0DUGFV<@xY=YtLONa@=-n>j44T`z?nY+i$lYmsb+l8Yr-0
zg3QqtbJd@oi^R65slG2bYpc|;ZX#>jfxzV|eLq$?dwR7c%u<}ter}<=dqT|=CLN82
z1DBQW>`0K-%Hq@vJLQm2S<x{)S*%>w-fL09n#yKVVWws$C5M>LmXD@CR&kuYl-=7|
zPSa2zV#BVZ7MY40Y~HkF9LQMZ;x@Ty!Tlvh-uK1wJE!oll!ZJKt6V+5kG1Q<%kRur
zgj9l9Sfs$-S>YMKCvKmZgn)J~%Pj7hf);*FntdvhS|&TYoV@uns^P~`gSV@^TRJNK
ztZg|U|DVU4_tjq4gq~9W<S-|l2M3?dZRzpaYE$y-4c8Bg28YZk0^xp(%(v_O=vZyW
zwY*UB4WmQCp+k9{j17j32hYbnU#H%)At*q5?>EMTh0}u<>d#DYyDhU@l}+OG)h|+S
zWJ>y#FHCW0HTCAcmXgu9oIy6+=+XA;O?tOl{jQ2gFA?iq#uhpES@cx)1GXgvB9<@T
zom#*vSe<*1U6kkJ7cC3@3DaEH&!4(bE%~F{Pr<)k2GNzpir*G0ZxCy}bMTc;4qx_?
zWe1k=-iR?_HG6cz;GWQCC8qyh*Xf_nd(Rsj_$*KHdy_<dZ-cnZy;~OdE7xbuntnet
z`%_JkaQ<o5zzolr2+l@7wgpk8K^ODOFCSZ(cI$8`_tH&u#oQ^z=k9HK$8|MLC+WJ}
znXS{8PS4U0HMBi2QR(Tvx9h~xdeb&4<cge*d|S0_eaySOEM1W$ul6PH+`K95a`eKT
zKi5so$`?<&B))!X{EVqLopwa!D}KJFzsWaLb3?WG%x;Urr^MI%@Hv^qap&vB{B!yD
z&l-8(Z<M`u&ZzVJw;RTLt_b!wzfNjVO`7|;G&ZYyV#4nl&M2Kzy4&1U4$rR0UUoL0
z{oI;{1Cpz^tUER5;?!*y1D=|B1-jnRzJ2ZXn!K&^j#h7<x;9Mhu$a=Fs8+_mZW46~
z4C!34qK&)DY9F=VF5BGF!CJ-r#;<eM^7C_<Z9bM9*{gEFYK|Do&TU*wo68;?So^DG
zwsd2q_w0sgHTq12`wo2n!tQDRL+$sUEy_&Rf;+OW3)|-{J+XN4;(7COr_GAf-IW=-
zX+lM>@*AtfgpM0~w|Z5SoUn~t&DqyD@q*7GzqUI+lL}G}oUB{)SLghe`Wep_em@?>
zBIPP_y~F;BTS5~{35ynA`IW?e9SPRe69ZTCZkYXzhqtnLYwM2W1B`#~H{~CZy?2Ep
zCe$LBCyQCR;QBh{W2F<PgbLa8MO7{gTYDhAkJsyrRZ{T>W&i$%S-V!bu8w}N@o=G2
zTGr&2fc~S5>rNXO<R;9B;O0{7Qxxh8s#klfdbliUp|-#5?uV7ql2QtXuNEeya$M;a
zS$pPprec8DYAYtyv-(}qtjR~XxP{Z(J9DR494J;<++t^NuqZc;WnI3GK<ljz&?NS3
zD<<{>jT^7EEs=V^wzn_q`sKq%gw|HPINbhI@U%mdTV%rKd{IV?Fzwe%7Rf#|QS`d%
zng2{G=u(Z>YmWX&0h$NJdu>AJ>5FsDydsz(^02dXmqC^k_nMgk66=3;-qny$nwQym
z{t4&9&ozt8cnWxg`2(h}|F!K+gu*%Tj$02n{v7G&)i*e4y>~04!-C~zLOQ>1B+M`l
zeBADBH1kQjmeTn}IvY-^Uh0-+U1V$Q@KG&mdA<g_-dzWU<%$#R8uG4Ro7yX`7V9jg
zu~_+nhS0*u!+!-cA``Y;<>tC_^YN+Aeoi`hI~Prr7uD=*)wLDtSgx3LSn0#!`zAp_
zM{KQPOawHpR7~$XARsBJ=#*A+VEV#9-3=#MYaeJvBnKIOn5Gm~_11TtuY1gwwEDIK
zl?Uw?-H-M9+_3xE^V=LIT}L{)?PlG(&pl^l;Qk=}h{=b`taiFvzLR7KaS%AA9(=?o
z+B@gv#sgDsEdF6Oy`yUV7Aq#-??)ZnBN~m%Jyx_bG$!dLDi~y)ek$}d$nVq6j1cae
zB3+9P|DxC7wYEoAH@HijXPMLVfNzS$0YQJapyIskGqz`4RtjWkvR8M%#gQYbsB$ct
zp)ob^m1BZKfzb9qgBN|%?jBjc!!}Z5O4)=5B}XJ#MA%%9Pm|>K(Otve`2M-4;Q4*`
zomldCSn6)p%ommA{<2f-&bNl6Ee`$OfgUI9V|w_G$Jj|-Wt#o3isS7rUZ0Hy7cx8S
zB>DGVnR94YiOlXvhEJ0-S(zIv-|lK}bXe>$)vnWkg+rusF?-{d6FUM8j_o^k`pYA(
zk2)FQ-Y(yE9K0}XpT2-#2gjWb4x39qdt&CTzgkpdDc{Q#q&snaY6QE1`1EWqm3eDJ
zS@q(U1?p~iX?n6!`B&LWt}n47K`H|5w|rgy#&8Lx+QrTCZfPpaRq$Tq-@IgT;LPXV
zt|!hts+wqYUiIZ=MVpKH=VKpi&DIc-3|J(%G<3tXM}IDQHaOWxc%5-7(s5YJeUfAS
zhuJ@cE=MIdb~v~^XmfrrF}EiA%iW+IzuPh#6!Jt}6qE{_l?3GH@B93zuZ*`@vuw_0
zagfVrfV(#x4lW8@tsE{aN=$((db<zoxP35JhNZ~QTuDH%!|ARP)6N3#Ih>9EB>wjN
z47YA!{$@~LE+8TDa=FBtLz6eRM>x(Gob>jeic*2HH^*!h1*Sl0=0?ZQbDIyEF(tp7
z@o(dzihgZA_ad8F3y!u#@Yp>voHbzydyS48|K}7FtqgUC7>@vE|CJ{{uT~By>HgL3
z$(24`<cH7_9@jV{R{6O8DQU+_?ubp@eA82r)y?%3$0j9zPA@ZE51t90GwVEWi9eZO
ztn}oJM{q#MdM3e&a#2(HEJGKCtYn1?>Ae9vZx+5ZE^T3~Uo9L^ax-U}$D!oSH=C30
zJlnGKv6;uGA30{~`p4#c5EWj`_aiCvSgzdev*$YNb}MlC-ItP0JP>crxLGhF&P00q
z?VLDO>4ovZ8wzGW`~6YilfmNXQ^(%uMXS6hI`ApsXN;LNQ?|zJkIvD~v%bG5yO@<y
ztunj!ri#mhYQqcJZV57i9k&!XWD?q!uV-&eI`cGYYD3bc*M1yz*2jP6Ufgk3_Gx3$
zM}-LnDcs!w7SD>hA7~tlapY}0mvQH@hfA*D#D8lI#WZ&9=A7Z{{>Ce68~c+M+c_KA
zr|vK|eEC^RGVP2??jMzsHr0bKSy!+Id0miW_HqxFWB)L5vSqZ>2G=PYiYF;v5Sx@-
zruVuueRCXtSxcdgz}B;Z5)0QK+Hg;b$#uQE$Vz*4i>5+pcg^FSo(JYX;P_}(ukvWK
z>fUb?;yh(|dTIld9*E>IH$J$-xF{!Z-uE4w`NDH#CjGe=#yFe7?Zb1WZzX4z1-SRe
zDV<DP{4M9i!Ou1o3(WM_zew&l$CE5SCE$&ri$WjkqHXiV&T^zk?bzC9;Jm<AC5Z3X
z%6NBsmQzmd8d;mI9c<ojzHKsTlgxv@PQ~31c-ED=?ud7vp=gj*+;k`MV)pi*Q}tNf
zawWM=ew6sj*HkQCxGBiaT36)Mu^6)gg{^%CH7zkWHQiOx!UY;F#5!(0i%Z~Vx?X76
zqIltHtK3H0E4>c$e$_ZN`Gp7<R+z9b=_pT7&ij5d=}~SBALEQv6L)>vnRCx*1V(Q;
z&fOv;^Oeb3P-2nY{7L70(w-`$EaoWjN!={RpStjRe>f-zTRGl1J*dj-TFAk3t66Zp
z?X_Nqi;o{D<t=|v;;PKIUZQ}zu;74&_*=&6oOQQ%YpSJnpXfR~yT_VoldghGuAzhE
z{5<7=!ipa=lqbA(OSmNFQ?zB`9Dz+sQ_QDq{wbX3pfMxIMoHi}Q((t|cYPnMo-ng;
zUASCYaN%(3-57@jvCazb(`+AfTuv)K?mAyta=YX8tCForiLdzYom+cx(`~u4Tmg&2
z+2YTq@h?$KyZ)YS%8F`r2mkBp>5t2p8}-)ymMOgPW?_jHLvC+MaG9QTN#&bw3KxtY
zmn;(m1)dYjJvOGV%GMhXu_o)<PE47(qI<=2o*Tm3+Z|poUT(B$jlF#K1W)YDEerNu
zy|bgz;O_PWH*f#bTbO$LC+oPDwS2txqSr`F<AlbQ*r^6Ln-4Vn+`-dP{$BFojyh!?
zi!8>EWr8>SgQmO^^Je=hotVVe-otT6Bf0T1ugI%+S-aR9I|DW>4S1xd6wsma^__tF
zoj{g*(^MSg9eX@~G~8*E<aS|Mbg!D_ThNQzQjvmX5-tzs2K-z%-|H#w9WxOn0l^)u
z0uc{v7RD?Nj5ZRwwNNxP>UYeE;|pea<-9cWSFPn-Y4KO*nAi50qGa!`z>}8_<iu}Q
zzdAKQ-dCAPuyMui#sfDM-LGWonl=e4FO{t_pCQO`J!8qqH@lq|^rt+Wto%vLIl<_O
z^1cZXUDtm{KAkx4$qshG4i1;QyewWzF081UTG+0A>qL8P&D^%En5}^wCet3-tt+|B
zp~B_-ph7{x^wY!^dsA61(T9Kd+AeKxI8d;7qX7fQnPSF`7iV<-NZRVA_e5MO>gWU^
ziFUWFXTHq`+?3rDqD6ML9dd8pImO=S{)%HYA6?Um-F>8eZgaAJi{9{4KqEC^#dr6W
ze|`zfP>);5^>5Z~?Q{IU7hPlFJv*T$`Od8l-j8y}-zr@Y+Yrjw7_1_rlG$0&oT89Z
z&RDcl;mW=^mRoB-^ClkAn!fhm3e}q*cKsAwXC>1i=(&2wyMj+;i(WiC+vafdQpe;8
z?Kcizi@5vriF@-IGaa*A(mwY&uU%Q@l2G}wZ0VwaU0GYdJ~NSbTzbjsIFqWn;=`kE
z48PX?bh;(GNKv*?aCgkf`({k57dtv6=*9=ES>$r6_hN>#L|(<5nP&|4=drlCPv%WO
zqs8rV@<%MMyF#p9IA^#{$kr~=f+S;?i)UvGHhyyxoO8z^VbT#}L8s~irXAbOXY3Px
zbJDl-fTW8;)?(!i7grqVbT}AZIw>*xLd$_o=aYKxnK4OoaZbAV#z0bWQA+FNh>Rs|
zQr{L%oH((x-|W{T!{aKN(N8rRlg_!_@^qW(mNaEYch%7)7bBFq^6vF;d@);<vg;tL
z$}TSDk~bxd8ol4xE|)hMcg87j308;;XzZFM^;L17Acv{ThZQ!CQnQ*T8zkoXh>BZo
zD!9#&)51BE_qJFTvl>ekb8lNvls(hwBQNtC#4UDRIk8;&Q_RulEBdZ~K5V%5QRask
zE+3doKc~4RNY#~T32o->P-A&zo#^4hvPht@oUyTTwe6FJVgn-qPvQ0bESW13<#{94
z_C7FpUUD^GzOmcS==9_Xm*22z9eK`tV4ZYhFN4E5t?;%xirGu@ii-|EwE5W9u_W})
zhsZaFT`r!PE!D{TJ>$l**zcvsd^xU^9lB$+?WUXa1EsQ-z}X9x=k)(j-s!e@mXFz!
zjG(}X6%yU2offMV)I2q_KE(QJt4Qn8T>`$HM>jG2OIsM&w7x{gZ0kGiLtcEZ80Jlr
zPPLnqbwFKR&rwux=fcoCCsdB|Ja9D5S7Hfkm0Htx;lxGLm1ag>i>E!A^!dy&YpJ)q
z%igkFjJrQAE@AV+YcI>U9$fTw>Uq{#$(z=-rgNux?=3sMJZ6{qTD#y?N<G_NL_Em7
zzqMR^>pj&g?lzp?FC0qStzS^8+grA~ru6u;7wq?$n4UlF*kZ=S{b`QF&%@b21eb?f
zeLKzBpt@e!V6N%xFug18Nt||{g4Q?go1G_>*}`#UOQYNb?Uua{4^`jZwtM}|tp4?J
z_p>;9Sej366}T~Dx|%3wljy$0g1%kVybMW;5AE6Xvudl)LG@<};Z3ctLthD+t@`>Y
zX!V3BU0tcn-k;l|Id_V$PF?HfvHI+%%Lx<J)3tpI99KVeos}qOv_fFI>JmXEf!1Bd
z96sU7*-9IfJ}BvHtg_PG#2mwL&h%&HR+SZBmuLj*sZDCKSX!)ioSUg;dXUW=qtrNo
znc*k6JUs<vJau#R9A~bw?pbxH+tYFFC*N7q#C{f5I{JRnj0>Foc+G@qjIUO3Mndcf
zPHxOr4p^%y)f0Lt<@Ee$h6rCRfxMvOYtAwMmy&vZrEufPsxwp4v!XK08m3vvOnz|7
z_hn|O!}1%8W-2)Ut7?wV;gXzsXlhtg$mK~<9-C?!9&oK+RcxbgI?-*mOk<|Vt9P&Z
zlr~sS7yI-_r@?*21&zltty3aGrVE|)X|5_hTb6Df7$*6(>q@%M)2prtbHh6P4CaRP
znCx5iG`%)AA&u8ywodS)mBC%B6hr(r@7p>h+lg)0nP)+>@)df`ESY{!t>kXqRlI94
zM~=sy83HO+8?L9!Sv;RXvrBhtAk(symS#5BMLwOWjK09eE86;P`ojCOuW+0GFfv)5
zx1^JGVd=>oT&!Ia)J}6&DY`6abK+VM8TND2EuS-InE5kX3#tP5ED~tcxKiEX@Zd($
zDxZhTO?b~Su9o7upD}IrSCKD$sn-_j8d{wD^mEsW6=#>t$T!N@SC(%5;j=i-=u(KP
z;+9=oT=#96!cwk(e)Gd)E^-1~atY1rSDrlCHYq17?s?G8eJbi3lzTW_a;szQuJg^e
zzCL$b9ZOpB!GJYeteCPpmzjyo$SCyF{k&&JOP#^_;O_>Jd6tb?iYGr81wUOWrv2ci
zXXWAm&Pgeu{>*o#Mjzj=^vQ-b$94BxwX>f$uL=lT`JTPCMb(s7P9c77Bi9kBLmYw?
zkM8KsH%j;azVeyQqLj%@1?Gz1U$Y<FIk&}z<6$ws(5B)?VS*7d?4fxNUkdaVGuWIJ
z&)&lR?9|D$_LcDqk8#P(iAZUkHR(=vw%M6P84eegrZPFh<7y?l=2~BzT)2pJAG3A!
zYQ^2Zr#j}=*t+@6x$$#Boxz)V7KR&suiY+pr}EK}zs%F~cPj4@l$(&9^|*TJl7<#%
zmU~uA@^{x-mo8CXocOB$KxgsaQwz-Y31?V3l$#g-JjZ+B{GDXxeBTMeU&0HDl>*ip
zz2C5};c(4u>Bi~u*0l-W87(^0<!V1Ll;rx^cqLEoe{;{b*0kf|`c8Lw+l!3{n61n0
z+<v<V?>?C<Y+_!suk`1E=6=5|K04Ps@Ad~Zr`5kX(a3(^%3$GC%kMXuqh{V^_p`Zn
zs_E8-Sqcq%i<i7Tc>n){Xmy=0D|X)5uiSH4Wq}zh(|N&7zYSl^^_##hFWuBU>y2GP
z?U%L8Pd2(g%&>QmtDPd#aD-i6S|N=^ZfE^-#x@57|2<o8S0$M5V4tvU_8e0mk;atg
zjlXrD^ZfQ(!8XS;?AfPtzvXXd+J3+GciQnX;i8)-nr>~lBy+%wiQnN5!$uo7{&~9}
zu}WQ5xwDGvi`$`-(OOaGea}ffZ2hFuls;Qgpk{+|N)z7&S;gu86N>YF=Ty8t_*;K}
z=_8%jzhyQ!^;j`#m$j(BI9d4r-FAj))BWcdm$&FnUwJ>_M)|vIzb<d#Im>Z(h47at
zRa0WjHZ3sQAnq~un;297fqQNJ!fVfc{3W<!1_%4%r(gXh7n~OII$)9*%aQZp)+U#g
z89U}p-g89TW8T}=1Hx~Zs}_BK&mzV<;jX*h;f=N*UT|8xD!<3y`J7GTZ(Eql1J0uV
zf4}p;VVUx_=1tD|2!*F}($ZryWg9OXtt(JB-DssJ9T^}U_QqkRfj~u*kbqrc{rsz!
zui3^Y^iG~?u>D@9kd;aFo8lMK(_hG55&gCD-1O`}d!p7}5<WiT$%3Gjm#d!L7LGGj
z<jA~g6Ti~z>QABh<~gPN7CoEv%1W&JRuD(aVu@Y*)a9DxUOpA>pTw^C^hEO$hKde#
zhv|}k*}@zj2+rd5o1kocQ29l(!`XeGU8EZ?JhUrpnWgud<H~A>+=xK+e}=EF`v-{F
zEt9oj-y-)>x4dPkL+;$mDl?|!Pq}oq=K9rc8U0SK9kotI7Xy|HDV;Z;UDR~%`6Az<
z3j(Z->F0Ystetc#xxhEl<5W@eJ$a4OzRZnF+paui{T8c}#jW@uuu5cpZGrmUw+}yc
zDw}+}Cb;0@IrjTf4a|R!G;S|@zsJY&dgFoLnd#Hi;;;QW;ocWxS2V43%8HfDjl1r)
zIJ`=`q<vWZ+@X~veOB|U#ICr>@$C8U*tLiK<j&J#n}kaw`)07qFJZs1R;j>HD)PMv
z=NZ+Mlf5NQUaF$HNi&`u%ng3M%7$<6Ez4JoeV6ZTcA3w2P0iAy`z%|0gU!irHQ`?j
zEf(@jn3Hrdv(t`!%~h?Be=3UK9$mCeh-t0$dv*cY2EX;KUp>kX8~)X}S!*BglH-g2
zK{x9o)BN-WbkbjXT*%z?+2qNxxwlS#=YO*-PQkQPAz=G<0guxTQ~CKEZY8$}I4qdR
zx^<#EvwU^WUAY3Lx<4~ku&-ZwSBok5;G?SLo(Xjl)o&Ji$lvm4=03ie-OgmGYHq-K
zFL~Z`%eE|Ux$5Ft9kN4Z#YrLVQjd#r&B=$`tPH+JrEZ*+JF$E!*qQxvEDpS@w=76v
z;(OJ}Y*O~~NTc$WYU9F|o9E;#jV}I-VBgXG{04902jA0|?rgbWnPyep_v%w*SpMmA
z^Yj;9y<jBl-Z!VU<+SjIkZaP{#5!(m*~QAD#h7~cvdWgLA(J*;nYzp?XHm7)L+`2U
zPfuPoOJ~(BnM=1+*hT7#OPE+c|E+((c&=&dLH!LHtjjL)&uhIRS$Y=iF!gtC^E+Q1
zEWMNOEjQPq_W$1#{kg3NRyOR}axYWpjMinxok7!`)vvu)wK^LgJ4Nx*jAj24X6Bpq
zuH5?LB<sYu`xAbAJ2~aVb=Sa9@t-@}R&7(iyZm0tvYC&kUyIYpdadx`)8F^2KbIzX
zRNoNUS}PF2%a*(`qO|t1O3A9Ica|Sm=f%AVxFK+_rb+yVo8#+^S(9Z}w7LW>xO?5@
zcUFhhNp+X1R+mRB>phlF%8QSADEzckM{H}Uz>j^eKcy}?{>>?&_uM3deFe+s@m*9i
zyztB^<6BAiLD?LYYL0D1>$i2v#<?hPl}<m-bpJ5>lV_Ehoty6|GiCqaa=3E$+A)`e
z;zY6MznnosOt(cFHCz;w1h#StRwO^VwY4+#>!FsaZ?4KsP9W)MhQ^Np20>BGjn|Lq
z#YpX5H1E!OIlDBM0MIa1)@6l)r$3ooQzvmNGX-`yT-o-P!~3AA;E!8VH?G!Y*~GyG
z>VoC6vS`&9bWV2$P34EVK6vy>`1$fhjGTfUPArSI<+?|3h6sS%kQJ@8!7bfOLlJCL
znM;DE#PjAmO5kb#Tz8gp+9#L99Np+3q9m}@*80$o1{u&20FWCyKw@Ci1R8BQ_LM#R
zv$a%rM`h8}n(Hr|RnK0}+Y+o6)jxC3=UbJV7lwzQpFR7-In@r6^(9MI=4YG6?7b5E
z;@Hy9Yu$e>xWGCq_vfLdY1++Vj*3iyw*?wA_4bM}#Y^A*|771kZ>!oh%D>KK_4CiS
zb6J^Ex9i=7O51|RA8stHT^=5}SUdUm_pPt%3jg0=S^Mh3zKv$@?^zyMwa?7#T4=`4
z5Br?gZsAV;ef*p5>g(U$N>^VyvA`7+AZ9KJrdwWVKaq(3HlO9*f&baz=MG;NeHPTn
z{>^Mh_<6Z~C7!02*3H|0>DZM|Ke<mQ>?r%U=i%MC_m}UheSGN#?+N$0>$abd&r<yG
zakoAnY%Rdnjj3N{KOE27<F<E`_JcX4m8qx0uRfcsdq>W;HlwLYSb;0^^z<3}6=n9$
z4>s0{lwa4=-Oe?)t|&6Maz_4s-}I^gb-umDRc}_!bL@VQ*v#RQ>&&8-d~mBkhEI1v
z&i{SRzpthr?`z^NOMUa=;l}Lieedp<izqBv8Y^LKbIs|&r+@1Fy|KaH`)w`D);yh}
z+dr3uZ=S66p8pa%;@aoQWGjDgea0hqt6oBE8~>f%$$PU)Z#-EkJ2zqPt<~**mk+7W
z{9fL-?ekG*{U8=UhG#ua?SA`y?Adv^hFPro#g|Vrww26UC<=}r?#7=9mA))-5|@{G
z*s{r<c&eSeUU$B1_4Bz;rSso2=lIGb=Okyg`!V(Mu*BUcU(Ct*dw%PqV-X4tS^qz~
z=l9HwsmpzH>81MY)4K2OSXga)|76pzKl@gnKHj(L_q@>GXWWVp&N(7*Lq_`c_id}<
zk~nP49Dm<9{abJD^3&F9zfaINSR`j{mX`FuGorut`Fz`*|0|W71wk&07HZV?n;h`?
z$Wl|mip)2;yp2;#o*!SaPPh56d0CYEf_ZEX(Rqp=R3!Z5Lch;vpS5@K@?KdxGdEAy
z(uWd1O8mFQuGc>Q-g=eX;%T)FDhqCB$G$Gf&2f7BjcI+XWlBYxeqU@Y?<t$=lAk{}
zK0W93n{Va&H`)3xb#fo?Tl{<4_gDj?7lNRSa(2&wk_K_6i+^5m>{(U(_6EygS#E!s
zxG;YIEdnPlH7H$=;+SJ`#^6Td0q10KzTUa}msJ*@XWH{^{`(J~W}TNa*4mZ0>)gVF
zIrlxcvNviK8|KICbgSMM68>$oerWCQQ@vq|T_?9qE^qw0bD`#YhD~32qF7ovTyo7>
z#8?w^Syr|8$L%ePa(}RO<7V@9u>t;aP3Lru%(pKoz3E|HmQ%T?^}y%k@bz!4?{*$Y
zKfcbdC${O|$4{SHrS;$K{ub439qu2$yQ)b3!OK(D;R}<iBz|3;`(8crUj2(pSHsfF
ze!g0mzJ6cv+e2GdyYs(JZhWt!AFTi3*rsQ!n>IS^z3{U3`noOCP0HSAnf&~@adrB^
z=~s<11Z{Ez8dt3CIAHpWJ0@zk@|sI=?-d;$WUf7KX;vn2XZgn3cE!54248n>*|PoR
zR(|Hjv+2i=_1z8l9&ey1@Mq6;2Gi^FWTbEJuVJp*tE>OvmE8*l=ZljAF1GCAPfEAG
z{=)Rt9oeAhnx%60RcDo)-63;n*ZpTUd+Xa31N2>{e_2!5`tys#>w}lKY<|X*{&9sP
z%c5=b#XVG~U#qiv(son5diFQN+4<!<6PK=(%{;BWKi$t*cXobFW%TL4=S&|w-S^o%
zZ%w-C?ELkgL(Bfo+Vtm~7dVpV3hekOH{o{s<Dw1+k*wcJAGr1{mk{i5%8dsNQ)oaJ
zPQ5c?dMtCi7gA7vb4gHHrvX_;b!!>NlvOtb-9QDNSYxAuML&lNh%Mas(rF$yq%{8K
zqA*))VG~3`sB!C3Rm}ibkm)OQdk%;$_ng7`@uNb&Y$7Pl>Fz!7^P@}9N~q2^9FH$6
zf>u&_D;J#o$s`CW>bdrUCOJSw_B!dtoPC!kZ~y-7uDAO9y^YnNYGLntju?+Nr$<p7
zdp`cTn0$9lblT=C@8gS$E?=&V<M{LK#>vkXzQ#%dtyTX8HCUc**~7+^FH`mH&&!S3
z=6ZAYmpJDhy8kKk>#OeMbbZ~`zvFG{<^Jq^wv=0>BYb_VCI9{FdRv#->@9qG^YC=N
zi|?O)7SGEtT@kK!EN;)0BYRsoTo&HTXVGJOnw7h@@59Z-@8|6Q@Z{&`-+gwKKiIzh
zJ0~Bc&etz%Rpq)=-^a==ep6k?zI88d{HtyM_IkbErINQV{?)qoUo@9~dw>6b)3t10
zZ!Fw+*nK0Y%enAgIZGH*jDp76#slj5zBWJK-1zzQS?~2@dM`OltPY*OWd1X*@x#f#
zQ(8{HGOG2Q{ZjV88`r}P2ROG@I<Iy#-5bo;3UZt~%QU8mn|53?K9n5(JvN|!Uix~?
z_ihT+z6Q1Pe`bFuf0L3Q%)@f&`j;$I1yFcjY5T~O`eSw+cjIsU747HW+gCnrYdi3K
zw?IYRnw9h9FW=v~ZdHE#&Wqg+RyHfHHh|VK1xT|rZe6e=gyTuL`-6wv>Br~ESnq%T
z<kOKGOP}31vemiaK>0DXdwH)o_L!BG{k(BejLA2-QR~5{SDP9g*0O=x6Ro!tIAVmF
zoh)LaWgGSFcGf(-boHtD@nd|<2mB6QPh{J*@w3*B_9^KC_x_tHd??XpS}!XnZ7i_j
zI^6zlFQd@N*ZU5nf4BdCYiaov>05jCPS@%^+xPj~u3M$d@d7;{mzoJNUH@Kk;%DdL
z_Vo|bTtV%D*}{z$zD%Ij0cb|h36xB?cO8%xzP`>^XSKN6mCgE6pnN0PaZ7|FrgYx{
zF89zlS!nylY5sqUnll{>1R6UWt~~qB^jy@nlT{qjKG|K?a`@!ZtpY!0{Sz^8R_KN(
zn&yz87jWP-IEn98n!x{96r2lU1tWO-AepVqb%D$rNN#!C<)GKL-EA>w6=T<dTNQ$!
zJg{inTJaA46AQt%fSWstplEYZ05_i$nF6CZ8nw@h&v@Px!v;~mTwJ1WN%BD{u;N^A
z7Peq-uLWJ;+!-y>xcZ#<4wbe^4<*W4K#j6*UznCAsAwpFn^oIf5>yrRpI)n)Y6Y5P
z%=KlN#+2!hAO<m4nJGKQgQxvN5vb*MYZ^z)tf@jPC1tpw<-v~<kT|$q*x_(xn)`$G
z`~GW#oq1~=$DeD)_jlQ{-1~FuvH#j#2hxlr_O*VieS78Ax7p@}@}S8~>z)JqtDntG
z|F^DuR*OfaFUvfsKbKxzkWw#vDRyf+Tfo)jc1^#*lbn$(dUebKKYEYy9nx({+Ub$P
z%W|*g;mYc`3fIv1%EwcK*RL@5pS$RxxZmEQSG<SWryM@~Y00W-Dl7Q{Q{DVRFKwFQ
z9~xphf0Fd7TN3^!OBa`3kFR*x8^#;(e5HBl-mtG{!|z#qJ@i%F?$ZTs{VmtkOggJY
z1UsDeMzj2TG&5hP_VLX45`lFRC-gNNPrc&Uv+sH1LE8t@YoF{p$o}s4aoc8o-g!at
z5;8J-o-01?D8IcnZ@!i58)d!+b4xQSrflYqIJqIXSNQq{_t0kMcN3@0{&CFtyUjW&
zQyae0d*!j~Mem$F$j;{fcIW$fw$(kK_2RyJJ+*ij3~I37=2%kx@9($QJdN@H*Z%yW
z!(P;I;Lt4DM7G`icRs7_$ZTG}!vF4ayMk9MZS{G!iOncF)P8$$7)QgoSGg-ptF>N*
zttsU;*B5r(dhBZ2;VXj6IId(>{F(RqI=lbNtxQbu0qgIZl((#&7r6WMp@(*^pv7^g
zxc~e!ZrH!x{_~md*7Nu{i;E--cG$7l`87BH=cqTAxA?lXf6t}X1Brp5?yL?9U%$Tz
zx-?zY(n)otV^aUs-GV2wDr7RgADI3n>T2+JgWZ)n8(ylq9Ej}#6;z^3^}l--`k5QZ
zd9r!Ec6kuY(`c^A_FJ*QWMSe3t8)SxKbCn;O!+Eybj`<q9CsEgeptqK{r4`xh(fD5
za@hjkH9=#tx-73gvo;B@sBD~@r!d>7;Gvknk7Ey}-@CKf{cZb!1$!qc1<P{e+-lmo
zYR8ggt3snsoT&Nx%Uy1N-j9j>{QEwgdca+^mW^qD*?sN&S2JHHUDghDy|cW-LF83z
zMdSV?z6alLF8}#2Ls5>~!+U#!!`GDu5B|OvApffQfF--)l;SW+JDEuj&I@i$P)=F0
zici?cDmkT1ij95#rR<77`wkxLzjGx!)Zg|%(VmYN5_adAPC94{^Z7@g=x5c;pFI_8
zyZzf^>Why`Phb7@-j<(Qf9I?=`z>Di=i}@Ab%ENTVrs89i{8K3=x*tkjFwh9pl(q>
zxp<>=*{l}xdk5}<%KUA*pxi40QVfbTO(yP-9;KO?dSYFV)?5TtuDcZt#5pdeH$Pr@
zvVaAWnI)ODcgiSi5Sx<j+$agjrD?JcRl5$%bm)8j!S)bHTeZ>#5rL*3a^ND%SI|P5
zqeuMuJRR;<CzeHKhD_;UP7jha_Gqww41EPszPqyVqlbc)PN$>Y31~TYS3sk`zu#X^
zSIcu}8>9phZS2-AZTa|80Mr_&g;(|a<T-MDrd~T0xI{gO^}C9aK<h05j+%vkKYgAZ
zZ@iat@6B|zkm4wVJIgCsAH}X*vyNkKYm{8nk=RZSmxb^6n6_pLJ$u@*MUJH|*MIe=
z;O2O%t6e)hwx+*)W@2<_dF9iG3^iIQN5hl#qF#8vn5F#VR{|(Ql?$x!pDe)1HaT1A
z!>^UW{)|lbZAxGHetpL6fA{kt?PH#bw>_QmR`6ObbugJc>C##g=EljI42z~M)Ledf
z<(65~pYB<;O!<hm_!U)4RmbfWdP{vyuCmhi+`_HHyW!Kvz+XER#0&eug<H2n?yQ!j
zC8nFynDXsP?lU)6UkPWEuXr%eeEs{z4IlfwXYN(o5mA09JwWu~<)kH&94t3yRkc-0
zZC)+sWPONFigQKbuh1Ft%i?<<3Dk70k}7?5HCU)`vcS7QkU!e3550LQaN!n5P2z{%
z+5B$<<!^m{Cfyuw9H)Lf<owOfDcM~rGqz5iG`-;Jl!@1z78p1^`@++3;73T%S`|&E
z(}j=DpIv#`@Syjk362abzdS+~#-{gwyZ6B6WUv5V3&aQCc^j9rg^F4o`f_!8bAP$Q
zgudTrS7yzytmCpMah|wrUYbGy$DDnW<|WR%5wWPu(nV1u_l(HHjwMkZ$y1)LUTr6T
zdb*nGo#~*wRqOu1epUbb!1q6Ag;k0(X|Iw}R16eJziMLcBVv2j;lYMis;ah!Z3@ej
zH+Xf3D8|g;@P5F0%Twl)X~?~EpFG80`RMshgS%=y&%CO~^K4%|=HFZRx7B=?zzbEz
zLQh3LL%UrfonCcHuQO#it{7)<tmzhfB(nU9jO4@RSq%>S4@Ha~u&@*znf^$oM4+Hi
zjBob~^*&Z`T=j$EDo016YwEQfN`HPlcu-q?#oV4r_M!MLff=p)vOS+J_-z%neEz#-
z6PKMdV&c$wEt$pBD0=NS?<(K@qIL_FZJaDjjb3e;@N5ykj@;w28B)7V*(y3fD}F>?
z`6&m?R$It1|MAqV@3{BW#s04P{EUk`Cv3&-u=QK=IAQ{3JhL+XV!LsMqRP>mx-DP5
z=DG!MQP;7Yy+d2DQRB*P_XpMXzD-ABY$wI!*UgGNAlnWqOSSbsyi?i`n3}c5{C|zr
z-iF`2f*nqGeOdm!`n~_w7vrNQ_inqprhPO_by3JFR=!{o|6u#PpVzAU4$PK4+#X-K
zu72I~eMwz^-ff=$_fOZ?i<}}|n{2MWj$da{AaNz%_)Tai+uBnh=bGJxl?1lB?txX*
z#j{$Dx>!i)-uGp>SAI$+x-)nF|1~pbov;0NSUdE%S^&qyL?f%)sgVi&lfFzoGg0(|
z#>9sY6Z5t{6Ze$jS9ej!@>VGLDBW-%U#HAxa=_yh)iZbPnBpx<yZmN;VEetR?$wo*
zuiw1p^{9T>EAF@V<1_B>HdkkbFy8ofCx6BC?{|vr_pZG6=VkHvzsxFkL+ZZ=J3J^p
z|JTnvaQTPBQ8Sj^y|QnM(=8S*#pzL7j)j)`O?ttQ6glZsmYru(k?5o#ui)HMuAXe(
zW>dpoeNoHlI`FGv)s<$4x79(5Hrs?O_nLHvWxs*`MW>aXSw#<JEjt{pTyuD!Kkw(U
zOXl-_x;{7IRL~6Aoy)>!w<Y~U_ABXTewz~cy|o4WKWg&r3hp~MJM2Apu=-u~t5(})
z{x_Lt^?uCezsnu>;B346zYlx&2hQL9-I>2W?r(eb|M;&v`B%>0|NUXR{J*)sq_cjp
z%Ql|B`#W*gx5yt==QNi1E@0ruiLf+HFTK&edX<k%U*ObYq4wy&yNl&k&$la1QZH1P
zbJ=TI3Cp!Ni~Xctx;%LDBqg?2V7cmoRVx)&-<`$Ge>tmnrQPb;E?@f0LHkDjaQu0D
zU6N`4zuW7UJBuxzc>6ok{T)A_xyuFl^TvfA{44!uQq|{Ozm^^}zjx=ez!AHm;M&dc
z?mw1)|2L&ipzeqBga2Cvf9$@0_xGG%H{0`9?cbSM(P&=(T_$DkcWsmHaUQcB6ip7@
zWdF44bnslsM^`6KSS9viahat-=q&ESODiTVkt$mKP2s~uhlH912JZ_?l`mv%)$;X@
z@tw%^NAp!u?~^wtmxL=`s+r;!GI`UZhb<f~xvVU8|0NIHzdpb6+3#2mAJ*>ey$4=@
zX`IM@fLrFz3GFM~H4nV6ht4vo;8*x?g)6zy+`i;}`-0!U@9h0v_s?9Hh3T{1m&&h+
ze^+rhKk%2|_dTxbXtn&mQ}25~31s2K2OE~JjCy&tWufXXpLtmd242G1p+;-F{H`iF
zu4;79KWlqwy>g6NX6ZDaRhm`#--I-G2Wggf-MtnO7Fs9)PRZN~AGV*D_?64fG_|4V
zcX*3G@4ip{@w@u@{=a2(52$_W{eZ)6oxj=+C8n#h?f=^RD0!7XulmQ~SML?Rh{`s`
zFBG{V@I&!O#gETtj6>>wi59T*I{mM&elLFO*tF-rzjd)>x$e8mVX~H8_R9jvXB~9{
z%iX81WftVPB_U$3A)L)2>(XSkT;8WWL&-=fW{>49Cjm~UVp*qG2Tral%zyn*=)>fl
z<`HKUZz_C<dERi=@rgm-aURQ!Hpw|MbMD^QwCQPSUG`e7zaQmqR=<C9q<){gkZ0)D
zthJ%5SJ}m_4*5EnXMqFr!^mlmzwPn3ov=8UbzkDkW#^`4uQ|jmH*vu#5s$k&>mKjE
z8+Dww!>iHs)!(y|*tpkiW9m+OuK(`%Ll)Mi-~|q^SXRX)td`agwYaxF_m2YWzt8%0
z2mk-vpL_Ac^#Aw&f6L$hBYW2O@6rF?zK`bm^LhWj=eou}x4-}QEdR)dZ+Gn{-1>Lg
ze(&$Q@gMT*zwNI7#ce3?Pu=jn{r@-e_d4I(Wib3%|0jKa^>^!u@8a+OJ^Fsf#z|ZY
z9JrnsrYpaidG|uv&insYO%v7f*_Rm-S!H=8DB(tMA2+Mt=8~z;Z$|80QamrUHJ0ni
zxffA~qTUBR(2-tup5y4QV2e2m911>({;*GF|L}j}`v03{)fS5NE(=<D>$@Ds|DXQ#
zzn=f^Tl4+${D12EKG*;GvV8xK^nY*TPiqD@*8lIGKg)2LXUUQJf9zF1`|p4HuhG6U
z>0Z48>!k(X^Y=Y{|F12rYkhsD;?EE1{~xCRe;PgOv-tmRY3-E^T#M4p4tJeqJeFe>
z|HVjcSC*&t$+hzh*Gq8te{Pz-|Kp{W9V=DS61#l`XBucSiHMbJZ%9d=w&!C)(Og|F
z)=xUUD{2=pcY4GIC|Iy^{rUfYz1jc0vTBLGE}jyxKkvo2*Zj`k)V*D`y2|?hvO^j<
zTYuO7UjJqNf317>{_4;Cb=Ugd&u{DBMz6f8<MlVUTJ@>s<n8%Sc<Z%g?H_Kr6Zq6^
zZh!d^y&Rpc-z#I!)xKL*xA(ry#{>_N??)UOADC!-cw3+U`P-U5Q+B0&jrv`FHoKzR
z!ft^>!84JHHFaKplP^lhAKfe)pwPf1sP=Go!wHT61&drRo76<1Fqe{MBmH)#M?1}o
zxej@~(bzgy?6ux^uST$%xqA=P9#Y9!l6>*W8&B@Z2B+TexzD)Xr6-trwWldy>wZh8
z+C@r6P1m$pm6RPCAB1QX>^I<)uB_D&w9iZwa*K>jeKEChS*S=$*SgEI<MjH1x{hTy
zuHODgqeL^{?yEZ&x*jD?^4c1ru|D(Y@>?0!eN13uL^L;u>VG(3z<IG(SWGQ(O6KFo
z`DL00@6y&=yib;kp5T)H`Mc;@3$D9dUwV3b3*|OcM$G%1F#qh^D>LR=&bZgL7~;X!
zy$6^Nsl1q(@oh<~r$p+RB+vIj3cLxeOwJ~e53iZzo1L-X+Rb(-Z1vW_Bw?F(Dy&x1
zer`&OO-|nDqz!Y4)`tcI&en(j9(i(4-tgYxMnFQN`3$#3#mis0$+Z4uJM?Jd1f{iN
zB5qe@e8c#}q6$R>BpJC_misrdw|WXR3W@ng%xKxhWbD=0yN#*1rupR+Ce2qIt1P(Y
z_)nMGEn?xdT158>w~rLp8W!#}8CDm!2Bw3WArBZ6g|4|QX}JmZ{maRdAN@P9Vg05=
z7sm(E$vH*M-z&2;!ydOrofUoTCd2w}YT*_u(TLQQPaF0}H^NML84NNdZShMVlaJq8
zT0JiunQ+xv@|@LEi*Ogm3T5U$Yrk4bC^uhR{aMufkw!td`<mtzuU_+Bo>6`+Bw>EY
z0!eqqiGm9p3Vw-HILv5CwVi!6OIqF3=TO|QuKcG8KYe}U<fjyh+}rSPFQ@d@+Gi&%
zxH@_mSeq^{Kd@OyZDIa=1&-A7I((cO0&{X%=S?->T$=i(Rztv{Q9h(G?6oz+y}$kc
z3%8VjQY51Y2WwOE+5<0V9Jf`oQ@L9RQud%nbHfP<;r(+=4n|0DvB(EEN}UV%Fj4eJ
z*81CVF9R1IFtr!quq)FSXpo=zDsUaE7wfVJ5iS<_@J5E3kSfiBTT<5+I)L1B`u1P;
zLtc%RX`2nbrMOrE6fC0m9#|!pa=7Z^>r&%tF^CY?nNu5>l)}W=4l!`Cr292K6>NOL
z*Oviu-ocr_tyuiq89=TA@fk%byp)bM2n%SkfyEdc8X34)7(nJQ1SnYS<yy1v*Omj!
z^C$T4dA}N@;pogCY0H?tJ?6KU(+9apPM9?;-rO$q^4@<QuWQa<t^57B@GJju=f?F5
z915<9{z&_H+4L@Fz=N~$ryKPza<c?HC=7Vu!^~yV@Y-IjzJZBRq(Vj{A}@6P!o8yT
z-BsyxjRQYl_6gW~o{j&0knKO)Jxi`1d7W}~&b|E$-j!<2T4tLox9~u$>&2|7&h}#4
z@Hb`G{{H^-wJ`hGwJV9UcJD6!KSNu9Igx>N+w13NI<7n9)U!^D_+G8g_3!;chw8vR
zzb^0QezVnY|J9qv_ne-~I*rL)<J7(D*Pn}Xy$QX%I(E&u?(09VUhDaJJiLB)>Gg;o
zKVIp*%a7e#RsHqf)n*5M0f$DX#_sO!<8F<b=6kQ)ka%ADm}C9wz@lPT$(51$Gcy<8
z%xhTJJ0){U#2MDDeP6aJYi{_tZS8^Hd0Z;-`qfEuS^KO~rkA}fxcw>CG*_>Deeuff
ztCb(E_E)|9b$0dk{P?{kFMoYqUH<d$>!f#Q=dPSRU2o;h>Fe(8t^RuH>&m&auj}94
zQ}uFtc>X=n%p-?hU%!2`Hi`98Av<eR@&boK9XV;%bDOxH@7$MWdtk=;W2WviL^qj8
z^%`F@cXac*9g*NVEA!f69ZuD)i{{?s-jh*#^!VD)vxYgT3wbrCEozPoo>P5@Z}rT$
zI=h(0vn{PV(_I})rxh8LZ{5yRdG2apLZe|=j*H~y5dP2w>lcJgnSJ1L*fR~eH3uqJ
z9#|i)fA@am)0(fZmR?=Cdy2=Iy*k17?>(w{{cY*)M{l2roSnJr-21ratBc;1ZajDG
zieb=$)vg)>HC3$FR;};rXWH36<*Dz-hYqF3q@PQ5pTFkL6jMI+-jO*eOA1PF-PS*I
zrQqmwwOrPvXYU;2SpBJB!#lr=T7TD{ez!y5w2rrawpefVuVZ3ozdS1D*FWmc=|Aha
zjQ{ndcgsQ+EZ-#Y&7@k};MIGL4HLKS&lP)nIe+m(IoGADuV&4y=FW26$=R(F?{970
zz3ax&KYJ?XM(wSb?;pGO{QLNrxw|T6-`}h9EKY4_Y)tIl%Hr&=kN&*+I(v1$zU{q*
z^X7*<_<B3~v-t9|cX4wc1;2gsu0Dx%-zq)l#s`<R3vw$r{?dFImT>Rn>YO&aHD}cR
z#B83x?{;MB)+*Dp9<`h2$f%!LvbkvMEqS5UDR-xM$2YFGv}sh+UA8ghpxTj1UoTvW
zm{GlH&(ye@cMq4^nJ4-d$1jRn8oGqZba8Rj1SaNIrztPzvUW9o&^Y~Fj-&g=2Uh3C
zV`_WSI<vl8iL+bHoG-pUcs29)pHCYb*RE{5y0Y>0pJh=yzE(WYn!l^Myeodr{YsrQ
zyL*xnJC3}c#QJpAl)49x&V^X-*1vYm?&ZAt(8J6{4=gl3OuoGG!1gs$J{HBjO6FtN
z4B(0KY+PS^=A8hSit@C`-ZLRfp7OQ(uMyhZ(J$$xk)s-ZF|zrHkoepUd!|>f*qpKK
zyGY-cQjht*D%Y1Xt*r80CcnlZT|r>>gy~<-Ftswxo@pmG<85HbzKa<qysWckFQ}fe
z`}OlT?BBv4h$l4$J-Eup8u#2f`pDAL!PYfjpB<=Odf@aQv$ZDn3U9YxUF%?@%(LLY
z<E0LAemg$T`F`}3&E>F!Gr`JhOTRO{ekK*Ueq*j*fBpQp1dpuqKJ_lFzb-v9KeS0a
z;_X%Lo~`??8gPfiw||&fcYWb?rrx*(*XQh=lQ1{_dd!QYtn3GeS{twa<X&=sTYTFx
zy)}NZ3aqPIqx<z^o_x>z$?#Wt$8OX5hyTv8&MN&awBL92x%dTN^<wVM%t~ixWzzWY
zLo;Bz!7ZuuoV9OWggkh(dO<)!#l<~h9-7N)4_`9T*}c%ZM2`2`+(%IfUwmC-x#uL#
z6s^>quqAz&{UWB#-%f7N{5>mVL3!22{~NL!y&BURrL;|r@4a%nQ|rPiHQV98l(MZz
z#q{&{_t>3(e~EooRIQFk#YF$uY24xA`EfJu@2ajY^{&~o_p52=r+=xhnBqhxsj%LA
z9&aD_6jXrsZ)KXzSJ>#k-MIWtK!Vu`aoaO;>a0=0VV|WRN}4ApUfq29_Ds{0rl*y5
zriX1-(|Kloh;{cbw}_1M9`!D)UHL7)-9q)d4qGf_V1V2aV3212M>=t-!{!6K=8Ilq
z>Z#On4_UC0^Q=Ykx0v)*=XdSgfB5IQzvu0C?{*em-G6ld`DJC#dQ+|E$IcU1esKPX
z_~Fmf?WH5`R@!VRE^dfl9x~;{zgMsRUR_z12X^j!CST!qw^WKZMds&w|K7PP^`d9+
z|C6(Nf6cpEw$%QF_gvA4!1tw6%=>L0S-oX)4gC6k!>o;*dp5q_cVPdmvrkXgU!8nj
z@5FZQS8q3;b1j#z{}#?{-GAG7fdd1pTr_K4zRBxyueuk_yT7hG-QXVmyjpB4|NcJ>
zcb={ej*e!2D+zLg|9qzFU-(}yT^47r%Jt{z)8oPY`hSGDSOOjx20t)SIx2Hy|9``u
zhc^Z&98zg8UVq?dq{atfjSu?qi^Mq=9C*Coz|@nHF1`2W@BbtCGl><X@7Cp0!3=i1
zqC71Jmxn9VxeC{8(m!;8n+0SWs8(gt5a43jA;xj;)>a1%ftn=NXWu9N+w$a~<U$74
zrpGG}ob=}u;b3(F)ztwCA{-#k;N~!WcquZ&_lvq4zqg22iSM)^$&X^am%X!CxNKB=
zQlffl+*y@;n0|cW@;MT%VkIJRw)=X`7lxfjW9~H^pKI&V_^;x5$ieqqmu|PTcb(X6
zqpI;CWP)$Wgtt*iGT~WidiNap_Bs^!h)AT$y4>bE^ZWC$({)c`{x0=A`+n|>Iaf9<
zGLE?Nb&cAeY3E-(TB~utg~|Kpo=J0`@%?CJD$etg_`bs^;K9qVglpL{VTzWPcPf`G
zT>v(2lN#&4Ya6rpT0HC7r3#E*3AUX+Uh;}>SIonYp7{sf7A-%~r8nK$b|w2uT}9D|
zFFRxQEec84BO=7*^W$Xqy&d*Etn;#1pZ!_({?}E}X@0EB3<cPZyEd9t*0g=om>^TJ
zfKi><@v-wU(d$7e*6Y>HrM~#_?Jkz8)O&U=!!X=W<HCD=ks8L&w-!X4oiDKZ>7+ba
zE}OGlJhOIve*U49!{Qs4j~nOfiJ~v~XWn%*6ysx6+q?1P$tl@NPrFhxZ@lgfaz8&=
zfi-Jggqm<^|8~(8JBuezPL$ufe8GX>H3#Z0H^e2&tz&I^yvCvP?Fr_G6Yl>}u&OY8
zzr<WqG{UPQ=H8bjvzN87|NS`U^kda6+n6rT>-4<)_FGjfqsE6XS_XMi7p59Mdl02y
z5y<uCZ>h&5x1CRH=8Js}TCOjUp}E0iCjTz=+J~N(VuHRgty~{|$(rrZ-@i(!MpL_X
zbp<@g3{AL{wBy{pTZ@0ka<?!Y+!&hhes)qxzxq_~UCobHKb*KD`$kB@mAU8I_Dtq1
zPf~fK*OA@mm~SO4usGGZ@zb;!4KG|?y<-un@DiP|srtzBIp>Y;eBS4vAs}<Vu^_*T
z@uRQ7*LRcTrdyjCzEoyic2`*H?6*{P@4)S+Cr`T1k?pwsbow{d!;Y2SJ<q(n6n`x^
zaCzl{p4I;EPB3(r*EsiNH$D*2oM2VRnq0BkzvOIKvG?2c)yH@5`{~Q_q2bQT@PrAi
zEzg^dy*1b&#?iNt>9;linSX!!|Me6oaI(&;Vs+d7uJhPdhk`kx7DC<II(nZ7sxj8M
z7tQ55BU@{$At1xe`i_x{MV=MX0v6$51?9CCCQz<(YE1WQ<e1E0w~>ikn4w09OY{rV
z!R6r(bZ+t2=wzMsyOsu0)wFrpfvU*MTBX5_5**AL0&`SZuWh|}G0=DYVsVZI4h3wY
z5ptqjS55^eSa5UIlveRw>2;OKly_>J6|{hjwJCYY0X5l4Q_D6jt5|u2@656oou2K>
zzcgJlvDX*lj#|7o<LIi@Jd3ZE<p%%#8GEzUscQ9&JgJb4+n>3Zh}>GPb+qhSNLA;(
zj1^ne;!^j{s&Z$V92q+;RBNkwq`ru&<NEH_n|Gx*FY0Ey_9nk@MJ)qspB8JMQ{w{(
z%?-!in2F`77K^`Fnqg}oJ^S)WAzed5bM9HfiS4t0-qw;XTX~-MT3FhhnXBJe8FsCU
zS$!i<Otx&<Y~iS;x7(JSoAZ{%H|_o6D$|;>_UzW*Yy8AAKFwHqKImR(T*t=ibIw=H
z+-$0UJmyT`<J8rMMPJ;Tk#^`%m(urrCVZwE0&~JxU!6@1yB21#ep=QnWxv`(i?#;M
zSdg0R8e1Zq-W9dG_;}?aRgY<pD#MJ`RxA!l@sH+|Ren^u$v{nHh4`_I(6hpq(tgfP
zYP3qyo>CmyqrZ2F!{QsZ>AaHbtbDWgiypeY_Q2HTdmiRkc30IJYRjjF&Q0ABx4g=C
zPufmiu^Uf)>zy<Vq<cMCr@4f$-*sZO&iUGhYU{ht%4X;K9G*Lw>q(|M*qKqRpA47n
zZae8_csIZBw{Xcf>p3}-)MsA5<j=Wc{q=XOrs=<JpQY#5>psj_xiZpwQ)=;}wQm-P
z&b;o$#S{5g=cISt?9=m~)ukVhnkMU8e=A@?;F~%wp9>5TDO<xEH!;mU{CLY;{@t_f
zuIgWnbWP4K+_v0)H8*R}b$_q3N3VG7Jol+|n#a>?E(>dAr7wqYU5Q{mE+xX@x030x
z<n~<U#~FT`g*+YkT5kGWo|zwYY0m+%Y@O4||HAC-jz!fT5=z#&9yKXd=iKdXmv`?Z
zo|>-P{OHq$2_5#zY&*_QHOVf~yrA*TT6@C{!xPWCuc^HMzWnarIKw~RSTizPkAB;+
z+PhKiwzR3!cK!1PVx^U{YR*1;cSFLtQ8et}MmE-_;8hOW^{tdkjNh2Ws{Ea@a*|N|
z=8aOld7tlv*{%0hT)uE>oA#RHYqZx2o#Hgh_0!0V;GXia!tvP2HBwwM+b$is)gF*=
z^w!1Vn9nTIHm|l#OR_TxufH#SkyTdjT`}iI=SDV3!$)a{YbN==xh3J;==Fkui)DGS
zf(}RPFSlJHGsL{pB3HT@X;<u033`~%wWKZc6~ABbqO^qp;m(QIj3S-CiRQBY>+0RU
zFIJGN=I|xoxw_dV=aofgybMUl+_d>r=qYQ-C4s9#9?V;qarNHEqosG>FBVoln{-F~
znN8Yk(bW}FlGeIfXXTb0_%y>HC9Wj(b;$SYNy*20Ue7E_=3y1n^_9sEP_Velb!FzC
zq{Gr{ubt&Cg^l$^l`WG>&EKiEZpPY;Kinow{n_^BQLm5QvRm;Fi~J|WHT`?aB0WF#
z@Yk7p79P;@)^ESD>71MQC$8ih;WrJsR3C29znfaLK6py*w*07PR%b8m&MR2?b?0%l
z^fRv~IC|$5O{&Vylq&tK;_c^m?e(=AJ=$v9bZ%TM_StwyC*Q``V%|E5>rBTZ3W_!z
zt8JW`xGf`w+r;cyXs7DY@>7NK;8g9$x=!L&)~zeoIcjx|xaS6it4eQva+34%o&>&@
z_?wcOpY8}!@Q<Fc!+F^`57|41t=6-C+S5BH>}|52lwW%0o7cu7Cw@zQ-n4aD|IIr|
zMb}Oyxoy1S{ANdJ>!-fXb#hC^OnV|DzVn`%B@w&(Y}th5x2AIGI(HuA87};|r?t}K
z_2M;)w`;gPw3AvU9O=iY>HqVzou}R9;}Kn-Q+K8wJJxb!ky`v_k-`;@jSot+E~IQ*
z%$|O!X7Bgz3%6$X873xgycanA=(#Jr=U1Fqn3i&-F#qEwo2J?M-}-djt@p(&+>^S?
z?X9(`$KKCh0$!`#I3sxe(lJKq;4eusf0Q)@5`_*J1|{4P`tfCX<+=aKcdCW@9$Gkp
zI`Vr(EsXoD?=y&SoO|aW!NAjUP%>n}I?k#Vr%LJhE04v?FYWO9ZMHXTLF+R{OP}Mf
zmmX=fJnM2adr{J}f+bULah`d=?Z(%>LHqjNjWYWVd+aMdd()-<{iE5x*R;ebh;Z1g
zW4g;HU2IV`r!_R}O5{roSCPAK`;Xn#ee`XAZL!9t>&kBq%qiJ<V(CmvnarhSOvXQ&
zPCdMkRsMXJ`Lx3qJ4?B4iJth*vne$%QiqY%squj@U&~Wr5iK7l=hY%E|5w`G>XT08
zTC-9q;N%6)(^V@C4qrd=<%f3M^{k^wb6@Ye5EHB&R$_diY2Jp6sJ+vfLf5(Rt%^9M
zsA{w9wRRfc9>b^w*YhGxw=CL`zCK7-^wjQLwfUBTmNP`xcYFxf-o?dW7_7l{{^SSV
z*qu@vWqzz#(I2UQ^-9#om1etk-|%v8*|2Nf`E7^1&SdE*N`-C{U*CIP%v5rE&!*KP
zu6)O)t(^M9Yoo{CCpWv|B0yE^hmWEw4ylA3wXM$F_pGccy8r&Zq{UX%r=;sv-#5%^
z@zXHc-ELcZwB+A3(VxNBo)?Miys!FhMR(+$o|%neOnJ|~?>8#CvGhRHv?@opbz1C;
zBc?K6-}C4s&s66ATYqX@i&dK&&K_RzUFyx|opbN*l;R4plyF@#^Sq$JYtz#<cB|HK
z-M=t(wczQ*IXi#b@D`sAS>AhdX7jckt0Sha{(1b6_PlVzLtZI=&OFwae0!9;Z1wG^
zWnb4`6Ip&J^4cAvWYzY|xpN<KKHGHjHK?s^w~HxsMvK<z4^!qY&%Jz_@qS)<=+9%b
z1g#dH(7Gf4tkK|n^lOzamHZ2x(Np|;p1jy%&ZJvlmt~tHpjBjA6mWFi!~~&D;c4QZ
z0xcsh@7eiU`?b*Q1&-P~Pi#Chz5My=c{bB5S17%jc4X7BlErbXZg=(XaoxYrx~KlO
z{DbbGcUh;e>?rN+{mB)3RBGq8Yj3A>nH=)!_~}-CvHn-~#$%`6<(QoipS^X#_Pb_D
zOV{kZS8}}a(9Md{E!}(p3JmfgjaoiVQ>#3rs-;EvUB8sBpZ{q^;6|Rg0b2^}9xYpv
zea}KYaK)S!CiR!a6D1qP_`(;Qx_ZJ<)cWMIpD*%Q-DX;c-p}<9{hClRzs6c*MVH3u
z<L+H<d((2aC3J2-Wd0^}!48X8XSQzh(YkOk<!Qpg)e*|qV?hq&V3m4%l$&oOcf{3j
zjUUp9Un9JiGqoB&wwuSX>gobe4=06nl>uj{RD0H%d-6AS*SYbT^<LminwqGef8+O2
zhVLr{)dDmMW=)Oe@_8SYP%hF^22Rg{$;);`H~z^ywM)C`v&Pr^EnUqg|BB4W)C>?c
zJe+bfZLe7uqj&B92RDKm&k3$Pxcn_cM^NKbxWneH6w@=l)h!;A%i0$tyfpSMmruZa
zYbk@rkG4GWb7%}u_z}T1B~fUV&bDjsA6A-$>A&24eD2I$cG)d{8k^26(mt4Z;&mqH
znw^G^Zmcl>wMeu+y3y+LEuqYJya`!PRuu&tHGA`Ms)BI;uA7^reU;mt);_!Sb%OiU
zrPG-IF^gz4>#vXr5%di&Sv&2%!K+Z+tCw>&itbBX&$Rg6QKr9^H{2URaV(`NCB5)p
zuiJE{-fyph5+;VG{f<eyy<%!tPSLe_Mxr}5ZqMfe6%WUQ7krt_F*zW$_RO~_=8ugE
z9Lx{*L>}w8!0Fl@>!zU59l`u%m)houk9SWx{3tDL0qZ@Ejb&Rdp3~sCyK|LHPf}*h
zE%(r(RT1o3?Ci<s!mGpI&bD=EH2Tpru~{qWmg~uEx4m3iTuqW72i~tpnZOpR@7!1$
z)Oh#ks+eApMZa=(h=w_71#A`9@A%#NDko5*;PB}g*K@b^MtSn|G3Qq*>4XOts)OTN
zgjMQN!1Q&?vOl%mJ@)9{^QW_l=7G}S>L2Wp+cqtC^POk)V7l3^MG7U)v%W2U;*wmM
zzsY>--hKml)261tBSmXBD~PUs__fiVH{7~F<5ujOPl{7-s9$mU?EAR=jVGw*EFT9-
z=v!sK?NoQ&UGsUv-tw<})=zAee}8=J;>ZB%WY=#1<>F;^CZ20o%w{`&x>|hiRril?
z3>%mZdP;LJf0!uRVZh12#qt8Vlikp00P1TufQoklU2X<Yw*r)e8kj&c0!)zJ28dIU
z!rCRj{i@cURhd=CC#pW4d`zAHR8G{|lue7evvM*Xg;)BfeNB7M)%*S5%mr2d1(_DT
zI{a+8P^icK(Eo7~oI>n>vVN6k^D(eC39mk|>+ms|z<CLLY1uy$T-|n;i}9V(c~@XD
z<7c$o*%sG79k(_ef3<B3-w%Q0_0`vwC%&D#;Fwl>e#o)>x=%M}p1nG2z3ivMrE6LA
za{oWQzt)mLgv0NHL&U!_k3)yWV;_b;UKG6}?Bu2?VUN#!$(Y!;tu0I^c>TIX;#Tz+
zl9qi<?&mG{(<r#H^Gx)?XQlOz1Xy34nRkC~cI_62QmOfZN3TWf^Qc>u&AQgFbe5)9
z<W#OjZd04C3G8PI_xW}EubG+JuEkRiu{@o-A!Cc!_0;WKK-JJ6-;D~tmm0AvJNjM^
z&p4-T<ydMQ?%a5PtL1_6aM0*V|LOzwQhy#Zay_YwpSX77>{XolpMR9TOUV;^V3Y9q
zM7(+V%{Q|9mmA)>E|+80%4GX@<{6*mkE*l{9(J=;l&{OqTRy#4`sg)@y-O<(J}j?#
zb&RFoc)s?*%V(Z*d|0;q{Mj<i4JTy$%uX_IIq<)$eNEj*<$!~Bvu~gLd#=GW=UIZv
zg*}TNJ=$*lI8OQcHm3d2#SCAV4jP6(kpF+}LH}>93z09<SMJh1ewfjaOH}dW+`oGc
zRCM}&*fCkiByM9+wajaek9n-OA}`$kc)MSgYfUK2*T|n~U6&1mQog>6xxDS=(}wdJ
z+m3B|#D46$l(g05-cGH(rmIW6lOmIM9b4slUXJyg$=u4v>Q$v-F>-0VawR&SQ}^A7
z@!Z^YYT;k$eUIAPOvAEo6uGTi#<V}Vm_b8eP62Dw-bSD1D*ODK8L#K)e=xiz(A~Xe
zCWn+gcV>*w>px4QS30z}o9F!eD>6f1zwpT}y`O1ozD?onH|Q;YDkXCIcTZCG8_o08
zJMXF2aa^8pVaAK{si9@8(ogq9H->#xo^h#wb@85rkZ)0IO*SqodJ&dzc;5BMvnQ^u
z`Ba|6*U)HS@sl~R@NQ4*+upw7x;a<fS1N~YnX&&<uF!-}7q5IZFcnzFa?U3^?zzJb
z&4Bf3>IP@ulzDHlzFud_7kX4`zsI|ttFLpe%(!q<x>7W#&Qx1O;<kTd=HUWY=i*P|
z_4hZF1gD?YYR_Z+v_oRD^v*J#mi{X;QtLPtiF5dMF!BGedXhQGcc0Pu%6C)uci&7n
zY0mq2&iYMPj5yavH?9w<KdF2_ZfeA)Gr`|p&3Iw7vT~}3_Lp7nF9<91-kKe|^BHJT
zzg&BR{x`FWK@Xy%-@M&&uf+9w*3Vv})8VqZtmmFY?79@R;M|r}yVGs2jVqlSL#M^@
zZA_ioJh9=rdCtvVwcgy7r`*=v<+9mhX|uLZ8C0}{JZO{n-&%QT^`xgM?d|Go*Bppt
z-Q?WNfB8kpH1$Jsxz0qr&Sh<L5j$&Y|MarS^UlQO>yL9PrbH$Q$L=(Hyd~(8#<pY2
zDi5A^m-rlIn%wl7?^saHthOt)rhY5u>atd4gi6bAUD;UByeed&*C{Ix)=zb(JZg3;
z78?jzxE?iqbw4sAyC+7}J&zAmN~-S>zu|jjb9vn2Zws}H1$vL#?oZyc@lLJUUeWcZ
zH@Qi-*DBwx`Mb?_<DQE%57+5jx61&hDHB$`Zx4m+XEAfJq=z-~?(H&jEp}*p@P@C2
z5mdf$Fo4QPh6N6w`;|eZAkw_zgLX}UL?H$djtkr^pmGsZ9XK>HFeieFM~1x)V2TSa
zRg=T|@8#3e`Df3+kK6a>;n$kpT2@e9C!tmFTyW#@!v1rA|ET`|c5(6le!Ks7e-_`D
zTiJ2bW&e+pA7kcuakmQ1?fzp_^m%f1R@U#MzrU)UJNkcK&N<l)3GePbzwOraRs6`Z
zA3t&$jq?6(dVc5GA?~d!c7DitXZ!z|r0#T`wfXx3y5r82UT=6+dga-jdDUju-^_?x
zwCY~8)rv>A=ilGC-MoJ(`|rHl&jL@?7rnpt-8Su=t!2ebJ0E@RjlIm_Lb`QRVz+PM
zV{Mwe@PPf_KYw<9-hXfLfzMw)tuB6Ex3s3hgmo8F<;Q3z!%6XrCEoJPUcWi~lZ{l!
zWd8Ph_B#&#d|u9X^2533bM|+<nfu@O$-T|r-I~}Z9z1w3{m*Re=IctYxdlI;iSAkx
zFDbJm_5AktF6&(9eLV3Xz(p&)`oqaNF-AXZj3jnm)|6RwJ#hBtuoR7=<!=vs<p?c)
z5t)9}I@4}{`Re3PU0y#PovM2$FuUOC&3mk|pXa&mtNB*jKXaknr!yV#N-J*Nm)S8X
z<D>E$tE?0afjLteKP)c(^6Asl#qR$%c{lF==ewNge(5*S?8lp3*G8`Txa-*LTRwq{
z?G_vpy2Z8r^{zAK+M+*}MZ_%JzT#J|g>&Qkmwyb-FaDZ--laXsvFxIm__g_GJ3F7x
zKE>u;^Ug7)?^nU?;@Rit<zJqZe*eNJ_KE77xYdMgcBp;+^XHgZ{QW%b4}BKy^SNv7
z7FN!l9rNYV65sheU3@B$lWh)NKe}>nW{H67-ZP!Pk?l*LFDjc|?7eByZQ0V;8_Vw8
zj$LTo?9}K#&-S*N_Pu*XH<fGjM0WUXoqhY>9O)W`UGuq%H-*eRpyL#F$7jReM>nm^
zXC0oiyvOQ$Lcp3eS|^`hdp<AsQvJ+U!}B@Lk%umAPWRonPa*8iJ@>}Vi{9V6@=E$>
z(j<|Hi=`KL{91i3{<v}2B;C9>yI40bVZHe}dcmdp`zy@0-^~LBp$zN4XLsh$wg107
zkM+~^xm-0R@66xc;R5wJjO$<b?u?veC2;1k{>N3<<+3$5<b2&BYkKak<j!l&ih1+o
zk5z7w+gaAU=SSs}X)hMpO83Nc)_hhedOgeL;gQO+=TT3ttu3|s+Sb+<r{j`$S7G7B
zJ<{8^^|J7<)6tpGuXO(D$vmxs*jJufAHr52{<PGfp!kJizV?KA$%pUP^W2^Ey0c1B
z*n493^)|E0C%4v~5PsDW#9!1|Qu#D2<?@=<8f%swP`^HpgEi>w`x&C<+uk@naeFdv
z<pK69mOW>5?<~sEY>&R~QX9gwm?N}M`QW#$3#Cn#&N>|9`E_Gn;OYrl?dxKMMVFVh
z%h@c^dz+AQdqu@+-lyB#*74q3c<e^V+s*Eck{_8hMZ-RR+bOAO@NQad+3LFweV!CI
zrDdz$e3W%v(pBPYVS2`gTLS-UK3u!-xlGx)@d1nGhx7YtE8hkBv(9@TqHy`=?Q7>_
z)2{OWlCs}&@qX9>{ebFJ^}mr;^=WG>pC-PxsS>;S?8?sWJvaVneVVsSEaMfQ?yYHN
z0(ZGh1>zQ6UbFLWUGZ<}i^0(yd!DB?u?r^U*?wB&-I#SpQ`F+e2Gg24h3C0tS|4_9
zI3`n{f9>>)9i{2TwI96q-Mh2o)}941nG>qt->ROKcx|fr?Yz4(bA&5-Yu9;A`5F{`
zt*6HI^S+ls3E4isdqgr+47v=o^@M9IcWkMA9=6(Y7yF?_?|;`6?AFv#aeFeG|NR-)
zd+yVEx@K!@vexO9{H^=&lksu*TvMaVuI<NG`S#!FH}+~g$QJ*apHu4X$A3=Q*H<c?
zdA7sY!!}gz=cLoiOr#{aSkyfl_dl}UD|*BApkkaatKHMe_xrd+?3bR*xD@sxB7B~F
zntnmShjT(Noi^yrRd`}p;y>ffJ>Gi@9SqYyv#D0!2wLE?fbG!iyIg<NjIIYg5MBI!
zOQmz%?%m7Od|B<fO@8*C=zYHSbC~Z5uDjL$E%(Mv4&Cupb^o`etLCoK{$I1AbXI*`
z_Gj;?nKEkGYOj}W^Raj={jj$g?)f`{ti0Q1C9h|Ce>d<{Plqc1dtH}`6vxm#TPN*Y
z>zg&7-F%z!?>L7$36<C6`Md8g^DogTm><s`s+;%ktB~uAvkUjV+bO>DTfy$TCjt~K
z9J&6OKHn?)W8LSd#Dl8)|7!&BANq6g^Ia~Hpe@fsi}E)uRx^Jm`An#G(p&LzrQ7Fw
z*4xZm`JVmS{P^9fYrd@sZk+w;$?YfRax=I>ID4`iC$`V!GD-7dy|;5ATYveJ8<l<~
zC#^&@^!&}l-*I}MtdbONK0o!{v>(&MeOT{REO;hqCXrMB+)~9hLF>Yb9e0ct+FNSW
z>pd-O&wn4ZVB&$01%ZV#54_p5^4Sgd#zU@7%|WyI-=F1VUDdVy)`yu9ozFUxrYn`R
z-H!i$#Y=nb`Mmz?@6K_v9<vg$&?;N-L;Bd6xP;wDp9aK>B$^$URo%O^eUWm8nUM&G
zUjtLQ+~0q9uIqmfeXzd1^xgCQzt;bb=bpm#rFHeiyIeUrEx*iP%+ZYUGL`#!CNCqz
zXVc^76;qeZbDuVCMg6v&TmFWo)Y^W!`t4V7aAWc7+uz$>%n7rb)7`P#WeU^#*xNON
znVJEr6$Po8nVFOAC1N7#H|-RtbP6t6WtXpAp!n&kd9n9d>!gV<ErT1m<1bp2e3tBO
zoiF*-NbTL-i2L)RmwT<_-zxH>pdj=2&uxL%*(b7ldp`>(uHL*^e8sD!+j`=6ZvWZP
zcI42q`yZY=zmDgOzq@0*-{x)edGhk5IeV1Obe(27ugv{^<tevf3GGs?37=xb5C8FF
zUDY*P`>d<W{;Cgby`ko=?AsR?PfL9}uX55;+c%jrpRVQ$dT>l)_8kL}h<O4tUS63d
zx!X@P@txJu1L^m3;&xsK7sL##`>fsn%=%xqohiQVbiJO~-|&C$zW>&^pc`j;%w|ns
z^5s1jq&SYdZcm(XihG0IKAD6w%ew1aS8jc^_I&7a9ifGGca1G`9{ay|+g6x#n(=|m
z*XSv{vrHsnjYM|XNl5NV<ZJ0=;a4sy*yDSW?fO-V3HCBs+eA<77y6ldN_F<y?$$?#
zZh!Vjd678zQ(wpG%vEv6j;Mtu6(r7PyJsH7oEUiI!nVNc*`I_`+_(3{7=MYma%RQ!
zjj7(v6Hf?l-P^qApZO6lZs&>THN!1Wg>m|vmJ*%LnGqqWn0eQbE9mo?M|l#y#p$;L
z9!$?tSfiD<&O}`BlgtvOeL?TC!Y$6-V!j&~<{Ldb>AL0LKfP~$tSwx<?YDr@wlg<M
z-2{)V+r4;SN|(#JHQU#pkXz)?;>mD4Sz(WS|GD}3cbPtyKR;hzov^H3^!K-3o0Z9h
z#m8FznJ6+a$X@hxaSWMMDVKN3JM*^N^=GsDW^0&Tzu%qx_xGK}*WXAay!HF=Px`aj
z-e>P-U%D2pS$=;*`jcHZ*G-=zAUgSG?d8y8-^_Qv+GU^~@#56kHR0K(t==ujdslwD
z*!tkRuKm+R@8^Wq$4)c9u2o+=|4+zK>##*~@4uD3_L|pu`sR(@)~{{9r>;I4x-m^~
z?ruM`d;5BO;y|;bEbdOREHZyGp5C4O)OFgv+fmJ*w3JF6tz+(f5VOw<b_C6!&u?SB
znOSYW{hy|GW1~R>Q@`N)`;Tsb$B5ZC{rpf|83}4XF6+=RINqDV{Py_$>DN+Qn#3PP
zZg_tFnl%%9&VGYO0y*dRM!eV;wYB8Syc3r;r_b%&U%Bz@^r-tL?>I9)JUKVFcGJG?
z<@30%PT+WOqmhYGMC0cBnSZLo=XqD#$W-muRN~?(RK9gU_p;ONX8(65GnmVNbf35|
z^<dutM*j9`N2X6`ZsvYgK5@_9OB3DmCoVkK9sYj3>ohATwKtp@8~*M2>@|I6K}P-x
z$**&Yo`+unE&GdTeD?YKE6Z|Yy#rg%Kb@*9Xps<n_jjU;bcSYt9f!XBj4J(k^08U$
zd=oCRU6~x$eEtV>)cW5qE5BCk?P65e)pvW3<@R+=oH`v599RA?e)r^=P<~vd{rRs~
zCxk2z^l=bNe6s7`pVkw*HCJu&{6F37><zBj#YP{dcx~9QE=fXSp;S$wj7@+-15@Se
zpVeRI?C#>;P?G)O*4p(vskv@)IyyQtFS7Ztu3~?<l<D?ErYq{Asz*W|RKKz+v$b6>
zx86L7!A5#d>C<E1(o~9E@7R{>7d<}3{4ey$u?bpl++M%y`g-EOwrB>6@C4TtG1HZ%
zT&{L*JodKKEvL0r`jMNNa--zo0~}W;e0lT$6xKK7I95Nu6B@(tb;C443x|6lHHUl5
z60`zr1GGhNRH?<W@=eg*Dtdx_|C_q1INP}VBMdik^7adS*R>aXdA*hG`gY~-X7MNH
zr5|6rr(90QlXX=B(<+Xs+Eah_R^+V?Zd}{Ap(5stN5U}!1C5Bn51<v4Zvqw+%oY?s
z5V9a-nxTN%BHkHXA^eBDS+~vO2yJBMQQjt^@#WgjFMF!?-0NW6V6a5)ZiLWz>oc9|
zC!c(l6uej)oo|2stBZ~6??tH=p)IFEMHF|<VAr|;w&R3#0nCm|lY6)mv;yp2XKGyN
zFiX(5aA97^gGnD<TLdi*R5)A-d9drnqEcI1eR)uT^4z_B&rGD^Y{b62FMqGG-}aw%
zsw3iUg_fJ3(RIbcMZRAhB&IXQT8U<;+*o>Ghdet!s2}%K=cC4TSy3PVW2^=u87zDq
zHL6bhD>9f()=UZH<l$U7q0T%{cdfk%Gy4qw4lP!@IlGN_-2Dsnn1MzU%M7kNa(lM#
z-FIP6S$^^7pWmKc*t+wYuE~3IbL*-`H$koI)z|k0#<TI?i>}`<P`PnQiuOJZ#ocx{
z&4k|sEwFBFX6IrFSm0n=uRp)o{1MZIDFF+(WEL>-<gCtM&SLm|=gXX+1sspd&+^C=
zoc_V(tZ87Rk$3%dRn@(UJ#j}FDue_ZnR^-y;w3}``LC^aQF5N`CekS8eazQziNj)!
zsjD?&R(<`M@TBr{SW3VbrqCSLpFeJKD>rr}COliVS&L5&)FG{Y(ZRi8%kRi5&5L<+
z^5u3+I<@ul%gV<et3;U-cK^Qi()a7(g0(YuKV~WsO=K~-@h0ZiS-YkAdGBY69<?<D
z<$(VG-)i^oU;r(ueXue>!Qv>F%M2C<R;DlDMF*he2P^>!2OK0oi*6nC1wd2-vJ@Hz
z(#wW+oe`a7P_p~e$o1#)>FM`p&A-35rn8MLK*3@z*PTk2H-&c=7u(nG{5)yen}UDk
z&(GI(PXkF#<@$5^{Q3FT|6kj3*_{8me~xmUaxDjI6aRW>vH$0V%-%gq^zQF3(f)Av
z{r<X=cX#Idu<omF`DoyvFEA$v-kZ^5?b2H$!>r9}H_6tCVSz(|l<1H2`}=IZXG~`*
zue)q0P*)<y#UjDce0kM@_>XgKx&Hj!`TuitUv?wIUWbBTqCc|Fm1|Gn`JsO9_I0NJ
ztZ#W2I24=`+41?s_vicScFt$oZ&&^<eE+Yj^9ytZ92y^d(fTlV$JeLV|9syq`s34W
z_oS0M>mR<a;|Gm5%(>P0q0YvteqSl~nfr6?`?Eo1e7a{N>eA*0CPu8I6%FrKf&3nz
zfEp7#Euf_zs8NO%FJJ{40+8Vj)Odl9Xn-OK&XKVPt-ESqVytQeB@^g4ae@L5$QKL5
z!7EcRhLC?aa{XC+&>p<nE8VZL{!er>gaewJTHw&oXaHKb&CPY>x*{mSp)L*s4}CNK
zctLRjJlGkuV427YaP^rU(3raPfDx#)0Ihuyzw6+;-WeR`0gY!t3uRKk<2ny`v^KDU
z6fr=C)YHR2OKlc7G@y*8OK^a-q71u3H9$NF=P=w4Y^*o=;SS2856)<Q=&#TI0Ol}2
z!rnlD4O9&}HvX_;K?(MnBr<{>oK`^b;s8xYXs$u>7((X350ZwvP+SS(K-S@7PiAPP
z#BqNLLlY?lVx&1F&j%=2)KQ#z7(t;0iZ^IfVJ*vAm=1mnRyd@>pdkRt3r+q@4{VHN
zuoDVUuxQ)sz+fjREy2<3zy83h)tArS@_aVs{cNqOMh31w5?nPu+x;D$vKxM81E+)^
zjv_zWSMUGJ@@GTst%}%IaM4=Fz`AeGuiLZbZ`YgW|NGYd?&?u<aKs&uUw6Ph=D*6H
z3wv+PXoRTsV7)hQSLNS-SFT)neEaUUS@VB6Zn|CnbzR$fpYH3|RpY*0@87lg6hu4!
zf&;77%75Nn{n<J?+S<B2`g554<^L;J+qe7;f1mZ^-;4^~3M-Kv536}WBbk@A3knNA
zPSO4_>11r(?@NFFEcG_u9;SbHkDqZ~-2R=$rJsc?-@Nmk_~6yu+u{1LyXx-F5Q({8
ze$w~rGO=}j7eCD|UmyP}sh-tq*6A-n$)66+>0LG}Jb#WM(w=~MrmS(ZZtdEl6>{Qz
zci7G?yLKJ^`Ph5<yUVv<o%N2-&n^77H7d1h+WGi<dsF6po~xO>Fyz72&{@U*Ik>K@
zowI!HnLr)mW50f`Y2TPJH@nZ^bcE@-(r@41XneS;B*J00mnr*d`0|*>@A|XuJln2+
z?)>HUt5>`G%hz4{e|q}%WqPqOcLkZBcwaAnw*LOzS^IyO?yoQHiWkqWIk<eC{j>gZ
z-JNIO$JgyCeaZdr$E&|{kBf&d*Yi6mvo7w<g6PJ^KqWt}EgxK`tzSO(ESL6G>2)_|
zcUd1a6`Q}-{qUUQ&gsj=f2`WY!`kG({=n9!M_*;8<-YB1>}Kw|{pZ<%Ki95Y(b{ic
zQ2PAefmeSH9JuzF@n_xi_`gl@vJw@0iVL$!6CPOY*S$95meA_AaYd8Q-`|^}GiSbh
z#N0(P@9ynA|DJEl&7}^zXTO-tRdZG-G+AMdvDL(GvvrXf7Hgtk`?g<OdLVdjdfe4(
z3mgh~L@HkWT(orQ>_1kT1$A|=)|FfjeW<hYfab#EtNVX81U!7IY4j*{se{m*gzuB|
z!!i}th)ojB{5p58?xNsEW_F$y-6vN3#o0lPDfZ`%M>ucp(r&4pm6u<l`C$t)XhFHM
z#)l?O%@2qE>@oa!l<(^!y_g$SH4hKHni5g=Q%`r_hl=!su1PVEw!13LeDdyWtT!8*
zUd*D88)7_uUVODWKKM~Lv$&N-MB^NN^@z2r#Wh4u1V5~3nr{jz2kmDut^d3_mzD2L
z!KVAISFg?vYP|k)Y2(_fw^fdDJC%t4^i@5(KHvUX{F|tv>Gu2Vj_Tik5^OI2`FGOS
z<JRBT*Pqpw_iWtdoZqt{YVOh_TMtAXoopatkzDFC&ysZ!XaTf*bmRP)G0&&l&z^6-
zeA$oCs=fO+f4=!=N<`Vm&9hDR&6WR=(>00b!)v39;?XtFKc?@V7Bl14L+kHHcNHnF
z)q9q+m0L(=#euXrhShzaCAdFJK9){g>F}<!7&M0w@PIw+LHyhEuU_4&6t}x=oxNXm
ze(Z~=8-~kW`|n<en3nHb=>5R$_pA8Jb1kE}YPv!FJNqW4`knIA!+*Yw|2L!N`CW^b
zuWv(Y`v>lU4-SY=udm!A5}|v=0=zi%1M}zh`v0Ck7FKUHtW^_<_;ru#2tPl=<dY|r
z|3^5pC#SnM>i_@bqE%4#G3N_Y;lC#TZ;wr<F87}w=J&sH+o$&Ze?<NquzPUk$*GwE
z35xs-4C#}MG&is@Fr<qFJ(zu+fuTUH(wQrUg`vUt)EWP@)eH@XXG+X;P@ZG=q4xu4
z`mG=Oni-#R)h3_1u-wTme$5KjD!cd_rPsUEfBoh1*{#+$W7CW8;{6lO%)Md!`opf5
zAHD46U*DCU7W3<1cF(flnVT#F7j{Z6X8imzWSZUga6ZjVkG5E8Z(i#2^7ocm$DayD
zrflsKvenC9AKEiF(k5eeNScvnxOK;y%ZuMmD@r}nAGNDo)w}YdTI)x{$FrL}WA~K3
zIsCCi%f7nB>U4g@*LkWZpC&7r`|f#hOOZF?#Ob-=XZ+=7xCk%p+G{+`ultQ!ms0M>
z3B6)mEb22R>03=McztZjRsFd6zh<=F%;+*q^FPJP`0K=>%Wj*xJo5SL_6xPotXoo2
z)e*T?r=%iD?5^?a3%g$SRm9~?+MIAsa`v2=o*NG}W{1o;du)zdZi)D2qy1TZJe#8<
z5~_}g&v+NR?ARqA?aAz?Z72J_o?83tmh;M)lKRPqWmT6o^~Fi9oLiX?EiqFt^4aSd
z@k>~@Jdf55Ows(R_&8zBcQLh@YNvdU%v4h4pS|zer#(~o*4z+$l{2+H`h0W8hv~wL
zX2}JvQZG0mx80~v<#mrJzt1D#nL)Fk<di&En!ZV_Jw3^7`*Hr0mEY7iUluJ0lKj3g
zMfL2RU9-0QI-1>eRJ*EcS<TTcXO+Z%tX-@eXO^_)s(#w7=KJeCf*uG4O-&LLyY|&!
z^AR<E&r^%4(`2KzFIYY&`J>aEpFNUN(qf^f<@b1P3-au6X;RS+OIo8~-~Uv5a^kNw
zGr9Torm$)+);YRm-pU}I-REO=pRk!XC3S{sm=M^%k)F@L#pk4it$fiJrY$g8&wEph
zCSU(dW3FdqPbV{8t7dlH9I&%<(z2sBH!QRL8g1g6{XTF1Zj+bW<rkg{(_b6@s#0KS
zk>fO}g}ZzwWNH6e*qfi47wMe5{%!mD*=N&MZu7hEax#7PhgLP6m7DYnJdPO~+s|A(
z<)G)$<Bz^row=iGnfbN*x{CLfWlUEJ75{`8-hQq>?Q~@Qm6LxKZnB;6p=#69PZ3uh
zclJ#^eQ?JtK9-PcA0KQe-x0%M(Hs@oUpc4oVo@aj?mvplzILmebXebYasJO8XIlU1
zb$?Gf@s@AeY0mZ9AtIIiKkhD?l)2ve*rKONH{QOPuaW(4MbvG%j@^4_7FDV|5IVUj
zZn?RCcBPHy)|x3sXN_iU_;xbX>2KY$Z|UukMo+l>J1)h<Md?32zaq1_XH|DbSB>SV
zFV~tZ7JIeEw3~d}5Mg_u$?bDW%{?Ad|1F_slP<jU6t_9^SYNXA?2q8Osdx0U*KJNo
z@8on}|LDrOC4ZgXPU_nAcZ>4Xdj<x^+!lNGo%1@@<L{>Y<ZQ3rWwr134z#QYxhXYW
zcZwn3Y`#B!d*2kwFFbeb_Cb}%ZFAC2a%MN&TX9S?vgrIA$+w#~Mem!{JDYFU<Es6}
z8E-u1TPb~B6nkRh7VkMH>z3Df920%T>ZGDRo#pe(r$G&_*8K;XT3t&`mwvyg#>46t
zq_uGAgt@<(H@e)++xTm3->2YN9ftRVi+AO0Ua_a?%p>`WYwooijy`AoI8bcSmT46o
zhPnqYJw3V4;eGO)jR_kimY5eV$}$t{ZGR!dqbgI@`zg&%UG_}oGyfeC^_4efb6l7?
zEBV;Yob<kixuT~QCLB8a>2X;8rg#f&u|-Xx?_5_N(E0p(t(EMT&N{J<r<2b-`W9q2
zYpuTEBH`0>!j5^U&y9Orb79W41wmV8cpTSN)a?J0_*^&F>&6NuQ~v{rTdQrKaD|@T
zbbVUKQg>z@5pBuRrC}eAeb>66^U;HA3w!488HfE}nSOKI&h%JE_(ed%{+*&}%1@$i
z*)}n8?-t3pSo$|J`)9{d(G6++iyY+FmUl26cV+(h#$T9k`EHpqxw0kEf4AsbK1*H8
z>}axXx@BzLWBt0D&%2hZoldGy_#S#=a+2dTU3tgG$-)ngOiK9IDbRgsc}`~1p;yz5
z-G9wcb`D-Qq50@j8T;4en;lNx48Npvv2#Of+Re2$IbU%ujm$|>I(F&V7Z<(NMSL5s
z9C4ZRbY(}=jIt^<Bc<&U+G3FzO1fh5JhG1yD;+z0Ocg(QUU)s@sJWxIn#TJhEPv<D
z`*8CM=iIN|qFqzI|L|~Jn_DiPYSlDJG%`R~yIt*AZsJaxV_qRM9S$T3+V1b1;i}zn
z#Zycta|(ZCV$z{>N%Q5ZncT@2C;eK(?xA%vOxWnP!QSOn`4dmr&FnW?eJyJqOQ@~x
zcK^KI&HDPmsZpiAt8#^-Rm|OjZ>LO?DF32$?#9e-2VD9pw{TA1U7Wwg==7y?{6B7G
z|I85gI^%X?B^TGCHyfHga~e$bwkzrKODowLx;b4wuBOIyh4Zs`e?WSr?uPQ<Z#R!L
zPEUx8H#kz_{$&I6-B}Bo&0l$Jh)I8Z>3%@$^2LF&qW|okT~$B!JLm9WzG)J?RZQO;
zj8=X>_d}Dn#rpxv<TKMg6@EPT;_9nl<E?eaHmR;YD}8Q-WZg4Pwc}oe)0Q=_6WMk_
zCwhU)<tvN5r+R5lGg%%j$)5AbHBQWb`lKtF#lezOrnz~m&JX3c`Vx0lXl0RJ__~l3
z&YAv=ahn(QSyg&InVWQ2wY~k>rhk*fK3g0y5)KsaZT0$Dw|(v;))}U&`cJG{!7Cy?
zA<-}1B>qya-CaSQr>=%cw@btpf7x|o+8WEX66f2`oL9`Y%G>&^hc#JJKR2l}<=XC*
z!e`X(T+NfSl3yw1xp@}n#g9wfyr!So)x{+dtrB%GqbIDh(0%=*p1Gd66Gc~7-dVeM
zVZh9tIv-n(Pt8~>no_yA$xS&WGCOg~*Lw#ngng5GPv`ocKCCv?D^s;wXZw=fca;^N
zUE^QB`RZh^rPb!CCsI##oApOeeqvOZ@b%cNj*U~4y>xHg+_C7Z_q7Q#GuFiCyy=)6
zx#v;yyU$i9n%kfF>^)E@JEubEOz?$LONNO@BAmAWitf(bp>bmKhU2SWD;n<G$XXJs
zRS<E#U3079-6++B#nT16dHDIoAM4n>DS2(ATPpfRr8{y_`<3=pkC$#*QSCO_L}6ig
z(1LZ7Z>8M3QhPa9Zr15TRR@Hm(>8v)wMeg0Oty5VP+(x%rNh69bsR!Zo_M-wUgpe=
zE0pF+Pq9+uT6%Pfe?X2~&(kw6#jbcxh+taury{$~t48gh{Iz3eBu|%`@Xu{oB(*jx
zjp>ZD@#S5S;gO76T{mrVU3|{1v#@$SI3x{~!anafyEjoMe5U2^U%zG?y&0vQmpAPu
zhw@sZuXSZN*p|5}t3GkRC{d)a=5=Og*2lVy3)`>mtd)_A35t5hvwCvs5%VXv64`f{
z&P&ys=DA_wxnpNLv?86?hOnyHKfjtN`);v)5U2P1p5va4AC7mrai=d~{Jhp#KU~0g
zm&l9FQt!nI&$QfJvGPDtl#Gd@)wkYE+nFx{5}G_OSFVlPc;0mq$7@S|%?%k_J(hp9
zI(FD~;en(Z7K>Mi_-@{9`b%PZ<>d`Q<<UhY)7na(DcibzO*%AT!dYvtQco`b3$w!%
z@~cYR;}4#Ry`hym=e4G0!ybdV7Mdof+S~5#dbVl%GT%)-+a_-F-+bw&`Za&`Pi^Ka
zCK-A^-0<0KMfu;>1sj)rXbSY5`{|Rx*YZOvvfG&+zw!^*ld2W?NKjP6zhwLEJJM`#
z&m5V*HOA@fgf&O?PKnfS3sFw#Tj%hqZ>4?vGN#(tUml&0lI2|*O=K1>Ht<n3$a0td
z{IXp;;Ln@oIT!nmO%2<&t^D+ci%yH>swb*lI;=C@#-(vrzydZugUH!)|Cv=4J=%Qr
zRnblx!*2bA(kCXX*H1l>9{S#7ns!%se#mB46WwE6QeR_idhBLjHtY71+Hmpois_Yq
z`a)({%JdvHF)uc-UcAWZ%=O)2mhzjA+s@lD_va>)$S+3IkFPp9^Y-yOt~1Lgsk)Tr
zl!+~?nH%;@K$dyyw%)H7FVvc(Z?rfn&LuX#-8GZ7{r=)E-CKvHI^9*vf{vQ3Juh|Q
zQs>g%pi_%(KPtYMR2(&7BfGQNG$meRUv8uP8+oTMZR5`_OxHNDVyj8{g70dgbHma%
znyQ*Lig;Z0khpp#%GNGROlm<pG-qqQUi$V+$rOpr-?jYT`fQB9loWhduQ-3jQMWXv
z{_rbDGx{Ww<?`jdXZKDp6IZe2i`pCBxj63`Z^Z8-Zl`7^nap3hn(>9j!fDdBd(K^R
z?&CXUw^TIti%@!q^8Co7ah8|gl^jW(TyC=NjzxBWY9V`5*lUihJ^F8!{fv~B<?L&C
zKH;tx*P5)w4^$>^i=3&hZGSA;#pdq&&)+ZiRBW26CK>)-Q*6=oBprdt-j_E%$}kk<
zQtev2_GQJM;;BhCB3;ivT}-eM?&^K^!d6zhr|*)*?+sb1v5zM8o?hXsDEDSLPy6A6
z5php#g-%~+52&}ACMC<+K6zz=mAG-yTmK^|yFymj3v(}h^e|vf){H*3<ilEyXC|FI
zcInmT`JKJ~?M=!rBl@=WraezS_;1P$ndDg~zW?5{a7vEy#?ZR_ik4Nv(voLe_U!v7
zI5YJ<?<oVT|GT10d`r(<N?VbYCKR}}@Zf~V@Ib~^-L!Y}d{!U1xMFX3WmbCE-$}x^
zCv?oNUYxvfm4DML-Q@n+$DOad=T`4dQ+{%$%xm?Zs)@@(e{a?*-1c~b;R)B;eHs5W
zO6}gfm~eA>vZoc-in5hAPAqh<w8>pF<8{uRIT?*R3Ikg9{#%hTq2<2xlE}Y|R%vdJ
zK03YcF%3!(oRbq2R{pKSlUe7hqSu-4H$S(lX&sU2i+JdM>zTuWKU32F@lRT8TNlCg
zpI_r-TJgJ?&$ryNk7-__d)PvFpZL}JI%3=pQYN30F;y(CpTP83r)EmZ&p-X!PX0{%
z9NeI4=h1iA{*_+W@kj2nzW?oSR5{oD-nH<fx~c5MWJZQ`;l1A`Z#|l1$Iifz-uLIl
zqg(#hriq`eOIQaw<m8yiGXJkz_U&-uiiuvich=mQ^QH+VKS?g0JbAM4Gu^LCKYqM)
z<Hrw)#Csmb+g=}&@=2DuJj2fKa`G+%vC8f*u0p{+6K>3#c6#b2gS%h8oH_Gm^{rF4
cZvAItS!|)`adpyN1_lNOPgg&ebxsLQ01J%euK)l5

literal 0
HcmV?d00001

diff --git a/seance2_4h/figures/spyder-unittest.png b/seance2_4h/figures/spyder-unittest.png
new file mode 100644
index 0000000000000000000000000000000000000000..e8760f1d8ee314fb4668179a565949dce8ed95ad
GIT binary patch
literal 4633
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

literal 0
HcmV?d00001

diff --git a/seance2_4h/seance2_4h.md b/seance2_4h/seance2_4h.md
new file mode 100644
index 0000000..f028023
--- /dev/null
+++ b/seance2_4h/seance2_4h.md
@@ -0,0 +1,112 @@
+**Sommaire**
+
+[[_TOC_]]
+
+# TD2 : Modélisation de formes géométriques
+
+
+Nous allons aborder dans ce TD le concept d'héritage de la programmation objet, et l'utilisation de tests unitaires pour guider le développement logiciel et améliorer sa qualité.
+
+Le but de ce TD est de concevoir un module pour manipuler des formes géométriques avec Python. Ce module sera utilisé dans les TDs suivants, donc les tests seront essentiels pour limiter les éventuels bugs. Vous commencerez par définir les classes et leurs attributs, puis par écrire les tests unitaires de votre module, et terminerez par l'implémentation des méthodes.
+
+
+## Modélisation avec UML (1h)
+
+Les formes géométriques sont représentées par des classes, et l'héritage sera utilisé pour factoriser les propriétés communes. Nous nous limitons à un repère à deux dimensions orthonormé, avec les axes croissant vers la droite et le bas. Les coordonnées dans ce repère sont des entiers relatifs (c'est-à-dire possiblement négatifs). Dans cet espace, nous choisissons de représenter les formes suivantes :
+
+* Les rectangles caractérisés par leur origine (`x`, `y`) et leurs dimensions (`l`, `h`).
+* Les ellipses caractérisées par leur origine (`x`, `y`) et leurs rayons aux axes (`rx`, `ry`).
+* Un type de forme de votre choix (ex. triangle, polygone, étoile, ...), qui possède au moins une origine (`x`, `y`).
+
+<center><img src="figures/formes.svg" style="width:80%"/></center>
+
+__Exercice 1 -__ Représentez les 3 classes dans un diagramme de classes UML (_voir https://app.diagrams.net pour dessiner en ligne, avec l'onglet UML sur la gauche de l'interface_). Il est recommandé de commencer les noms des classes par une majuscule et les attributs par une minuscule. Les attributs devraient-ils être publics ou privés ?
+
+Les attributs `x` et `y` étant partagés par les trois classes, on introduit l'héritage pour les regrouper. Toutes les formes géométriques hériteront d'une même classe __Forme__. L'intérêt de cette classe est double :
+
+* Du point de vue des développeurs du module, les méthodes dont le code est identique entre formes (ex. translation) sont fusionnées dans __Forme__, réduisant la quantité de code à produire (et donc la multiplication des erreurs possibles).
+* Du point de vue des utilisateurs du module, on peut écrire du code qui manipule des rectangles et des ellipses (*p. ex.* système de collisions de formes) sans avoir à écrire du code séparément pour les rectangles et les ellipses. Cet aspect sera illustré dans un prochain TD.
+
+__Exercice 2 -__ Mettez à jour le diagramme UML en incluant la classe __Forme__ et les relations d'héritage. Seuls les attributs seront inclus pour le moment.
+
+Enfin, on vous demande de supporter a minima pour chaque forme les méthodes suivantes :
+
+* `deplacement(dx, dy)`, qui effectue une translation selon un vecteur donné.
+* `contient_point(x, y)`, qui renvoie `True` si et seulement si le point donné est à l'intérieur de la forme ou sur sa frontière.
+* `redimension_par_points(x0, y0, x1, y1)`, qui redimensionne la forme pour faire correspondre sa [boîte englobante](https://en.wikipedia.org/wiki/Minimum_bounding_rectangle) avec celle représentée par les points donnés.
+
+__Exercice 3 -__ Complétez le diagramme UML avec ces méthodes. Les constructeurs devront également être renseignés (méthode `__init__` en Python), ainsi que les méthodes d'affichage (méthode `__str__` en Python).
+
+__Exercice 4 -__ Écrivez un squelette de code correspondant à votre diagramme UML, dans un fichier _formes.py_. Seuls les constructeurs devront être implémentés. À l'intérieur des autres méthodes, vous mettrez l'instruction `pass` de Python (qui ne fait rien mais vous rappelle que le code est inachevé).
+
+
+## Tests unitaires (1h)
+
+Il convient à présent de rédiger des tests, qui échoueront tant que chaque fonction ne sera pas implémentée et correcte. Dans la méthodologie _Test Driven Development_, on les écrit toujours avant le code, au début ils échouent tous, et à mesure de l'avancement du projet le nombre de tests passés avec succès augmente. Nous utiliserons le module _pytest_ présenté en cours.
+
+### Installation de _pytest_
+
+Nous allons d'abord installer _pytest_, ainsi qu'un module permettant de lancer les tests depuis l'interface de Spyder. Ouvrez le terminal d'Anaconda (sous Windows, Menu Démarrer -> Anaconda -> Anaconda Prompt, sous Linux/Mac le terminal de base suffit). Exécutez-y la commande suivante :
+
+```sh
+conda install -c spyder-ide spyder-unittest pytest
+```
+
+❗ Si vous rencontrez une erreur comme `conda: command not found`, c'est que l'exécutable `conda` n'est présent dans aucun des dossiers visités par le terminal (essayez `echo %PATH%` pour en afficher la liste sous Windows, et `echo $PATH` sous Linux/Mac). Sous Windows, vérifiez que vous ouvrez bien le terminal d'Anaconda (pas le terminal par défaut du système). Sous Linux/Mac, la commande `export PATH=~/anaconda3/bin:/usr/local/anaconda3/bin:/usr/anaconda3/bin:$PATH` va ajouter (temporairement) une liste de répertoires usuels à la liste de recherche.
+
+Une fois les modules installés, __redémarrez Spyder__ et créez un fichier _test_formes.py_ avec l'exemple de code suivant :
+
+```python
+from formes import *
+
+def test_heritage():
+	assert issubclass(Rectangle, Forme)
+	assert issubclass(Ellipse, Forme)
+```
+
+__Exécutez ce fichier__ dans Spyder (même s'il ne fait rien), ce qui a pour effet d'initialiser le répertoire courant de Spyder à votre répertoire de travail. Allez ensuite dans le menu Run -> Run unit tests, pour configurer le module _spyder-unittest_.
+
+<center><img src="figures/spyder-unittest.png" style="width:100%"/></center>
+
+
+Sélectionnez _pytest_, vérifiez que le dossier indiqué correspond à votre dossier de travail (celui contenant les fichiers _formes.py_ et _test_formes.py_), et validez. Un nouvel onglet _Unit testing_ apparaît dans l'espace en haut à droite, avec un bouton _Run tests_. Lorsque vous cliquez dessus :
+
+* _pytest_ cherche (dans le dossier que vous venez de configurer) tous les fichiers de la forme _test\_\*.py_ et _\*\_test.py_.
+* Dans chacun de ces fichiers, _pytest_ exécute toutes les fonctions préfixées par `test`.
+* Chaque test qui s'exécute sans déclencher d'exception est considéré valide.
+* La fonction `test_heritage` dans le fichier _test_formes.py_ correspond à ces critères, donc elle est exécutée et son résultat contribue à un test "passé" (avec succès).
+
+<center><img src="figures/spyder-tests.png" style="width:100%"/></center>
+
+### Définition des tests
+
+__Exercice 5 -__ Dans le fichier _test_formes.py_, ajoutez une fonction `test_Rectangle_contient_point()` qui instancie un __Rectangle__ avec des coordonnées de votre choix, et vérifie avec `assert` que la méthode `contient_point` renvoie le bon résultat pour différentes coordonnées. L'exécution du test doit échouer puisque votre code est encore vide.
+
+Pour l'exercice suivant, on vous donne un exemple d'implémentation de la méthode `contient_point` pour la classe __Rectangle__. La classe __Forme__ a été omise pour réduire la taille du code (mais dans votre fichier elle devra bien être présente).
+
+```python
+class Rectangle:
+	def __init__(self, x, y, l, h):
+		self.x = x
+		self.y = y
+		self.__l = l
+		self.__h = h
+	
+	def contient_point(self, x, y):
+		return self.x < x < self.__l or \
+		       self.y < y < self.__h
+```
+
+__Exercice 6 -__ Cette méthode est buggée. Comment la corriger ? Vos tests l'avaient-ils repéré ? Si ce n'est pas le cas, trouvez les coordonnées qui donnent un mauvais résultat et ajoutez-les en tests dans la fonction `test_Rectangle_contient_point`.
+
+
+
+## Implémentation des méthodes (2h)
+
+__Exercice 7 -__ Implémentez les méthodes d'affichage (`__str__`) de chacune des classes. Il ne sera pas nécessaire d'écrire des tests pour ces méthodes.
+
+__Exercice 8 -__ Implémentez les méthodes d'accès getter/setter pour les champs privés de chacune des classes. À l'aide de [pytest.raises](https://docs.pytest.org/en/stable/assert.html#assertions-about-expected-exceptions), vous testerez le déclenchement d'erreurs si on essaie d'accéder directement aux attributs.
+
+__Exercice 9 -__ Implémentez les méthodes `contient_point` des deux sous-classes restantes. Vous fournirez pour chacune une fonction de tests avec des jeux de coordonnées pertinents.
+
+__Exercice 10 -__ Implémentez les méthodes `redimension_par_points` de chacune des sous-classes. Vous fournirez également des tests validant leur fonctionnement quels que soient les points en entrée.
-- 
GitLab