From a93916e24cf0abc1d329986dd6bf897f607a66a5 Mon Sep 17 00:00:00 2001 From: MrWint Date: Sun, 2 Jun 2019 13:24:54 +0200 Subject: [PATCH] Gambatte core: Add RTC divisor offset support. --- .../Nintendo/Gameboy/Gambatte.ISettable.cs | 5 +++++ .../Consoles/Nintendo/Gameboy/Gambatte.cs | 1 + .../Consoles/Nintendo/Gameboy/LibGambatte.cs | 10 ++++++++++ libgambatte/include/gambatte.h | 3 +++ libgambatte/src/cinterface.cpp | 4 ++++ libgambatte/src/cpu.h | 1 + libgambatte/src/gambatte.cpp | 4 ++++ libgambatte/src/mem/cartridge.h | 1 + libgambatte/src/mem/time.cpp | 9 +++++---- libgambatte/src/mem/time.h | 2 ++ libgambatte/src/memory.h | 1 + output/dll/libgambatte.dll | Bin 170496 -> 171008 bytes 12 files changed, 37 insertions(+), 4 deletions(-) diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.ISettable.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.ISettable.cs index 3681c532d3..70a2aef2fe 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.ISettable.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.ISettable.cs @@ -116,6 +116,11 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy [DefaultValue(false)] public bool RealTimeRTC { get; set; } + [DisplayName("RTC Divisor Offset")] + [Description("CPU clock frequency relative to real time clock. Base value is 2^22 Hz. Used in cycle-based RTC to sync on real hardware to account for RTC imperfections.")] + [DefaultValue(0)] + public int RTCDivisorOffset { get; set; } + [DisplayName("Equal Length Frames")] [Description("When false, emulation frames sync to vblank. Only useful for high level TASing.")] [DefaultValue(false)] diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs index 3b837f5b78..0de16d0723 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs @@ -130,6 +130,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy { LibGambatte.gambatte_settimemode(GambatteState, false); } + LibGambatte.gambatte_setrtcdivisoroffset(GambatteState, _syncSettings.RTCDivisorOffset); _cdCallback = new LibGambatte.CDCallback(CDCallbackProc); diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/LibGambatte.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/LibGambatte.cs index 038ff62021..d156afdb63 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/LibGambatte.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/LibGambatte.cs @@ -280,6 +280,16 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy [DllImport("libgambatte.dll", CallingConvention = CallingConvention.Cdecl)] public static extern void gambatte_settimemode(IntPtr core, bool useCycles); + /// + /// Adjusts the CPU clock frequency relative to real time. Base value is 2^22 Hz. + /// This is used to account for drift in the RTC when syncing cycle-based RTC to real hardware. + /// RTCs in carts are not perfectly accurate, and the value will differ from cart to cart. + /// + /// opaque state pointer + /// CPU frequency adjustment + [DllImport("libgambatte.dll", CallingConvention = CallingConvention.Cdecl)] + public static extern void gambatte_setrtcdivisoroffset(IntPtr core, int rtcDivisorOffset); + /// /// Returns true if the currently loaded ROM image is treated as having CGB support. /// diff --git a/libgambatte/include/gambatte.h b/libgambatte/include/gambatte.h index 1a841deccd..368b2a4727 100644 --- a/libgambatte/include/gambatte.h +++ b/libgambatte/include/gambatte.h @@ -130,6 +130,9 @@ public: /** Use cycle-based RTC instead of real-time. */ void setTimeMode(bool useCycles); + /** adjust the assumed clock speed of the CPU compared to the RTC */ + void setRtcDivisorOffset(long const rtcDivisorOffset); + /** Returns true if the currently loaded ROM image is treated as having CGB support. */ bool isCgb() const; diff --git a/libgambatte/src/cinterface.cpp b/libgambatte/src/cinterface.cpp index 9d6e862e36..f9b4ced4fb 100644 --- a/libgambatte/src/cinterface.cpp +++ b/libgambatte/src/cinterface.cpp @@ -72,6 +72,10 @@ GBEXPORT void gambatte_settimemode(GB *g, bool useCycles) { g->setTimeMode(useCycles); } +GBEXPORT void gambatte_setrtcdivisoroffset(GB *g, int rtcDivisorOffset) { + g->setRtcDivisorOffset(rtcDivisorOffset); +} + GBEXPORT void gambatte_reset(GB *g) { g->reset(); } diff --git a/libgambatte/src/cpu.h b/libgambatte/src/cpu.h index 6059b0fad4..96c1a25b4f 100644 --- a/libgambatte/src/cpu.h +++ b/libgambatte/src/cpu.h @@ -91,6 +91,7 @@ public: mem_.setCgbPalette(lut); } void setTimeMode(bool useCycles) { mem_.setTimeMode(useCycles, cycleCounter_); } + void setRtcDivisorOffset(long const rtcDivisorOffset) { mem_.setRtcDivisorOffset(rtcDivisorOffset); } void setBios(char const *buffer, std::size_t size) { mem_.setBios(buffer, size); } bool gbIsCgb() { return mem_.gbIsCgb(); } diff --git a/libgambatte/src/gambatte.cpp b/libgambatte/src/gambatte.cpp index d222874ac6..0bc0639a76 100644 --- a/libgambatte/src/gambatte.cpp +++ b/libgambatte/src/gambatte.cpp @@ -134,6 +134,10 @@ void GB::setTimeMode(bool useCycles) { p_->cpu.setTimeMode(useCycles); } +void GB::setRtcDivisorOffset(long const rtcDivisorOffset) { + p_->cpu.setRtcDivisorOffset(rtcDivisorOffset); +} + LoadRes GB::load(char const *romfiledata, unsigned romfilelength, unsigned const flags) { LoadRes const loadres = p_->cpu.load(romfiledata, romfilelength, flags & FORCE_DMG, flags & MULTICART_COMPAT); diff --git a/libgambatte/src/mem/cartridge.h b/libgambatte/src/mem/cartridge.h index db46afb262..e07baa4aa8 100644 --- a/libgambatte/src/mem/cartridge.h +++ b/libgambatte/src/mem/cartridge.h @@ -71,6 +71,7 @@ public: void resetCc(unsigned long const oldCc, unsigned long const newCc) { time_.resetCc(oldCc, newCc); } void speedChange(unsigned long const cc) { time_.speedChange(cc); } void setTimeMode(bool useCycles, unsigned long const cc) { time_.setTimeMode(useCycles, cc); } + void setRtcDivisorOffset(long const rtcDivisorOffset) { time_.setRtcDivisorOffset(rtcDivisorOffset); } void rtcWrite(unsigned data, unsigned long const cc) { rtc_.write(data, cc); } unsigned char rtcRead() const { return *rtc_.activeData(); } void loadSavedata(char const *data, unsigned long cycleCounter); diff --git a/libgambatte/src/mem/time.cpp b/libgambatte/src/mem/time.cpp index 71e92d1356..87ffb7e10c 100644 --- a/libgambatte/src/mem/time.cpp +++ b/libgambatte/src/mem/time.cpp @@ -34,6 +34,7 @@ static timeval operator-(timeval l, timeval r) { Time::Time() : useCycles_(true) +, rtcDivisor_(0x400000) { } @@ -108,9 +109,9 @@ void Time::setTimeMode(bool useCycles, unsigned long const cc) { void Time::update(unsigned long const cc) { if (useCycles_) { - std::uint32_t diff = (cc - lastCycles_) / (0x400000 << ds_); + std::uint32_t diff = (cc - lastCycles_) / (rtcDivisor_ << ds_); seconds_ += diff; - lastCycles_ += diff * (0x400000 << ds_); + lastCycles_ += diff * (rtcDivisor_ << ds_); } else { std::uint32_t diff = (now() - lastTime_).tv_sec; seconds_ += diff; @@ -121,13 +122,13 @@ void Time::update(unsigned long const cc) { void Time::cyclesFromTime(unsigned long const cc) { update(cc); timeval diff = now() - lastTime_; - lastCycles_ = cc - diff.tv_usec * ((0x400000 << ds_) / 1000000.0f); + lastCycles_ = cc - diff.tv_usec * ((rtcDivisor_ << ds_) / 1000000.0f); } void Time::timeFromCycles(unsigned long const cc) { update(cc); unsigned long diff = cc - lastCycles_; - timeval usec = { 0, (long)(diff / ((0x400000 << ds_) / 1000000.0f)) }; + timeval usec = { 0, (long)(diff / ((rtcDivisor_ << ds_) / 1000000.0f)) }; lastTime_ = now() - usec; } diff --git a/libgambatte/src/mem/time.h b/libgambatte/src/mem/time.h index aa8e49b5e3..3b720bea78 100644 --- a/libgambatte/src/mem/time.h +++ b/libgambatte/src/mem/time.h @@ -57,12 +57,14 @@ public: timeval baseTime(unsigned long cycleCounter); void setBaseTime(timeval baseTime, unsigned long cycleCounter); void setTimeMode(bool useCycles, unsigned long cycleCounter); + void setRtcDivisorOffset(long const rtcDivisorOffset) { rtcDivisor_ = 0x400000L + rtcDivisorOffset; } private: std::uint32_t seconds_; timeval lastTime_; unsigned long lastCycles_; bool useCycles_; + unsigned long rtcDivisor_; bool ds_; void update(unsigned long cycleCounter); diff --git a/libgambatte/src/memory.h b/libgambatte/src/memory.h index f00e28ac24..7d7dcc1d73 100644 --- a/libgambatte/src/memory.h +++ b/libgambatte/src/memory.h @@ -266,6 +266,7 @@ public: void setTimeMode(bool useCycles, unsigned long const cc) { cart_.setTimeMode(useCycles, cc); } + void setRtcDivisorOffset(long const rtcDivisorOffset) { cart_.setRtcDivisorOffset(rtcDivisorOffset); } int linkStatus(int which); diff --git a/output/dll/libgambatte.dll b/output/dll/libgambatte.dll index de86acd89ffbcd566dfa3495ec62a43b03e4462c..e482dab5d7df3febde5246fe253eec2c6ed619d5 100644 GIT binary patch delta 58193 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 XNIYRFf4b-xZ}3vby&>twty2F7GS^vK delta 58091 zcmce930zd=_xHU6$SCNbf`Fi+qM~S;sEKGYI_h9(l;x7|d*&^CDH_D~O%!PTs=XvfOW?1U?|G)3&|le;0%);FtfVWpQDR&S$wKhs&qe-gL(;>q!OzHv|R#Zbgpy*$GI}BHDRud!o|7%8j8vp z4MD8+3@l%H0R<)^U%v7WEm^)&0In#s1!f>pC&h6f6NglqR93z+UcM=4(tvX-1z{JL z^@#h2??qvkk*G+A+$WJCVftAe`{JhVJ*@w!FUos@diKl@5Cr#H;6Uz{KZ=4yDziEr zRBDyJuu2u~MC!G3N0A)fEXnZaTsf^-4>4iKW6c7^2UiCPf<}e?^|T{jhs3`-qyIV&FWf3WAdx^PY=N9><=AFbX z@}%Zn@%u#cxlvojkP6b{gSfBAXRPxV^57tLXkV8YJBrG27$9OPdHNtqN>WKsaOtucF)5C)rTZLVc73 zW(xuC3|lz%Ww4PX{~T&E6kFt!(0;aT4~-Kh%F`AfQFczP6XkBg@e^eNl{BGxT?51G zCDuWILtD|U({8`Hz#24g%R>Q<;vbojV$kz~5 z52s;(fAbZIkd78fhuz!c(pIr>-)~!u6f5LmruL$heq;M#1f@BJe2nc9bGc|IM|12; z*lTrV=gSLBNwaAz2&SC2xR~ulYcO^MQ{lm^iBeTsN?s9KFSx~(EqFYhVICkZx*168 z2q~+ZE4w9%9hXBFw@;JuDDtGcf+j&aQ$cv^5r%MF_v}rR?D=x@uw`PNyfSQ%m@j`E z77a1K2?zb$gWbdDG2>XA&I_z{9Lk*QLfNl?U+Zk=HB^jBUd?Q28c}7P zy~pfadl`jhX|Xy_7o<~G>F;qX4rH}9OGgveZIP#h z-z?_u*bv@Jyj4fJVwJx1K|w?5h_&ixv!}{l%zQcP2`frcipi5r4q5=Xa=qScTKO~z z?8WQk*6qTL`9MJsj+6Ve>k3D`tzCQZsQgg7-uQjK-Sj~fB$cT^m99WG#`c&lSsmMB zI@_rlTe(kUR4N}Z3EAarz<5Fzcd$x)s&+-xoTC8~YBUuDMg~-v3QB9{YLzH4)=aZH zijT@GB5#Bgg^`YKCE#UUQIcg!EZ#zFD>2zu{p>kPXvhm$NsvIE5k*qp7#%Keit2e& zKAfv2$i3}F@@a=op>5(0qTpI1U|>rp{HfdoD$hjsV?-|7Xh~oy92uDD%%$OhWHTgb z9AJfD%*&-wfK>CmTp9yNwaCk*5r9-kUM~4RQlWXdOf~MTRO3P7|YWbF%@(k*(xuWh5*`{@^Wba*q;bvu_-mr};s3S~kbm2_Yf)|b%X#lJa6qTm`8SXYnA zJl0cpB}eH(4fB{D)I}g{Dv-H%Ff8hrAm7xXqm8uVDdBBP-9~}6fY53pYa~%4snoQ~ z9pZG5f4Iz|(?Pn@Xb1YDwG>DR8lJ}w@9R{uSiSDF_}k{~4|r-M-zQYa2hOfgFn3Di zh!CztX&x)JIEzV?awdle-Kn<5sK0aBOT2-yq|5H7sX7$q11aeOd6PV&W1M(iws(xO zWqt1PsDBSCb}Iz1O&L%XNZoMqfPVo66k?O7cMLs50p%Uo}8Vo%-IQtG#tU2NR(yzvo-W~s#DJmquy$GjVqAhl@Xq| zH(F=@_|w}Nray-H5-=s^;F`;qs>Xnl_VzOvX5=z0Dl|QwrY?Y_+^2Ia3ofda3B!EP z$31zJXCnUZ-Sfgw>Zh*?;h5+~$WgN654PWZ-E$v9=E{Y8YRV<|q#lxbUt<^&)imLr zRHZ)Qi`KYy8Qz4!gjip_*?;(}m!bCLB*_yc8Ij)BB_fv8nkO^oyzi>VgV;>*EUO>W zZhjZ8-6A>&fM1rT2!iH;Y)grvcTv=U``1uO)1FEp#J#f)C6CQ8>MWvEP)reFlvD`^ zAUvy0I>h2L(xpEcLoQ2SxHqD2t}&viu!1~CA~g6(p2T8FCq{*}CFf?96v?TQwC@>0 zTo`T>+Gk`=>S#U4N{y?ZA?6bzdE&*c;R!S}nK!elm8g1PHlj$)Y=lUynI`>$ zJ{Hv9uCpjZ2p$Xs%@8yYbW?UL6zIUq^)DpsoCMGi zvJ@pYG^25-72VH~NV{6eovehd^ZXUX)?{OUAvMu*m>jbwZ%u+~ts{8}A@C)d8pKPu zV20Mvzxw+CCOwyot)I^D5-u1kIl@c0V65b0R??JU@7IuEgh+y|O*#Gfm|sTrh@{#!I+htmGzM!Uba`-B?Leg0*LY5h4lpw=IeFolC}=|HMnU z%Gh-MIWOUYv68*Kgz)*&LVb^yaKRYPMqa`NVsB*m_kDYE`7pdQ}-(6-lpg!5NjB zjA9KFt0_Hna-*9=j>@rp#)Q&xMZNJxK`3(s%a8UM!Gcmf^7C0FXIaXz`PVidvo?AY>gvBXS>@M+bm7;;hHQi0 zO!8|(+VX4DSd)0xq$%%>{?V&ZxG&ck_T*R#A}I6OQa`LVxQ>bCL$B{j!j z7_ta$Ch*H9XlhcokaV2I&W%` zO{o+@+XUK3gzVub77p5V61FSwHuXnZ407@ii@71wMIsiiY70$kjJBWdUhd=79hxy$ z{D)@Hzcvyw{n{~i{D*elW_|sdF_-*rnqBVAr6m1p+UMr_m)@0X?RYchn*R;ERjgSf z?kOkq4`nfk{F3cW615FKj@(-CvB6Ek$G(~jN>*(NkBt=05y_%hQj$NaF{tII30SQ0 z6F~ zz9q2~HGkBah-q9CNR78{d#(ov(SR=6#w^kK+wk z@T4;m7CaF}*>Z-WC|fU45M^5>3Zjh+G!{D}s%bA5Sd$A}lAbfNX`@FQRggnHmEaY! zAH&r5Y*SejWh(*yiV?hmg!8ZH$t%eD{42tEMG$Qa{A>Q=k(YeHzv5d~(Nyn}PqW@> zqVksNRy5IqL^?k<*JH(BJ+wZ8ztOLgOE`bhxPQeAUO}DouNciMsFVH`eRu^8690;D zUO|1d`PW=!rzlNza^knXo#ZXm3V!fXXHuALAk%|$7#Tlf*5DQ7YAHjA`hJNUq2-Ms`{v?Czx zyot^tP=mv!X?1mVCr$haGF0tN!t(i4I-0((swGPE1PQj%SbRTTOQ1dx91(tut zCJc2s$EK*FV`E+7mBoiRp{RFobc!iDdgIuHp>}83>=>8EdV@3c=#w5#ox0eD5ROLc zQnql!aVkAjdB{BiYS&}>(Kx0Iis}C>0b!_bFl@ec!^V%4ij!(izsg;uwkXx;YNvS% zfp60yKiz@;rv}V6qc{W7{J-Hd>qKyT(tT6-Htr?bvDXissK44>oPQRGS?EKKPx^0) zfli;b0Qb)i&wB9(UdQxpni{YEYfdn6qaTv_0h>ZJ$tW z45?yc$0k($tgr6Li2C4+=S^v3G}Y9nC86mpe~zUdvpdiKMN1o*QE!^ho3bIrPdFOL z>%)}L^p=ZwOH%WH!IW8pyP!=S%A2xb_U}vyO=oIgEqwWv7MnR zGqk2PzOss@AucEjYLDVsDkz8a)i_-nA1Nt}ur|ABn)OaEQfZaj+~w02TIkGUXsVGn zVIxEzeN8tZH1+dn(uVf%3Fl&~o5dQiVTyi@w_#)A-`OywKgyf1!SHWQY}z9TLwOrE z3jVDPe|$l0&YCoBjB7{8{b3Cn0C06I0!DS+uNfz#gf9qeJupaccUIT=WkW!|18%n_8fc-52_$iRZnGxvwRpwwr!sthgUPp#2{&90 zljn@-WaDSvTsr}rHa9>Mw5d{;{X{#~S+0Fps!CO#$IijK00SP8XEmH0pZ2+Ts0y0X zYK<$mF=VRIkRRl{>JN!3RVPd}8t!n8TYoIn;ZhC9wW)16a{WP2hfFmZ;h!R?!~V+j z4gRMN(}NA9cXIqHH=atMu|UC|7Q!JI9QEAZ2ETuXQPmbQ+5i^5);af!^&xgf6K$g`ZYQSHvNoU>7lWLZDXd?7(+ zp7O|B+G;Ww)zjD)d#w?s9_3jsLzr61vs{KS^?jb@GK8s{d6vr%rasHFT!t`p1*8RFEwJj-Q>Q{#A+%Mhow=2F9J2npfP6(sZ zf{N+k{&ZaracVKc)VwlP-Nv(AhE(-sp5-#6s!#JQmmyWP@hq1iRh`GPT!vJ27RxrJ zhrhitq^do6L(+q}>wdL8&yoz34dGdmfwI@|R1OSBGEnwco+TM5`z_Cs43s^>vQ5b# zjca=kjRwM0fN9@MBGjrsh2dR{&BVV}{fecDd98YcrHON`x|gMiZLM0!(!{e?-HNn- zG<#-zpP9s^R?TF1#N)bp7fTb5>*{!xCLY(-5iCtSuB(Gsns{7Sd$Ba}xUP0Y+MkE) z8XwD;TvvZKk?_Ris`@QU6O*gzF_tDKSJg6>CMH+aT`WyZuBz{{G%>lVzJ_!?Ce3e+ zW#i|n`UpcLCV#2-urx9GOP$El#N;n^EK3uUzto#qnwb2h_Gf8g@|W5jX@4dt_F4Ex zmmz#r|D`U%xVCSG7Vk!*-&*NCJg@%9(!~6{dWxlq`FXXHrHT1@bq`Au^Ydx}OB3_+ z>f1>BGnd5-uEz7~B8EskJgq*!(!}JnI-RA7$!Ya=mL?{r)zK_XOirsqSelreR&PMM z9+M|ECa2XaE%l!4R?o3CG1;x2WocrvTRp+j#ALU6kfn*qZuJwECMLVp_mQs0Rl{NOl<0SmL?`Pbp%Tj6Pr2+X@4dt_OVsZeHfU# zE(EJ9Fks18xS3*8MWVpg`J(z~D5Z(JsH!YY+(q>pmL~3^TE)`DT~zn8G;tTzok;%^ z_icOODHWpHoS3s|U!1D0U<9b^26ZV*6LW+5FiR72gF1_)iMc_&lckBdK}}<6Vs21} zA??pxe&lxUDF(GULnJ1F>h%!4hk@!vmL?{cO<9_l1gc-MG%*QOKV@lR5~!9UU60An zw{s%~sxF2|OpIzaOH)sb>Oz(#CPsBGOA`~LdN)fG6Qgp4b%n8&G3mL}$L>XR%@%;VI@Selr}srRuoF^^NHurx7`Q^z6g z&s?5<2e)CI8qE-iNvhhCrHM(ZDzY>&Nmc)BPQ4{2sjAA-#3WVyhNX!~s#=9~Jtn8_ z;5Ni$ib{)dD{)cR@icK!SMW4(QJ3;GaZw-UY2u>J;%VZd-ifq76O{Vc&{~4mOhWdn zZ{V#S@M8l}?MwvpTTS15k5hi_-i#VZ9>rQHSN z$HDHqP>&q|e|%HFbJZWTblNm}a~{IOLeyv3HgUZ7`D0U#L^pwSRlFaJdsa=|q9OZ0 z%kJNyULC379U-!u`zTP<`#`LLUe~j}*w_so^{f9zu`58UDaF?5bq27Cuq+T%ce8qW zRcGT#2Y-!rKl8CyrM?#3kN(kTDzsYp;-vOA@g<;Yx0-CAtt%C*o&#Z@Y>%^ykN*v& zXFg$^*qtiN*L9lnWy@~3>5h~Q4f*ufrmGsFX`Nt>G!RLBo zp=&k<&3!bhbJG+nd!|IQ+kAC50}Ie!Q=vpEqSs3J%V*}q{dI2}y28bzgPBg|he;Lu zFxGJtAZGcLgjf9j-N8OR|V|5$eu+v)C_3WEsW@^TMPMz)slQMNL8+EFa0>85 zw*e-Vj_?x;n>$F$(fN?uh>Ui=@q&RY!2D8k^%$=lDhmc zm3UXo9RXTRyEuBlV#j&VE$T$?6twIKX<7%`>f7nO^%5TOi{jLq8EEv23FMv5zYDYfmSpaGT>Dx-Vk?ehWXm|J2y=xC92ts&IK^OtJ2jB#}2lxum zs+S#6rjq5ppaFZbP2HXtD z0New}0uathTsHvr0ZstifGdDd*qYvUBb;{|yTm(cXE0|-N40zf=~2;GG11AvzSM*#sTf-nd$7f=BB6wquaR1Js%bO!VSBmta&od9~3 zx5qF+m=1Uja2OD9GwgrI&4Mr=P!5P4E(nhS$^bE`f-nzo2oPo#gj7Hp;C8@Nz`cNn z0c!y}0EYoT0BQk|BhY(58ekb?f0m}fz zfRli3w%LL(8t@|E9YDyv9HG5-?TPDHz(&9cK!^KyJrNm>^lCspAShE1W&*MSRHwtY z$a?^H+z(R#eh0Lj!|UU4wLOQQ0zk-Is2=bf-~vD=Ai(}ffC*L*2W$s?0|-eIgk-?| zfL#DLAZjeM0ayaq0yqgU-hvJS76H}*_5-c}`liE#>9GIvNL&H*9S4U3YzBM-h#W5n zw*e%;2|(Dba74g#zzV=Nz;VD8Kw<{`0S3qAt3SbOi z0$>Ip7a#*R0=5DQ0eh#x{zs7b3J`ENA{ZbB&;yVJ7!J4vFbQA>tOjfVybj0*d<3Wf zdrV}tSKq#b${zKe&v zOkdi;x9?t;#W~?dT7n?6L0)%%xRF+0$k+Zhs(enj0}f>-Jl~F&7y$ap?nb zB(J81ryH%*)UuGs$kXQrcF3UGQ5TWbj zG|Ol@DWi;h9t_@L#hOB%Wf@H&Pf(`0rjUDHRI*2iopyL0cq{-PaeM5M0pe@&n~xl% z^rI~OXc<27_VBy}+lEm1DmtC!%BFAMr8%?nP-1lj-O!Ka)>4kX^oWmb;&YF4U}duu zW-YhRLyG+Rix0nVgO-_;p|W54{CK1(I|!0OP%CL33+)xd(qWEu|}oe`A52 z3(ChW=T{tC+KP5NGX`Q3WHhW&N7}Pez11bT@!?2L%6+X60a|hpXUSp5?>PE;s60oW z{Mbe#Kt`6&1Jt3!jjciM@a^XE}&?pJZ@2+K(n+qPQJDvHL7GS`P)bF zanOTRauFl?%wM#8N7g`5mRDt^g2$n(uF>>uP1Ca_R@a&>!PtM~t$e8!l$f`2uN=HE zS^PydFAO(zaxmx3+nCdw&NJkD7xqHyH4C2@=?;Z#_@dN2NC6t@FoSD335;jENLI7G zT0{wxx2_9bxlu)O_Z8#hCl?J9->9exDI6iS0 zO2B<5zD4+I>flLFL|b|JlH*-F*(m!&6tOvCE)t-5cL>VN z(x+C}q&DfUZqMylvNT*2i)Gj2oy9VF`{Rr68vi6d#Fh}W`(w0q1r>dST<}AavT|FqVx}Fv=NG+}r zqI-heWm&H_38>Oa$4O;L$J~+f^ktpJiXHZ4&Bc(K$3-D6pcXPs+5GI2VnWd_>YQT} z5pPX$6{5h@+8PGoKVr$$IFy#|_~@z5#unS3By4;`^j-OmPv`Y&7tmPMe7TdeSG&!n{;iDEs=qwLnIfK&Uv$!U^9r09 zcVU3QyaIN-9*@=eTprT6z_A7Aa~trR?tBL!i^}LDl+G20F_w{G-{EsUN8f&RK39R? z#R%_Lf8Uy!nQ7{j16G*LXRa!@(P!M?*8#^QCMqrMZES2)Z~;06FH|G z#V?ml$hlhH%<80SmJ14FIY$NMoN^w!Nb`6ufnSXL;>PH>>&5;-FqyC25O1+7*X+<9=7K@$`X2`>s`_Q2LBs_F9&gym|U;p?%kCZ~hsU zcX{*q$m7GkOn;vB@@ZEjvkAf~vjM&uRDJ}@$1&4BA%}N520-Z+Y0ON#;72x*Cf)0l z$t+fBj1@6CF9=wcJc&$1MJQ>8l03;=R}hQ>X6rnOOn9j@Fso0>(JW(1Ds+%5l(#DwA_$x>!sj_Mnk~3e+2MNt=y#E*Q#)4XoR*-o`)xu_GrWksA5;V;_X;4~cGhxh96^O(!*(EynMUM4E zlMP?!#52?+$?QFTl1XDGI~_CxrCaBun9^rE!qC_>+LX-ZU8nSQEb2&a0n$;Y9FEF5 zl{k*dRj^>u!&LaNth4O@R4QrA5~pJu27)x^A*X{Pn5l5g zQ#f*?fMF`k9cYIckX=RDf?Nl3c@ByqlKeH0@d3xI8)!X3AE{1^G)ol$2XdtM<^Aj8 z!l($t!Npoi9)tYnx^h-1uyt>i3Co-~`S3F%#KW>lj<6BcotwY_cA}mRDK(9_n0P^A zQn^C&Q>5>~(J58q7wRG(k126w1R*rlsZ4Ws(@1y(>6kpi>*cyG8@1wWA4{7}BaWga zcPc+C+KVsHbowNgzr}WhBq=z>L5k3P%juv6-Tx<#vKNzz@ga_7+$Em5#BMa?q5!6_iW`PFhzMWwgO6 zXZCXP#N*YLfQnHmtEi8ooU43#XLdeA9&46zmXqd2Ci5!|lC;^+knTr0my;baNPzSV zA(@kNR?*d_VbLH4mgcneu{cr*5NJH%%e#z`*|~~>4x-{J5?14N{JW$B_)sKtKp#C$ z)-adTXyXGcZT2b>7sSvl8;Q*%@e#XJlUEmm$H|$BoHN=U=D#5kO*H&W+kSadFYaP1^XPcDF;3Y8?1{D zoP{g9wV$Sab=jF6$Ly3%fgXHF7<|I|0@#_8pVcH7Q3}?Y5cMS33$?M(lej0~fH}wc zzMQXgv@u1R3f7SV&50GYdybv0J!sBj`B8bR%j#-8k6@Q}F&H-9ChA=AWd%X3iI%(_OxG#J6bY=enV2ypc$}S7 z*l@Aq72Q{z2vH5xRWpxE(fe=Q9-I;c7u(8QC{)@?lXCWcJ4~Ijm8NNJf(CQ4OiYQB zVf^>Ab+S#@=M~*{%#aOaf{h!spP=ppV+(HU($a-J z$LztPfUPMsk!|MEvw@Cc>IEBu`NoL*opDaK8l>E;w$-KZ!KB+n6 zNLOGm_XN|f>aYc2W{hr87?pV0E>VB%QZbofRN@zKX3OBsG~k?D56hchafQ&L%26JO z720Y!Wn*+38fEUb*w$bOR$B75Md!iT)J>JF7#KM~G6tURkD?SG?Fqi%k7;iV% z9=5cow&ZQ5B9rSOa7o^}8fzd^&P=lV^{f`$Ju+}Ql(J(UYUZ~>3Exh+SDl4dxTHC> zX!_heRKFR-{6zAa~r1f8`^O-rP}K zD&Mzx@MJ=;?;uv$`uf_4Gfa3&O_+a#3n>5pu-wK2KbUqg1bl`dAASdqv&hk^a;kNX7epMGS} zYE$nomS()8Y?X-|>nK}fYXAMir@vZfp!iEApL zcj+A7G|&D)up_>#`GAJVuYw)L3RU8XxPYqcTAB@GZzQ`I1 zPiWxY{uBk}Y4I8K-ya@|pKMOtC+04Jk4R<8`J2S3R(1bB44Z>|x$^Bu6CK=I@h?j5 z^c;m)`SKrc59vap^TXxvZ|DIiB_EcspS{rHI9pWbDfx27){)&Wq13amjkYmgh<^<> ztl%%)Ay{mcimeE8HILv4>`U^_t#RTd`P9}<5!Aqn??YGvF4uHO^3+7L`c~T_2a(lE z&l%|7zP*50W9pO&$UzD^l&R8FS<4P$9D6XkOEk|r<-_vSZS8xJFS&m!MI&BrDyXu$ z0*6>vcoqg@Dxh<0Q-P3|(>`C`xUC1AwR~Gg$n)d2C&lgZz3;fi)$+J^-%q0RX?oaB zKMwV79`3;ML;rU~Vf1h7qS!xRbL>1U_ut+%vCu*q%IW{v#}IY(^4D>(1|0O9p}Qit zT*X(aSJH7RFrxBh`}XcO=E&!bsX{TiHW%(+a+X?>s?|gY)I7A6Vea zn?6YHm^2()SQG|^RTH<>Iq|1yFMAmO4~7QxUmtYD?Zb8-_U=I2eq*<6kV@x)aNKNj z>d@?k_^&r>w#zd!U_T0Mq6?NGc$h!CvKpxN-L%FKoVLOQTunK50ck}cEjY58 zN!w}awa#8sw`y17P~uc*o#9jj`rUp30w-@{6Oy)SSNIByb;Y@cRx)Y;$l7=3Kv3|w z)E?T06?~(92)rx!G4j8SOXOiiakfnu$I?h+a_&qd7PLb7WOhqwqqibXtH|ZIoN}qc zwCh~3`Y`Bg%oc`eer;NjiBiXp!|O8!->iA0#x)-heb+{!W-4egp}ncF%p&D(X(gu@ z_p%K}Da%2s6YlBHlB8>vPz&c8CXv}k)HRdqRWMP5txhJqqjI?VX0%sCQ_dD-bg|N1 zyD8McFKE0KJPMORQ+e{5odq^ceHBr4=n#TWnkU>}K7wMBmwK^=BA~Q!i?jkESY#T4EG$BI zA58@ljG9F<T*X% zG%9zm2N6r~b-Z|cUhYSbIyL9gl9uQJy9X?Zo(!X-(x!eI?iFldOYd+hLun(*`{Dtn zyiY(a^RE*&81Xeyhq8qVx>ja-N;5HFklB)&)yh<;;-4N?dpxB-v<&#!xqU6l)ko^s znQ~?|&SgHhNM)t&p!k5=ioDzsv>O_*D7cKJ0<$X-?(pU3a9@{=YMfF}P(nEUm^lC0 z*4t52jvJXq`uF!-W&r9R6qSdIMOs6hBh7DnR@0{~FPAVOqAy3(r-;f5zY`j)~>j7nM?&v zRt)u$jLX~?!5@&*d5Um1*U?r?O|mM!^tSr%{w*;=Too1z34J zF`I)%-f{Lo;}o6%1q?IlD)B^DM@dhwg$>8Kp6Zt-$+wwD4~n@`Nr41 zAgjIwOjCS8E-iSI%5q9f&Ua}8P;YjnsYK4*+rJf~uTBRFytb9xZ(mdf%@j^HZIqeY z31#MJ!8td~Jt>a`s3laneI|ZkL7L~B+wJ&ec4U(pCT8DxLRym{_uUsg!3dSX;dRiJ=MAs5F`=>=?>tMT}@f zMpvid)E%SK^%e_ItSAjdUKg;zwC+vsc+D!|E+VrVl*h0A1(83+{24+xo8`^p0A#s*(2etJmP2NtM$gB`; zSFsCkU1L{8WoFlCV+vC$whyFjP0>zvPQ~xQDEt8sX4>Q&e%yu!K>XEhBR})%`@gV$ z6Z*!k2feyPgXjai1+My>os8giE*SwbD|J%R5OL!fhKkKdV}oMj~eVl1HETCWt4e~&gg4X?LUgC z#zIOP)$JTfe&|p?n+GN80#>jV5fHm&{{OghW}pnL>1kc_E()g@$tpd%ivvt+NJU!L zgHp~KHyC40fnT8hj9MVoG>-HUNBV^${i-3^>X9npSm!v_`Nm1@<46ezgy7ec;$cIf zDmYRvj+EFq(&4cjt2f8$(>T^qj&uV@>f1QdXL82jj=i};PVxr*d4r_J8+hR}*4)GzC!(D`W*DQQ&o(K~#&4LH3V!#F}_4XX)-?@^+edvQlumxgs1Gq1ZN1xh18L z-8MAwQw#EU_iD^k@Xk4Cfcu6w7sJKQpqvgypTg?HzWV|^4fi9hBF<+daLnjAZeZzRu@w=*Kz)tWJlGo4yxpNJ_ z%gsX4zegc0X!*u|TU{{v-v@tnKRWMKHoc&cYOlN*7NaM8)GfZ1FY?M%RMPRFI!f}b zeF_;Rxi=NyU!Y@WlzhMN3CL%TwN7mV^qIm zCgEW&=L9m4hgi~?qgv)$Ny-FAei+FjrpB?FbDXKMNPCfSyiLote-AYCKIlML7U@%S zmC7T^NO^130I@wu(vLA~@5`(um!uYw#6ps?T#8SkdI|P~_T+BI(rj@g;j6p=g9B%^ zEAXqX@hQn!jtn}q24v`#Xw5>}FLlySzH-@N*X=8E6X1OR(?hQW&};J4%j{Y~XXdon z%ajRuUfP>tFcsCC49iZ(YysvT?Zv+Bv{S@y;1CCWp;LcK$~yz-W*^lz$kb4>=_*E=6@E$pB=@q^7D)6SUF;Z{MBbSgwc8M&`k?)WihOtyq5XBWo_}rZ2kTB)aU2ZmmlnqlYvr z*=uRd@a+9#^0hD8Crn(ZmEx5WD!pCL$ zq1*IoO}fQ;9^}?+kvn}EVY@>w(op8$Awbqmo>%A|6Qr4fVmupw7(|s^8g};*b>mna zMwD+Itqf6TZlo^4f(F7Jdp(5^4F2%3yk7nYiaRBNQ7CI&JR=#r195i|TrL`>52nhoiE-|CtW zXfC2Yg4T3A_phq~*%@->sTjkA$C+`-qQ5=D%-F0Y(tRFhX}RB5fwtJk8!_qDNBk5X zv02ZPNojzPNh{x_E15J$uh#6fOwVf`axaD+WP>W{9FeIKw*d~hd*3NoH4-B@imtMV zA$lGhrK3zYC){^W(>ccI)f&gPi{y1@+on|Bqa*yG`@Dwmi=HQX)tXbDe?Uk7bfJ9u zY=roUJmc#a@m=|euVZX4pas{iu2wvB^b(v63cMW-+F%?Ed)QBDY-I%88&Isj1nKos zTJoT-OJj8uo6=pjmhD)jzh5YH?+FcCG*(A@Yt+>~)KEBumei>Gt+6_q)lm1NU!6@G zPyFUi%Ts=pS{*(0goc%k)otT-dstn)ahT8R3L0xy&FkKdZLE?Wum!_c|=I{N9=HW)%5ures@NM4V1eBOj&beS@88nC@49!%i%!Xy_O9JfvB(1-3Qk<5@2Z z1{`+B@xfH7qi9Xe&aETS6QfO!e#cQ>7yanPSE{5Nj1ad>_MDCwrNz6Q3{$s(h8a<; z)78`$!t?dx-B5W-b*!PsTsiD?cu)dJN6TxgBig-%NyMjPEW~Y|LrBdi#y!WA6yzK{ zITOi+b4ZCJBaZktjwsjjnvEI+w@N)YQ!hcNQl4=p)=;{D@gsZ9Aj;uE6x^Pd^Up+! zx%dsYMMUV7HD$Kc^S*&B4|6Wp{ki-7dKK}bp4W6#$)j+CKsNd|ox(OfP7_1ie2sWr zo^>`nrhJl)u)-Gs^-s!c&xQ}7_vpC@)9ckw)bqZ9>i~{kIr>fVw`bcK5+0TNeHY&R zSstAtd2R#G87LQH*!eK&enQ0NOusJbQR-O~*F`Dao3t>M+h`?^Q!O#Yd>>)d;?lz` zqXnXwETcu92`r<9n$awyg_dN>$WMP4EcT{Ub1iao%6z6e+^B_$Hmrdb8-f^`77H%l zC-?g{R{rh#$aaTV*XmyD#2JR*#=Dz8yd_SQ%YW$K?yLK#?{x^c|0lSY?=bz?&R__> zPwwIFEB+`y?(P_bmt|XSMyiXLzvE?hLV)4^SyXH2K1+VW-Juy(kDMjH;vTpot(~3?=Se?u8N{zHM3=h|sa*Qak+qz=w zKpTscQ>GQ?aK+ne^pH$Hx?TQ84=f5VAgF9M%zs?YIu{pv6Yk26Z;i(zi?F`Oiw=X# z$E(fK_|QaE+AqI*u7kKyK78)g{#c6(_U~+YQ{au$;;r=1+1+XdiSnJvezgVOpw2V5 z_o;drr`*nn9R=q*8N^BQiHrRVgQl_`w?~hEzl(Y-&-|@4pz+--K)ej6Pq z-Y=J3>Sq`|5$!q~0w%IH8GqGuuDV+5$-Z(8n2YCT-R=0h%i?9|L{6KBTEO%0#E(Uu zcKKMBEf6l}*cSH9U{XJWJamT5@hlrwGj<|ZG zD9U55#%DCYj)t?#FtC)%wH}aN3-atiqMgjz>x}ePE}l=Y;#sY5yf3*S1NBa$)w#r2 zmKrA11f=1mY#y6&Fuz4EzB+bLq;I44X!LDeqs;QuFi|K=ZPT!6%C-159|!yJi$v3S z`LS!!M%F(f|ID@c{+Yfw?SS+0tzMZp`36$Cuf>aDa?9&I@Y3)q?<&AuLQd#;(r z6YoWn8cVX;f@qIAqRx!4`V=*NPo$YBY;96W&1|l(G@TZaA^A(jd1Yfg$9}fH%9_=V z?{-I^C`(D=IJ=P8I9D^ICg@vni3+Ib_`T+(HfIjm*g3qiNuRt|-TUB&gv`4Cutl@byvriy7wdZ^e% z9HcxN3PLw3t3$;&F+q8UE%CsldXB=&1=$KXNOJHfJjl}B5OL56&-E|1sc z^19&BVL+Uv)zN)gWC!bYQOLC6bw+wr0$EkL5geM0jzfAcrEfHD;x#X5HMG*oqV!<# z7Okisin=l6=J_1?+RY?s-{8@MQFVf4`Y8xU!G?GAnpD)}YBk%bX1ZQuMa^KXrekZ= znDiPPUbIw)F(oK2swrU^@S&yM3%sWJNiM@E?CEDSKnkJk-3S)m-2;Ig}kJPS;8=^U{GVt6XR+8pTkSZm|;4g0%Tv3O5+yFlBdX z*(jb}r)A@Kb`H-fts>B|;aXikUe`{mvs2x#Lx^gu@Yd$wC!`q3SAn^=b6ni`IYPT+?f?MmR zZmBGBOeoFXe_gPcwwGAMF`+eK?oX9hBE`Pq%SvUW7^hr_6vxDOPJGahFxp7_y{$%4 zt2WA%D6yMjj}oT>eL(~CGJo_(lof%Fi1m|}?*&E5WshWn-~wNVIgN2A5z zgE~`R^_2*EGt#d&Os*l*F(FB}1SXaSR5))5bSAnJl#%VlL}J}WS>9e;AZ}MKwHI^6 zo0O+w#14j@1L@pC$&V2O4Y33H!9@p{*2L369g(hGA1j6jbwcV_q@vn=J%CIEi(rYz z_t~gAqTCRR!C%a9yQ1KIWp=DMLi8wa#)`AVcNAj>Fi%sKbwI#KQSv*85kbVL4<)0; z7+yk5nzLlHI3)k-ue{em3~$yM=^wOo7o?B#bP(}5prm&c2itD2Xzq~K+Dx}X1@rN< zW~s#d*Kf`gnER+joDj;M1!wOA>~$AS(KY2vVY>3Eq=(LZ9-Ou>4Wq@Z^c$XVOBJ%> zOa*B$gGD-`+2D-%uZzl+j$+H%)4W8*07le3mX%BhlqwPrT1(w=_!dq-(E)+O7n4&OAJ8gD@M9{i_Ql_YudYAlXje5Qq)DP6elXVUBv|PNhQCl*j>C?`J$`%i0COC9WRay7G-5sB1Y@h!d;2t zkw9^QvZ|lBQXHzZzEO;_z1UgAEeEVA^$&JUq{!P6r6|JJdTX`sctu=6gd!|DHN=Mk z>hch0dWQDhv2JnX-&FloJ#=p#dsWm=TmmkgI*XD1%-3r(*A2?<8^!25V!P^MT-U|O zu1D9K=XBR=Q`q}J^Xt}nZBqJ=(!0MH9ivdaYZMHo_j~;g9?4fIGl3AknDZeVo%IF9 z)nA-0zN-AvU+j<+fSU#Mg`_$H`#6Eev4`@nsNfZIm7z&uREKG(*CTE!rMl~`qGCqu^p5LQ^c;ya|6Yj#8l-| zv^4C9Wy}=MK+Jou@Jw^u&mo1mVwu=RO@GS@&4a{VhKMuKnzL%&MhYCI*awSI-9JE; zE~~Eoh>beF=G+^VPXMm-BCjN4 zAva#xO)d5)U*VGcE*1j%L9Q;(`qz2yUSV~7((u;3!Rww@`VJ9?Cw&{)&{anGkUW&` zTGUVX6E?QDDX$I@BU-Q58)}wauaplFJ9b}Ouh^USahc*sGDwV}EZWa!-iziw)7F;+ z6#t#_K#Dj{yi+Mkfi)}IF>5y8#JjPBXN_8qUsFs&;VkP4dk+;qGl*G=I9%)yaYI`_ zb55YO<}*ska521nDv~0q8<_MLW!7-9ZTk(lL0DhC6VlPh#M(Eb)nsiOr4+b9bR%Rx z6-S95vDyqeA*{iNL+X#$33sF71;*CjIuoX&!qr%d8K{`23`-TG+TY(;!&#`Gs60yb z0~>2U8}%8=tEq_OuParlV#kQPTQ}57sgiFNBl?k6`l7l{D-z+EBKI1r9U zHQb>mkpd0?Syz=_5%GaeK^q|Z^t{%PbYTopJ{coM+9F%liKP>mG#3cX8mWkwt5eb_ ze+jvKWnF@XFEf$+WmW8a%wYfM-;YoPb0vpYzM;&tBD(Zcmf_N_8zaN5qze|2s=Q+r zCy1*R=qs*6%|~@3L`P9@Lzu$r4CUrD5W7XW3zrVqM|+j;#eA7#CMwUQi9?f~!luW! zE2Q?bDD$d4-L=>oj+pM#6>+Q>(S4BKP}9k1J@2FKRYnROZIxTcia{|O{CcKMgiPlv zl}Cx98>co*6pi9!Nbf5eX*t%Yyge4DE{V-Ke24=zNM*R`Pzn$~vPf zRAZ~;^2(Q#&bNpWZ3=YRi8Hv24yH*hQCV<{*g0UyET@@hIp?g+&(PFyFhEsPj1-fj?w zDRVN!Q-*s2l(`u=NqO-$F`^s3tBBrQq2p!OZART1`kXQWE6$cq1CN5?NZXZPZ$lJ( zRJrYT>|!EOg8eQfqmUfOlhH^HrDT*L(Li4xjZ~K3E_M{-l~->UyBao#%6n$CAaYMD zr*Fr&Uj`u>4ql@EK%+IpY_ig40>=I5MiJ=TcR=B+3F3c5ad~0LouWY$ZAz<&;z{w% z!k;FJHKMpnIX+ojD_&IYog$tRS1QBr5;qxIjxIcNmw1ms{7<3fZgECvcxQNVy7Y7g z?3$KRniYx%GENj0&J_#VwA{WJ2YPfOj#eoEQ!KF<>Td8yId~(bGf)ESiG)0v`TCrbr#Q}_}q|E<{8=e`a*eS6~@;gWfv|z zb_2;=lnT4+dqf26`Pi|rmKX@w)kj=8sNDLr7|}sSx%QsBgco-8d$$ve(1}gCK@y_| zQB&R2dVR$6{*u(?iT?lT?abq=D$f5ubI64R0tCqg!Xgm~i!6;SvWRj8v7symK?>p$ zR-(r=_08X)Iq ze#;>By63kHH88~QHrp5LhOL|UR|fNkjGoP;?3ihp9 zh6}PA5g!s7xNdW*^mxHgbP{3mi{M{}y=Kan=#<~T>N`b;MYN1x(WWug3wFRORvsO- zyF*PknM+wa*1l!d7V7%-gAJp0*ZlS0GNHvfsP~)oOIZ|ew0<@Gp6?eGq_=UD9I6kM z9$sgP3i*;jdLbdwt#9~-OM;_$iY&G$Bh9Uax@nueQMGI3_EFiEAlkEOk|l8+fnd!g zw!3S+DIMITOm!?f7YjUvoRaA>IF4|POaDK9q1Y8erT9Ew2no-!=@MY-vjaT zJ$%;6J?8aSb%7pSa$~U`sr3r8ZoO`%mzZ7abqnHF->j#pPM8`SbO*h_blsra5$qqm zfqradW^B;wz1(3Yvskw<1OKYSdYRetSH0Rx8fGT^O~2mi)Y+^b@^nwLe2X5Vzc**L=sdz8Gqw^2S!4daRWITiX4*Er znR8{k*K}L2(H}~Nzoyf*_i=wYbh3GByYA?Hkl~l37w*Il>$3J| zm2n33U->WSx~2yYQOZ6nqoC^!;UBmB`@$Dke!1}TEdNLN<1=x-N|>oI-w87TCb=if zZ7`P$GYsY%F%5uOFHE1FaD~G4fHB=+2nu!GE=+5fcZInWW`!_8m{G!T2J70hsw|F^$SzGHKN>O%;JgqJ2?%pbi{QQ6Uv;HW8>26cqGK_RF=6t&+3KMEQLO@{7+!X+Q=Wkl#_OHO^H zv$TG~4Be-D>V0O(KHaj}8*^p3$&6VUk^&8U@clF~z9eU@eHFq;p_Und?>vp_gmh0|g z60Ie5-Hv9>e%&DD>lk}=v2*eld!>1gDJZ7)nBHlBA(IB8Ska($92qyv$Fel_E8{AuvOZ zN`YdtT`|XH%c3uv=H&bThwKhJ!d!Vkw`g{3mgHqO4$&B+< z=Q?N#@z*~}A(G=qTl+Cz(qqiB&vlddu~zxIuUvHy?~T@byfv(|-V+RGq$csQa8Rpx zzS892?oFO$F8hj`pGyzwR^F>K%+h@vcF#dwS3hnJ9Av&PHWfhgu;1b`g#4c4JWCU= z>SM>mv>9f|mlV-W>G3A>3r-Vvnh9U%mf@bQ8QL%tSGMX z6>+{|Un>-8z9Qf&4vHe#S5)^EuSurWd_@gkaX=KOC|-U=ys!9D6o>d&DVhXd^NeUp zeV3ZPVzel@(}71VU(sC@ulR~YU-7jl{^Toa`-v%8eJ{b=6Yc6+_wpvtPLc=lsrseqdPC*sT)6Lkt+^RG7yzGv-)4X|@ zV-7RNIHvAv4t=SE3BBX}Os7ooGffHpa&MJPR>`+%IOvbQcf6aXWma;t^c`O^YrdpK zHd%|jtVXJ}R&rByu}Dqz46D4uy4>wcCjAJBZ?^m(;WMn)80*#9N^ZVhYNc`3R?kXq z%EtMUIY=Jf_tX4|mEb1sr&f&5w&~t1N&QNX4d`{|p>OnM-FKy&tK`|1(9n$hZ&QgG zblzPV%ukWVc&9Qr4W=?U#~0t;k`SjNa(8f4MrB%#`TQHE>667g2=yWzBzNb!XDkdn z$m=Z`1;Xb?c$6t{iO7or69pCq4)DIDc!uE1NV+Sq3612tD^Lu_)I_(%asFp@GbTpJ zu=WN?xhqb~ihDtS>!R8(z92adj7yDbd5X1mK~zb~9*rrYd{3C7cbCr?hlUQ9?>&X6 zY-Mn4BPr2e#N!{#-Vaoex)~OJsE`VxP6r5ajaUS z*k&sTY&AWMzcx>w&`p|tMq{3; znjggcg?hCQf^P+0Fdv=JtuDDNaISLttcIF>g@Ab<1AJFE05ALx2 zop;SHv+;Y~zV?9Uq!~V0^v{gWL1RvQ&kUYn>Xhr!It4U54+P4+oLzwj%(vybMdzoJ z@h+&n6gc{F4Zq}VkKV(lv3Rp8mBY!0E3p4j?DMhj3bZlToz(qmp5yA{y2^i52GUI7 zNiNAxo7Ye3=I!>fdLF&^Kb4iCN6+%bp6>bA%tGT$?|O7TnI2uwRl(6V)p=>H*%(vn zlpfhJ6LYvm=g6^gidE33GXJce(T`!4NB%q>HoYd-!15%8I-Xn^{J}hSN{>$tSX*wL zf$|$4^6&&F&00U`R?XhI#HLCp7@_5taE>SAvS^?0(#;J1LC>r`rAR&s$QWUu-flkp zK~E&w)BCi(I(Y5NREeKpzkXq$GwgAG!60yjS$dk~t@g|2FQ@hI8Xn-O-nv`HltmEKIVth`pOQ;DEQj+u0S;y9+_4P0~+qSGdogq>*v3nx-0O_)4UJm8;+VG zKkC-C_M+eiBX;Dc^)UHA>KmKfREG*I`qNRIG747i=Zcou%V4eyt~THO$g@V3rsEks zw8Lk$Io4V3LSNr9Q?>=6jDmjUbysjEV9OvA{|OxAS7<_&!AHz1XY^J5GdPcBZ0+>S z7abmN2Y2<3>A4yC;~U{Ms1Xe){)_r?BfB48*h@rO6v?Sj<0aG77T-o{uKySDnp6N}v3y*M#$)A^d zqB5s1x=5c>Wc|u6(r0eB`lOF6u5=ldzh>p4y%twEec?7=4y)o1tf9~u%3OkUmteWm z7dd_Aht_|Y(-%8^#OWV%`qbUlFX>+vA9niET~;nG6%6xsqBE53w1(98E#^6Wj!Tf~ zCtw9~`n? zb^e)7zsTt$&OhDh7dm}r#O4!n`bVSwbR|z+D3$t&b#Qu>wARYy`!_!34erx6-3_4V zKni7KFoXGtz&q`LDqmp-SeZ%a>-DZz?8IB+thvyPL>(?WX}$8!Sxl<5nCkTEw3S15 zxm?Sw9L?r`;S0_`)8$)UVbc};TqS=-+OJlzI@=x~TA)z0U=E`NDt2=G#EbmT+I-3! zM*VZ#fnT`0s(;cc@u#N?eTMeFsK)y*IzXOs{h=*J{fj&+kGQA;rLN`5ezXNkKVz}z zCyV2!j2<(oB-qcJ7#9w;cX?jar_sL6p5j{H`6YF*{^<@w4%KAqm+Ab9{ztxJv#-2E z#>&|2PJ*Vgzjy4q!frOxr0y0A-H16l)n=O2%jq3vNA)gU$g~~cHLn?UEAMM=8sJSy z$a3a%vwMK|yFO7dZ?HSsJymm$++_9HPG98wvNEl{ER%be-rRagBdi=6X|dSs9_Tf{ zGOEtH!>Xf|D81JnCTcH>+DlRfd7oALk9fjq|xG!hI69Nf&G-1BQ4X)zQ_>Wm(>xSA~8g&Y3%YW^T*LQ}9=r0Z(z6cwW~s zJzb4Kx8%HTrYaAVY|ru@)&2Ky1=ex=xY4U zx-1qG=hsDa-Ak5@@g`~=F~5%Wx&d9sd6x%E*~>R4D$r)8r!K?Gm(ApHUh`mxVAjh} zt~2?vSv$^a7>>kws+{~U>lUZF@dL~8sv1~&QnF>cx9Kr;qW(@ljFVCJ<6Y>EuQDcS0zKbBe1uIFaMoA zY20jk5V6O~ei}1mf;TD{+D>^QEG*8|m(A-FysHC+Wqb_4=sUgo;l_vfRoBD(O04s$ zDzh&+!ftJ60zdZ}ul!{AAMt&u#zi{K&(>A%6Kdly$!?Y^MtGeHXXnlC0OVlP&(ruJbEF2ed4XW3Y5R^oqT74mH!Tke|0l2 z+q=9+sE$^5Lo4P`4YH2Q<--ohk3dg}jw~*g{WRutlBcK^S|vlJGsIPzIgSrVpff3V zdG`m?yK)B$n)86o$(PN#yS#Sc%nYq=gCder+HY8OU!ITdZRalbSoy!wuyT|R=4J_$ z8|~=-(lIk*eDtM>>eAd=X6W5svmUIRstmHlXF-USr8SuTA);~yWmqrmU>HhS#S%K()vgoO;_*{^w;;`DPN?Lq;+0>itU4C0xKA$jrh`Xrs+@RW9+m|0g*CwhvU0sR1 z848JxEH0KMkMn7;`}vw>lfCA*rO(%D1ho2mc8R|HJh~U6x-K=9$a|q}?hqHtlE?Wp z9Kz4n)Slus8B+KNKgzOzN%WwUjtRwbqv(^WdWJ%*pId^8mhhe&w7|_>UpBL*c)fe% ztkG&Y^qgetcQc~T5{78Z?Z$THIZ`)Dq zv9h1W^q=aVH0MqA8glM@d@4hubfZ@7H&INN(3j1-Q@th=N=vk=fcAGxJsS!8jEhm%ySCuSD13?^>O9SzRnkUgy)%&^CWFILGT4%-W+>+jq6P^&wk+ zUpC8fyyhu6|I+GNsK_@l^2Q}9UuSmbc)h7d!ad&A!O|c2YUXLJT0U$u@MSad9QDF zmN~aN=d?Z);_z1RAD1;n=LPSl#CgkLO@E70iQd*;v#uX*_YKDKnB2oxo({?B7eRYE^Q z*<`pF(f_yDQpu26-m7uTld82@HP`FjKWUcTVn$}VE$0l2nGVbEvvR5P%Zj4&FL!=P zCG+Nbb>qV_;9rB}%0ecHOpN{Tf}Lctz{{jbmdOGylV%_EExb&m$C*6B%Ou*u1UwBd z6Y(J?sN^Y=a4{sjOwOm6M{mQYrt;yfRC=r!p@?(ao)%nza{?{}4`0p!;mg6LEv>!~ z?7~tYK8hX98&EoFV|O>Q%Q<*A+XZ|C&rV}G6#skq`KMg#Uk)C-&+?(!1POX`178jn z0z0u6^7)v3k?fE3Txx`mV0&maeC$R?HbqVISPjq%c8B)E3yy%kh0g+`8y&$l4|1$9 z`w(HaLG9rqV06PHnDP)?N%Vs0P&T|^H)tlj;5ASod! zZm?oEQnI1?%S(I_k;`Af39ryfv%Rp-tU$=XPy~+NU^B`AU)n_Tp)Usemsou!_}*q) zh*D4<8ac?3S&11UvMc_=962^#5jr9EAC0)CRr~Y<$S>$OMxP zGpf-GJ_W_IK@xlwN`)6({UsU03vP!7!biYszOe-jfk(~>GKfxkl8987TePt+KmD3l7Fb!owg6*ev5GW8uKc}91I zVc8bS_At7Qi{0YMc5oXM!AI~Qv=?5m$IskjgBQF3Itwqj9E#_fj$oi_`-?qrI(X%; zc3=_{R0IzFLV#g)KZ1-#qLfNkTAoOy8svDTH7lCke-V#UA)d#O8VK^Ly=uh4GHdft zVjX)i8M{%8-4Mz~aWhnmzu;@oPT7$N^EI>=Lpj*Akyc0GQ^6lEvwZCKQMQpcLTB+2 zoC+nf5lp&VtAkJ~d>NS2QmgLpg2_B)B77>i-SH7{Sh$rnWP!PDcsUTKJaE(%b~};< zMj)A5f^*wheI7_;(f21Js8&MaLsU?maC~M5YRFy9Eb=S`+p)owmW$o&hGo|q$5Sy2 za1yKw6~QNg-MZNX#P!r7NVWM6>jgVhZ@Ts0QZ4r2DFSa7gAi{@g z5hVGPg1NnQ*k5k*dh=jl9};ljOz?1Dn;`vqE}3tzHBJXRvd@+lirrtw?!9FXzP3M? z-uMWv`~#QU@PfObIKKK>3O+H=wbsBe7qNq#0KNnHr30gzb-~kofh3v4f+I57qrnT_ z0`-C~18WU&Edj1)e?Aa>>^@!g@4Q)~ve66HgXV-0QehU|Y)5Y)SZjo>CGkvkH6#U! z-Q3G2eElTNNlTQ0qX-scp^pt3NPr=Al2&rJQSd(K1$e;?&^GZ0qX7lM z3HQ?fdoWD6mke{MF}&cbGi?9GMiV5;P-~`E<@g9n03j}qgMkwv2`mT}LCNR^w?OUT zBj7Ni3ccWCqYW#=D33t{F$j*DO+my7>~z2FzYutCE(;2JMS(lzF;?J1;OKc)9~*0k zjYUXI;@W&FiND|!=m@-EDHJ}9Aj}s~JRyMC$V6;(AvW?L5sBb@YJ|UFV<;P5uq8AT zUa%vy06sPp5gSe*tPnmQdyp7J9D#yT5(p+hN8kmgL#N>d^P#v0S%|=B@IkP~LY8jy zg7VHy7x?JAH^N8X!SVIHi!*ky_|TWatn>vI3hf-@X1 zC{c`o=>2F0yhJx7$}w^&s~~#8DNqi4`YKky@Z)xw%mY7p%JOAk{iiwW;gky2S;MG? zPXfn7vWCaTNMd6l5+i9)#QK20U=wIRyxF|QD zKq2^I@cO?nE#Wi4og3+U_}D;+1WaBkp*7G8?t*rT4;YP@xM)Y%50iYi`9f$!LL|>X ziNrGm@7uzlf)|_zb%7Ur9=aYrvQ?`k+w4Nbt!ec!R7wkRA6yOEZuu-Q`ybYayTYo` zPP>+*?hG^M5#+2T$Sr2O$be&a*~HwxR!w%h1mFk%bpGJbJ0|VQ zjiCkb+~!t`q1Eu*!d54Q42JU&QR~*j`b5)1PjwIlwx|-tn*ocorexCV& zl@1@lSD|h2+~ik%KcoWi+`v~GAlasI(_XdMYk6+?tMFq^;Bf)vePj(hQlO?eJ`cR~ zW1CSPn6}UIJied|B(>*}1;yhDJ};QL-|~V-pab}ngAG4HhUfOT%C$Vdj0Ll~j00nc zfaf6T4t0n%|1ire%WCGAL}9P?TE{SyQfZF3PIQB;h z1)l@qaOZmg4JkRc)@%~4pt1lFQMz_d&_mT_e<)m_D)s%f1j=@7XSbN