From eb08257b778a24b0db178684839fc9b4f0c9b7a7 Mon Sep 17 00:00:00 2001 From: rbondesson Date: Mon, 11 May 2026 13:06:11 +0200 Subject: [PATCH] Make shared-components tiles render identically outside Element Web - # 1 (#33418) * Apply event presentation attributes to timeline previews and errors * Make TextualEventView render the same in web and storybook * Make TileErrorView render the same in app/web and storybook * Updated snapshots * Make it possible to view shared components with default app/web base styling. * Adjust styling and add underline to pass tests * Fix Sonar issue * Rename base css to root css * Handle font styling correctly --- .../res/css/views/messages/_TextualEvent.pcss | 4 - apps/web/src/events/EventTileFactory.tsx | 2 +- .../.storybook/app-web-root.css | 71 ++++++++++++++++++ .../shared-components/.storybook/preview.css | 26 ------- .../shared-components/.storybook/preview.tsx | 50 +++++++++++- .../default-auto.png | Bin 19390 -> 18588 bytes .../with-link-auto.png | Bin 0 -> 20026 bytes .../bubble-layout-auto.png | Bin 11369 -> 25388 bytes .../default-auto.png | Bin 11334 -> 25414 bytes .../without-actions-auto.png | Bin 7191 -> 20678 bytes .../EventPresentationContext.tsx | 17 +++++ .../TextualEventView.module.css | 25 ++++++ .../TextualEventView.stories.tsx | 14 ++++ .../TextualEventView.test.tsx | 7 +- .../TextualEventView/TextualEventView.tsx | 16 +++- .../TextualEventView.test.tsx.snap | 23 +++++- .../TileErrorView/TileErrorView.module.css | 68 +++++++++-------- .../TileErrorView/TileErrorView.stories.tsx | 11 +-- .../TileErrorView/TileErrorView.tsx | 9 +-- .../__snapshots__/TileErrorView.test.tsx.snap | 8 +- .../UrlPreviewGroupView.module.css | 44 +++++------ .../UrlPreviewGroupView.stories.tsx | 11 +-- .../UrlPreviewGroupView.tsx | 8 +- .../UrlPreviewGroupView.test.tsx.snap | 10 ++- 24 files changed, 302 insertions(+), 122 deletions(-) create mode 100644 packages/shared-components/.storybook/app-web-root.css create mode 100644 packages/shared-components/__vis__/linux/__baselines__/room/timeline/event-tile/EventTileView/TextualEventView/TextualEventView.stories.tsx/with-link-auto.png create mode 100644 packages/shared-components/src/room/timeline/event-tile/EventTileView/TextualEventView/TextualEventView.module.css diff --git a/apps/web/res/css/views/messages/_TextualEvent.pcss b/apps/web/res/css/views/messages/_TextualEvent.pcss index 3dbde24791..a1db28027f 100644 --- a/apps/web/res/css/views/messages/_TextualEvent.pcss +++ b/apps/web/res/css/views/messages/_TextualEvent.pcss @@ -7,12 +7,8 @@ Please see LICENSE files in the repository root for full details. */ .mx_TextualEvent { - overflow-y: hidden; - line-height: normal; - a { color: $accent; - cursor: pointer; } .mx_RoomView_searchResultsPanel & { diff --git a/apps/web/src/events/EventTileFactory.tsx b/apps/web/src/events/EventTileFactory.tsx index 0ba3cf7932..19dba1da0d 100644 --- a/apps/web/src/events/EventTileFactory.tsx +++ b/apps/web/src/events/EventTileFactory.tsx @@ -84,7 +84,7 @@ const LegacyCallEventFactory: Factory ; export const TextualEventFactory: Factory = (ref, props) => { const vm = new TextualEventViewModel(props); - return ; + return ; }; function EncryptionEventWrappedView({ mxEvent, ref }: IBodyProps): JSX.Element { const cli = useMatrixClientContext(); diff --git a/packages/shared-components/.storybook/app-web-root.css b/packages/shared-components/.storybook/app-web-root.css new file mode 100644 index 0000000000..6745bafac1 --- /dev/null +++ b/packages/shared-components/.storybook/app-web-root.css @@ -0,0 +1,71 @@ +/* +Copyright 2026 Element Creations Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial +Please see LICENSE files in the repository root for full details. +*/ + +/* + * Match the app/web shell baseline without importing app/web component styles. + * Shared component stories should inherit the same root typography and font + * feature settings as the real app, while still owning their component styling. + */ +@layer app-web { + :root[data-storybook-root-css="app-web"] { + [class^="cpd-theme"][class^="cpd-theme"] { + --cpd-font-family-sans: + "Inter", "Twemoji", "Apple Color Emoji", "Segoe UI Emoji", "Arial", "Helvetica", sans-serif, + "Noto Color Emoji"; + } + + body { + font: var(--cpd-font-body-md-regular) !important; + letter-spacing: var(--cpd-font-letter-spacing-body-md) !important; + font-feature-settings: + "kern" 1, + "liga" 1, + "calt" 1 !important; + + background-color: var(--cpd-color-bg-canvas-default); + color: var(--cpd-color-text-primary); + border: 0; + margin: 0; + + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + + pre, + code { + font-family: + "Fira Code", "Twemoji", "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace, "Noto Color Emoji"; + font-size: 100% !important; + } + } + + /* Username color classes - these are defined in the main app's _common.pcss + but need to be available in Storybook for components that use colorClass */ + .mx_Username_color1 { + color: var(--cpd-color-text-decorative-1); + } + + .mx_Username_color2 { + color: var(--cpd-color-text-decorative-2); + } + + .mx_Username_color3 { + color: var(--cpd-color-text-decorative-3); + } + + .mx_Username_color4 { + color: var(--cpd-color-text-decorative-4); + } + + .mx_Username_color5 { + color: var(--cpd-color-text-decorative-5); + } + + .mx_Username_color6 { + color: var(--cpd-color-text-decorative-6); + } +} diff --git a/packages/shared-components/.storybook/preview.css b/packages/shared-components/.storybook/preview.css index eb1772154e..9f49585937 100644 --- a/packages/shared-components/.storybook/preview.css +++ b/packages/shared-components/.storybook/preview.css @@ -8,29 +8,3 @@ Please see LICENSE files in the repository root for full details. .docs-story { background: var(--cpd-color-bg-canvas-default); } - -/* Username color classes - these are defined in the main app's _common.pcss - but need to be available in Storybook for components that use colorClass */ -.mx_Username_color1 { - color: var(--cpd-color-text-decorative-1); -} - -.mx_Username_color2 { - color: var(--cpd-color-text-decorative-2); -} - -.mx_Username_color3 { - color: var(--cpd-color-text-decorative-3); -} - -.mx_Username_color4 { - color: var(--cpd-color-text-decorative-4); -} - -.mx_Username_color5 { - color: var(--cpd-color-text-decorative-5); -} - -.mx_Username_color6 { - color: var(--cpd-color-text-decorative-6); -} diff --git a/packages/shared-components/.storybook/preview.tsx b/packages/shared-components/.storybook/preview.tsx index 07a4bf2621..e821a74c45 100644 --- a/packages/shared-components/.storybook/preview.tsx +++ b/packages/shared-components/.storybook/preview.tsx @@ -12,6 +12,7 @@ import "@fontsource/inter/600.css"; import "@fontsource/inter/700.css"; import "./compound.css"; +import "./app-web-root.css"; import "./preview.css"; import React, { useLayoutEffect } from "react"; import { TooltipProvider } from "@vector-im/compound-web"; @@ -47,7 +48,7 @@ export const globalTypes = { icon: "component", title: "Event layout", items: [ - { title: "Group", value: "group" }, + { title: "Modern", value: "group" }, { title: "Bubble", value: "bubble" }, { title: "IRC", value: "irc" }, ], @@ -65,16 +66,47 @@ export const globalTypes = { ], }, }, + rootCss: { + name: "Root CSS", + description: "Global root CSS for component previews", + toolbar: { + icon: "paintbrush", + title: "Root CSS", + items: [ + { title: "Default", value: "storybook" }, + { title: "Element Web", value: "app-web" }, + ], + }, + }, initialGlobals: { - theme: "system", + theme: "light", language: "en", eventLayout: "group", eventDensity: "default", + rootCss: "storybook", }, } satisfies ArgTypes; const allThemesClasses = globalTypes.theme.toolbar.items.map(({ value }) => `cpd-theme-${value}`); +const RootCssSwitcher: React.FC<{ + rootCss: string; +}> = ({ rootCss }) => { + useLayoutEffect(() => { + if (rootCss === "app-web") { + document.documentElement.dataset.storybookRootCss = rootCss; + } else { + delete document.documentElement.dataset.storybookRootCss; + } + + return () => { + delete document.documentElement.dataset.storybookRootCss; + }; + }, [rootCss]); + + return null; +}; + const ThemeSwitcher: React.FC<{ theme: string; }> = ({ theme }) => { @@ -89,6 +121,15 @@ const ThemeSwitcher: React.FC<{ return null; }; +const withRootCss: Decorator = (Story, context) => { + return ( + <> + + + + ); +}; + const withThemeProvider: Decorator = (Story, context) => { return ( <> @@ -134,12 +175,13 @@ const withEventPresentationProvider: Decorator = (Story, context) => { const preview = { tags: ["autodocs", "snapshot"], initialGlobals: { - theme: "system", + rootCss: "storybook", + theme: "light", language: "en", eventLayout: "group", eventDensity: "default", }, - decorators: [withThemeProvider, withEventPresentationProvider, withTooltipProvider, withI18nProvider], + decorators: [withRootCss, withThemeProvider, withEventPresentationProvider, withTooltipProvider, withI18nProvider], parameters: { options: { storySort: { diff --git a/packages/shared-components/__vis__/linux/__baselines__/room/timeline/event-tile/EventTileView/TextualEventView/TextualEventView.stories.tsx/default-auto.png b/packages/shared-components/__vis__/linux/__baselines__/room/timeline/event-tile/EventTileView/TextualEventView/TextualEventView.stories.tsx/default-auto.png index cbd93adc651991d146156f11135dc8691620634e..9a960d25bdf681296cbcde2034a85bf1fb928f35 100644 GIT binary patch literal 18588 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�e z9#@-cz)&*{V$e3=OkDx2?)voBUPKgXB*7 zC?6!_FD;wH{~*@^K9Ud+1YvCcS>dyWhdx0JsH$KD7_pjRKmn+LHjt=3@|AGZc~5R_1j_EfS3WMPK9G$Eq19KPt5?+F2Wdv z5hHnXV`9(IXkmzP3Am6Y2}95ACVv`7Sh5+2Z5EXi_ftfRnDC<`#Pe4*Q>?cXJueZ6 z1p`5!z>6TC6?ajW7i?+@mtm)n4QE9s@d_kIx;VI*sNXzKRJK*NdWB?39TieA0&2LCDv%~n;b;r!h| zzB`5fPRK)z5Z#MVBVAQ_w~yK#x90H0E@E|7&9C<|&y7q(USa!4o@$33HEuwl>kZD) zk5&0>cBHH-l;K*k$DLoVVntNSpw!Vm@(3UAr+&HyHcT~s@r}{VNFvqvCL6!R?G86XiBenI_$8R@ zQ%t~RqBVZ;6VX_t0Ngpf@k?C$q9~pWl}2y;5=T_Z>+k-*#xHS% z8qyv+QKs>WAF%@E{$j-Nl2m9|K_~}UU{LOz)lmltB-kG=&=B`mn7;b|W=mMNz$wJH zKe~jDLlS9Pa&ZN6*EtKJKbl4#O?(H1TH*DdUCfDlkX%&XLK_BDD}5l|dP>?SvViHQ%q_YE-ADC%5j4}h zut6Ar?1fYJHk4D-{5a636*qo{+g&l|K{JgUyWsrJGPbaJtf5SFWKH70&!x<3Zs3+7 z(Z;J~(9-dX)}^H-z}{dm%fYkvmc;S02)@b7c^A&R8(+zur|F_bi3A_1Lu?zXojOr= z_=E>P6+k@4CU!y*L)01+wkrW!`O?Q2CbLfP4pK)ngTHS6Tu%IE!$RAIe8w+=q^?3Y z={+GOHGhJQ6agrTU#MZ1Sx!O)jHh}q`WD7#WfE~F#Kz4a9l8*hSy(`OOMLK%=LZi| z7C?ToocNMSn@F4McMX%Lpm+75{CbQ)d4;LJFr6+h~Kn& z;)q&B@+@&nL92ndS{45}6dVO(RCvw}|4au{|Ioy#)U}RI<6$#doG|DZ=8v;kOx`YR zx(jmH@a1r^cZ^VwW@pi{yh!$QU@w2(uvD7I#HLXuK{(SK8@`W*1vfej4RnOL)c4EG z=ooQ}4x#bP^ic6$BFmC|MGJzH_Ey*Jr`AZ8us;Om0G@g8qsUU3=Xx>p40}X=0pwUa zW$%7K+@(B~hZ1A$q=q?%LB_lh(840d+DTEvG3T|N^9C*jKGsgE;JGHqI9Ks3CL=c1 zPC{@U_`9JVwiV}2`pd+J;B_9ZS!PVgh${CJPwj+P$&tl9Z2!u0mWRHUry%=o`AvMb(ktb~=oF zQ_YdGRyGK^H@IeSLoz*^23Cn5EP1_HlPRkOWspXBm}b&?Z<%&jIyivzpVuyJW_3vH z1f=l>X}mSparhl_-XwSc8h1HJ^YV7WF$VvPT(P7*$hi&D{Bk)1eLkWXA%ucXG(?aE zcm&}Wvx-U6UIxy>+<5#8JRkp9AYryj6sWQ_WwJufsh2{af1nCDx0GUmwz% zzvMbTg0h0v{3X}3c&hR;&0li;CNEjG`Ae=xpyGI$<}a~6i!a>F^gq-$L+YV$6I=(T zkR0{w3TX-iadb2&vFO29UEBHeb$CN!Sh_hSMo{$!anUAgL%)CF9643l>67&kWvpW^ zU4o!*E&MFm=NQC-V@j6TLcO{0Hn~nVf8+5&uHIgFfLN!Rzr;U1B^f=DG=B->s9z!+ zgV9Tyzr^}3J7Ei~)0)5J`f6deZ1a~~$L3Dt2|zU`B-KL%sz^dQD7wo~?? T-74;|!dPi$x$OQDmqY&p$1ca~ diff --git a/packages/shared-components/__vis__/linux/__baselines__/room/timeline/event-tile/EventTileView/TextualEventView/TextualEventView.stories.tsx/with-link-auto.png b/packages/shared-components/__vis__/linux/__baselines__/room/timeline/event-tile/EventTileView/TextualEventView/TextualEventView.stories.tsx/with-link-auto.png new file mode 100644 index 0000000000000000000000000000000000000000..59f07c05a39c9f7521728f6943fd82cdde0f1419 GIT binary patch literal 20026 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 literal 0 HcmV?d00001 diff --git a/packages/shared-components/__vis__/linux/__baselines__/room/timeline/event-tile/EventTileView/TileErrorView/TileErrorView.stories.tsx/bubble-layout-auto.png b/packages/shared-components/__vis__/linux/__baselines__/room/timeline/event-tile/EventTileView/TileErrorView/TileErrorView.stories.tsx/bubble-layout-auto.png index 494ff51eb44425ab32bb89ab3a5e11b8e342bf5c..354aa3a808ddffc37e5836bf828f26a31bd6568d 100644 GIT binary patch literal 25388 zcmaJ~Wk6Kx)8Ad;ieR7;ij*RPB4JQcYoZ{bpdhU%AV>*<(q;yebkhJwN1 zDp>vkimB`N_ZSR2=FEwsy0@|YEo(!JFJ#HKyB=G21|M;TjXmb@T;8O5+PSwZxbvU? zc4o@)=F&dOggvJnQ;P}@qbJx|xV-k$MiU(pyEPvfur#LZw$g#Ce z;$b*1K`q2%vG9Ox79#;ZSSAk?f^U&h^&PKwbSeW;phVl2Wn~rZ4@M{{Jo+6t2 z7A%o6r}CG+xqj=^()2mBB5E`OpdMI!M{-;vI8f?uEAw4SPslsvMz zadAP+)W8)n_`6h0s-!f`%TA4V_LF(%Zv(5A+jpiu$6b;vI@+dkBvK<>x#X4C&|)!X z-DjN8sn5RK4|Vpf6=>}`x|G}VB9f{7VSpl+YxAvgPp6Q{D5uV#KKs)2HrJ(p3^3k; z9<5_`KMt5*>1X{q*{s{x^^QBE*~Kz<#?R)Zi(jZweNNj*`gHN{I_DH7r>&qfyb2EI zpduv$f0JWygo6H<`tdb83SR_!3Dz2RZAfmZ4K7^D>*8}PpI-VbmYDmm@nxl%YL(AF zibHu_=RI8Na~F$(J1fN!{B#Hei~0Uvro}B&ttu~vq#ua~DXH}66$Ereo_+X<;Ov<@ zUP(x`^=eTX>vwWIHNe^^>Fs5pI6f@owCRkVtIlJkj=-%Q9RwqJ*SYwNw&&kxf~(4W zx~zYC4f@M#E#B(mbFBKFQ9Q%FAQXGR*4w+6ZLDT?eoUwHgZx;83hr%|_sx%c9T)sE z-s-rw@O#XEIXx$tKVCZBb0+Fkc8q7s2HE0dk;Q!yIirnP#gVa%mLUsur%m214)R_9 z)@j`p5t~%5;ilZwToN{@V}~Sxdz0d{gUrwI?T0#g`|Q5?D=l&tJQNX8dTy&lkecoc zU)<8O;Lx&R$;Wi@&v+JrU9EF|zPc*q*4ruVBbWO}zZO<=M_%hwOKd^Tk|1J#Z}-<* zz(s!@Yj2xs=C*gM%FeSsb9p*G%{D-J@`RB-n?Z05ZuGuPgW#e=k$i)rmde5nak*x8 zfkn!_k@So>?!Eny!!KOCtzQmQ9q%9c655fL=%(R0G3HVHH=D#`+u$h)<7=7%Is6$N z_4QT@Q=j)1CdpW1g?jL@1x0GjBD}DRKMtqd0Y8Z=gg$|G|+SW7m?8 zwyX~u{N-JH>N%bj#UGYYK0kN-!^1Ro>504C9a{z3WD;^G?*$H5d_FC(LuE#f@W6F( z$k04kT$!U_uCrm}^V6rP6Gr0!Vpr<;R1BOHO|Q%bww<))G}w#R!XO=QMdJP_j@`kqzbRM|*^KNGmp(SWx zXP2eQ(yfb2G6FLWZ&jk-nuRED@vc+qG|vc4fAqX4;j!1eil1ZI40mDok2hDQT3o&@ zQXVfR4Yw`j^G+>T9-F-XJis>9EqCF&{kKKTXvZVT2%Rfw7cTm*+obg^EJp~UHEEuO zg)-A~R}Ea~F&l~F0oV2{hw!wxr1_NODNC1!d(&bgdaN(G_b&>}+Z)&q=v(webQmwq zrEg0sDG4;lDGmDTl3O8X<#FQ-L%STYT79qQ(`^|A@)!9s&U;QT?6~^jI*FOP${Rre=%F%bwK*foX_nk zqn3a>e1zZ9b;Z_cQ)jb%z{?X8nOmAt$ie&fD9RnE6xiBY@MEqcbZM-%ySKO0uBUU< zyvWx_NjXht^1#AW?%2Skynvd7VaX)QgWEUD1UM^sss!{;1@Lh86-nN5O=(o_JE_rQi!Sdtr>w0fnMY{U$Dj=D-#E*yx3BD-$59H|?cKrmGiD6PB=eMw$ zw*e860!3;n{I}|Vs629J?$7E93*b0m`cNtSy4R-2e_IoQ=beg4kUn#cj z+z^|{RiLm??g(r6y`OX|j=dIb5}ci#{U>)Y=J}-B+4y*2=AX`Khg(d>f(lc#3%>Qe z^jR~taQ5xcF2c|Q0oB>en@5rp<>$sU37+~6ADFAIH`rbkAC461G0*7PwB>rfv&Y~} zS0|zMhyriaLQBSGq3n*|FD<9UZG#Qn-OuIRx;0^=E-7J&4niYIrC%g%5CxKHiPNTMgu4H^lUprI!$k1c5hyy+<8(P zY8QNCJpZ)b^{V12m6V3L&dS&XzdM`eel!OR5C+)hswbCZD^=fAsV19x&-~8(l@gmO z;GHwpHdT8nATFTi%ePCZ?q1fHe>Oh<^?u>*^(vvezYm*c$Lp{SC&o|652!D>J}Ff% zcXHBUL28cAu}e10f1#yS^t!hJ{7d;<^OZ~8iFv-3VO|pcM<#y-&Q~9DYzlQPzBlBd zH#yQWQR{VlfVIch`LuDyW;WjkFRk^y{B=am>&AFOPI37L{+@lk)}0s25|Sd!lJy39 z$JWYTA`H5E>0NS*=ysbQNSmGIA&?9N2_uEvbB#4!>Em8CezgQw-pq2#U0xhV@&?B! zSeeK)-#FtlngRsPjPa4yYc_g&s%qLf&bu~x_f1zWdVIc1C{WxX{QbZXl8IwGUFYY* z`qi9fSw;%%vXpiR)il=Ba2k4AJ?%HI8;UkQqowyGHB@QP#5CvpQvFt~$@+uSRn8}6 z?|ya*INR6XaAz<~T+gttGc9&}FH4k@UEV@lvf6<4b$63;@dZbrmR@-ozSL1QvCoFB znRe-e-&HalC$IlAer|4LN-Nqp!gS{x%eaL=vuHwQ?`)vF)5W)9X@<6oAEsxyC%@;< zEp&HkotTxFFbQv!pKJA)?NsNHZ7Gr{xM6gwWkb*PN$vE;glfJ~s4=tl>U1omiMiP%G`(fy*_osA zEw@a5=)Y~}az=ylcX;&l55t?1Z`0C`@)Vv$=RxL%O}XMp6x=j5c zuPUxd#ag@O47@jPb{ZmF87e0T+2wU6=)1oYwlNe^&K#M2l0OvM>hUgIw#{92zrLaC zY?*sDPu{8T@(LAvq%yW>NRIM2+%PZ8CZwSmj={6y?t9OD9f?omXD{ZP$uqF3mui}s zjdJ}~jF-aA-4MIiM^Z-xCS*7Tlfapl}IE@!jn24xEZz1AL78giQ(#d;Ji%~g7j zF?X$*Ty%b`{nB5fZM%lbvozNM>ml&F2reGg&mY+&Ip#bkw?6Ss>h3dbmdsyBThpP@ z7azK@JfYUhyP(CqTx)=LuGasI-o;ctrNPR?O9G26iI#1K1Bta4tao;^&3VZvh#7C6 zzcSF#Ha1}+Gb0;{+RG-=+)-Tg)Y8}cb+)R7oNX1q}8d%?dI9G9h&8R z^2%P^v*bj+ZSR)mhGxEG4K-xsI)=)1_l1||H_iD;4ur?MeqiP<>95)p6X7uTN~?dH zv9a+J|CYH!IYlC_Gx~3*KFV6>sgD&%*}8kqn;RC5s2n+*-eR2^c<}d3zgPIN#nzl5 zp1FZ!!?!AmZ>PGUW4lTa)lZ#V`{s$0^1jd_2O&K9Deljn;TR%jKIX0^;uhNX@w1{g zSv6p(Tf9oS$14LiL?qRZ^>YkYa<*}pxZ7!!a}!!@QcaaL%Y$#Jx7EPu(J8rp_1n2O zTn}}p9vDdV@{7dp^ivuNu$hpyG;Qr+?X=fYP^eUiaQ-9TRjiTG%nzkz>)_8+0cW*> z(U3o3ImyLO6A}_mW1ULJQWO83te5VOf;_h2MMAp2v3J(^d-06tMG^vg*H4A)_ga#3 z6Zsm}R3#r~YWke}vcxBLFF3yLN?$7wwyjNNG-~Ajq4J00Uu%18a6O#^EyZuA zdexM?`^6_*n;HcKv!^_ELugZFKHI8}#|#$!WJYsQNdbP=9G_hpyf_mjn~-|Z^Nq_j zr`8JD`hAtfr8$WoH@e)YnObVgX*+kQRkC%o=vJq>K+BcE;@UYUx8kO@gHz^}3w-7Z z2(S05X04Z)+TBj(?m-+Nb(KCS~FJ=v0IO_5x2nR+f8_>gi0(}fZMu9*(9fN?#BKj z7P`JWa*XE7gKK>zT9d5fQaWxX&mUATWc?~JaMA3}HPeEtaVeFf$%8?$CwgsrM*^X9 zsjMn5x)Y!n)+QTS3JR&Xjvd=1Du~%sVlIMg{g;MWFI!c|3x(q1?vtmAti=NSB3|4! z_T^7I?R@Lj?|9vb!)M5`v0_EOCc9rGOt_~#*L!d-tu<F&4JS4<7r|adOSYbhP65) zd(<`~{kygu=X$CK`B#N{`@=I@s?>=Tp(_X{sRe){YTSnpq!Z-Me+bAw&IokcIMo_z6RKWRMdwr8czlUAYc zJXLb&dM4lzxq0#Pr5IS8pER;bk+&x&{P(3N&kyUE`CYi^J15}z_SJEoN622(_6cHM zzE6H}!3~RHQWF|3>3n+SU7>04!tl8#+|rI6LIrCt>aPAZam~`tF4hKYRY_ww()hgvkcWRGvkbpC=di ztMWPzrr)H)X1Qxg5 zS+HybUx|rLco-FK*RT45%jEV?xnCY_4~<=0alimy zX6JFKf<3RW!3k8Fn=-wh;^P*O*WIDskzCCGsLFdOSZ3x}V z#LTxtttlJZ{`Y>={RS-*d=(Jo+S0457cC zGi8i0-f7+$WRv)a+tl;GVq0Comit~y9u1Sh_F2;YioJn)Ylc5RZ0HNqJ0EalHc;*j z*G7WN{F&t6wM~U5xfhfarV_hM*^7CdZtyyOKIf=z8^ZDTRMQeAbF?(J<6nXiSJRE0 z1qVIpy{# z^%Zv&Oh3Op`sK{6tv511%sTc6a~Ex>Gv$koJ1C*KI3w8=HU~ICkvu{9P(tqfzxtQ& z{x+ZW-R?LmK;Y&!9j`mRb9nS?VxY$j_mnS1I||Db1_Hy1zKHM%40+cnq;|Eq_LL62 zzh2eR@u)mttbESN({9Nt$F=a;-tyuzB1^j_n_P$XQ^IFs!;3Q=#frq07Gh0pzT(ceTwV(0?%8zy z`$+NuU;2`Mh{vF5$5>iyXv^GM4(=ZW>*@iH`J1DyEmBwmY+~MXyyzW$TQFGuS%23gm>v+BewiAIcy7E%})% z*#2Tphnr1$Jfv3-&z^`Si-1EmdZDQzN`qnUy**ipdo;p$A4wds80@o9*)DCZ`*w&m zDz^A~|Cy(IBJTI6cmMauB4CI8`=c(`156+*)sNE&tdWf%@Hc^IbI~o#y_& z9GL}#`pqLvZHvmmZG5DkEOPhZcuYVpn-G=1hs5Yc2`P)}T?gXVwRL%p|0v$&r8*I% zqOh|P>c}ZD@@R~{eao#>Y4Ox=2OG?1^~a#{;k&=kejkF4Yma$xk9l6fLW@Ak(1`c& znxUaAkCJj7{8VO)fwJ_eTy>IN zdEV5cM6ZS5234|3#*(s<>!uku)~v6!e^2qJ%~VQ?O!1n932QUk6DEZ#Yu>a`~R zkeBOBM#0R5$(Du|LFRNVH+QJ_4*ojhq^Uve?E z;uu?@WAUQs9%W}jvsYcbBc*HdYnVL**M^#^_X~z?^X|>AL!k|mDq)jN`d1zbr#NXT z{)}?`$xQeX7L`+A>gmnvG~O>(vNt!%X{ybB=)IU-!9>w?Sx80b$00viqo;m#3-)U) z*VYVHPMHyIf4)32d}r#~+$Ke{rGCc@t^V^(J1({K+>c4f>P?v*yA)+9Ad{XVJ#dmM_>O@vss~jBMLD1{Z{8ZfW^I^c}E$R}lLYu}U z77m>!C@eK+1y@R1x4D1a@FYEA=#qU#OFz3peW1NZpJ9gpp+ImB5P~;`OVe|0|9S8^ ztrh5a3bEvKx4b|Xf5*FxNGs;ZtgE~mi@kl?Xd}{$kz826ZKNCuI(UusMUVNXmbN#x zrDQ(d-Nx4z!k64UT%KqAI2ftvwR5BVueHgaid`St3yil+4_g?XV*T7?mwLhYxa7YH zrxP>mc6SbL?cIK8;mU+Z>q5fqrl!`$zUILL_hti`+s{2(KXJGiz4;_D-!sU@DC!=d z{ur6{aLS7+lVPl~P+u7B;u*hR#d8TJJ;b`8O zzi#W-9K4v#>Gs7&5A%uVdRA8JMbN!VLoaAO-mvehq}g32HSwg9lDp=wB3`int={tc zr?{P`_`HN(&Zt7lB>(nSma<*Q0^)JihlVPDWxAxE@! zjk@?^qrO{z$|V->E2C9ERcbh(v#D~NTG&*Snf$fz-?XU{(wuQYNPNBr8F-WGcX{;e z9UzU171&?0^n-Hd;@cr_P50S`(<*R_)m6L&zmFIOH6Q~I zW+gbGd!F~UBK0)NhQ(Q*G7dbp`4cgUywY9EboTBL;;VJ++aiH}RxXMTL?GSjI;_){ zZTUd=RIuDa=L0X2^Kce6r|}rO2jyQ7v1lv68xo{bU7LwJIGvS|T4DJUj$`C@Y$kh= z4`4xv1*xBqcp>S^TYXGYci4pxosHUmg@C_l5^o_liN@67N}cFBVIoBMP64<>iiC+AJN9i{Cb zhCc>F@?NbwysI5r#hbg5zRMUELbD{B5o8(eAu*WUH&}1Bu=EJ&EbPXBcI-Mw0aarMKxULmGtb1Z5VsM z@LnZsv&UeXz2bPqrzd49zx4|Ija5c^rW-~?EQ;Ue=+QMJl?S12~s95B? zeJi(-)LiKpDJ{9GIH_PfVom3!sL-&MO8KegL(1oqG|NrhdkQlLYMZL6PB+DG)kZ`E|AfgyQKcdxJU87F7!C+x!Og_X~3oq1$h{{<*eCrlGUJVNnw^o;kJ|52teHj7OTE?fv1k=p*L;9p@gS;@712-D{(T z5bC<34i|lzeX0{G~M7MC@uXRc=-BF#j$Ux$>2-l`wrO#A27F=AA^=S z*;18izO|hu3`CDPQaO_x!A0^ zZ8YT23YWT6VEQBGq9iJE$rFm2So}62RsV1K_j6iQGhQX8)aV&XXP;S8Va;IAX7iS zoY(vFIlxrH-!Tu}O&uB>93C-F9VlKLpO%|$x4&i?A<#Yhdv8=xvFqXqBbSEX4e4$} zr~HlNHY$xPfcZ1>7ee*>HrN#5rOOpg&6xy0M1$91h{&>kx^AGtKVEmEV8O+)Ezh;6 zQeEY+?sN}`jp+{_z)9RixkHQ10wB~Gcr}Borq(|jEl02ePIn(3j zK0jC36%{qsBGYjDjoebMN^#d@n{1hK-}vpZ;MPFC)XUB@y@!I0uOhoYaDYo{g9R zN@uHhnz03spJVz)L*vnH-GMgg4iPdC znGg4eAq8f_)-zvkhUF>@uy3fv9LRO}B;-rhH%C#eU%(X!(=y>s;=XT|VnxpQVPl{ld52w|cI4r7K$5V* zPC-n@v6{e@Y!xWB^wO8D+I440QHwLBuzP02OCEt7~VZ z3u-6gV*|Dl4aIMu_0+N!O77yz);LJ`a?o-wtq>3f)sHowNMoomz(1;>5RE*?6WxF- zqNW7u68J-q<1DOs9^uEBd>Ix06zF^I@c3g$7A)KDESm~+$JG8Om)exQUr+TO@?D^_Id0IP+F|`kN-`=CISuGG zUVfT1uZh;8oI^gSxCzng_vby!o8NYp;tj0c9|wcnPm!k^3g$m0%{F0iw&3$kOtw7K z)lg=$Tax_1y_ni3FVR8_O<{S=xz@4ZPZ#Z;uGU!wK1YDL-Q`j6DpzGXvg>gwrg`(4 zr;ODa5zh>)6{RnUud-dmL6G~}`@i^Oh@Hz$gX~8Q=+Co@_GlLng&01tN(Mo$n0WAv4A7G0WqFAfr%ff0KdCqN_@- z65}K)v|z`UPc*V7-jL}CFR>}*)Ki)SbTNU&%pNIOny*n^=Dh}JYDe0`Kb*s8A4AvF z00(I5ovj2ek@YsU=0`ul2ZKY)+zAFp-`&1KCojOx=e~bGO~ltQ$AvGuxe$<5>ovg5 zNxiK4=)f_eCmkS1{rZl2`2~(7+Gfc}^jbTjL3Q#NVY4(;aB?b;Ef>Did|dY=k}))u;AfcQ9>c2+kE>evKziS*xd#Eo6s)82% zgI;r>|J0Vi#!`1Y1Kv4Sv#Exr#cP|BHX=`ygn|}xUWh)R?MK@aD~5O+KX`?r%Snyp zJ)Y#!1|OFPuXSqNc5Nk2h(;1)*8PHXQD$$iyW&4^8O&52Y=gzh)eW5EWmJlf(BmmJ z=Js6I(_YKWkv}RpNL*{%Bde|0={twF2A@?~)3E^L8MLVQiCI&>I@@MJ6mY8Y8Rfik zl96Z0Q`lUTU3A1*TrEQy#+QMMgh-!|XDZ!k#<}vsC?ut>M3H^F@Z@e>FEo8ros>iX zm#^ufh{+2%wdp=DmQcqVhlP)#%kBS5H9F-WF z`FwVf(fCo42h8WV_9BjsNb;C~<%Fw=`n7VU>2{SCgreEr$Mm5BLE z2Y-RdM@SIE9i_LAp6m%ks+z z{KM_eGgb07T+E8c!)CE^OG@W=!Xf9@7ND<--wF0P_Wle4dzK^;kvn%(@{?fYN0obT zA!!F3w3?Q#IZop-656TH(A3K`Domy(J?;H)ob(sYi_;X#jlG5N!T$v2AJfi$povEv zrNZJ)LU?>sFD<jOUm>$ zsO4CO)(FGi*{#CyKPZkb=J*NAz-+8<@8pW1|`oN){8!dU!zyN$@to3?Wi*0p+k_G7z@$u{C;?&X~VL%yX3OPy61zFrYY_2ive*Fc? zNCcd5^%j#y^hAWNxPZH+avme$aX)@_t$2`h6zAaLi%uXd>swI!HlXoju11(opluxa zBLZApy{hz&bUa#)ojy7EFPMDdr2Q83el ze}gMqj^d&a#f?hS4LD#yYHxxn2Y(5iHpQhj8~K-+9IlL3AE-f&ewmr|f|}9p?P<3{ zPo1_MxLfl=+7ap*B%5H1k+_KO0WOsp^*DN5zQZPmSoQ*xF0mEYY?edbw$l_y?E7}X z2-n*mFJRn;wtcca)^MG!D%|#HCdNObQ^9@Qm~#`5DE`jHa6f~pm`pgM8xLVKt@$!m zMR8qSvoMU&Ip))Oz9{({nEh3bjqUNx4vb3* z!!cHGHTx>09ZrP%Df%1F;EGCu5D@V2qxeGTg&xl^6-_0gTbaprHyQ zbssdrdeIGI5;asLil%E_2;B+iGvd>th+QY{3YcEc4~zl18%LC*hQV# zq6?u0+jxE>2jaH&HLML?`MMCc6Rf-9k>(U_LD0v^9}yh~+oL05+S1rQYOzoQr#ZHT z5KDczW^>YcRK>ZV;+YKit|s+eR$MLG18v47xgyG@o}C8fIOMd${YJ^FO$JtuD1bGOX0 zzaf9%w=>6ZLL@u763GyEBxOTH$PO%Ze0+iNadIha{CSRPe3~Jx7C;Ta3H~g$_*c?= z42wQ3v7vNa(iE~XchWK1HsN2=AoIQU0+3lWmAC>dd;^&+6*3Xkk#4f;bJ7%JmH_GG z<;Sh)``R+tK3Yt12Wu%wE7HtVDr83OQOx)u81l1A(qqRp_N2d%R|DZ>g|&U=qKg5O zT+xVUdI1}+l=>CLlB03Gd+=lx5K?7(6P*nrY#7mJ-FiW|*&&*9)2#*^n0$7VYe^8Y zNM8L6B_r(O3d?$f2#liWlQkh&8erE$6yAipO7EVb z|;?FTvuOuBJ#SH9Zc5HGhz3rgsKKeLp zY0a0Nz`G=s2)#Bf*!KdI(dTp%Nuexg-$7F;GESWRj+g3@qkG8w)TPZtfxY&7URojh zOBGLZ_y<5||G=wBTdw2|kq6;q)(!NE?;*>YuegLwg$Qk?5A>w^kQI0i@PFvv7jBSViY4hMTTn48X~LRxAKP7D&r^JvxLjUJ%^ElvAk6lj-%vy zY$nS`)F+ldp*7>5hJ75kmWjw8)sljkI{V)xp6jB~=^i?x<50NW|NPqw=eAj!(dCar zBYl70ANczD5lQ$i`trh`pklaB`h#@u&S(Qd)BPt<{r#>#`;jNReTkRor<{f-pFlZO z*kQ+L?n%d!shhG2C%!@@!Xtq=A^3Gw@`@lWA|LQ8IxJ zCwUo9rmc}r+`Mizo=nwH#aXPm^#9<==zhuaI1Pc5tMOz+O2GhJAuGj=LwD;c6-VDR z&!J-h97y?mBG`hvhap$P)Azs(o7&1=4RA`KUvZ*)E)SStM~BlvlFPb4dM$#S^;6)v zr(R$+8qJ;70?e!`_Z!6VJ*sO>dwCa{prySbkBvGj04Ed$umG7)9_o4?G=H!HQ!*zngiF-pCgtE&tSV zC`HreER%uvGfeZ%D_iO6qWTIy(ZDXH2Z;mSu=+N*l7t!4$_L`$|As{C(}?e(H|VG+7*Z_& zAMuXTsKVE4Q7)ls1nazjTYB*~($rFL+cL-uR)goOrDdoFS_YZ%kHFwuYj)7Rh7K~5 zCqVIie&3f}K#B@7TRnn+%4NZTyHY{sMq$8<)f*LQVj!y^ATvn@mbLvXL$3tTBLg6F zD>5&i*J{DoGGPE@wk_Z$Hfh>1R2smr`yYHh&OwCf8$+Z9T|WoSI8|FjthP}fWZ>Ec z9ycqTKclhn>afojqdXz_Je)tns^l8jXY5@+Eh42I=f7-I!HT~?zzrplK%wAqlgl~o zy(*mZfYeKtY>D>m+Yqpd3O?TVVn0zqd!y zCE1OYMd(&Yy7G29L=V(45@rjC0v-T)v&+i$g03E=bRBy)^g+#g-NxuoL+bsHD803t z4CJGpIxD5TASA!o0VpJzFApF2)xQVAZUx^KXtr~N(9Hf}WnKJQ zV7`$Y{4a)N&8836lr$Au0=X;I*Zj5n=sJ03Oqm5fkJ$i+KQ~ne0Gi!#PaJjpn2yGJwu})O^z(4xIL!eTlurE8Sk7}o}CnQ z?E}ZH+rqr;RH)!$OpQB;hRHZO!a?POAsvBz9(f#e>jCwy5;X(70I(F!p{qYuCUs)P z{y=^MWYrlB6F#iiN^r!JtAHG(VCD@Sc+xV43h*^@hANnZp+~X9#?rl!z2rWGv;buk zD7(g)gd)0#+U!7<=J&^tI!I7k87oG^O-6SEl>2UnHMOk2wk3&LqCY+aTD0774w>^p zUf76@Mf6OXhY&T>_t1x~#gp9HNPBn_E(f|&#C?{*7|{eGcsUf6n2@@%=oK&q9hem? zh8_6_zd20v2ShJE!sJFz=z7gq3KQLa_>SF zG8c^RHuQKFidDQHRRf6HS)udbCZAE;jTdag(Jvezao>ZU-dFh@5((TmwdoBZSqhk6 zHi*zhBq<3e()^UP3*7c(?+coq!-4Zv&7o z$wBBPKL+MIn|IC`Y)wb*BB=>&SZK^I0rQ(v)zr4AajzLQ4rx08^Y#t8 zv{}arerzgYeQ1?I@~H||xqy3`qQVIK<~h{&5_&4}t9qI5TSQyra1K2N)<;*=3d>i#q*UM>Ooi&H zU@2W7)DJhkKC_V_FoOehfawbdjB~_fmoI!!r-g!$JKM|0p5CfZ#TU&6(~obA3CAli zeOulWp3DS(wJyjCy5;v5Dc#HB{DxEY^@l1Fc=54JzUnk3i24DSpo<3Rk5wEtrO@zY z{422j!CO@ZsK_u1Lc^EUz{g+4y?#OSAUeJbDFB=4sgy>odSC@AzKq`smN=hY^WXBu zsrYg!l)f+1Qfq0&KNtF{I|Ql)?h=4E~% z*Xd;<^2Zsoc1(yreB*l+RTy@^*6KgwWpyBbXal^IshD?TQq7m%ZXhd=&V%J6tfLB- zn-VIkXNZd%s>a{PA7b)lQ20NH!h@|LiXYz7zJjLS1Z)28k42(5wBu!Tfu2#ZWpQNi znu%fRg^n$w5&}NpPxXyuY?->B-mMNO#;}4dQ(ajqkciZW(f@!oY1lH=a!a^L*eD~m zOjV-Sy82V(RoF6hljB^&F{`mMK`}$g)O7c$Ly_8!01&`V(2Fr6(8DmoI}7K z54BY`_zj2qYg5zfgm0@Z0Y%e5=H5vIqXnElLsBO91CIuU8(vJkn;q6ucZnE>6*4lX zRf_PI)zdCDVBpvvmdMZmo`9px@WXwA5MaZRHC(79V{G-b!i)|uBc&wF1#t|Apnog_ z%+x&xinpV2H3mAk{|8{ES|(<{*#JP)3;;7#6+yU*8mjN#f=}~nQvFX2!bSwZ*v#?V6`8)>I67dmm zy4BK}u9$M7UjRUt2HnPh<6r2@oY-<2XGfy}(|w|_{iL23XUV;|6{KHV0}fA+SB5p* zFNm4_rn4vouYYcvheU9)4~~B2pbG&!;pS94^1TeEnB{4g4lr?H8|H-;)t7deg`#Zm zm`Q&6QGaGiVMTn441uSPef}lYGVt$jxLOFR&?(}EZ>(jw4Jh4fb^-YT7j|OT`P+VasTN{+cGPT98sOJpy4TROEX)zDi;=jz zw4XYSO4ofaRBe6#?E7%}1?_$G1Ckm9ujh7z=Un!T*Z#UNEtoK?K$(r*Y4&_Y)o^pt zuK^z1!@Qq9_5lBaj7$Apno=>dYs(Kifeq!^`4L|r`{HV;01FHIZSX+vnvc}(a%ISc z$sKH)CzngpYw0dCK9rLg^xwBlHYd{0Zy|RQin(Ri2g|Q+@>xZ-V=zW|f-oaeK*R?FZ<(VRmw9yP3{Yt)7*Hfe&gFjwT-dki z!(>=}u?en_U7PWM-GNAPXNx?X;as-pm8)^Q5(EV$HGgO!@!rfUb5q(;pc#>8pOCcx z2DPR)hctK@fyJO*m&Df4gj$A|Q8$Msq?hVEEATQZHNJ~k7j+N@cp2qD(qs)pumeVT znaUw_vlRS<=qh-b>SB%JX3ERs%Je{mgtmdLQab+wFH_fWVL7aPpFXa<;@dFjcXuO& zdH4eQwH(@p;9}tfG=OJ>?wz}*gUU`{!VE^DhS`&N|7X$#Z)OGbidAVCVF*PS+!|DeKygQHMrgim76^2ypCM=wyE5#8H=73f@IVN)XKWNR zLp&AukdYsS-KmUz%?;W87Afisp%qM1*y&cxpbxvR$;^^LC`zNZm)J= zqzhK8C;bW7iIHuqrj@)j?L0nCI>y}2JG*yvbZ6ZKMflrun_r`sz{_#S3J+Vtl)oF` zkfL{uXfERc6mZ9wlMHE+CGaj?@37^2aQ^PC+W?x6W%gasJb61f{UHuNh)bl}b=%Ni zsz5b)2Ix-(H-JSzE6|nDqm3KT$M*ZtP<1ggTFFd)2Xr0z4XC9+E9w+Ebkk%=lMbmT z{pe+`l@Wyn`Je&^mST>+w_F@pp<^%XR?rnR^XR=<>EpMB5mNz{gbVHFg9d9D0)mt- zws@;m1klxt%^B!;vNu*W9nQYpfux`G>_QcWpHwR#gvn^FM~0o2RVny*4asP2JMXmU z3POTtP7O5QmGNXBy?{pFAnk$Zq4D{!?s8{B zL6xbxgem6Q|3Q_hI@?{b7`zHqMs)^g>rI%fPV&}Su{JP*ds>(lK5QVo%0~3-6Mi3} zIipeGs}|Jjlhq?I)DcPa`h?b@(9GQky?Dm)2IPjV+mu4P6$R&)fhxuJZy9uIYh2ij zep5yE0{@+h`%d+DcQ*Pk#Cs@q?8Gv@(2Q?~rG5RX1s=~S{7!fG2WF_s_@GBnAlj)> zqZAQ-MJf)d??Yj@N}<#4B8^O)gMp!SIKm32?61(tFfp<<=?X3s$~=X4_H^_av0lt> zvv@ujcu;7@RINGzJh)KP2u$+~e>ByWbZ2iAtoVUxzBln|W&RNLf~z2QQN@Z%4X*RJ>-AwOOXj(`ISGN_Bh0#$4(>Wi5a^|0G`E~5kDa5p8 zDV+hZ9%RqG4z`4XK9*jOIcowL`K~6cPqxO_*+bI)Nui47!DeA zUQ5p;x<@HI$Pl9EXV}a$K=W@x66lKCSxTEAp}Mj>(`W`OR*s-_Zu6?$zsHl~A<#|iSk*p3 zStSf*RblnBJL?%b1rU)BG4cb`_;>NE1|LJAt5E2(pZuS>7(Reh6AsuAXr@Jx{uL&CpIect8Y)CYUh~NXLcZ@=|>x$yuhir(HvQD2icmG%n z;9b1|ZE6dQG%KhVL74{#XWs*Nn$Zuk=%eGJzqFx7xUBPxdQxD8bYd?U<1sWoa^YU* zmapI78?4nZRYDzBK6QCTxjrJ~D>(YFGF>)UM0+c*8hu!Kg%8W& zqvQx|=DLaP|KsG;i*xhvI}CF=2tRoQJFoV=`TUAB0~huZ7~~8|^p1|)kE>-U+wp^- z#pbjVN11#i&6rnS7=?PfD_IQ6!&QSZCGUVsRgoxicTmUyGhS4mgdaeIpWgO(a}fC_ z+OSZSYXnCq%PydU>Q#Nx#c^=_%#h!0l7oGJ#D*ET%b1RfXEB8`J)$Ntm*ndc0ixaw>4p^ zW_0(Tph9#ufAvtzNo1GkY<|TVtkd#d8D{fIWh{YIm2qX#E~~Mv z1nLS;tk4$Gr6`2ij0%VL#2@puIyh;_3Dv|&J zf+9p_BtV#wH~~r^3}FsQ1SAZB1PBm9rt{df_J?!MI{WOs*4`iXTK$@pmFLMd{IB2t zy6^k$t`6!ubasG1AoUBsoxKDCsk{b(zUuqtE8vs9eUGL=pnrfaoIQOxK7Wy|7N0%C zem!~Sn?wI9+ZA}|CjsSl(NVGfCywL3PGUsFI;kp77}^k7)rfA4^SoX3)z1e6_rE%L z-~hf><;Nesl@$J?WbZ$_XrbvmYR#2qPFsT5N=wGbvNRkE3=Gr;fv&P|27^E;afgex zfexHHr2;yYlA;Pq0c}$Ufwq061H4wtJiqkOJ=uF4q!Wqmph9#@(m4PIK{xK*}A~? zTyVkK)gGmY8{NA2WRjarTEdcQlu*@|`d^zZ>*YlAwvQR-!Rep|AQv@FvpSHeMO%K`a43yO|OS1eEJF`Qf4yHvv;@gvl+tSbUvvZ?+(}bwm*I z!NSEgGUY<)#?%Sr z+ymWT2WnU9ccNF?5vWXdi&KfNvxCoC`{og%7(XFhdtl`R+21@qS#oSX3c69TDR@2$ zE9{$IKBkBKP3pJBP^*YAE@0=ggpwpu0rM-Sa(4Buo5uI-PYAtKKn=M|` zNzDquqU?a^QLsG>>LhX+!Ov~Px;EbIs4Qn3%S8#n%jx%fs&GWY(RjMa22C@jjud*c-(HK6UZi4db{Ucg}axJ+0t`*p1ilY0HV)%(R)#(6n=E9{`leI ze3A`S7OVI)qNTpSZf5WzepgcHM_ssSl3-?y4YX)CMLd~Nqu};*wlNpqQau=LzXV<> z!MoHr^B{^?yqaKiZRzw_4}L~N+i%FKlu3viaxpe(Z4w#2)76VwmO+$NQ@{Pp9)T3N z_Scz3=8@PI{P^XHBZXF|tkb>qO;f?1_6N`0W3+7XG-=JTOmRTfNZ`oF&U`N~_vQ6! zIu>p9VGWU<_Q`b5vUaB+MnH^180;kFs*goTG|NHASuDQRU=#7AtEs%g zQcQKYw2IijCf>kcD(C1I_TA{nws)diULpl`{vc;TRzAE9hIJ>2M1MMpvp+A^Mobcm zkDoF>P;>_#CYdtuUFUnQv%Qd<(KQ)~Sp?PTtQvcHZDmb+p9r5HAI^>-JC3zXY8&pW z`o6+76h2_zdXCg>?XxyPZ$>SSFaMDm_WARROYrEfD3Nl@SrX)CM_pGz4!+EWZjR+t zP9z!_A#lotKJ{L^Lrc{`)8~6I=+jCEKgzP@GE(T&{0NO1vkG-=6IZ(*s$V`VU8zIA7zPG4;M%1!gorZ>KZxP7KZ zvYVHIJjMBY`82f^)$&wbEU1bR7uN+SkS1POEsT6GO)tk2LVk0{jxTKWZhw54TI2bY zQGi20D~3A0BPyg{?scs=Eas0CNV63dcrrt$`0~6k&3Ci4={n%`**<7<* zUNtv{o2MJ;ZX1zkfQvQWiOV)lYQc!;7{3ZAeoYpFSZPiVh!1REul&4Fl3OCudYX+L zj^sA7r!`8AvdR{H^8$iiOnzSb{e>6aYfP8?n;Skm6I~*8Usz*WJ&m*b+S7rlMspx}q~!$)-XRDzedb4{@GEMElu{rzC?(a-+}2%zHC;$|`+) zY5Zu?#@+4*lgnnD`~jjX(Zx~AxO}LtZ71_U;F3iZ)oLQ|NU~yPV?fdF~Znd z${@j84k3Hl`25&#c_gZ)F)?Gjftp+XYL$UqyD4LrM8pWL2rmM8`W0+}jAmMxbSN||e<)x=go4$sYs0^`{{ zVLwlJlSZhNMUQ!Vc>Gv$KSYk^Y&I4DECA)Al!x{S8y{0HiUK_p#}fTktJ1#pz?$1{ zEUz(@+ub&l3xlG@@1>DC2&j07`RCF-a{l1vzitc%l60Xl=hC^dgHVnY5@NeV^p2fV z#?Q<)MWxqwcexnj%?v667{FAx)Ya)MF+LVE617O{$||4wu54(EV1izGS{71dEh;D< zD?(?q#931|Ch|-(hT9U$VwtZ+s|HS58rpf{R@49~F4e=$N95~Aih38j!t@y?A$|W(~k*Y6MC*E#L@^A2K2#@{z239Z(e*-HFpk7ak4CSWtBPr(u9B3C7 zr}1HEe$<{c6=9;OfeOkxi*q1>PBE zn||$97WP}Uu?e#iQE=;4E2N!!RABk|NT^|<-|e9dXluQEwV--M^@yk4LG=y(#(I12 z&4KwBlOl7qMWgJ(UnHiq7855dcf7xXRjC_Uvl*%&D7_R$nMMdQZwS9a=Q5h*g@A&s zi^op1$LjP}%Y5^)v(exDA`hndZ3)umbAkiV>*M0=qshwR2ji;fwTEB$4oikwiaBY) z0SWKc2mz0&;nA0bn#iZzxBmUZH^?lT;LZqAbo8*i;2!e;EFA{hno&4d+P?JGIeR7M zjx`?MveMw~Y$pr`=1jITq4|xrp~cBs?>ufj*LOxj4V-mGAO!lYo^27oW_dhviaG(% zV;$bIhW#qJ9d21&I%Y82L!I0JxN>A=Xj>ShvHtF1!~G|yos;GIdkwngS7J!&yB8Yf+E4Fk0ee|vP6N#tA)rypW1J85 zE$L$p2pb{YR0%^>Z7n=Wc8o3(RRBTnWERcZOHyI*+gE$ztTqh}aSA1PU7ba)oz2kf z&*h0{2e$2fxRsPNk{TM(*1y{BH zYe%{tC$Z(Ty( zwxRV+2!PAO}AVudbN>)cgB+47?uTyLPJDjW#y+-H>}n^Pnmu|dz)kLt5}XKoBWTY- z+||Fil>$y(TfHi?SA)kh$^eGL{WGa!#=C(k#m2Sy9`sP)Ue?rb<1)AGHa;$Aj9GFn zE-M^dTfIrfKxfwOS$ZIQ(}#U+b}AdIxmVNJh_PHyezEv`!FWUT!th6s?3ZtErC@$CG0CO< z0*Q;+^10-mbI{b17JrHovmg3dduyU$`DjBRdRzSEBBBNXXp<1E^|p&`=?g+5W_iT zQ29incFKBAifVbo0Dr4Ra^Uu$5Pxa(n|MOjFY3&2@s!<=N*s`s9Kbl zYlFF%q2t>>IUB+(RVo+|TiJ)=clR=Vyy`1sW_!y0qNiS5m@Pz}uJEcFuirg!ur7S8 zt^motv9+cx6^`&>CT&;W{LW;YY(>kr3asNQWAB{k-TFAu9D^LaChaC8_z_53>0(L% zCGn;r704tOi{))a{CZV><7=Ilk1plU@ZKw)uE`{#%#-C}X0MErY;a0z_TP2^tq3RF zQ7h%!bg+`nEuT<4DS@}G@Y)hYC%$V48=>+RxP?ip_d~W6YWkt<#_6|r)64zh$Lgl) z(|t)n-VLu?g%n7_s&}sNZBx|rdGwYq4^k1}$~M@34oFERWJdk6!;vC<#P`xxWX&#} z<2O1U{*bEbwaXTUl)Dg0OKqvWX<)Qj_@-`hua%LZVQ|;eva(tYh^+5{=Z+ma1k_n7 z0IyKwSVAY@8Dms;#iMvA^{b$IQkv(v1*X)bb~9q6>j46|}nKEC|v% z`N=t1)2}2B7`!5(ph@&J%gxy;UJ{7&>Q>H8yG1syZWR@A^rgAII+QRcPr`gt|I=(8(zf%rJi;(bFxfR(ZXADOV3 ziE%V?CD>0>rQpPBC3BxRuI>1(<&@b%cwf;Q9L&|ZUshpcQn7Z6)ff^p@R5j-ef$v7 zIJWgBP5(k?+w^Xhr%vCA;2!HwMem%PoW$IkSr${f9E8!fuv_~l7^ zO6CQd7QTjfxBl97ownXe(nMk$PIK=~&@d!&5>#GbCd>CAyRNyN7dAWKV2Y_(Aw`T9 z+8YX}4kPK9#QDXsgfLhjH@Sss@p(qf(e8hCM*8&0z7y$A52O(3;PSIGehs0%?mnCE zxe9onk?D&c^{it@yY``Cg@~zdJ4^1X31~#Rpf!-X(&?b6kDVVlof?p|A_+EaD}uFm zpG#jAVm>_+NefW&IB&?-htwq&xmC)M8d0+cBn9Mq8mQ!DpvE@liZQPIpr1wKVP`xP z90WZ>1vUryG)4^StzK>X(?MV2p%adde9a_tqNkxqjsjri-P)^uo)wuocGejMu$cAi zOvuJ9B@Lq8qGx+S!<}s%w_^vpeOo0GsF*^&O> zuuI;R`5;>U$yZ6a$z5qJHnF#8Aw*YCz1K~^@O z7_WbGCZMPC`=4A0PL5sN+f^^;2=|<383o?Q9$N;x%D0+x;l_Ykd};M2>vd!RXJneY z5BUR9*w`C@T567dWv+1`xf=9=8v|dPguoRhV~zfNMcM_>DeG&u7RRs_*J$k zRx!NloGkxVuPR4x;ZQ}VRQTw7MaLiBuw;1)A0FyXL$?bZs$1_$(k(++$5m&#FT z_we4(89+tHJuF$kX+8{$N)EZyu+iE#4I|u9;RLmYVt*8xTmC3iDHo%7LOCI6A@@t~1>;Pv))d-Zat1`p zH<*A=lxrZ_)OH@8*q}Kx8+>p_I<~}2Y1vV=jS5#>`>MQnAN;YV6lGvYhd7>{yYH zjO22!B*ftn1p)gv2Qo%rti}jDP@}>&Dj0J-I?L66Z7%LA(N!}o(ea4%qWB!tME$h7YKvDFy$uk;|OINPs zXJy5F+9oAOuy~N>tvp`0f77j%f6`8W^VdvDPX1+8q}Rylt|_a6J38Sowuuw2tXKx9 z5+@^Xy9_I^uGa=*AU0I^p2KeJ`sBr$YLLwE+gn9jp@Rp=UWkoBZPJNK%Ti~8XDg!W zp8CYru1XrK1&`pHfq@MXV+U1g_4o9Fa>rtLZUj4`N2}L* z3_oxa?$h?->csmaRhE&Q@OK>mLjXklllPTN$I(-R=K&aw^nnl~3m!lcdc?+ZaD9Ez zEyZ(LdpZsg&Mo(9q-E}ufdHPw#wI&E;RAwXW8wCj$cmGul)eb5dO$DU3I4 zgt`AjReAyhG5hQMVj@EIKf~I-+8`Jc9qbje(S4V3tO`7JO zh`D+f0djm`1);6g<(Y?ZZp+QJLFih*C?~--IH=ym#k?AdMg0_gYHCU=V1NAPWLoLG ze zG>-?UQrA{br|o|w!LsyN(tn9LDB5*iC*h&&V}e#V`CWAg+Z%?WTn`$jpTG!V$Lwx? z2$O<+&_5a&7*w$kZSy=9f?p@juw*~s?fQN>i2$(9$TgBaWw&hkUFOeNw>`6Kb~PeR z7GgY>Zb(S7R&mb&T!_#qL&rQ3jEYrm>-A2`{k0LWDXqdremQ-YzHA{?L%uRXYe^a; zg4g-ttjm-#QY(^+99^~?Kmy(O1xm{&%^p+tTZhMs1#B;^CZ5C2Q9mhKN zuagZ69Z$@5=b`|X0Y~@UfzzzaB1BIJ0bBD#LY3S-xVKRLHl|lGH9+{nka3n1u>h>O z<}XVC5$qRFtWM{ehizCTOZ6~G1Pv~RpQ!=4J!C$TscUJk;tu`t7yA1h^dtjxQ&Zo% zA6+0yS^7Nv@=%4zayLotL5!rVd#USMoLm~r@~A2uU1}6k4>_RoaF)UE|F9H~-VmF# z3bzL>PoIIOc+n%sCA3d@hM$o7@^f{@B%JUETW%KouBJL%0BRNpLSf1Z=}4 z1N92x{OQ!Ro1k(dpe*ec2Fs=`SmB}xktq*Y5Xibd6=zysZ`gj=EiY;E9Iif+^=j(I z!e9tVw5nqsn$sewB6H9;-s8(s#G}PdJLayvb69K`DLit`8%l{}w|t=>VWd*NVIx39 z(srh)8-dA%C!?2}RGJ$W2{|XZ=%BBVjG8JGVg-?qun~L+63%Ipbb>K;(RYq` z5F_d@rkg$XJYke^+q>I&dN^A@Ld5GSbuMUGr6-7Z5w&krT`VVlQHK*R^@6T`t@BBW z*u0k3rc|V*s%l&?pzx5Wjm0n1lDIN&W*0fJDc7)#?SH;H4-CsB`TDaGIu2;^4t)5) z4{%2QwRiV~BNd&Y6>j+_%lK3~kw^>vDq$9I60gonl1I!h1=H46ivX}9Ztr*`pUTXX zm3jBB?qiX|EP*|H*|T6q-ul^nv~Na>QDim!qAzM{s?ih-o4`_~HtQe(p7HpU3 z9MldSanNJVrfS%CgD!iYFWN?h0pQ4q=`~R)L`{}+6^T83ETpvw z$a;Yd9MLo69dLWnK)2zRecX6GKtO>sd15JW)X9ICu9zk2Sw~VYrfX_JV-+`)Vw_`U zaCc5`tJt>4vjUrC=tdO_S{FuY2o{@om{JJzTS+e9wB7(%)ZAm?9}E<$P(^*2>+R#S z2{dj)1gr5}Ixn|rW!kWtK@a0rN6@jx-i)Kh#x6(N=1cLzWdKrNc6VQ%!R;ZBUKdqX zVq`_plGPbPvc=B;UNT*5017yEs1L+V2kLpYyrPCKixxa@A;hZ{+!P_=X1V2Pc+n&H?Z=tqEM&}XV09vh(fI)p-`9_ z=CwdEa^9MbLUEwZo;soBf*xpF7iw^6R(8aklT*+kYI-wn-+omtt`jMQUAiZ*+|fEE zIwcq$t`jG?mheQ3cGP3RS~q1mk%B$>lVgtalgg0DK+r8!DXw{#+rT>gqb9R;a zdkaT+?oC?kupX^HRK0QPeG0-pnwtZ!(vrKE%Z8aOvlJf3TA*{qOS9tW{JYedk8H&s z*(yR5!>=yPpsP}H-eFA3{CqE)zvdXPKBOa-^Y?D*$M-6w3e$>QnnP|W?^G_zg6?a% zIPmMDQX~5?4a#^}WRdNB@NF;oiO*fBqK$!p zbKT%*t%{_MQzDNN9=C|acFs+eh+|6s7~dyLn>@+|T*pG^az+jVah=6v$P zKEuH)o4v(2vaatuqTsw6hsQNBVLRVDYb=7>wj|-ZSSEIl{PLD8S;MZt=PiENOVQ0b zK8q7B3XEp!O+s%aIgxNdA%~R!?f;2$3$JYc~#QHq#N$6OuKz` z!RW$xbx>6E*o&O=Q)|COxeZAg{oKD7#AFA});)ZLWlmS?e879f$6hjf&(iRSVyTh8 z!U2AlzdtvrJ2i1P7T;svuyi56Whh(JreLvZQ}ws;;zLzAf>+#oqr*d76+GShIPJdt z(V1+18J<5@E;{;1aR+B_WOVPH@3uMy9)=5p+0Ww(EBxLK&n>rYS6=$_<7MUI=Pvc) zfwU_5_)*Of`4QqtlYZ+=|3T+gp^Zl;Qe1Kf0-+9#QD;-X@XGkBNand~jTg=Q@*X8P zHh2$vcvYV$?e%J`f2%ppr*>@7XNmo9>STgZi_Frk;tL9yhnIi$nul&RYQLS}()Ttt zSaC)~X}hAQLH=By<>-L@nxZfNip`H7{TU%#GMLq|$vo6fdtv;PmzvLi8`Okw#(@~j zhzL4N4UaR$6wOrHnvMm!nfiX$dGdfaRB@_(czM@@`qHW)kNS+pWl4TF_nU>If4kKC zWZm06%c8_k9WMk9HRpjT4__G?uf`iZ|NiesYd*KWdf~43qDgA(Zf&(ii8+6Fv6W`q z+4g1>#H&{wU4G^=d{b1%@y-sz#;0G!w=L)OHn>bR_2^wxp3}9Q3-7tHw&Q01plQ(} z`{T=IVbW&dQajm5kIH17<{SP!d3?Si&F#zn`78O^p#{5yp`n85!Xy3f z?D<^RT-B96{IhdnAK?RLWV?OECT0G~*zDyc*(9!_zyiWdq`)xuc*P<03dLpj)XyK; zWZ!H)iG-+YV7$+*p{MaADeRJ4m-vC6fwYn!*?FsX6Mlb86Qy;k1v(tQ4$g`=ci0<6 z3FZx>ACA38hkd(7i?Pyo% zK;Kw&Z=k1bZ{OhSo-11(Eexp#+_juO;cw>k^Y~=N_^+U%qhd=7)113@1WhR{FR+bH zcP(>Uw10h{P-&rGtuHrx-z)4T(=+{F{$9t9cT6^0CZBGe3OVWbcw919tmEa7P5x}= z-@d-`rCsyqw0m+!`%f-$2uC19+`^K-a+&S&NKm%rSfG2$SIMH<;m|dA zI-Hm9HF5VBmF+BA){M%nbD708wf)h#vTfaU$1tac*?=S~^AOj?;ojJYC&~g|@;pXX z%|=$5Z6_0>dr)Od;~hCIgr;16&)?tjc^4rhS4FxOoskKNujga-L>n;R5oW!qf1pzPYIu8zN}gGl9ynCc1)|idg1VFPlW#`_T`gSd2N2* zJSG*syYyMa_RLEzS96a}^4tCwC40Fx_Q_aSa)-i1&8N}2h{5MxV}ecjg-7{aMn3$Q z=AAEDo^Kek>++TT6H;e5cmJO`>9*R~jT@KSHuYW|Na;!n=x(=*P420V4J-1p%5CDY zYoF!)-BR1O$S%(@KQRAwrc}0Qhitopee-WP6~Dl#_)PkI4z^rmq$tG3*ZJMZ)RpL1 z!Tg_d0_AHejQo!7Y|pGHo~bp9crq?oD0UHbZe7RimatK+Dc*w0<5?G4?RtK@8#OO| zn{22`+9k;$T4et~_j)w9=_0$ARKw-|f&(>PkFLKN$>|CASN9k*y^|t8{8456q~^#O z_RP7ln9*xICK6r>1K}>^TMu0Qcz!fPT;@xW`m4LDa!K=34LRLDzKWyY#QqiArf)UZ z>ptFg`LU7fTOpHA8;)}chq-FE+IOTU2soSVl-Y5siiy|!YG=TYK9!Kt^-VA0MUx99 ztcM&Sl(y_AmRVHIoBA z_7ab|Box!Wtvw)}H@1`)=~q?d=Q5D`)^7B=PU*Tvz1=S_-+VGNyR^=H@$z1og&(eV zGXY+e{=Ih^Kacj_?Ek5}B(7~_9sOgbOW;Y-HQQ(MGc~&dT*LYh@k;XAQw^d7LrT@I zx_lVuYj_#rb$r?36F`8gSM@<%8ZmF_QNt7eck_gqmQ>-GlU=#nY%2U`%Xt;I*%~>S zgg$>T8=EG(skUm#H8eA}v9V1vW^#{$ZNp&Gz_e0syln7j`&>hg$;-=TPmmMmBJR)-|<3%Io^zQ?)fT4jGTAM-Dd z@mN0or~XJMevN5|$F#R)nq6&Kf^(}yWA?~L?_UG^{GFR5sgV z^lI^n+mXE;9?pe>@d-&^+Bxosd9`{3C8Z=SkNWk*?C z*SuGUEp8jwS30JCi3#Zu=%{oyb2bmXqdibiE&2XmXLt8M3Hm)~u@?E?a$fHnt4+Qp zTR&%-^D0)KYCcvteNSOLxGrZ++eMD~zjF~j0!ufN^B;ye%_>=C&gzUQ9;-X5xb<2E zS5?O{!Lcj7uIh1mx2;!?+o(ThOu^c^oZUI9ucS=n$LF?fT@$w4RP8CJHq*0hd||#L zwzM>&RZ3Bw>GS-R<#D^9fek)FK^2}wLj^ja&h1RI%8|U6UEa)07pZ^sSGDB{^_a>T z{Tu1uZEGSwTd#TG)B3J)k2Ytwg^{wx9=K#SN43Yhxb}?tadi=JUhwk)} zuQy~3^uMO#s`(?_Haursw7NGkw>MwXS9(~CWccQRgdyngWX^=_t!3Et%Nm+R6Jc38aIcezu|-q4|!dzQO9DJkiU zPBT~~=Et0<(c@Ip(o=Ft!=XrpvXn32`8)M5U)_tM3kSYdaGDHG7YHZsYcq8D@+Y6yk?_`Mjjfjj^>02YG5L0y=jqmi^SoDF zQp?WQ@o#io$hdq)wZNtOwRxKCb$)Lq-dB>#ac-`O$DiG4yWO&5G&5Sb)Lgb*P~g_X z0m<&=yx9i%-yR3tI86z&J-!ckLKQRT`*?R3JQ+1`$`Dq@zPv4FnN z?D}+B_O*R>!NyZf=DvltrBQ>C1q#oZI$xXJ9GI@d*+-AKeg07Nr9-OOX+F#(`cnIj z-ed0?uS}Q5a;=ria+_}!&=svxn4if0HRf&lM2N@#lh^d4A;ZzyuaYHCmgOZRHl8x`Ti`45gJX_8jY_)C92+Oc`qqq=XlYbbBG--4;< z^*P8jpJ=KrnGfXGZEVZi^`zXq)774vm3PeM>AH`W{OUZ(9^zT?t|{bj zkdfw~s zQU9!I+wPw3E~}I!f5;Q`O7Z9kxARd_DVJyl8tuV&=`{abdHcbHmEZ zN4-?T?T79h=*S;ex?SW}9;j>fI=ahfS?)Sd#GRjQD05!Yh*mqeh-BeJrY8TBkhs;})xBT7|s*wch>7dzjuYoN$_cDVAL@*PQOZ)l7Zc zQb*lom)DLjttuL;&-h1t!Dzd>{@CQ@8|i;+pH0=>^K-h6`7bk-^8aO;vQsF`3b|XE zuCS)V|I0_y>2|JzMjn%sAFg!FEJ?TTh|u*aI5Pd8O4lQ|<^4-7U6Cot0-L{a7cBMn z1!um2bW?ON0rBkWwrdcfs>=t?V-SKLs_)#DTDF!T1|`D#01Oche=5mmS1G2a$pgs z^Lplen$trQ*?H#G<^^YM&pQl3{oz%>o5lqw*Tx7gkEy zw8kmxn-8*IBTNKl&y|1O#S{>dmhj%_hn4rvdsnB6EfXgT7p}SvCWb#C>btsI-SIox z{rQv0T!D1ISXybQebsA$mPN}sj{w^nBNB#{Dkm(Sl<-zp&veRJ_7uhBoqfLdy4TwL zExqOTb3YAwr)o~JmxwpH)-E~d+xt!z&y3c&W;V=s@V0HL{ zm9OLO`CPKpW4bM9UA=?N^a0zj`NY{vzbEn=BQz~O^=D0(|LAA$aPX`iWH(EGFcjSL zrCm!Eo#$3$#KNVGyIKJ0@s;i2aMH07zU%1klPFk-Uxb=O-$U|_^^I@-U{$c0;CZtn5XMd8t1JeO|}{tl_m4Oz2J^u{|h%hnHm zA5bMYENGND4y)^!X>L&w@KVc)PD@C)NOH)KXG)TEw~3tTR?{!*H4lr3cvff>e*9@s z|CEt$eZqwN;zYNDw1S6$>w`Z*l}Q^FBLqT{+GB@?`lAS&>sIqvc z-=OZUk!$-qeZ4NtrjYHCTO|#9RXRq)=88EFKyWSQ39)@?bV*g`&ro((RqqFd#dh`a zDB0Jw$qKgq$LD@b#Il=Tz44OY)hFN11d@Mdc67W2-_^hM$`@lr! zy?%E=qm#LE?wz)t+-`%Dkx=?hCQ4g}N{!z?(Rj4Z=TOY2_kvTUa+-g?%5Jo(+)+UXHPER*9EbA^^=yqs@ ze5J%|w&h#uP;P&5xo9$1Z&!=IS-+Z&LETb#7FSA9N^egWd(phLSiwZ`k^TYuuCS&{ z9o`a!E_2Rl)kk~sbuFTu|HS%Mw-59#{qEY=`cC~pIN4XyF5cmDdvB9-drb~9WD~^^8 zSlB1)vwm}Kl|IToR^YULWDiq;ho|GMLwOnkASr;qTz;|hd{2}eUrsbi-tJ3Dmz(0!>Gmv6_2auseR`ixto?Ao zOF?G&Y`0?5wCw2H4T{0+LG7rSDSo#e9k06BZQ4eE3{xBU63VXYTzMYhRUF~>gr%wf z_>R!_fwK`#@SLLe?j`s0QLkLfkpO@9BNr3P_^16BGJ-;DLwE%AY}@2VHprOGUDe;_ZqlV| zSHf))yCch=>AfPa(!9E8^srB?{|R=Dp^3^bUM1Ww{ab8`cDIlEamU&Yd;Xh*AD-+I zD4i2nzP6;UF__risuYzGJN!6SbjGOpm-lSF(b8CV>SX4z;vU&HdH#x|?(S{#t%-q5 zozsaqW}cq8@u7vE@;~ol>*-2*Uw$sN{ZT`;W&1MTh<#QG7x6|x2uDO=d>0enpdQG? zVk6;X*+-b*osL-kdu*1w{ND7kg}bA->MoC<+Y2*xsf*hBr{>;Vgk!>VU^L8dZ1_!# z9Q({{cyG``rk+#AArEs|ui7pNk71_>f#L9F{2Ts|F4Lw<4gOvZZSIAQVvnU!^PZQw?g2BUe)`w-V;3bKWKCbwDX2>ulFqj*`D0SuR>Z$8Y5C1e zyR370_1Ss1_FR9}mRjynuA#avX>B7Rnc0bly;t95FSPtB>*x?q9z15$ar~JjtEy4Q zPs>^MO)5%XG9j~@3$d3P=87rG8JDpeS#m2W7UJ=?yKGw<)jOZ==4sw|Mn~Scx%=y7 z7o%g))KQU+in!?B#I4iQvhDI$XmChe#H$KNCB$&1rM%{kZNVw1=-~1!&xW@tDa?l@ zb$ZSBw?tnZYiUkSNxqkacXU40KRqJ;tceIJi z%*`n8%1O@X?(3~tU|q0j;{NF?Gjk@YJ*x4HoKuf=(dLMjnXZ7F&BL)B{tiriB?J5Q zTvdmQrujz`4YPdBBRo8FoxK#)6u-+E78p783XSIk-wFD7o>e+>>mepm#BhO5t4p0~ zz}+*fycWJi$2)@plHxpPPWG27L0_uXWS>BGWV|iYRwaP^2 zc8mGKN9+6Vu;z@Le{k!!DxA2N;~Kv3WrHGrh|O5eLacl&{&{zQ4!~~lpxLXd4|RX; zNGL8-Otq^xG~Jroo+}XQ`MFGXMt8eI&CUQ%;w9HLHzOjJ4|mA^kju->{q=d^+`!F* zq|L_$(k-J#=7DcOgzOK)_syPp)+W^gOM7@OTbYF3?z2d(ZddemaLh`u966vk-K1V- zU|+RWGU*M-=8_UJv<)hm6dhR|zT-7z=iyu0n0D(i<{yJ_)7 zebV#2s#Vhw3&WZw(PCCrhr7IAy%L-Doyv$Wp5RS=z-!Q{`YATS z{gAoN+qogQL3sK^MZCQ}xYqe{N8v#68J*(!D%sE;(=wkgmLYJj;THC?;hBws>=cri z1sQl=@|+x-;Z*lEUAlAI{g-L~59Iv}nb=WyKy76Y;^|=!|y?3U?Jrs{vtLvoZWkq{R1{9pFg&WR- zeYKY+;0AKn(!Yk>YKjVSgStNlzs4AiwLq7|b@IrLh<35Rmrr^ca}L!`_m^GED46-B z63I8{4K1XeP)9ujmk&*Lf4GB+zbwn`JU;c!|F@~%Hd%>{aw9r+)osqjm9kfO^9J%w zms|$f-@PzWP;K!VS#0Z?(q9g;RabPlk(AS2UcET@W|=oOVlH{XF85e}h2}5(qE`Ta zx8h&%u)I3ImOs_D*+b(q|!OUnIK zJ5ynPTzYZlLusgO;hnC(MT`5?jw}t^4IJ>QtTu%5BPQb5vvs|d&sgp))TCe1_SA`L z{O9u!j*Zp}h|Cgy-|p_w7`7`h=bQZ;f7W7VOR-JI523<^XvwMIW4<|+4MzPLiNiVf z6x4fc^D4D%6#F8o)X{ExURLeI5f5PoXIoC1H<)Q-3b67!amKd@4$||M z`c}b4m)h@yB%jK?D?hWfV7f}WXZtsgKY7#q)pM*-!#2Zwb#(04I30pb9WVd91Hm9R?P|bAs&g>GQMk9dTn+(bXRYV zm304vC+jkXP3&K<-$y+LawM{@wWbO4a|&u$!Ikrm#S1$KW-MDC;Z9=4D-?8=)Hh{} zt>ci^I47Olx4 zDD{f;Bh}O-^+C7)vEf47lurYecS(CAmaPVIzp4ckcIB7v7nQwQ{8-zkDJvy5+*1a+ zpATL+4;`H!8Vdz}(VJnw;k!i1X1MFbV$^ol;7P6amHf&1b2pJGinV@DXWFnfA%}%t z>bbwk6>o86;fN!`CH;pOz0JrSeg4kQ3tbpaUVRapJj-)k!bjfoV6x1TpPc3im8@ky zpHOmF{27XHj*Xf0!X~+76HEf&Dw!T;EI_uRYw_TEmttcZm%rj@eM*(%tx4>aJAYne z&-#5iFddp!CU0MPp@2ybIyo6IFk#u`C>!oc#wg^hpK{+;KONGVKk;D0*`8qcxp`^ zlfmO8q|7Q_LC(VTE9|Rkg)Li^th0}RtVFo$T+$j&({hG`x-G-CuF;9hY#waw}1+^uFIxW+_GOkhy<0_dW3#k*E+45fe z5G+Vdtyvf^4!ztN2BR(Ql~X>rw@h5>#>Viz@isSPdIwP+kxxSc{e9zpK@@wrsW62? z{Z-&;<2X5{&Nuf5gy|2%4}^2fTJk8J|CD)7&{&Xvt;)fH55epH*vX}|ie3k^C%s(! zTB;;h#${_Xaj2oUKMxT4m~~kg*7blM$8o{%&4L_x) z1{gAxqzXdZj)~uc=(-bx-}z)aU4IP+^dxKo;wA_in}o_%%qWtCFK6bsp@Bo$aFk!A z_?^s|>jF*{%g4)s-C9ZGjk6tr&TTKhiXM28XoAiT zRM0rQikyA|)?9PDB}NK%8pFctML?x9rpis&dKCtTz=##L^Mk{{ZVi6)3-X4dyd`xX zkCMm!+lFNhJc09F;qwpz)+3qQSa|BGI8lza0^uRBdH8DkDTMWDZVg`Q+QbWBnG5^M zkVt_d{9=iFOo7>!hroWl*dywSr#EY`k>A)74s>}*WlpNApY9~GB5Q2P1iIBhVY-DK z^hgT`{Rz-FOZU*}9DhUcuUR;@yaD<@M`FqAQe>%NLECTMk^}VH$IKZt#SsfIX4_r> zegAP`+PY*w;PS9a$NW+9dMA2T)AwP|@#9slzB@xxpS*$y9s((TuTM5sn2|jm_X&f! z^+{`^STKGSSoL32AIczgST~Q0hF;Um0%{#u1q@H&-w($>+i3nOL8LvKMEVGW(f#?9d6vvyWu3;1N5{1 zKHN#+kC>9kjVawzBM4w*A9mZ0&TjgzbT$1S z)<7{7Z>`1!>Vp(c8W`Y#RSmxK-?~+FDHD*r*g?%I3qMQtDa|%~KtJqSB~)`9eTV@h zQs;mkh*tyK@4$4gXeQ+f^ofT`i0v(zeCW2X;evJd`K(2BC1|s3q1nDh4Ct4il~Qa_ z$qPOr+qmWw(4V||NVP%mK4UQo-2mu0;Yu`J4=a;I5JhSnfZiLm7KuJ&4qFoO zsI2?niO7?H^d6cM^@Me*Not+(I=&4vNDsb|Hy1*G!3%@Tl%~XI=k&xHw_2mut4x*<`P3W7n7o>LQ-DR zSOZI*QPrkIPO6&B>E~g=t%-z3qMa@@*^%edF9JO}DV620L?>h1(gV9^ZTT?*cHh;x zW#x@TM1NbWwLn=fVN5#-@i=|ZKT|5?KBE8H&EzB&k*Y=lgfXn`rs!|Wlk$LKpc|2p z`Y2gxQr)A#Bu|0hAWY)6^jphN7bG1ckFj>{c)WyR?>B)GEbN)xJp9F`_~h)zah963|k{lMZo{>UC>AY=P>*Yv(%C4~*) zXX(H~JVg}8?AS=Mz8ra$(Qn{=;OxHXRS4br$Pdkc^eo@zQyxt6jN1rz43Y(>n<3t$ zZ5VzUIuT1j>XKdA8M7NF$dbK6zflB+^0Yq$nT|8MpU&v-V<2yGdJZQFu@Iw83p{@V zfxPd|IC9Y7b}+qrO_As?5y&UpHObqS;L4&)vCZFiK)&piM%~Shn^M#eyZ_Aw@+gl8 zEgZuru_zcGw+URl%i+WZI@&Jrq=2JXVaM@CZ7QcB4RS?Qbiyt;z0lc53N#qAwo9BT z;s1ae9^8Cn!e~K_9fbc9PoX6Al^n*#N7+9cpX2nch92ydd%~gg>I0 z2nFz3Dx{m_7jUUyMU%;s(iAJ=E@9u1V+N}*STRY6m8MUi5s4LE&_E7`$A%X;Y4F6o zW~zr7-xC0$yE00b>At|0?<3yCl)(1!ZrS!?1wVosGU!PjJ?H^BxN#{n8fA=`tKcF! z`|pm6v`Kx+Zx5d?{{=Za^&0_V2^?h7eB^yi(-_O_0}T14e+sVoK@N&^DIS0=*y^74 zahsf`)8Ge@XJCsco4Dw6n1+8=WWXUw=3VJiN3rocjk#A|c#7B}S$O|09B}~CN5{NK z6ma>RDe@Ey{D)hEwquEL;Fk->BFWi`NF+X(;zw)>!+$eJ8fcTrRi!II1ueJLe$x&t# zQ$0Dmhl=0~Fu#x%NZG4UxbTtng31w{ZLoNe8jm%&(3Gvx3(RXX&VQhaN2p?pL(Fm= zw)WQ_($e%4!{H*S6_{%QbBnG(RXTj2y<{e&aRr#?7iiMJfc$olN6P3enB`)Y`Y40$ z95*6xP3D{NU)xVi(wUPt?MY1JdeVl~&=St8 zSJdz=sG$wa--T%+pOr8>{6h+*sD*n1T5gtA?oa{1#4W$>4*7b)_)5jh%RFH@)kvRdXpDyqeyKN#0##A0&soX~T7dB+jYHy;sD4<7bc14hJ&+}1 z&Vm-z)382dg>9;2&1(QOK42)X6lT0{xP@01*|2=yJZ)ur!0F_ z1__NpNaxmBzVV={P4TnFR$zQE(Q4@*pEEQ&fe{J&;dH&!7n5;VlcdY=f)=EfNxCP+ zAK~n=J}cNKx`It6U2nok;G<2NrN8h3Hn?b$wl~;>^qDD?YFLiAc(BR$Dm`+Gz~>a{ zDCGs*1F#9JY$GL%Bee-70>ncY*U2l=rXFdB_ji)b5Ql{ESsr~siY7SY8)#(&D;q(U z9l2I3c)Q2)Lm3Y}7i?$n;bw*~J|Sr=N|*!ZPxfXoHa==}NaK2-f5y!$q>D;7OXmhc zuEJ(~e}i2=L(m7#Omo0`zb2{ zFoaxC(Xlt362rYPnbcE78XCox^;RkrT?&}wDR`L#a{qVR1geU;Obg^7p8@c;Y`o1z zD<4lufn^}?#CFO#wNcMuG-i?~#TA3SxnB^~m_GWF;y%Eph7P)auZ9sot*{{L_KKAz zIa7Y=!5+@ADJr1{MtEG9kehr7l{7C(nq#nrpaweugs8pom9aL!wK4VW!1uR%tYplH zWWHbvKIy#Siwg9l0wIS1S(q|48#UC?2~;!Pgwm=pd-kOo0wO3uD968sEm)#` zF$+wE7)JmtiWr;Fj99{p1x1BipP(@r!yG$NZrp$!YE&{LA-nxwc=qVMV=Jb-#GL|J zQ7%Yf!&1b6S`7uX=&qWRfJMSjIP+IDiQi)^UI34`^M|iaGo-QY>8$7()jcxwMUfvM z-|geZC;T{JNsDmgUsKzD@pk`SVtkxf1*QwjGfK|TUn$Pe7-@(>mP?qFgN{qILOaVYVSj_pZ$$mQ67Yf zyNk*j0%_u*w1cuF8>hsV;UIx z^EhNTCO?LODQfvadmJ&$Jrm@(Dindrh>jZ$f6Lf zFn!dpu@=I`y1G`e*VQvb2vFA=QsI`5t>I@YRt`P{ZfgKCYg&G2 z!mY^)JfP{O0lwDYKgJSx8lnzuO(bGN7hdQZMC}q@jg=iqSPQsb`|oz(O{qJmDiaTY zpAHBsBYPBgfJuvn_Zzy<%z0H#pcozs4{F=#A^4A7`D-d=MVuX0iz4mAeL&}|_(``4 za~uKj;X_HFcT{YpOBlv21t0oimG%gt{2y1IrPHx;LdFojlpwbIYgOG@p);o&k$kX9 zJAsa=e#=1TxDkubQ4$7vRdo|1U9g6qaG`n^%0IXUwTiB>mT-Gr=RxL#04lsFj$sAf zy#H<3E&B2Ds>f^Kcx=snvD=$ge^C9nUIoy^6LgP->oksnOiEZ-4_8C{Nw2zCIR572 zk&>JGybliO=wMA`cb!Gs)4<8>a~|lgL(-5Z$t4Kwd9XeIfiO-oq;Yvn6;vGhC;{C! z+@7+%2~#YuC=CK1NcH)Jh;_7WKgc1q4sov!qzL>4Z#K~-(GxXx0Q%w6;9J(n6LdOr z`Z*G`GY^AaHZP;>R_Giz3h|p*4qpKJu9!CrbitbQXj5s>*Cr|U8zUV@Jc>~jIE}KA zdyA&YLpCb$v3}HzZdxw@^M{pmnoEnGwUYf2_zzSSr$b`6dnuoD(+sEtvDd$~>h&PE z)HW(?$p%*v0{YYHFW6=wV}6F%rX&h^FmuedZ=5E{McZyZ3m5sgo!ix&)- zmM!}xf;>qsOsI~dHJB;#H(^St885xTOjaB>j`g9Gtt$;?vg8Ca<}KtbEEx6xwZTl` z9LaeLN#+Dxzj;-I znfwcpySUUfw>I6cr>scx-3z!(WouQ6UVT=NL(u5H%=b12qr{l)<1`^Y#@y!f!O^M{ ziji??KsWQ|^G6ZBv27vme~O9NfDaFm?-|G(xoM>e##sWrA)AlfNmJU}Nx7+jK=c*p zFTe3o`Vi}NNYvsRCkp(v`}nBc(HjP&0E%x);P~_=Y@nr9H%^fbkevy4D%q2zX0(mS zvBiLdq)6$=24G8LXuYoAV+>Jg5RQWuA!|k~wTl_E5oC~7da(>QBluidU0RWjK|wpU zRHm2!MXr{V{i!ZJLsSAz*ikls=@ftwM8aA(AgV4#{h+7jG3bQHeDI? z_fNZwEJpM~>(h3EHJqv~O4hr`dkM-Ed&;IFh5`Fy8I{zt0VX&o7r!^sAU>Mis-y9J zh9_^&bR*zil(Ut_)sZ*F6Bs$1f+UeS?<|ds?GrWr1LSi+4$QwpCo|VyAO*8Hz{U2E zVBy;pGDlnx{=1Vlklz(GF^~l{cnN;Vny4WcHm=o}9_09Ig|aDQtz^hckX>^SjXrYn zZ~bxwrHx110)vS5=GHOom{l1oF%h)a&rww(>XVYGPDX%`t`BNvWy7W4W8;-|iEH5L zbv3GI@wft}cl0<0;T?0!ytVQi9KX4&y5#N)Vti8|m;F^GX97^Im{1M=9LU0xm6QUf zZ;x>zd0irM&HHGZF(t3Z5&1FNWH5z6)_bgD4LymEmoWB#7ewwuCGl8B1Q}?dyq}AK z!XI}5!1bTQKMW^Vyoj+XmK9E9-ngyj81I+#Fxr~PJ)`cT#s)_4$M4cWCI%i@KDkS? z9%Th?%-{x6qAuY8qk{mrh*j2{sgx@|LVk`C)F9d(1?Kisjv-C1j4#w6clwbFdz1a~ zs|shNOHsE&N|7MPtV_LW2FnvLkPS24xVss0+D!a+8XB3oPQr1bB%lS}C&aVr(gy~l zK$fd|Z#WR6#D(LzsV|&{&F@{mA%naVp+TWbx%Cox1y)RXDDsG6#khxfav=iwAhz?@ zAV6FY(Vhiy@C z79u*)I?RM$kP4R!2e8txLhUf0gZwS%Kh>x7vYpal7V!q=FV)^Yr{N#&ouI=^JO#|3 z1V?MpWQL`m!f4EGXvzHP3%W^Tjx4RgMX3G06BU$nos}^TqX+@ahh-Z1?7PV%9SIuAQDiD7YZK@7(d89oOn?L`6rh;j*3&OHrbe~jO<)dj}0K?W?L8rZd04m|UtVKJu$p&;{3H0PgXHSTy zudY^aoHBMmX9sNEPHu*-EWj!Vx!!*)v{4fTE(pTF4S#wsecOMD+^!}QL7#I%0F-#c zr{aG2bCf5^#u5nupk(^J4T5_~hO~%yAArIV5_1iMl@m2yDOGO+#QzM0!~;-j_Myoa zq=@s*0mOqc9a)in5Mhe#6}83?fkV=ud+04PiwTE@Cdq(;>EFQo%eFXo3JQq|7&F8Z zgfW2lpW!$3Sgt2-j69+Rsd3V&ZQ?7j+!3R+7Y9W*=GG-S3x-&(x6}AMh8tp;X#IH= z##jzHT*6C`CDBuFRV)t{(#WyHc9v(<|6eRuB>ZIRTvAF|J$1nxh*UF5&sP<}$SoRN z6tv_y>DU~nXhZ>YAQavbj`Lg{tA}7TkW2W19a@S6C+1fxok|=Npp*6RH;Cjn67k>Y zJ24(MxK5CI)zR=eSczkq;%p}9PjtYngzQ6h3bx|{nJZ3Sw3*^)eN z2*YCLWOY{B%aoM#)23Tu8Brcak2PIoN=iD_^xh!Il7eyxh%T2NN?A5x}%T5OmY6WL7n}m#w8&X z#SAooIUWP!Z{`W~16uGrZqEZ+F95(i$aHfD-m=4ERl6oG02Yoko4y<$OO=x>K^$@e zp5UZEuzKi4LlzKjvm@&Y<}7Jt1K~D+n0zvA&sgfAu}zn?54u&2X~Wv8c$^2*J7laK zSwTY|SY#$<-9k`+6d`2!!8icGp~4Krg17?gJId92J=}jM&9afk$WP%6vF|8(1~ci( z8k$-A*mTJqIQW}jw;pzS(Y3flo_1kA4<3s>N_G=f0A$()XPgT?&#;ec7~*LBUSkEU zE9_MTY3g(ng%?DDcTxUOg{>=w4^_!vr|1%QmlV|CvgaShR;^pe#D_J`+=kCF&KjnimLTFXBl0zKt#F~D!)UgEz~5k&tEos8j2 zn^HEC#jJtEYDn}K?Z%$CfPp(%Fu)>&j78#)Q#2H6n4uBxL8*(*_Tr_NyO7^#;=V)6 zR0MjIXH3aGGwOoZIW;8dgUe)|6zk$3SChLB{vi)8Qy(U4v6k@0l8ZLDyy6Kh9I+Oi zjaf`xWmt|IV3*cCpD`OF_b?iq<1ZLsnlzHKdb$NgXa|$qvR5-}!FbUMa}Jm1(3Ic1 zc^edadH5B0GfzNQbUM}qDaXr2iS!#W0vaL;+Sm%&;Dm#$akQZTxXnY!r}!$6btD>K z;;AuYEd+#he^RLlH00BAWU!Mopxv$U&lD}BJe4GpdmT3*a@wH2?4+0q{BW8_0}+7_ zaK6p{_DWJrFky{*iXuFOz4`F%_A@j$!S?!wtv_je1lZq7r%q2&v?csvj=S~>>Arv1 zuD0?#vIfT%&kfLhuMCCkfU=Fq{u1Jf(?UtSDSAfV^av-SDi|_^*dpb-kHL)4O{b3O zm+v8JGdhGercb!d9EWtTsH&}u=|i?&zj95$Fs4t;#_Xr#opDSb=CGt`C-bT?eUX>= zn^bLAkLlCqTu_9c5CRy+^oiq`{p4eO699fU&YqPfAWoR60-6Ve00{oO?d^GJbQlF; ze)R%H*aRVMcZ@xCWSDF(7m_-|Sb7sWb~4$6SDQBe4!EM*zYw{iN}PJ})Zs;%ZKMA%66GB_z5DlEnKF~?x-x*p*c0VVk znY9sxg(xaa6@onc||GxeW3NkpGX|1;VF?<3jP)< zbj?oy>M{TAq~l3%pRpA}R|dLYBss^Va86eu#Q_}(Y8$?20{wYNb~Ev#%!eW8vWbaF zWuObfK>Kd#%RoOE_mh#1BW}f13YWQyFu#Lpo$X)+L zGZ+$X@nOarnbWt1ixfuokPA}g^lSLhX$(PbWlkSDj-@LX-wbp5xPGh;ty)|)r%%vk z-a@OySI_BJa!XPBA2qAz^n-jK8RqnBUE0EG z98n)@NuGX!FIbRGLFSVPp;+JC@*0`5lsuaD8H_lrt6y%3WIpgDd{a|K4p9Vc2o#At zGRLW+P-kH9xNUHd$Owke%TZ$~^gO%?ctK|?RFO+r$}2TRc<42xBbeWo@q{J@tnyd1 z^C)~-$4nZmm!Y-h$lIiyV6J7NOU?!V;^AqugCtN%>jUC|$k%v%! z_#BU;W1kq0X*dnzv*6>8>Hn-`KiGI-q`%;* zYMsIO0&PgY@id8&$Wi#vhxBoiOz&tz%Wx#F4C!lKCNW%Bz-y+WD)rni;JiZg4SAn_qj5LepDloxWCkp3VfjP$lL1t#VDi8k=T zfapqFnJUI{G&kq!wldj&$aqY~>b5dv<-n7~nMMF#GWWrt@Sc*#$!}Kv656E!vt)Kc)xc{4xIS6OQ^}o;f zSU3PdD~LY_h!2XoP!1dzM`U2?2xSm{3gk913u>fce|zXv*X<{mVQoPIv{fnqGM2s#W`B;;h;?#06ySlltESDTiPHLj;M+0hCiN@4$Lj|W2px< zVlL#fOTs}or>_r%H`9Ot9FXala}vNjpHRM%s(}h_*m6a0l))0e9-6^dkeCWe#iLqD zGaDK43ky5|94NQ1UG+sP9`^(RjdX%;bo@hjh6)`34V-{qze|4SSv?vPs0N@h{K|En zRuiUJBf4O=ikkH5<|P2(TEM%oOk>aznlgQ-Dx!Axl~Q(izm uwuB491uql|wY>Z>Q^yH@Sc|}S4QklS^Y)Ev7np#8I(u5}RMJ1jcmD^M0}jXl literal 11334 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 X|5;!awOQ;CjF8r?vRawEf_3tLE90Z@ literal 7191 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 diff --git a/packages/shared-components/src/room/timeline/EventPresentation/EventPresentationContext.tsx b/packages/shared-components/src/room/timeline/EventPresentation/EventPresentationContext.tsx index 3d6f6935bf..fdc239a75b 100644 --- a/packages/shared-components/src/room/timeline/EventPresentation/EventPresentationContext.tsx +++ b/packages/shared-components/src/room/timeline/EventPresentation/EventPresentationContext.tsx @@ -37,3 +37,20 @@ export const EventPresentationProvider = EventPresentationContext.Provider; export function useEventPresentation(): EventPresentation { return useContext(EventPresentationContext); } + +/** Returns the current event presentation settings attributes. + * + * "data-event-layout": "group" | "bubble" | "irc" + * "data-event-density": "default" | "compact" + */ +export function useEventPresentationAttributes(): { + "data-event-layout": EventLayout; + "data-event-density": EventDensity; +} { + const { layout, density } = useEventPresentation(); + + return { + "data-event-layout": layout, + "data-event-density": density, + }; +} diff --git a/packages/shared-components/src/room/timeline/event-tile/EventTileView/TextualEventView/TextualEventView.module.css b/packages/shared-components/src/room/timeline/event-tile/EventTileView/TextualEventView/TextualEventView.module.css new file mode 100644 index 0000000000..8e74f81589 --- /dev/null +++ b/packages/shared-components/src/room/timeline/event-tile/EventTileView/TextualEventView/TextualEventView.module.css @@ -0,0 +1,25 @@ +/* + * Copyright 2026 Element Creations Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial + * Please see LICENSE files in the repository root for full details. + */ + +.textualEvent { + font-size: var(--cpd-font-size-body-sm); + line-height: normal; + + overflow-y: hidden; + color: var(--cpd-color-text-secondary); + + a { + cursor: pointer; + color: var(--cpd-color-text-action-accent); + } +} + +.textualEvent[data-event-layout="irc"] { + padding: 1px 0; /* add a 1px padding top and bottom because our larger emoji font otherwise gets cropped by anti-zalgo */ + display: inline-block; + line-height: 1.125rem; /* $font-18px equivalent of the legacy --irc-line-height */ +} diff --git a/packages/shared-components/src/room/timeline/event-tile/EventTileView/TextualEventView/TextualEventView.stories.tsx b/packages/shared-components/src/room/timeline/event-tile/EventTileView/TextualEventView/TextualEventView.stories.tsx index bd6e76fef4..62a83b8819 100644 --- a/packages/shared-components/src/room/timeline/event-tile/EventTileView/TextualEventView/TextualEventView.stories.tsx +++ b/packages/shared-components/src/room/timeline/event-tile/EventTileView/TextualEventView/TextualEventView.stories.tsx @@ -6,6 +6,7 @@ Please see LICENSE files in the repository root for full details. */ import { type Meta, type StoryObj } from "@storybook/react-vite"; +import React from "react"; import { TextualEventView as TextualEventComponent } from "./TextualEventView"; import { MockViewModel } from "../../../../../core/viewmodel/MockViewModel"; @@ -23,3 +24,16 @@ export default meta; type Story = StoryObj; export const Default: Story = {}; + +export const WithLink: Story = { + args: { + vm: new MockViewModel({ + content: ( + <> + Dummy [🤒] textual event text + with link + + ), + }), + }, +}; diff --git a/packages/shared-components/src/room/timeline/event-tile/EventTileView/TextualEventView/TextualEventView.test.tsx b/packages/shared-components/src/room/timeline/event-tile/EventTileView/TextualEventView/TextualEventView.test.tsx index 3a508df56b..6d7f5ce755 100644 --- a/packages/shared-components/src/room/timeline/event-tile/EventTileView/TextualEventView/TextualEventView.test.tsx +++ b/packages/shared-components/src/room/timeline/event-tile/EventTileView/TextualEventView/TextualEventView.test.tsx @@ -12,11 +12,16 @@ import { describe, it, expect } from "vitest"; import * as stories from "./TextualEventView.stories.tsx"; -const { Default } = composeStories(stories); +const { Default, WithLink } = composeStories(stories); describe("TextualEventView", () => { it("renders a textual event", () => { const { container } = render(); expect(container).toMatchSnapshot(); }); + + it("renders a textual event with link", () => { + const { container } = render(); + expect(container).toMatchSnapshot(); + }); }); diff --git a/packages/shared-components/src/room/timeline/event-tile/EventTileView/TextualEventView/TextualEventView.tsx b/packages/shared-components/src/room/timeline/event-tile/EventTileView/TextualEventView/TextualEventView.tsx index f22c0e5edd..b9e9d1e5c9 100644 --- a/packages/shared-components/src/room/timeline/event-tile/EventTileView/TextualEventView/TextualEventView.tsx +++ b/packages/shared-components/src/room/timeline/event-tile/EventTileView/TextualEventView/TextualEventView.tsx @@ -6,15 +6,22 @@ Please see LICENSE files in the repository root for full details. */ import React, { type ReactNode, type JSX } from "react"; +import classNames from "classnames"; import { type ViewModel, useViewModel } from "../../../../../core/viewmodel"; +import styles from "./TextualEventView.module.css"; +import { useEventPresentationAttributes } from "../../../EventPresentation/EventPresentationContext"; export type TextualEventViewSnapshot = { content: string | ReactNode; }; export interface Props { + /** The view model for the tile error fallback. */ vm: ViewModel; + + /** Optional host-level class names. */ + className?: string; } /** @@ -23,7 +30,12 @@ export interface Props { * This view is used for simple informational timeline entries where the * content is already prepared by the view model. */ -export function TextualEventView({ vm }: Props): JSX.Element { +export function TextualEventView({ vm, className }: Readonly): JSX.Element { + const eventPresentationAttributes = useEventPresentationAttributes(); const snapshot = useViewModel(vm); - return
{snapshot.content}
; + return ( +
+ {snapshot.content} +
+ ); } diff --git a/packages/shared-components/src/room/timeline/event-tile/EventTileView/TextualEventView/__snapshots__/TextualEventView.test.tsx.snap b/packages/shared-components/src/room/timeline/event-tile/EventTileView/TextualEventView/__snapshots__/TextualEventView.test.tsx.snap index 7f0a0ff90c..79ae9ad3ec 100644 --- a/packages/shared-components/src/room/timeline/event-tile/EventTileView/TextualEventView/__snapshots__/TextualEventView.test.tsx.snap +++ b/packages/shared-components/src/room/timeline/event-tile/EventTileView/TextualEventView/__snapshots__/TextualEventView.test.tsx.snap @@ -3,9 +3,30 @@ exports[`TextualEventView > renders a textual event 1`] = `
Dummy textual event text
`; + +exports[`TextualEventView > renders a textual event with link 1`] = ` +
+
+ + Dummy [🤒] textual event text + + + with link + +
+
+`; diff --git a/packages/shared-components/src/room/timeline/event-tile/EventTileView/TileErrorView/TileErrorView.module.css b/packages/shared-components/src/room/timeline/event-tile/EventTileView/TileErrorView/TileErrorView.module.css index 3a18833f7c..7e0226ed4b 100644 --- a/packages/shared-components/src/room/timeline/event-tile/EventTileView/TileErrorView/TileErrorView.module.css +++ b/packages/shared-components/src/room/timeline/event-tile/EventTileView/TileErrorView/TileErrorView.module.css @@ -1,38 +1,42 @@ .tileErrorView { - color: var(--cpd-color-text-critical-primary); + font-size: var(--cpd-font-size-body-sm); + + color: var(--cpd-color-text-secondary); list-style: none; text-align: center; + + .line { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: center; + gap: var(--cpd-space-2x); + } + + .message { + padding: var(--cpd-space-1x) var(--cpd-space-4x); + } + + .viewSourceButton { + appearance: none; + padding: 0; + border: 0; + background: none; + color: var(--cpd-color-text-action-primary); + cursor: pointer; + font: inherit; + text-decoration: underline; + } + + .viewSourceButton:focus-visible { + outline: 2px solid var(--cpd-color-border-focused); + outline-offset: 2px; + border-radius: var(--cpd-space-1x); + } } -.line { - display: flex; - flex-wrap: wrap; - align-items: center; - justify-content: center; - gap: var(--cpd-space-2x); -} - -.bubble .line { - flex-direction: column; -} - -.message { - padding: var(--cpd-space-1x) var(--cpd-space-4x); -} - -.viewSourceButton { - appearance: none; - padding: 0; - border: 0; - background: none; - color: var(--cpd-color-text-action-primary); - cursor: pointer; - font: inherit; - text-decoration: underline; -} - -.viewSourceButton:focus-visible { - outline: 2px solid var(--cpd-color-border-focused); - outline-offset: 2px; - border-radius: var(--cpd-space-1x); +.tileErrorView[data-event-layout="bubble"] { + .line { + flex-direction: column; + } } diff --git a/packages/shared-components/src/room/timeline/event-tile/EventTileView/TileErrorView/TileErrorView.stories.tsx b/packages/shared-components/src/room/timeline/event-tile/EventTileView/TileErrorView/TileErrorView.stories.tsx index e7999477c4..db60b2ed4f 100644 --- a/packages/shared-components/src/room/timeline/event-tile/EventTileView/TileErrorView/TileErrorView.stories.tsx +++ b/packages/shared-components/src/room/timeline/event-tile/EventTileView/TileErrorView/TileErrorView.stories.tsx @@ -11,7 +11,6 @@ import { fn } from "storybook/test"; import type { Meta, StoryObj } from "@storybook/react-vite"; import { withViewDocs } from "../../../../../../.storybook/withViewDocs"; import { useMockedViewModel } from "../../../../../core/viewmodel"; -import { EventPresentationProvider } from "../../../EventPresentation"; import { TileErrorView, type TileErrorViewActions, type TileErrorViewSnapshot } from "./TileErrorView"; type WrapperProps = TileErrorViewSnapshot & @@ -59,13 +58,9 @@ type Story = StoryObj; export const Default: Story = {}; export const BubbleLayout: Story = { - decorators: [ - (Story): JSX.Element => ( - - - - ), - ], + globals: { + eventLayout: "bubble", + }, }; export const WithoutActions: Story = { diff --git a/packages/shared-components/src/room/timeline/event-tile/EventTileView/TileErrorView/TileErrorView.tsx b/packages/shared-components/src/room/timeline/event-tile/EventTileView/TileErrorView/TileErrorView.tsx index 6c3b019af9..873669e415 100644 --- a/packages/shared-components/src/room/timeline/event-tile/EventTileView/TileErrorView/TileErrorView.tsx +++ b/packages/shared-components/src/room/timeline/event-tile/EventTileView/TileErrorView/TileErrorView.tsx @@ -10,8 +10,8 @@ import classNames from "classnames"; import { Button } from "@vector-im/compound-web"; import { type ViewModel, useViewModel } from "../../../../../core/viewmodel"; -import { useEventPresentation } from "../../../EventPresentation"; import styles from "./TileErrorView.module.css"; +import { useEventPresentationAttributes } from "../../../EventPresentation/EventPresentationContext"; /** Snapshot data for rendering an event tile error fallback. */ export interface TileErrorViewSnapshot { @@ -55,14 +55,11 @@ interface TileErrorViewProps { * actions when their labels are provided. */ export function TileErrorView({ vm, className }: Readonly): JSX.Element { - const { layout } = useEventPresentation(); + const eventPresentationAttributes = useEventPresentationAttributes(); const { message, eventType, bugReportCtaLabel, viewSourceCtaLabel } = useViewModel(vm); return ( -
  • +
  • {message} diff --git a/packages/shared-components/src/room/timeline/event-tile/EventTileView/TileErrorView/__snapshots__/TileErrorView.test.tsx.snap b/packages/shared-components/src/room/timeline/event-tile/EventTileView/TileErrorView/__snapshots__/TileErrorView.test.tsx.snap index 61ebdbcc07..4d623a5d2b 100644 --- a/packages/shared-components/src/room/timeline/event-tile/EventTileView/TileErrorView/__snapshots__/TileErrorView.test.tsx.snap +++ b/packages/shared-components/src/room/timeline/event-tile/EventTileView/TileErrorView/__snapshots__/TileErrorView.test.tsx.snap @@ -4,8 +4,9 @@ exports[`TileErrorView > renders the bubble layout variant 1`] = `
    • renders the default tile error state 1`] = `
      • ( - - - - ), -]; +WithCompactView.globals = { + eventDensity: "compact", +}; diff --git a/packages/shared-components/src/room/timeline/event-tile/UrlPreviewGroupView/UrlPreviewGroupView.tsx b/packages/shared-components/src/room/timeline/event-tile/UrlPreviewGroupView/UrlPreviewGroupView.tsx index 8d5eb5a481..7c931a9134 100644 --- a/packages/shared-components/src/room/timeline/event-tile/UrlPreviewGroupView/UrlPreviewGroupView.tsx +++ b/packages/shared-components/src/room/timeline/event-tile/UrlPreviewGroupView/UrlPreviewGroupView.tsx @@ -12,10 +12,10 @@ import classNames from "classnames"; import { useViewModel, type ViewModel } from "../../../../core/viewmodel"; import { useI18n } from "../../../../core/i18n/i18nContext"; -import { useEventPresentation } from "../../EventPresentation"; import type { UrlPreview } from "./types"; import { LinkPreview } from "./LinkPreview"; import styles from "./UrlPreviewGroupView.module.css"; +import { useEventPresentationAttributes } from "../../EventPresentation/EventPresentationContext"; /** Snapshot data for rendering URL previews attached to an event. */ export interface UrlPreviewGroupViewSnapshot { @@ -62,7 +62,7 @@ export type UrlPreviewGroupViewModel = ViewModel -
        +
        +
        {previews.map((preview) => ( vm.onImageClick(preview)} {...preview} /> ))} diff --git a/packages/shared-components/src/room/timeline/event-tile/UrlPreviewGroupView/__snapshots__/UrlPreviewGroupView.test.tsx.snap b/packages/shared-components/src/room/timeline/event-tile/UrlPreviewGroupView/__snapshots__/UrlPreviewGroupView.test.tsx.snap index 2b6fb99206..b5a80060c5 100644 --- a/packages/shared-components/src/room/timeline/event-tile/UrlPreviewGroupView/__snapshots__/UrlPreviewGroupView.test.tsx.snap +++ b/packages/shared-components/src/room/timeline/event-tile/UrlPreviewGroupView/__snapshots__/UrlPreviewGroupView.test.tsx.snap @@ -4,6 +4,8 @@ exports[`UrlPreviewGroupView > renders a single preview 1`] = `
        renders multiple previews 1`] = `
        renders multiple previews which are hidden 1`] =
        renders with compact density 1`] = `