From ac2070a5cb070136f5f3dee01fa39387294a0efc Mon Sep 17 00:00:00 2001 From: Albert Zuendorf <zuendorf@cs.uni-kassel.de> Date: Sun, 3 Jun 2018 21:31:37 +0200 Subject: [PATCH] first running solution, almost as good as the simple solver (: --- .gitignore | 1 + README.md | 3 +- jastadd-mquat-benchmark/build.gradle | 3 +- .../inf/st/mquat/benchmark/SolverFactory.java | 8 +- .../src/main/resources/scenarios.json | 21 +- jastadd-mquat-solver-emfer/libs/libEMFER.jar | Bin 8089304 -> 8097501 bytes .../src/main/java/uniks/EMFeRSolver.java | 333 ++++++------- .../src/main/java/uniks/EMFeRTrafos.java | 445 +++++++++++++++++- .../inf/st/mquat/solving/EMFeRSolverTest.java | 3 +- .../st/mquat/solving/SimpleSolverTest.java | 2 +- settings.gradle | 3 +- 11 files changed, 640 insertions(+), 182 deletions(-) diff --git a/.gitignore b/.gitignore index bde6c8e..dc2f2ae 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,4 @@ hs_err_pid* .settings/ .classpath .project +results/ diff --git a/README.md b/README.md index 1cf35c2..2e2f6da 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,8 @@ The following steps need to be completed: 1. Add an include of your project to `settings.gradle` 1. Optional step: Create a test case by extending the [`HandwrittenTestSuite`](https://git-st.inf.tu-dresden.de/stgroup/ttc18/blob/master/jastadd-mquat-solver/src/test/java/de/tudresden/inf/st/mquat/solving/HandwrittenTestSuite.java) 1. Add a compile dependency to your project in `build.gradle` of the project `jastadd-mquat-benchmark` -1. Update [`de.tudresden.inf.st.mquat.benchmark.SolverFactory.createAvailableSolversIfNeeded`](https://git-st.inf.tu-dresden.de/stgroup/ttc18/blob/master/jastadd-mquat-benchmark/src/main/java/de/tudresden/inf/st/mquat/benchmark/SolverFactory.java#L22) to create a new instance of your solver +1. Update [`de.tudresden.inf.st.mquat.benchmark.SolverFactory.createAvailableSolversIfNeeded`] + (https://git-st.inf.tu-dresden.de/stgroup/ttc18/blob/master/jastadd-mquat-benchmark/src/main/java/de/tudresden/inf/st/mquat/benchmark/SolverFactory.java#L22) to create a new instance of your solver 1. Add the name of your solver to the benchmark settings - Use `jastadd-mquat-benchmark/src/main/resources/scenarios.json` for the Gradle task `benchmarkFull` - Use `jastadd-mquat-benchmark/src/main/resources/local-benchmark-settings.json` for the Gralde task `benchmarkCustom` (see [Custom Benchmark](#custom-benchmark) for details) diff --git a/jastadd-mquat-benchmark/build.gradle b/jastadd-mquat-benchmark/build.gradle index eaafbc0..f9da75c 100644 --- a/jastadd-mquat-benchmark/build.gradle +++ b/jastadd-mquat-benchmark/build.gradle @@ -11,6 +11,7 @@ dependencies { compile project(':jastadd-mquat-base') compile project(':jastadd-mquat-solver') compile project(':jastadd-mquat-solver-ilp') + compile project(':jastadd-mquat-solver-emfer') compile project(':jastadd-mquat-solver-simple') compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.8.1' compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.10.0' @@ -30,7 +31,7 @@ task benchmarkFull(type: JavaExec, dependsOn: assemble) { classpath = sourceSets.test.runtimeClasspath main = 'de.tudresden.inf.st.mquat.benchmark.FullBenchmarkMain' systemProperty "java.library.path", project.glpkPath -// jvmArgs("-Xmx=4096m") + // jvmArgs("-Xmx=2g") if (project.hasProperty("scenario")) { args(scenario.split(',')) } diff --git a/jastadd-mquat-benchmark/src/main/java/de/tudresden/inf/st/mquat/benchmark/SolverFactory.java b/jastadd-mquat-benchmark/src/main/java/de/tudresden/inf/st/mquat/benchmark/SolverFactory.java index 3a28cd5..4afb9e4 100644 --- a/jastadd-mquat-benchmark/src/main/java/de/tudresden/inf/st/mquat/benchmark/SolverFactory.java +++ b/jastadd-mquat-benchmark/src/main/java/de/tudresden/inf/st/mquat/benchmark/SolverFactory.java @@ -4,6 +4,7 @@ import de.tudresden.inf.st.mquat.solving.BenchmarkableSolver; import de.tudresden.inf.st.mquat.solving.ilp.ILPDirectSolver; import de.tudresden.inf.st.mquat.solving.ilp.ILPExternalSolver; import de.tudresden.inf.st.mquat.solving.simple.SimpleSolver; +import uniks.EMFeRSolver; import java.util.Map; import java.util.function.Function; @@ -22,9 +23,10 @@ public class SolverFactory { private static Map<String, BenchmarkableSolver> createAvailableSolversIfNeeded() { if (availableSolvers == null) { availableSolvers = Stream.of( - new ILPExternalSolver(), - new ILPDirectSolver(), - new SimpleSolver() + new EMFeRSolver(), + // new ILPExternalSolver(), + new ILPDirectSolver(), + new SimpleSolver() ).collect(Collectors.toMap(BenchmarkableSolver::getName, Function.identity())); } return availableSolvers; diff --git a/jastadd-mquat-benchmark/src/main/resources/scenarios.json b/jastadd-mquat-benchmark/src/main/resources/scenarios.json index 42a8d7b..d68e08f 100644 --- a/jastadd-mquat-benchmark/src/main/resources/scenarios.json +++ b/jastadd-mquat-benchmark/src/main/resources/scenarios.json @@ -2,11 +2,12 @@ "path": "results", "logLevel": "info", "solvers": [ - "ilp-direct" + "ilp-direct", // "ilp-external", -// "simple" + "emfer", + "simple" ], - "timeoutValue": 15, + "timeoutValue": 2, "timeoutUnit": "MINUTES", "seed": 0, // "repetitions": 10, @@ -17,12 +18,12 @@ { "id": 3, "name": "small-complex-sw", "variants": 2, "requests": 1, "depth": 5, "resources": 1.5 }, { "id": 4, "name": "medium", "variants": 10, "requests": 15, "depth": 2, "resources": 1.5 }, { "id": 5, "name": "medium-many-hw", "variants": 10, "requests": 15, "depth": 2, "resources": 5 }, - { "id": 6, "name": "medium-complex-sw", "variants": 5, "requests": 10, "depth": 5, "resources": 1.5 }, - { "id": 7, "name": "large", "variants": 20, "requests": 20, "depth": 2, "resources": 1.5 }, - { "id": 8, "name": "large-many-hw", "variants": 20, "requests": 20, "depth": 2, "resources": 5 }, - { "id": 9, "name": "large-complex-sw", "variants": 10, "requests": 20, "depth": 5, "resources": 1.5 }, - { "id": 10, "name": "huge", "variants": 50, "requests": 50, "depth": 2, "resources": 1.5 }, - { "id": 11, "name": "huge-many-hw", "variants": 50, "requests": 50, "depth": 2, "resources": 5 }, - { "id": 12, "name": "huge-complex-sw", "variants": 20, "requests": 50, "depth": 5, "resources": 1.5 } + { "id": 6, "name": "medium-complex-sw", "variants": 5, "requests": 10, "depth": 5, "resources": 1.5 } +// { "id": 7, "name": "large", "variants": 20, "requests": 20, "depth": 2, "resources": 1.5 }, +// { "id": 8, "name": "large-many-hw", "variants": 20, "requests": 20, "depth": 2, "resources": 5 }, +// { "id": 9, "name": "large-complex-sw", "variants": 10, "requests": 20, "depth": 5, "resources": 1.5 }, +// { "id": 10, "name": "huge", "variants": 50, "requests": 50, "depth": 2, "resources": 1.5 }, +// { "id": 11, "name": "huge-many-hw", "variants": 50, "requests": 50, "depth": 2, "resources": 5 }, +// { "id": 12, "name": "huge-complex-sw", "variants": 20, "requests": 50, "depth": 5, "resources": 1.5 } ] } diff --git a/jastadd-mquat-solver-emfer/libs/libEMFER.jar b/jastadd-mquat-solver-emfer/libs/libEMFER.jar index b4797b38d2a2fe903daeac6180408e3ab95512b1..2e9952b882ea7f4b4d91fac33d51afec05e4a234 100644 GIT binary patch delta 47023 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Ⓢz z3BBhQ*!DiJGqc+k{#mt><EyvA&L!o`8FKgSncZvG_uovpy<;Q0;Z3EK+ex!InCkCp z
dF@O5iY~C61=93dP>AaIrN{sX0B6FF0-TO!3>q8H6NHO0j)v~>tZ$9s}{j=qA zXPMtSm`ltR|MKvi)!s|$)vtf8l;(6}mPk3O@V{nps#uHsc7f%K<M)~=`hK&JIJ<oQ zd-2CFTNwU?wZ<%3sgxzcuk_3K$9qO49<`LS^+8Y5Pn0yyU9$a|IL8joL#8MFZfQ(A zee=co-xq5(_AFhP<-^=^XYGFFo9vv5t)6}?^SVDoK9V}~{IUP!+ZR&|)f4}&;p%>} zQk3VVo~wn8g^J5<?<Cig&)z;0FD}mBSrj4f-hA|L&K4QJ_v+k2*R4ZiY$DS+qgght zI$F47TKdBJjGZ&|o_F7@_~g0$gN5_T<+`eARpzsJZ!B+-dOB(Kn$<P+g{e=k`z>C( ziT~==sr~v3*Vo*CW$?#NWZLnMIlZ!MyK8SdN%`f!pH#7G(~+>E(~l(Y->da|6xg*& zaUN%7d`7g*<d^M%Lg)4Gm-~qyp0xSb`txUANh;db{t|FHo%XH%{=WTZ^n|Xu<mC(7 z9zXT|aQlH$h4XJOe!u*r^xvCTmbOySO7r>u&*^I~4GB%L*LPBnVGU$i^zBO3cjsIW zK~J5{7w^p2tKG3;Lz4e~=f@Rs2eJbX`3N7n$>w#XNz>i9ImK4+xp8Q&8((p>=A4(- z^EaKl;;=-q`1F&hkFFY5=GFT-2U|}LakGzQ*eNzu^*)RE-f3K2l4h&!f9w_tRcTxF z=TQlhg7H7CT8+j`HL-d9FFLrE+WwQCeB@xztle7jpE`HW5P5j#tjEN257i&3yxx4O zf6^X~!>>M1`nOB%v(nkvsp7_h79B+gS6^3{FFkLTFCS~l6mLH^u?iix376-))Td6E z-d$25+QED3Z06;VO@7Po-JH&CJL}G-B~9I5*R`3>@&79n5+mK~q<>0G(Aeu-yRH9e z?T=2}Wty5!U*FmEoZy?XOquhMM$Ctk{a!4!vA&%Gr}~~NI+ZOj5%d&rS8VdH3sK7G zG*NY0F@0V;$IZq|E-H>PtsHhg4f|#mDb(vfSg?}!h2@hI?Y@n3p7qae`mg`sz{;Lw zhb9I$?E2}P9>N<qCEUOKh6uM&m5B1{N$qErFhs}e@+6$B)><r>KA~gXp=KwArwSsw z0+zMSz1Wg*B52OGhkH)e&UaLq^XB4A|F0`T4xOot7caB)Kel0cv6<4rjqCLt>WU|Z zOt>d;tA5g^-JP@YPNqvUtGA@Qd*OEJ^Ng@Xlk=XjDX#umP<uV)j+0NJ!2aio2EYF^ z=Ecmnxl?Rd*|+@lm1S|<dv9GlvgZ5D+AF0w>G@K#w{1SgT6;UPcw=ewj^%If^(Aen z5SY3<yz>5+=MuJ6Q%gO$c{Y5!c|SaP$Lu^mU6nlw0bk{=)|af5>N#z)YE^;nLe`g+ zjyX}j)-Bbm<fXNe<2HTNirnh!l*2JQoxgVZYAKG;sVnp}Qh#Om@$lH6&4^Al-JucJ z`09~T$_|mKKGUqN1Z+58Nd=i&JP}Gw6`A$=YYyAeOTP2jJ{Q%_Z(VbwNVPQTgv}HG zd!^xt)vBj2Sgm4S>{)-)Xxr><%%U5Ahj4ptI~F6(pS(NE`h&pk@U0ao-g`?w8f@FW zjhTPr@6c}dZI7bF`^%PB)_z|jHe>qiS6gLQMd|d-c;~&n&a63LrCdOBW}$S3qHtlA zf3#ETm8V_LK9?^pGM<+!ueIAFltH7byL6+0>D+n#D@1Kqc*z)D-M34@Xp2wNl-hZx zeiUE&eC4GL<7pxDr04aZit|Kk^fwN628IYnc*TjRH)W^movh@Ue(rcBd%dssVF!V> z^w;jUT(YlRtNN(1MO^$~bAX_$634<O#`lJOiP>hi)6D-_@c(0|pJI_I7Np(Op89=e z<@Z!OyZ!g<86NQP$z~WzOxam+_0EhZU*@o1kLos=K0})Qn&gkmKXji(&RPEFUuGAl ztGT4iN~NbWQj(TUTwJqoyVeButu2oA=B}R`J_~J~c|=I^OWWcNg<U?1pGthJ_AYwO zUw_)IpU1{%Phe5lYMZ~!8s+Ngk&~m9PWfIjHrv^@N@;eUX>+nx(bkPFo-2#uq$Yk; z5V;j_b#BMMBg=G7Jb7hbuXo7a&1Rp<?rnjk%X#j2Om%JAuB4n@?^zM#+sbx6q4ykH zuE+VMPc1IAWqHaLh;L7?JpF0g({)c}Pw#sgdqa79ZBe#k|Bm>lnnfErc=mz&`3h?o zytEk^7&MrW!<B!+&gp_DEA{Fl?&se&6R7(hUs!zc7GK(`*Ow<~xb0Gu;L5ps;oC(A z$J6SqysoQMM9n!q?eAZrGjq~o`CeI-x(%+M-#z~L?zhIIizhw#{T9VJPR^dCIHf5z zJIUwM?f2<><xX?2<nfp)=wqR6B6KEr(g~aCO;g$mi+-A4PTQ=h7NofIPx&`q;rev3 zpC1+erP{Pfrup=E_h#8l=j=HyeEqAOh!~eCmox8VrWCGcT#D0+pD5T0@Fbm4|Cm$s zGcJ2t=N+lz7juN%zrAP7baOC#|LFI=L;YWlE?PFJcxQrAv&c%#w>um}oAkKNW#`PV z`n{s4!~0!5W70Xba`8ExuMLt_IG%^LJrl04(+`~8Z{l9SsDJyxzYh!V9iPbhOY($$ zYMe>Mx<ZZ{?Ry^Z&d8Qw`gZZ!a>n9b=L2E7Z$CDbu^aZSTD0RicdstnWc_!)_jldm zGm}WQ_#`(k^q;14W7n-o;Z+*xb5swsI8MF9qFBKCCsAj!iB9I--LG$UR;JxP&spQ- zt+LQIyFOn-f8(-(v$xFnvu-h&x^0ZioS@Tawra^M-B-)`y;~JT`%XU0$ezO8#<=Y0 z0f$2qSH({cxOVYUyyDY8Vqd1}{Ji6qaCG?}9gQ=A>RqC7GtW(%pmu8oXGZgnn)|Jv zUf!HAH}~T;=ATCUFX`6u+D9u->~)%KJM)8SOD4mrr^lRb)bIOT=e6@#-Cgm3qkjc= z&d;jJSY2na$vduFdj3Tlm!9M`s`ma1aznLNEc$8WCBEpuQOBpR)Y78$@>OOZZvMK~ zDdO}izoV?$PbZ&RyH{y{!P;D>)4^(a!~@no77&xWV;0<JYZkNws{bZzJb~8GXAL zvV2OvXvl`>iXg|W<*NGiF#*!evBDvHKU=v3@E#Ln*?P!o)`D%hdh?wFs>PO1?WtwC zs`)gTRrJk_`5^&s=l<jtzj7?$I!ow$J3hgX=0X<7wHx}>R^+m;c`k5e-qB3eWO>I@ zub&Z)Tl;!?mxwHzw(OAH3yaIk`mWq%*<q$~N$$s;g_Fa0%(t^1`gZA#d|>^YyUBUx z_olD77;8BBxQ8Lb+ZBb<&3|G;WFGh|sGYuH-7)5nO{s+ubt?om?K)!hK3+0-j@!kg zjT!HbFFBQS=+cY3x3|Avv_Ig_W5)ENx@x<M!)I^4&i~RT<mc+9rTHh&$j<%iFW<Ct z31Q0$-YwmE`I=v~)*9P|u8HZ!CgDDl-_<wfgnak=y{+lK_p^70mi-O9p1JidkL`?F z?nS2!qrTm>d$PT1bz9xE$%ob|^INP5>phTYC3@|O-*Nw{=SP>!-)H>wnY2iZ<jy&D zOAqe7Y<Xqk7D*G)l_3T`GZ)B|Jvy{C_Nrg>iNz~-Y`$#Z=$fOZaHg?T$t`T^me1Rh z@A)4MYBM~Sd$ru`#`9j08{ezG3%EY44SNqRj?bjBW%9BxFtCat7aO2%jNI-@rRg?D zD*5Vza=n=x1?sk)3BK%8y?M)a|CiJI7VtX?c4%-UHD3B&dVAg0-O)R(o9n{9sQ$XZ z|H9pM^Yx3}4-TGtbH?WUnX_+dYWD4Awm90@%G!47N;v;QS=UET&d5pKe5iEk;N(`3 z!>?x87u|lkFFC&VSdfd@C7x=lf*j2lQ_iKjd#!i9cBsGgw&mo6sdxV++<3G77LWDb zO3`zYM&eVBhF?@YoV2&_@Pw?F(KDSHUAeV++Us|on!V${P|3-O$F;nU7)MHEeLeQ4 zDAHif(?rF?0dF+pzb(J#!RBmNr0TqLIcs@-#e$x>7Trn{Y$m;JEL%SDlHK8NKCSZw zN`t*FoHYpPd+#~_U;PTJ?*F_(izgUFeUIW?wcWJ)AD_Uc7bi5{J)70d{_ce3UbR4_ zCu~(x95(}(^<TR0C^OrAY5J0xmm?Q#&TVt@-sob~EmJw|q?J;x-D}aG;#20o+|^Jz z>7~Vn*4`V*-%=*)EY_ZK>V<4ba_nKf#Ej&mC;!AjHKm8ut5-#g3=D!bC`CFbZrt}l z;)bI>E3qtb@07E7%?3Qj-`lj7zY62LkT?0*s?bpNuR*@q@d_-?o1L13Hm{xa?VUH% z->BP%SFMt1xKW?;KWEa8`}_;!*-amNhbfo@>G--Fc`q;5>=3f`5{s9(;HRJ~Y|3kj zey=ledn|s;^X1g5NA0*&%o8~@#hluD9c9zHoF(|?)MxK=@VMmo-BV~e^NFc!o1S^4 zM!5NzD6ZK0OF&X8;ee^pro1Jsr}jum#y5l*rL0uUb!OC`X}I8%ePfNH#^z?DdA#oo z-HOZWb06+q;Lv&N+1Xp$OfoesI6PMr9~0cOZ!yCkrP)Ug>=Hg$&cLuw@>|xz-U+Uq zOP25^b$CiI);6!tx9_t0c=B29-gcLJ+oLxdA9=Si{zZz_Z2sko4Q<|Dy!~_9#dSrG zc$~O)?cJPwx4F_eYfDM<#2=hmweGj;yD#-En4VxNaX#ecgaD(?x2wt-jowb4H}P|Z zzuB#K_iwE^zgSjEnJaSPlI&0OPF2mRSRH4aulqc(U(BmukJ`tLJ;&=aqo2;&5<7QU z$?SsKcQcojxyz<aShvP`26x_hzK`)Q{ocQPx1otCv;3`Ly+U94_TmrRps1BgR{XS@ zk%8epD_XAeVL$?s3=9mVd70V8`XwdFh8Fs+&Kdcc$*FqDIf=!^r4vs3F&WlNwE721 z$msQLpSnrj%uGekBSx}WTe(x^-SKDJ#nPjUbZzEv%N=Mp`e!_Y!BFqk<;iunx#zEc ze=c=^*H77m<=nJuH5HOgQoT=~{JSgZD#*t=sdC$?lzEZ5%hwkNDLQ#4Jn+)>e46&q zGw9>7?C?o*as(RZEh~7w_u@8%)BlWQ>+Rm%-EenL>aF*e!(Z<I@WEB#*@yH`{*jJM z&*$u^eWWwxSXN)pU%ujr|6ErsC@YXY{^yLYw=2I|`o7=M2TDu3>a`0FEIwIkx^p5& zZpc{~#dTYo^VZsa$+lf*^O^HJ@0>s2!Is3|n<AbuFfe2?q6b$!QgAUy;0P~J9yuEp z?SI=qr0)EB3+<%68NHJJ!oJ!!T9(<qQF<VlSu|<#l?OLwzP+G$q<;QmmE0%~O)dV@ z&dJA*-``ntztGoBncwZm>C6)E;1;J1(Ql=NYyX&hw3+ras9th{)>p$vI@ez$PrI=( z<i-5|JoyGj*Lo}jIPUcx7f3pFWXFXS$2RsP*vy;ioxZ>zd_|x{)(jB^VT0lppJOK+ ztrT9c&p6vuQ1&lXFS3P^Go5kc{9pfsWL@`kzP(oT{OKtrHE=_xm1U*o8vg}cj^dRw zxsIuyn-?P8)U?~&q5i<lHxH*67v9!ujBhWRu*mZAtffkuB^@N6XT3_Q;puR_A^Mu> zEB~y8%$t%m)TIp=S0-s6UoLfh#>e%i?#GL!s>bo!N?2uwhnRZ>E?8vty6dsh6CEZs zo>eVw9AC{2>^~+J=6rU=_Xjt1WLAEYJji;>it8=M?!|i!wC!!%P^K$Ye@^Eir<RD| zFH@i8Hmk1gk*r<4v@v9g$+p^Dk-bk@W{A}?3%akeyW&tbJ2g)6=^wc-F=95`{;hpB z<#dBnk5!OPd6Q0VZM~#+WZUJ1*4xWg#bjD(U6###d`z%<!R<#<bJia_yzM66pZ|FW zb-rKATA`-vI7Qy$XO?A)>0JJ{ZQJXwPbuhpW-0mRs>S;7Q)W&@t1`mc!;h&IY-Bf< zetIM9sP)OD7b%;%9(vlwzgctj;f6QbSv^UKiT5_GzjkiHwC?{KSMN%yy%hXa(R#-g zHl^B9ebd|5rB~khwfsP){=%5#{Mkxc`!`s<yT4-ouKzZ1`h9<+GtI4Tx!zdXeQoFK z7xU_Ei*6rE{TrZ|QW`$<+p}X&)LV4Kx}Tb!i0jNb#A#_~Wu+D$SX17xu;=~qzu)ip z@a4ad{c0(?GXCj@oe4H>r9bRUg*m!emaSW$e=F)@40rbX%Qo9@@~o>ili%@<cQ$|8 zxh?nCy)Q`3%6EQcdHdVKXVQ_CTdmiw-u2z9e|4*8y_WdW?Qd+~3vy)YN!+ss6)ocD z%}?BCVqi$)Ldz@DOU_j4)gSa?HWX-6-?}UJ>eepXDv?{=jvo|4T=-vS1{NIrEp=?d zEMJqEKMLe(805X?ylpyK^-*BbnLnS;pa1^z>pw<@^nwYF{s&YnKg+02w6dM<`ZQPR zaV%Rc<73yqVcyZ!y6@%0S7<crGP>Jkbe@_uy+dfWdfo4aO)pfKih4`>*K^h@-@V4m zWijX6sj0!P2Q6&VV`DD+E~`)7+<xwZmD}Rj=DtM@$!0P93u`V{s9Wxt>YAzau`Tha zvFXwS&%*!D+^JE2FhX~3{HD7NHPgKgtoWp<vBz-Q+RyS?>bZ4pDhbW!)q>v{ALC)W z@JQxRMrHnCzVh;&x0~nuug;yX{WvxCznnBEj8@ovo59G)z_0+NJTaNDbNZIEl{)od zv7n-&_Wb%C%p2=6N+m!=#f+9^p1*}YL~vT3^ff4bbEfQtz^nTCZ?`DsW^yO-pLU*o z<oNTr`^D?#ZU9xPY^uJ?Ox#zn%+5;k`SkI!0Y^ljSE|FRISGd%S58crIMGF{Rb+`# z&*biWpV@B%e3m#BeKg*8_{c#gdHzM^_05b&W*8f;Fj?iOB`m>nEboPk$TV0diS3!# z!U>v16XtPP35q?|kc*G;jI#_8Irdm%i@x=ehwc;CZT`LS((#?!=FEH&b8f~7MdvIn zY0(u<7eZf(HNRYWy!~s-ibwzC6&~gMsW>)s#<th4vr_nqO{V|Y?UY-0f$5;??uvT0 z?}yZ_`klN#7ab~I8>z<?E%uf(`h0dxU_|<>cjrykb$G42`+j{?uKVpHFTUB_n||~D zQ;mSY=+;{bp=TnQd?Z37eFbK9Hq`g%Zf$Elbuc+$`jgge;qrPH!@@H3AK5+?)f0{F z+7UHtX`e%Hpw2p;Nvs#cE?-&v^wYc7hYUPg>nCrM&2?@KlSqgv;Zc!U`D??1O~PyC zMS{-BJKR6jwcL#Pwd>PxM@84U8ezYzEOZoow<S)#AZGq+qw&+zo0nSc{uImhNl5;c z=;_k+Iv!8<nmuvV+mSih<nrr#n_0?oN+txZ`<P&PZBu8p;I92vR%^C7ZcqPRe^fF& zW8UVYx1(Rze|>gyX@IAwu9)R67S?n3RIXM<mW6(b+axmY>NdZ`#mlO9=ceAznB|+8 zc2_$mzIgY1{m-S<ORC#kZtW|#=3m>JFXz?ryre2={{O?<V(-7c_W7@Tbb0)_Ctvs8 zTom*AY^>NP^^z+=X*{cspG-^Mw=l9SN3^?}OY!yM+LD57pUQfvw#_%!{LI=AFR(2p zvZAP_MySs5<6YrnMzs>9_lk{eb}jxsr9i7F$o$aru8$&DFaEy6qqxpU;wRtT?yaZi zarEE%UHkYW->ZkwJn_vjLgrga!}`~#&QOz9o!{Z3^&-tDfUmkTG3$HdWzlE%Tx|S~ z9J!$?95pR$!a7z#<=0EgEUNX6)hLPSm2OzRG4Z*obOpCOOEJgc<-ztpz>Sx~rqid3 zF*7h&VU#e6J1S+T*Wak*n%;MzQm8&Gx?DI^<lnLupGkZQt<$1g1G;>p6^jHfEQs(r z;Gl8gN|xw_mtRa|XPjv{$#PKoLvYR4m7g5M%XFWfWUrrc`u&`lYMFXR*G)BkzUlk+ z_toF$*Z=<^d?0eqg^SA{X58H>e{GXv!rWaGwrYo}TdQvm_tpOJXE|%!i;hf*&wq-- zBI^5M*LJR1p;P?+r&7v^e5JnZ8~3|zaxGU(+g-LG(ZV?Hjq4QUt6R3KOnPygPu9)< z;m_O4zFyGjz8D#}ExYmml>>fnE=|xlGv(Q`v}K>Aj&=W^Y&!iw9`9eT<&(XZ*LB@b zPS9toj2Cm<mw5Q5&&S4}H_lisi#|7v>3-Sio%5Q^dg{HB<oRCQSg&|_?xt5)PH&ri z_VnT0t<#^$Trs%Fylb-J^hFaAncqL!(3aa5e$C*<s@H3evLE6qdi+^4!$aDlOOW?t zw~@;HNs7jH>ytwc&r@^%*QvUy@$F8jGSS@dGgq{`56w3gmtB~+;6>yz<NROSY}}{s zZW7&S`GkFYS4ohGYCVtGZVt7xeL)8@?wYLja^bo?A+3u=yUh3S#z)bgr*jmZ7Eg0{ ztCw1JH1n2W_SSoeJu%n&FI%jB%wt@kEyFDTNT&ASmcaDtn__hjyFL{<TK#Wo?Ehe> z>2&my>iL!Jeij$PBzu?7d9pj>fv`c?ZsmQNNz?Ck6+{NN-?E(D-}SxTm^pZdPr2Kk z%i8mDFRK5(_482s96l|ZOFW(j3teuOEc;Uwn`EZ6<gu3HE$v4|cgv==%s=p4XZ}vn ziQASaUrN?|QW(4JUhlRicQlq%zI;5JEv>-2*^mF+4AHEe)1%4+yf;|0r3EJSoXrZ| z;VtD?qI+KM*T#4I7rZ`psZ956m1F%aAA2*|YRxNQt-hyzTsjaQG}q-p>m5y>$5yFa zqH(<K+x@g<zk6JsxU%=gDHGp^>(0DhlJU%Gm+?;XjRNHpL*}}iJ<)z*naexzwKt6} zu~r*PU%ctiW_|L|AC8IBRX6FG6}>DFzoJ&Dr^6Y#AdvZ;A=jetsoUQ)%dH9&&fCzN zQh)E-?UnoQ=Zcvs1hM4Et?O8&uOr45{Ng~)UEVicGqz`&MW35;`ijBQ>yob)P7BHU zv|+#fAz^0!kIg-a#Z09y>!g1LW}IC8d)khy)8{O2+}q*j<tWwD^qMPPb<&EL6>j?Z zxfY*GlGkiJccbLT?Q;|7I|x~YYn`~v{iTq-XP-+}{e!vJC0-ns&e?DH(Y(xO&Ap1w zg`MFRTljJldELWApUUwaPIj?A_t){rPPwNoQU@8_ej2qo_9RP8uISfycDe64%P^%v zYRR2Kp91rf^8eq@xLoL?uAv^V<eX&P(g|;cvn&3W=lz;8M`Zs2%OeGG52X|Z{T`_7 zm)i70f$7K8?UU-ioqLi!=h6r1?NcQGebwx3RK65<tF&&ax1Zkhu<M3<H}w5EbYQEg z$cgAHAGo%&KijeA&>tzWe@ej_UnUei7P++M-{T!l&7VRZL>*4x>KB>3d;Le=(8+Aa z1-*|a8P2=$MY&Xea$M1pYlYMG_QlVM$u+K;woq$p!g8fIEdKW&SwF4U=WF(}nOqU3 ze$Te(-uuSwEDJwaC|G@**17#s=XNK*-R$#v*}2{;&f$1pB66Q)Zd_%vyYH4AyVh@Q zF&9)+t$cmqd*i1J+eNi&;v_s=xsSv>`dzjqoolWC-@1_3{y!pLp0I0*|6nuk4|vtu z=>^iKAF?noaB#!gUF@KPC_%mTx6dn;roT+A7OmflXj*(}-4Y!9Hg{3O3a@Rhx1wB5 zf1YBseP#RWkUnM~;s3JMep1$&ujLx{{CHgVW6tYj>%|8TG#@;1`{)xpKS3_P_n#fS zKK=A|*lun1&E{%~latyd2F}I1Wti`*3$+)PXbBd3{_{u2<(jY3oi@)(lMQ5|gAQ{Y zs$Xw7apn)<zwF0kwS!JI2k_^esuNE9EW6@mU?jhVy(C{^>#5R+CmL;@ZV489t}NqZ z?`7D2B2_2zm|}GE9fh3DERu89>uF~^Uwk!ngMXXN%O$(KCNAz!RZHXV5?##Fu}(wB zRHa+x!Q>Fjq75_6J?=2PU(e2<D*lx>K`UVGr0Mkr!ZF8LCvPxYr)%UW`Z0@9Dtmfh z=4Q{AofGr4vUbL`SOhc{Y5m<-rscTWUyEs3`1uv*I|FUzd}RIcZAZMf=8jOFqN(~F zY28m#%y^qcQez#3gLgm5`S|*s*{lB9rZ1)bd<#++KfrzLSMPMzpjxI>#R}<#Q@`9S zju!IX#Ashrue3w^X-nz)`)iw)K5P>@9kicQYWt_~1`E3~lc&<p)8B81N?Ka7Zd;G= z8q>JWXSJc1S~FKG>z8T7IsQ9VvF;ha28-_nrtrI|4yTlUKKsY4BQ5@1S=ap9j4kg@ z@x=y<T-<u!e#35+bAmE~ZQVcncc+@npL_Lp#x-7XN$oFXzqi%L@gMOQ>wa<jO}a(& zHe(-=X;WS|*Xtbr^4n%s+uI*6)fThNz40o`vY4;sPRE;#Q{s<EEHj+lvE{<)ccSmV zPxFd;cFX$hLG=tTv+nI#oTgW;S!XeyS2^-Qz<8F#|4p-O!#}^*>55|i%2!f;B<x__ ztve5YFX-N+)VEbLHT1>a@9y;(dzW23@n}MTOjhr~37eg?tJb+sPe}gn(dD)?SJwK< znI#KDcZN@q@}Azeu~tF!_namxy>B;CLmW%y?b%ny{rz4(ul2#X4woL(J?+|Cc8Bke zdc>E1N6*xre!YF8+E<>%fxja^#({h6PdhFjdcefM@CT)hzzoU_uttJxeRYjUxahyU zvdMQ_q&c`-+NYQ$Mw;E8#M&apxy6@RlUp%CsAGwZRixU<31{=Hti2m<E!z4u)OEFM zcmJv%8EZoobq`L7TIs)J-`e%7eq8%??bn~f^X<>?HQsD}^Gr^_<ooaLSw6q_e$MB) z#pmZ%f4uK+!<r!aPtZZqIaY5iZ`$Mfwuvzt)z<OyE`Jo8v?JD&PwQ`16AR-H$!Td{ z{_U9MlX*DObRFN<ix!JlKWpk0Rtq;cQ=DY=P$F%`+?gTgE*QP+)zws;of>iF8DH+J z*%E21&fZ*eZN6O4<+i;mqH-lqWO!b!<IB3~5@melFVC9xg+Zscy;!9*f3@$_WlOdw zKeDXf(dRSqK^0s4mPGaD{i>Ve*RmYe>C1fZBzg9<u-nDXdsp3C`eoUP*8$OLE0>gM z?NXbkn|RcUQ}~EYTc*(?H_1X(v4lhh{i4SULp`M={~8<@jd00Z)%oq*x@X^}_407v z+M{M3da!-9MONVP4OX|x94uEH3HI7$e=qYz)UN#}yXzgQYY+Pg-c9ObXiD1BviOpW z?$Z@U?z}QrA0(BS9xplAbYJ2^$IYX;!D1XwPw1~mh>*ygA=75Md8Lr{her%yRbrE4 z-5>I8jXy2bv@A5jS5kY!l?S5PA1^J-OnGb7XIjCTx;)<0?3s7LRPNT`hh96>`bs1G zQ=JQV1l7-MyT@FgbxC1{=OV2|U)Uz@ndN1&ShZoc#4FpL&ivC0R!rdKNz~sj6MS-e z+Lod_J-#7RR&7;Y*Hv{aB~Rz!jkG@96^Sz@PuYExDd*%8-dov`hRNFQyJr~2pMI}6 zJ@U3?oK{-smzS%mTtrh!i%JsNCz{St-gIrpgwn__7xPTmu5{Wi*;Rje!NaiBh`b{V zWrkNo^iv)vy)4_jaPNznJJ%Q9n-;v;ZMTt2MPmM{S-h+I@6A#4xYr%ce8b%}t}Bd> zbuZ7>OS2X}pXBBj9<=sIo?p18u6In1s<E^4%#t}ai{oy&J@r2JZLvPXr?q*fPA<~; zt=W39g}at9BZMoMHT;a<!ux67^_wm){I+t}EWcGL=_hXc)y+EFotqvXe(X-Y>e?LX zuu|7E(=B)OI*ar8i+fatnlT){-T22OJ5tf^)ox){VeRC+iJMf7P2Q{%ti2F>*>8FG zN=-A<#%GnTUhL+fPO0<Cr#wG&*e+d0v3-y8*;!)g)-8MoBvs1h8OZhSF8F7#r>p*P z-W})kB@SCeI!mqvq(r^myZJdwCGYX<k5;#4rS0Cx|K2KaSMax0)t2`f%rAv)7qecq z-7c!Ca#7-PhYI22v*&XB+$C~qd%>QoE6-f_5jZY+N>w-M-fc^{1DtIRVOzUW`fgV$ z@$Q@aI5z2>iJ|%K*zn(5oSptD9ItM%(RgZYRWIbYr$6d&Ln6=m-sA3WZc=Llq*5b9 z&YgOCI((L|eZ%+3p6Tm8{nqT@zhv$DFEFC2<8flm3@?u@`Lo~u4ZiS{BYo0=uJy~8 zKQ{{cCfFCfAzH>?{^<`1yS%BJV%xg+u1;%C(ui$uzq(ApPq@A+F_`PlaSOTQlDEzn zX}K%fypgPrTsU!hN%ZT>A$L{pot)&7B;;#*?SASUHKnf2GVBH#ZjWUwbGRPKw5}4F z)f7-W>9J<bDZZ;0J?DSq*?M8BzWSAwj{oe9_T1E%A<$@dcA}eF$N3A}4A%ImKAHdc zht0kO;Ri3CxZ84S$VmJTUMJis<R`v?`G=C}Z%*lr7y6qk+Ukp53UmbQJ5wmI`{;|+ zGRik(k6hQhv7~ev$4_%hKF*)pkMth13T*jfEz{omr&`57`g!Ms`uUGLBAx7??2w(w zQ0Jms)#RV{o&S;gl}&5d4gaUhlqVQ;#9x>fqE_)!yU)6HZTw}XyEYyzKeo%bPZV5y zzxWSh{gR#;b0_i5_VE+1SKaw<f5paYYeNgGcYa;=yk?{7b*rW8LWRGtwLJR0&n>an zZ?cQk+E+$Pwf3_A>0LKvY5cQJm*2A*thi3N&o2sD;1e_9MOKX3I`>c8z5a!DW-qK+ zx2<mZ>HC&T<~B-2*-oA}?ZWyW+TU&4E@WEfn$?DTd`z3Aqw*+tcKjl*%Lg9SM`XOy zcsBp&RKqg1uaC5K_9+?OmvlKAzJ_5(#~zkECHdDU`ZdxN{md^^?r6H(P_@Ow`A*AG z(+IcyQ!|!WE<0H~?c@^;Cv}5jk<-q_#|v{M&n^Bl<?EJhJpRpd9ef}DR1BHRe7jWa z`h51=kCt<|7e2Ol;dV_{+PTRt_sdN+@gw!eE<RNLscH0hvYz`1)&=dys$Zm*%ICT0 z3yJ&<<GHXmQNVh_!t2i-?s@%sgNXIg*LS~g9x|^^%x2J6_T@K=Z0u-oQFyxXcwqgi zj(5s@VyAS)W>|EuIr=(t+l8}2-N!e!XC=sZIv#Q`ymFUsMP#K$)}46)b=+E^Jf&wu zyLQd9uD?=naCMI173OsTmf>ZGj&}R++EjdD>fD0NGP%;P$xB$K+~>|ZBl;?Ub48K< ziqGo;+Pxh@D;#4>TCE<<suR|FF!f)0?83Zq-})UTzw~!H?Y(3AcjBX?=XWpr&v$)- zlJF&a%_ZV7e|KD-`oiPom;a|lU#-x#o;c~v2CncG;SZ*Y)nD=Io~y8R&F*u_jvs$X z9siY3_g8Fpu5sSi3y+_8ePQ{tJh|@TvgCb+d!n}FZ>-JyQ)T&~|KSYXo%&**Pg^D` za^5aJR9794$FKFq@j#TE+4SkBp9(5={?G|M5~ru~y|ekyn_aU7mD0tPPaIm2<{fx? z(T+)`3a64H4z4>GwT(x&evM$RPM>U!<+n|uFVeL;Z-rW%345$pru#1S`op?y#~e=- zc2CI5Y-jbnk!KuSW;}C=b6@WybHmv)BXmmsOWaf2f8SC4uEagvbDiI#j{6nQUZP%N z^o4PLzthiv@}5thPF#IlF(q&7@)_sltvtEr`)9c?E$gwHpRiDU#`-fMr~cO)+GuWl zzIN+;v)1`<r?Ir@wdh&#)SS$G;Iy%EeZ;NxJG1sDX3j6YT6g<W-SyDla}Iyyo*eVP zarWzp7nWY=mtFV&O3RO(2lktAKAJ9e<a6cL%YX9KBn3Es#+EP4`Ie-YT3|f&teDp9 zvNK7y4d&-Azx48m(KhMVH|6de`WDoArz^RBjX3`%m3b+@KgtAu^uKmIE7CstsL8a1 z<{WYFje=%J`Zn`ax4e8~a{5%zD$~_Rw3ep6k^93by`t@tYiOJOY2Tkr|Cl~99oxWE zfAqe#)_-Qu$Yx=k_Bwk`28MkSuwDqX6M{0aqz0ZSnf9WRf4Xf_wIFyB@oJQJ@oh7K zeZRvOoLm^>wrujYcE34G0#no;_W15xH0PwR^W+IfW~qfTl`Km6bANZm1O^SeDYvG{ z$fgL!=zNQ=+07tkSM}`;gRQky#Lt6M_aD&kU!<KBD7ELu<*s$%A3q*s{NridbtxzD zp+a96OZ1N_zWtYZqQ6bJq_eC3jHcZ?0hyzAim^_QMbFhpE%luKVCRPI-Z@RrEe?BL z&^)ovd+ys!XLOe`_B~X-Tm5aqgp7$Xk6Yxf?~~WP>|uPS;`!3Tyd949)~Wa3|7}=y zb62FpLd!?RJ#l}FDmwH&DtYl0H*G#_z<c50L+Ni>GZfmmjFWf%4zzMF>AYAf^{8HA z@2(o<t$VF@)g(_nRUnkNqH6a6&e_f~TyamQ7m6%s@U^@2HmT3~hc>G$%gcKq(`Lx> z?UPq%u@L*Q<v?J*`P;|uON1j23;y1GYLRq?Q`2$|abtz~@rzaZZ~DBy#CCK+ZIoig zt*nC@hc7fM$X84ec;$Rxt6@fi(S~UO9A^b;>pNcrt@`=TtZ&llz6sma_T+DKlh)n- zqUbF9)SEu5bc=2uJ>qCyHz#>@!P!^6vxELj`rhbhBopxED7&mCmxW5KbQj02&YF8J z5i?kV&c?JT?K)O6vyHWDd7x0>k$qKvZ!`Yd)YGK;DS498iNen&yVW*X3wQpp_?6}| zPo{+79z%ZpMH_F9{OdO19U@iFG<*$s7^k&ocj!(~zINBr$>3g@*B3os&X<~HdnJ8Z z^?rx!$dnEXEADu4w3xZZgYVqilY(p>=ckC3#pGL+xR?E(;d%d^S{F<3h16NcX0);w zGHChS%U<B?Q{b$!lB02cosia~1V?7$1p*&9XEiRcx#J>Uf9;ui_LQa?w}5?2MVw+x z`p$cjW^P~5&efrLU1<i-eulggha7w3Kir;k`Ox<51}uID#O5!mY)M{sgrCXBA<*!a zMqfph`e_sPPL<TcqRDZId67pB8N@}OXbfQrkux~(+G)myr-{0uuO2r{e5v|%u?zqF z>P7Xs>8@=P<Rq4Irq<68>GY1{-fnv8>Lm9yvnE;ZT0XIBO4Db7?|YlVYG-N(_`kn$ zpCe@T4E^lJ%#YVzBzvByJs9A2N!dh<k1grsmlG9X23Jq)$|&C0o@qE?k6CYu(cie; zOI=gGpH5}l^z@iReeOCQ-l(`mEcGirHMzEktv5Nn@g0wQD~r17G)LCk^=CPRHJ9h> zgtBcii1)2-D|US`eKqfq1@#iYuCPb_XBG_1ShM3|)`G<5rA}5Mx1_gh69~Uv^DI4l z)>50mmcRoA4jSxrpR`*yI3K*^FE;7n?Buh?J^K?^M!eh?(R!3?j;Qy(2h!;krE}eL zH}5-@sk@s!H2KIa26@x2owM&9Jf&FQ6rZ;vqDHJb(D>cb)~Rz}>FMg6uWOsSne(6d z@s?fxOxJDQvE1sL_O;I?PaK!9D!e@YzHv=uTVsh$-u(AzPp7>&wRv%;U+yVS=3Sc} z_b;s87+mty^R|om>}3fFQ*^dHlsX=)b?dy&N{v9_;QZ>ZCR_J=1Wx-Cu_i>&W?4q2 zi$%TH`fz^6{Ou1farEa($T8i^?`NLJ{k*fi;rnm7;GJym+b8|(SNxOQ|1!q;#>5NR zhPJb&=y~~no%T9)<=;Zj2*cMA)jU!!+wAZ0=r#Hp+|>KC-F@r%+CG=7f+Erp-=qbq zM7tMWnEzVcZTbsihELm-{m<^5JMBQo+iVs8`EQTv*9V%XwR;8HOnV+5`6OtoY|ELX zsaH0g_^Trlx_W7SbKoSUdb{+cu?mdZ9UG&96)YI<v^Hz4=reM9zcAv8QMY-f$f9Yp zCPto{I8W=9<<XTP<%wJ66koIdS=D;|k@K^)8qUR%^+6?{vz#MT<*K)t+wGlUmAu`C z>-6>14d1n-*jCiPF`n)FX1{(;zEyF1dReIROqOU<9^3OjAI!V??#gN{jmH~859V0S ztGwL#xGrF8*RI_n!rP>_u~vj~_pJW4wfTPB>5Q7PI(N}?H-EmA4c+lrcz3p#bx4l+ zWLdAQ^vy-;spp=&czi>0>&&&^+b*{3$;<1$F7?YVXZ^KEsdH`f*y{Jys-%X>=J=h_ zT%CU^Ddu(U)E#RUxSYOk<nJB&D(j))^Ot?Q{-(W*wJI=<pM5WPrQ+<ZK25H^4AM)I z);_U0{P~5pe$ssZH{Z{tfBt&($jhx)-`&g&h+Mhs=!Vj-S!U~xea^n|Df9g8IPDpx zAEYinIpum?`&k=L!RBs#-vft5IO=C_t`~hUyTR>XqC}UqgPPM1+jS9q(yJamdb%J+ z>FC+WsJ!oe6Xn}}1r$X&ww^IF<(`<cf$8FhB{`Kw4*M<c<^14#RBJJ-Oa1uVTa&*Z zo@ndv;mg6Yw<im-=AYpTKj*f5!i-av&zx7+T#2cW4Ozba#?;Tb`ZK0#W*YRwzUII1 zxt_5qkh$?Dr`qm$%qIhF>ZIoLEkCz%L)DkU7j+xj-``NKu6$Vatz^}_xsw;&ZDbAl zW4BTLociyU@ACc+PTCndu4=g(Q!o1=+JAM_KkWxLAE$2U`}o1mVN+_=8_VF2WrxfZ z=I3yn{Fr|Ho7vwDqBXMnqpW6WZJ8VFv-HK}q_nS|^%*h|Lc8-~^=6Cg486^Karero zD)FX#rkmVHr5jf*%2Yq)(Dg4zAoSrD;UpE;db5sI6}LDICobw2Sv0eIHrI;slgG;0 zcipauiBGD%(Gz3q_`!W@=h4r5Qxl8NWpmBF?O#6i>awT(iHoEU?~G!<n{-vNw6Vtg z#DDva*^+xAx%Yb4e_M6dc8BWO%?m8<cRc>+VwS}&cEta{_6wVT<y*4<X9Tq@R>x>d z^KdXQtkJ{QvQU~{aHCSB9=cM+Gq)fIvRY+ocx{e!x@_ILeMkDLGdFMX44x!b?i+pl zWR}y7D36!ZmY#cc&GWWOZf3)@?$2s_kL~lWExXS2o6YRlvF~<={@oJraT4`9H7&!( z$+?NQcmG5Og&)$KivQ$iRn$H2E-sv-6>;kB@1K9>J^%i3-*o<Z`+r~a8EV+pw{CQG zc0ai-?QY7(8E<W8ZTVEZGbQW8s^rwrS#J$Wc-`k5@(D^UzBXs|BrW^1+kyk0Zaq9L z_vzV~S7)A>PSrg%?VRIry;;-NawT5Lz9HE1eWIz0@Aa)|Z}x2JmMTlXwnlP=&)4i7 z=_aOSsVNB-rK+V$rX~e;#_Q@AS{9$(lc-j_%yzPjwwO+J8~0(>r+qUjlid3zuF4hd z&*nI~TQB1R`&`Yd47|Q<QUX^u*g97!Fa5Jbt7rCPOVtT}*UrQma8LX4_u#K&IUf<l zEfO~x-45PJO<0}q;^^vWs}u8|<-JqZckUHEyJ)KHnZQkL5qq?QZ_m}tcdcjsR{vmf z;+v}*^gC?y&TmdDyEZ3quH@<!TxsV_1rFPJ`SZ@RnJnkSIeT|fcE+5*qm2!(Z+oUI zKkvT9%yy_F=cr;ytKjlqykgQG3udni&-|WqaA)P|;=e8u-vt+$E#2bFTc%pP$Yh$y z2hA^&mPm!Jo4k8r&5Fq%c~e3YzvRD&s*mfb{~~#&CMY*h+3(`4ZJT)dlKWS^R$aYd z*`W#t=ku|jY(?*=D)v39lbQPF$C|dyvsGvLu?O9dkG8*5>d5h3+M?~e@u}29U)+oK z&RjG3ymi^7Z(%CUGQXEHNzJ_zV(_Nj?BrzYnR{>EOf1e@8ldKT{gmA%vu>%oTmSa` zX!Cr!apTqc#Rs1Tsy%(-_4Qqf+ck~%E2JYX3&rnuX;{p%PNyqq^L<X`!;jYAJ5-`; z^)yW)ea7vp+;V!6J2gW)l2~*Fdp14uUf1PWe&;~tg@nD9=F8t`@_xUXv?cEZ`<G82 zxY>dvx)Pk6V{>k49!dG&&GznSo#yt_Y;A@r+w?Y1Q}e!D<Wry5;-1!}xUi+7Drr%6 zts3VxBZG#&MKjJy%y0>FKD@=Kdufx`{0j?~o_1d`MYcLcbYhRhe$(YFwLTZ3ADdp< zHfKpOo7}MlTe#Td4tg3Mc2?w{?a*_I)i^vT+y9+c*VWaZw`u>VveC^@thst%@eWPn z%<`PnG^MV~6?YB@R|KWiubW=M5VrIX*HTW#%3BAne<)o!drR%%nM=PeezM>3;gl}1 zZ0qEmNB>E^OEy}Xmv(i|mC4e_HcRaazb<m6q_2BY($bis$7zj{u{Ryv`wg$#hHsu@ z?))g?QH8GDqx+{9y=7%S|3F%5n^o~1jy;Pz409ITois({@1}ZTFUgBrugf*pzn%W` z;Mu|@$;ajdDXwnQxp`G&$1gta>bUyM+3`&GzAk>TYkH*C|LfOTLRt5zKQrBuTcT}r zG3=e|o5hQr{;Yl+JYBlyzO`)8_s?rj|2_NNtWPTA$*SBpvJax`N^h;-P&=_#cSrmA zs{9`uv-S$!+_QMoQw#T$YaTku>5urf?eD!-e|7Hd3@MAFvdktGx10@5y}sCXSMHkn zg?Gua&!V4wv3?P;VpE;nhVbv-vx@wFRM-0{9(wEZNVjBPzhdRy=4Pp9A1yQYx6kuY zy12LH@cV}sZoina@!kBy{3Oo#^Nz1OvU|t>phYVcujmS&w%8PMPtC+hu6OSjg@V>g zzC!b!yqw}%FT};4FpEjIKQ4P_lmGg;pO1f3;Ivb*YyBoDo>lbk$DGOg?(Guwc08Ep zP!Q{Ca9+IrbFhfcIa`I<?ZS5#oxFT0>e{0As<5RxVJTaLcq)3%AD_wKU+~7WM98P- z=&6Q%hM9902zoA%Xzi$X<#7Mkea=93!O4fQ&feKur#;WkdRWgH>Fm9F`O?z0VzFDc zT)Xxu*)D$3wCR@LxVG-u)i}*$(Y|THIcu*L%`!eLsvB;p-T0<bTzUGmLbJ<vYw|dg zmy}Fg|IGX8H}U%ir<-o5ofuh~8d_xeJYM~q^p}hN%$*k>Z|<D%G<=5JBg1=+`>ux1 zxNdd7_U--;66yi}Ixm-XHr4l4x*U1OBp>`~$BqdZ?{94GdD*Hp{m-N}vB>}B1p@gC zXRFM%b>QFkXp$Y*R+}GoF^AW<Z{)Y!<}|PP)xzzrC3Ceant!U)pRk;G{q^KGtCS?Y zziiky?SYQh<1a$%^wn-vPkXq|ZEcLle%0RlhGP5G&+>D8X20}%Lj1mZ9+&moo$9x4 zciJkhdgsI9<IQVzl{imTUwZ!ijMs~rI`&mR-g;)pS;~c^=AGUV>igE;<ahc%=1=0^ z{(H6Tzt~;BT>O8a@{~(j!O@B#;%V*W>-=Bv&c9$e|H4Wwr|;9wueSPI_QK4wwju50 zm+ykt?jLz~VRpvD1wA?sH&(V-E_l7Y^=t5U?fNyd_wM*Nx#!=}#ZT}1Jp0cwW8P{5 zTk(Wlq7%1uTocKv@(|YB<Iefb_r%Rr52Gv2oqm>I%{A|vv)pIVEs0;ZH%I>X(<J`z zy-vmMaP0@mZ;l+lu~t#wVnnMCkNz*g-iNz?$gQoF*LH8|`E#IuW1p_|&*Mjg-RzUL za^DkMwD(BYM3eu*@kjk%N&jO9*WAmaPiC?+Fr4SdS92?3*4&_VlUE~hi*H#7{5!Y) z#<MgjYv&_(w$FCRC|aq1+{ekP@td~t8K$hBqd!|!E}yL5KUMekC+?*?ml-_gmx#Xf z>f+|}@4Vj4nX~1=lFL!W-y8J>lHzSzbh_@`|DTYw_1mtsVs}#n4u<c0c;@lHCRU5@ z7kY2hAGq%^-QDR|vYd`V(Y%<L)yI=2@QCrm`mb?L*)hvFd|lY3^nE=?{><dP>bpd( ztgln~q2Y74mW$uky*R}%v-s&pgEw{iFCXYP_^|W&9pC+zlFDv|#26fBvGKTZ)AmK! zkEE&RjWr6hHoc8$TNv>}`^)0I<lk3=xWuJzAA9vZ_?1)rrhA@qxb~JWUv6-;^@IOo zf#%CIOCEmNvVN9cZNP(ov(whFJ&{?YddTbC1?HIvt&io_{o0!u?|=8T&+ol_d#%!T zR(?r0eZ04{NP6<lonLHzYW!h6Gts@ULGc4a_s+tyX+1BNI9F|)euuGY-i!L(A6otg zOinr0vgnifq}YSf8heh`CpUdvdR;Miy;)WN!wKsRHhTPbv<-Rl)k-t!>;I%iJGMF3 zCc6dOd~M-gcS%uV8smJWB%PLB8aJk@gmY{P+Az64w>Dew&ylqyORwy@6Z?qA>`u4g z=X)FDVrPn-&Qp0Np)tYG;lAs#w|SvH7o*B6E|m!?U0Zhc7EjS7aibX*kNm3NxH#{% zgWC}n-4h+m58OPiNX~dT=Xl(fxlC_e_Ws)>-QVaQsIaW?%e2+!)BpH;^M~r}G7z6K zJ;CLLM&7%*7gH)KU;E7IKNmlJe*UonzPdM+zAbMi9r@qO@9VfA`Qsixx2di38)6*8 zLQ@5gyiA(Zu|&J)x<o`-xb40_Q6}Q$()Bz{hKIGbsGNPE5$OLZpiM#{HBSDF(!o5I zsrK($r+ojnPddi(_ks1B7fC+g<y3aoeU>2lk^g<r&BMRHyM-lKaM-hcdU<nGuC0!= zU-;4^&0o@vU3s1mYIP%R*U7aXE(tL2>0OfdGS|R0U{jtn+beF(a@{Ja8(%F<%4NR) z@Ym6(59>PmEd18{o1Z=kX6+Wyj_TUL`z+gSVoCYuqnXn~7ald38Pn(1{QBWqW0~!z zGj6lVZ`*lldf3l(uHg$y{&UU#6tLs^?bI@lIntUMFQ;#qdEw+t(U~a=&c=m?UU!WN zDma;Oy<_X$pz5tB+|K>bW!Wa5{vs(@H%fHwi>MNYi76}UP5g?Q>VlhAMt5HNy(eqd zjLB0|cw2i9b1G`T%w;aNK3u`U=wkFY+4RG&bRC;p>kgRATmEJ0{pd=kC44>WueThs zQj#c0N$>BHP3zLhw_J2N=)#4|XJXbkq?eyQ6%s7A_V@k%B`U9ix~CNCI&!+p|7MfF zZ7}tc^SqV`t7aYLF0BufvtNJOiBI13iQd6eye1+Q(}lP0{&YHW?TRdhvSTr=kMlAe zj^#N^zWgUJ$>%}3Z<?=S$}=rdlbZ>fS^}ES%sDb=k8`EXNq>t~zoWey7d`2=n(*fE z?x#^vx7Iv0n04p3@jR2D&F9YAn}t71dwW0d=KfS+_Tty+_G_%ZU8q~)Tz_Ewm&CUn zKc&={m58RuoT`jWTlzRq*WmlZ{kN7`S?}BHcq-?I!lM2*`A=(o%OY%=%eTJkDKjbg zuyvE}vG14jydFHXopm+z>)F4I!u_YVO06u5ouWU9|M6b_+6M=f{PxM-63}J-DRJo9 z`7gds20i=yxF&zRn_{w0o@c%E-msf94RfAb$Hr&o9-U<LEq=je!+j^V{9^?bqH&Rz zn18V_FdUOWD@3QC|6XZUAO5>oI$ZSMI@R>QH!S*(^<T-%GWXn=s$R5EK-{`7)}52- zrl<1lmAr~;o^IXzF)MsxSf-QaQr20^mhO@FJuU4eaY960_1lbd26G!d7up*iHu!Ub z$C&3olk?AWS-Ph;&0#s~5jD5^yygA!xbLs_{{Q#xJA>R&ebW%lH|MOc)#%l~s$A(_ zwK&Ww**)3w`nl?9uaErnc8++sVD{YZS(>*`Jvp;t=DeqyXPa{GcGo%XC0+LB#}`ZE zr=6$nC0_r?bJ}pTl$oZ<G%Jl;%l@Ri>HHW`^ybWq3m$KL-gvxuaiJo~C$aj`oWg@0 zx7v)weXAl*&wL%c;{2@VpVQ7sn_g0@m)u!D$MpFU-{Yq>-*`?r?7j2lme(#XJ931= z&Mj`erDDpXKY!`J19we-31=tpi^_iEy%6DRUn+ZAI)J0J#80E8{jTI@F_-nu&b^1G zu`nCV^7o&8(=hp#S?l!KMsGNkvroQv*s=1yd2qYHtWuMt?i)8&E)L6S*}GZn=T_Bs zbCe!kJX^mcy&^2@Mq0{>ix+qHB`T&G*1N~+%DL=rGi&`8bUXP|<spx=(#6m2wLF~} zdHCGR3XW=t{Slukl4^A7YNnVLr@!XnEnZf>$t2mjV}(<cbW!SWDeG(buji~t4zMb9 zxo}kW*^1YZo5M~C{9BZhdREe&KUnIUcFFyP5y?w;3GKG3FHzQNd>?3WaU<i}9fv(E zj!M1nKJM+nw(096rZ@brehA2gUf|lGujz7qH|MJJAIn|54ZnF7np!*y&R%ro!7bx# zmf17^UHQ{7@#AT)!^vFHryob0I2Dlj{LShB^{G|qAL72<U75UO6?@5*g>i=$IQc)d z5YG`kRDS8q&Tp)TzU5}uSHvu=Wd2=h(W5-+@C>K=%)cV5KE_Sfnz-)c9j6T@H9dT% zoqtr^+mwDLN49Ta<fPx6vhuF+wr&M6%)b}?UFUeIkjei-|NZEBvqLkYUh>oj+f2Be zA@o=(MQ&aERl~;MIsAQ<7q#E7ZSb>gGg$dp;~VEK|5ram{EF{L%<Or&A-eus_^ZvO ziyGGRKkMl`@9{q~z4wmB->#dU+wPXsO%u*`4n4QbID1)X#=TjBt-W2Xf|1r5`l(@U zsW)uWCgm5q*JQ0?N<DdEPv2fA%a$#Dn>Sc&PxGyRb-Z6=g~iA8zo!;injUrW(Cy&f zI8WrYudL{<-4{-am)P|1d+gGGwWCG1p6jaSZIg;Kwr6$LEX%yHH8*QxZR&etE4%)5 z)o;ee&f9$7$#!~G|F&Ar^1axqNTE;4>~Blr^RrvklNdUlohejTZ#XPl*eHG|RW|<6 z^i<V(-s{#}NYjtI_EB_?lJ@h@b6%t-m$g2gvf%HmzV*K|w-s$HIksD+ZU4&0t}zoO z#mejTc6@fZa$4bTZ9&M1iB7R^l1`oBcsQr+y=KYUcPD3U7V2J6q1m(FQ2F%C&?^Bi zc8eeXJF(GgpK9ymL(fZP?;qM;*;`<I$-hWsgGJU$ZF!NGhrd5-$(fXAH`}N`>L2I+ zXAyP^3=#hd+szg0MP{b_G5&V%f9Y(c4U>Lf(HDs_v#Q@1X{?=YcI%|+k#bY}@{_$S z=KD6>(fX5rE^*z<nstZL>aH(fjMlj6b<(cx^y;X+t-0oZbiaQro~-}wAYZ(an^d<J z^OO^-<RYDdpQvrS>vVcm8na@<RMBT^)*N4v@2LOg_}`4Lxo;0KH?C#=Gi~b!-#2j@ zpZ}$F=2=__z4X2@uioUs+P*(xx=&ACRy}pqHT7HZf<H2g6&${Ie)3q-Eu+-^VuzPo z{^DvQA->Ynr-b-)9tkFjf9f^AD3S2l`0NI&8*I}%jP`Bb)^zZ|Oq<#nekz)|KRD*E zDwq)D^{;ua)a{UynNFFChJWqWbTZUw&y}wdzs>pV!;^0dJt{a4Z!hquU&8Hb&>9e* zv~RxJhIB89?Q9Bszp6upTiv@0e+%#B>~_w7eB+7GBTk|JKRmu03Au>uYny9*__W2! z4}5KIyT9o__H1?anJe^ixoBMVfBD#M1F=6#IJ$mwO78GU(%-aeT>^hxTGaXp547zT zaeTiR*|4I`ai&{WfZ66fX%R}HSL#=^cSb7B<(3e+X2!0V?RNEdhT~SYr4MHudvvM7 zX`|BAGk+ScitZA0pLi|)=f!;Yhf8ai59n>O*{%>GuC#WyTtw4esS|JaJzM?dqm}k& z_C1XMSFltqnQ@WB_}wot<ugAk_Zusn_@w!SIraC}mcw@rOq4rN)$BcK=|P6De91N2 zJnFw&zle4D*X9s?EST$)!^8CHA9rfa*(I3yHtvvknD+<8{j2MJH{@^HQ0KhJoa2$2 z?*7)}1>M^hADvVrqthg>(<Fc7^N%Ef=*F1KK8EKfF?>qZ<J>%tp(tJQ3H#FL*A>)` zsqWdpRcJ2Ea?PLn-+_9$dX*`+w|vq|{5Lc9_dNdf^(!AN=2)-Zu${?kvbW0lg$!3_ zGp@MIxT4c2puN-cSF3Hc^sJD=7gAE1A}5vNc5(GK75vz><w9<JO@?HAs_kN{8rzas ziJHe%k*<GQdH$U$_{+Qe!*`)8%ez<jPhYUk-S_mh3t@2;<tGvz&2&z_|M9oW!`+Uv z_rKa)X}6+lTZ3-~cUb&)!!_aJf7a~Zb}O|t?!UU@A8zZ9?<etW7d^P;;cv&b+Yv`D zMQZ;InefNpM5RQi^^dfP+>7KNtJ^))iu$ct$M<vd54Lr=tNzM^YWw@@xwrSSGcZ^Q zAlLRL6LwC&|F6=lJ}~&PnLyq7^%3ig+YhUp`|_5}r{UgCpEQLnDqH#`kH)dbik#m1 zq=4se{rZ%f8{b&87F{>EY;$Ddo~XBVzu#s}J$NyYy^n2f3yb$AhZ9M=MAl6?cz%A& zF0UJ&%NNVpO#Lu*P3LKkJq5u%5^R@bk7mmWcvjk|zGPbZU-y6uzjSxKk>||cGmZDI z_%>}hw>Yz#aHHNjCG!WXMf>m0@RqXOmHc->TC@1|C)Gc~Lr&aXB=JEc_P?>R(;k(j zwdJ+9TLSxzo$g+j=@Z`a)BN-LQ}+XT4}VKNR;FCv-L%=XSDZKg&5j@9P8VGF9EzB? zW#9aQX_8l>?)iQFp09St>%W3JLq$FNU%NAfj*siq4BoceG}P6vh>tz8K-PJ0d>_jP zjwiN<y4p`PJTE)EuzmGHbNM{8?`)qJng>j7f0xGGb6EFl+$8&DUWrRA4#`jXETA|s zvWv;1>*_lRx#!w!X`RzI{^5LJXjNmCZW5O#xWmc0{gJxs<>)`!&WguVS{L-{9b2GY zU(`H*Z{wx!Y-dAbT-M!`G8d_4PTu{mcHaSs;6;0kXU;e)$*XWdr}dUt!~G>r0SC;E zhE%P55U_N))9I+Ym9I47KLxDrXS6=jk>Yb`)&`!_6XeA9nH3c6vYueYqLk|Oe5T9x z3wtMfUcH?w_2m6I)<@sYJ@w{RH9mM*;Bt}0g?^R#r$LNOiX3OJFeph0vk9jzd~{{) z|KD@%XP!GIe*NE>|BwDx6_%T}26q@Q3ohYa(7^KD>*{}@`An0pc(q<GYq;0cbM!aU z%(XriA=U1u_E<P1th)5qp(Jbfe$KgjzEy?Ilx12u#Z2%g-(=}9)3X~U-`_Fm`Nm%z zItQ=3ocH44=lbmW^FPl@U7pf*!$8m8jZwXF+0*7-otmq-<eF>m><ACh`s=geQe|<e zx$NDZ?++aV1G&#_f9iiYO<VU{#{F5rp*vn(6E!>jBjM~dA3YTd?)>bNcfKfoKPR^0 zwN7dV3*W8W{%H%f0_Wsy7YLMB{`f*ecEeQ_%TM#V<ZfJkcVzyzS0VK`3=+&XzxG@I z(DVGZUAx5(i9gKHWXe7I^d!?cEun%ezG*^RmUHcyCGtdI+t<3SYh|+^JX`C?&vRzC z!`>M_ZqpxU*W1i3IsL%ydS=|}%-?>_C(rUPZ#}y|Wy;D|JfC&61Xi83mTr$qGFg3i zwPVrjLhb49Hmt|La7^QiSY>0gPP0C%bJ3==s-BA&3a0Fd-np4OckhBpx9Xpoy^vnU z7`Lco#iy+qTioNT44%(Xym;0BvcPK2TF;qwYF~FL%dOyfCt9<#NvwxS=|gB_eazaG z4B29@CWmWno3Y<JUt3!0<Ej1#bM{kAnat<drtEbonxxu!E9#HurHGI27V?`Sz9t+L zsz1zsH+JJWevvsj?z<Ekz1G;5aBp9~!|dF)M+L9*&RAr2UMpwcE14T=J8_9$@@8F4 zp*HazOTVw%Tg$iYtiQ?ny!6@hJ6ay5D<`j7_egeCQ{t&uomnxJ>RDUvx!jv9|6jtl zIlA>!wd=+;*DZviJ@-GqwfFJ5+$trD)ms;_AAMt3FSA9jc<P#6#ujDDKNg>3+8wF! z_QwxFzBQH8x$38$I6j?^i}}~@%?oTEe%-&>`%L5k;k`lIpRc+xW8O=j*v!kWX}hGa zsxJNGc;K9U$?X%#nt!){ndzIKHu>e-jGCKLQ{1L+kuH3kcy{-xl|uj1C3v#TU!J=U zDiu$3yfl2n!oVQ-MGU!E1TE@)`@GV!KD#93s^~vIqmxexIRz99*$O5Is82qi(P1OB z*pSD<inFmLV3CQBnt5V^k?`|_&e?0frFMUdjh4@SJ6UWouY#xYT35%Mx4+lkxVrVv z#jEpc|CVO%uYG^^$+;(NFV>Wvv+dve{pS69zu(kOGQU^-GL^yn@g!+hu6aH-RR&M} zmn+ws=YDZ_cT4`~5UnLD+t>f%W66YK^B68^p_7UG<vLy6gLlQtOFpugc*XZuUxtm9 zP#^0yewho(Y~HceO7r;KA6H%KO=`{hEok<V%e#!N><w4R_b=t!N?Cp}M>9p=E^Dn4 z(Q;-#)PCq+goWLk_kQY&KR!%r{j{Vm-pzlh^<m|DE6-co%S)bqp6Vi`y!cw(hQ-<@ z+3_OVzFBY2=R9+(U!ASAc)!h@tHw(=7){A%m}fGn<G1lk4PCLWWtXmO*fLw@VTqdO zziZmXTUwqO_!MimPTexWT+Vm9mPnO!m1xY{kaZ$l*E0$hySQD?(lB=SHqCgJv9pb9 zipClKi;Qz;PON9Ny(ui$!TBUWNvQ8@+vLER(cMRNk13{V9P#4S-r$n5=2AeG*KSAW zot9Y_49?4#X3fx7-*M^p;w@*tF4S%nxR_B@ZZ)UR?N;&@?ZxMA8=SUF^I+xadKPr2 zr8I9%Xhh=ld&;%p7DWa&Yp%C0%Cwd2TWZ4gxvEO%!nM1ycdp&67ksfqdwP7_KBuD_ z=H1KeUvc!xNyRr>L6s%mdp4hxsydx9BaK&g$5fH3bR}8YF1HQ~LGfo9LGmVlZahDh z%jG+LryryB`iS*BYcqte-&uI!>0IV81Hb4ao40SUl-Qz~x%O<F;njPK6dTrZ<psZ8 z%=Pc)@raAk<{E#>WM`{dXg{j|^-xATR3)j|lKZm+!^CFUhk?o;?(B$8blfNV(xqyt zZFT4AU`yk9iL*a4-0rD4_~xmY-R+*5ZIVB8j6ap0i}@9D4$MnS6SB?y#<TI1;-a}l zN8W}zm+w5IVE!SFmwUs7UVg1RFJ$<a>0CZ*{WV0XtmBz!%JfA2Z=M#dqV-X47UsnD ztnSq>tn#!<{B@Sst-N%f`TG+t$<0-pcm&r>v5>x2z-@NIWYt3kKBJ#4?(SbLD#NYs zu8j1acHo&%kH(bBNzaaYRk~C-Ide#R704exr7Z3#Uj4FpUgP3pcAH(Mze%65%(iof zyV2f_g%QsEIR<Y+XX@B2c*uMsxR1U5;{<8>G^SmPcAM0&@Ozg|teN7cBD!i>ai^om zmTR+5e+;a-)7x(-e*WIo51ciVB2CxHdp=KBKK)AdhsfrR<Bv7n1^Y534zLOS+|hR4 z<6hx={^eFDb=B<L4mF;c;B<CQT1wcv^DB#5*%vn-G6?@57@o&zX=N4b7W2z&Zd7=6 zbA4?sUzc}fWzb>aA6#ecmq?o$?PwL_4|=^saK6Z*Up+$eOjx?l<V}oxT6!Wi?b)ws zZM`>C7QfGUVc>rM@`l4Qweg4ba)jLHUHBj~O+&;rscJ_5r01FUCE2&ACmEhf(GtET zpCxhJv-9l1gWDo{zI|w$lQCQR7t7U5-unkOe=509&;PwGS<?3V*QAx+g}>HScs<y$ z$1!l9K(LgWfu{ArkndmkQt!3S&!~{JpE~!q(VF~9)%06TwTs?rOU0SS$osOoxm|X5 z{lLnr|8UKd&k2759x0gK@(_-*w6y%udtIkMWl=xZgDKMX=^y7W^nB%<#Jzt`(zK>| z1(PZbPao{6Fs*0b{v&GcIWciLVVnJzK1k_#vB^!Ht&}=(VeqNVMqv-G#otwQxjgrT zit?{(D~`N*v?u+PRAA$DC5h*!ubybLGW_3p^X31lzd@$Ae}DJgcl}w_L4&Mi_YKY* z-&3FCT2rYz^}Fo-7kZVgA9shuRUX@OXIA#Lnt7({H$3~iR(~~fYG{2?OoQv6X$gkY z3YK<hZ~vsdzx9>Ls+(CivTjbBYjR?Ja=fSDfv9iMCvP2p{OE(kZlxO6un_xjmm6I7 zRn~o<>-1If%E#bhwy%G#%xj!JKQ;ZqY{6RHuAB0UXNWC&`6#e?#X-TY`ZE?z#;l7t zSN9&ib|7DNTU-3i;<<-<A4gUmJyw59*eq`P(bY?CMeM2T-hSe{(yLE1=WjI>Pn|h4 zLg!g~X0uaWIA?MD`alQ2gwK;#e46X}T5kU84W4Ccg}+&Dv1Tq*+|zZaLHN!5#s81J znD{)fUA*V8%`%7A29mjt6(7~|zk9NR!Es&D)7UFJX9`XcF=yBL`ZGdJc4LV}(n|9U zSL&Z96>?6iO4nJxp?+$_IpNc+NtL;LI&&j+Zp&^gu}u2-EcxeF<!Q2g5qsFg^7W=E z9eh-J?33E>?Hx~rHtzA&sh`Vy`kc<RJa--2zKEKi5&zzGq)t~Bo8NeJdiT<Z4L{~= z{4@FQ{*I^jk9?9(`uScaqH1$QnRU{`&F!nxuDvk6QvYh}mGw^_e&5sQrM0=-KXu}H z+s=Q+JKV#LZ$1?w!M^YGldp2CL~=T^byb_#)~<T==)jh{A&UOOA}=?0yqVb|m!<M) zA?KU*JsTfe=sgZBo-?KJmW=$QkAh{pEqCr;oXI60bmNUx-&50dnl_6H_+01qPVJwR z^i{-et-_K`UuPT&u7Cf3Z6VWqS@Tb=8vEyDeP%qdKl}8?$jm?5xpHMIe_r_MyP}m% zV*W(2%VINxj(o7JnWvF=xT>acoBjf4@dw>MgdFQ`GUdP1-LxjQx9NN4D<$(O(t_sP zJ7&K(S94X(SJoEu`z&Fp5m0@oAcp(Q{55M+K5yz|%D!pVvG&+ek4vicORZJz{(Zdf z*3#2zAFoP&pTRMGkzZ^(+g7IRD_(1YS8oWsdqCW!nKw~E+L+O%bvds%+XtR~X(9~_ z`_2U}6tz8Cs`qnZ+j#}<1NJ+#7aHU+zBtc(;mEdmYp3SUUjI_&-K+!V{!z{O{`~u_ zZ7u487<?bHa~VB&bVDRg<G{Pg`)<`Q^PDqlC*N$z=786nh03$8sI3V*8?ipBpgYTT z^{!sO+{0$2?C(ONH#oCiSidc4{w`r>t&H79ha-Q0P=#RnrtoDu*0t=<^6>DDTA*JP ze&%v=<GT~gcTa5VTRU@YY}V4onMW@*oXN^mNZWaa(WhhbkBdBqq9Z;n+|{{3yf>@f zJn-E@;ok+DcZr|P(vJ$Uzjf6vCy@C?fMAK1?A@#r4&kY<rn_EGUO4;MlV|?_c0GA~ zao4O^v1R2tKGQ!L+&w!jse0C18%58y1l2tp=J|=f4-0i3E?VRB;JE*xv#iszdnWkq z`X#eVD)Qvg)uu1^Se8uc+OxCdw2xIh-(91~jhE{^H|^?Z{WSBC<uV45oyWM2A35;+ z_@}&+8oYCyJW?lwwSVlf>f(OIxM!{07RgU@*C^iKC|M-A>b01N-j2ETZRcKzdpAA^ zp60$cFCy?^df2Yo!yOCV*K|ML_@<UOt*)EnnfPP3BmaxkawRRpZM`lY|1qKZj@Z$8 zYpUeJf{eRtf4KEdT()fT<ei_Qwb#XJM4V~6FDdm`uD)Rp3%ADG{vXCq?2GCTMju@Y zS*iTN%QRh_i-Exrr7a0Mug?8rrFnf+Z17_<k=pa?1xnHiXFTw^ZzaGqrL^3LInjI5 zTkmwEzGC4m7SpnCZUA?(qvvnqPMw>wt?q!wv~_*!&Q0xG@`az@`o)I(oqr$Pi)TEg zRO5fwgtzYB(W9>|Y+jb!=vLAE^~(N7-V1ka^Tt#T$5(xe*oA&*s$IO|A2y-tK2v>1 z<)u|qmRgkPd!EpijQ8ABq{va|bFlU6CEgQNzDnjwnsIhJlm8uZWnO>n<n0gZ418yI zJ2?my>^*&9`IoIhd)}{G?kw^2Ud7%^rhOl7@$a4eGyK~9i4PC|%3}St=#OrIklllf z)UU4c;_sV+_H<nnSgKxnfBB#H&yyTxw$|Al$*A8@UefYx!=a0TZi<#s6BuM=d4DeN z<|uq|K=)a#Yf9%OYlrMj4FVHoB&{S4R9Vd6-};RG@6Un@={MQe<uEOBUE1h4XaBM@ zPbPhAu-U}7NcBhNGzQl?rd72OGS5waxlVNydzRnArYL7OzujWj`UxT5Im&<d_w;Q4 zP|ju|`#amAUZ!HEn~ie&AEOt>-S0QmdS2UTaz=P<#MAuDsp?T1t<sz|)_!u)4h!Ww z%bT5f`pbg&9)<t^Ygh$U?4%zjojdtVkuTuDW5LK?g&)(5)B;0z)y<|F%t}i0+<0uo z{mOS6<eqLx_jlaQs`FRJ=VG&bn!=0PfNwV*bzja+IK%kqvPu2H&pNEzx7?KoeU)vh z@G1Yf$bws&eypfmbwc4JlhDLBpTp-&n6i^atmD%P-U~wRbscIvirwp?-+$M?mtrLy zA5(4oe)0F)N2jmWv~mp;`^35O(Sif~?`Ew0zqH<Ky2`C71yS!8Se@VFC2J@<rEa5I z%UKK8tv98T_43!*Z+Dw6f1zG|sWg+}&iU6Wp2YqU5Uzg7ot<^RM?Ylt+K<U4e}Aqr zt^3npr+K&Gs8May<B8=TopmlQ)nDUUWxOvSciXZ4k7wQ2LzM_{9xRP|Jn{Pur^{hW z&9$;#H>}O|X4BzfXwA8QVNr0;wfj$}*Qgs`_;OR==cyHMC%$jUS-2^&eg@O#7e4Dm zZaQz45L#Y+XtMrn*OI!=44zHm2?tMaU&^6YnevoVIEg7|yNF_K@$<NcQ*QEWPJS`@ z<crHcZb|!Zzt|qMb9&GE%Nb%>zE!z`_n8motTMXTsnP1Ld%YoMn!>|J*93aX<Uiee z$?7wE5l@^F`<G^xIJV6Rg}d%<;;63g67uKU+^BV&&#$UIlmF$-cSmM_^D)YhnQ^wH z^!Daomo68UZ+H5|mFTlJZKJEl2H61DM?p4%k-RE9L#i$wI4kGtl~q>e&9gGI+Um!= zBfFICX52dSsChz+^@HXkOMfVAlKNo~^y|Wbv+gmqm)^XY#vgR}TgeC8&QkXpgRL`; zvezqaEIYv7>HX0$#q>ksnlB3)XWPySxdK+X8KQD^&5DVArIWryex9MGdogq4e}Q{d zVR6P@3-6SdK7a3axo=v*XXn#$T7Pc8@%{RLiT1ItM^!d2Y~3!Ksj2y|Fzdwc>^A3R zuP)j|PqQ=nBzsda?7-K@GZvos`RrEJ2JQNN@17rG{%rjJ@48r5O{TSb%5)o^`I~ON zvTNa0rK2K&!7;wttA4~^-1o+d_hFh^c#CRt%c5VCR8DA`9i7Ena{gIg^5FnpRa5<U zo0l9qm$f@<&a8|ht5*lzzJEewi&hiIL3Iz=GgWc-KK9ssyD(>hK+QhU2ZC%`&G#F9 z=O-2aTT<U|!TWB8aciSgKdW7<xz~f_Q16{*p1nLd+t*w0YD)OTpKslsdfiD0Dg67^ z?P<xqln~b=w|lcTM@_zY>%#_(+4;Nf&e4|gSFu;o-{$npQ|$Pf%wNmryXds6*gW6$ zpe)Px4L9DKU9=5nHCQ=mZx6Fs=D&merQ6(dv$sc|nzD|is6NOz?*7^8+WS|Ex_KQJ zYJZ*<ozo!^`+Mu1q-2Ymg-1fze{?3BhHF067ZXo>Vev{`yxF*N{;Ku4`L7!~ZW+a> zr|p=fR<_}Zh~W>_MP(xIbY5iTi<!$;UcJ5Q?D4p-Y$=~FhTDeT&;9c^dyB}PkTthM zr*Ld!RgQ{Ww@q)4RNd_QfH&7J%q(29EBu+<;=Q-B^t4~MU%A+Ca$BgV)cldq5}P}h z1;VsBDn3=L)wPW%m)72RvRREcdTY}Gwf?GGlctuMHww+R`Ep@Hs5VE=ryC1xOIN*r z&eFy&e_`IV_ernTKK}C3^ko#w<#&stb9VpGH+rwwpC|Nr)*qP;-AhNeeai{&_>(eK zR61bWMBfw2uD$k;*31?$S^U2?Y6f(m<j=~oh&5-kH=pmellmKcS4jCo)34gs$JT!a z9|rKRAxCZ<8w0}|E%bqsL(Eln^mjeWB#k06gIX-DDP|y(lE#Sl|n!EN2--_hg zGa^49h^sG|ZZ_kYk>{$z`!7izm9+oC{3o!l`m)bz)5b|Ylg{3=O+Wvx_Rp`skJTG^ zrzA-vMC3&tV|Oo&wcWmQTg>5*@}-fhGTrsImz&%b{Z?os?%a~7XR+<q$%3zJ&R6Pl zCH#tdEwukmc*YrMpmSK)Xi4y2$4k{b6F05+m}n3aQowl8g3WM|LYp^Fv!<j$l%dYQ zRafsk|F&*heo@=Ut_!Bc{+oG!zPDBm(sQn#IoWcO^`dOP`|G$SFKRiu;j8{O<4OME zEwSM{^Q7GQ!Ye;JTy@>7sdH6mU17nRUw3|5)C<k%Oq`{7v!8=?^NvFkF66G;8LL<~ z;Z4&1&Xr%2{!e(VceuoZ_lo=aJChzul&(Ih+f{ohxS;$^jH<rY4n6LfAGu#%D)E}h z>+ACQ-AgU=mW7v1#HvlU{(XLF^O^_Kt{A_3of%xR#fMc*LDsZx!B(H`K1CAqmi{|^ zqBOC%^!L{5^)HJxcdbo$n(vz1)wihCILL6#{I$;ley>=$EbVIOebME%Q-deCwJA#P z+rnHZ&822=azoKAE>4$w;RgNL|798PR`R&mhHPk2ao(d9we4Iv&(6i^OyAC|YBA;s z_iTH%Er+XGYSZJ}&m$I|&(u04yD9hOvI3sf|0eC`4NMN07cEx5{q(YD7IzLRY054+ zJgv9)<l?S1iB(AwO8d8%89JB?oKM+*@wN37{V(PXfiFM1Nj!{8=+SA-dAYZz@Vx)q zZ;@PIrfzhexxQn5!mHwT<yVRKDt@?FA3N^-TI*THoRi<!jdi~m?d46~_0aI*6c*#V zZ&ItoPfhtWBSVnQIJJ7_z4m0IwL$m2k1YA+bGmN(;+bzauT@pfIPUzoW#)mo3TJ+0 z&ZxY@d+3fe?`9Wm1%}TGBF!A1=7k<mejj}#`TXn!-=}T2o6)}DH8`O&yI6A{Vq#!; z$&Q}T=d)G0)$4YzJu$teljDY1imS^-rHE|B3|C*y&V9P41H`uNK3lf>W%vIB@(GVN zcXsl3#XAZ&`>Xxa`1-DFrGt0otT$)wSbx7$eE!bNfB!zeWp7v=A@U$mLhse9GRI9i zsYPyDQLEI}-ne{Z*PQJ;b}DF3OPt2?Lt+`Pv38+r@Ml)Nk9XSYmq_fKv(S52;!0^% z&$CZWUl!aDnkjK)&c<_F-8XI0O}BLR|CQjTKJ#_A@fM3}<MW~3H&Y}$uB(NAyZp_; z?d+>fp(dQ=8{a*<SyKB=@8b`dg}>56W4At&*fa5kR<pk6oTd*-DvMYbHC*Od+`Gce zM$$zh{mqK9wu~ndP3_H(E?%u?kg#&)$k>*CS83J*{sru{OjVh+b83`+JyiGoaj7Ux zb>kc#!<I{{&Q0&$X_~k0M7Gq*E7QzGBBQ7JUX9!BHh=3%u@x(haTsk$)A9Q0aBla< z#H|mk#CeLBPEikbSJ|s-KUvlH+U84#x9YBo`1m52aWT(dcmF2swv$UkD#N+m1nLC^ zU3>VN)J=CfoMBVGxaxE9;yJP(#d?yR4yd;6tNQKYvBM{J+S9OAmnJwLZ~mX}v;X0S z&8%xyb+ZKe=tbWV?Rr@Fq@^r+8~fB>YpqJ(?&EnRmBtdYoayz}ogLCUPF~oP_vZe> zm04QtU)0z_SvhB<N@R9OXeOUjdwKFg!PzT!>r?jzNjfj);@Qh2wzg1gE9=7U2Tdwm ztW~T<G268a-mcT$nYn^%z0vg3Yi2Y{F3!-Zaok$HbGO@R{~KHvowqG{eWygKQ@mi_ zyJgemg81ifdl}EKO+6`9u*NaU@b|$5`Pz|1Ptr}k9pCpT<c;+q|BOrDBxS8%{AxYG zcdpLmI{U5q2S*udt7T3Ea_w^e@cpG?=K^8FFM-SFEB8mR9aa!zY&$h=|C6+)$B8={ z63t6HUsPoD^aido&-k=g`giBV@E5YT51-J}GkTNMlX(B-()d<)^;GuKsSOsQW!)8L zgeSKgUbwmERndm@$vd1ZbIp7|u>F$IUG`%AG9TrampG2vEv!H6_m}l@b;thlC!30Y z%0BzW_$GkW+GXeS1m<&(w{cs%TcbHk_Gm?+gK~fO!H%ydC+cUr-OE(?RC@MA3iHJL zY?rEn>pz!ma7dm|ljzR=2fV|xd48i!2r~o20rVV)vcppoyu)+4KUbAzy=VSy8-cyQ z!#6BH!KkxvJ5yN?iyPOINh0wzC#EiQGn4KV@mTe*=g|MXhh1k+zu|Uw-m2!U1s?k< z^Tn)o?v<TzJ0&3Ko8NQ?t%LVVb9jFLQC-J#{&+K^zSl~giCL1&rz=+~wkdVb)Zx-h zQsg~v_R-nPn>njy-q+203$yFy*-F(v{VEo(X&jV0@5AMfFApqf`tdRKqwI{#v%Buy zef0cDrN7#IH|0$Ys^W{inx&Rbns_lItNod_!sMeSZ+s6uo19{(Iy2<Rg963i6Uo_s zQan~Z;h)!}79t>}<|`59Gm|On!P~dFlXjE`HAJ4gqRTvGEywAV*Id%9yR8ZoF4<;$ zm#Y6&b@uIhbNwa85lsxOvzNs^%9>a#wykhmtsCc``~rF3Z=G^~WCWaKqAM!HB$C>$ zFsmxoJTj=8a-po`zOwnXqdE2}-`bW)T@ft5+$Qy9;p>&|0&xMC<u1%rzPs`utDhK8 zR$F$d(feofo8EcaJCvJjdE6JVr^0Q~I^`$t`Z~1g&$lP;*>-q!{<X(SZOflu|9SZH zn?jj4+nK*#PJe1|FjZ*QnsAAxgvB#n&th-t-=ZUE68q!=%g&oqc#AKkUaf37`}UGq z?Lvmcqm!FfY}k9Ad$HDv;HGl(4IT~b4UW&GW80;c?P<Oxdd>g#$px2pRoYxne4HR~ zXa66Dr5kigl#&$dQ~AX9@_qaey2?^ddM}Iqom_plrhW<8y9O2lss}Ys=jn_6dVS^2 zLj8pia`9SSS(6)d+h(p+y=V~ERLK*t=%L<@yKfH{NuJ#*f1B4oI`+#f={22cuDl1A zCcM0K!^8b&J8S6wk4jIB-d$y!(=umXRsUc2B5@nh4R#qavI;xJmFxd;O$_=j=VofN z@6?`6o+76HcRg-KZ(VwO^VKt4-EM~qv-j+kINN-!Ml&bPeeUzq0$V??YtGy@X^x}F zyXlD^i|eG_xg^&X89Q5)o{MQaeEuiL@o&w3*GskqtaX~Zl<Ts|lT)HaOO|wr9a(>C z?X4M$`5b};Uwd77yL0)(xv?J7AM0fqP1C<}8Z*4PdXZtp<c)<|f1RTrAKJ6aL00kh z(u(WaT2{Fy<hSP4-FqIh=X+mP?l->$GtBZQv)tciF23cOK-Tf7HMULyy0x;gx1DDn zIK1qcW!bi+2aGqJmbB&bE^6i#+kR@*omUb*D~vb&y=WGlGx5&%+os2lN^TYHe>6F= zwf^damb0_+^j_{Q%WFTS#!=S4gEu&R&dy(r8{>cSwX`gKo#6ee_Mr9Ci=OxP{TKc_ z<%Mqe^wV_<_Wp@|=qz8f==bybrujm5K9}sgVg2{Fl~eSUtqj*bzkXH5`|q53#`A>2 zrUkm5lbHX<u<r*Sz4O_t?a(u31_o0hNR`Yf!T{X^K0TDL%Di4WRHDvL=!V+OZBw|W z@W0&78{eC|ajlB0A!~12fbSCHtz|KX7{w;(q?udYvv}<PLBHZ*>t*ho^jAINedTjM z%2y`7-kd(&*J(40TKfH3`+47M=YOBG`Tw3@pY<6&M_d*VoRM+utgZE1i>cD(mwk_~ zS$29|#IJiLTGmoYOyX;g)t5zut$Mak_wuG~t~awh&R;JUzL0%w*%~_ot?FajL?pDg zEY@<kKTYt(`B|lxBSkuvExX2=WZ9-B;2PB4CS1rd=gP(Qe-?g^d)gQqixV@f*e>b| zO#hj*a!<$^UG6!0GfE?Ku9>AQ&dCXhJd<#6mBiK3#fiJ#?=yP#X2!MyDGztle~Wxm zkp6-HcRR!M{@ydwPS130o3CTJrsV34?~5lbduzESf;VXi*WI15b}8AfCLZ9F{7|)U zy8T}BwTBm;S^g>UU$*q_O^;HRaqT`<?zSuI%J$3qx^kwSdAsYOiL_6}R&y5Xs|Aq> zE9Uk;ofN979%g&6Fz)I{zI79Ox)M(xP%@ZYuT|3fGHhD6@zP`|W0k_-Jjt`GCM(Z5 zur@&G@a!uF>IRo4)|}jSv&{FJta)hE@!dNP-d*CAca!B=pUB-!rT!(}4|3cc@{Sv6 zU-JDlukZGb!*wA-{^#}jRX%*V>%KI672D_hnVTl=*H`$&#F_5?YcBVk_l~{QB~hOx zI3?NpbDZmMsob&kj$P$(s;tS)`KRE8CyCRYV`o2^yI|Ypt^)@yy6joy^qspoV#(9r zzH-J&Pc6lqHX6mf+&O<r^r93~Y0;fYyN*{ac>5y0oLfBN%rx<PD%plCyWbjpUB?&m zgst<_yk`^co}MttZKk-&b&LDoeu&h}oB5BqGyOum(m$T%^PKDd&pjn^u1NNY@Qg=R z%`DFh8cgmja{JC?*pg`HZe{ZPhs;-#^^yuEshx>DkLw<}cYKidIA`#B{flnfUOV2P zZ`$A2cp1Oh`7<*nlPUl5J+B!#-V&`H!YM+}CCeJSI5ZRNJ}NJ@+jsl%e$5$Ld+fz) z=Ip=yr`GPbxt{3q=W!2C)jQ>wd=u(?c~jhD=O;$r&8JHC&VISf=<NQ)pi7Pyt~2=+ zp55FWIxW<NEBjBA-2vGtH{VV_kvMl&`wyo0!rC77A5yzxvVXW0evAlAXOFqDqx-uk zyV*wLRW}or?ke+Z)_oWI$Y`9t^0$EZm8VR1onP5Ks-E(q-D>*9Ow*j(=~oWd@9>Y+ zn=p@M(&_J}8N&Y)T@I`Ap8l`2=*dm9pUc!Yd&J#4=wlbwTjR9$biIqrii=y_{^#C) zq3pO@(CyA^iP|IjAv?b3G|YS7_%B%FR}hDl{tbq|m*rmAw=a6`bm6BZ*9H66jsLtg zs+MV2v9NAk_v^<|$o@^+SN--Mm>C!ZcXC3?1w^r6DpX}sADgdbE>QbC+~;b$P9VeA zwYvnSbX*c!*}5t~bA4KQLabPIcJ*Yp@SpEx>)(VcaP}7Ee<}#)=&_wAIp5Om8{fI} z)&+Jip6J}$sOzNo!|!`<XZ??j@e=cRt!4L}UuvXqbz6VovEts^JNYYgMZYcY{(4_x z_CxNl`ik%Rm74{BpRTvgd$h$YcUg(wUFPXVJ^NmNP3Vo*t7>(->Yc)~_udV@wLvWx ztKP`=vb{FUS;FMJw|Ztm*|NrN5m9rWBOIFUM?>b^`~LRMOvczJW*f?klcuG9_^I_c ziT%F%rQbb=Hti1h>T&;LLal@+W8PD~x$S{Ij>iozR}>c;OYNxN;6C|O{gJ1wI(~}h zW?WM+FP$cSZL*n<q~10M#~|}#Nx>V|<i1aiu2vH|F||if*n0JeyFV^ojr!~)@Zf-h z$3<aQ-H?TPM$9q6r$xLH9$nhuZTa+st<piYBiHhN{#~V{F{!yKCNsx4J9R&^`kaGe ztV>f3KBnkglk7h%H8)q|X%^3q^$Y6-q*l#4_neQxBIv^7Zh7G)Gb&^h^&jtesGb?z zFQ<2~*L3n0S?1r)3DSq=H3hEZQN0^8%YVVMI_>kFPM?;pObL;H+x=PMvi_uv?AsZ$ zuWbFx=T`NDZBg32f=bS5(svEwZe6@=maV(DfAi0xQrr1H?FauYe7sMtaYE9b%SZHY z@zrN+*C_0<({TuRds}zEYhc(X-iDJild2CGl}j%QanO4(pK0sEpec>({-jl;&T?N} zuyu#)(u$^Bp|wlTTrhI_ed&)*Xh>K3)V$R(il#XstIzIAUNL#u%g4LE^eC`yoxtQA z@OCP*)G0%jya)4=r$wwyP%GK*c=V7}u9@_@EtVJ7)CX-ysP(Uujh%D#)Af+l(9<^J z$D9wFt1Q_(Ur#}X)ok;pkc?~U1}a&8R-2~gEPKmq602ADJKHq+jQ!QHUd}H*(~Y!s z{25nYQ*{X~-|m-rW7ZBW!`&r?t2qOoF26l5!F1sqp(_i@CO&8j%yyc$h>atce_>6d z>ema0Hw(n*Pv2Z0|7^ei^VQ28cc?{dPwEem$l0PR@b&)Wg)5f3@aD_2^qpMaeKX~k ziOA%TA}d#eKT#YtpPxLf{;W|^(Vxn0Ki})N_#Zjj(0@FiuIyWT;hO8z$<fuutJeD- z;5+wVv*5eqSJz4KzPNugQ)pX}`eD2C7cRB!)Q#*~%9<nbre?nHlMnTuN{_GfUHNXO zLS@w}rw@Nls%iT&?Q+cf_+b}Yf9Th>jYZS<{W|vN&1>h!a(Ay>n7+=S|H|rX&Xp?; zCoT;Y+{crib@IotS>aA!uU1^1@avi4r@T8KXZ`LqU*GU@b)njv{->V5^I|@B)=R95 zIk3y%YWBpp%Wtpy7%rjq?){Cw?x~lx3>E&1&-SaItI>I7&&4VF{L2MjGO{%vtFC@- z4_f;p==EPzl!bv|uQ0>(`Gw-r+snkN_CI4jT6=iA#owwf4d&^!ho>J^t+oR**wm_> z!3-a@YDX|*f?Bm3m~m6B+6l~%Q?GXBn_hd^XH(r;?I;-r26LC``Rdh%@>6OL`#|r2 zW)O2`U=UzH2EV88SFg5ZuD(_}J>hDp*mSF)YM$we8r5=441cFPYE(NgEf$#GtWoX6 zd|I?@`Ua6QvFZ0Ts<oJ7CCa7;%&rodF0WZ_!mO?c=1EO2(5%*HnyWH>p=Pxi(<;sB zH#Mv6nL>1?OKDY`arWz$F(j2{=A=x2|F=qddPRCQ&-4bZYCfhUz3CIQs_mJ=45nYy zs<vi|H=E9<U2V_w&T_iHcC{%pmu=bfhpy$4(-&x0J22P!BY1+-d3CDwnA5|cLJsa# zQq${0%UGwE=~QbmZ3>@ms8=mDeM4B8%Jc^yk@Jyo5z*<^y440ut{F%ob9AfqncDL~ zA_mj{>Q);uy)FcC5}59EfM~<%NA#-om_AMdaWtp@n^?v+{ic33&vbqLYB?s)%MjrT z{c3&Y%`eKPD|%N;PoK_P&OiMMNNDOWWFZ5CYCWbT#_0(L)%Hv-Y||GSRC_SXaFkDH zWG|PS&ShAw#k`BFeENLOa?$BNhSfX@lPmW4tVx62Kh3}(h#Zj&UwEfi7*^Xd$MBa= z@8&I6n0~{sT8n9=!1Rr#)l$<P+^blppA#zQn#NzwKi$TtT8pVs1XW64`rqJcf$7VQ zs->8;B~azKr@u9-)?;duhX|jOE$5!T+^bq(dXRCo6w^cnxG>xFKI3XVCR=5Q2-w=Y z#?@9#{HmxT+|yUYRSQf%U|!8KJ=~;Pib+`=qM+BL+Jvc41H!p$Qf<t5d3vI0wZe1- zt#Vd~rEaFxQcT>s5G6IH)y7QC1|W_<(=9^~tuS55tXhw0hUxT)7S;08|GSoROn+-! zE;v0WvRYvJEVF7UrT}{+xw~f7R!p1R;UbdLwWF#9rYD+LOEFpd!i7bqZ!oXcW11WQ z5qaQO&NrRcqFRgTWdvM=bNW%sYLV%s7S&QrL2)4A2quvX5UmN3(XgzRV)DxaiO5gi zS5nS7J;$<IpQ*46F2Xzgq-C`h)0}FENS;+S*K|3nYJH}4jc^eQrlYMOpGr;NFrl1x z`gyBrGp6D$R1x;+rq<PZOsxHIVd?4rR#$RN?{%*hn7+xnT8b%S5?oGk`di~_f$5Sq z)ly6b)8N7~(-m%4uuRXlsn%keF>88&L$%WM^Rvo1rhk}G&I;1PGtHx#W%@0Uw)#16 zd7kNO;;MP38`xIMF)f}qJ;1g)k||^fh}N2Z)wWuX*>z?4^n>kXveT9AstuT9S3!Bj zcGddK)7L<GhwQ42nZ4FQd7}2!M$Ca*z&y$6|2LPjPhYU9oOOD>eYF<z_N@qU?&$~Y ztF@RG>;ySSbNct~kQ6U4-Nd0<ifQA1kZ>f^f+HYWYx;NZYLV$L9jc|6Z=8pkp>VF8 zbGn9OwHCAFMT8K`^diS<JtpR>AaBS{-|tv$#B}%?gd^ZoZOE*5yL`GKV};!G>YL@f z)AOCGwV1y?g$nI*sy1Wpc?0GtO~3o9oNKzgbF~)pjgL^FJm+d-=3QSQylI*hEYtbF zlnYM34N~Or4^^0Fy034w$aFuKYAGfr=IM&A)ymWJ1uHnFUvsV&oxTbrEGG;X<^iQA zf$6NS)ly6oWI)16OzX8kwDEKSkVS9Jss*N>0ZE@T1qsVfmo};32U#sJUCpgpis_p( zT$pQmwp+CxlaVh(q~5zi0Fqg5ffQ;+z=gS|E4WwdF^R{6M5LxK@TlgU{=mJO51s_I znD!^3%GohZPeT>qho?S)=~*7tQcTj>a0SjxY6WnP2q>+KOjq};mSTEPGTqRtT6}tx zXSE5__fiPQrlf*%`UcNxEymr`4ZNyVr+HQDGgVfBB!ifWYCyF3^f_MDrc4WKA)HrU z)h0|W4Iqxpw5AGnq;!<zT`k45tr;f83o1ByrukO0Oy3TYVQ+`YaDY;m9#cRsNI-nL zolmtX)7(Bdhi$sBQ?<zSWj@tXOl*@N!Uqmla7_=LPyvp5kfCx+Zqt#ZrcSL8m~Q6+ zDxQ3+rI?Cl!R1(|zxS=?1f>DN=>?u3$AA<pT7as+oax#UBoT$hkeCM9#4<hEuUd*p zW;Loj*Ytvw6)e+N`c-Q&*{(;DTer1>Yx-}$YJH}Z?Wn?hkR+GpUoFKna}QijZ2Eft zYJH~aqi_+a>EOht7*H+66nu7iU|_Z4^tga(Gp4B*;T-nq`vR)<nBH9liRi=AkHB=( zz-lQbftw)Vc&0;lK(ql;g83F$Eyc|EuwwefPZc85tAncfrke&;>obc!LI~L~AAbVo zDNL`8s%D@5+_+k7`uCt}DduC(kj1TotM!?gUxJ0yr$;`o0N0@c(>DiKOEHJN2a9V= z{{d39=nI&qGyS)BwZQbWkZLI=6^7}B;niZ(--lESOkWXFt<N-%5iVlKB+CZkh)z#n zsT7|c9a^o$l*$el5t_a(6qMn(AR?t4mHgAE8&wNT7YeJEV%pCQ5q1u%wqW|t58))R zRI*Qx6R6~vKFO$Bbow@sLJ=V(xp!gJW=z%+AQ7qQ4&k8cM;65KV0x(tqD7})2(R{G zTBi@^$W9N4sMcfpX$2A4kWtAq{eMI?&-Aqs)%r}LzNo@hOl}bnk$}i*H>UD9I7b{( z3EqgTmSUQp1QFhlQ7Jq9e?lcIs36f|%FTicD?$?b+^A|PrVn`#;S1%J!qd|ut3{`O z0}1z5!iB}B^Mk5)zvyZyCe;Rr@P>>^*6F!*l~U8^MOSMvN%x})i%$O;U9HFDHv=v# zIDJD*HP`gWm}-5du6d}!7ECFNAtL`{s@<6;uYhwTrkBQ6>oLt)3lX`$x>6ld%YKZl zmSRfS2p5*0{?5HxXnJs5wH#CERwQBh+ZC*!T9!v~O2r<Zrvh)(7cet0>|<wOP)BLy zG3~0HZn&dT1Js0rs9hY1xH?@9MeX;!V6~FdzXw+ffz3s}Emjsq?XrVVwFUbsSwTq` zVmR_OsHhr#o~WFzc(PJ*dTBznpd$Z-ojzw$*)n-q7#LW^7#L(w49`CWRx7I$;LXS+ z!T=vC@qyjRSHr}>fa>;R=cWrJR7+34A73q~016W1JKj)T(sBW$RJ$Ie3i)a?(0y+R zXH;FPWWag*8@juYZ+!w?gN86>`DN_JWF_jAC88UHd@+(V!VCrmhBMcue@Lj-R4|#a z(+Bwi7%3E0VmCmlBtR`D0dOE7-->{mE=q1sZ%nK<1*<|nEgp0>DZ<QE4?wC^K+Ok; zfyf7(q8fPbF-WPz^w|$8d8Yd%L1O{=*fLb3i{8T33xEoB9<WnZBOR8agm4D~1H+}S zAoap*uHakvrYA;Li-UC_pA4XgqNDpSSO+^qN9yzgmer!*RE@m7Pz6QH6{f1`_rF)F zPG68*&7%kkY}lq7(4HG*6t$1Js;0mHSE(}nZ*(;z@guLPMD?tKK-KiW&nwkIZ6qFW z;zwShqKaZ}w-i{d(sZxnYDl0X&+_Y_sO?dlem<pI4PM7V0ugzRQVT`>3Kfug_37{3 zq49$}TLGH1M5qqY04X&GhcRsM5;S&+8Y>fZK&m9B+oe`ZfR!Q*R4|}M$3+8((!SJc zQzlc>=|@wm&6rwEr~gf@HeuRgHr+U_+L?*PW_m?hwG)$w)AT)Q)o#p|E>+WORjZ_@ zE2LLzF)4XY_ermIW4i1;eF}&^=R5rlh)xNdu98vh#uOGhJtw2uhN&`Q`l^g-Tjt)_ zs_7T)szj#$%c$03xfNf<FkLsJT6y|{v}&H|(V5kJOh=QaXJ=O1Gd)h7E|^tqGW|hj zwLa6UY!D}j$u4jD!>nr4>8rA;O_`DlL7a5vNi|iFfsFX<Y7=Ioxlo?GW;N^d_1V>W z%(APhrYCk+NlyQnU9H8;w+74;nQoO+t;a057OY%ydR||Z*z{RB)mqHn8^A(R(---I z>ZqJ*DQ2EsU?I8bhPj|__rB?|xz*lGsRyRd%c~ZfejvBnimCrLoWnZ(?Vc)*>GFBi pT1@7DLBcZA)AOoLna$a%r_ax;*5=D%%wjxR#K6ELQ_aA@005_2ZSMd8 delta 38811 zcmcaR_Z{<%yKk9!1H748L>M?YI2c;1w>R>(@-nvaGPUwDxAL;I^0Kz_vbFNExAJnd z@^ZHFa<%euxAO9|^76Lw^0o5vxAF?K@(Q-{3bpbIxAKa#@`|?dina2JxAID~@=CVy zO11JzxAMxg^2)aI%C+*!xAH2q@+!9SDz)+|xALmA@~XD-s<rZ}xAJPV@@ls7YPIre zxAN+=^6Iwo>b3IfxAGda@*1}C8nyBoxAK~_@|w2tnzizpxAI!F@>;g?TD9_8xANMw z^4hlY+O_i9xAHo)@;bKiI<@jTxAMBQ^18P2y0!AUxAJ<l@_M%NdbRR;xAOY5^7^*& z`nB@<xAF$G@&>l@2DS1AxAKOx@`kqZhPCpBxAI1`@<z7uMz!)rxAMlc^2WCE#<lXs zxAG>m@+P+OCbjY=xALa6@}{=(rnT~>xAJDR@@BU3X0`HWxANw+^5(Yk=C$(XxAGRW z@)ox87PaygxAK;3<t=SnG~KtkRABq!MWsPZVCM8cwx!(L1(ufbGEQGBP$s?IVp*v+ zBUoyC@$%Bu5LMgtR+WlEM8O)S3oI>V-JZO<loKjgv!+zCKIH0E`{!v!`o@(lDk>8k zC+IqbEpAxB+5LuP@`h8(#M)Cl+$PN|No#88`W<#V>NQvB>P5b5HS$=L*Jk8yjEY`$ zZPzxvlC8g1mS*N&todJjfA+~UDNb%t_51gfKfhOe-u8Eqyxs4o$^F6?Q%aXPc4^+e zzU`j)s#($Y=eJ)`U=OZ;ck^EFy;WiP3wCB*+_ky3S8$om{iOWIZ26n}GfQF(uEade z&iT5%y*BhlccH<P)w8mluNXYtQmw3e+WFqsg9UT#d)~H|N~O9VxgTX}Eb=LDS|-D; zX+LK(-}7+isOa})HQuV%x8u>#z%8biH(KgH`E0hW;`-0%zZ1`XcE0ybY+3zBvzk9a zS1+Yl<ecMk-y>L`?7ZQmc$$<<`8T8a0cA0d&RqF7V;jqomnSy{ocq?Qw6*c8<FZ0C z!><-gwwlT0aJSux{_}8~>)WG&3W<vaA9tSKa9v&Idi8DLmj_uEob#D8GwS;4#i<h~ z*k6b#w)nVI$bGf{e9lX)KYZ#fc5tZkzptO3#$b87#$xrvl?sl!U#rAk_jzpKtPwvx z@sb3ONm+~2K8Gb)Vc8oBnKfcBJ$x;oz0#Li$CfQ&Q|>)q-h-~MrE8wQ@O&{Pd*Rct z_tVa9j&5e0|H15tTiA7LO&{N{?0+V{^pR9us(s*aPQklnJX&U%CcTA%J*SrV6iJ0J ziD<Uezgfl^qEqlxO>)Z9MP93nUPQc+J|OnIQd;@og|x|iiyuGa-gm1l^>n(~nR%x} zj3!9lj?Ugxctd5f+GS3k!%~cLAHQxaTcEA!dtSe#TiExM+T{h48#hkBZB?Jpygswh z{0>uo!DUae<H5dCE|zSLRh4@;FtJLPUN+&*TITuF<VgL3n?A08Bd5<!i#+hzM{CJK zqo{;S23nIYI!(4Qv1yjMzE{=$wXc+;GH+B%@b8Q(zPw_Kma576E<Q5-4`aNu`)#ZE zjGYp^!F914F5cdCNcz+1{OU`BjEX+Zk94K4CC+=?zvWCX>;6@f8W+W93NcMTFYl1R zVUkoHw^@Iag{BE#eREzA`|-y?>t*y*rcM9S%f0mPf$p2@Oke7JQrh!ddEW$av7;s? z53fX3%e7teuxp;Buy@~TwYAIBIt(7%X6fTvB=N||qt~%+N#m3$J65!s&A8%~+jQvm zGSe&VyymPgU$bphU!tCUc8P#vX<mn=2<Q5iLj@sPo@)g4tbA^HJU6J9)V){GtR~U7 zpRKEl!;tsaA0OMcqF)nb->@VuD`Z}C$4q|ujgv*$*Z+v5e|MZ>vAEpN$7o&;cU4u@ z9fPObzE=HuP3|&=k8Y)GE@}H(<`Gl0)ngC;ye9_vi<4&A2uMzwAk=U2(rXvjCcaV@ z9pRV7aduggv{~NF_F1aRtk^TDelq{hn7h)qA3vPw=h1&j<>iyfi?lyYWNI*9ZTp13 zO+ex9hD%A6cM>l3mZ*ifJWkRxs@&{(J7c%)&Is=<dzR>T|NWiBeOJkA-_(^xtgnUn zcYpq^cGs``#>T9TzWPCxo^K!4)VF(<U%Y#vWBW?Ylkqw8uf_>#KV4wjvR>q->+FB^ zMjvfO3jZEEu5pgV)BD%1>r3XA$Zt?zqHn#^Sho1a9nrOnn=-|1GcGXuB(t%Yy;Q7{ z_$SY1eo&!9&RXH3_NGkpw}vaYkNR45URmP4QhHM3fkjU{K1{6fO5U(mS7Jlb%NW_O zn=|#_8oW6EAlV_|N1n%J`z(e}g69uSGdR9f(W_o$liAIUpDgqh)gxFx9eJ{|#Oui( ziD&n;c7`8pUp-lMv3+ik-cv^J9s1Kgs%9!o{B<rjI@{&djg6|ymmB<M5jK4hzTs?~ zUpjkqG~-i#woNZBqp~mL&v28Q_Bp4@vE-N1B)6smOJ4N-xTSDkQFDa@<7<DPmc87L z&2gLV6qen;SFact8TNgHS>?O>d-fvR%3ai!EqJ!%pYn%?6S|J?b$u`KrL5^n!=)w7 zU)){RrU^dy5fZri{gem4Hhb1D+@GY(;j47I&5K)fj^8g+mtPHcvksiy8(6up#%qnP z`F8i$r(Y>g*XLv2zBR1b?2*AcrV}+SoCPn0Lw{WVEp6I3nXT_sz2>X6kzY1?%3o6V zIm`Uk|M>Sy4TYD}zvwsrlk9%f&S>_s_}6yP)j}1%YwU8<a<;GEe*1c1r{=YH@xMdf zT_`ANZ%m%{`dL{`leX-#y|$*h2fpYWNH`iYO(@#rzIuY`&4V)+MD-lhp04f6dF0Hs z%e&T{S7%S(G1HR!t={gEs}rQ^H<h#=y!k>kI4E&zJEzHxo4!XM$@u!7ZVtS;^zpCk zPnwgBH(B<#OU&t4u-zcyt2ZG?&3K30jgR+U<i7pD`Cr$7N&b|yo91NUPg_~de?4n$ z%600KF}U+&amwP$QBEpt^IrdsQC;A;qBS*B_|@ha(U-RG5Ig-bkBM=g@7uKnBF**3 z75k3fzVk6p?)34FGsn5RSXh>72h1<*Jh?QctwNa3YtP3iUzUq~lnPn4dB>$E$veGV z?%k33WSU)Wu~0>`c==Q{*4rNo>gJu;^2x(s31f3mySnnM&zwQE*Ou|z-u=U6vj3yW z2Zf9FT|MHgq{^*o|K^d@<mI1CPFt@H%Jb>c(yliQSvdcZq}tzk|0bL@uH1HTvw+EO zH|ELDKg8T_wsM)kEZ$k%vgD_l{)E}fWiDhVMkU@{v^b^j#MGZ5li3UVdS3bdnpAa! zPkiQ{i1G`9@7d<-=$cka>Wk0b$a7+sp~v;+FphJgYU{7muCuq<zSeeA<deO(T9kW4 zW`D|W44ikcq`qYRm2BpW=gzWk1>-N@@$KDLwz6=`)uiJ5g{h@C%buOi>N%Uf{b(`w zOUJTls~=6@XJ+@uv+Qo9czt5H#OczH;bnPQ55y+_HDQ}4_sQ`>P~zIN%b4$E70uS$ zQ)@hXkApndV*5u6PQLw9Izi*Q{>E=B3={)7JkRb6=$(D|PGW&debqwI{TZL!1mmXJ z3tY_E)lfazbNYp)H}|xjH~tZ`qp0X`YumK*=~jkkMdpMgdo4dEKBGo)@!xW#Dd%!> z-wJal9ax&(vc%ixme2H^3QJG>?3>ema<8|;n&fSLZQf7ssJWcW**9r_;)hVrZ~3Nk zoXl?BpUIr|uhB~V;<fEQ|IFg+n;&TiePTOgacYsu9-9@Vr?#ldZnpbmP-3x0=+!#Y zpSx>h&$zAYe!X|1Tglew%SxKL6An+lnVq${>0sD=bA`Ev_Y*$#)(9U-D?JuvXngy2 z^wLWg_gN~I=Fj1Yn0)s3k7~Aj_otKDcAVVq@uJXcx@gvvz1wI0`TOF^r)M1p%U#~r zw>|D!6Dj-enp*q`U&niipJIEqWWBK2lkxXJYt@z)Pj2rFp7e<S_s)aS6OY<E*+}X( zSo`kle=oj0BmX<=tS@IhyKbMadvPV*RzX9~=hjXA%8%CaW<Ld2+HY2J%np2VCH0e> zVr<iYnfM)sPx7}*9ld)e_fxXa%q5xLVigfip9|_AWZjb4V4Wv<E;nmh;x<_~)gr|| zZntiUS1|jo-DF}?DsiEFwi(CaDZEpZ!>Z0q4!p$bZT76{@b3q1Z@!o(sz%*U*%rw+ zQ8XvF>$XrT6K_qFSx2nzUZuoW&+~ToOD*|pX{b8?WsHT7XYHv2(u-@a$m}nz?2l0W zS5_7EGTi7#J-1rvB~G^gW)Hs|ST*@;xN_aZuBW@w*M4r|uliDNw3V5^?(P%wB{BtD zn{QVB3$RdHdQ{%0F4#vSI{t90b(C`VweG8Xb3a)ZH9pJPCL^|>-sGqMpLFfTY9Wd% zQl6jS)J_mR@i?Nbt^4vruXxF5F+;uH?lmrt-=s#b(?6n<*i+BV<~BL6K4$W#H6_)n z_n%Y^k>y*T#m6=~x;D`2TBYOlM-$e2ZlCt+TgJl!1uy4nnciCd$G_R$InzYIYx4i4 zx20KjT{{~jxMte%dLO$Z@f}Ldx3)aBj$ie9jYx6Q0$Vlt2lqWJh2z%gGMc_S;FMsb zySuZk{pWw>Mux&2taJPH>t!~+JHPs}R_X7bWzTFMoz-0VR`~3)*Uy$nzgr%&tjPT? z|H+HHa;Em3&G^io#{M+ugsS|pMbll4w&`D4{?DAnp?K}RZKb~V9zA|i{f6)EQLhk( z+8f7Z-|%lY?ff3Vnf=n`=!?$d#=8DrTc7RM726y-Q7TWv|IOh%nWCRYUkqk!sSk?Q z*A=dApIp^Gd1lsschQ*4wb8wSk9kbZ9^QUDCxP9;r))*ii#;jlWOgbCJbe6A&|P>} z^!H5(?kg^upVv>>ZR&lTOKySlPI1n~T6ykM@;J>}@2+x^&0cZp#oBhelkztt?mTej zSK(lM5u5-2Fk|S_zRgzaUx-{T{<ySf?`5a@yy?70OAkJ1>-#oq-`1dd>8E0!Pl&Bm z=HI`4%llV3`Pr|H>|N|{tUOixv!+Gc^k#@eVv<nY&YG=f=H{$&G8HLSPdwB%J8zYs zR9=++ot)s_D+Qa2mad#R;oj5y+;y|mcW3*SZjoxe%UyI;qk7%J5aBN|w$B81Wid0B zn6AB75K*7B$ha!^#RjLD*@f@jxA^>iyXBXTgx8iIMpv>_7Hyf5zT&cQ)c24D7KfOY z8MYkpce%ObiTtL7B~Rp6C0tv2Jnv8H<dw&pHPp@QCF*xhS$_PdiHcc#!+s~JRmTsn z@Yru_VzaGI<e%FG4_mugZVzL7wqBgoxADhUgB6K;&g<NEeq4X5!dy0Z+jO-x_nepR zUb*It;;I*FCsNIQ4}S5SvF@I)sf6F*f@67BtcN2d&fWAaPW@a{d1czu`MYMn+Hj>| z>CxSpC!2r$NUiX@vPRaGZ^DyB3Mbw(8J-Watn~=K;b>f`arW`W60P+MRcplOGTwN4 zBQeV5Qsx$>{AE+OoJvbzGpN_z)4Qoi@n7SOz&u-9u^_!`8f{StW?YhM+x`UpyC7vH zn>}sMxeFevzt{w(-BcE7zqC^QaG^-*F^wqZS2|sJ3|pArd)>U_8lU}Q$-}94xAeW_ z%v!m=qUD_4`$Y%LPOYh6xa=W#yP9v4%%p|<l3Yt%W-qv^D{!{bVJGLKoeuI=^-;I| zQhVCH)@*%v!|BGUv;*2!;+r>g%1KN-tYD^)+$_ba&3yf*S*Narvxmv)Q`%aex0hXH z)qZ?KX5HIQL4S7fJdfo&p>0sCsZup{*`hPIq!%Ar(rqegw9DoF<cn#0qy6^YvD+%R zoa=9E>eK#<<{esci}MA)THX^nVEW^$?1j2|W}p935`TOPnKXK2V<oJ239#2mS3fzB z{f0R@*Npqgf%h+%*Q-j+{In<f<7=}y+nN2!wPW7Avk2o(dM<k8oc4zElP{Jho)udy zepCH^o2cNUAA7Gbsqf&E+P`m6ciyTui{6V`?Rv2-D>rK18NFS`^QLX&V0HQ4)HnCS zgW3mw>ps-)<L;}~zw$}J=Vzkt^%Cyto^>A$cO5$(VsJ04v8Tm}-C)KS<{6%93Ks=# zZaF6XdrC_3{n?jp)O&nC;<Dz8U~=h-AA-TPu9fC@*LzGTy{xQrxnHv@-6)>>t7pZX z;EqiD_MrKF!S8NJ1Sh{#|FWYmMeY{+bHS%}p7y;zUj^5ms9*1?_W!!($^VjkZ%_aJ z_vEbp(mQ{+tB&2Xxyxtk$7%b!x_ORhW!&L;*B>kO8y}k<>|WHi(Z+lKmV%F*4T4wm zHR5CE{`?{0e(Z~1)Z>#fmK*my@~p~}_FY-gH1GAY_{A9}RxdUB7czTo4W9AMV*Uc= zyI*XU=zO+XwCAp;>y65Udg-T}9<Dr(F7e1kzSyz&IeY3}#pOII!h1Ov-D_Ja+Y<7R z<r&{4reEB1z3P`P{h~LwwbXvE{Bu$1B%a&__njg%L^1{c_QkPjhi<qNZcy~9VN2H> z+X;(<*_VW0e1Bqc)q-m}*{2rpWCtBzl~{OSqiBP;O0qz61+P<|)Dh|0lB#;IO@8*C zD=*)_ET1#?9`i((=I@#to|udB<U2V(y=-#kTsLnO>%`ywl3O-ya*~M%dEdc3cfNAl zANI6=tabICk0t#MX!#X=Wc-uA?S7ckv7|?q9+&FdHB&BBn=QO{=JyQ2$VDL*E{}O< zHB9}#m_O*o$2%(XEVWh7%U^Q;_RP{jw_a?P_UzL~g?GJ>kNuKqG*7Yc+8pU*#p~aK z*iN?xsXqOA(sO42A|JV%{z3nk#57LqYdMs=*C=zz^H)1uO*loa+4a79A~<XR{H{~q zjMkq!Ti2ub(>7<pzZXkne0GJuPYhlq=<t2kt}p?4XEy%@GI~od#<)G+F{$tA<Ht)( zPO80#sb3pm>R0u}aZYk^`TV)Z)6#sj@B0V;R!lGW|71#e@w!Es%4Nq+Na@e{)cN3R zN>LFn@1x9+1I7u~%L6peFFR>7KkdVz9R`-hYMW=qaGZ8r&D^oj=8PUwf@AxJtGY|X zk9y>9Km7GWPo~p}x>M}zmS(>5TxONbcy@F_rsj)CKi56=M(_SS-1xcu_&NP9>-(Bz zQ7pcnI9}{pKlR#MpH1u5FWnSmH_QF&#+8eg?DE;RQtif-UsueIF80(&kP}|oGM_#F z(aL;Jv3sYJ!>7M}_(*TwhUs?A^G>}!BCL`(t-R1R@=pI_ffva$br;W8_pG=P8vpR! zGfl}!pPz-56q`<d>%yB_@9|@PSjoqd(^hULPB*=H7A!LN%?gd8lFv3dtQQVVoog~} zwQOo^%=NRpLHh4jm6ZgAm8PlhJY~~oyXQ!hHLs%FGBMR9v%_C1zkc_sQme2?{m0&U z@0RTTSrWZkJ3v!#`^5yi_O_2{690FabZ%etYTtxcKa-+PPY>db_jBAgN$*Mh>K9)B z)M{t1Uzq(fYS+B{1=c^^5_Wf5Ra#&AyY>siwRz92w>%Mdcr{_A?$5+8Jo8ry-?h2L z_tmQ;+FSf%)S1)^ty7MsZxpZEG0*LT)f%gS$teYkGlHT6R4w-}(dPYiW<hL4+Sdg_ zr><}wn0HWk|BsU6`!$PAuDot${9?LA^<-lGn|4he-;?Tb*_#XPG#s6m^4*m6uQmCw zc+<sMmn%bFN3EXubnBAt*$Z!Mo;Z2onv3&%c0aHWc>BTOu=JL?X%R~&=)6+->-O)O zCf{!F6=h|sj>@HP@n3OHr(}WE69@73cPeXqzo*z8dVWLXLt3lVfn}?$PEUSnxT`{2 zVDZisWt>myk6z95pSHl%`X_V0<YKkitJw=n`+PU<k=gw-sQ<Rpo0IRJX>XC$KY3uw zp3}K%`y=N*K3OR><-^-UyVTY1om<WB9rT5#ZKHc|TB%<6^U9*{m;L<LT`*iSIqw_K z#+Nrj=dPdlq`FAw&3(q4dv&)W-ksb(dz**u$?MKjSm!Yblo?0W-(vEwGr!-}xO&%x z$+>~m=DoL0Z(sjyhul-^?;rTvKG??AtXJRNU0(XpnL+!5NZIGS-6Buj55_r$FiuNY zeqbjXXJC}H@4P+BUuvEXwEZL`chu7{HE`e4rSoJ8FB_d**|Yrk9o_?C@8-Dh@9}YO zlW_kzuV(h*8pr%X6BXOOwuJig6IA*>O|}$@<+hIJ6H1<RQQSKBa7kC9Rr0b4oYp;( zYVSpL&aFs1rX}^|aq-7J^7no*JpJTsGD+Ss>gA%xKMZG`w_g@ovHo%GmU;DF(Ld8m zOy9fjsc6f49)HR9kBse!{ma~cns4ckUoid0_AgxfUDkg-{e^G8*ZWV>Uo7{ZJX8O^ zK=1!V?w{vRguX9g-GAQr2lKq6@*ivd%{c$W-}1o!CkFr7r=73q4650B>cQ)&%!|%E zkv;XG_SDh+0eN+ysh=IEGW*DXZqMSVU)A<WF?31Hsl}hJa@e@9N;37DyTEOA@YRUY zSyIc-9XV4~+G7>n8!o%bC3f|xD`lbU-i1!hGOypi;M+(4tHxQAs<?OC9r|tm%0<@s zpQ5<ls{oVBE1a$R3{zM7E6kMHxhe4dNB<I2bNRscq9R^=QS0-b951!s7J7Ee?~S*w zYTP^SuTXc7xoZBAKAox%$z6NPFWRY?ynK3R!h`4upC7;AjemImbMT4{?2fb6JHGQ@ zFlXh1)jytFq}LlP*)CXhqUl(gW0pU&9{<K4TK`xdeEKP5)jj`VdSK!mpXE;exgjfJ zo?QB95kEI={j=4Z-(FRGr91nVPwZ5`W49j_7EE!^usZzgQFx%<f}c9GCw&i8Q(Cs# zaLRRO(=yq9iGNKZn|8gBSA5$bXn+2i6Tj?Kll*}0y+OXsL2D$w)XUUKh?q<`oO6Or z%7$TyBl{Phwk4u(EIPUN9panYXE0yTc0+HQ+{rTAJd=vqckVEp{qet#OZ=()#WJbS zthrlPyjWP6>3#ERKU-|sqrS7r=jIBPv2e98bBJ4suI4f{k+{>XQ9bXv;nq6+{T*Cy zm$Dt%azFCqHDT{<yH#$AeK=ij6?S~n8^<kIjy(>ZBN@zKb0}FP%}->93~%Vm!jg}x zwe`<FIdsP9xvVX_^~va)N7vsxvFl-K%G{P0mby~5m9s@{?@ua|u{D=ZvABHNJa_p+ zIp;FjDeJ#~V{DTV;9mQ?;jjMfs=U{4C8YzdPnhMEXUc15-s~kPs`k*<_v}K|ta`b% zVV_^>^qddlUg>-FqT5x6>no3zbVqsF2b~uD@4r~x@Vob#{R^(WI8oB}Zcbd!)dTvU z;(z7~tdcgpx%*FfZRa1A${)5bc1^kSXWzR0(-ev#7WbCSik%$We(lA70bZk*VpeY7 zSG4spI)6>wn($kp?XB}}_qPfn*~+^5&-;09)n|X`o>s+Oy}?jBabBuVh)UQakBEg4 z9vyz2*;zK~%Ny91G5_h0xcp<I-WT5qDy{!kS#WnvD>meo63%ygx@f<@NUrjB3HDpR zXQ=Lt3*&rS`%l=(>fd+aKY`-)H&?sWmM*{M)SK?u`+C7KwOMPf1@j&&7W4{V#T#Wh z`D^LpRWs_d!ZcqNxSH}BUOf}+rQRFFlI^Yd{-~6G<N1z*^#aZPaRNNkZ{J_>!Cv&C zi?hxw`KJLh135L9PrESpz`Wl3({C27)X!gWg{@{&^Xj=VxgllBdvEzYc(p`RF8mB< zKxNr#oin>_^Y$)3QTSOm<UwJ$wQb}Fp6$IJ+cG%ceYaTJR<GjEddJBn`^8^g*S<Nk zw|%c!{HSq;g?N*0(AyKniXA1&E>(P+uBd4RMJrtU{6IE3bK$NDQdeBJgv9zRPrkQY zuYGz9r~b}aO0S|z=Iv_J3p77cc_h_vWBjsBYh!$$YqQTwI{Q3p_W1)R<HMJ|^X1Z9 zz?OKf(`P?p=+Vs+o}{qUYk%y}ndRo5-CuD0U6zTN>5X@d&x4<dKe-lIH2uX9QQiup zh0J>Sn?sB@vU6VZ*y{6t(V>{_HTj#XXRp6mTd?l#yem_um#*A1_37Sn8OvLK>sSr% zAN{ebC0cst>WQZtbwr#$iLRVpFjG_ESY&I~irQ--zjrCDUb82fH~32R@yxsR%kB!a zTc6&?e#k?%bt2O;!T6c4-ZP(nD{=qh)Rl5G&8}LrE%=ooy0>_S@^*VC$DL+RjQ-Yy z^!n}Ft<k$YOqO}Ff~}Ok8e5O>KBHrj?T0-iSGiOdtkhEeYv>@`zq3=rfBB1xovWg* zzPK1->O6OmyYW>S)A0Uht6Mc{Q$v=EtqeYz#aVF1X{A}%d`BDM!lad#k4Arpdp702 z>WqnLF{?P<UpA;$y{B#PU-E2_w&8xSwSnmqp8sbI@Mh;=l$SW$EX}}h+KGVyF(Yf3 z<vX3@WT|TX?Gs;Z9sVV5<L6!#xO3ZYG3%GR`Y!tl-p+iJ$1URO7_8ix-Q~=qdHmj? z|M!f;=j{xfVje59g87J0WnS^S;<P(rPh&SOYRQ{6MSg$H$4{<XGbP`j^gmiVG5`0f zbN-h4a`s`d^)i)}$6n2vR(o{TkK4Y{9~PzCeEZhEC^}vw_f7rP<EwTq=4LGLU0fsT z;I)e7D$CkQrcb98-}>@XK0EAQ=-F5L(YuyfCrst|olx^g^l|9_7mp)!j)hz5zFze< zgHMd{&e=B8u5&wgN61f^)^qvKpI6`14UYS5@IUothWUq6;XP}!vTocHYxvT6*)>#b zFSGVu)%^+FQS~oww0$g#Ev=uu+RT3Op8pqgZf;~hl^M9M`}V4~tIy|Ooc`UF^WH}b z$$$QPGOh<N$gaApz4Gz`^F0xpE^k|VlxZsW{+f$<`46o%UoU!n;^)!oUq7FA*YB@! z<jAZn<yYyvD7Wz0Vd+abucH=ed$>9$P1X<HZ>DjxA=)%H-b8h-C(lvFIssqqqWU!_ z5AiSmJI#Cvd#(KGbpKy>zrWw!+jDr)zYAZc=yy*_iq!f%p+@W1*3-ewJR55k{e7YP z@V46Jc#iZn^KGZEzEV2nt?g>D_?hP~mbeus?OWTO78u;W(T&ym%Qejwrpu>yzO!sG z%k1LaHoHzUz?1ub>-s4VmWc2F5dF4fgVV>zXZ8IDFUFjj)beG!_k($go@s2iytwTT zbryXL`>|d-@66?%FgMBW{F$+-v({E{=h%kY%wGFvN}}kp$kW#k+`j(h^Yt}nCnZWR z{aL<cyM)-UACf^G9ua|lVI2um)~a>fQTGjD;}k2rwTP!>LuL!Fqu^56TiZm{!)E6% zwLj56w?g?({iM21r?kz<=1z;Bw4}*&&77Xwn<ld$gH6ImPUvc*n(V7fZnIN2rOZiT z-uG$$b-BwcvR12}RN29ES!R>K``!B+Pp2}kmuxz|<HW=*i*G;oUzf_}5qtE|RsN|y zuCw9_)$7l;Z!uF(<cV6yR?^$<GU>#Pl`JxK3+CGHxA^;ef1OSJ-yhdM-~704)sEv# z6H>nkL|x(kw0rx$TXUa@P7S)1oBjB5;fymUnTryc)b+)>c|u+9AK*H*(Ll^NxYX~u zx#EUTnt@!ZSAVWwe%F%o^U41+*A<@opQYvJ@?gcT_9-dB6R*vvo&504q}%753VH9H zeDwZG?PoW^V(!gHyF{I%r_NES*X&J}e;cMCdCGS~r-Dtzr#6>uYL<TsDr<|YD$C|g zZ@6^1VbVI+8&QhpE2IREWSDZX+<qx^eUZVAzni^p-W54nHtpT^nBG~5OTCR2&Hu?G zlY4<@^~Y%woB32G>dp4__WHAT%?p;DS*P?9#c%m`m8`LDpD@k)vR4FaVfX2@Z~N+{ zgmPOAletr8&Qf1oBWRlR%1kZ$mRWy_lUo1eEN@wkfQ+WXOU#TG!BS^G&k3=;Te8v3 z!#a~yR-j2S@o})==KrbQTg+u&mK)SwOibnI4lx$Laro-HHM%-?FSA_fG1xC*vvB<n z<F(dOT=_4SsQPbSCv)xOIbB&Jao6giwX2WRUr^Z{`1hNx=D~CBpSmmfJ*<{|nUKfS zxj=RP2}!1hXVT|&v^tzv5q>HnWBcDgkFaoG$MkpVt`TehJlN>x<;V4zEkx8qZBne- zyhnf3Y?u>QZVWVGFvu<Ef8zOYo8dx<1?@h%*C)vs%wxOwCi-Q4m^kNrF17k4uWn5J zIP*iP4r{%8N5eTg4lB;j-g4(<d13=L)V{oQ)q$IB|H>H+P1{ziU926r#m@S$Mn31U zxgv`Swr6R!FHPPmp|94zU=`mb?;AV&gqWuo^~9*$ToG@5d=i(<<%k5UubN?UY?Iis z=I?szv!~hN)y<}*Ewaa1*4|;*^j^Q{zD~OBq)#4mI6d}msn54D5K75(3EFycV`ZJd zg7)^}Nu?j+%T>%--Y?nid0Jei>ZNjG^wLZ6-BsM%ST7uY@K7g?qeIK;a%-PV^qh)F zmhhP!ovK@1{Hsn!_;$BB2<=R~WD+-RulVYZXHq9Htc$$J%CSo)!8h*Flo^dvn+iQI zy;+!btXKZf|NNZ|&spmiD*HqoU@2E{+~2I-w{_;yIh&tODoS0SvDWZv%))mcRQ$}} z%-i=o=X2>@&dM%ByPw~p@1I>%Cl<X~=(A<F+Pew$!8S3QRzF?3?m$xZ=iklDpQ4K@ z3JL_m0vnb7969V25-|VAxw)wh;U9!m7gT((aCs6|P~B_EQu*t`HJ(F<lIuU*Engzc zUYS)F)qU^9w~Ob@ay-k~*_fP5j8iPS%9fol{9IRG>TkJT%wpPv3bm~EkDS(X7AJC9 z-?E*QYP6$$<z7!#bDd=OcdK2}j^(OmxP2Gg#CXNlN&UNXMtb6bw{rb?xBdyf{jp@; zn>>-@-ETs>u6A9X`od1&;!f|Q^86O{)~8ZV8~4uJ?z7qE$C77~uA2o)*>7<c91E*! z?N_qmZ7twAbk&8aMOr?*Bk$jV=sCwknJ1in`%En8o?_buZvEw%2PQ<ntURTY!Spdk zXV+fCIZb(meNVoct8{X8$cCGrn7vTqVAK`!%`;wb$=okBZR3_+Bz=GOjWnfwTm?Og za_e8aPnB9TU!UQ*Y_;#cHQEApzmJ)9S6-dVt$sS?*mTR9JHKMT8f#3Pvxjq2Oi1j! z*)Lzq?>M}5fo;8ydN*UCz+U}#8H=KYC0ygzd8%!9s=58Gr0`$BrLdd{9I~F?3mi}Q z^yxH7W&c_=F+9Y;{7%)XkhMa2%bp%xRw=Y(Dr1O3ebv&0u6vKSeoFrM`Ele~DX!ng zq-w9_p8cRQ!#ly}!LtUp)oM!e(_Q^!Vq%ZfD(GbDE?4?ETm4*2(Z?G;bMmCVB>FUD z%+U{<=Em?~fpl9DTSA_$<;6LxIM|AH(iKge_BisL*rV`n+xFO#tE07ocS!KRC|l|5 z&=_H98!PhQ)t&mDse<zr1D@o3kl|(TJ#vvF?Q+MWgb8ySg?z8%1(X*od!{!nUs^xD z^7)a&3(vfMc<x9GbF$9SlMY8;YhBv;KrHE#p6sWM(N2Gt{dJsIQTofT{gH;<$;s;j z!;9`*n-mjWweI$@{`V$ZHeAV!O>eg06Z!Q*{-$+N`}D*QGiNbN?W}isRB=nHXL+l1 z;7+!-sa#)qTA2>FT=shJxn|FV*g)|^7u+V;OfLK$86zIU;oAAyC|XKk*VOCMHaD8j zANW(eiLaF*>UNq3qxX%EoeHYF?_!sq&i+;-*ZuL!!t%nn4ZB^EW*uibxNA0_*#WO5 z@7hj^yKxp9sfMnS7d$JNC+sd-zwwptpNufCn*sY4743JA*c<S6%krYzXPX>?qkcKO z%dCC-Ak1{h!lTMNvu{j)#{cg17ms}{0jtG6Tzu!4`mD$Q`9-g$Hp?lV$6vUWMRZ0? zetBIu@l}fFGT!r75_rBo+`4~LWP^N=$`P;CXH@olak4qd^RV*8+1+c6*Mv^&Uti!- zucf3bQ&o1A)A4GhgJu<ja+=@2J*{u|-MAx~*<|{~T`N~do9{t~0~6;|Z^1A&t6h^O z9@Y4^%A#SSLh{#Lg^b^&fBpAcS$<HY!6sIn)r9GSjQC;Ql%0Jn%a<SdT=2=<HRJ!k z%?6#7W*^HM{FP?NJd$^b%VAt!*}0uZcw=7J-ulw}h9<EO6)!s323jvLcit=SDB`C$ z*Xm8wB@gAOw)rgrPegz6{;77oru=A$j~~<7J<>Z;Iv&rMwCJ|}{bkEo-QFC_*cDr_ z=)ccH_NyoVvE;t&XxpRCcu}$3S9h6K{7XmSCz=Aw+P1OJV_jhFFS>~5#1>8O2_}zc z@vMG7WukXfeIg5g;<6J0^Zk26?|5i-O`CW3de^cO;-M4fJ@TFD>Eil(>Zg}+nI@BL zm%m8A|7NHEr5@}5|1^zyey6J+iJ!!N_}FhrPJ^n2FHXuzoY>o$sdMBfd#=WRsn5MX z*0FO7&$)b}bGo0`d#%#ToZGD8n6>qqzOug2t@^KZqjF2_`#J0CZR=8n*cVSN`cZt~ z$x|k42k(1}3PWDXi#E9J{&Hmd=g+I{9+tifW_R;7EDG7yeYx?m*C(Bzduw}&Ocob# zrY(Q)n|GsX-sxAr_P*HkH?t`wcmhZD#%9Nvj&Y0jMfIIqD0F>u3(F;Tg}18P&y*d1 zIcI)%mb^q-_|xrIZ1ygGy2GbFZsK8&wvBBc*M;4je?;*2ypQSsV~jhRSM8pd_w_#S zkuTR`EKTjC?-j0mE8enrPvgq#vrjXM9yxsDsGQ1dd0Ulv6O?zAulVA#&TpRW?nD0% zHwM2wVt+O;GU0`zdtE@|)N4J=yg#3NG`1b_jQpha*kbJg8^#^U3sRO%Fp^=v>F!f6 z<lZm2`dQD)=&79&)_%`dw%OfKj;-&KdU;;1>UTN+L5K7pt!@*}^XD@cS>HBaK3AgF z_e6?^>8!Xli83XZ+Sju`R&kv*?Z%r!YXYp_XTP<Wc|dPX@Y=Yp<-sKi*$P6prdL~T zeq{b6!T%wX=GnP*Dw<u@Ki=DeI!3;Ak<TBp@-Q$=aGdVgTq@H(^;+rnsn^Of&6#Vf zw@+u}D_5$2tmWZz&d<j`RO9UFGkVvwH9gI?Jb2`F&QnJ(tbq62c}?AuXU;!f_3ROk zp601D-r*Wvx;nnPdLO;d_&$B4<K^qE%e1OkNAH}^`P05<wLAMlJz9#pc4j?vQ=Ia^ zh(~MMocYlWN)u*APiR(}Fn#_cuRVVmKu+6eR>@J!z`(%tkfA+_zq~z)zhZk7f90lC z%njAsr#IfNl%0OzU?tD=)3w$7^|c|l!!A3B+-3I2w2qnT{gJJMBd$Y(iEGhPmNm;V zRa=in`<@P9&WxIT<th75=2w&LelXTeIc=Glt-pH0R-^RuXYN&>J2Ugi`TOzv8P_NY zJMkaRxw`S3?a}Yt+R|RrZuLZ3n0F_|ZLWDZYn!-}{NWQbf8GqqxvZ)6^3P0-A3TZm zS3R=ZZ>B`0?^rtZ?jj|wZJ{4ql)RP;O^;o;g7fy5J-%%x|38U&=TKX}Lh9xmIscVB z#p0fi_q~t$xk`UY%_3Jh^PVUB<^_FSQ`q^-VGdWg1#6J|)n#pp*Dk&GNn4bwH_<P3 zm!C?o<l5IQ^X`Sd77or8&h_NaIawon`hMDr*qC~&q!->({9Pm-&)`XP^3q?$d0Zsv z(-YSq^G$`eiqmIa(^JZKTl%oHPkP761Ko$hdpE^?UAyV9!R8$$l}8UH>^NJ<`uB;^ zX~TAFqm5zH?==1h5uLYww(3EH`i;q(Cp@W|uH3>{wD<VNj-`IrcRY`DU9KW?fA^KG zkqJe$2L#<(V(R4!buRa{pV*q|w&b|X#anIj3T&40`fi^bwcVvDU1ra;*H*{bIMu9K zI*V3bO4$EEV$H_w7I9_C>fWNe57r$u3`st2S+;9qX{Dyro7ldGQq}#*^ZnKuf1OsW z>^LczMX)XLY*9;`?$g%Urk}U1xiTY6Z^pNYFQcxk=XdKVx~khzZ`*CPc<uF!nfq!g z8z=QC-+55P5jmsr*!_j`Pads$%CFiZ5i8!A6!Jjf)Fc+eDEa4KKOU@-S#|tjl?>;P zOR|e4CVyP@rgrMYd6VDo_$GXr$G$+j!I<Sa^A3j(bqw-CAxt}*3QQZaS?04BOny+t z5HIY*5}^9y+3c9*?D?s?6^gysqn)SZp4Kno->jp&wtwR}yM*>ym#)x)Gy5LIE?5xG zeM_W7Qh7nJr28)WKm4H7eRq|{_Z3VG4Ee0cBNCvL&9bl3pguG=__Bk*y~)$JEDdmA z<?2|lLc!}uxQI)#$ILTZGJS)N<<B*do9i$up{VrO{H1k;e;)9EaJPKd>T!9?*131? zZ9f0*-n+MEfB!yzuFp`x<<1nNxZ%RbIhzAg&fL2x>bvin&hIl>fsAgPKJ%mI>t5Wt zXIez=yr9{f27U=g`J<G!*2g}#S)!CX|G_=}6)TR+V>z}$EmVYQ^V4<v4>BFkek(X* zO09m%wBvoc+ntRK8oyoq$ilKpvUk_Iw1ln$E>mun`8>4<y*zc&uSSPyt7av7&FV?l znbscKke({KIBMPOtWaf#D}rmJInKmuN%O{5#)tE4E}Zy2rfDLNv+X6Vt~9CoJN;jN zOcgn~=Czmex@)GBFIP-Hsu#OfbC<|lCFV7*FWVkZi@h@6Y0~7?Q*Svqt-W%JnR9K` z3Ky31SuDSAA70ia<@@wf_%(^frAr*+6KB@SFrQCkXK^z#>*wq__0N4)^Y0H14Z2L( zC!bloE#AJ|Sxf8F2Z3!D``r~c?Ad6!XMSXT&b`GpK8JZ4oo;?yaV^t4Ga<@%`lrOt zxu<QnF||LAn3*5AOk&^d#J=}}5l25bw}qFjH8?Uc(xb|x<kw1P=Vg((JlpK<L?>C? zJIlAYR&a?yNmShIDxE+1EOX~wXs9ylH#n+XB3pQ(T6Ayb+2tNL^XK!Y{ix+nGkJ51 zb+X+m_4@xzlLEcHrk(xs;PiyHqdH-ejQ{v0T%L4zw&CPA&&=vg6PiQLFLo^XX(Hm_ z+3RyDdG8wosR+Gi6Mt?$x?Rvu&Mw)2*;PQH`M1u0M<>2QyGC_E@gSQ%p?BQ|+~N9P zuM5QcKitVO&wbB?1FnDcmc5xC^zF3fKew)U&!f9%9$4K`e_iN@*rVH=d-{I(`TyZu z^GWZH^I5j6Z2_P9KQNo^Z~kFwbnBpLyHEoEv4_$&eOvyteqi}8wWEgZyz)<`GUcB} z*Y<aPt=@R2|LN-pxg+25ALNPzcU>!2a90<yII`Si-d}D|9<U2~y7Vp+14BC-avrFy z-tIGf(uGRJ`hdjb?8Nj`y{yEt#JiEv`Hw6_>Yj&J++<H%)mpM^_ob}%MM`S2ic?P) zP5j2&TCm_ITYGQsuEl}>f8RQH)UU(YsnO`^!qz88?CyV;ouB+%B0OBQBsIir+TWD5 z47nRWyGTvBHUHm_n3Wc<d!GkC`MH|y#=6al7aG1!s{LM*F(bF$t2TY#(hrsWiO08c z+)Ov&vAL0M)};EQAvZ0;u;ufLpTT?ko^2>9sP#UuUf)Lg>TBJ)>`xpkEc08F&3h}k zb#3JX%PQaM9>^_NtmnF|edW`HCY{@CPB!yBtQUxVdiKA;mvfQar^Lt1j6O%NM2DYg z4!B$zm2k8F#IuC@OsO~J^{>te>FoN-Sn0jx_@&zo`GLm|v*s}7Uw<hr7RS=BtMkm} z@3zJp3o={uxUVtjms#vqp3u>JtmXgS?K!W0-fwAKz-Mb&Q5en3yj;ph&ra-^oanpz zVe*=H|71#>KYxDX44;T*&a68z@%JU-8NVONDDHO9xSZ>ICQdl{-dcuYql9|FBQML| zS(z0Xu-0eZY-lNd*v#>7F^`~Qph4)q@EP_>J~z}k+BGh1+}h?=5i9NZ>78Eiqj|67 z_9uL(Pu`~Yfy;6KUE_<otGJ|A>m(G<Rg~^aw|X`2*6NQvzK8w>x#+#PYw00<zD@b_ zzTf3`#VwM%9c~IGo}Lz^qxfN~)6(ne^+m>#`FH<STzXf&<J7CJM9nj~E2hQP9X!bQ z_k$sK&!prDn>&L2-~OKa`oZ$M3(szRp7)dK@#95mYob3+Rf~>ZJ3VTGLEiyKE6F$K z=4a1Td-z=R!jG5y@}Fm<Wy{QbeDH9|CD|{M2d_t-akUIh?frak(m#%WcbOKhIG;2v zz3!k7Z+&FoRjay&1=i=|H@sTnYB;<1%>HH1DvY>;og;m6o#u$fZGPn};!zhOJn^-_ zFSQ-F9v6Pk-k<(WJ(=xwu$WHR@@Ee|hkC8pzg5!Zbnk{q86U5eHUF&G7$bFU@6CBW z?$6d3&-kX!bKTc&-Hx1ijX4J|$ZS2jog*Oa&(w2nMp~(M^^>ljn>=xn-IVj5pMEk$ zdb;h_yHVe>N2PF&m2v5wug@+il(OwjY+1g>OKFlmkN<Y_nvM@C%NEJl)NVVy&&1~M zL2=_lpI`UKa)w5njQVj~J3CQp;=KJe8W%2o{qX(ptB0zNr`C0PhA1cOG7wmKol!}x z_4UlHhI+qeN`Fya@U=C%zA`TLjoqTka<Al^>EVBy!Yws+cKWkB%EkVPnp5^E^Kq)> znyEJVoMMx=e&%sm_UG)Eg$&Czb&9$V&eteZoAmyUkklEW<mp$HXPSKPUbG}m(Mw5m zzUSmE=OgPxuDDjdDTsY^eUfLaQ1bMPs_JV`7@AtY{k(KqiPCjpJzef);-&TWbx&B7 z+w1r>-MZD3XLQRI1!cO~ecR;{>?K~epu;uLPdtCI$EC(YMJ@_{i&|y=EOGiUIY6hS zNT*6#aT1@1m=aT=km8dE>Y`2Z50ez9e7<v=V`9mI4FZB4lQ|UG?T^Z7a6XZJ)3l`_ zPT8+WeMv`fh5i<vsNOfbT_?WX9Bf$6V!p`Fzh+KP)eiS1KM$Pzx_8lr!c#W`>fZ-V zc>iBK!fJ-^JF6*YAHVu_`A+syXIUN{t9_4Fuk)X~Z|3b)e$ww>hAlsPwQXyW|Lx6u z1`<LpFXzpDBWB<7=Hu!`=4&(>7Kux|^5TAJSLU6!{y}v^ntq0FzTWX29@To?*JnhD z<lm~l8Wwv;JU3;prpDRIgW}HvugFb)By(dE*UR74H(gTRF5*{RdZPM*v9Pjs!#2ki z4^<bt$mBOpdlxjfXkyxy)u;3>&+UpSS*W%v+*7s8|L*(zjn7Q>mZZoOAADwZO0QXT zYyPsODz(3Cru5%&yPf)B;kUb6YL@Ufwtt#<d&O=ZyDK*P=1%MX68R>;PH*>tm%r<x zl8n0UcrX3b#N+Jyc`9UL<x9|p7agn&470S6i*RT&MycK{F}Wnas8TOEC$YG=G%(tm z$x-Cru`{8Y!`?ny+A{Cb^l1y)7jU?UuxxbrSUYD~YKi`)-E4o?yil!r!Tx3OBIDCR zY8D31&sg67c`o(b_3y{k8?;S$mPlxM`=52z?mF^xtLe2($6cSW>$6?rIVxHIY}#Sl z+q>qUThhUkA|X|mP#+y+ktOKmz03d0H|ESzVKryJZ|#c<t8ctCy23VF>yAN6zGnCG zMb>R=)3Oguc=w~<s6TcF+c$}GVLMO7TKpIKax&0CQ1#JE9Uk?w*Pazw8oUutP&l2y zH$}bOyIiZ;aK6=~g*G2p%hhZGZu!kw#-Y-mQvSsHw8u|5=hC%@^j+#NPnq<hOhW5+ z@lto$tJfd@cSxGCt>=-P{EivL(Rniz96Kk-|2*w*V&0{@Q^St$zOZ`H(+mEW?k<bI zy7<zn%PPeuCa1TrDZcbe;=RV6g@3%xi|~1*B|VU6-{_wIze8uO_7tzzQm<M9`wNe} z1UD+<7CtSAVPs(NVuHj5rwDlG;h)m&(<ff2G@O2*s)Dm#$|p-Z&tpm#CvWC-&W(E= zX6=fNm>tr|?bA`N?zvlko9qm=stoDh^0)1e=i11y8T2%_eN@#JjMAK@ru1lg`FBT! zS8kb1OHXrDs!BBrUTdulms<SM`0<i2r(Pw=vrbxV(8A-bc=*}^zT%^bJi*Ur=?hHK zdAnVuaGKLXlL@BR>$Q$+6)oa)Tzqx+iHi)(>n2VtRn`r8clE>%rX`aUPxE9-b5$Je zVGRAl^@Q7Tru>wT83p}@vv&XXW`EDB>UG5||K8T6XSEJGdN{=z^gZ}$%lbh5rV87& zxg7hL7(Sfc5YC?4qNA;%nk(S!b4#Ljr|WjjS4Y)nZ~rPMRCzz|>^Xt@-N)+|PJWqV zH_NW~VPgNidHJGmwbaikELrecx_V8u!FrFi)7~Yh)HR&Ccj4RpMJ4VA9vl3Q8;5RH znc|bQTPmi(=l7EICpNbx_imfN_Utd4TN4czO)>TQ<$o_YvR^p=YWB0WPffN;pZ_X< za7*uR&IG=jr>t6bK6vnLN4-~h)vez;=Ow(B+}(QoPn*R(*)I>+K@FitkEe0ZU}RwU z$pVQtNVI`+(ZmatveQ@BRSVYlPCV~**g@b}`s?{O+_JA+n`guI_NeOzg%FpC98N0| z4pjFf-<WmRceAwoxn}+c&YhFX6t^l>aLl}4cfan;xthAY^$Z6jd2BKaB|^ORNaf{L zRh>JWo$RtqMeFrJtLB7RdsJ=wLyo<lzih^(muk(*v1u}wV?@|2Pl>N8?X-!BsFx@) z-okIO`oaxQrHPLD7G1NJ+?eK+n*3>|Xng&T+h$cM4}u@`PCI(&>1=tITXS_jxkW2o zQu`$-y>{WQlh3xc9W*rE`D;Un_e#<AYfe;3a3-&OUFK6R6g^d>=<9rI@r&}xa`8bi z>eoVNK3aQ1Q$Hfe|5f0HEs|?4Zg<qqzU*e>aHFZpIQPYw|N9>29=Gn>-B&Kl-uFFW z{v|$*wXC+QetmxRK^hd4R_$4r6&V>AM4?##5tKEjD)s7TIQri<5IO$-uSkADLs<5r zyUTP}I|#Ec>GVBNTXgyQgNHX}zC9rDX!rTDSywzWIeZ1)F6>Nx{$70l|MMG#{nV6a zv@Gs9vR%dTgyr7Q#%mv!pO1G}o|Wd5C1Av9kY*Ark+6#=Y2vab_MOXgEPgvqy?0L} zS<%qqx8?uljk#jG{?#k|GMIZvM)=h7olcgq9TLkf&s=N8+BwsuHAdK%m3<>iZS#aK zRwDsFjy@%y^ouoRWvfJdE3%~AAJ&MqKKm3H@U@}l;+68!nXg~oTA|09{Ak`MmT4X( zdB0ed1ViTCJbv(~_;ov-ypE!0eGGz&Hy;;v`?=OWsZsn~V$(07|Ib#`e_{0$%sH^y z=mxjmmE{^HPU|QB(Yv(f(&kpXr01E(v<#zPD3>LE3hun=B)_rL)6#bRoq(Q0N}AvP zxFnuEcyR0A|Dh4LPgU)e>Ax#`F7%y_W8b71Q^aka6uTuah*=ynN#fvc(GT;@&IN7Q z^z}tyirg8?+keywI*)n8SYE#;I4!w8^WmkfrSem@u`b%W<a12&2BBMCo`JKcra#wq zno#gMW&d{G)0KA_LjQO;pP6u?Ut6<y@y7iwhi)*hke;}?we!FM^}E3W5evFh&&tf) zmMai)u`Sdg`ayB2`X%1;(=KLqZ+~-Q>Cb?xKdkl{^;Q^tn_W_JC_jFgkj64;<-}L} zWOeE}gDV2ARfcU8cdFL-)o%6mc(U=+t9uGte_1B;7*5}F&mlMRRENq-EiY-M<G<rx zX7Tylj=0CUt0Db!bjt?ARr*5D&rZqjimr9LSA1<7+iu3FpVwYGM=mvFNXlM&@JCkl z#(nIOvXg_Qd-QxvgLY~M+{=3C+qi1I*Eg9JYY*lz)Q7Iy^NS%glZW9-RJOr_TVm7S zGlm?0a)oU%cR+8*JFY3)lj?#Oywd(`%bu0JLE2&J?tVLmP$_1Ht=FV@R&3+FR?TqL z&~od+7fd0_Q+G3k-Zl#J@Qjg~U9@>&a>z@gpx>$orYVZ09Zol&yQE-8-3ftP!JkbO z=A6yVGrm`w@@1*@jON&YFD}w1+bmDic6Zs#mAtZF)k12%0?*&Ke_nt`1Un}L-j-x$ zU|<nuU_dOD0F^~IuT|>R`+GAR3LI5myKCF4TTQlABDcC7L1hsC>&%r8n!cO%D4N!r z%>41t<_F`SfJa+cyT3kCd~$G4<>w!@;1bA^hx-MGL~8!L$tpqV;+wLX&Zac!CwL!7 zxVLZXrEPJicOSRZ(n@eYP}mW*Xwx&*g)ZNZSh-BOdP-@*6_4*fW*OFBTvMv?Aj4+m zbx&T`$6u$^W*#<|`oGmzF09d9Q}V5Bl^2trMZxA4u5+yVJNHZt%@z9C8h6-Q_vwj; z*Z<$#xu*VLg#6sN!kGP>mRfsEr+q#pAF{mr(ivBW>G#bRzct#;RF-&f1N+~n``Lfn z*gnW)_X=zGHvPc{Dp^)N;x79x!oa}L%ZMB@pvqPGMx{=D=;^%M1_FCtYi~PwkUvDE zN;~Rm0iT_S#x13DwhNX_Jv2)xbdr}8%fIiFt|(7RvgW+xT)V-e(9-(O%%zK-8a1Sf zgqYmD$h1%_XL+aL%l7{H%?(qhhOjNs;#f8(REl$&rDtlSmt)ppi<>pcw`BN_hG?nG zmOrWQ6C3g5v*RB<o_fWDO`RLAtvKYfOrTABdkG_#cB@qD!ZuGvBlhCvfKxn{9{enu zB~FLVSz{J`GFx2K{iIgko70jnKL(}*m+TMwX%jAHJblh-Yc;MD6KCB@V_hXs61($o z!nc#h-Osk|c=nG|pm<wVM6p`g;i`%A&Qvx&6RN+y;%s@8lEtRCGIzM^{Y&KC#hyKF z5RcmIG-aF4EoQ!F!h0;TX6*VH_1Gh%=;^<Dvn=ZycE@WTKCYelcZEY^*DWm*ww1!? zf)WlbIF;FTA)n<>a?VQAEn4jSjkc4-Z~dEA(7A1sQ?+2e=K77nTZ9W^X8E}<IHob} z3Y#Z)$rY2cSyy}aZEJJXnzQ9_j(>fK#1h73N6$E%nz-t_?v%S3e-}(Bs^kCVcFkrp z&l>Tm_N=WurK=*IzJ8Fz`SPZl?Ly_eFWK2oPZuw-TK=P~bI+0IRVh1vUSsP_GUTb8 z$i1#z;qSL)-*p;de-}*)UiWcLwDgT5dpqtdKFRmkY=(Z$|Nc1}U5ihM<>#-xKKuC; zC(-)QEjgA}O-%3asa)Nnvs|lEJCcokYp#aP%9oq(n(Z?Gl@>fB`a9R{>v!%wmyIuX z-(|Vv(zm_4D>IU7isKb!F1-}2{m*~9tm?Y&&wu@Ef6JtQ`gKpn!LRD`l-57uR&pAf zn?622V*X5S(Tk6M{QsChDbgZh-=b_L1_lWZ28IA0_(2n(yxMrX(y~4@I$Szb<ewkM z%$T+$XXn#LrS!anbT;a4yBcEXuwmkqpr(x(f$aqnY-*D&W?uPr@&1GTA2=%;LL<F@ zKWVl<_0&$?S*U1X+S)U7jMLxe$M4(w{pa)h_WxK6`loZ*@CcipwpgPkyS(DJ<0XyI zGf$R9tjlm+p0oedC3e=hwwasO)~i=uG|>v3_hhMU)b!lA@Dnit-wf|$9L;G>{vb8& zp+V2_M?2%3G$%!Az5m4EBoVOSo5{S$>s{@$&Mi0JkryKSduo@qM9PQs>z`)7+`5#< z+2*@_XmDLjDu?I%XG{DQjqH~^l2ZB-``mAt;Ncpb@&$V@Oj?%q^5mXm>1p#`WxlYf zU%{|0+2tT_TSWQEuE@*0+A{@bm+lmM*khzp<xsA*q$wpO=IHJnCoiN=D{b>wz23i! zui~QTQEo>Amr$RCNe90N1bnj8Jo1Q@^)ipMZ||AYO6x7$ZYD{bkrazxJ+*Ad-j#1> z%u$@9EpEDb!OgZCyXD#E*49n@bn)~Iz7NY<J=WECCr*+)VSVIU@>(TdmW%BgQ#&^2 zhe$3f%3mAr^g%Rto#m6ePHV*dy_bcp{kH6)Z!AZ-!TJY!p&wE$wCs-Ao?@Nadq=vO zZTsfaM#m#3{$ba$JGfjWuv}-d{_L$)LT<OL78gzts^Sl=VSDsy)#~YLId`=RyQ{L+ z#BQ#f5%hueaD9sL-pI>OcBL)L-K%y^`exXM69s$s?h?;#+j%<IUZd&4GrN8<*MN&N z6)r^xrhZ9{UO3m>)$xh;>POmZj5Mb7nyz)xiBa~qZehKVESg>6RFgTCYkQewUTN-D zxqpHD_DfC9xb$XS(XtNI{pDobdw19NNlb~#>yv_aJT5;~`c|P{Y=e{8&Lv$BpFLGw zl+c}GwQAkL$r?Kq=5<Q(eo$L~@to7%1x`EePYzigF!`v}r)>^=AH$xh?@ovh@xIy} zxUJ3lR~1j<_mD8@@Qv(uW$Ssjp1g5;nby&ylHIIQ0**{MdDAM7K6BMdSE@-_oM!3P zDc-Zn@$9^99Ui_<Iyxlt6zlh`be>!)pDHT)N5$ygoWHTp&h4yEF^OMy({*1`$4t>o zdCB5K0?o6w>g0Lfsti5I{pjzf11ndZ(-(Qgl~w-h`{mTt3J&%5Z<)6IW|fO#ynLLa z?S5tN2KM|5`)B=-X6{^kHJL}<&!CKLTWQz#z9mltVx5CqzS*sHf4KNL%U#~d^&H8w z{L%y*WggEs%3fmR^CH|Mjm_|u>xn!W&Zx6q_BOM*mWePez4?Au@$`F#JnA2b$p7=> z?%yK3#Jqq%?#}cbS+N}34cznFRP2fv>z1x}`gZY6_MNmJz0*1t{Y$>2oY0fBtKOym z%0)@BZRaN3<I<n2<gC>%;WvSM{pH6j(#z|A{L-Ja{<xId>jm><j|*Au@u^#5lB80- zPCqI1fO$%GSk(>lcV92Hv8{RiK&g|v^?~HPz@YtS&&q9W{W;~t&5TCAT^H(Z)wVx3 zayF^3{<w|veY@YD=Sz0pWq$9TA(YSVD*nFjbi@2ln}4(Y_BEORXWe#z2jvr)EEN9Q z$(&-DvCcNfb6!BEXXJrup4GBzwJzFx%0Hbh+V^Fmm8|KXH{5@~U7u)HpV%2J3=Aq< z=#^^y+e-E6{~M}#rYAI3v()bm^$oslAh7p$xX#Xm<-*lfuLTlLG~E8^GuuFAj&;`_ zL#?hi6H^ylez-sUle^B*g<lwcELwl}YW42(t21oACCF5=F8r?Iyn<!7zVp%-&-E2= zi`BfUtU9r@DJD%Z=v<eO^PRjeHq#}JO`kL6=@-$(M}LV2eVui+wE5vyZQeBo|LVO~ zoO=5HiM@f?o>Mb8k~i;I_k3^r+442p7hA~}RGG{?Ahq@760JbLOLGpT6y^1$G4U|n zSrp*1F~(sZV`=+_v%yaacG=}Goa^@bbAdRIs})D-#Dxx?BFlVvSDB`ZtT?H$hDW7a z<-z1jhF%+He)ouBf8Wo}U@HE%_hHbYeM{FQ)-T(kC>p*Y)93q%mbJ&bIbZm<_q;Nm zJ>_P{nF~SMXH~B>a`_lMWk0rpZLR%MPLs`f?)82B&mOKhe_;D{NA;y2+>A9!_ZZC7 z58wPVRVHo4E*>+xxtiyu+vn#`O1O3Zq}hY_@uekfiyqm$SgSMP*W?vin%@MY9Ov7X zFLAkO{o%2CeV41Q`kS<a2Hexys=aK^|GAgBOME}8%7?-Qn)?mwzVWSY%~;AEYvj1` za)tJ+@1Z9JmaXmEq!qBQ;ZN_!7#+C)uW5@|*S$@3c&+l&_doL*cJb%RtGRE>NZ!3F zye&~<vbMcNK&+P+i~E$1MIZl`P1Sj(9xFS$`f=(x?cluo*Iw5%{=Zo?vu5`Hj_0fY zav1lj3O_qup0wrd!y|%QcTN78th=zK_zcJVlWUCDSzrCNc<MCw%e(sAKX6vvD&FL3 ze<6Bta)N3{3}Ykvp~zb|u1iYp+*SMhP}$Zun=H<(iamL^>~ed#UwWzAoXd7ob2pV= zlV5nfFD(9+^U<;uU)gyrPj8J``aFt<^V@TIkBefK8ND~Nrzdh>e)+YrlBMigKCksr zC#AQA`!7VVliAG7zr^)@{FyuMYpO-8g3b%L{{DOAH+a6|{k|oxyO<alzH%a`b!c_1 zKK*ZFHP3XpCzb5=(IwLElK+lP(mg46eWQ?dp~oyMzocl@u&f}Cjl!>Xm1!^9aj;DG zjo6teN$uGl+NtGNO*G3jmOA9$IV&6GvD4(qC5s)66AG3$s^5DkbL!#0W77Ps^={gk zy6;atOpt$j?%)42=KsImz8M}@{Zp&q?vGrKQl7c2&h~jnbFE8{&#T`t?`-;`$wd_& z-m=#(DLFO?H1XWEG?o=#*)wmuOH9i1%sIxcg$GY;I?2l;eP>3VMVpx6#M2@<w&^`Q z=_aR>c9_28jlIHeu%%1!^rg#gVG?DTff3t<+VZ-Ud2-qm7eyalcHv5Kap2Ny$-i4_ z`1plPIKLUQR8=jPXga)8S&6B>O~YMz)`?|H@;Wv;mHEw>d@H7HO^;f!rmpeQnY(Jr zT6mke)Ox=1_?|j!_cW13wj!28dhZ{(t3hSwY>sZ^oPE+~qQvYOGE&lVi8p3^nQe2S zgJE02mWO6-*42}aZ)x9J;bwg4Bj@cay<ZyQ4|u(<UcRI}+R};R^hL8ikHRg@&Gm~t z`>HHvEq(9!dxhV}H(u+a*rs$Y;9)qtY~H=8$E=Onm0lcPC-7*WYVfLQxsR3BMsMRe zC;MW#O=!~P*UuBbUTRdkm1}-{ZiVtw72P)zix$59#&IWW2Ui~d@!1=vceOsyNXnb> z`*~mI6kh{vmtK)ejx#q+<M{S?oxnXO&JQ<z;_Bz}rpEFFHvM^1<g0r7Tk?#@asdre zEtlE1fBo?*Bu75;#$K843tJcJF0DGkD05EItaOTM`ktwe8|GYGINkbq@-@dkL(A2P z_e36TnQ+kR$VaoD;0>Qxxvt6eC)^GBv4Z{W;v~yp6aO0~HY=Wn{%&=cyL(xcBJ*@l z{XnkL1-}c+>SN|;aGaLAys2gTS^E%Yv#ZBr4o-8d6L`<@P*LksRN~VL^)$&_SM#<- zdfa3UKHU>k!o6(4mYnZ5w5Og<D|VZsqkPOK=;x(0sUXEOf}HEEBE?iEMn?M|Qm#=v z6Rf%BSxjk()|#xVJ?D1J5MO2x)b!2r*?#{@sl&QO^SNv$-Yu#>`02=+^+9~kH&y2M zE>X-sD-l=~7`*qYk$$wt%VkmWdaDHtnO*lav`b#|igBN4pc5TDFYhb=Z0RS0eZdyK zSEJq>xD>r6IIZ~Vw_5Y#)gR(k)unILUKm}SrSJd6&$H!wam|6=0KZTP`J@%$^G;Xx z7uK-!8@K2@e6s9px2x#0dSMy)$;Gpu#JrxM`RuFvl0U*S{$7<4C*>vlTRxhY9tpgC z?tSlZ|9LhypGVwYuA|=lyZr4d{h(Nm^OvT*E19y|w8#JA@6CTS%75`3PycAy=H?l- zbb?%@s*+xL7>CUNw6wH5C2ek*{Nr0xp6VCXaK@`y%a|$fR4x1^e#~~(THpG4r@9*r z_IZ6Y*50d7xc}ToUK@AYC3}jV{$h<kuk|JLa!zfW__Fr>+NzyLx(v=*)SDk%c&R(T zXh~s6-?;*r;~o<C)xx)W>3dx*x7^n*?!9i;kH>B6SBvWHk_-=L|M|b^p**j7dfogN zS&_cs8k#+yMZ~5%v^`aFXS-Zf(y82C|I$D&*m|i<*pyGIe9ouVpJ?82xHIUVa^IXO z|7SdDJKPaeH&;3S%rSq<y0-bjC%SzM^wz{2oT7ODyS>bGpY+f@TkcfW@9x*W!YAxy zzUuVm;^?oLoBZFowahT!NnEvpOS?t-i)Fy?4!3zz`RZS&v@?BKz5Ksb<&CB1XIWKV zSz2Ac*yh&i^mlh=U)|ffW&4GxCnn6>b~*OnRd&5aU-!(~Hf<fRmrYBlmr{N1Q&s+z zx{cAv7r$}eD45CiM#$>vQf;vvEpI<viamJCBV)nza+c_f$FeHFWz8PM-{{%PHDCPV zg>H$v$~$D&mzV8&^k&MghHI=_;trh4_$_oVpgntq{d1f8y({^y9~9fL>{AU}Z}@>_ z`pFNZZZtk{-C1;B=v|tHO!N_rzd~QUSFvtXy(6#i)AE+uf-`p=)f&!~yf)}`^m(Y~ zqwMG>e?-Ug`3Ht)FRx6}n{C&T=c931{iV2D!rf&T1<o$IYw*ZIX!-7vC3fG0tj>qJ z{%q0a`syb#V@X*0N4xr2x~17qAE{nA9+$xRev+fW)qwt83$9ID*wJ3Iu!(O<9Pif| z>Q@T=r|()NZvXaW(6P%)*WJ?7t++LDEu-j{=BjhTr&chAzGwfsNIhg7TS&9~l~n%~ zd(zK!1t{*H6Z^fzit%#etMVeTWuLaMTe!IDFYonV1(knmpPt+Q>dRxDnVafs84rHm zxFF|yM1r8YD)Wg|i#{&S5{NnSJ89#Bpi)oIaL=ovI=rvEo7*laxU4=my?W#P9>zNV zV}BZNyzb99zS>2p-iiO8&-^p>icCMX+di7Bd@O&pqyB>VN&8s6Ggf*&S~g;84;v@x zzo~Rl-MlgH*4Eumyvucd9dxaUh_(0nQopUE-+NlcDaE;eJ)cH?nfXGUnX%~6<@RKe zljra6Ytc7w*?)-X;0xm=94u45WqbX$`MdAvBK-{xv4Jc9iGQ4X_|*LuH(ywaUt=}D zb~9_ubeXq{mVaaK`<CkemS6U5sQ+8j=~L6EM{6$rF!}J*IX#P}u3I1I_pdq4?df5r z7YU9ziRp@OQnEMnZ++w_c2sj4pZ^B4If-w-?2GLWzsYtig8lX(vyHMjn@<H-8?yS% zD|>YR2kYLF2-W1$A4^wVjDL9j)zo7zx_^uQS*G|Y9@I^LRn)`0mz{y(2+D{WXn9@z z+e(Z2$iU)T76Nt8!{03BXO}IwwYz#p=Byaa!m4?mK75n??n@+ce>i$$j;i|7xqrS# zM{Y`O&Yk4xe91;YXMNaj&-?4jrXRk(KKjG24O^Aona&LMaQZ(>a?bAj|0aK)YFT7$ z{SYrw-0^6q<J|-ChFKS$^6YmvG(BVYe51Xuh3zdx3yyk@<lQZLOC@(7aVv34mfB^_ zdNh6A=E$%GXL&bxUFe>j^iA^f^M{k#{;c@4SD2Oa`{E6s-bU2S6P)h;aaWu}bj=Jo z{yqPfUT@Z%`#VuT(d1p_MDD%!IxDX7J4X1mI=ZakzR2^V>5$Q<42Jj1)xB>2KK!zC zqW0p2+n2sNJg3b>ZBBjFB%zZgA7TrR?sUAUx6#sJf6<kL3w9*mn)IpV+IKOAB@rLi zGxpW(&W-=IE@P2|g~<P~jrGmW3Yu&t){I|kcoKy=F5g+sJ4>}Uj3=pUvxI=n(Fui3 zQ}V3#>mA83eC$!jpI5stAZuSe$Da>X?ZJ|ZOY-)#t(|B+W8G!fP>F!7`ppXpOgBAf zW8pO2^fq$t4Z-E_FIn#J@QLNy&Qj{~VA+JOTL;n$9#1am;GDF}>#UCzla6M*OI+Kd zsq(*Mj=1kGzTSGf^}SvLi%yehZ+hUKl&oC>A3Yz`Yk!Q>y>;~NfxC}9Wj2-U*-$*w zV_7;|phqF+mOIhPn*;kK`=4_z{<5#$J!nplIA2`g?U@e(MN;EW=I-J*Hn)v9=VdGW zKcZ>&?J(_<g%ZnovTmN+k<WkT+{6j{ZuhHuE<0e-#iVtoIg&$^|Gh+}utC&g&s)wP zv^i~kg|spQ$}}A89vTRll$u+*_Dn3`6+CsEXOie7?@a=gFE38*sFt+d;@lIgJL%+) zdftashh)F}lH7kfeb(EzvU-lrTUrZd{50{HDsX)%k7(*@UM73qbvc5n8iH<z{PPxN z&x(4+ZO(IzEkeR;!l_usin*M|f^)8Wr54JX7|kkr)b9HIr{kCPPuBDZWU;dao?un; zeKhBK(e13KS|^p?>l~f?$gla^l%CHozQ64WlNGJkUJyIy%FUt>Wo!LpzshghOpXUk zu%5KAX-T`m6zQHLK@S5z=p<)pzB=?RwEK9FQ&Egr(20^;XQ!pjyL)oIWY4r{?!Q}W zjjv=>vMcUg%b_V%axlJf&V@&55w}!>f`Xog%((D#issIwSId+qI9|TJCH7X#%U?fp zo9#TR<Q}qQ{;k)qa#>cGEZr+5buB_`sqNamZrRL*-Lv#PYGOB-@QTcP&n5HXlpbgO z(-&nA^gJxWdG5z$iv|Dc)jAsW{pzXHc@Hdhe^R|4)Ruqm^M#UEt6Rc1?cSZ)vq$=a z|N5YFsox8VJ)VbiPXBOTM_A|g-c1F{{&$wQR$dI*RAjX1zv`62`q?^}OONK-Zrq$$ zE7d3S#Y9}yv!E@-H>qoh_up@4>+<qi_12#|^`gY<OxA^`!t!nJ-o{<bEX#Db`sdaf z#(DjTw<fh0<_I73PKwk$<hUiqmUYkHOKZgD?Z}wVbT40@d0ubjkKhBp|4KS1Fy3o! zdT?0a-$wtIqfCJbI(FgA+Ftb~ECOHe261LqufMufPn%t9WA-}jRByK@*_-qi2YH9u zzuLrk`FoJ;iY;e^g{n6x#7vOxnkqfvrca6QhHWBSmuWnXxp~~7ESaxk)!!K(<pbJH z=RER#QhgzyZ>qNH*5JsMQ&ek?>fZ7B8k#llo4{qW>FQ;t`xBS#SnaaCy6lqH&-xo? zb07Y^dPC|~<+PP?&mS(>yKo`*&p9VkQvMaET0QQ(yWhav^vSzxD;B=DxTgO5(3azU zevenrs!84abqm{J^Q{jKRmE-o`2D((L|lwrP-|&n<v$P6Zy&DQDdn;bnd1M*lBrFP z>vgl6%BiT(X47q&sr_A>opJ&VT~=O_T{>OHxxQ>m_BLz1EavUWo|Wa&QS48JrUlNt zbV+FU5slqFFVFm+^-WLD{n^Z~OaDl9-z*D0?PkLGnT_@Qw6$5m9mTq~@{dd7D)!}@ zue|eXg@LbY=)Snl+z!F*FUrMOWKK=o(D|cQZSR6C*5C8gqxU<tEPY!oxhi{>!lzVo z{`;E}rPi|4TTUo{!_o0vbb8S7F0BxsH65F>4ir2+;AmHLp*3D7{nGyzJ??)GM%YDu zyCF08D|?#whnJHxXD|MD!)9(uw58;n<en4fEn=hGSNy8ly}Pm|a@*7P;*Z}Hu3gHQ z@xydEcmA#q+nAa*2>Wi6<$gS+=8uid`~J1XnO`5g-}m?An|hJ@{zp%zzMb)SW8F5t z&4t{}`~TEs^{qMoEYqsq;*k31Ej&TTFZ|lHd$!r`-m|Yvn~NQ`6bL52cW)30zi?sW zu}^P3?yQ^dTXOQD`00{u-yg<((EbrxTK~j(R&v#w&WNz^V*9rA+Ya+uGq*aFzT7Lk zbhS&pS;wwF_c$+xFS3_*iEZ+K-y)%PQJia|jL_>-AC9veJ<eQvXv2zN);+5htCVfd z@l3m`Y#QNFpJG?rZfstEJM%AisRO%*zKtq71A~?ddSAN!ZKcw5e}O9T`pl5%<D&nL zai~0yOwKyM@;E^{SaHKs)i}i~E+<_2R5rA3^nI12D7Ps`F;O>e)9&bL?{atTh`gni zJJ(_htF?pd_Rh&)c0B*GrGEF4{WZT9@89+J?a7lb&EMO0s(;)NJlFX1yE{9-pZojn z&Q9YGyZi4|Ngt@KINz7bboQppo03~|>rc9DdslW`P3>`BzQ2`hx0>1&mt)5_%9=IC zo(#FN*6q>8lUrVesUP!H4_>7w-=Uf${BXzi`Y%(YE`~(eoODr>@m`^6eTwDPS??KZ zxUa~4lCyck%iG6N&2&#Ne|>rV`NaPV9D4tU{K&Z>%dfuZU4WXXw~IBaR`9EtYi6Be zIV@bS<!bY{u`$WkUB%Kc^UQB1=6|lAFC`}1-MIfc)?~g%-^yP#sTS|kqY|3;TQJ0A zD$OiNH#T%TBk!I5BC)bV>Y<OB>)&^~vrB$X=kQ54@3q{uVs=OBE>^EOxz0>x{ByP2 z4`i{HS*VouH*w94TI_If<yNj$4+J6}K4)XuEW9|YKFh#HYWjq~Cp|3eMEs6Exsfof zG_yNo0gJTA8t1iJHU>KG%zHbTORIF1@4=$ES>YR;)+L;t(_?7%`fs_n;-bJS0cvwP zU2O`FO^tk>6D=ZdyL8VimvqZ*NxNllvs|0Gmj6_pf{dkX-zwdI5pKS%k270O?rFAu z_Lj4?ruJZi`HA|qG1ck6nL-0ii%-l6T>WCQ>#fkG-A}USb|1afrX?}Mk2QA3e4#9Z znVr4Im0afdcsz~plD+(`@J63MXUUz17L{jr8C8kCaO=M_i=BmSj`x92suJBU|3u1u z)u^fS-b?CxSGJx>{~Py>((U>jJH+*qQ}UfA7tF4GGv#FD)PVD%^)4&5B;~aebkdnz z{MZjoj(T+S;{=D&LYbYNcSQaF34|}>c8fV|@`!1f;Mba;hjqXDD8HKNcEz}Ng?Nm` zmzPa~AOYQ;ly6^VXdiLw?%B3V@V8yxow-`gHjVSc0(z&G)wm^em)gD9_9fSD$+F2G zH}kAd+s$;m&}mt4#Dddv>QDVT_+!V<rJ*WY{ZmEPm;Y*Ozb%$N{futtLBBVXLP8qj zmnU(tmAu;0<T!U$K!M2d6j3iN3D=gRB{5gMR;~|s_%UOyCNEpEe%n^B`9bXZKC3Qu zPx!LvT;{}2RZa85H%M2jeC=pz@Uva^V1b|Q!UqQ5LLO<>T<h!Bu_(VQ$2z~>d96dH z%DT47qqU7&oueZse^7Z`sCTwm(bsP614*0HM$&T9uRD*kO7%<-KUubo*ZV_!(1fFr zm4Yjuw;lSpCaOYQYDI>h?Hmv9D`w06lXMQ6i`0n5Pd46HqG9eloBcyB>-~e}PtVNM zS)Cflc$zgUqN>{S;P+I<&Brg@>pXdewLbHQE9?Cu+g}8!t&|Uv+$^v0W1&b%!Pdr* zPkYpUb~R1kaJo;v*tpC88}rSNg{Gm6;U9x%R#(eZ^oECQzFe~WeeSf&;Uaq)H6=Hk z^fW!V=w@PQp7_R+-*fr?%qjPEFMcPxVf)R-%-+enf2uxTb?oHbufKNXpDImfm6|(G zb*=Z#`tTQ0#)i`A9pU<_8Ucb{X~BY}^*;ADuI_qw_-s(G-4CG}rOe}gzPCSSH~Rj+ zZrq)I<jaL!p7qmqY3&T$d3w^p=dMS>PHETm)_8m{%$R)Lc7OJhVkhZvspO*)`sT+% zk5#mOOqE=;R_fB}51g0y);Q@}mOi<2e*K@dBG&`XUpr8L?Zh>c#hv$0?`u<Q(0x<A zvTDldqZikl^?LmJ(=xXc6OUcn`E298QqixQGafEa6kGep<lLc?{+D%PxR<?ml>D8Z znWle{W#<(Qse)<G=3kx`P}2P3fLiXxvjx)KxzEDS-CUP+y5wHm%wyH}mSh{3wCWVL zt-F0ew{&mkw4|rgeNQc|uS}h$=KNDBIpENHx0NylTfHX~->Bv+T_^p*?%AfPB`0Q9 zzM0+ZuB3ah=lVs74^qFc@2n5s!JWT=HTYK2*<FswhMr#w1$X{FTQT8^(T@|V&z-m2 zh}3D(xg-`5)xGgdR1#-IQs&hSTf~w!dg`pb7I81JesaV;)oI^5p8i$c!1B31;+O75 zo`|GEvE-k7Ri`yii<l!NmaaH0sPkxM@6-M_|6O$I)u!ziIL+>zU^(Tu(553s8J$N% zd!FV`i{Oh+D$I<CX^l9gA~xN0TK$Iq>Kp%bNBr~E`5(!2IzaBUptsJRS0}HoKDOc6 zwFwXFl*Q|RY+td^_;~--DZAc$mY8|;@T7X{x#i2eqCf1{iIWfdsVw}+?J(zjHSJd? zo+KY?sOwb^n<kzASoG|9y%+W;Zy$J;GWpc)8)b$X$(P?8ODzv7Tb?35zsz)9<}CN5 zgR{4OVO}Jo>*P3l#i6vo-nWa`b|2M>n^-!lT(9<FO~;-YM<mZC>j!yce?8aDvr<So zB30MyXZ>Oxc^0;Y{l#HQ{Zb5WT?{1~-X^?GdtF?5=SZXFoY{sQ+?J0n%6$CM!%`ya z&*jl{=6w8d@#zmw^sL^PEO%b_&A+%dnIv1qqUo;MW}NE(A7vf(yV#d^@t}RC*<$}4 z9~a!{YEF`NJ5n}Bz}i5sY?hJAtakachx;F${^4ckd@8D5=FipQwtPwEFS_SWec+K= z!0fu<_RVdZOE*<Mxw;_n+1&+>&z>$&eD*egVTQo-k6&3^tSb*YzEO7KzvZeQ`0lyd zw}*BQotIlQ=sj$AXStyLOHhEBqsy72b3)rXzwi3}c^4d}A5MAhzwg%1o=b*-@yAPU zANb-ZxUBugr5ybYd;RM@J~?doaKGtpnIy03^g!=rPtH92>Ahic;$~mLO?ua(6s{{+ zwifm7nzPx#Z=Oy1!kEc=&$T9GPm<X@$7c5S4MBD59#=Q%p9s1ga&ijK2kv0k<xeb_ zYnbW`yLu!JcPGj07gYZkUU*96#O<FB_sm!~aemdks(SVJkMPHf>ZYz~*ROy2`my|u zB_<|r=JESj*t>7`FUx;$HF?sE<Nkl%nofWI;n&16+a{H)x@pqeUp<b0a?G#RX0r5d zlSR97`L6eEIiHxfkS8aZv+0DB;PVYpbB^zQ#5CuT;Etn<by)j9_Sl^J{E_9?(a9EC z^Bzg=%wV!jYlu7hyIgL+iNod=%{lwli5j2UUcmh6=$4*0@egxP)KA>gTz>l0fAFkZ z!otTh**F;(E};xbfMz0QNL88FN5=X;wh*a(zusVtiEp6i)_m;@$%qquT8@dCH)~xo ztD<d|c$)bo2t3-qe(sU^p3}NKr8m|psBB!{?|*J<|J#EH9oc1htR}v;-KFi2*&yFJ zSLNRN{WmLQe;%L9x3{IRY2R-Db#v8jY(MXOpI!f8qQd>QkEhtq9~WelzUF<K`+EIr zgAL6F2TzMvAJV%~Y`$vp)`u}kldg!f>h~NhJ6Ah>!gsHYc{lpF66ch@`Rf&KaUlD8 z`MT%#GwY8_$zHu$^rrG>w8FywEzMIeicd{?-XpMw>zaVd@zD3_Z{GX<%gtzU{I>N% z!TS#aXA@hS4^MHZ*}-93Qc-azZZ2zwBfFU4>w0aj=^B*`TlmBuEH-d%+vOZFpXa%{ z*XP3r|D;$f=-<69gQ>}NWn<!$*ff(TlU^y*ER%KdE|_e>)^tZA<@W}QQ&~Kpv<_c6 zzm9{qw&qjStH%#EE-{}f==MWjdx6Wp$xNPV@1z8n<L)SbQ)vEUCUc=fzN=PlowDGJ zyCy<YV_ie)%PxCd;r!d8q_sO!WmS#SrUR$;3RYR1*st*We+et&5xu|1etwvEuJ(;$ z|5IfnDaQ}W3%!(9%<(JHSZH+AWKu|P*#6JA7TTUl@vq<cMr=b#u)U-Iy7^4g%eTMS zxKMm`_~IFQMUz#IeKuj--4Q!G^i!^-;->QDEDP=!)vq*|YR^&snDxk?vIBa7GHO$V zA`}j7y5{UHv%_vyP>ad#yt(%8=e&GVS5)@&j<xtX`SkMX#wJdVuQoHTbeZtHir?hQ z|4H+kCPhdJxm{%mHT=A;<VQikha?`3+lsE+Zq7(Lw|;$|)a29ZPnIk=__+D^il&MD zFPr(_u!<kMuuoPmWp?k&<eK`@;+r$<>=e~md1v@vUd-iYw}ju$RXj#w@|Ut56LQU# z^`HFOdKs#M(L4sE!m0JqS}rrMyw%>%x2dv<RW#J>%FCD_vi2+g$4P5b+Pdtm9oO+> z8GRC-z#F2*b2s7H+>>*Z{!TP$y75YO^X=_#m8|yGHCY_vHh7SFx;}{Ivd-pB(y~cB zC0j)lN(<BDAGI9&&bjr)<(EHhKRGq?OxeZuLp#O0)_=-i%Q{;1R^Wbc$IF1FiyudF zoj(=KTNJ4DMST0LM3dhWzWV7dIQ}H{gHYsxJe3VbGt|1Tz7}<Tp|Afj>7vAnEpHQ4 z`Dc8Y`0K_ztIhlL*j$;ve_yrxZM}5u%hfxotp#g64R(baUpb^3!5t*HV~O97#ZnXJ zc<*2FaGCv4FRj8`qHQ0x)QZ-`C**qa?=m<3azHnnyGmfk61g9XrEGha+FvQytgjcZ zS$OMe^M?&^h2kKEVF-mjOXRN<T%MmKI@RLsE60j!`|7#&>2G)!!Y_Jl<Ecsew0bnJ z3H5&Z%AWo@bknk_PLk!Jzu!k)o>r8cK6_g2l+V%Um;I@~_4xi*U-8Y)TDPBHlV@K% z>+?G0A8ehi%`NZG^y~l1kZZHsapr(woP%A0y7=bl9^tl?$2z|^=m;)osyeT_VPT== zq^&CP%Wm7;v)D4@SN*F;Ucs9x0}Sh~u}(F<{mju-=o;(P!;haiit1i#y=t`DZT-!l zljpW9dg1cI`9+d?(!6DXF0<9@cNaQLo)+;t(;@uwJ!PG5)ulz}j}^_Bb~Nq@qb%RQ zr0$P*J#R-W7Mbkr&tSRkN1XlI>Z@<f?j-pJt*Be|P%PWXZSF?typ3ja>(AIMDrViW zG1Vko>#3et`o8?gPYY^(gwAPN`T0Vc?1RYYC9gyL!);x-gZ<_;mopk}-mrDaY8(Dr zb<d`rm)JJH`f2U!x9Rbf`djY)`F%d;WT|H8^{{CLn^}{CX00pB+mq!trMSO$U)Joz z>Z6yHw}eNYU6vX<KjM{JNU+<wS2Dr%4I<G-T!)HS`TTRbOrEl@K6in|Y@_Xh1nuw# zH;ypv)r^iTtyA96xpY<2+L*><;qIf)?yTIE^jKnFjbrtxVrk)YSylb_k=Jcz-a7v- zsb7KfbN#98$gVGHeDxRjzJAd=q4o14=Obyp{mW0Q9y!yyS@?KO>gs(P&-`jywWsT? zn_%qQX<PfRT(NQbZTfW8r|TUm+r?fVp7LppNb~Bwc5a&TUWPlgUMEi}S-t<=w_T@Z zKT1&6UQjn7#wS0+z@TrA)qn8fw7^A`9Hwjx3>KQ`9rTAxRc7^Jzw>3TivByc``nFl z4=mKmc>J1}3nSP2noYSN@y5dJTw7kGwc=~`Le9iZa<e<r)92j1$ujv9hloc1zTe)f z!dSP828k-FtC}%#DyleqD89;6?;ZMauJz=v6>lYWU3z!N_WQi|HP0)bpZ;I_L9pTP zkLErp-rc9x*@k=ltowKGUj3BV8RbDQ=RBWMd%M{9&vNB;4;#Yg_(oP9pQj(Gx!U0H z*6=M&mzB3=i~Fe8e)%G){l5Fuyu|ZgeQ$5=vNFre=#*NK5L{>T_eF)3d0AFThDxng ztwn80hK=>Ig_hOFY|@v>T%POu^v|NV=e}j$h}m*(+S*C>Sz<c>jJ;K>ujxkAuZzD_ z5Wa0z+&yg(8*^9ZFKXG-Ym}}$Uy=ChsnS>WebI~UcXxdYIGS*u;oz%ZD_`IG*U%QR zDBH=o=Em%8uN=Rzm0ZcZF)5Y7?R4wqu);GoZzCQ}pKd;vb92V&{{cHz#ve3MXnV^R zwZYXO&p1F|qVT`w?0=;x=6-@dCBn{`*IL)xzcDbn;!(2pqk%_c)Z7=VkIUXzyV&{g zJB@EM{>T}BE`GLVt9thDu!|*LZ10Z5_QYG2n^@aTv$Q%j>!w7k^W!y7<@?ieq$Sr* zzIH6=>dt9LZY9SG^YVC2Z&cY;c}VJOP4%&Jvmfo(xb2!9^)%7zxUE!`nZ~t}knp7I z4RT9VKGgp<k@3EBWNpuBj~!E`-k(lUQgOZ+<>~Odo$cM>I^HUWYDed+wKF&TiYZkR zeR@Ov=+zfd&%<3;UMyY~&Y73^>vOU4vprhcviunttNM~BOkJ4qykuRl`s=Uf9(=dl z9(dd%lwTs_K$>i`)VH<r&l$8i?ia3pV)@)7I`MUd$Kh|Y>mQgu5a9FXyDar<@mJxH z$KQQdWhK8(JiUCWOIp^d>|8I^g_6wG7c^J9^VoFQW!@EJcK={dopLNlSgkmsd0OJ7 z?o-@q9<v`^5ZIl}{dwArlbv&~9kH4!a^-AGqx^$+XDfKtyb^wM`F+p+#`#IzZMXI$ z&z!SI{bmVQ^jwK=GVKrQ*Jw1_q(1PRF~{!NmoF0@7d&c7Ty1sxx~b~Br@T)NoQyec zHOFA?rma;T?Rz-Wdv~jT)Sh>uL)`ENTbhBk^~|7m$M_7Z0}UP=nml)ND&Ndi=k^PB zX(m=*a|pDG-|qeL(4PGY2flpcdFFBQd(*3FGv=Cq*dnuL@z!M5_nD=iB$-p|OJ4nu zJREyhh<|E&+L|P0y$6;n=kI>~fl0mGU8(4%%?-ud`cf5~_R|~Ao{!dB?t8wfIICCV zz<c4AaF&Omyl*=n@}9SKR$en})8T}zci${%Ynv0U_iU~5wq227vFz2Zo#9T$p7O4V zI-vFP$JVy$f9s>?T$R~*yx!f+e7B~=2kH89)-q#W!@BIByPfl#_GKP<Y8LGO&Hg*j zy6gh(>!le-#Jpx{ynGUDxAm6&#;;vgMcVb|njhnGf`u3}SFYd*P}=QQB)RtF>Kj$O zx!SXOmoV5k^~TLQrNyFb(SQ5mx(#Is=^b0A``_%2Kf3Oy)@xzGyA>-|pA_LJ4PKa+ z`^k1oeW<p*WZ=5B8k@H}Kke>m5_l`}bYhBmt%sgsVW(Ve$2{Sa6>Hqfrfn?e{N7b= z$a>GqU;}%W;qeVtH@cW4cb<xHXONJZeD$x1lIP0<{X142Wc1SfssHUoPoG+G&m{%J zzg^c{Joe8$#$VT$Hp#MNQKg1t{IL(FG9oXNT73jweXc+AovAanqvDR-B#Q;-vet?e z1+}f)e=OtJPoHi7oj=~`eW2WR`{&(*4u2{p+S^C^Y<quWXV06ilW9wTa^33KB%J?2 z_UZIfIYtg^e#|?f(WiAprSD;2sI#ZcbFF0_8v|}XDwKQB!kzhdZuFz`2_CDrcZIoc zdY=46FY!-T!0tXz-ug`oK74##v50MQ_@uYCr!DqQT4NphH(u$cy&-G;vc>g^o!dM9 zn8_W8udM&8J88#3uAc|FemeRb<`Pz)@_JkFnTt|EbyK4s-P|{!C|vZZ^%CnaL$%|n zHd~zv#V51x@$L%$kykM_<eu^=(@QaFwfon<*ve+6_2paZm%Is=p3Zt6QP1bOS9+3_ z<fK_EluA41EZG!scfMo){^r|B?-#T>P1HHKlVxsG#h*<gx6{39K3F|7{Uf;b<LQm3 zA344(3U#e<;<roPVRu|*U&jW!$i!NsL$j1utkt}BBz#itr9)4>y!ZPA1l~U1Fn4#0 zmEVlkqx^*rTXd#<%-Od4=TFs`IdAxOq!(ShvbANp`tIo;x~D4bo$Jf;r+e>*{7b+1 znSYB4{g}o0SIsH6-eYa=;}@oT<bsm7OWdh*{`zG0n!Jx2+8)I}G@tPO`~64XXTRFd z8sN>&A>gHHwvUa0;Vdt5We3_C@PVt!tp2|LV+(=0_wj}Wm&{yq7ga|)zPNPz>{>0y zo61k$3GO_(rK0e0%$oyBNB-CK%{4pMFPBli-eWrZr5lewo-x1QbG*Xc-PYn$m1gI= z6I_b^FXk33?WwDMf2s78UzP3GM>AX2Kbf~<=aMsjPe>m22$~nN*(Q3YgyAf%lES?u z%KPFz*B|lSvE;OSdDxx|m$<EN?*-=sE0%XB9WgFx?(gCFI4R^|oAeDepRLLI`nwiz z#tMtY=<U<0Uv6r#Yr5p^-an#T=iX&*%KDMyEaTI%V0B7wr_IYb{FbMAvt&1ae)L{k z*mCLp%Ntq#Czv#`uFEhw#hSKwhP#1OZ}&=1rq<+$H_PiMGVEii?B4Lq(CERfycfTB z$o=mASXO*Lx~JBk_uJjKY%`ANeyv*-U%a$nrNtrnDW5mED1GK(oxrpDuA$vEZJW(U z&d;o4{?XGn|D1&HyQr8o7c`tcp5_ugQvY1zNzWQVuEnSGHQ2TsJil-Gm)iDcT6#{| z+xAI!)t<i*_s1?ev8i4%@ZQWNr^I{Q1VnXOZ;3VBU*Z(tFgr<WZ%Dz4OTi0M*S@p; zIz`{=$}7W!<2zI=Cl~lf^v#~|%{yM&!m?S`<7=bG%!{si7j;YDrv#baUe-9zTDarw zT=U6dUTF>KhH10?*H<i+oX#cC<0#_Oo8T#YNFhW_%P*F-K8F3_pER@jog8^h{s-Sr ze*M{Uj?<*gO0Llit}44iSN)s*W6Fe-Fs(Ud%wKFzMC{R@n3?Jn|8{T4GgU#R;HmG_ z7X{z`yZge$t=G4odL!YnbW7(6{uy^RtjcVg`{$VG+~cnVE4yYITWH$N{~uj_PVc?p z>5LxU$6pM&BwqPkmM;}H4iU9s{Jo>T@chb<Uo!)ie*W~Q%5LwRw}+cIEt)px{i*qF zXTzf2T-;af7y58jboi|~51LJ*jCW3XptEn4YVl?Ew{vv^uJ4?<(7WJ5UNx8GDxss2 zJYIrdB|6>RUp9nIesUsOt1W?lccOv(wUrxE51j3dEpOxXZ`*dYd9T1e9(Q-a7g~D$ zVg>bK6B~kyH{>`}uR5^Wv$1W%>hG&_-$ux<%j0cJNVv!PN`+_n{B-eyIdXhv2W!_| z-V=8DTdW7qiDQKa&TGidI^lcY{I5w1>vJB@i9M`Z5xgR{pZ^%HUEWx+z-Sk1`sxMD zKRP&SL^=Ccn~FxA-BtL>>u8ul*~_&Pv)nh794$8us2B5yF4(r<jq0StdCRi0KZ>6e zIvV~^=2>SJ=OXJKe)io-YhO#Zz4e%`5-{^a`o+LE+Ut6QqOaXLc&%r0U&h~p3$rhV zo$OI5mYThFiHD58MDd(gVsGnj#Ie6|`e^mp{En8V=rzyK@Q-Yv2MwND3Hq+vBWP+R z{doJ6<NMt%KL}e`|0yi+&Xw#rU168r?<{-2<JU}ODZ49Hi<^tSNbp%r-{}>$bwl6X z>3`O2K9I+2R<@^_o&DMlZ`TcePak`;w=({H8yWCz`J~zMZ<l#S{!)E>e~NSSF7B&B z#gChOH~)^_7ZQH_(Hrf5^@&j$)yFc|-FHfzwnN2tYV<k98;&+@hh>Y*VkfTi{=#0H zy=;$j2IFl`;fC}Ndv2Xw_Z>Wwc0|`daS{sygTE+p*##O4nyFZ2S05VdFYG8{%e-}I zsUVBa0)-W#x0Q56?L8D+R2CfjHBqGUL+&owQ;*8p-}ssS(e@P)mjA=}Pvi02#Ned6 zt((riyR-NEJmcs0X5Rew@AGHzhW3b)3;Gk+z1=PE9Id&0Q_}XSuWwr4x|8w2S+yzm zora{0sFvgsiDi$9v**V?ePg_&{^~wyv1uKfZ*jlWQoI&(KlC-v(xm(em-L*og3VmS zc&6*dI9avV@kE_?z~x*YsLm4_8^0%W`zxgz4@><GdP0^S-Ww~o<CksGvMn)f_tNx2 zJl-uh?7T5_vRta?{D&|1-|$P>8Zy=KvRL19xwb=MYi(~&Ts!ScZoF3c`xAXT!i(!q zBr7!+wmIo5>G(Xda=ypO629DNk;>hpaq7#io&MEWAac0EiT8?o@H;n&UB3HOYfjZ( z3;mG!#!2;j)Q+XxGds8}m%f~0G}A(GZME~8kK2};dCDE`epGMF?ap@SURAc%o(Y>Q zxxa7Ow9(@xr>pzbGnT=II`h{*Yp8#;?fBnivh_QQwoHGnd&jZy*b`mR?&vKBU50I~ zo5R$^A~zcJ&gR)UD~G-BM%mYyGdgaTc1xX`uvSnp{B6UfdFpd!PS!sd)z2G$y*lS~ zxsBwmy3bn!es4OMu=h)?U`~|{k84L{&@KP@+GaLu_^l%)i}@$mdtc-F^@9D$sn7Rc zeq_EDUiJEL{e*8bIh5~c^Gr^ixOQ*2VbY%~J33N(-R4>c{A;^oxUTkP!4lqQa}PfE zFH+jGEia+#k&n62yv${@U)CyJ&OPihTVdYIJoC%#F3Xfkvzupl30{u5vbd!3pTyHV zxwHxmzZrpd`VZ^OX`R_7+aBq4M4^@aSky9mMO(W=$&b%o{@ke&shB2E@)umoKCM-~ z+swqkuomUK7*I;xs#4`vpDW(Y!MadG>F72EZKW<T$0OGkY|ZlW_>vphwrRuN+-=dm z{~PNMu>WuHx6`O&_2sdf`D5{w-M5!A>0U6oIdf<EyPePH?KJ-T_xWvphU*gqA0$ew zeDNwQa+6MKk=v?>RcgAoFSnZROer*0)}EFa#`;5I8SiF=Lf2sLRK1Unb}gxwIJ#(| z_pZd1uR}d`r<uG=xFIxC;>e<n$F{0(+N3IO;ap!<@1{QUwYOo*oV`D%uUeX8Fz2+H zdidwd-yGs}Uu+6B<oy0`<Lva!$2XUEE`P>x)qeG>Ri?)u^s0wR)N~)w<j_B)<Rrj4 zCru*Pb?d~F3RZ>3`d+1Z9O+l6FwmG9!CBv+sO03Z+xE5aMYei|za3l>3%&+^>Xc}i zZ}QN4=bukbd4^{N&aJXKAKJD0PRz7$)1Z~w*&3U+Da~HBx2)GL+gUd_aIIj<ixbgP zK23}%dTf1l)9W)5&x*FXESpzR7F?(3J!_5llH;pq$7~Ghe9q)1$;LmQC7frn_sd)B z1d=+s>pc`a*$;}F?({j+_NcS%bMfLivMU9S87e+7a{jWTR!Jphp`Lbuc5MEMhl>yX zH(z$Y;KofRvn#Gm8fw#Z-*FxNU{dF_`{^6UrFGdpclYQw@92|cG+%Mx@vWF6zIT!` z;*Gz(yAYy0mAOi|xvh!ijM0%OCAU)%n>?$Gw!|2hmiyMPFS&PN1(WmoX4P49T#FrF zDD6<-ermLr$#q?H>5RPVp{tkY@jdJ9TKS<T%RD!J^1XQ*mM##__PoCHWeJb|W2RUq z{k=2fEX*gS+5OI&WcnbYIVJhqX@~oKn?z2Y&yew{JG$~od5PU(&+F-5au$CVXS!|i zTX3&@Mzi?y7q{O#^wkGlU~a1S(07v&R1sV{&CXwLBU_uI5);pLo%)k!S&knr5LC{4 zrFHS+g&8u7WAZOPt2X~8ywO}j;<jrJ`*evigJT<>f4Q{&oU+qR$G6G~uB~^~<USus zIrvau<-%PuZ*Hor3-X)oE4`;tWARauzss*==<G5%bkhID#^CycU-W|B$I9+}6I0i| za~HpL%yGWpca}FAKJR$U)MuUDmDX;!>bJ?K9TGhe^JRXn%6xKHOex;H^Gm?RZ{OuE znXsL_{xYPw9@LP{JZCk<m6?GdpB=d}05xP2HL7gtt@Cdi2;BRteM7T|!TUwnfxd|f z9*sJl7b{M9d8^Ovb>UJ8y{_@+eszt<q8!VOf#s{&ULSmXxBULz7f*gwxvZNU=z7_F z7gJF2w`ECdFQ1Qp6ty|YN^0XKp&((!aKk06t3{3kJS)^X74%^S_t{UmHPbJ8HP4x+ z_BSQ(Ovik+ey4iZ<VV`RTPNIh|5H+9y~N4s&xbvK7+1bK;`Dyq$Ks^D>YM#1b4DKO z`slgV!Ov*oq?0Lm)5NkBHb1>{TkYNtoyc>ZdMX!p#B}j=-Qcj#3iA9oIduWY)0SVp zn?+Qgtz=pC@axyoX*bG)n&P_8tYVzC&NC`tX~&80Q=$qEY-Y~b&Q<^GW7LfM`Faz= z5?Ezaq|U~4yiPqBlz;5hH%ZkG-iu{j`8wtP$_YB@L|0gb1s&m;$?R40>qy;SjfHn# zEp#u_J(6Rm@~mx1R*!O2@T{yaieIiMe$bb=EO(*Wdsi>p;~g`XUog1iqF$c&Py0pR z7sg$SH%4wh^5|%hP;1|W+0utz*DsRz{nd?c{l19)ZV9>habo5E-}!^}_e<ZLZ>N3V z@%kj~O_9l5O(&C<Ny%~8U0UUIp(N5__LHjUt!Fr+LzfF~Gg#&O(~0vAi+_RA-pX+C zsB0IduyFHAs2s3ykbkCqb&1rpJ*`q~*K%*KUeN#e*@u|6-h(PTYX5NtB}H=>C27{X zFtY9a^z%dL3D#A;^Y)5=E1RHv&;3lF0WaI8Bi5-m-ad7T_dhKA>(T6|g`t60Ix2Du z@63)9>U}Kwf}LMg>V5NV^Y>SuZVAZCwYT*x50qZEQT>(aRhH0$r>1QboA#+(deyJz zz9+)&bhBD~HnlC6+ui@<SoNtyV+|SJ33pBlme>FE$xQS261CaWvB=C-WUGJTGMS9G zFUoSZ?%s1L!{%*EdHUj=!Ch;2tbC(UVaFf1{r!5w)Cre&UHHzi_T<&i8+O>fe|TfB zapJAcN4s0z=Z7R!{*c-0kQWwmX_Cd-#O+6JZD6?NccrAE;970Zn<s47)S6TmJX~XW zv$A3Dzo(3>Q|pD&580ONJ^DUd>agIZ+|1UvK)EgT<wth@s*N`Icg<R<G}O4c=-$4w zLN&Kz=NewBStTo-n^q#M8uS0wjKf05o#!R7`b`l%zIo+ZdDE|2Gmjl?TlQ&}LE#sr zD_k>ornJfQsXcpkr)}Y<DYN{XKYFg;Yo?O8d*SWkw0SqB18%AvO!;?lQ|hah&3^WV zeAee2yd-w9xgWgGZj<3{_T=vG{|o9xzVxmBeAw>7HGScV=6#$ki4Qh?+|AOzeDW6a zd^?2<_em)a`j5N-H~ZcMxc)fA%)oGjA33LkD%1O4D`ltGX;g7dKdMtDP=7m2z&6}0 zEJvGnA+NlmqDtd6GXYc1OwF=|Qw|&new=blYwk1O8QdH#M^6-4zm0$K|An(UzsX$B z^j{ZVMyLJi|8-%DyZi~YjRt34tSkFI&$c@3`>*%r^?x`M1ZQiBG)m8%R(j={?fS}k z&-WG6)=KZY`QzTFS?pSun6}H7$4~dIzipN29V_?#Vp)vjv$jm8TN^iPzfDj3eB#b@ zrt8^zS1=}sXmh7%g`NHs#uC)}Xq!XT+~{Ht#r2Lym+G+SWlK1zb!+cfl@yU+!|8jN z!-y#|a;<sK)?dHc4osbOb<)>!ANxvpi;t_#oH*;U$=lq^TmO7NG4mVWnr#O{-Y)v) zS@xy=&og<ya}4j|c5F_Pcq*E=|IUXKC8upV%bu<+o3Y{Ljw2dZer4}2To(3m=K)p8 z*H*R~^Kb4xcQZhY`|6TE%dOity`0*;)%mk^@b<IU_Q~yBk#_i2{>-@JsRwT!6nGPI zG`2B&Z&i+o%<NefYh{jGu72oT<6<}~E&7;X<4&iw@8{LkZ>gEHs7>gZ#-nw2jIFnA z_p@kh?^IGVUzy~X@FwQt*0R~T@~5XgpMJ@-rswycSxl$y&Ny%=ddcpM|FW`tZ>OA^ zr+W8QGGn0ViAr`OCG~=AhU)*X-+7r$TOi>-Rr~gpBmeLG-f-gdJvlX@=m!gVo}IjG z`Nxdseb<r3LSapdz<XEfS*2KK8Z)PhEqN;CcRcr$?`eCh!?wp?&pYp%urx_$|LwP4 zOl9X=MdkeOJX;dHhuc#1|DlCb7oPR*IInZRZwJ@9aPR%f--T{vr^G+ndw;=SuXL&R zpDhoGYJ9S6mk~4Ik(Ix&xK+B4cX7<|bCt(-`nAmazr%5bqe}1V89iL~?T6~?73`0% zvQO6dtMpY#Zzks@ZO54x4Rp00N1GQ+{+M^L#{Zy*%QS`H9Y=F7muO6B_<BTVt>QlE z$@^IhqB;J%9Qk|jPyCKxece5W&J<NC{gv8z>5sNZ&F?7-e=3x`pBs=c_t+8d5RMg- z&WU+mGi+XNlY0Jx0Nb<=rePa<*MHzuzF*IF*7l*s3C+B72biCA9f&%jT(s}x3H2XS zde441p2RtS<0YZm(;AnzOa1;Mx2!o(dZJ8XUF*iHH$JJ(I&$I1eu>~h_oL7MJ8-`F zc_A(HUh>A0)dyG1yYTwFgW&SULw7l4zxjA{&JOs%%K6>Tqf>+P|EbQ4*Vz{QpV1NL z=kWZl<YI$*ONPJ8UB0;2UKCx!e*U=NzhnPFHT7ka(|0B?GccraAm?9DO?}Ux%B22w zo|2_N?Q`v{t^AD|4c~H21*T}6UN@oaWJbc$J+t05eY<dD?>6g5lT-Wse_p!#&OuK& zRgeF2*Mg0wL!SmO@0<JZWhT2{``jkg=xvS~toL6v8lKGG&+m2kbKvsB<*gxXOK$NP zoUB|}*s$AluXk(n%dfAL)zZH7T&;fp&obZaQGG(;ao<U%%L=`go7j|S9{w@CPCjhM z!$t8~A%8>EF1+`DbH&J6V!hhEixoR&9f;C0FxfR(^O?HTjuQcehh3T`6o&Yy-mFWw zevaqGrVWi-qbF{#Y4;bm6p#L4I`v+<dCqS3uN_~Qzh7&gDDogI?_#Bdx=6_+gI;rU z^T!K+vs#<f&-96nJ28o8(wt1*qPr=TX||b%r#wtz7EviK)-hB)efyi;wyo((txhLd z47aX6b?B`8-L<Crtc-j-Eh4pnm)t~O8JQn2-8(ag(<fG{TynY0PIr|XEjMoE)(3>M zxK;)9bNA+^>Ap>W&|-XJ!GbM3%jWew)q3uEWASF*r7?aC|Le^~oSbbh{k+1+;LcT5 z^HI1-B)DH$Bvi)yuSV{yn}>CG?6mN-HrNu+vQ6=gro_}!0hc~rt6}2(9$guysS-cS z%kAsMeHQ$Nf3+m53zQ>v+giU%Skk_Jq4aa!=g$*%UgZ8fRn|6l^R;X27PIxIP5-?5 zrN)i><#&!V3mExqoAtxB{%ylH*UscG$C+44@8|u{?OHV{pTXy#$Zf{3owo(1G8HlY zpSpr~`Xa89hqE6}&6Hbv=;&8nt)sy?lQUFP`=$xrn*Pjx<*um}*IsTrB^q>iMO5xJ zS?9SXzVg?Xs<UXWXcduY%33cYpn05QN2Bd=o2^j?eI)9dyIN~+<y?!&EM8C_IW^&6 zmVc$}-8ol3T@OjUdBR5gnDgQ5DoZxopHq-wHQW3uq~o=)#HC(w*-X{hnY$a8b-&*K zKla?Z=kKLfXE54cZaw3DI{3h^w=%oF7OeNoyb`rzje&J};cM2rxBS=dJ&@(JRb_?a zW2K{}i??fky3*^AQO)s`TPJhbyZJ2-iZ<5I_-pz<-74OW?~v-jU4qt24kdiaYs{$I zC()JWY5wV(?E{Xwd!gIT|FG3sFYh#eTYv5&gH=s;ZfQFe*E5tANX+diG++7BQ0~(D z$<x1ny5#v}-HD5jj?0*9U)|8q+cZ~xbEnKbr*{^6gI8JWt?-w(mYhGWBGO#_LTFZV z`**Plje7lj-YL8PnuH%$e}C~}tC85`=jT4L=icFHwh>vf;qoqy_;zF8_kU8(YA^hi zwx`oXKkV}RW3u}j<=f2DH)#3RKHvPfWQufsjN!)p$-m{NMjmhYqZGFH&$<vnExV<w zW?wwrQNn*X@r%Fbb7N3p;Fr}M_mr7|VU_^2FqpoyP+WAoziHL}XUwhD+qVnKRCj4i ze~?wpGJU>FwJmdE<GktjU8<eI3{}@^M=&GPwb~8L*yLL61ZI49t#;;1Y@FwVxIt;U zhg-FwykVBF5BTtK@Y&%E3<3<uKxO(2w`yA^=d07NyHz_fo%lUn%DviwIh((1`T>D5 z@#$4|)jZQ1+^gl7CW}m8;9l*>tSVkMJ)pZ<a{6EQYJKMS@@3Ntda5O-dw5hEFr_L_ zukxriV=2-oW0)S*UM)ZUvPZQXlZ^KC&mPrgOyN4ywLPnCn6z}KXL?rKGs)>sU*%bC z&7y8v#xVU=d$sa(9<ORCrfn9}HN2`#nJ-zFO*hOamz?fkTP8NW->X`S+0_prBsiVZ zzgl4WH?L|rX8lm8xPf=ICv#O;+4RCC<x<mpszs*%4KL%LzSFx}i+OqkT-b$~HyzFq zonGcst;g)2S2q1(Y_;rk?a5`_(+!Hs*r#9fsWxKXT!1FdJKe#zT8nu}JDNDh^try( zddxc~Ld9SER$DU*UV`$pCztU+T%6=rEyrB_ylncyh6?HF^Zcsqm}7q;c>Ew$dQ4gj z(=Gk0?U{L4%cm!@mCH__;a{!A{DiH1x+O=s-1Nu()mltVoYVOOs+AN#C-K5gVSmWL zz#xbm#SD9RrUwR8+cM?xPM;7^?aj2CZ@Ob(wdVA90_FVE|Hf4dOjix8mSUPL1QL#9 zvK0f-TGNjOR_ig%kOgt1rV9jBn=&nygLBxXrw3K*G5ITkM3kocs+Mz1znM`jIQ>9m zHOusCLDf=Bipp>~p6Lp~)mn_E(?14POHWS=t~Oz6Rs+dOP2Uz=ZOrsk6T)E)sWxGf z)rN3FL#mCLrs_dB0!HO*)At*cvrb<hQmw`GMjtNBHT^$GWR)>Qq#&%CclvG9a>41n zdDT1+=M;xlOED$cqAK8-u326!GW{Az?uaW~PI5YTBg`9CVbxMhzTR*-cc!I&5YB{% zYPRX;1Il@)pDwHBnf@uPT8`;=7^)n{bgS@cJ*Jcxh;TtzHS2W$jB>8&$I7Zjr>_XF zmSR#%LzUy3u9Z_QFr6`?T8b$l2O>8iqM8q+MR0mpM711Ka|vA7hG|_TgabDFZA7&t z(}8+a5w7WKIn^T5QzNUTn65WZZ;Y&tWoqpJ(R$PQqN??n#Ct&;_37uLs`;kJrBzEz z?~baLVyc<|7q(+^ngZwWPuEYc7MUIqT`k45YR2>nvDI?Z-$qySOrIBBt<N-Z7F@)N zdFz~VP%hM*zQr3BpcygMQp{<Kz~Z{okA+qXOg|J;EyWbR9HOs&WjWjQC9%~4(}iNI zrI_+pK!kl_tM!>yt^#qCrq2g)V%C5-0nEvpz-CEK?~AKupY9x2t<QXNGeXFeY14L) zLb>U$_m^`|e-~G6$#i%xTtsksM0~Xt)22gk5uWMm;;Z$TU!8@T!FQpYb9#AIwZL@2 zglZ{f?ekD^|BK}u)BO{wwU|XOgN0<K+gvT@n7#lcboB~U=w(8+A(O++=?{{s<)<4w zE9U^kqv-UA#A+!f_9t**p6T-wtF@Tsy#k3SPk)zKZNl{GJ%r<)RBg<3<}-+6Jbisq zwLVkO9}p*zNrZ9w!IWzG>HCtad8X$jSL-tw2*O3Im=;MvIRBHXIi_EhsetB(4YAcM z)16YPrI-$CASq}~skUNzU<?w8VB&BB(VCEy6Omdi#pL1*5|N+&F14C_`n=R?eJ1NL zxQHc_W-N#!HQhJ9LV0>XOEu5*qO@u`ri%#>;j?KKGSlxyRSQlB+kQ8#T8e393S3TM z`u>7yf$7fa)ly8lnGj*$_zK?XaoH6-kkqgUBxjL_D#t#(prC?f`iJytEv8RJ(;0KC z#iuu9RI^UE$f(w5;w*uS7&DzMgKz}0s#&KC*H%kTf0a=!$JAYcB&?QMZN}761raID ztTtuZTn*tI&a5_JnpOwl2xL{eGM#9Ib9km#WmOw6Nwy-1oX@J(XG-dZh+OEaV4E(R zU9Hcwz6UPCH9bGOT8l|y0!Tz=y4|D-vFQSh)jZR0W>?EGMNEYV*G;bwo!%Q(Eim0G zr&@}sWd=le)vOA>=?yv6T1;E!K}2pXsNjVZ9Zx|DUn~L%hcfA{1kq~K>vBOw^;!@| zX8N4%6<pKn*H^GYims=*)pAT_Tj6qi)AjSJwU}1#f{2voRXZ^C9)@!SA*JT8ylN?? z)YBkg@#**StGT96I9tIp{Taxu!THrvOv}$B%jH*_GBI3%i+C|9U59fdrr(LG7Mh-2 zP%X!F<rb2#UV63Y^z#MPQq02lE2cVDicBl4wq;g-0Auq_Pb#d|W4`&QVtQgpwZe4X zqH2!my9=xJ8E;IVSXiw!{bzKw$aKx3YAI&X=TJ2cFDt|#RbCHBJmW1woPGL*qG|)? zEuWBuw2G_sna%!ztkeQEBA^w@wBl+h<_-Tr!m86BFjlfmzf)YT#iY+Ny|AKMbh?2+ zCHwUMPbyfaN3m6ML&^`Al4>cYa#nN&jV0A4OfDP{;Sb!ET+^?WRO>Tc<b;dxP1h=| z)?yOmgNPUiREkWm2Z^W&Ktv9dR@*Z9ia|K>W!0?HCCjSynVO~HBF0R=<v|>&=?CUj z@=X7rU&%9FHw9KG-!7|`VmhFUsz6}6Zh5s96SpN?n0<Oxd9^i@x;Lr_52Tp*QC=;@ z6cGlJ)0ys2QLWF^83W=(F>Oo$(NL?`XI1h{{|}O`&p;IxfF$&?%4#Vlrd){Jn#yWh zrupS?4j;rW^{Q$qCi6OoaBNkz3zKdygtND*+L<X~8iaFTUZohMz;&;#mSUPS2QDlH z$t%l2!etAmE7nx&PXAC{t<SV{8Hf|jv~D$sR-1lrZKW8bKs#1bEyq-}9xlu`eZ$5| zw&@DB)mlvHn~{VYYO4hm8mhPZAm1CJj?x|z*)e@%ZM7*_74ppraww_<cY{<(O;@O^ z76Lc$z9608EsLVmY9B;tP94<lIHcpHQBCDN0#YhG-L<}2QsGbOb|2&ujZsbAdK9Ac zV|29y*saJX_M$4CaeVsRx@v8(s!pV1No7!+$#N2;O3ENBu`Dsbn~_O`0e<GM5BSVZ z1_p*+Mg|6H6kX|Orq6GvmY8<Ek`<f-!LCL=P*Dm+`SP<M<r<2hC_p~43^fX(E>upR zc)L;qT<9u-!U6fnCp8ok-LHbxDuYfp699V=`J4z;b3<=TpU_xs3XU)2jjyOCrau6w zQUMjE0$_(C@A5!Z`rvux^p8wc!qWo;szksgHdq7lnq5^C*IIo<Xy6Cs7l;kW>z-6l zG#vU4)}T85UsE*?I4F?U87QNuz4Q;PR$;mVcNNQY|K@5Quxp+oP50`cXxPeJHN8-y zN)^<y6alNvJcpRK(n3)?i4Ck)4ct@!I|O;;TN6dCJ{MT67O3d}aRc%wn-Ypz4?eJ3 z@#)U3)e>NHkvrjvC~7r?plT<#R+}=#h)qA$T5ZO(Mr=A$TeS)EZSkt<7tN|9rcZ6F z7MR}WS<N#&x2>9wSzEShx}r^$`1IYL)dJI(wpB|pSu0OJ*jDYvl%NWt#iuK@SL-u* zYE2JpuXbblr2`S%022JFH~k?<u-gbEC^p@`quPL})@*uVN3{*p0?X;^JF0D&w%AR7 z*HLZH#OOF(zq8t&>5a?u0uasRK7C_nbuyEnFNijo?$uST$CT<1;z&*Fu9lv@zN^}l zsVfL3;LEf#cDjFewI@?#9f+2izNNcbkIAKb`jhTz7ber*=~_M2&P*14)AM_(qnL^& zf@rDfPkX8jn2cvbIEKB|`phflS52R{uS#M1uC8i<>63e_rI>maPG{_^mYzQ6KovJc z_$f$u+a8dxFH_t-5G^)6^KX?PM7q7NT8b&|IYfA8U$q!t8e<yc%t8hR&A(L)3=9B{ C`Qf(! diff --git a/jastadd-mquat-solver-emfer/src/main/java/uniks/EMFeRSolver.java b/jastadd-mquat-solver-emfer/src/main/java/uniks/EMFeRSolver.java index a638bae..b6eaaea 100644 --- a/jastadd-mquat-solver-emfer/src/main/java/uniks/EMFeRSolver.java +++ b/jastadd-mquat-solver-emfer/src/main/java/uniks/EMFeRSolver.java @@ -6,210 +6,227 @@ import de.tudresden.inf.st.mquat.solving.Solver; import de.tudresden.inf.st.mquat.solving.SolverUtils; import de.tudresden.inf.st.mquat.solving.SolvingException; import de.tudresden.inf.st.mquat.utils.StopWatch; +import emfer.EMFeR; +import emfer.reachability.ReachableState; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.eclipse.emf.ecore.EDataType; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EcorePackage; import uniks.ttc18.EAssignment; import uniks.ttc18.ESolution; import uniks.ttc18.Ttc18Factory; -import java.util.*; import java.util.List; +import java.util.Set; +import java.util.Stack; import java.util.concurrent.TimeUnit; public class EMFeRSolver implements BenchmarkableSolver { - private static final Logger logger = LogManager.getLogger(EMFeRSolver.class); + private static final Logger logger = LogManager.getLogger(EMFeRSolver.class); - private Solution lastSolution; - private long lastSolvingTime; + private Solution lastSolution; + private long lastSolvingTime; - private int solutionCounter; + private int solutionCounter; - private StopWatch stopWatch; + private StopWatch stopWatch; - private long maxSolvingTime; - private boolean timedOut; + private long maxSolvingTime; + private boolean timedOut; - public EMFeRSolver() { - this(Long.MAX_VALUE); - } + public EMFeRSolver() { + this(Long.MAX_VALUE); + } - public EMFeRSolver(long maxSolvingTime) { - this.maxSolvingTime = maxSolvingTime; - reset(); - } + public EMFeRSolver(long maxSolvingTime) { + this.maxSolvingTime = maxSolvingTime; + reset(); + } - private static void assignResource(Assignment assignment, Resource resource) { - Implementation impl = assignment.getImplementation(); + private static void assignResource(Assignment assignment, Resource resource) { + Implementation impl = assignment.getImplementation(); - ResourceMapping mapping = new ResourceMapping(impl.getResourceRequirement().getInstance(0), resource, new de.tudresden.inf.st.mquat.jastadd.model.List<>()); - SolverUtils.populateResourceMapping(mapping, impl.getResourceRequirement(), resource); - assignment.setResourceMapping(mapping); - } + ResourceMapping mapping = new ResourceMapping(impl.getResourceRequirement().getInstance(0), resource, new de.tudresden.inf.st.mquat.jastadd.model.List<>()); + SolverUtils.populateResourceMapping(mapping, impl.getResourceRequirement(), resource); + assignment.setResourceMapping(mapping); + } - private int checkAssignment(Solution solution, List<Solution> solutions, List<Assignment> assignments, List<Set<Resource>> possibleResources, int index, Stack<Resource> usedResources) { - int checkCounter = 0; + private int checkAssignment(Solution solution, List<Solution> solutions, List<Assignment> assignments, List<Set<Resource>> possibleResources, int index, Stack<Resource> usedResources) { + int checkCounter = 0; - Assignment assignment = assignments.get(index); - for (Resource resource : possibleResources.get(index)) { + Assignment assignment = assignments.get(index); + for (Resource resource : possibleResources.get(index)) { - if (stopWatch.time(TimeUnit.MILLISECONDS) > maxSolvingTime) { - return checkCounter; - } - - if (usedResources.contains(resource)) continue; - assignResource(assignment, resource); - usedResources.push(resource); - checkCounter++; - if (index == assignments.size() - 1) { - if (solution.isValid()) { - solutionCounter++; - if (solutions.isEmpty() || solution.computeObjective() < solutions.get(solutions.size() - 1).computeObjective()) { - Solution clone = solution.deepCopy(); - solutions.add(clone); - logger.info("found a better solution with an objective of {}.", solution.computeObjective()); - } - - } - } else { - checkCounter += checkAssignment(solution, solutions, assignments, possibleResources, index + 1, usedResources); - } - usedResources.pop(); - } - return checkCounter; - } + if (stopWatch.time(TimeUnit.MILLISECONDS) > maxSolvingTime) { + return checkCounter; + } - @Override - public Solution solve(Root model) throws SolvingException { - reset(); - if (model.getNumRequest() == 0) { - return Solution.emptySolutionOf(model); - } + if (usedResources.contains(resource)) continue; + assignResource(assignment, resource); + usedResources.push(resource); + checkCounter++; + if (index == assignments.size() - 1) { + if (solution.isValid()) { + solutionCounter++; + if (solutions.isEmpty() || solution.computeObjective() < solutions.get(solutions.size() - 1).computeObjective()) { + Solution clone = solution.deepCopy(); + solutions.add(clone); + logger.info("found a better solution with an objective of {}.", solution.computeObjective()); + } - ESolution eSolution = Ttc18Factory.eINSTANCE.createESolution(); + } + } else { + checkCounter += checkAssignment(solution, solutions, assignments, possibleResources, index + 1, usedResources); + } + usedResources.pop(); + } + return checkCounter; + } - EMFeRTrafos emFeRTrafos = new EMFeRTrafos(model); + @Override + public Solution solve(Root model) throws SolvingException + { + stopWatch = StopWatch.start(); - emFeRTrafos.createTopLevelAssignments(eSolution); + EMFeRTrafos emFeRTrafos = new EMFeRTrafos(model); - for (EAssignment topAssignment : eSolution.getAssignments()) - { - emFeRTrafos.createSubAssignments(eSolution, topAssignment); - } + ESolution eSolution = Ttc18Factory.eINSTANCE.createESolution(); + emFeRTrafos.createTopLevelAssignments(eSolution); - int numAssignments = 0; - int numSoftwareSolutions = 0; - int numTotalSoftwareSolutions = 0; + EDataType eString = EcorePackage.eINSTANCE.getEString(); + EObject eObj = null; - stopWatch = StopWatch.start(); + // HashMap<String, Collection<String>> implementation2NodeListMap = emFeRTrafos.computeImplementation2NodeListMap(); - List<Solution> solutions = new ArrayList<>(); + EMFeR emfer = new EMFeR() + .withStart(eSolution) + .withMaxNoOfNewStates(100 * 1000) + .withMetric(root -> -1 * emFeRTrafos.getNumberOfOpenIssues(root)) + .withTrafo("choose implementation", root -> emFeRTrafos.getImplementationChoices(root), (root, impl) -> emFeRTrafos.applyImplementationChoice(root, impl)) + .withTrafo("assign node", root -> emFeRTrafos.getComputeNodeChoices(root), (root, node) -> emFeRTrafos.assignComputeNode(root, node)) + ; - // iterate all possible assignments - // Note, that this only considers assignments of one configuration to each hardware component + int noOfStates = emfer.explore(); + Solution bestSolution = null; + double bestObjective = Double.MAX_VALUE; + int noOfCompleteSolutions = 0; - Solution currentSolution = Solution.createSoftwareSolution(model); + System.out.println("emfer searching for best solution in " + noOfStates); - Solution emferSolution = emFeRTrafos.transform(eSolution); + for (ReachableState state : emfer.getReachabilityGraph().getStates()) + { + ESolution newSolution = (ESolution) state.getRoot(); - boolean valid = emferSolution.isValid(); - // currentSolution = emferSolution; - // currentSolution.trace().process(new LoggerProcessor()); + if (bestSolution == null) + { + bestSolution = emFeRTrafos.transformPartial(newSolution); + } - logger.info("emfer found a solution with an objective of {}.", emferSolution.computeObjective()); + if (emFeRTrafos.getNumberOfOpenIssues(newSolution) == 0) + { + noOfCompleteSolutions ++; + Solution emferSolution = emFeRTrafos.transformPartial(newSolution); - de.tudresden.inf.st.mquat.jastadd.model.List<Resource> resources = model.getHardwareModel().getResources(); + if ( ! emferSolution.isValid()) + { + // System.out.println("solution is invalid: " + newSolution); + continue; + } - boolean hasNextSoftwareAssignment; - do { + double newObjective = emferSolution.computeObjective(); - numTotalSoftwareSolutions++; + // System.out.println("objective " + newObjective + "\n" + newSolution); + if (newObjective < bestObjective) + { + bestSolution = emferSolution; + bestObjective = newObjective; + System.out.println("Found solution with objective: " + bestObjective); + } + } + } - if (currentSolution.isSoftwareValid()) { + if (bestSolution != null) + { + logger.info("emfer found a solution with an objective of {}. Number of complete solutions {} ", bestSolution.computeObjective(), noOfCompleteSolutions ); + } - numSoftwareSolutions++; + lastSolvingTime = stopWatch.time(TimeUnit.MILLISECONDS); - List<Assignment> assignments = currentSolution.allAssignments(); + return bestSolution; + } - // initialize the lists of possible assignments - List<Set<Resource>> possibleResources = new ArrayList<>(assignments.size()); + private boolean isCompleteSolution(ESolution eSolution) + { + for (EAssignment eAssignment : eSolution.getAssignments()) + { + if ( ! isCompleteSolution(eAssignment)) + { + return false; + } + } - for (Assignment assignment : assignments) { - Set<Resource> resourceList = new HashSet<>(); - for (Resource resource : resources) { - // assignResource(assignment, resource); - if (assignment.isValid()) { - resourceList.add(resource); + return true; + } + + private boolean isCompleteSolution(EAssignment eAssignment) + { + if (eAssignment.getImplName() != null && eAssignment.getNodeName() != null) + { + for (EAssignment kid : eAssignment.getAssignments()) + { + if ( ! isCompleteSolution(kid)) + { + return false; } - } - possibleResources.add(resourceList); - } + } - numAssignments += checkAssignment(currentSolution, solutions, assignments, possibleResources, 0, new Stack<>()); + return true; } - - if (stopWatch.time(TimeUnit.MILLISECONDS) > maxSolvingTime) { - this.timedOut = true; - logger.warn("Timeout! Solving terminated!"); - break; + else + { + return false; } - - hasNextSoftwareAssignment = currentSolution.nextSoftwareAssignment(); - } while (hasNextSoftwareAssignment); - - logger.info("Number of total software solutions: {}", numTotalSoftwareSolutions); - logger.info("Number of iterated software solutions: {}", numSoftwareSolutions); - logger.info("Number of iterated solutions: {}", numAssignments); - logger.info("Number of correct solutions: {}", solutionCounter); - - if (solutions.size() > 0) { - lastSolution = solutions.get(solutions.size() - 1); - } else { - lastSolution = Solution.emptySolutionOf(model); - logger.warn("Found no solution!"); - } - - lastSolvingTime = stopWatch.time(TimeUnit.MILLISECONDS); - - return lastSolution; - } - - private void reset() { - this.lastSolution = null; - this.solutionCounter = 0; - this.lastSolvingTime = 0; - this.timedOut = false; - } - - @Override - public String getName() { - return "simple"; - } - - @Override - public long getLastSolvingTime() { - return lastSolvingTime; - } - - @Override - public double getLastObjective() { - if (lastSolution != null) { - return lastSolution.computeObjective(); - } else { - // TODO throw exception or do something reasonable - return 0d; - } - } - - @Override - public Solver setTimeout(long timeoutValue, TimeUnit timeoutUnit) { - this.maxSolvingTime = timeoutUnit.toMillis(timeoutValue); - return this; - } - - @Override - public boolean hadTimeout() { - return this.timedOut; - } + } + + + private void reset() { + this.lastSolution = null; + this.solutionCounter = 0; + this.lastSolvingTime = 0; + this.timedOut = false; + } + + @Override + public String getName() { + return "emfer"; + } + + @Override + public long getLastSolvingTime() { + return lastSolvingTime; + } + + @Override + public double getLastObjective() { + if (lastSolution != null) { + return lastSolution.computeObjective(); + } else { + // TODO throw exception or do something reasonable + return 0d; + } + } + + @Override + public Solver setTimeout(long timeoutValue, TimeUnit timeoutUnit) { + this.maxSolvingTime = timeoutUnit.toMillis(timeoutValue); + return this; + } + + @Override + public boolean hadTimeout() { + return this.timedOut; + } } diff --git a/jastadd-mquat-solver-emfer/src/main/java/uniks/EMFeRTrafos.java b/jastadd-mquat-solver-emfer/src/main/java/uniks/EMFeRTrafos.java index 228b6ff..13eec82 100644 --- a/jastadd-mquat-solver-emfer/src/main/java/uniks/EMFeRTrafos.java +++ b/jastadd-mquat-solver-emfer/src/main/java/uniks/EMFeRTrafos.java @@ -1,12 +1,15 @@ package uniks; import de.tudresden.inf.st.mquat.jastadd.model.*; +import de.tudresden.inf.st.mquat.jastadd.model.List; import de.tudresden.inf.st.mquat.solving.SolverUtils; +import org.eclipse.emf.ecore.EObject; import uniks.ttc18.EAssignment; +import uniks.ttc18.EChoice; import uniks.ttc18.ESolution; import uniks.ttc18.Ttc18Factory; -import java.util.ArrayList; +import java.util.*; public class EMFeRTrafos { @@ -37,9 +40,9 @@ public class EMFeRTrafos EAssignment topAssignment = Ttc18Factory.eINSTANCE.createEAssignment(); topAssignment.setRequestName(requName); topAssignment.setCompName(targetName.toString()); - String nodeName = model.getHardwareModel().getResource(resourceNum).getName().toString(); - resourceNum++; - topAssignment.setNodeName(nodeName); + // String nodeName = model.getHardwareModel().getResource(resourceNum).getName().toString(); + // resourceNum++; + // topAssignment.setNodeName(nodeName); assignments.add(topAssignment); } } @@ -71,6 +74,100 @@ public class EMFeRTrafos } + + public Solution transformPartial(ESolution eSolution) + { + Solution result = new Solution(); + result.setModel(model); + + // top level + for (EAssignment eAssignment : eSolution.getAssignments()) + { + Assignment dAssignment = new Assignment(); + Request request = findRequest(eAssignment.getRequestName()); + dAssignment.setRequest(request); + dAssignment.setTopLevel(true); + + Component comp = findComp(model, eAssignment.getCompName()); + Implementation implementation = findImplementation(comp, eAssignment.getImplName()); + dAssignment.setImplementation(implementation); + + if (eAssignment.getNodeName() == null) + { + continue; + } + + transformPartialSubAssignments(dAssignment, eAssignment, implementation); + + for (Instance instance : implementation.getResourceRequirement().getInstances()) + { + Resource resource = findResource(eAssignment.getNodeName()); + ResourceMapping resourceMapping = new ResourceMapping(instance, resource, new List<>()); + + SolverUtils.populateResourceMapping(resourceMapping, implementation.getResourceRequirement(), resource); + + dAssignment.setResourceMapping(resourceMapping); + +// if (dAssignment.isValid()) +// { +// System.out.println("assignment is valid " + dAssignment.getImplementation().getName() + " on " + resource.getName()); +// } + } + + result.addAssignment(dAssignment); + } + + return result; + } + + + private void transformPartialSubAssignments(Assignment dAssignment, EAssignment eAssignment, Implementation implementation) + { + for (EAssignment eSubAssignment : eAssignment.getAssignments()) + { + ComponentMapping componentMapping = new ComponentMapping(); + + Assignment dSubAssignment = new Assignment(); + Request request = dAssignment.getRequest(); + dSubAssignment.setRequest(request); + dSubAssignment.setTopLevel(false); + + Component subComp = findComp(model, eSubAssignment.getCompName()); + Implementation subImpl = findImplementation(subComp, eSubAssignment.getImplName()); + + dSubAssignment.setImplementation(subImpl); + + Instance theInstance = findInstance(implementation, "the_" + eSubAssignment.getCompName()); + + componentMapping.setInstance(theInstance); + componentMapping.setAssignment(dSubAssignment); + dAssignment.getComponentMappings().add(componentMapping); + + transformSubAssignments(dSubAssignment, eSubAssignment, subImpl); + + if (eSubAssignment.getNodeName() == null) + { + continue; + } + + for (Instance instance : subImpl.getResourceRequirement().getInstances()) + { + Resource resource = findResource(eSubAssignment.getNodeName()); + ResourceMapping resourceMapping = new ResourceMapping(instance, resource, new List<>()); + SolverUtils.populateResourceMapping(resourceMapping, subImpl.getResourceRequirement(), resource); + dSubAssignment.setResourceMapping(resourceMapping); + + if (dSubAssignment.isValid()) + { + break; + } + } + + } + } + + + ArrayList<Resource> availableResources = null; public Solution transform(ESolution eSolution) @@ -97,6 +194,10 @@ public class EMFeRTrafos Component comp = findComp(model, eAssignment.getCompName()); Implementation implementation = findImplementation(comp, eAssignment.getImplName()); + if (implementation == null) + { + continue; + } dAssignment.setImplementation(implementation); transformSubAssignments(dAssignment, eAssignment, implementation); @@ -139,7 +240,10 @@ public class EMFeRTrafos Component subComp = findComp(model, eSubAssignment.getCompName()); Implementation subImpl = findImplementation(subComp, eSubAssignment.getImplName()); - + if (subImpl == null) + { + continue; + } dSubAssignment.setImplementation(subImpl); for (Instance instance : subImpl.getResourceRequirement().getInstances()) @@ -234,4 +338,335 @@ public class EMFeRTrafos } return null; } + + public Collection<EAssignment> getOpenAssignments(ESolution eSolution) + { + ArrayList<EAssignment> result = new ArrayList<>(); + + for (EAssignment eAssignment : eSolution.getAssignments()) + { + if (eAssignment.getImplName() == null) + { + result.add(eAssignment); + } + + getOpenSubAssignments(eAssignment, result); + } + + return result; + } + + private void getOpenSubAssignments(EAssignment eAssignment, ArrayList<EAssignment> result) + { + for (EAssignment subAssignment : eAssignment.getAssignments()) + { + if (subAssignment.getImplName() == null) + { + result.add(subAssignment); + } + + getOpenSubAssignments(subAssignment, result); + } + } + + public Collection<EObject> getImplementationChoices(EObject root) + { + ArrayList<EObject> result = new ArrayList<>(); + + ESolution eSolution = (ESolution) root; + + for (EAssignment eAssignment : getOpenAssignments(eSolution)) + { + Component comp = findComp(model, eAssignment.getCompName()); + + for (Implementation dImpl : comp.getImplementations()) + { + EChoice eImpl = Ttc18Factory.eINSTANCE.createEChoice(); + eImpl.setAssignment(eAssignment); + eImpl.setResName(dImpl.getName().toString()); + result.add(eImpl); + } + + return result; + } + + return result; + } + + public void applyImplementationChoice(EObject root, EObject handle) + { + EChoice eImpl = (EChoice) handle; + + EAssignment topAssignment = eImpl.getAssignment(); + topAssignment.setImplName(eImpl.getResName()); + + Component comp = findComp(model, topAssignment.getCompName()); + + Implementation dImpl = findImplementation(comp, eImpl.getResName()); + + for (ComponentRequirement componentRequirement : dImpl.getComponentRequirementList()) + { + String kidCompName = componentRequirement.getComponentRef().getRef().getName().toString(); + + EAssignment kidAssignment = Ttc18Factory.eINSTANCE.createEAssignment(); + kidAssignment.setRequestName(topAssignment.getRequestName()); + kidAssignment.setCompName(kidCompName); + + topAssignment.getAssignments().add(kidAssignment); + } + } + + public Collection getComputeNodeChoices(EObject root) + { + ESolution eSolution = (ESolution) root; + ArrayList<EChoice> result = new ArrayList<>(); + + // find assignment that is ready to be deployed + EAssignment eAssignment = getNextUndeployedAssignment(eSolution); + + if (eAssignment == null) + { + return result; + } + + HashSet<String> alreadInUseComputeNodes = getAlreadInUseComputeNodes(eSolution); + + // loop through all compute nodes + for (Resource compNode : model.getHardwareModel().getResourceList()) + { + String compNodeName = compNode.getName().toString(); + +// if (alreadInUseComputeNodes.contains(compNodeName)) +// { +// continue; +// } + + eAssignment.setNodeName(compNodeName); + + // create dSolution + Solution dSolution = transformPartial(eSolution); + + + // if assignment is valid, add choice + boolean allValid = checkAssignments(dSolution); + + if (allValid) + { + EChoice eChoice = Ttc18Factory.eINSTANCE.createEChoice(); + eChoice.setAssignment(eAssignment); + eChoice.setResName(compNodeName); + result.add(eChoice); + +// if (result.size() >= 4) +// { +// break; +// } + } + } + + eAssignment.setNodeName(null); + + if (result.size() == 0) + { + System.out.println("did not find hardware for \n" + eAssignment); + } + + return result; + } + + private boolean checkAssignments(Solution dSolution) + { + for (Assignment dAssignment : dSolution.getAssignmentList()) + { + if (dAssignment.getResource() != null) + { + if (dAssignment.isValid()) + { + // check kids + checkAssignments(dAssignment); + } + else + { + return false; + } + } + } + + return true; + } + + + private boolean checkAssignments(Assignment parent) + { + for (ComponentMapping componentMapping : parent.getComponentMappingList()) + { + Assignment dAssignment = componentMapping.getAssignment(); + + if (dAssignment.getResourceMapping() != null && dAssignment.getResource() != null) + { + if (dAssignment.isValid()) + { + // check kids + checkAssignments(dAssignment); + } + else + { + return false; + } + } + } + + return true; + } + + + private EAssignment getNextUndeployedAssignment(ESolution eSolution) + { + for (EAssignment eAssignment : eSolution.getAssignments()) + { + if ( ! allAssignmentsInTreeHaveAnImplementation(eAssignment)) + { + continue; + } + + if (eAssignment.getNodeName() == null) + { + return eAssignment; + } + + EAssignment kid = getNextUndeployedAssignment(eAssignment); + + if (kid != null) + { + return kid; + } + } + + return null; + } + + private boolean allAssignmentsInTreeHaveAnImplementation(EAssignment eAssignment) + { + if (eAssignment.getImplName() == null) + { + return false; + } + + for (EAssignment kid : eAssignment.getAssignments()) + { + if (! allAssignmentsInTreeHaveAnImplementation(kid)) + { + return false; + } + } + + return true; + } + + private EAssignment getNextUndeployedAssignment(EAssignment eAssignment) + { + for (EAssignment kid : eAssignment.getAssignments()) + { + if (kid.getImplName() == null) + { + continue; + } + + if (kid.getNodeName() == null) + { + return kid; + } + + EAssignment grandKid = getNextUndeployedAssignment(kid); + + if (grandKid != null) + { + return grandKid; + } + } + + return null; + } + + + + private HashSet<String> getAlreadInUseComputeNodes(ESolution eSolution) + { + HashSet<String> result = new HashSet<>(); + + for (EAssignment eAssignment : eSolution.getAssignments()) + { + getAlreadInUseComputeNodes(eAssignment, result); + } + + return result; + } + + + + private void getAlreadInUseComputeNodes(EAssignment eAssignment, Set<String> alreadInUseComputeNodes) + { + if (eAssignment.getNodeName() != null) + { + alreadInUseComputeNodes.add(eAssignment.getNodeName()); + } + + for (EAssignment kidAssignment : eAssignment.getAssignments()) + { + getAlreadInUseComputeNodes(kidAssignment, alreadInUseComputeNodes); + } + } + + private Collection<EAssignment> getNoComputeNodeAssignments(ESolution eSolution) + { + ArrayList<EAssignment> result = new ArrayList<>(); + + for (EAssignment eAssignment : eSolution.getAssignments()) + { + if (eAssignment.getNodeName() == null) + { + result.add(eAssignment); + } + + getOpenSubAssignments(eAssignment, result); + } + + return result; + } + + + + public void assignComputeNode(EObject root, EObject node) + { + EChoice eChoice = (EChoice) node; + eChoice.getAssignment().setNodeName(eChoice.getResName()); + } + + public double getNumberOfOpenIssues(EObject root) + { + ESolution eSolution = (ESolution) root; + + int result = 0; + + for (EAssignment eAssignment : eSolution.getAssignments()) + { + result += getNumberOfAssignmentOpenIssues(eAssignment); + } + + return result; + } + + private int getNumberOfAssignmentOpenIssues(EAssignment eAssignment) + { + int result = 0; + if (eAssignment.getImplName() == null) result++; + if (eAssignment.getNodeName() == null) result++; + + for (EAssignment kid : eAssignment.getAssignments()) + { + result += getNumberOfAssignmentOpenIssues(kid); + } + + return result; + } } diff --git a/jastadd-mquat-solver-emfer/src/test/java/de/tudresden/inf/st/mquat/solving/EMFeRSolverTest.java b/jastadd-mquat-solver-emfer/src/test/java/de/tudresden/inf/st/mquat/solving/EMFeRSolverTest.java index d953849..9d21b68 100644 --- a/jastadd-mquat-solver-emfer/src/test/java/de/tudresden/inf/st/mquat/solving/EMFeRSolverTest.java +++ b/jastadd-mquat-solver-emfer/src/test/java/de/tudresden/inf/st/mquat/solving/EMFeRSolverTest.java @@ -40,11 +40,12 @@ public class EMFeRSolverTest { int nfp = 0; int req = 3; int cpu = 1; - int seed = 0; + int seed = 1; ScenarioGenerator generator = new ScenarioGenerator(new ScenarioDescription(tlc, iac, isd, cac, csd, dep, imp, res, req, cpu, seed)); Root model = generator.generate(); + EMFeRSolver solver = new EMFeRSolver(20000); Solution solution = solver.solve(model); diff --git a/jastadd-mquat-solver-simple/src/test/java/de/tudresden/inf/st/mquat/solving/SimpleSolverTest.java b/jastadd-mquat-solver-simple/src/test/java/de/tudresden/inf/st/mquat/solving/SimpleSolverTest.java index 7647d3e..572b253 100644 --- a/jastadd-mquat-solver-simple/src/test/java/de/tudresden/inf/st/mquat/solving/SimpleSolverTest.java +++ b/jastadd-mquat-solver-simple/src/test/java/de/tudresden/inf/st/mquat/solving/SimpleSolverTest.java @@ -37,7 +37,7 @@ public class SimpleSolverTest { int nfp = 0; int req = 3; int cpu = 1; - int seed = 0; + int seed = 1; ScenarioGenerator generator = new ScenarioGenerator(new ScenarioDescription(tlc, iac, isd, cac, csd, dep, imp, res, req, cpu, seed)); diff --git a/settings.gradle b/settings.gradle index e6ec605..fcba86c 100644 --- a/settings.gradle +++ b/settings.gradle @@ -4,7 +4,6 @@ include ':jastadd-mquat-base' include ':jastadd-mquat-benchmark' include ':jastadd-mquat-solver' include ':jastadd-mquat-solver-ilp' -include ':jastadd-mquat-solver-simple' include ':jastadd-mquat-solver-emfer' -include 'jastadd-mquat-solver-emfer' +include ':jastadd-mquat-solver-simple' -- GitLab