From 04a202077114385cefbd5ac1ccafacc4742f5d60 Mon Sep 17 00:00:00 2001 From: Gleb Mazovetskiy Date: Sun, 22 Nov 2020 09:20:58 +0000 Subject: [PATCH] Add DevilutionX (Diablo 1) https://github.com/diasurgical/devilutionX --- Config.in | 1 + batocera-Changelog | 1 + .../configgen/configgen/emulatorlauncher.py | 4 ++- .../generators/devilutionx/__init__.py | 0 .../devilutionx/devilutionxGenerator.py | 14 +++++++++ .../batocera-configgen/configgen/setup.py | 1 + .../configs/configgen-defaults.yml | 3 ++ .../batocera/core/batocera-system/Config.in | 2 ++ .../batocera-es-system/es_features.yml | 2 ++ .../batocera-es-system/es_systems.yml | 17 +++++++++++ .../roms/devilutionx/gamelist.xml | 11 +++++++ .../devilutionx/images/devilutionx-image.png | Bin 0 -> 71699 bytes .../batocera/emulators/devilutionx/Config.in | 11 +++++++ .../emulators/devilutionx/devilutionx.mk | 28 ++++++++++++++++++ 14 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 package/batocera/core/batocera-configgen/configgen/configgen/generators/devilutionx/__init__.py create mode 100644 package/batocera/core/batocera-configgen/configgen/configgen/generators/devilutionx/devilutionxGenerator.py create mode 100644 package/batocera/emulationstation/batocera-es-system/roms/devilutionx/gamelist.xml create mode 100644 package/batocera/emulationstation/batocera-es-system/roms/devilutionx/images/devilutionx-image.png create mode 100644 package/batocera/emulators/devilutionx/Config.in create mode 100644 package/batocera/emulators/devilutionx/devilutionx.mk diff --git a/Config.in b/Config.in index 05c8dbdffcc..f0d909b9d4c 100644 --- a/Config.in +++ b/Config.in @@ -176,6 +176,7 @@ menu "Emulators" endmenu source "$BR2_EXTERNAL_BATOCERA_PATH/package/batocera/emulators/amiberry/Config.in" + source "$BR2_EXTERNAL_BATOCERA_PATH/package/batocera/emulators/devilutionx/Config.in" source "$BR2_EXTERNAL_BATOCERA_PATH/package/batocera/emulators/dolphin-emu/Config.in" source "$BR2_EXTERNAL_BATOCERA_PATH/package/batocera/emulators/dosbox/Config.in" source "$BR2_EXTERNAL_BATOCERA_PATH/package/batocera/emulators/dosbox-staging/Config.in" diff --git a/batocera-Changelog b/batocera-Changelog index e89aedf8b29..08e557e463f 100644 --- a/batocera-Changelog +++ b/batocera-Changelog @@ -22,6 +22,7 @@ * add: easy vulkan configuration for retroarch / rpcs3 * add: odroidn2 : jaguar * add: dolphin performances on odroidn2 increased + * add: DevilutionX (Diablo 1) * fix: Odroid Go Advance splash screen * fix: CHD broken support on most systems * fix: netplay (and add "watch mode") diff --git a/package/batocera/core/batocera-configgen/configgen/configgen/emulatorlauncher.py b/package/batocera/core/batocera-configgen/configgen/configgen/emulatorlauncher.py index 10dbfc9de95..0006421bb9a 100644 --- a/package/batocera/core/batocera-configgen/configgen/configgen/emulatorlauncher.py +++ b/package/batocera/core/batocera-configgen/configgen/configgen/emulatorlauncher.py @@ -34,6 +34,7 @@ from generators.rpcs3.rpcs3Generator import Rpcs3Generator from generators.pygame.pygameGenerator import PygameGenerator from generators.mame.mameGenerator import MameGenerator +from generators.devilutionx.devilutionxGenerator import DevilutionXGenerator import controllersConfig as controllers import signal import batoceraFiles @@ -69,7 +70,8 @@ 'melonds' : MelonDSGenerator(), 'rpcs3' : Rpcs3Generator(), 'mame' : MameGenerator(), - 'pygame': PygameGenerator() + 'pygame': PygameGenerator(), + 'devilutionx': DevilutionXGenerator(), } def main(args, maxnbplayers): diff --git a/package/batocera/core/batocera-configgen/configgen/configgen/generators/devilutionx/__init__.py b/package/batocera/core/batocera-configgen/configgen/configgen/generators/devilutionx/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/package/batocera/core/batocera-configgen/configgen/configgen/generators/devilutionx/devilutionxGenerator.py b/package/batocera/core/batocera-configgen/configgen/configgen/generators/devilutionx/devilutionxGenerator.py new file mode 100644 index 00000000000..e7760932502 --- /dev/null +++ b/package/batocera/core/batocera-configgen/configgen/configgen/generators/devilutionx/devilutionxGenerator.py @@ -0,0 +1,14 @@ +#!/usr/bin/env python + +import Command +from generators.Generator import Generator + +class DevilutionXGenerator(Generator): + + def generate(self, system, rom, playersControllers, gameResolution): + commandArray = ["devilutionx", "--data-dir", "/userdata/roms/devilutionx", + "--config-dir", "/userdata/system/config/devilutionx", + "--save-dir", "/userdata/saves/devilutionx"] + if system.isOptSet('showFPS') and system.getOptBoolean('showFPS') == True: + commandArray.append("-f") + return Command.Command(array=commandArray) diff --git a/package/batocera/core/batocera-configgen/configgen/setup.py b/package/batocera/core/batocera-configgen/configgen/setup.py index 89c145790d6..676490262fc 100644 --- a/package/batocera/core/batocera-configgen/configgen/setup.py +++ b/package/batocera/core/batocera-configgen/configgen/setup.py @@ -33,6 +33,7 @@ 'configgen.generators.melonds', 'configgen.generators.pygame', 'configgen.generators.mame', + 'configgen.generators.devilutionx', 'configgen.settings', 'configgen.utils'] ) diff --git a/package/batocera/core/batocera-configgen/configs/configgen-defaults.yml b/package/batocera/core/batocera-configgen/configs/configgen-defaults.yml index ff8edf61d37..54fc92c819f 100644 --- a/package/batocera/core/batocera-configgen/configs/configgen-defaults.yml +++ b/package/batocera/core/batocera-configgen/configs/configgen-defaults.yml @@ -316,3 +316,6 @@ pico8: core: retro8 options: ratio: 1/1 +devilutionx: + emulator: devilutionx + core: devilutionx diff --git a/package/batocera/core/batocera-system/Config.in b/package/batocera/core/batocera-system/Config.in index 949945b94ba..4863817016f 100644 --- a/package/batocera/core/batocera-system/Config.in +++ b/package/batocera/core/batocera-system/Config.in @@ -333,6 +333,8 @@ config BR2_PACKAGE_BATOCERA_ALL_SYSTEMS select BR2_PACKAGE_MOONLIGHT_EMBEDDED if !BR2_PACKAGE_BATOCERA_TARGET_ODROIDGOA # moonlight select BR2_PACKAGE_SCUMMVM # ALL # scummvm + select BR2_PACKAGE_DEVILUTIONX # ALL # DevilutionX (Diablo 1) + select BR2_PACKAGE_DOSBOX # ALL # dos select BR2_PACKAGE_DOSBOX_X if !BR2_PACKAGE_BATOCERA_TARGET_ROCK960 && \ diff --git a/package/batocera/emulationstation/batocera-es-system/es_features.yml b/package/batocera/emulationstation/batocera-es-system/es_features.yml index 1cab0374518..f3aa3dd43d1 100644 --- a/package/batocera/emulationstation/batocera-es-system/es_features.yml +++ b/package/batocera/emulationstation/batocera-es-system/es_features.yml @@ -51,6 +51,8 @@ libretro: "8x": 8 "16x": 16 "32x": 32 + devilutionx: + features: [ ] dolphin: features: [ ] dosbox: diff --git a/package/batocera/emulationstation/batocera-es-system/es_systems.yml b/package/batocera/emulationstation/batocera-es-system/es_systems.yml index faa5f6daad2..e69ffe41c6f 100644 --- a/package/batocera/emulationstation/batocera-es-system/es_systems.yml +++ b/package/batocera/emulationstation/batocera-es-system/es_systems.yml @@ -493,6 +493,23 @@ dos: Les jeux DOS sont disponibles sur myabandonware: http://www.myabandonware.com/browse/platform/dos/ +devilutionx: + name: DevilutionX + manufacturer: Ports + release: + hardware: port + extensions: [mpq] + group: ports + emulators: + devilutionx: + devilutionx: { requireAnyOf: [BR2_PACKAGE_DEVILUTIONX] } + comment_en: | + Diablo 1. + + Place diabdat.mpq (all lowercase) from your CD or GoG installation into: + + /userdata/roms/devilution/ + fbneo: name: Final Burn Neo manufacturer: Arcade diff --git a/package/batocera/emulationstation/batocera-es-system/roms/devilutionx/gamelist.xml b/package/batocera/emulationstation/batocera-es-system/roms/devilutionx/gamelist.xml new file mode 100644 index 00000000000..6563b6524c9 --- /dev/null +++ b/package/batocera/emulationstation/batocera-es-system/roms/devilutionx/gamelist.xml @@ -0,0 +1,11 @@ + + + + ./diabdat.mpq + DevilutionX (Diablo 1) + Classic Hack & Slash Action RPG + ./images/devilutionx-image.png + Action RPG + 1 + + diff --git a/package/batocera/emulationstation/batocera-es-system/roms/devilutionx/images/devilutionx-image.png b/package/batocera/emulationstation/batocera-es-system/roms/devilutionx/images/devilutionx-image.png new file mode 100644 index 0000000000000000000000000000000000000000..fbc17e0fd2d7692396678632880f3e2911f7c157 GIT binary patch literal 71699 zcmeEsWmgV3$14 zdq3QNa6i1$)2n+`S68jxr_QN;cGU+>bwz9patr_fu$7fwzXbpU@V^rc<+%iF;yVKX z;JpddG4OtC=|}7C>1ONTY(wiE;BG@}c8Q(RZpYdb4O-EB~lloqV&1@m<*5 zt+;X$eDPFg19AB-!gfVU!>4EW#o}GR9osQYiyfEb(mqjG%oM7lTfF}vb&$iSY#qs$ z=jSHcW>O`LW|33r>;%V=CA=qkDnV0G;NTVr_c3oM&a}SF;~8r(#Y3{j29i|r_34=! z$Euh@@Xh82Mk$;}!YvJ4E*k#PjogNd2hVk>YuD~;h@Mb|Z1th37H{x}q>X{-)Ratk z>rnMML-5hmn7;$1$Hy}&{alD%Q=0Y%q0-O3>y?DVhJ$5je0AbE4BM6AHH%9Nl#-w{#GW!n^pd|y#Ay*HEf6Y$dtO6=#oKi zoIU6RANEx4(=Hpqrz0`9Go+ib{k+GU%1}raduBjZI&zY*xtywU*qmO#nMu34f0ztQ zbk7DN9(_KiDhk>hkulpRqc{n8K7of0fk0M=we_cP#!o`2<1J|!a#Nolme*!yy<9TZ znrPnVC`F~|iFP#dDe2Y9K3r7IO{dW7zW(g}gO;fzT`%YBLZH_titdY*vbOau-+j4w zJz|#?-Fa_=Rs__zSNmUV1r=~2QL%@}O{9eR&N-UZvt6z#XLk+Krm9r*j6;4mz4BeR zS>&WBUg~s7PVEnWsV?EU@>?-E&!e)%*tOep^-#b5=jq25KfT_dhv=FzzlF0@*510X zcZnrM*W7Z9<%FlX9~(^wUmWLyFhqkUi@z8(+f90ra3W%SSA8okWXU{5##+N{)A5_Z zFYMh>+ZoC0Fm|`wDLzthpQpre!B$vhas*KFM^7ut;sR>w(o!7H{rNBZcBwc z1r(CSV#6@YjV0a`kTu3Z7e}&wi0Xlq#aG>mN96C6{EYYUf^nbfR+7lo_6ffKL0CX7saPw{eq7hPB*j`Eavx+S? zf!683jHoX*!SV}`ro$m=qX%TbiA4o9*|2%~zz^awbHJ>2w`RurrRXwOz3}@wuf#{i z1Jz!V8Ku|L$13|~me`-vc!4LX+7kn-%=kftmc&7S`z!j7e`^R4wN&hE1R42F6;{8G zf`Tor4>gI;GnzY>cz!7!tRB$vu9jl#jQe7uk=VuVd^Gc#3S4ouBjL6Kh%7#%WZ|>w z=6S%Rm#Wqkumvkne{RVah9v44A_xeL^zWSzysVBYi!_?nAZTqa5qjS!82(wPJi)FK zW!%;bqe!;Y8-)$YB-z&bdL8FnV4gSE2hj&isnXV|7)68=k9Wh$gkfS+bYL*!C=3^4 z#ejt>yGUXR@8a-U=M1e`y4dK(R(4jJa*HoaXCc4%0xq77-WBAxF9U%c#W;9Gv+kOj z7S6!Nn%?$e_`hTGR~RYHw*N-rA&*B61PIA|)3Wd1=6v-Q-P+VsDyl=l1&g{<2s6QK zW*PQFG0ro{S(uO0>! z{K!jtuc_ZiS$vTcSpqk9w!QcR+LgNq#3K)W-NT_sQ^93q91&=byEa$U=0$6tqRBEn z7SCv1KsqoWn!du?bKX|~YK>;0cOotOd;BGe$!#G$E54OYWCoJ?3y6Bb z%Dm0FSpaQ&HQ^!Ug93b-HA+Rzj(q87Kyl&b&|p?>TsTj-$>0?^BK@!; zjl2_LZ-KRVwQEx3zdbl7?C()-6Jbi0JU?B%I*5lCmeGo`$YdA$5sY;Zh-wA{BUOa{ zQ2ZHwlW?NhJxv8ezWNiYs%u&C0QP%ipWA@?|3z`y1+#9M`c(+3e$|AZ8y_)7c*<Z21gdCc#ZDK9_Bz8`2kk4b)|jBP^Y z()FHA26J$42XSTMGT{}{jNw-TH+lnH+1F2~o=QiF9FRIr#z6SNsm|i@#WYx4H3CFh z*8#PZl|{4vi$q{!{Y85V#b1^Cw2tD8E*-jpZmYFT_(RFRzshXuv^_os{r9ln7W1tC8w_80vcMgBgi|3rj3-0k@xn*({Cxr|vFHo|P_2`!eDO!lNo^XU(V0?I zL#}n+kZR=nvTy)AMyjhQVTnOY-A=jtlK73q}GaKFEpUtL1q~P+zx|qkrKEyy9CPriA35GpS?N}nwwyhTp%83BoN0?MEO{xIobC6H*!xyt2qrRuQo8tiK_DNo9syipUD8nBp5iXL_C(NN=x;XRUYMf8nX?qK`sAU^P{nAB>RVzmrUkVs~6L z3kTl6`iVH-sg=tx6!YK*6gm9}OdSA8y3=a7ndiC2vc=9Je~&&Bj}x#uRl|VoQ)I6D zd!&4w-BeiOyhIRElJ=9Opk}^9IDF+i?4QOsZTF?Z|L+M>V2FQ3_cc<$6;q{s{f?Yi zIkVj&-GmdWNI|2^`o)#x2;*@qPI%lWREjrwVgs~Gjr?go#YKPHcynp(c~n+19n_G% zAqthU%4TL;u~RVhq*H`!SB65l?~#%#CrNiv8r(bifp^vYJ31WQaW6a57_P|_Y{^g* z!rxM|)@Q73Q0u3Zvfttmt-VQott?rp)e5^i{WzldOTbJ17g4RvH6hHMtB)su!pB;{ z)?V*s{0eXB+nRMa`2u>emo}g%SxC)O^T~|nbB$$tr6W>uP|(JMaE|50r36z;7pYA` z&?+3~nX0>~&~kam_TJ?XOT>HQ~U9XwgBbd=m8JT&a=19u1Uh#{?2j5@^MQHkiX z@)d7Tq9XZ-myNsy;hTIyEnw0iatnsEt3l`LRdf^Ri6D(8FM6IjAD%djFfDGgLAo=H zm;EctAL<4MD^{rk%JC2~H21bw3dMC$j|86RznXypQO)#;!Ld@&xT`(X@TQm!_eMrxOelGH{#22JFlSKr zon4Ptt=25_!<93EjT&K%Cbzy{VJ3w7{Xr36;I}d<5S=UMMHcMD^WB}B`zV4A?dfqa z*c_**Y5s2YD_A5-xjBpVgCe8ocUX|nw<*4>0h>LWjS-KAvyqFX1A@F4^M3J-ncha= zqyRyfW|8R=LFP!;^!{a8=1rsB-K@SGlt1PNA2pU2rr3uYXnj$ogn>b)|LeS-6WMpA z;f1eXxkt{MvwXM?x@pD?y?!_je=JA&bL|?>dr$FBZmPy765Iy>pkxO*IZb6bx&Nyw z007I!kdIv|1DZrbyrr~M%+SgC;9(Zi#&PL2q7lp1TFm!}|HbhX&5RD$^5xIwi^>mGKn!c742cF3d4_@=)g635>*|uOKes;~t*7;;U zS$k3>QytvAK#gHXJhgUHfO)sBI7l8wx|r>`BaIofj>;F#vJDQ(>nT8 z&|0l_LaA*t5QG;{d*!EXX!`~X23~`W|14QAVHeXTaI@XY|33ON3-z1XmiXR zW_*|9#j5$m`@j`Rn4dGTf}(ginn+u(@T8&?-U_m#?(nUMZ|({@UNB1CWnftLmGGl{ zU`yQ~Zn*2`^Rq8?%0bY19J~;|*V^7?w8;7_z_HzhiAW(FXV2jB3jQ?wn<3>V!b}_V z5yYd(c-%tb74z^gVGZidI10?!M_tU^E34Rxe(P` zSxp}G7bY1Nz?0DHo%dXXVx^+^8hHA56n2-V0wCmi<<~Mg{woLFzx^l|1CF{t0$`Ns zEW1Kp0z%~!Bs+IJySOx^I3oEsX|F$|y`Gq}|4z=a{E5>z(njp#OWa2BZ=MI=JPwwa z8&h+BF^PyUdrfxktNIyq&>Usn-9DoFT(A1Ko>(=1aRrFp!wvUM6N@@K9rb(?D9 zdSs|BJx?#|Y?lB9JF4l>D$4SgGQ}LHO@2IVj~nMbA%w(&tD2YTyG7 z|GECKN0R=ZH~!yhGe+;Np^fGLsz1LD6mdRg*@$m1)zx@0j$$Q?{I{vG>n}ZIV5o=L zG9bL+zU{NRz7v!X2qsx zlM$VvXy2=a@Y01__jqn{m{qu!xczf?E`#rjJ`v3GQ;s1cLfd_80}zd_;7Y#XK#DZq)3HtCcEOIp zEE@Rhd`9Fq=B>eKXvOJd)nd)Hn49bvDbV~fg4XLb>BiU_T-roHiJ_r^r--FmsljSN zi`Z(1t~b+b?H^8nQi*B3$~PRuvnK#}zHjTl@N)i4jI?VpKZ+Ld&xX%7 zjT6KUeNGmdSf#lLw~*(0>suR%PO77I<^3Ou&z_2hgvx6SL524wivO|yzoyxMT_8*i z1EJ-1({h6_OS}H>L-lvey_oPZ2H7qqre73SMny?l%}q>z#VhuR|G^-g0EHyWKJryS zuixgiv+Abe0^;|t)Zfxkz$SAH<}GTvI>9l_H24RnQz z=2}{0%_RJOw#lPtOYF}-NG~4}+fK-CbYwJVy%Z6o{Q)Nmu$N(C4psF|=)o#~ zb~4Bmvd4f=ciW%9yR#$X7Zjwatxec9X%qyJy5iWrhxs_xp}%X>(M2{M8jkGw`*+D{ zRoe9DaIfF;HnES|sBN=XsGGe#?7yQMj(&gv>QF@jY$1*orUp$$EB$GkL&rl6qnOG1 zpZ69x5yCy9DeHjJ7iLnR9xa=Y8`aF1_8LezNnFN0@020;~HT+`D`p zxmaO;9ArF_C1P9xJKjFk0q14S8h&f~7YIhwUq=fEmt>*G8D zM%~-(X>fx@_b57t52Ys>cPk=rm*&GtJ3f$6%&bY<#<6ugcIht^0}b~_6eGB*WJ3w0 zkX`sK-Um^SHg-bN9J}_YsbV|pe8rrwF+=e9b8JU==%1JS5Jh_P&T$=tEn(H!`^ zR>x{c+@c~a^oeE?dcQxhsbIlvo)wNP1s@ag^u>DJ<+m3Iw)7AIEsJ&zFb%DKN&j6o z8jmU>xGAXekPkqX%uPG_zV9H)3#g(3ah^a{nTTBj3iOP43p7WYnK-h^ zjsgr?&sSI|zzG%z0ESv21OW3l!Jqq?Z9{nUdofYb=Mnns7ez3p^y&2-;+S_<>u@;g zu8vZ>3$e6C$7tk%=6WxdCldd;Fq12e#m0H2*7Rbbc!LTyP~!QJ!4K#uf)(F-sLUDY zFx0!3k&JU>_$VZ(#iN2fsDIbhaXq*F9JFjej~iE~lhW^w9& zW_X2ANED@7S&a7+&h5}CWJ+9PJYI8AWpQe6L!9u6y?!lNHZd>>W<=~*uQ^;}*1eEZ zCZx9J`M!H@m`%Pyu&!H4ccg;=`Lh7wg{~foaaSjOQ5V;*zGkjcKH(Y|1EIF5>c6Rp zeI{}T;>U$`z!nkzdmkPIYOY2D26LIGWh^em7nnDt!lf&bYW1e!Q)DxhP&bi;A8$l< zJ%eYW?2*C9e4lf22#eHVkpO|q)+Kf8Nn1%X|5EA{sxgNS?x4h+ZF40gz>{)kNrxBy z>EASSWg<#T2h3qIO)bd1#hRlR@*54z^^1pTU3?(hhh@;x8V5;c*Ga(>S3V@WJ!>ARy4lUD5 zJ5>&NTDkdI{GZ9%#R0LfSrC8;`h&dCZ^7AFqp-StA`COO2Hl?VsmLm1vyD(4<#VzB zM!^*V!CuY;c8nJsGdZbR9npclAIk`~AZC`6J47UP#!;6)6N6`VOqRBvToPL@ZEe+U z`wzE_F^9p=z{Ic(cqko)=eWtlR-@&EUzKs7eK=#;ofx&pp2cFZPhz=oFWSKHpDoQ( zdCB2$U^13g+RB=qo-X6!;$kI6kliht;Z#?zfwaDIc2+nT>iYRH#K-rAgDzoPO)huP z0X%GltND8m(_xoW{o6krWViAWfg%eb3n(>-#;XRp#LiRiA||fLoWJ%a%O{5T_!PCo zeTk_}-6(xtX zhXlE^S>}1Fk0wyhL?}*%tkc*dL5b5!6dK}VYNP+IiHi%Z0$@waHC6oK!@%f>5=aOp zIw~=Kez)gZ10@p1eLDGDwOKK4mu4GKUlp0A6Kk=Cc|e>?O5?iKQ)qKYH%)%iiq#oj ze3bO>5A6dh)AYGgLIz?Mhw5Sq#-}eNmdZ^@Rul#%Z_^|m`jbxII3RWR9j(3_4SC_> zrV+gNiC4;Ls?v-1;ekzV*Cxs7o7z7I7^BAH=e5vdbKU{MCkch^-xO>MRb$AmWQg3C zA(yJ+3q8EGonYbr4PQv#8MRJQ(;YpmQ3eUx_}eep9k#dJjjIkgo|fuHAJ}CrR`-ld zcStWQNE==v!1>mr9+u3s`Qcf5o54p)=tq|B1g}&E-|)Q1`H)5{o>lD7oLin#>yj8C z3^VEZ=kkM5ar|^CnWtQFB9~rF?>Y{|hf1(vLX{A|Wdhl=PN~A0@*g$18LV2my&mp* zMNl2-Vm>Rwwj>_^>V$xTug-M?oc) zS1<456zhMi@3Ctqg>VDzq>|O3FPSf{Ef-cg)As9=Pv0yAr4S|_P-{1F?@mV73c@8dFkY+T7kM1Tu(pLti_&CP~Ozkq03HOHVP z`Gc4%mR*ljjR@!t)(0)25)Oz?-A+Q3LQZ21W7lH!^~+s^A@EPirN%K4+Nz<6xgBm_ z)@io*+k-${;PQ!TL@9smg;Tu|xWmG{-XLh5O9*M{6P}ql7SLHxHd0(4TlwQxxD}_k zPuJXl3OiK8EN0?BCq&eZ$7jhrJmzs3clnQqZL=dy6Wv`&(c7n7l}&tO9AHT|3blcE z&@;rJM=6z{DEY^mtFJT9jFouTWjqS%yl~eQboh3V*wm~s8l~knDk5imjdg2<$o-3< zTQmkDoLE&bBgL-GL={%kzeOe}7*i=9o8yAObmLz_z z2zU+2E@(_SW4#NUU+K$gbZG)_Ni8XjWle-uEE)MBW!0n+WjMb9#4UzfHK+>SVn!KU zsys*a3}h2qS=q`*Z%0>!#9UO(z_=F3=#1L63{-#F!ocuF~`l@Xu~Py4-U^lkN$Rw5!_%C$~B$cL|( z?yjd00iizEud6{~;@*wA->$k7|5%n}@k%0`>_;fRVtYq<`53xWMC2ZXHhqnZNzJ{y z7&GB)KG5J&4?wPHX&Nz!N5x8gaA00yl6H*W*q8KPA8mhf%TAj)_w|yKYe3$-Wdv%H z4eheZ-O6-y|0PJoXeptV@(W{|W0f|Zqjz7zHJ)l!9wf>`^Xv8d0?3$kgoQ~7Y$qAP z@AolI3}23+|DxZ;khRvG(9_Y#SJHq3~^f@k{^{E=RIcWyj#2;H8a%#?kvAG7!=C$Hyu zjreHvrUGyS-CWYG-4(Vlzs&rxBBra0T)(R$TcprO;h33zP4jgao@VOHeunoGORVek zuGLvk7$m)JYgy(NZL-RQf*N_4BQ%_(&2aVfn@TK#`R^U(_A9GmiccCz2}ojXu8HR5 z5{qLx!ui)Po_VcV`^)QW%R#Ep5kXP}FH_qi@vhGAp6g??PUn#D?0|@>eQe=9ml(6K z&(pQ5S7yJ8E~`vxtMJ^+JI+#ci8ql=90#Szzl~Y<4-HO^XuZFD#dUI(gs7*^4kWyp zB)#dH9sg?e9T9D#^$O_kbJ8gqdI=3HMnxZF*r%7>i?_jfoV1ksMjb8W6&81$O!tcu z8boHMj81Xf=!=#DLEk8m7%@(>as76e(9u&H|0aaiBn6dGw}u~lsdw7*k8xxKI%V9- zT4fD$W8G6OwXmLe77FcvEHaJsNb36uvd zRw8f^hw&G<`X#-bYInr1jDWS$m)^^X_ibVpIaV2&xjj>FSa79OM$Vgb5Vw6uC$mA| zUsUMQm3_XLH6HkY(CGWQQ&Go5LFnN}qGQvThYc)^LVu}pP@veRDdmtPI?+0y1bIO` zcc-b^Ofg2rJ#WQoupu7r_@5MB9?{}$Jb5ovF2>CZV@+TVo2{K9$^pndsd7Fy>r?Q} zzdJ-M%z0TlG2Tk7Ji9U&&=Cj<&ucH53pDHX+}Q~6I= z<}#drfgFx)6u=`Mm%zbELAat+|QK_8F$|6Xx_EM^gUbRzlDrQT5bkE(L5 z6=8+qtug&#BDf-=bi}zoRD{2Dzm^3186qv zi~sf59geXQ2~=zYW3wZ*tJw(73XPMgXfL_H=vRyEJ|VJ#DyhauFr9sbUAdyfqpXD! zk5_;m2Gasq$3}Tv+aFTUz3`&gb82Axae9yR&CPnRVEvgs{ALG2kK5*KP-mVKsG+SS z9MD6$%mnUFJ0nv2+%b_?t-S{9yZ>+-yjx(`D4cw90?72(>Wyvip`9uDaSDWz>86Q> z?Sjwytd6P?=e)l`)${^(ueRW!(w{F*yIu}yw~?6jo`WGJ4Us26PejA6N0bJx#lvt4 zzkhQ?KFex?&sw4jrKWB>Ci2CEt*iE)S$e#_v!pQv^(T_EzdzzmSJQ#Y_y^5K1>&XY zbH!(Z^!tJTci`Xb*n&$U2NB!@6bW2Qbxu170@f2eH$vvnW1Isjtjfk+7%5E}Sf`E- zPHb;{RV6MB|2;e3gGe`@YZLFk_NGIblkr{BK>XJfyd}`Fp?p7FRLSes(T`4wlWi`T z!SmiVI`fD~wg(}6MsnvRbi>SM6>laj6nvf4Apsh2Mxxv1zrphB@tLw#H3Aj1Sv*j6bUqGd9d}Z$cKCgiDAMXElLMeh$XAb?(P=pU)Fk6+N}0o3Ck)n`kwDA! zK0NSPPDibI6P;PDbL@_+cp~OTZ<_w}?#Yv0P$C)aif$!Tu zhO&p3a!!r`o5?&EtaFEH1JO8^!VX*d`%h>aW7Ka&4-VW-|D^1j(4eV)6@NlVsGa5} zyXH+qix4PU491%KzT6Kh8V3#vkL0yHqn4iH;s`@IX)lR7HI4K!{pOnw>?MJ2j-Zbk z-Zwpw6+Nufpp*FeCTtx-UaC3GF%^vIGIDA zq)g3eD93Cu3w;3Uw%QXujMwYzns&)*+^%cHbgQ$N2C3Pvsio!XfX(+=q3+RdZ10}> zj*bwP*252jfORSTyr89{DZQw&LD!n9xQXV}Y?Z%%|ISFT`1l}CIJ&}ErYshcreH9O zDxaiZ=Y1>h-^+Hs-WK;lcrY~RJZwChDwFwTJ_?zfT6*dg=fw|mIoahsa&*Knb!ATa zzMYuZ2VbmDuI0N9GH8{rnN2*6eR!honp_H2b6ZFW9v8iAvSEd9e0c`Edfbz4U6|&6 z1+oUo)vx%74Z@&V*|{#S5DhnH-G+5R zUc4r0ax;r>qoNXCr{M9udz0l_%ll3+2_yK}raRd{Y2DCSRH5G=o9zTANC`K{z6w2{ zumabCiE1(S^YbiNH*+t2csu4VO)98s%+w!WKG1a}5l}xZ*B1B!DJoCSe;+Hf2V5`( zUG+5CvBaJvMEa>?np%bT4P-&Zfekov7Y6n2a|+V{d{D=ZMa`r2;#I48qiJ%Yr%&yuhKQYJK$@UI4%YR+@$U(`%|9t1@T^DUax^s z5ucogCn|#{9%_O29zCvY1yl?4%&tAlRv^uV^dW1VY}iCDp;gk&z13gIRsn&iunc(L zSOrm{EQ9~?lh^v{8s$;TS023=Ta`}G$dSBPucBkZr>&P($p2pNMj1-Jx0Zgju|Ogj zN;hqg>CQF%oD%EiAKO7>F-^bX?_#Tt4tu$nt+$@X{st1^?w_NqK;PUhD zhK6p8f95zRS@%QUC+EPAW7Cm8F^jquthB*AM}N3V+fPe5V~OL-kAxq`EIe}LpodzUhb^w4j;@17>Y9&@lfA4^At^EV zo)Rukenhw&+TaUkG(2Up284}x4Ha zH(-{bYNE?q>%m{A3euWEXt2vo@yug;NfaPROl$x%;m@DCQ*b8{ZuqG2VIx(7ft}qq z(VT$HtMNJZRnk%hl%=(oHI7c3$QN^i_YPy8}qPlen9)JO-L4(5?)! zU{(Gp;-9rZcb^m4#)9k4LJW+-wEi@Y`9?*h#e<+2Zrub3bpx%5o0Oj@j!wjZ2DV@4 zJO1BuA@EIQu~@v{9eDm|#&+?hxh@dk-e!^^-hc`2i#UqRvdQK@iV{HkpnQ{!lt=j zzNlbh7>E*OjZ%72zp`lKki}rH(PAzQp+62CUCf|{w^?F=ac;$Jk@xowh62dK@C}b+ zL&3}WOux;dt(u1izR+G?%RA;nQ5&;0=Gu_imE@X-^cHglq-t#gWjAYf1?{^&s6@XV@V7?Y>`bkSsg z;a^fP%m}qQs?QOhng1koz?0arb&=@80l>OM2!z51Hk=HOzX#~y>Q(6LV~c-aJiR;t zlBydklujaEtYHP>A*>r)u_saX_liAhQT%-GJ*Zfk@JgxIdraFu#=@PwsXIa)AU@c( zzIth(s5dc?t&F#_&>k0A;$72|Z+QwnhXD!tOLxh}C;pW185-j|LZ@Cfp}yoXyEutf zVl7Q8_qsKQK6qMo9uJUB3Kg12aj$1R(3c-uG6lx`8K4!{yg7XA>rMNVXXm7H zRgq)60oaBANIrnZPd5)yt~F}PZ<~JQOMTi8abtnan)PnP+(NG{nbs(7xE6en!5!0H z{<|LM9;8bT;CMAQI9DbgmPvfhl5J3Up1PsoKCBqatjzWDYcHZ1r^B5`m#KPx8z*ZY zN92PjGF~qhUNsl}nz7+)*CMlWe@?#@9~>)l99B1@+J_*uILfkykhAWHCiUL~zTC21 zc5}CWEZ?jdgx2eqd>-d|9#J+oHkx?&@{neD(eL=azz;<=Hs1%cW5_L(flCF1wsv=S zBNq9q+|2Uyi#{{?HP_a1{y=23Zt8R0(2PRe|IFj0ug_LLY0{tR0C1mtU$N%t| ziaohDx6^pZ`v!NWQoMHvmfus`rSlL=Md}N1!$U(0-goodcu`Abs2FVX=dMD`jeknr`4$QS28gr zfYsU{@y)NlY4A+x5~t?bM1+jpgS+4$^3DvwEf8dwi+THkXa*^%ifyh0468S~ ziyUo==uYWR<-&hD3VvELL16nw%cF-CQ0}yny?5; z6<0H3vdZ0>{KyoXeCOm8X^Hvu?IA^1p6wUiiMrThV}_mr&&j;zVY>p;@&s-9xapvo z4vvi6%^In$WAeH&=s*ABpI#gq=Cti;!aFh2{c)$GSp{$}E) z(2qikf}Xx7@V~!0C_5Z*^D`TPg3>0=JeP^a)sEL;*8lr))Uw~o_fYv69W&%pp_c$xUT zbD7LNRl`q*=+9OqajX#%P$#xj`AK&1y=OZmP)@oKVSX!&LM~h)QUpR<+QMcOgs$zT z{(C7g#A3qW zo8~18+nkavROQ9s5Y!&#)y-P+MAky`fhS}AQ=e`U01ixnHe`-{%JnTF>L3_nC==4N zf!VPx`p+Kj+00Qx2-`n&b_AnNIG^ugVjOWHPG9I4>Q6Y!***LUjwj&j5E{KbmsTpW{93!RzGu(;2Y-Vw38RKr?^UJA5Or^(Af? znPAYge)(i12&&FmGZfh>xkT+hP5o`(ba!Q$dq&UvnnRjJgLdC?$tJh_nffk#fd-LV zpCYsdiKDCuviWzR?~BKtpP@l?9AG7+x{GyxjSwdo3y&R~Q zmf-`LLV#^IeX*cbCa$ljC!~leek6Q zLfVGrRWZhcB!+!n(kWx79wim}Ng!5(ugI3TJ(75*`?<`HjR$=Gv z#dPr$;-+WWH#mZu(|;?1?SC{BAYKX4?@HI_sUuj*JAQy1h2;`<$Y&oDU(ii21Cv3S zsAlnZauhPpn~6*wi`El5T0b^d#o}PDxuDnKdAOc#0beBiI#0G+vc#pS5Eeon zm@=WldYk>iNsF(593x!|t$YM$6N46c8H*K#`F*@U61WusrU8g<7eE7o(3m>$m!E*9 zI5IFEExq^>7={BBs15ZkyrfT_(2u~hgz&n?K>onS0x|k($Wp;8+aqU`L4y)Do&d6r zq%-L=4&X#9DyYi}!Xic}`@ILd#A46$^~Wisp&i2|hvO$PAeP&j;uzJSAS(0vn~&(m zqLtLbHpH-I3oPD)CCce#09m@wa^ooP%Hm`Wum!os@5%k^_Z_YD*VwoS z8=9LiI1$H}?+;%2(u=EZl_t*QX_;S0_2L^HQakL>r|f>iv!O@JD=YmM?J# zG<{1dQV{(go$pYugb24LoU7_^L@6jDZM%+Sele^ga%ZTZ`cuK7oHO<6U!t1}HYmM% zuIA>E30+)ddVki3u2mF!VwAPK|H}Tsai9rjJt_X`>FhS>@J#5L!%%*_W6_TOet@MI z6iDDDP*&tQXNQZp^p0wVt8BQgzPGpcq*oj0ovqlCtQQYAU3PAmcipDzI%2Jd6=Cml zMyVZ23ar@tYEE5g7?J$$xtwLlg)ye=MBkNg!5Tc+BT0Zil*xO%zmLhp%#7(`|LL#6 zD16l5)q7R$1#F&xxzJth=LPDY#;r*3Kl_-lPyja%2dB*{=v`nhZx@$g{nu&_2Sh?P ziIRa3shrOk1yqaGTGSasK|zs~m6aAbElVfeRQn;@+kJ?$vwgc+K3qnPijp+W>kyHp zb`R^b0VNfchN+{wF>LH;)J{2!y|%5QEtQ2({w&-_pSxYyl%O+URsf+8 z>g|I}*AW$d;U7;%u|v^vm{u3z$s@8)T`*|)NgY}_F8fJ^j5!x|K+&Gd0f6?A2_KD_(sh#N2G>$ppx5 zt)U!0Ad;wFS-sFlqwmFK9QP+M3ZUYRaW~*ye20L<`K3isRi*q+iuDOvVI){WVC z_X&Q-8cH0dF|SY8Rcelx~v3PtJ&^As=rSbz0pY)Yel-{uXl#UqR-+@oo3?r%@V+O#D^ zftWR;DSCK1y)9z1C=%yYLV-6Ea~`HWGH2uYvlAOSgX^}L9eY@%Le_PaRSCQI3T1q0 z!u`h5C|2kd`sm9y?nK+o@}QrBz}7XnBPM)lJqu$q@#gW3w*@A3)fP1Y%G>U{mzu#S5G+%lgF;e z)B)hHzwAQ3v=zf7LI|wcEFUXw{X$rhFsA*zh z4#?TDEMvFIgEuWBlww&Gxb7b$V8w6~0lu7Cz`@ZG&Qn+P{hKw^g-V2!#Ao%#7zoB5 zG&h!oxl!U;5Xk#0+fqji`|#~{PAdb9z)W4(h){Lt0=1OHV9wZ`(-|ae71D4VPbU&= zxegJA#^Hp=Uup!g-z`|8y~heJvj@){oG6f?oj6L zOdfa38xFL-4-8DS()be4(Ps<(QM|fz<3xJ2yK4rov<;@(ZSF{80CV#tcL3+{($n`} z7ftI0Mo^-Ld#CRbRdp=RPY*1vWEuu`%n&eXipCx}>l8@-_)ATZQgUtR6j>Z<>$hNE zltQ-k`7sg#>eo00<9)#tKoGm^g4VD`|F1e1b;AU^H*(Gt5KAqKvaqXx>J`ND%xW1N z$F8$8VYiF}yS6jDp>PEdpEg3_mFQ5w=BO3Wb^PVml^TVfQOj zLwD(c2A2;A7BMS+Avk;DN|_{Eo)5pmx4Tzf;KFc-AF06D+q#G_l3y=zhjq{h0rclZ z5-4H?rno2dfdj6^9d7S;wfI&w_k#-Pnx)7}0aL;lsp`Y%!U z{TR}3Q!^3CP{G9Q9eJ`ZD=CxfvzM8cyQ@C8nT0Q5q7BA{XhFbepv=v!UShhhids5n zOtQTQj$z2|ckhwgxS9J?m@uYQI>MzVBH%`9e>AeUp?*V#><;}` z*Q=qLX3*U=ush%V15@UfT3TxDck;PF{|`lwUtrkioZrXvcU}ue;x9RZT7Pw)?kC?mJ9B=zS|$!t@!&lrpH5&S1zY#v1q?qfv{1 zy!N`=AlDC1%aT=&N{mNJNuY;~<8~tIV_n@#P581HXj;+@*m*WjXt-Hmsd+vUbz#$O zW=m|Qcg?qrg1NtJQ8xVn0qBnV8Uw&I z;dg2(98LF4FxF-B+*B$#SZXj6#ZWsp_0Hy2)XkL&oR|*;=vvV1duoCA@Y9D?yrt26 zPd2IoJZ9cud!qGcfz8(x9ln$>SJZXH zu7l^$AQ5}~Z;m;>>9}&fQUv2Yz3o_ibMYVLVAm&#>@~+aW8e|LU2*U_DzWj9P)WP( zl-zI_NBIhoxF5@tDxVDkK6FLr-e!3MLAD6~k;U9P7`>qvWlG5!VUY4XRPZYU_a4Li z?(@HQ>|7qa@^f6h{Y(9Ve950Fr_j1p(;5nFy%q%wGc5}U&2%tK^9U%GOwg6%vh?Tx zM0i)R?H|*(ch^9L9_;%EMB2u$4e4F)^*ixkCP5X|#Fugi$XfF0Ka~2hTdk=|zqQ45cDaQSwsf|0(sqe&%w4 zh_{x~p^Ie0pP4uCyCa-+r3+~C8CDH{{i(QXk8^bj=#r)KkN5x;JSp~d)#3yR-Y2zp zDP=fl&!t;0)n$Fw0mk;90v2DnuNBF)iplj1c+O?JY|pcrX+p9k!jKIJk82eQex+{H zH{9G*zLsCXg=Ga4-Yj_~iunxX%TCvra3;T(^|#wMcTdTe_tVMkdk4wP{Bvd!pA__y z^)9XZ);^>7G@;K4YvV}cXrB^5*35O%`{VA`^WzTwfv7$w8$X860ic84WzV_7O|3$} zxck!I<#C^j^Cqz~D)!J>8uNbiqWi&?a!kD0f(?#fd-DK-mjC{<=MR^@ne_K(=#Ivj zmCg`bGT%VSkkD!qP+|y6HOTds`jpLh<|xA3--7Lp%Ya?hJk3EtFH>LI&Fo}KDt;uV z4ntKJDt<2@CU;w}<40>UV^Al@*pqe~NtMEAun7~LZKCjDDOrdN_hUs}e9K|Q!UdPN zKV8TVn(tGel8kBw>zc{W1XZ@|HwM0`uRzZ)dRr4(kH_R$Vu$ypywo+4sWNgQNE*sB z_3WY=tBRn}_%`2DO|JFSyvD~3iUFQ6<6+Td>VHDp`}clo*BsJnerl@KsaNh#@Rjes zTDD?4H=-Fsw8;`Jtqj~UaJnn&+%s$c1=MZtdS%fwOnsYrM$NGPmlMK}! zXih68llD#96t&CC$!Xk*3yHs;NU-eQF$yomEri9xUj3#BjGPZ0-l~KtHCvsSu9xWeW>1jh1oilq(Rq175OtMomd| zGNPQx@zs(Caah2;9JExb_o_aU6pPgm&Ejmn?s?HrxT_{QO%SixeD2xSPvH6Mm8iYk zwW&q+(tMq>Yr#+)h=-`wK{|p%-5gEa|gNeJn0l%p~8L2s79i7#Lp<^T^t@=&>h?$l`7*C_+YKc!E^A6YdR3c z(s8fGR^=oPK>dWLyaSd7RoUxgcZFSF>L9ykqOl{3{6}tI;q$H z2Y0-e^_X--frmChSt&@&t*L74_(dJ|IE*opOt3Sw;kh8=$?N<>tayCo#K6>1BX6xW zutRp#NsShZ3`9`dMR88Il5^m?S4%^HNRl44kB@Un#kxSg^gQy!9$qwobycQtRt>|T zBuJS`3+?c{4L9z~l#}3@Mq1eA2n2~p?M<<$b-1Jg=B&Y-yLx3VM%I(ICYRoHLq`hm zzkz~A`+?k^t2mW;&&CKKo&hLg|7oR=A?MHz;O8pu(kwYPIDob~eu{HG zh32^RXkwf*(^g;eWZHxu4`=>O#frUl_1>59xvh*K~80l}r$wVPE$9xZIA{sV~cnn7&Izc62bUAO}6e)7TeB8!W>R zoXX9a73r_$Wcb%E#v~|f=sJh~$G#Y}l@w}>rAr@h9vxgRo%i8}S^bHrJTlQhq~2zU z|KP;x^?+x#ptw5qf3$7MuiWO+c6@I~;s){Ha8cl#+C=lAPV=#hr>9RlfvHP_yneD5 zzqOQF+*N!PDs(f^M%6YN#3KYxlE9y;QJ!nQ94ybI9Al?TEH=eseZBf|>1$zw+xZ~D z^%1^vz=Hk0)F;h{nfSXl(#U=8Csce>bL2K=HpK^P(uUG*BFF>iWFjgk%Tc%Lf;S$) zupUp2#x;vmu*JEZt^HMUjVHlvbZR+L-7<%#&x#;ac<9{%xbUDSWMu5Z1Ek+ zvZ$ap2%oLCn0+4QZCHYO_Egl7G|~zK1W||c3Ph5R@%E#OBWu_tD}!W^Q=9*KGv>N& zp4eh=GC(RgrdZrl)8=g4&m8gnnxzv> zaljNh6#fc}Z%4WR5Ij%MJbmK$CAGm587lT__dXdWdG620PA>FM2h54abBg2`{B*bq z{7SwDDbhIZ9Z5cX((Cm74aN=EA0*YcuCHozfe+Mx85%X1=!hHxB9w`NgCj(m1+tE7qwI|IE~2g<2mxffWUlu!!)Q&5XY zX#Wnq3iA1AI_@HrC*_7#v8g&6-V`QES9p}Rm%%pGBwR4-_p)%dGRHAAL+b(iNx!5J87Kh!*rH;NXFv*Xl09}#EfMFQ_IIf( z@J03XFoRRnb@1XC+*@jf-LI#WOw1(~0^BpG0Hw(N^SE$?3b+h9V1HZc{F^5YoNxoa za&N=4^UHZAv0KqLT&w>y$W59Cq_mLTm6sXt0b&2Hb&C-g2XsG=jbQ=1Uy^Lm8Bl5G zJu!yM4K|kZEq#{rfOfHQQ%P7q?wXFpmh@%vpT78 z0XyBFZq)^}4h1`jFYYMz@4nbEBjfwO>={f4Q6GZf3QpX`J!`t!itzIYGmoNYA zToTbw?|Nz6_Ypp0YsHaP8vjk$Z}Yhts+E>89Dwi4!Erl!1sK>5`5tq|Kb(t_x#YOV z1t-uXAX3cvf6(HvtVqgW%6?6Ut%eNq&M z25EAcRXrmiWtR^U+o=IN(y-?7u4NyT@f38kuWow%IpxgWT~ghTkNQ+;lgmTNO_^W4 zq?c^59W?L9ZV z7vCC6*w^G={_v)cl&T}Bu)XAn53ImrsnW@XP1sPIQ_^x)+-vW}^M7OLg!)c-;_aU% z^jI3>KaAObRg?=bwVC0L3^rsgzGeFu6%k%SN1;Iz)8YQ<^gQRP0c}h|9>rWbfrJ1| zZ_+OkhS`38iF)E-Z_iHlINwAi>B&hd3P{|}DHFg>R2R@h{$~T)rd|cHa`d_mZ%Jyx zA)^YrXa?niO*wu|(kguzb9F*jj$(yx{=%_{%i!RJ{%DeSj^^K~LPF1@t+r>uop26} z6xUHtmLGwc&gvBRuWD3M$+ni`+lfmeg@pi~fejkZKir@LZn+IYa!0;ZUI^>zL2Aj` zGAagK**?wjyFYHKFnBopqk;FtT?_Dmvqc-zYr z-*NCOfmb}UP=2EQm=nlQFVmJaFwN#5cemU=(jO`n#~MF;umsFb2(sKM`5&&1AofAKsgr8cTNR^-IbwYdJel zX{}bkhzK82CD4`WHpwR;Lh5O35I zLVvCZgNu&OBzt!)?2hkqFni2lt+ae#y&WKV1G-bMBkss^Ou7de3FYr|g#9{; zB{8jelyH)3pfd4C?HyEz0z3m$^`&wZcdh$$T*OEVb`w4Z8G+T44gFGyG_qC_!@5=TfTaC z*S{m29JtyO5hl*4nBrGKEaxGaRF?_%I@*3o?YIVaXXohPue^++U?66v$uhH* zhnt(7*O;5-bJltd1hA7crxXv@%#UGug1+~M$x)v~>|lD5G_Xvp*(V%3>Nwp?Ohae* zaSktF0rQ(gZJV;;uuxrlZ(x2)&!t!#i4TPqTf04B$o3aR{)W7vr_ms4czg0_)ss)T zd??&S+uj3Pq$XVpIVrjWXV}%teNE>=c&7V);84dyl2!Q^YtLiv&phvXLZrb)E zgENn2k_G_Zw$z$ms}&LFFxQrO9ya?CitSGSn~aDRVmbdxFvW|Y+ZgBNXc7_Ja{X66 zp7uk=3WtFzDjfFKzdoc)hz61-*fr1gKRY-3fnAm6!{{D|Pl8^R;?K42kE}KiA3L+0 zHw;6sj`bq&fruK(BV7}SNMXtvvs!uk)}fveHD_7Fc2{?OJ!XHZGG$HF?m(X;rEK8z z7sFs}*u$=rIBpm$OH*aABK!l=<<0JoBBg!ojUHnCLhwbOmQk7Y+_@lpnH#yHc<=(D zCVy9ydm(ev(e{ZFF^aB^&3rygdluy|^4x!egg$lrN|b1Zf@C>B!3&JP$HXjr55%AR zi#czTrzdwRM~J;Luad~J)hD*|p56C)83TN56^|5uR$6C*yfs+lXh%lfm*I#+G#;ay zg^5$IJo;63Lf%oi-oV^Y84v}Q{5-L?=)Q2&MPPe^uTuY1 zQz1r+hMi$yx7Otv)*?4T+Xje#FH)M4C}Hs^l#;>zWel-Y;v?h1<#QQpXu?^zDPD|5 zxwBxPqL|wx=pPe{=5Y>{bV>7e(|X9@9zLneIfhq6ay+ojRe>!8b}ZoLQl#h7Fy`2z zvS+jt?u=BEb7OCN`tN2TB+q0(KTp?P%o({E5Hd-%G_)I|aW~1i1v|VQUb50Ke4(Jq zFAT)vNwwxzRmoE)+O3@lA`mpob0n?`L=^VIl0c&DrIRXnIoTc}MxG z{!Y||;wT3yd7Tu>hHTx4Wug`*>+fOvu&ODyX0eCD6R1ygyl*W-0&^@Jbn=QYXL zi&nbh$TF3F9;{dVo>J%;^(fsjlJ3|rt}+$tWrF`MV}ci&H_}n*XSfH>A zYHos$(lEpZDE0608KlvGl8Z6Rg@$(7bL+1HrBvs5k2>$k)^U*cBej-uZi~aI)Vc|-)U+3vX1k3q( z981r664hSU#UeX%e!3?H=Ws^)umpZBdPLXJy&WZ-v=!b)TM4?0m*rRfmAYOo*Y9P9 zYV7nFa#r_9;;8Kn`msnwlVdAIysvvXnJp!GRmNAzzYu&n0xgf3hibG8lY8Rp>BOLB^_MKZ%s?d9K?v-kMp^-GkpvIhg;m zge*P zW@>`FrsxrAZQVxWe2shE_9|vU85^PVo8knPJxrH`e?IBS%;R zVqWNXP{{U3Kr!`Orufn1S;=!JEybVK(dHSp^=!kR3@;{q_y0C8=KMv=W~1S@7pN`J zdxazcQXK&Xdy-cJvC5=7p$xck)q_F@nhz|lH7gpM z53R!y?!=3R(+facHjLiwhgxOeu@-M=G^n@bT0RUDbEznBI$i0I%k;m2A#;z|;-Si0 zfrtOu{4o>bv4mBB%z1{cp$fz@+k%`LM+F+_0MQe>h_|D=!jX32pMv*NZDmc3+b74B zH(+|kai5}Flpknl-0lftfEWh!bCwwy&ljGZS&}7CkK@Oe1c!X8*a&%@U`w2qzc{UCV)`@h$cl(}7LV*wpHN^fBBb2IF>V2_ zOd;joB-6v;b>*s%bI0n}5YKS4*;@+j{?8}Lew`$6yX?~mU8jlEGhxniduieEjjIAw#FM?mfGJ-FDKm7Q-v9Zy0FpaKpTf>z=XiZGS zm@5a;_s#sctEyuz&e%gGE7}kj>gClCb8+g5`ehyK(aBfd>^lp!4d0;*pAQ@Qs4(B? z-GZj$`uSdXQeNoEPO}LcM?`!bZkO)kt}<+;O9^JSv)>&Tt4SQ)Tkij9YT79EbmKgS zU9^tx_C_BHhm#5~Rapp|Z2$f*MB${*)WihZz1!CvF1Ia=agu4MUJCqF(ZS-!aFpCJ9*jgmu>Yv6MY7-s2m z6Z@xl2#31a16OC5PDh9amY1K|Ha;8fWm2*9o|c#}D{o;8;=fsxAN)=WF1vJHlL?Hn zkyB|`|99P~Ku2M-#s3yNxt4d4J{jyV|eg9*8_S)IJ4;sagooeDs_-biY5Vek$@k~N!`6QKZctw}pdUC3F zcFBT|O_@-XcMYrvu9Y4rQWW8PcUq86<^LmamyJe^ga~UU$?mr?2KwZterWls>n<0! zZn(QIK?AD2o8|UM+6Nq~&JuX=j$QgKAnUi4``#H|>gl1BDBV>JkA5;H!GPxcp%K0& zNGv|q+jLgY;Ao&>U|5ZBWgi<&Mh_k^7OpkV8JQd!2?6ofR@%*@d5U@(_8z9p1>R2O z5V5J6-*kD{>!@3{^bHfos4^D=0B<;}`3VuwfAnrhsaAr7w&0+mK|Kg8*QX z)KEopCg)d=@N1krVRlY6Y7@l2Kda$j`w zYB7Al!>CcJadrL4NqAgtOIny5MwwM^IFK732CM8Ke4Rj5oA#7sFUH}XFJ?1qMcr!t zT=Vd7%9bv%?zes&pG(`Y1*Afnp3CAz^aFrwDan z;o+~Lkzc{Cc@dwa*EFlm?Q}pv0ZKtDWB)>dNS!*NK_)Umt&X&^|Ldf_I=}$cT3vUU z_=pvxHyNB1#qvqO!q(Hny$8OBW8)0#Qzo2 zA@t?ly~oTwz5O$yx)Qd-P2Ugywk}R>>ls^pG|?c7ENoHfw!9uT7P9+yOGI$3iPQWw zx!Of2bB-hw@G+hqOReoj1(;K4wyMmRqxPL15i|?9XOE(xv+{xhikY#Mm2w`7bX$w; zI8ti*3pe8q%cLHqs)t|}*(sjBi zV+O=#id7z*#L)n78^KU?m&mc4wOIGJ1(o|13t2rwB00rE9Qf{CG|sTEY@<=h0C|5w z{ur4351GecX6bs(`MWx=0I#d-*ze# zClvkPpNu>B0YpL(<(4azLe%uxn1r9=92QgTYX?9x-rD*LYtpaUg9kbOBTh^}?0_>X zeyHC$)YYM}ajJ$yE4)cEc^yG`e=7%H;k`M;dy6|odwWsqhB zs`!fCZ_p#ZL`wHjelN?Jy5qwRHB)-b1CXoScGl;~x}!F$wr;M~(^|?`cM7&ed){}2 zeD6Ptw%#!Ow}5&ux6nAE2B)Eeb6KCT=R)lK>-@hlw=x8)!7oI2?D8LId|i)Ti8r*4 zY`n47A)|^%x8tZJ` z=I>p{X0Lub;beaI_3*V~f`4tH|B)6b(D?^h_hj|juKsUNYV&mx>;zh(oY$@qFV=8J zN=RjV_@ryb_sj%dAHVQLW#%{W38v6C!sg`7FnOC;Pr~O;?-JT0t7$ zU{&aQrmwbBN=hG!URw0s$(PzN06DpjD7U6+w*2;WjAL5wWR{ZF#KGh@H4~~nda z<92djqkbF`nqMeU)}(?nUnpL!l#(^3VM$CfFD{%FrU%GAntdxk6@O3Zg?A+-(nkiL zVV-Ja3%ZnLb z_N9acsx({Ch0pts4;*q(Bpm2q!|trBy|{NhIXU?$qv&>?Hr&a{>1iB56Y7bY%95zb z8C@^AK$Khw9cx(uPtJftnWDmv=;4rXlN~w9@hG2s{>FQinw{G=g4wYISld}Jx+|>z z#pR{iiFv&53vU{>rpd6E$pt{$OSGzz(yPx5Z!!;Ascmur)?To8C;W~YqT6~U8C`JPO`WwPjRyGB0 zepfRP9hyuP=q%;-$MdMAqy@EriBi|t2V_%mzqPw3`82}c2Mjj9^xIu*?LXc{3Gr*I zlTHPy?o{h&^0f_`FN<-f!v0`CTb}ow>VAK&?R^oN?1V)k0o(;tw+K|#S$w4iFF!ou zvxOlfV9+v4!Bxm;@`iXa4~R*PEIy1F!*@AH=}-%(KHKlj7)6`+ABr#%B`a11H>os} zg7>~;etRNa#5_|u7~*VD!*P)4EC z8uoARuAu3sN{h88q7Ktm!zK!dh4$nPSu2zbR8qY&BwcZ@t#E-W{0D1dM@h4~f<}9k zoPXaUpafxBaUjJ)bljF|{tpPUPklTks`079A_mkdg3qw!m4AD4pmy|c-tg3d4+YYb z%sGGDPk-HO6%tJSEu*MpyBuCGM40hzSl4maRK~&L|HZV5 z(8G=L=5Qqkc(v*7Cn=W_qtb?v;7V5L@qoh&4JH&30Y3NnzU9`M6~_kP1Aqz$!pqHE zT!W5?Vwm2(3(P<86tP0r0(jPtgCEvH=(ODqezuYS}fOA)WkaNG??ltXS8uf3^9Oo8O=nlMFY^dRdH_lUHNlqV+e`mMI zQu4L%-ER-bvSZi=b2~uCYf0654YnY+UGXdMFHqWmCfpoMUOqe((J#~vfi+7bU3w|t z-5BqX=39QojeIjzihcYTf~EjIextthtCwei)ACa4z=bm3haE zD$Vbax&~e7FCIv8noFB#RWPBId8<-4ad=7>Q-1^|T`lAdkNZ=Q->$f%(}j!p`-v5o zq&2LWRWe{|>>06=1M-j-i*ALuN`(xXRmURI0r-??3?&fBe)7;E=v^>Af3QFucnm`p z-;D<7LMZsjh@De$^a-KOxg-$`j)g7=h4=&lm{du zea&}IW!rv3B?~m*2%3O!;_gJ|{E=&(n200BK-~^C@X;LNWuaniUI6OX%Lfa5_}?pF zN`yZM6Vs~a%9FKl(>VV;O`;J)B2qUy;o<2T4Dwux?bj0OFhqhOy*XHX2JC(#f9sXfL@Ud zniS7!*2q_kzi+-i(~nkwD~K&c&eR=p>GqNro*kXz-XCe=i^}K zBQr@6cY$5i*%pby{?>F87T+q9MB8UpA#Z z<)41l1=|(x##efeNXRNSQfB6$cGM;G>jLZa;#S`KM%L*QNh)`{Q6$bMxJ>h|YWf%r zgY2;NWH~*^9J6{$b6lvpgX;0iR@a_~u)|ETx3(b{cEwF^qE5i$nP#L{oN6&G)rtB@ z_h)f$ck@}&S3!Y18N@)S}Bp=P$DPB(5tjy0e(`5*$0)?>f@Vdg??>8eiyt0 zVfZv+^TYopM&6uVQdz_gUS2wYEix6#B~}`zR-4nE_8$5AKHPh=L$J(PJy~4DkP`Tl zuzp}?1zX)v&M|5Wn#b{N&CQq_y;N7I?9D(jfzh*vn&{Y=3>4 zDL(A%jHBk_GeRYj!tJ8?fo9T=dW)&`Z9h(I@<#kNq|VI>k*q=$UgfAsJ?VKbMjs%ML7|FdaJm_50C-YHm<2sdC@}C1Lpg)@KltLuoVe_539+)n^urU(OD)4vrl_|n;87j_DKyCqqVpt} z$7Tfq%c!Iw1md=7)bF`5AQkUrTR&Sqwkzl7dG6n9mFz)apeOgWQcQYnxYoU+uEwDS z%Gqj_P^~;TkrwUf{<{gBI``iZhi)AJfe@g~!fn-^QelsR^0@AR+I1I%a`!wVEYm*; zu5~GcW3iG$K{5f?m&M=zBI)TK;RXU^6)h?sicPzmW1LiHWj<3cn}53PBsL#u0}O+g zz3X2tX#Kb3cGW(XH;ckOYNhJ)L|^fNV6iJW0nJ!W70Z3R_v+KXN(iEnDJD z-~vxKa@&2LpDIu%H7=I-?7+r1aB-^V2?71=FjVuJBL_K6d+U7Izlr&%$Y)t3X`4PW zo|VCPo$0Jrua*|}_9wAVE6x8E&uo>`Ub_^aJ!ko!v;9a0O>nd9f6EWaz~!wf8!RJY z%Ngr@ZRb_JOzo8;y*u}GIjF&c@D@5|x+CNIc6Va)u7M1<+^qMkS^z)owrU$mKV7;fE5i2M3EvZ+Z<9D;z(9$+7iB>Y zEaOCep?QJ5eu?M0o`EUFfSL;A!Q?;y=)5yNY8aT+0JtYcqd~W%Wu`!wzH4op+L0H| zfTR`~V+_|ZHT;jXjM3CZ&*VxhKPYH7b02Itak}q%|2{tS>{P)w0RUo|-5X(UZ6b2) z0bK(c4a>H`9YTMM7(jd-7l$h9>HD<9Rznbr45-7Dn5gsroGg_%Ls8*K2HTG@!RK#h z)u=kuGI3Mx@ZoI4yYPg!umbLDJ^XGc9x`}v=*6@2W9PH0LC#9=l4K!qzq#b}oUsKz z(4sns1NHsa43nleo|Nqs z$9Lp(R|ow@6J8k%S;~H%Q0Zo_h}D~?#C@gTpjxKne9RaraoOjx981Q#9kk;U%*2bl zaiWcl-p4N& zaRKKFzUU#Zm1jKrw!4?HFf57>aGz7y=Zlo#w}t6~biS3wFr4jcUM8@2z66i)?5b~D zWtqzXzvKHj-eAt~rCs00O9ef;ov@iBGnzEGddS{h9&(yl4&gn2Y-pODuc)%iP2=ke z1Q%OA+4z{aM2=zkeYNh`24K#5!EZ{9-5(7`xXjM5K;YcQq|$zV$Zyx<-+Wd!LnR|MxWDJ}rB?nXuciDWn<9OsMRZp$BagO#t ztAHMv&^QGHq77#iPF^mQkJT9}AV^y&z*xn8(Fbn! z&X+mZ#ACO^OZU1DayX7nixt?}X6aBX>M;;WWhgIMmcFWa_*%4}`_&blXY$oVUpyTn zu_@X(mUk@Rrl66{3qe;^&f+eRPOm-C8j!u~+Rfz&7 zO`=n8l4JKB??hgri=ef|+{QfUk(2m38l=B-G|q-slJM>QJvd|hOYioOR;XH2;v_=8og*1 zRoPJ{)29F>g27?Ob_}aa%mR!43547oeqB`p$L!_OVtIHA^s48hII;J0Vd&m-cwajx zz8)j^uv-f)tge1{*C8e*M)Jw;(B|%L4JWs3C+Tri3yVM`{nz&ge)@6yc)Q3`$^8f2r?HvYV`M^ravYOE87Gbi4U-ZmwK6W ztyKMQ>Oce8evnOJZA@sgC964vTsR`{kSuG-GH+Gg7^Dk|gP7`_H{JKP4r}j{AoKWF zqxyfHC8UOLix$MbDfbHr3go#|?B>O`w(p+yJ(L;2T|;ljhv};Trx*BxWlv9@ zd)xnbjb80*;i*@$*D{6yqf2br%?`r<_s{glJ8G}{tEa|(<#{2o@GSVHMTq@WnPmP} zzq{a^T1w8UcK3KN&4`i7fuh@*&G~y+&clS4H^1=PuGv>C`s7D=!{QDdu@!}=n3T16-q7|LAJk-VChfeNPGSKDI+bf+lc%d;J#gPL$p{^LnXgeR+dJwX$mq|$ zrxHLrhHl^KNulBR3eH#BLfD~bjWV7buO%)}g3*h$$E0^uZ+Iz>>MW^jX=My1Z`c~> zXiv2!INz<$?`fz%zFe+-9kznF@N8S%i;i8j4dv{(eV<0!wXXG!(F^m>GaZrP>*R`k zaMb-w%{Go4)IYE$0^932DfJodkxo7HCyYNSV2|)`ekWK$~^x2;iGnpuW2)Dm? zRi}qnesvWwKJHJYkVSLmlZxn}NZ3nTt7-ef^TAT3Dz!?jE8|0_5Me?th*S!<43lFNwW>>qeiAW@Ka#zf6sibWH1z-;1VQ&tGq?FaxfQ zO_-Y2!`dW;D-i*PfvN3|w+65@WzQ%5F8LAhKJ@n!i0lPP^~ZNRA*HI{L9UKbhS5FN zH%h%}tfIS^4=1M}oDTiM6Hi%0>L9Zv8%XnQ_T(r+-h;ndANH?ub0RYgE?}fD0}&5? z^g-(%)=4fsyeP^3TFp28v(Jp3W%Nw=&Y;%hIiW3P%xdJZ9(O^#**If=ghtZsJ^lAP zVBm*Vwwbk*W8E5qD2vG$FntRuB|tdS_}Y>*%qmrWULun8dYJE? zVnTW$m)!tb@!Gj^F;_wC(=9-w8UFD&OxE(BEHM`_w(p_nIlPnb?KYEgtI91%Bs*iI z$XjuT!maOG`DTyxe1CFKU6#}!CX$nNDd1+3t?-xv9rQJb4hyGq?YWd7juWE8b>28K zj&!Kt`|Lzk-r7okw`mE*hEKRt!9N@FSisxIT!Ex&EoyMnoUzSsLx5Qa^3!S6H>?U% zLP_T#kKUo?zRy#N2hL-*US|{~7x!BKcswUk98vqs0IoadMGutPomM(coD%|cAIokY zX_S@j^0UzjW{dQ=fxtC2(OFVRFCodCmlG%J+Tv~GEpdTWj{Pe6jE^;2N zroggTez0P((pS+Ul}E@)8S?J@?SN8FKESs=iPw>pU(=CSYOQ(iM!Wur!X6ttE4+MV za^wE%IZKJfp8qmV)CYrwGBYpxzgs4tzx?MKBefRo^@USgO$E!)D2Ka#L($f8c4?=a zljqRb_A)R$`tf65+IL@+jGCzdK6I)gi2 z6lsHdYIm*-JTLkBuPso#@!Rt#hSrH~ehb69yp0Xd3-l9VS4`5mt@Og|lO`X&mK8jM z%SE6M*LsIR2@I>R#ygt!LTl|(J}5Vk5!7g)u1?{JhgYJPgUpwAwV$UKpgu^E2tf}kfJ=w~&BCP3p2-$cjkbbn9%iX6Xi>80DTI^-tTS^OV*L&VfR&ME_foT>3 zHLxWzN)=zHe*D9s?0PZgRJ^faj~r+dU)0Gp6dHSbZkf04mx?^fP(^ca0(YYeVuI?i z6>3(d!)0I-w>b{Bhs~02f(n&QBzaBo-)Q9(e#UWmVbyj&`0!XIjD)y8-mUzv_>kCL za1u+t{M?RmY4*QqpBek>c4j^uV1f6@hKj%9CDt}JAINMReSJ^qmvec(20ByQ!p&q} z`8?Tr*_#%Bt9`?XvFA8H4+^Qc5oz`Lo#1zlsDM%`*3V>)fx$}+?dm7|rK-Tvkte2f zdVc@0bUGWbGynu9>8-Lqx;k!{3Wr=quO7})c@Io>OrnUL82YHOZBeTv_s;@BWT!sA z?#ztbV3d)Q9QqvYt0Znvp!mpo4JSqfMq6YfZu;8N`v(*YuMtY96#o-qX9G;1hfhZs zYZ%!`7?Pet5jG@rFLPNfxQx!uug)!zB8(HE5NQ^`<_{YT6}tHK{>tV4{X$sHP2E=g z^YBSBC~_-usjJ+y=sw$k58X#^KI@P>P!I;B8_DpH_VSI!_TQu8JhlSp_V#wB@RBaV zdA~DrwrpsWDHws;uj#-*d%;P-v~aCCq)ZD-z>=P#fwYlbl3%*H92C>kB&nmcH zaO-hFWe3OILm8>!=}aJYDc>3%LI~cp_J}jU^yqfyQ2<9p2pfAV*U=|QMVCo|G)U%W z%hiV0VzvBpll#iwh7Xy@;pHjj>!1uWaebB5C_}_2*=ASk0wJlpeOs!z!qv?7YVy72 zpdYsjzC}|PExHwKi{Ur*Keu|XUgB2VHvKF+1Y{wl^HwEmn-(Mt8B&)gpf%D8knbBP*U z;N1-BuGAMb$TC-<@EdN^K+*WS1^Dk<-;KJ39s$j^lyF}Ih%w<$4e>nu2rYZaZ|37d z$BnE|{y77@Osm(##JIBq^Uo%ZXehICEyvAhBKvk&)+;5F$Q$PWA4yjo6=nBzpMjyf zQ%V_HIz<{pQo2hzhVC3vLPF^d0R<$an?V}smPSfIx^upHf8U?8)~s32+48xNeU{?4-I&1Qv0VNEbCPi1eF4)>EOca1X*jT0pE}Ix@80vx_?odsm&=#pf6F9=qzMv&2?6To zYE=5OAY%-Gq#lseN~*(s*k9PO1#oay>Xy#L5qooih=?ZSh0m0iPf0j$)~fyd)<5HH zjqEJ@${4|Yj>Zt%wFdr|A2oME7v81W0Q;uolp?l1u1NFkSE0${$G=}NxEkbV(~$pJ zDuR7--a4&xc7K1L3>U2HWR;pfK6c-146i$lKNPE0Q~?dwEv3d$i3(xN6-5%_4k zqvN(32mF?Z#|h&Haf1p*ed*zK#)aR%;FmuGstf>Q?o@7v%$-ENa|V)iaa6eOjq0q- z7rltV78}l19nRL&dqe{YFtogkQu#>$&qaV`FZkwx=;AdV-Z}|pv9AiJSd*-!X9n5~ zuI0u%icN9Uhe`#~8t08tp%3fVZ`Q9#P517urkJ>@zRpiQymzePz>LY!9{nazO5NwD zTg3ep@V5Hgfl|5>iP`yH5FLoNJf#ZXIng_0e(GX9f5?yS>f+iukm+RK!jb9J`gjkeBOWXRnu`WfpMkFkqmt0{&LVJRNK_p^D;$n=9~)Na(sNF+JVKNa~% zUSW$o5TRE#{<8=w!P+#}MNBjOuw(A%13zk-FBK_{2~#^tj65T`7FFd+IPRJxFB{Uw zCk0c}Ai^a4|4hXg-YqBg_P?L_qaW5q1LkbBJRGuBLi_K{%KdJ|WQDwM^#g7Cn0Qzq zL1FO93BwtbGwjp#?R7>c@_|_#wr=p^aD7O;ZzB1G?hoK9R{l$}JIbHB_v0@^Py9a} zj$9wxV=}*f^0X*K7(y!%-}MI->pXMQ%b|-Op2}g8G+b~YKfrnwuCfD4=^9-U$G!=` z=DFt_F{*BAyz>zdc;O-L4Ep=mJiPu*%3Adcxi*=uwb|KiVPWA9cPO8)9OO9HP5u}= z{(uipxf=nM#g_-G^wBfV57$5x_$ucKBAqFtoRw(qnUuQe4--vnRv1dsALw`cmzabn`V%f%H$`V@1C zVZ;K|PQ5t)Ri6G?M&6ZAba1Y4rU(}7*YLwqY3YO3pSu9OdA0GUXc+bI_*?3R0=GBU zZ+6xzFo)dq*kB2F*+(r^qk$horUHX?FRt^W4{p7R<`D%}Z;ecer)*05#a;Lnm()BK zP2K)|;pcyNgSTW;_+=BpoSjOw}*4mUjLr4jVeectDPIi z?^%$%s}C{2<>6?GACGLEQkLNmvVOA>&_XeuMr~gi-quiV;R1hL#EH-UE>=Holo#Mu zDL$`L<33}t9KRuc&lnC%T`?_h9ksr>XHZ!*GQV{VKG`*Tr4pRVw<(2o*GcX8A@0Eo z`1>OK^LEME-6%hh0$Ep5ETb^(=lmewL@ry)Xh4`pZSlnp_&~_$PZ7pU7aA3wuAS`V ziK6P^tIX}_%xU8X6E=C?@d&5TP zfY-O6JowKLs-t6karJmASKcJ*+snHgfx7h{ZWq5qo{kMH3x28|yTL+e#>`49_QKoZ z+DjQ9Bzvo%IVN9>TyjJJ&)S`0Y{*x8c~sWt{v3sV-?SNc-k`#M^PCUP2clgF6|rp< zpoG*e|L#b_D4=S^TI{M=Cuj_a@5!HO&b3*;W`JMuddCkGf^y**r<|yAOc+7FW#u&B z5R7*1)X#AZnG2v%%eL)P4%H~r7~U`U9i4(tIi7qB`{$Z5`SVkLO+U`}t)@oC8WOF= z*ZF$o#tLO|eNA|xNsyRou9&xa#q9Fr8Uc`j3IZp8aR z#n!-{QTqw8Y2y^d6oMCZ!fBv%PYPV;52-hi#VsW_cQ@_z{U}>}6)QW^7q}|&;w_h9 zAfAjvK8lAdIyArhl18&WcsfgH*?+Sad7K4VB2C$c&f9D6p^@l3EHVMN*cWf7t6!?B zjfovKX}|`lxKlZfiApcqC|o@y19y+W;JgTQSHQ5)TTznyv|rFOz6I0Nk8qwji0b%S z)B4X5C}r|;^v|mvDk1uW4Hv%1qwy2LBecOi2}fQjqsDY4lUkf^KnUrf6E-Kpuvwfw z{CX(g1S|X@({WBp?+6X0!VO)(hzOM0c##)2$yB(>rni!SNP3>;fI1D9qFjJf(etUAOM5Dr(4KTb|QGtv- zZ8_!%o?Hun71j9YT(ji(NMXH)vzSeGei8&-nqglafXMwdwU6fehv)id4Mh1G4)Afy z;WR3r9vTg`4Dgt$y6;!8gYq@ zBK`kTZQ4n-mV=p@-}_wS+bkQ^;Cc9{mC#VEhkl5aBSS6bu?Af6lU<@!2lzuT2=<}y zQEW8u2{T~~+fU-vQV8)P|K1xPj4-r>pId4;{g@@%(tEXR^|@78IttMAxGQYgsbRTK zh8ezlt)}KX>-Pn>ZDc#cp7JkYScz1}M- zD!%$>1NQvOkQgXb)~e86bCQFux-%&bKVk+Q%xZHtH|yi*J{RdEpn>Vh2h3Bm8)BU1HXwOt%xZoel=Z<0LW&&Qe< zZ{ZfG8{IZQ_Wr3rXkf0;9Ug<@XO@l}P6kut!82zzqP>yLwgge|d8v@!NtNPGX2SL! zhnJVVEQy_wos-{ybrab0VbrUlzh8EH|D3XhchO{$zstgZ8|V7gz`&h1Q)cZezs)|c z0XZrIhe43x;iK-61>p=uY=BnG`IqSV^ggiaycf-SV$~kHo#@brs(D@ftkJ9li&Bw= z>5lT9hL?HhMx4|;36addKG-`(T6;B6*sOYtN8p=_>BDB0{htC@n8mw)rWzYPhGLmV zp4nb&-l<6FXl$tK=;SuFWTA25GlgXeq0f7H=P5&bHe4_lw|&q8-3n+h^~Gm4X>&yMmLK;T1hCV8UR8iovW@T33mfWlv7`5k9O0r5xz{Y{aA3jUkV9v8H5y) z4$u)k8c@~n9z^~cV4K__I(^s?EkF)BFlDyQy=_6xLoOamRgq0khJZbi${4xK27Tsa z%~Ji!0$m3RUjKJg>7vL_+@#i%ZxHzCN^jb=hY3+6l{!0WWB_eJt48MScEXx@orr>% z2lqiT)AEn&%nMS40s`oq3l=(bjr=!L_KEMaj^}w6mgo!IJ}owI)VOwWE&78Qs;@RE z`PZJIvHJ1cn&Kk{9W!0>Rd58jffpF#S~wDG0|JqB>xdMQDud7)X*fDF#Z!*Egutq| zM$tB*ek`^`VvJA|2*r!K_esFvWPi9Zm4?{aD7!=OUE7q9&S5g?-k(#l(`+#y2c2{5 zeNLxbmelEY+Ubmse&7oQ<6VFAp_;P>(#@YX!Pznhu>@D3`Q<45KoBl{_e92jXdE0B zIOL9^Vt7zCeg+cN1D-@~COM?nSg3$iEc%vL0zfkjf?obzw_FymKn4O-4Fy(wRH&)7 zI&^6U`R%_Jd)vJN9J}9jrK;?dWJUJLPJH5o>X+xdA!4Ye4N^DEb0OVju{a=K))EA) zu^}DzeV25g2fC=MT}F8i{dl}?UXb?^C4=!!i4w>kmx-QqckZZUpX$2C?edjQ$q+WD zgZ35ZG*=AW;bKIalD+C%77q#MRabNHO)q$wY-)GYkKpKcptT2emDo&nldYvmaxKg9DO}+j%_Teu} zm~+^72Q(pT!4I<0i%$w}p@?|HafFjhb>VM}j6fyMqwCFJ6D+*r@MhZw-_~*U*v=M| zt}Z-C-%|UwD6yl3QvLu6`=iTO(3dW!@2Uwbt5+a9yd_X}5Tz^x&&12%x4YTcqT%C? zN}$=?(_G2NGE6{9D_d-Vf5k^9+(1vyw!@7le%!OZi1zGiz2(Vfj~F-tk~pPAmZ7#l z^C0k!f@rx;8ss`f3}kbHYI^F%f9&;w*0cETog*B-!Ag}KfI2~mz&$&KI?f=L`65M3 zdyA|rMaF_&;!cOxIe*jKbsY*fZbndu3jL##uQP-_{-v*?DYIu4%Gw=Z+OuKJ3 z*(kYGpWw$SfAs_hw~%T-T$OLO`c_wJCGlJ$J3RIEk}m8gU9VcKeop63>)JgZkL`OT zTb2!LNe4NUA1|ZAh64bnbksZU+4@Iso!~QZ^mc8vmP1PJF1v4{yB>oLOaxd!O4hK2 zli1PZa$K>3MkoWx_sNcwNd%PItf3$P8YZ~n<76>9Q;N^7n)SCvYz6{|W5Jig@qTiH zflllRvk72b02MyYK`oW+R4QI1@ z7((&7xneX4L*|J&l^$GQl6uu^hJ{T=8|+|HSZqXB8-QY*0K&9pkcTv&N&|LxD%YJu z#%;tTHTeI|2)Akkw}dg9j|d;dzO{$QNcC#i*(ZR;BtZNX)C)fdN*C3!ZV#$Z5CraN zDyOCACEk*(BbNv!45HQMf!09_KAPZ)Y6dKDt-^&)ly|=KsQM~`4V^py#MtBjMD?$G z{PB;X8kssaVXNxU-AorOF>ZUyp|EJYH?dY`;2RFqs7&&q2eFJ?(A((FHDp%Bg}qh# zXc=-!HK4 zHUAm>Gj@6h|MXOpw{v13cpyCgBPng@@##}O#_zBb8Ny!yam=UdVAw@PV$mZ=n5DC99X)% zxgV-VJ^LjHz%A(G2W>J>L5?E`BbU9-e9+9VeU5XUQ+l}meHi8ZfC13s31jp9QW>aO;-{kswwoNR=GrNQfQo-UjQritHN2C@=XhgdwYBw{dSEQkDGaXV{VnR0 z#W!e;Jgmiy+1c5Zf)T}!G$dWTMU$T^x*E)AeWoUMv{1g$$>nRRHF6^@0#!-g24dsf z`ox|+AkOSQAlfQ7o)jgI_f8P9wk-&n)9dTk9`c_p2NG@(t~CRQukXhZFBzCDM7-72 z6A>My?ud$o7dcTeOU0*)la$H{KTtA!F$&3EOdozh`QuA`B3qOX5#%XLz$%Nclrvgv z5AEm(Jt=LZvI^Geo)9>i*(`bp9>aDw_qHIBwpo)TIzxGrEik6B+DLO;jg!iD{tQhU{Zf=suf4niRK}g z>ZOpKH1zO4ZZ!8tg?N92vtpKGQH9J8GLvNp3c8L#Fv;*Ioy0EzZze7uvBweVdR&V9ThrxjXRxiGi zVg>u4{uu+FBnknB(6s{|4CR})e6-l*%pE^3^o;$vHeBB;=Cv^QmX%(W^U}@Ig1#0G znI&~uL#~95XV*(R{);?S;=e3idP^e!rf)NbRnz+=Tzr&P8ZkFI&qD{etOf~jYbRB@ z)pD9y&AD}6KgS4BJ~Zo8$bq;X4z;H%9lN8+DcrACPTmC(pP|$TSIg#M0Pdf>LRpyd zv;>QADujI3Tt=m6-neyD;fo$sVXklULK8=S6!X%Wlt>sx;EHlhl@Af(T{s@SejVD))0WYN7si;kTbEt+@)Y zfDfb|N1m`UAMy3`cw?q9WZ+RH2%lQxE|oG9dV1;cSYJBQ$yZi)F&jX9awUKwE)g?N zadNGN`}6`(g06Y^2Bp~Jm3cd9M0hwv>N=r-2wP?LRcZc7SpB4^3S0qg@ld?d`VXSg7(dUb1WE1sb_f-tPKFRa(Vc1PydEq>Fx#Cg znp)Ycea+}XZYW4AxMlp$r51opE9;_}5{mGa624iIObE27Mv$;nKt`QjHYaDUQ4pGY z(tcXLHV=Oja%?*x9B!L|@}Vk1_Y{m0SxTzqT6W;Vf)5DKz3c#Me!BtnBa@0s>}@rp zw@>9>&p@%gl@?gWeh4r#R*6`1ZDoyBQHt$LisbVzMUMkS^{4es?cbM-{QRB*$jF}3 zscDi+SH5Omsmm~I=Y0_%GK<^3l^iCjE-`o-h!lNlGf>Vqp&@$mwkRx!EUs%`c7Z}w zcdj>W*1Ts)NBT8P6+5{yZ4>U;|LQxaH&UflzuR&75=>Bz{`sHJ)(s8^2g~{Jq$v1N z;xVrsUuzbNjjx&(Nv+&pWIFM4esXJRep9;^?#?r1+Xx+2qOpKZT@F9hLzC|~{w_{K z`Tx>stV)Zfsp!a!-FDbCt2%tCtDDZx&OWawFK3coCy5o0j^8*=^?jtBCuE^Q zHO&-rPfRjSUCDJBh0X3>^^JI7DoeH@R~g0KZ!UUMsV_&$QA@mFl$}>1sn7k2d7b2IYrHtABB2Bp$n<_7cr>Fp+=WHRxrb zm|E}P=sb`7&ODkI(e(ioPpWfge|ozKyop7Bk{T3dcYo;cyP8*ugEJ>-j52vU7wLA( z=t28{*;cDDG0d5uwVC5as6tD6>+!+rG&E0zhJ8usi?+fK==4n>@D>dLj(V{y0- z$;47)S-6N+Hu8)8(N(J1#rtH8+4#AV>m*KEihHmpozPvxK^7+>2$=}r$_FEwXU-A4 zomQY`imYya)AB&tZQ${pR4Q01k0WVWys@Swb}p_Krm7vYL#;BON<&!x%~?%_M*g|} zbW5=T?;!GZ!@~+`@#QIQNq?$>%jU*^5GPpQQw-D0Z4oTG+T@?W?)ly-kG{ujF7jXtkFWuW#zq7 z#VB8QMV0FG>)N1IPX-O50@YfOhzZ^v4_A?fhmA)3PjILJK_F`cd&C3R4tkh)`7@Q6 zE=2kjF|wk&vJP1#k}C}{xQH(YZ3Rb8(I=_=L<4O$amxJ)s#?Qa6os~Q3JgCn-+Q2W zH2!x14DYHVO^l|IXi=+X=823K7+H--SSgiPGciABQh8Y_G#isbzKq75+Q01vEGb8? z21Rw}ld>ON9U6}#ki)!%K{4Dt1BnSi!jiAB64fnuoApo~EM(T32(n;GJz-0@`SM0k zr5|UV_LFm=AMJT{3%iS%Cqj$%^tCeivICqPw4gm;Trm;8OygNiTZsPDWgRqoc6N5o z)vEQ4LpD-YHV4h>|Ga1eg;ok`XZ4%3xF_x(98?xgfg4JHc)V0qrv_NHP9}^`+GHLk z@2tF%xZ%C`;O{_}Q#^BGre0B0lM=wmWmpPIA?jbIT}DrKHF_7L(9{0ys-sNOi$-CZ zTAQLs2kHv^MPBvpc;>w4AkHZ7uPBRIOd`j6P-N!cFd^c0^RBQ^Auuf$9XRuziTne* z`A1}TV)~w_t(pn8X^-|~3Ic-P0_z0q>A;Eg&0`RdOql84rQLk-=;MB1s5f={A|#{wb0S7Q2`hv1bj z3Ud&8J+XMQE|-U6p8UQv0Z`HwIpZ2KD~q4G3t={uBtIK?Rx%_SCiGd7om*{;fTevK z>kAe@AdBitKMlAmZrNMgy=;B~04+B8lD7LEy~jky6ejd;9NM^t(+?|D1<>MSPh>^= z58x_#aRN)EM1}Jyvb{(InHM%SI&9d;3^R(_I{?ow+oYevLmUa@&ttI;v{uhNxfA)3 zT$@tLF$b)}$8I1$mHjyc#8XDZ`Aba!)b+0Ksd@uIPEEIjB z*gz}f*Ts^?qIO|7>0luZJ!CX%QGpb%VDEYsZO&@(V-ZMuNg&h9D@)Yq(3Z5aNF)1u zz5Nus!X!}sxJ)TsVduXZC!>-n$N|7Lok$S}GU15x_LBIGI^W>3)oX%Z?}x^#Q2?dN zJONNh0%*OaA1t0Qu9$uEF{8;rHf;Cjk*%z3I4|r4CU6^&3+jwc8T4NO6(HZBUxF~c z_3-+jSy&fwDTov09~lZJ&S}SYyag7~3|4F^O!Ds&81H;?+@uKyJ}VqigPp`NzP+jd z`w>z~;CY-p7tuuz2*l3nXre^I(!$2oF;hd_yJ=ui&5qogXB2kSZ1}@96)Y#ac%_xV z49*l_YrIyRFU87mTAB%sz;bqy$B>3J{~&u-lc7?|VL!d4XSdWPreAxgKD{v4T~}FM zWN)cobZT99sWSsD)^(@fk9eqO97jOsH1}CD$zzSBf@gJe!0q;E`*vEs;YluOj7aYVpM9^!KB z-&O#(Z`sxuUpGIRU%OsXa)eao^|2s#>Sm%lIBx<-9QC8KR@>B)W@7_y$y3pkuF*Ap z9E-1&I;dCRz#`}6GHrxr)$5Bz*G7)B#@VM?Yd2OZ2n@d#3Tm3*yVLPWRHdFwt+!vS zUywV?>Q{}CS0Y}5rSPQ3=L_!KOGa74G`kc)%U7hNXQBq-4tk|YlzVJ zFU8T}QA86kBZI;D(1RO%zr}6;cpvtnOu)`=u8s63t|>wMJS(JK=m+dmzS$4oQGA2H zcA(U1=`J#gM@5?$t-(W|^mO(EZ~C}pX3XN5mu6(<*Y^zuPt_m#iY3->Ll%y2%^V5a z?vdux5@&~BEG3-F&%0LNZH9aiA3#*y{G%~o<65trO5rAF7JGB+kZk)AsClMoDUu+- z`Xx6vSb5M&8AtYAaGL`-V`A4c;p~QIl;jx=Iy0XS?KAp0$TMXet&AQCuD_oDeaxRB zH%U}o6%$KX#CJ?iK#nSn6Jh?A)b(rz62IcPh)aEb5wKTJg`QSBT4VW^#C94IAHxdm zm&3X-bGSp{-j)%hwr%nPVD?oGHv` zsAqvz)AJ<6tQ{PJxcr-f=sMg#MHC3V5^bWD77BaY{B`2muIjc$WZVq8vX2aMsP?!7 z{#ot$MIm-0(;igloiq6tw2_xYXn`{^LIHBwZF1Qre7^t>>mtAG&*p1vcTd0NeoFH5 zZX6SB4l~zz1AoP&Cj;L~N*&$LW0r*}s+yC*YwW_W-rzuz@JsQEbE`)_=EMA~nL)gQ z8Se;W4p^oePW;O~3P2dp8JtLIvd~Ak?8hJP!h0D;zIaP+kkzx03 zf;pqxcpM4KffhucJhaZVJZqvS!!b{m@VBMNj+)cm6?W#OrXR4ofzfWpi#Lu!7*P1G zIcZ+u+@50Rn?!T-h2`pgpV&@640+G2-oE{CPPt6Rdr}dp@SSv#l8R8Xhv|c`JN>N1 zR2ymXI^&f;DG9^j$EN4ZGS3CRN$-sN+co+Bmh&er%|PDoZ*wKL_Z;se(BB+==+J(> zHeVe5>_N}o$8`7BtW5cqkj_L}QXqh)I;}c+rlVuYW1CJmIR|`G<}OUq(0C$(`kIdL zGwcG?nZ?cU(8qgx#ilVVJAB(5fJ8_I=zulS8XMiGM5Skb(A4PE5c9BzD2i85PiPa51h zSg^4@d@vOEdkulZ%6YBx#u%hLfGDms96rj3tm3bv0j!L!hM`>&XpJw6=c+N*horS5 zr|5)Bkr=fewVMeY7C8c59yTq}mZ4@q%Pz>j>fu(;vZO!LOckJu@Jls6poEM;PZ&oC zCSEFGE{{UC)P2i($E$xv+@ptgjq~2(Zi%)_{DNKJN;SMjozFYYOZH-hIw5^3we;co zsnj`Y^FG;1Q48%JO(1}R66_BDyjen3Yj|tn0ZQY2Filk0WU;6w$!A6?Y{cAvX6I43 zfhl{J85{rY9N%B%bx`sYz;DAso8lpa1yM>1y~==5ZUFWLhIJzt@rp)5YvL1 z#Kw5ymJzacqDl68>%b8P_sM9FI2Mog$aJ?1)QSPO%5(lXbD2Jkqx|A7of=nh@M{z! zEDk1(6~XdbykEKd@<)TY;7CV{it_IvfdH(lrJ&(^;v0WTOtH~?(>RYLcGVo_09$n_qd=UKNX5iJL?X4k!cRvifkZ0q^cd^9)ddv9^)1 znTsLemh>~RQF@TBFe#Av9mfo}Lh(7uu|L({Ou5|;e*>S8=tRY1SEt+#a4dK{kdf0- z)=gV`UQF=nCpvlvpX$d5_;e6tD|ASPi~5o)X5AmwnK*vz@El!H*Tv z!!db9Wrr%6n|s)mlYiU=xx0`jzi@lG(4&kNV0@6NRUfhQOt$93{`s5RF{iT*jdC2N z@b@0a*5x@hn@*ZCCqg|_ttZ;_LS5G^I_~EC=R3aQWkZMkrH+c0f=%+g^7-s*I@eHZ@_})-_e_>{TXX*5^*k1ZYz0HYk$RG%4T?@fU)r$c_CJ*^>{3 zORE52jNCsKNBuqXe@f0U`rQJl_yeknjTilS3)hOI3RJ3H>(bdXb;)Wc`f8$mP*Kl+#ja#6Wz1Hi_Y?c6gnq?R8cct4{x^Y@|Z}=(*-h_Sh0aw$ns;-o?NAoL30? z*-)!y!!F<+sm`LDqs-!1BR$NC+RNOj)$8p)xA?eWftTWJBPn_I`(UDbgIycbJ3z-qhhvWkt}H|_SRhx!E z8CT-#`{xsXJ6OyE^5qL+oIG%twyyP8F_y5YEe4{X*fP%_1lMb)_Gwz)r>q5O~nX_wedVuaa8s6ZUuFin#5Wq!lmP1J3}P zDU6yF`I}+ZH8nKg!wHWN-$~r&u{##9P-q1$T8uL)!19ADZ|}F!PkOR|3^k^9aG8qq z)1sc|_fYi71(1jQf+fmwL|=4t8?irnf?xgf?kSR6pO=O#kpZ(Ue{E6qBkgy>q~OJ& z@0J9l)77+~Q!mPD?8T}Xpzlb57kEq1_o0%}yJ{#V`Fy&AP63AXw>3@T($(S;-3eWJ zFjeCZt*043eFNSa2Lu4oo*;l(EkukCq(bsffUfYa94ZkN`kZyVM zwqxK(x3}=@6tTi@!EW1N>65!BU0gn_V_Nh|;?%89( zYC-(}4h8X(I}mu*fM&CT{jf4L@~&fqASqonS>icZ5UIAU6*@=VFL8g=Xh<^PoM8vh zFEz*n#H~KJX{gkDtPX1(8Do=N&Wbd>1@8GOGn(3;>_)LcH7H#chV?xF&)|rogO3jd=+1`Imz zxl&ZpF1cV;eL7!*&^gXlj^*3YD=YVF>L?(+SDrLgYOdIs;I!xxIN zW2x)4s3&%mP`x~ND^TIARh+Gk)6yT+4sxuc9q`(!p%heL&+H~jh8lVrm0I(5_PdS! zXo+7MdC8*?LA6)=fU97A2pT6`R`($(Ms%RBSDtS$=a(pWxPVBBXp)J}H0-CLi^q!? zwKs~%=5@Io`7Qojv*!K)GpFT{S&#V zR`&i+8sJ2Ul&!Eqddguap9np zuo7E}PH1EGbqmHsbTI?Ev%5AWM89cP-0Q7fc_!q4{>LFdfN%=XoXkJL`L3tP2f?Oa zYkFwVF|TAw);|256jLlYSc-e8dU8*5K5|=EYb+^hfJz=+t{V7g5LLjbzFGbWZEX=E zH=ovgT4(=a{4x|3J_|@0{Fa6II$Hz>zXm#Zuf%ZTKMPFvk$_(SdiT@6?&zfR8!F} z50yuhb&S`&v;*3=1x-n^j?cY6EcjTx;v4pemZ$j|5TA?7xANNOPcL#21^-wwoIkwP za^+WP8wI+Y(P59c!2NH;%D+d$jP%^PD~&Li<=5<_Fd%k!2wkHCmvG=rEt!S{qDXY-59-mes|3h2SL5?eI-qXR&yvfN9J4 zd9)-NxjRHmdQFV%5`*Kl;tZ7R6qA=T=&2rUb4KO!fyCpJoZ%Awui3Zc8C@{_gqP0E zD5}T(l&w*#yRVPP-TRH$tL3raUF=&_jEVlrf)xb3&0m(2g#DFu-hW&9+EF4@rf@K7 z=Li}PVW|aZ;rHraI)0r7&Vz3*i2feFhcE0tAYNu%v`V=C>GhIn)kLo}6OMaICAsA! zuer^k4SA#SsVgZzKhT8~5W%ioCtS1}89p=W<2~HoUZl?WrAb#~Y+TxId@!6TDJ-11 zTV7Ja>=B$@#LdR7r#~i6oJUb9!tk3t_v^o7)>*NccE><|>BB*x9^#I(WpgA*DSP(Y zM!(1+ZED)>T}Y#l(A~U>$_=-W@coC=z;6RdlK-HosZSL5cMk-% zwvU$7s=laF|Ckxqh@p=^ZVrzdgjte(=&etLQKOmu-kqpnWE5-TJo;$<|gYls_N@nrC*dangf* zqB0$^o~lsZJvEjK+~!LD`gInfPkv6{tKdpG-~%LKR8&0nJU%{E{8`Kg{T*BP*FMbu zzAAlt7Is9m{kqsVw618hCg8UWTbHKxJ^z6sr+Ao#b<pf#V)r$T%h0L`zIy;En`?Z(od>B$kS^^;G2Nf}se=6Nn$;9J1gmWpJ zx=n*Ga7jM44(>60T1IoGfD)_Zyf0u(XY<4|6M)$@tE-g;^50+F(~l-5J?{%NZ*eox%}u@A2(VP&B-9lo6sY>VxmGR=_! zFg7!*b@WX8d}4t2m`fe62XWMQ+sOsn&=8-V8c)o--2}TAnPG}tcN?ohcCI5IRNq<< z>r+tGT-BUj8-Up7H-!6B|9Vb$V1{25jH{X#PcQs_Szfv}ZBMSurR<$q|GD+dvs9>u zkF(xLf~3*?aJo4NFH zy=C}$L(vL;DQ{zY0vVb0j4L4g%S)8iSk6U8F6lUnPg)d`UX#ee@xG87;uwa|U-((n z>0)T^Rp8L(ng!ViBaF8v1a#j!1ptlwe~hyPC0zJ`O=9@8QPFsw^`h9`63Z6{5}54N zLI?Am4FT#~!80F}ch`|c;t0+~Y8!a}bo<2pJdP;Gou2bgEBsC&^w8qSc3j}*kSo5W|x=AO4uG7E$OiDeC>;!jf<@CWp4p7~v5R2#` z4K#Sc+m>e#XTGnU9Ao#ocDEDr(!$9$4`9~^kxn@cr* zVEKd4IJ=>|V7V{8G~;pfy(`+7R=QczVsX}_8L8#Ee7z*M|cbi=drhEP& znn}sHQibOarbwNlUtsHy%cl?<`U9+i0z(tGnMhb^DoG)nMF8ysM&RqtcDnl1=9bs_ZA zOa%^>+IVm90*6;a=`-;b%5d7>Zhk?PnwIc* zn$;(R-xfFy{Fnjep>;+ z+0^rgtusLD{3GCYOxOb{TI`H2vtaOj%|>>wU>9enM}Cv|?FFGw5V*hx0KACGywE*@ zGthZ3frCxA10hwK7ncU>HRPo_0`|bHkZP9Fiih2lAx0=4$h@uut9c5vE)Rn1gYl4t zw-_)AA#)@y-qjrj-ra%SfMry!3C11NX8BE25m531vbq0$eL?N;19Pl*R(HwMvGC2s z_Ii*}2(jTiF-{iB?9Q%~Fnocy_#vMmArZMIsq6=A=zwB25Sj-YuO^#!!+_6us;~ej z&q1(xl<%cvpURBAd(4g@+^NbggUUKRcITQc*Q*vlvq`9ARb?Caou8zTPWwZ)%EWTi zDU&Mv+}G?UdwLe&mzTe$J1p643dcj17Gn|U7nresZo z`R-oiZcyk^nX|W^3Jmj$LJGv!AR(Gdr^C-jdiuXs8Z^mFL#zoE2ZWnfQGh+uLmwdH zHv{2+(%gCeo41E%Y{fD5C{4BN1X!V9Anv_PcF%p>1nG$7kIyps@iAEb`ihd%R=GyK zcsRETF({BjDKVZUJUizJRowTJM}*KhjA9jywF8pJ-!)inw6-(~ z`L!D%_^e8J?R;Lxce#GGo_LpQosCR5ZRE;CE*M6Z@jWJ-J2Y7^}FgR2Qiv^sA%X=*j+`lFi{>M^nY@`sbx<_={8|oX^Pfuj4j77paftk*d2+SXaLD?>~q@b9jhq zj;xHRGu>o$KI!gN8!`o48+E!2SvJmB84G+ioiHwQt}tAb!tVXg5ZU@$AkZ_Q=4Sp+-t;MpeD)eG{dEZI;zLa_4_5d5 zhCwH7_v>SUSXV)hB`PT`z8?05I7%nmF&XxbrEk}5Wb7vHO=kz;f zn_qdc118gtDz=sew%sOowu6F#wP0oXjrJs|$^#P%xYW=295VWIpxFXK{IihPmbIe= zyz1wFn|-6IC>}jDFSODXei29~?YFjhgO~kvv|m z1*!=)*OfNY#xd2i%YfcGJ;Di_IDO%7qX`KKcwcal*aCklZcDaJE2aQ-Z|S*5I-XzI zi-sxMz|5k{rJ*O?(Vx@$&FDZzIk|h?FI~>R(gQOX#i23mNPgSx!0jQS)^1@6W{JV$ zT@4^k7aRz;Az-*}yEnooUealx=qOC|bDpE6 z%?p;pbBA91MyJ;?$kI%3)7yr4XvUtJY_!w{A`iG2)?yF}@CFnTv=IMG+;-W* z`FG;zF9DTyS!zi*-A>%so!w1ApAxFH5O2*GK=(^1Nvvx~r_GKe#kppK->l{PC;@tn zl5zfd#vN%+zCwX(9TnD4)^>2tNC4%<((C3l5!7U3*^Bbzk!VyYB>kI9xlv8IvnIqD zD+oxjh3f-5nKtTStF-5zvcghqX@ny{f(=00x0yHmN#hqp;%-tI1jnRUsz9waSHC0Y!uqIy;d6TRUz~BkesMtWOV``;7+(2w*)9ra|F%ZE>C>IO1>_PG76}Uq64EXVNmN=dH}g9%>a3 zAEkEPdEDCB#PO&$kwjKX{#yBgE4sVBVJ7Uguex9u`TEqMrDuoxAWdqh;Rc+`vM~6S zstBWCOP@296Q2LZrCLe-`{frI+~q3D^%Nkg4;>{|BkAVLXt(%kKZR36gg!QUo3|hT zq|7saM|nLqK9qs+_1+L&;fELb$xK{uiDT*3d{YhPlgPB`+2B4n@8I#Ta2cI zJ*{RS<10as_$i*qoCyp`A|r$4zcC&?65a(oJNu#GGmgj^3zYO4;SXK5gj~Kagy+|? z^Fy48a;;8;!{rUo)3sx+oHXGRyp4PBtsF8ZjJ+7`Wqlnelt#^y=OQ(Qzikg|GXkqj zcV8>om#cB@`3dY9oruS$E|Jb12B}eB91AypPSsd#-a(NGWUZM;Orvb{YMD4Q*Wm+0k*P&sOC4j2fzEs@Lj3Vf%t_6blvie|E^}5{2?N!1iR1+9U zMnfAiY&RP=QM#_3HOgzW!X~Pb96tSArrDY3$(FvkI<#9%SNahCr&T@LLwt3@)s#v= z5O1_978{|c94ASnSzaYq|F#SgC7*4vcpp5ulVMlKX*HsSbUT~0c_Wn#{o6Dib9xmt zxl@tX+4@2JN`bLD`l&ehjx~S{1!?v)9O?VgBrZukMo5wn+6n$YlFl+Ls_$#VXJ|yE zQ;-Jf9+d9xknV2jh5_l84hdQu^WGs z$|)rV61&3OKM}S`B80o=O?>QX1CHeCv}$h(2lw>T7IG#Wq}%Nhd#A{A2mi4gr-hMa z?S0?Cf8mtaz`AX;R}Heww2iA}&%(67Hme?sI{84EebL`9`O9owUB9Sjb5Y8KJwUO( zg{DBk8yqH{NmWrX`(E$Ala#N_cRspCy+7|zUzuhGTC(IHn&7)B!mu8l)S1Aq0)2um zYC!F9_v_m7cUnr=EM@h6D4rC2OrPsHUpiYhD}oVg0rFU&2J;~0rD6CPB)7H$}GJ!OYUZSrov3cfEFM$B4=s33jt z`YF%S=FlahdgY0Cv`V&o8bi8Xpp&djHoeycdL(pRK-6DDWitQ~BGv*=Keu)`!7y6` zX3Rw`-ZO!w?f1xjpmh<9?CXG;h)~ANCt1~vN^&xs7#Hs=WwIw=+9Ua`qR&Npo!Py$ z?bip@YpYMi+K8!DiVf@DN>IGG%Cx+QSz%zjvT3|eNozK|4WnT_qcq}3SwrWcnm%%F z5dpJ*QkayQa595~vC+qPaE(o$N$MLL?u@;jrn1z2J3mggv(d(;qdO^RT`z~#%lr|u z1J^X}8WHEX!VbY&5|Oj<>;dBvB7m-%bc868dLxx+W-`l7-YZQ5Awa?|=wr7}R$6eP z%vTj`2jq(zT?ncb5B`B4&~^OwIh4YwXM73&uN{t*CCASqdy~B`RQ-JYQBP$h$gXIy z_Qwf%hkC6wqlwVaKquCI3C*;A5nq@E#SwPbVkjhC(vG}f!GoZmXy@v|P9Cx(?!*zc zqA@XVZ|WcV2M)Vvp0I%Z9$0rudHT>jFxOE?J?`=;lnb)P#4P(|K$>tF-&=gmOkzS_ ztDBf+qtUMJckO2I7#tm_UZDaj#z*+;O)MnN)(PVs2rfYP@7>G%$(^H@T(WrcFZdO- zsd4|RX7Y3rp9I9fe@@lNe$P@gA&N0cnfjIZ^lY+~+ftdj zvE*?%_OX{g6vTh8XdB-@F~K;$=&G7i!cn*F+af~_!5-@GxjuB*!KJi-So=0xfC*iQ zm((uG@^PW;@R+c!Y8ohwz8M8)MwV`oQZ83V0pPNxm+ci@3-l33yYa~j@L}p+nz1k+ zG~uHFs)x{Efu7$!rH0LwIddXUTB(k6dw z_0}p5&V%j*`RW^Va*gxbTs9tUEYq3lKx-{TfCSTiu}F@gCOA`4PD}Rw(Z=ZeE<8sT zl;Zy24gYBq+@c`_PWxV(}RY8rwFHqNq9iA$4;FbmnVsp~_3C!q+RZ0I! zf3Xl<@rb@qMbSeRI4yz&Wm`H&gj*V!mN}^MFaon(G}MVe+A%NzTK7(ZOAE+c?@>cT zAqgSUn!U5{H)Cmlw6UKV!l4g;fJkVHA7{PMN0isqD3kXl$a9Tl22wol%SZ{{08#Mx z6rE{1wfd~-57(w=G}HT;o6Y=k09UuXT)4GOF;K;pNFUQg*JpBx8vXMF(y%8wd!-b_}nejgwU5wnnn!}^Os zu|_{EH`|wWcIkC!L%A%c3)oS-s4Wdz$pPhf!rx6xK}S>3g@OQkvLDsh{vJv!J6(L- zPKSxuS6tXL-1NB<&>jdPcl5z}&V*r0a{xb7DC^8Wh!P_s{7ikN(PC21&Ccqy`KM(s zv2lK#xNyiY43ck`@%Zr;o?JwEnijE3wcHUr;DBYnh~Ux3pL#J1TIWsHvwE@F=rtJg z&2g3UyQ$e}%AKFHAvu&B*02#ESqUKX*Hk^B}BUZ7ZoMRcEEmz+FY{TzrSpYy` z-KkV-+W|rwW^^cypq5@b=GpaI!XhP0UF=WZ(*pqE=otB6m3c#Xe)*<=@vc6;>I*L2 z7}WI5<0SQ?@7a`P92`(O78m>|~0nCRTB=f0|KNKw_0URAzH#pRFQ3?oO7hJS3b!U zx8#GYQT?NT@Dn+*2H0x|1psKB0HGRk?%h(1OOa;KcQTD6YIx!PBn4z^?6s0g#f-0~ zVg(Em7%%FBhG_9E({hDjch)M|FE?It>mEp=#8pt-Qz+=`R?O9xIHK$o&y^V@$Ap}U#?B%&&i zx?0Et!~yp-S?vA%SeGRz@gAH8v4mG;p6`;twf}kY0PYOZrg(nuR3N>No7m(qFo&{k z+v`NS`NKZ2Vt&dMuaGRLUXFK6g0G$_AODG{k8GIwX=3>pl`R$BNK9lvfbst6gVjs( zf@TWw@;kPIOG>DrMn?2-VQqm=2{(wXQBhA{(eiBEbEKEnPJO?}i%S|ZL zOC})1@$eiG|I${>RhrJ*&(+?z?q@(Ax)UT$%(z4n)RCg{7a_9In%*WEoXM_u0y#BH za+1A?gq%3~L?%>sF7ZL_$XX)gLHB|TQ8Z7yai(gYd&s{MeqWk~+=caVD+JrqZXmH? z{=t)UF?0jcOxfoUS}ga;`}+S*Fl0lg-j3g0OqAf;<+_#6a4f-9Sbj_S$7j1hs~tkj zTK)U?D^?>~5-}Cd=FJAdJnBUi)8TAPgfANYiGWEE2_Cts6)N`~2t(T8)#vz}J{BxL z=^JBit`op>LLiFqFQvbKyTQfs0Nf?}p38qm^VP5aMI{KKxbXnh&PDrs=+9rjMtHN( z6%_kGPrVOpgMpn1>7D0XwBGLm5S-^CYMlDkbFn(Nw2n|8U-g*7fQgBCc|K=&BMrE9 zth4}`{L6|+?3Xzzs%Ks8>;M8<7mTfh&I@GGXF1387mN_Oi5oH-ffuq!mxKekMzJM< z=-jvf{luM@;{Kz8(0`{c0xv>nw^Vii{2)UVdQn^#i84NRMqO1^RT$7zlZ`YY;y2t& zDod}C*@c_i&w=Ym_I9ayYc*|456X=j;>VSgKof}&A&L`~kW^W-m3LN|JWS;xfOPKl z^lLd{?L_)ksOmal_Y!Bg-;|_FN`!U|5Bem+pWU9y<5g;QQ8)1+VU5o3+Cd}v1>Q-) zvKp1s28yaDk?9e!<-!DC;!5m7sy=TwvAL-e+V}K!#WN{7f!j@_6x zfUi$-sPgp86YfLaoegX`F(z2{E#Z4<$jm!7&yw6x;!G$LAHd?DQdKVxBo&Eyks-uy zr+r^X_hit@lAaTDIo*ITS;W3}QIfBtrqRft-GUz#Z9CLU+0)rF>U{#3w@;;YQS8^* zi$Y{yF>BB>4GO3@=AaatoB{IfcL$6m!bhnCp#Utzg%iB8Kt!qa4fGI;~u<0G+v zL`Rw(Enfno0l!L=qe@AkwTK4=({+m!C!==(iKQcCc$~_VX~v-HsrQTRgcwI*`hu824>|Cbeb8gLIA$z zUu&oL^^+sBfro;k3L#cve5l`P@D(p}su2dPlRGCtZ8#FTN;4LLXUXg)`=rKQzT>xX zLs2B&H2km-x^`@Oqwa5+5rde1P1o6dDz;o9_MZyhPS^=K+|fgWldrQ?u=%MlCSE(i z%ap=t-|FesSsKo{3G}Slbg9wgLQ zwCpNv+p0TL5bl-t4)N#WB7m^U*kW0Q$CN^UUUn%F+`VR+)jk>C20pZ0Bldnz>)?9mYuqS#2p;BGn-@me9tlzEe6 zHT=dZzTi}Og%=Lm3W3>B8c4xc=8P5=|5Rv;Ute%&4$bY#eP@L-004<7_v8>i%-uyL zs!f;4^#>Xkq+wS!Tq18c5hT?I56sCzIv|-~%b*Hb2qt@JkI%_-ZO+!pMS6Tzo?1q< z9K9YdvplE!+V=Mz{O+LHPfuFyA40!xd{wyuAMU<0bKc5I#(HnW;p;#HezGrG4ot%> z5*pOQBO~AZFkGAyXi|7HGZOs6`(z6$E`9R37@k5xo?Z2`gp5lRyO)yo2vQv7c9HVy z0U8lEcNZ6!HO_BrWzCe7`^4kp=OhY8Jwz_@j&f(9fowbMGehNT|C*9EE#kXBK+Sf& zjlz`V52`{HuZoiWA2P|uGPk z6czWpknI&c-gFesFmcK+Q7L>&LfU1Y%(;|J=KV-?xde1)f&#GLonp<*=vSpUAs+5RZYLK_)Zv|G zjd~fc2RQgq@l1idF?xl}JrUabU3?1GDCiRU0BLE-KgYkvS9ElA@Jsoh4=04by%c>q zag`pQ{4`=tsIHlIulXhMr(h{pwE5ypOvKvq%G{n(gcCsuYM^EbJ-W0i%%vD9i|!SK z_t`_)&vFS|DrBB1k@xf$MP`MQqW+b7enWSG_dl*nDfL`!+GiT$SnE9BOu(|wZt5p- zS^A)Hp&V@m;~IXUDl(5yx@^#QT2npvqR*gzUaLM>fA4I@_A(Bcq@G4TFbx-|_()t% z9uGS`O-vw2h>_)P_f4qBn$~0oA^pX!SCB~$P|?{ASk)aSqHFNye;O`#&Ys!TW?wLT zxBoXZ<*Te(O|R>ktEnn7b1TC~Hdx1OENOWw?k}LOU(4oX)F(`pk`7ub;oNTpED7k^R2@- z+3r8Y^=ULIUG2nI2_q6@_F+i7ZxGadmDLitM$WcSwjHq1e3^it6NG{>wz?B)`TA+L zjf5|!bcmm20KH39)HE?3G~(tGZgr@#NH0Q2>zVx&_N0K#^<{)>q6lkB1H`tsW#PVr zTbIQlW|P-hR6Y+8@~^FrlHcK{J}R+CQHWj>VPCL9&{&ZJNXNq=A`aq=E~7P5vb%?_Fop2P(kGxJ%D+YQ5AYsx;U* z?Mn+gkRWd_Ihj^wT2NWZ!mMC6LCD!aw3|`SAfox7gVg~+jb$z`*t$Cis8$7aF~CET z83y{`{S%b{J>8%8H%>7|2Eh@LP1?8|-;ujBOBLJ_K58Kb;B`Li+^l0c85$y!kOU!p z{r=z{A$T|d=ljVBjwS~>06=s>0k8Irp^Va}!=Iqn!J;OmSQ9bytB#K@Zh2K4Rt9cc zX{-g09~8pD#cu&=i&^d0z39UhmA+{BgY6(G3RDvrNj%#qMb`W=VHdo+sD$I5Yd;s1 zMFt83bTIgo%1|F)qncNmGqL1-WFr8#1b_dr=(gMf4!CQ$xK?byqZ_EB_j+DM0SG_M z5$(=iJbEp7DTe!y4@miiBe6;M3|3{W&3yz)g33zAJ{GB6`JbV`apWv{SO1?Jt@uS7 zz9a+Vmq6RHzcI1!bg;eco9OfPN^y9rDXmhp;tC}0QC52*1fmlf>!($?0tF+iFCf`3 zm-9BCURV&!+ZhC**io0!sl&*0F2BbpyS4?K{8&Bj+bxUy=hC4HXmN|MqAk}aJ6`ux zD;ItMuqU`ZPQeuQuTIs5TfZ_H)!#(id&;l1;ZatOA%xapY3LKi>YO9@4KvLHtQ zq~L(+nwm*MAoV0;%IFj9qjIUkHpgVqe+$kukSE7RQU!NO4MrXFHDDs<&CAGxwj(iL2Ar)P zIYE%3Jt4cFWaF5?qD_tbmkc(;KeGV9b(K>IwKE=>DLPqTLJgd&zA`ElasA)l{Vx|A z_@5MxeR7{!Dw<)cublL+YTw%)TAP*NI&9^ckQYlz6CIw?#UFd*>v89$D^Y_>7Nv-mKkPF<0Vs^**cjQ`H40b6>caS;ll27ALNv8(&9aOx%FeldQqqY&jgT!i=;PS zTOtlHZYy-~xgF5*A3h$d_gc-crDNKE(YCq7qiL^CFZeEGVmxk~n<+df_UBM9?R*d|9WU5Ul!Ez#zLJMW6Z_%~ z33X&di(b7Z4#(N#9gWLBZI(}40FDW>$__dcDpKikE(Llp_Yl zgW<{Xl@Rm&6)!p)Hk%Mj|B`K1)^k+en3s17;S3%;txVJnu=tqu9qR=xZ>(4%6Cs^6 z5`+2arQGU*pd;%U)@XMYpeZ~(9&cOhg9ARQ5{beh#$Q-lughipCyU}wv$$Qqp9W6wp6-$> zSze6K%8&kCawiTQ$;_E>ro3uA5510R9|k?UIF(?$uUKCK=o)Kf#VXqPob;1*;)80o zrOKdJg3v0yQ}&k0kz0fdeS_6>UHhr=g=G@BR3M@HE^`(wXg$jKKABB`A$!A}oky}} z^}h_FSH|q~Td5a1+%ZF5)gTF;@-k6w2z4N$j^v}kE1d3S93)AQ%dQva$G2Z7n@D4% z%52sx?gaUQ*fnnkm)&J6nqO)w-geHzi#yNKb2=lEIsNK{sYwCK>wWg-U<%|3K0;jI zuWZ|)bXsJWV&CXo`=@ePY;`@&+#Lp}1 zE50~-aU-%)59Y=M=3Xvrny(h2XCz%w`Zb4o?MC&FxsUCC`-GEattr{|w@YWX_gKUb z%-Cr+Ccik(__9LSM&=~J$7IWp!}ViLClO)1F7XbIc7ClkXOqG|=U@iu!+FYF<_DcZ z+vqm0k^j;hMR1OKSB~`u5E7%c?W=m9Ik76c$Pl(L#Zd7L4&ujT;}Xc68-e~6+K&g= znHtePy1!S$>;Sq1%wku6;pKX2mceb{#vKqy170D>V#7|!AMSAJ+<0^F& zFHIRv6g$KAj|6-%+7p4vWB)u-_gK{ba>m+jbA)G?C$0E6v)nP6v|nEq6*Yw+L5git zqYyK_$sdDrF<)WcTDUfFRoHCa^FDs^iF5hwbETjJMI?XJSw+3c>TCL(kvZ`714-Kb zyrUDKrzho?ZL~P?K|%cM?}_5SgfSJsIQ6ARB_$B+2r&PDj{d1e+Ji!^UT=qar@ze^ zJOg%;;a@L zzB)8uk?v;ZvLBg%P@i69CGdn_6lX3CQHWj0D7jWaSUN-(^Jp@{bQfzvd1N%5f9Q-& zkg?a}A(#1sCh!&E1YY-yH}Ld)E3`wM(ww2{x;8#_wlqbim0*yI&BcI0VidR^Mo>(; zr=}Czn{1Gs)9mJodHRKt@&8-RdtlODNIh{SdM*}Qn8ZO1ZaMyFFQ;|)d6-U1O}nMM zUU|YRWq0Q;hT`X)tA7$-dH&CC8_^VN-JsYO^}&nHw3`rL1HI{9+<2+@Rji&l~ zEgGCcSL7t@JhpxoX2lBo0LrHF#l zRBM7)U|3E<^z`;xiQwEDXfP@EQ?oZ@a0#`{Q-^QI}vnvTnYWo~oq2 z$Ep;9hn%Yv)t(aj$tORF`YSP~?10IY6X+guVMt5AT=HKeXEKb- z+tc+AbBN7xKd_;E%mtL&-e$z5)$B@sb99UOTn5JPh09Px4{Ypa5i&33IaX4}yd08!e<8+5lW_(ORuOx3aEj(bkK>n)hExBn#Q6c<*~Or*7@5VN%6OY(~o_k zCv67?Dnl(5QR znyurt5RfE*T6aWQADG0uS26Y4bU;RL%$0oLL#neW5PsPyH@Fw<%ja>xLl50NMZ0_O z40%DcdZ+|_$_8+!USJVUyf`%<%5?B{`KL>?n(5$PY0{iOd3bb5rIf4QzZaO#oe;<^ z*o2|nrC41!2!DT99hpno9(m3Z*;ygK)tQs3BN>R{_B@d_z~YqMKmnD??1ujOcoskd zc}^4Y`5+bSkGC|hPISIp`qd`$pWvNd*!H;GF5cTTC0D?H_@PuZhkmX6@!A@$nvCAzKe8P|1I%$+Rrk7}JC(SF?!M|j)wISL|96e94>UbT`ykAmXpHJIug ztNkmQq^id*mS9M<%@N+|saEgRFGq6#Zjf5+=>TO6m*Dxj>Xc$P-l@PsY!Jg}Op4e= zGrz6j?$R>;b+wAMo?OmP+gY~tj&=RR^$|x{i@1b5_w7=6m_So&jdKk)FW>8(O09UI87*PQs}&~~$l3>kq;JhNcsKGy1j$O`)=0WA=d z;{h93MT%J~Mv)D9e3;dm>h9E($S{G|5U&MU}Au+-xnl9b(D-Qi2+4+1qmG=I>5@~HDc3-^_!&<&#eGyo5b9C%!YnTeo$h|j2jLs~S z_ve|$o6I9SZU|yzf6U`IS!3{HIgmC`lN-$dXdzu>C~i%BJP|9T0R(9)x3J+0GP#oV zH~D>jGE?DbLqWLK8y}$nU=>7O*HC+NNw1diVmp$6Is z*gWu0FO0Cy|2&9@DPV6)``n;Y7-F5H-nTWA-|4pHS{HIy{bxV8CwUehgqG`hKPAV% zOzG~veBcW6!-p-@`t$T$i27A@Qof? z_Qrc;Eu7`fMgp+KJE{B6*{uS%kml)s?-lJu|M4&3ytKpxn5szv{xdD8Y+ZcKx>SiMze4H{GDKUomuhjpoO7&d-u|*AOk>QfN1yYY!N3K%~5h+hatI} z+Ig?K-t?qPC>w?U$5P?}qf49wms!DLv^#Sddz z6i>=3;8SkJ$N1j^91_ZE!zqsc$={qTrVtNQ-$#_yPD9nS%Sk@aza?}93euN1)|bwy zLA=*JB+^BOk#C-O^TZDfd<_R*7F4!h5aC4s!;HhuYZHijU46fr=l=E@2(vQiz>KlM zRq(*AGl0L3)_YG4Ahn>x^Yvasz-~|ibG0(TFysxSYK+CT6O_p^5m=-mqb70pn;Hc@ zwd9ae9y>Kz2MP_)0B-T5#XL!F9p$IvoY#BG78C9pt&&^q+eMjkcRTlFW_0wQEr1uF zF%F6~I-joY)ARj(mmb8~nM%40T?_M11iO`{Tt*?MiLtlC>jXEM134zD6WZPy1OnX4 z8k~%Tk?+pb51#ukFOq^;}2vQ2)-JOSgvcO zLX4QCa?c*$T21HIroVmrVlBDY_nCx<6g|3Y_t_ueMP#m*pg|z-_^^845bkyPTm>)qOUed03w{2{D9i{?~%~Zgp3}3v_o-&@Rqc=2;Ofk=YnZx^f9pF zCcCqTt+TJ_4QWuMKCQ-vy!a}!#zGL9|R9)OyR_x<;{4^u|4+zAN&N4QP&> z!xm%zOW|hY3~7K9u<&p5Y(JR>8>`f7a%b1~j}Os;PQ*C6Lh>mdqKcxKC0R+V!U6kb zn%fnVK68EYP|e>$aa^wI5nCGK-kk`-&9Bm2AT3HeoK7bJ$Xkg$@gL<$k3J?`k0Gw- za~wcyOOKe;P)e}n2>6#Y;yHQOh_qm-%-0XqFdJ*R2i}|WJc=6jbJnZKw(odV>Sg_x z;Qc5si#8P@fhSRyf)tWMLb0Oy_#D^-=+Z8OZ?!6lxT<=5n!3pUksBHPKn(qwZsBi= zOfe_?&b!oxf-Ze@tIo$sZwQI-lzRe25_DV{^@+v4fb>RiW0&*4{#ITm6Drg2cZKVL zGF^JOuheK*<*x1MG+jb+gJu}{%$LkI*4f{-6k$VL@cgCr9ZPaM=elO6D?`9ntd}^) z+D`jdKk=A#{(l|H`@KVw-*v3OAFG3g2aZFCJh}ZDE2X2m$&kB(X_PHw<&9bm3I^l~ zy@}3MlZCc_9cfmAw&QOQ;Dzs=ao)aF;`p>|^)>a^LbNNx0Cg@=Y}?)M|0TFT?6@ex z)8HSu%dyRdB_h{h!Fh=7T8k;;ZY6=+h4cM*iQYk=+)?C@-Eku_JrCG$bDY#8 zP6X4@a(HiwCzb4PSL2J7T>XA>wPhWa_MC$fYFCContK;PAQsC{)}$QVas?PS;CLb2ViC5lJYro&+ldvWNtN z_Z{h#bA@mb&k1n%PoKmLU|t!vah1EHqcmhP>5sk;c#-Wbubc5KzKbkQPRr%R)^R^f zx)7A?QLP8<@VyH7w0no7?5(M#f)Dto>}orNaF{)-NMKcCscl91;*_}#H}%BIZ(2@K zvqBr1Z>xU;E59~YO6Y*HuFaFjTopr_TH%`7j))}HwarQp>?hpITQd!~JXX5MJ zP4HSC(a*o;10tT<=5wO_dT;`A+zv$?Pd2V9Te1e?>Qy`qokTymibkBk`Hvn)&iZuh zfcdpsSPAsg{l_bkNtXvKOR>BJ8YI+ieQo0?FOD0h9q^4QDICJAJlGM|C)vi#x!Kr^ zEKFF-e-yK%;Echt@Z|0f_O8_eUWYw6g3Z3SE3KTb^rd&Yoh^`_9qeWOjoLoC5GtM{ zY*Q5aZpRdt{PKCMZWiYwEYSfzJODw@kb1}&>T8&z*;r#);BWBCD0*HvvSW1XFK;@r z8I;I#wLDmp)_$=u$-B!uKAxR4$B;zG%~_h@4HUK~r-Effk_&8X&VBP6Thp7j^8f11 zON@1XFpE=Uf$&pYfjOmdzeo%)$Xt^?aGD#}=LJ}p%jNOXpt&M(`sNNe|jciLB{ z|2&?ylH=1>~|iu&Qd=6N$=>-5O5*p0X3g2J#hBt z=AU?k9;1zsy~D_~bUj?(XYJcl($lt!g4GOiW~92GoS_k95D=rQsiz!PCWq^I%)Lz4 z=v)X%B4xh#+?ibXZ1SbV4hBfpY|naEp-tf%wt2GOzq=E>YH^5!xqOG&JajfR{NZ(J zV?1xU89H?vtJz(RCI#_)w4cqZXFsfD>Et}uwnyIE+sj;1y&l>xbDR@%4JP=rH$@+(O^eRF$Mvd-xmDW2@Y@@)>+>gXF?CLvbZPY6s| zY*u3f7g&3_DeMmDjc7G@{Cguv2gglWSRC=#kTgc-4Oh*#wJH|lIZhAAISgFjuu#5E zZ~U&f9obgY#{2tCG4K{?`1$7`Dr3b%$yZ-ZLkl_=3EokEM{l1gZT2VsNd-=u^p`zX z4@T(PH$_hm-f5IwGb1)GqnU*Xaw>3|YT%=fv(OwR)=XVQx6YA(r@?ABYum$Rz9No; z&Q073KuvwCQQ#}$2#y>^t%e+-YJX66Ic zsw}4EVil7O`#pBzP{_5FsLgg@47b z{m{vamXig0@uLEAfXpa)HrB#a z`Kvp@>(o;fn1u&LxwF#DJc>B&)l&=04N+8(yX6PGaIGFp$W1&@PaNuuth-a#P$V); zs+x?l96s5V1RZIe+rsNTH7Zr9a_%hT#%6hG*E=b8CoieUnOm-3@Yv>CI}X;Y88Ycv z`d4#+unv0#y`3N!-F<9sbrSk%Nf7{g7yYHj5MMy!9o3DWyCi~aGSc+lOA}ipjjvB#IFOwm0U<#90cw{mp7`#N zu%DIZoY%?<^fjO_(c5e1LDbvs$1lz{cTYd?oOlq{7rL(Q*S1(a(ymwY zCF$RIGEe|f*6MhWs`s|?VsQU5a3J{()$EyP8e6%eFt#)DwgKNGb)-f1?j7Ou+Lrr6wcO=jDtg}5rQM##07Pr?)Ytb+MCoa`8(-aK-HZGj~T#s{-P!2>RrT3H& z1`GV?o08>)abmaefVIf&HJctq@)g{TM)jKUkl87nIuwGA^EdWP#BnHH2B#i#9K{@m z4sV*nf$?TuKmPxgoL|FhQX$8mNXQksxQ(nQ{@Ap$(uzA@lc}Rihy!uU*JoN=y1n(h z)t1$rB3cNpOQr{4l9h;JfXM?BP|?qeTG&}_wBpDrkN zV;xbeXG|QqsFgRBF`MoJ_m8_JC2W~x{$w%h^T8WX$+Yd73tYA8VuWzgXr6`>7uEkBY1J`zr_nfEb?LxE)>Ic9&B zsE=~$A;idsbvr2E|9lE@Z`KhU5o#jdjb|IVvW}RGU#}6@zuQaktl&V`Gha!Ftbkb& z$CQ?Sse~ficw}EYTmq&q&b zJI$$YSL^27x~)|FeJ0D$iLR_GU-9AI0a@5ht8YN; z%a2R3zRHy2bfo>bzcqN^I!Qe zm@Y~RrA`amcpZ8acN&gJKJ6SSs|V(1Igb{De+N+CJgZ>^1VC#h9}o7e7zfs*^oyGh z#Ji?j<+S>8T;ZU4+SY;%&4l`Bh35HdS&1jcGE{NSLKxQRI?r6^bUR)S-mPB#ejOT8 zsroZkBlZCOtfO_(x%Qcth;J-y(c$IYzFX|j9vysM!^v!@_2+U~sSe7U&gyDRJihyA z3k!>kL+31Z_FOniSzm`J*u|y`<)(|QuK__0th|Do44<71H{!(FOVQ@Tp!m}acVtFc zzhTef2Esr)&U4)7rG$4Eg@69+GG1Ja#mPPC#@PANXZtV>=;i3%6kUC~a`;=hGveYh z<}uvC8firo9WHcLnki#4opY}Ti-NI+!+3i4FnafXo!4Qsx#cGY-bhz*{$V-r9#A-I zq2Iy9(QFlT`8ZuXyXGOCzLs#P2M&&p?97RH%DVMcSj(Ts&R#s`5Bz(Pp=Zf3TxxzN z{o9h_xj{d&<8KYkooG4ol3J%@kucX%Iw9;GU7JgBvXCB{rBP5sgtay zDT?r0z8Ualp3lzKYUE>p1oeKq9Aa(Od|f?VybY-;y+vn;)n^2Zgff*0eOdjjrI34Kv< zaCll7jq;{Zy;%AuvT2XdcD@yv39 zGqJ^hLY?Bo1#cLM+ZzWcOEx5&(6E~E=C59fgis>KE;T!EO1N<2|27L7t4kCBx0fsy z(7mHO?MBh+aa+7OP5gAozpd6Sk<<`=&U`%0c^OBv%nR9T*;aUQ@NCPre$Vz66mA?g zd*7}=wuovYx{TQL54xe?cfI^=PEZexjHod+)7)ZtH?c>H;IgI4^Kd;y_Ivle;G2iv zms*Wy0?TYQ+ZB#ibFJ=VXYR(~jaXv9hj-JLv>7-IDY3tm7V=8voUy0z4|G(mjkp{Q z6p8W2PK!$gc8iM>*Yt1Y&9{Z9a?;b%tj1xmV!mw2{HvB9GeE|(z?;qdPq$lLu!S|>+pAT%*G25X{O?MgmBUQ|- zbj1t}23Fq5Kf{$?ljZG|xxT&PK1;i;$ZVThj?W9rI=Z%n9x};$=69?1cgxFnWv1bNd=ZZnHDl4WkZMEM^^;m3z4A_eBaRm#_GZ8YbU7*WKF2hoi#tE4fD5|kNKpc;Yr`S$#lQ$YsOqw=$dn{Zg*+YJFLyX-X7@ZTQEl^6AG zvCH&N&%!HJ921|mC^K{Le8jT%I75NaE9(x^pJp2^s4*2DOw?~&kekt_uH7wWVV!TJ zx?{{brF!s?^&GE1r%QD!n7tK#{h&3X)hPw7N!U4XB`Or@OTONU{md^0~ zbv>)y1^++|R45ktI)0( z`{Gvc+#z+Ofd$bGRrc<>U2>+jUd9CT^xepYew`a!?VD=jF+r)GSkwHR;53EqEvStR z*&#`obzyv{Pnio|#J2TrB-yFWJNjv9{b#{BT@M_K^|k};OPdNyq7&6$eD71KiaIXLy#C0u2IK8+PZf8I)cgp_t)*{vqS#RPqY1};S#owl4FjpYSV-*YM+Z4 z^(0upeTh0QaLr;F9mdnx!_O&Tl^4yFXV7D@1}7Zt3(jMOa-J#98S9 z76&zNzUAZKA*>fr0B$x;KCXYt`TGbm&Fj6Ie%)c zk|A*K#=*r_Z^1ZBIeK$oC?#EfXFqus4&#RHwQCwsR(T4#z~EulWNjRX z>*QF%uV>iwo%_(7InL-t6v*a~Y$a`YiU4#-t!`BCAFp)ZxAGP`qHn-^D#vMx78B&3T*hQVVdZ(U4D(gLSE_g3&@ zPSeE$J-UmBBSm|3PUp3T>x#r^)K?pD* zD8hDeYGH(=mV9#?qy>Elxql{#!9gSiK)obvXBtCrvj|dUQQ&8t3e*>k5AUS&k>V|p zsKsJx-^54G3NWmB^@IaDr(MFo_mqo(nY#3~_XkWB+{v?U%%4EFUi7CplEGhR!aGw! zM$6iH^nY@PI(PW{sct+bO@>~kWXn{s&%Z@Q`jvfm1#NTRJ772bhhT&SS{~v+J8Tm> z^>ffQLiZM(n@QF()o~k=IOOF7H}&OR{It@$d6$BEP^UAD3%Rj%5B&lD?oR>=FXW4u zfR%}(i3J#%w=yhxfyyWRz~^B^8^lFxv3LkYJb0-kW2{ax=2H_=dI>IHJi}WXot^EVsHkXBTz@d8W$5AH z-`T>(nb^?1v$<yo&O5IPUg-Ngm$hD*QHW@Y-(z%^EH^Cx2i-u zC(m}_W97a-L#;WTJsb;Y^KH39_cFks^|c|&8X2r8IXt@LH6{JQx~U2`e=2N}w-}dQ zz^nP)e4OGqebWSbDOyBf>nYbnvl z*e5e#EZvO88d|I~Q+639hHME2;o!1AkH)Xy=ZzMPgVBh7X$!jx_C~#zMn%!V?;9|78#VZ_ih_Eme zsB7H0qR@nJ>*+%@;t05E+>`R{=uzy1vU?#i;JfP*Qtzwt?U_xBkTAxDSI9F95IEze zCCxNJUBlxC=UTyU7n-?y(F{H(bt?3+s5PzY%*_E_ItT~-u!qab3=zQgP$w{vv?E3uaGkGJc@^#&xb~ef)&jr=CtgWs2 z(_PlifCps zQ3{^vYCu}SfopRd&g@M30x^v-$d9b(<_jG6UHvHR4UDM5hX%7jLJRITn`gKihn>+H zg+mC244duAgdH@(C_=DkH?FQNb*2OOcyELg8ZXlDIY3c{&?7AzmrF!r3e>qd==Idq z{C5g*LdgJ=)BS@$QU;m^_I>B%Bv4gvt*L(C)&gSq8qFI0bVP4HJGoRXSgS}x`j8n4 zE2c@Bgz0C`k=4V)rb1uAbBqme-3?A}rTL4w>?=J>?`m&fP5RUi8|(ef@!sBMXFpJHiH zC-saW)8Cmpe1xNJgGyC=P>AWJz(VP5Ru|J=UcIE-lBObGL;hHXTF*=4Jw?mD6 zN#Xm$YAZ>RwPC)c-X`S!&(jtm)WDC;Nz$7K_v7o<4|Jupn6%wp>6T0sI$6KopQ-$< zeFKKnn=*!e#~UTKrM?&%pqKO+wM|M?sfQoMS?7NNt=0+W$%cr&foK&&z|-B*N>80! zoCSJQG@vvd1}z~WaU*I~ZYC^NZ=bn_T`6q2<04w@_uYjd{}{dgG=%_Ht0afMScG0l zx?eWawe>-)s;_LPig9XiUu7%9c1l5XG!7@h>}L7qtk9(rujjLt%DW5H1|XM$XDM9% zT^&)wZ{CZ;9=L;i7SbzQ$J{zBoprp^P*NCq%C0pWi1-*zYjl-=a#h$&@M`f0yR!XJ zc3e~OO7IO<1krC*mu2(}+xXU@4jFS$@amMbe=Am{`$)9CW%B&pwYV9ZQrUd5l=E7} zuItyLlAB>Q$?Ubrc9li{NJf&ll@dOO{+wJ))dFfUIYHIQ-y~8%_Pu5MMPrWx?q$R> z^+<}#9PSD}iB4f77IuBIU-aAVfrLE(G)yeGs_Hl4mQ%b~-MzhdQR;PBx_8rijMQhN zi%Vu-#|>n^mz2c>OvTPuz5)v#6Zm#on3@@PIFY91kgZY*NOv^9)nH3>O93D$Z($z5 z`sauC$iu&A*B$05!o8iNO$*eR&xEOws{Ni7ZdQQDByJnF@xdJ?S@@#oVvxYk%3e4ohu}FENL2$b9n=G1DqO#8b2%f28PL4G}$HW}o*E^Hfa+F?J-m z79v+dpvwq8t!HK~>>-^U?R{gMzU<^!k&$++ettMsZ`L5>nV~O6iuaHK2b31P0@kqbT?#n>kZF2wgs5 zQl2Q4c+c-puQ_p#SW30)MRzN}IzI!?44bf^l8YF4h^u5`#fMpe=c&*zRV0XAN?!P| zm(cPK3_Fb&NTJ|(ixOgh{itzGhW&Qq&blSWidUsvGyB_aTsnZlHVDUg;&XvJlpg%! zb#ljj2(|0Z!eZcOvkR0n^q4Tn2J>C{xy0te0b;DUxQ>uOhvuChA~-A~Zc?vFZnv^{sVnPu@@Tz9y$B$3JFl zihzyJ?&CNikv@uwY535(!q_Ikx(nw$bCwyLs8F=YLZDGbX00_Exo^L7+GTvZRDwZI zy!}MhbP?*hA22o?l>b)eiv0nLwQf&2)Yul-@QUs0FJiNo!5e8o)=L)elOGpc#jS(CUU4V5u}vE( z9u+q|EKhquJ%hw^oGuklA%Lok{-{tpb@)>K8>Bh6NjsI{$f=TQ7+*=3YPQBv(i#u6 zwDQXTM3d0Vv~JcTn}?8+vVslB@+H!7P~Pwzf2|8uXppSo5@IHQV!Jw|IyK8mvm)11+w0LXK5LyD45axuc^l24=eGy245+Jz&^W8KV~(q2CnlNN@{nw<(L~>9q0G9L zGhB^HQ4ZY7AY5TCxTevH~$Ia$_PT>b6eTaM~Q literal 0 HcmV?d00001 diff --git a/package/batocera/emulators/devilutionx/Config.in b/package/batocera/emulators/devilutionx/Config.in new file mode 100644 index 00000000000..4fa78cfc059 --- /dev/null +++ b/package/batocera/emulators/devilutionx/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_DEVILUTIONX + bool "DevilutionX" + select BR2_PACKAGE_SDL2 + select BR2_PACKAGE_SDL2_IMAGE + select BR2_PACKAGE_SDL2_TTF + select BR2_PACKAGE_SDL2_MIXER + select BR2_PACKAGE_LIBSODIUM + help + Diablo 1. + + https://github.com/diasurgical/devilutionX/ diff --git a/package/batocera/emulators/devilutionx/devilutionx.mk b/package/batocera/emulators/devilutionx/devilutionx.mk new file mode 100644 index 00000000000..92ee517c9ac --- /dev/null +++ b/package/batocera/emulators/devilutionx/devilutionx.mk @@ -0,0 +1,28 @@ +################################################################################ +# +# devilutionx +# +################################################################################ + +# The first commit that allows specifying `--config-dir` (24 Nov 2020) +DEVILUTIONX_VERSION = 9c7d6c96 +DEVILUTIONX_SITE = $(call github,diasurgical,devilutionx,$(DEVILUTIONX_VERSION)) +DEVILUTIONX_DEPENDENCIES = sdl2 sdl2_mixer sdl2_image sdl2_ttf libsodium + +# Prefill the player name when creating a new character, in case the device does +# not have a keyboard. +DEVILUTIONX_CONF_OPTS += -DPREFILL_PLAYER_NAME=ON + +# Define VERSION_NUM so that DevilutionX build does not attempt to get it from +# git, to which it doesn't have access here. +# +# VERSION_NUM must match (\d\.)*\d. If the DEVILUTIONX_VERSION does not +# match this pattern (tested by simply looking for a "."), we use a fixed +# version with a commit hash suffix instead. +ifeq ($(findstring .,$(DEVILUTIONX_VERSION)),.) +DEVILUTIONX_CONF_OPTS += -DVERSION_NUM=$(DEVILUTIONX_VERSION) +else +DEVILUTIONX_CONF_OPTS += -DVERSION_NUM=1.1.0 -DVERSION_SUFFIX="-$(DEVILUTIONX_VERSION)" +endif + +$(eval $(cmake-package))