From 0cd8529b6c9ddf2dc5046eeeeb7c7bd8c102f05f Mon Sep 17 00:00:00 2001 From: NaBian <836904362@qq.com> Date: Wed, 1 May 2019 22:46:16 +0800 Subject: [PATCH] style building --- .../HandyControlDemo_Net_GE45.csproj | 5 + .../HandyControlDemo_Shared.projitems | 4 + .../Resources/Themes/Basic/Basic.xaml | 1 + .../Resources/Themes/Basic/Fonts.xaml | 6 + .../Resources/Themes/Styles/Style.xaml | 6 + .../Resources/fabric-icons.ttf | Bin 0 -> 89700 bytes .../UserControl/Controls/SideMenuDemoCtl.xaml | 112 +++++++++++++++++- .../Controls/SideMenu/SideMenu.cs | 36 ++++++ .../Controls/SideMenu/SideMenuItem.cs | 60 ++++++++-- .../Themes/Styles/Base/SideMenuBaseStyle.xaml | 85 +++++++++++-- 10 files changed, 293 insertions(+), 22 deletions(-) create mode 100644 src/Shared/HandyControlDemo_Shared/Resources/Themes/Basic/Fonts.xaml create mode 100644 src/Shared/HandyControlDemo_Shared/Resources/fabric-icons.ttf diff --git a/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj b/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj index 72fccc30..4e165a1b 100644 --- a/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj +++ b/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj @@ -430,6 +430,11 @@ Resources\Img\LeftMainContent\MainMenuControl_16x.png + + + Resources\fabric-icons.ttf + + \ No newline at end of file diff --git a/src/Shared/HandyControlDemo_Shared/HandyControlDemo_Shared.projitems b/src/Shared/HandyControlDemo_Shared/HandyControlDemo_Shared.projitems index 472ed3f4..e7fe4d04 100644 --- a/src/Shared/HandyControlDemo_Shared/HandyControlDemo_Shared.projitems +++ b/src/Shared/HandyControlDemo_Shared/HandyControlDemo_Shared.projitems @@ -336,6 +336,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile diff --git a/src/Shared/HandyControlDemo_Shared/Resources/Themes/Basic/Basic.xaml b/src/Shared/HandyControlDemo_Shared/Resources/Themes/Basic/Basic.xaml index 6b2fbe74..927f257f 100644 --- a/src/Shared/HandyControlDemo_Shared/Resources/Themes/Basic/Basic.xaml +++ b/src/Shared/HandyControlDemo_Shared/Resources/Themes/Basic/Basic.xaml @@ -4,6 +4,7 @@ + \ No newline at end of file diff --git a/src/Shared/HandyControlDemo_Shared/Resources/Themes/Basic/Fonts.xaml b/src/Shared/HandyControlDemo_Shared/Resources/Themes/Basic/Fonts.xaml new file mode 100644 index 00000000..700d0689 --- /dev/null +++ b/src/Shared/HandyControlDemo_Shared/Resources/Themes/Basic/Fonts.xaml @@ -0,0 +1,6 @@ + + + pack://application:,,,/HandyControlDemo;component/Resources/fabric-icons.ttf#Fabric MDL2 Assets + + diff --git a/src/Shared/HandyControlDemo_Shared/Resources/Themes/Styles/Style.xaml b/src/Shared/HandyControlDemo_Shared/Resources/Themes/Styles/Style.xaml index d8cd940a..49831368 100644 --- a/src/Shared/HandyControlDemo_Shared/Resources/Themes/Styles/Style.xaml +++ b/src/Shared/HandyControlDemo_Shared/Resources/Themes/Styles/Style.xaml @@ -5,6 +5,7 @@ + + + \ No newline at end of file diff --git a/src/Shared/HandyControlDemo_Shared/Resources/fabric-icons.ttf b/src/Shared/HandyControlDemo_Shared/Resources/fabric-icons.ttf new file mode 100644 index 0000000000000000000000000000000000000000..9964e1a09d7cc35f25c07cbd471abfae70b8a32e GIT binary patch literal 89700 zcmeFad3+Q_-ap>eJx9(-CX>tzxhKiYBq0Y$NCG5;2_zv25Fp`9xRIM6Ag3ra$bAdm zy6TE};OfJo>+Kr#S@qFfWd+?`@!9q9N-1HN#Z0jt_vfN~>Z0kb zvrdNJ(jl-R|0xJzNsDj3Wm&@FqUiz~@eN+OWbx8ji&wpI!6XP4)EABkG!~LaSTksh zcWPAmB_TWn8G`Vp?=6|me|`J)XRe+_OLz(Vga{&?@Pm44$uQyS*{fH>c#e8Y{mpKt zGVEco4sTCC^dxFX5N_frjDHAYdj-89=pWD*p+JIqmi{cv7Gpy6`YTmT4I<;S^0@G&;Pf%&`5bvvjO8E~9&Qj3zMWkgM!DZ-LD<7Qp z=ZTcZN6TL>s4mm$;moL9(DgOxW4K5C(8@F+O$S|T2h}y4&of#ce<|~vcI1H zI=COa4DMf-hq646>Qb7{)CcMtu7eN$&Xl)Y&8K?2t_5e*p}KSqu0!u}^(yi(KG!{) z%A*bb+(*^=^p3o~+kZwGeobdQhnLmL^gL4;Iw)UDU-n;9o>4v6D|psqfBttkqpa2s zURQ@aj4^*7sz=YI_9z{E`15#OeUE!oE>&&!nzn=M2dCSD>dQzstJi_L$m40cM~86z z!M|PbJxV)&xxC=<-$OZGSMWarXI_uaclZxV%Q)yv2aOxf>==&Y{yeKcPb(9A{)K*A z_uSw*@A%u*@?>1&2p)$(S}UWSJ^s2V&-<%=LtL|qYQK3t-KVlW4?(SW-I)6G1)?iD zWVIY`OS?yTIEa>S*gv|z2!}^47ifd>QAeUP`pfI$`kJ{EW}^u0smQR ztD(CLl?}8{^#t``>x1&OyodewAH(_AIH-J39X<|JHaHL0R~7#l(AeXerK)HCERR30 zQGFhb6))pI^D@C{8TaWx-qo|}nU~@7j>HP(3DX3bPWX`_QE)(Dk%YMe*D|}r1RZYS zFo?2XVcEE#9~noOXvOb4aA5BHk3y# zUg~(g&! zTzT@=llPx|?Bts#KRWs6lgCbedh%~4Po83@Vot@KvY(1Sm3S)oROzX*Q}U_3r_O$# z_`TzM_xFw8&;S1B@ArOx_xF!{|MvICP8&|!PN$qsJ3amM?$b}4K6Ls&PQQQp!_yy~ z{^ImMPJeUy`_syqxHI$4Y(BH?%-%D@k&K92?cy|8Tg=c?%_P@@4 zeD?U+&(8jEZrr&E=UUE9J2&Ip!gIHrTXpXCbL-A+IJfQGo^yAfd-2@M=iWPa{M?s6 z#Qc!;!+;;g{jmFoXMQ+-zW4c}^Zm|OoS$=k{`s%Ze|x_D{K@m*pFekAxxg+IUKn;^ z)P+eGc3#+X;m!;DFWhtC{tFLY_|=6+E`YF8t%d zcNaP?e1GBGg`Y2UUDRJRT{K^ey_k40{bIpI&&BGC(=N`uIPc>6iw7@0b@ADYhcCWx z@y(0x{}}UQ;*XU-R{dE27Re|bKB3KUv^#|b@i$se6<&}64{=>X(b)B zlHFd!X{DmQEN;B4*KtqBBSEzCTE}~wR!#)bN++ik23mh z-mtxFd(rls?OEF)+oQI7Z2N6{ZM$rnZ5wT}?N-}r+bY{i+X~xa+XCBcTZ66IHqcgX zE3?^bW?Pi?y!E8@BWs)WP3!NiZ&+WoK4ZPhy3xA9y51^V*ICzEXIp1k9ac-+i*eiH zHpR(tD_Sx89#oiNpSM0dh?AX{?b8MvLlI2IsMay@VZ!BM0 zKDWGYIbxY=sj>{Vlw0~(%$DewpJOh?d=m3m%!4sYViw1w#@J$FVxnS9=1b7QmuaVIhiSWMn`x_Q zz3Fz-3e$4aQqvOC0@G~MEK`eVqN&N$Xc}!AWvVmPm5trZq8wr?Z9=-VaZw3I3ayv>h{#_bvJEKtx26b{iee@ zCqLuHtnCx?Qx6MG6XxOfmNxYPd|z(Pu++nn zYt)3%6AsH&35PvZ6B8Vc)at`+qb3|~t4eT8oY>tn^zin1c7GoY+5Wms6ApV44hs{v zZ>N@;CZszK%iFgnY)8Mf>$YpJUuHtj3{P+d-n;r`CXYf>IHfxhC?nmG?m*urR^hQt z6ROcQ$HZLF%VD9naD;`5z1fj4`u$Sarq;0ookB?Om%?W?dGZn|6)~Zc&@;7Y^G#wIXIyBJq5eqZ+J}jsM3`9>DD=db6aEQU0kUXqS@Z2Crn=P>d{c8}m z3Ky7xC9?T!1AClZ7CR)9)JJ+(w@~-GzEJ-g{ZT`X;Woo(h98ZE#(LvT##cjhA>|=2 zgeHd04t+aR35yR~7PcYmiLlqhz6lq@$AvEr-yZ&ML~6wBNL^$_ zi58>hnnlREBj&%x9EwqHpIRjdpYj5xaZ=ITFb37tQ&1LwpVQ(_Go*y{T}<5 zy~=w{>2;`AM|?y4{P@lBPsP8V5SEagFd<=c!gq-=i8m!~O#EZw*`&mzo09HHdNsK) zxgmLN^7|=ODJxQrriP?GxAu{OG`(f%3qgDl#j^RO}oi4jSXh@Z48vs{Cf~p&`PM`XQfH zqz>XT|y^<&kiYc|(BRrAHr4~BkME7n%jK3r$2n^5;-{h|6->yOr-8kRP! zeAv?AnZtJuKR#mFh|e1)HGDF%&&ahSA0IV%)T&XPqw7bnZH#U_+!WGuSJNNIEFSa3 zm>0)Jk1ZMd(Ac-fg^W8ou5*0N__^cPj(=goq6w!au5A{ZS2dq*88AthR5EG%q_#=k z$>o#RPO(neI_2dlKTI7k^|7hPrzKDOVtVTIPiEXTO6$sv zD_>o;d3DI@+FQ5Y`tYq^tr@)L@3&36z0d7WtR1}eg>{dwdwbncIaRKeA6lQf{_zbN z8yfGh-m&bCKW>cKSh(@UO|v&Wx9Nk;ySEJ3?%Dpw9sPDZw&U}i_MOLfUfyNhRk-WW z?!mh!?TOfvy{CRp^PUZR9@z8tp3nDq_ZIG5y!W2H@7`H>=c#@D_C2ugr@Ozqhiq?= z@LJtQ{R&vyMnNbtJIqdp+3|$*ckhehi@tjOiq7qK=^6wBtaq5-2AP)&7or3UEOUW5 z;vD8;M;xOg&QZ({BQkBqP^N>?@AV&71s`hq1mCX?h?{-49%xqHVFL}a>=k5L#KB}) zR_J`-fPA2t4P*m>7f|>9#b=g=GIyz?*m1*WevJl|cbX6QZWTA*@R{fh-Ix6m8r)D2 zdI^K@euc?mT&zh8m9>s%qY~yLx#*j?NOOK6B&r9%~pZWUqH$7_y`>uN4 zjLWjwvf|$Kh-~m$&zsXQi>+(JH)cRxzB8UN zHs-PPG=tG?v|tuEjhG8@u~wVW<^&-~w$fx!MM)t^)8FL{w|9e=iS$^ZFX7N>}?I&xpZ1>R#xq_ zQvX?(@qgACU+{}4|BarYKWb<2IDcoft_I(|uB+nw;BHa(d~#67cn3j;0s}%0$Bz-z z97Xhu2>|A-$8V;O19Gbfoge~H@X1}6=puLs*vVxkT-FKrz11g(ue|lcTb!l^LgG2k zH_+T*kPcuU7IP@WT)Hgmk(NkHqP((KHt@D&Whi^aD@d!9O7^CAE1IBrAz)sBPt*v_ z!XmVhEXAc0=j317U<|%Y$2=*`165UspfejNMY|v_YzQ!2KansHN>LEu7;dVZSDz^l zoV#=6$enWsHq~8oDQDKttE_9HyDg8GxK<2P)4XKYF^yFdi_NN@EEeNead4)7m}C0N zZFN-K-^4Z7b=y`>ca%KdqCR-o3YR~vmi1ok*_=-BKS_HC#)>mmBl+#hgw+_SLTd`R zC|*2@nWXfz9F`}B@xd9yd944gNf#GuV^$1=PQqZ6mVnvn+%Al-4inkU_z>!f`?~Y= z>1jrjgz05449yvx@J0-&7KvGAdWSpPW;ilbj&B z6I}7RIeGo6-L=yj>iZ-l<@GPkk4$jK=j7z~tIk1L-``RkYT?M0)}OyR~V>jEQ(&TAF&lx?f&SZoDhO_qPPz znr~o2(eOSAu9$+7{zbhb)l5f<=%&W1`{n24#JdwB^Go~ZB_;H!ZY1A2bnWLOxk3xxGENhP4!>+HDpt7x-ov5IXI8AG9RBHE6ql}* z4+v9(Fnq`SK}F-24OWD~%f=TCn!jVXXYzs7Lx-+DFj*9|l+W`o6~kMmk61mP8loo0 zuO5*uQ$t!abcT}pPs{k{GPs^m#zzJhW^u$jS+O3Rm=YnRyWud(SHL2ncp-JdCwNat zPDwZ+JE15$#S>uWB6 zOOCgA&rSRG_USJ?w0=@y;iUBsy)a!(j~N*?cIB=;o99+^wypf+p_Z11K3VBM|CcEH zqpQ#_e<2WHHQ_7(Ww@X(0cF5Sio zA5&tbc=nxYo5)v*%W-|Y2|DMqG~7_G8MJX$YV7njHA|MuokoNA4Ag3VB}1HkgF>5L?dqfODsowkqi+yiV-KN*RQ95_+QaZnRZBt$Sw*OqCoD~Im`5T*S zJ8>R0^H|(^~?kGx9kN4a-6o5Kbi-Wh@R_oL-hY z1sZVq(l;MZ@GL*@-nX}jZ9dPeelw;`D;aSngr6&*Sq*vKZdWnz4A#lam%N{gCZoJ3gd7kxdX%_c7!LVYhv$*Gi4RTIsg$R~?7|c)Rc%RIvV>VEnj}orWSy-- zUu_CO&UL@ckSN0 z9%>rC`K3?4_tp(r_UOwW&Yu0@%a1M_a<_7BZPk|1qqkJ8RnF_`-6yaXw$FoOYdc@FQS-bAku{WOFT~@aH$v2Lj zTE{koj2fMjm6bDk6h;Stquer%btJt{XiL*YO+uI zzkH<-2EE=O_~n~LP`OGvY+p_}u(-`+anL`8cMLw9xTg0uKmuZ}PcpMhZp^^iK)Um2g#{;_4YEN@9F*s5~G6Bh00aE?JD}$q2*@OJPPSGmxRF zV+Mf3UO-*$mX)Ctx5+G+{KSeKkdSWTTj9`4Ik?31 zTQB?M02`K~eY;%4Gv~ZNTM65@ubWRx@!s#)>26N!odn)I;-Ln1Ov%+4HJ(djrj8e6 zN%vEGKBH%AnBD@}bollr@UJu>M<_vk`qae^ZnhOceqd@sqb`E3LwROQR^VoNQaV_$ z1Jpsx&0&-;-t2@YgY24PtYBFa|!&wXY`>NGxZ2Ff+Qm&@mpku zz!RWG`6f4uk0~v>7IqMmLp;zd;o~DcrCB_HnJmgmi})D9Pk1)wBmXA6|7gtLkfYcL z!J#&wKd7`Ac?+E_yt4kFjJota(GAF>IG~S6!gQTRZ6PQZ@42Ky)03B2hKC=r6 zIpW$}iBXQvPmfguFJ@?LdVV~UX=0NepdO-t!9pIBuW%&?ijJNa^vX1uC0?D1igFiC za-@hLM6OAZHbw8)1R3=#uq&=d@DalpH+j#llpBq5{urB?PUEK+hGp3{DZ!Ar%XRVxd2t zn;v8qrWdP*Az47&6r>LV1=Rr!l^CnWXu&N>rSx)DQWm*U$GB}K;uF!xN+4%fyiSOB z`GWYZLGJWu`l!B5<~7KQBd*-(A?>scFM`iQ2Yz$`x-$teLOkdHD&@F2+4#w&h}0YO zjmX@_$I-~~&MV)3ORZCgAaElL1vo!?3lfkYn2jNojWXT8B7diUfDB7c9_T!AegjBE z5;`Azkc0yLbki|mutS8YLMuj3vl;zHC#P#Nv;Fz3@Rwu+DTpK)2w+LpS-{0Kh_eFL zLl3l8{I*Ai^58CJAWiaGz0$8Kc58;;uIWyHbKCZxCrzt=XYt~9>ZeWm`Febp@$VS? zBvHO$`~GKNmV;GSN^6f3Z~|k5nxp?TOCd&G=HF8~QIkre^B=H|d#JULXoaObTcZq&f5! z@`WPE?J{^?h6qE2VZunv`0*Sw;55~Zj*woe@9TCLV5r#~CB>vmk>%pVLI3DXhnaLN z00&P0LFM%7Q6|Qv8-7kM%!rH2C``VxPfHnAhF;kh8fsV++KCt7l&0gqiRMTyfnCWo ztJS-zs&cK$f>*M;ixa(%CiQjO?e4xw(zL{4w|#H8ULWp#lzxkgX;8Eu5WN3NRe5At z5TO*vMvM-I2y_j=615@!bmNl&r_C7oP{)*tYSlG5y* zB0VON_okWrI5g%=gxoQ-1j<541$lNRO9!L_&0fjNRjKRe)AH-*QvkyW%&&iSK0&>= z5w4jhx=WL#e_=+=`gdkj-L@4|9k*nyy6c&iNr&!Qm350_>WZz`&n)6H!ShP`H|G@t z%sjtx!03&Hv}_zbpmKhFCXG91mRzPd!PAEcqcM{H5hG;M1Z)OZ!9*o6$P0-W2aDYiXS|GCDnj@`EvKfY6=4BgV;uR8MLb zrg~V2cM)tgK^H*HGt#3+&T4HbbH$tLr?t))7TsrQIYEE$HS|ElF%@*6Ti@A`FeZCt zw1{X80V%vLUvmVJ3!$4JxPZV`VlKA`^M&P*7dzj3s{V(!i=_S{~jSq~; z7?7J9!5()icZcAIEpU3}g0Z#zbCN@R4I#-n{cFdvM?*qGLwsrc_c6Hh?4Z-FZxx8 zoLe3juJ-Vpu;Gw1uq44X{qxNDuJK*?VN)PcW(LnQ)e|f6u9uVoL)DWDlYCL|ToWsD z8`GJMJe4pH;k`^@phtc)&drQql^l=2+@q-~mg?IkAGo!q=2ilT`T6U@@yiG2H@lVU z_yloSd;-CHxD;P>3>q@BFfC>Ci_98k%d?jjDCYQZqol;z;Xz60zc7z|-R66LYpw_w zA-Cq`neGuTw#E?WDs@P5Q2YEjif8ch@r4QT>@|1uKitjv1Un|gi*=4tSDaxBvr5MB zcy_L!)ShPxQ{uv6B8-kyCF#YteDCFM75lLbxi$5X5o}FLTEWPwK@JQVK0Zc{V-vl3 z%mdlX>3v042G@PkId+x@A3kKR#^if^eSP896ZbdD%Rf@uA7Ak9GdpIM$YUNjv8Ca* z@%cABcXHFFlh56hKYopO{pcO9&Y%D4j?vm#8j=6>-<8XI9%sEiT3#}9$20FP*vpJx zJXMgrYX6fHs2WwD@Wj5=VrXzZ)aTz?>vs&a2hx@Wl`A^5uEP2RT{_^w*1%i%x=CeM zHBnMdjj|VdB)LLVf1fCHfr~-L8xx9ha*7g+Bez@LOeP>CT&Qu z!%;jWEhas>Qzk2ijG9iOYLzDC0QSSZvSu)J^tBgy;G}~LAL<66xXXiFUQAE|BArO*E3_NuDe|Kqbu zn}X9zKYiuCh2`Z7?|bFbrMDc{(#MNPKM4`8FR#|UB2bOvw*=Q#(|WGR3nBpw+@4Vp zXD-3C4?(_OPEKYUeFdRY(8*_NxhU%QneGND_4IuVoP?m*Q!mYVx$&>CWOfx8(C77GKx#*bAa0yWbh1#H69fQrhgj2c!>)F_W1oT~*$~J1B3X>v$*paGjw5e0wGIghzzu zh4+Yq2WtzQixY)Y3<2yjx{j$JRPP$Pr_ca$j#2y;S#V;vzNN~6>#qG4p~mDa0sYJ` zH+o$6)GSCWSrXF{E#wV#l@<3bukS;7zi9H2&WUnGW%Y%lcFry5b&;oBqlhAdJs7N+ zB17z1Vpfj=J&nHkQJZ?@%EJ z2Yn~A(a+-vZHP0%^8-7O^ZS0;btNguiM}Fb%M|fXNwqC;St+LYFyHXBElM5cuJa&u zNzdU4&iGrP<#BTlKqT0-PEIba%XZhJg(+;c_{XHgD{;vw?ohO_C5`3C2X!a3uK}%u z3`HPXEiDkT#25hU;U8WEywPItLO&*8%kRPk0H`S>1dnngutKl%Ogr+BJgIQrbnk1; zQq{TqxDS%K-*Td5xGm9Yafs(Pp2xdjVRs=jMIm`vjIfpTgQTs(bg>k70w~3*b zuv6SzLwEL=H9FxQ1YzsjXUu4ahwPhs?ooiHcTAt&fq0KZ(MmcTX@T0gt6<9U)w%ik zxvP)s?p}R-ih8BwYeVQi8-#{!ueUCGjl!~CTh#jcwgyEAZicId_ZE5XZD_dHQ*^H) z7v0;^;=i7yk(hQSHbb^8WE<>j740C2K}Z`{4Tw%GIJlz{T%IGnC=Ccq07ysN7cLa_ z+oC0Mb@+3=x+EIWZII}kvX-iu@q;onl5FG~NFFUo^DGQrIH zuasooHmKj<2JdIKkcT*t8cr?5)BFflsRJ0Sb^$&QsboRNEzE+0&kiWEkN|oBgxaMc z0PztI4)>i3*Id+{=vti2shj}riH_+{bYfvVR5$097Kke0 z3dY%h1MM1QJ}+hoH^Wlh)pM+`kK$y;WPJg_v%NXa=m@0DePFe^fi&4lDu$2Lhu-CWv$J}yu~?j0r6p2-V4A%mQpp}X-P&=q0MTu!j@`nR$6s^MvZFNz5AuMkDq(&;X5`= z&abwv$$at~X1%8yKL2*jh98eTUCOc`cg>mBDQh>fyaOM%y|jC`LGYbW_BFG8V#|`Y zk9k(ZsQ!?g+p6ywop$Gi=cWbYco8vz-Fh=(OSm6{v|{pW zNTeSX>xA9pnYpy0eDi=8~oqH&o3gOA3E_ha{2dAxdhBh76=`5uoAeU`6W4aDHI5v zE`&(dWcD69sgSICZM^kDr(9k|IkvnExM9f#r*6yS^UbW8Tx<{uCJ*g>CBP=xlr+6; z%gD27a-TtV(44u1KH=STHY;KfV5#7tnu+2MYSPIMGFxlwveKJ&KJ%aR2?U$)`0nLR zd3jCCcRxPC`yo42@B2V3saM7sgk`O*%E<@k|K~G1Zz`450%~DpY`s`47S}6dF(|PA z2+M;hMfx2Gr03YeO6rau1rN1=MhNqwplsFIl@3r9<`jK|dFAEvc8(migU&lf(P+^C zXy-jFzVky*X0}|r?lV};j(|8RdKZ7Z8#!;m9^GbW&ocAqJhCsDg2g&f z0G>eMXI+f%=Nr`n0^*>W%m8Kue8%JTh+h%r0LCDQpQW411t);#g1WwmW>NKS2TMpBD!RU7L0 z4g{eQ2j>9_2nv>U&o(Q$vXa{@wn8(Oy}8Zov(EAQrFkWA6Cn7R9U%!RV{u4L6Fm)%To6WUUcLg`sIY!vj!% zG3eI!b&m+vm&mCIHV>+9?GfwRBNldT&p=jSle`{5ZGesVe39`cnpGokI|idJ;R_IM zMc1-HM(7Mg4Y(R{HZ(#fSRWX4H6!Srpu=7&S3^JoXg3^lq%Wol=$dqNyfopMcxy+o z1T708+K4Ib&58k`!&$`>R$B?b0fdW|fOjf-z(P7%5|p*{-fM5(%h=)FH3ud#cITqL z>+2b7IZ(Cz1;*}LAl;!TidPahC?aH}vVkcZywj#_SX9z)!(?4;PVR=1zVkOsqR$5H zM7#z1dnBd~<{hl8IL>4BnEGO_@<)U5ikB5MD@E*2`e$WX|Ge^{tbE+e{>1(iNhqQk z|A<)v$?kxqrSeS*H&iuHK5&?D@P?CR>?XCc$iQ`O4Yx^v4y2R$6<|v_6x()0+03D6 zlN3X5YD#`qW>ICXl1h>W^eMA1b1RE7v+`4L*Emxg8qba z4Y7Mo+MUwPcY5&;XZ{P9m@UDVUMhm>uxV(wDb7DNdLS#8z8z3ZiKChH9q|<@4`hK! zBZG)IeGrWxjln`5t<&THX18t2bs=o3i18wfRU0wbqTDCU)$h18uq{NaxYErOLd`=} z=y}FzjsZEndgTmoT=8frQ;boFF_~hn;J5BeA`PQJCA!+Q5;|U1jxl}tr75NhXYos4 zswoB#DtL}eG8f|&f)O)wYaWjy@+`6xxe+BzNuFT@s;mf73#vH}9)wEbgpQ3XoeV|< z&Z9fg<)pE|noarO2}1EjnL%o(G-ALs;q$;m);x$z0-OwUj_i6tk7DeOLtDh&Tg2=w z&nW+i5aJB*c|4DX6hU9V^L~ih_~G9+4X75`IciUfO~7BS4eAdK0)z;|Bq*1M&){Wx zC{1M1Qm|b8V`GAuhMJC!5>tE)*2G};G5xh+6G_6-8*0jr|IAJ(PP*~2J2N=8UQHL> z)W?@29_fF}z+g5uxPl%|&Sj$Z;PwQ@9tBA~ig5!ivvgWVTMFF_p4-&FDZSYu+2@ge z%|2B=ki|9#WzZQY4nw5MLK*caDox-PHZ%Y~AXQ9Blc>ixkS_lEt389;de3}p)h)l8 zmfco;_i699q`@&^^0SxjlTLawT3_BWyl(yT^Q5!hf`_j@Kb;;Ri6~$=i1w|BKk4JA zU;C;rienFEcPYfPHvge63}_DKg;*VL>&Fv-_TY#+6A-oWyCyOb~Qy|-Yz$K~>j z52LfQa(uxjx-~VcADcv_4f4QwJ4cP$HE*D3Q=BMNP%y62*)_>oIj*2!e5F%?vPgUk zed4r{san9K8FS~PBaL7K>X{$Sr#l8CBKR%HsX*MgE1eu)@KI{0DDD|}4V$&d=yBH+ zCx=}X!ZP~wPf>*DpQydFLGiF(SKg8*F6vd7L6a;aJvLGQdTg3epWw>N>zx)06Sqwt zm1s*$iZK~Nb-p`O>#|0*DF0xdBTw$VSI=Y2Qj>f_QbC%fIw@I_`{aqOy%K5Kj^1C} zdtx82V2?G8TC!#P9rK3hVR^TV8`o#R>Pk}#8rz%N$DHPqtKp@K%Z2f|Er)!Y4{aH%Y#zIXjoZv(SjT4X$NTo_GnBK+S;AI<>VOEr z5I@xa4&VQG$}mW+VoW;z41r^Qq#L`qw@{5SplRoFhl&n!GJ}#xVvB+?Ahil@#Xyn# z-ydpcGBZ}UOqmuTVI_dVu5|_*lUdJ|m_2zD zQ79TA4(8MlZi7)Dmr!Jz_>WbaPdz(RuG#R?($a~8(lpm_+MtQ0^>=t5*9<=Gtb@~C zUEZag{SJ3H+u4YK&s{oXcG^ZY&3yLM=2c(5u{S$?>f+l6YcAx$w=bTW9zRx0?ExYC z3N)=*JNpFH(ayc>djsBfqF32JPMJcvP)qbmp#re6)e*uR^!qo#PcTBZ>xPJ=u3up^ z2$8mBPky{qwddra8(vzxWZkG8ug#zT+Ky33?k&@w0YHn2AM;R!m0(ng62U;0AiIR}-gz>8TPjs(2(0shtMh@aVFvf%f`+Gzh zk9LqBx96eV)6PXGLq~9Z>;9M!gh2BC(Cu@IpX!W+7ijCgB24A2~WTI_^O z4q_nSkTN>@+*~i5g>}ZegkR%2INFC669z5P4iI!6Ib1as5JcbxBdyh@7274(F4%Tz zqT26E(l{w^2KRc-3FCm=`l3VxnyFh|+;{=Ec2`a;s?T*ewYUwZqp@$v)6=IvUDCHP zDEA8Y<^`)GQeayS!gNtxEbghX=tuRc8$YwJ7CMLJ;x~**((d=2Ilit}`lJHwx?oaz z?#NM-CXE`Idrj`H;BMfV-fy+eYwsilP$+*(8pyt~$2uC0F)GiW)9%7opqMxd+Q>94M^r-de>ipe50z+I{~T}+(5G@n^Z zO5LR{Fn;$Se;u-aY$nlV#P$#P=IJQO<%1FZDnb@|L2h(x`+)W4V2bFP(PoS@mb%jn z5Tb4yzJ38XV^JXpD%MKU#c0ceh={^&6r|)*`4Ti>gqJa&q5_SmVM8AXyF~K{M{>D2 z)gc=}J)l?{;Uq>Y*e$7WZmYpfX$YquB2yhHks;;~b7C)BSXgw3(dfD}E6tP`6&sBW z&v#;>&eyMRs;}Sl`q%2RAMJ|ir7b8W8l&Q@10{n_^bKD6`8x+IBJEgy7}m?q^di&6 z_m49~#`lUhMN1}!Da_?g67|thVd1tAF-pqlWr}hY*`&cyi8Zw~NvT8K;f~}uLrhM7 zfh{`9{A_qpQoqUnHFx}>NA^|3C&8-|Ejr@$afW1vH8v(AEH@|3mX?)f9}t^w*G)3& zbw=#a!Xiaus4+CmAeqdmDUxLBm)Sec?96aP8j{kI2PB4C^^x{WSEem(6qBTk)VkUs zy^Mob|7L+cBr-BKDb*Gd7KKO;Qz*RTWxe&O84jaalx)4?q?kdq!^+)hI$Q3*wAhra zxNK1`hK1RaBT5$Pc7;Zm^h^vlg@>RUp}8i#Q5T|@p1#qj0Y>H{>ig816&o623N@R; zriDnXbL@Zx_fJi(aAf4BCZzRo8SU{lqZA#jm%_u0qEQ!NinWJJhOn@RkWeXEFG?0q z-+s>Yl!#HHJ~Z6us!GvC#l@Q}Nl{D;OB>LuBr!28G_Oxu<&=R5DG3qQ{Cde`Felj( zb(UU<5m5+z3yBP~n3KZI8Hq5{3?U(Sh!hbXDj6hE7oC!5PBptSbyy}UMVfL`vk=je zWiv!uvvWgZaz&GFAhRSnEeme#_~X+9;LUjEOGZ&?T6|n=epX_t7>7F2bHI4;p zlDc05pFP+(h3lTsO%dk6X9^;7xEe)sgw)aP@x4>cDzazGw|PJBvt~#&cGW5DBe`@s zHNT`~Ok=LHVm4oUY*+46zGHK$>PUNv2=P9hl4P2Kr;@0(evZ^6X?#dT&^u2S zmJr`kJrZi%4!DT=+N3I3Z3xv@ZQN_(c;F#IoH)j(n~`ajm?lR8kvMVLp0Nu(C37a! z*^?V4&Feq=iRFU^Eq`M6)B_b9e9o!spPdjHybeP3`y4q~Fy#-ku3606Fl=RGPEO;> zVg7Ry;eG&|@FG3XB+37%W-xyAb^FKxr{4QjR$I7D~a!GiVVb zkJr@Es>T?rP7g&x7Uyi)r>+xLR~{Bm-+t)*MOOt8y2K7(zVa-UexyeWpmWt9F9UZ< z04{{6OyEKAIcZxJm~>K_*3Y6q-!*?!@B@R>f$jx8P!@&Y_X|!N^o2e_0$s2Ox6{FYEr2bg5&jOz*v$S37GP{O`c3)2goZj@$qBglT&*;7* zlIUJ`el3Cg^70)TW7x|y#-t0|(SO2_Kr8f*(!isN$-rQw29+z1<1XiH{E@^#sOBhM$^r?!Ll27|om)xe)sU;U1^5BShRM>v-58 za-ctmYNRb3_cmG$frIxF9D~b(X&x>0Q@Wqq0FJHl zGv~GTqw4a2l9IJsb`RzC1^)%VK~L+hJGuDUx>O$2gYmfx%&`UIqwewH00fACgapz* z-FxC)KpOv!VI2f-=f_=t*9pF3xEhJ^eT%Qp$FS>#%QAfZ0!1O?2fDd`%meYgh_LE0 zdwO_s0ddnBr(cfm4T|Xvj@CUwriJ`V;k`y4-uvm&?(kkM)R#gLz$9QqXnh6ZPJGI5 z&hnsY7%fytl68R;;p`wRQB*Qs@EX0w3zAVX8V;QI8l@}ey;mg61r%Yg2*@;E;q60FVm8A8x~Ud3 zqGkRZJP~ClqwG+vtQ%&p*dSfeIslJ>_LK|sUAWC8^Yx$(?%5>{j7f%R#{Wqa&rO#+ zi%?pONipm`SzVy6@Dagqzz*Yc4OT9X0stGM4*~2HH^8EhOU549Fp71`dZh92??4xV zv6UmCG`*k(K+RPr6s&-NM_E4A(lU+0<~6hf*!I3=-!U<_Sy`l)0bZSwDY9PHkQSx2 zS&U3N;b0NuF2HQLLxF`r3eed0@Ij#I!MieXE=>2%KlUg*P4K zL_a%Q#5Vy5c=Zy(Ro;w+4^UqGB!7kUX-#u&abjE~6XoCm|4K3NB@kg;es| z1;8inhTzY!AqETPh^9BdE#-ft(XUs*YBAhS*ep4%yJQVI$;;22ciYbToBwd%Ota?o z<_j`vHnfiEHLOVkRCIFroSmcTN<(czD`r+@AZF2L(VX5;zizF`9=>33y5<X3}GIlG%eD(7xx?{(<|@p%|HTst;WY9#^ppscqwr zpFT(HBA)y7$Bn`1TRwaBzSi>c*85)l?3SQ3)nDX)s5k=6GL=4qN|;G|ce%|@ouEw^4ad|bmH#Xbs~n`Dvx6$N zWkWt$V`Kg^vo`%Q5mE8F2$QPmkq$L3R*QJYu1g(OMOab2$)*0*Qx%_`E}7DM`$DLU|jT%|0N`#!!DG zcg2aEsOcSv(*w*SPkMI|aHW6jDj1RUPzq*F;mgJX5ie8S5r zc{e_zSF&G*0M9}!C+GN}&r$?#rZ9`jw=87wS&Djz4v+>Im@A)2L?`+1S;50bTC02y zMMGGA`=dVHYD?44e#n}xukBQhBVGFtew7@>jd;tkCQJNbDsL1pwyhS+Vd?p}gaoTH zH6c#8l=SlEgLBlIB5(cr{5ERtszAT7c}F1aJ+ z)EWoK1BQlMls6u&T3PeyX4;}lXCL&|>Vm!B)?Yp!8@HmUXl1N*&Y-s`XP7Y^ijQ)! z`FYl6ja^yPd8u-9)#LYL{d3l!57rlK`(l`^2-8=;HE2csH+z*nRhugd?muwg{({QQ zO491L2dy0T?cUp)eV;H>^AX9Z-t|5m7b}CL>AkR%BWQ>rlpudVB<>7JRev)e@`x{|23#xRRnrq?HXjSu5RTxDTnLzJu&zm*9MtH zt0RSc_bCn%wVKHBpC^=8Rh4sOqp9AKZXQ;!6iUv#a=x8veWRw`0FAH9b2zn2LgN!^ z8Yd&Buc;=15c%#qd3C_}arwKRu)7+^9t@IqGfu6#)J9$GJ0n|}0NM3a_Kd#N{lEm! zCW7y&TM`m(@#y|a^(GxC4YfwhO?Q#{!#8RzeQc7(W&z&U#sj9;t~q$0>B+I%b3Bre!&>29NZJs9T1Rt!hlv_Ms*O2G{lNx^oOt;2ixBNP0we0zpTWJ|5Z0QPk3!$lwI!Q;`8FINWTN@i7)?>O zz$=IdKB0W-;B*R>X*sl~HQD1gCLx-%r$_o%ZAzQ0OUatI zW_vA#$du07jrd*EBO4Db;in68jcx%a@XE?{n~XwDfG$ROvBdG0biOVdoF%XmUKDc& zZIZ`=w!<@Od*n%N-P_(_Bi@g`U6zuv?AwnHudnlOizhvC&DM8!4++{7FGT3x<8GhQ z`TfzC9v%`CGvwiyj(*P!`?P)VllwJP$l5o zkY?fs378fKsLgaitSNlQD{+4;1LFB zuB$PxNUI`!$cp{QX5nej%G8HI9VYAvGYL=$xv0n#hy!Fok{EEcW#5bo--SEHtWb zkt?}Ze12@<^o+t@nZ*hA0;?t09-kHO%ru!Y@TUZ9_~QZjc56f-` z7-Qq&W9?Ppp<%X+UanjOHR~}Bsod9FfcY^Qd%kZ&4!r{fPvM1VoeaST#5E|iiic|Q zWj0_xs#-(lC|8D{`39ZBUDP14Si%A5@5`8x$KMaBUp4PZUWu7zHP*@ql0? z{J#t`rh0yUMz-w``cD5E8jZ*(Ek2aHLcV^DZ({hhiYseZSl$r~s0XFRQsq%Ltyy_Q zd8C<5Qyy(*)7f-5JT|{}eG`DYsX>CKX$R7vR{Uw*|6JQnGqsHY34XVK`OW^V*ZFsQ zPF-ZsQB#dy8owldWeM_GfVy?5L)ZWA3uW6j<%{2~9~zw23D@WG`&!H>^h6gT42SZ$ z2eg9X_WXgxWM7-1-Ku^+L`uQvpe37NIy{sQlaotyg8Xb!+w>QHg|)zoW;abFUFRw+ z%f87In`SS<^50**@IUb`1)I9DA(8W&nTJ*^0 zK7=h80{nFpG@Twm^;8+_0B%M@$pnQ-jv<%2&X+btl+CaPNZ$yJYy@V27%je1VS`dAVEgNy!iI>#LgbiyNt}G&pY&w|* z#uPXY=Tn?vk(%*;!BZ^YSDLK8!7Su!#=swL%v6?Pqq)~vo8plXVcI5NHzC#SlK*#B z^7t~3^cGwv>@AtSsp-y`N5mTkaF5-;$Q==yjc~Sq>m4?dTTEv6D|7zcR{$|cKHm?B zRE?$`yZ!uKhqMz>^Rz=pC3F>R?7|%AC;jylhx7~Y#Q>2QZHNzmwi3l`*rLd2D|K6} zHbm&q-+w^biHMj|BeNis#%NJcY~AveE0=G2mp$2QaJ^xHa?Eqr zuy+;@p|JTOi{BY`mq$6az)(N97klzuc5(Xx>#0_;jlIKc%E>-YKMmJs+yCbJ^sc{m zTkQ8wOO4oq#CYrc`N~t^Z7>2!Dw%TB=55su#xgN#@+VlV{xNkiEIw26A z945s3-2)L!2!lolL=$012ww^u_%k-x1yMZ=0yzs7y{~jAhm=*v)eB~4659n!$I=Av1J%|)||`1zWv5Lj!k%|EWJLW>>mFX9($D_XR_ zzv!|&>m??l(K&CE1vTp>ERcCmx&Li4$@RHy&4shjAR49fHCGq|lELe^{Yi7kKLQ4* z4&B%-ybN5~RfUdG^&>zU*_i&zCGXxfwrRNc5$_|zo5tSt?vkbrH_s|9optjDwz{ms zv*h0KV>T?BRa!Fp<~th4-M6H2P?=;f%H#IGx48BF;oe83X~W-dUHsnuajqd#`t_SK z#N~ap?7pV)_uf3HcwB40l0_5xRW7-2T+@AJ-cEE=Ak#tZD|w8P#aNIsIx6<%QW4l8 zmeX?}(Kx+$XnOk4V(OQgYIwJ`_1%W4Q~BBOKgDae?%J}pn0ipWcFV4$)~K$5Y?s;(A)k7M?g3BPCe+^c`{Zm;c-?jyz? ze1Ja}4@CWZvSNX2X{HB(pycrF#&^`{N?HU+e*%Y`7gz*H;6O5DEk}B2;U=sSvJbJA zQ*|Jr5ikn+cFB_QcTQLHgMVH*Y;R?DQ}(8xK0ADSwb6KkJa28;s@5shnH94(Y*|06 zBCVt9M<=$Z{|NLOH%V{)L-+uVBpElvKH^@`sVw~kot<@7&j?7Q7JBoT|7CTJw z?p$|#WV|~*e?)n1lF2z{%goyOBe2*5fBGUeIWr-9V5TLtpnpMXc~NRvd~r>7jQ=~T z)J98I4~E?IGjFYpsv zfn7>Bb$P{3Ws|t6^E?Zu6ov+MF^#xwij63-?t^yh^ZN?0!!iOXL|S($@wFJ3@gRS` zsuTMxL+4>_*eb>8eNgd0tMojGAZjZ9)fRWDm)p!i=9h*^<99h;lyObVFjrO10G$33ug%4<& z+n?Nz)Fqzhdnq-ImmbhGtDpZ4tI%{@|G9HQj|^$9)(h=SG(h}!Hn){)yJI4uYGVN@ z=WMVn41O`x?W@-?3eE)mj&XQERWGPv@`U@BR8lyihwqd~uM(4P4r^F(-in?yV9Z8f^PkK*m&y!u+dZ(^t_~eunQcF@p=@| zCWF<`(5gIEFsSPUb7310kEI9tfnL7=<+vUHs}#Xgl0)zgKeeH=4%#n>WuybGD#mI8 ztSKP2YBBpBr-jmFzG`rh$Qf_I6~Jau0m66mLRmFcY8gGcg({>~CZVS~UR*O(RjWF;BG*oA1`ZhACpjGsK<{2!O^blN%C958z{7mP9HnB~) z`~PF@I{@3N&i(JXSId?qS&}VTlC>;L^4@#OcAVu*JJZ=afh2?m5)#&B(~JUv4rbGY z&_O9JtEIHmeUz5AuPrUz>7ekSg#z!NGN%@4)Y@y+8$5KT@*jy}G*8yl?N6XRPMVIMTYsTb>lg3K}g z)4OGWH!E4?zdOX!T}RR@#1rr-Q>hStfzD4DB&Y>-oxJXYlJ`XFjnucuNQWP1?5W34 zccu}n;=#y~H;uwm=uZR{gTPxmLO=u@%k)~@mkLfvS^%`J_9&B8J(JAGqi!K3P~PYJ z)5}6Xk_4Vs%u#JmFky8=fEFaL$R=#$rH0mD@=HY4hA_IsZ)DR*1;NO{J+z@t4A|6i zsNT<#2k(G*zp1>n?}kN!OnHTu+qT!47u zA?i{8T1nlL>i*v<`8BH^{n-9xH8sojf9%m!8OQ(b8<`?glG2jJt71IL8s0@6k3PID z7x9sA5X8j9QavH_BcF#9ZwFr_%A|FdTR1`&XAyv|rPZJRhUth#JpL&UNr(gDdlK`Y z5!3*!VIa%QSyD1fs%H%7qA#$)VP(){VP8-NhuNU=g|W9q;Z{WeCSG|=d2E!VZR+)r~J{L`sc~jExw-l)mGA zaffpAd+8(Z&j)ox6P5XPW$ozyDC^iK4Y?((A*vl*>)hHvB zA3m7R(|8LnJWI9n7-fLF!%hytqpGB2qlX+P5w#DP3b+CUH?}i)$s~ROcX0zX1}hz} z3FEPt;4RXK{Ps%^)a+||>W|EIk91wl126sg`g@q`k54t9dZ~PH&zyl}2iDd(bNAcq z<~6y_y0r(E4b0gySZ=qC-GBXmUpjEL@)n{zy><1#rT=ZdHf!0PFYZYmc;hphveJw8 zym;rbEIDh_XWlrV+`i!(k3W#wI_t^r{bqO1_1z_n+rQg=eb4USeDBFwTT>4_{*4Vy z+Z#te+uyfk{@~#JEq(p!7?AmTL1Unu#sJN#7oJzBp8z%akDon$ZGZo@kN@l+H%}b@ z{g&N7d-mfy+S_-0{Mn!F&Nx=;$pY0POnpFo__Q$P5$$o1oa%f68k(>Z521t<2z4Ca ztC|=Pdj)+iW`BG&H@P|)=m*&Flj4MU>>x3A5aPqtA?Uwyw4v%Eu+Gzkc=HgK!0g{n zcR`lg1sCu2D(452Ni$j1n4|nDA{`r%8vM%E!(TwY>9MN0Es-+fulxOx67Cs$pr8sE2`UiR^6 zSF`HRal*5##Ou{kXb7cKy*DW@QckriSFM9LLn;`{4iu{XYp86{R6r8rN)a39z3KPs zu2z2hxoI7AA7voN`&PGs7WrLl4|>q}Jc{q{^P zfvav1Srp@nyb3u@uk~&lmSvC$Q+4sp9@E4$Saa4J_T zDL^j17s(9WOlXuy)A3b00%g^4T_>gQji5+sW_Gm|i93PS|2wl5r9vR9M~pJ&H$E?b z+#?Ev)(h&1F`eSzhv$d`s1wD*yjj`aMdNA~o{y2eiK+4IPz z%9(WmVq=N@4Ajk3ex@_w8iQ`U@vML;nF-&Ar;A8WSbVwUmd}50M=GVeWl5!WeDCwO zl!OP@Y-`q?B{XkaGw9Ss2D*@eBt?7<|Ni$S;Z1|h%5J3BGz%%A-aKOd0l3yu94|%u z?hgz1(ENZgWhDKjfsA?x+e?!#ERVejF=y9mY}xg~A>q!8jY8sy$E^!gNDEA;RVNlSKsj5iiL9u1PZ4WjeAer* zH176NAMC_yNE;~d4F`j1V8KgzX7iD|@_18X?|^ztBXG&w>LoLpa&Ps_UVB*^-8;l4 z59_HYFt7;(PSrHY7y>#U4SH8*vN#Z3dlkiM*WqVZt&KJv=a93Z*#mpy&FV2JWmZ4Z zIv)nF=5g?qYQxI%1}228VG-wEzakwV%#Si zIm9ACPd+S%;C)8_!}Opsi9qjh3XJ$HjralshC|wPMoU#Slhl)ktq@Qfgfi2xRK(D! zr+lxTY2WBEAfb>DfHE|*O)e{_L$yfMqWUpiIp-LO>3{J0Jbny5GUM2YyC#YOp7w%g zD3bvj{Jx`1)xfdT4@6PqO82E&#J1V z(U5-awc*!aSN~1ppgvV}sHIM6kN-0Ei|*|Us`zPj?b>sGk})?cM_+q=__fzp@FYnGI;(6=V35PK>Qs!O!qLCh&7}oL|Ek zJuZTlKpI$Uc^Vw$1bG2#SF_E4be!nFf<>!^qC=o5Zu8ft*qWK0^!UE zW+Z{Q@N{b2AV(@M*DAjJqnG~NAb^8{oX0<5mxBu=_mCm*8@X`4jpyVGcjCwyp0Xs< zh?=9C`{+cz2Dx1Mxt6uE_~(}zkS!+Cu?&kKaCAIthB9M55He(14tQa!7N!XsaTRj_ z$x&I%UGI)1V{Y=>QIAzSN$%2|^*TzDa6!pfGGi6tv=FIy zRAY`awh#UJ%C~p7{Bu9RwoAXcOp-+Qz0I4Mf1tjmzar0DGpA_@Y~FGUOMS7b!kip` zc_>&J$`!Aw8*GcfeN;V_T~HozhiW>4{`!&vPrNpejf0Xd?pshK6=#|$kaS(!0QY6dfrpBH9?7aEJ7 z3Iu}z_GFLJyZ8{X(6iWHad>q2si&l;(!XYph>3J}k23rfw;Rr4PX%Tq5;Ji3izN3Q zD`tDrk3bbxnEo$+`q#=Z?oFlGBhQk>3vFW ztTDzl&5*J-HG>ufiP{|JOE{pgs;yxV5l_ck(`$_Co+of;7mG(#aDWkDHC3@?5eBlS zU-g;oukJG3BHvpO0Sf8h9<@61oA1Ge7dQHXJ4=*jjT^--L ze#g;Enx)ZRrMtBx*0Hd%Y1N!|S8f(NAU-OU%-=gWc+<)T@pyW;cG=YfgZmcMfE(QS z=_Je1nF|oNt=5BvLA6%m>+ELuB#$MO%7Fg-!+`Ds`ye-LP@#O!DTWpTi);n@W_VDhmoKQzeO% z_uSunGna1UCLvU`mB*#)by8H{PoNX^D^nd|gSg|xV$`Yvx8hpC2JtW( z66X#pZuTzHGK;6uo~Asz;-Q1_%oI&3} zJSoN`(UN5~&M-h%jRgNmpr)PIEzhOT(wIw}gfSokT{sd;y5nWNu zM&ljr9r65F1UkwfdqQz2zhO5o_~L@iy|rV#cHCQ|T0e2h{STEAcU?)6R`t zN(i!@>;}hINm}2=hvT>eLM?e^fZ26pcOqrF3kn6t633>TRZX&XkDn(7g;ikV=!#oQ@IaL^sA48Wj4Mlh2qEXPzc~ zjB()fub(kN_kxds)1x#-vN#4FmJB?0JyCN}BiXkR2aikiP4SWB(-?Q;3>HsGD?T8-3-g-?%$j zyn5HQeY#VVzH4`_F80r@TQj&!oa~Tc^a~%D(?tHt%lho3?|HjwJfrISON}RdK8?~j zvkVkzs6kj&a2qMIJrFfZ7u9M-wN6owb@8^gX9qyfygPh1l-*b>uz_#JfmyS6$$U~h z9u;&kyS|qy)g<1;f=lQl8GVMy0_;`LXUxDR`bZK1gg){1W~*xQ1{)q`bYl|Cj6!G# z>#W@DOSXfJd#r3$<3zB*!hz)z!3Jq85g)gW^%E0!Q?Ox1`9xH~LjOPVLy@?JM-@c> zrSXE&pgaLkNzFj8lfQxs(`qm%!eq?5EqFEHAVA`iVLh%+u?Sb^bo6}c!DL|%K|EGV z>gN~LY8&icZ|AEIr1FaF7k4=>c2`QwMEIu+-67WEfIq+k_=JHGP40V7_P zsz-yuPhJF#kh7s@f=#A*DT**M@EqMi@?wNtR|a^@4)#>6I8yDkJ#AJL3av;CGu5nCWXkNzv<1@GK5)8|{WX&j`t$1OZ_jmNe+i z=)#<@rEiP{oT}gW2?y#oe!@W)8g#7^p|wqktffh0EqfKOE3jAB0zUcTn&(#MC7c6C zX3st{;7YhxKewiKeO=x9+6!El&XqkAHio|2H$>3G3WdU0m%%-5atXi2`O zBWV#mhN*58b0b zMbDrx!V6NfSulJTd?>9@Djlq=3+kh$W(dS1k)~N?ql-v19>$U3^M>!z75x|5<2Cj9 z8DzE^cfJbth9q;-Q`M;J3&fr`HyW#qXe~~Ya05zjBF-BRJP6?zO78FAq+ z5O@B}<;=X-HGK2KU;Xxm9lzqixfb5}!s}$!lzCBiq*DhWXO^+nI za>z>_5rUXa1u4Gb%{N!P@dp1k%O}&q*hwjlpbYVNT7Z{;lPC2baSKhG_-Hb|EWQ>r z!5dAl09znVE%|Q4>^W{zZb5y25>>Z%q5dL%pizLY7H%b1`e1oS-= z;tMdXhEq{|M^cfq!i-kbStmr^Ozh)66%9n-@H(Kl$|bNv)cWc9C>kT_n6UOiDolI0 z89XusA(n-nOsXDlYdwk)I%oEzO85wO`ksb zAK68BW09cc4b6)3na`l9EI@e`kdiXf{}#urQTISu&XDJ<^nUSHC{I2mpE*W3qnh-L zS%zmV%0=}W0d7gn2aF4r9`w5?*34~cEdVS8U<2f~5S7D)2u$M;WVE?UA}>C;$nB|& z00{RMyS58Bv(5}h&lCKHai1ulP{9Yv)Ij%nqr^BY_dGvXL+UH2A+&{xE4Tu+1e=(t$exRfnRT}r3Ze)3ma9^k=%*R@+P5Ym6>7 z#{Ox7P|M=%=-NF8CJ+J#_5dNErom;xlg?KkYf4--M=iqYV-gppWoDF~a>YQS6`w5L zmr3q2fm@_#MrFVc!D@=shV;tVNRcQJ>4i;#ZxV(sj!PJGh-HrWRpxg!S5~i#?cjV4 z<^*+5^bviy(-h*;`5-_ShnwFa)qNHFiTDcc#*{>FuOEm47=LwK;9)){VDpNxN9|3v z^F%54qUC1`^Dsj$5r&1;+FU`{AI*UQ%pNfq0ox%sLli_Zsh2=U=11W!iiQG)21UCj zhby#saf=&2>y|9EHwz@jpNOP}cf-^!@Cy{y3U3Gf7*UXVShZ1HI`^Z-SyLifP_?lL zB?%ZSRnpk2TJ$ycD)>Xx0ZBZ}f)dFHyY{M{9A!gU>KnBqB$LDnqFxNxsrXaiXCd6d z@$&f;Osj3POESISG}dAY#TkH$P;g&Cx~h zKsY396t)W6g720@DYM1 zAKh)@Z^9FyOv7iCg9zz}Ht|?d(b#HT1!LdO=0amXt?r>Y{noS8BLKDlHtmOvNQrPybR9e z;6XC5f_RKyKnFW`keUlahh!f{!qR|-;V=b|0E8x_V$fAC8y5L5%OB2hwlDBEEMr0eu)-*tGBmu1(u0%;F2?%>)eFtJMOy4hs#*}CNQ{Oyu+CaN81?!R*Nz8| zq<25XA#f}sjHEG=5pohGRU4IF6Hp&sUlWt5RtqSL3H*y-eihRX;of6tshz^j7&9s} z&6#GS$~yBa)ij$T-4X9lQ`3-_f19>toG2f!et5@@hpW}^mg&=5nrF-y`&;!;SFCpM(zZo6 z4OdUwdu&yf-5V*IbHlpMEXG0|!yQGv4G~wkyr7`aWwqtIyhWlVUe_tjXRhJ9&yYo! zODvBqu2Fso!@8%Pg;rBU&mCphlW|-&o_F=bY~hS%UV`+gWbcxy_APTOXIyd5+-+a} z*zTku>MhPK9=i0y%d_3t4VNr|?O=DYw=(8&6!;4qMP8#N(v-}bDNX9TdYY;qh>N2Ak<0lJ z{kx~endA{7%@;)SpMg;Jh6kQnH}ygOuI#Vuug1g1!-N>)I4>Zyn&H9S;AgvsmBY&6 zVYZup;Zzzq=Tte2YgAwC751j_F~ehmk<(X@3O$ylF!#(Yx(!2V3T>~vE25M0aff=4 z(brY|^OX7p{Q`0U(|n_)KjeYa zyHG>Y>rFO@dQm?l(Op}Aysd!Y%&Ox0WusX6S4GDxBc;)oy7 z%9lG;FSS?@%E@Y4`RFs>e&jM{G#W$^YHO1*7tXdbK4OZa zB}c%tpR=KAP`%1u$Lr<}E4!B+$$l?4=5$6KuVvB9ko8x|;dDrrT!256JY!1Ms{?!4 zAjt9vgwfcrh|?jM2^lj)N@xLX^Ah;~O7J?3+@jQ(2epazWoHS{mgq7Nl~b3=uWN!$ zg43KQdSSGI;Lb$B5Iu>lF*>PxWSl$Auo|#f$exBGs`4(A@+ZjZXY`wQGN!zCWH$h# z_onbcF?Ggn@?K1t@B+E`=-*@|bf9xML&o}MmQSja zYILUz3<1qv=k|m#p?LQ0c}uPzDlJ{Oe_`Xw+06(ECXJ+1#^Tzh>ab`;#Nl3t+wFK> z8Fs|Gs%m?ZPG?D9T~%kyZX6lI&`?_FC6$(hQqh0g_TJR?kIWyqeM@Ii$6!rzv9b~L z)|Z6;Qm#_?Q*nwBYku%EQFp(T@W-P~Ie$U0*nI$FSj2ooJ%`D-G5cJD3OhOxh6 z%!*RUtj+0SqoBN1R(X~`T3PlBH0X$dvuT%i_x?pRb)!xBqJy=KB&spU8w3_5s){5E zV7Rg2y-1@)8;mANv?Rif z>w7;|6ehfH29FD#9AE+rG9p{>;R+QQhU%D#aShj%5Q;^*%xsMh=;5=|ZmyFzdq~WS z$!M~YeL}@f3U*9R&~r!-&5?$~jQdRx+Ic;ko8T{qH-pcNa~1S>XL=C&c~zB<$MPkP zI@bKZ{^OdQ9B9{_<^DZ1GUMRe8}qU-#IPdQS582@|^Z%yME*)XF!hJSt*cuaPv~pDYQe ze$3db*dOGM8*q`P{?h`o`Kzm_|dLd}_!y|7kL>y0Oj(JcdzBhaR1 zZlp7w6@8z#02BFVzIB-9Vq`_RYa8zo>LslNh^eKO0h2!Rrq{!3q5URGfESfB%K)L@ z)LM{GPXfmU1uzQ{ZA4&g1R3CSA-+kQ)2yD<|6d_Mh9ZZXDZ>-tz)+3%C`xwI`i5hf zQNe=7#peb1Ou%k3!9Y`BKjO7jYidk3ld_ybi$PU(HrEM(HANR=*Zv=|J#a{(^;Oc- zajdHz>&&RtQvAHS0i9nlC9#~U`e_whXol~h%o<^<&#ek~)$E1|(6?OJ0JwNU7ZE0Y zJ&8jhM=I)DqwVR9e*|#0>aU-kA@nPN-F3R)zHX(Rq#>D!pbLOcyWT9Ducyd5SyDa; zc(G&xD+ftE&cx@HOT~Mn7smS1op6qT8SPtR;s{N=>6GD%%7e-?;_!j==h!+WDr5N1 zV293%BWHz2;94a`<8ESIChrIow?&}Qt^d)ndaiz31PX_P*#v(EVU+i9j3|sgnzz)w zf!|}`_s|_iK0efMoZ!Rf7d^iua@4cKo_s%K<|xtYs#3Q4%-qkLHRf{&$vJeLfQwYt z^Opl)kO_c0$pH~-9BWPmsIloN4+MM{1msCx^JF+4=}nmN%KY7*{>c@3%=GgB>o$Dm z`axUk=*VPXooR=zNnwBa(8%HWs@oPFD0f}24wU18(-YSm`{uSb!!V(BG7=gy=!z8; zWZ(PRFBksfJveFOis8QR9)! zk-t@5V4cIq5N!P9G1M36Dos`)VU>13ilA8Lo8ewbKuYXNT_LAGaw23_A=@@GA zkhkeew=KzTS<|1?E#2dNtD3Xt@BPH0MW5I^&)U4IFRuS`W(w4LBJz$7Yg8lf=x5lQ zMq0PQIo_rxZeNz8{4+QBM2N z7TtB;b3&2AD!jnrw}7+vdYV z^3dVUZQ}>ZxY?@)KR2X?C=^_JR5V)W@BR1?KNF4VQ94t0=(VO-wuY;ta?F5y;W8dS zDMMaGwj1Z^3wo1l9RV7`$wPcH%Q@MFf@!?qt#Dvy-SFHahZ`sNf^+;P_N{Kt-u~Dh zZa`yg8QnLzLZ`Y)lu}awwfajZ`&YM^IyT7^X?n(i=h%TQa+4S#rSdv-H? z-cIqqIHj%6)6^KaG|s4wOX1sYVTPB=i&X6gj;6^Y6r-&i;AeRwKS@lbnp_f%Pqccdx?R!}i?C z-x8Fa>U_rpwwxP+=5y^2x(zK#I`K}5RwBE|PYvyd7cLwol8l_@(B6XVfrZA30{8hi zM%i$}1sZeI)Bh87{rIUc(a@q{4YqL~`sQ8Pqwy3~7aNtM?mOTlDC zA|SFW9(w2@A9#Y;ubbvW-O=lU*xGR99 z3N20~i?l7lSTgD}D9`v4YQcb$M&+O{=&}u+YMSuD$~|#V1UjOEX-{oLd$Ku!W%KyC zeqA2#Clg1U`&2s*k>YB55XpW{kK&yR-HO_gk1#ONyirj`l9WySfKh6dJESE&#Ri*=-m}3EGa;G|Bh;(#t!Pe!=HxojRLYS!&Yh_8W z2)^@B#9#R!tcWqH)dMgb-e+d3K=s6FteToUalo<4n6$pW4& z-K0h%Ax?rn2Pq{!#9`AsjZcQ$%dK+4s@#!kKCVK58_@!c*l+SgsBbhmf;UCk$VV{= zK=BWb3bQ0tH;@&|3U-3YC*?Q}Pp}nyX%Hky#>zr#1KExe{w9M`rF!SG&I~<Z* z_lC`GneONIEnKFq>z37i<$PLADx9`%Y&L7tUe<^*vbW8Fk1uNm+}7RN2^P6 zUQx9lc-TTa^)J+TW*{FGv#cBbu>XSUQxsR~B#pMe0AQW*#jU4BGEnc4b*niwd7jdL z>GnQp4IC{BI$@>n!P0;g3;5Y{$>HB8hpUOA41g_HWiK=b$QY=(nxvaA$6Nw}c%2yd zFrXld5Pk(CUk1x;5imPrqiYJ)&?f+~2W!2)UtMTYeGN4a6AGn^~dVhNCu zFK9IC>&Q2T7*H)7Q#q6OJ{{$QQjEi(_>d;vjl-TGjHF_z<-wlN2t;ByC*gnO46qN) zPShzg(LhSXfWl$!5@;CH%W!c6Lq{{K=pTB5W;PCpf(+lpJNsEd2VCM&^7Bi}76b?C zn8P`S7J6vL`!(PVJ3xs{gU4r%sL+s17kx*Jcc_}3*y0%bgcha!Mcxqv?0Mc1NJ=yW zL{j+Zj*0c7jMp5;eVy+$&(PB}bE{u?HG}$ocumzmW;eapzvv~Fs4Hw2wPv|cST;z3 zXcf7*VatUBv61+fW=ga)Zy#QMhz>4Pc8EGJT1@dU&AJy03O6RPH2j!n=11%61?q}= z_Qf-_(FT_xu2v|>dp9e=~II>b1R0dZvmyEeo*4A?JTA%47q8vEadhS!UTj+y?2&gWuZbofm z5+i*xjdX3(k7=KIOuvtx)8jZNbT!s`3}kEunM2(%RA}VW1{!1h7~o6v5fwas&R)Gt zNbHlSem>EIdXJx8A=Ae|Ul@TCGr`1>K(AW@{_hmpDjT?B;{6CKKb?C%#Y{&lHeQn6 zkoaT}Fnn3%fkhd)%reIUh~Nq%TL(Or#Neg{iw>3^H(ZC|H@MZJAIYs2US*O|%jnjk zQjcY;w{A|OtJrCeir2wO)~Tis{rTRd5`Z?QCDJEeyW;n|?*{})G#NiBevE$I{m!1) zGC-2xu3#zGk!ZFsn8@R&n?g0M0d|wJy=F-&A(_`_Ss->k@TpIUdlY#Tz(tR96w0*& zI4!dI?RLMN{dWB4tUL?;M^PoH6B%`a9Y!Nz2Y{=*d(YZqx?toirn&a$=-C zLSyR4B2w%c5Tpfm3!pivVMkJ+ZCGwiRZ4G#w`b1uRY{$hek& zP#)-;wSGx$L>{Akke+Ra{Or@h&jcZw*-p#|vkTqy!c9SwG6E@yfW~oYH7F(;h@9=x zJeLvr4$rALyDqU?LyrIu;srE;`!z!cfGa}6Si;MO7F(8!h_tl4`M@#QMM&&E@Sdr? zfx0yRY|eG&!^v4|WnpRWP+4weO_|MBQd!~3uZsK1Qv<2;vfhQs$iiS~da=7A;S;Nt zEZbbYs(Ya)*%G}Sch8O_7VlY?Xs8PNN`kp;cC@ywHkxRi9**{ggFP{Ow9p-`YpsjM zntQ{Yjdh*2kl)Gn^Sk1${gG&2s8G9$9;CZEn(8`p!hRPGv9S|ehXO0Sd4IDRL*+#gH&DHw@c8rdBX!9{W5jN?ug&)way%|iAdjvUH$)xo z6;Y!tKUcde*)aL8+LDR8(0v3W@6Y7d&4xLSC+~)Ps8{?>(uOqo_VD?cNHzTd0nWp(BCaNVzG*? z^{rQ~X`g$|Cl`hnFI(Ub4y{<3s9iHqUB77iW!o3k&%OG-IiVRd`U<=5nq9GKZk;Ih zZM>pRDja)r@R3^9a5@lda$_B7wlVh`K-0_+(@>|?|jr>8qCeDnBCqmKh@ll zTDWccvTGM4q%4>Hcv+FVd?sHP!QTA??-o^KyKoXY(|I5mXc#}kdmynoaC&8q!DklV zn&F@j8!W15GerR&+4CP?cHoyEn`cV5{IlTw zc{>MA&fYoukFK|x{^t7I?8|2VcFy+Mf6P<9@VmC(OK%l2&uL-!}*3qSIWom-!} zb#9{aa9L>8iPzX_<$p0EaD4l@34 zTIN3KD&>xkDR&sII!}uXuDocAnB?0>Z#P`^jMfO#mhJl28v*nQ+iZRpWhXBK0l-PWO3S*p_$4eyEEG;e&j#cjk%F5 z<1Q`K(%s@ECG!)~K4|b)bYI;aP6fwGq?g0fqTSbak9`^rs&9(VO_r)bl@QSD- z>{JA|`Caq7nAelQEpqyTW?h1=}6LLsI0RfE0(h3|S3DBTS z9ygoERb!s={_tzvCzj9paNBo=zg047*R^G03++JA=alEmV z|D3*U{C?%>%36}w(_QRa(tM=#diS)-if<2pr|rYDmY?W;4QUN4|3j&zm(}7&9cpWRZip)lCZ2z%}aVkTh;g+@X9OnPK0wn zu2^$bnoXr3E5_Gdl6??Wjh;{N>t=);tWTPah!vO-CXhVN5h)2O79_kupe0li&VZOt zv7<*3Q~BVV{bMgmaV4OPNF$ob04n6I-OAddAS^ehg*T@kWpBcv z;0oR5fXd5#GIK0T0eFCFl+%k6>LU>bO`H*c_>N;jw4oYg9Km9^Nghp42wzDc0}>Zz zqM&4Tp`u|Nt3udXUB*3{mJJfAeYktSi5SxI=qnSj6jTB}nvAtb)7`b96+ydz=dE`l zl1aVFn?tn#CKC_>)GgJpx~^ubM~VK^Oms|!)xy0#B>epWDD#IJ$jIvK>7hxjM9b@bW?jYr3DC6-D zk^_9G0W2y>9J`n_QonNPqVkz{-t)lFtQ)@g!#A!7hp%|!hhMy5*3bj@+&Odc=PZIP zP#UOei{vQ65#`LEU;gq#eJ)quLtlRR&&+g06mlYMRn3i%N8bR!Cx#TPQ79q^*%Wvn zeJ*ZxVyLR(3@jwv@JyPdIF}}g-9_P2X1e1Jh8WYRY>|R>T`^QuHFU*C9$u!xzf=kF z!aFYM>bm5Ph5B9}E!tjcTfK4P>alNA#YmcWw9LoVV}m6#2}&w`m9Ev&_oz#eD%2z! zWxOBa&tgoW^U<(zW59Ev4Eoy{RKM!KDE-*5IHW9u&2DwxP~d ziyysa1=fVgQ1eHQ>4ONuL=uKjpcKuR2s8K#9?LQl*+6p-carkrPF8Y4RS#_a=8*K? zCbQXeqtRqCj@m0fbkm&!>Q7t#Zy`Ncm}Z26W@7bS;(BrYT}n0k@m=YM z(huFmer)(LuJNO>!??zOMa$sB=W@b8gCYVcf-s$oT&cy$i)Z@G*dLVH#^N)-QBJ-j zJ|dnp9US$8jsOWF&e~+yr2J1h_gZl-GroXJv(Vh2w#{qMPC@W6z}0Z(1avT02ZOs} zO^w{P46Zc1@jNpmW-!0UGS@`?Q-Y}uiI~iNb~{N1&b&Y(1)E)L%|@@1vz0vok9YM>CPZIC|c{}Vobr02R1Z7!u&2-JF| z-?^MxeL9r4T_I-l*7?Pi>4zI?(j%)-k60a0kI!Pxmmpmt%Ds~NzUCMNZvRfwNlYsk znvGP)<6WYeHFB%1e7A(9Mp99_P~v|!mG<(r1(epdRQeaBk}y6Bhot4w< z(E67diA~FQS^hSTC3lt4yp>Q`O04Cr8|9keLMFY)=53kDw!e-$*;byFe z9P~0S64K>cG?~Zp!Mc)nOqIP=d1h~OJy`%xhRUe=7D#PXbA^k&;kAAHKEG}Dk-nJ^ z%)Ra>pIEf)!C&35`#Dy=LS0sXF>lI$nVz38&RqaK# z-aVgMyY+MXdfDAY_3;9`$?7kU)b^A(a{`sduU()88!q|W-jpx0J(NH1&L7G*{QAM= z{Wm_pFWM9NYWIx!Gv`&zT2BWLvH2IRXbIKqHlKmKB}=#dfM2er=K5r_L|Q8J-EjpK>RH8- zHq{ZC#}bevfWY*U2Q3VEIPL=2T)APW|BrVM&sC#{l2$g89)q7M)17J@?R%hvPy>se zd2!9=$|YCNTh+gFZfSAf+D-s`kW$M`Soq(q-f|8cfw8-|;B@#N#&b!3>=I_aWA)R= z4>ql;*mLmy!8v!`v>O0w)fR|s5@=rMu_ZD5@TXh0aE|SR>{VXU4GX52qOc6cjOY+` z4e@}dDTZ8`FdG}-+vgU{r}=r=3{zjU5p)M4b2#Ho6=FTf+l={K>ISKbk&G8{O=^bd zg~V@NEIEm0o=j7#d=X6|w7^4=I1VKWV$tfk`K4RGq5R~)VP*Be!q>%)eZpDhXC2R+ z*%@q)D8FVm)Nig=4h36-(!7e{szK)4aQDVWq7$yLJ@>j%@Dku|%b zesjZcq&@framR)q{QjSZjEx)bUcc@adz95PPwdr6bA3M*c{9dQq*MwOtfYdI^m52( z5_OJCp%3_ha$SwKn1b;otH>!h-w@e4=t^3#nIJdlxOTu@AUkQKKO9f$t9gsME zT|}@??u(CR8OSiy&=8%FT8@L9&>~)UQ35xTiwrzzVq9cI5kkpNhQ!_caWSOo{V(AL z29`4bWZ=$)$?>8@HF?;g6gWQCq&|$uq5LYj*?>rsk|XITf5uIsW?FK%Fq)o3Dvb@@ zycUr&xnGdDlSoir@nA(Er{rjqG=%KI@?g9%mJ3JKtXYv^;Sa-bmTc{5jq7lyI8KsG z7h;WVCTSMO=-%XYS(9bS9Dic`;CQZcr#&~}cR6;z4K4eGGi>RyB>d{m@Y49B4LOOj zq}Am~_$dXe%bVQkwC^AaFxS4*nG4(WUVj3QhMnrp!~<7$@7%Pmz9iK%Q2(S(Sw2-i zyC+przi!jcZt{Y8Mov*4BSU-FE!`w9*Fj;+lE|5Lr)G+&&BnHVsefd+6|1n{Dgihx(=sONMJk!EljAQI)mPF?|fglyLchT_FEa zknv@aPY-Y=s+bHQgntFt2fFKKhf`ES2Bm6EE#7?WCIraSj1fKnxwnTourer*0|I-! z!(|l3%g6qqcTs(RA!MF`!5t5ua~d(?)p&nU5pbv6Q0BrbcN`N9yphv*QfD7N$aD>k zb^^EkD!WeiB5Dk2e^d>R3VB9r!1?*OrpIhbZGL*r*VEhcid@dZZ1JPYvw7~;NFrPq z%4h4`Es=N>NBQDAbQQthhtSh3D`MyG!})q@*bmob@2Vg*0|~GH4&fFgTOi@l z=}Cl!PN*Ga0N^tYRYMAXYsOWG#Pr7u6Nlt&LNw`^@rqC0&bd-5q%qk&0jly+nUCny`SAu(Y&{-Yj1PK*3aziXLiD@KgU5Lq#G>Iu)gwz7b@33MWT+(n^pLA#?|zS(81yBDz|rZY_Gg-_+Us92R^xQ z;U@<~$vDC@+q~=LCk~a}91MqpHA_sT;nRy_2|zVyL;KYeh;iU)tX@9N6=?L|fH^DDKz_}aV=Z*Fhj{NZ`p zer(=k^n_Vh@z78Ar4Q}D)K zz=#BZvpnh=<0KPlIJs7pCL>H~5+@$Di{M4w6C|fM-lgeU5wvtt_cOg(wqRPbOF1rz zJ)P{uqIsnq+vZhP&Ldljd6gcI(lPfd8^WRCSW7Zrzgjc6vuoMXJGZn@*ozgPy<i4^x&5{$pRoD!7Ahn1$cU`` zYmRuB(Of%gWg1Q+M`A%`B;a;YD(*bcXmB)zbRcqbXx?}<*)ykWRoeq~o;oOeQg{+f z^`zxFI_aEx(u4?udc(QP`Q-a2pZ{;~ADPs*C2n+_F?gn2IQ`52^&@9KFwrTwSffRFs6L=p5s|`Fb=&9Cw|?$6 zvHaE_Deo!ok>du4zvMANY8?AM9u+vI11^_{1BFBx?&IY%eBGog@M$BMwt&VAfFo9@t)_N%YlJh!rJ{$>4(4{m50 z`}~tU0@s4g&1_TGrW<-+dZ*{gWewu*25-G&euK{>I}`1Tc1@pk-KN?3#_ZJA!_p2V z8SGv^JvCJ08k;eHQ)_z7Ypqt4t{)8f#j#Z~LNA z1GO*Kd#>0)dS)VNxjvoJbHd9(5R^5ytR$KQKBY;&4z)VyazK2%&2IiJ(a3M+eioPs z)k{@O8)?`fYK05^%6A_d9=dy&f8WjbMtNLX14;u0Aj1C)6m$|C#J|FCOh2OTcJK%M z8M<|}lwjey>8Q{HniX>J@j%nv)P}%A;Tr`8n+p6gR7)Xn%}pE#Oe$9i8dnc#mAaUb zQ>#QfU`gQOu`a1my223{dySTVlhv8?6O$0?i6S=FtLf1nN&xnzj3e#q>&vz``Rl!N zu0OuCy<_R|>*f?R1{yCdt6R^$+PlBCsHY^+8*RI~w{ORXXG}k^qfZq2I%(z3jVGcx zuSh4-4>~>YC5ZR_fdrpY2C=;`=(929xoyvVQmzVzD{naZ+*a1lZ2n;2cLmWrr_&wv zy}0Dwo3_Q{+itpd393Mtz!<1fY_d>a0TcuPLDWuaE$G(Bljoty#24m4ih#kf2x=${ zDa%prA3JUmp#0KJgjIln^nsE2Hh%ZnqkE>wSh*kg%;4Z>9sn^QPup|!+3(7+R1oe; zF3-v}itnSXIi0CYv9g|O&MwL2i}pY8{Eih5$Q$}%vAzxR11oks|G@r5 zCy$GeAYqZeK&UY&8>iS}QkTJBDMM$E5!M|Wm#^nX4c82PbE_&Jm1o@eGj9#;-R9 z#lF&HIGl$E17Q)uwcU|$PghHs&uspCaA@t8+S=Jo@tm(2@)OPRL~EJf{P%3Ly{Ki; zhXy?LA>X{3iUl*;J>KqFbBdCUd0C-o)bDIvzVnh{-@*4jRKK&k>C(lGg*DwVZ#?YJ z&dri+w(N@bPUqs=R@aWb?}^t1-LQN%IE$T3EG-O_IBdg45cR2>o4m=*Q4RELWrj_TIV=4yLU zQ)$qZH8?L;SuwDwwYaM~V6|Co25-P;gqk3`=dvS8W3al&W%m{3nR1LqlQ9@CF3b&N z1#<|apkl%(E{BSBY6PxBpgB1c@Wh?}!w>ekcqa~$mIxA^M09lOlB9alg|%G&L|kPi z@`>4g@)IuoH_U*9AIGO;S{uHO8oKYUXk}64((1uL=pd6pxI3fu!V77EtQ=@WOA6Wr3x2$aa)0^x*<-M%Dtb8YAPwK6Zf2jv3FLVS` z)>ZQOL$>RjMnG|WVifVaR0A^(>dH8#WmX0%kLrdhNZ<51Ky!;nwFl?+Py%97z)d&@ zr%e+CK~?A&WnpLEW7FVc;!%>$Qe|a{$t;nqQ6Gg|?9ud=eUghU7H?OsGCi7J%x;5? z;ga;0t0b55sCe6>^dk81x*x^~2B9XW;Zjiw%E~2WUTCrbO7c1(xjI)Bmvqu^A%I); zk!wyu{appF35$M{LGaZ&rR(zC9_QGt$rhZ9-RSh>xy4O?%BeD;7n^gOS^ki}65L@| zWx(c*xPO}CD{GBLTg!adM*_arv*^6Q|ISyF76HlJmdxhUq+E(nTNJgw;@~6SDmS!~4TJFnw-50=lf#scNlT-y%4?fJ1 ze-y5vdQdT7*~~!8KJQqhEx^)G->8#BGEu~5w*=l36J42FFPeHmq#$PeK}=zE8|FiZ zt0k4pXyzhlq)?oVlw3gijbq9-eMM0olyankLKaG1@%WYP4UN`pr`?!ij7;xO`L4a` zrfYqv{uyCh08-o9*wB9E7p@3~je(9(YEd+&sHDng$aUltW=Wo?KR>7F>c##Bf3QHZ zN)IZ^S2mG-AoN#%)a(RLC_g+ae6xYELhp=&GwQd-Z2kM6+&}MNTVY2iIX5omhZD|N z%$W%1ivW0sIttqk&fEXQ)zfYMSqYoHqrsgBxtYOY%JG^+XE;{spEtv7`~u3(>c0s& zYTXH75nq4q)>&%(!kpbaYMup21NE~YLl49H(~02GaAARUz^biCos1arD7vDXA(Dal zjVzn;g5<`4v^||ZZnC{%v5HT;BO(^l`&l;DA?8@v4=grzPz;;w>|OILTbAMU>n?m7 zlB3_VW?Kw_(f_i*e8pf2!T+#j^esaOLuEo9Kt8+psAcN<&Z%K?^U77-7#ljpeY5(H}NB+wuY_@b2zg9xr?)$3SdwNa!>r0^T7Bj^ZjM(=U( z(2m42npMXFD$<&mNB;<}2=ZB4UA2_LT9zXK(qx?MeN`9VH!I~>r+$p-f#g&yMwyZ-e@zJN))-PZ4 z_p75fofU2xe0b1WQx`YB`)8&4ZRJnt?Y|%-oKv)7}+YEHQZtk76!a7lc8&Aam5V3vf1dh zN%nx%Y!j_{;^EfIJ7zw*L!3UgE5E8FWDe9Jh_8`AFxf?Ze(9`94AUJq8`dxaN;UkHCB=%tKec-pII@h(mxnBdXnhF`Zn$)o)-{- z1;NQ7VdCMS{>k%bY6h}(0C|chF=T1Nrr$6MX?XI4czL+ulIC~}Jk?S{%bN6%BwD7) z9p$u3DSXQqFddp)vKg-nPL=8vPop9rwWJH`%k#pb6SMonwn!wDW42k%XTEKSL<$lChm>u%=UVL!v*@&%EO>v1u{m1T z-WWG9t1~~(Wjwvg;>mXu6qh=iceQ3kV?l!<+mVZvN^Bi!31nLhSr(%$%U_dp^e$ar zv;K`;_1m{?C@btuH95Rtwc za%=%#Zi!7o`)*dgnpn7CRyb1SDeFkMM02h!E0V0pk7Mo1^+$589&3JCbz>;8Y}M-W zvY|x9##M9j-8uH0tQ;#M_xkg)X`OQ^D;GK5*m zWPu-kYb7vJ2D=@v?k?(`HoMH4Ka?Md=UR&*1zEltzulLe?Q!QAvh2BTyWM+ZZugu; z@j!DRyR^2^6YTIieffD-3G)i(mQC5dJiEET7p*Ui>r^8ej@;Lp$oc7%2d{=QUmSmPw zTwYUCbm+CB}{^{ZBOE0^uq4UT+hnuaza7byl=3A{+G24^__-1yF z+2YN&`{N}x*a?)(h+DlzmSwY>^4k7bkjI?G4l&zmF`B<@DD=3)StbOIa2B;W5QM3& zzT9l~1Va|98xYWKyhA0O=GZW&BBz&!KUT-auEDaaupQXh*aHUOXP*Tj&Ok^ z*GmnX<0x-T&00`lVg`&kLtw^?l*eGru^9}O{6wC?lPJt(hw}otCduk{*z7FFoSmC2 zEpywg&f=n|-BzGDORGF4#=L%;WU*%z6b9{vY^&8^FiO%+bB;U5nq%@N>H?C}8tSZ% zjQz$AR+rg>jy#s_hp`ONNHQ(7W*Od)2yue|)HFeIYDX0uG&7?9Jzh`U6xJXyl{0|a zn9uksYoIcxgithgB?98+Kp_2~4eH(^Tl&60fSov+<#d>h7E6xF?WV9M1!ZA(%y%S< zLfGoDVzXS92TXJ!&wlLsz~~=|bp;Oni~wgzNF@;uq#v;1BW?-A6O<-q;u42hQuZ5= zY$8B0OdP?If?(VKYwpSe<2?E?Z zwl_Z>!tqZldw1shcIM5SH*em|yf^cvgl@d2s=B%Z7wh6KTE2r;+231MS>4%C?qtw> z!iSf%{O91W{Kqjy8jpLM`2>{FFq$3OxGIVFXJhj=1b$OZzK*j26EjRF7T<*mr;
{!ct@ObTKAIv;UEyI~- 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 literal 0 HcmV?d00001 diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/SideMenuDemoCtl.xaml b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/SideMenuDemoCtl.xaml index 0ffcf88e..1b9da3bf 100644 --- a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/SideMenuDemoCtl.xaml +++ b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/SideMenuDemoCtl.xaml @@ -6,31 +6,141 @@ Background="{DynamicResource RegionBrush}"> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Shared/HandyControl_Shared/Controls/SideMenu/SideMenu.cs b/src/Shared/HandyControl_Shared/Controls/SideMenu/SideMenu.cs index d8fc2a07..d419a4cd 100644 --- a/src/Shared/HandyControl_Shared/Controls/SideMenu/SideMenu.cs +++ b/src/Shared/HandyControl_Shared/Controls/SideMenu/SideMenu.cs @@ -1,4 +1,5 @@ using System.Windows; +using HandyControl.Data; namespace HandyControl.Controls { @@ -6,6 +7,41 @@ namespace HandyControl.Controls { private SideMenuItem _selectedItem; + private SideMenuItem _selectedHeader; + + public SideMenu() + { + AddHandler(SideMenuItem.SelectedEvent, new RoutedEventHandler(SideMenuItemSelected)); + } + + private void SideMenuItemSelected(object sender, RoutedEventArgs e) + { + if (e.OriginalSource is SideMenuItem item) + { + if (item.Role == SideMenuItemRole.Item) + { + if (_selectedItem != null) + { + _selectedItem.IsSelected = false; + } + + _selectedItem = item; + _selectedItem.IsSelected = true; + } + else + { + if (_selectedHeader != null) + { + _selectedHeader.IsSelected = false; + } + + _selectedHeader = item; + _selectedHeader.IsSelected = true; + _selectedHeader.SelectDefaultItem(_selectedItem); + } + } + } + protected override DependencyObject GetContainerForItemOverride() => new SideMenuItem(); protected override bool IsItemItsOwnContainerOverride(object item) => item is SideMenuItem; diff --git a/src/Shared/HandyControl_Shared/Controls/SideMenu/SideMenuItem.cs b/src/Shared/HandyControl_Shared/Controls/SideMenu/SideMenuItem.cs index c7802260..c5fa28f9 100644 --- a/src/Shared/HandyControl_Shared/Controls/SideMenu/SideMenuItem.cs +++ b/src/Shared/HandyControl_Shared/Controls/SideMenu/SideMenuItem.cs @@ -1,10 +1,14 @@ -using System.Windows; +using System.Linq; +using System.Windows; +using System.Windows.Input; using HandyControl.Data; namespace HandyControl.Controls { public class SideMenuItem : HeaderedSimpleItemsControl, ISelectable { + private bool _isMouseLeftButtonDown; + public static readonly DependencyProperty IconProperty = DependencyProperty.Register( "Icon", typeof(object), typeof(SideMenuItem), new PropertyMetadata(default(object))); @@ -35,21 +39,59 @@ namespace HandyControl.Controls set => SetValue(IsSelectedProperty, value); } - private static readonly DependencyPropertyKey RolePropertyKey = - DependencyProperty.RegisterReadOnly(nameof(Role), typeof(SideMenuItemRole), typeof(SideMenuItem), - new PropertyMetadata(SideMenuItemRole.Header)); + public static readonly DependencyProperty RoleProperty = DependencyProperty.Register( + "Role", typeof(SideMenuItemRole), typeof(SideMenuItem), new PropertyMetadata(default(SideMenuItemRole))); - public static readonly DependencyProperty RoleProperty = RolePropertyKey.DependencyProperty; - - public SideMenuItemRole Role => (SideMenuItemRole) GetValue(RoleProperty); + public SideMenuItemRole Role + { + get => (SideMenuItemRole) GetValue(RoleProperty); + internal set => SetValue(RoleProperty, value); + } protected override DependencyObject GetContainerForItemOverride() => new SideMenuItem(); protected override bool IsItemItsOwnContainerOverride(object item) => item is SideMenuItem; - private void UpdateRole() + protected override void OnMouseLeave(MouseEventArgs e) { - + base.OnMouseLeave(e); + + _isMouseLeftButtonDown = false; + } + + protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e) + { + base.OnMouseLeftButtonDown(e); + + _isMouseLeftButtonDown = true; + } + + protected override void OnMouseLeftButtonUp(MouseButtonEventArgs e) + { + base.OnMouseLeftButtonUp(e); + + if (_isMouseLeftButtonDown) + { + if (!IsSelected) + { + IsSelected = true; + OnSelected(new RoutedEventArgs(SelectedEvent, this)); + } + _isMouseLeftButtonDown = false; + } + } + + internal void SelectDefaultItem(SideMenuItem menuItem) + { + if (Role == SideMenuItemRole.Header && ItemsHost.Children.Count > 0) + { + if (ItemsHost.Children.Contains(menuItem)) return; + var item = ItemsHost.Children.OfType().FirstOrDefault(); + if (item != null && !item.IsSelected) + { + item.OnSelected(new RoutedEventArgs(SelectedEvent, item)); + } + } } } } \ No newline at end of file diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/Base/SideMenuBaseStyle.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/Base/SideMenuBaseStyle.xaml index 66dccefc..720a9584 100644 --- a/src/Shared/HandyControl_Shared/Themes/Styles/Base/SideMenuBaseStyle.xaml +++ b/src/Shared/HandyControl_Shared/Themes/Styles/Base/SideMenuBaseStyle.xaml @@ -3,25 +3,83 @@ xmlns:controls="clr-namespace:HandyControl.Controls"> + +