From 921aba2d254690972d3477d560ddc1f816d4923b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=87=E7=BA=AF?= Date: Fri, 26 Feb 2021 20:29:47 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E4=BB=8B=E7=BB=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/.vuepress/config.ts | 2 +- docs/.vuepress/public/framework.png | Bin 0 -> 38077 bytes docs/.vuepress/public/plugins.png | Bin 0 -> 33675 bytes docs/zh/README.md | 2 +- docs/zh/guide/README.md | 81 +++++++++++++++++----------- docs/zh/guide/getting-started.md | 3 +- 6 files changed, 52 insertions(+), 36 deletions(-) create mode 100644 docs/.vuepress/public/framework.png create mode 100644 docs/.vuepress/public/plugins.png diff --git a/docs/.vuepress/config.ts b/docs/.vuepress/config.ts index f8ba38bf..7d2a2144 100644 --- a/docs/.vuepress/config.ts +++ b/docs/.vuepress/config.ts @@ -19,7 +19,7 @@ const config: UserConfig = { '/zh/': { lang: 'zh-CN', title: 'Fes.js', - description: '一个好用的前端应用解决方案', + description: '一套好用的前端应用解决方案', }, }, diff --git a/docs/.vuepress/public/framework.png b/docs/.vuepress/public/framework.png new file mode 100644 index 0000000000000000000000000000000000000000..909f657dc15b4df7680b7bc91a875cb2f1d6672f GIT binary patch literal 38077 zcmeFZWmp}{(gunK2*Cpc*8o9-y9Eyx+=IKjE;I@59%Ks z(hkygy-w2TByH`bSLjQy%DYXGvP#eH*uA5 zjK7=4(Qv_tyisXoWzvwBXzgz4j`D+kxq&_bw)Jg`Q3!)2Q;q3p(bGVBx%Muo(-l1mx7z(PFnm0M%EiBRFo6Z4Ss))mUB1L{=7x7HA_vK?j;c!2vC3;DZl* zfGLRi0)+tl#RNX088H933Jc1B{ZAXZ>*+>eB@rnp;IERQgR!xVqnWLfjuSL7@Tf_1 zWpyWYSs5NfTWdyrBU=MwMmKA_r!G)@ZahHK+So~-)Xmz;#*xR3pZu>oc!2iPX(n>g zzix4|tIaE&dA32mR#UDDJdzRgOLf3qNw=a-GTr3$<3Uc?0A@%TwPrm zU0E4z9ZZ>+xw*NS-m);UurL63FgUu~IO)4F*f>)Be#n2GBWmnu=wNQ=WNvFi`t)3V z16yY&esc0BLjV2w&8M-O`Tr={IQ~5>V1P_dSD2U?-!lF8*+5smr?WgC%-xKw)J4s$ z0r3Dd1h}|a`Tn~9|6KVW#os+u9E}}BY^{NgP6Gdv@86yOy!h{qf05MqA4xWL_CHDf zapmuxd`wRx|3ebL#r)S13Y&^E7am z5Qgto8!q&}&&MP|iRxl9F@AprLkjhe108gQ>I;SVk3$F(%Xdq9rK4l~--Mwu(H5c6 zq5gSD8o;1~q#A0H@c;Q3C`6&NW!`_11E@>MKxHxo+%?8jK`# z_WF3mz~WzwlR}LI9{!7QC`3wT=%6ObkJ>UQ{}uu1%@NVR7>Dwsq=FhrY!401_xtyg zL`j-p|4lKf9gg%S#?79Y{of)0gzoyUIf8=w|Ah{S>;G#)AEZnt_;VN8i!AB6qclEt z@Z30!;LKJPhFMq;bg#2?mlf6E8PdRxu!X0}A*^p0jU17Iw$_p<*jXl1cF`zhvTbRkQcCTh5~y!x1_L)sw$x9-U`x0S%S2xMc%5w? zy#J%5*fx_1$M(BBo$GL2F@o8nU)%WnxXhQdRVoulQrV@J}V0~@2qN^=K&KKVmGttCJj&LI9 z|M@6LZ>As{>y(vzmhh~%a;IBESE@^vNVvS&@i`H59#Okxa24YPCBZ|7yh`cSkk$6}cVv*7Qfg=SlXm9^%r%uZ|y&-hdq9-gzYM;mrg^-lkY zi2(D(d3)TOkLMz41=S5;U<2xjTzqLWvO)H6a8A^?wynpZOpWQYtRuUU@C*;n?poH? z0|^-Xi}I~AdJu|Vlqk6NQqZXA+T2P!;-hd&ps(RCTPYH|Z$oKU4R@*4_7Lt(1`9re z7wqy$;tjUU0tjCvvsSEsY+EKMZVZN>wG?lT1UKws{iU{lQrT@DE@oWfSmlJgd$5g( zc$_Ree~Us}FfX&2{`RZ)b(W)Hqv#e1oMMQOBtg&m3z8RbD}F-cUbwn9hb%Wesnz*6 zHLQ8=qcVt1b|8CoF65yd!=VftKlb2o_?6G%2Jxlw8#NwEZ#f!RVpSgd|na(v?iaeYpBl z*eO%)%w?kt`49c4r=lanU{e<`In_$B@di4Hg~L!y_{0s&LNm|IisvA#W^$a;kJ*p*B$Ttf-N#a_! z!g%+aF$S2JK>1OYJestT9X8=x4Dny@lUkqVSst)cCt)KZ&#|It(l9GNyX}(EhrqcZ z7u(@JynV6&K{(J-4UFzrii`{*@=%UD&-GvTKMf|D8fpaBy>p9949RM~3f!b#wLp}^ zDu&nYFpEi~GHM_xAo`p6fR^0Qs=W5yku5sBn<&cjUoU`(Mt29yX|(CQ37TfBvO{{^ zyT$arMUS3*`@%HqXj2o<5yW5La+1Z1Ug3i4UtB(R{!@YmrS9i~%ru|UA{ zoau0C-BkI3RVs@2rbUx!SsonW$&&I-TuiDILd^h+Z^ZTHN?2INe%(H9_k?{=M`C>v z+ZteNKgZfnlG+r9O1f(WZ1k&^+Mx>1jw0yFd9)gh27a8Itw`TKke0Uu$i^pZFs4j2 zH)0B3&h4@0DeuhZ0h;Mrx;lzE46C%wK)mG@#}}NVWDE_o-^2YXBx?XK%^Ju+z2!B7CZe9y29A1$i#GCVK*H4aGJ+JS$|>>y?! zjw9+3F)Df_U^Wkv1Eybhav53l|65qU#sjPq*^*})pkzO|cHGf4~E5IAwzwn4CAE09f&~VXLXQm@J?Xd{0KX?;9 zBczmJs1XS0+3Xe>W-&nhsAK)0r<)X!ta)gqUru-dEB66r&<(FT!H3PW=Xtlqw8*$q zP{l9v>~(vCF)9d&ZclK+t{3Xf_x0EWK?RfrTHU2Lya`1iIe?0{m(QQFi*aNzfG)r z`fYNP!Ed7upmb zrHkzfJW*9F-S}~wMhy%EKUT-{7gMoZg9VZR)!E1okDKz;Ft^J5@JY9k63xZxPp z5K5-ctI)yDZ{2UfkTNF7;A-D%=LD_uLaj2#CV&MDD{Ovb>Gj|46X z;e%7k2UzfX)E}kG-s?IpjX}ei8rhVlAx9nHo}4m^)|t63Z&$s`>K$0U zexL()v0W{04333tiZ(wBUto%lML}lNS0r6y9X`#y*DPpWLL2F7GqtLP?I{6b-%g%Ab9(JRWI^ldS@)GrlH|nN zA?&KDfZ}qXOumN&U((Si#_*0Qm<6E#=S-noib+5mN#JxT(CEN3WsW<0RuP^n^Ls4C zM_ML)+bQ&K)bC_uOqsF`$BTC~`NEqZ%x_GI?>^nGpMrGQFuYcl*<73Ztr^rR+fO%M zx!U4tZ3#0=Fja3Ex0-4^OTJyCI6Vp>W*c|M#_*!@yzDOAMosD+GldLsu zxp9oDS*bN+>1t@1(vYSkqlj*nd_P|K^Uk9T6|~$m^h*IQl;emz^Sqhda6hd9#TjP1 zt7(Oi4pN&y>%1^QVlrXDlHk?FkC4x{Z9jUOHVF9{+ucn(8g8Abv#+q>itVWsstj*9 z5!u)K#$P^T@&u3P;zvHKY2z1oeU8hfb!=(PL7GZ< zMQn?CY0by-#`XQ;bj^zo&hqa2T*c7#DL2!e-Sfv`xBcLmymZUYN)67z9nl<1Fqfc< zS0Uy+S+Ors_EVF`LL$f(lq6K5NcI$1s|2wrSNdfg8yuqyHkvr&w_+_BJd=20X{MIh zO1G>9_NsN12WNX~#huefb45UV3trhj5{HP=QITz8#oSFz3K%MF(7-A`r&rzA`NWA8 z7Bucfy=;=X`bp$>znll}%t@(A;8y|QFpT(4GP;Nx82HBog4fko>H4JS&c+0l?DO%ansH9>M$5fMI$tO>w zZ(%XNfwVxeq79&6+N+`@Emq9fS~7a*eYBYeLZ4&TqRd3^)_|qoN)ZJSmopx)+flM9rXVe2thr1BtT!Qh0+Ha)VB zt=L{gN_}|C`;ex$stdo~&pw8I4S8jOyS25j%72cd@A8)y@xP$dZwoz0aHMO5#{3>c zUw1{H{wfr!ap=v?sKs;+WbS_Xbe^YSo?yRx;UxUFd(F{(V_^)rka|}p%0^HfBHGj#7)`OSyFb&2b1x_ z_QRNueisc^f*aNu#m0@C^>$?bvI8nP{(6xF$co0PEbkQ6;l8TWQXb(51pG5driAj- zEeT7TQ@;iyYks&-+6nj{s`BtS-GTFl5kRX4u z?c8-nw&(yxi+i7XI>a2(Xkn$gfNFcdKUetuJU!dK?+ebOV zrl2h6K^4Pc7HKZ{_V8@9rg@_HSol0qX!a_{CEPj6YhGlw;;9b~#P{eL68tTYHo=;J zwrOJ?H{8gS(<|3&di~EKY!;g+Y?NK;U9hJ6o3%&WT-*{{smEyRelJ@ml~`T*cGF2t zv7_@z>~k;+zg5hP{mdZ#C+Z@!hS;8#J4Cc)RE^0=enmf)XyN7yk zS;8c=uF5CL>tRsc6D>5;0$X3H$}D85T>IQ;&&#imGe1*xB2oK$2>4vzkLwfsg8soK z5sNBBv^`yL#nG(fb7EAFunPU)7`1_PWrx4~1WI?CsTJtm`fO~cijn+bGPkD@^r3)b zl;}DOrxXU6zx)Y&9as1#=N}X0`3_gtR=Y3lO(qVhL^2~n>`&ZFgWX=1FM>+o zl~*Z*VaA2Dw8W|oCb2yu?BUiv3YT%OTy&iu#%!j%FOzkb@D)N$z0z6II3qCsoKT?6 z|2pGm#&Ia}XxbM|2*Fs|3Q>Zy%p<|J80$>Hg^!WVidk|hs_-i1ewpzYjs+3N@T7=b zdkGv#C=IvaCP8Y4mNvO}Z^F>5tXCn?OTx8|MwM~Bp=AM_&l8XxVO;M1Pw?36L@zwX zmr;lV5?H@h=O#Gr1T8_aLFyVBmDAW?+D|BO+kR%$wo_I3#Yq8n zx&Rq{B%AZsKNb@5S(ehg9^^lM`!Wmw>HvVN+vm3MnXK#z-WMN>YtMw`=Aq@T5FBCB zAR%p=L**>1>DBX8`0%H|L3-C4-=ZVJ`BS{a(eNP9RUbXN|MxD6l_dI_E84u z-}sqaMfRp4m&PMyy7lpq@X=?ew=Y!Uue99DPpZCr<7WG(10f{= zjQ7*)c!sp2r#od-#IAZY|2-0aVCe9y+b2ZaZ3v-gFzTUK>Ih*lf9xdE2LKcQ{DX?t zOd9cAf!z!42hOr#aKfJgi3tU!nr1hcChglWvaL>$n45d%pLnxhHW`3fvq=XB{~rOr z1+Z^Dsv6k;v#mt{-pvy*v7rAOkNj@<=>e;!Rc2);!fK}3i!p{s(fR(x~y0cLa9@{j&FWpvDg$85_ z2d_qv-RW{z6N|ov8^sT8nuZfyWMRuJpKt?kC51t0>eOhcR3C3lUaf!84pU?GgxCSs z=qWX(@!5v=bXFIru*~C`F4KxY$`zq*%XD_;Vq-`4x;*L3vtCcR8G@QGyNpMNxrJc2 z&|Fon@UFM%dHG@ey*Z-JTJ@R)>wnHG(5{n&$}A1d_@yFaxV)ZvQ(-YUf2liq3tpY7 zP$>`ArfZTP|Iu~WbcoOumn$jV_j;;VtDEPj%TykCAYHnITrk{<@}HQoyG%x9^eJXkjo8gl zJ)&s5;zE^)mEZ6~>z+TQ)hN*%WkW!ooQtPsu6cIwucdqz2kZg)p3mRX-QC!0H*|$M z>pXkZ?_^mnn{zcMZc|0$_$kkb31_m=8s#bt9rSRf{7db1FQY7%JB*0GPVHaFLY`UB zH+%|PUwmyiQwh1Lv*O(Uj#p^=+HhUgsHibkJG6PfxEQT=)H59UY2-niFx2w<67G$o zzc`Bg=h<#rJF@b1?XSkxD%iW}hKS^*e5_w`I~5mq)gb(}yP~q;el)UvLAJC>Uv;G# zn!m)!mF7|km+T|%{Me#H7B08T{>~aUUL4S8j=Cu67cwla_i1CS{X43+CfkMDkp1Oy zS{%o?p=YCn8luVf%DkEnBiRU66!8e1E|9Wq$B*)ZhZ?tw3eMw^U(dY;?P54_YD$?_f5u+5k)d=5}}E9T;n-y*dG+1q@kQIxaTMK4KQttTrC&RLGGX5cyT$^1iwd{yq({^S)Y=_dsj=Z`FL@m$|92v^*iB6 z`Wnzx9d^kKIJ`~Y{cEN|);Ch3u`OO~#I!tdGOlrB*`#n%Q ze|;2ye0@XZr+?;$>mE9dYr&frxm8}kIUU(>NQIDKe>ADeK=I=AqAKJsxg(PJT^IIl zt&Bxvi&aSxg761SC- zq+oB15U?%H*!&Nc0a8y^(*iJVq02YB_d~B8H_IUyW+3^~kFGV9V@uZjfHy*yDqOK? zY)jOrYYB25qlU?YT)vD5o0(P98~Ty>>jjdV`YEYnf~r6rku4v zw3fD{X_I(LLZxF&YncwSlT3`U=5A0o9^G!%&zbkukbmW>3lc}^$zoC^%;pqWSYWWj zP3KFpX>fXh@MF~MeB=F%-H1T%fQzED4)Xm)ZRLW6^mASJA?;bMNg>!j!Ujk< z8*#6YQ{zhIb>mU2qu1r5GYSe(lt>?^vJ=6k0tNEc_rA^o4?0fOVUov6KjPc%7Y;w6 z>epSR&4!>KvOaRkc2b(SGdh%|p2g$cFL2IXyJI3`W6U*8QBPU&8ru{6Wu{1v0oS0z z4uxI7ag#6obkCl}d8ORyL{0Zv(Asc}#7+6Y_l-5m(Cm<~#ua^95cOu5&yTjEPJ$mD zrF@={{dclRkMu2Rc;5!j^|A zBLr|BFaYLF=VyfDEpl_2iA13pP!yzgaAtTjHb4wLr4rTrIH$?N?b{nu8Mu`wU;JHn z{%y3!Pf1?o8OeB+2d$0zSrfh5M&t9drE=Y85LGbA&4_aEpwp-|8dFXuRRG7n#e&1E z3HmzV}j1Aky(fr*oMF)NA7%*JqYmw~Q~q(Pg?_!xSp^ol?a$?8>iRs_iuKqr7fH z>O}bv)Xf4i7xfB}RserR#3KKCM+)`oRN1rq6C7%jYE-YhQBJ!qqH4d~Ck-h}s_}U- zd*t(3Tc4I=Oz(BW6o983#NLpyE;KqTR>@YqYJFsgbp$yu9_2Cl3x`XHTg};s2s5=o}Psay_y#xu2paXT=|xm7jAj z$XM|1>bJib#Rj+`1~qY=Uv4L6I2cUXkeM%9*q@OsaVF@>Lo0?lDW#amyFdQF{l(va4!~1rID+={hay z$Bj!rXVB){I1?6^bkoJaol>(5GrblZl?t%cfRBM0EyVI%5W`Zwxhnbj>F72AVXM;K z{pZ_p>5|+q2J+*~;QPH}>!EYYHp)*OiIL1B&|RSoA~^*VmO#)cbKxLzHqYfbA?GjJqZ@2rX=~~j2#Hhpo6==S3E%jW`mE4Iq`sej>QW$a?5N%TmLTg>c zPd?jMlPu_wcDPs$aLE5TlR^F1s4yVQ=UO&!nuG+}n#Y>gnpqcqglL@I&M4(~mt(UM zl2ZQYPm3%jRE88A)}gcOlLEm8^t<`OBouOhK%c%e}U<6I1hH>bSVv zLJ}1EB`&`9OrLNe$hq^+AnADnn}C@zYVQ}5Aa!`jg;n2O7w=qN(P*QJPTKYDG(%mJ z>#-T;VS19=iie{&|IBv{4Wb$AeTM`2c3m6Z^xyn(2bj@_OXjW|ex? zj9pTc%#qst$c(m0D}VW`6osP(aLuClfZhL2L)w%WK`I|L2Yws{7g_`PDYdGNCF!(G z-KuO;zarV;_MzG8^~T1XAwRaG=nx8TVSZ|s!+WDaoJ1emPXtUvB3SNPn`P&OIkgBI zDL9$MJDeYP$7 zY~1^ejh^w+=|=buRaOtFScN_{W+cV)%B{7>FCc^Y3bupEn=yPK#_JOGxb%&TYJoYC zL#FA%OlO|ju)=Uc@238}{cjG$hmvxLwg~z^i>fXyC5K-fpYuD}sF3m`_)S4{rQ!y>S8^PejG81<_mNN3z0u>&R-3QTe7ra9(Qj5n%vmGKJbJ)9`_U$a%>*% zZl%@c5aB!y3@Dk+|L|&N!B&xdKYb0UU|+&wvQ-`uB^*3kJ1FnF-)~xtM~@fXb2+&> zpDXllh<3SF_6a(rW% zDf}5Nn*FQiO}G%q1}GvF2;;q5W$X|DH1WyL`26DwK1qa~jCU%K85O?z+`=4Jpt=0Q z0YJ5U@`W#=KX7H*++l2`<&PwbuxzdJ56~ip93rkK-mrej9_#nsc6uDuw6Lwth@KGM6{ zOn*;6VFf>x2DVR(jh^%{-@E^>97@725k1*OGcDk$kYi>vzo8i2D~&u<)sI?!FslbN zy7d_akh|@yzO6;HG|_7QhOiq4 zxN!s@E-@Vmd&D#s_~ofL<7(Bvk@|1~ZkINsE5nD9w z$0p8q=kU!TO$o}KW9zlJ<$1A7%mz%hHfxTbwT|1AK+8Xj~9WkTQ-p5hDz7XDYDo`V*mG z0e%p%p!b52u_W05=m=d#Z%iN8dX*+oH=%kM|AMWxPJC&{eufgpLpM$MQU9lQ(zme} zklr_?Ss|n2(&WLjBcl7BN*YGecqQ*+*q1toxWa|9q};c8?$_hIDpAg|r+UqoA57Sz zoUs{s*3TVyk`H@!lbwr4Bp<8$KypQv6sV1H40rD>mr+sEs5B9&0pq#9iJ1QvKq{#W zb9DB4r&oWTGzto?N*T{-nfE~p3rlaBnaF?)+*&`qy6))$f?cpv<_KlKOl}Y?%FEhx z-?j3*z`fWa+C46MpR6dCW7oGiapse|QI1$4nHu2GbT}n#u{}|aZ0;2u>)k)cPqJj4 zS}l7Zh8u3@iQ7CqC*z~JKnpdu%QSy!y?ps1(p4{lVtyctAAO4%;BKJS89)BaC3k+zE_XTObDamU8423$Tr+G|% zwW02`t;RAc48T zwIzl&_klT94X{vbx!2EMUVdD(7bYq}T`>T12} zMY&l6b-_`}+cIC`C1qp--21Dspj^?b&U}%rPx<#-@o282xP4j_{^Ew=ij`=H&B{9N z{RD6^0f60dD55Zlri5#1O~*N|>E@=_^|S%;4`^tV^07~a4`mWW^nYiYY1=d`V>lRu zXRla^(y9nIfIe#PIndTEM6Eok{lR9t%{#Mux)52oC9$`D+{h%ALZbOm;&FNn^~K6u z=c5b9h=#-!7-6pe-G1Pn6lSEN7DrvnHc{JIA{qvQkTTW&!^4#}e!}J>m=wdQdazg( zLbKQe>SEGDk5xJA(dh0IuWdxcym_pbs4Y!o!Nus7_-U7@W=f?S{&dB~Wd`@!DkCY# z8slIz-HHsQLLBFj`V>$28rB!FLtUNxxuDcoRQxi|LW~L7s0&0Yz+7+9YE*uT^oAT| zE*FF-Nb;)Y$@bB}JT%+C9v@~_N0(%TF)h!CkxVpD*$cl-t)32+uzl`XvzNV;c*=Cb zNwgo)RFgR58GI?rXON5fUTtofn4dXv5L6gbz%SKq{f>NZjZh65jDj_!iT~(-vu6&! zbNuDK>*#SlD3umGB}@2r?c7>c`EXSu&Y%41;>Qo|t>Y`Hs00Q2orBbbtigyGkn=@) zM>DRpUbOcN>LBmN1>?pEp(ts{tJ>tvOFD@6mL-cfcM26m(p_FPb{v_3wl`B;#9;x( zfEq#hdg}YL*Q26G0$o}HbLG-kw`5veIYb(`y0NVB)pETiwzgjvNnX%i*H`&Bwy#JH zY#w&y(DSUnrrN!)bfs-HSg3B4)TPcm3T4AuyudAD%!-{EyKMc{*i>y#1P>TG1>Z16 zz@z*n2iS@|NdS>{0{gnTwYO1MWzA;nP9vLoYOIB+$(DC$J#f7Zr1oF6xR_r!lB#s= z+YE*s-8zmviO-9D`zY_d?L)lVwjjGFT&S?W$X=XynRrv&z;LE@NMiC$m@@OUb=4ss z7frk>{CyOfu2x&CddXwWEZwummUNzAIQL(^PWb)#P%ftlttHdg4Il+L@H86Na1hbR zY5I2K6}=XY4i{g*P||g1lPtYV=?X(gla_Yog)+$k8J?W-LNVO+MnY^Am8Jk9%qlM$VECdHkkJWsx zKJ1(oy^@NM(1Me2)Wy@0KUpODWJNEi48fNpR#`+`erqx zdwbaYlo3*N3_n9UXYp%CoKgicM{8;@`-+0+Km3Yc^xs==Noc3ku!~Kk0-9?$UXB(rioU*DzIHmmU1|`+i zI<;=Mr~GH#f>VW_+jm_QZ+PvUzRiwWwU{L_A*dCn4Ddpql@!0p71_CYXvw_gcVY`I;Pd*)+dr0iW^ zcImax3FsZ<)9!^%%FeT%>&xZz$$76p?#eco_>2Wcyn9y+uj8mD{hb;E z=Le^QkO1Ym;dj(B2NEmMSj&|bO7Pax3PdcaRuMlO7sF#|!2F@l9_v%PK{gH#|Ye3Q^%`w-Kk;IzIjL;fSrrUFFF=^I4!>s*=jXyt_VH9y3Z_qq2Mo%Ujx1^ z;}19-q{|7kO@S1>uA~$0SOuZJ?6*U8ZD(>g5bfGYwbJ;T=8XSVSRK7^O4~v|7S|m zv-W~r&8<-EVlCmRqZ#4j!EnO)bA}Qiy5Ajet+g$6x;Z@5qW-2y!tRdhvNEf zaml-J>$`N)05V0o$=If9Nn+FYuDt+T3CG1D zM>_Z>`s!p7xjf24M&0qi8g$Eu=`n71E78fy10zxh7o!ti;LX%e`4%xEhnuNYB5(~s zjeIzrRXy%}DW_J0#%AE{dRGPOK+~Jl^lW<{KC(zTBPNIPAyr*-tp_twDjym2<1Nd% zI%gTYveDvUoAIjAA3^*O{eUi@Kr+3A;O{NaN&HF|Z|9HmwPs4&Q(9X4)=) z6;YH;w!)4-CgJuEsB^>7s&Y@~D<)Yt%8hoTeZ2{`(gEG&piHlr2b{VGE}i=MNk2hw zPx#iaQ4IzaqoSJNqTUX&3jcxy@|Mim0(H@6&1^Wc5mJ%S2^$Z{?$xuwZNCopEjG52 zRGe@()d*UeeJ{_~e#Sb%@A3&Nw})Qp$W7Q?I#s{@p+wT{Ues)Dm67YE$j;{GqCI)? zAhpO4hxtO(`xuu=fgL<|Qu!XkX}*+l3$#Ra^+mmKHi(UdOMb4_I;L0CB# zU7UKMArOr00Ph*;&CVJa@kUDNUBD_iO)MKmm6^5e-9b#xbu9CU6n(#FdmndyWh&LG zq+C8J)rg{mQ%nij+nG8yqxDEc1M;f`M}ek8yB%cR*!?s?lcD3ot4P$QIag4h=q?X2 zJh*@1&7(SuOr}9dPi^g>47ufvrZ>TXI#LNa&K*;vvXR{4O_~m8wcEq7=ku!R$16T? zhvU`4EzW3;DQXUDBtb@lFZJ<^aIlQWI{zt;r9e(PpaaJp49iHP#^LTB!8G}~_>i99 zKs0}*2ATS~ub4h`wp3jen=zfMm+-ktS34>3^q<%+ytpMX9Yb;Zr*Q0@hE5?R*7SPdi8h3AD<`Oway$AMyIy}*xg!AE_*pP_24 z)M0W-^N9d>16#|d_c~^S8Ebxo`I6XTk#(WlXE|ysO~Ns*|8bDvd?lUzXX)i^Q*nTTa|`E4@ZBipY9d1=;9Jfgua zA85_qGJsk8d+mk~P32!>G?169@yt?b=`ZTmln&UCUCp-prvP3l(tDsLA`lrUnp$4o zC2M%AinUB_`3v0ptal=4B|()(txeL$8dq_oiel| zrI#U5i=stS5SUKlr=SM{i|z8H!-L;O1$|BQaemc!v}jG6))Sr>rT`TYr7hd@9kM-Jj)HZi^}-$wbYP~q8HSmKb~v;sFT6AL|3ctLY=CCK zJhXrFRcDfT^?TZca@#$&Jvu%TDFw)<&Pnjze~eS|UYP^2N%RC4;sEb)#=L1B!6XnJE2s#FMZw=+!*0^KL=0QmC;~zyV}eV)$r_m;5(aue6^u% zv0B5dvEnh2KNGeZk>fMJ@ux~L9?S4#f1zrmZoD#e38%e_j5c+B3zFRTUl?WOHY}0y z$f*=qLb(Fd`2vA>i?=#(| zb>ayo@9mWz#0f=9sJi=$eBq!cJPk|rcz0r$v3HUFf%eQx-agW{(;qTiIR*q5ii z&V9C>7B9ytor!h!i&&(gN$}_Qh=)64k;E^FdH$u+vB=+skNmjLa=`=HKqZISo6U7g zy>DDML4031n$#=nZiR?IKkRG~`70{$N)%M;{4!_RnCA(9&(~_DX#J4H1SDs6(1G{e z(<(bdbQWH2#*(0R9=7zf9?<5*ByVVi`whJx-YOc$B^5*@+eE7WdVA$I1{Nn7D zYpua_!P^`~;F}|Ue;0uKY*SLPZkY>x&-PylyQt?+QHEE1~E#oZZ-D(eJ#9 zTG?NUN$lCpUz^6%u4CYbgr2Bh;=@OOE| zIJqw$D8CYtHaJOtn^e>ZYqSr_8Y`putFDs>!*^*n2sQohm*9oY5P_mk{z;^f*xF;^ z7~H?gf!>ipwcv;o5m3yD%rwMU`F)*4HcnMYwT(FQy9njxMMcB0myWo} zI!k6915s5LHi<;TW^B=pv*q?Si6>q2(^9)?vdza7?O?NMx;G-8%st zPd3{ajjGUwSE0>D;zkjgA0F+-aA4dYOEXP=`GZ0#>>)2v6F5<1dI#t3^_^a;j5X9hv z$xUUS*6$7RL~SaoVUiuwfMR@Ycw9Zs3Od{8tJ*fQd))ZG7z-4Krz$NNGWQ8kHx30u zIM#km-;*crdLOu!wxQ9V5K8b1)gewnSzg;=a!yxj>q4s>V*m?J4pHc+qvxI8D_~te z9ZMomrZ--CqPL1jBp2Dq2m+*zLxn~^5#&UZo?aRI^x04-;v?bx>CpQljRfJ12iG2Y zP#S%f!udoRqv%oc-U4f%fRew$4$m`P@i^WR%Yh%Rig4KsSE5#5y12av!kJEE`p}m1h;)~AQch`)ym`dX z348C0$wD3}oNm$%XI;`rIG1&<4e zJy=XnhzWt;(Lw;FKRSH%zjfMvZWO>OYQz3nzzKKG2w@9^$*c|=dU+};~n>*>7DOXNZg{UgFyPkU;F&@)z9ps@R$n? z^6wF!is+?;mVPZKOT9&w`OjB(#3TZPe=(&xHsPe8R z%go<)I-+~jBb&d-z)El*nlj)G9tcQXE%nY_ywuq{2?01Tv_)R>(O3M0$`f79WYb6S$>E@qV?|QfH9Cj0b~n9WX`<} zQ%{V6equaCLJ;iP(z}b8d=m=7+?hhySO&w+^bZi~5EE0YQ|M?p9Li1_^19Zcyn) z4h@G86ai`J2I-RS?k?%>Lw6nOy-;p%?{}VW=9_Q6KOcs<=FFUZ?O5x#Vz0f|I()hk zbKN;;b&*L6TUjuR5APB4`x>cFC``HIXAC3xSX&^u2gnP8>d{$~MEFen~FO3?v%@x%zt`U!K}WL23(^$fr-so z>ZP<*Im>hC<6*hLW?$}%Q*DDg@z+cm+LjoD`(4)uT>-A1LcTRo^c_yzOXsKj`)OE| zQ=A09(~yw@0gZxoA&LGp_q_s|d735{@&v4D^CZm_a8(e-OPTg9LEmS_-*)8&{0f2?HM;%>NyC&g|}P#&2H$1HDO2tth_*k^G#e)!X-u zmgs8mA@Oy-Jt-%GNu|yB{CR<9ixkP&eN?}$!`xkLJxBUtTuABt$MX=n0%{j+EykL} z$^~@=i=3Z?=yB!vK^%Zv3kHmLWfg$`MM|5-)2fCuvh)$5cGjP5qH7_55-K(ZNt-NICK zx-^!JpS~ZV{H7*g3gm?Pk2EsqO$gB4UP;(I09rnRKdpQ`waH@2*|5hU!_!(QHIho_ ze&CUxHED}Rp+hM}8+d3R_~>GEI%VXoGdD3?bM^?CyS$+{M0$0!W9A<5WS&A=x&lb` zFcRm$`7xj*DGqTst4y3r0>;Yll=YpJb!hoHY>Qswc#VE;TM9t|>FD*0vJoV$B|qPg ziw#|r;l@B3TEDbxWWPt>cP_8SBR6!n=Qp1kk6!_^6or6iCWMpr&Cy&BDc(_#;1-2^ z8xJoN^`1a+k}@Iyf6~idK=6SCv{pQ_yiX7l`iQxIa{Owa8ba}Y;_kTpG0wZA$+WZA zV66N{``u#t=M+qOS>}p`e%r9MWW3%%`e@1C{2#ka(7|1mInh}6Q#tnZ+;axjMgk)W zWPf?dA(#G`a4k%U(KTqY_Z(Pl^Y(*itEk9dpEE2N*0Df(^X#OgSq>f!;iAp6-6h2R zQV2_)o;$1F3jyA3jX)+s7m_-|slduk+`t%zqDK6eI-ynyVbXll?;gcubv(4;a?ANi znqglAztlI5wj2KfC2**s0B4&BL~q1!Nk8~b<(SEkbZksZt!Ep zj(e{JXe$KeDr_C>GbmK&-wsu0Wq;c39LS)=`ni?qXy5$ocb36#-SF#4j1f}e%KXD| zPxUl}x_aR#A+uL(jS3XbO%vNR5@kaF`QV<5zx9z25oVU*JE}SUu1`^4X=pKT+h6H& z*p|v4Kv$^-9ps&$VF!eM-1iRu{VPwAw^!k}I8}bqk&yl6lpdo{X652?#;)97zid$3yKQ0VJiE?R5Qo!-wsm!2PdbXwm?; z(*BwMi(xUP-~70H0<~%AC%5d;lI+d56?R$+l-rCit&A5P_1-bZK3#{^C4;)`>y&8b zbgF;A(ufFfeZ%`QN1dIpGiO#RQbAmGbaMhNR;)~==*wewQ-)IFa1u&JM#0nNW~6`3 z5SbV#umhGs*I z34&5pg02CvZoihi`E{ZKlXZA+lEk;6xXX9JBxm`n#FF2QpIH;c$hr}~;4mdOW;2bU z-iDpYYtI9;FQYM)#*=h|2ypu{*UG#+yrAEHc-bJLHeQqNAaED{k1-P>^9pne+DUA& z|A~1{_DK*0<=r9g+$J{-;|-PSRp7J!1_s;D%-R`6`?hjmO?KnmOXj;08|G6vlcELK z^R#9Y%Z~Fm$wyVZ9TU77K9=ta<2`illFHV4X~uIV4R$;_bi|}7!81B5cy3j*J}wmm zr(u!oLOL~(+N(HT2;p`5<`)YlIL@*wc#fP&&*LT679$u=)nRNe%QgD2sqC{I!ol=Q zd&M|Bz#f4c*z(?4qF?_%khhm%XdG3>lth-&b4oJNiyYrkSdh^7r`!acPrbp{OY@t+ z^eKFYT}tiN=d6XwiVd1GEP>sZ;D+Wl`^830?E_zZ^&8v8O z7-Rv|+sWLGA&PEOx1~NCZA`MqEKHtrjr6#X6Tt6j=pboAV7MV#i9RKAg)t6MeUTon z`Ocjvr3~rl*$~mcyaZg5fVST2cqg#hqjW>a29ON!&R+1L;}BbZW}ir-M}pNp5UiGi}*q)#T7t%53-~ z<%-90>o1}tL`hvQE3xXwg`rtml06Vg>RO}G9Wv0RUTxBczrC^$Jop=haZ%|dt~Zjk z3Qtv=x2L&dKD=c6QeUZ#I3~#+zctXIjE;K=GSa)uS>K!VuCwp+jCXYhJ4=^&ydzmk zW)v_|DKxzXGSR7_i0 zS*R&b!{|>bAtW^`jEp2KddrX)UGsut-E!y9$aRmn3R|gTS;6JbcwH13`$6;QGleLo zubv*qL|``HQaUHPGhe_dYe3r9|7@m!OP^1YWL>kW6PLDpG~e%I88z>2ENOR->euvP zd1)`L@TQ#!j$2b{&X3e4O;1mmR&A=_GkWuTO^Q49n1kgOx#(eC=6)ybSZh=veI?jD z`{7I4dPz$nI*wj=Xd^D^C-2l7sjgfID zIaixdoyY&p<4#6murNy*I7dJU^nCF&vZxfs@ePA-*c8~@ZLQz=swRG+_G5U)nM$ZT zl~h>K2HN9x3#=fOA|D{C6#t@*H1mDsS33c5TE98)(YiBzxpHXL5x4E*Tat&L@teVQ znPJsf54DE4uHpV$*U|z`_R1BKwA3hK7)(1f|7mq)POkfl0-O9*IVtTt5cz0uri#S0 z!JHa3;}LE5C+y-mf47CC;*W3xIhc@ad@2%FShA0$q{ZW`m05Iz5N5E^yNzDJSi@F#K;QvnN3c9guNyp+@;m@AT{Mq)A;eBF}%GFmRdcSu^|zTI>O!w zAE+tiH*oyK2u+Vf9Cj51VnFPB(tw)7Od=xrhy4(@cLG}NWhDQ zN;BPrRcYG%6`6*2T^f9#X(b>EIlCty@Mj{xhwnIE#^(Bty9_E4DEeROl{G9AGgWFP zi4&AQrk}%W`#puzA7wPKz?ZwrnEarL#KJXX^ef$f_ONRiH~VG?h@$>kn$Q)ddLv0z zpj#pujs{$_x;iPLm^CRMI8R%18KdbaD3C+h@a#sBTTI+WK_iv2y8_|-ei34j9RS2sfZ_D|w8P3DNu2{knjS5|>GI=?`R&yr9!=B+xt3C%{OEhR30{ z@KR80bQP71nc8LB=2}!U{v}%*yr=gBX-#a@I_djzhVE?`f=AdaK!7-e`=lE}xr+3a zbSSvAW%W7do>TmfJny`Re?*fk+Vh>pv97+IkGRcVCFQo^6AH^ObNHss7*={f*7UQw z=r5FBnkun40vs>X6M!Ofb5Ks6>(2Gzh*27dv*dbBF&Su@Qw=O;-oI=N9hTN3negbA38+Gzz zl0SBV@?4zri9o4431)%Md69I*Ipc>XAIPIVfE^yKpXLV47=&f5E@uX(MvBjqn=Oe9 z;p0oPmB7b6IoQOiF;YzX>!GR8}!RFUdyU4thSjL;u-CEy$6gVu?C zPfSp3qFm5WMfOYc>we{r@&b5((Cc4=-#vfOG=5SjD(8Sm%xOu*U2eVULjCPAFKkDU ztljoc45}^IKP3_NX$M=UAK?leUx@fM(P})<2#_EU)uY;Yon|RlYGnmhJOMIz#59MB zR`5W+Pz#_&S6-bp`lnnOwzY6ku-k3%@-y)DBh|T1XRL5T!(Dtr)!{SdIPCD`W1L+P(e&38VG&|534a)=Q^yoG zf1kj{rfdJ2ecwO21|I8&6Yt^@l55mQ*S3UHq)yGwSkZ1EZ(n*WW_*@l=y?+ULf>0! zy%2x~Z(3efV-%V%dZ)=NF!9@LIe+87eXz1~w1_#>6KiJcw*UE`5{|z%NKNn@H8MFt z$(=~M7>+y?Wai}Nn9sc-TQnMs*4murqA5-;q_$sg)AhumgIf~mpdWjmbHC2&64iFB zYL+&ww&JImoMO|4-Hb_#GDy6|plbA+IN`jJ1nt&G`|$pehh$5*p4g(Y5=)k%8p1Ai zFUZzf_2vWSO{2h0Tt}i47}E^|I)0I!^~|u*$|SZ~$)Ge6s^Q_EFwH77hb0>>Xa|)z zJApUDpp4;`Gi~7@&ReloEwpzSWQ|%TC4%5M_fzi@$T$7h;>i!#kndf|E|Ir}tZ;p8 z(`K)2WdTxEP2JVOppPHw(+s6AK&y{G7NE^R1!{jOCkp642;k>nbY$D0wEAunp%B>K zh4w2$g(}Ps-T8P<`k8gp<+plUj8vD;<_BC-nftwQw*vfjTUAtWgujCxAye?DBwRAA z4X0#XybRHvU0TTF6_p=J7vyA+J7YViM4N#rNUDt3*~+-{S@|S=;dyzqZ^m-AfBK4J ztMRszA*rz7BxU~HqGNb9YT4rtOpQ)2FlO&=q~wXE##nH>UHffqtfU%syBv|OO#En1 zXyhNF!9-hLZQW{?=XxZ+=+BsN@Z$yEgFAq?Mm7$!^KPWZ-Ac(4J^3Ki@Noi_M$UD< z-?)Q-B8_p$uHEk?g9esHoJ4fH!uua9{AA`DG#Zz4R3*pkfM&p|vQf=_h*zWg>EFZ= z*%}~dg?)np#T5WMm4QMIE#>H}H*1U@JYv?kmevRtuJeUv|lhifV!W{CLPx^rd_=_nDoPmJZjzxROI?0d97g z7bM`gI|Ymm@$p28DonKd=3=k-H2BY6e~JvIX&mtzs+A=GbWb@8QZX}2%)K|t7UQsW z{{}vVv@tq+9EQJy>3&Pv37Q~Q^A2c!OLkt3=KN4p?<_?u`}OxR#Kih%jAYgS#>u^G zFd=Fouh8^Z{ep;l)|)2Bc5_le9{kMlI;~(WbhlZ()JG3qX;;fLy0BA42jnS)Qr6a2 z?U&>5lR*9oXDh}wdaKFoKN5gdnE$4^UP^ZEa(cpS_zE__8ZK0w(h0ic+V_&@-_0Qs zMab^YjaJIbtjpVT3)<_$Hv9N_`YiR~Ip7HNV)(W2n`1Y&tVtYLjWlFSexyZUcZ9V6 z2K(PI_4`-J*6xTKM6>GKf&r(B0iitpg}fj4{BQ+SzJ^_N9Q%owLWe|Z_}WB}*EVuB zi{cMysndz?Pcf9Al&MR;2(Tm+RcP}_1+G*Cj)lJB_5ge#tGBUYch(x4LGWA zpV(+tMW;bBl9kWEi6NBcz*03ApvWTQknmPMQGzNV}$bfO6qd^ zsVZasyppUdD*NENc@HF~@Ns%vKYsQuX^vIuC~ppA;$_>nh{fc~2JlnH3H1U#_X<6( zc0%~I>xhTno_%|ktVm0eU-Pjr7xaRV(4gq~P zwiODqsp-Z~MP0ev0w~Ra-m{P0kE=H|>8kcA_O44)DF~d$nQN0)QIQI#l~x9)+2&+BA;atmPEg>u*}A+-vda};y^&a0FG*^`E0-yNcF7t|y^HfXb$qw`;_8O8F=?7W;TE{wEtdLL7< z-g|tGvQ6^5i8fr|s>|14Y+PXvh53{vB*3d;rd_xC46-nvWUh1^QFoY{LvOe>RzO}- z5X3R>l;HL~PeET|pgVPHRr=?8M2GzK?ddLjz5nL!?K$&hBD%18OMNHB7tco&A92p| zP4YDv%<`|z%XSYdORW}E=|?HX@>O#4A^N0R`C4LP3iMx8-=J$y7yD8ZN_Ij88~o0~ ze1urK5?qaU-Q@Jh&-xR1LH(Ce<41>=y}jIH*4M@m=|ZXYXv&X!ln3uC9(bkJEkA=E zV`X!E-Vph`3(ER=bDeL=zG`^smO)6Mn>}`hOkAAa@zWH_GGTVMT_mixK9VW1wlDH= z`lJmielrNEBb@uj^M+D5iI7g36kP}g79MzbIXrs2nMfWp&pcRfYFri1lcBZ$#Y<8T z>L6EA4z5cPeSI8>-patiY8#kNn`TZ9K(6fZXx$MBX%7->)z)$>hyV-E&>lbn|Q567vWR43SFKA`yi^b zZS0u>X0~lZ*=Q;aak(Gm>v6df*yiIBbE6~qXY@>5YD;}3#t)1Hnf#1wL&64dB)e!y zr5iNRq-(1lVQ;7|4iDnmJim5v-uItpS}tE{PU;Mq=cm$<dP}RmcMIdiw$gL0q8XQ@Z{td~9u|qz z=EKJhO>GZ3-8mTc>j%DG8jPfsti}awHmFrqxg!oSdblW;Uv0ePhGaKry!+8b-f~(# zm4FM)J17J%2xz$8^0S;?%Trw^H;v`Tj(+;2SZeYvZLnga&?D5pk1&1yIPUbri17o? zhVzQo)8;aDrP#F>)vYuf?it0^m03geR!+;JfkJgixIcxRwjELFFp^PSf2e4_m%^GYtO8QmtJ>2+iC&6am1dUj6wTyRNq)m4)W z2!o|SUa@(m9`y(Om^E4vf1KW^{&gAbgy_|pOCzZb+@!7rV_hVS~~QMyu>Rc|Eg91FC} znB`htPFriHFk3E=ZC!LWw*mRU3|bYc-A4@(L2G8_ZZ5CW=C<;aO^s;AK9FwD>N%e8 z4#;b-5yK{3><^`+-1`AD;EQ?*lp)Ws;xpY(0;R=%+s?2Ue$^&LMQ#iYl#-i zRbyZa;j>L^a?s(iimxBjX!1@f>2au}5m>;IdUf>hG|Y0${F=5SZx%NjC#W$~fBM{4 zLs6|{&qH&4-Zc|@0Xlc&850Qdf9g@%=u<{j`uZ0K>A63Uu-R@3%`)UXtsZK(V!^3{o6t2YE zR<{}(_ZWfV)`q*5W%udX)DGS0b^03yr}SDrm1CCB#OrqDatuUagSqCX#{*A%Z)FS%PxKToEb3k2cYAavKpVO(Q*%45m#*9=&j#b&E3~ z5-1lqj@dXEpS4S{aJ|vk+JAX)a@&>Qe9k4wHgK$h{j~E(Lj#SeYzA~ZfwSLT$V^Hq zZ<>F6-r-1KHuw5QwZHM@*(5m};j!S&>{BS*))6(Kxg{|zG5sf$TT0$J*Kth`X8l$P zbJwBF0MQ4F{b+(ArLP`Jn(YaUoqoPm#>JJM+*DyHG(QTcWahDY-!ki6Sfb4l8h{1c z=ckVd>-!mDdkq>}4{vC(|UP=!*@-yGXXcvjz5tC6m)s0!*)W z@#4&cdr)JFcr*aB<5KN0TaaLT)+~FN>AbbFxLiV=VUsyiPBEz&U3YWDQpIbucfjOU zBtiH6Us!lvS{kTTY zA>GZj=ZVq5iAtcbp3M8y$Ib`XfIg?Af003Kn{`~Z!!#5UHSF=$MhLo{T+Rh*>tb$aUG%$L?RtE22M6ow_@gf>xD}q^`HyniX}D5w(>lq zQx%JXngiXIT4EyajX~+<@90@rv#f5<;)Ywavn_cD&FiZy$1P?5CwM)pTNkL>sLrJ- zR|?vW5txN9=BhG$q>MdGMKO=UOzWF*2&!N=-8W0%Z>){k1i&=;gF#Ae%wyAG9j?jcv%-hZBIJVa? zJ>yb&70>#8;Oo3phDH+epj4lOUm!b5Ia;yRgC`cjD|-ebXR}P2GIa= zKdG4=YB>jDg~Vw=8`nMb)a%itof){B#;e=VmXcHQ8B4gza;D7NH&E>l_Gtt56u9)q zIzZ_!tSYvIjglc;%H!An)7mRf7m~WRFG)kbRnt|OO|%vB3QP{2sT3_%b&rQIpkKK= zuLmez1}qbU+vRaJtt$;gl1X{zom3p+PG%ALProt5*%s$TyOe9V?!A;G<(4w*cIe6J zaX0!@#Rf7o9e`R>Pxca2?RpeM5*#sT?r9lIy^ks=-i*Qxh&CSMxVdrPaKBJtfpi&D zH(3N5NOO9<7x(Tmp_s(wcWjC))M(-=)APus=W*@WB!m5tJ>~Hy&2P)(cW%I)FM#^Ur1Nt0i=Kp;{iml? zck=(TRHqOmoPPvsJtSf_jGV&3Aw=()~DDAv2A z+tsbGm?wn|;Py0f%S%`YpNrUutk@;=c2J|8s92oK*>Ut2D7hOT)P}9mZIx@+JRTE3^7C#JUj&7vE4(i_~4>urI%qu}s#(RrQ#5knM$05P_w$Bk!g5R#k7Kao;tQ?%^j3@T#Gov}}Ye z>(ORnU)=X)1#!*_^VV{11xjJP*6uF9KZX!q6B9{of5cB~_%kuXfe}qdz2hwN0dX;* zJ){2dBFoYa!q|6)h_y#5iUYcV0^^(nM4Zzv)G=0`}#vZSC zj(y&qb<|Jem%08ZhS%}FA2TI3r(~;>9NqWp2z9v>((oSWu77SCdU&^|xO2-Jd*CSL z6UoJ#)9Uzqew^`}w-_I`Z3WWGPwLUet5@n6kAG#Yc-T%eTBxtCq)YSR`H4BsZXu~` zg<8zyn=RmXmx@5RTWPVwihk0CdURWRb_)y`GNo#Q^G@w7fj$Q3~qry%Mg4!39N<7#n+llRkad*6n0Y*`C&a2H3% zdZ(#3ke`Re4J$y6*Sex-QdqL5@$i49IJ$0J2;2!e;QVdFH{{GW&_&7dPw7*Z&d(Gy#p|kQio8)8o&ftF}8HBxL(#57b+V33Ae7hkqgBiV_{ky-2>6 zv5a1;{?mvc3uAC;TGenAX0`YuEdg@Z3CzJMlR)8FVUN}~XCcev=+tm!_GO1P)E=Rr z_1R~+0Sy6R3S#bfX4x5Lx$SJfVCI2@el?}LE^shIKH|V{+_0f+i3IK+3rwSYi>y4R z+=Wd#M-Pgu^ZX(L2fSk@`^(GP_l0RHw6rG?f|wI(MPDT?>Hu-&W=yWz!K(4#v%Q^UavUVeheLrQ{iGOW2&2!-{cA9b2u(eF178zZ~D zV`xBZ(2!0-S;ptazN47XcLXH&Q@R&iUemlgexIzZGtERGD0)x0!_g4zK8A`%)(Y<@XM}4+uK_^Lx4>|3G@0kXDN*)AuU150J2JupC`tk z{dsgctF6Z)vqJXdU&i8GTF86;w(q8jikiAJBmdJ4L2ckrkjx5>JfZfx$c6h3B^1{VsY^jq6e=YS_DRWhO?6&i{<6T zbH(0)+j!9)_o+Ir&A8^^y;evrY7{!!R?iTrz~m6X+S8;=E*p&H8ja^IR^nf)L~;^( zd$ZO?0!bIFmSDV6Fn;ZKXVTuvlePPNZ3%ZO7)Xo-xtcSU(#Ww3Cn*&ZjgP|xphRA} zTv-wDmDwn6Jyc&!rwWH-qF*{n z!)s`5Q?a-ta{-c%K1g7~7;oVtKx+@2p&^t?sLB9 z`yKIYiW;3wwRcd|oSQ9WAt-8w+-QGw!Gwbs^^NRd8>kG>IN3#-z9m2h*?m?2?Lcfp zdk0j_7y5$cm|I8XKT8ⅇ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 literal 0 HcmV?d00001 diff --git a/docs/.vuepress/public/plugins.png b/docs/.vuepress/public/plugins.png new file mode 100644 index 0000000000000000000000000000000000000000..1ab41080b472dd8d1778c7adc2b87dac0230e3b0 GIT binary patch literal 33675 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 LNkvXXu0mjf<=CNO literal 0 HcmV?d00001 diff --git a/docs/zh/README.md b/docs/zh/README.md index f453014f..06abda8a 100644 --- a/docs/zh/README.md +++ b/docs/zh/README.md @@ -17,7 +17,7 @@ features: - title: Strong details: 只需要关心页面内容,减少犯错的机会!提供单元测试、覆盖测试的能力保障项目质量。 - title: 可扩展 - details: 借鉴Umi实现了完整的生命周期和插件化机制,插件可以管理项目的编译时和运行时,能力均可以通过插件封装进来,在fes.js中协调有序的运行。 + details: 借鉴Umi实现了完整的生命周期和插件化机制,插件可以管理项目的编译时和运行时,能力均可以通过插件封装进来,在 Fes.js 中协调有序的运行。 - title: 面向未来 details: 在满足需求的同时,我们也不会停止对新技术的探索。已使用Vue3.0来提升应用性能,已使用webpack5提升构建性能和实现微服务,未来会探索vite等新技术。 footer: MIT Licensed | Copyright © 2020-present Webank diff --git a/docs/zh/guide/README.md b/docs/zh/guide/README.md index d406a0f3..cf663797 100644 --- a/docs/zh/guide/README.md +++ b/docs/zh/guide/README.md @@ -5,50 +5,67 @@ ## 痛点 -Fes.js 是一个好用的可扩展的前端应用解决方案。Fes 以 Vue 3.0 和 vue-router 路由为基础的,同时支持配置式路由和约定式路由,保证路由的功能完备,并以此进行功能扩展。然后配以生命周期完善的插件体系,覆盖从源码到构建产物的每个生命周期,支持各种功能扩展和业务需求。 +在开发一个前端项目之前,我们可能需要做如下准备工作: +- 搭建开发环境 +- 约定代码规范 +- 封装API请求 +- 配置路由 +- 实现布局、菜单、导航 +- 实现登录 +- 权限管理 +- ... -Umi 是蚂蚁金服的底层前端框架,已直接或间接地服务了 3000+ 应用,包括 java、node、H5 无线、离线(Hybrid)应用、纯前端 assets 应用、CMS 应用等。他已经很好地服务了我们的内部用户,同时希望他也能服务好外部用户。 - -VuePress 是一个以 Markdown 为中心的静态网站生成器。你可以使用 [Markdown](https://zh.wikipedia.org/wiki/Markdown) 来书写内容(如文档、博客等),然后 VuePress 会帮助你生成一个静态网站来展示它们。 - -VuePress 诞生的初衷是为了支持 Vue.js 及其子项目的文档需求,但是现在它已经在帮助大量用户构建他们的文档、博客和其他静态网站。 +而且前端应用有很多相似的业务类型,比如中后台应用大多都是工作台、增删改查、权限、图表等。如果每个项目都处理一次,不仅耗费时间,而且会导致开发规范和工作流不统一。我们需要一套完整的解决方案,管理开发到部署整个流程。 ## Fes.js 是什么? -- :rocket: __Fast__ -- :fireworks: __Easy__ -- 💪 __Strong__ +Fes.js 是一套好用的前端应用解决方案。Fes.js 以 Vue 3.0 和路由为基础,同时支持配置式路由和约定式路由,并以此进行功能扩展。然后配以覆盖编译时和运行时生命周期完善的插件体系,支持各种功能扩展和业务需求。 -## 它是如何工作的? +它主要具备以下功能: +- :rocket: __快速__ ,内置了路由、开发、构建等,并且提供测试、布局、权限、国际化、状态管理、API请求、数据字典、SvgIcon等插件,可以满足大部分日常开发需求。 +- :firecracker: __简单__ ,基于Vue.js 3.0,上手简单。贯彻“约定优于配置”思想,设计插件上尽可能用约定替代配置,同时提供统一的插件配置入口,简单简洁又不失灵活。提供一致性的API入口,一致化的体验,学习起来更轻松。 +- 💪 __健壮__ ,只需要关心页面内容,减少犯错的机会!提供单元测试、覆盖测试的能力保障项目质量。 +- :package: __可扩展__ ,借鉴Umi实现了完整的生命周期和插件化机制,插件可以管理项目的编译时和运行时,能力均可以通过插件封装进来,在 Fes.js 中协调有序的运行。 +- 📡 __面向未来__ ,在满足需求的同时,我们也不会停止对新技术的探索。已使用Vue3.0来提升应用性能,已使用webpack5提升构建性能和实现微服务,未来会探索vite等新技术。 -一个 VuePress 站点本质上是一个由 [Vue](https://v3.vuejs.org/) 和 [Vue Router](https://next.router.vuejs.org) 驱动的单页面应用 (SPA)。 -路由会根据你的 Markdown 文件的相对路径来自动生成。每个 Markdown 文件都通过 [markdown-it](https://github.com/markdown-it/markdown-it) 编译为 HTML ,然后将其作为 Vue 组件的模板。因此,你可以在 Markdown 文件中直接使用 Vue 语法,便于你嵌入一些动态内容。 +## Fes.js 如何工作? + +### 架构 +![架构](/framework.png "架构") + +Fes.js 把大家常用的技术栈封装成一个个插件进行整理,收敛到一起,让大家只用 Fes.js 就可以完成 80% 的日常工作。 + +### 插件和插件集 +

+ 插件 +

+Fes.js 支持插件和插件集,通过这张图应该很好理解到他们的关系,通过插件集我们把插件收敛依赖然后支持不同的业务类型。 + +### .fes 临时文件 +.fes 临时目录是整个 Fes.js 项目的发动机,你的入口文件、路由等等都在这里,这些是由 fes 内部插件及三方插件生成的。 + +你通常会在 .fes 下看到以下目录 +``` ++ .fes + + core # 内部插件生成 + + pluginA # 外部插件生成 + + presetB # 外部插件生成 + + fes.js # 入口文件 +``` + +临时文件是 Fes.js 中非常重要的一部分,框架或插件会根据你的代码生成临时文件,这些原来需要放在项目里的脏乱差的部分都被藏在了这里。 + +你可以在这里调试代码,但不要在 .git 仓库里提交他,因为他的临时性,每次启动 fes 时都会被删除并重新生成。 -在开发过程中,我们启动一个常规的开发服务器 (dev-server) ,并将 VuePress 站点作为一个常规的 SPA。如果你以前使用过 Vue 的话,你在使用时会感受到非常熟悉的开发体验。 -在构建过程中,我们会为 VuePress 站点创建一个服务端渲染 (SSR) 的版本,然后通过虚拟访问每一条路径来渲染对应的 HTML 。这种做法的灵感来源于 [Nuxt](https://nuxtjs.org/) 的 `nuxt generate` 命令,以及其他的一些项目,比如 [Gatsby](https://www.gatsbyjs.org/)。 ## 为什么不是 ...? -### Nuxt +### Vue CLI -Nuxt 是一套出色的 Vue SSR 框架, VuePress 能做的事情,Nuxt 实际上也同样能够胜任。但 Nuxt 是为构建应用程序而生的,而 VuePress 则更为轻量化并且专注在以内容为中心的静态网站上。 +Vue CLI 是基于 Vue.js 进行快速开发的完整系统,提供交互式脚手架、丰富的官方插件,并且可通过插件进行扩展,他在打包层把体验做到了极致,但是不包含路由,不是框架。所以,如果大家想基于他修改部分配置,或者希望在打包层之外也做技术收敛时,就会遇到困难。 -### VitePress +### UMI -VitePress 是 VuePress 的孪生兄弟,它同样由 Vue.js 团队创建和维护。 VitePress 甚至比 VuePress 要更轻更快,但它在灵活性和可配置性上作出了一些让步,比如它不支持插件系统。当然,如果你没有进阶的定制化需求, VitePress 已经足够支持你将你的内容部署到线上。 - -这个比喻可能不是很恰当,但是你可以把 VuePress 和 VitePress 的关系看作 Laravel 和 Lumen 。 - -### Docsify / Docute - -这两个项目同样都是基于 Vue,然而它们都是完全的运行时驱动,因此对 SEO 不够友好。如果你并不关注 SEO,同时也不想安装大量依赖,它们仍然是非常好的选择! - -### Hexo - -Hexo 一直驱动着 Vue 2.x 的文档。Hexo 最大的问题在于他的主题系统太过于静态以及过度地依赖纯字符串,而我们十分希望能够好好地利用 Vue 来处理我们的布局和交互。同时,Hexo 在配置 Markdown 渲染方面的灵活性也不是最佳的。 - -### GitBook - -过去我们的子项目文档一直都在使用 GitBook 。 GitBook 最大的问题在于当文件很多时,每次编辑后的重新加载时间长得令人无法忍受。它的默认主题导航结构也比较有限制性,并且,主题系统也不是 Vue 驱动的。GitBook 背后的团队如今也更专注于将其打造为一个商业产品而不是开源工具。 +UMI 是个很好的选择,Fes.js 很多功能是借鉴 UMI 做的。如果 UMI 对 Vue 支持够好的话,可能 Fes.js 2.0 版本就不会出现了。喜欢 React 的同学推荐直接使用 UMI。 diff --git a/docs/zh/guide/getting-started.md b/docs/zh/guide/getting-started.md index 0b168126..1331e92c 100644 --- a/docs/zh/guide/getting-started.md +++ b/docs/zh/guide/getting-started.md @@ -2,8 +2,7 @@ ## 依赖环境 -- [Node.js v12+](https://nodejs.org/) -- [Yarn v1 classic](https://classic.yarnpkg.com/zh-Hans/) (可选) +- [Node.js v10+](https://nodejs.org/) ## 手动安装