From 8d3458a20748b9a05aa15739149b5c082e570c3e Mon Sep 17 00:00:00 2001 From: likeablob <46628917+likeablob@users.noreply.github.com> Date: Mon, 10 Jun 2019 02:39:04 +0900 Subject: [PATCH] Add files --- .gitignore | 1 + .gitmodules | 3 + README.md | 99 + basilisk_ii_prefs.md | 37 + config/.xinitrc | 12 + config/99-fbdev.conf | 6 + config/asound.conf | 9 + config/fbtft.conf | 1 + config/rc.local | 14 + config/xstartup | 5 + images/macface.png | Bin 0 -> 2358 bytes images/mm1_sd.gif | Bin 0 -> 4047988 bytes images/mm2_sd.gif | Bin 0 -> 3886612 bytes images/mm3_sd.gif | Bin 0 -> 4049392 bytes images/mm_s_10.jpg | Bin 0 -> 667619 bytes images/mm_s_14.jpg | Bin 0 -> 737190 bytes images/mm_s_20.jpg | Bin 0 -> 725932 bytes images/mm_s_23.jpg | Bin 0 -> 626251 bytes images/mm_s_5.jpg | Bin 0 -> 685360 bytes images/mm_s_6.jpg | Bin 0 -> 669243 bytes images/mm_s_7.jpg | Bin 0 -> 687331 bytes images/mm_s_8.jpg | Bin 0 -> 700576 bytes images/mm_s_9.jpg | Bin 0 -> 637704 bytes install.sh | 32 + minivmac/.gitignore | 7 + minivmac/minivmac.320 | Bin 0 -> 99804 bytes minivmac/minivmac.512 | Bin 0 -> 99804 bytes openscad/Makefile | 31 + openscad/README.md | 21 + openscad/images/macintosh-mini-part-a_s.png | Bin 0 -> 14324 bytes openscad/images/macintosh-mini-part-b_s.png | Bin 0 -> 15951 bytes openscad/images/main.png | Bin 0 -> 14440 bytes openscad/images/models.png | Bin 0 -> 129882 bytes openscad/macintosh-mini-base.scad | 717 + openscad/macintosh-mini-part-a.scad | 3 + openscad/macintosh-mini-part-a.stl | 24754 +++++ openscad/macintosh-mini-part-b.scad | 3 + openscad/macintosh-mini-part-b.stl | 84688 ++++++++++++++++++ openscad/scad-utils | 1 + switcher/.eslintrc.js | 24 + switcher/.gitignore | 80 + switcher/gpio-reader.js | 17 + switcher/index.js | 89 + switcher/package-lock.json | 1390 + switcher/package.json | 23 + switcher/sh.d/1_large_minimac.sh | 8 + switcher/sh.d/2_minimac.sh | 8 + switcher/sh.d/3_basilisk.sh | 6 + switcher/sh.d/4_terminal.sh | 3 + switcher/sh.d/5_large_terminal.sh | 7 + switcher/sh.d/6_clock.sh | 3 + 51 files changed, 112102 insertions(+) create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 basilisk_ii_prefs.md create mode 100755 config/.xinitrc create mode 100644 config/99-fbdev.conf create mode 100644 config/asound.conf create mode 100644 config/fbtft.conf create mode 100755 config/rc.local create mode 100755 config/xstartup create mode 100644 images/macface.png create mode 100644 images/mm1_sd.gif create mode 100644 images/mm2_sd.gif create mode 100644 images/mm3_sd.gif create mode 100644 images/mm_s_10.jpg create mode 100644 images/mm_s_14.jpg create mode 100644 images/mm_s_20.jpg create mode 100644 images/mm_s_23.jpg create mode 100644 images/mm_s_5.jpg create mode 100644 images/mm_s_6.jpg create mode 100644 images/mm_s_7.jpg create mode 100644 images/mm_s_8.jpg create mode 100644 images/mm_s_9.jpg create mode 100755 install.sh create mode 100644 minivmac/.gitignore create mode 100755 minivmac/minivmac.320 create mode 100755 minivmac/minivmac.512 create mode 100644 openscad/Makefile create mode 100644 openscad/README.md create mode 100644 openscad/images/macintosh-mini-part-a_s.png create mode 100644 openscad/images/macintosh-mini-part-b_s.png create mode 100644 openscad/images/main.png create mode 100644 openscad/images/models.png create mode 100644 openscad/macintosh-mini-base.scad create mode 100644 openscad/macintosh-mini-part-a.scad create mode 100644 openscad/macintosh-mini-part-a.stl create mode 100644 openscad/macintosh-mini-part-b.scad create mode 100644 openscad/macintosh-mini-part-b.stl create mode 160000 openscad/scad-utils create mode 100644 switcher/.eslintrc.js create mode 100644 switcher/.gitignore create mode 100644 switcher/gpio-reader.js create mode 100644 switcher/index.js create mode 100644 switcher/package-lock.json create mode 100644 switcher/package.json create mode 100755 switcher/sh.d/1_large_minimac.sh create mode 100755 switcher/sh.d/2_minimac.sh create mode 100755 switcher/sh.d/3_basilisk.sh create mode 100755 switcher/sh.d/4_terminal.sh create mode 100755 switcher/sh.d/5_large_terminal.sh create mode 100755 switcher/sh.d/6_clock.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..25ee046 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.wav diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..cfc4005 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "openscad/scad-utils"] + path = openscad/scad-utils + url = https://github.com/OskarLinde/scad-utils diff --git a/README.md b/README.md index e69de29..62a31ec 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,99 @@ +
+ +
+ +# Mac(intosh) mini + +## Build Instruction +- Print the outer shell. + - PLA, 0.2 mm, 180 ℃ (See also [./openscad/README.md](./openscad/README.md)) + - `macintosh-mini-part-a.stl` ([stl](./openscad/macintosh-mini-part-a.stl)) + - `macintosh-mini-part-b.stl` ([stl](./openscad/macintosh-mini-part-b.stl)) + + + +- Setup your Orange Pi Zero Plus 2 (H3) + - Install Armbian Bionic. https://www.armbian.com/orange-pi-zero-plus-2-h3/ + - Then SSH into the device. +```bash +$ sudo apt install -y git xtightvncserver + +# Install Node.js +$ git clone https://github.com/tj/n /tmp/n && cd /tmp/n && sudo make install +$ sudo n v10 + +# Install https://github.com/xpertsavenue/WiringOP-Zero +$ git clone https://github.com/xpertsavenue/WiringOP-Zero +## Please refer to https://github.com/xpertsavenue/WiringOP-Zero + +# Setup vncserver +$ mkdir .vnc +$ vncpasswd .vnc/passwd + +# Install the dependencies & config files +$ git clone https://github.com/likeablob/macmini ~/macmini +$ cd ~/macmini +$ sudo ./install.sh + +# copy ypur assests +$ cp /path/to/vmac.rom ~/macmini/minivmac/vmac.rom # Mini vMac ROM file +$ cp /path/to/vmac.dsk ~/macmini/minivmac/system.dsk # Mini vMac disk file +$ cp /path/to/.basilisk_ii_prefs ~/.basilisk_ii_prefs # Basilisk II config file +$ cp /path/to/macboot.wav ~/macmini/macboot.wav # Boot sound (optional) +``` +- [Tips]: Here is my working [.basilisk_ii_prefs](basilisk_ii_prefs.md). + +- Wire the display & USB boards to the OPi + + + +| OPi | Peripherals | +| -------------- | -------------------- | +| PA15/SPI1_MOSI | LCD MOSI | +| PA16/SPI1_MISO | LCD MISO | +| PA14/SPI1_CLK | LCD CLK | +| PA13/SPI1_CS | LCD CS | +| PS12 | LCD RESET | +| PA11 | LCD DC | +| PA06 | Push Switch | +| USB-DP2 | USB (Front) Data+ | +| USB-DM2 | USB (Front) Data- | +| 5V | USB (Front/Rear) 5V | +| GND | USB (Front/Rear) GND | + +## Basic Concepts +1. At system boot, [`fbtft_device`](./config/fbtft.conf) kernel module is loaded and it initializes the LCD as `/dev/fb0`. +2. `nodm` starts an X session and `~/.xinitrc` get executed. +3. `~/.xinitrc` launchs `matchbox-window-manager` and `~/macmini/switcher/*js`. +4. `~/macmini/switcher/index.js` reads the scripts [`~/macmini/switcher/sh.d/*sh`](./switcher/sh.d/) and spawns them one by one when there is a HTTP GET request at `localhost:5501/`. +5. `~/macmini/switcher/gpio-reader.js` watchs the push SW at GPIO7(PA06) and send a request to `localhost:5501/`. + +### How does the low-res LCD(320x240) handle 512x384 resolution? +Internally `xthighvncserver` and `ssvncviewer` are used to scale the display. +- e.g. [`1_large_minimac.sh`]((./switcher/sh.d/1_large_minimac.sh)) launches: + - `xthighvncserver` to create a virtual display (512x384) at `DISPLAY=:1` (`:5901`) + - `minivmac` in `DISPLAY:1` + - `ssvncviewer -scale 0.625` in `DISPLAY:0` (By the `-scale` option, low-res LED get upscaled) +## Gallery +| | | +| :-------------------------------------------------------------------------: | :-------------------------------------------------------------------------: | +| | | +| | | +| | | + + +## BOM +| Name | Quantity | Descriptions | +| ------------------------------------------------------- | :------: | ----------------------- | +| OrangePi Zero Plus 2 (H3) | 1 | H5 ver. might work too. | +| 2.4inch SPI Display (ili9340, 320x240, with flat cable) | 1 | | +| Generic micro-USB Breakout Board | 2 | | +| M2 x 6 mm Self Tapping Screw | 16 | | +| D10mm Rounding Magnet | 2 | | +| 7x7 mm Push Switch | 1 | | + +## Acknowledgment +- Mini vMac https://www.gryphel.com/c/minivmac/ +- Basilisk II https://basilisk.cebix.net/ +- Kudos to all the devs!s + diff --git a/basilisk_ii_prefs.md b/basilisk_ii_prefs.md new file mode 100644 index 0000000..bd8f343 --- /dev/null +++ b/basilisk_ii_prefs.md @@ -0,0 +1,37 @@ +~/.basilisk_ii_prefs +```bash +disk ${/path/to/disk1.dsk} +disk ${/path/to/disk2.dsk} +extfs ${/path/to/your/home/dir} +screen win/512/384 +seriala /dev/ttyS5 +serialb /dev/ttyS6 +ether slirp +udptunnel false +udpport 6066 +rom ${/path/to/mac.rom} +bootdrive 0 +bootdriver 0 +ramsize 33554432 +frameskip 0 +modelid 5 +cpu 3 +fpu false +nocdrom true +nosound false +noclipconversion false +nogui false +jit true +jitfpu true +jitdebug false +jitcachesize 2048 +jitlazyflush true +jitinline true +keyboardtype 5 +keycodes false +mousewheelmode 1 +mousewheellines 3 +dsp /dev/dsp +mixer /dev/mixer +idlewait true +``` \ No newline at end of file diff --git a/config/.xinitrc b/config/.xinitrc new file mode 100755 index 0000000..ed65f63 --- /dev/null +++ b/config/.xinitrc @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +MACMINI_DIR=~/macmini +xloadimage ${MACMINI_DIR}/images/macface.png -fullscreen -onroot +[ -e ${MACMINI_DIR}/macboot.wav ] && mplayer -af volume=10 ${MACMINI_DIR}/macboot.wav & + +if [[ $DISPLAY == :0 ]];then + (cd ${MACMINI_DIR}/switcher && padsp npm start)& + (cd ${MACMINI_DIR}/switcher && gpio mode 7 up && npm run start:gpio)& +fi + +matchbox-window-manager -use_titlebar no diff --git a/config/99-fbdev.conf b/config/99-fbdev.conf new file mode 100644 index 0000000..d33cfb2 --- /dev/null +++ b/config/99-fbdev.conf @@ -0,0 +1,6 @@ +Section "Device" + Identifier "myfb" + Driver "fbdev" + Option "fbdev" "/dev/fb0" +EndSection + diff --git a/config/asound.conf b/config/asound.conf new file mode 100644 index 0000000..cc33488 --- /dev/null +++ b/config/asound.conf @@ -0,0 +1,9 @@ +pcm.!default { + type hw + card 0 +} + +ctl.!default { + type hw + card 0 +} diff --git a/config/fbtft.conf b/config/fbtft.conf new file mode 100644 index 0000000..e09f9f0 --- /dev/null +++ b/config/fbtft.conf @@ -0,0 +1 @@ +options fbtft_device custom name=fb_ili9340 gpios=dc:11,reset:12 speed=64000000 busnum=1 rotate=270 bgr=1 diff --git a/config/rc.local b/config/rc.local new file mode 100755 index 0000000..ae9fe8e --- /dev/null +++ b/config/rc.local @@ -0,0 +1,14 @@ +#!/bin/sh -e +# +# rc.local +# +# This script is executed at the end of each multiuser runlevel. +# Make sure that the script will "exit 0" on success or any other +# value on error. +# +# In order to enable or disable this script just change the execution +# bits. +# +# By default this script does nothing. + +echo none | tee /sys/class/leds/orangepi\:red\:status/trigger # disable LED diff --git a/config/xstartup b/config/xstartup new file mode 100755 index 0000000..5e9f83c --- /dev/null +++ b/config/xstartup @@ -0,0 +1,5 @@ +#!/bin/sh + +# Fix to make GNOME work +export XKL_XMODMAP_DISABLE=1 +/etc/X11/Xsession diff --git a/images/macface.png b/images/macface.png new file mode 100644 index 0000000000000000000000000000000000000000..95567ece7f51e1f0dbfb05074e2aba69a2186907 GIT binary patch literal 2358 zcmai$c{tSDAIHBlWQ(B;O}3Cwmg*`=DPx!HOW6w9$7mX3xyc?fh7>Amx{Rf4V=QAd zStg`V3=J~2v1Fzh7nLIUP4{>2^W5k6&+j?U=X_r0{d~@I{y67zKA$u@8*?!c84&;g z#4IgL9C*HvXR$&8ym{zE)JvWd@Ub#C0d{_k5=uojPZ360xP}41ZpmK;0`d!CJW&v1 zX>BSvCju3e5wQ8_t@fogY>b2RK}R{X#- z!3+C#GJ12C^hN(dyaz)}9TG;C85G(c1pt55~f?&$e=7k*& z;QV9cu}Gzs8hsmE0bZwhlz#ARq^A#aowJ4EWr)4*+jrfvZVCFZ!H77J^b$MQba)2k zQci-4AY>7il%*3gKg9Tan{^Mj=HC9$Is!Y52r3v62_64TRx 4E %MbN*@Tbg)3R<@f3V<-PP^P z!KYTv0?md;wl>}xub0kgoN;{lvV8Ax^S=g61L-X{ {|j~BYg!QdiM6j8@1zM)A7#9X*h=dE}3uEtn>2GntxvLm9Ric*|o;&NDA$NDn=>xzg^*BRK`j11gfy^cFwu?INu2phr`s6t!yPtwS z9I(SA74@TK!o)inWsES4bE&4%((4Z}vO`dpspC@jINX5nMzOZDves&J5tk|OGa1EK zx{^vAJ*^EWlCNc!P%K?coe5eOzy3CeGA<0m0@`Xy;iaveAaTIvi1`d;fDI4zc`f^@ zwZy=5zG6t;3Uj`Z;pen=Q*~fndW`HMO$ZLwlw}B-XMBlM9;%w4h-V~@n}?Rgn!O8$ zhlP%UP*3Y7%RZF0d>d1!XXV}B;YvTIemF5{B9v_V`|;~%pH$RiSq?A1D3rfg`7?Fu zpCc>Jh~FMu2MMe`01K3mFe*uK @No z0%NMXpX#MQ`l6=hg~!7%w}X$YC cEyeR?);W@JvT{%!?H0YhU?;(
`5GOW#k}BxO5S$~TI$*F=sqk4q@agS*=N(BWCcmVlK#+(47G(P%397n`>+?F5 zy>4rq;d{9vu}egT(g6G9VTUzxR||I!^2TdC0W5w<3Giv??#Q2#4E%28@hmO-&UOF0 z&yrj+GDqH>QIg70Gs*m5Up)Qnh%PQN$mc{D88rn67QAzcrHCy@0%q59c~iNCWaxAg z^aNm;JVibvYQy}R7eIvmZa!v*KBusE(pC|Gp+Qcr=f0-LSu48OG=P5}m#9)cS^DH0 z%vD??xok-?9gJ4;W5XZp@C4rya|4+K16R;dtdzVPiq29j93%L#Ge&p99$-=K-ipct z=LZZDYo&^A&Y#mUk`d&B|D1&4TVV+r5S5$&Qw^ESUVM9`eUnHw)xB~xG`kp{TpxDE zbKs1IUFN$12VQ8gmwob7 bC<8V8SkILL@liuiODJ6M*gj%FNQD9{_@D<)Bgo{Xrn5hSqGJ z)c#2TvjCgjxYj;++z$MgCrH6v!lg7mjt#dSg^B}p!dP6vWV-9g^WW^lhY*QA-VoVE zjLPD ?EC{FXUkNB b1c$N~$od=VAB7Z#r58qBIejD|L-_Bj* z@~`Nt9$VR(CYLi-iVZ0j{vmjv$fbNcj%Tr`18<$;K{2u4fqZ_aKg%g?DyMBJP=7RX zy4fk<4a|?I^lLxQCt5{h8hUvUs$=PErx 0#Pn0Et)FTHwHrZj_vF#YFPSeG0U_I zYPH*3E;hLw#6n!yy0 6%<&4y-~p*PZ1bn1_xWy`;1Qc zMEF0lau+{k0U=u?l&diicprXzqlvpeM#jC3@)UzPw;=Nyf;lyD }{f^gH<(J3Nd{f$ad&WcXQXEW=e~agvZHZCY4e6*uL0 zxff!~gjrp8ir#?*uwaTZjVfhncHnabp(IlcU)9Ed@0Bn zfJlFU-Tc+A(hln`ESmCBI?9$N#i|%ktnEO)NLGlkXwy*~xQGF4hy%p-4$Vfr#Oq>q z!L?c^nM>YH+LC%MS}hVgU@Ka|%m+YZ=jO6wOFkrg0-G=~uVObS^+X!e`xSR#7koj} z-7UILM^Z+Q1(5*ocm%!{ga`P{<0NI&U(0Cr0d7BK@T#(l3=3O(N9E&ZhD^G)G;+qT zw{B^ikvN)s|8`e-VdgnMW>pPHp52z|DiY6uyRx8YO4(s#&)?RnVsuG!FT{@B?rsPV z vJ?GqyjfL&sBCwRZk&D3;kcb`kR9(n}o8(16XalW6R z*}u{*c4!^o=iGdC+B)SrzkCCK;5y%MuCwP`s2=gk-74GY#>UG{dLFyxmtp3V;0m9% z#u*Pg9PaeAQRHle%m;q^KAJ^8jdl7Ogr;_RC>&CkeRY`6E<>e@vf}VZto1klWx#J# z-hZ^s-`yas4PF8wk>Qyf_*ra1+zxapy-e$5*?>UL1*Z4;X^#to?WT8>SvA$F-MY`q zhBu)gE5lnLoaRLX?-+jq6dM|uS7thM?jyad|I|qfPw{}*(!rIR=dJFHM29MZK`(3i zMM?n0ZdlPfz97Z(Uo*;Q^{;fN-Olib@Vrjhd5nk`eKD^j=vmfQm~*S?AEi~iu4|$z zlS9-+Zp$P5A=jH72)I^}he>Y JQ?o2 z1I2QOjbln1cgBXdFM{6RfeymHDcN)lRTE1H1!9e@Q!r@)#M4jW@eJT0rw2&JNC03$ z=|hFVo5r~S-ctNk*|i?&N0jezQ93Q>A$9x!B>H*p=c1c-Dv)qj)NL-`+nLz0k_5Y^ z`@#@unI7@iZQ?%f6?HbvaV2UJ*n#sM(gpyfq%x6Xuda=|kg6nes{ufzN2ZS+d83*s zUzeQWIeJNJ0qnS-_NVLIAs!R*s~Gx$@@FjPSqdOc0iR~_#k-EhQPY?cV_IqeV(H=V z@STL3o`BwJ`tmh~&w&88;!eQHF!KkVa!NX7{oI;!KPTtBNVFf7tK1pt*D2UFRat z_lHU}eZ3CLeg>WDSn^VVcV>tQv7oMRnblmrpD0^uAHUrWIC$o~fU8^Wb$yvj;ua(& z^$q+7usMz;4&0s+{L?vWU!-opN**m()yS@_15fsN=6|Sv1yVQMF@((IeEwnBY!Uft zw^;j6vB#6u&Oi0f1|0Ui05lV%4m`}H!Xn6U*PZ|94Vd2yG5z|4c+(pe40R-yq-)qr zEnge(TXx67Rd}wT wMYppU%2hrO!X$@_p!!ABNkGviJj7ox76KCb$U7Q;s peFBEg_N{krDn5epW?1pP#w_{1n4?n8tf k;j+ga)aLk~u{$@QY}sm+ z!o~xPYF8XQZxiZSWBT|I@NB*e&yv gsZ42h3=DAsz%Oe`T`4x+u64gI!1n(X z^1dd$^WAxuO5{tyA{fN2?8Aus`mKB+0{z`ha472Jw#@|PS;`&$k{xiiKE`VSgNelB zo^Z`wLFTM#366QLoQzh9I4?pPUosGOQa@wg@S&IgvG+3b6-N$w4QgXG?wp5|nvY0i zYD&E@yoA@h9I{>EzU}bDuzK%xfDa&vdy~QB%OJx&xgbw8Sc>(Aj|{Nm0fNz5Oy9%1 zYq`Zt*vw63mLrrg03~vvib&U|N}yz?S~8z6=Q-e0dP9N(jU~g*CBV*hzVapV`Lf_o z@nB_^BwkUB#@x!OhpG0%VMh?z Q2$^GuF$zNV@9u$v2se(Ft1HjsEL) |8g)rZN*gu9C z-#-<4jnYSw5xzdJJ$6L>k!GKpd>LK-L6H24h`g(_eAwTwj$;-_d>o0NbND!*bSfX^ z99W$LO1%ogus%sr06sG460kWYziC-?CqAR+L?J+gWylD`26{9Rfmwj zs0>kTZ QW4G<)wU<}@F4r@1;h){U7n~nRO z?TY9+fnZ>FMX-=SYHSTFp_};rmX{*#ABgc0H?i<9hk4YbM;G@GllK>HL9CBCNIf%i zPTVgf?}rfixySgMT#;{%Am1M3FJmIkGa ;d^K1`ybr3~TpK$Ier3KLe};hH9mTJZ_W;Nk|TiedI{sy10#1$$3s zDvGgL$#3%WN|pWYWxj8;5xAs$v (4R@~WB=ZX*J&(s>LvqH!9~_HrFnffxQVTXC zJ+2u)C?Q>f3;Oj$a |m6h{^ }c;7_)43*~(pRE#_+p=pqaNYDH;*ZtB_R1yO z3N4#<&l}#I0lO0xh3-wZhbaS593mSG*N*D2FGa6g!UYocw`hzJ;%6|wBvkm`o%Fqz zf->R 7&Zu8?(x|SBvS&)S5=^3!RpOZbRpAja*og;pHeHdH?;Kig&x}| zr9z#UI!3W6rH)ad)9s^NsNrM2H)T>|ju%qClDdZ^bYR=Td_u3Y#f+9Y&G_gVniKvZ zVcn8XB8J>ECl|A`ZLmya@aFPt+`rID%}$8j?6Zw%3KMsSZ_b%moly=icT@RE;*;`> zqS8LRj8#1J4IPq@vrQ>^H2lw_-<`ud_xu5>yPfLAJGADbt#`$v@-M<1KK{nu7bbA0 zj{LP;kYKo4>W32{!G+TzmEvw;dD56SqXN49-1i8z-d5LX5jA@@?MqnB?|L~Qf@t3@3}RmBNwqJf^G zwn4;BP>xI#4KB0Bs}*Yaw3dR%6ZaPEGjqMH*6O+Mlyk`9Sc^xi1$^x&>E2J3ZY)EH zvdLDycv7NmTac<7POK jf_=x1<_iR!nFVqJ}N0!x-1zB zQV_KL$YqF}y eP_fC`&QRlLYdU#S8{$9bj8_bO^K4{Jt%SeJNvZBXVDDitn2p(yJ_IX{ z@B(e0Prxd=+hrZ{{8C%|>tD|Y{@8}CHGf5KUjZt>D4zHx+$`|z-BlG2caahYa$~-= z%4ocPwe@q}Ng_mw%|#Fgo{NNWFR4+2p)O1!7|jJFP;5;_Q8x$~pz&o;07M26s%8g5 zdIF64J7fWW3`oKq$TiMhM^xg#4 } B9bDdO9DlCRxVO-uCmp+(d zO4M@NvXo-)SLr)PU=}cN!{U(wy5rrH%WHm_hqnXh|9%Mw>JLmCnl{jG(RsQe z)5jH%l;a*zn12PsVm$@66I-R0Y03(UIw4)3h{d?kB$=I=`YAF!_Y7O0JEt71lA{UH zxcXn?7@{?}q~q1ZO+Nxy^6;fR1J8AnKm %!QFmc#j0ixOL}@8jTYRMv=Jx zR(pGhdXZa~mJmex_Z#qMV5n>Qw0=?Wzg04itGbHXs6Anx8c~_p0vtlUcs}%LOa@xU zT e<$yH%~mb%0N|L^H$XS6jv5crU0ciNf#N{z7T4)Z&JxfH!mP$1)YBgCjm8 z4Bl_tyEXJ%w)r_U16w7B5JiTO^aPG8@xw25sL!^T@iFDDBlNO`(Q06*tCP5zN6p;0 zn&_#hhtfJ8owMb!0`~{A J=}dDi~Lb=<9nEf6QXk z3cEm*w&%2mE_&x}%pOgwJ_cxM1n}QkR18~{sySD=ZlFH-YUYI$dp1>D40oKBt~tQp z_(bY$27v)4aJ5puI!LW@R9#S(l5~w+?7!>+qbW9QD5W{y%Xve>ka>Rc;r5QpFvq}H z-0 ;*8;(R+1}h9~KNmd|J0 hgrtXF#kq^(EGlF;8wBaH3&;;>Huz3Zh!7aP zbOV5@$cdloZV;?phRP0cp>Ogri=Uov5dH6Vy=vIaIP$o|@(ICKzC`U=Z|S&-_mkES znv+>0{ZHp}uh8L7v1W#ZwjQ_kH06V2K#M{*KEXNsy8VOK?% )xTF zXQEgk@X0+~LHU`Ct<9OSN1D7Lx+-FjCj6~4-82}kahmp)1kn7ix#lQy=&re7*t0z0 zcZ3stH~L!d&?1(`qr~f_W9L?0tNt|_m@ta=kzM;HatG9vCcN_e`#o{FJFr8Hy`D?` z_jYyJpx}2Tuy}R5_ewvX>GH|so5PUXC$OKBq#OpnzB2m#{RjjV1xT=I9_|I#V`{fs zY5)Ab=N*H^a7@lJK;K490z(Q#^a)f3jgJ9JYA~Fzq7Kjrvkb+Ag$C)<1CK;{BUc;b zL%>N3QcDcE>{Fy(3@yh&1ndtMJxzt$4 1Ya=qe!|tgq^#g7QZnNu{V6=d4rer z`Mb#@sWUh1F3G9Z&^%Ez)dAI*8o6G3QB5xRKUr#*Y|FLkTT|3vB-1!bLy|ocIr#ec zHPkZKvP?w7e)mw&kj(ZS%^aLcN5REBT=Ul|p*=#y2L9@|Xev1stU#o~&~nCc6}jx< zt31$@)^m^|8k{tC|4&mVZ~lM{l)bGbX^*NtTw@K48z^&cW2!)ixCxQ>?f2hT(mjBd z3|zWao$3^^g`hY}ACMR~2gf=*Zc-bnsT;5~jd543Svy!9sy@?pZMxcq?+k#50;?@k z1*yR5CAE3bU_*)ASJ}=g`b=c`gq~KH1helES=s0J;LU6?ZMkZ{Sff`~`Nu_!Kd;n( z`f2%&byF5N($di8p?N_0ivoDL4EY0eNKS7*speA`-eSL6i*eB!Lm!a?|2sl$w4D7o zL;bTW{NF(b#+8<%$l5 w^gTLJvXwY4LZAy!MMwjkr>Ubf5bwSl(qn(5 zB6}e3Jb=*XRk0LF-x!H=s9Sww%}1mP?m53)!=|rdO^=qYirrA9(yt;w2z%3q!C+N4 z0sSbt^pu?)U1r15l3LT@_1d&v!0v+PJ?@9bjWb4_|5kC4ohL#8383wRSX;=)YEn1N z-c9D(R(ZA3{e!7A-#VJq)X|MmacoMy;lB^B(u9?XbS$DaQ2#cBK&2>K^PXSj?GyuK zKuV+LIlZ`csOEbdAWNX5D?qZW@%y{jZ{Qo(G0r_RE#RpsJ|Cp;X;%3e=j!IWrA~y` z`{+P-kkGDHXvna|a|1C;VB*Gb_Ki7a7+pPs-q?H>A*QZJ wX|G#)G~(2>jbe96j7CceFjUlZ3Caa+C>bmwD}Yzy=BM Y~%mK 3{3QTnqVySNex3 z=}i+%8kHYOQ+q*O&Za(&rfWKvA$N}5dNR3NG86T5De}!y!q=t5v}UelG0dm<^Y4dE zrVm465qT_-6ruTZhEp<1#%52~qis^Tik3N76~lXC=L{o~Mup^nDMy;b5o@}V27Szs z>NKNLKwbvpsQDLs__7L*%|AVeIv@`rmWBwy$+YnIPrFuIe%9QY%$)s+U%d5EOHjqT z1>q>omK`qj0yBUcess~Ub`#kf@N61p=V`sX_5(9#FB@kJh4y5)9XUk|L^}E!&4|~4 zr1mdI+fc91>TcjA;{UkULY{Sg^}DoqED6dckLlvAkG7wY81_IL?cdCRm0l}pc5zcV zYEUP|dJf&fE;tF*?@lTVG~eH@ek%ipJ)q_o5g6LkF|UAv5(Eo>bu!xt=qR?I*S88O z28uvcS=h5*ZeNu1a?fe|X({JvBf<+Pn`ag+stOkJ|11#vQNTYB#^OZIL+N#!CS#?v z*$08oH(%6!S`jS`lqL+f*bktnRLIo)fjF=}@p5{D%XRi@>#pB_6(`(%)bVGj!{*7u z;d}AV5C1cwc`oes&*rwz8OYq>wKuKB;RY8^i>q1m`70UThiB;3`%ZrUsC?(+Jy{lQ zWDyX+tv!$+pTH9U%B@M=fh6eDhgpvWjKGn*^wl}yCeHVg5n1J OKqD5_H|yz^Ah>Myo+Dyn 22BI#l^B)rrVf z>#Is9ZEKree#o-j4iEX5$x}HJ2q^8hzUB09E05J8*^;d^d3(vQ8$KnONY+M+{mOEX z>YYiII@GpX>}e2m%k6lKYW$ecefi~0(Y4|M0D|E@P(^?xD~@%!{?63J4{yAog0Mg6 zhFf$Q1vQ4OGirj%*&Giz V%>>Uyrx1m1a5<2nd Ci8R&0)ax7mE~#Y)s248SJOZtg>QZiaZzg8@k#1WF3jfzF6S) oyN@A0IT_6%5=R( zlHLGB!VmhqV^CpB##XL#EU3gsKG#f<;7IIPaX%a`X+LmmQ?q5ca$od@e@?jAbYPgp zn$t`$kMGl*_-Ntme3?=&_v0t;PUjHSx6xrPZ t?U$DNX|sRKAiH-&Fbmgjq|xs^kx2i($}rZWH@Yzv2$H$K~Tc5o-_9 z3Jc?7%T?7Ryz;Y_o?cW1$B0Dn5m)|Uk;zIdzAd-n&*VUS+ypGXpfB9kdBFYU*0c-Z z=+Zw|7Fw>%togvfibQXu)BB3UFTu-Li4Ssm8NJd( z{icYer*EPV3P1Fes~*3TIcRdmpg8&F8(X}+Bp~&J|H^W~W=o+eS`E{haR27U_x!6z z={%Yu7bq=R<^?TloLj~iar-C8$#<8o|IkN|#9V0&6bEUKoSM~2H^-E;NN=HwW1{#7 z)X}$z`4!9Re4oZIZS$3EV@l%E!O_4Q^idacsa9XakgwS-!xmydez@m-hq`G+^^i9u zxMM1J-*_)|zN|NnxN X5P!r`_DtBW46R;pbZoZ8LAp9sS>}%AK#Mqw`$qXxevb>0;q_!dl ztb|SusClYovXT&-pm^V8T`um8?zg-&AB~GX`B#!L&II9?ZN zeKQ%6=p!`sbcfcr1N+Qi%UD-!k*ec{j+9#N4bD!sWfuN6o;I z&Fo9t;2o2YyWbr{{Xltf=`qNOz-7A};Qk8p# Ra0(9@4h75dhf}j5B!p(|6 z&Qz?yrveUM1xb-3%3s)3`Q3VwN^RwQp`>$CCQql>eb>DG>q_4C>2v^U@*8?Uaozd% z$#;q4hk+~;>WtO3npD<_yFn4L2PC*OeIJO)RJPMH)CE8ssS6Wiz@2OQVxO_91)j0i z%u?P?`JU-7cz7Nr0FK&T7GcvtT5^U_*#FF(;)d>eWKJ>(Ql%-=I-uV)Su9Tom?Dg- zUZ}-a >&_OCQgdDM>EbE1IOJf=;`Z4|4BPYK(b09` zBBA+wLKy5gf%}aVC@H+NcR>-7ivs9;Vrm^&BJ~m^q%w|MMskqC<%b3CQQrV?5D+Is z@d2K~AvK3EI3|?=K?`AUu1qTR*{#4Qm4E!GpkX3)3JoT~UtrE0w6eJ=1ujvw%r!I8 z<^J4;NaN)wRN(7*sDYMeRVh^kbO8%Hh zfB`8R!9mCdQ!J>MAGzg$w|B>UHi~EZiNg>yY3}tFAaICQDESP|2wIwxbD1)_BEg{G zf2dlKb42=A$a$JrYLsdcfAxP;)Rihgq;$cg@b)mTjQTXmvgq@qO(F<_0Z4EuxgBck zZ3#{dhz~I%!=x#Fhc@Pmii}GhE9ruX5)t#VXj!P6t!#YxZZ<`D%G;kQ8Ndt!31V^X z;DfX15!As}*9AaUI!fV`iyUJvYnOZZfcdYlLpRQT25Ju&FA>Gg%LdFc=^fq1Xul58 z1(qceY5hYqOcS?dnS=A3x`c9~%-hIBx2~_d+EkD>L_PbTe|A4A*N`LWH2ct6%AW*+ zi4ifu*)EZw=_Q_ELYnJ%sVt%)3^hVBZ7aV!%>tq8eNTl)`oTFZp=y2Qz7Sm86b$Xr zVo!uX!-_C 8K`1y%`GjRI5Q( z*h&Rtk`AKHhY9}_ebY-?^!{0VBS*wyjphB?WQ}WCYV(5!6}8tH+DfqAR)dOInLJdf&`4*Sb8qWR_aAu}%1n${8pSL)@ zd<(^!(Xc*{_4&s?#jjq{1jF|mgikY1;3IbV44|N6vO7eH!xXTvTpI*~ejbiwf}sOk z&w?8?WKbXd_^I)D0gk2qtYXLTqOQWws>Cbqyb0!4OrnVXq)E+gkxyzcJY`SO!LhNd z+K`)cskXooX9tlqq{7q>m7;n%rVUYzVrMx}^^lPQ=X@8z>t MOoBf{se_-gfv-4 1a%3)HYsjY}R$auoIYG_nzTi+-RaNicaFeMB#NU0_}0D5g?b zI%^8@hsWX5iX(^EEJJYLsd-{fEQsu~M`3`(XgJ Vxwc& zz<*F{1Yr&|iDH9omEYK>?Ta3lP0wa1xRy6sgn*#tC3)ssG-2x-&;#u_Lj%uIR17Cu z+R{Ya#Qv7KuIl6cYnQ7Y`y4cA@pH28_oS*HCIjownMhA#Do}Tf2RlzX5$z5+@&TtP zHk1F@IHf}SPTx*V_wcnBpHnV`xzdp89Eb!R+mEdSs!p;X3ZHQ!f<*Gc$TK(av0N~^ zot!-zB55eg&W&;HsnO~EAdt2x6u7d}{<9#Qd?KniyO$&&kwFyDvtv9M?1|T>y$Of0 zsh244Glfb>QajW9E>ZOJb@tDs$|>3M7)6mnM3WM#{gO17TVU{?gw^t_lvhzwCy;3Z zcrM8NO|WnlP7f!L|L|}|xo}Kt_Rs n =*l+w8K$Ix7V zWx1z*Pe+0YH^QF*pm@@S^x?gB&x#mt|0=Jsmw9r$DWdq?DiYLv?W+)+$1cUOu9wz* zf)O%kLL6_%ap#Qe$KyBbBG~)|`-|uBsVxE`&u;?zGH+@ ztlT=devrD;LFLaT=UemCKepu(#?^Q)|H*O-SoHHZlAFl4Sw~I+`s= ssUs%7}sMcm)>VLThEtI+k*1AJ2XmAU-t^W?J^S579a*NGB^lvyh!B98@r7faY zt;C1>o!NC-DBb8|_wn!vgDW`_9hPN5t*I21J;RET=*E%bn#F2 `PB-oGU!y?2j0y?#b=`H6#! zB&JTKO8Ek6=^gFR$rYh9uDl!nj3ZT#b$$2BThEVN-M(ggz{uv@sqTm0oRiJcQQoNQ z{4;VuR1GJa^RQV(JbOL(>h*!GJ9 1h{K$>PVF#{oDxjkZX%fqk yzU% Bba8RvpL^(NlPp-4wXLT?^%#ApGUTI$u$f8~DT9I}d%trRW53vT zs8jfeN&J3T@CVmv)Bq77?-j~KO;Y*BMy#jxJyvu)3JD~G@tRF91#)2h&A^vgRaUa* zB(y7yQ$
OQoA9Eue56Y5{qU l>Iwqfz+} bch< z z&42+ZdhRX~7UJ`-OL9SLufoQ<2CGduiOn|=nM zm9BCI7dp$wj8F_*$3s!`JO}Rc6coH}q`Lcs{5P8`FXJ6V>Cb+ata-GuzdKZy53(T| zuY<;mctNPiy7Iube;Xic^3D$&PNxOJn9_GCG${&A5*QI-vlS|v6lcW13TxOyT>Ky) zB@Qv#QMhRu(s@_Z!e`B5Z&m1XsEW*0jbE>i{2~iIT4>a*d9WB7GGDXj%QzqoQKyVR zxIR^chD9%x9@3TnydstM!Mc9J5z%OTaiHhc1A_@C&!RVVb-^+<*88*Nk(rkx-TYw# z0u?$BP=;8u&%rZt0j6)8kxt%-ML-H+Y2ax^_<8ZLcU|WjW%IRAk01{V9n~faKjl3p z>4PI`={PZ=MWelu*uCN1>0{}#DKKYcPKKxt02g&@yS)MzO&gw&)+4v&BR2!nAMhqZ z-n1|;K&w%C*Uj1A=lHMG9XKJ$cfzl!mU!i7^YN+d$DZaZ8y&A#&>^M^<86kQj^%O? zgUafLR_5*=H}y9>CagSP+F78kM4xWi^O8W%Fk;kRu~I|E(=G`mZ*~q`LwzXp&5bax zQnkolPMjD^6jD$8fHd}mpxN-AuJE3|&2HzgeOAlS4gZjU7m<{!cJ;OnQLcq01!v~@ zlZZCtMtJnB10>G2XYh?J`^`^t0lv9f@Mt#Vk=I<;Yoy`JLosiW+t+j2sA6a<194TW z49wn@M)zEw=$Ee(6`GZ2+)+GcmPISdMFZu~8lU_m&X244h{0H@@jV-r$XggQFVaX_ zuqvq8qSUlf+FO&_H&e*RL!1I93?qx~Rp0Llu8KP@s%DEDZGLE8ORiM^MT e z_{o{8MAd$NX0f5>C3B^YhxHDMIv%5uSgdjN(OBYMbYWo>vr(g=v6a%<+5lHSTTT-7 zi!5_|k?hi3YomVp@Ri!#s$w@qUGHE}=J7M7>Q}NC!sXh?3nz|R%D>FYy<1_sqT;dv zl`w3nsaW{0*Iw-nt66&a9jjjLy7^+M*CH$5|J7&-Zh7x gHx)4pPzkQ*`35xBb7`Zo{=2m0}ts+XvcP2Nkp$R{iv!PDgy&D%O3TI@78b z^dU7UW`FlZipqMIkyg->Z(DX5S=5fKr+ivrLd;Lf&1*es*5Su+`+7FiY_T0;4CjxI zxV5TvZfOzm=L61g%xGYes&MrMp~Z73I$9yN=VVmv$*3zcZL#;z37@YC48DDMuful~ zl3yH^2!8jdu$7V=TiChvI5&2vruAw~Y@?*^5d71iR=b&s6^t;M?$Ds?r`6nv8V*wF z(SP3M`?zx1$DUI8vko2>g+5jG?!*V!6`kuxUtW>bo4DWKz6#~Zm|Z}-@WKM4qY=|u z&H>9vG~3|QyJNf<>O^SuY98yU@{HDvoBFEJ6Jrl;TP%>*%{f+^df_)=?`C5@Ufp~D zxL#uj8ULhE?@6V```ph1YPt(by7ReJro=JPOsS>a*1)0I9vk_^pR&WYC(10>Pu|^H zR9%mF;Zv9Y3Mh$j6x9idn%#5195pL@iUgYpj;Pr9^g5|+JVNIjG9gfeij)JXr|PIG zbRvJs^$c--s t$l&+k+oFKff=&@n`9u!R{(N zN0t|S dG$&Kll=p+itf#ji4ESc~rm&M=x3GXXo2e0W3f_Hgvb&;md_xMkL zWOf_M5*GAyfdl%#C9ltSVT=fQDcjn(5S*-c fJYstDoW`YIVqh8X0UL{CYO7GvBZyB`l7;JVhp{cv&l)kI)OzptGCDb&KKm@ zfPY@(J@OiZ ENLX z!M6iQ5KljpJ#L_1AIRVN4T x{TgcLwae_%@pmCfp~{6Ab=>5kGv)Bk`M A_kV*cn(Ev|?3<(u|@)JVZYPTulv1{E~R< z^HG6FkH!?n-i2Vk{=byvNAK$%J@8BE`4TK3upxBA?6q@<`gbE7$=dy!=i_kL>l331 z*$!y0(Hd(U*f8>z$^LA3 I>pf;4FV$SMk|e!lyrB8;^^)U6%Z8x6%>83@Z~=^_ngl? z_nhZ`f8Xc#HOUYkDTQcz5lvY_w4Ovz)LYrauXj4U&58dp$9nW=QS5>>yJBfWgIxYo zioYA0`17A2n33xwc>h*^t+%o953zf$gQJhu{EP~2SSJOCrrd=Mf9B_ZiilBPkC|AJ zHurjPPb;-bRww7XcA4FkXn$$k5Vtv)htsW*$=m<;mjjKwy$jhJx6iX~_b3MZjMR&X zv{0y(=n4)ykL^-Y&hH5s>s2IxQ3(of0#B1O!ar?FHz{`>*M1d!b6MxV!RoxPDC!?q zk75Q(IZ~^$Ax}v3=cJkyK(wgdPGg=<%-FM^zP9$cx4%@C{{A4K*DKq1r&+F!@Al_F zuq)p2XV6%lfLd3zVfXXkTmiH5;19~#(LKgDy86ET4w47E1jA2PdtN)?STuLV%sWg| z#Y{VF?=tqaD0j$?PC5fNrL=SD|B&eM%E*)R2bFdYx{P)Ih;@(2***IMss_l0)t{UF z(jDWay(8r_h}wI=Hk;ZLYi|Dh_TGzsku}eHW1c7l)4rI6-;cTWqJJzes4F<;<-P20 zmWvO62HS%f0kXP(cr4>52tRoeqZ@*Y|6>k@+#7tvY%SX&-BILmQLc;YbNGlK3x3|d zMyaX!BkiT!c_e>3Khh2?zVle+VMG%RHK^yBCdm;zeJh$qyTu0dgJ{mU^yVx_v+Mcq z$and_YNn{_2RIh en~#}fcgK$$KWK |$v(L`4GvBCUNbQI%Dq75Q?H7TI& z_Hv%F)&bJdCG1o| E_C%>^XLnvvqzos^p~weGvi_=gm=CyeaA;P3KdZi z_CzJ21(IZvgai<8X$+gjEl_W1q>VJ)s%?`b8FI{1hG%4^S_-zTo`{WE*&7{ CNaEbqcvdtF*EA zxU?3@5ABzQKbJ7hFt5mPMAIl2jPgkvp6yk96Ffih@vp71BB;my>Hb>#l4JC+t6z&j zfY`uV;0YR}uIko!Y$OyHy(jXT#G8oECA;UkN*U3$B FG%YA3msf>bL3XRUy-%b-RVVGKvO$Sr*TW zP =vKo;Q8p%lK0>m-JLlyJ)asqZ3GYHl13J=1t9sO7|PCNTTcYrVtbp{>6XB z>%eQJ)Gm8QZz$(93LO4iU&k)EpG9}O=WY<#J*rLPiZgP+=~7lVAM~6txr_wrVvMI0 z<=29L+_4!HPYOM#cob?ER`xfbH%tjuGDNTb=cJ6y=?_kh-MewZ)GgV{t+BvqHKFto zzd$$;2 1mEk>_gQ&bQ|Ap=R ceddWD9b=0HUnIXiz_!fQQx(;KXOk)i3j22K>fSGs>G8P@gFes;M+1d )jeGoub*TY%ZeVM)MGK5)o$0OIaP{FH9%-@_PhN7&H%8wmo{}uwF8|HJ>1G zn%*Q7_IR?N=1$fhp9%&ww)G3-kC*M|F#zgnKsk%NVxsY9MBq3Z_zh9 ZYWHm- ~BgGi#Qu w5J9W*MEAt z;`3xW2hR&GNC}@isUF8SY|13*`P4WC#% {%h= z1~ TMZ1*vq1uUa zKKa0cE*;~PG(=}1UgueV)9u7g$&lThjI^o# aof(4oT~<7%TA2w zh2sL;l32=^t1yHl62Y8WYcQ#Ga)=Y)6^3nqsZv4P;@RfS>byOM^fa9$1FHrT=V%n2 z!~O`Ldz7!U1aOO& =wG5JyY+N=v2UC z>!SIH;Zx8gkiIdrl3nHstS!h#hGR6NvSV6 NAWNKB2f@_iHv_F1%__oIS$uJcF JRObLU-92?`PF*5VhJ9nqru<^<4HRjoTdg=n27c=Nb?mV;S?2DmE zn)Zv!@k+~L>05YLrzWRr!VZYFH(=Yr=>FjgK%4|A{rjyy8m#soeyz0?`ua6FGgs*i z-Wl=% #I54+@G_Dh%F#s#mqY9shuJ1MZx6Dy?r5=Q psoM&oTJn@}|5z<@YeE b(?ZUsWT_-&^9yy?RI|I0Df~61MGIVY)Q}zEc0`dKjTe* zwsC*QXD4GQfBQwJa}AgyojALJT+bO8-=|GE06uf=(*MOVKi~ZaK}EQJl4~p(QldjM z2E5@p<(Zm{(AfcY#NEa(Fd`ZlMdrX_%_efDe5m7v&k!ReU*SI$Fb6! SfEGJqWgTXaNOnYtBz^Sz^prA zmVubw0anqHDL;HK8pxypeEJ8)gxlp9=jO61t2;A!Ecb|mC2*KSZ<(v5ghQB@f5Cab z4i0Hd{59=}ru%j!g-_x})5Xy)1w4>F*kpD3u(1g^3^M)U#tft#5&*!$7FeUdUh_q< zwe7UFQZy349D22iHSbUrAB7kf*b`A)v)m#rOB{VcoOgh59}<*}#6^o$nL=a6=0z<@ z&|GikWrFyT>BZl0?kRl96h#!iSj^Jvgt^3|51p=Wkug7>U={~haRbzJUvZ4POibqL zH`JN`+`zux<<^hM! JLFCA)$WQ@m=o5 zU5 c~iYfd5^445c&xJ@zC42zjs;A)Xjy-CC@NvkfLVl|x*Z Hmc5IcE5UVgjtFQw2&X)(8b7rG*xGxFt2Ow@K5^F$i5VHzLyH zQGhQl1btN&92CBvsi1@un7 4qp>hSj3PJ zSB8CWi| tUX-taZhp3r>FEXCg7vwJ- z)ft?v-wb-BFr(_1H$UiXpxwj*ECrA7bK(HCa&|j$`t71g6xjT-y%z;$RB|*eaojlV z(?DlZVR(~Qo%5{i%J$0jx3Z3FyAnMm_=+PKGWgbivP?{|43T9Ac%&t6X^lM31x+ z;f&cU47{9jW;auo^=6ze!%2lCQ2Pho4fuDdldrF-@23p9(0&yEtRdk@3E?Ngf?AwV zRZa$gbir6>Dfiis5W#2$Yc~^T0}3453=}3IlG@p$R#s%ZHRMYJZh;NTGC0b2*^@eL zTNv!bN(=|uxM+(pb68Fa8M8ld<$2fj6(>&bUAmNF%of9M2O?EC@Z$J2ZflQms |2fMxUj%`f?BO7$J zMVhLqKGYg?Sm!5rVlMr|@$69f@O>hO2#AjY*V(ya$!2DNr76X`Rp0|f`QzAYzuT}l z-S*dw4MGNdR}ksq{q1ubwi6b+E0`K+CkJLwF6GLjGN_PY?^G8_XW{GvGH)_?ub8S% zlw3I}Nj$xLhV^?d!Y~2ca3TrXxe^&h+1w63-U(xV-!{cl!n$Ym@L%x5E%oc)&GGkk zd$&`e5m@*SW+n?D=eYVEq$NP;TYzsfESQZ=Ec^#YmlNiKB}(k6rcfNO5JiSzXHLnQ zNwRs@a}SR@jxj&qcRn{0g_@&1(}%suQt!#S4OYH6f>3oq=s>z4!|l$vYcNXMWr`q9 zUQ=psMGGQa7KD}I<17k$oMput2T*Csq7x%yo}cHvv`KmyhN&DtyW+)ONuZmP9o{HB z_!oYG17dzGUHRHo2n 9-<%1HK?9JocEm&(aak8S-SV=kymr-(7lxMmY{ zpTW#)E`!y}Ob `_GcI_Z7fQ`dmc9-kTl!eSm>lw{s5U{&rgGkjs5*OE%Dw0oslG3lj3 z{zx~bw*)^IhDoNN$60*eoHO`PZiG?Ll_iCr&aaOsrB3`Z_#0M7A4~;NM2iCh^35#e zgm`F6+5OlRJyHdAMFoSy1(|cAuI6S-JUt=$2l2 fKJZ{5|(VA_!f4EqoAo?gJCJ96FvY$ S&cZUIDdx01%xyu) I`Mpo|acN`m5A9k|uuETb*bb1uH zVD>e=#ui~B#3ThN?&|Rn^~61&JzdtI0mvG}Dbm6qT4ya924LCezM9REl>e*yN#B)T zAi{^j_38^<)342N^{w%gzl(P+mH~Z#+fu$+r}p*Lua&U!s9*KnDY~kTpm1|RoS(cV zzZMLxn;c;G+eqg;Xq4r&4n9x+v=u6((iH#o+Rxv!v|nBt?li;28B+&y7_dMd{7^uM z*$B-r*97d|>9hESa{sh R`J<>kf3*zb05m%xAc`g zeR@syq5;-MCa yBZ Na-25|&OW%mZ%pIOFeSBFAU-G2g dQA79f=j5v45lf#BmTd?R*JvN zW&3^za?OdfHjA~m{}i1U!CP?~wo==@3S@TYE);aKLP|N*mtxyDYTG4!=9TlVx%i<{ z_Vtuw|HFB&n(#i&vF6B}+3Q$BI} 7mD%U?Am0X#D7$I zKYa7k{abIyUuR}i-@o2IEPQ?LA#n #Rf9p+{wRV)KFR0yTH}@RbiR#r6?jmge%8@y zO_0;uI0S#X(oK>0rJIU{pQk@ AC@a}RnvIbp^mWTv2-taSe{B!#QSJkg+nX2r9h z)V^!-bh5q1v^;RfK~cobAcn!T+<^?1H(YCUD07rmiqBek5%$3~eUA?Wf`DPDfE}zl z6z%(VuaMC*ci(A7P`+=wKCfp+^={sg1JY43c*QTfa k3vb&$z `PHq3A2?z0UH zYRCvKIA}9A1Wh7j+9`v`kHoQ?g+hgAm~gSXT_(6Oq4sEWE2-_ZXW0bRRnPbMC(IWK z$)7E`9ZiiVOCH`+eJm7Z(gU@&NmpWaiRYRGCd6kwj>u% vxvuI9){a|15vb6+$C2`3b=pq64ac`ug3n__|MDg zL9(0IEo5rMnmI@f%Hp8S%=R%Z3nWD~R^d$-G#=={zy^Xatpe&96c!*=RImdltc=O( zbYt%6x{HU(i)(yxTF&NqvLmib#!9aaH1acrRD$1SJ@?wk&%TM)?NI%+&Ule@xAhZ> zM%&x2-9Sfto){y?UBcx5e1jb3Q6##uWy~ipD6=H8&ZP7v^3ksZ1UKWg0-+s%0gd#f z>yaZU9&J66X_ow}%c&;g-ge;Fl?=OOPF?{*u2b~HWVZb;eSW>Ypy}~x*UV3OM$*fG zx^J^;+29aGU8|*OvALutDGFIyeQC6ZHi`V5F9Lgf)o(rMnPqY71Zbk)smYu2ED5R4 z>hTQNe+czS978ILcC?$w=d9y3gY3r9v!0(Bl%JWD{ c7gp*1%=f?wRf9W!b*J8qJG ~n6(17V|CewU%gEW1NQe;U- z((;s~gx>M@z0H`){DQatILRM#K#95Qume(eDpURZcH(uEB|^j1$?1pJD89^9fOC8Fh#$PTjs7 z1rvG>MEWNT#hsxQH6CX%2U15fqKT!}2&|RS{D%gX^;y8|0b9*m%bC!S3F3&j&6!BX zr`i%;+oUqiY$6c6!xz0}!DMe1ToDiz-jQ?>CuG#z%+JPa+L+eJBfzN$5^dy7jTqNd z7M_`vys>4Ln?a8m7-w~EYAO2pd?@MZ8J!#^Crj3O@*y~e?fUN?-Dz@t!3jhQbR`Wi zFkA~_2B<@`aZv{;fLc>eLpJa4aU!18bsSOAOu{6#d!ybEfo_nQf%Rp^Sjv^G5OXN} zXz;wHxwFk)Fuj@^VOyZdrI)}0PT7I)-8}MYVsb{gC>D&nml^#u(-6)JX5geuK-0(L ze(dp2A1ASNj31wz53iv^e9DYEGY5 &N``-cewt=j|~SNcU|?VGL27ERC8>` z#n{$?sR4CV*!SI@_thZ+1R#ypMUI S8JsI3?b9wY z*)A@v=FHs^v;TxA>%Cr&a=b()wgTq4%kmh5BUe;D2iqfBUuV3NO9|HEQaM*#c$!b! zUyPWK(yG{%7K>M<` `A<8nk9xO{*9TGP<~IS1mN-enfG7)2i#kzkg@r>Xac@&OY5CQG z`^tf-2_r}ScS`8YYFey kvIR1Ce9FzS0;Acp1O%RV+~R_%3yc+^s$^p1Plb^%kI z<-5GRLSkhbElw`Ad>4z84)IEh=^c^k-xdW~Xb2Y7Pl5 ! zHDp*&Z~}!+^oA=lLSU_Vucg^^SrLT8zJmx-nlU?|;pe3H8V~T0E4b)&&7B@zqAim_ zbDW6H!1IgS1-5QJG3;&@ebb^$xf=eUNk7e3FGc5LR0Jn&-Z15Qr+?~Q*-S^u9#f#- zI%9&(0%`6n?4WnjN>w6F6YZ+s<^pes8CmvS+%dA-)#|o4dGJ;3oay$S!~>?-*Lp6P z9B;Za6M7j^O{c|I8N~``sM$Qp3_wQN+`J@!_z3ryQ9$-w@*^j8!7{7j55h>C8;@QT z5&)(rMM(pIqJs|8miLTSAp|V-7dPu=JVGxgM0nU-CkU}zOgB%Yb!O!h#nPS;O+WrH z_}uCDgjpcH0@*}_=njKQnrT0vY0z^1IRVJTQRD%E_7)LhFc1GQ|KPLk<>EMp$4gw? z`vBWO+2^kYC?z0faMUlpbN_tH1pj8t4ZaaAL&{{m>&$=Gxx<1}o+a6Z#g^#S8wN#D zLrv!){25j%?<1H|_g? t}Mj318p z&Jk&Kn!}(wpb*&o#WfrAC#Ls0JwD6X9+7BuDIj4yc*<0~20%me0aOS;@}?u3iXoQ* zC*5M2BdUPir3WGM0oY2kcQr~h4Za%i(Bnsd$9u+Q6!p=Wv4*UI4+KlGbf^(Xu!Y_I zo{;*(Q}3Z(Y7`swe{9r1c4}(?l 8`8 zHbdAapuYI%>|Ley=oEJ=(egmi+pBbQ0kk?eP6P_PK{5FFLo=0G;N`jpH-o_8i95xG zCZ;n g(sh%m~-iGd *+!c?HlA^!{19;_~rEB#fZ8kI%PBqkd>3WD@1fEk0i#Vvf! <2(}mjPZxhUX;s#|(+LIZnsT2;7cQ_eYR21z~jY$nI5mT%GoncR+CAj=u6K zG7qBcxk~5PbNzLQuw EnAYUJ1M3*d!wc>?kx2cJm>Y#)Ib26052deT^%XK9CGP2 z!0Ju1@Gy9Sj8`EhC$7`qBj7~WOK5e3z$**7JFtA71hk3XH zfKjd(zC#N6#d;OIME4-r;`IFb-!uDne9W}x;orxzJ$nj+Y;%HztX^MI|9Q~#+?;p@ zVC2v2C{#}1&%&r`NdpG%*OoU4c(N}}|G5<1MT0rtQHgXtb>LG-VnqqvNE+ Sg-| z$Rg^=7;oMut0(Dhc{~F#$7u*VLK3?H11keuCsV?O%}%yFA4dY?iXq#@nZf_%e_7-6 z!WSsa!()SdDN@RsEh&G4g=~PAFtWud)7?Kddfrb-`n?s0Kg&rc<*yZ~{P7@9H#Q)^ zRT>YnN-F}{)`d(I8Qaw#vrAR9aWj _{i?A>L`-7AW@vt$VmjU2 zJE_`vvJ){zg7inlh?od1j>ATpFacryQUwxNxf!gJmYMv+6BJ)_^nq3fUy4J)U(Bm1 z4pb`IWxS)%6|I)(TDr);H(^Z7uHUTXpsh2e$r%#9!4qT^+X8rQ0Fc0e%yug57wS?c|p2}&F|6*ifcm(W$3OlTD)b_uiOid&dj!nE5A3@6$~#57h!%V36c&7x(pRJ zNdc1>$Y?gGIpJoPH7HGiOn_RNxlst(ASxpY!3`>{Cyjliq54(gEK6VQv~2~Y8Enul zenO|0=yCVGpJSJY=5h>o3GxL#=~9lI9U$KSTU#y-#?pyCz$0ajX}#t<9MfpmJ!|aC z(R=gocP;q_0kjtx=67A}%Ne>Jl!U)kwz!|*eY_=Ukk_xX+3#JWV4QxF_bY&!P((v~ z`Mj3x!Z 7mtta)|9^j=c2>a9Q= z8+-@iv+!~}&N7LuCvZXN76+>%2M>4Yz1JfNkCmyvKr^1EYYerHC47}u|3>GBjVkyE z=-MgnFG21U(;XI%KNhv+HfkhAG;*gSbFtu`&fpxPKkGmS#*VhEL$0g?;fNjXQ@nWo zlKtUpwueJC61qhA28ppOz2JnmSB+ AA7AgF6z^E(dV4S?VSXiZ(|&$d18ug3Vk@cfQPdZS`RiID7K z8lEhgngEE*d`UWSep9`vW8X-60e(P;8$X-hA42A)P2Svk-jI~#!&$p?d+Li`f3*Qg z`&YLA#8gPlVtZcdjb9t*-J}1GUS4cLm C^;I*wBL*X=TzO 2W6fPpK56-Ru<$*hVwT;SBYK&WM_PuhVW>+ZQ&CyP%vTqLC@3yAD}|4g@$VPI zae!d6R%kb2uFbx2aSF-5joiW~{?u6b6v0s0%%Cd+-U0+%+%7}v1152SkZaHYkAuw0 zKkmd3u<{Nxb>@YlWr~6}M-0gu5~8a?V=dDt*^OXFiEkC$Ocie2b(XD*zvyzl!-C3S zvc~Z|mTBdqb!8xcD8KfEiz@!vP}>=d2-D`sG`3PBrJiG`r}5M^;7EBFB-$Yo)XV;E zJ9-{VD}{~P%Z4XaAn?s$f$oqzlt7DNpGh5ZACFu*c{Ny$z!8$9(`nviB;`7o;nHZ| zEO>q_hCJLe(wT=>WtGC@JH<+9bcmh?C)6dx1y&4GgJ5_rq(6w(p_1k8eWZ1F!_*ta ztp~IRxes );cT)l70xf@sGMP;B(tM zB E)nI9kr%0Hriy2Ni?((-q>C0|$2z*Eif3w6W;hU>@UkQx@N+pw z=<}DSYFn{b>VJ;)MJW}ZWZvqCz3oB!F3D}9RYaZW!z mb@m zKd@9W)F1$Eba7<7g$P1`?|lH_E-twNL8Gtp@OwED+4wVJw1g-?Rf~ii8a8!7g0lh0 z@5y$jT@N|{Zz7YgTwoCIijfzWZ78O!kvTfjNC#bxFS8ScbWCY_n}wLVq86nK5lq^@ z#*bp+R9K{&qY5Cyk8P3*s>i*1`0V26vyXSa6owm~-h`ooAxI{f`1uki_*2>2uw-so zpZ9#dWi~AZ%8$@>zQduPE}f! wrO@%6 =i%UXgGxS7Q#&c%nU-zzTs;v!O0`6DoL~9@#}9xMYq(erBTjr_E!b zf?r--ZzI6zfE*`jPVLJ! ?^|8ZjwBi4m(pp~ED`_r?bcVT zO#Xadd?nSoOr{YFvehjLJ$$MIuXDihFjuo#R193$5P>kG<&TGgca`)9p o*D6}Qyh+p$F(=6 zaY$VGGj5ZXxBncJ^!!`3mrkCCXds!7iiGvx&pHe~EBcL{X}WTEe4_-&!m(b$NSmDT z0nLW%;LfzPa3a)N@;E&f;`L)-!1%T+e&FipRHALTv+Q)c&?l4#)aJ?nRES%aOMbvS z-q|pGe)3ByK97sm(5Ltc`_ZZHG+Uid3$Ni;=hn3~AG(g6N&eaHnY?l=5Y$YE1pr;A z8luqs!$z{ZlVZc&k;dkTnQCA#+x36T6#g z$rHlRaBD*l2ObNIXd34+y8nA5r~BcGL(oh>hpK3=5^FzW>C3bIwx%y~wUxYQtqfJM z860WqjCVMUh4z0Nt?FMfF!YEo2wCJty$=a!;WlT<2tRobtMgWevSfBcYub|J5 mwT`9ZIN^hIhzeH=LN_X*N=7~A0403QiPHpNSMaCf_mseN$!#nQI8 zxS{CB(4Ef=rQ>@?!Ao!c^L?49`RyL}zgIr36Ku1%sA3Z!XLe!yX$24CM|1F0aFIGY z7<0r +zJ`SLBOguYAVj?f{{gN5kwjK>?Qg3Jb3NAu<4-csNVExm~q#ZUq> zhoBz3H~}JvZ&6{(0!Prg7C-A;qEnv-8X2}1;rBAxnv;#~|3jNGr xlqKTQHF1izz=EFjbUQ)(+1Vi-i-@gCpnev(ti-onKK z&XmndPYxzVsqzO>#FYM1yhk!I`^o*vGzmS3ngk1N;-V~NnBkk+BNi7r-LIOGNU)9* zleqpZ8hH{br&56jT?)_^ypm4)p4%{CsyE@5&psW$oTSOBOKCggK=q3dJaSKYNor(R zLV*8T3W qgKch9#n;%^?a_=pm1gThOkKojiX9tto2W3TG5ip)@=jN zmm-NulqjB_6Fj_~D;pgNObHqvSALLw _fB)*Ew?CMuDQ%g#l>{R!iyR@?&>9zIPT^^Ca0ZS zqu}b>f@SPoY-0*a`WYauU6%Cnqx%AuSi=b6YjsQI5~LFmqu4=pvt4Mdh7*M2PYe`E zB=h=Owxde4#k@SZAE$j7a(eZS(>$2!jO`rrNEWOl>${gSC?{7?8v3y4Crf@&Op`o} zD#?VW*1hp52{Mg+a4VuT?W^o;bzEgKsqB+?e3|*z5@{*$6J+7}0ghKZt=|2G2X~26 zQgAVtvBWtQEJYsB-E}R_+CHLk3MKei3|`CKB=ftkVXIFxVv)vChyd#ai8Bya`b>2L zEChKg5|}MsJb=_RovQNX o z;?*~fs6(jytYiwGYi*QNLaYiF+KXhV4ypT%C9kI=jm|y@ixUPluST?4 8G3?ve7Gu*vGK0gEMR+vV#Nlyko?BT^!s;W3GB3uCF O51 zFvq&~n4%~*_=gMysCyEpa{P9H-Z5xO!k+3vAz=r!?KR0nHwdY9XEjZz++&gl2<5+u zgc#|8F^BW6cFWw!hFnhJe%Xenk>NY$=eEqWEPKnft5Y0aG3@Iuduu6*BaQl!Ju$Rw ztR*te3&pe#gZK{Jh4Ey;;syD)L5r4N4i0|{6Kk_a-&oFsjZNdMouIDcX;)!-JaQsy z`z1P3NxS=j=Nj;VegoD@Zo;3PJ0Vn1ZZf4L?z >7J0 +L^ zM$lh!-~LsSWYyG+!pYouRIqWDe6b;5Lg_J9u#mO>+q&*OH(f(o9Y~RGW?;CENY|0u z91mCFLAWHiSn0c{1BDL&Y>{CZ=R%(9s&`(O`G75oTn89L84Mhm ur zAKept5L@9%0ukwX=OIC!@%oFcV$y=qhcuxl5Z(Y13rd|84^9vk{TWqVdans4nZ>*( zS4piFny=2`L&HlAZ2@1zhTm4ZavU2*pgLMgbTm^;Cdgn~vT13%mj;C {4yytei?kZt6xP)$(TFfCUUZH%H*RV=PYMG=1@Sa;fd zEjv2S1NB1bf-9bg2XhKOf@{4nN`ozK;ERS(~><) z&)VVFhHbjIC>Fb3lltn)OH;H$GuS>|w>XgxHR7NUAJ#ptaU|LnQE+{uKPp_AuUy%_ zptQG+Zb?tz>ype5+N&dAUJ0obzSF@Sspmi220blC&z|UyEtQ^}UT+e{y0hWsL|YTQ zgeIJNU|eIJU!i>COfWVQ%RHCD65pz_1jv-iuRB%((5d!^?_tvLw&uY3<_n)8IoQV+ z1OkYc0yL&mi``FqWC7~2i0ZZgi6z9y9K?8%;=?>gk{}ItrQ*HQMufcE7kWpA;7@RY zvKKRY8JRMOe3dHyLydpzvVZRB6f)`5fU4d+9xVJ*S=g?yl%}G@-Wn@Nv43*y77xAu zpM-$O)=qB`YCbsJm7XPyYz>J2D6K_jN) zaYQ3Q-uG8ob9?Y#k(j0Pzx}x=W(Edtiv2)|<=7RjY~nl;1t{ zsLw^I;igQ!|7p&(=Y26#l7F~6hDF3reu`-dLNo(-YorJe u=o365th*82Me42~(@}Ng#f92X7jF%Tn1F{8N0DcGp zIQiQ)Hgw-PK;JX*Qz;s9WAvihV+iX&rU524B49HUC>9R2CB^xN!)^mK&Sc`h6~u=t z^tFk!ADLq#8I1-rv-w2D#*D;}E*iq#9Yq|noSLKVOgi(_RU=!hnhNuv?-~*@qvG4$ ze{SnYl55vNth9wlZpK#IvUF8)Zhte|y;9h1Jj^d)W}S(Oh#TYdCDG*J*>E87+yxA= zp8tf;iB^sU7iAdUWH+yx;5=Z)z9=)Lz8^R)p%<-pDUCabk{O2>C&b!^$MtIoovHMR z7E-yWTHReY6Q9wGWGo-ZOge568d^^0Rc{!=qN~w4jz&4~cQu|DuK8*+OQ4l9Wie}& zSLPvw!m2OyH#9orC!bwYrv@uoc;?Eo1!{hj5}`+AdalP^6Itj)Q{C!@NR}z8mMg{> zk6q4PT*UBTh8FhI3$Of6L%mqTZiu;FG(j&~hHxpmh%q_0^a8{OC}dkk#(y)~2v3W5 z@!fDqriw_QazhNx1ZNNIbA0aMbpf@=xHb3zHN_!{qapggcUSiomsG{(l`RRH3Ng_H zJID%ex#e2GFQXhL;f3;1Ck05c54DHF%)zAfv2^OhX+kQS>3X?EAT><0WCngbsW!Y| zHnY6#B`DLT#oQXBmk>iZiIPZ&F*QAB`-%q1bhZ^ZYUnE0hnqv|_#pL4ReCA{951=mLah_>$)%rr2{PLN`8%`^W zuG*_PSyU0ZR1p9okcBuo;^4+#dUr5ReO cGJ)ZwD^s%?@wAQql#h7^cl_nsjo#-tgVzGD2lu-|gu?C*+M zc*1sgz(x*&IA!TFB})X3I`k)9n?=wK8kr9RUM&xn{gTo5zbhtaltOEgBlt)_T3@z2 z%T8k0Tw7 7rZz*TK{)mVpo xQ_+7l>F1LbOeIoJTG!^VdLs3{?=X)tQ5>bEt!us!L9+Ensvz zS9J&Y;5|ruXEN)(*r$5mKeXT0<@GKM(WHC@@mgMzeFH!HzA@wI2G55wW9wI{1gKby zrsux)mEBOkvO5h+)GIHAROr;Joih5IW({6DKGx*#i~I0**G$fh8wMlJ$Li^U>P1vl zMM=zVAPGE!Wm>F98qB{NmQkqod!>97v+5+^J}%}Wt@i$|-YP)N#Vzi=TjzE}f~^a` zS9q?iJ=iD$Jw324d^(jqeC95>|F$Z^+AsNf>33pT_I0Anyt3F6l^0hl+{(arHiPba zY*_AV&YI_y8||4ryCxYU!$i^K$CpM9eSADL!A BWS+LDk%jhbBg96v%gLk1%ko^YtV_{~gTF#-2On$Z-d1L;xG&K{5xi_UD$a&2f$_ z?}w~5E{wg#3w_4jyrgw@zGXYey1VE4esRTE&3ra<^ otkO(O@IG<)K#l!Cpz{&S zUCbtQ0IU49TP}_@^u=BO^c+^+w+nLH49fDZ%l^bTy0k4v@Q&P{Ic8Nn6jBEqE%LqA ze3ihlF|YZX@f%yY|IWq12f25S>#? ?qn<-}k8UM;e%+<=(Gk)gtj#&hj={G+2MPG7GpAjKM zUIT>kcjt4Q&IoLP)&c6jaOTAz@i6iWE~K5KoMg~;?Hl`XYBYEAU`P0;Emv|aVG;)R zrhaEeo^X0*ysCv)JP)!%WrkTJN+CKxY?k&xx`@8ScFdmXGj41HE^_p)bRVyDXD;BD z-*hJD%Zu!E`;Pa(yw|`?&3U?M&J|4m&X$wR @7|H{J3ThAR89zX%1! z(>T|u+V!iqT?>b2t-tUHk7qV#=P|D;tqtpvLsZm6aT@8yL2`S@rCe#2X3CCiXJ+QR zpZjCRY{J&;P6zoE$C`Yj_neN1KQjDxck+0LawB?{p*N-u`xldJ)BFUg*Rs qQ9L>dTCQKo 1?XrVxb3K_b3)#}or zTEB9ITD58*Lxu<)GOM-_A+u-?rHvc6t)aATv!2CD2&>*hZRyf=8<+3ct9!{38pdof zvu2H*F>|KU g&0(Vq4 K3`0$|Uc=9A}z6kH#J9zFea-{4rbLMg+MPiN} zayQA9*m~;@F7qYLj2J<}#BI)5Ri;as?$oK2=h3J`r4sErwdmHd*M;u2`n9{)!iB|) zZyUF6UA}77`-Ln2z1p>Hv7R+lw*K9~fb+67UR8!LrdVT*QBzH3FfkZgOC`Cp*+38( zG+O>=7kV}kMHOwhnsJq_1QKnSVN+selL@zyZz{4R6KpMVMAJ#wG(!j=f;^WKb 78BK)Yoe@#gEr+eS_Wl}( zyQw&$f;X8n?PMqBMy^eBvUpNV7` ;E&ZsbwNt5M7~wPxZ?%?u;VFsDO1E$59+{!K`a0B=od zRI_`%b-=8Km-djSj+MK35^p6dd1J}#@!W3X`kz|C3LBr^SDCe+n0@Qlv0;fZ#%5%2 zeopO6u7MA^pgT+YDC?91t*GVeLTI$Sl*xD*N28xE3?ax6V*2ULya_W(Q+K60R-+EV zYWE$dz|K0q^Bu#0cb SiNimTtLRxVU=MsCl0~^C= zgCP7s2NOU+1fhh&AXYd-W+1RBt5S+oK9w*9Iwh7)%3azZ7#1~tML%ZqQpo1>tG8XS zj&?x|$}V=XIj$v{`3cZ{z!W@|W$!Vj9FBt)sWhZvvyqUR9J@R+8UHQFXEXdr(ZVqs z8Vv#q>SQ7)MPLFE45J#JW8}N4!3-R6?M47Apeh%}umi@jY)?W{^}GWW8yzM<5Hx5n z<2V;L!jVd7`AXk@`Ox^Vhgif~<{YJG7(*DyF_3WvHQN3+K1Et)QsZpbN^ V}3Glv+2z+{({ft@N &U`(Umz>c$Zsi-OO? Mo~?GL#LqK0GrAdF-nw;I{HQ#>M9 z&uSdvI&(l$KLzNVBsJ$@yX1;0V@a{!O>Ce5#>?+?%Q3mU&0@&=)iO~A(O_AyK6*=N zRR#e#!HrZh3tFzs_L@z}b#}Tky__~@qo`_B!x=p7t{=SXhx}nr8U54DhN?l6Zb?L2 zd1`ODFhhu({7ZIUG+;l~#+|Ye0>E1H+E5DWKwEL8dS;rft~LfoVAUn8Y~!dK--0Dv zfovFef!= BifiK5)!V`wt z%U2Y~_o-JD5_Y8e&)&t>mfD$0@X|P*{)Ey>mu>77B69mi-L~zGX2n=S*=AAN&T&2Y zQPSVC2blzIcu+0$un(IHVo0qt#f){Vo*#>h( OEnUdWvUG7*I*o7jv)sx=iA-<%M|Q_h*4 z0>1+`s-)4Yv0@TfUbWf URN(bLT9EtT2GO#EClWE18fS S2sVm6QYU2o=cys6>5%w{{qXiWj@kdKMv`@>#iVT9Iv>Af+I*)= zCQ(=`suH`E^eDWQi>K3_W`?=pGVa`7SxRgaOwE%SAUh&hZh-mQz4OgI%W&9-GBeuI z&)2hR2s`1#ZivGHy|~AP3w)`;It&w^63E+VC^+(BQ*yF#(;D>AVF^$5M($OSf7Lx@ zCSk1T4)eO(z1$8pCfr7dbF*?#cpj7MmnGagmqjM>*JLxiSkz{K|9g@WTF8VXZnN-Z zz4PDGehUZNub%|8+Olkl84J^O)Oy>GL~6ZP8}_>oDpV*1b(`*WRsZ6vb*#~=;2YV- zm-`q-?@0;qt<8nu+pGRf#&TJUN<~i5*xGZI7$a>)vQ^&oVP4{JUj_ y4< z9>zUPkvIkK0NB}FM=qU8TxrGGtqpLIT 7!;g~ WEl%y-*cq9~MqZ=P{rm!i!BAg6T D5IGR{oW*wi3|(dm(j?A+Jd7}VP74y)*me!L&q ;Yb{ z*q;rC6*JTyAL8Ef+!5f>9F;szvkcQS)ztwem(m=f3^5>#Jl{-B5_KVxhcVYfJ|iL? z%?1{oH!TBGVNH%8jB{j73Z5WUnbv8+m85w^%9N0P4Bj&BQA6Dp{n6trMik#2f|!lf z2F(qY)Fj<}TL7BHAP~r7Y)=9jj;tl45=vupx!0|^PlI3+gOJ1_A|*Ax&zeaM)i_#x zk>2d2{@y31UJ8=Tvar^dc$6!a308m^2JvA%3X}0HPjCUt9 uh2JenDmjVX#p$^al( eSzAJwm%)Y3nPpk+;$QTfRRGT5P{R@K8^6t(L>6UKN+UB0T<64( zGFH=IYJ`j&jUrOhU=0ICZe+A63{?e`*&N1wphuIrpLk@HT(P0_Boo9G6M``hL>U4i zgl9a`;*_Y{@TKN`xXs_Nk#!D*VhAHKc28an-2%#5aqcGct&{`Sr={FywH#7!^oFMX zG?$5_*fR7>Kp_lKCSVaAaSDY_@i#U2{^ogPW3DuU2{yro+8-e}sEZNcGMsa09I z;kvblXodxWw23nS9YN~lHR^@~9wdIc*%Ky`ed1;`LgPogPx~Mi |I^7V+#^k+wGmI>7qTxoDBlb4dR>B`?+Ob_}}^svP+ zst{f!A--fGR7NCl@+M6kBcV9RZw_W`$jEKX2ymzlH9!k93_@bSCuAhqk!}Zmd8F4h z39Km8xBbP+l*e#!36_LRn8=Ee)Q4^X#=P+!FnK8b)!{Chm6d&(d}J!Fum%1i*p-XE z&~Q}J5?W$WA||{f 12UNn!G$d;waRxakBmF-@t>fVUb4F+i{ACA?h3P!%^+pc2ZP#$E_ z SO*MlN@mewD&*>}%G!)TJvB6J4ffPsq9Ec$Axc*AC0g1#QnJO++ zlvx^rEz86NMy%*uYUa^+#$=Us8JF7Mh|*onNfeouDf7VWvc@Y^3LTr->Wl^_6Fwtv zCZkE61kjSiiQH7_2t#*umoOwO>L|uB2!kNd0UNAA6D+|5OaKLp00~Gf9LT|sOiTl9 z#l}gdwc^s1G8Dv=B$;NWw_WIbTm?PKoGf-~#)u}%Qdum3MN1@%%7Rt4Z3V7yl2 zM!>^-PNEf7 U=00&9%PjYes9kc-*6vJad?qV5(5pjYbY=RX)K@%{+5=1}+ zOh5!oKm}}W6kGuuM8|?wEX249tat^cIgFFB7TN%zT 9J?j&xtsGren&C=>#@@(@OCtn3_Qr!gP5p4YkLot|e_L{Kia6%hY zFXgVmWI=%wECC2qKm^#Z4P&n6Mu8M$!RK~l#Wu{6P;1znVt|FmVF(ZZy4}uY=^i0V zL0ydQ$|Bw9pD^ui9KNL7!EJo(g+!(1yn!rACf{AD1othkea@*hT4Gb$DF~w&HNf%o z+Sy|{mcjZ#8?*r%ltCM;ffkf60t~ 2>hpf^Ut-tcBCer2?&(0TAZS7!e}N1 2tY}XbV&z501QAjXY)2Ez)Rz>`fjciT!E>O9r=OcN3G;e4$o6GQ@4R* zxA6^` n(9bNu$L91%sxktztUTrEbMd~Q8=4fA?7#ue= zGaU0V4?;1}0VjlS7c7A@Q?p5z^jnWKH4gv*B=SphvrBg~=7PWoG{MwD6;_#z{9>{~ z LaC=}UPXK%2^5 e+=$Pgb|Bvc5=pE~2*EN2-k!=p`(YCe;j?0Pb> zL|9E;_AbH=c b>I* =k-fVKm_zP36wwyNbMD5!H>*}S3+9o9uOOH>nie6tLPj6l8H%f ztaVPd&Q*{ChbaSd41aLiKkF`V)m8$_a)<&UQuoq*H(g~o&U{j3A#HF%&gN{os30Zl zv*c8vrV|#7FB6Oa1Q>E655R+yv`Sm}Zwo*JO!#l3`AQ>q0#E=5P(TSpfh50g9P9)o zN9cVeYNWCjX$?;^$+NqKH>dv1R)99iIB|*R#cnyZL4#Uv1rq@i@XUc(%9bWsrRSFo z!+2?RoO1Q@G2dWe*K3cp{=yo#nk2^b9??%R0TVPq1t>ToUvpiDxr3+l0+9Kd55Sri zz%=Xn060JdPyh*d_?%zC`^v%Rj^8=Y3bVWBLY26A&@<~@^^33KNN(r@_l;8XI6R)~ z?v3p7Ai^-fqL|jMOxmK6Z*f!m+%jNS&^5Ul`!Y(Ln2QQHfs>AbE3KUkf*@c)q$Q!$8 zT{Z>^5xAW>!!XePK^9Q%_%^`^)UXX7GD~B9HY0qkJ9wBY0Ga!G0q{Bjpt%FAbQAP2 z#?JvIgCFT~RcS%mfaDH^MQ4 QoIno8%t;J>T$G7<|t8%OzIy&AR&z5C&r!9j& zizgr9;XQ}w7MGg4rwd*}v@T2KiKQ4dkW_5r`+ze>zfbP?LIIc4@C~=LHmkl%WBtJ^ zJOPlo!gu{|+jRjT0Gbnk*iZ8aL`VECdt?H!bgy`}0fKabym(uxCwGjP5YI%#*8{62 zXy1632sx?7QSjY3J}>^c<)LYw>{9P|vn&I;d{~DuWlNdEGH|||xJls9Hos4<6pSy` zgMbYqGG6}cHU6*u>LdI$Bf!=JL;wN{0t_%na6p3r4jLe6Pyj)J0SF9^kTM5QMvWQ^ zZOj;`5XeF!M}iD=GUP}@gh(1{8OV@Gm?BG(Bzb71A)Pu45pwCX5Ko*g58*s?@=&3q zLkShlSrls2Lx`kGHDq+CPNP?+Qgudkr`Dl|npQR26;WEMW^*nxXRaFDw{zdRn`;*@ zUAWb%IrHm`nX_hsn=xZn*x4{bga&1?0;Nfa5fvuPNRR-*Wz3p6ciyZyb7st TyF)OTy0*Voq7-514W{4mG3^^msvkpCzAOQ&`n1F&2OiUm(0t6C3 z#Q|8Gr~udokf;EK0!Uzv-h2aOBp!R~Z8slBI*z83Xu3|gm4ad^CY507DWxab(kVLk zmg_02`F wA2g=K!DZ;5C8xH{sdsi zQv|a3jW-^JY_206e=KPyn~dx!IG}2!PPpcDG7_fa$np}pIInbxsHl()N-Q$#iwey3 zz$+8lG}B^+KIqtNv&^!fLUXO6d^#jQyYf7@8a|g9hTLTW`^&IlhUt?KI@Yja4ag*< zV1`CRQ#8>;Ka2oU5+@y@gc7EZ;tDt%h9e6(vVg;i5fCsfMNtU?6#xJhlCgmR0%!sw zlt?13xFbUX(#MmOT+U>aeo|>kW^G 4=S3=OA0ycn1za0@xn6p*>Jn!%GqrX zVP=_YjivHiZm|k4T%DGw#vQ(}ack=V3G?e+conPHUI?3L!U+m0ivUCZfjxv9?hx&c z6mJUj9)W~}r ;Nk{66&Zj46cWIH4k Y9qDDZDv9Py0v($WLL@9 Xla92lZpr_=rpSxkA;U=#@68Cj2Zs+>0Jb3#`PSdy+cvP zG92Pez%nEO@ U<8AdD9=|)Nj0%=PYm1@;=sx&ViAj1 zoI@-zf|1+6a+ZkWVhKuvnobR1W2I7oi)NIX08HREuIfn1+DIiR$tNr#`Hf8yIGhI- zi&ujjVbF-86mO1YTkaW&vb-}MYuyoR^Z^T-%+xzL)&6Q|!t tGpawID z;g~fX$_W}m01@jp%1}m%l%|B#-Vmm+zg+=v@SEjCCrZnWSTS?A!3Zo9S3e0{%pi|* zQK>)$s)@{I08Nm?Mr5)w