From 422af469731559c32c93e9513cebf2fe6c2fec78 Mon Sep 17 00:00:00 2001 From: Kai Blaschke Date: Wed, 22 Mar 2023 19:44:03 +0100 Subject: [PATCH] Updated several parts of the ReadMe and added a VLC screenshot. Users reported broken/empty links for several frontends, added the proper pre-release links until the situation improves. Also replaced the no longer available "SilentRadiance" player with VLC. --- README.md | 102 +++++++++++++++++++++++++++++++++------------------- web/vlc.png | Bin 0 -> 28269 bytes 2 files changed, 65 insertions(+), 37 deletions(-) create mode 100644 web/vlc.png diff --git a/README.md b/README.md index cbee90b9a..2b9e97060 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,6 @@ ## projectM - The most advanced open-source music visualizer - - **Experience psychedelic and mesmerizing visuals by transforming music into equations that render into a limitless array of user-contributed visualizations.** @@ -25,49 +23,68 @@ outsourced into separate repositories. If you're not a developer and just look f your machine or device, please use one of the links listed below. The releases section in this repository only contains source-code and binary releases of the projectM development libraries and headers, which aren't useful for end users. -### Available For +### End-User Applications + +**Important**: projectM is currently undergoing heavy development, so the available end-user frontends are either +outdated or unavailable. We've released a few development previews, which are not feature-complete and may have bugs. As +soon as we've finished the current modernization of libprojectM, we'll release new and tested versions of most of the +frontends listed below, while we may remove or replace some of those which are no longer maintained by their original +developers. ##### Windows -- [Standalone](https://github.com/projectM-visualizer/frontend-sdl2/releases) ([latest build](https://ci.appveyor.com/project/revmischa/projectm/build/artifacts)) - (Requires the - latest [Visual C++ redistributable](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads) - to run) -- [Steam](https://store.steampowered.com/app/1358800/projectM_Music_Visualizer/) -- [Windows Store](https://www.microsoft.com/store/apps/9NDCVH0VCWJN) +- Standalone (currently only available as + a [development preview](https://github.com/kblaschke/frontend-sdl2/releases/tag/2.0-windows-pre1)) +- [Steam](https://store.steampowered.com/app/1358800/projectM_Music_Visualizer/) (Same as standalone development + preview) +- [Windows Store](https://www.microsoft.com/store/apps/9NDCVH0VCWJN) (Old 3.1.12 release ) #### macOS -- [Standalone](https://github.com/projectM-visualizer/frontend-sdl2/releases) -- [Steam](https://store.steampowered.com/app/1358800/projectM_Music_Visualizer/) -- [Music.app Plugin](https://github.com/projectM-visualizer/frontend-music-plug-in/releases) -- [Brew](https://formulae.brew.sh/formula/projectm) +- Standalone (currently only available as + a [development preview](https://github.com/kblaschke/frontend-sdl2/releases/tag/2.0-macos-pre1)) +- [Steam](https://store.steampowered.com/app/1358800/projectM_Music_Visualizer/) (Old 3.1.12 release) +- Music.app Plugin (currently only available as an + _unsigned_ [development preview](https://github.com/kblaschke/frontend-music-plug-in/releases/tag/v3.0-pre1)) +- [Brew](https://formulae.brew.sh/formula/projectm) (Old 3.1.12 release) #### Linux -- [Standalone](https://github.com/projectM-visualizer/frontend-sdl2/releases) -- [Steam](https://store.steampowered.com/app/1358800/projectM_Music_Visualizer/) -- Check your distribution's package manager for a binary release. +- Standalone (currently only available as + a [development preview](https://github.com/kblaschke/frontend-sdl2/releases/tag/2.0-linux-pre1) for Ubuntu 22.04 and + compatible distributions) +- [Steam](https://store.steampowered.com/app/1358800/projectM_Music_Visualizer/) (Same as standalone development + preview) + +Or check your distribution's package manager for a binary release. If it is outdated, please contact the package +maintainer, as the projectM development team does not maintain any of the distribution-specific packages. #### Android -- [Google Play](https://play.google.com/store/apps/details?id=com.psperl.prjM) (**Note**: This app is _not_ created or - supported by the projectM developers!) +- [Google Play](https://play.google.com/store/apps/details?id=com.psperl.prjM) + +**Note**: Both the free and paid apps plus the Android TV app are _not_ created or supported by the projectM developers! +If you have technical troubles or other inquiries, please contact the app author via the means provided in the Play +Store. Any bug reports in the projectM issue tracker regarding the apps will be closed immediately. #### Xbox / Windows Phone -- [Windows Store](https://www.microsoft.com/store/apps/9NDCVH0VCWJN) +- [Windows Store](https://www.microsoft.com/store/apps/9NDCVH0VCWJN) (Old 3.1.12 release) #### Other -- [Library source code](https://github.com/projectM-visualizer/projectm/) +Source code and other resources, mostly aimed at developers. + +- [Library source code](https://github.com/projectM-visualizer/projectm/) (this repository) - [Qt5](https://www.qt.io/) based [PulseAudio](https://www.freedesktop.org/wiki/Software/PulseAudio/) and JACK desktop - apps [as source code for Linux](https://github.com/projectM-visualizer/frontend-qt) -- [ALSA, XMMS, Winamp, JACK](https://sourceforge.net/projects/projectm/files/) (source, unmaintained) + apps [as source code for Linux](https://github.com/projectM-visualizer/frontend-qt), currently broken and needs some + updating (help wanted!). +- [ALSA, XMMS, Winamp, JACK](https://sourceforge.net/projects/projectm/files/) (legacy 2.x sources for historic + purposes, unmaintained since 2012) ### Discord chat -[Chat with us on Discord.](https://discord.gg/mMrxAqaa3W) +[Chat with us on Discord!](https://discord.gg/mMrxAqaa3W) ### Demo Video @@ -80,8 +97,15 @@ The preset files define the visualizations via pixel shaders and Milkdrop-style The projectM library does not ship with any presets. The frontends come with varying preset packs which can be found in separate repositories in the projectM repository list: -- [Base Milkdrop texture pack](https://github.com/projectM-visualizer/presets-milkdrop-texture-pack) -- +- [Base Milkdrop texture pack](https://github.com/projectM-visualizer/presets-milkdrop-texture-pack) - Recommended for + use with _any_ preset pack! +- [Cream of the Crop Pack](https://github.com/projectM-visualizer/presets-cream-of-the-crop) - A collection of about 10K + presets compiled by Jason Fletcher. Currently, projectM's default preset pack. +- [Classic projectM Presets](https://github.com/projectM-visualizer/presets-projectm-classic) - A bit over 4K presets + shipped with previous versions of projectM. +- [Milkdrop 2 Presets](https://github.com/projectM-visualizer/presets-milkdrop-original) - The original preset + collection shipped with Milkdrop and Winamp. +- [En D Presets](https://github.com/projectM-visualizer/presets-en-d) - About 50 presets created by "En D". Included with projectM are the bltc201, Milkdrop 1 and 2, projectM, tryptonaut and yin collections. You can grab these presets [here](http://spiegelmc.com/pub/projectm_presets.zip). @@ -91,13 +115,16 @@ presets [here](https://mischa.lol/projectM/presets_community.zip) (123MB zipped) ### Also Featured In -[![Kodi](https://github.com/projectM-visualizer/projectm/raw/master/web/kodi.png) Kodi (formerly XBMC)](https://kodi.tv/) +[![Kodi](web/kodi.png) Kodi (formerly XBMC)](https://kodi.tv/) -[![Helix](https://github.com/projectM-visualizer/projectm/raw/master/web/helix.jpg) Helix](https://web.archive.org/web/20180628174410/http://ghostfiregames.com/helixhome.html) +[![Helix](web/helix.jpg) Helix](https://web.archive.org/web/20180628174410/http://ghostfiregames.com/helixhome.html) -[![Silverjuke](https://github.com/projectM-visualizer/projectm/raw/master/web/silverjuke.png) Silverjuke (FOSS Jukebox)](https://www.silverjuke.net) +[![Silverjuke](web/silverjuke.png) Silverjuke (FOSS Jukebox)](https://www.silverjuke.net) -[ Silent Radiance Distance Disco](https://silentradiance.com) +[![VLC Media Player](web/vlc.png) VLC Media Player (AKA VideoLAN Client)](https://www.videolan.org/vlc/) + +Reminder: These are all third-party integrations of libprojectM and not developed or supported by the projectM +development team. Please report bugs in those applications to their respective developers. --- @@ -147,7 +174,7 @@ the [projectM organization's repositories](https://github.com/projectM-visualize # Todo -- Steal cool stuff from the recently-released Milkdrop source. +- Improve projectM using the recently-released Milkdrop source (WIP). - Update the various implementations using libprojectM. - Update downstream projects with new versions. @@ -164,9 +191,10 @@ Report issues on GitHub in the respective repositories: - Issues regarding the **projectM Android apps in the Play Store**, please contact the app author via the Play Store. We cannot help with any problems or requests. -If unsure, post your issue in the main [libprojectM repository](https://github.com/projectM-visualizer/projectm/issues). +If unsure, post your issue in the +main [libprojectM issue tracker](https://github.com/projectM-visualizer/projectm/issues). Please always check any existing issues if your problem has already been posted by another user. If so, add your logs -and findings to the existing issue instead of opening a new one. +and findings to the existing issue instead of opening a new ticket. ## Get in contact with us @@ -181,7 +209,7 @@ Before starting to write code, please take your time to read the [contribution guidelines](https://github.com/projectM-visualizer/projectm/wiki#contributing-to-projectm) in our wiki. -## Maintainers +## Package Maintainers If you maintain packages of libprojectM, we are happy to work with you! Please note well: @@ -201,11 +229,11 @@ If you maintain packages of libprojectM, we are happy to work with you! Please n ## License -projectM is released under +The core projectM library is released under the [GNU Lesser General Public License 2.1](https://github.com/projectM-visualizer/projectm/raw/master/LICENSE.txt) to -keep any changes to the core library open-sourced, but also enable the use of libprojectM in closed-source -applications (as a shared library) -as long as the license terms are adhered to. +keep any changes open-sourced, but also enable the use of libprojectM in closed-source applications (as a shared +library) as long as the license terms are adhered to. The up- and downstream projects may use different licenses - +please check all parts of the software to be compatible with your specific project if you plan an integration. ## Wiki diff --git a/web/vlc.png b/web/vlc.png new file mode 100644 index 0000000000000000000000000000000000000000..c456e19c8e7c571c61cc163cf2292452ca61c513 GIT binary patch literal 28269 zcmV*cKvTboP)pmH@00004XF*Lt006O% z3;baP0000WV@Og>004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv0RI600RN!9r;`8x00(qQO+^Ri0~Qc50a!a{T>t=WJxN4CRCwC${n@W&*?s4U zeb!ogJoBAz%n_N9k#i;|krG)fsU($3LRYt4D7W1<8V$o}zxWR@;D5nyhW+9fzcdWA z;fHd!0lQRHDybxj5=n_-k~wG0aUR>?@t}U&v~=@ zIY01);C*p?`gmTzp8t9Nx%1;^3EWz^bdt98NRo z@!a#OdH?gD`TU*xVwe4`+wTFCQhA=O{*Qn1um8vIG>Xahg!qHFa%C zlZ4t@k~k*IGn|w6u7z>E=y4naP*oLLDU?z;=gx(}7)_caELYj5gx@)bR*EQ!2!ep3 zEJ>4u)oKOLeTFuMRx2gXa;myUYfTh}Sm&tg8UWpVmUE7Oh{yTn1p;HR)&dX)0oJ+o z|Nk}c-R5PV5;pkT0{6Uz)6O~LJiK|m&2PTk(LMby^PN>dh#1=HD_IEv`?y42R5Z-6KaIX*q*!NbSr zkNrb9y!RwYLciB#I2xlAY;A5bnM^6llB-uPaW)z=o6T{~nMSVGX7zbF{gl8x9~5Z7 zIBSiCP8p5H=bH6XZp44WhX?XJZ>*AN`{R>SdCq$do*iMEjp?j4fcY6R z<>BXRI0cwar=xoPJ|9lu!>LE5iq&%Yyt{KQ5K6&fx%%{(fbn>8{&7k{5E!PjIn&wv zQ=hn6tyn(yeq#)a#gZfuQ(Bf4Wmz#_F3jVzKlbg|J`Vyu{UQES*7embZ)cl_}v6zA^#^MOTk{!cmVKOJoR z%EV=%ybSguyI(v)te0}4(~PD#_0 zAP5+Z#ME^<9a^mx-g_pK2}My5gaLJ3({8uXM$>MIwmLpOCP`A9bChL?X&hMRJ>7Pj zPN##`nxi98^@Dz&s;Vf;l0m;uk|dO6$z(FYIY*kNXst2EkftftS|*LQ^o{xKcDv_+ z%NNJbKW5X(&&u7NAHgqpuX0Z8@@O>Xl^m<*K^C+z_+7JW* zpfD!nYhV2uWmREoi&9`r(3~$uDa8vf+~!(UQ#C0Ttu;z1fDPTq0Mw@+f6mJ}Ki}Veum6-c^Ruq!7il=a zGaCIlv)O%Yt#BT+R-gWG1&y*oDR2&|5~fp)TNfofI1ko(oKxptzyzK!@M!HZ#-Hbe z2Lr?AhN06{1cAI44|VOSEW`=K$=bjA+c&GK{rR-%Y){0^FP7CD5G ze1>)MdFwTo^Lm`S0knUiM17{f4bT3Vlaqf-RfW{GKmQQ9Y2tK?5MERa>e^FR3Tw4o z80!3{Jb$5DdxA#bl=kO0EDANPmZIO6->MPvx&~+YTLl8QzG-~=rk9m0Rv5@{*KCsY z&DTn9xOGrFd0i05xvjl8cUj2-nI>T*-w`Scc_xbz1o9gFoWQL=Yn}bPsCryz4C`c} z&+ngdUI`aT~mn=#AJHYRM4uSKqS}Dph5Jx*NnaxU;3(G3AP4uSFN)v>Jz<~1}lt(Ms z{Y9xL3oXLu)%ln7UWBBTIBncEw1SAM#Vd5AjGstpi#n5WWd#J(IP*shfI9RM2?bQghieSEkpSI4QC^{-`#$*IT`_;%^*!7YGR?Pg2fU{D8kfk$#Ekg(zeG8KHJd$Vu4elD$CLlhMxJ{;%ZNtD5?r32AkRH9IXYL5H${%F9AwW#N)UzE4?!EkQfj-GELDg2vP+BZ8J^^8fJ^ z(imFdg)bB&@b0^w|M&mPFi6!(=ML8z&<4W^D1rbv)h&2oYfKn1-_Qu z8Ap(A$Oc&Epd5tFuC`7Dz-ZAjc_HRywv_XA;>LV8X16ThCqMDzg+JF6q4ESMRyn8~ z25s?qyaK&mi1qKanS9Q4mKGunVdJB%*DXv$n5HvG+l>|myb^!<+%-|2)dG^(v$HGr zb+r;>#MUyervN?^B@3!{M8{PD&Amr~R za30FiQI(1yRdm`B*%C%)6{BHIyRS&ofFw4gan0FT$#7V5bXd}EX$FIkRx88=2BkEy z@r1@xRto1GS}SovEtHif(2lGOSS}6D8=@e`B{jW`5W1S>N>SHv@GR%?LBYY(m~VX} z;o4PA7|A8KTQHx=jYt}wC5mA*mW6A@a(B8Z%vP{00#V6lK+M}B+{G9xC0Nw0XcTd_;FgV|2lE zV(AZHe>Xn36nD-S^gS>gHdPaHq_ z(DU>dHoJ zoN{+=v7?dj{_hJy)+N+9{l#c}|bSe@RT7ZX-J@5R)ktQ{j4bfW6lvWTcNKB*EG^o(?KmHGnAO5%|TPYk01I(9- z+KTq*cjWweCD#x~9t$iQfu)wDs>ZCZ(=5xf5jw;qqQv*=bY#xR%eQ;o>+%H@e+9i}DrP zSgfrmtOg8$F$Arcs;VhU%WCN{LBRHQz{W<*WLhyCW*nbnOs6>;8!`P}MA`~SQ%%~^ zOlL5iJGw33M41|^Aj=HLm15A>I9pLwIYnO6?RL0%W1Ic`O&&fxWjI{&&PSH%-0{{+ z5!bIO;uy9!BuF?r^dy%dHE?zWr(?Kv%@fBko`^Xe^q^Ql5Gs}{Nz-)uFdD+$2c93l z?DRHa15A(8=zqb6nHVYYxU^z8Q)t5P&=RW!LZ)uc3ZRh-8>gzvrhcAFcfX+z4&*}3!5<)`PVf7IEp{ptOmbW-V`@)UM7t%b9^=@2m+id z@Xmquc;g7P!@C;mBr_R>s;Mrlca>t$H$+iPe^8NSIm>0mVo?#t0j)G7NkeoHaP6`} zc~6#kvP@Hwl;V9^{>Cg(b0rY?jCdRNzU2W(tkH* ze_Qj`Yl;_cDOM{OjyzQbyW6lekR4iE&^5RU#zP3kkX0TP%7**s6ZqtT#hpjovffW=Y~7*9J^#8S+`dhufy2EtGg7}2QXMnkTJEsi`{F0M@8_-o#a zRttjXa&^y{POUG}D%N`HN}f+!k{JH1Ld-7|IPX1W=}B8{qA=&p*I!|0u;lTl zb>(oz6B>mvg2MGp7Cx`!rh2c)3XMWB=!a|$0-SfORweU!#c*7Z9ae1gLZbbUUeA!k ziX`?dSB^Z_R2ZyP%ohP=sp)n~%F>bN1=;E;%Vox$JGZ%UZJ!^%`-le*PB=PU@!|c5 z(-!wlUIa1f;Hno!APk-K^!2_Rsa>8izl>SD@=3s-HS6}0mmnYo2|CmRQ51346 zl$8Z8;NIFOG*WY|E058NI8u0Ta2|p{v$d5F#SsomzhiN>=J2p)GBFGWAyK4hrHarf ziqetihN{*Sg`%z_in6AvEOq55%QKdXj5l6?ncw-XH~H|=Q~vsg_c%Gr`Rn&0PKF`h zcvI8s!R0;0c;c}J(m>HoWI?ipCw9z-zn9e=B+Ykhj6OH3_YC>VH)UdUJZrc+Fim?V&!RZmC9nq9wASSV@WzE7S z+3dN<`8n6*5SvPh_fVCh-unYEONBc6Gi?UoBMv2|tXbUbyn7CB^@ zq7zBxbI=b+V#j0(fe8r%kF}0$)#!5^VW>$HPaHZ{nV~2RMQ#|^nzFR?dJbzV-h1z3 zrqelJ{?hCG!9V*NfBK!D@bTRJI3l*2ar3U57!XP$mfK`zybK#K-EIrRjAXzF&_)N7rT5R+J58wOJD zQW~Bf!p^4T*NPH$wk5|GAklO;m4L}>Sk)Ja-SZy}wSu~md(dh@r{8G9=hWI7i14{I z9DsE-wXJb3A}e88XqI`w>F|ILKRRT4tHsS5JKTQp8o&0nw|Mo{+kEoLBktZiU^1EG zaRh-xJ$2<+79M96y~LyN%w~?oLeXj&cD4eROUrOvQZBH0_ zRx3kUDeNq0fR>6Rwmg3Hl<8#2n{U3tZ+`nrq{#=o`~EXd&pbbTH()gJeB*7ytG6|^ z_f$Dp=P4@B;{(Tyea)p!#r?m6_usFH5`{8~B=XE=isLg+nR_O4F|&uq;va2qSuX9@ zJbD-l`o)5?vgsys&v@#%e#Nl6rN~#FY3A7+cs4f_%L#1kf(t-L5EQbALD1yjLeD4n zCAs_34MkCl;3Sb~wz7gK^aM??rWMTRYxA#|%{{A?l+Z5iDC!EVk}6DDNFb1{JUFmg z)+>(JHDx(Ze*mqvIxpxyub9^8lFu@&pDA$bB6{OO;wV9BoKws)$LiUFr$=+%`Nvwqh=rGWw(fyLM}UOBGrXa?J2mcu6Uj6=yKRzOiG(p2(#i^mz4^tK5F!Dz{&}!Q&@K{LQB?)T}z!Wjy!4N2m-@uWymwx z2+k_vxTYvFe)yx0dHQV3TW{Xxx4xb5gTKDdqsKMliRLeVRP*%2@w?v)>31a1p(9%5 z<3}}bya~VgZO#Af|GvU#M_Ed#sNYi@9!Wwx3~Q2D(dlZE*iw{%^yx;PRTB||M1{SM zVmyVxz_YOl`N-4nYXV@h@;p6mHesz8^d%X5I&++jJ=ZR4b~Y5N8p>K~q(v>kL>x(` zptNF|i_CNXA>6zs+HSS-blcEtDT>0A#1hD)u?Um3Fg$~+`xiikFa|;>D)H;e63XEk zUnr*6`88&+!5@BJ9}XoEWe~`&iXw=@3)F{oN^E;zNfJ%cmV*7$;~58s@9~2l-si;^ z_PBBD8sGlr*O{J<`Q+|n4xS#9WrZXqwW78HX9`1TwM66Pxh2aKy>>+JR><*L&e2K6 zXk5_i#&o+e5KvnPw4>8@6h%OmYlg#seqVr-bzSr1$q~cRg4bVrk#Btc6_WHJAAYo8 zwNkwIam{q%_|N}IL=-4ig(r%k(^7o!p+z~*?v~=Cd!A0mvC1U}mzOohc&yWCW1DQe zVlmT_s|utn@a>EEc$Z%Me90 zs2oLELKKMktm_NNQSHS%j>l5k(h7d~js!S&UVvrh>9)kI#;F8LQRr!>@ZX&MoOASDC-Eqihg9sGR-1v6&8wGv9Wov{$VKB7004+t-Ywq)|DW0oRh!(=M5UPhQUB_ z@I*C$Nrh7Z-g-jiXr+!gkxu)vR)Q`lp>$55E5QA`mgD1^FnG!zf9HtnSG&CN+7({8 zbB!xkZ*p>a#N)>YjK>qoszxiQokU_`lN)l@ldT*kG+e#bq1TT%K3*}ICB^*qplsc))a-LP2$K>*B%`x>Ym%l=t|XdFQ}H9qm1nrJT-nxaZD~w+;a?gfe=9Apt_yUrn98FQi5xe# z6nXAhX7J|Aie>IOJeAU2ZDDgqN>$kco*a16wjyc6{7i9t+`zd~@!yv#Sgt$+Cw^Rt zMB7;b&-cqzmH3pOJ1w%gsYz4a^eSj9%l?k8PjRO_GX8EzfF`t9MveL$#O+Chh8_LA8P8lW;|Lln?7b| zr_0MP_A#d9!ILFNBg?=0Ud7w51ymMR4zAxaoDLly-K%){j=_Ft=yW}Uz9LQF(Sf6? zm1vN;rm7U1eaB*R$>);5u1Px`JQaN2m3>WK!s7!GZmSe!C8lqYL9eH1rSR+tpaeg6X-}>*2|UXJ zj!zUjJL2ml3Fx_eR^6brwGx<@hx0t#uO#v7z4%mDuNtNk#cUREda4KlDQs&aO)zO{ zNn4gUlKNp;DB{4g(ewQFZ^8WsicjuJ8O1tJZ5>A^8PAR$^4;$raOKi~H(tNWo!hUn zxmhqAK4CaIqOJ>S3)S4Cl+-2TmItR%c}OQQqTV zD)PcpR+cypK^q*7qOd%9Iwei!lx58JAS5)F2lp*y?)lQ|A!$eaqRnlCz2}%MJy$Oq zvZcrQie68AQ12AOu_p`-#yAFBj^SB=Zj!lJ(Qrvy(TW8mY66%qJ*OkbaOBz9Hf(Gt z`W@&Rp!UtimVl$IAZ-$`%8C#gC3wE4N1kp18$HcpAvwHOqG(5o@zfJ(*zC)90Z(M4 z^cA%f-L7KM5FVHS+)|p$#}i3Tm$f98o%MtfjqmQMk?2@bB>ub-@wo&}HD+~lOKkMD zYl^2&HOu7%+7vvKX@JoV@1-Z9mDcoHP~{?&*Dral?8Dg*?mtvKJ2V1i3LMteJa~M{ z{fB3CJ8f>=y2R_RUSn_X8uR&6CX++F&Iyd7C_UNAV**Q@IMP^A6$WDx(kNoFEEr8Q zPA3!cy2I8+hwTkTCk=5nA}?z4qM)ihwXN|eR=MJAyue${i#J;I`-;U<^XRdn*H*Y% zarbFOFExDpVS#fsH?D>RK}o+Kv$?4mk3FNYq9_!v+^NAk!bAz;whKB}1jye}0@ab2 zq#wUub9qDa`ZYt^kwosQ6yb^*4OrU-MB3Cv1WnsR8IPnx2%;)Od1;|T<3Z!}znspCq zgC;?p_knyq4Tm_5f*er%-apgaxdVUrhmHpinqAgZY!?edU2EbnU@?z4QNZ-Svf>x6@S{Kvn+H?QFv)NT7 zEyeNBGaq@bZYfp;oX$O4eOb4>@Wi3w@}_LCJQMS~SivF}Q|}tszc!xv9J)Q2P2{m4 z^k^h7scR8@+ki70`jtGrxo*h1;+uh>w zrORw>zK-(8;7>@BnpUdCTzS#Hwl<&~t$sk*Qp{#K^XZ&y6|h?L2?E2VOO819c%@0& zAwIVh&JrZhb1}nVL3&wJRTht7yr{51cL3c8l7XRmUo)9l$_geEhtd^Wo0?8XadZs# zAJ){?&}n<3MpKkEm=>%i;;aW9=#)~%vb7+DJB_z(UDFL!N&}B-K%PY@LRXgZ`j78B zYCIc#!|92mP;mXa=Hx(1ggg5JGn!01^8((yq|jOsDnTiS0R%lM%eBIF7o11MFhfdS zUWriJrZ)r)buHS^*`_t16m3`6zXAZJ`l$w7tn9vSTk*gAuMBU#>G|*eJIDL)d*Vj( zctkZDCAqAufUGoBwPCfA9@HrGM3G~6%aSHFAKj~1tV+6_8s{`s6;M?MYdy>52_JuQ zMiliK4EE@>Z-YM}494`ko=!)RB#JPWB(fqP3{raC0IhS%y26+h&U+3|BU-6qv#*IF z#nM`AB{{UnRMZ}ZGtcJ0NXM;mXj|~?iKg3e1OaUJLJp2f>e^zh_-w`qgFvrmSS~{D z-V5n<9lLwb>nfHD7|lHcY53}_&hzKB*E zaGq5rHQgX=kiAxd5bp%s3eo@+eqJ9AF51)9FcxQ_${<@RHU^6S?SHHI%fE2^XsxI!LtX@w1z0;_cs6A^ z?GVQsc)!EJ(;=<2WH6BKu2xGEMV2H{L`Ks!DR~}JRTiTiaa7}R(vnwz4m4qC2tti9 zp3)VJCIy3yh_Wp3O}E8x8sLp$cgL`?4Ns3b2bXG7P}iC~S7==`7?doQHS>8wmV55p z(QI!S!ceiQ;BXAb&nz3eQWWomia7Pm7SMA|1);n!Us)-^g4PoKKRkBAhvlWL)lU@Z zKyf;BZ0%?&>&cwsg_kvVKlbzoinm^sGTAw%t!cuk6$CAK^c0Gxp0lBVR7WGv(UB)f zU~5Zr?V4t5t7)}t0H=W#EomIAXf&qzENS{BqEr)zWP1-~?I|kpKPD5o_)GhWKlo>c zFTLgY@jH(1{-x(^Bsi_LU02FWk7liCH=RFtkM)Y_6y}QnqcqE9$ZAy)#}!Fhk|vf; zJHxjWRTWZ}0adji&lhMF<6OY;S3B$>fKmYCwZ8Sw;MAO!uFsitEMOr533x!e@VOSAGp5-#9 zEFD1*p^c{7$%w*=`8?s?J=IQnnX`rYp#dPdB96EZNig(@-ZGB~5^Y6c3bMLX|t8ax& z=aNv*3JKzh5|$a9jbS|T936YHKE^ktE=gx4vEt5)u+{aXp+fJ7nGYHii7^*c7Fz!b z0GJ?10pZN>)K+%gY$_e&dp&TOC(B{bQ~a;~=bC@~kKo_`iR1e}@C?ULG+kM`sk5yr ziF8&gfm+wKWZ=_SQ`G^^8?1|2&MOx4nlP+M(~=~ybh|a)Ys%746jr*;W2mj8C@sgQ zp5s#?&Pn2!G%=VUCk#D#7E{$irc+g#s?vBAMi&HOjWN4BPYg2J$U$MKTxN}>v zy$Qpy_-L*Eg{$>^!CrVwKD%w}vjuK_4kb0Tx{yX+XCo?$!|Jd>UA9@atp%BTF2(uP=wb2m7Qm3u*CQsFq4=oGBWNLBFQ&u&LWknFwq=_Yp zYFaIawTiM-m>QB;VT_};0t(FXh%68AUW$Bi661Z1txF_xWC(*A?@PS*^tvH8uJ16| z*hHz6?|kP+%w|ggDg=@k6}XPYn3^mr$#VeL&`3A}Q{lYA`H;Fc1g4ozxUg4HuBu~Js91GDE92U3dIj$c?9OVVzhMJ|D@t{?wBndtwb|jIMT#(_r7I3 ztw~ZtmV3OjlBB;C(CLJr9YNrTV@F;DEEa}5m;7n6h9@iOnyanQk!@`#27SfLFTwRI zia}42<(`ecz>=~YmP^PwlJs5oJgiB3wC0?C<8ukz^M|X&(d@Ovx2&oQevW(vPai;) zc`9J55C7%=MDyya@cw&_zxgrTf8fv2sLC|tDGh0iFn=k^9CV;C#?wg@LFCb);p9ZK zTm{q>XyeeTCW=auq^8}LY`e7(D?vt7wX`h?)t6~%zd5T_fwhh_4T&N}RavZc?Cfmu zwO@M^V?rK39+RdavzY}Y9CuL^5r&?+UZRwuC@ghdlO!>njwT2kSymF7fMwy(rj7HO zz+`mVCCWd zg>C}*5@sV2ra=rz3to8Ouw zU5+Rg)K2IHs-NYGS6_^n&qMy?FKWs{Q#UAJ>y!iw4IrZ1g-d&itqsN1E3mt*Xg53} ztyIz=T6?Z+D~yJ5CJjPceS}UTlr>)?Bpce}3rexiD{#tR3~g8}MT5OD}=fOkIa00WrPzZSsMUy_!TH%#qI&lrt zQY3T`c}*0~weqAbN4HZ@RV&J}LMcs>#5m`v>KX`$B2Bj=O(x?}O}4Tq zFMSq8;pud`T)y1r?Cc2dXC#RwibC?NB8)=f*s@wdnrgx@VQXuf`Fu{6Wo++k;M{^Z z_AHkc6ST=zIo?+d5Mqcn5%bvwfA*&_T5JBB|GLJPmM4!bAAV3VojOeHafL^%B!8D% z>5BJGkynzm&I*mQ3U5_I7tw$>=bEw<7*iNRFI8-AD6U=>So+35(d|H|BZ4y+NQ7DD zaCGDeBSo4j(uSIApe5L7^~H)gf5G;&COKRS+^-~PuwG%CGFIFYKQ0cX3AfjVlM}&w z_1jHB*GVGy*|8TAmQ+-CHxY7{Fow=$#m%dV-}_C^bOBF};NABeAAaC?{M2)N2Gg0R z(^hEhNfS+3x^o`5G!0Nj5kv~5EE-3aTb4^jUAKrrMG#~t1x4Y`dFY(e;3c`dxfxPb zip8>~tSnI!6GcM(+G@3M&ahn84O^xmNsL5sHbiU7?(QzHyz)9XZrsE<$86uM}CX$#RW#ns2=bS9Uc2>JL3eDK78H&-E*c-5n{`C#giht@NTn+SZWI zLAM)fF9(~6v;cS{8tnwqz`gG5Uu0srloHEU6pbb1m*WQgOo20cO=qQOwFOP;tq9)s zK&TP&OkgZYESfLS;)EWaNX8nZ$#;}XAv%l%#vCS!r0se64!rTQCd)L(r_$yA!3Ulv zPdsNM=^D4G!FusSplRT6iX8FzHa0Xx<|wVFs#=t#A&N^BHDy_20%=#&K|+?593EEW zd5uz@<#Nf%$q73~L^!fH8*Ua>-(` zz&Xo&UUTQpHuvw3SS&)4q)nDB2?EKY_xcNhm7%J-yz@>;7{FU^3F6pWh+@TTs4y{r z#gvl!nyoa;Wk6L(=UNmiHu^AIS`>=k`KH1FosJ@kq1S~$|AH{5s^vVY>Ff_eh_)_F2muFKmYD`an`Z1vBBQn9(kVg&O1M1 zwOU|phru8sO?zx^cDZ-&5zbXaQH-?(gMNv1(xdUiAA(Xbuf49R3X823VF${ECkQo5 z7xL_J#B65p0c>qbBhAaV6q}ncoI1SrT)U>}c0`M*rW|H#!Q2H}Qdt)1OAWO6+*Q_? z#}uwy5**#(nWvK~!d#NQNeaCjCQGSU40^KR+pT7T+w?iX`@8~I*8-{pNn`BpLXpB? zQ=-(>3bwW`G+SW6Tg6s`Frn$huPfnfs~VH5o5<7_aJCZ1K1mwNfLNgnZ0sn$zODH3 zS0n>|_ao1be&l)YL(j=rh+oi9EJW+J22uk`jOXU96h*}2Cv#9W&KaDm@V>%(g)s(W z6rD~0SmyHy@4WLPZr;4f-rhdWIlA30N-5fHnQD`!DZ}BgA)!|1V*)leHyMw|Jbd_& z$z+OimenfZ>tDZ3zjuwrGGcdkhbK=C@xErU7?C6v=TB(J#m2Vc)fXm885{iQ>|Zn9%uB5GgGsk?VA>NQ`7DqEK*oPfs{ccl}CyxG3<% z;RQKLr{}S;;HkE@;N)0LtJZ?^iUSFqv!(b2Wi2(fFcFeJ*HA3f4f&s6(**>AK%Gye zDK|6+?yM7^GkV5^}o&2vEzM3FH0w9+QJEroNfv<X4e;-(( zh=4YA74XqV(!B7}9mRN@;JoJTw-kTyPc_?Zu@Z4hHm9zkmjWU5bIk`I)m+(Ew9!mQ zB0xzZ8G@azZ2qhijnob$7+6{<+zSs@Q>yYbSpb+UBuGdS>AjsTnx^f*4o{P%k`zlcK*5AP2G;=%pv=HUupT@gc6g46lD%@%o#JKiYvGyz99C0OkwFlgFO2 zRCL;gjm?s7r_FSl5yu*>4Ib504l-ubiY%Ag(do3=*w`dV5`rK&AJbVB1>^CU<#PF{ zITcDNs;Z*j@3XbFg)xRK%UCStSX=Yt$(XaV8A=)Y{ar3yzDivW&>A*2b~rvh!xIpM zrs;m*_(*(M`kSNs5=PQf}xO8ccZf}5h3TvmFoefD_HEBz+S{1Cbj#}$;p_|X= ztX8XLP>4GhxUwu6jYb4Pz~#%A>GgV4Rn_>1rg>k5a{^n*>1a`{|}@@S=N#OZZ|}QC#SF~gtxD%;Ph0;tHW6OR%wDk zTmK47Y7||t91i-DaW-05hU!|eyDJn?vkjQf6x#y`w#2vaRyfX7gD$O0@jX^cNvotO z#9QLet*WLI$%4y0eov8mp;8zq%}x(GcOdM+^c1oQY+W%V8!(;1-3RdSk)=N{T)S2_ zCQ>n-X3XcBII<+k5@Ysxzy*4KBFubK*@NVk>~mO=*z0A0NC5xBMd_h z4-YBJvT-qFHdnXXJs-)GH6uFnJZCnW$!MoYvAYuybwWm?1+#e|gI1hyrf3~;cIFsQ zJarW_*ic-%rfH?{gYU!aMDaiSUua%`9ad*Beg^sy#C<6Zt|m|}sRW?3fPxweCbJ*EyDiSSWR?i&-O>mJU0!{zi8V)Yl zvyGCZuScSs(IIT~#eqx{(KO4Iuqvjp2w7Gm#q~h^ht*R2x}*j3OnkdYL+nHd^BPR7 zxOrPq=AQ5Ujb&?3(cV#H6PTYuI)L^qm<{3Z89X?FfA=38M@O)=ZF%$cihK70e)z+h z`P>5q-jx{RST3h%4Xsv(st#y(2E5w7NnHTcMj`(oX$C6I@>vufg`@UnD!`4pC-c~^zDqem?D8oePK;`*kif)z`OB|z_3CB*)xY|4?%#h*5QOaP?69%1aXvlK7(-Q6 zWLZWShV=V=;yA__fkkz@UGh99jw6naju;M)@J@4jR?=>#(zTy2g&?N!e_gH!qms=e z=H|_iZV!CzS!9a#K$?*re(X7T2tWSB^ZHK|UwcdO%1wc(hmim&BcN>?K9E9$k%oTN z`G$zvOG+bZ2(wEok!E1TmrIhS!r{f7mJI}~+kumzJl}4~42z(l5%Y}?msGz3lluHf zo~#t2m3BiHKVM1&8Yo4acviUt1FN%!#=R%(=6TulQY05~~0 zL2FGA2!F_YK0o)@j4{-8jkT6uugBYOzs+Y4BpLpvf9(1GcNAByz-wxN=u&~V1J z1jks_N_cyl;7lQ=wr-kn;)n+5AocD}OPX`a3Tmft2ypZ8Se*|8IXLj7Eyd`p5%TmR zCF1rh?6qT#V9pxxHI|8dPnN^^P&51)9Ro(b?X(vJO&n*A#!URfq5il_x) zEZh0cOTt?DXWt1J4Hc6~j8Y*+FIX&=IOqB3qx;Ne3$$9$>#x|}G935Y^!i&|zI>VG za>;x?XSrO`>9oo7yn*~UPESu+EEYsj+zdQ{jg1Yw7a+jZt5+Eghs3>n&3;!{ohCEIB8ROl;j3FN z;OJ21PDCBW&i=)`En|KKKAd{awvNUU;iOG>R|b1su^?~ zx~?HmbT>3r<|WmVK)JG9+J|p^!|>;Ju|RS1cAYtaT`*xpe6gVHlES(w5%q z^#I7Sk|c@g^#by|Mmw1>mn0TzEoEuYCcxM5?Af{@ND-~1?=uVxt<(r{n)4{{iDONc z!P!vp!yk**>UQDI9mT6JDPFvx*xeHP~6?!p}3Ud9^9Rv z#oaBqySuwv3j}wHy9O!lRyObcXLe?HCm-_ZCYj7U$#c&=zjF6Uyl%E*X@2c z2W*BRnl2}+7HZ8D=zO+u$&dpL3LKMjV=(;;)t6z$QE7)Y=!R+x;{SG8QTCj|JHujP zROVf=mG?heI7{RL{cd?b>2+`zaqyd(ni`f$@RCiqZ~3ML2Y(9q6~x1vWP#_@Z<5fU zhf@uhFI8D?&|yAy5ulQh&8-gCFUQgGoKxpkdzO_~jaODnu5s4#s3V@U z@l@Z|nu6#5nmNSet%Nt`*kq3IDLnS&3-;DqZRu9b-l`53b}F95}YD zU&k4eFRs+Uh9+iFKnXdIIE;#BJtCDxOS%kidKrCQhhgmbPLpptB;>+}r}QgZVWjac zi%t2w{A^^VwoZXbYd{Ptec_9!5v!%8YE1eh^j9P7VA&D@CGk=EHwT}?96dMrkw3bY%ttN}A z+|;{_0!`3~ifW;XXiOXfPP}X5!m6-8;V)hzKZ*%>++Ez@sj(mzk%ZM|pzm>7uxJOg zFn0adI&Zaq@ep4Jm(TLR%jJi5swBp?v)2ZWhCX|q65+c-5*3Ej4xL=6bLNUXYz(-N z2JtX@*z)fg>X8e|xRgR->14Z-bSl!PC{=V?v=WN$I(j+A<5bDd`hNP{=+6OyOH8R@ z3k-vBo~{9Qf)z>f-mocrI&Ct;dTU zc&e2`p6VjCPO>OeXT-Je#|T=m@?#JqV-riMvkZ+Uc8uM>Y}ik@1BTOk8wme$aCfEE z0fpr;sK+w`B-~Ov>Yz>~G|Bp0!MkY7{%=`nbFryIxm4CP;&tp-V_)H8$Gt%g{u_=0 z43Ce2T%Bg2C>}}RndWZ@CHW~<-4B18xogz-c(4tD=3WNKz@%CZKkf~xgfHU3ZNXiIpP@#-HAinfp_6P8{ok!GYHitIdPGbgMsJY%?>8G7Y@)5AuW5;5` z!mx=yo;~HC;>cp_?l~>@nR=7XZ)#JIr^+EMYAoaw(bQ}H?2Yj8x`BhVodMDxBv8xb z<4G2GlFa0Te>}8FgCT){$S3$9RH;)`E`ymt zd^OP5F+Alao@v9wqsqgxc#Dk&8M8nPFRPU8NAJvuFAQl!(XQdDVlrx})M6su)WqA1 zEc^h0;~@=;A52v&E1jpOAJ1m`Ob?2mFEHkc{2+lxw>zS&Et5pWEJY-iNLNWiYDsXU z4fr+uAOyW?{Ts-m_j}>RHhifxsi$Y-F#p9{oD>49lr=$!ya@U9%?B!%} z3^9@~)iOd4w9gBvRP!1evDYfyVMYLKp0FEToeV5EB@3ijNoNyEpLHc#^2g@o8=DX8 zyk))XM>l&qk{qjZUn~Bs1>1X+t!ElrTR5l~$(D za+BGKrd7+;lwrarPUDb9P{>oThy_j*tYa6TLLqk2W5-MOFjU3LWcoaM6Mw*9(f~Sg zM@?g)pIgrRNS*WnC)6=ji`JC03Zeh~N`HD_I9KG&8C>V9f3=vUN+3W20xz$kv(?Oe zE2mlc$0+(L&~`YB-l;SS!#!hCG=p@@3*S)hFIAe$l$trN35UFKA*b5LfTipEOZGtt zE26{AK$TL1TF-pzxw4>-Uczq6PmVL!;~Iaxy9A%aTl{pEPTa^czrCB8N!FElrldOA zMoI&zwRR~;iUR5M9P`;u$y<%C!v2i9IC7Wu-&`V9?kVqTa*8=m)W}VQpFdPfu0a(m zH|tG~nq8IE#E)fs3A5LA=DF4DGl?>64S0a54_v2JfFy0ad2R^P|&Q0LEZPLN=^gy%8?v&jNlhiPvH*8(xU&RyOk=f=fdDropi-c0co1yD=+9g~L*;^vSQBRnq7_jYm}Mjp z(kcQP%f#P+5hD=YH69kr{p-F&do%U7gWC$rvO3TEU-KIwF}b_j2@;<`v*OFV?mXB_ z56wn5@H1jqhy)#aku%r;H={P@=-8*uNUHhuPW&0!?R_`_eFeAaf|%Vy)JeyEd^E}- z=n+Dq4mQwD_@23;AfYeGvG)r&*5A-X{PU+OdsevxRaw84L?5== zZh0ffr-ZI5f~`4u0pw)>ORs`%svf|R3fMiqL-Fp)6?~XD{0h*HwTx@@OS!V@H}jHD zsVkSAw87`CK1ro(gpS3VI?Q_!JGyZL(qx3q=|gq`6Wt~{amK$&HJ)>&Bpt|JrENV3 zdYL@ozN>*R{>7FqB<#=tsS+;1mrtcgL41*|GL0dqEA@V{6I5(Q-a+RJ2#1_X`B-J9 zfeehZ?R1o%NpL13axMCu{=_4l+m6?E{zUpN1Rmv_Zt+E0_@XHEjZkOkK^o! z(7Zjoe;JO0Hpq~7y_+#cWa3KarBmnWRoKySq_KVt&?j# z2h-7EsTg|f!3x?)7K@cn1RR+%9wm^`2HLvcnj~5DiNeZJoJ4JAq7MFQ4P7;t!n@KJ zaM0!e>a{w<{fO{!{8(Gch%3r-GT0lf&9ON0FqAP&oc{ag2F*nQ7OBg}d@{!{16>sh zG{XQ{?hp_ga);ZBs?M;-oMl5fT@>}6v0{$*GgM!7OIN=B?n-YL?ew7rRmu(*3q0&H zN5WgDUsTyQ7A*bsKln^ABcP5wP@FO51~mK$w1a2gx83f!0Ucq?>CDy){$X(j`&f@S zQwBdWD6GfJ1xt2b^jz@s)xSR10ekPcWsJV9amo1G2XdaOEW)ZCH}5+^s3YoQGBkRR z@Yws)|beY(3$R0*Zn0;%Rw ztBWBO{oc~n#4Vcnf=+m|F|eIo+)V&7t4*6BtKNJ!48phM`o(n7d08x)pXw>J(?pv{ zSpqg=KiO$zynObmmL3;*dnX2l4#Qpp9&y7(YGosW;1a^OtHit1EH=4G`qx%t!-I@&A7&dw$wk#}%ecWmatqo*yqN@hgZ!b2X?H9r2LO1I2hoZFaO-jQF7e786(3%#&w?pbOtE z%r^5{Nnu>)=!Cv5T_a~D4V%g_$Ge}QvmDb#E!Pu}+)5Cg&GOn8d|N9L;rd$y0z$9Y zvfMO#I6X%3&6j1>f+L6GzqSa?yV+OG`IW@RN1`&Ao~Z}wB^0q-)+lLiCW($ovu0Cf zjb;L@cqo|98(2Wf{&jR(3aY8kx4leap3)lfe1h4tvftKwT~q41-x!J-4mKXXc)kx< zX6G_j)JOowO$t0Nd?z=$I86Ue@)`rxeg>aGwd)JSfy732vkZ$C4y+Qy+!jprY7Pkl zt6bp}C&j$AVjXXo#v4FTpsRDJs|g@U3%wU;<=n-b04dBU@S{)2xw?%st6L)$WjxV& z#v4+@D6CQ7BZgvt%j@WpW3$RShb(8G9l!ds7qmB``mrRQ7rN0cph2){En~07np&zl zTojh4yosgq1#1&w?-_7OlE8XFa+<+aLN%?XKBcqY8#>61K*`uAYep^6MU}+!?0A7^7uY`sR(DtA?TIKbWGZR?Y@qCVSgv z!1jC;SvrwVM?XT>7a=%gex83IDf+nG$duCDnUmU)+|7JuEFmP83*)m&sw%wpl%=4S zpJ>%x`kUMfl&0o>D^dxO5ye1E?%Gw+TK^cIo+DMUE&5pgDzyW zTjnwWrW%zx|(MFusEv&f zHWVrh-O=`GKy^7`d`V00!q4A5O6N|O`vE;Yb_PApIfn16n*2h#*Z;zm9=D6WqQ!As z&pADTtZF-PjCE==@qq=RanWv)#xYHqbJpEyUa52OxUutU7_a|Pm&JzUHj0IlURD`c zCuy=_zgu;))ljG+5se9cmB{4|d<4Rg2 zRP%^Y;OulX`yF;Mb{K5vp+Sru%%$F)w?uh-;N3fxnIpIBBNid<-(?2yBYn8>5zLRc(F-$sEhT244D{j*};K zKsNU>M^QFktYozL{mvMd+P%z^9z=WwJp{ooAS%~%G81-QCW}mfoK1O4sGms5MywVS za_M~bKoR`B%c`?rbL&&IE8**xm4$&rDOKDNth84yZ^nUYurr$j_hjXXMS> z@jU@@Lc)ZTdm#Hg&eC&W%9^U*O);H(uN}*NSGFjHuTBGd#+v?F$l6*ydUyL*q24e5 zs~7UJuhKaKKvwvpA4GrOC;OtGiuz_=?_Rj4`rpFwHGJdhe2xkF{+&8pZoWM53k!q! z<%m)Sokm=2(pkAx@MdM16KX43XpU&1$w%4->^TR5eCh0&LwcJ^$8O@+>kT?97IaxO z;-%<|lWcqt2E|wyHw;|F>VbwU;V#SdX5_lu~ zxs5RT9%VDD`7P4ibcXZw_I`_3at*ZjzB?$bYe9(m56Oqx19HYvNzvi`w)(tM?{Y6B z;k!rj3}`EJpA`bHvZF(yY&$R`Zu7qsMZ%$M?-ixGNPek->zVvw^B(I6xeT!qJrG!$$ zsg3Q^X`8E%tSyg}@HhmYpBD*i+!>iMsBsyDjVTtrT*Z-O!4lcZJg#8^ZY`u z%znR+3hkWtNYKnz?}#r-78JQDxM}iN->9dEI26(&%iR03Bq2}l>?}5aLGAMV79U_N zoRp)71IumDl(&@9&)PllL2CrqlmbV7D${RiI-9sro7|Kt*Y5eTIYE>Xh0w$GW@VKu z^hlKDvdA0ltB1Y8TyepSdk&hA(W`~KpTH#8tgbaJRg?#5M zW`PZJjOc*zh!v4C775UNND|MgIte7xcACKoYtT!4GeGJ!r|N8H#7F2&V$Q+h>mbc( z=+*m_5-{GCdC{Zhe31azfdUUArW})xF?D@IC2tCT*PGJO-%a(HbZiJb4xI;nnnQEg zy3UT=idnj}7OhN|H|$lGQZ)e1mo8F$xD7qTa~I*&027=TOt+8X^({rs`O&4M!EMk; zhj*BV3lZofmDs@Z31RDbsLJQ=Y;C>A|35bWVBcla?4uc5(_+7TdCH^bB2WK=C)YZG z$yDY+JrdbsX=|mC@YQ~XI_551Vr=?)C;1#9E7nHpqmFsS4;|RQoMXx9C930?hf;G*7gN2z{QFb@tR8LXa%LPQ8-caV%~q*h=|j`kr`L z^l|#aPxtF!Y}s&bd)<$Z9sc7bkh?Ulwcz-Rx8>{e;n;cOh&RVUlRL`ZH)x{DBCmf8 zG>L{>DOZqsA(afBJZ}d+7ixB1`GeI34 z9OgkxKjRMxX|qMa5hJ_b1Ja)aeck&1ZPKuAb&O`!ZSBV_*>t7GW0S@#8!KO!{mBw>NeOBuCDi^>|N6w(rMY9OaWX&tevIAxYx zWX*u1f!gE8>97&0{*4v9&zG8=!9J(YH6f&gX5{|S%Qv*D_%DFPoI(~|j%&jjhP+uI zcT_7Z>C6@pd%5YOwbS3$yN(Ov=80G>NJgxZID*hXT~CRp%eJT6-y_#hZ&Po%SsPD) z9N6T%!xR4B6Db~AF8}7s;PtazaO9vhtBoh8(;5y!p4cp z4v&Mv_?w)uvBQ#q#o~!{WGKRF*?y7MLDLe7>U;Uq-CTmeh{P6IJI9|f73$B0o2w|v zG`g}TZS~@ejsihvsKNIO^P`OlD)Q_0aV}lH&ar7Cr7O$n`sjOod zzg=Dl@sW56_-5QE7PIAwF$Q$wkR-Du8kx2xE3(xHwI++VI_HkRg!#XohK>B#3I${r zQ6%Fi6wN%U7on{8U9{gc9&RTb1S<*l-KXw8{%O+jz?fk%%Wzz?vt#Ie1BNLgUus4KY%7JhB4V+6=$)@cij)_ z&|ku8r&@~GkEtC6jU-=fYu19&<3DtXZDi%eQXm z9L=G}Gl_Sr9h?+QE^Qh2OQ{4ySUpeV%fqWm3LCymmLWQYFbqd@TV)C2zX}r_2^WY> zf{xO>M?pzQiw^QT*aKm0ErxypwvOlfiE}HyJm&XZN-x@y1_S9zl1Pl-6*plFF7Qsp z?Y?Sr#8Dl?CAlW>O)0-pU@0%}y_L3KMBLQxLUGyvJIRPQ{&%dXSwbF;q+-HNxnCIU zCGbQK3tGQ>#C#Ew{uC>x86LM41O?v2f;r z5FD^lZNX8I&MI5I1edTgXCV5AgOAqAMm=IKw>$m`UX1KCUb4{-t$wPJ!NTX-Xez1f z(_dSMtKAwxy*|Itw{ei=z{4_82p+NC#NDGHY}@?`4(Agwc=yjsX|4|M?Uz$2U3U-7 z6f3wIxD}wOt0G~&7E*g_i{(@=J<+H+5Xy{C4khSTP3oM8vw zDU;2m8UVX@{s70qJteqQcjPR*URwDXc#UH*8v zC!siH(S7x-Vc_>9wVIPWU^yMppGZ~@B^G-T&D}yZ+ErEgH4dy=h|XFq9j0e4!Ua76 z?3n<`-u)G0F`&tj8)c$ogh?u+@khIoLX_;g#^bD4Q}mI5{V}iW%I)nH&R8YI$D<^r zcCR8O%MYyG&2nvR;~Ssy)V8O>>z{{0h7to@d+|?x!~3syq*~Dde1j2DKhhtznRrh7 z&|_4%i-*mF%t-`gWlf}3P=Xd@tzJ?bFQ;%-H)dAV7I%3Maa5UwQfsenvN4b5`3to^ zdc8f#c8bUT*%pHrQzLwt#<9_o|kGMz(Itp_*; zd7Zgn^}T=N7&qd_#T3y9w#)oJ@tr7?Cl}7&egIG*2D1 z0umE3_Wo81bx2;?vpi6ukSmA>ktLS`b@v(+K6X6%Z+hkuqdEOcX8Q-`x#KKDTBXUV zYyYq>Gz~(EIljUDsB@>YOt2bAmpr)5kwjSQ-Cs{<+-!y4#qwM5ll8;c*OIw_Z>%9T z()6=NvYypR9j69jcnpQb9SE!zt}0x$XxO|n=ubis}BQ)N4J+c8V9e(!ClX>R5cVKB{ZW~PTNh2PLy>AsF0*2|uBY`vm3 zpqta92rOtRFrFcg?DZD$wh>{^ zYW2*<(729?CxI0@C=>0r%@F0RF_6+ta(%yoI5Azzl^z9S05sP6yymIWX9YK8I58`q zWU(5VfGlZ%xJreBepAHCwNEf;O$;f*zEQPlvR)PalO`S!k$NIAGjXh{K+nMVYY@}+ zk)VG$iJ!dqoF)MKdA1R&jSSI@>^#MHc|~Kr)57Bk9$X>^GNGpK?iaIwue9HQuL*QU zMtnR;LtWFwRm&zeVMt3M(=Jq=-MV%0W+RSTJo;iZgFV$&o#C)`>TR%>ogwnzM;KzBb6ztQ^V%w!v+>kO+vlJ88`8 z2^n&iC&gOjRYIGjAjK~_8x}h~>ui=KnZ`hj=P^bG)|U11t2h%%4ba@c5I|ztQVcw^ zsoZ_pC_oxekmEyY4nrFfd87Bt>xOViSD1lA$9Ah}nCe4Zioy1AuSE2CUJH&55o@EB z7R8u9sX4YKw>myKZjLP%No2&UUDjZPtc@)Qpv&d%Akox-J%2(c{9J6*GG^Xs%51vu z5*)BoZo)IMyj)L5tg-|}^OeVBa+z-xOqLT4FgIi^excK3#?Te7wN(SSo3z0LwD4z& zlT(U==Zb@yWN?rSCFb!GYPL)Rk?&OjY{=|lw@=*J{|(JStPE?IE+2q$%t zN_Tq0*cieH5Gask)rNE9@7Yfxm)< z%CgQxEyrAFZzYyBlf@dN6C)Kr%S~mFIy>=bDWZuJ|0PI?L^e- zuIT2^h=U>^l(Sf42UZiFHhCIuT3YIrN((l`l{KUemlb6kHlne0P6$PFVr9fz^z$35 z^xdUiQq^Ul3}Z%9ziLIwqZtRCyich4;s>6)Rl}kk42<{BEEL;dRfE2bAUC;d`o!KI)`iKNhbA= z-3H;NG3eBZ#=ozwXmsC)p^!VZ^7}JOvZ@@(m>yr)ax?ApUU^rETS0QdrbOXHfaiNd zt&eF^^n_x-r>Ue+3a&&Q0eqP+7mKkb_1I2l-$yPdt}l&;yh$xQ%*~JVuvBqyEDX`2cP|y#YOSnc08GoSrPKEYQ3WhT96*Gi$9`XIJ~! znj~_^zyv_=vAl6jzN4<47LIB+Z|6?39S)j*LYVeI@<~`Xn5R^wPQsfN$ynt9vwi9G zS22d5r6l@P1_EX|_ama0?&YE;cA7mhvWKN^LmzFVnW5qB$@36O>|u5~D`@fIyR6|L`a-ze8t>xL*n&22$X(hTG72{=PzsxX=E_Sg> zjQC%2T+);%z{)oop%CZE^c>gg2}7on&JHhTm#NQr^$xir7t`AvidPWCgqRMaP}P&5 zLYKZU+-jd`(WnY_$ITjb?a>=CH97l`HY?a*zFl!|tpbgRev3UWeOsv&szt&^JaFi= zm%UkT*WsOIDEYc4x0H3De++bzvD~O9yIR;vqC5WgPvsv~1t*0ZJ;Mp*U<3_fzTFYI zpgzy_`NyhF|1oiX2)%5?UIbT6rYEkyW#D}Kb6;_#e-v9e(l-R_)4GVlc&bP<2#(@R zaweM`wjzaGjIhu7YyoaRFzPhprzXMYh^Eg;+R zP0P*=ZVjnTh)2!S)Dw_!zKg{!htl#DtTaGGLmzb5QG8{b_eqqGb$@#3vf|?Ewf#Y9 zBP0*A5%RA797LuHlauwn7F&hp7- zD12n1`ok*x?}~d|^ZwPcav!ojY8Xp;B64_D5w)ZDLztTJRN6s!Y!bn3~n?m-Whr@~$;lG2lPWAg6r1g?o3r3B;Kk-Yfv3+@zh^U+2 zI(yJsYOLDk!a|(Hy5{*I!!MzbNB+2|ehpA(?eW9Q?aLcY+EI4JkO@fkMu+M)l;?XZLapf~0&2n`ja({9er(`|dHURCikP z=F4K(`6u1V9nB)XrORV&T40HF&e87;COkYmJ11xE^xk6!jO#Sz!mv z*6aNl3f*6Foy{k+yt)d-1RL~Zt`!*5<%jUT*7yCl(*(N5hF?g?+`%F4*k$bUZ}eFX zaWs4McS?aAv@AkGB4X12I3+AFQ<~g!FiemAr(j0!Zc>PtHN(!jUZj)0_e)>H9IWu%45Ps;NYYM z_`&Dr!&kS5`}Ao`B4Xl(KL5zGGrIydJM$nwSpe10tuBsi>7z{xx&jh$2VGy_;Nn?#`=gA1SH_{B^v1*?`-I;ih;4MG|E z{N~5G#89$zY7Bc5%KsMULRXTmR7Uj=y{YT>>@L32>Brbxa?AVZ$lUrG_vNM~Z5Du4 zKV*Y0e1FBCKB+TR_EY<)%k!hGzCV_f3YP4hW{SC|-!GV_UOeH=E=gO^I1oK z38I#|r-i9yj5l}eGG&;>b4WlIy9X&`wRRrAnf~$Y0s0yp<1J1bpQwMP5;uALbbf0~t&LjzVz_Y~TJ}yf+B}^%D=YwKP*I zfK@pTWL0|2p+cnSuPy|~mcH9cB^kn;0&nI9H{h!(VfCcEm*({9_qvvQ9Uv~;(2$HO zyjcAE4(Y$0t2gflfas`{#;kt!Rhh_+_z^7J(evxYowMO`BP*K66v0oGPQQN-TO4(L zbXHc5-H8pN&70uIM!z}y7=!^@?0PDZeG-eSs5h_5!Y~sq3PoZ zKOT4g_v4e#>-&ew@0*5xjFcSE-D=b>Qd%x%#xCXpra#T0PaingI5?TvIGH&()Y*9i zxOfD(xf$8m1lZUN*Y+|0uL3&*v|3) ct>G77WB;ETE?$%