From b03099190543aabc30ce2bf05ef371aeedc1d7bc Mon Sep 17 00:00:00 2001 From: Sweetbread Date: Thu, 22 Jan 2026 23:55:58 +0300 Subject: [PATCH] Rework my page and add info from listenbrainz --- blueprints/risdeveau/__init__.py | 35 ++++--- blueprints/risdeveau/modules/api/lb.py | 89 ++++++++++++++++ .../risdeveau/static/img/88x31/teto.webp | Bin 86278 -> 13108 bytes .../risdeveau/static/style/risdeveau.scss | 42 +++----- blueprints/risdeveau/templates/88x31.htm | 16 +++ blueprints/risdeveau/templates/base.tmpl | 24 ----- .../templates/{contacts.html => contacts.htm} | 14 +-- blueprints/risdeveau/templates/donate.htm | 19 ++++ blueprints/risdeveau/templates/donate.html | 21 ---- blueprints/risdeveau/templates/header.tmpl | 20 ---- blueprints/risdeveau/templates/index.html | 99 ++++++------------ blueprints/risdeveau/templates/info.htm | 50 +++++++++ .../risdeveau/templates/listenbrainz.htm | 23 ++++ blueprints/root/static/style/_catppuccin.scss | 24 +++++ blueprints/root/static/style/main.scss | 79 ++++++-------- requirements.txt | 3 + 16 files changed, 331 insertions(+), 227 deletions(-) create mode 100644 blueprints/risdeveau/modules/api/lb.py create mode 100644 blueprints/risdeveau/templates/88x31.htm delete mode 100644 blueprints/risdeveau/templates/base.tmpl rename blueprints/risdeveau/templates/{contacts.html => contacts.htm} (89%) create mode 100644 blueprints/risdeveau/templates/donate.htm delete mode 100644 blueprints/risdeveau/templates/donate.html delete mode 100644 blueprints/risdeveau/templates/header.tmpl create mode 100644 blueprints/risdeveau/templates/info.htm create mode 100644 blueprints/risdeveau/templates/listenbrainz.htm create mode 100644 blueprints/root/static/style/_catppuccin.scss diff --git a/blueprints/risdeveau/__init__.py b/blueprints/risdeveau/__init__.py index 6282937..85a7d87 100644 --- a/blueprints/risdeveau/__init__.py +++ b/blueprints/risdeveau/__init__.py @@ -1,7 +1,18 @@ import os from pathlib import Path from htmlmin import minify -from flask import Blueprint, render_template, send_from_directory, send_file, abort +from datetime import datetime, timedelta +from musicbrainzngs import get_image_front +from flask import ( + Blueprint, + render_template, + send_file, + send_from_directory, + make_response, + abort, +) + +from .modules.api.lb import listens, listening bp = Blueprint( "risdeveau", @@ -11,10 +22,10 @@ bp = Blueprint( static_folder=None ) -def render_tmpl(filename: str) -> str: +def render_tmpl(filename: str, **kwargs) -> str: template_path = os.path.join("risdeveau/templates", filename) return minify( - render_template(template_path), + render_template(template_path, **kwargs), remove_empty_space=True ) @@ -26,14 +37,14 @@ def static(filename: str): return send_file(path) return abort(404) +@bp.route("/asset/mb/") +def mb_cover(mbid): + r = make_response(get_image_front(mbid, "250")) + r.headers['Cache-Control'] = 'public, max-age=86400' + r.headers['Expires'] = (datetime.now() + timedelta(days=1)) \ + .strftime('%a, %d %b %Y %H:%M:%S GMT') + return r + @bp.route("/") def index(): - return render_tmpl('index.html') - -@bp.route("/contacts") -def contacts(): - return render_tmpl('contacts.html') - -@bp.route("/donate") -def donate(): - return render_tmpl('donate.html') + return render_tmpl('index.html', lb=listens, lb_now=listening) diff --git a/blueprints/risdeveau/modules/api/lb.py b/blueprints/risdeveau/modules/api/lb.py new file mode 100644 index 0000000..02fc8f9 --- /dev/null +++ b/blueprints/risdeveau/modules/api/lb.py @@ -0,0 +1,89 @@ +from flask import Flask, jsonify +from apscheduler.schedulers.background import BackgroundScheduler +from apscheduler.triggers.interval import IntervalTrigger +import requests +from datetime import datetime +import atexit +import re +from urllib.parse import urlparse, parse_qs + +listens = {} +listening = {} + +def yt_cover(youtube_url): + parsed_url = urlparse(youtube_url) + + if parsed_url.netloc in ("youtube.com", "music.youtube.com"): + query_params = parse_qs(parsed_url.query) + video_id = query_params.get('v', [None])[0] + + elif parsed_url.netloc == 'youtu.be': + video_id = parsed_url.path[1:] + + if not video_id: + return + + return f"http://img.youtube.com/vi/{video_id}/sddefault.jpg" + +def parse_listens(data: dict) -> dict: + new_data = { + "count": data["count"], + "listens": [] + } + + for track in data["listens"]: + track = track["track_metadata"] + + new_track = { + "artist_name": track["artist_name"], + "track_name": track["track_name"] + } + + if mb := track.get("mbid_mapping"): + new_track["id"] = mb.get("caa_release_mbid", mb["release_mbid"]) + new_track["artist_name"] = mb["artists"][0]["artist_credit_name"] + new_track["track_name"] = mb["recording_name"] + elif info := track.get("additional_info"): + if info \ + .get("music_service_name", "") \ + .lower() in ("youtube", "youtube music"): + if cover := yt_cover(track["additional_info"]["origin_url"]): + new_track["cover_url"] = cover + + if "cover_url" not in new_track.keys() and "id" in new_track.keys(): + new_track["cover_url"] = "/asset/mb/" + new_track["id"] + + new_data["listens"].append(new_track) + + return new_data + +def api_request(url: str, cache): + try: + response = requests.get(url, timeout=10) + if response.status_code == 200: + cache.update({ + 'data': parse_listens(response.json().get("payload")), + 'last_updated': datetime.now().isoformat(), + 'status': 'success' + }) + else: + cache['status'] = f'error: {response.status_code}' + except Exception as e: + cache['status'] = f'error: {str(e)}' + +scheduler = BackgroundScheduler() +scheduler.add_job( + func=lambda: api_request("https://api.listenbrainz.org/1/user/risdeveau/listens?count=5", listens), + trigger=IntervalTrigger(minutes=1), + id='risdeveau.listenbrainz.listens', + replace_existing=True +) +scheduler.add_job( + func=lambda: api_request("https://api.listenbrainz.org/1/user/risdeveau/playing-now", listening), + trigger=IntervalTrigger(seconds=15), + id='risdeveau.listenbrainz.playing-now', + replace_existing=True +) +scheduler.start() + +atexit.register(lambda: scheduler.shutdown()) diff --git a/blueprints/risdeveau/static/img/88x31/teto.webp b/blueprints/risdeveau/static/img/88x31/teto.webp index 88854dbff0b01e2a8d0d68890baa8993dd0fa335..66744f2769c30320353fb832f297c131272b91d4 100644 GIT binary patch literal 13108 zcmaKybx_;wx9x+w6^gr4+}$Z|#obDAcMqkwQ{3I5l;ZC0?(SCHA-S~gx#zqyzjN<* zCX+mS@=Ws2XVzY8ZxtCyNd|TRK=Y%RvW7B`79s!uc=z_w1OSKu08vF51=zO}`0e>~ zQjnB|dOQAo{`rO}008-RkCg4LK8Xs*g!rHZAOQ%)iKWO;6_ArLs`5$ye1~8LD5$9o z7>#nKeK>Wmj=QA@NWUFnKR2+j6g4OIsxm;zj-aLcfl`sbjVLTxhi&I2HO3_ULQcM~ ze!Qj<=75KM5pdJO^*DB-QQQ=3N6eTgfxW=xr>vyv$VWxiyg;EC76109L9cVmsDAWq z-c^D{$l0BV)nHQOCS0>`C*CZ}nPh%CDJR8#0wK4pkK+r|d@J2Top%hlrPF22te-wYoID^v_)a}T=?$o4&TC3wNEF@sJk^y&Yap;J;nhvb z{b=4O)YmQZ5A)u2N@8)xW(__DQKH8Td7Y5hKOZ{kJN_Q9hTFu6tAK(k)N7$$3}Ozr zGS4Odgz(AtQm>@kthDZe5DW z^r3;oTz6g0@|t>SaxCQf7^xwjK zL#st;=-ieLVS`MLxsAtz)KC|&Rq(#(9??nV;g`(_=Dx0)VgFI$wNerVV%U;}jsv5? zlVfz2J(ItrT+N)P-<>u8dI!!eSWQze;#c>g@eZM)^%9$QMPym|y?l12hldkb{@LDw zvgCeBf!pch?e$OmZCXzh{x1P=pAv4px<| z^~?ua);xK-SY3EAAA8Q1qA$@RR<@7QSO5pXGQTPVdJ;MIzAgT%sc!F0p|TQ9l76dI zXp$GoV?Z~yN}xhky2|g)u$I@t1jjwq2KNO`{IduY=+;oaN-@EuteJP!ee~G$f~lmJ zhU(tI2;KqDh>{W^WZgor>+61363&E&i9BWEN8fq(WV_H!uQ>7qUMlrcq%$*^C^oY` zs?sf*R{TSh+kX-T_(PPzTm9x=MDe6Z1TdGK=m%O(5b8O)_P%H2STL*G+82H$Y1aaT?;F=dC$r62n`FTHC&rB1B8}D+Pxts& zZj)zP_sdT)>6|L9ohr_^i^YDta1-Wv?X&t=gnDqk`-arRG$0mQe)DX`jYv?olK$ls z3P!W>z?w~t&wsc16Sg9CeUt5(T1wc5C>+?BMYDtUuR|3-;o`xkyxG~lrQ;qzs@Vw= z*tlbEm(T|FHYrzcr@f!84t-s54y$;|4dL85K)F0rk?dieEcqwWM`Di9uJKU?!76U1;LfK> zAw({2Q6;g!YTvEtLmb^3^X$C(%a#Qx6e~DKi!Y=o60VFg&2(rKyYyHND&}88GkTPS zpB~$sq2(IlUFOX_l^B8zx@_sc+))0AuIdT#D{3Rt>>pU3coL6{P*4Y+W*O>lO)v68 z_=h_`?^*J7fK+b2icDIZgS#w*j7V$SFNF^f;lt8pg_ zMpvh;SJ0u_WuRj)WU9Mw6)A5b?*~JOVajk^yVhsbjbF4ahfR4-^>UO>Oy8*C`fplo z&sbdciB9~lC+W7W8`hdb9$VHimi>#<_?qFDTV(UEbc|Qd@mxm3@hVe zd-UKw->Jj2$QupA$Emg&{mkRgGl-LOWmgG2?UDg{FWwBvY8W)!;)V$Wn z!kx)+_(VBJ^7NFA7~6;bR(hxA_|s35;*j?qIX3U&rD4XrIZBr-8Qd+^6;c`z4U+1X zB)7CyH0&ZX(1m~-U5muHefahi+dfJ5dtLSiv!9iFU>ca_R1FGlA~RaS!8r@0`vjY| zT#bH%E>T7H!DZ#B2-!y$%u-w5Wji$nL}*ZHFG-Y)sQmNv^LIr4>RI6bLZ7I-vNZ0S z#zCO5fH5!v^{|*Hoo9OAV*f=ZV0RY__9CG^FOF<)TjhoYJ zqY;#S)2}wJA6@E7z1r37^f3`194{M$ex1)M-mtqH)5|mj6B&<*-;?_lM+Y^i3=zsW zyrUr+@4s7*Tb&t8^bLL>3?AyuR8L!AiY$^Y>HD(K(UlN!oa&8^Q zQ^S)WEg>rxoEM=A+Q?h(H5HiTZLC+BiIvv!iG1m}53K_rz6tRht&mk2OYX}swI%GW zpYcdYSHeqH3c7=9*2K%(oR;{eXktvP3NS}yE;}*?S=qu+D47X?&!R5b3#A4`8gR>$ z(dPSkt@NC{fZB@6RT>~pA?=8MpAseteYQ`-nnxct=97?fS)&C#Qa$j7aEXd#aE&2< zRhEUnJD%brWsfN2*H&QsH(K{==;>`s?vJ1|rYTzb=9m*93PM^6TRcTGm8JJpYfT8a zno+G&h<_H)%@k(QJ;j8v_u% zYdLWk_u5zuN%y*OyDFipZZI1k`ws!f4EOKWTZ_K%9}lFI7nU(V2~TwHh5I&+xhcB5 zL9pjCtqzLO+!c3d*VcC_J!2mOC({P+c`kX)_{>T>XhTex+LUi#dl_>b+&r{^$*GTN zbimKTN?EK!BhV9LE2x*ykUxCPoptWafpujY!I1CYJJnlu8fMtB!`%PAJk*e)YA)qe zKSLaztcTty8I&ch8GCO-)x&6w%rYeT<&ZJ+UWAa{X;7)ximYe=!l-8ocVC1b&RJ{A{h~mcpHFsCQL#Ouh^pF5 z7#r2#|xle)5-_xGcL8%2UG%~YI3+Es36=j!MYU!)6SywAAX7Y|Qwn_hCC)SDfyV}j zaN54hkKu;k-k)?#oS3vP^Uhb>yQp88h=@Ou`0qZzoe~IsKNBP2IJdZz45luRcxz`5 zuZMS68e_)<%9eU8fY$U1hWYt>7w03}8v_Ng!@p zwF%th_Oi3^!3(!Csj&Amvay;3^}J!o(L%*jdY`^BLcd4Tb%B(Vcq|-NO0#`mDGKg; z<+{Q1x!nPU{ItXG^E-TYQbHKm>HR&z_>}WDV;+&KWiiy1(gW^oEcu--!V*6!@coIh z!gC1p`Vtq-s)3;tGnaX1BK#fwU{Q~a+1v(@LllerdLGP}iEoRls z2m9-P&zje3|26D0 zWsUZT$!dnF@sooPe!>ly!dsz@NB^bhG=y8`_+uxJZ@!UeknCGiHPSe1SNlfbJq4U2 z1bgp4Sh0N808$_OU&EeMqr6y@|dkeVJ2J5CGx1V5VG9SuCT|&!5eA!u_`>KWp18Alv zi>&#m=BwxyChFA%R}2xc`IlR-Z;PLHJ_K4KEu?oE76tZJC0mt|D@-6AW3NgS3jMaX zO6B2}95WDmXl}TAU?AWy`brlyQ-Fq<_bTDdWJ_ci_l`t!+j3`tmWtrR;|yhW)nKeB z9J+ekUZ3964IWnG;lO6aU3u&FA;mo=q)TZ1Q~IY5#WlKii+b24)>X+P$sZ^mSFhmVVMiT`jIq^SpewjMUXb0Sn~P0l|4O|pzB zu3@l|QkOMQq1rIu@ieqojC2KZdZ$FY>Ptd_zdS37g}IXv{Om4Q%kd$8AeVkqn7m$N zVXQhFa*9&)OT@TkLU@Z-Pv#;b8r089&r%tRHYn-`XSlXmV1(c_rOB&B4GQB7i|)N& zVgap&4AY2}Z608^J=bnRngMDN9+phr?3|Cf@~Lvno$`2L;J@T{*a63UtlF)aaQOiSF$5?zc0xzaT-FS5 zHz5`d*Du>&X&9Ulvgu2;jHF&OF!`5MQP+!`lDsjE8~6owL&vNIXSD$`9ij^IqE`%z zyf!C_ShY$Up2CU2wsCEYYciiX!P+?2ET0jLGwze$XeR8k9KDPbp$36eVL20EDuj(_?;Ca>ht(xV(h|~E`;{K*8VsCZy ze|bQ@R2iy#aR=fZ-zWzoq++1l?#V}^dUbgW``-j>~%L2?rMzl*Euf^o&bF3cRFBWWC?f>+J5`sFa*Q-OJDVGGd z+dG2AX;J7mnYW#^p8)Y?Uqrgxr&E&SyiTx&Op&G$?QO zYIyAq**r1MvNFzChZWXxXcl@VjyA5=*UdHpU7|Z7J>Z5kuV)2Q-DMQn@HpP(BT$XMB}Q z(m@#%3u4bV+o;A%9KRaYBS9||O^lrJRAsf5Z5;;vRLeOmOOXVzpUo$_v>Wk+Yt=%q}*pZ!=52b;DpX0z1hktE9^r$-N2aN=l{G(O zXYDe8_btkozOlt~X9b?I+Z3jViW6F}Kl=xZ^J1h!;J%xUJIfN?D*=LMp>h~jjNM1u ze*t6)ChVGBUhH6$7FUZ$qmQNexY)FvEUA%zjgt9epqlse8-)_kzxinXi!kLkk|5qb z0|4rOlg+o>67a|85xl+sx6hMYu9(n9j$FfdMFX%U{eWDD_?yIFz1>at>-9AL$u`s8 zydL{^z~3YW6u)`ggXkR#+=bn~kJI z%Av;>ZSJ;$o8><*dS_WN3%I9yzHrrFti2K!=Qg;a;^2>z#0Jt4 zJ0u6-#T;f!9h%JW_I!Lbv>_Xzul^hY{eKgv^Rf$+#!Kc9uVXTG1{ zCy5BiiEFJa*^s9p3`JRdNM^v*C59?h5_6+NVFmueH&R3-r`oh(wDu3qSkD)rL^Xw5 z==G*y{At`;D(3KAsffPH9aHIho+&#`sS^1(RC7Rv@}TQ+2icLbIoFqk)&%-%1DWSf zDXjP9!7uzNZCh0Z0bh)$t7V253eUdmKdSB!f-OHyH0fHzmMHJeYOpU>_B?}v4g|Cz zUFxd1v;o8K_eNh9QU~Gs^zh!#;8N@vGl}6E|o}hs17dz zPeQ)A+p)uyE09esNWKaqIo(7pZ)3m)Q?t8$;Xeay2% zMyzcp7x^wXtcjb0@SvS3AB-Y@# zUiT&L>#|3H7W;i3_KxiFsI*7QMrLG{`JuKsv7 z#JBnl@*mIk4>JO(fAWz6|2Jkx5wD-6r-QQ=rPe%3vxs*KjTHC?Wxv?)`+q9;?{`q| zIu3^Y883;Vy2UAx6&{IQrb2WW=65qNB`|D=2n6wC>BwZiX}})DvMg47jENs4z_pLl z?I2a;4Hpw@>;leUdianUP4{}Art|i&J(XezLb;fTl`>QK2jZ*?p6z_l6x8}LU0Qnx zC;!ICa}awUwR7pof?mL4@LS*5kif=^BcI)f4~fO41kee$CBPC{ucsDR8`{)8%(pB2 zI+e6^YK8l7dtUevWT z({U>&ar4bBLX@Wk`}vw^C#>g%=Y`U}PKhj$bgRfIj)aTNiTY+r=o4f`>T6(e*IG4f zmRACJV23C?*ehaVERSJ}{ACY+PT%n&o}-k7)tcl41aYakd$D?7U96S8rZukaZr!hg z8;Jak+pS*lqCep-32#L!^umEv{a*DY&*-j>PMrBpZCUz|_mt0tu!h{BS z9g~SGdg?<0LrG7J_3aPdloq&%skVz*Jl5ZQ15 zhWcPWy&=f(!y34+cjm(U>;tF#gS+PSPdlTufe3J7msM$>qz&M&*A5%gC9naO4Z|+m z{Iw50k#K8f4Q>s;Vl`Rp{T61@JQ-5>`4p($-4Yvc&001moTn{eY$4ZTuMMyQw znp3+8d^f_ST5NH2(_60=;mgAsR9I_DRpHQ+i0 zIxPuy+l9{RPSUe+0)w2KE^aCfZhrZ*!GJjI>j^6?VYO4;0KXYlQoWBxFiqUI6GjsF z&+u>Kh`IxHPH+k>?7$CpaS99s5FV@=JFhE9;Fztu!iG$t0`OAFKQXOqQ`xte(PP0% z;JxRwuS}|&1nOBiCZiPNj-?Gl`Wg7le=xT`o{B@jx-?CCTF{gyoQD@A;}R6TN6wLT zpC~)0#Wv%Di$CP_c;wI;$jJjT)8 zc@!FI2sENo0ed#ebZ=FR)T@c8Z-zB0GKsh~v{0^DbUYnYItuZXu=VWN%Y+0IEOkT-l z!xLrRVC+Rb#cq@V7sKafjEIW)onKHgmLvm6dOcKTgR@$ygoe7ax2yW@W+Q;cW%`a` z|A!||mOH46{a23E7=mcoqTzdv6*5Z#$&+S=;d!|IPzs|SQqvw12+Z2ek_br3=cxHd zxWIS};q&<$YdDdN+Cpzdeg4M{QVHL?0^1N=`m?p5brd`fV(L%#`s!W< zrjU(~;+Pz%WaGPYq`n$rByh|$Pc(7%A0^kskBpa+rVhke{;E&p|AQ%)w|c_Ad=p2C zG!%q?=RZuHb8F5oT{v=`Uw2v#NIfjXS+k8!`*L)US7k8}=mt)!gz6+LM%#iL!?4^{ zX>ym35XZT@jA~SZdk@wu3irhrLKmq&0_sPZ96z&tGK_UhjxxXYd-wssdl^MtnTW5{ zd|iF(+#ZnR5*Xz*I)30RvXvi7Wb1iO;$u2WYXtMd%$pR52OdlCI~_9zui|=Cfo_wZ zaam)9aYyI|k%G~{kgoH|mp+>{4}H0j2$wt<-mzhehw$EPZE~tvVF-~7IT3cb#nO3W zOQOHDwpo}-c9HC!_;1>uon$zH{2F_3fkHFsB7?rg8{oSdyaa8Y>D`Q|ywLCq2w&tq zT(0Uv?aBGiO)r~Ld8wD3Dn`==E6ij^sq+3SmyX#v)f>sWYS|3H#V)5(LnlUF!sd67 zHhEeLK8`KZ1X5^|h+u+>>VO* z%W;2PHqoZhbbQt=l+q{0%5UGm`P?;wF3q2GtUQa{4zi84QQ81L_C%WouKD*eo3Tzo zD#%@<>Z?vbOeidEc#E?rm)$lRIBMWgPhyfk^Q~6PyT+(U7{tuKBHBMqs(9QA>HNwF zE7A|877TRb2*n;iPEP1X^ARTNm`Vy7H50^ zgy(dqCFBkd>9+}fN27cxOwujNs!3_y$6^ZK7E5a#9vyrV=$5sfD!#~%Pra7wkaImL zy5!BG^|XC*^BzLXh{qZe9G~g)M8Qk*^zm~jTf6!4ts z?CgkY4k{@%IL;H{4ohT(m6wXms}&s@RfD-{@6h^&V@p8W2&M8G;}8q@g+~XE>~%iL zCEO|ufiQYEAWmE(%`DLFqCKN>a!`Knpixa!i$ykE)t0k1rw)(TSEI{^CFY)-pfE+m zHGk+!`rT7qCXV-`c1v0g9BgCA^QBajO4OZil3|&P~o70LR z%)i_j=dPcGB4bh1XeG~+E{IB8T;@Jo$kv3lHH+ENbKKnO^cGwRFJh;So&n_+WtGkA zN$W|dy&-w~7LK&*OA7H-6xQDMFKe4En^YOm+#0bd41DBk0WR95P!HVZgkqT!@qG7J zR}7U^oB)RzoZq~>bggFK#Q2qCBU&g{)lzc9H@MPl=y^%JK07XvK8JxY5s`d3mB)#! z3RNOqYS(!&@K^R6bFg5?Em#wgC~L5TiY5j=XY&l~9T=OYMHU~pby9Ll+>b?6yfcB* z_Dvin-o#kB6}f!UR#^Hn;L4NQN#nknIKYYoyQ}z}SdiebSD$bs7hf2ZM;==I@N&>B zFXZy-Zl#onaW&Om3G%NXlip^jF60D;@naA?7dT|&9Yw7q5-L#g1poeOo~*hptJ9{4 z6nR9%#=%}kEQb%n+LL{_6qfq3n*^T;UP+Gdu(~O^*S3q%(GM)=hReROHm>(woVzjG zxy>ndz2mCIX=jPbtf~hi42)#`-ldRAX8!H+nGfN@A|ZiBdOi3YIZ578dWkm5r_1HY zDfx=_>{_$(^wn$!4rdbN+fj1TOFz0P`5?NQ8x>7fuX)hajMNZmTJ zmBQZDHw9#lbl>_~drJPm#aHWg6aEsX8)(ublnoKplia@Rf^;UzS5L=?y8qi^XZVYV z!VKUzfDAPc1!k1?HsmTLQL`1zr41V(4^#*?BmoTIv7_6a0QSuG_;*(&QWXwt_Vl~z zXoODpfZj5=;4prmrPHX(a=h?lRwRHQYn)IczBE}{2i1o}leA>Bma6i%8 z{?8Ak6Gevpi}zGaspjzXYVk`&NBO$wt+O{sMGORDKG1A?>mGVg!>T;Q@ZmgvS^NL( zj=21bHNLlr*?&)`8F(_JU*M?6SLXLE4N=fuJ)A>P_hx_Rg%{h&oQDk9J`QDj^=Bxf zp(ZT)%k2CJlw`H9K-EE)Tx_Bh27W8=Oo`v9oFN)@brxNMIHY2SUx>~A+O>I%;kPnD zxPgsRnw`w>HYY2#0`v7P``*e}g;79%U!tj@(M759@-U^7z-VBhp|&NV-jpCKvh3V` z1Ya((hb%@7KvWJ9M}kx$(I)X6@#}F@uyqV4YUo)u5c|9peZp$QI%=Sn4W!(rTM(bn z4X3RO%n#lXWp(6wEZ@m;j6){$KTLsbnA9+^K;|cD?Cb~ul8lR2ekpt)#eCn|N(6dN zU-Qlxr*%SFZX5+KSofbp=CPmdrI4`WX~Sl&%D7OSbLxVcr8+oRP0FikfG;c!K}t&z zeK8LfCZSg;wOkw57^s0yBHCPi!_$+G*{+G7kIu2STgbfI5-iAoeD8e&k?c$7?WGx= zSCTOBZf}n#37%5F^E?WqAGY=bPd2xlnX-!=VVcC?!fk(%eaoi+kH&|P8kNoVDmGP#Tl7e-QD8m(Y2#%)ZS<7X zreWf=noUK$s-Y@@!6hiVDOq-3#S)lE&}Qy{%CBYzsN`5oZrdtq6MnbXdsg-7QH^uV z_EiTHBTPAWzT(3dPcBX>6cda-xdzz{`mGl9qoKp5vvIYX9cYE8?u>mG;n&f~XxLul z_$X_R>}%Vi_c~`SJvnG=uOp#guFMZ%P%O|AL&7VRoN`w!j`UrbLxMzDB`J|cwF4d9 z@19U?(+kYexRZr6#V2=Pz4xWj#0LD~l%`L=-DaR5a%u3)M`<`Q5lsBtTfGpNe%**g zh`4Lq_NTvlug}g%LY+XBtaTdD0p(gxo7=w&%lv*}$N5J9l72V2B~G}y0QVS0JWr%D zx;YK0XNZ>SJf!^;D~SPmM0lxZwcG^Ca?p$+{r4<#DZ35AFPfkqQ15?t-ZAZKXpPCq zoZ~(2v9dG&a)oB#rkuY|^ZzINF!@iV`|Ifb>`1Epi$1OtX~_S(xrNxnX2k82Obq~N zm{EfwC(|<=tg%b+%4+u0ckPdVLz$OO6s*K~W#6dC_0Vs^x^QphAyS5qnP1|pn>{d|I7BKd-I6T^z7>$AAp2>{(ZM6i3=Mc2WTh&wTW z1-ZqtXiMSS6}iC+wvYGXAJGp~QWz@|K9)j8L(#5hjcT}pxAo&iiZ7+#b!N}lw-z#< z-gD?yEl5jpn;{YegI9C*3iT|?UlaMtLEPWFC(boNn@bp)=``tLCAUx4nzRrUBNxFp zOo#fN#3!iI{Y16RJGBTgLmPYzSht}sFtDL9G0>lknal&O*Jl3;&mxKYDUFM&42grK0g!}rD{a;V&Tf+r<4`)tI2;9ibCwxB zo%ZVFyBi(F20kKb_3f98pU-I8{!uyoTn57iO9FAI?_T0QIa|GiF5MU2g}BSM_VmDH z%A@*q8;+q)l=Bxl`ITkCmFx5fnzEb9+hmaQgWjTvg8&78oX^Tae zo1GzV;jWuGx?mHs)w|U~@+e4jGlLXh(&VQ|GVEoP=RvV5-#sF0?Ij}EwWKaE6=9ej zi7c`ZzE{}qV~Z)9i2+lWF(RIr+^b0-xG9oqh;~VG@95b~)^VyyTqBd}rzswM4=2He z3Nd!2GA9x*&-oPI@v-1lDh!O6R~zo8z-IeL7ePpM+RLwfd_E&lsJk0C4L9@3>DBws zOVBoZ*-3GKAW9OPa%Z2i>R}cz^76M4z9!HtM8ANpCPn-k?nhD zG+cUvp|sM}7>B8!yC{{ukF()VeD?K2TwTJ_Fb@Y&#G9XToi)Ei-?OsLHI)3WT(mI)kpbRmGMowrCslyg5)-+C=NOjLApV zZagwrd}0}J4rfjzetiGA{*4gxdE>J<&>TjMad&x6BSY@-VyDgFt($y#qAOt#(DZZ< z#_$;Wm^ALi`fClW>gaVW)8UkkrEjE`l2=_;=of<*SiPH6G4$bKX`-|b8}d04<-Iji zln*VVAGQd;SD2~RuuHzjAyriq!)>kOk5<(DtRnc&-!eF>Pw~Up5uv$j!&)P>qlr8#yiHL27XKjoC4FE?bM9?<|>8{Vrj*a~N$ zaGlv;Or>u&Yh?*GaBA8PgqtkF1+9}qLfm@1yrsg=6xK57((;W%I578R4Q+{;^F%^l ztBnXHKH3+_BflIZT+?bWQd|z?@|rFu%`WfvS|NvizhsDYsgnisNzC4m1rnb zRcmtGWrZKsD2 zw0T!&Sl*Zh$ELgpI{mGm4j=h45H3j(F<*eW}i8sf01v!T$1`UCdQLl&Cb8j{BnDM@L@tc_k^3&31kc|D$ zU*pjmhLhi5=TozZI|7@~T3kcp(m1Z9atf--{!7bf|5MBUx;FH;`pQ*$3-ON^`!BeI#Fpmp1tS{RYG-8Bozva6A9g~9-n}N!s25&tKYZ?)Pov_Aif9uzW z7T1)1R#vAXSMqJkc^Eu%+7&P6HVj1R25yH_h5OXDGnWd4R5}8H`>1KUF$n^^Ul(XK z#Y$0L7rT2Q!6hJK0=-GuTbtSybDAK>Q=4Tx@4(Q8Ei$Jkn#cpaDU9!jYS!oY2X;_D zoO3Lwvc?jrL}1oy*_2L8N3%;I|6;K~`@J*A-Vbd^xzX?ltqej7;zV_d2W^{e&l}XD zn`ATL0zM<4LG-!TiJdqm4mjE>js;YDZd^|+WvF3zO%BCOm97@nm{B2-Yfay3&Vv;a zophIkhSrnk2jW|9?BJr{q2Zr*MT8K*Lo;hAvXfqH^SsDL@ zgRRMF!&l_pR#M=DYS~T^9(*?sUaf_b5LBWIF_0X#y2>a(k1T8yVEDqxO5I(L#yLHy z7vC~1h!2wXIhNGt=7e}}Brxr?@l4nx%f?tehf6mp?&yZ9cA4B8g3;`P+74H|4ot;i zNbF82#OkOJsaDX25u!PeBxQFyvY-sjZ6&LEs@AkBFlFxTBD3zR4V=vcaaJuDg_o+S z1;vx|sGFjl&tV-To)A%fJ)bcaXV5LuC8acDlh?ASH8tzpO37TLiz=1iCOAcT#c@JE z+|p@1YDOzF_U*EY`NBsDZG|R^R1*S)0*nqNd}k?B@YDRk)atouAXt!U-o6+qP}nwkEcnOl)Ifv-`>Uou}^eyzgCSSM96n zTDAM1-Bq7nYkjX)k&%=HDuV$uB*c`}m3cMc0RRB{=dA$%5CZ_BiZTk&pF7a!^{<_R zWCG;p_MhwDPtXDY;Gdr(_4w3hF#*|N^qK$?fRI0HoK!J+em<8hAP*JJia(TQ2)}(Q}Dlb~&T=5xLP;1ce#J$ah0Y z#l!xeMDe9J21xs?`wQE!CRH#_Z~u z)&nG2f6B*X-A3~4bIkJDE&@Hbb4A#IybF|OP{nwOCDR7~RviF%eIUG80-#{?*UZ^ zvz6_qq7B8-bkEUthxp^?nNWxPOyB0Cbv>OLs$^KA0+i4oUhe*6@uo2q^}=EJ25&`AFeH0V0X4 zAL{QlN-NvDB{Nso4l;zoO$p%o> z5TjB-nsFx!>q}(#Ex^t@c;X$0Yz$USZPqpgkq%;=SV1I5Za011&Iw*yGO_~G@!Jv* z=1o{332ciX)p;3I0I;(4n2m0AySS{%+%Bx;=LL!KL>pd&1#*rNiy43Edk>sfPaB{K za`J0^J*3@UIe&nF=WTHA0_I7A!LjU*_lsnW9;fhfuRejQx*bg_mPGSlheb@95)pto zfW<=uU2OCDmX2V(8+uP3a?d1Qq?{@D@2{y2wx4UxCEtz+5?u8ieV?S=edD$8XA+L% zeXrnd4xNCSzOuvibx$mbUr-eLQC)-<|CHcR#3Dij?9FnL$>WoRsI%g2%u16ewyWLm{aFWXnpYGQ0*szdoxiun2mFv

L5}%#=9NN@F82vQ%=vZi;KIjcUn>wEKL+){sNlJKR4FWN z91=P(s7mbo3$f^X4!Yl)g8mW~#8ua^b*LKY&rs#oE%IyT)d}vkh+_Sn%zgh^z3+5k zzagflB++wzUVTr!IyD~4@Xok?jk>zeTpypgN5!wj>q{r=$raBQU~=2uW=F)pyYMW` zEzT>}rKxy63E;9Cz+139^o-nf4pqxCNToQ>)DuBjFlzsZo##8^^Euo2aqXtN)5JKN z2#jd%c&gTa5s#_Itn1y<86Jzwl~k{Q&@{>0j?9 z?En+~?H;0@B-+G`8!zlz=g%BU`foB>{ckb>{zazmpZcHwhfM5AQh{pQc>pj#%FwFT zQ_p?}v_uljHOe4zZUxVRFS;*Yw{-c;O81*F)IG!~Om~kmfzf-fyR=8nJpefMN9qLZ zF!kL1E%ubc_0ek|a9+UvpgQ?BBDJK0Cu0HLpF9?oD#HSf-xQePDiAl(71?;2vx|~ul)+)HNJ@jp;FC;y<5Ch6 z^p_W;j;dUd%$kE_T>Y)7<|+rq=?ve$S(x>~D67Al1p(-**s$}58tmjwiVuQ;2G?7% zeHM!fx7J-X_m8SX0Ie7%$)mpF&eYm%s)fi%(m zg19ma4y)%j3`fJxf77K{fzLVIe>NUChoZCyr)5thR#B*>X~UXENEPLGp@n-^;xJ<` z;euD%mM0mhZ}sb4vlmktz@en#&Jg6$p+heVv0`$?QuuI6wHbaNW@G>A_qJ(+8$8lK ztN|SfCwHJMUAfqU8bup9NCdYl-%OiDbbtv!%$%AgY`Z zTc-x*0C^MMwGR8+GHpyf#1v!rZqE$hFJ_LfHW=g?_jjp zH>JbQ32l4SrH)vuyB+cn9OctozBnz z=*d7^HE)+E_Bv}2mwFfO&&mvjg9;});^SWm4P1h%7~==`!)8^3oykosf(*8yX*x86I+!d#MV^hPwmfEig zTJ1VJ%e9fbq!(}VW97bUWOZ&H+r!;~6i`TXuS?|N)KPyPac}$eWfCqHU*TLW)Qbd( z?{ZOzXaD8sTK?E%+VP#W9Q8={_XB+yrXJUfS=gztzp3(js;^9|uWk83;HJ zy(00*)}78xx0sIgWOKwwPtPrmv2zz~~ae1&rDspFf600`mRxCAH$FyOMB&knX>33p|e*d^3hyTJH?N9wX z_J7T{i-SxE-$t3A0406g$Ig!#-Di8Et_s+EXP&eX`{p= z3C2t(M(G1(0lEHB%#XBgpZu8I;U#T>a%#!(+ov{ zzJEgdC6jiNo>=Yd5%j_+27QMgM|sy+sR zpvPS2U_w_Nm~A_(~slB&;wjqM_iX zObsjUhb2d^mfWOT%}wSxd$uPpD`#>Q{Vr+qHMdZ5So~CbZRH>kg-quDz*u^iFRaE| z&#qTXJD355=EhQ5zL3f4X_W?WgyDhrs@aIZ_s)91fVDOF&ZBvc(Y<0rNzxEJSifcw zLKp;Zeu|By7PEA#DSmBYcDsFx`U`}>M7D5JT^`&)xb-ONI4V2lf}+y&toByLRgA!b zS$+C7=I=Z#c=-n_jZT$PDBn4wkFf{U8NqoR)JyMA|Ke1X$5my9^(^$kd7m~C(1>Nv z459GHqdAFM*AKS23fFgB^3AAuJ2 z<%hwC-|kq%Xj3xbq@zGH$jU7fs7;A*`D^HJisQq0GA7B3E9+kNwX`ec^??Dr zo!78`A&Gn~{|MaWV=Cv&=Z4=XILzCKZokjUf4=>EA)9e7W4bX}x>SRTr8mC-!)**^ zyo=Z48G`_b+LGi{uItBF9i!dXr2!rXv=PJ~S_;MLuk;vL7=w57@}Wri#ai3-DVK#e z^86!BHt&&`1_l=bIMrwOe2!cYX}IyPb+b1^F6w(+#j=#S3Zsr2RSG`blDWvVLr?Aob)^h2XceIZN~&)3hK^_foP8;180-b|hU8@Y3jUMq1~f<%G7 z-L}<4gU!E~%7LO=ExuVU^^m1EMbFEXM>+{04FUkIf|J8`jd3KS8t!f1FB|QX1BXXa z>xI1QxFZ^!i zr6X%(W2U@S8pKM{AgIs<5H|4`5d;Vu3G#fz3ETD9d=y;z85!8PM09|y2|H0x+7lGR z5D-VCgFGr%2%M`cImc5CXggFVrtoSOJfB1))3t+|I+k$}%&QLNpg&$; z!ZZ|XBK}k&OoHtz;_sk^OKKfqGOUUh6(1u)G(>eFy2^}u4FlFM-X7muz1<(IOy{8F zr@5q*Vf%HGsd>Ft6*HJ5{dKb{p{va0e}Ug2bmOZo(4O%#h72RFBU0qd-7VIBJXY9- z@=kZ=CYQdjc>sU%4jd4vT_U+Xrs*txm>8GO<74($KK$-S+_L74ST+VPEbW>b7&qDx zJiHps7<2pB>x&<1KC)C|){t zfRHnaolHx!tj{7rvCo<<{=@Gzb2?=-Q+^D*T$jE=iB1JX^B8UU_?6qobSR*AhFc?# z?1CM!V=BA>wiAmaF~%Ngw0)wDNQ&TU(I8y4&Fv4<158^s^gn&grQWW$NiyUyaw$udP zW|4i0oPp155was8FMRG}QhDYaMvTUgPw&D|F~%)sM!$@$4a{A!|t!gBKajX zck$&!@7$ig9js##_3B7$w+l*up9!68(7T`7m=^adx=}VR6LsR4(f)Q_WiyN0KIp|k zN=q**W)0h=6_bTsg+BCB$ci`Rv1d4PDuI*SwXc||MKeRW@lZgGf)Z$}cvr>|-7)-i zn_2NF0X(LYycCx`I7ZR9Mps?wZ(kC8hewy2<-<>wzc){rs?1YmOl3xIEc!U<6tZFp zfHWV;>QpixqJiO@Z9I4c=@@Xcoei7byZvbK++vfCxdVL=ISJLaito~N8buq)cskU@ zS>(O%2CKkaS8M;61!|?rDtA%}CQ5aMCsP2I=~7>TVyZz`=<9=rkj7Emb|J=z)&)&8 z@hjFz2d2F&#a)jlBAiWG;Sm1P;Ze0$j%$wjToP6u0Af5&{2k1|fD#&O@B7E!le6=u zycRwqy}&Ski{x0Q76_b1!yDXkW5baacuVnlf`bYA!z(?JEAP6M$6cioucB^Q__nKM(Yw9E5)AR^) zig8l;2ACB$nZ_aCIvD_=kPYI(?c0*3016C!bdkzU#;y%Y-K9*-VK>$A9y#1?G|J_c8%G_mwJf6gWccIO|nd} zbxche0asr@x3r#~p|l2nuSGu$A2PNCQJ*s*3UQhP-!KT(l&(FW=2^~ODNKLVE$p%Z zUudYk%4p+FMRO!BG)Ny|gmS) zYIR&-D^knR?nMh|z#zYcbv&*em^AnZg+Ar6$`Jr1LZ|%HU>JGrEoxJnPJ_ieiU(5K z1ywvm@~~9v4vuM!#nRI-clc%BeGF=qawAW5XvX7Z4#dL0eHogaY0B41SkY+|GCf2% zEv5Z~$cFIX2!Bza2pg?eY~__`ilQ=;V^&W#K_boA-u36JuF394FdX3gvWvTn&oRac zAv+GLGSZcLDBxC6={HO>FI0Ru`Wb0ZIktB z!ayD^

fCwdAM=_eSHRKD!>*#^6)E?DSX%gKg>^hq}yvBwqt-ZEw4a%C>?x++`KK z7?uh2PyxU*XZtuN_fpXm^TxUuNdTt7Ixz}JK-=xX7^?MSL!&uC%{KU_e0%)v5mP&H zf(u)g*(fNyIjNs&IC_0bLu2U-s4Q>bK0E%bW=V|oi|Hx)hYzxnWws+Zw!Ll#USBd+ zD-q5pWBOois?WHTK;jiadX!C?HBS8V*xOr8Tmoz0W)zu8+o^DDk)JO;CXLyWZdg&6 zr7lZ7UI?4F^=dT|b7QAaOh&blF=8S&zvMc~&_$zcs2Y9)*;7csZ@+w&ML|xg3DB#R z1lEo2=2qdhsWHj&t-9uygUTe0fHr0Gv&VzB)btbEkKfY2DMnrgJns3R398FIcSb=evhO~d@Rlzu=@^oN(>3gI$fX}o?7LD-xkra z@?iARCYf`mPHUWZoUEg{Vnej13|`9aQYsqwRW?e6csTluP?cSI!G;sHk;%4^A{634 z4k%K@{2-XuM9&E7^UV5zn@Ngd$HXRgCSRkDUESp_gCuX5r=bh-EZZ;`VF1_c(R& zeK45Ph3kPd{!R|TC}l450UxyLef+!w**o=W48i`KKX}JZ{d|sA4}YtJn629m+3P`j zcYH7(E3faSqdwtoPEAq)>WGvQ_$Yg=MOE+{g4Kd z|J}KHswII;+oW&@6#*P>M=97)#~W_qxJ+|_8IR8hrKUt%sjugD@w;J5QMv61|8_mH z|C=`dG|%jx`aQ<~WHIl5TAHw<z=G&Vb@*iJ@_zUZ78V=47j0!Sd;!tWk{(x zykj__%50cSmQ6;N=dz$x4Ituhq51@dWL0PMEia?9aFeeN=bh+QKKq4=O$0bMnn2@7 z+k=*pN$>JOy(bRPe@KbLddO&&ch38E+VAJdgR<^xp%nRHLhamZXes0`Lemov{VBa)W4_2! z9PvJxU?W#o@xGwRlxkx0#VII(yOF))EZOcRblG1Y8O&6xiY`CA^N53q zL3v*rxv_R9RGBjG+u`F4|L(!+tG?av1V%1%MQp*3&VWx{C6vu3D9*=?fEmpA+EPpo ztGDtupED&d)>~XtP5x$c`}U{AlS)b@V#iEXv!#SoE9Dl8{JBfZ~VcGXDs-|F!R23RQ z=K4^AuuyIDzK|R59>7{7>dR@4#E2bQq9TX|8@itKxtb`?V0gI3EMVF`UGpse1qD)ta^C zvjCt<6R}s5!v{m!VUPoJG<8IubE4&e1(z?rV)gl!}Gc!Y^=+j$h2O) zG{CsX7C0kIC+!wmN)0A8%44lsQ%b9zOC(Cwi_B;gy>-GH!4!fZtf4z_B2Sx46>250 zOS!NqXko< z@;S@uMQBVT*&&JAq|?Ny0FwGhIf-3uyS~6H*wVL)SSQ_qy@sD1p7@?ZL40I6yLcULFwIl>hm0em7Js6MT%C6!sB@%j$EBVU5EiQNfi z6`b$xRGsW^Q(KHamK$CnxV$$OX1x?T5^fJFe#nMwMEhue7;v@^Qz1b1Bb46e!q)YL zeUim#=XWJEGPf+xqiY&ulLV`KyQc3!E&PK{kslEn=<*AKh~ooe*< z*WRLESe{k1Q!i6Hl{c^bY77>Cd)ceAWz8W&QM+d*IFHo?TM}-Mp&fjcK_S+{u zy;xeX-k4T=`tS`&f}X)UnhF+_OD~shZCxinS=@hs;>*2=d;y8IZ{h)i8BfqVO*%###8 z;6oS^eFPQS^J-Sp3nnk|v8I+Je*^wU;g=a7+E|HoJj{0r@#}odBpYi26`)4jIP+vZ=^K~<87ISyH9i#$?Lq(gRqPk z&enES`hFMl()V2?Linvlzoqk-b@yBHf)w}he)4*5P8EMN{{rhVhVH9a2W)Ux9@_c` z&E};8vr=E4qA{qG&-K8&@s9ZL5bfY34aYX}_*~XTT?nJzRdhkZ#-4}TcUH~X|ylr!@Iw+btF3kf5wG& zH>(T}g&al@^1k^g6a7n|O#5~Ix0d`Lfx_hzBtcME!k?aac`f9X=(*pkrF-sfSQC5_ z4F;;cPQpr(CyMHNSQ-+S!pf$PIkXb=&dW^dI@0g{vZboew@w;QXrvM*T0Gc!v1o1p5Ctk8s|9al)V%0EU{< z3xBT+aRX5<`*NQTR{T8%>n1Cn~y7%C&ygk}2Jbyh_yn zd(K;w6tJ(;9Z(r1-WQHS`;vCd_T5WGr;_96lK9t2zt16)q$BfXJBVYxvki0Q5(ozh zvERx43nCot?GP8d*H#kerJKG0&)aC}#%DHZ1_K{3=T%ZNkjjrEe)-~D?iuhJYb&hA zj7N{^UbDoDoLM2R?Y2cxn%FiY%O56vM4}AmYsH29`ldbB+;uSUBhH4W25%m};K+nc z#p_J{W^D;d-*E%tL!*_LzBbPHsGt|5Z@U8~45oVMZYG?Y9?%2yqtNweK6LI0ZTH;9 zEt_xRrSdKG<1sb$A;7BiOBO&!Ig+-%dK*OyyDvGkWicJ&GM%vUgE-J88#Q;?w5o@*c$!z$LW zSbVU@s~-cxR!IYt>kDW-2e2DMBxSODW0??1#LQo@2jZF2f5Khozhk*M^2k2Ci3)Zx z>zjr~P9m35*VhPoCe#GFiU;H_E1OX%raHbwED>!BIahkFP;yMY-cH{Ib zxG;2hQJz1Ruu|C8sc3f>>@OFtY`IMyN8`GF`E&X>JRT=`ib-tx-3- z{FZW5s5}6`j6H9It=F5Ld(GTsWFyaq9?lnOyrZJ2H1kFCi_pvjEHSx&dGc&N8>s!! zzWM)hq5Z#bq2N<@`p;b2n>}7Cu+py=@J|o>SeM4*iF2S)-^}xBx~-_nUb;ri={w{J zc&`MS`oN^2toAG`xz>v2Rtxo#w0fKR_>nZ_q!AD4x8}C$Eor!u1RdYs<1}`9oEM0hs(Qq(jVksxe-VA_MHK|obU9+#O|9a z_QKKRWMx7zisG6jSPuyyA7LbqZd%9`Yyn3Zw^n!{TK%V&*t&2ID<%+aG90lW4v(+6 zI<@OHWhtiB5r|u;8)~XgA4lfB#rZJ3Rj_z- zy0Y-ouzDI&+PV!5+a^2G4%*#&P}Fa~ok9(84s~>Y)RFTL$wEq?JI083z{K3 zK`r!Oddv%LM#-3iSAbFm*KMpY%OPbu&Ru1Qo1-gp0Ux+mCvz#kJEWO+*|u-j*^Xz# zj7*CgyGMS??=bG(Vmrd+SQ)JvW{USzL~Sz?+m}@xe~)-OdYiI%RzPOg49{8R@aI^$~4Y zI+!wLs^X|1*W)b_NySs1@*jVEkLv``!DVfs5~Y*cpYD^d1Wj|GEK zC6p^20X%9NgJ2;XJGr;|Y{L_sFi2|JlV&G|-NN&4U8yy2oDV~+d{2}U2(x+_(4p5W z$REH0LN9OrKFaUJTFu!@*t&@uxOK`mVke{o<~pk+hHLqgk6U!~Rb!P>t)^xU=ogUv z9unv&!HilUumH=!-2l5(y1Lh0I|Ea22heS|uQ841K+*^WZ5Ht?i_p$&qZu+ZXmr;0 z4{SkFEWcuj@fpesKP$rzO{3eCec?=Et^C?$O)er@U5`Sq1=}=%S{Od&6y4k|o1~~= z`;o_*KPj>YUAQ_TuHp8yuA!&aqn)~(4Izi_akag~LHMkXb zFz+Hw$6^;NsuDF$MaI#K3)BWD9=DTdA*oe8#QB<~Y%f;=tnj$vej`0rtoKYB5ZBm_ z%MuOoj$C^`yg8W7q2XBY(w``>QxBby5IJ@LSxbSU=7eD41B|yU%?{W9IGgAHO|X9& z+?`Jy73Y7PjXPuPzZzUJzRuo%8r*W~M>nNnAd?TDSK1%nav#80=qb%(j-7Dx8_^Bx zDcKRkqwgdCmgDS59?ZG0=JDt1S~7AG+6TH|DQ@0!w$3H$BUta~TZ?ohpt?aS>Nd&w z;#2epb;>KI#_v^!jm9H_&pmixYJ8kRzF;K+7dPn;8KKff#O*YD3)=U0H%)Y>7S*~{!FUQA4 z_@n&k7!P?E_aVpcUrqE4r_3Lw1X-#z5gd2)EmzEE9tTeFIXtY-aCYb{QAL(NN8CtrXjaXWO;lMCFymd~2G0AoKJ(nZ*C zHm-6i-4C0+!v6rK)*Vj=@F2)aT$uJs3g9EZA)I?NV zo)(v%Axo>ZqDXbSCmoGzpuyQ5Ve9(NjN7l;esD{NuYvU-As|{Ad0^ILF1aoqsGh!C zyI(C8RlLqn3vx{)$9IU%?PVPikia4_Dy8D@4W##^W=32Z7$u5LXil5*Sr^yXKCkav zJg%Of`pUO0R*mb7uT{x&*b?5uOl?X*bof_gSkn`^lBgnd*myGjc}+d0@lE zK%?WC7TQ!`6IK?~mp?PxY;Hqd@*+K}_=ynHBBlfdbB@b}HY%5zP`oB;JC};X)E;Y0Fj5(hQtnk7g(PcRe zAGgtdUusc#+ols7Id7-Y5|96sj&xOI9IVU~R=N32-prmdFe3S_=i9_lLL0gXMRyQ{ z?6(Jt`<1h(_ZAMUS9vEv?eg3eQLXU#2-v#1{0EsDIx{L(&Nucw*%5IUSxv<;`?W%BfH`)xM1gm@<#=SHbPcjHPROVO{Bj(iBg0 zEg_cectR`PZ76Vr?SuX z=i+tbausO$ps_LY2|Xz-oX@qk#PpJ+ujewhNMhUD^iWOt$IduR5T8i*m)Y#B+ET$l z4;2q|;35kDewvPOc07%DUMDl=lPj%MZel-V4#iQfan$g@c3xgMAUZ-EYW)MHS*aG$ zC(K%|*%tDsF911s{{3=Dpz%%pbB?|)9TnP@a;rc?AJeZyLfr#~|2tvn(z>FF!iI0X zj=i+8GbC4GjHmw(l`r_EJu^mp)mtT=$AO&{B3uRv=x!6G+aJGc_kB&{E&Q+4mpjkB z>5AW9TwBZB4_hS$=SoPrHa*Z%v64|X4l&Xqq0zbU<4~Ffx2ndwRZ7J}0pVUR+kRX>>k^Uaz0E>CHbA^(j!fGF|ADF)g5)bMn-c~d zlZMe$8}s-$kWeLO?W(u(kFoWN+j~t%3hbqhP|=hq`()yrPbPg&hwbv++kx(DY)o%p zxLV~h$|8UBsTRaXpzd>A4p|R(t_0rF&R~s8zY~(JL;+J!*t^6~DEHQ#|2CKB^|avH zd~ODM0c-pZ+soeid+e+nr|CAflTJ(L>bhEAD>np=BhAch!rUx?DW67B3WrL%0>no| z7ECJAK5Ko;#TB|f>Kn+;VPr2 z_M6IqW0jz&)Vsi zqA6d_PX37XW=I|Zo!iMPed+<9p9&bk*TxF#O%(TuCSF}MOGj)QtU6eh35-kddt2ck z?-#vswGY?FIa~E_$i^!PbaSMVCgxoc4sTP>>2HUc-f>I3qQF5bYu^1BX zn?|*a(b@XM0)Cach$nz9yyc6j_vJ;w-y$}Rb3|?Ut(^)XYH8(~Xr9eBlVFeCHPQSp zr0#VjQk&#oQ4-bf$*g2N^=^DZnOzizZ@gmq!8|=K)D*PNw#l>QzEUP?ccBJF=s{eL z#Al``CKQZ+9L)}S5Oc~pn2i4s?fNp30`09QyBd!E&b?zaAeiXEkyWS?U?~UdiK!Ej zN~6dE{gZlz%lXAU9N`p2A%bGSpO#lo3eK7`U;jhS*^sP;(}>Md=1)kF&zXq1y~^TmTr!sgM=rJq?JpYHwRtk@>0RT9xBXS(_Twy zFh<=fpH`~>Z!VqxFI4+iUgi8xF7;>qJRjsc?Duc14X{^^cpM+X?A4AnGrcJ?d z-Ksr;?b*)reD+mJ#W-h5?I@p}mHvXqq&Gm=qKj47+6UR!5oF?>cPGMKSR++)1MV-> zE)YK`6vyb}L1rp^T5E8bk`qxl@&Ex*<04Aq`+Yw*Dc_afQP1;R^2;6QS<}fQ8ez}7 z#bY_ct6<2T_GA&s!j+9Zb!!_D+-q65X2>_`YyL4+%XLcAC)~)uhSte<&I|>irw3%kToj~Rd2;4R<|-O#Ya#*egJnBC?9B#?X&ru4i1;BHz8${3Dgv z#5|^0YROZBArrIToQ!cY*1~$^9I4siqzygpH zY$#(m{I(tLN!?I^T(0wiTG*05m@I& zlV34tGw@YuXF~iA8{G9v?TkVG!H(odc@uJEI5c5}cd+JP>aX&Jc(W}HvKbUgf5*Y( zp&}5GZ#7OqHicsY2%h9mJ)W9wRu zkp8&GPLPuQWsRVzvH5KqbcfGR53v`j#I38B-(z5|G%h2VN>Uj4x`490y)Gr+;L(H3 z_JF5>w(krTOH4x%r4U{ekaNDs#9$mDB5iZjcA)t)L$UFmE|~?%3n+1J)NRhy$|Y6L zQti#GW>4+$McFD`Vqj-4GuvE0Xv94G12j%k>(!4bF`mSbmZfU!ketS@ttR6b7bkOe z8}+V#t0RuWm~*>gU7ZE$8bo-#B1#{a$~Lt$|{ROtr5wllKkI}PhX)y zx_NDE+DAm8%73%`pkHSy8~gQ7(~h8W7~Ie(T(KLh6BjNnU?LwZFO0S37l8e;a%uS+ zhP@_JTz>eS{gk)qy6c0v*ZbEN8{v9~ibUUpX}n5iWB79At3M(D;DO5*-QWtSO&UAn zA=#|;A z= zcd;^aE=ZRPTbQ4wA^AI$!3`G`=abJV{LnVcGc!)^k(vqZY%2Gz)kAhEvDy5N<|&bW zY`v|9Ua>Ga8D!_zXo&BMcKS-wie+8 zzj!x&D&_vp`r##JMYyciUnRa3IRzTSockzQ;Z-0adPKMuOchTGZOLT*TZ+&%;`oqQ ze!x5WTTbd5i-V6uopmWgprW=&hxZs*1gug;=Zv$d<_la(jyck5{{oF%VC$Gy6N5lS zNnh2g$;44$Aqv9HPYMu@fR}m?2`y-=yfx7P;R`b{qWjKF$7v9aFO(3{hbX47K)#w% zsJ-kiL%Gxx83I>A;cYs;(<*9ZfMaC)+N;lHt1C)JB)*A$?sF25-kz?^4`CFcgFr$E z`Dt(rI@2Rr-DQ^7er}t^^~?*q`o1cke=|sEU^vF+luZ@Ni92YdRo)8&TkNWNE67u~ zz9b~r^Tr0ls|gG0-7Q?Trml^YtuGaiz3qD&uY6V!>ftlDUTMxf7s&x7&40os-WY@de(|6I~~Hx@H+%Zi(J2V*VYf&5GlV0dE&`A zyL`o^G`rh&FKeS<`Lt7xKtn^KLDE1*let<&iH$I~7)r_2$@>Gfs^!SCy0X|Zv<3n| z&EWwoql&$2c%Bh(HowA8yGQnyfB=dg#DB$3C)*~a*X3Q``e@@f><4qd z^T-ripRHn-xtFky$OjV;+8fvk*ayTrjHYcKOiJ!0Oy9^8%5zRa(+G$pjwNXGGjsZF zHe^|`ZJzjMyOw@V7bRW^OTc#~;`0aFbJ_~hk!n?yL2;rVknid3^Hnv0Oo_!6o`673 zCTX-dv5bo^cZr_R);)5o9Vf!&Ude{DEo?eoOA+1=Q}d%H8OTY`0HBf)wZDDnvk%&|y?m%aK(@)m(mW>HD#zIvt5tdw-g(U)B-l?^=$T&bW=haMuZ znGl9|qp*F+OizYEpN?1R?5t#uGrKrGVaeIR`g|CcCT}6EnyVNVymt5MiE2}aZ{bJZ z80$%oVFt7$m?HZ!?_JfJvL@w=VVJ=^R{J$%?!W1a&F!y0yWKN0YUumk%mmW}7G5VV zE-FC8-dvE9tCY1SaNdF%`^}A|UJ+mhDY&I!bd5j{sK3W)GLiPCPmuTvysWXXv*E4T&`n0v1LT?2=}WZ-pAb-F zkzSXmBznU!Py_Zt>jaTTEB*5fxh73eWv!E&t#?PBM2r#7&vGT-jN&L6TAUKwi+%WK ztvx#npZf|j*T-GH;eIje4ZD*r!AlT6e3Q>}?BmU+aR5jNhJm0x1)+(XCqecAE0wQY z6Mg14ashe7Pwa*wt>-Y($Zzv=vbD!?qsFK(+_(d9^GZDzV2FOzLOT%5F+>Qzb$kvb zdQgVeo?N&)XQTM?h-No_E5T-_?WxN~^jWvdG>dwClij4 zg7c1$F9=?OABE^VmN*-6iK95Lnqb>O>srchD59QzzXks|Y6+LR=Sz!co1Ll?bPc8t z!?q#mgNdymSthQKUtr*g|3#WkCCG2kVE1LCyqOLh7*E|%s53pEq2y1*7F(W^OAZY+ zCSB%|oUbRD>UO1f`E+5PxUo+Kc#CnF zQr8H*?`FPn9fXH?alB%<%l=K<=f4x}pE<%`qD}s%;tXJqmC7UkoXw&0`e9fS@)NB7 zdA%N#0}uuXd-MR3)Z!d$TD-j?zuNM2bs!SJo2v_meXi`7AST@z zHZJC-jt0B$2zh}x0m~(!EKOuBfJsH?EB+}G1U@@40<>u}52i;b{Ch!;&Ba0 zE8~F^xVES0vXcwXOkNkt>PUHYN*tTtCl>!`J%YJ+ zZBKN4EEAunZfP#l>@Gfo+kZ~(>})=xuD)*;FG4Mefoj^tgcL*p)^pa78cR z#S#b+_#4$!FMwd>lV|Jn$N#YzM`Q^WB(`;Ry=klv%WsA2gSlZ+39d!EyPX$S8(*!2 zQOISZN$=Kg^Hp>Wp}l91@kw%Gz`$iE3v&Du7O(0(U0ZeZ)-}bO)&kpN@*Q=KtC!C# zYsCt}zfPagb(^=B+E~+eP^^qV^*{_( zQ7f3}V&i!?cSU>XjkN>iPAQ60FLWHt!x8BuNnM3YYxqq`D~(t-TO6dDl|xoN7(B*3 zfA4;{)@*j}5xf%g7KMD#(8BDOY|f6*ojo;g5~*;$%Y;KqMtMNO?2zZTZ~103i$UxA zxXrebuRDTU$<(vmEjuteT^O^8eMYO`MJ9dk-LY#~c-fAR4@Ck0rTZuiO>J6HC~$%S zp91u*(TUO8vbIgGvX52(hd?;J_S3CuX$^gXZeR<1qLVi8BvQQ1py1fnYZ z${zz9upcciTeF#yba4~U%69gp?RHu(`G>IcpQ|UfHQHT*4KN3P#~(V#r_TChB$b#r z%fKF#d^%OoE2|JO5p5@jjViskaD8z_vVlDz1}JtozoB-*BF#e954!;g2JeM|e%{!y zvM!s^_=dHDkg2xl9X(v^1n2XY{^z)V>}Nz1g#XFWdjCs~R{9aY{m*0|fc-<;q2BS4 zqkUAGpZHiGY@bMW%=SnI&y1csHrK&0bQV$e-@t%A_ux+$Q&f3E$-spPZ4|K&;rV#S zh;z()lP4Hp&cno$0I&&Ie-Q$L3bdYxiRnbT!*dtGbF0lVxbEPO)DP#wh@#L)Mr|}i zUon8~M=>UL~~p4U(>dKM%*AmlzI(XZ9vDdFy>!U>Tca z)BAJE4w%IKKv`sBlVA0PK29^XFXc<(CS1-0hDGnsk|(#zu+gO^J;!PBWLAotPWnKn zNCO*S!+TJiR5&6`$D&RrYvwx^XdJ+Tq;$3~qEQb|reKV6 z4kIA1#NHkY{TRGyQV-a(PL-aKBb4>2uM0n)OCuE$l@>sI4%I5m;2MF!*CB42r$V60z?cp$hXnT?7UJil z0(psR#9V$ELk9tFkx=Q^zMggloBAq4+_JCq@9@=Pj->qqc}W4vlPp}8dkNwmWO!AY z+qtHMCKG}oY->?ANKRNg7Em1|+dC&eQEvm``7NT(m%T>5Dp#~X=D$PFsmq>Xl54-P z{w}bh2*(dnZR%UztZ{uu34o;9TDe7ONyB_jOss%^UT!d5u}GodxOo1#itv?}gfIGQ z9Opp3Ry@~^D@hZem`2rDE0!L-?0|BaUG>JZ6A_f`^cE8R)3lp3XT6Kcve8FX+wGA!o*il})#dpI3s?qZXxRn}Rd7eS`G{nHR;SI-Iw7b^&0wY@Cv&%@LM~-)j zY`nYa*F=(Y2a499ADNNBr})!;Z%U=P7HjLS2l^RCp;5QEhAR>OzAl^X<%*7Mr^StL z5b9EAT~LqPM3B^vs|~=xlg!GJJK_b9+|M0!=q+?xc|KuPbl~!%;WGOvb&nDAJ+O13 zP$EqexUsqg+V9AYiLzVuSh{w}CvUac4g@E(QFG&w(usEM!FzWez3mEAt}8;w`o@H>-dtrEt{0*YDc&X2N>l(#pkE$X89+6 zrl&iZ?15zMK!*TwePoV3*0UcHG1cBDPyU;*l#6L*{V>$%QwdiCKsJ!a&54}EXh+Qg z9ixr_=!x1~ge;@2LTV8V4rpKv3wNyC-S5pq+`_1BWP5P+=3kd!>G~q}2^1Lel{Ze? zeTvqfx(duu7s_MoG)W+ z^7NRIU!c9_`jF_is4S0?|H##mgCJQ%j_BZH5O9G7<91)F1A1w4yhNv)S$?`xnTPdL>Fvs`gn@)wNO5q%wgaly#8K`J zwLC(3=`0fauyX!!hM#%*coj+aW(!7WpwIccLfWqbwpd~h;o{70F`C{~!9Qsl4qo>( zbU1M3m?d`2k}G2}TGtVvbKJq_{jes}tikm+UcG9pB2f6TbGKB;QyaS?Gi(R6-nm80 zIc}{mM>rZbGlsJ->xGVwz=oy%V2@AHsVIwTzw+EO={}yusdo&C(O= zG6(Pr&Lpq@X6BpH8eY#K>tZI}B+Nn5F$}o?q`CD^bVpZucc5HYXW`&`Ads;mDUfUL z2&FF0Y`S!k$(iY}vedD1jzQ!u!G#bk^^Mjzh`{69Bv{qc z+}CgVld+fI_OOpgL+6@p0$=sOi?*_Tj1N<`*$>h~1%+{<3u^OMydB?wuRSZZi)N2S z9OTg=cg&P%k>$y8r^f-fR6%xS}gfYqGu+IG4FX* zQh)E{L+vS0QtZ@yHQ}EZZUh_@Pi(Lwu%|r@rl{k<=sgQW6@*&HU4u$VM8@l-JSx8| z?K+w&z<21fGyPc66Z}IoW;f@9m12s|XGJ&RMO&ev0z^Lngy$@}F8Q}B2V{g62R42N zl;y|^zy=K8L|+{6A4C%KOh^`8^b_#FcM+t&`e|%!M}pL{@hsZDjOTPF=8_h_z;$_3 zILx(RnK`N1m=o$vp{d>KAOSWee!JP{fxHp}1P*dvIr=LVYcBg>i{{Yy z!L@6q*vN-9hHWd1s|E|lWp^^BH;U2;C$%A}ai*4#O1y7fNtR^CI8n}VzR5nrK%8AX zAyKrXi&w^2)omMF-T1Zynf}7{f;+DoA7Ut;M)tM_ijAG{7>&p#g+A2ZeM%N&G9&r2p!6dHfgp7=Og$|C34m`lt>4fc78s`RH~by8NZj?Ej@tjOs?7_sgas z*P9Ap;{Vcz>L2=yyjQv)yqUh5KFFNN-J*P07xcbWJhHuY-FD`J_c(O^U@>7Nb0g(P zM08K@6Z4R&4!f@XbZA19ii@Ju6yk;UT(#w{{Rq*0=1 zY&i4gLhAOWEam0Ysxo^sXAW(Kf@+vlFLB|^fE0~)t$)b7Gj3;%lPK}WqlIA?sIO>^ zM9ek?hKa+2Li&f5AvjO^`ThnsPaerDHEE91{>4O}|0>ik+>-r=gVgIX>FKoV1#}Gk z6g91>potDI%sW_X=G152MgVTH3+f69l`rd+wC*NR~p*cmAX@smD%R; z^?(#9uum+*afIFCQkXxkJiQmb@t*Qo$XJ5dHN2ZvSo3J%>$AoWjon9keeY(MlOM`{ zkKJU-j9U2Rn?(8rGc89hnHZZXrP10GS+?Mie6ef$b7>Ck`R^2j;PST*G?4BRGhG2S zX=*gjab0a!rI2A3SslSdRQcF#9ETQq^TW<^1AM;kX;4;CH6uU@C zjYakX`^QzMS>&V%Zfz_g=XaObl=E+XrCUn~opDyVTOSTwqlNh(E-z0&`&^SUuw*{s zEP%V8pT40%AqMTmUQ#C7{dh^ubBinWQ9Dhfs2e|;eQv70UFTjUz)XhAr{i(Qxa}03 zGD}`Wz-fa@kNOI2RBTpW;MBfD2TJWR34#bvbH1ycMOS$_LNp?Ws=Nk&SS-}loq%8T z2WwoR#xWs!W4WzX{mgzE=}KgnER|^AD)#Z zZ@8uwRa;qVnu@AOxeqvvCwI_lgEubHc;?VPpX#LVXKsAT|WqY$#yz^8&$ z8#AB384xTegB2qOh6HrJ6GJ02kFz4Gu`q#*?xX&s(V^6Ym-#NMK?K~5hPqM4s!>%ey;bTlz%!_F@LuNAx%}qv<#Wx^y@+gZqk&>CpXid zIiPnujP+IrKO>Ng6jaobtz5{&HLdw_yTcV-XZrGD2Lab7g%jNOg`~aK$GCPE`S7}# zt8H52NC3I{&v59UbQ)<7dvD?6F2g2eW~Y*7^BU-Y?b10bBa+DK`SYqVHRF*m|cekq}j(AfV+1c zEm4OeP5;hi2>Uv?1;u`Y>f!!qO?E5SxUH=@8Fo80;B2(?0OZE;j6@(zp$0bH^K>W& zpX_`^HL1Fbm~_E3z7@dC!c``npH)@I)_+I&@+%GJxsBJAMiJ4|+5-GAP$7Op%CX1vRwV3|iZEVpeD4EZuQK8G-k#hm z5)2-YqI&~U75i%zHglhHS6Ge=f<)m3cWaA`JIqZT55@GV0$HE#qZ zKe?LTC0XaTxf<6Rwa3f?qi)h{{fA&<|_X%=(MdoOde;;&Bmslc@9 z!xZEgaa(kU2Oid&JQph>Wl9Z?iK+&MCNno{s}|%uee>Zdf&MJinxUTj?9gnB*-3r) zJU$47ws~W7M<*PYxF60I1tYA4*&e`jyJueDI=v{++#xYxa>&>GL8RC8X|!P35>`yr z5;5VL8pgdkf%e%MqC?8)Gi?7oOh5dO7$+S#e_8hk9|3RvyZ(dn-(s$2*AKT+`9j%uVz2u?El^m zB>d~v{dYg`-}AgrQ+yk?&s;k}J4q5|D36fTBpE1kPBkmw`;d1BcfYHoVwiN4KE$IF z`BYWF^PoIvVoZeV$ZFfwSR0$nb1`_HYdRQg{>l2q#)Tt3uGpf-Z zD00#*-&)*A^4g-5bC*}>{7dW`mU$$xD=pifjBs1x2vfKwlmCJUzg^iMbReiD?sLQZ zl>y^jt;8p;iD&N!Y513;DUG@U4}EDn+J+$98%!bVs%9awW*zRM$+l7#j|pV8yeDqm zdCKrlcJSH0G671FwcL5jHzS_cw=jpArfdX?QJ{_Iq&MJIPs(JzN@MMv9l1h^mBFhK zOVDn4=-kP~xntpHgA5po$Yir^%!TJ}%>z~IQyqoaYv^vMCe>45%PuU*#=Z)>dml{Z z6Z1E}u(=hy{Y~rmlcna2x+rJh?BP8tLRt~pO}b@G@O6SBStjlHy2)KjHgS??7H|0e z`QF^>7pLl{ZBFj+h`L#XE$z^~bs?gy?s0KDtKw59zm4wL5o^&?{BA^Vf)VNfh|G)p zR4RaM3wpE;Du>-tfgy+&Wu41fG1sAuv|2Ae1CZnwAjOKDSA z%4JMxCgChltI7P`u|Lf#_}ceY6-*esoBHYp#Grz4);NXnz1&LX@$I!q_!K3(2L2eErutRJ_2;DthBY(4xg7PRaWX{ls{#hQ2 zn$F|Wp_)Fi+E3mUwCY!3zpdd6Ry5*!)r7$g867^3bGA0w-S2g?|5Ob>8=&zmw+hUf z-)T$exbOL{CNWlPy?tGBN(e0!<@sa9A8TFA?Y=<$r$wMdc;%^vj%7p4+k9CSqCN>U znNvSID{za!aOUoWO+AJ|a3eSTxuLR;tqP@+Fo~NqvW)`%L2({b&%{^#Si~ekubEK> zWWAph1TdU2{AoLOVrygQ=?YfWv#kciNgJcU&_Tx5_atFS;LG4)=30?GT(?U{4FH*| z$Z4`h>Qw4d$%&8#RTE_~kNsOZq7af=2D1urqXV(LmvY=7ZTlatl8hT)5+3J;76efp zL#Getz*Hg|jUuHg@BtoG(kR66(s!>w=}#V-`RN&`{u_R zOlMUGx@k|)#C={n92TvkmLd(NF25)4$J_p!Q>gs!oZ_E1&-)Q~`i~OnU)}-#_st(P z9=tp&ZDsCOsF<#}b|lo(-DvGz+#A>tW$~*%3%mQgWxu67#NHb1x4gBKe&~{NJ04J` zO{=(AjHG2V_uWL|QNV8_6h8G&%m{YAYXXKketMJQV!hN3&eZM#H+_!WVLTL7vPv4? z_SWyBtJ<0Bs;(nSZk{aY0KCA(nQGogi7<#o^KH?hI0L;iGy5dCe~KAc5Wh1s`p*rJ zE3H~}8ONK&_x6!bcs9}%-D9-gcJ#yCrW8MESoj{|i*YWwdj$fwQ4GOL$j6CPXuMVn zQ5^e!=KwVCRaZOY-`Vdd$Kh!zRF$O7ZGo4{hst!AXPU4pq@J%otpqp9nZTqpspwo2 zh|SKe5$mO2VpHGf!iGkL8l5Ds6h~W%@A1xHLXt_zo}*-KMj+d4wg8F+N2l~hQIy-pIM`nnK?t3^mdjpGl)x7M%xZbGdcXSASV+uur%60 zzY=z3<(nwG+|-Ac-Ibq4e4Fw)go$F$pD*5RCEn+G*aAz#fIHialJ-VFqSgx)lLfE)r-pSsmvT=~)uEU)AEs$On%JqX!L>O7sS+5-@&t z{R}y}+)>;&0$4d1wCc+WvMC(jp}0Zu!sSGLjCAz&a#KWqD<8f7wNLIsa+QVs<9b5c?$bsfOXNUf}MG z`+EX#9-9HrFsv{emmvFT#AX&se$3^7hq%+M`T1*$h^>K{o-}hn)3s;$ey<=;qAjs! zY#}mH;=;FYe!>O@(IjPpk=$DjW6TjgdsAR7eW7)FBDZws?V*$YMWU8P!3H)F zw6tYBeQ{X`+7CWI==_H)Hvfez8Xs}B|KW4Q{4se_>-^VJF}g02{VvKl5D7#isCY85 zd}aUivJY7c8w!+0VJ4|0E(iF1NVco)z&yYJ4Ib7ngdhjd?;{ksu8SpDVA2+hsxI6# zbQF`2{Mwt`DaLfd_X&UDg_vXMn?Yp!x6yHxPu)S&A}x8OD~67a5TXL{ExKmZui%Xs zdbDR2H1XB*(`SRcC}Qg#w!?pc@;&L+7qrS)micf;G}8&J0%}QP%Mw5Y9-Ad=TeQum z91c0+wzBA_IKvN^0_My15ASH4A;?Bu&f)Ls4sH~;R)R6P*6FQZu-yhC6@$}j{8Fy{ z+&z5b<*pmFecpCyCGn2{imbD$LX$Pa@VRST$4gr z4MF*z*RjoxL6#&#DFhR&`|EMVkA{d^T*!MJ)X8H08HAs6bVJFQx*A(r5Ck)AE6Uh@ zHE?D&@iPj$GxD^gn21W*@j)yuI;-od_uNyM%$Ic}N(=84DW z#+=*wZuQPK&8@3#+OZx+8sLGalK^1fp`n|aA|<}`;6g&=qT57=yGuSXIop7}ctUU$ z7tII`Ub#2f%C@9c?frRH0qeD^bK0HhK2q~+kx-g(46^84{$e`orXhH?1f~m)JR;X_%n>AUOsK1qjB~q z-__Yk?r8?*N)*!0QG zrfke5LHLpV7VXIq)!!T+Jb#drt;k+Pfi zg8yTO`{b(X4@<)iR%&FEYEX+9w4$Br0b1)%3bfom_^Q|(ZSNh16a&6#n+Q-=w4{xy zzcz{-VvWBocnP&}J5E%RnzzLBfTDna>3`=lf9dkC@Bf_<3I4zNjQ7XIAwRW$o2&Jt zA^q9`&H=H2aDocOOq(n&Pe(^Bl^@hOI?%dcCaEQK+mE;3V*QCPnSq9R=}FUD)&)>6xWcoEz5J_w;-q!j?_0wt&?(j4UF<5>Se#K6vBm&=A2YG! z)zX#jm4Bw@+%S2Gm@7U4c2D2a@2uN1w1wz36wFE5W*lwI*ezr^DPc5Ng+p*e z-e#WDE9rq!6E5g6k4-&}Gd5!$Aa6zk?KbeQ_SV{>zE2|kOE_Az#;UzO@A0JVJO zF$hVJu(zmAGC8#bw*rCV&_*AwJ-Alb8I&$Tz7|oM}K}S zMlOjxD=DU-vhlzhvqs7~iW$wtKa4&O7yP{QvyobVoqj#V@zNLZKFiu|9`85aj}YyoP^bnJBDwNgJg%EC$#-TnFy?0sj` zt(bz&Lhfxd{RMg#xgrYfWW;4q@Oa`a#7>a!e5J@eZZ<1yf6i$&!v;teEtaoglz1bH z>EDyFUe%W(m~P>Qxj11FvWo6@A9$&v0##w;wpt$Ic2`VIQ4XQ%s=qs(V|_+9%STMx z`$m|w6B;B`-oQf!s=Mq+0l;Y4zq-wmhFrSBdNQRaYW+k3c2vTkDcRNMhm4YX;9Rh9 z*Yt?a^mk=pBJ%+U)GjA{8@TA<^i{Np&a|)3Z*Z}9i54Lo@dV23nAym~_MY>9Nk=GW zG=8OuD4J zB1$t?Txu0NI9Ta2R@!)qV>DId;I%X0_qXFoP1>$>JeLmM^0BF z>cOd0RZNd?Jd(J2u;;}Er>E2452HIv$~=`x`eU93Jy3G&xF6QZY}S`nGBzNH_BTa{X8z&BIg zpdB||HwnN_U@jjIyGzP%R)8#&~pI#R-34EkB))I+^>8DzwR`+&#Oqm72^QM# zkj)|6&4ufTSu6dbX;I`c-WqDHU?>NCJomHu2#xo;FEH9Pl*O#j+McNHsO(ym_^u(4eEdE#x3apCtLDStiI3i(EyUX0CO zd2p>b09!G<2k`x)imx&v!f}NB+?$G_7N_7SGqu&;rGsmC!BJzl(vcRhSIWN*1fjp) zi}7i47PrDKm)IQSJ+?O}JQk5aL@!-u3o`X#83DIX0qCkQ7rL}yTB@s--etN;9W4) zGhuyPVoxVjTz5!t*lxdsLW*+!n10468!J>8utL(^5?RF3*QXCH&j{ba|4 zJtX3>O6g3lz3cmAKDflGwI#IA69pn!%r_QZ*@XoP1Zfow-PZ}A$%!+VGBAd!UCyE{ zG%WFLMx9RZn7J9nBK)|G4Yu(0A!f)#pXP>w@TQOdz{cNxi{$?%$Uie2#*aAae`Yv; z3G$D^Snu&)3gf!Zo%4Xt-Xxbf_febZ*>4XQ3$Qdt$IJHZ)NM3go$j3;s2_&+t|#QT zVAm6Gt&hBKqi+rOX|3R87~2j=AenB&EWpWrWb9M+P4{#&iDL=seU5s-pjU+-;w&3k zg=0TzqyUA`#_bF``wXIyqFxN)p-mS%7WzNGU-Wwn7UoT-QZb0wdIKPq`BqdT-t2xd0 zIw~ILC`{KlAq9V=3^mLffP0O7B@s=s!1DC)Rn%l-1d8Sb6p$aQJB9o_F5f0 z-jm*!yL9by%2;XC3S{~Gxh`s5MZ2aJKoJ&IHWA>7GyXjl47Kt7WpyBY_Q&ptI}w5jw}6`nemKmaVTQ)$ zR${oxE^UU7qyz2L$uV%C%S-Wh_d*99^cts6uF(9y!L+d+So3?W zjrRpcJIq-9CYVL4Cw;YDUx}}_4w!gJTml6Mr7OetZL7E%238g*njKZH5_>lzysUq8 zKV6{omzyz)wYi9s9g8sweN0Uwvn#snz&O)w1{Po2J%;{Q{V@^?eNB;_L?`Rn`|$T>6hY`dGpT7lRdv&)}8 zZrd9*7B$=OVcCYFH6D#}vT@wpDe!UH$D0{s(~bnR75GetQ#&8w+7%C4ZylIcWw*uO zkoSamZ@MeKWqGUpdVUta(ATkBqZYX+ZlJc%2S24yM02ZBG_%N@v)&6qBnA;#%hsyo z{{tAR^Q9oC2&)a9mp$?C0&p#v#_Wsn;&VKQmm_l#?a|QMw ziqMw!Z5M67v68^8Y?6pow@#3gJ8*x@P_v@IdrXT}ROGx&@T%Lg`N=0{hFMV=3;#tX zX(U(uGgg9w|1WNOFks!rEY7kr=w}q9fDqYY^_?6Ijf$9t8x$egq^(4PFu($1DCq)q z9_r#}&~VKjTLv!zqyU_D&fyUmQW51IF zRpkjJUttqBe3kkS(&KmJfH+rwq)JiVQV}!VmusXQ{lKW!Lhua>Z8Zs%ss#!R$A#Jy zSiX5stkQmn%8KF&W0+-Se>iIm`}{~$62v0JvURE9wYLB~yus=KAYRk7fs&lEVZV>htQqg9o20ek- zY90gV)cMe;>a8(-O@kAWVn&W9Oy>23o5#QtN?l8t=WesV>kS6rkW_nwf= zjz{J%t7TFm=zhxYJ@}17(4roUcSJ}BHTSGpLWueAJ%D#9_PLe?SZ zg*^~XZX_5*dxunPE~PTU4n7`a%q(CGu54pdnWT`k-W<~4spIQ>Ei5aLnk@I9rdk1d2L-q~vT}lj-*9 zZo%xTlHf)&a^X-xevr8DJRB0qfeoADPfQimN^AH|p9eTV28mx#<7KRj@wmf?x- zjow^_n|Q`YNO!Bm{&K@t0zFk#VOXYGz28NyE0ha(c61ku9e9~3!e|*t|5IDJq`y$*lm!2H8%KO7CB#@$u%lG7Ga)_|Qg{31d5c^J zD+-~`{}JBO{wtEC0);S)1rD@{1H||!RSeh5=)>qd=W$UPJDDkc+f z!hbVt^uI8y_9Kq@pPj2;f4z&;{vjCr46|IdC(br-Cu#6Z=EZC+5?_XD%+;b<*e%_u z;s))7?s@Ed<1lIx@=mC<;X}((GUK`UaQ||jv{Zg>To3%Yc{oYwAea6&2i1d zzaF?W{M@ogGF-B#`KN>?EG%}*Y03ITpJhqs#Re?->AUD$w(qnx}Dp#iC#q_ z_k43)Livpwox*o_LfDc$iwyX6jy-|Iw-Ul(u{Hm${`>?wns@Tm^WKy7AMd?p2A+p2wfPazv_5wFtKH}kU&_iEaUaJVN6#9{~$ht)lueT zql>S1y0GM_w}Wqdv@1)=eD#Ps?q;xwRS=wO;QE0Hg`yWLHtMC6^7@6mFrk`)wB^wPAH8RbQ$Cv|M%U#Q(ys``bg&k5ICf?UOy%2~G(=g0aD(B6P)j(#T`!CDOHq zkfDe8i^Gi6Lfb}Anb-DAZHhpSlD%S17H{X|HdcP<y9pX$GT`NcdlFy|w{n%qUF{!!3VMLsGx0 z0o-!AzdvXPU1w7I%R472w1$PnSvfSfkoZRj7MnANO)!4Oxz=xS^g~JNN zbti5d5!%>yVnaYkVc<`K4~T0rd0B>7qjD74Ckr2N?3l=!8@^SSjLt{>V-623D2!p) zw5an!r!p9Ta+E#xIR_o}jqUe?amVvGrV|O+$hR;DjkKs%qM)bV#z75M%6yn5$sQ65 zbxphzH!Pp{s`*42NJ{>qZAulYpE=5167NEM^QsU_3;C&_%G2YYiE2>d?PQ=ik3igX z{Dv{#YMI8Hn=_vQ?-mKRU!W5NxdmA|uafhQ?ym6#bRDYl=zy&pV}-2mWl$-u`v^qv z6#_2i83Qu@_g+crQNMU@)XkS@(XLsq4K>O~D>}=qMKT#yNe|rq2nv-5KzNfo1uc)F zQkD4ImP5FhwMTvJ+x{L>^}W*LvVq6a^y&8+X?1~hM9A}Axvnkkopfs(u$kPJMKgJ? zb2NL2xblb+XP=aSDpTKG3T!7mL)OFY6JD1uO4E5;C4sPB?VpIE7pPlSw#ZjXa;mFO z6$!>JM)l^1uaR)4R5Cef*OHRrbG*6`Y_yDtaS1Zq9F}C^gm+dl4-kap%W|;b)Y&0E zmYNeRswgTH;PV91)NOYeGqKsA4iH)YfR~=X`3NX=U;3!?=y3liia#MkKbW_5_t$pi zlU3rgX@pfitkyqOUgCdY8sH=TKc?#Lj30T~-!Am!$6~y`7Lm->!7PxdEyzk~0|;X; zmZslYRreOP=(425Oj5HZ_K}mRd-Q(n#(xAsjzH_TT$?S=JFkypLa8qkshO&+V{VB# z8D^J>HgpzVx#@k!s z)eB72yPmk=5%BTQh@*&_7G@IR3?(41KhcKk2xmx#J7a(qc1euVhWTW3%4IdiOR=oC zk`EPDB;$yy07T9U8*@4CwwxZjKB3s??O;$TUHKjBKw1)8g@1`yfQseGr!QZ?yuxeJm; zmePRii*=w`p`8{nj}8*|6kc>LHTY>%B9o$k6TC343@gV-NVc5Ita;9(r{|DPtAuDg zF_8qU+a|{1%VGSf&JlSS)gh@JZ8YD$V5*ZDedFVtjYhf-x2B9a4+lwW?Q?72O_7~u z&ySyzXW6J~-)oO=flgtu#9B>LK}^q0L2Dd6(qZaLBd;n2l#DX=$NUZ{k-8%f0Z+Zi z4G6i&`O|M6$f~X}jyq|Pe-sNPkehE)Tz^;_5xJ*W1=FIDd(Cf%8*kwCe*wER&E^Z7 z8!AxqLaDdjbkBO>FJwpQVo|7ja7qk>c0yfjZYpBdhN()acJneK&J-y*PzA+^C~b^xHxWg7>t|09gDR@eu;K52EcL)g!Ssg>%};w9%Uk*iNvYU1tn01sJn@EEs#HJ~p6XSEEUUCk7fX{KMJ zVd~|m_XY-C`4cDG>ckV>R(o$ay}_g$Fn}C!kF-)U9vMpugIooGGP;l?nJn30r)L|! z?L%<6Xu)pTN2~?spJArO*Gp((3a!WqLk%4^CYHxyo>O|#%B557N($1oJ;r_xZj!LU zs#P9}F-L1CyHVNrcBt@+@r=fjV`w3L808cO=?fc20 zSlU8Sn=eR*cjTFwxyt4d51*n|l+IsZ z&`q374jK|h^5D5cICE4kx_ZulGzGl4sp2c52JerLitzx?Gez}?-`quv=_(iOMMh9LSHxil<#LJlfJ{3;$V!n zwMo2x%Wu`Dn|B4_o_w{xF?@&=IXAmcXR@x~0^;&0h5?*@0=}v&y;$Ovg&;>Xm#|n= zU$XZJ5?9&xfTTR%5M5xB1tk4W@jI$wCQ3cs6LzO?rwiue3<4%|H4sE9-q`4{DspQo z*}&%%?_L-leZLN%C2eUZpcJnENWQC{ooaGLlUNP_9&z`|eiDf7d%YaTl3>VmX-Ef@;UX6%i>uj)UCW@yJfiYB2I`)#i+?u5`UV^o@5-cNb-WC?hANZ&l6 zK)HI!Jv|00W8@6Q4~fdm+DK{tLUizA=0e8N^*K(4GkumieUR*A=LF(L9)z8sFDmTz zD=qitJuasag@T1eotOLk;D$32X~@F6wU7D2&V4)1gZfaBfyVQz9J)ky9;}VY+r85* zlI>8YA;`{6+&NwwC)pjE@XscD;efe%1)MU{td8Y|=Z#q8Z5+qzh+wge&RCav(_E?}e7Fj*E zXyzfkIx?yyH!xe?ReG!^M6I5aF2?Q#`#ZHk=zR0N^H>*o+mE&VN+7fRac}lx+N-un znin&19dk<-Yg?CE3vX2A(MD9kW;Zx?inXie&9eK4Y7# zrnfweBF=l=L?OOQ~`8qLj z)6=uJh0ia_m6Jn-%LC0CqUsf`<=>Ow|HZ}jA8x$i1DF2G#rrQV737nWuxq`41TlUb zI21s2EdY_;A+FVzR?6RtFMVVMxj)o|=(k|+8pk*vCf<1OM74`KokA!J0yURHC`*^J zm&=>}mur*D*`|WP#$STbM@{!$!4?Q!I706MV}P=kt~s!Gm?M_V>=JK357}oS=Bygi z?`^TG^eG1AL0lv%PIY}7zxXqhE07%F7o(JdE<@*V_ozdS!8lmGe_aRI!hHv0 zBh>q)h5L}Gh5pe>9pZTPiH~6iqU>DtX=<;w03A=@h>69(jdmUXGbo6Vqu` zYzg~Z*#y2rt8CQ1N&Cseo=6{}LzaMuzr>Eb7!~OHqnMNX>0lOop_777RoOqSgfkhBcbY%>XQA@6Qg=3SLh`IrV~qynVl)8dGNhp zXIAH%?=^YekGSzGj)&gv-w`Z{k0TrLT}RqLa>DFtcAh4d6Jfq^iduq6l7=0}n$ERt zP@Md*GjA#&`&&$#{o&LF?g4-L?ljDSNBw=G$F<;@3i>oIhX2ia0oz;HGAAgkjXi^D zlO>f#rG;)-TpY+mZq$`;WcsFA$Q$9^D&DNk_~e`>rt!r#1Mzn~R=x`-8lUP=t4~IS zqJ-VoPTRXx{)j5;O@MO%Vnc-sb=Q01XX@oklixTQu3BB5D*!r`^!$3i$75?oWgH2n z^O5RcMex4t5+?M?N`sPWiQTP;4C{~xt*TmZ9bD}gd-tIC3PkPW0c1BnVCr;N1GW}p zGo@ns<*l;Zo)+Q*#|=6(ykLHbr2Q7{yL#CzPN@{>Zi!Df4VY1X*9w|Jk~_}Ajm=@X zs6ZWOA3<2P>O*9V9BrJ)PSwqG3&g#y+|w(esaYfq^w@+uhXBdvH5=fhY5Z!K13PQ! z#f9y__cXB`BI%0&i$>;8pI_;-&Irq3NiUJt9k9^WX{7$}>vi2eJt$AT#2iGwXEWZk zc?!qBBNZ{rl5>9Us7U^FP~}ZFMX0~@KELnrT7Y!Xuw*I2<^F4_a7XX$EI@;=g%x#6 zgMrdc(3~_Io!xS~)5h!K zcta4{8Joq{eH9{S%G2!OFY7Hcg-|$)$VEL+1+}}>(O7)$Y_mFEl4NOhIVSWrf5OHzt{3$8S z*m$LgX2}4kN3|v&q|Jr6YG+Yl1=J!BHyXkEaMW)k|Np^n&HXRk7D8<-MEZ&6L-wHU zz-2sb#N&rxUBZmF3^e0T`$~GPdd&V8)uu=1I&)x-C4PK-pBEQ(R=b`z<`-^YY6_xv z!KAi|7?Q-2`DrtjkXyV!9t`|7|1hnl2}Zv|pVjndnhmqC>U0GMwRjweDu3A?hXk>;`45 zsFq52mE|$>SFQHynWTmpst67g-E4h?1Zjp-GQy!Lp%4&p^u!J)F7RQuz)x_7@G#zW zbmZJj|E-RDNWfNG6|+yYu-YEJkXy|1g*YRC&M&zzuz5Sny8jcegj1*1Kun#S`KH;V z`(9oy%r|1bOrpi~RACi6+ox9(FM(=bhX+B-b}m&L926O~9lA;mrO(14Yy1L7-G@FE zFTqPHj{GQqMq$blT;rcY1(qvZZPY|%4erJFawtI) zw^mJ>S{fp7_C*l2f5xx8U$P^Pj2%~FCygHkj@bgnXR)blLFUEz1RHC~Te09qg+9BiO3li2Tw{C=V@D;NCFJiijJ-`0YifjJfm$hd?+f2i9f!_HZplRcR)yJ=$&$|Al`c`%V(s5m3 z1M%CfL?ga6mx-Vkv>+B)wdSDPhH6JY)o_TGU-h`M(}L+iYgcNhr)Tg zHmi?lt>I@%>(HhX2Tt1xk;n4nqWBoAoq5yxPbw(GLjVIB)0=NGE6grpoRePETe&pEo0DS1|zt z*mW@oH!hbAoq2jQLZe2E{d2z%?<=0_q~bJtwqXr1Ji_gIw}O~-ipGMcKxiF3CM#7UV?z^E%yZC~nV|7LX=!L!ynM}^)q$GUhYT$6MxXbS%Q zg77GNy?LF=2Aj!T2vCsoRwnFWCSRr3+5`KJ)1sP-zPVfxt{JZ+>NF9{*c zpsaez8bm?B&IS#Ixl_v6#TW65M&WbCZQ(2zU0f0r7B56zIh}p?Pbh4{mMXQ9gP)DM zDZJkL4>zV%N=Nnzc#*UkX^2&0I)D988#`PlI&{1Zo{l(OZWVB-U4zqFk*xdqZem&& z9qE=OV0q#*9tB_u>0j9C%$yl)`j&@n;gmsaP)R`P7Sd^tS?X=+{+SrwQtr$-BCZ21 zLTkDCfoj9)-u7_^Wr~KRdUp?A-q~}yOQRn3XZy;Df74-QGw5Kv2*#CHa%G$jp2lld4F0g}Ej*y$D}qn19tN!m!c@ zsfX}dzhlT%TEvKZQCh|9f2Pnp68RCyR845uvw+MqO$nZY;Y;}mO?qozN%>H-1cAM- z*WaEto~q3{)<(tBEl7?6)Dx@~Pb*270-72QX!*mytn`Ak3GVVUL$-$}yzdTG(r4m4 zkL5_hwzoBVFJH5m_@|p{RT-V#XDLO;#M_dZdjpzHP)|YO_mX1iX+Zz(bzFRS#USQ&dGRU)|(< zXf+>!SWXOvTOP_KLnuE-{;Z?g#W`ZJw)>=X60HB=J zSaT3j-g?;`Dxrg!J_aJ-AoN-Qi{(%X?YY|{J$-%t8B`Y0$?TfYTh`maQ_$Kw@WT_R zl4#`{vjdTe%*Y3E{eu5%mU6U~8<;RZ_%yY`vYU{@nQnrayibOUA{b0u75c!+A<$%p zFI_C5;I&SyiQOUxHX5#QAasNDEx^%H?xNfldRYyXus{k)-3)jUv(@Xn?wSzTpM(aiYV5RB8gJBB&{zHu%`|P_hy9+RHV_v{=eQ6t z?K}|+bHSaCS%6zY)So?Sw!fNJp8!nC)F}O_Tw9kT7$)ETQ$`V8hi@!ulu0_CfW3=a8{s{G!IEUd$O&&zTBAm$mh7yXHDBsdLMHW@OZ6;p1w$} z=UKw_*T$y=S{a0|pt{$m`NQ8s;c)8Hfku!R*lIf zo6A2xQjT}|x<991@fU<6X7;JD_hjpCGZI&mVY;enW4bAZ2+!p(ca~2aj}x+h0#-FTL7bhtJkI=C^?wu+h%UUFU7lt;oGh-GPefF<$yHPDT`sF1KNZ7S z-{GLg_PqY??+i)oT0eUksx8?Nf%u!81kgL}gnJA}L^7_=gJ!?kW;E>(kE?-={y==Z z1A30Ry)yHnPo(q}1lg_oH8j1}+U?06W%p+sFB+n) zg;0mW-WMlXg;iR+jaw#gQ6%%U^o;DzEYlxdVUyfAF-VT0yol>9ia4wD1U^XP>ur;x zpV~^H`(ya00qt{@JTVBlhMql@v`!V5zvsgkdo9kA2UU+f1}%c;Ld*+~GtrV`>~)O3 zy!I@mx_2?9^5KqdZ61_~CIkpV5u6=X6{uWa#`;wD2>_;7ylPw^E%;V05nbe|&@Q#O zW5k)9h{Pf=@zH7n*_Gdl-%fentfZ6lCRHs)U73rOYPYAB7- zI`?A$EYEz&PU=Z*QfODC4f7&H(n$)^db<+B^wBMEpzZvDOgn#hbfk{r=QnG=NX$wO zc%167**hZotVnOOx|qN!bKX(=h+dIlfxMWTo~Z!w-{W}EN+l^@Z=#8m-Z;u)X`}V6 z2kvueqa4zKR$rz1DLP*(CEA&m@m#&z-ie0HCG}uXdkX^nyk(SYVH^VlLyyvA5^|;&|B(v-HflH*&|`jYq~O2>*7faQ2XecP98W?Ki2tl z126l&)IuQMS!t{Jv34-sr|@A5(^0l#FW)fV%}SDSzpboW&9JeTwHwR6%D>U9Y4fIz zFR|j+%ftV9C0yLY=nG}4PS_s=)b6WWGN*UEPjxfRQ2S)wvr=IfzvVqN>c?N3>yVt- zi^}TP;O4qw*)3Ho%6+Q3xe#Ss#Ed%75;(C1VRgp~XEb+ygDQjt=u$mUWY>PKv#jz|H_l;pfx^@|VHEsxuM2)pA@F7Nguem=4-ebo- zQPg>0HEd9AbHAC%HBt{?P>gatz*kL2!(%r6c|1h%2u{lMe&3@Oh{mE85#;H>r?*|W z3y`-D86VIqw#~J@`2d~2dQXo31%C)X>R^X>*VjczWH&>C*XD@Y;7d58nz9osr(%Zi<9wMDo>376$ zHUI~VHRc`xyhEH1`c5f~N5+{xLCUik1O^X;IO)F__F|K826*XBC7)#0y7i5CsYWnU zK_lF11fr6Q)J&)VICT9ash<_n`bAt z4!^i}fZ~nfCXz?^H2E<}pe_Ic1nbIrK-V8AoJ zOZwL=3mlf)@GsUXbv0BqEb29?l4o;bwM0GkkJ^*&IaNk;n8~Ny$W+MPZpOfZvMic5CaBknbSW+&np*P!vWqqw0i{)m2$xrQI~ zyK>r0C+C^;fmfi%$LjOA6%?|RTYK*DWt93|r^ob;D5Mu?}+(tC;h zkn9-D36rt>H6n1107a+zyq@LOV7@iRnK9ZIZ6TZIGj+B%)9;qFK<0S;!#R0Kl9+0F zp_id1&jQRYRe2QFl3t}_M|jn~9MR%I|h*6iOiA!j1XUS(UtyMWlTbn}2zc$w*p!n2p zR*%Bq6ocO!#y+KUK&5-;lhn1bC2dFY!R7Tk%y#pjZ42-X|hw}Nbg6Fe{{>| zmwC$V?akcM?0u6sV-abQHnb)}$pbx+P}VL8<7#w$G%6UyTQ#Y*9?xqiQwzsaRSetu zjh$XYF|#1h1b79(;2o$v7G%#Otbnf$0$pTf7Yshu@BVz17dJb;EL1CvfGwBS>T6{+ z&FG3j2BSX&HM;nob^4s!D!GaoVz)B67x`a`reWW<-qVAprJ>rqVMPz?ibtsGPl_Bl z%8WM!cq%@|L?pL`y7r=;pO7^56%$=16W9qt(zPjR@-|jBi!FaW%P0t-mLj33BP_j< zjTR($6KhE$43j;O{v)1HVJewidB-A?PDDHe>2pvfOK(wP!t)>oF}oFV$PL>>2gwuT z32_p5ZC*%3rnuTO(0dJ6g$2)|q#-52>W$4!PO`J0nf6xqpu;M>77w$1sdKx~^?TJ& zvbw&X(c{GPQ0$L)InwS3(?r}bO)$8i4mW4Vy>H!d!iZ_nFH2mR8ybOp=3J0W*r9Jg1Lto`Qor8e6}G_qTae{_R-AxJmp;ectotJ z8r|Z%KhzxZiRQ~XX57ch+J- zovdQmy)inC$HBJ5^X*Xm<2J6+-vm+LHtani0S!oL#T+vtrHyJ^cb^3%74BBgr3+@g zn642%!<(KQ?;gF1UJMw# v@4?~QA&}4q5R{?bmH!zz}ty%J0yO<2y4!)Quy;Y3= z{vb*d++42vkb#v6$S3t!>G>* z=Js{8$yxei&7u1dWzIm9ti2V+Tdv-UOw67fJinQJ4FBX-k}}y{YS{ntRAxuh+KD!)yf5m zyrQaVu}NH(A9uMWeFOr5A5t7~e(dG5KSYpJvk}X9k6JU~=d(96#4bu|ndD#njMAqi z1oY%Rp)M-RkdvrseVtvA-yHrqFS zhbnxAa#ZTw`S3wh4mLKfeXL!mI z+7mcws?Th(_~s@hNa|g?+?Vq(aqX}7l_6FAcLLr6Jvo^iMb1(?3<{6PHSya@N4-mU z7p|p+O$IJE4D!1iH_3o0%AyZL}_-h@xNQcp_`}}~1hi>%J zd!|^Z`<;re8fCh4$GJ+%oi;{2H~!>S-Mfh-HK!J6k23X~XG*oM&|f@ZLXJ{i3?^RD z<;pSEQxdTnP1$e&;}O!3p5nbS3^Pk02EP-v={;c#?2CMR)J56rUWorG4}RZh|F5iy zkf|Tfm>JK}evVEAA?{ef<#UwcB}-c~%f zcW#zP?b1j0p6tP}8TvHTxgsZk>FyCzg|7ACc=2-ziOBPvX~w60?cedD_(g2sg{4_U z#hJjG9K*D_Q`u3y(TuaatMHGAl}z0iEg<1lVxt0 z^}VC$B{_FOEjncRn0Dx=q=%#R0#jM_>ch?QzEy+o?}@6$;0-#IktlOOK&7+xOr&TzaBAMWJ~sArOS!`>J{Vm5qWZ<%@K*jzKb z`=n0@eUb7OMp0`ME`xN=E?&;6Zq}si(b<|%E2xOA_r+oOF?>@O=8>@b$m@WXr=Y78 zE7qazM(sSo_g}9b`hS@Y{-Qx0>i?Tt{nybifcD@Y8Wp}&8)b_qlt3v#J`u=$v*3i9 zt|KA`(brf2lY+v1DIs8$DbnFfs3|Z^)No7A#k7Q2=#zWk5?5N_c0GqsXjvC_`1Xs$ z|LCN4Q7&Q&-V@Q9wag2W1k zWmTiGk6-o^2S0TK0AW9cRPZxa53i%1?%LqItC@sow4^f(hLF)>8u{g(1RE0-yacc5 zxj=9TBDbCCn;t)%;6bnyC^wkxf(eOx4UHH$Su!U2;QIRb2PP4iHQITZR`X)+Ln@kV ze?D)Mm--RDqkjFQ(E40=$h@T8TzSy$v1-%uxG*;hBrVf0EVu+Yy=6L*Y0)*!z_96f z3Y^`B!&X+^5cFpO)PmQahJ=^V%~giMUQbu7NFA}jr(qHowI!qjpC=pn_=l%{HY*4U z6b&;;*>nDebzgjog3c*fglxE(IqaO}Fq|QToeaIJYo%C+{_@x;7^Mvvce&r#oM<)c zXP*}0$)%37sxo5{45PE zwz=6-@LT};^;PDKBHwJV1GJ+I*W1DNMo8;IF4l%$*OY{p;Q+%>4a;EV3a(Vo09{C! zkg%L#9WBbV_XNr`Mt8i8iNQtP_|k#qbK_K0pv3TcG#ZN2Zrm#}m+w7i(T`(H(2JY= zt@kw@W4L8P9Z!b8MJ`c^&Y$W_vLWXxzA=Mp$9esPL;c{pj{{}M8@66Uic=Ke}Sr;&qvu=Mzo zj>WD*x&USgd7XIVMU}Ts7&nRWr@yQ+r{Gjyl$OjbDC_BN3sPWRgrSAF^&A_#46^cy zoCV~oTs6=MlXHgi20fI0Yy+X08W+kX&-RnlP4k!iG5NG~!N6!C`;MNqo~XbcB!|D2 zMt`-ALHGNfHv94wp}uU}5E0AbK)HrEN$xIzyUnMrA%$k4lS?qwHkShF%8kHnfgy+N z=0^Y{^}8-|dE)2VbxM}zS6_XPx`5C!rkSs~IatH259wzS#L2+a^@1GXr3Ow<6zuw85Js&p)gc^L$iIAe#E+i%h_&IPKy7G z;afai3dAFn+q*Qep>gBUA87B_MmhZ%t~_8DF! z^t#H+vQQ%nLuu2#N&T3xC{60>>KkqNm7BDkK(*A%4d)o~NZx4q|h#!0t8VzdQ z>t8uXpmk3+t=&1C_n}>QPIdt{ocpBO8`-U@weHeNVr2ebFSQt^8yPR$);3blEj1tE zU>po80O)=ZRRC%x^fUGtl}o*KpC8f$fdo#&cT){<0regYFFf_g)rS_n^l>fJBuB=Z zyrOO2ALInsYA!$-z4lk=df=&fr)&lL$@AQHR*N#JOnMhq$qcN+FAumSJrU+$f2h7s zJd^xt@CoB3e_UN<9T9gxF~My_g|aeS4!g~N>(@(2ej7t4PbgpBLZqBg4@%K&_pDg* zUn8X`{Y4Zvtxvq9ckJCc@yTR>8?7d=^QFEOOh7HB0$YVU54S9j?~FLvn8r$(#CgJG zj{CJ1AKm{xWioTHj&m4*I_*8Cvj3&3+7`Y?!;H!i^U9)xvZRCWz0-~uRL7pYpMHOC z3?gAXZhWfBq=gVAB@RZIs&u~eVG?KsIQtVdvW zL!nR_TR>mi-ECyaJh5;b^hpT)3I#nDwoG26S$80wno+;{KD8{T?$kk&T$*t(IQRm@ zEs+8u-me(R0XyehHj#nXAzmvVj}(Rna%j5UEqUVQ)@ngo zsQ0zvo$k5i%0Dm?JyTKu3p@#R>06`Q5lepW5@IZ8#^C)!K2JXHW^>I^J|kr4=;oSB zehPcCkZ=fr0p{WX7j9*Z(&zo^iZ6~caf-u4Os1P%lG0Z8@(W*+97GaHg8iVgXSA^+ z8<$TWQuab${E~{dXW+A?{grpad*L_#^sDUIODiloNNIxo_G(Z_JyH0Xw8kILh1lTE z3QL*joylKjtR(_48;{OKJW^Hj@|KOP{_&nZ5^%ijFNVgEoh@(a@gv2DirzIt%eSK( z`S3Yf?hjHq7;vNGclv|NS zt;yIk&c+sJB_5LO44QBIs%@C^IVavJ0tm+|1Jq;Tho%g>^ICkUlPgObd~;6e%^ zO96yhofF3~t-MVb)jvUMp)`QojM^<&qpQIyVQS~f;*vg?n4%zZJXlcWgwwxy1C{>; zN%%hMPXD!^W&Tk3{=2V00DRf}+gI>KMWpx$c@oSL4eUbPv5mo4RH0|Z66y;YfQ;I= z_|ZPLvkJhd1+$OsZ0niz`z%oYytA$Y7WdO8>KfCGJNqVI5q(78haHZ?3!$0)$)vtb zSXM-t5l0YZrO%i=)?@OIDo@9VQ4D+Q2mqdMnXFsXe#KrrgIxOOcJvKgeNkxOKKU0k zpMX==0G1BdjHGi&aHNtCJ^?<(6|UtL6M95RTY*yK?z|PBbitw-OA)v~rIR0~gDzcs ziT}n|-m!8%jF@Ahg{@2Rx%T2z&D;%DmGmG?m)d_X>l{DY`D^a(?Gei44;zY4`g&VH zM#@ZVkOWrrBQ+XRN>zKn;*xDupR?`Gyo?NPrqud9hAd;GyWJ&PO^bbRTtboZ0p{cv zd~%ZYhn#2)J*($X9E`zt?qv4@cuOLIhxsCvE8As#jrR3Wcrw(5Qq!OKs4o|FC8x8B zUoMZHvN|h*RY}(b>h)v0xQAY|``yF?eX~C85~W~J1w4`;P$1|wZg*{9$eJB|Sc`}|82FSew2tckZgt)%_!CgAT;t`bH5pg2CZEZnb%os3{)U^f%lhYaAu2$;HrTPJ zd#|WSidXrXbcJzCu+{&Ct()NX(-9Js`#8-lZyJSWKJdNCp*%%K8Swr|6jwnMxH%vg^gKhH9 zP$1IcUcPib>$MY^?7DMLk}IRU;$y&{V7|lmAJ>?U0TqvW{*iPodiZd%lV^T954g)> zJ5MxFb>F+F?*<40jnhd}l+sd?A0x$DR+IExx4v`YQOFD=><23@hRw z7l5{elil`d@2f78V~Dz=Ew!D1%hlvO>U6JARF2Bzn_FS!-AZ~7r!D+3^}}|6(7eh~ zeT7XcXSu^N2wsQxEv>DGeluNZzHRO zs(*9(nZLftRtl9Ykb<^jBqMkjh`)enG$hl3cAoSt@qM)GUo(s3{})^S;Ut+q>Qn!5 z4E3h{a3Rn8a3RYlwDvgaz(@cx9I^lQV#Xq3~E{|})FK-b%x z|8GW~6fk{(>`3~R;CS%tZ~lso<6%;o&^`8LA=@H2ZJTKpZ%5$+;xYHp@2)~Hwyt)Z z^;5?0)kQdaAt>>@Z?Z+rZMmpBF!Oy-QKnmBM^igc^Ij|m-dD`U=IeZ)rbDLfP9xyI zsK_OKtT#@a$vS=$ENa~SJX*MyDPF9y#ikV%U;xgEpV6h`ajS~+`?+%?OcuUdQi{X( zX&hPpyu4J*0!QBr=U9=$NW>4}yCtPGx#x^sorn0qd+zwJ!*cXK~( zgN4BB7zn~Gn}7>IL_E(TgEo2W8u8-9JoUJk%h8AuWARf|;&!iC$h~)hM(FQcEf&Pd zd_R-l))QGgcW?H7wZ7AErCxpkpX{`qtC-v@d*?z6H<}2y28PBVr|M(IAvl4y+k^HE z4DtLHD+4}HUgZ|rm1=a7S$k=v62gv#O3$%inCcQAoolx-%WzDd1i{$M;FWu^Mspdx zAKOn7=Xh*&uQh9bMd&%vYQDh;?}v;2mY3(6T2#V>Y<3s4@T3n{ge_vG0Cc4_RKgPk zYB5w`krC!$xtwC%ooatJO5n;3)|8YRGjMV&xdx8O&VSZ;2c_hcolYuIo+DF30LHOyJ7c$&_U zjH@){n2As9j_BW!Zr5*v6jf@ZuuR`#5mOte5W_RJU8eP5gdt)X4LSU*IC5TVhwhC! zSH65@JAHXAbXv1|_`KUP8*aZAY^cX)qnnyXwhQ)}5f7MFUg6X8jjjRnxhEnI?7!16 ziQlRPGrX1v6T`^M5}Wb5;H+bQ&s2Rd6FEh5>Ra%_!fz-s`h9m@X$_+7||IoG~Z9DY`Xu_fv%I1+Qw;@q zG`hKkUMUS1w(1$eE4X0lW6)x}`liqIaau!9lntWRa=6U64b#4wI@j z7x=xRo)DETjvNDY+V(+#{4@2G{5SJS@GsZ#Z!!v!cprZUM_~q`qV~wFa%{`DoIgMd ziGrwzPjdRy(IEd}M}PhoPeKSL5X71+;Xgli?)$I2^uO6FX$f?dKz<*^dp3I}XZugZ z;Qwqv)XOJxP^gh>V!qiV*se(<*tQ#Kl~!Jv@N`8lA+ue=9O+EHKc{sdQ=Gvk%kuK>BnySnoc#v6j{&xVGR!<$y*^;s;srdzI%d`|sxT z@XK9P&5Pp{_UJ5kguW zwJi~5b_wD9--r%9ghYs9JBbv}S9HwAF3?9)WHWcN^L-1aD->}ve)S=W3=JCZv^}K1 zRc6{C_-ta1r^EX4TuR1xmdM_l|6Ws(Hd@5>4tz|h^iFQC>u1i>MWNft6hIa~a50VW zsEg-()10DcFtD=aWImd;06EJDTaSw1p^~)jgUwR>Nz9BrExt>RK=9hARueEiB9rT) z#5z#H3to)lA#>W)a9k4SkHB5Ok`uPAkQu0ZM?|9~XBejuwQVW`2^8DWy(Tze*S8oN z%!958p8RI{e2%{p%%X8hLM>6g2iLTv{5pUvnlu@`>%5*&M&e}XEL6zyEk9VPj_M>>(_7cCDT(Abh~OkE6O>-ra`8F?G?l2ZI7f z8_`g>xRaEgs}LdC%2$^Yjff0!wG4qAtjRL?;v@Bj22F-zRiJRH%XAw4nn(ipVV2wrCbxgU%y&p z6Gj2<*PICm5@81Sd22WCxv1ONI*hmpon8r~da$+=b1?G=%rpz1Z&$yebwJ`PC^&2E zTyN#tclEX&+J&mcK&$#Q5Q~n{U|$92Wm+w7DVX_bz6#7{&M1yIOF^hVHxmErz5ZXW zbpCmZf3I|${^Qr+&6xO~>p_ItUzo}pjdPtO?@^_;^T6kQ@LRykCQs)UzpoD)2)x5{ z4CZw6tV;hwT6ID+{g3^OWjmXoeFq%K2H?P-+X>n*R^7bS#`#edj3pBdWrvm%Y`Y6M zA=1x^BWm;+iUgmENH=kycews~kGkym^w1V>ZSu}5p+By3GEMtQv#mMK3G}{n-?=tP z=DnMrX4gsTRxsvV_A)0E<8PQs`wRZ+uegfzEa0iUV8bL4mq+#DEQ>Qtn!EIiB zBvy5H@4aQxb^U!z6c@3Hoh_%K12#IrIXh~J#m!#?!8Nk?a2Z1DagRRzg`eoPvE?Vk z(QvIm<(vqkYY5|DcPG^Kvi%mp(CRuHO06qU7f5IOb z@D0CSV!o<{ zlNg0EGkz_WVwL0>G`{}%UFCSB1gwlUIgiBV73cU4$Uwn%!c z`eEeJM&`{YOF7CjeVOld6Gx-RXc1nliD=QQP7?3j=y#jMd8DrXxZv^WPz7`iAO%+! znXY&o(FUCLWyxjT_i?J;f!jgiaN_N)WNhZ`P^FlVSG)WD{nfpuv@M14@b-*rCUW3v zqGFCV?+58;6rB?_uOpM}8sZih27Yia)MLx{^&kDDyF+d~EZY3MyV6;yW~Q7C%#Hf? zwL(GK!n@cOkCRWWApR9}?i zort$D-!4jJOA$MNl@7g!xo+?mM>LRZ$}le`GoCn}7Q#GM#IEsZjC!+PuN*@_4b)-J zJYsPxEOS50D%TUgl9`hbtl{Lr4>l?V<9r^sRkjXFX|?eF`I{4qwSak*2fwS>1XW-a zZlk)NV*Z(s_(V;9AziD9^_i;SR>LLM)R-7=J~xYh!Ub6rI+z5y;l^9Ox#u_sZujfA z2%YUN)_O+X&h7TEOqoyvevfR2uQNZMY!7CG(Yyh*ri<(nRyC7tj?Kl6_gc?F*61Rc z&Uz+Y2cJm7xm(3Vg*e7CA|*B-7S*>w$THRA ze|I7O!XMA;K1`&@v!Ei`#A}P##QBf`LIzfr}XVFY5i9o5lO+K)!yU z9$owa*xwEWzL$j=&tow)O6;Y0Yb;m537|Ry@pCW*WyyBI){;rFLzKWk*O#cKBTZl+ zdjquZ!3_ent@i`I8e~Yd9*$J|c^DlS>~4M>?qtPx_#&wHC($H0F&xfKHC;4B@5&W^ z;l@Ho&gP4PYZG!kmHtkB>(7Gl?!m|AjCkb5xddI3o7qKml*xqj}ViAQ-Y&@ zJH*`9en3*w}`4~n;ZNBq7 zUpqGWfT}GfBh~(-(qE-+k2LNh#1cb(Z}P16gbT5LXAb;CE3Mugs89Co32eTa$+q|L zl^}(5s(qY$5?^SKjg5CEU%8HZ0{`?tw zz(9>TUQ3a>HMu!GR_FxD?c4KJc4_DoBVB{e=}&+EEPujkmBigo3$3B;Uk$#g>qYBD#Ug2l1~FY622i)0axz!a4duk zSB;$ObSS|Y`_<&!O>1hU`wUUNXJ}FfS%o!QFL^~1sI>=@+HtS5t6h?MOonfF=N%NGhtI+K*OcW3GFbS?bM*WT$554*NA)_#xn|R#fsOU|6f~ zSV|b-&`#UtB`w<*RDGH~1oE~eTZaar&h5}e#vCr2jd@};gyrvV>iuj!MrUvPaW`x$ z^yypEeC76|w7iezlCMUw7(Yr_!X)+8cKy1Pk`w{UGk|1IJyEM4W=8+2UYl+kKBNun8>%=O>O^p1c_8oa z8=+no=E72z-vqCn81Ci!y1=XmbbxK? zH<$CxS|JwYL$}prxA20dHb#(7+jrW8dyQbj$#;Ce;$fwz+TtvpYdeRrkqhb?9=6E># zo$5A#7&`Xl$DQ+Ey2OR)2$d6g$jbuZ=!sDtqwx8q5>w%RH7Tn#Lu6|woGPt8^}s@$(e6d++6^4+qfoD><}*5)yZweNy; z!yfCGM4>zXr=WHwIm{Eub6UKDnpQ!60bQ%e!ipy72aPbEi(ImUIy z%Q{P8n8afEmfhp#?o%CffB{PEC;EtE;4!a>h6@z`R|KdO&)H>&8GlLaw6z3w--5zX zkv3#HY1pc~qbzTkF^HQdAmKOL$*shub={8L2T_l>nBzAv-o9xN7czB;x*XM#5$+us z{N|fGRd^4p`b0oPAHP7_;YYY7MNfxCTjge=V5GFe%?hKa{`R*b1o64YGyOVt>ZCtb zKL|YQM_P0=kX4dfYH=Aq=wh!?;NPeB$&$ z;1#Y>kt(3pS@Ejd;IgN~RaJ=v*$J#7X7y%9M@_5Jfrl)5tGKIYeX{>#oBK3E=;mgp zSW7T7qFyMe__DFCXru5o4bM-jVn)}3R<4Zg+-dvuw}*dvYa5mQcB3Uh^+8abjA*-q z{)l-jeXWLia!GXzu&&M66foL|rPF*+&=5Rz(pEFy%iT=J(Be(SzH`+4YM@f-KA4Xg}Fa~lU84xhm5UE}y9XNL<2Ly!4g%agDInJ$skGbiS-P8{|g$a@vLUeAd}V_5dM zIfI}wK-7q3_=0F6p<%&#AcpEjf)nVW9jugheE-?ykpEZQ`&{7sZIJuB%lYNG*hx- zbv^UFop=l0Y`#sJ>(C?FcMi3K_<(%O9*m!XPw~A#KXlY(@dM_7q=3(ahb+<7ZiCts zd0hcNstuD5wvYS=xMQlL=9j%597tYr+?C2oqE-!qRU4&l@t0fB=dfYaMstUc7pZ>! zkO~-xuYEJoAg8s!B}a;?<$3fk_I%`1n%2%>q-vjh>O0wTFz25I_k~2dI(NMQ~N+@k#?8LKs z#NsT$n)uo1@*OJ92_@5#VMk4mSz+@P$$Z1-2Fo0<`CItzbWj*`$2le_K`Cu!0^F?g zT1%fo(UdGXj_R$RuV%&8>(ht-isny)F@-8nxfG}zeAXOz0En>5!ma^>qpYSdu_Q&V z80*hWg8cn(126zxI6#`Vo!MhyB4wsfC7b8$ME~gl#xk<;pr8h*f^!*M@g$X&i|#WG7YNXq9%x zhQ3g-lZQ9VdB4t{A-^*3we{YfG>;MUOov95b5PbVM&WaZnceQwKz=8Oz}p1J?;zvR zUgi(chH1vmAyDm-X(k?&5%}!61UFbPw?Bt?@*-s> zoeAbLts?VsAD?o4C%~>IuC;d(PMHep2xhoT@N_0S_p67V< z?G2)J-Xnh8*FBrU22=dx1@3uYx#H`hRkJ_!_IZU3F&`4s_I5ektEaqS&nmcBhR%(W z*{^G=1u5aXuP+WU#JP*Qqp|}a5?mS*v#OneMwf4?I>`oxj{nvFpH z_l|hr-#cQs-yUL|FIBs2H4U22I$JVCwU@JtCv6E{pA5;n@Xq&>BeA_QEs=d1U(?E| zrocx%9yYhC9>E_5S44sD<`belrP-ob1%sXo#W&K1Fvc6qAE^(J$AF{IQIb&G_?f8M z*#Z^EhpW=e+lR$IV>wIl+wNt9kR0fQ(y@EdnKPJqWSvgEAMp4nDbRivk7pBim^k}) z&LH!VTUUH_1z4^(&y%A0Z1u)t+|P^wED@=9_!pjrXaX1CfjGcO6>^Y(Fh@}cFD zKRNn$;A`XNhc$*oTg31)!NF<>@C}%LG8$TYBJQ~%?J4Xq zlt&Z4w3%bs?T-Mv4_^9MJ1YW50`6%7fg65{iNwjRXKkS=X+6WvRYt`;F^~0%w>mz z%ULa}1Sn4B)du~62euy7+(4=@g)paF$hM&1Ls3@YvfnOEG?0^RN##)dVY4l0&5kg- z5~>_JPN}sN3Bpx3J*GDPCW_7Utar7nQLnoV&sQAA-atUr7AQc_ zq{UsbP9{~2jOP={ogJ=Hyebd#VZPT{VfZ>W-p@bk%jXSc_vTw)89Uu9K5++9$Mw`M z>(Z#9PvmTLEPoX>-OLKhyMsdaxhJQxlR9i!u?9FK5=%={wT6JUVdp! zX`b_9x}&x$RF~BR4zWhr$}LrfotD~ks;JEd+IZLAGU!XzY-wFm?MaPhMA7LWJ%3MlIAonYM^qnf4%yJ%V&u|4@2!= zM2`NN=C79XTF_1H`gh;t(x^zPw7P!Q(GGczl08@`hD5P0Oa@d43uBM%DNplrC&ADnPDQr}cZ zVZY9@q-Kde%@>+Bc{!JI`300p(R>JwhbDTugVY0!UESr`$_oci1c~Fv!{MOI1Ph|L>Z0& zb*V3r*$1n}Ar49!+BI>nHO_@>7cXj!#OVWEEyOrOnz=CRN>ZExC@brN)b%nLB;E+h zUAfwxb2sXSdh8NpDRn;wT}#~h$q`XD{OyXjCryUL#23>EC2+sMl@x4?dIPjtjq0EP z$&MBU9sB+5XgBtCnkNq{O(-~#N88A>9V?EZ%dfB>o8et^^YrKUFdE0!2hO}wm;h#h z#$WVu?^_Cu-|1KSUytOvA9#R7EpBaETWA!`jUdt)N%^#G{OEmH(#e>gTj9r!P&c{Xe9#%1Z{pXzGmZUjx3?_z@U;*(ICGnO&VqjL1KC zjBt_QY$a$~i$+_EZ7_or<`gB@P%28YS$J;~!rfZ< zsj5cgUu?(O}pTry`FT{8<>X~d&qqbq;0p=9J-Yn!rX7_Tg3 zFLS0Ey0J8;>!#9ZEXQ2Tsq#rTm0eR`y6-`&*~ zX^BW62zO(FcHWx7^cMsT=KCyED?ygpw6D*f$zhF}r=2cWR8TKe+LVrz94#J{dU|I# z-(8qhgdJ2iSH&!RMKV94YGJ|>)nx|!wBgDPg$+5Ikdkq@LU*;!tb3dO+3oF%H{p|iAN&I1J?U=h zf%!50vG@kzJ-EKDQmyDEnh&ij5JoACiyNdqcLj|Zc;h? zMZCt|mvo6=R=J|mC>UMX8<7Ozgj{;Lu{{F35x#=`Wdqw&u$Xqys@N?j^7I0d*h6CL zZ|Zxy^rd1|%l;&C7i1o1G{1O!0*l`JBGf`WJz*U>BeX!9B}9PwaFWS8XAmxeU@-8- zxz>iQ$ub%z4(C`0*o$j0d5j(E?P+f?skD;LAl5Ex4$S0dgRk%f!z|I1So0(C5RI~= zC)P$;-FO4X*Xk2aK0?cvo_+Di_iXSrJ9N|;LdEg9pTCB4sd+tE{iVJ5r22hQ^?fb* z_1Nrd7EYb$Tu`wyS=}DT#a?qCXr|4gwC4}$>=(oCm&Zw@tV4CpI$+F8vgO0$ddl}R z2(29_&uVSz%^{TlFH&iHi-#Rm4^@AscIRPVDTuNu`OMfYrTPs}=37e7O3nELH6It# z5Jvy)BV%CcS`^0S6~GrJAMXpguKPS-)=M2h9^4Ju2sGN=Fau$~vs9pMxxQ319ey^7 z68ynk!Y25RK4$DxnnTbg-p0CMzzdP;z4d!AsQuGYS}@A2LK6S4V9!n+4$9!hiJ4l7 z&r}0vv*2{Qz5vSOGEj)?aNslyTP9iQ)gW!8KBY%#@Ds#C?3y81-}m(~gtY878Bb+RPgR?*5<3zk38<8^q!%ySK1;GK(Y z>#Ve+){pp>-gq;o;T&E%wckU4UBr1{I$40{1_QRbCq%vNhyjYP{Oip z6YWf~&S=mq3(b39#S)sn5?DD+AzqWpV7mu!8&hUfzIs`(oo5nw_H(EsaihL_m8`hDj){U!Oz{7M{X1g?T@ z8-`uWl0ny4O)*IzsO>XfA>gJ>A)uA*ds68E-OG6E$U}Gi1y1HtXc!Z#n9I3IvEBd?quib!siV9H!TA7e?Y~T zPgGRG_&@hxk<5voD&wCNUr@}?KA)u~aG-nD4s^}B@C(M~1g#s{Xh1OEyw})6>SqEf z!!hUq`2FC+=dWna=QHIa>rzWE(-*HnI~mxp3CY*6`3H9j@0GUxiEmq(@G^iL7u?Hy z!8v;Jhtzhv{29i}>ipt#N*s_+%<`u`4`;_NTm{1yj1$`44YnSe{!^kGMY*^FbZAF& zQ_OQlN!K{E1}Lwyeb3+Qgdh64bxInN%1@!Z3b*6V1b)-L|Kj5z#J;01GL%B{+5X^s zf>&Mtz#%2wZF1ng*y)wuFrPNtLd|9RoBA&xP-e+%buwzPMs}wxvRG z7)&xLJ!h^hJ(*o#MJrS%L&*B0GuXSGf%M}(*c)=34@d}r;uKYd^VWF;sd}p{{b*#y z?kga&E9n}*wneOC=#uQ=gv)h$fT*ZvzFD}#G16>6w>2_P=?+M4Yyv@mZyAO5;;H<} zq?MrP5rPvka!=Vb2=;~pMe!B98>&zToUPsMgR?l$c(lap{s^~vkVfHUak#58APpaL zoI-%@F47oag0VR|+UDb=UB6ecT;>A%()g+^vIEk!IFcZhntFG(8^#b#c}D*ujGCMTkhr-are~HJ4=DFahRb3 znUfK{@Hpu+dU!xE>8Yh>?$NX!f!Q%^bO6Yu`&b;?;Ch4Gc({CjA115ZA<34FEupZq z3t9=F3e@RdJkbPvoo37lw%Gi`OL)yulVrrZDhmy%UPxaq-ER=N`M}&>rrxNhenf@G z0n*kDa6yUM%KfP4l^iX-xr*{czK6LoxZ+(M^xS%=r=__`%Vu$4J|`8*m6bueO`fvr z=~m$PJDfCqb4Pb-E&vG4P~q;(1{1ssE|JsZ*OujifD=R?KkxC2Q^&i|#XobJc0d&Y zP)IX}{A3NbwbMR5dB(%fL1SO-UY%g%Yy|2lJ=B5)H2<=TfK6=Gn9sBMw{DV3#C@w%ueg5E!Y{X+saEe!>u=UR(mTOz!iv>p88wKXx5NH1~BEE!t52rqLcazFd!nRnwrJ0iE9IPxpKKHDJy%1GrU({BbNRW53$%8U^sG z&|;YTmOZ6?0d!J2ob`zCa%ZFx=eGAE*Qd@B+amOYNN%71CWX#tiY2hTLefy3-_`(gpw&pvNAjM z1diy9(Q*04M29=pxE*M(@8?iFje@a?ss0TzHBf5kJ0N>ddT7y_ZqF244WvOq7jTtz zLJZA?j6(`fXIKlvq^tte`IHd;BICjTJt6<&I{)iNllu=c#G zFnNXf*nEb1Wmvo2k)7y7ePQ3Bb%hU_mxzuQwA^_YJj0sNoEm(X4sgPT&+699R=6Hy z+cYUL{Z?T|_QQ>chr(;#dgzY`B1eJ^YOT?oJ+7!;hqV5+IAynJ02>m8=u1#^CV3v>tu`Sv1;#Uzi;^ta+ zxo68kP~c8LW8x#OuP-kq(j>aE_VbPD(bhyV#7s`c{dcRe-{2fZMNxEPLdZO(bw|RG z$;FQF!D_UXy^}3-nS{7t7nq~b#4eG6pl9DYNjy<969Zlzv`7U4cp{49KtKmmu-tp! zJ?YYbas|L>aN4h_y|$Lr=2_JSs=Y>B(0IuXX{O{M=|+CD9DYbwkrs2SpLgqVQpS{` zksf2)uqTx#ms``$Xs;46rzc!C4SbMpCXn6BvnaGZ3P7y|f;81U_erLpry_Z)%+f|s zxI5->m&ypoLd)YgscMB;71HXSaMh7Z^!HTT;a>N~acRV#l-JKOJso8M?ZkPw#|35^ zyIO*~n!n!4q&{%fcT^?)_7(ISz{uLRe>QuDaf}Ajae)62Lj{*fl)OqZZ=lTdsfsy+ zu{l$4dBW0u=YyH5K|WJJo(G4vEp?qNI?kah^DPkt2}Wm9p~5FeRgt+S*8M3xbH2H2x#0&Od0~&d0XTWy zn5H>MD*MC8;C!rIqSaV{r^Ye0@&$WCgH1>Ur*G%k;x|qt(_n{g9JrA(y{3e1z`b+Q%TdXDIGFsT z3oeBWJn3tmzZjgo6NY1;jgfyP2(*^bMGbhV(^vf!+7y&LZ0v)q!-NY+xMBluAB8)# z>FIB3qS_nmo$A_`?n~@d%YhxU=b23UAzq(=I9nyK06qao_wLS1Zp(Pt+u12z$N!$B zG!L5>QI_|uqL?a`&{45zkbv*O+JO9-vN=y4|1-o1aaGIlwf=bo0jUynl}72~G?h6F z#8Ujl-5~|9ZU4PPFfL`hWaWMqW~D86t-5>a(4mAyUF>NK2!wUf)p^&CR&fF^!gA2e z9Xx^PN`h|P&gi=rSW{+El*@pu%VK_ar>i`&=4jYE-u9+%#L3wL_g(T>N@gZ<_OL9) zej(d=8|MlRxu|Kvh5S&DRt@r*^83~7IJ&;=BXaHhkrw|O?DX|$=qyVz^K~1aN$Y~* z1W4!|4QWp??C1o`8I;hh$pg7q@&aG0M%jkWDPB6ar1HIkI^hovpXsWB zO#r2d-=8OZntWQXAnqXEHTOZEgYnpl$;Z4W+Q-_*yoVt0p)KciGvI^IXTu(|%Fy(1 z5LDaYNY<4h_%`OAu3A?7QZU}`YEw22WXbcI7%DRC3Ml??SGNqesAw4Bfe_y=vohDZ zCi3-ycwoOv_Ts9shLJaWaT!V9cT{*Fn-J(tX-&mjo)vwpk_bL6XFt zg4bCcKm`t5e2rQW$Yk%WetqR*F?OK=zHREWJNCl+YjC$Zj{AJ<#JbhK=K*IM;%LbU zY(+XFL~hGr6MS_kIE%>o9YN?+rq-}o7gJF+yeFBU*aDm+ZwXi>`&XNIr+o&L zFG3Wn76cDZ4dXNNB&OI|pt{ul_;2BYUCfk1>(DUAc`B@6di5Q8d*y%hVuGZ+IX_l6 zJ^U$xwsDI2-DdhFSZCt*n*!D&FgQ#6Wv*EFxA0dLkk@e0=$tcIc>AoqOk?&5MIoZ?@s|`j*)BRs6K2+g;_3 zNE!W*zP%SsLkB?YaHs=oS&s3wMv|9I5dahBFAETTK58~v7#QNvzVA8`tr&z)b}@Y>WJ^a4NfKnGYT| zvt+H5u*iyNc-p_Bn%TY{BhLqY{Hhjw_gF~G|_YRt58sT)-`SZZx%iB6@ zyGyq!*VCPRSHQf0%ZA9DvpsfE@b;4@>2_&(Zg^SCVfPl@n*wWdH%e5|jUbGnvIYj~ z894-Ae`nsIC*qS%b0eaQ9Ws zGISX+tGrZ;@PWK)%E?&<%m#zj-VLHF3L;%SULAEW`kK=FtHz~*URh0aX-o(+`duP~ zLpV#jQnb^N&m=eX*%5P6?LSV+ zYHtuCM=>tZ@Ue8hP5xqreGV|^B*XF?B~XhvO|C;TL^TzD+jVl-37lWx|Cg~1{NIf2 zA5Ek3^ZmcvAV)HPcA!!HsRQ|EmZf`hDRXDr3)ywy`}6YH>V>d&y?9|#4}Czh^@(2w zKm(q&cZAOqWd4uK1&SlkSCZq-SA#3{*QBF!DW99QZ|dDB9!eJh_f^b}k<#FU(X+hW zT0}e;e99UR_0jIHimSM$9#NeVq5HRRiem`GAR(mV;$CE0ZME`t{wGPKIa9=RHJ{g; zc;92{zo4nXqkA)C4S6_e)6)Vz6^+m3o?8oD)(p@p=Epu}R8pGom5sHT!4}+oMY|mh zaVVI{z=tg(5%9%z(G=&IDIIZ41UYRc^pJ>~@LKf4LJ z&x70o#EvM3uc;wR5^wt3<~aHzA%2riGzV)ZH@IMYNxv6Ce{@_#TvD0cA$GyM3)(AG zh8;u@cH>BPD|)FsXU4f1%vyU|=LaigN|q>P0s8GNLwV~D%;8UU~HGTKSE731B@!9&UQlLV- z_x)}g@5Xi((av$i?b;HAMJX7c6-4OX-ByRp(CMq%J2>lm#2$H-lbm| z4SIrvcTl5cWa)Ap+({^|I~r9>lCwxHi05c`97t)V%&ckthdS;taQ`_;xNB*Fo`nP3 zp8h0dZ9(99g)Ss|M{x1=6)m_j6dHI-mGz_rVY;yCi-@hCwXH+y^Y|tF1Y=Givka&9 z@?yp7=9i-Bfzwx+Ls}ifvr2?*9?%1dfkEp1c$Z^4o5YD8YPc`KXUqHF6C`-n(SL1j zMQv7p(_NR-lJrUeMA&RC_KHO9!lh3-f5@=JyiWeSR}z$Q8(mKal!?qQ(=&wZU{lzl zBK@px>}B1Ryv&rfR#XaUAvccXE*F5)Oz_zI!&e!8#wtcUgRJll zzO$hpv`?k*?oX*ZKl88GtBu%p&gd6SG(qpA>uYdyah5RJto`3A#^Xb+Z1}B?p(l|s zcC$E(HK1`X-|$by%WXkzs#yhmU>J9$vEPc4e#C-&9EA^OVf~Se@f~gOt3p+~6$; z1j_osv(WH8rioRU;Iw1=^BdH$mS^@1lI@Q%KyD{TEDBIgs9#qR`NEn1x_Rg51@A*6 zLl>E*LlFL3upXZIH=ZX$_rwG+`WQ4V(qn#kzz2=g&&UPnqxX)QRg>^aO#`sX9>0sE z5bKA^ORqdBrmd~mXQH1{EqW52~x zE5+z|8%PIjbg4~s-~%R?qS;0}iBr-fh(J~u*~?{3G;t=XWT3W}@7fnzvFz6PdfR^( z8T$XQnfv%ev%CMypMLCr(QNh8|Nq&v4Yzj>Z{!iZm$XwQs6FGd8?d$EB>S>CQrU&8 zi@odF^~u15-F@HP9zZ@KKLpF^rkEb$W_2Dew?-c(AMv&@9#nzvhepG9@=Lb7RpN9}41;H=V<9agH6{*__WRIvmQ)q=6%9>1lZ zs6AFZ#{0i7I4>${Um`SdSY7U%B~e~6ACQ=-P6;V|F_~#%iBTxHW?%Vj44Gn}kF(kP zacR)eSH|O1v^ zVDTJVkhDOJYLoKeBq9s$lx4(K=58?IvHu1%O~>qwkpzx9Dye+4BIhFK`J&u; z_m1J0t+d=^E{>g^Gg42mA7!S{7Hq)L4g0Ef*_$(4JcCg+{H>J+S;Z4mhxBbtDdRB7 z7h2V0r$ej^jfMoUuAw%lal=t66MO63BNc{4;<#&DRe>a-%X>+Pxci06@JUYS!{v0} zOa0YKe0^6R{!sp$n@(e@l4Q3JTK5*0m(hh;2C-dZG~UVgm!4(zpKjoZ1c}))y~IU6*ETm^4lVCK`9VUP9F#fP3UPu5q|sNqoqF`zd4LO;jl zR!`=fssFQ@Ip#vjN%?9~%b9`iQVaWjoZxN%MI&Bd+sRmB|1Ic8-*N-x{Qf%xiBREO zJd(LC{7rUo3k&DZHU@i}}`yYsAPO1^#N zB+l&f7et_q zxB?{ad@C1F+hIFQv~q8~x8?}f?;wPK?*PEN@rA)!q=kY!v=VhG60oj#AfBob`l}so z^_tn>*w4^I^%B$jOBzzAKra}RHe4X0+KZR|^!=CXA^#8P`1BVY|1+<8QU7g}{NMf+ z&_|1WPqvhGk{7xyB+6O5*`ibTzy6g<$G;vvu9vhWy8E~#@R!3UfY_zpr>A!fAg!}Z z=RdhpwWi|>SOx+gQmYPDC3MAh+pWmC9PWTWOi+Gvyw6vk+bGM(-AlwSf#Mw}#>5*ID<8hrr zTz0aH6F(MwqT(UGGWe=iXs`2;wGOojJoF4b>LBEIJ^FUcBYEOGrk4eO9*TRu_=J1n z3!w`}BLlOB#qAhw66vsM$mSZn$FK)N%q-6CS>t3UvMpUO$LEC?Lds+CaN8Tm}M4&?v=^rlXwvkmjpXt1t@KMf` zVv)U$KJPjB^GtV=*KPE44Hi$;W5HkkeNCP){h<8(>B(}dwJk(hlmte+w>3Gqf4x=g~}S$3o-tF#4w>pk+k059v7PC)%e>Qh9tB2kZOQ zmAl`D;D2x4^7N{pFD+Ki_@j$H7d8|dI8)$p;d9bfC|CHhW`0?&e?5qeATnEc=S&ib z%jaD5B)H4YK``Q-PKNQixBcaF4nO!P%WcsByzmV@t6_}J-1qK$ufQv`rr1>^o5i@* z+A1^pz}5N9QlyU@7FKC2D$FX)J#@pR%BX?W0p<|qqOCbY6Z7UT;ZhT`(BG3Sp8#P_ zyzp}68VB3Tm9|F!+Tgrx$(SThwATIG?unGU=pZ}rOIY0il?h9yCR5Wy&d^FIH*Y4K zE%l#3xAmwW=Cs#7wqo~3i9{g%H!iK|Y$4|o7+V6#fdg8FlW)jifYA2f`*uq9XPwdpY*SxwteK*7|@W*un zOWwqe8jK&Pl?cI=4dg+V+ZP3yb7Aqp;uL*vFEA74dqE+@#3n{E2tP-|MVDZs|G zlS$@-nHY|C-k4`7Mi*Vq*HCC)Jnsm7;YaK~&ZSLzAo2Dkux!auEL&|AhG$%HnEU%K z&gjpD9EEU$@}wRCx+nk!*>powyp;3~`S61_@pJ_a24l;2wTf&p-=0oFhSvp?9)rUP z$$N(vwpOSjsgT+Of-*DEG1Ae34Wz~ZjLW!<#4uiOwU>M}fBQzR?es#gdZ?Pi!{f5C z+n&uZvR>`>%h`*@Lf2>~HoC%8>HAcT@7khthjC&vVIX>~IgrUjB@mK>4G!+?UtIkE z@b&$pTKx6($^FOI=SKV4X!)sH{F{~Ysaka59d#|XUBg)7c|7@sFUsmveX6*iFR?R! zBfM2V@8kjefWysI&OtsSFJC@09yXp|oz_5eUQi$1ix&%0qL!$u%eHUg)p%lG$GEM% zGcI`A{tfCoRN{KM;6{vGIV`IzBV4~Y0b!8w zb$K$mrh1T>y+pLg2AI~wq0QSY0d1W>$2S}@e1)@G)Ni>xsXkJQP`f2{UZUj& z*5a*{YL3@hSugR4M(G=|l^ELKTWWG*O+EtY{r(8{snG)~mfa$GUg5hDLOD5Fehg0g zxfcax1QVn8Z}q7}c8p9A)Z|*D5On$F=_lBkkCW@Xa72t0QGG ze2oS~G^KlID6^3pJYgi&{n$ftv-T){`hDhZ>@I^Z@a>PU9AyjH0JuLMQeV)!zG~7_ z5Z#Bha2zo1UZXO}hacZ&<#Bcu!wM~CGK~shEbk)?w3(mLGBM`EU$ttE7rJ2anOAep zZpU4Jw!>9fe?!_tTPpMG#*UstetS}+7prPs$s|}=Y=#nCeuLa@Gi~KJmXYy3ct3m` zKSo7=@5J>Ev-}qQ5MJj)!gS~}7y;<7Xy>;b%I+Kk{ptx1BQgxJFq8^WjC4!ZmEX?r zqrX`UZkTwCeB0?@$^(wdR2z#ge46S8_Jlcz+=%N(%a6zsg80q`y*H0gJW%PBDfZB_7WJXe z(zSSXdvS2I>2D`Dswu0)`;DGPv!cf`@y(4M9Richf2P#(W8}CcoPOC6662K7 zsZ{3@QyB)rhvL$r;dH;pQd^~^qwPX}EG5y&KL=XJ(tj34FJf+Y$7i&8q0zvpnqw>~(kYU-d zj|b=Lca}(<+kS!x0#vp>F`HZ%D3vdc1&Y>B`XwV$x;JNNDUreVey674a@)Ng$e$*Zt-63 zKF(L!T{cqmk;hF^o#e?`ujvQhPxH!;Taf!t`^r=FQ)V`dha@EU7UoDubJKN^Ad#nWW*%O{)SH;rDZ4~ zNcO!OYDqauX0pA&fWkSIAC$m-aVX#X+0VSLM*cG|fvJh89YVSFQ0@;Y#xX;LB9{&c zxbMHfr^@+_(bE?#*x8uWcdoNL@uOpz}%W-b?vOu?_E))1mG3afe{9kpqJ4npl4EGGWQyqiQsG#xCXrTiP%X zn9V>LjW{MmY6IThZPA4fF8E@xkM0kvk!0R`sICom&`Cn4-ss7cU}`+;H34BIG=OyL zRXaK4MyQ1nAUBxaW;E9z32j0|Y!`Tbhubz1eU>)-$BGI586S1TJS=IE#7{rQ>1uW@0+R9b%4T;m?pwC=9Oh}eLO?2eC$cb-*g zmQAIr_IL~1iW!g6j8|2Q`}?rbCnvfyV3h%465-V?Hlu)cm~P;x{yXUCD`}(Y_g3nd zqewc-5JScx2aYSbqf5s9o{#FHpMLLtHj|popNX6`0hg<6?YsD!M>Ckr(Bn8#TMN&( zl0H9OI?-B!2|)m;bL)efb?qmYzwlzz~w3dl0CdBW3i6u?WVYGpnsbki6hn20_9NAL&#?87)T19!$jM#t; zfhk0z24Iu5m5|b#y%<&K+df!jD7nom5aLVjj>dw{q!~ef8M07axl7_phe=7H39T1? z#s{FZlV$<-r&^{?S5rqBne)SZQAzntzquU-)LRBnVq2rOw=_-1?^m&|zH? zcM-L5wFlo0S?4BW<^`1eIb=Z2Z3eAYh-m(+yp$i$)SL#kYHuu?BT&%Kdu7Qg2Y~{t zgY3-1)>UQFyTmghJ{$yB-rZ>EHVuVFFy5FJG{`#7qPkwl{?W1GCtO{S{;@j935;%U zSvs$y2r_xSN7$ReP$mQM-3Ajn1r4$}sFUJ%I>~$2oF~TzG|Pn7eKq*WZ2GnIbY`_C46+f4ASP9V}VM(L`$_jm~XF zz@KQrL~lyy&}GdZT{R(+awR9#v#Kk01e73-rR9qF+Xon(I^M+VKgnA8O*4bZYd42k z;lKPpb8q=4s{Q-@_xrW@zjN<@_?_S1oK@w{&uiAttssJ2d$H{6;Pxab`mIY{P;t`> z#aYz}?>d+0r;9n_F8&tu<^E{=w5Iwq?+$kRAp260Oati;vmr0HirX+;VHHUry`$0TEb@^sbL$Q zCy}__I0|k;TX~!c`xpXJI4v{{df3Odfo>BR18}+T0m>y-|2yvF#Ntm~HB zeb>pc=$frC3>R&!s%9k2&>Bbv;f>M(-a4BYkm+@iM)Cn2g|`Zz4UsSa4H*Urdjsx@7nThlquD@vf^YdX(LOBakARzuaZl) zUCfIU2B3bt%C-nP*v`1m`1}ulzMH(xS5UuFyScIgFA9nA14{?FHtRkh=zZ|x3S#Fu zSe~sWrA2iP+mRX_{?OH6oSQ~jM$)kujG;VdTiQ`TDQ*`35h`+QdV;Uuj%vPWy**Bs z7UG1BQi!71xreUaNTl}frAScDV}^lH*q*ey>2P7S=%2CIzI<+0pZgi?orO>6W{tKN zpU#xJ=E0ESb)=5``430D`$gMAPs!U$CbnM-wa&Sr4*^J==Xu^>E}%cIJct_N7r-lP z?Wnu@0WJp5H8}vAyVKCigty^9^=GnhQ*%f8bhVZDZYP4baf412S!Tc^SYZ%s#6#1q zz1dQ7L88Ysdt{o&{26a>t|a$>EP_k_M^vJ0Lwd z%u^0uNH=SlSa$py3*J zj8?&qbWJ`f1(`#K*xZ3kIavt@YuHU}m&r*vjzcoC+ zpcuZRC;Y+!$SzWwpI5K3Nu;17O~i3_$f(>iABaU6agCSh5smcDwr#u2HN+YiWtx|% zy;NgU-~vXGJ+XkfP#4DferIfyKg@J|2mR3egA6*zA0ykMH;G*Z>$Msu++-C6Q>A#S z`)6Hby#!wNRkqb4<-O30fK$?rpnSc-76!K$sx})F2+&X-^cq14=4C+uzGV2FI0aXE zfS82-gKY0}W#FjnBx9$p^Hkq!*C2r$Il?~K3=u>M-oaxDP5tZeA6$!sr`17S>u<)U zYs*lD(7Sx?P3|jDjp%t8eRldJ>1cx3hpu>&+4#Irl=ywchrKnK?$1&TuHdok-0oTh zF3TP++|$pr9G2HeKjG|DWrEs#lN&$?m`*$D@c(6K)&B!#C4auh|0lmS=x^tQ zkKOz~Nk;HCO-EX9(7Vtz4bm@ko1U58YMr7FX)EAk;P7;rCfP zm#W>b(~#BJG5_ecRC}PatUa=?8;RN#0H(}6&TaWFe1ho`jn-D20)?MBU!aSG~rUwD} zm|HZi7|!E{A30R8C>9QJ-N#MTIe-p#OEs$J;q!m*OKa)izsm&M1l}~)ScDEKJ{}Nl z0?qB|k~VB@MEJ`}wSDk3`|;53nOW|BBcOyfVS>1GIh8UOCr}9_XSaLplU+^w1In8n zI}7-=l?0FyzS|^$J*IK?S#!08UDL_zIh zz{XIdT}&;!I-Az;;#GU&^%0K;3jBK>JI+UU>i_g*uicG?nV5Ejqil=#G6e18k@>np zrlwDRvFC!r&!xUWe-3Yy;G9ezT}@sDQL^AOw#hnNMX#8?m+EmPa$WSi!@aZ#gDO!u z;q8GTt_ET?D*rUBQQ`b$vu_Gw2Lj&_oYX1bR5r0_6UrFWz`?y*4x>G}j#oumy?#w; z)pnnJGD%7QowwR*1;cY$dPyE_DThmE_tySux4aDuzLyR+}k zd%ExGuCB8_t$KdIs5!?RLf=I70e6M4YlBw6!u(US*3$-U`r zXRH%Whj}?Cq$lkN+FdHy(#w1%YU$MqMeV8;dg>H{g0)_q(v(97AG$_xdE27U1t46A z-1Z|EE9=CGb$&AZNU!149s>SGLj;gNY7lf$6VI`^g)!NNRV zG8JP2MNNBOG=x(0|J;z%Q6L1&nY8XUWl2pR+aeY#Xi&tXscG0m>Et{fq?|nR1(}H0L zM|-9N#DmIE_NNIvv!92`g5^G{hib3|^Myw=vypoUz>3}QYPv)mh4!=y`^H4@rIj%L zRX^l!y!sJ}XUi61-ape7KG0ii6A|ObK79>x-Qy~Dhn6o3m|KM{phI&Z_{xT^Ti5{8 z8hY{&NXAK)+>HQ4x^Uv zn5PTNp)5{J=dB8w@+apkBp{WEvMOpqgdw<(d}ZF8YZ zTre9U9w4t9iPgW%@d?^;DWJ5P$%hr2ULN!lREE;cIFmMrfne*DBnTmJK{D&<)&#k} z)kM94!j59FWd;$gFF7a1$=PELFkttSZ`XVn47{#C>1 z_gdItG9Zr>`qj8I5$=a6;sO8V)EAWxu6wZp!QmxN_{ablk3?I7WuCAIF|v)!TfCb^&cVVx{8rnot=wYDTJ&Eq?ndrM^BP+}UO_>Bg+;Ll z7ZW%de*zom7Juru-LGD`k&6p0p?JpGI$2(YO3@ESCX@8zr#@K~SN~VjK~+)pL0?MyQy-wPh=K#hY2E zfOu{_Kg7wo73L1B!_wc>M$gK^6&uE1aD99#VdR$eNcrpgH7c@G>33VRhRf7qA#xQw z9n|N_x|KVx?R0^B!go#!SZ{)xB9YZCU>Lgm+O0(t8jhqca7q~6cu?GNdHQ9bC~3iS zvXKrGBW?MH@AWr8;D`1EmaNIXzK>_LQfl=M|FCD&jx-4Ucp<=r$K3nE#BCF8VW`;h zFr|@=UFPoerfsvfUEbGSlzpA}C!amjon4M|hSL?Zb6ma{Nx|!R^nbl1dHle3ybRLrs&Hdo2YW!=j3f({ex3?{}-qJ;r!P??^pk3 zzyi5Iac3lX#7ym$BRQy{mS7dkQV>)1-u&MDjvxuAXG`wrp(0V;t?38kQg#aL3AQ*9 z15pi86YrmmDlag;IzZf=&jaZl*n8RC%zN1r`TO{L&x2>h&(Y1QJwl1}tx@T-4YP+y zJAa&8PF+P0sJrSrn)fofvC`m8*$Y8|!s;=rF!gxRkt^u4C4wc?fLKHiu&M7*J5wEq zlaQrln=pkFPaRAZ(4w}NW3tea5YOvNlOXK6;WPI5rEi-X2KaWrJC)g*nufi-!KlZ1 z&1Lt^$=xfwKAH*ccW;YZN56gtl!pT1EN~e9Y3=)=g0V}{(yr=pS|S$kRaI&!sA#O? zSv3Q0)tGkrsjR#1^XmERBp+)u>Bl{dU;%-qVA+Zokz>C{&CddNi|}I=&omwBjDtG1 zpX0Tq6>O>jJI!8iRykT*G{BcjAt&%uCb-W77~{3U`8U#|ph_nNh+XDt2WPT}L`*g? z3VE(EGvu0cDi_Xt(a;3ei@MOry~hXbzJB5~Q}?_H$r1J}*Z9zAjY1kL^Uy`%aq4LF z58l@j>}?mr65;AD)CBc8Y?qR}2qpx*ys|E-tC$4C#I9ivH~YSkE#)IyWUAu@3li=3}UImigi?{Zg_EmOV^n1T#a5&B5l71MdQFTkk4*z9El` z-&-EWFrJ%LK@nKhR)27CG+2)Wg?8T!`~@u7+UWG3=%W=I{o2v_bOh#vt6UdgZ*Gd#nW1 z5rMYaC|$z(y>P5$iZ-E#=;9O;=q1!MaA(OUdz|vzS(eJF+bR)GBTeyQAI!Sz0wSo;N34n|_MkT8AUm43)A<>sH4-qW9vOM=W=&kTYsu z)xMHF=}<*?4qdKDDW}F}tZ?6}7LqB=V(=^uN&ohXd5cI;snNH6uvk#x-;plW(}*4A{!*PWI4wfKsPO*CF)IWUsWGm8tzY#@u^htZ_O_wHyW$kyKZoHu z)+cvRZClE$yN|ZCfM>soxy*v2SAIdq!s#3HbU~>w-;K-qrYvYrHssq?Gv`^oW^ci?(r5(UU1)<~W2UZ62*S6QKHtpKd7r~Pb1+D2n6 zq@JIdxyjCZ`8}a9;)j4f>x0T&A4Zm)?ydK)4Hc|ILI{$}m<(46ev6)1{NqOh_bUlG zFp7jgQi-R_o*Golkk61kkY|$9h67*@uaBx4gsr+z3d(yOzWKk&VI ztNRS^PrP1D7P$7Cj+A_!*=mRHi#juHOs|uNpjhx=P3Q`-tbG2#K9>KW1HlKqv*7%H z|Ee!7NF@gt0{Ip|d>Gs;YyREKGuxCmkKaA#l8c(nSXD1qIhqApL|FG0yVmmuR=)IuZ$rtAg3q3Dl%O! z-Zg_NwfGi!Yc`v+Civ>h*yn0s%)#IeXT;k{QM5zOK?AU;JEK;m7c8ZFl6s=|%^)Ua zL#cXP$5$-v&5}Ro7sAcGB~0FYn+Z!|7h%oC<#RL~yFDO=Ozj?(fT)NZiq4l3>8CRg zkDv0o`5GCVkcd~F#g@PMe(R#ak^EvHa9S014)7FgWpzS9|MAkxOEvOncI3_sd~kpu zV~suMeO3V$)8jMp1`($M8PsfOHL1(2H@JMQh0^KiCOm7vc)TX|^w)m%Tk0TPdcH9W z4dGx=?hI6hYToH)zNY1#a%>uLwm|^F2prF3IGqEbGpNHQ`xKv}nMD@BP=Ch0qNV4H zBtO>eO8mO;8aB7r?Y> z{nXd7A}eaH=qeeAOU?MPugO0+eu!NYNgGNt*kB=tqoyNYje55lWbYBD>a_eW^5dCZry}fm!~4tc@h}#u_&kHD3e!i~`>*(XwlI zTDId2&GYYKdP;-Pa}163JP+P%ZEW}NE)E&3M|7~rW(EiqImn<)KiuihTh0+O--s%K z`(!_40s^a}7*pw3X;{24m5Y?J3vKvjEOvy874iD)tp&VQT0LH@z>Q>YJk_r0%lBz( zWQ)Z0-*|N*I%c@tm|?t+nxKr=9jmPl8{;+~)?R3&8Z?dBOl_Ls%3MdYcXF3;~^KUkgzS7vEt{o zW+Lkx!m@rPBq3t!Wr?}agcN994w7UHvp4de^}|cVhR*fIP}%BxHjKdn`+BfY~L=y{f6o0kRHKB5gS4ip1~{8 ze2P1(??T5?&yJIHrY@WBs+@bTTRFB;S=6ga9V6pHuzYpPPDH4i4H(sZuYWywPjIK1 zJwtRBH}tkYlvY8R!S=h>-2f)l=gN20JKf*9F1$HEdido3 zD(XH2-*+D%*AJ&*b6_9%P6+fsR9y{WDzG^ly1N!qNrkul(8>V9Xqu*b6^fhSjcMZb10Ih7sTWqBq^^G`rs zO}i0bj2&YG-MJIWap?*EOi-hgy~Jhme&;_7Kd2vfw*>pxNZMi1-mUjM#MLKmL?y!F z&O@qQUxmsu`wF{gj-F)njm14r&NU@|Vu4R^2jPbv?}1~OnsJSiocuC3Rx1ow3(Q;S z>w5QhN=`5N0w6G@jg-F0Sb^E`67GZUTn#L{2)3K5(H&!nO4wIoE0#RhO?)tKu;#|k8{lfYW zFAkz|gT}^7SM+(o*D?XqE-O)2KU-ar*W!d@H^KbF?`xUSv6Oyab4U%+!jxQ}eCuNI zSVZh~4+)3dLa4P2WPuxP(p1^h(pM-m6k8>(bfk`L{$Y(v7pCl{?31)&=6Ah@r?)KT%%>KrKr?p>tfY z;}(xHiq6VY=-CZml?RVKIEHQ&B-ABNk76ZokvykH5AgjY>-qg=elVNxVp&sj zL@3d%i4%?Az@?rDtP>jDztY3Oj}&J4>pp)Y3-jws3P-I(Ck@+<@A zW~8yO@{_BKmcClEc$} zi?S8^^HcAdGbtLVs^Kq=n*0YGl>xmc{2NETzQ>CCm#2c*#izeBDD~~GTl7AC%{ksn z^!5gdzw8|QWycmE>VX8Ly9;~?T`(Mny|KCIZqV@|Jm3N2O9ZH&vcK0p{N2A-A1L1| z--jP!Kp_izH@;67$`4wC{n{-gJb3j7<)b#%#Rk-i+PP z(LU7lGF(m>6UM(dq5!~VsKh-fTb++wy^k+QGhS7suVR9?aBAYR;vzoaeF*2w-Cuh1 zF+DzOrbL5GK7!Vt3EE9=e(Bp=$4%~|EYvK_v$K+F70eeCy4|6hy!TBuFWWpdEpiry zzx2;(?KJ?0#I&=cxR(b0xJOnxL>ot)Jd_Lde`- z{dmRXVboH)y}D1TrB{_cG^`7B+g8~28fIj*2lgyeHsUrqvfY9j$IUum;cnn3Fy zU!Xw(MG;w=v7xg#bf?Mz8ijx(G|~7wio)^zib{K2j&Jqvl0hE>_;{ofC4;ZjkLldq zyYXoqS>e_K`ptYzas4GfvT}wQtiUHbYwxakywDZlw`mvS$wuP({o99r@Uj=}LIHTY z5~@*gkbVh?m7ht~yvQe8fX{qdfYZDhqJ0EQnHPgkLV%e10HAyb@7?9W12E~6p%FQa z-M<+Qw|MNpVefcT!V+31;d?J1==ad!;(uxK_d^Qnv|(Lmfbm!XOhYQgEIJFYTv|+N zs$5hr8X_asR#ZleX*rm<{*r;oCv-brs{ex^O6Q>MT0nXCc;JKf33n{Fpg^z~_zvjW z9iC;K)GMRM>R+vbZ)*46yI}}A5$p{Fj_fw{uTq_?#Fqb}%Bmgxtx^O1UEX`PiDPJ- z`5P5F3p6dPNw~G1?RDu=f1>8^n%csa^IfT{QNBRpL&FVcckIilP}ecIn>HLIvI}QZ zK=#sF-IwJHEwnx$MIw7H?);;Z+ZX9BKt?LwfKxj`NWzJ~G=FNULRF!}vW!kTB9I&# z(Vf;#SLeMiOn*8^04x)UNyzVPiCwgPv}wFXKS*i3)&pOZW^0|^3(HJaXXAdD00nL`Y#t6(jKgy)m4xM&m-n+4@Q+=U z;p(l6$qkR|Qs2c^Osxp)$62f+jNYy6MWh_R1+!DdCUQL-L%@S5@N9^plDusy| zn8brOnPDSAbaVaA*7JO%k@&#;LU-*WfD?Yj_jdEC?9JvWv_(qw)HcFnr649P8b!Tw ztM%T>;W)+7JEoIb71PZ@)Hq-J?{;vAw^1DnR($<-p*K;B%Hrsr6+ToOZbz7jE6GZm z&a~rX4tOaQ`+;enZly(Idd#Wbm3dN~b5~Xd`%0S<-|^I*um_R-n8?E9y%X$R*p<@j za>L;g38ZF4XPEZlM31DIeg1{EZ2uQ+|6w}`LGLyHM%%yF=Bo`3Fp6737R8aoE{k4pi%r3u5z9Z|gZ==RfK`jx55pXfuTWrez&RGleQo=T z>|n5{U=l9qvpqoJL>vURAPqK1s2q9ZYjWuBT8kMXn3iKgZV)eeu`iOr_4X*}(I zesz7Y!hK)ZbWlFpe0GnZ4Rq7)g%z`(1YP$?q2qqZhR#;t4O+8}Fmfkhg0})GSO1tb zYVr?5i#RE!+!&xHT2g@vR^qr5+ZI9ReEHzJ`7ykjxxW|AeKsV2wsLf>kVe+g`~n^F zr-T$Ia&aYxx5tn+{XTn@gCRjAfrD@F>nAGi@WhPglk%%Gl-CLc^k&IQRst(T!`4AP z?}s^0{28+}%;b)&?5|UJ)4HRMmCQ9;z{yKAHwvW|hsa)c#O{^xOt0T_LG-G4))Z?g z!y~o>8if2JS?UDxHR;S1z#*ar{FoAM zSr@l4l3F2Lky}Rp1uHvMogO^k&;gdAhbznbKxP=CfiEEZnWE=V?BM^+*H0(ir!68ieFE7$-Q z#qA5B%);Kmp&VCKnDlmn{$-ug6K+WrA&f@hTLW<}Ao!`(A%>4gBA_N(69;Y{VaYQZ zT)$`yb)G^WBfOIYLYeN%qCHl0rW0=$bY2ZTrxn8cv&S#jjg@-nr|F?Iv?^#}=6YJK zC5;jCdnkb~5(ZyS>y4a_o^yr$08O6~JP=c|uaG=SJ{rxlabO|&dNaFqL`K0n^G3Im zU(>#q&8}b5YxE9u-&wm0O$s(REiC?KNhU&7v^NzVD#PurRZ+a=aapZjF~n6`;wag# zf5!gRDFZghI!@o$7y;WQV}v-{3=hkr>C}}s*G6>57G>0sq}zNM(5=T=JH5&h;42a_1iq zyA_}Nte&ahq!V$}yqe$ix&FSKYOukoO@$k#CN1qTwghqEI&w#MAzR<_B^H-rynf;J z^wV>hsyTul!oCcqr+hUgX=enMcs)D2`6Q3gTDk)prj+yP^n~R}T#s8?(zAVzmsfJ> zefnDx;4_JPT>;5+N%B?KO|)_f8+sN z-^J%S`ulw%#o+=LbbGr>H(o0NbP;p{00c&rN+=iukEz?;M{W^`6Z%x8y$gRo#E(a~ ztnti6XnQ(5VEh3YsQqMy-1PI?8#LI#ru$w3@QP?bM|`&a)*bgW+sQS05u7`+01D*@ z8i-{d!B=PI?&$Tcmzb>20{5a`W&)a@B%#rO>Fdhw1EqAh!Qw0(PYH@6J07Z8@&s`2 zBtEJb{KZ1=j?slo&L@Ca1VO;O&11zjw};imfMPm=H?sx8nH<=8>A^W0ulDHrlT>$j z)dL(%Az;uBVqV&7wVoCgCkwFZ*2?E@;-c%dD9bLS6hO*R4ZUWdc)#PEw044sp_$5E zp2y-qp>22)b$qAJ=A2T1=w_7l{7Lb=$%C;|>lJvM@+D)jX$|}1Xu)BA|K=vKixYsu z+vL8Ll%0$(^1Z{mjK5wad(m4|JsS+SMf5puIUFVG`rDIBi%a}ziC5#)AYaTJjor+g zewd!R&?gjD;=4=ax-Yw6YB{sF;t;&1{XP z-7VF^DI$%idO{646BV6?=~_Qjc@!{=Di6By9?=vtkH#8yDstz{ESL)$9c@aS{uel7dWHU{aX z&CcwomzjWJ5tRz{Bs}=1Na8}|A)3)#YpHjH>xm+E_bwVw-&~_ri(fp%Nh?*^*YR{ByEbifj8hIKCG$ur>ThW zkLgbIHEY8hRnF#bOrl>-n)Oc-w}QKWxP3N#TAbT;uHOpZCHuAzVOvn>yLV;Jed(?u za?pr(_s;VgIcS3Cr=??B(RurJ?RrYjueIU%o+L~Vgy=p=p$J$e@ZP)QwIKJ`WcqP_ zu0&2cXaihhb5uw8SOy|ps0=Ir7DG^(!s6+9gX}tA5u$5m$n2VA{eCMgWY+V~=Kiyb}*3NIQ1XDG2hA9ktRrUEi0#* z1A8V~G<+W2t9ucAp54%B*d^jQ=cRhmqMWd}@}uXEKT|bfw&E*{W9l8hNCG`v3hrg& z@9Vryw;=-uNK#~GftAME^@aK#o!8j|y)9sX@`bRVG()iRP?+_FdyH>j2)3#c4G`@( z=Px1pkakc;NAn{?Nd&CBYcJS?gWDh@UcYM^%hrubYlF4h^O{ECdJ{N0I1)K-V7V1f z5ZBIR1AHjf)|R}S)PXwklw+;MW+0l1_$nU9bikAy%LTa{j~gQ0IT3O>Fg3e!p%?S^ zMmFEdkA!i_U#P%dlTTiYgpaH5+T?#;LK2yq1Ag`W!@3Eo08QKdA=(67`*V5I(iXmF zz9`d1DHJKm0%Amh0Ic_1>gj%m$-_hjMYEldlD7n8CND{DLI;m{J5~OdP3s;+`SKx6 z?|AOk#6`>e>#-yO%Ns`kitNoIY_qnUydd+1yby=i!LepK?^^85@<>#;t8 zolnN5ipxTbm(hV}C4$|+Zrb_kgKfZSX}tSE(=~~@dD)Zej|g3>T&t6o`usr!?0s-G zhAD8Mpl;`ZdGgJ7M07Ie?PB+5c1e+iQsS`-9H2r7ktolSr5eS#E!_} zemERI^s<=7G>N(2PUJh9R*}}1aVvFX=(FTaIV6Qr3Z3Z>kj<&X0lY4x4Pk$og_ad@ zs6M$AH4p4a^N@M#fSAY@XO&K=saJ04Cc>2Qi+mbTmDArF!F<@4t{rxuY^q47CC1yq z8O!wGI?R|+AOvy*w8GA?2dMn$K2Ke0Ln3Xz3Bq-Y~}Z1je2;z^og6E;`I@xA1T7T6*joB zkCxi~Q)0S1qGh8+0|$dz2{JN{&?nd)(O9mSYD`f9)Ju@pQpuQq-0iZ_Y7uzko`D0R zAwt|z?%nCG7WtR{m!1|x6(bt@tP}m7aa){|bNYUcaBnCyxiy};PIuroc4aQ=_2rM?N&bMeyOfOVL+Mnjv>_JGx5@V zhkpU{Zg%<`^tbwA?7jSk^|AVK;2{A3wu5h7Mqe6;Qzx?bCZKG0^!$NlrY8V^G(x06 z%W)hBQ>Kv?t}tHzLyuo84IXGK&4sSyflZ1=$pxXzUQ9k9Ss5ZM}`GY^D$vBnraA%F8PMa1FlFyxF zpnR(JEzh1=3tzsAfKA|SHUrVe!bOeS3XAR#wDYLv@A`^uOl9ReK5$#dRRKc&2-3*fzd0-^^|DCIAe%Gx7N=#+qr3JT#PaO@C8Ix zYsC0fG#T*FYnEd_WW3^M(E~=Zhl31NO)PCmKhf~@CCPHx>d0WITHNimKj}eCOc)0r zBn_mcf|cS?+eWi|)rlpa_pW{Nfxio3$&7jul^tQ7*Mj0cW(2Eeb6Hd`h`IIcrj zlx@)R_*C@`H~eR%8v~Bm8l>rWVoy@FOKczJTP9@ul3fOALZcSkyUJ+cWA-f8SW5^f zGe0>=J1p;{MCxH&B-8zp&GytFV?uAz5qF#4n>EB%jl?LdY({K9e%}#a=#|$l=<0sj zGjV%{FstSLz1}4tmwkq~_!;W7g6gsx+H2@sUW%Y%jT_K7w*%>jb!HPcebd+QYb?cp zSgtgvUKFKPh*<|C;{JdpnH*)kv#FnO@_*3g(`&hiTz`c*bh!KZ5SJf*14&vFg5@Pe2ZJO$qMJeFP8b zPzIt6^|6a^%MxW1L-s?XfZ>CqP6F+CH-P@N+!wxh92nk0{wOaa_HC;LMKn1^CzoM% z?S;{PztOuO_cAu=k#LS3 zS)@IirulFW?ag{nK)R0ZwDXrrXE{EX692nN``s)P_H^}p`UND}(a-NPTA%pNI{PXB z%UX;)L%wlY&9SJ@66_fBE-oo<4=|`CF`E-r?X5CrFmhG2qway#XKe2TM3#m}$rDuM zdjDWs(*MLZf`89)|89a5kOuW>KgA>aL~-W<(YKEIOD+G|eYO5ha{r~1Bn0D)0TfMD6Y;u#Vd6D?g0C<9-4)Lp=Fhm;GwJ6v34~rlU*u?fx*5qJm@) zL;4cJIcf-8bp!&(8r3~Cf@`*`NH4D@e&~A}PAdNij%b2bvR^yoLUO6y8G1^a($4W- z2Kx@A$*R7`JWr@W(zIWxGJUBm^wDbCO~`m7!&`ryYmZ zMgO(2^}(QWhKG|iE6P%L0g*Rn@3cx>WaVw_^^iSl65keONJ#O-JW2|+-PmK{HJg!U zmA;tn?xvF@^JtB@^Qu%9>Qc%yUB4q|506=u@IKUgRbjAyZTC_>OJ@4aV;=uolMq;* z!5opXs!gJwg`G1aGWV13oo#DN^|2t9xrNc2kgT?76X~pKyC1BI9x2lU59cM1EBbv` zj~Zt=Dt~acjf<8=3@6+uO{q??^qpe|f5!vMm9y2m6dM?ouDWw0v>p}`&^GvOdQu!p zPZ_y3O?J%zktwj4plf>r|2r=C$z6mIm2M(doU>>pO`soU(j&JU3$v)2UsWi&v z0AWhI_5?XXfvIeGNXaxyu4VUBI#rKJY-8@*e935RO|+K>EkK`$N%qD|7X>4&%#cBI z9n#yHHIX?93o5?13-rEC2{1t33KqF$`h;r9;_@NWwJ}gR>pQZRH}RAe zyY^tAwN@kCv1Xabp6V+^WBDZ6Mrp8=SQ**&HH?X?tD-YKBE1r2h@}{8o#hYHC%1b|- z3BA+31B`MLd*Qt&sg>I&rBji|=U^w8Z){<}pYy-;jQPe80MbRT>E zc>zTgyv3dT?b+CUgj{cbgFS<7>E=f{>0ajQ;Q{;61hC?T@3sb5b{6shH>`KYk^pvM z-(x#4FZuM4PRC0JOmQ=}hVUj;|8(^LtGrBjP?8y<&Ro=!^?q$PdS{!bMB)_XBdNVA z;xiEjJd>Fir090idIOb&+6&$uN~QX}q)ixD`vv&o{6(TIxK~0>CFaTU_`yDg>kCJV z#4^0kcYhoaq4Fkyp+wIbUI5MPMuUBc*6piK+aYhV*!u|dfKcqEBm$-wfai9IsFW1O zbXhi6(7A%#{}#)8P6A5oPRJ{oyW;}$+$Na($H0qpcpPquMi<@M$!Bq})FXT^oJbT@ z*w=x#PA>e2pbk7c6wT{unI6Tu7qwS4iVrNu0*M8s6u=hzWJh$6W^iK`9 z9g3|e8}&XQejj$W0+m@s`tj!D9pn5mG?JTHNH{Z7Wbg(AK8w=s;^}uA_7y;3@{0UP#9dTZ(hSvvX z2d}QEXku6{P!+7^Gv~8AD8tI}{23vm8(+fHw`c1B3}j?j7bdpLn6aZtbhh|STRbu6 zALtW)q|iS^@TRe(NFY?Z`DaV_$)qKN-YB%O%!opB_2u>k&xootx0mEDtzkL&hu@bS zytbdDzV@=~Wc?Q`li5f!FjaqQKk2ETaph9cszPRuv4sCIBAu}o{zP2ye8DWoYTm}_ z?ZrJ*_*9wSQcYgB!eG3cZdY$cj{GWJ4~olISJ0Y&k=DW-0gn}ucXdUiW{e%Nx!&q$ zeelofh~l4qS+9LDZ@#|TX!$DpH9%rgAxr!#zpU9V9TdDTl9$oY@}(A3CV@;{1;)CV zDo$i6BuL8GdESv{03&NG8|-OAIAy1G*mIxAn0}E{gT3~);;vFI)r+!=$ozo z)p$=kTUp75Jfs2>?~WcDep!6B75@8M41+9EtTgh>p}swiX}t%s_oBhIf^KN7`{eol z3wq9QSDl5jX6Yk=cOi_xJ!9I>ayjx3(Fd0`;guy;Mw_^89Sm6%S5f?M_9KXSDroQ{ zDm7P3;rIZJY%A47pdZ95`(VWl^z1r6nHK7PB;D+o$qWvvo1$cmiSdU;()S6RD;&`$ z@Ma0%fCn5yi7qrU$#&P5y!wJ!+(&jR-;l@ z|J5^gg%du#PBn)z^=h&c;P&QvLQRL-loPiCh1$43RnIpy8-sEgC9^afy=LFG?Hd2+o zLpV_xOzHJKb?Hz_s5cq6;b`+n{a95R%le(B7Ev|N@Kl0|ky0bP(V3Y_4RP>fL7Z% z8&j_*UIZ77?A%+M6OifnhP?zf1!XB(<#NczF3X2#map2$#~sYg@?+8y17HSpdJR2C z0e+lr3T=^05i;RXM!+dh9^DZF0b|&+ygk`fnMPiS8p0?kPAJF#f^M{MNu|zV(Y-;J zHab;x&hN22m~ER)j0aY7+mA;l+Yo~(+6H~<-QQ{3B;ifY)T$kY?1v0DG?23iKH--{ zkARSNp(5Vf_|01w;(40)Is+Gs=Z`DiIM#7(du}qRvpEA8N1}a31Nym2p z2%JKV#6XbT_ZwAC%mz9?ps-!CxBG>!l8XSWRxdNx7q_iI`Jnud(b&|41TKggwh+CF z^w=hdU=XACycK4>VQY12BBR7~9Ulu@TDk3aF&(_k@2^2W3`JUE`?x)}M5$F#LNtq~ zE%rOQ4$PJf2m;8Sic`%de6Cvz0ti!KCECQ630eU6iP!FC7QAR+bjWu?b0&1l&q`5 z!!?YK3@71%&_v&06jcEAyVN*~YFHHj*EBU+1g# z9uVrNJ!eVj*y6RdG>ry!74M!hPqC=FUoI?O$!dvdu}s@BG6R&AJ>ytCcL*iD7Rb8G zAODOxjpiG^cQcp6l|jd`)a^)w$rBGI$Go93=<&1lO@SGG79$^9ZBA4L@=K;ZCYRIqFVpg97r%X-rTf6R$bSnRY z{$y-^Oj)#v%2ajaX-=txxm2hue^jBIo*HpWJZ}P8oZ&81me7mB#xr3wPimh^pCIz^ z^DK=FrXGgFU?J?5in{#>zisewZ~-N09;%J z%oexGx=9w5kZx#pV4S&H^g(Z@3&LINxNX|r6D`BL1|C5p=69X0hHp=&qm?#{mKv-p zqIW_X+9pR$4KjJbP)FMZzL~uKJ24!K8+dP)OZiA2$()A-W?V!~CK$_4{-(pKXKQL2 zd74)!;CMYUNTZ|CRVLnexE|=Y1F*up6uXV&pB7mzU{W-+dLnQuI&~`)-_O}`9WGym z-TA%H0f^e{ozd~IE%60BuGl6=qlDgHZe&L*HaHvn--^(?IOZ0~sl}AC6HsMn7uigx zUGsJ;THjQYzCkF;?`7arcvr>o?V>#eFX+-H*pRFe&HNYk{?$GH>-*m<<6q@Y!oNK^ zUTmPehrby$fAx?Ej~Lho03QNcH0I6^VQ+qim9tGxwg8DkML^L<_Oa?K>_1$i&R?$4 z7@+pP-wEap1`q?1ETDrz`E8D~Urn!+U)^3M&yj#1w=US8-NCr{PgWaeIj$rHX(qhv zAK4Eu$G?u$UwxWE`a-ycNTyg`o31X22A^$-w_9Zt6fpV2VuBpPib>bRTrI575t6wV zvN(G0o5!{r3B65Q5p4lTm4IzGUK(=y> zihk+dYqb1|_o)aHAZur^-77VdpNIf)_xa7Y*dLAZ&UwM?5(w*!C!=+EkEln2JjD)A z*YyOW`x>xMbodrp`9Zpydu$IQv26e_*o=o^^vQqoNiEbo35WVQU)pnR}Ek$LBi%RjakY@Vtr21a%oX)shVP zYMNNAbED#?hXr2gOSxhHlctgCr%!hU{l;?!5Emr7xj*=oNEP{fb@p1Y`m` zET~tVgY{wHt4Z_l6lX@$w_HqB2y5_3Mlk2TZjZ#BwJ&Al9j2j2@?05a`LMK9(=+o3qmnXp#NW@{(_Cp%cV=VE zUPA9tFy?hd_u-&5O42qGdk!iieMoqp?@aLN?@efu^R6xuM|KStG_#A`e*XfMWB&{$ z6FpiedrrJg&l@RCcV$OPr5tPA1t4Y(xO~>Zje^ajh|tA}E2em&Zs4vh{K8a+in}$y zQXYqRce;pxOVK3qs&|xXnnAg}3NgM0(XHY(zgCt4hDbnZz)bAL{RJf`7S zdGMH*d53lJ*jwcvw40EW*<#@Rv=jj85O;h{DfDoyVePAT9pM6z&tvvOnK+JUq~Jj;Cl_lP#mbf9=W5+>(CHkyg z3aO)_!w2iolvLCYz7gl)@NR7L%eFR|S$%$PnxXpc0eumb1syAz1E%Mc^ShwmyhF#s zha-hzkv#lR{j4L@+d|@OmBp>JD;R%^p6jwCJ8NuT+hiZO0}hHTVN7d(iVd!nZ5y?yQhQG5^XGR74Jb&4FA9_|@i|L=tJwtEw1%Dw@3|ymG&93f+ zj%0>_j0!ZGoSq2yO% bEgIu+>hjT3dAx+}XlhX>g|iv1aex2-mi^sS diff --git a/blueprints/risdeveau/static/style/risdeveau.scss b/blueprints/risdeveau/static/style/risdeveau.scss index 146d956..cec5142 100644 --- a/blueprints/risdeveau/static/style/risdeveau.scss +++ b/blueprints/risdeveau/static/style/risdeveau.scss @@ -1,29 +1,5 @@ @use "sass:color"; - -// Palette: Catppuccin Mocha -// https://catppuccin.com/palette/ -$base: #1e1e2e; -$text: #cdd6f4; - -$mantle: #181825; -$crust: #11111b; - -$overlay0: #6c7086; -$overlay1: #7f849c; -$overlay2: #9399b2; - -$surface0: #313244; -$surface1: #45475a; -$surface2: #585b70; - -$subtext0: #a6adc8; -$subtext1: #bac2de; - -$red: #f38ba8; -$green: #a6e3a1; -$peach: #fab387; -$blue: #89b4fa; -$mauve: #8839ef; +@use "../../../root/static/style/catppuccin" as theme; h3 { margin-block-end: 0; @@ -58,6 +34,20 @@ h3 { } } +.track { + display: flex; + + &.active { + box-shadow: theme.$green 0 0 5px 0; + } + + img { + width: 5rem; + height: 5rem; + border-radius: .5rem; + } +} + table, tbody { vertical-align: baseline; border-collapse: collapse; @@ -66,7 +56,7 @@ table, tbody { border-radius: 10px; &:hover { - background-color: color.change($surface1, $alpha:75%); + background-color: color.change(theme.$surface1, $alpha:75%); } th { diff --git a/blueprints/risdeveau/templates/88x31.htm b/blueprints/risdeveau/templates/88x31.htm new file mode 100644 index 0000000..6beebe3 --- /dev/null +++ b/blueprints/risdeveau/templates/88x31.htm @@ -0,0 +1,16 @@ +

+ +
+ + + + +
+
\ No newline at end of file diff --git a/blueprints/risdeveau/templates/base.tmpl b/blueprints/risdeveau/templates/base.tmpl deleted file mode 100644 index 28a5fbf..0000000 --- a/blueprints/risdeveau/templates/base.tmpl +++ /dev/null @@ -1,24 +0,0 @@ - - - - Sweet Bread - - - - - - - {% block head %}{% endblock %} - - - {% include 'risdeveau/templates/header.tmpl' %} - -
- {% block content %}{% endblock %} -
- - \ No newline at end of file diff --git a/blueprints/risdeveau/templates/contacts.html b/blueprints/risdeveau/templates/contacts.htm similarity index 89% rename from blueprints/risdeveau/templates/contacts.html rename to blueprints/risdeveau/templates/contacts.htm index 3f6c66e..0f87e88 100644 --- a/blueprints/risdeveau/templates/contacts.html +++ b/blueprints/risdeveau/templates/contacts.htm @@ -1,14 +1,4 @@ -{% extends 'risdeveau/templates/base.tmpl' %} - -{% block head %} - -{% endblock %} - -{% block content %} +

Development

-{% endblock %} +
\ No newline at end of file diff --git a/blueprints/risdeveau/templates/donate.htm b/blueprints/risdeveau/templates/donate.htm new file mode 100644 index 0000000..7e7b12b --- /dev/null +++ b/blueprints/risdeveau/templates/donate.htm @@ -0,0 +1,19 @@ +
+

Wallets

+
+
+

POL, BNB

+ +
+ +
+

TON

+ +
+ +
+

XMR

+ +
+
+
diff --git a/blueprints/risdeveau/templates/donate.html b/blueprints/risdeveau/templates/donate.html deleted file mode 100644 index de7ca5f..0000000 --- a/blueprints/risdeveau/templates/donate.html +++ /dev/null @@ -1,21 +0,0 @@ -{% extends 'risdeveau/templates/base.tmpl' %} - -{% block content %} -

Wallets

-
-
-

POL, BNB

- -
- -
-

TON

- -
- -
-

XMR

- -
-
-{% endblock %} diff --git a/blueprints/risdeveau/templates/header.tmpl b/blueprints/risdeveau/templates/header.tmpl deleted file mode 100644 index 5c81ba4..0000000 --- a/blueprints/risdeveau/templates/header.tmpl +++ /dev/null @@ -1,20 +0,0 @@ -
- {%- if request.path != url_for('.index') %} - Main - {%- else %} - Lair - {%- endif %} - - -
\ No newline at end of file diff --git a/blueprints/risdeveau/templates/index.html b/blueprints/risdeveau/templates/index.html index 99e0e05..7674d22 100644 --- a/blueprints/risdeveau/templates/index.html +++ b/blueprints/risdeveau/templates/index.html @@ -1,69 +1,34 @@ -{% extends 'risdeveau/templates/base.tmpl' %} + + + + Sweet Bread -{% block content %} -
- - - - - - - - - - - - - -
DoB2005-01-13
Languages - - - - - - - - - - - - - - - - - - - - - -
RussianNative
EnglishB2
FrenchA1?
GermanA2?
JapaneseBeginner
-
Student - - - - - - - - - -
Programmer2/4yr.
Translator2/3yr.
-
-
+ + + + + + + + +
+ Lair +
- -
- - - - -
-{% endblock %} \ No newline at end of file +
+ {% for m in ( + 'info', + 'contacts', + 'listenbrainz', + 'donate', + '88x31' + ) %} + {% include 'risdeveau/templates/%s.htm' % m %} + {% endfor %} +
+ + diff --git a/blueprints/risdeveau/templates/info.htm b/blueprints/risdeveau/templates/info.htm new file mode 100644 index 0000000..81547a3 --- /dev/null +++ b/blueprints/risdeveau/templates/info.htm @@ -0,0 +1,50 @@ +
+ + + + + + + + + + + + + +
DoB2005-01-13
Languages + + + + + + + + + + + + + + + + + + + + + +
RussianNative
EnglishB2
FrenchA1?
GermanA2?
JapaneseBeginner
+
Student + + + + + + + + + +
Programmer2/4yr.
Translator2/3yr.
+
+
diff --git a/blueprints/risdeveau/templates/listenbrainz.htm b/blueprints/risdeveau/templates/listenbrainz.htm new file mode 100644 index 0000000..fe7e9ef --- /dev/null +++ b/blueprints/risdeveau/templates/listenbrainz.htm @@ -0,0 +1,23 @@ +{% macro track_block(track, is_active=false) %} +
+ {% if track.cover_url %} + + {% endif %} +
+

{{ track.artist_name }}

+

{{ track.track_name }}

+
+
+{% endmacro %} + +
+

Listenbrainz

+ {% if lb_now.data and lb_now.data.listens.0 %} + {{ track_block(lb_now.data.listens.0, is_active=true) }} + {% endif %} + {% if lb.data and lb.data.listens %} + {% for track in lb.data.listens %} + {{ track_block(track) }} + {% endfor %} + {% endif %} +
diff --git a/blueprints/root/static/style/_catppuccin.scss b/blueprints/root/static/style/_catppuccin.scss new file mode 100644 index 0000000..3ecbcdc --- /dev/null +++ b/blueprints/root/static/style/_catppuccin.scss @@ -0,0 +1,24 @@ +// Palette: Catppuccin Mocha +// https://catppuccin.com/palette/ +$base: #1e1e2e; +$text: #cdd6f4; + +$mantle: #181825; +$crust: #11111b; + +$overlay0: #6c7086; +$overlay1: #7f849c; +$overlay2: #9399b2; + +$surface0: #313244; +$surface1: #45475a; +$surface2: #585b70; + +$subtext0: #a6adc8; +$subtext1: #bac2de; + +$red: #f38ba8; +$green: #a6e3a1; +$peach: #fab387; +$blue: #89b4fa; +$mauve: #8839ef; diff --git a/blueprints/root/static/style/main.scss b/blueprints/root/static/style/main.scss index 3cf662d..648de98 100644 --- a/blueprints/root/static/style/main.scss +++ b/blueprints/root/static/style/main.scss @@ -1,29 +1,5 @@ @use "sass:color"; - -// Palette: Catppuccin Mocha -// https://catppuccin.com/palette/ -$base: #1e1e2e; -$text: #cdd6f4; - -$mantle: #181825; -$crust: #11111b; - -$overlay0: #6c7086; -$overlay1: #7f849c; -$overlay2: #9399b2; - -$surface0: #313244; -$surface1: #45475a; -$surface2: #585b70; - -$subtext0: #a6adc8; -$subtext1: #bac2de; - -$red: #f38ba8; -$green: #a6e3a1; -$peach: #fab387; -$blue: #89b4fa; -$mauve: #8839ef; +@use "catppuccin" as theme; html { @@ -33,9 +9,9 @@ html { body { display: flex; flex-direction: column; - background-color: $base; + background-color: theme.$base; font-family: Pixeloid, PixelMPlus; - color: $text; + color: theme.$text; width: 100%; height: 100%; margin: 0; @@ -55,7 +31,7 @@ h1 { a { color: unset; text: { - decoration: underline {color: $blue}; + decoration: underline {color: theme.$blue}; underline-offset: 1px; } transition: 0.3s ease; @@ -68,7 +44,7 @@ a { transition: none !important; display: inline-block; transform: scale(.98) !important; - background-color: $mantle !important; + background-color: theme.$mantle !important; } &.block { @@ -76,7 +52,7 @@ a { &:hover { transform: scale(1.02) translateY(-.25rem); - background-color: $surface1; + background-color: theme.$surface1; } } } @@ -92,7 +68,7 @@ ul { header { display: flex; justify-content: space-between; - background-color: $mantle; + background-color: theme.$mantle; padding: .5rem; font-size: larger; @@ -105,7 +81,7 @@ footer { display: flex; justify-content: space-between; flex-wrap: wrap; - background-color: $mantle; + background-color: theme.$mantle; margin-top: 2rem; padding: 1rem; column-gap: 4ch; @@ -113,38 +89,48 @@ footer { .mono { font-family: Monocraft, monospace; - background-color: $mantle; + background-color: theme.$mantle; border-radius: 2px; padding: 0 .25rem; - color: $subtext0; + color: theme.$subtext0; overflow-wrap: anywhere; &:hover { transition: .3s ease; - background-color: $crust; + background-color: theme.$crust; } } .block { display: block; - background-color: $surface0; + background-color: theme.$surface0; border-radius: .5rem; padding: .5rem; + h2 { + margin: -.5rem -.5rem 1rem; + padding: .5rem; + text-align: center; + } + + .block { + background-color: theme.$surface1; + } + & + & { margin-top: .5rem; } &.red { - background-color: color.mix($surface0, $red, 60%); + background-color: color.mix(theme.$surface0, theme.$red, 60%); } &.orange { - background-color: color.mix($surface0, $peach, 60%); + background-color: color.mix(theme.$surface0, theme.$peach, 60%); } &.green { - background-color: color.mix($surface0, $green, 60%); - &:hover { background-color: color.mix($surface1, $green, 60%); } - &:active { background-color: color.mix($mantle, $green, 60%) !important; } + background-color: color.mix(theme.$surface0, theme.$green, 60%); + &:hover { background-color: color.mix(theme.$surface1, theme.$green, 60%); } + &:active { background-color: color.mix(theme.$mantle, theme.$green, 60%) !important; } } & .header { @@ -215,9 +201,12 @@ footer { margin-top: 0; } - img { + a, img { width: 88px; height: 31px; + } + + img { transition-timing-function: ease-out; transition-duration: .2s; @@ -244,15 +233,15 @@ footer { } &-track { - background-color: $base; + background-color: theme.$base; } &-thumb { - background-color: $overlay0; + background-color: theme.$overlay0; border-radius: .25rem; &:hover { - background-color: $overlay1; + background-color: theme.$overlay1; } } } diff --git a/requirements.txt b/requirements.txt index 9bf8758..c9aef98 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,6 @@ Flask==3.1.1 gunicorn htmlmin2 +requests +APScheduler +musicbrainzngs