From e174ae28c5901736f8562060dbd9db4984c05001 Mon Sep 17 00:00:00 2001 From: safavimohadeseh78 Date: Tue, 16 Jun 2026 17:01:35 +0330 Subject: [PATCH] chang icons of boursemes Co-authored-by: Cursor --- src/assets/img/boursecu-assets-icon.png | Bin 0 -> 4257 bytes src/assets/img/boursecu-buy-sell-icon.png | Bin 0 -> 6501 bytes src/assets/img/boursecu-convert-icon.png | Bin 0 -> 4029 bytes .../img/boursecu-physical-receive-icon.png | Bin 0 -> 4015 bytes src/assets/img/boursecu-transactions-icon.png | Bin 0 -> 4552 bytes src/assets/img/boursecu-wallet-icon.png | Bin 0 -> 4307 bytes src/layouts/config/navigation.ts | 30 ++++++-- src/layouts/desktop/DesktopNavItem.vue | 20 +++++- src/layouts/desktop/DesktopSidebar.vue | 2 + src/layouts/desktop/desktop-layout.less | 27 +++++++- src/layouts/mobile/MobileBottomNav.vue | 64 ++++++++++++++++-- src/layouts/types.ts | 1 + src/utils/config.ts | 43 ++++++++++++ .../home/components/HomeQuickActionBox.vue | 16 ++++- .../components/DesktopQuickActionsPanel.vue | 8 ++- .../home/desktop/styles/desktop-home.less | 8 +++ .../layouts/configs/boursecuQuickActions.ts | 9 ++- src/views/base/home/layouts/types.ts | 1 + .../base/user/composables/useUserPage.ts | 4 +- .../base/user/desktop/DesktopUserView.vue | 8 ++- .../user/desktop/styles/desktop-user.less | 8 +++ src/views/base/user/mobile/MobileUserView.vue | 15 +++- 22 files changed, 242 insertions(+), 22 deletions(-) create mode 100644 src/assets/img/boursecu-assets-icon.png create mode 100644 src/assets/img/boursecu-buy-sell-icon.png create mode 100644 src/assets/img/boursecu-convert-icon.png create mode 100644 src/assets/img/boursecu-physical-receive-icon.png create mode 100644 src/assets/img/boursecu-transactions-icon.png create mode 100644 src/assets/img/boursecu-wallet-icon.png diff --git a/src/assets/img/boursecu-assets-icon.png b/src/assets/img/boursecu-assets-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c4b9eba2431383007a53c4136d3cfa91e5c3a1a9 GIT binary patch literal 4257 zcma)=S3Dc;_s0{fiWoupsy%AgXjN*DYD9<{C3YIrCiZCUQ88P!NsSaWD|S)TtkkS( z>{+Y!C|_#){qBAjzl;CH^E|K5dCqv9yYoKSCkQBrhJywG0DxfHj|{Kh^#2@cs_R<` z=(z*{FaltY)QtmxTUN9_#y$UBuFbh}^D=6au~)LFi+;@^i(u*;y8*J(?7}}yM!Ht6 zJ;_6g6Y=Kd^>M>vM#<*p$-~qwygjB)o%cXwle}UFA?-EcnH1VJE&gX$ITAOw+$Vf_ zK6&qMWraHI49tYCUR_FguMN$7Hc$%@B$H871B+AT>!blvkSUZh>euQ{wNBBsApbA% zd{HfTJGDFR-okSy1o)f8yQErN3euBmMq&_#&gvQSY%l_g4~69vJ%mZr1}F^q>7aZ5 z*(+X6z@>D{HiTLXD!?jCBIhPRaP&XZ?Um1Qf+pqa9$PU&goN#RlUfA0d^}&?uPX(q zcbQfy!q1Ck)sikMyF(#J$gY0<|1#veptVL3rD8+W+SjEqwfBXw_P6x=CK0d-2)TRu zsvu!tX#+AXie+`^82p|qm~N)T<)GLlV3MmSoWslpgh_Y?mu$X+qc^6Mm;4Z5xaIst z^I8hB*)O>X_qH2M@^9YxB$!?`JLZgwZ+Zr+h~-PAA>%_)ql-Y9Xg!|H7RI6x?UV=7 zCk!~MUkJKikk4y3^(qp+ynRv3@O5^8-6BR!N=?QX1<)6#Q|VGoZ`8V{i$oVO^ta@? z5bvU-qsRwzQ0YU6SHTHyC?K1Z9o)dM>F+np^SY3kyb=Vpu}g%AOM;E*VztymYx5_F zzQ3`Cr0T(AZ>{;~MN>quTHg{RHuw-Z2I7#8bTswy&2NHl>_ zT^kJ~$=5VN{Q8)=?02fxMwX+!IVEEdiW;_}V=#Ctm7f5d@i~ z&)~=Pm5TAy_7OVpLY;YzomlvImPI}zI#a(-vgZqNU5OvpcvTqsPdajtt9EtYiI$|I zvOQa`|BLN6?B`(KCBII{VH<~#TL8K;7@eIcg9OlFK(Y4Z>rlwriRX~2M7HY1E$NBA zk?z7bG#6>{;0s2r#Dv2Pd6n0BV6C*uDjgB@ChcPQ!dOBA(QibbL4snXq@7JIIHjyd6nCyd9G zA}k_p$d~WQeL{uHSW1maKWKQ3J8czbchhgfy!Q9>uKDj z()vEQl|&A8)@Z7e=`rnRyRr2RTgz!uIOI6oL-wF}OqVa#x2b7?bLoVGJTv2g$ca&| z2QII|Cbu_;@6|B9+(ec+dXQ+F-7Y~M|KU&zO~|aZEw#_?1ZyIzTa1M z>Jz2U(Z4@Xa@RJy@^7`}D|qDl*)$GU<;mB(P*p+ zG~B5c`=mRr!Q1PF2&OFkWJkGEXLz8CbUWQjA3r!fAB5UbU`tnb`)Ir}&eIsV2yLAD zu^Z>c)h^lKuiQH64lK4BEyo`Su07fByZRKaJ${$z_^F8yT@m~wRwi)Q_=kqy(71D5 zi)56F5%cEH9WmYABC@+7=6@6Fs&+;^454|XW`C5{xQ<%}NbB3GtF^=YuWu(kL*H4U z@+^0A+RMAsL)^q(L>@4+ICj1LJ;m^q_?J{QHYIh(jRbiftujDAyFVpHBJ6mP|4%eTmDu-Df5LVjdp4$8gK<*7UaOb|K4mzu_;xZ)G%BKec^@1jE^Xsi-ah z&0+d5JEKV7W_Y{k1%~|m-4W1;yQ97~AI>3!7?1Ool$W%p7_*Og36nVT>X!jkwI*;` z)jMxIS308IAg^EuGG6Tf?X?4KrBKltmLGzdQ3X69C5wb`t{rZ^5_2q1N2H)@ve&y%v2!A@f6!LA;}Ohc*alcKam&adJx$|2jD8o1kS z2e#Dq(tbRE=>`d5Pg1OIz$$cmB63$xhx10qya6PXo$O@;&hDycOLH94O``9)dbs}Z zWc{p{%dHHBk^vFu7wxj&n=Je9PTTRUzg5VPjX!T`oT^Pkt3Jc%6%re5FKtCY;a{pN zbki0m-v0cwYd3{<{_1gV63$a>hwEkgJ5|us@J_!3TXak~fj3;Fq#RnjTkVCa<_tGN*O51j7DvW|ZvI#}jnWFZ|B6e z>+>_eVa=z$Y64b37S>a%>9gW{AMf@q-cfQ0*B9GF{k#3yvz8#~+@sqS1&GOvLE8Nt zR5d}FAqw*rT5pOupK6zR6H*noq-?nny{GU%9@1LA&zVo&THp{$Ue=jD{WRJfbRc?| zCx6;#zwMOtS<{FqK9@_o1~VRfbExB>#HPK}0S$>B&aqFW3eEVK5{WMES zS6l2m6t(gG+QUF8QJ;h*I^sRxf2YVWolVQEtd`bKXYU@Z%}gV6N#sv zGnP4j$LM-%y0~xN-q0-n)zfsg^BwRYqbu$>_&`zaRy6A$otTgMB(FacSuqZCT?&(^ zG(G(aU+DdSV|dU3^D#N8*JOPE-mF5i{!oj6heFi9pOl5$|GvIm$=bv_h4oY+hj!H0 z5fQ52sSTnR%d)bOHt$AI`zG>s*1divIOS=QSwms9w}t(^B*<@z>G~64#DMomPF7@~ za`4En0fXg=W8Xfj7xc!52$-0EYKG($${*|ILweu}y3oe&G15nVVd<7=|HGP-jXa*^ zUeBZxZm4Yhqd?d`ycb#Pr3$gEOyr67$NC=`Y>VFkVtoGHbhT_luq;Q96rSs{%7W zixIV1B0`#!2jbP|-+c1mt_XKxZV|;?El^}e`TKh4R(FtR`nimF4nA}HfVa$PU1rI{ z9uh_&Wxlvs(`b2N!Oj6|v5`(;}`=zHTT96&E~Stgjpe(Z`c0a0~0}; z6dfUu#_;fbjQHj&XNcR%o&v*B(E|>h!9S981PCU`5>mG7o-Y(b>NQ9G^c7Q*CzAQ2 zIZOW@29;F@)b*4f_PEj}v>CF;3dmhV97b0w*rImSwtV%6%zn(zs<|MJm@B!tB5Z2c zQ?T3QCrzINMrFXb8Zw>6V><1%r`r*mbOD9ovY*v9X5YPMp>@OO0(-s9@gLndLfHzW z<(7#|r=kIQC4!}^LV6-9*ONoyv~Z}F=^Xa3fF?EnYDJs{-&Hx*@|LXWfmR8t`OJzVD!%m6JkXG3PeM+b~egj$WqiFvM_5WI$Gou%1NdxdOz{|8RNer+1E0 zLW}N6H%ISqM6ae3S&M*3$kV+u0u&nuJCzNLa{;2pT%I1cY$S!C0Tu_d7AO)tMJC1vQPPte>&xAfAa$CWrzfGP^ZU z;>7f6=`#wUmN|SCG~#ol*CmdQ3KmMu?Iujlj`h2%@TsTmhAm%2NbDc-h0dF2l^u)n z9buQxZicr5#@QcZI#pQQ#3_597glP_iqhyw2r@ywZGBXPZ{x){k9VjqDX(|KnN4&~1b3Aai>{XOJB0Xcl^3|#m z-#CLwsR0xc^pj#t$hmD18_oQ;f886bToaPp=NsB9ml8^7=*eeK(b|iZ-GbGT&e+B*$BV>p-G4zNMyWrr3T*b+#pn| zgT-%s(82LygFT%vS9m}bFrVD1MfvmoJUot69u2L1*>{J`H# zK?WVg0nY@n_5k7EqZBX+<)9uwa7s5#KeooO>6$B}<1;IGz+@>%zAu8}(eYt|CQY&Z zXMB9uxC++&-!31zX-Eh&)&B>TlB~5Wu2%v&|Jeon7op-GS3piI9+Y@rH|Dd$YtSN$ z6)Icvne%{2;1sog?7-02-w$yo7GU@qJ-Gfw3bHV$YW$4LyzA-)0C08Hn)DWWot5f8 bS;+xs-6?gC?Ua6C_{2T>4#A*7L#uAv1aq!pi#^RR>t!lJ6lE3Qy}FWg+9N$n*69yALc&l5KEtX2_1B+9#*6xJ1=gN)^$iKtz{Z z&c8XGX~#4=s4XGxm47xaA)^n!Eq`|9g~l>EkG|l+VCq@Sn#%b(_R7u zm0K7TS)q!sf|z-lfq)}a4pc_H{SJbu`{#-A+PqLE5R8Ph)Jxda(cG8Lnmb?8keo(6!#~O@QG3jK|OC0 z^G?l6nhcjJ*v=|k zL>Wy)&ggOObbIKD?&qlSS2r;+h^q&QbUo)!9x8Ydg7PSkz1@5mY_y>RH*&9-JD;E6 zDl`Uw5^;xWXNA0oA1(7L+4e{&sm04lg~b-n_k=24XWYnLz!+)X>w1fJ?v|zx4ocyK zxzFv9tmY`5(!um`#xq~@mH~@$V9O;8qkKIC#Ucd9R=HKRw#*MY%|D36Y?1TjTG{$L z>@7fHD6Of-(p>e-$a>=yQLU;MddX?=57b;K61Eoyl>U|&1pmGM6g#H{m_VQJl_fFG za~bjbv!h5&p>^i`J=a&BFUJP!)r|wkH2euV5Cg5O?>VdIkfAtN#%?qv?n)OdIkF;S zjOS-eR9@< zMLY&`+`)byE~s-%^@%ZFL~l8qD<<=!q>S04@{RADI^6s4Sb}KPAD{LQs3f&~09|jb zjGbR3sG(E^0y&g?#&iUDDk^9~2|G^+3NI<+E~wb}S@RX;17SfN-d{M)FgK!w8LE0* zbIj}*TH~`PJ(WZV9{UDR5;u{`4Nlil5E6&yi8+zG6bn^?LwSO^u@`vMo`-vI%YV|p z%w_9UqNeg~wF^Ep?Lwo~`eE+j$+K%Kc@}bozb)9fI!?C7^)c)as~j{a??U{f z;+9W86})dH0(?!os19lrl4AG^XT>D^>$vdN@T-xSo0To zYpM#rkT2n}Z0AE^I5t<|YjINud-2%hh{{HL-$vLujOsQ%#Q#Ewj?6xw3W6rm62Kr`VR$nFE}0qp&?Tj$)u`Oh)zH7F z#%(U$(q_H6=k%}ZW#D@5>YF4-I3LTJkqffY@wvyZ;y4&eI^u7z!A?oI+_#LV1FrSr ziux!+Ze;Fzm3d=ui!M+!jyE7Sol#d%ow#u7Ze1Kzz?)$I;L%92i`j7Uvuu6JcdMG7 zCtKG33x;V`eqNVVvQCzG)$Q?ZD|&36s_r<|f9(R1%e;)>Gy(d4YJ45-KtJ)$Hy;+B zL-93RyTxBdQ{Ml^$aHQZZLo-dD#=O*tCfEQZA2ykfeT#tb@wH~{pxQA zp3*;0t>iLmI6_kB(|&Q0cUT$l`ab5&!!k)pewnW1=_53O%bl#3;oD4m%y9^>xfU!G zkiWvPDtg{g*Eoe^cQA3JO|`+JM+xdPzYZaKFAkb8@9yN_KdMu#8pJ7l-CvLxiw}Dm zKK7Vnlkhmdk(TKeyI?2J$k8?xZJ7Ecz=lEU58=qT2|d2txt>Chv*Eq})0G=x){r4}4;&L{r>)s!h%K5#02PQZh* z{`ne^QG#dZ9Bj0vH_|>mfU~{P+rYQ_8e(6E;VD-W2>V@^f1;gT*VN?q9#t?@lmjw? zwV@Vn71^?dJhf4C6x?O2xif^mnX|FBe4Mqi_31ip&hT4g!}lq8REA!jx65t==anv< z@%h79;Lsk4Il)PCxBGwku{#1r!!(v$N-Yw(eokQ;?nmN`Wn+zT+XnY^olPm}{1sVx zGPcUS7yeAhY|{0b9Y&2}TZ7}w-bU8_$e#s$AsV;V3f>W z8r3OTk&-`4=g2YQE2@!(-~F@=-%b;w9yzuLbshC0e}zzO*SftJF#Z&~Bl5j6dN0nT zl8nNuCg3i?*UwK$1E?1!`_U!AgS~V1+pdkN)KPjsV^1XzAtO|icF=RV6_sqi?+y4y z)VV`dGMxs=v*XSiTgx!AUXxD0P^qb~S*&`a7?EcMp=HLsIG|qhTNu2pbZuTJmfl}e z523tdPSTZ>0bmAB)(kNojhUe0GE&KLwo4~)x|EY9RG^RCd5k`)c~x&I z`W-!CBuvzHcce6K37lJu@+otcQEpt+yq&RLO1x9pV_6mHNrB9}%Kg3iO#tH#>jTd;>)3sP(I*2llAsp}+&&*k zyT1&&4^DXKF4&QGi-g9d+ zv@o+UZWo`b2IYb&ydHrwj`t`giiKSy`q=)6KBISiG@__^)HX)7rA)I&g4len&Sl*( zgLY;!0uaiDud2oOm(x5Qsj#R`a69Zi;n>zC8F=(A!RNPbLQtWfD<<~oSjClb-&AEZ zQ@|3fB_kbC!U-<>xi#t%&uWMwj_&u61P~@cGDe*<_1=8qD*Bg&y!7KgW&})z93pyZ zA(4i=nLa$s=20!>gp~mB$>$M)&NL^!wO03{M4 zIBrcGUBD)|BJ|xKl}uaLa7qo*S#IcWswOh~oO?8JLT0?_t-3|%g`FkKn~0VMq>CtN zT%}+)e8U$oeO@hr11$M4JqTgE2zu^!n^@-sNBEy)Af?=AR91%9vftt+`aHV0k+ZZ$ zwK#Jb0W^r`=15zUVow>q`FcmOd5fW6#`0-2Z?ym_lu@{#MRy1(&c~61d!3Jul?fX>f7$cow0*@pYfG{qJb&CHE2VhX2|?wYE zbi$4L3izELF_$B&vmYqYRC2IMv>Dg5c@Jhtir>{e;>Y5W2m!aT(8zGwB>V0$X^?pkiFDE9r|Ryd zFyk}-K2haI<0yz~M&4;FtEGjkuH1HN%2F(v)QRt_2gnY)JxCbI_4R;<(jF5mvGPAm zco)@m)YSfgO?46;+x+-xP!PoO1Z=|=U_@>&g@!cIb4slw9{-#<*)fgfswAjMsAH?5N+4Bdfu-_uQ1$6;JI_qjM_Dyw zFgb6-lRg>7?SdS^iHLsLPkz2Vt8zgc!h1%Et(zg(9z!a$cd{E)LqT4^Ulg58Wju)brIi;1{8 zdkYhjb?B1kIF4roD8tZaI3^npoK=|^n*j-qp1;ZL0dGU(6UzFw%1Tqeg9RT(B#RP()}*#Xo*4ZgRlkC~?`GbUZe>{=PN5u3x_oMt2% zHJI|_OT`mFy-jBe zCP<1j(K#^NH8TXCUh5AzCq_QaIzfd0q{lC#@Mg3QZn|N!=G1aBPC`x~7x11zilmaM zC$FEmO}r39tdOmbhp;SB+*j1*W*dkJyj9AvXGl-~aa6#zU?-SV2E&={dNV&F^GPj4 zUQ@PS>28BKvaIchp3z-yfb?gIW)Jx%OwDTNwn%#o>-)!ORiL{+ctJwVSq4W%MkDf9 z*sq5Gj1bI*%8w7a{wrCe!q%kNrM_Yc@Bc?(aFMn^=8V3by=UAT@K)E@fGdT#Ed-yb zLpR;_8~_=hvA$*;*5?RVqd z+@P+QC{I}j#2`MCzM)QKlZWD8B?Z+upn|W;v*}wORBQ0lZ1P`Qhtsr?!;D7FD*$(&b^)PPz zP9~lt@dapLyAz3WVfwb?zR9tgNrU3*4_$-@jV?~InNCOL2~;-p3yi*wQ~kAjCO;<0 zU2$nvey*7|j@zoaC7CS#h(eAGD*B5{sds**+Ji_G#a9TG@N(iv!U#*_hr_oJn^qlXN8lHu-L;d4^|-rrVRYi(R^Z z2%rsZdfgiRUt+H$j8u*x%BPZsDd{)h|5|XgN?S6{#mYb25$8gFRLYz=d}j@@6e8b2$(mM6zU<1gtze|K8*l zEc5kJ-I*^yRc&rk;x=0x{E7T?r30trtJBn$2)EQW;}Si|(vRFclQJph+pv0`a3@&d z%=oHn=X=p7e**jSok%6S=o!jFX?}l`3>yCXdG!mXSA-xU|k9clT6H4AI%MRKB4}HDeAWRw0Z}FzfGXF<%Kc@25fhv*(h`Th=ale zsBW<=Dl6iG-C4u%9Z8iVqR8hc-VJ@#eUE!|7cOD1tgtXoPR64q^yl@o6HP3-<5loY zo)&g@J&L_kD!d!aiLa6SHC@vn(toWv9eG#C;Z0^OU1z?W!SAzMPuv|7EyEXlX|`D?mGV;USK2q5 z-MQb1qO4^wRJtLiQ2%z+|GP{JK1uxHLmKX5hND3P#hazKY+`hmYuEzs4({t!!YRE} zIwgjw;nB1BbBaTP)g(#J^L4NV02V9l8g6J5#bUTcI?)>jER+>@6l89%z{1~^nUb|_ zEJ`2Ji@4lz!OmciD#Ws?SQ;EpS9@I`VCM!yQJaWL4FHB}=>JSD%NOzQxWYCcus`m3P6H)YDr=JC0`XGQc(7=90i0M&dU1qkq0OCe zkOu)4QBQF5e;xponW~6<3iyt-Cfjki{t$tM<1K|;Qzga!D0^w2=C$iPEbBLQ6#Cy6 z(Uf=Y{*ltU4w-@dZ;=20gzRG$Ah7I^OEmp&?0x8dVYp>} zxR3~xC&-VgV~y)*BJbDnw5%$f6>IcLuNe-Q{B_3Je3GynkLx~7JT{#8xOgsam@)e%7(q1)iGdzyn`!quybgLYDlO>HcQII^$4TxzLS}> zFH(?J;srBGqd8J}b<%sVV2&9z6l+K)Yvsh-Lc_l~Qv7w-$idQF^wD+Sk`I&|zwM@C z1*(QFE|)E*2jWI5{Q`#CIy_%zxmOO|zg%B$qMvO9zE4sigi%o;;b5aeFa!P#2z8qm zJ$chO#gK55!YKlawbMr0=>tjPwD&fOuuCrq=eatBUF|}y0|SEFy}8$Vg6L!Z?{uek z(f2uDb`(SKXK~NN&l&NYbl#R34Jc4z!yXE@4aTL0{+x~^hq|mZ*#D$P%3Nz}V7i9< zIp{Lb3c{zf6sF60B4GsfryNVKN#uIq(79_6 zD{piBt%n?A0++5MZZKq~dE&*!s1^N=LAb@#_QP^&@2Oc@&h+!AO7kewPoi3#As@G$ z<=?E>bK#;qul96IDlycE<`3-=YtUToC*+^unZsk6y=U6YAbFv9@O!!F7YM*Mh`>7< zi+YvngFovU zaovy4qr$?+_9B(iwnUxoOlvV$mwRrIoj#hLV%h9WZOJ}Y2ds&~Aexrc{q^vK=df;7 zcv*{pe{Nxqsw18~b;?YyCIX1b6B5`|}PKRAc=#+LJ$ z`wB^_>3csmxy55`+p_f8_`CX4fz>bs+O9xvAE-WGp^k7Ic=OfXlax98LqdME&bs$t zPy;&3)+9JHxx+geVJKbA&vc#si8$9`q9gTbm*Vh|FPdl4Wa?}AGiu|-%&PThk-N>g z?A%i?17t!noA8LUN;zyDa-C> zIejDHTKDY8Y+0d>vycnv-;la>j!UOvugEMG32eZ2&HXN;y}5cX$^JpG?V8ly&sQ*I z|JTc6;in#5veh>Hr~ZvUolni>@oQu?tip@SD=!nA@8;)zaHPS?z1ELY%p0}g5Z+KB zB!Fj#9&T;Wyy~3Q`~q25eW8Po$3}zslaW890~SSy$Av?xF&^r&n*@ETB-h`+w>*hu zqe{@T`@w69soRQXY;H=o2*5bczvR30inOog8k%HxGM2q(HwW4R)>BRRGo4}t8{RDF z((4FHTNyG8A$6!2PMyq9A#e{FE)vhoL&aa!R{=X~#`Fvmn**ylWGto6VSw>CR=VK$yvnYdk7UxYk23nI^^#WT2~s_1mK9F$e5Vca>A zit3H=#>J$;Huv+_Hq)vuK30PMuRc77rRH8oE*m5Z*2s3ZoXEOc#1zw>Eie=_@}Z3R zokbnQ1bY~de5={W1V@Z@OJ+w6?eoRM%2fIRP^eu=pOd%X&Q1;)6JWhS&cAkIjBp7bQ0<$z^(Wp@^Sx z&IO2l!r(rAa~gB1H70ghs!l+;@5s08BRXh7x@nbtaNj~MvN0?i?!?ZvMjzdJ(C;^f zY#3JrYA^FBBj41a0&z;z$RrNvvtJRwh@v8NAuyMnPCO@fkF7&`o- zuGTG(zcZs?Nx1_?rX#YoeG>IA_KU3N4J08NLfC7-Y(2YbyDUzZ?X^bmwTg?QKc5kG zpWGw#@c&%>e3<}8J!lh)_C1#r8e!F0 z9{8aEkC3cU3hfUSn^|)5SQav-eHksFd8Oq0sKtonouK2y^0L6JRMVSc-Dia%-XJKQ zhjOs@_xG#D6}=)%k7e%X^nm$WL$@^OcC1!vKS7doULB=5%hhM}h&gR-p052;%$bP4 zll@0+sv~2gHT{KXqyu5$nR{@dSJyT|Lc=S}hVY7IJ#$cn#wJc|s)@`tEG zYU4a0=58S$LGzJaFN1=;05Zi4;subov>;*0%bqT%)1#3{DFm!FR@xmy#a87 z@{P|SmYr}n9Naewymjpi_uvvPTy_S9C{$;0*wG~3AKZD`4j}CmGYc7-_CIVZMcW7+ zyftTH{#3O5kIE4xhjMsa<;(Jr{N~%*y<5&CW5XADqhba1{)J8NSU*bD8wb>xR!Njy z^eX4tbViuBSXf3{xYdG~h9)D{h|AOQf&G}IuXz7@Yed)ARL@Zg+>Vkn@f!#ilCsmH zH~$D$gT*@Hyh>!skzqr|v|3zNQ5REK^8LIi9P*5nKDc>GOQ_sD?U-^Jx2f+4mLODH z1K3+@f$IcP+Cz}i;*Hs`LU?;6nX`XEv)tHl6XK#Z(y52{tkxX0*S>&)ND93YaQOV3 zY)l0?@*N`6NQd)ybwnzu_~M0FGn25=KqTx^Mc;RFvpY%M3)o$$_%TL<1K2jC=$Si> z$y9oMGUm*R@%ll_=1<31`-?U=eqUIL_?@kt`DpOeT-+?E&gJ(ci%{UkqH#tk8yp^V``V$1Bk1UP3IHm)--PQOOjg{D+>cp3{Uug0Ge!fA zxh*Wg{g_UOsOz*_5owpb7he8dvl-@Z*(~CwCpYEF)#-tfWA~{S+v^2}zPMviZlNCM z$43D?YS6C4to~!p5y^jvDtVe1n>ds(xbn+;lfXU@Q(gerv4Vwjq)m}7u7gv_D6BpwM6;X$QP5qMqt^I+oKF4j7sH3qq~tD?I;e zfH%9L!HO8*3H-BDRV!zK2*?IZ2$H{qpI*g)7r8W0;jnqBEsr6l2j zo%S-btLMGS?`o;7a6|Hh2$6+p3_R%NTA6J*Mw`;m!@m3tr4L#Ri~Y6!G^}yg=0RsJ zVrzEvQqZueWt!IHotL8pRjIQZHV1SN9gvR^jjBhx)`q`w@n!}1EP;G?Ac<35s)(vh z=r5X|Qu7=#GNNW7L`fbtv%rQ&(ie*YQ(MkXX6<1w$|Ik{Dvb&4cwMvm5}{RFKu4Oz z$eFsp@e}nDm$$ZtzzQd)7k*V$U8ozYQ-4nveMc=%@SOHJi0VFropP z%`}I!H=lE16>HZs_=sF@s$m?-1aQgqL!><`K)9z(U8wB?M(GW>Y99ADnNqIn<2WWL z%>DtQ#jnz9b-DlPn**OxZ+a-~fq#Rq_p88kI`KWGt|mYuJK#d=kvjJr<%-$!x;dW7 zx%lPMsQa?(XbUCrZ_#Cw%=Hl%8;<84f>92g!u`y%^tmGCX?JsqY#n$M1ftfYibE_`Sfgas*ED;Cit8@h(``@J|5RLr3(ZUZuQ@PJ z&4nM(qK`WRc7`jiRLDzpY-NuIsYpo>J0yp;++N@FA%|v>p_5KQi54IBk6S^BLqPQ5 zCIgTZQ{0!%i>3zGt0)nw`EgPuSbo}xn?N8b5#N^&N|ZorgTYW#m)U$iH>()hhd096 zLz&=aW2}IV$1Vl&H4l>mNztY|*ndEYlySe+Sin$Odm!Czrqu1eT4w)x6BT z@<=8ofmOp7R|cnlN8mgv^2*!{lk*KqZZP1rqLcrM3tu^&-qSdp0yQNQyw<+Ki9F{O z#eYiM{}oPC89Zk_YNScw%KAu<{4yUNsxpUw5!|u-Pf9LFfc4y8xzXWS56ExwUm=1hu zpZ;mZn2q}6A?+a@@Oy3MXfFD2_Q%oFuHgBo!<#DHpW}GrF(9y=@QqSwAS1LyT#=a* z9+Z+HB!!PhwaQ#|>ov0TO(&?Z&@nZq5zO%mo*T&om85c>`MMdu z^HaxRZBRAojmD#XupQ>9ED3#fzk-akI;jYNA{9YO9jt+%YDn*!G9g}Zyij8ij79FM zTT{`iudsh@WBAj3uR+w<>{zDEZc4#{|LH=*A`F~~(9L(#VZwn~9%ND(p$*~M#7BMf zc4!8Z*$sOj$fB!re1Cumdb7=>3v&^_zo~N*n@1RHjM~@H{9h5rNHuGF)2&478PoDwGCxS(w0r+kyIS0k9*G+Awr{}JNV}}+L?vNQi8m(tK=Nlq z+<1rJ=y1K4m5?wjBQ@*nWt};}sEAjxkLA}d&wqRVQgFiJ`B81gVu}Q_Zgf6~!$UUE z@u^^Bsre*)RZzM*cWY!OOB-oLN$%%Wyd6U@ycS3wiKT15GB7e$AW%lg)qq1ma=?jr zMQ%+I?iU-fME_%tR~qIiYsrlSHa)4l59AlTNe*KlGjup}i#gxKY!D4A4vIv7tJd>{ z`?g9&m`0AL?l-B>qRT)^FY9A2#v)Dge&CU7>d#A#R6d3MP z%|UgrVQJ8as^+Ke`nxn*%&Pjm=Ab%n#(H(_6L-Xv7`9HXG4DP6u4r}=xB13@vS!Xf zb@fHBq^yBlll0}mizJoN9*fh|KhaFaZ zF)e{H!LQ6!{aOWUxJY`p58d_oW*H zrjWcrTC4G9j*KeInMYtGW+YkM*apG# z?A2x&>;Jqia;MWaUuwFQJn4G+T?iUwHy56(dI-#w|Ec_VuuU~5)*OKrb)Kpd=LK95 ztHxkZPwx&SFfxdYe#H?P0Q29LeN8KC{WsZl%$hbrWrH7tvSjwGJ`oW(jR77x+QN&&F!~=I#1M8d! zKc%@j1{FeBu|FRf8>+Q7LwV50jor1(^wj-D;H8c0@en=z#kQSJU1k@=MhzG-f1H0b z4D2rHNB2oHSUJ@b-}#Q-&MQVYh}Z+aR_T%`A&!{6i)DLz$dQQoTK~GefonFqRtIILe+`OfadEtK3(Rab*O$wVA!{nw1 zKCocopYvMC`QXg7c~951`d8D`LsgSBXB+e|K(a@Dw+nS^Ff6{^^!BIc+%~S88H0~Y zTmlj8u00<)uF$V%E7$1Yw_Pf1rqfqEvC~Rs@;myb4js4Hc3Nni8G}TMjo(DrqxY(Y zR`g;kD>CKNm%1>Bj&f~2$l>=>di#QVnHf*&Sd~M-N0}l;00^f_ZXw71$oT(eMbZxdQ zld?p0jVL?n&$FC(B#ekST=+8`ur<=|I_(_MqLUZ#yO|h~hEJX@$krh)eiF&b%!o=G z&d}*AP!DPh=Oabmc#_R^^CM9Tak7v7HXe|dU9*er%`R%^&*O~pVUfJ#{YZ0epb1I!(n zpaZ7M8#cBXgT5mXLtLNhiZIv|VkG}BtiYGap?R4@NT**cQijRDPHs(l6+*4`_Q1 z%)NtfXocoP!abz}zlm+X2A#@M)kI#f+QGV`1{3?28tWFd+SC2D%ZzPJc&CDMdZG)% zjduT$tW1-$NHXue_Qw0X+FgJR3DkGjS`U^o=o&dUc z%uGObTQ5VQ*aM;3XquW<@O3~HkL4YcLUMDx@TLhXt-D<;Z8Z!Cmu|akgF+dAzd_cQ zN}MYaBgJDW3{sBP5e)Hh|0zLXU)WO*Hjk# z0B6Is*ee)CV*Lj}sKkqMoHzZ5lZEKf%vt$6TKLQ%9GFtiu;s)LcjZKO_a;v+M=e?0 z0Fo}N8cKzHk%GTaRz7Go!8TD^xG`gd39PN`5$t#3^_!tn8&fl)iLPAMY+lmge^|=n z6p74UmPzYb=`>%h6|=ngEm_yPn#u!z#B!T*EZ;(J@U!ewmVX0|RhPI#6a_i`Og zDMnYe5|G7f%nf5(;)1g|e8{7032km$v|2&7gVAy@eULm1TY;V87;5+}{tl2OY0Lx5 z8Zvfst~E>3s>D3lc;z(264Rr^Sk%~WC6@DZ!pek4g@Me)UsZDeaSubR!3 z63D|~TVC{CE)a`RJnx4>r{AUNrEpK-Yq4@S1Q~IRhDeW<#>z@!HZxfP%=ckm0^j{n z{j$Nv3-wT0MOjPnitYqn{X&ATWp18uuOhWF=B8wY5KqO1ZV#$7zUzwr6m?r_cMoZj zVLM~w+U!wzlUM8ud-WD}EEjb1$+&6a)8*TET~O&TbvUpGg_OXfkEeZo=+LCUQ8>Fj zG*IV?Fg!%|D}Cv6I{7J!;wvi}RGAPKyW!ssw7^;Z@Wq#h$K&hmwjFLezU1a*M{#^3 zu=)WpM}OTF@AlDTj?FQw)A68-?k7%eGSY3WJr*Cn>NREkZRPc6Dfn5fGVBfOXFqE1 zOfhLu?AkobBiH*o9STtLYj2gH4qgwle0v^8qeE$6+A$?BZM8QSjpU6{j=6>2lbO|K z{>}|Wc#;^up!+13U(|R*3wODzW2l5Bz|pbXTgFRi%#=t#^L6B3@aJ+8?`L-SZF6yD zny@A-g=fuc*~(vOu2Lm5k!&(4$(Muyy{BV=+5Xj$un28?vlST030q7zbLylLs-TYV zM7(fsVQ%Bxmw0~hR-c`ecN1TJyP!Y6IGBrxVitm3&2oz{Pda5I*awYxP32P$)hhg) zo=ZM?1~@-LWO$`A4I+qlEfU^Z!!OBp;%Y5V@-~Md zeO+91=`qJ9TTQ}J3LLeSbrI$)S%Dd@3Y3xQsaYa&yvTTb{62dneUPz4tM<~lC8=UzB^OA5~|**N)L0{>}k z2Rv!vCS~fa5XOT&lXt8$rof;i@%W@OYI5=@HD-dk{}E< zlo-~XL0WH>KnB+Q49VoOE39#6SXU=!y!!f13?b26TJG#)A|dj2I+c&neByX+Xe;9V zMf|6w4e+#?n-n~-A;iQjyLbHmGpAP)Dq|tYCQQgahA`HO+1J(uS-dS6r?oOcU+S2? z?Ky)tiq=bP?*9?}nu1Iwc20o+!0G7|mG!G<*iHX0Z_@z+p0Ff;kZz=rmY$IY36YR)i4j5RW&|8Uy1Sd9lo&yBKopRcj-e!m zQY2+AuDkBjz3aOVC-y#T?fpOdyqw>T*4I_P3uXZ0;o;rY)KGbPyQcpeAfnq@9^Vs# zhewX5sRDWChre%05=5QS_zhfWRzA%EuNYDQ(B5G`0}*gV@zw z;aGu&8o#y2!H8~Q#GZL5|6!+&hpz(5>$ZE;s$!7QP16lZF>!X{jqC&D*>pE&%5cPR zH6~!rg=gDvLm5YA;gE&R(A6<(DYL> zA;1K1Q-g3L34VklHCg|x9;B8Y;GTK_Y>cDap}*oo(AamspU7iNH{f8lS0Ze*BW*K4 zQT2;ymD=xDuo=hUzuMJZQHPse#=lzZpz4od{C#;~O0KxUaAPzPJ4MbGc@CgWHCuz$b&w;qr2<)MLBFWB%n2v~)iDA1{ zMgcUGn2xwTp`yh+fPH?f&W{HwAO7#wP>%nztsIP4_DQ8bjiOxNQ!SP zSfdaa7>GWgq`SR$|NFdhA-etvFF(p3GXKHEI4yGf3L?CR$YY4$?1`fNyJ>QtADgxO zg~X101~~>342jhUb%{#WtTx%;kGWYv$-iaiWpD~ikU>}VusWihf#7ypfY?^9P4Nzv zhiIQuYntx*0p9zWb4t{p7n$dJgAO%%IJ#N!^4 zmT|0C+;pYG7reiT76~Pd32g1Amkk|)@-wI9{&wNj!rBihPFDuAUEBjw+5sqv^CfSm zFFL15Zo)*cIAczu9WSO68SV5;#G|~0%Ib|*^3%-{s#Q`QCvt?SR4PnPtxkc@+@;6 zYLsh*cl&5>R!v`@M47+g33@umcOg--p-ljzu?nMGbqK7|`ck2(X{Co6x#>iw<3zjV z!xtVcnrQ=-@%mkxy9nb#a#VJN>;nuZC;Og+ePcXY(@VCwkP#ndc7e-xTi` ztCQNEVUf*eg#Z-?c#Lg}B1$h4@u`=*%YXvzQj^vjnXB{p)B(O+HfmmiSP}XpQQsd7;W9swBoVs4ijn(?-UYsd$<;?gwmfZ0hH$d2J0@j7 zo5e1DzncK@C&?PtB&8yPCYu)r7LcH9cIBMB`#-rxq>4bAr(*yBH~o?vIZ;&PyXyOX z)5`kDeJz^-(P;iS$K*c~80EW3RESEVhjTjyYfwt$Q1GCR>kAGCMMXCU!uwB^y?vSA z7JFNH&!~y${9UZMX$C)^fw}>Ohfl`u6yPg5GpA>a7tbD5kU(lz+|$>fO`o7I*Ewe7 zMLF zm=S08emdRSxp8iLZBeM+O}A&0ZpG}{%{AN9y}}*6i1ys_`JMlPRRwXbwg~TfDHx&yT_P4Ha+-JPaq*=tl=V1#vo?o8kA%QNd{=#3DCL zhPH{zGoU{8l7n_%EMD_(0A8(h7FU^`p4<4xM_DE-N+A;RXXgq>2j9ePMkXE|UFKGa z+GFxO27fM2?GJ~nKmFvLuLsBd?xwnw+ zNGOlPu(^!v==xJDGmC-KuU&7LR<|uOt3N-T1SQwd?hM{Bn3!K1ZB6pBo)|dzGv1z< zH%Eu^+8>K@`emn!a%&DeFnn`J6!7Dc@pd%@jN-3NbdZ2_&J;s zto~h^hpgM9|Mj7z;bRh+*8F}#VkLqjb(!z+qA4coStyI~$Ro7S$`V}>SCt!OLuARY zMz25B?>%TY z6R;>0)3;;N@)aC!Z!T|HvlaQ%WOK(X2s8)1h}ff^%B_+s2%NAa5w|wQx2h+7wF>34 zc9OA15LdYEc_!p&)p*v=34vhQA0;tS24y~A-8Cii4^N1MjqcL1=@Zb!BZiG z-*CDW)|>G0K@`u-5VoLzPsDo>zdL`~%c4%ej5jdDJ!3ANihmW(cT_)o0i3HFwG0S%MaMCM%LZw4!i^?;Y*KJICcJxPk44-NlZJEMW9f( z1edam25t~av_r^a0Y#3Ua@w>rS(*j1Swg)ORhZ3Jj(&D|bO#r1obpXGcYbxHudTn; zvMkG}O{RBXyI%metYKu2yJrvMv|29hQ$poTe{JjFJsPj7zKlEc9Nm+7>aDjouQP~q zxXNc$PA=Vz5h_4v7b%IFDIhP(XV-mXLyW9kwRu(knpgnxbizjP2g)Dzy6f&tNKRXt z$zvlXJ%8E-RX%tVv@ARnWH;Hegg<@tNB3Rpw%%Lmf?#^VC0XLss~16=i+vvMXH}v3 zvCUDgth}8$E{Ij+0c8)&pc*YWUi=l*<#*o4`H zHiE-fT06+MN58)vKETO%br^7Opj0?$&iX|An`Za5^~nlFV})?{43cuMWn)JUG+H+; zzxTYIN6s@yUGu!JFdzw=J!>)aQ!P@|M?DaLjEFAwQRh#;)1KT z+h!D-afRE-q=%&|H9V9M><;5cwp@Lqm%nFny;q>%6c=jXFTp86CFc^zD6aN8E&X~s z3pKyz_&jePS!vZ2e0VRkzP8q%8QX4MmF6z!n+|jT#Ex~Lhnof+Pi}gVqAB1XI85w9 z+9u4*tB_9zWAvd*XXKe}R?}yp3Y&ayI^IbQtK8q?7s$f;q<0+7f0Xs;i8XOH#MIl| zmW*|4m3GSefRj)}^V$MZD>KkAZgI%ih;fEap=kSK7(Tp|uAK^}Z=8?PbdHEs4oneL ztM!0TUB2Wj%#8jYci1jXMz6=i$<&Zn7K2T*C%&dI9}6Z0k*j0*%=0}a#Mt375dFBU zx{aDhl?Ni05Nx>5-YtbGUT3{_U}hms`6WxbN8Wy;{9#cixgS9z1hbzJ7EV-*kBv`= z;AD9*^!?%tQ{q^VVcMz1p??t67KSpzr2T zb*-hc(9A!(viOeO!-4afX7PZ{_S^0^xx~Z0*q0y#RwYe8*?6z$GFj zqC}1`RfC{=;r`um@JYX%XR*FVyCULbv|M*^uupSyv?#t z1GpSj$0OiqRE62=eZ9y@j+80FRAu50uB^T)y1PrhKKvdZqBKv%1mo4N8exWX{g|-h zGrfmUC&1gtqQq~>X})P_Cu=DE;^jgT&({^{uM5!`M`wj0LHcV;^*$Mo(to{Gp;J zHMj9{<51ZVXpG8>|1^$_Si!t?rnX%VwMZB;N5JpN4;P1@bEqV z^#Uq$o@Df6#yxL8CF^rm9iwRLv!7mZ=p-FOjHfKmuTZpaS{>i!pWP?I%7UHk{MXUk zw=CSKvY;GHVt4<+Y@?SExj?!zW2Fd05I`uGjs)AGDPICkxe<#o^V? zRKP|cNiqBupP$*#ya(Hnko{lme@e+X4e^EuG6M}_g+X>M5BX&qG|9DzAydV7;HGAA zF=Q~x{s{>A$DeSvblQ?)Kn}1G3NF?M|Kn*73aU%?TVki7)PeF@++umJs?N`M|A<{f zl%&jqg1jG0_ppeS@>V~44_9ihDw{zx4YB~LG;quPXnKzlFJ6RWs>a~|(|F)itEFEM zLQTrt#$mXpU!2X0NUKbmY+L#dW^B$Vt@cW51T|hYS}j4WO3~U>l@cqZuMt~mQL1RFL5UhQYR}Tv zs;CjOh+V`=c>VJJ_dDNrzH`1mo^kH$oaesIb3gZU?(0svbK4Zi!p}lOLjyFsX>3hh zU;aCoE>UM)K+qBm4I7P_@eNoQV5<-q2Ajz1pFf`aDk;ij_E7w42|k@{q6WwmM=yll zl@w7Qg^8?JHP4i}l-FCiWLGJ5`6SD?_))w<2>52lnR1}?3wkukqT(eti$`qYc~*LY z(sJ(!nj(k5{8}JPH0ekonr7O)Hw#fYknxrlH^30# zpIc75^p$maa|G~Z_|8$_G*SkE`A*uYf_H2jRlkcLrKQEI@Y}#boD4cP8vg$O85%D6 z@>1l=t^KI<{}+!uYpQ#>H@AcI87jF1bZyExacaHeayx4a9p*vH@3hw(4LTlI?fMZO z1BUQBK>^G33TxyactswZ-?s1?r2Yx`H*7A6Op~%a@H;v_oGr!M~DZ$Ne3l>I9g}Qq;-B{uXm} zc9`$C#?v{p^{$sQMG?h`LohMN;ZW8-^-BLNaJhqOr@PFd^aHfo=}GN0*j_J)FUhtz zvT#j0lU<&9PJt=gb^9{?MS9-F-HPg{A|=Dw8T=X{9J{CU+vdmJ3d?>Ojxv``fyos;7I&>oOzSe&9RO;K41UJp(BqdSl7m1-p zc)3+@;w$!pGcVozNkQgUv>%Wd9^yCopzYkZxrWBhw~RaY#;=-+hTh6xuK?MGb%xZ~7$VEa2z^CC7(Y{^qE+H=CR zk;gfRH|EFb-VxkwdORHZjz|tpnI|4dn7Y-5Y;m*Wkl`HTv(TXK+4!wt+QgOj;0t35 zNnIft#d!fN-bPRfs2ldPShJZ_yX%N7#F#>&$k&==7PJ^;zF(3{xp%Wkk_ldzrW?3g zsKtx9*Qs$V`DqSf*^Fya{el=?C2wEXU%`1ESh3!(tB}E%7du%+^l!KUxe`>bHv1Gx zAwrr@JKEBD#7_AJ)GR$GcL==EBJ1~={qAc^Ht)Aa?OjW^`QSzFb^l%@p+9La*vwiZ zAB$qRwh<+1hmX2hbqRKvy-4>;iLn#pemmN0)Cqrmwn1b}JvV(=<*@6V?WomRU5Ew# zC@54%xLRc`H%N2q&JCy#+;!ZrC$JC9P!mv5b}s<~V;cX>FFhvlu)5-h?)Na9w*G2N zUZU&#!R>9G>`Eht`&*xePloPq%CuI{+^G#Vz1nIK^S=EqFLOS9rK-iSr4*KPH1VShd971wj`+_%CCzH)`@*~&Sh*xfD0 z-{(&vkz|kc&NKxIfB92G&)<)@7GyV|LeVf4bN|jmi44)6J+ab`eV$kISt3lf_nnGu zO-fs)5UpBT0FlG$0cF;JBQV273&O2ehP=Pw@WR4$^{MXIso0KwV&(%*;YCSd*<;%_ zd8`{$)k*+!ZCESzJ1?TJZrj7e}J zeid`st6~Le@D9bfZC-NC0O5jO^hF*x%F^<}Cl61NZQ(ur-Cp@PTbV6?4fMQxW_eZY zAx309TYhQ6@+|ND&FdvYhce;4#omm^+vCHuuF^|+=9z6p++X-ws!MhTTt5Fab*=ai zSY&gABtgZIs3gb4)QHT`$Vcq(D2idaTA{=^(c6>X!c}fh&(>z6^<8sM%XR0~j~|r| zqt_-rRle>D4sPp;4`Jt=G#KY_6>T&MFJ(;pc?`zpp^4#c6<@SC^gc>i+e~p`u_c^> zjWJ2ZKOMPLbBRjTe9B(lSLSKMp31cj{peF>yI_)lF?iH}I@zTuuhz0Y5Sm>+S@6N_ zOWQ`GzmfrO;gnW^FGIWSW3?*D-o@f=p@e|V6g(t{4s?&HX-chfzA9J!6Dk{11QJiS zOi{7&NuYbLtBY@{XezF{?Rq_viz{ayB^N?Bs1Selt=oYU@a-UG3Le9|))S-&+Doqw zc(|!eRPqX_ES&$;w8}H^^wuLqc(~14K>*x`f$z&9=JgkSkrhmJx39D$dmA`uw0zr6 zoUoVhned5BTt}Z)@Y)K;cMo?m1@9UNR!!b*Gw5|rv2L%)b?rWX;V>#rJfVOD%Ja2J zPtW|PohjV=Yd(Zqz>xmko~K;FXRed64;nn_BtwqIyx;7u=Drh|lq>);yJ*ER9;9rA@6vQ?cwJuNWp zInNHk`m^a|&etV#+}R7mYh76P9cq|BHPLzrA0#v&4y1Kv>F+H)?-KM^iifR8BM(mD z_c(7=6beml7BH!|6ED-xqcjXUKp*KoSiOZY)NM&)ggd*=`Wo{zxi`y_Q0vL?k@k^8 zR_;NM$VXD}ml&3MPvzm2p(nF8dU?JhU$y1_Nafz8*0l9MHHWIr$EmX0fn{lN>uF^VQ=MI0vRXq;9Pq)m zH->33jgGDwU&FXdUkUeKQq0wxJV}nds59v`|TW0f@IVfO>_RMm1>jg!9j*tM#m5(QEu+2Im2Jc>K@ zNIGEiyzFRo<6O_qWk^d#h~@R;C+`pXRlujfuGMwb$>!S%@5_MQ$U8;ug@^t^p!5%EN37{; zGd@AO@NGuNX0l4Jy}voageXD6j$vFq#nyucbkSxsiGFi;jP#VOMWp?R}iVq`_FD|_YN=I&RUCwZ8zra+Q1SvIk9 z;KS`J#eku~qj2MDU+wkf;Dup{CD5-r5|c%M zHhm>2;=t5=w19NYJd-ND;-?jb^;&l`T>#@6#1?{C=qegX%v>1@nekfHsFhnOb~Iu0Q^ z!j*4^SzbJN_hKFD`xqN7_GcXRyXNK1TT8xTmubP{s#0xRpzIi5zo6cx^L3Rgx{%%7 zlDGpP<7WcoR(c;i1_J?P>T|N5Z$r2p0*iF=1BG7r&u-tvH_v{}aepM|9*fGMw->PN z6aSGTTnsVW`-o>?+h>wWQfU$g#flp#3G^Rn>f{Vr{4LC%W*^ z6BzHclMhE##ju7n(^MhK752%fK;MGs)*10$QawI?`s2^FXZ<5lt2#R4dx)v~A{CtZ zap)$?W!!S=+DyKL=E|Uk^5G-98x}@knLl=&aKCpcv8BO6AUxJFrg66$(rsUS5E{ub zO9aus+5lRo^#>+ni3Dvz5smy*f9#?p$sORQuFKH4BWdzpoP3Sz1<;zev!;{Pw^C^t zP{o5&m%(I)=cb(P;{M(GQGk~Q;!gk12?;9I&)~)@u|>a zc2tyt3PB%jAzPj?fvj)eHAMz??+XF1XM=0mnxv`GZ{=eS6uk3J$#km`A;-d&Mz?tw z$S=N_MSWP>=YRN@v`$T=JS9Rc|4_@Y{&$AFwH))o8@chIx5ZU7$w@Cus@?N+>(9@T zJXJGSxhz@ly)79<$xZ4tpdb!HuppK)&g zVgL-K-3z+$n*M)){282>5riT&m+@}a(FWXXxJw?=avE@|h>okz%@)a^IsxRFu>kQ@ zfs0U-USaeA0Dkx?O;K9{k^lArd<`CE8OGJ4Y&!Y<^f8fW>QPh?{eOwqGE|ORoTqsR zt=;=D?cQ@i2+n#o0Q+N=>ep{av=F-1B=xBHjk`iod&kU#*8Z(pI##M%h*#7`mzDuG2 literal 0 HcmV?d00001 diff --git a/src/layouts/config/navigation.ts b/src/layouts/config/navigation.ts index 5186129..c1d1482 100644 --- a/src/layouts/config/navigation.ts +++ b/src/layouts/config/navigation.ts @@ -1,11 +1,33 @@ -import { isBoursecuProject } from '@/utils/config' +import { + getBoursecuActionIconSrc, + getBoursecuTransactionsIcon, + isBoursecuProject, +} from '@/utils/config' import type { AppNavItem } from '../types' const BOURSECU_PRIMARY_NAV: AppNavItem[] = [ - { id: 'buyProduct', routeName: 'buyProduct', label: 'سفارش‌ها', icon: 'vuesax-linear:box' }, - { id: 'transactions', routeName: 'transactions', label: 'تراکنش‌ها', icon: 'vuesax-linear:receipt-item' }, + { + id: 'buyProduct', + routeName: 'buyProduct', + label: 'سفارش‌ها', + icon: 'vuesax-linear:box', + iconSrc: getBoursecuActionIconSrc('buySell'), + }, + { + id: 'transactions', + routeName: 'transactions', + label: 'تراکنش‌ها', + icon: 'vuesax-linear:receipt-item', + iconSrc: getBoursecuTransactionsIcon(), + }, { id: 'home', routeName: 'home', label: 'صفحه اصلی', icon: 'vuesax-linear:home' }, - { id: 'wallet', routeName: 'wallet', label: 'کیف پول', icon: 'vuesax-linear:wallet-1' }, + { + id: 'wallet', + routeName: 'wallet', + label: 'کیف پول', + icon: 'vuesax-linear:wallet-1', + iconSrc: getBoursecuActionIconSrc('wallet'), + }, { id: 'user', routeName: 'user', label: 'تنظیمات', icon: 'vuesax-linear:setting-2' }, ] diff --git a/src/layouts/desktop/DesktopNavItem.vue b/src/layouts/desktop/DesktopNavItem.vue index 729ad61..05663ce 100644 --- a/src/layouts/desktop/DesktopNavItem.vue +++ b/src/layouts/desktop/DesktopNavItem.vue @@ -5,7 +5,15 @@ :class="{ 'desktop-nav-item--active': active }" @click="$emit('click')" > - + + + + {{ label }} @@ -15,6 +23,7 @@ import BasicIcon from '@/components/BasicPacks/BasicIcon.vue' defineProps<{ icon: string + iconSrc?: string label: string active: boolean }>() @@ -23,3 +32,12 @@ defineEmits<{ click: [] }>() + + diff --git a/src/layouts/desktop/DesktopSidebar.vue b/src/layouts/desktop/DesktopSidebar.vue index caf48a5..605fcd5 100644 --- a/src/layouts/desktop/DesktopSidebar.vue +++ b/src/layouts/desktop/DesktopSidebar.vue @@ -16,6 +16,7 @@ v-for="item in primaryItems" :key="item.id" :icon="item.icon" + :icon-src="item.iconSrc" :label="item.label" :active="isNavActive(item.routeName)" @click="navigateTo(item.routeName)" @@ -29,6 +30,7 @@ v-for="item in secondaryItems" :key="item.id" :icon="item.icon" + :icon-src="item.iconSrc" :label="item.label" :active="isNavActive(item.routeName)" @click="navigateTo(item.routeName)" diff --git a/src/layouts/desktop/desktop-layout.less b/src/layouts/desktop/desktop-layout.less index 6bc3387..e49d6cb 100644 --- a/src/layouts/desktop/desktop-layout.less +++ b/src/layouts/desktop/desktop-layout.less @@ -61,13 +61,25 @@ color: #fff; .desktop-nav-item__icon { - color: #fff; + color: #133050; } } } + .desktop-nav-item__icon-wrap { + background: rgba(255, 255, 255, 0.92); + } + .desktop-nav-item__icon { - color: rgba(255, 255, 255, 0.85); + color: #133050; + } + + .desktop-nav-item { + &:hover { + .desktop-nav-item__icon { + color: #133050; + } + } } .desktop-sidebar__logo { @@ -153,6 +165,17 @@ color: #9ca3af; } +.desktop-nav-item__icon-wrap { + width: 36px; + height: 36px; + display: flex; + align-items: center; + justify-content: center; + border-radius: 12px; + background: transparent; + flex-shrink: 0; +} + .desktop-nav-item__label { flex: 1; line-height: 1.3; diff --git a/src/layouts/mobile/MobileBottomNav.vue b/src/layouts/mobile/MobileBottomNav.vue index 24b4e16..e0dc5aa 100644 --- a/src/layouts/mobile/MobileBottomNav.vue +++ b/src/layouts/mobile/MobileBottomNav.vue @@ -7,7 +7,13 @@ class="tab" @click="$emit('navigate', 'buyProduct')" > - +
+ +
سفارش ها
- +
+ +
صفحه اصلی
@@ -25,7 +33,15 @@ class="tab" @click="$emit('navigate', 'transactions')" > - +
+ + +
{{ isBoursecu ? 'تراکنش ها' : 'گزارش' }}
@@ -35,7 +51,9 @@ class="tab" @click="$emit('navigate', 'home')" > - +
+ +
صفحه اصلی
@@ -66,7 +84,15 @@ class="tab" @click="$emit('navigate', 'wallet')" > - +
+ + +
کیف پول
- +
+ +
تنظیمات
@@ -88,7 +116,7 @@ + + diff --git a/src/layouts/types.ts b/src/layouts/types.ts index 0a9d464..01e9e41 100644 --- a/src/layouts/types.ts +++ b/src/layouts/types.ts @@ -3,4 +3,5 @@ export interface AppNavItem { routeName: string label: string icon: string + iconSrc?: string } diff --git a/src/utils/config.ts b/src/utils/config.ts index 12c8147..ad08ef6 100644 --- a/src/utils/config.ts +++ b/src/utils/config.ts @@ -1,6 +1,12 @@ import boursecuLogo from '@/assets/img/boursemes_logofull.png' import boursecuSplashLogo from '@/assets/img/boursemes-splash.png' import boursecuLoginLogo from '@/assets/img/boursemes-login.png' +import boursecuTransactionsIcon from '@/assets/img/boursecu-transactions-icon.png' +import boursecuPhysicalReceiveIcon from '@/assets/img/boursecu-physical-receive-icon.png' +import boursecuConvertIcon from '@/assets/img/boursecu-convert-icon.png' +import boursecuWalletIcon from '@/assets/img/boursecu-wallet-icon.png' +import boursecuBuySellIcon from '@/assets/img/boursecu-buy-sell-icon.png' +import boursecuAssetsIcon from '@/assets/img/boursecu-assets-icon.png' import bazretalaLoginLogo from '@/assets/img/bazretala-login-logo.png' import bazretalaNavLogo from '@/assets/img/bazretala-nav-logo.png' import bazretalaFundBg from '@/assets/img/bazretala-fund-bg.png' @@ -23,6 +29,43 @@ export function isBazretalaProject() { return getConfigApp('name') === 'bazretala' } +export function getBoursecuTransactionsIcon() { + return boursecuTransactionsIcon +} + +export function getBoursecuPhysicalReceiveIcon() { + return boursecuPhysicalReceiveIcon +} + +export function getBoursecuConvertIcon() { + return boursecuConvertIcon +} + +export function getBoursecuWalletIcon() { + return boursecuWalletIcon +} + +export function getBoursecuBuySellIcon() { + return boursecuBuySellIcon +} + +export function getBoursecuAssetsIcon() { + return boursecuAssetsIcon +} + +export function getBoursecuActionIconSrc(actionId: string): string | undefined { + const icons: Record = { + buySell: boursecuBuySellIcon, + wallet: boursecuWalletIcon, + assets: boursecuAssetsIcon, + transactions: boursecuTransactionsIcon, + physicalReceive: boursecuPhysicalReceiveIcon, + convert: boursecuConvertIcon, + } + + return icons[actionId] +} + export function hasCustomLoginLogoLayout() { return isBoursecuProject() || isBazretalaProject() } diff --git a/src/views/base/home/components/HomeQuickActionBox.vue b/src/views/base/home/components/HomeQuickActionBox.vue index 033042a..66fe98b 100644 --- a/src/views/base/home/components/HomeQuickActionBox.vue +++ b/src/views/base/home/components/HomeQuickActionBox.vue @@ -17,12 +17,18 @@ const isBoursecu = isBoursecuProject()