From 3329e8e2e10ec14998d4d4c88819284dbba26095 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Fri, 14 Mar 2014 11:38:27 -0400 Subject: [PATCH] eg 2014 browser client presentation Signed-off-by: Bill Erickson --- browser_client.txt | 46 ++++++++++++--------- .../XMLHttpRequest_vs_WebSockets_Patron_Search.png | Bin 0 -> 41062 bytes 2 files changed, 26 insertions(+), 20 deletions(-) create mode 100644 images/XMLHttpRequest_vs_WebSockets_Patron_Search.png diff --git a/browser_client.txt b/browser_client.txt index 51fa9fa50..25ce6bc64 100644 --- a/browser_client.txt +++ b/browser_client.txt @@ -30,9 +30,9 @@ decision to choose a seemingly reasonable course of action backfires. * We've been treating XULRunner like a development platform, which defines features for developers, and then maintains those features. * XULRunner is more accurately a test bed for Firefox. As browser - features evolve to fall in line with other browsers, unused features are - discarded. - * Too bad we are using some of those "unused" features. + features evolve to fall in line with other browsers, unwanted features + are discarded from Firefox and XULRunner. + * Too bad we are using some of those "unwanted" features. == The Big Lost Features of XULRunner == @@ -99,28 +99,29 @@ decision to choose a seemingly reasonable course of action backfires. * Secure file storage ** offline transactions ** workstation registrations - * The solution is a small, standalone service which can perform a few + * Interacting with 3rd-party services running on the desktop. + ** RFID pad + +== What do we do about this? == + * The solution is a small, standalone service which can perform a few basic tasks. - ** This service will only be required on machines with special printing - needs, machines that perform/upload offline transactions, and - machines where the workstation name has to be locked down. + * Only required by clients that need the solutions it provides. + * Proof of Concept ("http://git.evergreen-ils.org/?p=working/random.git;a=shortlog;h=refs/heads/collab/berick/hatch[Hatch]") + using Jetty, a small Java-based web service provider. + * Java is portable, has flexible printer support, and is easy to code. == Browser Developer Tools == * http://angularjs.org/[AngularJS] + ** JavaScript development framework project from Google. + ** http://blog.stackoverflow.com/2014/02/2013-stack-overflow-user-survey-results/[2013 Stack Overflow User Survey Results] * http://getbootstrap.com/css/[Bootstrap CSS] - -== AngularJS == - -AngularJS is JavaScript development framework project from Google. - -== Bootstrap CSS == + ** Mobile-friendly CSS with a rich feature set. == Staff Client Prototype Project == image:images/browser-client-patrons.png[Patron Search] - == Staff Client Prototype Project == * http://yeti.esilibrary.com/dev/pub/web-staff-report.html[Prototype Report] @@ -129,13 +130,10 @@ image:images/browser-client-patrons.png[Patron Search] == Additional Components / Development == * WebSockets + ** Bi-directional, streaming, long-lived connections + ** multipart/x-mixed-replace on steroids * https://bugs.launchpad.net/evergreen/+bug/1251394 -== WebSockets == - - * Bi-directional, streaming, long-lived connections - * multipart/x-mixed-replace on steroids - == WebSockets Streaming Example == image:images/XMLHttpRequest_vs_WebSockets_Patron_Search.png[Patron Search] @@ -147,7 +145,15 @@ image:images/XMLHttpRequest_vs_WebSockets_Patron_Search.png[Patron Search] ** WebSockets requires 51 messages * -== What's Next? == +== So what now? == + + * Proposed staff client development project, divided into sprints. + +== Sprint #1 Funded! == + +Development Partners + + * ... == Comments and Questions == diff --git a/images/XMLHttpRequest_vs_WebSockets_Patron_Search.png b/images/XMLHttpRequest_vs_WebSockets_Patron_Search.png new file mode 100644 index 0000000000000000000000000000000000000000..fd1ffcf0faf837d9aab68a7012e40ea877f377bb GIT binary patch literal 41062 zcmb5WcRX8f{5PDSEozUVb`?cYYSh+N?Vx5`vsGJcVvAPo+Iv>b+C?L_wno*gQ6shz zN)kIX!jrV$-+kY&`=94|@=s3Axz6WY1j z$r$-%!WnA_TN3~P1!$?=H};>~=?K%Uc^b0Y#sLxWG|=j$`ZSrOt^VF|?2eG_n2jDa zC|lFqwZ6#x!{f%y z@n_k?YnWa##{Ec@Zy~3z7tw89xfuB%RBvGD&hTPAcH=;+Q!WaLZ7gt58U3TUohd=+ z)_)%l{;h#tAF<1t#Lg2wjxXJQ-Ke@C`S**b``;{H8G$yAe4;FT7}tnep>#JJN9u`j{d!@x7Os~&^vEUO0_j{z z59m%`Nw8mR_#^44)l$%Ik?7Nr3RT3&Bhv4Qt*uL#qZ(1Alwc#} zRjxAsE-hs{WtQygT_aPP#Rp^QagRbn0S5Zt2Hi#jvT947l*_RoM&u{L?fgi^GYxgZ zW!W{MnT#7cIklE!S5b;2c~i99A!j~fd2#I;0AS=F+ln6S%u)A&(%Z3C$yvh{?~0~* z(aR&AW)m7O`Xf{he>RX!rvR45Xa(EO&H(QgS;wwCnPXXwZQOD0k*ozEz;&4(x+wa6 zlRA<-sf!!djqb#BR=~TFB=KIX(&K|JF6=$=q11@XDv@r+vP0*wW4rbp@Ks=^ zBJkS$@0U%d_n|;wd9U2+S%EW`xM(PpgQLxK5>GA z8r+u$c}h>SITWNFqDz85{vnxn)~>p|uvHyYlW+;Hg={%!&U3QNsolSL?2s+(kWGUj z?SY=VB*Wm1!o~a2p*=UvK+1^#{j@ASd?5FNWO*so#Nu9ghj_U!yX^2*=Gir5XOq+V zw7O%QW#Dt-TD9~zac5Rn62|ReX*chz6 z^tAN*pJ=qZ*3!DIKr5Mi4FD^Ti7A-_z)1CSGg)Q#_?JUkErV2c6mY*|252p&aVr^% z?5`s?i~$Cu@TpwAyeqSu;s^N=;x(nluM4E#)WNdlui0SvnPd6g7YyLy%hV3s;Ic8^ z6mFcr`QT9inSbBS<_noWD=!2$+GPx1M*LEK8uR4BfPWIy1$4*nF^qVBeG21S@z;AX zuJj>iAxo%s9Mhj*AMqYtR}w@$Ds71;25#@| zS8^4nx4X0s(Pmm6NZa2oj6!kZIw4$MR-$&49$n2fA;^wqWR2{oJ_|rB^{1-+(mA5g zi@md{mD8=q`Wt>@$XLRsI6IZGFtR8!_<;auzB-@Ug}p13!*vnx|>6!s&W~i}unmujq~D8U2k5 zP#J=Yq~Y5h(?OWt^`rN5fF;O&Vo{LuBokJ2Vq}y!beHhVFB@F(;!Wy0zN+x^XsdapCfN*%129p%K%G@B1Q-4p0osGPhS&eD}D;i&iV ztuy8B5mPoGh`Qz%S71NN?;hiH=;H9?(ccASgL9|2U)iY3_COlAF(Z2!>;%`8F6v58 zh9e3tIsqCcpGN#gQF~dCAPbXqFsS%>>io4&6RCsfEIYFo1=9;cOY7)150T!s?(`)* z>nX}F0}(gdRoM5Me~}S9(kde1B%OJ~9SHDv4xjSY#!IrK{FIt{2O$xEM0QeL!teWF zBjX9IpWNdEuQ+~yi5r9#;IQsva%STQU`s>@Sc>O`;&z=WcJ(N_!cU`ZAubd{{4Xsu z4wvl7Sb>*sF`5T%LICTqBg=#U2&Pvt?13RF<9t!;9!x+(8*I&8gwN~wmObVY>q7bH zM_EAZS0+p|LIRg}cPk2-GHz$y5U`^(iq!Vcba%eK;0>b>WI5SqpYD$|k5$U9zvztE zzAo5}_UxNFbD4&`EEK9U<^sHX5wHHuQegcLuM?>9@&cxM!aIhfy-qy6>7yS7N!}z4 z0{=xhR1c^;xhjVL_M;00wUAzN~cUm;46n1mpX zqmirWeywYikaU0Q$h<8q$g4aKEg{%(RXf@Gf)kOksyLqmDkb;m!)?~Tc(0)V0Kk3b zSCaH}563i1DeLLXsOLh{=e1gDoGCnN5=dS7!Q#CVZ?iTN_%nuP6X5f#`@eit>>@X6 zn-|zAKGO3Jq2t=qXr-s7#AxfJ_r zoeJ~g1CJP&?*9yo8NI03^Hb1u%D>Tq$v2FearxnJCh84)SZ08HX1bAJ|cIOv;Ooa()+@W(W>Gx@+mctOQm1# zw10_%_cPkvWkIbuUmfa_x;@g!@Xj=vK?~7#ZrT$#JmMWDU2kP< zv@{E%`XN5Bp_yxsYYEiSQ2{adfQV^>J?7I*YjZR7NxRjpe&8c0fta5Rg6=_q%i|tZ zDqscL5^7A*f<+mi4V5^b8E5X>#0adV0A3U5U@@@>;%yF`Q8Hrv%>#|0vAR1 z^4`nilV~-s3Iya036R0XSdlrZZ&wqK5N_ikV@;)vu!siH-bSBk#vH?f^kNeRn^{w{ z7^k0W1J7JI$?IJ;=0;odL#RuiVC#Ffo1SZn1O2cfe4O)%0T`t_Ta_RrpoEosdwO`${L1dU*=0E_hW6ZOK(-GmJis>$FzvQzuB9A$x>vG6|GKwVH%Ut#gr_75D3vooR-2rdZ%F2 ze$~{dU64jMI0)^0wLb3Rxd12!05B#C0JKaQu6A~};4cJ z&UO3#=G>@I_qj$~1uZk9K){ZACi8HKru|n@6RSI0L8+bWeBEdX@gCQ&;DZeZ*ZCk5 zWyPjaO+j;$IehfZEnoexyP_0by~WWuPNJ*O{w#{h^;#^27*z*tDk`9GH{JaCu(rRv zVo`PSqZjCCeT)S^R9TdCvlt3#j-tJrpw%5rKiEQiS^%vu5+drA%vI)Aa!hUWPUz0NjHYK*^ zaXpybJ`SKKw{6)Jp=@hHtDwgw0FGF%M2(34y zAShJ#%aqSLQSRc31ZLk4ncs@J%_2z9bL;{y1A4mT`tjmNPj0(~qRW`RU!w_pWcN@S z2u|c;5g{?J97)19u<3r(>%zVe`ZU*Y0nq#NKF1W=e8it6lOt{b)#sSq_I=qutOytX zS=%icDn6(a&hjToi0eyb-7Auvu&0ZfNdtV0=;-26CTvpx-wLZNsklcNJ1_9KpT}ZX z@_LHj-3?bv8Yghir}x~CXTiKZexkNnw;4hk5$XV1lyM^)UlL{8qMGL;pi?ypU1N<@ zPpt2JqlB9^j()Ty6f+y5wA+3Z)Xz<=DB@n8qIbqZA5xZ@w*PD_@J{^Rem?uHm_tKMpJ8W^n0 z%i3hv@xv(6~Rq31pxau}F4yTE{ejggup82@q89GAF{CdkZ-flc$ zL1WNyQni*p0?20kvBO1jh`xKp2ql?4+r>p~I5G!RblvLKuk&mjy5)Gm=2<8mHg|PA zAt7r!PwHpsSwi585g{i#UDDZ()!00N1zj~W;vxZ^+@&U!D9PW%Z zxawOW?2{{0 zt8S$i`hFs>=56}XB8su>gwJ!btuePy1Yn%&XJo+%FOCQM_#-^5uk(!@!mpHD3g}&5 zg-zLOR~>VhT$)=Lv5DDA^0Sm%Vhee`AhRM~sq|;udYolREdp>=wDoP9JSKtC&@g@G zJZ-DsxE0c0GMHx1B$H>GC$txuI(G^73-WMcga+jKwZz4HzGlB=gQGvt`dOO5%YYpPFh@n1^L==Oa&-IQ&(P z{4vl+O67)8vcHXld6g{t1Z+cIgpJ&}0%IN!@`$!tMryh3Fq zL^@;Da$zmMKT>&AK(|#u=J=Vo^AOo$v1n@tVnkUx1VRGnX6|9J(G>6gAD)O9F8(8i z$nTI){YMt@5Reey9~lHC#J~T}s%Fo4`p9a=-Z-sy8h_~ZUjrgz_J1-=Nd;U+td6;k z?Me5)Ux|*4@3iotqh=p&FQBs_@K6 z`@I)G^8CiMq||#PKT|J_eIBgzTvKKnj!dwOipA`7(+2P$7s4jM>yLWjb-Q-W$8p@fw#txWLv9l zapSMjHE(6;^-gc(FCq+X<u0HQ>(`<7|Ck)BQJ2Y21v&{h>(BVeNOjl2>YDTnz>UalPw0`g~$tmZF`X}y4M>`RLQP{vi-2t#(92^ zy-@8rW6M`rT@VC~U|c3~A<|o)$V+vqGDC|OJ5u(@W)?JL6CM9f)Vq|S93K-db19=7 z&xmQ!M=8ST{Xi#4;c3LkQi|51>>F6r)BM7lU;GMF?k^qwv^L!GUj`NK!FaO|mE5yC zpqi%I&_`bAAY3XfO|#No#yUE1kTZAHP%?;$eX)U2n2(kOmz^m0)6~*l=mGRv`_@5g zaFtLki4qz${XKoye>8U$R>t5$kJTm;iauKMqvrApmgr8teD=lmw@hDdVNuV&gyKk$ z&KS%{w{IRc!Q1?jmyky=Xc6DQ1-G_0n(t3-J*$a69bW9boaYb`<|cdC+=wh4%xdg3 zza;Nd2giO1PmNmOdYMsOV3Rv(ia`fAD6l3J}5V?1q_~R z+yGgN|R@+=LT?wi?$k4+apnC%>%O0(x)as(f*7Cj*xXgAD zZ76?8oy**@g5(S)dM&&R`Oa!v&jHVjnNK+4;+*u!gB*M7HzU?dGR<)>bVeP%Gig__ z__k~dDcjHDd^E5MtOxgBbe}HFZqIC=bsir+^ZV^bBP9t0y4`&eTXWGDjBlaxEjK_P4Wf zMnjpwRMYIKW|FTmm(TB|2_Vp~4pc#1A7(L3KaooIWMn;@5Y+GOgam&y$;DT~?-p>B zfk}h;JlxPBvfIHs0XAPyPp~Ge_@J$vyQ0O@e`auWlUvbUp2{*7iEwKgP_XyqAorQ2 z*XCYrPLxwg_-+4DL|+=j0`2QHF@+&>=~in7b~2uT?TyZ4{`tOp%>V~d0>JL(olVz; zr;#m8b(wQKMv+I{4pMmoSc>_!eELcfO+nBoZO0|VhO3q%KiNqFU(lL>#g~x5WZnz- zM!WaS*g>?sjF272-7SSX4PJISw%{vTFecy0)cg@ivXekHd2op)2Ci41bNG4)qz^@X z#B2r}-HZl519C;fx!rrJ5pI+wq|1d zQ@OHviDIPm+~x1(Yg;{OfCcgXG`#MA-I?m6dK0RLQ(^rbnheXz`u?s1^U=+E7CU8h z%cYWJaQ@!T)IfK!X6pJSQzJ5mx#Yr6O#RXYJa4@4=zwk4N`sr93g;!>j2~QD2vsjd z!St-LJ=IJ=uDW-CM3=x8uwEhwF8RO%L5cam;g|Ois$fX&QC>Dn>Tu!5Dq#)9>S(fH zJC`&)yW%rW6*s+LD!Kbu6D=T@29(~0;B2AJFBCrK=zVle0k99Bm_JT|#Tiy2e$_NO zf0?Sfq8mIg6+oa4<<7&iqHTpXY{S=i9vCPXtDA8?H}@OYI_HX)tA&vP{VusaQ*nI) zG}pXW7hq{R?ugJ@GD){J7Y#(GTskQ`06t%23ZzJwOGJ5|!1#uO$_yHwIswt+E-r}g z-+k-B4G>b2cJneoUG8c^-zqwjPDG&d!~Hm{`Tz7XvIw+pFU~uWX9@-9jw>(JA|_l@ z^$_thq2o!KNP3&k?onHkDG#6yptC2XmSu2oRUXDb^|!fh5h<_8J2wYyu@tVaWp{c& znt9KB*t#m+s|viwpS0pf0$NI=V9ho`pdhiwP;;pcwa~laxW0u%&dY=Se!?;q{6N2| z2EhFw=K_sTmvxjql?KaG+9LA9PzP*?LaxIdLagdJ;qt4z1(ZK(oPl6i+&MjJXjnT~TnS6bsaz=VfM9 zre)GUkQ!CcfE5_qw!wA!<(&7hA1xq|YJ`2qaT`6ii^UHF`FtTb9Oq^+vE0+r+?o&e z;kW3o@S#}1t`TDG^VR-fng#ds5RU7Yg|@KLSxHuRfu}h>%2rf8u7d?Ql0=8U>PWEb z|COr}7~xJ2SFrGhrww(ypP(gL>J?>1#^6eIyU!6WQxO?XKJT4beeYc)R)I{k1I-xa z&NoE<1Z5^jm&&B0UVlv}`(d<#k8n1!6ArE;%H`=cV1TJmH-~gYpeF9iGau%rsU4O7 zsF(@8BX4-yn;Fd_D_WBMQz^iob z7yBJgxg{vb2Pr}@nnZVEueW@W=;8(Ox1~R`915PVFVvK z`)34x2FEYzmzL;4aiH-cRG~-;lq%+gNtfz+PUsVy$F+=tLLJH;PGO|T6_9r)At>9k znX>8ZTEY#xMmeN_nZUe{$#{=D%&9{b*Mzwo#hnJxP}t(DM&55lk;i;$*G}^53-T%y=#p& zheQv5?G9Bqw9s!y)dg^y@A&48p-wPqPcc?c_Q!QHTA1P1C}Nb1K06K&hSI=3RP6p`zi03t1v%vVxJmbxMur}(&@fuoOm&Hg z3d_6jQ|@{#&#^11H2A`kmIrdeU8~T&e_z~U~ zGwBppu)IVyFK%8Ctp3Ap7@hJ2mmG!@hRlW33dT2Zi&~cUqz?C?N-_eg#(~W z`?>t&uPXG~lj6WPS%I|>uB=VJjG~}0z6VgSI<|+&EOpT+rjhN;Hoc4P3h*fv=fnbe zcs{l)G3Z589g_XUV4f&N4FMMT{tD!IpzG?pVIXwYB)G?()0f>H70(EI9h%zty#mzc zq~8a&zEW)U>^P0LyQmV@CKQS&5*|AbkXCSdiB(!rOw|DS)VwmhqISuS-)SHOS7(L3}o}Qy7l*M@o8^$6?G1|t^+&48igCmfSI5dlDw8W^vhe( z-bf`t5(6Gc^K13#E1qb|$ZzhZq!hIbc)gqlNA*(zZ8sK+-ELCU7shbzN`B)MQWirI z6T`F{t5-d863sp5LA<)=i+(pP7i6k#uo+s;ihj1#^0Zh>xc6qfVw6c63|1JjOLeoD z;xxMTwxei!E@c@pB7yGJ)XSUHH8z0ajC*9-4}7tr{pe=7#YtSlItPhj(rRZa%6b~F za;F#U17REytpU`P!mYo5ken~U4rX8#^l-S!2tXpCios03?2sQXOi)5;5{g<9PN6sC z!uz%HsM|uqeAiPRw^+e?AdfG->uoE`&G|vys~Ky1FA?D0yQAPlo>7{WcPBVvBfHqt*sx@Dl-`4~7Zu)~(-2$h^Ni!!~r%4$g(M%HxMuKpG z@v?^xzZmo!WlA-c=9;QCgNi0Ujg!oyHBTeUs=kFmmRs{Rpwsz2pjPV#L)jkEV4d89 zAB4E43Z;0(W2kdyjf}7RC}l+O8D-Ytioja{LO5$d7&K@_F`=bv4;#(nq%2DzX?KrB zJa0WLqbr(?7?(!q9T)JGScaqgDsOQrko@*5`}HC!!zqD&IbLiHqfs`?Tf17nFHt?+ zA4-+&H!{sFgM5E!29~%$JzxHHvGdXLSwfeq`@9=&OZ#el&39$`z2_x{B*7vZp<8zb z9@3+JYvhz=(F#S4g#4w@2z=J#k1Mn&0J(>f$Hb|}1Q)O0RiR7pg{NXtKPzg~=UI54 zLn?1|!@LWMptoB2tpwCl8ijup?Y%}FJ8*2tC(NK*`MUA+$buif`guq#O(@Dky(%29 zsL9)H>hBulVg6-d{p>RM)8qLy?yvP{utGN>BEL%_5KT;-FdDU@YXL&OSc)O%2qM|Ri;0n8RyBk zvO5t&v0Bqwscm6l2poOGx=w=V!qT)iS|+`Y1mDdRnRb25+eg7Y=iudcQwaB1&~OHi zY`}wdx7Df`LOv{ke3-&nw$+NpcAqYLS`nZv)_FNJTSs%+UP;|NKlt(JN|`sedv4zd1wK@`0Qt1#zu_a{}ibt1#h#1~H{oImGwzMH@s9ysNrGo(iD;kYMgDMSC5 z%YgRBWJDG*U4!(ph@zSIlv5ea9rPL-4S^kIAkX1EQw=p*+k~$LF4nO)bR>itT}6ce zAFAi&=8EMCp>gr(!H&9P-C%@Ora;Hi1MFTqggbK|N4dZ*ONx|7mP{CY>1c3ay-e}W z7+A*Q_=-oEQ=GSp+@pA+cACeiH$-YnS**AtSRETukaK;w^=(tvDJ*RemVKb4F~@!; zH~C^*R>G+Tio5sw)c5fx=txjkS|B&6D)n6_)~Ym~=*nK5Z^X@5gnZANA^0_cn0-}b zvT;sx`shE#_4;+h=PUbh1ZG$@V8*kGO_B}(co#~>`nSP5Dgw5cc2x%v?yq=W%hyE& z*Lhc)WtbTVA`QNN(+T{NM^gm+ds-iwY(r?L3Z-Apc|JLI%6Xs8WXoXRw#D(`D@Xhq4{V^F#~xUTv9C|6gZGYRc{<#W@f>h%oDouBX&DiA*K|OTg{PPM!)DYtxZE zeyjRFt?6xE@zmCm-PI$~mOKQ?o005C#m5yGBYIhaI8O3AL=BR%*+IV7S;sc}QBA%3 z`}E5MgNhd6=>jYMlN6~#XA>AMK>mJwk755R;YKK6nkhB%qc+8>if8Q+XT*e-r(0U^ zvn+wn7G`BHA3f=M7)lgH;L@Ox>bYjDzgP&rh)F+Om?Zwc8vuZ}gTDX!0_C@pPR15T zej#GZ{~@>kFSfe^aJS`&#@SdT+Nxfl$GY6p;Q5OdJ93B*WVV5~5jj@H6i7PA5Da&|N08_4zlC083<`8d z%VR5gwAiLE{lhe>P;pDBxyg=Ln@E5)H23g=6FINPpEV8kE1!oHlh+p>8#06rw^;X| z1d#qKM-b4%HA~qK+V1L^E|f#tW8cU&Vov61b=|#wibN%(^;;&uVcW1=k(=EzZ;O>l zN<{fp>Hv_QJhRQST!su6J&Rf|#Ew!6ovc8rva?GtL!v29w zHwU9ct&H3sPVB9^U3~Tj0-ZUYRb{wjHw~DeNg%{0mvqDvEYE$tPvmxYNJ7cnL4!%H znd0duZbtR?CQDjZYvs!7E&LtJOF*tEJNqLH8)nYh8=Wh}Mf$J&V<8IEW6VJOffP2^ zaOH<0Qq_`QG&32ThgCQH%IthffliQHRC0fos%@J0t*Iiqj%?#8y|Y{tVgD8Q8nDfl z(!_JZG`#b};3?;`PYT=wPUVZ&rI~Y7W|H_l?z{0;sY>3kz(Zfluy2S(?eDlo3n167 za+&L9$Y#o8imnmce?|bU;_tpH%wBZwP|^ig0Bv!Vdo@STs{m`dbF&&>W{|`7Vm5gP zXcTy4(gkwN)iy{m;HTJqCzJ+F=>6vN4484K6rJU8ss4b3%>Thf2JU4~1mfa2=fPHG zBB(RH@$8=!W!RM2r1Bjz7;Zdhk5Fce)>cORF-*DIiY3vgs^4Dd)&2`sre#ZczPn? zS7I5wU|ZsWIpO@#$fseZxgrG4-X!y359wq?6LbxP*TBH0ub*m|#BVp&hf9 zk(zCxon#$U3sc(nWv*JMq^KYJfUvy#h9>ivlcG}>$feEOeL&woT{;c^$|TQ|N=pwa zyF;`0V(5sY-3ACV*^27e!UrZeVc7qcx0Y`g3$z|@n#4bLi|M;&(?wkw*F@^3pVUL2 z&-MFEQ=7RI?>=duz`5ZXG)ZH0Yay;O(6!2PiDszH2nfu;{{g?x<)F_cFmY>@stAVJ zV}?uc!JF9Db~M<$r(@c@Z1&Xg&WqJ5RoN}2A70@ku81IRdFil4*^`$KwdtEl-?LAhramh15V;c~eIE*T&<)l9LD=Wo zcdAI@s&IKbh7MzRX(pp5;Y!JHndLKHpS_@DKen*|+V(_J!2~+wZnxcVX$h#sHdUHOwo3y+jf!*`bOn2Y{&TCFRK+i%6YIfWH8 z{*ba7e4ICW`dgpQ#w;FPwbS~QXW{M-lw=KE418uK)lGileZ7*gdsUjY({ffpF7tA& zH+g;f1*fGSAuXW{}yaY2K~Fq*2n_i zZe8x~6i8ihhTcAM+aDQJ3WG#{a83g(P53lAtg9v(Nf>`QAwZ zubm?PgeBAlYs&9h)rp%LSI*gH%ud=_$eVEJ3YEg9>JTjeTm<4V#xZwP;^c}t0|8$Vg=Aq5ah;?r`5sN?Gc#NbUz zQmrYNh#;@emU?q8P6)LG63z`UcX&yV#U}pO-x4#>6u9_d4EFmmbo~r<4~zY;k>ct4 zXBvWphp4OdP08uJ0F+1YKIXlUTa}9jXA&*KrR+{gp{0FyUILxR>QL_CF&`h-;pMWH z)5~lF&)>(AaLg?^+AKWI&-9J({bp|e=wXJ^III4*YHsINpCo+}VnWoHYR$DnoV`gH zKsNV_Kc?AudBb>Pes7|te%5mv1xNNV_4zHCer5{)^bpniR$Ar5;QSA~p8U9+;U!=} z>}(-|EuFJ5#3++6ItGNNJ1&K*U;ZLojx$y~wpKMT<=#; zv=zT%jpf6%Vk!WU{>wv+UtqsQy+zeYYSgR~XU;ht7LFN4KXCx{8oQhQkKnB12D6mN$r$D|l3eF5RN20Eb^w%n&z+D{w z_50>2k?T-bd_zz~18U%+#NIH?Y6Pm4ujTPJZ9hk%@%;>$uZHqLoAa686v#lGO!nxf z8wC`Q6Xs?Wk)Ky3kar2HM%Z?-J5|g~5Jf`hcMH7I=RIBRw8=kcZ_?TwoV)8S4O z%KdKrPHbbBGX6r_M$TM*KJkA#iKho&oyd+u4rDQs5w}PhB$CXRz83*o_4``VD~8>B zfA4vtlGfmu#(070+`4v5J=mPXgfe)7sgfPCtt{ZvG0cQ?dGxf>V>Ii_m^uu*6(TNr zO}EIwB`l16#LJJo{E?;JxT95h&6RO>A`L*lEb@SbL6?qg3Gx<)}fz6QmRjXg;tz&bQ-O5{szX)@dr6 zDYS%%u6us+3L^L{@;hqUyMnC61T6Hs?`Gnnw{28~lOQo22a1WJtGiP212?>96VG~| zD4!o2g%#raAYl;zYZHod56`1=b^=?#O!cc-a;CDL^X4TYBG_76D-8a#qH($uYH4(Q zl&Jh?7ei}>TiY2#blr#6<&dd7kbXq;S|f2yvK{J@0KjAd;9|NiR0$)830WQ3`Q2AV zTYj;eZf$=>W&g)ny9#d5lk7xTo8VcAPH0vWF$wNax4n4USU;vHtGq#YEskn^P@Fpz2yoVfE~)IUoHd?WTj86R&)%?D ze{ZJl+;koz-(Ba+ul%-4!InY*Ho(Y+bru3{so({kAI@hUjBY^Mx0PnaJ9dY4oG?T% zNEj$Je;0T>nUYhRf$VVy>m%sk)ejrD!NDkv@6+~@vyd)KOmP2`xTW)dvjQtE+&d+;*~0NTLW6^+^EHh#Fl=_Y}{bbE+Yzq`jDJ;vCVz9G)2IHv(xVD zFA8+!?$eQb3}3DHfgWu%D`s#bWh1 z8;N4GJuly>EBs&gMl>Cz<2%oPXdEc1g!u+YTZ{hT?mX9@EmFCd`I=B~H7oZQ^*NhB zU5Xf!ud{3Hy_bx{C$b)N#oKESK;QhEuA>{> zUv^#MPibc{VSAF5h41>Gz2e!t)Ve`7V;Yqq^LaF6{Y|juz%DlI&(%I+uZgC}r29RT zd!RRsuPc(^Qv)Sp0J6VuM664Rqmff8#E6 zkbaq{KcTkiF#(AvodDL~d6La^`rG+OH^aI_ zx!tbtj+<}DcH#(|S+jM;e(HKkKO(jwxJm+ib_PN1ZjpDT(y?9L`;@Iq)C|7vEyt1G zkpJE0H-U|84_p3vdiu$VxmBI)iQ`~zf>V5g^IuwkAZqzH`R2>? zUV1i1O3X?OMoDfLvu81_-PV|jen9N&bxr6ap9S6|WvP?NuZ!=9_L`IVcf>#fjx=OA z!xx_4ko=#uy>1D8Xx;uO@M1^2|KOl7;P@)BFOwaBxL@O!iIfJAX2g2IUs~mY7N-(H zTvmdA`)g{%cK`K!fwJB>9L5%@AF?4woRHsE(2Gs|^QMZ?tFmHimVb@M;uWB4%@Q+k zOvrZM*XP^#w&OjCYYvU1TZSh=xQRnEFrS}bS%1MVNjKgyWsX?77LQfld+GN(d(y6}ir?f-~v-<85eh`0WaD!2d?i(`|;r6CCT` z%#z^$hzmiWW-m$7S>r}%4^Z#luht2c9}Myk&J(Y`RTE(O+5#`l7Kur>(EasZuAcDz zW*=c^9@S>zCqDb^6{bN8fwe#-AOIN3I=)uwTD}fh%nNbBA!1iQF5x?(@?Qm?rRozO zLlj4SUtbI+y^`qVslt-ma&OWJ*RqNIIXk60lm4ful3e3s+KcSL2enHdx%dbxzJ+S|Z2agDgglTe(x z(b*6mO$-gh39_j3aem=0a9fc7^SI26=wABq=c|7%wsUy5$*UDg59W^Co%9tQ^r{R7 zJ87jErwdm7?F#R1G^rhg*M=p>#>DtyoS_lru$rTAEJ!K4U&s zb)v^XweIUjF~RNlz`-HM>zckBAxh`7S!-<5D6K$Q-fqIe$dR1AHVe&mr**9$p#}ha zZ+DLu6}NA{f3R_}-Nk*Qn|h>4;MkaLyA=$*;-kRJhPYc^nrNyj>pN@5-1Ibk8PCMf zUbP=s@*wnU@+@=uO2Avv^bt1)yh3aBnL^QnmU6^4p=?I`duh8RYjTFXUY1K8rR{=#0L$A=t!t4x z#muay@}6vl@;*&(%;n+b;GyU!zLPN(1s9r0ta=L^@LEM-tN8$W@v z9Aa_>0v&H!Pg+L$ES5Cm&n4?*iMmo=Ng`^}t$dV?+@B!Es^hYRTL-O!yY~}eS}~n^Ot?F zlhNVCX{G)R#zun*lI6i5>6fjLtjD@V&w62H0fmht@png6YH?OMb0`SGLdok}pfcTt ze?$%zRd$~f4dc2MH0u1!mR2W*0D@jlGHKtMu!p}Vd-B9AdH5cJ%WH#s`>Zs}QPc>U z$w20B_D0cd$x;H>S&Lv#d}`0nQ?bu$qpL#3Aurj!8FTb($P+|(iU%9X+4qtA#K?g} zh6SPriQYu28gMaKb&=stb2G&H>=&|&fG5)IjW(f`r6hz`NCqv8iW((dlMP2+N26p* z?-2?lyRDS|Mr!gmB~otK@|O+?E-Ih-pr(DkReB`$NBgE`h7!bDQ~-2>*VcAOh#FL!%e+Ad>{zUAUH1VlKv9nx z+e(Oix3n@T%2?~QP~FgO{)oWfycKL;SG&`E2wzi!n~Z8zN;O~FKyVcQ6S>Ba=S3>{>!X%;>t0m}xO6e1x)N)8$P_Y4Sk$)kRVUM(#KYmGvM-lHi1xS(b@O zV({qbzWb!)IK@we#iN2Vum8ycf15%VtlnL$Y+t0g|K=<0x+>o3Gm8<2+mxj3g)YZM zM=!+6Dd@Qo_DF37Vs9Kz5MGP7z=sT#-RmRNs~&GHkniBiv}E%P)Ju==BF#Unr*fYlCiBcS$ldIUu%$yNgym-R=Mn*HvO^ENUWR8qXzC2@wyJyDRZO5vo ziB3EZyv%(A%Z6NXH(LJ-Pu=PCHWc*M*@F2t;IkdG{~fnfZ7J(}3i0dyp`BE3{s!}Z z0i2+R1TX~?+>EQHBmg|Xq@ba+bznSko6X+Q}qTR3eokZ2~m9@ zY%KkE|6~e42Vs@G6o$usomqFK{ZY5WL5zKL7m^QO(f<|U{202uOpKYn!rhu4zAeR0 zXJAP>YSC^|fzV$7g)gf8{2aMwu>RrMm5c91TBF5+y)AxIGtwzOn^iw-Nr|+I2kR7j zA|WL-EGkXm9_+Qfh#@m$RuDLGF1<@fSWILvCX>@WOmXRa3#)L>bJ46z_=|zOl8=Zh zVtc^~y6b%z&4@Wo&)QE?8F*K*gbvy;Ed6t0q^|{?4l|J5Hx{(|)+@tc;Xra5RiymK zjPcavWKLHA7lr5k4!O2}9!~2JhVuo{M!nH=mVE=TW&>tOtWVe06aLvF^mRud4P(o_ z@4W?bq8~5+6dmo)eJNwP9SQ*@Y|aZyRH>7hivtK%Y$ zv~I_QE-@zaw@X@X40?Tf#(5nWsu`DIP@6SzylQCDOn8O+9?OJ0-cKyUTViu4^B8{h z+4nX_J(t8&9GrUwT_M(0i{Pw%4{*rC*KD0f-uTHqe(Ki}-Yqdd7FK@PEN%PcYwM@Y z(}jx9i41>}9r8Q(>7)fd$1_^k687bVu~-EQ`L)!E)&2AlxSaq%*;vG9H-~2zi)P`A<6W3Q{({ggWUNrr>+~a-QN|phc5#00cjLIZ zdIEANYny2vJrnvdUvAD8cm0tqjYtHcMBFX}itd z5x*QJy&ukwwvIWuBv6-6RINPYkEuls$K5btaK@DoJ%S$I6RG+L#1WF>(t<~SaJRm4 zMTS>$eQsZ5<3i3%<;f9ku`65rPT%QxUbWGXi9JoJp^FkSC!|RwOFK$Una`;~q7PI% zw!5Eoq<75)=gTNfK(})>MB>P&6v*cJv++;6^}3V zk#vod^K6!G58Twg8&9x>#=de;6Ps69Iji~g5FuLqDuga=w^8~{y1zIwkB5wLWejdP9)dhHg&AW7(tJez8 zDds_aOlQusCB>$wZSE9nd>7mdH}IlpfqXsrL)fK{ zdSOIMqoT{JYm0s1P`mJIVBg`PUqj-p(I?STZk7yG4QznZLp9;*0F9;1FwLRcS-Dnp zu~Q==@C@Q7D9Z<@!gvHq?g>N(;dd7DcQy7TH`|ly={+Bv{zplEl0*RD1G^phTG!41 zB+D*$jjuC(Y`oNYRfpcwfN}XbgPCh=ePoE=nQp!ODaCtY3;NBg?REDKPt;}29U|5@ z>~!4!*1dEh>OM`t#V3{;N^7g;RPWso$z-xfmcopPQX>X5*miX7(=S=p z46_ikLN#3ECQaP%5SQJNfh*O*3vYX$R`{HF2=^V=#7)(yJNvHEqcQmyrkdIFeeJ`< z-?}#@t~!^7{Ej!Q4Wc@pnI}5)Ep_Lp$;_||MmeVnvuZuMd+}+m&%jb*p$;}j!US1X zu&vua?I)lEfujia7DV^dE1rE!-1^$^Zx+_u)McpJ5VWSrtAFvR1#+bO{GBWBuJ+4z zu%$l!@bC~pkK1kx{cP~P=#yaahi(i&*GK^yo3q?(8~D5=t2v76PYwsK`83zYrd8e@NBewtW(cQguLe^| z{-FFmu$pDHDJ=L!+s2t?4Pfvn5M9oRQEkg|>BMgxvg@F4AVrB1v86=*r7qN?c>7~{ z*_*>H_VIVNni{q|)@5VIZwMX;z`fLw_^h2*^C&MjwQC@;)Vuh2!yLWS@UjN6F4N~t z)od}!zBgu1J)gpSw(OUjqblCw=`Va8swpGyJC}JfPVq^1v)o-!AFP9ySA>41LV8js z2T`gg;v1+hJxg%80FnfVO$6g_05mUseQ)yOPpWE5}Rf8n& zaupH#V~dSp3 zrH~%VYN*u}4nbwEL;Elo&Wj~Pn@H>Awwfm(HAN4Tu=&&I%y7pmP2BFm`(YivrYF*e zQ0Xuu1PF7JUyhUf--}M}b@jj5^`+ zA-f|u1q$GFh}Hn9oHJnXWJdpOVW}k|+2+T`xZk(Lxs5n!0<_}5KD{@_r=J183wl8B zdErWZKFoq{bZ<#GPBk{{WNfQ39FaTjf<7qx0Lrl^pKaTY@U z7X=li`>a~$A-lo0d=27oTA;19O=#)|#+W#AoPr@CcKbKTuRhtSTH0nq zNPkZ{Jr(}dYb|(H53UOdVEp?8Hp1FUtbd~@B|;HB+vRhFcjXawmpm4|d7x~&!YOPi zLGTOH>RnRyO)aY7EnM4t$LR)D?mf{X-VXuk@t5UzFNH|{^Q|JQKgLYZkm8}axwPs0 zk=Qe>7cjY}h$i<(5^V>Szr^M6h%2L;snm{9_DZZmUhXr1a99OQ&d+QJSB)+ugn^`F z)A@L_akGR-WB8hA_?GAHIBIY6^)X=#t8-5)norA7I$QL%A)v{vOsFIUeR3#YnWBUy z_IW6XSsYV+#w^IEx(}pLW1v)@g8EWsIdW6wTgAiY5ciKKH2ZX69@H7!{ch%(rN$}@ zB%!L7hv-vS@uUYYHX2L=EvapN*ED9hW|sRqkRy`@dS7^ zycAkG4<~D{+T>Vjf4#p>*PJ|~TP35~@Iy0XCr6+=<=}&nloIxxA5H1!ka{l&MzWX1 zz^>339U7%95IABK;J2HZBb!!61Sf6L0QD#C%yrC$B+aCt!oBm%oW#WZQZ6C;^p+!; z(ta|lU*4boJL>56znGX{Ok=L=d-v3dm$pZ^bS^5oSP}9yDVy`I@@ev*!|i&@!s|B; z4*km@9@PUB%9Xb;1HG+hUU-p0%+;;z;y4de0RyYD>{TaISw&#pswM=H9Lqns_nN+O z4_?GbIuP)GBz?|WH|y?7VYe0AY<#Y-m&H^r^C@At8Nvh?D+E7a=|}$M{;nd;6m7nd z<|RcMu62Gf^S(J{iKm>VvQm*VT)rqRw|~QP@$Ya-fDvKzY}Dq5fBlQ%|K+y!^M$`3 z{k0JI_kG8cavURxspd#p8zF zkMY*rETc`+f@sM4k_}|zjkw+4MjxB-D+dN)=9aR*fZ(-P>fZ1SHfYdjtt|TGZ&rN5 zn83}E6W;VlDDu|5TjG1Gp)k#{SH7nOQ{3hoSxbSoVMAcX8o;H0xwWfczX=I{{|Rl4 zD7R(a_j>;Q7u)aW)0(`nX~UX{vb@ndGP6fWUs~Y5<40wc4(U;buk9RqK8u$&sO9-` z$x^z``*cFIE21{zYpZY8G-|!Ebo|fp&Vzq8@_YsR58DmmUwmxZO@>3hC%oy{(U-Fm;<*b) z<-xMh>Bz)?M*5L(2=<1HmKVYLx)>tKSjRbGXqKLkZn#9EAzu_Br@I@Od;Koc$!9K9 za!;GF$w|498mz99==SZ#dF0N{-L=#a_{Zcg?JQ@Gphbz%4WsLYk>8vP+=IWmf{<|x zbN*A3cz1==EX^E@z;iCkdSYwxBPCy4~A)nz@ayj6U$AV(3t2iH$V_qME{V9Jn zfeEl&ywF%jQks z(Z^j|QlgJl-M)Tu!COBcf3VmCSKF=4x75&$@89cGF%W|#WR``Vl(CGuuIq%5sjM|$ zlx=rS8?YX#OtSB`hvqtI5GK1fP`21LS*>NqaOE&D+g5nl(A4w-m{12hy-O>-L!GSC zou}yOWkH3GlGqv!%9oOgWv}KH8?b$*l>D4=`sK&s?eHI&QZHlK3Ek{8O5b*qjWc`h zeBJ=hqNx#=x#LWv_sVrpb5_;^#-rDQ5$j2S4I_RV_# zltTgM;IHPeGw^tV>omV?{(`4lzB!3w;DbmNmc4uZl>GDI1NBZB)2|1uY0Us*D~MZ+U5hB5x8{8M`1>q5Z8a%=e?{h9S$ z&Y~vjhk7OYpSM#H@0ES^;@6D<8_Fu?SKL*4B`CZxgSHvc2{B62FURK$w?O!~dJPc< zQ`*(r-5DPN=Rh;9*Y8-sG6HZX>^hyy5y>paCPPmxHRNn>W9enDUq?C$U+k@3u-0W$ zI5f!bJ!D$bnc?0lSD0|>_(R+snYrku?_@x3mMk( z_JOg^0K5>!ObeNjxqeYC_k>wcSal1fGMBA7jPuG%ty$)+JhA7fVEHNY2p`SkxyI`O zpE5V(+#>Jm-uisF?S#g6VmXC*U4LP5sT$R!<5+vmdhuM`T(X#tfWnb09$?fFr2t)7 z;$u;o+2IlD8}&^o+_wg&+BG-VTB@(g<#++e^6C)HJ_*Nv?(0?L!ACSYSA1`aeTZ@O z4(`ibNc?K5ohJ!0j7yXx$E*b|>VK@)lNqjoqa2(?vajx)T z6r1gx8?tbSK%n3M!?^8zk@yee27!%F^a#J(6OK(^9U0#di-LIeV8QnsvZs&Ed}#L> z)C364FyBB};soapP9lLQq-puIkajqBQ)nSN1f&{8o965=WVFT5A%j2k4hM<89%h zN~PGQT9`?^pQ7^)9s^c1c6ZZ6}Q{aEk$_Q$hrb{e>{;-4#*Z`hqHqy56T`{Z;ZWNBA~Qo zT0f3S=IWPLD``{j51G*)tnLJ;fg)6TPyYYHb@!>ZM@6%r^V2aP(21^U*@+L%i4Zb&lr~trNOZ&vy^uN6OwVKV2DvF42mR#66#(nio*M)s6fg1Awo0oE!KADVt-{9r--dsb#mI(H=VFB7D&nTuJAe)v#N`GRo|@ok24f~8IAq=s@S_HGdcFzwm>0`;as(&Ppuor2)as- zgQ7!QqIE9CL|4l3+ zsfEt~K)!-h9o-G6CUvl0Z2R^3FjdG3R>{B|v50N*2*$aXB8G`HO0M0>sZDMjr}1z``l+v z(|+cwAVkomUrw!gKI2PV+HYfW;p`!kQ5<~IC*N-J(Zn%lkBA%1X zOlQ)^>kI;CU;c=rUfdn<2{(;6;4^CfdDGn9zb}};hn1WNNt~HFO$!?VaAdG)sv|}{ zyEVmwfGlR(wbjSaE`>{}{z$r>>LzL>b$ZVHT9%PlX^R+1v{&7Uu|NH7w_^i1|H|Dl z{V(JDS7i5Gry*DGj&Pb+e>;qN#LVECpo~*a)XR^O{^rIwZx$48GjRK8jB=b`!tm}! zshIT5m?1o=>7ae^N&tDEUk!@70#$Gy zCm@VzPM4nccj(VJR$%I*+6bz(+St4OElD`RRL9_uQHJ@l5lg==T+a0atiBKLrew%y zA%k!A-Wq}H6#mI(fphvpHP4uOrTk#KaBiZ1*I@kjQwXjfNeURsRHfE?L{e*L)+mRU z4C-JBl)QlVxl){s zN*85G4eN_@8@gh;+fqe;(Z4N8UAPP z|0>^bMFTa}HlP4xDKDFNqMtWqXLidx`Ug3K`L#OpcI!>Z)u@A?;hbu3+-);U(Gfqi zTm2?r-amZFzP=+aeAStzCgh#l;#qg=e-bF@R16~Y+M=m3auWZ2+aq+TeNeG!^24^A z|A6gzq@MOr_K;y}TTSSH3SBPKnvc)+glRN&$@hdI5Yo0`1=-B|YY$jLmGr-Iy;b!# zz*Mm5!VT~IFU{OKd0WGwYmfBlA>=W$atOpOIY8UM0SVLwoJZm*pA#-MYO;p?e!E{{ zHSf_>DyA6@$~Jy5m>yZBv<^4jZq0?M^8Tkm@!&pq-fFB6e!&mIT6pn^IU8Hrg5P2d z^e0uDZ}Gfa{jUJW7l(D^VEUgsiq64`y@TfeQjDix*n;%jrPbtbr(?$-tq zYX}b_HviwMN7(j}DqI9JKb8tuE7IKS^R~T=3=Ph}NB6aH}2h2h~VZl}(7_P+|Rf(D$cqOCy` zy|DH>x%?b_tq*o4^~ZIn1g9AMA*L(E=u{|zi@%2wYg%oX8U^W$WL!~!w>pWKl0M#I%Ex}-$YvS|FiT7;=;$lHVe1Z z6Ma>V&w{J&5eGU7PuOxQtYxYiOPWYLB@3uxf9{44Ue!hXvr0TKO_EM@-(xx&4)5{Wn~?z)M8QrU1=+cW0ea{pY{n-}oy zaN)4RT;+lETAWVeESDWACfeM#{LPP`|)AJ%*X$MQ^i|tg|Z% zK|K$=8H2<tp6CS!v-4d&KX4pR;X&aqs{qkoILhBe4?r@cS$ zxZR2G?Cj8IAo?7yv>cVQwxR20oQ)tMUK#W_iBW3nSRxOLVBThX z`UM@~wA5`76vDQjthIJ=n#qlQdhjJD!OL-^TX`|So^Z)bHji5a0c$d|9Q`shoU7qt4BmJ2IBEWTck|U=cd>F zeHyP0>w6spMI$4rp`tO)4T)ewImIf)&>&jMgvV_2mkzPMJMhw_CSgpjpH2T=M)go5 zug?FN-Hk1S*9mz<#&S=~$Ds+P=6iD;k?c0qT^Ug`@*jIwaXne)}aD1;y%LPUEK*k7rVdU52Z|>mIpS`kC%+F@(Ew+YMOFH(pnc8~eOXfnc z^F?fZS%svJDut)`4XA_Z-2@XI&;Qw0_P9fZAi_*^>cnU{zEehT(YgImtXnQUdov*6NoSZGrHMSv5d>eAzf zjwbQueYY26-`+#{A2@b@m^891+R@MTAzk3ZDmmSz`6d1ImBVj&(!Ngeb)Oo$aHsg) z{j1GYjfr}-k$;4!n9QW)l0L}lzB$u;sPM*};~cqP&NDFH;8>5j5Nn~-eCo1T?6vcO zZ`Dq{Qkw}q#2Q5TLt8cIzgM*9G(F|uM_TmrAT4SLlD+D(2Ga&>`@2I(dpUdbnAjxf z7^M21TH-jw^ogqcwg^OzQTM*;A9pwRdcEt`#`I6eqILYP9z7S5)(&Dr29Lc$OL=L6 zZ`=QPR!K90d!U05m8TKk&)bTvKU~z`CK|gHvxP}~7&`iJ-6HMgo-i-6rExr^GjxgD z*j|$!171MosRMDRfv3RXtfuVSD^q8yThByxj@ z;YnSMyp`Z-VDq6Q#Dvi;$i12qmt*U{gYVC2A?|eDS7SpW&Ovb3a<8*u`&K^Ax$SwZ zPq#e@aZnZjO+5zgVxq^mKYEww;@_Cb&=ff_Jz%-}am$-{LGvRYD-D73);kN1Gz*;F z=z47+Rx#Dz&3*Jx{n2xfjTj<8+$;JZ7%1__gryrrGNJb>_-%*a=SqD3F}zn0HD&80 zT9PTO|9eW^#f)0A588eiDNx!FyxjQl539C7$#yIEUg7H3p76$AD$k=2N2ImH`n%K7 zJIb7N4RzBfos8fTFqZIeQPX3juG821k2DtgEq%VX-b5T7I&U|#Ln4LHFP?+woKV{x z_W)A;CPc>u zo2T9E0YZf<(zcPD@ijPN)GW}_*4D`X5oj5>dB1%&S0R@5>F~`v3m3=rB5l}_2w*il zkU1Jb?#s!T*>rtCYX=(y6P0HxjvAsNBvUVAZMO_3OY6=0OAoP(yauoN+Y%p$1xwC5 zuT4T?l*7$&;7UlUoUfV{rlGX19(ew!La4mUng>o zl);L}VbD)Pp6~sw^{)v=nr5ngj~Q|6-EOThil*qH4x*uU=p;i}MfM4(N*j{)3I#~VlQ=Z9|;-Ruk7>YS_U zbXlwmzR?~hyl*T_jF_>{lW6?jBMU_*DGYEk*LHr)w7cfCXa?Wv@Bw%Q z6*No5wTYt4B1Xgao*z5f79RjCAGG^BFG2~wuIv-Y5*NvF1Rj}e*C*LpJ?eY67Pzk1 z^HT7E9__Eqh4J4#@C*!LqRCupjZYI%F1aNvhaiL-3au9A`BV_)0S0XyF0vxCj9 zBmJ#d3kQ>`*z2x!7NSK}A1#VPKOciore%N-PZGxOo}bLI*+k{#^ciXFWCEAGW&^Qs z))hUOt7$HgIGXi~9>Z+V?#AmP+cPPh{hr^=o-$NhJS(6orp|^E-DZxxTfKCviY}z< z7^GMhzC8`}q#V4b+Rf(+zzBdh`|kFlHz7(k2WpU{UQSntXw2n8YL8bxHpQd6CUD~u z?V;dKlmcYRqk25#W)QHnh@8IHdX;cX?m;ZpulqjfZ-h*~fEvh%8chvUQ%BI&ct{ar z9&?*>C~e>6B40FN<;IG#R`g+{rL`@duiEvP^DsZfZa8`Dp|gFC73uUNXxQS39WSW7 zB@LVKZf<`6kWlp_r)js>Upy|{p+UiI;edv@Y94H5SSnAR--S2l+?Apjh-xYu=Iur{ zGz8TF(>eXci;MapYG)4%vSN$ThxS6%Ig&*SeMN}dy!}HNOwE=FY1q98XUYUPGqqF% zRW`D45n`ER8hPQNaML!`!#^Z+HpDCehvlD6(d3^tn9dL%OlAu~CF-jRk`TZP52Ua( z`bj72+ZOXgf6h2R8FM|P6BQ1U(OD8xs`PG;T9hRBmVc%azRGwhDnu@Pq*bcp|BO5Hl zjnpD^##%I}M2s_a%)9qE)7xO}g3EpjSaJ&De>{Nr!kVng(ei2QC3;`WI@Eb>=l%?@ zicW2k7)SD2&i+v3ofig3U@zd<-^l8J8WMbpGrNxU7IhK&j=omWz?6nmxz2tN^|>9z zt)|IOc6RJojk|kcUfx4IwOZW}7jGH1r?zYAOm0jXUOdXO zk10TCTUMj;e0w#uiLR!9VElDFwz25Rbc*jIfoDRp!6VC2T-0MBRLeudTczz+8*=Sx zV_YikY?fGXH<`1A9Rl$n2!BOQ;rW?VN4-qP8YY|~SDZG7TS$o|SB)kYZh*W+tg5<0 zVQs^*Y4p)GwjvM#le7e)$bs0XE<}|ikmK?wN7b5soR_O?ju;s5v|i+udOUUgCU&7% zkU_=K5pCd6qgW+yk4P*?ynf%Rb*Ge+$qbopECUz(5qre`LYQAeBUIK(##Z zu7SxX+^X$Q{3Pqik4;iN)x8RTEHVW?f4yvN!_RupdB`K? zz^tB*zXbz`#9b?dAf}u~dQ293tbumI)NMyeER-30^Zv2Ly?b{bEo>>_3%a~QPDPCA zbqq_lP=U}Az;J-z^LgUKLpz@4p}~`g0E3fGQ;!yR$(e2*hn zd3U!@nAzCMp}fSojv}Wk&}XH(vG)QKbch1>gT$;5qnI^Au8hY12bUNyePGMZq^%9b zA5jyGQ0mGU{p#qi77*9I>3)}GN{iXXKZxH`35qoBo_BlEt*A7!r1yu~)h%{zh#QOh z>h^%e!BE5YDUK^UTv{XSv_GM%%){j5J3$$xE7`Hc7?E{EWh~eHl4)ia&Bkmz6^O15 zn=}M;K#0DFrg>C*e#jLK-ndJ_<0~?Jai}}7jbj0+U<>4Bwaa(o+;}IvR9#J`%u~_Y ztO^Xjm>4j(Y3Ee0mZRBvdrquNcaB9bH`Wp#m#pyJF>%0WIo+3LOGXuTxYi%;VOj+z zTQbR=bENX5Z!p^KxHCEGKjJ^F5`)5f8%^HM*}guRfv0?c)WX{*&cFTP>*Sa)i2Ym~ zV=oiT{O!r``5;-1vf}9eJB!D{9)zyfXizLOT1)bHyY*wPi48gH02wa%c*;f8 zbp+gNOzN8V^;IswvoBrTCJnvYrCnbS&>uS5a%*U=P;$8>hL{;QHyr=7Nmk>>xNDXk zWElLMvt-F!`aS+jrrte+KNEp`GUmHUWEG><36C^yue1Z>yShzKk8S#mf%>AsGa#Ih zqdJ$+6C@W==5VD|r%4$!*{terociuX7--!X9l)9e{z;Qz!i;=S5%9!H+8v?xI^x}! z?BJQ*qgN8u1C_1jyE^TQjGq&+V(Vbxblkzgy4r!0NR;&s@nHyA=X0X4*%Y5FGpcb(exYsQe zUf1gVa7}N4X@%)wXj*8UrnkHC8tKZ2?%HQ6l|x7)!zLToS>|=tcB60UyE{1zH;)AE z?NmMb0{s687?0;7l=wt1e32?L3)^)?r25ejKAt|u+5f}}(zwdbnD8!4xqC|=LSJLs za6hr`rL@`{ylB-?x$;iqSKk#mluYt82U66++*ZZCor$)u*E8q@s-b|ZS}|lZ^f=uJ zdYGG;TaFU=UI#*pL)82XnAg$X<^wQNomCT}iA*MZSKrESYLJFo@&vR*#)`V@I31zZ z=Yin?gNFDn^sq={gM;fyXj+6@8Vf>R1(CQM(N_mc_>`~?X8ov``MJ@|07Nab^frNF(*32d2k{f$x$ z10^DJ^{HKaMkk6ryp26Xq=VHt+*mNPt~&MS@uwJSos~2eOIRw;LXocFE%%$F^gagW z1n;)$_P!O4VZ{8+@~Au$ppbW;g5PMSDKFo;1{rGI9K`59GN=xGWw*QLPJ=tD=HYho zeX{b)E_7Q!xm{?!++62q5o&OwTLg*>yil}g{;6`!Vm51q^!@I(#itP7gf{GTY5>l} zpMM$rbHBODvLs^it^m?3CFDJIF&W~ME@Ie|E|l5*_K`|<ttMpg@l~ z?^JToI*W)sROZ1R+lSj=PNZpGIax-!WwmtWQ>E;Yzd9Z|&yGm-?qsqIBx#oEY8Tr~mw+%a!i<@XS+G<#M-V{Le;oye1QkLqcvRTn&(pXk2cPI{j<(6n&wN z&auWLDEZ+bCvm#gwZ?3>O9J1DJxm_0=VE_Hxc|twEt~b6Xw})Jh?V~CD2Gsa{EJzq zF-awu@@|)BxU3CZqd@dmopNKTREP3kD_G%i-Q^AX)SgP7+1;64v+m6Fn7VTxeW*Oy z&|fr;wz!CJh_jxQ*Oqkmks<%MGj+Bqi3gdn&XS?;FxsinsJPh1WlKzcxSrR^V~N>n zOW0}*>Ql+-nm1I(LVO#QCEsWO@6Z$Za&lgtZ3A1 z!&o-PKI;-n*Fp$Ec3Nx!c_D~usksH3bf1`+=q>pE*dFcm)&X7ERr|57m8C!533#x<~V=I&8s%a`b+`h?#o zL6BSg%>o^u?A^gK7ZQmX;ooD%0(=2TtH|AJHVw4B$7u*djq9TpB@6vQ#RACugf^7% zRo#Nx0fqg0Rd|qES(#yt1I#Lt@|CN3!hT`DUq`yeJ#p_HJ4&!Q*u>9*u^f#*v3DeS zC%<3Cs$}KlqlQztKdD?xg=+GtmiIF`o5cRkd|OVW7<-+NM+Glro(S>%>5pzI79f{RvhwnOHfUo9JRTqPf>8k=%9ad-R7a zs^$2@rJMQ({O?E7LR_Md%;cYQkU*F#pR(5p?yw}|LXP!c?5vpAqStCZp8NP`jk^%s z!P3-*g#hNb0ND^#byhW7RyC|jn*48-CbA<_##eyD4;nLr==QG=VD2o8Abd5;Oq9rl zXD2oSPl^BCq~U_p$-TbBEEfee+@kWV*|T1VSavO1Z{YCGO$3BM--l%iC$+wKZjkp2 z9U4NCFLOCtF?c+!or+)>vur`)pC9K>9zvQ8pZcCFL}t>^Pc**#fD7qtNxq?5Ah7-L z2!hlfK=cCH#$1b@J%f1A+nNV{5?GNs}NoVVb7?@Z+yg zYZswiaGHa8;D&3Y-W-VOUX%L{xy%k&#L^dM^<0GYkVP$NZMYpEzRGt3&Y zsl8k%MBdXGXDHYou&y@;2>IEY_ZOH~`djenE94^Xa1$m}#vb`&)vWDyhNGiCD}KCb zCp%aiW(tzN)7DAS7zHv>Q7v~td=?Mk%-!)PFs(-U#$vOVU{3B843sRRHv5Kk3K1uh zz~JUhAe1WSBPO34x#z3|(0`td(w~{)vv~Beucbp@Cezbb2s$vP@hPGI50Q(8hLDC( zq8Y6SY);9u&o->4V#4TMAX6z@8L#0M(v~w$x{c>+@`lO3g z!|Pm9lxA9S6+8;@*OkehRnO&*49lEF+zc+OD zWAq!iiH&k!PIQ7;!4V&VVJ<-nQhw(u9QM{K`V^(`Mg5rs#S+WGo0fQlz5d zcX2AfQ+bzfoon`{b_?FgH-32NRrGNvniJVFlWBib8@=;rXz8`91v!)i6hJFhK8q)P z)7y)xVM~VR0C_`0I0Jz?EpPeD;iJSPtt8Eip=(S{_FEhIyM7;H4^Vk7F{Q9)89Mk~ z^Wi)2>LY>-;4SHhsL0rFk&e)4LHDG?7EeB6_wo??j27=cMbYB*yLQ^vs%zo_)NrP_ zbRZDHgS^Cqc@1cX@P+EjV|W-rEs)-DJo~P~_t2yFw~7pc$L=m2VgA&2+wfV{Doep9 z19(8PHT(ihQ@||G`+?lg$Ie2MrV!Xnknb{*Zd>nDvSAP!c74VpY^l8pJSfX;enr$p z^h_gr7|e$)j<_QGK*Y^Gvrh_%$@8?7sY*iMHz7WB8fzzIpJKV`6VFa{pZ@FE#goqu zO2Knfa_}Li#lx1$UH?(bG~gvcF8rzjs7JH~8$@EV#_;b$u6{srr;-=L7;5J8U0}7YqU-=LTfuK-nwyge&EGh}7sQ`^WzB}a*kgMH4;!*R zocA3(=e)ng!zCKOg>MfIr4&bdnf*iB&3#V8iW{jDC%?YE9XC=dVyxu63G7r9o)u<^ z;qg=V^fr>O2px=^(3!FStpSF~h?cPZ>g3pH?5tFL&}JBzyJL{Q=03of^vACRSK($R zwY+%5V6qXIXG=*O%z`s7jgWu$_4FH_yuibS%&@R6$?8{ObJeaINbXX-R`QZ_EsQ_9 zEYO#UxE5dDXgTipWMPi@;}K+KGiG{aP{u$DH6we$XK>~_nCo&Ugwk;Aami`GMW4zN z^$BMoKK@ieLol8z^wsFF(#k5Dp#3DH7Uo0SXq!LbD&S(DZS$el0_z>#DIqZ*%|t^` z?$_KUHVy2SJ??adDR$RA7U7HjV}F?%wfYPqpv6J9iQiUS6V10R8>v3-;~WfP3l}o_ zi7B49zwQWDGcm*OxI3<3n0SE<7~o(9h_$V0u9ZxyUH-wstjJf&c{rX~LIH~0f;sz< zTOJgXa7)TPmhw!DakxxQ{noYzO?>bOC-s3&aT6|pH>V6*(_fcl}FV6kr1q)I>Q`4H-5 z^WnB~gX!_Gqtb)z?c?0+_GnM$4LkR2>kpU5)f|t8h@Iv!$|RO)q6PgR=$Mes#q-zQ zj=N9P#2up{j5Df7G%vhp_6wc;t~a70VD(f}wBZtPAU3A`tx$+;ssBBV@TPZR%**I^ zHBXd$J~keqw%ei%DtXZ7P~@8gUA?lLqt^>+hL@M-PCt&!X}>L7{P{%&^C&p;@T1pA zzC5m1lBP!#ifhOBw4Vz;;XV;#MW6k&Y{F$b;~mlZ+c!mit?*PoDGf*I@cP{vDf=C2 zjfZSVUXrxR>Vn|U%Mtr3LqH%1R^=r(?I3~JrfJIuq7xGt6H635!h+4<*4T1l8cLIJKfA6bat2fk)CSw;@41}7fIE{ zWtIePu89?oB#k}&H?%zauo`G`Ltw8(g!FVF`!t{sHU~yO-EnZeyG5Cd_Y4&_bmc-4 zQ8q`#2mLu}6WVnT)?J!oiNm{SK^hrMm|2B)WvV`IqwLh-8_^N6I~PCs<#ytdDHrU8 z+T`b`|9t@mvd_J_#7cWe5-N)o+6dSV_0M!v;=W$iHhH*z>?jf;BODMYQ&&sSVgo&QsfCMkga)>zQ*NBjpd zj<=S(@D@%t)PCF>*lG}wF1v>=@!EPx4ptdoeef{QNMyaV*BQI=ro2wZ9ajeoXQHEv zi+r7Y|F~6jXsb5cKYXo(6vWypn@Bgj!jm3x`@LTM%#`+3X~wrY2P+hBPd;)F+L;~H zXXC%}M=Ji?qCx!&D6`rx@@ky|hq2Ka`d2qYPh;|h0!*w(5jBgv9|rDb%kz_3riN1( z6yt+j*9v)DT5jX+L zr}Id9+--KR?*4qPU-J1$ot+_kMRM;*+WNass@rH(5~+)d%2Sq;+BrzwvyNY;vLQO9n^4*X+o)(n^r8RJe>+1GRn z6in&SN#;iFJte4J?e*!)|14B#I)bB|XrZoHf7DjU_WYlE(;a2F5&*&+rzOCYfqm%u zGK$6yB*CuxRRh!5kv+%tX^b%|2Iy#3lY?da(j_TIO@L&BMwl=Y2{>1wnw$J8e#W5E zpr9HXQ`e&tk z!O-u^_Qi>R2J0+JShp3zBCLxC{^ar?gO~r+RN!g_0hT7cjiazW&4wJI(-F&+Tfbl5 zQubFJmxN@#T<>i@C#@@XwkfDK3*^`P3O5%L$NrE6(kb5k>Wy#@M=~conegl)vpHnS zYD^aBo2WcDR|r1|kJR-mk)T z1?nhS!Bd_L4nA1M$-@L^_Ri2)@75G4%xV*WLol%C{Hd3L>Rpf}`S?{v+5c9Pr(}ll z{uLIkLk+{(^q8^KmuHSZ^Z&_V0elcdcIJhHDRJr3Tz-9k#tu2!X9BWJ8rVj=--C$= zattEhx&Z;%8XyqHF~u(8P_8SLEE2K;NdQ4AL)6NYV`}z}#C}!E@Q1 z`;_MHe3t1gFsw7RAk_^4n>`DL*5X1}P2lIKl|kEYvEkQhN!Fwruoyj=l(V-F`FN4h zmmjc{pmiD?Br+R-%m~COXd7U^Z#+AJfcv?zd(TB%YCB>Um$PMwg$;%kGv;V98>L%g zGbb3Eb6*gk;(*b&=ORt<`v@ICejnZw`|AWf=RLE^Cm@(JyieJB3(#)C(A;nC?Q-s) z2i&$c^C10$>ulz*P$XMs?C$nYdE5PjQ`wd}(}q%SPDtBL z-)whZWS>@}H+5oQ>DvOz^W81SCcs`HM-O5K_XXX9Kn{02JmV8Y29^t{^CGp(W&q%} z%@BP)1wH{K8_bxo0d0_Ob@g?W!Y~yE&5Zd;iZL zFqHhimOA`@Rz&>!41Vtacm5__g|>LxZ_#g;9pjbl&QmaOvC0%>f3pR!((BeCB{BD& z;;KgfmG=Z!rV$>8;MNja6RIy9JexXwKQo^Qk&(0wYd>K_u!@s=yS{pt}Sz&d)4_i5SK^MSsciY?6cdSFe(RdVaWGw&RG?qGVJSwiv+C+WJKivZ|Z26t*!msxSTi{?c z6)}E0U*49=O3xiN6#?E!44dF-E zR;;2q{z}NaL+14LZBo*3i2dfYJf)JI+N)@5yuw4Il=?F4&!AK@NaK*v=VyN|OCQd& z_GE24mkeZjA7_Zg-pw^rk=bpUsd@3-!Jk4WQew73#OWsI*OSs~JPvWhmnzU%MSJ4BD28{b9qk#LD9>HTxO1v=P!sANB5U%f5lYs!Xy3q4htQbP4uht{<~f$T%Y1u= z6DzeT{@9FmtV``X}3&6ir*Lc2W&e?L(`8IuTRm)?rn3&w~^X1 zztF4_Pus;-k}ZJf^KnkqtOET=r;%1=FUW9;DpZwja47Ak<-+;>@tCoLSoY9|1Z9fu zL8B%<7cz&@rPcGB6yAG1Q}4p0+=Ju-Yo8p;q$6C$c4te`zqb#~zdu)>c+<9SSc2K6 zCxDmQlf5OtJl0ZZA2UHdvJn1Rk82*RcVmDuzVMo9!|8rK?S|>WpP|fCM)krT?y@~q z=6C0CiI%pYgaL{DW*?3^?!%em#6A_-@B|jxAxH(36i7HbF@Hm8Y_ulSJp$_W7Mc9v zq3;vR?aV06gol%n?oF3UTG}lG_%kvxJ!2gV_4_cq1E{i3TXYFqzMYp)B8;fhDoI^v zx*E>AQUmsykGW=e4X8lDAaElP(?JX_ev4qblXlflmOG%6%Cm0t`!kiaz8Ij&fdF(jOvw`KLCv5Rq%!AyEWaFKcsxCPqt#;M11G2+lhFY;V&w0sgqFC z1^#n;kxpiWyWYXR1Gj(iI@xDXChlu7Iq^sZ6}C>_#nvllrwY2+ADP|SP)t*-T#a>{ z0&0pshaf21n3LkLXz_1#8%bdL`F*a}b+^AONC&u8$UIvpAg<2DK3pG!FbFE9fyWox z|FQo8DCz*kwjkL2?+<-?{_Sxmz z-%Z#62bQzSH2G0v0Ov4mUzk(kw@9;-hp`w4%!j5i;os>5N)N9@-)HOT+MA0)s@9}| z*kzRi6>ZXX(A8de-nIE7-~qH`Pj9qNY+b!$y&KOGO!1o5ggYo{z^0$&jh+20M<1|0 zWhSX?i-%^f^bHg}VMvC339W-_C&SzcScYH#A1tXGghA1 zSkDjPjW8I{3-El93wQ(MR2Xm<|K0fSSN@mo4!+uLFhX}J7}G^}UmPE=5(!3z_V~2v zta%{nZc3j6F-#f5wK|a+aty(SLj=~%rExrtm6+t>&Ib+~SiZvGhVyV*(AU5|LmLcU zklu(RfE7~nbQG|(8mi=O)k+OHfMAy+LDB&*eek~&1u z4rmt}Fuj^I$rwl8=Pt&n($nFE6+;bq!GkR$-+UqVT~nkav@a=1^y5`ykhY{c#%ydyMVAj#o+O?IAvMsi5-moGeG#XpiL0J1p z@FDjv=#5ol)xXsj*ZYT_j5Oe+f5I&f#d>&kViY5S4T{EB+dpy{S0_bj#+{R)0E;|! z73;;!yS8PKE7=4(>ptTsJ*hRETRkC0m@v=ecz=hKU;j!jb%UVwTj*x}CC z3C`uJJB;m@^hV!0dy5&(_!^};%bju1c43Yi)Cz7)7O*Kc`o=$cxq)Q4D@>=jz_&}v{SkHcRzp1K{^?Im?oq z9`RCt{Y#P?vFhai32P)%jA}sTDPKe?TbrE+5ed$P4_T@I~ z(in?ZZf~`}^g!WZwu&fvEX)repxtMLum-}dIFZpRPKA2!2M@D1=R_3t!9SGdbx`~I zJCE-qyPf%lIk2C{n4tV36=ej@y~BUJ^E2Zr_+TX-`h4+MfT3gK@3oK6ru^R+6kM<* zOGPbH6=7uouFNiBd>#1nKiNL~A#zslcEG1y!$cBIw9)~2D}Yy@-P4d_S9cn{@LzH} zZ8Nl9bBv%Z)}+vT3*I&pWxvNwsdh@%GOphKw&O@HEYooLED?(k52Goec6+=$@k`n9 zZt;>akb6kDU=`E)6C(@_wFh!m2W6uQG?n`XcMx5mw5Xi_X4Brf!zh2L*=Q0F{lS>J z@`eTZN_~uix@2zHn9Nu&GUUu{07qeqRj-b^)=xfh== zK%8J#G=Ko6D|i6=%|qi_Pouoyu{c{$h1wEg|ItrZzF`0P z&#I&As5s$XL711mUI6u_mW8IC@Kb5|+-3{&BO?olZm9_$aM3Hd{ z#kR7n$`yYxlZ|oy-poVz_GxbVqm-wljdu3EEPdN|>#RsI%gJ?#J@tTo}`x2qJF?{Ow`c6mx^BzlYCwOa<(P3xa z49TCt=&=i*hF+Suj<4#Zq8<@W#?0I8`ocn*aTO{mvhHDB27;q^7tnO~w!c(5qR~nq&)699q{*BWoN5ezcB} zp8y6xVGF%ZMG$yon1KTBqHIZ@CIE`s#Ky?mp~qeLVBv>gr;>Cp0RDj0L%{480RGOr zFnM1z6a2QbFpx&FO(*GD6+?8}3aI?>0iT`!UZc2(E@Ra)(0Uf(4gAb$00Nan&FhaU zZbmr9Fm17Fo8Os>mGdA(f-O8OeBEfCY$I3n=oSj}&Y3cvmj{z|w;b8(@f`_p8{nl= zNCx1bx{Q&l;L0X+uz9r)1pypbMb!-W2%K+JYZb|Hhvj729WM5a!*Z6ks$cOfMjh#H8R^aEPq;lD zPd=-qM(R-70_ZXeOTs`ZQFRM?)h0)RDS=rB;eD0x5DsZ~zdX72c_m6>!ItG6xLU#^ zK;epusNiUCde}7~kx|9tZ{`j^pN-|tom07DTXMtq@o(|>!ZL_Z#KRUDCDFs(K`-$N z8POZd;TXL2D59_#EKFq8;DrFfaTiPECJW}T6Zp@jvG zwMb$=Sx{6pXXSzo!k!g68McJe()f zUX1i5`&&%+5j5wBCT$;C0~gd){d-ED^1@xA`AbD*fCW^h4!;^dCs8}~ku9RZz1P+b zkoWPIH0v-;L)1I9mpWtObO?vV4Oh^flIIyd|ivl%usl zzv|8rGdQG}DSwszl*QoHVFy=KHVE|?^}o9?e?~rDe(kfbkq%jVsVH>zO-sac0?bfq z|Gpko)-4`y(iygu8AP+|mXcX>|IqkQJV7AXV2nda{L+|8o!j1^n`WSLsh)p+;+%I+ z8Gxk?sy#;HI#J-q%n|ywKbHc2#7ZNWcIMeYO+XQ(sb;SqB zK(Y_yMe?MYO5@rDkY1Bj6h+h^OvQ!1)D%v`rb+XJjTM#M3+ge%%)?XvgYle#0ubGPJ5CrId#}7~3Si$=IPqJtY@HaQ9{H}~#c<_?M{AnR4gIU{Zd62H221EO#w-CKp5X(7bg*IA+_ z_|C6F+w+RM9zQp2Xd_Sy7O%WmO7|06;y$A`_!M0q5NkM682^XCT)7es-;7V1dnBmmR zrnm_7r|7T01lGS}-Re=&bPAdZmz*D_QY@FbT^_iQDSFzD&wgg>@-1tPt$Q?qeBtc(`F zxx0fT#X!9DS>NJjjjybu86mbqDc32MN^AI1hT%5P8mxv7p|hZZx{3(LLmKgy%)3$T zIzz7NN760-Ymc(YhR~nsfVv88=BeQmj(oi!WIY`2-#?^@o>BafdRx7)_n(;ajd%`t zhwfWItpZ2a-cJT1JB_%tHgC5{N|gDZ`FETuL`;)Vz7XkH(o$i(<=1nE^9LN3>l+|% zJN+bqe5j-AU{DH7t%Ae9d_)0bJEx(QO% z@+d&sBl}-4ua!&$;wc|GGr#Avav@aKN&otG)0LjxvJtv|P)nk`(iEEYt1{59S6_iw zQg@gi($k|#kfR6dZ!#Bat~;{X*6H}-{JaNg6?iCMGyWy%hR*#zr{kMfpuPBOj{Xnb c>pp%LDZDBqXkx+j24lg@ezrPWYU~pIpO;WmQUCw| literal 0 HcmV?d00001 -- 2.11.0