From b4f817bb51ef863c7502a920039fd542a0e3fa35 Mon Sep 17 00:00:00 2001 From: 0libote <79215282+0libote@users.noreply.github.com> Date: Mon, 19 Oct 2026 11:53:50 +0100 Subject: [PATCH 1/4] feat(setup): add a toggle to hide bundled skills --- docker/setup/app.js | 1 + docker/setup/client/skills.js | 16 ++++++++-- docker/setup/console.css | 4 +++ docs/context-management.md | 6 ++++ scripts/skills-ui-audit.js | 22 ++++++++++++- tests/skills-ui.test.mjs | 60 +++++++++++++++++++++++++++++++++++ 6 files changed, 105 insertions(+), 4 deletions(-) create mode 100644 tests/skills-ui.test.mjs diff --git a/docker/setup/app.js b/docker/setup/app.js index ea8dcfd..499ed25 100644 --- a/docker/setup/app.js +++ b/docker/setup/app.js @@ -3406,6 +3406,7 @@ 'storage.versions': () => storageUI.reviewVersions(), 'storage.details': () => storageUI.toggle(), 'skills.refresh': () => skillsUI.refresh(), + 'skills.filter': () => skillsUI.toggleBundled(), 'skills.view': (a) => skillsUI.view(a.id), 'skills.add': () => skillsUI.add(), 'skills.import': () => skillsUI.install(), diff --git a/docker/setup/client/skills.js b/docker/setup/client/skills.js index 9f9bbfe..b98db53 100644 --- a/docker/setup/client/skills.js +++ b/docker/setup/client/skills.js @@ -11,6 +11,10 @@ const T3SkillsUI = (() => { : { text: 'Unverified', tone: '' }; const create = ({ api, getStatus, render, readMarkdown, downloadMarkdown }) => { let provider = null, inventory = null, loading = false, error = null, generation = 0, viewer = null, changing = null; + const filterKey = 't3-console-hide-bundled-skills'; + let hideBundled = false; + try { hideBundled = localStorage.getItem(filterKey) === 'true'; } catch { /* this session only */ } + const visibleSkills = () => (inventory?.skills || []).filter((skill) => !hideBundled || skill.scope !== 'system'); const importer = T3SkillImport.create({ api, providers, refresh: () => load(true) }); const chooseDefault = () => { const installed = (getStatus()?.harnesses || []).filter((row) => row.installed).map((row) => row.id); @@ -30,7 +34,7 @@ const T3SkillsUI = (() => { }; const providerName = (id) => providers.find(([key]) => key === id)?.[1] || 'this agent'; const coverageSummary = () => !inventory || loading ? '' - : M.plural(inventory.skills?.length || 0, 'skill'); + : M.plural(visibleSkills().length, 'skill') + (hideBundled && inventory.skills?.some((skill) => skill.scope === 'system') ? ' · ' + (inventory.skills.length - visibleSkills().length) + ' hidden' : ''); // What a skill's availability means for this agent, said once under the list. const coverageText = () => !inventory ? 'Refresh after changing skills outside the console.' : inventory.coverage === 'policy' ? 'These settings are ' + providerName(provider) + '’s own, for every project. A project’s settings can still turn a skill off. A change applies to new conversations.' @@ -63,14 +67,15 @@ const T3SkillsUI = (() => { }; const content = () => html`
${root.path}`)}${view.source}
${view.plan.destinations.some((entry) => entry.action === 'replace') ? html`` : ''}Installs the exact previewed contents. The source is not fetched again. Start a new conversation to load changes; provider policies may still restrict use.
` : ''} - ${view.result ? html`Start a new conversation to load installed skills. Availability is checked in the provider inventory where supported. To update, preview the source again and review its replacement destinations.
` : ''} + ${view.result ? html`Start a new conversation to load installed skills. Availability is checked in the provider inventory where supported. Repository installs remember their source. Use Check for updates in the skill list, then review the source before replacing an installation.
` : ''} ${view.busy ? html`${view.busy === 'install' ? 'Installing…' : view.busy === 'plan' ? 'Checking destinations…' : 'Reading source… You can close this dialog while it finishes.'}
` : ''}Shared skills can be used by multiple providers. Editing or removing them affects every provider using the same files.
` : ''}Use lowercase letters, numbers and hyphens. The frontmatter name must match.
` : html`${stateOf(row).text}${row.invocation === 'manual' ? ' · Manual invocation requested by the skill' : row.invocation === 'model-only' ? ' · User invocation disabled in frontmatter' : ''}. ${row.stateAuthority === 'user-policy' ? 'Native user policy checked by the managed provider. ' + row.effectiveStateText + '. Session rules can differ.' : row.native ? 'Listed by Codex in the managed setup environment.' : 'File found on disk; provider availability is unverified.'}
`} + ${!creating && row.origin ? html`${row.update?.status === 'available' ? 'An update is available. Review the source before replacing this installation, including any local edits.' : row.update?.status === 'current' ? 'Installed source snapshot is up to date. Local edits are preserved until you explicitly replace this folder.' : row.update?.status === 'error' ? 'Could not check for updates: ' + row.update.error : 'Use Check for updates in the skill list to check this repository.'}
` : ''} ${!creating && row.stateReadOnlyReason ? html`${row.stateReadOnlyReason}
` : ''} ${row.metadataError ? html`${row.metadataError}
` : ''} ${current.error ? html`${current.error}
` : ''} @@ -128,7 +144,7 @@ const T3SkillsUI = (() => { ${current.editing ? html`` : (current.data?.readOnlyReason || current.data?.removalError) ? html`${current.data.readOnlyReason || current.data.removalError}
` : ''} ` : ''}${root.path}`)}Xde}`IWg@MBKnBVHE)I^QXcDj^#EfVPv0&9zdmT(OHMWJb+j%W8!O8)0 zNJy(9Kwm%xFAFb_58!p_4SL}uU!E3;6#}JMx|WoGZ2TAr5g{I}RktLH5wq;PPk6u KzEJ(M{@R}mMuPSyC?f}oz%Mxf`2mmcKU&E|b gt=>v=CE@_zP0>@4yG0KVKa!I7S}Kl>e Id}@Fj?zy
SCWR-q|1+0qI)0qXiK_uhssbrZS9KmCys>if`fB1G0Bc6k9UM{yM;_tRjJ?Gt) zuUI&_q ?6A_H3VSeRLzw@;Hv)%#$$~Qd=6!PyyJ@3b*6wD+nV*c zIGW%^FQH8_%!{5HRB$<(=Pb^f{;3UmF8JrCpgsV)lbR4PEh)_IfoSpBjFVPpgZ0{5 zY&cI)5}E_{1NhdG)j3d@*_$Xzik%Hqj|c4{zh7fNG?|lFYOI%Zs9vEEaM0@1?1H++ zN~s1zOwN>FZxkVrBr~lqw#<7yj7Gh97K{L(XtqbPN1V%a8$c$T8_$dv00NU26#=pU zKF8hf{^mfoMDoeWSc%cdUN1VJwOoMR=kr)DtYG({xd$i?afC(@asv<^0*1(unv!5a zo0t)`Vn#hM;w5TD<4qTe*k3`T6gha7?Ed <;4hvLwXf)e8AKB z3L*_~mp*~dF8uytezk$0QvnoEH*wzc2Gtl9c$W*1K;>74YkN3To`4a%_SPBLt?d)A z#s@);fK-J02&yg~zybglo!>_Ok{ComRqeF o#@mT&R3)o89-(s+imGf8T z1;rEHDieg#8qjC|IVKi_IESSUX1>izD=^kQ{2SEsZMjh@Ed!0FjSx4rdRxPBTi4^| z7Rz2a85wXZYY-mb`RI+~mXyVU>$iX)H8cnEAf59|;q}JsOW7Q-i!ZYk5U(t~uaVz@ z0t0FBRb?MZ7gl~z%hmjsLm~lJ7O(qso7N8N7-{iH?+A_u5W9k#Ucl}k6$2v-YCYig z?;f>1-7$!rytJ+|`(f7qzTsoDT@`8h8j>6}hl7uQ3rZCh_doR8ysuz@vb@_&P#Rq{ z> )dcZ8q+yct(A z9Bl=zUd2Xg>-FFDo6`-zAwD3qv*;J!1bl& %lNUxam zTZuYUeOiSBEHIJ}H~%DLo|_kgr;lq)!s+vGk(Y{+GUq;uu(lWUx5W5U*-R0Qqq&Ie zw+Ce{5bScQ=@@oH1#>4TR8yfro=3GHgQ+8e+xb&DS)uu2T%O ?sg@)FvRCG(2mJIXU`&Syz?8q# zxfX_6z`=ukl+rjh1Cz=j6&Zw_ckW1}tgkB^M@>CGBszmCjg^7z9%3N4Y4(-?>{JVd zE2e`&e9e@2z--<+TJ9 D^HF`;y2?A1v& zum*xqDmW@i7D!e6DDfebweZ425go|IKWZ1EKZB+DGXdjqtM}mR9i?bSf{$2s2hphh zSg>OV93#{`>BKF)p$J@@{2`esLP(Wtz?+FdE92o&L4XqQjBA0kSgtaSn5Hl-d9$YB z0X4k4>P^Du2p^$pvoU3)^O+er$#C7XGZ2BEngyj|&ryZn`7reGvzr{*Apv%qJIu|O ztLvb(-uZ0bg5N+3@qL;8DRFHnxn1O-wc?K9k9S^FRuRYA683$eM^OeIoM_=$ s#EBjHxZcRR3b8 zj4k;>ZUKrOHOHr^krU(=?c8qv8g^KM(AngS&=NL+AhiAARn1&tI`tm()aYb)rOBF+ zj4*Muk#aIMm_1D-bO$pulg$X2hVCAdN5BcOqMd$Bd)0F=!*BU%u}LKNNgX?yrIzL^ zo{E~77$%}@?mfnMuiC*i%?&(Ez^)m |+wpMv_h`8=AnDD26(nygB`&)}htcGVlJit}4% zYVg-f5TB0{Vo>vq0KFOJ%%1^IgQ|~K9vk~Qxi*}AP!EHi?G%^nm4HF}D MAlkVh~vwv@w(>kC^*jU!}gnbV0Bd22ElBRyPYoHiX*cs3D;YbK^j^ zl4>ySi|*lh--S%9cE%Gd;lTT$2jzj&{iTa*y&^kn1RQ9pYxhhh+RS^>F2oiQa*&kU zJilcR$vPR6CLQZ;Fj>bQo_^Z^umnm|ydBBH&<3x)$u98Xo?v*T!C&M1n_8JSCMd&G z ^)U9zfTOjfgy zuDypE4{9t7C@XX{+0ONiQhkr3-=N}$jgi9-jQ4o=af=&hBA(zQm>I$iW$-4 4&uU>EzC_703{m>%k?A1>tAz?dRL%}~Spp-Y)?oJ{hCrrI8mW66jG>{8Au z)BCOIjIu#xywmo~x*?F CO74=i==^>RF@%39A?B+ zd}n6)AS6Q^Lnh1Ck_2U!vhh}~{;m3}nO7@J7xK7one{SeW3%e0lWTw-0#Muq^vCEa zU!EK=s$(=$ZGW90gK>LxG+`Ubj$uI?$+=Wv-v*Kxa1%Hc-Y|5$H{djGXS>X?Nx+P! zu8hr3Yzictl5pq~`vc^vQG<=YQav$;sddz@3L<4e8$A*h!Z8`BP(D%6K`_>&Z29Zy zSf2uh)L`rb4SSW|YE }gJB_e3@fn=Ro|33DEoe?%&g0I~#ygs|&IFyIm>KLZS* zp#DT?{{DithrHz G(Uj4vRq^v%3T+fOcLLhFumLT)+ETM zZx?Iy#&;Db97a@+qMJueGd9aDcJfP+kwOjoKmSSeb?VB+GryNpRt2h+LK>B0 z7nFr^CH~-9Tj#? iA!IQbe-OIcG`)kBJwQUT+_hi>7Z z_NZ2;gSWpDwMyEvpju)9dCZ+#Dn`8eOl=@*9bN<%i)FBhqhvNbLMDkU-Hg zpi8yio7Nw}4@4hUBK=;<>7RpFPtc$L`pVjhBG4gQ^VKaMlY1H(mULEc|GNBKMwB+1 z$4@T#1mXzAPxa{x<`S)qb0bTF0wOc-P%lLP ^!L&50eIvvmU`z^M*rfcoEkCrULVN-)e zFB4d44UF)?z##ntY1Ou6005Ri&u7ea8=T!6hxKcDd<9f<>m-3ji5_Cv`Rn@r6@i)R z{GiI196V9!K}<+(C+1?PT@dA%BT#_qc~U4b{STlE2E3uP@^>JcK|5dT_va);9I&{J zORWKYm6Nf4Fr=nquw{UWE-R~eevlX0VLBzQW7MvCar1zB0^FL-W;%fT76{z~Fqi)( z(y<$~`+}nvg;mNB80aAlH7B6|SDM|bmtX2*z(eh2ZimriX;m0>fD>KMpe0NXfw<+E z-#s5Bi1sk>RtNsNWt87C5?b$jK1^TRfV>tQR~SHh<5oDB#A&sij)4 ;C$lCp;MsWmw@w9$&;dkK ?|80?gAUIczIMcBvtVi)*D5`EBqD*^6MVO>f}s!%Cgh@4!kAql{A z1#m6`oJuKgx%!3}Pp?sm{Z3b_C(WoQ{PY=EOf;@_>OkKUj#A0Xnw@tmN9xR;hn+Gw zI@Z!ZAlZ~@Mdz4va^&8D!t1}Jok7t_o*PLtA3uS~!Hl%6(ZpOiCc72zDWK5L+MXYe z0kpJrBK5w>nO5^xOH~2gI q}f;UqEa?4}A$V2^BV0g<5$K3}MhJhUGRkV^i &fg+Zhp$?RRiUhC(WG7NmAf&PTJdvfzx4d71xD0uGDs45T^wRVIJFaegTt2e9J@ zrOXckpTWl=UE;aI>1PF~WQGj)&FZv@Eb2A_JN-x7>g??+lbws| 8w=C8;iCU9M `WNwet0Qp@pOttt_-MqE&3omc^9ef+nz8iqO zxxdcmW2S ; ETc19Dl@MAm*^5$mv0LJOXHnD`<}%dICPMKmF?-z=sNR zz##@9x!M75P}YBd3MvF2@CyC~1 {xK6xg}0>|gew;( zAPj-=l2ASM2ktd$9X;zWpff;*m~8it!6#M%NZSv$^i)!m i7KaK<2<&Xz~=XrdjtC7=R$u$ic^E+>6`-CunrB-JBtqnt^S$ z1akh)UeNN3eZz!RpAECeicopaqV+(0kHmP#{+}!W9Hu&m(ga7B!4dKAGV>=0$wa*N zWFp`_H%k8@^0~?BK*}mQ=A|4vky5-2Dx)`{*r50xhGGIsbqDTM^1Dw1(h5n^q+XL0 zAG0<6^bB^rz&){Y=mj(!*)s19U^45vGU~_(6ALoJZ zhpCkh~@? znd|9U!b2NXs;|+EhA}>#8{M}}G{e#{-&_ukq@S@|r8>85BES9Kjw#x2P51gCi$nUz z@u|KMzhqdq+2ibC>65h0T-#@Lx*_(ZiD$3P%TLk?%QZ$uI ~A;D5Wx%QZ9NGjQ9i`wmE2f4b0s>7`Soj{9x;E}@<1-;^PH!>P8VDDb) z+@~@$njh-aE1|Mg4&th6aQ0^0^BJdjyzXl31{5sqzTf!lf-nzbX^g6F N)a3ReLCps@{*t!%sV0} zaPr<<+R?c2RQ%?KaGXg(XR}yu_`K`Di(zHr<${TUhO{gHSBT)kZji~ZSoz?arGxn+ z#W!Q;D)aq;;wGO5<&8Ey4U #(u+sehw3g@W @bmIRBYl4H_!BypP=ZzAj}XHx58Z(w5pNO{H|I(YcI>?Mp<@;ZFS3i3!HE5-HWr z#alfdf!Zt)o!EcN@lz&VNTR_BmXd(zOb_E7Kvb-W0QUD$v2XM`)`z39Xpp$?Li~pu zJ*a1FOHy6bDm!;HlwH{ K !l0FK)e&!}7K1YN z1pTlZTjjzqd5RJJ#~A9z8Z!I&(&C*)^VCZ-iC=7%-l-cD%i-)i>w5|}0TX%=?WTn1 zZ87{1XPXDdfa*!Q^zIMQ?+1U^9smB`!TKYYkl`_*f&LJ7o{vjlgEvlnu^5lW+Vd?A zL!=>BZ(^Wi=!XYzT8;Yd080UHJE?;4L_0ASTci#CgS&v5v*zPz`hx0ppX@=JubSTL z!o>Eh%B{S-vfvUCadla%qa*&eaA+hZ7hjedIsf@Se&jF(q81Mcq2*0_mW`OTk%DX- z{5M)iPXbgAtqElzrJ;2OI9aGY@h%X#V#Z!)*We0N5j+*=y7>pcdw~E>f{)F__6|Zd zX5Ag}EQcNlL%~Xg5Hb9;Tl>`U>pVu@U#vV8D>N?1*uvYKnG%i2=5dK%Wk$7NC_m7k z-Bb eN0X0?YG 4ZDgu3mB38NT_kd+;h4u-g zKVIgodt`8nFi}?iv{UCLIaLBvR%i0`S@uyv-=cHV-{Xa@$6P3V7U-osr{g=bzgy%~ zEkG@MEK T@yP$G2bR rv>?mH`W>PR86Z&xP?~@*{qHb%& -&lL=psf3DZ&YcdySr1m zySt^NLqe1kNona$k!}Q~L;>jrX%H!;1(X!zR?2r>&wHLZXJ+qnX1{0ef9|=*AufKg zzH5DIwNYtjW5p-61zxtXs8rts>6+ac`py%g^+tKMg9tP!2Yg1HM$Ksk1 XiNA;pJUZ=I1h+MJE5LZu9?8RAhJBv<%n> z2hffv^df0xCT3*7XtDwo!l~BpNdzh>uyBneLZ|_>m@HCK)PI-$jOPN3Lf)R5nu>6_ zdu~1_L?NS3%Lsyqo{s=;1A{WY)On%pdo#miO2O0kU_4;GHwwJ+qh8$#CF#RSRM)of z76OfxJaiLF#D+`GM?csH9otf+E**)kklO+xFUSp~taiXr-KKp44K@gaBr3&WYyrM# zKM*=F=uF8(5Z+R72o0SlE`(_t!8btfR}YrMWe|x3W}#9A`OH%~#3RQOb1)K-DU=W~ zsv{zkmfyPA%P@+ C-jMd!GB-GIcna?6Xuk%36g0%E6IO6%%ez*gFdJa%A*q=a= ncn9WlYVXBpa%SR>RW-|%EX|eTb{Nzs{mmqHGON$%m z!p 9CTM8DI9ko=I`T52o4f-~w@c7=JfD|5_rL}@Q%CD1 (HTXd16TNabG?@sa=E;kryJI}0(nXh^AH4n z#%2Ujit)Ju{#>6M&@K7VDOcljmuLdvTXAdj`*Oyez{q^D0@~mlLdGCaUKoHdSN39; ziBUV?FTfx%r26J@qej_^;)Ov!M_{}M10cd&4h8Do?ILX|-cfP01k8+I;ZImFVpVsU zF}XIk3fo~qqFtS@He`co{p=KUJAdJ9g~`=uzDOG-uK%|fN;^Rm(6xcozX98RW7-h@ zMiPE5`3I1|h)=>G0sb6`3Z0uAW}w}z!5F5`b7Wu}+71I)j#qzdjZt;D3}}~VA13{* zC&K!;nNnj?XD2HBXh{gzI#a7bP8V=$LGuA5$H#;Z-VD`+KwQ`fTDAKT+*e1vMM}rU zX;_iqEkL;IA{H&gsIIU oGqp*GpF^I3WI)W3KPZ~1!LOn zo{BzW1(s=n(=*NrLk9 rmJ?b`f5SmhM47TgLU0RqdbF9v4XA?hrrV9KAoSr=G!Hm qRQzIwlIhq6YmsinH_At#wKVikBdOPIngJr< zr9*0u#L`7dNJ#ZwZ3bR1e)iqL(Eyn$pnTo Q6Z0 U4^0A}qOiE?WBgtw2Be@k^oziQ~Jx*epx ~w7IF-4L_c3mR zgGCv PjMKv{+^IuE zW|&|(N_Hv)s${$Yzy;Lbr?~opf-(GR^<#?~y}|Pnb@csM3zu5I#i+i~#xS$c-67*m zK#wb*1sn)aK7Ok12~bnur`x3w2#%X2x4bru*TCPvOD!YD5iMAhBbxX;>(M40c^x~6 ztj+- X(( NLZmrt)Uhjc>5KShA`1ff{G4R{#j4dRgVA@HtmOkT5)5aRf{xeY{b zD3*@DcBe}boTohDhf+cs!~OdDdZ-C#enxt+iU`@FzQfTq==IIP`~diw^H=e_DJLP6 zPZs$^WL(DBiw5Cju}3YQ%Y;587jU9Y>)%W1Kde$3BBsJB0nYn2Es4=aN>5AXU2B=6 z>jfInWEc0TDl1p}4Xjcez>lFJ{9J9Qip^fge53Hb#T-lrPJE!l5k1rburG;D_OX@z zOOZ$BD#{XL5D1vfZPsgYZVxVN^I`>5G|`K75YxV~>TvCJg~Fz!)DIX>LpOvMLcOCt zGISbAiyGr!1p&`Q_Xq#e2dA0hcT_7ta0wTb%c@=MuezcJ;R-nPL7`NMKoj%Dy(`4| zq@;pCk`MG>=i_)N^)i0PYhV!p#2da%(rfkziGPoR$0gsQ7iOYXxnQGoR_$F{An4ED z%^d>j2AY_|1-LGv!$KqMtUwECg=-6dtF4T2OET zh}G 0ZeAqMJEW@3(wZNtp!@ox<`|Jv6E|A5{l_+C ~Gd!RT0eE?HpE6QQ`b;9UOC!n$0<1e#678i`n3VjA@>P p12~qH;%#Ml60%M}<2@sw#s|tB zd(7E)&ZLN@1@z6Sg0EGd^57HC0M|SCr|hkQ%94BMAJFzl!rXJ7jXiD-+6ZV?T<&E! z!AVX13BdIL)JNItxoF=#TAmxL^{6C}BO-DD-gdr^rtP-cc?~TSu)vCbHK1VeLEzl@ zycD93^BUidFcrc>HJb}Hlg=`!kwM-0_5|4rdUc6$0AS)sc@Xhmj#1HK98Vs0p^Ul- zU^6%LCF;#D4-#PTrl^rNO8`VDVEYp1LNM^`!^i6{dJ-aZt(j^;;K7Gfns^0IjAn!+ z)tfZ#1YkiXe#jx5@rsyYasWaJWG{q6zTf9uKvV9FzA*zpvp`qyrO1m?RO)bCk%#lx zPf8zqPKgmHqN0Bvlb$dwlDqx=#eKye8@wJ5-!i*^@aY~<6$pDXwztd8@#CuDT}X5k zy8>KY OL!1l&{sV&y3SK~M$sny7oP7LYjvf-^89g-RVDAMW*TV~ z30Ppn5(o_5>qys8P#oedVm?Ee+0D;8tc~hWbQQ~MYU**c =F_{q)ja6mktd}KRuim*vDyEyCkV-{DSB--U;Cjs+?8l;t*;ypLw$z%N z#anp 8{VhygVjasa$ zn>LF2Y9DP&?H!s*cNz0@b_&Z(tgCANk}zCjKZq%Vr4*r8v!ZW!qw=_lzqHEgnwBj( zXiVLny8wL<>sy8Mta_gaVbOc{FKy+b CDmec5ioUt;0MeXUVJ_uVE@H7|a`Mc|*L&@@?AOkNVI zU5*E+uOg{>)!q X+wV^-FHN~PbRIl1Ujj}!VH%fb~B3dEO^~080`b7R^ z(MN)`Dbc%$QR0#O2zmb~Wj`O+TNDqBb6JL4T6mZC=rZd{0eNM22X?m?do(w?VdVOr zoUsz5EORD$O=6Y#!e|hSUagEfeniWCy?t#hMJr_PI!kjfZZ2EPbnbGWTw@;*mbxsa z;pbt5h4ZE0`BIS=l8~sK7TlHkUt%8$(p0&A>Es!Hx5g7B*9+U)wB$4t3=2(HzMR&f z ^$+oX>86 z5*PSxce3%Cp1L1n{D6(+ME|@=8^soepzo8}tAaLO^w05b>qMsuv E9yoGj`!B=PgS_+qc2liaU 5=d7!;zF zd*S%EHd-K3P%mba6+>Z0<$oso`2PidU=+dnk}G-+0_y&|4XMnhhkEk(DClQ3m=Oxp zqW{zR%m2w|Fo>x#e!T<-9(XSHu0O$Kj}Y{OA*S$vt-vqb0WKoZGE9QDfnc7|z&F5V zRR7yIS8b?kF7$Y1VIM$2nZSQ#w>*a~2RdP4=$<&=LRR1**i>8=>Wc|cKGUady@Y94 znwwiIDiT~pQsCr3Oh$Kjpdo^I6#RFPIf?kH2ndnM 79axY)v2_i@l2xP0ypjH_A;WI0< zN?G+CgJAW1Z Ipel`32i$5K$1T~#gsL2i${-OH87XR81p0>bqL%ycAn^C-|sety3}w5b;1 z^X%6r6SxHW;cG}rX+eCTCw99daSka>-9zAv%dLZe-8`^p1qiQy2a!Xbm}iMnEFt*U z>glXt)VpD#hAxNo0oEPI&bHu7UkK5*diG}<00ZgYYY{mjoP3DbTLJ=4_^%NfgW^ks zR8_Z#X=BMpAvC2P+BO31qfa$tWZ^c_7rUi-xuqIe+>6k}!0Be+pGvNo_!D2r@PB_c zx%xll*;aPQ_LVTI?#BFi h(@fX5*b>BOcLI-f(=QNhn!vMl%1U`kpXPC!= zqS_D~{QkNu1Z$J;7s0#hxdy8Dov|0QV690;iJ1WOz9IIv2G%S{cK;;b;?R8Mv(O1y zFW)#(dZPNjeM&pg1S @46!9pd_onLSz c0_*C4yZEzSl1ZyIBJ*t*n0(5za>0w2; K$BQ zh2EZd%c$0r|C)p@HtDWKOA7hvhojCKBvzor04`MY@fdyEGFNLh%QOy_Wi=e|MQ4c- zG{z7N>1gzZ+zCzn^%8ZSqQU=HrFpq}`tQCpdU8VTw0fmodvY2z%m)|+I@HRMeIt>z zFw1DX6SMYgXwBH>+KctSBvJ%zJr5frwo*H$;|Pp@q(k6H-$%c>J_@mJutSYIhxx@8 zKVLe~STnSd8B-tOe~o3~kEoza#zxTrXHx*c8J!oLVa(^wh10lf3Z5+<@Ayy7blg}N zja%Gfh-Y1ip8%|M!G&Zy8n*!;6H${UW;m7_wR&&X^mFV7YAfRucs}pkJmSP;?w^4s z5T=v<&S)FHfc}t@r4}8fs8~^dvB!~vv3uAsV*=j~9jHpN6t%jYgoN=g@H;GM^P%%v zwX4-qV#O~?Fv{=7M}MxcmHj(S-%(tPP8s8BFSkBQK;|@vUpQy+1tb?a!8KMLZ3`OV zni!?ZXa%`nbz~i?Od7&{lba&$hkXn+wV?x{FU2sOQ}k6s=5FE=zTrqdJeaGX4g?0X z;TfYkJ|S5 $hf+$q`z7t)xTh4RUM5c`>tl3*x9n fM@v;wjB9|GA2U Vx=R>!f^p4^hp>#GFzgZC;ld1= zxp7WzM3Tn*-s}=%>aW#StU)V#gAnpX_G&1QDbUM>6$Pt6*1>(usLV3Dk$5Ih-wzi^ ze~1%2F(8-6CyYVKF5|-@5#@V?n44hQ-HajOwLrWYCgJqVcL^=hjx#rS)d7_phO!6q zN6o#O!6Afp3g-Qgzc M+fn340P~_mchv0!WRhe>!Jx1X6EP(GRhVc8fsh*wmpY~e63Oh~XhD3rL9gIS zc#02ZD)WG2K@9-1VvjYsp)!<`WhobclB6U&(vJCUrV$LTAZ-aex(mrx@HXFDafT!> zfa33|`GLX{@^h;QL;b4b 4 zi=|sFh_>O(1jO_K6Ug0Yb*023GPm*y2K(E;g2HNCpfQ61T3EpcV;*90XsSK?T$2Ib z;Gb`)S%;Xni0d$07%mVA3=j%CkORt+gsLtxXGg%h0{qkchO9{VjV)I@gF!Rh=67P3 znSptAX!6P^mI@3v7?}o``rI7sTnGghv zAPkYDZQbkc?7Z5v+Jc8ho-7Y*oX9(D6)`*)fNtY?ltwB%es|8_Shspb{T&{MUlnvi zjBB>eMacIG{Zey@94q1k0_d42Q>=2AV3z|JeF5PZRBvEaQ!n&~lLO#BDZgVI!W>k^ zV+_ErBA*kc6$(1xvJI3BGLpk5tq24liCrqpUqA}dbRiJ3h1yYiaSB4^z7gr>OGLTI zjly5Gh$Z(9CRgTKmB-A+^Af8@1j?VBPT2XJ%7SOh;b?H1cVi^d89HN0&jB`wm3-({ zsJ2EP?#P3T3ODehf`AMEFGp8nR_!cS&T(p!o(M|3Knn797s5 <81uB%ldkJ?s-F(e_!7iG>JR{te-?LJ_05BP zsnsPo-w$&CDJvcX@ 56>MQ zSQCwq3UA-Tl@|pG3!e1BS|7t?;bKK(iRUSsdE!V}uyPSB0vz~)a0Wm17NsZjvM+^P z8lekv6<}mUiWuO2>(CwW%J? `vB5cfaNQ^4E5u0|*tA8$wX zTFD>tYA*<(MFa{&Q?5?>Rni-SMhEo+@tIP1qU7y5q-cG)UfY3}Y(@U)smE716P!1| z-MJSQ;OU9C8wfz^r)_y9gl{hPwMqRZ;X=s8nTt84;sAocyS{ibs@Rbl>YXYcC0_x~ zAdD96j1uoz zb9Ne;XqiYMY?s}9?{%V7{MRV>`(;$f`_N *@W>exWLT7ZBlL0tB%u4B2asCP>(;uY* h2~ z7#X>@0pjM%P*PbYcJl>iwA8Cmc(d*+o{UjZSD~9PL2E}rGKJJpLObF!xnn1uKPg#N zYn 4{Af_qw=Et(!$pKPUPD$J0aM@QG(}Lu-kxPFc$K zmG4llNo1xmQ#1QhVwCZJqez`&l=Rgn6UgJtOz@StRJ);&Xf;I4i>VeJ@b$tnkmO6( zbDPgo0tpzDPD*t)E1aYiYr}3(nZ2X9{?Frt0U&BUzM&H?b$&kj*Uf;90aFWylb< zW^}Bl%-kmB!Lm_!Ll6f~1iA<}QuM`-PhzQ>&x5ZdFQoqd(lor1uj`vGJxz&yS2<>4 zD(54p@=PZhgObh2?AKs0zw~M)Q?k&qCG8*;uZH`ws&Fo;a7FEU^g{;jBH4?;hsbOL z4ukG?uduAC%;p>iNfeUB?5PXIJlWqpPd>k=JKpS3^zPAt*&dY>$`|W(qI`Vyw11L+ z+D8(YJ`Hr#{$np|pSED#M8JL9T%A&j0h@yR{^<(QBg?z7)lU)|qT(4}%p-lEqWch* zs#DXam`iSQ=_7;H9L+MR^pfHlPUGQ}DoJlW7NxEf`_t*KT>F1)`Zz!SqQ8g;%0UfE zeS+p47skIa`%3uUQ0%cDA4&>y^3b^0G#ZxIUV!vmda(JS1hZwZqDr(lsw99_ts zvZJ~r2pd%1u=ssc6?)plx}_!Xw&3GXa7Fr$d@+qNl9}}eu6u6q_o){t8`>KKG`=ga zpvwR4$nv++P
{Qo!xN#EGk{oEyY*s3oUJQjVbi1=D z635ldx;H0bkrTI=OVFvfT;DXCDxyRePd-lE6cU$xtH3sta`J3~R=elVj7I;$k83m= z9LmJaLA7{SuuqsBlK+gH@{^tWZuvy)A&NF1|NeRP#p$E`QOd0&)1129@;u^nJu?M2 zQ5 ?VuLV7RjY7<=(l;jz?Fx%({$2qT+zKmX0wW#jD&4bk0Y9CFfwu;T?tE& z;}Arf4P=>;-(3n81oxoxg&5h{{oHte)8`wuy6g7OK;y&tj&F&nUkGDR8i`_yF1tKG z$F9kwsIjaV<{_9Cm1Ol#AlWHxhIXrhd3YQ#E?Fy!UUw9eeJtdo+xc{Nsr>HVbqq#? z$Y6YukiSix1aqj6SU`>!?Z^G%`inn```o?$w5ta04!xgJkvAi=*d%@QBMB96jVt%6 zxnq0OlDjcV2)>SQMdjHT(*b)M+v)V5o!faPShpzx+WB)xKVmEaZT(H%sMZ6X-+0H} z05B3~kTB2O9X6Qf=__$!M3UZq f%B~f 5dqVVY(TJ_BhTGR7Cp^o`$5getK%zlL@6!pi!4rK)3YHun8w$ursMfAl~6C1OQF zXaAavKfJQ9p1|!!%vz!(+C>jeyPaq@lx!l2Asl6o0tF2{y}qJn0cq?uf`ZeE^q40s zBGs$4FL(L+i-}QK`KmxbpNN@`k4H*`G?d&u&?l`gA0BR~upzT>)bb1(5F>>&7M~<4 z-#hw**M}la#e{^{oT9zA1CULoS$-VcQMl9dDd}Ya`}FB!PoE8>{`Oq;$>vzF`(I-2 zVYR$)o;ywLxxp9p&7oWLn(3xXBSv8$z^rB_81HeLMv|8jkpG;=;{Bks8N qlil8%vVTNBdCy%o`RmpJY(85v15je97PI (5JKXT{vKeuEw%>mVxIGlN4TS$Y5Cos0bLn6>Llk^HAARwq@vf`Le)U5K1{~ zd%G~+>7s@m=fO0zlzA|5C6N{epHqk?eMsRl;ic>Yic9^-`-N&SuWRN@FIcw*alsxW zz|}kElrfAK%C44n!#9<6JA{j?u+lOWPO=CEzhivN5{pQz4Yq+v;{0f}>+u(fqh%xL zfLvpjd#Ygd(iy<=O>|FlJ{ET$ni&|dyvZzMVPc>qi_;7m-O)&Jn^oF%kHH-u;MUo4 z?+T;R{cR6M352%y7Xr5Mt;?o3ZRIZO3kXGX=(X2YOVFmIzJ$RiR?Lg^Vi{(>%wMy; zfN!NRuwwf<1MW=_1Iqxsea-n2KNa$
5I)Hc0kH6&JMn=6_kEYXOneiqG_#}iZYVtR<9e7pZ zF~zj@>?t2-<(v9d)^{#8F}P1tD5q@aVeZ+~^$2NgQW}qW(z1oF6^sA%oSyr(Uc )pRb?RlH2MgO{mBl9`3>@v0Bolad*>&s?s zd}3nbkLcy)eAux81PX>KR0sdY0s`oR2c4wFxQksTr*2>1U8nSMWLlj?8_uSRF^PM$ z4AuP+o-3QDzhI8?u{tz}7-OK=Maq8!NI6EHnJ;Hm+)wloXS}7GClK|<`?@CkW0~5D zd@U#LKUNupSelaP8B?8%X@h~7+R?^ac$bf6jHP}?x;DwPveRf|ohG{Bndf9u5#}o; zv9#iZaPgO5Nm#wPc`B|Na*4C`!1`3~CFj?@@x~O~AGaxk-e9T=3`(aDJ{yKmiC-$v zI8R%6KN {v&qiM<1-NFcmIf|u8yJ=2Y}__(cFpfN_^g+V z9W{7n?All4^%!U9?$=a^bDug-3_w2h(V1$KYZcAmU5z;ZUhRJhh>ookW{XJ{PpWvm zU!Hl1p4TlXZh&4oSNafhCzkn|EIO0irRB^(BJ*PP@xFW4ZT+UMFDbWY9ShaU7)O zU|(2Ppcn?NO( h8ktWHCKj%{uyQ6i1BywJA^W0E!}V zhH~7|-Q@GHR6pW=swRAtLQ}Yhb+Ek`RV78}cei-2j>OY&zb^0Rdvel$zVuN)z$;w? zXGYnI>W1Xw!ya1}m6GQPZUMx0 MvcBJ` l4D*~!_BJ*P*e4NJufZb55fajx5_rn^3&PJ8I zj{Jw(=2ceGt 2ved}OIq&~smsvr5lG~;?2>wIrjM5S zf8SRSoS!0!nf_jp+)%+IpIpxU!V|tYd}fC; ;aO8%?NtYV2`x;;G2j7C%zLKE6eu?2fsXm5Lb{_ zz`^UVxz-aQ7O~4=20vx;Fr-*X>?sgJ{t$#I?bZGM01$rQ01(rVKgj%!PC2omH$fn5 zQOt@T=)g_i02wkKnB Z8i~I|Ju_QQ4;qXI$ zM*O7{fpP2PQvz}aOAjDXEf2zF&r4Ndg%)BD1c)=hX=nD@T-f((^Du}uA?seB?u#WR zHpq*<0dMfZ?}RbBi4D$FY8@osjcrD1TvWMay%HdDN|9iaejgH*_1daqX-D7T5&&KB zucrUqP3@}Td+YisF75OHI3K_|X*<%f5H}I&=d|9Wc5N&VR7SPM*=K}A2~0AbqUJpXakGRpcjwTE4ND CGf}zcfqH|?> ~AK`dXx+F;!f6I*)xPQWue2g;V3 zoRYt)QyM@FV)Dm+Z05wTld5kfmRpD-x8&KW- %tsA?kQCm%@jqXfLLy`Xj<~g=0=Q$5h|7Qg0G&n7j7j zpmIO7J^zsip@^{3tP?VjrjUY&7{zW^RMO29j;khcEAWUZsbMY$6cnI9`r;?ddguCB z& Il>^^$iJ^VtK?}Jg^i9gA=(oSkZ=X;FokCPa+RBAOa6*L%? zlBhax8^|FmVl4m#INHAN3< aUTvlCy zeFE+kp JEu3j84$wK#d9&0b|ZD zNQ!{>L)Ld6h;n(1a%Q;fHK4hJB4G*kW8fSY(jo8({t?8G-e5<7T3{GXU*@MktjVcY zBnK->R1+ziA^7XHss}7r?so=;1)R{#VH!5Dt?3wSL_4FInk?iN_Hfhg9Y+?q 0P|iKX5@CI@P) )G31ZdBGE(T0y>J1F1GY9IF@~$W!iv?0B6$39XM@?V`O_vkqu9DTxyJS zpNR~f`^E!V|M%~RGbOYdfhQd#Dv!?BWTr4 YWkVCBG5LYQHDw2mktwmfBDk%m2cQ!8_!r2&6DZ1{X1<0g;4MR+jnx|qac;5j zA5fxsV80{GgB%MWfb6{ZUIPjW+f?lr0#UfhlE&ceh5^xbm>c8|kSYx-2qnc3kSkc; z^09??wx!&eWkXX28l!dmPH-figV!P^_oUGN$puV!DSx5D!j54YLxu{st!~tBAG7a* zfr2=pw4OKEiizZ7HNn&5*=ty~dmf;eeZSdtfSU~+7AY>?kTgi$>1+1T&uLge)tN3+ zCt{_mS4kZP!^N1BK(HSi{Vfi08kl4}=Kb$f`CB3pd*^bo@$f41EHptOkJ%C|Cbpve zSX!8xgk<|PX;!W3jziK `CeD=l!dX=%|KNH$=+ zJO@ETY7hv==3Bb$rnW1RW$Q ^BFNhFc+JCI@ zjwo|+g`-fnQt)^pXvKi#7iq~BBJk!8j%X_ob*CLi>Y(RxEqp#;=?__4dt)f|&iFng z5~na^ds1OqrF?>iS6^Z@!e)9&4dih&lsH2(0w4&crJ>Qz9=s}+_x24yB2&P9%Om1* zZ_1U4k ky|Cf z>hY~~@?k%lGE1sa^6Vm4qSXn+_|7~b&}(Bc89$g}v-5N64Wlgj Wv8D^KvyyvRw)}M;@?UPR!CY$wK=GVr07SU(0D=!FBPZ z#|vnz>a+7kxgmzZL=^NRH{RCl r)GTeQ@Io%=F1AFRsUHOnt;=X0Ha+=M>pPmT zF}0jZ@?7p!zOUT|o}A!m6>qfNWi8IuPmslcglBb%KwyV^j(NNqUa7G^e7C$mARMf? zK@acpEpDJsy>p2krXzdvBdelUgtN=_6DK7mj=*3oA+GE5H?HAqVfc535>x4jB6|O5 zcAFUSKK(3CcNWDufX0Nmd|tOpzF#(|-c6G@jjlwmHiEN>Z=TkXdRv A}O+WR4~PvgsYJ$h1`|0G?}<2G-XWB zXr1KwTVKvGwCdYjW}vnff8H9@#$@I)A-FSyqh5i>^p$mDgJH&0dM@K+GpP5v)a0Rh z$+HHI-F20L{al4_IgO(P+^9s+w1sDl|HcB)4r{LQbBh)$UJxei@Rqz -AFU zv`ny5$jC57gYiwz(|N_W!EE^{e|;3j@H?VUR#uB1z0X~IuwsXd9vQa&!l{7YdK!8B z-St;gzc9+ePZPpk@!FJg{k$PJ$7XIJ&GPATq79dN_|m@{= ZdsKxBO=6CWn$s zs>aoPKg7ZD9rDQNy~y2G=7diWQXKlMD&N0Ud-RTi{Ynz8^pZIG)uZqEHeri> M)DOzWkqWaEk8PyxJUk@_i0dn4zGkwwlmFcAJj%{ )h^sX1D zf+bLeur3wl&SS;#$fL+bT;_LEr7295m@2M_$0|RoEH{ff*K&gBIH~FLgQ9!_RyM2W z$<;{Rn?7iqr0G*e8AB}i7qR?YaK9EW|FB**P{$wz(8U*dJk+}0oYoWMw9&hxz!OHj zQMZNbXCx`UP)88oC%Lj$_pJkKvq?mVJV4AkFZa}dAz?*`Bzk3+fEfFqly#hBJfg4G zqvTCqRK=HzJhw$$^A_ &Eb@pp~wdlix6<}vxf-NH&i4})+F6yuRZ+5zfBe)Sfn-)UlVK?A~sK2C(HW{Kq6 zy;f6Ze>4ZH )GQnwJVI%YHJH}hz$ zV$lf4`Dl6kV#a!;p@l-t=+-BlkIdc`1g+GRRIQ6RL5ZqQ{`6Tt@-VFb=T}aT&Rfjw z-UvnS)`w=??DeXC8Q+wI ZKB1r `DprsRj_mP7qsaf z?8ikeJr`UV8HRe%7O1~MK{Q!djjx0dJq8#rTMM`rC=hNvUhR|?_coBIROLUe^)z`g zwUy)@gE?r3&Dn+UB`V`KOm+-nMD^5c6qIN<-_Fz>TX50{VX0KlK^MrY$;WXcor`#DXqO|e9!%s_b7T3yigXN|b=+KP-)-nArMxy@RrkTr zZFrEQ>2@jQLJwznJ$WHoW8asJ36|a2=dnoASqw>-Hn5 ipQA=vJ2NO-mu~J`6rLS^S+?gVa*7!Q zbT|M$F!YVoe`JA73UE1=o5-9Z<}!AJbua;72m1E)qtr6dZ>Hn&PND$)V=yGYXzmWS zN -@ks3?#;jmvJ*hun@2N>DV{I99P-x8$GH-+tixXwQ586SQciPK= znHY?E0$t$C<{v?Jx@+z%``y_WNgu qu1ZW;l%n>*+PX85gD3Z1%-N_NXTSa_<$&|LH5Z)ikj)^CqC$o#a+n z 8C%h4CHsIEyu)&P#!vJR3Q KU_m*T+-TT;-*+SpY3eFzd=}t%{RiwY z& ikyX>Hw?p^ppqGY16&Dk;JOBD+<2-T+t=KC7?92E~Dz7%Z zpFG-zi!Te)v$BiJtpFa^rd0;6L+;qtrW|Eo o-?IZ28EdNMy+$`lKD%o~{;)M-`MgumGEqAk%$dJ5|~> zjdVsBgw`R$5S;vBVYIh)!F`Q%#@ %C3^^!oyd8PfF PG64%Z>MLok>jezMhURy_6&{R|%mNb|uc13yQo^w`SRaN;Q=VUZ|dDuPjk-Z8R<; zmCHdO?9<^mTRZ}2;w1)3%Zn3a$kOErS{Ny*$UbiCA+K;azE1o|LGh#|nEeSjR`WtW z#gs?98Gj+T1LirnLhXNVF00!BB1&-r+2BwjRrHFG^HjH_UnD)F94^i$C-03xe%{8y zK8kka+CIIs3_Eq~U(j-{;Z8TY@cQ5-qu|yMEH8rTJKBCkFu_K5fYFx ;crkN-B2mKE*he71UmPl%*iy*F9 zF_Vy>o7|U~D`lq^S2Q(ljqizsxy_4t*-!o%+(B9oyQ_N`I{7W~OXRujlSaB1xDLWS z_~{w7%z>tn409ibBx+Um1?h}pt%%nc=Y7M?RmDB*-naQupS+)YuN(A+lV A>?u(gA-iJ*LWN^N!9b)NlN%tIMR>i ztbczBz+tdF{JqeFMA+KUlm#yBgV0rX)iu%_{+46o^aieYm?kbHH8J3eh1Her<0X?_ z4SJ%UEUdd%yBGfEvQ02aJPIuxs-Fy }#dE!nVNe92v|XREyW~_9axL zx+|V{G&Wp!ws7pfVnw2NO0^<~302B{=j&%?8PZN3p&Wab?8$WeDP~hg?*}`W>ur`) zrceyjqDlJgnY$f}?;UFf2W|#`I&a#P-uqnRg4HX|_|5&vqv$97!6n&6#cB^md=nma zaK2GAe#;f8i6!M%i5X<}G;tEO7uljf>iF{E ryw_lzP-l7gr2+W6bCwKVJCV$l~)m;VZs&aKULpOtjyt7O)FCfp}}K z6ZvcUsol+u@n>IC)jYlfFdyuu;^{MJi9Ba-a*(W`-WXn_Y3vQ$_Bw0ZH`1wpxF^Z| zLnmVT-lHM7@wa((Y1bN8effs&5VPw67H8RTyYr(=23!jqyuv^&&21f<9|1$$NEV4= zRv1Avj*?3AF1A{1(_A^?gRWE2l4}j&EqBmDu)LOIzZk6gUResiF9HM{3iT%F0*7Z2 zCUJ8}3zGT29!%Ybwv&-oaT|eBM&+yT)c#g#TsxM3o~%46Dn{hJ9EM96-QILJd&(P$ zwt2l4-UU|;#-L-zE*#Tps2Zi>#mN$HCZBr|sXypoK2<|()`&2hx70mH)aX%dn<8Pz z--JCZoVF>y(olLVa~!{TW?TIB5q{=a@>gjvg1Bw!H9a%_P1Y0ZdYdq>+kWD|Ujt}9 z?Wxl4vcu-0n5>pY-_OQiH7{+-PO|Qyp=N`7nrLdkT@sBMSKGmZp`gIf08#&GBL88x z0%N%vBHy48mi8v+V|LX0ghqOeI9#&4Y<_cqWy6O5*z}!+8ey3;7Y8qv=1>&=-4|}w zZITVVX81_V%CgzSKcdPv)!4JO&Q1UQuOn&(fJFTOG#fmPXjgEs@7^oS|2)I1U!nwH z)LHI5na`ZRtW0yIVUJI2QWC^dV`(6G0*L0b8Q?a5tF}`_W(i0SBJEW@2(AiX=a4;R zX~w1I(FR!5o^m$u3+1cCC3t3SJ}z+6IQ|0iZvWmvAc-V< fG7UfPedNSgQ|qKn@HpuzdDnaQFZh|eF&7*O-ZH~{#ssui9Ayf2GIla$vN zG<_0bLo5I^4V~vfq@mVh>SwTriv{DaW?E`lRaF&Y%^c)`fxr$x*c!_ZB9pn^^iNpJzq_fQsd?Euapg4?*SwA-_N! z1G8VGnd&>*I`Na(NtX1zV++bSEq|RnG5MRX@ofX1+wOQNvRVus3Pg61Ef9XKWcKih z;h&`kbMAYP(|Gq@G@-ub{>jskDiTTlPJl#99X0XW)dh?Vz#9!&i1AT`1O&yk&mMOE zY|Rq6V@DT#@B` F|WbmW567a#ljPg}nx z>IU(?sQnx#5?^x>^udAJ 9-Mk6B&R(vn<>LW=~aM3KxIDdPuaW{HzEJvZqn z*l?F|_}gs4v=*{s`hT4KsW2m{VM%YL)^R0mYrb2!9|kXnr&${n&M5dxC?glkYo9#8 z46_xbAj+(HCp+H1y=-l}aa)8tF1AK uaZc_8vc7N|) z{=9JUyGKGYpSzPj&U{hBdy=&4tiBP#i^Zh=J636mue1f O1cf3OMjY=+e=I@M}H#hcl^9%lMGtViU~kXGSHs`;iy5<4BBfHs^6gH zEUAIzJ7>=x{G-pP6j$*4#~H+*{)k3yj~z%GiNP{-Ss(-NLwnF40pTg2E|U=-3Ch`W zPu$7#)LTsPxpN<<@r@Yo3r(Ab^f&SM10D~1I09+*KW}W0xp!TQK%RPqDy(X#unws} zS=V*wC|hH J(h?;oKlG%VaM?y4tX`J zVU1hrXd9}LStmX*sp~1Q;QV7$9Vbbo7^AU4n!K!&T1IXtZo2hFC2e@hSPEj3CT7&X z>iU1*N7?^?B@}{vxge1#2jjakdG3PR4DinXVuF4Lc_#}ZT$^kE^{k8kPs)f9Q_}zd zAINoZT}ABa0m2dXoTVOs4CKLZN?0OD9uf20<^tpzKx{>*5HQ`K+U5xa*0TU$C^=MJ z@HPO!46*b@fb-V)u>i$kkrd|+Tr9Ae{vr|(+5~p3LYD#v=Yhel8l`W2E;h5WI;%{% zcKP+g*zpbKScPUlLyf9ZpyvfD5ddvRD5qatN=i!+0jmH;?$pjy>RJQSi^ydHu@>;V zu?Y!Ao<(5mgRj24xjX`>xh9Pm5Opc y>(km8(b}75cN(w1P9cn z4g0jf(tG!0lb_jLSKBbcsHQoygFvjI(pIYSuT3hPa}VL~ccxYaF9@=3+~IqO69!k# zUItvs{ x$+D5N}APWihGF^Y+2Dfgil;dg<40VX?!l@cV> zJ5u1eWd02nQrJcKN|%O~HfeLrq>Pzj8{t-&z);~Q^afLtYkUh#?kh-2g^~)-p%ICX zi!*QYscv*DfrYUNqma(YAKUs1ES_pFMR@+nMl*y(qtE#{4b7hWLLAG%KTA%{_40B> zkYWb+bbSt<_?b)bcIaN1eSEDKoId#C^_&Rx*ef%2wkB` z9L=kN7v%TLAXqRX^O#x^Ouc&Tex75xhaAoF4{J^8zJjCc7lY9+P)&^VKO=*0(q<(N zMf&krp>mC#GqLHeReKKqLaDKf)K`-&w6y2Uw#SB^K6tsM{HcfLQ_3!@MiQ?%Q)+kn z061j4h^Q&AmH*0gTRKHY!LS>vXwUmEL@?`kuYw~N;G X%ou^Ag}dXNGroyutLLgXH+!g4O3Ez+up+rku+v}X-CdGV?ddjobY zow+_MZ2uk`rB?oMG*>+f0cy^*(3X@FZ7Aiqw=xEx{weabh?!@yd>@0=XxBeSbwM>D zAgud=&BiJB36KX5CJVHCT2MIgA%^Mr2$q(alnoUiH}_Kj9jjdF_%i71271Y&r8C6? z ||fQvWx7=FbGlBEZL)Mp%9UZ5M?V{Lza}te&6%E z=bm%Vx&PdA&;9RS$MMIQGxOP==XpP`_iMRy+xElN^7&-0*JDhw1+;K?bKJOR{=_{s za3BaIy{w 6M8&6G$kdLiuNFFMJ>vtg>F=>YHjkQ8(6b*t8fj{ImT8BxQx_SSWDyy zrX*Yz&rdFJXSerxzVAgKyF`Y4g{hEP 1@nyqlw{_WGDHu=SIsn z4$AOn$z;ltYxuWNph&mimolRX8EBuUH_D%)Q4)2p`xcl=N!oR^SfccU4y-(oO>ts# z5Q-A*S$O%b)^iH-Rgo^sGtmGul8a7HYV0sIwJ{R zmrmojz#Fk*SUF=}GNpn?cpKxgRkt)LrA%zwm`%iXF7yTk8Vpfmt-;V%I2Z7a_h%l_ z(?xHuoX^(yeSteY#dP=r*Lx?d-oA64ky+zJ;|<*XGV$7X>!xWR2k!>EIPvQ58*-1u z&Ly8!VBJaothjZ; 6e2$}4u2Xf&~EnZXD&=+}g5&GnOB8<{MP{L=ZXlRM7ePG|S+z^q}& z%SN>^CI)_8*cSOz1@v8wMQDBv=6j{o@HqX{Xtw-6PmbOgsC 7Qgj(KwTs^jh1< zjPA#`_?|`?2LC~q_7e)5SWf3K4Ij7O2`#qVW xLH#+I5n##ztNXsJH!_ZZgP$I?H@+4I@k*Qop+Zx?0`PX^E2 z%ad#C(-Ra+=n&D4Jk&+|J~j~_BUYZ*OkU0xq-NL5JWM)e_^tF&V#AGq)I_bS9+zjS zLj4Jy!tPI#-ABz3DObK RxfA!fABJ8H(Pm}J3w_E9Kqdp?Hh!V}48Ch?NJ=AEGBo`sBy z3oA8kP&xy3;li#)o#kuxB=x-P0`aqt4iGZTl~1m>%L^1f4T @yp7#2?dZ~#9n83S>8XaCh%BXbK>BQlSvRhZAw)Aq8OTHkl4 z_jd<`PR`ryHlz!mFIAeP=6Y=w`RN?Fh^fj{)=z1_t7T3$V_L(}X>Or)_q|^7A%C0G zdgyydytq=T{!XvTFu4FSmJQbOzD!1wlXXwH2N>S`s6>;<2B@62ETsbB%!3O71Ovg$ zpJnAfJsP&=yklLck^9uW#*^wU0fV^;m10TQ0;@WE1G TcZ zUAiHRYO$s6iH3H@IflvH9HxB-k!& C68* zjfj3aPN9OnAES!*SyB{l0;R9n6O;Z9DrJe3yD`+!skGFwNU6_Jw$6`kY{%6CZ2j%v zWeP8~NR$DZ=r;}WS})nV5|-IGoe?PWF3+49VuJ8trXrpU@HQ&|62{Uv38(nhB?b4f zCmLjM5J^Jnc=fFixb1)!ZT&rK4472tpOx3 UYe2q)#f%-=g}r1;8}{viWxG+KkPr=4AcD|w;uCmwy->=h ztGj!ipPx%xNGn-V?M0UGZzysVVaM>{p+dapMNmGsH;eA`gl`$n&8ZiI2`%>T3n(Cg zmm;K-!kG{{R$)vjT-f^`Sb)%Bm^0Cw)eF-8X6@5_5m5ht?jsU} vdok@*N&IMyhdOOOi+; ;V#1&$J^0InShU$rX)L7AcRcEgu6Bt*>&< zXn7LYZjPOO_8*okK7t^G74-lZxj;_#Jw42n|MqlfUH}xrz|vZ}x^cqg;*nX`C-)G8 z_wXJAZV!q4w^#OUwyYS9E@K=JvH>dRd+xjgdl=ROC3!i1C$o#b7OOer%Lg!HkGysM zkv|-K-n=ThZx%a|z$AEj`zuUUZ`gIWS_T_BU+13SL#4}9A(4pj wm`sCI6e(ZgBoym;ci z+QDly{`bJhOy?t-D_l!oDMM>x?ui!W4sJ?+-T{pcEsxTa3$`J!==uv{V@&;_4__uQ z{h(wPd27IbyLx=&n{pg;>AeV=1nH3W72shLa4NCC>sto-r;hx#EfAcTq8k~E#&53F zt^4P=Y`o5uORdYgu3*Y&B#2p}L&3xHx^LL~Ew7Q<2HnqVcsBKz{6yhfgrO+hd>_u7 zRE_Zg`7vy|AWq;j_XSzGeH#Sl_)}maW;-`Kgy23nJ!(JG-rJ{s^PORIDj8xK=1blZ zVVl;NTwrY8{?B`EmH4K`&+ICUWKl!@;tTw)7%ajY58cys#<7%G8wkth3srgj;e-l0 zhnJ;3`yqoB9$L}o;5k=K=4IL5VLpK#O5uDe^bO!*`-PO)llZSyNKc;N<3>~Ps7Sdk zf{{DIj_yQ>1~nEU*WufhRJc+TCJqM$TrnT9#Jp9h3<{N>h`EAsnxxoo%-WVJWWY@9 zPke30O!4YAFE34kT9v?iFl9QY*7Nb1C^$h=&{S)M6rBs)#tzkz4-wL*+e5Sb)9-)@ zNNN|N0epkvp5yGR5%n2hk^Q*5T==LAliq8g6ULIp9J6q5ed&v_@u%qF9^BUa7vE*@ zMbBDjuy9uRlb>yLGCI}f6-Uv&)^Xxz9xZ=lO(mAY8e_>o^=8E@I@Lb$%&c$(0AV!g zFm>Gvq8;t|{$-L`87@`|x<~7O!|wWjhuaFNivNEwU=z;tU%D6nhpr62?tO7fK;@zp zsNZHw6$4}0hw6U>&3zPxMi33e#L_b`=zB5&b(k3s$dsnFx~AqY+t;Ul-C gq^)TfKBaIv1j+Wodd6=Ug*NFj!!{V@Bj@ z@Mi^&53@Nd`NrM)*Dw|i*690Rs|vBAq;Jx9-_KfK_p+H|oxHpAIMm(i{)l;aK6*dd zw<)v7S6dh=)=bEe&bOV0K@YH)N7&9#HTT%@j~IQ6{MO_004!rP>A9EcMu_h3)8_+f zg1W= SviTeb&%=Dkf0$LZ#u<0qD?q)yk%pI+$turs-)F z0YX@rZj;3?q*7uy6aqae{bW}atTXS9w6hoqmcB(&=xWdS{Uy+Cifh`OrULFb%TAgW z_ol%XSW+B;ZMVmjtsymFGJ{%U4&slS-rUC;K_)V};up~D!0X|H;2NU^6$H9;lq)l% z0>Dh5o&VVedQ1z51B}7r6pr@99F^2f;7a;|Pr0ZeUrMnJxnOP*CtrIu0FK34PzET3 z{jHlZ?&pUFlSi?ZwfL4fkVz|SJC)*Br`ya?B2Z-v9K(&=)4pAifb<>n4=j1A;1y jgR6}x$oDTH;3iInbVQi zZv7R9N@zHA=xn>KvRag-W5-98nr2%&LgHpH4AT-3e#%`@|5tnc0a zGBtas&_n=*ok<4_r9ru+>)?xnGO9o564uf7*+cq4uDX_6102_&vrvL(31R6Wf1NbW z@RwI+ORC1imd5 A# ?Of zzhsT-k(D@^OpN1z(pGka3epIImVu&f6rIa^GL9QCz&G53f_b>DJcV2DR{^LFMQhGM z*;I+7?oFfTAlNz+JU8h0W_;6-& HeYSSRpre8oWN$p(Va6>q zY8kNE0~hXUpwxumyk _b?t5vkvy+Nk4U5mhh!<`9^VnE(7(%N`OWT^T>+FH3!MSW6)*Ob zN#MwvxFVh*rJO;v^(lt39tVdixONc(#N&H#Q_nmfQsx*+XXw3KA2~W1e-1xzICl4l z;*VtG(PsF^5R+JIHJ1L4_`0wEik-c~)(-LTqEgfqNGZPucApHuJPvn~c?xls0W-JF zhY4Yz+krQJA~nR}T0?o{{9@Ehn4=7srZXumVP3j&Mzs?%4}azu9oO7`B5YB|8;@)e zs+-b5qY@MC){8oMGLR0gi(B7e*HhsbKP-^Xlg|2P2yBFiM&X>IMcupu+&D*gRO=%0 z|7sDvx0$$gi#}X$Nl(S%pX0)g3e-{V_z`JBNJs|nFcj8Ycw$opsi*4k%;3Hj(Ko9k zUb78SQ_>4SI|h3$;P6a L-pr5y?w_kn?V1>WV-7pb8;&oj%6=cDiT?5iu$vs1ul?v8$>-e?0`O_ zFDVNT>yJQ>U~pF2d2jqTMuz0o7?Whzi?I(GyLT!DSc@z96N^j{Ws_d7r8Pl!*lW5y z3`1zT!RBJDp|8MbB^HcSxyAYu fm1s^~&r~ce7aXF>hhM1#! j)jvk{Hb8`&bKa^G->XHR+kjm!XiZJp=wse#~a-4+&rHl z`KkBt)~{dBtyR#!cqumj`t?nykj^ M=i4+9ATLVMUopwupfZLDab50nEiss1=^lj(HT@qM0UOJ>kt4ccl?;uJZi z3G@ia{_}xdC1WYr7Ouh5v EO;UwS;p26^jiA5ijL=_j5jBc%t z2eSe-6FU0vQNX_aFaaF_>-Mh;@Z?^84ZR1YqrdY|pgeaQiR+HsTNdizxa{*47;9?J z5Bx#i0?ZM})hL7K?1v%{^2!0tvapzd?*bkJw8d&b%`_b5wrHaf6x7_eXsivE_H)*k z&_p$$#~@T0Bk?WpPT40t-TNzy6<}`wYFpTI-}NT0Z$~>FMCX0Dda%Wm58soKjcsdy zo)=UC;FyG`Ssf|+08H6bxqZ}c! F@Cmv(eRZPCu>{56W$(9-0#0(6c&)Lw35-dDoJ%*kr-@u;Y zfbG$*EEo;oxIolq!I{=tH%Z7oq#&oHO-N2&aQ?F~t6aEme&t`xn>FvkA@`Cq;ub!j zItwt&5C$w{q8n~QHB=5wjG>~?fdY_a)cdZ`J2-tIo$RYh0XNQJ;INuHlR2+_z@y%R zAC|Tm+eE+;By|-yHPY&pn2!~A|Mq;dmB1MYMp-9`dbgw|SW&~ctkx2k1O}r=f+)6( zIzIBa&2eYx$MTMB`Ebx(Yllk(%caEwSF<^ZfyMBDMk9d^1qNxMadb)5k;;qVwuDxw zn95xI#Jg!rdq9ZH3IZrTYQ}iDQo|Ab1G+x8;FIRRy=r-AWsH5lI3y?X8;mx~#SOu? zPS8`|8=T}dExXIK*B>Z1E0`!{6{8UOnxPc~RtHDbO*35~1x<5h$I79%J^+U}*7t>l zS94T-S{hp}bu@KSc5Y$>xv}xP@zEZJ8&$4P*u-uY2u4S7 ze|$XEgOG>_C28s3dwYAkyCR!>JWM8ka_whD9ymqIr@FAWP2@~oO=zv>^H{ECq?sYf zocSc#l}5v%JATj*|Lj}C`Sa(UY_ih~@9i&76giza#i6*@t`+)wxn`GtWp1v>=?3(a zCBRvS9*4utwsm`t%YW2&viHA! xU2lcmx^;#x zW=+Y@$HyQ9uNc?