From 423c7d79eb1bed5b598b2ffc77267303f3309f5f Mon Sep 17 00:00:00 2001
From: nift4
**Multi-boot for smartphones!**
+ +## What is it? + +Android Boot Manager is an Android app and a couple of bootloader modifications, which are all based +on a library called droidboot_gui. Additionally, there are scripts that automate patching operating +systems created by third parties to work in the multi-boot environment. + +The Android app is the configuration frontend which oversees installing and updating operating +systems, partitioning the storage and installing and configuring the bootloader modifications. + +The bootloader modifications are responsible for showing a graphical selection UI at boot time that +lets you select the operating system you intend to start. There are three types of supported +bootloaders: +1. First-stage bootloader modifications, which means you modify/replace the bootloader that would + usually start the Linux kernel. We prefer this. +2. Creating or porting a second-stage bootloader, which will be loaded instead of the kernel and + later loading the kernel from the second-stage bootloader. This is also good. +3. The "no-bootloader workaround ramdisk", which runs inside the kernel and flashes the boot the + user wants to boot, then reboots the device. This is really just a workaround. + +(A solution akin to MultiROM's kexec-hardboot would also be possible, however, we currently aren't +pursuing this.) + +The scripts and device configuration files for the App are stored in the +[Scripts](https://github.com/Android-Boot-Manager/Scripts) and +[ABM-json](https://github.com/Android-Boot-Manager/ABM-json/tree/master/devices) repositories. +These are intended to be very flexible and support many devices without changing the App code, +at least not unless we release a major new feature. The operating systems are usually created by +other communities and we only modify them to work in a multi-boot setup. Right now, Halium-based +operating systems like [UBports' Ubuntu Touch](https://ubuntu-touch.io/) or +[Droidian](https://droidian.org/) are supported best. We also support +[SailfishOS](https://sailfishos.org/), and we are working on installing multiple Android systems as +well. + +## What devices are supported? + +1. First-stage bootloaders + - MediaTek lk + - [Volla Phone (yggdrasil)](https://github.com/Android-Boot-Manager/droidboot_device_volla_yggdrasil) - MT6763 + - Volla Phone X (yggdrasilx) - MT6763 + - [Volla Phone 22 (mimameid)](https://github.com/Android-Boot-Manager/droidboot_device_volla_mimameid) - MT6768 + - [Volla Phone X23 (vidofnir)](https://github.com/Android-Boot-Manager/droidboot_device_gigaset_gx4) - MT6789 + - [U-Boot](https://github.com/Android-Boot-Manager/droidboot_device_generic_u-boot) + - Qualcomm ABL EFI LinuxLoader + - [F(x)tec Pro1](https://github.com/Android-Boot-Manager/droidboot_device_fxtec_pro1) - not ported to 0.3 yet +2. Second-stage bootloaders + - [Project Renegade's EDKII for MSM](https://github.com/Android-Boot-Manager/droidboot_device_renegade-uefi) + - msmnilePkg - WIP? + - [lk2nd](https://github.com/Android-Boot-Manager/droidboot_device_qcom_lk2nd) + +## How do I install it? +You need a rooted and supported device to get started. The detailed instructions can be found on our +[MediaWiki instance](https://wiki.andbootmgr.org). + +## Why? +Why not? + +## Screenshots +| ![Screenshot 1](buildutils/screenshot/abm1.png) | ![Screenshot 2](buildutils/screenshot/abm2.png) | ![Screenshot 3](buildutils/screenshot/abm3.png) | +|-------------------------------------------------|-------------------------------------------------|-------------------------------------------------| +| ![Screenshot 4](buildutils/screenshot/abm4.png) | ![Screenshot 6](buildutils/screenshot/abm5.png) | ![Screenshot 6](buildutils/screenshot/abm6.png) | + +## Credits +- [M1cha](https://github.com/M1cha) for efidroid, arguably the best approach for multi-booting +- [Mis012](https://github.com/Mis012) for re-boot2, which we borrowed some code from +- [Renegade Project](https://github.com/edk2-porting) for edk2-msm +- [WOA msmnile](https://github.com/woa-msmnile/msmnilePkg) for msmnilePkg +- [calebccff](https://github.com/calebccff) \ No newline at end of file diff --git a/buildutils/screenshot/abm1.png b/buildutils/screenshot/abm1.png new file mode 100644 index 0000000000000000000000000000000000000000..6bf5ffd88f6f44549089727b6d51e42924992723 GIT binary patch literal 109474 zcmeFZbyQXD*Dj0&2vRB`DF`T?(jhG%(p}QcmTtBIf^;L@9h+|0NJ>k0cXw_!oSWx) zzjvJT=NaRS@BIEaYbdV0SbMEI<~`@Uu6f=5RQM=`g+Yvgf`Wo2{a#!N1?3?R3d&<@ z^!wn7bE(D!3d%hn6AfuoIXM)1a0wmd(LEHD2jJ}9-HrF|{d@kH8l1DC+ov79K0yTCLFA$23%ZB zJY1%4nK(Ilc$j!N-WoC)a&xe88@}b>Fkt6GVPIwF1Mfk3@V^Yje|P_$;Qu@<{|CGL zI^@+fc-%b)B`Hyq;(pRi@Zo`jsI&??I{NgY`~nKfOB88w5f#_Oomm%86*I&A+ja9g z$;Q-=iehBA{@xmz&65m5yzwzB8ukic4JnA1yIUq3$&ou8djqmSMu zdatu2s&j!dBshF=%NY4}_=gyzUV<{iroqJ27@wg5*keNg#<|YU=+o~V0C)Y-bKq@K z5|Wby-MIw?BuDw%8&7dr53u-15e(8wfW2HC2puzDj+E2UnE?e`;0x|DV{FU`zKIEa z9<^~52K7eN@4q!W!B7}!%M4{#RaK>xilE~eW0&=Do5<&k3f@dC155-~hl}&m53Rn~nKePYb55a!U}C ?uN3>=wH8nEt>S29s|u~G-eaX zKD+bN;BC{WJM{1|97S#Q>G^qBgBEK+^9@bo$J^^4>ozzx<5A?FXHf}l3FcK$RbSK4 zn3$MgxxIb!#@ukIxsi5tEFjp%6?vCKuvpr%5&?Cm#d1e*L5hapN>;hq06hs%_mFzu z8thJ0%D_tQaQX`Z;UzNx=j&f(rJomDMn=-O{nz@EV#C8JeKyL^+_)Z;VOAkHs_2RY z?>w#P4)C-&F^vV|#Tb+TCPtai0P1w9aAhL&%Py=YyQ*Uu6^Q0tfOxf9==!1+(s)w@ zibQ|@{Fz7W?MFw&%+xyM <5?_(+uxtV|fo_8{QVWpnt{SdD P+jfqB)peg04I@=kpUeV7qeQ%U`?`H?<26dIgEsn0z#EL_{l7ufTwwoi9+c! zYT5YNV8c_N%SiZsB<)8fuEZh)klQ!-0<;CJ4Pxu%0B8#!=9Ymy^&^u7YG4ncS!JcI zg`xG9c1*zK4{x8EmTO+7otqxYAsA`_E&vqMPxR0*YC53pzj0Xto1`KlmU?>`DSeKN z%FQILzhiow?_segaB!4!68BX!SPUO!W6}K`8ai6+q`-zQd+fu{myTJov$JI)qLQMM zlA;AO-$`3^p;36UUI*_tA@ ~4zDA;8F9##(c@cD+@gpTYq-S0D(L2%?Q z pqdA^Lfr&iQwE}TmwBE{41#L>^44cp@t9Q*34yX?yP~dQq+(F7bNcuqmye@k z7{Ztn(+6||05s9c$20oWc&$52nfV2_81deZN0IaNY`Ckk1-4f1f+U~NqL&s@{2@od zyZT3ZLBTetF9D7za_~7RsX!*q2W{=?_Vhps&kGR=3E%Q+AQ^fsFRdoYgh?46pAf)| zKZyaVGC+Ry2n}ue$K{>UvB_)w3={z!x6gLJeY;O7{^`@F#ahwnhfSjXpokGY-@u|@ zYmG3NF6XLwiFtVx%>WY6G|DuQ-y#u2I;t7K B!dj4x3zs^yrMTU5j(ARzFU z)cm%iBfA5jyM3f5Y-r!yA56;e`he^`C0ExPq;(4@T7r}gxyB7w>?n0Tcws`R-{@Xh zTMLrO7E P z!-1C4_c__3qc?RZ{y$|c3T&++F2FBQ^N42*Iy$+Gj*sHpTFg(903`+3XAsgK5^xki z`QSHDbBb&p8JB8wGj!|1()Ki$rL4bO85kHSDk_3~Xh6s(CnpCI8rzU8Y#hwcpFbZz zd9t&&R}40h@Tg3s0m1pf!Dp~d!ycAZmOfOKUBj^l?Kn6%0GnZe7!vpcKoJ$q_DFfu z2wxzD{eyp2YB1hzcit9E4+)-OfHVa=c=dz?k+&K*NdC1CX8lo4dbj)x*(raUk<~t% zWeWQDJdxMs>bA^feo#^Oant^JUW5$&Drq>bs3ws(uE@#^_4LHVp7V6a-oi&noySm; z+x~2&tqx?bH)*rhif`Jsvnq}3ea9zOTC_-C>M(_OZ_uI~^7-~dUy)%*t3FlA+fwip z7Hs8Hb+Q~E;~i~0gE^OZ#684c7-Tg&OEjwze&utww`jZ*?(FPD&JQvqVRxid1oiBn z+ETN9ax--RQf%S^Qd{!%n==+A`>{;s&wC%m;Z#0;vST ^d8FRC*Lp* z{_q@Je!aQz2Cl`Vhrn!n^)Q0%wU}n)6_B|Ao9r(J8`wf0-Q5WG9^bBpvzSl<@=R-5 z?3ptmK7OU!uqkC*(Y5y0M<7M{lwZ0JYOicS#x=~xkb;=O@cMt z-2A1y0PvqiKIC8+96+rye=8rX`?)ziv+?$JCuirXiV9L*_cmiL-g@xgshATA(xaf_ z }TbazOXbc2%8(hUOA-3=nmqPs!q?ymD+dq2;3?+@qWJH|O@ zJluQid&64mT35_D|M82-qIb9+W$;>UTJ5$wQW*;LwvzqLW|2r3qH(I6NKgdxXYY?Y z)i^Qiu1Qk}t7`x{Pb505`jG1a>34T%Ga&(b0#0RmX5!*Ob8AQ!3(?Vq?8tSswCRau z?IXUFl;jPy#gtdHv>QuTBRyJLX#q$+-KME2#I7jDGao#5_D@L39~WPiQP#Q|+1utv zTH0DJJA3uJhlg^B2KvS{uU=77Q=6F>?d=}2R8&* UEA*>FhPoJz!7ILq3Vy z1*;=rA|D~Z3dse2Bpcw|sxgX&^HWt-CEOf8IM~5lWrXqYSsx3aK9m5W4AII|Ma5O~ z!vMUI;$lJWjbd)c7-glfIUsrg=a)U%0(n%jM>1(D7E&P&PMhcUM(I#7FHE*c5<(0T zH7SKRpxh_U5Y2@p0m_1fisEc)x~;T;P&2Ig>{b}C(n?4>fj5XdRMJLX0@M2X`t;GF zEMj%e)e;dp3v6~2)5t>v5xI2?qTRhK7X+)HN#Z1|!BbPY_;>*=FN&bSiSk_jW_aep z+FJH=TU+ZOdlzW1I~YIx=k!|9-s%`Wy?6Vd!u5x1=N_~h2erj9dMGn7;d4Li;d7}Y zGc!^H3?2&F>^{wnjoQMiNS&SjbNJi}iNW8kAxm5MeLE_d@*e#E8_R#q! 0R7{liZdV3?)PdD2vxwyI2r%rsU zT+D@p+T*1hkdplE<9 0??@p~+ zz5buyTdrG Uvp_Kw6JH$hVBVOjxkB&E9@%pD4e2V +7$6dzw{MakyW O~9l0X>l9(71^YQul`Q+48brnZ!tn#ku^e0C_csEz_EA`q> zM-0&^e{aI0g`e&` gem~fe{R9-082*1G!~gSsHSNy(a#35h$E+uhydR%4 zY^NPt$7Bl_aqdyU!qJ_Fe2QO$G?$SYd6ceTKKGX}loroDZRn6w`wNR|okRPkPJasW zegB(Ti~Q7oOyd71e*F?EAn^Waz{w(JCvZ z{(A};zHMF2-k4s(kkI)S1mYkRRy}zXvF&|nac^%=bfP+r!=d ^Iw!ay}aHF2;3#|SMz7Hh=Fc__1dsdNSH0-R$Cu& z;E9B*tLwtBysSL?BBm^W`FO0xgKPT$0KxL}c{?4Q2oTAm&6(=CXacB-l*^4T&S#eb z^I@Lh@*-ma2D*AosSJCd|2O ey(Qpw$En8m znM@RQfn=?|-gTzVnXI^dY^c!vHJzin>rBCo^yAf0c{n$s1|ld{DQKu5Ew<6pfsuFr zCKl?-`uh1Co@ q4j&Itc*(?*03gOzCuvYL0kSV(8$YMXcP! zrvhZoVcm+TDL#aAgJ1&&fwpjT{9ny&g`!VB#cMEQ-U|l#+CVdPW@bkHjyb5sHxo9$ z&whvA*n1B_J39v`z~toR)hjKUZRi5v)&n^qIVBm=PtaOrWo5&K0q_?6saY$n`Dc1M zFtHu%?Ea Q2IoHWO z+S v-C3-Q6hj|d1h=H`e!mRDD^GBVl_2)qLX%OxU#o{@-!MedHIq@tt@ zQ-%IJQBhGXzT}6=g@t|NgEj|lNaU`}G)$TCEA?k+>o8}JfPn{eR yL>-%Aq^$K-=|8-ZRJoe^jCz~NxXBl@l%4(+t7hU;`!U;0fN#hOoDtISZPIfIJT z9A>I{S-RlD#=-@t8Oce>?&q&g+5`LH3}d~#Y}w@V=j{P;p4<{?S%8utm*aBzd(4Vc zUwG)#F4P{&Y9jZn?r0_|rVO|oNR N$`U{&nw?G }6!gGckQB$g z5)?hoQX&@WuPR-`rd65W+~mpW9Lko1IJr2uBHcL60C({Fccga%QPTo- tt?mcE)XK~O`AW!aetE#HnaLo`hY#?6(8f^Sd8v3X- zH^T*gNsDu1VLc`FSYBR-|1mua5FP+67T3YNG%%u(ZNKS|QWB#^ulph2J)o}%-Gn2I zebi%AJ3G4^^?Eh?OHBZOHk@?yprC)qhiw5Ew!B_s9|HIB Q(!iieWW%t8RW{gVqBwRY+N&RYXtUi$EYCbsQ*Xf$3|x)Dv*tM6SzSc(Jk}%!QN* z=^HO^tzn>{L7G3jb^s4%e{XLBRBjeU;|*G4rlv+ln0$Z)+^1$|AvZl+4V~k@#DSF ~N4*$`kB&!DiItEl8hi?Q$ zZOfMaIax{&7x^e1sH~(M^DNfNK@~vpK7A`&TlHdx02)Mk4;Ov@V$!R#52e DUY zL&=u)C^(TJ4GSSp@sA#VPMkL{CkH=AO=d7q&-NzjEy(RZ&W!JGI&LY|AvEaMM+^B4 zK4RnGY;hKd8;k=k0xf&cYpOi%2SPV^L2NNk7CUJJ(o&W?5f&B_8|iqAXavR#-<|lM z$|d^2yYih~QOZh6S@)hg%;mC%vDWSGQg_h*yg)rvuXZt+C;Yqe=VZOOhl(<_D9hsN z@?y1L`7R@7naKq9EaAf^Pf8#XxjHO~54RNCJ2=?b*r?T6oB%@^RG%THDr0oI;~J=9 zsu$aAM-qgu|706Bg1$Q}tbbzS?4+T`a?c`s3An}}pkcuIghmuWr|fdlp@SfGZgm~Y zt+e0MeP`$K@Fh35^Ct r=%L4?xMzPpsbC6K#K1`sYKCY}t^PvZd^HlK`~oXc^a_bSFVS?J2zoH|TNbfU?r z$>O3SFXu^s6}Y*$JRW)qcqY0WW+HWmx?@g%V$oXz?{`xx0MDTDk_h_zXxkXDB9DyJ zA5A+(px?xad{Teaa3;*p1z~4;(w?Qmer=;%ERIW3PEF1=-{li;f5uB 9f7p*W0GLAIg9D2{syUH1f7#*!+7=>Yf-GSSGf_8 zc!zUU$vw9BTs6GDsO8IJHp{EKGFvb 0m)va*2a3!Vi$cE#276n zNmQgS?h>`^so@d6F3dJm7846(Fwq?hkN_c7*ky_4o+nv8aLQ|HoWLRgrZD6q5z@9m z9)Ouh^iD{~Tz%$-t>Lcxtl9;4vGK4FhYmgDg1ygR2G1UD{F&4Ac$k~(ZqP7mTHwS3 zK`r{t%zr zBdx69&=rr#z-?N!D-S#sv%w_JA{zA?tJh3SGIunYp0yInXr;GO%^^{9KR-V~?xo!Y z1T2JuYX^^lAH5gXw(X&ajReHke-D$E()k_Vw}ga3)}xZcN0@b4WvW$9?Je1Gr5#@v zN}f8lcOl|mYkR?rp`BvL_?ebQh00!88L>36fEJ}=>FQeV-O%`PYjJUrg`QrcwI0ki zM4!KHehWmY8T&1QY`Td!AMVw6Cd}l^Rv7*>=osko4_4Q5P3_fGRdaI?`x14P$6Y|Y zBNYOL-^odjs|zqJL89DWoyvk;BPEyrnD5x`OabqG>LuhbM27BC(Iqd89|Utan!dz~ z%a+Z`%q_GL12&Sjw6=nNlvsarQ_~adfFdq=&}H1@nVQway_(34XZ(}RA;uwu!^_A6 zzCArXJsR{BjfI1z8Ja1@>o3X4_2#?+o a#c ziCc|zg>b$XH!fEHDQQc9v}!mxd3$T+*!B>&9-8M^SXcm>rIMs)h>-Mri+xRO+5&K) zSON#T@e&$BRi$M `R=v8sWefgV7V4q)YZtN*h=ySTHbx;_0^h0|T-7 z+W3HAZwPT`b5risAS9(}$#eqYp`j_F1LEQ$@@~FW5*CL6>zd>fYiJpCnKvdNUAK8C zqY^Ma?~u_ldCUyBw)wIjgs(?WA3Y@` )Z!+FmB`IBU&51d&H zTW7Yfx4OuLA{OBJL1ubtcSh1F3UmpHs&$&9GWoGJGz#J!QL=$!9Bs&FAMnF@>FBuo zy%2c!PC>bx6|^3jegV k&&NI_sU+QFbCGB8;OM9eEog>{Rh_ss7*uvn+tHT zv$L}rQfH_G>O(^my A=%+MsTU$y)W7Y#b8qyyyq3fTTQU$iaD4U_MB!_a^;KBMDTn8Ev;3?s+ zEsAJ@s%(F%=Dh(95X0|++**@PaHRb*SNJC-+rZR7ZurasQl%38zBWv<;rPc-pH`YT z0&dBYr&4G!h&gzTC4#@((9kGME*}_-rC<3Y@ai)lJp`_z$3vcJo>d3w2nd?;H0r^X zFDxPAsZL?|PZX9#o@;O`D^X=rc|Lr88^fsjT9zy=4NZyacw<&>uIvLhH{*k)Q5HxZ z+^cLRGo*V+g?tkqnN@qVtHaR^7qVlczDI#@kSoPh-mv|Z{F|wz9kq*P ^n#jyB7CXPYU(!L~J%{aO zoCOq~MIIg=n)$C3Ye+~*1@64ocosE^*2a=?!3fw|D5V}u&X}rGj^Z&Ih_ZVKmG1^8 zAq`X8lYvWv-i;BBasl>Zt#fjhv_u{-wTg1*yOddTB{gI -K_%=HhRV5gi8F41CF)J-i5DGo7jmhcfHTXKd4S zlg{O=8IPS6B0eVv$MqZ6^*|jO5| GoiZe=@(N lHL&F%g{6t2_ZcsLO#Uo+pl>~9YI`gB}YIVC!pkv<@ z3IW|Jl1Cjcp(1tOPM+xRGzVT@YAz=WZQnk?4GyQ4dw^#Rwo^NiL0A2wOiua|us%b7 z2KU}=2yP3g2e3eD(k=ojwQ5zRxKa!}E?CyROrB97cE>FB#1q*~)+|K7(I5nx1)f?m zz_f#oD`6RdnE`V2^ Iq<8&CLRtnFf4!QuDQc?x-BT20b}A zbG3d9!sH8^rrlUyEivEyl=np~UH*^@wu5 k-xo>;2S;e2Tup7crgvAC!-y}r`sISq z@f0*g(TeCwbUJNMsC9((h9>({MArh=!j|iH-NH-6VR&q0HhyOev(vABe&jlsR$ROn zz&cYAY{{>BE)OK>UFi6k)$bkpgp!Br@$vIJJ39&1Idj1v0X>TsfdXSRHNBBs6$9Q9 zSc73^kU-UeLdn#&nk9@G0TR4X@&+OR6oKho9%(D6C#WN!V;kgbbL%c_`2vQh2Rj5% z>KYnm JN+zgFv#7FLjNPg$E1O$e9UbkF z9UwWG2eF^8-h^Mj0sg4K34-bagsaCm4`T}w&yUHWN`(xt{`5%wVE<6G?$=%QAxV2X zI||}Wm>bko)Z-I`f8G4AiY7)H)xJimJFsi&{{CVxJ5qmQErPHs2gMA^FbKGzDg0Ol zMKBh|E#pMuBfdBu%TuT`IIB5=;=#|9u=bKzD8zJra -n&J*DRB>5Mrvyzt~7d zQR^)fJU|QY-{v NNkxeZ&n*aNf_@%o23RX&=f}~=h(a|d%cTh@c;0!U# z+R%kM%b=vQpAPk1US7f+gYFw!^{c#||3G=m7mB8!F&?`tc`a^bbE+CZ{$|o gGo-d zeaLR93)s1br`OY3e~0+I^89>&d~ mt^!GOyNWK8vW^(e>;S5+OA|fI{s~Vr4=K0z&TK+34$^eA2fzjA=3mZUih4BZG zMp$G^t;Q-7_$- %fUAMP^qnnz(W|gvk4Mg*x z6WSc;Iov-w3M%F~q@`zJu{nd@*-jIUP{{kb@u>kzX!G_Qu5YZYJQX*vsV@dvvy1N8 zp+R3Cu{uL+7budh_5=w((yYKlqWBlRT9Gtog4}fh0m~9AD;#mqW+Mu?J`fo(K ?`1VhBU=!TxIF+&&e@SF82U?jtUO}KWvvH&Y2yMS=+d!r!Q5N8VyJd zxEy)&!n(&+@e7ax!um^oyws=M+#@+^@nKQNu9tHoWt{wJf4faxPgiJTSrw~eL7&p# zc4BTmFk`m{r5dMp1a!)0=^e~cf~L>|0-r6EE7Np#IxR+TK)eNJdMfJ8n+jzFc+Z}7 zt5?t`@Bu(~bsAX@rMp}rIQv3LvVesJ&r5Y`s*Z=pp;pbl9f6>xWoG6)d%vW>AG9u2 zt_heXKrSO?rej*Uk6eLO6f>?g;R&hG<+3;L{_d_+q5;s~fL;f^|Kj3-krDX|Z3qLQ zk1^>~>x`@Mn(A(~v^1UnU2@eqL1kfL!N!RU3lA?ZE48 V&QyZW^xi#>4fHy=OvibUVqTcXAQUAwx& zN;NF9S94#g6nFRc&ll)i5~9BU;2}m>tV~sxo8dsGesE~S+S-P>ykzv%yZn**D$8{E z*)2#<*W0SQXsx?c;wB dbK3dz zKo%mzhB$Yr!vPg3RZ~w?p*3RBT^;{fDaF~eB2g2-z_Bb-TOyQ@0i>u_Z%sa3XL*f# zZvyUmflDpW0d_&_)`4IVh9vkiy@O2JWKpUjm_@yQ77!tBbF@D=G@OOW(lTcB2>V%; z qTN}%t#{X}<@MDniv_3`KR`^|71jUn!PHa@p`ZCH&>C;?fbdd7&Y|kG zAgAWMtNgOWcBW4G &U1qfxhhvsYG~&yvn{{wd z1qJ=i5+I&J{|@|4%UO_*8%Pmcl_s$k#thNZPHW;gblmhDfG+W}()9oXoyWy%SJX~n zRK7JZfTm;9R_@Nucs3_7@ol{yQ BAmg9x^gA z!+}E(C{XD8W%e@)xC;5ByB2>ZC#zOp?IvFSA?%6cW Z7dYi+t?3$^6zPB%QJV1i+3B(C72#E}#-y~4OtJ1%5C^N-6x^xRjP#3> z#vt%C4$}tz&=Y>=2hysu{W&xTY-cS2Yhz<635R0|+=erf5)!@OJ^DUD`-l?{ma3SL zWc;I}BiHRE48blXaDI`ZgMP-^a9-(QC9;5Q0Wdx@FRwBo-uZB{(p%}fZPd@7?+%VT zhO)^*+sC7UqEc?UK&Ql1ajx|4-LcF_S3lHagL9xW*%+^N)LQWH^vrCnth65%TU%La zr=w_7DR^U#OF*y?bv-mRWN;38^2*fUn@G3xz8j1_!@M&yDQ8q_*w*o@XU6O;m$J}f z7I2<~MMf%9f8M&h0EVA5hox?}Kb*9giAkvq15B#Mhro1^G;im Fn<@;-GTJhtkzq%%1(=bjsd+gpzL`*1R}%UqAvJA zci13l0{CBkFf0tNAVT$6VuxfC4A)kT6OAk7WW~3ZEm_tTScgKI{f6dh&kn`YC=h|S z;-`n{1*~nnAO8MSHcp_~dR 7b0F `1;0b5lHJ*^B3IH4IVKuEIYjDIGJQ5p7&^f{EY)bZUP{MDa3Ao)5{qWv zB`DJN!XpzWcGkTP)>_7%y`rI!31Vbm$cbOv+R7KhkJMp5dmnfMZU5jvHmJI~W!mK@ zLaPxI@tyJ7TxD?t=bws|)?;oyRrWV`{%q)2&*H-s68EM2jak(Fl%Z`0B9xYT_6w5c zo~Wefk&~5}goO1bYZ3b;Oo(6^zHdu5>l9Q}r^Z`q6V*wHT=s?sS+X5AzKnBo<;K(J z%}J6hMD`m)XUZw_I8R1#dvsf`4^2Jxe0XuAtSn0A-o1Mnt;1vy{;h0V#^ue=)WL=p z!VODD$>dTWz(~KXVKFNpc92o|UR{00I8mOBA)dgoQ4sW?Y?=BFke;hS;Wj4D^_m8B zXkc&-+VYu;jTuvg`tJ7zU9_~-yq5}7raET>; cRq8Rg4q1^0-C6~wfnKjY$F#h2m-u&nN1p!(Hbl`l^n?*J04e?8za&i=V2 zXL9n(@Ht=KjyZBMw)GTRJzw5~c^2kmxR{c%vW}wlt*tGd63uT7Qx}y4oS?K9ON6-f zYj26}`0RxDVlWi?gePQn3cy;oU_oa{JpD+~f1itIxfq)AOr z_wDx Q>!xGDq-fws!089y r`r?V|8B@h*l3_iqr#d~!G ztNFrB#R$-zn$6Fv)L5;^xwwEgp@kA)Ye#C%2j0BLmr>y*j$a?p7jmARETImKvB6Wk z+CFkEw}ALUuV!a=Y+HBnTm5Pm=PkzOnie}cY}N3~2lsU0B~YPU4nq?&q-lWPadq4h z`ykJ~Piw}OsEIt$Wn8;<$Z>i54|BFWrP (hmn9QnE;fPu9w@yMudi~*L7a|RN`ao4d0y^tBGY5Pv9!m z?J`_Q0-^#nUH$%Kpx(szIHY_)bsyZ!FWR-RK8g)I4D9nmCJ{6+@4hx@9FK{+CW{qA zKl${6aAtY)xuYe dJ&M{1Ku`KeE5<`6@ScL839?7UQ1gX1nYc7f|07dZP$n_Yq z%G$YXO%`4ia(-*sQV0A`g_9A#dwR@v{xF z`+DQz=t#^QuQjC36k7!4=-?p0zD{e`_7F04=c9|Gwbj-4bux;w2i~mHc3T%mwCVXW zij&Cg3dpsVM~Jsdag7 z%PYx;8fq_yCu0<=P3_Wntfn&EK> >nG%$e5TAdd7yC8FBIzB_(Av=ulx}QIfxVKRqLq)^utU4W|?MPQt!~yV&`xC{-kU z4oal*8Rwp0gwy?j(ZNqFvEi=;pald?2$sc+Z>WNz0V>8+FJDS==Vd s6I#6#S7OKqmeMc|47ngASmB77Rp3?+6y@2?W z?@_|nAO7ym7aRr25R2Jq1TwYbIbS9=a@1k-YX2mKN(TE`%+HfdES=fSsFUVoXB&-X z!@9R>4(+?BL{mk#1;_M^H;8~2-n4Pd{Uyu#rGlwI{G2D`^e5h0hf(9?6=6h8@mZ+@ z!alCokKGKV8vVXNy+lb4(oc$)`^DVQFtoHueP=J==@1tYqkA@=u}pDLk!Na0&R;J; z=oge9gzGmV5$X9bx!g8P=*1!JHasbgKRnP?ALHzg85}%QE*cDEQEdt#-pWDZpusc< z7>kL?7_g$*DFDR+T4($6YA! @G(?!Z~Urbed_@{(SvtXO8@EgLih43d{}b zCPzmz@L|#CfzUGCJy~U6T(u>vqqESK`3OwYf?ff6+rXggR1aMGv&F*9jEtx$pX$7? zm_qODs?K~)r&=|rMCBLYBZN0Tul5grRq0GZa9S~?@AzV?wv5ThXSV<>QGPYJOYbAk z2J?-CeG_Dv7xS&WQsh`FHFhhFs?~AIshTv7DBxULu60rryaY9-4C~7$eEuANGcqbF zj45hAgp@# R&2qH%7euBkzgSOCue$SoTfv06m6em#Zu!CI z05m=}qPAsU?*?N8W+S<)qpMT(q6iwv#L043S5Sw_I6a|q8S*P5Ppz6|k!iD?^YCD&vr|+@AyO^h^&~YCs>vV%&NNYVpu?9rEM%pM z6c3i20WUa3odB;i1FDOQ^>kiI2P$ZcT #6 zWl+`@Q?|DQ8=fAJ$ZMB>G&Kjbv}i_df7dx_>q{9nh0em4V%W==lv x}abr?Bz%;qExdrJ% ?AEma#a~uMW(p9p&h#d1iRKN z 2suvv_}VO10W{V!Fkg3hf-&$!DR2S8WzmHGTRr=`$3-PL31|1O-BVDIdP8 z9%$I=EA4h>alC0*J>b^$K5#=zdk1zU$S5>jrGxNYK)4CgOexFD+y065^L{|c5-qBY zZGCy}IXPJaEtt-(Hrz^W9~wk>xGYXx<>&cjJNeckv#(HYT^(k-s)Onp4v`{ALpBVA zXDJo%+E%BSYl!<0v5>d9SvEWzGY-VYzkZRgpoh*;E(~{o<->n4pnU}8rNF0k(#p&% z5mF!!n-%RAy{@LriRN)Wg`SnGD=#Z+`Sf%hNUY#EAT=(WS^0jQ_115NaQQyRwt{Z)saF$|Gck@ zC @d;!ZOJ?-v1StD5PF728$#lBA$+OupRD+Sx=*i1HIwH phG7%k)^P2QrF0~3a0$htW=!M)@_jR(W;h0V zrP4{Ti9Ei0{5+|!_-CA)u-(QwKqo<1{M{czU>hgIm)J4fTEup-JY4;gT!b$a^4!Pl zF`V(b$O(Z{fjztH0A{F>+Ts& J?!-?6DwfL%*RdB*p(ZY6soy>qmF-BDl?F78imUT{AOi }-a%_b`6<&6Jes`NhP4s81O7&}ZJr_{FWUN?R3 zw8{;)j(3w=AA-9qrHWkkH?E#7<1nNqE^pzL=yz9DwRBXqpuLrYMeege$LD-@N=06W zKlL|7?e`e$BwJulG~aPA3!)OXd;ULmduhBJql*_!&o|4|S4rY;@W_*|Fi1s|*_Ox* zVxtE*2f)3e7ZMh3?-)J)JFL!@XCGZvl3QC@lcwO_`0EZ8hM?kCg{RC>%(ioTu`a8# zXg^75!2c86A8~coT5|jYIO`6yQC+PZv~-od1?2iVaX~7?AL3m#9}?+u)UM8vie_*Z z-4Ksz^%-^P9y4T(zdR^;J$uBu9n9D0;-tRrH+7CXVwHkd*&QK9bheKI66Ws&!=>Ab zXwVh0EoAg35#m?5m`1z(p{|%upOJqeM_xCI%}c+w-ipYCb3AgnKMUzsEL2Ql25VG| z1S%m$x5FFo$Pl{4E1tBx18e(YIsR(tt}X-OI%D&{)rpbM@+ 4Xer)!)v5j~x{ zp|~+Y8%-Ue1Rx+;9ee^Cs+b&P7Y6%u=LLTY5FITtOlNq|HD(Q8{p%ftNhNKzP0M>S zK+RsVFqluQ%6I7&S0z;z8+~$pg)1|dN%=b1XDxzjZGHTnQuT3k)SV^QboeN}CJaa; z9NxKgrF%-{^J7tMO$~{^Rq4|!R3x6R7Jcv1-D}aIW2 RwNpgRt6_28@-m;?qj_XohQYi*r;dT{~q6tt>N+y`~iMTi3+VDVWa;|$| vw)>vY7(P0KaVwA|AOcPAgH6{AWRbs>g)@~iWRQ*LXu}k_4TU5HF zv;ZFcD{g8*7_;;UE6uMfDKL{86w*+yJ*gfH`jdw#)1)Ey$YuI%p=9?AXLHPG+fClY z7ocu{W6v!tVgB^2mCo@A5Z>Q=@R&b9GxCqrTLC1T?LR7`H==cK=e6*C)wOJp?ajJ< zGOyoBQ)Sc|P|0G1_jrK%Q-cs&*`lK`W=4KzBKB&vnYO-nZOV#6=nm*PkWV|~Q?VjT z^zF`~;nt1T_nn=TY~<*Qk3(n>A@gXoq9ZGk!JagqG$R(i^(w$^y2laUO%tnX{E!HS znV+P~T~>r{yx5w_BD`EogTeAm)pMBclplAJU*IOHzVn58yjYJK@)3-ucZ!d!?04t2 z;ldg})KY->ob= PV*PSNTb5W4v zpOYXW5gI;U|C=x^Mnr-$arnE`&G#YSV-o^+mQA>wi-H=$$bsllbT344?QLpq%2>0M z@8^aeFW>Qt#207N-!3)|At6xahGXd`kO*-U=Nv@e8aG1`{{kaa=uSMz&@{EJjX;YA zLo`YI(CH!^OXWKWi4a3{$#WUQt?)G!ZB7StqzcR#A|}?5KzCjXt_|Vo$L K73*J^u3KKOQm~#oyd{(_?NWjBDojR&BqM`_NQkd0!ghQNt8mrf^69@CHw;0< z#|k6+^l+AfVrnhDS6DK)TU~^b3sYIDXKRYH8GYj>aGu2&sctGGhk8FrU$07RO8aZh zv0F=c%7&x{pT9Eb$+sq`kY`L1hLH<}h}oX*zSSGif1;Q79GuZ#9nr!SeOBzBoxDC3 zo$U=uB+0lsCyD-*rrv3syul8u_#eq39>6pGGlf^_IsQyIO5Un+*|fWtc;w^(%#@0f z23_U8skoYCM0ainJ!B2&ThrfFth{+f(5Qsp2a^befCc=Yf$BKbBvgF%YUOn8E$A10 z5e$OoA8$3kZmK6gf6ZHbtDka1r2W=_FN}nPMT)PfHEGM)mWgcT!dcolJlPqP*sn%N zL47&9>-Ee`O5o#8A$lTvB@2HY$B~fz$6%c|=7m51!V>Tel|y!)W9l-0X83mk)dI6X zBB5*K=0D#U*`K+4vSV9XkS?rf{RjDuYExU^&$T}o?EG%e`HH1mPFQb`fTYVumLdA1 z>&ahMj`)OsKN>cknLMy^wcBhKH(fIc@8XD$C0QB#_SZqEc?dZNgu?hG1+uc}oNasR z*$R2Kw$4UY9d!(c;i>;h(a&(El%1h=be*Z^C?wn3Jc-OYl@cOXEOU%kNTmGFq~xT) zOO6_w@59hhhZ1K@;s>SWV?!sWV_SLCgkDO`|GJLRi$#^L+M>h2#r-DHR(Y)vochW* zTNQH3#=4UJww!;YuX#^po>ypsx`iV9m4%bs$?>*Xk18ia#S?cwGN5jJX>Gk&OeG0N z<{ls#;V7}MT=ScWtF}?d9}sf?C>r1UM)=XqaPMT7fI(EaiOdHJkdj#Shhf+;Mt|Je zxR{Bw6kp!wuy(kTaixH1nieyj5o!g`#k{L_cdT6mf1t)`so1qH%uz*%a`m1=029Mq zDh$1Ma>0hrIxNxae0+rOY~N3)>Y>el<*+w*C8-i|_N! YhGmh>`zTTAqv z+m#Fp9U=?;s$#7kD|~6y+TniMleZGlD2P6FzQ-Zo$2ntr)VSw27hf~7I8*WLjGl ZA5%kxW_cc`TFB|N6kyW+My z4oZzfbrerVLdJ}ReGv+UpN-xN4}U_dm;8L$8P4x%YjzKBEwz*mHd{woH&P%TFlHfd z?ozDN*o$jtrYlD8POP&kfc#V}J@PpT(^y-L(?JL*rB&Q~3yz;rUMV=m&(Hq)cCtdf z_>(63c{tPMbwrk*g{gXl&7P>XNC157XG1i7%*AzNnA_ac!%AX$?Kx(Q_TXDwWSx`E zZpezH&m3J=PSy7N2G49(aaNX*tZWSBCd>^Mc!Z&(=!$K8lUHQ-o3V({6#?URscT@= z?$;v5e95QHf1UWe2I`dBga4{ijMwx{_49I}PRV#xCvBfynqr_IHhbfdfc^nGtXE$$ ze|*B)(NGE28Ka54aCZBfp4#$`^u0%u$IbW0CpR4&?lIFja!hc<;>8#lZG}gUJc*Q< zG&C|BT(L52l#1Ule!ZoX5+Lg4>#X1sdfQRni_h;NcC9UcI!3J-edDT^g-->qw2S`t zmyiA_V3-G8O7ztpcw!TMf~XvCUT>dyex*VGNULC?DcSxc i)j7x35b_pD47S_@Ksub>So%W@KIc$We141 z?|uOXq#!*BNiJM@k6q@+yR$bG+d>MyRcqO)$1bog7G4~}lhufld=||ohv&b0(UcsQ zdrq8*k;}|R$RA`TA(>IG9-(6}8u{*y=3ezql&dxJ{arT#L=l7)t*^U0-lzRF$Dqp6 zRKH_AUfcY1JiZogC5lOMFgu9x`*wgIi}GcvuMM9!zL*+bKtXAI1QIO>x&Pe=_#fT} z`Tzg&k$xhxOke{8_6g9_0^z mD#7;#7&beoag`Zp4&cyLK%+JUm@29zsiZUf)&E zwBzk^>v^9#=ZAN`pxk-f$?o$=LrklvDK6)oaFN@dzus0&uCndg(C~$w-qJ*_d^K}k zX7quBE>{^>(SmtD#rKemH #ynQgf3m9 z!I+`ap_7vnxB)BC2Iyyn+nk_yUI%Sd9%ijtexLpmwC3H8UDz;|IT6*pL4#hGt;VgR zJ(Rqbs}= edPEqDpArQZU4jeBNQOx)4Mm=ZErWY1l`fbwBx&Vy -&3zs!Jy|W`&9%OBV65DOEr^|+uL`v zlc*_QXTmZBTYmjX@s9YW!0FjK2fI6eAeDL^q*wG7cGcbQw1Ot*n%}UAWAQfUQ|xDQ z-_ >Pa)nhN@(E7Iw}@#|uq{mceivjGEM-T7k3*Vr?{55#FIb#~EzlT{wDg5fy@ z{c^`lp0TlUuZ3g?I4IRja`}pc+EqBlu{)D-aGZJ*x_r+^P%8Cb#?PDE!)=Ej7;NPT zGmQK9$EL}_GY?<)fq}oU7T?QjWmaDUU$z$X7C7T$v_zeF+S_q)vQ`HXkKI5+N4q+z zzckyWg9b&tcQG}7)?H>F_qMMs(_GwK2w_C8>Y1-`YI%M+=pXd$KIBeY)Pd}w-tN!K z*ygf}WUa#E4H2^x990!1khU8dn5?X=@i#vf7w-|lc{S!D@IlFNyd9JL{?8}i*aFjl zg{7>ZKx1|u8~@39!x`cBiIXpn?H1?C-*t %*b zFmeDn{U*YWo~#lizi(Z>ejtg7inH6EWwyoqYf<@G5Dd)A>)ppl9}IcKG`+1L&9Jhu z784UQJ;P4rGuX9udjW=HZ1~-}jH$buwbfm;T?N->64WIm9%2&kCqPdf8yg$B3HWIr ztl<=tufFogudS^u*meMHG3z=;V 1H|y9vvFWH@^TxPmlLF zX@J}S@DRZ@myz?v1buWTg@KHcVN7*3=ZP=yJjeQr K}D=XGASvXWss(Sog(WnOM9ucM?D{N>CX zGLYoFCk!fwp}8#oegDZx6^oMVUte(3UPun55U5^9&hhV!%cod)m?F=Yzt$xce&qs& z99Vvzu~OW-y%$6L(0D}<$O|SbR5Zp2*#n&|ksFk^q|_u|MVj3 2F2J@CY54cdag*Vb^rG^x?W=XeVX$L-s N3-HgJ0Z+IHe`b#}f0`-eq*TolE$7i?_c zsqo_AcX@SXWw5MY+1NEC$>YW*-J~`ZciyMFE8YSPf7~$OhW#U;iv5EM&d^9Dee|x9QJQOYK@DJ zKXIxPONT9{6QiP*S5}g`pL}|ZVH*Tn%*)HmKMxW_;j4QEJ2Qb|CW&GNRMa=M?*ZF- zb`9jP5_ u)-vT8g-FE0 z9OfK+f5a!PDI1V4@c$W~#8xMqDcmWvJ~?e$zGE$-ycr}zb#S pJoudN+Tw-FG@> Zvhf~74bSDZoWLBrLbdgga zpVeDTB3L+e{;OQJiGj&Al#=pt{?@f7kEYmAR@#-N+kYCHo%X*2f*toa~3KGkI zHZ^-`h`F^LbgMwdYh`TJ<8T8dj@L0^a?ixr_#F6QAeg`HRVYt{Mb^@NM5DUr z77Tm_2c{u5WieQVTUy?OoMdjb70l!3twGEMOMkm|t=biAjT<{52s+s3AK8VU8 HN4gP-W?h$Y_4Cq5@Hk28VRpv7Zzky6pU+LgZNc3I2R=0 zeDc=h 4$&M%v`mu@owrHx4gMZWv cYRaKFIR1XZ6~7m5q}=b zoL`)4-dx?@rdJfotxc&dDEL0vB Cp4 zz6K6CC@60q!tTt8mn+h9GX}u3X=-}6uL`Ql2q%2Yg0XdvV~>!(k1eU}gWZ>n#}s)I zuWBysVfC}r>xrJUynzBK8F+82sH&6)6zMQT0R>0OCoDMtA{RJ%fMJ*c-5~M9JFir0 z-bvC=3=HhSepHUf+ex0n`j%{*ob}EpCWWCZxzC}6ut4yU{n@j}4hL&UvxPDhzxT%V zyb_t$P`>&5*IWjzv23y>)s&POX8(YFLjTfChgrZ1i0Xa2tMuK`a@lb#JG%+i*RkQ< zA5xi5@X-3dG|ug=+aIpstqrT f z+tmHT+b9La#ne GJ^HRTld6d=v|JWPe5$MCR@_P1}Q zRhX~crqQ2W`E!^1jfAkTutMiYB6}N~!#-l=|Ha%}##NnmZNpmyqy$vDMM9;!TR<8S z>2B$eE+qs>5hSHSx*I7$N?JfbTDp;zd>1p<+|PBt*YCZb_rvqyVdldy fM_X6Fa8ip 8$%G@1h4UG>%gM`!)y92{ zUcg=9NFQBa_s;X!U%Bnh4a!3h38h`?I;%Rvy_=_Yv9?}3`y09fFx>5&&+CBVgW{Rb zSlM^B94G=7k0>VT&IzR_wWnl)Wg+&nv;RY4;%V7YmK<%y)(|!CIPZXy8RRB8w^>)% zpaiyd^?d`Em3tDF1ZJ^k^=IG|t!{r0(cD4dV@0h*;&8Fywt`VnT57+%MHba-UMsAa zEX3>fi#o9vsz$H_`Qb^8B$dsG{Q$+!erux^aw8o$MIj(>Wo#uQPbwp0;@Fvsi|bR? zr^rTQ=<1}Ng qKNO`T`Y%A3Sn;M`P85I24bwiK^#=fFd}g70Hzhr`E?goL!A za!D84-BhzHVXebhr>LW;TL xEiUY`M1y6rDv>4)5k`~A^EBQ z0B5ALP4qg9n~0viUT?PpSsr9 kT^emh>S>8d9*#*u(v<{>^S%_ zRcYPzlQ)Kb3CA_A53)evJF!?Tf5JBC C@L1tRgAU34vf;>}v0(AT zVq!I8a3lN8HI*0AsX+>#D=`c4RrF1<^y7)lnqUsY)W?)7^~~pdT~E9+h 0FF?@ Vh_r8*GnlKko%z%^W*Yj0+BcjV3R3evjp&XD3OYDF7 |L8{6MK2G1yB;_MF*F5E{m z7faO>Tu@pwH$AhV95aGb)-; r|5PhIL*xsU7ai)Q6_ z@1ulguG!<^G73xzel=uudP3g-)khT`N~ZEdm7}6gRk-#a5_5BLe#*?Osja();2~82 zr;aZ5h1x&0bc!huxN)5=ud!sMN$8xJ!j@uX_Ho7#fwYTDb*)dAaTzGUA83Y#hbiay zXMf60O*OP}%vE`G^~}2!sOCQuLavj2GycN*9s>ua_q(<%iQtduAYX~P8 2*sXtSA&s+t?>dAvibD^P!U*jBZ0KvremsezWJ4iqjXfVkOwh2 zxk8<#M~z2j)+cEi<(ip7+ngD$F1E0O;^NkGdZ#`rj=X7YQ 1@;!?fEYg>_ z`4ZGece+dsNd*TIC#;;Domwmiq1$|k_6YInZ5P@D%`tV-ghMdr)lJso6k)Lcxk|Cp z&zCGgp7E9^3=FN7q?*oxCRdk?mqoab;K@40-qI5OmE`y7GQE$?pIEEFPQ##79SDIt zQRv88iBIMyEmddN%d=i`YqVk^%j1XsV5`P~5S)ooj3}8T*FAsmVARnelfdhqqP#D7 zpMfJ(0Gc~)+nLM<_BF9bW>OG^7a0 4ZmYiMh$Jo*6e%TRYz#q3+s$IJaGwl7|k@^yU?GBo&939-UpP7sU&&n*Y~ zBUs#7g7=TJN5M+Yp64Ut5@9}d72)dS)Zl)QCzhMKe%0nXj`867%9xu!*dM!Mny;2) zAt3vp>)SV~DOoXbF vnZ&Z9QeoEMn`U9wl=J)QjurV|XV VELgwTb#k10YC-d8DUsT=%hM+YoO~ 4tl?HK}f}mLG!PfKXa`&++V>2#=H#YZH?v909n>-e3=;`SbDDswzj8%N}p;6 e|w4=JFX6#To?P{&ed10;2d^#i$2tNMaI_1vM#a8iFsc_P3h_UhUwzl^8p5qtD z=F+c|eoRkqP9w@BK-oQU^7b0yrF)Wcu0Pv*zkzG=DJCKZQEMdwEERSha12z9tLfq0 z`E@s(jQ SpM6^f%R}*A8^cm{2K 1n>>My6_TU5v^E7Bg+GgGd1xh{nhFUzBGW?%dnXSo5U&@$n)#gf zi0qE8IzbZ*-Pl!A5kEu)Fsrfg*N )Lx|&>uJ1*uWiqv zdv2q^q~nXe_Q}d4^?E}CD=JEble*2KNQXYtJ3mn1MubJA`346JlJU2+8+xjW;C#)E z%Kn8zM2JWoG&g1&e`6?~G5Ai#n1X_Wqd0$4J!y4htw$ELh0t0K0Xp&3|1q{A_VDX4 zg#YKn&z}=L+%?@{O W-oA&TsLz8fYUram!sywwmAl-lkER-q~ zpZ@Nk=q;SgUCmvi8*!^mG*kp@l@VX`gqPj#i#b9n59SS>T9_&>?!>k(+Pl$~UyrN6 z1 eH^$x*Nc_B5!_i9Efu8FDMDfOpj z$SX@-ht!Gtho6Slhlx4kXWn)hvZ21Ak+vFl*1}RSzb$SAPwAbzcLvoUe+n4IIb`}+ zLK+?AsnO{-Pa3Bi-?YDZ{rZ}p3eugo3uohd9J&O2Q`Zn6=olCyv9OY!gV~vtg_V^B zIBkKu?Ec=t-u~|6R$Fxjz=<{Oly;WYgrpd~tKP*&5)qd@SKj-vsfGK7ztek)f>=Xy z@+6K{{?q#>X!|UrAbZt|%U&tGlA)E(8+(AANt%**(&oCEt~&k`znoNGVoB$(`}-A= z`S;{4kVN5tZrGTj6>Yf&I;9j`7~@S(f9f@aweTB{frsL4aB$g41DK-XxjeF>xIrwP zt~5rhE^TXzKxBz^;g?)PAW=T18myWS wz0m`K{6)RgySWv^w z&2Jj9ZO&DJFVEt)@=V%LK_5r_eRn~pWI^;{;)9JIhKddpB&7OBzJTJZZs5-(H$~hB z7!A4xzh9drvS87f`XV<5vO%hDczvc;7CRxDKn-<67QVd3j|#`AQkOqpH{Dy1_0}`e zm*Jsf$T>T6)rwz7$o0#K>v(u-3#f2627i6r(cJtNG-`rT%FX@k*Wxhr$4Hh4mQn<~ zb~}VGZWsO}2V@chUn5Mgzp OFRN~$OAXyh>{%8? zv4~PPED*8QUh#1GI(Zf|gt8;#Jk5 zQon@%0e0DnGVpgVAjDB?x5(#@-sP`_6(j@>DiW;p61u)tcy<4eH!lnwPAfD$#z_$R zhKAQ^odls-_mJXuIxQ(F9R4^zKfjdV=Hb>#JZH@6N@1Il-a>VS6WPYp|4B(X1BE*R z>SUA%7+JvxiE1Ss>}f@$IeB=-4w>nYg@lCc&frJT(kKIVeKf5DC&DovI%qgc#ll6+ zza0sC+P>wd>e8L2=$2NH2@iWq6VY_OrM0&9!2FHLc-~uwU2{sDl%|HN>Evn?zvp=c zJ;prjf*H!WPqLXyqvCA)vpbUmV@$#2uY4<*8s;$%yB->wH$I^b4ts0uHE1Cl=;1de zjTy1(@aFGn(7M%A0~}0_+6#dC7(DN5&I@pH{b)A;2ioTM3l?GS#>NY?`;xxxqi+J< z{H{^qQ^OAlm>#+C9^%|3M4BJ&dZzSYZ1TH+kkG}@UW)#S5g?VmzUOF8m1HlMrNS0j zpW^%C*S!r5t #~&D@68QPn$-9q<)zT_3Y=~>^SqGY3mU51bc4XoH!I8#s`%;W)+_5mg z$+w8Pq-7j}YkgQz+rhGHc6GLSwyIKNWwZAV9A9t&cN&pLfa+6f@EFb!meu88tG18F zu}Mj{p5=5Iv#C#))~A!!%|cs|>hx9b-j4+>16~+KEG4{c`vvT0S-vw3T5cJs$iqYD zc&lgKeT#Oo!Lm6XLWk|8 ou=KQg7?61=b>i$?kmQVc_@G8JHlIs>QdI6iIqxY zk2)N{d^h#!lSh%tUtMeJ>eBJMA;i$%IJMFoTKe26&S%QX`U~galFT?RsuU*apj^gl znWoNwC4v6(r_HeY?mn7a@a*g?q*)=$E?H8L6}`U`HGnvQN!2+q+SQn5t-jA!Motb> zKr)Paf(;ycIcsa}&Di4Mup8dobJ&x6)Q9HF q3JyUI9``&fZ0eb zn;Vp-EJ36QB`qz>?{ppAL-d@Sc*#Pp#|U(lyHR)Ld*v5cMRDk46iDCk+3*`$SfG;! zlA=M>5{u3J_VVR4|8`n&$(X5&ntA3mjq#tPno0P*31l>3j~E_sjPmf)^RK(AMsq-e z>RDl}{hHPM%w5Jo=9SN@F4H2WqMQp?S7X;~0; (!z_Za zlle)IVo9b0Dl&{V#QhRKk@NF^4zbnYi0A1}HuEXkAPwDu(ck(educ~fay)s;*vndK z)bxUi9_`w=clYnb$H(tPx8x7KSNu6Vj8uMupP!$AfPkdhfGys{?At7LcxdR@$_X-p zkemooc>=OuUwggXbSfk_r~f`~WhFGUFfeWekIn_%Pv4lVpNdRd8isI;+)G#eWc#a8 zE=h?8xF{${Ekkh1k~K7Bl;8N200RtMr=V*HXklCaU@#Uk9vmDf8A#jQzQVuDL1-2= z5w5e@D+Uf%KY#u-OgBQn)wAoccm3>!g->390s)*d03^`dK@0r@eF3+I*&9(7g=B$R zJWC;-o%Bt!rXfJTu(2`ddf75>j1^8)ubfbNh|5~aLeCPf15te+`8|pbBrH9oPJgvf z#dZVW_dzBLM(QYhI_TV)DdS8ntx qG+ty!g52 zdGd(R`s&ubMM+w}haY61n)j;bcG?t68wf7^3B@mfQhkPIh*wETQxmZ>Ha0Inp#Dbu z4!S=K23B9JvS56CozWN0GG BMb`aGmx&rUJFpZb_G9&yq9eF-A=;7BUL=Arke0!2x?}Jqa+vUNXZTA ziv!{FI)JV~go-zA>U_(Vc^m5QnlT=A3R8Rg!AZxS7R5Z}{A587l>9PC^X5e*BUckn z{+IxF1`-&W#3WUk$c(JM#Lg$z^bE`a?!@cZYywQL-v RWHU{{Mu%`~MQSAiSL z{)-<>FskQapYnnl^A0M~7tzE R z$f532n*ot5<>%AI0$R>70`fsuhALtW8dyTaVV`!r7oo6ya=;$d1u1W@IFFU|&sY(! zZ2Rd@Ta2y0UCk@s-znqa3+Zw%U+4v}9ti ~+bNlA3Y=Oqd`B^w z8M?8>?D29Qje=`28A^{D&o8uOgWnORj#&5{&jq?ndk5l{j#)XwUWfBpIZNeHv=vuk z_hLG_YnHOx{Ex6C-GHxMgI$!a88w~$Ez@zk!4C5UmKBo}xhm)pFj^?SoUdbak}z8~ z?WX^xn9L(BgZ1|af#D&OhMwN&`hfs>zes_X>RzbWU6@O`um9*B%I<$h;omWDVg}3y z6MA^;m0#5BFFO1Ib7GUeXT!USCk0CyK$XEI1jBXs!bJ~|$@(?Em&zElV1HmlazlmE zz2Ra_O%2fKtoOZXW#b$0K$XQrLYav$_&zF|r3{&eMpF1r7N{cX>Qc%XgOf~6*0tTN za1!f>x>@TqrDtlDCJ*yE%TejYVq@QG9RjjYaJ$dt)^?^QE~44AJU}e%wKkM_#|NW& z;wE&QS0A%Q*hzkIqlJZySVOHkLyVu_jk?vr8(wNIqXcS=EE-qF7WV~j{l1l-&)In_ z_kDVBTDXKLK+zQ8u}Ins(ry^@6%Q)o8A2~`wlJhPn;g+=nh~svTPb Qx~MGAzkBe)pnQxf5~kd#+X*QtO}mSDYs1F4a&iiuzZVHm2AfIw!{IlG=n&6} z2Hdl_@dBMzc8ry)R+UJs`+P8`npQ1iaEvPJT}4IJncex#il2O M z=O8_qLh0x*y>RpMb|bqhmK_hNA2J4lkc8wjyjXDEJN}bQJ-ySq;%&1;Tc+6c+1Xbz z5BZX|fDQpI&@hF8l)2N-?Z(S3-9^EDl=mfZ3{lG8Aayb2;w;;%>kP2=!%^mopWo}) zWreO59@ABj@e%AMCZ ZbM8OM=A&gmW32n!=$@Tr+6NkpRb8!cXD{MudNNg{kVC zO)Ppk*3Q{LzPMQTIpOSaK6%9V3R2K9v9aNqyNQG%qQ?CmKpP0WVIwxPvBCPp9u9Y9 z^#`AmjfZ|;0C6bE+yFX4ma5n3R5e^UL_|d1jov8R-*23^w1_!6?!obDp4o^er>N+& z+eHT)t+0>~M|=Bwp^t-MI8$|4m5@NJ_041;eDi1-20C<#AC1e$`I5qaCDz{uF5R2J zKz4SvtUI~(?i>MPtSmfA&!3wZBQ{{ zfNyK+V12wUB_#!YWTanEn_=$A8id&omOj bY1We_+N-9z0# z)}utN)o!e>7hq#EJh%>wzQf;#_^AF2_;3t>!72P$ViJlTgDE;Z-XPC&&w%UqLfU?g zjj2Z#Vq)Lgj<0`&gIX`p;4gNM2tQplAG$p7WVGkgzv@Xrim+1bbMCIGa)^ p!#qTzZkbJXcV^m>uaLA zJUBj{sG>1A4EoNvm*o{W>q4u+Rwh|SGhc@*D>;ep2478rmk_%@+jFk|>1w+`i%7um zZ{OXxiLdg{e l+lu*=Aq#f4=eKwVU1ls+z9yu=n|` znWO1{enOlYnfA`@fBheRU&g-L;Cg=5^!)$)A^M`o|MiDSc}h}!|9&m_cUYwAO8@l@ z%T28RBfs 2Dq({#s S@8Wv8MNqrL-t z6Q`HX1%-v1M?nSt{maY7%RGF1;Smw=NLxDnJSV@6vKM@tCd^l?k_H%tK$~UY_#bJr z*8dyY>=XnezM>3*s9ngS0S1$;ZNF(br$z7D&$Y8NPq2sC@2LnlSKpO$ggtq<%Qfn! zTRdvcfgWJ!X5w~*9QPX$!Q}8)KuBhES$&x&nC0`oS4Q Xn>Q_`uShSE|4ofHnNe!@n AEQ1WOwJ4@LTkrHPrS)(GifSUzC zv?#4Cs4PIrt;wlrOuHD&km76TOPEXO(AfAGn@B=VZou#oGLgV_5qPA6p8IxMx4Y3@ z1#}gh!&RtYhD%Gbu(%}OFE=_eqER+exe$;4FT(EFzY}&pr*-gp92SIxU?4=&RKQM` z8vsuH#=(&hPS$&@;0gZa3m|JV=+cz;gznuJ6lcIExuj>kR|>xr^cvtmFJs-CJaITj zMEN!vdUar)0cAq3ez%$)AN|q4E!r(q)CUX?_V;% O`Q9S_Y zSL%u)BKj9YVjmWDFWP}~vfp*TqO;B5&0y!~|A{JmDmVY1RN=9EKoK_VjKtZkDJyfZ zaJQJK22x$kSj~eM(bW;$*PQh`#7m7Pk_0`tV4#wIE3x-qp~_pIw`sF!88_l%=7?~J zh~g8Y))}0u>TbHn;%$aRw~t7j_L!O)!*D0AoRB@fCvJrhSa`M<7ri|jm`-YhJ&krx z%Dri5sna9$r6TViIL=YBH?d$xKp}ke_c8zrxv1!0EadZV|DA=rdv5m+3;EMx-M?7K zqyLSC%qFazCxcMnmIuIh<^|Xu8x?QD2y!H>xCTrX&PtUec!= z^lV=j9`|>HefJ@liVt@`*`W4bFRVto{-tW_JEs6HZIs*6etdObgGorV*mhaESLFAa z6Z4dDNJswok@1QUqzFgP(M!l2>R#0Pb{z;h0E09Nj^usSKMZL#2k yBL7w!l=RT=GZod-#8Ig3!`XOc|HswJf_N((>S~%DTB(&*suc2 z$0c*?J+^HeW!bHotCt}`1Mtpw*|0!RX;s_Il)cyoJqU12Qu{|vPTc<_?S_YA9qVz0 zB!NaDCP8vb4F*EW5ubjXtC*cS0as;rZ*MMKHDiPW_97=|TAl`w3~0h+WaS-QT pe#A3%@ zGkE$B7oh0{^iI#{6uk}()I8V)P@}p$mv{LA)!o5s&=rPynuUjjm$SB}BuDAdkHz)j zq=C-`&PG?C#!8X~%+ogttZD>0+S?)64vof#)-OIX68dsmD9jPB#-u$@hF6P=; JUMYim=_ zQ@g;i4bHc(vw`h8 0W_XLG$wjv}F-W?bBKvAxqAH(}oB4Skrof2eA9p|>*R)4V*{CqnrGa$)~B zNGK@Z*Gb-f8S686c@C&B4fejs%)pokdHMJT9C7C)aC?taD9xa$xYa&uX{jRRf_=d; zh7bk1YT6KTVjEZ0))sCJ (>ta2CSE!lI2BAwCecIcqg0y$q?UB4F0Faz+jc-N$q!XoKx9PM3p G`Sy3YDNl48Io74}Ml4QGPG=v!3@S^2a>8|TY}ov;j?Y@n zg+L%6k#K$Xx9jaWt%(fy*j87q%dpq?>pYIOS6?R!zy-g1a8PN2$^T1Y0>gC!awLpw zt?)@MbYVoIbw^y7oqca-uyw}k>@&TdE@WR+@jd6@o3h@tc5j&0maUYWnwY>)%oXO; zY4s!ZndcDzjIolBjHaPG_)tP-el5er^!|OS_$zMv%uG{Bjeb#eAa=Dw 0=`L6;xy~20)vx k<+Xp#VUlTv*?Q^C~%+T=o(66=8km0}$4=R9ZN~zgeY_lY<@$8bSeb#WbaY zqN2n44I(nKEX$q;n7+4xdyk7tjf<|q@B?`BzzqQwiOmAnoE;AUiU5>@s43jKy0Mfg zw!4F_-J{N QyX+hp`8yfNDZ+(#t z;R@NO5i{pEo#H!zwNg`SBUDg)ex4vLD)A`tQ+8IXo=r4Rz8xJMfjjPT>K=B9!5iZi zdiZ{`D&iX (*?-$0v#AJY?&F+ZBJSH-k zRghgrS67J7G*??{UH~1**Z0g9ZsB>-E9n+gjR2^o-^;`u i(hR_SIe+l(kB1akcWqBz6P$@zPXZUL{f{(KeXKqI?I|ag?DX zgg_Y>+>7YGfq)4b5YrQ%z0O!7K=HdxhNq*YX1R5x=}?jZwi uB0*8=~$iHl9G)lNA#CAWzl9-MtaW z;@A{I6-u|{UPI6XVCeY#@zb`~5U$$OgV7nVxzw5(>q_*094oXe+5;~sBqX?ZvHr;J z$Q1~QKrU1|CVV%*9|5<^H<|7SFE63gvl<_Vkq5WUWGYjn>FI`u&J6@58{6)QaM47~ zs{iiypLz0Eqhj=)FA#sh$HQS>L{leP-8PPim|duNj%2FU?FWFV)q_qqP|h6+oF0T( zJ21t!PFZ&oeF6|AJ?k1=iR0v*Hpu3447J)eA(l~O6HF}nLq6)XQBUK(x%gckPx+`% z6HXPT^BwC1bS#R3TUyK6Z0dM`J{t4@?j9K~2ZQ|OIX4L^CGiliG)L#i(foKR;Zp#b zx@_;z^q>N{c_q~Lx@ JJ Y103^8NU8>_3*TdHUxnb}#;%cdk>8vmiIOwb|5i&h4@F8nU-Cn&KUP7V&g z#;i5(5h7*el$bkNSAO;&IiThQE*AmC+4b|VdoFi03x9|%%&z^CS?eN1y3b9gmaEcY zg|6B>XE*J2s