From eb8fadaefecb0a4518439229b05a05bdf7541ce4 Mon Sep 17 00:00:00 2001 From: Bob Lee Date: Fri, 31 Jul 2026 03:09:08 -0700 Subject: [PATCH 1/2] feat(market): add site icons and tighten the marketplace visuals The marketplace web had no favicon at all, oversized type and spacing, a card crop that disagreed with the desktop client, no favourite metric on catalog cards, and hero copy that never explained what a MiniApp is. - Add a favicon set built from one SVG source: an isometric BitFun cube that stays readable at 16px, plus ico/apple-touch/192/512 rasters and a web manifest. Icon links carry the /miniapp/ prefix because the site is not served from the domain root. - Rescale the type, spacing, radii and shadow tokens. The hero headline drops from a 72px maximum to 45px, cards lose their 380px floor, and the diffuse 30px/90px shadows become layered 1-3px ones. - Crop card visuals, the detail gallery and review screenshots to 16:9, matching .miniapp-market-card__visual in the desktop client so one screenshot frames identically in both surfaces. - Show the heart and favourite count on catalog cards, and the count on the detail favourite button, mirroring the desktop card stats. - Rewrite the hero, trust row and catalog copy across en-US, zh-CN and zh-TW so it names what a MiniApp does and what it may reach, instead of describing the marketplace in the abstract. --- src/miniapp-market-web/README.md | 13 +- src/miniapp-market-web/index.html | 8 +- .../public/apple-touch-icon.png | Bin 0 -> 7403 bytes src/miniapp-market-web/public/favicon.ico | Bin 0 -> 23408 bytes src/miniapp-market-web/public/favicon.svg | 8 + src/miniapp-market-web/public/icon-192.png | Bin 0 -> 7649 bytes src/miniapp-market-web/public/icon-512.png | Bin 0 -> 22838 bytes .../public/site.webmanifest | 14 + src/miniapp-market-web/src/App.tsx | 15 +- src/miniapp-market-web/src/i18n.ts | 44 +- src/miniapp-market-web/src/styles.css | 822 ++++++++++-------- 11 files changed, 525 insertions(+), 399 deletions(-) create mode 100644 src/miniapp-market-web/public/apple-touch-icon.png create mode 100644 src/miniapp-market-web/public/favicon.ico create mode 100644 src/miniapp-market-web/public/favicon.svg create mode 100644 src/miniapp-market-web/public/icon-192.png create mode 100644 src/miniapp-market-web/public/icon-512.png create mode 100644 src/miniapp-market-web/public/site.webmanifest diff --git a/src/miniapp-market-web/README.md b/src/miniapp-market-web/README.md index 670f7ba9b2..3a587f5e2b 100644 --- a/src/miniapp-market-web/README.md +++ b/src/miniapp-market-web/README.md @@ -41,9 +41,20 @@ | `src/styles.css` | 响应式布局与视觉样式 | | `src/api.test.ts` | API 客户端契约测试 | | `vite.config.ts` | `/miniapp/` base、本地端口和 API proxy | -| `public/` | 网页静态资源 | +| `public/` | 网页静态资源;见下方"站点图标" | | `dist/` | 本地构建产物;由构建生成,不手工修改、不单独部署 | +### 站点图标 + +`public/favicon.svg` 是唯一的图标源文件,画的是 BitFun 立方体标志的简化 +等轴测版本(16px 下仍然可辨认)。`favicon.ico`、`apple-touch-icon.png`、 +`icon-192.png`、`icon-512.png` 都是按同一份几何数据栅格化出来的产物:小尺寸 +去掉了面与面之间的缝隙并放大立方体,否则 16px 下三个面会糊成一团。 + +改图标时先改 `favicon.svg`,再重新生成这几个 PNG/ICO,保证两者不会漂移。 +`index.html` 里的 `` 必须带 `/miniapp/` 前缀——站点不在 +域名根目录下,浏览器默认探测的 `/favicon.ico` 会被 Nginx 挡在 404。 + BitFun 桌面端内嵌的原生市场 Scene 不在这里。它位于 `src/web-ui/src/app/scenes/miniapps/`,通过 `src/apps/desktop/src/api/miniapp_market_api.rs` 访问市场。 diff --git a/src/miniapp-market-web/index.html b/src/miniapp-market-web/index.html index 5afcd46773..2b2f2c572e 100644 --- a/src/miniapp-market-web/index.html +++ b/src/miniapp-market-web/index.html @@ -5,12 +5,16 @@ + + + + diff --git a/src/miniapp-market-web/public/apple-touch-icon.png b/src/miniapp-market-web/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0df812e6e5ac7ccc937dbf95067e24327fb7f763 GIT binary patch literal 7403 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 + + + + + + + diff --git a/src/miniapp-market-web/public/icon-192.png b/src/miniapp-market-web/public/icon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..058dabb4e7bdd1f19e8faee2c48c185edb378f2e GIT binary patch literal 7649 zcmbVxcQ9OU`0oRQ9xNLXE9$D* zgs2-~S={5!ojZ4af8LorduE>VocFxX^M0P5WMrU4Mb1hN0)eO=Ypa_8_x_uUlojJB## zIo684GDf+?%sS#`1IpSc;#ic_n~KUGEGGT2w8TWeWt?8*{Cq@vqShpHC8U+%N}g`f z2?k4S%PR{F9T;_@HxsA>0|P&vq+SHYayWG`A{1#EDeh2Qc|*(eN~0^cNV)&JrXq&^ zWzhaad&erk z@_%?fr8lBG(3$(_UEViG@+(n%L~bINg3Fn;VH931Ha}+^fB&`K9ZY)9hxBB9p=8~H z&a_6Sxf*e&WiY90Ribq?0aO~X{Buw#R`l;8H$yDHTZRS$DN98H)wi?|6*f+m5S3uK zdufUXMY3Jsoz6iYm`!+*@eWwxILf5FMK+4e%gE|4ldg933ayrq8mxjAt2=XEnha`RWuqwqP#@+pU;Vs0Ax?+`UYk{+d2|bg43>od2n3 zq{)n+BdXm=1H^NV(ch9+ih$K*~>mk{661;dcxJzfNir%*0B&` zoUy)Mr9D`RiHV^XQ6<7MMiJ_1X=(L{Moh|l@ubzun*3n-Vjcb<8|1mzB4llZ=WII@ zoxej{*IJcxUg)!IDd)AwFr^$ZLV?dEdIcT`y{FvTzBb`gBriJ8T8~n!%{gC;`}_T= z>v`EvhJjq7HPGsDZi$M;MEI9Q&Pf>qUYh8OuQwD|SE50e*SZ{c);_u0_n0PKP(Y6@ zBbFASoq3W`0_EI`A=fbZ(9cB*qttfw1&j`hi;JkcNt~MRgyd8sB`=AYbUSAfqa>M! zoxNFES$DRj-k$m27LA&r!&%bK6|*(?q@YcN1XCrsYo6$C*^}*)=Xd|GulW#ws=^+y zZ!bSf?Jdt}vZ_~Ohqhn@G1H8DC6QVV(Gb(IX7jh8dYk6=E93r@yab~L7L8{2iHD;e zU(mLd?C$FRQD-|sv}8S5q7k~4JRt6k#7}QNZ)I;0 zQ@6I(;ks!d4*W7U1XeZCzV%Uw>lBY3g@ZF|aff%fK&;r)aKa8#xoY^@MRFOVDhnmJUe55C(#qQXIxr+C|3bx*?D|6}eKyPH^Duz4 zMH-1-c>`VPAp`$g%0o%FG;{Disdgz}O|}bc>oC>{L}jhb0j)*b^y*HC886R9GkG;H zw*R&@e&p;NsMLYj4WA2+CDBrXTSt7VEr75e^B(q?y_%1Fq5C+2L=CvtLlm?%lz zSNYrLcU>_k#Vi<=S7z=W%#%>;p5wZqzP_Zg@|3>Z%JBY5SLX@JX53lIz3!R2`&tY& zWDTQotw2J}IUHoSv%5QEonZ6DS|^rKmCTQw1c}wIn*C_go<7DImfCgD%QheMxN0_Z zl0F%iOBrhY1jZ>DD)igDwr+#nX2C_vxPAM4&7ajGw+?i#cK4oA^Bj3#1N0xZX0)&RP4_~YZ7|6!_3f{bN_3%h$ z^Xbk6v=gx8)t))!`ns@iqWucNj6SWdt>s}#Il8(yz#{%b`u_TQuY5+Z(F#HSR@;g| zB=ccupX(GWXZT-ZK&PDCnc7zd4L_#Epp@3IjU)L{mQ^@b|KI+~WL0T|2Uab!fzXOK z4${}yn0ax~SDL{2B5`{%-yVe#XR4Foe#o7iIEF@33o zU)9@n{pb$Gc86a%2_Z{J{)1(HnsDV2eUaskgzSH01X(wbw2n zKHW#eNXUhVfI)Es&Vj&+0HO94nK8Dx9E=W!W0cU2+Y`AOr??b81W8(2T54+Q*Oe9h z;9xlbg}iiRMb!0CjQxD1;a32}&-0U2u%DY#ep8YUB@)J21sTuH)If9p>xp;J8V9v09|PNHcce?W2Sr&2H2Q z)Zpn;AuF3eNehsI>jhqmGc?vGeAi~!N%GroX(NT9TncP7CKS+3DdtUB`s(Uax+J3d zUF&;WA3_Nb+t}IP($>4lLih!SpD||lM<&Jl^n!zfdk?rDyw9tCLSR-7d@T;Qc6PKG z7!-7bvhi7ftEQ3n`>{*CrlhB*_eA%W9E2Z)F>Yd+b=^|{^!wT6$Bywpz#RLZi9v%)+2ORXAn%LXh`#~ZbWAg+!GqR^#LoZL}L$7d{-@CgN zjg6Amcjw4u?nO0x0QPrsaTf4Hvadm8{z z3pO=8tZsgeACXc5v&;KN)z^zb@Q058fs!;U%wZ`t1|S`w7L?51jhvx?4oyu>yZdaz`c>gIpT4CtP=H_gs)ND3%{Ej5wxG z=TOp=X02nTHOpo8WlsPOtH`JKvD9l`&J4?KuP*l3;OLMC22!uLrsUAhAt4<*V*KU- zBvET(YoVN*o0}i)`>wKf4}YvF$u(o{-r%7p?DX5xlJ28Nw=%WgdDLGSxe${2v16Kq z8%15?;;qXp+zQPrL2Jzc!3W(~gEt`?WU}7NR>z%Pxti;?oAd$(hku%p$D?dM--m5C zYZz4%O~|2?zXM;a*0#)%$Mp;V7J%Pi?knr+D$2~vEPUcszH^&Ksx(LuHo`R3x@uH6 z#r)weL4U5LM|~WerfqwEZqD!Q(DC1&1=CsK>A4)xLsv{p*Z${}F>qut6`QP?7ew$c zuBWHx!Rd0qjjZ@!vxy$c4r4aHMExH{YX^P}C4X zQs38$jpln_!mf_<4SyXd#U-wN_BQT~G9vvQ$U5ftqYXeaZ-g{;DdMVMTEWecE55g=!mHZ6- z*Z4&=AQjdN)gxf&i$^M_W>h7qm-9`L1g``!a}S=Kotd|4yhZxByQ`{)T~-q|Uy zs;c6J*u%i{Y2UstYeHv(aMAJB7nJ`ZJ#QP`c}TE)bi$!tF$4E;<)w4+_kXz=c~y`t z02!HdP0A4jFTdEWy9q-@-k*i~l5IQV0FMgz;q&tsH`ev}^JjVAHB~ZrZ&_=C$(^M4 zyH=>>_+8DJMG{JGa`fp((8P!*L9D&M`{QNp*qKZQ<*{_Bkk4S99BSM7?ftHUpN(Uj z(3Q_Y?`D5D{W*X73rj*w{G;6m{Hf<3D`21_D^U3ZEEUy}YoX0jb!`eXb=p4g<@>i>;K%|H0{94G$3W`b#&C4eILUA6O!sHU z1EXndp&Lm89oT85ltOCq@LrST;MLFsz`vw(D(gIY^oUmABk~MBme%w!lrK$x(s*Kg zp=7dqg1oF7p#_Q?i^n-QITde4?!P_VN@~Kyj4YOa#mGrZ`~Ll94CpTeQxa^X!x%bF zrv_7DxyyQvcjs87hDUIvPj-I;)(}w##eFi?S^rF{sX2Wc=dczyeomcNNIm#FF-iU9 ze{R!N;!)E+Ow*_y($V z_pU<1uI6!XL^WcXgjxkJaf*(Nj1VyhK~#2pZ{ij2J|wI%EEU^tii?A&SQ`ewl&FrF zK&eNscayId+M9s&bZJ%3UPNh2C+AQ7#10G(hX7lW^;ty#QN3d`T}kXU^-t@9nhuJ2 zrZczzuqPKlDN}MVv3F+!4N*X#VJI^Cnqa07CEOOd2E)kHMCa)_-M`bb=kVR|HDYfF6wtHz(*`Gt_t=T=ur zc!VjIys*%sta#)CuMlYyN73K2DBvqf8xgvoM@+kZUbkem(&@?%4tc_zS&519ec{AQ zH{NI2m>l_DIZ|QLdNENQ>WO4L`5w?mjpNwwXg`QGt|Bai*S^NNdYyG)Z@VR zxcgOxr&vFvv8I-0@_ghgEUp(rn}lloSXrVD-PM4gnXWb(39Y!}a1K+2tu5QwfzsE7 z)-NDmdlUR^3vHC#J)TBys((a^b6bEkxO`IlaSoGhduougj)c`!dX@^ml{haES_b)H z`a0?MHu^MTEW8dWE(S2alK_98pAVQ7wRhS(KY{-ppf#xuz`o&smU@q_uIl9T914?P z0E0Rf-RC*PKxSuWKiV!#$0NOlPcLz;<0%fQ{BPWWpXSBF+O#7@AMXz()o~j2eryvi zwSnfP0^tZ-i)*L!zdJ@w>UrPTU@3jytq80hFCcVZ(Q6 z3s7F+D0#oh?Efc|z6Qlwji|1-P+3!7OfrLNN247tozT7}eco*+n(Zx%o)3tFvJE0G zZs+DFSAmD1A-8EDdib%AC6}ef+92+4OUX!%9)5icS4PJ5)l1&@cNC#r|8po2DSyfY zL)Akk^SpQq3lEzX$~`Ziby9XR?y%4E6}{fTf1&x^Xm*uun`HJ56xDsH5V~QS6?4mT zx#cy|Ygtd4l`nf7WOa`r&B1Nlw`zRGEQ_MT?eJ1WMaEEiv%!b6KJ^amXp76>fvcOE@@9FM%y?7jCw)@MPdyfM?0KbtwlMU1d(vqS9Z^Fpj!0!x>#m;k9< zNH00L$~zAt&~2q2%<+Kzm49*cz^vzLcN|sek~S|Z9}GKCEC^T@1&^D&iefCr<^D}N zV@}4kRSthObvzIWet%#lZqx2n1q~8l$(|&!AOaOMD1-S&weITky?(=~rM@n|9v?Yp zi8rbQ1QRuEsZXb1o(?$7AaVDhK33a3-fmm?&cchq{x?gX`tD(=;VQ;5>{`d1f@_#1 zW|uh9LrS6l@bE6m=ZwAR6B>v{#hz`b;{mPbDcfzbDY83KZjr0elG?+JjQWZkKtyF zuR_+m6fJ_Af|i~a+E~{LfVbks1;_ZZUvJ^HvyT3fj=t*Ku9TM!G-FE9d@+ps}C_v=LYSLdw#;)P1(X-*U zeL-xn`TDUSyQT#ZBO#o_D5h#`TCz|lYfA4nq>nsaoPl0AijW*T@clbO0{T+i;N*?- zZX0qIg^HGCy=I*z!L3tlNXRIRYJ0q@9&ZGEJJnK&uH$WAvcZS`>$=9a|?N53> zXN%gj15WngKkG@7(!1}A5mcsakZYZrg3=N4YgcLHt5FsJf5fPM5l|R7H!su{Q+pHya+!d`kU`8aG(v^7z6^?tz^R^C9U_(QMb#P%S$Lo~ykE`t)~ z$>{cL@ePzqN!TSuqkJdi)WVrTz?iTV7w zEWa~kV0J4(s1$s61OMwT{yzAMfC!#X=3v9?q~s-<*{GdbkLR)9N$BWwoi?v z?qoEX4$jYHQ`nM3c9dTp;qDC7F#UtwzfF$N_Fka5AY;xPJkm(v>)468^hi!0w=>gZ zi2pkWDe`cACaTtUsGEGRj^-|6!Sv#pjmK>s!bHmZslO?}-Gy$>jX9ZRsI=dv<-Zzr zNvu7n)fki~=KXmENNWjo>$n^aTiK0iE7Msjs>uG4H^_c5*<(??TT#WM!(m)&A$rZQ zWmaEt|>IAa9xXL*wl;fg_(m6RTmE|T;&lv!ooRn+iNOF^y zTwYcYRFbN5X%>YidXcx9DP+~2lr7i`^^@rF>$D$T($bK?VnpT=2>enHGMvi;Nv<=% zZI?>S=NG2LPZ{`V5(k~C`QgSdqnXA3o>qZKBpiib5g2{xW2vKRGewx#5tZ0mv&G?c z2cWo;4Vg7cs*`Z%)KHC=3UFCUo0{9AIzmu{@J*kS*7i~cLCTfk_jh)*;49%mS5)OU zNzf<@TK@d^f*})mKS^=(ty>9_FFp|k9C?Rgb$F%vU4+V;-CZ^= z_lrKkrKk0qlLUC6CERDa0d$K01!O!C$$cqa&hCYmOUS;A91_{3_wQsZqU4%z?(<3I zoD%hb+Qb1Yn(C=D6#xy%zB>Vw53EK&@-9Gie(`XXeBpsZCrUC(JW=Y`0W}p>3GWB2 z?$dsZbu*G=d421*H~RGYv5){^h=z(?N@Yigjsh(}d3MtQcZkKh1pLV*?jws1KDKBJ z?){L1eT7n_5b>`5FQu}@IoE`??lOOx_o8n|@5mn2Y5Q!>B0KEXTu!3$+t#ZdlZjO_ zk$LW?M)>nn{iGlCM6KZ(OAz!rl3ap=gX5&v&)!@oeCmdWW})GXb{mkNZJ3ybZJrZ~4!Z^7`ZAYrzOf+aP*98tMFP5IT3Nb^t)43e*U~0aL zQiO8vnlU1!gixpx+*2OD_lQu1p07?5mZ3`Y+@rFRfyfK5)2UgM6Ah*mFzgvdu$10b z%B*Cnp$HMS2=u1Yx-=8QX-brihWuD@6B!w~<(Es>BKv=*GhgP`oX{;SmOFT|me!!F zuZb_Lg`Ukt(@CS4p5(><&#_PYyN!g6C%Je;Q=WM(O1%Zkz>TJ-b!mxTL#i)kn%3wIA{N>s#IU3`H~K?)rVXw$jgV+tZA$hdhwMcm`vBg zv0M{%!ssv;y9hgiAY4a} z5KR#T3;&Bn*jV5{^M0RK5ai6-QKFuiU+QH4MbEQc{=0uJSzYxdjl1)bmD!Q4(HTdo z_({=;7x&&C9hcMIpRaJJki`-wEB?;3k!p6^JN50A;JyS8qtStAk8ftJagR-(B{S`C zPCs}k|D|l<%Ok>nxnz8AS7n2Jco7x;ld$ttS?5~bRSk`;x25$s`^yHOMkjVSA%6+? z48H4HntaVvct#MxxNja(#8vJayklu)b!;T%_+Q=e2CSz!Vm`@A%X76$E34pD@#$jH z=9^+v3{F$hT`z{n6N#H0IiDQ*a4nQAX5Y3-K_(mv|K{`tyf?f3f|X~0Y2uH#p2Z`+ zzDpmN%hN`$POBpG{OhN&`iTr?K|Z~l@tROZlKRu^Y{kH_;~7Wg3k*2jRV(*nI*}*L zx?EC1($bClRo%M%1Ad!PF*#d%64rXL2P4G$SF+9*duY6o15Alm?G~clFY4z zCVx##98aT(p3xL#SvGis;E^$7&!Tac4@a}q)Z|6&npv0&_>}K+&M;%{5zXE+itRX& zWLGa%&-IG#OQ9S5e50b?p&J3EOCMa1@GcMX#CBZ7&2O3!)gAb9EBt+OoPmMSLK~gH z?l^e0>=gFxafO{p4L0+8*Ns1S7O7LRHKO8kMUz_)cU}{f_%^|SkTbXTRZu8ll^^KL z=Wo2#!JpUH6RYG46;rk!P~EaHHRHKdnL6zlZa0*lH-1(`$!+CE`R8-}D^{K#geg7J zl}W_U>`O|Mj?o7=4)Ar*?u&9>dZrVlsXRLOfx%?K>J3IPL1+&n&5q`doZ?inu zua4%doP{cpQhpXHwR&m!7>cU2U^UQ5QoSdApzOcD5e>bV@d!BH6-=RSl z4qm>F-?NDfZ#!KVH>8Ir`Ki#ytE?<6*9+R#K3omD#e4wq3)ynXoMEn375t zI?M9axB#C}w0AZ6-HuQR^;>0MlSB6JZJ!IBE)m8`FolUAr31G#K09`)sfV15S<&CN zY`p`U&4r9G<6JDx?cn2UF<)G>QpjZbil{+wP@37p=j6^w5|m+af7h-F{kmU!|w8IqG9w(#!8YxPGH|baXUM%wab( zg_#YNUTk+Aj$75hug04?pDHSzR%D)arc$yr_aQ{0na}AVCZ>?2l)u&sl-RyIAIjr6 zh`e9$7ZDY07Voamc{-ytGih{)NIYbWQI4i!#L!>{ZvD{a!g9UYt7=#IRLiA$zZ^zK&J2N~l^o^ep#0ht5-a z6y?1!u3g&x23t($v{Mz8XK87oIk;SwhKp82z6WTisr}`mU=<`OJ;=gT?{scffUl$O zyg5?>Grls}F*Rm=E4OQ3EZ6S8qCB&#TRlp3A9@hstayXDnm8VajK;^kec zh-_v;XTV21y?MCmWC%_wR@#zF_B!IZ_`KpF-Dk(o+`I4VUHg42p9M=x-;-n|XC{QH zkEN@xRK#)4m)~7GTb0WqcnNuLy)!y?r~(3u{QkTIWw+XC=2DB@zoys3Im!{BEg6ZXYCX za?Y=7GfK|>CAU4|jBHuKgUPqo$0`bmWxH;vXYXA&r)z0 z)@75RA#%cVL-#MYnkH7}Wmdjt>IRM{$j@$2DA5NEh&}bmCb-qAnaXDeJbyh;M=Y@s zo?j;1M&)0}wuC$)K8Q@;f7M3kh7KQ};^tobr0$7q;)7f_*LBfU#dZG>R?G5Sq#N1u z`gJx})1G(4#xzS8R>xxc4rysicNX$#LkolZU9Y#r@$mTaNLke+(qCJjAZ#`f)g60& zJyFRbY%|g9MaS9SAj{Ibe3`DK%f+Ob%9PLtJhvLQN=aHFC3Y3}RuUr>;x(A7zkz+x zTh%QcnLav4m0Fw}{LS0_I#^^l_H;{)wxSO*C>>6emrv1v`O7kXRl`a+>yoE((ZlAlF=`)>7uCH z2n3woMSpUk0#p%w*kG4~i(9bk(EzKEkPX4#QcMcI$c#`3L&oq~u1oeOEV#JheqkEVY$T{&=hHvm}X2k=yZ`bbeVa zI?jTy(_fYOkmF|x-aqgS-%&1W(}YO%P-&ml3$?cy_SZas&6&-PxTFbZPCavT@@JX4 zpm*%;bc-nq!ZF1iqEndgHL?F|(w~QvJ73s(#?b9Ww#WL`KHgX7pR(;fg?Jh-xHzp# zCOWLCB&|hJD9HI<4E)2(O@D5KeATD&_UDGoGtTdYH=eL2bYG1b<_;kei3Aq%whULd zJv`hz^JU~6nuk2|ZoFcye0I^bFYEZY8)8@K=@B9=o#DMjSCyQQIPbP?ZH+ZP`{9iR z+~xvadF08%hYt<5&4*H6et7UR$wP*hpO0@8rzqWo_cq+RmKhov%6EP`)hb4^=uBPr zyEHx3gKbf!^06u@hgSXJ_z0sdq&*p*4P)EAXTE$qM7O&!`)+?RwHgyCmu)9huGNBe4}~+U>=gZz%J; zYRBke+7}iUy6~GqnBv*-BL|G&up|S0CglsJ$DM12hK7zR%%osAERxFz5t%zyUs9f5 zQ@Ict!otUA!Yhj>5zR7via8eDsWz`TmLe2dg^{N@Idmn3Om+Iyk_^bB*>TIGy@{sx zfBw9;f#uNVd3EBbwAE_v`tvi3p%b+_8jP*d(r@?l{1sNKZggR;z5R!cedriQ*q&Jz zNiQl=XLp#K39=DJB`ZH7{+LzP<*=KZ+vlZaAqxsJw3F}D?}`M|uDM|J3(T1@Dj%Dp!G6YS1u82?6#IofMa@ou90kYUc}e(4G?(tFuol7WLa zP-}6r^M8G6i^CdD-JP?=e>LCwDB`KH`a^tG;MlW;@+uu^Kn=e{m7Szrugi;kXN)}~ zvdQ$Ftjv|4yNZhr&gXJH7E``aWTV2z$A|GW=2FG(Wq#x?A~rEqug$}GZx|! zgqfPW>0QfP768cFjfn|0HQCl`Qp}SD!c*>QUnwrLmk0ti16YK{&9QCQ)u8)6JFewyWPFa>kj-7I~K(PBp$HaGRXc{+$HNr?==b8N{_D zW_=NOY81QG>JyDHdr%$`MiL&UvDW23N9IaCU4y$8PB1CoJahWg(Xal>jBfu(jFKSI zH>{KWfIK`S3AfNwQ8suXlP{U(i=PQJUtlNaxH~x&@U2`~+*i5+-Y6%=LT;1_`ZQjt zE0h1af8*L*Hh}Z1I_pSPbkdvRf-{>Vc@711Dh-y^2ZAv}a)>e!~ zR60*nkhAOP@n+n_zI#(|huF!*s~%NDOK(;oXqvSP#$Y&uc^rM25(=o=$B^W=Z=Wbp z*pfEDfZ6Z&vhZGf@xo;V+oxXXk0WD|ZI_a?R@+8VkH^wvGi`}eO~I)z80*N;fTZki zo4zk00}OQAq1yiUHtWY0NBYho=MY|G|JU{t@|8(k4Ag4sbhnVCDw7^@alQ7$krBrm zrC9PM@vjPo8GQ^;XqN07N1SX_;;;6x36k8B&U@jjk3LNMZTSAM*#_pIh{YW#s>dZ4 zV22Pge$}UF{*M`CY04(M#`^A?3NPv1`1zCTv10EA?Kf&(Uc4ku&d1p~IXMzNy%?c< zbB1Mv`)R`_%pFl)DY!_O47tPbXvyh^_Y2~7F}r@?#=TFf?O$IirLh1`m{fg~#xm1y zGlmT^$>Aah=XrtY4OE_n-=^3V?)UNVI4@BuV@37tJxM;xR1APd)*CikDHaX;k$PU_ zFs3qkVBkXK*%pj0oRzWNJyyf~otlmofh0(Y02=?=FBcsl*DKV;8O7#r#=YcM8B2gFiIGJ%j zK1CGtwya_GN@A6*h47vfPJ_dTy=u5LhQ{uD)YsNBnLZO# zXttb6I!wG_9D|8TuNRgo=*zuM5l%8?w{$sv{CIj!4)-9v)z@>nY)M*>eRyzVZ7}cZ zlKW*}-)$nX)kSWaHw*fdQYgal$d+f>9x42KJ(nu*5LM2_>BJvNFDw-F9SqVaa_hbR zwzpVbOyBy=;Rw@IHc zL@)E>vdDc6kNU;QUayf@4f_ihSPBXXN_K=ac=57F@J10mC%RQGU%ot)T|5w`!V-Uk z$DYMFaNJ^=k~e{zg{UCBLP!X8 zu*l7|C!aZvup$eUB3eI zH)FN9?-ECm$KXvaQFU9`e(&DB%|%HSA%ygT0s**JcSVR!f@vy`lpF%W^luuZ*}QfZ zlDImdvN|=rK9zxr;yw@DJJOV$u{3@7@L|^dT3ROO&b5LJwd)bx1jp5&_2IY& zSrxk(XcU+x4ScV^cG--Bqu8rj6#Ma@Y>MM-l8|49UXb(@%StUkj zO_vJ99azMl&bEv=zbESQ{tjV{YXyu^Uo()qYuQQI2;6rw{Pu1Bgv7*eGs89GbH#L&{g@Fkr)|zb#JmgvZCDMn_@m#S)vz z7_!qQ|K_#E^Ze3bT2pUuaXRaor*qF)D+jI9FNv`hxq+W&JblXg&Ud=rCAaMQ<^8cv zs!c^m2S4c0QaaILbY)dk-L(>R&}PMALD#>Ji{uusjtidOR=PBB6^u+)QPF`Hz7ATv z@nMkW;qG2fiaT)q-PGF`vMZ}|qb;mNX+At@re4&;wkyY4Gk8^#hNC31;gAmL*??tu z_`EZmOZ~o*5`i;%pFe*Vw1#6!Ns*5_WOvHQ%znF}^etlZxytczsAy1xx4<&&{a#wd z+G20Vz`#v4mrlW;zn`nWzu#}=$J0EILBjbxTUuFp75PEg%-^Tya&0OkdW$_8p8R$H zR^xf)0|&(4kFFmZea&1-Cx^50*n_;6XKHx%N$M7|fue-TzJl)B5{FNo6ewSt^cWEx zTxL1=koR`uc7!RoWW&^7PYM9iORRK#<(J>jXHPx9)owzMLtRaNXnO9jG+*D<=`z3Z zhmj}D%^L_CLchmwfF1Sq^{;%V&rS5d+dMKd0{#Nl|MnorZEk3R{`AQc+n6f1;{NN4 zi#{){in#&mk7Sxo%qj8y3lHHO6b~JB7+YdgC`4)S?-l_Nh(o>t$1^i_aKbmU^`fX) zTJCEUv{g__i*zqu+*LiSJP@)Ggj$wl(7cKJ1+pG_{I@c~Yb_l@t;oyci_`wiRz4f+ zk^cBG695>(SiRArBMG8<1+vs$oBuREHD#bG65-a1J~0uVm|7$M6TS&B^9JC4288zr z_5od5x(KiD7^Cvw#l`D5luF5)Z36l3+_?jA0pQRP0ia?{u4v1BT@Roh4L2=({W`CW zDg#zb4g9?cMe5>#fE#ldViK6|xOORF11#d}*RSnxDJzdMAqZW6{RJxy!-|I|*#1{| zPh-U)@o{LF1C;yx<%?Z!k=yc^MnzP9{+>npT&l`W-%+a3)7h^sxpqra{o_A==qU&{ zw|Mf#-@uUBXp8h?$Bub{MUr5hle6fCZy$eQ`~J4Zq7 zbY|6&*w@gk>qIysPfbZ$C5MIZQQhCOI{yYc}HW18kqp&qKH-oK( zHXyp84i>^6f2e|Kb!J;df;{?sdfk-kU$xn62it__?JkPNv2v$BdW4JQkunA8!Bnv6>K~>vvTh4OyI=Ln)3As*Hnw3mi8# z29OwgpfAY8iI~lgEz&jIzFwQ`Eheq4EKJO?CX8sJ5TK-V*wImD|Ni~2LN~N5@1x}{Z67{J-8CFev~sTkq|39bVfoP73T)(h1a)`Rh-S&Q>pYT#7&NeIdLl(`k6ylv znZuZ=!ns3q#_9|6-1?C?9SFp4!h?eEX>0_NDMORRgY~UxT3++xCIEgQ=vLMfRU{-m zOs%+WqY}q6w9c45eCQA}e-u-U%Ea6!q1nXMvYz;)a{-&KE>2Xvf6oSRLA>UMkpo4W zd9DTpH|KlO(tN+oHb^$8b)Bst=qR!`ctL#0=#UKv2tea@>Ec%xU_<~5CE<{ZY=Xt5y#bL$SVCW0jhND1Gtb9Lpsx-?ZcP-;G>LK| zg|6Tp9u;dou7l;`UDm$h;ML&Ua8SEg0|fJf+xe@a1Y~ADpEMp`=(1_c=6|KA+Z=@< zL*c`sa_6o&($ABnSdyEKb&ZGS-QmnsO&TGU+Y?@3%CC$J`F$ zJEL%&G4+mzhp;T=?Cji4d#Vd(fsOwOwKtT?DUFRsYwh#;yeYz>AP>3RHXSuJW)i3S zyGeEQdM;f#4pb@@qJ-z_ve(4d*Bm;Go;HL$hbi2SN1QsA8LJute%pYT=lRcF09*th zDQGhe)$k<@rTGq2q0TYh{;=->)|I2(-VRA;cC-)%Dg7OF(WK(tbh&6|W+t#Dq;fP^ zT5?*o>d5vmpeSAEu5tlmF)%jfq2Zi5l#%wZ+2{c2cwNAdsj{VW+Vk!DSubAbOUIKt z??q6@r9sQvwr%S!aO61`@FTNtB4$Y}BLXC74s4~%a-`GBqfWqBJM_x0PCI93_Gf0% zLBSc#LsTBkfO*+J0ckK;R66YU?@O($?P0b^y1c!GFl1Lxo;+#q>_nq=U%;J9lzQ-#rLvjnuMOaWB+@pC;AOi$;Lfu0@_=qm82@AI zpfjMzehXjBXD15UG61de&M0Vj>t8OxBjfpgq6-kqVC&%rSEs6Kcywaw>kT03(!2=> zmvLyQr5#j^<{CYY)H)O;{{e26O;NjraESFDzDC8#kcAgEb-v|u;(vm!ap5%(xTY8y zRBnpx3lrD!vE5i-13CwBo)dGq5zf8sR|na_x2uB;iSotQxm#0?qgh&_LtY!Kj#2Rx zV+9ofkwM9P@JzU*t-U=q(Lsf&eTUth#NAOUEYe}%sHMQwG%tN;Gc+{h<&N~X;_u-9 zWVua@`w`F$YisLedRxfNl$0$Lwi`OudvcI=2bFrM_#?J;(L&vCugL#HcD;2%GIn@A z^k%AWXyA)ADB(Yx6oDb{zP~}N=-`YY~ zo=ey6RBiv;TFf6yRX`6Gi4kxbit#nqxw^}PwA@QZh5v>|Wj0>xhb4~8fy={@-FYNd z!s?9vKiGIu>YfG*@>Y6aH~IfdsAK;QHSchgu_`Yyh}cf5(Euhx&z?T0{*_ztK(yXr z_^EsyqRVk`7x)lBqTGLjBoN!(;a#*igGb4!skHzqd5&!oF>!I*gm35(HT{lpgki|S z2_XdAFV9c;P2@G8p`bcn0mz5-wcC?YUNQIFD4>vulG%d;a80w61euo4Ey$4q<8 z3<=CF!%WY)7LAc8nFp0E8iOAoiJAlTK|Tx$uRAOmbS+KG_ZuXKj#R2JSd5~G5*t|D zng2?Y>gb4cYAvt$Q1kYZiU+e&}X5813oEZw|vH#VXot2fP3u*{Nm~VE~ zKrTjU81eg&ne+<1RZPsQHsfR00rmc!!IuT7NrbF=^?5aj^YQ_!Dq_wWZ<(B{Sm?Au zGpRgM10d86pi9S`rvfVh@54}>1nniKrM09f>YBL%q(O#nM{7;<1L9`)C+~XGXMF4? zimo99$g=(;i3RR;s7^~->mO18+$i|>9ja8C(Ka-$B{42qfV<}ZZexWUYh*Z5vOZ|3 zKj~L&K-*S1)pbJ1o|IZNo2OAjB=q(50jJLaD3k(V{8NcQxejE|>^Hk;N|3((VFOT{ zVTIQ7iF4;}dTM@vXvNF|G2@(-EtEk3s_(12RioSkY5;vHI9HAn1aC3cVNd+%=qRwG zS~S}NKp_VOHywlc=UcjC0}|E~ve!`HN6EXTr6mwS?*peY0wK^XEiH|d&>qyt=az;6 zD+Odg;3?MuWlMpHW<7gWrO$KV+90EB5VFkSKxC9TH|y{t6M&47yXNPr(42mKJs6mv zZ04EeT^>Nn2IksW(VPTjwv$D@U~a(50oNLV_X0@;D_LVKJpz)NmX-!bRe?allzj=d zb7L(|9v%&`8Uydq-~+-lH{a|t(H#n3*WVQZn7T-RW(&+g4+xMz6qDh95pT$T73KaE z8w?%+* zN=ns>-12BNlMf0Cf-K~f!j0xNGpOxlr2`H?{pH!ST>ys<%gV$d@sKa8V;%go^1z~hQPQCARK&~^~;Goc6qC%3k4;9 z1_lPGtCY@vJO-Zgcj_dBV?pHhpEFjMh(j|i9-UR?a(atLMqwc^smtdEE`_Ly9D;Hc zn#cFQ^L+$qJw%iuH}4W^G%y+=#f`wqzcl)@2f+`%%z92q&5u}E|(?%NNNI?AjplD|sV+S-K6eDFz+TX|a>11hD z;N_r<|EUD-|RcztzzsC z8Q(XFP3{jP2J-vJCTLwzasmrEzh@I)6(j;TLF6wj3Roa&{J4B?4#V8~zr+Y`$nj$h za8}D(v3T4h7|^j-8P72t-KUi6^#-49^GxN$=_2UOHY4SW3mZ7VZ76O6VbEM}R0#}N z#RDO!9`>9n(Ho)ifW^Fl#27{6j3-a7!;#<$l9G}Q6|2n^w$lS;cu`Tvt2hFwHZH7& z7L@F)y6C3;XHK)#J82q;td&XbMVOf2JU`6P;$Vruu%~A6RwG%#>e^+^n-T}Y1|FOw ztGv?R`euuiUx=bY^TC~W^niXHJH{d5|D6v_DZ&1Mx4Ci%A|53={85$oa3F&?R9Ukl z4L!6-T^CkqUH`}IcfWA4MK-6$vJ_sIWo~FpuUL}B>FUBYEBlZk>rqkCr2-^895=rI zV^sVwcyA0k6R+z6C(3OhBw1o0n^lhE5EaadN2d%`Uo%5YO}M!2=t zmq*S(T%zHA$5gZp_V>p=r3Q-trPkkhXOj>~!ZgORrPvyqZ02j0Y_U zuO_;G9x@bilOiR^PP%Y`ohrt_%McE<(#aF#^B^Zk`=%;3g0*KVaalPzV}X@><^qt!F;d8wD6(oZ-NFiSZn(SQu-ETeuk#--UelB$`)S|&uR^jA4JS;gXrmtAIs3a= zX$0lekdiZ2d7aWiO@%Xr%x6l_DS(9Xw#SIF)Hr%CHY zE(Q-K{;dq#hoB5bPZ1YiRV7(VQaNCZ)3rCuwCVv*a!QJx+}&!lB>nx4G0JI6QZOu` z$3`@{p;m-On&lZgv}_0!>Cox9cM*eSRGqV?H=BMM5T)g9Id_+|h0J=iA-t+!x-eu> z$#{T3|7BQn%Vnx|Xk45`)n~KYbC@1F(p!}0&@7BnZ75(L0#n|3XE?Bu8FIa~wYBcD zs~RYcLTmjHd7y@vC|(b+QY+`2KGs327&iuOLrWJq6N3zG3=9NTem3K8AWR)xY7|K2 znQ8e$w*I?80S@nX=m2ylfF$LX{$@vA1G*C^E8Zp4Ud@x*UvADjx3W6S@8lR9w0>iK zI}5oIwW&HzWSt7_9k)njb)Wh)9?gE%;Xqw?g6+c3FMg}D4Zt&fb%|IVNhsFJXQDML zR0YtN0KNs~EDT7gd2KXaDC?y&@#v4cOLV36ZCjAA>tIBQ(#Ud1qK0I9$Xg!Jvx>S8 zOHm6cvW!mtk48=a8en{U)IHrWfI`6eT3e0a1T?)mVfe7LG&Lyr5g&Kb!~D0H(Rew8 ztU~QC_q7XA#p$-A;AhH$Ow%yBvSJ21(+og7nu}hWX}G{Y1yA4pE1OZ6Ei5c#xKOFcKNfP4Xu!`Y9hjj%O@_0xseI zQGgb*Y!m6$OJ-YP1aw?^EHFZP^h!S!Ee{&(yi)}w{uywCZ%^*KSI^I1)@x(cycrHm z8EOZBeSZ=JNP~K4n=$!^2!gxy9Zun-JLD)sr494D`ucqvVta?DK)-;_uWW+tDHuTAYC5us-k;;BHeA^n*jzW%c$dklom}Jve|SJHW?# zXiI?LaxPFu;&4#3rfy{9-o!|G0vt(E!JF0m=P*%zVhuNa9x^^39iKS$Xel*)cFG@` zicr6(K{+~f5jMvk**;Cfm5#1MR{7uM52*dQ_Hs{Ms;Fp_d{H0$Jm6Y&=CJ{AHTm;@ z>*9R_GPF-i(suX*1t3GSn`a06=}H>z@8ZQP_x}Bb#l<5HIV;byx4NF2&(=e|CEY6N@rRA^e@2CM12pvc>KAGmgF!wX9FZ> z26oq7XGM~h-U52TlNtpEh@l~L@7`1%1fmI(Q?(R3PbC~}>Ub#-Fi0zKH zG<%s9epd$I0gyoglq(D2b9M{|yF(%lkDWm?E7nqj;uw@uRMpkLp$XrCrM_@D2s(3p z-okev68u*y{Y7JU=g06n`CFq(4G&$HJdErbF417Bsx{kH7_;5d^{G zaFyH<2&ui-n;m#d6>u^dE}$4I$AX8p7wZupMzO*@|pEW>0;ElvbD3AEk89+V^k#9hFDuG@wy=TZjrLQUzxqb-ai+G*22E z|IlP0kfBtbnZ=KB4I|KB0hZ9~30eE2!ovCdKbC%EJC?*5yz+_q4K1O-MPL{JLQ*$v zbGo)^MAJ`}Yc&q-1~}%zz7WFyoFMq;goh9HE{p%DooSb%;S@MvoB*O@6{Me(|H^wd zr}4}z(T^D#q9xTon6R<7^e@i84l~x7CT6EK(q9HL$EYZO-8Ei4{XfQ2k08rMLfjGQ zuk}2PHBdU-7zNG0^Z%16y$WLZytIBN{DO_Vb-Q>mC?I4ym=bF`+=ik^3Z8|D#nZ zB@suRbL5Ayi+%f|&`z6D=?oT14Y&cCFA$6~hqz9gb=Kr_y!#JLNFdtvc-c%4r}93P z(3~8j`NdRhjMucZu5vgqu74WT|1K>5N_~_(81PFG?H-~nI$%NgkxIN2e>M@YvwFuU zv#-_QC;%twTWp5N45YVU_w9hp+iC!pA+q;f{`A-KlyAiiaH-WfosGTFsX72nkwtnz z(E9CtA@!VV;@E-9qdAnm6xgWwGkI zzgJ3TvUKcY(B*%<%E*@}62IQb9n-;PIQ!HVDhnB7%%Ns-%)LckBY*ws_?XXceK)6eU!R7pn;ouu+zQqU4P(MNcS zYw$W@Gf2L7&oXuY6@Ca2TlwO)335;6)zr1Tqw3(Axk-l{#O;ODPBeveZdsaBSQS)8 zTY@09oH8G-9Cz1h0N@w_ssztOpziD?#;P>Cki2t0AtZ~*Qp@p%jtR_noUlzx<4KMX zXCJO#upu@#od(w-+Ia8~zo%XueO3ugwR%1O^USDvOn)xY+l)#ImQQ-Zx*@1nKkKom zwHI3c{Up~ueL)1x4j|rF=DR|Ee)}v{C*1QW)7?{C6rwzwxfo3?e!~a7-%$!1Oe!Ji z4~LyUcXs|sn;CC78qZ@N@)v&Vm~ zav4#lMgn!qXBOzqP3Gx9yfQOQirc7Ay%@KLmjCW*9mx|WdD#2qE4|}7{gFA_((s~M zIEb!A)y;-X$|7H3CMn5*v3iOZU1Ey%v9VB~Af4Rn{Oc!J*U6L63sy*hxtCMsYA~lE z+>~F?yCgiQQbxQ1b?R~c(J`DUKf$+xDQ}Ops)x0X;Mc7do{734cF9r+9kD zTUY3=CpGFwLZy7x%BGKUH@hnxLdnWL$yYN_d&$RxsX-*xDsF3o%6~Hq!l)XT(8-?_ zPQT2mHHXL7?C-jPKE9+V*L+?L$3Z4#mi>41vd|#Ad66C^jKIKv5EM7h_V0~O;8&@=FHi5$PGPqCYw6&1}qJ**N$VIZ2r03dO(e}@Mx9{@+NI;5@ zXi9o|ouf)p>T?bP6dc?!F(;tNf{t7yKy*tx1d|8lZ-$SZDf!rc+An=WHNo_irsT|) zsr>R@nv&v;jQr<(4x>WK2KtVE$CWzlZDHnw>71T-s)gCYZ*-sA@b z%iPhEJsTzjW>x&@6dNDkJCkqsFl9J%7)~WO}_&xdk7Wzt^nZ~8TrDA zLiW&OiGq0t#r%R|uD5d-7Y`?Jl)rhGZ_|Mja~Ma)YP^#gh?bW-NzVlukRAN!*o`#U z5rCF!_j2aMI;Ns(NLMGpL1-bb1_J3Z2-EJm7IgOFwrMD77k)-Ze3Gr$#DQ==|LGjK zP+W0+VBn-?z+(XcfssR+l0cfZQaC3(H_6HW;>&)6wwWA2eT524((hYXU!LuWzJA>R zt>xSdxx@*j9T4#$Wyv97|4fCKS?-mPOM&`+Gl4etfcj)JU*$|1sA}Zac04-V?)_ZU z@)tIZ=YOynRY>&?K70)WmN4TG6Nwo~t+S`k-Hf$a*<)Ei+ev$2?7q)&Pl zwNVwAR(w;+XeqW>|) zB@U^K8*^j03yzK^5>d9F%+*Q#Z`B`v`Z0QdTjQ!0>E$;$)w4lq?^5FKc=ZaLoswy~ zdKM!k$2(9|ZMZ8T;jZFRb7S5FFB;M@*SZ9W5n&saQS21T8+ojy($cZUeOkBPzX;Aa z2m*kSOlVSP>FvSMoNmvR3sjza$S#1X|2&ECNd7SgQv0~ zeCVv^`x#y+>cNO6o0N2t7e|Gu`o|v@_(vFJHYN-d7M-$Z2i~#HOlh&+I==mcsVSDv zj#r9ZVQH{D-_>by=)(~u7Dk-D3)gNYrf`%+Bwp{uzUly?tsjniEs=}=w!phajZ0ZqMP?2Wm`xM>)(CkNlLH{aAs%K@#E?5 zm+{o^jfH#=I6U;2x017x@i<~2 zy<3+SE2r+rD7S~~*N_A;L7A1A>;?-*7U-eN-?to(S=g2~IVa!jW6peL6&H&kU(%Bj z&9?E3sq}j>F?F7FK z>-p55^>0PLo;YdM08Poj3!GBe=Aw9`7TdtfNMo%mWA(BgCo;bUkQm5)Obq8E2M77i zoH9&DH2dR|y9U&cBxtlQ(qG@HT6WUe*$_Fbd2x~cBLkY(rKR!_CwvG)-=mCG+CxNM z@V?8S6oG&{uIrdx~??z z{GJFp6u8N^WN>n>&E7tcH>z=OkM7VS-D3F%5D2u*U77E81_8FLti30u^KO@I%hxNE zdV3hMvs87D@A_I*JC5wEj|>b7X5PK<2}pK&vpNh=d@_z3z8oUi`O@OXsjeIYs1re3 zfyhy-TN}o9>v)V^V4>u*&+{eCYYOYCJe-KCha(MVcWz`#Ivb-;xhjTX)W2%2;vwAv}SXXHv&T;Su16+u+#ts~-}ehI-i0t}HH+o>VR>jPvWD3A%R za%m0&W3^Bae0IhmiE&8b_zoFmLT6l0%J-5#w*ah4-$8?6Hb_fz2`iQTI_Z-fS-Bq9 z)J3>q0Pc)mgpI|K%qJ>@{p4rg@rcByW6dy=m>65!5#?~#*40(8VzsUpa_0K4SKQ8+ zoPvhDoM$21Hfe&N-B@0W>X6D%MC z*_mzRJ08O&HMv0d?p@+nRDy0a$2uu8Rt2RiK|Q2MtJ6gXcfs~eA?1XP`On)?o8OzJ z39R#*G2k%yx8ZKK1c0dkkv}livxfWmOVn>dc~pjkcqK7TKD&tSpMnpE@wSueaO=|Z zF`@rJlbu-ihPP_*%i6E6HPSQkp}3qN1JstY-hiR9Plajne17i|J9PX5fmG0&@p!~X zmI*-{HMq5>c`I+#&II)@$nM$&h!38ucn6Y5;woo-1Iw)kX(^v*j9YqfIoa@iSy@b`g%t2C9kM39{Z}Vm0ge9seG@0=JZa&Ii|6D|HK;cqneDcF zYY$BN$W8-P^JV}@yPz>Xgf4>4I}BNftuJhypHFRSWqrvc_5S=v&%H=EVto%P6?-?K zo)X|(JvnCuqV|G&WDNChLUH@Nbm-FHRo16(jqUrnY~ZbBaWR=1I`WnYN`}2OYF+KJ z6#pGZ5OfBRoI`awlFF*8l=yhN!lIn&d#``-#@5|3^0KmftDFhp(bnFT7o6C04;(TJ z`pkevqjLQpESmp8I9ogx@baw>w9CfN*6SuP^MUGXmb($tf|In}OOQ75p-V<}d^GPI z9hrG(Q_{da*na)Vm@uAnYdEha^zN@YE8z={w^5;)UBce(|CkgMEa!vHoWih!=h02y zW{;LGO(}KUO5@2Ye-1s(&^vHp^*t$qJ6qob1!s#d(s!MJaqi8vFqLX z7`o%K`%4HFwsQMIXFGyFv~J&OSe2iTy79?M7+H{lnjVbzaj(%LA^)m>abHvNgaR7a zO@!grkbXgI=H~mpI7w3}6EuV5+zGzsxoPLl`q@^ckWg6gYU;YW*(vLY1DoP^nnZlK7XQ-Qi6HcHncSs=|E9p!@rJE5RqzFy|K3IQ(T+cZ=P_#sot2`lp~X-fR1Tibv03=i? zC;s4XFhZUhl@xQStEyfiNDcmrWS~pTE^*dN`PQ|;8pl5q+{Gp_07p>oonHOsrmC(+ zLhb9+DWQ+rK7J|ml~p4Vk|PTgr8xigWxqP(%kbkHFg30t+1}L~K3t{u(y~khW+V?7 zHa9_Ls}LBp{x3u-2~z6VVTVY)W%@TFl^r-!;3IxIr<4WYHO&Y&6j+%7gThZo@RA2& zQ-16V3f{dWV2#fEqmz5+sPJJ{o%iBeX9wHaCN=v``>DW%bbHi47VPa|&=2>}WZq)o zf#!xl`wiT2u{XaZRV?qjci-H8@~t`~Hs1p)!)BN0d+}P{BC}C;nvmLBtHAF5dzD#0 zjVGVJRZ(t_13Cd^iB9Nx!bGrn?XNjp)bf^?I4-HQdtOVEFiABYjf!h4%mjCeSf@pH z^j>90=~&`jz#=cg(4Ox%e+Y2^2*Da~VSef8hI#%!uMseR)A8~9hXXz}x-xPd2$GdK zPvjhCa}wBnQS4=BVF42ENbTW*P%^qm6&{ZHLQJRwRLuSXrF-T@_LE;lPvqG%({Q_W zEz}EJZS5~30wemKsh5k|aw{`~Ga_K9s*tT!LQ4$Zh3c0vwoTu-?EZ(HJrgVzV&NqA z)%f3zG69H@x_gh{TLQ1uI+>uEv^3mlM00$#B^M>gzucYly_*ennNkpF+A&rO_8yIi zT_goKW2Ip{ZP*CzG!+SI-^d+7n$Bn+N`SJ{z1#Ro>pJ6_G>f}k7cLl6>*mmcr-QWDK{VSA* zWaB_Wqnk*a&^u?g_4Gt)YV_Y+`0^TcNMc3@IB77{iRzt>8*$p%yRxNRUQ9lhyDVS= zb7WFY+tA8H$Zr*+r3DB=2YW^+bGzB_I6h_*_LGf(^$R4Q{hLh6NdXqCQNLkY+eBi& zmgEU^FxF;+c6fZ>m)Kuj{p3?Gav~gPZ93L`q51mB5AN00b|bf=W($IXfl?$C|E5`A zqY%Iw!AC=v2I$NzMpOfspEY~%fyt?%s{4o%#QTS@7Zn$v#xlD1nTykKg=q$Mhzs-N z(?ytLO|Tp@znrKwP8!o%ik3g?9D`U^=^7=+5Y(qULNLo6CR?hY~9SbhrZ>x%TH~P3z4p9l~B276Bz@q z%61$ysmJ5vZE!td)Q`_d2ESDO4J4y)1hQ|78Ptu$apuyebonNV>V8q{VlOht;`#d13% z?aGp#ytmL7hIf%TRX?y!MY6uerekz}%tu<@-=(X`b_BN4=9DsY*_(NJrDlTkReo`g zs;a82a+(;^cGykMfGDM$21AeGo~-LJ#eE(nZIw#-k=S3O{;}|Mg_Ww?twyYcJ&OiC z09IBbmqL=(7tlA-rFkpQyJ(YLA1-0ZEaY8x3ATkt5&KX#RD1^=k-Ql7DERPJ(1)}& zEe2CoZDr*v%s_K1<`oxuyY50tB{IDOemrQnceX2}nabFRrTb2ywqqt3!-kO74=}uP zrWiOf`YNzmw%RRmez<%_n8U^Ft@WjeYnsJxr+E-~nVAtxiuoZ}%u}h3fPvV3l$Nef zZhiQ$d{F8tgSymM0`J-n>CWU1iJ^bq`pI)?W6d1l?h^?aK#*wxgVZw5V&)5?=qt<0 z7RvS6KXSY;FvbR^r-Kx(EVNVzXMT-Q5z&@J|9;Df&&1$Y>%*#n`<_M1HkX+zvFTjr zm3k476Z27hCYJoo?&2FC)(NzC`CZ7+k(DhY1Kj^SR$ff!*ZBFpJ#jkTDj^S%bOTnF z{jpW=q}e?qS;3NIH}*-h*AMk~goYZudA)uct2^ao62N+mhDB{uFqHC93*M?P?zE9b zG!bRd{6&1jmXV%62Uqno2EFPp=yyJtAknPrDo(&m*~_StPwP2nN@YuiG*GFP4paE? zLv-|0&j-UgZM4Aw#~&eNm4SW?JbOZg0-j|1BV@T$=9~iT|9R%er;0uGrFC|?=-Nc_ z^}QZkRKlA48@2VYD~!3*NS~cPg#3%|SnAS;|<;c(F*`jPwm`SiN@|V)Zm;``(Y$1%1r22HY-XecCOsC?sgAb~8pNNJ+2dLiWic5}0)H_-03wETrc{-0C>u=kWh%_X zphskWqnIYD1hk=_li#t2^jz^HU=Yu%oYM6xd!5n{O&;)}LMAA=WDD58)Cs>js*}5- zHHf5R&V+~e%e)5jOE}y4eJl8I%Z*0~vTh%2IJteO*RC$;Z(mf%C6*21NkiA!CB%=zxt^ST zjP*Lr6sySVMjQO*cqHdMGtwjJ%EOhmp4qt)BL9CXIn$`7t}Tw=BqR(95(hx&Q-~D- zWr!%yQj#FisyHDPka;XaMX?3W7|H5tJIDOl>J) z3LzvU@5HY4)?4q}`*hd2>#TdvK46$ymVVzvB;|D#RN z1yH|l?)8T&y6vqI^U9P+jRY9qPmRcujXK$zq@|@*idHx3qSg}4GMZsDkw~P`yi8ne z*q;~z{Abc;0|BYq&3N(R{>F3Of3$hguB@n-dG81y{SM#0ns=TB+D+%&RV67O3ATkJ zj>fw6+2&Q9?vA>=4UGH{K8MlRJS+xy9mRL64M@L`pdMUjuk!1>6S4NkZYKY#1|hsi zOJx`_f4zMoHktfV{BjK0FqC{_Og9O2)_7K|MWn0A2eV&C(=8Ai#XKJG$JQiWs!cf7 zT=Fkyb%7uZtS#oe7(j#@h-TDb&CELgT<}`S>d9epIk z`bJJD&A}|pDh@u(i)~ikd_XU8zU4wU%#4rxJ@oe)vBWa#$a)A<@@USBcS#d`vbfX$ z{U(Y6fIfB!Prkt>j)q;I2bs=1Y-DBj9{Ib*RJRo7au0!*D zHMA5~&UYy?0~4LJuXg;M>iH01(6Qm?Uv~Sf?;&@#LwN;!hg!+qlaKVBwt+z4-Rd<^ zIsWqdw08(PPTHOegi?gnJE>rC%JvqQXIU}@$s2!;SX1lMC; zgd5zfxANH!l!UQNjuf**PnG-fCkTUka;_v66l?p8_+iuoV8HI*KFb zPnnfZmLeHOVXfcV0X$867Go53JSJB8rYCrC*(ddMqRmkp3IcbYs~6n*@(=JfVX9v) zD1edAgLZm6cQ{6JMs2ybb5;hqx3;LJp3g)`Hbe4$!l0%(lMRmz92`I{IEAQFa$5*K zYWZnzRox_cQFDomh&@@Fp84J5W|oQa_(<__V$ND<%4ky5z<^U@ga zw^rW+Sw`x<7!xm?1sBga{senT8vqC!dl?pQjO=4*c%xlTPc+#fs}YH@r8Vb(ZEUYi z!0A}BPaDG1&i~o+M9_vvy(66hE=7of9_DSWmDpy5l^E@s-_V#xM)R5;F5_7d3XOEd?tEuaVAQ0eKeD1&+gA5UK4s1kIr5X8>j9%Ed@sURu? z(_dCR>H5%r^H@!yd-Ih~L3VXII3!=5n_2quYH6QGRm%A;UE9?jf_Si)&-cz6#&1Uh z&%OIhCsaEXtWpu39LL#;Heym|%PQDESSuZL%7j#0%2W76{@v!EqNCUW>FZzZZS?pm zd+vRQC-C~|E?BT-`Tguqs9nWkEmTYcl8 zeLvpY85~rjqoH#rEo&uZ*roig6jWT`1T_G^AAbq)9axtM59*Xbv`fT|y?q z8e`|nVIrxxabc6KT=uZ-PwD<{Xu>0&O4Wn-|6wBL>caierWhU8+zyTp1|GYDW-fYn zCA&B`mbT=&2uNdrB8=5E5Y7}oE7!UD7D-nhob@$n*IHJtr{L}HDrP=_Ag^Xr109X4 z4#d4DgB-PpyAPtMWyH&H$WhbuM@rz3G67sDvgv+9v82031e4{j(29UB9Tq$477Qaw zRiR0~69d|CXzpqEbXVUs_|SyxROyVG^JjTWtkds>zObpq1!|>Uye0+KDM!YFSPW=>fYOC(^fp;O z8;QDsTX1o7+|4>rcW8?SKy7xI=F0nqhKA17pkM3sFllWUEcd2{&=?lNd!8#zofJe* zBKNb}+_%nlc6RqD^O0}=O3s2!G!3*-^ueK|NMPdbqLoa(-E)J4p9Of%HFgfjFE>ek zCG@&klQ7_68oa)Dvo3CKl(d8(Pkzht3&Tx?pS^Tn79_TwlMe9I9&ameH^`o(>HQgTx%W^ev)kCs!Bv4GIntvBd%vk3wK{erQYCwXlOsnCK)KGv7lw zT9Y*Naz$?yDJ`vCb2Z-#doB7)>*vr}OUfpeg;flK{Tk zctj(@UG8UwdFm8qXB}#uMPA<639B$Qvde9ST)GQ9^=pJlzx~*FirUZm{Aqi8q|L(L j2ZZE(l~TiA)s}jK*Z1t7qG3S12%R{3hWPkMaMHg4b(ws# literal 0 HcmV?d00001 diff --git a/src/miniapp-market-web/public/site.webmanifest b/src/miniapp-market-web/public/site.webmanifest new file mode 100644 index 0000000000..ec7854938e --- /dev/null +++ b/src/miniapp-market-web/public/site.webmanifest @@ -0,0 +1,14 @@ +{ + "name": "BitFun MiniApp Market", + "short_name": "MiniApp Market", + "start_url": "/miniapp/", + "scope": "/miniapp/", + "display": "standalone", + "background_color": "#0e0e10", + "theme_color": "#0e0e10", + "icons": [ + { "src": "/miniapp/icon-192.png", "sizes": "192x192", "type": "image/png" }, + { "src": "/miniapp/icon-512.png", "sizes": "512x512", "type": "image/png" }, + { "src": "/miniapp/favicon.svg", "sizes": "any", "type": "image/svg+xml" } + ] +} diff --git a/src/miniapp-market-web/src/App.tsx b/src/miniapp-market-web/src/App.tsx index 062b64adc9..17ef754a89 100644 --- a/src/miniapp-market-web/src/App.tsx +++ b/src/miniapp-market-web/src/App.tsx @@ -606,7 +606,7 @@ function AppCard({
{categoryLabel(app.category, t)} - BitFun {app.minBitfunVersion}+ + v{app.latestRelease}
@@ -621,16 +621,22 @@ function AppCard({

{localized.description}

- + 0 ? 'fill' : 'regular'} aria-hidden="true" /> {app.ratingAverage.toFixed(1)} {app.ratingCount} + {t('ratingLabel')} + + + - + - v{app.latestRelease}
@@ -745,6 +751,7 @@ function DetailPage({ >