From 441b1b93e12c622b7165d94c91f3797ca5d0aa3e Mon Sep 17 00:00:00 2001 From: Steven Date: Sat, 31 Oct 2026 01:34:25 +0800 Subject: [PATCH] =?UTF-8?q?feat(knowledge):=20=E7=82=B9=E5=BC=80=E7=9F=A5?= =?UTF-8?q?=E8=AF=86=E5=85=88=E7=9C=8B=E5=88=B0=E6=8E=92=E5=A5=BD=E7=89=88?= =?UTF-8?q?=E7=9A=84=E6=AD=A3=E6=96=87=EF=BC=8C=E8=A6=81=E6=94=B9=E5=86=8D?= =?UTF-8?q?=E7=82=B9=E3=80=8C=E7=BC=96=E8=BE=91=E3=80=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 之前抽屉一打开就是 Vditor 编辑器,正文是一堆 `##` 和 `-` 的原文, 导入的 84 条旧备忘看着尤其像草稿。现在分成「看」和「写」两态: - 默认只读:按 Markdown 渲染(markdown-it + DOMPurify),分类与标签是 chip, 附件列表只读;底部是「编辑」和状态动作,右侧显示发布于何时。 - 点「编辑」才挂编辑器;「取消」直接丢弃未保存改动(重新拉一次详情)。 - 安卓详情页同样用 Markwon 把正文排版后再显示,要改走「编辑正文」。 顺带修了 `web/e2e/knowledge.mjs` 里一条早就失效的断言:它等的是 「已发布 · 版本 N」,但界面上没有这行字(git 历史里也没有), 改成等抽屉底部的「发布于 …」。 验证:pytest 94 passed、ruff 全绿、tsc 0、vite build ✓; `knowledge-notebook.mjs` 16 项、`knowledge.mjs` 7 项 e2e 全绿。 安卓本轮仍未编译(本机 JDK 25 与 Gradle 8.7/AGP 8.7.3 不兼容)。 --- 2.Design/ROADMAP-M0-M1.md | 2 + 2.Design/screens/knowledge-read-view.png | Bin 0 -> 113355 bytes .../java/com/dadao/task/ui/KnowledgeScreen.kt | 41 +++++++- web/e2e/knowledge-notebook.mjs | 10 ++ web/e2e/knowledge.mjs | 4 +- web/e2e/shots-knowledge-view.mjs | 94 +++++++++++++++++ web/src/pages/Knowledge.tsx | 96 ++++++++++++++---- 7 files changed, 222 insertions(+), 25 deletions(-) create mode 100644 2.Design/screens/knowledge-read-view.png create mode 100644 web/e2e/shots-knowledge-view.mjs diff --git a/2.Design/ROADMAP-M0-M1.md b/2.Design/ROADMAP-M0-M1.md index 7fa956c..02e471f 100644 --- a/2.Design/ROADMAP-M0-M1.md +++ b/2.Design/ROADMAP-M0-M1.md @@ -294,12 +294,14 @@ | 3.11 | 知识分类:工作区三级小树(`knowledge_category` + 迁移 0007 + RLS),知识可归一类,列表按分类子树 / 未分类 / 标签筛选 | 1.0 | [x] 增删改移 + 重名 `7008`、超三级 `7007`、删分类要 `force` | | 3.12 | 备忘录形态:新建知识一次写全(标题/类型/分类/标签/正文),不再是"填个标题就完成";抽屉加宽 + 可整屏 | 1.0 | [x] Web `KnowledgeComposer` + 安卓新建后直进编辑器;正文就是详情同款富文本编辑器(Vditor / Compose 编辑器);`Sheet` 增 `size="md/lg/xl"` 与展开按钮;截图 `2.Design/screens/knowledge-composer.png`、`knowledge-categories.png` | | 3.13 | 知识能挂附件:新建面板里直接上传(懒建草稿拿到条目 id 再传),详情里能看、能下载/打开 | 1.0 | [x] Web `AttachmentPanel` + `RichTextEditor.ensureItemId`(贴图/传附件前自动存草稿);安卓详情页附件列表 + `OpenDocument` 上传 + 浏览器打开;附件仍落在 `item` 上(`ALLOWED_KINDS` 含 knowledge) | +| 3.14 | 点开一条知识默认是「看」:Markdown 渲染成正文样式;要改再点「编辑」进编辑器,取消即丢弃未保存改动 | 1.0 | [x] `KnowledgeDrawer` 分 `editing` 两态(只读用 `Markdown` + `prose-dadao`,编辑才挂 `RichTextEditor`);e2e 断言默认 `.vditor-ir` 为 0;截图 `2.Design/screens/knowledge-read-view.png` | ### M3 完成定义(DOD) - [x] 一件事办完 → 自动出现一份草稿 → 核对 → 发布,全程不用手动复制粘贴 - [x] 每条知识都能追到来源(除手记),点开能看到来源事项 - [x] 非管理员发布被拒;跨租户看不到别人的知识 - [x] 知识是备忘录:标题、正文、标签、三级分类、搜索;新建时就能把这些一次填完(Web 与安卓一致) +- [x] 点开知识默认看到的是排好版的正文,不是编辑器的原文;要改才点「编辑」 - [x] 切片与语义检索跑通(`real[]` + SQL 余弦;pgvector 仍待独立实例) - [ ] 真实用两周:新同事靠知识库自己解决过一次问题(需要真实团队) diff --git a/2.Design/screens/knowledge-read-view.png b/2.Design/screens/knowledge-read-view.png new file mode 100644 index 0000000000000000000000000000000000000000..00be73a3e4580529ca7eb8875454c06e3aacba55 GIT binary patch literal 113355 zcmYIvWmH^C(=|82-F0wxcXxMpcZUIjCc&M--Q6X)y9ReBxVr@ZxX(@AZ+^^Lr&pgo z)m7b9yLWYkDJe)Iz~aJ!fq@}NONps~fkEVefqm|V{`Aozw=ew;28IkKEhen?CF3*` zDhHt6GBlZB-&BB#iV95*1oxN1DxeDgMq=_66Io46_>^c#=#=Esb-^keG!>D!7tudH z_1_YN4s#0+lI&GC9x@&G*IIs%KTxEn>%Mh)|5(oCceSwa2+P{^8_0Bh(1-oTtcX3s zh=MG$*+3_o#o__Ur;fd;`oqGW#dUw-Um^efb@L3WgMD)oF8TW3GZ+{=3^D+$K90&q zbQJ*~{$J7m{TWex+XBnElj@AXHFJRbuMO-QJEZ^TZyKb`0Kn)!J^%b^6$J-}0;4C7 z?BhhYar)ENJ!MP_CKPdalAVWst@@|Yh)VdQXJu~o`kw|crg|YKu&GbSO9+REf7-A` zh`7MCbdlTs4u66VjR>{?yM*w!1LDU!HT&HTf1bOU{`nA!9o+r%pN3$hj|o-4)ZqPj zW~%s@iqX{nf5GYV#|u5oPHq1n{hh8TJ^wfE)W;ONg@jKb|BM5#t3%4w zd#LEcdO46e@U`N1XCWB&)&C!M>PMr$=v=VD^mH~8biVv&?QQGY9*w@nTf^LebjUnz zRM?< z&YZJ_WmO!B#F>Y06Eh3n5`}&}8jK9%fb{Y2RP2(z9em@xwtLbvTsg)pV;Ow$SNV!|m zN_Xup4Jvert>OH%-mRKI4|>A}o8_{^+qU|iYChRMt3UF<$nQniLgNuA6SBHv{F8s- zS?@R>Z+|_u%D+-ls=o27*A>| z7anl?ijK=x#-GEd#~{biO;zDBJqnqrrSstQ+R$!WFy=N+q~&M zhmSl^uc`UGJq?OvNaB0s-_Su>O`!K$(c>c2GCcm^-xY1r|0$-os2RKv<1FFy7d1 zY(eYF*-WHkJS=zFp1<{iZC5NIOCbV*$EH4ezPbn+n;iZo4fo+^=5wzsW2gP*E5q}; z<5%DyQi1`(+hnl-_rr###m}Lb$GHo}j+ZTucG07Tz0In2l}4(KJM(!%;=guUw{F_7vF$weys`R~mX?Gl7UI3gi@5QS^BI#~hYSxd^HSe+e`;^` z!wLlL4{y7wBgs@F1IY#=Z9e;fJMUKynpa2-29#M_p$^P?mz$}le8R-Py5ktEA3eW`3H zFJ@_>TYUbjCuA~;UBnJasIF(^R#xAqTf%HljrE>S9e34T=)Ma3f=?wrd5C;lU_4Kn zT`zmGU%k1*;#N3u|FQCk0QcB+U@{_8Rx@o0v@{j(OfL`$pcSML=^-9 z{8)~u1P6+EH~pdgsQEI)El>_TL5{B^nM7nCh?;CHurOq&)qz45wVCM@`rQA}enN>+&oG8>lPR5W{zTeMj9!}DF^!BaZO~7lI;s*BtgU(j!-sT|Q zWXgMYK)nuYT|j3vMUOCCqiuCpR#J4m*rrQ__BA>^`*>@@0_bb=OH+gG#P=yHPr7pX z&!tJFvqhZ`uaf6=H>Zq%_s5;C-w@nQ60-~Xpjp_j#rm6e1mOcjmckE$w>?PbU7M>a z3I}`1SZAH94kI@O`iBqaEw0(x%{8%`D8fd1VMYs+A~x!qX0d`!4a8G?a9IXIG$FU( zEqGo7!w#qIHwrZ7_U>u{=7W(ql$nNdK7?3X-0S%ukp_b=U#4qP4N!5E(D8;dU3dMHTB~6koH_ik`GL z#RwNIr^~Rpys)s!T(#|K#*}buBnYal*Oj6|jPAeeuqo8rpTYObkq;^ycAOF}H^{N$ zOdrE=S&lRf;$xB#FFh7Z3>RR<@9(+7JY{CtCHvx+wYcct=gz_=+F3cZA)$Ni$y0y` z6U&68`dc(xf*n>>N*jx^yCEl4R^`JayU1)I&`J2Or-5}zH_A>SuS%NHTc zY@n@%IWXHS1V?f6epVz_qs)x+kou`E4KwQ2_l`OHB_U8SrMkz~^Y{qD28>Pn*J72+ z=3{igxaOfelkCENpA?i_8k_aXTxmT+A^S^tb;tcjyrJZsvhr~`qgfzr0ON>7X$W6}@b_H+y2$-jK+ z$ST#9P)QRx&$M%J@M;r}gZK5)SCXRXv|}i1U+t*ZQ0Mkqv(w3BUDIfo!R8VL zkdcoPheV}WzFufhhZmtqXV`860TX?`v4N@$p3N@O+;Na zIiO81km^**DIKXaVUJ^~?ko~80~C>|NiVq6x+zNK==OkG9?!90hkVr$n%S0w8HaKbc;cphT!|&a&_0+lLaeh zhwTL512%r(SorH0!PkaqOj90QWe?^q;BsAd=GZ$@cvf7gpYMpcb>}v1|PEx-i>2LTq88t@N`T55*DoNUE&GxPn`PVxN zQ7MDKl{2S`BHF2B2kPh-tESY<^@$TW;?{`HKzoObCrRJ7h#5=3EJEX zbt!hxFf<*d?j2A#I%A9&K*t__i~fl0t4d7W=O1vR#Imfn@bF_JHdjzuih&RZ!-9-)J?8rS zb}*!dhqGl#N-d`HC_|CCyB-1%$;L^e-y49BvrO3iJ?WF=@Ug2eW=CkxcoPthTb{yc zCtvR#_f3T^{H{rJk0IXJV2Gtf+5mosxlNm%Q20;j#a|-~&M3rf{^!tD*kGqp>Uz){ z3{vZQAP-*l7b$)3Zw8$~>%SLLH=jSeiFF;;t6te+;9UXV%Vn{kdDhbo#@ED} zgu=1pb(f(tGONgIqUEcZF~(xKA!MduXhi+|StRc5TrGy`<1_u`@eyh>&en(y^UMrX zsnm$?K0)%hJ(`_o-g=+ewthHgh;Ym%O=4XK`IGrLp-dN0g?c6bjw9Q46_aeyJ0*`% zMxYUqTkDoOLo$7y^wvJuCU(I>KLKd?k`5)tNz`UP6mk}HpNtH zwE@?f#jMf8*!gG0i6`aESm##f@#n&mTt#8tt!5=VYh| zxB0AoL?|l%oeQziQG1Lvexqhy<&tiGeG|tjyBigDT+Mcf+F^1h#h8ute|uj=>bl{- zsi|rq>LFGv+(pCzz20v~A`k~CC{Mc+S9~F;Jd?Ho?HpRP3Bmc`cc6gZxy!hTGJAN^ zmy{b`N(|AswJobZZcLc?=&rT?fp;k{#zsdQ1EDZ3EQ)Zea0(RCJ|wi|@8mwhm<{X~95MJ7p8C=+X{e47H_gP`ui zkTaTWMLl76)qG|bRGywx2YgkJr9?z}V66%$s?E=Is)VY*uWwIwOo`#$UmEj!SoPkY zVBb{0TU7E;mLF5r`Df<5G!i3#O-R}ymfUb%obD(f`W~^c>%q^jhqbKhh$$CyTRXwP zr>sX*cAJxMG5IkratnDmmX1B|mM6mijb}UHVS`az;zU8V+}8SiT5Jt^KM!{~$}B2w zE=8?m3@o-JL=7BDzTxA*(7FRff~yfh#iW{D$gx{||AUxbq2Ni{rsmNKM_h!lnHpq_ zYQKx`b9UG1S2cnQz>`mRUlzxjg_C+fntCtK;L*sh&oK+MycSXEA#E6NJ`%bub-1wV z@;+Z1W9$_BH~bq#DyL_&Tw3BWdv24>fZu+lP<-6*kYnqYZ`z0hxGt`FAG$x=Hzu+n zHy|=a@8rDRzu#Iw3rK@b7~9Q_o%dueS?C_LPyIBUfho!&#xrOW zo4YzB!zIBU-UjXFs#V2QHaY2Hca67Pk*^nV07q}gt@mXv9QKRTMtCt0K^c`WW2~1L zKqjJP@&Og5)(T|?9x$TFewnz&&WiNJqmsc!s_mLuBXoX~DG7eE-?Y5wuqJo^i01`# zB>V+;Wc0xQxxlWhhE2P%@LwAV6x@-}t+)u&JXp$J%8J%Wh6YPvE`# zvSyZ1-`31lIXbAA&eW^sYL+%0TA-rIO;gp1@TAk=|6=J5PcIj*au~wj5PQ(9(((Kq zD;Y`1`L;v&jIFP;E(KuGD`scHb$zLJut9%9T zmS5fmusYo)JLaB@YN%<9*D4Zy#l$@*N?oYo4KV{(2>QuI=&8wU<`qcDrK}n8Ly76l zTQ2O>A4GpyM=?*E3qC2L7Kf@ev|jqal+}!?-(Q>NZcSXuk zWg&}Es$vfA!uO)w5p`x^K(Zk)3}zeTIH&&Z*eH$wnp-kISgx_H-< zEKW6-r$rDuGF(;59a6In-fg-axz7f&Y`)$%8G7DfJPu|}?BW?dr{Q9|&;uv%@$ttc z2|W9sF*~lqX9hH~4KE|ZwvZ=PcnuUR8pv7W3@c_MJ)XSG%nzpXT~pcOxBeKU#xNT?tdtHOgx~!kJoNg=I9X+{ z5qI2TYU4y!Zb79%c~kXrV>n_wVwp%`oghx$wutbqZ4Vw|jr_x$Uoft>0E^h?e@3-+f|1z+f^4> ztUcl%_EsjPCPijRW+>65^-DFnmlL^%ISoeh`DLo(ogy?qqp_}D!83%co{D_D*5gz) z{tEg7Y;V9!+AM4osaV^~kE;d4c?OoI|I9JuK|qD7*DAa?9?vL%w95aIv~SV+5dnje z4cHJ2k90n`iEsD!92k~G!^(%rY%=z3n4kH@KX0@joCDX&tD9L0r9P}VBy|cYFOF&Y zbbEA$uWT1e=0$cUQMt*S0>UB1IuxKLbIk$@K1NG5hb)04C>;mwxNT*<*b^K|c^&kM zfscip{M;!O-vR!EvK{m6MhF6UW}VRj=UT0DXn;ve&@fD2tDVxyB^u?aekjKZhZN?jKIQG;AoSb2%e$lkw|QD zX>Wp2y>Z)Wp!p0h&FGX7Bqk1`9yYHF%5X?Nwy?vejFn@Cx$9IB=&RI_NtDS!5XK&y zCeC%FxX`Tbdl_H_Z#A?_5Gy($`lExCJK^e})oZm(-+Gld{olxOFbxLf8JB#G%u;0fL9JuZzEwdVI)EE7p&uQ_}3resjxF6PJ8M^4Wxl##* zZML#nT;q4*8L_x=VbnpcZ`*~GBV;OM^MM@&If>jI!1{|{7XosPY#%LM}@UAsE6;~pDc-PgTpV z*1rsPcgk+mK*Zwda^YA~$K{NyApZ^&@Srf+Fsox$;Xwa)`i0L9y4Nw@hwF3Kb+i{D zcIdc4WPymML@3>oQpb>=2k4)jld%(|y@y((l>?`vcE1@Kx=b_hp7Gsgs>W%#o_E@A zH?+XCPbb8u^nQ^Jy2N`@;H#0uf)K3j-w! zb?A>!2~=_tXsxs~bQuJ#*M8%ua;yQ5C1#85xIEXstdI~Bv}a$a%XIMT(*G9&M)c^E|F%(xKy9`1;>^1igv1#c%&U-Q94+vQf~cl`K~UkPdu?dmNQ zq-j;ItPi0-o}k019{nU9;<+S~e7luu<=EP3CqWpz!(}B!k#1{y0pK+5?GHm6baSuA zx?YY%Q-22Q%Wj6MO^7?v3?O~QTu{Z4a0;9`kQ5JgXtQrh;dZr!5c;I8j8tPz{qH^l z!#4SsTVXFHTiMlC0egR0yej}B@H$a=c+=yC)OZdP@UrhHmvVPofdyMCbE ztY5#UP8KdRzltL#^m|v9cTXrM5{~~VM?7@Z?+@Xk4~Hp0YHy;RmmCg^SAH#zs<2(4 z@)ymI2)frjo@SXUG7LdeXNgXqE~M3R(o$Z6c#!)=*paN@7UqC$9KJ``?3(_8|D z1vPF~x115EcPNv)Otm-=?mY+DPBSijAATXZu1|-N3^QVO1ECN%;+&{VyG55MHxXZv zlA~j8DniQjE*|1@$WY6}9&Ax(WtSwml!4NRLdVAJI5wT3E$t?}J4jVnx~}vp*nYxX z@fqGSEoA9``uKJ?7OYwX8UXPMa-H!4%j*}JCOKA|Kj25_!Fots0a4r4hbN+uS7Cgc z_auSFWYm^J;!Le|9(91naib6JcV;7|W{F#scE`SorDL)2Dg_;ZuAKkyJUdy1 zC-_j_fMfgb721d-x}s-s{2t-p?~%fixl_tkjjjZ!3_43xXHgE1-l3nO% zGl;0+w34Y?o#`_zxp$q91mB%7kN@xiD^I1k<|#5S>fuxAZT?vDAck~4PJj~6kc>ij zLBXLJCMI#J9D^il-GR|gZ!*#>GYhsA_|UOUgp9c!j7Hw-SyN`v|9F`HEuK#ceEy_i ziC$*Tf~c~RKrJ3WQZ>vFM{vLS@}w3xy2mJ%^@s9#kZ!xp^HlRmpaXZgt(8=Un75== zTdI$GTZEL>Qe$(1z*E{3q_e0F288ocQr{kHN(KjtZ-;(D97|#A=Ss3hDbAEHB88KE zu^P;^TS_X4eKY3)ZKFIha}bd<8oIh{cQ}Jk|1;jlUvT&WG-5zir?quuZcw0K36`%4 zb^<9^yUjp#g1?Qpr~2x{84<8|YH>48SAHKsJK3pTfiSnj|reTCm|j;OfJC2GU;B5gdo1QLldus=sFPceB<4xx8%>&~J;16xs&*P$mUwI%PuzNK#)6i+Uz7AR zhqCdwT_rcX7~$D>l8|D?_$g1Yw^It+6-?GpYFBrQD;UrC_r8kt9(#<-jxPSAQ`C!Z3$ ztXn)lh7MJZpj)TX+!98xsXp8HmkY4ccJn8CqKSumx|m7{!PbS!sA-qR23b)sp!eR1 zA1PYVCQhiJ+~t$%`48uo2z*Cz$wdictd(8!GPbI~oR;Ip=o7Cu8b-r9y(XBxSCL)PN((s(* zuPh|~nwUEw4x^s)TxI1M$B<8UKnE0tCu_0shM3WsO$lCN<;GiAOls*CYx+cFJ z3e@VovBifOl85LHgiD6yvE@m3lri!SK}9NvLpgwRTpWxkgkht4&THES0%??2u_BwSobqSgCu{h#<%oYfU{+LFulUh;JAfXM!PH}G;a%_hta2ICTm3m>%&JGLK?Bcz#`hx`r{vT8y;XjDZ^zU1}ITPiGHF|D3;Muf;j^v`}MCOLf#kr3zFGb zn+Jo>5Qam9VF5w#(Zc{HhHDBnif;o7@t)pK%o(E#r>F^04|9MjVGMZ2$@F`H0C;7X z%J4cqS=`2zD$_PEjVsb3Q)#s}wh8>$2|D3~W|ZS&j8^}WK-o)_*XB5hZdjtJC>=Wv zx_UfoXm>gd`DYB-V$DcWAPo{oLB}AfFgUY#Hyze%Pa+lp9j|$T&Lf>34h1fK-}7Z)`?6>s(l!eNvnnN zK2Uw>%pPc;$SsaXl;^7#1p0s5!srrS#mNey+r7`Zt}1=p>_@6xuvp01mn6dZ{2X#` zA;$N9#3TdMA}E2K8=sJi}KN}|QpOFk>^-9@5;#+P1xR!$F)(g_+jn2n7Cpbmc}*+*j`xjcfv4RaH&QMu41KypE8@(0REeM| zSf5!OyxAWi1VE>CS0-l!V6hrQ6d`A{Tp)~MP86T?=Qd%=$5Gqr^M(_L(z9JGGWfvT zp?0YEA2;`oG6=}TB=LCMap7jfF_+nr1S@XE%Rq-)^mR&26+BpBlWWCAJ!wS$bHSSz z*Qyf=M*2eK!(YBg{6+)|zOV6o4VTs|6m4g1aMlTZn^z1l-?>lEE;3x-`Boezd^Y*- zNjU4rD=Lvo|D{a9z=X=NGq#XdjdTHKv11l+Eqb~P*^~P+iFHFLXt~Y+HxI1L9)D70 zEj5kb1*|L%!9_H?*KG9i=PqWU>(!HCT%R-9dtr%~)Rs*G?=i3yDgT|sMZ-)c zKapdhdK1dh+L6ep5u(VG(*lgP(8T4{uF@a*JJBs35r#?#U#zFc$k2y*$vDHAQ7G#c z(>Xp0<$G;uX3Ic`hHwr&?xhrYi;%+G}sYARQ6hq0b#x@gyC4loP7NWoL z(D(X;JBc6Hc{1KC7&<2`(fQKgA*j9}XUz(|*xYxKn@5IR*od! z5tFH}URei~dJW<2!SF@8EJVA)HV{zw{u-zC0-VlhK(5W3W1D0htJg03_ZkQuW}c_d zH-sFlpiQ5%C_iI#;D`x{O~kjUbGG7G2(}h3qM3pMZxzYv^gIyg_i;tiMPodT~s)7gbd6P z0}DZ4PO!nIgUS;_q5eTljLnjQ@%g~jNl?=TsWH5@L~LA}jyC)_R9@@}kS~Vmi!V$? zE@u5%vu6tx$5|bIWNw;A5)n(2%$a1&ctYn++_rz7%?^dP5!_k}6}mTx3{{BYNfZcL ze+WN1sj)ZLeGO3Qej+vJ>19&0&3vh|0QIJ@`H5(Hc;qVOgnT$40?!v_ha`Y#`76#W z2ThWUebA>7#CRPNZJI(AYBy+|d&kBriUN@Wj^Y`(>zK}q&x6_@SwXivnt~)tm(AjA z-KF)}4(U@3@Hi|o6tY~=!Kqh%kM*-nkM%4bV5y$W!aCE`_uc5ZE)XkmfY5$WWM5fT zm2+n1$Q7_Q`Ry)-?c2HF{T$k^tqR%|L$ zF~za41qyn$0qGO1IKGT!Jw5zt*qHdy7;vF)o^ZMKGAM1og4g^hrXa*f=23N=t0Fh_ zlkaQt`i@ka^0-h|!JCAf;o(r%jTcLotm5)SPR=-!=qP%K(*hRm>p?}uRj&_Gs}3!R z+HRJtsg<1B^ZKXiUfl9cW&kN&5Czc>qhR^$R+P$mEJpn}zR~bRT5`c4vfh7viJcu=ZtKPh1-WA@oCIMnz(X9G&RTYGK2k?-!t`F1|>5wCv?z-8ox%nkCVYJixG;ysE zH2L-NlJvaQ@mvB=p>RyDsH8+o*N!*BkQo&~Gm)meGEg!fJ6crQz&9@agz}#U>dwLT zN!RN5U4-Go5Pvk>6x6C(Zp!;;S43-gNS{nIU&d(8nf^7vUV9g|S<9MYHfhYmrbpP_ z)I^d}UN-&*+2I92oi=?jQ_lQ4bw0!nrx>AXFsV_k0X#KzFPT z2yzq~@r(=jkgUXMq}*x=_h4iEYpX1BPWP^mQx1Jb*q@Yi-5hn9##fV=7(2Y0INwz6 zg=&L5(o~V|2)Ue#imcwhq*T^Kg0>7Q&dLIAh?#9}Tw5l=zX6iPkKQ^ik7VXo8D7;# zh#-fFj(Gd68&7q0U0(e`ooGAGeo;S76v1n2x0b~D@ko)*@Wnm%gX^SA6tC_`-9Xe zoy=BUTHN&~@_%&X^BYp_*5NEhnG((Ly10Z#Z#vPBA$?>7q)bhRkUb%+Z*lKwp?Zyx zTK6JMC2{+YiwO%ZY_K16!$bsu^Ki7KXu#irE(r=su^RPx34u| zY2Q-x@7LTo(S(eX9?USSy6!Ac$?KBU=qq*G^Bdc(P$}#&u9LwjCPH5TCdrUKZs}^jte2I9 zk_xZ6DP>VCCYgAQ-uMQi&)_`UclLi=fXs6QUMRS5LU*hJyz-TenhEi?8PdF$+o1hxM5}W`KkYw@O;Bvd4TY_M*`?yO->MN{brr^<%Q(icikK#R zgbRr9P8RT37aSGLbGJ0h7? z(f^EywctCy!j_*qC=0`8(uhdb_HiwV;I>O>6Bn6=7e2XJ@2zCS(khk0W}0x`S}zmJ zq9bBX!!S5I1))&Yiq$^hW{OpZuX}ttIwtVFiO6JnzRUc&-Jq__6xKq=yR0N3-XMW- z9Epfu4l@c}d7I*f);CQi9+WgY$@iXd%T}1ktsRWiaUj*I=pO*cGpkNngPNt_2)d<} z4kAwJM|KUF>&9f|^ggV8Eb1*uK^z%i(k6zaW=ty!GEQOg`y`D?N@1n2a$Rg&Rp6TQ z6^xf1vt$PF~PA$U<#xsqal$A1k7Atctd!4HICC2qOg?Jc&RC{^W1I3}}b)8PbB zlISK>+{lC^X$IRxv?pG->VvEbM3NOX%l@Fufc~_P0umefFc)qhd;sCojJp`69ehbZ zUK*@+zH&D3@C3s2PTt{O@pLh{ zbB0rCUhvV663`?E(+3%lUutU*Pc>dV{ksSMKi?X4~5g zQQ44kv%x<@rOc&&ajVAAS`?c%X4e=WG8cNsi9|?Co(KQqej6++!9$M6aBIb&wb-4X zJ}-B1Y?-k04rCEK6O~WD=(Ul`2>_OM<)7j!3N@_Sz02}!T-+j={#L1g<-pj|as^7c zrljZUL?JmXcR{)vaX~{!MHwrU3EQPW8;Jb>!V>066aZMH11`qaAA^7~$qD5vgDrfb zz4IUp7@7N9rc%>L^ijIfKq@yDRb%Z6_}lyB(+9_{BUGZ~^}kH{NAm*ZM-2@8Co1?q zU9hu+oW3zjj*$g5oFo0wESQl|&M*~Nd9FjtR6%deQ_SB&7pB{PzvA}EpX<-tMpWNF ziht^PcBdlj(zf2QSSlB=O(F9?*633+Gu+qL9_c$_x034~4iT%jpu9|*HE<+7~I zDbZI(J@Z}Z53B>j_WHOGpR%Xh4l385F#Zk|94TemPdKL3sFg&n8_ZMmcOKnOMpOQx zm{B_Rx624VrU(m!uL3?gmNh$5gvzpPLsNk+RQ(QrrFt?&_9rdms7d{8clP7Y=AkYS5uz zE!col2lhmg34V$sf3sNa9sgJfaekW%krs9qdfsM6J&D0r{jWN;hTz%!`<4(?o0aE+ zbBwsUnS@YPP@N@w^F#qdHiCt=86NXwrnc9+QGeKwk2FZ zA7w}<*-H&qmh8|X_~R%kzw^xiL#?DZQz&`pf3p_w809E{u(+t#(_r(|r6{u{K{+U` zn3Q0Fm!5k27DWmMDa0vaf&eMCX$x>dyFc2&K8GjsCoQ9)851c-(&5Q#r@|J%UZhaz z4WAEAl&XZCe*HVV1o{0jWPu5%)wETg!?$1Z=q|*$5?7Q9e0WvbXqqX1fFT(61Y5)w zs03lY`Z{lJ9l4E}s6n}nN>7z^#^*ctC7b_>C&-`asRlR@1rjK4#0URwj;ggS1F+pt zfcQW21`~fi$}=J1isM(sg|BS7mvyK+rit0N9q*KOD~hCE$NnGz3Hr-^Y))Ab^G*2@ zi%K9DxrU=hgl+EE1Q|mAXPQ4KBLoy=+`&x1b<7lqK3!z`tZ$cvJrCc2%8o zy7sDy@#g8B#h!G45RYjAuBue4oa>R%zzF-*2!!#R4k@*L+?&LJx}@9y7F87OiPgy;u*vuP9sK26_k%S4RMd-A6mpS{`6!!?%u-{Y zV6^GUb99-tCb6w@7R@DpHcb6ds73g0usx*>UEs$ZV8KYtX1aT|rm!0P$nQkVC7~We9rQ0E=!vQtdd>N19XRu;X@W%maT`e-_e8 z{H>lRa&w&_%<@}g6=6fM913PisrEUPQE2e+z?xxlCzU3vda;Rw1ADRXhm#(6$WqxQ zAqox)4JOOBnH`+%?k}XS3+GdLLy?h{PS-Dse^g_XQoDi+_+^t#2`9u5P#|2Yc21A! z9S&5b(;VGJss9D7s?E@79!p779XqxU8zkbLTUn_zeBesPt9M3|U=}|m-|ZS7OO+ha z!RDO`fWm_+XT0|h3fPc+j#%>RZ=panBhDpZBl#$p_^6qhR#R6Y=L=~@sKZ;fV~{Kc zIRgYZY!j(0$dp=D3Ym#;u9@NG&xD*Kl|-oi);?mJ!xs!&iIN2coJka}&FbpSuQ!i(mb_DgjLA+s8Q#G1*UmMa+O9pu#||GU zn>xHP%__Y*JL*>k-CBP+C~5Fa=j0HCkOB(F)U%1c;ERcwU1QGVk)d{E^WEx2+jqCRV1Edr2De}wI_{6m`q z1oT`|iHFY7(VN3qd@jsps#;E$#2q$?u6Dp4q=+5PcDY+6N!MneadaI9*d4Sc-qW98 z36@h>p$;B0w@#HPW5yx!d?!Tdk%@$1)`XFO zOHVEZhV=YRJC2>!XnYD9U9B*Far(nKY}!j}wJk{mgO@3!f*{!(vQE;uX_8j85Mb~g z9i~2S0)J?6W$+nqXCG$YuWei)L-fEA!*_vCiiK8&Dulq~V2GK2)Fu$Z{<~1|A!fIe zaixly6lDVKe3r?@XjS5vMwM2p3-@wV)p?dogNR6X_)7C}5@}IH`FV#-bdM^}ib#k; zb5%OyF7L`JFV6~GkO)Woyu2=2lu;)1A_D!HKt*$O2|?j!Q4yR;p1#u^nF}0=Pm;p^I=k3G6MmnLqcz3(8;-2pqw?~Oq6~HlZbLGEUGs3Q=@c&3>Qtgf z{I6n7U%!CE3wVSexHU++<`L+$2G0v=4-Q<^JSRUnf(L=Tt8X#S>^zVzs$}CeJRf{0 zfNs_3)-+>}6ab@GV*G9JIQ%^MFpRe7=1N#=XxjRG7Mz*8{=Fx_Xl^m^2;Sja9-6U_ zE*4qTSb!M5WdnAuw6&z)%ymmciMgb&P99U760tbM9J!qn;U6)(c`WEjxIXB-$s3tO zms+ivN@*E&hEJo3^lNq;*^?O8K_U$4r0m8gG})~&(y2pO-id1PchYVNW9_{1N;5dL zGrAfiM$9ed)=8w^BrRVvlBdeAo+UFCM$1^lkJL*CaO3(#xx=p z(D=)+Peu1d?3Wxakh3`_z>~nxxX+EvQ|?Vsa#=MtTUMOs^?t{EVsyvUaX7rEX^o+k z{5~~-6UWl36ykt#VgW1(GmYmR*=u9_Atw79P$RV$>W528SSye54R@ z!W6<}{p-S}cmh>Tzx0ghYZWAgV6;Y8)%FPEai6#JhD>Lgu(t5Ula2`A2Tl0bhil&D zi60)|iy1(hRE zR`*{(dJLNr!hp<7eEem(h1y|UwQ@4-W?kD_vA6H~-|aoW?|OrKq2jkqCx;@dFBn0@ zj#!9}Ig4{RNh{Nf_dAn$ryu&DhS)lZVUmoRIRiN{Xn(R8bSm8q6i_i!0a{|m&08!& z-AP(iLi<)I;N^IiBh&Xd7_~L=5Ot$NA?~J-W%{;=pr0+vq%bg7HF6!8Di)xkTr7KY z%jQ*R?viBq%_mUG!M|67fg{WG{^bJxTi!<4Id?)FL;paWJ^G~U3{@mnwsqqZ5#^mcZEe$>D&|k8kHq`1 zOyJ_Z;NN9$1;aztLz@^*tI1%{$#;5~GPTStT*<1_gbDlnE*~M6ZU>I_PlH{@J}}`7 zR8XUT4zT4etzJFxogY`#BG!aQ_)#CCwja6{XX_9yFwM6P9J992}-$?jPZSpKOP01b(dDF!zfisHl?a6v7tc1MdM5nmT4x4 zF%Twog5g^K<$r+>-6YSOp4 zcPcvV>*GKey!s{&nm>YJ--G5-__#M`XYW>Q869eRB<$@g4ae#gocb&2`qfjw!T7CDTtM5<%>%YN(sL7I0d7g5;kNc-101)lnx%gBa=mG+;lUJ~y05K{!#|Sf z;+}(--RTs65?L>*@RDMGx;>x(9W%!hMtgNZX*?ihW5} z=fLh~6Ppaqy;61i7S?(t`N}kp_XAU#-EazPCY#aAeML_*My5;Bi)U+s z{d+hbWQms(l8{37R!VSvnn*tgEk$K!vdG=cs7Q7gnx}k4(JI@1r({>6b}C>%9CG|- zV^8M7*{hGEnW%g(zPKRl7=h6|TNT%NHgqehS5Q4SH}9RCvy&D-Ls}OOLmq`UNF+ap zDZxR{kvKUK^;Hkr6h#oxuRslasTXgPZB&w{EsDylUg^;s{5vj7Lh38&lRPY=rn);A ztVp{k3^Efw4Vt*{&m+@A&($zx1&KERE=o&dO;fg=K)wwn~KsCn6tQ>itz+ z-DZ(9jVgU2N?V}>DY}KcM8rGb*Sv!`2C?#pQZ0iY$=THn@%H*Y1?iRGM37LuR@^*> z4sY`BJc=I=>Y6Tw%n7G;ZHf4R{NmXch>-Aa zWk!C4@DEgJ)i{5EM=h{EPCMACYZ0YbmGp7EQ7QR(_%U9#06Tb#56sn5tH6zv(Vc4* zqrs?-i9*b|Zsy3hl0lPQqC0BtuwhFuIn5o4=n4i4e*3q_Mzv4$HA*;7P9-5n9)(zAsC^`1S(RdULH|w z;T(hrCu z(o(TsvX|ad|0<1_!aORn6I-?nVsshDvISTOco3kl6LyK37Ea^55s&DRe>_vlXl`E^ zjwgOgIqqd{s$#?Hyo8(Kk0~7~Wq^dOAG)ZF8Bt`8fzPaAxWM_i+tzKt zLoe+{zA}}Gz#%QHpIc)f=94G95pNz`tp>h!}*hIgrF?n&FtMJ2&F$HubLj!2KP` zZQrSmGHYby;f~YIXmqp;7L9dtS0W0HLZOTWL)x3UwQ)TqXXKDaM)r_=8W6QOerjyT zX!SP%vVK*q_;0zKNclJ6rc%NVLFi=$#RyP6;qMzZz*b9h1kWBf7_GiPCn*{jN`w9e zT_oH0-Sf?R#Zly(ec}+(%J(M+%(#p*rDOEeeiK+5B+fQ(c+-tIIV$U%02=`;dN*Au z+N1OdZtw;bz6*the}t_#HJC|HK&{El0dz}Q|B{8CftwHff~J<9eMcw*O3L1%3WFfJ zxR(yn>%T6Cehnn>{&)FKz*IO`6y$05Y8Mp8N|Fz~E){LSxkz0AAm@4Q?SLwQw11vT zl$F^90jk^;uY-)e38zY%@yFd}z-$T208DsXt+m@ip13@RKNrk`_c(4VDl_$V8K%#u zOJoXm;_ZSEZEkN!qCTVR^g|M{G`WlT{*Si};Ki6dp4zyzH_zq(u-^{lGkD#}iofki zq)eT{yNz^PKLE4{qKTUf=1c5xYspWyo0x0|oeUF=M zG-8Lq=XJ@I?H(T9{IZTC5h|K(R7d6xUNDf+ztBuZ%6^)(uuEGt7c4F?%}xyj1Mw0v zc^~5Pb;Axq4n|xJLljp{G_tH~Fgn-~Rg9n6VMx|I&3B;r4mFOL8_}ZNG%voYRii0K|>aF%mCilEZ1v zj;0So@mp*3MAr7R`>Uw{+UI>y0aDA)7@yd#zIUhJvmSniy;9;%&2Lcv-_7mX33y4K zy=ZT^dj z8fuNnm~5BlFxLW;M-G5u z2#DsvM@zo6xI1|~EBZ4@TEe#Qu>>aJYx(LmIc}+f+Ju~?cCfon&ln?A{P0aE_h!X) z1{ozu2Z)#3g1LIG0IvGV%F3eg1SnU{;=4gr>n$Vg=hxvN?)f%@hINX+GXR+km)WCI zJ)+RhSy|ZuCSyz%r@ZBp&s$7%b>q;r&h5eo^|JOCG~sgEo*K94WbAr1HZr ziMx2C&*k1{fpK?`oIiEmKmSK%m#i?Y6*A;e_8R+52KGsPUqDg^f^=8dFsi>x&U$&(tKgxeY|sB^uD9bayJ{WX|&`5znv0!hpyIE zoE)-2*!wmXDfWdGZkGt-k;&VrR(b{#G7tuh3wc8;Au+JhWR>icp}7M6)UwH`9abdp zXksWsOO(S1i)G?<_I|Gu5<9>Qbit8cFC=v0IRvx)%LSN#qD!)5Z3nd|WTabw*R=0F z`8Hoa%LKsrXa@M{hojIa0m6fSuE_VWm|Z#IMivVbyWqX_U*y&D5tv)vzQ3bOf+jlO zvKhBx7TuD?*k-yPFGyv1lxnez`rMxa5D4SEk}1R%=$mNC&4eIk>UZw|CwwzKAe2_R zY}m~UBF|NZ8GtB+X8-nKxX$IHlpPeBuCQjX1gAWmD%mYNjcsk?Z+TdLav+#kzhcM$yu~}!`$02V2zft=FYIUu}Y+xIbQ*v*iO zlf27_@*dEXSoMq88D9;j@_$+GHo48c(MV4-X<==|xYV!=1h1Lz9J=bpY}@;A%a$de zdGohmmRYyXg~1OOjFl}rK0_c{0W3OyrA zLlRXBRDqo&Ra-9#vzCn^`b>HjE(hz&P20f8UrcGc06GHAl zEc?5l4E~gN7Ydo`T>(4IaA>dok#@@e*M`4&4))c00~Wk>bc8L zO(m9mdw$&6*!NIY4&4kHpe$a+V)fVI#$mO6aVs8YxCj!0!I; zAr=M#2bn3#(gV9=R^1zT|Hhew8~TZi372yJ=yrG9pm|in6SIbXQVqC30uibO>U_?8 zTE@4Lw73Glr<{BwpbMIs+!CUAJ1&EX#Dm7E$F1m$=m8;$A>+6(@&OTlGjeXQiZZD) zp_0(Ug~aY>xvOo^NZo}B-O-!pKrIi?YINBR<$Xx=i=zF4cx$~EUp)$a#K=_13s*n2 z>Zw_zvnUXbM}bbg6g&jTK z0nvp&>C<5JVrVcBACW8OOnj$#CrTJGK6vtQJpdxvQd1|c%-z^1DfJ;o(2I!Vg~JSZ zbCoUm5ft(1hvNW=TrvwciiL@H7(hqVcyIr4Z}2K^f=$z0QIf3>oaXEpr|NY=aiZAq z){!X;F)puOL*VcEavbw{cLbOgN#g{k@l~!Z@ar#vk;{&8u^N<#+Sv0SGb zx-5?VO+opt_oTt2QnYv^BIao+`Ts^03jCi-0Vs7mK=CXNrcCzvXDFz0DeGsZR7vVFEN`9ote)4a5e_K{=cL5n{@`L zuk&k-EpEc+Kb)M+dr%6APeHT`_UDW%sKCRu)z?VwtyC9|dgNGC@P_l)PBz3Ie1f#b35O_j2NLs6!7GmbKvV|If$Ov_#?Oi1p(A=f z(F6dapB-n`s68c)*IZh*)RxcMe)cT~u3b+N{5zAUma~E3eZx{h%H{X-v1OMNfw8L* zs2jsi?cXiAJi@Z0{`V@s-a-TD7G-$mFk$y;xRIV#2ZCJW?_$~ukH51threk+3!3!F zA!$z%YzWylKWGqYc!JNMBT`rvcA39CU4H9K#c39|N54=zYHj6X?Wnc5oi1@M(%KP7 z5oKAN(-l2}{2*48X6}UZ*WDjjal_7F(3=o^x+245ypWwNlX~ylI5jlBn3fQ@Y zsCi7sHSfl>id<5QSb1Wpk&QqEQuBIw|4s#0$2m;>v(OlcNAhAKaIM0ax*YZ);mH-=bbkd z;`t{(y&7XqbjGY*lUU9WaYIp27xr(;yX<>J+9^E3Mi09TZwF>Ik7GBbhRDhb$RS`m6$Ie5pLN{R4p0hy**D4Cy`M++7rTQ z!Hsk6T%5iuLXdZk!)11DJMJrrOEzP)oqfs9v57kX}>y)Hc5l;gTtmZnz!4{6E(%1ohV+PE!;JBjgLK&`bAE(EasH!GDDA zBq?6XD97Dm(+Aj(DDc`6R(%K)L-XKA`P8sq$nhGMu^n4!gi4vnZrNtct)s$_5)7M^ ztb#OhKFL@G65~_zarkw@=Qf%4)aZF!XyC2^iry*$A=wxE&8&sexIgmA%x1?qub#I_ zQc;@%nI*9ME06H@`nIR<141m4Ks-%Hg18Px%6un*$n?Q>eOAX><|=_TZ>!om{==#2 zr(qcy09j74AhuDbqEw;PQae;I@u4+YjY~E!oS`sNuGH|k<|u{$z@LoqSk~WGD5eVB zRL$u-0X~g!3$cFV=;xjVm$$lR6A+-i6SSy`Jd78Kl}%uXUeij)smd1~uZQcj@o{2; zz@)AFbk7IqdqVvxRx$Ai^C`iqM+UH1p!s|A}Y5q06ezCWA#&+J>2ZjfUC zgpHFlsIp*x21{hem65z^f+cSA=^lEML)t&~MGk^f%MTh(S08!|x7Xi43vI4HJvPz9#rq}R@3M_9KbE71{GJ#nC!Ta~`Icf9a;`ck@0V}O1f=_Op?@53ihiX~Y1??pt zysDZ%u`Ek^3Pb*R*2fLOlaDFNnE4@lC5wCt?#k|;%8z6@OecF0KL5r_!Bb}r(udr# zfv9vJZ^z0K8Z-~}(RqUXuec2t;)wKZnqOk&hy5gpbond_exaw0h?njJ z1wV^_q-^9(qJ%i(WDp6eds=dQG6_N81CCzAp5IrJXeb^;qHa%vE}7ZDb*8hDcK>zR6tKrqXAK{--`Oa*(kDkm&8}~8lYY2Z z&s*_o?xo771Y5Xd4DX=*FyAf0Wg#B?CSYl@Cv=md%X8>Ss<33z@HvtzmCd`25Tv)f zT(6;|L4iXeR_39-BDeo$krI-vRvGKW-X~&0z{(=|9n~i8Bf-AfyB)3qrGyTe)Sk&u z>fz*N`#YNQsB z;+2M|k-ZS)v3Mu8vYCH6^OwH{X4jt!A3g$CaIRDW3kD9~DUzh?#VkKC&-3Q9XpHk6 z8JPa}9VqHF`J6!@2L z2R^|+El;4#GrA}e#%;>Pzfd!pD*FAogngEf7}nP)#)iM+gbx+*<#W_1iSS$~VAf{} zvnpN+PDl!A4)IHkuC97Adym@{FJ-h$QXw?_V)cb2T&g_ozi5*!Et?y)!dWfCV&NTq z4o^2Zvg$#X$_6*n4NAHvT)SJOHJbyWNA?0~;lEtKdqD&pWJYfm4-FVZyJX>8ty3{5 zNsboX4mAd|I`@C^Z65TW+LKg6C?KaWF9;*@+BLwg;b2ddc!SD1Ju%>De$g>d!)qUX zA&UIh%YLnBwpv;b6<4ChOvOWNA(QOB5Rx#o;baU#FEALDt#)X42>_p!PmBL|dwz{R)5G8yLM7Td~2~-K=j>d@f%8wf3bBpHYP!eBK-M)$@7n#D=x;8uD`9 zkD0TRI2x9OE0xe$l1ak_DiW}cP;d|6#zV7OAu^E=4|{ki3lTeC3`O(Zz?GHC%*@Km zOT~ZYq{7vni>1ouj($(VT-ufMk_kE^8*>3=*wOhjtT0h*)Gx6Wc_p3b=)UTn+jSyJ znR&ZktPAn6aNq7fUyG)7qdNB^qHX^|;h>P8Nib(7>0CD#El5zSeXGpcm|66~Og!RceI4BiX+K&}Ba#Y~_5Lx{B)>MSKp6ZtA zU{ko7_VH4Y{#4j%FLoTvWQ^Lx;#<-M6xP__Y5|2ksRB8#<*1;mDO{@Y0=`}Yx+!aF z2)-Ozi3cHsr}8d|cymN^TZ>eVAeAI*j7o18E>qhX45LS6L$?x4w|x6QG|II=b| z<0=k#Z%Z^~$M$e*c#zQfDqfc+l!8A{0X366=-Vd4#rp4O+YxdFE2E>Q(wfglK4d3` zBo)m$S?xTfbRH)XW+Uwh2?JZix>S2WC; zt~AjJvRVRVvShaR`Iy=eVQP408}@P`=O3YoYikCX1OB5>c{sOtMhDXht%Kf`TC%dN z>C9VzxDk?*wmKjFvrn5vq$gKqz+p_HWZvY5(9}1UT7+wq2W=$A7Qc~1k2U+1?=Jg8 zvJa2GD@Ztx81sRs5JudDfmpAz#|4^{s!v30`D5P(QO1oZPtQb@LC;qN;sLZRt;S=F zGLn$WyBxSfJ{*Qfe`WZG!`Gb!Dt0B)b?;|@Dr)zs;`0F5kh2@yX%a@Z&o&2?07o(n zDReQo)YkZk&Xi%&%}%&MBTu0sm&;Io>xUEXO6d_$me5LE*o8rSFK)=^iVpr9{O&NV zfUA24ZsPtM<^aX97*`n9(_*Vd$UPL>ZMF}6@EX~_-X!>=Kraz-BfQVb-7FNyJtop2 z)JMvo-N1$b4fG9il@7n9u7i?ZdwYfmMEMrfQMdJ6VhDi*G`BOV?4B7%a&5+IBvk(Q zNIiwUGY>kSr9b@F*8>VFFBu>!i2LE?gTNKyGEE7+bq;I6HZ9SCYN2+;%BUN>;9GxA zH7$FXNn8y}F_AI*Bb4FDMjTDzY&~6G7IMN@k=1MVk?Yme?_t9K%QWC8l>`1GjCxVP zz85CMT1x}J--y_VOH!21IwCP(lr8QWNnPiankODhh(+O@8meI0{|q#F?PU;GSqFCF^1A%QdGkNVzybS3)Q%nTH6% zp8gYQf%;lpAVJUYIR{fK+)2s*Ya9=~mj_jALwWOK5wkjb`K>Cwj-`5cDnoqE#+@IF zE`!rI0W(a-%4!OKF<1urZ3-U?$?N|(GKSbw@sxQC*g1xWEOf5;U!uUlJ=2|QOgM5S zl3r@xwT{5`2yrHObKHEaIkNrMS`N%;!`N$~i!%&EVKtkMh2#G>ti1wt3}S8iJ)!DW zbE||n7dboN83&AlTy^_<2BSWRClVSD1$YMzrJ5lB$Gd@IYqgA8d*k36+_Gdb4y7)Z zyDO80F0v3I6|y9)Otf-(}eQ z|8K}q-=V++WvI7#HzQlHQ|QhO^>$z79<-%Ky(NH? zJm>nHa-<^ra|Fcidxy7x@+uhDQ6>rTA$iaN8!@AdWL1Y=T|f!NSo(|F-rRX@M&i6A4IE!+mS{FE)pYpe%OL?R12^){(dde9!P@Wvtvi-WojxL zdWoGtx8p@+9#tfkKElh9drcFvg=D2&iuDs&6?Ig*lUa&xwQZZifd1U2#Jekv{bzAYdHX70+9FaF~{$2jo z;Gz4Jci9zAZx|TU!=sW<4InMw?&>*wI`EN!Z>7yvVJF`$|BW;ram5F9?hhUwo<)jj z0;ZE&TauGx>0|R-jd!~%AICmVUyphJ$|Dons%Cw-j+Dy$_-@yx>28}>@o5-kZeoqs zre&sPmG5^0wHp9i9G)A2@@NW$d<{W1RAe9D+AmBD)~&V(=Sq9M}_J+O|TU24u(o!aP87?78WU{yZUT5%Rb{kNcp&!^vDS3^817N{hOH zNOMU!<^wXvH>$L{S0t9x7>!NycZJMNl!7$_(RD)#(!XBWbh$G(Z@{Y>cP6dySmER?bhQq*hgyPO=WtqEfH@LJe3Rb!Aam@D zz3A<7;5H(Xo+a?tNK}6qgOY6d3>{aSSu?h)R!vRg%=^eH_$LDPPwBQ_sItbGwXVx$ zC@9=1+{A-EZVggdRENd@`kG|t!epsJHfhM88d6(Nlb57T@=--3eftws*_4T%+<#H1 zpwVVH5@vnPZz}HJ{kSXW6a&79-I9#w*m`Tipu%?XlY4G;T!Ze@i!G+noAp$hVH$VB zp(v2X7P>P|zMgzBd^tr7N;0G3+&*wX$7S`H; zW8M4qI+ZY>y87peB-CaFcULdeB^SW*L?9jt)aD9%O_jVDh5K5Z?+znXqZa?PvDX+o zW+!MBk*6d)BW_RE9^bi{*#d}-B$AMMp3!TMUExMJ?JVErT#--^St7j+2pa2*g>aFG zf(BEC`E^7Y6z_jJ3}GiJ5kI|3l1^qHR}Popp&E*Mx*G3^(05mNRsPJ!5do63A(+U| zV;?tkGH}#lxm_j$t@*RWG7W(M$!Ur0gTp6@vyE*{{WubdP*4tDNcjMTov_73S=H=q zBDXJgKPmrc$8oey4By#H6Ea1<%j?FEAY18=(lAm-`uU(ohb3lyo4Tm!wdRA_^!Tw! zee;Y9bs6QBy>FeQcSowY9ldtwL(z*1fbtXMcmUOF%!#!#5%L_wN@6i%5pQsdIw{R~ zpvu`rVM}36iC_f^$Q0XIMIy+d3}enstOkguV~O@2G~ogHpdAci6KXS?4!-3br#A7b zs5Py|cYSwg!WR<*S+OOL=WAkL+THOcDck!n-(qemSWpRa3+8}i3(h#l1l@XbLdG{% z^K-|M@pL^}Ogh?3FGoASthKf7%B!{?9>EoszqrA6WFg}_@OnorZzzGdY4JUI%dnOq zmuJu-wr}1itKD3FH53~*Bc|6`8fKuW^K$#k&N8pnxq_wE!RtcZ!!sPlh`tS=vqv&1 zjnzlwWD}ln>F^dbpE># z{JNLN?N5cBhYp*Qj2V|HjT~ziCj*{Oo<&VwE`q!-nmmW`Bip-y7WBkFM9d6$9FMA< z;+&Q*<_;~`4*sDI6-kqp)M-8OFBc$X-)6aF^JlvPN+5_8H`K4FlEy`dEaO=HHw%}J z$%EJ(x<9mb0=wNLvf1L>bQ_ON=B5djEhH19qe%_AL0`4sh^hniw#$f+CVfmel<*it zpyQHOkcVQ93=CWg0%T}Y=v3ITmn_qpLGP{;&?y-e2~MTV<9a&78O9STN>wuH`y&3Uz1-S6mlZlXmLRgzl`w$X^S{aU) z5`ElY>G$IqD=H`E9d4!9aoE5H$fj!Id|GR2$E1^+scd(lBz$wisg&h7s^s%wa?aw6 z_js4I-Z{i%Af(eZ-ufRNi&C2$9J&1KWg{jC1kFqhilyWNVru#M$jx~XtuY62*8sCq z!G78gi)@ip9M-jjs0y!D*|hb<$7bh|5Pq*I;~p7@Xeb0DLFExn!u*+3!Z$NFC3I-2 z?iWi25uz`FK&Bg*mPH%2X}~6tuG=sC=#q!M4?=TX)KpTWiTruFvtZU`SE?C{eGTl7 zse#x-{xS~dHg47}H#T1mA`gehx;!U5@rT2NI2`|gz zoxzykHb3p-ue-wOJ-f%tq6|PucPCJF6NRLEqYh(=8y-hY7` z!MozI#7=exPXH747`syr!mz+QeN`580jHqY-}M=vy~HO-5rT^l1gL$B=g9z`Y2VKK zR5dk9O``Tg2q>oQF#F|68h?ygY*DZ5c&fqefH0ZE9)*f;PrVR^oZ}>YQQWtiEh!;7 zWeVpSw;zCF=%Z^;uNQ!db{d6<1rBQ}t|jo+(k$@zhbDn8qNkTEiag@#w*hR^JnjA{ zZ}h`wLV+S;&o)p?><$=k5Rm)xfy~Pm*7#54J`-_vR>QkrJUyyfj#h=Aj`~bkEIxX6 z94#6cFcHw1`vf3$$d)K4EKyE9p8r5P%xwFc*f8v^1)5FDn!-Si{l7~l^{}+jwFKI3 z7=2C@ZS_N_1yl$bQP-srL*A&Ueq1e61GJx5D=Y^c_rR!v5rEY>7m%McNHlPb_ME0e z8>x~_^28@78J7o2_NK=s1a4Q%A2_;5QntR5ALh}PM;@8EonaN zqvH&>3Cw8cbuBPs=E|u(*FdS2r)yn{Z0wG_}6`A)Z>`k_I z%l#5HBuofnNodZ22v6@|nrM#whIw?-SwTK+^oOf2q`-a(86#<24u%QgdXKT!%$3uO zklV;xkqAv;B=YomJla{qfKQO{NB;c4>uk6DQOTuB5OGLQ+vt^2pXBI*=X zfQsI=C|4v#^sTG_B69$M5Ku=cIk*9j^=@BBA>Tw16QIsfn6Dr9+!!%|o&8XyFpa>Y zROwW;3&bdHE-FZ+QPJ+*9vR*sOgckuywLYpH_2^NP5kDPr?Yf|jFEP~mC)}5Z&TZ+ zTsh5cE3{wS^c)}KAR-e%AT(gbMTgkcBNm*Q!F(zM`@^7uzi|y4rG;{wG7j^uvst+H zL>y*ePB`_psO7%-t6C`MZpak6U-ZzgkE1FjYTvdUgWAH#WbcEOI+cUaCK({!J!Os+ z(L!BaW@71y@-*41_VZ_p24<$I$R8ZPA-}0q&G=LHON*J<&W68<;YXM20Ig zkE;~K3%!K+GUla}fGd9TDbdB#)V6P9Pr{7VTcoe>`ET~}pLhhSa=&`?xzt_gb9po} zr=#_}o4J}9q}T*IFaAw?_{Pacgh!@{W8Md*cYYQ>lULQt+^ z7GpRbj0JI+192{T&-5NPM2pn5&}z`Q=wo=k_axx_5S4hGYrB zI?L8nU+yH2HZ()}Ck{I>eI z+GfoSNKp3uHqJ;4PH^1ArES0-p#{)-?THM!=g zk3I+EQ)a3W2;BTyQY}!8+hV3PYjTFunRQ-1*+-Ct?I6TqD;V=G=OIK)b+MJT{6r4^ zgW8aqs4!*X{c~a#sKrcALU$Q)`8&%XxD;vX{oq7j$FPiwMT$8f+3>oxf|KE>>9uRN zL={N@a>4N`VIYVdGdut# zbd)KFOzOSgY+xB-U`~{5FKDmP)bk= zf)avkt;HSw-5e?}wE>41)5VC9(d1-pPlc%QC3O~*-HSx>auSmWigoc%zD9tOSMmI$vWAQT zdNK)W8IBs^zk&snBr`KTN2xljT$rzksKwzZ{li^XKaQviC`ggKMonxTow^iU&Yr7L z_d9s-m|{5bwM1U|^?*tteR;1FUD*)E^RWVeVdYvX$4$_Aio+?23*|;9#pWb06f6X) zFxF@O*yE+UBrM6B{$61CEQkhVgeK%7RMg&iWlKnHVWlAx{R)iZ+fQeG+gNXBwX8yV zYN)pQpEV`6inN|1RIL2H&M2|Kt-uVw^V~s zWbHYV289nh-#k!X3v~|4iS5eEXQ>ZP~@) zeZS?{()@m=7APkH2|?+jkwULf7I!v7Z6ekW0r*>5#-SE`8*oE9!p zFoxHv6&kv{dC#^otbc7qti4~1JHgRK5iAk`%Z~Z5$ylzX@QZoX5>O1akVJPJ4E_VGeuJ1d+KI*M8uP`wbRS@|vlA=CI%;$T~QazWFE8enNG8#>b z-xmu*_WUyfN%&C9qMhN5doZrq{XRv5MFY$XiI*I#`Ny3kFhPQG$kaHZQuR2*|JAeE zJS_dzLO%whwv0o%W7I;tRU|B_b7`0u$$7ih@mlYt79I9}p$WcPS7%foJAXHf5xl`e z-0$*Z+=Xe$yfa5iS~;37SZsAYr*e%BjQTu0C?H{<3y<2@0@?xz)LC>wo zu4YF4@+P{+fll$0G`-As?1Cm3p^DS}}H=2z|iIfh6@pnf5~P6TlU$YnEE^YY@wKtqslLpGze`5ix- z5N;7-54tD&dN}ixy(0HVwtDD@OGCFV{{4Vk{Q?z+Bp|9u!j>{f4)2>FTF~u4uf?6v z(#S=J|MwVBl2{d`T^I$$Fv>&71&21Dy78@XzypCjY>76nT%|i*Ak**fz6Nm;--gj_ zyL*N3_i96YsS+GGD>uiPm{dz=99z_W9x-b&sAml37Ol%C%kwD3FkzCUmLI|@4zg3h zZ~ot3qGHA%hNy`_^Es2@kYwa&nbP5;l_$_uQ^m^WpGH4;1;E%_h~?;NN~lY@H}58_ z*~@5{z|YmFzt#~|G%AVxK|UeQ+a@ZQ;Rwg;7Sp3;Q&5V8=s;k`Whq zJ_`d|YT|fnWkQX>+C0j!-p1ZNrX0*G&An=AX_$+T^B)N_LqG;C13qUHIoLhvZJh_ zgW&j!vF;twrwKh%mm!o^go-`XRR+er!?0YUaY>)DH>=u(QgZm}%<72GSa`r9U+D@O z{PQ|`s&ji2UW{SV(EfD7YEU}7tOKbKlgx`OdC94$=`PF9&Z^7ig*g+wy$Jias-YyQ zDzJzP=YvOK*Guud(fi&678+aYR^<(GDT|X$Wud)QeX#2j}Ws|KI9JoM7n6 zIn>`HW2T25ZlWwe=QW%07Ymj?RZh}C$-zg}BUTf01lT|tdvlv-ImsmP3)M_%Lpz(- z#1-pcU?prxqefT<<6Y}UOi$==rbZ?c^Awe43qK=VfDO~bGHk6nQSIdnoddxGqUXUV z9YnKtJ)FSxhhYJkQQ{gVw>U+E@-|Jidf2*QSJ(18mzhc5mz*D9)5T%sP*Y%A^n2Riig>rkprSZskBgX| zZqF>I^eXm#!p0zKIe0!KP{k_oD(OuexLVu<@#1-_0jxr3DH0y;?AM@F zw}fP$gZ+>a4{~xzXB@uKg(!&U0J}HTqcXN}O*B9H2*&6q&n*$^rcC75ad8K#n(^vf zlG{=A|BRTIpy8q%Mk4j}#l^Fh#{oq$aULX-Xd~rF#Z5Q*f!&AJHAbfaB>7)>W>`PP z(Ul_)Bl&*VkT%S0KjLhUmaqImWYV4G4dK7Lex1)t^3Mwb2}%S6;{N*($`@YezoA3@ zuT1yvzt}balgJiB;Y*TdAUuEAPac3vY;++tv;PV>1CZaUrH%Gl{HMfb>?;C~x^IGc zW?+Qg?=z4Ng^zmCfZAw%8}SsVG5yiJ+#`B!^}|E#6>-OyzGsH#CEw6di~!`R{Y3Z- zAbNqXNlxB8{~@++g5ovukS;|kWPkFDeVSi4$&bapo$OLzIDA-f5uz>bL>vAKG4O5j z=Ma+g81{ibEy0(j6#2Lt9xC~qTo>Fgg*;Cxw7-o!JzfD#z8=YZI^XY-xDieR&`%+^ zZiFY##~W4N&$4IRssrA)XA!IfKS4djaS9Q*%<&6A;c3j_JrP*Qcq1^85ufFG?`1=G@i7yaPZFuL+ zt}_jOx0e2o{fY!SHt}m+uZUh|9K>< z&%WGH0sr!-&stYimZPlWU7GS73BC(u7gfK7w0+mC&TlM6XQ4TLA3^4mrumOf9?}s9 zo5JUBu-@2Y3b#_t~|hlv#EjHrf~xz2v4q#FM}jfB)b>duDlNW_e2W=S*;(>@ij8 zpdS-X^<%6o5eQ5?Fl533Q1IKwXBQ@fD)SO7?PwR`sE5{DXSKemw_H!kxz2mv0hoNL zr@K#KrP;53y~2A8MutX_w$-#kWL_j|yYkk?w5yw$l_UeHDq0-bz^-z-9V4-}OLz2G z=ftfFJm?tQOb*G6iJp(+FLs=d@;9)h=DLf+dPyJH(!!la7(AZMbwcLaWc&BI*lAvx zZ}f)IIQDLpj#IGQE!(M{NA$h9Zl-jbQIkop@w2U_i`&)3Wio?l)i(^{7aP1^ z*}hKF(={G76Yyq@G&D6t9qxSsdv}}MW_ytONG~nU`$nefCZ#_;*r|4`OPSyM&R(WG zUY@afKL!FlqQSO5n!PSp(vuHU^qfzDx3|Ts#P4#HATnqR^6Fi!Y@5vgjNe=Fvu;km z|LrHj;)W7-VaPd?_CW%*rBQBgHYFGt36G`CX;hE@XKkGYyo?@&2-}k%+~K#B#UErj z8dc*UVSt#ZCb;+NhjT)zOGN&-@ZiO_apicaM7o&vs~?BE!Z-UqWIp#hKFj3&ptsJO z6l+=IJIfZ*1+ zJHed<*T&u5{VsO){?B>3FSl-2r7AD<>h;N#G3Okko4@vt0Kx2++9-zNU6Uhf?7>^# zLOAtWfWX^Lo?#bvxLBINC{e7^s)^Sv6nw;OB6PJ4T&Cl$=Mm z1HTJCAb+xmV!`UI?6*C)EBLYPD=EuayVhvcW9twXh!rpdQ6<<)^FS#nS^^YC^SFAZ zWgm>P+s$?46%dUzZC0$GZ}QOniu&Dtjj9PICJppW#Fu1W$3^H6#h^V%3A@~CSvI|!n4UkU^_7Z! z<86uloO&rIcsobg0nolp8La=lHnZ|Wj=)zRaK)~GGPv2X`q=*XCEkjcOhqf=DQ%#gG7;ZgKQ*sq)alqxF2&M!#-T~f zhC?Ze3trVWFcxk%OG05k?J;VoRCq)fLA=UIo3dCWNk|FtFP~<0qa#Ed#xE?`4{p2#Vb$Wh z?m))XR&`1^Iwt!=-#NZ2X3moRdOr9<^jtkx)B%utAg*Di8ffcwHlgOnR+^6p;SWVGHLhH;B`!y@4Y1I z0;U4}dWz1&ZD~_;gCiKrsZ*ItuOr8A|JRoGFkb_Si^!=|q6Ch)(GL#W)jv;-0%=(% z{kv%&so53`jCPUH7la&rW#Sh{p1mO&`?+2SN^g1}H{8c2Qb4Jvd^xeub3y-%N}n zQAj7VSelui^2Mmqd6;?GZ>pc0{g@7Nl z^) z?Lfqha{HE9nb2pwH<~D$5WG5eFvML(v9=tV&cCutQ>uBVfFu#C_fe1z(5YoL#ff3) z53jz|_67g&&0_QMMG=Fp`XG6c)sh#ydTW4j$-C_ha2LFyMr~9e<1@wUJTdh1PLz>#kGO&c}g#TdyS`s==7MiHf6*8P^RlEXGDinx()d zs3GT>ev5`7v2fg%eOC7C(G{IIFB{P`*?=%gKk|kJnPg*BoO!gMRI|pe5Sz5dnityj zj~@q|Srt9#u8c=7m4=+iK`EyA^K6r2-AOTh-G>=`VeSj#70+0s)x=Ef(r_v zJZcVkWAY?Cv4dx$i@KzQJ=iX2)UgmqK}k(Or`Mhkl!C`EqEIUYAlxgQQmroaUwLnC z;)O<8G!ppX_R}6}#|)%B+U(MFKsyh+I>sk6AjJI1L96g1W$I*J%I|sOqhE?-I6S{H z*sMjm9e8(!pzQP?1dbQ1y);~VqmVw4b`t0Ts@N#^?+TJ}!W*N0^iTgVRm}IioLTd9 zIV=-@I~sc2M|Soc^EXCKlp78vj8aeXdO?Bl;1i9ZiNdVaEif`7l0ilKL8ufTBng7*d1IBN}y*7jSblIXV%?quSIywwcM3} zYj&HKo;T zDicddjkXP1=mI7?m8$ zWb@W5&w*y3Q}FA}*AFde+nMgF2NSq#M+a`qD@mIxa}^P%s^@oxVrI&{64HK=iy?a1 z;!*a*cMe~2DV?I`f+qfLzxfR4@}sXmX3u$*Y@h2wJXC+Lo?{VZU!L%7#2PXZ;P#=pPO?s1=127kHfxD|+3* zL}TXKDV1>+n|}k{w&Px9bL1kpIlXoPD^j8Q+9CR2NfRn5K{^W!+kROszlmCD%ZSIb zsFe%}JOA3+p`i%Dw7i%O!bb0aZdUnR&JsUwoBZL=qwV6B1{@}Sv1ZMn8;sPXWsZ3e;B-40dEf7pHX!m&(bM9qbMyCJP~!nK8o6uTmE$RW)bpq@I2z zCy+RNHm{SCLs)RR?1#v&07C#UHFprJr7 zSK;DrK+31$#Vm`0wWXy$prtwdv*H9h#ft0O?KyQUn~Ak`_JKl%N>Xhl7qQe!zO2_p zU4%(dN9Ac%#T@U2(_$)F!L1UYw{RGL{u$)ch`l;l4MhU8V!huHfAeQ0kSO_7QI9tQ z@ZRGmc#%U-6BX$#_p4H0Q2w2*==8%bwVz`1Ap;Zll*rDoML92b;Br+6S4ue3^*xd* zA>)4opBU^*aS(L&~!r5<=MU%K$9y9MA|E;V5NL(ss)AhuvIYCRIclvnEVzHlSyRwtWf|3Evbg+T zb>UytqBiH5DN4>QIt41f%#`&m`bFvoCJ7ZRCX2cAS=)l?}nk(;{8p&a1s#-efW$yq9i3-xRpr-TtKDIDQ+->ohUQHNj>1W{n|bf8a4Mj z09@rKz3{&&4xm4`1d~AJXCZo>q^&{IA6|o zh)umw0hWlx4BOI{XL)7H#H^g=G|Sga(s=P%Q#BqO;{j(2Fh})AVWfWpMW9x|GPVkj zqOlcP{~h1p<${c$lUXiZ>EUW&T>3WGD9pkewh2>u?OaWArxmCq&09;!8O5mI$sL3wn zDWITap@NZ6X}|Vc&dEL8)oe;gGX71A4qalX%C?&}1)wl&c=kBPPp!XqiZp+9nyZ zzMz--XATCc@TN11R&NOV9m*<0#tM03I9xhtHWR2!c- zY&w*Fm5U3E{4gV@50=j+D0XH`E&`VTa2iNq#P=;6Qbd@(M&qbtUq5w=EU905sf|CX z0&%r$ff@*FFuqbOq}wh>8x9wRp^&-ozZHb}1On)(%0Cv8=CxA+Y~XaocK*UXmfV@w zuS*zL!5J1@?u4r=Vjr*`!hPwP2A)OK!QCTe+xoEu%LDkhi6h;@HH<5EIXu~PSki=0 zqU$tOYSkdK_(&QbA$FsctlaNb>o5BmRVvVl^@`+kHU4`pS%Q&|FOKgR7C9JqN}fQ0 zDbCM-%Z2N*BYTAulqHC7n~OY~BgEYSF%WYtg*4DEofRodxweC}a^qM6I%{}x1ZeM& z=-b-Ol~dR?!+Yr!uI}$U}uK}_z0D~ zYT$!d9S?YZXBEU8jt=sJ&$ThmD0#U6-3+!56P@58hl25?GP8O5L`Hb|gQn7L4doW- zx(lBs-9BpD6TZ`GX9;quT2n6O!C<4eKoq6E#ULRJxZ~^J|Fyfz^?%;b)kg?j$etf_ z0j1l48F$)2v)7h`qT_TNDkvcwaQGWEd?8{vA+z*JTG+Utd;#7}H7!R*!IdnoF=x|n zt+P9rs@n77ju6XH-=c$9e=tv$!7Jb=%l3 z{Yon~1%k$xqOC9SDn`U9(uyU1At_d7FR_vTQtL==zt{>Qka|xM1|MP_CQ!^FAIw*G zzLPur$s?u;I;F0e*8To}+7M)Ex6~jNg0Xa4<{S5x5;+qFpxf}qqCo9}hu%pSw&n!4 zBnJMXQgzCL)XySJi#8RQqnio0V3SJMzI{7RnZ!4IUXTz+V^Hw#Pi=!_>LR0{>^tp$ zp%9|!h`5XZ1RaYSnbg^sJ3|Fc%vzM|A1cl|lXo(=ej6T;M71j7pa4^Aw$ z^LiBuhP|0sfz;H6Flst#{WHjx?3GCtnQ|mW7413wiWIVGJi4SFF-Tk@{wYY2NpItO ziJp#NakQ?-iSNtv^S5a7J=eC3ADjo`sQX|1`t>WFdk5)i(Mu;AckwFi>hU_PYI|t4 zJCxsT6=8}0fg2F2f^*re4Zmwwl;?I3_Hh;?=y>-GXa@ogSugA4> z>$KbOaaoV8In+g)0nCPkqle=!uFlJIm$F00RXV8;sfsd9SNvCAhg}#7XOZ~qho?)L z7Bc^iw0*iYA!u*+U}@me=S$h!HYsyW>$2jw)i^0VJk%@r65$&!Hvb*V`yw6dk2;0oCG&Er?0Mi-EsO5Vu;Wr=hidUI6g6(wg&v+? zVoSv<#J}R^2og$gMD)J!Bj@LGCtKsXv1lnN87bIXiy#{wU6iN7w3{u)546sC$st;_ z95n-nU`zt&Xo-;bTRJV;j?=MEhj(zSi5W+8lZbu(HU!n1`ffelJ7<|JWBSPNqG4Y?eUneyAv*fO387FM{+V8dP{YjY@+YNP1 zPKaJ{LR{^;K7spQs&8@V6&PAMS#o#Y8&13f;dLYL%GvI`NHLmdm7Q0v%&|YbglZ~xvQr|(2b>v%{vu*MUi~Jbi9_&g=R7E-WswIhE0Ot0q&G??Hc;_Up`QsiUxFVOt(UtL5D4 zQO`nHI+D91zUO<$XG9yS9EkTtFv4JYzut`f-Y2%i^$}jhddrZvc--xxHJP}t5q#E# z3VL1UQk}%Nq8le^#BErTKXInL?lK#6fq!L-ERiJWs4tZoE7-cKCvMXW$Z!U34d;Jj zhGW&G$m=s<68d+CKQ#iizh`BMF-%S;OUE0Qd>9ep)#f>{;v6Sm!{wvB|d1GWcFm&yi6h^ z@B?mp1^vgD2$)>k`Hx!|A6bRR#hqrzP~3)fo;Ru}&?6_O4;Y8ULtFM~v*6U`R&-o3 zfE2g=!*_JMr>sHxB<8C$z)mou5ukq_?aM4?%rR>5JXPJkmnar5Qsw03ngZ;O{SC2a z-Ii4oWm#xX>^m30BX}CEbUvxjDsrb5@MIXkAdbez^Xv_B z9`+@B=0=bEe#*;vk4WCd%Dcpt$M`L6=d=iM?6nn_r_4Q4T>)rESnDR#Ype%3|4Zh0 zUM#!nNt+PrSk*A!lcurQ7O=ya=QRH&WiZ)60%A5m;|${1S5~YzM)OehbncVaiZth5 zUJflTg@F2Zu*Wqtv4yroR`^|YU0q%6w&;RX{Ys(NfcmHazukE+|M?@TIC3;`x-B*W zjs$isz5yhSQ*>t1;6GqR{{8F#ieOC#vbCErM3Ta`bbn{FUBH$rz`28lpp;!R=`5h^6>5gQC^u?-FGi=aX*O zlH~t#ssIE!&7ER^Wd#zo9;@wR_eSD#1eC$rS;-kv z{N(L`Pp4!|;XGrEPaf1SvGw$S7AZEaM^}lfX`70?nR`J63+1xEZcC^8xgx&|NZNourS!Ad)83kB;#rW@4<2|?e z9##-sn0g(6cB8$@)$*)mWIDzya8zba^|9`(e|@Q4wR(lA>;KgPcs`2Pj&^C7_Zlo6 z6?)u&>pwR8!FEdGystt@P1aU;hl&UJCQLH^q}hx-3w-ek8}qp{wyMD*0XcBLKwp?( zF0-`(E&z=NCAxnXj-Jr^EBWXD79Zx*n2BKs;tpIyOHifMsu3mFCd$72Wkk&}=MbsA zg)M;tMRW-MM~Sdms>DI^TWVDh5iZK0qlC56nSneL?%XC}^<_DSN~gq-31@ZxA7NRj ziuFb`H7n-3Rs8tn-(xwv4K;-ep^70Jdu5ag+}i+OPTG__Ti-936QgZ~|9gS2!s9R7 z0X7wY&45eFpQ!4q4Tn{S9tN6UOLr2PrVtr@w61>vI6Kqc9oZpVp@gGQ)6+Lr5u|)W z?xY7-I`-|`C(*AomO?WcGZ8?aqe32OU>^=A{a*n7EDIm6S7SB=MM$lUGRaC~L zd55wVgkS6T->m=`E`F#Wpa3l*1o3hqp#ds=AMgosN4NMmV!LWB@YaM`#qeR3wsWwl z*+HLWo;O>!`zeO=4FXagztXW${(`N%2=Fy@uP$ za&~;@M=QA63Hv=KpF`7}CG7WqT~NTcQ37hKT&o?sLW$@XulPL`dUeGGgUQv&kij*{ zOa!2a&5?F|dX4Zl+m{QW-Hr%iv~cVJ8;@m;=wk1?J#3;;P~Z?O#YVMtmwx|m+uw&* zgM2z;PSZ-Wi^6Utle zHmDf7K}Fg5flT0>tVAtmJrLuMStk0wj`<&0>HBh&40VKM!H7z!RAHxLZJC-Fa3$jG z9cpUkM}!GwiW|p1ly-dJuFtHrH^){iR2m2u4e+(LKtLQ_P<0<(GotxEu{zQV0FfKc z|JQ!UP5~T8WAF36BRt)Od=x6$K`! z{ZoUpk!*f^MhU$@M2aXpBpK`nxxdqD7K$7VX59WiCp1h3tmG@y6dXkmNEoH^Zg54d zwjLo>B5NanZUsA`FrAsyfyZ7!@`rwKbpQ4IM-_BMrJoJx;dcAtDK_LN8tRP_2TxU3 zM=Q!oE{j(>FAi+QGqxJj5a5izVw&W^!YaKc&8p68f0ebJYwt<$M));8r8hjhPY?-J z-$?@6Yk&N8$?V9CFb|sd??m9?P=f@oX1r0V?Zlr>@Wt!53{KrETMZf@P&Z?^RTl1M zoi58<$H_wFqC&^Z+bM97=jp=^1%bfExGH@}fq9AO_Fo#I&z4I1bR4uj@}mqnq$BcZ zMN~zKDs{gD#)4P}A^OtX=pyXJ4kE?oA-p`fhay12;pjROJ|3AsSEeaP4eP*!xe5{I zylf3&mkAUc01-3b8_Wn+jPh^iyv(VPCbr)PA9XvzdweWK=tTMmLl1{p5;Y*BQmI2@_y^(~a z-*AM5+IB%zy14QT?%ypy>=u^oj}o{lJ_uuN$<2^rAJlVPJ`MDT6oj0xTD(TVuba4S ztGA+wf0b_Vd02 zA|>)_mA?3rIUc6{X;7UoT9j0ZW@C*_l^y!SsQUrfMg=qfeFFde$V#V{T@$rj)()T! zMl})hkt5fn@6i{|&bp=hkJ4vhT{NVcuJDWN7kD_hw&o4TlJB@*V;4VLAn!A^KgdkG z1#ig>gg0{J6)# z?L4Omog!TH?vbZ;o^F$YI8x1oJ8Sn>LK3jURe91|!^vm;#_0hu%I+WY6}NB_n_2df zaM{GLuASJ5y}9dA85@o{C{v zEmpe?Z;jSeBf0qAnhWOc_694}(jck)sxnG7f-)iMUN?PxQO0+*n4eVpIdqe*x*_SC z@$gSJA-9qZEYC_O2Y4e{FM9d+&kgz$9;QZ&l4JeUS8YPa4*CY zkuIf9?m&w%B4Bp5Zee`zaFXU_rQw{)LKbSF=~Of4t!*o4ei<}b_?4knKlJuLEZ`?M ze~`bbMFi8=Z(l<2YhKsjuwT}TxMl93Xnm9U$pNT?GG*OBsp-~SlP&0=j>B5NREu3N zRz9GbVq{Z>jZ?G)g=>!jC#!I>DK3(bKd)S5D%0c|dkFmQ6* z>f_!N;rL$7xqX`uK8tL9$Zern$>!elMp>!cg>v1tLpI+;ezu29rZkJmNSoltOzAGm z{S4@7TP7;#&C0O-q+69qyWnKH;_UW-k23f(zJgW!nX%E3$z`2%KHtqmdl`)&7PL{1 z;K)L))onNpzqHl!8iH1pmXt{)x+WSPr-7qEO-Dz_cfKNLjwwR?_-O2v9v@%ebdjLV zI&OB&m#dt93MXPPO8g60FT?O`XKZrBXI9HZ%-;@Ws|>bJx?*^z`i8- ze2^o#6GC3*XB2RFbJtqRFu!cpur(&qEl7E&IvqxeiC2!S+#tU(!n6ar4D{u{e4O-1 zzJ{0-EmnSRvs`d9xrnT_ta__<@u+rkV%>VDQs%ViDaMk{Yu9AnBsqmgt40&K{RryF z>YCFWZ3K)GI_qkb3?UbI2ul_3tm`@hgh+FK=#Z!*$7enZ%oOQ*<*~9=ysUT^%%r#x zJr)B^K;*;}t&slm{;XaGojocr)V;x>=19P>2zMGv4!i`+kQD0^fb?#mF8q>xd^f(_ zY}{l6oR|fXrg>&bmJ-h7^zC+1yXN}qW8x>ZYJInuuDh*^1+WqtcJSQRr>85~r*m7HTMV-q0~j#}fB$Z%BF4Qm*HA6fDmyy8_i3Uq_NazjJ*l=RSnX$Hwk`Co<}pKFhxrl`q(e*ad|+)Qh} z!{BY567BuT;jNd$-ZrbSr{@Ul*`-bWwokQOrqbu9T1MoL!`b4Sx<`JQ`CO47%55nIBku<2p zPBMPVq~f$zDs7miC>HF-9TVG(w^(Z6_vYl}tgD^aT8eNUMb9mWblo!=K1Ug6FSL}r zk%A^=nzWb5N7c}`n3ekiH&9!50`Sk?T+~e=H-$RhyaUjQzG*hoJc23v z?Y+@W5m|4^a z>ccu8rp-*!l; z`gmSQhu@eyTTJz`+!x{AtZ%(C#HC9ngH-zd)~)7i@iS>XgzXbc1tT`)5mOgPpozhP z8^c7JiL4(%m!$(LoWKced&&u;BldU?gA;Rldg{zfvzZtlze8Rt?jkB0K(|lfsiws| zK(lE^ex=fFzOO@z_A6me=dMx4P{& zJ-Zzkn9otzFCxZmfwImHEh=rLJkd{2S7VcvnIe9E-_Os{3k*!nLL}BQRaqFzPebQS zp5qR@jmxLX%2Q&}_qezYOrGKkS;U#xL=_{V0sh?Z-~Ra%xzI@)@6MXaYuy1Px}5ih zRQ!Y^RFR`k1Lv)kl}CdE76GK#4otgK^4{62tuvK|6&o)Z9_7)NAc`ktGTnmtLO}B$ z@X1gq?1u^L{^&E%CJY4%fv&nQL3$nz)Qw;lVW0OIlkYSGnJ&dn=0bjjy6=DT)z+9@|&I#f8Q!ma0K2vBWI& z5q&i6M@9H=`epT6;T-lR!hd1>^B8YvzR^np>_6oyIEa#6U~n94`;HZ91s^Hafd06E z9Hp&!h?-w^F=_Hi`qPch?bTAnx?X$4Qz5)voN^c)xbCnU=P5@|184dVJfMOKHQ9Ja zSaB_y+KBVCPKh-d#f9}EnhVU(M@8B74_pW2a^JL+Krb;iLYVHIM9f1&w8=x1Cko!v zl3g;e5r{5ug?yr#kJ1h2X6istJ4&bw3F`5B-155bZGF1)dYtxpP^B$VOU63jtkx9O zf|Uh-l zlP%iiJzej^PD2EkTb}qJ7P<12kZ+BqBBG+HA&%G%J|w!$E9X>16%mwEoaC3saZDOZ zM5zj+qvV(OnC$yv-K$IKXv-s&OX)=U)y1dsRb7AStbjK$dyBHCqlb~dhA7Z&gL~;c z6~s-1B2+ z_d$ZJm5SvOPCSaG#YK`g90p_}8>8j(vmzz;qsws}^g5lC^5W2D)Ci}(X8$~-{$~v) z%p831zBLkyr-p?!I_zn?+b)DMG^$}BDs*)qe;1(#rTL-PV`JH3Aj}8lU_~Z``%C$Z zr>ahNZf zAb^J?&g)%N?UqqH9}G-c-a7~lZZG6hN)sjXyPx>@1D+_wq@R3HI}ONxsqoFGe{JNs zT{Z4C6pZ`AdvzO0r(n}++;q46f@49PvzaDXm%&*uus(< zAzL`VC(QxGVIEd#OGl@^-Ee0!rP1T!X0cuhjG`P991|k-J%D{t^X@n*aDSS8NqhR@ zmR>?Zj%q!2m~Zm%ZqURia{h2YgDP-f3_uQ66Y@#%ejT=M0nozZZ{3^D2OSK;X8@Gs zU_uTjUX4ItH0YE|VE?A%@_px%-eZ*n47w429(_~_i^vO>?tK86PJ(iFO zmH{ghB$LpAOj6ij!H=RJ-WX0U)nJx@wQPL*-WNe-m9Pxxo>j30)tP%jhx=qWH#T$>Gk)3F2tk%UjrlH#)R3G;L=c>3hfz3|aU@>xT9|s&1V_viM&!7q^Rw z5|S&`9qt$ppf9xfi`8tz#3=Y9NJ>e?G9*bNMd0OtoL1(Jz$BeDCFKF{`MSw40X48U z=Lc6ESzh4gue$Gwj%gY*;r)y1%qwQc)7=1s1mCXlS{j}93CJ5)pe21ccbAXFhEfLw zOA-dB*TLAN!T8N`TtE~B2{u7fme?cWb^MZvA%am^$%G}h{q4wuJ|+u&#PMMR$P*fK z=NR~I_7&@HgBT-a(wQt*R&g*avkYk~F>+7UE7q|>2fMUBf5%D&S^!`&rZ}cy#6(4H zxZ*PUM6vZNtN+6S)EC0IHl~`^?Ts--2#1_Yi~K+8=|}Yhv#Bvhs<~(DWmbj`4z@fk zLcP_vqm~0@=r^=O;oAa}Ws*_3og{&A2&8!Xw&%^GOl-9;p&%3%K5_X+^CMt#B3)rsXY^G(XJcXl^i+|?x3vOC9i3sQbK=y*<|gtxVv>}9>d7N0&I^j zv9x^#96#6B3e?Fb>&BHHYy>>AFRt!Bo)*w>(M+4R@4j#rc^9=K_r=9uV1+G=Y;8}@ zkTw$%5W&N&8H zqJFoH=c{9y6VM1zdc-kJ)RpEOU>^Drk7nFHAgs4$sRqb3VBdU5Ktr^B?K!_5SRu;X z3@>JgqQ|R8TZ|5a6EUWkpZ1>nF`RvxLWkB$%I}>BRZKNE2NE_RJn}HwK^D4_C_R|X zdc}Cm8ub~SQifvf*zmGy=7&*Zq$@qN+MH1!nL!F$?3}>BjAX zpcNjyz1*mtXAUfUtF8qzWq?TuchPG`rd?&oQ~M2o7WJc|3TUAVaV+Pg4A`eObA%k{ z0_JX~faL~IrMiZ!8nzPm-34H*&&bH=xhVD7QeMb6Oa+a*Pu#X&jbr`1Q;V5N=87qp z>grMT5LQ(tQVV>;qRucG2C7AxkR%Iy(x30m4)6n$*0&31^RoI(?DIQkh@4>;=H9J& zG)DO?&3`o?t$lRyc-Zn4R$uQJHh{neI`GW?GLAgmhw_=wxYE!tOO03I{8lvN3*u?% z3V^_adK-T5o6FRsg|8~Q3)?0njT;H$dsA5hKxvKjT&Z#s+oj2S%kDSWNf!Vk@edzv z#4k$hAvxtDDk>^xgY;L%jT9dS`g=7(G?5|za0EDZYCyU=kl&#Vrh(2p%Xx|GuwpNZ zXSqiE6Tca>sR-#qe|$nO+f(^i{o=K9c>4-_9(;IjW;ga9uMgtkyJzI&xrJY8rry;V zhoq>eWg3QJ7y8lkoUBh!tGd{J9~)CJ4_GF}c~n$=$)Ks{t4VObY5uFQN4r|TNssuj zpClcUf&P(kTWdetQW z@OseXXjTSX*3+Y>$D@!)i=~E6{?7oK-hd{$s<1-q<=|hNLM5Z?pNAl#tc2Mq%A=s5 zkR=`%A#+!2ng9Do5BzgK0z~?e@+HC6c5x?07b}boaOadT()jjf0fgDOwZ|h%GK7u; zGeyolN8Yg$1Q$c)?xmO=fUHr&{VN`D#rf02tuxGytJlxyePI??L#QUz+;fsDCEB|@ zQj5tj;+OS-Z7P73$OV97l#7t8b}o_d!}I}T?Md6_YO}o%S%(R`)z;HoF5abolTDkq ztVb{vM%tJFi?c65pQvdU%>O3jQYw(Fe@!dg@t}!pslj*yPxbNp6$H8Uq7JCp04|5vriRoXC6=_vEWl$E#0%BikiP`1QE86i-(ABIkR4R;72rzi;Giv+Zmm-F*a%iVrJeNdbD}y z0ckK&8Dww>&evg*?u@YJ8=hg)qaD=iy#|DQ-k*9CqmMm;5&U{^IaS;>%djIM*yhem z)|>lsJgcE<`5*B$g+^n664N38I8Gc>00=@c@|sxD%jt;caAxuse9AWPqb z8U0D70y=p8SS4_&!M zymB>1xyiihE4SVdPuj=ZB7049IqgpXkai|)9F#KM<8~<7A@iMYO^Teb5VVBc2AT`8BkSxZJ=v#J|YU@ekTy@Q8IprF3QJt#SZq?5GuJmVpEvJ=`aIi11(aq+jb^%$U^U#><{^J}9LR z7?bv*kD50;)>ylVR2h}{B-?C{sItaCqr5ObDb33BgmC^g!$w`g18q3K$Gck0`){xD z|2v5B`ftAW8A{gnPf`RkM)cxuXU+d_Uj?ZN2@QpN>+-qm@u%DA;S*3l^r`@AjMZk- z6gQCx!4zpg7P9S5&UZ1pldzwM%C`4kanTbwHzUba>MUDhe}uJn<6D1a;zg`MtGlH1 z5omUKzW%31vghIusmBI?^<6@7t4?NJmLb0MxC&}~WHzQni;fl-uwtLXN!ngafM;iCU)>?U2i#3jxcLxSr{}NAuko!jKn>>^u)Ety zpLUXNH%}hfW3V1t(5fEXG{^PAB8M0-0B#gGCU}K)IgQo z(NL|iilr*j7v{kjNy!^zJRY9)4=F0ug3&lv36~JSGCX#Sh6i}Y4-szh4#aQSgt`>RI+9MiP9+B%v8_X1V`pN2~f{A@RkCBR`NfSURaa+K3Pw z?r!p2^2a8&%?;J`bRzH=YBXd_1Bkj2z1ASG8#t-rtmvqa1NCbh!Bnv3$Rwy8#nsmZZf zK_~2u))!kEJHQ#$Rl#gH-g0+Z=brBG-g2Tq+|B|VoHsx5OM*67fyo6Ra0>``Hn=S| ze$EO=w2fbgAU{V0h!~L4rWTvd=xnhEV}GStpU()5ELdbFxO>r=#DA2yfQI0Q1-DBG zlSQ`kbI>ICzDNb9-qm?N;w?Ad;w;}*BgquLA&_i=MZd>vCTdv~%rX`Jww}LldC8Ue zh^ca54LC-cr}MF{0$J1S{;Q74oYads3Mxp&Q`?TXpJ&Y!`6O#`VGrh%jKO9#u1X9d zFA&;s0EbFvF@U?q)a!giSiiuJR4g+b9Jd>xVeMtxziL7mC%4{_eA8vwzA|jf8xU8| zbOhczhJW@{_cMT>!a-DKRi$<5ZcOU>mDmE9S+i+GOU&jL@M!p4abEfdt6h(qcIQPo{t`p07_h#BZFdl?yxr+qpF!E6seHW8B7@c%IP zrtwg}|ND2Fgruz5l@w$9kR^odA-h4=kbU2?hwNL)60+|zb~8rS3MoYW{crrP|Nn8_>sD#J-{<*y9mn%HCgLlO7|A%O0}rVHEw)9jfYPbA?jWs1 z>~nbAu~H?_PF5uGDjU~U#UF`clqs2|#g`6&VOZ9l2F?k{11q>m+gR?kK);{n@aY%9 zV2>-h=uX@wY~tg}3Y)^joP*Q?#mAm1`}g-m>9x#WCiW+q)cK zLjsKkenD0;w3y&pZlOwDU8R;{L)*7JQTH}3cs*9Zut}4i1!=L`YT0kl^t-y+Vj9kG7{4Zxh&z--P zFQ(`H29#h?Tk=&D_#OqA1V*V3m>gtn@8v z#(g#xOv5H3ZUrJ~pPN)^oPX;miA=rlstVU5?Km{%DxF_RN{!Q$ZQS)pmJwTCF3Zgo z`2b8RlYx89#1!d_=@8kuAzfG`#JM0=)UE3Dg}P3;aK%jI`ZtrrVRrLR>}s4bBpfh| z&S%KxaR@;Q+92hFE58{B?vZrfJ9RDghHt+lLO<+A?`gBh-KT@qhKU&?or>5sxVx@* z9p#=_63*bQ<7Zi3*2yM_IQgqYQ7HJT;}{^E^ukW|CJ9A+qb%V1fB0M$@?@A=?#+en z2w0Fn!sqj2HMcsWD;n9m)O_sE-21+*`NR7>5Gq+U7g2y;x-DhEA@)*j?5Q={e3 z_^wV!YLc!Vt{7b2a=k!JT@JX&nDbCF2f+Xyn^lDyuWfh<`)z*vNv>n`gRxs*Yb|Q{ zjBGrvubEwsZ~Z&lQUX&=+sTE0Ow4W38QNXt%j(A%nBX*lny_awF6||6?MSzx*}FN+ zVG!Z-Q<~CBgI~X=as8g!Nrw2+x}e0fQ;rF1wF@=zarjOc9q-&fPE+r}XkpLTVb>SE zA`USvydDuh*@|+Q2T%U-AsN!?v5iU+o0OREkiCoiQ_7M>qm_#bdgwf04M!A{6iS;R zo)xe^({%|2qg!=Qb=y%^{&pCr+NdbPBf{S3*=@-<6>1NuhF67#9v|BIAwocWctyI$ zoL}gKZdI}`*I(hHWqJW6DI9q_E%$}K;fAEXJ$Z)rx3yAfN~9%mZthq5lAbJc^(BR> zzrTNLCf&~W-rhgdCdCgqIXmfnX=E#_85iihkST%iInh1A^ceH+yEVb%yjh}7bVIKc zqT68=#o%u_H}g;@LX@?+ocQPeKacQ#f4;wq1B)$MzNH+D>ufy}EzAV9GU!EBQQ59PfF5>bE zoN~;@BBU;<`tpA}yKA?U;v$q9nqkuBD7h|k6bK4rQi|!vnio~HsJTSJRw1`at2<>n zJ5o~+DcaE6+Pxrf-9%VN(k}SPe0?ywan8JBy_LLQ&D%#~CI3}pNoMa$oAJD)Gp4yv zVO&p630mWx*1Z_k0DgCDAn<(zxEV;!IoAC8^$S1)%r@ecp5Lb0)&pD}m6UYoV!@K$ zmwRRk+<@zFnr0h)RTGP*0u|SNAx?HyU?MDn`z`=Hm4=PgSHgk7p#-#?;UE95H0dfBJW_0m*)^UEXI*$NcikycbRudvnD*%k>+FYA7 z_xrZCXbVef24qQ7H;&w8B!Y?rg9;w*2igqW7^OqLVs0{DUk2HVS2y>J$NYr3mA&e4 zwP$QQ{!{!-VJBM9yta08&5wqkQM$6;chbalOw*W^HU4hUS$FO!>9rpLwoz??m`wkF z(4Xt9XYHQN43KKQe=sXpLppg7dD?DvOIl5-BLDRMEZujzc2CwwM*N8&ijSq5h6PJ;q#TT3Y+09Gy5#} zJnFqSbH7fkrl-KAdv7d<+eK$Qv87c?fl0)^HfZY??>sBO|J~(ofz{8pCoUQO8R%9H z9Y?#bKf-rN>jH`_eEzKbpwHD#Q@)k3CgnF`1=JQO23IY$&I0fzzcV&Nzq}fkY6llUclD zL-QYkB6*H=L2D+Uy70I%whQX|!aQt)68CLoBtt6u$D2k2-Si5~foSLW<_fDCNtCx( zb9qUQ*%+u)R=o{qV#9QN>+VI#>Ipvig6>9omqDe1O}S|qe{x@LD#2iGiL7uV7dYLRFYi8F`!{&G6unP3Fj`(=2Iuk)k#d=!!?I0*Y9v@pcMj^GXuW^`{q1u z{#@s>x?-A16}F`hqTh3D7tv`*tf9m^f@x;k(MboZY8u@Y_6KqxqKcq=ZC;vfi^n zJ3KxLHw;8z`>{qT{}V-2P#XUO-5cbzm+cyP$*e3Xx;b@aOC@*GqKO7l-8=2zsh~Qy zji1Ji`dde4Vu%Rer(6!_=rUZKhByzuF=YQac=a)UxG4uy6I=Ltuezm@b_GFZWAZ5r zuIuDjkQ@&NGg-hj(`OAKjz`F>s??RQ5md6VqVNZg!ND%@g7~qkPM^^kXybk0z2%)T4yzn{IypOR;!qfw#-1ehyJ@7qw_nF?n0;5@xUh+r_(eZN8ZL|^8&?za%hf&3&4|uq#{3bo@ zzSHxYpG|+4Py40qbi+n#EB=n(qJom8%H~u{V07<455x^n-W?FrUouOQq31hD6v4;a zuY}`6D!AQXDXIB2Fj`*J0H{t5th`)JBD1J&UCZOAh{@OLqe*W{{eoKWBO;RGRi8$X z1}-E_CfhJkvjLFvH7y*0|q!3N9Qr6n`V5RV3joEFy21MqgIYN z;afJ=v;Wmt?rshSMH(gdKXq?QC|c?(fNRzC?C+KgjrN{CSkG+>H$uJn-S-&|%qY>@ zP-B@X-Qu{u`}gfcj>k*&@`CU)!*njUR|T3Oo-mUs_tV`@mBfLZrHJXEDtt*O>H`Ad zeJ~JRwMXspaYF@KsBy>itMVYQS)PiMl2DlLIad|+Bx&UBI$x(KDi0`CdxL)r-07aN zpYXduYnb7tZJpiKtUW_`{ZaRn;5_!K-^Ss|M(Ex?Op<4*w-IR(gDpaoadB}C-qrGV z?cXU-W`SUUSz>lff*JMZ(C-HC2)Z@1K_$U|s3sL=6=br{#)H){yBNl8m`63|6MqFJ zVH<`|pAOky`)P7I5uzb{Ioh_`Xj^TwD7KNIcD|ZMfd&==f96B4k$F&j?R`=WzD@FC z#E8zjharVI_kHD?-##1*Ca6})Mae`VF+qQg3c0ST1nC({bS=8?0#;?$cw@t| z_l0bYX3UqlTy=X}<*6lcJZyRd1mbHxh4}#^7LAB`l15hgOGzoP*uCH`)0t1B6DH06 zArpm$@d|TCky@$@O=@MMc~uzLo*q>xzPwnD)L-fE{ZWsdlnWPPNQ8*Rx+XSD<}w?h zp}AC~p{u9xV-ZWJ9NZc1SUmPsWxSE3uI^4%mUrbrljGNbww*nxlPf z$pP?A$6$qU{Nt^6_#k^m<_ONsYQabc{Z7G&)^FiVk`t08RXlnzEkTunsy+_vehh2B zzEymk(GZ`wd53LFL{c&4n*D3xw1P+qxalv^)_P^F>LN97)f^viaqn`vf*D(0nfQwU zS%8z7A}VGmB&g+!4}_Y|A)zCD4j9pmSIk^%R^-j3^5`M?jHIaaS8T= z%}TPqb1$-&tyIBRL8_iTq6y`NL63^w8+`vdOE6k^8x`?5o?85!JubiOtb7QJAh;o9 zLw}#Q<%MBct|5c&MPBpGlh(M9+k4O1=f9A~HqN+z$C>i;@aw!uVih&6yBA4*EFPU$Tj+M9qd`TqvO85VS8)PLHWtR z6%tA&5$!e)F#b^}D2f*t4|FO-!Q$T8U+q_{d?TM1xY01ajpbI@QQ*9x7^vLz=Eg~; z|NgGd)6-o~3=C(>hC@RC(n@))kSf=7CL20f`VJju=mH;?*qa^tb*oTd7FNY z_AXK2huIlVPC1rUjUjbh6n&^s#SrQnozTu=jw5?5Hn8k0!oQ{m-hVTkz1t^@3 za_>ae}>b{DBOo1X#NnFwdJyx%I6v4MFRmV1b*hc07S z9SFCsDWftJtl9V0-j<#2qRKBpF;pqKTT?(Zm4nif>ga$x&^-L-K1hxn0{U6!&}l3r z)lR8&uG-#O1ZNP6;Ez(X2D_uKo6(!+MUb}ThFqUE{>tuGCc^8>Z(?@kJxRsiSazWZ9l<^BfoGY+9#pIx3kDfWfY$=oEp49( zxJop?3tBA$6Zv8>MW0oq}9xI<+Vy}`NB!9Asc0Q`IM72`|ru&9!mX! zVP8WeG?Nd|T98D!RrFOk8(wP6G$NVYuKa@Ait((zGwz20+1_J{z?t|IA89@W#hHR- zM8jNwq|;4p_o6%O;J^g4nL|*o-FCx;4`5T&u8*_(a3-8yFM3X* z$CYzk&2X;3)th)CUB^$1-#<hHV04b~5^QdrB=Kxau0$ z2o&J$3vay*k309u@f`?QmF)hksde3nqu_pQxvMq#k0GvWJ3p@Xl~8ialBgo@Aw4uU zo5o}$N?toh1(n0^nBTRglY@?qdIjqeyBd90-$fJAf&OFwH6m`I^exusM1GC$PanwrLK$>$v2-kRKA9@3I6h9Ab1z49g-?HW z-+|n!M_pYr>qvhq@9g*G=N|GG`^xia1sFjj3APpTRj|BO8Nt7Q#~79V{T+FOrEg=P zZ++-H*uzq}N}ktTPD>*LC$r!H!9L9ZYj;M1)Hl(bRtsfFkGB(AOnur)+#{pTYWV4M zjm$;DAi;B?vWrgCD<-)tu&Ts0ZdIH_&6O*Q<1QCqKy8y@K}x*fnj z+_C3UV~?$bYSUa}J%W{{9OYR;HIzi;Z(R&c_#0nmXkw~dCc+5Gw}*H>s%}3vChA@f zoURK03jqJ`ch8Cc-v1()@W1f%k<-9aM*&d|wNzz6SP`GUt1+h4wa&X$)RHy=^rFV+D4E2R``Jj+gb%Wdqa?JvzpcxAQgZRjW!!CZbZE z3%d(rN0Jwhvx%RRHt*kcB;E;UcL?Y8Wmtm*9ZxEcQmU(|*>tBE5|w`Rd6lr2KpZmz zxTcoOu|E8smMkx?I+^kkZyz8+rzRURvK#83VSvtDZCI0=y)!YiY(gOpNL1Atz)GTl zU9Q3X7P#9bWT)IzjlV%ea~hoB&*HjyqOLNvg6JOq9%d=FFrk_A$lUXzZUHAO56n%2aLLhhi(mWuueD)X zhRxDr!dc0cTMze|0rVvPeBjx4%)5JERP-9?S%ALvZzMByF(LP#{`#Y-Quz#jCF#2f z{wIK!1PQX0|71ST#eIK?oVl`qP2TwXsdWR(4*AxKo@l%4V>j)j?{{X&CS;2c)lBX2 z#DBr*{z4Lp)5ADgVumSXs1w!h9x+D&2!(r&bC$jvqeX@;(hqpw_Gk^Qyd+q3fas&_ zI=Y9}op>>co;w7ViTy0CiMzcW;AjGXf{7lu3jXbvf0X`)&-z)x^9k~%+0v&Uh>UfO zMR5CYAA6SU$+GHOIz{a(`9OT6yYUtH8|*g*ghNLdyl(=Gc&6kP$SAk()&?zQ-X{nEO05u&4t&ssl1B1E8 z`M)_DhP%X2C2D>?XU(gc!YW4vJj=2mq7SVa|4oUPwfr$pE~#i@_v$L6$cW^-2LSBI zPD}FvLF@IYokQ@9Dy+%T7Pxb|8Zo2*_KD#5tOH;RA|0!q8KoE4=`HJWc|2OmFV#)) zI)&~uBWDIyhNpvyCjH&?l*;G=F?ats&ZgWk?a9Qg|NWJa{QZ^40yE2=GiKN5&_Yna z^rZJ!0oB8si7ptwLG}`zG!OLKMu)ouS0U)T62%YpbxaZ_UnK!J2rW z$vp5HyQ*}FcJ-!=qoPR6>j^-qng{NR(zBqQz)A$h?s8B5ZYKKvoV?6T#$feP9H7Mj z$_PF?6A)AfvES9@#=ZB(D}{xR6V3O5(@k9JEB(C?#nMs+@uTzB5k?PfCW^_@OA~u6 zmk+-G{a;rRV{P1(8qrplawNSUx^KR;qUni`Z>Sf3n~;A4`F!+yUeKNcczRs>0qnJX zdDjiNIFL0t;2_e~x_5*C`#ti0z<%?0<*U$ZRq=7MBhluk0uZru6+~hbl6M)<3VTiy z_h3zC&t4Oqz5G2O51U>Wa}5dob5OVUo;L7yr93scSCf#6o{;OWOYyD;1?M%KlBo3^ zv08UTE=T8m2H*e?IMP$o(JkMiI}iTVp8U57DMP@ce@V$p%G}Aa1!n zcCon|Bn;p|OiubVo100ke@zNTGSS5BT6ujwoHIwtw;2phD_|Tf$(KND3Z%;que2Cd zDyomgz{D<9baD`($wzDHbqhsQ7iZ*k&CS`|Y`aeYVcyn7&-3%^*V@R*E-JW_vVXT} z)$b|Ti^S7-uEJr@Q>W>@INLsB64BX#f*ME2--yZst)XWc(Q^Ohnf^~wWyB}re|Rrq zQ)~o@_u}DCU`Zi24z(kW;^hF9kMH1F_XO* zVCa8^pFU#>BP<6+Bz)JJ@KZ3UlMt}3V0av3&~a}gWPIVb$sdQqwvO>Kn-n)8aPOj1 zY0!(X2@>8N{Uis74fUj46+AO`yAs8Bu^JbZ%rwhhZy#pwUsCFMWi6anxnx;Wp1_YH zlaee@ERd+%-e_B;GNZ<%|tK1e0=wu@2t}D!$p0=Q0MV_`ArnF z^v~0H>GD?1q8>mC&OG!0=vO)uFrGqABn*lIUGaZ#pZ{Nxm`vC=a4v9Vw;z_ef`H}& zAfp3sNEkTxWu-4-H@5$)1!!dxDdb|9Gyrdm&EQvAj%Gl~_Jm2pVqaY>a%Jk56UhGq zlDNRUEkMpn%_Vp?%3emwV%P(W1He(P`0;8=*9SgVl_TZMOJw5qg1yhag5xIi#a9I$ z`j|!;zR)HO6G@-~Ph#6tfO%$L)cYJ{Vgz``5jB1_EvW~FdC@DG${0hsex#uVjfTXH zlEo!49l1ds7UdN#VU9}v?&%hN9<_k^DE-GxZSGj7-O~YR!#1!;$^&X2Fu3H2lvF_kWrz@rI9VO@?m1Y&r6# z8#nM~)DcqMTAS`C7G3}Aa7A%!p(*qIox2Q=V~hg<2lO}=1`Orb=-KEfRvKNR|$9_>O4;smTuB+dVWSS3R4gNBSo$1?b>7H2`w{7|kLW@LumuIUCR zoW($%R&zj6Az3^p;Bii2^rBF?C|C5gG53BE2o(wZPrw-w2y@hik9nDf+K&9gsPa zf^0vAtg_gdF+TTIzeroj%bBt1Rv7?e(6ZGJ6j%4{u7tGMFRM4Fo0Tg$RpirBN`Tv; z|2)H)eV*RUV&5m=^F8aiPGog9T*hAf84-eBnV;gS-gXTwuZx(hY}{LeSsl`KH;E!X zI(@S2I6{3|3u%WTVUKw=XUo!mw>Lvw`SU>G0|7t}a2eU-(YSyOY@v&Qu+?~C>D$&v z?*Zl)CA0bL&tfaA2E@-aKpY5mU4MU2W1B-1`&EeseW6B|oBGCkM*A!M&Kz&8D6Y*j zX)9(RK4QUPVuF0iC1&#l0qkA}OA}k{{rk@G)vv3bOa%p+5#_DI9jbKXmWPDl+T>j| z%`}Lp60f|9;zH{>QZ%dLIZ!E#kDGwQ#lN$J=bpX5tD2PWBvcG02bGDz5x0zj`x=%p z`NG$&ZAMU9xnijxNHTF(USQ(cDvpZzp`u43$X*16Oih5fq{oFFfm`4TQ2*4`O+gPi zDTw*P5ZE!aZhGdI!6PFa`01hSX4(6du0Tt)?C3J+R0L=564hUbEv*EM(X7(GBIpay zsWlXKKZj3?3~@`$IzeS2GwYx2nI<$7y&L*iO&o{{04#h`MsEm`bP<3#cF{Q)ubh5njj#d zi8=czGhI~$zs&6DOufI@=qcs3zS?oLtfhc{HFRhuQJE2qd6lM$k%vC@Q7@eeS7?{o zHY;yrG1gt!1epdHm7T3^b8swk@;|_WMZ>3)zm-3dG3`Jrk)BxI_0~Q8&VE(`0s|aE z!v)G1=bU>*J1Up$)Zxc=lM;=ks*0paXz`p|dvGbEJ-8E{jn2jH1MiXpc*~wjbC7q_ zqz|p*C(Gfi$SZ4OtLT-a{M&Jc_I>duZwHgZKj5BE1qZL1vC{he8uM}dUiM2FtWYyQ zPC>Y|UB***3e?$b@y3UTOP z)E}6|`>qvP`|3aCNTN1utAn<%?+r!r0~@d>?v09?nrZjO>@9_T_6N`W8mrDS%d2I; ztP4s79-GDW45|JK@3hZwTbWYmUN}mw{5PvdBWh_s-M9u~e--VlYszmPyP~pd9KA{s zOJ{35f8%smoizTez0H6!n)8g+ncafTuoTPSzI@RBs=AQgT9MRGAKCUr`e-DTaZpW7 z?ey8J_=TqrZ_}o335u8*tmhwBIfsw<6#LPgc?sQM=J5rng0!q#^|iS_Pk$cug(svX zSBvIc2C0*yxs>j+7OWE2K^{aI>=OFm^>>tjOH~+HcZmJyXB#50>kE4NeV)J8e$&e5 zCVWdq)Y59A^gQfvCASr?DK=2#)PCc=#8emo7dLR7xd2TGHKFL1OTargO&JHaHjPm3 z-ROc%!|0YM@ose&G1K}P%p-0uq4+;|$PXwz_$m=K>o&4x&^DoCg9J#GN-`@nMnyu_ zAm{`X51ozZBq#zWcYXK{{{t9H?x5}pXsf6Rfj>kZTdO3VVLpZc2(qqJI?QhX?6%QW zO2d7tA4Nyd^Ea3`1~*pc$G$cd(Yt)Iq&Oh`PD0us+`x2KhK||5yg|;!uFhUP9jp)! z@Na@pI^7>aR&NkV-2MxH;lG@disivd_IBx&I`BGtck5V9ckR$N3nrT1@^k@>k5fL8 zc>gp-E!@9<|1DzX3bpL|CzuIrh>~5{83?q9M}r-w;~>(Rl^s*6r=@0(vhyAxpivP(1=4_|&W} z)+-0LH(i`9vsFDkgHIFsNfM zW##wOc66=JA(?IiVdi|vdwctFuZ=uv%GVX=dNdyf>ojSbmB*`HXTGMew6<+%$X#EA zi_$C>kQiPu%<*i-68HIQ@AGECZ!EkwVgWU?S<|OjX!)jzwURa-jodimCLwTIBLUf4 zoCIECrw@|;2xBLWQK&>6>7%hKTSFZ((E)c<5mX6b=X=NTlTbO~oRR>M^ObcO;4rrS zBR>0uRa?I>xZkIscw&I6Ag&qGW^p=8ML5{pwC^3XlXen6tXhj=j~#dgONB|o+B4L` zhzc!~v&th(%@eTS{`c+1-?%dD zEhnuv-20H}sk#PVJMnHF4*XRs_exUJLcCSsk=3VtD=@_PpvegKtD&U`vS2ij{*~xMkCv78S!q+3U((WHGKrJ9=KwAyqn`CG6|}vpyNZq2dwNH zt9irXWllF9 zrF!wov-YQVr5@F;qTC<+n4yyy}hb{3<(q!xU(!mFc#t0McvRM{Y>#}13khCB@ zJr%jK3I53tohqolaC0xf`uVF-AV3*-);C08c3}ajjvMQ2?Y?q4QDLW-%g3;wnP*Z0rJ`wHx~?=HA(r+yj>O8k z;&NK@XH27fgkp0G7PjeBmU;&CH~STs(ta}`*Quu6_HeGG*L@=TyJIG>UNh_m)wEIT zKaZBPiNsa_OL5SXX)qxX>DegkCFO->F&8bkPL&Uk%|OPhbfgO~qfx@Pedd)pk$aMo zmsRe#amg)sJzsrBk|wRua53i~xwU(UrW;+Y?C*_qE7y0abZEb>p!f4sX?mTajWSzY_^?0RbBy zr&(LB@`Te5QMq911Rkg9z{JN)*N-|B;!Wo{G&aorD%1!K>HJkxF@*G$HaF4R6w2=( zcznis^5b1pC+8`B1aLzI)*!w(p$AbwIzh)x2_)aMVKww=1AU>;lRwq+%x*J9hy7`>IG)OW|3Y7t2RnW|C=>9RM*#Xl?K9xGe`jzoJJ`Y9@hp$pvUUxwO6Qwx?HT z?-$mHPWFjUQLMr))T7>TO{WL}lbtOu>dfZD{Q*VKf(G!-n&>k-G^Pi0! zeOW|vGBYdSswxt$aIQ6^4+%NM+F$uzD{o$v(s-p^x>>8-Lx`5rfM)u8eOnO?Z}6m^ zFxogD;yTYYy-v-@=*fO6)Iki?)hYGf7Z!H56yNH^XX%&=8S;KWLCmcQRz`_cg`%ferGHclA`qn-Zz&!xwK>+(FU1#C&TZJA#=SQbthBZ?_ z4!dKlv%7YYl!~aBhF}bUNPHjEOvWV>YvWuzKqRRxiSZBzg3TvB$W6eV{`x%jO1+QX zbs+x}s9!USqSJl{B58NQ@(H$i8(-hX?0Kg=ubgaO9`5y8z@VO48KW%>85=UwVrfCD z%pFJ(U_Q+qF2LT{BMukmQ30v0GWuvWGIQ&v;5z{Ib#WN%bO52HAd+9cp!Y*|(Tg6yXjSsO z(9j`klk!}(kGJ8zRQqoe9Tp+{FyQk83R3QWz-D)=OfyIK@#j)7xAAG9%-WO)I~Q7?(RjY%Wk&1yYN0KkBrn&RGB1G z!<9%)=fj~0ZSeE|rLUT_L8XBEdQi5EK~QV)Z*S}KP7E`{c~EFBXsHAK2wbhk;#A;H zHT@bYc{B1e7ZCc${U=@zb|)urms_e|PMefA)l6cMmaLsVcMRRi00L6L%uE;nqj`9E zzAX=pE{gZMzI*e=15$uZvn~W*@YtXxPxo%3Jqg6tD zGt13hatNw&gFcdZ4CS(7++sA*Q;PJXPq-pF?cU~$I2wtaH`}478^)2%6H8EsZYwY+ z?k#w5vG@@OqZxSx;EP=6k<4dmfkVVW*ghciQW`&Bcmo|1|7Xnajn>m7$S^-Y|LOWy zzjZ?!Ek+8f*>|B*TW+rHBr+2<*q=6g37IuD!3vqE$8u@G;)TH`s_gOREWv&$r^z>{b&wqtUfd$K zqkSYvE-OFBPzc^?1eh651OBb}T$Q^Oq8H!b1sK6qfw5iS&h5gMXMQX-9QdV@=l^cMxAt%aX9mmm%s@Mdzf~V1+xr+J2q>?)1fI0x15I5HCk((_k-HnU##t)#$u>>8q6L;Va zpL73INJ8rViAO*n#I7@7|5a+fB>#hxEm1&*KMOXJCl;v;4}5epeWvi@4kNwDkVt1h zCHM6~?v`0C=98g5KT7FJsRSi1dVZr9K%f8}IMdj+Xx}nmh6M9YoAaGl=5{4ylZsabgdlpmnBv;)`fH`pw` ze!crC)7t%j(+T*^;OBiD4rD>Oo8k`P;Uw71xkD1KjtSIoXki?3#+?GLo5P)>uUy}{ zhj+rZH7YafK9}1K%C3-X#h&7K+Efh?GCbtGMlo_>SD6D8!jb`NLc&lv{uM}$lz8zb z$lg0T5?We0?Rs(=dj>=-0LdPv%Q}LvP~cQmiC6va;=(&}t+_m)tA$NphSZSks4hxz z!5!FIngOka9?^;a6p{r#sa)tv_b8zaV5{0vpdNdQGDtZuI$_T#M}9Gb7~^N)0Kpby zCbZQA=`>%+Ousy0hTts^no`jo4exAzIC3Q)oRGP_+_~6r1!fGq)TK1Vrzozunq3Ek zVToBqpZymAn~!rM+GRE^pls9tn1mkA&vYVfL$LKF^52xLE)E z8)Cl`VAa%B&c8W&y1Vv92&yZiu#hjjD*hs0tl;Vd@R=7|cgI70b2RkdWmzZ3B4Z-d zFdGrpI>}zE`h~3QAlKOjVJXU~PZ=^0kp{PH=$UK>@;2rI5VoLS9APv>IOnx8@T7)} zK~OAUdLwk{$aDnv4&{9uDNXttur}b~;FTNzXD8ZclGBh+`Sk=Scsa3{Z=Bg=*o!7y z(J_dY+02)I(-qnew<0~JV!I+ug)w$Npj3$Sbw+*Ct8t!O6#s64xwiLVUk3QYE+*>t z#&QegA})uhC)!h7BN065>4TV3gP`T$qP*4@X}`E#?kfx8E49z!3YEsDrQA9cW|_Mm zAk64OfGyUWMow5|dqZrHD&`>?P78jH+I-LcZ4q{C6H`Pkfc>!p_=Alu)d-38Lk=L( zGriz6zzsJ+ZNy)^B0SSq*!A2%ft(-{s#?QNz49Wkg+^7!HHKj(}?RWrO~ zJ=UHP>yXN*l)Rj63k4vWg+ib-qQQsm5;}_3#yvUK1&gQ{H=PhBvnrseq6>ahv(-Wo zJI4UZKM0ncIU=q@UtPF2$p_n7gTAN>n2J4q&dBL4Z@ z|AF3vzyHktH*E~%$S)dM128k@;}5`II&HF8vjf@+m;x7S>X#$>(3yn*bugAbD&im8 zCgK~V{P)yG7ylpsN=>^a3;VvQ!eRDzc2YK!t6Un|i@xB&yt`y?Sw(%PRD+w~L31@t zYvRPdN1?^}zS-fEVBY}livh!XlNNjehP6xb{%kUiuYQ3jp;IBX<|+3p@~17OUGr>r z`=+{#?|kXGILD zp)C9!3%3G3@MsWNHr1!5fhR$u>OD}zoOt%Cf9Xz!mv<3r0?n!VAyOtaB_>4sRk5e> z(du?=i%-ehVv&>#06WGsbDz^zmlpRq0+uiER*6A#fI3*`-Xwr%5*S0RH}L9*V0-xlC~B>*%Mlt`daB7-hNVg(YQo^=<9 zBM>-87-)+Dtw%S+5En0r-9Y{pu2vV-0QG|F1%E;HzMS0s`8>$hp?eY<3i zPD@RK@yM!bMm1<^1bP4z-=LL>${z=Yc+eOBf}UBIygA?7RG!BO z`T?~09z)AO27d#YGK_#fwix@Z%Nx{&DfFj6%>fx$2~~3OIlG`+ds}}_wdV1Ad4gdJ z3qmKflxtl^vM|N8e=OkNs)ao}2-6$^q|oHoa$LT8f?#Z3Nz*unvE=8ECbyCo#?Aak zCsivAXo2e)s)o6Z9g5BrO? zI73Vrw8eJ^s-f${+nfgSdJ4Pr8F0mx8N)jX(0k5B#FnDkNOleP@6q^&Fz$8`FNVa) z+1O0^_Dx|DpDGE66kLzWbAeuil6a=6%04VMZWD8Xs-&d}TQ6Ae>Y}9NDzQr!=tDq& z*NpGuPycLQG4&vUvyE6|JeW7#ZNjyp2q`pMCumjYh zt;8{OX3Z9q6v(YMl_#ANJ-Abse>WXs^&Jo+LA+mKhhNxg17iLUK*L$*Kmez(Tizp6 z@uVJlYT8m-+aH*%X*e`l>hslm0;v;fMo4XV&rMZPTsjY@ekZf?6oWY(9Pyn{6wLeW zO$li)(q#p2a<4@9q@Q~l`I+>t#c$8{?b>FJKLVXK?xUipWoHA1sDnV+;=2rrstCx79 z0D?1JxMM7Ig$!DCTC<&Wo9U=}!|<_unjIm&y@MYbN9(7ZC=y_T>}|YQu@OFwD_7Z$ zfR)!vd#yV|X`zDk%Roaqpk%pxE!Z8D5P(O%2wy$vhrGSbD~1)AwE4E}u(pW|DrZ{E zFhP(+pE`mq3<5ESDyE&E^s06pPy7h)1r=&{Erip+x4#+kTr13v0BxNb7}v#?QbyOh z-x`_|{H{*7i-ETc%(e?dvo}HC;dr6%1bJ6SNzESxoicr+(W70jwAv)w&Q)jDNY!M* zK=-2?yu**ag$rZpJ1xX_hY(HyKBAjVYfN)uMw?nU86pvwwX6ExosDc`dc#&g>LaZUE2BdLJ@53cU-65egE!a3Gq-_BM# zrrMTvLZv)DQ?WGJOh_=g$kV9}5= zJqM}lFK(r1_jQq2$um=~odHfWgn><`3JJz8zI%XWE5E(A)a&LYRBLV=o@yR9hSZa?1_P)BOm zqO>76li{AGB3Ho=;wpE&Y0XXRAH?MF10IRQZBWHv!5#+kZ3T3qIWqy7}Ns6 z3~LD;$_cSzV=Il_CvX1Jh3a4paq5N{nsr`U%kjDB5zL5i@=&<=O;75eZx{qXT(mpn z$}g|qHeE0DI#mgO94c^(+0GxTRE<}6#NZnX9^zJ^=e~9`oirn`rx~&*@xqLE77JfD z<4kLn8Dgf@KHtHs8I(W-mj+Zc;!d1;FOZ8(cf2p+*XA3d*5F4wFdA}in@kexsyXPu zab&D6`Wgg2w?T2(55Nxk^vE>VI;yx{dFged`RA(Z>nZHzpo z2zf{%lUSCx*BV-99-^DQ+T404{)THKz-^w!^TUm#MZk0!{R2L7d~UWC#C;uiTO)1%q%W6{dIj9j??$Nl*NSB}rUKe@^2GWp;yW<& z86}gUvI7Gq(h-7Q>iNy`9{Sv6=XE?V&S!`JRaitFP%QlO}p%|f4Yw6{q3k& zftvgWxYp7_z9-CX)f(+a6SLs^hH0}zTvOB>d0a&v>?ENa10aR}0)nzRY}gsDJ45Po ze9h%XCto*|3#?>)PeyVDJ3!yt7AbqMy>*bjM96dPr`Z}@qTTk0AD_Dg4MxL@j8AN@ zWDq883j8K{et)^NwepL;1&y&|i1f57JCbt3ewboOmv+*!bjmTKxTZc)x^@X`Cy&o) zn1*$GV~^&`Pj{;xh2P)kG#cu-WXcz2R``$MV zIU0L6I*v}KO^?J2aJu*k5<6v5YUIoTkW&gc9s`eY=7-(UrL>Ed<#!Y)uTx7ab?c;R z_{U%S$@qRWyVK8?|3TrJlfELjGSR|9XZN&xl%gkzKv1^cf`da_AR?~!AN1>w0_AUt zbNWX`XV0ITxd3Y0%1_C~-2x6n1sle@0c+wm?}1Z4{QO}jV&o#j-Q>K3^+0A_RY+R) zH#9wqTqUEgcTgM$HduPy#h38C%|e4xG`v=_it>DZw|v`#M&Y9biY6nyBx1Cx{S;f& zm9EqM(?`F~1Q~B`J{J{@xGV^RANa*qjkYrT{j=$)5^L;!6)*dUZa27tFsa2X60`SX z-)~y%dD_Up3&u}RcS$z6*dvO1i(Z$1c=cIQ^q|r}%FV~o;Yg6MEePd6A8$fjY@lgB z`Ntb`yRB`)ds&AX!IQlW>hpl=2_JkU3k>ibP7(+W2`NLrSuF@$jNx+jcMX)pnf6t4 zjVJECyKE=(X;hc91282qWY^xz~bl-k3@y(yptes2Zd0SSSY+G-8x zw|)#sJm#Y+>osX_)R~lEmw^y~{q2690rNJk4zxTSW61iRg5J%nd8(FtT7B8NnMm2& zQ7e-)u(t=8uZsK+1V9s2ylGPicP!ISDL}7Q){{hU6MIf8NEuQRKIv2yy^eur=wwmbmj3N=u?h=%<9@g5w@xU1iKe>lFAPyLjWo~4}*VwO+NT7PSg-fhO8 z+FIG6pOOJFnVdMS)Q{B%H=vG2K%5LjmnLPOOkp1SkoE_)KboLtIs44tmOf5wu`)JA zs5a^jh@VNhwwZxPn3T#$J+7fN5jF)kX@?~#kB>xu7Kd=fyN+0EoQy9wN52PPlf9xY z;mzBSdYCesM8KWH`#dbee^Z2_)bcekHttuUkdk$@-WLcJV%26< z1RbKo`kLyjEuhZAMCgl4bUpV}Om{5qzM@b)K&tXA{xQrfkOLa5Dv@&GH?%-T{aKH1 zfh@TuJR$_{1!jvyNov2kOo+dx;kfG_nlINQ{ZKWSLPPn? ze`(E+7FcrYGL0~H0~4>#+gXZ!qGn2l{tr&C15<&R`>SJH`&6ito)xHALLqdJ<5am2 ze|O>;>0Z#=CNh`-(cOgJ+j7f29@R5aoTUoIz0$T|u$9dWq&=Nm%3bMTrzhhuA+i% z1Xx#2?~0JAP(RO7T@FbFQ?2NxpI!eKb8i_|RTs94TBxXil1i%}4WiN|-Q6u9-BMBu z1p(>qlJ4#n5RvX$boZj0wbmXB-}mfu?dzPqe|+EG`{S2^GS{4A%;y>Ra|edPdgh8% zw=BRcXmim@IZL=Y{ONYjHShcihHSQV_!LQ~syb1{YGZ=DA0-Sef)7^xnph;f1%ih_ zh)a=6nVMLg)9};b`TD?=mxa9w-Q5gR?Ijl{Ac96KF0Q(3m>SW6ydzeTJ=i@d^VD+2 z`i@?ZQ`+qx7fJk!cL~z?^9MRtCCa*n6;eI}Fv0eDp^&x`c2F%2p@PsQ7Z^@}V<*d; zHc;)8hy5o4Sq>O-}yI+I#4f% z2OUc60u1aZzY7aiv;)UZ(^4?@0z7(PVg;6m&~221##!F14TezH>m?(G15VRV;P<6TntjY-V?p%z2GB@EDYfN9QeFt|Mh zupOa zg+Y0zc{}-iDIepM@a>oba<;d($?=ut?;8NIE565MndKH3ZB7HWj(@^5u!ATrb~XTk z2>A9BpjY`H;sBwvh$>tgbcOjBOhErM>F;#9y+SqdgWn7IX}`jPvHM5m+`*lZC)t(GY7amO0HxR*6$l*{|59S0L+GePyPbxA1yyJ4^&Z;RgGfT zf*^>+3^>G6%tbrEOOjvu?@rW7$Tg#;Du7wGrht+*7p8f`NnaE-2g*Ld5Eg;1X=S6~ zG7laBc@7+H@g&RHdiXaWOi^xH>oc%VV?sk#O(1_S6lJlQxW$lG=T4i%g=?tB?$jhr zM#o!p)~Zg=3f!&W6wq(x!eu~#0(h2&fVC2@@^}HzE%CpUd}XKz+)62{G@0UYI@T%O z90f*2N?=Iu(pm$O04`tP+sow$7XvJ=((xI8L8Dh1m3rxy0DK_%(v=TPu--Ic#xw>e zU_5nqBas6s+NaE5bUlc6R5bTRm`LHzl20NdN#X=Av>YV~?BYSF~^ zUn~I3lotfa#vJjyQ0J7f*50C4>$dN-E2TIcRGSWI1Dya81X&Q@^(l>?(3A{xqUhw~ zAZ0`2*FxXa?)Unun9CDdskau_>{nHj)!NB&06DH(vw;&a>cfNsy_}X>fu1J|8_L*2 z_#QR`a7p?at?Y0^+?_ea95L_1&qI7wdRhz{{smkpW20J;%KM}(>qZ4B=(aXl!eZh8$sSY3>5Hjgo4qTvb+lxZA@x+;B>_{Jc9M+Ovk z*1Nu0%Jfw)Y4=dBhT-~j|FB8x04pGjT=-*ng)?)Jyq}6VDIe<9%=jLR8b&^$Ea-v8 z_<-e?!{xX8*>-<{ z4^e8;aY9bxY9nQ0bj@*Oleb?2ewR_v(ME=bzz)^q5bs{;qw4-zE8vp9WVHwqML;ma zQJyK=oMW#r8!iInFCna;<%(e`Jos#98}O-teOlg|k#Ix}k;@h^;Pd&tB*uF{2QJy> zD@u~6k*691HYVld<{?NzrLZ;wnx}8T-=>6>1l7@#w*z#0RNDfmm{|9WvoT5F^WG3# zdm9>{IBV~UiP;5uZF-UUH1zm%Zn}IcoaZiEfJls|Z0oL^2O1n%QRZN8yEWgt;=o=T z?$(e=ZABFWIA6aV!Hl9R&YzOTH+}s#oYJI2}yhfCP}wD&Uc73@;E&fp=WaVxd`8Wg&3eFBh|A9$l-9 z@=?Yx-3QvzyeZ?cd}IE{?Ye+Tf{Jy$c0I7n6t!|NSuBjZXt`vbgtbpP63 zXOvCoBKeRZQzl?tR7TG|Xk)p{45WI1$&8v}w%J5Rx&kEcj)`S})eUUc z)Cdwli68^1IspVG0XV<8i`czq&0>?_m&Fi1upwhm&W`sm-3QtgQKFMC-#wYE5@m!% z=rtBXV5V)sA^~C#HQ#4|0qKdHW=c>5n3-hv^hkk8hb$2iI7R2hRsAR=VyjXem>{(Sw!kL~!FLiNje$=!kUU8{M zsnC%|k;l%I&R~Ih{*PD0oJY#ilu^OkaRq}-q$g*ZB6FxmJ*0#&W)FtL_E#|xbrpf&;MBAt*@PFCUeMAGbq=0=QY#iiLqtHeaq6ePSxMr$1 zuz++1I!&0Ww7GKvicuClUJR^8#1A4C^)E^zlN7UMXbdg}g{Dd5jUq8Tnt{eG%tSBd zM>7}dlbJQ5IF?wFm0|8$*i$ zD9vr0{vCgHHP;}3FrLy~F+yxn%%*45b*Z5(fN2YSWSoF|jEni8r#Is*1qP6;W#Pw# zaMUjIcYg#b-Yb-_Bt(V!Mf!IU;DiTJ0G(9rG~{41o3Z7ugnZ=18;DP3+AU6@cc=&d z@E!=Q)UX;_!ifh{AQ1Ek99jH9OVk8n9a``BqnQZs`G28KOa07$nYe{Ajb-=Dss_fb z**`w;JJh?PsC1dd3}!BXl6t8;T=hkt5!Ign<`+up_FB}|w$xJ0c|B~(9f9WaeSny_AJAVnt(M5v;K{7;nlu#9KO zQ3;CgHBe4KGRK>vnx)H8V2weRdMm*y;08b`AVR_U83P?I{s0X;@V8{m2APs*-6}@L z#&ZBgw_+x$Qe41hqk1>*4M**EFr>ZTaFYpWoxf>#Qpf5iI8F|zL<*R=VPv~cRcT0l zO#oe&sQ*=gS(>cYsWyHLx+~=AO`zQYOGspGD)tAyR40f*?EzZ<2aYw=fhbnc^(Z+;KvKzvqC9KdAc ziUgJt>bM8^PvK#rZr=AM)tUxs`A>Smce0}ZTY*3WOstAPB( z2Hf!)FTs($hJiitb}6~=;{f}>Bz6esyZ!FobiiF2(Eq#9{lKPLw%;t^@WZcK7fBls zF?ocEEd1-{;5kulknqmRV#~*+<0(2@v``y{5eW54!vj={2E(Z_tZ{28(it1zK^x4l4VA7j#8ut^ z>g!fAe)@~h3?5xEMrM`&2-X6t{eDzFFT-vPBQ3B1yaICz^q0ycH zW`r;?g|LSev!&2YvqRDi1z<^M2I34>J9=PncaW= zQgeNwL$ks+zi60&sshgCQEqX69dq|UbAs~72PfA-G!W5JVS;!F-WVt{6OcDwTe|_i zpElohkLr^2gz^(^A7lR%V?8~av@k3U=9Ga6a-#fq1H`M$2EItt(^1bjbEfM zxPTi$Le)MyYB+kG;g}xKhQ{l=Kgdi z>0;adbPJI0v7R3M97kUC0=x39!hu$>Qq;<}4LxQS(nUb{CT)cpsKD5R`FvDXo+30R z&XlA|QKK~piphW}8F3}rJ<;0L-27a6O7ohl&$^JErDbYoReY=haLXBpx8rabFeK52 zDtgSJRzo7+wY?2k?usCcYjdw(y70bT0n_yBlDRM4NLU%*n6Cb{DglS2-e{%Fe^IEd zB6>9kFu>g!%_op}%f+SXXL9UmNXJr$=evsK;WG5mvYR12v<1}@(G{V3BG}AU5ujfS z#h9ijt|K{(meWCa3}W-}tpF8%$N*{a$K-#pfUAKzfBx;+a$}%r#vPWwh)w|q7ltHM zR8}dq&#Zze^%RN|4={~gpdnA|76%lVs=klrSpsK=c#lW_)kDgbG1-8vrimskC7H+njTpQMVwfegWynurS-2AtI0SW$>fjU55 z+f}fWf7Fiq520HhSj zPmTLW`O0s&6%H8Z8tiTH)@t2Pc8vZqtj3Oj&;b}ch)tpD%={I~n>0!5?0w5a+hEY)icWx}@e!O~8g_R^Q`ZCM z1b(^vKru^zjeC&K7~#cFuM1lSb}(111|z=sW&nJ3q(Fx9w1v5aQ=rw-v=mi1R6acA>IyfBN;|N9}>LDDwqWxZPSWHLu?6*x>(B;hI7wS0H8}0OVy@xp~XNS_@~n z$s#}=)lZ>>J2Rjz0ks+auisEm1!f!-hZz#8_XIg;qg8cviu~jr1_M<;&65C=J7JJ_ z_VTEW+Nb&d>iwP&dcFM4^Hq2d1C1~_{HzS<@CzL)dwV`(KJ-t?% zpO8ToY8n3BH4re#7&8yYC$=3|2s8k8w_pu_vJ1EGvavRGMteeNWK0IMohMT0#~*XS zpw;s;V5Cn(=ttf|@|OeODwKx~nk~J-PLUaknJbCU7|*@4Q8eyU+NcJeq1@T4??D=Q zH9jiSpo&yJLw#Bs9hAxXr!nq-y2FQg#T6At008F)(tJL-9Q4ZO_36^#3UOJQ?*r8J zskey5!yR&khu`hkJ-`W?exi!%B`d$rZ42Ol39{l-;kapy3hA&Xy#=7W1Mn$+gD*dG zS!v@iVih<{OXvjyU4}gMFOhY2!2Nm9BIT?epFn#8rVuE|;vUb|i}m=H&2~qkjC>a4{kvI@yXL?Gw>mqa9#Q^asL;c$wKNMlv5&bdfR67i22jsoE9~olXT8^jwe-=Oce~h@B9SBD)r9ABfAwCzjiUtKaPDq#dK`4m21JQRBT?q`2XG{R# z$C%Rf6EqCw0>!EA6;{+l8WV4}UkOA$OW2K(-E>_RdW!=uwNMS1Qa3aOk=FL6JajY1vs)}?eiLCu-2SfEhNVAhn+SUjkXX;D5)1PrleLBd9w_OJ~ zPEJ~g2&AR-0dr0yj{6@fWX^tZ!MfG&8T|v<5up_H)H^dP&wgFP7HXKD`^k9Kj2lds ztJ171&LmO6)Gk#Mqdw;6Arz+eC2VB{7a>rkt;61w-KHCf52w;n3Oww!!Y+hKPL)C~ zDJiTl`xkL&1}mRQH+NxOk?*f0UJd{5w_9JLgy~7|e=3^HM|7}1Ksb5PhA72fQ_KyG zjj^`bJ^-7bfYoNuzw;y<{tdu61|V{(Hwe%Cd?-ERIWdP__y%y$HQ2wq2Z|^%LQCPs z44Tke;_K;(;{SRcrZhx1b!&p|nY;M|4Di+(hdNPGPTPmeF>G^bFEEmPn+D=^wH9}B4zHwpWui~fSXKZN4TOkgOjPhH6_kl`g0FZN zuu}sF=#N4owJ#B!1xHaB31jE!`IW%oz368|2d?J?n}#-5SGYDkU@qrN=loJyt(%R~ zNZwln59U#7MTX{nh;%PRdQ>=F2zap1X z!H9Oro2Or@TPeSj+njb;bDvU8L&F7Vr0_hE``Ahlk&V}r#Q?T434lor;Dtp+J)`}m zR79Ty0c!OvH&=`0oX%m8M;kGhy*LA^W4H!*#R7xMTCLjr*{)uO0-Vnv227C&x$eMe zvG2P0-_-bNQNrVQX^@Y&J83i`hB z!;$ zaZ|%IMFgP|tPki~uNp@C1+(jl zlE4_pvcrCK)06yQ?PpRC4dewS?K}4-8nmg3rr3>;Fn>wWVeOKyPDeXTO-;;MpE&>? zv+MEL`v6Btbp2B>!Y{CXfEzVxqiB%6E-X{QVGNWWDEQ+iP$f zIZ@{T`is5$`GQ*MKRzOCW!D*CI zabBkhUj9Zc+7Sa)JX?2(NmfE}T%OWd{jv6G%PD%4m$T;05 zWEUExy#e=hL5`iA@UfIPUVL*QFxILy<$8c{(2KOwjJ0&cVi`Us*hY6+SvI-Bfrc-u6R7q;i&4}yk*H0s{QFIslAH&73E$hdcA%*MQ^_f* zQ(?J!i_z_2O=ss$09_W^Ow%kEJwdy*O(Abq)QZpZSmjI_d18Ic2}UxiBXti1$X+6p zi5WJRk0=#VKG8-9={hd0_O4mWi<@Q(JfvP3wQfKF9v~DgCURvCv!ajEBV;<;g;q5h zv#uz!l9Sa{4&3&%rC%M1 zQo*9kw;26}(cvVINKOalq)FV{3)7;UQxIb6iKk&5B3WnhIC=WQ!Y}V5$lN_-1>Z)D zjBU$?Kj4$!fxe)xn}9bz^kYm^>YFv{jW=a>CpT$omvy*hvQXnOFSWU5ym^)1&&Q*1 z?xq;G&J@q)xCN-LEe)|jTLbInqwbqUsE z>$flj@R*&fGkVo&y-(wd^1i8aCZ)AZ;=5?oJAE!KZt52tlVVxVeS7z}g^f|+OBYyf zElIKj_5;RmPlW zTNz>EvmT5FtdEpA{&iNO^~7}<+mVVbo1bPuA~1fAReu@akEoZ&Q*g5X6AdA zNTqv&Ar;Q5X{@}tZX@4{3WOML&WKcAL?~vj6BmVXHoFJ9soTm#-{E^>xf0N*yE-#2 z>akSNl^vkut4XD7(z(8}jokEjM9KxBM;TA5WfVP`p}3Fz9a1a?KkR*xF*x?4McuYq zWSa3(SNmN@-k7?&`U3%)k~F@o>X~74F!P4u7utqOyypnfd1%}0ZW_RH=C>?kgeSiq zF}EX@W^L<-c&a?J#9-)A`<(L}}52DqF#564sq zRT^%k3;_s+f$X%(O%BdgNNS)fw)geNb<7CM3@fUy@Z7P@8W3gs0JbvWh9*(M^!;Xi;Zmu#cYes9U8-E?Mwl{SQCg zXD56u)4h79`O@p`w5o`Wyn638UtVINZ+&Jd?jDsPB$pC}M?_gFQzNQs-dFZ)>`}Yv zw#D@M=A%ln3d+(+(fIRn7L2%Q4ujMLe&1bVW*CX-{9Y~_8Hyx7{A8b4D53!AQSY&2rDCb;R*H(xnb!lPGQGuqlK8%HZ?k;QpmV6|&XP+Qn!9T^? z-=CHbawVhtS>u=0W+I6;lP^Ne7PlfqVl0URfzVix1){1hAx%}%qs+ek)Gif{@z&;Z z58ZLJv|=(KFu|<6#mX7B%FETA5^;q?bHvsiLO3-V78mEdydDO!fR{wou(fZ|==1^f zB@~#2Y#d5x@|`jXbbZ9oIUe&aF$(cCSlLbETYIX-HFr(4bt2;1)98o##vn$3VW}@N zv#N`cmVbNcGe|`RI&k5N#zu2$D-TsI%HEKS8l7B6kDn_H-`yD?AUno}HC-jiu>801Wgl4B1x zG-dkX?T&d%jVReeeV#*Y<&LI=&48>*Lz}iczk0v)QM<A!(d!tCdMSzdw@c)9uDsFeSMxBhsO>+>-klA zpjCeMutli(&!%E)(`D9B2Ulm5@=K-IJQ+54LNiZNbx%PJFtHAMZYsdc66LoQqO#(U zCn;`Re0fKVF{+#m`iKITGjR6x{mR&3ViH{^wRHLJhRcg@ta)B#z)*r!Ka4~a=&2;A zklWARdTq+>TV3tAY_**Jn%GC&`wWcAZqnL(;6YsB3Y@xXSMs^gweo6|_Y<4Eg3?k% z{@8N=kXhJIJZHLFV-`C(C3_5jot6EL*sh&hIHBr3`7>5Xx)O ze3<(1^^*Yi0+$^&7?Wh0$ju9%bUxy`P!H!r2CF!^3bv6auR5s|*7H&}GnaVpGJ)*c zqtsNoqtQ{c)UJlhpVh^b{9PV_c@{0H?3K5OFR_vbSE*fAh3ZX-JhCpkloVCn!C?k; z#EGEp&=?AT3sEh~=O{WgVE{6R8uInGR!)PA?%^^i$J?l&Bq7*<%A|0+0A3x@6>vu! zyz2@Z(~9yaoFSkW&aw=yY;ly{pwF{>?hFsI{ptfa4rEDuZ|v{=^t_+C&pT7^=K{I- zishk)R2_d!A^-KvpxfKUk7{yDsixi&oZIrziLxj(ZYoO4$^(^Gg-Rxm_{-p$)3I&y zI`?k-$^cwCS44_)fHJz)B)L$rPP4qDOisux-3jmUDiHs%Ldw z;dz2ZDU#oXA1EM)o?Q&#)V)rMMoMPmiP3`SH+@n1 zz%AZMY(LkCvG@s)*5REteg3$PwlV}!Xu&m*x4Bi`nB~L9YkrZ&{pm9T6~EjUl<$=J zIq5*KU1x(H9f0mN(c^Hs)PK^&PXQ^4Fm5HzAf6DO?g|Y;CJOJSdWzz>sc%;7d_1OQO|8F4n3-V{+qrUv@2g#4^=q>buX~$5A&9I^S!Kxwd~@+t z(4A9?Aogv?=x&j;eSUpyjyDeDbmxU1xTslJ?)vso&lF=SOQ$zl7RFcrB(zTRy)6;Z z){zR!%Y2NBM$_k8FRp?w7%L1yY{wC8VgUF8AgrDN_ zNtbik#&>azC|;@J@0%&z*W$l}Bm6b?N1Dm>3qL}g_M9g%l8YkK-+!~1OtTOY;M!h3 zW*MxZ5TP9WPH%=Uzb|sjWRJ=7X*wWxNHsU-WncEh<-w9kpGK25=|Zb6j&ki}lJa01 zYpVUuq!`7<^S3mnO4E({r{gJhba#%tiuc!jkH^=vyBXFY9bXi zU)=RwW!R^jZ*Q_SPF_-=Al}9?e`djYBE=$(gQNRkT`$=1UO;&q;Ruf-kYBOP(*-)AeG@_L;1B>rMEQLv( zA6oSkXG5^$^<(1@p2PLQj*WMdvC^mFN^f^%+^>d%DvmZWVshvqyF3B(^ZtL{6$pWWzk%8PTN3+TYXML#VTLPU!3-W=QXnTJQ~^= z>Ew~4}WA)rE(tXT+gB5>U=PP0$p01-1$C?ejc5<}bQFRz*k{foELQL@4rXn)G zsQ$#43SQjQ<%==X?GuKenTNB>kh<&hV+9|G&nZYUNjOP+IN}cTOF1#E2XHxDRE!R= zT&2cI=PRc38C={h(Ct|$b|XOE8VF+QO>o$>gS~ua0z41hGHQ>GM~d3q>J7T@k5DQz~JTq3uDMM8r zw`3(#W$k#G04!!rxq0ft&B_qjesaEeXPa28;C4TI2CCAtcd6kMr-1?R-PTVe1rQZ& zTT@0`S&lhtKciz~?Rw3F0+w@}>EhjBN2>R0s=B;Yw8N|gt)-$QJ9Or^+IH*Y$i{#1 z^10VpF^u4&2P$|Tu_?rT*2|gSsgU#(qh4`KWOz~&aNHy$s$)RQewXC<=B0anVvoM5 z#;M|5opFoqR2ELICouaG-`d)e%-+cduD~}cv}XfU=cx);^dIgxpb2bXL09SYw}!THxeNl2FBAox=9tJ?B7mSJ|;?lajBpEgo_eeIQd?s zM6B3;^VES~A`qQ?YT1|DmDQXIPLP}nTgO%`S>A)1-TZi-)|4mElNGZrE35V54=pc` ztGnErPXSw~Nx>j(cp!MUkpS@;jbF9>s!zkN_t0plVNg!wGq8<}RPRvpkR)2IV zdm@{JJlc=Vr;ugix=wJ6VVW^pagGZp*QwIRzgR$@?r}txuS;p{f+@XV0>q_B<&C>F zoq~)Miz1_iLyoX!$)TaDci#`AwszQ}V@zB0NZpyL_p09DV*ABH&C$~OxDSMs60=vP zn)l&_GT3hEidp#aNf^rY`_a15YIoC8phe5K7<(Hw2#xSxF&dHNx<48X6UkpXP)+Ai zO4D`K^W#0xUNkXAEXwaLu%titRxRU|@P+J_Bsp%cNu-%ppQ|o;oKNYFf9x!(*3;U{ zJ;J&qUk^076s2M#Y^$rXeDhGhX{Eg>$>K>35_dhb>E^p?mlLwb38lZZC_{IYTCZMz zrMc>XCRK=^&K9D3Y@ap{^Vq@Ns;fr=nrZDJA!mJh7wQGwmBP${f~%_xbu57@u~|L+ zo*fx=o>Z;4%X?Z>j9-qHV-SgT6P;Ui2@pNl?FB zB57fV7P!K*DaXd0^6}Two^t~PF$GTMy#n_yyZfC!dL)g;AP)z(RfD?k+3hoku@5(> z6KoWd2R*;CBZFLU!!LI-uw?Xg$wXiNvL_>xQZnwk^Xk&5N&sFuto`-%SDE-X#X6Um zrPk=Zeyd}xIuoZzvxqZ7^kTN%_ZdrN`&$~LPv12XmK%vP?L3M;ghyMc)Q9k_yc2)4 zfu$kI_r-Cyt7kQisqyoGp6`V_JS1_bE?K5!*dty+L)tvLmSH5ewSjM=**@e7#;jYO z7*Y-mYs!)pf*%;_o#*d&nRul7(EAn3ikD(591k+?uVvjSJj=CiFaI$ob|F}7F1xfp zlwq`c>~WPMUQvYc_1?Yr3GLWX8=#dIC6!rD|0KP{QsjC?!d+ioP(OSz8E+G|$0pWh zcyi&0_`TQI_%2!Jwt~!~;5)O0Z4f&O72#-|&QDj&9UFSh6jsSL`FK^-{W+<2dTW2a zIX08>dpsG9mt|kuC7F~q3W4K|GcqDT-0X&W@IBGb=I?r(mi*=PP0i20J+yo2I&_aKR&uyz0`Or8|^mlVLT#>$)5J@wxmvjtdp} zPBSLzLpXkYqSVrWuhVv|aqU$F)n;t21=%_F-1CjfF;cGDqHS4~0P3~!$Jj=1ZO!+B z2DjIgRCmcz+(od&>*@q3u+{JC>hkM8)PsB*t#N_R-S17n{N<4-Jre5qW0zW6iSP?N z&LpfZ5_2nbVuq_R=1_Slrt>UjR#1^F@ssCZ7EP>E&z|Jn)@ErxtT1=;^UHp1edckr zn`l=vXz5q^kPhecM9x9RJR)t!%|6C0_AJ+#wKHJW*(V!5Dfn&R_nqaI!zI^2uz@m8?5mG8)<0 zm4%M^nqmI=y+B+NEA@lVRdUvY?}=n_0Of+m zNv^;-pPQwHQ9EAGm=y)0YO-HzCbQOhQ9GZ+D}7!!*QWPl%RFJxz_&o|?fdXAB{6;z z-?DmrBgWFm(-rLcICr&>mu(2vgvI$qvMn@*l-Dnu(u#+e*;jwled!S&+MLkk=kgze zd#%Y<*RF4Y$ltkz)mXV!JdRT0^of3bGJ&C6I8aG44qjz_I$^nVd`gNC_LVwVS_kjX{F z4$Foa>JxY&NW~rA=#49(>oy;anr~@gYvW$ts>YJ3sQI8(QS*MhoTMfRO_f+XqK+=# zEOn~3InCcavg&&5*N$T-3=KHuhzVv0xKO$(`y z<&y&5^3H;SUdfBJlTxn?qTnJ+Fxo#Nnb6K=Jf05ZqR3I=X!A|3oswSGMlJJ_4=ssf zW+=Msk5A%4sw`jIw8$9_JbwjL*^3hX=pFWt#=LdU!k*mbFN?#1ydo`A@H$ls^#?hh z!Jhg1^<$BL{-0ld@xS-=S{Mv|PfL2|uMzWq@S9D#>D9}C4Qa>5WX#n@e?KOdO>@b| z%7mel?_s{pCl}j8uDSK){bXw@4}(}6cfWD%miT%|j=CK0YF?yrLNh1L%ysX3lF`YZH?JMJ>vN&W{CUb0*W;Xp=cg zT<6tkYiGLC-;>KP*gj;FR83~Zm}B76$CeXHcfQ#zbq{H5;!twDYzyHHFS1!RH4fxG zxo24QO3`De(P{1zJcxwL@rY7Z#(8rs2Dj=w^GTxpCRSzX-i-HBAGc^5^;nsGXz5a4 zlgm{>EOq@(_R?9TNn=YxCwChGJA|Py9!ue@6CS+3J&V9Bb3M4R!?-yY9@U8rM^gXO2_yP)g%9*&| zw(zL&&p|Kcn`7_!&cS1GLa>zaLi`9)nZ#SYmbMQ&FvzNk37n)dp1v`$S#KG%yCf~j z)n61BqdK#?{`eIyKHJ=Q|5ofx%~BB;K?D3GE<5S@lnzt2OiC59sm=A+I*lpPx@hV} z%*;I)KBN4;d(!8w*ns}#pT8c`(5UJ-Nw?|=S;NhS8g-6eBZK3ZnjTl-xY($P4$+L{ zVjM6j8rL)o*)H04WVhcRebmU>YKcy~Aa)dL@dTD&!#()3hlsMVLX-)4w*5B3sT*Zd)f5R!0xWStyI4XP7r|FHy3vAiBDn z&yTHZ-kY0@kqNOpbP=ghdKCQ4$?sf+*luJnoYduHof({v_35naV|N)fmijiF|zYMFY3i-bD5CW4HAdUy~2eF~KQF47k;dhOPx-%3)vh1vxh&nH6L$Tr08guRr$~ zDOjczh89s>teVz5upYYtik+5)HZxWto1;cbN!}vl+32`&2nRf}(HFLH+fr@7f4Glu zDh-VZpV7Wr`>vHrbzFD-w?uaYyZGz+UC!6?wG%%ZmY+K;EgmvWc>HR?mRRje83)^g z7dvlG)%U93*{bKDE8 zIMNqa{g~LeN(Vs;uHe<8)Y=jv%b}gb`1#Tj9bc!LI<{xDov7yR9M;!&tiy zSS#(SHdoOJ#`odRd`ppXnEs0yp-n%)Sl9m;vpLzm*xgsZQ%4x2^sa1Tm{TdYAEF(fvt$ySwE&yyxF=a8@jzO1JB@ozkqe zrS-3JvTtnYNI47{{s`Jd&esI(*r8bcTj7NFZdk^5K#*r#yA9>T<4uJ4vsVE`$fKUO z!^V9R2oD$Ul_7q}QM17`A$hw{U8gsJuG?-#eM1<{)aqAVBxix+nN#y+fO#>NBx9q+ zm8c}2MwLZvm8;d9!IWi_+vP7VY=^NsaYvi2%?-wj8SbZ(R0ZU179+MD6DRXC_q>;4 zDyxt!_e=@fE?8CljJi`ND6B^tFGt6M?hnwzgMvoXw63z+vtxrQ617~fW`tzl9}tDutPAnA$Ouv1uU=`Z1Ss~?e}vGZCsfSJxYANx||I`{;~tgxfKz6qd5rGU?k%)@)S8s z^NM&~g5B|GA7KHNl1X4*@)IR1f7r=rWZ8r4Ag=r{uB<5i{23fjm{o zJbo2q9MX6y)VlUS!qf%N5*2-Z8g)!fuw?8?tZkp5AODWe~A#<4+cB1q%KZ26g8*zM<?o9cr4r_N}sjXaniu z`gO*F?IUjI{4-bRMyfJBj=Y1?EG_AASymQe|CzO%shF8oxW9Av)D0zl$J{(^NN2zO zlKY}|L;)hLJ%I0Q-s>B6xsS=Gk9cfcZF%YOe(o%-TvXFdcF3Cn1S_woZ11BtowYM{ zZ8IGv7NtJyk2mO+wdcU&#>XMCuUyy0a46TIGMC4!=0k+Tl`Wr5e!ywLM%}TB3x#K@*jI(rcjSjOFO^Vd zu?kM`Znwmb!>LQ46=c>c?GD@+$sG=D@#>X{_BML8NH}y!*C@avkQJ=^X_1-E{?8A7 z9rM>t=usIvo83$#NU$Y1OnYKksy#=vTmL*7^;a*~32V>PoNN;E{4UkP$8#tpSs%SP zkmhiY!JIpoz&tD6YJBTkmr6y<8-m`wsu-8ZU^hMK!i2}=k}(i^#W5^;%hOk(&RTme zuk8aD>IZ34)eOtcHL<;-@@;yf2({m$Gu_^}MZ#%cVoBmz^te-sr+Rl`OVVc0ujD7& zih;s+P1RU2`+=MH+&o5dY#98G28yvr8wj_w+{&}0oWq2NWapADw*nK2Lz~E?bV@tg zun;aw=uxP$w{% zg@iuCnPCo=CONi}l;IxElC9>NJyCd-cJy$ElHujdkH8dHsu_n7=D9h8T^@Majkb?Z zEGfEFv7{rHANdhB38|!rP$now8%tWge)jW?m*n^$ZYM4i)h*$gpDo;m*mxG&zc<@; z)rhXv_>kfSQTGKkYCfO)*?-lq-_q6=fUcY^LFD$nzjIi$tC!&cS8o z?iMYVWnmNV&$MarV*4+sE=KA+KnY0)G(fShP^ahgu^PD)zBCTv%2r!pslLr%^Sift zhIV+ys+G!u+iq^a-Qca3bVg{fT$=8~Ve&1L>|%F^-rGNXUWNt1Gnw3THOHx8U!;od zo00H2%}zJ%iqEA55{KRE+Oybrqf(-RuUpq2>D_q{;7-nyseBZFAbxM=XyK{W!+l%L z3~BD;OR5G|yWpfm^Qwt?Q)O!AhcNoLcV^!$z>5*K71oe8M z0V64=$oN5&v|ns)vd~`4-X4RalwXL5M&8q-pyDYXba5(DKB&$t?>=UV3eBS@`V3+n zH1Lgb^RtIZoZkC^aI|7^F^?{A2X1JPpbk+|7s<_&&s}$FjZKOon{sFA{e&JN80*v< z!euyxEsP*%E@IG}{6a3U5soaEJ#&I#Yu#PpGfzd}Hu>EgYhcv=w)%6&m_+2C%lZ9| zSR3*CgN2u#gkRPD&=QVoS>MU~F`MZ3gSVWy?6FDvM|}LyArkW@18BCk8fd6xz%zq>9Era5Ux@f@|BtU=w32woHy9EvIB)CIxclQKq2<{HS z-Mt$L?(PuW-KEjFO}=lYYHHrpRK0mK{g3MErq8|moW1s1Ywrts^(Hl!vB9pYQiW3E zeX>oo;Mma(aW33RI-~=;ZPzyvBTA_bAJiEaif4g1+9;k4qicebH;?)xi} zt8frKtPk2FS%;tFD@$6N?b+1-V8Qm9R6)YZ=Ql-Dg5kE$p9_*z-Xfk}TW8FxTcWEjgB z2|6^E%%k!6j`ckZ)~LF};@9xk0z_G&4TmqaP~Vccy_eP%X>!F!F$T{1PW=bMw4{sk zy+hly&sC`$Czn?T;>fMH0nrv2aYbgs}JZYR!TBmF__KzrV>d{uOOC zq>9(!((d-UaGdti59dWcY$VOWWgQQbiNG5Gf`OC>u3! zsI73g5hapmj(7gNC#4eFK2+Go*~CF*xElGHG$TAE12tPi2zB%OI~(_?Jd6)fQm{F7 zUy1}VKm4c-S$K|eCaFF*$~gX$&~0Zbgt1lZT72s?!k<*3_PbA1^^s8U+m^AO_c4gX zjzU#v>OGiN?KQ6m+JMI!@Bs-*=f3Q$bK})}^ zSr#%@)|x?&6=qg{6c`udjP9K=!|Go-9cuG0iFytUReVPL3KiJhAvr~F&wSqtcgYuZ z97%H$yk|*p_s*G4bzX`+PKe;u$vtW}BYwH>$Mgv+I5p$;ApHK&8T0Feq=B1EGE)|Q zGK=tK@_K?#6#+Gyu8W*Kb!4e7n(kx)JhbHg>Ji|WCVvDQqMz^_@99Vxe?GY$1^?7( z)BRY6Pxr8j)uKx4)-$KTp=nkTAi=}6fbJ{V-D82j_!tK5B6K$?-QDB&I?e$7a;@}p zQSqNd`D(7_HKEdq>A>zNOP7|PHxT&YV{UM&M_bTN9W6TuwE~Skb__ZuVt%5Tb1NP& zvT*~XFR$Be(z>sW?KDVqgP^Eu3wFrOfR7t1jX)AbenTY{9m_S0GW#Oc>I;Lh5cSPO zE6>~clFAzkPstnEeQ*o!A=7-b+7f6|lp;MXc=pmLEXmYN9DA(s173J2J6ggY=CxgT zm&Bw%Xk*XyL_RIgmX!{X-Qwr1LbV01Jo#EdVu*JS|EM?96QfytkyrQl(0B7uKded9^2BQH zd&&XsKbk9F-9wTpi~}w{H2YY+9<0~M}aHgsH!ZO904mm%NwBT5-e7< z_y;a)uTe}H-m(<-4=dv8MK=bd5x@x<&GZ!WnqkF2!YTK zu`hp)U3}-7=zvh%drtK~w2iP~45e)xHrz#}lV=XVVl5qr3AhjW!pEaFLBEV9>B*Wr zu3L5X#wt0PotUIPk9|OA--r*5(T>d>HcIsI&r9&g9Ss0kk6&N3`m(7{)|vmlGSf-~ z;^JB7_aMYSqCZ8rB6dhf#V%D>wX7{-!VJ{j1vk!E)Z|F<$1xc(y}=koHhjH1RXT9% zmq><0hX{84^W1#f^SfA{uVmiLu`Z_!#c|O0agKv_gLK@-{gz=wu?^IW-?sq-f#DO_ z^l}v=AT|{;Q8VlO^1X^$m+vp9vAOOZi*8ezy_%f#^1*SA<8SBL(9|&I?RTC#8v3;GKg5Ru(@G zxX|5GDWvN$jb#ZHLPKSGw7_hKO_XF&oan^~=}%=6#yK)Xkl<9}x<}S!L^R)Vd>6)793=5^ z<>PGxdDLXFCk8>AlVDzng7;&EWUyLV$=dT~@s*^{s6i@xV3 ziTbBRXd;U+gZ0~7k%>@!*MKwWfv#LGg&s=^=emZK8Tv2@+6-Id+7$B+IPM$cmP6Zp zN1U+h5=r`2j&05KW7y7ptTuJ^NC_R{Dr{2B2yJ4)F#pywc8bbbi;TAX#*7SsuePzp zhxF=(Eu;02{{aWLN6V~J{$19b4Q_HIJG7Li?z@iaW<5BwW7 zMc^&i>wmGf_3xkjPpM`<*oV>|?)GQ5!lmLh?V#5Hfv#myw$UF?#CuZ@c!hRXoOLP< zf@&|~%5pKgQoPJmE8X%pbYCCFV;k!Y;0EnBLd)tDWrlIJRr&FQ`ab=21zEdx^t88= zDiKV2tS~S@U!I4T3)C#*RWzNKsv}9E({1OZBTi2Amp3EJ`%1j0Kw+^UJ7F$X*2_<` zA=JeAMC0l8#6waC!dNUUoTBK%Cil%?2A;cZQa9KC=wp{tGYYcYXP>sxcy9avttqzE zV~k24{dUo=T?VFV=s{Et9QJ3J79K9=t*&hEyIFMHYyoc6(VVdd5X%mm4X;`r?yYep zW@3nD4qrOEyLL(8`ch9%GhpB*FUGDjL5JMAoDYk$Mk=-gOYde4u~OU@0n)d;`;xbM zO>HZcduM9?qSX2pstQm>mY3ws0kN(x?5Ys2^kAw+1JD(~3JOVI ziuA{43KTxo6zDHiYSfu3q$wSFF<|v0?}BwkvW&ZsSX#!a@+KL28lh*G*gPG%>d1>O z{S0;cwT5nPY(vkvFQzLP01{lsWy5iLCLq=D;NdV+gr9H2L1!hc_sVl?9)!sgPMGTR z+}8UQTMpZXE69z0Gm z0(900vA37Rx}4o^qOn8JB%-@YKofk~Y4WGPo1ldfbCt(ZwTBfK__s+>*pq;G3Q;YS zGdwdHA)YMD#&Per2b7C#*OREL2SB-!il?8vgn1=Bg)eeK#2JpOrwYt1P=!IFD^$t>eAHHpY2wktDdy zyAq3p#Z7vB0BC#^3N6*Odgwm}9vaTJv}_Jt^=0`lwn@XOH(Qz3{1a6)-DZJ%rl~MV z9O?(J@a|50%yGhpEt4t#3cZT=v4lfw|NUB$8D=-WV>N4-Mrq4v?oC}dKQ*too0uS1 zg{8OPeL$F0cV<%<;0T-gO>sGpp0f9}wmD1~nS+5-flf@%_xJ+m7>F`9f|Wb_uAPtV zF1zQZi{IG|2tVN?3l6A1oKWTI0Ae5d8;kBEkK2*k!*tqYHRRF&uTy#*M)qbz^YT`B$YzYA}IrXP}m1;%+Y{>2R|$Mx51I7=EfF^pVFAS*0E=Y6$l@F2TX}{NGq&| z?*#D<*qr{(s)Ro_lto8KX)bzy^e|Nh!<+6(;2s%#)LIV8OFKswZB0sA(Kt*Xo)vfe z|UQ%(;608po@=08e~;r z4#gS+vYFcnW%l=F`6pLHd4|uQ=Ob~E+BSR09HBf;6ZI^^k%s0gJmH^rx4k@XC`h^8bBhnsQW7a>u&Dcij11#QLg>EKua5O+3nUQQb~vN3@Cq`6;;9F^KQ^hi zM!0&cqmjxqL=1Y5y7Etk@p+5Y`v~m{G1Uc5630jh$_TIBbq;bYaGf}rK8LHSqt!mu z_PnojfL7y-TQ{ua0*1%~`AxTcO;sK=f|}q3B@{jn;e_Ij&PZ-c9($ufc2u-}^-RpM z)J3~)KR{St2K3Ca6Jzykpr0`tB3VLeOTrH90xy zbnv&+47gFDGEeH)7m**pZ8C~9fpMGP!X&|B&XhfgkaLAG7Y$ z?YEpvgV;0R4bS>Dmkh%N%w+UhnZyX1Q1reQE&;-|^FUCyR3KBC-&GtfU?gO76za}= zIpOkfbJardka{#nPaXN{w_xy%uEQ(|;+gG*p^9|!={`(#9tp@s=9Q9{ptX=g;sOKG zG%GJ5QpzX;3K}jXbOJKNk^NhzH{&&to+q@spGAA@XT2b6Q8G5n>;TB$_oU~!RILCb z#cDBMn>gAL_W53sik7|I$^TlavpkIDmv-+v1z>TUkI!pAwmHwSz}1mVgxO z?a{aMfH)dpG&7Xj=UDLD1h!4S`i+r5tY*9WzbuH414`pey|w7a#K?#JKG5QjrrfsTGw zWxCO8E6D!M$ogxeMn(mo&qcBagNwB&mx@hf4FD*y;E$=>fCDNqjM(%`m6dot>L_a$SwfNtUc=@Mp7rc=a@wZCJq5*}8&$15L4nYS44uYpIx955}(g9N-eq!L0OdS6+u7AQTmdQ#frSx&T6GvNozizS4Emo z^R_>&2M=hC1zatu+|GQP`9LQj_ifys^>S?rw@U_oM;C(`4scBaxS1LC@>AM^%$=1zM;nb zWxl`jg>d+R`?VL_M6@hU^tSr0?^5lQQ^?*?ZU2{09;QUE?_G7MJgNi-&3k`*?5#}1 z>lSUsgYrTeuJ4e}Pe*)Fp-}R*dkF4Wv_e{?8K5=UjvB^4T*r)y5ptWg&RgGdIc2ZL z;aMT(!3f1?-%0;z!9pqlCj;@?=a@&cQyJjm!ptydlTmfE3KKKriFwRdC9u?Gf@ViWF0$1tA8hmLeTnG^h+%KYGGAJJb3 zs=TqBsTBqRV7BI0YNJ7K)PKx#HB$yN|AoM~AV)K1&=u!MKMj48^gQksfHPP)FsR;d z+L0vYZe8-;eYR!y{@|y(-AcLldO>FSeW=op!o-d{pNBm>l2?6ov-FQavzGs=4o&xn-pViBlcX&2N*L*0%1x07?(`pQIIkI*7u! zz?+pci1cz2<+r6TKP|Y|t-mDj2`GdI5!5fOa~~xFsDM@KHk`A5_;J7dzII-112FjD zt}I|sfL+|kXY)6{<-I{&0Zv+p*GyVMED@^udgR*l6=n>>E)on^*gRx0Ea(DC{}x90 zw6MybVxc_pPBl%9+m%uv)Oi)^FVpl|Wsucfo54Wod%&>;xf93 z{F;bw_4N|JGFYNsxU;s&C(BZT>?_Yjc042EP*8OMfQxM&KCda}{f7KfA(wU@>GDgq zie$A1kY9Ana#mu!YK`k*FTbQACvZGS`8AD@!CY;|=_mTBJ~uap84sC4l5G4%(U?Tek7OcqRyOGWb!YJn>$1@65)r z-+NQ@))W(0w>7asci4Mx5GYc-fL$mbGcm2ip=mzKDy>oBPrdS^sd06Qu6D7bnyf}Y z*z@lE$#D216di_-hyB+WWFXi*R!e}-zQyxyR3sSi&^*8$(Wym+74PtJ3Kl_>-soE< zkp>{V9^)9UjLO|fdYV4={7s-I}o=IK8f6#;}*mv zJ#brTR{)(r0ZHKcuBP4s)PMl4Y6V(GqY29`uG4rkJFy;YXutmIcNa>)5&}%9HIVnO z&d3pXIg3+2GYOhn7%t@~TT%upDqq|-9c`CNbv z-tsLTcpBKi+0XaHmAZu!!QeSz4~z>FBoB*q?kgf2m@(FvbV7jkjd+4*KnOJ~aLUo- zH=g}II9-e)Cz|%wG&02LVlHWiA<;R@_@7pEu!9u9%Ts!;hy1JGEt8*ptnvm9^CF(e zF{KOg!1JRzh0mcih%lfG@6WZBe6J!oz$Nz-}kemvl_;V`8H zs?f_p?aXHr(lQS<|jC28IWS!5!9`?BQ+f6fF zLQHyP@7>*9GLH9n*+#=$r{Ojyfd+wEm)NY%4?L!byRwp?u+=F%tI96pM#d^HHP0D! zpqolX)BVD^*)zZPK%Ap!ejkXq1aHs@AnJ*ej79_y)TcLq_Gj{r0J(57vVgE5cQ-y1 zfby{>I+OU`8yl#L+-jk>X7chA*VRop;ouFXrDX zCisiaxLmP}KJ0c`A+wewj`T7JM0kOt;hBVv#Vuy?Y}4msvUhq@z+g$bF^yq%Kz4lo z`wk+Xuu(TT!vZ|OEk0&f3FbToC7lXzc*u~VeVy2d&!4Hye%+t1hbEEJqDm~k$4bzA zK3KPSBN?7HcMWuMdG5<|+eoDr#lf&V;TT(2O19^{I4itNOrhga?h0qQ(Q$oN<{SB-T3mBOdmsDEKrW9LS%~3qV zbB1%v61U~FW;zo&*X`7+a44rD14`Hrxa9h&8C(YaCRxwO)#)D#VTay~OFq!d;1qf9 z1Qf_HPw_m6(4%LVp;v91IZ>9&Fod1UaTf+Qo%hE%FGw z>&Ppyq7u34RG#ZD{1=pJ-#HPyw3N&J5KL@e3>od4ew~w#% zPj?ltvL^CFRx5*tZg)cK?ka)m%u7;h{A|1X^JUC9VCr9v<%iI6#iggr1KkJe@+KK1;{bDl3Pz|wCh+GoaWe-0qo9#N%UQ{&K!%~kftri&7w*@Tgx zKihBhcVy3(3x>%DM-|QcaVdIceO2YZkYG$06}v(YWI%R7chgb~I(b$egkawH??pp+ z{(h*O=>!0~bP*o=HC6ay>v}kFv?8%(0Ty&Z+(i(+O$4ng!L@tE_|Iu!2YF5H*Gxq- zeU94Ma4FtH_2(bA&wJgx0ZD*4Sq8LQ;fWe;`YW~X+prncM!Fw62Hmvioijjr^3SdNZ0 z53lGvoOSalT^)K#$xYT_3`Q!J7NHYYv1Z;FeF99FFeT42Vlql6HyGH%$62LoUH@Tsg5V%b&0NyWB4>W*5V#1+=uZriZi;n+>PtfZp;`6ylFYyh$Ih!2Etjh0r&} zL2BA>Lk9;OC7$IXsW#xu!=Y-%6%I%R(eBvclmZ#8HJQCW(ttylUt&x0UaHBu>oAyWSW`sZVTN>XFW%Rc;yP-_C#++Igip9nHoy`wgDq=y~#6>K}g9j8Nx|E#B`fJ+fQ&Rb@>5Ud%Dv=U-h0T0^vxf~Tw6 zHn4#e%MF(erj_WLFwUVEG89p@ngdy~A?7x~e8{(bDAL@DJggz}PJf7hKXa^^%YYjx zgGDZ}L=A2*pt^8GOWa2`GYLh^u2&c2B^LjSU3z}(!lN@MK4)IK7}wqv?jZBbYZrDk zh~a>%A^P*sdatWq`1t~AyytemVT)a6dN|)>m5{2*)c2WSI{1d0 zN*agP+Pri3cjt4VlUX?e9Ljje_07#*BUTWpWpR)qBdlW8RYe>IT2fN!CusdQo32L7 z#W6B&yM72Lj6vKV->d<D?a6JbnR9UFfvx`Hg%1qi@?#1c6PQ^b)XyGr@S zt`n)72)Arv|K$Q;RJ~Q*K`npNdZvbTeQ#mnw$14_hQ~MTP_rwo*Jf{P!F@TbmFRbu zCt`q*X3WGZ*zGl5GmSM7doFm`oK?0bafaYVs|A{O- ze2>4@Qp5P8#?1x}gXxkpX0!boT}uorV63k_%tGZMGynSmkziN8hzI@h4p*L$!USyI z!YYbcCjCvVv6fE|^P12XB;GF`(&wXtdA=-uMG~x4Tdl)|#-06@W) zDUA>6FC6&&CIhjd)cL>>}V5JA|=pcoVmrr{&@;&Z_nf9>WGXg*Nf})_&~hEUYKDy zWgQkDzd2#z6AnwEWBO7VX}SMfT{w-ScZcM77r-u?YI0Natc^#-k1$!9?=_O^f6GGm z#W~xMzRyVsZsGSK_L}@GWn1!CkS>FI<4n$~@0?TcRG#0}B!&P7(6a2%2q4iKX&LLB z{x7jL7E*MADq)zeHrVJPPC(NHpu|kbCYW{jIP_J^LaevNJ@*l+{x}|{xu1r!2iVEx z!0ksg9iUd#$QmYQ!%-l-0|L`Ot`>$ex~-*D-KIQ(tu*3jYrqA!!#3k-Icc#W!{w}fkkY3@ z2G@=5ycF3@*fV2*LHwVenLv8-zPUjT`ZBFXdHFW74%;dV%y9n}OY&Bj>64SRv9H6O_;1-VGE( z>*`_P{4$-XoNHzr2KWFOUKjcy%+Uv8HYdCU6vG+(WQk zuVF1sYc=t(5_CESk<@b#gs7C zoRP+H?5aR|)biMDfHYV&un*%A zvVSYn#mvDZLO{S=^hthlRsxBFr641j&BLRz(l1?Ln^gxXZ)@m#xO^z7*6VK=Qz zyLy0R3oC382PZf}iRBI+mUv7+WsBCSF7DxXCPEj&;dXvM9N=-Zthvmc;3PlF-_m0e zv$_vztCOFOV(S)8qi=_ZZ|qcxM4#z#$p-nVqZ<=X-MMta&Z+PE0YI@~nHU~NKUw1V zXb0$rX+Vc3bDb>Dp$iSFZ%{LIN~0Z>?~mEd7x+y*Vp1Mk2Cj;+)~TqOP;;75OB)14 zGqr%jGKz&FQCjjm9kUZaWLIm6b6&%1znaP~#-e%wj`wW_8jZsEnz75ds54Xkep?%oDmgJ26gAY06YJLjc|}U^S9oTSnic02AW{x|4P5 zZ$dtJv6~6MgFJ}%>kyL#g&p}7xe#G&G^CY}O#SI6V`1=}dN$Y;BO%;p_>-`KSLmeD z91_{K5;}}4-wsq8-yH*-h&$@ScnX`t!K@i+yiT6J&v!lSPW7{mIU4EIy)8985W|F{ zxvp4aME2|=pc*C}lqW^@?v1`RSvCQ}c5KXhvlE|ERbB>0dtke<LkqnR(AK=J>IJ5H?gUFDA2!yf!y_rvI z#@r$Ist5FbP&8AN*1EcbjrhV30_t_&mw2nLQZs{4j$tq2Z zX4StB?}bgi=agp_e$GVVLa(y(P2biR`9xG9loXSLnTdWr--dOnw}|NTTBT!&6xoNF zW7X!nHK6;?;{lpiq+H@)p1!-APl0c6_NZrhI*CN)=R{Jg!iRvFw!%MkPVgxzsl*N?J;>LA5L=e8>$a9lUDk zY7BL+a3yjp&R!%1N-0{<)>fuu`wTqCgO6g5qrV4gUKulUj(LZ1dL<>c#DTdc_BGV4 zzOQ_0x?0Y=)t{N4z~eKEZ`IPvJxNaQf}W2Nleo5e(CJZ;d_r4y2vxNXjCmu0F84dU za68mOE|hdpr&6?IOK+o3iNcn39XE8ops=*SR7F97Ad<T{C!Ef38XfEp$!$Nop67x~82Ijvm(sl-X1(uK>SQ<$wx>Rff{MU^ z4~;OD4{87f5j8)~8mC(}L%sidxqR*5!cst@Sr+dg>IN#E!)npEjSwLv?S=eb9`uD( zv*MEZh0Mc&B)9_Ei3a309uKp5>Dx7LDYN@R8h_J=r=N|O~J56ES5wKY}{zEbF~ z9_k`pVJ;B(7pR`v=~cx?rB3yL{<-CW|MP9l*-uvUe1&n~Omj!VQPzqXV3RY6PX@784U1tpwH#?SN zI7Lz<=?*RI$;$kQPEc5=RZBg^SvZC$)@bazgO~1o+53q`nf7rVLjpg2>wTCwLvI1z z!F-WLw9K567_Ml0A2tI1tm<;aq3$8UN%AQ6ASzk&t)`Nt7tXB7dgQlgouep*koQUA zAi1w>k)MZNIQ=+x6Gly-mRHkM}PA+H<4C@fP`eFddjd`>r;i zL;b_kFQ0iwDYaaF@rjSKOVU2HM*_e07g;j$YDgF27omNY(RWn%vojYNl8$Sf8KJCIbf zZH4=F?G_0}30+ac>N#5q$(6QwMMz@F&^cGdiH8cdlq!hClpJg44BOx3l}BRqVVi%Q zKBm>WS%C$~MX41wZr5hA^~sSpgW&ShPyT`Ya}zGiBI_uC%r_wR^DMD43J}Si1jsy` zdM|0CCtE_O75C^0@X%3;ef-yLs95NdufU88t5w5%{cx*+m?4TPVr%986tnx1vr&cD z(7s_y0;zgY@}u?@yM7Z~tl?KoU+higd_!X#i4EQxKu^N~E!aS-YrzB)SyZSk=-&y+{wfKLvr^zMvi)2jseVT@-e+6V z30fP2N;RFq*DLvjLx!5BNu3>;`Ua#|5&3o3XeDw%n*7XGlZA!Sf4!?q z+G3#@>q2~+%0tD4zs^HB>jTJzgK`q{CoP01)T7Z~zwYfN3iVeS#f=Ln3>cuU8*A9L z=z4`U8QBpTZNIuU^W`wzw;vSHTMh{VD6Y zFxnT=P7*w0UejueEZmCK4DGCEcyR;d%+e~NzVY8y3(c7i%my4uA=Emm3eiFO4(nqB zqT!U*lG!8c8rtc(bgZ2^axx!4e;dq-UI65_Hy{^k{e|z!O?J9IZoh)H7y%E(yvdFE zv%>Ocb1H0|@UvsqN1_uhkF%6!^FRjbZ-Mq>7a(p70s*rj_k?qs&5prxMNtU zLRbdD9)1%hA!e-O5rgE-j^zT&D#9C0!K-6E`jkhNYwF{@M(wsUYBgqtN=p5wTxH=c zF5>^?0$#F`ArCxRik=l)C)LH{R?7KAD;4QY2c=YwMhrH{ua76Jk9Ue1&`z5<;-6P> zX=L#gX0aP&?1c6_l1R#tR8@fG%57Rn;tMI?ipt1v2h)S8uSDP9v8YR;yPF%(Vp){N zbFvlJ{Qk)$byi88JV+PF)JZzUrDsa6-xko1MBL1{)M83w#)=2Ru(VNXP|Yr1?Bzyc z>oc2O1_v?lOy;YHgN2K$4eo2rmDv9jMWDhzU1AGjRxDpqEG+%l2Ag#{N&6kuhSREH z{`>v$;Y^QG8kIyE5S>gAOJue6bn`t$vM}5MbLD4yQx#GoAW;`uP@q5)dl{^H)%@i| zRe&?hpnOVkdY!qZo)T1x&p`z(xZUxK)Zl(v z>5sn5{68zxd8+V}Df0nH$|b@Ncv5lTDLMBgIy#(ofp-@ zRkPCc3l>U3N-=8WQS^E&tjVb3XrB#DmI{-ckfHueaWu89njFjx!c=SrymE6fg)>U+ ztTD0j93%@Oef@n(^rsv7Ve-Wj*W$ztj;wMj%_HZ*)KcskONo43=LqEkQWZoyyeoEot)%UXG}^MF(fs(mmp+e_-owP{B_G9 zcxMgtaGfaZudBjK@C#QYJ7V+VKW53K*{^(ex-CK=hbug59v(0np7X^baCk@62VQWy?QS_xT59@F60BVqgCZLdK~Ps(o8s&B=&z&i8y-peR6P)5ps| zuTx-GNM@gqWKJrW@uYPFV^H!~)zn;-Io-S2Ov&-D48Gt5G^7riQm%xfgUt{WgsU=c zR>O6QV4DA{vc5jQ+pLAJtJSTo(G%B>PsCO`0hC!qO7#H+GB8Y+WsPuUqJo#VOjmK&2VRC4+&!7Xl^p*dblhYd}3 zO%B_hJ%K;9vgmeb8R$cn_7}Y;ehSpC5LnXJ3I)9yV?+JDgVR4)taS_{B$__{=qV|z=3tARBC6_t8*;gzhf??yZAV zO^av@Ca0a5=-p$0=KHT(npvn~_$T^J#Z`2w12@ z_v5`wjWdgBd=FuZ7@yucJ#EGhKr;1o8au9i42z^`*$3K=}Jq^!*Uf^y}ZNH^RgsutENcJ^;`KbA<4w2 z=lcX#y$9$82wCz|4^a)lT1yM=MQzoFO{kycEk)7W*UJ3+dVKsf&ObALnw@Z7%A_9^ zM$;lCQ6}02TSt0{k;c!B(J4Jb#d&c?A-2cuc-{EJ1{jV)lWDF+Ry~oR%Ryv_b8!&u z%wdn*YxSeA&7&M;oyDIAU*iml+KSTIOR%%f`P95fo7o-^{Yj_X={$4RuWoT9-5iB@$b;hegjA^Uk33H1#={|= zzjm?EQU3m^-^2^&KOZfXX+l*OURt?buWdf}m!;uzTWToPb{m0c0G_w4!Ol|q>5sST z;Oz&0uB#ysQcZ=yT#884N5pI9#>>uN;)#dRhne z7toC^*Uf|5i55KuFD@`3$DJzi7mF-jIH9^H%AgSJ?M07n%iD`)s4oBM5S~@{qF3f( zS=o`IiiZtdo?&`_6j>6w(TG=uE zq}lBf;+&PcG=@e8b+0@mUFhFykk~q)+0LobACppKpNt3>>tEN z)qWZJSa-b0oo07fGAfkLwQ1+P^7$+DDje@7`1-M_ncsCxPUD}iN7Cq$I~cRsd)TrH zSIUQ+a5Jx*a$_5O)oLJQly(b?xnLG71AGpPPu?A52F_DXi`r@nR%eN22vtC{)B&MM7Z6>cp_uX4-7& zpVde`@idnjtCpjK>(;dfi9H^Jj(nH3(8uEZdHQLUtwHmJ`HUgvvrw>hR`IJZov;YTbrYLY3WDjPZx(BuIoqj~4YFjvEn*PjVd>r?wgc9>N6nKNARo76yl)zR4|Fdl zxX!1yG#=GH?%ogTw$vYo5y^O5w&f-&U@mgIr95qee49*h`~|Re#o$k<u)52rC~6obWdV}Mmk?ln{ra2*`im@Vx$R$u8LQ>nmUT-AVqNX^M^MxG z&gX2H&CuF@s4(!Pgwu82+!lwWOxumXbv!EKPQzgFWb7!Sgpx?x9M^*#&UH|s=W^et zF*P?L`BL@K+drgP&{49#m$GN}N_;u5P>wWK9&_^TPNE`rlPGrs#t+UYJ&cvYRM7$# zXikyD(I2CB1@@WI?ioyJl$ACr!RzZF>EAL2_B+f;0X*gJ-oSa%Bi`s!Vt zgIOz#k*3A2Rr^^T2N_q2sKXS^f6a59)Kj4aw3lrCs76}4Qz>vhYHBC2w>^?@_JHP} zMCAlRR?W-PkxGHOM|PWj=AVOoE#cPt#hLXnqFgL zqu0J$ZFCl8N;M1ygH_J734{3yoonX(9B(f7?sr*`vO}tsQ${y=IcfO<`WYsAAoK=$ zrlg3V(Na$cCzr7!zPy7HyQG>tLH9#Q&$=G*I(kIHqz)s!Aa)$n{EXD9my5w9xC?S7 zP&$+=V{}?`RyX4*!ADn&lw<);tWslve)J#0bv4WidM(y$&Cr^_7~_a{wHjC>bx2aa z6GlI}?G|FxxZ_`UDBBvaR+WE2Z`wW6u1OL~`c+99Q1Yl$y@cPn; z(K#LXLbd+z*5b;bQIcFeH}VQ=#y0&(#8Hz5IANs=@MP>qympXMjhgr@b&n`}wz(UK zacy0KJLclVCtMuoqMFAzv(*}P>Kt2C8(ms7T2>0YeC()*OZU9URZ<(7Ea&0_gvTVZ zHBFwC;xu-Hg8dWV=Gl7f#$3w+y9NA5yz7_wXM1;ayV3Yan zmK}08l}lmfcI9N;2?fe{R4*{iCd;t$;XG`CA!H0P)Oehzdy5%MS&RSq@J%oNzep~r zJnqyHah1^fEF{@|TdDv8=g=&=?9}`uN6#JbJWUhJ%+6Z~aB!wu_XSQq9g|Ud5?Y1* zKfpxq8+Mw%ddmnEBgZSubvDZS((jPgN1d;|i1^My^N0Ph`B$Ce9xg+7E3ZDAteuK0 zZ*w$Oi-{hk(PPb#^8c9p^BU(Mg=j0dm2s7oo}jthyxbR+dCsxh69u}xB6bKdPU^%A zGHSm1sll6i_7349cZwL+y@1%Po9iW1t818&e{ptQ(f8srd+{&3WL3ABVZO(^vshdD z8KuuZg}8)c--lfuaLi`6=Mu0lI7G{2YL?nkPjfPwK#1WaQ=XAW_g)ht%F)Q3A&1KU z6nP%%8=`&_of0iv%R~Im0ekL+%S07+U7?z7Y`7B{y z>liK6v&mec`f6hLZ#jN7B8B(P3$=#A6Eg>=%tE`LYSMG%>s*Ol=UhQfl_I!xd&RA# ze$wUDef{58nj6|I)^cJ8^(9=-8^^<%>gLS2r*Rw4hLVAHi=u(P@ov=n3W&!Ir}GM* z!1)M%dugActgG|sHg_}6N~7fw!Tkc{A<-&(fH>=^GeiH$O>RP$$%%V^bGMa9nP6xz zzx9$=xRqhiT0Sbz1T*$8J^5KlE&IPZNc!5Bm3$~}Ebqfh)#~TJ+-$BLF_kcdSy6Tq zLy024MGh*fOjny@shzPM;L>&mZG;R;U_?fYHhbPWu}xy4woV|rcQBzdr{zN|w6(s` z(AaZH#4y!@sm+5@yYi);JwxD;5Ef9>wC@vp2=i6ka=oRLq*PMTTPOvNs(H(Yhx*Q zn29)ntRlQ%Ba>BL92qTA>+&q_0;0KbaBJ-@O5Jrh*Lb{R%wTbv2E>v0RThObKlLoU z)KkCr@5~+UyOC{gu}j(5aOz5m%&VWIzu4FcKg7$$h|#|_M)1f*KYo7!G^@GK73nPq zatx@H{_*Elt7Ixu+D^*Zuwi-_6Q=WdoRB)gC+Et?|nXj>6}U)AtoaJdJp!8vV0AnkiB zxa{4>e-syU#Q->#Rhrd_yORsqK3I=1Wl+|y*i8bf$)Pv1_^~1f98G2=DgrPEo1LYT zB5=}kEXoY|{8_i7W?{xu@)X72c}u>{09r5f8L1wPIY6U)Gr|Hfw}?n!7mvOP(EVX- zhrUREZm%t9+To~WoCY0nIa zrJ!FHH3F?lb7Qz?STc!nVT9g>n2`?n`rG4nRFz^!>>me49KC;sss=-lK8Z4M<<76? z_$e2He^3plbt?yR#KA>Sb|Gz3+T`7WSN?Kid|F3R06E3OT6ihrR0pKTKv;B)Xzkg$ zk?(GkXZ!H(lp-<+Q}A1=63Q9o&}pvw6ZnVQ6GA<5J6oFH4iP9NXn#^-_)@@3Fy-~J zu|OhiahqNJE(U-$^72Xs2Hrf&L+-9oQ!uMV&z6Vza)RJK5D~8?XL_2ayKxs<$+PfO z*UiTCWnB7bquDY)CSc&ikwYDL)Xi*Y;%EO)e(-D5K%7E8D#*Tmb9Ay$iWPxj(0@f^ zEgPwlY=_ejgpFSBsaB7d^3qUSeGKfKv^>;yuiPQ+je-xOC9|QfVJ3aVIWB%`0&3Do zm(w&j_rKP3wIxpxUN#m{ge2wmd>OwaYFMh4CAD-qR)_`lV@-M{prEy>t6A&3E|1q^ z@WjR5`4@!KnE|ZO_yJ)k+%6U3Xyg@ry4A4u^n1|!m_jwgWZ5T3I_f!& zryMsVUx~aQLYyq)V-RHS5uux)?jm>^Wih2syO-=V>WE(R8wOq{V`Mx^xE+#PkF4u* zBz8suLt1z_qBfOe-@F7zH<}qNDBL(vFAJeQ;Pc$D4%CsPJ?l>T$M4bK_@?)2`<%*d zXfTazV`j}-r`F~?hR|2_kh#So|y~9jg zXmolOC(e(`#qC2BMU4r1;(5nUu;@hUj;AyWhSTR{WqX|Fd)?F)B(!M9Nrf;kl(eV2 z%V|Shc&=KCk3}@>59*<-=9@C=B;}~Gu|bCvF>!EK58=Gk>Kw$dUE+f*W^6?qZChvu z0MjiEf9qIY&boO3;$&$;Vzr+lFuoPvo#*mCAHd#=fmB&S(bECg+zvVx)Jm<)a-(+V zzX`vqm}_}p)tXRU+fV21LMkJe^^EE>I8{wi28019`!vy0i;ikPJPGXW-D>GP;0xoY zsQmh#>kfcNkN6}~j%}BGu;#v^dVXALpr;Aby90m003%=+g=x>0+q$P%V4)@nu{$ZF zOYNrPv!j&Ppxb)_?R0^8{i;o>j*g8E5oPeet*_X-f&$_WgWCJ)!n{mQl--QP+3uKE z^SsDh<3>9j@xjSP7;UcEF!CKa;GQ(T?B)xy6xG~z+p4jwl=_jX++3`*q%APLMi|yK z7;~EEZti$8#eKoNbEx^C!m(np$2uj3nGqY}o>B_1l;g&eEOp3S*uM_~eqALOe;RpZhbbvvYw+VmxJ&pGmrBnh4`z?Le0eC}?(5I* zCR-5WnT3mToQi#jbMC{7&lrT)H(CzX6xSiw(Si0PZvaaA(rfs}OYU z%{lfVoZvN3N?F9UhwsL;%?U)~thencv>4$fGavOGaSDmAd&{dGy*N~T-EZ65SoQCL z)foX}LFGyo zLXhxy=?(69jh>H>kvgbT-Ti$Mg&Vw$?fbU_vbg!r7e`97j0$cIVum#Fg@*1Xz?BV{ zAZTG&f4a5_G@%7#ohCKGd|6xmY>E*eoxH>{Y-breLYw{xqGB>igN@AQv; zVh{!dA0EDf*_4qwj0X0r>$M4>^0kU^?sr1}6IlyHylefSCSUf2_-K)1Hf2TIvZcoS zj@9uTR;Rj}GkIH^K~uwrWnj0w+!?;c6}aQNmH()-i` + android.widget.TextView(ctx).apply { + setTextIsSelectable(true) + textSize = 14f + setLineSpacing(0f, 1.5f) + setTextColor(android.graphics.Color.parseColor("#33443F")) + markwon.setMarkdown(this, text) + } + }, + update = { view -> markwon.setMarkdown(view, text) }, + modifier = Modifier + .fillMaxWidth() + .heightIn(min = 80.dp), + ) +} + private fun sourceLine(doc: KnowledgeDoc): String { val src = doc.source return if (src != null && src.title.isNotBlank()) { @@ -537,11 +571,8 @@ private fun KnowledgeDetailDialog( ) { Text(sourceLine(doc), style = MaterialTheme.typography.labelSmall, color = InkMuted) Spacer(Modifier.height(10.dp)) - Text( - doc.bodyMd.ifBlank { "(还没有正文,点「编辑正文」补齐)" }, - style = MaterialTheme.typography.bodySmall, - color = InkSoft, - ) + // 点开就是「看」:正文用 Markwon 排好版再显示,要看原文/改内容点「编辑正文」 + KnowledgeBody(doc.bodyMd) // 附件:手册、日志、导出表格都能挂在这条知识下,点一下用浏览器打开 Spacer(Modifier.height(14.dp)) diff --git a/web/e2e/knowledge-notebook.mjs b/web/e2e/knowledge-notebook.mjs index 93b1baa..ab7aea8 100644 --- a/web/e2e/knowledge-notebook.mjs +++ b/web/e2e/knowledge-notebook.mjs @@ -170,6 +170,16 @@ try { ), page.getByRole("button", { name: "打开", exact: true }).first().click(), ]); + // 详情默认是「看」:Markdown 渲染后的样子,不是编辑器 + await page.locator(".prose-dadao h2").first().waitFor({ timeout: 10_000 }); + check( + "详情抽屉默认渲染样式(不是进来就编辑)", + (await page.locator(".vditor-ir").count()) === 0 && + (await page.locator(".prose-dadao h2").first().textContent())?.includes("步骤") === true, + ); + + // 要改才点「编辑」 + await page.getByRole("button", { name: "编辑", exact: true }).last().click(); const tagInput = page.getByLabel("标签", { exact: true }).last(); await tagInput.waitFor({ timeout: 10_000 }); // 先等抽屉把自己拉回来的旧标签填上——那一刻之后才没有"迟到的响应"来覆盖输入 diff --git a/web/e2e/knowledge.mjs b/web/e2e/knowledge.mjs index 521b466..e6d2b11 100644 --- a/web/e2e/knowledge.mjs +++ b/web/e2e/knowledge.mjs @@ -104,8 +104,8 @@ try { page.getByRole("button", { name: "发布", exact: true }).click(), ]); check("发布请求成功", publishResp.ok()); - await page.getByText(/已发布 · 版本 \d+/, { exact: false }).waitFor({ timeout: 10_000 }); - const published = await page.getByText(/已发布 · 版本 \d+/, { exact: false }).first().isVisible(); + await page.getByText(/发布于 /, { exact: false }).first().waitFor({ timeout: 10_000 }); + const published = await page.getByText(/发布于 /, { exact: false }).first().isVisible(); check("核对后可以发布", published); const again = await fetch(`${API}/workspaces/${ws.id}/knowledge`, { diff --git a/web/e2e/shots-knowledge-view.mjs b/web/e2e/shots-knowledge-view.mjs new file mode 100644 index 0000000..c5b90fe --- /dev/null +++ b/web/e2e/shots-knowledge-view.mjs @@ -0,0 +1,94 @@ +/** + * 截图脚本:把导入的备忘录点开,看「浏览」样式是否真的渲染成 Markdown。 + * + * 只用于出图,不做断言;账号用 dev 的 13900000001(导入数据的归属)。 + */ +import { chromium } from "playwright-core"; +import { mkdirSync } from "node:fs"; + +const WEB = process.env.WEB ?? "http://127.0.0.1:5180"; +const API = process.env.API ?? "http://127.0.0.1:8100/api/v1"; +const PHONE = process.env.PHONE ?? "13900000001"; +const WS_NAME = process.env.WS_NAME ?? "我的备忘"; + +async function call(method, path, body, token) { + const res = await fetch(`${API}${path}`, { + method, + headers: { + "content-type": "application/json", + ...(token ? { authorization: `Bearer ${token}` } : {}), + ...(method === "GET" ? {} : { "idempotency-key": `shot-${Math.random()}` }), + }, + body: body ? JSON.stringify(body) : undefined, + }); + const text = await res.text(); + const json = text ? JSON.parse(text) : {}; + if (json.code !== 0) throw new Error(`${method} ${path} -> ${json.code} ${json.message}`); + return json.data; +} + +async function loginAs(phone) { + // dev 下验证码固定,发码接口有 60 秒节流:能直接登录就直接登,被节流就等够了再发 + try { + return await call("POST", "/auth/login", { phone, code: "123456" }); + } catch { + /* 验证码过期或没发过,往下走发码 */ + } + for (let i = 0; i < 2; i += 1) { + try { + await call("POST", "/auth/sms/send", { phone }); + break; + } catch (err) { + if (!String(err.message).includes("2011") || i === 1) throw err; + await new Promise((r) => setTimeout(r, 61_000)); + } + } + return await call("POST", "/auth/login", { phone, code: "123456" }); +} + +mkdirSync("e2e/artifacts", { recursive: true }); + +const login = await loginAs(PHONE); +const token = login.tokens.access_token; +const me = await call("GET", "/auth/me", undefined, token); +const ws = me.workspaces.find((w) => w.name === WS_NAME) ?? me.workspaces[0]; +if (!ws) throw new Error(`${PHONE} 名下没有工作区`); +console.log(`工作区:${ws.name} ${ws.id}`); + +const browser = await chromium.launch({ + executablePath: + process.env.CHROME ?? + `${process.env.LOCALAPPDATA}\\ms-playwright\\chromium-1223\\chrome-win64\\chrome.exe`, +}); +const context = await browser.newContext({ viewport: { width: 1440, height: 960 } }); +const page = await context.newPage(); + +await page.addInitScript( + ([access, refresh]) => { + localStorage.setItem("dadao.access", access); + localStorage.setItem("dadao.refresh", refresh); + }, + [token, login.tokens.refresh_token], +); +await page.goto(`${WEB}/w/${ws.id}/knowledge`, { waitUntil: "networkidle" }); +await page.getByRole("heading", { name: "知识" }).waitFor({ timeout: 20_000 }); +// 导入的备忘都是发布过的,切到「已发布」才看得到 +await page.getByRole("button", { name: "已发布", exact: true }).first().click(); +if (process.env.TITLE) { + // 挑一条带标题/列表的,截图里才看得出 Markdown 真的渲染了 + const target = page.locator("li").filter({ hasText: process.env.TITLE }).first(); + await target.waitFor({ timeout: 20_000 }); + await page.screenshot({ path: "e2e/artifacts/memo-list.png" }); + await target.getByRole("button", { name: "打开", exact: true }).click(); +} else { + await page.getByRole("button", { name: "打开", exact: true }).first().waitFor({ timeout: 20_000 }); + await page.waitForTimeout(600); + await page.screenshot({ path: "e2e/artifacts/memo-list.png" }); + await page.getByRole("button", { name: "打开", exact: true }).first().click(); +} +await page.locator(".prose-dadao").first().waitFor({ timeout: 20_000 }); +await page.waitForTimeout(600); +await page.screenshot({ path: "e2e/artifacts/memo-read.png" }); + +await browser.close(); +console.log("OK"); diff --git a/web/src/pages/Knowledge.tsx b/web/src/pages/Knowledge.tsx index e6733e7..2096c3b 100644 --- a/web/src/pages/Knowledge.tsx +++ b/web/src/pages/Knowledge.tsx @@ -2,8 +2,9 @@ import { useCallback, useEffect, useMemo, useRef, useState } from "react"; import { useParams } from "react-router-dom"; import { AppShell } from "../components/AppShell"; import { AttachmentPanel } from "../components/AttachmentPanel"; +import { Markdown } from "../components/Markdown"; import { RichTextEditor } from "../components/RichTextEditor"; -import { Link2, Paperclip, Plus, Search, Sparkle } from "../components/icons"; +import { Link2, Paperclip, Pencil, Plus, Search, Sparkle } from "../components/icons"; import { Button, EmptyState, @@ -831,6 +832,8 @@ function KnowledgeDrawer({ return map; }, [attachments]); const [busy, setBusy] = useState(false); + /** 打开是「读」还是「写」:读的时候渲染样式,只有点「编辑」才进编辑器。 */ + const [editing, setEditing] = useState(false); /** 已经载入完成的是哪一条知识。重复的 effect / 慢响应不该再覆盖用户正在敲的内容。 */ const loadedFor = useRef(null); @@ -845,6 +848,7 @@ function KnowledgeDrawer({ setTags(data.tags.map((t) => t.name).join(" ")); setCategoryId(data.category?.id ?? ""); setAttachments(data.attachments ?? []); + setEditing(false); loadedFor.current = itemId; } catch (err) { setError(err instanceof ApiError ? err.message : "加载失败"); @@ -870,6 +874,7 @@ function KnowledgeDrawer({ version: doc.version, }); setDoc(next); + setEditing(false); onChanged(); } catch (err) { if (err instanceof ApiError && err.code === 4009) { @@ -932,23 +937,44 @@ function KnowledgeDrawer({ footer={ doc ? (
- {canEdit ? ( - - ) : null} - {actions - .filter((a) => a.show) - .map((a) => ( - - ))} + + + ) : ( + <> + {canEdit ? ( + + ) : null} + {actions + .filter((a) => a.show) + .map((a) => ( + + ))} + + )} {doc.knowledge.published_at ? `发布于 ${new Date(doc.knowledge.published_at).toLocaleString("zh-CN")}` @@ -960,7 +986,7 @@ function KnowledgeDrawer({ > {!doc ? (

{error ?? "加载中…"}

- ) : ( + ) : !editing ? (
@@ -983,6 +1009,40 @@ function KnowledgeDrawer({

+
+ + {doc.category?.full_path ?? "未分类"} + + {doc.tags.map((t) => ( + + #{t.name} + + ))} +
+ + {/* 看的时候就是渲染后的样子:标题、列表、表格、图片都按 Markdown 显示。 + 要改再点「编辑」,进来才是编辑器——两者不该混在同一个界面里。 */} +
+ +
+ + {attachments.length > 0 && ( +
+ setError(message)} + disabled + /> +
+ )} + + {error && {error}} +
+ ) : ( +