From 8736789d297cd9300ca357668e6903c1dbff1ae4 Mon Sep 17 00:00:00 2001 From: piyush-poddar Date: Sat, 22 Jun 2024 04:36:40 +0530 Subject: [PATCH] Introduction to Bar Plots in Plotly --- .../images/plotly-bar-colors-basic.png | Bin 0 -> 25977 bytes .../images/plotly-bar-colors.png | Bin 0 -> 24663 bytes .../images/plotly-bar-labels-1.png | Bin 0 -> 26606 bytes .../images/plotly-bar-labels-2.png | Bin 0 -> 27233 bytes .../images/plotly-bar-labels-3.png | Bin 0 -> 26751 bytes .../images/plotly-bar-title.png | Bin 0 -> 23149 bytes .../images/plotly-basic-bar-plot.png | Bin 0 -> 21916 bytes .../images/plotly-horizontal-bar-plot.png | Bin 0 -> 29742 bytes .../images/plotly-long-format-bar-plot.png | Bin 0 -> 22016 bytes .../images/plotly-rounded-bars.png | Bin 0 -> 27343 bytes .../images/plotly-wide-format-bar-plot.png | Bin 0 -> 22469 bytes contrib/plotting-visualization/index.md | 1 + .../plotly-bar-plots.md | 348 ++++++++++++++++++ 13 files changed, 349 insertions(+) create mode 100644 contrib/plotting-visualization/images/plotly-bar-colors-basic.png create mode 100644 contrib/plotting-visualization/images/plotly-bar-colors.png create mode 100644 contrib/plotting-visualization/images/plotly-bar-labels-1.png create mode 100644 contrib/plotting-visualization/images/plotly-bar-labels-2.png create mode 100644 contrib/plotting-visualization/images/plotly-bar-labels-3.png create mode 100644 contrib/plotting-visualization/images/plotly-bar-title.png create mode 100644 contrib/plotting-visualization/images/plotly-basic-bar-plot.png create mode 100644 contrib/plotting-visualization/images/plotly-horizontal-bar-plot.png create mode 100644 contrib/plotting-visualization/images/plotly-long-format-bar-plot.png create mode 100644 contrib/plotting-visualization/images/plotly-rounded-bars.png create mode 100644 contrib/plotting-visualization/images/plotly-wide-format-bar-plot.png create mode 100644 contrib/plotting-visualization/plotly-bar-plots.md diff --git a/contrib/plotting-visualization/images/plotly-bar-colors-basic.png b/contrib/plotting-visualization/images/plotly-bar-colors-basic.png new file mode 100644 index 0000000000000000000000000000000000000000..9b940133b5ecab51fe8344523e4b69f5b0a92b4f GIT binary patch literal 25977 zcmeIbc{tVW_dnWGM8sCc3|lH8L?OjCM6;ABWF{eFQfza^9Wqp83aMnuJY{a%iIkxz zGaDJow9PYTy-80!zt3~N=UnGH*L8l^`TXG_5AXLqtoyardac*G`6*pGOGCv z_sHjm`v^Y*lAmcMG@5+eP5{rf`>tNB`qJWajjAn5Hup2LD(sS&{+j zAMe?kw}TRG{#;D>AJc_prT96N&4>JVS^qz>tjwJAADm}#Hd0vLj{Ls1%*FXDs!^3@ zIM<1UaKaaDn;j^r#rdawirUA#`M>I7+V*l-t+deN2rmVT31V@p^A8U?aJ-foDPJm6 z|5En+dXB*64ucJ_(hXUXLP`sZ-3H74>KQGtreThCpT*RT1g`@$8syiFq02%MTr!hsq~^4EOlzE>-aH#0We1om@R=x0D~)GgrP4L;8}z5s_+b ze_?^5PTH8zS>l};9A#bqsyc9Ka^f|XWj`Lw|c;lgjtot6Ee%nr{kw86ol5y&X*g8 z7cc}rs@-4y#H{6s?-z*z)&W%)s}?jme>^**-+AHj+KM|>!ScHpFW0!{3Dnwzto!m7P5` zL1X=qE!~BHa^5d7GCi+ckFD<3OkWy0JvFxDL7;0})T8Zl9o4HcOT1lAZ?&-DE619% z8kU)zM6NEM5n`jA;$-6eRwdA-W2af{v(spNJWG=lGFsX@!R)+ES7$0yY#@VqFt7J@ zUqyQR7-d{hZ}{Nhw5v%rW#Qpefi*T=0p0rvvmJ8cJp$vEhEx8fJn!X3eaVAbB~Z&< z;=xq?HO^LTOGO!L5m&{3O|)ohDJ42v9MdoE{0P1fLHnB?VW{`k{4q>jx*$;gKyQe~ zeId|#ge|RCUFX$hN4Mu>sDRQ!-5=V9Es;C{rOA5L6FuW@GOu)OJ3Qx}Yg&%3^_JQA z1T@FWM3~zTTsT5mGpHZim`OB@|KMm8XP(ux2UYpTBwobc*AX>!e^kbjQ-JA3Xs}pK zYyb_KNuvEgJ8q8CMR-{}+{NsZmH5c<{&9j&S;4jP@u;?D1y^^+m|u?PjVPHDJtnmK z$qQDDfLOiDqtLZ|Y)jjdUcYB@5(&%WD>r24#@=(KkLE~psd1GqZz&%bbm!yj7YH6< zsZ^a}b`lse8rB>Nys>(`w(^IvDT!{X>4Bl0HgAVtp`}46(J)ksnGM5GKkHZe)}&?b z2lp(KJ`7K=)JZkNzHv%GS~y=o*`sIZM(EoQWsKq|lEga^mL)im<+K zz<%V2;sxtBAIldG&s3vAbK>}pn6X_%AP-2W{eFUg%4 zF$~>LOdI&Nqq0mfq2e{i@dRFXS2V2Mi9W;R=p#%vlY5-kJU_l*Ie34udEDjFxJ1u9 zenm7pIJKZ_ca1oEZ5i769h_A@GE`-o>F|5&x~pY_6`4!MYBcCGt#)8C{o}Y2=`7O< zhQXO{J*EV_jm**UT_ss!3by*^!G zjIBeRPZ(FRe|5`p##puk5@meMvMH+Cfj(2%A*LKK-XYgiueTr}51vM6O}UksUOISYhD{B&A$l=`YV%-juAlj-#I_D!Dw@d8Ifa zh4w8iyuZW3*HLg*EudEd&ef3-MYGksh!0zS>_q$L)vuPj+^8|K6Ot)4TDN0y0oj_t zye94=eJ(NrSE849`%gxSUM(NVDx%h%Z2DGqX@YZ)-M(MJS3@z8%bgJ0N&l1`6PmG5 z-__Bv=)PRvv(~mIwC*_OG^@|YOoT{92}w@%#>;odwfj+bMjNy!uKL^PRXIKn-IagD#c-+1(cM;0;2ev6oNt8qOy$i3&Z5^> zm3Kx=X3%J#U8o(DGrjuF#w4IG&bE!uaIJH$)*167lk@Z)3e>`UYgUeef;wlpd6%ef z?Fxa}RhXf^`n|+`R?N;E&iuieo^!K~>T!m4y!Cf9BeI)yD}~O*ErX|5ar#AHKS{f|1*e{?S?71 zroNu}JFGyCo5yx?G8B!GB*QN-SpQ-OiQ{b;3-tamzNhf*la{!@jbwc?t`Kxjr}chS z_;Y-$40IULd!tJKn2Zf19%WZLoPLXqU?j3$@a^qc9R7b!W*V}Dh5~(T0tQNvuB(VUs8Y;Uh`%_XBwdXoEvUv8F2|rCnO^q4dYV z)qsCcdt;H5N{ru^3m;F%en*5PATpBfHY;i1@BQb2R&Ysme$Z?pwVxszxI9DhT1M#K&o(GYStqxw9Bm zXkNCN?MTg`*S3j8?e24~Q(JwjVvn_*k|C}E<)n)PW zdC2TViCq{5FCWN&j*PTAc9ztJaI3af4T`6s9IJ13zMSzQ;~y`c^|YffJmn~V-LH8} zYH9G8uB`xGzAd_aDvB|1X0{z%wG>;cG;5JgFnXX(6@|Uv6Xa2EuzNfon9|C#<4u%i=&_!7AiL;l^tDM zE@ak=nmapXXnMuCO2Vr4{8`=E2i9V~^{=Mz1i8u&;ujwCGS-__M@$;*Yv*m{W?g8d zTi7lTYqTG0*8W&r|F^*u9Z)(;3Mm&_{?SakGig$Um8qzt+{MJDRh*j6jr6TizP_Tq z{qb6LX9DZYJ}htSrx3=B2&L7!l;cPVvwZ8=(81* z*TOx(mArXN=C<6S+LOj9EuJ;8v&qn-Pu-^=?$()z$n$oA3z0jJUl(08`F8H`_^TyuGvFeVl8Ql;Y+q>-UETUBV$PbTOJuIB#jJu^e! zOfr`-Us@grCwzR+9B%$&CYHK{G*!-|cVebOm_CIYbth&*c%+N=i2J=d&Pz%qTbe5p-c@eyNtci)kNp{=$1bLQeM z%PdtWi^nZ5pq72`%}f$~T+}?-!It+&_8N6V7Xi4 zV;Z|k0jBBrvz(l_g<^Lp8VuHxTkl2KUr&5Z4m#pZ^3SW{D?i*&osr>CdExTTC{ z7m|76jx(PM?RGaA=aRvWUG0$!#^jrkgh$Hg`sdOgP21dhb%_k6=ouEwjg5F&cI_7o zzJQ?UT-v_xbv!dfF5SY}+KVKmER#Q>^7aLY9+Gc;En>mTrS434%X~D|K4T z`>{!3;>mcxpi0Bg)4)3g9!d26DZh%nNAfXm{q0~2em4jTdeJ9$v-H8I}k1OWDL4qzx0OhdK*)tw`{lxSKR=L02+ zKOUGR_H}0oJejY%{%N%Mvl6V-!+%++h{v`rb>ZE!4-H?i+Aj?|nUwS#lM z_1g0`hvWzFPO(3o&L8hwohf(Szudjl7opD1T=BBL&U@<6c9c-r^sN^Asjke0sMLz9 zi5ZcS*x4B*qeMGRPvD!a+p@WIvc`G~n>n3(Z?@!KcfkIL9Hh`MUiq5VQ!!N^>%4*x zf*Ee3Z-`Sx)feH! zcz-?0lmBW;EWzT(0MqhFGu@KM$M5@&R99wl$;caZo)uyxV{ElBePUlzq9FDzIt?Dw zuA`49oMNGo`-Ks^z*f#uwZ1t@hU()&QKM_ZRgCvDd*KN680JkUW*2VC08VG;y>Pu% z<@t97=v%?Ki3_UwLU?)C{4>7_0cLSvRIXytU+mO}CRy_U8#rG{XXXQK$kWp$5o0OFJD?pKLh9jn% zYUVn;3v=I;jUFQ~qvk(ZdmyJi&TZDm@p9hHcLeNAazeNW+T2i#chk?yDnMo=DA>X9 z5;$3!()r`HC4<+)(_@&KzJ;qW2xV2boAgv@l-nDSZn*iKUe$6O0sFHv3cqSx1rIdK zlTHC^_?OB3k9g6zNaXS+adJ9|U?zCZK6~<5kh(``Wh9%lDiRcE-kop;j_DVMe}Rcy zDQxx4ppSLFt*zLX*F{7OO%9g1YG^^&r>^oZM%Cy8F!z*p9SJY~Z-9iixv=w}RO`L> zXRID?``+S^PRp-RE>h&G!TNtX%UL3q^ZkK z$E(A#R{qy??$?#DQwA^f87>C(Jl==SE-In3;oxFU0yv+k1p?Yw$~G9#(c|2 zD%TB;7Rt2xi(U2mf$ z({_LvY7t4*y#MO0?pH~U+{X!=YbiB#e{EHjXE-yFx_z6esjxBURjkrZrtBOR|C5zx z-6n)kb)nVrey{2?C*DPmUUu4nP8sr{`#108iJQP)^THXmtfQO58F{ybQ|OD!GpW+{ zYNU{uBNLUQ&V=xMt0xX8s<0wVnES)WnlF=-A{(~+N-8)I$D9-)CUlx4j3#9g<6Zbp zAG>t~dwlt$-C6P-l_LB6*WzXvG50m1+h8=m*8pXykwY)g7Wz^E%Yt%?k5(`VKkG7J zCpkc~*m^lVy7;m@(9TbH{2_tq%CwHTvhw9$ z36MuR!~jL=pBBIF$FkJh#}nf*TJ}r?oX{e%gh%6>Rkkx`q-ZpVl+5quIF!I}_1?r% z_i|9QLXgI@_j9-25xyw~p8EyedH~(d7R}Qi0dD=OfKiP;PfN|6ok8PlUim^Or#h(b zK5oKXs#)P*jyVh=uwWC(I51m9iVck?RQ!9nnH<|kcHUceqm9eE1D5laC!#M)O)Z}S zoU3BS+*coduJvci_iD_Tt^u z%iSP%9F)5C0{bYaw^lOS72>-Fhqu#-#7!-LSHiCfu^JPEUR&z%r?wA<^j0S9@=*kNm}^kh{KkbP6NMhU-cQ2`>`$HzYR z@<0r?I^tayHxUw7i{yWHP-6Kb1tX*GH`r(4{O(5LPPu@Q=j^Bc%e(@2Fhro*VleckI+cLh|ap{8D9B{B9D`UAbhm_c^Dzobd)mulwlVBwc0%6wp`i zG2VP9|4MDCJrG#laa<+~9&*JK4t^D)$&;CTqY3i3GEVJr@y5d4iMON= zj~HLv!<#c6nN0Duq(TH>I0*{O-rKBBXaIa5%$T#m|LHBcrA&B3dOK6VFVzxopN7o z%Y8iXdVLF?X3Ne}X8M|hh^+qMl_Md5WZdcT{$0f!(x{*{CsJxbgN9H=5Z;}?F zvi-3$Rd}hSrjflW>SnyE6_iKCm#^?hURq;!Sm_V{=$vxe?VbFB$-`LlBSG2HzYLMg zZ67Eb=#2p1vQ%Vlgs<4Hy@#5m&yLnF6i9B@VYSU4rOYd19RFjf>ywGo?cocs=985@ zINb`RJK24+LOk-7&KNaCw+@|K9VtU+e}U3z043&Bt@M{Ajtg0}AD=5LnO`K}(5T|Mk+?Y$PC0f!)9NKXCEEWa0by^%<3>J(LABog%K~?| zJ}Jb-?_$U%jr??jI~SCJ63Ft_$2Pk%n@VYNi1Ek*#(lr+q%PeT|AVZpOP|y*OBE%v zxm|A#z+fIVjm&C-L;4ZjeZc?<Z?JW^koR8!B$5tzr3MvfXydUW*{V=uZNnEiK!)Mp`(Rj(ZR>^JN%CYhq@=3cp+ z{0K3Sh5;bA2GFIE08v8vWkT0%mqBnKITum)$>c;y9&Df5zeP72xh2Vu4AnX%FEdrh zF~u~H%yj-stMT7llqi^xnRg*Q#SK>yo!oJf>1E$FQcaHX%yAQwtMg%35`Cz<7t)hv zb1&sC+=&wu+v{*o)o4S@4eW2T^6jr7Jph6NCU5Zm(Bb_Zf&)`(d1PjNKY{`L`M zOkfHvoLR6In#r>T(dS4FZoU&5M3sPv(dh%54DL`YK5`5yYcihtS#p9z-u36ksv?T$M zhtG|m01f02_7lJO&)gVMsT{1lbJ_BeC(ciq_1@;{KivjHr)9{B=f1rU`+6;qbaw4H z?MMV8*K&oJNKdX^739>;e9}m`yDiqCE^=xtFG6OS%ULGYwIlbs{A;7mO1noNVlO!U zqGQ`O^*1H&n`dsE9ToBiR7ys=~zE8NKQ`7X?oOV-?A|K5FZ=XJ;X_{mWV#u?x?Nvm_E&Nti6 zOpM^zk-#~{?_dXrif-Co4E!|(Tfo)6Z)s9MC}@2jlep=Ae17!ob`5rRw}C=O2($My z>({5B<1LpF+D?BS?CP6;bEM1cqv3&=uM_c8^=Ox_eiRUesTNl2PQYMstBCEKK=kUV zT7#6WIjxE_^sW4!xMXV|bq*bpuv=kG_=TO4s)$ag;B>W(PeTgP&?Uusn&CH)Q(?eP zRdFrPe~%Q#s($x+vu|sw;&9h$Z0mvhWT^9@@r;i^lce!-Id~1yjVHw?j8ELFJ~IYt zk3Qu)iE!#9^Ky5upSqB!H~jUr-e*_w*`&4rzhyp2vAt7~^qNx|CWJl1T^D`ufnernc5{NjeAPK1CKa%aa;PqqKId!^pYQvZRm;+@IrcM6MOq$evGN zi=XT(Gjmw|_p3RkoR+@yP&}MHFgY5~wDVQ!mGxcoV1Ogfrxwp)M~BIMe#zv7zAQ<& zEvWi%%xjQ;J(oa|GCVi)0)ca^aE|!27V*1MP9jSs^VJ_mrb@aqn?Y877BUc(r$+b*Gb?+3C+T}<=ye4(-uo5zbGxr=o3yzLhugA zue;qMaEU{g1c&wfi1F5jea&3381iDZN05_dC%1XjBy~z>9xGv%5aw;OV06K5hCU*U zXt?#BFH$>(Ir$=casSs|P@+{*&Xn3EGhmEWKh#-nl8*#anZm;^ZjFl}`kw#soE5?7 zzb_ViAM(T&%)p;&f6$@}relca`+a*+cV4`5zfuZg-(ce=BwulC6JrHqVZ@mHiWuLP22=awti z-7PFREKpZpyn=9+#V*X-3pakoXZH{7#j;#^RX$3NT1j(_*68vf_Eh2AWR|D5xyz*N z%&AJ>DN}~EoBuwyY^k<%>v`{&?X4DrF?Itb+HBtnzjM*fY_gl`%L5%tUlX@QsD zmmNHEau-sVE6fkqEwU#y+&eGDD@PJmf4`={^ILA_K@P{^*x6TiiCpRzibLV-J-@P_ znj#jnJfag3BGu9J-Bdq_L0Ac=8KnfYhCA_EVw3kH~jXl&@63t#e9Z#~7b~Z__oCQ8AF3 z5!G^o<;#5ZC_MIS`=|9lNHz{e@0wztmq&$8S@ej>}4q zd~m%F!-6VL0REKY!GO|Zb+5o4`z=n@(DUls9jzl%9p8^VS1LEKu}N(Jb7nT9QL%-@ z_#3uW(cX6fc`GLqcDD`|m)$zsvg#Aag<=Blyk5N8>FZPB(;LaKpxIYH%_9X5zJluV zS@pynR{O-dF~lgaK+)lcy{`b{)GMDn20lc9TXcD5`QW26;VNjh9%iFbMYH;=Q(qO0Y(S$@@0rjT|XnvK$vI`O{5HEKNX#FhsOu$sJ zsbvKWm}ysvT)P#({vVHZB_6DuENPjV)h?)W-Z_AjeM?-BYE*F7M``^L)L83M2f}rf z>xbeZu0^Qz_ksFgA@5@yk zpi-yZ2i&>(8JUd;(g3P21Qj{GdNA@?IX3vO)vGqFU92YQW`(4N#7I3d4$AsMeL zitD^$SHh=0EH?6%azFW+7GAa-IH3voir1(ZaDF z9rBH;>^4JU@A*$CG_8mb23;v3X?IaGe_&fr;w5P*gi5(Wg=UhJe2S&0g*^Rot!2Cj z>!lOly%D7{AyY)81}{Hh>354n`W)O9(bmSk(JG+Ec>E|^MRsJ$^CA84Hwu^QePx!H zxJqW9?fY`QBh0qj?!D!FYjC~q^$(8~UC*D5U9iRumUnWP1eHk76h_FlZ57hZZD#M465kj{Wz2^j z=kB$}Oy~O5o9#gsgRu@0HG5DpPBXQK8XGr+O&721UAmqeT)st-(be0le7@-ciL-nk zmc`>$fnxX6gVvj4`ZPTeWS%(jxJ7Gh73XphF}|Sqh+B{QDs^Uxz_^w5up4I+aR4Bf5Cad#>M=Azsu7DeEdqL|{kCf?DaCztjzbiZK^ z&uSWO)SfgB7QjZlO58xJEgow~+RwI;_O~S*07y(`ovFM2iU<`WViDK`BB!|ROF*k$ z9aniNQbaVA7z?_vu@0cj7?Ka;$vK0hwSk`jzT>Zs-#}Z95DnXFoe2XL=~RereP|gc zrDzmIoi^O!i7PS={3!#2~(x!4daJl-AabD%$SS2 zy5rZ?AF@?&ia3NwWZ^v6h`lf4Ss_CbJtH-F!Nn(1|##74SDJ$t~ys1E8K1;AV1Z${vNO=u|ELsjan~$m9yt;ff zj#h@vy4}`F({(vzQR7JEeoFMqd*clo>)r>y6U2=5{6LSnNY|(o2y8Cv^VmfXytJnCRGCG>m!1eHj_M=op=TNm&-*Wh+T(HYkKSGf1abE_vs^nP_&Bns2L z03!=cQ6AR;D&6(>!YiPV>~*lh>vG#Jo&@tFpXTF03O{w=5e-x%u_G#mijp?`Ur z4fT;O)6HPqVGW0D3s}Ohjb^nF3rE>r>fyacj&f{4AaV!fv)n!sQQI~G%Lat9p$O1w zd`N~8!?WhA!#|NSy)>X!O=<>?&3=^HLg=`-%Qxn=Y~o2$NR#ieJsXFQ8-6rAnbk=!5^K^&TLF>g%PBW1+&l7A%#kbnB{}HsU*pX*d;MwL`5odgM07e za)+%kBfEaCHd5Psh1i*bzU1VdLY@o~X<27^H6Qq#@k@i5#VR z_%2~1FQG+DO{ZgrkRnOgP>CS6&gh)*^MX)nl1B$2TF%CFhLG=e=yKKHlt3L|(ylr{ zhPso)`cvs%4F)rN^0#P?@5=M8LU;sIaiOvOS3-J5$F6*L!{>=wP1^F$kr&IpcyrBW z*)bx}GWDuExrrR5Y3V4(`7I!u<(20@$b~gK9eFVuz-g%dF|6G2J}xp-%=BP%<%Jz| zW(9B9a&mg2WR}ExBr{~1$9y7ON4E}g&ZU#W;uiROB0^5nHLlQME;g4d0)*ryYYjxf zBo}j-50RtxH0n}}p@5;OmxAw@z6ymcPGhL{#PP?iI$?=7j;}Mcx0a{B3pjNqR5UB2H5?n3UKWH;LBztJ#3t@nS>m{ zzil%+d&&imm2coU4w{o~r$>5rlcA&poG2a(V25OP?GJ}s*jp3h46SrbbIBy{+b^MDL3SV2HmBcKRk1UZ;9kHh@-WJ?lb1(m>?r$OFYq z@dT{3UFnmFpTa#+*a$PqqHVZcnA=b9N$GeJ<8i0Q-#jEoaqt>_gHb(Dq86jyEI!j9 zi0C=?#t;CT*9Zl}95VbQnF&oy6#guQK>rc~gi6_eM~Ho>)-+J$Sbu3W2TDF27P&Yt zX1WIWRwgk$dRVZ7p&Zvf!{_q>FC}9^R${eTER;orkG@YOZ-Q`#!oP(8vvks&rWLqK zYVg>1=5V|UDTJdB5rm-hr}0Qp^(;DDyLOX!ZP11Fb+C~99<~F0P|&>OAegZtujIQI zusV;J6dg(+PPlfNownSuxtuCGqwEm$dto}mzKV+Aix1$ufZ&W z7<1qC13CCs?Do%2Or7Vj5@$Nz`a&>zApddl#j_+~Mtch6wbk$o58gYqLr&QKxxlH% z6Q>@YQSgWvGo3gM)|2;3ulYZ022AijXe)#LtB2*y) zYDn_$1Ci3uv?34C+3nLN7w^i-z%s79S~{Kz_1ot!>vQ3sjp=v$f+3k_Ihz*a3MaR< zmb>7mSHWMUt%SmTTjeIML@VUm*+htexA;S*rRUWQmYcNWYi1reUqmWJYD1XZ16NER zaRCO6!)r>rw|;`Ep4lN9ddP|nsO?nsgYf#4YF?RP0+CC51%V4l1<$q2ipwyr)|GXm zbD}7D%xl4?Fs9RZT{Bf zcPw6$mU9|4uNyM8O7WG=z|tTA@8Q4RAKvrc^C4m|4cVAE0i8l%pzsz*KHcTY-_gfa zxI3EeKeH3Qg&V0^Temd;k2XtoLrL6E4&XhobafzMqjqk_)#7-Lhx zW#aopq;PG(yM0H0w83Mqd&|ij3)fEO0)CBo>v6BQvHC`Ej2Sk zdSg)^^jWbTO=XNH*u*TR_OwJ^SJht$UKQ|`X)6|hgeLB|s?eEUdhDEjB+Yp7NSd$+ zeYu8-g;rx${hICZ3F5jC(?Y`2uy`M-w|-3vd#BcC|7g3Rh0OJtn)Hy{_8dUkj3};nP%j)ms9vo(Kxmp)@MG~oXRB0mmQS*K z6_v#2TWanH(v!tkKe5^P=r451Kv-0|`}^g+)M&T4m2g~G6Tl9hEBXH&9-0T8Z#DpKHQ#N1Af3dl$R zpzOYvh2@iTd!0{)LJA_a)=&_c)&`$8z8IYC1l?y^Z7;!;&L!*~IN}eC2t%5EK^kyz z3i?A2{g?T6FI?kMHDt9HdB6Pd0djbRYawuw82|jBx1SXb&oN{1WSv5zg{Nr>f-1?c zkU<#$qwdAAd!1DNd>9E8FMJUWUr$kx`nRCwIk+oe<6Z!$g?GOYIup`;7GdYxg!0}{ zflN~{%?Db1j=(QgQEBzvg6OoDwdiMad^*GdO8c#idPUKy(sP$xA+svIs1fm+Lga;O42&5H)Ab@*pm zyZ_o61D!m#vtQ*2KrPZWL%%+`|^I9;5yv&0q%m6x_D=L3l1Y@0qtKviISI#Ps z4f+IvIN9T8q>EDqlu5cZ_mvkrq^G!)2~fb9viwL)9fD7hbvXgzv**sHWvbxig+5q+ zBBRVj8ht9BDc-07Y8WqRiR>D;bW9=ueZ=l%23l=kJ_nqeJ(iGm!reccv|XqaBE}$_ zX`FGm4SB&&{)!$hL9l{}JxDP2hbVx>dpC|vK@thV3V3;{E5bNsc;j>b8*$Kr!sT;F zRD=TPUqrUH-pO|AOk6a zf&Ab$s|E8);|ud+g3tN#zj!qOGlARHBR80Tk2Oq6BJ*B=f>TR{xAB1N(>bv5E*lRs zuyN5a-yIO5?mpz3dS+Z7l=3^q4>ibyx2_O+@t zuu8|&tx8U4KJq`Z)cQA2ph_-#!!Bv4dncBF?~~2i}rw@dgv1_q4MV7ly3B5Qx@{ z8X)oJMapb)!o>qvZ2y;L0!{I(kMo!mi!?NX$GCf&WTkuJm_}}?zJh|L61BzPc5s&I zFG@8-i1EzV$2#_rqhk1P2r(VN4xNsq2zbSg>G;{Ov?=&xMu69SS`H?r7uIe>jnD;L zXMikv{zB0lCfRhzNcsqTX5qF{fjsnu`h&#*5qlD8^M(xY6r7ua`$dyTQne?}JK&o6 zMle14k?4u53(eM`-i4V?>4>@diWo1FF!DtXB6+?!O}zZ7TEJZT3BHckj`Es?Mvm@p zFMzk7&Yv#Thi-&9?Y&emkjfXzMlgW4R7MiY@R|2u;BFYm0re2pL{&a4cIZX;?#U_8urH#0u-+CtK+L0B{z5>=3H{Gyk1;P}tGBtqMoDw&;@66(nD?ItT^-C6<0|>g%7C^oO?W8<_-zUk5DM6b2^4+H; zdouKAvXGl$da`(Eafpm=qlsf=<|l9HKzGJC!~JJvkpMj>JCI{N0{w)Dis$5-z}xk< z3;+_DZXR`sQ^1vIZ`AK|&jWykXr2DZ^T(-D>2`s;Rzkn~lGAKD1uuj6WhW+4gqXH7 zJs0XlX^LqoI1%_HAH3t};)|n_c=Vb6?P$_iWd%ra&B8^z5`y~ z?P}$n=&z_cEHA~5t0$&%SkqUhc?M!OQXvq5j@fL<;Y4H$Wx8=r5NN24j=j1C^!c?3qazruBe)G;iW*?lsFpm^>ORF4;1e2 z`J!POZkhO($CXsM<301&UeZnsfRZ!JeR-}T+kN4YLa+;+<~hhyf)=!kD{30MB=5Z7 zET2%H535?eim+*k(#-VdwBZL<`>!I2%%!!#Q9JiV_4zq>hhrtPy%*ceOvLYaG)f<3 zlb-JuqOL;cSpKkc?7xhrNiCZgHXNuPR*ehT@j{R^=@VTsIkyI>3{p>O4~khWyR7ZB zm@|BZ6hcmg2o_61;(zQxxzB#K_>yv*t-{Nlp+btnB}dI`#BIEwRM4A0d~8# zc^0A7S)mNL>?gBP;=gc{Qhcum@iOl?;04@hPIdPLtTM05MU@*m8BsXVSk5fr9iSZW!a=cZjjg;gF;V6 zpO=R6{ZxumYXUG2g}eoY;KuCcZdXhEYJOd1FWnABUko4kQ?Z;C7sUh8DF?$e|YTpHm*^Trm2m3k1Zq z?_eaTJp+IHNsSe8o9B{PUhWnIzVoHIt2}hO?S`g~tv}G~-}x+zu%vR8!eM6c`9B1A zNEe&;I;DDcJ=_z$2rwR^bmStp7I+}V1VcHPgSWrop-=GHEaj^>6ubpMmJd~y_3!+X z8M+YxZhO-5w1 zCqMing6G<*^vDk>a#xsz_=0<<@sjK~1@4~SQ1l!Dyss~w!y1a(I6vWhBRV``_jM;C zUjBEDCKcTB;oi_U75$YOt(8?-ECLN*4(6?iVNl=w_jvadDbrhNBlt#CAthvb3>0vlgIE_mLmDhit74OJe#yP*OZ-;4Zfif}Q2FyH&>s$CcXmFJsHm731@ zLc0ypXS0-o2px3HAFQIsKkkIggztI=6A(043MF$O6aEjZDji<_6bX^NcvIKQI5%Xo zV+8n0PIGRpU?4$yZ~;<~W58$SX!uSqP&G`jOGH$mjQ zcq(q?kvL(0x$A+F2}1JaO0wO|*k%e7g5z)(Q;?KNYm@2Xr2C?^=IYsUMo@H}*idw3 ztX2m56qK(qgDfmEm&e>b40doAo?v8(QA@uI%~U^Cvm25_9Q;oO28U#4%x$cVChLZf zW3zPuktl0=-b_x^`j_9_RauJ2JE2p2yP(i-m#^H5jr!v?TRhw#rd!lqJENgrX2~rB zcLg9iz6OKAO-ahSJhj=TE!%Kx$NtvAN~NLAZdh#FJ=E4mbk(!nKY3~~8-2k%p`7Rj zNK!X?ac^{h?7NVy$s|rFe~{;h&9!OOy^`|dB600U3g&Mq#mXdqhwCtDR~)rQ+`CSg z`u=SGGq=WYxya02=}bMmieaA}cUc&;S{S_XvFu~pddUnfeaUb>@owBhcER*}ru!iC zl4DUzeQ!jTv#g~b2hc;H{^b))omaqT5{bkD&OJ{~KXf$?7Lw|JLBGA6J(SZlsywp2 z%&L#5sIzc1VsemgPlQ4-ng1Fod|O(=?DbWJNyrrIM;qZX(K;Wa);WTlbD8c1ljtbf z{DMo`cApKp`BIh<4jEF3rB?W%pI;tw@R0ea;{vOAJ%ZS zq`MWi7Q;C^l|O%O3Z6bu+YO56OQeQCE0LKi#xgQ%JskQd4fjQQFOjD?uIkGUZpm?p zS6lKM>U$I3#V+_HK>rdPt-ma*ChJwjwXE~)U8UMGpBgr6j8V3iXWG(T4Al?r46nlu4F{Q$`~+Bx`l4RG6G4uLxbOUq;~J} zHyt$|t#LocZ@$P8-|d`g0dlq5Y0q|Kn6^lv{mWTQRfQ5O`o(YbbJks58<(CnMlNKa z8k-2YIiW3)X9($KxirIEKPVX`e}wz@O6yzJ7t5Si5WnErcsMTd(Tb(uYX9ry57tcU zLOHv+hCNI_34lWrA8vYrv?H`ehBL?21xod`#mNp`2T^FF*#xL0MeqN_9a>-U{$*hc zXInO0uNYTZ8QqLxlT_Z`xQ`C5NV#Y9*=+Y#0(99bKF{uBurXIJyQ($ohVZDB zhe+FWou~NSns>;35$wxf1P49`(jL`P@!Coas#89Ox$6sgBjGsRg3evicPfQYuDvxX z&Sm(12{j5bCMpBm==C`e(%>bty$$2#^K&O7C7{akz|+BCPXPJ0E8`P;Zx6lMp5+}6 z=`GvyBOVFB9$)Gd)HiwHTDAtXina9j`?z-(TBEmB!sV#C(I-ZPI8T?rJZ+u|-rl!W zL8{d>OEOvL4)bh6EL!*hIm?Uitw<72c_q&LL2$oHfSz?)8&hc$H=V)?Mt8(?LgiX> zKJPYqGoNGoD@~+{IU&{7Nub6w0MdoR9Y7w>Bw)W1dGVfKd;+q0k@;`<`3B=A`vR0wbJ>y-*3(V zl0JAXx}jG8PKi_{GT}s2{H!uEX4j*ByD5hY#e>|Kg@1wEe>+tdGCv6|IiOk*E_jOE zpJM&W=pIs*L+5_bckhuY$52X5+Fq7gc$;ZDc&F!8WAh8IYX>*=0m#~t)1MfWErg=JHfX0ZS3ZEoKOVy&g{Lt&~w5<#@u?= ze)cVN2t09UJ>wQxg*eif8xPobjaO~iLXJZIMu2YD1YC3$bNz_cLhi;SOQ9q<{j!N^ zT_&x|P(A)VBrOelMxJROLikQq+KIK*dXw-c#BIsCk_DSxPpukIyf%W(Z;S#V1&4Gk2@c_yXd9ueY2 z+&liUyX*6QstZrB|MJ0dU3dIOd27G3rOzx1w1+3v3(nd zk#0i*5wxy%J#a_~ZWF#?VtUe;v%kt}K%x3@@j6j#eJaw`HIx{CE~_bP_jM7$jS>G8 zDbjAVU;Wq(UH9MS+<5h<9(1xya&}G3tamd&b0&8EevwArNfDM+uAyI)~zpMpo34I?6Yl$Z|m*O9ambHP`RaV-8%ktCzTb?I~xqOdL(VD z^AMQb`H}P7MKleo=ye90Hs+*vW@n7k(#6frnC;yd5)gLn=?2*|dob5iIC8yB%`b7J?2`7~b?o4nZ>Bi=K3N9lY}qC6 zd>8A1tQq;LnkD<0zKJYiqh71LN9EjNpuzmYvta`OYW_(cY-roNZ~0e|+vmDCGH< zxx9^GKyMVzy~6S5=aF8L|Cvabf&Z^3GCFHiG|yc+uHF5(bGuKEFK>N(Le|V!j@x)l zRB^V7Z1I7rylUBxtxndgT!zlWvjT&J@&(qz*x~s_B6Cir4MWefWcSLat@&<-&eL;T z#lpM|-mgw`I-PiT{x{RQb(U-wS-AJO0h827BkwTryV2Y4xv9koRtXB zPsNrOUDzucpJyiSi*n(&ZB6I1ejhiz<8EWeE+x`8_bz(T+d_x?qsmc1G=_8i1mlml zezFSuZA9c9Bvn7u(=YL%^`GAcZNdcPUr+IG^H|_JyvJzs(wSDv?O1L-%}BgdLyq<@ zhqpgXPL0HCyw1!UI$m^yp6XmG@JNaDg)50*WSx4_8}&l-B-8Is6ChIENBBN(m@lJ8 zO{7!=EX>gRpyo7&;&tmQ->P|5C(ohBt#s>sc{7I@@5y;aM}@b?j&>UIg0rZB?Fqg#nK)95$;?Derl@VEWXK z0!N#XjG!9TLsw*a1p{rWg?HX8l`3-}P)p1OCuhPUoH7VTgche~qb3~!?Jl2ktFYYm z<;U8p!l>m6Y=(_9vU2{E^af(+XY!${O$L+H!S|V>19CIZ3mlu~?hM2bg^9C0o@TDC zJ%Ks$RNlPiO*S1*Z7ME#R7?;0D6YTo<&cF!@65S^lLpkmhC5YG!9(T~cipN(`VD86 zs)B-Rv$riJt`q)c9_P4v?Qua%Ce(7nL()IC+g|WSH668wu~N~aWWy0+v=KFViA(#Y z2#UT{Q@-~p?Go3~V%qg{&#OewjQeLSKJONd@boP8`4%mU-sU-Z+d%AWuGm64F-Jj< zLh&yeS8v0$#rq=D3$C#)>Nv{t7MbURHT?NcX*yJHrSAxlNdis zey2!hr+i-&;lr46NiV4_B<_HD zCoWlXRhAe=3@F|#@ejxn378jE`ryL;-I7Zg7VQ*{(5-lLC6yoVW=GLI)3}ZU@iCb5RKgs7MI^; z6x3o#+`>Hm%qr^4*p?S@U2#^)iD&D-B}EqMQ{-?`Bf>9&WXUlyhLyb*|o1ADrb7CfK>cVZ_IFCuWPzAoF=ILBZaKVZy z`?ptJxOdVA)l?Z^Y`}5ovSsRKwrmH}{4lYl`jUyjlx|-Z^f=kLvE>*Ydh62q7IL+1 zM)GG)A&K+^b!z$N#b1f2l;gw>Y;QqzMZ|&XQUaOEQ4;rT;NTE*)!~_0{YWT4vN#3-UsPUgr5L}kHSTm__28wzptu}1A3_M+mH&uqQIFZI{N~E*$ z>G7^ng_gSc$63&3b~uC2tP{M43z9yM+$GLujZ7;&?F=calpItgDO!cHqQ~2r<{W1g zC^a^f&fTSCrpa%KgF`eg;$`?B_^n8$N~AtNpQSpxjvP@BQ9Y+2zbI;lLd(%9JsZAYWn49J>@VT+LB^#f&9S~- zaMKsx+T~8+#2TVL7*bPhd|sUnWTK8`QjNZ=_Z??Mr+B7B{V>e#lsh18mLoQxfO|7T zUZ_}5XsQexA#xriE-1U^SgL1X-Ysm_|G1GHC z9d5+=f~VIk54KUFp504T=jSza+)zW@An`GiZPJiCZ}#hqtBpW!0lj=;MG_J^JER65 z%+kA5Oihz6E~QGX`#dvEQtVJR_+f0&C;gGY54LD{RNI~Not}y4#2FHJot}+nFJCb^ znbnTz^cdS`cc*vc7S?fxspE!Je-cU2G2xAdfy`3RY4riuZw0hzJJ+(@30?jef>DBB z&889YDv`t1Ehz`Ty>+Mx&}E6mpo?nH+k8->eD-P@_K6q@@18R-mmW+Jk;ht9qX%%Z z=y6Z_JXz1`l5?K!2P0+-$A=@^<%80BYd<8-+-J*X^Qd;5xX5?2U!rB$`?-}P#fI3^ zG&(pT8koLdk}%ZwVi4P#xtC6L$yj3>k7>c+42-yb+dU z>=YbuUG)R}vWk#z9mV6=PrnLyu#R+_A;2!@oibhL%U_X*mWQ1kBjJ^B8b#Z@-RKEk zw%-W*>mMr^8PFlA4F`TbY59lCfUK)=1(m;I#c~e9+X3k99-KP!Coty$U@!40(QYkr zuiUEonHPb4$W87~I7>PPaQN={z_T@bTe+2l06+F}r9suNVJ-haM$q_+MVa5Q3v&5? zhWu;c`TsM^zZvd-4CDWK!#GKaGIW0RbF;+nPKeJ%m81!Pa z=HVWD)NdhW2PZp5Sud9#i_@2j#9vVo`1@V){1+imyf1;j5e+Ahb0ZJ@#<+N@~mik65e79L5 z(^`ikLB|ComNhcim}KqncDBfF?;-O5fxcQ*Qe3pIbqmKq11A;fo`9~JDV#`jr_v{` zVv~D({pnc?l@$j#OFZbeVSu%?EHrI;lE{#0smJkHMEl!<0gnAgij>)JZymcaS_bR9 zMlnCJ8EmxH%5-%NPSqc|E6WyH*#5}@!En6_Lk}Mm4G-~}d80B%+8RPFGst&*s#+4> z_AVN9J`^rgvuWj!PrYO{vV~1yUb!*L&9E_jXx_GHtXzqj<&FA5nXU=^J0z157|w6T z{A@6f3U}`ez#9c!7%Oh2u-Q&T=mXR#wpogzn!A2@Cm^4a;?$-nyFo;HWU$SlojOIN z7Ib{y*&aM*Y)f_Mxc?(?VCZ65!uEotF!N&b0(*W_E8^S>>XF%WQA+(}x`}*ur=)31 zf7@*W|M9I4x3J8oQ=Xe{FAU5XX4JLOYsu*q^`&h}HV^mgpX7XW@q|$nzU6V+*l&wV zh{8XL#OI$j8hD&;XWhp)DM)l2nuc6FEz*52cmC=~z1K+o?D(W#X^CA`hB|+Xp!^wJ zP-}B_LHS{Y_Wlb`R16hZWg}z;E)2ezh{TUQpfZyS$_$B})d6AanyMzMjh50iRR!>K z9(zkB7||hm`SZWYSL7=sp(CWhBaOnkGh0#@a-=^DhKMXY%%@J@pjf1HwC4{7_n@%~ z>qK}lKXWP;K4>sw>Cnt74SPQl$V7ocGU0pM5?f^>&pBpvf`LPm{V7SD>1Exscm0r+ z_`1P)XzGRWm@en*1I7n-=s+VtI9=>LD8K1m(ll z5K{RtCFORSIJRt$RLfq*)PZaeIt8zDl3ifj+TW-9 z&R-U7#>9UoQ|#yZBaW4WL$pgad}R@GQn;XAVwv%!qoIYjWj0`#UBi^A1Gqa11r9YK zeNl>LuS+zwClwU;tKG3~&d>bNPHY==W8-;N7;ArO%}+_6Ac#DAaEw@#;fvZlsF%q6 zxs6AvS4LzZeeuDZu_I=Zo*hV)(n$J^xi`J3t*ALkqv-)Ys!s${#DY_S+<9D3SSD44 z;q;Sz)>Artz#m>F5y&S!Jbncu=Dqw_ZVjQZAI)1Z@AZ5-1HChI6`0c*7|>UZ17kTN@#nij8jXBVyRX34ddXioAsPTE zfywTC7z6sbP{Vt=y;$5y`1Ol{GY3j#`{=ueW#?=a|7 zU*QXNRdo$-68r&Ea&||Eqg8&Q_er~8JQFEpz!CjkQ2D$^=7s@CM51P~S z%^eeED9cY-_r3Ok8naZKZtH?P6LU)9;KJc`NDdn*Qeb1&(6jdx#VzNXC=li%no#^7Lf>G{u7T4E!ssOb~+dmRdRrMO|DOriq&UA{N`S%PbBHL2wG!nB1gUz`E zq~=YKk)HbRMyd!|MUm9>R1`^(Lo}k4sg7hPjA<2r843|OV?7xn;js>4tuU~Evg74J zRZLHlD5;mKu(L~vl#i1)(dCEL$x*rvtBRVh)%zrnGIVF;!4IB5&5RE{- zhqm-+;k(fESWJLs!6$eVApr-aUonjloPLiN&zztS>cyrc>LYLMa?nWy z2ix)^XO595!jw5HnkBBGIScv`P^lAZbfw~-jsi?JOU5SH{HunC%=68 z&z|-_h$ip1VcdJ3HWa@w1V<)%NKdP)X|s#WE!eOyaWOl&3xRfWN<-(LCk_b!wdWa* zr&2eMTXft&8V&eZ#CMS0~uehU(shy=bpJ3E+?R3$-XO1CK z>{yK$0{N$n?!O7I$$qGIw{gO3M}lr~Q2}L`Fs!b*cu|^C{HFN1PjM;3k+6gFH(`cO z5(`3;}~b2!?xvsWH6aT!?%%bD@fZ%JSi*ix|X8`NJ$ zelCYUDrID1ol$XiT^?ckKZU*wr{R-C#IczE-LnG>6FPl79KR4DuB#H~+xa${=2>Q0 zsWm#cO4e}AEp1oiL=C_?*Gn|JSy=YPp5`97ewB_z3=Usj%t zB_)ipDJv1sHzB+t z_}4$OFmHkH*% zrv@+v#hmrs*;t5RbX}DYbPF+xy9xu}@zQLC-W1K4{u+|IkaG}VFVmh0=X@m`epM&#$aEw!r z|6d4xdp2OOe9hHVv0HHmQ{`&6C${LZ1+Zh%oE><1)}Uiy8WgZE;-F$3cl!((VNP`$ zCOjhKE{xac&UjZ@YV(5U&50+vIL=BckdmKUT%$`G;o@oNEl zxuA;A<_MMio6Gg02bGyr^AT6~2JI2%RUTeZ7`ARH^4+{eA~RA{1&l+n#}U4r2uF3n*^GtRN3Mzzt;v6J?VtzKK(K9M|>! z38{}GSo3@Dd4|NpNecV27c_h1>eu%%m_`=f;LY&cZ61E%>ethpqC#~BKg`g`K#GN} z6RSMKZQhL(1Y2JX(Z2Pi-~c~gON>ASH|PQL!RB<#7<6~D;Aqi|ubY6G`b2{$GUN8T z{B9f%8umKml$sqUV@QLqtkl`IGT1B?RSK#0Y}vY@Oo`N>kR`lt@%DjJ6}>O{WE0N2 z-3{G@+l0Z2zFmmg-wW^jTF2cCf6#Z(@y5-2?k_TBzxVaz4?IPwV2?%o%@8neJ;)lv zI2pSIJoZw^EWZFJhB=!%V%Cz*KB#>-$+hlMUJnZE1eUe0cZf#i{K>!n_5lbxXLO|V zCz#NkZ<=-;(*verK$u}mntez)$?Vx^XT~+ZT9#5uJV`x(P8sp9I$5^uL~ub2|AGsJ zTr^ma_}0B7poh)5`g_s^+h3|V{s9=o&4xsO1^tn6}?1~czL2;^KqvxP{i`nNdE%ePg z*Z=ms6KA3O=3-q>cq*YVq>L8kN1H#%ZYF08)rHBB+_;O^x3{`e9y`$F@j*)w{`svCl}` zb8M9m_C5qYsNNN4x?hQOiu;Aa$ru8^TkrSBEz{n28}vDl7{nZ4nYkt?LFM?1D910h z%zjHBWJ)*m8@>Vp*|mndN=pcvq|Q$(i@vBgUAk7}IH3lwX;9Gdta$E24^v8V?j}zOdxsjd;eIGZG`(WQD zjA`O7y@I*GBoIw($9#IG!-Z`}DD-aY-!()?ODwg6MiK7BpS%qOp7iUbYb{zQPQxT= z}&0i4z-GeKCd>+3;<-x>eYVV&V*FJLYfAbY^Qs+g#n^79Uha1KDaPB)|9_6#-H9xa!YIEj4cl zWVv*)jmvIdomN=XV93N2K0m?kIjd81k?l9?w1VH!cGuj~sr#SYMHW7?*se?(0 zJ^JG?$mOQ3fBZ2!#y%$GQ3WVLn_qEU0P#GUTjFaC-~vw7zu8OmZkVMfvD!^~h_A_< zErHwJQQRpP2Dj_@zxHa!S(53byV9QN*?)vbmNT5}VA$))Jgw1a%bc6x=wvYxbYvl{>M$=MTwB zZjQu9eL6I4dddf-o!AuUv4OV=)hu()#l48~}5E+H7_n96LfI3Hpp>;;yvHm1ZlF zJs477t*iG_Fr>okm*ZjKb+U9@w1HTsr^a400+4tse(y>MaD-KD*;`vS3zhAp0ec3R zG4>OTTXtY^+NOU~aQqXvrGBj0CA$rn^T+y>H$fdti0M2Y8*y5zY!5Q= zSyb5dbB%c(N01s)o;a7y&9_M9XxlUAc9LI_O3Tc2U|#3=rjEyVEnY`NKrpuN;$7)( z4fggT7;TLG5}}S`_h6Kjg~6Ghmi_u3OeArOi}1Hx6C15-U*9{+GF&Fj#K^)E0~PO<*Mr;w(_-D=^tlP) z=rxv|@at`k<6jgZ4KH|mlv}wKl@28IsW|@b6Q*1>Gs8sN(x`rwTR*v$G!wHezguvm zvXhD5N`m;A)>j^0strQZHED|Pg0_OQ7d)1$3Z%yX$8>ap&HQ#_FV`E6q{8gQ1)d?N z5WYjp9g{9~imUjsnr9jp0N0Gr&TW&v-W1(+cev)7q$gU}4J77WcNI|HhQT^*gm#D6 zIL~EJglB?SEWGd3#F32{2}7El+z>&N_5+Zy^N0;^^&^h{Wh0TVZj=$W4(ebRM>xF{ zWqIy^EGTmGB5rh?&GYi^m8ern8>s4&WUFY>I`Ec%w6uLuC3wEhkkLPXN}3l{gR*fq zx}Y_By20-#3&kuf1k>TiM$vE{;Bt&*CS4)z!#e*^Zzdf=b56qVMqi7rJu3h@sNoCT$UK6W?6mjD^rHgt?QW`GnQZTq33u-= z4_6sz_pRq=9N5m`2$^pwzR*F!yti)XM=2{hMXg0)I>xF4lq0^0^VBTQdRlYO4kDF? z-mR4gVJ*r~FxbP;o!j`DYSY99L{VzUplX0 ziFs8bu&^@wNy$e@i}?$K#vV8GyBAzEXMIrmF)v+~>xm=`xaTH*#}O<)A+ zpPfDuG1vGjNpOt&&1^bEFE>@-{}T|0M%}XRY*Bi@nSdIncLG+%lcsK)2IH`aqD z&?zf7k9bC97z&&vX~wnyT7@;GIv#0~Mm9C1TiB`~x|x z50jQcjKuFPzeu1?T^NGc%Fn?qi!Ga*H*9!9ZH7K$drv>Syk?|V`-$Zl^IFjlxRJ*C zea*;PSzPMhstNh0ts^5*DiXhN^`i31+=|28noL>^YvHQ9`(Mf(jKnujRhf%oaapYY z*J78}vdF^IqI|3aQtcZK#_4W_%BO7cZ=}TKC2g0lFc#MnCAk7KR%y&tpfRz#!lJIi zJJ&tG7H$(q;Acarx-aaHEM!W2ukG?;wfGzhqQ`lgX3_x+T88jGP*o9E{iP^SIv%Lt zTDw9VRQ^ZVC<_Im!0-az{@k)sM3aFK*K2$2LqrI{$X!-g0P2dtaW?zR`3^xX^>Mq> zXyXsR?q@x}Q%SAE$F@ba&>!1Vv%1C6H;uUvq%(o_Q!0^57n1)70{! z^;KBg1-!(YR{U~|Eqn(%ZS(9Vuye^=HM?s7aA*SGsdWJm?gl`@FsjlXSfTV$hCEK@GyIzGo=ET@% z=k7Va{BFlMV6M6!l|ijb8MC!R!Uwg1(+YJ&1i=YA-hznnVGvVRbmKSC#~F3R<^z;S zhN5qtU5O(aK%sTc`ev{w;i@z4aH}Dqhx613HW=7vlQn6z`c>aTA18?nJNmrQyN&`@ zCQ7&Ms~-E5S@dhqpH{|Kn;0upp$;5JJnhDXNlO#+?V4V1K^A}xh>t$-pOtnSG2g-) zM~FOu3*V;M1GjB`k-jGktMwMQIQk>Bh}S%#eQ?qnRWYBL<`juP&19klJ8j7BP-^bT zr(yGfcK^vU>zVE#6MvOMYqsJ;(S6y2zP6Kho9AoKmZLd^F^Qg6k30X+=aP^mMB-B^ z!bAGF>aRuIk74Ud^d4+kW#N@d%K z8SoVMWqljyb8+=~5gtL{?;m$?9R;HJ#HsfqBii>hk2`s-io$&a2rZpX1Jo(A4LYKG z1hBWV-NUx!5|C8odR>VW83SP>2I*$PUxMiS372EH1CZ*~rgu*n&@x)JfoCAX{-yNz znJ;q7uvMy7$c;qm>g+aHlPSz`IfY1kZP&o$cOO)k$Vl}A4h*vj0PK@OND~y{DTKuR zpN5~Ez*UFoINI(}BC&F&?^K6`@-k?5)L8)geO<-ItLTUkwuR*WBy?I@N8z729Jq?2 z?F2pSy?(*%00W%Z1`UDuV*riszDPYU3X|L>Q3^hPN<(Fh-UUD+<)(=rPyuY2Xj?nM zfl=1aS7kH6Rrigv%4Goot}h>g@(0qzig*oc>y;-^{s!9Et>lH@2XCb%bm51z4@&al zz}53G)6o|L6M@VVp4jIs2yVq7l%~UfX34toEhQw${$rv3sBc zZ#)D;G&-9G7{0o*bCsIM^4G;S3VMmrMtWTU*iV{=f0_!-%s&o)fBND0Iv|My-(*|4xx5&uNDa4A zjox1R5u&Q#MOYQY`yqj^HOigu?oCwc)nIL`e6(0CJOVAojH<;E14G(BSr$(!KpEk%c&&z<6y~y#sHDePLReRqFa^K#FY? ztnPC#xenoGrLmVND+|+*Dsrq20-hFw6@>7#^!-zTZ=e%}WeN!oAocD9 zF{THb61-ZElMMo7|FQ^LHN* za^s1#MVK8Hcy|D;qj`~L2cCaD+#Gduo5P(I>ihzH?3ktgU7(TNx8J1FYi`86fBpcC zLRzYA-?^BpL0O@NV_a&tX_eCKWW8L+0o{641+i<825LT-_bl`E>=`PUf2_?j5XwOZ ztA2G=LxL+3e>6z-01)-UUFXA6G4Rw)cg7-iJ_SaTMr~<#Ihaem@8n1EU+kpW;J;mw z;^?zjcc&@g7G+wAG)v?NUcVkS2H^~p?Dxm_VS}ZUSxaG=18kzY5aH*+)ZMPZN3fxx zWgzu-gyW}^#xv6_d1}oqqmKY+yUBGTBHNGW`Obeu+?8r)Nuo6GEv}HA_I2k{oKEdj zy zpDL3Ei)IeWWM~#pZ`%IM;034Gi1Y~K%d@Bi=?^tMB`<+uT60Y-g#96-lGR zhVk~ys+^g4PRzdfM?)RQt7M{Tl{tlZE=fM_KlOu=;UNY+PCsdd6h{218M*h9-uiEs z`W&%$w8CboE+CAisp@!>;P+_~W8A5zU3jm;!zgRMB;~*jwhLZIzg%3O$p+!*He1CI z&23RHsVKw0wamb*3uNa+Pu;iBO9mYn!jHre=)nw;nY&Hs=}sTi$A>bdw=w98aXLIE zoCv0#Gt&mWnC}zpT9Y3UgVfnV->tjD6Tld08qB0w^FitHUD(UHv~*%Q5K8+mzX8LJ ze-z`Shtw*fQ(N~0DGVtP9SrkoLh>>d**HJj+(ZP6JYT2wESJ(D_N7dIy=!xKg5;8H z`|g+InY7ARKmNo+zaAwBw?7v<9b~r&!_3%~v_5*RyrIGqdQXECA0}%1@wQC_fAq29Z%MvS+VNf5p-vwO5V{D@zwbKt3AF5bP z1DsiJT`LEF&`XFvA5*I2u0$?RUnJh&|G{iE?0Q9J?+>K@KS-mJv-ma5M9df133FP4 z)CP=wUeVbqHKeClM$Q>DuX5SRpTN_bbm{7?nm32L4EvbKOr0S`4t&QWpo)7X1PS?J z(C1?8A5LH~%Gw#b=!CH+o`0TDO*xMvxQDgp<~fY6lZBjrUVR6iJO#0={z)`tJqFz` z)$pSlevORTqLm8EVK(~MQ4?0NO*yG6L(cezLxZTlK~+aBCDO-v8Kk~L2h$zr zZvwOYuSu!xnJ4HW?Si(*zD?-d3Vj)k%vY$ydK3%f5FQacZw^G`WTDc@*I)wY{>224 zF0L)^KY0Vtw1IoX1wGjj8S}CdyN^tpR(8!oN!Cd}fQ4NK# zqhv*(bH|XBq6D$i+qHZFi%HAHUtv?j1vxIY9Cicc`;B^gBj`@sByiYho0$IF05*xR z(<6yz5H?g_+z2@5e0*A|5cb5Iw$zFYqz$t6CY_vmq0Mes#adwiJi3Q(PzJHL$S3+( z&*Flthg#(A5V7ri)hyh%X@~})Sdcra3%?lHwl)2tspbb+COe=0?*YT|+N_HNFpdy0 z2{84`N_kx#7_^Q7In7T1dm@Ko6`n^RSJcJWSOOxgcU)`JFadWc#Sgf0MB*FvZkbv{ zy2ul2kor`1?h&t)ft23J@i!r*;inK0rx*M%bSnnFzxro*Q=g6g{!{3 z|8cl7Y*or=OU>Lk*yx}(+j~I)sh+#^DQ3*kLbGm`OzAN%yymE+?aOuR_~wvv0bnKd z<1KHyfYSf{ip&*o>6boXL_PTa_Im48slN#PJ3qCZ8XX!r%nQ17w(dorCU~O0!GoQ6 z@+%n1W6swfjiH^nwqfQlEc5A?h`yPj@w)Ar3dm7NxA|%d_P`L$RQ-7yS|N^L%=UfJ zgO;kwWEseb4v)hQJs^+|yc+COhOxw5mFnJw?LD@&yiy7J>#9`|?4GG%boHvx;ya?} zY3WJfWW0rcZDFCR%oU-<7v=2?{#;VkE{0E(NM=jAO*sVeqf6q^1%N}e7=NJ=i;Izk zfL*7|I;TmlOtDg^3yh{YwA1YcxW$g0z?9GA*oH^U-i{efHUvZ)`8X`}CV_0Xd+4k8 zve25@4U9oU?n9UgvJ)(m4GELB<)xCwefND8RCzSb${Zb+Lt`&E?UzS!kJmFnmuvk; zX_$*^wP`T`2?!i%*2e%x1)Qn>NCyE~^-h4aAR?W!-UGciD(ofR>XK((>9jv)ghh_-DjhP1>0^{xz zzCYTT=o9KR$TFi~D~6OGWT`ww6ci)6UoT-kRvqRt%JHxVBf2x@!u6e-;LM2e;60X6 zP(MFq5w}{8hGOYz%c_m^>UM^rL+1O`PJsk>KI=gUs39@e+2ph%3#-qw#_7T>K{`AJ zbRod2t6B$qBK>-1Mk;80NSQINCGEiBiEm6DtKDT*L%ReHi264EuXJqW&LHrUcCd*bMJgF~TcMJ{82vA|huw&h>@kq}zZUHlvs}jJ z7Xh1Z4+47qm&83#CfP4F?UBEXOooG4f>#TD>7$wiq{)V*ESnn`rWmJg4-eA91WNaE zv{*JQ2^rWI09*bd;0hy;|3WFDij+XJj1P1{xw>q1g=cFpfqd38j0qh_Isxzh7pDjb zitih7HSF89T^RQ00Phj2 zxCX7)NEJktNd2=ZagE0GMYKD8kF>3s&dVEt?vtYkw?p`G+YC&C#?vFu5uer0xXq@6 z6T5bCYrtN>o7cM1-T*Qo(4>fzLh=hJsn0qV#)gJHHvwa_qBaz?Q8k z8BQG$ON&TL_#OYs5j47~N+A!D#OKH99nTIt_WPsN+JjTf6sgh(V|%~Z&~qUCQj6^- zVg^T7Y~wD;2eL2bZ^gCe2x&(TncZl$Kr^I2$wdtJS+~67rt-$}j+;Ct4Vx*5IQ^-C zF#<@#%PC86*!P%i4fZ~$Yjt~HeF2aaJ3VNpB7!Zm*@U!`+eG2Vb|}2~&S~mC z>{}=5%>&^agq004lLzR4Ww044=)`umFTDFQ`t@{E*Ar2|6t>^)v%?_{XSI^ZhaNSw z2V)96M|e9d*rcRyb-zyR(WZquks)QgXf%UQzcKnthXUnAlI;gygfaC>+qdl?9rZ7& zO&nylajSCU-CFymovP^UFu-E`C3BmN{T3OUCxu_iHGE!K9Q4l2eU+skdr#G8bcs3{ zYW$_Opjl+gi!0~(nb4fpjoUnb#-*OV`y-wuVdxx9!&`wM05$r93JZ(=2T)!qvS>4w&%-kyxCLmnlh+X)Y(EjimNu=&|E+B{Afq|fRi_xI3jm9(6Ya*-TP>!4S;hU zpJ|8iAs}PK#V5ucMcowDArIQA1^S{+(LqbTpbe6H5H9F(T~}+i^1!LP9Utx~taN{! z*n{Q9GMG*_2~bt!)xQ_GJ1Nc0e{+(yr+H>cLdFyc}5rTV7^5GJkA zo3!8Lk+@bkL=!K3m*i4SmaH~Fs1%YP_T2`uQI1!zt+C;QXqolxN8f22yITA?UO>j_ zcaBRKM&gxAPT53<3qq@n$bc!RyXMQtE z`^8#EaYKHA{mvVgAfwEnG4mOiMzHtmb- zz@Rq@O>a?$CUHIbz&1AN;=~TM zJggd=COv%9KAZ*Z0s0Xyj{{WAUbKn;opWf@DJR&Kze^qGU*tOqn;!U2@EPMvhMS0cSEZ=e1M z4>E|f{{RoloOZ;V*8+U+6Rau;AU%nDHJ}8P1CS;i1Ps)y7nb$`gs~jT++eFb;riC) zCSQ311a;%p%02fJNH~`fepOL-(#;ZPWJ8wP#M4!OFcPFtV!Sf{eb;(>hN}vScm>3qUwOYE47I5aZoc7VO{1U@%W9eO3hP%@lElEak8!YYSfO_y zaBtj~9fqpo(#H|xu=4Vp`l;zRSHk!M?@v; zrBil6j{kMEaA|(85~*J$>`81ute_v_0^qENfjiZ_B-^F}TjGV2i zq<()9kk4y3BaYCFUTlbq~wX2fu^n)QXe7%B@)aQWil+V7FpohVw z4*&I82giOga^sfQ1par=TLcLnUwlw?p)xPRQ1y5>fFDEgD&spriY}mSW`<|jIegs~ zO5h)whfCM&6}c1(%ZmH-u$zB5?%apCvqSLwjbey9TK2N&SkY|gM^raYQwIlu-OJ>> z^pl>Z!1JHrLqYVmN>FV!;lRAqC(5FQVxe_$$BC$9xb$x?An;dYAKwop>RmpkY=f0Z zwEj?Bm^#V@HN$>rZ`N7^?jP?hSBx(o_}vL1c^{pEOKJNgkW0@3&wY+l54j2I^uM~+ ze~k72r^YI#v@`-8u5Yg_v>Eurxmp|6THI&y2u8Fg{8)u;yA)h@=FZ3+Kcban)O+v( zpY$fBMk4k3sNX#aDc{(hpYC1Y4qYr^#!6u8jPGQuHoQsqVS66Q; zSn{aYv0UB#FPn7Api_?%qb11!HHtF<^|wz0UWYwE@`r$6{j?0rf-MMSiAat!K&ZsF zHc`)fcP;goHe2iPQ)@RZ$>IPt@2`HyF<(%Swl7`hHM~yUhs=JWCLOMEj65& z_h+N9$01N8_kXC=#)$!+Se5)*U@Vx2`p48LT?58c8$K3=S;eLUSK4=zBIZVvoT&?K zJe(qy!=4nreDO_`;wMCIN~dV{E(?)MXwStDN8WaS%Jk-QYbi>J5~`z=D9k-zr`(g< zzQyB3t&7BPP+`$g<97=BysFMKIlN)De-*d0wNr}<7?~nmV!vGL&DBR87j-t2rt}a6 zbEkwWmYQ7bg}k45jyM(HXwOU3mp)b#U08cBjGdEOL*#rM=ArT8N3}~TEE7fAKT`IaZ8_h1%)0&0TdnE~U+xVe&6}(HNMFyq_Fde&FopDTA_vFKoQ5+Q4lFtP z4MJm2;Mzukk)CCksCchwrb&1!QWa{eLQW}It3MtcxrCa+U~O1Fxs9-`_aAsO*c|WV z>*}w<-|}=iSZ0eV`qI7ak4g%1{HY1gEQTtbhBHFAxkzVWwqD#hn6fCN(He^Gu z%WTL8*m|1{hcXl?P;a^+8_`Bmi9fBIvd!nWH1U0dExVkd(hZQjY8`lh5uCubteEk7BArC`Y6;urR&B(t7c@+Z!6QX_R2{Vd1WCMZNL zQ!Dx~(fxahtxk~Ns*~T=rx;HeUPexXDuSL?v%xcchW94oTYX>0wA@0^H`M;6X((sb zbK%+&(y*jT&rlLnc*Jg}0fX=sSMi4-79N+1MTdFzQS`&N!r=ozO^P z18bU4OO`#SsjP)_6w7_#Ig$?!vZFRZP8Gu2-+70+Nx8u{Nq?29U>V^#obzGvM`lBTEUkWwDN~QQZoi>>u*ShjHFwjlNddj38TX!=Pa{hr z24$B%47X6pek>VD6f3^3poCQyr_D$BpEVoGXf2*?-bu(cl;wRIh8l`d`?PcOWSsw; zb>64kLF@^ax>~83!I7!OLwJ`)i3Y1Ta9kF*{qVfmYXQ^)5G>BLNjGitZN&sHDK0<{ zu-p$8nnOC%_wH_mGeP+B`pu8zAHCM7ET!$t!FS3iSXV8DDS55+moDGezA@dxZJMzA zT6JjE$v)!StAYD_tJJHoNv8b>r~SF)_8K4dsJell)FjgEpA%Q=^4beu7;+j^nINS{ zydgh8A#}H4!&%n}QQm<(d8A|rpE&`wl~!5l{^p@|PX*6t8RgSQxh@oXGku>-#eAOe zO5YD>zU`eow-Hs$@Hsuc;ByOoN`C8pu`}o`HE4jZT(ONQhnSmhv{LhjC@nPeHoU#m z_lU|=y^t~c>1}5geV%{Lr7gZS`$?Tcf=ik7lLh5(XJslZc`nskmvb{mL7_uIenJ6^ zVk)tCu5GG~=vGcv;O%kca$-8f9CH*kcf>OSN?@B`gbdXePzoke>FnZL=O`7`JLryF zfqvEYmZjnW! zG6cY}9^C#aJCPFGuWR|)3jlaictW7^{rl%D8eb?)? zABd@cTD5ETUz}^XqKVvA33mD3@W_GR-UGS71kvFy*4+9%`_VGIhidSx z0$;N~Q`!GyqIYmCHwGOm{X zFo271g2#|w@dC8r?)`np2IC}$^5#B&>hD;_w(iquS#h-ot8dT@to^c+$I7k(8903! zddl;c*nHPENt?Fw{Z?^2vTX~Zq|5mrVIUw34F?Qy$uGR3sZrv3<}^K-HBaM<9D&z% zZLZ32aiBO4ze8cA`a{ zxVsL7k3JQ)aN`XK-(egDqrb^KW;8+Ov^u zN_|@~O~Op=F7qxq96UPotGk<20Ea+NBD2{wlfCle~)mPk2xSxn`+`T z+$NRBOTP64&A66Lw61@vyh9_gz>fo)-<`%lz7fM9C#R;>$IiKSZ;Xv(AhOeci6Zt8S$ak--$Iasw+yD6tRJ&y)_+9Qu^R&b>?% zk!G12zvWQh_4#cyE0Bi@qC(f){MF#&Gb>I~NDFSj@!kO%$zYzv0^pP(equeII!zhe zPKwCsDK~}_jeHXouHh^ZoDsi%PJl|BoGR#DYPN)iqX`N{lWGd5aF}TpiP_mQulO{3 z6u5Y0_U7ewRr?c01YD3x;_RuS!G`%GH{x26j-6d8=8TqlRHnRYem9eMP!OO@lVBUa zgs_%-ow46#6`z&a3|_8G|BKft!;t@TMD}VJ0T21lS>uT9{^!v4-xDf@c;}|E7E=5~V;SLy?0ZK}1PK5=nx9k|cwY1SN+e3kay>Bq~{QRwPKKM6%>4 zu@I09MUo6}mtg2$-@e}+@4at)Z@kg}SPj%UXP>>-nrp4O=HC5GMM?G?9u?lHQ>V_! z%iXwh>J%pQ)Tz@San6F@$lb%M1s|vF@5o+1mETS?cj^@VDft_cYHfjz079Ro;PB#-4gni}Z47@x_^{|ADZg+1jv?j2P#aWgY&TI0^~Zq~yn6zVPN`l-{HL=u1b2am{{3C=DNt;+cL z6b26cAOA=&OQ346|MlD8V(*WbI8eNl=}&+8GWuHZb*g{A{_o8EYXo>Hv(E^izU&>HtmpZNy= z6A^5r=$|4d(y3?Swh+O{ zjW8ypBkJwyYC$tCzL(~1^+w-1H$FYwe9_GpY2;7<9^Sxl!}8CENz^KxUh&1=B;PGK zSaNQ!NW3l#e_C416DMA}Om#rQhCN+<$i-)}R$r_@@D=jPqe@|Fczn+rw)?4F+p+J( z+E&L)DD8T0PsPHas7slwdse*^_)0=`Tk#&N@lv}Ao4mg8n`)&}1%15Ltnq`qSC zw4Mi*PFk(J385AR`Z0R0@}uqk4&&Kvj#n~f#!~1@6oi>WTZOI5SK!MWH=bKkx-|}O zsk7TP>RB$Nr&kmk^f74F=b(zX2+Wtj!B{K>7O3EA@l+-0h))@}8U9p&UQ z8aOYC`(<|ZZ-_W`wKI z^+wVmBk1n+93@nT8;@MuL9iU6QX8np-53u`6KP;~wj{55gg%|Z){TeguKINB(!VYi zt?r_QtYWvi&>hK*iZb+;6}%J{DxdM+J(`cMlr-tbMszI?T<+eM-Q|6?FQZItx?_fg zXPej@YiU|c-7K+n2u;C)SS+#Z(Jh^Euxr<{4;ohv$*~*}oEtAvx6(m98%n#%L`z*T zUD?TgFd@1l8d3aBrX1JImCH0(VJm@|skjx7rVr-qx!^YAXE#@@u~|;IDQ^0i`d5Ie z)%T|N!QS*{J1{CBMfeV_hKSAz9c8tk6?^X%x}Q@<2X*{n zvKe_OMl>lnXvP`~#_G*n|CQbdIv+T625g$cC7!&8qKbM{WNmo>@k@}>=? zit}DO51aLTs(z4KI?_1Vb71MYAG0Ro**E;1;olUQM&Osw8JREr5HSdbaiQ!#6ST`zqZGxq!p0~hp$aFpNkFiYQ zVv@j8#T9e*#F*(azATDD*PN~~i|evE%LQ#1aS4Sed%Cx~Y(1AF-)PsFk&fZxCxOlC zuM~V6ltU%CrPRX%J=c7_QoJZb7G75lc<+{me|(Z^(C=|NA_hO`TIhzGivinSo-kbH zzPy1(cy*|}Za`v%HDUr_;uhge6_oeaSQE>) zcvM)Md6T``}na|K*i7*fmtm+RMWlO2t_;?d!kyJ!6J zEErXpj8DMEmXt2tXgqJTZIvtP>7wUheYq@ZzW;NBquzHfwOPn7J3QrGB%y-veeJ%_ z@O?CLjHSkDC#@Jl9z0^4AMPfUDfWIS)G0Jz44_U8--73?6)W6)%5@Jsp=)_H>5@_$ zjD<}pPI#p*ztF;=QOaH1e>uN>XsG{-ZSwAyij~JByfeOz<0SGcSuxcWb8fI8)1*Cy zl2>l9SzU{80`uOZn%Ot_Q+cJHT3eDj&K}v5)MdSI!mkQ+4=ESa!*5j`3FK$zq%Gfq z^+4xk^5<&Ji{h!8m1He6`^&$H+x}q*gX~1QsIZZU_(RKCIb|W0Q0yR{2NW0O%s0m0 zFNY;=UU;&7W)WX}zpM3l|#A#jjwWBtWD+325WVe zSLlkqD)k6_Y<0bKF9qQ%?A-6TrL|?RA_D1EXq!nMW3f{n|5jcj7)r)$JenanBjv$I zb2~IW$e{W0#lzBEmsD~0kfK(`L*7`}Q4wc)QweRwJT&z6W=iHPl0mFyUPn)x@4?6I zawFs5gZp$lkC~mPGS5(*gBC8n@7EQkxowcMYaGlV+MmnIveH=9&T?JrAQgZ*k4eEo zrOTSwFF-$qVS*2*hDDu|_rjq^mOO4(qAWFQnkD|7O=rqHMkZ4^yGoxr9f+yuM4-ig z&fn*E!u~iK0~4b0!cUUnvBWEkMJIOE*y`Vj{&f<1I8NTz&*Z;n^~ZmCpU1+1-u#r# z`G@cQxa!{v{-}}uouxm`=3mqJ*EIg`pa#J^NVVrj6ah`hZ`4Bn7w_xZUWM}0c6T2m z5pUs`5dX*j@r@}QBG`wj8#qvc1zD6KPSeC6F%8fa2;Tuq^re;m#ic|rc-2{OVXMOb z7cP{LM%3B6eQ%|8&dXakD1X&s(la!T4j(UiP4?Q&jJMW#S`IkL6`VEA6x!#8@73Dumi>>ORaeh72sz^WBN4?c9q>OwibU;I@2nVyQuiiwr5ZoJn?R7O zb9-y&w#T8{PM?&WbH~RQ8}canuhOV60y6H3jfi!!5N(zDG%_U`zT8qK$Qqx)H}~57X3JnZcsy^GGgY=3^Uxkd5e)v@(-sujVW`%+!55UGn?NZ ziLJc9-+wB?>#4>H+mQ-w0N&BAvl!LEWu2;sMEUnlYMJ6sj=tAyw`F?lm#NXl96qG- zB2$0Vd)Gi@zdW~WVQbp2>gd+jj)GNqPvZSYIydz(A(t)sLjrQW6#TKXB@U=dZ;p#9 zyvgIAyO&ealmGJ0Fhe*YBM$VTPInOYpSb2uay%wl;We4%X~^6t-u(Lgj_l3ufePkb zDJPnnBQ6V-Lxj&Z%HBJ{Qjh4x?x2#m&&aQoYt9Up+}9kPrY~R5ve1Lm!HikNn?D}e z9C?@1p35e(<$bsDJvK#wKjOiiU3W}~I+xxq2;#pYuD1%NHYMzn*TV$9ov*ifGAQQm z98S>{zQ69bL6>vOCtzxMZ;EatvVx`XI>B(iG!a6|PS%$L+d}a?YXbSbzblwtDbMWz>2hIBsm%+?{p)wuH8@C>Ed(npkLk8 zer0d%6*E$SEdzx;V9snp1775jDn0p)4HCB=BfaaBm<%mZyhCj)eP&JZ$}2Bi1lomG z&W6niEr9yBV1wHYoqy_CBsYX@J;sV3iu%&9hh$KC-+Q#C7RVPv=E3lb&)mKwfkN6l z>Iewv_y%m--`ll)y*f?0E_N6`yMDi)NkBaeHIHEGI)mfj8?ZsbU&y`n)LJbo!8N%( zzFPB!#_T)OQ8M|l!9vGq%cWP9IM9d(%AX@E*UfehK7`p03qBgESdrLJZf;D;EQkzM zmLI=Q#{it=KR z5~UaPmKWjDLEZ2aHcz!$#Y09OxSY6A%Di@He+@Z8D!LX}(R`1bke#;Svp#%Hjqo+P3c&BQ5X~=ZtCc_PgU!~ev73Yoea;Z-yxCE9I5b;GFl+$O zlavw8i#cWUd%SE|*KwfwVm+*0JFV~5b^_0u+}jf|5f-{sIFYC1GNCBD5t_IJjdIaj zfoV8&%sIKB@@%`@VoD*+$x;71EN^@zF@cXXU>SG|@M}fZ&e)5*W^8p#1O-V*h&^U!7`I3l*i|z#6KV%E?mmgJ2eErl|?Yxws;_97)o12eQ|d9((61Kvy3t$BIeS2wvF=Kc- zdn=?%7B7hf7-l%`-wYG1_tYf+ z!iUdXP^fNB>@=@QjkyZ5XNs?RtNTlLw-VGBri<$eWRJcNGUb?j&!sHhN*sP~u>8UD z(Z(hq1Y6UKTNgsctJf*D-dibb9NrRW58u<|ezBZyZ~3l?9O0YHjqqil4`BKQGJ+S8 z_9&#W?HuaTY z3>`pQB1Y;{%w1+T73J&? zlljG6;(7x1yDnP~<@B?|E8`el;)Jh#F}r`I$*L{nzaLL`bKYVYNQ*E1<6DbiLdHEN zg7z29>a?BiHxRU1>klxj#PiAIc(4ZpIOe?dPgB0+ib|^W_YW|+%j5jiU1VtZrgKS^ zln-_t9`WC>^~5;$h+t76-;4slXrx*G22(iDxJx>700-IQM_LF0G_+p-r)S?nsR)-v z)1HS>yzu)Q=F-D$3LmCHUL%to>^Mc3;k=jd{~P<8o6>NS17Jq>kIOm$niKqir4VS; z1VUBYsji!Ka%|m-(z#1odr9iS4RGy)|K?gW3feu~Gmsx1x9TaRu7(#naO*IU--=D| z6N{1oGZD@DPc!kI0S;d;D3u!?ch_pQ+8$LkUd;9^GapjdUg`->IKil;MC)?fkdYcY zKyf?D964@%`Yw(-)9>!SlhtTl)VgA^6xnDXU|;@FyF!=s7KMSE7rN4DE9dGO zn6nqSYS`wB1LaSav5@)a`R=4B!#kS~x&wG5N^vw%d%LAgQO)G7ps8eO0MZ9-(7`(E zG8gS@cMN0CbUmhf*Q+&Vh7R@vi;>s;&M#n>^nH99fZe|IRb_^I7wyf8|NJ;ZnS>uK zaoL9T2#3ekrDsl;KOt_=+{i5X31Ya%Aa+4JQ&WRzb(TaVWeXH1=PB=&GUD-TuYxQ_ z4J`eCWHP@@jF(Ay`KBB;*8Jz@tsW7IudRF<8<(Qct)!)dr&4&15BXlgCud{Vrb6@_ zE11+`r%Y&AuYkzfMMC_KYYp7Ixku7>SD2E}7z;%Cb6SWxuJxIIoG({Zerf?eJ~2k2 z4!pL*9}d4;sC2u|FTT6W1WcXf?~(9ViuRgGlR?TFFqEyd&qr31xU*D5SidT8X?sk{ zgGcsDE}>EBugSu1L~3Y$e;wPAtXL|!$qn|2>DIW&n^npjsYMUZ*wc{SEfkimrqxQ z-=b^LrADZhp7R+wQr!{TfuY%|1yd#Qm4tKi&E)99bWB-aDIBI$ zgs|Q6A7STz;`$)?PYik;lr$x47BBiYghb{q%rr@_cob;tsZarQ(s=z(pfR+Gl=MD# z4$_KxE2byw7V9}Fp$$-m?4K_P05HQ35g}lN%Z)!~@<<7)q;?2$I73(r#eu^1^9^tQ zCMwE6epYsap9q-H3-9wNF_6#WF|RCaFv)j^Ub*c|sa{awMkaHlfT|TZ|0^?})%FBm-gVt;vokm%du4x6T#RI>V)8+HTQmQ@9}$RR*K=Jb?Lo(5GS5)iVc_jUDP? zv}%g=ue+bd|Dl2vr$vJ5-kRUBTVQOwSQpYF$kqIy>B+?)biA!x`r!72~GWo4(!)cjr= z95q(nja}jgUQ?mCP>!6()U=6ZJ4%!ZTMr&s3sA4HtWcRbVT9zX)w09oyfT&BnJw8Q zNw3@*uagXx)N_5ew?m$yM~DqMigSah-KN;R@jG$XeyqS1$8GSycjiuDcV^yl=3CG$ zKI27tel?8&f2JdNxhHIFHO#XGOSw4n&CQKxziMCPYmk{(lIEBKPOI<3aDUEi&`s=2 zh|}$7AyB`i?}v-l30MXgg!+e7HUiY~7{_xYY5DTrwAY_{Jnqgx9Y|EOD(El;Vsf*y zHv)g%S0(Kfs2+EhH$Xw8l=qw_>ozLsY&wQN=w0!>wUXY50xjYlc#LE?N#^bds3RMbR65-Fmd-m5FdKUr< zX(4ldFYbdau+Tq$yA-fNn@PIDbO>LCzI(a97a{LF5DG-6j?XZ_Q5DtY@0sA8(NxK_ z|Br&VPXIaxdOLw+IKX_`W$HNkd9LumlHDtQqsr(=>-r=dsCIIb(C;RRE@+b2C!rwl^P!9!eK9AQa{@X1{fdi>$Rt&HqeBG{c-uuLb3+-jPx&o?((QSCP zH1YJ;xZiJvGsqx;GL)r#NQZ^+T_WW$b8kTS;?eel{JtXfYnmqEO~5e~E`C>T27ViL zCGxqeQKOVJ%HfYy%L1#Gw%_icghDE2;n8N^M%jFwN*Wock+ymzu4&rw`nG@ysT{2A ze#}WOKqmZ*Lsk|yTyyEIW_kwB?LSLz&`hkZ~lcq3zZ0hUR9>$_NymIk*DGpIz0 zt%58Dq>dW$x}7`DTXActZ3^=Idg)Ubq_{*dHO!T}rI?Tq(%hs8DlEt%oCpk7k~6aB zw+!Si7kFJqmt0C3gzwd~Ob2=ygfG?3_xKKU@9aaPRGLYu{VxMKjoCs<4`&}3?i<5_ z>gMTMHa?<(Wlo^f0{hAQ-v8!q=nX4?M=X&R-UkGlQ*ZM8?ILD)rt5k2?;UAm|1}lD z1DKFa4vQj?W)=Qp3XBO!i`4m&Yzwq;wbz6krh;eRy_!#h7VH2`$#kItPq?=uXS>^w zUo_rXUyxSRPOAJKx*4$TI4-@cGi-47=;5LEAfQzcY)i`#XnLODht}lG>O+*52TA>i z#7Df6z8_Uo2klOin?YlV*Y~y%ME-XD%si5m! zSWfU;`)lz!)=*YztcVHWGMZxkZD}E3fdn<)KKEBZsSsD1jDiJXQzDd!(ExQ-zOH@W z^vsgyUGcYh%a>zcv{kX7BQ`G6AH=MUBFG)y`Ka^j`UE^jaxL_;!&U5Wi%`32Y*2?<=J<-omKaL`NAg1h8wDMR+burhAHu9%O1$s?MR z7^bF=!FCqR>y1}8c5N9kU3?3sT$DhB@0KJ8~xBXkNB|$Ea@t0)E2fP1q zHL$vBQm#AzeQ)0oL_>T)L52AjYXYJ4vNL)*ZFrQD-Z1U1qr zW!js6rrT&0fcjdSb!c>}i2s{Yl2|0vW6M#~TCcGcn%{Ecn9ktYVomyTP zXH*ug(mBb=ujg0WS*V_|p9W$cO^$lOH*FGyx-P38Xc#y6>Ww4PuTxN~OS<$jB@DoGd8UKm*7GA5@cER%Tu@h`O%(jV9>U z#~ZU`(DaZ(*G35=?>O-oJU<*sEFC#JI}Qo$kp(?RCSyH~!#E*A8NF2i*<=-vOV3c2 zV{~uWX4DF&PppdR9S8VDmo0zS2vHu^4%e?tT(A{jnJm?;ec=QUINZ=CntBw}Ws zPv98OT1auY;3~@b@Wq(>3ki3LR}7I*2ve@8Pk>#`#kn?gYwl%dAPEIFM4z2P5qQC= zP^pv5AW4Zn6|IjV#CwvV9kdoKiKgY(tVy#&NLeJ~xt`YT(Vr$;B zwyzng(fO*dz08jkEr|l8!}oNnggFtun$rYEd?43W6Y>fH;kmqQO0(2URfAiPc~mcc zN7S_+yz+Y=KHB5i;@bXv{w{*g4&*A zG!M&r8HL(gxvOrRXgH~Yg*=*@?uX{)S7?1hN9Na#I&Vq@Mg?V;4az<^iR1eOWWV4( zIF9MaM1X-_S0C*JfqY4+1vd~Ku=@w1--EG(@Y3ROpkv&=InaWARAD)9#rL46hg)sd z=7iDYdiWGSDy|M>Hge@l=+@`1_oHGr^-Pzn0YD$59I?P{OtP*h9Z%~bIY8MOnds0k zWb)d1-p38#g{aooii<&(>V)?*DDIrl0^#x`4S~D0hd;{nGuaYBzJ5C2I@;W)GVrJ( zCY7*>Im}-=)nB-M%-#D0aAe;+k;QFa1d+i^Pe+*3C*XyhUEx;{$e#;1B?r8~f{-iI z@OXHASD!mb8GZv2NAGHmpj%#NwvlFXJ(-0=;+j*5pOZMgM zP0)0cpT2K&>N{Q>C|c%Tdc_u%mQtRx`{;K+IAjKCffWQu$8Q;TiRErYS*Otk)pIzPSp*YB-c<#U~bKJ1kr3t;qoE^QZ6 zho}>ufkLj4gysP@&Y3}0852s!@tbmF%u8+`PN_Oli z_nu0@wmi*z^*LDI$B5`A-jh6C0)$e`lWO{{0+{lASGB9J(|xgvEs-G={Vl+%#a12= zr&MXy-yU_+sC{h;HHY=iO|_d9Ei| zvu&+`7wsTgq{YSM!T~~j4c41Yo7!60Xv}hpK9Q!ps(9LrC?JCV3rSyALi! zWxVifdxA{n)mG9C0;&Gx{QUUhIb`xya$BL@7shASgD(@{{XNXObzPJos|`8-=;vI> zf+R-vBI+6@#GB{TR=P3@so(aT!d4X_<=*iGcmu6tV;x}Sr3D-om*+3tThu^TXwUh0 zagHBe3DO$Wo1l6nA7t`fgZ42y@VYM|guF?ZKtFn4l6e{6P4Z49x=k;gY{D__i)1)gbx{nxffM=McWhusDO# zHcox8BJlgRh<7)LGB;D4N|}7Hoh`{{ zn{c5RT<#V_zl-#kI)wt7D9|c2`LdK4fwgXh`X3oF2#>2I+#s3TsvJGX5eCE>++|+V z_vV)8H#B0Ai2wDZfZWzxAV#eMdXj0P)bRVM&^RUGh#~9Au~aA3x2fFGk55oq+Kh4= zv#b}yh32yRj{1TqS|Jv+4A?$wGQab@c+kOB`i~(e{!@V^T+_|7wC82GMNg@hh9Pyu zv>9op@w7-?I4IK|_==_B0S*o{mxuUFE?6x?X^`{HV-7ouF%3H{euYAEkNHGStcFLG zn!?}3ET;!4qG&P9#CT=T9?f8b6oef+r3o-8O(b7Ej>%y;>AK59t3;u%GPKpyM9Y6@ zUz&jDH?iPVpGHWb6l%Fn`CymM*PFY707&1ac!4@f_*WgJ@)j5Zq81vLfJFE*`txJ?1cYTT)$8Iy zE7?<4nSsya{^Hx&L0+3|Xb4dPz$r;A^%?^qCD-@;UOpy7KdK9U9@KeHe${#xE)m^C zp#r@;@6D2jghnP377yHLYz^CQ-j;lI&GfDkVcH#$DZ>61VCRBwGHz9+Z3y7udaPTIb~d`LFt-L>;)nbTX=5Q0Ke9OH-F@S1Klrp z*G_;7b%>IA0Q&UDDY66tJoG%)Ij>!fjC}-FhNa|nzNbLiU~p)c>wfq~^3@=B@hGt^ z(QTV&9O9w~sc9C&Q^8=?`QJ$E-~;!##O{M71?=cQ#AwBa!qX6MWU{-xE1LAAA_g_Y zQ=Vcuebew_Un8{k<8Y2p%d;zKQM`vc^Z-1|Xg>>-B?ZR3T~A8`AA#&SSG)H9574(# zibo>a%8Oll!F;^=>#T>Fsv$le*;^=HVBNo$=_%`L5laZI_Ow&HaNVJp7&YVtKlfW&wSnA$;ohK3k42*|UaPC-h>BSD3__Ab<20aBRa848sH3FDI|AAY)a^)4m z_*Cgt=z^y7S`Yz15*0AT89*Mxy9KA19`;6hCz2|m`51NXvz*sawH&--t4YhNZyh$z z0?off`nMBxfl2q1)iDba7+go26%-2zI8V;Q7KJ>PzY(l5@kWYJ^-hz(`tD6(0m8Of zz>U2J$hgzG$3BBF9(#xC)+czQ@9h;RjUw89UtwV2z`1~xCRx$%)KA9S>9%7Lp=+wq zOMITj-|)?Z-)xBwi&BURU-7ID9SpKoa#@ki;G=7uo4f}Q_FXo#;~5e$`E^(5st>mK z!q99kNWV!HirId)(tvTQ_yqV+R*8uM&E@o_wH+ov;NEpgVi;WCux*a=SNxa)X;-UB zj6UO;1&yX&g>l-0;kbo@Xn>uaG|yw((9xbcMdp;Z4KS{cS&r|ou)xhVLMAx?;AcLG zSBeF|V?NfN!4wSIuWEr0G!?_aCY6v4>miO(u5ADd(`qhO9iA>HkXm3ZERRC=l%BB% zF`o`3^X|D8mNPd{o!ZLn8pm)DSKWv9J2J<0cTf|Sml^-8>A3^I_L>Bzt{U5%jnVf{ zVin5Eu2EbCD2wz1OHXcc$pOFs=-sbr0HZ3>j#?)LDl!$`w@ev4m*9qtzD%5tjnFxJ z0{AmrA4#Sd`h#b9gKo8~<<4cXfX8wfIUF*hOVI;#t+hO35H%)Veyh4@+WL(G7k7f7 znCs_nA9w7_8hzIlp5UT4;97yZebB4nlTk*g`15%b0b(xMBq}bG2He#y?$JuUAY6q+ zt%4dYR2kK!JJx&FmG9)Z-GNn@)qq}ar4#Pca^o9VEa-iP4YAM)Jk9>x;qz6_J;C<# z%Q^^AXfEgFGw9vG^I#3`61jkJx?Hcc24U1!ecF(B2mHJv!%zgU7>O5!M+^11m!T_Q z?+QFTv4vRNTWU1+E9e@m8LmVO-Qq)wRf;udRDL$GkT*9eK}!7u6tYAX)0;E5P)XL( z3dc}_A!U98ybdv!*YH^qSf(C6=<3ReeGiAo@yW@JV_u=X@kx2clQVND8yvM2 z>-&n~@nbqLAkW@+OioDW7U0KsFt4tj)VWWc2nJEl zSEQ1mOFMN3*z-QV4q-_R)GHQ0n_ADDr82j=MHmTbMUCn%P)eC#Jc`~_Z0y5VIheN$ z6Yw!2rrev^l4~3@TYtUgS&P8|7ks}st`Lhg-up;=JKy23{`KP=M6W%%GRrtL&udbz z2_NRq@!l;PEF7Q~k9_C#y|H_BNLkzIrqWd6V?1cP`|PKqR@&9tgz)$l|= zG=-|wP!`*T3VE2yDdp<0EMY>XKZ^7Ze}Q}s#}}*7Xb5>!;67#Txi#EhSi6KtDA4azz`_ zpi`U6V43Sb>^f+GDkGb+Ru>0~!Cq*f$_z*4B($|Ru*08Pe|lMYfdTrI6LChl*xYH( zh6e4e{=jaj9kcDCKu$Z~<6H-Bb1u?W0v&Dpc89ww0ENJMxtoP_Rh9W`qtX!HL~g8n zLrf4_Dna$_2NUAJ>{8YM`ewwAku6|@Rwh@B_TU|@25&z1~F%eMv`W$g)koCD-l zIV}joHGnj0!Pm{ZY(R4^OpNM|JDnfkB-|{4%RGAUiUOc9BOn^&8SvxIBBZ=Opg5{u z|I`A+m2ZNPb#;{nO{uk^iGdDkf-N|2K7{SZMkHQPD)3?w zAZ>gCPCZ}jxd29#ZAxU%0LOXrxh#?&58562=JQfp-PuJr>TRYX*uzx`VlXN@&QH-F znM|aiq#Xs^^>$%gDLp_kA46J^Jg_hcHeJ6f9JR*uvDXvlVMPt$@6k{w4T9(emW2)% zTNs8rCrb@yoB9B$wtKMr&w&m2wTssTD* z#jjk)<43;?DXV}Y+COh|4p0uo&q=T7Pa?fz6%yFf`Qk{?g+$UZ(r@fCgX}S8pr#oV zrJAZ8W`It1@xGd2b^&H%FHh_QGtcLLjV@VEx@jt)n?^_)nEV`A7#D~5m>1w>MN$E3aHK?szxB)kgeR=zIc9dj-#eIb#Qm zSu)I0(~S{sQ*7rQ5{qQ${8%CK2wjK`w1ktuC@g^f;#jKtzewvr?~S_{Oj!eG7zx^H zuz<&2AXr4q;X+~T_vBQ8&twhhe+EM1Kt3wvkL+-YEa%Olz{6WQ(3*P;5>0&P%@U1AeoNmI$heDx)WWkX@OQgl!?kBN{apa&f zwOTVDrpks3%`Wh-V*0Su|9-97(qH;fSQgN1sW@USt|TH6hg6q8J^?gHE8;Q$!bUue zP8&4CnP6cHQj4F*4qjN$o& zAb~x(ySYB|@B&PtX_8;-%mmtsG}lc{6_2gxN7EX1a1DHRUZBQS2iBw#Uv*0qScir$ zEqb%iavZ>ZdzKtypo))v+w&k2SpTh$ws)_B&%O^mmObd7dt4k1RY5@wq?L~Ou|j%) zk7`%ts?_FFWOV>g)T#M+Y#$f85oc}^0PaTXXn5f@xa_qG|9ffR@GowviG-y41XMEQ zP%DV-eo|t9H${H+z#KvM9qz7{UFKW&SQ(+U9rvPsvFT--u2D2h?%32QHU#zXSc_`X zOoVZcdstPONeX$i1j zdtq+=i#8PuR%%v*mQOW(Jz+3(9lM|cG1}&;U7aN8l$^3=j5YC)PIzizoaXt*C!y_D zF~e4KVKe#^5sjq@(aLQLVdJlcxsOZ+!rULtXx(P0i&7Z2nDD`4G4;xpsAYu6tc#O;YRhR8%QDu4%z{I2Soqe7-5GDKg-?zT`DByn&rTH6#pPerIzhJ_Yt}(4 z3)FAEcw}Nb&zyFa-_L-JInKPy&Ntjwc9P4(u9IG(RaDddbY2*A&`!VN)&`K&$#+vp z4P*;alr0-w*TK@0-4k}t27Kku<2Qh;CI+yMFF>(k^D=oS8Az|J8^f*e&`me*>jQ$} zpqbSzLIu=Bbk%U~R8X-v<%JHz3mg_bN`@pmE6|08Moa)A4Xof@l3#8+49H;dzOUf$ zjTgrX@^&A8v!e&N(8U5`riXbF<_M|WnCf0YYNZr#f?YP>_d?#2g3gXgE{~b@J22ir zNg=&1aBpe+3R}+aQfBQs1If%y4;=UI$oOvrpUuA_3m(c}?~S`_0-b=23!g1Cw@ zX60fK@3*ggRXHYdaOx=az@8k^ufNJ-P^g3O^1}%w*b%-QLFIAx=A%lqgCn-!Do2?K zYOC);OJr9PVJyY6W)0Yxdc;@8otJ?Vq<+u5HS>Jz(_^rg9haXl3ti#xxe8mMH#t*Y z4arggpV!?3%Yi`l(%BybtOy&?9l$!;UZUbf_)6Csvj1!X$b;8Rx8Nl^2jJ*j>Z#Wt zCn9_GLn#oCj;Hy?(F8A%$>*JfAKd{rl@}z;IoV15NE`h8K)8SqtrG@X9w6iw0q_Et zO%6)HY_cpm45fmJkF=rD2nL^5mp6urz-NzxJ}p``tn@=I;H(55UlyUxXXq1fb8xN* z?5_!6oe<2W0-qKmbHxw9XZl>FFj|TocQRG~GrXb)DgvP&T-AsWc(s|E8qJS^K+Pzl z=QuH(d}{&xB-=J)ARV13rmxS}()$DiV3#z5O+>k*%iijNCWuOE3j?}8j+{AM`l$P}CNlw80o@uM zG^}J{PIiKvwDaDZa8YpY@4atY!h!DMQ;a%#L*vqqEjtt^ZN5_K>s2vh#F8kL>9w>K z4)koRI2S1UU~gHFtv$ts0%e1*JsaHSt+^586_R0bxA8rM8yr!ESuqE$V8z}CLz+Yd*{?Gz=sDa zqLLunSuV6|&B{fsFGK7b!HFeneQX^q&WUa_;i;Tr0y3u6DW+4Nf!TBk_ca z$KMpQkl`t zPGgvm_80kSKr_cX#SHJnuJpJaP`MXzP3wrH-6 z?-F1W-=-1~NP!-uq-M*C6F}chKr}*mIn4#Xr}z3io7zJ=U(JEe(%OKRy%jnuG55S+ zMFR?WnRtq65ip0jXJf!z>t>VPpUxu7Jw1T_A?NPpNw9^*0evqOJ&nuL-S#5TUe2-< zNssuEKHgQmJ80lY93k%7XCDy+m1?l?<(p_VSuD7rRX^9@?e~)mgWVOvwm=ZYIWS}k za#`2&Fn;Wp)oP4m2vi;Uco`Zw;77$vj$7`43vD0U$n+9sU)wftY|4t9S*}OmdtW;3 z1bfS^3$V;4OFJl<78H5^IXW8N>gFluL=QIOrg8_6S*#2ePA0E9HW2p#(m`!Oc_kPm z+x*|87oKAcuBzCco~^zO3`(Yc|DiI7Z<-*XJN5p0z&3#eHrN>0^c`q-AI5i;1H}^P z64l~tfT#mX(A|z1|%@^Q{A6_NL|B7qR?$VKEY8+5Fsg6 zZEe1Qm|+swlb8&G7()_U010gB!djW=p2^!vcCyjN6LlP9in8w)Upf19Jp6n?hE>^^b zq+b;i;lDJ#UD304w0v2Vq;c;OukD*AA1_fEZZ~DO=^pphv@2^~M@wOG&|G(Rg4%oD z<2xUk79kEdb##h-X<%2F8|jYhAMC9jT3}ya(ZDCryQ(_2xtAE({;uyR$YZi><(d1E zZB7-1Zasz`x!hjO!I@Wr>mw`a>eXYypl}hpOutk>mv2Y0@u;k}Q}!rLaeq{~`DMs+ zuZwR-nzts1Vdj{SlqERI!<$zeklCOI_4^-mnryeRw!CWS)A0@vOwydlcX|aQSpT@sk2^jAWh;@>fkJE*p0&Q` zX4uH+`?vWW#+mlN_Z+$B1()|ucdvpNHRfg5_jRa8_GT;vt;@xvevRY( zHxcEV@ISWm+PA&RHREA;rIw7b8X1$|>gt@Ah~8RRL0PyfTWq-kl#eni8D0(Pp~^=D zw+gm4%JAc9*tYJ_mqGh5d%Qk3>)5B{%}_i{9T%v?G`Zu4m+IB=c~{i2NL(qTB*C#= zZ+1#h2!j;xaB7dCcVe0i&M#Lw>g$06DkxjgC81MPCf&D+M6b)c+Eu+Nw=xu~1%+kz z>)fR~KF-E0ZVWI`UK!}eW%iP%n3K|WfB$7W#ve2@yQuiJI`U#qo8iezOQIQo3nwqq`Xm&GeR`#Z;=dO>bt)?A}}>FzTnhQ4QI)l5nKNK#cc zS@A2ASILf?MXlSW^Jcm{$CJ+D@Pohg=3s~R9%iO_nzDK+(=OR9R&K^QFPk>BUd9;& zi)-lS2ctCD(O5Jnu4_OdT4hrfyTtSxwp|aKtpSkWdHjKGb*ADCj4z83Ot25usnwi^) z=Fl@9h}L%8RVI68(j(_@1a<>fT4iXtwgs0YOkT}RZw$e1eZJUbQ|RLl#0*(jBy;1c zks@sCp8lo>Arr*3s*>~|H#KC4VoV}|F?&6z{+8X^fe-EWT2i6gbpj`(b{TB-0yVDt z#mE$r6-;nI&34SUKCf*`t-Z9GY%Uvf8Ap{Go?~f45nW8$}Ep-~;K6ht$kXo-Jk4j_)SCxLD;K5v@WQK2m!`)cj4vyn9jAAbW zKr1VG{@PL4T*V-?R++!xSIv(Zpok7P9X{ zcn<&~GN@O4EHgb|40F6+1e*V;P9Ao<=`f4!RmZLQJAqR?ZMMUH>oaz~&3Fro3Ij}| zx_ln@`LB*|kFl^Wyi(wD*AnXc%;b^h4tw5pc>QxofQ5y0!3<{i7Spq%M@4$q7U71Q zYAj*Z8Ie@7V=Q&(Lq*&5`e1Y9-futw^qlP5e)!{du$cuiej*NHU$;%0Cy%!FTEXrr znW(G@sttMktX2-t3vu)06QLecXB?G@pAPdECfsUhd1r(lbV1noU}PE!0jJ#Rm?n}6 zXTF;r)qLUx8@z*f+i+Q%H*CzWXI2!7L;F!%;qwbO*xR!=&o|*i*Ai}qkNLkiG-?Y8 zh`^(i6A%Xdje+~u$`j5QnY`vAYpT%F8dE(5HY5h(f1Ic^Bl0b@}S zArC76r?)3)X>ayVi#9jbvL+71d%|+(T%DqVj5OJau;0#`8Lvg_#x^HLGKn&NM+>k6 zGQ9jlz7y=?W!xGd#Ls-Y08p^M&9F$}(&RY#*E3+XQx2*pcqyd{ROolc_osLx7Wlq= z1FU54D7jftVzTf|zRkQtuml6ZWWTp|cm9C*W3WeyuX4})?bqyRRvD0u zR-q4eG5$}zSb5{42H$5q6+gEA2ebFN1!F>1%hq-|XdV-uj>J5*#)`We| z(E9X$?cgDQKDm{``RQNdWv4-VkAPcgUgz1Z)Y~obHi*0Q9&}271*=r0 zweku#uzWq*sJ86cTgw78=4%z*%8GhS;pb$<;kc9q@WrNCFJ^MG-(W$ er19fFWABrLGbb~ZdIK-;VeoYIb6Mw<&;$TNDI{9} literal 0 HcmV?d00001 diff --git a/contrib/plotting-visualization/images/plotly-bar-labels-2.png b/contrib/plotting-visualization/images/plotly-bar-labels-2.png new file mode 100644 index 0000000000000000000000000000000000000000..05fcda6fdd641321e4e36f938ece94313974ea8c GIT binary patch literal 27233 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 C9Sl+c literal 0 HcmV?d00001 diff --git a/contrib/plotting-visualization/images/plotly-bar-labels-3.png b/contrib/plotting-visualization/images/plotly-bar-labels-3.png new file mode 100644 index 0000000000000000000000000000000000000000..967b0655931950fb2b05fbdfa67d6564782324aa GIT binary patch literal 26751 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

-IMYrr! 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 literal 0 HcmV?d00001 diff --git a/contrib/plotting-visualization/images/plotly-bar-title.png b/contrib/plotting-visualization/images/plotly-bar-title.png new file mode 100644 index 0000000000000000000000000000000000000000..6e622abe5635d8a750a696e274b73be72f624574 GIT binary patch literal 23149 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 TC&2roSDjEjee|`m$<6-(MAr_N literal 0 HcmV?d00001 diff --git a/contrib/plotting-visualization/images/plotly-basic-bar-plot.png b/contrib/plotting-visualization/images/plotly-basic-bar-plot.png new file mode 100644 index 0000000000000000000000000000000000000000..7e1f300b7c61023b806e1bba8ec8c99fdd4ab36d GIT binary patch literal 21916 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 Ip1$_~0CdDzLjV8( literal 0 HcmV?d00001 diff --git a/contrib/plotting-visualization/images/plotly-horizontal-bar-plot.png b/contrib/plotting-visualization/images/plotly-horizontal-bar-plot.png new file mode 100644 index 0000000000000000000000000000000000000000..dde43a13f87e7c70ce43ba68e11ae543b2507b07 GIT binary patch literal 29742 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 literal 0 HcmV?d00001 diff --git a/contrib/plotting-visualization/images/plotly-rounded-bars.png b/contrib/plotting-visualization/images/plotly-rounded-bars.png new file mode 100644 index 0000000000000000000000000000000000000000..fa3b83b8eabd00459fc72adf235102b57418f094 GIT binary patch literal 27343 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 literal 0 HcmV?d00001 diff --git a/contrib/plotting-visualization/index.md b/contrib/plotting-visualization/index.md index 7e43d9b..33f3a17 100644 --- a/contrib/plotting-visualization/index.md +++ b/contrib/plotting-visualization/index.md @@ -8,3 +8,4 @@ - [Scatter Plots in Matplotlib](matplotlib-scatter-plot.md) - [Introduction to Seaborn and Installation](seaborn-intro.md) - [Getting started with Seaborn](seaborn-basics.md) +- [Bar Plots in Plotly](plotly-bar-plots.md) diff --git a/contrib/plotting-visualization/plotly-bar-plots.md b/contrib/plotting-visualization/plotly-bar-plots.md new file mode 100644 index 0000000..5f2159a --- /dev/null +++ b/contrib/plotting-visualization/plotly-bar-plots.md @@ -0,0 +1,348 @@ +# Bar Plots in Plotly + +A bar plot or a bar chart is a type of data visualisation that represents data in the form of rectangular bars, with lengths or heights proportional to the values and data which they represent. The bar plots can be plotted both vertically and horizontally. + +It is one of the most widely used type of data visualisation as it is easy to interpret and is pleasing to the eyes. + +Plotly is a very powerful library for creating modern visualizations and it provides a very easy and intuitive method to create highly customized bar plots. + +## Prerequisites + +Before creating bar plots in Plotly you must ensure that you have Python, Plotly and Pandas installed on your system. + +## Introduction + +There are various ways to create bar plots in `plotly`. One of the prominent and easiest one is using `plotly.express`. Plotly Express is the easy-to-use, high-level interface to Plotly, which operates on a variety of types of data and produces easy-to-style figures. On the other hand you can also use `plotly.graph_objects` to create various plots. + +Here, we'll be using `plotly.express` to create the bar plots. Also we'll be converting our datasets into pandas DataFrames which makes it extremely convenient to create plots. + +Also, note that when you execute the codes in a simple python file, the output plot will be shown in your **browser**, rather than a pop-up window like in matplotlib. If you do not want that, it is **recommended to create the plots in a notebook (like jupyter)**. For this, install an additional library `nbformat`. This way you can see the output on the notebook itself, and can also render its format to png, jpg, etc. + +## Creating a simple bar plot using `plotly.express.bar` + +With `plotly.express.bar`, each row of the DataFrame is represented as a rectangular mark. + +```Python +import plotly.express as px +import pandas as pd + +# Creating dataset +years = ['1998', '1999', '2000', '2001', '2002'] +num_of_cars_sold = [200, 300, 500, 700, 1000] + +# Converting dataset to pandas DataFrame +dataset = {"Years":years, "Number of Cars sold":num_of_cars_sold} +df = pd.DataFrame(dataset) + +# Creating bar plot +fig = px.bar(df, x='Years', y='Number of Cars sold') + +# Showing plot +fig.show() +``` +![Basic Bar Plot](images/plotly-basic-bar-plot.png) + +Here, we are first creating the dataset and converting it into Pandas DataFrames using dictionaries, with its keys being DataFrame columns. Next, we are plotting the bar chart by using `px.bar`. In the `x` and `y` parameters, we have to specify a column name in the DataFrame. + +**Note:** When you generate the image using above code, it will show you an **interactive plot**, if you want image, you can download it from their itself. + +## Customizing Bar Plots + +### Adding title to the graph + +Let us create an imaginary graph of number of cars sold in a various years. Simply pass the title of your graph as a parameter in `px.bar`. + +```Python +import plotly.express as px +import pandas as pd + +# Creating dataset +years = ['1998', '1999', '2000', '2001', '2002'] +num_of_cars_sold = [200, 300, 500, 700, 1000] + +# Converting dataset to pandas DataFrame +dataset = {"Years":years, "Number of Cars sold":num_of_cars_sold} +df = pd.DataFrame(dataset) + +# Creating bar plot +fig = px.bar(df, x='Years', y='Number of Cars sold', + title='Number of cars sold in various years') + +# Showing plot +fig.show() +``` +![Bar Plot Title](images/plotly-bar-title.png) + +### Adding bar colors and legends + +To add different colors to different bars, simply pass the column name of the x-axis or a custom column which groups different bars in `color` parameter. + +```Python +import plotly.express as px +import pandas as pd + +# Creating dataset +years = ['1998', '1999', '2000', '2001', '2002'] +num_of_cars_sold = [200, 300, 500, 700, 1000] + +# Converting dataset to pandas DataFrame +dataset = {"Years":years, "Number of Cars sold":num_of_cars_sold} +df = pd.DataFrame(dataset) + +# Creating bar plot +fig = px.bar(df, x='Years', y='Number of Cars sold', + title='Number of cars sold in various years', + color='Years') + +# Showing plot +fig.show() +``` +![Bar Colors Basic](images/plotly-bar-colors-basic.png) + +Now, let us consider our previous example of number of cars sold in various years and suppose that we want to add different colors to the bars from different centuries and respective legends for better interpretation. + +The easiest way to achieve this is to add a new column to the dataframe and then pass it to the `color` parameter. + +```Python +import plotly.express as px +import pandas as pd + +# Creating dataset +years = ['1998', '1999', '2000', '2001', '2002'] +num_of_cars_sold = [200, 300, 500, 700, 1000] +# Creating the relevant colors dataset +colors = ['1900s','1900s','2000s','2000s','2000s'] + +# Converting dataset to pandas DataFrame +dataset = {"Years":years, "Number of Cars sold":num_of_cars_sold, "Century":colors} +df = pd.DataFrame(dataset) + +# Creating bar plot +fig = px.bar(df, x='Years', y='Number of Cars sold', + title='Number of cars sold in various years', + color='Century') + +# Showing plot +fig.show() +``` +![Bar Colors](images/plotly-bar-colors.png) + +### Adding labels to bars + +We may want to add labels to bars representing their absolute (or truncated) values for instant and accurate reading. This can be achieved by setting `text_auto` parameter to `True`. If you want custom text then you can pass a column name to the `text` parameter. + +```Python +import plotly.express as px +import pandas as pd + +# Creating dataset +years = ['1998', '1999', '2000', '2001', '2002'] +num_of_cars_sold = [200, 300, 500, 700, 1000] +colors = ['1900s','1900s','2000s','2000s','2000s'] + +# Converting dataset to pandas DataFrame +dataset = {"Years":years, "Number of Cars sold":num_of_cars_sold, "Century":colors} +df = pd.DataFrame(dataset) + +# Creating bar plot +fig = px.bar(df, x='Years', y='Number of Cars sold', + title='Number of cars sold in various years', + color='Century', + text_auto=True) + +# Showing plot +fig.show() +``` +![Bar Labels-1](images/plotly-bar-labels-1.png) + +```Python +import plotly.express as px +import pandas as pd + +# Creating dataset +years = ['1998', '1999', '2000', '2001', '2002'] +num_of_cars_sold = [200, 300, 500, 700, 1000] +colors = ['1900s','1900s','2000s','2000s','2000s'] + +# Converting dataset to pandas DataFrame +dataset = {"Years":years, "Number of Cars sold":num_of_cars_sold, "Century":colors} +df = pd.DataFrame(dataset) + +# Creating bar plot +fig = px.bar(df, x='Years', y='Number of Cars sold', + title='Number of cars sold in various years', + color='Century', + text='Century') + +# Showing plot +fig.show() +``` +![Bar Labels-2](images/plotly-bar-labels-2.png) + +You can also change the features of text (or any other element of your plot) using `fig.update_traces`. + +Here, we are changing the position of text to position it outside the bars. + +```Python +import plotly.express as px +import pandas as pd + +# Creating dataset +years = ['1998', '1999', '2000', '2001', '2002'] +num_of_cars_sold = [200, 300, 500, 700, 1000] +colors = ['1900s','1900s','2000s','2000s','2000s'] + +# Converting dataset to pandas DataFrame +dataset = {"Years":years, "Number of Cars sold":num_of_cars_sold, "Century":colors} +df = pd.DataFrame(dataset) + +# Creating bar plot +fig = px.bar(df, x='Years', y='Number of Cars sold', + title='Number of cars sold in various years', + color='Century', + text_auto=True) + +# Updating bar text properties +fig.update_traces(textposition="outside", cliponaxis=False) + +# Showing plot +fig.show() +``` +![Bar Labels-3](images/plotly-bar-labels-3.png) + +### Rounded Bars + +You can create rounded by specifying the radius value to `barcornerradius` in `fig.update_layout`. + +```Python +import plotly.express as px +import pandas as pd + +# Creating dataset +years = ['1998', '1999', '2000', '2001', '2002'] +num_of_cars_sold = [200, 300, 500, 700, 1000] +colors = ['1900s','1900s','2000s','2000s','2000s'] + +# Converting dataset to pandas DataFrame +dataset = {"Years":years, "Number of Cars sold":num_of_cars_sold, "Century":colors} +df = pd.DataFrame(dataset) + +# Creating bar plot +fig = px.bar(df, x='Years', y='Number of Cars sold', + title='Number of cars sold in various years', + color='Century', + text_auto=True) + +# Updating bar text properties +fig.update_traces(textposition="outside", cliponaxis=False) + +# Updating figure layout +fig.update_layout({ +'plot_bgcolor': 'rgba(255, 255, 255, 1)', +'paper_bgcolor': 'rgba(255, 255, 255, 1)', +'barcornerradius': 15 +}) + +# Showing plot +fig.show() +``` + +![Rounded Bars](images/plotly-rounded-bars.png) + +## Horizontal Bar Plot + +To create a horizontal bar plot, you just have to interchange your `x` and `y` DataFrame columns. Plotly takes care of the rest! + +```Python +import plotly.express as px +import pandas as pd + +# Creating dataset +years = ['1998', '1999', '2000', '2001', '2002'] +num_of_cars_sold = [200, 300, 500, 700, 1000] +colors = ['1900s','1900s','2000s','2000s','2000s'] + +# Converting dataset to pandas DataFrame +dataset = {"Years":years, "Number of Cars sold":num_of_cars_sold, "Century":colors} +df = pd.DataFrame(dataset) + +# Creating bar plot +fig = px.bar(df, x='Number of Cars sold', y='Years', + title='Number of cars sold in various years', + color='Century', + text_auto=True) + +# Updating bar text properties +fig.update_traces(textposition="outside", cliponaxis=False) + +# Updating figure layout +fig.update_layout({ +'barcornerradius': 30 +}) + +# Showing plot +fig.show() +``` +![Horizontal Bar Plot](images/plotly-horizontal-bar-plot.png) + +## Plotting Long Format and Wide Format Data + +Long-form data has one row per observation, and one column per variable. This is suitable for storing and displaying multivariate data i.e. with dimension greater than 2. + +```Python +# Plotting long format data + +import plotly.express as px + +# Long format dataset +long_df = px.data.medals_long() + +# Creating Bar Plot +fig = px.bar(long_df, x="nation", y="count", color="medal", title="Long-Form Input") + +# Showing Plot +fig.show() +``` +![Long format bar plot](images/plotly-long-format-bar-plot.png) + +```Python +print(long_df) + +# Output + nation medal count +0 South Korea gold 24 +1 China gold 10 +2 Canada gold 9 +3 South Korea silver 13 +4 China silver 15 +5 Canada silver 12 +6 South Korea bronze 11 +7 China bronze 8 +8 Canada bronze 12 +``` + +Wide-form data has one row per value of one of the first variable, and one column per value of the second variable. This is suitable for storing and displaying 2-dimensional data. + +```Python +# Plotting wide format data +import plotly.express as px + +# Wide format dataset +wide_df = px.data.medals_wide() + +# Creating Bar Plot +fig = px.bar(wide_df, x="nation", y=["gold", "silver", "bronze"], title="Wide-Form Input") + +# Showing Plot +fig.show() +``` +![Wide format bar plot](images/plotly-wide-format-bar-plot.png) + +```Python +print(wide_df) + +# Output + nation gold silver bronze +0 South Korea 24 13 11 +1 China 10 15 8 +2 Canada 9 12 12 \ No newline at end of file