From 8c0ed468aafdb1d0ce8bb0782160aabad4a15186 Mon Sep 17 00:00:00 2001 From: Brandon Minnix Date: Wed, 11 Dec 2024 22:27:49 -0500 Subject: [PATCH 1/7] Making updates for the job form filters for tenants and platforms --- ...m_software_validation_report_run_jobs2.png | Bin 0 -> 217716 bytes docs/user/lifecycle_reporting.md | 2 +- .../jobs/lifecycle_reporting.py | 53 ++++++++++++++++-- 3 files changed, 49 insertions(+), 6 deletions(-) create mode 100644 docs/images/lcm_software_validation_report_run_jobs2.png diff --git a/docs/images/lcm_software_validation_report_run_jobs2.png b/docs/images/lcm_software_validation_report_run_jobs2.png new file mode 100644 index 0000000000000000000000000000000000000000..5bd3ef37cd9d13f1ecdf030c63c26d9af93fb32e GIT binary patch literal 217716 zcmcG#WmsHmwl#_c4Fm`h913>`g%s}Y?j#VPaQ6TqKyXWNm*5uM0)*i1Zo%E%?_&2k zefr+pyT9}2<9Ui&Rm<0W-#Nz|V^oN;q7*tRAu0?E47!Z8xGD?`G9e5Mq98IN@Xh{* zl*V#+dNV&uw>c4ijVrZ6zlA#qwr+G@Rc>3XUZ2*~2XvfB!nG1$Vg$js-F zhUfi+xZp=(M4sT7ozo7> z)PAtszn21|Qaeo?tNXP7R4yS$_Z1CBIGaKdzwd(U1<}5|eU~Wt3-gxZoi8n=jcY z(y4|c*3eHXM16$cbbP@ymv*FV53&w@+aV%Llqgg!nmQa7r2T4@FovJawr4ZeT5|vR zCpX6j{UOZd!36Z%%!#Lx9+^J{=j;beSa#B6PD}%#N}m%^9fbXO*s+b#gDE#44)4Xd z3IlZ(dfpQyfiwxiUUa;Tp_(zujfykx`D`4t@3z$&WYVo@8sZTnc5UgS`7xM5Yvwhq z?}+akv?TVJ^(NE3V7m zd>Traf8Ysv5I}#}I$lOe6Yj_SvLdEKXceP^JB@L8^lt_!!`vw4Xj9XYuBdAvMYB)j ztM|exQ4GPqC&yo6M2w@NB&GUH8;$kUPAOOd_ePARr0>yp_*IqB8;lRXgWhx=hcn&& zpk|MLBm9yA5zEE_egWy~cl*lZD^2s%2(OpjC!OiXu_Gex;`JiiR0~NgEMFr|-@-YI zK4fOyfA>uzTR^pJTz#zPRuAgqdCd)jQID1y4SerlOmjiMCZ13y~n2jr`3r{axj%x#vL>r@e>Q=Zv-j46y{h7gM zIj4d_T3BIR*~TCGf-b~t38T-$pxlG1PF(gA^G}LDhFgXp8{+0K#ICiM3!m_h;r+;Q z#Qof(U*?G%RsG>j@Y8ums{JxlgkBqc%3t;et~C3`bRUF-U%2-03xUP? zX#7ate>kr{kt3sIQM?oXjz^8X}GP;_WM)&#@q@7}*a* zs$s;!k)ZsTFli)5B#+>8a$nGq%1aF?7iG!`RFbGl6%4{JT{&u_^3F86!7LJ5*|<>7 zMkE_yrJRHjA}H-G@j*9C-WPUuwE_J1nbn4;t+bG=OSbmwWq8;P9Qycno|1m$Yx)%HS>PbEm>m|x1f)ZR5TT--4q68gH z>}yx-NX((O<_QUR1uE<$ajR^;g|OZZ>s9?#)K#-p!Bu)=q!adv3~|uTw|$wV?{wH1 zu}TayHdF@`X;cQ(E-_1ACwpi?^e(Cqgv7r&tktItuFfpe)p=d-P zp#~v3p%$m%2)(l$Z;)Vwp)_kgS+-H$m8B}U6x@*faqva5MzR#AoyDaUdo>MI!eYas zbY!m7MWt9T<-1KTNdfbOVNtWeUHGL5Vi%jaJpo)7b{9q$L^1(GrCT>B|68eAQI%G{ zLB5if-n0a_id(I1+@ZswB28Dd@o8eifX0CTK+3?CNqCoiS8x{-nVQh%ZX&m*$;JJ- zxF@ye-MQ^{^R)R6((cxF`KaAQtKBD}8G?>C18--H?T0emN`|z{D?V3Ho4ksA=)~l# z<_PCZwW?qIG5BM-XNGP@+Om3dJ6xrleSBt^XTE;mI=~?crM;tD+*;MlacrGCo+Yfk z&s5{bQ01*Wx`LQIZr;57yn;}oP6~A*Zqflqlbs@`d5U>rLQ-Awl}@6zxb{F*LDhBV zSL5E=fy#w<9!sYYaWxuWC*KxJ7Ta10Sf#sUxujhP5G6;H56Y)lrtH;<>($ys9+=HD zx)!7r8^jyLEt+~wEDai3x6Zbh5Wi3D=IO29b*LkrAmPDyf#HJjiX;raWU?>8Th#&@iC`>#qbz1PhTY0u|( zuEI_FdpGx2ejdA>Cftyn__klH4{fER{(}1qFAFyZUjzRdjuD;=A?bxF;^d2q7fp!6 z=z_SS$S7z!uN}k8J6<1KdU$6YW}S%*e<=*=4Al4{fLe!^5Xdc+iIs)52Rf9{m6Qb$ zM}rhNbOy+$VOTeniW(2Z)PNF`4LePHa@#7d4_U)evg7ix{F25Mnyc8WFWyk5JV z7Kr1H`6L;N8ABO9bP>_BG>m{ zt`St3J4+wrc8(1trE^RV?|%#Ib?w8tQTI@5!MGo_Q=6e{QQ>DgrY~S{=VNr3%9_=! zqOO|XoEg*++|qfkyz6!c%bNZFNp!s9%i=NNtFG|q{@mUOJYUtcm290-D zQ#*z5A-JW?w^lM^UpI3l4TVV z3MUGyf1aeZNXI@El)802iRvYfIkW!ArQH|S{m@>Wwv zX4Ysgzr0oZP_@Mc-o@Wo%v{1Ln_n8)NED}CwnJZWi&gx#x z%`JXu(wfY232jUlDD*1ZN1vHjKT>YBA#*a?@%dp?@l*$Ifn-bil5fT{*t_8I$Ht0+ z)Eg;T!sss$bnghAh%|*>1rjN-s9G*BPBO@*yR}xBh1{gW;##qyvJ#U3yM5*HhbQ`- z!lm(~e6l)4yJj!5)1*CflcCxSG(NYL?o6`b)U8w@kG4C}eu?2QDPQBK3HROuRk0MS z`Irm?U%|1%sU`c_2gh;TD8@mOZ@h~77tNlxy1#13%FoJ-8nHZb*35nn&ey5hxh&x= z9kzV)+S*`!(fYBzX`6J#u-AL=ZsXNUGW93RyS*00x}mjK@T9c@p1(aN{Nm${pNcsN|YY89HhrMYrxj%_Bs zcIsq&&}w>gyeX~`YJ6(j`#DXv6#H}1SMMzH;qd#|^W)BIGU4 zdf(LW;@2YyjJAlkCj-nV7-m%fhSytICG z#AIZEcQq47Q&U?fsGalM4f%QC3lw{49VZwVJnH8ctc)tvF>w4D3w3R0Z3TH=6FVE0 z_aE$xOow`j(9w{I9$I%c}qHt{P6Jj$(E;z)772|0iJowe!EO{I4DP zS)cFyU!KK39`s+|0#8~Hm7n#WQ4>U^*65G~0!eHkuA~mU1HUZ7 z+g{dC8U{ufMn+sj-5qv64QU3qbM}iAQ-!fuTky;eMlKw$qY8X$cH=ffllCRHH;h~* z6-11#69E zoPht;^*o;<3)cHTU-ZA+mEQtzHS3ZRBLAlw{pUWw#UuS+zxc!wWO<>7bF-G4O^!4^ zx7w%8G&jTXEHNYwpL_SSo2`r#C839jkH>9Dn{ir(>_)y17auymqy!3M!Ko=ia(5;Q zzwM0WhK=5R_sx-vc#CiJ(IIA+&{MIX^kA-rCgurgXZAeeX}040U!W?+%+@i}YK7{==Y@e+k4={-sg~m!^Vn zm8KG81E;Ewp*S|}?xdS6<>6|1d8n3|?^hR*B)3pW9yv{p@7ca$KtGdehuXlcJraQdm&`20Zp~V^;JCS8HEcUN@%V6; z(sbBZ-09=`AE!wX^{0_cU1M~Xa)R_^Z=s6`wS-3n&PnynATl4eW#6Y}0&ZJ10tWEoGtA4?usV~;2xh>6pJnf~`$mmAFOw>ol!6mHjdLz() zj1Jyhbe*>`i`Owjacxg?o$JjDMj`!RE&;b%ylmln-A=Zz+B$rmq9FGmNolDn5rFfz z>3{|c4jEndL}Z9--rB7BVu}Ner9N}ehB@DMfc+1*S{3WE`x-ij^$Z)w$7}nh$4M=t z8wr}bi`Pp0qjd5eMtm{+Vsck zl^|xc>eKXCF^zYZ;QP8*|U#ZIX04z#L@qYVvrL_*QO2J z(g^t7?T@uN`8aDkyM81XdiK(7NL7^-jAU|lZHLG}$^BOJod!(<6@{Meoiw7H9&fg| zwG2H>&r`oC3C`wWh2s7BL`^Q@cN^}LGbnJiplLtd;ItL$e6H~EY><1<_wkJE>~h{N zrEbZyKb(LgZ`A`Q(H&*tv_)(_>63RaZDsf_>D#xx z*aXIHpGxD21TZOSoW>Qn2_(#=lTPF1e&uYVI}NZ0G2eE)R(byZxR0;sBWcC~1f(4%|7-H&0)%-|QV_>Vu;k1Mj`LBlA0`ogdn-TlRUHS7}e4u|hQ0`(abJIJMvU^f;P#elR~h zw0~j#l5wo3kFng^9NWsZUOom5CzSs~kr9?88*;F4u7h_!a~*iu`^wJzO&SKWoPSyI#lv1&z@)Ko+A=H`(>+;VK0d z9#Ot_#k0wI$GEIvGnriUw`78e$~w{@OIeWj{Ykf3f`MzHl!i;;+KAXI&J?>Aj~`{0 z2w2GIpOI$?$TRKtuyZ@c{?HM&Ws3O2nQzYHI>ql<=bG}Y1iU`gP|sKWM-;nf=#xVZ zb2v+vBKs+$_{Xe&o^&zW%8Y6OiG+-Jk-4XOVH7#buM7k`59CX`mZ!(Nczn}gagofW zqdjqlaWMAZ)C*W30l+CI*A&Ny!Y}%t!jn1nP;gOwtU4@YHZbp{P5>j3I4jfR{z@?N zv0wp`(^(H?RCTUdt)(8=%lFSOKNlAjwAedKg!8Xi)gLx8Xby(IXWpWGNn&j412PZp3=QWS-U^m<+F zng(jJxP*_j>ASB41{@8~-VsrQM>aA%cj=v0LufaxQ99=cVFM6t4njsq|842_n*sqz zyQW8}-c}ZxsRLx{>ntEmr`~KN7+FW&5SXWqZU$z!EqOTA=_-~2({S$oxcybbaMA>7 zpAH+4;+1MgNmPe9HmRJqpm|3IZi}X0UXj@X1)Yea{Ut}@a~gNvpBZJU|MS@_5LeS) z;=nP*rk0&jDw1h_I+^Hd(JjN>MHXVL5Z&VdxKbb|0e)~4^OJI*aFY$M^-SU#p z(>)IRAx}S#U+jqR?@r(jx*sKJhw2jYqErL7zb|sPB zy|7%XD*@bG{hrbpe&IdMcy5%v-NLEUoc)=QGk(+-^r-pkHE;Y}-G7%>?e$2$LpC6T`W$Ohx=o2eM|v)AT$Cb3;h!FL$|Hqk zq4w?Q+=+~3^&su6mN2WbhP+wJ;?l3#{#r)flf(e%YU7=mtwkXRL+6Ksrv5!v21f}` zio#D08s8syL>*BOf9xhAe4rjYGpT7xr%RXCL}1N|GLzeeOyL zgnT}(+>Mv0L8>?@RWB^Ljtf+B27qhTP-`wk%uS`^El<{&wrrh&nwhJl0EJ@zA*`)> zT+!;t=t2G??qrT`ibY=1z@pnS3BN+t9_|5Uxx$brynx|KPN&55Sd%h1qhUAMBobo1tV%{A;OT5}e+xwD44ki=1O#Y~*!_=Rn-lfw ztnbrnlPwVsno&y0j`LuS% z2={yxm2t(vz|5@&FnDq8<8lZwWVcRS}794DNsBbff7+m#OM=Q<^ zJwQgfz$6TAeLQaJCiO}LfR|2+2;*0L{go5$d20?nj&i51p*Bw=uLI6A-={0zO(5Jd zyl_n}dw3Bo$AA1^ZMxo;RgcMgaf;Zng zD`qerMs-FhHI2Moa`w9ABY6kEYEgyyKHV+n)^_w+J*|eZ+5**FtO_XivBZe8r>n&a zbI&!};OR%XP6GGxN2g0iSG_Cjes(hctUrp77_OOj{#1G)EFBjW-J~3>KaWKZ8FK>= z8-)gG6lQ^vB5SHD>iPeIj6PF?Mg@wmfr`F3;?i5 zOOtB&uIi+VC?z++uyLQ?rr>~k$=zi35t#V%c^%3()bZNCd3X9z-HAN8b^$sG$Uo*~ zf=6k#clWAt%%1d1@(T?1aRJ6DyL*W>|V<4;JjU{P4_F3c>rMCx4RmcI+L+mb@5?2=@%(@cAL;( zO#!IYrsaAytP*65g-!mrCG^A&kA%U*sApl)iL1rbET_|QxR9UWGxw5|e}*5Z1RB2i z>k9@zvXY-JGZ?%-8@A(h+5Hg6R)K@yX~^1oUrE4ao#^dWvxHo%0nOyvA(?nXw3aua zIm~}1U$$8s8NoHz^GGvpR}}ph0O*OPxa8L1Y;`&pWPl43$MVFu9fC5&{{m0B8pxRx z%srL+J}^$C7F}|lUVU1|Y#v_CUpBf;E3VMEB5YLhrag}s7i#8KJl8(DnzSR^`5M#O+U^s z3pi}KJ2Y!LsC8;$V7Ul-0y29~4}|FL!^v%BKMNX3Wn>G`^&PdD%%W?LZI!F7oow7<$7w{-d8~B^=e&lvN<4 zK3F7T%%2JJqhooG1+0qLZWHYjhz}L~W_zV|hLadM+6Gwxi9r@|;(DZ*>^#HicE6?ky*; zw%-#K-I;k1nV9XJ@OdTBU*$F&HtuD2y9jeMtrLfB;3=i^uVkA2mOYM6($BdD&M1Apg6#-4Zj2txn>yWctUt)`wDt zAV1%O=f+Kv=lBX&XZoci1lxpWD>)VEf~#T?NKH0YYru#oRtH}>Nc`YA>3HqG!6;C-FN1B_89?BeNgpRM zrMjGGJv&lsR%k^m9Whu+4aP)^2&~XK%DM|VD5e5KyZA<@0uXN%Nxb$eT=U$*^(Y%kKp`|?D z87ofhxkSE?$Qx`7IL+z4EmP0#dA>bDQMKUMKRbJyKJm;^>yuCCt_kRMTB6IRn>cy| zZ!XR+zWl?D;sUaI*i}=Qgx_1zfbd*uVH1Ma(hBO<-fk`oy&e@V)Wo6B*8KKM=Cgn7 zltsANGiHF`)1+1X?qRg zV+@(Ge9$ywEml{;hTW(zdmvTTv&15V5?|yvPTqMBwuk;5CV_?_?1F%)x5;+^OufiE z$;sscPm+Y0w;N1AV^pxNJqNIHg8;=aoh_5R$kJ`eJmjKPXqI{eBxoAGH6E8%NB3?s z&n8c`D%p+wuT?!d%%cA4!H!zKmh^4@0k3q_%1j=z_+otp^=ijziG3Y~CoJiaf{XQr zC90N8BCWMphAX|U4tsU(Ja+9(&wp}$^O`77vDKQb)ZCKE2|#2=$|P(Z)iJx##>`F=Wp32LI zd8kvlC^#0G-s?bi-Z8ujB&^QM?aWX8h$<0_Jc;G?g&_sCxh$49O7Iq1(6?~M5WE@t|!0p>dVB+*|X7~Nv|HTkEg7> ze&p;^jl9YR>f$H4K|u{c*Fof=WV1hv@{R-NLH3i3w1J`(R%R_72<&R8NE=9(Hpv!w z6%;NH-nIscst`Ffnk`kjquZ)sK`SuhP#tib5LiSE;%%)-V}tu8fQGx1x~nkhP6iqe z?fmIvt1^o;j?hMXfGVruVcoD-Ujgz$4{uo9yzb{1QUOn@cItkS96H>ZnP+4+1cXLk zV>=xOm2blLR6Wxi)NRQy(cowU%+FK)Jsr90ua0y@3Kewt^jjhIfe74(f;g8qKyaBP zBL3oZfzq{!k-*G2nfu$(Q0^0@oJ5Us;zNGAXJ35(BQ27b{C7tH;w1z95QA6fqUPbL z?P6mM58mry9@}J+d!Q$p5v0+)&3`O&6ThjZ4waS=ipeSxX&u3%WkAzf$>Y(1AAV)yZxEZoojzUoHau7UNb^ z9h$jJ8k&yHk$dkB4D*QiXJYrr6#CI&t2h;eXZk|n(A}D8gkyBTeX&*C77zly9dtj_ zs?XqQVTU=Mp?sO9Vy}jWq9TV>)L(Y!Jn>rXsOeUG;9Q{LY>030$NTmH0Av~iWSu3B z49#W4NIl_Q#MZ6bwr*%*cEws4YYQ7Ti^b1G-^ZI$dyp&hWX@3#h_$mT&+Lg*ImK8M z{(>_%MAc}LThwN}nLcg?NEBAxOV&7ro~`AUWQhNs*zyaB5f%$T#0WU5pKb}E_}%uK z<8j(K?bz;{V(TD7nOh185i=15Sh=}kWS=*WxXTgyTC-P$mNxIv^vRwze;MFZui6;y$P1%)4)6K<0nTOee0P#jNkvZ*Lr(&ty#B>fRJ|W%tjXsN*rAOG;e!{MO66$T&#nU5L@_wjnuic^-Yntm;Yw{TN{J% zkOU-{vz^-v8`8V7ebqF<2g=V$wVF-(8FxDg$Tt?9XceyNRYszI0JR5U=qs4;#nZE9 zr(DtOiOrTYQSGCeh|bX*>Pak&K!udMF@MOS!!Fb32t*{Drfv*I(Wm;%d%K-es@z*M z%)G%ip^cTSV<-d7>y6~Zxp&cqAw$Qr<6&>i6HrDUx&F?k!Y;dhbWfSRO6PNC+V<{lr zozyghp%O}Tr=_v>>Tq8HV1zhdo`${EsVc#FclBxR^=rZcr9E!jfesB(zSiaGJMRdC zl!w1*KcIUEgwJVlS-MR`^G&AJlo;_y4;LRx1i&4+EjXAhx=gzy(Cd9UwXxc~2Uspc z%^@3Td^7P^cD2JlE#7yCuln2ab(~vriLvuj9YZ~Uaq+O4>oSjzE0Q6@#wBMU$MGZa%rkDErZ2_C<}eksipT>~2WW=&$-lr9QCN#G?l*(w?% z3U1fth)|>P3pcaBs|7%bgwuDcsTPpbgt4Qsm8MM(4$FPKo-GPVs3f?63XH4~kF6;q zoTF1j@y*EqGKH`G&JQn$F)+c-K{SxWG6+F{LJo4G@tEn45z0%cM$aKST~w_EN>Kie z1mW8F^-2dA4~194aC8v!s-sWKX1Sy&5<|U|;Nv}+QhaaP-Gln@h@`@nG}IHaP}OxO zX^BJ3Wq?I5V``4!s|y|x-pcclqq~jC-U3Q{mLG`AVtqL@!;9EI$37wHLNZXMGUAo@ddkpnt<+er=@4ZNvQ(u5smS!+%T4pBPBmyEWFSocs*2T zkOjs2E0!Wqa@03}qulJuWm*7K=YGkbKLCnJ0#FS4ZHYgl>i8HwVnMd&L`G?q;b(sU zIR`k}bQ2Tz-7MrQWrPk>(x?YRZqI`p2PI!7r52(_9P0IrlFFuJI)x#l8*}8SRk1&~ zc1@`%T1qG@YhTFXy=GW<;8ic07b^R)ntVc(ym63#Rw_p~*6Qn-akt$*PA};bLvwZ$R(DcuL9c( zkC*e3G@sZJ;J0$pRMOVQ8p6JdZgmIX58@Eg-S(q0mW-_Wfcy0z6KbEC(cMm}j7fkP-=pXEbT`3z5= zIqxhnvxkf6a=Pna6kMD|iO;`Fa$BS*VD&CPhR{_llWNgW*+L_h;VoZ@!e6Oti~dcI z?t_rb0#+{aSK#%wX&mC2S_%w+@fS?-{ydXu+Hwl2n+?9z*b*`DMN2XozT}dHMkha% z%r-^wpGu<~sH-WMf^+ykIR0Qv_((mzzpp&BpP1v28>bnXXM#K^J8A7Qh>4!`_(sTb zq5v+H5)P#sD&8&C(_Pdb+G`MA*fu%jW8E@u7d_V&7U{0xbqP z@2hDJ&UexJEnGKgcToOhs?(4Kuj@W^*(nfydWOw$T{=bfyI!5G2$p!?tX7!Q=oV&5 zP3hZE1OSf-U3co0)LBil%so+A5(s{D4|57VjP^fHG>Jq>7j!>?6e7$zRHs)(c9>~69j%02b5Z>l!{KRGT z-3}YJB-IEO0Wl^kFaBU}uEy$kK3f#qRKR^ND``iIWzk= z(!8(%GFSmRf(-jfDHH3$e6K`{3V!-f5(VAZ_juB!3ev1L3a8H(#$w{TpHRP2)^v!< zODX#P+{D*83bHk^6l*U$)RH9@6u+q17gLhtS@C1bG)|mLwdyNn{`ykdbX$DWZ+Vfy z>-cE#Y=7n5AbE$TLL8K5qIote@$~^f|GrITPwK`IG*m2!4m9hZYWG+zi`ylW01*}# zhI{}!aatuyv|dcpV^__t z{~7Z>6cs)BM6si*Cpws6*eN{3-nj6!YSlKia&JmDC0+w1V}Rq8a@febtu!|-0BPnI z7gfh%%EoY6)&SJi1dV`61guH-BTaQg%~9iC*|Q%flBCR{wS^gIClqu@F0M7ZvgNi# zXDcYDripI6gb#%ObGBR&^)IPvNymZ>$X26D)`@;3Z)35!aXeZ5^PO;i&THRr-YgUXN$&P8EUa>?I$_89R(sRo+LHt^l8;j}9 zY*J_sCWQLxP+5C*fmTb$9>^UW06VM4=Gs|WAf?}3o}%iN6~MNT_*}1WP1gpHx7=9ZQ!#us0b+;6 zxMkV{_Sxod_OH?92tX_ZGu6~S0sS5rV8%;ok}JVYvEevnhutfc1&s3*} zhs@M?&iS+4t89jwNSqYu@2ek=N#8E(6zQ}ek$toeGj^ov!MXyNw_2V&l1Wr_)df+G zbASAZeRc6qYms~`j@7k`73VlLlgWZjfU23Nlp#p7w|+T1<`CHD8XsZ*=d!kb11VA>7 zdKNnPs2js`kwemzJN=Z2c27!UgE`|@Wh_j(qR5OaP51ehdH}+iN7R3e^4*KS36l%u z2xgWa8M-iYX?~R;BSL}sgHIC?Zs#vw#|VIw`%M-kieG29++vMay4<2Wt>(M01R1;6 zxy3hdR$&wWm@6c$#R!&u$ZFOMT4N|KF;?U|sMd8r98Sm)`yFmJ4~NF|&MBKQO{Ax? zirXaen`HoY;mFSG;t_JZ+dIG%`6K4Vl)jUK)0hlx9EB^rn5Kb?#yD`kN)yj5E)V!b^~*J(BLja$sREe}u3?CGPaUV0=TC*Y)VJgj;Rl6>p*r;s zRB>v~!2s#F7@6_tF?*3H#;;e_Q(N`~i0^S}$+r(V!C0~u%Du)W4%=?;tnNvb?@aV@ z2W5YkS(YpvS#eJ1G5rnxo5S{NL`DB7)ofdt4hKIuU2t2q8t7T4XY)#@IS?_7sWMol zY&X%s`(kqQnR0UA!Ryjg+}AZbw?v#jUTN3UA3m5dOR*_28ML{RBT0Gxg&^Da9zF2s zVi>ruOeYg!FvtC8G?wGya!Y}YkM)4fW)N^s>1%lVyoaDjg}+%jvYhi|pzZ(+es)7V zYvHPT#vV;3L-}JNOS1WjX#)}5OWOxG%e&8=cI@J9r^8kv>}?hqyt!4G6s$6R5@cXc}T~$VWUKh(QE(NI1n0-`F3)?+3RYA zg2+;jVgVPWEee#qa3SDz3HBtbdX6@ebK_k0Id+_5mihd?oiAX(+XNKG3%5yA0}D1P zJmgvUSN!kPYUmdIen$k!UomA#^?|Dz-Hw*pK#upl1SP?gIZ{z9j8zk=auRn^Kpit4 z6>x@U`6@L#h`7i5GN$I4+uaA$+u6n1)(#Lpou~4W8^xyh zl-nVI@ogLyLpZZVq@kH9#j#}_&1=lU?tI3^R4BNWzd4So^@{;Ro$KtIvTx5b^N)&( zdS#wnPD@NnO&1^;v=WH=XCD<02f6%R3n%|fKKG!)?2@2o#$4RFOgAmY@rnurB0gJ9 zlOM`s5!k~vz9zi(2HI|G2i*bok?ePEB!xn@dxp;ZvBUR(SKzIq;`b7u2^|uGz*gl+ zW1^zz)2n-2^4C2C3Ej8#G+3#JWnfYZ}I{;7R^YKDwXRloye zH2(ut=LA5R3eQ?kz$_ikv(l|ljWEF zhyQZMB+G364$uk>p+Czvd$7u(S7k zrvYQ;Br5+pQDdN%unpA#G^qgqr4jNoQ2^le9+O|w*}QaF_Tf<-l|@3LS65nlln@}G z%Vz5J*4>`P9VYJDzcC@QRbUp#K%*lNl z0UwV%NSJ3`>knp_lm=Pig4>3T_J=I?`k&>0eZZyMX4V3r7|Gvw=Jd3hO9Y=Pz=Vxo zZd=SU?=*|gI?Cnt*z?x_Ym^B92-2-j7Ut(|>e5tZcKG8XU@A7^^(2?~ti6+CN~9@T z0nh7YbOfm*(96}%l#{Ib0GqyuvM{#-O7P108Sh38_tY==LY-kx#ViMY=2#UQxIj;>#u4vBA&QBx1mDsq@oSF9v>scGm(> z1-#C;-zx&_?YnQH%U92Uy=zhps(f_Ci5!*oHyl_ZGBOUJEQ!7QA(LOOFip^{8*qX5 z=GujuQ9-nTbwUi9sXXl%-7gdU_JQ4q!5AVB_Y3Y{Y2h7pCvyE zKSOJ+)KRUDkQ#vJiHCGQaM9nF^8}<;`!vinJ|dS3bp^@qz^uQqM*k))F*FBACk4Cx zjMyS{IJFFYc`4EmwhQ?Un5e--EpIv2=IWj0)>ciu#NRTEAAP5Qmh8h`SRfbcF0%8* zFc7fK%@jM=l-^vkMyt!*s@R$KIEQ|9A-RfM0F#hL^kg;asX;R*(1A`exTzDb|Jg6c z576|?mvxsI5|B~8uMwItmRg49<-5Ts=%j$hsz6M6D|cyJTik!>iRILKc>J5fIXn9rQFw`P<&1Dh_XW}WnIG?GH{)t?FC^Bq zOO(1n7V@E@@FFshWf%Sn7M9u>W3ykMU>T-|-8oD8nPSLI0 z)Lfq%kRsDVg~5uiNhCJpmg-GUdz)R@)U=+RfD@4C&D;`dS)0#Qa|mYWX_FXBX1_Y} z?z}p!nUiHK{c!i?P+?lD{w~Akw$Qld8DBIU|3=H%5FOf4=dnP6;3(b#rZOv)t!JlD zEQtJ4ABR^6d{&RQB@-qoKZ7M#npK$u=SR1SVN^Ye}8J+>|b#3BQJlXS<1;Wc-fZlJN$O1}z=QQe5}L;4DZFK4NGTo`_+g zoN6*afgJ&`mQv|- zf(%=FC4v&8&!+JE?A#0H+L_;U8`3>g?mVYGlzQPpfV&?hlnYC4@%u6+FKML=;HB{r z09uRi?1T=c_&&)(WE^Jc)zgw~^63s-hAR ztrcGC87k@}BS*=A1cI3YMBDf%p-gSvd(z|Yh%XvRxQ0N)2-h+0s>i8t<3Da+0Y{~8 z;xt*zhVm3y=myNU*HFN#iM-i%v3D_z+bPU3))o1{%p2f4V5IagIvof6c3{tX$SGGf zy4?~`^4O~exl)pVUrQ)#4W&h-PW7P~9=tqKf8*e0Q+I!s@nkItfE})!eqd;5eky^%4VJcK&Ug@h|}T%9E`?c1VNTjshSnD*^QZxbiNmp zT11e~9ooj|lci4TzJNE0d6_yve{ATmb+4=``(VI}JcUu`iraZxnX>!o*%l=kMQW4w z)w0#B#C3O~*Sdb?%cV|!83pYwpo6MuemCik)a+5I9iLZjd-Pbf+A;HEhIlJUcAC4Ov^RjSI{6 zWf@|t8H?Q%N2Mw;&iD)QJ2W{$)#3@^aRx;|#1}y&HMJwcCfTOTNQ;lOGvDLrRcv+!YZ})(DTTI8-^L zwF?}wCjNBVm{5Z6gn1KL0jQf4;?tuX5lOd^s_fpt zuNNdu7C>Q4#-3M)Y4--%4vbvzzN&bH(C~(pFGSfO$V22v-CLYe&;>@5dCqc3=r*X9 zaGDBnBr(s|lj}C3@R0)T!p`g6Z{I?@+`ebQi)$`$iPl?=%5~xh3&joW+Qmczr+xzr z-4V_`dT_zjUD4(Hzbi3sP}G^hJWmHhX4i>3dp_lgfCKgxKRr71J>cHu{{A5G>3aa8 z#BP6jju1w_1!*#MI zqMv8vf9vCCC`)sM;!^+OerPj_EcVpq;uMMDRfF_|O>7Ot2%EJ&T%z$RQQ?FP=DBQX zRq+F)PAMJ8S+UPURUG zq?-w_tdWGh+A5y8dO4lqzffdM? z3%CcI2meuJcxjma7P(>d0Bzumt+g@KjxrE2d8L40YBJ!a9IRGNn0LG8nT~m1rZ_k? zIdC2;13m#b!~D?LNL&}=LO96dI!s9?OXD`k34ls91t7e!pAv1Te1<+Zra1(cHQLlj z(lL!2Kjb!|rpUH7*rFgD#SNPP)U+1E=^m1SC;^m=a~j}$sEhVjqc~D4w6t)1(W90(?v_6dmqr$DF(rPJ{FrsT8yZsW$HdQ=RHWd^bY=U(c$&YG5v z{~W8K%2xg!{*#6_*DPI*SdBFd1zp|OaxV4GQijkmgSEKUre5PYk2>MWdHm# zr$SCyD7pEN_tl~nULNm}4a3jFl_0Y8I`?XQ0H0fX`a%5${A7K%r{paM4Tr62cq*JD znClkCwqKn|*oBhvlNi~YJE?|ZxCIle#Ndwj?K$97-qy5^i?&JpJr z_gKAgiiNqxk@cV!<&#|?$(1{*OjCA6PcYG^OM31hl%>Oz z6PcJ`b7Qsc-z!zktP^GiycR`^uC*#v^Ww{na|*io1R>Y@pw_v$y=1wh+F&Zc@pp&0Hz+ygh|gU_H49A z7HcGLDRE_C<2bBFqJ)^3ow<~{d9MJAd3jEPpFX~Jk6-BgVT{Zbs51Mcso{0`-EsbtflFyd)uCqQ8w39oW*9jFfJ;cgG>byt%i z^Hav%&ptE7q8;GO^im>CrsXc9iFK(5r?NF@F!=$@Z$2fvfk6za#fc?ca0}{!+S@3_ z^v8p{8<}!}PUbD`=E#=!n73JoxAB{D5da-lFY%?dHM|DPt@Y?$1QmnYqx_IwRju|w z9{tXqh&DD(RVa~QgilgrG_o~C14GoR1{#M4YNiM#TStnsOWf}iQ_vHQ+*5tp+PpRI zoavdv=%L8j7X%VXasa%^F4kSmS$O}S?Mr`)>Bdb0VK^dC?*7AQ=Yfali-<%}T9a*u z_UUE{3}tT{^l%PoOhIwl=!&G*P6VAMZlto**3$XjNXTvg@bs-2gG+M=Wu85))@(Di zmxa@)qnc9tVOpHJUCNB3KQrnsz=e$I@TS@$a<|4nUFZw|U|Pnc2g{Bs3ZmyA9Qn|| zaj>D~X+rf6TOkl*&wwP~=joOJWh3WB9_IdC-o;!4RZumPy_du!ABfv-*k{kKzo2F3 z%U(5?LM+!Wz#J$t=0Ib|D+H`igPS=%S*9qDmC7?vEp#hD7V2=d2U&q@V*WV^>Q{sL zJ7z$2O@V~V3RDfh5re1mMpJ2Axd$g$u9r7!I+GeeoiCI&K`+fkT}@g-Ov|ElPi2{_ z_-cvdTD=A9ymx`=(_((mHK0-=RK2KH+_Pkxrh!>nJS4@IyvP*TN@kw>P(s^vjH4d6 zU9!LU5%~0H5Lm8KW94@OU`x`}X5&$D`uFd4;=DQim-6TX zQmP`FBn)(Qm9i;IIn7<0P&|sS^0&q8S!P}|Zc`cR+g<}Y7q>1p;-lVRRpZTY*-sHl zJ(n>hl&-xPE*rKoukX#WJG$v{4qz<$E1-OmL;oYjvAn4O&?U}l^>Rw}UK`coSwT}R z1ri4X5YVe3p@|W|sfbT69Y(;s>7qy2Ymb2>rm~DVBkIGo;W7nZ04>cgChy`}@knpV zc`d2>yG(zlc0+OWeMz^D~==IJ6Cp;6yMr7 z65ho1otBc<;qA90;*?Qa#9=4}Pxq11)c^pd+$g6TvCcMbG~HUuE$%P_RUX#%*Fvd< z#(wm29D}|hmPsf)W@_;B3g%w~Zb62I;R}h}9SO^>+H7{F?QN(F_c&`6V4P}Om9vg} zYE@+eOfR4A)#qoK`xg!bW_={if?-B1Sohc#MgzIr2cCCu+%Q1Mit!~rN^jFVQ_I7b zBpHF`|w!@3SlDGq^{m+FCIe)-V8^AI#MWbfGmq!Hml8?sQZpEZ8YZ5vjX zS#K7!3wgR7Dq$OA@Sp?$axFPa-|G#9)n(xjtoAOt%WsNBf0ji!-;s5dh_|bkm|E(q z&OJ(={p$HDt6r@r9PuvT2h3@%wp&O7u?x=1^0vmI{Ck30lg*-l&23>VH@(G8mP~Xc zJ0b#u29_!AKl!V3`x+H<3ZLxWlk#@f-*;ny8fQlu(9Va8mxc1{dkM)w4KK-w+ z`n5^e`vw@zL$;+~8|~g*1@s3ER}Wn(dH&YBzy9Vd1}q#Lk*5=BcEA4rlKWtULo@ct zDo7^w`Vv^j*Ow9qEPv%y5RM03ZJ8XPK;XB%evjW7ii6P@ZoI8j`SokuC`$J^BX}l* zIPL+!eI&oT2qa==0PcR>vKZy}wSwSZ-!VK!yvu0d{dI|uEzQYG?t(eJbm7K8`o{k% zdUz~%CfQrg2N`hv&%*bYK-gE;Z18^FB1qQnuRW4@M)X`F8nSkpU-r@e`SU7RUa5(1 zH2>=<3xXXXh|`B882HbP0L@1VSmdyeA4GnY&Ohh*%PKztYx;;R7fDaYe=R836k%5% zBWMDi`TTKNe*O9mSkoPt`m^6}sDJ(|&0WwPO>hzYe?8^zU`@Z9zQz6D?h4_T;JjR= z!bMUd^Uo=N1;_U5mj{&p+g;&(6$tGvKgF*H>!0)d6YhTi||jg`d?@7|3-^In1@KxsdkzHRaB+NFP+uDe`IY=}a&NojF_(X9JXp`3%xWTK&%o z0k_g?D2?v0Jk%QpSes@*0YZ-Xp>ky6I}lnLaSa+076Ujp8uZFEChUwKANBJCKBE~B zPIc(v(_cB`{gm**k_ERu+iBw%y5Jok3%3D?{AHdJ!z;-mt7En80NS)hyGUih2H0$} z>8K#?5Mz*`E!j-8ZMr-I;J)(3gMNOL7<`ZSm<*RNaYVQJw5+26aCh6m-{TdJH{h}Q zbO2~vIH3v^s3q0KD|Uc-XktKPaXTqsr-JB|qw+cvBED$Z6+AvzAC7%RcF$gx+@UmT0}xEPF$5mtPHHotV*!!?2oA0UrKvI| z%b@Md7^Gd(mid{3Z6Zqn)yRlrzs}YV>CGgm3+i$2gpSrOLcCN1D4?0+StW>LpS)n) z8gsWU2JJorcA)ez*A?(UOh(ul7SVtz9P-ytmUt|u+rk3SN`ZiDV~YHyQ(yOn+oOwS zm4dUUIB?!~qXAPx1E?H==T}Sw5AHbBC-IBdSYQ;ZJ(QlXsrUYb5x#P16; zm6dNXs5p{XN<)$MvjLPw1D5Sl;{fyX>AIi{JZVgFW<0nf3K)adVLJR&11TIPtRm_I zb$&~+&?u3i`q3W)0Lq8hd=}*Qt#Ac4TVmPk6x{zD1mKe?+sONXyrZn$Y#a9Fo2IV}V4U2}(vVa&(GGrf88bRc@J01Z@#TWp!gZh>?i&o_MVL5}@sXe-Bpr(CB*u3~)=@H!JC8c0~-Fu9)WJ_Wc{u9#eu?9)(p>sMpC_=@TU@_UG`t9 z)65q~_W*|G(~rB{!{esAFka;)P@J-=mU&b*!ZqstqVP+-ob5hf<$*WT7n);pfiVty z=H65t=RV9agkYybwed5X3VFc*pIo+UQWB*qDi0J0ETa23}|(j zRpl`@!|+l-9X!M&brW>|Rjd`PDvGd_AVjx{OyX>xR)S*Rwiufc+vaF+X3H%Shg|?K z!{^6m&uMZ?dn9|e0@W0?65jm-KtEhSxE7{b%yv~^&5j_Z9;5w6iEYL^k6KPx3Uk!h zi~BS|>Lb^Du@dlMR5TVMLQ)(*xk4O%u@E}VdsSz&>In4eo92Vg+a$VCQnI-?B4#~! z(j2-5!#F^OANXNOk0nMAjxFzEQOaS*nA;+2F(|mNx?jyQ#L&tV{kCv>%spyv4I~h> zNnAg&SA+CGGz9oNMePOcg;;}>d5Y1uvCGa&K-A@{Z+*oy76I@$X!z>>XVAT1J>IZn zYYU3QMsvf2aR&jyF|b9CXYHNkCP~oZ!C$GfpHJ>a+2(%7tR7K z9Cr&pLd(9L(^9Cb7`yZi?Q=jWH6ZDwAjGI|S!r1s6t90}%@@^7%d%8uup-IiXuu$J z(6+r+jY-d3sC``^OiFw_kh4!cwb4CumhsycP(qkA6MhecC-^KG$APtf6LZ>9CD29E z9z_n_z7Z*tS$gQF0TW5Acwmzyq3ut2gCzNfIM5B+u#fmW8EaLQ<#4YHkBIYKG({#T zY;=fiFajO;n%v{em^c6?ta~{LItTk0?YCMqSiF7W)LdDv!T??4(Zlun=8mXW_hgy9 zo?5BG@p!j=31zR_A2A!fgHj?)nnTVIWlRR#wAq)K=Mnva)L;NZ0z3g|0A+mlT(}N4 z%iG61plec#d-(vn)jPw9+x8h>Br#dV;Zb+#I4Rjq^Jvxclq-cz5c2H&?DhQPM3O0} zIopnVf2O>xcQJ%?o{)DN^l%i0NUO;?G2W?+o9hVN!gQ{y566(8Fe1Rd3nTiwt7a=K zZp#M^r)bgc(&Fo(@LQvkAdl1*C}kKHsGR)X?kiK(yRJLb@rL0ZBuDmG5+CKO0cRB` zBxW*KHWo{{F3@k`>m%LyS!KP6+^&vS>=}|%8b7C_6yg=EBI`dj^o^a~tr}z$WU8;;0`wi$^6&|)`O%0opF#zd9QYj_ zi%x?OECT?`ln)Nqz&qY!2SU5-Hq6U0mDPaR@iNa7qbtu6DFWo7Fzra*Y~N=Zgm-tR$Fswt=)VY8BzrUW~>&N(Ceuzd8my9VfnG%-L0o zP=T%M&ktx!Y=E&{ekdX60?MA+A?8peW&eT-nRiL<1%?s}-AfO6mLrNp(gjm4k3lSJ z#8gm~3H=rS_b*pLwYkv?P+MFW!n`NaM*&m>O|zA135`jbG3oPXv4d=9y?s&ZKAp|J z+|t2TyU~5?MbMUYNtfhIW@<>01X1rKIJC}8rvn zV0o6RlkFDFZwY*$bQ(xzp$udPY14d@+~}{;Vkw@fnfQ>`mM1n8nq&hk%J76bap z!tXD>9RO845|3@tqra=^I7STTR#>!I<}?quwlZeC291ifA3+U?)mww8y+B%ZZg)U$ zm%FYvT)Ooo96`gUI`0;!owO}$kf&${uTkDh+#dJRduHk0V@297dZ^YfuSq7cYMVk4 zp<;;RmCJrBA)D&LDQFDH$EslCfXei$?p)*1u($$<*z39bms~fVJ4T?LKO5)yXo~!U zXB5F$Ix8R1KwS*f1E8K|2+HA%v2%21&qPe>Iv#=!th6de>lhKXv%WxkyhTSj{?w59 z_Mqbcj#URrfxQCG>8Cp}jg%W?Wa8=1D+T~Qwpx%BY^t9K|?J2D^cbg;u!m~X$szs6{(B;8J!y}nZOybS>K2T!y*cI3u4$gxz4Vgp? z)t!CW@wM3C%w$@E@wxaHcTulA%el9jiHgwyv)?~HT0I^~_izTueM4*wC&>zSSlELP za?PL#<9*(0LS_xvAibYj7W2oop zZcEBKebx8h=czrF4S8I`gRlY z^69>)r+HFH_Zwgz93@f*+*$Q)q7*POA-I+q+Vbed{jRm1-Zo@Rjz7KA5>80O4(IH+ zA;Q8f-EcK6QIzqi2g(Ds8k`+mYR}^2?GT@ea1nrF!b`P!=#4*iollF-u(O~F9SpH+ zr&)zJa(5=y-R%@@e$?#Mst}jQPym{ecMoU4KDm985$E+Yi&`JPU4Ngzc?4(?`nBhA0m;{? zj&`jC`WPH)UVa(sRgg)varBJ@eKZM<;R~<#+Q*N!%8T>^xw-&@WcBKZeJ5w&bs8mK zlqk=s26So|NODz;t{(S;a{F%2&9j^5O<$-Y4Zo^oZp(c(f=ZHt5#K`8+>Gs7nR%bat|bI>Pb_?58@3xh*e;zL$SUlS&{rtI z(%YF-pBwb|x!0-LsjXU)xG(~mjTU!8gH^IWL?0H^xXJbRvB|pm9aJNI_0}T7)pLneK?^pD7z?4{-P2} zA;VVV%5_k(dIOhdO+SR5$4Q&Y%};DwtZ3hIEj|_yO~o(@4Oe3T+(rLLmGO@47S(}gWFS0go#?D6Bb_1CDH}|X>{u#s*ue9&R4zReU)qF5 z3-H*s6RT-I>_2?F;&f-GzQ#i|L&Z+BI@^4iFh5~Qkr6A-MYuVzqR%>ze6EnWk&`tJcS4C7VaM(?RQV9&H^y)`12*niEfdGHV zUQt2yXBW?)-QaBeY_!p?FKwM6`B>zzYG|R7M?tv=0pz7hvg46^1+fjusmLw4 zhdJjeQg*;}8CiqwO`HuDy7H<*Sd=T8J$!vUL$i4X;W&tXN&+J0Zc-RR7-z%8tj%=Q zF1oEN+mSS3qn=4U zHWX}J@^r(BUaE>%WpYwr+)@}18PLegtA>n4uOjg25KwBD}Y8ZxJU5#l6ukm8=- zq}_uP|4I#>ba_g;xDYhNM(UV>k|&7ju&`sS=o}%J;$bs&@d4sskQaoLg3ME0p7jNA zzD|zyeWT3!%!J(1>9Ss4Cu2X9LHCQ6%*4+=l6C}cD8-W#lI>(sFa@jR<1iQ0*gemr zUQxGj{pLqHRH)XRLn&wASVVoA(K?Uf=Z6N2yT&KRMZU=?d48yUr1sP9vS`HqZ9ZV6 zhW%0Oj#P_4&%@rp(Wo4O(loE|Bvu1HdtKb1&~ZSaT#qjw>M#gwy1S8EDN3**(!%PoaH=RE7Ic(p&?9@u-hq!cn?0kw2a9XMV&&>;$es132O6FjywzGTQzGqcT& zR+rcIK!^|dS0YhTq}7kl`% z9@M0E&j()kCN3Hia12Hm9@3}^8XrXV6XsmNp;Uv~NgjUDlcM>0hd?1a0yy<~;Z^j# zUI*@qdM=>pMSIgorXE+%CPmaWA-d^o?Qv0!s1JZ5gi=Ia6e@MDfO@n-{*A<@Ug`8% zQ1gyZETlbDW@rYixS5X$gGrMlE(Kz_jUW?eLz{oK(wH<1vo}y0GrIvCc?{Zq1BtM z8g#R?12{soF?*;Sv@^s4Lec@=p3#7gOw)aDNz?L-}3uVE}0Bi{`J6 z)B%X5EPR0mh^Ph6?iRD5XUhTJ?jYWgYk~%TvWS+IR-VBu1j{7G+ ztc6fa91;yfeDYBVBcS7$=#-QRC2qf%7HB4sJ%}QcBh0WxRvz_JP9?nFF}`SZN~+E& zmlHt92gBAbZY)l}d>nJ0bzO;VfU^ELN)7&%FLQMFW^*?PHk7Whg%#_`9_KdtqCwIA zi&UBPw+k`&iKUQx0$&$%F|E%qD#uogkYaXEXFOIPD%VBH(+<)PamL!Ln?}OgN zQ@}A?+6dUL^f6OMraK;WiM1*$wN|GkBtO4F(_Gb+i{C=T>utJEPzJ%P4J1P-G^)f|Jwzj>AoZ3C)LSGgz@}yZ?Nsq1!GpOvN9!U4 z2a!EPB!mzLcdIHJlw#nFI6~-gs>wBXK#v(TCZLghEYefDFXm`;?m1>}{zfvr=##8tc#pF)*b$*Slrdjo3BHMuBtAENRDQepyV1QnRT^ zss6&LC`ukaXr@bwRWLlmlTt(ysGM{Qg7qOtO{P(-SPPgC&>xa?!_Cs<3mH%YY3#B#%~zj>iH#0|KEoke zG9Q_|udQ$m^Td|Pl0HYXWy0*#mv^}*QHk?&jV;@59s_W-O2=ssAl0#&4a>@J&;^<; zc%1pGKQqJNpumlBRJ05iQ@rPyQ5_tdiW%T8DxzY?I|IJ?s5GxGL9eB*El`_m7%teL zkzk?TN8|TwY5N1ohQ9?lEurS^$*$Hbh#b)9*Er(nACg^|#AC7t|$QsRP4gp?%MfGA6*zuN=4HKvS2N9+Y!IF%T#8Kz9! zSJCA#x@~~jG3)S7UuPrU^DqJeD1X5*;@O@b_1zFON|Y&Je*~D&298@5|&8-l!7pNJC-`lExODlq%);nwi*nuv$qp$2UXAk^uUEVA)nv0gys>?0*G z)tcwJy7xjV1<*)t33Pc5g7S1D388w+!!56qt&ubYA}h1Ye2&%x!P)?fb{gp}TLL*Q zw%~mT=cgo9)ik9~-QEE>+(DlF47k_Kbio~u44WuV5(OprE}6+DYuH!G$la|nUpN^0NlP} z0xl1!=g)}AMLhV)f3YzF-RwaDNPxF0-fx4rCL|re-d#U{gE{U6+K8Nrl`>=%(Bqj4 zrn52Z=S>Depdt1 zbXH&307J{p%Q;a#zsA^kB z#;MU$Ja;y)qlDzMGv7*J1GL>-3s3Vv-xERYe5@~$a?8JSCS}4&#>w7R`XCL);+GKW zr`0)@YaG~mrTje>v*E>vvgxlXLysYZszi=C#JUVrA})esGcOhQupZ! z!$Yy_oPMp0I*+@BDs0BhUWvL^XJUEkXsT6$OJWk!uHy_&9y#SXnsVif4l^%^_Ca~; z^H;&GO^#b(#JQQlx6;bPig}C(s;eoKfceYJ4UsRhQT^XSll z%Ci-_-Ojm_&%JI4%C(B0XATs-vKEp!B)nRd!@fwfwHPHVigKP*=L6-J*Qwh_$lArfN>(^qek7`Fev{L1LA2`myi_1b^4&a`rH;5Ce?+u{LsB8y!EW7)gF5H z(a4h~i?HH=n$lXF;{0&TFZVct<3;k`_JX@IEN;efyHoPi5*=x#Jl6BvrFXBGC^HT) zPtOuHTpR*-Ulnl-J1!%Z9MzILzVKjOWWQ5RAqu?IQjT%Q{8eSg*&UfQ8F}Axr5f{u zQ{mYTwIP&znkK#A@)^Uymb>g3+AZOA!kf$#mE9OEuGvoWyjQ+SWa5?=^i_Sl^Bzlp zna7vdwkLBc*^$Aykr%^DQx0QQk7XH@u)!PT8I{qIWZUp0Kx1&(gK_+=9Iu z+C;%o`pD)&LFsGJl^k6jr`|;3hr*7FwOxE_Ia#^^S3j?3f+tQ*OY1^2X#iIQWs83O7a5QgKQow3_trG2&Cx51^&!B8x0cF*K6j{hMvh48q8e#-`0@+JBi2d zj*FeCZR}JWj~{yt-e`{usBnZHjLiBFgl=!wB+~8)vV%0LX z8YlMn%vlsv3_Kd)-~1u$ii(QUI+;m?^ojrTV+0<`6EvKzcCx#_dCPx%pp}jWE>CqQ z?e`!2pGUo);^D#I{#Jcbr+r(V>a2**4{j#E|M~InX9V+ooFpRVP%KIC+sXdV&%J+O zV3373D=;Ekm!FR&T>pQm%i!B`azGY$?Q zWN4b}N;Lq?&eK^B<0HDq#;Bf?vWI|s`w2pfA^oYt zI*YNv2!9I*@tQ!3F}`V)uioK;+PR8688!O1pq9|^%XR(@gqSUWtn(LO`==fAcS#r< zykM3b+@Q9vSXvi=`GpS}o`_`G)Q*E|+6rwU)|K`ekkkk=lV7FG_xQ8A%)IHXi;hz^ zXdF9WRlOW!EboWQ7G!1v$|suv1)Gi^U)A~3RM}j-aDfjRI+e=Y~4cyw= z+G$m*Q#{7$6FtS2W?qJt3A)}ZR{==UsvVXe$=q5U=`J_=XMxGr17pOqtR>5h08y$P4D>gG0XJw)<(k_QWGy>i6#|`dDk;M{hDKk@^y)4^_`JEnGfoG+W`6*SSKkOE{XwT>CLuPGrkxEa%^~Xh~>ZyZP#- z*(mGt{n@egc9*qIQlj!jQwc;;f}4`opUpkqmGI>+|?O518gg3rZ<5Z0?<= zeQ~Y+53AX__kC*}UNhxf?6Qe(x61VVZMCT4DBWlJLO-@0*O=0e*=kXenb#lM4<7M& z@!y^q_cC3Jn^7P%SYEEXM8{Ce_%x3vzoLGlQL)ETlrYbCtQ z65;mqINkoJiwCpJbOcx9p0Rrxk@=PA_9cll!!fa`D;YIOI#yn@K9smXeY|j~woA4P z1{nG0^jn`?V;)yjd}e0};!_z#p3}C5EVMP=%o8N+Zr0%R^MrMLBitvG0vf3RiaQ*RbF(Qgxbw7g*G#CSkD6Wn(NoZZmwBUe=3`8 z-_fnH*&b{(pz9l=O{dx@ws0TBmU9|0iJB;U-x`+wuy7FlIKdK&j7a$r{VBUa5|Y%{ zdA$TYb|Fuh!i$o5<@a;zJCBLV^{S3zUfVa%J|FgrxXY)9XK;I*ZaB`qxpJ-hFp311 zxE>b<$GhLYws2AKbp!)k-mvtvzyXI=o>0W6ht%BC!|vX|-Z62t(bndjrinpk;__nq zvR&nSuRRURRvX<5f-1eZQ>R>p@L=izA8}7PJ2VJ$?-)$73zxfz$SG`;f?jiTnrkn1 z6R&k1yDF8GvoUiyjYK~C$jeuAtGl77vRJ>5vzjE7SQQlqi=ggQhrA9O&=k>dS`G~0 z7^I3>v6cNut3SFvGqUS9vE?72)z||l&qfkFKA`Kby{c!o${-f;A;2X+WlISs$)Ru( z!=zZrk7q)G9-&aPn3@zCp#wTp-PYab&?@M~D_xxt-5cvO>U$$WaJ{z9kpgj^!g%8aUa^}#HS5jo~Q*F za`n_(`ER-|K9ze-(oV-QZp7ZgcvPdlX9=92M))M&x?M=aBeKl{$8Xl(Kz z!th?dpo{qg&BtW*6vIyQ)(kk%D#I5R@I`z?rk(9i8LqnD?r2Wal)NevISAMX>M zqTif>XFQrU^&l}x1eaHY_|G<6_yIi_OoY^rLNNpl^XM%?n<0?>|vMw#)X}dj|f8(2fmzshg<+INZ2ew(-vao$zDfO#r53Td#zi zq8>pe9z1APwx}F;iqXJO)&t+(n^}=M%`pBu$WzS5zbpA?GyLzK{PX(!d%FKsLBHK0 z|1S>?4<6jiED$6L#J`zqmjCw6Cku|IlvG5HUA5C*g0AnMB3;(M`A@0==D>Q0lA?xW~-+tk3)V zLk3bM7fl1Dyt?Pm?zdCYQPkXO75PS?hurM-;<*@I^$Ah9Fr=Ak!0j`q9&lw|u7uP& zQIZF4YWhjyD==OItg4U+PNF*Bje*8!7#2x%6+XYSUtv1;Jw)ikLSf~QII@k^^Fmmw zEf8+5K_$j#{Mc$0gX#^vA5J$0x=$qr*@g5vcPPjamN@?uhg_ASG08*9UfjO9?6HVM zJ26sdDO``{JZ_4kMDum@0@Mp&rp&4iOXP1P5D&t>jz&V}n2A~b!exgbeZ?Z2M1!c(*MOBe23a6(Ry92E!$HMiLKFrPWyIqJ~EnRUYU_VyPjd0{DZhKN2`j}%((DvC4GI)v=2 z-&QU+LU%YSmyPD_s|ha>PBG%2;$E7C9Y+$J7n!i-CtXgj?0cA zOp^0bcM&Y7|Hrhc!#NO0JHEt%Kuck8O=WCsF+L7Bt`{!fkH%>_eUe1R^dJoqhgZbkna`BFV`GUaafT0t=^JE@MTbDQmSUM zhbrPD`RIK~G&n1cv|&%sK0L))ywvzWs)Q5g`OG)E#WzMVCnEjr%jRN*7k{L6^_0=Z zay@JeRIA&{^BqfMg(KXVO`yXe+<_Vs6H^4Z!1Era>PxL7;(FyBfA7LWTB8>qZfzN$ zUU;=y1B+R%xoIZZBa%FJ=76Hj-(Zc9L#Ai&TGE8Iw9GGP)N$v; zCW)|BOQk`deDL;sw*w}SnZq1&>ZJ>pD`y_4eL6(04Skppbq)`mjw2%@EyR65rZ=#s z8Lad}mFs_v1{}uj_sB(Vb{{;@=XTHIWV2)gd`4y3i36Evlh6RLVV3kt`2=@DlM_Zf z_`Wm>3FWuz-jV?lmV)~ddC;FQQ>I1bV;hSozg-h(yH$c!Y^BelfaaMg18}IS zCDmZ0At4$K4gAI#{-~3kdI-kV<3(+L1<8`rAZ~;A)w%M-LSrSn2jlLs zD0{L+z6T1^q2h4GRf*J0S`L4dB$o{i=87R(EGXAqa(uTBbTl#5x!-RluyF6B!2p?G z4E%M{k5~~HB0d7!0|J5$OE-_L9GZs&(J2YqB3YRSO?;4viY5#!K0o@2Y?9Eu8*s@e z-mZ=n_C^*kW__DCiC5~&!eOF>4LH0CHrUp23UTbyW$uf)aRpRpI0R8~@`9#36882) zYB`~G3;z9)^|g_8`-ws?K`M@weRGXrwI}_i1|t=PH`5F@o&xV_r{3%HlEX(Pq~dx7 zc8(lx$cd8ufPKLU@s$t|7A;jA@=5P~8(kH+?#`oIWPgS{0+(#5u1$8WkT7J?5r^7! zqp;$~9ku4fBRgve6m$l!r4MUc13Tf~AuKlsKGl`RfidA3{IQ$_jCiuxTm}s6-Y-JvuyiUDdGHScHlbNOa;_{YI?` z7l5U8Yn-|YeG;w=_M!LoBQGDc`Hu4O-Dlj3BkO3o0kZTMWDf7&o}82uA^hiy_Mqa& zi?AqYKM7A_^k^bzdYzX8%p04?EiW1LYjYS2aPk?qyWNUp(Wz>cU9?*8JskHEzo+4B zSF@lpslWRJ-@veY{!Us!VCrU49mLkG&uiAHTv1rGOz zx;WuB!>iVz1zzjJ^s{B9r4ibR+DZZp_ci&h1yNJC-@o70vo`DJx_&E`bf#9_t`-N0 z1mrt`1U5&iha{mTI7gD1mejz;w}RK~^)=H6qmS}rU#Zy-9i`Nru3LG6mhot-WM}`}#Yk-qtEGV*L}Bwsr{TIhL$9Hof)Ak~ zyX(i44m%&4g~<4?}5x`C^fouzTNIpH^qY8@xLpR=pHd9xEFjFK5}#ls`1wsi1;`>>?b{L zd|#z8FN2`bsaurg0}J>g`Q^(x$N6d7!{Bq$E3g5xZ22y>GV!$eB6C&dF~AG z+nJe}inXd7tf=js&5-Jq5RT4Wv(Q;?WN@094rGJf@%x^BgF>lg$w{_dk9Ao*EjdZGSvY3N~kj<-HNGxAAGONhb7aW)WBMQs1xV>O~UVk$KGCob1g^6@w+biev0j`R}*Ut z#t}=!$ehcCyFhk7>rs-HAlW&1n2wD~ojYE8+HWM{-N9}0Xr9@2cGT;$lOri?U^Yoi zf3V1?QD*GN%)IU1tf0<_EOSP@trORR$fph~u01lC)I)D_&x6#LFB9DM=6AfBy-E!A zhSZ&Zycu|K$awSN!Oo>Y{A~3y3)h-io$6+w7}fcmA&q@UZr6FVI%bm#enWrf`|GWR zcK!FhYd3*PfLmKXpP5OvUFy0+v>Kr*=)4!b7UjPB2RqpV*(HI^^s*C0Jb3;G1?&=_ z3_3U%qK+)teb#@#oqzDHmwq3VeF)WNJNQ0k_Owwsm>XIwT6ZIay{_ofw4F8@XJXu* zu+}5Feek27e!prM+J}dXi;d1~dzyC@$`4m5Z980#$D${JNElLDyPLP}6}~cNmN<-CFyV zd^{-D>d^92-3r$p0Zb|trhQOa@NsW3PfbyIHfkHdAMerPqf8P!xTrj*3Z)J=W7_p7 z&E?|M`D?0@8Z7JU1v+?+-%squt5wB1(NfAO(bd4bM4E}P%=3GM;unW1Sr&g|sZXY* z3oQOZ8bj%cyTwF%<26v6fZC~}k)FMM_H#V>GfI2y!aP#F?-2tosW{JvO{WF+sVP8g z-{`TwT&zZ6|1r67xx}t1s*b>U?6BEF&-w`(q(Ue>Tud)#Jeuj*+4s2^5k5RB2~39R zl%GSW$M%qYn!aMJ(lEGa7@YAc2Qq)XgT0xGxtB7<-zBQPKi*y;yyJK;M_#=O4W|l? z`0qnxG2qPbE-BxK zoOJIWn96i;oA2KHjhQd#CNpjy(CR)~OVgjO#y&H0yp2BbDsf+QEiTk+N~{o=4WjZd zt$w6le4dW$tb=v1=>|1k$up2MML$d7{yyO5Vpc|x$LOd@q7QC>QCp-@^X*}WSKPBf z>>o1~Ql(qDcfK3&3ib-s8|pce=U|i7n2l6G>a2JCt>b0!prG2j8=Ix;XodBntRk z?X-{b3Zh14_JyjhdD?8&>unVPjXD2HE@*jtZR_PNT%LtptkOP0%-bJVBGdV*b6b5j4Pf;&gY#oHY0x5@tGp^jFPs!*mpp-b996e`ms> z!yD2CoeyWT&Z`|HO{VRa7SuS%4V%JzVA&%5({f&ww-XXM7$ChzPe=P^eWh-;({@io zk4?85Sh1&iV?@}btU)-p2WZMXhP9s0lBj|u%cJyuDuWd(;JM5OYQY(R<6?Sew2!H* zwpx_x(cJL_A!S1#fESi*l$4YXCK%MB;;IZkz1;c6DHL*tYTu-!tfXnBdWC{-^{vNR zTs|Ec#a^Ayga`VH9)E(WqQ^?regdeLetw^8?0O`-9)5=BTCRnIAJOBvnydB0t9xQ^ z=E)>O$tX?Ywgx+%1;gc29wG@W78HOTpmJAG2hmi{Lt)?q_%mVz2_p& z-oQ(_FB#aOJU`wJSg&qxWCuBPD^T+%Ptxz&H?CJ>lM!8XDt@_OyMrDQ>W5A0Xzwts zGkP9JRnUA|U|z7$}SH*dMEE;kIN*vu3Aw+MsU7}k0XQJ!X@HwRTQ8F9b{60X4z!uTY;J_S%EjcD%Nsuqa!7TFoR7YR((msBos)PVG+To`xq4Ah zSy57s{1DPlc%Dv^?2~{tL^o^h)2qHulD2ca5g()(j?C}$Cy5Ms0Aut~aMg9YzGLo4 z<{__NDz3ZNoB2y_)fi+Os;#cS--YryU>BAS*)QCO)VvBl*oBY+*AE?a4mchqpA4#Vc#pc#^d%!+*Uh{1qMe? z&gbxQ4hsPXv^Yr^>+VL$!TK7*M841%A!7xgo-%5toY=WY(VORv#SrJX;yT!J(X{F* zjQE4@>KGjtINMCGr#&QU4}XnQtZq#f-?R)Dsk0ydVeyK42x#$tgsmP7v3&RRhr zPWrt7Ov0w-6p82hTVFbx*6nA+0op$MMYXzaCdNSjRWMgzp?Uu0;siIQgcyP9)S$9n z-Ke3eK3~kjK25?RbD%(}*lS_+lY1GHX}jxc?uQGqa4V}2%*kfwngQy|AD&$dg*>K% zU2NW=oks-={W`mJysdYw3fy`@lk5m+-+Aswj#X7 z5mMcjh2GJ_reN~e(uW`Y@ih*=_+u9wXi%`T>yC`lZy~9L^sXWV=w&rqFAcO~uV)Bz z`k+ncmKQ+`pA?JL8#OuVn4&h3dZxWx>bAcByD>&WtqnCkO8v zyUz0r8Y>x;?|)dW`vECbqXJs)a#5PBPEPVKD8}zr#aj`)TJfUR$-I)p!K-~gATRBt z0f-3dUyq`L-%;66AO)ky6v4Z$RO_Uktadp#jI|MVR7hud9Xt@+{blGcn*jthM;iP5 zr{Mm3(Y<*|fFvh7dSTEMFM)1{hIcp-NTiO6(GvwE>9Lv7ce2{iz`<(0kj;IvI=}f% z(hLOR)nRjdg? zZ0{Zbi132b#flSPXG#-1-andZhxBn8u&pkjRGoC42`_{H=#kaSV*L5G|2{_YlwhMskW=NNj7&^?C@}8XR7Aoj$CX<$W|MyFOit9Rr7xQpNoSaQZ=xjRc zWQ!mj`57QlG>kbrNaUH;U|f4EdU?ptCg>wVICH3-?3Q!T*_1aiM~=%egZJs)%z z$sir9;I3PZ{A_~vXs=#@f4%b8 zy99u6HXctRO}HY$z`Jk;m&s0SV=aWc=7p~#J#CVp*B2h1(078&&OwK%en1;}TC@;6 zKmZiDVdT0jg!kWzX}H`2`(5Q8qIOQgG{|6^_Lb3EtV_j%qg?-zfli?wEqIr5t0 zx)*UZgPU17zJzQKG@b=Z_4wGoO?^K>ADj`Jxrbbcn4^l&kOBZJN~dvq>0ftPl;$Ll z-aS!}p>b)CReTK?(SCh7o%l2VzlMr>4@-8yz9JEM`oknFnUeX>L;t#D*|21EX}ElR zJ$M62$lke}^sgt&7Fn`2&2;?bkjs=Ht?uK+_+R~BvrfJP4>(RMn&JbP9FW#vKe>NB zS?DN44cxtBgf|%qq9Fa;nd1Kn$2S6XhPB(2YQUdzGFTNwv>o}s&NC6_X_Q*3fFEos zCrrcCa_wJ_?ILphZ;e4t7i?1}yarnbajG>>#i#d^&%v@>o4hCauc*aZq$YJj z)C>Qsd z2bU2aDc3&^|1@${l456{fzZDV<$WM{0pjQFkb&=WcY|ZQ)l)@>Jl$UKp|{vtg6^`_ z&o3vTznCu_FFRl|PE5?*_-`;b+LSD>u<)}tHOIrRfy`IjcD7VXYz*(-Vv&ke$q{U( zfYU=(5{+!@Bp6I=W~uTpG8q|yC{N-b7RlP1#1ur>?0;^CJMl5G2cB?EHnZ~~#`CP# z9=cz~0amY;zVrYxN`*UEO4M6!UGennPjp?9G#6C@nEQIVyHn*!?au_9a|fEzD|hl` zL(0g3oI_|%Q2{UKd-|U6;BAO%uUd_CW7@7unP-o61wG;I5K)}({2>w>y)SI+<1)=3qtZIbU>DA`v4DfSDOu~ zVP_fCJ`~emsUJOQv%fMNGv^VWir%ny|63anhZAgs6o43+SVLd99F^E~uZ@jLwBVxt zHW5W_N(%lmN%D2ru#zb`3Q!v8YO;8@Eeb}V8_~eMfCx!^p2LI5r_V%MEbvS6hpz%# zgg#A5b+gs$CEKw;=rF&lp4T zj?ZazdYbXg1%tukeV%PJ|LrIy$DnSBgh>%B3apT0HY{i{DD60bm9$Wgq!HSZr(Kdh$U ztEXc(kQvy{u*C}u4=iP*?TbnLb2uV0j3>}Y-yo-Zd-dHw@TLF4{ruEoDjyKTc=}!K zW=l)MVrEP45#jed8kt@SUp}&zew;FJ?16j9H#GD_8w+Z67`uWO#osCh9Yr3$Mt|%1 zVLxC1;WtjfVxsJeM)5O4Jdwq3j7Io2H`_F9%FXwoJ*YQyZ{bWJyw?jfLXq|5r_L3ffx6-nDYNA1rqQiI==d@$`MUhkvl;PsAUKk! zAZCqz{BRmraMsP!>5h$y4vq=$Iv_+IeW$Yjan-#&22}p`O3DfRKq-(dkkL=U`=rZk zm!WbmFcx`S-Mrk^&i`%@iwL`Ud$R27oyO_BBQk}9JFo04P2zSpf{89{uQYc=9w6I*15;KuLCulFH9&;H61@ex{eEcM9n zo@@5|@T10O82H0{ASvnfnxbTX&fiBrDFyGDEm82qi(@D(gHcLhJHFcEcx>E!ZWp-aQZ9ONQ;{{fJUb{GpqLRexbWN*poxIoAU81e*X!a z{sV+I0*E&KDT>8mJgWfzRq_2TMp5!wxpyzqY>p5bN9S;L@+P2JMqe&JC6SW zn+uzzPqCK@$JWBA6p8JxBi~7Wi-sz9VZWm>QWAg*1n0KP4bI5a5zNfYTzT}#*TB@& z51Mi&ghs^9{^Om9TgKpUYVTZxfXAMkp4Ey!0FDIP6m-4N97L6QU^$UbF)L^GHr9i{ zZM{xArxobBK9lu}wEX>T_bm{wyknpb{{p1P0^QdBW@i{;`)e5cY1_oaLt@~;pq(!v zoBzie?Q^F?B>MF$IZ6C%q+v`O)5;l$HarKe0_tIwvGv}~txkM#<b+Q{t?m{y43yA-{(V;*7JvQ%LK+6+jC>`oER(Xf&`X+hNY8Gd z_r7+;r1QP&fxNuDkC6h_567F|y^bCNL*e>Hu}G#F%QW=&97;Q~6@qJ-1^9C_3lp^( z5MdWXzFSUZ@Dy7KZ8?TZ2e!>vxGjHtbcEqp?{u6zbYJI!8PYRFG3=pXtS8XX_K@V?oBR=`Tf1PIi! zq1WHXSJ!9X5>Z}boNFk-V$6g8(SIu+{9TzT!Q>tMnzkWp+ULTKcM78j>CPBfK)c<~ zKs6*|vI2u!f7~~vrQFN#MOkHawk03DpwsMdw~hW@)HPlf$?#x5vw3K9Y9|yanP36! zRQ1Pfgyw(vaOt`GP;)3z*_-ElWyuCw7SV2m2k!Rd7^)VNIt3&LEmDS=cMr8REqYyH*ys1Py;nOlqIn$dPfx2YdmtIi)g|jQALH9=-Y(H9j<- zK{Y5_r5Dowj|^Npf_39ui!Q;3sSOBZ%$de$pS$GHMyh3|zGysbVxTrLw5U95H- zR&iPuodbeivQ=QwPlue}q-cvAiN1$1q1c{#SH@5(d8w~#31gQh!e z3B&>?jsO$U(88=euCyr1H9C;BbQF@8+4rr;{lD?5ehL zaXv-bh5c%`LELmnzh7ynY#ff4ozqnnmFC^c&oL@;q%wvGC1?js-LZjTQ zlg}>L+@T{Db^$~M_z%0k{CC-=XWKeZQJ9UOP^ycMo1FUP7pI}))au#Wm9N_J`@>t&y(W{Q19l%Y(THPq(^om5j$u2W{0H-^u58Tps6N{Bmws zcy~#-lws1+i3#KBwl&PSu-@cWq2k)nj9x&$2|?*rfdE9zNEW1+i~7-pn7Ykc$M}Tt z=<7{Qs0sj`Qi+CUwB-NjrKiL-|B0{S3jMb^!`A!4$%El`vjQPbW@@k_vJ)soJc;>#N2%uSzJ_Shrj*@=_s zSPU6$uiNf+n9Ih`?foRD0$c_XPD9CCt3FA3B58!v+(9Cyn%IzSdpS^$A|WP}3oK~% z!YBIAcZ4@u#Ljr+opPS9%!ZDrdQ+Oa)}Rz`I}Y`?EdnRuFOkP_~z};(nMAv`{C38B*a`=;O&%~Hb zF%8Dk%7@+mw}l23RB~MGjAuvLC~wz06!#F9>w*us6%7UQUj{Yj9F-S5NhS_ZjvS^3 zUEIO3S6gvs2j545wA=Kcf-IAZxLt>){mi%1ZS4nO;{IpLPfnF7z-?xsqme>>QK8Eh z20+k~mQ0n^q`4H@>WcE>Y4qP{IT~JdTNh{T#$a#VzwALg(KdnG?3)wcYEvNCoWr?= z{+K((%@!H_Y+gEMXKp4?Xd*_GOstNW-h|SSe>V?tUltn7U3t`{xz^j(?rb=fPqjkl zvPOvq&%r^yP9MVLXYt;kCH5B_fGEv^R4isg_XG60R=s#FWTCsG;_7Dn4g~qb&={?5 zOZvvb#~%U^kVCkMn5~*ehRl*87SIMvbfe~$S~Nr~>82B9w%=7*$;GK}$|AmnozzBC zN5yKs3XsJ4^ay5vx7+N{{d9T4hiY|vCh!!Qu(Ch@j~CN4924C@^2A)R6g5ZXLkkxD z6!=&!hhwP7RcgGEJMPnecbRfXsaRIDxa3%TD!&tz*QeE=OOYg zF%qwBI1Bh@Y!Zz&G2fuO3fm!w04?8%TQ&-eeFWQ~)LU>9oA%*8#I`mBz~k!w2$VGQ zx4Ug8;~xRyzEOg%Q_6f6;%pO4wt~} zcL*P*kSp3;;vnLX8<+-0IgV}LS!XTt4k8Lij*%Px@!j{te>@9Kx5BmkipeGU-BO_F zRk3sFCxldF_(Mh6%b{m^?tuJ>Rf^>_Y$cjVa}R6(CtmtX3VIAADt-l8mn+J(K?qd? zQ*o8sNqT4es=ge)Kxxs8A))4)xZ!u(QvV2t@UO}vKY&2F zsZlIuUMwz`DinOnPhK=yCk=yNWJ-{EB%rH-&RFG?TF#U}dDjWlxL=?(UatPo68EtL zX=L;^oQ22Ec-kDncxJX1>_w=5W{FbIzXy-=9o>X{L6mm9%VJQB@A}f1{&T0}C^2E- z)}#V?BLU{%HlJdYw)4jFLTYG*FF-77gMUc0p$Hu|;%&7<6_ON09aG+DeP7kR8+Rdo zXs+!bWs0U@=jt+daVhh*CwoJ7^u@rtbd%*%#fENH;<}9yd|ZG7?A4TArI5M*-h()$ zJB^%vnN=sCc4n*Un&kCX2O|%g86ofp5Vssg4J zdW#!fRs0B{^9VYe``q?jiSW@gl55Sj#Xvhc%qqNo7mVcYxFegWKSPw?4}`Nh!zP{Y zIt2A`Kk)$lKf_73=N~4kh(pL|<4ckTiW6Fn%Y6~%oLDm((P*7J-x}yT7bJ8r#8q47 zrS6wJ!!~w#D`um#dw5x%=W<`Bv2=VFy2C9cvEfzWwa>l##JFiQcB-B54KS|6(`Xy2 zYBn=bY*#>=NZadMPL3_n&r~5I`J9_`Z5QN*X}igRZlioDaMY2DkPO=EvK-p$tZg z5Bpzh*-1s;C|37Gb@T!ab|{5m%xIiMb(j4mp8OH$s97r%)o*LCtx%ERM&L<{662NH zA2-7P$a; z_2({7%c{z)M)WTyc7ltaGxt33z-fBG*~Q0@@b%fqU-kWwS|Qygcy+*e=||Jc%(dx~ zJ^_RIM*9k$)+TKKr6|qo(yA>HQ}XWz!8@*(nz_W(TI@^pRQ%SR!~**rhX7Yu>q;V; z+jL%uSrS8I4VP0nIe-vT>ri@*;NSEZb(oU~|WIo zd%aQr^BTC2f+NQ60?025}{YU)mq(3xnh zCw7{bDt`SiyLG^8DNvGIyl%3QQzN$|>q1M^26Vb4O1u7TLF?clz2^JtizAkhyQR9d zUo$Ntx(TQfa3`my9Lq{)pv^oN!ZY^c9cu0Y*+E-P=sfNi+8S69BX5wrBnRuy&gJ5U z@R;|x?jmg~7qb0bF4Bv{Tg+8}@?$*!bRT(-fyaRSP1d4uz6UW-IO|zDdV-sHy?=LS zx2fM{pP1??S4PHHuf&4Rp72d3Jn#MR{ikPVSC2XQa;}~T+2XDEL|599d~`az^RlQP z=TQYJkw-Ls-cP)VFi)98f)B6Fn$M0tSnXOhDd!xxTjb)nexqr&m=C8v`XcxVL3Am5wpvQmAZ`%OV9WYT*^+{3loDkA-H>Fl2R4dJ>mw?p04L=Gwwr+EPdS%u2V zY+uig_4N)KPWwhPx~yVSlwvcQ`lAtxu>6~oWc1_P6NP54XYWzpw9N30SHE;aI>RHG zyFcV65k>E+4bC_MvQ95I&$%~B#9X*k7Ay(V#@twGmp7vsg``0-Ey^H(g7WJcFg9HV zBFES$?NqG$fN2e!2;)p3931@BN|9`vd|ZnE%=?zH6d{_}6J7$KAWdnM(}TC6j=gk~{ODvh%6r)vk|`5JgvBv{j!6?hcY+Xv3N5aJxcr_`9`D#ii;4 zMl5|XG$zTGOno`20SMbTWqK@Yur|b?_caboIz9jf?(DWLrBgpnJUnmgo_LTh`IrVL zEnD!9H^A;(eU<#AS;j-i<`i<$>%h`i$P|(m2ZKx09|=Tgm8o8b>53@Q!rXY>#z}Oa z9in~6(UtG3rY6(2%T7kY_Bc3|jSXcxsc?N02ynTfL#%yoEZJnycPVjd)MKDS8?GWU zNO zkZcCyuAfr;vEE=kMu%!%g-p-mO;pY^gg$Hu91-K@(1%16mk@Gu&@Y`X$yV~3>`#57 zSrA@2&##V)-R8_^G#@jmq*yYw1`8D2}2I`dogsZ*Sr7t9Ot|#=u>x+%XJZdC4r-dbB=UGdDF~+IBzfVS3-w*S{x= zwB4lkAodE>xxV)cKbZh=LxNJmVC#vtuFLQZ^l>rJz|*c*?N5@}dR0_IA^Pea&SNiq{<(j{fT$2BodIs+ z?8u?^aCbG{gEY1SgB2!GkV_EN{>ZjYT2wm$N4Y9-xGi6NXzs4Im11xCP?Hb$7EtmK zyVEI(rsY$vX~_pYaqUF+y@Dh)>#*L+az)yp5P1HkZ^$Qyr z!qellI zO|{kaJ+_^bZhYU?6Q~|h`v^T+{v2%KfDjczA8jf^mi9pJM%Ap$kwV?#0FUTDl@gdTgeeGEM$v-k(R-3 zF+^F57Ddmf^=e_9K$05Oe3ab;yA~9_bwv3K2mDmkKEwlzyzn4YQC;*19|+35JG0;m}DIDQE?&NOUVs^h}tVdy&O+y`tucHUb+ zax@&A^Qp@w??vZ?^YgHj9{u!=xYSn7z5``Yw6GJ{K7+98pya`I{Bq=k7r| zzL{NeOwriqlFs1O%(-71>XneAk(&>2U&S9zb2}}cy{IL z_XtkD)X(R?Y~Fuk^XL4ph2a^Coa(zYC>h<%=y6G!%N9Ksp+y3)sUO^MRi2`lP0_bM zw3Eg@;|lrsp1a~Qo0=D>xDBv7_+IDE}Jm`Fo|8OwcyJ9jm%|utX z>gK&K;@AtG#Hyzao_VbhmR9X&Pc=}UqLHml%c?Nif#99chg~d=b)Nhvs%SLa*o2?8 z^Ksz*841n6U(y4@Kt(z_TRJC|V^e)zadJv9rHNTFnM7I(5yz|?a zL4HaW-S0vC?XjW&E3&}u-bX=iUwPwwK!hph2_s7En~7VZUjjLu29WcvzSJ|l)sT{A zC7<$>St9i9>P$~h=J8(n>V$)I;}>)l+e?Q9z}&-fGK$O8-4T&|o5uB6nT!_o3(|pR zh^j9&^dOch`jz$V7z(M6)I*kq^DO}fQbB!MXwt=P-7b5FC}ha2uO;pdNrn+b`$D5% z&iUUf78I7T08TBEkP!%=vRdrq6!X%0NKKWc$Dd22iaQE^v*>*AoT$$ist0{Yeb4X! zh1#9I++?R9wwfcRw^g<3&Xdy_l&I;+JRSxolPBjejqU6AkRa?He9Bm0QJ11iF4(sK zQ6Fob>tJY$ajD(R^jJHzY(GKMJ^$t_>fT>`yFZcM7RpBMA*<=G}QpdfzW2pIj zaXt;`JlOhDw~&>{rvg};dp4e^9g)@DfSmY)(tTf-+sg^a05-vE^gyI8wI?7`v$UJ# zaP^&R#2<9|P~}DLw__-5#EkAx&Ki-SB9v98ogBqNQ3l}~Q#~Ewp=zWk!eC@5dWOis zX0E@l`)TRGm(@s8IvtKri~mrSA#6~aJ(flH*%vu_GQ0$U6B(7WI(v|i0Nj=2uGI_j ziJdcmH51+%I%3DK$VW5*_ikniW4a){KCj&pE+%yBWRxVr{0UBRVOZVYkU`=h5?( z_8Ca5oQ!nK`F;RA81VO4dlX8pUe<3sWxcaLM$$ueMCUlF6Ks#K8i!1ae8)9W+p$6K zaCK$t@d%Tgmr;55D+%Ie&ur-p@_3Q-7X1G+%t4?*FLd#ny8Vr2y-ix!6yXT((J9%m znCr}rDoDXQA_DB|=vomBa|uf&|1g-h0R;;t?}ue#AL?~ z0kNaaY_Gsb0q>*b@s?5GJrGl2k$?O_`%D|$5_isMr2xMYDyqJ+X*35&4x={8#W2`F zqRFYL2GI1TKAez_FlLS+`}_}o>j_#7^q`@`+n0N0!x9cNRmYo*bInv>&vs-P7D1-3F>we#q^z!Hsuei$JxV9#IMYs?Zddg5R&y=_ zT*>tN-CKR4%ah;gq)NaN)q~j`Y0~2-ao6x9o@BVaW`%Rzz6bivs*@*;Nk)i(oaPb= zsvoGfL`j}I3=TT$r%vASz%Rn@KhW;Ta-0lq*xT6vKR7xjc`7H|yQx&H8+iTLExy%$ zs14y5rflbQAI&%G>&`R!R(nyatn;GE`wz)-ZcwVTtb2BcihsPnyi`_#knAMXd+Rdk zwJyD}bSW_GF$%+cjuUr2O`lLgWJN(2>9X3T2h_0nL!mZ9VUyp7r&C4H`#r&HrpsqT z$|VYQhL#NfP(KIHgQ*u|dO)xzX3)sUK<1k9>QiJIG8)MAjov-_H9xdEXz&eN)bS#N zM)^a&9=1Hvbz?%W>M3bW-x>9P7)Lag6ef;3BUCDix0+9|``7m5Bmdw}h+o!Al_=V; z-I?nzpSbx>&CHwb+7YiqNWjq(ekg;sz1eF_;ctPeI~@`hRnx@C<3D8J2r?(>Mgi9c z5ZhaI@aJ*x?KGTb^7Vi(ef2(+*B+D-8TJ%pw9JW<5sa|OXlt9F;8fEA`kF_j63tgC zphP$d62kepdgSdtqBKgjWY{GStDGx)o>LC2M?e&f#5v?}24|rwFbAT-jJvSTO@Zfb zG3D>$q>V3laCmR+{#aS`3Y^vC3gcQ@{Ki9{6O1QWiOMN<KGVH$r;00uvC2iTJY5q*7>^URufr#o55V(FD z|M&YL@EyeyhxR^NfPUve9Fp;&1wZmV<^6|($v*=o=V~U8KK|IsB!bDQU9PfF!B0RH zUiu~6m-?RzgSa`=un*a9ULC;iLozYq16fcDkl>dJ<~%6$r1hj zxdzBn*v5vV%#3``hKbsK?E4Hn|80!2?`3ut-tI^Sb} zh3KFD4I=Z@WRPY5got^bNmpxu-ev32dp#wXGtwbg%o*OU6ZnJi4LLO>61AkrJa{>< zSoc~0{+Mo#watUa+W@$R`aot0gFZA9)!y0sz0crB-Xv0pX(_Qa&IM-ph{mYvJ-NRi zXV?J2^UV7aSvH+B1~Ouj1zz|KwMArUHqh!OGPVY?BCPv9jXGjppURj2& z92a^>18#Sme=LGOYgo8VK_UL6{t|u+;%5g*DDrOczU#<-bSG|Squn>!bxiiJ!`nNs z`w7|Qu@x2l$))uoJ}0_nk3qHNl>J#kiXZ$ZF?;VVg7rYWuISI< zN1}TP23F5S`TY66j0$-%GYuS0D=WJf_`SS~%xuEQGX3AD!X!fmOOzm^$B2K1ngc%a zkn1$be;;Q`TsXG>rU#D0y z_yBv2)qick??sm3fc-KW5x0)UKlG>T{C|AI8@{2iP&3kwAIKtzSOD&f`oI6eKKDsP zLNq&qa`7jZ?LF)TfoG1u|FKfZk3mAH-AD!SYvcY9Cc>6@sb|kg`p2aA{^~9c88Vrd z%6^aV53z;8M*?MY&mkXiXFqDtUsjA5fRISPD;wtS8yg#`0*p~&#hT}6AurH+QN192 zGF`%9ICxU)+qS&2vVNBGg(j}rirSg}S61~Q@9(j6+*|UoeI=PcU^CX1s>qS+yl$0i zHBxKibLB5m=$?w0L+UrLgYfIY77C+y_%%lpKMJGc{7^}hY>F0?jJRrAFG8cK(2~>v z@y}A4_I522{5k_JOAj#1)Gk8TenBK1j>Pjw8~_)=8ju{2q@xsfKU5m)k(vf-x)#y& zNR%eD^Xn1c%Z@_?PSe@XyL5si(}!brxAb}R8zT=H>j*m`6!W*99m<}2X*bhNME_RM zsh}9ZLEbq{_gQI)H`eCN?fPt$b3f4;zXd=>OWAU(1nu|xc2w^7VrV5Nw4`w6YIz0^ z2IztMn-?64f-|Sqfw8?EVfr40(8a&1f%`8)rVtO)_AWCyg~BUDxIse~EFQj%S9J;= z9{|pDp994z8Lq^?JcfUb^ptp#*m25^GBMeCm7k6gIeeSm@?xsBIrnMrjkgw9!7 z<@FFno=jf@jM=w)Vcg6on-mt}xMEU2D0}?`qwBd+YYA$>PC3DL>U%-L(*o0;@UKCv zNt&vXQAov*Z%2Ni#2*|VeI;!dTPJfZx9t^CPI{SGQYsz;Y*Kd<)JX@?%fYLFay2_~ zNyDJTX5!&B+esY+YI)yP{*X@UeB6pZtmrkvD4JSAv_o%}&lP6pRY3IbDBMZdZMu!D{QkISb#>$+*Wm&dRO|=4Y z;;yR8cf0^)+?0v6_`utt5o9+48T8Ier+RPJJSG@0EmhL;p+)gS)~x~DO0x^p#Ik&6 zCA%CkImY48K4WG(%w)4zN**gZL>mH`&+aXlQL$O--S25I!K)qhxI!CufKidcC+1LJ z^B*StMO0CUqm~$`kHh~PHRA1`y>y%e@9hV8L4s0-k7VObCIZF7)DZ!~$g>OJQT0&t zHfg_ItPOdayhaSkX&o9?gTb^AGk*Dm2bp(%C>My3(jiowqHC{f+f(El05Sb~DpNH} z7W)=+fR}tAS6{j`392ELP-`ie?yciBnBUzQ*d-5d2il&_9+tkj2t52~Q%YLFTA)eM^nz0v3ro1pfMG0MDsKMTcNKy~Cy_$P{9dOC@z&aVVeOUFt ze};!>UoylC8KMcO#>YZznXuwNHgat7IN~5$4y~)W*U$qO(tMVZx>L^43Hvo?BKHpj)Zo9!55Y;JHqih`C zT+*CgNMT$~ka)wQ$@1-E@|uTpPl2g11)}zv+#nhtjZh?V{`~6nj7{Gg4yAN4mBi-b zHaGf8?fI@T*!Sg9(2WaycX|j{zi3M_2-??R?m*OM06M*05L%j(beO7Wcg-nR>MBY| zn{Qm*Szb%CwZ%}8q?)2WcBXgBUdb6oeXS2U?IqY?#V8o+u zn_}NL%GM!Sf41B|7On*p)8rQG;eOR{)x*D;NkbJ^n->Z>jiY%pV-lGi$}tBfLvMB1 zKtnFQovrl?Zd^vR+ZD~ioE*dRbL3r9JeWDv2LFvs$8f{AKDL^M;#Inz=$Q8}Ykociydjw8M)RB^&n14mv@&Y}}uXU6!4d ztjOsqK5Te`t|VFn2^-kmj>$-GrumYVS;9U`u2bU8h!Z&wC6gom89@F`q&WReFg;Lt z&0=C3ysYqb%inFQTIqg?;jAJxA7rVbx-6%=cxovSpzEMLk#a&@hegY(w%fMt668Rb z6$mE%$$;oq>%Dl6@h0SO+YpOmM=NZAB^??WafECcNl)98%!!@NIdjLANooa0_lG5+S~h8ztH}*UB6< zv7M~))o|IugI{-;ev(jBb%;;-LvCbiN_)2zOUteEqQ$c0QTB0qH?|iG0OSofY)f1Z zg0N2?m|A(K=b^r4&aqNWei|+_i9Ta@v;xH3MCI8D_Oje^;Rrr+Ght!kBMhgu*4*C5 zbv`k9euOc)y;fVQ+BG46GcE$>Yd)5k7Hba(%`4z3P^bkq-{_K#3<#yF#r`hXHcf8L~t{-t6q(K31^zv{EZhy3SXUSo%EW zaQmTm^%cT)OG-VuW98cXAtu`7ac%Ggy`NuRV@6`wZ}WBO94{RQ1$ z3$H43NJLhL1yQ+h6XW-`WaLi5&4cIU6W+0JDSQphH0U8S{6*b5Nw769iK4)G! zsDZxyD)ou4oK4nvIc4U-d--NLkQ7HiZ$V0tr88`0)*x>^Oiv>cm3IZ_r0uJbyu1S- zs%FLkuxUW`;;u46GEMUCcwwY=u@k5uR>D_#z2>e<^lhc~=B3`w+xw(T$mUFDrMK;O zuY5ig^!=K%TZy&U>ST;^&icl5tNvS#)W^b;$#Euc>msm$bkQ&32vXc8BQo^rb0 zrZ0MJEtuqZ#L*F#lojg6=JJFmB1Q3=E^)f#mR!%)QY?4FMFfuQuBi!i@YT-61AsqE z6z3m%5#VcqlAB0{0%U@o59l_(^B~vqdh_OAROynn{w4jDstv|-Mf*`BC8GD3jzG}i zFqplUd{iYv*#bCeGPP{phdmg9VPga3rAud_&Q^IA=(7u^k_9#q4(#L?ZH}qIs~i*C zwTy~npwU0;^_Mvm1S(42Fs4sUmQW5n`mCo{IjR&dqz|_QH5kpRNoP(@xG3B7rw#`CbAWQn@9ol$ zF^%C@mR~bU)uax-rj&nv&^xmYuGb8Ung(^b`Vb#yxp#217=H`wM2E^s94nz|mwUpYwhOmqEaO(Ai^pSqJQhsY(-0};x&PtGeN8Vag|C^RN82|% zGSjrHz}1n+ni^IcYpqy`&zY6%`)tJfk-9j|_8<;$XXS6U0$zr;tynyW$tdjaCZ@1) zCZm|xX>02M$hs~iRm%=FiwsjWHST5wv=y{jOH#wgHh-Xw%4!sucV-ZI+?PAl(?*zg>V;;j*NWf!X?%;lca@X==OSWKWnW<3 z`|rT@_Z-e=L`t=C^;FJ5ftg=OK2k?_TMYt8|h{;)Ke~oat8J3bYUsO!& zbDYYkl-oHzoN7}700R$)uf*I@&(-hjQY22Liz`tRaW9`Q9SAN_dnH4DEHjyzWOriB zWY){(Gj+w7!j)8)^^n=@*|RfkD-zAtH0-a(4vBg?S{X<4K-aL6zW-ZQ}U9`F~%4W`?RPHIGqx95`UZu=OUp_Zvj-{#j>H-Y3*GMo;;mg+XDy^3i1R&&;!zpia;;DV@xS~hPee$7iSxi7nR zDl^%Z+UtadEF0hrq_`&;Fg51+x0fyz|2%eGQ}|NpbWS<}SEctMeDJ#$0VBn&)Z*aC zgZSte?&H!?-3l>1i&!C40)!l2Y)%<*cbU5|X(l{EJf^9qfaZjbW!*w?wkBW0O~2dV zJOs9uA72d-?pDePOo{!JVLckAPfR`JS`#ziQUx|nANrGxDP?ErN7*Vh6S%WCZ;{m$ z5tYBTp&l~JhG3*+RdV*z_NBA1r6sn3<&!TF!`RVCChVu3j&)b#Xcj2_!H1bmoKWmz zKSYQ6A|)rXfxw*V8%MRi{7iGLw>3{4pU@Hb%x;(CAws-tVcAsf)w=$2mQ@Drk*dg)1Xa*)ZIZ!6VOIAG5+rsn~ zbzOHs8hSC}RFi_?Ng-lhPfmT_maJKdWvVpx($xw>U`xJvWhuR4*_N`*(ev&2h; zn&gQn+D+a2=h%%DhrvNAtR7+{Ic+1;EO?8bFu=GOy%x)!tzKYaSX$C7-=6wbiL~(M zG1w<6%mLvK@x$Oy^O^db+wlFGa9e=Ov}3nS)|eO)E+QJnv}OYvTCt{+9#z6CdmlRv`-XYS!eM?wZS0B7!OJ74&?vQqf^l1=<0pPXqZ zP?+1eD9U-o_Kuaz-W|&rp}yAUq%NYVJDE#cF%4}^>y#18JDPQX<<^a(_jlzR!eBukGmM_%SgUm{0 z*^TllHjXRjuCS+C$l@m0Q#%(+rDcfbpw2RLWB0Bs?yk{wo`xg1R!-FpQnPQ6JmNH1 z>~`b620q*Oxd9x`v|oGMC5eMZ!vb@;6u_RiRw4PdV>>SENy6J-iO<FOm9b1sFP z4YYaDYwE#$-+$ZWgE@nss>F$%9NA}0!n<2oIS0rJ7Hq!InMxp|OU|+pERT|uLxptpZG z;W}Ut_ORb)_GGMU1=WuY(d{T?Ytq#|$&k~s4_UlUT<4^D>Xx)N)zO69*;c#AwsB8E zSpv`tc0W(3dxX&bWrqxq{I1J7|6}|PJw&Rr1($pF5(N361Cb^bt;7^npF=ZSuV~iz zYqtcZOcA;<4s9pVt!=)11)F1}9?p;uD_Une+5R=T*jagt>{s;>;a;U)<9!lvFpE?cs#sU!{zfJ08aHQ;eO!;!*>UvQ_yvs^cF6_;&;m$qk z)N2gN*)HJyMr7f3x*6QAuH9rAfD1GYLXw#j&(&KjR9tJ4GYd1Fglfu@@+gGSNBi{v zXr7srX?#_L+Dlq!UFW^`uIoJ-RI}3%xS>ZfZ@qUve_#a4`R^dN_nlaj_|VA!i=UG} zegcT~>SXLW@s|K8x$*dYi*U%jp>w;|HEwQ6*P}HC{<9ICU}b0Wn~NpGxNF$%k9a$o zKjo<8#dWU5UVoMx!{t>}A?wCE(HVQu2^K9JaMiuh;^55d#q%ho33fj-)~q&TTfNnB zYtEd=8gMFoI$FO=W~nORYfx)zNKxQDU^m#7b^074{H`n>V_UCofW@{!P2l zykbC@K`<=C?21Mg03S_wM$9xMt*7oz2w0DH&K@hVo1s&Fpa~Ze;f{_`dvLjUqPP=| zdkaGBTtTx8h++mynT@a9q&6~ofUeP$zW!r-o~u5 zw)%2-zGP?t0^G2yiVgO+(>;mgbZk1Wr(@Qlp+MTl)outg;8hn%h2^#Qz zInZ~7(&L(PbE(;P)t2?jX^%rJB2b^9z%saE2+#$)(Q|SOnxHiBm?X0;=;i8JX zSvO9a`k?IP^O|4B%A;m^Zf!2lt+Dn6-}&Ckp`PjrI@Xug-AF8er=Re+#hJ9Dd~@F9X+yj zJK)6|uJ+k$m!^P<=|x~bmJxzW^*oY*#hT88i8TogIY5G=$8yCm!%)^oyYg-N*C6CnkRi6B zzWI16qp)6HT98@`^`O^{Yh(Z0d5@Hm`=ne+mcqe+kFq~$n;($*bE$uIF2;iY?&d|i z<_}qi+`vbf4qBYmfKe=#)5L*@-Dz)nb5mm=85d-uAsf14D!&~qshjTd)aRx>n8yHF z^k?b}+~b9Ze6<|E{e=)HS0%TS*BRnr27g1Rq1O*mT{pn;tZ>BgW(w6P8m2D7fqe@R zPt9T0%^|*t8wgwrM$e*taU?G}MEC+9WyDcXbJEtSt_~dY0ldBG_nYrrTfVgy zd$SYbV6(8rlaNChNS<3uW`6jn)%iye?$(vAcFLAkAWlK7^G^cQWHm2U;i`>$7SzGIDE`I%db7`(Po zGdoa+iNlK==@QhaPPq5s7rs90UGhgS0Dt9{nf8ndxaT7ZptHR(xI4@^x&;8(rY~`-}r5o5BEvLNu0?xQ3Kq?rVg6 z65g7>b$Rv(Qn4F9soB!jG&v=-^|U;K(bZ3F{kT>WW0QhxTbYBkHPpb~HeBtws4@cv zSbBUEvwPYSAc{l}2n*jwrz?#(w_CS5x{CaQqy|@<8S_>w*BUf)kek14SR}nzpI2WxE^~n|a=5MlJ*i5|BnVb_F+?$yC;f9T_9x&UOK}GPzgjF|qtU z=YB*Q@^JTNQ(k?=^+Sly4FG6g>keC)jtgW)DdS6!Da%5Y@M$c}N$jpkR;)dQ@{q7U zAQ->-G6;5`)~YhD=-_LcJMZ>fHnf4&AYjrZ_WSvr`RBrfoCC=<(K_z5yDGH5tI)~L zAQ~ZV6aokE2J{e9cX~OR2 zar!AS64zTzsEjqmm~&L4q(3Jn@oCatw@Y_`o+7;ly=epG9ue;Xo>UQZQQ^*NOf>*T zPU%N-s|vLT|qZnf1O&=J;@HDhpRImM$*U@TS~* zmoWR&wm3?$J+&3AlU^Qjg(+^PIH`SmNeuiOJHBp%bHgR!%|)3w_8!HfY2WD!Iv#v zR0|-2a^=(gZ8|b)U`!@@jghn_N*#mtxJ}K=nfqytT)bRtOuv;sze(w6)LTx{N9O8f z298(gO2o3V^+f8tvh^m}sT2aaxdY`*idCAdPh+%{y%xa$pSHnaA1TOSI?&9gP|ewl z;GEh;yC&Nnjf(3($1Xc3tr$5qaEH-F2d;(aBGAVH)9h++ik~U z&l!~dYfhp;IgO)4+a|L_oBFZ^P6D+%krY!9qey4RjFkFjYfLi3+!(^Z`O?zfwGWJ3 z7LrzkOr~@*`W?@y7sAq7RK5Ad_pGx@ar~+_nX$3VSQh!M%7XCl>zC0f4 zwT(O5SVyvE>}_Og8a9NM%CkIi z*FjjtT)^h`{zYQtsUep#6LspT*o-@bW__uQr1+ezeg`im&fdwrNcOn3XK20Y*U2`+ zr@6B7`i04gLT$!p#Z=_JIPNBruM^bt<5DOmeE=lunMZqHlZs5TZmzGsUGld*PEoXW z^*1zFf-Oya?`zpZ;azzv9e3PA^?b9(4@!KGTCbSOuD3_vQU{d*bspTG z^x4~bHq`UpTeSfzjP(3utzK=xC`an(wEpmyNZ7)DqaDtzUV`?;NXK+x+3MtzL@rFQ zsr0wZYwBr@D!vWB!QK9M0~(s7YWiY+fqQ!KOWGf=#JL!-)PvN6mE0-)fux#U`tb_~ zb;*X>{AYS!wZB}qWn&LN|243J>ZtT6H1AM#Qv4UkF80ii+P6EPA=SaDt1W6 zMcf*DEv5f7F1E!F>cb66Xf>b?Ciu&Ge_Mr8|9D>a^XBF2uI(nci!5qie*in;0aVc; zXFJcUd8pdF;o0TdkMprWwv}`5{a?f+IVL9M&3?R;;?@?}RSj%mtM;${GEXFTec5Q% zvTqSYy{x2{A_`9gqD+pOZ=xJz$+Z~}>Q(W+V6MBbxW>faPkAoz{VQDd;J0WS!yBRw zHEL$dZLIF0%AET+@_Wjt-m^sbl$ z6AQL0S}iG8zNZUf^(tSVn1JJvp5~F*qeBVKV=FryT4a{Q+b-UVS1;PSk1V*m@?adx zSasjzp+m!pOvb^raH#K`&*NaeIr>hc&)(j%p|_;&`eYBz$c+f}5T409Wf<(RNiRQ= z9sdbwK@B4{2=oun4~LJ>&dSa2f-2WaJH-~@K9)f)Z>yG2)KUKST=QU5^#f-iFMYm^Sy@rMR3@@4uCpNN| z9?sP%uqjf{)m<19or!Jt(W*}0^1(yAP|$qa!&=Qa^M`p!jTp688I5Ya!$t2`aQceX zfBhWM&3B9aOZ=c7+U}7W-)PjkYq74ia4hQZ)*=h&g?x0|X6I8MFPdqZxW2vJxtKpQ zyQwsJ?&^dbBg8UH9HD#xZ&bQE3jLirjZv)XY2!U({;3C)% zVb8qHtZH97fy24hpJk2>8v@r%B%F<-{Wk%? zM3PS{3b6hpW8USQ*UcynI$=2oil;X(K^vg=$s-GP%*U4o%5olnuuFr;JEVXi@K9`# zr@uVA$LqJJM;IN>hWDoFIK@Bd4e<2lTinOn>RZ~|qX9eDfWVAc_6$RD_E6cmtHZhe z;jU`nI6ar_w%v$))vYXDxsGR5-AAmvk{hcvd=K6KCfY%R2-Chg((Q-7a=#A!+esp) z0@&Skv=8@BqwM#eNKwewy&D;GmsVh2Mf%Vw{I#^%|IhKl??2(dq83YukgLB$?_6(! zzmQfo_+R&sMF=FXgd$JT+S_lC1Jcz{CmI2fKE{7HB7Xfd1%c>$nCmv6XvIc3f(qlR z8Tu6y|MmM&kbFQ|7|WYK(m(xmgud{g$Vud1e)ZQ)WD%ItW(%cT!nB*%z)iFc)!+JG zH_?E$uil%G58LU$JcJ|GT#)lSp6x&XTE-G$;**c_?w!bkk#-`d|0p4n=I?{>AJ0h2 zMy8TMWKa-2W>k{&!UU#~;8yi4O2f+P*9u>a^L1ut;RaYpW{$*FgTwGDc#D zum_pV!zSmS{5COuA9va>Vc;%L&)aRIPZS6ivc@*iD>RD8KY)inemaQ6Kh{K<4weVg zFm%d*>;>-sb(14-laLl0Q`+z7OT$gZ6t_zMPb4?2T5tHmTWO<`Vv59$rDX&6e}AUG zzj`(TF)kH$q`hGaLJ`6gbv&Y-(*K%C|MBt%U{H9jT??TNu!BC_Bi-Us!~cq}lYqrO zvboBgK5VDq)eF%786JN>5E2{+K>4fqP5PMez>7=X3R?F+1|3%pbA1c_690d$|Gzia zNf!ht+uE513;sK5NE|#w1BU7mi4Axr%OGodkZ3@NX-M9rc?ciKicj3-@!*VU@>URJnlXAic1v2TdUzG ziWvi$(N&r@XY_(_`zr$V#tnivhyUZw$UpU>aQCKgTLW1k-+XBpxJa9{T1YN=(({=M znX}|_#({8LiXdlYt-$>D4pDk3^GC`6g_e^cJe3tedbPH0SD~6{I&F+REGY`fH*S%S z_>lE1MMF|ll#P|Ea+*)4$XKe(Ws6e;`ybc&IoU(_DY`!lW2Y=HatQB+3%ud{2|-Tz z9iB|_X818~`y>E=hk)PJJg1k@=sKk6+_Nx*$a4THhk_V;eqbRus zZb`wNN7y8S16f_nUwAO7C`9vZAcltt*3t&Q0kjkEr#pov^dFl<>IH#y! zdZxYgru#rpfq*cb^7Lylq+gzhA#Hjb=xRkS^RunW5|DC&QL$It>qDbmQFtIu1TH+@ zeHkB;YgmCnf*rd5g3|ty*W8YT0``-qw1h;!r|Inhs+5-Ct zC2O&5m-`zz8Cgx5IK>KVd-nGfbo&(Q?0Q>Fv+L?7}k9)g`j7)Qj8} zscd1VF8(PoCk1*hr3i8a2H<5}dC~@*YZaokYf(^K_X`bFnxxFBx|qUavr|;^$u-g^9TdZ_P`)G1RgVtEncN ziTl!wjLKP9ohUd<=`+orUDH^YK6M+S9kG6woL{A9TKijKbY;Q@f`dno|Gq^1T2bFv zlsno>cGf8FCSN)~z@XAsu$mH%FEww-XkQOnB+tfumYUt$Q%HG}_nTb{c>d7}3V>Cu zyvm9;SY&zTGZ6WKUr_K{ytJ6$F35T$N+)_+#+Vp_p8r}U0<-TV@IC^CeN zl?IsnGoR=s;p8{)JTfwS`ht^>=;zc??>4|Fgrk;(+E3(KySeNM>$G)a6M_3HqM7LP zeiM`mN3hm3T0gFtqaZUf!;wiv+~r|;u2w%I%A_HLYdL_VZhqFTdUm!21azDWcdh+C zx@C&K8~A4cke>*y3__BwBHWD3QDh$cXa97RH7$1@_}UA2EMZPO)Xm)w42H za%~o|5MgA=%DkDiV4{){!JN*w6xV&O@~w|`aPXynA0X{=N9*$U0qC_O+mynll`?Pv zXr>N(^t9R4a{t`%4%@rIX#SII&W20cLdxL5WhqSOn((keXtI&E)83Z)gfXL1T@*#d zFGvOI4|4FlyuyWbF_n2H#Za%yCD~!0XszZ|>GIyijDgvdO=LIkzoaYDG7CnNIq$>! zZj(XF)0o5#E1aerb5tyk43P^>EVAd?faQ|AO19EC-BI4q-X=1a`GptD!$v=wB#A=s zehhdmOB=g`>s$p^j+*WwJdiYaUYAmipDqX|F`_*E%$rL zGi4F*n&T`Ub`3p+o;@L)CY~nU&&N9(pO2Mf*f-^AYL1Xwq+hN6lh*(FiDM%VC$GHa zOsTQzoMVpb>jODXeKV5o2Si7rQjIg{4}&xwj!ksb=vX=#&qj5DJGA#4|6;GwwlH5T^M>_HD=Lk&IR`YS>3+F}0n zhZb5c`D1g+Z-BF$)Qk6w<_YF(VGJ};y&A$bb|%wVS-tXBqxj0<9H+OZMX-`KRI6Iu z--hky0FtAa_3|H+@wIKv$J=|iWlIIVnp7i3y{csPdxINbRI#wkEGO+my){)LP;swV z))Je_FHF(fi=>ZGe%&eFE`S6A*`4u35Gv7ldftVvl}p>I3{N0cl(K1kAv&`yofkcUn- ze;}E}DGDo?5f#@f{T!Nw{h-^X449X5Rrs%bq-eX%4(VmZ4A^NEoEHkpLD7zU$ zN-S@<1v}AZ#IO9wbA+Fb6)jjDh#FI_K%vcUpcJimeDovP6L%1KCiYjHYr^@wyNGC> z=(JuKs)-o8P_eSPR!6bpww>?d%+`kcoSs*mXrZ@;grGvMZ8=VF`^5w-@jfM!L<}O? zIRuD3rI>9*G69|%o9ejk*w*JVN2vX9HVmH6=xpit35VAH9R-P4R|Pn47gzbXG(*Fai|4?+6dzobXP({cC6q)HaKGnTVva;PklksPXC+x!fO z{$gZ^RMl!S{>SP{JpjYLJO;?=?Qnda&|jbKa!|f`et3D!vkwl~UA7#55bj>6$5*)R z)Z6W)>lqjNGGFc9l1G=|`nAH_@Ip-7$AV~YJaW6%6#SWX_6!fE+{gBstXT^jg2dh5 zt0u0K@mtOh(ZjqS>h7uS>*<@&Lfjr^bkC{5F-2=o=Gt1wus6+u1m~rlF8mklTLYG| zy(e#6P|LYI(SAWq`W8~+{XOUZ?0$lhL*wMa^HsnLYzW4$+)H5HN|K7{#k6{CtMpOsO&9gXgE#=W)7q;>w4db zMiG|up$T=#;(MjB?g`F2y zA3%J@;F?=nQkR&!)hcT`YB@C9*^PJQ{8Y<&3op0H%bL!uvS*HGM)Pl>+@6hUmuC~i z-ezGuEfw_otDT3!7uRtl0M!QHPS=0?RC}g(yf8gUJu>S|br%a@OK!|??i7NpMjue~ zi`#(E{iwC8C(`(QmMe+*La8O^b01~;q1NA{yE$B*Naay9YU5Fa1n~h=3hr`H0-GL=J13?kn z6ZGM`j-V|%DxD;d;gm#Xzy8@O=CEV0O$3N-yEEFKt^!Di6^Qqks%_0E`cdyx%Y;eI8iULjd8%intU!HU?g5_WrjZ4Mn{v zy60Vn7bpuvgJ$-&apz#eH@P439tENhWjSEZvBjA@`HBccA;uwz8H#OaEwte5;2wZM zY^*{kW^Xn|#xMEw6r3M|kNLhu_Zn)t`x^)35$c zvmfPQ0MDu#&?Y@j@(-YN4-(s5=Ad9Y1XP5hkJee&0MN$z7VuMPuav^(56AjnuEl_| zwjBV=8^<>3XZZuj6E%(yL=$1@t+<%MRA|t1{}eDS5+-WRYC-wKh?+FvrgkgQXcA!- z0U9~CxC}H5!Za83-%Rs!eH`Ff}0^kM~aCbVzW=F#dU>X!;ALe06t^>MzfrG{%;hxXQ8+|}QRT9C1 zy$avWKt|a@6k?Dlg{WzCJC9T&;=qfu<7cZO$w)X^@_BaJ3MIH|W`vOO85h$2kTlXp zG#R$GbV}2gmN0mY0=nW_)Jb@3_Z5he3Pgy+GXzmK{tR%KCc_NUW}xI#?py|OxI+;I zAVGMX2YRl!JKG0}C(Cvr0*5gf{Ws*deq{_{!+_)DOGKp4v#Kf-&8dNkA}`JB`Y+x+ z(U05wejJ)$JHP#NiVrhM_5j>C#7u^pk5&z;!tm=2dwfbm=8hKV+w!bved5E;1Kjy6 zf+lOT@NsS~^IdwgSDyv>Y*sQs!z+jc_H`&XOgbK+kQRnEmO0L3ND1WhdigvIQU zaR;gN7ohK1Tz0DvSd8}V^~yxDWCehbf}F>e-CaOfGpCsi!;Ia^3Pk&nz9`Tk106qS zgSiOqE!{p$U&b3d zk;$&DK!EI~(s!}yGKBn4In&zX#0`F+pD+Yeu3aljb1I+~YTWR#6NT0j_68vK14Q0< z|LkYaov6nt;;X1Pp5H zi_M;w%L5p`m)+4XKy=pgEzOCgI({ zcyNAIsxF5NlIl;*=#~1{Xt_0H^3j4%H{BUn{FykiM^^Z`9_{LZV8()b2E@Qcz1)2r8X#jx~ZO46IcY0$?$WRrE44YlHAm5AkC=1?29t)W5#u3koO6 zcFZ0qjym}RrpL_*ydhu-w@(A}`CS+WgchzF>IXWgq5Xl%Hw3FCM_y{gM9H*HGn8Id zzG$LI3Zd=Phm_0urzTT6#KD=I@HPFD3!t$JYMfu}EQICB?uJ6%c5i*YIYcpo%39iH z4)|}rN-ls_R= zG3D1GT(ci#{jaBeHxt7%CCBL{PxuumsP;`636L=Sh`T80hWqk1?CW`vE9+W$FhbH{ zf0^J7*~}KR67Z6q-%AGNtJ=tI`SmNQ@0zxK>CVpwUlt-r`*uyf__4ZWIreMhQ6*7e z^|^4)yfQx+G45T{H3@QH!YLaJH=8Aov!eM!r;0JuZ{8P76vPX(1|U1qNO(~ZSrlEL zbSOIBciFbq2N#`leU*8<4=gz9kcHi@v;7*MG{)m>zgB@GlRDA$weZ;ohzW=SW+B%k z5H&qipA(lqv6YvVtjNocW%ECjTB*KVEtRiR1c4P~oMZP8)El&WPzMs4X&F zs5g{@N@dQh((9yuuhW&^wZr)dFtZqTbn-JQ$&;`1tHq>z16EnHpFPF;R`4l6_~Uqw zQ)b8{olW{3lDpr&CSBG*bsd0>r|kV!!(urOj$l(=N@k`CVz@;u3IHQ6s9Fr)@?)tQ zeor%FC%((=>GeBRD!b;fWUyAj+l&6iZvp38ojHRxJj90$r>5MIb$aG-E%dROCdy>5 z1GT?`RRRkX!6&@~Ana||0OZcl7$0?H#`xTJyko*mXqU+N=yR^%%M-M z)Mpg`#?73V5j8JFz+S=E3@Wj_R_1&L|87t|A6fAR@`$jIOeeUqg)x#A_yI^hlBM|D zW;|CqT-J%_zRaOFxFsl1?%UC24N1Ik#3m!9T&zL9jwtp}&bb5GE9p_h#akvb2M_7m zkH0;S9=~R+wnOaci2W(0nBF{R)97byWv$OmTjGaa<(`9c6y0p;;1%a}*eRtCS5l>b z+*HG_{6@uw?0Wz%c!QyRruh4)>}+nCW$0Q77mG`u1on=CIo__l69oxkw|KE^lY>A- z`>Go^02Lx?cJ1WDWw7Y#?t%R68G*0}9=X3e>f!--JWQ=0$w9k+&Wbt0sNlb*9< zT87lBjcL>U9gHGp7b8&imgAlz6e& znz?+`c@7R2p1#dOuP| z35M6#VF?|F6@=kTv62@m2xkqqrxWY5FG05W1*`a(G6MLhRr|(dcbd)Q3w!JtE_)F? zJiJ$jDrt#tqxWBb6MbQ3>|_RFeNL3KA&YIwPUkMHseLw-j0Fd0KDuWI;CnQ({sO6! z@*d#hvRj9MukpL(A(a>G+r(8e!Yjdpn_oqHrALm9=P5#R9D?1@Ra2}e_G)zJ?s%<@ zYE7n&uR=Iw)re%DS&1L>S594wVw7aZ zCqv%m3B(?vO3GLM1e9#%pa1c>mzB)l+WGpc=CP0~4l&)r!v&I$gmVNOa1w=0CWu#Rz}kulOTZmcF=6s10@&<`n15x-7&odwO|} zowE~~RBJ4`LdLUaL1x#N=TRY2!JKK=<@qT|8}egbch)@BRAhgNxFO??4qh6+!t(-_ z8Fs!c9Rs|2jHa7Ev|IZ7?iCG;w!||TrgUqMx28ra)T`OQ+q4T2T;7^yt3PBCqm+@H zpjRbTFvN;(u~zY0zPQV=O@4{#PKq4mWT3<&q*4p>yLzF1Ert>W_z4w{^`koTu24`U znZy}Fp**a|a92-?$!mgNxdXT;cQXX$EFM+w#s`5X?nCfItk2N#+Os4Uo1B*g-@m&t zuCGyrNFFy5>&|e7$_f!_KUA$K9TK3Idq5$QOxiy;#%8dQXeE4dH3D!bf-MX0fy~-l znCU^efQI3JZofAZF(9Ia}nm+4~XTb$fC*zL@F~ci9;!fb*-{vT2`p}i?Z6o zVHjJzWX<$PL8z1xH(2|bTcu_u@2_gNPHBcXz!}Hpx8A>6Q?S*gfOMo3QxaK9VAf}U zFPZS>5S1Jrl}7JrlH_3STjp}trR>`ItG3SW}zRP>XEr(eid~*hzK+&1EwnuKm_=a%ohX+06^;a5D zt?iOxJZlyS$be*hLX;`S)j!=kRR=3`WNRKQu`;ehs|wU%-73)nEp`{_nKI5q0aYT| zKlS62#1s)AlX*qgFE+i`?cMrhlG(SNKl_t+so(_(qd$=2dZDVOuR?#WSs4vSSO{B&j&q8>ymKs2KNc3)is|FJc|8}7nSL{wMhs~Y)v}5WKv0W15ffEp zYOZ~T^kZPH|FgzfA$(9keA8Vmm;=*#`pnCTRj78t~2V|fzwC1Yuk216uKMc z?Z2IoJZM%G@zQw#g{O4ps21+>wbEggBe@Lmx{>Bm{}9ZkRwmFh#Wi(xanF zF6_ahp*k&XvRmO^)&Rz7_`$rm!~Tb*bz_|nVIHeHvchS=tEd>)Py@|#nWJsLwT^MK zoQMeQA@#Eh+WLd9Z;3g|y;=Dn^n%E*OrTh(NC>2?!^+&-G)~{|NwPvqWDhwDBz>^F zSNX6;9Pai1jCC z<+b&E!#iB4XWR_ZFatH`(4`ifY#(RE{bW0HP20;hs{>8{`)lXqoO1J06X zUwmn5w15ZD-*28)UL$_ODvr)12^5Zq62F-#|Rm6J+gdC6P{CtAxzKerlL!Tlo+fH>OejZoe zof!TBCnxoAl2{K#^Vws>P&sih{vf>7dEsW+9dQ`^S)8b!!R~fD^k}`N&K-O#2d&Z| z%lfm>o6FKar007;UmB~E9LPNy<#*HzF}~85fw>?ja_?B~O-6SPw~y}t>J|U`cg^RP zya2zlNz1>gkN?sF0G=wM8+JEzPsDXU6|yXOaUqEc4;@D)@e}De3i}t-&07M`=CJ8K z#62QcKrhZ=a;9O3+G;(jW#L%38xAHpTh2fI9{qm#HPY(-Uidn+xnt_QmNu9~P}k~Y z?7BuKZN5Eg2wjEKVotHUUZF9>T`A1*x6EJc^J^Kpz3jt=;WP1-R(d7d7`9ImNKlvjnMP=*1`XB(BD|MO=)xi`sGK(8-Gm4&weMaE@Fb z)EhZ*s#4b*?AZQtrFL9-H~ohu#aT395HtXKISLO|sqv^^Z}q zo8ACxh-9U9oUsRUYBDxKWa4FglJ66Y46KPXtrd;apKvq!zAf}>^SN8ZaCUXxxfv(Sy*w`aY#%-G5lR_uz%p-syciS5kj zo$O!t|F#!qyN5V)T~HPI%t>ot*CPnu!cz?l8wva*D9%7;Z#XYLz!N8?2BG89wsZ$F zo7e#iBi18kba9yrT zR(e$R!i~ahP+_cs5<*^a?%OTV{BCnmPQ4s9TRXmiMr*g*b5JtqmU4dA+Zi|6;K0U+ zZX&A}9m1v^MU3Un;=AXn&f_G(u>VR*S;CjdQ?;|+3Q1?IEPpHNaAZ#e z#nVtYbcEiEL^>wIvHYIwBo2OLDYJhX;biRQbrG?xU4YJEPp#2yLb$=O$&iPsQvvTP;0d!RE@fPQE_FXgT<#%-a zmpAw%U1*tIXRC9?-7-yV`|A6JTY-u|cA2SJAPhFp>T^xAu2 zMJ2n1ol8j>8LLe#3cAbw5A72dqr7A1o8_}MdLLi5^*WjvIqnfZT9~paC3!>Nw@)UC zUne(w;kvZiDt|umE8M<*_o;wAhs>OZM5E=5%*^3qZuzKVT+B)vL6j3_?VjSCt zd>>!Yp?alj2xOQogD?mY>9*>rnn^K>O@dyJb7gh3`;`7-ym$s4!-#)u?lEF0upDHilZ3HpNi=|NcECz~W#%E0i zuGCM^`~kDQ@vvMBr%`KfP=Bh?CKsj^cxXlqC_a@C|Z^T^x` zm~f}b0>Q}-ZFk(NRj8Qr;q(vyjNM8Ft)|l$k<+}tp+av=BxQ+&e6vP^tAT4pW3|7{M4sFL@6o} z#F_sh1%Z>zLs*g9OW?7NrWTGSMjuZ#xK`ZGr=W8%2uhPmL}05zRZqbh&OKD%uxxE& zNF1e$lp>F)S67&-dCzQ*wDc?VP3K_akPnUyjB%gqR<>_=8jY5bV;Fa?Um?cCA16YTtd0v|>@3lY3$(SYUkKF32HD<&n8pjtK1E z6y8-g(v(mS$uX|g;r}wQFko#q@;^g%0Olco!yP3Wlh0-wfg2wL7kQ63Pk0U|JA|+7 zvAITM@bW6?6H|72fKZAP&K}+X#W;gho__hL>z{jE6yN1}+`mvF#EI^pn_ zd&xMBwfklhtnOCB_HC8eV_cC``5k(Jp~s#ziiGMA?_X?*Yh&Vm9v!_pf6xv#M#lQr zT)l4RBYse$%~z!OcgF1Q)0HFZbVCFACB;Nbv6ZW*rcg14`SvS*nU-0TI$xXKKOf{C zg20;Zy~4L~(ZHq-m>-g-qm+nexmgipy zd~sWeJ*pYkrc`%UT5u}U4zjz)i;Z&q4#ooXRrD1?R5!D1qqzcwTa-g8F=JpponTThF+7z=VoyW?W|^zUZ?fbL#Ta-~|Gh>s@)vM3Y# zL%7UrnU*>r7SK|gQuxOFF{%}7F$Ke1F@y)xFHLB(nNCiKHR7g`6C_E1YA_wQ!OK%j^K7X>PfQs?_v3e&9!>h}Wuc16tV>s47hj4;nVx{gB2?4x&(c@W}=R){@4Zulub&S&_|Gtcci zLnT|UX9?kQ3W1j(qXE$stDHwSKlpW9+6A!5$h|4hU$CsOy0qc!vpN)~)8?R;)5npt z+yc<9QG44#+SMbFTIgg0{}O^v)XNOu6vF1~b7F4o(rYSjXg;pF342bjwVXR4oZ?FL zOxXCjQV)^;2-!$u>i?ObAJOK-7oV{!+5{_{e~ANXww04#`AA7CAy?9@DS%A6`)M6* zxg)KIlIyhO4tgnkg5?7W9km&@!vf4z(wkz7+f$t2UR7VlM|I5{?kif{n}6JtUPvi! ztoePr{%g^U!j+@YCiy$mzL&g1aSE3CW{N3SWZLwn2zOMg2BNfGqdGRxCO|G6J5kzp z)t*PPZp3EtkpNi?rPXj7@&1tq(mRK))u67u7?a?eY`1ra2ZSn0(Z(uHIx+Wiex!Y8 z+1-Z=m25dyL&MDIv@QO$yiFggzl+MP>gUniwIgi|cY z{Ui}(sjr*~%!fYcemL=?Il*t~N#b?XM4?4y!H4VK+mA&mD%D0xx1D+tZ4xyLmc6U{ z>s-QK(ATz~yvq0vZKxHe43zd>BU7E$gsGt2trXOR+2U zCATfGZd>--`mag5pv?W7SJba+gJMi`HPl)0QjuG|Y`V+8>p=7Jcs`(>C3aGI*o%A* z-cAnH<^iFMsM33MnlH%=7OlTG;30yp$<86@o@rMquDN%L-Fur^t5vLVg?sOeWU=F} z*y1MnShZZ@(P<3{_3?iR7M?dcWbMel#HCwFogsE*3*p91%MU072w1?4^S%&GiM#*l z8N10=0d)3Wi8{K+htI)o1rWKoha3g2_yjVEqwVSX{rCv9SqJWR&Txa0SbJ}$ zfs)bpLHS+Nvp#k4#+LU-*X7W)0{+ONYZwbTWNfG&(;JW95Gd+!K)I=}Kdb8XnW)JE zBQLk!X1y}LyWN#N#jZcLTl(4yHq35zae4q=MNHdBm79>#jkIOm5n*K_Q{6|AANNHoC0h0O`_s1peG$)UOoFzNcqU}mbcuI&+0R43C?ONY>I7s zxKx_%3e1BmetWxWPy&a_Cul(JKO>v%CI16;=lBKdZ*IyqWE?)}mRzS5NtR#6l^`Kc zSu4^Z#g9RKZkbtZPfisk3bA2c?ps$!V~!J|krA6Nace4*DPY4Uv|)7Eu0< z<$d(4oEO;XB!8>>bq@_B))QI-4?H6u8*b2A4<&$w%CY6|Z!%9?F|j=kCrMI>golw# zKD1b(zJw=>nrD7?i8h9~au&`g6=udBMKKK_svI(7*J7_+T-MZ$pviu2IPhngDsbG^SW@S@2rF!KP|qZ+c-Xk z-4uBL=yKB;p7lrStTkD@Q}^5S_qFewtyRplj5F80pcM3SQy@y?=QYFAp=IFo>H!V# zOMbvOarijQI5&~?N1SGo0`R`Jfs5_eB!mQx6WK&MY!Hu7}=_-^sJYVQ;grvlEuId(t43wz1gRklM z*AL3_JmC;&(LMK|5jahqu2=CS#{Awxhqd33*Rk{cNAx38se}cix>PluMOw3xxP>1@ zomsS>om?1TD87jn9Vs0NC*9AjK%FZ!*^Fn}N~Qn(8^o@jna!^c!uAuu#S5w2(>z6)fq|+v`8)VXnm1l`NF4R;~(YR&#L@9vr|C1X>Ph!zlBOL zQ{bhUu2h|VR<52IiWbTw#{8V16qADH!M|^P1VEyaP>|DdLez1{ThEz}wz6U$OC2C5 z;RDKjGEOWx5#eNzB(dAIw!=e)NFLIcpUM~EiYBNF`TxF${T1E(_;LebqR}}X8R~c_ zAs|(wzt4@tC?ZOHkm=W@D;2!>cD8DB!LW<3ce+QR7HT3_yef>0hf0w?xECR)_i@G2 z$rfP&??>ZyI8g~P{Ym}!Z&Mrtu7TX|GOha0$?=wRZah%d_`AQ{uhAgQLretfaTX9r zeO@F+mHIMIso>BtRFT-z{Z3Xw&onn3sLz~zg%&1S1fov<3RDdk1djDvXs?7V4B%XY z#c1Gt5^GQvM~jauKthB-jqPU9A=VL&M3N2ln1qqi6{rr(Fa zL@v(kn_}}$pEH{;FI`Q>RO&uvDjhb&QXPeG&l(s0phWz9cd|XRMk}}3Mcm%ON)~Uf zD?I$Nt`#IJ;dAB_r3F$<&bR;RAwPiyAe=GuE$y@0ZUlPX`ASsRsB3?@cJrVv1Jm4~ z?aH$E?SD&M)EP$gm9|4mCx1js35g%^&V1}ZQm?O%)ZNVV+j|7yf?@8n@o%AJ7o;!s zjO4kPBuQG@p=Uq$@^&=3b!`u+aJI00HGva5-#oLgcjv&ROaJyw!{vb}x$I>Y!Qda| z(?=9m*`#qA^`lhMip(;dX49Xi{rAWFkDERXc;7Txxn>nx-28ZezlRh&e1k)x;L@ev zJIcT62^l7aZF>FRU#}G+n(%C&s$_|p7@F4Pa*67@4T#~FCr;C}iAYh%CN3u_mgZ0` zd$N2jmkozV0n>3I*{Sy7p<#M;`0JYVg^_H}ax#>0LnW&p3)7ceQ{}jDQX8Cdb6}Cg z&A@yT#HNlgRN2tdc(%Y)6@#Kvzh|3&qc-Q-X!5A?WvjRX3ALcYOaJNqj!Zdf3nN;9 zV=Nw(!==BCni1+>b@$vG-1sJbsU_T9FfuDp@KY)}l&^C=Ah+Huk_~U&*Uxj}^Q(S(fD_3wvb* zcRct0*6b70J881&zsloZ!Ck<3UW0MKiqxI3ySC`kE;aDG-t=;b7Qjjfu_RGfofRP< z>!ssTrf`q?@vZT$R`j&;dpQ8zwtE|lcoL2wKW#vZkS;|1#b@}@Mp|Fw&(HnquA~|Gi+4*? zv~4Ud3@N6*at6?i1mBpDp`nJ*QH-}4W^j(YU>O@*zdqiqQMYi?aBGHya{|~3+P%HA z+14xFpnDEqXm$=*PWi*CtzLW+pDrYJtVJHnXQ!%rDFWJ!@&S_Liedd(CC%OXVz7pzXDgHst3Tf2YGFC zTVXNq?rZkGTBZU_`lZ1V>IqHu4kcq?KnISnWM2TS$u*du_FJ>VztIdA{c z=UqVW)Kdp+2ZD_Mf~mqY^>DJ)r~LD=p;d|);~E{WqX~r(QeluCX6xK~AoM`hl1q5! zOK5FKe`gq*AofO-bUCCx2aHT$rayMByP7VU*iS{yG~>2;}5J3g<(Dk%GFk1;KEScjK$tM0GK`(cp?_Y zT}q#H>Ipor;hNX!-^@-dUJzl2j zLth@6S%=~@a}mT%4`5=xU)r-0v6V>G8%};#b|t=HE671cygLq$hHY^A&GaA}9!;-p z;q*CL?$!b_7Wrkr6K%4RN8sW5V|^xefF!Nr8)bG3fAEe^S|cB|j`Ec>>4|kzaAWsv zwL2IDRv&d~fI0CzMiYkwrR>V+bKl^6@VXZV^ne?co1+%E8-8VC+NkCt-sFOfs?{{k zEf1nr_v;*&!b8&H!aR5B?c$z$Mr_&uxUssM`s4U=S^mmG+?(0ab+P&+XXHYOR9z*>2Yz>nGn5SLpC z|K;;0e5J{56w6i0hC|R@533nGn_XA%4!etAj!4b6J+>s=k|l3Z(jl&?+M|Kx^jN7^U&8%eGyuEXA&9%ZAvA^oi z_N4C?+MAyyKI@w?iFGy|_L%4?9D;-~bJqUXRbA8U~9^K#jcR$ac&wr98P>tAKTI`3W(QYllUZS|EUD^Rj?0j z=;-VuQrchq+V|jtnHxxDzK4(S4RB$iVC_9iN?sD|3B{9dU?7qgV`vu%THJ*hy|7~1 zn&+UqYt>?IBhux4A#y-;*htZcvjaDRhys3>j!MMB8qgE!kzP<_Cy{4Oz4jg<%q&;B zJJgWz_Nc2=up?Tiz)%^u{Pc+z@5}Aln5S4zPpE!B57*=EL*Pzb#%{*_)pJ8H_KxMe zy%r0`28m9oYn{v$P^)`|P^dvBwDjCF_RffPpuj}|uu0Og%sqa79^m~&*BjNGo{&=_ zE}7q;oag%dULE2$GgmSmapZuoAb5 zmqR6K&T)pRv#=1#!cmBu?=~1>+ZI$h({(uT^@Ba^pzE8mJ7!zRJ_Y=so(tsoe6+Nk zj-{30q}s*2dwioVbqRPkb?0K0Hr{T|WZVQdIAm+RP@eLL%r5mgu>aa65j5W7><9jg z%xmiC>BADnb+^GHn`r3<9e9?-7HD5ufI8hx$nR4YjmA!`$AM>J{p_d4adx;#vj4oW z!1me1I3i))4~X|_?cqozwXL%*Gr9;{tIu9$r(@kausNYBQ4(N@ol{$yONdj3twJdl zO$(5&_I}w}*jX#o2MQO4G(*o#-e^m_0FutH7R`;0HFVlNR}+O=G*#YkIr+K!QI$~$ zN7%h0uu4MsR?%?vChK%r@FsiM(@MshUtaAWqB8m0sSiY6pzu87oSTmwi%EzGs+B_# zF7s^T3&0P=hWQ@#EP#20)1ITFFtQz|5PJjJ$=n5fy@%`Im~gHUrK-~-!zS;wRkgPz zoj;phzWE$=whDMpEH2rbLV(!tzT2^c7#J5l*K^~}U<0Xtg!{R=0p+Z&)TJx8rl<`z zN{@7>0`0$&eMkL-cbWSMk~<~Ib=n_4CMHbdJgFd+QxU9z0ccp_~4Z=J$^@R2ytR!Bz52 z%+RPys?!Fz@#Q{ec+Y(5n!-sHQCUAzuEmGml;n=A-rGNh%7f$5>5OEfR2!wUb(c1W zyD@qcxt4nv(32@HiL^w!;jOAMvHAK{fc{UvIqfj*!zcK^Nw{^Yt-Mh zwJ%bnQK)(f`6G=X>1c{cwr2WH* z1Z}JjrG0UExDH9~@P$P;{ft^|x6btZrZD4fG&lidn+|GeyhitTrkzEw;y24R;-ps9 zZx?5xM>_VW6g8n|dzvns?RJHlzTsIlt6j-a^}a;r3PxB%YN*P#x^BTV_M$Co(Ii03 z!Dvs1`YrTy?^+DI@K#ule+Tf3LJ8`@>3`E3K^%}sDV;YzDa zKb65l%}aOLaw7M{TdZSv+02uZ%b)A@){2x)d01Rd$He;tqSuWdlcT;md2Yodl_i+) z4DWp7NJx$Y*s<^ZKnQF} zTQ1a{@mX==&g#yR+0#OvP;f1Oxta?`bGBy&V3#i)S=h2)mv@_(b(fPrVgt2w*`$M6 z@{@{nQ-+ms4q3bg5_|ax%^6KeQgoXiQs?w8d?-u}RTx+_rTSpsYxc5KuXk22xeThC zkJ3L(J-J8x>-35ZgZPbMhfj)=UB%`3Qejni)bJTs>wx0MqNyH{>lid$<kGUr6SdvL&K|LMERH6SeP8^EX8 z9+QUHwD?^*?Q(-iDEZE_wERJVyPMM~QOJ?w<*m0r0+*H?19*)r8-eZPy1Y%WFtb?wa5aaM818z(7cqpz<8*RnmV z4$zU*+9xMVTKL_bX7{d+zruD?jeY&$D2#7Wj>HoegS*kn#F1CHUP5V#CU2yZ^a4(&EfrrjTK6&opOmHnIpD!-AOFbobiU=pH_wJ^ zPIz5BG~8TL6_YwSJ$Kp@S~|_sh2e5dC)2h|3WfVd+#Uiu3uvS_`g=xR6QS;>|HyPy z#qP00NW6DaSs!-X9N7?HJ>_TLPLqd9xhybn0hPji>}}=u zS+SUT!<)!fj~uIwx1j;vxE0U(dn;uqcMSs+)|GuHNg}>8A}P7t%nX(CVg73yEdjdD zYDT6C*6c$D-iY@SvSY4o|L7iPb-&G`RV!Z-JX4kAT-gzyXF(#G%c9V=Z+SHupirX%FJLIE%3+M2xgpPSy z702i#ngq?r?~udAs4F1jmYPA=A-KYxB9HiG&R5mYE-c&$EA1|fv^MvO9(TOC>lTxt zKQ^?)v7^~4)GT@3mS1Jc@-4jIrUKIVw&pL! zaq>mKlU+)$?Fc33P7S$_wE5~IjWCW+_dZ7WiTrkI-j zebq((*3Xx=pL3P z?(-sBM&2KGsJq_oeiyr&mE0hLxOdzE;O!ScZOrigJoC3?B?BnhVrn!v%dv`snnsX# z`mka)j|)Q?p(lW2q|t|wy}hUm49nvELtg3KyFK#`=sfMLI<+V5z1eppK$W2GnA_(K zwr2=ncV3~xz3lTPH;D|(?VkwZT#Dw&mK|^M`Y}7+m%~3IuIU9I$*Aobj9{JY*%@U9 zm+lHT7)((BvlZ!6zb$t{)(^xgA`?Q;4cYvX1&Xj5BUH^+jzZ^{hG}4ynhZOjRpzOW z>}r#gWCw~hR=Ms_Zy+)b$c_@MuLY!E(M)o#nUSuTF)y9e3$^B{OZuJrPK)f7fFKi+ z*Ap9cM*`+s=2i5QHK@N+8 zzy1A&*Q#etoWov4Vz9zn(*6${bE$@p?ulDzNbeLN(j@mp>Y&x}H<`8N_sv6IB>3K8 zl%rhSQKF<@cynwXQnw5ier0LDIh_2y7Jw4z!(N8r3MRfXrNH$X?FE|av4rvq#ymdG zx`6FZ&q~DH8FRjobou4bV`%dY=a(hu&d%*e#CNmWz&6M&I+nOrVyek(aA$GBbd}(M z>qlW^jHAG?sTUxB^O3?*B@5e49RRUL4LCr{7w*lRG=Lp7fRg!|M9+Yz-l=h5hMt6z zx)8rpw)$-<@%V5c`XM$(0s=V`wK1U|s8Q<-RBbN&DHN!$?w)ni$HN*8t+UL8bF77K zemRMpD;hH|<0 zibX$pe#upmnwSZ-v(EQ8UTlKY38OU=1(h`Bs!@kW4uBMU0g;!y-ypsDb|tbZ`IDnc z{MxF_(&t`}QNF$=(mk)pOCX9MM<;{ta;q!pcR21Az(x^yh3&lieBn!D;q(`~ zh#(k}!WcG4dA3m2wLWW=hPI!N+V8z_y)%VHXoyDael5-Z3|rx&O}Ws->)kKW-nFuU z3xnk>jS2cwm}(e>EccldpRn5^lnceWm(7IUsg#3Z+vUSMCw{7LI>X^9XHhIB3H{O7 zZLrhTZl)BUd115Nx|{xP>q$l{NTIo9&NjJ-gt=D%rE1=3F9!~m8?n4Z9=cZK;(vpD&`l2kEzOS6IlQDj5cuZyo_h#GO+nM2W4; zD_OVY9M{RU2%QJ&lW~8mkjd~Mnf9;wb(PpzL61bmtq*&#rBRuOMB5=F*C=B!wLc^T zR{9o8wqc?D0-$+wwGbPxy1@d=_AkJVJs^H1{UNeU3Ct$f&D#LceaTPaiQcu#Nku!! zKe|Qk--}%E*;^=I{G!NWd*ccu5(Y1YHLXgdDuu9GB3a~eka*wZ+Pg<_g7ipA)R|YG z+z+hv=;#T5m#{!|P!iI~5z>>FdQ&R??sW+~MmDd7pkW7o{qEhS8?)087^UtZ804Ozsf7 zolaor7CkE&wHPndBvzX`<7e1me!1PHxC}jI?0>-f!M+NP&h2PX zcj?elydIG;t#0FTK42}YRgQ}8G+X&i6@%6h@bwmkTv(oQKjHueIkJiXk#6br$>J6U zDnzITq2=^ZrRkPu*XpXVb(ZOObUfSz6{+M%5z8`ZNx!CX@TtFA3E7jxJ1}Cm$Ghcv zu{%$piFm!dn*0$-pr@~v?is*#)0Bgj8I0-H;#mM9!6B&CM>J}n_rOPZPAgm#Tg59GU;Z_}G+8k@=s z37l+k*wW@Nle6zkYj|5Zd%*U$yU{J)SqjGC2V$oYbmfCNJs)!YLN}gYDyW8p8o~FZlnMXFpWb_dU%*BEx=f*`F1Cq#9Bu!f+uems#ZQ`O^ zz6!@42{WZa>9_Zy_P`2C2vMkTXP#|cT<^f=znq;;ycu8Vwm9UveamgK#9OKCa%liY zlX)A2h9iL7)5FEq;gBMc9#j5p<%uWo4ZbBu**RvAvb#`g!+dRyL0fcQP21@x>J%@B zVh(fI6@z2WEi&C7fC)@Dm%@K-s>CHG)$dAOhQynfAS|itwFgPk;-wjsUf`AJu54q8 z1m%O-bS9rwqs3Z>E}ghsk<(<}jmMS^xm-`~il%Rys}hkqF5y-&yD^h@v()vd7UMPV zH$BeAn-6SCGAtqgq%JXk1H27MwqkeN#5?RcHd&{bT-aUQiuw=??SuW?b51)9+1r>2 z6YrfB%snO1$qSR`wlY2AM6AQ9n)ph9S%Se_^9z}z@m`m27^NBrG21%p3=GN$J^f1` z1neYM^dc1EN`ub~iIH|#1e7o+f6bn)6Nz!B;^n?VwS&1zDLm&-F?&By{X4FROZ4SEAuRUAAoA@a{YGSfteS0s$6MnSJ1j}r;BKe-s__g6g@ zw@eOTgg92asz#J!Joz?Tz(q3Mtba7c%*CM0TiuW9eyjqx zHkVe8JBM2_I#)#7*N`O}tedNVV4MM=}A1PTxzqkr33I1sB0HoyNI;4;a(KRl0 zRn`to&*iARc<765)_;Hu+Zh0#(`bZv#5AsjqPGI6*&^xr9~q{}=|SB{wd3;BcKQOX zK&R+~)TsN554zFp9^YkITw9k^7b1Dnk7~x7o=Z>0v>+Cy!(Giv@&S}&{Pz+K726Ag z!d(QK)|_C$>U#RbIJ#NA3?nv7LlP*Ug@> zus;@`U?x?k=iRL+yRx*_n9j22BI(m1E>sjF!>7t28~+NF3TvC#^?shUIy-8au8%q0 zTSj40$Iz)8=?!Mat0xvy*LEy%rvQ<`Y7fxbUB6Z5mCZ4tmu>9!JTR&&!(qn7pu*Zw zXJZW!%VZB+P|)YiTKMA9xM=@{2f7b&P8$lFUzl;5UFC3T(zAUhI9&xYbCFPz7;Flk z8Q6#k1!KEhw`W_kdT-=o{Ox-7?VZ(YYq6&;lNhQRzv4EKvFs(P)?Ko2!T`hFDe`)L zT1)!N_D!-MY+ltHeH~#uSNch*$4I-ZgIk((6GBU)2lW22i#P z&cRGlGt}23K{N;5C#%A#;xfc0FU)qWEG#T&^vR6*d&GI~-dO^t;QPbMTWE;I^s-yl z9`ZAR3q!2tIa)pL`XZ3Z(?^sXiy0`j1v19l%{ReT_d?`322+rSvk6RWW%05<`rN(k zk(?mCa_b5M`^>p~wOGks#AW@0%9Q(g`TD6P_ReLtG-Vnu^SfM9mn%gE65$Davm zH!hwzuN(2hzI|)vox#QwZ1KI0Q)N!2+1V!~t-l+_c+PxjJ4rF)(Y`(N-qCH5MCjo9 z!(9oPt+bz`WfaDBiPWAh+h+N;gFEG5RNYhY`P;&*ZeT))46}9gUGdb!x5wK>{HY6q zj!&ehw}G-9*WjT$RVn3TW+~KXcC_BePHOabT|X7o6oyXK%QouQHZMbG8|&~X#uQqm z$x+!2sXif3wz!N|)cfAz>Kqi&^zibn+?-okSGsdo+g-w~r3>NjiCc4)94q22cXTg! z7(1b*BCIY^$v@4WMzu^D_diY_dpa#?IaoHdve9j>S@(K=2BpvQNOddLYB+C){h4pm zkMxXetKytcoq?q&D~yKS z!w1#7-%-aP$_sDs(-!Qq@rbGa3BmG>hNJ3N)w+AwF2@PMHl41+g6(`{MhSH{uY|EW z*Uds@!dh3czYr2+&8m^YpDMoQJ|uJw{K50m=vr}hc^$*<-$&9fz@;mUr@Wwdd)JqK5|2me8gLW>R7C=eu$X{Wk#;>5=ua6b!CxZaD1ecY_MPj;dGPHO@Frr862 zbp+dR6T~Cc%7tvOR>pt8bzq4Eb}BriFK@6h4(SpDr~0-_`8>!AfSZ)8j6BY*v9mJ* zacle%btVTz{rLKyh@Zb!*=K+)IPCBpNB{FhR@_hQZ~sji|Igo&qU@<~n5IyqvV>wC z`j4;wvX4rM@xwmo1B4xyO~3TFO86hV1#G_}n=sC{QK-=Y3#R&tvu!;1U-!V-HuAod z|GRBt=Ks5GV~j?~Z?=sye>KbheEMbEc=Rg{GV;r|G4ubj)$?(BVX<$YSosA7SzV;% za2AfSBCEeyI0pRBZT{-x|El8smDm66(=Q80yB;B2S|4lS_y@`U&;I-Ep1&*{Q~Y9Z z$xxhyqhb#SZY2Ho-9PU2pSg;^WAv~`X56{?mxZG!R(<@Jg`-g}4yyM@&;Rvxb&1R{c_1r!8Q%f!V%reiWLL@{gwZC57PID2hHP$5!mLpLJq!Jv3ElLud#;o?C%zi z2Vgxbq5Rj*`!x)HpXrijWwr@uwEJ=}) z^Q^+y$QnuQIwZaN7Y5Lu+Di1l1{DLsev?zDFUQW07NmV6KgMMJ7o2nh z5icBes*T02r7wJ;DNc)#&HYlG|Hn(<{`mp{OXi{3<|wg!QVP-!e8oaFyMJq-KZoG2 z|C7;ysM}&j=-n!Iyf+}*{G~W{*Z;CCjYI@p=`i^hu&Yo5a+nvNd~_DKo&Gj6{upn* zZGfKU3l_SJU4&9Kp^X{tj`i67$0EcR3Gec{HSZesCRWH&M`ix>-*&h^Zz6}ZSmKdc z>{gPBhMVZQDT{Od$4%;W;7wwEj^iTBL1gS~Z96*uYvbY?EVKe1Yp(Gkc0a`gz~L*domnf>+GfBAG6`tbbf$S(r( z1$d2TVz>XrrS7kB03sg1vcvv65&AEbII#HNpB~$tm?IGBbbPg(#9#->7_{?)V;?;J zqnR|1!9!S0s5(Vsza$PLvHoGO|9{=%5fV-P_%wmz+x$dqajUqj|6D!(_ou!yu!?FL zPd-n;ZEbI$XYgV8|3`nPBF451-sIx@u%qf4GGLNV;JEAmekWgLBoKRO9_)z=#3JA( z&$RNn{_7?cn}&ESX^CBf#lNalU>^mj$ioy-`Y~f0npwv zLA!{%)9xh@?QD&6v>>Ev7(M=m2Kz-b2(vIY8dMTE_L~BpKRIZ7T7tsxxm3)9rcA{7 z>mTn^uP;;W$DBDC?&SI~qhuBo}YaAoNvV243WcC&c0sTo# zIdFWlx^w4yI>!whOZc}3-G`sV(6VTw>u`EzP4qFNV38h;a=Fq+Xw^coer&Lo%7?VL zOIgn)Y>P`0f^Uj+=FG5EArZwvrZvCxW9>>UoHV8f|7G=Xq;FZY-j?2EQ%7`P`j)p) zJJd>N9=*r|fvhCae%v${L$2@E&~p`geO5xy(xcNob+N=g{!)R3*2&d47J`%fHZtEi zNo)>c$I0*Qa+GW|*5{QJ#($H?vzkes-Ixk|sR zl(XUeVa-d(wv4#IhUhhi-BvC=e}Z1@WtHf|{? z=&QfVhPr+}EGJ~+@%2u(BzV!ffMfs#DWh&}#5bmY4j~y#A7O`Eyfpd2)V&&iD&1b0 zcI8t+__BUh<>@$2aNm2#jN;=xhV6SkI$!-PLuM#Ld~1ra_FnIx!DK(f!}B{Wt~E#e zzoA8_;ybFOks9L77!B~Pm_P9Npg>;L(uMrnCb#wr*FS#ZkBi8Va!p~})et1qNIi?U z)87T+m{E5PcnH?yQ}~%-&P4MQ7rI@rfB%o63L$4TzL#`Bd8tAel{5FJ?Tw|!tL5x4 zd^}p;%woU%f${sEZ&w!+I)42d&K4e1f^S!UAI54Ahp65s8E;Z%`tF#*zkw_NSdKp& zu=iw!Hh*Gw+7dL8v;s9@-N?-UbQky3a_@G=GxOwONTrVzIMTx1WE#m+qhq~VbfeC? z7hQULJ9o!dNB+o3Be_PCgRH+~bpG}Ry1qV}Lde?TM+{CFqA?O~MM_EO#AVfqEx^o+ zKX(ad=&FavJ*BsQszyeHh#-dJ^oo+SDZgZjGBG(b{dizwWF7IpY|)Tz+Z1*lPfSPg zkz!cXof97J(wD(BE8xR%s#E!q-P8pw&IHp8^NmRV;#Hyq?|$7z)6p9L>QFKf8iIe> z%`|!N(=F04vS8g{t4E-h3x#+N3NL4n-c)ZO$F&O*n2N-xg&=77R9n2TCa3F5rB~^g zPRAGJkcA-ZrN2)hIQnYH?4UN!hO$V>#`_`Nk{<3a31W(1)BZ0pen+Mci>NHwDj;@Z zt%yb3dF)62)}**eqdAYConEbcEbE5uXdY87FSOrk#)EO(QBwsT&&1<6&NE&SpZ{gb zsZGT7;`0RJJ(23n{x{sopU;XZBkU-SA0{|@qXjAy3Bv@IOpS7)|MxS>fKp9x+nkVj zQ^CYf#6qnFb2A5Yh5x+ZA03u{NyZZ)rMXo<($wE#HMm9q~OZ5r+*}2gsNKaq_=e@cUuQETnB%Xf> z0J_ZE`IwZDFkEnp&^nL4=*2DyGDivF24E8sMuqC={K0K_bO85<-v?L=Jw7<#+4Qz$ zmd&KQE~iYeH&`IqkIOY+$~quYuxZ;o}%*M*%)>etS62f9MUn`|G_ z*1ExP*>v$RR?yJ=bFKdMDO3yIUh&XP+(5@5+}cOxpChsJLmAoV3x@vfz81=GeYLda zBJ3BfOyDAoSMc{CSJ&f)UsYa7we==P#{;+m5Iy3p$ zkli;DqBBh_JBSc}Qz|thgTiEq&{r8b2w9p3?flzbj>L22Y$~`DPiQeT$6K;Xc=!y0 z_5eqVfNIO<%r`aU-vE2fWuy7Syug(PbI^}?)6FQWhbtcOJwoi-K0IcOn)v+kW#_pr z*nIOrU+3AJ4$K}9leGOZ*PE}BS7FurAUn>n-0ntyhJm1v%S?yW)o)_IEh4|1*;Aqk za3LLX5S?%q?O`O0R2%{Q{Cq9m(7sQ+aYoD3pOeLviwr673+aVHD3T2^L}^44kRY&n zdZ|N4gJGNA4Q67%6GR0Z^zkZ8cOcDws@upZ7+gkn=~R!cJdZu=9;tGo^gSih$#+2< z(nHYzo8;;BAKqDTy9uguB8X}zvxKY7g`!KJSV}=7?+erytq`$Gj>l{d9$I(C%ab_m zZcIiIP>a1|y*=W46CB_i7|o=9UmAT+Bhj!Tub(mQjCB^?s?e=Td~A#Y!I|9z7|$0= zc}V`3mhSCtIT?y}`$N8!zs_;uh^C6HAEIFzjUb@ujhtK0eFOW1qf^s8H=e6~u`M3F zc`QaDYyCc*`bl6mUF*2a6H!!6%<@VrL9y317?3cBW&L7Y`#uFRovN{00?UX3Uq7?Y z;bC8IA9LYGkUM_X=i^^FlA&xsCixp8BbW(#t`VU6==lXK_l|`{>|lH1&z0T^iGLbn z@8Xs~4C1}~qV|$0N4lCR!ZHMyw7Ghq$n}quPGG|`Szwb*0Re(u$V3BT^>nrAJS=uL z{`W-WeOZ_BOvwa~VB|i&7if8)UKTo$ezT{>tJybLKo`shLIS(V9jojge%f zU;_kepU^gtWCPJ)T4ND53wg2(6+Q|k0%ZE4zz9gNIyTX9nuv-WNKjDJpY1Uoy7pKA zOckAe_U&BRnKAeV_5=B|FiuE<0tnA{BK}N5j$h9&<;U%OY5Ex`y&1F?}yNV~%k1 zVeA2P)(1;dUUJ0CZQp~3dX#MFj%a95S2Ki}CJsCxiu^JBY#wNR2BwbDoN!R3VrxYm zsc|_!TkZk&Xit?Anr3Ems-#{S2<;b6U91;OiKiR*BmwSSjWB3zuMB}C;y0LwPPcyG z>H~jn4Vrkcdh(AP&V7t+|4wB2yxT0Gr0<0frcBElx^r)-?-AE_4P%P zZotDONQm|q0$_FfhZ4edt2a|&0KTPD7+tr60BFDuU1inl@v)?gLgcDN%2%1 zqHGQy378lA$1#!O~13|J_E%TsA^o_h}=MJ`aB&_y6mw*cv^ihna7>Z!k z>~%o%40D$3+uH*YP=5aGMc{JMnskKF0nclze;SbwhCACN-1%Az%rK^~dj=ylB1EhR zg2)M$x(LwWEB{nI{(gZS{*PjqFjdnYgTQuZ7!|Ra7o7HUQrBS%}~u#g1EI zjs0fAQnvNyJ#~SO7P3Ai<0?SqH3g z1~!(082eq8TW_DXKMJH`xoHQ~NyX0xge??m2yqL&GN?9SoV#que8J^OiNmu%U@b;n z%`CR_;dpViA4wEqiWAo{wE@lyubh>|KMZrFo-A5TY<}mcLdz3<4V%}MQx?b zbabLsdL~9)#${+zt-Zq`IXNUHm0BmOKNv4ZdwR45)6p2mD%tH;j&B5UKq2DncyD^)6L{L$_Ne6ma%=fcXO%QLZE7$| zB)wHIxXZ{%Ex|kg#@HFp;h8?i$&cO|@u&5^_5jf&m|tx@j_pjGm#m20fY_Gy($SXW zP+ozXR@Yxcn- zxYx9OjgYG2QsQ;jd1PljJ>8lR*ozoC+*pERU=+X>L~m#Df>yq>+Zt?|VBob4U>oXY zAR98fbd;_lOj3lBvcU7?4ymq6i_D(rF`I;Dx9Ec~YLu2iJ=RndpsFu2G-*wzTH;ro zMw{sYM7%g%Iy{Ja?~B=9-u}~VKB942QI~_ zwQ#;QsQ~nAdE=tjT6t>mv*e?5m=PbuWsGr7qfPZ8BNlhA+wE3lSms$Ql(_Mk=8T1? z=M_Hsi8Dm(&R(7Lr1s&vlDl^himTtdKzzQ<33Xkc>MJH!MQv-VwyrF0&8|$kHDB@C zFiUtOXa$(a^b;6wccTfEKOMq-IHD*2oocYG_DNY3kB8FZ8nTE=9T!+&5+W;ej6114 z4Q5{&j9#a{_41ec&YuT}UW$@;GNM=gR6j#{byxBYA?|STC;3E15m_tJ^t%eJ4f@R@sE2q98Kw&M462K{47}9EVRQwjk53xGaI(ArJ8@uFX9Ps^FGJ+h^~pD zDnvdUQ94kelE8#u5Zl2DTMm)L8lb}2#4!SPDddn#NBYr32jKGZ=m}^t-=%su5-EpA zE?0tV>@i-KZF2pMV-|=F>Y}fx8_6CRbjV2Fk(i8jvbk_e!nextU}`v~8X#;hoQo^) z@er4?ihyoIYk`E>y08gGeHd_TTi|D)V!DC27N*h}@%+?~m@hEhe0A#j7iRP5{cpSI zs< zK6*RXd0Km|O^ScuYc`!HZyDwlx_8H$L$_LHbRX6DYks20ZjqRN2zKf!3ZCq)#E1HM z$tKcN2AWA>+u( z$Sws0<^w~5oZ8~-Cgo8{jJG_)KucBF-R43P4v!Z7_y>k@QGvf{Wx&yQo9HwV$+p1z z2=G%8{OI&+=lCTkkey6KzF(LYvq0~Xl)bmRR@F}}rDjkUG%KSU*a(|4tFA=LR+^!h z1x6xzaI=#vyWFcbsa+>arCpDxI&8Mf+T~}UJaMGS7w|nJB&SRDm#1{SHYVsYG##Bf zy5I1M z6rS_pXIYmIpQ5%gmd+0H7PA;JVAdr04u`GqWoBKmcZ(;7A#|~sd^2b|CRoMYTeZ|* z!7-`Dpii%8&%lsfxoPDDaSQR|aEPv2njs3lXKTLn6**&6Qwt=F;v2m=){g#3g+hF_ zWcMk=@86R+*WcwbN)xzWN`w4`#d&6tJ@u!+U+=wYHDHf#n6q2bAhv0z?N6pB12nw1 z0bg5PzQSQi30h_4*jp|Rk)8h6En$1Nf}{vGhg{|TkYKuS_^BNSL%~va{Jwiz#Tv8A z&~1DrEfGU1o!cV;yHr7_XI!0msyI)kKax2hOvtJ3!`UR+m+sXBpjvc85JE)U?zeL-jS|%%v~w{V|o``w3Sz{rweQ8f#JIvwpJcIc>HC45&~?xBMCD*v<%X zI3mCJtXL7x4}&As(!;@9jKq8Q8W@J3;uS2+ZbEsk86VgtDV_hUKn zblX?CK~2GofTQ|R1uuAeshZA{D89XPJ2J^_ zbEFn`W4i6k($Qo1XGbx<*=7dMOyrXgsIy(}h*sQVz_Slk>Yt-Ah?k+un?6si&-6oq zfngw&Y&4#nA8>Z%qsD=2h>2<7>xW_;iqD~6GeJZ48)7(RyeP5w_ByrH`iLn@`oRQc zI)lPN`3P~@4%|c+MUr;d8Ja@7++SGvw$&v z>bgZP$j2E^&g{h^W{+uI?bLlJ6GkKaHDp+rwFL>uRSiK|+Hbs`$719oc_+EZTodRr z`?)L;{uP=dpD^F?r|%I?4^b?V$@;w^#Q}t9`QqW&ci>unS|lR`=@?UA^jzn3PquOS z3)dOSAB(D8G4cJp4e48IvUr0((x~H79a2DBpelMnM*qUBO@Hgq8@y3vyxlUuuxf7D z=^d_5w(KEv`B)mRan29X9Clb7EE|)Yp_hdDG-qly-V0Tl@U&2LZ}tsP%9HVoHmS(Rq%l zJ;`B=?{UO2-Dm>Od&&=qGy~pk&mTRWWDPLj%V(Set~`{jou4X<#3$KYcxZ*7LglWF zI=yUM83pskRL9X1{^rz@-(^@HP}~}pu0+hCi~x%~dTGwu(>%LkwQsd_H_KU%5po0; zOyqhZnoEAnuK52{Kczp%$*)N(A~5)o?3cJak}-IMtZw!1GTHGoIPF?6fDA6GSn-P~+*z%0b|%cdelV#G-}DPo)q^1%;T zQ`|l5b#rnBY?t4F4$ydW|F>Y;RIpeH*s*8(2sDm}JD~7>D5T>R5LLqT4L^l9JTcT*0ksTJzkJDRw&AXOwg>2bTB zvRtP2%FMg&w^roQrB~6*=&0FR8kEJQZrw1YEsjoM-3I}J^~p!0G2~QMr9f9Dr$tP$ zTmM<0l=(rlZR%T;jH!?&G)+DWS-n3r$7uOp!}vZlmS;sMhwlJujKv&Cu^SuKGQI_# z!?#)*X<;M_?M9yQq71Fw0n|K+Q$JpQwD0yPOXwWjKRcvD(g2v=Ns}W)RKlKqRHCFq zI()LS_ibv3QI`=^Zo#bP^sR33gP8@R7s@ccR~Tg3vJhv?+YT(L51{mN!fNltcSuT! z7>Y{D#yFL^_lOL(_5tH{OM9X&As|k(chjZoQe9Jmgq?9pL_@~x!o@<+n>oYpU^h&< zlN9o{MFulBsxS?8(>os7N7kFl7MS{knXyk#XVTL zC+$9Y@cQKP?vIs43$2-uU38dpzwz6V6-B!KUhUN=|wqlx}&$Vx5kDFI) z4bDpruSg1re7_Yhxk4z%-$woQ5dOjhA`KzX`4Lq28BL$24D%^|sQ0HcOXGwz8T%{u zJfj<}Gb^%#igE;mH%QCYgO8!s+7YLz+a=3FHTQ*w=J%t%K2=zNkeM&<*nG?L1ED^I zhdJ@c&dcCqKc2is_^ii=xPL#hrb#>=y)f<%@A&p>TAWlKnRhihU~$gk-GZrW#*xcK zHkUYuJ?z9*NX3Ii4xkc$dek}O8H17PRY-FFuyd6Doz)-Dpov@|xbqI&lw~D_5>ay$@LY{Bh`w_NW4T%spL#xtS5KU66(O_-w95X`}$Q z(e(&n274YNnFA6N)VImG6d<%!Jg#y0kzm#K=}JMViKb0pJ$AL7)XeUj^~)=5@exrU zJK4lVe>L+QS3h`+5m@@1B;*DpsGY}^)%T0KhEX1K+r-8oP++DvE`CTcF_nEFU(KwY zK7#1)Jq4W>#OJ%bRtx#*#4J|^RDu8J8eDh!KIOr*nBKV47fIMaT5w4CU1j{x34K3%VTFzVeIMFH@k8r*=axV|23@=U3!lFsPew#^8+p`F_z_0jY3 zmVzCe)+_`L$!l4>J9`b#wYg%$PZ^Hsf7Kh`I&JPL6fb*%RtzlbW)yjtyROC%fG=@Q z5<4dkRjZj{ZeDJ&wse^6)C&cJlW@dne@!PvMpI-rXsD7T69d7C)Vs(BgfF;aYQhCB zYddk>64a>EJodfnOyXtJg`SYau6loBQc>EMU&k`wA^2#kInOk3zIw+F#(Rjn(ASix z%3=2S>SsJEHAIX?wEZU@2}QbE{55fY%^@Zcd~zy9stPt0+=SX?F(geP9DR~Y#UlFP z9R7ix3xtOIQO<5|N=lk2xr)JcGdY6F<`p@uNqpiy6QHy=Zs=-Q$V4D&KGC33^fp-W z6=YL)(VjNz%DTi22gX=xTi;U;co+pepCUs-x8q9y-M6JfSBROsmQ394&#kG_fQzy| zo?BH5PZ2#|*I+_+$qQU~KOBlWbBh{O#;jHSLc1*w3u7ofbjZouPLGtBb(a)5ksu<=J3VSKN#{8l1pT;OFx`=Kr8a&pGw%x+7ICagI$VTS zaf+q=`gLx1cWbd0=Jf$$5|UbkbPL!B7H~s5I4i6Y6IyeTn;3Jp?*oJ#IriW-|K2$7 zhs-CP*4E~Wkh7_k8HS{+jM(UXx*8}^T(XYm6CNQvM8T@~$^H={zlL|DgGafRE0Fbo z#`8KUnu?|#hc`f(G)cR=4%r!N))du<18&>wkZ^r!a7u(AdOvRqbwH0#%RpkTPcwuq zY)ft9-)kSq1%Skt`9=DG&I|*R*Fs3y-ofa8i8zt4c1#DuFsc?ZGfzDj#a>5&H&2OKY!>=i+})Y9SM0t47oL8HQ<-hMQbfxLm>$v~ zY^yBECXa>vrD5W;AfyCIV%6?v3&sVIBXT2rooouo8v7E+%Z_ik#@Rda^13e!-0D*A z?TPAaY<3bHL!DoXbf)I&fslbw+ELmALbvv`KI;mX#p!7>q-v8zd5!2>SU(*7Sr9#= zzIe!9iwu>w`ReD;G<4IU>{(&uHw%<%_Y4)5R(O4(>MUe8Jc8zO9mW;YMGIa1i9gUY zY!`j4DM@BC{I$3JwaqC8!#L2Azg72Zd~l;~Q=K<8IAEb?VgL21(nn{4tRMkK)SD&o z`5OWm?$9}bpj(%#pQxokKtAGA3gCZ&5Dv=y1o7EX%+z;lJh=HRKFp9&*=vuPs(HRF z)S*XduD&Cn33^Hd*;GS)5yXMGU*YL_|K3J-@Lf!Kl9U7ck3ZSf5N?5o3@DKnb;C!B zwzs#d2-7)*O^-kVeonOMih?4Nk*Dl`G7@Nwsn-e0-=Prk{`>_<1v}ezd!BN^cj-xM z4%xY(U?M}SQ1AV%UVOotNlTk{;xP9ng(r`^g~Hya4RzgTh}m)sb%B~Lfr6ZZ{K(M9 zh25KqcNFA$`U|1A z0WpK|#T1bvWV8p^CMCM+OJj&b{1&2}n#f4loHfzHb797-pv>SrFyC;YkGF0ak~@K6 z6Z^`i9bS8YbY6e7d9j_clMLF=!{8)Q?_k8DxW zdggd7d9jH7%U`?Fxg!>d*60-|8Z%?D0g=|elaS)Q*%?Sil`6CRa^PrF$ZbLr)B=`T0-NyFWTM~L)9HP8n$=h~{bydOcd=aQ82CRuF zpuj<|Uvy5pVmr**uYmZ&d3;!T3p&qRyc1VoRVX|^+q}p;UbDV74WU&nI1+J4zdXA? zmv>Li%D_TqnZ@f?E>OB`=`0g6uQXry$J~22MF)}Oru7IZHkL7EMgAGWIGpB2i03-^ z?B_nNcTit=T^q<2H`|@_B#m-L?Osf52iMts!wwC31mU4O31+0^q`kp@vmhoIa+IEy zllB>l^a!z-s0q+0E|DPe%1hyqluDcgc9~+#!Xd??z2jC1k|2Med`; z#&wuB-%33t(9bqv=BD^sw^Tsz;N^oGZS@u}rL-gO-JO^U6s9;gDQ4zyTF|(xKv;X9 z)8$H!jW->X9x1f4#!#65F(l(0Iy5xYM@uV5Tb*P=kFVVZ9@U&)G}a8Lw_HTBjy_eO zO?oOz#qV`ttys2$>Gcm5l!bD(Z|?vl>-DQ3{=|_Y1-#L9;KWNE=HgRy+m&8QLVM$i!Dq{VaCF9toHx z3F%QmOBC;>RZQv0Mqb(IS)6=STQEy~NK+(UR!&2h^1i6px&0M~pEf}B($^N^(N~S9 zc7ry0QS4dTXKtFRxXu1pgF^u$Z<0B>u3A{|k^34lh;xlaK=4eD-zt5Lll@C!FVl3C z@f@l5`CFR8@6Rb{_!vV#9wb+@ZYV;i4Ytj$jSn@J_w}Vc;!@>qB;Gr+y}i^tzH+MT z+ef#3xu|Z^R{IjyO9b!nB(5bk1E}<>%@}yXQcC_h)ckeunPP>Y4Q-yqnuc9lbVFfx zAU~0=^Gqg?R@0(|i=tDuHZ#2i;}?#}ljm`)0Wvky*dcI|;1!q4t= z)<91uGTA1(zB}`e(BtsQZ)AMJOiLm^7+nTw7c143cMlNzRvE*6Swdvr7l$DhzAx_d?L8S&BSxsZRqI!f`Ny$9(_%#A zk2v%k5{K@uG*&Tmxm0 z+iIdPS>j_c(8IW{9B@kHJPG$d2Z0*AgTi>{HCoSfq+Q+FTp71&QrG|W#J}E0CXAF%IJM0R&4?Y$Q({Q}+kIkvgT1*hC#D61 z$3*jw*2SKbeaR1KT4+|Eb5X`VPK!A7qH~j>xHk4ee7x|>=qKjb9{$J5_y5OxzJWl4 z(5oA2+>D~Oee?iSiX-MZd;Fihj(gQWfr2JFZ7U^Mt2AU&pSmnZAwEW(?7e{q~N=YXNQ<({c>a*P2=x1=s zrNMstAIS(#Uq}4)GawJn3Tt!~A0ZPf>+zhHZw=gi5a+vlPA)lz3E_=|W@? z5B9CYV8~(|Rc7uZj}dek-`Lprl+h62;%Y(l=UV++2a4K<|2o(n(aBh}w71h80W0lx z3lQ^jQ80g-ai4e(Z{NPXz2)QY0{^fyo*N`7(fzQq_k&E$SDN%Z9iA*Dic(+mq~bOD z4+r1yemuzVdcRr_ajx436Pa_uMSLGQuNh=syhpS@(?|B)(YB9 zPcWV^dQ~jFk3yg8#J|zGG}Qor3p)E}?oQo+mR!A3=$AJjgOLsQiN;ZghVThdFWk1Y zC6FRO8=+X-(S z$4xn-q8PL06w4jEXia>+$>O9X?8~?4h5Cs|F&xWBVzx5o@`SVldhtq3(N__s{6xAm z%`u06DPdNnt8qL95TG<^Vn!hgjxxtngbcFtRyZAeSA1bjvCvdW9l|$fhNH)W!tN26 zvB7{?9r|Hr@Nbo^KIgH(7#9qTQgue!2`oEwpGtY^WV1SL!J@-Z$D3m`@X%${@w3wT zP*Gv{0%&B=fjcB8^e?R>m6gT;-Cdl#|B*OI3uT{#>E|78cnNLo<-u+7k^9m?ThkR~ zinkWSag`h^-DpXb`3z;#lE-uocAhTZhJyOce3226h&$yr(x zm9qYnR8?98o{PTK&$b=|H}!J42y-mE^43n>I3|VLo`Wx4lw#jGJQVIhL2K9Jw;`un z;GFf$t2uqOuXbVxzh?eUk8YtsStJRv%s{PRwBc=cBL|55tgkc{=F}zxERXgpUpz)Y z;Wv_oN4lW;ZA`+_m2IfB3&%>dCV9P+l!R`lbnMo;{2N>fJ;r+N)8h9lGNs0hHsDO$DAEn|0PI+t=OZYg55ARBUn#P zN=o01Vv)v4(_Y5%Z@uv%ys=D(f(Vb%`?Uf8$rfT+VZW#xzRj~$ox^}O`dKkmg{^V> zw}ri%;}tB6`x%1@_*KWw0ULRz5W|_@A+*2!68oNPw~3FI9zQ+<&0)WtfI^{wh!al{ z_&0R&_mY7A%g}b6Cw^O1CEBQw7pvqAe|znJdV&7LLIQ2?-{yN9|4fAz{C>vrirFv3 zYyb7BV0f)hFr)DnDAo(QMORm&fiDmK$1?c&SGB#cZVkC8w{$0Dp(9*x8xsZodzJp( zo5OqH7r~UP_*QZ0L8~4Y5p79u{*M{)fp#3)eQ|5qOv9?07QFO_!QD>y^ia*+{H+#Z zfwqj{aPhVO@Dcr2r%5$pP)A$GHMUC0G@%n}f!|O5Va5|^QAcBA6OW>fN}Yvo7<~RB z|DOZ&zy7511udkTeQJW}wb*g!MOl~6fj>+i?mZ!#h^Y%PLim@7pn)#M8T_eonjPIC z<-&*P@B>)}tf|Dy4eZu`=m^IdwDjIKa^Po7su+E8zu>+30in zCu=6ZNK}vae)Huq-7$qc(SR*F5$tP124O1;(3LrfY$E~p4Hp5IrRmo*$@l#4%#Rwr zbDXjY!I)m3ELhZ=1z_OC(^-jZ1io~`9eEie_3_V5yWZzH0jR19uzGu2(+4xIt{m?+ z3bnidR#g@7t(@+;B=L6ZKK*O;^TV}*yTJIu48NoM&%!u%ob=mLUv(lyav})Td(o)t zy^|4O_6Ahno@)9ItYe-d4T=5*9}$-x_^QdL^q#$@mckvuLOigYm|-{<@vpvz)Vg38 zO@=;J2FVOTwW$!>Id9C@7u-);Ba-QewjV$oT3}=W;+aomb37N+A}pn{D$aw!uzEce2#DF{RR^+>+i(4asK3)!M< z7Fot`>-H88EYxcG^4<7F^9t>s_@)>hXu6ak`BK=$5ry}QU3Uf{=KaJ1huuhHg1Uq^ zO)~>u@!H{5bh8epu*6Q$RZd?ZzvVA7`0|EDAqdL|DWCcwTb-(EMSpgnz!4RjfK{U1 zbx7vHON06_!#yTA&PE<6{ZLQU6TkBYmT53hFADNjIYUs1L2(urgA2-^Din)vF4w|I zYfL_Rb={Z#*E9JuGBY6e@t7_BDw7(c2L-1nH*Y* z*Pt{*2XOe$@a04c`HC|`x^my=LI9`=Ho8FvLN9Bn5={b$!GV{ zYR&=BSq{?rfbOucWbvJRZYu$sI7`|`g&SgIz-|sq){KGSCubZ=)N=g zJ@1`$I(=;qsLEs)QZQgnm^ZzaUl#b#c&IkH>q%9Jpa77CNqX7gf$!mErK=qN?`$Z4T_T6~)l6+FtZYbklUsJ=@-6SApIk4Ga~hcO zw|zkL{ig^YTm~$3?A}`@nj!YW4hjw9^+SnDDw2u*%K+36f}QoID6ee>4m}e}k^bHF zxi|Y>x}u$higqlF?JKBgwWFXUBgz6JP|09ZI)#vw`;JO98MF#h002->juaVOQV2E*R z5A#G#;VI^5${Fy@Nt*4*VJ;jHH+ZeaHXi$tI`)^WJqQVdaIWoi?~|gZATgIShUzKd zG~2bXOio5qYq#Up4}T9K14#4eFNIE|uOVjNAP|l*1f-AJ1fI|ipnRoP?(>aW&*G-M zf^Io6FJp<{U3|Yf43$D}nU>tNg({i=n;B=1fpg=Hh*q z#_C=S6q&tTy|Cyvc^}E+O>mtseJ94NoFg-;dhB-Cr_nM|B=B}>C{q3UMLLUV zNT+ugYuV4%{%-4zwqoe^uGyF2}Pk8-YVaWVl(HE=HG zr{wk0ZKGBi?KuS!V;@6rGyy`fhTI1XVf>{f5*7N}SV8OB7P;v^A?_V7 zBxZEi%$L6+>8G0I*Zc>70yOT<;^fAm#us$MKL9ZCnL;PgVLFatgO>frf;pb47H-#L z`BxS<5w(AIm-CqH!}bZXZ6PPFov!5DxN|P7r&-_KwbCu;yQ6}>%a0N(+e#DG;x9EG zn_cxhMV2xTiIaa!hF&#(MI>3nQf;-W9rcZt9sbz$)+&@>?_43QoCoa&`u+v+bS$@^ z0`1EIX1yO%k<$|HoxDQ`pXqsVZM`)!f96Mf!#CmgudkAKTEk&YI`uezvRnNoRZC`V z(b1WC2?aaL>|f&#Qj>&pt3`g~OGdJu9j!knloTeE_?a9XenS1o4B(nlC2!dI=2~%M z@0+7e>(rFM4KA8-YoOxg*c9APMo@l8o(;94RjB@hZ+@&<7_s^@6zY_Vi-cA9XZCu( zLE2Si-Q4dX0nevQ9bsE7vLJ8p>;sOUYe`CZF59}hE9`o>^C)NZ(G6Xo@XQ#;P+iuF ze=S-zgsQ?{dv7Al7*hA36q~G;Z{S=`)?cp}hxpIr30p{UYmU|Ia(J-U;PuhUut0~g zk>y|k<2EH5aq8~3H%f7@mq{_CB)TR^+lU^Rm~27{t;*p={`If2%8mH}Poz9uI?llk zm=x;_a;pS2x_oZTs`93qJUmRGf}wdxpq~l$ zl!4^+&!l3NMKkro2be_dNYk6@mz=H5-VupAO?4jyv%$L3gl*%_(S2BA!Ggu~JZlfK zFWS>PC}{6eA6(EMxP?9MMpD=|2T&493C1}I2ezlf{I`mLga1a#%VF_1iR3(he(bsA zDm45q#QV$yVzymXhO7E;(JQzC(oG$8B@dY3zMbwAez(}D1UwrQj}xzYLdg@~k!h|L z`peT(oD)eS;bqOM92&>}a=*4*G!`mk@@@}2j=wG|kPk3pdfp6Q-Mm|$rCw@>{c$QL zQOpr_`#6dNCr=Ew?2>%c1!mgSmkwbGM@QBVtw4V%Ht=-@ zrYo=45-_s&CODcM6vb?yz_eYaADz*T-_poxXd!S#bkmz>I3Q|@2|Fz>t10K$vwJn zZq@(n8=FsGlV{bKI(Q5jO?*;U%cwANm^#m7&q)!YJ7uTkm3z!h+`6UIJrmvpHYklI zG_Gr_&+MT1Uhr*gwvjWXc9#y>bHXT`zq*nL`~C@*Q)=gurkIM zf+YqFZlX}ZeRm~ArX{jAm7|5{Lk>z8lk$|@Q8th0-b)5Q;Ao987??|qHIHeZ6fLz@ zcfYr5LS3!rWmhTBi0#>E+lBzOg7^SsiSBcPf&S}w^Z2j-_!QiAi`Tj?>p9L{j<-*7 zyHGss)7jXqpadU5-Y$&F7q_8Hxt`iGkIhYPvWs(X)W}e^8g3SW4aE>BFRx5!E{Y9N z6J@$0I1qbvr#;ItQ}0{C%&sSESQ>l3eG2mn$yrB0k;l}NEV~>IUrNx;&qn3Z9t9!! zy4#t01HMUlLTz%BgWgz(^DP~w{1vrgWw%h1Rq#w`>^>UfN0%c^YDdwo^6&)-P?~r~ zz!rcB^opZRe(T-~L8?d5a6zy@`UIoX3K4I)bL@5_b0U)a)Lj%?@!awK zcuf6Ux*OC-R3k4| z=>mJxA&Ej!-bY?xuSrkNxg!%PGfPf~$uKHc1J3f^EVsUs!@U+VDjqxQ@>Qqk`Nx6l zzwv6`;{9u|3%EtLBFk79Y{MEa4g4BrNxa*=T?E99W+7E{^pr#(rAm>%yt~OtJq5>I zso5{_{xtS?mz|cHFDz(eyL*eSH3lc-mBAR^P*mT(2IVx*MRc~4pt>5%bF*+T-&im$ znUb4zY%-W&9^;(?y3eyr^9to>UCNAc#i;1fq0?Tg=#n6h`6%Hto5%o5oOI!2G#V=J z2~2;t4J3W7XJ%=E(rDiVez zri+PtRg}k5b@PQrdPnRmIN9uTlXma~(oTM^?-(9E(OCc0t!|iv;kquCfl=6Mm&0oxMh>M9%@o`6DXqbuz| zvP*}bUiHlBQ7(zB>Rl}t!(6%`Sc3yWQ=<=ew=cX8@z{?H^p*KB~1p zB2@-J-WZ=f{(e+ZAZjs$V4s@&BLa$BwUh4(yW`5ilj=hL75A<5tJ}2V?Is_&6h7B+ zx_##F=odu$)^-jry0a5d%oty&#vj=1$5D(JLQ41vk&|a>#uAU}sFS=IDeFbQ-ND)l%qz$#^xin=_G8&z|O8jCX6K%)>Z3i<*Kvj`ca#`k^HdH85>8j11r=qE#YdnVBL{_Ba>*PzsTfqwWpuw~SiGmmxNd9bK6>y`&>G8wX$*63-@1~y zqIT2=s@Mk{J`BCQFo=sxZEfLh8qOxe(C zSzxf%FE0P?vIsa{mNVFm@!b|`hrZtRC_;(-xZbmEk*0?~a%$sGCUkEXFbAMwlY_2v zwKi`(=8@Bkgr!rC<_9^pnH~it@zRz)R2TMuiuqu_ugRfCsU2Zcj(d-e5iWR&0lvjP z+Fha7yB}ebt*$9VsF~?)z=g_ZU^`Z}tm{K+PDR-`XCAEU-Q3F|3++Yg3L(r3{RQ40YwZ$)4i-I6JgM z66!BBivno85-Kyzc|#LCPl8!t*e`kQ^*o}XhIpgQlSTpx3>gS$<$EI)A*2MBb?L@T z1WR-AqX+!T5H7%ZAy-=OeAq*vhf&NL;e=sdVq+cVylronqF3rL0kp3M4V>qt8+0>(*cG0RD?c@7f1Q=#82z^VGGEgtG|W%V!D~ zaSsTnK4H2qL+=e_Gw%Tm);QBtKkt02gJNJx`9`GYIyLJgNOR7@QLgp%(^SjC4vIRb zDZ@M68pi^1im4=ibh~#QD!!gh>Efu8LO`M8=Jw%HHapp{P3f4Rwuo)*q+95bmC8AH ziNpEd)^EkzD)-O2_6I#O{B7kwM=Sp(JAON0`B4b}0)wB~*2<@y7W11k$O}KA9H2I` zO;O1HG>UX-8;8*uY=YQM2r4^j^CBqTZhAbS4@Sm$;VEEDDk&S8r{<8#H7e$H2#UJ^ z+LITuKG6^{Bv_5Uq>6_lI0RIJIBs8WWo8gR6@?|B2v}3ndQ${(;HJ}G1=%IPp=2zC z6PjONddoVP31w$r4}eOo!L;!3XO+7a}CXl*>aw&mR+#+&&~Z^2QSI-04nZZ*n@UR!4KNLP-1D2#C@6 zNT5e%NgWu5qayO#Y*Hc-vRM@G9Tdj=q;GipnSk6XV0lm}y=g9sA%&V#r|PGc3UB z@@-7uh{brygr0w(z`lve9Mktwo)9w(hKy<6cRW`Q^#u+kRdCy$DQE*E=-N)b5LJwFP~Jvc{hWb+>!7}C(I7QdVJ35 zI$?ezPjBOTN9G&S{6uvcol*`}%+D2uPim1A5paHFT5C%=nrmGB%JiFgLxL}NbVXFZ zV^Wf>O6kbbUzASmB9rs?3K`j@n+tz@VVsbFL*skWo)#holL*OYo=uI#0HE$R<1;mD zO^+1;RW;8W7)8&x6H5RZvUF|iO{z8v`iLcND}?x8FjVe0GhIJ-wdVZ~xKRX=pARLp zRHp)`-~^{XkW5q*tv*J^uhR1%+_?#}8x^RB9g&F^Ht}{Wx^bm6!fj% zQNjU#%luU=G1-ZFA|^X!iJ8;xck?CZ~r zKHu@7ng$M)VQ|E+Z!Y8%35JQZUR@SO;`By}eH80J}3)gHbkxEO%( zcyN|nh2?yD%(i;~V#f?nGuKgIR7$5|Bbmid%Uz^=b}-6U;5*pzC%fF-L+>c(TB4zK zfuYSeTGE^{SEPzGWu;*!A{!|POqKEsnPk#R0qZ6NcwF-u@1+U`3bZ>c?x3LAd%fNp zXl@vv)kSR!&`=j$lr8K!m-r&E@0a|O6pJlfKm0j;7x2SKh71D&hF~t_lhE<>d~?*V zZ`kQ(oG)6@aBZ*B=rkB=exmaYdHZ-xFIkCercx7rXBU?iyZ+hBO!;G}Sd(S_o?M30 zo#MWe*<%2dNJQ*iZ$lgC5z$vDh@Y^%%;}PB;vRd{56mQuDQ3BD_FSvV5A*xxlH$8T z@W2>ktEa592X4x|dw330gLQ7x{xqLYO^d`HXTLC7e};?vjIvp>=SjV^yNp%RLtkLB z94L}EL%Y|$NElA0q)xc0O?!s>P(A19@vbc+0Ts$zQ^+>7)6OP=Nc0)z)Ekpsat;a=rVy#AGy5Ntv5y7dF}BC`eS4aJ+Zqj2*M79htEGLovO@ zO)wS=Fd@>SoPmqlCnbq2IHqOU_TOv21vT@7`kO03t{){`!i!S8ZxKDeH`eQ2TR)j$ zRK*Wge^EQ_`?!@Z+oJ}y-MObermlFLpHdxQQgXhGL>DvEuPsT7{)nTf&D-!IX4rmu zG41>Yh9bR&^r!*@_ZexfM;=VHz&LVAQP5AJ&Wmm3sm9C>oi*DG(?wLMPF#MNY@ya< z7ugKZ)mU{5>kGvW*iAhGzf+CtFv+jD94Q3fGAJo6$D1GnD211ob7CH!)8)v%E1K6J z{{{lgP3FUH_Db8Cnd7mk@hui zgfbw=gS=sHQfQpC96Ki!(X}$&CVmaEq>S{qn7brl%{b{DcM{xPv#xP*HZS^$j?w8v zt;*Dkm?Z7WvP~Dd*mIB3N{?wK ziuu0Bua<}y)lHgN2WqE=e3!jQ_E;{qKs{0U-J&cl?4yP!H-6nmA6kmo`f*d+=N9jz z7X@ehSb>BQeLaBf-B0p|=r?ke!H$l_WuAS zu%K|q&Z{j?rDTba!aA6f&v77K^hN-ZV6THQrfO-=h<-iprC1c8kFtq^99t>;erS%D zj=#!JN_Dv{pc$l$7Rm(8n_dFFbd1g3hmeeZOK8@ZWQcJ+4HrQr6sT4KD)WgZZOYcH z{7lfqpx!H7IIyLX3>t9^8fIVB{{$eBL%(39|0_9=21(T&Ry%%c@-L1sK7xiYSeK}p zw#LZ|+ zxcQeF&aXbl--sk&|HBdo*3~s^=^(J7yWo1?Z};p!KE`nao~g*anYg8cuz-#eYdOk) zeLH?3v8d?5GXYw6)EH6Au?GOG;&VeK{TCR?&-VZ97}gKn=KY~QWcWAqt3$V3M*V(O z^Zn=d0-~TJu`Ol+Tbd_V;ghsaL&$$U`hL#zR;%txJwiDfR*Exx_(=X^Hki$u9eIC} z%8*4svf*qBc6{5t?!qUjO$ZL`PUEm(!eaMRY_mN_buuOe5B#>y_tV`@@J2v z-lFie1G$YWez@ddxOR^WM%w)R_g~-s*Z)%?ggJS9x0)T_69tr$s53pLfKTuLkH+0c ze$a_(9mI7kg_A{}tbGvO@`sQ32*XEa&Yu5*e`WyrsUn%I_WxKOzy1}ggP?xr6=(2A z2!|M2I4Sape^S{n;Dp!yD}wo-YvkuPkkg0W&Q+bn$Ea~0a4IC=zQiT{sUvu;${`W@TogfDv;7V^z+)_MAg5@5=RdVwW zy;k9bXEYSftK(s?*r)J~GOuU;e`pi#DOweMUt-PhuWd#9w&0M+pO&r@!e;7C$XnuH zdkcm7yrs+kq~D={P>_Dsr@8R!)JGY*HIsP0>rWkdjErIrOJBvRfA#64fpgunWx-3jusm7DvtTC&3e01?Y*KAjy3^ zAjB&KKB8()UE%pJ`}JqLN)W22h5N%ie(kYxLn~uKAAbDPp+ybz#z7z&wAB+PXr)5@ z8xGE&cEry&|1y5GX!U(OX^X#Turvr2C(G!4{da5Pm*?Te>_Ur!k((a>On@i!WT578 z!*AfPf2^BZXy5V(mg8?H+&F4v{*lI6(!*?PP9jQsQrGHu@vFKvs~NFDu|;u3=#lQu^K4`|XQZezXvu zG6p5#Uu%G{v?+6*XJc|?Z{&ar?AmBE8oeC}9p23}j*`zHEOa9Xu zu|pGR)vm&iUsj|rcDu1>aio7(y1O}{C#;PJXz_w>EN19%cyoq>>Q9^S3T(pbIoq1? zSr4yFXr-^!L9#y~n$I9toOD=+2Ax1SJG7<3vZG@D&@L6U`pEh!x2kFsG~kmomM0(o zTdl{>sdYk#bn8rmEl~kV=t+RgF*TAuOk)|^w|NbRdGW)Q4!_5ZhXj!QX+6Gx*Bb0B z8^Jey0G)D9IlNhavj65_PUO0u3gA~0mmGA2%*-O`PxcHag74GpA;Gsp16jU-Z8Hsj zQZb`JzmR({u{EF;uuJZ?|GilMZ54YV;AoR49>u<$@H$M0SMOE4{q(X3y4^ z@sWj296mYzr(O7%76y|wG)w`%Ct}cXm85pyPirI)U2L(Ln0fqlP=*HTY0JrfDNOsj zKNXkY8Gb9BBs?G;6r>>2&FHt|4@);72%Z^e3~$(4?WHi8{rdyP|My0h!u7-S{imR5 z8M?(1@vi?*>o68oj&No(7~;=nj+gLBqUgat-5)BfXtB!4sBQ(WzN0hmfMd#^)<`Xy zz;~81<@mO2KqIKt%tsz`EKwpn+aQo%x}B4$A0*eiB=jWg%xMJC1Un| z=Qu=!5PZ(59HAHx$G%f}=!JhXP@~W>oZ04Chwp^!1$d8_AZf|gp?pb-jUJKoFRaCf zJ6E^><)smXkm-lw_XxLJ2;gJ95Rh+m0jkfhWyIQ#Zt?&3GEn)g3h4I=As<^TlBdoz zZ?5Jj>w&;omFWh6*fNWWK|TZnVR;v&S)P*0xmB40=lM#A1yz1|##oP&m*bLjdexnOcl`ihRn+m z_l}txcpgiAU#Fp|iP9><@AFxk0Ipz$V6pX}S`cj*1lbA_+ur;8np(=cAOoB+6n-ZJ z<>(NyoL;~v_qf7>CM86LPgu5P@`0L(Fv^XUH{JL6uPaLGHMHjK!Pi@d-frYM?jkvc z?*aR98z35LuY+>pWv9dvNNicpGD*1H)|+{LD^B;F9p4TTN({p@mRA_@l8DVUTriGTl=wBqz;CMsEV*+DBia)Cs^{8rA^8naan)%3(uBj)+4|rZgrN1WL&;bIp!Tim^P-{wWdU5AWC*V=?n7>ZQV39wOZB&DkmZrDLpAd>p zAL0T~#tM z&I_p7R6|{e&xv}MZmONUm6X44ZLA+Uzz>H$JB?p4w8$YiEpN+&KRaB=1Fqw+aZHyA zUGi!ZwllO!MHAnPKUzad5@Oba%7TTjb*v!>f*6yBgWLLiGZa4Nl32AR;O-%@4an<$ zddeVJk>JKd#|E_XO?H%A%|P^0CGhQ3-(!D&Ex=`be5rW^z&i2EpO`nU&L(gIq-J2& ztt^T475;kvdFPX|>=r==O!Hydtzu4OCI2U|CPWas-^2z{QcIiqm(+HAz;t|sz47A?hj+#HCH1PAFkb4GvNcdUjb`eWQ}8gQ^r5Bx~8 z+d(mNi8lQo1~-QQe7@qfbRr&fFJ%R{McJF9dHCH#tBgB9Kml4*5}PB+?)4q2g? z(PG4unIkr+$;M*hy@HeoEIM*)j{_3iq9yIn;C}Zrr8#g04>Q1CNVyqvPjYkl+n}-J zYH$^Zy-%J1`0)J*-HNXx#0&|q7)JHj#1TW25mZfc>K_Z;!6;~EfN*Vqk~cmVD)&MQ zk~(=p)?FRh4=ci6bNdZ2Sx3ahtF*t-&iL{ob$7ImK|AG)PkiC4TGute&-Z6?&oY_# zRIl&0%5a_^ZBK4lX-pS*$e9+jLsD^ zxK(h7>maOv*|S7!=)pkF#A^~)v^Kz-?WxTOz)@y&a<|q}jW)euJkYln5+>FM-IlK9 znCT;m@=ySTwmGbpyWT?6|b(|fhCktr-qSi74e#gzuiAAW5Li}g^}&^KYk z`1_?Obq|>YDmPSU@!NVBnFIwwk+S&HKX_-r6=0o~0Vv_%wm#sBMQVX2U+i%mPZQOeGUhck*%$qARxyci+rZSc(qa+8$w1d+f!#dRpODXut{?wsl(^Vj=TiKy-gYQxdYem0KOFO zMRMNvHQD}RQf!8J(3<9UnzkZ?a+;iWgL+D?Sp*kE1Qsks(;g`zHa${eArF{2rXl+s zia54haw$afhNGU0I~0)2>DiP^c3YAcjdt12KdD$hVb;Jg+h(46|49Yj@BdFo;Qu|W z#qdq*YLTH=+hoFep^Q9d%*}WN5_d-NQYyx|;R#Lk4TymCL`ktU36sIf!USV~H1#e! z@9_R64ib>5qg)s{wLa_5Y=Q{H2$`}cUjjRANPL7_TZ+*h6HrHse>rjp^Tt#3o8}Pc zBoS}l^{&R}kWA%MdVz64^ObKoWUzp^JQ%HVi-$GknR=j9Et`$dq>WhIa*9AygHlny zmxSyyWF!4Yxk6_;fHnLAFdlfYf-RRn82RuZS(EwYlc2#;3IDS9zycHqwK-VU;IPX; z+Ra3GF2TZCv|GF?m0us2GK;h9y8s_xI;*NL z1{9xM-e-StG|@K5&;G@`8*^>BH*d6aPKkaMytj$Y-=0Lb^@BD5!g`4?5aDsvwd6dx zAC%O4W`69TXb^cFIkqPj)l5l<$4A9mbDR9yI0|p zQ=R!aVkMM)%o0ahMz}F>nww~l2F=A3iGJ5rODi@E(lyF%xlW!x5^NmKhp&LL+#$zP zv^I0K^O-Zwmyq^qR1A*Hox#JRU0VMGhs~!>>ku-exRflUa8@NjksMIvaHVOGXinUtChF(dN z8r;=6Vl7G{#e_ZWvD3qZR(F;JeFHs2Fialj0jwOc3;^~{v*{#N3flf2zf&D$+ud-| z@4XEj0X^JVMh&j4wE;K0huI>ix(0vQ3OMKVgXsF-Wom3F(c&O0KCbUS6+~W z8)PB8hFHX0)I&4*B2heCiXjW9>v=fX^SeFBtuA{hfE45;NkI;sOH_c;ho|D$&3`O5 zGUVY(=jH9k+jWU>lB$?-pLN3Dm^3?)xg`3!`OOvMhVsP7@lO99H>Sq&*OWIUrC3yl z^4!B;pz^Vn-qox%DB=nMZJjGm8tVWjV5kHIr1`osn`7l}L1fe>J&s;uoVNo7_0+)r zdZ@y1>b6am>4EQI{$)vUvYur-!I4<6%O>P`#?TtKS)P^hBzmF8e#%#mXY|8O*DQNHk_ zvn@X2fTcm9md^}NzvGwGVOow7DbIU>%TwM|5=$SH4gvJ!!AqGv_Ti-mGEL9aljnLn z*~_^@#dNRCxHFXWdM46;WNNxkia9wF<9`8EH2Pj}*Pd-uRKC|7K%>3P)FEiUaf~z) zsuLH~Lh7!qE&Xs1f!)6k9U9sN$t#uHYtiIAjF}W`x5W(SV@s;03X&2VaE)XFK0Ib1$s-JgXb(`mQz;<}As{{~h$Sm{KGb|Mr zpE*tLmM4=>lVT=|g-rA3@#ZOK#7zh&lQU`SK&EyA;P1E7CikXWKGc{Jb`*ya7y`1_ z2m!O+>5vDFxc`nBF~I;1T%Mk9K@Z#TNSFvW;EkI?S$Vy{B$;9 zIZ$HZ7N>n!{2PVplw;fx@k7PcNY^jH^Rj$cIoNRW9&CH87sMj_#7ictk^R+2xjeOy zuT}I(r=Ap;BSoyVqyfL}03Oeig29GF^(weY_v%R2egsI80cOrck<&L&Qui~`qq52y zcyUjAxp?meEp1^tC>vI3YU$DmKL-zyD0+X4XcRV1C_%rdu*$k4_a=fG-ke&Sa~EzPmzOdzfajd-YZnym!jqp{4_|O}-nmBGKP7{VuNK$9~2%V0~eW9hWaX2>egTY1==jn2Xpv~J_okayehGzu> zS*J}4U@sK`w=(|jta42P1rMlSG#{|5k#-QQRiBt_vD4o}#1JD8hLvQ$D`_Z`ge8VE z@wo^TZ(7vGD~1}0Et@Bmf&`WcCiZ?E6!4p%`q2=j#B6sc%@PDMru25Gzl6HlmkIU7NVU{(oYOUeVv{Jy=lRJ(5j@bOuAnyrB&v4=atETqxMM1jz}Y191SwP@ zZ`LqqdL9a&g~Xlb(pKpLdX+7Grw>~{9F12cVi2-0$w55BLYJhco+H^ZOR`f?93Jv<7HyCr=dK+vxk64rcC(Mx=gy%4oMYhHjaeqay8mXl0fN4 z)D(VMw5z{eLD=so?X)I@+e*h!BjSvY&tz)x57p5iYwfA%VZ<7IPkAyvFw)Tm&P_#d zcq#!6T?MYt)P%hITOTZvV)LS}b_XZjXuRbu-~BFNbF8dA$IN7*K9nZjMxDq7NDhoZ4@_j|et8(dCu8!r#i>&>LEWc47=Q2E zujiEPy|Q0Cwi`&y^DV(68w3Q-&V^({L!B;V`7X=rvG<()DKFon1!e~1e3Ltbd2xQPyO<6w4Ql3b{G)^m3Psm!l zd>wds85I4~z-7r-EIx2F%+61@$(^B1znGNak#woBY29a&cb*{iSBp+UBS6megDATaaS(uAUcglTiTTF|Uaj}Hm~B36AM|4L zPHP1?d7Dxy?%grNc1kmufnGl(w-QHo#Agf@TBqax2t1&Ug+#oVZ)Pv>Ib2c&#yCh z>|iBVAW-lZLfX&C_Xu_)@ddMD`aCGoicoNDE`mFBhx)owR5es?+{y3UsgI~X1%R31 z-s(D2x#$b~S03C-lIwFUEgvMCxsx;W*pBBOh5F(mnQqJTb4hoGz>yRtJ1r+DXj1b5 zglbv#?_{lY;_8ONv-qnyl5`IU&e2MJKdP+{(Z#cDdK}Bqq;RDqzE}pb0Y1<*i!IoI z0Hl?Mkz%xpI{0kEw~5j?eArbHQf;D)tW7^*6)WW_`=;38x9HtJGHkzP-&j%!AYP|D zV!nS7AlSzC-1cN+@)qJ0VH0x1DJ)R71#9Wrti!6BYop5Sr2MKt^+~ponmHb2ifDJJ z1|uHIn{b}F@~QoySajzG1nlaOWOmBvJJ9F7nV(d!!qhQZ_983-)!>PV-V4WQy@L~X z!i#8w&)HeGo&s^zbRRfA#<>VKp5|AvlOL|sOo@<%+rS-t_WW>nQBiHyrxB=y79#VS zj@Pg$9X_?p(evTiMxvKev?6|60 zFgQRTa~IDcwNLQwnpyIT)+elumS+ZvowFx!t8c8k3ms%VSn4-sk!C9X z;pcYF6ae@X`&CObMXTnm8p{R~i-J=#9 zC2iOVqJ|Sis06Ee62Q^zSG_c<9h*}}G{b(3R=#)=N9yyCfLDahe30kS)6mB)N&`Ny%@&j0zA3j~(DhbA>K`XCO|BPPZ0*I`DpE$aAWj)hj;xba4 zjMn>?oa)@D}Il*F+xomNINSYcP7o7GxJJU*s ze}P6}4WMU->#uE*zLlVh`bW;TZCkw$2$YIG`|JV~s#U^FRsxTVBA74Qjn6CoE14&C z4dn}-3TWXS3Xb0jK>rhd`t48sh;!?Gtsfu07a}OLNcl#N>F31!6S)P)2ul!JxN83I z@y}Es=xn;V8W-Mc`FrMnZ<;m&a(ke+wMnHLhc~h#swUAZE%clG0 zfa?DyzxY0rN9~@cp_-Mw!u_{uV_}aeN+CRy!5Beh*@`?LcBbzfiY=8ZyKEUT?|e>bXQ6gU98b1Z?`Viqc~oX zhC`9OJ^>eBUsAnEtg#<|3t%}&F;*Qd2X2)eLP@i;UwOE%WLKgpeL;tG$QrkgL#aO^ zzcpH#?ll5Ad7dYJu7RIGRmOPkejlPgD^SShH>G_KVK-1blR(+`L40X<(b_ErV_Ocm zfqcTGa;!QpJU=KtZtSxvb`#u{L5LY(rXY7#S2>?&54es{DE@1Wkby9-eqG-&!}wF) zr)K0QeLY2L0Z!T=@I_@7yZ4Tx$ZX2{8HIeO2-gL^m3UqT<~!qj zCQh3rMp&6zC98T+XqwB&IxIG8S_*?*SzfLqkprIjYJUY0F9m!tEq_K{JhK zSeB6hM<`0nh8pT~SYo8eBN}gOK~0G843VNv`Ta<1)BEIi(&(d|rBCT^Aa2I@x=)_g z@2ly4fPy+BHIXtM{&=q!h`U~bj8O<=jdK?4!6Qcyn&Ka#i@>awF(zPC3Bas1=4Woz zDBI~^xH2~~2tQdXVp>DhG@q$W0FfX98qyO7pBdOdtxSnX(wYzq($`e>L~4RRKp(MD zdgxUpV#f-aejUCg<+5^QJ(ifzp8Nm!32{eqCz_Ni@kj zR3mzIb|)E_5bhvz6O3Dvsbj8P%EA2X@x=;>foUtM4COe;F%?s~N*uc+Ro{eS3QrG; zx4BuF&xJv9tgR1IS4^j+Lmdzy<$0IaC^BFNh1&Y@r-?Sc7weXpqUFx?r;F^anW{zv z)ok}rfP-GSHoes-w6#`iPHX|*cS|L`!>|@`IQ78D5ZViH7Q=HnN%vO8^a^a_6_jAx zNg2TwG#LD%y|o1q)a^b7(}1g<_Xe#fKfQmaOnMRNPsI2 z;HjBP8u#RnKK-i6TEn8{7d(^!+ycQjyhXkk;cziX(Da(oav?K~UM``dN&j9&il~^L zXTa%|PiXFY*;mYd)L>)!p=69*TKL6AlkKA?jv1-dTmgI4f_iTD2TGnn8FSEi^?8K3 zu~IwHfx@W=&Vfkse9?d!1x9WtW7<87yGu>9=mu?SfR4zO?VA~9Wj=@K6}KlTMHhRL zv_~D+FYG|7rLB9984r!!d540(!;bE;NX?YvZH%z>V9HzFPo_ z3*)m-_xq;phcx*Bue)gkhbthd#!W~jd(?JfR8;PdMruI(lPfJ55>%69A zg*J?#aR9w>Ot$!FLiG5uAP_v@T)L>}wOBola&h$GJSo#7J~0FifQRz@DyOY_j13NZ zmgEvpMoyfpQ_oDmdam7z2A_I~Iodc?9!QW1BD_ph-=?JszB56it_pcTUh9Hfpor|4 zBlw-w zUmWKP@fTIC`{8V+)m%eMD)=k_7n!A7^9e<^;qnUS7>jAIhe~DVyHIA@wN7Y+ zXd_>}G+9RB2m{}DIQ37!VW=>map!`lzTcNnQR(JJ$vm_DtsyR-i0aip12T}`yg8+6 zc+JKwF-6$Csq)2@*}AXX+K=~{uq*;IJ%2*ZWQh*D{q50k%_~smj?rp8QgyU`^_yW5 zwSt}du%^tx zS0TLeE<2pz(UJPae4RO`$dPSxc?A%8Ls!`=n?^gTCMZ}XdkaO~jIM6^KvZcWU|M%L zhha7;J1E0%G;-zedFSt1(Uij(YLY{Kv9}{~%Dt5{dHsR2+>LldPa`yW^4-HZ?V_v2 z9s!cfa~W3_Usc3J>|3!&EawTo-zL8pHm>|s%@BfCo67M zFzgn)s8Cop-`c5L^Yn46=jJsFI;WnkFeS%Dth#B_aOdA?AGlIK72Ud47#+du%sdj} z990PH4XSTxteW#i)+7#8bF>cW(gN$<8~xluE8QtZB4oci*vl-fMvz4Ieu)|o~PYIgT-l#y+?!8z6bN&jr} zo}0kcybu5qajls^fVgq<4nnE{w1GrBmcaz4_euZy%KW@oVZcLgikydqACN+17371)^yAvn+h%=a zD0hmEbZj48YChFp0YPNYoNTQo>=bx3IIl?px8u4+XddrVdkSrLAXqVifbq?u7@#P` zbi8}jfF1K|($wqJ3MP(AIE6@H6v2M8c$gKj2v=Vvw4T2HQ1TcR@B=P=zhd-b(zH>_ z*7=w#@M)Y?cUj_u1wHWNiT>Khx$#zkFEXnJQ6d9^Ob`7g8)2=s8d@S$lkUQ1{px#! z9`%na+ArzmlGZ+@Q~zapRjnOm?0OuH9VLekYSyT|=Z)YmV4e%tx{?Lgc$e+F>Csc;gf(LDv1(3{#!%*w8v?nVhZ&fR0- zU=R!IG;tQiIa9^KERnB9bniKGfwa=@+pzO!%*DG}Clh%>^4mAHag8uV-h;-MhZz56$OI1Mh8X#4{As7YCj7&7o^>?~J$+FB>Xm9@uaiWsd(= zfv)J=-&R)bHXWwA#3$FI`oQ$QA+g-QXVq!%M)1H;^tPx%*VT)wozgFypXWv7b3Gv- zua^(bHV@*_^)S8q-StTFuF+i*U{zS&)X4T_J4bxx{9*=JTvQlD&SV+B@lD*2L#*K8 zeBqPD;MX_O*Tn|83v`0ZDbpaF^Mr4OpGy&v3#HRoO{o`_xs8H z`~#m~&Y8(G&+>X+&ud?hLG0Wta(Fkph5-sm+fJ5r8vV15?Xp2{T<>BizmQY z(|j|<)xGvXyU8K?i#vWlfM>%E1dqFz`GCS_J-V-@CtsZR`SAq3O|S3FpUa9Ck7z?C zmoeuzAgDd zlUdCuN!iDVbLjIL8pnAQQ}B+?ALwsu^UjI4`p%0xC*sWS?xNYI7wu2l_I$J2o!^e_ zlfTn&;rg|WMTdRw8o26y5?1mpia&7U)AQdlYAJQ(7k-}OwF=cG_P&n3=msh&k%)(b zl4lJXbqGT>EoO{JxwAJ)CUZm`rkkF%BnqGPLRa^~`W3A*KRA~&PEv`Wy2QA|k2Fp9 zLr&N5;tQG=-7;PWcEY~t&>U?Z^LY+uhCjJ|3g&V!9Vb}d45JMFVb}s=$K$5$kubr@ zBV!{%!Tu%cDl662^>Pc#t%3|*o2fGq2@S@N4GcktHHU}D)DxZGXh1eJMfI}TJ=vN! zH5ZE_nSGPW156z5B87Q6knAoW(0ZP5)RU zP-4{Of4;Ro712reZ&DllVvHtkJ$t249~JkVkqVMy_q6+Hbey5N7@)!jY^Vsq4p5>g zL@3a%iX!7NAi8>4Yw0??L1ehI27?Qu$Qad@lck)G4+XESIKGbwEcYU*GTIb4zN*iI z5h<8fQ>u!Z=!s6dw}iA>0igu{aRv0i!clp<>k3kYOx`UN-5n= z?(Mo#4wbkLX!l?#khMcU_qZTsID>@RK1JUOwv+Ad4RfC)HH#A4SjLCEZ+MUk$jC#! zGSdZSMxZ=8ELl~YR@(34heP7Xi^!EK+h(PF5LWA&_2C^P18rN&v)9;r?f+LWZ4?=WS^4ECAA0r z0X{+sFJ#DtcfF}p;Z(b@3|_rJAav5-pG7keu`U4~O!W$v=LJO zQ9o=GdG7lk!`)0~Ll|nkEwJ%c?COqh~BUMl{kCS$kiUDxIBL8 zc9^7-NqKAC`CgbPyz4#D2Z;?dyy)3=hX;oJz;m$gh{~OA=&Y|2oLm#@;aP(&#pBsKk6VXjzgCB-F}qvf(KW=+ z%oKVc)ss*?T;}(O`g^oU)>g$YF>}u9`Yr7YUT=YbKi^k8WM*kz#)5pm%Y)e$OLT>e zYnksols0aLTT}<#k@gX*KJVjEF6rUire~*{n$X_;=VV`{0RtB8KYdr6xKP~bj+V?Z z5z1{%C_M%117(Ul)dm#PGH+MGuKhs)QTBtaIq0pFdXUt(@;NzpfSfMI%&8q# zj3$rC;T~Ggdd5qsV82Erq2{(8xbhBP;%<|)*I^X`uh&tkeu}Xq9YN*U`OF? zQ?=V%I#w2Td==anvrNgI1Od|6j;T(T&#~4EAfZ&`w~pQn#cx@cV|sM4S{?AD?E6qb zaAlldX<`n3W&j9Ibyn!E!^tdomrpDnk&-Q{KnS(U8;y4VF}!KgKYLF8dKIjLJ( zgzpu&88;-VkK9mIK2|M3HPk#dpox1{>U>S!hDWk1PZxDZJbqe=xd*cx)rZ~H`kI%kE@hiNUMz{n&*|CBN54<4r%%6AxfNW|#zc6Zsq>q1G3Zzc z#2?3~uFaPsf(Sj6AZCNM{kOK_&#Phu40!^xKv1#S@x4f4G@fnsA)V=GH;;D1=HkZf zSMRhENUXF;e=Ry3Pm^h(cbS(uYf}A?26#3pDBHm{7r$6tNb$-E-F8;Iy6J+ku>1Ui4{A!pk#uRyH>GAg_+0mUf5awL*bewo4ic+QE`ei} zRnRe>>2gLP+1D`!KASG5-f4$*-_CV^nPe2n_r+FNXRrw8rJ!My)yHl#dElIH@D43t z6xz2_LFa(myYK`jYCE;8R`-1V#!8YcGDb1Na%RV_nfX{r3AcvdS-A^}KT53|98unu z$zgHInXhM08Nsj8xAyaTCxc30Gv9C7hNm3MWlWdAp-BO+NNFz2GY9<}O<7E4e7W`ER8hMEN%Lk3tD);8bs#5%uR)kP zbytqS?sQ8w66^A3OT?8Wr7~$-7t2pp`eVU-b3}RkY-j@ zL;(V62ihP+4IlAJ(UZTzDGlB?X7Lb&Hz?6E=CWpFvMRntscct;9uatSSdL)@b7qHf z3EZb7Nw%0sPg2C5xRNu=lnD9F`I|>*?AbuQfC1-jtJRqR`1@96h@aSmP6fVP(gcNN zE;yO65Xb`h2zH|iVF1KI7t5V=0|8BLJgUWO$!3$VEWw&qrNS9gEn1sor(F>f8ymv+ zqH15(5PQZ4j~FiTOLeee`Qh(iNa?QVQ3;tbVc*F(1_wnxTBTf8x0f-{=Ephd-0!F7 zNBq1xoJg~X37f=L#9CQS$*#nIXZ^5(=d^;-!N(umJ#z8UtEEE;qq4uVr}f8}w=(?h&bE zRz+mi>^iJ%m&rS?5f!@@+~M(IQM1LE>WE5|yjd>IG@OY9h|Rm@rKNV-hsvijXy{v< zrCm8NIy_9yzT>5!V3b&vOVrjNMwIxXYWl3dI4%$J?i5%;cPRQ&B_0@KS(v8x=)92h zfeEAFeZo%HSi@0#IYY7SYsU$>wIfMvw~P8JooTa2tA>MmSbFdn#io1@eZt0Fw@eB6 zLU&u*r8RYA0LWOo*R9%J=#}CAsMRnGZg2jy9Kl-n4mB-Ve03{6mw13!5PSGpz(k~b z;e~1&R+(ma7))jE5x;ucy@~J)UYk;l`=y+vyt<`4hh>UBRlTJjS7g}2ev_86H2D!? z2#(kV_a=WWyGp0ssRA80&2ff>ioP$Vl}XJe z{z$o-@j;sW?4jX1#LA@23xz;k;^_5~dGu<}#uMp$!qUIv42{!tXxCYST`R-Z(`AU* z8DgOHm~fxF8kxY0E!A-8A}B1(`)BmPQ8;?osMCh$q7jxwk2sRpv7QQ zVIy+LNxc*BL$O^mzC@fCX-ABW$l&mf`Gr9D=R)L)@@aqapeIVxhsz;^8t42LV{bXkKnt)PNZ1&Nq0#6#Ut*#Zs!cFX81i{%$nbB`}1S%qes5giu(5XlNsJ+YEH?cOIZ)9t!?;0 zBws%RQ*Jo=5ZjRY4=mELjvrMQ$2P*Fg9}RgwL{MzK0$rJW9A9VN9>pwf4ex5O7v2C ze$Tc9IV=u>pj4~_9dSA^#l*T!?a-&mp+0v5U!}M>u9Bt5zt1?zGib5dW{f>9C0c8b5aN zG%R&4BFtVd_lPWuaxt%-vBI!PiDU!NCekUOsHJ<uncc?Kt`{iy!xmMx0rTYZ|2YlC`8xjT0_ z$t&GFkq)r!u>7Cehn(aI5>UhuiZ9o_q5q^xM=^crl4HdS_EP^rGJC6${{@9S;*RU& z8d1>ANjO5m{YPLID2?1B@HWcrY{tin;!B;i?cGjsMW4D0{XcBpzaWEhyOZk?-KU~c z4coW%Fl3E(XzegQBD}$OttDTp_F9Kwhs;T zxy9S(GZb5VOssaFyv|P_vpTTnQ*i#5&p_?l<#bJ4fg{2c%@-N1W=|MWPjy8Gjvcd%2-ZNE;UckT;Me?!Of0iI zla8b#P)jZIfB>!Z*rSZV?bw74*7RTw>S;QtRDCg6DllN4heHIAU+d?G6CJt-k4^%^ zc_5>9c3$mb-0}YV*DS7pU-h`)B5z+5?}3G|hsGG)SpZuI?Jg@gzVRfO&3# zspNI!FFdN|;!zrbci+&6pr2C!@BQ$T2TO;~0kM*UaO`n02;1<*BQgUU{x%q*01S0$eO3C!$!4^dKDm^3^meM+)-##Iqnq{>1kjjq%t`v;e5?VgdOCuDFmxi zG~iH#W=-FX^>oyD23VKWsi-yaD=llm2hQI<;qtL)>kh#Cj&9}^*1uQQ44M$~Zjru_ z24u;#Em<37))W%L<`l;qLgj=g;#Lvq=AHxuA+*>}Ubku+4z@={m(lYLz;D@s zMG9-eiV;Wg%%#WsYtpQ|zy9v^UU^}BYE+C>3Az@=OkJwcQEP*DDqreRDY%Rq2+Ff0 zy&D20_&t0z%tr5+zT0HOM{(?|SrCh|;l-Y+JJQ`;11x3CeVHRNum_~l1cpaX_S5R7 ze0+%?z?c&-S5m2H2w$s@W}5(Y;3Yccte{KUL|mP_Hl8{6SuW_I-x~+)s%S5vKpJo} zjCt1yf3?!zaiP3*fj>gUr)f%e%e@e>mtGHO(wR(ubNqflE6gWU%~cwkGH0G0Bg6;F zWg_O~LX9I}E)}#|38y1C!!q(DiNag}s5C|MM&=I;6YBgf;rfPVeJi9` zwJaQp)Q4VKTB`0OH>8gr;m3%q#vcQ0w?)O$`rfUTH91J*Z$0RkT+}PUP_4UMl|=|i z3*~`Dhm=omhbcB|h9QSbT>phrhdb>~Fb|<1(MZAu$Vs2fUJC%B>QTM=<|z?V4|uC( z3j}@m?CnxX@8WJ?jC8fz-$UBer^3NnN6KDK(^>gs>@E;_c3KDfwBs7DPm9SP2Qf@T zKdgy|>!L3_K;hZEdct zR@p5f#~*W%!8L)vsv}woSHKK6N!hYnx->UxPPH#q4>JoW9e%Z5C79c=E6fj|ns#e^ z@XzqziFV=4+OES%BfGJuthK4?6InVJC8fug^BC$A5`L_oGu}wXvh6Cx_Ucp_Dh|M_ zsv{h-E*TJhoEil(JhPiZ!W+8XL}!ET`QluxX%_7!1-oGJMt;Ai53=)zOE zz_*jVN2xZCSGt_gUYgFQHo@+526$>A>PSbtWm>R&qv@*xdwUH)M~7>+W;Uzy@vI;Z z>BT_}H2FYTLk^)Z0JVhFD7{&mcUJ%Al=Q~;RkQado+xj52%gc46`aCU*|^8*xJQe| z?8C^c33f`t?cC@%AgkxVo9E)xAf$>96w+hQw)mMFgU|rYdEAh}UpS@pBSc8Ls^fTs zLZ@9n71`tIcSwIXAV*bz97$JHj_!mo=*HG9iV5$gqHjT>)Bznk)lIOeB7<;JnqJ)6 zce&L+;ZrK~YU{6r2+dL9^Kaevh-K=WXD3ThvI4Quh7H$I^F1a!ryTT{3C-d^>-k&u z*ZutbHZRgM#=AVMNx_o(2zH=%6M!ST1m6JOARW3H1!2jklrg%@h*fN4v79kZ*(WN}(+Ud&=K5qzd z-r3xqI+W&7Eu-((1&Vt@^0z|>1!R@7iY6~9PZH`@eN-3w@A7x`8ex5!io^l!A^FD& z^cpFSZ_QPV?S*~Vq@eM!Z8mBLWJF`|(p*t}5nGrBQ#!<#5Y}jiE`4c!8M2y0sB!4L zy-yM29{4_#_w1+NgwQp_zPBt zmij7WS)jUdl4^r6!C|{%jtCVb`sI59rSJxVyfpI{E?qe_m2Jn*y!6@!Xi31Bde?=H57;w7fWwd^ zm%^=urqnZsd>-_lTz!8Nhlb1tAwB~^MT9hEA*PEpYchla?3#|aO1M^mc4)y$VI%e_ zudp`@7Zvax@w(a1nCA#q=RnD3Ab*z?7DNSH`9t7{XV3M^%zbiykr!O3?{J$hjFvyB z-xt(SAT=teXg*C(87OFXOZ3tlS36u+9X+q=f>5`34*1mA+jhM}=4VwAU3`zA&I(0#>|G&z0e%Rn1e}2tR;l>(uadF{}0L-Y`6?Wwg`b zWN5hv%XjsH4Xu%|H10hgbE(hTcOY}XO?Zv*8w&(k1%&H*?0|nP#oby1^Z+yIP-T6) z05vnD1!q)L@c2b*O!Ja7iY1M3P3C9C0^W@)^As5ZX+wFd)shDe)~_O%?jWxB%!Y z?b73ikO$>G)}^4;lwVk&TK2dWvm1S|{Ah#O@pfN#xkW}QLwe&zw;lSLLVz!=4fh}l zZcdVpYrHz%f7sbP)UKqE;dq2<_ZOME=La$q?+4(&a0KAd_3x}i24iWL0yLb^JhPfg zYCsUeU|pF$hg)fQo0r|y7m)2U79A|%p7FOq26)-YkrSu-ww|4|5o!WBeYcO4NJS{& zcCRdCYqkGr1H^6}WgA!AxL4Bf)j|I4nv6tzEF|XR0x1U8j)2aTB~!Bt@I#Pb=FR)2p{G<6w& z_EYik*d@3ypof}pVTy#adk{6t)wm_4rZ3lhL(4KRJR?LV;`)Fx`^#>W>S|zsdX9)K zO*>RH-F>0m`_-GXjS>;k!R+|p!~uh=L7raa?tkQYlxGKZZNG$VcNfu9NOdPV#iq1T zooi#O1fMi7syZsfdGlz2_Lt!f=UygPLlKCaFwq>5v&Lljwz64Ro*2*$|Hyt=>-Gfj zUIG%U2=A!+skO$?if|K-Q&{v7=IJ^SfC4&26SMJCM@^tu*U$KDxYw$~l^9>A2wZz@);s(a1zc2dxBCdZIQ8)}k(2LZ zyuP{Eax6xZyrj{QiX9cXKyNCOB1BlxJzr%zzH*JJ$v9JG;M1v#boXm5-h*ag&s1ov z782M%ycvVE(oruEWh&I#(#Zz)Se2Hlq+y=PnL;p(oH!Qd^EJqB{y|5e4mMAhK)w?%A^2U!NUYdTn!NmtAL2 zQ1No8__7_Ns)M5p%yJJ>!e?0*5ib|ZIH;p!`kdj#YaJzl<23T78DA3Ne3T^Nv#1K$ z{*+g(ktfn6+{VI{jcszz_Hw&A5Hnw`{^4Uo*WYg|N*zySXreuZ81j(Ow)F(iQmQfz zg+p3OmhoW~LC=zG+$m$SbZQIF7e(mJ<-x^Qt^V^#pzx|W0MSA52S}pSY)|;kJcFfsg{m5rMCaS+rY|PZAXdf0IegwJGKHX6 zTS09AuCL;mKs+QY09G5_1RT?x9GG%*je86An9*$c#)mVIHN}Tk?1R~TD|=Ssa5rgo z?sA!EDSg`G8kR_!HJ$a&R)blT_SR&AXS4B6w9Vc@yI1c8E!q=|07vS1$ZEEp&%lq4jEpJi#5Hn&-mBtGNw@EeS-Au2l>?c7&I2sgvnf9 zL~1N_0f*Ua2`9<3RAVl~?5z&^Spe!fo=dMmm;$vVNNa+jN%kag7^x6e$v{~3`4HDh zkOdL&8#m+IxVrBa9-p)iX|jHo`+x8LHl)1I8*M6Hj!ZRe?N*)foe8M=l2{PJxHp-0 z!*6X+xlqVLjxiNB4BlwL@|0QKl%Nkb|bXb+Yew+3V}whYcGoMx$WziM>$ zXU3D;soHra!b@EZI;mSky?3ieG#>oZuKd#5m&jC+6{fr>^UQbvy0I@AqXJ|n{^1-W zF^KiX@$NZJ8ESz?#a?Pyu({6q*eRXBHi@LBz~L53MwiM@8Fh3}mt87aUFMS+S;X{< z)rPNPyfmrTP{w3u?~aGznTkA6c^Rx{z~~obsWj9mNd$sMu6v=y6k`Om zqd~Gcb!(jQa}C0_AOJ!AdIJ7Opt10--GB7pg335oj_Gt%@irc(c*W1+!>bx4H6GqO z_dG!TCziPE{@^m{TS-42p_yLgkooomM%B>^r>`og`SV+r0I8AgFfJNA?j_g6|}~P>Jxwxm5tAD~CTq{VBTW6XRBU z)!B*UWV%w0#-b}`GIiBZ;RByrIw{S^3wcFOp2>m|b8Wj&MqP#U5i3OTT82)DX(C$e zc2{*L@IY4eDjjQ$@m%h)?^t7JJneHqybPp|BTg7S&Nk%Bw7SUn%}3*8MQ@XU3^-MdJU}>R=$G=@s`@fJ;&nE8KX5ybm!x+1oFja-@(arhqy~T6Bz_WD zMa;t9cc}!&(&K7j4ifw35!vozcz9IW(^+_Qs_?EMbD{QL4c{!_BdJ^sIzS1Czl2_v zJ-DC|OTNTTj+{Si5b#@z$6PsoI#&PSrSCExa6Ju|4-^{l3tFO!^AQw{>e2tqYCaYz zT53VAx!yq!Y`nxad>`Hr0Q`a7%gQrq{cXRYvI8;H!2IqDTJ-Iw{E$|3V3jN!;^BeC zSq{wsleV_qJ6>R+yy^2rnkyQGXuH3nX4xAHkB+XYV_eH*Y z9y_a2+dUC?ICN-2G}d#IGN-+rse5i1b zoh_)_)BOd}^7>MlsDk~KDt@J(LTWZEvF7D!e=1mA^s81kNRm|a3O#D{Vw~^iNrx{k zuEz1s^;cP4&Y~~6PZIqYXI#&73==(P$JLwbDh1U1!e$&b8C1lo4=aUn25#8kFI+r& z)-v=$M_Dq>ZPUGulAhr5#Jpr@SKYg}crJP73yAMRKkfT)0UuuQ;ary2t8vCojABdE zskJcc{oln=m04CZj;9Gv*@0P&*W+|JH3RMLeY|V;Zed>qGf-r8r?S`M?JQAI=WM-7 z<0*Oc>mJ7f)v87B>KxmT4X~k`9nX@*_gg*qV5(8kBO*;vI!TDLQeeQ_9aRL`L*v!w z2<4QsSM0QF$;RceTIh7qI>DM;*d=6Le?WxML@)cug%Lyv-48`VoAdw$n#JCh7!nJq$fMaAsh|-CuHRm>1=(3Sh zm#c~sVb9Bt5IKgpe%O{Cm9cK8=F#sSt20^3#oqOhqZWO*=$A|-yG8%Tf_2ValzOj>BdB;e=g1^p^7VtPokWW@HG zBieQYn^WgrIw~5Gvnn2|_a;d;Gk$}o8XFMkTMG@ZdTfU*l$&qKAz-TC?(a9h(lB~o zB{6IsSdLdMu)vsUCN}rSWkr5N4{^vR7_YVah5C08vXS?8=*7JfP?XZ-BmmDgDT6q! zv7Zf|k~F&P7-U@o`|6gu78x@XchtzRZtR5I!6jZFZj?u(T-2}tcJ#84+LUv4ifJt) zg)U&}s=1M8`yOZmJVN#*C-&@cDtwY~Z1z6LFp>qd%CTfoQj7g%9++MOKgmcsmOTv| zHoI6Qnawx$WJ3sL7Z`5U_39$Ds>vy^rPFx^SQ;iNY zz=8um@2i0Fgiz!+ZgOg%_Kr6jR3WUcOev`EW31F*;yf`M$}a9YT=)^t7}H7~QHYcC zNJCEVc(-b=%v&)m#O7S*rHxngp6Kw4;s2rlM`3+IgNJ zYs1jSf$~TF>D`s{Z!kjww$XP|kc$I(`QCXI=hS9OO&B7QC)7dx904hX@pp!gbix*N zTMDh9`jbt8pXR26YSFA-9!5O`uF1h{|D*!;6-IJOI5h<$sXF-t*562*WHX0nDB)}=_c;*c4)ZQ%xRHzhwlKx zw_h)TK?Cv+f-f#v@Ak&72l)fn0jU4DW_k?lGNcT`Xt%yzVnNf4yMKHfUy?d>A@#+;jbN^PpMTxGXZ;3-$KHr_<;w0YkWKlZ-(|?A z{7Y<+fauIvUqmw3Nx=(&{n1s>d2Btn{|UXD8$Qhf&}{li;NZG>JK0Cpo8Hs{On;T| zXq3D8-?oG4C#GJjt~>o^Fn#_8ETC!NtP9X?QnAq{>kfxQJRq_p9eR=Vu>d6!x}L|l ztvlQmJer-@3z30YsP1%tCTO^KLi5f~j{mLjLV0{{tgJeuq%< zcv?G`zW9Knnvc9nR}r(Uu((0Kq%yx1V$8S^x+(F)FXK-po5r zf&$FE+*8@@1A8j@X8zlHWAk;PXIDJ9Hwl{h(q6Eqcd^WM00KzQQSfr!_mp~aZ~rlL zw|}%>S{Hz)_kkOEE@k!=n$T_z-0eOOC!uwRPeFVeJ7wa`9sUfu+cP<&fAGlv`70BM zyG-R>+sGZB3}H^L3;BPJ`|Dro6(Qtnw1{zpAa1S<&fR)xMtj}iu@GuUKaV!x4u>eT z)aY!^y2Hny*@v*N6`e*%jL7UMmE%Iv2V#xZZ%*&{^|Jua{t8(C z1#c-3Cjnb<2Ve54gWjx9t04x)Mh!gXKD#LJMd`-C^L3B<65=e!C8W3%!vf%Yp{a{a z)nBsV|J+dsB=CfNNigER9|wT%=V0qSj*UDkVDOTLJ{Ms_G{MG^q7v(m{yi-u=C5bj z2ED3%qA%7P8=?epd;`s zigg}sjIakews&3B1{@+a7CTRuyfYMk3ec~9aK{9nu$BMF(-XEyfB7+gHJP2vHmD1L zJ*Xk?^jx;nP9}9@i$1jfV_WkrD+fJg3|V2zZt z%b^dy49Y>9eQA9-gb&n&mV+Cd4gA>u<0NI?G+fy6@R?kwPfcxZnU#LC{A ziHB~#Q8r4h9n|r$jUL(EXgIrJU9j+O>uHcU-h6nitK>svwDx~)W9G+JRr6Z;?!5nY z5$^ zA$L#+-$CWKFvSCo@P)s{jgX@4r45o9dTGjM>B|hfIIZ&HUAfpzzrJlQ1>eyengD45 zB@To7yY9))-rnsg57^R;S2rOXvGd$KpP3lERnZBdbft87^M0$&?dl0bL#-fXY#nIX z-R5x?9{?3EP>Zi?JP-=ap@}mMiQ9>cAxjXvOKcW~ekVV|!=ASSra*=qok2--!hs6p z52kH1b{if;tTXSU`qO)^Aex~rq&JDpo(m2;48cqPkzsrsdiKAEEI4%XiDWEqRldT~ z-f!*w+Ag%r{{qx`;Ft56X9Cpf2gY>Na4JLd)J8sbybUbw7*JdV?VBKU29O+kQ7WkH zRK2-n|NQ`E^8&fPqWwKw-tjAB3sI7aDvw&Y7ey$I7_&VDAbDiBg?|X&`zKIh!j6Q1 zklP>lPMHTNUlHPOWo}kuCj2EV{%UvnFSQ4?%Rw)IEXmM&_fLchB#qKR>a3;2rOTJN zFSq{aX6y&P0c#>k=dr-92ZdInyJd<`DnmwwU!J$GQhQM2thaaA)n-n{fcXJfyqudT-1^yYGKdx_`~C*niRl|{5!X&W;ZoaL(xcFuH=Q8*@#`&`f~qGG z=`cm}+{2+8wkw+ZWGC`Kgi%{6$}ZHsUPlcRF-xm0CkCu5_imA{&>lP!Jw+(BFBLK_ z*WsI~p>)_H)c?K%^D-W{2Rg)R9W_#I!Qf*l&^_x{&|A z;GE$z-d5?PJ+(6|8*2}4?wHXG5f@IMyiNV!0fLHZ~xyW z+z?U#cyGZU&g)#lzhGmR0|vfT-1lFX@vZ;75-ecR z*rWfj1^xQ2xZ4VO3o-sK^MCF7Kj--uG`xYB>is(uO}5^Mf1L9o7$}fg^uLS(XPp3| z%4_v*w@xPqouRnDHIj3{)nRNxazi&bSQUGEb*EbjZ6Tj1d9rXVY za$QvaKZN`nNq_m_{}A%Ol8gVNkpG?J{~Lu2Q94oxYHAd>D-&ZEmFU3R@=JsRO#JFL zS5R(tj10O&Auv*j=-W;E{x-mv`|xa)040l%a+P+yd#|l;LArUOlkbr0U}^4F^@P}u zKmd+SiV}j>Jb=>X5rAYoiTX5+=D1>mf#PGXzwYr*@9M9ai!O$bezqqj?o6v_;}tu8qW`dlX#TxjPKD7+uejXd z?p{!V;v!~$s0=Y*&VHq>bVF!S5|OKl|IH-+?L*-L&(?D%QL>4Xly6-dLKoa0d^w@O zFg*$6?j!!;+%Va>Z3~YD90JbtD|Q!kmJ{iU!O8Cy!gyhq%O4ftIBifj5PoH%FS++0vu>1YX%gS4X}lzTIP*<+uqr5#E_s zbI(TE58=!JXjGt=2-J@ncT0_f(!qPz-&LVLPyC{5VbQ@$w;_GJJ1fyfFzyt9mV{F{ z*Ag_h4N|5vR6;Whh;6*0u65o1LQeGccD5m8@4kNjuWWEpJGSY@TY2g##D4U=rwfuP zPpa`jpm}NiZ7odS+_rqcJ-pZ;%rI)5*8%u?p1ECXTjy3w+1dvVTb>#iMCm;K|1_v= zrMQE~EA1FdGc8y*xtRgGeEu@8^=|S}J?|FRVSn9Q6_eki(?Tgzy+DrSy-~vzb?ZNF zE(gWria`^iI9?G~Sz7DTA)wPgFtCISi~kfd{^LXU$->Exj8?3tGlow@#XWiJ`Tnzg zcYpvSg-PLJN9AUK$KU}fg%1?Z2nHw|P^ny5S1Q{r8D#@2AMn2&gLxrmNaq7?t%B%# ze?TisT((%iN$D%jBu{ZBw;xdopf!~vvR2w%G8Ev|b- zLf;Pb&NE2UiFprGi*xJqP`j-fduaU$=eM{HlorM6$vO$fX@|C>R3c~U|7E9_cMmz= zY1itj_6D>Yh~z{q{$(xu6{aOz2?4);<0h+F_XPzEp!r7=A<%}r+1LDF>sG~nU!or3 zOus|8wdr}iSL;t>emz8H|LR-SRnU(VB?c>Z9XK1eJn_{|I^UOTgc${PXL@Bu71uf~^N%yF0+HsIPysc?-0-{+~cQ(#_usUl-?0jluL+r__|W!)w6sXPBc0 z*Hu2_Zh_%vL)ApN!{fp5$#-&9>vEz-$f~~F_=*b)6UbBcT*|0#JquPy5jfp}?RhC& z$lM3np@kOrjX}xnUq9oJOvuE4BYKhRhs%Qw@-E->>AFYVcLc1z(_fiOZF`}eF$qPx zptXK^Q4GkAt|jNfr3b>0JE-xr)x&l7t_t~gbnkIpY38j!;p_99ky@8G$zK7xJ-nB} zJzG7Rx9?7xPD_n_>pto)_rj&wc4+|IA<_=q9f#;`?z@oop{$?^!KM+(1y&pjf;6Fa zQK?m_z_-kk96oI(TQ#;T`@^1XLla?$*y`cQSN7E~k(N62YVJJKBlXPF%qaU`V^P9A zpaI8Nsm*i!p;EGi`*>ipNIW7|Qfy&Dlg6R16ncLBeLu5Z;S8IHP`T9GqT3`+jQ`ps zzAQwMT=Q}utM6Wi%h;U(klB~+XbG)s&g79gx9bUDV5%0GSS3dojMf#l(VmIoqEYIidFP5RO)<`dA2yZn@gQ zs=?HZ^mH$cC$4v`FCer!ph4u~*t`AaliHz<>NDRwsdXzfO=?~6w_(V#jb!XoI0G`3 z5JNMvARQrKxu(P)!#`b?v2ib>qn_9G0UEJF(*IV!(y|xx;HiWPHI-9mkKQDvr05u$ zPhRTqi#H)Jy?RSrSLgr#Vt)WK&h={K%pqcN+Z0byiulE@i9H}ASe4`36hZj-Osj~k z--W6niY(F93nVtjHmT2jnQRcTr;R(72k@mRD*s=0PBoIo@`4ia=>Yujb3yg4Rmb zx3o&!QL?pT(Zzt9`WD~QBI5JAv)V1oV_!J5^kwOU@I|UmJe&DGUN$VjtZP^#vSjFD zB_1PfpB5EpwzQ<`c$b-=i1~2F>NyiRty6VNOpm3OucWM$Vdt#r>KUv{Rhzx9Y_-++ zS$j~v&~<)IOMyBxP`BKBh2zAca7~^6lY(Vk2Je5N=S?yf4YzI4H%a?InhngJf6^q@ zuej)&Tf5wgd1Hnf&q!?iVe7O14cMmTdqss&LLJ)xPWs{@jb2&a&nF{x-U9&eEnc%G zdG5W35Gl*1a4m=vi(~~{)5sHLOc7!uSBb$3dZkgjOq4XFw-Z@Mgidp`ywStn^UL)}7Tv&a6D(l+I~C@GZCmA4M-t-A z^z`6;BWpKm7nvT5?X92Ot8Hr4*>jOH6*%Vma*MdYSQQx__mVu?dj zaSA#zX8rexzLyps4!IagX9rIy%t&K?O<4-B0{qO6etv^1${dKSSL79*uIV)C=ba*?D4TDzv{q*ewqzg~XhVl{Ig zcQfhSX^K zOlg3^$WA{1(Grm~ZdE%mWWTCEF`=LgN&2P#wF?iLJ~ zKhjaP%5hjGZ`z|pcQX2+5t z`V*&P*R=`8r&J$K*^OTIRt+A{T|=#WHsA#CG#9Te&6~9{Y<~P%YCVDv^d;Ba-VGAO!`>4+>R6$RvY<=6yCjM*E59j`9c?CR zGV4oKi?bxn@5A{7`}WEky~CXRee^f{aSQH)S$ zR)2>SM5>p}M;oIzhAlj49FE)As6$R{Q1M%vqJ8$oiI4d2uP zL|(dS^+oOZ*TW3YEf+ev_i}!3t6hyyXc1J<&>CVI23yi=;b^R3N=2@S(~k!6mCC@8 zx>_rcD08uDWyZavS2f;7u?rQpj>|OfBA_@^IhQjbya_q8RX-q2Crp1rS)lGmj#(@| zaF!8qB~0Ml{13-?5%NSB@;pu+mR=@t+ocZrmEzHml zKE%QdNSmN;U9IXe-YlFC`u>UfjP101lZjZC6!Uaq&jqh#sBlgh`MXw8No%$q=RL$$ zbDG|emlrGAYhWVEv1WDiIiBq#%vVcl`r4v6CBdvNE736O_W*^QZVZT(oR7pKgH&nz z9SJ3R9r2)^z9OR$bc;_5LkjxeAfKT<1L*(-51DyyVqVoLo_tG^-N-xn_B$wS4{Q6G zMG@9C~@_b7MVee#;ZAyvkwRmZi3Ppbf8 zkeFl>xnW>dxdLksU-e48N&izcXzT^bMrg@FFu@#TX-)@ROAkgi?>2&)!0G&&H}I#M zYNtOVHTGp(enh~nMj&aQ(!_$kLtIfbpr4WC;~q@3jHhbQ4kBrF-dX%1-HyU!N4=N> zPVy)Juc|n}@d1$QvRuC+ZXq^b&!M`>k!Twc%*XNp3b=L7m1b>(~bbc{Q#U?x8s|Lvf=A7%6zf zYKKZqms_ebnV1=3(^kpa+Q1*ST3sq0ou2?C6Q0G*8&E3f08DJSe@yXT^ zQ|LEVN4`nAmrdu{t~tOLcgjt;v>D265f8usCIt4YF2Xr-mM$&OD9|OZseV*VbTcgisdYR@tU=ZYZf+$ zd6A@>mwV+9A)?`#<$JZ3mx$rDBklK{<&7HPDTDURnpqBD@fh{lpYwBT=WrEMfAfZJ z5dE$L|5nRkWr-ucZKP~u;ru+Xf{!NJ^M~7%yg!DMMx$8x) z37@GpgHH^{$JJREl8=d5cd%Eg+Q&emkzXAxrS*tW(1mJe2A0(zB)!H7*IH;-SSJFk z8;TY=Pctasx)>9AP0x3J+l*Js2kg0GLduP}c_l5IsUThNwKn-Xl18?Rq{ZKTHHBt1 znvgAq=Tce9v5tWpsYhV*}dAcXFHm#vgZP_ zO~5bew$NZHscnfKOm&_atFa;4JyxvD9>Ez31x*}lf$A&;^qJE6H#^oWj+wM@v=&B& zv4EXT@Eu+7UC37P+AMtUT&RG{wd`!o(L#`HxR#cBlP|@O71XJTvylL}@iW-3$^<@W zvV=$hj;zbB+*qIgA)%Q-2~zL!jK;a=9^#QY2$Fc~CNp+(1%8_|!7C_o?27ox&*6ow zO*J(c533A)_OlY#(m3P_^`)Ic7_(ECYsV;*67<>y?)%`^`c_N1&c8rUC+3j-9^Hq| zjy3ve7VbPe{%oyDgW^nKQEisSkPfx%F~Y*ZRYH87g`n2_XOclh(r~f8o&sIgZ<**h zal~lW(uTv7$&oM)URxUWGxfU4B_4+A6ayR_oL}7=op?ALxfCiomAW}VZK)dth@`t8 z%JNNv5W<1%kX7<}rZ%_T4L!;<|WW zo-Pyx?M-KyX~m<0YO$=KAGR&3)aBavGM$YZ$md2aDT#R1KPwDVh4I~^KIdnj?1n_U zIS13!cfsrzw$}=(I7(AD!J_9glG!C_B?jLi>MBAjpUYV1X)A1>*6WwWuKR+L`L)Pt zM149(c!9IebhqAKrw0rmYS}C=Q*R<<4N_GkhW}X$AadJ4a7tHR17Q5$yZE+c+}40i z`!rwCD3-dee^NUeteH}UNqriD8S zPeuZ{5;r+8EU-;6!EMF&R+xSB4*^{e`*Ro68pp`SR}a|}KT`nUEEM#An_qjxXA9MRIzjtpa@h6gMI`#2z<$M_8phi@deQa3slPr;8GhTTTBvIO_ zvB4#D;gedH!;nK=^wuT!&+i#e3#3>5eC2w7-a#eVjA2u0$P$!`ZJSY$c*c4IgH1o| zw~&%XhjqI{x6Tr&iSdeR+~(sUQi*kyJ|S70)T!?~`)rm-Ag(LjH3 z_*b16QSnuB(un?8M@50Dqe0N&V&#!NCEscE+`9Gfgv{f*khQ7xJNt@pWc zIy7%XoH8sY_4Pe_P6cIl>)`=G11SdRHFj&&SsZH>Bkk5NV!ZRu0-9B!CD zubeEh*}za+CGh@;Q&31sd(E21@I3{I0i(6Ba;Ej$Ww8QK37%8czur1gXVmD{mEK+O z{=@?sObA2oDxa-Z+`@eF7p-u<_4bHbaB6*kb>uxU7y%YME^K;7?B_qLCf?p9f({@A zb6}~gy0=!G%I6#YazCH4jN!4qS5@7WV_2Y-Z((0@G z>ywI2y<0w>5-*Pm;Y!nE6^WOFOyjJ4yG8o+c#Edrxh!7IaxHG|50{Bw9emQ3plpy#QuND3f0&a-h%_E)dEGta3zmpmN5v4GMyYnWcK;e> z&~)wd+Yf9S_iLRf-+gR8<%;0@gOq#EpZ9om_|D^o`A^Epg5wgKrys}UoB2)oOsx&k zn|YNYp|sI!(M#ugeyk3Ka7iTCMh3bhk@&u>#!^=QSE*0D__^@BQS61+kLdo<=!jrF zsQY>@%AkqbWAI`5*>kU#8o^+=Tjft6)<^8?xn$Q-uc;s=&CMk$-wq1{)1AY+ZxLjA zWQB0(EkgY2GS(gny)PB74{fE7`z)kI=((1AU9kO0J{uqJ?6T6D<*O%T-E|{N=+~N_ zOR+-nWPX<3?18Q45^Gv3osGWYxsMwhZ6b0e3&t`{U~rXnK`-F@YNvdCC+io@!usPq zCu6#mnkl+%3-yX&9IJMw_?&I@^R3P4>bY85pSf<+tHCN|x10leT`cJ~`EuvJ48=J5 z_G@meryJC38(8;#IEh|1hi1iP5<(S7Mk&-Th@l|9X0EkXQJ`E?_e}2Q1pyhEb&$?S zk5Kae`m&iPeaGzX`?Ico#){g0-7JKdA*2ai{$?oS|CUb7HZSMXt| zVL?I~J6>J}mxs4^ZVkHzo*~F7=1Ep-xCOj6(WPmvcXXD>(e}=m|ULX?dbPjMpF2@e@*9Hd|3X686aM>fv6db89}_QaFX4i-S`!omR6rsE zG*hef_~VCYBN2La3+)Sp50?TW9{OO)MtBv0pZg0~AmQ>42=g3incR`J5Iz4Iar_t5QV95OenoitkCuGfKR%rfVb@z3H3Voe zcQmZqB+-TWkC!7sO9k0WHJk(ncmS7&*}ML^D98bMx=rtA0>E0~He61gLZbEWK;U1$ z;Y9j6TvQ9HN4D_oOGKXL(LG`MB{Qipl)_~1;&=YLFOsw0U^3Y-W# z;c}$vW90Rz3xCW7h9e>G+4CY4gv(#UJ8xO>kU=} zC)pCo-O;65UHaovFGFIIpC&X6d9z^#V$G+W&Fc9l-~R8^zU7CneQ#X9onRIKj*LP5 z>Dpabq}FtU@fBfFlJSzzf!j9W&o!2B=?($l=T>K#yJKgLNuB0_g3eoy#XjZ!dSl$K zh@7w6Z+fCf2$4Ey~b|CkVOD|u_e>-hW*kV#vD_8Fn| zI0`xSpKlTveJ6>MeFtH_@3k6E2zy2%HO)Pj+y1!SZQ-zG`D*=ggwL8oB3DZMX@5j$ zq#@lsQ?qXFL9$!ekC0~8d=O_%SpN>f7Tbzco}XF#^6O&p6Wg zXVNIZ6Q=0tawkClr&z^s^NN8xDhMeM)sS1~Nj)uYqgd?T3Px-sZk&j7NM?^}#Y1noG zbO#pJM2Hbs+xci0cB`@P`E9*3F}|fYO`%bs|8t|edSqvAQa$-d6Rdgb+PL5HU5=~V zZ)iQK{X#nYn5AwWwtV1y?gQ`Damr6ZrUn%&YS({l#dwsi&1>~LuJ$xKm)piS>*?t^ zYdAZ{ry7Xu*-hrOXLkTfPo>_NhKTz1E)wQlyU8SX{rkVzlVr?-DMW{)Sda^FYw*)> z#Tl;Z|LdOJWX80Tn2?5`M8Z}0ArfjjC-*(fYybC6^USyLI8qvyzdmF0@h)lqty@)G zgzp+wB=TOJw_lC6F6dm3k9)ZKe&;Wak~jQW|6I`*#_3zgt-BKi$>cU zZULx=tg@nnrzl?~B12PXr5jTa2zZ@rxcJ=Kc&;Z_itGhb=J)C}pU*dUUV8=yPMqF7 zMq#w@ISgT2^1yc;xDbTLwSFjOBz%X{0oWx5HC^^YgeQ+OGf(YVeUoYyZv``GdDoTE zHmlThExRLC3ET7A{z*P0X)(C9)et#hlm!g!cb_b7Bds)11dnN41O0=xl=?E)HWyUcjdao@mn0YOBnk6l4z|6a?7*FvvVo0y?>@iJl6A+2mHJz=1dKmZ$KQpt{Do_*=7B7Nm^~($ zy9po3Aipa?s`?NEc@Xj#>@gC!$EAgekB4$!$za4p=b3fS&e}0?& zA5b)O!?~!mzC=y`ITyQ_fAi>`0Mw;4wLwzC<#clJHW_=G zqXf$3kz;)}RxgmFjbXrW@Yc+0CR|nMZX$o76UU!!FZMUyIztwabil7e(p%i|%Y|f# zTeE{T6^&d!=1cam2&U|1;*vr5MDi;fgySCMp%TdX>b)Y_SRmz(a&IjaJsQ9iJ8R5; z>l0>gCZZFh5`$@&2;X(!9*7|6gIv$Cz(n{3 zl6f{&-&O31nHbTdSB>!xn4309!J8?htakAa+dC%~MZ*TAJ zOT(6F`oJh;bR&bb{~b0CX#(Mo)4(yibn@CPa#nGr~ASELn7Z?qLCK* z@&Q|vo(}Ej^E*8A5*KwDUH$3mV~UKt(Qmwnr2SvCv(Azd4vRDLxWnR#cL)y`Vr6!9 z*G`=J@mOMUau!;^{u~sh^51#&hju@-PGP#r>YpGJB)mXuezf5-owWbuCU)NKwI74E z2cEiqh6Gu=B{?OX;Ah!}O_*cn=IRa#K@x+{&&NI>u>U__plnP;*NvYgk8(R>)xn?a zgCnQq6cnt39lIC$d3(n&$c|-Ptf4}7Y?6a{PidSb^#6&AhB4e**v@jn&lh%}1NCvC z-Pg{K^jB6!yY{(n7}N43cU}d3bT#S&=wRUcKsHc%c9-PtAa8Nv!A}2}f{E?+pldF{ z*Ph++Yw>6jcEREHta$nh4lf%gmuG&^M@`_{Uz!|^8o4mH7cjQ$_kD%(hVN1mSYKNT zq{*q{j_B=^xd(X%Oy*sb_J1z065K{HsZ0FtBeI)p9<`esy}CFt_A}ns$JadoRjxvz zOG~)2Bpl8~CXdINeF&lL5Xxj;t)bp&{Z~0~GiY}~FbD44CEh+N*q^`vc+r9nlmrT7 za8L)JY|9tIL*+$8>GHxQG)D!mRuMK0Rh7%ibot=vCGyV-?&slwaVn<-8 zyI?`wy*+)9=mbfdwk1y?OqMQ6iqP+3u>Y`s@>R5r9C@dE>0wR7-GKWDf>E+MU&L02 z6K!C8)!Vq6&2=L zdm_1Lq&d0$7%7(vFV=>dZn#+N<_9tf`L*{{65~DZQU#DP;FaAlFSZvLe)5sT=JLBQ zpR;IHM@L|+z=i~j=UrR*5p>MqE;NeVRHrDdKU24iT?K9HUU2KvgA)v60aQq*z@AnO zgNaa&I-Wvcf&gi@hrh9i1;SUC?PC5i1~4QbhaTdt9s|vkNS0o)I%)&JzVuTi@f+i2 zHlU52KUUSm%HmR_{b3kv36vdt;VB)@v1v(Bv6=o>RdHKn;8?eoX-s-{oo_Dp}%lJx`FgZNF8z#}yJ9zWl z%7)?OC4q@XJPG62 z?dU@C7ia7EJgHE`C`!9i8F^2mVL9s#<|gF4bOv$zMy(ROPKX}>=u)W?V)htbj1U3!X^_qJdVj1%IftR*YP zMh(Z6`fhD1P8c918!Kn0-n%xiGl_c@MVrOB_k^&>^gsjMNpYAty!12Lw#5F&r$EEv zf_w6rQ-`&T_s5HWoLTI)Ed{MLC>$@jLViFNGyQ{UtAoJ_FO^i^@7O3d`OTkdQe{g} zW<5Rk%PjARj3JN2?DTu8pe!pEyuV~P9(Uy%Y69dkbI3*Fzny);e>q@Pa>tkdS|mmc z_#(sX%R!c1*imvTD4m&v7X3Dz!46X!U6xs4i{`zH&;u@cUXN+AY);X&RZSyoBKp>& z3q3Vl@wx?5Pp&Z9AJ%tE2(7bjcozPdxq$^}F zhV2}TRo@aDiT@x}a@Z*|KnPTfy2ZNeFU$BomI~<6S^^F1noFx-9PLu?U`=SV-`d7( z3-0I~&7P6Xj055VImbwy#fDUUOQ<;JpX{oMnoSU`hfx;#Wj7kcUY}Q+a;k`|fIfM_ z6YsuN`NIr|_g-}Rz8edvT8+?*Lx1@tOmWU_w3SOCV3H#0@dVFEKjzFy_Rk-ibeE%1k* zU6qRQF?ob&z|Ts|kMWZJdN54MwvKfJ7^KH2h(W!8&)oeEI1bgNi4mt3uL*U&;kvu=*pmDm-%@FQ#UnQ67% z&*x?(aLU_BJwPgL{BpAsePjd;16>OHJS@$ZVA|xsm{~^x){fjhT*v0ZIg6H*>{6>W znEt)8x(uWXpLkrEp8bx(2COU>gN;#*SQI|vA){CqgWESOA`tUSdtcn=9Yw}smDqZZ z>6ok;c+FhmTQA<)T&r8uSY_S)ghYx)b+{tmq`aEZvnb1Z!csime)T}stULG#Yr;su zmxs!ovIr7d#~~ScWrdjYr^k7%IXtvsAA3Q9^xqnx*t6Q`y9wQiC(kbphANft6!tU~ zo|qLiy2g0&k=SBKy{EyzU1*rnXk9k*$s{JM;yzzR$JU-H9-+x;_n|P2MS12AL-Qa? zR+wqbYG7a`^%6|4YVd877`kS1JhbpZT2@7u@4l@Yg+e`c@2B&vPALh%!0{Jr!-c*V?DW+%sYX#3@Cu4D3c6}ZTO}85N+;BX zuMro((Bgji{#@}CMFa4~#QZSo#RE_b;M4X)vm@d8#OjPKsc9Hz5>K5VE~Bz+5maNu z5uWn-CKG95Pi|W;+3$kPm2eh4ZPANGqAxJhmHM=&cpO=#IN!W}NJDk%_TBeAuKnIN zjbcmV-w#SVUmXeWIPv(Sv_DTl$GiK?PLt5;^CwK3k$85A?X(nkO!n?)eECT;O+xAz z!}mdr5&9ml4`TwR^4p>X6R-p2V8isV=7zs{GLhG;sP8mT8R?srQ4qBxl&F{Qbo+VA zGTH9}^o}Go<&8O=w5AJWXi7tIf~MU?qJ0faowQ&_F|ch85xEDVEYsiI>4vm&9q-I9 ziLK5?#eE`Yb#!gI{mt8Eihsq8RdSM}=YL!wHevtkciMe&4O> zR@<|li@>SV#C}m=X>)q9JRz+*n%n_GDW6fS~57<_Gq@ zR8{GC$%U2LQ(5!GRjJXlcW_$cF3LL6&ow0zO)d?RGe?%~Kc3<6obNGt$!0Z^uWl4N z%P#7yty!G}jIf^s_^_kuD}|Z%^-t$2_P>}Ds6J@Mn0wQYI{`cC>s}PeZ{)X>nmzI= zI-G>!yKu=;obRT4ybJm|sV$8#Zx#xg>8Oy67OG>I8%ej;e@Sc<&o!KjHyGfcG!6>Y z_gOLFWBi)4NBbS~T`4EsU&sn0}@YQXrxrKXEhH=ti5iI_d9@3HB3p3j48ajT+iR z30RI#X4|%`%#Zb7}PFAYG2kL+ZO=P`Bqf)A}Qo zr(`j>&Tb=|25}B4gHs5TX0AO3(s?F8a+lQU|Mw?=uDHiy>i&CB`HSg!F>`%!x~;-bfzwmykMrog`a!O zKb=|S?0&fB7O>|VGAZJTbG=TgBQ&y%YbfHZr>wrEJkk5ZJVFQ1jEEPwv8sX@<{b^Hu@Y|E>Tq>RC9QsyDA^`2x)%3uBbL3d^E z&7f}E%3e<)vg(7ECth~pLb5CZQTNztZfN*pLWJO}LChEvz8e7uioweC3~q}TDxVxaW<4JVBh|h0Td~B6RW4gf=zMIjuHQ>aZ5U@}w`Q@+r^<9tK>Yw<$_^tdcue968B#|iblpQ_uF0>_-ia*V4a?WDs>QPD z?4gJ6GgCkLMG<@?@8LE1&jC(n8WQ!HH{1zQ1oGpYI)-R(P_bX$D`fZW z?Nhsp<`LBo!I8Z4-s<-_G)@Y901~b0fjTz9yTQ{8+k1nT28&XgELvV_7tvYT6wo13 zCmXI7aJtSe_4`&bU1SjVavM<|mjwd_44p&A(Ii242kG>QbE6VAz}Dm)|56^dw)*Xh z$dW9{xD-Nn2A7Vi(j1MSsR!wXpJ#IH@;i~qZy0w4!~B>5?2R-Dy`?*-Z2!(GcOJ9@ zNSGj**E+q0G<}~3cYlY@{nu`G03oXoD}Pf{^n9$_yY$!vGAPM5rFVrHG0Q0&G))Fp zE^kE_&nwGfm~Bz*dakjLXM?%o>`L^lNSVB{yFrDl+mI&+F7w>4V|MeLCT);#7bE+X zHWBiR2&u{c1--@ix3mQ2pxvG3)`iXX;|Wy|Dv#;9f&Nqp7K_j8;BP0S-tm?mxMLE< zA(&FwcY}tmBWeE)uAx@W$Z*Qy<$?Pf8ax{NHShfRH(@-n!DFYadigDDbZ_4c3*#tw(_V9dX z4lR6Aq=)wz6PJiv(3iy+Mr7lyR=$Zz&7gAqduL5)L?u4dQ3XtE=>%VB+0WMew&(-u zOz??3Cz+?MY=Zb%Vj4-Sl95+QNrF!^RnqXdJ`YuRNFZ}bb;~4a)*hO#$PgHDk=aLV zyN~|mn*YyrYhW`B+*5Kd9NY4e{94@STV&{2WmY5{3%VO83lR=Ma_+C7sL>qC5Al+R z!*!OxmM!E)(-32L<_xukq{g!Aq9wDzJZk7ePY%6zrwa(XKM&ax&nGe+1`UT2q|W9& zeSb&_V`!FlDguHc>Cxie9u9XB%iD&^dWN#{n>GA*$A9?aM8gJ=TKs^`6gdmw%G% zg}1WrRc(z7AXn#p;$kBvO)L`0XUhd41l`AVG0<;Z@w>4$?-0aTX5$yKp5ou~mWOa2 z`szSFE61E$cMem$*E{PIyTX$qITr|SM|54tx2=-7bj%<_+Fwmw>tnDMW11R9*|z*O zyP$H{(C(YaoZHT9`3D^vvo_PI@Czu>|t<9{#Y#+Ftm#5_$te|uQDc7jizNyB2es{xpXrU^s=lS_4q=&LF3R6 zbA1Z>*PDzu$^8K+muv%)f_@**C9r#c`WcZvX7U_=(^T>DA*?yYKBMf%Rq@SD2wz z%(O9lWiz|yr^NC%e{(7MHPHY1=Um1+nwIjYE*+%PwB0*PXWwZOk;HO*B7$rXCQvT) zXIvpBf6?@%(0M3CW}m(GCP&919V-=Whwos&&Gi{NDb%rxt_+5+5LVaf?Llcn~Y=;T3 z`iM1s80RPpY-K^zN`ZF5f{t#@D4VT)-7bub4Xm$Kq@i0MI9zG>qx$jE%+*xj;AL0Qeog~ii*$CLqihQoq^m!G%gsN{vueS#q*t0{96|L>C%e^?s3?MUqo3% z{1Ce4tVl$x#Vr^TY4qGAe5U$F1UTdjAlfu+%WK#Kl}klD=7*a$Se4K)m^Pyu3~+A; z7%yVzI+5T0N%qITQa^b|A+BJp&dk1@1S`1@k-y24whnu-iX6)K@seXNEhpyK*I-Dv zo)8)RJ9cukpz0EgA&rQCllHs>x@7FF+E~me>^rF=Cq-wrCuc+fuVF$VHZVw%ow)rofJF*zPu-FmYi`xkAwUYVwhEEtWvi# z@N7-Pu&BlJ8HW<8)OD@kgHcPIN#Fq8D7D zpO0%2v9nxRs53kwFV@KZWo<4Z;=H^rs0Fkp9JneZQs=fiRE+FEfFzGJv56kBEaLf7 zQNS4Wsou!bw>-v`Xz1q24ou)Z2KXwLZ+7aVDftk$X|1UO!#@T)>)vIws3CXuEFRzg31m+g_AhQ7PW@@U}#1^SRShGi;@?P64T zoSm*tu!Bv-ifJJP8&`XySTZ{oLpiVIR9UR*-blb2#()B`X})%DLARv)K~XW zR^C<@q8c2HyQxH{Z--tr?kTc2`PI%UxD3IBN#3$)X{JV6CDHE@3y~l)waT=liFJ~< zz&$(Pn!uh`*vDP5Jb*-&XI1Lv{3aj1OftXx;K=v907a{IUB`!OLwvqRr+)sMy;u5)e?~G_vu78^t6rJ(qHaF<;5k4+H0n1 zU~onI&VSp5gv6h{Xf>Scb?u)RWO)gJJ{u$uVwqK5fY=Q^$?-m;?~wrRBuv!dj!o=b zpphzD?6R!*Ld7KBb02$P62j93P+F>e!m2HZbuSuXfZ|ha{XY%ljW8zyAB(Skjwt*< z-w$JxdRc;w4cyq*1}0|lnS|gnSnsDrj0>A-_U5>a1QhXNE}&yi@$E~k6P9pey8B*T z)fPp0&Nta%q0|rPt1Eh0Jqy(E6?$FyD?><}sC;pXU zY}c(~5+1DG$AcP0zv4W3W1@;$DZe$G>o3dO=XM>ZVc^}0OrR(lQS?(Cs$eBYKSKbU zWXIY!1i9&`H(`uY#PDg{eraNNCHzL-_dE2jII5<$zEk-Q$9asN*wUIh3Zp!fJji^W zvT8yYD0VVPRNXiMJG+%(>s?o)b1%}Y^Lr4}q}Y)UMtOqRaN^I1XLN6@T4M8!$S}@- z_F}gT7>IidK_Jw;zjU2F@$y3l3&*jHb8WePnTZA3e))*F$)@9^GCCIA0#nY%NZ~Nj{voZv70oqc zAJ5cr)4GINpIuvpIG0PK=$t~Q&)P>`Z=BW$1T=HS#w9G7HT!6cqxMvOqO)9XoRJ`B z5_I%_a_LYo)yf=jYZjw?={@5Q(nJBg8hi|nWCO-K`5V1ywx|No%pnYS*$b7 zW6NX`7P@DJ`um?5v~qPKzK$yxJj;#W5H-QW-t7)Z#E5dn!evIOLGN483Swb=6C_lL43${kfvgSY1Pw#>Df-n%1abVgoPeYm z+x$n_H7D0AJ-nR^_fk{XapP-+oGNzEuqm zk6mb@x;_>|CBFRjA%n=F$Bes`Yt>&6zX`|4vU1o%HG!_&@NDl*-h|Nb*La%4bf33i zi@lD`GAiFc@dY|Q7w>1ge4hNqjdL8h>ru}tCsu_T44D@@f>9x^AE z-RKu4#S{^mlDYo57l{ElQaW%z4}3^)ytB4i)?pG5iMH%w{{xn!n>L3MD&BXq*kC}q?+E|z8Oh;e;H(NKr(Zom@D2`yfEXh>bW+Pt zGJ;0aI=>YrRy%yRzUD6n3Ni_#=F<4&hemki8>hd&GP?>zUj!k5voj?~`i@?}RAJz> z%U_Ye|4K>8H5y=@3KN-H!mn_95qOrLH0OQl;WI@3D6|8D=!q6Ie`;{w3vh15hQB1&{tn3d^!9m9>4gu%*{Y6p=`x>$bl~ys#>4+w zBPFuN#F(ob+iQFVYxFzB4SnnZ_!5XnAESg&6S5mph7~J69kr#6-UX2RoM5m%{jUe< zA`dDYzq*ZvIB**w)&W+nZO2P#SHf;6X81jW20oV)6=>&P)waO{guiwnL>A&c@Dzb^ zK#bsjp_>1a>c0n$K^C_E$|3sTZ9vHjBw79JDLWJ4Eq_bS{m=J9{!;Q^{ZDvnjI$yAdXiG z_5x;KNGP_w%D;u;3HF;5c?uH-fgeFMcYZ?>7|>nDk&ZK8AzG-RA@X#hx%V{#P3YM^ z^3ekGb^l*jFh8J+y7EuDZM{H2;ECJ@p=f#$m-OiK_BWe-*7I5Uc1CnaGDqM3bPl!e z*f3%*1@5BdRQN2OP@71GP9?d#oy;HRh3zXzE34r_7RpL{gx~P?Sa)F-Qjr8kP9q4i z;_Mpw9TudgBuT5tj*0|Mi!IxS;FuB=z==M<^<>*x{fbaYJNPLRLZx1L$;{dLb3W^C zd_p1eBL6ZKwwXT?U@jp5+uOyH_`34{MEcB+G*_3_MGHHpdO|Rxtgb9GQ0mj~p{T!% z=BpTfhrz4uSq2i74}QXp^ij70Q0R}c#srco3jzV|slOl~@g!Yo3EP=#4Qbm=QaEq| zrSxRQ1W4iUA^tt=xXpMhF=+|N(&ZrmL^$60MUx=){s|2Wfm{cIVe44KINcF2*)D9h zm!FTW&vX^(W)SC%e={}mG50P>-lB&#OO8=aO%F_HFYZl{dNWE{ynR0kAhviz+{JB7 zRk@rb?;HwEH`t6DqUBVI>q#5=K0sK|Um3vvG5x z?J|LTk5j`j+;dVPXB+AnciRVJ0kcy-dqI|T#zM0Ee~>qxAAGB7(3AiQe zu8Xwrj8s8rWrkct2Zvtj$8#Ds0u|Wd2if13 z(u4OEc6jbCtPLl>;oDv3`n~4dNwm+XGNPkQ$k0)j!v6~}1U7$hqy`dTKs|P9GWp{Q z@#4LpS_{l==4p5vw&7;K(*hZ?V$gVZKbtOsEPN{|?QaU`G}9&y8^Y>_-4MxGK~}RZ zxQwYoYRhf=D->_~L(G$@5p^{E{I;`VUifItH*SvW5^ou!(d3Iipe_XN5lY^$|Su-N6$_w}l}IkUYh8SszBtv&4911}Z2!YW7LUa{it{x%0OfXWi(q|*a2RGWuMK9q~wq%1J zUs$J$LBIIjq9AZdASaHTZT2QLYSrvZ%m~+ms{jSt+a7T^@Th?4`J}|7i-8;wx;Yn4 zpJU7aK)%ga%S^x}H}-7r0wB0YX^o2(s@iaQ|}zvHGl_;3D2S zYHgG3pSHnHCyGGl3rc$X71yo*5-!+vxpb^qUoU|%5y&yBK++cF?l5rjo@ z1oOy_GWNeG1NRk762YkBGuyf)0nsft?4KUpfg*q7P&!F?I59KLo^2+N045&@=ee*W zoBi)qLa>(>KR#&@euL*gY#~{x&};wqs~nI52>OG&3HyzsNAOFZu5&g1_o@FO^*;ok zF<3bvmx69>zi9z^llQ@0+v4KC1pCJw@Y}yjz+EKVK=l7f$3MO9wj&ujWzY6svB>V8 z`DXVo1N(1;19g>&*gU81$0}^wJo<3c>{Hfb1WNw#+j^ye;DyfwR{{ts@BcEY{|M#k55mS*XoX&jP-V8_3tY=zu|33)04}q%5P~0=#)>Tu8izw1l zeDeQ(*920=uojL!L10p>5aLpyDX{E+BspQhcy-{NJT?1}BiqzC2NdnfxOf%8F8`0v z|N3t^f=958*wwyWGf{v9Xfo~xeb~te{@-Kpd*NmCL{7Zh(l%BG9`fti!4m`-ifyC8 z3pjw`lu?eM*UiwG>qQNxDH55eojs$7ks(U0&UsN#h!plfsgAA8Ec@$Tawj=@B%W3Z zIJjbv>3Jg8n-CiZ*G}#v-Q8C&IIG_>rWQidf*fWv{`|I)Q4(}ppV15;itPYnjUNHH zn5)vynr(+ol9`pi`j}%8R1ST5c;xgu(Bo}LutDYSO&>k5uX`cL@aqnm{wIWN#a+S8 zKPZs6=d)U2+gG9k3|e=|ydYESY?+ZC9t}73qR;hwV}!ue@r%EF)O1P!3sQo_s>)Y> zMo+>}q^X|zklAqBWth!9p{`|e@SM}IG9bTy6}RhqW(=8sF2SwtYtwVpTY@MhAs|;F zA@x03;rRfg*R+)D+C-sQ>=%L((Yu19?dxxqC<9!}n(N^OS|lNY=1E2x7}*SdeqsYP z0Fw}w#bA0aqOhijHE8wj0~KLk7?6#;a+oQ2dm~Y_k$`{f(f6Dfy5)`FC7zqbb$&b5 z!q^Kz)X~ci>4x;(zVAVBdS{&$rx1^xPf&T3U9boiXQ6c5jFSeBdxA2B_Qt<>E7u*C zMv~(>@1*7B#*Sf<@(xe92~5?zcq3Qa2$6a3LL@dM1Ey83Cxm9?st)P985M%oywKoL z`ZLP1=TuhNb>TL0rb7T*EF8-$U46L;VQ47~{&HX&xwE|gX~0hvCA$DpGhc0^-LMm8 zfsdf57-KY3A4_Z&RhrRK!or21?T z*MsLtKH`2JlKe@teJqL*k!sWV#DQ=uj&o&iu8xT~+qK?&EINBv^_N?z3lUEqUfKrw zJDf7f_)1I#ut!YvtdxJ!6-IYs^R{0Qz8b6#Hx%k$_MvcA-LRf<~ zfLJSll--FS1g-gur}%ptcjx7!P*Cwi;n5WaSAdB{HVe1qd`-MkDl%D=c)$%3=dP#H zv;DSsZ4WAmE!-H6U==!(F^*q?m9j?G zU?BS79m=Bvjbbw&X!UZ#AIe~qRcG=BUz)aNq<=_rTm|^yq7;~p0afv?EDBUCFoJwhI;op47n5hcJIr^Y(yn@vDXz0p86%jVcFbK^+RMLlKnN({vQwN z)Mxc)l#S}i+2n`zz0T1b6l+WMJZtMg2Ey(JC!T)7a_C0>mAfvR508?u2$HdPNaMIb zTZui--cFA(D*Crvu9ZDq(xlLA=}rm)rK^l}JCf=%z~ z5Fr84wvw7qu68G%43jfJdt;brr>PGFF z)pJE8ASrt>b99Pfa=k0OQq1?RP>L2)QX z2sm)oC8Fc*lhHSkuNj_0nx*qno4d&JwRD)K>D| z&2J_w9p~9PW7AWV%6qg+aY%K_#lxk#@nzZm(c;7cy~bx2{aN$+hx=G8ysIBIzdrxo zGjaB{OVa*E_k2&54EKK5(c)k41XR7$KBa1CHO55Bty}!=7 zgs!vVq*&_vn`#Yfq1Tj_(^nJwl}{44nzzP_PRWPWas#x@awMy5)nIChT1?exD-}&G z(&~?h>qP3tL{s++^Op>u*2IN}mOz!I9C0pRNpssxB#EOSD$y`0Id>z7zVqD8(3wC; zvYpLr|M;o?KNve&@?jHAzR=Y-%*}Ni|0%+x!Dnl<6eVSixyufaVH+RDHMsY4_>a7#i-E8B^(BUNEhHBeh8gJT%+5L|rMY z&E!6~{~RQ-KQMiCnf?Zl;{}PhpnVK35mSS;#=k6 zIbo58BS{g9TF|j+Z!aLhj^_LTL>>2ysr1*O5CLhNFSWXoKdHt_W>U8&7t zLeA=O4z(v{CUd4zlT-I1IRn)zURF2lR!5T8szL!~(Qlw+l$ZWtu2F)C)HN-$Bo%_s z3+tO8&)=J$cxG5~IM4Vam@V;<`g-yLj?mMtQn+=)g1aa5q(80V`GoPl>m^|lLuyl9 zZ$^Ap>kKvr#x|oYGe>SDTX~0_zq+71(j>;zjo>fmlf7QE2?_BuB)E(MEu2d#52`cF zwB;SccCiM#HYu2-AFWR<6=IT$Ki>}qlgY}XA1h4}6@zt`iRTyB-wKl{I7xIls4~#X zbiy=IDnJV?g~jyw>)H3 zyRUvV=juJYWN;WD9s~tl~-h;MU|E`VZo=M<+}U| z|LmjbHXYlQ##N1ma_uR{7g1){uj0A{#B=~4aF$PZ@0xQwZ0&u;A+4#~W_JawT3r)4 zJe{s}$BjjKBo~40biLbAjB6oA3udF%#hqoD1o_qz&s1S%-70RK_w}-(ytFy)Oyp>O z+*c41-UE*E{y!0PppISD9?vq;JLhLBZUs#nr7g(?mkun+GaP2hKLv)4PUh|()Mh+W zA`5+vC9g&u*XwUY_4%w>yF$0THBWOucG!FH)-ZaGpWad&1Ee!eqyT6bjk; z9y!q$OV@jw7xlPf*rock%wofqD?$tFJ=QkF1}`-l^#+yrPB?1zY%XN^hIJW>dBRax zngSfYBhy2YM6-Brm%BMuh<&;0BJ~ThbTcN^vlM8Hl~^?wmI_H6IcOxo-6vJHJuQ30 zGgQ=iN=vYZu5v0r#xq~|v^DvV^pmuv^IL0(o>vfajmvjg+*Ts)bH65_ApNTkQoMbM zx$?wPbkvkaPX}7x4nS0?>DEt-s9T7WO@}K~G>D*oswWO;TnUfFO!G9b_nZeUCl^E| zJdDeEG~a~X@>UM&Kyc+|-#c!(-2OEASi*7|bnBM)3r&`N^cC%@1wwkrC{a&1%+h%# z(*8|~b5j1F5^{MbQv|C#ysR!W z_fDC|PqL94Je|$>G6x2x_?u?24@t9a-Uk}JvzPMLS%-HkwKX^)FqUEdpoJ26Y=xwHvm?haGuRB8bPt zXVila1ioZ{)!5LojzFO}-qoH#3t5El$CW=XtT4$>qp=tV1XiEp6>YkCtD|BbP9t`p z?+(b$v!vN{-uh~8VvuIdcQZjs%Xn*z26|lQ?=OpP;5|Xr#WnMwi^nr77V3t?y7&VT zxMD1d(!?T&{Q-q(Bh}h?TVGm+n___3(iOOuazWttpopcsZ-z?8jCAAUgJy}k4mAUZ5RtlfVI zRSC=~qYB~Xb~ji*l}%-ZO}=0DPLA_bw9X?51vpZ>YA)_qKFTLw&u3*wUfQ24-mB@p z?GM`4pD3f~zO5hF?`6)cO2vUo+TC|PHQIP`E2eG4wN}WHFu&1GGJ8IdJM~3qb2+z9 zW8UieN|M%f-PUj|#z)^*XGByw3>v4XKeEgOkLDjd8CdiqqgHBxC(`?oEao|>{0H(Wgs`Q8f^fLkLpN{g`Fv0J~X~MxckS1D#Cd2{e+2JTi`uC5NRsSZf12Up@8Q{Al1z=30P49koE-{@8>SP;z`}LcBQ~jr=nxFm?MZtln z(PeaQxYIph_jvC`ExzOU`qSO+ue59dmXR6UxpK78=yK7%x!A)zV$4WXR9F)Bn)~&qr(7Fsya7kG&TLPX2Q`N7rgB;DMq)4JUW))23-yOz zGoWFPd$*HzpH3f3p;Ws(dJMl3wVRRK{5JnF`K~tPC?&`U>Av6h6oXS7DR_mwjDA}) z@TgY3T_u{TLG*^0N>Jixp)mhhHZ=i!ZoP|8+T0>wUgrGv_v*~r;fe&WvgBHg9;7=S z8}%k5BQxo_yO9w5BSqHmsliff>804K^%FMkocOb6Rpnz}w|%%i1e(-S-T7?f2QkRu zdjc$~;Fy(I`>x2Y*Z401p$D=?@9A2l@$Bt83snp9^?-;eH8l)cR2+IKg>g^Ezs1c` zb2A=m^ARC?F=Y|jvTt-X^}R)?bdNBjYihSJ4VC(FuZ#(QhO!&IY9;Bfdnt+d8`d{! zlzgrWryqSN%&8J6dhs|@Rm&@FJ`O-fHL$llFxKkgzDdvddi}lgoDEXa<@x;z86Oo2 z@Lo@u>_Q`m8{*Kf*3MM~HIM4_xu^*oSBpl;0qvQ%d1(P-Y1bApEVwH`UAlBh-VS;HfqWKS@v z)#;sPPbbC7`{Cg2_9&N0-Bg>^JlJ1NH{F(Q-`Z_Q6=W7Y>eu%q;|k;2<_pKxxKzfG z+%maA_v!-odlFMX`wE7(xf@FlXJ46>dB>&t)DlZF<}Mi}Eya3F6>GMo+Lq1SF-uI!|y)nbjw-= zqCCP+eZgN~HwrLCX-AYJfTIEG@tiu|Q;t%$B3mt|eZaB|cixvarx8|Hq z&EV$1#l19`9|fpzV@gvkO#H-=N2K%4JuWw2hu+AwoV_bH3S;-2hK{nUbeR++=A0YF zsEcn#zpLG{_P#Ij;z#aW_M6!988NL9?NLp%K%?`7o4R!jOZeTQ1=V?`qX5 z1BBWJg)h`wDU5PAo(w9AeNrU7R2KX3b(Kkj9QxG|ui!UYtN(@-PA1$(?YD}4fptLN zscSiEeMyxL(}Z)N7D-{#>0=%D=G3T$YHwIXICBU7Hg@6j%`r96j+CP{;9>+Rd0+1weG8_`7-`?U79*P=wQ}0)TQ~go z8tqahI@Nk1`fvj^dVnl>^@xeYJwlWuxI+&cU-&bBWS$Sfsa?5=(zl;&x6hQIaqQOTo zU<|X?n&s2F_uIUdbw8kcRcY>G;=M1Ad6q9_4d4xnyXp+zbf`|e)N>{GYGbG?<-0A_PM)I|N<%jYzdC<1KZ{0IPJu?D z(S-a8H`kkI?aW$Tb7y0i3JUbc^tkoKPXy$4YuBdJRGV&nYRQq(*5}h)*HK=Zuq{yE ziyqyGJvjUE5K#jXhtM((K1>MLQy?)ImU~aO6R(me>}5baAMI8-M8)ep<=H0Lh(_F&Eu(K znTlEz3gkEoGmNYq$teXjHL^N)KR90*CVVG z^m zP*>D7L_2tmwSJ)eG@9-t@AJ&pIb<((Rp!?E7ECmyD+H509SFUu$gq(^%IJo(YM7E+ z;7QX{)3G$W^vVCFZ0GC3eViYUE}G;^XjQ*k3BT0$|JZxWxT?3cU3e`;6p;`FagvIF zlprk~N|!W9N_Te&6QraO1Oz5h(%p@ONOyyPq~7CruNcu!M~&^ysKgTKLvj0=R^9hibcUkJ{}Q`>7-5z1s;a#%_$vGE+MsIh=O2^n7J+XH03u*mZ*Slxv}1YlB^PAXFij;c3SNT6%$T zLbHSRi;-%8gTkxvYd_CGMb(F#an1RYi|d#X87IixHd6%-`GgH*etb*#L1X&s1aCD6 zOf6F6Mw%8>7fG@-0m_7(cT%T-`6EexWJXF+ ztUU`Y>BHa;WzO*Ux%RK=n#o?=H@`vON;0Fd3Ox-St1`bCYi}|9j2H=PopP+(C3d$n zmT(&Nsv4c=PqQiL$TV^=?T^5Y&b6l^9wD777b^p%?a^2*r@=^!7H~W!T<8I!9Xl+? zuNMtDo@KUtBn8>&AqoS$D(Qgtp+eedYWMK~okHbOv}&I`z^Nq&ID<@$YGeX<+Vc9E zer0#GU#v^#@Q0H93A}n#VOD;cpq9IAAtn=w69!@>)*$tApMYrRJ}UxPx|CTYq`*fx zT!{Tjoqea|z5{jz$dgT@@SyZvQn4&VcWYwnsT~dwydGfSE&Iy;x!8*|0qriU7-Q!@ z0!&w*opL`1fY>t}7P0Ly#}btWgL(fXWijiP)1B$IRV}$O(*|YA%|CSlFbG8=M6UaW z!t>qRhPP|d;qbZvId&IIg-T;=Ru4p1AcIVG#_l|e@@Z$uNMX-hP6?i(QP@!3cU;-6 z@$f}rkW}x5_co|g{{G!d=gSB4B4%F^auBXv&tILma=sxL<2hz1; zxZ7ZOiv$%I5eG1o%!pl zk_uH3!^Pz~rgtGmZxs?siXNBmvt4XeP8XFXL~QdX&>h4{V{Ra$BG!9_n4 zMD1Nl#L(-T#dAF-o<$+P9OfQ7W%mzMN1r4MKsKk}+&}Wk&2=>XoG6V85miWaQ`A*^ z^kS2`G%lAbkQ~nQoflmG%hdq6N zHJqYsMJm}#AF?ZbN>cBd;j7Ds0ukUp%#b`x-$>b-p7yUWC(`;@S~n$G4gD*4?5i_@Sv>0lz~b){L*9+O^<7RCta0U5@cYhKdT6yaL7SAOQfMnOcTlR_mVl4 zzm8WrG*HVdCCwGXU6p`Fb>xe$_AP%TyJx%M!$F#Ajfa~W$9g`1rHsK>-$%DFXP$Ta zct(3R%{FV4nH6*9?A}TDL;tz*#ms=X>$`}kZkqY@NxBnVJd#ErQ;3I+tKxH`4TiO#iegR}hB-zfWfL_g!5U(D`fXJL@TG2w5$syHp;XZ-~3LaK~5CI9?ST(0A!mljUK2- zyfz95a;itUg%dca3xNJ+D|WPuwCiUxH@UErH5?f8?9w+!e^1|St{|C4N84guBA;(jH~PyGfJ%ACq= z+0LQgT|~0?B(tKTO*ZDiX&n!GftP{TFnoFu@j)2=otO4g$XFRYty!Xj%+iQ!&w_c1 zxms>7nN-ebfFLyIV8}*%H%titiPTHEKQ+hTa5f`jbS^!TY7S37N=XdcvigjaO`lk9 z>JVBEFKux>w&aRXHVUKER#Y?NoOh+SlEC2_-7VVD3-vu4b9Z~kUkp4;M)<08zarg& z$h=ekH;-{IV~t?~us+bKGy#_t;K{*SP^0_-T#9>HNAKy5gvzeBVw#MfjWsr<9+?ph zpIan0;FE$ zIN_}H7DnA(8pH7d$34qwFCpL3!^m1HTH=9i19XfXyE4-iRQg%6VspR!GT8p-h4K0b zEI}6}BlQs?R&;&deMWx+HLABAyU$D~ysK#i| zkM3qX#7467zyTy$A!lC=s4v1^urFHEIbgro`0@4a+opxe&4F=6t|RJazAx}T0MYn} z=c#lWX;0UzD&g8E4pI@2PtI_+G%#j8;ULOFi20!`7za`^_dNNHGQgiy4qVou8w)X78{tdbo4h>IOk8%Ma9+9Ctf#1v1?qFC zQ$0mMkp{w*uexq2IT7Nscl!PXqG*GURy)}DfDJM++7n z(wL@jnsWe+a70GPdp!H=UASoCV?$H-DAzk)&)DT9*fZQOtMbzoGO`LMy;H6ZL}NDk9>9)0@bf46qN{! z0~q_XtKxP!kR$luj&#cID(mS*%sz?!jr$7P?U=0S9RZ-;qgyB6qPo(p%z}cn2%@%arG6>WXsM z#%~_Y@X<>>?BQbSs^Ej?6kj<0M6kWYg_zZ!A6R6jMejTqx!3mlkRs6 zfKW6Kp6WB!#>0saY$JORjdrBYhA;xq0R-3-Aa_&Z)HJqwd0h)~MDXm551+`!pv?1y zsODI@G*Lh@a$Oy=eA@wF_c$sEWSE^L!o;ZRRV?m^n?n$~za^urXg^1_aUl*&;?T0-$x@%qWe}x53L% z&BS@K@T`>C#+pvKmZ`E(sq#k5*M}iM8Qd?!au7}(=P&gYOOMS*0@Vh7BuEzP4LKOI zxsVj^D?y0?S)JgVEx!eN#pabbT|?_!sHCMac-jw z@W-ImcNb@J^Q?!6MrrT=yJBKr}EI!BJrL^7w1D% zuB2zXJw*x`HQfHoQ;l)NWFa?m%@W$Hl<|^kXZC6z^q{rS2F)1H*&)~!PCU`jPxs+V z*O$*_r~jlGyG@((<0dzr^rp}bcJczc_dWnVpmQ~uS++Ruv{S{@-b}9*0+Bwm@^KT| z`nAxeEFQk4PqyE`D{KbFtq_lU)WS3KZe|~zQ#9jR?q8%HK8cN%M8+29$ns(V(Nhj^ z9BmGR>^m9it{pncO(|8Vic5Ev6q+U^q9%OoRInoy39d{tT^5?=49}PpY(A(99f-20 z`;;_PN0X1k06!N_cNMtCL!S(DH9?Y8?Rv)F4H-* zo!+R}^(7G?Sdy%BV%v(;MmQ{#c-=nRoE7iWZ}>}dx`WH-(Ec&efFzy$<1E})#NTa> z^DqrSx)wq%OBt|CNL;WBFTqo5#NU(hP0wU}^}{-}-v!|JwL+yLdw9<7kj_Ojt_(-l zEd?H>%1j}S&VFRh;<@CMRc;BVoaHIDV@dYY_SaBOEM&dNnYu4h;Vn88OtKj@6_X;E+u2y~NBzlr$lGsZE}TQ`yg0qs9LFpN!PMY^A~;zTwP zE_@MqfYrfmbRlw&rvt>df38b;;%p+bS3#B1?h(RTKZTEmB#Ax#Q#^ep2!EiCCKK0?4+Qmezj!%N~~iX7856aX>ew zY?7_eMp4#Z{Wgyxo7L0BFYFeDN_I_`54><46TA>rDWBSZ;Q|Mdsn5YbIDVyObH3xx z_C-aeF7lo9g?^fBGl=EnVRZXzq7;44C2Dk5xA!& zH1POL3)}#q2^}usK1@EW&Mr4nOdQQ+T<;a3kjsl?ac#L6NRxKl8{{xEo{MxYi%=s-qtp^xecr2 zVb3GqFTsK^hPiJ4$Rv~Yt0QGKrMI+qfjdS-e|n`x6Fc07dHu`7oc)^5?r~kYUge`} zJh{3!ETR?KE!wk0&YiDZX@WFT{20YvV_dXAX=JvM3UykMemFII?eGL zhugR#+LOU(y{R^r`VUms1775gmE|cVry`^CY9Q=h&Lr@LBf2E`CSPQekyheqZ{q77 zo(#i&kbI)CT@I~jM6tv_KRtBBNfiGn+dfyOIJ-L>z`cNGg!J?35q`WzYWAoRyMU48^yfg3Lx9<#G z6dWxvcgxQ$Y=uZSiI}P#kkd&inqK6T(*mZT*vA!3WWC602@tW!ieEwL|D=z8fwJ}< zw~KB-t}OsV6}K&6elH*OxO=Dk_YEYx%L~vT{uZzNZ-zPuL>P3%z5AfX7LK5-Ir6M zjT{7$;^1tg#B?lV-Gq}Wmv-+caZuZSc`YQA`dOL0LUH9!JTf+}UCC*gK?9U*g&x*F zlHuR`IVaZN)>at5rD3yHCd?XJ6uU05YFEEe1wUJxJyLg9HZ1Fo8Hr#S$gya7c-Yox zMjX&Wep}x36lOd0>Wf!VYSm*b8WZ_7I(1(p53fAeB5R5a@wkhD%D|ddrI>O&l>>XHMN?wDzb$44ca z!Da-tNz2o(2nmA7vTK!1-K9r4!`Zb=X6za0>(6!qnkW_|m|^=NcO{SeBItmMzL+v)q`yuVSf<9rqfhYpx({C5A&g&|f$!~Hw5S634 z?@P)P#tfGEY`MrBf$SvQIs=Q{Nk3~8VAhM*@7(2fA3ahu+{+1nOYw1m%l7Mbz! z@M$Txw$T`oDblTY*o~cE8#4z0x*#U}G~!4YdN`hS0WW_$E#`4hoOJv%HQ-cG?W>Y` zW`9DfOpirC&b~*Oo^uEAFs4294=)<`SM%`mDG5r5CW>70I?^EX=__3*6lwbUc)$`5 z?b$%L^7Ca!-7{|G3p?`wX}g~Eg~IW(O!FvzmQ)e*UXX5>5M_5D05br`#YDI*;8zYi z2FT&C6QYh3`4uIRy0&`Os~ykzk>v+fOgiMF+>*Fvaj|wkr@omwL~n47_nd5)j?zAa zqAR3yX}P#R3y?&h@4^{TZ>oR*KmN23~i zo`$LD8)JxSPquj1*ry_{(EP<%>xvx7ka3octovP8dmQ$GxbRSeG-WpymAjm?EyAA^ zJb~%Y8u}Jhwq&t*HE8_V6twF8t_s1u-gCOc8XER<>JXE0LDyWDiJPTD-$VOT*i`eN z#Rm8NxW8ObcZpYb4@5jwO+Qd!hOz20kceU|87pOtzZe6EgG3HkGMp3{e`^dQ59Kae zWRul@&`b)s^X+xW!`k3c6a2iy;4GOcPu8uEEm|Wv8JKL3x`G3R)~i>;$LY|__mtu8 zVeC@1UD7?Sm5)Y>)sK~`iO0RfoxdDtn(x~RZc0>nwy3OoUknPj_B>wDy2hkB&hJWr z&q*@=s3pTy(2CHU@e3_wo(hTEkWMV&dtJz3wN^d{*Nm&GWy%$blR`eI208 zbNFfFexc%&@&s%t@}j>#pEH?lh*$S(b$Im23Vv~ik&)P2BuBsUu%hxHCEPL6U??bd zV^)0g2HTEFM`z+|_!3Zwha7wlIj5>kBJGom;@g@f4(rFS1)vMYYp&Fa*4S$#P+7~x zDMs?Olp>Q0DPs35-T{vzGV$%-P;tvQ12lK`u2Bt0{GB5Emf!Vm!G z+-mz(c4s{Fk}wq{$VWE&XxR0=)Hk(k^J?0;?Se@JatnASi`r(70f4at>(8#{Vb=sn z(>g7{+P)siA$QFSlT3RvS-ia#WMoVNH8 zMc*EINX-LU;OEcoZ~=1e0}7azT<*gQ;N|9|hx!5-#4(ytm?faGw?pP%wcC2}yw>z8 zISY%H49mEV#Dwyb1Ek^=g+It-v9CdIVma7$KJ!C@OHToN_<0$bDmfwYVycRM8!gj2 z1BkSzkp7Kw4Rq+=g*HH`A706G;eJ?B8DJc+0%tfJFj&ap6=Gl7X!by8721M&e_e0- z$m{Kr>E<6HZZu%MWbfYn^Op({kHl9l_ET+Mw(&o3ZGZpoVUc zN#~WlEr0<OBBlgfFS#Ptg!jW5r{Hze*)Q_knVU{hZM0bY)dpiH`)k}NK;eOYzpA73`{+i@YkyDbUY z_Ck-z`Gt!)2OSUggb`dW_2W_{|$k_ZMhsQu-0~`4RFfWrnuKKB02ok(G z9~5@ya+>_iNa>=~n7hP^T)BEMT;z5(%aM0o&Z?IQ>7;rWhyGs{@F8*mMFqkoe?5%E z;8!kwT*|+Pa{s+JFn8pTW{Mu_|LO}BG*Tk)Fbw6Nmv9_e7^sW}6X(}ztRt_z>JPV8 z{#h(w<;aPx(l*WF-?-1ARGkJ2t1xl-6m-hp2Y zTP@Q3>MI$!I!2A*X8+t*9C9WDy*QVcpIi5kJwJ+i6f^CK^A*ijkQL-ObW3>f}b@MM)mOi zSq#;|_{7TuQ6yKHC%`9vR8g>jR`;YuO|B^FU18DnRg;hJ`avcVd#2)8&0)ETq^Y^{> zhu0f$&C2HNJZAqTi2sq1{Cjx<|NDQDWw1no;r@$BeEP|wqu2@;y>^2IFdf#fSyq97x>5=2}dTpcTMcd z!Ch`DEEkA@QT80!vtO%WfpX#LdPqzqrn-c6#`S!y)9l(~QS}>m%z?K9!}U1#xCfJ- zPf}CfSQen^T2Awz(xyS2T_dv=*3v`KKX4WcL^} zWJZ7$Rl4}fQk&0lu~|Mct5G3KcY67fkr@?W=Y8h=?Ld$X4&B2BMKscFFN=_RgWsxH z#VGjwe&C?Nb@2J9G{4_v0o5ja@cHP7^5&JFkAb!5obJ4foN0kSm^OZ2%dp~=3nL8H zg87ZyW$j@6Y_ORuK%{@o%LJOK^kFX)dLBZu)Z6AW51E$Ye|vG_sA zSylF*0CE5G+Qeh9JyK?vR~B)_F94rktE;FIzWkg4e186}`^sU{(fug^^|j~Oe}|k` z79E+9tiEi(2S+qRLX z3=N#Jp@m)oWcOd#y#QPVl)!uA=2kNum&tS0&;9`XWU0DT647++L##|pIJ&yJwrmdl zC7?V4;5fq7(LF(F+TSPi5ve6o6LRFs3xBw{tRF-YJ#*5Edh2 z-Rd-PO zN#8g)IxdN)>rxtj)6R>L5~amu`PkU<$_F{aRb{gCl-LUiDC$@as0x`M@AOloK`5u3p$-mC3GPJ#R>touekUm`s{eWmBh z(q5=x+%O>l!N*;`RD0$!|Yy zU@)O=B4^dRb#0*u)wr!c7Nh?Grpf-zve{?$R~>!qFN9upcT!7BS=l26#=jijdGK=; znSs*=7Zwq^T>l1#+fnZ@`UmujAEZ8nvRKJx?+26>(_&s(TN}TUpK~MpDRIKn4`CkC zS}S08OnD8MzA1h>YkQ9x>*I)=whH6579HqbsQC#4#sfVsXi3V-8tMvPGW3S+nEj<# z{ATm%Zh6tEhjnX*U36%U*`TdBiJUMH&x_71>9T<%yq4vJ9Fx}#iZEY{BACEITRDqW z0gN-3`O3Za#(hFO4+MM{k4e-E+#{3b=|ael!_ZQ7p#2R32O7~EwC+72`_fmhUnxIl zNO)Z!*o^mUeo?C5$WHTy*E?2mS-w54xqPX;@xC?P7+XUfb2zBe=E~E(YBc;pxAg?P z*J?Gdp*~252~f@^AWsK=3BUCY13JOI`iz90?{r4D60UqwR^`Yr@KW>X)MZZ+*E{gy zmJr}k*}WmlgS^uQHObKLMb(YeQJ7p=hy0c#{u4~1RM(>Q_OwMua0z*w4_(gOo-FJJ z<|>Rj?#g?R&c@5-4t|s-jsR5d?!;A7L{8{(U-?zRV_C%F@Y@UMKh`=8yku#Q%C1tm z{%-IOuOjfFzVX`Cdd1&;i36oU{H58IPwl@3uMa-_-ajhvALIGgU;phNQQ-BC3LHgh zeg7KIZ~yTf`C(ci^uK&|3;PKkP_OU`uT;POp3AK$EUWHu<|K!&Ufywbbp?$&SU1tq69{^qf=jS7iF1MNN1^*iu-`kH8uaX2KC$GhB zyuMNdZHoJlEu@Zt6PRa{x9;R#D4EsGb`lU)I9kv=;e;#nq!wa$2F!Bh1@yUE`iGZh z>zdgzoi_Ep6ZM?kD0M>VSGA9uaE)Y~l@$B+jUXalCa6*G9kkNr18?Lzi%LdiEgt%L zMrC)$Y4iJ{F~g#p2?wQxUYEbm6(&ArvCWQYjTSEgY4NBNc{q=Jg=?B`K| zq@ae@!8>F1s!xKO0#w3wdGAf8vWwSi02f6|)Ro%)svOM8WT(muCVZEySN7Tj7pwbh zY?RNPVZ;%Aw7AiiY%N5vRE*rR>s*_y4s^X%xje1h8+GFI;-&N8cgF{ohr)T_>|n>Y zIs?y=f(X6kpGV(A%taB@9G|H=rXIzX%ogc(>M@!M-0XZo#$MbgFWrMTHSB6nxi6_G z+^bE4H-mJj{Z?Kv$a^O%A4T(?fASyRcxPPv4u=f*O32R(H(Yx{3%y(oCx6Tt${|Wg zgBypIx{g$Cpmi$2bcbH`xi?IZm(6M>m}|5w+`tHAb-Pm8gGj>|d7QtNszcGRjZnPC zq$QGgBHvk7bF*pg=Ls)=W@D@1?`foZIbq?~Y_>VHzETEjJXn4n{oC;ZmFc6hS9Idk z=gpO+Zc{=9>9-9{_f-(JDY|y^<^v8TU^Om2$Fwe24GoZ_02d*ik!lsq2__${V_fWX z_QY#oy&l}=yz=mVWcSMRBf(9;a@wvL%6|jQ4ZntlV6Bj@kpy0I!(zk!Ui$m3>88@3 z%4&d5i=yCX!+eT+KDloC;p)LKtx-X(cgU5Ju_&dzQrsQ1m`A*n>w$+$R=|PM%7!2x z*035ZN$5%xBYet5DZEiB2=Uhwkm|xra_MJ&9VQ_uz>T`kJLq#0zFC&K9I--lA4eDrid~@`D)`+DR zyF(M!)%z@8-hHHZ^4oqebebM@F3$5MKr`+PyWvciPxKk8i)GJ4|OC;)Lr(?|2^pVl~ zk7P}~_AKAHkV-q|E2U_7qYla1U1^EH7O!?yGv+On^4ywbro?6v~;nlEpJe0Wj*ScnAse)+L z5Gk0PKbb3~BF%u&`Oq|)S9EndO-f_j(qNhkN~u*<_z-k_ZK|MElDb{t&+-l ziHDxMxwP|haN+q*QjFH#Z;LJ#S!G>=9#lWI3_KY2hsvlBrZk}z_hxT?{ve1l z#+)e^d$N%*EJe|~A2#x$O;bczek24GQOFPJbM@p?EUY@tQ#wqB2~4TmU_89yjX^OW z2P5cQ{OCgK+Bl)y8saXsJ>uFr|8)tYCEsF9)>3LP(H#3|<)(vwIz68&KFcU-11E3l zUz3(^)97H&&7@FsaSYuK_aY!wOR6~>agSW8@^Y8qB3D!5W>gM_HTr;8!^cVh%&GdC{o21Y;e{QTYfXErRn_On)IM4wIG<|hIYO0h-3-lLgU9-Skn=Oe%0{b~e+r+ojN)n4sI(IGi!h!@nh%*G z`DF>1{voG4RBFn+9EaKGV&+7|{wI=xjy&$iYEZ+ z-7ONR<+LhE?eB-%Hjh!?1!3Di)Dc;NgTP-|WXgmJ({nq#B zOC;4y2cr-978=;|9t4DH7L>g~7*^Znd85*Ig zwX6l8nHp{qSBdIiB|qC2<)yBi(Hamo82eLsngv4o+>>KNjgP&U@ZL>~{;_+g?{--; z>fJ1*c5bfRx!ICGs}~LRJZ|QnEOf9KmscNA_tbnM03BR;%|{v_-_1Z81%fvlQwo1C zw}olhxmni~m&lAxQfT@?ofy>v(h4f!joN2#^yGoTp{c?|MqhGpW++nSSy+pLkzO|k z23~!1r8@G(*2_#bzdK&F(D{Qm>WbGn^lpY06Vc4sak_EFw|tepdt58;}*fVz?PpnB3lx%2I0g;&el%{RZZV=W(Inam$`Sul8y-y%A$+ zkmXfQLNCty-%$5gYhv-@*)@8}xQU^l9*;JW18f2{~ zhl->~#5VPCYTdLfH&=B6f86!&SA>L{^MISKiquvxnL6HccZHy0h1Pd{%+1K;HBMIo zEqTOY`eGTu)K&}uDIMQe;gw3;Hpj;uUXR;CvGPI-FSx{mI*qC;9Yc+zyP2a0dFqby z2uL4%aZ;BzRW6~MqH6VHZ&4Xv+}6_wXJP;%ssr}jVVnLcZA%u^0)}ZOuou7CHGr^) z$}mOHX>6s@3eWBGk-Se1@51ZhicDa}fJ_=1%eb9ZbT?7Y9D53Fr_3yQ?w>_a(FKq2 z=F*olB;d^kYgLrXK0UQ+n6BNpxuK&zB6~akn=fNGop{j{2s==+VV{EEfL)276(D( zGSi$WOarjSqK(9(pB>}6L+)|55{7y_BvP$f$}_Q+@Hi=4bE%$FPs`4k`WTTu;8DpmR=GM```3NWyy-65^hZaMt5^}6 z_yuADyd$J=&#hHe_H6fZp*QWi(~&vF{k8jrV%Wy=Os9=N;kGDcNO+kHG*aP?o%1ra zvWLn}ZY;tZCyHiOi_HWRXQ8Tlxm#(M4bu9g(>uMjxQ8vjM#{%a->${GbGR5WO z^*Wglick)=xGD!aUd8vhuZamg9R%O!o$jV?4qymCb46{mZvDSruU(WzVF}9&j-hR0 zGbDjpQ%w70j!G6)hq0&_{k!+DJ|TMazi!v_b;=AN;xe8FDRWcv-S!+<*WE4}D93~l zl~`)InRW2*j9+YX%%ujv8g(NC7VWHDDf4&piKPteRhT0`4@Ad4H7b}0Ogu{RT=&Q0 zdAahIy4z)=M|e(mX6j^QqD51lNa@H#n`4gN5TpA@EgBUg5z+27sqNVjJw$IInb+7M zk=H2cjVj|JtL3(}d|(vMt@PT+@Z=#zRm~<`Xd4Qrx<(q4R3P-wXFGEfs|}&S>U{j} zbaRqW%jG=!@e7-fj6@FXcvLFCyCI(4J5Gz_yLgE0kV2<+!?HR*N>;r@b{gMXMSux} zX?OC>NMpNU*?s(huYp;`PrPSEi&(zvu^vwn@N}}~-zj<0vT3-krfMXd)-vA5{J6KE zK&bn*a8|@JFuXc{!o*Tu9!JvUh%jaTLIg0OZ@t7(Q90eGlIm0lL%HjMd0|zuesUxj zp2@qXb$&rmvp*+Rjm((1$A*G&``*>bB*BlvFjiUR;w2`k=mnsAL@Ny6>fP5x-A+!) z3k&srl$C_oOn^hmZB#zZv0I7@ZP`2%XG&?@+<|rt-GQXKi+e73j+|^y!VcV(*%mxB zX4F}R5tE@93i>pN6%d0NS?IQ(4@af$|Iz4C%_aj0^X#b2ks}{o*$vK`gyRB22hndE0HU#?0=l;9&G{=##}JkdfjaP1fi6 z`%y~JrRJMjk_3%-df15m2=-$Ly3gbBhSML*-So-RqXoU}{Ca2o)Dcei^Fyq6^XPnu zL`vV*zoZ}(Zr|1GNfp;$tfnPC<>sm)-QTP>A3nNlA2Sw61m1pT{# z`R^*A5jOI17Kr20XO_5Gl0m01+hKPbArBr}Qi}&i`LcG|8sG}GqlBj?*_s)G``Uwy zgV=}nEY(Y;{yAT-dKawmM33>J086IRA&ku_pV&1*tJx7B^&r2>m}UB4VLfRGCfEC8 zx$S9iIWIY1uG{!K=BI=K%pM%itm@swWImn03mC&ZiCjR(Jl`58puc?^C^6EUmK
    Wb}u1OZ1`SB+*HDWVOQiN1Kfm+XrXw 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 ao}UtXrh*aOYpn?fGl~ literal 0 HcmV?d00001 diff --git a/docs/user/lifecycle_reporting.md b/docs/user/lifecycle_reporting.md index 51271f46..bafac781 100644 --- a/docs/user/lifecycle_reporting.md +++ b/docs/user/lifecycle_reporting.md @@ -12,7 +12,7 @@ You can run these reports two ways: ![](../images/lcm_software_validation_report_run.png) -- The "Jobs" dropdown and navigating to **Device/Sofware Lifecycle Reporting** section. The jobs will appear here and all you will need to do is click the play button. +- The "Jobs" dropdown and navigating to **Device/Sofware Lifecycle Reporting** section. The jobs will appear here and all you will need to do is click the play button. You'll then be able to select the platforms and tenants to run the report for, and click on **Run Job Now** execute button on right side of screen. ![](../images/lcm_software_validation_report_run_jobs.png) diff --git a/nautobot_device_lifecycle_mgmt/jobs/lifecycle_reporting.py b/nautobot_device_lifecycle_mgmt/jobs/lifecycle_reporting.py index ab00a4eb..f5d81459 100644 --- a/nautobot_device_lifecycle_mgmt/jobs/lifecycle_reporting.py +++ b/nautobot_device_lifecycle_mgmt/jobs/lifecycle_reporting.py @@ -3,8 +3,9 @@ from datetime import datetime -from nautobot.dcim.models import Device, InventoryItem -from nautobot.extras.jobs import Job +from nautobot.dcim.models import Device, InventoryItem, Platform +from nautobot.extras.jobs import Job, MultiObjectVar +from nautobot.tenancy.models import Tenant from nautobot_device_lifecycle_mgmt import choices from nautobot_device_lifecycle_mgmt.models import ( @@ -84,17 +85,58 @@ class DeviceSoftwareValidationFullReport(Job): description = "Validates software version on devices." read_only = False + # Add dropdowns for platform and tenant filters; Defaults to all platforms and tenants + platform = MultiObjectVar( + model=Platform, + label="Platform", + description="Filter by platform; defaults to all platforms", + required=False, + ) + tenant = MultiObjectVar( + model=Tenant, + label="Tenant", + description="Filter by tenant; defaults to all tenants", + required=False, + ) + + filters = [platform, tenant] + class Meta: """Meta class for the job.""" has_sensitive_variables = False - def run(self) -> None: # pylint: disable=arguments-differ + def run(self, **filters) -> None: # pylint: disable=arguments-differ """Check if software assigned to each device is valid. If no software is assigned return warning message.""" job_run_time = datetime.now() validation_count = 0 - for device in Device.objects.filter(software_version__isnull=True): + # Create empty lists for versioned and non-versioned devices + versioned_devices = [] # Devices with software version + non_versioned_devices = [] # Devices without software version + + # Get filters + platforms = filters.get("platform") + tenants = filters.get("tenant") + + # If no platforms or tenants are provided, use all platforms and tenants + if not platforms: + platforms = Platform.objects.all() + if not tenants: + tenants = Tenant.objects.all() + + # Get versioned and non-versioned devices for each platform + for platform in platforms: + versioned_devices.extend(Device.objects.filter(platform=platform, software_version__isnull=False)) + non_versioned_devices.extend(Device.objects.filter(platform=platform, software_version__isnull=True)) + + # Get versioned and non-versioned devices for each tenant + for tenant in tenants: + versioned_devices.extend(Device.objects.filter(tenant=tenant, software_version__isnull=False)) + non_versioned_devices.extend(Device.objects.filter(tenant=tenant, software_version__isnull=True)) + + # Validate devices without software version + for device in non_versioned_devices: validate_obj, _ = DeviceSoftwareValidationResult.objects.get_or_create(device=device) validate_obj.is_validated = False validate_obj.valid_software.set(ValidatedSoftwareLCM.objects.get_for_object(device)) @@ -104,7 +146,8 @@ def run(self) -> None: # pylint: disable=arguments-differ validate_obj.validated_save() validation_count += 1 - for device in Device.objects.filter(software_version__isnull=False): + # Validate devices with software version + for device in versioned_devices: device_software = DeviceSoftware(device) validate_obj, _ = DeviceSoftwareValidationResult.objects.get_or_create(device=device) validate_obj.is_validated = device_software.validate_software() From de9deccc438a681b900709a0089b34e2920384ce Mon Sep 17 00:00:00 2001 From: Brandon Minnix Date: Wed, 11 Dec 2024 22:33:47 -0500 Subject: [PATCH 2/7] Adding the updated tasks file fixing tests stopping early --- tasks.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tasks.py b/tasks.py index 414c4e85..b5d27fc5 100644 --- a/tasks.py +++ b/tasks.py @@ -780,7 +780,8 @@ def ruff(context, action=None, target=None, fix=False, output_format="concise"): if not run_command(context, command, warn=True): exit_code = 1 - raise Exit(code=exit_code) + if exit_code: + raise Exit(code=exit_code) @task From 3edd175e1c5078cd8836234b9aee0206435feca6 Mon Sep 17 00:00:00 2001 From: Brandon Minnix Date: Wed, 11 Dec 2024 22:42:48 -0500 Subject: [PATCH 3/7] Increment of patch for updates --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index a5ec35b6..5ce54f3f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "nautobot-device-lifecycle-mgmt" -version = "3.0.0" +version = "3.0.1" description = "Manages device lifecycles for platforms and software." authors = ["Network to Code, LLC "] license = "Apache-2.0" From 892e2e62dff423cb778abd19198c967f211937f8 Mon Sep 17 00:00:00 2001 From: Brandon Minnix Date: Thu, 12 Dec 2024 00:27:13 -0500 Subject: [PATCH 4/7] Updated to be a bit easier to expand using itertools product --- .../jobs/lifecycle_reporting.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/nautobot_device_lifecycle_mgmt/jobs/lifecycle_reporting.py b/nautobot_device_lifecycle_mgmt/jobs/lifecycle_reporting.py index f5d81459..a7cbd19a 100644 --- a/nautobot_device_lifecycle_mgmt/jobs/lifecycle_reporting.py +++ b/nautobot_device_lifecycle_mgmt/jobs/lifecycle_reporting.py @@ -2,6 +2,7 @@ """Jobs for the Lifecycle Management app.""" from datetime import datetime +from itertools import product from nautobot.dcim.models import Device, InventoryItem, Platform from nautobot.extras.jobs import Job, MultiObjectVar @@ -122,18 +123,17 @@ def run(self, **filters) -> None: # pylint: disable=arguments-differ # If no platforms or tenants are provided, use all platforms and tenants if not platforms: platforms = Platform.objects.all() + if not tenants: tenants = Tenant.objects.all() - # Get versioned and non-versioned devices for each platform - for platform in platforms: - versioned_devices.extend(Device.objects.filter(platform=platform, software_version__isnull=False)) - non_versioned_devices.extend(Device.objects.filter(platform=platform, software_version__isnull=True)) + # Get all combinations of platforms and tenants + filtered_products = product(platforms, tenants) - # Get versioned and non-versioned devices for each tenant - for tenant in tenants: - versioned_devices.extend(Device.objects.filter(tenant=tenant, software_version__isnull=False)) - non_versioned_devices.extend(Device.objects.filter(tenant=tenant, software_version__isnull=True)) + # Get versioned and non-versioned devices + for platform, tenant in filtered_products: + versioned_devices.extend(Device.objects.filter(platform=platform, tenant=tenant, software_version__isnull=False)) + non_versioned_devices.extend(Device.objects.filter(platform=platform, tenant=tenant, software_version__isnull=True)) # Validate devices without software version for device in non_versioned_devices: From c2aabcb65a13d1bc389c0197c22a24c466964417 Mon Sep 17 00:00:00 2001 From: Brandon Minnix Date: Thu, 12 Dec 2024 00:33:38 -0500 Subject: [PATCH 5/7] Changed for ruff recommendation --- .../jobs/lifecycle_reporting.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/nautobot_device_lifecycle_mgmt/jobs/lifecycle_reporting.py b/nautobot_device_lifecycle_mgmt/jobs/lifecycle_reporting.py index a7cbd19a..07049f07 100644 --- a/nautobot_device_lifecycle_mgmt/jobs/lifecycle_reporting.py +++ b/nautobot_device_lifecycle_mgmt/jobs/lifecycle_reporting.py @@ -132,8 +132,12 @@ def run(self, **filters) -> None: # pylint: disable=arguments-differ # Get versioned and non-versioned devices for platform, tenant in filtered_products: - versioned_devices.extend(Device.objects.filter(platform=platform, tenant=tenant, software_version__isnull=False)) - non_versioned_devices.extend(Device.objects.filter(platform=platform, tenant=tenant, software_version__isnull=True)) + versioned_devices.extend( + Device.objects.filter(platform=platform, tenant=tenant, software_version__isnull=False) + ) + non_versioned_devices.extend( + Device.objects.filter(platform=platform, tenant=tenant, software_version__isnull=True) + ) # Validate devices without software version for device in non_versioned_devices: From e7904500ed52ce38f52d225a05c14b1d52ca6bb5 Mon Sep 17 00:00:00 2001 From: Brandon Minnix Date: Fri, 13 Dec 2024 10:54:13 -0500 Subject: [PATCH 6/7] Updated for Run Type output in table. --- nautobot_device_lifecycle_mgmt/choices.py | 2 ++ .../jobs/lifecycle_reporting.py | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/nautobot_device_lifecycle_mgmt/choices.py b/nautobot_device_lifecycle_mgmt/choices.py index 80be3eb9..38b146b0 100644 --- a/nautobot_device_lifecycle_mgmt/choices.py +++ b/nautobot_device_lifecycle_mgmt/choices.py @@ -55,10 +55,12 @@ class ReportRunTypeChoices(ChoiceSet): REPORT_SINGLE_OBJECT_RUN = "single-object-run" REPORT_FULL_RUN = "full-report-run" + REPORT_FILTERED_RUN = "filtered-report-run" CHOICES = ( (REPORT_SINGLE_OBJECT_RUN, "Single Object Run"), (REPORT_FULL_RUN, "Full Report Run"), + (REPORT_FILTERED_RUN, "Filtered Report Run"), ) diff --git a/nautobot_device_lifecycle_mgmt/jobs/lifecycle_reporting.py b/nautobot_device_lifecycle_mgmt/jobs/lifecycle_reporting.py index 07049f07..39b1fb63 100644 --- a/nautobot_device_lifecycle_mgmt/jobs/lifecycle_reporting.py +++ b/nautobot_device_lifecycle_mgmt/jobs/lifecycle_reporting.py @@ -115,6 +115,8 @@ def run(self, **filters) -> None: # pylint: disable=arguments-differ # Create empty lists for versioned and non-versioned devices versioned_devices = [] # Devices with software version non_versioned_devices = [] # Devices without software version + all_tenants = False + all_platforms = False # Get filters platforms = filters.get("platform") @@ -123,9 +125,11 @@ def run(self, **filters) -> None: # pylint: disable=arguments-differ # If no platforms or tenants are provided, use all platforms and tenants if not platforms: platforms = Platform.objects.all() + all_platforms = True if not tenants: tenants = Tenant.objects.all() + all_tenants = True # Get all combinations of platforms and tenants filtered_products = product(platforms, tenants) @@ -146,7 +150,10 @@ def run(self, **filters) -> None: # pylint: disable=arguments-differ validate_obj.valid_software.set(ValidatedSoftwareLCM.objects.get_for_object(device)) validate_obj.software = None validate_obj.last_run = job_run_time - validate_obj.run_type = choices.ReportRunTypeChoices.REPORT_FULL_RUN + if all_tenants and all_platforms: + validate_obj.run_type = choices.ReportRunTypeChoices.REPORT_FULL_RUN + else: + validate_obj.run_type = choices.ReportRunTypeChoices.REPORT_FILTERED_RUN validate_obj.validated_save() validation_count += 1 @@ -158,7 +165,10 @@ def run(self, **filters) -> None: # pylint: disable=arguments-differ validate_obj.valid_software.set(ValidatedSoftwareLCM.objects.get_for_object(device)) validate_obj.software = device.software_version validate_obj.last_run = job_run_time - validate_obj.run_type = choices.ReportRunTypeChoices.REPORT_FULL_RUN + if all_tenants and all_platforms: + validate_obj.run_type = choices.ReportRunTypeChoices.REPORT_FULL_RUN + else: + validate_obj.run_type = choices.ReportRunTypeChoices.REPORT_FILTERED_RUN validate_obj.validated_save() validation_count += 1 From ec283f5a657d1f7f0ee7ec5a8e680b590d058c77 Mon Sep 17 00:00:00 2001 From: Brandon Minnix Date: Fri, 13 Dec 2024 11:15:45 -0500 Subject: [PATCH 7/7] Pulled latest migrations from next3.0 for failing checkin --- ..._cvelcm_affected_softwares_tmp_and_more.py | 37 +++ ...4_migrate_to_core_software_models_check.py | 295 ++++++++++++++++++ .../0025_migrate_soft_references_p1.py | 180 +++++++++++ .../0026_migrate_soft_references_p2.py | 38 +++ .../0027_delete_models_migrated_to_core.py | 58 ++++ .../0029_devicehardwarenoticeresult.py | 2 +- 6 files changed, 609 insertions(+), 1 deletion(-) create mode 100644 nautobot_device_lifecycle_mgmt/migrations/0023_cvelcm_affected_softwares_tmp_and_more.py create mode 100644 nautobot_device_lifecycle_mgmt/migrations/0024_migrate_to_core_software_models_check.py create mode 100644 nautobot_device_lifecycle_mgmt/migrations/0025_migrate_soft_references_p1.py create mode 100644 nautobot_device_lifecycle_mgmt/migrations/0026_migrate_soft_references_p2.py create mode 100644 nautobot_device_lifecycle_mgmt/migrations/0027_delete_models_migrated_to_core.py diff --git a/nautobot_device_lifecycle_mgmt/migrations/0023_cvelcm_affected_softwares_tmp_and_more.py b/nautobot_device_lifecycle_mgmt/migrations/0023_cvelcm_affected_softwares_tmp_and_more.py new file mode 100644 index 00000000..49572cda --- /dev/null +++ b/nautobot_device_lifecycle_mgmt/migrations/0023_cvelcm_affected_softwares_tmp_and_more.py @@ -0,0 +1,37 @@ +# Generated by Django 4.2.15 on 2024-12-13 15:10 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("nautobot_device_lifecycle_mgmt", "0022_alter_softwareimagelcm_inventory_items_and_more"), + ] + + operations = [ + migrations.AddField( + model_name="cvelcm", + name="affected_softwares_tmp", + field=models.JSONField(default=list), + ), + migrations.AddField( + model_name="devicesoftwarevalidationresult", + name="software_tmp", + field=models.UUIDField(blank=True, null=True), + ), + migrations.AddField( + model_name="inventoryitemsoftwarevalidationresult", + name="software_tmp", + field=models.UUIDField(blank=True, null=True), + ), + migrations.AddField( + model_name="validatedsoftwarelcm", + name="software_tmp", + field=models.UUIDField(blank=True, null=True), + ), + migrations.AddField( + model_name="vulnerabilitylcm", + name="software_tmp", + field=models.UUIDField(blank=True, null=True), + ), + ] diff --git a/nautobot_device_lifecycle_mgmt/migrations/0024_migrate_to_core_software_models_check.py b/nautobot_device_lifecycle_mgmt/migrations/0024_migrate_to_core_software_models_check.py new file mode 100644 index 00000000..b7cd251e --- /dev/null +++ b/nautobot_device_lifecycle_mgmt/migrations/0024_migrate_to_core_software_models_check.py @@ -0,0 +1,295 @@ +from django.core.exceptions import ValidationError +from django.db import migrations +from django.db.models import Q + + +def verify_dlm_models_migated_to_core(apps, schema_editor): + """Verifies whether the objects for the following DLM models have been migrated to the corresponding Core models + DLM SoftwareLCM -> Core SoftwareVersion + DLM SoftwareImageLCM -> Core SoftwareImageFile + DLM Contact -> Core Contact + """ + ContentType = apps.get_model("contenttypes", "ContentType") + DLMContact = apps.get_model("nautobot_device_lifecycle_mgmt", "ContactLCM") + DLMSoftwareVersion = apps.get_model("nautobot_device_lifecycle_mgmt", "SoftwareLCM") + DLMSoftwareImage = apps.get_model("nautobot_device_lifecycle_mgmt", "SoftwareImageLCM") + CoreContact = apps.get_model("extras", "Contact") + CoreSoftwareVersion = apps.get_model("dcim", "SoftwareVersion") + CoreSoftwareImage = apps.get_model("dcim", "SoftwareImageFile") + + dlm_contact_ct = ContentType.objects.get_for_model(DLMContact) + dlm_software_version_ct = ContentType.objects.get_for_model(DLMSoftwareVersion) + dlm_software_image_ct = ContentType.objects.get_for_model(DLMSoftwareImage) + core_contact_ct = ContentType.objects.get_for_model(CoreContact) + core_software_version_ct = ContentType.objects.get_for_model(CoreSoftwareVersion) + core_software_image_ct = ContentType.objects.get_for_model(CoreSoftwareImage) + + # Verify nautobot_device_lifecycle_mgmt.SoftwareLCM instances were migrated to dcim.SoftwareVersion + for dlm_software_version in DLMSoftwareVersion.objects.all(): + _verify_software_version_migrated(apps, dlm_software_version) + _verify_content_type_references_migrated_to_new_model(apps, dlm_software_version_ct, core_software_version_ct) + + # Verify nautobot_device_lifecycle_mgmt.SoftwareImageLCM instances were migrated to dcim.SoftwareImageFile + for dlm_software_image in DLMSoftwareImage.objects.all(): + _verify_software_image_migrated(apps, dlm_software_image) + _verify_content_type_references_migrated_to_new_model(apps, dlm_software_image_ct, core_software_image_ct) + + # Verify nautobot_device_lifecycle_mgmt.ContactLCM instances were migrated to extras.Contact + for dlm_contact in DLMContact.objects.all(): + _verify_contact_migrated(apps, dlm_contact) + _verify_content_type_references_migrated_to_new_model(apps, dlm_contact_ct, core_contact_ct) + + +def _verify_software_version_migrated(apps, dlm_software_version): + """Verifies instances of DLM SoftwareLCM were migrated to Core SoftwareVersion.""" + CoreSoftwareVersion = apps.get_model("dcim", "SoftwareVersion") + + core_software_version_q = CoreSoftwareVersion.objects.filter( + platform=dlm_software_version.device_platform, version=dlm_software_version.version + ) + if not core_software_version_q.exists(): + raise ValidationError( + f"DLM Migration Error: Did not find Core SoftwareVersion object matching DLM Software object: {dlm_software_version}" + ) + return + + +def _verify_software_image_migrated(apps, dlm_software_image): + """Verifies instances of DLM SoftwareImageLCM were migrated to Core SoftwareImageFile.""" + SoftwareVersion = apps.get_model("dcim", "SoftwareVersion") + SoftwareImageFile = apps.get_model("dcim", "SoftwareImageFile") + + dlm_software_version = dlm_software_image.software + core_software_version_q = SoftwareVersion.objects.filter( + platform=dlm_software_version.device_platform, version=dlm_software_version.version + ) + if not core_software_version_q.exists(): + raise ValidationError( + f"DLM Migration Error: Did not find Core SoftwareVersion matching DLM SoftwareVersion on DLM SoftwareImage object: {dlm_software_image}" + ) + core_software_image_q = SoftwareImageFile.objects.filter( + image_file_name=dlm_software_image.image_file_name, software_version=core_software_version_q.first() + ) + if not core_software_image_q.exists(): + raise ValidationError( + f"DLM Migration Error: Did not find Core SoftwareImage object matching DLM SoftwareImage object: {dlm_software_image}" + ) + return + + +def _verify_contact_migrated(apps, dlm_contact): + """Verifies instances of DLM Contact were migrated to Core Contact.""" + CoreContact = apps.get_model("extras", "Contact") + + core_contact_q = CoreContact.objects.filter(name=dlm_contact.name, phone=dlm_contact.phone, email=dlm_contact.email) + if not core_contact_q.exists(): + raise ValidationError( + f"DLM Migration Error: Did not find Core Contact object matching DLM Contact object: {dlm_contact}" + ) + return + + +def _verify_content_type_references_migrated_to_new_model(apps, old_ct, new_ct): + """Verify Nautobot extension objects and relationships linked to deprecated DLM models were migrated.""" + ComputedField = apps.get_model("extras", "ComputedField") + CustomField = apps.get_model("extras", "CustomField") + CustomLink = apps.get_model("extras", "CustomLink") + ExportTemplate = apps.get_model("extras", "ExportTemplate") + JobButton = apps.get_model("extras", "JobButton") + JobHook = apps.get_model("extras", "JobHook") + Note = apps.get_model("extras", "Note") + ObjectChange = apps.get_model("extras", "ObjectChange") + ObjectPermission = apps.get_model("users", "ObjectPermission") + Relationship = apps.get_model("extras", "Relationship") + RelationshipAssociation = apps.get_model("extras", "RelationshipAssociation") + Status = apps.get_model("extras", "Status") + Tag = apps.get_model("extras", "Tag") + TaggedItem = apps.get_model("extras", "TaggedItem") + WebHook = apps.get_model("extras", "WebHook") + + old_ct_computed_fields = ComputedField.objects.filter(content_type=old_ct) + for computed_field in old_ct_computed_fields: + print( + f"Migration error. The Computed Field '{computed_field.label}' has not been migrated to the new model '{str(new_ct)}'" + ) + if old_ct_computed_fields.exists(): + raise ValidationError( + f"DLM Migration Error: Found computed fields that have not been migrated from DLM to Core model: {old_ct_computed_fields}." + ) + + # Migrate CustomField content type + old_ct_custom_fields = CustomField.objects.filter(content_types=old_ct).exclude(content_types=new_ct) + for custom_field in old_ct_custom_fields: + print( + f"Migration error. The Custom Field '{custom_field.label}' has not been migrated to Core model '{str(new_ct)}'" + ) + if old_ct_custom_fields.exists(): + raise ValidationError( + f"DLM Migration Error: Found custom fields that have not been migrated from DLM to Core model: {old_ct_custom_fields}." + ) + + # Migrate CustomLink content type + old_ct_custom_links = CustomLink.objects.filter(content_type=old_ct) + for custom_link in old_ct_custom_links: + print( + f"Migration error. The Custom Link '{custom_link.name}' has not been migrated to Core model '{str(new_ct)}'" + ) + if old_ct_custom_links.exists(): + raise ValidationError( + f"DLM Migration Error: Found custom links that have not been migrated from DLM to Core model: {old_ct_custom_links}." + ) + + # Migrate ExportTemplate content type - skip git export templates + old_ct_export_templates = ExportTemplate.objects.filter(content_type=old_ct, owner_content_type=None) + for export_template in old_ct_export_templates: + print( + f"Migration error. The Export Template '{export_template.name}' has not been migrated to Core model '{str(new_ct)}'" + ) + if old_ct_export_templates.exists(): + raise ValidationError( + f"DLM Migration Error: Found export templates that have not been migrated from DLM to Core model: {old_ct_export_templates}." + ) + + # Migrate JobButton content type + old_ct_job_buttons = JobButton.objects.filter(content_types=old_ct).exclude(content_types=new_ct) + for job_button in old_ct_job_buttons: + print( + f"Migration error. The Job Button '{job_button.name}' has not been migrated to Core model '{str(new_ct)}'" + ) + if old_ct_job_buttons.exists(): + raise ValidationError( + f"DLM Migration Error: Found job buttons that have not been migrated from DLM to Core model: {old_ct_job_buttons}." + ) + + # Migrate JobHook content type + old_ct_job_hooks = JobHook.objects.filter(content_types=old_ct).exclude(content_types=new_ct) + for job_hook in old_ct_job_hooks: + print(f"Migration error. The Job Hook '{job_hook.name}' has not been migrated to Core model '{str(new_ct)}'") + if old_ct_job_hooks.exists(): + raise ValidationError( + f"DLM Migration Error: Found job hooks that have not been migrated from DLM to Core model: {old_ct_job_hooks}." + ) + + # Migrate Note content type + old_ct_notes = Note.objects.filter(assigned_object_type=old_ct) + for note in old_ct_notes: + print(f"Migration error.The Note '{str(note)}' has not been migrated to Core model '{str(new_ct)}'") + if old_ct_notes.exists(): + raise ValidationError( + f"DLM Migration Error: Found notes that have not been migrated from DLM to Core model: {old_ct_notes}." + ) + + # Migrate ObjectChange content type + old_ct_object_changes = ObjectChange.objects.filter(changed_object_type=old_ct) + for object_change in old_ct_object_changes: + print( + f"Migration error. The ObjectChange {str(object_change)} has not been migrated to Core model '{str(new_ct)}'" + ) + if old_ct_object_changes.exists(): + raise ValidationError( + f"DLM Migration Error: Found object changes that have not been migrated from DLM to Core model: {old_ct_object_changes}." + ) + + # Migrate Status content type + old_ct_statuses = Status.objects.filter(content_types=old_ct).exclude(content_types=new_ct) + for status in old_ct_statuses: + print(f"Migration error. The Status '{status.name}' has not been migrated to Core model '{str(new_ct)}'") + if old_ct_statuses.exists(): + raise ValidationError( + f"DLM Migration Error: Found statuses that have not been migrated from DLM to Core model: {old_ct_statuses}." + ) + + # Migrate Tag content type + old_ct_tags = Tag.objects.filter(content_types=old_ct).exclude(content_types=new_ct) + for tag in old_ct_tags: + print(f"Migration error. The Tag '{tag.name}' has not been migrated to Core model '{str(new_ct)}'") + if old_ct_tags.exists(): + raise ValidationError( + f"DLM Migration Error: Found tags that have not been migrated from DLM to Core model: {old_ct_tags}." + ) + + # Migrate TaggedItem content type + old_ct_tagged_items = TaggedItem.objects.filter(content_type=old_ct) + for tagged_item in old_ct_tagged_items: + print( + f"Migration error. The Tagged Item '{str(tagged_item)}' has not been migrated to Core model '{str(new_ct)}'" + ) + if old_ct_tagged_items.exists(): + raise ValidationError( + f"DLM Migration Error: Found tagged items that have not been migrated from DLM to Core model: {old_ct_tagged_items}." + ) + + # Migrate WebHook content type + old_ct_web_hooks = WebHook.objects.filter(content_types=old_ct).exclude(content_types=new_ct) + for web_hook in old_ct_web_hooks: + print(f"Migration error. The Web Hook '{web_hook.name}' has not been migrated to Core model '{str(new_ct)}'") + if old_ct_web_hooks.exists(): + raise ValidationError( + f"DLM Migration Error: Found web hooks that have not been migrated from DLM to Core model: {old_ct_web_hooks}." + ) + + # Migrate ObjectPermission content type + old_ct_permissions = ObjectPermission.objects.filter(object_types=old_ct).exclude(object_types=new_ct) + for object_permission in old_ct_permissions: + print( + f"Migration error. The Object Permission '{str(object_permission)}' has not been migrated to Core model '{str(new_ct)}'", + ) + if old_ct_permissions.exists(): + raise ValidationError( + f"DLM Migration Error: Found object permissions that have not been migrated from DLM to Core models: {old_ct_permissions}." + ) + + # These are migrated separately as they follow specific business logic + excluded_relationships = ("device_soft", "inventory_item_soft") + old_ct_relationships = Relationship.objects.filter( + ~Q(key__in=excluded_relationships) & (Q(source_type=old_ct) | Q(destination_type=old_ct)) + ) + for relationship in old_ct_relationships: + print( + f"Migration error. The Relationship '{relationship.label}' has not been migrated to Core model '{str(new_ct)}'" + ) + + old_ct_relationship_assoc_src = RelationshipAssociation.objects.filter( + source_type=old_ct, relationship=relationship + ) + for relationship_association in old_ct_relationship_assoc_src: + print( + f"Migration error. The Relationship Association '{str(relationship_association)}' has not been migrated to Core model '{str(new_ct)}'" + ) + old_ct_relationship_assoc_src = RelationshipAssociation.objects.filter( + source_type=old_ct, relationship=relationship + ) + if old_ct_relationship_assoc_src: + raise ValidationError( + f"DLM Migration Error: Found relationship associations that have not been migrated from DLM to Core model: {old_ct_relationship_assoc_src}." + ) + + old_ct_relationship_assoc_dst = RelationshipAssociation.objects.filter( + destination_type=old_ct, relationship=relationship + ) + for relationship_association in old_ct_relationship_assoc_dst: + print( + f"Migration error. The Relationship Association '{str(relationship_association)}' has not been migrated to Core model '{str(new_ct)}'" + ) + if old_ct_relationship_assoc_dst: + raise ValidationError( + f"DLM Migration Error: Found relationship associations that have not been migrated from DLM to Core models: {old_ct_relationship_assoc_dst}." + ) + if old_ct_relationships.exists(): + raise ValidationError( + f"DLM Migration Error: Found relationships that have not been migrated from DLM to Core model: {old_ct_relationships}." + ) + + +class Migration(migrations.Migration): + dependencies = [ + ("dcim", "0055_softwareimage_softwareversion_data_migration"), + ("contenttypes", "0002_remove_content_type_name"), + ("extras", "0057_jobbutton"), + ("nautobot_device_lifecycle_mgmt", "0023_cvelcm_affected_softwares_tmp_and_more"), + ("users", "0001_initial"), + ] + + operations = [ + migrations.RunPython(code=verify_dlm_models_migated_to_core, reverse_code=migrations.RunPython.noop), + ] diff --git a/nautobot_device_lifecycle_mgmt/migrations/0025_migrate_soft_references_p1.py b/nautobot_device_lifecycle_mgmt/migrations/0025_migrate_soft_references_p1.py new file mode 100644 index 00000000..8107f898 --- /dev/null +++ b/nautobot_device_lifecycle_mgmt/migrations/0025_migrate_soft_references_p1.py @@ -0,0 +1,180 @@ +# Generated by Django 3.2.25 on 2024-05-01 13:08 +import django.db.models.deletion +from django.core.exceptions import ValidationError +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("nautobot_device_lifecycle_mgmt", "0024_migrate_to_core_software_models_check"), + ] + + def nullify_software_fields(apps, schema_editor): + """ + Nullify fields holding Software references. + """ + ValidatedSoftware = apps.get_model("nautobot_device_lifecycle_mgmt", "ValidatedSoftwareLCM") + DeviceSoftwareValidationResult = apps.get_model( + "nautobot_device_lifecycle_mgmt", "DeviceSoftwareValidationResult" + ) + InventoryItemSoftwareValidationResult = apps.get_model( + "nautobot_device_lifecycle_mgmt", "InventoryItemSoftwareValidationResult" + ) + CVE = apps.get_model("nautobot_device_lifecycle_mgmt", "CVELCM") + Vulnerability = apps.get_model("nautobot_device_lifecycle_mgmt", "VulnerabilityLCM") + + for validated_software in ValidatedSoftware.objects.all(): + validated_software.software = None + validated_software.save() + + for device_soft_val_res in DeviceSoftwareValidationResult.objects.all(): + if device_soft_val_res.software: + device_soft_val_res.software = None + device_soft_val_res.save() + + for invitem_soft_val_res in InventoryItemSoftwareValidationResult.objects.all(): + if invitem_soft_val_res.software: + invitem_soft_val_res.software = None + invitem_soft_val_res.save() + + for vuln in Vulnerability.objects.all(): + if vuln.software: + vuln.software = None + vuln.save() + + for cve in CVE.objects.all(): + cve.affected_softwares.clear() + cve.save() + + def migrate_dlm_software_references(apps, schema_editor): + """ + Map migrated DLM Software references to corresponding Core SoftwareVersion ones. + """ + ValidatedSoftwareLCM = apps.get_model("nautobot_device_lifecycle_mgmt", "ValidatedSoftwareLCM") + DeviceSoftwareValidationResult = apps.get_model( + "nautobot_device_lifecycle_mgmt", "DeviceSoftwareValidationResult" + ) + InventoryItemSoftwareValidationResult = apps.get_model( + "nautobot_device_lifecycle_mgmt", "InventoryItemSoftwareValidationResult" + ) + CVE = apps.get_model("nautobot_device_lifecycle_mgmt", "CVELCM") + Vulnerability = apps.get_model("nautobot_device_lifecycle_mgmt", "VulnerabilityLCM") + + for validated_software in ValidatedSoftwareLCM.objects.all(): + if validated_software.software_tmp is None: + raise ValidationError( + f"ValidatedSoftware {validated_software} is missing reference to the Core Software. You must run migration job first before installing v3 of the DLM app." + ) + validated_software.software_id = validated_software.software_tmp + validated_software.save() + + for device_soft_val_res in DeviceSoftwareValidationResult.objects.all(): + if device_soft_val_res.software is None: + continue + if device_soft_val_res.software_tmp is None: + raise ValidationError( + f"DeviceSoftwareValidationResult {device_soft_val_res} is missing reference to the Core Software. You must run migration job first before installing v3 of the DLM app." + ) + if device_soft_val_res.software_tmp: + device_soft_val_res.software_id = device_soft_val_res.software_tmp + device_soft_val_res.save() + + for invitem_soft_val_res in InventoryItemSoftwareValidationResult.objects.all(): + if invitem_soft_val_res.software is None: + continue + if invitem_soft_val_res.software_tmp is None: + raise ValidationError( + f"InventoryItemSoftwareValidationResult {invitem_soft_val_res} is missing reference to the Core Software. You must run migration job first before installing v3 of the DLM app." + ) + if invitem_soft_val_res.software_tmp: + invitem_soft_val_res.software_id = invitem_soft_val_res.software_tmp + invitem_soft_val_res.save() + + for cve in CVE.objects.all(): + if cve.affected_softwares_tmp: + softwares = [soft_id for soft_id in cve.affected_softwares_tmp] + cve.affected_softwares.set(softwares) + cve.save() + + for vuln in Vulnerability.objects.all(): + if vuln.software is None: + continue + if vuln.software_tmp is None: + raise ValidationError( + f"ValidVulnerabilityatedSoftware {vuln} is missing reference to the Core Software. You must run migration job first before installing v3 of the DLM app." + ) + if vuln.software_tmp: + vuln.software_id = vuln.software_tmp + vuln.save() + + def delete_migrated_dlm_objects(apps, schema_editor): + """ + Delete migrated DLM objects and objects created by the migration job. + """ + ContactLCM = apps.get_model("nautobot_device_lifecycle_mgmt", "ContactLCM") + SoftwareLCM = apps.get_model("nautobot_device_lifecycle_mgmt", "SoftwareLCM") + SoftwareImageLCM = apps.get_model("nautobot_device_lifecycle_mgmt", "SoftwareImageLCM") + Tag = apps.get_model("extras", "Tag") + Relationship = apps.get_model("extras", "Relationship") + + # Delete DLM relationships from software to devices and inventory items + Relationship.objects.filter(key="device_soft").delete() + Relationship.objects.filter(key="inventory_item_soft").delete() + + # Delete DLM SoftwareLCM, SoftwareImageLCM and ContactLCM instances + ContactLCM.objects.all().delete() + SoftwareLCM.objects.all().delete() + SoftwareImageLCM.objects.all().delete() + + # Delete tags created by migration Job. These are no longer needed. + Tag.objects.filter(name__istartswith="DLM_migration-ContactLCM").delete() + Tag.objects.filter(name__istartswith="DLM_migration-SoftwareLCM").delete() + Tag.objects.filter(name__istartswith="DLM_migration-SoftwareImageLCM").delete() + + operations = [ + migrations.AlterField( + model_name="validatedsoftwarelcm", + name="software", + field=models.ForeignKey( + null=True, on_delete=django.db.models.deletion.SET_NULL, to="nautobot_device_lifecycle_mgmt.softwarelcm" + ), + ), + migrations.RunPython(nullify_software_fields), + migrations.AlterField( + model_name="cvelcm", + name="affected_softwares", + field=models.ManyToManyField(blank=True, related_name="corresponding_cves", to="dcim.softwareversion"), + ), + migrations.AlterField( + model_name="devicesoftwarevalidationresult", + name="software", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.CASCADE, + related_name="+", + to="dcim.softwareversion", + ), + ), + migrations.AlterField( + model_name="inventoryitemsoftwarevalidationresult", + name="software", + field=models.ForeignKey( + blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to="dcim.softwareversion" + ), + ), + migrations.AlterField( + model_name="validatedsoftwarelcm", + name="software", + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to="dcim.softwareversion"), + ), + migrations.AlterField( + model_name="vulnerabilitylcm", + name="software", + field=models.ForeignKey( + blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to="dcim.softwareversion" + ), + ), + migrations.RunPython(migrate_dlm_software_references), + migrations.RunPython(delete_migrated_dlm_objects), + ] diff --git a/nautobot_device_lifecycle_mgmt/migrations/0026_migrate_soft_references_p2.py b/nautobot_device_lifecycle_mgmt/migrations/0026_migrate_soft_references_p2.py new file mode 100644 index 00000000..c11241df --- /dev/null +++ b/nautobot_device_lifecycle_mgmt/migrations/0026_migrate_soft_references_p2.py @@ -0,0 +1,38 @@ +# Generated by Django 4.2.16 on 2024-11-07 20:28 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("nautobot_device_lifecycle_mgmt", "0025_migrate_soft_references_p1"), + ] + + operations = [ + migrations.RemoveField( + model_name="cvelcm", + name="affected_softwares_tmp", + ), + migrations.RemoveField( + model_name="devicesoftwarevalidationresult", + name="software_tmp", + ), + migrations.RemoveField( + model_name="inventoryitemsoftwarevalidationresult", + name="software_tmp", + ), + migrations.RemoveField( + model_name="validatedsoftwarelcm", + name="software_tmp", + ), + migrations.RemoveField( + model_name="vulnerabilitylcm", + name="software_tmp", + ), + migrations.AlterField( + model_name="validatedsoftwarelcm", + name="software", + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to="dcim.softwareversion"), + ), + ] diff --git a/nautobot_device_lifecycle_mgmt/migrations/0027_delete_models_migrated_to_core.py b/nautobot_device_lifecycle_mgmt/migrations/0027_delete_models_migrated_to_core.py new file mode 100644 index 00000000..e300caa9 --- /dev/null +++ b/nautobot_device_lifecycle_mgmt/migrations/0027_delete_models_migrated_to_core.py @@ -0,0 +1,58 @@ +# Generated by Django 3.2.25 on 2024-05-01 13:08 + +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("dcim", "0058_controller_data_migration"), + ("nautobot_device_lifecycle_mgmt", "0026_migrate_soft_references_p2"), + ] + + operations = [ + migrations.AlterUniqueTogether( + name="softwareimagelcm", + unique_together=None, + ), + migrations.RemoveField( + model_name="softwareimagelcm", + name="device_types", + ), + migrations.RemoveField( + model_name="softwareimagelcm", + name="inventory_items", + ), + migrations.RemoveField( + model_name="softwareimagelcm", + name="object_tags", + ), + migrations.RemoveField( + model_name="softwareimagelcm", + name="software", + ), + migrations.RemoveField( + model_name="softwareimagelcm", + name="tags", + ), + migrations.AlterUniqueTogether( + name="softwarelcm", + unique_together=None, + ), + migrations.RemoveField( + model_name="softwarelcm", + name="device_platform", + ), + migrations.RemoveField( + model_name="softwarelcm", + name="tags", + ), + migrations.DeleteModel( + name="ContactLCM", + ), + migrations.DeleteModel( + name="SoftwareImageLCM", + ), + migrations.DeleteModel( + name="SoftwareLCM", + ), + ] diff --git a/nautobot_device_lifecycle_mgmt/migrations/0029_devicehardwarenoticeresult.py b/nautobot_device_lifecycle_mgmt/migrations/0029_devicehardwarenoticeresult.py index ebe9517b..41a69b1d 100755 --- a/nautobot_device_lifecycle_mgmt/migrations/0029_devicehardwarenoticeresult.py +++ b/nautobot_device_lifecycle_mgmt/migrations/0029_devicehardwarenoticeresult.py @@ -13,7 +13,7 @@ class Migration(migrations.Migration): dependencies = [ ("extras", "0106_populate_default_statuses_and_roles_for_contact_associations"), ("dcim", "0058_controller_data_migration"), - ("nautobot_device_lifecycle_mgmt", "0028_delete_models_migrated_to_core"), + ("nautobot_device_lifecycle_mgmt", "0027_delete_models_migrated_to_core"), ] operations = [