From ef7118ad30ec90ed1a3e6d3f5d9fdb0a21a03fe9 Mon Sep 17 00:00:00 2001 From: Mark Slee Date: Fri, 8 Nov 2013 18:53:05 -0800 Subject: [PATCH] Stop wasting time in ColorFucker when sharpness is off --- MarkSlee.pde | 3 ++- _Internals.pde | 23 ++++++++++++++++++++--- code/HeronLX.jar | Bin 83775 -> 86516 bytes 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/MarkSlee.pde b/MarkSlee.pde index 59798c5..88759da 100644 --- a/MarkSlee.pde +++ b/MarkSlee.pde @@ -1411,7 +1411,7 @@ class ColorFuckerEffect extends SCEffect { float bMod = level.getValuef(); float sMod = 1 - desat.getValuef(); float hMod = hueShift.getValuef(); - float fSharp = 1/(1.0001-sharp.getValuef()); + float fSharp = sharp.getValuef(); float fSoft = soft.getValuef(); boolean mon = mono.getValuef() > 0.5; boolean ivt = invert.getValuef() > 0.5; @@ -1425,6 +1425,7 @@ class ColorFuckerEffect extends SCEffect { hsb[2] = 1 - hsb[2]; } if (fSharp > 0) { + fSharp = 1/(1-fSharp); hsb[2] = hsb[2] < .5 ? pow(hsb[2],fSharp) : 1-pow(1-hsb[2],fSharp); } if (fSoft > 0) { diff --git a/_Internals.pde b/_Internals.pde index 3497afc..4716622 100644 --- a/_Internals.pde +++ b/_Internals.pde @@ -266,11 +266,11 @@ void draw() { long drawNanos = System.nanoTime() - drawStart; if (diagnosticsOn) { - drawDiagnostics(lx.drawNanos(), drawNanos, simulationNanos, uiNanos, gammaNanos, sendNanos); + drawDiagnostics(drawNanos, simulationNanos, uiNanos, gammaNanos, sendNanos); } } -void drawDiagnostics(long lxNanos, long drawNanos, long simulationNanos, long uiNanos, long gammaNanos, long sendNanos) { +void drawDiagnostics(long drawNanos, long simulationNanos, long uiNanos, long gammaNanos, long sendNanos) { float ws = 4 / 1000000.; int thirtyfps = 1000000000 / 30; int sixtyfps = 1000000000 / 60; @@ -283,7 +283,7 @@ void drawDiagnostics(long lxNanos, long drawNanos, long simulationNanos, long ui noStroke(); int xp = x; float hv = 0; - for (long val : new long[] {lxNanos, simulationNanos, uiNanos, gammaNanos, sendNanos }) { + for (long val : new long[] {lx.timer.drawNanos, simulationNanos, uiNanos, gammaNanos, sendNanos }) { fill(lx.hsb(hv % 360, 100, 80)); rect(xp, y, val * ws, h-1); hv += 140; @@ -292,6 +292,23 @@ void drawDiagnostics(long lxNanos, long drawNanos, long simulationNanos, long ui noFill(); stroke(#333333); line(x+sixtyfps*ws, y+1, x+sixtyfps*ws, y+h-1); + + y = y - 14; + xp = x; + float tw = thirtyfps * ws; + noFill(); + stroke(#999999); + rect(x, y, tw, h); + noStroke(); + for (long val : new long[] { + lx.engine.timer.deckNanos, + lx.engine.timer.fxNanos}) { + float amt = val / (float) lx.timer.drawNanos; + fill(lx.hsb(hv % 360, 100, 80)); + rect(xp, y, amt * tw, h-1); + hv += 140; + xp += amt * tw; + } } void drawSimulation(color[] simulationColors) { diff --git a/code/HeronLX.jar b/code/HeronLX.jar index 437f8e183b12a37836dbf6366579650545c8157e..04fa7fda66c57a3ddc8c02c282a4b73476e908a2 100755 GIT binary patch delta 19373 zcmZU*1yr2P?l{ci?ykiacP~=h-QC^2SlQyPi@Q^xxECu9#T|+}Efg;U z3yy|Fd_~hBIbK2ji`-{n00PqgF(46&^QEhv8_EdgRYxj(-3zFfL$Cy(ZY5ibshI9S zV*nr^Dgog9e5}+sdH`1aE+WxCoeMTSv)C`4wg0aZsh$xT2*7xi)PW0Vr+?`jdwCOq zF_5u9>NXA*uFPikCT?yP@xzLcBIu#di56)vmdeiS=&0dgY=&Hhyf)#6(PuwJ;RwTW z%q{f|N1)iwHlS{l2bkFnPtPA4-8G)ePI4z$AgrvHzvTV;KJZ?OC|Y3v*DSNv%w(d6 zyqlDI>#yViFZCo>H;JU|Z^r5t)wtvo@4Zr6&=qlneE<7uUZs-z>y|79^`Csyvv64H zeY#XSgpy918=EVfEJ>P6)cI473xb_A*!O4BKJd!dHIXTBa8+<|Di*W&Li$Kj!F$u8 zHt!w|!)X`zus4UB6Gu8X1jQI9jt7(0>zqajY;Pog?Kw0zjQ>mv)zX?M8~S_Js%#X)_i!Q2%htO zg$HkrILE!I3a?9g($yZ?W_qv8%$t?*jb-mkThie@u9cPi4Lc2OM`u40p6dMxe(y_I z$79t~M;u#}U>?^C;QkevJK(u?#R;T&T1n5jg^=@2s=K+YX6?qSE$~Fy1YCQbjo2v{ zGBz;SaWy{!ah0Nkh2Y1tHmC=RLpsqq?Lh2Q>XyOLJ$rO~fbgFTLHlw;{!oK-uOSeE z_HFXGCk)$9JEVg*e?vx0?>f$2stW>ZrMHKgSJxoKT4<^h8}vTsi2*MWA%c z?1nckr^cx(U}y1(m#cDt=>8U(=Xo300aEQ&DnswVV)jeCFKxNywA<%c@k_~^pu6!d zd4h559Fptm8%y;*W?1n{&a8I1@Nn$x9^+}f#pPMI+&QT+>>SBm-`=}ldH9@3R(?bI zQ0sQTh?3F-D%eoUUgqzHUI7Jv*xuVmd=d>=zS-t}psv144(!t0L=9ar5%wR)2KA23 ztURPlTz;f~B7OcoM%H=@4g`5_8mW6BJ!y1zl{uq58FYhMP6=QIN7i}1o#wVb7_A7D zP9q4O0DT{MSU>?L`(+s4QKo~@R~D^{Yc7UF^h3Z&4A`m8t!Jw}3Lse=`U#veQLO%z zQF1Iyx9nw7zG2YysTM-7oW>@G#e=mi1IYyic*T*#<6F$&(17q3ytvbp@LUFBJ_5KXec*`DA+MldZg-O7y&O7f zvtfvQzP|^?ys{4rR$CuQ98zoyNLfg=(aso5 zf}2&7^dv00-fsnJ6_C1SbYgToSjXoW0o2haS`W*+XE%_@bGx6Kw-IAi;Z9=(>{zeN zHnW^0HZc<06;s+QT8sl&Qeo|WbmL}5kt?J(bC(QaCAzdac?j7xH76QO(K(VgQe_U` z`N33rd9d{K^vq-nbR9rmV4A3z1S2g8vM?RXzy=PsK~aL>mOP6}wMNu^h;{)#ZE3Uc zBdD!8xXB796riCnI;h7xajE@-H~D`q)n&n6uIfA#l%_dWTIIndUZ6#wN zN1BJKJG2D|mOiBDN&6k?du!exCQKsnFQ>btgihmvUug6cKuz~MIgtqNtfb+n*`wS}&>4Q1 zG~N%sikUJ`vuDmSzBlpo(;F!k}Whru;OT^vQm z1VcnS^@ErGXXudJ79nDynHefh3M&cr;FwN4tkd(UY`e*^f?dTLj2IwtG1+kQ5RPII z+mIB9?%Zy8al=@g=kv~#`*=|8qsu3G)Wz?Mvt}vD23u`uHhX3j$cYLemo6z4_3>;C zMQ#u>l9n1t02FC$IGS-rP9|QAq$dZzls?RE=V0{&z!*569IXv8QvK+RUlLqvAIHQ4 z*=_G^!OMnaPCenueX)|I%MG=HNfZ;xD{}*S|BK~BhtRK5U7vaYXE`gR(=EkLYu3ymcElt+G>0o?0bv&@!5j~x ztn_(zSe~Nlcy>~~MZf&7Y(btI;_PJ1NR1q%_ymY>SXnAs`<8u|4bc=LIeMLre}3wN zsHcG}L-ZXj33xm^I)3>EHu!zGg0?{4^Ffa^T_E*@Bt{&S z@S{;P*ZfB6DTAy|tCj_dKWdk-_U#sP8sP)NlYH}4)QU0J4b(#dvu?&09FGib5an;W z+rhsgvH?ErdP=DMv>T&iD=Ow45}VFfl@_qpM$c?OCPHWj|7;*(KefIE@m1(0mBIn} ziT?<5N6g>t$QE_1!&+SoBFuC4F(?agO&hEH^|4YT zN|4YEr0_E(z_3caPB^s^Sb9_Wpzi8To($^}jQ3N;;SPkhrfn3S)&&v`wgo5*oQ(UH zScWALo;JkwT(j(ivB5W;PABhIcIL#x7Rw?GPNRYET@rwvg<8GT2h{m$qBz$5YNc$0FJ)2UWt3=;6&$gO}3w;#SoH@>CLJFwKw*K9Dru-e1{l zh4Yq2q_XZ!L#DxPo2aUYTe%B-@A(_fz$qYI5XI215$RP1tilB-T&mTei-^o?XHOjk zOwr=0=t$)*V#L7#+p(_)Kt1H|AI(SkDHptZ5u9A5uXEnnz;PnJ_Mf-69fE(DThv>GhtGdQS~k4oXjrz z80n&T1^G_|Ox(<0PRhTL^NZG0;ya0J#`>jlp{a?DJmgbUc2TJPzd_*-Lv8)(ZF0fY zbI%jLy%l|Vp<0wA-SO~tTWP#i5%45Q_Ot-J`R+|d)s#w%%JJuI2&;FvMmt-~QBpd~%)=cDR#rIa2_tS` z)*!9j;W54fS^0fwM&jMb0;*>7bPg=h{NOlkL!;Iv64sr(#wL+9LzwkYD=CXY%e+I^ z_I^LX^PLi)taKg3aY`H7p9mMMlw)Cq zX0_W5>mz=xy8IbP^hJ76XNZw}v58ni0+#Z-HQJGQNU~L@c z`H{X0xoBMX8v><)H|Iz;_N9rY%fXVHZPjAwN6YQ( zvK0K@%_9P#h@0ti3`=)qdRoG_r+$AhltHJig7Y|MqetjPFfD)+eNfGVHKWA(#d~r} zlAO`hFExA?8U5U4JgvNII2u<69RiucnI3(Rf61{!Vd$S<+S!`E4+1N@n9_Ro$UeBA zLkS4I8|3PYMe4`l(fS2U{{czO>JSlAFy^&E{^blb?{G+#AAe%bupO{U%ojvX$? z)ih2^icg&98n73cSX;G-Ah<>tZ?drP<4cpdai3SVzXtnR@~_m9xGr zj>!$6P8we{t&;Q1ABIb6y9~bc*1PZN*>-tw^6N@}NL{I;4(CMb%7m3mE~zEZEvOK% zbd_nBc0#S3qIrdSo-=+LE6#bgCtVhE{j5Kg2DWHW5b4;eZd3?*G(p@ZASSCUj3as2HM@1tian9Ed>!S42!1v6RN&A7X{8Mgw%Mn&%Q7?{~ z6VGZqDk&`f3L&_)%5{^^E3w3&5#{yL9hgmSh85GXqVb2bqqUUfY00ZuT_EIh0>q_a(GqW9RRj$uQ-61_X{n_ViJ6@)_)Az>Iql9ae;^3>41-*AKjSjx{V_T3Jx2Limo&@(O$W(Rd>jYoA1$?Ln@Zi+I6~ zW$uzZt@KA+149NTM%K}@FgRDf`7NrI?r8R^Kob`f&;(PJ`(LecOx2^-^66EhUj=cp z{TI`;A0?dp`CAxpDnZ~an=19#>^enbBX2_dS(a^SPoxco0!u%+WX9uNur()HzE&AHWzI_EJ*%%cbw(ab%6|x%wN%S9!1%D z>pdo3&W0sAtg7VZo^GY*&iBYzFOe0N3@lkdM%^Wr%~YKPg~RFXeg}<;^RD;gSeaG? ztJ&rT=0#A}AXX@3C0jO?msoq^ielS(Ob8>w(#4{d7>D;{COFEv0Or%|WXr6+p%%2= zk-PbjGuNGGvi)K2`NSJji{Ej}7F*1gg5ATLqgdb7SL_|!!YTMDrk`TvQzk=}GqAgN z$*sz#RDb7_8%Uj`L;?E5c_rV=Dxm>O=9%=997cum_)5r}AOyu3=9f22RRen`EBh0q zs6Md_*>X7~Jf#ivdOx~m;fE1%{QN%QmSjEOgZafEpk<}SJucmIAa>uefCa^@f&5P{ z7%z#mg+zP9zqj5o+USIB2$nD~Uzl(!gNqN$C zbVr5jzc#fU>(|Gy$A8-V#9Cd|v$nW%s>Qd6=GdfG;Qcd~ugVmi#W`mw{D!d~ZHLA| zPC(3`j#S5wg3=Hi!Z{(Xs!&uEQcuu~{f;w(ykSl>L&18q$7aCc)>*oYhB50;3uTv6 zbg5EJzw1NE5o)M+V;Tlh*JmRY)) zg1sVpy?I9yIBbOtoD1p<6f!t-I_;U0OjHr41C^@ov!pZ>^ua)iv@04A#yl z@xZC5F!^9xkScnGHEM!({pS-Cx|Zc0etVfC4z#ZWAlS7bi9wsY;td7+%MsO6%PP|8 zio4VBR#}>#e$h;gN(pVQ{p<)tb`vfM=ghQ1NKU^l+C2yrg(QEsl};G(qd0+ScULjB z#=8m~3D<7%rzEwJJtiTXcpQG9c#eq)c{BuTcS2Wlf^@2Q+`cwn$)qXGKUUdWUdviG z>hq0BvuTKL(fio|;Jlj~>nqsejs9L2v)#=!!i<-8FhKiWA-7xcn~b?Abw7Tsq{+_^ zW(wU}8{xQY6))AnlD}O0m}uKSBPrM%i5zj{=88!lJ$!Ao;F-Ql#+vRIUw;a&3I0xG zA-R_+20|p|HQyR{JAlQc1cm!N%bb=ZEZ`53jSpC4P0u+0reYlX)*>LCimSL)x|xqH zV6Sg9su5)~CB?owNbD?x=6`>&(U|I3PA#_udT;!@7GL-`VN7P+21wbM{!~}>oq`D( zNw<{TS(Wc53}N=uyKR&irw~rLbH@!txDD4QZV=@*)e$??1{EjK7MxOIL{7<%6o0xj z`Y`O(*73=?wT!AXK9V9E)0-iJn?5pzZN9B0C#_i zjRJQYc9txM>vITHW&CYb*TRw441-RVWW0~vm;I7{uTfCq_+^FOqfobR8Xg#@lg48p z6oK4oiHQ_C<>Wg(_Lwe{Bu?~0*UZA$t<(U;9*)-qFcaOL&3a5~I4afUhz4kIF0^rF zGd3TX6*~GtOaxMJ#zLa^c6zo<+@5$P&&SN}WOl*lM_H!`UV&#aR!ZMX54IM?9>KGA zvmYe9+{&Igr>y&$H)Ncj;r@Fj4gGp3U9U*_2k?4pAV}@>2CIMs|J(uOCs3>%K|nxA zyxakhfjfYB|Mw2SA+AHQR~S9GE9MU`cPPH-4F-;Cq%k6;F1muXFa{_56zQfo@u*H6 z%2p#S1r;Lc=P=PMjN;7f)w!eb(d&tQJm*o*&m*?sgSs<+Kh1yQ4l%qntxBS!7hw)@ z6r3oZN?^?z_t3%DnAgbYDxPU`6ZCyw3kseYHUFDl!{KN_yn=XK}IBkRm3d%i3n#`x>r>1I+q>2gv^{7zX@5r}(Hu z8rKO35D>Vy;5iy{5Rx|b0?v~a8FCx)5QUORjI8@oh^cfWZZfvW7@>GULwExlC4bKW zyWB_E*$i$QJIu_>ga#WmvkcBASuz_$2M7gS@W6b-)uVr@47hXsWEPm=W@%|u18?*o z#CyHwHt{$Cnh?BRS*qVB6NJe_-S5y2Y7=jtK!RI4>9$<~jcq|O3JqxWCJD8?wjow6^Cr#Ni?mAYpa2<%$>fJk^Izs0Y*l4y&Nh-?M~9?;$KP8 zeb}|KKhJVTiy@hnj3%+>qP00y+cf9ray zDsDf_gI3Su_4%#8BrzLDC|0@oa zPUbr%lkJzbtL0dJI-#*ob@OtunU5T`S>AXQogkV#-Z6lo9Ft%H=~V1!UBlIlp5hlEwV$iff#N>V9%g$F5N3A^Cl4*ku@dN z4+#3KYL+xdQ0&EO4GUM!fZR zD=k=zqLU?`s2Pbi^QzS(h)mjAGAh{4B?c6%iJLhIG~u}Z=|Zv^rK1nrs_iVZSjB~X z$PZ>(q|b+1knti3UtTd!c8KiXdDJhaayQKk_RwZAfvUnlPdkQf`0|Z3rU(e-dz%nW zCU=A2PjA9<6>*auoV$&OnPYkO66WB@_SExIZEATb3itPyR|M~$*&%dwJ5fKNc7amS zdn6Hj(GyNBiP6vC5I}u@FrWIiCR${Aj9#u%PIfk9c;9V09qp6w(wgA;P(P4Bd&5mU z1@(W>`Lf8gX(WHWeiIk|Eb9e$2A`6)YxVFw81+O&yKn?`nGY~RnaDzMBx01uHD-Q1 z*7TuWVBq*;|NG<6%8snhw?bdO!!IC0Y9*lfAT5y!yN7!i?=A;Wpj5ZEiwmJ?F1$?l zgq{NqsZ=P!^0-9%ghuG`^3x0leiU6sw+=q2jc%$ea;La!sHo&)VwFz0lHFm&O{cle z38^52Z6JsZC%o)_3u%?+P&2^U#!?NxSw4i?6H3i!%prZ-<(Cp&zm@S1q;H_}WN)*E zX@eP|FERBZ9g7TY8(U9hej#(GxDur-j1`|}_O4XX7w842{Hd!j%hYv#G5$VV+o2~> zYEI8Zt1hpO`qELJKG6!DtxNgoGCu>~ad%plSk2>*Q?|-pVZIiUr7G9*z1BF8 zd0tC=D zrdsvq5sF5ks_5DGE$`C*G+wpLIhLts{;_mJW?rPaXobkULv=gaV7K2=9Six)tkz6& z@#W6|k@SV+ZxUf#{aHyUEOf}Y?kNe9eSCcYrX#Knqd4vozyz6;{oE4=w6miiOen@& zaSoZoHcI}gl0^@eySS=qZpZ-4Of0nHd| zPI*cE`gzNxP~X!YPn1GM%?GMCY+Z6oO^#I z93=NJMZk|XPKbjV5F2sMWLGkr)#b95rrJM8q5Nn~1do&+VE;+XO8HvcaKlaf!#QJ1 z40vVw1m9FztrVPFm(uG)T&2R$E(hhZ3T+FSa;)*7yVyyi%#WN~Y~;v6ps@M{dz9Mf zBbA>+&8NBk6BM$wv}7wQ_{mvAlMd;t0d1auZ&S06V}lkTFT6E}AR+li>dc?~N*h0L z_Eswh2Q_fb4@GVFX~TZ^Q=D;Y#%#}B6Gy0_vHxwU-ECj{sqkr9;C(Dk@2T4b|T&4J1IB1V_w3O9uPno$)QGSth%?ma`RT!nNA zo`v&PTVB#A=DVHNNavgRs1|UjmK%KDaW#SON#JCMFZ*p)gH$I5!|0KJ3#LFr5D5Hl=D9e%=HVC1^NGNC< z8_c%MwU9G&it`M#R62*4c5pdx-PG%&W8pnPfRfG>XQ&-J-GJ$X!w(PspP+cVJE4#c zneFXs>{z)86b4d4QbG&@vpdTVm8l5=s^G_^QFDL%BmlCU6gQJv6<2_E!L)~@SQ$YP z@>n<}-nf1B#?GMpfrP};Z@Y}DD*lSrf1iHwwNt9!4@)C5nn`>YllmUOP}7GV{azo* zH~6XtXLb2Nrv$oQ-K8u^{@x|cLbdd=WK$2nFP{*O2ThG{6hShsnj6=#H{dCv^4T(w zH_Wq71reusUPmwv3$IbQGf-oU%ixw(dFtm`+}^uqES&Z9USo9vVBr-28_b_krHQm` z9rOh8f7jJo3_WU3IrAkoiWwhV#Z3XyM(|SC!g)Gj^yYA4CcwlTiib`Fem76#Hla%r zt`+_g3jB;2fZd$BLye5g;j)K<;!!zYIrnWASFfS}Ti?8`$S|}lkKTgr^*61G`T0uS zYg_0oKBsglaC*GodRE)x{)*eU;C0sh`OWP;8Dx#<*Xu&8Tr1byNC)1kjbKC&TI|Ir zUYcLRunY_({ln19J?=0aurz&TVkepmZA0W(aEFwp8pRO?JZpgVe9^~}L9Z1^LNUtDX~#10%{&gEtp{qHkM!v{9E$KYY5 z^apwB`P}-^(zJ)bVU~1(u^laty#Lq^k9>~FxgKzW-8**pL_1*pez@fW>n$bt1Dkh_ z!d-o2*9OemK{en31!Q%O2J@_5i@?Hq-?f+sayyauknqfUTOG;v5H}o!I9}d@xR0Hs z#mf9{8S__8S|{D=dNqyBB5B;=@E99Y^0XS{TGfF_PUvR_ZYt&JS|ueAa7%YunrkpL zga7I)mNFXfZklaOnkvG?anS!y{CpO7LG50w^^ZJ{=kWt!eU51v17nZz^SiS1xO_w@f~INx-Sdwa#GU08HsBh+4$!@LoGgfRNXM01z77> z^Q?-t6p$`E{e}4q?ig_e`I_pU09^OhJY9*smky!_OjT4>?TaI<%k7L*7w#^FGFmbe z#dwOf!H~r%G+ zQB+ISh>oVE^61_#Q**_0}WAg)V)D4wQK`-ijBJd8k{8puw2~tS)W^tJ$=e_{3MI zaq~sdUVvNYm5s%`Ed6>%M|Su}grp4rgzVJr4}ax8H008kewN{>STsLem}Ud(8H;%R z49GP87JP*YiL-eH3Vi1p1XGT7k{wAfi!7!zfY8?aJKYCv^d0+Pk&m(Q`4{FDXAy#= zl5i`tY7D`mWj9E?UBZO8IED2RGy8K#^_!YSynP&W&LB?(NPfE{G^_{D@- zwDe}jR6g@tY$DDRdsV!g7_FoLao=_&vaP7Oaje}>Q`qZ=pcorUHk~$h!5k+a5l$`- z+bD!WyI+bW+mYyqK3{yM9S#(bNj(umdD>IC3sno?Qwf5LM5lEwCrz9SW_*1As+V^b z7fZZjXQEshHqrI^nz^ChpOre1!C`cs?8RhAQ;TJQ$wr)Cm>GT@GhF1E7G$`UyhuGY zX3jDcmdvpO0wq$eU{(*vW}N=L%6YU@MB5WC!&T_3 zahp~&=C2O!^p-SCKZukI= z>KdY=_a>wj8&{)(OdUgdb=d}iqUxfwfhQm^deRgM7`BD)>X%8PMi)+ z9#Cb$Czec!F=pkP1^t#PoQ=!=Mz26YdFCCKAO}vW5BII?OP`8CL&vvY{FV$@NT!Sf zWjEAY4Fu#&Dw(^4S*&kbruCyZsT1g_wjLtLd7Q)9nK9r?6Jr#D$y@{^o3p7e{$^99Lc*?B zUTZ05F>hZso$&|Y)*0%rz9?;)<)b7TlKJzVqR?4t{QHa`;t6~t@Y@gZ1t|j%4>@QK z1DfI(V<;TIJ4@Obx?ccUl2B?Rk~61o1rAlF^1)ni9xxKB0k$5df+H7$#Djz&y`U!1Nk+!Whl~?isuv z@w;QC=!ffmEUPGRxUp;7b8+>ax@TOWngv;;^M*tXwa8ZJ?aONzn5N%yrt7Se&>65t z79RoCM(c)LetMJtQdasf5{gM{+Z@Q5RF7_o>|xR14!^KSKTZjwBSBpkO#=F~(qsZ3 z<{(T*QWf=+VqUY%WIIhKH4dqjO;UQmDovt4(hYwA+;r z(weMYtM4r%x#o_cRLx7s?0t2)d+aT^mSCl1G@f%Z+E&W$J@FAEI!CgpCWN!M#x%55 zsjxdlO8MB{2g)%k*p2UH2LxL2Jrg2Y2&TZ&>gA0!wKZ7z5EBj&;xbe>qN=@7!np6} z3&)ixVrB-bpo1*9ZZDtikQB#8pl|=@WV6}8zmFPqYfm)X5>BML=OH|0yNR@UD?Em_ z8N(l`c15!>m^2CI9YfvxO6W3@b~}3%Uu4`~uexQ;j{&cPT3zD`xq47MKVqa#cK=Fx z2L_*IwF`4Un-%35^lnJ&tl>w*R09ziD>bIUW(o&E)b5-#-L4dM?{G zAGS~r^xwhH=Wf*SMvO4D6WD**z-JPwNy#jj@rn?xz%2OO8kmioQfxeP*59xX-JkullRQtoimzHCXGT{)~@eatH4N4YbpPz-)_kt{@U!M?dQR+ zti8iAj|Z~<#j-EC_8r3CU-RlgA}w!Q1wL^}sMjq+fK=ccgps3pJt_w?%RjubF)HLi zzrt}9p*M)CDgK&{U$3tB>Fq>)MjsC0wSUFp0PqS2teW2-$VLY875`zk3iS%hoX+3q z*)E!I@ULsf8*Fede;pQV?6vo*R@$5FO|6a3k2i6yPt$K~2q5t{HA;akZxA7r1sZev zCF|TU!+7KDWvw zZgsL@BwX=t6M)(5dl4u3~2FGPvWT>MV9w0TF`!$_CA>#=0vJDwUe(@06Gz2$8 z%pV9Xr**_Z`{v;&^;)3;_p(T+pb#}ZHEb>P zCsdBM`Zi*7JX~}!Y~&xuc~u)s1!tJ=5Oq!=BMX42M>Wyo3Dh+LC{AI&kuCrdRhbuRTEfmweBDUKe7IZ?jRMeGKA^7?0u@tyaICT7hG?B@u0V;o6X+`Y*r$L zdjrPYqhXdAm5cLK%Ru}i`nv3RP!w@tBA~@MLvI#V7`H zf*$wQYc~4lpuSZ*Vr1L6Hj3n#J;_1kdvykmD`N^@tzP2Q_}V&CaFcXsGu0j2cT4F4 zv<}FyE`KNFE*ckn(7KFYR1jv^Btt?kTLhMUXzL;!cPU%ZW@n!OskA^JB}$j{L*yWp zc#p8ADIkj9H)W-#+yS~u%AwS@wvPats&mjA0V~ehm>)KgXMPObL(>#NA|R&&m16R$ z&&zU06KZ5!0lH*R5c-bYS1E!;kO0%6mu}B;{_#8G6ftox$mQ0yr&}J8>bF&%R@Nww z?k-cVRfp3(sz%Lk!uP+*j^-t)9F|T?$GAi*6c47k%xU)qdcZ%#R5{GPa@bzPC_m#1 z2H0Rq=clRPAHaD|#c3t%ZK});Tp)eC6V2TkPISu8_9qVbuASRFL(!l6Cxks{u zlS%}vT!1tt-L>~LY(f&E%rP*#PdT|ri>svBZg!|yU>#JVOwO;r-x$otS#>{~s#e;S zBzso+rNmzhn(e$;Yw@EZHCJVI0ychxr<4&Tbxpt{aU;S*%oRqZ9?_zx&&4+A?u^MD zz1@wby$$sQaWi-NkjP_j&-)HY>mmDdDr_BlbFE6X?RCC8Q!HcUPF*#rJJdFH$7 zX@*DGEv)}nZ}s{utv86ldGoC9iTSXvt`IL>=bvJxY@zJu;{Sbnhq(brsm?qA#QKtq z>NjVomE-X0%E1G9W3PhA`G(N1@Ncp9o9|RA6@@~5bpzX&DCfqI5D;e2uWkTr+=5u& zUheVcXE`b_-ymHL@td2MYPfk*Ez*Mh&k${pZ~b~5;%_j&OXH32rZ@i$&m7=*5FrB27uY7h*Ft901*D=*h7@tUN361V*U_w!?B$}A_O>N$h(B&ih~ic z0WhKsa9NmAd&H~R=v@*R3el)Q)D{z|w8GI*}Tn$OW}LbM8gd;)C+ z>4^$hlg9Kxszx9aVH&^(D2TFwT3gC;qA96Bv=fzFj>>i?C~f03cRCfi%L(7U<)(!R zhu{6_%D%O#9i*coR)Cw;1)R5Y4PwOxk}$g_uQ*VeqD(TNS>>IhWV2_J`@r}Y+39l( z;PYvUtSigm{!^j%&t(|hk6GTNR+ zL4U|51&Z7)KQ`7`@Ym)Ja;)=QjQeq1jPX=xJzbAlKs0X|VRHAxZgMB36I;0k4r7DC z6d)lQk-mNJ3mBkL^roEGXDuV#vt-&%`g{U3*#=NJ7n+rg&QVElCAvbasF{Bjh zLPFjpeZD$s(Pc*|HrFHgL=W!xSpQksaEt_Na_$Qukgbf8PmM?JXk+pV#4s~mXz@~p z4Sb7tzKnsyyxCKzAE#YtWlAi=9d~11LcVZLhHV`NCCj_=-?}3F1r zB_Xi2a8fecjnm>#J0>ckb!f@MjSDibO`b7PQo*v;T&+q+CCgmECR3{X%Al#*-y^zE zHh`Xb(()y70?lPxmBl5yY_kCS3r%GFP%@66&exI>O|)XkR+|jhZ{Dzx~pBy=}U1}?-vi+WNkw&7$g-H_OK~!2=9h> zFt}ts=Iw!-(%s2Whuwa|3Y~zWqgQW=qU*hM`*JO^#3Uqfa4_~Q^uJ5^VzmgiSEv zW_!I^&+eKB+4&jIqCJ>_!Z79R<3o_6@&H5h6OCc9RBc`$*s}90Lz51ufbjTBrG>ny z=zv{|Xm6>BzIifOe`Dbcws0-!40kO>Wk;@!ObX_!_X!f_yNMT|z=KwCAXlNiT2%8G|L-D;3UDy%2sbE_IL6Y_Qw^HCKc60) zxk{`4r2Ex~epG^@+G40Cb?w6UOJUQm$eW8=eChC5YRCc>iG+{uSHa?ilc#Xw2ux0K zU_CK5d4Ds-y=8=59(0trCi_Ro`iy=UdmUPGvT=rm-kOv2 z-)F+SXyTBz$VtUfOLcZmD^bx-#VJVlMZ^R|GTL0w4tz!0Fn+>>JIUsT#pBY$vm%s0 z;RL4z&*URg{E|Zlp`lagiZBW)2PBd5hLupp zoU&A4U*qc%=tK2dHoUpSQP%(@#x;d7kS*G-@qRTb9_iv^(K*o6=#|Imh2BujD*i8tN11kYMf>z z1ji-W;1=}4R^a-Bz5=Dg;sa{Bs~&$>{q}2k6`H5-W_xtSeZZ;U17BQ)3lL!erM^ z-O@_t1|XbYOLotSSY+>R;D|P_Z%+RrSDOY!q5F!j=O6G#Ux^Eb?W99}rQq+A0KXZVmzkNFui4P88K-v3?dH`ec1j!Jb8+w&LWIMRz5eVullK? z0`*J@R%!K!Sm~K-?s23HIw?gzTW8kpYTfO%Hl0N`hKnO7CxcfC%o|$JhDK(g>0+IL**MUVbTa>sxmx)wEpq= z=~bZl5de7GZ#VBlz0~2qQt)8`^luGuc);On{MXEe0)Tss3!C4g0hHew(HH>U*D$Pk z00)5e#=MLNFnenV69S4}O=#XD0bssS?#KWpZw&(qfX{1J>Jl}8??qoKHV`2EifaO2 zs{UW_2q1v_74HVV^uNFdAmGC*U6AG z!~kG?#baJ^0vd295EpDljhnj60YHA!=5u7Hy!@h~@8zLU{8!ZrEDDIEec`71ALqYP z5dXzlO!ul6>R(p=FE0-Qg5Y1=_bLiV`@`BV9s0CewOLx0o7aq-BP-jbI$;lH>9B*A0C#Ho2N z2E9JxDyEmIJV}D%M2J%lUTAOAk#McsMS0l`{dt)V$-ksqWWX}wWT`fy|15+E^NTcu z0ysg6Fx8v+Khj~MwROK9 z-OIP+Rm&cKu^8D|^YWEI8n=MF_-b6wrKzO0NfU~z+ug}V2(-MWsE48sTsCJ4co z_(g-z40ICbzz~@NZst*sFJpiMnFa_XB%n)ZRl-Z$P}G136@*O32X&Q1V`Q2CbMJV{ z#WYRR-}&Ej&OP_7y&oR$3zDCRI3<@}0!w}OwZTgdycB9)*0r&k(tIM1J(T$1!M8zr zxU?=udB*JD#{5dVSc?2eAwl{{SSkWbWCuEHWWNp-Hy_x*O1T! zBvh;=bmSG;Xhplr>eeVb>)b4PX~#5cMzoZHpWUJ^C-EPXddgHCK4C-WR%Mv?s-6CT zK^8*4)=UQ8v+2_=>yk6Mkxk)Tg_Y>4QA+m z53|^N^jW#u)<*dIQ@i-Phw>^!Hj64N0FUoh5El>GJOG^x`}R@-;mntMr)rhs%_JwY zYfBdrkKvu4>;N{C2m85|T4@hdZ*I-UO8y@IV)HcB&;3+iDfsa*6sbh4`UBj`X?j0O zO}}%&AeSiHKR9SEIp#Lo_Sq@5dZLQS3y-^VxN?})w5UorWxZEDbMVPS7~>UKr}`$@ zaRf>a?WjTw#2Vnw^+zSUS*4CLcQu$fAlZ^?F++OnT_&C%g2zQz*ZP9k9)+@)qR5gx z4sq+gFU-TyB68G-EM{|R!1kSxthGisnQdeC+exretL+H0@K^BXrs=i9#k#6muwREH zTRXvCXXZV}%>3t!jlQW>v43KI>pRIW4%)Rr>dc1kwOvIh$*{`#x z-LIT&^}|`@2j&#>Pn1E-&bXd~?fOR)cD^>ijyQ>csFTIAZiApK(Nr6+(h~tu%N^Sp zfd4PA!N1$wb;%*)%I!LNO=K8FTI=FrsP8`TleZ>@F-wy_{R`v;R)?B{2sr(BFc)nK zid;@&H?z`F$u0y1KM{$>nRWjuSy`R%$}UA#U3~KZy0dq(Va(H_tpArHb;8dr4?&%> zW*jY@=ElFAR^+Mm!aM1_AF~nm zR>mP6Mjqu_*T&LV8n$z`q0c8>zYNuBsOHo1Fg&bj5Czi19#6})J}moA9Eo!^56kWB z;US7Qs0}*NfP|Z}Wx{kdEYhf{5o-jyLUS0F7S|n?wKm+0z7GwX``P@V$1?Niz0(MG zIaje!2hNkljjApy*^!=y*^}w zT!ZicEKnf{;DQP_05?<=19<+VsKD#b07#%;090ri5tb7wBmq>Qq#{I+G3*lxO-_{~ zf)f5DvtarDsGtHB-JziUj}2*X{E(bxK{#^+Nc|u%auY-}tDx8dpt2cN4S)gTVE=s4 zp>G}^00Ywq`hZH+%#O|o07BuR1)-8*0vH%RZWtJdfU&pnbaS=z^!DO%_Ty4D;IwwO z^zy0~LGjZWp5d$AR+^r+7$+QB3TcmY=1y@B=V|2;UfQ(a+%BtTmso){oKAhot(05l zqWtBj@=2PRL(YQ3+zxA|lA=-o!+y}l^;*Ss5X0&8(d&Rr4j{_x@86S^YeAjOe2{-H z_QLn4d;Ty6bm~>7%vWA~o4wM<)~n=tr&(bh1o-6Iy@@CV{JQo-mIw_mr2EUjw%V&@ z?@7*Z=g)A(Lrd@d)1J9)&R~dlq$&uV@5!N`TOqie;~wPt|FWfA>!VxlipT}C-tZC- zZr0zQdAh2f0e4-*0}zB7bWeQSkV%G z1$V>m{lnyb^0-P)O)}x%(}QmCg*46=D%<^Y79}Sq?b>hIg$lQKE>;6WbGbY(7!V(M z(RSJHZ-IKQABH9u-`_^XZ49`*&rRB}ioah$4IW;b$6OdtIqh5x)aX5_b&q?dzJ=wt zh(&OpirRKD@ndJ=ns__;{Vj^nGn>Ij)xpATuJ&67p^w_9izf!3Zht&_=vop{u+-QGfJ2?b0FO+}hEIbXN3J6kn|)Fr)NG0cjFwl^|mPuv@NV zWi(m``m56mWHfybnS99?@%9BuMW|}``#%$6VPQvjx(|OizUqFB9Y~?jKirRT=5AF~ zES3*UU_cb4OK&BP)fLTCq(UE7@P_yG^AmnkiBlsM1(KK5C`W!nV?}=%_2!3Xtl)d~ zfs%b`c;`xt@Bn9v6u}r|twBM`Jo*$Gx|(4eM=`|9vQ%WIx$3AJ`|v!MJ>k_+32SAt zeeTfrmjhDl(m!h}`h3aPX^4>L*Mw#_8kkUkKrT=su?O8KuHs;n{MRk-2}SNX9UtEn z71aacEgH#P)yULljL!Eqw5fgx@G;y#)^w3I_o8>Ta!JT7foZ2nvh7@N6!vcvZWMog zdK;=KLeL*vAfO?ROEO`;V`xSh$6)n5qMMHNhg%92M*iw-4k=~qP{P%~DKd{R8y%k%jsO)Izr(C1|!vGYnrVcd08Zk=F8! zg1x<50BLA_KasJY=_&#baUZ>bx4J24hb6F)-$Zi6Ln1rvC2RON+VY#`$hsKs*2sty zS9)VK!gtHxk#Keh&0Tjd{lNxc7_vAxpvl;nzmtQnD7nZ23FZ29Chdt=bwadIs$FHN zymhrDom{jBJV~Ar?#zTPJ^5lTDDWe$Y{q6-_YarxbqA6!GwuKD0X@ z!OBF_wMq1~b(K%v45{;n=&fA4G~*w+UWbm@uJtY~=&$b+tDXhEtyiNx-=D3?1@>1P z49wI1sH0X>og-o?>4Rsup0kSp%{=TNxDO-(;DOxcuL5OHLJC|PkKgh!PwOh{+<~@a zS#1p$y{#Nxr|zlCoPRE=H{J3!(wO}aId_eb%hoa)R!qTXKTH|q?YUUD-`Vt{$>&#} zE|@1bGu}i_VOH1@b^Y9c?zt@TC{QDACgS}kWzEvq;2efZ7WLV>ZF*pUc0k8#1G`FX z5@!y2Z^@>5BJ-=Lgfi=w{*CEfo@(3$>6qz_fiQAAYJQfu zA(E>L%k6fYgVo+PB@(37WIBHu!rNCC9Dnv#X%N!kNA@)EpU#_%>IsHuqIlQa* z^#~GC(|VrD1a)K`5zuYDf6eymTUvuv41B8^dYe0XtIe@}bn$1CVDxXahO$ZL=WixQ zi!;-M*qMa#NLRfJTt_P6XQ@^`<%usCsfz{Dnj&Xrf5}G2!WyDwNvZ{oUu;|X7zU&w zH*lDBJL-MF-cJG3XRLKa2?^mZ1y<`g_+gmUZlRru#wFM4zcG7n6#lH&y#1DqA#BiE zaM>tyFn`n_{VI;vb&Oh=t|y6NDMSoGL;uML2|Pr})GsvBgcL^=p2ijSx4-Q;r)SNj%$~3DtS~ zQ@NWoMDwTy`x3$j(!dP)Q;M78pW*6eq8J|#%@;TAPQ5UEw>;%0@~6@hlH;!v2Da}e z(-)kQ1#STMDJ9y$h;_Z!n|H`6h34y3y$zd-=?UhHJfAm-PF2Q$Rs1{}6N|D^>_s;P z^GM8N`=ja-680$?*&^9dBj>T=>purxj?J%sC`~Y8$B)NvG{93C(B`DXL@Ei$A^d4y zG%ncPlao;zXHXGKt8VGDNx}`S*=ZgH)XY>-YRV`X(mR}S#;8>OuvErvuwA4 z2TEBjidDHmaj(WEurkj6(*UcVdN@^YvOr^w!gP-te|t<-i~woJ06|>4HlEX|m)$tcVz<8>+ok=~7wjrfN4cXp*|w#ISU7L0L1~W| zd|{U5Ai7v@XQ1Nr4AAj4FNq`x^=}_>LIylVvQQQt4r~>K+3VfYHy>#jl zrmQ~Uk3dN>N?Zm0qh7k4y-2j2_9$=qH#V1DQYMwLMCWz}KOL6F3vmP=(pq2oDKaIO zHRmfV%emp}ezCV8%ajynof8vJBS+6~8DpttGJTUqTOP|VL>H#rmp$jo z{`q$9-u2Pu+}#juEbNtZuxB2b{L2tied>yxGkTh}etGuZ3@O9l zY98wY^!JGR*{Wji8Gi_&%$g0u6!uRW9(lj$%x+#0x6R_sfJuK~%&kYFHV-B)*`zyM zR==g)EH=ujHTZI{#XIMHO`v0j^X;2$Gv;JeOa(0Pouk`&feE`(_p_-!As*)fQXO^e z8YA-D9*lI#-o5Ns#mP2sycnoCd|)duig+)%cI6JB#{m8b&-YN_8m@NFy062?B zsg`d7$Q6g#H+-csR%$c-=6I*2(anzU`^9jDBem=@DHPu-6X;f1=$AtQA4=mn&37sJf#y<}gjm%gx)Zs1L1me*SX@j*9~>%{ zl-d)T1-ZuOv}U4bbaSL8d_$cvYO)0OdiP2Ce{PR4sr5d2_@Qx5`9l|=O0_w z(b!w?=h$ei8nN}VyUKU`H3us)J^s1NJ3%w_4#d|CFpp-6Ef${bd@Sr?GRkMx_g4Zhw0rG6bwVX@@w& zlwNo3sP0S_e+i9f7EtB8w3ZpmyiXtwOW;03I0yQHVs!MRokgaAj77)LMR({*;DwZw zr;Px(s>c!_jyeg$O;)pIed-}~10RIqE+w*9&d<3UrhTPhEb+Ol>37{{oqg6jE`vi| z4egWdH0`gyYL0?T_{ZE>Rctges*kD{((kH%fi`rh#tPzamvzc%U)KmRP_pj5)Bs)< z=2fQ21?%vrJ*c1door!wr#+ipR6V$z-trP>MjCk)_0B+g7=NCvSacX(n5qfzXa&#> z14+S%7k3!#!nZThJUU9V!(;WrOrU%{3%GD&p&Uk%BlZ&%@Cj>9OeEVhK% zQ6s0M2CWZ-*>`42(Ai0%%V~y%+3BjNpL0+}W4qO&>B$5k>Qk0PMirnK2w(zh9onO! zUL^Eq@SBWp9u8SbBnqASZ3{csc-;x!wVr-Ncdj3oDs{^}Ed4aUT@~_UO=1ew{&-4i zoN>4R)4@t=Xse?gMZM6qaG;ojh-`c(rrOjyqO8uiovB_|#w8l?kVQeP8`f4WnvDe) zOJ)3G!&J|QXhj0xu+ypN-ZvZ|i#?|>S0A-7!A&&mZ{1CE)O)g?JFJ^}*x%XDrKbD5 zGC#DX^}dzkptF4SObNA=6YkDXa*bcoLY-oyN4h}tG)4E>oO@W+>C6pDyG1c;o927_ z{$eZ@l{4+{7z>^PhLkI24tw|3j&}B14~D`fzl$)U2$#sDi`_zE?s%>lf#r`ZGK>2L zyJxRuc2A<-q-->M=C7P^vUL`dbFR-T(j}AEd;MB#@}0aCdwApco&6_y&GqXVg5es+ z!S~9w`X;r66cT6(Q!*#(#uCClXQ8A06L7@x2r; zPh1a#rW&)BM2Ei?dnAo2aR3`bWPzaCFLLvys%rvD56^e9XChtEzAL9y#B*&hXf5C< ztC&?44R?eDZmZb4ig)^|_?+m!Z)>c$qSSO8>M`t`QZhIOT(7>G%K6gS45H^=Tod0v z7dwG}G5Wy%ajzP~^EJn6>^PUd>;+AiP&SvpUa`S=E( zO09U1UQHg$rK!&MAGPP76f(Yc3ig_g8m|M^S>+B_if#m7uqd3g3A{y6=Inu$b?&p1 zmP=lK&(&wdEPcx)g*>ZzD>p0eqdZcLiW?)uhV4g!5^*_q@tY32{3ZIBYU)iZ`K6c! z17mgpMggqqYf*TfvM=aB3fd@x&cokqQGv!W3tAg!o+Fbm3Y;QUL%8$ow0bXP0uR#4 zec?~CespcKo7jCZ6v#BA92q~cAk?fUpc^CnCCEg0+e%M3H!Wy9kZoWqjaY|fK3d=t zglOg$gOvNN2UXp`_4#yDkzQE#7J2kr1iDYr1cVdXY$200cD|UufFpPcfiviP-)t|@ ze}b<0=rl$2OE!GO>^t+zv5dx>-;QDW?=%f3Ai^2OEE|{-TXCcDR1(XwllcQf1Q4X@k?bXzAOX%~qTqy&Gbe2h(K0v3QV!li zwyr?$ycR9rHh}Ww=3s`qPDF4ulBZiE`0BVv(5Yb>Hz&8L+t}H7-C^Y%QL~(5kuM0( z#Rzk{S0%u2x=Gn@AAU6_6s*%B{u$Y4*?<%UExJOWYa3V-s9PCei(NR*xY_!h#7_>< zEIYcEqM<22ixsbpjd)R>fol1O#CYbkk6KTyEgOm7D?~F;w6iY{NB08aK66dz;xc#s zV8TUGoyT#bn)tATdu)naBT*-NhzLD3;S9PAPR*7$J6uEC)|*xlOe54-q5G67Mu=7)7Wruqqm{eXfaxOIUzvt@>erma-?DaP*yi0>-=q zO0&}A$ppg{r&3)KS}hAr6fF&9U%wpZNaqjGQECu+;xK1cV?muu<^Q z4#Onv*Zk}gN}Q5Xu?R?C_)dG#SM4f@%X+RS7KgV!y$sTXJ+|xJt>d`P02SN(&JOxcRsYm+6#Sd-ZN1-I$=*m}P} zeAKi$N6ep-5Uru36fksev-zm(XF&~zl{ku*JN{Tbj$_0ahE*7uygJP9X6e=!P-%|! zK)NTS{L##U2*aJ@!DxR`Fy8l4^(DP}vYO5qV|F zy8-Wc5>lUR8NUZp-H*5$*GfQu_QS+*K>RUmylZy`-MZ6uZq|UWpaM@YbHjDO?&o`? zoG!C>GI|5bdV0+MuW6#th-vq4aU5c7D3AITlNtzS7iSUhunZ5i=F#e{uQ0xq&POQ@ zGw*I{MMba87gn~siT^cRy;ubdyAs@VI>S7D#QOJ?8*<U_%&3 z!(yb1OKG(jR&4crUeNZX0A#@`aq-;pg8108Y|jbI zf-~%rxwE%y((IbWU#E{6nn?~d55wJ%0zXVOdx^gev(sq$N!BIKw9P`YYZIs=qqG~` zuUge_Tj-i)q^hEby+xe3ruCVd|GA8`{MR_jRLw6!H4I;Q1T0B8X6QJAgj~`#KU?D@ zzSPdTO0KP_X0R&juys2&Q;-pbyGqaJ>sO{ z30d(kv*o0}PD64uhxuic?%-@Q!D$mE=E?G}P@`H*!=4=sq%AN6A$?YQXVW)d%0X_$ zyG1pxU{xcM`iZ`-kZxUE=t$zrX>k;Ae$DxS`qhT5L`5zI?w7EOW9F_sJ^pp(-Z_fo zloJ^N+|kuvIsOZtrp;C}Mb(&82QP+w&)yl_z8X_*bW>thx3@l1;;??pODJ>+r$90M z9KY~bOF&R2sWUvj*yJ9cw;=N^?XX-jrILS@`8*tz-Mjkr++1-(Thee96*@tEAa_Z2 zw-0AMnjj}nE~=6P^+U=*c%q8GGK<3UEoI)J=T-t2-}#=K;epZx0}9o^h~&u7=2!pr zkYbxV#v!_zYMTTB_Fm%h=S1BCajJGc`KfPxTusj9TC#rnyi`t&`0nt0nddxl015XC zz0H+Lsl(5fNQ@b>%5D}XGD3|Z1mMIdoku07K0-g5OHIrk;sJd zQcCCz(Vk@!K{xD*-<6RjQMGv=9}QM_zJ#%FQ@tCS^Y9`3FKoiSVa$#i)d%2_D*b$^ z2@u}3C!~ka8`&iKkbxQPyHBz!@tOUVKr{Gc#7}>-^QJ(Ge4FURL^tI<4W~|_8=Gyg`Fps;^0L%`=R+s(!P7JWNuyNm2Alp} z)TfwcIo$A%Bf;x&Z78b=L9jrsuSGo+>_M@kg;`ZgT&H&Tazo|_k5M1dy3l-4?%{sp z-w@SO^;*X1Qf7JA>))5?o*20<0X4}gR$WGX3vQ{f$N6&R79hS4GrJ5ty+>8h>ks~1kR^~_>0_JA;Jtleyr$;g zc~J7;!m?KTGSF;g<>t4)wUZta;ZYccN@GCvLi?}T$Lbx~pCjs%MbosM2eVt4I@p~p zTQ^ymR-?M+M|l~E^Ukh7hgU@$#XCse)=s)qGxcR0v~$am_30lt=fUNZ<@c+$MU34Bw`pXt#X5wU38 zm2aT5P3?oTi@_h?kA#)jKgLc!C;>-=CxnNE*FZbjQz?$=?`tT1#(vL-%w4NloJ}1( zb8Lt|ZIO+eBOR+P7OriT`2%y(N`y@^&U1ZHJU-3=&6&k@AZ0r+2Bz^sZ;Z~MwevR% zrHox;Uu1E`g%0!54AA?-ZLGr=`cm?Ymd3PC7m9Al_5>zG4*Qvn#zT}OuW3g8wh?#@ z-Q<^2p2Isak`-zl{F=jlG7x<#mmOofgNIu%mygb|0w9;adN7hUT2% zd;s^Wvs>Ff9Q$j5!iFmmMZu!{x_3GM=uo_G;Nx$Ma66&Ih)kopAd=~P_ci#Uj698hIU5n(U8 z#zWrzI;TmO=?5Umuq5Ipnw?V!TidLCChoPT^e|Pf+qR%=B$I8oW-b4m>1M`oHDK^+_p1h; zf=7rx`SfM+V}%#Rv7knz-DjnF0X;t>k@z%wO?4Wn{q%v1=fmQ&^MgdhT5H~^!3>85zgd`%okX~9&zD#P&YJF`8Ci}E&|`{yRmVhD z2p!azd&7q+b|Kq7pE7u-HIdNaC1^+Z!e%fHcDI4XOJR2BN@S(2YZCV^vO zyP0rr4W&92TEF|RUL+Ob!vvpYKCWu2P9=TiNNPUZyKyBwTr+m$=w#BGw03dYe!o(3BId@j*#W=dza#ms_S18aR}67dx*2S9AXkIT}$`9YdEthDC7WkD`p zf$u8TG0Z8S5wisYa_?9>=|qsM*V&CKny1@PUu+T|dnXhWed%*M&|m+OH4w03L}l0Z z>Dcu`-|xgqANR$^YuZTBfhwI`myh*V(nfqM+e#*Uk<`OKgcp{sV*F0Jb^+>#*xe-^+&l2>#Ng+35GHEjH|Ks+|1m% zHz$2g?TLQ(RmC37)4!kn6?c{J|AxhcKBYfuve)8;g@NIO2hAkof$IbTWX)?r;(s!~ zxZj(7g#=-ZgrE>HTHp&51C!4Lk0;Jplw8h$K2mCIK0ZyF_!$`)HP}{7Zf1Uz;&?7d zu!GL$y`x6&)BL$rU&pDoI% zwm8ieyB9Ea6wDCF0B4?|mB{3O;WTlH4{G4MjZ&@Kc$vLnb?(BrVR>%KxM6)B#Q4nO z{5j(@t8;6{XF$tyoz{Ch-r%H4!*xEx8-xOza}|`2X)_U(B$rNtH$vi~V5M&&jML*c z9Kpli@*+0ImqMQ@-jqfV!KW{{JDY2+P?C|(((=1tMYfD26_F-7Y5|ai!>nQb^Y7j% z3YW?Mw14hiSL~(H93qZOnSh`tK~7`gx(m2W`GP$M*9(lAlG3ewm?-FRSA;}wY8GCz zSDBILxM_->UH(N6k~k zf`-Ay_QKe+j=P0~xouoknB-;858Nu@igo5XVS6n?(&I6WkY!(AEAYS4BrA*T_U_1` z88pEk5dvbM*A#CddL_!qD+s`CDDNcHG%{<58^acdtkY_4ntJ1XFok_Xu_Z0KLm(lV zJy)J|Rr9jkV-Sez9uQO}##XcMwU8cg{Y$%ZNtK2pMS72NE=AkTNtD@?cdLVg&XgYH zJc=y)gFudgTy?clD%w|M@z@wsk(#L_F#^lsVgT4+T;Rv6MY-@(P)zl_`@>*wr{&C7 z-V!Fzsz46-{stX?M!*N;ALE~Ak(&%4mY;Q@STYy zvry(#372YYli-L+>V^Lta7Sb%uV=bQOVj6*OV@wQP8X9Pl3gGm4%FYiG}T1Rp!&Kj zScC+`bXdsg$$817eb#vR!qGY)%*jSZ(@hpb4laONwRZibVSp8AV3Ov27@4Q+!zPXiB8TQqCF>xJ(1l?%ej zJM1S6$lyM*TM7wCj75c>?pbyM+Pfdh5{$xu5g&=A6&YoZ)QC(Gi9}ynNX5%Lk&%%h z+{d$~>5&sgDqN87GVZK)I8W&gzL4fJD=mU+&@cLmY`SLBQ#w(uhW?*Lc=f_zDam6Ybxqv+((wB$TfUHBK^rDl)GhGu`m?nGlMJ5 zfE6U@V}VLHZDGGRKjJ=CT99%nXKA@pacBUNcA#M|N7tPhV_O^ns%!rxs$|dHioZ8f6hSJ7 zCw*$|X4Qy}><0s-t?C%qbryWN(YCavw|pn8a`^GMa_L_w<gU} zo7aT#{w7s!O5c^P(Aq_f#QzP-8r`|pAt2oi7!nc3-1a9b&qC`e?jwKF|ZZKPTX{A+&u^Xzc8 zl4L&By~HBzJ~Pd|wpLC%@OE6zI=cB)L7yc2#6TKd*@Zk8$Hlwux{LCA9-`Rsn)$P@ z;plQ6?n@3<8eyD2zUPJWkG4VP_5}%WjbTK{3T=kPI)= zKSa@9DoRuREX%Y2y+XyZVI?U3fl;M2^pL-wZT9stZ--;fLg0R+mi2BwzOmHqf|?TBae9~ zFVA$(7S(#T8pL7=l1K1Hd|WxM3uUje?^1?0&hPW`g+vE#j?m~C+orh~Q-uH?q_;t@ z)E7$)mUqPy!#;E<;a{niRMko*>4|vYpD@~12ct4z9$gj6?8A?#hXAuMfw-n9!|eGv zIs@Kz4p!t&r{#VQdb}3^Rc%@G4$S{b2JL7! z6%*ESP@Pkc&i7zR<%D9-0jpSweuN_%F}|UPTb3RDn1uDK{d+&M3?X$P=e)Ezmhqds zw^#iv$x@BU7Wi&0tt#wS1T8%@~OV<+D<)!)t;Ih8=4@1|U>lhbf9311o=%TSlDPn6^^m^yk)PxI2AfgvcB$pkSHoNN@%`YQPurt? z_y+1W+>DrqUrg_tloP9(afHgB {fXd~&j@oU8IfSifP&s5PV%wK^1(FNA9H=o+ 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 -- 2.34.1