From 6a5c5ab5ab7e19e0a32e6b74cc2b496ed1f282d5 Mon Sep 17 00:00:00 2001
From: huangruiteng <14976749+huangruiteng@users.noreply.github.com>
Date: Tue, 15 Sep 2026 22:15:24 +0800
Subject: [PATCH 1/2] feat(chat): show the steward execution binding in the
manager header
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The manager channel selects its executor endpoint and model, and the Chat
capabilities payload already projects that selection as `manager.channel_binding`
with the executor kind, the resolved model, and `available`/`unavailable_reason`.
The packaged frontends rendered none of it, so an operator could not read which
executor answers for the steward, which credential pays for it, which model
follows it, or that a selected managed host cannot serve the channel at all.
Render one compact chip in the manager channel header (`executor · executor kind
· model`) and the transport gate beside it when the projection proves the
selected endpoint cannot serve this channel. The chip is display-only: it lifts
the inline capability shape into a named, reused schema, keeps the kind in the
`individual`/`managed` vocabulary of the governed Turn surface, and names a kind
this build does not recognize as an unclaimed registered endpoint rather than
guessing. An unavailable selection is carried by the chip itself and the narrow
header keeps that row, so a wrapped-out reason cannot leave the state looking
healthy.
The chip renders only when the control plane projects a binding, so an older
service keeps the previous header. A new browser scenario (`execution-chip`)
proves the chip text for the shipped and managed-host bindings, the inline
transport gate, the unavailable marker, the compact header-row geometry, the
390px layout where the reason must stay readable, and that the chip stays absent
without a binding.
Signed-off-by: huangruiteng <14976749+huangruiteng@users.noreply.github.com>
---
apps/presentation/dashboard/src/data/chat.ts | 16 ++
.../personal-workspace/channel-header.tsx | 29 ++-
.../src/features/personal-workspace/i18n.tsx | 8 +
.../personal-workspace-page.tsx | 4 +
.../personal-workspace/personal-workspace.css | 15 ++
.../dashboard/src/views/dashboard-page.tsx | 5 +
.../steward-execution-chip-desktop.png | Bin 0 -> 131270 bytes
...ard-execution-chip-unavailable-desktop.png | Bin 0 -> 137767 bytes
...ward-execution-chip-unavailable-mobile.png | Bin 0 -> 57462 bytes
.../manager-evidence-and-continuity-v0.md | 15 ++
examples/personal-workspace-browser-smoke.mjs | 3 +-
.../execution-chip.mjs | 199 ++++++++++++++++++
.../personal-workspace-browser/fixture.mjs | 3 +-
13 files changed, 294 insertions(+), 3 deletions(-)
create mode 100644 docs/assets/personal-workspace/steward-execution-chip-desktop.png
create mode 100644 docs/assets/personal-workspace/steward-execution-chip-unavailable-desktop.png
create mode 100644 docs/assets/personal-workspace/steward-execution-chip-unavailable-mobile.png
create mode 100644 examples/personal-workspace-browser/execution-chip.mjs
diff --git a/apps/presentation/dashboard/src/data/chat.ts b/apps/presentation/dashboard/src/data/chat.ts
index 9fb75d8515..4b48a6e87d 100644
--- a/apps/presentation/dashboard/src/data/chat.ts
+++ b/apps/presentation/dashboard/src/data/chat.ts
@@ -96,6 +96,21 @@ export const chatStatusSchema = z.object({
goals: z.array(chatGoalSchema),
});
+export const managerChannelBindingSchema = z.object({
+ schema_version: z.string(),
+ executor_endpoint: z.string(),
+ executor_endpoint_source: z.string(),
+ executor_kind: z.string(),
+ model: z.string(),
+ model_source: z.string(),
+ credential_env_var: z.string(),
+ operator_credential_configured: z.boolean(),
+ available: z.boolean().nullable(),
+ unavailable_reason: z.string().nullable(),
+});
+
+export type ManagerChannelBinding = z.infer
+ + {managerChannelBinding.executor_endpoint} + {managerExecutionKindLabel ? {managerExecutionKindLabel} : null} + {managerChannelBinding.model} + + {managerExecutionUnavailable ? ( + + {t("header.managerExecutionUnavailable", { executor: managerChannelBinding.executor_endpoint })} + + ) : null} +
+ ) : null} {selectedGoal ?{selectedGoal.loadState ? t(selectedGoal.loadState === "error" ? "startup.goalError" : "startup.goalLoading") : `${selectedGoal.agentLaneCount && selectedGoal.agentLaneCount > 1 ? t("header.workAgentCount", { count: selectedGoal.agentLaneCount }) : selectedGoal.agentLabel ?? selectedGoal.agentId} · ${(selectedGoal.loadState ? t(selectedGoal.loadState === "error" ? "startup.goalError" : "startup.goalLoading") : localizedGoalState(selectedGoal.state, locale))}${selectedGoalUsageLabel ? ` · ${selectedGoalUsageLabel}` : ""} · ${selectedGoal.nextSentence}`}
: null} diff --git a/apps/presentation/dashboard/src/features/personal-workspace/i18n.tsx b/apps/presentation/dashboard/src/features/personal-workspace/i18n.tsx index d7e359b0cf..3bf9a4f61f 100644 --- a/apps/presentation/dashboard/src/features/personal-workspace/i18n.tsx +++ b/apps/presentation/dashboard/src/features/personal-workspace/i18n.tsx @@ -405,6 +405,10 @@ const en = { "header.managerDescription": "Your personal workspace across Goals", "header.managerRuntime": "{profile} · {sandbox}", "header.managerRuntimeFallback": "Configuration invalid; fell back to {profile} · {sandbox}. Repair it in Machine capabilities.", + "header.managerExecutorKindIndividual": "individual CLI login", + "header.managerExecutorKindManaged": "operator credential", + "header.managerExecutorKindRegistered": "registered endpoint", + "header.managerExecutionUnavailable": "Selected {executor} has no Chat transport yet; this channel needs codex, or run the managed host through loopx turn.", "header.managerOverview": "Overview", "header.managerView": "Manager view", "header.openGoalNavigation": "Open Goal navigation", @@ -1405,6 +1409,10 @@ const zhCN: Record$LHOxCxkIK;knQ838#FyqX*Z&nU?s#VitR%a za@WX~N!#`dUov^iGJ%6*x}DV;0FmlW#qiN5 zU*#>1$5nGO63bw?(xSB;PXcS*dP2G^adoT!t9Bd2fQ_(peCaXr(-ADcuTR5ASuB8^ zhkdQ=LuHrLL56E^9sBchsQi{+-%H;5441+PyC3oOl2S61S6L9SJ>Rb|W&IzO9{aS( zxrW(@G1Y%=5vwmfQR+)0@quAy>N6A+ %#)royh|=gfe%8`MwrvvwMT zWeT?|7$f+vNdDp7EX|jh*V0DsPg3mde1ZJn6g(P6ir0FhhX~FWn&kJ==Fmn8dmQlf zxY=)?riznwC#^0gEg>YGFZ-#9u^3NbY>FgoG+(igdi{D5!Jly W_jL4^N;L9Vmuny{>s0=d7ZI;Vf}vTT2q>iFe=5LiSp4o %?xK;Ps yu;q`U0<48u(1hpu$FGLwJR{;}izI6_US7 zF?<_WnD^(P$s0w^`Sj+dNn}knd4_Q8gT_b%e`}9Jx5<+lKhB?CM4cmFPY&msTPS{H zAro>cp;Bh-?t{ )KGA-U&rt(qhfyciDc*QSF4qF|FFPJws?iu3h43_ zfQr@74T(VuM#kTDcsMv>NKF*Z<{(4X>sY#{e+ s@4&U$;eQ$wJqjTF5Xs>8Y(RH rqC0;p2mu8 zh@PwJc`GrR?RM|!qKbyCL33 2mk?VY=g;I5hVOYYt-g> %_hyk)|(7qjeAR&9-W??R}CfYP4)}iD5uZz}lC%f->7cT2WI7Qi>5A<3D77^xT?o zh^b1w{t#=Y7g)}nK2Y=ee4nm3>NOJ@YBjp-r)$HEzk+SbnF&>e@oZ({sBk@sP#jDc zEeVBeU|c^jn=cMi8y}-F$;4?b7h6W~wqxf@zLD61@lCEaJM66VHtolfzJ{~QVPCtR z89GpMze9TywFH}gh!ZsFu=33$ I$E#HNfu+@JKz6z%w!+%vf$hM!dacf4rMfobmgO(!u@sCYJz=zw=O2x7$ >y%`s7!eu%loN#egX30C%|a_mZy?^o^;6?5c2U=TA6Ae2&DoHsCd? z^(9~0v|w94l6vA)_+Y{d0S`ku(Q c*At%;(%B?|1Fg6p9}HNhAX?wBJvv{=N7;+@S+f;3@?E4q=Zt;=Iw7DG=Hxi|XklGAz-TUe_L3Wh}n4w~}JoO5ZA zctK5q>) s+zUMRpJCXn6iiUuLSgicS*A*)C06k0^k~_l!=8iV1Is~_!&w04 zx{d+BJIq~HM>=(ok7A2>{eM`1eCd9xXR6~ZHBAEsA*ZDh?HWFsR9hTIjh(lz{Q; zT6fZkshM7}C(C&!ZCh(%jE!bQJPftHYtG)+(w8<;^Ifp5p^V6UQ!hUHx~?W|GsQo_ zHhL?{=;;a*ZwwZ<*xV~ILZ+L_)69$4zeiaZ$JjppN4i&FTjL%N3LQb?+oM|r3!xt_ z9iH;AFrKn?p!=G#oz|_#e7u>)WX6L-E{W-D!qGt1AWGBHu~`ObYU+|yi7NxlS~+)j zKQ>)UFS8vOHIe^#Q^)5@qKzq0@HhtP3}z^*pKB0*xZO7Fm>?2=Xs5;MUE5=LIj>k5 z+8rqAL^G2#e!Snv*sX}o_}+Mu!g$7>w<2d=AfqJ1YWFZ7W#0*t`u{mg-B!Ek2Q ) zyT=V%X?=yhw5l>qrS-C$S )Q*Lm9ma;)KvYR&oa&{kvD1nZR5;%cVUy% zpdw{wbl-sX%e%Z1I|VkkWLQNNb;(ib&(;pxl()|G%+#&p;*}Y?l 4A z-4+vMckf~&2B6oRnr6PO;43H ogY$hMtG6JN=*lh2Dr`zP^Pu-UM@YC!4drNTH8;wloq#^mzUu%e0AC6${2sP zYosmh_h*3l1_jSO4rp;Jjq?%Tt42w8#n#=`^eDZAVB>ggYsI?Yz24+op&DUlT+wZ^ z^|Opz+FB60-BNqpeA4zzeADLeyVel;wfl#jzI%}wq<9>UHrXkiT%LUX@Xqy>p>>#q zm&-4SKMbk-#HyhZ?1nrETkv^|?b9X+w7f>N*E>eUiJfd@QAyLwuYyU0r8AIutY( zRZpuX62UtK&lW0&{gQ?~(Mbz6zC7yk?Ds*jBOo|+uZo--A?2ohIaFRbDX#nZVRTo0 zBdxjoqHZ!>s5;FTTfzO|d63?XD@8 8Glt%c$5 zmz?lFnkxCG3H^lzTb3C&gHelHY{Vp|V(3`?u0>I_7j82UurPaxx3c?6bT^u)y{Jie z{_b*bwoKp^e_L?isdR@KJ^Xj=B^6i{+kYEYKBzogHxpeEA~x$bPDK7i4%7@CsTS)f zF^d}+7nky8-Fv#U >{-s1h{F2hvi-7?3i zCZ{;U316uRUeWER9p$?P=*0CkhWS-GAVQ3#@11Zw9Ua1#c7CAA1lX W@Lby`nwVJcWkhV0 z^ejHyH!J;7oo#a)6Dip7e$q&(>cl^lsb@^%Dn&aY>z55BqmKS2{OfJ(LCz;GNXwSh zKu}7g#ViG;|6MBYV^aNjo{2?sBycuo(RrJ3#_jA?Hry@lr0XUtU^J>c+LhucbAYd* zncy#UQeaN!Na^BJD~B9`2q>^*-c@;w!&=)ReUsRj)hm^PgO=<`^glA%2-GCL@a)V> zs}vR=gJot#Kk1h<*!{n7JC43qnfr}=SQdp#567gn$yOg~xfYfaKEPTc2?k=Mg|3?T zYsx<&@1*(9=6tNVIA?j}M!}7Vu2Jo_iTq?!%TZN5ooEVn?Qg)Vk*m0c$B|Y{@#|$* zmC1pz&XYHf910sU@v3coZKP=^&*NJr$v k~)jsG){U)p2mI>kU2_q+w@iYDCC@-k8Q+h7jH}*?+xj-lSYbA|A6oHY!8?p z1sgYqF-1CinHALekQT>edRE&c!ZZ~MKfR}V?bc9ZgY=J}7Dxw4N1?rhm=@UL(U^Pa zt%q8Ur1XkBaYN1a_2BN@k~1R_#W#(ACRwSe%E^a?$-EDJP Py;+h6K?()T-ZGp>_Aiu;OE% z?)FcS3}5^-*eSh$h(;9^EBC8$+g?it*Wy+@^3j>Hc5%$sI-y6Z&HXW}(pA7{rFW%G zO2ytUk(Y{X_*NSG(6KMBj^AdRhgbU8w!vq|**V?T#L8U6I}YU0-#@=;>}uVI)F-FZ zw`-H~zXBiY(azU7 AWH?xFw z+L3^7#;T!&PT8JjP`8Y5i=V%UMY#V#wdL-Q_78HiY?bbWvAu|7miYM$aB55ECYRq! z{EQUce&Hi*kEFK|^7cntDeeXdLat)7o%Xiq^{qePz)a ir`>oTimKU^Aq4ak-?@PNx|jIS4wqx%BaU`PnLgd hwzk8U8rOcw$Sa-Q0|P6?auBf?cnM!2yeL`XCPIz zgO>G`==V_`2J@EKum%6gy66Ztb8yh}6CFc{Mf_3@EwujK^M|Hd5^@-B+pGZ`Ph|-z zkvhoNb5xs;ImXL;F?^>v`x8~_=kKgbDhAfCM_#F3flZ?44Y_mSYIkF`+BNeK>1`U+ zystK1)BH>bHfODe(h0x8g|fxIxzai*3+51pf|hZMnN3zQhnY>|%tY04xNCN3e_*Y~ zYOjxtU45zNWHNiIDt$x5q3}0OGG9(O>bdzxKT0h8`ck(O)|N2?folvo%yM3CpWJJh zaO`i>_+osY(n<)ue8{)M@){v6VRiHyj7NZ5R=JN+q*IK*Mj-iYYw~f9_`ipjzVgvT zQyOsiV_dI_+Wj;19l7XIrQLFVyF;ggycBPl@>KPgkbkWL@BjiX<;g(HyiLNpi%r~G z6YP?fep6tfka6^c)~V Mh!rP1AB0 zPDd|%SXKg(SCi@B#Ug)Ebo!yrQv`m%nkArp#emK1>M&=S^67ew90f81y|EU9Zr9~B z`uze&OPQ)JOdig^ZeydU*S){{fNo7sDRC`RWD1IXp+!BH^LrNJ_@98GQnS$*1VB=~ zm`Kk}OLzI6D#`i7jabrkj@?Qg;xw15jRu=-TKlAq9XrN%>!6ZpFv(WIeUwaSwY`pd z|Itr;Jq3(M@(v##7-)LyKINM!V!{*1Ib71wXklLVPoBYPXa>C6Ra^BHmq~J4xVJSd zz#Y-0{8>l#dDXbQMuRKdCFkxD4tL1VGABsqbfyFgj(F;1xD>G;&q$J4@$)(lHgNc# zl9qd?%6Peab(V% 4>9w=bt0nInyds?})isMN;-=7tgN z3Iyj)^5!|l?c#^&C@rRDPp!cNxR-LTx0UXkum*U}@f!jun|Weuq54Xh2K#;Et{B(b z9q)-WUFI72De^pz>3<3%XW6hLilO$fIZxcjiVTh~(W)jQGapkJrsK;pzZqKn_P);_ zZ+jJ{T9U{2NUsdZI_mfmR(^>J$E3R=Zx8H9depEE!4`5ZdIz>Ou?KG!HoPVOoblyB zbAwxum=GnP>fxDzfxU|$Opf(j<3rw-nsmkYk}7h}9Mk Y+5<6R(*sHP**5laG zf?207R$2an^oTMtalqda;8d!NbuyGQL*^MjwW9|dfK#e)$)D3`AH1jdfjV<(1@8d( z)26+C`wR5xd%N-VkLJIZT=&=Pweg;3b7$OlSTaNXX$@ovmve41d#(xGOY@bI9-4aY zo-wUIR^OA${~}H@^*x7ZouF~|K^A&?RnKcaANMOQv`QG!6#0s7_(UI(EMh;j@wBR? z@`1$cTPxmHd0tY`GQY4FkL~>yp V m-uaUPn>2QCsdhF x5H*os1$hhbA#m9f`Yus~bKCU-(OVm?Ija^bAPq_SD zYi?7$- eR#BF=@>a zYMRJ}_&fYUM^`x?SmZcvGhP3*p)JWpLnvWC^b!pZ=D`7#>1S~tbVBUMRZ1n}ucnq} z!QAXG_us!&)ua+Zd!^+%J9qO(Fc{8?%stF2ix5p7eeGQ{&-!qR5U`II*}J&-=mQh3 zelnmIm%Z)BuH>%^sno}5ei`l?Hl)wf)X}+>l%!4(AUqj7#!rvn<}CY&`Ek?qx9clx zxtDhY1O%whjLUQ-<%+8Z3SGDLP&v}#reZlEUg%(TA^LgYU@D_h&ECW jE zzMDNW*M8GS?LREw@TbK7O~ -F+K9QlS#Buq@)D2y>_caUql~xIHaFF!W zO=xt?&DOzqzxohdd}VF5HJ6dEw=QKtq*Z(3{VM~vsKu|+N{e!g^>16V`p$2a5nZ3j zmh0$Q<{lRo64QEO({9PN)%=U#t|z+FgF3N2A8hosH$fW9w$h`WB%!gtMqo#{PlQ9c zBjY19fJ+K)rc<5wH%*LjOpmm-`MLX5P8jA))%8K3A#*|9_aEEcOWseVCEk5aoz9Mm z5`k>eN__9zJ?X3qAFHWDk1Uh-o(~EXG?OX#{A&52q~H0Ku#X2l9;bP57(RVEakV$o zhDqoR*=P-+a2K8~7^?|2gTHj%)iPU)$E1TpQxNi7qeLr_b^BC4B}fQ7?3mTH4{WLw znPK}JPKa*gsSA&GUU{(Ho E=5Y*bh$QjW&wq_&NDXxDI+Lzt8ae8t6 zRU&GJ$DxRY>k7e<@8T{ZI_jy{^qz>$-!b@%n+cgiBlxr}e`hj~@|&}j)=?H3nMG|s z_ZYtod`M-(nl18LAooqGlW#ToCmYr3Uc4}6S7ch_mzo_l866pk?xeD%G4R^8$IgT2 zo`EXQUpzp3!eL$nS`tF03RmTKVfEw@U(xXiKJiu5mDwk>ke3U|0r{z5ZX}T>N+OAb z;n4(0@}Y|(yISVHKLUmOW3t;07ZQp9CERl^sTL5x#luMQ@#9C((;%t+fq0SX370KO zCMZZF81}!tsl54*34nCMr~~RASICellITUAK8?RKkS-o{{W@XN_j*f6Am;LIvOYgF zr4>GwbgSuiqLETR9@5IMUj;{gtY>sCfGJEPtR-d7!0j@z0qB|n2L$nm5BnMT72x&6 zCkucP1@ssqMJ=I;!KdB(m20dBncNC|x^KH5JDr&z{Xicwm3Jh8zXX)0Y3chrQ1$+H zhM);=csX>C2+2aV?#b+gi;_9;k2sAg8ft38Uc5OIsKUfSLlIV zJ^v$G=q`@g (K7;RauC3C9x}9N-0MyY%D$u-6IGZZu}g_vjG%72sjzKhu%&|_xSs1*ri>c zo9L;rtIk_qO9u}~O`fUfFN-+A?62UmK|&uu-pDl;?g_BhsU7paS>iU~leQZ+?NMwp z$7= s$cPmon{5i@jjw}N0*AvPnpoQx5HokyXo`LNB+o+<6l@)6{D{MxzH;y0 zy+sX%vyW*ZcabN4OL0N`mfVWZI$||;!)exWL8PXFPf*;_wNLNZc4!Pv=~Rvrd7aP$ z0`dko92O1VZrL}c1Lx@FqV2MLf)zATV}E|kDzKCJ6(Lh{y4d_&Y^#)Y!<0W0Au>f{ zcn8&uLf@_utNEp+r5`_ds<`|tMr|*0PXG)=T-P&5z;!H9cz(Zo;$E7<3kVM%oGNR$ z(5;k2eT0z6$Y*4$*xU2JseJzY(4N)8!DCk*iu49(<{=#Wo1R+cH8Hbnaj&ie`sY%s z^q~vNNaiY>nRFD<5`+BQkwSV;i}o2P5q0`4%UtxkVQoY~TO4Tr<_?1htadYg4Z28g zBjn!Sh6uGp1F^tMQ=srZ9sO0}9usnCQ5J!g*7DMH>is6VIccQ-AAo+d-8@xp?26pn zmT;4;W-W|1*J)qtg~w{42)?$tdH5or8h~88a!gvNsV1@X&v8|u6V)DPoo6$X`p{IB zom1 Lcmp9~4&HD*uK*TZu&qQ!1WG(iE4ZX{ zhgPWJAoL;F bz}sVSx}~;`<9Wj-6iIdV-s~ zxfL<_TVDN%jU7;;Z~iXnRw;s)Tz$IwdilwH6X|psY`j>c7{NkPaGUWV3={OS$R>OO zP2@FN+Ei4<1zPb9V||XRB%SSZM{wR>hO7n3uF^!~aja8YY-_%on9pDY? MzRr0PNHA*5kD`t6$;%$dMXiF7eZLQV+hC|{dHZ!uSF8+xh;=@c=Ea_C-r z(k|>jK%;fpdH|85vZ<%AoJZGkG;Nit)JZZvv6jYKgmx0D2|jhVnN(yl6AB^zqvlvs zpg3PalYr0Mq^qM-mk|^a^6sCLBKSzi9=?yafk(H7tVT#4aacgY=!X>$Ia_o)E8M>; zasefgNAzJxMVM)6-SH+Mn4NWp9CFoe6(2W0rm}GtvH7sJpf elVrC_ zxtqapVxZat?eCv6cc}v{_tU3Oe-!W2y1X<|Kt2;9B3$ly6qYb5mRH-CcmOcr%Whop zUXo^M_n _+>2C!y+T|64W|dXe)<^f qeD$w=6e z`d3fBPq|1&R4G(hMwEX(SZLmbeM^7lz2Kq$Z#)mLR `>Cmf5!cagQ zM~HjheRkh}>h1rJycVzI^i;rNNC^rG%FD~cGDYiS?&IS_91I|Okm-^1uhU}q*1#@j z&2w-LggV04!13OrVzV+~bZmC}*NH{bF*1{HaKwqEhT_ot{bS AYC2+y|tTj~*i^Z$PQRyyedDniI kOqSbBfv6# zL0BY+NEabNK}Q@3C~%>HoMOk_&(QK5)ufsKk2hHG_wwkOm?~ cSVMk^JozR8q!294g+06 z;;7}X>e&}NIQ(X75wr+3d=`&3V|N)&N!>KbQ_n6x)vm9zi(!=^x(5ypj)}Dxg+*h8 zJwmx#emyuC7ecaieg46$L)d#zqUgaK(&D^N51zu`km?YrC8%tPKvCQ(L?TbhwhuV% zp*|vHrT8JHNM)8k_Z<6u38KXJ;kiICabyLclET$Dx3qLyA534fGq6o6gP*wl9^<(I z4bUlp34QT)?>|uL%NDprGfNae1@m_E^)bTSfKYJM<7tXKM-o2nC#JS+rJ#pCGfQC< zvU`6(4uBtJ0{n1a3aTd=!*-UrQuf*8*Pq>z9=ErGAiaf6t2H%H9zO%I1{?jUuu+iy zm;$i^kYW+jNsP6=0kSp2sm${Z!3#fs{YuM9uyKfK%Tic@r)za}b?U0Xt8T^S=RqR4 z+4Eb|;D+7Dly?xO?EK1~Xj6^k3m0D3&Y}cJhm5)>jF`J3?2n9>f1q_5*iB1&_(dEH zlIKRILhshoVJ#wTrKXjH;@a*dn{pTMjn>XjNOR+QSI~iXD(l!QI$=RnrKl{@W>8 ShDgE$*Ho4yK?C0!iy)siVTgGjYBQ$ zDUX`D64!zbKn@J_+6+ea;Qox9auXw@698 z?!2bqMFguIX$WH)AeDjQsKARtr-FL>JH(bc*;poV{jZgq-^e_wg+yOqDjN4Qm^~N; zXL^e0KDA@En9>^E5cSs^KVKWI0D_hc2&eTDl$h<-R}yp3R;_mmqTEtH6@8a<=>De> zS7^|G+DKt7Dqi?Z{Yh?;Y7oX2hyWrNHlPaF`?iF2auFZnB4o@hG`SKEIU$gXfr9AY zSqW)Ak*bVhABg6Of#XF6*H<&m{hwdin74q1C9#oO>}hjw@7c0CzFapwCu(|nPE`k` z|F8i19}m;&70Lv-Fy!hNC}e$C&ML8pCH#`4Obh?m<1$p$9iJ*EvPNz;Eb-J07rzwy z(+0k|x_NtAw_2D>hLYNMl@V1PiDIbd-u@jTHJ8X*8|82eO%Pvg)I@^K2;siz5w1Z* z?y+2TntJGq8Z#&jaVDTqsM<-47~sAG?f+};!BQJ-v?7hs3K+2k1i9_$W>dd8HF3@~ zu_E@Plm$K7Kd$s|viWL%Tkp+R&`>!=Z+k3A_~@sPJt#i!#(j8fprvJhm;sC3R5HA- zsU{isQ=fqT0rK_v;&`eZLMOK8a9Cc0x|NpBq{{0aKqW+YWGMw)#sMg(p;_;IqiEJM z)ChfsL9Y5PUn4%f3`EaKmCXTy@3T{FXa=vZ#}fEsNK2tLMMiEC-67gKPsIm8I|r8~ z^@pk4sgp~bP#j?@Rg&FBK#a|Kcr}OH55VP$ejv>-$TZ-$XY~1Y6-Jn )M5DvD$%tm|-^N +Kd#JPw|$PM zj0z;|v@+g9>lq^!c&y$de}|iP&&i??2=jxI)ID;JV&VsyF;B>sYxeAlp${m^C*r`4 z-Co0UFc<=SXn&9`;mX >DJd%JSUZp|ojni#mj&S5RZcX~*{c`IxfQ z3L#p{rU|*zVYgsh+ah&=zlugolNHWD7oHs+wnvc2(M4UBYZai~sw`_hV^ViH&i*61 zc2;FVA=;jlRX>K0{K@VE4rk~jOD0;=r5-5UA+mJfVL5AGy~H=ZO=?j)d1vO0!I}H$ z)ID75EUvNDwDh)aeKAK|KQ%i-xN0urBqG!JwK#p=>|=vl)VHR9Bnj;+W9IjtaDNi_ zRZ3&TB!=CJaHYE?rN}&l4!|Gug(Qn>Pr979a37-rnvCC=byJ~}*%WEK?~93(yX(vX zI4LogM{J8TgXg17aC5S9w9z}f7gZ7GduaWqsGv2|Vj4IqDG&1yafYxIjq!J|VbB&@ z(t-`Iv<(=7xek@YZ5ZpvJ)AW!=~R|5PHuk!lQ`(OxB9 #QivU&`Ou!=j<|l+r}be2w*VgC!ag7ZsJkxU1zXt? z1Tn3X8E|Wq4M&_+sN!vLyZj3Bk>0xWz}>(5sMc|DA bkk}=enMEGOnVQ6D~6By{ZO;tb#HZcMz)y%ni?v1#jN(Mm0%Z=h~`( za1rgmz dVd8l7biaD{cayLg>ULrAu$a{3NvP5K- zh)G~Qjq^l=<}z(R+TzAbze5z5&G*0anM~t~59y!h5^^UlC7sPje@V`%8i R h2Fal^1m%}<$s(0WaG;jBp}B0Z&Ew= zAt%3QXea L_cbo#Y$=xybTHCEhn}*rH^hV50WqvqZrvdRwW{)%f^~0< zjBLtoF|{=`^RbT>>o<3r*9tVkDbY|*osKSJ)B2)i-74K@*11mH{M(m@BSczBy)N%O zLLD+#c^O4aTVr3gr7q)Q*FC2~33rEY8g;9XtuYx85mLgZie|CTps*;($v=rUx_QBB zqVs}%b4!TPS7aLyp_AVz_eeHvkxH^!>ID{2HZl!*4QE -dxGd^t6mSQ|<`*`yn`r2u`o4wz}EA7~HIPPpo zNMVjVe9(|X&P(tX)p43HLIoKZLt;nqIn48T=kJ&O>xemnAyR$s yZz>Bor2vso`T)u>ox>73;1JXg5>jU@q}r>d^5OTg-Ue^o zC`!-X>uLP*m&+^N4q}!oudb+dmY`mo9+R@fl}hIw-<1dhS#J36jT7x;UxgY+%3;cL zmJ$C<+|oB+KSPMpc*R@%8T$6l&PV4@p599&y(zzCS3$yBshm9Me1bv^IcVFJk*3;? zS+xf}oKEZTg^SyIj8nSlVB?2HWenMHc^Exf8(R77!J5YvL<-GiU}kNJ%5te$<}G4W zHbwmp5XEu(Iif3~rP87uI4Yc%7{jRKk=uwK!!Y^&(Oa8%UZ8k?hJEmm* g zzd-su`2pM>>`43yjfzS^WWrG&aD_+x`pFR9RIftd6@k~JxBA tGWhs4c(eZ#xuIh`qnJ}SC1azhCrf>(OR(Meb{vx<;y()8;6N-GRk)=)=> z3mOz#P0Iwr&;-_x^y5UeAn+a3iN0(XmvK5kxtm%mPnAyINjg;g0TU1< K zSgUnhB~W|E_ot*no^1nDfMseb;N8a#-3^uc5ABTHB>4hS;!~zl-jey64?GV>=(7OQ zPH_rS 241>~N~m1;TiS}Cfg{guzz#)#U>SDOvZfheIxqdon-$>d5vLUow!JtQ-UK~J zQY9B FFp346n|b>v9-z34wXmCxjdX=ilQ z_C4|ZM_{e1>wH$MvPHtWUo60)v@`VR@ZSw2xg!>~q@x3^`)+mRU9|%)UFNH;68YA@ zx=#=jQ2|8{4G1hi^FbJtqn--x*S1{5Fj9 |zq;81lKpg~Nb= Ym9z4Ei7A_Ojc>%{(XBy$2CG? zJggxiuoe3O>Y50wJWvYrDy*iiuSu)J&(CFryqtA=a{dv~Z&zr(=$2}=68Q|HV!X$# zx6XI9?^f9w9FvOi6XzeJdr&>sz><)qrOtn3+m 4io@At=eN%{eBJ5E{`nyPCs zzer(+35mUzD?Y4u;yh-k+{ABr!kz07CRqu|*?Bk@lwpel*$t<@$~KAKqlrzrlt^-5 z6RFY|mq|LG+uK&Um*)YWUzn`z?smR7CLJP}aO!vpca{An?}BzQ8_;9pj4wb0jC?%Y zNF;bGsij*?z0a4?*mrD~Td~=^XXr`zUVV^16D`epMaSF-NLnMiZ);=Y1muM)kb8yR zc2MF>vq*K_`TJuaRYs$hhZ ~%rv$ly1k@!dn7C(R0TM&w}^Pix+$ZM `q z2QeLxhHV1BsGby1o*2G0Y!{|kjbzu-+_L?nJ?pxTnex4Z7~ ek9_E9&z*J{+(ss4&qvLQ?+tBH2>YJFC$yhuVXZm;5El zJY`ztD|*$I_ib%DbQ+1Vb22kw3(#bpcM7%m4-43hL_b_gBn}6dd-^(H)K0L9s+?>E zn&}|Jnd`k^+dMVxaFO#Syx|fHQxg-7Js2Xl-$QPl=vZtpgZ1Kg6v4UDg+6o{`rxy( zb)PbM(XMQso1dOH7Pj8X!yZ_iww1PZg0F#R0ds!cZ$^6AN=x^9TRtxFBXgcg#w_ZI zs`Qpp@R^OPt{26dqkWFNLk$_Q`qRz8laao=l<0a%Gt~n=m(J^SY>67gDawB)eo%Eq z__|(rx=Zz3aHWG~7gqomMKiAWp7O$-N8froIOe5j?{xx3r|HG-YRD0~bWa#GQ@-UT zR_Q{`-U*6h$8X+y1lmQCSk9HmjsPl9Fq?_tNL@UJ=j>AOoTD~*mnsY`eWICW9KLph z&67)ev{re>Tq$odOD|i|shz_@s!6diBZ`S{?q}4EU<4H{Lu+Cy@~+rI#j6^{wjjbq zwB1#o{07_ iJ_$50!D3?yA=UkDR#8C4;1RiOn-Mhk@h)j_lMCQ{&ryHhj7sD6X zB?ax0t}K* wKubsuhC-H>TLB<##)mEA1SpdqTA)YB2dar- zaBVn}Qe@R40Ia3Or)Um@I&Pz4&*&*HCs07GqPW?}bkNNKU(E+k7Icc7ruVawRU6Q} zC=hQuic|Kr{MXf#eO9 |puuermQMxzyq^ZvsaDbq9s=dN0g!@BPo0x6ne|lHoTmT%u zc@iY)V@mFrZNU8#bwnkmv*QN4i+q) `&@=@Y^wA+hnNuVxP^v8BW8D->P?VLn1?JQx>evmj$yu>D&;DQweHjyem8O93GCB ze50keqD4qXgw2b$FRtx7c|T)P>wVa7e)WH^c=?g>jgJ6`^=D`&?#t&(Q8c>H5S6F7 zgg-~J2tdT*Z;x3bV23=a7W4ZcPu3y}Q4GKU+ 2E% ~*#e`GD1?nI{5{4D;Xc+K~+p r*|v{mDdW%N@5mK;dj}|LB{kK-~PmLaZ#ez;U!t%Svv;^@L(p9F69})YU({3rVIj zu?ZtsG5_xjw}26(D+tpL=%~dy7$yiUd1)d|A9$mVCdEszLGlS?mIv{VQKh2QcqwiST7d;*^vy#X_meyJKP*Dr zAR1RN`X^CQSaMv%-($z1XZR;k6yFr+k=x`X;=GU;FAIi(qs5NHXOw1b`_`?P;QLZM zrM%o5suLX|$A#Gk->J0)bn&;rs&d?#otJNHOGFj? R=4G3<$gQ}s=A4ix! z&e*pO59`c;dtq~;Pk%@|4z0qm-8AIpt6r5*ogi~d7yCG;Ms0z%TYNBY_U@?(!8jtZ zpnYsF62ahs`izT-cmu<81N*ib80Y2X$79*fdlh3calIJEgg*2n*o$<*afqTJGgv^W zI`ySoSuHc@I%{n;Y5yrC2%vFXPFOGpuI1glN!ol)V4im(3tqFFV3#K{g{fbkF~v=$ zO`MDEuSS~f1!~*AkZP2O^GYyVkMk^R KM1WlkN< zIAk={GXm3zBrBGJDm2$f$Kf|Bq`ta?Srvj#5tEANvinYz<}qmaxgt}|@4Nw3ycV+{ z>k9$(EDVibuoko18Gu-O-{_1twc)NcSE3Wue%U@7Wtn?9d2>2sOQU>xq)Y84dAOC4 zADE%k6!1c>sskt3S>AGN35 | z-#2ddWm`7SGGy!q;&`@qG$(o;%-yImisC=_;LLXKum2=C@(+PSjP@uxs~Xpb5(mDP z1h4}*>tpvKICJo8nM8JB0pfc2P=X;&&?Gq)DSz!exwi@wAg>^ZuSz~o z-)o5=(2gU%5Je7PUPT3nr4Xsqhm=d-;<^wjxokd5VgAP=`wId$YI2a-Kw4w_D~3rd z2Ssf=+o;^4gK{3NU(h=50ny5s9Ssc`)J(CuqU|8>zJGleBl;D@K($)5)yo~9wuWtv z=cRM2;Y|3Q< m~WYs&SNU`9OU1-fK;;sD3A z-$4WxSsre`Z3sESfJ_?KN$yu+m)2U4s)YoS))aCZr0aeYKZG-(jU-Ftd#HvHI%Yio zEmC)n#`Cj56Sc;D_ZL1+^8S<2^-*fXP@99~Z)=(ZQy3l2_IwNuB4+iH`Uz3>y?T$) zCK|?zXsn5}pjclwsft^z8fQ{vrc>jhW{wL|Nq#YM?2_#KYJ%MU(8VhtG>GxUdE0Qb z10fQj*{mQlaN{FpCBJt!;r~yrCErz`U*q#0HBg!UD O6luynx)*{*# z$^E)-53#F`$w*5}OG dll!FxN5k5{%$x1ALP!3@XC|=bF zz~y{Tp~cIylpzrKU>@n4 meQ_*EPp?anlKW)un zX516ePI)Uszl&>``&q=L;|U90<|7t9;@jpqWmBXWDcQDYfv5CjPmk)uGFv1 3`I z3|7txjvkqqTWDf&5_rw1s2&zS%yt>5YKea49bcRt2wl<$kA-UmTjjmC$6lKXj|reA z0#};DE=Cl^bIWAsYP5DDgHRSnE$yQ^c66UMh{@##lAE}Wk|^H!^#W>Gpz{P)@{sR0 zjSd*PWvH95k#hpqPrMLaXg^6_l9Ai+R#nK>mh85%$l|rAOWAvd?;us*8VBIpr_>R} z{H@GYf=_X8512666kDeOKW=H%jSajJs@h=93I!uE)D6!2r-hqc`X7c}X}*Ac_(ITb zPX?+ (GHx6rZYB?oob0D zGs95Lb6phNS3q^At@#myde*R8(PBH|u5K#+DJ*yc{}HL^cS?Ly*T(t1vQz1-jp<0Q zU1$qSO *G)s&IZlIqB2b7{h^Fu3sg-rd3`}IQ9$DQ|d0uGYfPf((CN~OA&9e zIi^d9xcOruiKVQ{J2z6)Qgkw~-4!X&)*yiYr_*9zqhpHSHdPvzsmhNk*N5T?--k;H z#Z!|F5X)?0EJ*YZOa_?e%eu%7c@^?$(!u-v6DM@l$6OBd^b(Q=;!;nbqUg z<~1c$KVf0yL*C)Bsx;W0>6~_nA43w+9k_y zR<>}!z@i-!K8o5PkHfuS8*_D^w}HIBABg_Q)X(+s%sEIewxB095VEuVe9&PNgYUT! zyxfv_UOUL*h-q>FoXxXHL^i>S&@~o>vSLGYm!WXkvJnMm?j3z&6{mHCp@}Yi&+m8n z?fqD@8X; Pup81R6)HMjEwWC^OL1ni8Y_ zLX#{#biZjUIpyRTbRo;;nBvWLHvt9kYowhWA7(jmb>V4}kVds}rMu1JIwV)+LyYNJ zD~g9oK}pH`!s>o+B)K;e)n=FXkME(#L4BHAg+pVndZZ}d{*vn{WvQW#O&^;sfl+^P zLRGI(3Q?P?sxxXR5H-WqUUm(nzC3bCr^zH^n0Mmil{BG8X6Igv>pe7b#yJcaT`L%o zh~f@ )%V@0Aggl`SD;*#~Y&!MpSx@-HzRB+tID}q8s4;CGGmkh$lS%0;eD9_B9@9oT z4&N*PP->>`+t5bLP|hizopqfr#husmU5YQ**sY%Sart(}(%;7SQ>fop4rHWU8OISp znwP#f%emt=(E6m2u# ozr1Nc0wa0?|vGXJp`GD}=HxlVCT-h44s zWXRVYzvUCw{-Wq&+0#K{G!2eCND~7Pak-eAiRYzK_(`4!fJ13+ofXoi(VAN|?OhZ_ z$VxAu3l8^gdt*SrFO@mru_8c5cbZ#n^-!QuuEX(*IiI^d?`PC)vb+x3pp2=FKFl|i zt5r+ghV8C2L?+#kFBl)d*73Z&y0~k5_XLED+`6a$UqhbZG$Ww$s~BEHU*~sdMQbwU zj5YF@1QmFl;IE^XIR+N$p7cECXN)DDZ0)WvK0@M68ex~hbtyG?Of1{au*L0V2D$TR z^Q6|QJRwxAvi`p=AQtnYH#7mLc6p_(uDbLV6BM{`avsrr9&NaMPOh^HHp`#Nu{D_r zz6XJN-!-Yp^vUqUlSma?32qx7? ;vv(j|9!|&$k7XW74X6(j#jQ~*Vkufnj1DB zcbiCmcN3e$dOL!CTx(Xtza5^pd`7Ad>!wHcnjK@4Rg8lAblN4kY`p*dw>CWT{xXe* zvP7hsJHY3Arv@<;0&`Oc34zfXtWakxLuY4ap|?q~XjMrg+r-q2(~vw1Gh(%67pBTO z#v$hLc_O%ui`J$&&IU_n+|B4%tO3p28v-{ri8?G4?~A*O5mDVvN v@oE6vb7-qn&*%(~E&$bVtcaZ~jpe4oH zL~l` L~k z`tlESy1YwV+du6Ey5P#*fpvx%M29X}-kIY)Zt-%iYpkHMbzdM2HMLf6hjzFYe*K?m zTNHNczdA(!k`_H|4@%AE0}#fHyHB3jR8q2wS-jqdD?U1kL+Qi7wPecqXo%iQZ|bnt zEvj6yl*uY#U}bfDvMWb@;y4HVL0* 3I2AIH^}dURZsMYi?C zt1~#Ds+q$oceR1}Xdbr~*=XCfoFP)GnN+;MmMPTe6sGAx=KREK`p8a=)AjwMjhN)j z+%i|~Qxh7t$Rw0*DCq5vAWd4Ui%Wyva%j1s^@oR z!2tPj1WAYGZ_~baz-?){N4w~&fk*U`ngQaRczlikFl)94bl?d&6?Y7p4h=SUobDvb z0zK`g{%E+N`r+)c2MWrd0U0E4R-16hiyy!;Fh&-Mq**uMw#lZK!bH?=stBbCUg=|z zcIB)k4(mlMTJ$doY0Ge@2{u+9MDuM|{+#w^l3rq#^hcmSLDFczd0Q ?djp96TLTo|gv> 9IH z=AyNmt9gKNjG>wtr17)+{wj9?Q_~O%?!RAiNB=j<-M?5Kz7tjczq1qnZ$^(8ac`G` zrYk%$GO~X?IxukqPMNm!&S(?jBjXEb%wt*%FsX;q0-e3e;ll(9jhmK;XDbJ1@(4>2 zfJ0{{FiEsci2Utc`-mD6YQ1+TvvCfjDPopW6aEODMP}nObdW%cAUpT<^~I#yX7);g zQNx!eMUr%F8x%i!S@L}-&CzPd_Xxs*p%T0kjl@&b!9e-YwGm#cZSR4{;QzqRPD7E^ zLbJq*=uC(mu;5Dr(+de9tZO$ABm7(_UA(YQK?4ez)l~l{Dv!(Id692`9Sg}W)GS&! zW+5EYu7;E^ig3}O3aUZ|>IdXjDusYMl7!3$E-gt8(pRpkPiITB0C6=+uHpJ9IFd*J z1^6ZcAnZX59ad5K6B3Mf5St)O(_SH#tc)SwuV)O=D|EX-R}FJ221N9^V9YXs(iE%! z?jh32Aw5NtNC*n?aqJsAHhlQ-0TuW^sBQ4fG5YyGg?Om^7TQmd=_tnX@bs}illDfO z8intbcHsncbQ#+TtFgi)85I?*O~mw%!Br){pRPJ16MI3U8{tGx5-}sDdEs3^-`+~A z?>XIn;EzlYZ=F_!dy5qI3^{xO7DqtR;>q}eoW-U|D~BaxQeL!Zm%^kpY%t(^V%X%= zsp+VxU7>i#__7pU<#WW7-)-g>yN(ehV|$Y><`EM|kroM=jO&by-_Kd&Yn4Hvk&(#L zEz3GUOu)vMz;XOk*ux*PO5Obw07nQU0oK3%tTF}|7)%Xn$Mb!b@T8DOU9S+N2n9aS zQoQppuT{JmRtejkY 7N$t^rNu=gRUw!P-3 z-k&9|O1iEU^pO{<3|B4;j>|BTeZ$g1UxL!(dPvB^36z_dNLYIYJ+u@XLTCOl$bW@j zoVfyvKj!yskSODMJ6~jK>-{vpx@qgrXBKta)Y)OX78;}sCb^YlG_Kp>8gctIg~tLz zR5wO$Jz>F(>lLqR*C*WqU&?Q@e?QBZRz~AhCB#`;ixKli&JfNdfDLU5&RC3k{1_d3 z&f}F1R>(z%taUaTnq!#H;=6N;6d-4+ojbqJ&&vj^tzt>(uA@Tq0v3%19smCQLkBv4 zq}seepsaS>hFS>a9YATQdEYT|+wlX0eYWpRB?z3ZL14+y%>U0y;B~vkvTr%)Kx}L* zXeneRNPN=9+>o|2BoP!3qWUYm-C_#bGSV?uYfXKp56A*MWAa>m$qImIY `qUbDf+&ETyh*znSh`S8j^y4cXb^1MUzJ+GkdvX@XMw0RRO5} zg%TeDa3MuUZ@mDdqPv7@2WVI~e57(>P}mgz_fHM@D`M9nlsF52!md4%5T|g_X?+yX z!xC1&h&D)H+FJ0^Ar^azYW&2Di@v_^lijv%*)sbKBb5O^|2NgefOV_Xd;m>oYubUY zVD$jd-h(&+@BQ8ujN&>|;mXB)W2|DS4KE1o#UC>dasIuhA81-n#QMj1h4gQ@Q`2@7 z(B|M|!RlRwa$Q-fNEfYsYu&$g57l~IH{a1R`JK?ja(wFvu5Vnv+>p5M_$5eQJ{Q8m zfcpAg{rJShy8>O7dES4YHi>5*r~N}!+76UNAX3H$Ch#G#X-YX(zkht LzkfJ z@TEn8i)i3~u93J@;l%%@ul%p>sB%1W_9@Uxe@s9Zw<#$pX_I`23vkYUAFHM~Cr3{b zua<6lDrvKmEq5IEq=CTS5A^@+QcL)6Ueo{I{`WB_o~-wj(EDOHofsgzM7Tlk{WSvP z0GxlV{ZPUgTJ*rcKyowONh2&Gem7!5f`UZ%N%7%Kh`~B~b3`2L!4GalUY!*4rOBaZ zO8!{SRyG4F|)XJ$pQhu{wcFcBD&nWV)S`i2sQZ zc%vWys(|gJY)es;=4ZA14-4@Bg&TY-8O`8(lmM78vW5mRZF5Ped~5Zvw^!s2${-jH zNg^jKZ{BPugv;$h2N&}C8}i5%@8-F|SdCTT5ord8Z!EVO%I+Vikuew{ a(>Ik*OdtCy)7B;nXbf45Sya~6}l33(MRM?Yxb@A{?!XokCC(!2xa zpx>~m`$61`U!DnS8hkqEu-i{ik%~_Z;hgfo?To#go(w@G+!@{28@ZH~C`3`HS3^?h z_$S|_r3!b&DikX@m&0RbiR`Z=(ymREug>DqEE(o0k}AVN@*4pCqBeyiuqCARge-`f z!JdG_ 2Kd$miX)oW=}mZRjASj`bZGfg@&EBNj>s@5_Lcp{6QI|d}zbi+YkgD zeJsJ9(&EqnZkyq834kjZDl>3jhWF57dIA}OUr4T-aL!Eq#`9kUaNb$pGS?G_nRC|} z5`@pnYL9M=B}+b%+LBAV|Ix-=?kboFq8~hXz#w8&9I}f=U5 fM!dMPRwoPZQKpM zV+Dn#PjXNw_okP9z+OPvJ!l;TgRPywUz>4s8AEE~uE;1iRJvQXi{%-eTbf&3v@OOm zf|RWJJ6>D| yjb}o5kk| zv|%*FZw~&{%Y?q}XT{T}B{ZeE5-aLXw$0;Lds|=UX~pAvsI4$MmGp?~NFC3^Ra&{T zxWBfNO6aw4dDusL?UpACeHJLVt)FR(T|b-8Ltc07H;`^Bc6rUd;9#HAuipsorwXbk zccz{DP8XQB7b6rd*TPLs?Lc8e#w6fJ-ns@GC?wOe{{`t4GOS;58g!_C~%iVfnQt zW?b$Phd>5P;y~z0CSC%w2rB7(+bEo}hs=SPc^>d %PZPUYcHUqXKz#sQRk&ZaN+b zmz*haxxE*|Y`A%aTItV&%G10L=1sZmpiAHGD1)1%INNM>oA(KqKl3Wz3~km+WOG3+ zgqB)w$G+_mD0fO@Y(|eb(e5~)(@&o9-ZQ?fYcos0sRLuPFXJyHx1KHhKdAZ+aIE+6 z?}n_%OhWc3iRdva*<{NIk(rDLSqYWwy(&a_NJfc}nKB|pnT1qFW&@={s`v9d=YQV+ z`<|<->s;p)kKeez_x)M7O@3MTvw;LZt-hVx5(b_*>)ckp1;Ni58LnCR!28zj@0)%@ zizfWmLF<9gJE7{l;wv(AGWrSWlHD8f#!<=Sr!%il#~d25?9!QklSYws&;MG00Gnft zA&hGC@^^NGJYhXcEq13s_Uy&B*Lz!k*sLEp9d*6?^Y {qsZY`8tXUs{uir3cpp?hgaI z!s=Z&8&jq4ZCL{C8iNqsV$5N7tz50x6Cpn&U?+04wzbdDGu0E5-B5$Sgz0`-L3H3B zI^H0_LqbAAr>#;*rB2? Cw1u|$DSKj~q)1ea*v#z*@8WYIP%^M=^ zLfQSIC=}9|&}g~mcyuRRP5VGVAHuA=(FY5p_68xVsZd|#ZR@A=`Sv1iu6qa_dBYf* z!9L~vAjU-!lqh5c)jkPezoYX=R>on=yo`;M2fZdJD%Awj4*Gk1^_{p08hsvwDBnYJ zSMz{;oP144Y*gFChZh!mLw-McO|t%K^XSt|LcC3;Ws!H>aZw{#VY9+3_wT#tiW`wB zk`a7p`o@E^K=)`XZ@7zPNoNO*msrOW>H*gwcf9H88^t=5FN@MQNX6t~Mw;Fri4g~9 zaq^#@wBO(lAtyEZ1&fHVz4%W3Y44eq;EyM{{$~94{@D3DxSf9Ipo3wl_jmF(5WEhe z+%K+c_dc}%fiZvNjNl9R*BD%b5ws}p!MyD08HDEUlTK+CI@BV#7ko^L3@>YJ>+hf9 zxP}DSzLd7diJ9(k$Fw0|i?Tr~vgUBa-+`bzf--JrS6C+hoW1P%JNjvY!x#PF_Fqe1 zixJn)_>It*?I0Ydr1atVlcdHB>#TTxmzVh!@pm%#civKba1COza%D)vov`j3$64+h z?vpnxq-ybu^}bd9_NU(Y(V>g$KeCQ^)O^lv2zWAE$;siir}ZU3V^`0~xOvKII{R5r z4HaJZt$Uk8UUKJxON<-;>#(qIEWftt?*iW@3VMpr2DeLNtp3y|V;ZWJPUP;pWs{r6 zackd`T{zLc;GZ(S=1ogUVKZ;*E=~`>*Pvz`?!GD8_%*Zc;JMR&KR-R333~C+e^w}Y ziwj?Op>}asS!jTAq4pEnurrtuy}Z2mPAJ_zYJ6$%{Dlk8L$`-cv21Ojw^Y4zFxF({ zUFva$I@rYN3cfHK-T1sCvH`|so*L8YS`%hmoODp5?o{qial-sRtT_;2z zFK=Y&7Q8kMx&7>AZ9{`w;Nw=CER#Pax1QqRjr4P1y{}W`@S~k5lN>+64tt(;3?NxI zzNS!Sv~OSCcTvNVz1UMVR m$ZXrY#k} zAx|r60V6*+JUncEZ3W<*#sjn8n?~s4%jbAKZ%ro241}4J!B8xxKmA>DI$E~yGq&~E z6|}_fi3$WP(HsM7I=`ak{Q|--1gW)5;IebdXFOM?63}w6R$?I>X8e_-En8`&j^Z0t zj|jgBJE)e= xxlk*@Gf)>9FQyEwt{e1{~t{E@A0_ zd-`&F6?&VPWcocbN@P^llP)>=+21xO2sfgUrA=XDI{u;HCy9Rx>*YFy%(Cs|Z9PWJ z(dpTt1I{JWJu+l7L|5zqnXy|iQKx$OLFS@ek5QikIdqQ%E}vMC9^Bgeqtw?7__>P9 zURigP8aFIYlo(#++;>Oeu}`vJYp{t#vCF2aa!Bv#7#MEv5DCnCyAI4#;9(iZk9&tU zOH*|E@TM%8vq{tQ-P12P*9`e)^c&@caFxVmRjS8>(#nis>EqvKz3H|}zg1pFAWX^J zyN3;hALU#JbkQ0Pa wKi!C%!Y S?aiH){3Bwms$ESfnqkLg zyr#Cs8;ZA@h%-4;<^G24VBTNTDNLTNhI9NhmC}6gnj?p6y#yYeiqq4}8JM{F{M|hV z^P(b~M~Ximp!q|SR##tNqO!?J^^b8+l$|~Ztp!+&jkuf&3l)p0ZlIL_R#Z%_RG~<= z3fN0y@AR_q |2qd3X*rpLVufr@w=<3(j_wZ|UHa`wHB~ zqlk6pa8 YPlj1$oGC0p75Wl^76GL*W>O*bPsvW<)RI1m8*npbAwG1DS4Nk+c5jM zuE$o;K86Brpt(I7&yUc7t_Y49GIL99BJ>ljPt@-5^~wT<1AAArQF b3-!NyM&io<RK#^~2qt hy z+W*G1+D+*^jzz4YL2#j}gOCGRfJ?yPJatMuF(P16U HE8LAA4Qbv`#o&H+dl3MhW4nh(Qyi z9x0lj0|d%`o|dPBHV;ryp@1~J-;TnghEj<2588LA0<<3cxnogPM_ V6|)$g%QaW24;7%|IVn zx>@%%r-8`6iT9)5S5~o$o>Qji7SAll)VNh>{8(1q;^YZUem0FjPqf@oIae9;=XCBe zypp_n+bg%z`en|M_n$gz_xg5;7VJ52gHl~J(#ic3)|jM_Rxntq*H-v_J>BIs|86QO zJegbf{miFNfM-3{9R}TMT>2xlD0N`#+*J}UIar3}gn~NMLj$=tYE;;W6@;#D-n=={ zAK6s;HsI#LYqi7mzI#7!erE)LbMhRQw%uz%%`Z&}=Iq^jiuRkc&M%@{az5=@12wKr zPwWLlOl-HdKw&k;*ms{vF!i#m-sHvygak87$)PJD-C{k-(CM0D>SX@GW~QyxKR12D zY*Ea&ivW^=X`)~pFIBQVLa~QJEW$N^?utiGu?u%+5Ici1%fzOp9g406C#qjXS|+MY zAEhx s+WM>0Stytyr9Px4A$P?cqUW>d5u;V$5o~4rIw6PsmN;YYS}n@-s8B*j{AZp zj1-(e`l_d-^cb_ET5Zu)d-MOW0H!lx6W<@nSZ59Gj$5`R@1XFgd?L+MtmhBGJaXI? za8UMdxc>__f*!gun@1=2u^(+9wq7DQ*5vNDQ!>{sz}64=Ogh_6yHd9>({q=y6^s35 zvN8Y0st~=4v Km z#5t)ru4G8NU1Qrk|N35{Sds9W%UQE{>Bdbhz91s>qUZ-Mow5>exH}70mvcgWbjg?g zLjRNK_?Dss5q5zC$H{6mBV;t5E)d~-ILny5@cxm(Dl()7?P|lRws8^5v{vO!nIT2| z=-8DhVRk3If} 9)wQw90$SOwp$+ecG1;_GK5ejm1}xx*qjw5?8Cy7aBTDIE`$$0hSCj8_uY;adOj z{5nIt6I? IcKt7zR7*hPM; zi-o9Sq@Aq$+SUFB+z0sJs&d9wjJ2q}N)!V DdS;zP#$93|T1p3= z+en>Cy_sSEN6s@`Qon~TC}33I;RpTCzv%Vtj;9L+##@TspiGLpV;N=q>rrf4FC8;= z`Q-s;R{OB1uZ5|%!+ug8r!xA4M=eNig>PB;tC(lAs8*QUC_DSzyq%=$Mu#6tgeS0F zZ*#mVoyjn{^IB$SNoRBlPSCa0)#TX69oXELEKJ=(bw&4^*{$|Cq{WKv+_K{Uz%WQN z@4Kv27@c=a^;sBi$Mfg03)${{f* yh2QUKLFlt$pjo(oAIX3~l z%$*Z1ncI4jP neEj2a=TKWA zL8o!yX~xUB7d6-7MEJPb!4+LRDglIEr;1a#oDo=}F`z-@tqIMJ1)~ulHll~UmphEk zQ_a^MW_OoT9B&X?Y~o2 39fN!_IuP`Y-7AA>4)c@Q$)o>%0>;c+sj!Z|j zVIT`rBVTF#+xxq &d+(^vN5y1V$St`zCBMM_ zGlRgDMLS3tA(G0I)8sm>{V2n@17>YdE6Xj;vF%ma_*u(i>pVuPXhdYnW+ ;gisMmB~=qnWk!sV|NPo7&>Y6O%+Vhy zl=oI}kcO5vW_~VEh3p8Ue8qP$PrZx0uaR&7_H9tj{!d_FAPlKbzqwIxYDQ14)Az3~ z9=)%!Nk#SaJ=N#Ls&k{yH_R=`%3ZoqRAR5X_U~6=_K0?V($Rq*+2Cra&>&7do^Nkq zBihZ<4KLV&?3(rW-ClYZ2Ly67mK$noMV(>O*_vaw+yI<=La*WmHqXDiK3sPF`gQG` z8=sw?rFHi9_R0;Nk?p&ZKjQ1_E7bGt#}6|D&)80J@nCGxZa@~EF1ozs1_T6-?{$y` zEgR(K)PR@Cl)>KMhRoeN)gtD5Xe!(3=~J6pUVXe&TDrOHF8#L)&N)(*#(&!PY^|AA zZ#nZtG{SAP$1}Ywx$|s_4F7~3=^V+k%7$j;gy~P)dcHOVB1#scOyLpT3eci>JW-|O zewblQgJQsyC*qEmfcYNM?W&M P>h^kw!LSeG1s zM&7kzwB=)?X{~YqIxl;)o~GH(RcHl})R-4|Rmr;g!P5`KW)wWv5J3$i{NX!SQ~Kk> zu(|gQnI7?WsKLXqyA}#H)wcK&${jm)IEZxu+9m7&A3pd1ry x zm?2cqW?|m5?6rKOjlI26>)jOwI^VWF=EL?*sJdfLP6Yu%otaU5D?)y)eVAQ#=bxq6 z%Wr4m_+5aew&~TKLt`VBVK>-i($?oOszLw917UXo$cU&3u+$|+`9y@!Zj$?b^laA9 zD*!Y^aN23S&>Hd&3Gy|6juY9H1jze|Op61dYe+rrB~CRcLk5e~=Z_$P9QbT+ASB=? z5f;$>A^K7+2O+UvTvT!i1UUqQOk5z!pb5}1Jw^&Xvpkm;nnL$DA1-o|GjCKd1Sl2S zDpL$k`p#^WJiy1TWqv>)rK3h<23_qjBX?%Wun?q!@sd(4u7&z0?{A6k(^mP-opCjC zi( *)G2M!S3;S8iMMd&*Dq8owOtw?VJ}?*0j!rHbqjzg zaMWqjsvsL18?~(2?Y{|Sox#n~&dzA}pe@ym46g@$_}csXQ{BSD!q&kD%^plUw{O1D ze}P+K7uY92#8$`mO;sYvk%A*lpiB`OjW5@3MrRtG2dR6HCX}~L)K$<^S2&9{dV`8Z z(?{&o=`jt~DqK6vs8hL%cmR1fcH^u%{UO-vyL2<9;gWTWcs?KXf?5l;EOpl3yBgDJ zie2xYSB>(SI_WLkbT~%i?gkPW)Qm_qCnMwI_mD_B2j<@k;}l;8ujss{V7FTsIXhGJ z#FNyU-+_|^0U0Z=N*$l2(by>W?`R_Lxh-MT0H&+X_v5vCif1|y5P`uWvONEd9h(Br zPv~QTB;6{oV$A|MBEU(wR9joGylFrME-}ROqQz5OA&;_GK|OK5>r (Ns0jW@`wX15jQ6%tcXSCv4`y26lKQXk_os0aHXZ3IxZ9#2a zU4=CsLyt?OP=((9{z?=8DGp=CupuEixpWybVb&oI#~lFPR(?$G`+>Wq{LkIG*&Ua= z!Qa}1lQWDuIba_iW#$B$YX)M}vQKv|h>kV}eveU -BPhO_H|3K_=LcYiM zdFa#-j-4CPxrc}-#8Zt9W2ew8p`OV&@K<)*EXttC6PxM=2wVmE!qU;Ip=&hnr!t3z zYG~PK%v3Q0lCaWod1wSi?w{Ivzl`I{$IqYj cP}hZt<3SZJ4>L#*T|*HJB8+% z-T$0%I6+}eZ4;*0nrZ7`Ykl7-+;(4EsOOa*;|mLa_3w(_Ef*&ryd^#u`L|HQD8aRL zV_}MR0f7Gof-HL80dfWgt1popPhYZs)aP4HFC$qs1}s4nleX`~tKE4QYA^n6axpDD zV14-TVT4^<+|u4YY3dt^SCXEdesH-urq>xi=_$+2vOOR)06y;-*XW 9r{J4plZOePb%N~cq6zp9d#HD92GPK>u*g{G9%yH)p^}8CP03LCZ z=H*AJ2Ny^&S8tlrYZu6yrQS`;Y^5~iyWaTyc-s`FVZX_C`buw;0*s(}H{snJsv??S zTskSgx1*ynXWyL>9X08dJiMj(6ubwnPAv6wHG$YtJ2{B^@QqN^jUI@3iGLqdZ8|T2 z9~U;yJ@tthHA|m{4{R&6qLFRXL$Mdk6SKJQOkDqsdP!GQTkhBhn{NvG<#TUo|2;La z?rTg3SSBt995^7(=j2q$n7O*L0-cyX3&nF`KaOG?Oi-8b*ABgTBhnk)X|b*!8XBtW zKgeoq`4ZjQlY$6HQvi ;w#GQ9@E)5kAD)3M+?#5+^>-sZs^R+e*C)OcYs7rv zKonrur7!@oABaK7_xUl1pc3{4((U^X3ov78^ZxL(*$yw5#w&T)34w*cHgf_75Qi;X z#*F@o;ClL*m-9hu{&QQf9Ok<_R|~`aJ(i;a*PNb5WzZ}sHD+XVJ*hkuH66vGUdtqw zW6l{A<(JB@PAh# Q`@dABk1 zK#q@T?==n+nCYMo6nGKQO+E+7IMjO>YR<8R t%U*ZV8G%-K#TFA3A_9<^Bngk*SV|w@o`XO|~ zyDB0wi?4BT?b-!YPs;IW?yG%2e*QE_5sW?-+C|-K)Zc{IyQTM6s*V*p{=yYK(-CBw zY|96Mg&Ji)?KOtG@qr%Mwv~;V4&lR%9ee)oHA>9bbJm81Lb=?Qd2rVFd+wJg_PtLV zJJNXv69iUESq5$T&zoz q-2wrFrVf$vFe~R%%wGJjijm82^!R zD|WA+MIW>v8S@RfGO*pyFfhD_;6j-Ctg4tE3bJ|_C#Q& `tsmIm;-K%Gn`Y`>f-f0pP7yq kmAl46wXL-R;{VQ?3U| zB$LDE4f{LxK}LD(DzV)b1sT^X7+41;6_dQ|Z0okw0!&u$As7JUkZvv+@>}XD$d0{t zsJ`1TudD9YYuDp7&bPD@+q5uO`Jh|J)Mi>_$Ty)X`lK(c$owMTr OhUmze?cfeC>dFBTRg z{lhHAKa~k^vi;pX(TpefC~S-n^Ca*bdEx&S`osR?Px{1YW2GtwXH-tCyZ?!MVfr>z zR$?hH=P#Df5`>wa7O!JGCm%QUwr%>?#4?1buf@mJGU2|dzc|CS%f-&5r5oRrajm=2 zP8*kAJ?<@7VDc=a3pLoz0E7+=r5g-hbKbVeDvLyjA`W=;+5D0EN=ix?VEGTPVEDxe zFp4lFs9-qw2^TxON9PEa`Bz!A2oRZ$&fqKJOeLJN$!JOGXld&q9f6~oc87Qn-bOUI z2!?Bf3m>(-Kdkoj*B3&`Y#OW{D-#&vM#`)Y>e<+OKw=f)DR50#?d9w)KKyUd(L+Hi zNfK#>cX0>s#mFBp@B?L1Cf$K*5yl172XxS%=jJ+VT(ZIkz39kxkYTKpL1