From 6753676ee7c4b01e3d868017723d7912f46f6cff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=98=BF=E6=B2=90?= Date: Mon, 30 May 2022 09:56:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 22 +++++++--------------- fast-server/src/main/resources/public/qrcode.png | Bin 0 -> 27580 bytes 2 files changed, 7 insertions(+), 15 deletions(-) create mode 100644 fast-server/src/main/resources/public/qrcode.png diff --git a/README.md b/README.md index 0d442ba..7bf166b 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,5 @@ ## 项目说明 - FastBoot是采用SpringBoot、SpringSecurity、Mybatis-Plus等框架,开发的一套SpringBoot快速开发系统,使用门槛极低,且采用MIT开源协议,完全免费开源,可免费用于**商业项目**等场景。 -- 前端工程:[https://gitee.com/makunet/fast-admin](https://gitee.com/makunet/fast-admin) -- 代码生成器:[https://gitee.com/makunet/fast-generator](https://gitee.com/makunet/fast-generator) - 开发文档:[https://maku.net/docs/fast-boot](https://maku.net/docs/fast-boot) @@ -9,20 +7,14 @@ 演示地址:https://demo.maku.net/fast-boot -## 环境搭建 -- 下载项目源码,一般通过git clone命令 -- idea、eclipse需安装lombok插件,不然会提示找不到get set方法 -- 创建数据库fast_boot,数据库编码为utf8mb4 -- 执行db/mysql.sql文件,初始化数据库脚本 -- 修改application-dev.yml文件,配置MySQL、Redis账号信息 -- 在fast-boot目录下,执行mvn clean install +## 前端工程 +- Github仓库:https://github.com/makunet/fast-admin +- Gitee仓库:https://gitee.com/makunet/fast-admin -## 本地启动 -- 在fast-server工程里面,运行ServerApplication.java,则可启动项目 -- 接口文档路径:http://localhost:8080/doc.html -- 再启动前端项目:https://gitee.com/makunet/fast-admin -- 账号密码:admin/admin +## 代码生成器 +- Github仓库:https://github.com/makunet/fast-generator +- Gitee仓库:https://gitee.com/makunet/fast-generator ## 交流和反馈 @@ -35,7 +27,7 @@ ## 微信交流群 为了更好的交流,我们新提供了微信交流群,需扫描下面的二维码,关注公众号,回复【加群】,根据提示信息,作者会拉你进群的,感谢配合! -![](https://maku.net/app/img/qrcode.jpg) +![输入图片说明](fast-server/src/main/resources/public/qrcode.png) ## 支持 diff --git a/fast-server/src/main/resources/public/qrcode.png b/fast-server/src/main/resources/public/qrcode.png new file mode 100644 index 0000000000000000000000000000000000000000..e545926b0ff8a030a482622bad72c016d55187c9 GIT binary patch literal 27580 zcmd75eOyd=|37{bLJ=xNjGG9dB^25Ymz&(r(vtf@GKfY(wWc}Ix+!T8TEbW@A&gW) z=}0MwX5FMaHPs+8qnTnlH8W?vulJcEcK5nI_VN4U=i2sSH8bbD&-?wldA^>{XZk{Y zIo5gRv>DSdBO?qmg8yOq5^OSN+^QA&2Y$7Nf7-Nb)24OnHXTe%+O{+6U}k38!PK;4 zr>>nlcIwi})Uz)G#*$o~tbo7|9PR`@TPo6S$n%ndlGu?k)u+U@C;w7GIyw-Bpt>56cb=!9TfWTiu ze%-xi@4nEm!;wdh9*g?z_=&SIf1EoXd*R}x>j{ZTHS@NdJ7eRE%3;J#Y5Zf)G!1l^ZW zD}VSh?$WwVzmaXbPMT-3%GaX*sGaRB|8wZ~`1JMz9Oo;oR&ROIp_}dKih(M0Ys{Vf z-)?Nzzq+%}H}>VeiZL@|BY1emT`(Next|RijGc`fy*9X8*z6}Kuq8trr%lC%TON-Y zjU~?a>67?Vt0z+}v3WC23^rQ#$AeF2;rj-kX%#l)%O7Ws`f(ln-DB%BZJOQ)eFJbV|^*E*eV;B2^~aY<+pthv~gf5?7Z?t_rs&UtL?1g5puV|!x+&&ZGNc`#Yr>7PcE^fYn4Cw$CQ-EZmX)G~B=`1t!*e>S3TrjSU zqx&4t%++I0X6vzsZKL$qgZz3urtKQ7K1-d_%p~qT(PO)Xl{{)X8BbiN)9Ibw-me;@ z-gWr%DbWe9-Rct#qBKezr^FANI7`~Ua_5cX`#n>Z;g+9@7fL4?SdD= zYWF0)S*<9iEWtRsNLhAHU6ZsJR(sN$!0p|;#!4(Z$jp28>A~&c(seL=#7c?b1-%1u z(@(cGynuDROpkdNqE~cN;W@*qW#+vie&$-+bY6!(1HA-2(NLse5Kk(KY@ERwtJ^daT{s7i5yF6qaXORUp2m zR*w~AYJA`1)cc-#S!K+cNT+iw`D|5;dalwbJk{%>9@|Jox@-K4YXlO@KHMn67oPIa zGxw&2?6%Hg+n%US8z*=!GQ-zCIZNEjQaNb{kR>aKLj2DWS5s^3a_flaQ{e5h>*G(o z9P*6m|MA~(LM zjm-<0uw~RAU5zyE(*vz2v1T}(E3zP0>#>M3Ybr+-nSm?!@|~0g#bnYpadNRVC|c3& zdU1v(da>8>`Z;j5`+QUEI<#k9B8-U*>^-c+gD>=0#WE_I?&=`t3{dE?x7`<}u}{4T zB;HrfDXRTLb1SRN_s~J}$DER9>N@JZ(nB4uDhT0Q%S3Ws$9Lo^&G0Do)L&`N@l`x~ zZSCE>Ew$rbM>y`h+lris^EhFyc9et0E}$xFMMrc*QfHhG+AEJDxnYFEBQiOZp0VKI zYg^xkC%FR-c67MUDtT7!kxum9An2%yis*Epa*oqO%>wuUEqp-NnIe~;M%nzaFTgXr zynL5^orijLnY_)^IaV zh)U85cBli+)VZW+_C>x5UC_4cXq&-#qXKOU?sJmev>Sg5u%oSW=@E9?euNJVd-gX@ zAzh#*5{T@Y$TvLA!0g65CENLhFK=lJsB_BXOgMF^{ukkBEa9r1LPtyO6$@AJ-63Yo z7|K^U_Io&e?;hto^S)siEm|k8T3RWTcUKjZC-2;bTL(z)%BDf=dL4ABUbEsJEaK7r z?88Hf@>Wc-8IrYSv(cD`+K#$oX?FBeP6?sB%11k@yV~K9T919yEalkc)wz(LYR}6X z<_Eo$@thw#F!>nE!Ray*_PLUyo~x3Cr}lzl{T0X$=u|p%6ZlSx$bn4YEUf1k22lq z!7h>!G(5-t3nu+~z@&p?_~{vAsKu&W^-_p?WA)f-*1j@pJ@)HXZ*=UQDSVh?hd-a$ z;@F+zT=P&=DecRX;R85rDM_};G}WMJLxAE)UN=P5qX1>LcS!#}J!H-9^tSPD#<<>bUDv84j){L8BvnAI0!7F3VL5S^~;?0{~ z2l=8vZrEQQbO)gx8)T<)qANs=TNA}c@$x-xEM-djw|G3Rrh{D<{LdUwXdZ?q$KDn1 zqQ^hi_L4c+^zM~;f_GFM=OEwTpe0Ay9(4^k0~gX+nQfh(-r8e`9y5oO0_XZXOWS#a zNPA!+>nP{z#1r$^Y@%^jI;sDlJT)`)*e2oLK7(LQ_iMU8&=8Gn^2L!=fu}thsmSg8 zi>@DhlTWVUsyNKO*%cY?%{%doxwLxl+29W7Yx2`$2S1)Mzw1B^#kC@Crc|?scz5+F zxd1P}06S;3$O8WW4=r}WOl=$_xfnf`qvk_&zR9IeDC|GEf3s}xPBu?Y42DmrL2vk* z$nb_wpQil`ueK&0Z-kfH(b9r^Lisb%FcJ?X>&^7ovvcS8u(4Z@(qkuzAd9ngD0vb*b+c#p{*rt0=r=|Xg^UKHfirIL=iDKk=Be9d%jb{K z-EkeS?WP=Yyj)Ra}>A3}r{vG3UItSgT;1LzZ8VqBR~_Ko1l( z`oXRv%lC-tmO^Cs3D!V7RCi2|ZNNjNH}+=p%(T6z9H<*+3wlve3QqBDhr;0-1<%ww z7W@3J`*eBU?C7-+wB4*rLXO(9^6{PIb!moqQKENKsA*TDE--|eIPrv>Iv4S$+O(H} z*MnYi{m0$CYx0mx>JCK;-IFa7ho%kCW2jE~)lcIsm#T)r?+C>TcBHo@>%HJPR4G21 zm|pRDqXd_97wER;#q4sA&@>yg9Xr9lf}-d_#2Sr9b?9JfVo7?HJ@CdlK656UjJ4jSFobVzx1PSG$w=7j%)nv#I zcE{-}+iOblO0#QfB5+txR`D!NXYDklL~H9dwT@2TuZe@eU8|LR>I#8-o=z^~^~jNU zD3dF=dt6NeEM_ZtAzLMKqT{1ii-PHS+`Wl+CjMTux>xS z3SXshDx%@x&3P?Nk*KrE8f3KzbbE+(c16lux{_%0P7#ynWF@hn-V&p8WiN!SJwcbG zyNGg;=~CDr8oQ%(nq7%-EITFqLzQz6Oryty8*0VHLYYYG$h#}H;7_9=U82wTbhMehH^>&atDlSG}vnUq{Kb1!v6jajIXG_Ju^Vi%{tJSN;-uJo0hnWQT?; zqWac)tfaAF>Awob-}V`C4~Y#9)IbOA=-6zI1t0pK-4L4FRjCV#h{~n#J3UsMDjM_x z9*6Ft6Zc_h{WK@flWQ6{TIXCkj!Q2Q=}IQD7C=}e*5Zvr_CoCK39)p*yuYL*&QKQB z?==4A2JspqbZH`~lsPnB5jAWe>NjEAh-5KJ*D|*JluX=~a?CbatQvIA(7kce-vs)r zQTNs%qKN))`b$LjryH?7h= zzI^?W=KRf2*D21Wk-J+9Fa4_pZA{i$^&ql3@F8VDN<66;Z2X#CBBIB#;Tf>Cj#1iW z9O^%GsqT&*`+gF?)I^2mUPMeVGg%@?GwH7J5cDna$>EB>KBVEQ<@V7lQWM< zl}}O5RI%u8LhS%i2?sthl&giHzM+;Mz37Y{TdMw}RAld8+M_hW_pp&#{9XOB_J!`Y ziPq&e%1~SPQ*uhkWb#dSHJ+psLAubrYKW$Dd};CaQqfqa5p2qbpaOBNrx4Dt@+w&| zT8|x%(s*dx<-{622CcG?H;Cm(6hZa7KUwf$yJASTwo3>d*IheItl6o@xC9r@D?9p4 z5UD$m=ArUwnE2yT=r1nNJ?Q&-tQFr;$&=ZIlF(lqV)~1>WKq3`bggFU^W>lC#ur0Y z1^xLFV#k1!KIs{)Ox}p^vkDz#;&fiCYQZR#XlK@eiaV&6sZrlS&C<{*B3t)_ld1ch z-NRp%xAHy;A2d#nWz5iSQ#oZ4ayI3L-$={VV_hXly11O$O{+t6KAE4FGxC#%Vk(4z zC9FgdijvN7HkW@sn{X%XP0-P-9-_zcgO0-4EUDk)#67t(_!qIZ^P`p8O(w}|R3SYi zQ518PG*w8;&jq=o3hBMd5TRDYY332>Lx_rVuH&ibN?bdf_4&G_lpCG@s$p#WBsy6E z1K#cc?GJsT# z(%5~zavn6GH*^&TimH0xm=T=f6|9eo$O?F#FU>U*G&p)JQb&azlW(de_xnFIQYU|3 z2dRQg@m;+Y{hWXbq~eb>v>Z-QuR(v$fruW;E&jY1t9>L#Q$B?IWIN~RbS+C4;(t^w zt&NqY<^J+y6|O#nR%Evy#FgnpJYSUjhGuF(iGz-R5o$q^zjI06D94A|`P9-%VprJ& z)CvrD)HJsOu0xtSf#c9zPtLI6njD-ecnf*_nnXL2&<-kUO65V2$~k{cqsQz3uL?!aq_?I_ajc zllyEWc378YZT4-vsF|lV(_?!gDXU7}UKaGQP&_f!9_R0?Jv~O-a3cV*@}yt0X~h|H z$h+TWGT4vMXFei6x|`GO#;^fuJ4#e!aXu}@YoF_}55;&z7V-HHSRHQPQW^b2>vkOPY|2>cgd(dd&9H)gM$hUr+Nrl-@QC z-ghtbH2E9#ST3BYly&IO#FsxBe_F`km<*QL{;usuODxeNm_HAS`!@XUsu!_Ph6a?s zEwg>b7bD;d^`(bwFV@{RZo&sTwd~?x{9cq3Q@Ps)M9ImbB@XJK ze1souvwAK~yB#*zedE|#GEX*P^Qg>Lm`J&REZ$$~FNdVqA(cN4K~*tJ=;x@vyHarK zl`axu564209c@>d|JY2_x97wC7wXqc&I)OJ>8f_BfzVk6J`Y9RXbg+DJNBArWEk1 z=?q@Al_S^0)g%O+tzLS82=cbPmiE@CKXE9}X=TMu454@5i6-&&7{szabQjX>1WyTN zqDdy|t)`6T$jNKOnI**yuKvYPQg<2jrKFDgOReH@iQiFoQP4xs1gFet0jHRvsvN;7 zDtL>}a7vuV5Y;SHn2)9`+?BlWM2SM!v3i9^@ntB?0Wus4oy2U|D8E z0avDE7|Fg76xmcV)Zn>A>J%s${CN!tNxrqQ+8=wVPwBC<@cfP#Pz(s&)IcYB3c!{d zAV!@P44}Alm-H)y7qqOdFW%?X3JTunu?t7lvd6+2&j~m4I=SwoVl=<-J5Ua?E9~^N zQL6MOfCB_5+sQ``nVb2ZwCOw*gGZ;CFUS=&?UX@Oj*`b9o3K-g zi0esWg{fhu*e@piwhco&Wgz=hC#N;5f(JY#SA{@qBAjeA`%B|Jrng(*Jjvmij z;pP&bwb>c-2u5}Kdl5kXp(5JjBT3IV2bJnF0?-bqPj8Co6Cd6J)I{|YHrM)sO9jle zd8?PhwapOj&aRLE#@WB;*H^}Ad1c&M)5@rOQVVT2RT+vR>qUi4Q6x|Wz&HvbnU7jv zTQ$-`2ZZdZ;?(gD3NR7;sa0K*Ct31}Er48yt~qL9q8`f@ieAe#3&_UDDaqPf#f2Cp{@w)#IL&;TE|z$Eo_K8l z7eDceBbn#Cj=x>yl*JAaK#=}5yMhcAw!Myz(yz$hx-@U|$m(yqS^-uM8I|~Y8U`~KO&hw5=q(r{c;VUxf}GY*mr!wM zmO_e-^tF&jwek@yo9qBvk7B8EmJqPGJ)C+AgvFKeQ8M^f!wZb{GXQA|p|A**LSZrV zpKc9`r53lQH2G^Rs}`5U&|_!2z!jOj)??i*=+0y^!6OW@0xu$E^-Qdg=~h6j*yyv2 z_Wqud3nSQx^QK~!=xgt};r-rCWCe4SKl|W5WT=RNB)!hDl(S9~KI9&PSr)HS);9$? z{Jjtg^rmH7UWy55n>P0aPz|TgBVRSrgFIukv+$2a>p29GzK}#X-hW$@uO9agvv)ek={L9*R7w*jxHyPq(zWMEZ#JTcra?< z9n~&P<1BKdE3x7YO_ z?sjSLP)Pu*hWL2ElJ5qUj4h`y4bcBThoiX74BfuWJo}m`+*Fcg1oA+4x{FjHzOKhI z6BNYf#x?#6nn7Qrb4le)9<^2yk!DQ^p^I^&yW(;VM5xRJx{DsW-cYvf@-^ZL9INc; zln*Br+13xV9^$9M?+vSf)m|I>Q5?*G1WwQ!eT%w~m9VP+fV$|Q!;P|PFw*=YKnJq} z{laxTz=AG*I@EZ|aW8Z*A=eHY{+c+w$og|q`pM)ShglKp1ca{+K(!eHpw%4eSddtr z=6`A%;IZ3XUk0Y6y~}&)dr}x|uI=t9YUmG1y08FRu?4R=*QM|l%owvm6hc_Lpel(O zW5PC?s%c{wV-A0grzM4)0(oh2wxi|ul5A2a`yVzHfnMY`2<`?xH2d3PA1N@#1bOuR<` z_`_-jL05~ZV*rJ~4R{ax`Uc*{RPgRe%=q1ugAj!NPE<%6AoQTKi=l7wI7$aDKKc5U zU#<<;IJgbpSn~^=E^3u#D#$4t53?VaPFrF2L&D$_dU-ULWQJpT54Ie3em&Rm(1W(Y zKh~>z>TZ!0i9`jAq{8gz&NbAuwEKE&BriEAM!|w!;QYvqC2E5IK@q_htIxtJ%!lTG zCZB2ksU^5FfZ8c`*%a$XUv}>m^Di4$VC8x zTML+V_&>m`dMw!qLC76{XK<%^FluIX3`(X~OMNu#VpsT^+5L-><#a=7i4A=TpiP+O z-FG!$n{$sHrHsphae^$5a-r{upvC)OhekfPYehx=bcZB(+aaog47?Lw;X&LRr%Qt8 zcbvF42|e(nW5g$p*B3AV@fKR&1UiNV<)z1baozak1+O{Ut}>dPP!XkrR_tSe|3sK^ z!}UIf(7w#2D_+qa<$1a*=LVF59&((k!C~><{hCrANEen!T@b2j1~mzT*B@Z&lE1_2 zGg{*H@IkxY*syj@*^b)vk`7c{g+BtGVN|^Tc2ykp8{Hl^Ifr=y3#H26;Iz&Ftom2oUbz(RN#_(LsKHBm?WhtK)O_d6 za<>R3QIJ0p4?g+aE8)i+NuVl+irWg{aGniq?xf!W&ML>Uem7+$@5 z`r(d;I)<_~oZC!kC*lUl99swNY&wTIwqej?KZ89?26%1{%rb{PJOY1}Nm~;y*?`bR zZTqwU<6qQt6lAcJa8{Jj+$_WW%~Crs_Xi-I#*Mkb#2ubIzN*0k5U^>m4c<4=SH>>! zs8PM+pd9-ZsD%mi*gQlcg0J~~jwJ3qhY5@f`%~izkOTw1Z$GNhae{G3&ybEkr)R-) zfdTS~c5M>?2$D2da(RV@u#2n)oDEHV(OT=ZZm;PzM_aby;Yfpe9isef|@1r4UB-A2hKOe6zM-u2AXi zx&pn11-X8*GKIFvM%@p6p8+a@uD~EVC=%9?GZZj4yVAU|b>ZP+IjVU_!j!5t#Vwa+ zv7tTgts0QQ*+A!`_E?O-`HRdnbN)Te?>AwZ>0BDJr?t7eZV&0hp*FFoISJ(e=#v#a zHQlxM(@NE%#Gn}Zx2XxdB3)g|jd5BC6}w`5HQUe(7XbO_;e%V1L1EDPitb!e@A<_q zWOuh0|7S2SY7w< z*`qEcKa!%_tG#n1#pY${4U_KXnLNK8I(&Wq0g1C;dzRht@HHMFJ<%Xk@7JBZ>VofZ z_*FY_e90WFC@`q|qG&oW_V?_Cij&*k9i4gTT%YxQMr?{+b$z2_X61@g-4|*GWRn|e zC_8BeCtTW7J4s~%q08zje+Y49|CX&a*RzvaFMKj_Y}CrRQx?B_exkmncv^jhP|;h- z$>elOGT+zj#F+C5>Y(};g@>nWqkoI-;U2tYweeeT*^cOoV!Obr0|VdqMIBx^>`~AR zmlHx~@kp6;x+o%FW#8qI?pW_F4at6XbZj*i*f@8*%qezVu!I_6hvK6%JI;Y=!eG}q+i{6;N#B+qr=>SxOe14{Bm z7w1>M_;ZTaq0`RKy-roG#Oj?ZQ}vh(SJ)}vt9LvZeZ@1oSbJhnG2n>&UpoEwO8LSY@p$DeOXEL~f@+%4nqsF?Pl{zx{67#$3{y4 z8_*`a<%Qcf3A8sSq zfLKN}0Bf8QZZjnDj~pWjock6*%TD_{!3dLb=VutPrhT)Zk3O^R;UVF zX5DJ035D*#fl_>KLfiRg5FLY16AC0q)c1K0zl`5XI<{D}wV;dL1L*rUpE+n$E50i& zj;bW&B`9ZgsLGTw!-7B-PmfJZx?Ptla{LCx{^f4~O?7NJSK$U-a3o#A>cpS(SAk(R~aU&p=qP|y@0u4n5=T-SG+aKBM06K&os&U)Bjxa;%~X3Rtni(=cks3xQrFFa(13aPsakf#6Gb zB)9~C$l?m&0oT?|Gbm3W&LBEk;w+epJUkpLvG_upxq6ixL-IH!64+v*q6yh6Ix4vl zozNaLG^ivXM>PsmC0n)a>f~}Q?}u@He=;d1j0pq`B&>fS$v~aMz46<`c8Uh__UA`z z|7B1iu>Z2j477^vM?ayMw^F;&zy~O(K8I}~x_+us0;N*7VxY&dtmiMMUHS8Rt&!H3 zbE4j9RN1l_zK)5JGhde$);^j$19xBUFJG>4(oWT#B-Zl68;MLdaFFi(=zr10u{c{@ z;w>K8ZPaDI))8&n+t~D!jqjjR)hvopI&{7CxN`GHajZQtp>XTErw=ZKEiVkd6k{9t zX9sn(9xIAm{)DzD4LJRA`t8IWT>4SCS4?tMAaCI-n@+)fVq<|i%C`<{a66E+ul1pr zqt8|z3V7+fer}Mt>Dx)JM?Zzgy$Va)z1{I-@4X?DPXukZ-*a=sX{R>BR=B=njdPkSay+|lr;Zq%n7y35;`lMa(2=Taf% zbL=ZU_V^@jn&Xt+_u))ZU~N*m?ZTt6e6?rZCvEbfkFC;XQ+vyMyH_NKUfsHB{*TxD zm6|>5loKO=uh2%gZD{mRk1(M-ivY4K_((KjSNZ)n$32uBFJHGXy-Lz?-j=k*LmcL? z_u@Q#9^3B^!6=p?J`7Pyt_Ly1hpL7ht_47R@KNZovD>dQ$?|*XvUNx(5XFGt@B|D> z0f5@vpkYHw0TDxm_XetZOU^8e(!Pz{M_`EfwSM6exr(5QaP1(e@`+UCOH`O@%+==F zdvvy%Obm*pUHC#^U~B?%nNLZ=>#R2tpdWlS4iS^U!8jtlUc+$4fLAh%K*t@C#-h~b zz+Xn3G0t)NEU+=h;&;M7$ef+APdsW{fjnD}O?d>b)??5zygH%11TD(fYKt8(IeVvR z%il)jYZg)O(bIHNOZI$nxTZUXxYWQ5yM_qqT#p_BFSo=vKPV63ocL%26KPWs6*x{6 zuZtlnD_L!Hdo?EXD#BC4DRzCP$NIRs9Vg|$2zu|dsi;=w$Nd=lJ@ArXBCPBXoEegH znIU-@bfn)7$$nmcicthQS!e$EC>igJa6ca?h%o-O^;>vh6Bs^US4Jxx}U;;)O;tRW3?y2>DwH z$?e~CBE<})BY?%t)KkM|{O59zHB`5USS6+)gF_)!30M<@ImHu??B)1c zXc_Q#sVVhAF$kcEK;tY>8|;Fz%s+zfRbI+Q1P(Mm1i1lJg1MRi(W|42JI!~qxtO(O z99HlOMi|}IC$sPhukfweYG$DH+^8OQ!&E>*mI7;HBlRBPNJ^+`D+bW_H2}Vl6@4`h zr>d6R#~a1hfsC6XQ02W;oiu+aDe^1lGAOf|)_Hu95~#b-@_YS#%OA)I<5&W>KQ{Xp z(Ptsd{Mxkq9j~TBp3gjFm(#VmFsz*+mcmM3<1j4sXD(jlQsYyIngS~=RqQ}4bvty< zn(6ZC*qf(cG(cd%6JT$T$PRQMy0suw$B9#?kcv7Zgk;-=n=C>>e-sC#3<+r3%K$8O?O z5Mh@Uvh_ZL;=LlqR6i~>_v3WoW5*tr$jtYge?FpLQeqhQ(CeF<_nlk4rM+EjUxBmO zzI&ey2WM+1L~PErh%Ub8Mz%AY-^a$;ArIPZj+?r63_&)mL z=!TdGXCE1Nt(W~>lONyb;GRLesY>`w`Hyd^lH(wMx8?A% ziN2?|pY{mJYwK+C;#T~jNWSWq0k56kx8EPPcx{gjInTnD3|Sm24H7Il$=jbwRGRl0 z6Ybr2@^<9nINRYvFAQzpx)zg6D)`a9z}1Ss04fQV#u4}_QZ+{{Rrku?rW2`!2@Tqz zin_5kq<2m#ezd>)zM5B5QXz;`nU}lmPc*lBcOGD?+q%19-tNN=>dp=P$Z2^o*U}5ilPrf(YJ{ZPs&2u9e@M_PYQ7lTp6C!ePG^mN&tAWz4T>PLYgAHlmK|IAK;}- z>f5)jyjK^Dn5P zD<*zd4-^R)0j*aKGEgKCohucHRzYVM0o?I3h-i*4TP2&EVJ0)#H5C(dgWz95#WGzfN^(-2+O?VUt86b$ zVvr*TL|6tsmM>n>LF2EkHx@Z~){DLSNf#-iHVF=uJ@$ZA_2?#=~M1|`F_aPue z6ZfI;ZZFi@k^n*e#x4{*RuhTDv-SQTG;S!bV!gR?D`g6-F5JPI8smUwc_O-lTtye4 z4l%koi)IC8Z96fXeHe0^8C0Q4hwxNxIge3=0(Yp1=)4LkWaokorEkSt$H=>bNDdWa zY1DwYd2N>Hq67dTdN$Q=)A#H*XhSqer>L=uqSJmZ6%A#loZM7pZQW=B;>_hu<dpbT^}|pu>}oycpx~?tab+J*St~#DK3+TJT@{)69dKJz&mGhmDTg-sVvT6wv2N&n;8w#6gMhkclvH*%KN zt&6g%B2TPx%-p(TbNL@2qelg|F5>AkYv@k(NE<)4W!gQD5VVV!P` z%k8@KWtE+-xoXZ%+1gE^JkA}+_NI0N9;lO zEk|x$%JqLTBDe9m7Unp+&JsBvwX+)6iyAj3iVJ}dhy<4h`iw_SgVd%sXo68JX@bT< z!W6jj=N{8v)@C^0&FSkQA(PCZzeWs`*igX$2(QYB-iX;g9Oa|G6}Yv6&s+w0!zZny zL^lPd*G2xz-Cl~wls%=T@h84BLVKjW@=W?0e$d1|asL)1XAwebr~_)Tr#b={-4izY z0FS#YNWE6;fLhxswMjXNR3KhWK@xFkF2FY~P{SFv=auy+J?$Ivnz&XV2hgD-V4dxg zwJ^WlOWbpU@$T**MrsAqU65K0kWNVPJcvY3zZgCgy3+Cx)YflMnwJy+SJ6rp3rb~1 zh0Y`(Xc9J(*B#1{L>oAl$J&56STf8pywh~629PjlJAP@6fKUzqs}9tIz$b6&i>}lp z_wkXY`X#$?jccHD^NrFiG|X6nUE=8Wvo!PgBY{JA{~s9aUpME_j-f8i6Sn7XgmTg) zqIL|@0)90JeFA?T)nYLEr%ClW%Xt&qps#-KW=)@KWOwFo^s+?UUDv^M8RDW)@6qTW zbu*%(pwR)`eO1%!U}rPuzjYTN>P_t94(zCdc>pc;c~3K$A%C+y<5jt_X}l0=_0NMmtP* zM=+T3l(_+bEV2%8az_Y3ENHb>=uV@`>Ry>$!@vc;dk>iWp2LSy z6s6>}LG;s*&nY=<%w&N;%D9KDsU-^@ei;|w2N4)ViOQ2BJ{iCu7}6nQf?NqQcR2A6+e?>vmeNiW^8%WpY^xio9@|^4<#oF6@>t8&{9=hp7yXe=x zr*4jG9ir)_Os*6$RQ%bDYM-Iv^NM%^38LcLL$T9Rv_Wc9>UASjvLV_gm)0PbTG^ zyz^b#GHumbsX|P7xEdfu?gNd#LEg~-$QT7YlxAeCnq-=aQ$Tpw{-vpyP(kiVLrn$H zqLDZ->DUX_%i`Q&lH1;3gaIQg=bxs3Vt*%vHW)?2Z&=y7U}`zDRY4%&2u>l&ag0EK z^g>$|2?PKLJGLF>z1c&3Plk8yD8RmlhAVj21YT#-unvgqGxyjLqt{RuiWmt@K2(J_ z`OYY`g?uG}0cgIZ1jYf*?+DnqNO-}O*=4a2Hq9t6fLii`OdP=|FD^2=&v>M~0Ntl` zN#rqG(GW=R)=+$!8f10LV!s!Np2#}!shR}K7DVq|_aZw(1i^0n7%^km!Z5iR!xlI- zYcx0WKKShv=Cgt5j>0yyi7KabGDLv(0MjM{(furNsY;nXao+Mdn)esZqCU}H`@u2U zc-TZ-ghnBvVn0TvkSL*NoG~|ospBj-EnHnKXd`@6Ow8J`4&tT) z2rM#o#7CgfIn74?ALkH_P7($neJIQa7d97MuXavkiAf}85`viNg`hie?Emw#3+7!Z6C1p?10x&9csBW@j`#Q1tiA&Ka5!a48ER4*fxor??f_+M!U8AT22D zQVR!ax+~ILUYF2uau5PGTOL3P`(AgRv{uwo=81w8&3Q0gf)N6;qH&TZr%gdtH0-Yp zUohPh2zr2Q13l_L1OseOpu30x;C^JUkgnIb6#)k@ap_o{2o-Olqhw2Y-6xoHJ1}$Z zNS38rCQ8)*RfZJ|*)AE_&$~zv)}$h!9{JJm<`~MnVRlW@nqzJKq7F%h`JU_qR7w>W znCu9uMOS;6|ATkC=x25F!uMxW#IcA>kov9Aw{SR}9oa?}1O*yOGG6 z27w5=d(-ZqUuZZ+UWY+mk(&HyPBqlMsZ|GwVKBC^3vxOI)jru zSO<;bSjjGMUV;Pe4VZm5@W+C5C2aKU_L$_>=Y1%wLL&MDAfhiY*uy|ub%_Mp%!>yG z+RRdtn)6pNnsmZfVl+gXsf-GxM^iQKs;KZJT!E?}k76-@A9yp}Jp7d@&}budEQ5;v z0juPVw4_a_s9`EH3kOsbs{iFv5h~h(+z#^_w97Ysncq0UHi!9*okF?})MGHe`Mk+X z@i305%Scu1-4mh^z8BaX1@O>F1k_(E>s)Tl2Of_XRJ!J7j^TaUBaYHm7PUR6>5da* zY({C~t`MyODl#e4j#3BM>yb(BM;GkcT$=6wDTYJe2V%07V5O z4>d4rkUUgn_W@fCNF*z>w($~83h&irQ5cUgCf z@ZnLLEC9wl+q4xF(mE^H3W6tUqH)#dt&op%)*k|;E2)i91>Ap4#=E^GwHr0Y-bEM*eP6#}FJ9aK&kAwY@kA~EP!askdl zae}#U4I;!Q*O>W8oYNa)8Jjc%C860RjiDqkE@{Qx4UB{v*XTDd79mDLrl>y@q`6($ zm!P=3N`iOCAg&%WX^e$x`A?JA9J!+gxCt4MY9Zz{&ja=|^8kZ;2AT&LOkvb909C)i z*W)`^fObZ=k0H~6Fe6CJkm-;xqs2(#p@bS*Aio0+t-mrJBH!n~kyZl%`1yOlm7cEn*T} z0GiYwL?ZW_nDm(UU1Mtx=n1~5uQ8pj+Q3o%oP9+WaSB8 zf7oG>f6jl}=ZH}`Zb|UiJ2}9ixd?uDE1btS`Q34fy4N)s-c5vQP``=@$BGKn2)QZIA_#nMFv6(^%?>d2@#fr|%y7o*}F4z_lS z^RxOm*<8pQ<=huyv_S%7hCYO?1qsk^a7JgTYZ~^0ts@d>fLqdM1qzrfG?1UBfEmbp zkoye9z?bM7i>OOP`7N>zzT<bG5%mM&I4iLaHuYraUPO$wH)XD z=z%mb1X5eI$I(IT4cAssLNLQQT?||mn$GcsNNhC`$KpU>y-lK+0DK{c9`=ne`Lr#_ z=d|D_J7{qy`htjFPU!AWG?9ZFYKci!h8pUZ{oDEL)hs!yAuK3CE?TEyYXcf+$iT2k zE|;Vbxu>oOpNe*qmRhDL;2NA1QB?pFvK{I`R28iF3jZ3@0L}1_GmvWFdODQQGEp&J z%%VEJ4kT8B;emg&c7lLM0&|Q6spVr48b?)Wc#KzP5==1UA~arRW>I%QZeLO#vArt1 z923|R8CMCgq8mgsaGrt{-5?=Qq!iBMa5D;o$W0P#PK(=g)8dXU#J$5{Rv`wGfuNO34 z6jDJZ|3z~HMY6$`#M?ly`5!1UX52XVyJ)(xf2HZ>{1Z*r4#>(*&733xQZVAjAxcuv z-!jwip#L&e}=A!|v z3o3vx){AC~4curDC0`t7+0-(W zy?Niz*c&fG70^*bIg0!E(3hkF)LjDgXf{jb1N z%k}RJj6nYgeTE88Cy=QO(`SI?FH)~Tp8+U@mk#wAEzK(GfG+W!UX9`cE&nEX0!H1( z8O?93%)xpC!DxQPNidc`n%|#8U8f%fR{NxTC%JaPbGC?#NpMHT6NSLvut!+iWZnK( zI&v)XMvngfz#I7vQrv`q(@!@b%4`Eep#U3X^@E7^O$<324N6XZ@kS0>pmIaZ3neFe z3Fy1_YKnmr1h;sFBZswI1>p#S&8n3s|}bw1IYDX z)DnVs^mqDS!(1Q1`y=?sbAp+dSwq?eX8`2*^iIuKP9Vpp7SXrS2)5DRG#W&C6bEe2 z5fYEaP#jA-oj}_afkHds{&8c1!G!#a#jsr&Ob9^fu_U>_`~>7x`EE zD+alCXYK8Su4Ugkk^u(UNlCT*n(JV5{TfuQpKY#>g7p=f!4f&Dl1yn^x+APo=bAlq zPmP0m;eNI0Qshwd!u}!|w9PWX_1)Eh#3^tnS~U^-*Dk70Mcsz~~IES26NR zLe6X0Eavh-=e#rVmD{MH>e1mfjXU2MB_ z>iD707Rgfh-FLdI)B{x0^3s{E@xNaB1Cv)Q@FHAcM?HgUH+c8oXc~>x_HUYuwY2#z z7X4d;0~O~x7Rlp-2+^&-_@}|a5C90Ix^k$A97ZTl1f^(p(5poo(d_B59%GfE*^@u3 zTKz#<$K4=Pa0=~_QT1prD`@)}B_p721EXrBuK56V;R69Z|8sMUbIz+s&TbJB*C5e% zv$zJYsv2!`LUiUT28fpfyoq523l&TI7uvkVWc2EMlg&)dTfAU zns~_H!Z3st>Ib2t2!g1LTvgAf%w$u)IH7vpKu&;qe!x#AUlsH%71Mt+eflOPgK+>9 zEk495c9RPHRFiM?=X`9XMK*2Ywd<855POg+_jWa~2Ms^p0MX#@w*pPb-aXb?ohJ21 z(EToJ8_|JZ_1JR@DC^%Ee_|u^e(+XYNP@Q_D9bC-siwXSASmc=|G~eJeqK;322WL> zBPKgAR(?{(uog7oUt0#aH8q6h?al0je9wc9o%`0jl|%M>7>Iu$hY1n~UTPnGhfl6Rk<$0KkES5jY?dt0*<1@Ljk0 zBVru*XKpbPKQLG=q5k)Hwk{a`IE^##>RmAeuxe&!v#DbUKTCrm?d!G3C%wobKM=_M zuC&X*tzAdK0TJQ#1UFel&#K;Pb|qW{qmv1?H{8Fr7fR2S*sGF;uY47^xg*;Bvr7Tf*hl zm%-0M@h4GHVwY~m2!T-JS)-^iG@e|Lq7i|p@q9_dLEriKRGbic?XN~!6G4>-#x+2F zThC@>{S5UDfrZdGHe-dC6A<;S1y-ohtTT8Efir`~)tYf;nB%`qqbUw{#s0=By~zsU zAFa}rK!vIjmWV4vj4MZxzuPzGAG%FbawW+iL}(0^X2KvuFoq(F>k&eP=1`x#RdyMj z=`;(veehO6IBa{yTm`0LGXy2bT;-ZB8etF+6uQ=wR%wt&1QidB8=#foCuv|tL+cn} zFq9lfdN&iJOG7{Vm)h0W%cA7TfI%K&n5O%oc|_O`^v$d3YA|GHx<_Qf*<{F0E!O;^ z1*{x7Fl4)SRQeo8Es~=gUjsF40&-vgOZJD4KL2c)!O$C4rY(SbXd+d^xoiSagHryM zR4o8N?;C4*Xoz+LS6~f8>_lXN`%v0Ad^=)tfdt_NnAMjN6L11-$j=j|FZQLpzqKz# z$G(?{?!$%#PR0N}_F`%d{>F>W2LlFH5&jIWp(JN7*bK8BbgLE8lv62eh`is*=<>BA zbh|)a4z`xZq1L6CS{FR)%YZ5?1!n9a7ZA}+X!_|A)7rHS9_LWVRa>*-o9Wglydm9? z1%x*p(hU`V4sR}B>~osDbDM{(|7@QFSS}D