From a70ad99b36b5212525cc6c1957802d3eab8e0d99 Mon Sep 17 00:00:00 2001 From: jaseg Date: Sun, 10 Dec 2017 20:17:51 +0100 Subject: [PATCH] Make status request work, fix uc-side cobs encoding bug --- fw/main.c | 111 +++++++++++++++++------------- fw/test.py | 38 ++++++++-- hw/chibi/chibi_2024/bom-chibi.ods | Bin 28137 -> 28559 bytes 3 files changed, 96 insertions(+), 53 deletions(-) diff --git a/fw/main.c b/fw/main.c index ba644c1..50c9cfa 100644 --- a/fw/main.c +++ b/fw/main.c @@ -83,8 +83,8 @@ void strobe_leds(void) { GPIOA->BSRR = GPIO_BSRR_BR_9; } -#define FIRMWARE_VERSION 1 -#define HARDWARE_VERSION 1 +#define FIRMWARE_VERSION 2 +#define HARDWARE_VERSION 4 #define TS_CAL1 (*(uint16_t *)0x1FFFF7B8) #define VREFINT_CAL (*(uint16_t *)0x1FFFF7BA) @@ -108,23 +108,6 @@ volatile union { uint32_t mac_data; } rx_buf; -volatile union { - struct { uint32_t magic; } ping_reply; - struct __attribute__((packed)) { - uint8_t firmware_version, - hardware_version, - digit_rows, - digit_cols; - uint32_t uptime; - uint32_t millifps; - int16_t vcc_mv, - temp_tenth_celsius; - uint8_t nbits; - } desc_reply; -} tx_buf; - -extern uint8_t bus_addr; - #define LED_COMM 0x0001 #define LED_ERROR 0x0002 #define LED_ID 0x0004 @@ -372,14 +355,6 @@ void TIM3_IRQHandler() { GPIOA->BSRR = GPIO_BSRR_BR_0; // Debug } -enum Command { - CMD_PING, - CMD_SET_FB, - CMD_SET_NBITS, - CMD_GET_DESC, - N_CMDS -}; - void uart_config(void) { USART1->CR1 = /* 8-bit -> M1, M0 clear */ /* RTOIE clear */ @@ -426,9 +401,9 @@ void trigger_id_led() { } /* Error counters for debugging */ -static unsigned int overruns = 0; +static unsigned int uart_overruns = 0; static unsigned int frame_overruns = 0; -static unsigned int invalid = 0; +static unsigned int invalid_frames = 0; void tx_char(uint8_t c) { while (!(USART1->ISR & USART_ISR_TC)); @@ -443,16 +418,51 @@ void send_frame_formatted(uint8_t *buf, int len) { tx_char(q-p+1); while (*p && p!=end) tx_char(*p++); - } while (p != end); + p++, q++; + } while (p < end); tx_char('\0'); } +union { + struct __attribute__((packed)) { + uint8_t firmware_version, + hardware_version, + digit_rows, + digit_cols; + uint32_t uptime_s, + framerate_millifps, + uart_overruns, + frame_overruns, + invalid_frames; + int16_t vcc_mv, + temp_celsius; + uint8_t nbits; + } desc_reply; + uint8_t byte_data[0]; +} tx_buf; + +void send_status_reply(void) { + tx_buf.desc_reply.firmware_version = FIRMWARE_VERSION; + tx_buf.desc_reply.hardware_version = HARDWARE_VERSION; + tx_buf.desc_reply.digit_rows = NROWS; + tx_buf.desc_reply.digit_cols = NCOLS; + tx_buf.desc_reply.uptime_s = sys_time_seconds; + tx_buf.desc_reply.vcc_mv = adc_vcc_mv; + tx_buf.desc_reply.temp_celsius = adc_temp_celsius; + tx_buf.desc_reply.nbits = nbits; + tx_buf.desc_reply.framerate_millifps = frame_duration_us > 0 ? 1000000000 / frame_duration_us : 0; + tx_buf.desc_reply.uart_overruns = uart_overruns; + tx_buf.desc_reply.frame_overruns = frame_overruns; + tx_buf.desc_reply.invalid_frames = invalid_frames; + send_frame_formatted(tx_buf.byte_data, sizeof(tx_buf.desc_reply)); +} + /* This is the higher-level protocol handler for the serial protocol. It gets passed the number of data bytes in this * frame (which may be zero) and returns a pointer to the buffer where the next frame should be stored. */ volatile uint8_t *packet_received(int len) { static enum { - PROT_EXPECT_FRAME_FIRST_HALF = 0, + PROT_ADDRESSED = 0, PROT_EXPECT_FRAME_SECOND_HALF = 1, PROT_IGNORE = 2, } protocol_state = PROT_IGNORE; @@ -463,15 +473,32 @@ volatile uint8_t *packet_received(int len) { send_frame_formatted((uint8_t*)&device_mac, sizeof(device_mac)); } + } else if (len == 1) { /* Command packet */ + if (protocol_state == PROT_ADDRESSED) { + switch (rx_buf.byte_data[0]) { + case 0x01: + GPIOA->BSRR = GPIO_BSRR_BS_4; // Debug + //for (int i=0; i<100; i++) + // tick(); + send_status_reply(); + GPIOA->BSRR = GPIO_BSRR_BR_4; // Debug + break; + } + } else { + invalid_frames++; + trigger_error_led(); + } + protocol_state = PROT_IGNORE; + } else if (len == 4) { /* Address packet */ if (rx_buf.mac_data == device_mac) { /* we are addressed */ - protocol_state = PROT_EXPECT_FRAME_FIRST_HALF; /* start listening for frame buffer data */ + protocol_state = PROT_ADDRESSED; /* start listening for frame buffer data */ } else { /* we are not addressed */ protocol_state = PROT_IGNORE; /* ignore packet */ } } else if (len == sizeof(rx_buf.set_fb_rq)/2) { - if (protocol_state == PROT_EXPECT_FRAME_FIRST_HALF) { /* First of two half-framebuffer data frames */ + if (protocol_state == PROT_ADDRESSED) { /* First of two half-framebuffer data frames */ protocol_state = PROT_EXPECT_FRAME_SECOND_HALF; /* Return second half of receive buffer */ return rx_buf.byte_data + (sizeof(rx_buf.set_fb_rq)/2); @@ -494,7 +521,7 @@ volatile uint8_t *packet_received(int len) { } else { /* FIXME An invalid packet has been received. What should we do? */ - invalid++; + invalid_frames++; trigger_error_led(); protocol_state = PROT_IGNORE; /* go into "hang mode" until next zero-length packet */ } @@ -553,9 +580,8 @@ void USART1_IRQHandler(void) { /* COBS skip counter. During payload processing this contains the remaining non-null payload bytes */ static int cobs_count = 0; - GPIOA->BSRR = GPIO_BSRR_BS_4; // Debug if (USART1->ISR & USART_ISR_ORE) { /* Overrun handling */ - overruns++; + uart_overruns++; trigger_error_led(); /* Reset and re-synchronize. Retry next frame. */ rxpos = 0; @@ -593,7 +619,6 @@ void USART1_IRQHandler(void) { } } } - GPIOA->BSRR = GPIO_BSRR_BR_4; // Debug } #define ADC_OVERSAMPLING 8 @@ -669,18 +694,6 @@ void adc_config(void) { NVIC_SetPriority(DMA1_Channel1_IRQn, 3); } -/* - tx_buf.desc_reply.firmware_version = FIRMWARE_VERSION; - tx_buf.desc_reply.hardware_version = HARDWARE_VERSION; - tx_buf.desc_reply.digit_rows = NROWS; - tx_buf.desc_reply.digit_cols = NCOLS; - tx_buf.desc_reply.uptime = sys_time_seconds; - tx_buf.desc_reply.vcc_mv = adc_vcc_mv; - tx_buf.desc_reply.temp_tenth_celsius = adc_temp_tenth_celsius; - tx_buf.desc_reply.nbits = nbits; - tx_buf.desc_reply.millifps = frame_duration_us > 0 ? 1000000000 / frame_duration_us : 0; -*/ - int main(void) { RCC->CR |= RCC_CR_HSEON; while (!(RCC->CR&RCC_CR_HSERDY)); diff --git a/fw/test.py b/fw/test.py index a552816..695d9d5 100755 --- a/fw/test.py +++ b/fw/test.py @@ -1,5 +1,6 @@ #!/usr/bin/env python3 import serial +import struct from itertools import takewhile def chunked(data, chunk_size): @@ -50,10 +51,12 @@ def unstuff(data): def receive_frame(ser): return unstuff(read_frame(ser)) +def mac_frame(mac): + return frame_packet(struct.pack('&!0d4|NQ^ozkdu24FCWC?^6Ei&A^}<Tc!;@5w?;7;%6g|GGgZ@FXRee%q_C(D_{=jdOS-WK&XujXOO)~Lg$>$WDD zpUVqd{n%>%-L)!z*41x~s|(BD^Z&2%+OXCCJP(ML@qCXeeHdQw;owP@hwKHfufBT0 zkh+!Wq}Pt9bLyWi#>oB`EBKdEYH>#Y!JD$zbyMfu&*RU%?yKZdF#Bgqlr86uWoEy> zusl%e%Jtp#`0B*JtTDTDYU~?!+a1ZepH{HiVD1e&!5!*B8UY`!HuO&Bt1sT%^2qJ= z^S)s3mD49_pOgLdCS~`Up#)rw&PLmj#pjxel;EcdbR!f%kqt%_b%rBJa>7% zoZXsp%kDF$FEn}ei|6n@^U(hx>+-fLv7h9eVlY$A_o27>E*Y=9y;dtP?_T_vdB>^# z4O?%${$AmrEyn(%xOm0!)xJ|de4LoG@^HQOBge^!vGNDQuYPTo=kANi-p9P-Ys`ew zy=?50tf%DFGi={~@u`5!oK2Hgz2txJ>KnuHbJykb817GR=c{5U-(vOZdH$-MpYva@ zIoT#}C$gV8&sO|Do5hRLoLY^mTc3m-kI6|}TCBTs=jp`4tAceG*N6SeU}L{;8K^va zNy>w)@OpQRmkVzDp1ip7&j-zyX)z-5Z}PqPvRWrBj?A=|y0cYmKTCN^T5sR--`Xd0 z7x+(^9GMdS;F(@~t>4$xi!c3nWpT!}{aks=+wKI_i#y$!7|gGp@I9IMb9?45fu)oA z_CE0{TJ1Z_y7ZrI!7KNI-OT=*<$ue}ds-~LkEQ%Yk%pyVeN({eD%VFmezFy(5>!h+ z8^6%`KL6L9i#1`gyN*}oHC~@|nE&rovwzDc-M+ix+G{)W#>*ex7TtY*r|~qSjQ;V} za!a1^O=9kpUHj1Dp!U-c$s62<|GYiB{y`hF#SfwVlVqAMv#ZL~tv~;jzv=d0rggh7 zKHac`$4}1qf>Rya^|kBx>hBqeOy#-j82;zh^D{NCIq#&gl^0#rIcv|r&T6Z*y=k%i z7t1n-!W!l~?=CD76+3a>VV&xB3P;Tz_qTtUgX`& z;@dWv?cQfM?7#SQnVtDxwkPZ-moDBpLHFuPrng_6H|FjRd->{`-S(ZDJAd)3n%|!0 zuKuGs`2DmyuQK}g`=8qS%Q*aP>*pWV zGt4=t8o|B9bLUMTHtw4_8=mCseRw(k_NwcvAKRU4J6YwtT(7)hL0ta27b-bszngb& zY2TffvTsXunn#A}<;PbIbqlLp?&hieF21v-oMT;l{)VUT&7_O}Cf>?PoBVmZ&BtcJ zy8nT7CUI};Q>X9#yrO+~ljYl{?_!3_em1LrxHiAE!6T+@XFK1Eu+0Xa-$w-gmo2z0 z|7P276~04LqV)c$>aa6mBn)^T<7wYM85MJ%7rxK3C8sTTX$$}|6pdq3G*Xhg4( z>si0{Z|8%!_RH}H_cm3h6?{F~#2wpf-{T@4-@?1O+xOmlcXh|Tr)D|Z?w;Id zQhsUep|&@>FTO1=vw8V-+55-!vwCi`PPJe6)9UoUBRhEwr7t=Deb{W8Syz#E@@=Sn z^Xs!avegUoFMrJ2eZT(&cV3Luu|)wF`;K^)ui=m{6Fb*YT0Uu8$wXGOya$RC^F!_! z@LfN9NUe3tf_c$JrF*-NzdKTPOlim55b0CFau@a9?YyU8adGF=o691u-QKf#O2y9l zc6*t{MtWJ(rsVplPkz6Bx5VsEYd2kpkh^27Epm}3dk&ZW+~>V1dcPwg`s*FmFH+%Z zx6@pl`XWSl&qoG%_M5L+McfRBjIh5KTJqUuIXru{-=B58%D??=dVdc- zc(r%)AGfR1IrWx2n*G`0@Z+Sfh9Thxd3AJe-kMau+RS|UoT`}*M5O&bMKw)(``twD zyZha?<-E6_uDkzSIPcfS&MPOlr{0-Xwn{l+ne0?C|66$`cMC49oxJ3Ds{PRu9Y2B& zZvE=FUbSRrl~Dvsy6R$THo2Y3pDiVcR*MjXD`D z+)Fhh<1{R6wp7<2n!R_@kNT#2{}Kv*E{mSOyzc7xi$P!9!?}OW<<)14StmN>|B8oq zzwDdh6|z?Hj)ueZx7!Z>W;<8syVX+LJvE|6^MQl?yUT6I!~8zEoj&`{MK1ql)oj1A z<7pB3=5>1$3wPUdTF+_ua`U+G< z(Bf)Y)ccIhyY0T+zQL*1w(VYGYCy-j6r`jwJbal8BL9r{?Y zzt2zh`QjO`3)NQ(zus{!d!zI_KhekEt=W#+2%fpnI%&0Z<&sjp!zZJ*Z~NG*d3o#G zY1@*^LsSFnOA2>awmjLkvu$qV(Z#o3UEH?$_roQ5)n~sylRNqLr`zQn-=u}6HAb)Z zRNlRAQ(m^;HogOaOZ&I){^&ASW!FuXqpv^rwZ>)o}3qZ&35bU zy*t=rjN011?s(}M%e2lXQGTbN{niJIZU_0A?|qWVt9LBOrg@i3{o8i`hU3pPll?!& zHhim$SDsn)XUmzX@ry#%E=TokG&6bn6 z|FbXnMXp0r-=}3W>VBzt1TWIjHdApEZ`1k^baU~6!fS2&7!UF)v%Qq?H9YPVuw%~> z)|(tP2c$fkD}ow~R1P}SUSzAEIzy~&8q3PN2Wmq@Bp%MHQ8Fe2|n>&=Z)_WB&biNTSEqI+$?(KY4BG>Zktt!2S4aY9os_gV=eCJqH zY-({ZI#IVnb5%N%Io}>b{S7w$6DDHj!Uwa6#Dpn2*w*X?#;1CudhI z(VBBp^+Cm~X<8Li9iP9RyVXo0c5d0y$gSVEJ$jVmBQ$4E*G=9ZXBe5o*xjSvhc0AX zmvgdVUOijusWT0GK5f_*BJoYjc81FVW{E#i2ZJ1r_Fi+&&+l#PjSjac2vN#BX=Tme z9&u6c!LLfq>-=4?9`OxORvld zdJRucZu85W)=(UDD`}xxvZ=GI?v;htwmRuE{kneRdE3tOuEtU4*#u-_gkC?03R=07 zao>YG5({@2rLb<GzA-!!uYI``RMD=m~;$xA;1wWOz$7@yYY3d zrU(teHKoqVB{uTv$xGA1y*>qRI=HU>+Nt7>Wn8{OHaq6aHQVCYm z9-ib{GUM09*ArXv-Y{%oYMpzbpS9XmY*EaVsdjz^oaQzPLN=)iCMv0FE(;Tw7Ch0C ztk1t1bKr-9wUD)M)7F46>7xohcbr#h%#i;kULa<{;5p}vieHxf#EPZo{&+kJd#^6E ze(ue7wZh2H444umoHhsqytto|T1pEb(r^zFOXcRaS@y)wycmWhD6 z%ex0jB}=%!elokgsp%}slGvTA59B_W%06Ln-lS^{_0PiloiBxj8Jzv*7-F#Bi9wj@ zjfBI~gKwI&yHxs1l%3YarcSeDVb5LMc1kH(F+saM%=z5}84(ZP2M2BxSbngp<_qJC z=uEJmGXJ3DvEv!H6mllYlpGG=4)I{S-2Y&bUhKht?Rf?T>}yTGBnjD?gk+d2Uk}JU z+g(`o=CO^+!Ft&{%Um|xwaC&h;A+x7tZ6m8^c^3S=Mm*&W+JZI}4|669&>}GhxTM%F*$AA zcbjv09d_ujV#e9@?`+hGWl7Lq6S%E$f-y9{4HNYx?<$ zOn}7ci62+Z{5VI?M`Th#lCQ({%<63kO+QO-{SdvgUr5Gn!IH`)@}KjZ-uoFItC#xN zuW8Dew@hIEzmpbj&Gv<}W<+J=+UI#O&Alq7CUoAV@WOf4m^F#-JKq%>cc~aQ++X@5 zIJtYlL7B;&n$w`O)gSnit@{{J2Jz}fx+}=CeqsD)k)uN@MLIsEB+rQmnIH6)c zyW9kZ%ip|<-8ipxz1_lX+y7y|t;s|FdAnw-n%g=`cS$zxDSA=2N>D=fm4u4={IWyw z$IdL|Q$74^b+`H--?W|mE)r>XnF{tS@IODJV1~O$&A&vJ#oV)0eSLFVUsegSgn#T@ zEGe|~V!h*Gkr=Ce7H!9+Hq=`CAMse)*}{8z1;gdf@%f93OE;an9eize`urCbcedH3 zWjFk^63vc(eOR?>qK$aVrqf%Vu5SGlbnxTCrJYB#7xQ@3u>8GQoF$`b@!hZM!5c}r zIh>vg1Sh3v8SW~W)A-a$o|Vrd=Bo#5v31&(Pdrr{l`SmmW75UWGyVCxoYg##kaK%;Ay(hd>NHzOHLf|s65egOn8HUhWhU#%u^<->#dx- z=-ambj$7I**@c#GGJN@}S!G_wOq-9EGi_GSNqbbVL#8!N^ucF`7DpRh3zPjPTpmf3 z?woUkd%LZK`l|3O$1C-6`a+ApwO#xwwI@34l&70>cEFM?h3$2pB+7TyCmmNXc-NEE zD3!&&b<49geJ%ai14$>%>m zZ&?^06;rr$%M{@UuL{_kW#+eVW&Adm4O@{ob6bt-$NGc|PM~yS15#UrhP6*m9}dY5zXO7Vdvi(Q_%CTSe|ese_PH&Vq>z z{{p=It&6v5u$h-lwe8LGOe%W(?0&H|NrUD z+Vy*-TP2(w3*3&n6s~m;zZ3i5i$Ra;Z=qS)l5rakhY7EmU19b}V1``D$5I*XwuiUX z7ZuNGEW7;Q{ms@89uX$4q-d|Rk{VY-UVS)K{9pOOsr~!kyj-|woz%M<+N|f>R?mL? z;mOYKWg%<5#Ppp4iyrbgq&;#|;Ms8_+?DrhSuUq&eFJl<&e46_gmUGIxxei^IP)T3 zf{{p&hhO4Kb-k>w0ml-uJsKN~RxU0)^8426BJmx2FSTp_zYzIoX7an8->Y2Plnysc z{BF6S_3+EW^)@TB1j34D{?hd8JtDhf{q}Qb&n^5Odv3Bm--9WyRT-K4t~_T8_Y8OI zd~oVf0PnQMtrCyxyNpeEejl^d%_#a%QoXrnYn=J%1ww0GU*EB<-dw`WzFoLy!35#R zdpgFUx2_y2>{-aZ+uC>HM5TM{0(N{@5U@z_#@fl*etn^uf9D5i1ephDM4s9bvG4?2 z{57Knxhs+8iZ>R__V#>Y-~ZfW%d39Xk45*FNtHLQ{@=FNMczVA=VAS-hiRwMBsNLE z`MUj}TI%^2lbCSkd1;pR-By? z`ZzMIF~W4l!5uzKo_R4oteU=(7D7{ugnL>%6elvdq`iM;`J7)xuYe;yIl^@H-wT(O z+Mb`>VCecba<;{u(^(7qB|4ewuU%l?!1!FwGv?La+bi|T4&N2)D$Ourh*Vh_YG0z< zAYI6~R5Zrc+u)^1xB$EAMW>10&O+7FsVOl$Ez3KPWF|U1I(2{7jZX>Di%vFd{P2M( zu43-2rQ*Gni;jLS*>}*@Q`^mY(w2&K412#HY2CC#ZmI7i=|4V?wnu9)r_M7H6Rn@E z*3y$Pi{I19JTxc6B=V=ts=m!kPuH~dH*Ria>|dF_=wiUmf&`6jommMvBDp;CbQL~o zC0Bd0@66A8pI&fopGHms_v~N$t&!HDQX~9$RlT(sQR_5+ZUi2<@*`bF|q(b&398%sfQBUEcqRA(wW6A4} z&s;D~>~qYdSFRU#Ow{_nep1C@8=pt&(r5lTbk+G8b)TG7=X;}`rAzN=##+|B1~(Zc z@3*z?`*e-){dVHO0wxO2V($%XgbKS6}l#${xP_yo-vK>>Z|+ zLD7l^q5>rc{i@6#Sm`WsT3SEpyUd@ddtbOre{kCQ-Pxr^$Mrccob$6cDUO@Ve@}e`U$ji0R)kL;g<0 zsgL(|MDOJ3Y?eA^nxniRspi76v)q5wJCS(w4EDNdvz?;U9G@CV*Z(RE zkkIc;J?!}P$h*904qvqd4EDOLXhgq}WlW z;s}%Yq~ujHZH?2pUR-M4dy?&~`_4q0#i#4#4*I9hG!MIbW0l6i!`xx=uV<*b7M|h% z5U@kS|Kb!QnZ?y>iAe|65^Hz#PW8uzi)-a92e zFzZDweN_LP&*oZO&O1tU*yU2y)db-RXAW;L8t%s$&4A^+)rd< zPTw=%-*IHQKxM%>hwa~4xg=X;DlfnB6M8NZv&c(UzjG0Hy+_y81BJ0^Tk~gZKR%=O zXo$Uv=a)3eXYV(zdfUjiOHC&26KfFv13vBW7Zz?$w@3-Ee#ChBwA%wKfgReKy2Y*y zM}B%VN$<*X%VbQOvuD?D6?2OR4;+rkJ)h+9HLB%WdQ4{CvAvSYmUkk*ZoSmQ{kZXj zfvr)+Ax812Phsqa6(;rPiu5;Kc9M*LlElp_kuPYm;aDR62ETP`fPsH~UEDr?<_EUoD(9QxlvoS5bA@bJBv5ujG!BzvH8RZPM}jrYfY zd)l1}P7Ry< zBk|nj`=!53_pjXX-tDOU$2EmJ=Nmsg&0ZC_ci#S3yY6n)BUk=hZvI%R_iXd0J6qlO z9~EuV{li`HuKt7*=hLN%9p9@SeMvi4S(=}`>esOgGRq_$#$3I7DM!uz=6CBp=J1k~ zXu0X}uJ!-k706p~-P(k zUckUy^M{v7X{4pto)YGYJL}Z)+HO6!O)H%$a^0lVIk4-s;@j-_T~2>?n5@(43X_+v z;;#>5TJir$>2!AP`UEA>pkKR)MQC%Z*L*y&@8W` z?Jot?uTPf~n)6V=XT9vY1f3nz>{hsYtgBCXvDeTv;lm5@ zR$TafE1R|btVPXZi3o0wM|UgIH?OfXv;8%zb`@*gvyy3?8IqqbZjVuV_Tfx|UZc8j zG8=dKtILd+AE@_dvR>TN|3UwNf237wXL3G_N1K~dM;nx|77c*iCkN< z>mPmGZ+502b7lR~-?k5S_x(BH!u|ititmk=-z@*|(plwHe`59Z%Ke`jKTmAbHt=By zFWj?>wcba;du9LEBeKc%-!uO;sNZYYJLhs_WAHkzDSp{!V%O!KK9z2|ZArruw(gbp zmoE+2*4z8AWXrOvmFl#ctax zvuEq&+4iQad=jL=xA)_thw(>ZI=$EE7cdAxG*s2tW=vwfy!1iA-zx`& zmn|UQ!k}I`rc_Jb?L}GQ6FPA z-6Scs;zgT0ggt}Z?qyzbY&$xs`5DJNi+~rG0ykV@)!tBI;hWet=jN6=y-@ncN&9{Hwp4|KP@moHxuisww@2~f7ruX|5cI3wk+__$S zpy1xVIorF>zqdbp{npRz`ENge54QOE^>291zvGv`eSEx}KY#z;-(_`mbst&tYF5l% zJ#%W?)&^_m%m@gyVuhG zchxn!T9<-+J-vH%|9-!DUw(f>KJEK^_krL0{qy!#|7V;1^yT*b=lt&1GGtu% zcW=(zx%*r*YpZXc`!B!e=NHC%^Wz$;FZ

-#_;s%e$^4!P^e%&-w8G!_VKlgDXB& z>pZ=^d2{)Xj?d-g=BLk#-@kX}!M^=FE&l#`_WS1Y?a!a*Kb+M4eZJnmSqEw}^6l#W ze0%m+T;tnOo_BAzfBSy)=JWjzp1^OeEj?6&EcEv z#Tk?0_0OFC6H*Zu8#CbR_= zo~+d~ZP|6<*1uoxzTE!4d2{~zg^y+Be%EPz(>}kqsoL^E(?-?fVM#`hbN0=Ww`y3i z|J(=v&B6Z-wpjON%(1T6XSnmKVAcJ@Gv9n{n%`G#e6t|?cVYP91h)I3Pr~lZwR)PV zoz)X{Tp-2d-o>KzpU+(tyeDE*`?RIgh`yb;b?Y|jJVp&zM zwzQh@sot}-KOX$rZ6(8qoVL=eaGubD!#b5wh{sa#J%%eG{vFWf|xHLYbcyFXR?8-3Umj zm+8H3liGK?=iwQ*e(5j28rfPuzgEr@SdkrXFjwa9-D{FJrWGDlR_c|2%T20rEags;$5#C~JMp-~%)G}Y<{iljd(z!Dv0s*! z^omVkx;1etYZZ&l-0h8aT3Px3;9o-(yTZ_}%LZ4@M1F0ze3w)w zJE7ly!^&eR_1cf0T`)|VQ>V2<@9#swgYi=~@0)&vHQ>y>g4|!vp6CC&pwcLCpzBAc z&qu*$@`^n!yaxheD)(O9`LZ!(sr;K4A^#Qyygz$ZA%f-d0@17+91oa;TemvqwVDa0Y{gwa?55J)Fg4>_Wx@_K_=$?FFOUQQTf&|URjiNghk7g#Wy6h$Z>?TqhVcwLgKJGT^e zew?Or`HK93i>ur=u&kD!b#y`f-V5CQna@AxuVZDEe0y=*i)_`S$J8dI$}1JBHy*Km zz3hNlT276|m$)a}KHs>}n;l}VZ4lMSA!+DZpkKbDIN_a4!{Z#LQ?5*!xZz>> zK})VFx{{VUo)4_^BZoD=)ti2<=;Q!ml|C#Gg#EM2edvC$Oz`)??>gTe~ zDWM6nzKnx|1H8U$vX6#g{f;}ARD5#^gzlw8H+1P#sz^H5{XHeIsWaL9$OFIfv`R*u zm)7p??)P^dIC?#`pcb`KGG5 z+*on-k;Ole`8A7jqE^4&6&Kx~x4deK&xMlkz?W~PFVa|gzG)KcN~7$=S*zwZju#Q9l)ogG-X;INwSMBiqhY%RB7<6SX z|MmQTZBD$rH_Mh(GvocK1}E9N{^T+l=ojpWJ<_ANIQ#F<6+gC>4LKAfw7m8+f~j)zVNTUvx#v#CrA4grkDe3!eyNt zxOBcxndUInbA!V4bD?wIWzYA%6f0(D{`9{1y}lTET><@&{|*m+o|;}dSL9xVQr`Lw z^W-TDmM7`kR=nG&S^rtRK%?w^!4iHYwn@zYJXSlui*8uD_gtcm#YunOdaq~F%>QyP z3v5bn2rc@(UgLwV=g}z-LRmks9Wz?ual6C&)vSgJ0r`1)?hE-@-WbiCb5P;Pr()45 ze`Jl43Rq6$y4VOd&bjniKg}%o51+Z?)s=?Z&@u2!M-shxqfMmzet@97lm5H&N^tos7^xXWt#c}Q4 z{rh;Acf_3B9VxZY`A_`1`{oC0zV8s2xxCV&FuL~n{Ia^_+7HoQpS-#Sl!dOa+~{8A z`KR7YMRBp~l()^h8xDWIY^LN8x8mBJ7yn~}Yu~V)chHgfN}Um4Qgleav*cmB%9!w%a`)TQiW z+WJ?2n=Ag{#CuC^;|ouBDBG8Z7OZ#Q?pOU#F#Bsoe`vk&j>rnzp1ta&nQUKYivL(B z9bxP+M}2?zalM_F*Ppf6_bcr~w(_5sS*KgYJ$`@Ft+JL`5%g{H?cyyTYuB9qSaC=C z{Bi!r9|EOc>OcR@_|H;q)yB@-+tb0d=G{F^af_fA4ePgSf@ zS)P+b&$)J6ci(Rc-|KUw=gz*p@N%AY?B2%~Z?jL&^lek#n|wF$@GGnG!+oEBEO=#` zeJf|$msbWyRtvVjkrsIHA?~lt3LmK!o=;DL>UM07jVQT(@6W{rVPC|1uGt58vvZ_r zXzE6>GB6xbWMDuoaY1D<40A9rFyyAzmn7;{N< zpnFlbh;9J;i*plBcAlQ5#@p3(XaD+neU~dHE`2xW;a-`(Q@=l7bUFV(`t2LGjWZT; ztSRxjeVENQ&;GIKuJv|P-o5nn7C3eC8;98gD zJC?HgOu_40Bzo1J=4|=9*>S&<1*g-lb=|vF%KkarsM@QRTqQvnK{kYG^#T zP*Eo>C9%EbJ+JA8>l5b`i!WxJ@6=y5=h76P``oo3yk(JizuaY?(?7nXOk7e1OII^)?4wdi>rEnW3fjz@ZZ)>)n%HA!0bvL^e6 z2d^L0d|mKeZeOpNN_S<q4y7lLqk414S zmsE5fvq&pBT{JOhVrpUFk||;(bEl>pTxPSNTCUxtKUbT+o$qJ`?sO>9>qBG zQ~NJD1b?0VQQlr$?U(PSrM@rtGn=MeT+v>Y&)|Li)&+k#-$g9RV!2bFZhrOcFpJn+ zrJ$)#u4+$=u6Oy$4~pMY=gW62V`O0PXGV|T$$RzH>$e<8@hrP^EbmQ1?6y*eXpzj_ zx0@zr%+yxp5=m9xduR2VGXIV4Hz&WDAe8#oz3=jp%;zkgE_Kg8e6Y4(qVe>{6Qw1` zq&~N7$jIBJeB7kqiQ#;ggLi8FzY~9b!X~n&{LD1(M-OM7-(zxQ;s&8Y&%&gJf+=S< zo!dF{Q^v6Xr%915^-gonw3sIw_HDVarf1&Dg`32d=B(JkG<_-SJ^|-e)on`M=i2+% z97xTazxZrGVkfKL=||pXAwQHBUYist$DOR=akh)wYf*o3v8s#B=C^0ljBok4^{{WV zp6i!;HCp10=njjgAq#8H9}_u!Q0TVo&TYrqA{H$C=9zPIi3aa^LwTQiUZE8aug-YP zqF@j!IsLH6)KsmHTlv`BuUoxXa5Gxb&f=WN4k<0+`id1ke>UZG99eaEzxy}s7a{g> zd+!_*FL~X%{9R8IPF^~3{*sk}rmc_pgOc$K5Q?8>S(Lv0@&A;$?DE5atNOR1aW zQ|~fc``+A}o6b*K&2{B$&74a~R%YT=Ph*TCOsAhXJgwh$mQLU1u5c6Sn_Eqa^7f@_ zwl5RcFuJ!$!?3O@S1MqpiIvKiqC7hnL+^Q}3nO=DhOkXg3TsfFVZ9_^lcHzRt-o%2 zR00l9WuNlQk2`C}!Nb!94F%<{>@a=g!umpVnW=hxu1)%t`;98C`G%rDd)%`O=gi)D z>bymN@E`VHwr`hjZ;^C*o2pc>qu*EmW*5g}k@bNsOcP#ytLClHzP7dE6A!zlYmNBx z=St>j8}CkiQdzw%`kL|Qk3vgL?mK6n-Fb4AU9{Y?D_1^96p9pxtY0J1CGxE4z%lFB zOePtL8=p>gSy1os?x4DV(ni(5uw~0;7;RQQIX%ZMP-KZlL!8V?HvX)Q4-)SF-kuiQ z%IdAq^=jc7gQ)(tny8oaVivv&c)E63Sl%IxeJ{de8p4*W+x6nt+pV7hxW9Hk&Y3?e zKV19Yi5rz~XP8cy7~iTAblQ!f$d0pPjrcmL6|U(E4|`j-?_Pa+Tm8bA=MQ=pr*BLX znWL2N%i_QB=As8iHt8YJ!Cz+_o3>}$k9`JfmMu!I6WFifa-~bt#rO>GHiMf++UoZ% z-SqB$$7|u8T$;QxEi`Gh*O`EQXVw{n8+uFLX|##Zll^gGW6@lp-5a_lUVVDqEB}~Z z$0H?6rTHo4A=xg$e_nh%>|isyUOch=(Try)(Nj0vxg7fV>MT>659~qOTOx->f+|#aoBb8 z>yO)a>fd|+(PQ~vKfh$T^r4eiUrsw|R$Du3?p0Cu=DX@k!sisdNsDm+-7NT4>?sa9`-+k}dDH+i@_S+V1syS^Lw?ciyopxK5eiZ?H{Uep-p^ zxw>;_Bum%3t}Ht);AMF_u43bYYu=xipDR$loWWYWxTtRa#jg%eEI-+uYSsO;_U*3M z2h(?~WjsFp#{YsHe-2#AT`-yD+I8>MOqyTsU&~=>4^<4lDP3LlDfnx>q}|WmCBeIw zmc6~0R;T$omE+@!$X(9Sq6yqKtov5_ya|=rmBzh7^7*Gwg%h0GDRw6U^EyB4Ue)%P z@%HjIuiKLhS8#0YJf(X>>-_7D)>5yn1eD|)#E*KvC|K2N(|kSZ{7ivQzKfSDr_Zvj z+`8NMRPIh@W7h8IoHe(S&G#4_sIGs!{$#ZlyTtdWySpD>WHgb?>QAsKxZ=*3^dvq1 zxYc6kaBfrK9T#& zQ;X!bi0nM`=jg^NQOk4n>e@ZVUmiVq^5n)k^Jlt+y)CnzFBMau1+pj2D}?Q;Tl-$icXyT@ezu<>@|B#l(CNbYQSWXPDO$=L54+ztIa;x? zTb?Jkpkiwl=cQG5)s4%ItZk$${rl%^G`6&u5A&0FK6>+Z(szWG)^E#eP5s3I@88O^tZoq-|85LS`Hwq8v>XRa`Lhq(|7X#dsZ zbLK`chQeeO3#h1-g&9P&!ct-K6blguXN^TLgaHz*%i)=u(q^>Fe)rfz>Lis zEUg(KtoK$4jP)S9V68(C&CS5Tker`alA2cnY9qd#`?u(}#ikek_xm6GG|%U(48JNP z%YLKBH@i}gU+j5nF-_grI(nV1+oIgN9*d?edYtlq&-vncuWU}TazrUP1gg1yV4f5- z)nb{)irp6(ezmh5nE(G@sZrRz9sg>c`1bQT)UPgHu;X&0xs31oe!jZ>m8+xJ>;FIf z|L4u!yS;4hUN1DSn6u-ugKWiRhW{ZSE?@qc{p;n$gNyBJ-&%gY_~+}DnL9pTKlos) zdGYe|{(JlG|F!y~SCuMPBb{Dnv&ZsZ$%8uHO?E!-QsOEe^kb-s_aMhasul;|e{ycwF^D_LO%Iorp)sn%ye=h25p7rJ3kI(a->$<4&UpOY$#ceHnW!e7Y z@9Ltee^0jOim@;Io$&T8bGl7L#GTn|jHLGQZ}}*@>UZmoKZ^tfozDczHRS&K_~_YB zgRL*@_0RooW-ouFlP|ZoX0z3-bIkSWySDWBYbk~X?|r-5_&mQ@+s@PXem=U@#C=n) z>7>Qp*9!CP?pM9%Z`aO0`Y0p!PVWP^HFc6Z{p*u|UHkekVf*3PkN&>A#qO}&_g$ok zXUyHx=kD*1@9{6c_qfDkH)9sh_t$5>x<64)m$CacOH=XP!Q}jArNxH2VN91V_TTwf z{JK7V#gzt06?m>}lhs-(Gi{C*V|o0u_5Jq^rCFKptgbKo6L^CqPC$3%mZCSk?Up?v z_x3x5q`&xix!{MrRY#XjV88J9|5ozy*JqoT`HNkyo6Y`iNr%t#dxtdw{O;(VyR!56 z`6bt_%ac_vtzB`lKKuK>!Z$xEwd|{0W*m9D#Z4}@T#lLlxbEUcscD-t{yyB_Q^(A& zvrp%el8i`!gjwAjAO3msd*VaVcNiD{O?Yx{s`dM?>i0|SR?m;Qv;HB|$#DDW5_kWZ zNKF#pk_h8o6e*x3Fgbm0!3M2|K36vN)NINOJ(;#3jQz=E-q5g>0$b_>{2qQ;)w21_ zwA|;D&#v$?JDbI5J3l8ab<<2;?ew`(Q%_#YjI^{C+^uzU!96ESYrzXEFFgD*hmT!L zTH0jy(x+=e18&}EC@4OWz4H_sJMZt9b9Q_oW>yZy-%qe=Ny`dkNbamT=ifcG=6$Cy zPkg7htG$xA{GE$`nU~qNM47$Rs=vnl$D%wmU#v&%Ttu&Z?em`Jd2$DXZ=GUmVxHU= zJ)2YRNB_8+5!QQ0Q#VK0{oviQ)THHG_MSbHo3B^y_n&XhRo>4(A00Uu z@N~8D^LwH59e{8gU?_HO*&v(HZa-EQOSksb2IYme5KTYukYT>XG;V(P*fCz+2gpJ!9} zr#k2P#_D$OR~I%atGPIBnQ%UShSQ;=ZQIYf|3A1r(;&;_;nw9VY-=8+x1Bh<%2?j= z@^kkj`Af^^*~k6WIk~Cl?)sPh`gt7l&)YTZ&P<%?BKpp+{n2V`=e7F+3SG0+bk#%y zjU%?J=Um-ju3kU+@{{Rmv%07J`jGqWf#2K%XRRIh?rb?>xt!D7z@1O=veJtrr=-IV zf86}s&-bsae0gShIs2lgezU6upUj^>=iu||`6`pHq`Thv;BRPuc45LT7Qb4qY4IyF zg`G>owK#3(yIof7vvQ7Iy!>(FJOk+^z7A9GXJ4^Sfzq%Jn|^$L;%>uGFpx zh}tXKef#@YwH^0f=nAKAn{jFupS#HwE?$Y5kABPd?fd8K^sbE5@_M#P*X-#=?$Fid%d@`5ghuD6rHik+mf?3* zYUib}P@j;Kv0KB6S6w?5x;6An>dDxxm$uz%^Lz7V^|p$uVTPQ+wd)Gri?QBa)Ye(A z`%*FT-mP_6y3TSlSIt;<^JbstX6eVPLZ+O_3q0C$?%XcctaD5BPMNOcUOj{NR_u0$ zvxVFfPV26k;dv`|dxqa5$)~4mvbX9^zs0(Jf=T$2tJ}n~#pf`Ys-JHudOCB9*0X(5 z8?Wt9oTrriUGb^Qtd6fYtM_X@F>f;4o%8V8-k7v{5tG)fOVe^Zq;vTUo;+rCtX}pl zd;0cc$}G7?lXsb(wt6&eXJp>zg^ya#?k(k0=)I$|=52WA+I&&X&cI-)$}gHfZQ6n^SohbZuD#Mw6}o#xK;-P)M_O;b zR7$0;UD^#6+hhErbA$G2v^^ORk&Mqr)F*VE-3d)J&vS;-gpR8zhx zGILi`ZRFdFOXI>8X?4GTb4X*=^eGQl=4{^;7qnuAqT^QKe-~E>AAI$`|A|e;n!4S& zXMd)Con4gO@4EW_maVPt40oR@FAC-3mfpJXz%#LX&ka7c^0;{#Y_7k$eE-u^nL0dk z&LrAA_$4#hs@Agp;`yzw?r3x#Ikoy~?e5wV)eqW^D|^=F6mOj;8M`;P=)BFPT`N(RC0CanXqeOOV`fdTz@)d{r%qN`F$ZX;&%35mbv=7dY$RZv`p=T--O$G zXI8AZdhk@#^6gLex~Kh~w$&&9^jmHB$C}xUkN4%@`+oMu-cwPYQCAE1K&9bCJU0z)&I2o^@ZLYCj-hHTkvAWVuXMd}Xbw|&--Ftf4X8EP< zW$Sm8KG5}&2ucqAZ1jCc$K>SLN(1Lg1^>pVHl~++OL|z94oam98u(ZK>V9gwz57k7 zR8y)6>vZ)fJMV(ZZ4W-3u>KpTci}|vqeY7D`74*ze?J#$^>6p##mzo_vtCZp&s`=(0> z7e=mjQC=V2&-O|G+>eW)&H2XDU3S~aZQ&O&nlw55yS5zishxa_<96WeV)-}KH=}sZ z+{${eY;D@ZZ_^jD?GQqq42?>%QrF2b^|_jGh*@WAB_DpBwGDp7*dGnR)c~ z`>Do1-rU*EG;3X8#I)|+)r>_EO7%|y*2&lh=-D!U5)oVe-(q&J`?~lTu_BHz$HaAa zFFrUZ%YN!=s&LL{#UI-w>SrnWOQe{&N=)L(Y0?pYZ*St*bAS0_2M6mY->W-+#md{? z4V$Ife_)x4kBZ}3&lxsJQd9I2p70&z+;c#ZdqR5YgSneqwS^zqA6;tL)gNs5TEnUS zm)zot-nn(M94oXKkL@f}-~8|Kk{vqBB(_UFYB&_gb}z;u-b2ilQ~2fmgWKJDqOLz@ z;`v+@#1JfUW6q*4p(3GMw9f55HUHVxCRO2s-bYt2N-i;BTpXBa`LA)IuKHY&KgaT> zzxa3CbRFO49}*=2OYi?XBkQ}tc3VT0TaV+NBISCXsL9h#+x%xW@~v+?v~|m;(`$X= z^QL}&s&M;^{0Ym?;UR*W7<_@%!DE4{kd>e$MUAzI=bYx)JwUz9`+>i{_;6 zZ+##7@B9D1=hg02J^wlR_{QRr2Y2_{{Yrm*X2;+6_1pfvzOy6t<(i-uAM&_MUUXh< z+%r{YHJ_BoqQl?o|L4R8sP6jTnm5(?>HM{)pWiqA_51hp`w!pp|NmFxF$ z0XK3|uZiEkbu%Qs>`i1#LQLqtuB~t8eLGh@J^g-s#CFzP4ZDO?%mo zCt2BR-dV2giCw-m@LJ2|SI!!%B>t~ix~r!&liTlR_L?;<|4wEWCf`Y_7hQLxMAPz@ zi=${;(5>t30c#^R2hB`dYIJthvnzE64W1}+qfv!MRhvt7U6y^vlwJ^aIr z1lfNZHA6gEHZ4ys7x;1SN3?;|1NJl)S*!ls3qK=Pmd|PEE9$H6&fd$ZP=f_g{`$^{6%+5c3&wAdizL(AN zzEOr#s$N0OvANx&`%;^#Z^41j^WJcMY0(O37Z<#@*#eA&_M~%mu1M52zW*rt^fTM; zr?%Y>!RYB;lk6+!s~0Xv+Ov7usZ&R*udVI5ck=T*(NFViY?IvXabN8+1qFcCWd{d68dARaL z>GIXb4lEPARcD&2oLBU6 z%6x(PEs+jeB*7@s!DqAE-v$XTty9+7E7rs`WZXaXVy=zCEk%V>mzC34js&cYSR6Fd zZK+XjmNnzYr=bg^b(r3!#Il@P!+2EQ#oPYymHTeDf2%xk=4gGBqO))AUd;y)ul?L+ zzezch$>w=7kn`Zi+p2Oi_~p76BzkRYU4i-3rO_NknD6>%bKoK{a( zKJq$Z(SpElT?%I;UT$bPcC82J+B@p)NPxbd2Cn4$Lp_8um1k+ zqv{!JbuDGxq|n7S$}Qo%r;MjDPOdJR(kkP~qT?{@hLU67rPUXN*Eq?3ke;Oc;H2P( zCmfTWaI~;ITacP^Rq}q6l{HhJEaU0EhE(?h8febTi#F)`vd~1iuxa~}@P+CTtyVRfPjpXw7JE|3tyam+ z#g$^5U&-=x{uj?LDHYtC_OM3YYm&)dI&;at)OjHxj(t(ybDuuet5GvZ3hsj8G#*WTuO*WOkzYCdW**@QvNl&jlGCba3voHCGq5&{=* z(C`?!Gnca8gCVnU^PH-m;%7dGX`0**{-f+vTgR*XI}My}81>V)K&~ zr6#s+eLKD!zFfR(+vi_u=lXvL_w?=)e{<}%qDR1g-sz8R-~QZ~RriPe&8qsl{2!#| zy_d0{H}~Do!t?!G)jLjH=u#^3l#G&=h*bFzSS4E36uLt9W=BPxi;evv6?>(bn=B%K z3Kst9h^TYXu~+JozwC2~q0VKBe5=JOmXmHJAcy}D46K_1iirM>Ps&L@1vmcbD4QjJ z-p~AjyS29cyt&7I7QUI}?Ee04{m12Z8BbK-FD?K4=3>>4iHa*SA3)(N4>5eFNMtd93u zod%=hy_sy84Cb$kqPB z=rD4AY#QO%`%int{|D*dJ+*Uocl{GBQxksr$gNTLukX@(4_W!w-DjC{ z=c#U!xcPNm)_*g$zxtlC{cp;3!?#h>rb-EhN?hXk$GL4XB<>5BO?byM4}^MD?n*WZ z=~X>Dy5-5eP4$fDA26IxU<9ED4Ekr)co}S(ndS+EuU&qLXG;6Wo@h&1)5c1+qc)Yh zPOh1e9&pAu0*toFd=`7KO~sT~>G8}xdU)Q7dr3|kb zRbDfiye9S3m$0{MR-_iKNZkZRMJuMJO=6STkQsDE=+TO^^V?Wde74{ z($1JEvc*RXgwE))ueJNR{=dcE`Suo%4}85H{#>iqs95dNgv3qV`o79hy`G;l!k@Qq zxl>=kmV2)Dw|0e(VfyKv>+Fl$)){?R7F;e+@nnXt@A=gwj)LFPbFT4~7}KcSFFUPNI{>7OFZ8=mwj&`$t5GoVm&o#VQ?rr?IzDOo&)zp3GE#=ifcvGVABri=FWJg4ni zB-9tnRtWk{5_hP%+OtgfiPrl|+>1m0AN(%Y{w|>Nv+AE!`A4R&c42W#lw>VTFHEk_ zJv3Ky(US7Fi(2pX1cjeu>gN8;e(?IanG;Uk;Yg3K(QwxdIeT!CZL+h#Q#OlW9mfA*2hMxzU5VizUB;D>uKkyU>20mxv`u3yuj`q8(Jc2JkM-f zEwg)_j-%8d*O2yLhRm%g3Nylokg};oSGiA$_EjBtj+6#Bb%ltmW zIMe*lglgBN&WarwY#fVbT5YLNkLb2CTC{1kz$WDfHw8bu;h6M>gJtQYq9r!2M{lgu z^k1aj+}GgheqfREgA0adRldsWI=hNqi@g$%zSC%)ORVHwlg66*2BrBnbG?tTsE6v@ z+ZVE}c4f}*TjxqQ9gqE*#whk~${#-_Us3j1md0~_81|}K-!M!{DZgW@qALGr(oEg{ zxQ3sPL~Y_e@kSb3&o#BZAGyIvZ@u34lVWIFUnrX|2mXr} zb3a$SJH%^n>Td5b;iKg%FN$9Hxuzj}YL#>FJhh;YJ%3CSf0MR5vS<}1oDVo-fzO$Y}$2DsvCrEO-uezJY`MY$7Nap z_Px(m@mjrl{+)mF({zibbH|TN>lH|udBbeYkGgX!UO2~;$aL)&)KjvyvYuc5n6-2D z4vCpRcUDY&-F&rr_qRQBCQqNZGk8zWRbBQwK~CQ5;?KOyFa7kXu6ErSk?wk>A}`5X zpVb$?wrKf2x4`t(!HA7fS2lZyf8^<|Xmj;!b8QNAM!vAbR`mvOeaPDy#J&LW=fh&ET9!;5SW zXKD3i6&tU)ck;-F9WN{n+r=Me==RKGum36Pt;vzF*7iV`=Z|+$$HJFQ$rtQeW6Hh9 z{l+fAu>KXE)6IUm9}?Xdb!C%8WQl7C|3k%tuWZ1`v+3$n+f%A@6H5CMN~eKQU&3Xd zO}nJe?l>>PaVuk0aGU6(RbS`0PU%kk8m%d7dT@hPYDA^g$u&HygWIk~wq1>^Z@c=P z$NSR;X_chXDTac#Jr_qDDz@&}_+qnWThd$Gqgx7!)hNRFHnp5uxuXFRw?&O`9#5*skSLLWwlTeK1iM@Yxx3al!Wb+0i z_l=oqnFpptH5;u_a9_Ld+$X~|h1&H?XRAqETfn33?>~QPBJZgUY^Oo!*t|qj(UsCF zNv7J-O5a4^EPI|5?>M(+PqPX)%hKfU3fgM2yQ5FukS|tCp8ZYg@?Wj^nJ+K(%s4hh z?U~1gr4gc8t2*bsF%?|2^yFd?n(5*l>~kircF%0SX=?1#)VRTjeOe}4{mNgwf}IBU zmPBaww~IA;eFoKs3QIjF23^zgcK4dBwDcqx?R59zjlZv;yDByMHn&00GIclSC1-YD zE6|=GG_&d2k4Z=Mt5=9jkTosO?$y5-p0WG(e2zWK&-7|u?z(Yok{XX^z%od-kN$V* zk>ce?ikH2dmZ=6OY1C_{MaiT^>41?;+OnBT7=LA1kJr%wg4quiCnabMgyG^)oZ>wR_L6RXa1|uG1kO)03|>59Q2V zF=KJdiWP@!wzgTFcAWt##;2(J=-4XybpATg)8Z-GyIFBLkIHG3@oFT9oN~%+tDnUZ z-~qO3D*nJOu&+vOBfv(H3K+`t{h`#-2+M% zAnu9Fu4$}X9*t0SySYWQXFEJh_*G+4DjWavQ7^MhSn`t{;ajGC3p}vPV(o^Uzu(QZ zT9{@m-ZAssot3Zq*?j8-p8jEBNLaOF+AIZMLB2;-ZI7(K=KbQ@*jsexud{IST=7{y zU%8gw)Qv5z-@4If=^B2WB{@y?X%_=UXEWtS$o7ng> zSM9wWceU#Fs;Cn)rOty;)FflmNc+@Cy3NZh{?r2^jNpA>G&d# zH%~QLFLuj$r>3UaqFxH7ky`W@3`>A?Z%S8%N)Vgih;6r`K++(w!2_0E=ZB5tf-0Y*RmpMD; z`#Jn6Ve;}*SBRXLakhl%(K2BH>$wd#Ua}nVRbLXhWaDMd4nOr1uP(WLD=g!EQolI* zrEL}O6J@TSm%=_u-4DGfwrZ1ZNNRKjvvk_d3H5agoA`cS-}ct*U!!xeX!|ou&HF}; z2Oak{CQYcXE9~I5JHmRLv))FrW_|RJ`#)1OG@o`K`Ppbb({i71MV<0Am2SshkGvLRCVMrHYJo&$d2|`l&xnCCcc?s?A_jd}LPI1U8wei-XNXA1yY$60tAz z+OM@Odb1LI=WbeNbJy#d={2iV-??D4S949IYRIiwRhuNkX6Yv`T`N0p4V!m;^lcfP z*XM*^w=P`yx_fk#<^KgIDCqeWzTb61Z1Pv_Jefq#B-_tdk_s0dO)X3;Ok5*x z{iEMYD^xUerF7ukZvLk$daHz29o2UAak?sUDAs_z+%d4y(%5uimWx6138~U0D-rEu z$xAB_UIw9wOM;y}Ud*q*DYR=x%c^-@%h}qOvvq?}`|?b&m2&>ZR^QlHH7V?0w@{1M zxZ2C~EXVaD9GiZZtSU2)ST0bU`gZDNsn_hQBKGvI%8?GeX?E+tl&p^)+P!u5Hdg=Y z?`&IYbg|Ixjp;(Z8^(#I30a13w#FUQ3$B|}`?1~X?~bk+dn!3YW9pfmpI&|(Bl&Bw z{<`%w_GSBbB&Yr}*u@?5zkQLLW#Rid#|r~)H2!)Y+OWiT-8vyx?Rf=e7k9toZKzr* z99jFlZgWkwC%f<4c(F?zZ_@kr9u2s1=f})6w*$#u!lo((A&_qE!KqHWOe(=>a!Dpv z=aIm$-ayu!{*#-%>nFE*gHZEnlV%fz@0mdzB9E4uUYU{j^knU@CC7yzbx~6qvbxu{PD!!rO$R3*E7!45xiGaxMh}6YuGabsrymuiWEOb z*?^Jfv#lw2FKky^oK<)sdm|VXUYMOW@fCmAxjBJbHF&rSv$eBBqm+zSot3t|{v>a0 z^vme;v+k^|cQuT?_Rik6JUh^5djuHGYI^z9rQ~&(p0E&?@wO*_XZ_f3@!|aRJy&^| zozyD1b9p!Df3c~#ZhM6F_~vbDRT3dAl9%R`T$R7;KX;>%Or>);1CN;aizE}-*g5m| zi(a@bZu3*U|H=a)#w#7kD_l11ZD?L`V5yUi@+*~9XJYG9Ppy+)w|dI=mba6NPCWgQ zGWpzsS5F#N@@f6$(Xv)@jlSS^M`pA5f;X3U-RHcv&ar*xmu;b21wQ1;fzVr(2e&sV zotkC5B8Trot{52ceYmW%X_K@0rqUN~JC_IC6#39+5{+P5RX41K@E@v&SAHQN3Q}x66`tdVjMYXG3 zv+i@vJ@qw&)v=EE%bWMSYTw_f-4vdD`d-telX9L+XU9W8d+o9Hmv{~ojLygmD^j(|FMj|1MH=e!ba^)Fn) zD3ANreT(JLkW$)6F!`)p3$*wp5j29m^i$761QnDT!{85`1Q+SzLAJvUR|LbDwRs-$fRNM+&-KVN{h3zP{lR z)E!|hHrh_}L=z{8E?jf*om72Ti;T9@G*QLVT@#Xznsl4Y5LHZd1vw(D1?-459Gco_ zj@XcXG>G~CYwlDdsUP(t(_=-T=*Dv{2i85Fo#s)v@ZfgYwV%ae zbCr#`HuNjqa46l7d6qjX{BzN%Y>|qDydzp4p4IDoX1%$63S*(W;?l*N#2lxqWqNF6 zo4P%0>%54ovz|;+)XBC1BhQFyDZJmWAJ}y4;HG1T!02GnEZ0}>&RsvS$t^LmBRYHL z{m+XzYaRy*yMHy^vF5JV{km%pHn|l>USm{{oo?E7TB;j_Zn5o{vsOIA#b75ck*YTo&pO@L-uin%%%1oAZTALl zId^>9Keq!{niv9V>K8j1rfZ6-zWDBSe{Rn##jdu74z8>_dz=mzU(}raZb#gXExyk; z_4Dwaa#_rACFt0LW9+5a?v>ON*X@_8ze+uE6{%dh_L1qn)tlCaq(-ki zwe3=En?>w|NA7a5I~t9{-nl*QY)bxg(dI+V(qdkb4_*vs4<35tD9aJCB9n{fU-#@7 z4aTQ}duDWfJy%~dO=<7EwZ|{8mPj7G>&C-<^CtVfE#f)z6m7d!m3kgu7IO7o?)t2~ zxuLo#igVLJ$o8but~G&+=Y3O}9N#&Mhx?@t7|C!ija+iCK>O-)`vBG_rJ2cJ|E-=i zxhE6RnrklQ>humv_o@vQ3)Q(Nz9J`n!KV6JN9NrP)0Ka8b*%o8X_8^FEBwsP>h&eN zPZgNV@12`JV{aQ%g}1iO9C4eD2&EiOmUWNB#JOUkut7&^=K z)qDHvIxmei<4?Z2w(0G3(rcI^r3tKS=#ws_@ti5!!iVYBY#{QP0Jtsv#4 zK(5fLG6k)rjd>q>&rdb|uCB2@RT5P>+p5%%e||u4lB;| zvbTC+U%w-dA!`5O>lgpqO`2dAcxRDFx|wu+@Z%~wKY6$B{K+*4s`_?-#%S_xA;> zy{kUwg8eCmhYB-THafN3T(C!JN;Ln8IMXPvH|9)9psT!Q%l<}<%+59r)yc2IxD$h*Pn#g+UrE$5wO?HMdFxUrf4~Dts(-E#u==VF!0~O%v&! z<*;!Dqe%Cu$v~>&XX8<9s7&Z#m_#ydUQ@~y`}Z_>pgR}PPe;S!?I~c{mS^d z{5$N&f?mJ+sxAN6Z;R{JNB^(g|I;B*YQEp2ZPM)fn=GGht1djgYC(MaX$v+p#lA+~ zj^u=&g+BF}-|O;ri6%a8WuZCQA%_Pd7LX&w)M7qa&{A%4R}L43P4Xx7#MOB^D@&?i%ay1Qqo|70t-y=EDQ{s*&rSOxg^m| delta 26248 zcmeCb&-n5-BVT|wGm8iV0|x_x&Eof76Zr!8K(vd+xeZ&?85p*xPt0*-VrH1Q-lV>{ zxw*T$d-CMTvuDpaUgM(rmj)TpP2HsSyETU-GHgG#=qi(^Q|t+%o5Nw;_Ll|IreeDC}3 zf4rSTQP}1w_nz!qW}a0qY`sbKqksyZL(_x2KSz(hW52_{L%!gDdO=|3_aEmoyFNVH z!qtCnS>~?amy3U^s%{n!vgeNB+NhgLDTZc_T>!#Je?yTAz zc6>gQ-n;VahwYf3`!D|xQ}nT9*S5PGIs^{NUKh^#uKA$ND(;ke!)c9e%ro=K&HqX6 zD7^k-UPHCTk#|O61-rM*v8WZ=;UA(d*fAxo_-w#x3^j29M z-tb=c>i#L&x89xzEn-sjndTn+8?EeQj{*0rKxaxEH z{+5-$5whDiaj{Q@>%J_bHLsF0XU82i|VKfeBY&HLc@r(2HeALNypfBxmWwd`MTyy?ukPYZv@7PN2u(SN{k zeR6yDN;#G7yPrPVp*5HNMAI2UKR&Ew>us|&3)R+>HD_~b=U z-H$0g+In65ef_HJTb)jvUA4uY=bdBs{l?uJSGyg*{CV$_z637~mT=R>q=bux> z^{(b==C>{9A4cxm_RzZEx?cMvVZN4I{MM7g3tpWH7Sqm*n(r9C^Z%vidDk|-x@F6k z&0RA=rcUDh){pj6@B9qhYFGbdC+nQX{O#>_;_G7g9#rhUdsbmd(j_u#`iC61^%{S$(UdEneJaM_%Y3J*r)lW8@E3Z8A+pfIA zVA=WI+_P7_Ex*5SvS78|&dbRsd+RlJx}G%-aQ#>_`QD4-<-0Q4tGB zUx} zwE6Hv{rb7PEZ@}UJ>Mgx)~+18>(1B4X9atfPcE^ETlek~>$|EcU(daZR9raKC%=6A zmZwhz|CYqO@h`WTBY3CABI&ffeE+wHhl_01sXfoHd=#$y=j~!!)40E})2qL}xW2o| zQZ}eZ&T!h-X8#Y@_Lnqx+$r7po$p21YJ=DBBLe@+7c5sVyB#gmzOTNEcgOu|;d&d3 zf+O3$eLU(r``iK*zNgg<(zo4r-U=wW0G5H?SzklKP(c_l)BumBrA9O!*y7hmQC68mdG>8kURM8y{Cb!BZoZ2TZhxSfvmyEJ&Utq{QupRIMQ;(Dyiuv^ z%hm^no=W(=G&onswE1t*?eoho=lF|1<$G@R<)g`4{oIznTfE(iX2$H8v-kG-XBOvw zI^4;0e!834KE(39vxQK#itrVAyBiY(zlwXmTl7ryPR`xRH=mDAzy0}TQQ-@2Ip>{6 z7u5$C<{hcq725K8bGz{)gSV$U^EMs0BPciNXW&!i#|3w_axR_lc(q#fI{)(;>2GzL z%6WIivu7O-j);_f3n{Xm^Xg`>&{Nib96hJ@tc(mQ+cH_F&~9$AoL1kt zO9`Rv`e7PL5oQ*mfo&()SH_&%xl!_eL!7Ip7-MZvz1!@0R|IN4u*j=h&SsMTw8eFy z&zhN$H(WA8H_IvUar-VP`ucx)lf2OX^^Mx~hCBXU)2Y8)W%6{N;*O9g8AYy;V>^$} zse18%ZChZCylP4OL+xuFDv!Q1FQ0MmdNYfzb$rIYx%tbK_1(+XU9MSKotIv&`f>fU zo%$2+boyl}B`mAIyJh0{$8X*&`F?q!N7ZdT@18R+SpLMYZ3vKI6%zj?tu^JT z!9(HvZ_bbYv+ezR^uep-?fdlZo!#T+eR26Zv4A=L_t|3J%1+sD{2{Nt@_v;1s_$HR zA`4dkGkNfrA$|XJyQb-Wk<<2bTU_X$Ui74LORcR`rOo@NZ#!lEQtS6^{Z(Lf?C`{= zms97Tv*48cdcFG5{1tL9ORn)OKcx4}=zQ4xn<@PXJ$KSP`4#7+UCsY`)GvGclCRd0 z8c!`YPChnoso$%bJsNK5rD03ocQ2}UPxk9sdb?s;YQmBB56xz;_w_niYS$mh*gmmu zreN)|L-U_Lopk=_A#1CvKXWestI)c_U;WU^_}|_ws^{O|yz)`PzV5a?^PTF$Gh$Dh z?9<*c-*Ae2f&GKJ1AiNSGkynU6i{`JOF;TSy{dHG+|8xso8K*}z1h6FlwX*o=JA@s z;@Tr7Dz~}%;+{R$m-u7!GU4cic=mJekN(q>*l|Cv#_vvR;ew}T`E1LN-JD@8`_Jb2 z&nfB$TgpCH-n+jlcPcfLUpA#{@zcFT{^qG`@-EgKFbxit0rgfpPRz} zXafINg>%2Yh8TVY1$mS7JqlUgn;yZzxZ??o@3m3?MB zIXBBcefMee+Ap&&Khdwc@4xw>`0utSdVex9?2agV-aa79molOL^Oc(=n|=o~6okyY zefj3wtNSiIHq^Y9Z(n;;x^3g~za_U%7G`b#>h$gMLfN!e{^B3mb|mTgvX{?sz0b5x zH&K48zWv^Zi*8?gyJgRnR9?MfK{buLT;8_(HyppFn(W^l-1O~dm~v#%pPo~pcNT@j zJ>0qE`2U9)Q$F~{&x9ZK@w|Ss0{xlAzZajXUVb>^*!jXoB30585*E~Gq}lD~ zycDFdy6fek7smov?^*p8usGK?k6mC+nZ%N0-lHv@UgY;t%=gkW2Z`jKSwmNRpB!q{U&mDp-F$f=t;-#=G$=5VoPMZH4p zKc51I&KMEig4d7EM>}7YkllLbn7dxXhM3v+CdVvu_^z;Xt5nm2#TzFc5xTm$p?DU* z80)m>pZVe(&HFg~nSX|EnkwrnoOi0_bfnjWV}Is7k$SISDShb80d9rZB|2^)%qrJ; zG%rnZvtga_#Q31A-d;1CgKPI1Mk~+TbM}gFeO#MKyTFXZ_YKaKODFDKuY2X`^dyzubOKP#nFn;EBmIxtl*v-m~u+5+FQW4@wYp^xG{Sp717ihsVdjj!me z&#yBtGUdydU(F9^-JK}${rkl~f6rO+aj!IeFiD&%wy}i!Lvy;^kH5Rre9Xk$Qm#!A zG}qxfG391`pobivo-|`s|3f}5X4{K~Y1|L>OIC2rx^qA|^zoT|#^a|qg($A#vbsNK z@As3l48w_I>*Pxrfh3oIUJJ-UCg;o=4jJAw$@W?+~O+ZqqTUd zrwaNgJz(UiJDZ@n;E~(w#Bcg;ho1#!$XKkJuqkz}Y=iQene`JYQcpcO^6SkE?mM?v zSa&~IYAzM9zHy@nmuInK-gY@J5leZdH!O=bw6MK8#Na5kf6BMof~u4auP2l(sJeb4 z?h)^#m6!7R=Il}U$8+acx&imeV`-XVCo{Dy^%@=(lt0+aIZL%vuE$_o6yuIHa!w&+x;XIXExX~WTYrjw1i%aa5(GP-+xtQ~qDTnV}GqlPmkqRVnw z?}Li0yE~3VF`i6~Iiwm;RJB6#)i%Q^G4d0`&VOQMvDm8G&ERiyzEn@AaJ6h^RmpN| z-6idxr%jz1IL)$L(n|A&j_>QJZC>0*(`L@pcH7I6XYj1j@Pg)Bu>wc0`}H(#EsZ06)UCe4^W2!x$ezn?n z@#FOBM{-wo?o2qYmUtUk2x*pGv(_xzr@9$ltaAgCwN zvuVA4hVz~~OJ_}3zn1OgpVazw<N?4e(;hOH*3m=o>dZxxXXRGR+ zWLtjEdVS^;Gm#Z1R35wU-K((b{cjt!%NfFAvU~c>?4vIgZl2yQZ1mp7sj$d%$2}>o zy;IgD*RK?^koYQTk-6(*Yt_3Qr4E<8JeKbHDmJ4pv|wJ=|gyYu_WxJ&g7VXh1@8%y75}C)`E+Y0%ak;~+*2g@wzk4LN*6-qu6fuF8;=}T%mQ@ z)&kxuQ)@16Tyeo>k3quHqa1SClNN<&#FjcYzxF;5K2BM_pPgUy~2&7PAIsZLsuuBz>L#`Dc{_ zJ1&SEzqq|YxOJ9m(QAXSq?!iJsn>iLPm7d$zK=o1i|9%q;4*{Om~% z>7`3rk7x(Vd?{uY_l{RGES3$MsATdZwyWN38;?}IjzQ#%B-gyTdCzy&tz>Y`?77C)nws0vE5`N1JTf5orVp#})PV2vp7;p# zd(_Arc6ubf>55?P;)yN7|Nay&?`=Htocluq%Z$2vvy8nqT>O*bG^?`h|Kq)!^&hSr z*4p`$^H|Usj(U+$hws6b2_-9%C(QYChqHdBcDvOSp4aR1=Y7~d^{S1IZBI5%i}$Q4 zoDeZ#k&yONQ)4Op8GI%0{!M1D*AVxQ3EJ=ScCMYk*6XKuRQ#SM7=0=C+#|5N;!(Cy z(hdBsthv&*!uFnu+uKa>H0FD{ z*}3r-FI?){^6=aX_1!gQpVh6|IzJ|edS3}zfA!j|&uYTPl@A}~#4dS%L(t@rrDZ+9#DfzIOdyNvsGE_C~RA<7xOeCY_uL=eeqJwrc%EW? zp2Xi1yRCYa!n+GGVkd8VPr7$QX+`!D|E+u2_}m3|G0RHpw5&m&C*{F zcmC(t@$LEay?es1+&v&$z4XD=qOTP)^J+>jPI(o3Qp`2WD{l_t3LhJ;7Dn;k`&O*n zzeaZ-i{ZxPLh+~uT)_=wZvN5qo+3P zt!aUH>bl^6nV(cP9XJ&J{%aRcz3Y}^Cw|YmaqQujn!t%AOIxSMOsnh+R{qKJ?sa$Z z=Ij@LLta1XX0{Mb^E}X?{CD-iQX^A!!I;}Js}5>y5KE3JY-@XHQ?Z2CmoF|ZZ`#i9 z?P)VZ7Veb{Uap@%&9S(^`XGnb)(LOVZVF1x$(K1Uk+xy?X(36?Pp7$ByE(X2qZ{k* z?rITS^4e==z4Jm3V~2$yny1rRmDp=;o?xlE5MtbtaH}VvYel{M`H63?#(O_{yVln< zj`{lkmbEVTE$`_*%zKb_D(tn?miixNHOnjvPG(U0{wn{)RHjz@%Ke& z?c5^=m%h|#oWA7<_m@k|>%^L`cSV}+OA+k|zg3?lt>w9dW&2DnuSlZ;5sg$;3C_SE zMc$4x`_C0C#(Bm(5ZHHcL)Nu)+skTSuBY6HSoCd=zRbPQtry+Ts4!$p@a7z-bP<~V zOz2$JsmXPBojx-9vMF>c_0IbGgkjEM)+uoXUsVq-IUVD8&1+Gs()Ko$b9SfC?6}Y} zz4b_Dvcn^-`h7cYe9DSmbh2UNhYw6~74frDMVeicj$ALXlijpLcCoDIO`GtBd({t} zDr5SM#7@54G3m!?v94u0LB}>Foo<;Rdbl7~r6l<1mjy>puMaGpW2%w9{f_E6Gd7!P zGdmrFpDQ&i)LA9bWT@WeJuz3|qu%Eqe(aUmdGEsu4%TbuByiW?{ueKsc3{CCmUnTT zPvdKi`j$MB5&3ap_VNu?J^gER?ZP$(?M+)7Q+aOZv7RUY)2bKQR9uKTvSHB^H?6b& zVH3|@_wWqa`l(cFM%3eu2X->GL^l{Z)PyVxs3FWDDwdgrzO)MDN2^42m#PhzXP8NYFd z0++DbgBnHs6Z?;?W&yGmobD zo)JU{oYYur_AB#_RPike=mlbe7wo}>1-m~BZHO~c3GlvdWu_iJ97O|WIV2P z;OgU!G;(X%1ht1P%7Oyu0<~z`Ee8T0JbK&A+cavJ&)i zf8bC(Rq^j3&TVTtS(XQHE|?nAUj3Ev+LU=F^~Yma68_cm#k{VS-l5?pT6~K4)z!qC z1%7)jTtDczF>~=$ZlMFpVml_t1V1(4*%RV0UGRrt!8}#ZKb+%bl%X*mfA@ypoAI zu+DPIEQZU zq=~VOqMAW?$lTO^k7b7-h62hBhHsU4BmtaJr{{tm}?nD(gSKx;JSK-+_ajJ0zb^^5}P4Vi+EinRoZ-E}wPf zVa4yaJUUdNVC2)!Gq2!K>$I8@-4d6_YtAiVQ=Zc6o3|~X;iFk&vz2aAl-CoP%X*6p z?rjP{QX1x`)h61W5x`8RXD;t7v1o$EcxMMPX{A>-=}P0ZG6TUqA>gcnS# zUo{~@P0Q`OS?BT)<_NW=PiB}$X&;GYo6$VuaormG?yYyH znU~t$4>RqQzqaeo-RbeKXZQWiEBPaQ{#L+q)8KtI%f-L8|GfQn^Nt87pR@aIB;v0p z)oGr$&G@47PVM$3`2)rO6}eTnzHd|5|FZM)am(lRS7-OGobB#hJR_;4`0DxS%`^Wb z-JfsC7ZZ5g&nAC=*S}w}f5j}g?v-4)!@j}VhCMy=qHR|?ck8t-{@jDACN`xfpPo#* zRLMK<*j3oco4jKP{EFP=F(?PAZ% z;9Ql7=N`JNpQ-od+9#wN9NM^4qnWMW`pcoU?~3;(goS$+`d(f#JLt}fqL;<9r8@Jn zV?xCi*PDEiTf-9YUv<{XEdKfgCDBXIt{bT&&hHl4{M*ZUZOiHN5}mBPtQAs|C8PbL z1!rk(UGnH~Nk{i<@AaJL3OLft7{d+BV!Y>HVOKG)H~4bz);xpyFLpW$zdPOf?(}|X z;3Wg^H2bC9vxN>beDIhv|85K0jC6)|0`fZBGuxyTPVWj_e1L!5C11Jq{5w`U9i7W) z)_nT)t|tE0d*5$rSkxSSIQzhXCblj$=d+)JJ(tp;x)ZxBh^lY*G*3>f( zBM-(f`KvwW5_@-Px$v@s`hu71xfWH?7QL}^>afV;!g z{HI%MyjazG_J91bp4a$JWY*JM{vTTx*BM+qWN-T``T@^x)tX;You5o{-YdQj-&gS?W}1&wy|)}yNEKq7l5PEb<>XUNta|!70UtJ;&y)>+c*{yA zJ>GcN+UVOpKSeUtqE*9#xL@>c=lE~*%pfEevT`R6@%bu`K<6Ew|X5CcX*UyV; zcxC*KTE^PiOi^z7DqOgwKyXgWK8c0?*V>*7 z-BD{lTbuVJERg^CCR6q5tINtY<{sa&NY3l-LJ8NS^7DQ(ey{I6P`dQiW`z~iZ1s~S zKfbkX{-xi}5`KYsvPy@Rs#n~4aq->tg6?l?vcK?8t_XY;ZkLkZm~5E-*!gwBLv|mz z_}3j1lV(+aVCFc-=yGQRmq@FZciD5l%agd}|8~kviNC|DkQ{F*^@dAXa+m0XTFbLs zhxfGT9_XFVm)O8}@T1q3`qu{z-A}uBb!USy6aPtx(2X```(KJiaEWo6>db%prXc5* zC2wE0vRudQ*aNzuJ(0J1rfH@2Xym0^H!jw1ovj`7XslDi2~W&(Vyz zH05~BKW>Yp+=W_Jm!~iBSajjibG<)T>X%O6Snd-V?kQ{GdBO0yUW2h+)-4ye0@j1J z?}`uPO87L0alPx>%NwJp%gyHGCe;4#!p6caEBD{hQ5H8{vT$|urDN=Q$xjn3tsm|> zAP{zWv;3-qJD;?P39|plS?wg1xaql7spjTJCa+^_B~Ly45c%xN!Jlz0k`GL;Wcm90 zNBP%#t$jS{_pK_g+QnOWTXjQEtvaCk-b)1CLc?5wumUF?7Bl||{3usd^i zT}jo>>WMlokYaK#Q2lG^^DKq;w@!RId*8Q1UeYhY%DFy!4}!>^bDB~#unEls{KnRSQ;POvB1o`Y4Y@^OFp-9=Ur0aY^#{;H`UIP zuio%ub>vlHO$(34{yqFZs?9ymZStM_T<5HijjvY2YlGA`+1gj8an?VVDZh0_Li9k% z(5)wpHSp`WGg(k!#=%zf0|>$jJtZA&@(Q1Vu5r^T;3SF3Mw z8D{xET48+dnsKVe+V|%=neSeYT)+GK*AoFnyB@D%6P>h#dxy@RmE0D0Ht})^{kW69 z!L`o(u8_%6&YZn{zh5a_f0$=;y`(IWK+J^ZqLk>rJX4W7h|&0ntS zIku_##+?+Y%|K^n`>OPed)tpU+TaAZAw3NbC2gECXHuFJ2!srcx^u4#8ZJ~gHoMh za81i!cMjt~DT%Jt8Gg%}wtK8HdS6zeHDB|Jd9iUrJxytqnrsqrXPeBO9lPF~=$?FF%hv+8f&|URjZ=53>PjS58-$rnT_Cpn z*Y1;DZ*n%Qk(vA~K}Jj9#qQZ`3Z2nHb7t*6dS`Xdv{bcqn{4 z*{-^wH*)@c?!DrrbCk`>q}falbN7TPIHmar+MG7-Gr6M4U~x{Y!0S`OoF(%t4t;sw z#4Vx`ZB!IH>A?9rM*s32DLbx=7XM}$-4Wv?#C~6>>c4>F^-BI%7k7Sq@;8?2&%g6( zZoe;A=k1BEms_YH|HN|XlkMD0za`UtFn(u#_rLZJe>Qhwns;Qn+2n(2Vl1Ggdy{Xg z8P;3exuxQpQy_FNCAvW>@{@;A+n--kb6=>fyDPB4`tHo9tQ(fRmywmNea<94Kb+An z%ITP(YVOjXj-h=DA6N9B*t6E>*x$$gr=FjS7cVh$mdp8hrJKp)h+(_a3C%wqdg^HW>;m>u8Hr>>B4fLw#@DfWowd9aVsBLb_{i%z4C+Yhv)||UmcH8au zF*z(L`NusDC~Q1?@mb-bsOX7G(cUbN<->xzuI-I`tk4(3!^?JXM%$^ffHlsR9UTEy zuUsFePbg=MKRB~~1^Z9ApGko%wN+I`|6V5iP;~k1y71Mlo9bUv!v8#GXgS{Tqk#4A z9vuns`9Ztfeu+oFUu4+hUgzhlH=~4c>0}F+&#|-A7FgOIcZhnT>l&}WQCy(w8J}E+ zTTgJAx24c0CL58c=-cl#;+^fq9Ou8unSK3&^QjBQs!R#iM?7MJ>*b&ECpg|@^y8c9 z5EuKx^6hr9Ri7s9yRx6H=CE)EXK)Gkgv!p!Z(nAw-6tx1UF@1x@>J%+)v6zKv!-)7 zHgh#DpTd^h8MM+}eF5KrKsnRUEi2z;GaIyX?*1qAx5mGq+VL@?bLFEl&7%SWOO+#7 zx+ikW?duUwJ*>I$ebv^WQ~LFtnv&b)eQf0xOYCl#>Q?wR4^ z>9eWPsD3u%8E=_9al_yf8LRB;_dCCDs&{scz3}_)q3sidLnbGkD!MR3t$fAGx$`q_ z-K=DN9@QM$*5G}0aYKZOoYRBTua<}@YEJf8wUV*+$bMI+u#yXL?0QG09&$Q-^N&ChJYb;FbZy4W~_;}ja`9vH;*y*?X7aiEHA{yLu z-SmL8#OVo2xyt(juCp9z-chw{PK%wuhVv;!Y|R3v&zA;#3O~_tP*7pJ;71o0F0b=i zI@h>kUVKm0ik8~*uV&r<^+ttvS2~C0{8UrFI_LP+>36TqnDl?znYG_0vFa?GZ2EP- zpm1=UyH#j?dS_t0(F`}~6M0XjPjWlVAar6v`IecL6^Hlw&+M*|7Yc66e9*aMo#mFl zb*v|BnC!PJm{&KXoPTE8EA&%!g>d!xeL4w72G8DKX50Gl+b_L2%0;U0pWWlIee}QR z??TRJvyZo)2%gqHW&73gf0@tCud(l6sc$;11lSM}dL5ZV0u_0N0_fzWn2LZ}-@Ky=SnF_v3pz zH@AALiSPa2%}u<~*tfNn8>=OW0R_UrYb%cXP!boRGK3Hoow5 zhqC?m(1P{u+x^O43TFSU=&uho-Vs^F+_N{mG?ndatN4$F(h=MabJFWC9MRi(dHq?7 zeY;G4Y!$34-+J{D_mbLnvAweWA)3E$%39p|Vt4Ing^jGw{AK)?KLpNxq5u3h<3Bsu z)f+o^mxsMin>k1DO(b{yh2K_^Urt`x$(d+iDbFusdhzCqNZe@AB%y0_)XfHhC*J ze2x3795B;_L-NVVr8VX0ySKc^`}4)U+3jY$fz^M80B?4Vb5bU2V^|p&jwmuPK$cB& zaBzT^O*0??4h9B>$@My1_1^uL4MbYM|LHn$=Gu9iTM?OVNsSRaOr1&_R|oy}Gu%=3 z)ME0d_a_%?%D!ky?b}~{e&=<+uN8K;p0GM)@42nuC*gHKbA7LM&V}o5tM|C|f1Q2G z-d>tDsQRkxLD!m=8!FB#v!B*%af~gvWWF|YX?EX*Q!AF(H%5Cs(bZL79BEk}{kSgg z!gmS(NtgD$_na>z&o^ays^{{{tXE&1n!77O-AkKG%&mP|(V>@z`Z)iaUpaBl?bE&Z zUbh-P+nb!njI8SQzbIzpzUMXApeZY4w(+1o+pp~!JA3Lk7c{;~-JRUCYu2F^48AfP zHX_ct67h*)3DfdiwSv`*9Y6JmRvz>UtG{S1T0EWEg2VUA!aAeh4D;2bX9@dpDRER+ z7_GB@zi(}K>_k=b6YoU+@CQsR`u1U+aaeL;;m^w(FL~W-iB6oC-#S5Q`p+(dz-3Bj zH*H$PZKlqY`{=`#4et(3+4gUb=pW|u_MbkTKKe-hN$JvGOLexG?&te={h&|0e3o>( zTCRzf%giq~-smPgwH9xGx;Qc<;q9WepIyKHE@bUKC$Lug*Q-S@_Re4Qj~5iNXT{wb zmohRi1TmvW>|}2}_4=FxDV}AUuH?N*i2lyL<>-a7-MSK;({=_eatJKjbb9Zpyze5_ zQ*2N2X->RW|HQ)gTAtqomnY?X{QEyUcLkl(Uze1XYj~c+d)hYpk2&1xjNG0=x^L&- zuX%2>Q9o?{oXuZnu~Z0dQs^&Kn&T4_JSS3NPD=Np;>_nZkp@#H=1g2rFOkkIs1wm8 zth;5!BJr#hi(ECOwbva8&1_tMBqFhM?a4)_KPqb%gjzkxFb|7JYP`Ja$E;q_eWzAz zPV+nPNQCp!hDTkKp4`23k7J@4(tgi&yFu8l&QTEzdD9U7lKK=@%HfOf3F(MoCHTV!2t( zypI+?_Gx^*(1`nZ`zf6@r;d5#RQ>sVq?U2+tK;3zfA4to@y14#ZEm3lJgur`vF_43 zFJZjQt5NCZ)SbcStqZ$fb5)sh+%HrzSbw0|v7#X(K_b0SJhS0*tb;{`wsYL#opVao z*FOuM{&-4ZB2Q$$e%XO@SC+hTJF>+-G`KE5jv}_Mo z=d~Mzd`h>?)GS?8CpKhB_RRUI#uw|KcA2k_x%vD=DC?^vpLH!8h*|6uXM~%;h73%iJ+*%)bZsAMzDG}=fCq>@hvqg7>kCd!%)!r@g zi>IXe-@dTu?zSvu4?*=qoM&W%G;UAS*?c!qd7ki!ho_jmir2I9-g)tGb;pzrhO9ec zg^QTJuwA}2d0YLyG!vT!mDcwLqOCpZS%xvUmY(`<(VzY!{EN4pPd=-0+pX6=4}M6@ zp0}A-@S5=+SI#bnW%u9nKG+*^{o%=Qi&L79+Aa2r>@@DayH7>`cK6*)^CCO0Yb<{% z7nQB&8}{`kr@_)~ZOc0rcPuV>yd+?WfjEoVJy-Dsj@;gJC!{c`))(>H{WcP<7D`Rc z>ee)_o>X&IOhh%XPwBCm*lHUmCFAO8?u+r)688^*7C(KJP9=bYIXa{DzRv{gPNbNxqOhhEz7m;vA5e+)6)LToTJ&R z{d*I6MQuMf|4=ntDZ^#@2xw# zB2PWwdvdYr?Lqgx&{tD#OigwRn=Y@tm(|+P%eP2HQS;r3Z5_{kY(6jV{^;eU`W9KQ z;HXJ&uN?a15$>CA-u|swAcU9c^)y4lM`b=Xzpusp{rh|V-@rnd+2wLS{_B2vucRB| zAwOGe`SE2(b50m<=09(Id}HPL%#Rx<)~jb0R@FpR?0f%J&8>P};Ej2&zsJjONPiXl z;kx|)bD@7D^7tQqnD;$gewOyTl;+Tu--UhkQ`1ZR`8;N=WBPb?HuI!q{s$9UB?E8S zZRrU*BJcFUHvNkG)8*D4=5sZUSJsxXzf`;a`2Vwizat*;EB^TZdkOnpfpd9&+nu(( zeVu+Za;~M+8+*mQ52pmn8}rSR-QL&Wy>RjQ30oKKo1Aht|J>x?{Z7_>&!QJgebD89 z`JJnZ*Q}%dmSDxv-oJLWt(z04M?E`pdr#`4D~A&mmQL+mRh}u_sKL3#j`iGRfnqPA zHHMOlRo*nd@z9vRYjMm5IhRO>D+^xb-@dWou*$8DrL~=XfmeF=MWr8AVjefIH+ z->h3~zwk?(G_QMi%+PJcCaB{ zdnase9=Nk&&i(2VTY<{Xrt+dhZ>RMA@7O*_=4T)IXv%kg-n#pnYUE$2G=KeiYo(*s z-|wc<2NOdzLimo&oA)QCw*Hv^KgGLOa#!B2*b*6cs!Gz?hOO`2g)r9}jQ)-JS;Ey5 zkL|n5n00(-jVMRaq0UH-qAAvoiu}K_38nqtvi91xG#)Ld z`vupJQdWDal=UC|Qg(ta_z zT-rZ*{p`iJ-mVQxb?-4+eCW!CO@Ucby8>4}b9A4meI|bH>hOt|Kb3DgxWi$+o}S*h zyJ^WcCz*LL=j1dcvb$pTz{XPR#PvYL;4j_@2!7yvvE7 z^Bwwj9dA4G>5uVo>*7Db)lVze{ra}&5*KGoZDMBgHYAJmTzBJKM9oHNLivUu^QUXx3HDy;p1ESjBSRYnI)8m-Vph|K=mF}E3|2e}*0ljn2otTL*Wo@Z-S z@kK2^w%TmY-nloD)4yGNzrS?(xsKtx*(_{(eb>A(HS+9(H%<@!ExPmNqBQGLw!h1ai(Z^f^S!`uw({o2$G0P& zE>3-{;B>3BZC#J98~pqF)oycn?Oy-PXaAbtrhePJ zz~Hr3#)P|}7wQ%2-ro2oAM_^MO#kG`2lG#NFO9E!yyp9&)S1g(RUghwGd+CipuRUPJGl3}%NfcOTm9n02*2F0SM^|G67+VsiW9B4qv2_Sr^mtM75|ov>=z525UXtvUSvDyG<#T-f}1(f4}^8#ZYOvYVbXaI)I?tMrA}bK$()+Mxw$;4}^ESC3OwFGu^+?X9 z==utyS(lSc4VeF4kUU%c-)ZU8`l~zESh$@37a+)15^yMlFM8rb)rNp3FCnPDo<{?4Ok!M&Tc?y?qtFTR;R z|FB_QVFYLW@*;WJlDqExGQSf1r>wJ`srhy_b8FAh&zBxQeDU+e1MBKn=jyz~c>Cq+ zHO}z9P<^%6Sn;eQTkp-w1!mS6`*e;Rop2_qvA20vuim3l-i_~1W|izNX62rk*Q%O7=lAi6^>3dV)|GS`bk5G4Yh#sX|4Xkk zx~+%-|+0!fjJ7n-bZgXw#n$B7`$8uG@_1E^~>Lth4@7wHd ztls}Xvo@9YV58u<=+~U@s{407@q6j^`ULM`%e4|agR5>>^*Ob@J#@tHW%X;*?OXTV zvHW{`dwBVop9eSkE;tpu{M+8e=Nx~WtCRUTC(N+-P|o25i`ji|p07|`eCtK<#fMMg zWOp+MT|N=~_q=D|;q(s|7gw0pYkm^7c)+E3F~8+W(>De4ch;L1GYcuS^lv$KxO3N| zloCl>@A<}eC*S66`|kY9fsv(Xtw3sF_OFc0r6p^xF-B{gvOKC46ZiX2#k(b~0_QSJ z?2WhD&brD~S9#Iy%c3Q>S&MEge)!jAF6#^5Kj}Ym<90sxk*!v&JF`{n`?mMC)xYWw z_$rnAZ(3TU+qvyuR*SPXz25Bqz%MF7ZQ{YXCmr_e zG>-TxdN?<0=9U>DEvX%O{!2oeFV3->vuuCJ#+~&UYx&P#W=~K0?RSrJ)B7c^=PYLz z^gcVGm=eXZw^q@+{NtA6<~Kw7y;x3e`SCNuYK{A{+?l#>Pln}g3p!)gKWjO6-aMYR zhdbm<60V5c|6lOs?tb~$|I0TUR15wy+TUzDw{M`ENQ# z-L?`H=XzS!-mPap{?YNV#5(2f*Y+0o!c za+L1$O!MkL8~B%9U7Z|d3*uyK=3i#IIyuUCdS-WphU)grrS)&Oy4vhm2^$s(B?HQulE<3E?&^8Zhfmq^ySj4lJ%c?_gn8sSn;i+ z*CuJRd)V%avsKUDI&^lPXMJw=s*2RsjG4k7s^PN^{rY+N^xj7-q05@xz+O2&|I(W9 zZ%Te!)~4&L*lB8Vb0^w8JhP}KCHl3tS;)da|MsuF%K5SF=Ie8t zmzpxQt`%{OKGm{++o}5aKgrQIUxZsHtWkVg-K*r!ov*ENKZ*PLgQ=UvbL%y&_gr4D z^pt6%>x8*1>)Dge3vPY+`oh(-Q*Dn#H%)#Ux%J)l{yvsE)r|V)xo?V_wlUo}xlM42 z_}!D+G{5Tp?%M9FD!G9vb5Bsu#@cyzJ>}O~mfkM=oA=~@$&y1QkL~=5W_O`nmH!vys(vclQ(M3Eh0U#PL36&|i0MCjWbd}A4|H=ro9rw* z>78-S=P!#($)nBI6>)WDX|F85CAjJSJ$?S+yyagO+w?Df@LTKEnU62SmVbU5Fun91 zuR3#SN`0Bz<{J_+)42ZiuIqThXY*3QN-W=OSFv_+?3SgUyA~asuC*vP^6)Xf+0!*2 zC;0VEe^uWs`HFk{)e{klrvegxh$S84+L+M0nPbLsySG<=J^QOvJ$F}vB=5nmozu>X z#LQRSVYh4V<<+7}GnOB7b?^J8!gu=Im4bieZ0_ulGN$)!HhJIH9ntzz1C`b(Bhj{=K0KcCoZbcbnG14ql;b3_ivGJo8Nxc z`}w~@n>l~(^z{9^^JHl}i}<_n+Jcbb!Wr< zy}@kf!hJ{^i&|U7CmpOfsi+vxZEG^)R!U3Ki4?BA6uzZ~z=T~vQreBtZ7(DK#0qFL|0I{EE4e?9Z} zeeWVm&rjN%{&0^epJ3+IJ7Zpsmj@^owA)S7szQAo?QEh1Jwx4I~<9zHx zC#rWCtybbW%Npi5?R5YCP{*G8>dx^EGTHX4>!bU2%kA8?GQ?YMVyx#Bk406JH7Z$3 zS6t;!`_%n-_dZ)8g?_z7?b^w&?3tDb3S8HTb{91Ic42y-*_4-GqT^dun&r=#XFRV= z{y39VYH{R>+dLi)iQ2X0Y6&`5%-+B7p7`&reR$HfT{{IX7|bk+PpIv<6y|tk*|HrO z+VxWATodbk81!=G{%!jrCUha!Y}(`bEjNn}oop-5*}n4K{(A!16334(XyxAfTgH0T zg>Oq(uNdEwxT1Z1(E{;JMKkBuHTv-HKX5E8sB7YO6!09`~QFLm+tv`?(4CB z<=-z3?5(c;QvTRy|KIuhrT^D1yuYp_Ota+224<_0Bd;9Fi%+d$ZgML5@$dby)D2}eJMjI;`u<6!CvbLmM(EOuS;D66lN&#;{rI52 z-u-{Y^>?Lqak2~FzxnuOd3U+H#Os6g_wRnOdfR}uxiLxcDt_E`^}^;?-d$XW-I|ZOH6H|{qsL6PhV%7WL~rPBbx2lNAz`j_ zLQA?nVR7MZ=DZumOa)WYU!3OXYmD0Hx728^SE|+3yr#!5UvzsPvaUAR;@%=;x^-<< zORR>$wkUpIA&*rm6G9r-O>!`jcNB_o*>zN5$udR}XOE!YiYxyLyvTo09aJx)w13AF zzsWP-?vCr2wD!UA3ZJ@+$6G&LH)2*blbc<&(d6b{oBF^l`BBR0TItp<#ku}(W?D;r z>vlbL`SSPuO=f0M`|o=&OqRa)<#P3-G~Wf<`&U_>tkq4c`MOBzO;Otu1$R02j+2ik zXkOykcxZ~6#e;)>Wvo_Cq8f+0HEzt50VB>0#;q<_Hcb3k$f2pl^TtQ)jSm|biM_dW zMem<$y{6q9J{Hl(ZLE>0%o~jJ%Mb8Yr!ka$;;EH9s28ApZDq)^;FUhhZ>4Tnyz>C} zcTd~5_gYG>|M?Pkl+IHh3rg4WCuZzArk#&`MxcbpUm#%VNhzj|g%<-{)y~6uTVv>=%`vgM2SY7cI zs#&V%yEeT2T=I{iu=Xg$_J~U^!Zw_z);YMZU`nkJRCVlD1|e<7rfCxd_FO$N@sdgF z#05tuEjT&>j3y<_y7hE&g2D<7bDbkv(i0Yxf}(dblMpC+J(`fCchZB`+4auXBcyJf z+GR2&Qqs%Mh1;n)b5aYx+KNzebng!*UFYZQ&e|6I2f>jt2eAqV7+SEN0rW|6myo=!yfIbvU+@H zJ{A-voNRwGq2q*1N_-7F%R0uTTu19U4VOK5c**>Ek3{wY2BF|m{d&a=ja3TeIwvfo z3zS03+5c>GU$T6K#zl=u6GfemKKkpO`g{7RZ|iFxA7v1~ojcWSvgP%rC<%tQqG>if z6E@zpTk>^z(&JqQs*>h$vD-ba*xfzNk`!4{QCD30_oCIlrb_vyQyuLtS2dbB9+tKm z)ptDIrxdX`Y3B+KB`3y9N5nWoro^@OC5WC{aF;=pvA?Uq-F1SCt3qK$ou6n@fZ&D| z91$TbGFr=C#xaJlC~9$i^xzB-yz{Qf{#(ZvMy*rEVrj0f0*jOq0zpc@35kkNRAoH+ z`p!z%yk5=r&hA~DDsjgp4Hr2#`7$a$V^ObvDezH0{ZU2Ny#w<_E;!VSyyD%hDi|jept$| zMu9(U0=xDM7HtiU31|OQDQRl)tx;ePo4~4lqDl100WII}pTe`+7IA$#(bThKVj)kW3hCqAky&Tu;lkcr*J^z)v+S<1@RfofdS>utQ zim$}P1x_zRUvPvi+)^U_Xr;i%kd8?q9V&kLbAnqXv|MyVm8NkCy0>QT3UA;F^k{Xm z32G{l-gTF?{tcr@&_bK!#4s%vMX)08){NsT4Q`x$`XyyqS#7n^hP{rH|16sq*TQX_ zUuAhcr9R8*N`#Ax?vkSd6R*@&R0-;x-t+RP``k(=9*rb15ku~-8O%pb?rJl1S+KY&%4s^*{}Q+lO*|T)#KY<;)1;K< zD7bk+$9E}_^M2PET(z||=FL6kSoq|EuKoMD7oY!CJX(Fe@LTco^F!tJ6{xw3b;gN4coaGI4Zm5?mU-P&uMiC`Qx4rPm#VbUQm{&6xXR za~2P4eVyFARficC9b*C`#-v%#L>XLkSzHv~MRa7E9dv#hRu}(9@FugxlyreJTtsb{r=YWXT+bIC+3}<^1a{K{o=lZ*DBV;d=t5G z;hyL#*>(RPRD>oRtF7yOzp4Ckz=Qru-+1La_3xBpPH*sv6kO&0V}ZBvPjv;qDp9MZ zP>rKAnR+f)g3)A&<=m&%WX!yN@Y1G39)8a~{L(!^=(&fU?@z7?bL1w?5ty%Y$|`2d zr%T@NIA>hWFF&MQ?eeGL`4dV0&7bDTeVTI)jP^aY*{-lfb&_JoSIeZ>Z}$#N`%o{j zxhg`G;cBzBl*PR{tM|>HD5U(nU24rY-Zks=MHr&j?ulo*qZKiA_r}z{zq^7TeezW9 zdd{1<>;X%t=Xxji4P2?U8n!{oY@uxYp>9H}csln7)%uAh%{Y}X6NDbj(DMDxm6M&> z;-h**dG-IZC9B@?{YdWjkQbN=N~VkIjhq%4MSxM+oE5vi?7#Q;N!_=E{+i?2aq%k> zEoK^ayWfzsvQ4g~&sm-6UK?ex67 z&MkYq@->|HZccsq(^QMX4%sjnx=_w(%h~jcp2YRzu^lC==xBN z?8wC@7tcPqc=k*e^Wa-cQ=W&&vfc3!10%jWmrT|(?3k&zgR}7XDgA7d{HNcK%1yLw zFso!cxaLAy+l91EVD!#n%U=1Lf7@ri|FT~oVR7J+RjWNt@61#)D=pJp+}Qgg$So>= zLvGrZ1BOo9cHh{`xz4xqh~?t6m-QKM_Zn|=@B8%NhRH*=eTl6nEaduL#oXQ}82#Oe zv0mwKk6y|V(M8+VF4+^-bHF2iUD<-EK}&UxJX*486>qV2RO6A8Zl9}fi77F$7-cgV z|5HEz%hYhCm{od|U`fQK79P$olOe_9_caYHy7NG2tqNz9)1vob%#t7NE$g>&yFQxc z86_hbr2|GXlFPOpdG);9Z5w+7esj?-?7lbuM4 zMMJ_L|GwwG8MpUjwC>5+2u5oUcHjIJc`k3;T9x_sdp^6Ln~-pO$<4h1%@Sd)tJ*%- z-HOTnc&6i#eAJ6L8MadSdZ$CZ7iSjath!D4y#a}J%t%72z!J+fo@ zkss`?$F4;(uKDrG^()hu9Dnq@vv-n!TW5TTrR~|D{_3Lh2pmA}18?2w-~J zpbJf!{*m5`HX0~Lw{{%`)wKFk-^TBr*}Z#Tv1ZuH`Wurwjc2Mq{kLGsRjbo8CpD{G zsN7?eRPmMl>FR5dGOOpMDPP!izi`#AeY?Wa4*%}-P5J)jWKYAI*^_h3p6=?m6%9+e zf3mi1<>PHhS#HrUdXS;(`ALBX6h|iShAnInQOwqU*~fFYZdc$)cdB1rFSyi8>C~K+ z21Sxdk-Xc!NUWCK&YyX4z+8ST;A$y1rm{gK+(X z^m_3`{hy8^hGIfTA~f2?viHB5*bsX$YRX3ctaSDq!4G7KNwTjieM$2nR@ zKIkP?if`Q0ZE?@{a_!d%E7N6+OAU{7J3SJ8H2LcN#gkXEiXDQSsj%YnQDSkdXcz!oM~bn4VG$+ZZ)v^C7X%JGv@kj(Wx%ZF->a zIZi&{ir*TMdJDt$)iaKUo_VD8tiaUw`&H(&V}Eo6rYtzBxQ?svMAMngoa-Llj{R^# zZlc|R(8^;I*X-zWjybBcE=erBuy?hGDq~Jw%+;uw1ye(0k6-;+cxV;Nt#1OMol}}3 zM6a&VQtREFUl}t~XyS-^FP#ZC2h|apw1?YhMYfyu9RM#u*~I+R5|f!@dGjuPClHpLeYKyknJmVW>C@ z`%GQ;uCBwOa}S5kJqkvLubSKqW;?S+d6`7aRp%JdN0V7+rVGbh%`ZQwT32JD)P{N=fxlPVs0?^{8)7^;n$d;nKH$ z;wP7zVlS8uO?c^fzCrP`p2Qu_wj*sTT6abHPINMwf2>aT%Fe|PE++MbiA z9l7}1GPGl%XZKPtT71&vuC~MEFptSiHk&?~WY*t>wmyA9t6ZGl;`8tJ-Z+)KrfmY3+pUNmE)?0<}{l zJ_S#^(5&wH6Wn+gNnfNP`EsMn$)k;yUV3~wfs=z+K|B-v4ttrarO0+jA1imirlJAEw4NYn0$EOMCP8PFpaYzlNHz@Jr|Rr z1{+Iza zK*``FW7`vk$f5=v%LB7yuJu&vwFw{pHf8<06Y7mdjUCmjrWclbDY$%3_HW%FBvSay zM<)MOF_uv06z?JDaPtaUjcj1I-0^Z&o zOI1Teqi$Ui+U8fi?3>=Lto6VBa=-1$5^!Umn7S`Cn;~Nw$wm{y4Ej6{ERPU9W$5Bw=FIY;v+~Cg zo0>-|HA#w&70WbP`!HEL*e2NGnZAeJ`isIpm{`++wiO!r%8?We*JG9 zZx{tm8P}z-I>|68rZoy|cIf!dz@e`fdSTK3sA*SK>^)wrm~_EVU2qoL1xtl1g*+Vk zdi!-&JH)Z+l;5Dmu--^_pCYkfvyqhvmt$t)cZ5 zceH-;$(X9GJL00dNZ2>&*e`{M?x0IkCao4oSad8Igr*&F@x687&zx0<6BZpy0;5Dw zKka~v?hzNoa}kw3SMngu@&hiF$NJaISkXFT#YQlCtE?8~VH?RW(tF+EqEoy2>cERm z)s0=b?GL?7m~ht;<*yMpC^Kl|DkDmDhJN4*{CM8t%Pq|i5M91Z3Fck za$YLtaDF`QdY^fZ+`ssctvX4{BwD4|A>8EvXcGO^W!s(KD5Ql`v0tZ zQd8=7>P=$BbL)Hjvv>XKEKaxY`_tRF{C6O0MA)Y&O)eAjX-5yp-?C-c>hwG3`p$U$ z#NA8xdcBf;vf8o4vc9PxF!6w-k3gMh2Ei^lDxv2r~h8hcmHfr${0D_Jt^EFw4Q&pUe5drZxo(r>?%H0;8w88%Vepy zcQDfm&&^$}%gPro{G9vBa`Rc{&vWGe2H9YWgs%I@fzTP1bu%x$^Dgwenpki)r4WRk6zKYX=6a)**|tONi0s+= zHOmZLm)$=#w=U?wg*{X6zpi%q#=!GbGH-L!Ldm9uC&6f^bHa>mt0o{!)bcfR}2 zbeGjXjcRADb3T#sYe6f+Z^n&>`QJJR71|t4f6%_~#fcqN3b$nM`M;THB(aOx{eaP_ zvy;Q7A3piv)0ankJN9jDRqcJi#T@g7O;hz?z2c6b6{~Jni|eII+L;T8Zd{x`_uOge zE8B})zUu1m2(0Ds)p5)}{PaMKLe~9@{7qXmS_M_Z6%|~%)j>$xvt!zpjh`$-+ZA29 zRl!L4h{@UTzA07PCI*Q+cZ7L#IL#4Et50AouRHGdI;?L0d%>H`Zd20NoI2GJcA}$R z>~x3N>5glC#!5Sa>g(6qTrTX_4Hw0~Qz4Jw)Y zKLg2?phS!6JW{he&KP4?WHc4EZ{n?%!78{

8^&Od>`fud7!-pU zrfD*q7FnR>^RbF2cI*0_`SV<6=W}$-54Sfx@l|2p?~hVRq9)g}zR&g8B~!jd?99)) zm|jLxwwyLb11^V!Cc+*}%uB)-D(~iEWOI;XR_JFm=wuAIb>TIr?E_(j*2Ru%bww22-{*(v0_Fv>qqkFaG`R$oD%J zHT3y&ere2S`}eAfGvZ=k{r2!Tw-(=1ZF(QQ;;UTzX~A##>o#m!cWix$j-{R3R;lu! zZJVA}F2C`$;^_KkOgF<%FbA&xa(O4S>q7HMX|H@3CVbHBKHRgKOZ^xZ~Zq(M_3J!Q399*rgpuY82X;;m9hOZ$z zuDLNTI{D?U`_k7v?MIy+xwkmRdA~`r(|Wp>A@9kpn$LWhZD)1U78kTIY8rd9s$XO2 z0hL5$qD&%(ZMqWWjur?V-LOURrDbTlqv4rF5@~@v#TwI={mhCxv4fvkV6$Mov&I^q zcRM`oxbB~N-)pN>&ERoqmX7Fz0uGNEtSV=igw}ly%swVIo$v3jcXta+!aO7_=KNf@ zd`n&f(>)QXM-IGCViLC8>RwVedvTTLRNp5THd;@KU-y#b!};V zZ^*foRz6qOY!2Lf&h4y~xasoDxK8y8RTAc>ANS2Za`xBSKlg4ZZ(=XpyhY8sclK9< zylXdiM5aGZ+gr!9_nmOY5})?P6Jy_03zW{-Q#oVKrWe!e-SeyyjdD`&W*4N(8MwaOtdNB<^$){X8x(YDJyiI9j<@;wB;0=xR!LzikuA#Hyvy}l{rh? z+F)smx|@U+$OSE@j)7co*iAyqJA2cWfSVl7sm;7odCfx1u5nCtJT|xWU{(G$F-g7s zWyh!gV$No7F^hX~r?|Fy%TD(I&#)aX-@kiX-F=bYtm*DipPQij`L^wn4SL5O$6tBh z^`cz0K48Dht4!7v-zTp49yp;Yidi{B?_We@=+f(=3tpK9evO*2YS%r7SsQ;$uH0N* zb@x`>?rZEuI}XN9P6~J_82t6fOs@2@qYFNS)lPKdc=&z7#s&G?nOTzSi+Bti0@g?W z<-NZ4++K~^cd4nj@7!M>bARSuQJHcFm5A@WQ)Ax6uV|T9|47^Tc(~uat>WD7=}+pD zt1SX+!hgQeC_kKES$zM}Rh-DOpqzfLa7 zd3xiDLY#U?uH&Ame7laxK0o$q_vC{YcO*&E2Ttzo*4cxc3_w8+|ElJzfIjj~|^veGh(Drtl^^wzd4cZsp zJ=_xZ=|UTK#`mWkET8?BMrW3 zqPOm@ao9b(^&3-0=)${exwh=y`nSyebiD?9sNyL{(T<`3#z4Nd(=+yQ{b|!?DA>W# z6fGpi7Mf8W&{)RKy5)D#oP(hf=>@FEBx4R(G$&n56@3;O(pV`fYOwy1>d{A90Xpj# zjy`%DoFlIL=)2x`iFMr5(ziTyOs*{XSh9|Ldg{b^m#bd#PwjV@mi8*I-sBxq?aI=R zzjEv4ANyT6wC2hFr{(rqE;sM$PfFa~$0~l==4bxHzO8=?_wFuPlb3f~%juxF-?It&baV5U4)t}%gM|0 zG{8Z%<$J~@Rz?PfW@ZKk)Sy~qIr)8_6hsqmz7*3#tI3-A%3w{%5d&KGjtB==o5?x( KvTVtjARz#oR-1(Y