From f7faa2f76bf7ed923274f27fd2b7239dd1804e4e Mon Sep 17 00:00:00 2001 From: Adam Ratzman Date: Sat, 28 Mar 2026 18:08:33 -0700 Subject: [PATCH 1/3] VS Code extension: Improve gutter, code lens, and tree view resource state indicators - NotStarted resources show grey idle icon instead of loading spinner - Waiting resources show 'Waiting' label distinct from 'Starting' - Unhealthy health status shows yellow/warning instead of red/error - Successfully completed resources show pale green gutter dot and green tree icon - Non-zero exit codes show as error in gutter and tree view - Exit codes displayed in code lens for stopped resources - Health check details shown in code lens (e.g. 'Unhealthy 1/3') and tree tooltip - Added healthReports and exitCode to ResourceJson TypeScript interface - Added walkthrough section explaining editor indicators Fixes #15667 Related to #15577 --- extension/loc/xlf/aspire-vscode.xlf | 3 + extension/package.json | 15 ++ extension/package.nls.json | 1 + .../resources/editor-indicators-dark.png | Bin 0 -> 199578 bytes .../src/editor/AspireCodeLensProvider.ts | 38 ++++- .../editor/AspireGutterDecorationProvider.ts | 83 ++++++++--- extension/src/extension.ts | 5 +- extension/src/loc/strings.ts | 7 +- extension/src/test/appHostTreeView.test.ts | 82 +++++++++-- extension/src/test/codeLens.test.ts | 30 +++- extension/src/views/AppHostDataRepository.ts | 8 ++ .../src/views/AspireAppHostTreeProvider.ts | 133 ++++++++++++++++-- extension/walkthrough/runApp.md | 8 ++ 13 files changed, 356 insertions(+), 57 deletions(-) create mode 100644 extension/resources/editor-indicators-dark.png diff --git a/extension/loc/xlf/aspire-vscode.xlf b/extension/loc/xlf/aspire-vscode.xlf index 4c427c51070..5352a86b3d5 100644 --- a/extension/loc/xlf/aspire-vscode.xlf +++ b/extension/loc/xlf/aspire-vscode.xlf @@ -181,6 +181,9 @@ Execute resource command + + Expand all resources + Explore the dashboard diff --git a/extension/package.json b/extension/package.json index 7db5f4ed6ef..abd0aa3ea43 100644 --- a/extension/package.json +++ b/extension/package.json @@ -360,6 +360,12 @@ "command": "aspire-vscode.codeLensRevealResource", "title": "%command.codeLensRevealResource%", "category": "Aspire" + }, + { + "command": "aspire-vscode.expandAll", + "title": "%command.expandAll%", + "category": "Aspire", + "icon": "$(expand-all)" } ], "jsonValidation": [ @@ -493,6 +499,10 @@ { "command": "aspire-vscode.copyPid", "when": "false" + }, + { + "command": "aspire-vscode.expandAll", + "when": "false" } ], "view/title": [ @@ -518,6 +528,11 @@ "when": "view == aspire-vscode.runningAppHosts && viewItem =~ /^(appHost|workspaceResources)$/", "group": "inline" }, + { + "command": "aspire-vscode.expandAll", + "when": "view == aspire-vscode.runningAppHosts && viewItem =~ /^(appHost|workspaceResources)$/", + "group": "inline" + }, { "command": "aspire-vscode.openAppHostSource", "when": "view == aspire-vscode.runningAppHosts && viewItem =~ /^(appHost|workspaceResources)$/", diff --git a/extension/package.nls.json b/extension/package.nls.json index a32ac426daf..4b5660448ba 100644 --- a/extension/package.nls.json +++ b/extension/package.nls.json @@ -149,6 +149,7 @@ "command.codeLensResourceAction": "Aspire resource action", "command.codeLensRevealResource": "Reveal resource in Aspire panel", "command.codeLensViewLogs": "View Aspire resource logs", + "command.expandAll": "Expand all resources", "walkthrough.getStarted.title": "Get started with Aspire", "walkthrough.getStarted.description": "Learn how to create, run, and monitor distributed applications with Aspire.", "walkthrough.getStarted.welcome.title": "Welcome to Aspire", diff --git a/extension/resources/editor-indicators-dark.png b/extension/resources/editor-indicators-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..083599f119651a63787022af66f14eb5dd458f5d GIT binary patch literal 199578 zcmagF1z23m(k@H_L4rFIB)Cf$+=IIZcNyH>27`3JOWa zTv%8^QdpQ+!NJzV+zJE*B@vpS2B)q(fRmx6L;?dZ@>yz67A+RzvlKkT*DKNxDT%iM z7)C-0mAT>X%XCC4a!QE92+=AH^fa)VEj8#1sSgc1%32WKI4!8PajbE;zC4a4`;2nA zp0u(+jW69RnWGdVd@duG$H6=r`;ZhrOv(p`Hx6g<3p?UB;+B%!moJ=OL0Qk9?yk_p zgEz(gN{5-xueD|fq7HAMB(S>8g&K)*H~gV~%f2n5M}^A4y4X>^{2|ry!H^K(gtkFT zF{-dmNg=1aJ_KgBXVwn+2>n@g_YwqvGIJ8nNMP#!%I$>5VD}Ba2P5Q}_-0@voj$;g zv73Dyc2rXBpnA%CeBdtCWHE~}Gm|+)rSb~f;j231$h!Qiz|?uWv`v(uK8mIK3=4>a zdGNczDv_x?in5_|h=9Z-DJjV;EL2ZVC%-3!i3zRHhRRK0|-WjcTgEHch5J7XZ;(b$WbGX>$yl$30OXzMmhnKrp5#| zhaS8X4t$i2`y9VKe0RwYnJbUx!ZGfp5RwVxB-Tqqds7M9jec=7U*Vk^?lXpVSmckoozB$8j6F(ufM!(-PwCMZv_vD3U;TRQYvnS0LiuA&w;H zIW#xveZ!frdO*(C&nicp8swqTD(4LutYZRVY&i9CJ0jOhn=d(O`V_XX_G!EVF8Ws9 zMA~Vz;1-D#T<0eTP+%?>j(@7^2mD(EK~Sm`c}n89KhzO2(c=J8l;}>%u&!&*fB982l9WvBzXj z0+|PSP7oVZ<}(~UI9Jo*2GQ-$2Hyq4ho^xcZsED%TdI=bAIn9(MN|9X#Z2<74D$Ct2P)};p>9C3J3Y#i zQHVNk=r4Pip@o43WT@>|@oRTa%#~X`!S4)fjrTrKzrii_^|$@5j8~jckIU;+>u0W` zLC8J~7Eoyd^a}kKDg1KmdDCd2NmaX7ouAPMu{v?!yyZAjw6`Ca=&BvjGHAr0j$AT37pNQnh4)>t|0{b z-snRqcYXg(v-7o*nGq+H!f5|HQfef&QJy-5YB*cxt{1jtUsFXiC%Wlx`sFueztMP! zaDOYGE!<(W5R`Wwo=x4UJiS?s^dTFE4}$UZqw*EU6YnRMp}<0yLRdlwhBy7)JT2%Z zPL7c*VwuC^g&P;5(GBRP=tl15>&EP6-ykzY4HcQBT8L|rj3wu%iT)y@DZVJmE!QM; zKnx}>iIwdi-6D1XY6vlsCw+7M79Cq2lle_RnUy9HOJ0gxR3ceULu^6J{D*dqlLEhT zZQ<+}TMGiVaPDYLv7dPv*{gYNipt6?%9je^s+c7sDs;+AB`&(hzKi0{*3LZ6WgcNo zLg1nYlxqkB&a91_vC^e{WJpdF*ODs9PtRE?0FUdNaax?Q27GX2rDZ)}Ei-HRp}d#q zgaRgQ{i-V^@VQ;&bn=Iprnv*#eM&VO9V@Ek>h#fsp;_c)*!19xW=^g0q2DZv^|!hN zm#jJkPv0BWW97wYJiM;74iG%vC14596pxTwgwT>OLoQJ+bkrtYHQh$XS_gLpX2rY- zyGh)6DH(4nY`|#eQxfwni|r=?WR?%T0Ll+_ZtBMsbX}{5$a9xdnETj=#}mzEx00E8 z9}6>owhOiEzGl3!(Kki2{xqYX+X3(|Tj%a-4MGgUMO_nkauuE)AN|y87qqV0h0{eu zW|XT>Ry4t#t1PC|D`O%X&5&{*(aM(?W94Vic%8coHAo=VfMkW z_|uBvqQ%3)@FM+c>9|$&0-s|s*AnlFSFL-sdwpPNk9v4A4jWFpmJPKbCLGxXEuL@GV3cjtx;Ye!Ll!4qhUadx#X+T3 zKu};U=PG6%{hm;Tv)F#x(v-*4*D>(2cA{oNFn2e?2Jd;WXH|5oYGON)uFJXfP-xC% zuH5Ft23W6IFXxJQ`{nlfgkypGi24TO#vRo!xV?`cnld^%!zRN$laF@Lc!Ew>|Gr#o5fs^ql?# zdI^47bL4BRZlHQw@%8uDjjywxkAL0$y7=`dXd(y@WD{KJDC=PHlMg@>>J(B9Sl$Ah z!?alFx)yrwm5xst92is@Y#X3<9e0A(BaJ31vyIduTk#D5B%y`TFtIKDDzUdYrMdYc zgrSsT;-YFI0-*qG7M2}tdNLQKqtSU+`xpD6jg#)BZn}+B%sm7egc*cWOlS->%DQNL zE}Pkga7kFnjUPeAN)AF7H(MF!zMFFqrxNzEG*XSs9Uh%E2)L9VWQLR7oG`!`K9jy* zge(jXMyHvcB)lowsUnl=_anU)Uj4PTAW zj~rn*_H1vcX^?27R;`+fo1FHaj7SbI#7U3Jj_}b>BpOT0$+KthT05jp>uQo)XKrwT zM&fNWzFRdD#LCBTZ0-Mw^bYS7JCEBCY?JpEeF-i?P)3!RN})`i1+LgUZ0yS;`n~r~ z_8mhTHp?*Qc3d5XtLCh(8x}Ju7_rGP;y3L`i)!p}EZI@q1&uxa951p1tuNh&UgG28 zF??_SJt5yAFoR`|H4tXQc%|83j@~BGQs{iX*K>&DLx+R&s=4t+N%H~}sy|RJ5dF}2 zw7Z(OFRhi-$gtFq)}USW)cbx7TZOJx6{pmz#^R{BX{L0hr(~@xxn@VGNP0iNcDgpK z_87DdLO!IQWzf6L^mNKeC)695^ zGQXm5sL%{Tb(9~_tx&7Hy>FWabKC?U+w%Y7SMVIa`28RpA>89Ev2xXP@-X~x6Z9jf zt}8n@6~FZZDxp1ZRqjAd(MI9P1gNjD4~O88PuH$xH{eQSZXhBqI)#dDjf?GMx^`-! zKx-@@oy&)P@2JQz&9QIHGt;)|xBL28`H|isQ)5V@c^tmOQ?zIMImTi+qhV`GO^^P{}4}7n;W3D@^6w3^4 z1@7fnZR^j20#>i{Qzx_DSAxI%6N4*JPkAwTJ`MclGvG0U$$@6q;DHeqSUI?TFaAKCVZ+le-16}WE5sRo;s|7 zz4e|1UxjDHZ~7cFF$DOYd9M-or5Dte$|Ki0+g6T8j*k;AKu>Kyp~^*J6^_<`;h(5VxrJ}A8yt%QJs{O#N!7DQ4M6^+vV!RhoH+Wc~V%D%W4$S*)ZBqF%rl zNeU|Q3siGTcVC){F+mwuT@^ zH*32;?LhImaYLfkASVN2H)|^!M{YMh(tnlUhQ$9QGm#SitB8{&AE~;m00&+BRFt>9ux3wYu)2@M`t+Nv!De0e%{`dO#I6-da z|Lw`f@jssh`9P*WIZVuqpP2r)ZAew#KdIab=58P>4H0u|2xgEz_&Jz?y#Ffyf93qQ z$G_B6|8GrZHcs}xR{cxX|G%n=BgjG6)*8~M6aRnd^`FXr&HPVAUZy{v{ue0zjq|@! zAwcuL=Vkg|qVc~^szm(`p(BC0i2N5w2;s6n*BfKV5B0x8Nc>IBhLX1wB>yv%q=?`b zw>L-W@4T@3aQi-@k;C{kTUPu&fm|q}hz!rdv2_aXd!%D=>i?BS($FmYdb#s`WO-G` z0fC%+og-8J#KqLa)TF(+zA<&J<+hVTDs4+(QmItEa%=T?slHa*>Hx;DJ4BE{vyL1W z7x&?`{ne~33HSc)Zcn8G`7JTj-`@I^#5>ao)aZ=boQ_2+&vt0QBM1BM05*#+7Bfw3 zqEQ4Ivl^9#@6vfZXAQtuU!mat{`Mk;A|W%g4U~u_RXk+34(UOXOJ%ptAqz%@vo0_r zg!v5hcX#LeH}C*KSBiy5tmZhwdZjd%<3&+Vms6A`lnLNJ^c=wU77ggP6BdN}F(ZZD zQp|p{H-V6V*Da>bW&wjWJzE70>doKX@Fg(B#xNrZKh@g#DWnr+*k7LR9fL_>;iv^$ zBC;A`&9MJ&pCT9HudP+G_FUmh4WRM0y=##gvy~jU+p7ICu z5j9jJxPL(ClNbcfh7IG%O zw-xQLJiZn>EU{c|EqJDK_y2Xy!f*eXp=0kNuxKy>5pkm+lM9oVFegc$0*y}9>fl*f zU}3iupu9gFy4kVVen4-OPyZ#?MW>O+Wb2d1%TY3Im4~ZixR`KIWX{=om&W#5BRJd} zFg{1iM9forz@D}2elh9)cx!$)zV_CE`oLT8ZKV=r-qm*4AP(x7y3DC=>xt)o%e*e%ZF8MyZKK|-L%67kZR^Z8-&Zly8M3XPVk;=u`LSU^pW<)2fF(IJdIh5wTwS=vNvKpUr98p zMsxje&HGU)IL!X9+zgWl;htaLE*~4V2I7>vk0#RwKUK@@> z?b+aoi^=C^rAc0m{pZwr))G~?U~3KyUSGG#hsCzsn){?ml*4zDzGxLjl+xs>-rl=y z1eP&ZoASAUlK332;}3(Hh+5B|d2u{xGQ=%t7wW4OYfgN+_Rnimd%Y#*&Gy)$NE;g$ zkwCh+Hdha!;Pcu1s(!o3eYtCs$aqn>0{X1D@VUj3o0-d;Zo2|%=9~e~z6s|`%b1RP z-ZM)AK@}V>L#%@@r)q;ciXj-?l49#!p&Bx=x~=Yl%~5690J`9*iz-r9@6FdT>yXoC%V&IOu&(yfDM;9(j8E1uZKQz7fn{goPc1TaZj8-<9h2 zgkjSt?+kkrIqgqUXjZvZW;!e2al;3&llU_PXx1N^{bEqb=M@ddi6l10lkjsUlMQ{V zDiqXsiE6txF{-G%H+b{BL)!eUGwC^4*V=g%uuP#ij7L zmVI$`E1M>4s%rKAJ=ROzerb$ip(Ub}T7JdEYEjO`8NFiN&V~VVnbU;sxTmPe3u|Tb z<(5}2S`@Z>AE#9L1-|!FLvv$A9=BJ5>?gIG<@km%xpJerd_pThD%jzU{G7!X3-_b% z0gXT$vgr5)kdM6~?z6?j;jWR%IK-AH;?~@Q zuPH*X@@7;c+mcKl`Le;@cK0bbfNa@*vrne1qAt-U+9$ZTM3a6vtr5>Lb?X|ENqXe3wVF-f2S-@2&8$DBVL(`i;uUA$6CZ54JdQqX{;)nZ6R>|&8^ zmg{3)zRyzVN5W;fG;2Q7wC!E?FQnHvJUSIb$$SuClLa&=&ms>A^(Ja)PzzhA86Zf; zXD=IgJn-(pP!#+Mu8>+XG0naz`b8C>gM$S3-z`lW5@c=G3(9Rw2tg;4y5-*ST9r>> zrJ1oE|BSQJ=ooA=`rV-X!-WvKZw#q13=ZIr+BX^?GNGRJ`sLU zzJtecrQt0ajvFGO0LzkeX~3cZL((eyLo%rOXHs}Y48ixmnMEUw?8lhP6_KT_; z{A*Wt;Q<}o<70bAj)4(ld)y))7i%XzekrQx30z&>JS=(*z=3$Hs(uVePb?dbuWsTC zT{UvDH2kjXZ?L}w*6y8JruP`hB#@KI9$8k>dOn`8shoUUOwNYWO1Bm4mq4Q;CDbvf z{Jh}22bg&|v8p&nW*|&p#EUaQsaHRcO>qr=h;GEu42rV%`^$FcP8>=o$S1%rzeT#< z21_!8&{kA`k~vo#PL_%!YsN!^m%2(Criqxc=jLwywwg%!ZoWLF!;rLHxf`Z|URAB6 zyAMY)HvT=itVn1N?Yg>R&UjvM^!{)wT#e3j>(1Dg=7`Kbb;?B{hq*CYs?s~0KC93qb0Fz_~Y--WLFYNc#qT}|S&kJ9$0B^8? z-wGroYen^KQ5cEjV2}j7uizQd1d_ZDIL6oT00emH(BDk^ziX&dQDg_Bew+-vG&R2& zF1kAFfcET)bJyUlRxAQ;Z;8y@Rg%#t{pkNv=Os$3nuFC7j+=S1)-EoMGg4r!)fRO~ z6b$W}^NWeZA9aj=nZy2k0WQ!2koT`)rYf z{p1hg`i9CMOx_v&ZSGgBI;%~=tGu4s95hrt33(DZr2rc5{FG*-scl=u&GmW#&S3JEJ_9MtA9yJ9Xf$FrOl8Q7T9z@! zW~)os5pC*90+n$_WeEaOj5_R)zF%R7DNinEVD<1d)kHLq_j3vYXFIedszr1Z)Po$`7zsdTosE($nK``N$fT)%LQK}QjGf_pJv zlU6o*@=Z5hcU!BIdUl;kMykI)PW5@ZAMyhv_?;`gfZnp*g=JU2J5{)8GobY*kF}?% zC(I|#lqb1=uRPX&skPL6IGcF5EK=w6C|4;a6b(O+qhdNK5H_t-3=<*xLTf8K7}p5X ziXL}W!1VFQLW%f9xLO^lZWNLzb*8EL{v@@Oh?@Dks>eHSfp?fVZ=|+MM2j#?f4Eg* z45{NLm1X9zdjBJX|D&N#%x^iQCPZg-bGby6wvKQ2+k7Q8;6s+r$hc-|OF8)QrlmdT^+1=a#OU4XSR4|vWJ^ah_fHt#Y~3mdSq{fg7&S>Wn9t2 zX(2*NCa>o-Iv9{fem@a=KUFa~t!_VKYI=yt>=DlJB$MJIV{( ztG|uph;JXYe=Q!maM&J-^K=TwrpMH1GDc|ScwTcYCi(xE65zT2m^`9><|cN9A{3wS zd4w>{ukUXUC9%Ggw-cx!U*8Yms}>BCqMhZc*;3zjYq*RRfTHNH1eo_biXN6hN>0D6 zU)HM&B6}PHZ;$gnava47WE~~gubxMZ^fP=z96^th;mF`C&^7!vomLl$FqJ4hms|~9 zQ;rBQ9ZSQByGpi-^0_$zfalt?zG2vcYF(drug^1)I1x#zfLHKSbiSIkwIl7!>qDSneuWJCUf|2S$DPoJ4FQ)Jzj*Jo zMepl7fIHhszRR}frl`+S2!bkhO}cr4mbqtJYJ%8Ro?GX;+0+7vwo@VbLo@T&+i2p4VlQ#V&gwIO|Puz-VBtOqk3GAs~K;HdGI1U z^9~`Oh=vCIT9+|Y4C|rcs|1NO>Um-`=T#*QtMU}1AmS#7->__m7kYWO+wYN63?zt} zaJ|3LahyckAB})EsZOPIPETICV1(YPe2`vtq5=7&?N*=SQ4A%?G9@k%qvhB2 zIhIt><~}0&QZ}Ns=?;2+T`5eST5UI#Ch1NqKZX0!-#=AM1S(ThwH31A!8}UsshbpV z&Eqszo+lUsczqnPoSzv?&>HYwQ@rq6IG){=*{N>2Jynf+YT^L~!+F#G-n{onQP$6d zlXNuA!+1RuK__kco*MslxA!G?uTC-oBDpLExCa%AevFtN`QN=(R6R0zhuN_cKEx{K zsk1zkwe@(I4f#^A8cY2$3NHQNsnV3U@%4AT=-H8G-s0kw+r%!6GlBMK|L(wpw>6dW zDt%rAFW8?!7*^JXj8fnyl_s3acd2((4|Ta8yOx%HqSt5kUN)D+(EDD$pAYF8t(7D5 zx0&k=-BP#e5~0I1`!xG>cP3MN)GeEYhk0+NE`-2%BLE0syv{RCk=_(Z&9MeSfEW=QDg|TA18ct78AAVecl-JG;UC*&%W`gb0zYUlF>ktv zp~P7}ombLwwiIDi5XQ(hvd7}s*D#Q=K-19qTG0U8K&}LTjvSTwjq7a>9qlLgD8;mH zz7N*68uBL}(MqbuR(&Mudn`_2gnla|5^2vXm+t6#+~nA&wPgn&y{vc9O>(B=(v2`7 zmP7>@vf1ARoSV(nrcOJZ@9IG7^ea4jdg|qAao9?fyu%^oJV(uGVxujhy?BP~eHm9g zL*3|c*2!&J8n9SQ=of4h-~sl5+g+vZ;i3_^Lp0i#H~Fa?<+fwSZ zU=Pp`LfyQ={^0h|*5)QdDe#-pq7x1-R10;5b2Th!T|{)TNz0)SY`D;qhT-{Uhref) z0FJ_Z-jck))em8~8$jPXr(Dlln|KcS3@F0cCRr_y^UgU8lFxAAgD(hxW!;%dXd0K| zA65HY*WBR)N{5ocN0G&$31{Y@#^&$vYH`0I9M|-@6OJDzGqBl|F${a-HFRcEvYYmW z)!}UlRqb_rIhd^LSb^SvIgc`X!EbY=WKK*)H?-Y)55`DuO+g424!DaSMkVL2^td0n zq(mMXJB%USPrrCZZYiQR^h3Mls))vLn%cq7S@kE1$EE7hAgM5jzZo3u_6|IZRx`DtzuK64ENmh7|o(ey^&E#LA4VQXX(a17qTtfV^F`D2$^qA_Ct6CJ*LN@N1>>VvgODbFttXtv_0r_jwnGd8r8n z4Q@Ryh^vd*d7;!L8b~wASw23Il$wj7ah8g@!mp3C>cpKb^t z??j>BW`Mqh_jx{cYj|Am6+M-9W8acC`&?Qqr|X7d57MgOJ>(*Zy~u^!qjp4G=|&PGXQ$ciQMSI={F}>1E&Si?GsZwI*h2kv)PNYf#}2lzeWK`Z-O{2-wrTk{?TPG*F9okI zQW@hHY2cd+=3{|MNlm}45hcwUbn#gu%Yd~Pb6bKge4iU_p$zlOi4qQ`fa_j_i$<_u zqA9w&6-7s=zuVm2xbCr*iJM}9?1NX1_&GUvI&2ORyV02i2$fS@l;L~>;bvNODKvi$0AMFx%fzB zE@MczA9jFP@ATGoPatZ$mlwx6qYMR#6%oJo9Wf>_Y^PKRyd)F9QkgL1JEgUk&;WbS zJ0vk`L2v_6hF9T=M}94P9?W0jJ19BT!#gBV?YZZyma~>A(G})PwUUzoi}?H+!d|thO+Wo(oLaTG7&! zN|gzK#q#nQ##1Yse{O`>8Qdop?9Xeww&x1=SA=6E|JP!URs|0+jz1hK7TD;RgV8x` zv>lwC*|@zPu4rUaxmC)#Ie=aBVo1!2PU?5JyR70e4_8YyLkCC;-QZw#lA-J%HzI)cfCKea`$BSkwL3I7m~Z6-df0>=AOw7 zdY>n0l)UVc&p%hB+X~Bv#n}BeH4Pm&h;%?g72FuD!siob6GU*`hq?cbTa(`vBK?k5 zgMTt}>MYl!xoy`U9nQ*rd&BJV{z02!3wZ!-AW;Th=2BMp`bn5*l#=1K02L1Z>@%y3 z&82i=$~KMb5O;4IABn$?i#3krplHxS5 zSJzNqp+0=48|m}fsj_LO)348ABE9%JhSq@*Hq*5otgb34(6Glq&kYOcOXhe>YrNN2 zjYxqL$$3v@T;bNo*vxs(S93pCsmfSAubHcUdQ+oO;aT$YlgXS`d0>TovVd^uv_(IX`wK(1-w_8FS~*2`ml9dlx}|c(o@`jz(>psoWGc}++(I0uTY=3 z9Q)vO@a?qNY0T+Rx=%M2bLGHw<`~OE}N%{WrGfj!-V?rv?eYZx8IwPvy&)O7G^4^j%&^&{+mi)%D?m$ z53rg~P2EZ27;J6?B2E|SAm;M2A^=KeZR1YTIP1a}kX5U;X!bJAtGC^g10xRD4i$n& zbwCS)+tTJoh3mcdCCGJGA-DoY6pj* zn~Glur}RwRPq{_3g46@#Mbieb`vzy zt*4S)pC!uVVSk#f;;!#7W7v%UVpEX`GtnqG;6IL}d;`2ux#U~e%Yi}_XB$0JqbkQhavJn}>3wq8{_#5J^} zZfV!Cm02%kiI&k{K2DQNQo%`PY$p>dh^Zxwh{-lTPHw!%ScsCoDhBRlS12G^E5Wgp zOFu+STrwfqlwO8=(|UW=v9g#hexlp{oOm(Kn~(d>ZAnEvCH-hwhKR%E6#YZ(ZG|j; zQ%ncW2(}4hRZ*@fH6q$5-PIVcx#Z6zTWiInZ#^N5)x$z!kUbw)lMsT&EOkV*T{E%o!$ZX2Su+|B3gtbe53C7_HvOpWr_L67OV$wBNXeNZATG-v`Yu+ zK4$iIHW1|k2diZ)bYx+nJ6$=bQu!Db>5EV=13G!dS^K5&N|xJ1Uz)!& z35OyUiXpw~$y~Wg51yDAI&j{4YS3A0t0DR$k5p@uEBmORHN9qAVvcCI$);wp{F?8V z7GoNXNCw9F4+9*%u;sgCfN|}{f`f(HxSEETcbU3QB*OJ>6Ndq_)}{dwZ_`u1iQgMu zV7Yh3QSlQ}mD86 zh*`ArV{zRJ+~a142xy{st3_k?$*e0nb=ycNwuj}D0ZusG2N#+j^r~(%Ja8s1tOz=# zt~^pItmVAU)#DwEu_^S)8f0ZF5r$bE^gZdR4z>!}KX#JAI6waR2Y`6t$G7>&lcUX6ICR*Z0IT4$~#DmD?}w*0XW%%6SdQ)Bre;%IVe<+ zr7@fgNAxrbtDGiwe=Mu+ z-km*)W@xLG?fF1DxIN z}N^Nj} z^Mu&Vc^lnj6|hzdvRXZ_Kax6i%s(p!2O;e5jwU{O-U)E*jnQyCTl+EW-Zz&?wd^4w z{6)7X4nY5-+v9eN%5)|%s6_!mRq7aLNm~n~4ch8*v7{ndnCU44zraJ?-P+N$THE{i zp@ea>96u@QeJ~lN^9d@SLS{A2qSJ}qIRIW9u7TjCOC}QdP?emW9{~|e=x|-jb!`xP zU=%&d4x_eQrBPp9@)jzCkXX|d5vxsS`$Y|ht+u={9O@)`|1rQ3N69asuA{9_K1IrW zGQYa$l-lSj#9&f1UbhSpkckf`Y|BAz#Y1Kse=yerpWkv)u+HvVbbV>3+W*_AI2u>5 zGq5KGf_nfjyx7YsjhKt+i8(by&aE2PaNRHhU?bleb3LRcDV@5 zfU!*tjM%z&R2XQ(F}Rp-!FDp9RVt&58#OtOCe;nZ+0(!U4%<{rpGU#qP#D`SM<%oV z+(bC5BpAx+md827`}fQl@7u@>DIC>m?L)Ism3n?k4D3|atlXqE0IKxUQ%`G!UU zz7_g!LLKR6BF$B2V!jq9Srlbl;0+?KeL+&$TriVSGj+Y`3tw|7%9W96gI##MN`v^u zw21=3MVs?z^x{qUv~d*|N>J+}LU+LHu-;Fdl7*6ji{ZE@f+RzQVDor#Zwr;4lgB8s zlD#BJoQXbd638lBY-!Uq@j^VYD>uPG#ir=9c>=PSXs;L{fnJo)_FJGo@o_>YhU^cn zhkV2tN;E{CGRQ0@5zqy?)3D%l`tOz>KVPHAc*+yzuG$_Ali~QmyB0C=D?9+}aIlIq zJmhHu!ecuJNea*upQTs=hp2H-h9z-ZEyW@!n(Xk3z#(C$v|-m2 zjP+M+aBh@w{dbv@6yf(_ktr!gK6@h>-Oy844 zE8=dpOJnt5(1lEzENU%rM_LiwdmkoBo_q0O3iKZe&mlA!Kmayo;)gWep7+k4banAD z%z7|c$JG-X%{oM9fqG6PU6v>GDL{8WS=2#i3^;~Tg{BZiBF%t^W%tVo+xAzQzE+zN z+7HabRYD7#=#|Xw2UY;Y?jubp1On}(=xe4w9>p?uz1re@L_p-hY}Vtg|Bkr15J`7; zsL}noB^wkR&(Yh%t9=#}sq`TivHn8ffhpPQS05atKh~Q>!Cu-tYVq8IphFTi3mkx3 z;PuOZqe|jPGygpi#5p1w*LdAtZ9bPA0a;E6o;+4wgO*s+>t(?k>ab~72#ddQfLEa# zmZWEF&HLwcD;OO!wuJS|o`VeI!st)#?n!UhgF!#FLLJzD(p-)}3}bloCU%g&8QNyH z$1FWzEbuj<|6U{z7lp9u3t#wX*`gsq0lUTXC66d>$=4CXI1FHefXj@roMb?Vj)^`; zGT3g=i@VV+y)kSV6@`RMIPV*&w*=WjCedrh$=4bgT=d9dhRYI+*6TU{EKvXwT8=IF9>hMH>U%NG^R=Anz_2#CjP2Z>8$BDXi5ZDDeKzEKDG zt1hf^qR`M)qfWYp$Ig(BhXI4e-p}7p?KET6hA@FE`&3LSy}L@^WOcEUc4_^wIK6sr z6k6H~hRyd>qF*AmU$`N!>TK2Bm<>6_xbg{JR!HnH1zcnU2v-2~>qBR#%!6N*$e0hA%uM8-bQ_ zUR~F~PsEoGh#WuDc0x>*+eezW>RxgX0bD(fF9Z1PfdNzLsYBii-*RS@mUdl~*D+MD z&E@;`rDH7slY?vU=PTOR*&z)CuM>NG!DdfymJUHGibtg{RG8cS#$2Z!I%5+z(DEZH z6{vqXfr$12vXi^xR{QC8z7fwOPqc8qAsW7S0cw}6Z6Bp>*Dm*fYG)r}AK#&yGxJ#z z!=kdl;`TaZoH^Gtm`bMgA=h55SfZ&OKX1>u7x{EXf5G`0fFv$3ZpDpk9K>jBwOkPu zgnZwVpZ88$Ew0&);pSpnx>&KXRPkl5yC|MrhZ|6{NZ{&6$Dq-u3p?QbAD0v7=&G0k z>|+!@6aUDKCVlftt0NrpQ)Bc9+76?-SY;r*J`OM_l0aOe8kBTx`Gt`R?@lg$k#&Pu z7#DajT__@-$!o80d08cFQDM8CnK5Rg33|lTIT(f}H7+!|;}feAiI-{spA{+$!;cQ# zdpF+PTaj$;JEkm+V+aI3zL$U;eKBxJ{qaD%+=`tC@pPYzmQ4-7bB}Dmh7+V6g|bq3 zACS|-ISe|8&xvGiT{EFbE-D2U+TA8r@wJzt8NZv7h8R@4nHe%x+Qh>(U(IMKCjC_) zf)bmodxuy#NW*C|Fk(}eZvSkUBA+beV2nsqF+l5cwH6bFvDedCtjU*Z9p8+6<2SUE zT|mKuBsVkyp`eqCq1al#k=5u$8jy*s;iX|UjW z^fr7g=q=*+YMi#X8V{3Z0*cGq)##VMH?chkn=mZ0hEg&TWZ}l0^!Arm!iejy!=QL|Dk<#g@3!U7?jyMUcV^=j?1?rXiM1VjlOYec<5 zdFybx-*^ey z{bjBp)U9%sl&sSPHFd({@%UxZ#_@;nRaTo zawCsisSFW~s(x~ujrYl3UjpP5;uZABvWfn!Gs$M>z2kIa>$QkugWbCM%mV|K;FDR4 z<0CtpwffSYMfdl18b=&?pq549d&>X{guXaXYVEsP&qIs``%}26e%FV{G|6GpTG!CWL8KpVh&oGvSfP5;lrO*-0Rk z=GLrTG0~|Y#+Ze0=x?9G;Sye3>v;#6NOF(L`DiNDd#vg#n4Nd+=8|`PiQJY=+Zz)7 zOUo%Z%GQJ*?!6F5a^0&PE`xaQ{|wE&;v%(RGYBMYT2N_Hx6<$P?I~F3{_S@0N5K*V$CuIgFc3H$mb&g&MNqsfBf5rirkT zD5@(T>a?WAotyaJ0(`ze{);4D26xI3X=(f~aa>VtR1k0Wca7?|*jOjD3vYRr)>y1I z=AN}$39w&{WsfssvXK*-5ICyWwyWtw02LtA5ndNfrn-fj)kH1z>44ne=r!e?FmbEF zW6+l}?PR4qDG-*syZgjSvuh;S>aTxw34r=zr`sVF3B?G6oLjc8KbJ7XHhGL9?7_7f zlFGL2sKxTX%QGgi_|E3fifp6c1hD~RqQ9E~9uv+6&z75yH+%JzmSRCMkI9IHx+aTg;^MytwpWymr z3bLRbCmGhCeSU}+19@uD9wyQIzUoDiN|UboqG zXofhdF9`bTmF2lPq*9?Jcz!VT+vaAm-`A%Wt0Us*D3^3@C6f2PATMOuw}c1qmeqnq z(t9%A!Ccm zbVsxF79#>YkRnFfqjD`ht*N}6hWs`!)uz?~iIQp%JHt?zM(v_jq-1@uzRR!zg-$MR48{DZS4K##r;x4In#+xQ*4t{9ONgaX^SW!6AL5Tp zxQ*e;dP+hAYSx&^F{E(J1pHm_zO`UQTrkiLismsJ>Gzx#W4Gg>Wv0%#x+pVKtHoLW?X>!;^GQ~I7 z&a4%KvTmoWYqw<&8{8?Ui!NEFz-|TqANJldsIG3=8V&@46I_CC+yex6cXua9un^qc z-Q8V+LvVL@cY;fBcixqI?tM?rJx`tI{rCO(s;FYKYq8g!J$rS}**(UXw|yqvEzvBE z}`&;NzCe z<+`ya>zCRa%B^4U4ksE*xGUc$p`1uM6U zp}II0b1{zccNJf=nR3wzp;y|Jnb_;A#GinLd3?=*vQqiib=mnF+-x<<*r3^$K}u8n z;Ye%z;a1zk{8aMSzMZ2UBMb)0sBC>}Q&KCBRYV5sdli<^&h|wMR9QKjsppMh_~Tw} z2&6K0=b#bi`=7`b7#=U|GQJ^TS<1CbPZ|R6G>uC4S;REZh0tQDltr$Yz!@xYIHJps z7A(V&Q7W)jwnypL&SKM*!W!BgW|`9P#nkK^n;lRi?#a?ENRBcdaq|E-02$C z5n~n0biEK?N^ebh*nr{*{+_o#MBBI}E(cL6JiQjks7NcuroKoJF6BB;H8OL^ZB-+f zw|V&`No@Rdg}hw1R8><#o+6Qfq}?x!hIv^2Bq0IjYaR54*A^q;GkIr^Nl#~hhb-;4 zY0uMvl_+!p{LAdE??F1!mpfZIXG2}=Uw&|-C%J72QPEW5A}I@wvDQ>a zb-}CHt8Jd)`u$>jq<&5lIZN+r9B#Efu%3E~aMvPF3~rO0D^AXMV>pU^MQ3nxVO{cY z@;8fMa}e@{)h<#SqneRcC4Y9l$V3f=ZGT?o@5{Ba4i3Nb#fD_?hkW?QOI1e!lekBo@FtxDd=_e(7MW?1j-FgEh|T?B54 zs#V(Y-WN~SLhk-~)J$W`&+$1uxaBx;0(~?5%@pEX!^IB(_X$-qu*L0KO6^@sZlJ82 ze^uu4i=e-)QkYoBcUrX@Y7#Rbcr?E znz7-S2ghNmZ+IEf1*oOw*@pd;$+qzEK31Iu=8~7MeIP- zHP1Bh4HQzDoQUXagWeF*bxXKJb}sR4OVr{>LW zZ!MbKMo;d~-=`26!2*ETf-&!x1#a|0O??F#c{|odycinBZ7-hI7F1O8BQx=Qyyd#7 zinou&+V^AM3ROy1NltN;J4&7w)6vFd&)%DhmgkFvr;1@SsjDo1H^6JPeRDjB`eLIb z#k5P82LVGr8ErRzrlrK!fK}YaGBEwKys@YQeN(hv2Z{KQp-_ zHa0bVxIg7Bqi{s#byL=7C{)koFq?OJRq=!0@{`8FHF3UOIB+0Ok$hh9kJ%ah!qN3o zej-5b>RTMwD$kq?YA)aKg!qb_h0=_y?UVwx~KllioWWQ*SA=NOC5h>+E~M~d(!#Bdn8GHSrX?Vl98-O z+1WpvR{5AP$Wr1IFW<}p>__+;y*h81S zvJf(y1Sv+ck~>DfQnD@(+orA7u&4`)xwX|4oW0%gE8}Igk<-%3!j%};1sUgp8_0$Z z{eHRA68S#T5!0Z#u;3A?&Ry~pM!ve&Ea|pc9AY9fHdw40#UB2;PEAB3wNWbJu@6Ov z@ZPxYw+^8y6;yJ$-i2%wsdMw(__$5-l)~x@g$lkRE{L3bOBkmm zxV%a4RZz0riWwI_{Mb-BnTNs{1`mb9r1~t*r21m2tWl!GX{OrT9(}vv>!c%6=>|15 zzDQ%(6CNM53-7>1Wci7L~1lAKw0l)aN)&$YoIyoqO#sh5VVKbU$|ul zAQN+sBmr#Rx5gSuQ#Yf~puR_!O|LDgHGlPiiB+|823+EC;V0gp^5+T%G*#JaWOfB7 zY$Rciv0zi?8)ey=v}Ly>gcT+1~p z@JXeT`^GI;FqLT~;@3!t`iWoEeR!XeV9u}E?4=mJeW=?s_G zmxnE=zaxHWXH0?{b~l075Dk;(WPBAW|8>=y6mIA%un|iJ$Sz*A&B~~{Pu$W=SD!p$ zjAqZkE7+CV^wC4`R~;FHIJFwxD8uoLl0SWVPbgZxay9&OLnQ}F_97CWAx@+An9v_k zBxB5xUp-U_Eaux#Nk()?pj8*!>W{FIljxxvfA{pj>HKAsu3ouU8fR{rK=9pn?GRjc zSO8xgtWY3fv3=h6J(hg?`6QYsS34BGyjw;5`5j_G%RTIX8ctdvc^!v(O-CpO%w%sG zhvPA284Fvxj6L$v;{mE|yj=5m$#`f8`jX2gOb@2M@QXoJ@ypDnJ*clkxOKry^M0a! z$gZ**ESWutzL2DmOBg=rOHaxDXfU~HMaa)AnvApJuk9!mA>+$U_@tPbr(*h=(n6OE z5oCAN&-c6`d(j#_B2Hu~zZ@@1oO7ib+ZY(17ACf+D2RMl$FG2hKhhnDNSnMMc4 zahk1}$X`k^j;2;5AhtN%-dnjv)B3)~fQNBJXm?jtB1!j1Oim9&MfTo5i!hTTM0X|K zmJ8Mx4LG%i%(4(<=2|0cI2;PZo)E2D+)b6YQ|UjW0L3 zKXB};qIzF*iWH*B*~y6Mh1{#dtHQ`WMksSGe^qC~2PpsR?xMxk{R6ml*Tgc>clJr& znEIe1EfwcKE9d1y$!0yWVjvc+mYP{orTnOl&-zUqv94OCK>Vbm(X+3|DzUq5yO$I6 zo*{zeDBTi`9ffhN74tP#hZ`LOE6`*rhu?1N1bqvu7MaHl;&9asK7K?|&}i^hG4cJx z)Ag2VR)b8MOL(bt|Jb7kc_;xV%;>|h7tQ6Ve{a%|c4@n3QshPhF^yGkWPA^j!ic~- zg4mDWZ1h#-A8NNG#L#GCFz7>zonY9>W2q?J8{CI_kN-2&`c0+nPs{Dqxp7!*LvD(kYv5JQ@ChdnKksN^WCi-tN+aJ@;m>=2IU zy9p>G$@_7Z?A4!6=9;ta$E!^qs&2+#bIqB+Y>Kn0jD>)C)S6ZRKnRDY`}f)?U~0|^ zoYBxy&sPr?8?eVQHDpzerF4c)%qL_J1<-L5Oulx@_KFbJ*QdD0wb*IS@_r?;PWayk zm>r~?%iq&EKROdsHP-t$t%L5ZZyk8! zWqK;~N_=wn9D*J9UM&xgA?#9Vj~7;BM2B#@x|n>Bi0I&W_Iye`9gcUBSu)j%E;1I% zW^stl{I+{Ah}gM8CR#;V_j~-^ZC1u2SU=u+|FC#eK7CXXFEXYMRThb_Gv5C>xaXlv z?l2xlCnH4!-co3==^3o6@0E!FS^3eY;Wh`FT7*=s2vWL*f^xdS)IoFW^!aOTG@sk) z-j;g?S8hp{Q6`f?TO|Xza46Nu`LZRYqjW!bWaAc%diBKkvwKEpuJ4tN-aGWk-5(6Ll~C0Jgqk_<{c|U4a2^Jhy{1M?zO~IiXm5x!Ne_ zZKQa~5vKrsd8A(qAb@o3Mo2IEv)GBJhFMDLcm<&%9%)bZ)9cM3;xX5rSVy zZ#ERe5L@x<{?s*TWBg6-y$8>7{qM>=v_Fv3{klQ}h<+=o@FAg^WDqm$NX7(xf&JC= zmen$p?-xOE8O;OQs3d~_4qoAjdEJ!F=UPmKsiZ1{d`Uh0@sVUE)8306A|n$ls6WQ) z1&C(^$h=+tzv!nifOoM0PdWnz5b3=wL%nPW^2btE#e^|V-YQ?v>(v)yrkw&r`TYHp z6VT5|&zdizA0DuzPKbRkaVIhV`N4iLKy9+C$EZjAzblq}l_){!WbDd#7Uz_0$C1Hy zMvoqaj}@PCDuSM)B_J+6q%Kph?H<^a{=wjfUW5oKloA12;#Dw9&-=4DDR%p8(mYOS zFK~;6UXy={Lii~Gw-Pvv?`-(rDkX$h$k6oQ_Wd^D0+S%&ywvdwNleA;Q<{(Ze>Oaj zgaJBxP!lc|{6D|`pJmp6zWz63{a>s7uNOqW#dDDC**{|aaic$!3I15Fr2`rT>F@q! z_W$=V{%b2HfCjh((V>mr$NzP&fB%yMxRL|m>)&Yayn*(k_-(kEoesUfyyKs5+5uPE zeOP$+*JJqSAfe@d`)SdzcjrH?_6I%t&o}phEB8PBy&4o!&Tp){eBxW*-!AzdefIlOyT8(@$_@tR z_Gh!kcg4bjlv*=vyobBHsQDJ>J|32T-r+BA`vyV^7;};r#AJDBD4hM#OfX0|#PI43 zQ8%AA!ru(7QWkhl-RX2W>b34Kwhs=(>2+ENSy@>Zxd6zMH1_eI55%8V{>N)Sc3}Q| zUSi0^qP$W*Sx|B6t14U{&L=Jd?`Ckj{Aa8FL*wQd^6PvXw{RqWI-O377`19?*0 zVHqMr2yWM_zp~Rm{Ss;DcN$-UQ>)bDr&23Ia(}vu?t8t)Z1sG_2ZSU*qQCxm?O%P; z=ie63YEA+4$z}>HG+{C6a4pvB!f#I3WpS@?FtGXiacTdvv->gp9{-6Ci^W{nW`CsY zcqVTljOQyYr%x2JUCZC-c=2J8{1yVcli{zSc&#%Ab+@ z-(8@K;&&{6=@N;+P3EvWqF5EvZgWe-Tov^|x{}5pn?Bz&Sm|NkBhh5Z%L>#9X>#zVi>3O zZ=MaC-@b7RE)s;~-E_N8#M$a_{9*L=0(K27>p$NHknxiK9qtNB{Hy+ief|6M=heX~ z0(8|`9XhR>{m40tRok9@Z5{>ILPpMHnClyZzd*uRNw z>sWxVt}j6LANV49t4g1d$bZ;Qqem{C`Rd5m0e>a|q-?B0$O&VC#f8)Jw z27uMw3@~vE;r?bk{}rnz>}o%%{6~KQL%Qn&tbW%=$0mdMH_1Z)6);iuf!XKMznRFh zaKP&4;o4Sdbbm7*KQh2X0@JfyYJW44KXHhGCl9CjC!6;FjK}+GV{0;QO9+;>JuuesG{z!l>QsKr5BOD+Bv)LnDO$t=kqr{|%bE78)586)5T= zk@S(MHw;-Z;$kqC-0s&6Er;U?m;2orkzd5qFakBuMZ9{tzoefh)cA*j;N2IPv)9=; zN=1dT6lRn0j8?nX7x%#&vFNT%&tDczP8&HZw^t(qfKFF-cq+^EXew*Fx(=K5|9t=d z>*L;XV!-rMw3uW&4M1M(6}sJDC;-rq{X=C-m#6J2E*y+c3I$U9ufaGr>ut|9#-}>X z#@GOnUm}*QR(kQ5YQ;fuJ!`Am{Zs)>p3w{%sx&qi*FK;UR^!$?6vfiQ7fG(&WT(`u zBF*7#&BL!>U2MqMEUlOEsMRW}#dQZ87eszMo$r3LG>x(OSPWz=f+Cy(rorYPhH z1)IG1KmyWHM#hLR)f}y^?y_7}Y}>clGPlS{25H|`GDFn4xhY$bFmnMG8#$jd=xUO9 z81|cM;05!q$<|b@Yi|8*iV~_rriYtjP3y=^#-WSdQNetPguJrly1`(T+>Xp}K>khf z=4f$$@rSY9#}Y2L8eT`#W63SrU{C?L=D>OfopPqM6B{U)Rjp26#R8q zD>8ED@d3an?B-ZH=xRTvvRcBl)u(TEWX6VJGY#zdDMAHFuzp*~3&o_L>W?Hi#*g`A zsvr?hMM^3iqXfNmI@rJ0)Zj=r;SM!U*c|TGJK|+y7;wB?ON^NaeRZ-PTD)^C+#%&^X4I%TsjToMkGHs^AWp3PP)YWCoA>%BrL4%fD02@l`^WW7G4sr3sh z%MlS(W`xiVDa;lE;xQyurq1V^q;@we?5S>J191$*$`v}JyZB=n+|5sJ)pCOg%7U+0 zUvS57p+gCt*a?_j!bb0L(4}#{>37wZG}LEsIZJqk6IfE!wl7!mzoiU|z`MnKCMRni zPN1bO>u}O?(J!I!z`rNWnk~^34JtIf>MpHw?(!&b+GXSP{%UVU=;_bpiz-#TJQm&Pc$-Yvqkq>J$7_<1fF&Es`{ft{BSH%88EOYJT z^G$}J`VSWrID-BNyjbwy)wjOvOj)?o`I3@5!|}vz>*>-*`XRl#9=nGsQQWR}iRFa_ z(wShP2*#gt{#}ie@9Z}ppDV5XTIX=SgjzTZP&=I5p;mqBiI!;SFH$V5Lu1-?9<47f zA#-w?N>vRTBH1O24GyNr=-KUwWsH5jSG|Mqq_`Da3TJewT-J3^Zyx1P2^%vAx9NWwpXC@emC4WyUhNKG{ zP9u@rE7aCtcHumKvRY%Y>_DkETdb}aqH?(T8?{ZZR78kQt)cXArrTl|Tzt6as^UT=roQQ1-r}%dCvAxj$~Rw0|;P z5nF*8G#Q>N1FJ@3`~d9}?qxHQMu}PlN9j?{mO687MCALLSqwoW7~S#jN}zl}Kw=>7 z(T@4ZO6WkYTw{XVsIaD<$SX0jP-RdUpGwKx*&Q4GDwC|=J2X2R-{dy0-gL!o_4AFz zLc?G&E+@aJR~f^C^57LVQ>hBG-~e=^z`K6agO%^Z=Y|(4%;pCJ0MHm=s!Gr`1e>WK z4LXCBaE@rC%yfY)W=Wl;d|?D0r3kzu`$4PqG+86Z3Q(QCg=UTnL`(T->)C4l3YKr%vTd zAUCrbOq#Cfwk5zJF%lZGxvppbyEk{J{;u#)>w0}$<9U}8UKcm~ z9k)wbx=LR-zZrh#p$lj=;Z*39eJ~n|lYh9+{B%#SNYG46Dc{1D&StIfus07C&8y2( z1y_<;yW*)!3JAb#~Nr2Qt0MO$A>vCG04Z&}kL0E&$?Im-3zGw;1etHlp{$cluq4BFJRr#+VymUYyl zLlGG0!=y=rKG@K}p{X3N$L*}vWj~|Ne91&ZOm)W4$3`LRCd!jupnmjgb;!a2z4w;D z_KZ4-zS+B2Et{*=>D;G5mb)rnAhs|37#7j&LLHO1?Q~I4BWWakkF<=5!~RHbOGBcz zLMX;Lr`&T+-E9Qm{U1$*8Q8aA-tO62m+$u6qOEh%9F1f!srIy<)fI0hMs=b$JKRUC ztgQ50j%sir47B#rEmElz5th!y47w)p4%hcwYZH|U&A9K6aQAEtrgJ8`wViQy1RJE| z^0@WvUgq%V!u4`1X>l3HLd%o;Ak{A5srf!!`zgzScW?TYsk5CMPgby@9^N073I{YL zw)sVMcHyjRrm2x^Ju1qMG$?(K+2nDe7di>=0V$!Mvu~OA>*MpbCvoa}ayuaFiq?^A z8pAe2Z2#&!PrrMG)FtMoEU<+r#08ay7T)Q0^#5QUKVUN6W?IKCN%yh=+KzdWi7HLQ zQ~hN1{+$z5Tm3!8*U@fkRlTEo8io*l?<0v+N|Tf-v;4{7Qr#>qP`vwdn?=cAJX<_p z!ItVh+ZpUU=q_zT4A#z=-Cmyjt?-;==#;Di@+Xo0qJSa5`+K?j`XOMONl)IJeBY_I z?4+%0EeSO!7*=PsB9c24p00wBj7#m!VWkwT`f{04wZ6Fx3(nW<{=%Kh1AgEOOoy8?Xg*Kn{fGzK;s!{hy>u-Ex;;to$cg}gxT0EK2< z7#ibU#%_=MdFD6kyoe2P?F^;){%-e?4e=ZE`8=$yOgNb%jlfgI_)VBwGmD-)E`s5b z+51&_D)LQ{?V)(ZrZ|nNE|&eLNZzZ27SV_g!WBCAeZ`+QN*&5H>`vFX54ysa_xMh6 zrIJyhsBR<&vtjP(=1=98t%2C z`4sj$J}TXDw7XmnAt9;F>@+~7?Tv6N{SZMIis}?Z)NS`<6C@xwEg8p@U9(+JyTif& zTdMg+N`5@MCmlRIZ9IZDKF3*I-imqc_VPjCU8Lyh4=&`f*ewszHe>T3Hu^)R!J~WI z<1Jh5mA4qwBrjpMQpCVAJ(mRN7OZ{?Y@uP{vyr7 z1vope@1>Hd@+~k02K4GRXgb_r<`uwpy1O7fb?!3u@_0q>lYi0mgb|BIOr_MC8#%|2 z1m|ZB-4d<)J{6uQV>r#~L#kub|NGACbEel_cv+fD$@FTB{7kH8fI*EiAq^QEN|L4sB^kd)^z&Ia9&)>&q;sS z@${8eEKj$#%wBq)(r5esQv7pj?BnN&D zc7%cME;|JU;596feYfBA3GQZ${`@$nQhkO>zY8<%&*kMIxD;fc=cEnX;LJhG~~xjY3v<)p4bd_f;nP ztFuqKL8BGTyS6X5XX>P+5)?#&JC8dUVtC!|QmCkTUyq~3(#U0Hetg_Hc9(|Mw>4Cx z(rZy4*%sPXGxh{D|0 z?3I|rzO;$}qMB6r4x7pNH>5h>9|@|-7>?mf_buFyoxG$A7Pxm$uU@B=bt6SeRp7?c z#k1yl{z)s=XDD(JUx>Q-f2b@TK6pe3i}2l7@?p^HaNUoj6A3ZYoqV3Gb2!!rpa7Vs z_Pv+P7E3i#AHrYX+it#sJv|v%`&JCvTU$i`dwsAC`FDXN8tyq>CYJoOGjo;3=Rs6Y ze0=;G%XJUI(w~DG8AuGFSX_n<*{IZCXcWA?XCdC#e+RFtuI%V+Q-n>FGmCGb!-W9& zsOa^(%ExBaPYYFB`T}OPdBtSoSLlaY9jLTNKhpc_^)>`3S*+Rs$nXz$2a|Ofnfm+ zV#`cd$kY-RAv^_x3!6~++Bt;r+2bhyBH z%9V!`00BaFwu{%rX4o@|7*Z`hLcgdtFj0h1ovW*>+zrimzfY|=Iq5v!I60x~b95Ik}iqn-5cc?M%7$X0MeT74q%am2h}Od*{|x3>o_q{k?l>I&n1fHeyI=^;L-F{j*WXK-73N z4SmhGynV+2t&nK@j^f!8`N?uM192%+c!g?nVGX!LaajwzAH*UNvKf4{n0NPUt~Qi#Fwgb-!riy%5*i!#0#fDem21`SBv)Ox zXPdpD5Bk=J$!n?{Wu7mxgjNbaQP@R8KBvHGUvCmb6Rqm1bBzBaV;tBFkXe(A77A#Y z*A14+VMC39|KVUMf8-DBnu5LsuQa;tR9Au~sK#myQivH1@jxm;N4bv6V1xB0MOUN2 z>*^#LCCK0HfITV<)otd$?jdt23UBWF@Lt(xu`v|;#!ZXh{L6QQEQ0_&MzVz% zrzWK)#j{QIeTl)iJ5fV1;r4v;=eH7uav%5h#5BZnhG(>DorN5bVfaF{Y59qR!!YS} z^l{Nhf4YodF$innnpM==WVxE(V$>4N%Wi{*+$5v95QvG(cpuk-ZrfgzIA;elc?r-4 zGS@ru6Y9z+LESTt!WMZs%Ts$o7NyD^(=Mjmbm`}iSij@89E#*ztI3V=&o zu(!G1A{LA%QI?dbhBOPcL)}gue}KFti(Y3c7$5@in?^?OuUkidzpum)Z54jk>dSZ& zS)jQgdIePGy39m**1b@$=Qah;t0{OQ*d=KWs%0b%CmzK--$s?NNl0e%I2^C#Yp@Tw zwK4whSn)e@JncY#j6P4~{fVTL(WtkMhU$w}RsRvun;peBPAlQvW4TgQ4x6_G1XQCF zQGNxQI8RatjvSbQPSmT7VrLsI5xNPyX*9By(7SL-T6l`OZlKmkA&Fj1HW15MFD&#f znvcPNir;h=@r9(#D>Nh!7bW=DVo64WT<61vqG{wUUzko57x8z#d_%aHs^p*<8a z6l|9+(Wc!d$J4eCxG4__zjA9xT|*C}qjFfBFAPCeE-5qLA%lhPp+2sSNAsS0?CYGk zb4N$>aL3r9quE4=iGhMl36RFFf6b!$Svrw2Lf1E7rDkLInGjCK*zN|w+d`D=zv11s z9AmFhS&C4RB)Py_X@NAj(rN=;Y>TcmSZAwGlZjMG7&hKewWHG7Pv(;|*0?82LM04T zVh|`M7%eq2n=dK#Oi!U;SEq>)hIEsxy$?&~Z`UN*4mm!UF0B5bi~YX?#P4wN;sB8} zaJQUkHBcU@p!GBsu1=*B9 zG_N%W82?uIQveC#RblO@x}jWZxk<91#||c~4m<+RC!`Q_#lrsYv@E8L&3sK$6c6SQqu{InDsd*3K`!#7f)o6niHAQB&4X3=~Xdj=nW_LhIZ4iPg>} zJxH&$nO)p)|28VEa84tvDfTgN3XF(xzghJcOZWo=`NiX+0%QvwmRzEnp(EQ;4q*@__ooC*g4d24mdwWIAs7$)s9_6fWJ;Mj)IORYT!XM z$L91yyX0V0Tp3+~9k zqd0MGLIqC z?T42brcJW|iGLa#vW=ZUhTi}ahp^N+BMm8I9%(q`jtgHE z3RIXSPM}kQ4(rCjEmJrkPEpAY$w=m(osbq2qE{>!VsUJn$3^*qjD4jY1=I*DXYAGa zg5Xm^LnUdDE7RuqNvI%e=1^6(HNv%8k=YGoys2QoTQB1Kq8P09IfZ|j4X3ouBEevC zta`jWK`vC;lG{`Jfww4TIdaSF-XQf7OQdte%W0V3+RhedL{S+@OcpW=1#t1pBGiU> zPDUrczkkL>5ejf_)pTZXm0ztXDLKeJ0@y5I`VmXl&-c zFdXb*%5l5LpJK{wm036c#rpNroki4n6a`E0&FNdS@veVgl)fQ8!zAty>eGF)5}cf( zh$8RpuJjwpiXEFRRuLxcf6GN=v40~<XsU2FO=-YU zD=}oIkmLtA(Hwta?O-d+s4i?-XxwpL4J;jqn3PJqB)fVh?bH^QL-LY@$R9hsrx3Nn zdSVt18IJ_>Z6C4wQ5kidzH zn_C+!D}^67Dio)$oDod zBITW86bU^5sDlu!&o0~kfR+q}_*@k;nAeu!tq}R$20=9cHc@mC)O$Ri?!d@_FJCHv z)K(;DBdpk_#g2@#vDF_b;4HC@H;J3e&vom>2bN@7HearbIkZM#;+=!p9t2P8fg`sl z@f@Z0qn?onSs4+A5@iW>JW4HB@$$+eYTuwOX<2Yk4x2`{Hum}r<@x~x&#~z}w=qIA zzd@m zPu4oIO`<5>Aq5>gOe?3Me;z5KkoU=dxmrLur?uqv_MFA?&$0AoxokJ*b3{7rI;jzH zP2CrjDW>dG;ns2&ly4ERAk3k{|}1(W3bWc1M!mhG0^Y z@nvus6+?q0S@YELV#l{-1Yz&TJp)6!!?1{bWxk%SGRKQrtHhjdm4Xuq~ z5=Gn)k$8N|2fIKjnF!n4bQHNp?b1GAqqlr>%(%QSF*I6d@xsihdw^&TloX5hpY>*R zGLf-Bz7L>$^4^;))Waoa1#HOVwQvb@aXz^W9YZ<0CDei&(^ZbzUQW?Rek!N$@6B&8 zqOnOQMP5d^X}@>yjGT zrzrrgVQcV3bLp!$I&zhGEE)QvuTRr>I;(7%Acnh8fN4AN{xh4yQxYNPY)DcRuswr9 z?_(EZ42e70F1EtkmHdTZ!RfxFflCWy{8r88FSLd|>-ZoP>1eD^kz?r`#X{j8Iu|;> zUdBGS8M;1{ky8`RFO;7hE!sYDw}M?bo&&FnjZnC|6&hamZxtT7g5@-7UBZ!Jh#&uM zlb=5fB1LViuk1!Gmz6tzI9YXNP=sYme}n$QE58V6OAiv-V)DbHf!4$ZEk_5hC*F}m zk~=us29nEW2BFq1-HT_Qq8+K89*S#@CzxWJ1BbE;^S-0pIWXj<{5rT3yms2s=3%uK zE9*>9BSE-Rrz>#Xrq2b#u|Xh5gbNa_gS#@-R~U)ijFwsbC3~XD#A+t%r}@cF_69cI zZ(Q!681rDvXmqL8>erlwdzJ9*r+3k=F8S@c;cq1k2ii=>d&6;{ULCv7d2`{&EZ^pc z%)y0}d^s@^!PHTTe9iP{kosG)lZHXH*Y>XZAtnEW?O0?7Hh)vxVnLNDAgmIXA9CLS>Z zQ7VQP&MvO5=7p!0z_bl=ROog3d_-LpN=5}Su4OYL;8A@P)lV`vH*NF0Lo$`v(&g_; zziB{wz$a!^xQaL|(=xm^#+l4PL75XZ84kB#*NIz-`9Z{4L#iuI3Tuf zWAe-MeZG+qP5;OkfZnGm?Tv1Gq`YHOmwdi6J;D#)jixr1Au;8J!VdmCsF9z_!Xd} zok$NVje6yW>a3%Fn`tPcT?!Vr0(OfVvPr6h&~9@?bx!gTfpGO4?&%0G-4 zGx~9A0xo`SH?+MaW4sFTTXQu>Kg)I`1xr=`U0Kttwi}LO@bz|OJf`x<9&YgsL<}tA zB&$XE0ihk0jUx5fyVrM7;-J*zAa$neM(%WKK|F8|*y|NlSzFY0IiWyt>zEJKJ! zjI>Ax{xvfZBS$n8BKHfgH$t;+;O64R3{c}E`Rrw+(Q+C&-3Q?bRBM%S|S5P zibkU~ViEx;Z2ERXy&A_^hK9k$b9D|5VxO$E!H`D~)CwnhDiZ)_n|etl|L6diS9()- zlSI`lu8&0%`L6U{(8wL;)9-+z)6y25uL!tsH~Z|FC|;i*dG{yt@c_6E*0!e0);<>A z13Xq(x2RWbiAqQEG&!xshi`|>-&b%pn@GHD=MlTc3`%Hp9EW<6JASCa$$L&+;Qze5 zj%~NVJHk6x7xJUm<$cg(ZBZV`%%?GwiiTQqcY_?Rmwhl#r^9>Vq_v7G zAU&zb7 ze@$?ej@9>T`3l3oMmZ2tN)SAVp`cC{+Jc-H@zO9LH5JE6rR;DI|MBJ+XC#w#e4ImT z06IyK&>^j1;$qz)=WfFL+3L*maYPvb{T>n)ogb82G^qs~>j(k2cTbfaMrFd7mS#Z6 zumQ2&?ir{`uWKS9Mecfo2OSL(_A!f#gr+H11>+i(_MOdwxKtil@b| z@l8HR4+R7ecTc$I2xMqXspoe| zXGxD{=a@aWHFi8+6UUC)6wtq`m8^dodH20@vQvHL{(0Tf>Bt>(?j#wEGotk4A{_~% z0Y`5D)};2vuUq;r^QcOfAC|trAgSoKKl1e=4*HlSAsx>%7vO1K4T0i(62G~5$AniT zrOEbj^=5Y$k>(sdrzTD`+KAMywY-&uWRSp?hU-(j6l7#@JrxW>V`p4x_rMRRp+JpM zJa;@=IC^MqYaT8ws=>5m%Uzih(5(RwWs7m45$a|APtb=3mOnTQ>o&3ykv(HQV1T^@u z;1b)Rlzntcw~Q+-n3cZhDzX_kf3}g3@R6aVg+!*S%O~=}sAI5r#J(h{IQhjJZ*OdX z%@(WP+BUrs-EH+nT>n7CWCY(uf;JZlNOk2Jh$Ag&O2cKhncm>43>Yw(t409o1>NI7 z9c|`}-%NKGManQqP-O7Exsb@{(sc*3!&ioTAdL8k#^ixUg#tEg>moPbXp*hUGX5^2~O1K+M_shTyetOU1a zU!9t@#qELbcwEUR7+$gHZkHi?Bh`YK;mE_;VrQ#SU|;9t^i z6to`(NH7M=M(6V?m7t^{m&X&iNVi~h$Ar4Z8SSQH}&SnCM@3#B8 zRo{($1sA11IvcG7p(_dXwKE6s?SQ0vrGmcx*jCf|A1#1$jt1zltVb$F^wB5~YaIOo zQVxi+TPWb7Qev+Jfqe?ypY^o$^HOn}3Rh>Pe7x3=mE}x4pvCxRt-^zEH)L;ACM_8L z$HYR5-dWdk6rrgZ8ROT8(jB}2dr)`hBtYe>!d%ZuQvX<6F!v56zc6dr~ z2&ls==x_5s*4gl+kb$KvG>f-K&^gg0tNfmT)DsNt$^c`k5$ui z_f>T=Am$y`@$KgXpCN=D0^ld2-|YICO_-x(8wf*iDH)qof1r}Qi^c|v&LU(S@Skb2 zRwV-Ub>E#|a@ygmLVjCe4U0q}t>&JgnZ-zO3Wpo0@y(MK0{~TnJ_7QEqs7ggQ8K|j zVGq)7(6*|ssp)vA*k7`%oWW4Bk2HpMQ>oDGO{hV+PHRb(hF@W;su!tSKX+^gW}C!w zq5nCM7Z8NN+vx22zNoXY^_LI37Ou3G-81pQ@H^JCQkk$v$Dq!#`O}{Z#8;XY0{S`Q zk0IaD+lK=QxV)P!*Gp=PEWCSQh-AB*kk;8bdO|*+pR_nb&Fi!U_^RD*Jia&6R)iU^ zp(J#P8?YLDL{D?Q0Y~Yz3fL4!<>!y|`+0d;IH2jW@xkr>yj#gO^b$a}gZqcZBVE&{ zal);QXJXfcV-G{x?2Zv%MBuT*6Y$=ZGYIyLoXO_&oSkn$WvOA>W&R(=-ZCnVwObbr z?(XhEf@{zq4T0e9?(V@M&^QElg1ftWkTfpA-9vB)uBWo^-eatF_jkuVKMT6Lt6rb; zk@;3%z{xcVAxFeNm}H^m`!r1$>O%pEaJ=)ycP~haFaoW73Tb|>Z8*XDr15Pv+4<=S zNkKCw7@G9gNFu=wEp6a?Lf0L7lgpVTj~Zp+dgOoNp-cIGm^}J*JH2o;4(oDv+;J+@;pS|O2D*U+FAai-2$YwzL4$nV z0i<`BFM8qiuA4i3L*hX0| zO$}dVTrFjET-fidME1_PFc%oSL+w6-B|2gX~+X z$>#w#myimN$=<=tk9kfvpW*~fWuy;MP)~*1;4@!a-mq?PM5Bp1wA)anQy0m-v~O;c z68JwqAieWYh+o=%*c}vJbTz3GBVVJHiIdvQp!FvX$9dNsUgP}h0E zhc?|jC5c>qtG%6)77K8-?XQlrS$Hg?F6kI1X!?%`^sV=s)XZxF=muRr)h9EQ@;;@Y z)5ACsFIMRbMfkgieuU}`L4*$WDZwo>h463X8hZBzi+;XnLO;?Nh^Fg{8DetYT7UL@ z+=3$&X+i5mXW?kGs9Cb6)O|R}e;f!==)a}#Y+Qcu^Cg-nraMhlG|m zP_;9dMlgx+gA4Nsk5}k7rBZSI@UwXAZ>ED-91Pj(JrTAaBE)`JX8NKp-y{JU_tMqI z4npv9AtX&TTE;q(>*5|w!pLb)YZ1$Ec3xf?NIOwNM)4%s@B{I8pZB?5Q@% zQ?|P@pW99A?&`m9CSfIAGFM`C+@|}4PG`gLcnP^tcltGAt!(xVu9=jcp(d~nAgAoT zg%M)2VXK`Gxx!0_}dL$FHjOn^rN0Or+ZnPLTaH#J~z;ihN--LYQQ8 zt7`PY&RKCXYrVvyCZ~TNZl^cFPZaIQgB%HqS}KTdU9s187?kLzIoP!w?z4~ZQq^n{ zS#!j#dkUrxa}B=}!N~RnugQzc5Q&W2utZ^ZrN=K$Yh`M3apVb-|EYGa>$oUz0h;+l%p+8hUi`ThCAY z)m+3(Nm*zkzxM+kZ+hb;5N3U;gKQRT8BQJ7I?*dMnN>#{BPQ0o10@=*q|2W|GM)iYqu!(SmvckDFHR)c0KVOo}R|Tg3d~4khcX#=PA0_EF9WkFSYM&@6m02IZ z-Axl$P6GZ04>`a-)V>O=U%Psk3t4asME3S*xr+ z3bwL+TqtQMVuYnxuEAU~B`EmL+m6zBe#~~d@|DTb?3!|Af$=96vHCHqHhU$+#nAqW-WeGwg!Ff0xS(I{8QM-wMPOIOXL%Hg506X&*UtxM z5$}l>kt2p1L#`yZU#8ls*iF`Z&i|xRiFFa}gvM1c>4e$JdEEVA0pQ+<(RM1YoyUoe z9}2KhVWfQJmP}yWTQv64HVuXY@9gNI5h3lcWjAu&VdlD8(+5-IChDV~b2UaA%lFl5 zTsXt|QU~RX<;`uiU#tb|qk-NwAjKe@GsbJ(;o_tF!}s+|vLGrFsdg-45s}~LsFe%Z zjxUze_=LT}$;=ux?>@_g!eyfNRFs`htlMFZQ{_{#heOU~p(V_$WZ+Z-TYi!Gz6}*= za^xB#T~x`EYD)3Tm0N4x_8-khQpz)?Z<2c}(i4E9UttM8GxRe{X&vF9SZjw?s56lm zTXcZmb8GOQkX~#bIPXZgJRu{^I|`l?1w}Hpx!$8j|JG8E!(F~y|JfqSsm7g&qauo7 ztG~W+hnIp)Llh~T#c6je@-d=# z`g)xTd;xFLwDp*abdKyjIWd@a=GyfmNLZJtRvz81f2 z>o5A3@$;KGu5g?W97^rx7X!;C@$(bfx(AxIXJ3wC4m&2tstzCP;9(+;B9fO+LPakQ z#|OBpv-nX>1@BL3fEB`4uz^zBAuIp`nidl9sl!g;pP7ta#6{%5xVM~*^Mn*VPr)6E z$pKI1a{I8J4D4g@F910pN5l_1lG)n=_uUSl!*kj_Hx}x99@mKFn7vVDGbJWe`?iO_7oF*(2Io0pb=*iy^Wer#$QVr;lMn|bAqZ~``{?4+gwm^$eRA*DZz z7tjkb_^>(v?``Zc`fMA;(b37-J&=&YG~(E>$G@-C7(885$A&ds^^qbxNK0u6k_Th% zdQD8BcqJPZ{OA#Hrc*DH%q&B?|=fWhZVwaX?40w5aY;P8)RD-3H0ttwk)VR)6{|QDi#pg5P`vZ3()&6Xu?Y=m!eY83-Ft9 ztnaBJP`zG{=U`etpH(U~)5`<+1CETSSZ7f(tTvI`+yKdNLi?BAU=wfB4kPKsgyg}Q zsvYy&ZGq}hc*vI&H10`V47R?4Uy;|?+JdxF-=rCwJd-EN&IJ*B7Tq{=_k^6n%j3q& zgzF>g0MOb@Q*-(foGm{;3l}1Zyl2?%2i=}4$W{gV(Ns7heyX3QycUiYvN3#6P8*Al3_kKQO54L;{?8$n5OCb zsvnvEGI&H0SN7ct?D8x>v^tpEZxtfv_xb?mR-GVI#d-GTl;r^iTe60|M5t`BE8tlO z;1cHgLpaa-#!=4EWKaaE6gYCEKNl3iXxmvy#xVX7>GVR1J=23}36|;Q$rdMm{=V^| zL6=bKqc~62a!NW7y~FCjxOsCjTC%w?NfF1XN**4$VM@C&NiIg$v*i&^ODR2l{CtQ0 z5@0xcEuDp=x6Krw`*in$rjshigy^MgwJmY8V_17O54Mm%)#RI&(9_dIO?^)-UvgGf zg`3ggU#$|za)gQHcDBqP9$ANnU2;Xo5ZcWA?$W%=0cZO1ovnzoV5=9Sr_)Y8Gq&b~ zuEjigqf$cym@P*{w4=UzVEJIK1gPn%{*9+L*(R$%y*FpQ2hIZ3%6Q6BdX@W#OHzw| zYSCQ2qp;?BIgOs`ttqw)Jny@Ruq~L>X!cS(7R67(*|NuVMOFvK@`I z7>klBFI2?%Rh*5W&@xL&R^MjFl~4yshcu=a+e?$&giE_4Zxi8BHvKSvpX5X*m%xjx z{QkURWNnU!E*b_sz$|>HkjgjuO@-n{;ixK&iaDHO!fRRY6h#;eRQS_9 zcOH1OqWa>BtbP=B+UxT6wKbGT){(swbV;O=2c_jkZ-F047={md?4Tor6T;i+W62~5 z)K(-jM7~W`DP`Vd!QKND`QMAm{lTM*Oi|=(NS{(G-aJli2jSM~I7gF{3Ah~svEEtf zIT`rm30pQC)z7EudZcs|RoIB9XZs#+rPPuFX`a#HKxRH&9-5VlK=Q zFBW+d>Rygw5;@|!KLP^|i^Y2A<&)N$tJYBFMQM}_UB-F~WYNKYv#FIp^21~x8mVI5 zE5aSfri=Es&us}~kI?Sg*e#Y`sQj`90hCtf`X@@NTWzxCM$FUPgY4{uPRVz1c4|p? zSt~742|L($MB%iY42g(w#^A@k>3)Pcf#HObFM#PHv364_UZtG0EW+7BY@YwdxBTnn zy41dyB2{I{7r7GTUq^944#KI(XZ3^i*rQ3u{uf?Y~ z?nyr8J`NmG%TvtBHiqtJKhOHG#BX8uqiMvbZ5ywGJe2G|YIUa$3z!X0;pA_4P#8-5 z6oXT9b4Ug_?$VBo`n2jYHlGPS? zO0p4FJ=}nWcRgJ3<;5M-F+k;a>}S_%vds|il`C1SC3L3G50@sY&%cjAwyv^@Kpmln zE*SMx^t{%nbIKK>&V1>Ay*lmTEdCsv^#_mh_i^&1QuV!h`Dsa2-k$RTb8O<`QN6tlK z(0hlX1>`%R`*rs}M)!r?K-U&Ny@eAT{-t=P9*w9OW;HF@J(;Qq|H(0)2%5rwe0bG| zvV>@=Yk?f>YB{2*;?@w*FAn2jN{ ztDCh9O%>P5HOJLHSj;1lX6fU|bymL4!b|MK0M3W^G>H=FK_j;_Jus)=L)U8d*nR(v zYu4gHQvobY{ZHvMoZn409c9eoctZKI-_W=4ahMEz3HDUUUX6~M`aKGm0EOQ{H+yI2 z)#cD-n^QXG-<{t-DnhvZu*ixvi{vN9ruZFsoejJ}C^fusu11UE5<<`9vm6OaR`I5k)dZEzd%JbJ`}NYABYvw@|l;^#t)%*%C&9BD<0 zay}|Hy0)^iET`!q$n%fRJpx`9^;xh(y!3jfe~5V^Nas=Tc4Ed7Mce2q5TLbbs> zey03_?IIykLSeq|BBdc+aT$D{jM)@YS6xA9IV{$An29mB)vBDFyrUR3`(Y%ZXA<`jG8%<#j9z@x<2@4zk z`77UC$|k;~1)|mBg^=Je9p8C}r2a02Hxisc5-|i6hlprKn8qHR&0fGJQhgf(Q!`G2 zI@Gc!zwKFOr11KjKPvy4iSbi|(FbH(q+Fwj?s+kE>%(rmTF6c@jGVxwi6L6U*d(dr zA7`82+!Pw6D;!T%g;uI0s|IQ2ly2?*1|6>|>XNWS_%r`CT8i3!_{V?e#3koAq6AEs zW9Hz;%W>`Dt12+?y=2+(gL#!&X*nT>!IiAt&*xul3)H_)YW<|(J?2`acfqucKwX-c zo$Fi2;+0op<{r}?wOY}ZHCqkvhS5P~%s+uXOg)3X9(Bj^TJ91}p$7%U>;1?*I+;dG zH)tG?jg{fqBGuWjl8mCll4=xZfpYf>L89>t4+a}9e(->m8A14kCR&ZWy&3#U>? zLP))HSMAPjX{8G;LpA&iyZRzya~a%Dn&=<3oFtRS^t%kk*~GUzKl)Zj2#I&>`dL1` z{sbNrb&6_MHQlVo1oJ&~IUzqCcY=0a3j=eB%l#2;I%Zo@?q~&6DDMZ$7cWMO5s$5t z-aw&WxwSE2w#HFvjbx7{x9kF!|HDb_`&NmQGw77O2-3Dgu{xC}E^v3XRmF_VxA5h( zYw3|3NfuufBx!dWU^IJ}2rZ$y=j{X|Zl=|NVKw&YYlryY(8%pdNI{1rDc)}b`@JNn zTAy*d=UF@NjV5d8gBi8D&%~h)P$jI_bk6nym>xs_po5BfN>LU9iXa|%Verp|52DX~ zk>9T_XM`}3p4UGi*#`D75>|4xuXtS_ChG;Ys`xh@&QbaM?qTS=a5dTeRsjnHtjM<| z$r!t6OQx%MobbMXS-iz~eC4TzdL3~3{$~9wZ+E-tZR+V4`W(jhd~-A?$nEsQ!47#4 zIy{*}MwHDTY#RZck#bLQprMA?9IDsOWX_d+O_nlDLhAk`YPEKL@7EVHIZ4S<+>^B3 zl7RkY^?GSN*Ubp;NOjSAmn9P(O0L1pxYLa8Z6tS>CeVl%RRF8xi>mTdbJ-3WCJpI#wa3UDRl8^XwtkrdaCdhHon0{eFj$I26l~ z2Gtd{=FMm}I{4?8(dgR^)mk-Wod6|o=ynb2C^&578NF^5y!d8r^6*kpd?0ztk#i%Qcv2R!fJkr<>|6-L2M|!4NNrd1a6O8X^*tAhyL%ELyNWk)c-;fmY!h&1W#c1+nTiGt%S95j&hsdq{gF_{( zmGe2VjoW1I4I@rh<^(2G({BS=w_Q0yRB1*<@eAhAF^!uv$oVf*trc^d)vq)5FB~rY z5`EPzM$D)QFqXXiwQW_izwowP{8 zyQfBJ%TMV9LvAYm;9-{8IUmcoAL{;?yJz4;Q)aBrOyW3{szC!&N!|NAI!=ZuU&BVb zI<@i?myj|T+!?p&2ZAZrV;I>?9eqWn&oB~Za%T&2u*>u4)$RP>KU8MotGo;)?zxP4 z)O6-WmE@`84)&&X|7kAu#)a{iB&qhLP!4rVl*FfOVHfonK*TanJtU{54i46Py{b-J zXn9g((vK03qta9kPwa*HX3|>Tb9)Ku61fTPhLM54`=#?~g_RwjsCYF{e#IYUO-?cl zh=n9>iTN8P0(n0V=X0!WZsPAb+SIF2CV!#uZN4V#CgMCg;;PhrT(VUh%@+>Tvw&`t6y z&D$V8I7IRf6Po;0HIIC&ANy3@QkS`51=XM(+Wip(&hB!wG&ob!YAXUSV+)KC6ndXr zkt2%qT^sC(a$U3Sj2sDMGVPNl*zK`=`&55=1DOk!ZKH$7`E^^F5MVsGWyA$Z9TmB@ zWFPGJV&T<>j(DD=0lQbwvyTT6HxGePr*vIH9A5wwxZQtkb@0vZyA)Q93Z!!XzPQ6AXbk zl%l9TfAGd=(kQ7(G4y^o7jT>lCesC4RE<3l?|y!n!65#MP40D>KgZ%3Q+C{$27-FI{;m;ykGjcWlt_}a&k1hv8) zL8`hJLPr=u-`;8yQeDlQEKEQD{UGE7tsK})Rh`*UnT{M>%w2-Ma;ZeE(paAB+mvX9 z9h5KaYW&y4xw2J~zV2hApYz`}fh1{C6<>YQ;(yx~M!eYAYL{;y4@Vdapd_KpBDwPy zY+^63E2)YF8nWM*Xxs?f1}L)wbxLJc-v^*dwP>!&S=Y~*Ibjp+E8NOfps0f4V1}mC zB2(Uhw3JZ8y07sP>W6w@a@ANuAhScgN(A@{*icJ8GBaj@-3`r1!E)LZ%6*XJAJ3>a zRUr#H)HIZjqA?!_HiN$sa2QB&$4k~J3*=>%<$UNKWfJ?GHS>W{?cE8}!x`tc2=j(X zx};8=e7K;+KUe{qjvz|fa8%WK!r+qy#~v!#ot-$IA{=HCE8li5=Jqts7R$r=3WST7 zJB=I>`wZ{p6}{)$>C=I|5eY>&v2B zAEwFrV^(gbTz1Gh`xD1$Lxf)f#jVQ35{#EkXgN`z-Br73IW-Ksk-Bb3^D8N_fW1wL zdWRmHqj+0H3)sZD-eO^aT;hcMuP_-zTMbAao<_ zkr=_{dwUL)5I|G47{mKHjZLHz1ZF;(_$EMAVt4tldqIO`Dq+YF5pAnkBl@G6<$92} zql6H?fEXzF?R~E}_!Q8G>dgFJ9Lzf3{4Edu{E*qOfKg5x&ioUb z2q)D&%swnR@uGgU#dZ&As0HTt8XCDfdWrP7~Df!B999*@2Z4=gA9+3AMCDWr-dcbS)R zaCa&0_I_);d@N=%M-1&%OIz@yLf3us5>5gC*0}e{o2Aik>?T6icVTfyx1bAjO5(KP z7kUPn3L;DBX=PL7D(x?}B@fnrh4cx$HfKUd;PifHDjKZMa9l=vJQWU3WH}77Z7g-V zSwbo8wuzcfFu&K$ar}OglzniZ%1!_eqsX>=|Iv)OCp>WImXTiZD}23JsO|Clsq(Kb z0?A3u2sdXu2Rt6@zDkwB^)K!fnxzA8)Du{vgQ6f)@R%D7wg}(eTkx|AKN{H~x}8YU z-&va2ef2n7C$4O8c$V4>G=m@B5CyQH9N@$!`pIoHS+FLbP`|;2f3?$j+~^sq3+cDf z#(pK?`ez*)U9G$RennzCE)Q(awpIp z_c#c_4$HHo$jQijSob>AU{2a4(Rms?0a{hO$NYK<3RRzzFG&%c+a7Uwa}muEXTE4K zaR_|z%De%>2U;GDY0CnQ(P>Seb3bRmpH_-zKp5gX;N5KBE00YkMR9;5GTVSDy~7^& zpnzKH@Ks14i3}#;;}SK0kU&|&4xu9 ze{GRYwYxDcDWIKWebJULO?*oHi~g%wuS=|wZFG_EqbhgDnhRG6R`diyrV>PO(;jjc zI0@MuTeMCi)<}$QFps)@=oA9_c_=}ls&blXt=e@7ym+82C!$yl3=X|**a+J)0RCDQ z-Mzfm7k0-SaxY_a1Rr}F%UXmV5o=%NG#(H&etID@Gj;y)&ygFf3mcRPVc%2vgyLWI zl1k|qN;uW+O>N(t@uFMFnZfIbUT4Bo!c8Ad!G_y^Nd5X91meE`u+a|n7t7Xfq3E4W z{AJ{tHDXe<_L(gBTGNrJQh+!+sAsk~5R&P=EhP8eqHHaA0l%5a#|5m*$ln_1zJX|AH3$^k$SwI zGn9?2Y*wpHHJyfXZ)gDtq_8)Js4apZJ6@@to6&ZGc2qzg8cRBmDC2j_jUW!y7Jfv> zWnCT9R+NToW?WF2O~hepSn)Vy66gxJMQ=}XLHPLbBNn&sSU6QE7;c-jFakBhyP%zC zbBRkLVB$p39qfXal-SCC0m1Yx!@Do)Qi8hqA^i} zp__1=r8sL1+1`KNjgvn50O7%JgHT(qlryfjN3cqBiwC1%vC#s9@{|tgVmpLywnja< zz7l^atO*oKGE}PFu&jh71lXc#0nUQM{BmbqI0>%>TAbAzd_PKK^l1f4wMy$CJ>jPX z?fE2(*!G(z_nA_?BV;2H4$9#aI($mr)cqg$6io$dG)#K3#P14W|jS;SRWien_Q`5)b6ME5}j44(>coRm4z1rSkfSxz!bSdH`#~l#Y4a5kShw)xAE( zXY2WywihRoYGS_7=_C%kv-V|bXmdY7_{$Rw=fmU@(r$6&(;pr-6VlY7*~0SX12pra zCLGD)Rj1!8sNZ@BUSzWIp$mFboVmMweKA^CvoQmwtVvZ16aAmQtpA9>L9m%CFX9b2 zKZmkgZ`AI>K#Kq{P;N(}oW1d=lBueU%i9V)4DC5(R5avX@(gB9Cf-BT{m{T|6iN#JNz{bvO7T^Je&r0*=h zUYz`JeDAYE^IiZH6g`}u>BnnKb?yNW$u1~jiWRp#Jw3y}Y&43xXmi;gsx{a?XCjB< zjw85p7Q?&XNDfGTy;?xmEbFZhE>g@T`Siue-W z3mi^KHMFdm5=GUD+ZzH@o9bkgUlU&zEF|hb={nd80H6>dt-kW6_RI}nxp2Naj3ZnA zp#8BuCI8dwN(+G$Dw&Z|z)A7R=I$=-wyau}7O_acOJT~W=wgfGS`aS_9$Xu9(#e5H zX?XM#9EwCwpu}LDkH=ZiG!6Xd7FzW#dX=hXh?$W0E<5UBNuhaB@=>#B<%iR$E6~uY zr}s!J-uC-o6BV%7k=NF6s}zL)TYa=0Kv?xJU;|`? zh81T#bo}0XEiGV=Q`xvtMxhaX(^52}jY&n`zuI71R;fK7g1JQUP^Omn6VK`V7REz! zSqmMsIHqUXYT3b?_J-~c1HI!9)>Fiem?{mQ1~?$-a`hTGe~fjsd3^w#760T|Y!hE> zA=Lq>Zyb%A3G;Nb!15F=jdf!5b0Cv?A8C-{;y7XGc=?!GlGj=cM~m9jssuFE*q-^N z&bx!e=}vB{)tu=6fhZkRpjOORnWQrda?>QNC^{mO8 zoF95~AYhDEIGkdrMlxNDy*ebir9)KrL^vRSKvfUSL>;tmaQu->yIY0i*MSNLkMwXO zbAeLALlHKAI6UvMP)$x#7lRWit>XLYG%bkd%^4Xf#nC0N>l(uCK38p_^`o zyhUP&r!qB~(g7&xXuBD5pV9^F^K>diws{*diFS1=CsEn3-tA>hS{{Tua~yP~)o$h2 z_C8>|o=o>B8y76{y2uB1y_K=T_^3&<6;}UeN^teH1$u?9#quA)&KE595K$oZdeJu3 z>wLzt$(Mv5Zrbybm)9I0U6^ou9k&_8{N#2z1D7r0hYa}nz$0IN3N*^f%A)cMMUA6Z zB#)LM6dSYK==O8E8B52^Fh57n>|^1ztE~EVnnIIF&1jbH#v*z9mG}5d0Y=Vuw$<9% z$)J%UsuXZnB{5TYG^_A~s9JQMXubJQ?^e$jQuw7Na7NQnK}S*Hp`JtrBp0BPYr!Jp zGcxV({@LS-%Pjmz$Ofi`X5#)?D35TDf)A~^uvofEF1;jP2voz(OS}X2O8j7bCbu@V zA{}|-=iJ$=97w577k=T8v-Enm7mUyCaWEicQ4W*jHM=15}-CT96SaEjCTD)_BtxC_vwA8TCYvs?m$M# zS_90~+Iil=QQaW*05&Lo1qvSE1y;%^>V&eyAN?s`j|Pb!(TLH#{xFV+F#W_K`U~>? zZXi&?!p8exyx%AzZDfymdlk>*u46UZ$Zs~0K<0gWV3u%zh)!K#6~i>uFwD(S!-7E2 zmxR|f%Ws3DV+&tJQue~KFaE-8K6itw8@OJU&o7*3X=<3SuV^+fq=h%iVF4F0*)mC8 zdsFbMg(F4IEp5g$6LEwE`9ea`Oz9=qA(K*nhBO~Jo~Qu7F+{c{HtGzQnmt4FgnmS} zIfm_U3W0HYfkq4)Z%6TI=nN70eb?Epw{o?6q9g~mG*Qj7LoG0W-M8HL524Z;^AQq0 z#-a|zCtfozlj^8b&^pv?2%_}wH{rXV98*iwy#1Lcia%%*!33Oy#9SE+YpEJ*go6@- zFpoYIAyEyS2Q;az1C8KO-G*?Fho`1VrQ)*fZ5cU8D8<^_ z>cCm;Jox>Fc{;}w6DMowJeF`MiX63v zbihk@v9pE((HlVC#LH7CfB9lTO{3bKFy$XyzhHI7LbRbeU_Gp#&!lF%q&vtD$PVD0 zInG;b%{oR}H*hamO|!SBjAyYgI>DRcqqF8-UnFA`f~0k z#c8~m{ou>rpzFxJ(dY8Zg=8{Y1B7h>fzl(JIxoKCt_p^!xv>us#J^Sg!m+zQNg?AZ z%#-eBNA52Dn8chMRxXqPOG-_f&`~MAK%0nMiIwzFgFr0rM%b?G73=7v0b;(`AFJth zmVt3j~a0(gdkMQf?PLKXl%!$?`T?&HaIyb_i$Fu${k(&sVdod`CZV|}6X_KW{a8e0BzrWZKtY(Xh z#7a(YSOn(f-;8-2jXoB~AnO6=A$EHVC!H5pa%f=HepLQ{C(c33XfT136rPBGX+F0g z%(%JG&Q!nO0FHg87eJacp{uKb#hMy!HWkH44XzX$@>qJaI}c$4!Y#EL@x0Kf>Xdw^ z5}%BBGPG_vbmp@`pKEUmx0_}5frbFs=jvLupuP%&D|{9;4?K9I*wBF(Txws^luFeRE2cIB1jQ7Nh9F`m<n+*l$vLcI6C+b{$B5wOC^H_hPOMMPWGfXP2GG|RcoW$E$2mQc6 z`KTz)`=?5Gj(NwM&*#!v+E;Zx*LDD-{7avfytjO?uenWR=aD5we_G5O+6at~DFq$% z>RKw=D?GI4;WJsi`bCoglHJB?_P?BXM8n>^_#903Y@X*xM52Gv>_3>d`7cT5RAY37 z^2fmOw3cU{Zzx6d2E=^UK_yG_HR(xKKv9HXE~_f6^+MNmyQ#M&m$7KnZ#e-Jre~~m zliE(lViGaykI9><56CJb1)q0fvhf$hB$IJ=faOS*RSz8a7_0J!5~tp*6sRUndyg}q zj}Fp+{}D?bdYN1vUfEQU(vKF+K_xllM~Q7Td)~*X+w~dL@*X#JYbOk2d!Unf3ZC#o zYXAkQK&v5sgl%YadY(ygIdv6-UtBjCOz^I)}|aM>-0Sw*a)7uxdX&)csnUdzDtdqtLTA8Msv) zX1_T%x8i4WzsgV-#A1JY`n~g`)@Yqsp6!#$*Ldf9Y&$K>^=rwshi)KQ$CK%jZ=m6Mw+U6L z-$lxx06(1j(zSK41+FI~=COuqI^t0}d;X+kI8O4IKv#UoYrT%lz|hgynk!IjqJz05 z##&5mEzM4C{q`#b9fZTC#pJh%*87dSD~Aa^uUvwm<*694YZ<`3Zs__QyPZ=2r7U%q zGSCe$oAD@SsLr<=IH%bn{$2>`9fj&8vdHJdYh9GZs&+iF zh-k=4Yq`FfZubYMmNgW?*@?c-eWQ``Ot+yrMW}0KLLc9SoP?!{?R<)SSL5yH(i_D$ zbUJl_5qs10F;WZL+vUs92XB7_)a*4m^dbXSKuhVDIf7F0w2er}SN@pR4gu#><1r_4+s+6?f$#8L|Znn;yq7v~axGJ!l5ip$l}yCeVTxI_ALIfvw4J2$tjG8%H1rM3{7VGj2c3zDIj$);M+{ zjzU(o`^k_rv{9S6zFof50-K&XQb&W#sFru>M@MW;9HovUZtJ&^CTCt~Vs;@#e0r@9 zEKP(CJEwe8-o0e}jq){nBu4DV#cOk_d$aeNZdrV-l8l7i$KiysI<}C&CJpp84ue74 zXx+Tz&ouaA7D9sx%yK`)FPbDNVWKy>B2)OQd|8~$io6hVA`1QGw6i%pIIQ@M-hw1^ zUcK{vUe2DOHhO!;;$y2MSVE9a*wNv&nXE!gq*3kF@k3cf82lwzkZ2VO5vthCi&vST z#Qn%On$Y)Ad3AvLTcv5s1YA**n*LxUe4OTEO`yol_(p z$$FPBx_-HZ@}KL7e05@pHHCi3o9l*;O2+!~hJ(eoKv|Apm%Y&nziQnMe2prdqV=#) zkkPF{7P>?{Y$=>F2R`ZWuUkjs$H?DtEpG0AWhcWuljn|QyYRAAK^o$FByQ{wE{{LQ zeJlsMJ-H0%5D^CDF1T46KIumKqXLm@Ukp*}AEXU8sI3F)>!bHH0^j3Lntc@fbm)Vd zuXiH01TcCK-gO#ShwXF!OOX791q;}&`cwX($@<0XQt^3sY^g*(Z3H~sAsOVpt^#`V zup;x|J3Yp8kMhMjN&~l#tv82gt3D*{7g0o9__ROXql2{cyIhdE{T}hR2_N{NGF(k! zX{pJ-+o}zT_&pG=_xM;g6EV68C(yzW5D<7ey=EV#jM#zM4MabA)l=r-WYdJ9NeR!L zv3FDd{8@5V3DDa_kKa2>p4<7IJE~T#a->M0t6jZ z?>+FV^}Fom)P}RvhsLxAIxfFI@~?Kel0a;B9TNb>LLN#U^!eopPUG?WKv09p$>s*} z@SbYB8GkQXmEeS);F}sHWyh-40VkZkKAM%KepAPRn+v=KXJWIB!qyV!fIOb1WI=iu z?&{-r3^lkow37L#L00?$JBS8f*Dhf9?x22WW`AUg9m5=Dj0w-V++30`*gS;#z0kwE z@~bFh%$hWw@D(EgR|Gt%k==4pQ{=u^Xr-9iz&;Rpf?jgt$V>gU@`%OL=I1w6^I;T# zJQM`L#Qg;;np<1;Jv~1dK8s#n@du-nx`s9PmtZ)8E$gY+BY7chWs8)}*)w-YIF!cX zA%#yd!72stXtS**&E)S29{~?MY=_tIR?7HY6{R0kNWa~6IbW)TwW+)trO$WoJs_uE zeF<;%!v3{!QRV{Xl2}T+tz^LP2u6TaDUv~%vzf)0r7OA~F(0wsKd=34K=WTir|+w1 z{@sm}ue_A=m!6H_Fm{ixHOXR5lOaD)1QFx*h6m(RLu3`}iLDI#7PgrgG{iI_Mm4KJ zD13uL$$Enhi?vh?p~&ujLoum{QdI&}`|c-W#)K=w&D9y=YeCOxO7W{4M)!9~`BH-# z3!AfpivF|v)c-ow28sd>Wm36RyXb(q0$_UAyDq}?o?lQx%55^4%Y&T90WxNtDCu<3 zW7pP6`agG4j!|JEt?doQ++q}p-Kyhpyp;f0#U^MZ`!UcpgE(L}VZd@R>;)!C3)OHM z&vHlVYcQQd96Iq>7RI+0gl=DN4Bb?P&vWTJsfXZ0I1-uR88jl1zh&9d-d1PyCDZ)?J-@{~-DXQ$l-v zQU_c36%&qq(IdMq&mvf(eCC9-T+1gjspneQ59+v12f@|)J$}~3z}kM6xm9+de$C5l zLCi>Vw?wxK`TZPiN;v%R|DxI%!P>j@l&UkPi?BLFB@$^~Qar92h& zty5+6F?X9VSGqTZ_I0D7pkCgG{%cr$!9sKa+5pid-0RK%^u#~BPrj2v#}_P0e7lRF z;%r~@bvybLr`r+C|HbqBKeO@d(0yUR^Y?}E#18z=1O8J6|G&MJH2@pk(Bv=9?*HL8 z|J_CZb%iMM_ZdYhy=edMK3|Is^_H^|HoD^9qL=@#XA(W90>nqS&8WKZj%pl-ql)!D9|M=Da z{^LII{ry6`df4y(wgsvG>VLGD{72sbE%yev2izj2^!N3Ys79avtrGkX&4C$%`PXSl z_}IvR3FuJN_ZUC^|2njHBOG{}fE`sdGFuaB8aE+?Y&c*UTEq`b2PcZ{bH~))F8UmB zy#(3|{#pl~i4uYpPKdSHTaWtJk>x7u9P@_Mk6_pI^3A{B_rI?KfhLL;g|;$xML>i-%VG1}4J zawfuik|Wq449$pR2|a1T0{W4da$9?!jd&alBvivJ)E^=pK9d=uwNMx!+og&vcN?Kw zY8m?4$^MTQ01sm_Ay_*4-qsNIx92K94dy&%IO!7lHXV7@Gi&z_4#FKD9}j%# zQO0^YUgBD8c7F%dDiJxL$AYF|kKf`uQ1x*L`z!N1`Iwq_HtX%LIW$w3wICthQh2`j z$m&LRW?k=pAB2|YcY>8)sr=e`ezoV9c-@%pQ2i=8%P_t9T(WR}y7SIHUb)?-E@i5I z`AxiGg(be{pY@f}n6l_lymqnlCwEEZm3Z^bxfM&PId9%{_;l4ha88fEXxBP_^avvj za6%5pTEpx1e}!JJp-8VZW#SSKMvQ|97cqFhJQ&Aeu`9%I7%RNKre_2xufM307|$;U zO5Hb4l&ZBNHJ0(Kx#{*evQ{`XTiL(W=lLa%qx1;KgERH6ahol`HbY6U!#{bt2EJF2*!|4 zk+#KmA@OsUhCKm&qn0(s`>lgc&zJT*8$H36YxPRiI?l=`JCBM}b;v4HZYU^a2dr2|eLAUB$D! zOEqJt4Dr(?OL7cJRrv?SKsw?4psmit#$rP_j$2Gexy0<~&P5u0bP!V!e+3e~6EK;gA24{gT^HxBw{({bp!f&I+m5WhjhJr{(Ckb844+{UZ$F$huZoFHdj{5!b zN?)Jtx>CR;)`vhVB?d;+GIKdIE0X7-4|Y;^t*8wi8#5MRRsxmB-~gd*i9ZV0l;#NQD#Vh?zaDsB;ftYNt1s|e@#prihOcJ5Xk|h8_eH;D62C4ylX@AVWK_A9l^%ZpIP^B%j9mnUXqu(q z=ZP)3+pm3L@0+`jV@pkTdOB%b!)Ei*7^tj|2|rE{;QhX`4UM@JH4>@V4hCXzh6)rF z-Jm57i^Ra3%?x$bG`&FncL7=uJ5Xdq+)`puQhdQ-jiDTqrBhNanl1`|I+HK-C4Xr= zf>9GCuOYvd0#7{jb&Tu~quBd(kkx8tGTWfr&!$>PF({B6jMHU`zPSR$q{bdiFca{YHOvQ+%L5b9 zp+vF2wu+pET+3s(Q7tnEi!CV^>baK6Jj6B7qcdIcI9Szop?h3#@CUT4&7WsZ@A-xX zRfg`CODxjwCE8L&XedTBym6JsVF~ocWeQxpC|8UA(onYY~9|5!* zAv!ge2~cRbKDi;>O2YY7q%&57JkFlI0tUu7IqLq>I!qo@7;_*WL7zW{pJ@NsMRf0x zfml)di^$46vD`272no%3GIt*rG~CSVX{GwK+b*5TX`hwB6;Ba~IJ5ubv8dR6ByMIN zKfcWY!!a_!(k)x*{(jH*x((yY@MW)U8Bo*E2md;>OmpaW*U3%Ab0R9e4w^)hopPZo zvdXTDqtWLVOQuCt{T|BC(!Mq=sOwp^IV0dkr6-ysZtEw=|9F{fc=Lb+AGB>(mCs-P z&UD9ReBCP-XTRMfISD*4t_{&+)5`vFIx0O0d~r*t4X4npL@)Xda~%?UyK$nA;5mzK_q5jKFvHr=1dd6_59J4Z)( zaEoMEP7%2lJI4%Se^QPjl=LWxQ*LTU8sCVsWFc)4Q~(}<$NFKc%Cv7{rpcyvtIx9i z;jB;CpFI>=)HU3KM+S_xF9^xtwyPfxjt`kbAUZv@V8@8qt&h;S z{^GlY=Eo}DfRolw{Zf1RfElH4Fvetx7t_T1y!d~)C-Z*z3bxvoY)?h$xf}qO}OuPNoZ!9F2Kc7qP*r^3o+EGv)<)-t55-fl-x`U zg1a7N9v>FEx9>|3e41nKY`3H?KalkaF%s3QSjuXBE^{o8^ujUyg;iG zgYx&^CorP=fHj@4f6%1Cly1G)iE2UrbxSA~oejQ9%qIl~q zO)Y;Av}d1Z5!qLK-(^iq?ewj_nmA2B&0+mj>bfW+Jgvk~K9J$A1H47Z^u?SBHDN~R zp(7viJO{^z0h*-0c<$iYfiFm^^9uW50Gr+c%5Y?F#Q7|Zt^!~s7tpEK2is;YI3u%#9p-CnbhJJl8Nw`$4 z54pIwC`)`Hln?wl(Cuz+@{ve?IQzlupoIRA%Rl%#vs$q3pl(#t_0eT@ZIRLZRL6Eh zBSFYPwZ!p+u_mVOjg1v^1UZ^H0o4a`=S$DnWUPjwGyX*evNK+}5Z{9xf+{8wdw!uY ziI1>w(f8qQs8Za)E|~pF`0j!*frMMUYLX8<2Gsi1{`y=VH!l+Y_KFDBq!fXHSIl8q zime63t1y)G8pJcXf#YW;j%G$_SL|Z3zl5|(=mg62`-u`!I|7xR8i+`h!WLqBEjd8w{3^w3(`qOBp*6U{?2%bmaTc#c z0_=S`==?TYd1t9@2zYMzzN!&v)(1j@mILeO+#RUaZ(b)t!r)h2dB(JOzRlqZuLM@A zOn^)<5Pz@QJdX%xbvUHJZU=GIOz~3F$QsYL` zm^at+Y;ieGT9N?4pSOKi)BF7qvdp;4Z*}*Aq3m*zf|6Z`=EQ6wl4ha1$ZZIjI<>tj>>a>kYlMc~{&lZ1&PIa{(F8?b&h#X!2VU_lpNo> z^-QPo;MJmVd69lT9@T{k zH?-9kr(a$FQ(QMZT1f@&TR4`l(MgM7?sr}bDa8}H$zO0GP=i;vEiY+W!413iB=aBM zS{aKCqOZ`h)Klj^t$@&EZZ$#VloTCuZ&SY;q|)O$=kA|(%5`-tGxB*KFU8B32{m=- zWgt)aY(1ml@u1?peuj=a?e_UD`SueAHqCZ~yQS%77dR$+8lt|mE=*RCpn`*xQfkff zHk&~8i@4NElwcVDbA!3(^`8Ns#z2oCp(d!jxj%aLrHAec@=ch>wf`~Z-cbPjR@YZA zhy49hmS+aKx`-ywpE|%N%?$GJERZ2c!iez3k}CX<&e*g1(f1m+4U9T*vA?8W)-~8c z8!)5GwD=95GYB= zM1sQ#W_XL-d_Es89}lO0wi}`)iN0Jjk8!yV-=V{Qx3Pvh8GS{xP6IkC3Ihh*NH5tu z7|Mbn=1>@Kt#dImx9;-OcbIeQGg)T$tGiyW#ijx3bh@sikDJHIXb=DgK;7EZp4$$0mY{cYhMp zr14y%VyFS%r#MJ!Mc;2)kMJ!7Nu6ruEE?$Hdg3UfPk7)D!%b_kHJ&hrVaWQ!PZJ|3$sm`FY-SRFKxDk03Dgnm=G3TG|d7Ar zt*numv-KzDlx=pK(S_e?TyZgwx>vm5Fk2t|`9cp_w{19kWKPGLu@!c->LgyMBA`C9^UVN1^hiV9WC}c4a zDO2IW&E-eK!K>6b=yI~3fkIOiz%^7^SWw$(`&z82b;|{L+&?J0;Kk8CM&RS_e%!}Y z3=ZpJMTm8L6hdD}!_qGe)SJECvZgG3cHXZY&8$+@GaHX(ObGo8;#r3KH%2_my!r3YWL*6xad3ri_u3Qlg8WxbSLjQ^Etu#JJzw=kh zolVDZ?7+lAGS7zLB#1SF2LF7U)gJ3+cpGc6&;Xo55Rf2->ec@WjEmajtZ3k~_=4+k zJmWsKwYw57Fynm5W5@l1zHa}1w}$LnWw`%m>L=$dDzX-vwI(e`sy@fuJ?8??LeF)r zeR@Y8HtqSv1n$qFuu|!maJfr{OT%q1FNWTCMe+?ejux~ETGWf|83`5`mB9HOE+Pss z&RCjf^Bf98Iszq1fXnSj^5YSCcPPlh{(hb9Co|LDBHe7zwpA4hZ!sTe75WgEUsW_; zDe)J+^k@u6Q8MG8Ysf0$HD9EqNO9{;)bUL^Fjly7s~S-nG&NF)FkOM07Hu-y$|dX)kjV_i&Jo6UJWGW!hsjXI4%RlPXh<``Agp>u{WkK*89 z5*t-`(wsEJ!`{zjI9T`T!pIKl{_7KR1sYMyR;Ed`p{LDu64RxFk3g#Pv#Yro>QYkz z;_htC?kks94padj3jI_;T~4gI{Ro?s=7UH*Hp=AEP9Eupzr%>AYz zv70s1o4-(Gw5rY)Daa(E^oNmuJFM8{v)()3`crPiwHzto7Fh`!d^3`8uT@SgKlMS3 zb~nf%n(k+NGD6%fMwznL*ABBnj?qW3SB(~p!HTPkY7;aAvfH)qN{g3li-Ft-uwoXR zdEF$5)2lG42e87>6atNYUOA|mi^oHhF0>20mN5vL+^Jl5Goxgi?J?ggE3af*HN)+w zcvYP&drCOAoViNv2|K73^sUm)M(Vd)ppMg%M9|UeRpkCkeSrEWf(k+FK4#I`pD~>A zJo2|*HRj-tt+|^Z7mEGr-$N$sy}yn7q$gJTHlxU7E)RK{KE+{PA#0qO$Ntzq>{&Te zjsj7-r!&u)Vpe|>L(OYyq8tvgu7jbz0lQmeaN$_Vn{|+d1Ql|DfKO63&q8{t54BZY zuTegk{k2pH%L7t*kQTl7z^9xD+xR{N#Vt{RYBh4o`?XB=dQ~d2g1lT>3v?%R?`A!# zJk+K&XoEs96!ZH13lFR$@&_>6M)p>3ut2r`z?_ih%@K+#;6pK=9eFmVj=%9r_rqU(VES-xCYL7LL-Hi9CWOEB=KRh>|*#vrt^_o8uP! zf@9p_B(YB>rRSxci@$BC`n*SOE*M<6CUev#ZcT^1X&~!ynOoa63bY1UZCzPlQ`Y1< zJ-n_;qI4}rbDY%ZpW} zC_G5p0gt<|Qd^jL?d%6rN%+yPmG=vE9Y`kOb4XS$-m(UF5#$1;+%H?ooW2EG7V1{J zn)6+7l_rhB!M08kR-t%&*-UA{mz~y^JKq#_GSA1>>9{1Me*OS*-h<_b#PJzdUj#-N zPWj=zBi6tQp4>h8r+&VP$YQi_*SnN)ZO=P|REn&(fk(LFmbsC;UEVD>wxTo492z6C z4GI^(La5#F1;Tx^Z($EOipKePxBUe@ZT!OyCaFv=w>INwWj&gIt*XOKwvmna*6kn{ z$4>sN=5o--M%FKz=+}wU(kUq$U9`%g^zOS!Gt&36Gb=N+ieG)Tw9*>h$3gZ+G-XckSyCr$EEmZQeyK7b* znr=|zb3~M`nKZxp;O~XRNWK0b^7l%Gluk=4r*~xVM{jRCJ;lt=qFJM^@e!jQHcQ8^ zFOHqroJyxK4Bwow5WI2GN~8kqO+#ZmC!`nd3UfZ!O`=^Fr~9%4E~sJ(Sj~|YoGzu6 z39k110sGhN^xP1Thj4@J-m4nn>mHKOcjcMin)rou&ZN_g?NZ+gp^aEOjYdV z`9@p?;_MFmYXWZGI15{+P}D+FIDpI+(~1)$ ztSEevizkE%Q`mczM5!h5IV@_kW{0wz&1rq7Wu{xGZ)!Tp==QSa`PX*c@fH$*m~`;u zR{X+JH%P-$5C78FKww{yRQLAXpr3!#rUoI0V`WK@Ba_hS{5#L%#D4ElhHv3izGcf! z>qV6@uI*9L)2btGzf*S39=5JKOCYFOOs6VFP^u$D^5O!9aMtf>;u%gHl4l7i$!Hr}HII zB_*XLT&-5(cdpJSd744&M2Dqdv=TB6tB=e?;z=n9VXQ={ z_A4Qd?#B1aiZliiYIC6tII2by+`Mz zjZQXvUka?-F)F=!bleTcB9@?|MCUlqWq2w9aOO&!>oX|D4Ni_|lovXHl-lPX>~IiN zz}>Ad2(@LOrF~AC=rB`bC8s*mbwh2r23FIyWFD`kjtDQJJPs^xm9PhszDp{Gd-%Cj zUVxMPtek<#xb1?{STGZ#gn&j=7?ZvNif|@Jga=Pv)S_I4`O?%WnWDC%tIdLK)1I88Jk^(VJGf=7cbw z%ipsk;8NF@4I-9L=0)j2vp|D12Q{&;?9a`I_8*L*-TyJ_xIJy#_~ z88!FkQt0PR4rOkyZNbq83P@Wu{agtfKNu#J>uF{9Vt;e|Ttrx!9`!*RQ?_8BF*+%l zV!Jv7V(w<@=DSgiLw&Uq1ju8gCpMLRd?4ozOhm{DNMu1@tbev3H`UfmXqG4vPPD>H zy#I|re=VU=$W$n=d~0SNjzP#=-6y25nc^So#UH?J(#-zzh%Qm^$Hn)l%bWmt;)fSa z*Y}!uAJX(2Y)();?GP&_$Wcwdh4xc9eNhrBy_to$uR^BxdB8qEGt2BrX&4)#4o$EI z@o@>SO)IC4s(%mXcP=E$xf#v{7mZKZ8!gWbW~QtxqsHAJHEI-!s#jvwITk0Uw!DA{Z&8Og#5>#6(j!W1yN=@mH+em?@=!L#2`U*enV$QiDeB zkh(QGa7x$3?|*&ian|r$y?9kbeLJfE2~Dlw;|I^>jn5c|vAqSp0x0w5jhStQmjd8} zKooEie?ReNHx3$ZY)=^y#LXXuNJu8*{dRC53=aQd4Ov>V)xXf!dFpK=d=L&Ye(vKB zCxtu(P;)@yxV9`<$rolzDM<|*8cw#){$lq^S$>uuxjO%CZkj>*T7BG5e@k~(|Deoj zf4j%FKy!)aM7SU2|6X@~@cI$_AqN_KHK84y?WVR2eq+S}h4b;Ti~A$Oh9e2__du!B zB%`x)ZABozv7;^nxgU(bJuiQN`}%1dktXiqUC(}_LS^B(_iVwCGg(0XWx;`es&Enb z+b+WT3LJ#+Ao{XC)$Wj-0$j7rw27&w&XZ9GyS587#tj9lTwsguj@_6Rhe)jQb+$48 z4_#-%w?y$otpb>I#WCHd>KfrsB;G6S)GE8L!hS|(bUt+4pn3HpkxE(hxj-SUqYqnD_`$$@O=k9o!Dn(#$M@?8SIcn z`Nj~-qxS`&_@*?-uY|ONZW5R&mkX#)d$Vh=H`}|5R0G`<+Cd*x!J(kZ8n)x1f#tg8 z^4b9!pu%UEL9^b9&FoAi^K7k2n1cl;D^>Y?>WYL0$a4G?nw>C88f8v! z$!W<*`Gs;zf=y#ew?2<}4k2OEZOiHu@M0nSH?H~53-8~5D6Z?G{o(jfaz!PLkl&Qp zB;N0JFJEWtOt*zv9FG&+Fp4|y4M>+UqM{~CcMVEpn!GK31ztTDFwbT9incS$-i8gU zSG=BO3Ii+M%n>U?-82Dtnm8LTeG#oKo$)iRTCICPW=a_W^?(B6)11PRn*o_5D&OEN z@*01D;x&4m)e}<<@_PS}Mi^ARX6O<1Oj$~;o9S<^pY0gw9WBxnzzNnvW*imv=~?^< zMmW?cyPl!p#{@Kn8X-e6I8#gBGcirg(#9VKmly9KrE>8mf&9lseF^|Y&M=>Jhn>sT zZ~eZ#C#PatYxBxxj$UUHtIw-=4VxKO`MQ<2&)~+VyyR|{J{Q2y{|rMOPJO+lX_Lv7 zi%&*6?rpoyjUyK=PtnJoeZKHmXVPQ8O-x*wUTU0sHd~WiW_}2YgVXRVm@Rjr7WJnm znX6#iXw0`ELs5Kc?b7pZtV-B;4~{~nFDs`s+5c%5M;u+xT$yse_3WFY{v970e+&y6 zW2L}k?ps}+I-P3et?me1>47ZlaKUMlsnXzJD)(EtR;Z zSX$~VYoO+mc6_=a!4tt3ZlCjdtpLEPeO?}GAgQhWZgc8#v3*p?lAOut0au;WW%`R! zSu7R5e#oice`K$saI_S~{0l0*8Y}thEk@(Cw%60|V0Pv+b0zG_#$68?zc2vdkza~a z+B#<-NWC=97cu3;t>Am}ztsr@P=C%|t%w*5MtPX^W+A>=2M|aAMljup#XR8)2@f+& zINi5SZt#IgDB$IX)9picofBB%l+Hx47M`g%=R-_JRUOGGYYTtrb{Hl@ch)eY5R0AF+nx&agrN2yW7^`k=BG+wZ5i$lssmv!t)%jpyE>hE!n;)q(uA@y< z|J$=iYgN2KZzJoh-}K^lY#gU7rrXytswG%5Qw>Q=GjO37xg#B^v9s>7pa(pv5i1jx z%#V!D+o>gq^Uhd{shyZ=I%Yhz@1vzRz)a~m`<2!|lLg2sFyl(mKH4V`I@KCdrc@~g zFNY~PT+Gqc7vE|YT5udK=oC4fY6rYu1*4a8vH+}V*Z@3midvZ;mg_BAu%z*;Bfb9q z;jsaYuk(GZN~@JRb#0xE2>P-dhsb_MKfh2~(xjH%GdiUP@%c&V&i@eL*4E7jhArUd1?7&)GWEhSVU+nk3lc+A*9`xISgz8 z-@aH)G(7poWD=OUJ~YwozO4K75Sfa)Pfs%!toxi=(^d6}2i@%~prhG$5wnx6N^rx8 zWZ7@=^zn05hr$?hY_%548*QfRj}EvTgLpmdc^w+#{;pB7UlrfCj2CIY*rFXIg(6-da9Kqum{F=7a!I9b>6b3A+Ee{e`CWpCrhFiZUj`n@8AN8Gyj6~HqqSIcC(UDN`1O-?nf?hgp!cZqaX7TGvD}y1$7Fm=nj5i^yw`@5?120Fp4`q}O55uLe)? z%eZ7#ErO0{W=f-~YvSQn7>B7)XE+$saop-d%qXNQ65xgm@O5x{ zeB^o~MKjyICbs7@2}dk9x&OxEfOlRT03zV!8YisjI4}y)77Ri0w{+n@hZ1j|0O0F* zj7ndc{P_p(wi{re|E8$^$H#+&-|!3dF2@em5I|u>8K{r~>>n?Dis2BE}P61d;0$!x;E(vkleDnG>D@CS&! zTgU(NX%VD8m;cwmf1`c*5p{uP<%YgW?-xeFLDb!zCP;#i#U2UVf=lk zIKXefjy@Pb3jD_pVUY1P6p0W2v%N1C*$)^)Q&rhO2fkA=w zn)bV8lv9GQ-bqSxJ4+yD!SFA$I*yUrYq`Y~4;XR&GlH!x6>+Sf&+PV&Jg02Uw~c|} zsIxwL10lkI?t`8~No3sADF>k_2#0~%(UemzqHcGCpv4ZXP$gU+fe~MEURQX4Dtqud z89Y<9EE%gGU%DJHwXh?zr$L{r#qIj_itTe;&O1Z1;iqI@^@HJ|XX3{|1ziVm3UcL2 zs{E0dP`v?3(m>Cv%TJ?thsXr-JJcEx=kw;PBb-LB)Cl=2B4 zUWB?6FCRk35{U`WQR)x*ZUA)}N2O0Y$MN=G10Sqvp8mnSc`PMR>dGcVOOUO}OIyN9 z_-WQTFQ&_^Q%&Po%;_FpdID2!Xf_HnptlA@B`)+xaw^v{4;M=ViIopE(D+aYx3nV4~PuoPf0E6?G zeD<$I+1QC^x8So1jA#li6QF;M#pP_bED7dY1d`{zE7VviXng%2t(Ow$j8MITA>R&* z?R#_$Vwus1!crA(@5uJNUN4v|0fQu^Q-?yDb#7Ba|K7AEo$NHx*p-02W}KK>N@TsA z%hOn2uI)5LW`%Z%cZ;18wG<9LJ$1iXoklUlk|^UXSj?*k)0Y}$_m<()g#0N;JI%+i z7x)<<>fxueX;OMAzQ_R&8xUT`5>Y2aGz5J`a8-05e5Q4 z7!00nt#u>ExX6Kk%ru+{k-qUAYr3IPySbJQE$k%=Xc)^pmF@5U|uiGkL~_aUgG zK4(15f~SEA%!}Nt{Qdo+jluA_;{c2RWOK}H6>8`J>CD@jtU#W5Y2*w@H4ZnYIgX;1 zz!LLZadh!^E?U+4V&xi{y4hc?=eDj@RZ?covZ0V3-0WRZ%@bgF$Vv;#?efDR_fpLt z)OSk5lwpkc9=-6a#<1nf*@6QZdVMu&59=ujb1 zvW*&$c4a&&5tDhDT55q=1SL9ry_ROx3#W; z-jb2f0dVm-k3Z}Y|Is^O=ZJ=Bw&g!s~BVx^qsx_*}jx!|jx99JxA1}g~F zbX$GFLU`QIS(GSa_m5G5GrBdP7+n2C`7wS&gUP|M`hzh;!I_Ch*(;#1ILr1pjtO_A zE)F&FIA6*CfWUmjb5tSBCY)rqgnFe`5r#nUk~B$S@)adU-y?K zG@25}WUj;pSVD&$+}G~^=l&>=twh?@q+-I|q|JEItZ-6rJr~f&VZ81Zkn#M{DV$U ze?|V6en|pNp+!RqvTZ4i4p06dN+g3c=x5$8M=C=iJ+deH;!tMffyIp^C?1eUVLV5n z*>2i}+nFf>XNo4mqES_>C2Io&o{fFWw>g*lTiax1o(5bky^Swq;w_vC-<$=vnxID- zBy(bJXNy(V$m6*4sa9QWR4@NX@Ru|n;XdK}YECPXuKck3JQDQF)NWEalg6Rviu07c zBZRYEqE%v(+hSFoUK>`7Y)kkXLKrJ(C_ON77x!qD(lnGQ`cs*pQ2CUlA9VS5yAKiO zF@*Ab$?Fa_-mI)%rQuK8`_4Q$sagu??4{){sOGY|T`8Hm9i5VpsOX&bM>_X4@j20} zar;+uzTz{628Q+IKhHPDit!f48a|*5D`wObjEmFd4CF2A!4CKd4hD<2-i%7@v7w4K z`#1(?QoP)6qtjqZ8`MJWjaJKDlYO0+W1~mOdRi18p>90WX1vqPiijmoCQ4t764pB7 zxrj(%eZ+gimIoI*d#^tr$qQso@u;ZStZmYSozycS3MJCX_GG)ZTO9{n#-Vn*k4A)8D<;257+rCnnB}z6!PI#I~EQi|-CH5Bmdcf5K?4xOiQaN1l z0-6+aW)aIIVnL~#Q=z}Qcp*QxJ?sT_KPNOU7PFp-1e-~c`dVs*#D1mY^4bvv+8$<& zh7y0KkkJnHXFq+A0qTqoZ}X8HJQBZ5_nu_s@JA#|_KLWj396$~yap7XLMK*=6P2(O zd=Qn7j#rd;xZZ^20=Gy9Hc;k@4}gnC>&~M*ZrdV|qxd?{-92-=VW~~+lSWijRb?eF zz)2~96Rv>!?VV<>TBP;gv&V)Qm^~IOU(IHUb^yWeUF2!e_2D#03Z19h0`*rIW8bJv zo|AtG>gU^QCU3n!yg0wiX<9_PdP#;9P-QT?+uoX-hUQRW(I><6mD>06k9bGTIhfx1o7zg9tn9b2mXPTmUy?xe^lFIL=Z| z4N%*cy{4uYRY*&$FNR_IQen1ggua1~^TOp=tmPlm+qT?)%(f_Ln`tzsmT|i{#iFhY zSdOm;j$6l5cer@XT(<)Gc{T2;CrY*ZH+j>S{^&Zp!0aDAr*q+*LbiH+EVF_MIIT?r zWwTw8KMhv!s{myM3_6&_(ei{@^3;8E4^a%6hb>>!XuEJZ&#>KK!pgJHW>c;t3(%RE z_G$=kd496^e3r)90U)G|RXy0`NwsN1hf+|owg+jq*UznyLvE-OEsU7D%mt8;B>Rtw z009IMYA?V}71xQ!3MW24IV%yOzN%J`1%fNyjhas6%GaI7E$K;pf*a~F$l%5M=FwuV z&hBoKn&}ETzAkQRQS(T~LQM;IJIdcv)z@($9kzUR16Z<~++1gaN&qx<2{uWLvckp< zXt)e(qUFQw5b$N07+-|%=Ogevq10fS%5E3-f zEfAi-_2dBf5y3Vy4hmz-_p&k_)5Q$Wm>OzOR`RsDiW0WYa#9kYpgx1tI9x^_E zkmA6vQiF;PAO&hVAg+>HL^3$pB$JOGAFr?W$7f0m#pNYsA^uL@5dY*?%bGyrEqKK; z6jPPK(22@_2c|`+$)suOqvxW@KQejxh_@4_21KTBH&!gL6{+XGt3fH83z&>eXzr8UlVu(q8_UkUo{ zh8Jwd1PB$Ww;wqj9V_eD$pX*Xhl;#&&h+hcZ=s z>FQPtXd8oWj1cwqDHoWzl!b1Y;I5{5s51=@pb;Tq*w)})}Kg3wzp zMVgw?Y8&(*^&-4JD$QNR4*{(byj>XeJY86mudvm;-D~f0{~)?|zx@c0N5*dQksvqZ zv)LjbWr($MO(y=O%ZS(*G^g%%0E;EdN8>qmCTkO=Bta zpa|jkFMB** zs;Y#i72xr=ZL#V1)+Fq*jNzc@1rP)b`mEmpJPGHo%FND#m-5hS$sp8Zdz3hjW)JYu z;*_56m6;tjXYA*=aw3}M_0>{iKaq>HDdW-H)2sc+^J4WI3%!-h9ZnF@F6q}>{wKbL z1_d!k^w{;bP6qHwtmA_*Kh1~gq^pIi0+@x2ucl&RBxRyWlSifkCi^AH5ZeJewT)h; zQZ=JRPgWHxdzhMSx=n!)NTGmaxc|Ei?0;sVcUX|ozk31v7gT|m_6K!Z&1yJZlJ)uU zX(vya*3*BJitI;h1|=udqWL&JD1PQ?gF`R2G$euB_baY71mYs2`D!{jm-O zKRP8cSyi8>?pfT+bW5?x;BKsiNolW=4D3e2B3X&>g@AL#66@4lb?Cd&Ydx|bW?E;F z**>aAU1u&S)S3kYaLCG|Rj!1o-LPBW=5C#_AM}>WK;djIji@*bNa{h_k{`{VHecGJ zJeok1J*9PRzGf&cDq9&36XZGiSMpEaPAihPiGf%H2rGD=>@e%a2 zd}+M(p&rXI;o2Z6I{(3+ha>xumm6AIcUReH&jUPXLj>q$LG`q5_9&wT7wK>+AOgv|0CW$9yg~T~#s8cM%UO5) zKTSydV5GFPwCeQkFRM~Hv5kCyW)RnGzHm^P_o{;eZGz{lZJd&awef&R?Ng(K_Ab_K zVdYuj+cQZ~Si4`=4$eqt2EXzFy~o^XvS95TES*Y73y9mIa(Bl)=nhcbLylSGy^bE6 z*kq2Dg7fxf-G*zbL(@#apZa(}0KM9PzUk{GwRfw6huty0Bjli^(*1!r9;F)Np}{Fp z@-fu-FwCXkU)NWODq1BB<-<;tD7K#ndpo>*%PZ(TcLG7WEf-Kt3@llAfUJ>)nO8$oFR*;d2~_YR1Bk7d@3_Pn-gPGJwv zx+ds=P){jKedbYJZyEo9QR+*>uJo&@dc$+SdJ(gy+QV&;xr|3+sURoA5+yVSaSQDK zI7RY8{gywV(?#aff0ogI0w(g$(zzTvtXLv5mNvZHip64;x7=vuzq+$Yi{uyfBisIs zHQY|QnpzQLg~!3re+lio?_iy_F}mdjX;HE?P$*eN8rD80sEr+`SJf3(Z8cf9IULQJ z(Gy8Vi6sbs3x&}id83uJ)~!D)<(vYpv>Pn^jNzfP<~+;;I*W!Df-e0M;hobssAG=R z(6ZTkmR;eRkx#nim9|jgBagiqLE6a5y5IYD7R?%ivWpX=s6`7%Z`6=BoML-?JCP%M6gO-7o^P4EUIZr=NVQy#Z~70`l=N#5`&?< zpdub+zI1sM>4luF-rd!ujNf%f9X1FqQrIr7Bcw#*^Cc)KuapYMFP?G5M`9HSD8x#Z;$!H@N3r&bO*c2WUvx z_=E+H8sze=MEN4d0-s_F2*eRpQjqY@)CUx|`VQcinx$wA+C1;Wwn(J<`>v0M1dgVg zs*HjOpdIn9;6jY0pFFA!djW6Yo$*Sg=k;;py_JuKlMIM5tzNM?^y5mOPeRD54i9@; zd*4Bmv`5i->TqDlXz)Z3F9h*yU7uxLQ&(AOv0B-cV?Ql-Psz2EngK-Vow2iy5}p2J zI~JOW3gj+ZMy+;GV0VkZz74IoR8J!ImtPFig<$J^b8<&XH#FHsnv6WJ{m6W*eg9bz z^nwVvHu*Ju@0W_ zeyygb4R&|)H~HO5#S%X}Jj17=_&rksl^sSE9gE|T>ym;J{_zB$cX%Fiwhj5=NGRE* zLSTtH*Go;dg|z>z^P~ls^{@3B`I= zQ|Q`Sf4(w#IPzADCl|UKP%^iOlYN9RlxkNoWK0_x0VsQ!SdiF;zEzdSjw;4`U;Xjl z%|rSg%zHX-Iioi$U+2>{qn`0=$zD4I*{tqu}5(YMhfaDS8%td7;7yq^!qfBXWR?yJqS3Ua!q=9{xKOlxWbNp?E@`~)?u>d=d zql{3AHd{1y!~URqoyS#ZRK~mQziCcC5`enV72r|7Jy8J66AE_YDU?kHZclX?Y+1+N z;S=iI30^4_bVUrm9S4%#q2fdIOSetYa!8cvcfyfqbRXPa(0;ef_dbB0PX1eG57Joq zF7!uXPj7$oGkqKPcZbdAim1td$|kUVxARxLEL=>;C>-#x71UvWSrO_nHi4J3+g(Si zIjwk_zE`es#X=4ZA?4@W`N#bjeWE-?wk7-52Bpww+HWq~j0ue)9+3GZfwtJt-kv}4 zLglC)5UUtU!S!=BgHhRf-{ZI8v~IkfpA68PPe$ZY%#a;wauA|kCjU+J7AhF>&YgqsW16b zt=tOj{;?MG`C_PMoAd#n6H2MRN1PKVg?v2KWQlB`aW1qaIAAMOJo7c3KT-uU$_124 zi8dZH8Hf6`PGA@=`vKis+c_Pq->;VUj7VBfhV9pj9wpfw9z260BD?{p9F z63W$N0WYr|gRA|~-1$mRc;#-RkGed6AovyIf{w>A##XLz}{aC&H)icD@Q1av~bova*+~g$Z zj2=$|KbLid{nZ8M(paN^+rBOpMI(q))Y+Tn|^GGJ8K@kD;x-gh- z_OL}($DW!c(TC8WHv~~Q2$5ws%B>X3-X1-1{9noF@}LXLUYUK^)#XzY# zbaW|0eaWIQ^L`CAAw}v@Nqo42sBrlaar}I)k?Z7+;7jYmB>Rhy5bW*$N7*|^=ecd| z!)=qsw$s>b8>5YF+qRviv2CkSW4p0!+qRSM&OYxsd%tJzx8L~XkB(>Dea8JP%(>RY zHLp2nxn>(-9u|o>i-JPHTMe=5g!+_>dSm-*#kSo4lATz8+VYhgf)U=hhRrhJ_JQp*|gQ;RQ2q7A? z1Tcd$hbPlR7AJDWVA)~u(c!J+ahmR!d~H+TpSy$HEe^w2CgNid>qwsD{pwh*0& z74E}c>GbF3`N7TF7RkRPE2nO;AN{y{nosGbsCK@-vnnyAeK8RG*(g@?w zW&E(JN1ctK);3XLT#qs1GCe|2shv3$*V(XEnc1h(jj_4|jv^y~iVaNMMvw9fvN}_L zg>Q2A==o6)1W0Th87^i?cg96Gzl*40(yhm@4EUMo+fsFql+poP@@NW)4LgnbuQgZhn!d z5GI22aZc)$& zdFqc<-2#cL5SaU4>$nWO$I9mQ0ZcV*yGdqNnZ~LdfXY9sd0;j-f7ZWbpmD%ar+pXJ zcsrBwCo13Q1i%`^R+Z8Yyb@OcogoI?fW^^R0g|bm1ZpsMV4h29bA!vt{GZ^~53`F6 zw|1c!GngB33-@B?zPOczSnwb8XvS~Y_Wk%0A=K4LWAnjPLSnTTx+y3H0hAk20Q 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 r.status === HealthStatus.Healthy).length; + stateLabel += ` - (${healthStatus} ${healthy}/${entries.length})`; + } else { + stateLabel += ` - (${healthStatus})`; + } + } + + let tooltipText = `${resource.displayName ?? resource.name}: ${state}${healthStatus ? ` (${healthStatus})` : ''}`; + const reports = resource.healthReports; + if (reports && healthStatus && healthStatus !== HealthStatus.Healthy) { + const failing = Object.entries(reports).filter(([, r]) => r.status !== HealthStatus.Healthy); + if (failing.length > 0) { + tooltipText += '\n' + failing.map(([name, r]) => ` ${name}: ${r.status}${r.description ? ` - ${r.description}` : ''}`).join('\n'); + } } + lenses.push(new vscode.CodeLens(range, { title: stateLabel, command: 'aspire-vscode.codeLensRevealResource', - tooltip: `${resource.displayName ?? resource.name}: ${state}${healthStatus ? ` (${healthStatus})` : ''}`, + tooltip: tooltipText, arguments: [resource.displayName ?? resource.name], })); @@ -177,7 +198,7 @@ export class AspireCodeLensProvider implements vscode.CodeLensProvider { } } -export function getCodeLensStateLabel(state: string, stateStyle: string): string { +export function getCodeLensStateLabel(state: string, stateStyle: string, exitCode?: number | null): string { switch (state) { case ResourceState.Running: case ResourceState.Active: @@ -190,19 +211,22 @@ export function getCodeLensStateLabel(state: string, stateStyle: string): string return codeLensResourceRunning; case ResourceState.Starting: case ResourceState.Building: + return codeLensResourceStarting; case ResourceState.Waiting: + return codeLensResourceWaiting; case ResourceState.NotStarted: - return codeLensResourceStarting; + return codeLensResourceNotStarted; case ResourceState.FailedToStart: case ResourceState.RuntimeUnhealthy: return codeLensResourceError; case ResourceState.Finished: case ResourceState.Exited: + case ResourceState.Stopped: case ResourceState.Stopping: if (stateStyle === StateStyle.Error) { - return codeLensResourceStoppedError; + return exitCode != null ? codeLensResourceStoppedErrorWithExitCode(exitCode) : codeLensResourceStoppedError; } - return codeLensResourceStopped; + return exitCode != null ? codeLensResourceStoppedWithExitCode(exitCode) : codeLensResourceStopped; default: return state || codeLensResourceStopped; } diff --git a/extension/src/editor/AspireGutterDecorationProvider.ts b/extension/src/editor/AspireGutterDecorationProvider.ts index d1eaca4d198..15461949d04 100644 --- a/extension/src/editor/AspireGutterDecorationProvider.ts +++ b/extension/src/editor/AspireGutterDecorationProvider.ts @@ -7,39 +7,73 @@ import { AspireAppHostTreeProvider } from '../views/AspireAppHostTreeProvider'; import { findResourceState, findWorkspaceResourceState } from './resourceStateUtils'; import { ResourceState, StateStyle, HealthStatus } from './resourceConstants'; -type GutterCategory = 'running' | 'warning' | 'error' | 'starting' | 'stopped'; - -const gutterCategories: GutterCategory[] = ['running', 'warning', 'error', 'starting', 'stopped']; - -const gutterColors: Record = { - running: '#28a745', // green - warning: '#e0a30b', // yellow/amber - error: '#d73a49', // red - starting: '#2188ff', // blue - stopped: '#6a737d', // gray -}; - -/** Creates a data-URI SVG of a filled circle with the given color. */ -function makeGutterSvgUri(color: string): vscode.Uri { - const svg = ``; +type GutterCategory = 'running' | 'warning' | 'error' | 'starting' | 'stopped' | 'completed'; + +const gutterCategories: GutterCategory[] = ['running', 'warning', 'error', 'starting', 'stopped', 'completed']; + +/** + * Creates a data-URI SVG gutter icon for each category. + * Uses distinct shapes (not just colored dots) so they aren't confused with breakpoints. + */ +function makeGutterSvgUri(category: GutterCategory): vscode.Uri { + let svg: string; + switch (category) { + case 'running': + // Green checkmark ✅ + svg = ` + + `; + break; + case 'warning': + // Yellow warning triangle ⚠️ + svg = ` + + ! + `; + break; + case 'error': + // Red X ❌ + svg = ` + + `; + break; + case 'starting': + // Blue hourglass ⌛ + svg = ` + + `; + break; + case 'stopped': + // Grey hollow circle (clearly distinct from solid breakpoint dot) + svg = ` + + `; + break; + case 'completed': + // Pale green checkmark (lighter than running) + svg = ` + + `; + break; + } return vscode.Uri.parse(`data:image/svg+xml;utf8,${encodeURIComponent(svg)}`); } const decorationTypes = Object.fromEntries( gutterCategories.map(c => [c, vscode.window.createTextEditorDecorationType({ - gutterIconPath: makeGutterSvgUri(gutterColors[c]), + gutterIconPath: makeGutterSvgUri(c), gutterIconSize: '70%', })]) ) as Record; -function classifyState(state: string, stateStyle: string, healthStatus: string): GutterCategory { +function classifyState(state: string, stateStyle: string, healthStatus: string, exitCode?: number | null): GutterCategory { switch (state) { case ResourceState.Running: case ResourceState.Active: - if (stateStyle === StateStyle.Error || healthStatus === HealthStatus.Unhealthy) { + if (stateStyle === StateStyle.Error) { return 'error'; } - if (stateStyle === StateStyle.Warning || healthStatus === HealthStatus.Degraded) { + if (healthStatus === HealthStatus.Unhealthy || healthStatus === HealthStatus.Degraded || stateStyle === StateStyle.Warning) { return 'warning'; } return 'running'; @@ -50,11 +84,16 @@ function classifyState(state: string, stateStyle: string, healthStatus: string): case ResourceState.Stopping: case ResourceState.Building: case ResourceState.Waiting: - case ResourceState.NotStarted: return 'starting'; + case ResourceState.NotStarted: + return 'stopped'; case ResourceState.Finished: case ResourceState.Exited: - return stateStyle === StateStyle.Error ? 'error' : 'stopped'; + case ResourceState.Stopped: + if (stateStyle === StateStyle.Error || (exitCode != null && exitCode !== 0)) { + return 'error'; + } + return 'completed'; default: return 'stopped'; } @@ -138,7 +177,7 @@ export class AspireGutterDecorationProvider implements vscode.Disposable { } const { resource } = match; - const category = classifyState(resource.state ?? '', resource.stateStyle ?? '', resource.healthStatus ?? ''); + const category = classifyState(resource.state ?? '', resource.stateStyle ?? '', resource.healthStatus ?? '', resource.exitCode); buckets.get(category)!.push({ range: editor.document.lineAt(parsed.range.start.line).range }); } diff --git a/extension/src/extension.ts b/extension/src/extension.ts index d05edf4dbe3..23944a1bb60 100644 --- a/extension/src/extension.ts +++ b/extension/src/extension.ts @@ -82,7 +82,9 @@ export async function activate(context: vscode.ExtensionContext) { const appHostTreeProvider = new AspireAppHostTreeProvider(dataRepository, terminalProvider); const appHostTreeView = vscode.window.createTreeView('aspire-vscode.runningAppHosts', { treeDataProvider: appHostTreeProvider, + showCollapseAll: true, }); + appHostTreeProvider.setTreeView(appHostTreeView); // Global-mode polling is tied to panel visibility dataRepository.setPanelVisible(appHostTreeView.visible); @@ -107,6 +109,7 @@ export async function activate(context: vscode.ExtensionContext) { const copyResourceNameRegistration = vscode.commands.registerCommand('aspire-vscode.copyResourceName', (element) => appHostTreeProvider.copyResourceName(element)); const copyPidRegistration = vscode.commands.registerCommand('aspire-vscode.copyPid', (element) => appHostTreeProvider.copyPid(element)); const copyAppHostPathRegistration = vscode.commands.registerCommand('aspire-vscode.copyAppHostPath', (element) => appHostTreeProvider.copyAppHostPath(element)); + const expandAllRegistration = vscode.commands.registerCommand('aspire-vscode.expandAll', (element) => appHostTreeProvider.expandAll(element)); // Set initial context for welcome view vscode.commands.executeCommand('setContext', 'aspire.noRunningAppHosts', true); @@ -115,7 +118,7 @@ export async function activate(context: vscode.ExtensionContext) { // Activate the data repository (starts workspace describe --follow; global polling begins when the panel is visible) dataRepository.activate(); - context.subscriptions.push(appHostTreeView, refreshRunningAppHostsRegistration, switchToGlobalViewRegistration, switchToWorkspaceViewRegistration, openDashboardRegistration, openAppHostSourceRegistration, stopAppHostRegistration, stopResourceRegistration, startResourceRegistration, restartResourceRegistration, viewResourceLogsRegistration, executeResourceCommandRegistration, copyEndpointUrlRegistration, openInExternalBrowserRegistration, openInSimpleBrowserRegistration, copyResourceNameRegistration, copyPidRegistration, copyAppHostPathRegistration, { dispose: () => { appHostTreeProvider.dispose(); dataRepository.dispose(); } }); + context.subscriptions.push(appHostTreeView, refreshRunningAppHostsRegistration, switchToGlobalViewRegistration, switchToWorkspaceViewRegistration, openDashboardRegistration, openAppHostSourceRegistration, stopAppHostRegistration, stopResourceRegistration, startResourceRegistration, restartResourceRegistration, viewResourceLogsRegistration, executeResourceCommandRegistration, copyEndpointUrlRegistration, openInExternalBrowserRegistration, openInSimpleBrowserRegistration, copyResourceNameRegistration, copyPidRegistration, copyAppHostPathRegistration, expandAllRegistration, { dispose: () => { appHostTreeProvider.dispose(); dataRepository.dispose(); } }); // CodeLens provider — shows Debug on pipeline steps, resource state on resources const codeLensProvider = new AspireCodeLensProvider(appHostTreeProvider); diff --git a/extension/src/loc/strings.ts b/extension/src/loc/strings.ts index db6afd8ef38..8a9058be60a 100644 --- a/extension/src/loc/strings.ts +++ b/extension/src/loc/strings.ts @@ -59,7 +59,6 @@ export const cliPidLabel = (pid: number) => vscode.l10n.t('CLI PID: {0}', pid); export const appHostPidLabel = (pid: number) => vscode.l10n.t('Apphost PID: {0}', pid); export const errorFetchingAppHosts = (error: string) => vscode.l10n.t('Error fetching running apphosts: {0}', error); export const resourcesGroupLabel = vscode.l10n.t('Resources'); -export const resourceStateLabel = (name: string, state: string) => vscode.l10n.t('{0} — {1}', name, state); export const noCommandsAvailable = vscode.l10n.t('No commands available for this resource.'); export const selectCommandPlaceholder = vscode.l10n.t('Select a command to execute'); export const selectDashboardPlaceholder = vscode.l10n.t('Select a dashboard to open'); @@ -69,6 +68,8 @@ export const tooltipType = (type: string) => vscode.l10n.t('Type: {0}', type); export const tooltipState = (state: string) => vscode.l10n.t('State: {0}', state); export const tooltipHealth = (health: string) => vscode.l10n.t('Health: {0}', health); export const tooltipEndpoints = vscode.l10n.t('Endpoints:'); +export const healthChecksLabel = vscode.l10n.t('Health Checks'); +export const healthCheckDescription = (status: string) => vscode.l10n.t('{0}', status); export const failedToStartDebugSession = vscode.l10n.t('Failed to start debug session.'); export const failedToGetConfigInfo = (exitCode: number) => vscode.l10n.t('Failed to get Aspire config info (exit code: {0}). Try updating the Aspire CLI with: aspire update', exitCode); export const failedToParseConfigInfo = (error: any) => vscode.l10n.t('Failed to parse Aspire config info: {0}. Try updating the Aspire CLI with: aspire update', error); @@ -107,8 +108,12 @@ export const codeLensResourceRunning = vscode.l10n.t('$(pass) Running'); export const codeLensResourceRunningWarning = vscode.l10n.t('$(warning) Running'); export const codeLensResourceRunningError = vscode.l10n.t('$(error) Running'); export const codeLensResourceStarting = vscode.l10n.t('$(loading~spin) Starting'); +export const codeLensResourceNotStarted = vscode.l10n.t('$(circle-outline) Not Started'); +export const codeLensResourceWaiting = vscode.l10n.t('$(loading~spin) Waiting'); export const codeLensResourceStopped = vscode.l10n.t('$(circle-outline) Stopped'); +export const codeLensResourceStoppedWithExitCode = (exitCode: number) => vscode.l10n.t('$(circle-outline) Stopped (Exit Code: {0})', exitCode); export const codeLensResourceStoppedError = vscode.l10n.t('$(error) Stopped'); +export const codeLensResourceStoppedErrorWithExitCode = (exitCode: number) => vscode.l10n.t('$(error) Stopped (Exit Code: {0})', exitCode); export const codeLensResourceError = vscode.l10n.t('$(error) Error'); export const codeLensRestart = vscode.l10n.t('$(debug-restart) Restart'); export const codeLensStop = vscode.l10n.t('$(debug-stop) Stop'); diff --git a/extension/src/test/appHostTreeView.test.ts b/extension/src/test/appHostTreeView.test.ts index 6a3e6d99c88..9b1c0477ab2 100644 --- a/extension/src/test/appHostTreeView.test.ts +++ b/extension/src/test/appHostTreeView.test.ts @@ -1,7 +1,7 @@ import * as assert from 'assert'; import * as path from 'path'; import { shortenPath } from '../views/AppHostDataRepository'; -import { getResourceContextValue, getResourceIcon, resolveAppHostSourcePath } from '../views/AspireAppHostTreeProvider'; +import { getResourceContextValue, getResourceIcon, resolveAppHostSourcePath, buildResourceDescription } from '../views/AspireAppHostTreeProvider'; import type { ResourceJson } from '../views/AppHostDataRepository'; import { ResourceState, HealthStatus, StateStyle } from '../editor/resourceConstants'; @@ -13,6 +13,8 @@ function makeResource(overrides: Partial = {}): ResourceJson { state: null, stateStyle: null, healthStatus: null, + healthReports: null, + exitCode: null, dashboardUrl: null, urls: null, commands: null, @@ -154,9 +156,9 @@ suite('getResourceIcon', () => { assert.strictEqual(icon.id, 'pass'); }); - test('Running + Unhealthy shows error icon', () => { + test('Running + Unhealthy shows warning icon', () => { const icon = getResourceIcon(makeResource({ state: ResourceState.Running, healthStatus: HealthStatus.Unhealthy })); - assert.strictEqual(icon.id, 'error'); + assert.strictEqual(icon.id, 'warning'); }); test('Running + Degraded shows warning icon', () => { @@ -179,16 +181,21 @@ suite('getResourceIcon', () => { assert.strictEqual(icon.id, 'pass'); }); - test('Finished shows circle-outline', () => { - const icon = getResourceIcon(makeResource({ state: ResourceState.Finished })); - assert.strictEqual(icon.id, 'circle-outline'); - }); - test('Exited with error stateStyle shows error', () => { const icon = getResourceIcon(makeResource({ state: ResourceState.Exited, stateStyle: StateStyle.Error })); assert.strictEqual(icon.id, 'error'); }); + test('Exited with non-zero exit code shows error', () => { + const icon = getResourceIcon(makeResource({ state: ResourceState.Exited, exitCode: 137 })); + assert.strictEqual(icon.id, 'error'); + }); + + test('Finished with exit code 0 shows green pass', () => { + const icon = getResourceIcon(makeResource({ state: ResourceState.Finished, exitCode: 0 })); + assert.strictEqual(icon.id, 'pass'); + }); + test('FailedToStart shows error icon', () => { const icon = getResourceIcon(makeResource({ state: ResourceState.FailedToStart })); assert.strictEqual(icon.id, 'error'); @@ -209,9 +216,24 @@ suite('getResourceIcon', () => { assert.strictEqual(icon.id, 'loading~spin'); }); - test('null state shows circle-outline', () => { + test('Waiting shows loading spinner', () => { + const icon = getResourceIcon(makeResource({ state: ResourceState.Waiting })); + assert.strictEqual(icon.id, 'loading~spin'); + }); + + test('NotStarted shows record (no spinner)', () => { + const icon = getResourceIcon(makeResource({ state: ResourceState.NotStarted })); + assert.strictEqual(icon.id, 'record'); + }); + + test('Finished shows green pass', () => { + const icon = getResourceIcon(makeResource({ state: ResourceState.Finished })); + assert.strictEqual(icon.id, 'pass'); + }); + + test('null state shows record', () => { const icon = getResourceIcon(makeResource({ state: null })); - assert.strictEqual(icon.id, 'circle-outline'); + assert.strictEqual(icon.id, 'record'); }); test('unknown state shows circle-filled', () => { @@ -219,3 +241,43 @@ suite('getResourceIcon', () => { assert.strictEqual(icon.id, 'circle-filled'); }); }); + +suite('buildResourceDescription', () => { + test('no state, health, or exit code returns resource type', () => { + assert.strictEqual(buildResourceDescription(makeResource()), 'Project'); + }); + + test('with state shows type and state', () => { + assert.strictEqual(buildResourceDescription(makeResource({ state: 'Running' })), 'Project · Running'); + }); + + test('with health reports shows count', () => { + const desc = buildResourceDescription(makeResource({ + healthReports: { + 'check1': { status: 'Healthy', description: null, exceptionMessage: null }, + 'check2': { status: 'Unhealthy', description: null, exceptionMessage: null }, + }, + })); + assert.ok(desc.includes('1/2')); + }); + + test('with exit code shows exit code', () => { + const desc = buildResourceDescription(makeResource({ exitCode: 137 })); + assert.ok(desc.includes('137')); + }); + + test('with both health and exit code shows both', () => { + const desc = buildResourceDescription(makeResource({ + exitCode: 1, + healthReports: { + 'check1': { status: 'Healthy', description: null, exceptionMessage: null }, + }, + })); + assert.ok(desc.includes('1/1')); + assert.ok(desc.includes('1')); + }); + + test('empty health reports returns resource type', () => { + assert.strictEqual(buildResourceDescription(makeResource({ healthReports: {} })), 'Project'); + }); +}); diff --git a/extension/src/test/codeLens.test.ts b/extension/src/test/codeLens.test.ts index 0f6a48ed242..a68a712f69c 100644 --- a/extension/src/test/codeLens.test.ts +++ b/extension/src/test/codeLens.test.ts @@ -5,8 +5,12 @@ import { codeLensResourceRunningWarning, codeLensResourceRunningError, codeLensResourceStarting, + codeLensResourceNotStarted, + codeLensResourceWaiting, codeLensResourceStopped, + codeLensResourceStoppedWithExitCode, codeLensResourceStoppedError, + codeLensResourceStoppedErrorWithExitCode, codeLensResourceError, } from '../loc/strings'; import { ResourceState, StateStyle } from '../editor/resourceConstants'; @@ -48,12 +52,12 @@ suite('getCodeLensStateLabel', () => { assert.strictEqual(getCodeLensStateLabel(ResourceState.Building, ''), codeLensResourceStarting); }); - test('Waiting returns starting label', () => { - assert.strictEqual(getCodeLensStateLabel(ResourceState.Waiting, ''), codeLensResourceStarting); + test('Waiting returns waiting label', () => { + assert.strictEqual(getCodeLensStateLabel(ResourceState.Waiting, ''), codeLensResourceWaiting); }); - test('NotStarted returns starting label', () => { - assert.strictEqual(getCodeLensStateLabel(ResourceState.NotStarted, ''), codeLensResourceStarting); + test('NotStarted returns not-started label', () => { + assert.strictEqual(getCodeLensStateLabel(ResourceState.NotStarted, ''), codeLensResourceNotStarted); }); // --- Error states --- @@ -92,6 +96,24 @@ suite('getCodeLensStateLabel', () => { assert.strictEqual(getCodeLensStateLabel(ResourceState.Stopping, StateStyle.Error), codeLensResourceStoppedError); }); + // --- Exit code tests --- + + test('Finished with exitCode returns stopped-with-exit-code label', () => { + assert.strictEqual(getCodeLensStateLabel(ResourceState.Finished, '', 0), codeLensResourceStoppedWithExitCode(0)); + }); + + test('Exited with exitCode and error stateStyle returns stopped-error-with-exit-code label', () => { + assert.strictEqual(getCodeLensStateLabel(ResourceState.Exited, StateStyle.Error, 1), codeLensResourceStoppedErrorWithExitCode(1)); + }); + + test('Finished with null exitCode returns stopped label', () => { + assert.strictEqual(getCodeLensStateLabel(ResourceState.Finished, '', null), codeLensResourceStopped); + }); + + test('Finished with undefined exitCode returns stopped label', () => { + assert.strictEqual(getCodeLensStateLabel(ResourceState.Finished, ''), codeLensResourceStopped); + }); + // --- Default / unknown states --- test('unknown state returns the state string itself', () => { diff --git a/extension/src/views/AppHostDataRepository.ts b/extension/src/views/AppHostDataRepository.ts index a37df1b21dd..243803c5f81 100644 --- a/extension/src/views/AppHostDataRepository.ts +++ b/extension/src/views/AppHostDataRepository.ts @@ -17,6 +17,12 @@ export interface ResourceCommandJson { description: string | null; } +export interface ResourceHealthReportJson { + status: string | null; + description: string | null; + exceptionMessage: string | null; +} + export interface ResourceJson { name: string; displayName: string | null; @@ -24,6 +30,8 @@ export interface ResourceJson { state: string | null; stateStyle: string | null; healthStatus: string | null; + healthReports: Record | null; + exitCode: number | null; dashboardUrl: string | null; urls: ResourceUrlJson[] | null; commands: Record | null; diff --git a/extension/src/views/AspireAppHostTreeProvider.ts b/extension/src/views/AspireAppHostTreeProvider.ts index 5bb4e290f18..55620ed014e 100644 --- a/extension/src/views/AspireAppHostTreeProvider.ts +++ b/extension/src/views/AspireAppHostTreeProvider.ts @@ -9,7 +9,6 @@ import { cliPidLabel, appHostPidLabel, resourcesGroupLabel, - resourceStateLabel, noCommandsAvailable, selectCommandPlaceholder, selectDashboardPlaceholder, @@ -21,6 +20,8 @@ import { tooltipEndpoints, appHostSourceNotFound, appHostSourceOpenFailed, + healthChecksLabel, + healthCheckDescription, } from '../loc/strings'; import { AppHostDataRepository, @@ -30,7 +31,7 @@ import { shortenPath, } from './AppHostDataRepository'; -type TreeElement = AppHostItem | PidItem | EndpointUrlItem | ResourcesGroupItem | ResourceItem | WorkspaceResourcesItem; +type TreeElement = AppHostItem | PidItem | EndpointUrlItem | ResourcesGroupItem | ResourceItem | WorkspaceResourcesItem | HealthChecksGroupItem | HealthCheckItem; function sortResources(resources: ResourceJson[]): ResourceJson[] { return [...resources].sort((a, b) => { @@ -117,22 +118,57 @@ class ResourcesGroupItem extends vscode.TreeItem { } } +class HealthChecksGroupItem extends vscode.TreeItem { + constructor(public readonly resource: ResourceJson, parentId: string) { + super(healthChecksLabel, vscode.TreeItemCollapsibleState.Expanded); + this.id = `${parentId}:health-checks`; + this.iconPath = new vscode.ThemeIcon('heart'); + this.contextValue = 'healthChecksGroup'; + const reports = resource.healthReports; + if (reports) { + const total = Object.keys(reports).length; + const passed = Object.values(reports).filter(r => r.status === 'Healthy').length; + this.description = `${passed}/${total}`; + } + } +} + +class HealthCheckItem extends vscode.TreeItem { + constructor(name: string, status: string | null, description: string | null, parentId: string) { + super(name, vscode.TreeItemCollapsibleState.None); + this.id = `${parentId}:health:${name}`; + const isHealthy = status === 'Healthy'; + const isDegraded = status === 'Degraded'; + this.iconPath = isHealthy + ? new vscode.ThemeIcon('pass', new vscode.ThemeColor('testing.iconPassed')) + : isDegraded + ? new vscode.ThemeIcon('warning', new vscode.ThemeColor('list.warningForeground')) + : new vscode.ThemeIcon('error', new vscode.ThemeColor('list.errorForeground')); + this.description = healthCheckDescription(status ?? 'Unknown'); + if (description) { + this.tooltip = description; + } + this.contextValue = 'healthCheck'; + } +} + function getParentResourceName(resource: ResourceJson): string | null { return resource.properties?.['resource.parentName'] ?? null; } class ResourceItem extends vscode.TreeItem { constructor(public readonly resource: ResourceJson, public readonly appHostPid: number | null, hasChildren: boolean) { - const state = resource.state ?? ''; - const label = state ? resourceStateLabel(resource.displayName ?? resource.name, state) : (resource.displayName ?? resource.name); + const label = resource.displayName ?? resource.name; const hasUrls = resource.urls && resource.urls.filter(u => !u.isInternal).length > 0; + const hasHealthReports = resource.healthReports && Object.keys(resource.healthReports).length > 0; + const hasExpandableContent = hasChildren || hasUrls || hasHealthReports; const collapsible = hasChildren ? vscode.TreeItemCollapsibleState.Expanded - : hasUrls ? vscode.TreeItemCollapsibleState.Collapsed : vscode.TreeItemCollapsibleState.None; + : hasExpandableContent ? vscode.TreeItemCollapsibleState.Collapsed : vscode.TreeItemCollapsibleState.None; super(label, collapsible); this.id = appHostPid !== null ? `resource:${appHostPid}:${resource.name}` : `resource:workspace:${resource.name}`; this.iconPath = getResourceIcon(resource); - this.description = resource.resourceType; + this.description = buildResourceDescription(resource); this.tooltip = buildResourceTooltip(resource); this.contextValue = getResourceContextValue(resource); } @@ -159,7 +195,10 @@ export function getResourceIcon(resource: ResourceJson): vscode.ThemeIcon { switch (state) { case ResourceState.Running: case ResourceState.Active: - if (health === HealthStatus.Unhealthy || resource.stateStyle === StateStyle.Error) { + if (health === HealthStatus.Unhealthy) { + return new vscode.ThemeIcon('warning', new vscode.ThemeColor('list.warningForeground')); + } + if (resource.stateStyle === StateStyle.Error) { return new vscode.ThemeIcon('error', new vscode.ThemeColor('list.errorForeground')); } if (health === HealthStatus.Degraded || resource.stateStyle === StateStyle.Warning) { @@ -168,10 +207,11 @@ export function getResourceIcon(resource: ResourceJson): vscode.ThemeIcon { return new vscode.ThemeIcon('pass', new vscode.ThemeColor('testing.iconPassed')); case ResourceState.Finished: case ResourceState.Exited: - if (resource.stateStyle === StateStyle.Error) { + case ResourceState.Stopped: + if (resource.stateStyle === StateStyle.Error || (resource.exitCode != null && resource.exitCode !== 0)) { return new vscode.ThemeIcon('error', new vscode.ThemeColor('list.errorForeground')); } - return new vscode.ThemeIcon('circle-outline'); + return new vscode.ThemeIcon('pass', new vscode.ThemeColor('charts.green')); case ResourceState.FailedToStart: case ResourceState.RuntimeUnhealthy: return new vscode.ThemeIcon('error', new vscode.ThemeColor('list.errorForeground')); @@ -179,11 +219,12 @@ export function getResourceIcon(resource: ResourceJson): vscode.ThemeIcon { case ResourceState.Stopping: case ResourceState.Building: case ResourceState.Waiting: - case ResourceState.NotStarted: return new vscode.ThemeIcon('loading~spin'); + case ResourceState.NotStarted: + return new vscode.ThemeIcon('record', new vscode.ThemeColor('descriptionForeground')); default: if (state === null || state === undefined) { - return new vscode.ThemeIcon('circle-outline'); + return new vscode.ThemeIcon('record', new vscode.ThemeColor('descriptionForeground')); } return new vscode.ThemeIcon('circle-filled', new vscode.ThemeColor('aspire.brandPurple')); } @@ -217,6 +258,25 @@ export function resolveAppHostSourcePath(appHostPath: string, fileExists: (candi return appHostPath; } +export function buildResourceDescription(resource: ResourceJson): string { + const parts: string[] = [resource.resourceType]; + const state = resource.state; + if (state) { + parts.push(state); + } + const reports = resource.healthReports; + const exitCode = resource.exitCode; + if (reports && Object.keys(reports).length > 0) { + const total = Object.keys(reports).length; + const passed = Object.values(reports).filter(r => r.status === 'Healthy').length; + parts.push(`Health: ${passed}/${total}`); + } + if (exitCode != null) { + parts.push(`Exit Code: ${exitCode}`); + } + return parts.join(' · '); +} + function buildResourceTooltip(resource: ResourceJson): vscode.MarkdownString { const md = new vscode.MarkdownString(); md.appendMarkdown(`**${resource.displayName ?? resource.name}**\n\n`); @@ -225,7 +285,17 @@ function buildResourceTooltip(resource: ResourceJson): vscode.MarkdownString { md.appendMarkdown(`${tooltipState(resource.state)}\n\n`); } if (resource.healthStatus) { - md.appendMarkdown(`${tooltipHealth(resource.healthStatus)}\n\n`); + md.appendMarkdown(`${tooltipHealth(resource.healthStatus)} + +`); + const reports = resource.healthReports; + if (reports) { + const entries = Object.entries(reports); + for (const [name, report] of entries) { + const icon = report.status === 'Healthy' ? '$(pass)' : report.status === 'Degraded' ? '$(warning)' : '$(error)'; + md.appendMarkdown(`${icon} ${name}: ${report.status ?? 'Unknown'}${report.description ? ` - ${report.description}` : ''}\n\n`); + } + } } const urls = resource.urls?.filter(u => !u.isInternal && typeof u.url === 'string' && (u.url.startsWith('http://') || u.url.startsWith('https://'))) ?? []; if (urls.length > 0) { @@ -247,6 +317,7 @@ export class AspireAppHostTreeProvider implements vscode.TreeDataProvider | undefined; constructor( private readonly _repository: AppHostDataRepository, @@ -278,6 +349,10 @@ export class AspireAppHostTreeProvider implements vscode.TreeDataProvider): void { + this._treeView = treeView; + } + findResourceElement(resourceName: string): TreeElement | undefined { const allChildren = this.getChildren(); return this._findResourceInTree(allChildren, resourceName); @@ -367,6 +442,10 @@ export class AspireAppHostTreeProvider implements vscode.TreeDataProvider a.appHostPid === element.appHostPid)?.resources ?? []; return this._getResourceChildren(element, allResources); } + if (element instanceof HealthChecksGroupItem) { + return this._getHealthCheckChildren(element); + } return []; } @@ -436,11 +518,38 @@ export class AspireAppHostTreeProvider implements vscode.TreeDataProvider !u.isInternal) ?? []; items.push(...urls.map(url => new EndpointUrlItem(url.url, url.displayName ?? url.url))); + const reports = element.resource.healthReports; + if (reports && Object.keys(reports).length > 0) { + items.push(new HealthChecksGroupItem(element.resource, element.id!)); + } + return items; } + private _getHealthCheckChildren(element: HealthChecksGroupItem): TreeElement[] { + const reports = element.resource.healthReports; + if (!reports) { + return []; + } + return Object.entries(reports) + .sort(([a], [b]) => a.localeCompare(b)) + .map(([name, report]) => new HealthCheckItem(name, report.status, report.description, element.id!)); + } + // ── Commands ── + async expandAll(element?: TreeElement): Promise { + if (!this._treeView || !element) { + return; + } + const children = this.getChildren(element); + for (const child of children) { + if (child.collapsibleState !== vscode.TreeItemCollapsibleState.None) { + await this._treeView.reveal(child, { expand: 3 }); + } + } + } + async openDashboard(element?: TreeElement): Promise { let url: string | null = null; diff --git a/extension/walkthrough/runApp.md b/extension/walkthrough/runApp.md index ce1a8bdecfa..6fb1112e24f 100644 --- a/extension/walkthrough/runApp.md +++ b/extension/walkthrough/runApp.md @@ -11,6 +11,14 @@ When you run, the extension: ### Debugging When you **debug** instead of run, the extension attaches debuggers to your services automatically — set breakpoints in any project and they'll be hit as requests flow through your app. +### Editor indicators +While your app is running, the extension shows live resource status directly in your apphost source file: + +- **Gutter icons** — distinct shapes in the editor gutter next to each resource definition show state at a glance: a green **✓** checkmark for running healthy, a yellow **⚠** triangle for unhealthy or degraded, a red **✕** for errors, a blue **⌛** hourglass for starting or waiting, and a grey **○** circle for not yet started. +- **Code lens** — inline labels above each resource show the current state and health (e.g. "Running - (Unhealthy 0/1)", "Not Started", "Waiting") along with quick actions like Restart, Stop, Start, and Logs. + +![Editor showing gutter icons and code lens labels for resources in different states](../resources/editor-indicators-dark.png) + ### The dashboard Once running, the dashboard shows all your resources, endpoints, logs, traces, and metrics in one place: From 1522ecb5cd5de77e7a3358578009463422db9208 Mon Sep 17 00:00:00 2001 From: Adam Ratzman Date: Sat, 28 Mar 2026 19:47:50 -0700 Subject: [PATCH 2/3] Fix localization, state consistency, and test issues - Localize hardcoded 'Health:' and 'Exit Code:' strings in buildResourceDescription via vscode.l10n.t() wrappers - Make Stopping state consistent: show spinner/Starting label in code lens (matches gutter hourglass and tree view spinner) - Fix healthCheckDescription from no-op '{0}' to 'Status: {0}' - Fix weak test assertion: assert 'Exit Code: 1' instead of just '1' - Fix fragile raw-newline tooltip markdown to use explicit \n\n Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- extension/src/editor/AspireCodeLensProvider.ts | 3 ++- extension/src/loc/strings.ts | 4 +++- extension/src/test/appHostTreeView.test.ts | 2 +- extension/src/test/codeLens.test.ts | 12 ++++++++---- extension/src/views/AspireAppHostTreeProvider.ts | 10 +++++----- 5 files changed, 19 insertions(+), 12 deletions(-) diff --git a/extension/src/editor/AspireCodeLensProvider.ts b/extension/src/editor/AspireCodeLensProvider.ts index f70ce8fa000..2d6ce7d139d 100644 --- a/extension/src/editor/AspireCodeLensProvider.ts +++ b/extension/src/editor/AspireCodeLensProvider.ts @@ -219,10 +219,11 @@ export function getCodeLensStateLabel(state: string, stateStyle: string, exitCod case ResourceState.FailedToStart: case ResourceState.RuntimeUnhealthy: return codeLensResourceError; + case ResourceState.Stopping: + return codeLensResourceStarting; case ResourceState.Finished: case ResourceState.Exited: case ResourceState.Stopped: - case ResourceState.Stopping: if (stateStyle === StateStyle.Error) { return exitCode != null ? codeLensResourceStoppedErrorWithExitCode(exitCode) : codeLensResourceStoppedError; } diff --git a/extension/src/loc/strings.ts b/extension/src/loc/strings.ts index 8a9058be60a..c4c7166e083 100644 --- a/extension/src/loc/strings.ts +++ b/extension/src/loc/strings.ts @@ -69,7 +69,9 @@ export const tooltipState = (state: string) => vscode.l10n.t('State: {0}', state export const tooltipHealth = (health: string) => vscode.l10n.t('Health: {0}', health); export const tooltipEndpoints = vscode.l10n.t('Endpoints:'); export const healthChecksLabel = vscode.l10n.t('Health Checks'); -export const healthCheckDescription = (status: string) => vscode.l10n.t('{0}', status); +export const healthCheckDescription = (status: string) => vscode.l10n.t('Status: {0}', status); +export const resourceDescriptionHealth = (passed: number, total: number) => vscode.l10n.t('Health: {0}/{1}', passed, total); +export const resourceDescriptionExitCode = (exitCode: number) => vscode.l10n.t('Exit Code: {0}', exitCode); export const failedToStartDebugSession = vscode.l10n.t('Failed to start debug session.'); export const failedToGetConfigInfo = (exitCode: number) => vscode.l10n.t('Failed to get Aspire config info (exit code: {0}). Try updating the Aspire CLI with: aspire update', exitCode); export const failedToParseConfigInfo = (error: any) => vscode.l10n.t('Failed to parse Aspire config info: {0}. Try updating the Aspire CLI with: aspire update', error); diff --git a/extension/src/test/appHostTreeView.test.ts b/extension/src/test/appHostTreeView.test.ts index 9b1c0477ab2..519f24b5532 100644 --- a/extension/src/test/appHostTreeView.test.ts +++ b/extension/src/test/appHostTreeView.test.ts @@ -274,7 +274,7 @@ suite('buildResourceDescription', () => { }, })); assert.ok(desc.includes('1/1')); - assert.ok(desc.includes('1')); + assert.ok(desc.includes('Exit Code: 1')); }); test('empty health reports returns resource type', () => { diff --git a/extension/src/test/codeLens.test.ts b/extension/src/test/codeLens.test.ts index a68a712f69c..d83a7b6d633 100644 --- a/extension/src/test/codeLens.test.ts +++ b/extension/src/test/codeLens.test.ts @@ -80,8 +80,8 @@ suite('getCodeLensStateLabel', () => { assert.strictEqual(getCodeLensStateLabel(ResourceState.Exited, ''), codeLensResourceStopped); }); - test('Stopping with no stateStyle returns stopped label', () => { - assert.strictEqual(getCodeLensStateLabel(ResourceState.Stopping, ''), codeLensResourceStopped); + test('Stopped with no stateStyle returns stopped label', () => { + assert.strictEqual(getCodeLensStateLabel(ResourceState.Stopped, ''), codeLensResourceStopped); }); test('Finished with error stateStyle returns stopped-error label', () => { @@ -92,8 +92,12 @@ suite('getCodeLensStateLabel', () => { assert.strictEqual(getCodeLensStateLabel(ResourceState.Exited, StateStyle.Error), codeLensResourceStoppedError); }); - test('Stopping with error stateStyle returns stopped-error label', () => { - assert.strictEqual(getCodeLensStateLabel(ResourceState.Stopping, StateStyle.Error), codeLensResourceStoppedError); + test('Stopping returns starting label', () => { + assert.strictEqual(getCodeLensStateLabel(ResourceState.Stopping, ''), codeLensResourceStarting); + }); + + test('Stopping with error stateStyle still returns starting label', () => { + assert.strictEqual(getCodeLensStateLabel(ResourceState.Stopping, StateStyle.Error), codeLensResourceStarting); }); // --- Exit code tests --- diff --git a/extension/src/views/AspireAppHostTreeProvider.ts b/extension/src/views/AspireAppHostTreeProvider.ts index 55620ed014e..5e946447c1f 100644 --- a/extension/src/views/AspireAppHostTreeProvider.ts +++ b/extension/src/views/AspireAppHostTreeProvider.ts @@ -22,6 +22,8 @@ import { appHostSourceOpenFailed, healthChecksLabel, healthCheckDescription, + resourceDescriptionHealth, + resourceDescriptionExitCode, } from '../loc/strings'; import { AppHostDataRepository, @@ -269,10 +271,10 @@ export function buildResourceDescription(resource: ResourceJson): string { if (reports && Object.keys(reports).length > 0) { const total = Object.keys(reports).length; const passed = Object.values(reports).filter(r => r.status === 'Healthy').length; - parts.push(`Health: ${passed}/${total}`); + parts.push(resourceDescriptionHealth(passed, total)); } if (exitCode != null) { - parts.push(`Exit Code: ${exitCode}`); + parts.push(resourceDescriptionExitCode(exitCode)); } return parts.join(' · '); } @@ -285,9 +287,7 @@ function buildResourceTooltip(resource: ResourceJson): vscode.MarkdownString { md.appendMarkdown(`${tooltipState(resource.state)}\n\n`); } if (resource.healthStatus) { - md.appendMarkdown(`${tooltipHealth(resource.healthStatus)} - -`); + md.appendMarkdown(`${tooltipHealth(resource.healthStatus)}\n\n`); const reports = resource.healthReports; if (reports) { const entries = Object.entries(reports); From 8af8043a09e584cf6df3520e24669cf7e0c819c6 Mon Sep 17 00:00:00 2001 From: Adam Ratzman Date: Sat, 28 Mar 2026 19:51:02 -0700 Subject: [PATCH 3/3] Address Copilot review: fix icon priority and tooltip consistency - Check stateStyle Error before Unhealthy in getResourceIcon to match gutter classifyState ordering (error takes precedence over warning) - Use HealthStatus constants instead of hardcoded strings in tooltip - Sort health report entries by name for stable tooltip ordering Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- extension/src/views/AspireAppHostTreeProvider.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/extension/src/views/AspireAppHostTreeProvider.ts b/extension/src/views/AspireAppHostTreeProvider.ts index 5e946447c1f..97e484c1fb9 100644 --- a/extension/src/views/AspireAppHostTreeProvider.ts +++ b/extension/src/views/AspireAppHostTreeProvider.ts @@ -197,12 +197,12 @@ export function getResourceIcon(resource: ResourceJson): vscode.ThemeIcon { switch (state) { case ResourceState.Running: case ResourceState.Active: - if (health === HealthStatus.Unhealthy) { - return new vscode.ThemeIcon('warning', new vscode.ThemeColor('list.warningForeground')); - } if (resource.stateStyle === StateStyle.Error) { return new vscode.ThemeIcon('error', new vscode.ThemeColor('list.errorForeground')); } + if (health === HealthStatus.Unhealthy) { + return new vscode.ThemeIcon('warning', new vscode.ThemeColor('list.warningForeground')); + } if (health === HealthStatus.Degraded || resource.stateStyle === StateStyle.Warning) { return new vscode.ThemeIcon('warning', new vscode.ThemeColor('list.warningForeground')); } @@ -290,9 +290,9 @@ function buildResourceTooltip(resource: ResourceJson): vscode.MarkdownString { md.appendMarkdown(`${tooltipHealth(resource.healthStatus)}\n\n`); const reports = resource.healthReports; if (reports) { - const entries = Object.entries(reports); + const entries = Object.entries(reports).sort(([a], [b]) => a.localeCompare(b)); for (const [name, report] of entries) { - const icon = report.status === 'Healthy' ? '$(pass)' : report.status === 'Degraded' ? '$(warning)' : '$(error)'; + const icon = report.status === HealthStatus.Healthy ? '$(pass)' : report.status === HealthStatus.Degraded ? '$(warning)' : '$(error)'; md.appendMarkdown(`${icon} ${name}: ${report.status ?? 'Unknown'}${report.description ? ` - ${report.description}` : ''}\n\n`); } }