From 4a3cf3e69d077d5bd363a68b8c7c7733ffc9dbd8 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 15 Dec 2025 12:00:35 +0000 Subject: [PATCH] Switch to rendering svg icons rather than masking them (#31531) * Switch to rendering svg icons rather than masking them in left panel Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Remove unused stylesheet Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Switch to rendering svg icons rather than masking them for ExternalLink Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Switch to rendering svg icons rather than masking them for TabbedView Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Switch to rendering svg icons rather than masking them for JoinRuleDropdown Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Switch to rendering svg icons rather than masking them in ManageRestrictedJoinRuleDialog Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Switch to rendering svg icons rather than masking them in LeaveSpaceDialog Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Switch to rendering svg icons rather than masking them in ReplyPreview Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Switch to rendering svg icons rather than masking them in SearchBox Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Switch to rendering svg icons rather than masking them in RoomStatusBar Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Fix advanced.svg Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Update snapshots Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Update screenshots Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Fix bad merge conflict resolution Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Switch to rendering svg icons rather than masking them in Toasts Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Switch to rendering svg icons rather than masking them in RoomInfoLine Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Switch to rendering svg icons rather than masking them in UploadBar Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Remove unused class Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Switch to rendering svg icons rather than masking them in ConfirmSpaceUserActionDialog Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Switch to rendering svg icons rather than masking them in FeedbackDialog Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Switch to rendering svg icons rather than masking them in KeyBackupFailedDialog Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Switch to rendering svg icons rather than masking them in CopyableText Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Switch to rendering svg icons rather than masking them in EventTile Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Switch to rendering svg icons rather than masking them in InviteReason Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Delint Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Update tests Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Add test Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Add test Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --------- Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .../e2e/right-panel/right-panel.spec.ts | 2 +- .../key-storage-out-of-sync-toast-linux.png | Bin 18663 -> 18676 bytes .../spaces.spec.ts/space-room-view-linux.png | Bin 44880 -> 45110 bytes .../edited-code-block-linux.png | Bin 7720 -> 7772 bytes res/css/structures/_ToastContainer.pcss | 34 +-- res/css/structures/_UploadBar.pcss | 74 +++--- res/css/structures/_UserMenu.pcss | 4 - .../_ConfirmSpaceUserActionDialog.pcss | 17 +- res/css/views/dialogs/_FeedbackDialog.pcss | 30 +-- .../security/_KeyBackupFailedDialog.pcss | 16 +- res/css/views/elements/_CopyableText.pcss | 10 +- res/css/views/elements/_InviteReason.pcss | 12 +- res/css/views/rooms/_EventTile.pcss | 37 +-- res/css/views/rooms/_RoomInfoLine.pcss | 29 +-- res/img/feather-customised/bug.svg | 2 +- .../legacy-light/css/_legacy-light.pcss | 2 - res/themes/light/css/_light.pcss | 5 - .../security/NewRecoveryMethodDialog.tsx | 2 + .../security/RecoveryMethodRemovedDialog.tsx | 6 +- src/components/structures/MatrixChat.tsx | 3 +- src/components/structures/ToastContainer.tsx | 4 +- src/components/structures/UploadBar.tsx | 6 +- .../dialogs/ConfirmSpaceUserActionDialog.tsx | 8 +- .../views/dialogs/FeedbackDialog.tsx | 6 +- .../views/elements/CopyableText.tsx | 15 +- .../views/elements/InviteReason.tsx | 2 + src/components/views/messages/CodeBlock.tsx | 15 +- src/components/views/rooms/RoomInfoLine.tsx | 12 +- src/stores/ToastStore.ts | 3 +- ...ast.ts => BulkUnverifiedSessionsToast.tsx} | 5 +- ...ptionToast.ts => SetupEncryptionToast.tsx} | 8 +- src/toasts/UnverifiedSessionToast.tsx | 3 +- .../NewRecoveryMethodDialog-test.tsx.snap | 22 ++ .../BeaconListItem-test.tsx.snap | 17 +- .../__snapshots__/DialogSidebar-test.tsx.snap | 17 +- .../ShareLatestLocation-test.tsx.snap | 17 +- .../DevtoolsDialog-test.tsx.snap | 17 +- .../FeedbackDialog-test.tsx.snap | 3 +- .../__snapshots__/Users-test.tsx.snap | 221 ++++++++++++++++-- .../__snapshots__/TextualBody-test.tsx.snap | 67 +++++- .../__snapshots__/UserInfo-test.tsx.snap | 34 ++- .../UserInfoHeaderView-test.tsx.snap | 17 +- .../views/rooms/RoomInfoLine-test.tsx | 36 +++ .../__snapshots__/RoomInfoLine-test.tsx.snap | 22 ++ .../AdvancedRoomSettingsTab-test.tsx.snap | 17 +- .../toasts/SetupEncryptionToast-test.tsx | 8 + .../UnverifiedSessionToast-test.tsx.snap | 14 +- 47 files changed, 638 insertions(+), 263 deletions(-) rename src/toasts/{BulkUnverifiedSessionsToast.ts => BulkUnverifiedSessionsToast.tsx} (90%) rename src/toasts/{SetupEncryptionToast.ts => SetupEncryptionToast.tsx} (97%) create mode 100644 test/unit-tests/components/views/rooms/RoomInfoLine-test.tsx create mode 100644 test/unit-tests/components/views/rooms/__snapshots__/RoomInfoLine-test.tsx.snap diff --git a/playwright/e2e/right-panel/right-panel.spec.ts b/playwright/e2e/right-panel/right-panel.spec.ts index 5ebf793c3c..6a6aba8fd5 100644 --- a/playwright/e2e/right-panel/right-panel.spec.ts +++ b/playwright/e2e/right-panel/right-panel.spec.ts @@ -207,7 +207,7 @@ test.describe("RightPanel", () => { // \d represents the number of the space members await page - .locator(".mx_RoomInfoLine_private") + .locator(".mx_RoomInfoLine") .getByRole("button", { name: /\d member/ }) .click(); await expect(page.locator(".mx_MemberListView")).toBeVisible(); diff --git a/playwright/snapshots/crypto/toasts.spec.ts/key-storage-out-of-sync-toast-linux.png b/playwright/snapshots/crypto/toasts.spec.ts/key-storage-out-of-sync-toast-linux.png index fc6fab4e7b33b8c4f61ddbe068ed99d74ffa73d4..c5ca8fdc023a87f04acbcc6d550017371381580f 100644 GIT binary patch literal 18676 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%0A|xhku?fc~c(t?- z@zZm9OJX`2nusItz2ie+ms+JhIa-WC%E)5v^g6}X{KeY@a&-s>dABdYuG#7oXeK|i zTuWx>aK~>Y`&7PPkKEr!0u~lX6>ie>40BNP4Xm~*L@utdQ1n|saw-h0*^_8IJK8zX z23A~5G^6%oGv8n-9{@j&dwP1?Uj|vh_ZGRZs+Ah|vMUw5)=w6$kR5*$Vm48z>||RH z5_g~K<`Vk%SbcOd<h?R-ZjKs!s6{(|g!PCDL8X;(|`mf0_5;?xE_auKNJldWWUtb{5KTepg z)y1sH?Wdp3dBfFA-Sgn`pEU)7HMRd^Vqd;Dmg+aJcHZj=Errk|jZoxiO7Bt6a-P$E(t-CjaW?zOOs_0@RTquLfLP4+;k(g}$ zNJ`JK4%K_%Iu7=GP>z);kZQw1$Nk(lAu;pr^P}j`*@ne*2eiSP9dWKG>+a$i$X9O( zw4=cm)!jivkIpRDgTN3F1Y^XZR6!046cg`6k{dvRQXw7#p6CVtg9w;gP>7^^MF%Z}>n2C#na^ABc|{$~g2i$B=UH+O$FE6?#SBgIzQ?BI1c7Z->V znNl00CM<4hFb)oR?CuxUGX7{gUaUn^jH~l|KV~XX*Y7$;X|&bUHZ+lN9NytMaP7J} zYeP=w7TMnwrw82*1$trm(Ujp#8+6;37v*i|Q_hj#OH!81OUoek2U z>5Y6fo2zBXNzcz%G=(2_gX+J!WhD_8btAafCfWJi*{8-lV^KxQVcweyMxsj6Wy>(B znfLX2M0ZJ=iiO87@1B>-X)7OxUB>JqTzIkZ>NLlu(eyPwkTn@aLwGj338bkLt-sfx z!y-i>mk}UnxDgF?{Ygn-Tli9@d@5Rq;)G;42;0~%QLFcagM|fZw{nw^#3@m8d=DP+ zUBpEvSB3)}G-ank0Md|D4@904Z9$W8J*?uWqgUQKD8W_%TAw5gi(@(kJMl%^!(R z)js9$d)-T_tP&R&@2S?8rB3ACYuV=flRmd&%9WL(rm4Ch7b#Djc$&K@N7s`}Ova{j zx|BerDBy`I`JcAGY|pg}gp|o}Gtaw$8OF8?5erdKe};UyAtlVd)_AU>iw!)N2&6yl z1-K!7G4-WMU4Pp52fM03KAi;d4gE9P-@8Ohk+qJh`!%k?%HN4_;L6f`aaxoQAvF3(`FE4&nUtAW9 z80q7~+ON(RE%3*%gV$r)Lli@#?0aYJgG%v*pUlcIA{qRisK~%0lk>ifcTK}01xH>P z<(qolis97^s}PU)1riD3Q>+EF$4^D5p*wkc`Y(lA;`KVsIbkbk~alSI;A&RMj81^ zF%+qrI@SaUQB+=Dj&v2L)v=Otwa0w$(ej677**)Z$C@-|SQQtVpRhBjM124LUHajd zhQ`-RiDyC&sDxSbHud1>h>-uF4LDHz{_dlUhf4ZbrHwXBmN=c&+nWn2zxrc6SDOjn zS$U4RHu+c5AM2vS=~K-6&JACI$a@*0gK3bZD4VEjYOA+2A@Xfli>w2%wptT?5Eqq- zcF87r|8MZ0?SB2>*&r(3`OfL2S$dCjoFJVA-+F%D=Bo2xW3YE18ZzOPz>wED7-K%1 zmeFSSTjg(7`OT=>V08)nJFALig$6FW<cjLidm@-r@A6!k_QL*$)NFnkSb;RSLo=PkO3 z+Gf!e`E1S(V*Q7QOO~T`ja5{YfhA&4vRjChp6VP#M-;qA zBxQmKa&Bx57)gR5U{kSA`Ukwn4p-F1oO^gsh~fM%Z;jI9OoNebf8o}zP^2q$i(^`r zq}ys;#sWTsS?B?weVbap);AP^9vy;QYbK9{;&1P*ws*UX&G`C%X`ZB2mVzl7oitI_1WqbG!e< zU^LNyBPbiyP?t|@JypfdG2vR<3YdJ@Z2D^!qk+H6-KtqHB~$BwUJxt&>(dA($nG#I zb>A#Itc_Vw;0fw5owvPx#qHmj?Fh*`^_O9_(jlNN?2qC-fo`QKd%nkPcI3v=_HIVZ zdYx}^Fr~q3+jGD{-8dyvDxFmJCY1Ef$P1%;7BEpZu}Uvf-sXm&H9p>0BDwIKl1lAU zrUv}(Xo`i6&G(sl$*6Q67#o;U1MaZeK53u((QrI18STP*0oZs8(s=11`f}hbBWOni zV8Jg*M}$j{nc-+h8L*D4Q>EbT{6nMZbi3&j^cE1^e;F%AYrfFq0{#XQq9neC#iB4g ziV>v~q%N+$80_PPArb8EQykA&NMG8|;_hTN$bpN)$ub>QagHD<4#L~> zU9rX0Q#)7!qXpbIdGPvOIR@r2y*O!OQ+Z?9lU~)O%|&*cpNfP>rKTS-`sJK_%`$C5 zs~VbOG;cda(+<)S^@|E?qZ@#{xS~;doDKkYma1qI{6nZBDN^RP*XiLuB#6&heD1;$ zkVsX3KR;fxuLV6pCC?PH8u)j-8xCpy+dHMEqc5*7`W*pHa}(lVsr78I@p%`u zs}?ztca44eTryh}^4u&Vp8oVqj> znhP(>Fj2{(kD6SS#pxAB_tE)*_#SmlaB;)3*(BI zk;Qlf?wYl9s3qL0ke&5rH_-Gc4qyg zrJnAgP*U@VVQvj#2=WLw;pu9Wp6znC*1H$dVT#0yC4HmS^~zOdSRspXKl+O3AV)VZ zxYLYg&} zN%^p-fWvjGFuQPe>~ucu+Q9F|j$sYrW~0U#Yw6Gz!y5;o0r%IW$?)uYq|Kr}tW1Hc z_atSua4kaauqpB1`wJjo@NE0Y<>p<&l5VC-OMbD84z3Lksq^(REpXAUPO?P5L6 zu}#s0Q1JD%!v75ThT%UD!mFwM)Z=y$;vaXPSF_%1x9`3L1q?r)Ho)ihXw64Uyikrr z@}_mHX4XM%y%E9Kp%^4TMny}8%%E6RnPxpP^*<{#?!G_IDl*>XrL@H)>yT#YV_|I~ zPr*Y;`=jB+k2_IZ$OpC?9$MPf)!Ry4U(7fP|v@C7C&l6O_d_Z^nvM>l*XLdk3L zqmUPH*(PaMJBw*l-6}erWe+&_QeqWnNfAY2Peh7QJTkd#cPSCOEkH!gZ0J$6lQL2B zVe%c}o}P8vji4I0Tw{-EPQA>g`xJ~rqyI;HQ-b^;sRdrHni`r$TrR0o9m_Qz#t|Ow z0356=WhTs&<)Yifc=3X|OXiQU8cb1i&FPRE`-BisHKg!V1P_RfXz2Hnv zKqJ@#DEg9#h;WpwO_Z%?(D?U`HP^mSXsT~s9!w^;aZFE1jb6JmW!1TCb~k9i@D>`shdS$Q^j)W*5h0opyP;vX^<9pQ+CWkQHEU3=&` zm_6HtNHP?(_4n1|J&SyBN*?Zh8>1={hiVwCjk5T$0-%*$gcqV@SA`jVW6K6Mwt_ydg9E+%}k5mLhpoj300SUlBrm=y0R_@4q6l=AN@;oHq7t3XGb>l#L;JEN zcY%v_1P&IYCK~t2nLKTSGHFBr!y9$s9G#)#Ik8*08+Ol&2gKt#-e@P(mb}%IZ(1#G z)uMWxKBU(wNjA*?PAn5nzxDaPKf{EYY=|f_F<nusi`BDTryb;%)a!&CSbF2;7)maFVrFV$X8xEH06e=C zhfNCX-Yyk?)F4{^I)S{vaG!OH$MUW~h2EsrC=1F7$`X4^iy?mluO%Wb^u(gnhV8J@ zkh&xm)W%-Ww<~Duhebt4^Fnte7shdy>jM_`T4~X)0kf6DlWYPW@fla!y-xcgvV*QY z07cLnbiy(JB!q&9@Rhi{ZiBIEizN#?y-kW031=DLPI+j-?6VauA?7lJErBbakB_H+ zohiK_j;ii6~GQCXZe%+RJ1s6gws9a488TQ`^SWpQ|m~$ z5!LSG`K92v{tmi1z-2WE@378ZV0+Z{9T{!4ZH7JP#QI+ct??-NaV<(RZ)YeN6&WhA zse0h#V0=1%zV|5Q6c?jyazyq1IgGwh#}q?qHkNtOWF(A83!cUOM);A)c17{OzkOMc z7qAZs#PoMG6o{*^3gl!~Af<#;hq7IdLC&M&;gPW{)sAkIU`h>jP?e#eicd0P^lC4rZ>p_F?xZ|mnx{Ox^BmpP z0j^oP`2;r&z&^nsm0Z+Z>yG}~^50;wFJ4MNAw=RuQCm;R{naS-V5PZKT^yqQDOv00 zU%d%CEs#((N^tc7_4p!Sx<0kyZ5h|3`s>%O+{R^{S$VXu$e&~27x;YJCEC4^ExXH> zvt>aAkI?ghzprFKE9B#4sGDK~a#&bI_(yrSfi@ zW@g`1{~5Snov+q(a7^A#5fQ-;H$Bacmls=CweX(=o7O^je>VUAEoIc>g))HAJ?!q^ z0?q`y0BUq$ZRguLf*vwvO`zaixc6M)AFsmVrV6^<{HNVtV4rBM7*Q53M0JN1T^K$x zb}aK%c1zUX6Kj1tn0nEWo3SrCsZPkIRe>d?H2<&wqc z9=EN)@lDKUF|>Iw#ud{)=N+?lbIt~TiG(N&7ZX?C`aLO|$@DTqQ{ybJ4y%Q-XkEV- zioJ%w_Vgb~LcL1f(F(-Ddu)8Wax@B5sa2|zAB()v?i>>$tPUBfz|xF^ole5JI74Ib z;C^B0{$yzax~}!sQik-0wk?1P13o*Rp692Ek`v>T?-{EAq1G=Yf{^cpBk%s-KYoU;n%t4od|63a`f@;Ei@Gph-nrEyS zZ`uYQ2|AV?p0iXFisdst>kgkl4=;s*$m08C#@Fv@eC z<29JX-?dW{gw8(VbMnHF`h0+2CGezjz0P_*-}LE+1{U-y2vYDq&P${&r5%}zWpVEj z;b4Lz1->A$oeLg?Wz$^E@wq4Z%p0yKh2s9T*VbNhS1H!gdgSD^hby^AXl>t@fm1R{R5mWj)6*VE^iGdfk z!uY zWXAAt>4PfAr~eUNU-&w??%OwL&;R^i0Opf;zIX~E2#->>T#Yo_nDj0w(e?Zr3{QXq zeiDJ|ZDR=5zp($QQrKWAgkB8s!$R6_!!*CF>Nm8PcGWW?Hm+s>pLJMtFgRa>Elo zU0{QH;4Z`LL$0iq4PCymb!f$jVN=O3~kD7+0ABqv}b6al`-F)Y++vah#^Es=CqR?hX>e z(80=NYt2@G8IxGcgST?BxfLXZkdWdw_$mbLgQJ_W7Jt%6$&D0HK3Jmaz8omkU_SXi z^?HA{9I8aUSm;1xBV>>Rx+UUqNtD+hPfd|$w^pR|sz$p)|5pGY2jBQ{DXHm%LMa91 z;r=5oTU`|;gj5qPEiEt4gA-lH6AGoupkv^u*C7-hQX?dt3=QyQ266OT=olO6zk2&F z@_uYuddJ7= z=J&1>#*x}_`TFh7?FkXk%@8JSs`Svh>+1IY|W zO=*;%q@r@gAN&by4R!72T9pkUUPI#IxEC*7zIyfg+qX&SLUQ?a^;Ih6^FW2g(h{Pl zr`x}O->(J@G%?|jx&X3kW@1oAb{WmZZwxoF;maFv=woI2A5%cw`u#~d0a|ne(p-}1wh^h)pk;wW=O<74HEBig6P$(2i z9f4jbg|dEy4_~Rlx2q^Ghdl^|LZMLV2wrxMoIqcTq<^KxQigB$6HH%Bp-?D|6@D&X zQ9<~^uf$hsOo)QKoT7YjEcXSWP$(2it$D<33NM zgDz4i6iT%~_Zas@A|$k^u(14Om00*NSg+8`Egc|7PEJ8yUPD7Im!B7TKUPUeQA15t zLtRx}O_imrL?{#rg;EMXFFz|gCo?N2Gdm|Qzd%tzK|@`Q2!&MS(PaddK~c0K5@Tl9 z!omUtMI{zXxj;Z6FDpCgU3zXVzkrTAL!nS8VnAn`sIXWprJ|x@7^aGf0$t6^%PVmn zlm#J*q^t~!C@zA$Dq)k7k`gn61r}iNiu}OEWyj|&Zm7fcQYaKkogg8VqE+U9X0_y( z$Q2ai%Zfo!v?4DrUsP1YgkrfcFIS1xMEJ5)sJZx!xE-7DD!F$zBTWsp@&cE}QT}4^R ztX+$s>#>>Hd=(Yt5^GmDwFDLvMIy^AFvIaOze0tUP?bK8v|yQ8OKcY3y9cYW)fdvd|I9gUtLyLYf{DiGqc|(ze_VV zYDF3(UwC%D9PpggY_=DcvXX*A&F8pHNz2r3szJVB#67k-@A=}MSUE8bl^3oH=joAq znvj^ z_dKz!QA_4v<`BUr#$to`60r~7$fuTF6x`?WuUhKqXsD}J{ivpz8pz;_gg0%BS}D|G zism|pX6K7SQIRMqEAjdHRey-^JgTsiYT4*iP*h~z8U11re-%tosfdX6hKU4IUamxW zp@nI@TyA_S6PS{gBkYfSX9hBpQNa`NEjk$xyTC| zw2H!ZE~z7uQhB<~*yM|cc}8;H=aJI)4&=(}ZmIYxyh+ZAdYD*Z1PlICV9Z^SS=_G& yr?q}_(agdB4*&rF|5W@GeEcO$WkPAAN#G8Kxc}x-;1Z>x4ndIqj$85-^h+F>EmT}AKQBztNcyf`9R5KxY7hqw zqaswXn^ONPZH{7%UmhMt_qX3%;du8R7Z{Vb%>ntLCAXi~JU~-dQ&ShyY`4SAb^Q6f zJYs;jq$EsS&W>0r(~W|sG;Gj~f#jc5py5)eCy%_ouq|wL4!8DuM7ZH-gt&m){ZtxAruBJOeF%~E+nRj)huO1Rj5=p zKu^$@Jeto_;MXnLVjc!*T$hCxHnzKIwF(&+Nc1c3@yxBec?((Q8&59P#+$fIy60Ov@n;U z1osL6p_!g~RquFn3r9-0>vanFvb=1YkcjS;oAO_~=wG_5RVQ)DY5NLeZ^`8)q~pO& z!WIq+$~ijRh9*c0wfj1+Xd*y^yR2Xl8Qln+Oy~G3URkzxa<;|+>Mc~DOwbh4l4jwd zkY_%?PZkyuBJy%f{;%+lq*l$3HU{qY+k|ib)5l6;s>-qg)xt*3M_F%eUPVPk4$Is% z!GQlc;TccVEa9(ef*`8uxkrL=ZV#eM?+Q*pzL!?!hZl~llal${vh1P|xFJJhPv7>H zwDbe#qr{<;zYd!t6A|9NT_CzP1T|V4&cQ@*d!vUTdmO`-CxGAU?JRElFR<*CBU3(1 zkBd8J8G{0m6bUiemW!Wr3$qrR8~&c81x1~RFfg+2A8SiXOZ(}$fx^!}8SBbrECdH@ z5OyB_oReHeJ;Pz_{-jZ@A|mw9 zABz5Lxvp+=y^M30@q9B%-rhuX!g<*lfCEsVVPfw7+hQOg2~f_&WYFX0LP}>dy}0zT zy1GUBg*FORsBBkmuxIEApA~p>z4Fk}VC9h%<$z^SW12;pg$+zul3&`Ti8iNz4UL|j1}CSH`Jb_)>i@2M%F4=SW|)RNJyWr;yu7`ISBJU?K5LVssg+uu8weA#4nYfa8deYTwz z1K_sbUZ+{`*gb!knhe6N_c`$U#+Ul4t-Sx;I#_IOAM!k3RNGUU%+$ePaPm3c;U|1j@fT!WuNyqS9-_KLekBkJ0l{ zPfB(lvn*}2JHKi*T`~@>Uq4n=Lm>!7&TSbSgwuhUeypG zw3^O2^>bLHGE+w|Fa57}$OzO|uOq6Iil;oEu8;w~`Qq(89Ue0Ra_KXrj!iav?lIY% z&y$&L`%^HyFp*Of6ckVqM=rE_wP{>=&ho30@jjxMx(6c_8!9~Smm2nnUH{HQGH9}x zAH;|^ppZz~y@uoh7c1UHEcD!-L!cm5``n0Iu0!LDezw@p0S`!>jzIg@@f4i#dg?B& z1l*pFSsj0yQ1FJvytO_Gbp#?1GZjVbI-mmPbV2o@{2?x+R2^j~c*v2T+;>dc;Dx&RvW$2QI+C(*_NZ3hX6X)2~u{=I9TdB)YK zQ{;-#Yo~E!L1I#6iRz_}2jg#t1)F1P)msaJAIx?4r+>ws=%}gFjz0PZVif}ERvMz3 zUGROHY}Oy%tf>?u6F?v;fscgr^s((DwHjn@25b*0V6G#Y^#_9&kY-C~atyT~@?{eUK*1avLBv0an{k;KQ zGx(0j`7Aaz zBxj?Yz{}7Q4F`Mt`!fyyqN1W)1Jpf2pXQ7BHHx27_$a8jP?FZuf)EyMH!%}^kVs3e zN6mk%&qQ=BZeHMo8z(x`)*`4xh`ZMut#AvskUN zPA^Xu5vKoszR{350N89kW_W_i%z*5LLUH{3D*lkN9^gNk-@YK}FeEDI+m2`3+J?Dd~ z;JAPZu;MU$USZYy{bjA$n~ipFZH29ue&vMCC&!#Lft!@*x<$h=S3A!ji~X7B^g{Ko zCE*Q0leKm97uq$UXfIqg&~BsE#>7bkg}k(_@$d8cKvIBFnz6T&7`c9I{}Uh%tbF(J&^HQX3^^Hsdhr_aAtJWVM)RC zyFN1N03)*nBwGjrKzCzn2utAlRjvB3eczj{Zt0BsO@e^8TD7K)A@LhGj}2opSn2c} zPUgGSyw`CcZ^ZXb{`U6v){j-NgF+%8P2_j{o6YYv$QwRgUW{-tsOOzU#*+O%_bXU7 z?QFfC<<5|C5*K6H$^~L3-8&MMg_IP&%jh$XqpXHpQ49dBzMDeC zG+2*x-ZK#)KB$iZc*ua`zUS$Ju%7s0`EBUN6AM06(}{()KB}E(240+tqCi(~O?)FAW8l&Ab<=L3~G* zt1ka8&Gx5#ezl)7{wr5YI#KLPpc($;=nL${$8d*1V9eMZcMK2MMAwFpGdEelY;cRT zxZT;^R$b7q<#sV+*l_3%-IhTL1|&n@+|G+B9VS5`t~FM+003X0=+~ePMbve45U64` z{XWY^3ObNu<~CmJ%8mDgx!Kw@4s_czyc5g3jYw7QG{whq%;$8nWRizAHj-eLRvs`U znE9;=9m3Eej0;^fIt|gew`7`Y6rKpy_asrBoSn&BZkrl{F_y0{6l*X(EW({XOIvB7BVOLHHm)+XhD5e z`*6DIx-gzi`nl!uE3a57btt4-8>Z_I(|5mI6A>B!B@LAi$0P#(!ckis9Ok&lcy6CW zeSN(oy0j(%C_$_k*ckMIpi zl;2Dv?q-vxQCu4#fCD1a-l=4OLbj(4v{$BbPpd-p86c_~RIWxM+(#epa8Svc7KVu6 z)4FFw5E6qIQMxIw?(>(GY1$_>gVr%|$#2Z=aN|Ax!>_(b)*n|0@0prwz9vkV?`Cv{ zW!?nlQ%%qAeh^;G)&{`;k$8Anty)1t7!&2JWBFo8X5@cFKYtm^vb@u}-^?7I7aP2^dj@Vp- z)^A`*H{Kbk)+4aR8a%_e(aQ-aRBw231?#KNmG-DmPja1BXb*alJ>lGgeks{altTsqG~1j|Z<;Y5r4H z0@B&s`1x)jk?qSt;=xm#h)#g=1|_OYclZCYfT|Id0D0`F?4$AFKi9eLrjk8xNI0Zu zYg$btkhd+5-H~f1oBT2;eh! zN6vorfAO)yYqDI0M2td2Ar$Fu z-dxiIdeH0b^Si;adwlHtfLxYL)nSM!l1+CxpZ($H^0rcHy~_Sm)EEWAW-}U(sKG?G z3P+QK)z3@-IQiDnT<|nn7!h8q&6IdR7%Z>`J$^gm^|~~MXO=k9`|K#;c?v0czL3w+ z{=l16W5nd4dW?lb-F?pE%JS@a(Bd%qnlEc>OoOOEM8C|a%9hFt1pE(1HS-=-;2VTzj z>G23F*?9==4n}?~czhBZAh1F}Ovd#=brNia^7Hd{Ng(2z*;oKNAbP$&9tLk3Xl<*4 zvpVTNYr7JR{YYf~Rz2aO+3SmkHBSg?*4F3MT`tDGA{m*+MKDBHT<*~M+;MS=NCf>W z%Maq4K8njrTk>;0fiYMT{Y3hXD%!I*p7$!7`&k6;?(RQB|J~hnxmq1hf1Kwa7+XG8 zonNt$y#0D0ifq_SdZ%uAMcS0ttatyxiX#;TFPMOIwt0I#EY*44X!Lq;Nzs;n4ujM+ z2v7^zT{=7xvL_)e3RbgzZ*7p1gU~DPkdu~{m-VXrGnxo6|45C7Q(VgK_J#9$n)ZI` z-=_6nF}$9-?~>1E57OYV$-qUthUqHM_3`Cs^wC>|%T*hQ@Uhjb%&$a$rR&X^vhaS%7gOrisGs$GLwPHzMEy*p42F24= zMbbu!CtncK7i^cH;btD6kO7x|(zTyoD8Q+B6LB?aI9`=@3%3JE{hxnRUX>56EsN3# zI%d@x-a;Eq*J|BWeV5bhuLj20vgQ1U=RzN@uD61jswiV#41|LTMx^UcJP=0y(l|@H z$R2#MmwJ|f4HcF6_>AGzh_xG3&0eWEU2ox*AyEb%^%7kuyu6Z9VW zfy4s2awek>O4s zd2>Aw9;b(^qFBkRO|FaJ;29ns4h}0JEMs0fPg~t{nWaHAA**>It&BB|ri+Mw{=ozR za6$e^{{baRW+fz&aZUtZXbKp&{9qM|f!ayq=K|9t7=<-~UQ9HEBH zk=IO@9*-nzJ)ablJOslK34cETW@h_TE*6s=DN6`iE*wnL**v=;%X1XR92R#&MffFx z1t)md_l`Kzw!1h;CMNrxjeK+~jl>D=A_hX+sW}mD-@dwKJ6#yhtQKkgzzx*tNVR<(ZjHjlpJ}P;5m1Hw8Lgr(9(*i%%AJjIZdtx81C-0IbEo0 zYkP8E^%7+(F=`@@SR0HQmKs%GnvQcY*|=OS353LCyI(P0L?B|+SgXB#s0j&epSLkJ zU5KvUHxBA*YNnZ)&+Oe02=E;fVmWOC1YUL3$M;M#5qW*y_KtgdiP==<&pp~>US5Xy z!!JR(m91%MoVH(0r(UzTZ%w8y#&^1eFugvwq6W?~*77OdknkQl@U963Xxb9pq)o^Q zeZGBT&}rEis3WPrj;Y6Vw%WvSX$8#;gc-f&+!`3DRk;yz&D2X^V*MEMglLb+g6_bJ zi;rIoU;S%N@EOtWwR8wV*841mkwjo+h3AYye%{mA$u*)tBH(d*-SARTK{v`T;_Nq^ z+I(HU2S!TVpHpW;_@d|lA88YisVPV_d)fy=(&Yb<|!e(O;eWjQ@ zNesp1{61-HbAda>mOeYnk}ILH%mtv@l^WsI88?)&SZODtL5A-9Lq);S6d;yV zI0#=UABb@8MCKU!5|HM$70PfjHD?-jzS3w|T0Yih0i9n174zYExZzccpdN_h{lHsx zT{_pppxeo8yNt)i3&uoKeny;Jeuu)j1;15Q#P&@bMjzIpke)Nz@w_3tf>hTqcC55p z-SJmRK8NAujONH8KiAv6rVsaOeZK7w3d|3+cyO#X@BY%zYtM&58>C75|_i{akz2K z|M@f|!1(gfM@SL%Zhbvf(p-Z5(+rrNuIM@xW1q?X+_smnnB4c-SNP&FXMv8MNcNc? zCQzE6ljq3+1jp{%6tO>yzz@!ApZemwqL&O_KHG(uF1nZJiS+hvM}xl}_jMQHtLV>0 z7}cBYCM0Pe@74Ia)T5&WaECIV-ftuu@kSJHl0m=mb;k3XhbW&8oU@vVK2|OYi-&Z% zeHK8HyBFdD-I)OhV5QaT#p4van_Zp^4&QEbF4c?X#~K>Txa^lFYo+gLn;7tf+~85_ zQf$hfNwz8}4tdRxbo2>oyFH^K-t6;1XPk5Z3{*5{(!nB2LKUZ+`mdimyY zPWhsZq0!mj*rzv%$J#Esv;dpsM!pSE5cxLiWHt+W>iFcPWz^s}#@$t=STZtG{WNzT?LCxZIxsxWH_=hRL_?{vMyqNRx%UexCM66fm% zJFG6UBw%hfb|lP5B0*23Z{>zcvFkg>;{A8ya?Q*h zJ)fZ4FQ+KMR})&j*v0|$f%grkCX?2FYnom&Jw`oNd#KOmHWq;y-Dv)kh)<&zo<}BD zR;%T&4Y<8+&~@J&E1H}++(x7baJF^%S~ps85%R-AGqx7iE2R!ylX7ZmuHh+;_SR{HhvG(x=!aC)_|~kMS(CTR;es%D8l?HZnVKH5+7u+G+~v)d7gbdS zzqD^1ny*)M3L+qNp!s#;&o0i)5HQyWSUHlaC@6fvC(Xm*v@GMHefwZ%!wOwUD7#DN%P~~y$UiMw~V{{^f$>UPK3jgg7>+4bD=~=m$6qELH zpYTmf0(V{AX*O36Q10NcDfpuw9ZsdvUZexGcw9LV6tUCUm6nFn%8O1YW|1H+rV<20 ziCoyUlUG2>o;`3^cj4cebt@QBzG&-mu|(i}?d;BdA;Z=%``x}=(E3?JLv%YoIYxfW z7e79TKkW~Cq!RH7^RC=a33fKt?#t6V_z}(Mwnyi*X&K*CN9JG9$2q5ERaJ;_!VO8O z70O9=rWTgwV(XnyQ{x>+P$a?c0RHli&n%Hc9GspEdN*u(pVm;ky+q*+DimF+{ica8 zj+xWl`k^xN@@f)VaIgSnS{($?sEfqD&?!Jcow7k_pDICx1=>Wh#o}Sle5X@nNKx9^ z*?CLG*8+8*3P-8jQH;%Vzy|2=NEay z(Bt?#rPwt|x7xPHd_YJbRUm=rmYBzVncH=01n+Sj#Pw0-V>ifyy@EiUf2XqLjkhSJY}4`#LtmD2TmWF>u3*QY9 zeZ2vI$8wLT8ZA5^{mOWoNL=8?I{KXVK=|ckBJyTR-EH# z|Da8&sZ(72x_xt3+t5S(FR6y_^I9OHig4|`0MU=mx0WZ8fe4}o8+ooS2&OEqdb2B3 zXmG3hz0MTLjJ|-H{6TT=+#|M9sW^aoo>Ow#eBTbIZv@%{s?B!2g^-`K|MAk&gXj)c z4zAbkU*qfZ(*LpmI<0q#NX*dPIaA5FrVAnzFXPB^PnCnOL)7q4>k(n+WOW*QWLgAk ztw-a%j}*5A;u^oOjxx9(>fcvSf8G3I*uN>3Mp2LW9X>T>SVvur2K#Ln)5X%;n;*GF zmI=QyW7zYuRM=2qjrH81iawAj; zDgYvwg(WW{7Y=JN^iI8H8}Q_86^yl~y*6a%>jdXpLi-oH8|x-usre?xI!6nln)QOM z88h}*oR64HRQh)F5qr;~pRuF~NEICF<3Q>vs3N&AO2j(@Je)=x|7$W2i7Tq()-{&^o?AZn5 zgG-aqex{?JzX%Q~w$9wD1BUF9wle#3Q$-o?x;|@c$1sX^ic?I;wFpSz;`cV*)l-AT zB~!~ymbSizP3e6!crl2l?iFf(IEDF%!xJ+93`WD@yk>i)|&0d!u2H8sGydRHW2QK0(=)igK*@syA%j=Ga7v#ng z4Kl}cqfhURA9LPDAEw{MfA#vn_4EnKTHMbeJ>LlxtOep%gu4oJD6yW?KE|qpWjU4B z)`yG7j=SNGG<)N9`!GcW;^*#RzUU1Rrn}@=UMh%nxzXJ`gD_42IpEy!F(^UWPxJpG zo8_`!qET<4HEeR+0s&U{2lTqvzb7p-2`}&S z6gD^r{k9e+v}w@>X68*+eawwO;|d3w?j4k9ZXljyVNm9gZ~dWOyNnIcY>T(V2ds`G zytN{p+@w_>8cv@pBW~kO!#*K(|6n~fm*)EEToNp-SA?2{r$+nDW+6uGbu8- z20zc%kCr&x+`OzkS`l#rv1Z^YdlqfhsHv#z36AWTe_e%y8I4b9qM>7w2yGu4vea`s zoAG!K3*zHjkI)vH8Yjsk6lJR%A`XK?m%7)xxD82ggB8(R1?O4koFC?&Yk4hut+bTk zlxk=mmm0HMMtXjxV==upT?}hYe6H=}yEn2XlUuM>TbM=jhJJdP(5j(9MagoUNJGNq z&1nf!d}f&|_0kf3$>zcY8xgV-gZv{M@Mi<_8CaS`S(ir!q_;~;&DYypCMPG&7ygCK z`FbZN;p^{az9LFvD2Zu2gN}2mk}|=%mojEy;rIMvM1;H4Y9f z;9+Nua17JZf*owLC>DFKv&#+hcp!Wq?R;!ajDX@?dd+~Iwp~-`X;CLFE{Wq(3kSb@ zo6iqrvfHnckHM_1&e0(i-(=E~IIKNYZB)MbTWtVRu7ujyW-`Nx=_bux-C5Whbr$GQ z?hc~MCm`3$GMVAu8HiwCOm!?9n-#ZxNPa3rJN0h8$RFhH%lLT&PN0>osj^A$CkqwS zl@mq|>p}Adf^PKBVkee3=;LohT=Fu{Er4J0$yM5}*f$MdiCp1wuNagJ2m;&E`XnL`b?ftTBCvZ7j5W{8*yu)vAnU#t4P?C0!CW6zYGkltCcvMB9P zmb<~ePD=6Jkbg@$*V7%uknCSpHu}U=MU>pzSEW6KAB`)2B9i_8UUC8OXl7x-Vp{Mi z*Q6qmt2%72-QotQOC_)k>yj`|K&oP4$Qm3@aX&J=N677h;Z{q^XWV!^R?w;GN9{yj0=wGFQLo~B}EfFu5LU3wE3ReB9`{|wxXMytiNQo zjz)N*8WTCQY2g6)`|HD>DFPjV+DmyQO2d;?*5m5K_g0iXJ?K+2OPUDs*YXo>TING3 zgU%$R5Gp5(ED8AC1aBnu$#!z|Vsa!-)Gaj=VBbLK&-UzsleqY0fZxvQpCcEM-jB|a;=JXhD^_7t>`0nhS z;G7#0ev@Q8G7OdLHcdG#O=c@RlWl(ea?_FLk-%oadV6|Nb#_bTCucrWr_)}b04eUk zC-CY^k(%zuc(*BnSN3IXYfjEIs2N+k>BeF8P#V{&-s3YaumJPtvWvAQ72rXtH1Tvm zf4+sJpeyVvls6V}TJOWcdWszW3b7j4o2C3D(-jiYEBESl?VnwooZWNhsK2hqlWRhF z6)?xF@$stX(&7GFZb>HB^USkT>Fj$J5})TA8uwOd^&I19|H2HD#Y&(j0q+jqMvckh z*j~aKhwWsD?lzzItl}M(E#Fs>XmCs}C^U7toJ|D}3w`!X6Po+|k^5cXCz!@C^@G;> z%@$Z)pYTQw{aQ5O?j{y1Hk0DhBMkb$FF7XGtyuTIV7j*Ku0LGfku>7h;0bpuT)YH^ zj|q=IG7Uq(sFEN4{~k&{{_Y)PeZl)5rulwLwAUvMd0-#&M&tj!e2zdcw^|J5;@b0@ItQbR1Tj5^2h8J~R940tyWS}>(o!=QS>M~;jEIrLS))*M3SO~_jbPqS_F)WSct!)uR+<%CnhG!MDizx zIaAH&2i4}HD7s@+$7X7&t3TbYJ%@!!f{{9L2|K}9Qa)@Pj)MFTj%zVyUh*RGVDN#+ zgTY`jGSXucsX{G!-5vYgL0PaXH6ns2w?w!A5+u0$ z)WhDa)s93!jwXd5h%PKfJYUEUOMfZ(S8?tHo==J2G>zRH@AIyuyT1Mj^$}tY+xYjZV7yL*q5j~SXelgdI#ewKJT~wd|T%6iDOk}FVVpBIJ~WmAj>t!iveQ*+#Xq$4qL8IvP&~y zjlQvppwr&106cu`Ui3rpuRVm{j8@%(1$N1#-q+U;EGpzERs06<_Z^dy{}`p;hVVGI zxwyqyD0b<33U*zpSZKDX(*2H_ZX(<@CSs3srmNtjz4;h{e{>>f;h33ZF+MayMG#i} z;{9|26aUbU+L*elzZ*DRbH#VN_Tz=W{0#oLvsuYlCp!M(LVL?>+oslUIk~V_=X4O% zjUm{oD20ss<*mfb+goh4ethi_ine|`J8h4Zjxtf<1gb=?T9=H&9I)@M2_{Kobg1|u z0Ffo_!_r&v6j0DGz(SP#(omGw!1;mG-3;KN3f$9disQ*6_IFElft>f65bKJwvCt$h zzUFD5WMm9gj*z@S6_3F&H#B^Eab8I*-v-+WOOE4H!WLZ^v?xtumgzE0=Tdhpa8=ZrQGFvL~RK;&3 zf#XauQ~@51yDl}(I(A1(-?Xf@4*HC^+eYF#rHfmZa<$fThqfdgU4ux8`Fl+LCx$zC zNikddi<}Qj{VtuXSo#h%(;et2+^RD6^k>R4%Q^m{9GIR!D|$~SX6>S9(bAOb;H~i@ z22mtyh`O~$v>mo092pp_OxDGWfmAwYQib!)$9{6kyN@GL@t8SGpJf^9g=awQUn54E znXZi*e3Z3RQJQDBe7>eSiHsnd@*c9I=;HzHfb$|j4VPWh7P4;&_T zb_qGma+n0g#Bl8W2pc28T`ChcgA58P+lWkdR+%$UI5Pn^tjeb5?ZyY#)a_ z3}7){Z0LuJu%5OxI$n*u=Cvbd)jW!WMp)xoR0P%2pPF52G(7*=6VbiK$7gQ>JcAj(ijYIS>Gb#ztht%C1L0boVPi_Mq@V{lS;th+I*7DmgMgxA#kdv zoPdFP7dvw{sqAPMa!Tra2lyD1UyK`iL@SV&@WnVWO2D`pDE!#N~_b@{;3cSg~Abc58cgvl7FSPAZu+MT8k@;rnEE*VB^27B2u-F&?>YV z>n?2eJ&Ql0ix+(OT?B7ICa#Z?N)DUt&z5t+EnVYTEFMLm>@f}z$q7cg46b4U3NCVT zt{4+THuoN79ytPr=~WJZ(*laHr>k2C88nD)&}yy0!imsGNJf8JjG*d0f$lZAeO?Np zt@fQOEVt8}=z4#`OecM2Qro*Z`*L}B+{Iyzim(3*TrV5~C;Gr4_ta{KPs_ByD6@mk zVM9+x*AE&dUPelB{k0+M5kF^C+TY_;T_wD|wGJ0VHyfpn6`5A>(;&!<9T@5n#%)CV zdf>Hx^s@wSr^mMP_v|B0#9E+5aA#tDB^QysP-k2n!>?6`ok6+_3>=tF$D(Sn0Qy(; zGqaZEh!Ns>GOohW#BdNtvaq-JS81In&``^a(EnrS_pXSJJs$Y5|0ic!e@YZDSvj~ha!fI}WfHR~}Y zA;TRM-J!>`OhaHcdyj4S?VW!1x>N80N#$`CL=V5FY>heJzg}lyZ?u#)ki^YEP zww6dov>4Y!tz)gJ9$X}JsLX{x_b;;9OHJY#dzS__qISBC8^r!S$#vjIE<{OP-fYy7 z?Lo)+La9QQmdBd4L2=$qSkT;0xK#N_V=_p(2X(9r|2HdLVrsN0`N`VGrIsZ-(z-*` zLF1|RGg`8c>dcqhZ7josR-62gaxq!FtrCF}F+d!ZN*9NB#?5;KCIh+5Tc`c5IPOAa z)b7A%hvQ=;wjbwcyQ$$TV z8$p(recdFQ*Vfiy+CPrP>(6tqlia8r#U7`}cSJuYZ-S0)0m(0@4vob;$x{b4>Q=?I zE_hA~yo0jW;>37b+YOD_d?PEaLS}*>D`{NlRC{0fyxJ%hz?R+}%mMP)4+myEhZUH@Ep9E`T_D#1Cdn97pT*_DG1I&zrt6Whynte^ z_%PQ(zrtoo>80_M?}#pfCr=nmSiuR1r$1!3iR*SN>T0EHXpB~|?gDWp zCDzkFI}(nMhZUfsT|qsDvD!PSZA^1exQ2NU;$tnO7x4oHm$cxDB~`_?ezehH^PdWu z6k=p32C$+FJ)TJ?;_CuXD}N{75D*$wS)S>gr;K4- zD6B0ktPSQ2n50kg@Q#6j--=?wczPCx(YNIuY2-i+z@+ULz(0Jx4Tj!t$P-3JReXp} z22M#N@Tsjy7v==PMYxL9A# zms1ccDJjJe@LX^kIz68!swjKks@EA``-3;4ygdIlgB0hYW;i; zW1@2F&nWBzO2+ioN3LpY!<(zq^EzARit-L+Oc;LW;36j#uL|G0t`Z|ZP|Ju$tfzif z)ffHCnC=gXofim(Rx86ry6l<%m5SW6ohSNRN?BiYN8NGvL3OZVnh~p*{UK>GY0$4A zq@E0S=K?eCcck?`Fop41CK3_zRM*?EKP)!zgM=3EtR>`0dz&u>^8%N64w0=Uon7Tm zBfX9K1<6W|zc3X(JWuc$R}#=RkkW%cH;m2AohlbBdVIo_&T2d=!19sHEGc=byxV5y zyig*F&BEtN)+sj%U$qj?mOhSi6^pO*gflo$HnhC5_A|_`s|L&4?hovCw7pPq80j!y zEM(jazoi|%xVo+O&#$YE^}i?yOi^r5TOP-zEH_Dv%82tU^Lt}N{4~!a>5-s(8kh40^M$M3ktsbWvs37xLz1upMH(T zq}K(3K!!#5rE8zGmeVrgwfhHZ3EmDzqw^tTl`Q;7e~rY;eBYeZ&wsQ1Bn=LYRB~Fa zTtZZBW!!)e&Kc8gf!c|m9lX!1D-wMQx)E>IfVXQraI_Y4F~h3PD<8VpP&J5k8|{4Dd*R8%k?aTa$?HA_I##; z83R8BnCk!iOgn%~5{|K!QtqzpE}PZ?wzg?u1zwm6OCd3m^= zzj;_rgN-%OgtawhO`yKHA&I!6ju&XaPLL{Ndj41hG(0RKe0V5{xV8~KU;v}g-|2hU zBZ<8&mXr8Uw0*(K)TWDmadA2s4cP&XxQ8=%}L1ZVF{Qr z@`)`tFP4bK!IY-swW0?Q+A9UF}||$E~YND1xpeXqftoOy$=eRe&2fFeK@b5{!nx#pLGR=d{*f2*4FLAL!*U-Mfu`er^nRB=p5U{b|+{~ zV~1!X2Nd^iTvs`7!l77b67z1^~Ux*PJMkFH*R18fGEf~TNm{`jY*za!%q4xsS);>;Q zQM)KHOpg@jrB~`yiu^+D$QKywtynLJ{1_^8A!&-GzvoN!{L9PpRjvqVwe|J8`aLKt zCwn{iJp$#Su~*+~EY@XkQyubp@Y|Ln8Vu&>KlLvu@zcYkd7E($@o23P*<`dAE-B8k z`8s0Y*86Fz0*1J!Bvpl-c8M|N9nw&+w^{({e2BbVfH z5rJ2YXfl-K^UICF30u8&1^XFahS-ilT@_Hss;^xU5sK^DYrBks3s+rx14qWI@~%_S zn8!hv$_E(@Baun!5V_o7u#JIM)4*0p%mt~^$&r%<1k!ck9=h=D+yp??zE#kI9o?f+ zQcA@Wytr5ed3nqqZM9g%503)t;2lWOncM_CF50>0L{t#YT*Z8bQhf?-)mZKqg#a}(jJ<^pa4)^i) z2ONK_F5eU!0a$A*0RHaQc?J*+bUxSJo(v9IrR8Mhy)!p*WfR*KFCl~+>bkpqYkL8c za*k-J zOnX6j89!zX?XH|xOlvVXtA{C{#hN=iL9gAiT&ZLUHYqkarZKVn{_F1RP12DPLf9&N zIADc+SVtYc%em$^HmKjtCg8KJWEh>4{r2ee9fl|bF;Fy!FopszL^6QRLe`okKN=rC z6doy9pyy_Y@NDzYl|xC-)X9v-`V8T1rPkdam%tvuClH`kLnkp|-(X{VXezsaKY+?@QBb@QLA*f3SpNxRdtbQGZ?H6=Vwt!k{BFHk`pJOi$Oxl3TNK@k)ttSFc|B)*6Qk$W9-6VS!N73~!&IZYhL$R;jFGFQ z!y|8LOM%|3zRu|2t_bck`7&RM69DX$(5|bm4?8MnQg60@oPo+F=Znvt@JKVBuSLjJ zC>x$=tF6?;s(1c3TJ0a>9BprS#B5E;CsoK}}LTN$}_oLZVb_Qfv= z7!cfgrk*8yTLYjJWgT+d4Q|y;Lyx*eusahtSw#lp#IH6+;`g;p<+JpEzm;nfe=X&} zia22PNV^MHpiI0by(WWS0?JYo_NzC{)>|$j@k$9j|EaC3)4n(sDhn+b>~y9A(e#kz zxv9rhnuaMmQlVdyZU@!X{q=X`EiWs(SZ?Sr8N&ddhnP<5-_l_Ns!AyM@>>6^#?fG6 zW@D9-%#hRhBb=AuDr+ATErs1O?};N z>;Lef{irsiT1dMT>fwV5k{B6s%uJ1*zj_^cH#R+^`d?_Ld>W)@@NeFE@LV*zvm$<5 znZV}@f3EidFE00kzei4~zqD!7`pBUJzpq`zJVjeQB;B@3>FMdrTMtD=MfV;heDD_^ zDj+i}C+TI%tCTeTM!HS(8>*?PvDDSn)zws0R0!o0rLd?dKfgebUjWxZa%y^NT4qy& z#?V=L&)ZgmgNKf6-L~WDQ|h^*yrp?_(;ugN?>1%>sTmip-0aZGL`6k~`J94MT3QuBpY)>9(yg}6B0 zx$_q;UApq>RdR-iJV9-}SxTwzXs}p%BAPTY`0~qMU-j#2ZeF#|ugL>~+uq#x9l>SP z7QZpPr1~$o6bgm%u>ip}Zqf*9%V_R9gJx=~s^#Z{qEILlN;QC-LTBF@G$Rr|T@996 zc1|v#P$(2ije(qMuvCe>H_g=5RI+p45DJAtq0|_RGpW4mMR@zB8GN{^%1YRRP$(1% zrN;1ca+QS2S}glbGnP7hxF2BZUED^)Q1y<7Or@T9R?-QWWEh`)I!1|A<~3Gp-?Ca z1KA7-k76kolXpK(QzALV4taOt9a3Cupx=o1B#C|+kwT$R6a)icyr)SJ&*Gw@^3z2k z@b+W6BGb0)lQv39D$2?_I$C*x{K&hpYHF%FTADiAn%Y{LEOj+Pp-?Ck(Ys{XIk{Qc zxmh{6`2~flDk?hKT0|tFV$UrjtqiK-1+fe>n-&!ns;H{5Sn7pBiul<%$*(i=@&twS zOEDA*g(3n9+dzZGVyP7um%tcRRTU~~etv$btKeM_qe|WtU@;}d5LPv;Qd3i7W|cqy zMy}Z3Tk`Jrb4%*$=X5C)3Z;ffiKKXu`Ohqt{t~6a!UB0IsEQYqm6eN&iOpWyfH=67S?drkoS1!W0VSV?(Bt5gD5MPNZ0EA$e(O>BU7Qx@s_3MUNpU zDTy~zm0Xq#my{IezsXV8&=Mt4BKGh~%C0Czb`}|_m6vr2g+i&%$kZ;$I4P+mBDKZu zt$T5icj95QHq_O&wrrutRwEM9sw!4k#=;fawnatEXB+eLa#YkLb7C+5F%~E z%9CIUg+lqbC@*7@$|fbXAU!kt#q(sRejTxV@8PR!x1TxmZmXuGOv*I3)Q2nOPhi3- zDk`~IX)tm%8fXhe_FdT}vOEc*7($^?D4zy0$G+Z%$y+-&B{|ja+>K!lol8WE9a}dI zy84ixE#NeSfp4gTh{T7-q~53au*8cVMb_48py2jdId4*4r<<8JBlVKc zyf~i^xX-FL0}D%CO+}^pv&^QZXX!W8A)h7EgJ4QZZ}Nm6P!wvVNH>+sez7c?HAnbQ zRaKSu?DfmkoSZiWh8$gGWfkF{igHR?PGddo=0*)IS~X*)*eUhlO4+&03_OzGTmX&q z*vLZMlcbiWO_`mUU4$t2S@O;UUZP(W)nX+H7^!6f zLKPG#VOqwUxTminy;zfymd&hSys{bDZ!#YW4D|I3IqbKCX3YMKbTU%Q1f=rOsG%-o z`@y59MokU$*jnPfB&D{zk^7-Y%it%yOle`#R7b1I_jBWhy6Wm`j~*u)85%Uws~4?3 zEzai&OI;nk&HRF*5>n9(g-$N)T2)mQQe)Iq)d2a7k$h@Pt*F#lDt^R^ky?@TmQq|o z7_}9}s)!U>WE3Mngi-kgg{3?5`F!!Ly<+cy*u5aRs<;e<(GA4f=EjCfN^ieECi!7= z@<9a`IeC)!QdLF8)Tjxm8P5`5qU6wp59pqz#i4+r;u7ZmB*i7gq8MRsMOpY3zN)Bi zOKOSaG`>M2Hu;Q^v~Y9Z(h@{Vy_3OP=COy&c2;Do=}>Y zEg>#Vhs?Gg7pW9}Io2UwJkTfvMak4LSSLs`>>)8SWRr`VeSjBx^}+wOQOvi%pINJz zuW^8eORwji`j`h6oaD21HrmIW(Kctxb^d{k01m>5@Cx?$CV-y({`vd;+viWXe?O3f z$zIX|g`XcEk%FEdU;i!g?IYIn6ySttUfS_jM0)=E=l`$xLeBqB6UWnsri`{NBPH43 z%uCAEYB}<7&|IvhV4KPV2QL`9pnLu8JJHH}=R({Nckw1oBw1t_WBj?yUM<&YkhG6~ zc#4v$Pj6S6%Tupgu?3*}Lm^fjF&4Sd^n%rQ?;vcb_;2VVdPmOD?uPK5Iqas9rX2xn!A#*-m=A~_NC|Xc;>mdJ-O8gbXlVsh8WA?M3uIHKd z_g~NXd<+ocw;dUEElt@Pl)}WGiiE~~pPn-m!bw6py9ikcY|Kyn zW;63M>P$^ad)Cb+st;VtzR-DV-|Tr^eRJjS_*Um`9j(f&N?J-jJ~yY3tRLKY^k!FQ zrma-9^OKv z7T7euWeC%F>mopWG1kbLKRy@oM5-$fY4kncjScgZyJy1*FyR>Q998BXzI_Z|Y?5eo z+u5Mjh=1nEuVWvv1T@XWKz)evt89(QWOy6*qk$UwyM)U%!D|ZoT^%h>1rg6}?%~!( zx5%luZQtB<=-hYU9-O9Ii~xbeU!OC^8Cv5U31Fh9g4)J z7vjg#!!(ZnjPx37uJ@QS&5N3jQO~{;@Y2I7tOuka7cey@^}7~eudCLMt8Od7^O(?t zjkp};LOQlM9_2`HVs5++rDdF0?O%=&p8&;M!&!ntVa)2HQ6&*|4%Iu02Xn@?n9x@_8qe;bedJlRaL|FHr| zb#8oIzui;3e=p2{NAv0R&k3LO2HIuwgkhbIn?R9W)NDp7_d5z!*;Mf zGJiU#-Ey-Sc*J`}P}1Nc^5OKE$ZJxa30JV^e^i41I{f$czhVYwzaoPGKbwx>;caw2 zZ=SPmm^ff3=%4LcXW?fz{FwG!jn4?Sdm|YTehLH(u{|&DzrsYQ%iX6yQPMV8>zQA^ zQOh!kWINO{O#N1P7sFx*2EJc>X5@dG>wQoc7&JSqYp`U>)Tvu%N6J<0fgo&ozHvX1`>O(lE0q7RRPCi^!O1{O<2Y8WqvPrapW|Dwr@ z+@6{_Rkv?KsAU%b&KaO{auxmXHAZEQ&?8(YK9+vzp?L-KZLtmfMWw~DU6GaYEEgv9 z?|OBkdN0bxqv^4s&`Y5peeAcczRRDW`?*~R5swGvs2=V31S~o;Tn12yv&JT-mj$sX z#0?fs?;>QItWQ_(w`bNw7+Y)#elyISnyAib|Ly5$;xCH#%fVhVYa@~^zpN%^=kzyW z$)>s{;VJ<&(sdAavRu&P;Su1aIm!ZL|Eb_~vkMRpLggatemP3VLi9;qqAD{Hx?YixRF*|vQC@l zY(>n%d$p#t-?LF-UXU>EW2=~Fum~QVcHNzf{zOWbHH5eDcA38i^R*sA9mCY8A=xkP zf|F5QvEYLcJuZ1_>yz4iHm?bk^4j>0w|cCD|M2p$4!5%J8(NPhh#Rx^^M0mM z=W7JK8LS?j4k&K&&^VZ;;wx10jae5Ewku4s`y8cHLtCCG0BSgDgLW0R)>xKdE5(xt zx{Jo@(5tZ89)+|ZB8Wv*3%9~QONu_jo-l0DQ#@uoE=HmuKrLp=LN&o#WlAjsl8Ntb zYLiEUe^2ziqe@gEnQ?NX*^jyO?C|%TXdLDsNCtLY5WnwekPG4I7i%VJjI-AEq?b?Ul?S&A9nfd0H1%epJ(k;hg z^)%YbI++Py*#LI&);Kl=5ZE3n)K|qkA`Tx0FkRSfVuEhk*Z2pcF)JECj}I9H6Vp5u zklqn6u$Oeu@HjLN&W?2bdroD%<0tkRuC2w@wsb-`PF<7&QP~ zu&c+%&pIFJmhp(jQ1g^JW}ffxF|h&iM`S*IN^2h;p+^h*-Ppz=R<&iD{_$YM<9jnG z!=VUpBGze+;VL#8`nq7Qbl&aoZ`AY?+?UKg2_MiGl!Ae6z!*saV zYGl&)u7;IdU1(juuzi%FNX^rk&`CKwQa`zgCJ{k)aHL1Q2GTP8OS)3%0TJghRXWc~ zjS6!mm2)N|*JnaWp7Q{;W$Lmd-G^R@0mi=Hs6`Bzq`GRIFj6JMQMRv^HvADVsV&&3 z;#j5^WPOf|gJLz5Xe>Zc*bY)t`5QxZt{kgS=XGGZ`c5)U{FWPyZAqSvc$7&=U7D4m%n~WPB+GMiuhsEAgMWoQ64C_Kl`9 z{6a=-TxX_P2L!8d|3J&35JaXOT>@1K3eI&madx8*s7A?=QDJx{SA8+8k^DceZT^D= z$XbqiX;b*%b27EE_DtPIYgjln*8j4z`^V^6HfPYc5&10jimve`Yo!4{H-uRo=Fsib zC7>U^t#%q>=fm|fNzF^%apNSai)EXa+S&qLQ)Vf}n3#iT&G5BQ?tTStL{$xgWbpI{ z`7#VFf-K6dkX0n|eDPe_G*+5cJ6!jw;&B`$uU2t9Ob*LyIRwW{tGx z(K*!;cV<@F*W@?1Wz@R0Y4+@5pC!y5D-<=Tds^Q#mzGzrs0yF6UzMx4+?$41N7vqX z*R%rFPBvU=;;*_H@~S=WFAa4SjbC?{Ne1?dzKxCTm%)u)U2hOIh?cOEQh|&eAMfWM zBMqLs^M0pPFuX@>VjHzx&2ZssSktxJIXONr#ABQ|?h0%9#>4$ldYI?wvbPa)_cLJ$ zQ~Lb%RY7D+bOOh69Z^7+QHf2Z8qGlowl&55A7+V2Q?G}=!~V{99Gh&XT6rsCNds9k{Fg$)9m%vppcA(B=I+t(g*NE!vCiZ^+vxlA)&_Fj zrsa95TqB`yeTp>Tk&d4esZRp~QBO@_Fwe3c?G`sYLKALpr2%anvi5JjLA&9Ilmq@2 zH@^nCTz)E}d7B#YkZk#9JwQRRL#M&+Ma|z^1UD)_r@=*|{0r6m7w+)C4{r10F}M>F zaU)Vl)qj#Qx{ad8_mFE`AOZg+Id)gxIpvex;Y!5AMrTeAxd%$P1>MD2CKek%l`5F% zgaI~fF!8@S>v(|hI-vENp#8(f8w0wFPXoRwgjHvXZ^(kbXP&HL9RBg0?=0!Oz1eLA zX6^Z2Hj+%x3Fry*1pRw4hlkpe)&wfCJ>1a~G^frl)Kl(A(1X26j1%cy4_CaGMU=pal>*3zNPbsZi#VhApVZ_7j6jLE z599eHdlYYAf@Eqg6U=HGB6aGEx1Hss9Iy82lwBbv>0%_dDeg_{uRAw1H2udIw$+9A znR+wcnIr5;>GL%Q>B-DhmdS5cM;9!Xw&3aNq3T7AZN+8Sf4y72)vvJ3#5U7+PmF#S z+<~r^oHS@$RhN-3$5LgZ-~_pTMoje_)xX-W{fcgZj&4DhV_E7{GPqF~zBhYBd?T~WYQK*!%aF`TQHgHV-$4BR^aFj4uf{V*~&T1!``ugT+WLYTM!;7yajQ;6AR z5>>*gzBDD%SmJo)8=Z}(*7MR)3(}H7mU7zo<=H8UxQqsn2q z8d!;&|BJh7yL5Z=A4_N0LV-Uc(5aVw^pvFJCAx{LmyjKnkiVO{9i>L&Od?vjy|SkS zS*NC)W|~WIqh)>AZAhrWd7REbY9e>E{C59QeYq~IKwUW1G^LpGA?tmNhmNq_=)KVd z;i1Cbt5u{WyN*sd-C<*0YDE|E7wOm7>_(Q*ymU9Dq7Jxl!U0)Cj6Y2B|M zPUXH9=Sf|qW@XiUC#Kz5b)Y`^nKwpVu~fNg`1bWBV&IUv*dvo;$Y9+rfj*z_!P_|s zr@IVPIJ?ABV>J2Ug!bxJh+&U99_?O+e^4t3z)m@R5(rnm$v>tNzOqEZb(3WW}Bp)doVzv*2wY{ zbS-L$al1dtKz#MPI{wCF$0~$*2;HY?JMih?Yx8eD*G;bD((nT48I*d{1-l#afO<() z`DH>_2BTz!a-^#6Y@rbAQxJ{sVj@Kj`5T;$R+<=uKM!q$=p)wv!qZ`=og^^?ty21H{ljp~hqb{xL1x8S?YoUnqk4K{$i{p@4KEbo&A3e3`6@v?y znZ$?qhM-@h9gNuk*$BYVPI{@x9biZ8qK+se{e?Pox5+>f-LLM_! zG;8V1^RB@y^-M9lL!{l?4Yeb`BeimD-j-fa-q$S3cbRw$8$b?@(P%&XL$6I>JbC?_ zkAp?Wi_n3wIhkLq4tAYRPyvyCdZ#y6@8)r2ZY^voUKCF8-(2Sbt zYE6U589sSjks}K%Fy0l>x%f*O(z_$UaOZT4Yw-B{RPjOLRRIXD^(o2rm?&}VsOir^o^-^)hmkBS{5uGRb@AuS)nb(GV@r# zr$#F*sMY%_!JA9w)rXi({fUs%k8^)iX3~M!`xY1>ZhkH%Ov1x7mw`zeSNg-GZ=GEO zdmDFPFf30?t4E9#vi3l1V%y(^7I}=v+;bjX7?yL{jPkWa-W!Aa0nscM! zWAL1EeT%&yg^Ul7l4Re6_GC9~W=dyUG99I8SDi#S(KF6fw`CQ?PV{%H4J;;Yr#hTU z`_NZl-<+UcBWbK*eC;S0o}jAZ8>m+sdMt1IBscLLyYvm;Y3uKeV^4!ZTHR(`P_F7g z+TwLi)6sazjljHT&iZ;~iD!TIa-AVAnnKI4-liFBBwsVH3J$SK2KfkcRs_oUH|_c$ zw|LP_$GLV|d;p|L^8(1{goCJ0A~kY#jBr(r-W8lq=jEEBi$v<|OX(4+VI|j9jk+Wa zUS^&3tQpriAo_}c{-B#aG)tKT(lW~GA`iscLe3qTx7ffy;RIpVF@4pBQ~26;RRk986`c-BOH6VLfTz`z$O(vLrc?)Ss1y zWuGrpE>8D4W^wb)_E>R}PCF0vX;ioTY77q|l8f1LcFG4DcZGwS-_O=Bin`u}h18rh ze$M7&;?QZ(q0b0#W7?V&)g#{u(>Rg|*WvI|&Wf%q?2qxfDIjsP^xzfLhMc3*QoGE3 z-1>s#N{umi;cUw7{LG~GdwRH)oL4`zn3ZrXx1IQ7$| zBC-%{24&#!ustXty|3G6JfJ_=rvkCg=oPt(VuMTx1T|_8t!r!tp$V zt;eEm)r&y}DK>{^5~}$j^;}mKE%ZQv+8LWi?pkxLgI=bFllgX+m5BL-kdj&p1%&&9 zipTU0=b`Kzd0Oqq#Ysc-W3i6aC$hs)HXIoA@^$R0{yUZWtIJ&ok-lS2(9ezANG}V| zVYj?1!K8t3gJm9P2_67>A!8az+=ulci{dRFTEXo-an&=fB#@LE3Rn7AVjh4syF6x47r8ffpF?Cp_WS^sGR>X@VW zn~2z|)bf7SStJcSx&3*%zIpg3)=Y*qO#4e>^}9$^w^j?i1%+^9(-2{PcTuHZ5EbqF zMvIUi@G*d{A`fT;&YQ$r4M;`j=>N-~UsSdFt#c8$0XPnsG{(4emX6sSbJITAo?0a;v9pZ*XNP8hM z=E#)?fACS8*L&nSpZy&G$|4hH(PtTN!JXqbK(VhCecfMYzKa3?DvgG#D`pu>62z%y zdlHMYqaR#bV_@10DZOU8Tc&5$^-PD>-q16u2s>Ikc~gITbRl9L$)coam4>jSt$n+L2;xZG~B=L__g6+R; zN?u}a`RmcuzQ`=9%?-=WN@b5scSajQK?6)4G=gN{d zIM<@vT;E2&T_d!_;=*!j%1QWb>+=Nu+Z;{)!&IY$^K+`lla+NJ_<nn^-usiiq2hQ`$e?uVuWB-2lY(Rm7^Oq)jDf0igIUEvs_4hwm!2b=K zI@pfOeubX4$%!6%TV>K09u{s^eL=`&_fy~K&$n0J?d7=v<74*2;U>`FcU6b09fIF8 z4uFTV3@}X`u5F^Qbk_R@ie6q`J~Hxovb0K*o+|DRV#Aj7aOH;#ej&wICYK%Ali|4) zOWW3o$w^_zI}s5P#<{JK(+=YO1L>@^7wUPYnfd9EG;B(MxT$)gwY z7K}0Uczr{<;kFS6t@njO+BoU1VNL$*`@|?v+?W?3fOlf}RJfNUdFmgt_&ggSp}#%E zyndqOM-lCW?3B1TI5BI4Sa%C^NCIi z0m{iS>TKzUAVdV zn7FtTk{Y-&GU07rHwlSWhx$_ma%~HsX0I`YEv>aMf0Nhr;b_MS4AvhN5cm(c%sc8I zy7KeVe4%=tN22DqxYswt#N5~LIb-0*C@K%!w+g#kV!@Hlj!yKIMG=c}pMKXllAN6V zcAa*Ot?ZarDzfq$WZp!_j6z0w`#xp4aJZ;{vHo#)=(@5M_t02+%{R4zL}4Bqs9aHn zs?*M`ct&qsXRURx`xFamy&kpw0JHFbSzrtnu~>B&6MDA%bT^c_`pd$W@9PctVmtN` z0h(*z;jtx|l*VPh00KSMa%I=nMz|n`3pyURU&S>pWVZA9nE2i>{phbo^|{$h$Zlor zJ1DwA8ydhAS`4iXeOO;j1Ru^->d=|*{5tIIw73BCV;w+wg7T|NyNHjL^(2^6-g$jz z@X`I;G8=S-_m1xT@Y14#&F@-A1^NpwA6ch;Io+?LLy6m5_;D@!+FU#jae6Kapbc&~ zt-;P~P}ay;sCV1EzO>E8esd%H51czyv(u|ozp{sWukfc`H}X8#wrH7{_wC@-)AU4W z=uk;0wAHOKI!sm5QRoj1?Th`SWuK1JD{8=u+v|YdN>{bj<5NK5_c!?C|H%{-5`a9R-8o z91p)KC+x0}4RACtV3sXN6se$)AS!9~pCz6et0&c)#^PeDu3r1jPT{VuuE(pHIh#2j zsl~o>f{~2dwk<71Q|hw8S$=jh1z8!Hp(>O8Yms0V8-|R0t=+<|K#^XE`vrYnq2XYu zO>}yHv#NLgROb$Cu#PmX%5JVVV~A;LAS8FH%B;(>a4||11CN0y!J^Vd<5bPmnlvm| zx!UeuS6zLfrV-Q>r>4GjQh%P>x1A0S?NP+rs@N5q0LSR8yIhH~*as!S0EQve+&wXr z?q0bh*0`v=UENqZ_P|4$j4vF+i`sE*(4op2g8f(nzs5i|Cy?My6FzMiC8A37F3u1E z9*#)xJt87}WOZ}Pa!JLIKyv)2{2_KWS%fA8@lhn4)Y#yoW5NbHak0gr=mLW>#hSY= zUH{Im-uc7keAJ%F>8)wD-9bW*Kz?x0@8Su8<~CJ2>1a|uaw{(}LJ3@;U0P5QEGv)6G0e3!p&LQ1SIPZf@s zI3h9~WlQvyUd4<9AS6UC5_yvNHUGhMfJ8oScxh^iy6{bvP>ioI!Gf!gQTRs|www84 zIszGsbGjHi0xPG%JYgFCjmY4jQH#CsQD3QfzI0~p+K$8KU{yHRA(C79r zQf?|K-)}Wqg)rMa1{eFuM=oHK4vpR4JP=>o2%ye92AptPSUg75`?`FXyO|L~F^2N% z-4Q zFvs|3p$y_}?&!s&sh8+l5W%vvx)9Nym)3AJX5ucFE^|M@vU0%Y=s3w*7ut8|r^h4K z&+?(|YT$rrw<)Ehl4RlGI72s5<&5r9ALX+CC$;_4`bvhYtKDQ2MZS1OCH>tZFN(hh zw!{W-_aIS;4uw)GNw#yRz2+j_!DuSwIBip5W?T?;W@a*z>qH>eElT$*;YMX>%I=N5 zpk^5{O=bIMSPv(c-L%|0<##NY!*bH{qFQUgL;bg<_dZc-p(}LcPu$> zq^7zo=Jt7U4LMzgS`1%wjJ{)ITDh#eN~?+J+F^u%nLczS;KpH$)wUH?e>`8TL{G$z ze47TiYO|LC<@LG;sO?TU1yHdz$2#-uheRUExY~CHth&`*Nb9F~j6eB;8*Xxrej>g4s-X9o-n)N^ zrCoqeW@u5t#@c%C#^)ZR!SAN4waNbBY`NjD5N0nt0%!rb--PUkCZr;nf$nn&d4d18 zAkvYWPj?-k%(*Z#EaH>yve=GC7mB14eZbvt=b&P%q*NTt|{tyPRBEdy=u0D zbMOu9v^ac-3=%S(_8Q1H-hc7yx)~C=3(k{Z)T4)qPsekqOuwu0qXSX~W^IaAU=^;< z6P}~4x^HB~g-NI1kCn;Y>+|v_V>^q3VE<|8!1g<%j|}}Wo?n6}lHXIhRolt%%DEB` zIsRiDBd5M|9*Z!iM3uJ>D%Nc(c234ja?9ysg!Ib+Omk$gIZ-X-DRDGtUc=)6Tjfh*@26buzZb1xQ(HKrPoK%_gkyx%IojK}U>_u`%ul<*6U3m}j*89af^Rch$pKQ51 z`{#eKfQV~SAzzfrw*&v%=R$7;)4S52U>;r4u~YpYEQFE_sertl=_2i)G6wic91xOHc4ATa!JV>ur9 zh!Gs*{B@oN;K53>bU1w{oA#%Q#M@I;KSrp@1JUa5n8nX(O(*qDfz1&QeSnEitEh1G z{?O9!#z$VV$n?NtEWEuDuBi%)ldwnqk{~r{bJwvkl-M)R9>3I-GgCscl%{2Y`#*m&5pUnetrNW z%cVv*h!|-rH0f#ogeLCZh7t6|22yeqe9b}=wej_X7TrQ7v?7FQ#Qy<$&f0DtA5E+D zfaBLFDfA^reJUukePL~nbcZ}PeZJi|U-d6`<&P^C!04mP>`~+bSY(_P9Nwm5LN$iE zkODcrV@#)UD`eH;iaNQzLbBh~S}NqVwX$=YiyuWbYn!s@L$Hhwx=(CtsD$Eo*}9L{ z;%BhO)T*W9Q5F2U?9 z$yy8d3My!uv?mnnEk-W*fwG1CHj}irEDRC|9x_0{eTN@OE%B${*v;X~y1bo~UEYo3 ztv*Ur8q79IY5 zn4^%HiP(Dmje^?>=H^?_1Jw;tV?lO~u70*vmRbWzWQVy!W5cQ(S~(r-qD0;}0fmUy zNo6Yg430rXdFkCrCQ8R)ElHnf_B2EPx{K;&T`BV(W4(Q}2v^y7(V_+ZBKPH&N#ed< zkKYpmrDkDNQ;6-yZUFmSe8i;sf4=FMI;XP_-u1{{?tI7WP_xD9uB#zd&Y3DX_nOrm0yJWu9*KueWO_~&2 zl1!Xhp{|AC3H2k~MYfr1yOYt^t1-FWLzIirOF$pgE>m~Y+Er2ps~jKKAzp(tt97jV zxsIR&-QgJN=z`O+pLxw=n%oLY*Kx*6mv2;TT-xR$i(NT$mzIc^m-yS3ru^jH!IYB! zWj<}3s&HtmziG)pnWJ^3wpNu$+esy-Ab)_bnAn^tHH4YV>6l<(ugB zO*U1jpyrl>cbIPW^h3`1r}|=fQ+u0sWv2T_+b*B>-PK776={*M7A!S161Vls>aTSm z>h6n_km$`zYn<|G`i^*q1t1e>TCvTIi`FF@@r{)5f`eYEY1%2*Btz3@3opO& zFO5={?E?g7cC20fvIZOv%{1g;{3H(B?~-!@1!6su{@R#R7Sm#8sf!B^7xBOT$`dDr zl`+v4ttF?_YuL4jmfOXrCvinia-1h%?^e#T4gW(Wj_$jdh79+$lG!_XQ$%=u!P#Sb zTLS<aR22$-Ba zNG)9`z6a(dy6WPl6+^cbXD3!HT_Y!_d1xl9SUm140*C7s`8Ix92@|ef=l5||#(&MGx1^&D zN=ho|e;&z6e_1VCeD&WA)$n~KJz*yQ!2&Qlo}Bt(h(HwPXlOq$oJXHpSx&l}27?b| zsOx>&tTs^g+mN*CUf*WGMjNd@AlRr)6LFVcKV{w~J=M3@I;d%FO- z!P+TldEP1}W}F?haQf2&bqWreRiE=hh#$2=Dj%9@+9ph54G8$2Ph1fad1TPInHQ>S_M_1MTsT= zE&Wz}JpV9=g*+1DQfluVvRR=iWK{e0G~cle?Tm#YUq_~v5hJGpExQgBFv2~ZqzGWh zP6tbSUYfOaCD7NiswmKx-*O$)dYQDe!^C`F*0a+D`sU8Mp33E(jRIH*rUxI<)9%OAZWfMhVc*_IakAh${0HUvXtNRs zw;CMWTN@!89YX=TQGehMc@B3OC*0ajNB5$|AUyOfb zpMdMO6clLtV$2Y{XG52Rqho>GmM`?NREGVA6}+6xV*)Xe3d}n$6Uz3vAAt+uoxiCT zl~kmChAHKG<&fH3_RkH1wG|>AoW3||M%#-&#Q%$vectR1!NJB|y*VKAK|CfvClxsA zC;QZC_x1j{BaOS`xp*x$3$WpDK&4PiZ;e4(sOY?2(F?>TY%#hun#^+#ac%3!aRR2K zq#Q@w+igkWzFrP|1~|VmZS8O#!2E1%YK*n$6Tg3dwST7)Hp>pht*A6>|(bx<9 z#?vOyA$0lq644Ky7pmq;N{%VAZkxTRlXUO!n7{tn<>f~5@ixFC#iMzDcJDOx(D6bu zn4hzE8ZQhDgLBvYZ&>U9M&6!aF07SSj~cP%l37c;mDU#*@r=4h=sgSmJCOpRr$=Zg z2@F_Gd<^=Wij)@r8KLW2`xOF$=UqF@S>P+v6v#6!v6Q`>3(-Ln3b~?yh%<>8)kw?r zGjI<5e5MSaf+~Y`YWX}p)dZKPmU%AAuUVuQS6k;`aV!GWA0(4QmadmO3@(u{SbB|T zy2DS9pZM&XC*gDD|D^|z=NCvL;wx^$*Qd>s;IdodCU}*bo7-T! zAna_k+f-LqceyhnBPn@yem>CO@7^7rXi7yY5Tl~0KDLIO-qzU()n&+d=ow6t23A7r z4W|iZa*x2LgL~285bI7*WZ}`OrhwY*S*EAY&JF3QRn&u_+aFBmMA2cC{c3y`Ufo)` zgVEd*n(7un=jqbyUSlQPl?CR0Jf4=Ve9I>-C6yhj`0>5>6Z8g1DLlBe^h=(U)wDkp zlNybL?{;mZsFV#@p`WSx^@vJTA&r<4hlY)-5-LQlg1HxvY>RR)^!m~8gd*0Wt9T@n zUfVB6`^Kh|1@i(Cy^d?D<2iT-W;Wc;c7Wl!;QJD_QiOMS4y*8c-~>92NyJs(`{Oqa zITgGKo=V3LgE<~CLdIP7=kvvtuy~&WTACON>}x5a!Zoe%f@UqZQlbGOqB96#O&{7x z3$_6)!sC3R(8f>DxB4=^)`d1*(z8zAS1J_@c7ZG}FGIWzX5I`pl9THXt#nRx10Uy<^dE&bqONPjwHTKldMcbX4%pwB zv|HS^7V8I`NaHj!);ODf+ZmoH3&%bf4KF@qGNU4v8f*HbVTm-S#OG?A+`zHi_5$n8 z{UATywxVWIXZvSmJ;rD!UkV1&Rj^~k39TrxRKYx{FaNwz#UhpEP8Khu!zZF!PcG8P zkw{r4_Dn62C+2bbbhxn%GVffAjPf)q$sCWDny#K6drGjv+_!Mi_dIy0qoNw);M=+S z+EUM@*)oPKF?q>2kj5Rb^rkI>B)+|lP(dJ8&ATa4le<~YVb(=kQ7bXUlbM6-R5~3L zxXV7s#JVKW573cvGrqBtlJ`hg?kcbmQ;0mPxAQ8*%I`xbiP?I_Fgc?bPkeoi^aCO- z(={Rg9W`Yn(dpRzud}hPEKh>04(Z0kydbk#xsM&U@fKbT@rzbT_~xvwbZNfM@_#&@ z`)hczr&8eLs)zFeKs6t%e=I0UC@J3Sl=zg-AmSUXyY=+t@qkd#(33GR8Cb2nG!ClK zsVJrPPdM22n4}E1A`HpC!0ea`{`Zm-=z>(WMKhSMANHnlW5LT_ar$rZB|JF-u<6v_ z`{Y_H)oAH`ZuCC;iwM34)!E=jAodz))92-j<|{XO-(B1@85vsk#%4Yq-h;Mh{{a0KZP0L^Qw7|bes5nj^lhkv zG-2g8ZuoHW0i-n|qQ;CXok~6vlWn#Kr0L_kin~~&*3~N-)IsC6=f|^oHX*D6RA?WN zYtD=BC5W1uKl`e&m^SBBQ^Qmve#@PV=d#jOkDAf6WO!wKTbtC^l14ZBkeb>z&FH3* zSaqKEq+3NqczF?SB7ts#lSkZd*6g{MMo_D|MKso^I0Sy1g3rIQzmva}C(vIqZ``c1F1;Enp z(~EC0M%j-7!XjFb)5#JX3f@Y%xfYDV3*F9+4taYwFtOmd*zRA3paF@u_U~(y9!ajn z5w4ofZR*X6iCeowdfheS=#&St>BLV?yfM|RCKL7gRHK;2l398(D?f9)eJsqpMs4!A zYN%{@P_;YYAfur-%sakf8wjb!dflMJC$8dQ2igzk&^<4kGocDQE|Zl~i(;2B6P#Tf z-4h=;2Rq-vI}KHRa4vvvW*(YCdrZuA1iRJUyv17VuO4$Yfb^}J!=n-#WIi+PVFw+b-Kcz2gWWQOhc>0l2v_&>qt&V( zc_)=@D&AzzObdx>23=dLa{uP}mXim}&{w3COHwPVr1Sx52LM3VMwl7e3ZA-FWSq_< zFQVimkh_fg9ZvuJW@e%zNco)CH#qzT$2Ee-0m!LR2EDtz`*Krdp15K4{=sYmvS!X8{+|!>W2_Tc!c@>+tTbxd@nszWV8{^_s-7pm6X!peFC@wxaHFANa z?cK(beWvZRw&vxT1VRn=SeTfM$>*jyvemygey9o;a8eW#t|M<4wBjP%Vl!PiOKqx1%#|D;KihMm>C8JjH|%=1b80!BM(6JsYgaf~PN&tpS^S);-^CDb;G4e4DWjJV zr)>-F92TpR2h_21;p&VWoU%H9ZbNWPxRMTz+?|Ju!H(0E^O4~e8pyIYpQ5zVPLTSe zGgSa;z!nNwSl~9W-EezA?EE161A|xVFsdT^Qhywj7s{%wES{vkkh9Ic_bDyKEdihs6%LX~ACNZ46?v@NZip?o~K zaekGNG!^L=qVs4&+h1vq|AHb99|-5YDt8VY}sSfGv^ z!XQj%`M%OrZV!*;NBnWF?s(^?j=N-86G999zOxTek(Y+KaT-Hd2Z+JKkVKrplv#lW z^q&rhEg)8>TCxn_oDB;P)w`UD$B%mkR1^WN`7QO(RY7zR8pizFs8HdEj0&$%iF5qOrT_(@|(vSCZXtt!OH2M zeNm5E82>9I(>6E;wyp}o8-8e~3IY&mQ#>Ep!yq|1X>Hz5ZQ4xeL1biPOzpQDryWm^ zki$y*)plrw?)=gcpUrGpYb&2N)jK34_i^#*1nPF(mX3kb5qVq`)lyf|d)fNPa%3I_ z`lECZlU8BH=f>&bZ6`?;EBzA=it}MHm2}V!4D}=ZiNzg|UM4k}U+pPKr>CN+r{y5s zOC%s|DfK8bSiKZJGwUm}`WCkqHNR2aRaCAyj-15l8z=_f_3E9;_kN3#e(L6(?j)O7 zXX%62x9SZBU-fjnO9C6^Jxso9=;W#>IUK}Tg|_E#zyRZ8M=vd>MJ{Dsugsa`B_W(G zSx2dKkiLed4GpiKT5^1*zg3bAxI`@*M>`ClBuTJ-Ye0V8-77>( zdIxrxlfL6O(SJi-?BACo&IxWMq!N@^6)vt&{_qtu;BR!>oLHKqs>1J0g`Gxjf~N{R z?t2Y_a!~}N%)tU2rmR5fPs^a zz1{Qb;O=tw=_08E3kPS?jM1Q7S6|=G#>Q)vfw^3-lW&TP(MZWISVhM}88>1AgJppk~=afO3+hh4_Nj{=_sZ z>i(=bk32fxpXSX)t`l{n+}y4u27*gvwxRfUxF^JN>QsHh@e`UqeUFG%`-GK##rV<} zs$UkNT*1t2RbNwO*}PrW92jFVztERA8SMYGI>B1=Hg(>p;KtYi^eAE#P#a9vGW8J= zy{8nY+un_IM2-2&$QjlexP0&Y!+l~yGMm-!9&~Hmz8WD(`n>>bXHLlB7o+544coi-#MsqylDdCWH!+tjU8rGNC-nU0();nIe_tj2lnC;N zSir1g^*RuI^+cVG5`l*6r9mZF?PF_t+OWpp*7+B_tTUPLZe{Q6qrIH+s1Mrcu-9N( zH{YG)LB&-a!O8oMJqK}NWiOwo_Wb`5wUp_G6_x9LJ7UnI-g}HB7q8UV+yEEZ0|7?7^ZcG5)#Extk}EdD)TV#DSn>rc1t*7Da2rKOBhX+H ziwCB$oCKX8YDfe8ap=*TFB#HtYrO8q78`2Y@_hcRU8gxLKS35KIZRk~j4T7d%$OJ$XhhsU)6;!UmUtl3V`HZ? z8U}j54ZrI$-rU?2HjS^W2vAUT_4WqCxyUWf;N){wwz27SKl}Fqz+g^bTZeMdRHZ@3 z0N^BDOeIT{JiF;4vhq-de!urv}MI~UTVPF`Un3#Y;2hZtXexH1wcd(Z; zm#mj39OUi)#ea49Vb0z#v`AaW9_IN2_icB0B(1?xk<3$)NrWu!ucA$}Me)e%o?KCy(X_Oc6N5}*jmD<{sZb%UpK(DXgnrdlN!=*D#P*;$EWA$%*ws=dg zZ18uoxQUJqeVk=5$IE|v{+I+#^ugMO`}XgTd;VYjw@(IDP!1WB;M4y>++PL7^@d-Y za1s(o(BKXsNP;_!li*HpcXxLS!QFy2?%o841{w?Q?k-K^?lPU<_kX{dnVN%{s;L@| zIG~}My`R0Gz3#QH)e#T~W!7nOD*WAP&~LI+P<-nH5zi-MGYPwRUmT9zt*a|aLqoGY zU~Ow_Yo$h;M0a#!mJ|^1eG84+Gm8LYeLQpfkEXZ{UTFT4yn6z_C)}+zZJ{+oBp0bA z(oTGNvQ}Y5k@GUo&^?Wpi&+(=`0GM9&=#`fJ*!8GFR(#Fhun60g)nURfX z7OJWYid-)T3L7D!ZEirRZ-?kk;mr^0K)-UJ70MHXNYU9V%KOaA&;S1A3ds=NvF_iMdBFlyx^wRAt17hI9GbgFGTmaB72HW_e@ z2PGqZxJ0Y01RU%Wr^+HIV;fIu|5N|?zqdaoTpoL$G}e_2O!XL5!;L~r{QST9(d!V^ zbi8ci>UqX|K24aP0}tl5>(Si;5eXdox4zMfbGlyXY`sQ^ntywrMJzXh1^^Dr$)S3S z4Sa;3!|PIakCCqFjW#WgTb4NQPsE%DvtRh_&t6(Zp81kyT<373ge{$EU(G)PGtwKjzR2#AzM{|bl?=0|=N!=uggllN91{$mYe9uWV@@=Y^wFW86f9`;o z05#<7)zfJ3?H1yz^|M4tzZb_FcKINjmDfbF>;+$>V#k+7tb^K^F_lDaXX~%f0KWwu zUr&HoD=|M~cG+I01UyTR^Kwj>{}adg&FV6@S!4^;gpMxWlLz$}>C$n}1>%_>-x)y- z-P-c4eVFUTopb-VY`>>~L9A6dXOqqLh(yfc$6%-4m5U!GukjQG?bT_j+>`R*MdEwf zBxz3DUWQ4z!X4GXiV<(?&jowA3#Y?Fpg}3X3_VeEFGAe=4JJgyr)VUC34ILs%lY6h z=PoQNGKFr(L1lMg6>I)NvsXK~(Q;+Uc)sM;kCOb60n$ljxqRxYMfQ~ zBy!dVQ|*f#TY1^JfAnfhq7c?VTh^)ECcAvZSQiIURk{5d8)J>mG0`cQug2-E1+|x! zEB5y%`Cn9FVl|T@^gd*6ZbUMd(7&}`8d|M}_D3s5fvRQxe%J3{HD&u?ibsho>5|g8 zZ-yc5(teWPON*PaGxCUl}rVgZYP1mF5@LM?< zX?|95I~vR^P2uTU+35>ezs z`f^HvhG){B8duYiyedLwXsAl^jpkMkTwf>D{(hpM3v+|Tzl#3I4Gj#^T`2U(N(`{%LScEseAWF1an3Z0zQxYqXdenS*P@L#(T$@Ij}I?*~g$Q&orY+t&z)E?M$`gzOamBQ3Eu;qU5a4(_$p6IqDg{O^m| zYqwRMOr2}f7CICuCH9Nl-S(#~lgdoTKc(kwZo)0y7asijk)}mU zTie*qZWOu{a`mDF@(N97@E~l#vEy z#AQ8BO{ZRy+AT?HSo|q0r1sTv+L2aNWc5{$m6H=#UWp}n;_P@4(_ZSt$QIKt`BM@G z2}OuPoIke}8>K`=LxaH`<_ERTPWx5|7U6RV<}iW9$Y)EJ6G0&hS1{hn3tO6O?vHUF zg;<~qT4haRodxREAF^c`M4-w}_E(j0`6$LGq+%ZXr7lf!8#%g7FWIOM4nHKZ)P{j= zbRv9^LyFo(jslQ&VwuzRRqoTCZX|RhtClS~>`_EO18!rHQ9ow1p}8WoUe!&Gi&xP3 z{H3A35<404}PwN^5uT;Vu1jvN2#E z4<*;DcQV(j<;r+Ey}s;OBO5jM3<_zgt!dYEeW=}t+2U{AJQ~AN=x-+LWQ`ZpNpm?^ zikvn3x(LN1&C#aGTmM0B_nfO6Y0kKqQ0%q$-0!c=9%Y&9qxm=pFj`&G zpRMrDPqr7Jsy$C5z@EIelg(_WR``Cy?zfN^9XdMX`OI2{*zzYr38Gi$fdsyObp&Sr z`#0{n9yX9xch^)f14HY>3J96^P39bXhAl3yg_4&dLSmybEb%rCJ0FZXDLC(lFx6n{F9D^ zI-lE7aBJDMP-c3SZqpBYj;@(m4Q1cYmM^(Ol|GK&T$*AJep*RQcK#lci(NLSL@$?G zD3qo+B6Tmnur@U{9o)ggPua_wjB~tm3J=Ubz3y4J2;p#fhf<`uSN70F=)jot7IL8X6lBu;%mlxT3Js83;4x z4HjRTC!Dfay*j_l!8l$d1V63C780iugoXykkR55NYKo~-V7Oi_)*JW5OpU_;X2Ur-^H^&zuYC<9y z>_Tg+e(wdW*x74`D;Op@>oO|5m#$(2)sb<bII$rS#eU0nS-R5IcX2swwjl`E~q0+arj9)y=Dc$%K$ z-3zmlS87V>muTwIC_CQy;2^(tVbY~L+|OfxR5i#qvGcSCd_Bjeu1W2GumAjfn}^rs z`ab%~un?qqx(fPy-}yB49K|;D7x(j#7Dn34JA7un{XwI;6f4t-KB-0@?PLvb5 zRWFU1pdaPAA6=_bl@nfOS4lHs%;h-a+h$D2ujFk2+EA1ZMX^dU$ye z5IXLqi(~W+N-uE`Zyh+VT zrSw@3IqG0%HP}}?l@AVn;T_*_c+B0&-EzP8YI;DtM+)IyuGh9v7R;u9GQ4_J6{}Ox zSE0&pnS&{?WmO_n9SMmstp%G)M&PK@B?;>>*z@fytLH3X#7YS^IEuOJ3q+3K_q|Ou zA>n0l_ldFp+0xJciGgbV?AiwMz#R|LAHG1vz3}7xL{C>tsC4@CNwHske36{_(_iJA zJe!H%s%x^j7{Chvd<&Mq&HSl)s=U@@h7OB`wpYN;bab}#xm55qgv@BIWBrH3n^(NL zdx_0D^T)Oh}O{}@bswfgCQd_~jMDLF7R^#S;9;yyUQM9Kg!I{@+mW-F#=9?#8ZHaNl>jfl^>(U1npgs;Z2v{*hk z_PfkR9HZ9Ix~!be3TTDy+Xx#c<(nU`pynx@!ANrnfctu6%~Avb_H%DYNkVqB z1hoCG=;UxyWTY)djh7dG9X_D~q==zlnaBJ-Jm8Nr_N=u=&HSU$ti}ljls}D{Q zTSxxib_QgM$5s?&DYaC>xPPo?Mn}HTQVF}4<)63NK`JoTd>r|Ae{#< za=Bfs&X65loVb@=Qru_IW+3u&KuGZN?q`jct=e7TPgILYj7 zBenO9rC<2nwZ*Y%{Qb{v}kzC2`01sG@WE$DjH+(*GN{)te(_+|3H# zIrsIDm&>0pyo9|9H^6MhFEaK3Ps^K}<@w^l}ylB%z8nMX~`erBUFJAycCq5Pyr)?|H2k_0P zIR@=Vx7{NFAl`<>HXR*U);gJqDQ~F|0&4vMRrkDQP*+d+&c&69pQEaD@4Gji+tAQ3 z2T~n3Itu<3Sr@0!vhRNM7^v3nUgC!z3$z$ppRQXyobU@oB=W_H=Pj}H$ZLko zc7vW#e%!GDdtpGH0nhFI{Wvp5R#`fA2=Sz zbI~H>FQ>Pd`a>V->dOIA>)YGHJodv5A<~f&a?I5ep$|w_6BiYWLaIlTEz*C3jmXME zHoo&?h>h6jJ4hb{@tx`31uCTt_M3fNK{rgraIKyEt<&Ul?DLNBaML0;)6B-sYAwfd%IGFJi*!H@-K&;&5fR9|!Seq7S{ybrbMzL+BpcftXN4?a8Pmc=4B|!6BHQKU zWV{t4G&KL^mp}-vJ4D)4-7GCF-E!LM{ul;{imsPZPf3OKTIwdNnfJw_kO&FJ;b~f; zU4fo_#`k-BdpX{%x=t5ZPZLGw`mG|D0HOrVT0|KgKmSU*dgZ4y`0-LC_iU_&jy8YHT2%|7Lzk>HVUL4SM)Z5Kk*}o%3YKC(e*j z&Aw&561j*)Xd9X0Oc|I`;{mBo6bo(m0uj*6D)Y`oSa4e6X?f~9+a5R&oKIC~_&deL zE8}M5kNI>n+MONCOYx03zV_m5>kC;k!5oEALfCfI5?;2;v)irFfQPcMU@Ff3$41_l zl-tA9!Xbd);9{JT{4E@~k;_L%5;rDG+HR-$H-3fQY>X$32x$KpJQc8dx$xDQr!YX z4K*n;$&Fd#y}d;)E}V$43--`R+Qg&II~KbE(2&;BPsy_8b7lVb!VN2ZDO&&eE7(7TAX)2lc6;1n+fG>0r{uMY7y1XLJ z!_7TCJCmHE&uO(J;Oy)ShA#-zd-6!7(gMx9Yr5`GjE5%;aCmrle!j7s+(;UGvu>K$ zS`ej#pD9aPHwmc<-OPY;v85_214pWwYAgxQ;MSRVjEk-942~XMo~MdCjVaXEZ+zcn z!?2sAwq_|7NEV~BIzt~i)lNe2K6ng$%zgB+qhP00>R`**7tc#x??GS#a^twHu*iQS0d|=c1wVD;IeANe^t=pHeUbyWAuFVvKm&+iEqn z#&Y*bI7_TNDX)c=K$d|oB}X-+W`6b2^>$Cm1>KHoz+1>!r%|Xq-boWQLpTLS%vG*d z@l118th=Zj?|EFU@7u}|F$S_i34Z+9gTjD4XRGi#J?u@9+tCGijAu7Lc8OVPtA*dL(PC&elQuz@&}p#@b4u;p=;$Nf>gI@kVp4Vwsq{SE zgdP#)X=SW>8}WFL|MqJyffsx@lcD8lmXb-wdQ*7mZ`q@2Lf+`hWl2Oq`*wLUqG*%N zBh}WDm@{r9-dI{YS4ba-x7u_|@BDbXp^&JCocjQCPr~D8yT5w!wu8nTu0ZqTr*5P9 zw~ehQY_Wwc^62&0@;=R+J2_O2jn@}T9XjjygyURq3koB(jh8$XqN&;+zu1lu9w9P_ z-;TT|b8NxqcPNQ$`|d>6-6Ll(eRghkys-i74pqATQZQA_fRf_4k$W5qp+b}EFe{3M zNPVy@$8pOKSqy+&)Mpb!z~MpHQHBFC-6myL{s zkBDkn0L7+%MyDiVulck6DQ*rmWn@qkFk&a!biah%-nKgItL)mBVi6@Z(a^Y5j~4F; zBm@S=fh3n^>y|An`U|x2kb}XR`Qp+1Sy_r28aPB)qS*6Cs&MJx@zG~2b7Y7oQAT-v z{d-_*Yh5v~BllsopK-xtVrc>gujAjajmD~zN93m&N(pkFNHWgK ztVy)VdAW=7pJO*fm1q?l$#)O2BcpIm}<-kktaJCOtmqWeZ>`7b3*9w!G`1wQAh36`1m^SV0q-1 z5&={A;9?A#$;#$+X^y+{Qu~hjIL~hS)0LLI-iD;Pp}IKYxWX`eN)lMf_<^6WuF~g0 zN2;*K)4pqrqVqdA>jAE^+Jn^8FluV{?s>w-V)dLdh2c}sfQGi6PgG;ni!F!JpQ&u~ zW22+z8Liq{$FX;-b5wrvA!9MgTGl3pXEaQb={_K=Xyeed#J<5<4G{5aN74YmK#{W*M$LtPWG zA#zvHNKac%VzUx$W60l8a_tpZ$TM2t_ZWgoIJsQGo0%rIw9KJ05o0?ZrjJG*m1xZ8Z|SSrad>3zi+zrQ5Do!$Zg(lg8zzuXALmDy^;dB1>P?4br!G z^|O!p_`#khgJ}ihNGd0+cvUUb zZ6Zf6k5B@*4i3x}$A=rk-lY6lYk=4oYgw~ov;0W8{ znm%(Vu*(=8Y2lnZ&}0xX&WGmloUV27{2QhIfUDJq!*i--#R3FrJw`{1XDcYo9*KP$ z;>ymBFjecU=A^7xzS1&Kc?E=tgw5g=^b8eSv7D3RBLN1>{=0xzUO8tWHD}`3M?^O< z%J!IWI(Zhu{n+6_Ez~T7+w;U%J^L*sWj;JMzXVyioUi(==2kCVYE=!@p88BU0jOJ* zdRQkx*Jjx}(?4#~n~*H;GAp7X@S1dAhKEJ2y$})&bJ~rgPlEp)Vh$3atTWjD*l3o3 z#LJ8?mby@pV^C3tV!rsZ?Sj7VU*@Y;SinvBQks|{3TtTPf7VIM)3Ma*wRUp`K^P}Qi+)vvt# z9;r3L#=*h5ySGIyi4pMcU0g0VId19bJwGG7@c2IqOAX)>5u30P!e|B8)ZE8(%qPP7 z!@@yKc}%Od+wIfv*h()sQG-k8P)Em4u8IDOzaFoO>+4nVH7q@L95fIW3PU7>6fK=B zEOUkM(4NHg>ol)?bbCp>LPpqZ+B~P?a!vcEdwm7k%m=#vOEJBAW#^3a&x7#)lKH@k z2=Lw?*~;4bpYP$-B@P|@toVOoa41j+?y^oPb7vOt;HlM_nLm%~(dZ57ns~H)@fnb| zkpK7F?nC_GBaF}YRSgZZ%a4YHpmmJ_^(nWqbj||nRGVIXw=n`iv-fao#;ZL9FR8CS zO%YxD3Vrrgif){k`vgv@L)8AeXku+}=jto3c0H%`me9zT(;x2G6f=1$CwDCWz2nQ* zzMpaMG8w1^oM`hy=>;SBnN6Wt(~n;NKuxDQd)T>unsb9MC7lEJ6=nKsH-)m;r5I|Q z*IOb)%pmR5BC{3gs`dUcDG2_{p@cW0?Ypf{GOK!!+am>~L6s}QlZSbpu-#+E7WXAn zK4V=No*={>r2z8PbL*kn&M5DgS6!_6z>!e?nj_ zDFucaXlK4_WB&a527M*%Do$o?+feeMq?JWc-|OT?^Qt(G@lb}W%CPeO6sn520#o05 zcUzq7r}e9ObWD07RnzLfxo_~|r7^~9q)p^oMZSV{g#^CR4eNF^33!6fWa>} zFg2&s_-^B&2#cGqURfvt9th9 z#|ItLJ6|Z5zTkb2xwczIi@#@0Gl%g(2>ErEy351wNjEwCgoY>M?oJc{`~vvxq-ZVo zbh!DKEgzP}$7zAeggKj~v~OPotppGvSvMyr2{~J?pY?A?D^I8@vae*c?p;I5(Ne^~ zWei851xCUd`2Jv@1e8WwESZn@otuP47=9x06_oiUIG$4E%&7%O7hXXlYY8)4x^tRj z7ti+Y<`Sx!`+yVqGkmlurdHL@$}3gAl~(CxO7$f!jK&S!!{nnw(#~AsXS`msCyyU* z3=g^8Lk&0ko5_y{z@&J%o@e9@oSCE~|4_g8Bg~$p4-4>FteUM5@VZlMi>AFrRcUr2 z7BskcH_bg&8Inmwyar3^F+}{CO^C}e7?y0Lj@k7Y(0GMfBP&j8TdBcjB zs;Q-^g<-HkcLYDE7{zPZNgLmpXQy>vp8I^A%^_YFyOk&IFGkkJxLk&Z`Lo6jx=6r; z-3)zt9NSVE<;l}XHU-vDM&W8bXQyRnk^Aw;S!R6D9e4utfVG0V;0ZAd)( zLZiX%eV@gU)GDy=@85==J1e0dY5C-7RC_P!;42X{es$9Xc6AEvqEW~&MX#M{T0y$v zk7G+8;Y?ri#OC(v8<6 zIw?XiK--;9pA>=~#k(WZ)o^FkD!pL}%skOv+vg*y_*4mSo)HN9q7!7a_R3twDZi$m zpmjo%^IH7w_-FvvO%SxLG+KB-q}=i$eoI2TngcMXAR{k@QpH7tTIYWC;R;)eEvyKl za(+-fm69Iyj*>)*9)4BYL%8I_AtE67+bjBJmaH1=Seu_L zbz&O{1P`y(C=fK-J%tn?XxC!c6e>;|Z+20W|Gi%oj927_mS+z6z=rx0@g;_zq`+TT z`FeXo$?rDA^)QDhJEkJU_G>l8s_ceS%m!4^&%3n~2S5DJyv1jZf5m<0UL{#NSE+xq z(ex`rKG(?#!Qhw0`Fp?ViXcX91<^{h>dy*lmFFS;+MjiB+3x%wg~{54ea`}J^_fu} zP~SUJq&QPQU~sY1gs$FAmA1R&F0P32Z~me>so8cZv<@3+E(i>@Vrc7)YW$%iDdc&Z z@;Xu9S(Wt3vt7mTXy?STvgvo$lyH{l2b_PQ%lw=CSWBi1F3-HA!gv00t|{2L;*Q5& z0){BPjW>~mF-%i8ZFiksfCDD~$J!=-J8cf1zqclkTITl3lHQ$`Q&dYpv-H(ZPT&rk zCc=?K=)17RQO*L~&i5%uhq0x`{at7e7tC3bD{W@qe^&B8bVO*@s++phh2I@-iGtS$ z;M)9@L`|L(5z|7Ek6B>vGZnnOHxS3Q3LMz@9$^mPvX10hAb*849U~mcZDyH@s1OP;@ z)$9tp_Po54VE&LgA3Rd0*Ph{>8_wQkf2g58SH0y+5>3Rk{d<+uE}i-mmGp#*%j6eE zY%*?nc{!80o^3sDEE=gmSD(-~{xB7tuT{VGi#QEX)U!Y2OGI5`oD$o7gI@>kf37-| z;iCQGz;`o`o&|1APMMQ_kxhS8Z$ZJA;ar{oF?DlzzLb`DPE%Xh8DIQmdh~}viwk$h z+|OE9WRhMQHUsPLDx_p)hj$K&_^;^_%jlTfC3`j_Mc;6ZO}L-4t*txK)AadhX8@H{ z+H-t!cOOW?_&s5l&3qA-CQ-@wfO!MTvjmlwC{-Q%vx{@bP1%r#XvB9-p6+)}&$`eb;nr^DM5B2io%=uOmsCL@9=t^Pcn*JKWbk z;JBc2z!0u2R;*>A)H@G-}nt@1mk+6GW~O8p$`LJTH~ z`Qh;GeaEIJW2s<+s2lh54;}!U2W=#jxZJn$Z{wFCz&1U;M@d{M0yYEA_BS_jc$dQxOv;c-GsE!(;21fNds!4Mc z3$M?HN3Uh?kC9;IcXBj#$8JRh=M+^#Eadyt{r6)#UGyRXB&Z;nsZkDe6i?eIQutih z^LT!ub5+C+XZ)FM6pkJk=YsiT)p$(=ReSoY3R zJz3;*lDbwo#W&gO#0Wxevofp&_R=n+%9S+g$M+O%!z96F=NXQl$r8PL9f_|&16s=Z z3c!3PoBnW|N4wbBl{X(NII7)1BDLT{{DYbOPcdktjaR zFc!S`IE#AqS^#xz$FW6ByWvm}Y)q#Z)MYqcz?qz^MDyHYHFEXK7 zzCQAtq`c`fkU^DDgWD_AOS5(%>SzBMmB7Jr=QheU*|7)@OdY;=-NOXF-}0BjTSPI+ z6ZTBrjfJN`bY-?Eb*asiH1tP<|AP#BwNw?I@Veh(!2}x}iW?!>(wCAm&paEEN*e#E zFUyH!WRFb~`aQA!GDQ7cUgokN|J~4OrS40$x7BjiP!tR+R|^y}l(}~jf6x>!aVmn5 zb>lmxCad&?7A3?#zkT)d1&i@v!i@z+6Q3yJ_Z<_~4SzzZsI2tu*P+k7)A!4ezmEqU z%*D3e3|Zs3A^f-LPTB{8K`zlJ!s@WW4`FQ@`h*s2K2cA7la21ra5l8U0Fap6&5vSf z{>L6;>e-!Wn{1F8rZzhze9Qal8{jH;qOUb~H}d-LKZE-c4d zXz9;RB*Ht{^UG4x((D%*tBXaxS}~GyoUhW<;R6Hak=9`g4r4i`@p^A4;SXh}t(F$8 z@t!oXcrRtv`(({5M?_OZ6mmf{y$F)zAptZ31t5OxMjk;C9*ZX2{M1V{xxx?W0O~pP zb2Kka$-x-%@E4ug({}rJpYh+ox#%IiE#KPl_wWOlL>`(#fppBXr`^equCs3i(=R{l zTWby^IMsf*SWP88#QsQ9yUtmy=xNopAo21JUS;!YOh^UUyZ?WHmXmS5YYTFPEpvX_ zEDZgsX|w}L*w%_BE^&X9Y91t4ceK#v+&t!|Q$Ia4gj9i<{?CnH+2aWdtN0D?vDlqs zGr@V)E_m%&u%dXHFPW_xxh6~8k;TLB-FF(=fnYl4rOr!b_5IY{H~8&2d*8kcHRv^H zDKhY+dhs`E%y#@CU|SaA{%Y|%$t}Clep!#5zavj2!F6OWcwxvmlT7ze8K5WVoivYh zx72V`Di<35WXm4An>-siBFo1--vBN0>rSs>W2QrtyE{n#z8n2NEo6NbCZPw8ugB?yv=PUNJ8 zs+=-7wq`68BFieGj0=m7vwW}-OgkZR2mWnLACcsI9JfCfJzmD^UvR_-$`^?$ewGq) z7qi6VaFwo`uh8-0IGd|=4MZ>>%is=K^I?+n%HocJX&ed%EW7;H_sB`XmhrofqkoTE$jhQkh4kt0~eNb*4g3W9J}uO6v?e?U_d@l z{13UXXXyVxF68O`|F@6TU}JSr*%WttvxlU)C3P&fQel0h!qQ*~7yIF1r>FBTmYoR_ zHK&Y8189~o#(ARQk29J`MIsypB~3acq{Q!o7zQgm=OQ7q5{w3cA z`Hxq-tsR|5ef=w!p8Mgy404qVIVuNDy5L#o23)x|37&-#z@hwDx!X1C(c%U%?E%i; zzdZ_vozRbdw{N_&y+T-#|0y~GKY!eAvvBLkO9X9>KZ;_jE*aA#N|9S|SWT*E`!qLz zc3b?J9zj!HB-p`9jh`z08nXYC=mvjxR(iPRcIie2zg}VZ7qykZ+MMUc;NtbHmz^-t za;neEwHX8McpuM~gK6ryaM+s7G9G59risK%lPV@Pav{#ViJhiw(~E7#^B?je!)b2r zNcZcYa!GZZHk(HNEna+a%a2OM6VEZNDB4ZV)ec z1@l1rZ0|PnDwCq?J9?&uw1em<;1_oVc(biGQ5Op_DK2a8ek}Rhss6tq$$P)I+jFOr zPdHE$H{vJ!ehJ<0%hIHn4^ZJ^XeL_j3Y>_XJjep7Im|g!C+{=HB~x0a(M*%1DN)$- z`v|+i&5T7esdH=2RkR~R31m_!hupM0`+$qKQl=vKqJ0HM%8$*aE^5w1lcIckH?1SMQo~PZ|sqyu3V-{bTN)Jl-%dDj%tO)``w9_^Ir|rybTi^9x z+nGz~J6$0@mC6c`rGeJGCsH4S?%9O5pV|gLN=@g}r6bU(S!AyKrUq@xxW;=gCN$#31d3<`h z-kD9lj4RRAT1hZi2FHaseZQp#=`50?qdK<|Gzw%9)8aXBaGEP)Bg?(n1zRHNCo+|` z|9vV1gzQqnKFjXJi7@5SoQVm0SzK#oDG{&Uey00M03%jnqPvZC zOTN@_o+R@|{uI4HuVv))qVe#!Ag6Pz-2Z!|kh*IAQ|H-QVgYf_VuAd&JoO`-hxW6KU zp*PB)&e_0k!kS#2>%if^D5PJ51^ll=7V=*kdf0P$WhE!TUn7K`TkU+NE)!nH3L~OP zKTBC*4~Zod{`YC_f5I!t$w7I4?x)VuwSMcusrex!yG{eyo+66O|293VRYEX?O(Fj2 zmH!&Yy#;0As}mkk{FeQ`)@E<#e`x{1VqavWVs!@hHX>p_kI5`Ff8lJ;`uBtU`1hh; zZR{*41SXeryr!|vD{f<`dfjG_sGu5N)t(^|?8^d0Ki7FoZmxRU? zX1|BT-)ySzY79X)^t@*8q2m>|g;5Q4aB%F&%9~PV>D605o7DMEcoEs;A+`hGL@y!4kn``2uh7exPXKBDv(iA?RYJBugSwkF z_SJ&+YF3-@)JJeXaxNjQK<>9#xWhutJeFM8(0C`{N0k z_B}h;S^Ywns!B9ck=ki^*|*T!6QNTM>akysjkr@#KkbUmmQZnU`8h^kRdSJu4?(+U z14=slz5LW0Kan=nyyNtg(}mKi&eYeGDDe zpxDpl`o&cCOHFRtO82>{uS3cXGqtIl&Sh1kwh|*$;Rd`DcRSq{LA$lpLb4F#fl+}w zPKi#HdFR?mu>oAtRTNX9wGCAYd@$C!f5Ek^d|dIXe=LE$qX+V zP3q<5T$B4+UzS!D6jhV&M_QC0#TID}A1kra_Wh2mRhLwf%ESt-C*U@QX9qnsU@dFJ z+(fM(G_(oBxUZQH6&eb z5#Vm6GNC5s*{u}dPFWxD zgXvX0vz=D`MO59T7aB~k_Z7Pgz0ARD1|1M7T*-r6K2Wmp@AUw|2Wu})_Q%8O_N%Q| zPsjQ;wiR78QNGh&sGx&y%99xv*1>s2LDUet2=u4gj*|zkdGHR;|#FgwI+XllAQV2RD~%!A3hQUD|L~I^geNr=aOmCa(+`A^xA1zH zWR$sY`&ubX1`5yk1Z76lxhJ1k;R=}3^)TrU1CrxjltJ>L13bdPRs)H8`TR@0&UT|h zflVbD@)}z}bBEByS{XJANjsQ?l`QZ}j0w5rG@m-~+m>GV_>h9hs>wG7uYf;C%3(LI z%ug`tV#Qb;Nb~+LQKwy<1y>`%dDTPWbsH%=mE_;Q0lekCt6$gJ1e&`>`;v49n_YB` ztpF5Gj~4XFyW)421GJVKGva{(*C4@MKVccfiRlz+KLNLUr^IT5AWBPW_+o2I@e373 zKnR>q?I*{6zF3KU_{YUt(s-i1FMNK=7Qa(2OqdcTh#c})aa3$te`p)xZ!VCoG1(_} zyqiQ#+Xua$`<{i_-X8WbmU?LuZ+x_-jK$7vnhn;r!=;>Zr+xilYqoMN&c(p`I-rsx z!b?`CX**D3ZRraeGSsKuIgQzu(DQsVtXW9vhRUq3>GqUTXt|%>$n&j-R<)!rSNYyd z^xY&w^Wb+s4{If!4Ta^?r+b#y(JE8E>L3NvQj1Cjymm$rL&AE`linYK6TP!H`DWBM z3tpeCY{O=JG4cfY>~?@E!BXqRCl+I=J|q@+mk&2DN%Wv9b|8D5W)-bw3W50swZ%fwKB zLY6yD^_hw68yVbLz2~gi2pJd;<92nS4*V(xjaiKqENXUG+zwYu#(Vret1BNw)YE)$ z6~suew#sbA4VGQI*+n{7sc3mD9osx_vYj}^+)BI~g*-Oo5y5-4*b7#+>1GgSEs}>! z(CWxZ@jhAc&Bdv`rPLw&BUBVafdV)jYxnr=Ws^zz`Q7sV_RNJbjo8~Dg|$=#mo^Kri4Tj|yPiQF$ct)5kwq2vW?K;h zObnW8Zafq-;TLai-Ow+GoYj6s(a34m??VD34=!9O?M3Zgu|qt&3LlWW>B)L9zZnJwBE;{m`RrmyPVi0|{b_#}XWouLI_P!cWvo zy|xWhdZM?MOoyXHm7INr#bdnksa$teZum^eR!#Z3x*?Y5&&rAyB{Jj7y}RMMw=bh( z3Nj`$9;6OAE^ z@^Z9g`s0uv7ryACS*<|D_9< zJ*iA8fCDhGXKi3E*-)Z@2mBw}(AP+ZtO&FZ5#B7jr}{_X`s;wXEBO zOX$DUa?vtqhbmWpo{IIEs_epA-9K?gFGMM+utKw*lCdT1)Kh0tckzsn=AY$wkIAYM zj)l*5Z?{RQwsRXEN=$iHnO3Y+o}sUkGXtqg&}-Ak4a}*c?P$^}-G_}e?#x1qr6WGr zZzlVC13(%OmdVVSYDZ9DEJ{j$EruzKDS2L}&K&mmj^1sz)B}A{H-TOQ9ZovF911L^ zqo=DfuRb0PA`OotZ#FxS!2Cs~8*Y}DxHR~I`9;g8(|>CJU_=fqDrp_$PmX`p*wOz0 zf=5lQZjPU5gBQE!I2y;v$-93V+E|&4FRExxxj7CJyUqaK!>v7Axu${$lrS>dFQ zu)w-^|GnlHkC5`!rgTIP;rZ2f4y^ov@Dvro(dgfzXUzK!w zZQ^P52R`4I=8a=)%&cAV&oC|)*xw_tc7>9D@+T)(U0bf> zdirQfIA!NF6CG0c8e1K)?J;L(VKgnu>9SW%2}d+DOVJLr0t|v@|CQ4Q}P?jTsvm<##{aGdQ6D zAj1a&P;pYND{i=+9VLQ4(FuN0=V zOz>gtv^W06lfi-6?BvXn67>f$ED=aQ<$m;fN$P-MOvN?TAcjV32b<%{wP*_)XKXBB-MT zoA&92E?J{?o$0|S&HxCN$MCGDE~$0?X0)W3I~!Qp_6wkhTYUHxBCyasC^VQjx6-&7 znesfHW3}qT8!f1}`7&8dkx2f(Rd?1wacyb4Pfmmo2!!Aghyaa4pn>2dSa65n?(W(U zf(5tW4h;m?h5!K)+})do;Eh}3b~l_e_08Ows_$0K{c7(0gDR>hx>oPK*IN61*7H8U z3YHfAR%mA&URUCXnGvRgkB;F_Q~EP{K1+QmdW~o&aDJp7_eZjAQkLE?ycYrfn3Y4! z{uY#ZtlrXb1(*zE4MGh?QYPGQ&N|X_PTRXw!w~Cv85@W|EHdiP2J*5j@5$q- z@8l`t$DSEYF%;Kv;7BV}f5MBKH(2RtlwwV1F(8SiHLEv>r@zg!?FMB^$<$b6IpWv7 z^2saFY4WOy2o(kja6X|Pud3%#bpZ7|Qb$f0$en%m*uuhsf^|Z|^eUbrFUAYH0YvWZ zT<$0NBLsm@zvG@$ms>)wwOBu>Txb7>KJ&Qh!z4@!gX?nCR;u^qz_Mb+N_$|cPA3Nk zo;!xIC%-&1Zl-eUc<-Z|e;$;En4;d;d^^qJE5Fev?raaaFpJ;l(|2nAvN-(%m;2p~ zObvkK{uICewcg#ZGJ6}$!W~CoyuYqKEPeAO*II7#kuy~7?Cg8#X($n2b>t}R?O#BM zZa*JImu8){5X}ml1u%_ctm!+>XGJS8a}o{*9@aZ;5Da+(LAxs}D@(K%b?&@+sx#uX z?Hrb;3xaoJcp?A5_~LyKtRSv$zdyA=qR%nIW@-+N|M>+NF|Q2?iH%`eS9V(ya3CPY zBvs#DCHet3GidM5aG+j>ICeh$K&w^wfE*TybsG&eL`c!Bc}2Pl=IiOJO%PqND7GLF z&wjC^;nNA|VY@#v_m~EE9-N6}^bGQEXZ{7j@=j&<8K8!IK2ukzfX-Mp|KK!6JHLOw zgTYnWQYkIT_Grl42RQNgd4L_;OwQ`$5PTkp9JYQJSBg5ya_lEao z*XA7RvyJp)RBzSh&+Xr*2y?zVI~=LV~rL zpF;T%m-=s7fRanHkB`sMwK|d5jtLTn_%60K7zN^z-DMwPk}!e`nrOIe>$=DLT9TY9EdsqO_eWP4 zqe<$2s+EfQW7n%CyyVI)!wu<8Yg#@t_N749mHZM&t^ky*<#0G?6E=;WW5uD7oV1Xgwv7>}8!(lX%uzv}$ z`B0d?1!6E))f-G1ZREp3lzp}q-C@7X*7N}wJhg~UMx zfS9D>k&y^L>+`fJ2%!Zg@Tcux$VHPNGi#F;d3rA2RAHGCE1hXCrjFh!o}mwa0#;xG ziYh5h>H{pe2}E|qXvyYZTh)=%jds%(Dx`K(d||ehjg|PcQMs{I9b;#b!=d)CY{@Tn z?;9I3F0qjWORjU%MXV=9FOaln%#TwO9QjJe=D5M0pQ<8UPZjVHdhaF%u$1WwEl3gw zoM(T%kyQ0WrKPJKo?Zk~-)w&fe~J0Z)+!?W=P9Q~&Bt)Ock^k!V^sNe9?U$5AS+o+l#3yKPY!ytMXr}#3*#4BPMTr6k?pPeuk$`vN1+v{OL&APe*ecZ z!I?@NuHJWPdUw~7!#7W+UQPFiLKqpv)oneXfAD0EH?B36?ANC z8JbV8g6ZRr0{=cdP`Ynw)bD-Fr&{ajUlUNtb!IB>@?}g_GA{NHoeTmFD9`6_=7}?X zfVj3n2yk}^{+`Z(y5WN88;e=gr)x=xSixETiO|6fON}w%Fm9KMeoAqSXg56j%4X__ zB2{dgmK=^uds7kOwILnSy0r8hKD}-FtdeF}@&t*Jh_IV}1v?^QtCH=T$)0o7;zUBN zu*W={x2~*{s}WYOFg>hPmddORRTSkXKbuO={5lz16XvPtkmu!5XAr!3dqDEftY87x z{?08W;?AA_aTx7?1E4)qqWR&R?|wY&8_(9G9L9*P7HVWkL)MpmG!S3pw{r8o1Ek>J zU}m$f0c&<&A4S~!9yMCkY~!)k^NSueg6kpC zoQ)Ku)XrrNM~PsMu5ls%zNJKkSR+dfR?g;*v3FqW{m=Lw2Txsr$&8Y?u|Bkzf7v`K_gGcl-Cz@@8O5plq$>uoqdS%TIJ`aDW55M7_C13?=q}21LWZWohu*g2yL@VuZ z{_^oOpDu(73%~43sH4VMCROEZa1V$#${Se-m5L^)VP)js8`uN1Ml*@D2g=$r7n4S2 z_HkCaox*XNNhe!qL7e%;L};XPHiH5VvBDn4LZk}i3+Y9c^J15w%oa3_KS|1pWXr3%9) zwo~a?@O3vIx^h9}jpGcF{*ip6_Maq%)9D+H@}V%HlscT&yXXauZc|ZwNqr^2vn7=H$fUFiimK zgsslmB@Qt;N?#grxZ^#;>9SG?q#~XH7~X0Q6+PT`z<>U5!YPB+tp61Deke`@?C-{- z)BhSV#4x}NRgDFeo_cwsB{c z%G%NhfR+bK+Cahh^)-D?Fa7O8Ok-5%e^VR;L~^(-x_HJVmD)nj4FLUYc{7oxTMcVr zkoXtF)ci@TjiDig_*&$CsVR`fly3Nq0dkMpy`q~9Ii5RQ3}KtdIgodF&Ich|^H7LQ zSEekbo31w(0~B1$!{1RI!d}_)ZPJC0EegjQPvtL+wRC<{?WB`c*cWG_kOv3)5D@O;F0V-0?3) z1oG*6o!%!XxpW`z~+i1kTKRvZeCPDgsk5Gr+HL7r7g74((!?hTjnCsHEa z5r=x_v78t1XY&P-UDu0*`$&ASQ{HvuwZKI0kM{c?=f0<;xw*Pnv|23i5d80E>=vfjfX zuzM(riX|uP@XJ6k(s&2t-asgUl$7~stL{~Y!Wh+oh(tV`r~D8D{-MJxd=ZeTY{Dwe z06Rokly=!J{K@9{13npv&d;mmPm)Ev z;r{yPo+l4|O~)c-P#Djx-T{}@y>!+#;Qzppy|%ArYne6)M5td}RE=JoGNsjcp=DQL|)xZUPb;Jg147%;grfN*)x11oK72b$hqxI z`z0I1n5ROVFqMY>?4WT6OY?1|OZ$6K?|a-LnFN7-vgFab&X%AV~baA*ZB$lU86XZE$4JSwzd`J^{kARjfJD~c~4dr{|w zDBY4IA_7-~*=vR=`3ApR32ojLWf*R;AO$vf-s`hgr^h?l>)iw1)8z&p;xW2@J75<= zYmxT3qwR~53Q|y*nwu0l&a<&oSYcC_c@uT|KfAT3Q+d-FhO|c2sd&l-cD$yT3=o?M z@gU~Q{BPOnc?GJb$-SC|;VRWqNztW+!(EjMP!vwOO;7QFY%Ct`Y%AmWk+o*Iryi82 z&|nb=&LCupGNI@m)?z5HH60i}#ZcMoRoo-1a>ucO0KGR3;==Eg>M2#r$UGqsWIURz zvWk-SfWDKAd!O5!FxE(TvbZ$`XSM=O)v_Ex2)tOBcc{y1*)JZKc}Z%v{GCH3OdRoS ze~U1$NAilFY2C&r>R2nMc5`$aajy6n7FcRFo_5f|qRa9yq5O$@sVZR8PD;uRo~CYQ zedBeKF7Qyaok3rB8}HD(6;)lTRw_fJr`Kv6wUV@9<)bk2am3FD(7^^n4iV)ENd@#x zP2S5c!v;X#`a}^;Qp5ZG9h#=gS7=P~o%`Q;Tru9?FIO0iyKHId9JiA6(SWz{mwU;0HH@!i)i`u;7W!i( z7h?+0Cm<4`onNVN2Sx3jr^lV(NQ&~%X0f(zl^^Z*D(I!o63(Hhty1q2 ziy~X}Xsp}`JzniiPU~hYV(4XhRa+|W3F*ZBI)0ocA@jkWl1H|>!ZrNv zqSz!$D8r@DdrTQ|HgALl_o&IFuA1?^yTH*bxwPM26D7vhgE#V-ypjiEOw6SvIeSqh z&)8^-m{*%`J4_o8sv|C`Jf1<0=^EchH0ETf+@a>zDZ3)HMM#Px2#1W#4)uF)kiZqA z*$X%__02n=(#l8%EY8+Z8a`gky#6rv7=AmM`LD9?6H}}wgxBaCMgEZ00@7$rDTsrB zV#_@s?$VSe!7-+@>t$2M7nEKDCEob>IKN>@?BE5nfDGvJ!^Gi+*zEZ-J4U_FO&y1l zaFW(it!sD51lX|mTeXWyF~P+A?Neo$gWNz4CD6A-dcpKf9bzFaBN#gg?a za^-Jx+`D&g>l&uC^r6yvvH@vfV?JnBQpeBydQqyj{mn_NTITCeiIHRKoOD$#nWR1Q zsyq>8mG*Ll8)8|IPlfJW?qQQQ;TK=(#<%v56ur(mOWjDsC_su?G*Qs>`mCx)N!(QG zmMTnqNhcdqb-#QnO=QSgZ204;`DDpD92uN51+BTenRy3$f~W)_AEF&bhTvUa^Bdif z8`2(CKVt-rg1sq$o4?C~OQsb()sYNb-x*oJisjl0*I*CIJLWO5{yJ+C9> zjkhF8pDNpJ=c`+k*QAQ)88l5*OSVZQ2bGtzeHNX@+VrN{gO`SnP6gisH6p3O1zi%S zjEZJEjI7xnC-4akF9y!Tw5LR1byFp8dHdgvvBk-OfG2PQ>)LoZzfXgb-Pxy7JK`~g zb0v$Ay_6n^AdxR*ga?=lC{j9qS*(_3t{0Z0y6QELA0Kl&@sCj37NO1gJuU6bnEByb zwXn?gL5+c{&@O#%g}1btY?10&w6xBOF#*~XI=bGoYDL`)&N-=i30-ULXXuZfp)(}3 zzM|pfWG-1UZHeT2hA zM#h^XD^(ALr7eC9&=+?H?ccwT43@0Vcn^i&l?~=AB&is&&KH|0!h>^Xvr{ZbNuBdn zm3ht+oVRwvzB)bDUswPg{dRaH;OWyK%hy8W{~nl=PnU z>4IW|N!ZN_7#lS;R1XjWgkBS7eBnXw^EDz>1mLnCM@yPBxbh($WOaHE5TC5$%EQ=7 zU!&Vurl66g{!q^~Wo7&?ZvCdRR*X97<3vrie#nNId01A3go;^_+#FYG*Kby0^DS+c z&HF=b!ZGI;SWeRixf0VP9CqbRS`7y3lNgL&PYLNs8O+KSCu?IkXr;pPapXeoog$ENE9Cl!THZ#;0 zl5~{VpOZ81aUlul+U+zI_(cJ6qK@gQG>i@oEb0Ouq#b7-LvoWpCb1>anL%Vsp*>pb z0TmKCQT~ZTi=ldm8G;e>-i@8wiLWb0;t^0u=ajExhsme2N`#8H>a*`q2jI1y=?}Ft^@gSCQM0^RP{-yNqX~iy!XS%P6Ga>g z6&@t>lb$B@3a_N;%_0g9=FxjQ)jLhVc=4l7O5|hgRBh~`?^=qb88*?9 z=_C)#dG<@|_V#n=>RLXRq(3iEQJDa+_#asm3g|_A1&|Gq{@7B zf9ksqh$`Pw@%T|4i7Wjc;*z)a=8=(VUMt8`ZvAGq_xFf_yL*0fcXMCZuKe+=iEBPE zA_l3rn91DQ8$RwVP@fPyU9Go5PD#D?_hc7Ga~{xuWp8LAp^iidBLBI zZL4~?FwxO;QKufFvnV&K?7>jdci+9jksxQoh-_Eqs*kr_WP_0JeSobK81xO}`Ttt9 z$luz|etO@F1tu{dI{tZ*|DRUh|39K8{|^rJ_jRQP+Rc)H>ANC(>5C^q3AhaYU;LQ? n#&~^w%x#Mg{POUo{JwW5nV0o5#n-&sr%GHzM!4j??&tpnrCy)$ literal 44880 zcmeEuWmsIzvnL55Bxnd8EChFV3m!Z;1PcuAFt`&exVr@p?hZo&fx%q|cXuCTcF24G z_wL>2?&saR&wiP6rnS1dy1MIE)hG0`qBJ_nI}`*21az5C5-JD?h`I;}&qrT9ho_)^ z+X_TLc!MA#A*$wdpm7>Xf>a zU6tD%PAV5EIzt-y8>Wa>gnZG(9^HqKYw22y!o3Z zM*j486Daodc>hn4k8e<(!TIFOEr9v7F)V-@|odtOvd{1Zjj%a_U!95gjPzEVuuN+h@^Q^PTzJvkM3@ z%ZU*6c#_SP-96Nt6Vps1;NVi+gi7w+LAzVHkr^6yHv!HQeI+m7lFXE})VrIK$pqpE z#W2XC*{;BC_P(Y76}o=;}OAtLv9)PFD`AL*}P)Ybx)A679?yy3D8Yg19a3 zP^@J4m3mC$g(JCRl^Nj#`xS|6iW`pOTQu5T{wBI`mI@D&*_Ze`l0LwjMW<%FNM4_q z&I^^lq-^XO7gU|8D5yIy?IQ0Ojt5XZHLR4P7~Hu4)1`cn>fqOcC%9=i)p+arp$#{F1sf!410dI!fEh}5~KCf4ZiW(JMNsJcq+vIs=hp= zN&g0DVG_{tKp6hJfxyVr%2uSaYQNiNv2&SM=Vlid=}9n0*`w8xzq~I04U6CI)zchK!hULV@!OR{bn!st{ncv4rEl}BJxow8D}Dd#6BB+| z!ADc14$Y&b((_)vAQv1VCkRG^XYeEER5d1W1$AhY9HkEuvi`I`89~BIlD-%6Bs>>x8-%tNym)t&9Q-t_cw_r;pRt!r%dR^U-eW7br{({HMPSX*!gdhAP(04 z#^}8yq3Jo$ia*BV>K+7^VTs9;f2!F6ulc)#enObfsj#hny*X=+!FX3gbGE+RGDq;t|h=0n(WTrWM3}?1E2bQl9&T>6Pu$B;6VCu<{&W*n)@7@nfbp7 z(*c`g67TNz{GFm{7k~XduQtGZR4LeWExMUPW&2EZ3kT5iS_Emo&=` z6;0;kPu&o}=TlYxQ8~e37t{xJAwT9zBgcCpOp(wYzHjGR;n~APq49RczBEr{DZQ;I zLwZP~d9S8e{)*#DLmcZ4mluVFlwU`5ioY5>-_? zQZD9Gt>nw3^N*v3A zL&4hX$`HHd@pg*bg5RkI@>#3{f6r5bsNVEAD(aH;(%jko3$6|7&fz=X{3HCACVB$z zqbmyl9Ze2TI!-Vf`h|9~q=Q~*DJ2Uepab6+MoL9r4&s}6z67n?7%fUGet%N=i&H$} zt0YuK1!g|638tEydUm#!pE_~+ec|L%v|;$)bA z88J$N_9To552XK`Wh z7Bq`Z87u%u1o5!p+o$4gIE(PrV{_OK_;fb#?s?fzYJN^#RgxhI|L+|)FKyAx{v|&d z98DIr;vvC>M#pi2#Mnyf=r129@VQ{_zIHLJ@QVzyr-t z$k=?}Cv6Aj@~v4)2Q{3G`8*zTRJ5FKa?U;N0{9xm@XPP;^P1bYIv%?;sHkJRXsVg@% z3sz?3wlqjc&Hl(RHZ|SK&EZzrg&$Uj~jKT8muX+;* zTH&1ZLqkVPfa`riHpBZ@sE9^b1Y7RVeISxE3X3AZ)-v=rYAqgk)K4bTxmvk$F)>kR zlP}@=SEqq$F>g7^NqX6xF5@`mQE5CW9Ask4 z{8d#(%{MlzJB`_c1=4>i;%U$~B}%dv4!sZ#;nbsV*3~p<-OmnpasHBOL#Y`fkW*D0 z=3)`4dmzvM7Jou_#X^x&Xw$KUM9!{MU{OD+z7(CJap#M;A2kj;AN9eNGlBd|Lv{j^ zkqAybD_k3r0hAJ3HN3-{lk4F-TP-@xiFz`7;}XbtX_|yp|IsW-*D8hlCrg>;=YQ?d zES$`C#hhm|L113*;`~5WtpU;!I+VA$bY!H=gYBGk8nR`b*68M)A1pgr3GoSqm)4>w zOx_WUWn9-uLD|dn-JH`xR>>-dje*v)LJO}t-^0f*sLjs@ZHmNNo=elF;q$IYvslk% z+Nw{)+()e$Ni1zB=e+Ue#|@Z;JgJ0_$Rj9%f~`2|9l1< z<~N+>TzJU@#FobwQ#Y{<^++ITCxCrB)_>-=HGnAhw<8UXXWi@abIyZ#DY~AQF<>4? zDkSRmGW7DL)@|-*N8@r$)Zcb~WN5Nywpt!;nm|kbd1ctW_^a+J8mH#m zcj;}qdrnF9mdaLCWyfO8v9bGv&;Z-4bz#ZTmx4BsR0Vq#>MLipaF-sEVfv;R8m#W) zIZfjYGG4rPz>{=2I^A%))}ibe$)YgG>k=PlVEm*bW3NGtl#Zygtn6XCeO8MX*HnHg z;uZHP`yGZaxrbsxI2#kP3*@byX|*Mb9(91mwR{NVPD%-N(kc5jn99`W0+cCoypW`r zT^;gzy94{EfA_cIyNFl1_b=yK?p6wyF~?o!2bFovJbq5JCyF(we*B@Myiho0RQfB3 zfx-qnl2HKZa9yq-u^eKX3jwhS7`@mFgwuNR0{zKOeLAA~Jt~AS{M|rLn*P(4`QHfh z*s-Ox?!93(_Gr5R?Gk6ThqoFSU+l*|!|2&)p3r3uTl9HPQJMdGeNBV*YYi%c=+6l zJ?!CIFp{}t1w3W3!e@ao8^F7YC3)?>8ZMX>l0u~bAC%JF=Qs6-rAp!god)7pQIh8( z3W;N1QyQ38WpA+W=?WWqe;&9sggM*3` z4OW|^<#q0tGWq~$2?e(WPT(|pm65*102&N3c}Ra)IN;Hzgb6DRc~JLaDcej^afNMf z7=M%`-hfYg@O1=%+1O=Hkm8l=dOQPCB9l{IH_bV+(koBHpVWuyMHSFs91);rZI~JW`FUGs6q7p*N;;v61ua57RG4gG`EbKo$mitm`4iBHl7OqSn3h zg1&ocgLq$B=0U5!IIsDly!I;2XgOT(V>q1aF?(d;=*R_0 zi?5>L>C(=VtBHa+XU49-%V=FYy5u(@yXlBuRgk)mSt=_TdlUh$+ zRej(hmj-fwt>-1LEwl-9-?$4mXqiyu#{0vVPGRo(b5KT>Nh2<+=0v}p#oa)BctN~0X_eU~^S81Cgt+idy`ycMW%z4rVW14&!E;I2OM!`-qrhBKZ ztq}pPgizt|@uP}1UC%B3i)itQZAs?&rpJLu5n{o&*VP@>)Ce>Wae1j-XIUI0 z*)z9qOuL)vZR$Tz)Dvt!K?WC8-gQX5j#+n8JOko&4zl`slRhn(0gW*;&1pp=&abiT zqs)gh;$^H7hVr$knP#TPdB44R)_6`GNpkN+{Ftd(W}$~~VWcslRKkHLuLJxFdFS3t zNkegNZYevD z0@r(&Kj*u#%-4!pM%BxF>Wgo5D@&PM(b9|sO2|>r7Hwk9 zRztfvvq;TWK*2l*5!qu&e+V%|2-Ri%gmYklL;oe55+`kg7R8*Jg*>*i#k@3*BNw}{ zaF^^E;k~5pslfLNrj|c7=#ORDIp-(M5#NM&t($+qANeN9Ib`U*-ro0#uF{q)d|=hl zLxb9yVcmkcWN3}|m2Q*ofnT9ovy)J))UZfCUp1*C*g*bGLb;C3yT^ROdit%d2*)s4YtC zCnJ8j&V)gcyNFPJo+=alPRgLAm#R2!`qK%U!Yw;TWsvf}9sA;OKk zcBt!8mW_0nK!N#O=%(mVTDXtzjri4~*^|-e7qxGNsK9uSKX@+OLSGvc6W7FqY}!2H zkbfzXTr8(Q&tc_?Wb>h@!cB;uVj%>q((kD1(?1pUbLAyV)@DT{V8O2$^?8(6NwbsO z(vo&%f&{VvFtmpE{9~BQXO013Q$siK2}Tl9a-NO+wzYP1+rrS;7|R(K?C!XsYy>mx zb%V^<0fLPU3;Nsx*2v;K*q>?$%LJ#rqZBI?{tVr(G;DIrG=8-Dp>;nPWs2B$!fDZJ4)? zT*ZzprI}V&-?d!_yyc9%=?TQ_q z{7Jsv6|NT8;~0d4nNZH=ZwH8WC+&U5&|)tSC(fum6c2|QB+n+pBY zqJkk~&nk!Sb_SI2+j#4M4vB`V!hPus9WDhGAbk!G@#5__e3#uhdO>0>h_MqCi+nu$ z6`v|OAIGdsQ(HR(Z8lpJ7$`FNG1j65(yCrm+TA$%%jwxlWto0N3)w!vu3m|EE-i$s zbnp^?kR^9~*zBy3v0>V2xAFdMpc8B!Iq3+D4yM;+=u|1W(#B`qYPs`tA$)A|OI=xuh&=7Tzk(x^P(CE6q_W~8w_9|6= zoWY`KI3p3~=GN^UAt5QgiEe4!VycOa30vPttLT!ON`}z1^JMr^mIRpmDZF5(O}$iP zu38l+)EUCkW6Z9n`yx+IZ*XV`gP2!KqoUYzD244o!)hP&AQEflPw^`3iibrwF5%0< zrz|v&NxLC;z^3$o4CVtg{l?f-g9rcWoDiRN6)ATB3MNrdyUeZZSkTM2_3dX}jjSR& zCfi|QHC*bb(yakZj3giGKfLehPWh;rR*@C9Omx>OZ-d?9D1(qKlO>$Uc^U2-TE66F z7v%@{&_Nq@8g09emhO5bZXRKeBiYMYcILcVcNb@ybNH5<+Oq(gs=>5ppo!(_UWol zJ33xhZI>-O3bs>q7$PzyY-?!=Y1>R69gV4~8uj(Qyo90?S==?LmoJgI`U#?*W!!M_K|-W9LM<#T z_}tkSZD*@U%e%RFcJG}6AF5t2k?I16=u&FZTH;gZl4UELzRV`<@WP!*7b1SsI^{=z z7Z(mkw_Z@E(I2)v?5R>)g;0evDD@ZB;m6hZ7wk&`M=_gp&!l*GuK9HTfXJz@ zQsheysn9yvIrv?#oJ5E!9EgkMW*-cWyg)@kBL+Ae>zC{SF=(j6cG-u}@^UJkVQ~Z; zM9Kh$hnWO60l5dp;0aU)b!ZzFv%g`^`eEJTc+Xo0OUJ!AR9v1(3EvykoQb@)de7px zX9x$graE1> zWGt#R*gd!+Q9Ref)y@U78_|9Lj#5|o_E3PjS+{6wHUce^l;o$-3y;a-kmzt!xsvo$ zyenJm=M-Lt7REDIK|{}j27xq62FmFIs0NV)rFb+nkNR50qm7Puis^(~km~u8y)w9o zpkz>NmUgD+g_!reE+-rGS`Tz+V`p*r$+wnW`HCw5f2%CQVNYF%0Ac0Uk^Ny(e2bkR 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 DH7Stz diff --git a/playwright/snapshots/timeline/timeline.spec.ts/edited-code-block-linux.png b/playwright/snapshots/timeline/timeline.spec.ts/edited-code-block-linux.png index 0cb456d72ac4f10b77d58588e22db3bed5972267..8b906b346e3e4369942d97014922f2f35402d6e3 100644 GIT binary patch delta 7660 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 svg { + grid-area: icon; + height: 18px; + width: 18px; + color: $muted-fg-color; + align-self: center; + } + + .mx_UploadBar_filename { + grid-area: filename; + color: $muted-fg-color; + position: relative; + font-size: $font-15px; + vertical-align: middle; + } + + .mx_UploadBar_cancel { + grid-area: cancel; + height: 16px; + width: 16px; + color: $muted-fg-color; + align-self: center; + } + .mx_ProgressBar { - width: calc(100% - 40px); /* cheating at a right margin */ + grid-area: progress; + width: 100%; } } @@ -21,39 +53,3 @@ Please see LICENSE files in the repository root for full details. padding-left: 0; } } - -.mx_UploadBar_filename { - color: $muted-fg-color; - position: relative; - padding-right: 38px; /* 32px for cancel icon, 6px for padding */ - padding-left: 22px; /* 18px for icon, 4px for padding */ - font-size: $font-15px; - vertical-align: middle; - - &::before { - content: ""; - height: 18px; - width: 18px; - position: absolute; - top: 0; - left: 0; - mask-repeat: no-repeat; - mask-position: center; - background-color: $muted-fg-color; - mask-image: url("@vector-im/compound-design-tokens/icons/share.svg"); - } -} - -.mx_UploadBar_cancel { - position: absolute; - top: 0; - right: 0; - height: 16px; - width: 16px; - margin-right: 16px; /* align over rightmost button in composer */ - margin-top: 5px; - mask-repeat: no-repeat; - mask-position: center; - background-color: $muted-fg-color; - mask-image: url("@vector-im/compound-design-tokens/icons/close.svg"); -} diff --git a/res/css/structures/_UserMenu.pcss b/res/css/structures/_UserMenu.pcss index 42754a56a2..ddefc84d8f 100644 --- a/res/css/structures/_UserMenu.pcss +++ b/res/css/structures/_UserMenu.pcss @@ -119,8 +119,4 @@ Please see LICENSE files in the repository root for full details. .mx_IconizedContextMenu_icon svg { color: $icon-button-color; } - - .mx_UserMenu_iconMessage::before { - mask-image: url("$(res)/img/element-icons/feedback.svg"); - } } diff --git a/res/css/views/dialogs/_ConfirmSpaceUserActionDialog.pcss b/res/css/views/dialogs/_ConfirmSpaceUserActionDialog.pcss index 1921ef2457..e3ce9db7dc 100644 --- a/res/css/views/dialogs/_ConfirmSpaceUserActionDialog.pcss +++ b/res/css/views/dialogs/_ConfirmSpaceUserActionDialog.pcss @@ -32,27 +32,20 @@ Please see LICENSE files in the repository root for full details. } .mx_ConfirmSpaceUserActionDialog_warning { - position: relative; border-radius: 8px; - padding: 12px 8px 12px 42px; + padding: 12px 8px; background-color: $header-panel-bg-color; font-size: $font-12px; line-height: $font-15px; color: $secondary-content; - &::before { - content: ""; - position: absolute; - left: 10px; - top: calc(50% - 8px); /* vertical centering */ + svg { height: 16px; width: 16px; - background-color: $secondary-content; - mask-repeat: no-repeat; - mask-size: contain; - mask-image: url("@vector-im/compound-design-tokens/icons/info-solid.svg"); - mask-position: center; + vertical-align: -4px; + margin-right: var(--cpd-space-1-5x); + color: $secondary-content; } } } diff --git a/res/css/views/dialogs/_FeedbackDialog.pcss b/res/css/views/dialogs/_FeedbackDialog.pcss index a9e7d97920..88cfdf33a9 100644 --- a/res/css/views/dialogs/_FeedbackDialog.pcss +++ b/res/css/views/dialogs/_FeedbackDialog.pcss @@ -55,33 +55,17 @@ Please see LICENSE files in the repository root for full details. text-decoration: underline; } - &::before, - &::after { - content: ""; + & > svg { position: absolute; - width: 40px; - height: 40px; left: 16px; top: 12px; - } - - &::before { + padding: var(--cpd-space-2x); + width: 24px; + height: 24px; background-color: $icon-button-color; + color: $avatar-initial-color; border-radius: 8px; } - - &::after { - background: $avatar-initial-color; /* TODO */ - mask-position: center; - mask-size: 24px; - mask-repeat: no-repeat; - } - } - - .mx_FeedbackDialog_reportBug { - &::after { - mask-image: url("$(res)/img/feather-customised/bug.svg"); - } } .mx_FeedbackDialog_rateApp { @@ -125,9 +109,5 @@ Please see LICENSE files in the repository root for full details. font-size: 24px; border-color: var(--cpd-color-bg-action-primary-rest); } - - &::after { - mask-image: url("$(res)/img/element-icons/feedback.svg"); - } } } diff --git a/res/css/views/dialogs/security/_KeyBackupFailedDialog.pcss b/res/css/views/dialogs/security/_KeyBackupFailedDialog.pcss index d4596dd501..f4ca40c66e 100644 --- a/res/css/views/dialogs/security/_KeyBackupFailedDialog.pcss +++ b/res/css/views/dialogs/security/_KeyBackupFailedDialog.pcss @@ -10,20 +10,12 @@ Please see LICENSE files in the repository root for full details. } .mx_KeyBackupFailedDialog_title { - position: relative; - padding-left: 45px; padding-bottom: 10px; - &::before { - mask-image: url("@vector-im/compound-design-tokens/icons/error.svg"); - mask-repeat: no-repeat; - background-color: $primary-content; - content: ""; - position: absolute; - top: -6px; - right: 0; - bottom: 0; - left: 0; + svg { + margin-right: var(--cpd-space-2x); + vertical-align: -2px; + color: $primary-content; } } diff --git a/res/css/views/elements/_CopyableText.pcss b/res/css/views/elements/_CopyableText.pcss index 2764fea46c..6219055085 100644 --- a/res/css/views/elements/_CopyableText.pcss +++ b/res/css/views/elements/_CopyableText.pcss @@ -39,17 +39,11 @@ Please see LICENSE files in the repository root for full details. top: 0.15em; background-color: $background; - &::before { - content: ""; - mask-image: url($copy-button-url); - mask-position: center center; - mask-repeat: no-repeat; - mask-size: contain; - background-color: $message-action-bar-fg-color; + svg { width: 1em; height: 1em; + color: $message-action-bar-fg-color; display: block; - background-repeat: no-repeat; } } } diff --git a/res/css/views/elements/_InviteReason.pcss b/res/css/views/elements/_InviteReason.pcss index b007a90c6c..57cdb82351 100644 --- a/res/css/views/elements/_InviteReason.pcss +++ b/res/css/views/elements/_InviteReason.pcss @@ -23,14 +23,12 @@ Please see LICENSE files in the repository root for full details. cursor: pointer; color: $secondary-content; - &::before { - content: ""; - margin-right: 8px; - background-color: $secondary-content; - mask-image: url("@vector-im/compound-design-tokens/icons/visibility-on.svg"); + svg { + width: 16px; + height: 16px; + color: $secondary-content; display: inline-block; - width: 18px; - height: 14px; + margin-right: 8px; } } } diff --git a/res/css/views/rooms/_EventTile.pcss b/res/css/views/rooms/_EventTile.pcss index d8a05fd6ce..cc9656ddf9 100644 --- a/res/css/views/rooms/_EventTile.pcss +++ b/res/css/views/rooms/_EventTile.pcss @@ -918,30 +918,21 @@ $left-gutter: 64px; position: absolute; top: $spacing-8; right: $spacing-8; - width: 19px; - height: 19px; + width: 16px; + height: 16px; visibility: hidden; - background-color: $message-action-bar-fg-color; &.mx_EventTile_buttonBottom { top: 33px; } - &.mx_EventTile_collapseButton, - &.mx_EventTile_expandButton { - mask-size: 75%; + svg { + width: inherit; + height: inherit; + display: block; + color: $message-action-bar-fg-color; } } - - .mx_EventTile_copyButton { - height: 17px; - mask-image: url($copy-button-url); - mask-position: center center; - mask-repeat: no-repeat; - mask-size: contain; - right: 9px; - width: 17px; - } } } @@ -962,20 +953,6 @@ $left-gutter: 64px; cursor: pointer; } -.mx_EventTile_collapseButton, -.mx_EventTile_expandButton { - mask-position: center; - mask-repeat: no-repeat; -} - -.mx_EventTile_collapseButton { - mask-image: url("@vector-im/compound-design-tokens/icons/collapse.svg"); -} - -.mx_EventTile_expandButton { - mask-image: url("@vector-im/compound-design-tokens/icons/expand.svg"); -} - .mx_EventTile_tileError { color: red; text-align: center; diff --git a/res/css/views/rooms/_RoomInfoLine.pcss b/res/css/views/rooms/_RoomInfoLine.pcss index 74ef6c77e1..a9650f27b5 100644 --- a/res/css/views/rooms/_RoomInfoLine.pcss +++ b/res/css/views/rooms/_RoomInfoLine.pcss @@ -10,33 +10,10 @@ Please see LICENSE files in the repository root for full details. color: $secondary-content; display: inline-block; - &::before { - content: ""; - display: inline-block; - height: 1.2em; - mask-position: center; - mask-repeat: no-repeat; - background-color: $tertiary-content; - vertical-align: text-bottom; + svg { margin-right: 6px; - } - - &.mx_RoomInfoLine_public::before { - width: 12px; - mask-size: 12px; - mask-image: url("@vector-im/compound-design-tokens/icons/public.svg"); - } - - &.mx_RoomInfoLine_private::before { - width: 10px; - mask-size: 10px; - mask-image: url("@vector-im/compound-design-tokens/icons/lock-solid.svg"); - } - - &.mx_RoomInfoLine_video::before { - width: 16px; - mask-size: 16px; - mask-image: url("@vector-im/compound-design-tokens/icons/video-call-solid.svg"); + vertical-align: -2px; + color: $tertiary-content; } .mx_RoomInfoLine_members { diff --git a/res/img/feather-customised/bug.svg b/res/img/feather-customised/bug.svg index 8939f8be11..ea2e4222aa 100644 --- a/res/img/feather-customised/bug.svg +++ b/res/img/feather-customised/bug.svg @@ -1,3 +1,3 @@ - + diff --git a/res/themes/legacy-light/css/_legacy-light.pcss b/res/themes/legacy-light/css/_legacy-light.pcss index ca90eb2e55..8c00393d41 100644 --- a/res/themes/legacy-light/css/_legacy-light.pcss +++ b/res/themes/legacy-light/css/_legacy-light.pcss @@ -241,8 +241,6 @@ $event-highlight-bg-color: $yellow-background; /* event timestamp */ $event-timestamp-color: #acacac; -$copy-button-url: "@vector-im/compound-design-tokens/icons/copy.svg"; - /* e2e */ $e2e-verified-color: #0dbd8b; $e2e-warning-color: #ff5b55; diff --git a/res/themes/light/css/_light.pcss b/res/themes/light/css/_light.pcss index dfdb5f6c75..fcab227283 100644 --- a/res/themes/light/css/_light.pcss +++ b/res/themes/light/css/_light.pcss @@ -347,11 +347,6 @@ $focus-brightness: 105%; /* ******************** */ -/* Icon URLs */ -/* ******************** */ -$copy-button-url: "@vector-im/compound-design-tokens/icons/copy.svg"; -/* ******************** */ - /* Location sharing */ /* ******************** */ $location-marker-color: var(--cpd-color-icon-on-solid-primary); diff --git a/src/async-components/views/dialogs/security/NewRecoveryMethodDialog.tsx b/src/async-components/views/dialogs/security/NewRecoveryMethodDialog.tsx index a2fef4e1c9..2642f01560 100644 --- a/src/async-components/views/dialogs/security/NewRecoveryMethodDialog.tsx +++ b/src/async-components/views/dialogs/security/NewRecoveryMethodDialog.tsx @@ -8,6 +8,7 @@ Please see LICENSE files in the repository root for full details. */ import React, { type JSX, useEffect, useState } from "react"; +import { ErrorIcon } from "@vector-im/compound-design-tokens/assets/web/icons"; import dis from "../../../../dispatcher/dispatcher"; import { _t } from "../../../../languageHandler"; @@ -60,6 +61,7 @@ export default function NewRecoveryMethodDialog({ onFinished }: NewRecoveryMetho onFinished={onFinished} title={ + {_t("encryption|new_recovery_method_detected|title")} } diff --git a/src/async-components/views/dialogs/security/RecoveryMethodRemovedDialog.tsx b/src/async-components/views/dialogs/security/RecoveryMethodRemovedDialog.tsx index 7c3abf37b1..8feac6f043 100644 --- a/src/async-components/views/dialogs/security/RecoveryMethodRemovedDialog.tsx +++ b/src/async-components/views/dialogs/security/RecoveryMethodRemovedDialog.tsx @@ -8,6 +8,7 @@ Please see LICENSE files in the repository root for full details. */ import React from "react"; +import { ErrorIcon } from "@vector-im/compound-design-tokens/assets/web/icons"; import dis from "../../../../dispatcher/dispatcher"; import { _t } from "../../../../languageHandler"; @@ -39,7 +40,10 @@ export default class RecoveryMethodRemovedDialog extends React.PureComponent{_t("encryption|recovery_method_removed|title")} + + + {_t("encryption|recovery_method_removed|title")} + ); return ( diff --git a/src/components/structures/MatrixChat.tsx b/src/components/structures/MatrixChat.tsx index 3764051384..8a9ffdd115 100644 --- a/src/components/structures/MatrixChat.tsx +++ b/src/components/structures/MatrixChat.tsx @@ -29,6 +29,7 @@ import { TooltipProvider } from "@vector-im/compound-web"; import "what-input"; import sanitizeHtml from "sanitize-html"; import { I18nContext } from "@element-hq/web-shared-components"; +import { LockSolidIcon } from "@vector-im/compound-design-tokens/assets/web/icons"; import PosthogTrackers from "../../PosthogTrackers"; import { DecryptionFailureTracker } from "../../DecryptionFailureTracker"; @@ -1771,7 +1772,7 @@ export default class MatrixChat extends React.PureComponent { ToastStore.sharedInstance().addOrReplaceToast({ key: "verifreq_" + request.transactionId, title: _t("encryption|verification_requested_toast_title"), - icon: "verification", + icon: , props: { request }, component: VerificationRequestToast, priority: 90, diff --git a/src/components/structures/ToastContainer.tsx b/src/components/structures/ToastContainer.tsx index 649cd1dc59..a84af5a504 100644 --- a/src/components/structures/ToastContainer.tsx +++ b/src/components/structures/ToastContainer.tsx @@ -53,8 +53,7 @@ export default class ToastContainer extends React.Component const { title, icon, key, component, className, bodyClassName, props } = topToast; const bodyClasses = classNames("mx_Toast_body", bodyClassName); const toastClasses = classNames("mx_Toast_toast", className, { - mx_Toast_hasIcon: icon, - [`mx_Toast_icon_${icon}`]: icon, + mx_Toast_hasIcon: !!icon, }); const toastProps = Object.assign({}, props, { key, @@ -81,6 +80,7 @@ export default class ToastContainer extends React.Component toast = (
+ {icon} {titleElement}
{content}
diff --git a/src/components/structures/UploadBar.tsx b/src/components/structures/UploadBar.tsx index 6dbbd4997d..4fbe35f3fd 100644 --- a/src/components/structures/UploadBar.tsx +++ b/src/components/structures/UploadBar.tsx @@ -8,6 +8,7 @@ Please see LICENSE files in the repository root for full details. import React from "react"; import { type Room, type IEventRelation } from "matrix-js-sdk/src/matrix"; +import { CloseIcon, ShareIcon } from "@vector-im/compound-design-tokens/assets/web/icons"; import ContentMessages from "../../ContentMessages"; import dis from "../../dispatcher/dispatcher"; @@ -114,10 +115,13 @@ export default class UploadBar extends React.PureComponent { const uploadSize = fileSize(this.state.currentTotal!); return (
+
{uploadText} ({uploadSize})
- + + +
); diff --git a/src/components/views/dialogs/ConfirmSpaceUserActionDialog.tsx b/src/components/views/dialogs/ConfirmSpaceUserActionDialog.tsx index 3851460bdd..6d1bb38956 100644 --- a/src/components/views/dialogs/ConfirmSpaceUserActionDialog.tsx +++ b/src/components/views/dialogs/ConfirmSpaceUserActionDialog.tsx @@ -8,6 +8,7 @@ Please see LICENSE files in the repository root for full details. import React, { type JSX, type ComponentProps, useMemo, useState } from "react"; import { type Room } from "matrix-js-sdk/src/matrix"; +import { InfoSolidIcon } from "@vector-im/compound-design-tokens/assets/web/icons"; import ConfirmUserActionDialog from "./ConfirmUserActionDialog"; import SpaceStore from "../../../stores/spaces/SpaceStore"; @@ -47,7 +48,12 @@ const ConfirmSpaceUserActionDialog: React.FC = ({ let warning: JSX.Element | undefined; if (warningMessage) { - warning =
{warningMessage}
; + warning = ( +
+ + {warningMessage} +
+ ); } return ( diff --git a/src/components/views/dialogs/FeedbackDialog.tsx b/src/components/views/dialogs/FeedbackDialog.tsx index 5e1efba38f..1775e9667a 100644 --- a/src/components/views/dialogs/FeedbackDialog.tsx +++ b/src/components/views/dialogs/FeedbackDialog.tsx @@ -6,6 +6,7 @@ Please see LICENSE files in the repository root for full details. */ import React, { type JSX, useEffect, useRef, useState } from "react"; +import { ChatSolidIcon } from "@vector-im/compound-design-tokens/assets/web/icons"; import QuestionDialog from "./QuestionDialog"; import { _t } from "../../../languageHandler"; @@ -19,6 +20,7 @@ import { submitFeedback } from "../../../rageshake/submit-rageshake"; import { useStateToggle } from "../../../hooks/useStateToggle"; import StyledCheckbox from "../elements/StyledCheckbox"; import ExternalLink from "../elements/ExternalLink"; +import { Icon as BugIcon } from "../../../../res/img/feather-customised/bug.svg"; interface IProps { feature?: string; @@ -58,6 +60,7 @@ const FeedbackDialog: React.FC = (props: IProps) => { if (hasFeedback) { feedbackSection = (
+

{_t("feedback|comment_label")}

{_t("feedback|platform_username")}

@@ -111,7 +114,8 @@ const FeedbackDialog: React.FC = (props: IProps) => { title={_t("common|feedback")} description={ -
+
+

{_t("common|report_a_bug")}

{_t( diff --git a/src/components/views/elements/CopyableText.tsx b/src/components/views/elements/CopyableText.tsx index 9c2472a202..8deaad1d4f 100644 --- a/src/components/views/elements/CopyableText.tsx +++ b/src/components/views/elements/CopyableText.tsx @@ -9,6 +9,7 @@ Please see LICENSE files in the repository root for full details. import React, { useState } from "react"; import classNames from "classnames"; +import { CopyIcon } from "@vector-im/compound-design-tokens/assets/web/icons"; import { _t } from "../../../languageHandler"; import { copyPlaintext } from "../../../utils/strings"; @@ -21,7 +22,11 @@ interface IProps extends React.HTMLAttributes { className?: string; } -export const CopyTextButton: React.FC> = ({ getTextToCopy, className }) => { +export const CopyTextButton: React.FC> = ({ + getTextToCopy, + className, + children, +}) => { const [tooltip, setTooltip] = useState(undefined); const onCopyClickInternal = async (e: ButtonEvent): Promise => { @@ -45,7 +50,9 @@ export const CopyTextButton: React.FC { if (!open) onHideTooltip(); }} - /> + > + {children} + ); }; @@ -57,7 +64,9 @@ const CopyableText: React.FC = ({ children, getTextToCopy, border = true return (

{children} - + + +
); }; diff --git a/src/components/views/elements/InviteReason.tsx b/src/components/views/elements/InviteReason.tsx index fd44b5a418..eaa65c7408 100644 --- a/src/components/views/elements/InviteReason.tsx +++ b/src/components/views/elements/InviteReason.tsx @@ -8,6 +8,7 @@ Please see LICENSE files in the repository root for full details. import classNames from "classnames"; import React from "react"; +import { VisibilityOnIcon } from "@vector-im/compound-design-tokens/assets/web/icons"; import { sanitizedHtmlNode } from "../../../HtmlUtils"; import { _t } from "../../../languageHandler"; @@ -50,6 +51,7 @@ export default class InviteReason extends React.PureComponent { {this.props.htmlReason ? sanitizedHtmlNode(this.props.htmlReason) : this.props.reason}
+ {_t("common|view_message")}
diff --git a/src/components/views/messages/CodeBlock.tsx b/src/components/views/messages/CodeBlock.tsx index cb21ffb5e0..0a3a80fb89 100644 --- a/src/components/views/messages/CodeBlock.tsx +++ b/src/components/views/messages/CodeBlock.tsx @@ -9,6 +9,7 @@ import React, { type JSX, useState } from "react"; import classNames from "classnames"; import { type DOMNode, Element as ParserElement, domToReact } from "html-react-parser"; import { textContent, getInnerHTML } from "domutils"; +import { CollapseIcon, CopyIcon, ExpandIcon } from "@vector-im/compound-design-tokens/assets/web/icons"; import { useSettingValue } from "../../../hooks/useSettings.ts"; import { CopyTextButton } from "../elements/CopyableText.tsx"; @@ -25,13 +26,9 @@ const ExpandCollapseButton: React.FC<{ onClick(): void; }> = ({ expanded, onClick }) => { return ( - + + {expanded ? : } + ); }; @@ -138,7 +135,9 @@ const CodeBlock: React.FC = ({ preNode }) => { className={classNames("mx_EventTile_button mx_EventTile_copyButton", { mx_EventTile_buttonBottom: !!expandCollapseButton, })} - /> + > + +
); }; diff --git a/src/components/views/rooms/RoomInfoLine.tsx b/src/components/views/rooms/RoomInfoLine.tsx index dd5a113ecb..687c41da34 100644 --- a/src/components/views/rooms/RoomInfoLine.tsx +++ b/src/components/views/rooms/RoomInfoLine.tsx @@ -9,6 +9,7 @@ Please see LICENSE files in the repository root for full details. import React, { type JSX, type FC } from "react"; import { type Room, JoinRule, type MatrixClient } from "matrix-js-sdk/src/matrix"; import { KnownMembership } from "matrix-js-sdk/src/types"; +import { LockSolidIcon, VideoCallSolidIcon, PublicIcon } from "@vector-im/compound-design-tokens/assets/web/icons"; import { _t } from "../../../languageHandler"; import RightPanelStore from "../../../stores/right-panel/RightPanelStore"; @@ -39,16 +40,16 @@ const RoomInfoLine: FC = ({ room }) => { const isVideoRoom = calcIsVideoRoom(room); - let iconClass: string; + let icon: JSX.Element; let roomType: string; if (isVideoRoom) { - iconClass = "mx_RoomInfoLine_video"; + icon = ; roomType = _t("common|video_room"); } else if (joinRule === JoinRule.Public) { - iconClass = "mx_RoomInfoLine_public"; + icon = ; roomType = room.isSpaceRoom() ? _t("common|public_space") : _t("common|public_room"); } else { - iconClass = "mx_RoomInfoLine_private"; + icon = ; roomType = room.isSpaceRoom() ? _t("common|private_space") : _t("common|private_room"); } @@ -75,7 +76,8 @@ const RoomInfoLine: FC = ({ room }) => { } return ( -
+
+ {icon} {roomType} {members}
diff --git a/src/stores/ToastStore.ts b/src/stores/ToastStore.ts index dd09c610b8..41a78ed460 100644 --- a/src/stores/ToastStore.ts +++ b/src/stores/ToastStore.ts @@ -8,6 +8,7 @@ Please see LICENSE files in the repository root for full details. import EventEmitter from "events"; import { logger } from "matrix-js-sdk/src/logger"; +import { type JSX } from "react"; import type React from "react"; import { type ComponentClass } from "../@types/common"; @@ -17,7 +18,7 @@ export interface IToast { // higher priority number will be shown on top of lower priority priority: number; title?: string; - icon?: "verification" | "verification_warning" | "key_storage"; + icon?: JSX.Element; component: C; className?: string; bodyClassName?: string; diff --git a/src/toasts/BulkUnverifiedSessionsToast.ts b/src/toasts/BulkUnverifiedSessionsToast.tsx similarity index 90% rename from src/toasts/BulkUnverifiedSessionsToast.ts rename to src/toasts/BulkUnverifiedSessionsToast.tsx index 9df70cfb9d..7f658dc3ab 100644 --- a/src/toasts/BulkUnverifiedSessionsToast.ts +++ b/src/toasts/BulkUnverifiedSessionsToast.tsx @@ -6,6 +6,9 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Com Please see LICENSE files in the repository root for full details. */ +import React from "react"; +import { ErrorSolidIcon } from "@vector-im/compound-design-tokens/assets/web/icons"; + import { _t } from "../languageHandler"; import dis from "../dispatcher/dispatcher"; import DeviceListener from "../DeviceListener"; @@ -33,7 +36,7 @@ export const showToast = (deviceIds: Set): void => { ToastStore.sharedInstance().addOrReplaceToast({ key: TOAST_KEY, title: _t("encryption|verification|unverified_sessions_toast_title"), - icon: "verification_warning", + icon: , props: { description: _t("encryption|verification|unverified_sessions_toast_description"), primaryLabel: _t("action|review"), diff --git a/src/toasts/SetupEncryptionToast.ts b/src/toasts/SetupEncryptionToast.tsx similarity index 97% rename from src/toasts/SetupEncryptionToast.ts rename to src/toasts/SetupEncryptionToast.tsx index 965d8e17fc..ddf9dd69a7 100644 --- a/src/toasts/SetupEncryptionToast.ts +++ b/src/toasts/SetupEncryptionToast.tsx @@ -7,11 +7,11 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Com Please see LICENSE files in the repository root for full details. */ -import KeyIcon from "@vector-im/compound-design-tokens/assets/web/icons/key"; +import React from "react"; +import { KeyIcon, ErrorSolidIcon, SettingsSolidIcon } from "@vector-im/compound-design-tokens/assets/web/icons"; import { type ComponentType } from "react"; import { type Interaction as InteractionEvent } from "@matrix-org/analytics-events/types/typescript/Interaction"; -import type React from "react"; import Modal from "../Modal"; import { _t } from "../languageHandler"; import DeviceListener from "../DeviceListener"; @@ -52,9 +52,9 @@ const getIcon = (kind: Kind): IToast["icon"] => { return undefined; case Kind.VERIFY_THIS_SESSION: case Kind.KEY_STORAGE_OUT_OF_SYNC: - return "verification_warning"; + return ; case Kind.TURN_ON_KEY_STORAGE: - return "key_storage"; + return ; } }; diff --git a/src/toasts/UnverifiedSessionToast.tsx b/src/toasts/UnverifiedSessionToast.tsx index 76d961233c..4a7f7d2be4 100644 --- a/src/toasts/UnverifiedSessionToast.tsx +++ b/src/toasts/UnverifiedSessionToast.tsx @@ -7,6 +7,7 @@ Please see LICENSE files in the repository root for full details. */ import React from "react"; +import { ErrorSolidIcon } from "@vector-im/compound-design-tokens/assets/web/icons"; import { _t } from "../languageHandler"; import dis from "../dispatcher/dispatcher"; @@ -47,7 +48,7 @@ export const showToast = async (deviceId: string): Promise => { ToastStore.sharedInstance().addOrReplaceToast({ key: toastKey(deviceId), title: _t("encryption|verification|unverified_session_toast_title"), - icon: "verification_warning", + icon: , props: { description: device.display_name, detail: , diff --git a/test/unit-tests/async-components/dialogs/security/__snapshots__/NewRecoveryMethodDialog-test.tsx.snap b/test/unit-tests/async-components/dialogs/security/__snapshots__/NewRecoveryMethodDialog-test.tsx.snap index 530bba11ee..2221bd135c 100644 --- a/test/unit-tests/async-components/dialogs/security/__snapshots__/NewRecoveryMethodDialog-test.tsx.snap +++ b/test/unit-tests/async-components/dialogs/security/__snapshots__/NewRecoveryMethodDialog-test.tsx.snap @@ -24,6 +24,17 @@ exports[` when key backup is disabled 1`] = ` + + + New Recovery Method @@ -96,6 +107,17 @@ exports[` when key backup is enabled 1`] = ` + + + New Recovery Method diff --git a/test/unit-tests/components/views/beacon/__snapshots__/BeaconListItem-test.tsx.snap b/test/unit-tests/components/views/beacon/__snapshots__/BeaconListItem-test.tsx.snap index 81d58a18f0..1cc41fd9f3 100644 --- a/test/unit-tests/components/views/beacon/__snapshots__/BeaconListItem-test.tsx.snap +++ b/test/unit-tests/components/views/beacon/__snapshots__/BeaconListItem-test.tsx.snap @@ -62,7 +62,22 @@ exports[` when a beacon is live and has locations renders beac class="mx_AccessibleButton mx_CopyableText_copyButton" role="button" tabindex="0" - /> + > + + + + +
diff --git a/test/unit-tests/components/views/beacon/__snapshots__/DialogSidebar-test.tsx.snap b/test/unit-tests/components/views/beacon/__snapshots__/DialogSidebar-test.tsx.snap index 3b7b73b7ed..3d5922fcbe 100644 --- a/test/unit-tests/components/views/beacon/__snapshots__/DialogSidebar-test.tsx.snap +++ b/test/unit-tests/components/views/beacon/__snapshots__/DialogSidebar-test.tsx.snap @@ -102,7 +102,22 @@ exports[` renders sidebar correctly with beacons 1`] = ` class="mx_AccessibleButton mx_CopyableText_copyButton" role="button" tabindex="0" - /> + > + + + + + diff --git a/test/unit-tests/components/views/beacon/__snapshots__/ShareLatestLocation-test.tsx.snap b/test/unit-tests/components/views/beacon/__snapshots__/ShareLatestLocation-test.tsx.snap index b3c27d5b96..eab675f369 100644 --- a/test/unit-tests/components/views/beacon/__snapshots__/ShareLatestLocation-test.tsx.snap +++ b/test/unit-tests/components/views/beacon/__snapshots__/ShareLatestLocation-test.tsx.snap @@ -33,7 +33,22 @@ exports[` renders share buttons when there is a location class="mx_AccessibleButton mx_CopyableText_copyButton" role="button" tabindex="0" - /> + > + + + + + `; diff --git a/test/unit-tests/components/views/dialogs/__snapshots__/DevtoolsDialog-test.tsx.snap b/test/unit-tests/components/views/dialogs/__snapshots__/DevtoolsDialog-test.tsx.snap index 04e36322e0..1a51e40cca 100644 --- a/test/unit-tests/components/views/dialogs/__snapshots__/DevtoolsDialog-test.tsx.snap +++ b/test/unit-tests/components/views/dialogs/__snapshots__/DevtoolsDialog-test.tsx.snap @@ -39,7 +39,22 @@ exports[`DevtoolsDialog renders the devtools dialog 1`] = ` class="mx_AccessibleButton mx_CopyableText_copyButton" role="button" tabindex="0" - /> + > + + + + +
+

Report a bug

diff --git a/test/unit-tests/components/views/dialogs/devtools/__snapshots__/Users-test.tsx.snap b/test/unit-tests/components/views/dialogs/devtools/__snapshots__/Users-test.tsx.snap index 94bdb71047..ee3ebf88b5 100644 --- a/test/unit-tests/components/views/dialogs/devtools/__snapshots__/Users-test.tsx.snap +++ b/test/unit-tests/components/views/dialogs/devtools/__snapshots__/Users-test.tsx.snap @@ -16,7 +16,22 @@ exports[` should render a single device - signed by owner 1`] = ` class="mx_AccessibleButton mx_CopyableText_copyButton" role="button" tabindex="0" - /> + > + + + + +
  • @@ -29,7 +44,22 @@ exports[` should render a single device - signed by owner 1`] = ` class="mx_AccessibleButton mx_CopyableText_copyButton" role="button" tabindex="0" - /> + > + + + + +
  • @@ -74,7 +104,22 @@ exports[` should render a single device - signed by owner 1`] = ` class="mx_AccessibleButton mx_CopyableText_copyButton" role="button" tabindex="0" - /> + > + + + + +
  • @@ -87,7 +132,22 @@ exports[` should render a single device - signed by owner 1`] = ` class="mx_AccessibleButton mx_CopyableText_copyButton" role="button" tabindex="0" - /> + > + + + + +
  • @@ -120,7 +180,22 @@ exports[` should render a single device - unsigned 1`] = ` class="mx_AccessibleButton mx_CopyableText_copyButton" role="button" tabindex="0" - /> + > + + + + +
  • @@ -133,7 +208,22 @@ exports[` should render a single device - unsigned 1`] = ` class="mx_AccessibleButton mx_CopyableText_copyButton" role="button" tabindex="0" - /> + > + + + + +
  • @@ -178,7 +268,22 @@ exports[` should render a single device - unsigned 1`] = ` class="mx_AccessibleButton mx_CopyableText_copyButton" role="button" tabindex="0" - /> + > + + + + +
  • @@ -191,7 +296,22 @@ exports[` should render a single device - unsigned 1`] = ` class="mx_AccessibleButton mx_CopyableText_copyButton" role="button" tabindex="0" - /> + > + + + + +
  • @@ -224,7 +344,22 @@ exports[` should render a single device - verified by cross-signing 1`] class="mx_AccessibleButton mx_CopyableText_copyButton" role="button" tabindex="0" - /> + > + + + + +
  • @@ -237,7 +372,22 @@ exports[` should render a single device - verified by cross-signing 1`] class="mx_AccessibleButton mx_CopyableText_copyButton" role="button" tabindex="0" - /> + > + + + + +
  • @@ -284,7 +434,22 @@ exports[` should render a single device - verified by cross-signing 1`] class="mx_AccessibleButton mx_CopyableText_copyButton" role="button" tabindex="0" - /> + > + + + + +
  • @@ -297,7 +462,22 @@ exports[` should render a single device - verified by cross-signing 1`] class="mx_AccessibleButton mx_CopyableText_copyButton" role="button" tabindex="0" - /> + > + + + + +
  • @@ -330,7 +510,22 @@ exports[` should render a single user 1`] = ` class="mx_AccessibleButton mx_CopyableText_copyButton" role="button" tabindex="0" - /> + > + + + + +
  • diff --git a/test/unit-tests/components/views/messages/__snapshots__/TextualBody-test.tsx.snap b/test/unit-tests/components/views/messages/__snapshots__/TextualBody-test.tsx.snap index 2a3fc12f69..40d88d54bd 100644 --- a/test/unit-tests/components/views/messages/__snapshots__/TextualBody-test.tsx.snap +++ b/test/unit-tests/components/views/messages/__snapshots__/TextualBody-test.tsx.snap @@ -64,7 +64,22 @@ exports[` renders formatted m.text correctly linkification is not class="mx_AccessibleButton mx_EventTile_button mx_EventTile_copyButton" role="button" tabindex="0" - /> + > + + + + + @@ -268,7 +283,22 @@ exports[` renders formatted m.text correctly pills do not appear class="mx_AccessibleButton mx_EventTile_button mx_EventTile_copyButton" role="button" tabindex="0" - /> + > + + + + + @@ -438,14 +468,41 @@ num_sqrt = num ** + class="mx_EventTile_button" + > + + + +
    + > + + + + +
    diff --git a/test/unit-tests/components/views/right_panel/__snapshots__/UserInfo-test.tsx.snap b/test/unit-tests/components/views/right_panel/__snapshots__/UserInfo-test.tsx.snap index 7b2bcb1c92..14c06a6abc 100644 --- a/test/unit-tests/components/views/right_panel/__snapshots__/UserInfo-test.tsx.snap +++ b/test/unit-tests/components/views/right_panel/__snapshots__/UserInfo-test.tsx.snap @@ -108,7 +108,22 @@ exports[` with crypto enabled renders 1`] = ` class="mx_AccessibleButton mx_CopyableText_copyButton" role="button" tabindex="0" - /> + > + + + + +

    @@ -395,7 +410,22 @@ exports[` with crypto enabled should render a deactivate button for class="mx_AccessibleButton mx_CopyableText_copyButton" role="button" tabindex="0" - /> + > + + + + +

    diff --git a/test/unit-tests/components/views/right_panel/user_info/__snapshots__/UserInfoHeaderView-test.tsx.snap b/test/unit-tests/components/views/right_panel/user_info/__snapshots__/UserInfoHeaderView-test.tsx.snap index 51c368b0e2..7374a49367 100644 --- a/test/unit-tests/components/views/right_panel/user_info/__snapshots__/UserInfoHeaderView-test.tsx.snap +++ b/test/unit-tests/components/views/right_panel/user_info/__snapshots__/UserInfoHeaderView-test.tsx.snap @@ -57,7 +57,22 @@ exports[` renders custom user identifiers in the header 1` class="mx_AccessibleButton mx_CopyableText_copyButton" role="button" tabindex="0" - /> + > + + + + +

    diff --git a/test/unit-tests/components/views/rooms/RoomInfoLine-test.tsx b/test/unit-tests/components/views/rooms/RoomInfoLine-test.tsx new file mode 100644 index 0000000000..434f78dfc4 --- /dev/null +++ b/test/unit-tests/components/views/rooms/RoomInfoLine-test.tsx @@ -0,0 +1,36 @@ +/* +Copyright 2025 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. +*/ + +import { render } from "jest-matrix-react"; +import React from "react"; +import { MatrixEvent, Room } from "matrix-js-sdk/src/matrix"; + +import RoomInfoLine from "../../../../../src/components/views/rooms/RoomInfoLine.tsx"; +import { stubClient } from "../../../../test-utils"; + +describe("RoomInfoLine", () => { + it("renders for public room", () => { + const cli = stubClient(); + const room = new Room("!roomId", cli, cli.getUserId()!); + room.currentState.setStateEvents([ + new MatrixEvent({ + sender: cli.getUserId()!, + room_id: room.roomId, + state_key: "", + event_id: "$eventId", + type: "m.room.join_rules", + content: { + join_rule: "public", + }, + }), + ]); + + const { asFragment, getByText } = render(); + expect(getByText("Public room")).toBeVisible(); + expect(asFragment()).toMatchSnapshot(); + }); +}); diff --git a/test/unit-tests/components/views/rooms/__snapshots__/RoomInfoLine-test.tsx.snap b/test/unit-tests/components/views/rooms/__snapshots__/RoomInfoLine-test.tsx.snap new file mode 100644 index 0000000000..643c3b3bf0 --- /dev/null +++ b/test/unit-tests/components/views/rooms/__snapshots__/RoomInfoLine-test.tsx.snap @@ -0,0 +1,22 @@ +// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing + +exports[`RoomInfoLine renders for public room 1`] = ` + +
    + + + + Public room +
    +
    +`; diff --git a/test/unit-tests/components/views/settings/tabs/room/__snapshots__/AdvancedRoomSettingsTab-test.tsx.snap b/test/unit-tests/components/views/settings/tabs/room/__snapshots__/AdvancedRoomSettingsTab-test.tsx.snap index cbefee378b..813e759967 100644 --- a/test/unit-tests/components/views/settings/tabs/room/__snapshots__/AdvancedRoomSettingsTab-test.tsx.snap +++ b/test/unit-tests/components/views/settings/tabs/room/__snapshots__/AdvancedRoomSettingsTab-test.tsx.snap @@ -47,7 +47,22 @@ exports[`AdvancedRoomSettingsTab should render as expected 1`] = ` class="mx_AccessibleButton mx_CopyableText_copyButton" role="button" tabindex="0" - /> + > + + + + + diff --git a/test/unit-tests/toasts/SetupEncryptionToast-test.tsx b/test/unit-tests/toasts/SetupEncryptionToast-test.tsx index fa2b389659..8a63a6307b 100644 --- a/test/unit-tests/toasts/SetupEncryptionToast-test.tsx +++ b/test/unit-tests/toasts/SetupEncryptionToast-test.tsx @@ -55,6 +55,14 @@ describe("SetupEncryptionToast", () => { }); }); + describe("Verify this session", () => { + it("should render the toast", async () => { + act(() => showToast(Kind.VERIFY_THIS_SESSION)); + + expect(await screen.findByRole("heading", { name: "Verify this session" })).toBeInTheDocument(); + }); + }); + describe("Key storage out of sync", () => { let client: Mocked; diff --git a/test/unit-tests/toasts/__snapshots__/UnverifiedSessionToast-test.tsx.snap b/test/unit-tests/toasts/__snapshots__/UnverifiedSessionToast-test.tsx.snap index a1ddb2b88c..ab34e13fda 100644 --- a/test/unit-tests/toasts/__snapshots__/UnverifiedSessionToast-test.tsx.snap +++ b/test/unit-tests/toasts/__snapshots__/UnverifiedSessionToast-test.tsx.snap @@ -8,8 +8,20 @@ exports[`UnverifiedSessionToast when rendering the toast should render as expect role="alert" >
    + + +