From b74d5c53d6cf8a894cbf9347af34a3d2d880aabd Mon Sep 17 00:00:00 2001 From: "jiangxiaofeng (E)" Date: Mon, 14 Sep 2020 16:12:33 +0800 Subject: [PATCH] Update readme for security subsystem --- ...6\347\225\245\344\270\276\344\276\213.png" | Bin 0 -> 12558 bytes .../readme/figures/declaring-permissions.png | Bin 74174 -> 0 bytes ...\345\261\200\347\255\226\347\225\2452.png" | Bin 0 -> 9833 bytes ...\347\225\245\347\261\273\345\236\2132.png" | Bin 0 -> 7247 bytes docs-en/readme/security-subsystem.md | 80 ++++++++---------- 5 files changed, 34 insertions(+), 46 deletions(-) create mode 100644 "docs-en/readme/figures/bms\347\255\226\347\225\245\344\270\276\344\276\213.png" delete mode 100755 docs-en/readme/figures/declaring-permissions.png create mode 100644 "docs-en/readme/figures/\345\205\250\345\261\200\347\255\226\347\225\2452.png" create mode 100644 "docs-en/readme/figures/\347\255\226\347\225\245\347\261\273\345\236\2132.png" diff --git "a/docs-en/readme/figures/bms\347\255\226\347\225\245\344\270\276\344\276\213.png" "b/docs-en/readme/figures/bms\347\255\226\347\225\245\344\270\276\344\276\213.png" new file mode 100644 index 0000000000000000000000000000000000000000..fb9c3d8c66673f5c5b69718f59bb09dab16e48a9 GIT binary patch literal 12558 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 literal 0 HcmV?d00001 diff --git a/docs-en/readme/figures/declaring-permissions.png b/docs-en/readme/figures/declaring-permissions.png deleted file mode 100755 index cb34dac621d30de96efeef18f8b5d4519ab3de8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74174 zcmb5WcTkhx7yl`uNN*w?X+c`(0@6Wh=tX)HrHDu|^cIvNO$0*dO^_lTDbhhYBmzPx zf)ptM=@39V*$2O${muTdvorh5WSE4f+}wNax#ynu>m*uVSDlQQk@&`q8)Og-6~h}h z@CJcb9U%emiFw$p8}J9u(@_2Kjmlx>b>Ph{CnX)F8#lhhlU&%{2Hq2SXqbE6xIx~1 z{le>a|7?Hb2CfjIqV&YiW^3+FTA^yPq(^si=fp_4%dGfrMrU=URBQ|pKHoD%sD3D$ znzn|T%56@Ffk@snf_owyH}maPLxrV^$?tB+bZkfs$)x_0lM@#6qVUdL!_5Y6Rv0x6 zcjy|o88@5_oto0-PS-l6hFmPOVwyKAU0z%tjjDLK#m@PWMv#>2OkGT+rSkRBUG&cT z0R)#SXl)_lx%wTtT|ZSx_4L1gg%Tx!P_Kuxq%d2xBZ7fDO-}xsmJ1fJ%T3$V(}T5R zvc|mY!>;ss7bu!dsQFKR4N9;DVL7*9f*I6L6NE#a)!oCHne;D?|9}~UR|sy zH0a2XT_2ebCpF;`Ti>%~8iLlfZ22fcPP$QdbN0fqpI9$H@AzbkJXc##WMaHNByMX* zf&5PvDMHM0t`3V+)#Ww}Ff9w0Zui_k|7#QP^T+6lDJxH%%gbIN*p~~m!ljY_XspeX zD{N{<-TLIa>qCd}u1%8F*H`9JS0~GxecAo;f4^X6Jx5%beE;_tXYDjl+s$Xbo7uZT zYc;2HTCVX3N@PBt@x%&VTezMGpYoso?>w9(5 zuVAvYMfc*r@q0s*WWQrC_vd5S#&ktIU=ApAr|gOH|E{G4u63#tw5a=R1s&wVSnmdy zPW!KAqufKze~G%!x3=R+{_9X}Z=h-ZYKWZ#FO}@M%5C}ou4mX(ffE&PD^6AX&kBsX z<2VL0V_LsWzxJ(l94cM-cDY)ujeacQO*$qTe0G?jhD*i^nH?Kx&XNGxcCm4Hq#t|B zebJB}wD+&S8~?Af!EUthf~~5?r5J2O$7RLEj2w-mfJ)WLsp9j=t$2?9ksZ;L7 zq>xXzu>squkqJ}V;4qKA&kFrFP*zAR3cYHfqT35J)ct-*zYmriGS+%3_%}EccY98@)ewb62$0lMJM*P&I zw(HQy%!P~9vyk1k<4VllrY)|y{pP_Rb%o}$RJuQOZlM!?qpEbt!N+qAvis3`;5+yI zo(`Rp*q(GjH%f|ic}Npsv%Bu&Zv+=XzQiJY>;LcH=IR{zL-1FJupo7eX zEPeX1lG*TsBFVOr+5Hc`V41CI<k-}+2@uS> z$8UnrgJF}B{R*5qF8}iPGka>wW&SO*y?l8JSgTF@LH6zwto-F68l?a{z_eyr5N0=! zw)S2fv3amqdRY>t@9XhOS=4+FsYH)k5jWYfI51U-xWY`{d{y`MtNADjJ)v?tzx4@wk)tGuE7o6>igKs=7{Duhp8S+IEcRY>!G!jW@sV zw*8$cgU6S(?RZ4WyhnCf??6+rc@)7fyu`@6*5xDb$o*0B-k6%n#Z?7i_+1!#kA-kp zp$W3l!g{}zMD>(w*X$B*XEA>G8LI{NWRped-N&TL-n;}XUYaj*98+OwvNBjBYaJvI zJQm8v1iALRuO7|50zsN;YsMInIKmZ9)>Dns5Zo?qqJ^IdgU@>M4V#NQ&HWUEisiP2gS(mL^>+fM zT1>RCJ`F9_N2nV6QMq0Jkuq#m@V1M)A{?w>)S)r-u)>2X&0BkMKkPU9+4fM?0>N#t ziF3Ume=c}V~sfZf0a z%fS&cZbB0O8kLB_-A$Y0W~PLdQFT`9V%LT_pI>LV5ZrOd=D`9mnH_*Nt;B64XjN=; z#u5HpvWjS*O)=H1#k_a7(za&c+PwsD8KxXwFG>d3t#=duS_u>3g}}K^t8iyk$#vyg zt3|X`dTb-W0*I@uddxOh2WorP$#)=P{PIqTuvyH&_x{65arLW2ewWcmvmY5o(H2xC^5E|CMDi_9W6}0aMHF+ z|8IDAo@kBfn%iN2krn@2>@S~+%O90YJZ52JEJdejVC^UZ&8&A31U)?z z9hVwoAIwaaOe|fEakbc29MbzecTqt1V_u$4$G!BV%4b5sZ`nt(;Ys;Is0TO%)9N^?5c$K^Els|bJFne7dqtWW=VDAgK^0YrSSR} zV()pM>_}|1o=sH!3v256%%9CB7ACov#Yw&cDF9A$_NCuvS1#?IaSBz=&b{2eYX@~Vs=QvXnaGn;KsvTFD(IH;@sP=k zcvI1n<(*{W6`nS*SPCt46B$Y-JxN-j$3fqs<|$c`U1NJTmdeK-uxih;Q*OZI5kPUb zn&h5=j2!peUBY=6@TrYc$AxCu!(XnMQ1BBI&na7Yfw!4So#s3}V#x1uF@!pQV{o*dEUqu+}is#>Hr>VF{vuz`Pq9p7HQR9WUC{c&EsxQMxIUM57 zzJ3}nksi291yxqm#pmeOG$tpPsa{Ub98$dSql5RJ#F(}|i}NdIs-Ya*pUO0)?087* zf)Z#bhZZ?wDmLR=A4V^*lTN-QqYTeJb-nhyX1KIEkh2APljeh)GBsfYYYN(|0DW8G z^5O#q_FTk9b`B?byUS1l@ayJWwoGA&#QMpj^wfXjCk`0-*x{#jO&NW2lX4z(c3a9_ z=wA6$+roj0MYMH@{Q<)mJ6yV-Icze3J?(UZRo9oE2nxT!@f5YJ9TSM3Q7f{Pf1uS?&R;NhL-f~Av!h~N*)_e)tzhz% zx>4EB%d6%6PagZkXpQ*cKlh*XX_*>L58jxP_;sVjF8C=D4vN6jtvl_LY&Wp2Jhlig zt7_Ft8#y1WbdOSJkXjvPEM;jbiuV2kyOMlRFqB6$9O%80gN|y)CRdGbeq)}JOnkU% z@!3~vFhKH&AJ+fsbj^Ld#)eKm2m8mExoY~+=fw<{N(Nugar=meS}puPnf>hWQ@<`$ zbd=+J=er$}tld2>W4-lE$FhkqUYq<~^OXcaLGQY$ZYlhJ!`fkyR7jcLcA9OK%BbFl zPvggf(h*w0mZkfprtXi($Tnkmwcv<%!-dMTz*;RZ;@2mJWCCJe=$gzzQ|n2uQ00ik zq=um^`Rzv+d)+P9^FfetIGvk z8~MY+PcmtVFz=ThDRvTY&8e|*HW9)9|WEXxqxAcCmFt5%01~;*e6;Ugd zwZAMqYm`*$)U@WmxzSbf*|y(zfuY?Im6f%s(25Li+!)4e39@)-7ff^Qd!d2NU}YK> z%(5O4lr5?0tGLo}zp zkYSS6%IGwvf4@T!uhK%OB*M|87?1=-EvZBv2gSEYp(Oc=vX)BiWc82j1+w+o&jTK zR^-({yR~eaOu3GeMF>?+bzB{Nf>EU%(c3}7j#MzqZ@eT^&Cq$T3JGXE*fP< zuaVlKo7{spEz4}D@*uU-_>r@oNsj&^PdE6Ucl4%%AaD5^Mqqzyk3K)f@Z5K?vkzu^ z@mc}cS(m|mPA*>evzX2eJR%rfr5qWuvcE4Ysc6JK*3o}I@QGwU!^_-_BvKcf00AnE zPvVBSdR3$1GLwo@hcY?)pBu>`u0LinvA)`zD59nk+;>kQNQUw2AMHN8a=%Sj9A4aT zV$o~QS}JhmvE6HX6AfM&Pi2Po>Sz_+xdBR)*^)v z>emLpeQMUjr9bH^^PcLw-FzyI;AJ#=0^`1a+}J-s4lyZ)l4u-D{mH7t=U+KZRw^BOGHs^HUTlR#5S}qd%Q*H`sE`2DxdTe(-I5 zekmZ&B)~(hG9e@@nXB(1#gVG+QV^xga2j97^C-m^IgJPdwZw20<0U)qq&?~DqWX&4 zz$;;5^FrIT#llT}G&px>wz~4RH{RYX+M=ZNJxV-|2<275xSu_o`}UA8f=3{IRS+V5 z*ECy-NbbRGmiEY6L9lb1y;_ik&$g~Kel$7-L z8aGf+X7Qc1gbN{1**_0ct)LLO8*>&BW!2YNAXAr6 z?1R62XxdJapkbFI&&&c5Ut@8ikobXebK@ z4HF+|zN1F@l^>)1`<~y<7`j-LGOPbu)nhi9c zhexY2i1N0BHj&{wp}=Vrp9r7PW()x_&FCnS0cgUmb~l|gk)(VH7%AxtkwCofW`UR9M_xlSUuLzX0- zieIMV8*f|w`aw>5e+cW5Dk;V}<3KJ^-bsw^6G8DJ!H}^n)k%LKg!}eD4_@L?@ti*I zjDD`=DrRirZQPZ)Ub&J{wZt4f``wIrg2l+Z3DWq+-8#oHXu8b347_m?$#5#lH3A&njx{9 z>q;h#0~J0!75H6v7;@1JW8O>syf4(a_xN%nMFhCBDmT8SzZcS z60Qu;pk}^(1W`GaCTQxxd9p#5Cz8OwzzTDk!m@-!eQ_%w}-)T zk9g(w*`GMT;sa+tS-co?8RA1t|L)KEoV0J(@+h1I%CrOCW2RoFv~mk zM0;cnQR1{zH=j1i#i7W7O~t3Zr94Q2eshDj=4FBUG?NGW<86(WPd}+BsV517YBkNx z2(_&_C~u8CR)r530XwL1ca!X9nmbyC*_`+7lR>;f=}!6~ZA`x9P8>dqgRywASh4B^ zwVv>TL+^spt$GoY0#Olt{i}4=&9vDe#p_)8f-e-57 z=LJIBb8#{dII^1!;$J;;nrJ%dW-%29Vv-|l{rtfpTt}+<8xI3ZTvu)0n|tbm zOe{uNLLM2;h$7`;uHt1QVd>&wcP|vNj@FpQlowkeB)!HDk@s+#y>z+O?R`o`OSOkK zdwR1f@g3G6k2vmoRJZ$Ml$K`A;WRRZNt1XtKYm=n0BgUu@fo4i)Lmc{9?w%|V>6;~ zf|TV-H$;_Gu- z**qeog%rV^$QZs2$ZXC%aZd$RY<_8P29?ZGCcLGRME68lopL;Kn~9zK237<)rr?!m z)z%F%bv+j`m>qz$Q|9?N1lahMSAQ28`y!%#zt?FSksJ}8&?1rSUGiZiIynF0!mk-9l@CM01~eN_1MCQ&+z#6~QP-_qY2j3A9OO&)Am zvhe6(o_+h=hDC|$z#l&S;Wlo5EH?;(xN=U-2v}DCtv7%obI(;EhV4Di6Pg8GTk`NE z{NV+AJZ?Xl-oNBE$tLyBSVH6J?7yxxd8Vo1RK(M`zEu>!lk4?KmWNoAv-nj7q=u50 z2mKnX1v6)iLfm^!W@y3F{63O2q}+lS{gA#_D0r+JOZgz8FV|U)IBX2zwg{o<)iNNV z8)eI?i#mG?HE2*fTKZT(Ra3LM*1^idwn*={@{k@=nuTH7XXDefJ>xOLCz|@WKf(vs zb11)08Cs&BlHRNZFZdZDKuVleBc{WApdFgT+u#TFd~AEbhu+sv{#<&T5}ahSJ9P9D9Q62ih793+!0$#m3Tq#{B-9u^Wc zrGNQdbkQ?pXq>8neuGcM0a-WlDK~LWHNC2^dwF;12h42ECR!0bqgB*@_&ESQ44n)+ z;tgK<<0fht;`mgtMax(0=0E}$5A(KewsY0Mle4-)f=@DFLECW1$$D`r z;ELc38DMBC>bQkLQs=3hB~ySP5A5`9%2|kAU1N$#U=<1+$e>68r6x$3fh;OAc`TS5 z!L#)IUb>s3l!sIA7i_>3XoLv+>9BR?;|GMK)}2nvObo^AD^R)YqJuwYWJlFkkf(Z; z6H;HEG;N3W)-VecjaVR5pH7n=o@*eQ{EYX$wMI}!lEb%_Xg$(9ZYw#ldGTGAnKQN` zmtj23L?^w6GwcoN!-NtY$*A!+6p)uf1L+Fr>;ZYnu@@uAfhTPYG4D--IUz1fSDUQm zP}fdDH(HB6SE4tCd~uGljSxxrxq8BfulW>%z80m{X;KD`V^1f0zeTsSb6cHCB*zpO zy^G+N$H(VZEtJ`!4~t`dpB|x~`n=xwGVHe7ob5DyLiOjS~xN?mwu*JSL!16xo|;hs+(7gAWfeUnYEV z*_2%=cncj#^i@cQrO^`m4qu!)nDdw+vA?^?`6E>V$mI`zNL#=1_`(K$ePV-1#{1S8 z$!vJZeE;a}Y`NXg2k91Yd6H3n5P94havk|1kfe)RT3{ezmaYrl!a?XCz|(AdTPcWR zMd6<2UVP$CSyxpvwsO@ee^!u`E690#f8W3-Qa$@>5702`^Yoomt#i({-Qx>{Xt0H4 zsOWn~5%fLG%rJ^**$W?LZj_Mv32~*@v4{E)ZypHJWQEhK=8qu7&VmGm| zUM(2IUv|IU6L<3HnZJMVz|lB(zDih3O#CXAZ%gPKu;Oe(xil@3z`^Z)HvIj?uh>vC zJ%#1>76izpB!fF^>Ze&WVGM2xaZWSe&0LK$MF)^?`JSzsTAZJ{zxWerNean;*^j0X zD?e8IDwVH7gLSru=}l`OS_$bm#rrhrrAL26e8-t+>VVWzy4lXKue=3;NtKb>8S7*e z&QMz+Ozjf8HxOFw*v)ZIm-^$Q@Lapcy2=nSg=M9S^pt&#dZEX>Bc!U26jmHna_H0^ zQJF>GN*2yWE}i61VMG-!1jsR;@^Y}RNTRJVr9a5eEP znNgZC-qLd8$q`tj-5-j@>l!0;ayVg%XBM@9yD2acFCX7!)|Eo>)?K(7o$e zXO~gHTA&#)b!@X$Bn|2NI)d7rFOP;u6i7H-#j{5pdCpvvVZuv87i21pgas>bsw2=Yl&)LX;K98y(am@j|D{0UFNbWr@acK$>m2P@oN1`9S=PV9vL{r9Z`vBHf4(a?0U;itpYM4P$BWaWPQ#|OWD z2-8ZK!^fk|d8AbBol1wOuwwI1p6!12DmUOeR_R!?K0J_20e97QcFJUr%|(20`;>UZ z?oZGE9ky6WCaJb6Et>b;F*5m~R~M0kftmOLPfhhBli-tXhrMwlRO{!++lx*-<%`L7 z=HS!IUDT}plh|&kErZEmOf{Icrs%Po`9Ou0K=D<=vc8$NvEY(M(>=S_V2ZMQq`_X^ zMX8lpW#c57>ey_TXK zFzN~xDFA@r;8x(gA3>LL&(5{-&wv1#metj}u4g%{m!2?FL9njBIdgCmviHqv15%ia zba$x@v$xGJyWGDndoQIkxSTJ?exnt?PT4AV`~9?s7&-}OzidNEr!%o_Jk<3%VNxYz zA{ujjIjlyTNkc8+_$cTbO{u|Y!GLnXTP|TvnzgZp_IlDgcmfoK;*Gc~he3deAn^HB zLE4YQo2XPZdZj>{vcL8`G}j&T!P8Q(F| z^us{#ZlJ>+KC7A0&PtN{(ywQ+;uss;8C4U#;*%x~t>nO8zmR)V9r7I9^3cR%J}3M! zrg>owI($NmD9!e(tIj*Ao1_8#^d}qKMW%M5$LH?`V|7wM-h@VR68C;S`W;xhqAV>o zXKf~y>6IN^56xiUywXIBz|J z#sK1hXw+e7n&ah3zYB7^cI5LcwPuzT&pO}nL{*9sh~}0UfBDzVXCC#!13{0;vW~(59FiDptXM_ES9O|(8fm6>LCkW-&lhw%l z4#5p?T{DX?4fZH!6Ut8~wBbh3mC(Q~gQ7@dh3qUPf+l+UCr$K^NZT(k_iDqwSCVK2D3QjLS|!*fpLeq& zslyndB5z8d1ZGsJkBr>pn+8Za(9aWOF0(w5aQZzye&=-BBVk&l(DrBgQqy<($&%7NJ0}(hrI;>gJGeTx4RLEpU-`Jr)5PXPP`=|lLde;5co{{QD`?;-Gx%oWi3fRuV2CXU%n`FBc# zo5%6&y0{zu@73{)=-HUjYx(`h4WkrLcK;t)BVWO0_fay|VJENRPq@kq=vuy*{v7Sd z_L>6DUrw<#d-3P>>B3an=5TwKX8O}%-*(S7wU@cUe@iA;+Rt|^aSI1I$KY#dL+X61 z7NvY2o3ODe5iq&pXX+sSkGBH#Js2c;APH%H^0NXLAH4M(bxm;8EWplcrli7jMUbGDdSlhynNw|WO>2EDk_b;RmS0S| z|D(ywfYbf~Z$GN@fN}Z%*U|qkP6(FA_p(uk*-XatUm{3s;`Ut(#7h<>r!v z|B!_|J1{UDS(5HHZCcQN7GJQXYrV15=}HnmLyp%NmZa9n90?y!SQ=yjT@ z*|iCi@(EoT$MerbC*Se9Laz4XL%;y4=;=REW@B8TVpMGlEYF*`Yjz^bd(s>;5_09~ z4``g`bL0Swg+1=T1$!}mwQc-g8=?VGlrT~CMFo}JY5=F!XvmJUNXEPEvwuVQB8{*J z47qvpRg2}n2TITY{q-LWsqz2T^$2c=OB^aifd85+B%u=o~iy=$VN zaNSTQCcyr9Uz}V+o$>%-HQ9Zu9iVzrKgG*8X93`+chYd*{O2TR>`b&W8ISY~To&S*ZNv23)hox~0I00=YbFfZHXz!v6vO|r4VXKu{KYu|FM}r~EP%;1I}6w_ zWd-O#CAk#p=o6c(? z5;|dQnjA(h{rL(v6>>QR?IPlS@@$i?ulYt3TPa#kp^Z8gFU-`ol_cg>&+!QEVgz%I z00u-?k)$jno7$KIAVx0q8n|h%I_u$<|MCxTjbw%S$!#f}oelcft$hiA_uWxA>BIp1 zkg3$k@32j=*N12Bz$E>dcC8c_nT`M|6LchSzP5EQLI@nVU2p3DBkcYY8z6=>y-kAf zXy;DXh~@9jD`-OT!%@CMd1ap?dWSqaPW3`~NdPJF82Oy_{HLZNz)uC1I$R@Z$=3;F z_^B@d;swas?6%|(tut(<`xVTIb(lv(bgx+1z1CRLwlBDfFz#<5sfJ^rWyZ!8Z z4hG|)a2%L*FVhzG8{oVYn*gBC>R?^vQ>6T1-bAQ4CL41b=5%6h?*}ydV1pOJ3UFjD zS!2^9A=h)fuLr?B=s6rubNtt&21SX{##Bj#k1i(=j)H-kGhbPgS z1|T+3%Nq)3iAZPSRx}Sc`q-I7drY>SFfiIm-kiEe&&d17OB=u zkKCk~|G_VsHGm$(F;2a`bKh((am4{3P{K|`M=ra*JIw|0NjmQ-T%HZZ*Ws7N-{#o? z$bll+(?PvT{F@+N7W?ptDza!j`l8~AOa{CfLhFEl%WF9H)vF)Y*9LD!eDz*zn5P3U z^-YTfA=rMbCOL$5lGpYypDwvyc2(paxHYwH%VFYXl4PdJ{86QEGQhXJ#%#NX1ZKB8 z1Q#w`)43D*h6MerAwm9KcXRY}F1MUgt6)cE6HuLyBBtK{mmBbvKwt>@P#s>a0H{&! zG#oR908s~S809vroylJ;QcURxgU4_HgJ8WpZ8?uk`G+-9UmB>h7#Dl%l+3S6H1J;I z5*z!0V0D)|At0nhp#V43Y!g*y7O8MH8eb}&Y1bv#vSoP9E|0HapGu!JjRd>-_ww5q z$OGMBlE3C&J0!u+diEm{89`@bcF7?XIgq&{K5-7*w=xCSOJ{2}rO}%S-C)0S+dKpU zU&{@F4XuS-^oKklG4q$aUYFBI)5buMJfot?UuLW{lA?-=V{sZ#*Gjr;2U=Dy4ha6y zv6*2%s7$67Lax?ACWnN&b}A3#mZ;)C_aLsW7I5bw7yyKRTAu}wrMd6npiSCD)_^~G zM>rOMGQ$=M1(%SLkr|5y&!BT87}b{I+=HGEp%c~b`-eF#sl6N!r|{hE8ZUM>rOi3g zbE(sapV+ptG^%bBy^vzNe_G<=EFOG*%|v3Zoq|g1ygKmZw-L`??g7BBITu+bWJ_=kU`_d& z(r2D0p8niZPW<(zYv%c7C;t7tHydto2UQ`LE?ffPp|WQ3;1K{M_C@@;x+Y64jGS`( zR~Z4IDrLfVs%5_3A`sk$66$ExrAoRxveU9_BcNd-=t5@j=wmilU=Nl0cy>*>#!7EM zoeS+C^sXQ_Xg}80O8#~*I&-^Be(bR}KebXuk+{QE z`*B;>yj#Qww#c&;*e66(`$bIOvE8W#*~UIMB}9_T*Yng+a3Ap*{i<|RrdUC z@*3TnOd5R|AH~&co>mysm&+KXZ}cI`heQX^W%Tk`p$dYV8e_wzr%QT_z5qeJ(ckao zym}yB<*$>?SHJ&`nScCu*PX!{j#JMvV)(8_MB7tLEziN6e!)U;&QUjq+B_B%Kl|$m zP>j%R-}wLnrxCcl)8#gHkFhwB^F_L zr%v1Zks$L)7f#4XvJl&M8-)Q%gPQhh-#R63YM&!x6ZoHldIbliyI4ncZn78M)iIyR z3a#S_a0!!0@`8+Qaz-VLsevJ%2k?0dxCVzDS$p2@eVut(w(;(}S!mH?Kq0Z?G-3)L zkOSNT#jKxC7q{j&fvhOpPAs<|rfo!fTvEyJ1Hw55Po#wd&)=GFjhO^rJtv$M%2lCVzfFTQo}48%#Hn?O&GBCn&I=kl>xACp9(xR* zq)V*z`wIk!_3#2-6PG-s;q=e)@JH;IY!IBzsl~D?T%+YWbOkKuC+Kvor0oG@w5FZ% zqqqi=#ZJHPinH+Azquq7_#VA_vCotct;0W{$iQ|V6c)7gK?fC+IhVI&WK)jX*BIMm zm=vwReVG?+Cq?ZTqCd(2H3*C&t*~drh=|mJ?uN@> z6TGScrPIc)%cGNrwZ+?z7FgDD^8j%U$(=_>z2hI9z>G$57u7MXx{pUWIqgxJHGg@m z?4L>-nzQ3=W|XVi{Tv9pB}*p=6>A%)8j>2I6d}CRdUNs3Et8aWD^T+5YC$R)_>mjC zf<{rMI=X6}PW7ez8{2(z1&4K{Y2O{Bip5FdBqEvCj=>|LmK@nJ*Fsq3dsatc_k~i7 z-00_wLDl=iFmGEE?lP9V|JDy683nH?PM`{7NdYsNJfEkz38vjOUFBy3^A!w0u{o>? z*m#dN>>H3yd`3)N(Hf@}D8^pYMuoR>-cs=-tS+aKL;;;@x4+3S9n@z%6A`Nt-lvEeHPExOT;Wx&V;luYZBaHXUXcE1;T^e62BEa66DOd#S&c7Y0 zo7-$Y1P*o7vGBE5l^*PqW6cA&4RALjrZ|wy z$KO0M3neE-HDjBpxi%b@Oz`mm-)_{}`lQenVq5+|&K&8}TIV}Dq~6hbK2I~F1=v2> zsD@}l%#eS%?x+2o{4i9*&u6h`eBqe_0S*tu#?w7*=l1_Rl35_v^G$2AZrVsP+~xii zaimn${PX8ZwoWl^+m3e?zdCEMm-VM3#;7SPM3PZ-Yx6Tn5%bOZ`L@IFotsPbtAD(c zeOs4Vj@W#w0)JL_-`tD~RKB?miR}hi2^3i|%Z^rAZLJ*f#d^A8ddnmRgb#KS0(O(7 zKh77Thi8llmJ{88mX0fN4&I1RD`^St-Z57BEkPMcYB>g7Q~cmsd| zA4v;GviZf29qy}WjPbMjWCVnaDiK6|i&kt;PG{*Lr=^VSzVpfvOH6F;;P_^dfsMvt ztNN(b8l&SLV5C!g__wc(J@F`RwxFAx!bWM`_vc%FRI5zpRK64$Q3*+R1=oD0_?zl| z6t6A;2zkBr?Jjz&1}|HrbT3}=YwH#?os4)smIVs~^XMT*Tv!p(E}ibX%!UQlV_)1L zeYLmDXrdGe@vg+S1XoaY1msU7UnmksJq1d0${fBCdy&y%{eaY`Rn=b(Ws?kM`QPaPE1vke z`YqJ4q}C9F3M@(gP`4V+Ns38IX?Ufd+L3)0sJwe7~4Z z>h{2N;}xfhodd%gS>8J;1WTUn6#<6=q%du=GN-kv2M|8X@C|V`ZvolJiKI<9h}yJI zS6)l9bl*-&GjaV{Y zx~`4jA^@rFTP}!ZyRf*dW&2i2!uHl)$lhA)JwrH(;rj|NT(%Xw-h9->-W(=%vY_`xnX*(U1gCdi?>GaNJ|`lfEHoU`UH%NM6ob8ER}hLO*^O&qT1 zo*le?AFWDsMUz1aXLAtKe-O)_yeh*@n~)s#Bu{|54R;m|}N5f~vp> zvI#)w@Hrn$#_I4Eacs{P$R^GJ+e(w@H}{q)J&fMAZ-Z6oE9G z!&m(Nz(HEr>(W8*TB5$}6n~$}bxo5`;(E6tWE01)SvqN!m&>D$nXV?NPN`<+xu#|k zhEj^m7nB)FF}Nb#+E&W^BmESKK@i&%nRb5b&tA+@C<5!T&kP-3y>6^ zSFvT{+%?LI>Y1^$sld#Djo!?b_ZmzV87A^zmA%0Fo6Z^!2a}VZTO{0eXp8?Me4_XFIkjxwN(B4hCwita?!# zDJFDknay=OPTdJkgjK8%4&|Pn{3P|%$1)1k{qsP+q7u}2jqO)cmMC>rw(M9$ z^Y3;Zeo=GYPE3yDxs>n_amd7M;E>7un|OblUUOI7ueCYfi&SVm6L&!6#`9X<8fv@t zH3B4YAnrFH$Rr15ShOyYz(9WzQT*$Y_o?YKz~ZCHglzcjFa|SV29^GRng@^%*oO7~ zfMuW*>uh6{L1EUlojnq4CIQx+Bp*AnAjnq&gZX9n+cuq(s6v_JK~%zq4DP<0ej4!a z;t-e0v90AJ3RZ{J^t!(QV?<_GO`2Tc{QTIXrZEu_Cn9m{%WSexS^QC?S(^(lDQJ-K zZzA0-0BmL8&&0Uu7)mDynTJt34^CN;LgP(i5my6D&g)dl2E zb%5L{_8rLiIeFQr1&vE2*1j{nt1hpvh-NdGu!rQJ=-do8ITeoPg6tAMfLPS7tlqdW z39nb~;g&^5mWypV+MfiTp>u5(j+Ea6X!NW4r2?hqJ`N3}b#TVZdlD|hU*fsZ6m6iU zucnG;i3Q@2)5Y9-74J_{O;fVZACleDF2lwv>f~v5uzZ~jclCHHJAnei{0qju>q67! z4<+SEAajI9Z7KlkOnl>(yvhF31x3KN(YwmIbC(MeM(OZT7O~w-{uoH&Ke)pP(Y+xR zp_y)oXyOgWie2`T@z(rKh%Yg9i?))fO;>$XWVv0pvI?RDIWKEh^4HMlG^`3fA60y~Ub$gVi4WzZ%786F`P`WW@b9J{}9>tq;|)L#s@y z3ldo*@kukY8-EFN#?P9^Ptq5n`Dq#6y^Ro8^VfezKoTXI%Wame@uWqyt_gyqkvs)K zHj}XNJcSf?GCG71-|kxSj1H-NNfU&r0uG3rl7PsG`-bK$f{9C~ zv-X>r0V265OI75ykCRe>3kq;P_x0Uf*;Clu-(}n=n4hpc7pn>JXZP zqAc91NKhV=FUK5t6&Cm7g(za*_N!A!e}325wlhvv^9$C`;xgYhfcqUOTOfN{q9?F$ zG1>5vF?qd7$)siHi#nNagSBsk(b7^T9cXYPrJ9)_U)4cB>xT(fjYXjK{)@?o-aJ+TgH=HBSZe3#YLrE$W}Z0SemV1r^or3rm%*9VXUOP;ZegJdhoPDm zH=s-HbN4q8no_gCxT~Gya^>hYu{j#G5=cvcG2^YUae)pX#xDV)zq>aKm0{(iM&9LV zK}A7kL^*{_s)JIP8&d6loRDV-S9 zCN3gz>Mc-RO?um0fRT|ewmVprazW87C6?npEM?ju;Of+2qAJ9CHNsdy0NeCtmI9`4 zLVzbg!~iYJ|BhsELO2*Gpu6?rgvuMKUz1mv8LVo$G$vUxsz?ZpweqZ(sO6-n&(Luq z{n~{ADy8uw0{BG<{ID?b?d}hs&oM$MtVS_TEPsnu-5Pu{)4 zihze8U$Ak2Q{Q=u&5|tPx|2k4&GUCIjy!cTIvsv^os#p#`^Uv|)iuMcA;5|i9(uOU zl~RClA7$BUu@6*&tNRwe0o8l7gadmXqejoOZ~aSQVa`m|x~Zilo=^2r(HF2v3tbE$a3 zcMva!oQn%;g&7(;2NL{Bh0eNIZlKYr8#!0BmB+=+X)Bp?k=$(nGW;|ed6V_dfaUgU zgQlLfPW-0Jr&N0D=pWb(6^!)v$8%8S@T7zT1v(+V$a~S-*L95jV@mMJ*fv;awdQUI zYLAzjVAB=TSvSgw2zwzY#NOQF65yB?fMl6SPY=9YhsYSkM}2r}d$aGgK2y113m`av z&K>_qyP3s%i*oGgChJlCrb_01_3K^Bfe)2WNcP(O(vD^qWBbq^a$xbM-&e&Y*&CVx zMP_32B~uJ926T>w0m6b5DPdQG&*H0xyx3TsoxJwrv*Xwv|(ZY6QwqrN)H z3O-kgfoDtmB0=R!NL&FSlKkFZ*{9#Gy!U817{vT*#CNXJc?kpk8HAtc^gl`nO~RZ~ zm@T64el%|2(ptoOqmWSy4Sec9g4fVPSM$@u@MI%N;YdPij9X%b0#|C)l*6#A=BUq> z_1)7A;6{&urjpoaRXBHksj-gCG_Q$TysCY%JOAP;8+P;PwkD8cimVvegjoSuY z(UH}<6Q9=vBl23io@Zj+$OV_sFC5^Kc0|nC#`X`{cET4IST$|jw}my%_G7!Y2^Yq2J>a@A;r`Mw@d)U zBOs~EuMkgzpnL}XD>j&IvzCDk}nl=l~8y# z>eXD~=;MU^rYXuR$)qpR7#Pr#@>3D_jVDk5^i8f}V4xyc$+BV+Ey&(xn&tKxRfY-> zETG646{a(iL^XM9ln#5{8Rgae;TkMW^~k7AjaOCki!!rdm?-3GX!y7OkEI|%`F#E$`ZC0O)MmZ9rlWaTT_LgO)cu>di8;{9i3Khzu&G+aAr0d(M(stdV zw|#V2hQ(so+%2ugBt(rkzWacTj7*S&&l;%b(32T+WleS~I=MnFka zBsu8*a#RtQHVd>K*%Rl##&Cuu!Q?T$r-l%k3-6Bu(mTO8lq0tJ+qU>5*P_{jAGt8# zG`MC;+`I_0fL8YMRWim5Bp7y@wM!@+ZYrb!$rxz~WVRW(-IzR+qr+N+f3@p8oaI|A zm2TM4#p?s&(?255ws8|5Eh`18jWlb^2Lih13{mnFF9XIN1~px9-^&*Y;aLRr{8+k@ zyk*(ok_+Cz^+c6$v7WH#1paCv<#%*-{>pwo*2P}vlFSjdq&)~-k*6sHiMUOvQ;!YF z@*}+(@^>2uKDMeR^4qk>a|}cu69+ZmNTdkaZ=$DdI?v~4aQ7Ej9*WP(B|n#%>q)vR z7)c1&34IZc(I08*bL?`9oj)bgaU(h~Ir{$QuWajlJ*F|q7=7Cq?c446xYH5!Rvbo=lLi;1d-vB4!%t~v|6 zpDs>yoy@O#v2@!dR+ZA?M;b3i1aYS${7v^=FWSeGar7ul`kD=ec1WxLkR#B^!R6t2 zLo=?~h3M*JRko$M%#X7aMN-RO+v{`#(cV-EBneAxb3B;Y+|j!{VFiDVSe9kWtVmg% zXWh-UEm`%Whl8~8+;NlJE8}MfqA;g!)+~11ky`{te!pH^9mx@Ck6-yX)_A07mpikl z>NGB?Ge@q`+Ee2ygmIo?FT0xcr<@*^xOQVSGU8N+FQ?32Dv#|&b|?8jZ0+n)+oxt} z+K9<$BPS$jk@hJbzmjvL%6z;Vca!}xC@qw`(QY0bVb5u8Qc+_8YCFcb@y^~JJ||B~ zYv!+ei$(3jzGAf>leG|)L1|M0WvGlQ#_DS&&OZFY{mJaJ z-qwXD_RBSFiV?i0l;!i1a^b+V3-;+s?&%H8g_xC9q2Z1kNgJB+jD_&Ed;qFNr8!7E0G^x)7cz0fn zNSsp!ppPkP&iJOmn8(;Jkad_JvrTXi=J?sc^^~Aiq`ba9e2E;MpZik+`IJ$yqeMb+PY@DlAgjPu>gx<73y76q%m^P(v&ckMV?o2ENed zpZLuw-Yu58P42f*y=rUT3*i;UzuA?eS9?`lzp{6eKU?s#OVx39vcC3ls9H$8z1xoSln5 zyTa6>8(E5LrPXh@-OK%CKPe&+Y9}-7BP=ve3rtI1DijCE>W0lLQ_}5>_&!*#fx(Ll0Zn@>6mQZoH05(2}m9DEOGm(y$nq8Oj*am zXkhHEx|+#*MtY8$DtWWML9AD2T30*zX&B>*1othMhiYlR*}F~XGS*9Pwfc|(E^upo z-Mg9CRx)8DzKQy3jTTT*Kq~9tthQ12%ok{qK|{Lhff9_U5n9)Auc zG@Hh4Y;^f60@wxuf7=h;|K<`O9UDWN%xj?4dM7Vo?a6zPF|8;jn)NRgnT&Kkg?=i! z>N}$ZpE}r?1XgDf7>*`nqwHf_nD?Gpa*{mi)2lqAgd7cL-^j2|-d75h?$MumWYV_Q zh)OrvwOTO3X5&CCoVpbvodxe3cMm6*)WCFF%jphzwMJ^C#A0k=A3+J~;b1y4Y1%+y zGiQ@{$!-4I3{XE5=B4Y}WZ$(Ub7dTNi)_cn!mwT-RrtjS#v)8;q8RJt&-6{A9xq<8 zdPoQEF2DOFW1@$cQA^U@Lgu^(Q-e47CIzkc&OkWmX!qoVk-A3C;e>^CZ^zvb&Oq|X z1>W4OTha8A1;oPDh!ocGr0H*Z^o|F57Qn}XE&?3U(H=JyO05?{S`KXuyW+KQulUBw>@UaxqP z?eDZDtRX%s!W?B{+shQTaNzNHZ4MK~Gr7!a`=Z#7YT6U92ES5Z(m%727BMZcenFN? zj;5=26Fka0(CcSj0jDn@7QA)Zoc1XX zCnoTil~NOVC~5SCR;qHA4nH$M(&z+%J)}h#K$9<^rx|F)H-uQbar$qHr`<~&8{ziO zp|37k{G7taG@c2%f?@KFNTX>6@+YH=U=_=js>^N{=SiM`3x&`2b+HgIYlB(CxGk=g z(dRxe_1X(#o7-xgIxd?0RMiLUocG4C6*zv#1Df&XWZcjQy)_qc7?9a4w^_!bs5OT$ zT6W5%j?tMpsotHHWg-o8c1C-BKSTL{Ygu&ubSZ^=((K@S|2*O$u8;jxVL&w}0Y~+e zZ6fGQY|n)1YWSfQL%%u+Dna+@6WSNPEn$SeyBQKRMLiCa#}YA@<00Rx?sjLkvHH~8 zr&rh@^MQ9bb_Z%ZUIZ6Xa3=575J6&yG$v{ri3+315U%mVeZLR^O%jeg@T6F^;7z^6 zZ7cg%ZTSKWmSYYQh$)yn{p3;~G==Mkf&LxcvvEuG$L2782{17X#4`2K1SW*m1_E2N z*?mfYeBh4<^~?h;o^cs0a%Y2CI)WF=wpy<%SEUM^M2B%c`0|X?nvGZVshjHLOitD^ zVwv8sx9ANDrqe!gG({Fn!SpPQ5$yU-+6x2*7KgxzZfKP!^IGY-9LvznJl{~p)2jt!ysGNFy38+em$iguvwLdMDSu zoWHR@&*&bnfWX^X7~tZ^9;1EkJD*W6oi}Q7+Nq+U!*-{;66|@d&ImtdF^IxKN9moas!?JvxY8ts)Led;0=QqbqLCSlwUBP(?D?ud zdjo?>X~VGw#PR|QFF4B7htBAeS@w1Rsay((#bNuVlcZe>taDQ;d-iQc9hUE%K+T(k zcWG-379z#bUW31UG~lZ@HO6kS92s@2^mZm1S`c~(nJ48ga)T&0WmFS8bAdO0u|FEZ zWj+2PnIwTGIhk$)1L;h~{u1jQg$h zhS$Z(?4v@~bfH;PqxLINTRbc~&=}1eCcoAuMo%ajrP(V0v*pqKd}$_nz2{t4Zi{7- z3T$7fRI#F<)@WMUbGp{_bfNt*(AN-#?LbJ*r=AC(f%G0*2cvXg@IyrNQ*kwzee(<0 z1G;m@Q`l|n^W$%oD3S7_M!^W#rjRS`MP<&ZT-;bADt21=G+h`NWM26QH@$Sd`VflV z`Ge>&%|5c{?L#l8K~d7q8oW$<^tIpfxO-MOdvqsUw?vKV)=lN9eIfMUzR8#xMjU?# z#rbgDnqk*-& z<~%f!=5mk2>+{^Yx^QF^&Hxq|yCX+UYA~`@e2lWO6eY`_-oO^dVP;3`6`V^*%hFq3A||VGJ4?>$9to)W@md*Kq^HwIa;o5co26( z(LIRK!IwvE_q30SDmiPjMIlv8iMlo>Dnyz@L1YNC`u;VX?3JJ2ul|(0=zHotE8D)I zkK%z`L?TV+;b=}j>DrgKGJ3-%m`bxk-r|3%Kbx)W&L_G24d<1D|E*QFOnxZhq$*(( zP~^C$k)hRr?v0$;w*mE==x)wX+@mY*7zS~ta`zw|Y@Dhs63Boj4fgSSba14wkqvs{ zOmG@r;2E|7XjkRxLf~f~|BMK$#@-K|2zRK^!1v>`S*uYs44=K!p3LJF{;#~>4lSuq z8TKNA&LD~}Z+G3U3h&mMt_BX_A%W%Q)$#=~ExgaD&z)OTF?ydVm7h5{UimWgqoV%j zPrl@r#t;+YZ~cO|EW*P#w=J9Asdh*kA2O7}cRx@RtoVcnM<4r`Fx_128GFryXKvnX z@Y(lKH7YKbD&|M_T@ot&cse$v?u954lH{Emp8>}g=!t7e8Qa?MQFn|735~qYrAUDe z@}HjgJr1>;@*Tosj}~v7e?7WnWlXf4Nn<@2bIO5nULceDc)6YyX`|8D6k|iXM8Dxf z*gzrO$Q8#g|8UY&g<$9OP>N`s2;s(PzV?-xSg|9QQX+@u&hSYeZkd@eWS*Z_YK&iM z<fpFS$sm)se*YASXii9bHwxg z&wUQ=<$*x(=G5%~>2Vty0pG?ADx-Zq`L|U|N6wm#6XWtyn{%N3{@_x$(v? zCVO8II}1`%`pw^G`SV4;pCoE%>V zGRf6w-pa*5$kOEqSIB|45*gkj@~h*Nfod(Q$1*r_IX5f?dL z0gGFRu+qWGA45S2?)PJg^>H_E_}Ep(L));jq{ho8Cyf#WyHaKCzR!P|nS7F~rp9AB z(jd;8Ju%JQ1cbEDBeXeHzg^{f(CpIQ-Z&j|a|3j0-fKrowvgGky2&n83TY$;^QVbwLg-+;x zm4<7;@)*W@cr}$`EThKP>0nxY(9Qrol3+bY2qmq{Ku@I3iU2K4{ko~MPum<*wng8olq<$=fnd+@wy@c=<439gcaKw&4>Z zOv*%~<^!L`wEMDLJI|n-Ia2f_@?PfflRE3Vk(;BqDLD4|v^9@GQxqq80`{YHKqi!& z24Gfk*FS6(o8`aO<797gOkpQWh`O*%h&t74%DJl@#2jl6o;&JIu@AabZ4%rGUV#Iky*ssbWR8fipyQHkx(W$mFxH~f2^fN5l9_)Ohb*23B zHq_rzB=AS#sv_srSWNOjZAFP0LmAM-84Bpn00s6-*yueKv?s|n%#oc z)RK{qp=x&PrBQId^!b(i^nU?($2&Q)L0JHsQyk!54xqYzeY={YJg9d5z+O2!Z+daW zV_VF(4i7=P_lI^#Z2w8={`C}s$I1@(N8BWSq5ydn4}Af3gu(pW@bH*8fZE*+a>Z_` zwhsG?-SAIBxwA^F3A4gIzBw7;0=iEc2J8#73^28`0S#)7egof#c#R2+#N1uGj<@MZ zv)>G4}}WMZ6u^dn%tQs^`!B?-lZ&I|k}vni=jZ~KSUZYIqDakZ|;uYEwnMt)?< zHp)KDXG-Fz|NRApac4I)_t2jPW~P{8_ox$_iyZ|W^g-%o>&&;G7H~~OrRM&ZfKZpF z!5iot)__RJZkz+~)}s3Wzl9N?=K?6HBcgzc1kdXq(Y$uUnV)L$oPHfG3PmOQT`hMA zMgJQ*byPw6-yHsrYFjmX7`#3>IQTCVrRkFELjMj2fivDL0ZP7-idX)?NR(B){jD_~ z`A;=!9bl~j%g-uc?@iQ{Z2HHy2SBfF11yD^IvYb7Qx^OGX2-}S6$Zkz=xsbkvJC*D zl_n@k|MCyn49GBPb_m^WZ~kLYP|60VA3wZa9+tYlaZr~8l$KmlfL3W|TjciUKPpJz z2!1fi=>WEdQrsM)G$sCktgPJm|2m=>xdZ61UjGBE{|A+iQV&c*q&oiHrYJP6CXBrw zg%e)SK5w~*6v+ID)&gdVm+t;yIfyA8O*B*)*8@Vp^ z@9>vkF|#&2C?E(-L5agWoR0GoH5@8F{FDFwJ4vQgP+%S9{6imp|FKD+(o zZ)_l{I~(|N>;lf>2m@|J=lNPUl<0KdnTnFKv^x@%%LRtIQB5|#`V#8*x+@}Z`K&8^ z`0;6C4u+t+NS(MEP9h6Fg=lPY#7FDb-Blm0RT6F5A3*_SnU}j)NsJiEYXCXB@VEXL zU_XCp7wfMMWd+O)%2szjSlw57A9WMHOW0MHvm8v-E;q0I93;H@9%p)Yvi|6e2lZ7L z4<|4FbNfRfM*PW8AwB9xQ=;6js@G)hx1Rr);ZBdJ>!HI(8Hc%{@8{~-E58fkoU`BjUJ8n|-24D$f zR`?gFwQQtAIp}v25i?qk`GDuNdMS@)k7C%{$aN_g^5Y;#ij!Uv=a7qOV0 z4mbyX8>Rs4hSK~1BF9XUVYvi8(BrxRK-GXVc74DP_&RtqQ8Aev(Q)54_))OoV$bD( zVmKA!-Yrh59a$lOKia-Y<7ss7`r~`&V?1WQpv!@y6M{V>kzvWRUnb?i*ge;FaqBn? zn<4Ji`%G9NY@6w2krvcVc-uwx6dQoe^PX%<(O?F(iko@pr`^sUBrEvsO$cT3(BT8P z{RvFRp)NqDyFufj_wOSB9oL}vYIK4xH5dLUlN}(eg^Vuvo#Wc6h2o`p{i%Wg&8;!N zJaP{C@W;6tKM#ssZQU(LhlBxa^t2a0et7$kDs=0DU*t2*xLOA3V(7v^gxR=a9e4_V z)5{t-8vuzH>#V}-CSmeV9!RgYUGpSR10ZUL8aGb&$>Ck9bsTn9zgY}Wz1$3nHCu4V zs`Q>RcZ{H{;c*}co@SqkkSKK_UA4XhWTI(QD(5q#>VI*itWG)cG1@Ij9lKVjJV~|R zmcEx&-U(k$*@%gr|8J!PWZ?G2z!STC|$p0Q-ZF=Irb7 z?$^{@+LVs)u$82ElxWo><~Y6bhJdwchIG|uPb+}DtFdvU(PXhWZ7OriGV>I0#UaZPQvQ1&7JOx1#i9Sq z!&w;v&|@m@571EF)C^q#*B%a-dN{nR;J{A;y_TNjimtQnr&tu`f!%z^NB&IA{`GHG z0deFYrlW@}h-`8=hCY?_vqmZ?=NSHP8qZrS)6SS+$7ou(gTXgvRa*Z2DoemBu_e zS4#YU#nqP3Gd%Td)_V9ykF`RH`j4MVyjeRpk)BSMEz?aJwV%Wg$~}Hu^Cg$v?{eTe zoR2!W=c_>oc}*Aknx8N86dKT%72b9Hhh*4@)OT(b`GJ)7m%Zfr6w^(51T)h(+d%zH zv5WAkOhm!&5}hrM`-!hUR%bL&Wh&BBY&-T!92Sp|Ea0As<}0on=gK^)`~!I2)O4Hx zKMRIt2dyPQ03^{q#jw#*(DL22X5$b za!;`j&@t!>#IJw}kPZLS7}Hxr`a~JXcK-+w4}DdEedFl(8Cch>oiw+_<*&J4bLWc7 z7v^YPZ@)4>As}`{je-2}10g~Dhajn3alj9%uK5~R57(BFY(oCjTMZxA=+HfHJ4s1) zVG*=Qa9RYZd?^P$hKa=<@aotUv($u@RI#$#sPaSs&#ua(zVn%Mr4V4&R3rz(;_uTe z;K0DPVOG0J@@g6&e^K=|f(kjP^=X`bXjL#3qa@b$%d3Q)&~LIYoI4JE315t0Z38PB z_p@Jbn6m?yU(&k>+yWnszq%GY0i*#6-{~su>PTWv8m`HZl38?I2+C7CKiIZP%4oM} ztW-Op+M;kKDLIKh`^k|ZaGV#TU=oV$Q6t-NcxCP6#7}rM5BJ@ouq83ZN7h*iuUc2H z(YfZGeCwS3=~KB}V42#65kw)5zubU&U(@?&Y07k>;)UTxj(LZYX3m9)k@wQZ1MI`w zn>m&q&F*KoZZIo{_2Q5U4*!&< z+|`Ws?X=cQWsexW1AsborPiH^q>IKOxWo~%+^b2JD1eW%taDp z)eFg>d3nkT^X?W(aHSv@1aFb#mJGoviJda#QbRQTW^gB44d-?(Ji12b5;e<1%9`Ek zEmIR8BxZo*FekLt{71w#Qbiwa6W4}a1&OcGt^Y)A%Z_HIk~OIVy{92@6924(UQ7-Z zWEPS$U!b(skci4|uLYk?sBJX5ip)z$i3@Bw-D=fWx zl+*SI_x4L`hRNr_^FLjqo@5Pu#iTlngA5dB42fe)9R@f1IO-b)J^jOT_$je~1S*8# z^33WOmaqL$`??@yax@Zc&3PG5YJ&&jy%;cX0QAz%?Jk^iY67MK1H1L}g3-tz4iuAP zH^Kd<(4TODr3c}tZ?#JsiZ2H3By|V&f8g*Ezz_c}2HlSywo@>uEYFjUweb+d)uOyL zxKO=M1FHbAyxOHU3FXMLUZfe|aOo5cEc&-LEz*BcTjc?i8&`VVKVvnNs-LkR2qi}C zP~J8c00?6$2?gRn#UIVwVXfZp7^O3oTjNYE?VI11I zJ+ETVff>|((!kOXJs|TKG1~Ze9X#q)ICQZsdA>+Q5ouS-Qopd>ocTA;Kdh&0>Pzn2 ziO&_dnk0L1u18&P{JX?Bcp+&2QtBhaJncBAW?@dC??2-qAh~6jlmpQZcGfN@pcq=ZKznWJw`byQ0R^c%kbW~#-2iPRQFsp&}?GxfiHf>v7)WG<+KE!cPI0H z!B-9DZ}0vF1#uZFzt9xZ=bZb7WAg$axY+Ox!6ICukSUXV6E#grpTf*N5oxym?8W38YLV3$55Gq zF94K=WR&zre_Q(yE>hrA;WuB>oFV8pmYA)V#1s`qFE8J+S8v+1N_Aj#+X!<6xDi~a z{KNpN<)!^^U4?!}8y0aR_CR`44aC?UAPV@EKp4saG|fHx0TB4Gv9Q=77kfrWe1_c| z%xIkeK!(jw28*O_uGdGx-wf18k;lQnDk^@Oi(i(ap}U0s^!O9bKWY!^;p7DDy>2^> zf#j1#S!Uymd zGsFbt901mo>wpU$E6NiNSJMXoo=BBk>Sm*mI4Cza-W^L5qfB;V19BZ;dnu`N@+STC zYhG;e_~wdM_%XBpwr)@)5?*{vlzr+p5FB=;+uk`r9bephbYI4^M1KOjpK8KcV&<=a zLa}3Fr#$RNg#tF`P*TR4aI%;Lq!_kBe!88u8d~g>F!C&wJ((Ff0DW6y07uH6jNQ#? z-Ds2>zq`LqxwK|9$!X<;zjnqh1SLF|&F5#~>IMzX8Tk`cvhdifA_zJX&>ef4r|0)Q z8+Inqp2<0vz913Nji2AVy#J0L=*md`?g%@QlY>enQU5#~$PHg9k)!e*Qy2qOsc_MP zfEoM3iJ}%%#O-*Iu+I=H{KbT|k88f?z%;etQKV&ndf}?g{1AP ziH;;ww)e`{7IjY56iyBl1&K|@6S78?P?Kq-)n*T=tI9Sv-H@v03n;O`A=n3IyJDFJ z2peYg>0jv=kC=_P-;#~B05(SwJ0x`3zB@&A>VbeeTDg4s$OC(kcbH@Vrx|Sxk$qzz zg-(UeVS~eK)P3`{;cdk0gnZY8Vi_!$5XM+`sKiV-kQn-*cv{n3BJlJ464bc{0t4dn z=iSSxf^L%4wOtI8Oj+IS?w(U=V` zI99nF+VcZH>5kyFC$f}1n_8XEj?ZbtM(cK3`CVTk*Ah->z1r66zsn#^I99}XeXPu z-R%XftiGpl5O7IF9_!{@>2Vl(AO?qs+%YSnGJ~y_$qD)r4;$rB_v&PouOi%2OH9ww znDv?xr=e^OHMhMmjcK|#!0fM(cW zIKWy)j72f3b?i)L&2vTj4V9@h5kZKu_(ImupV{<6(Z;`)YVTSi&Iq_1hedPaSfuk) zK_Dkjiz^pVSoHQX;M8|ti_sdu7<<4(4xsLjWeesa} zJMGJDC0D>C?kyVWH_}1UP{8<6>g%!q02KQD!02gP2OYN$m^b&mbLcV9e`H3)88!Bc zsi)UOhI?|I00U-IWz-qcK-ZOxcYgOZ`gITop_!J>)0a%Z&{Vk zJ@*tSK}hO&2JrFtlKM>H5rFDXr?2->YS$21hmY2cqPT98ZYd!3f@8ZKqAGGC?_{g( zX@~>v(Zy<9#dvj-pgmUlAQO;|z3NzWck~iX>#?u=@|J-274kwYA_Hkw^-4iKr&$_? zfEvTlDJ?dH&g`*LaA-Xq(_bDqk*=(s zNra#Q6&cFQXx^aTUDO60#)<&t=k1r4cfjnC5^=b%ewjn1mksU#P~aS{;1no6G%lxiO8wK5e;=eeqSWDFyV`hr_+{U?yRA@<0}oP@W|bJ~JUqlLR(;;^+T=?CC?lo#+W;b?FCt2UH@Y|+#HUldNVBa>-8fxHw1 zuM^i4D1t$d3&m0)jVEq-(p)hgh7F}#xx74$NNQx8v|&V43fJM4?fXk-v09#R0aeHp zuvH*=DpM^VNNh05CWpDe(-++7)roXIy6K=k{e1kB7Skpe#Im>`?y3YElTMq}cbt#W zLAaMu(HrZAjD?s1q`VPBFMIHB+RiWX#0Zl0-d_v@2I545I^5=e(pa=X()J9`bQ30r zjl9SDKQW9{9EJ`wpDqp??FK22!7DBb1ageeU!NVXDg<024OP_QW^DNQ`Sto!GJ-?B z>lmJdh+hu0(wReEJ;-a#pJk)9!6j8|@ST^x!eLfZU|`DMh!n|)$p5a#MOKl|>;}=< z&DW**$=L6Y*6k~hMmd+iXaVDodhfmddb%3oQ5g&x(n*yRV&47%*lAYoyMj+LxgQt+ z26Nx#87dxdV$K^_-pj!QYy?5hfv|k|vjF%^jDo&*@X4@L$IZ$h-vG_){2-@LsR$3k zMfiH=g#1;B)=w$?D72e)_P#_*YcmS#TSkm6p^j^FAblQWTKE=UY$dY#Y}eA#g3{(R z4B%Qlt8TnFU&v_0tW5qi zM;&-h{nDz~C>0%RCjCD9s8F0Y;7+xHzp!Iasgu9NADe48m!|nL5&!7)3Jl}l(hBM` zZd`gnMv<$=lo6N`TZQlfmh+c*o9)9m5+aA0o6)c}q~E;bnuhA*(b(8|(#C1!G2=i! z*@q&H{tEy-aF_Ye)szO!)rq-(J2#pHO$HAaFS%eKC56$N0~g4)8WY>_Fe$RGKwoLT zK|V97`0d!le-rwb?K?9>o7wlkW*9e$j{gk{U5kp3JX$u{r~6;$9UYV;#3S3ejhiM> zID>7cV+pEhhMT#nFoefHnoQ2RtrFwF1*F(RQaOZz^ZeaE*&&fn_IbtfLF;Gai}(NTAAG`ZWQU#@0v zpIB0MDhJ(pb?t1JXRgwnFwv}R2XL|%9;FrwaSS-rtxl!a)us-6{eI;58|QJSi#(vi ze=cMBWP=J2WO`iB#ywj{<%#)T5r{9Be4l)-lXDg*C=9-1fM=Z3?CxE~dCRvo&7}n< z*%+`*P(-PGvxcyv*osR)QM)G>Cncu+@MZm@KdLgji6j?PMVKwYM`Och^ zTgkhT?P(IwP-6hiXW&RMy9Nrp5CxWVM3eRLL!KHd^|Ki(o8IavvsU!P@zql87N@rJ z;&L|v0D9}Xx~z4YHkyN8KUcl*Hxy(zw@N+nwYVYb?J=m|0ppQz<3W2~UMMtU7T#oe z^J?fuU7|Oxl_AbHXwMO{UEY$c|CCZI{CuW_{kKa8?>(TL1^$x~*=>$lNDA+L7Y!%S z1W;HSX~)*JxN<1PMYI6(u4m20jVP$39RuTO!!mAx;K$OX%|qlMse)a#tJ>%caBdFy zZ5PU@?PXb3ufnXO8-hpcYL?+4svC-|6&k`##4pt*M##jRi?(rgevpr~FDh0Asyvnn zJM!$mfjZ`qHg3VvBgaIx1J4HSY@^y{<8J+r$ADEVcF2QWk>KDj)i`mwBDWIpl?Yde$mAWm$0T=)ik)6*Ua|OOjyDYKPr)sMz?T^ufDbsh>Vu;;* zRho#dxM~PuQ(ZVk@ZPROO&#nr=EX4gZIhU3A%GBD`8)bY^_HDt-rJj#fm*<-ld<03 z`e+DqFz!>@a~oT};V*!>`XC;(G%uaH$-Wayt>tu#_jV+RI;O-@l-Y3Yx68bvT<5PG z0p7*;`ECKO^wJxp4A9AgTC|P;zwF%)WJ(MP=s)pl3HLf593k*<{AQxqtz~3A-7N=2Mt83+Pg^N|TO2D-r`jv9K zU{R{?=*Rci9`1YhB3}#ubV=R=z8o@)mA07mQ{Pd6EZr7XRzo9LCR4FaW_$}<+{y~t+afjF^*EGL^VnH2U4m8Ghj%px# zD*hRY76m=pZ;6YyVKS$9hO}8t$XEFoO(!>=EHECt4EW6t@=rATeyXkbqaMud*R^*u zCA`!JXuYYE_n3tbFeLvh<5$eyl?k0CQrs@?dh&H`X()LNW_UfLs@wGCs$dmXP!7=O z{=%>DN1p0{O|<7_#U*qlHuhCvxfdlBn%z`k>|4EQuF`N*^jZm(@zD^Ce5i6L1Bo&D z?M(&lOyYQYE#%;@Z^Hz75e3CUGrgS-DrY&9(pr=0N)I2e)R9tV`|!^CgXH&)=k)}i z?!v8%BHVFrS44hG?47ZWNSruj&F0>2_qI$dxEQpf;~W5L*y0w|jTUjmG9= zmII8ZnJrVH5NiY297eO(D$IueL8=Gv8s&zU;Z!uw?;)!VJDSU{C(7Dx*95uwi7Ouc z&fOx$vn%tJnZsW56qu<^xckgDwL5uWEG5;p-*(>%-TiXix~n872#}-}4%|Y*84k>H z3i6H;v+CKVupzI63K{2g+!5$(e!gE*ZhBC|`ErG6bl1)aI=^{)b1JDRHNV()_X8?tfv!4} z?YYb>(|flbyI&4?gLWKB`yG>OEGVx&dvK8N=@og7bnn`gJh)vPaiM=Ytf2$-iyzPF zUc?SjjxdiOwQQwcYhCf*N6_?|?<98SX$EZi^enxgFI29Y5my?F6o^Yxi&VYz-Ef8P z*Mz#_(zlYt;9OrmjBr+F8#BN=4R#kHuihP53gt|A>GSL0){y2Dlb$&FJdDsK*|dS( z1E2Q{LP7qw@!2Kl|2dY{|Ji@(>BMBsdpa8%&*p z{2+qQGNT;MSzz+4?=@c72=w|QR*!&bB+ zmC$CZ@#Cj?M%%yoDdU%@w7hJqX${Iu^vC4{#fYQzUmmkM+ar0aLi8?=xw6KXT5lFP z{O-eYHF(XAjVI?XPJCpi3p;S+8dr|R#=FWW;_jCkDs?Sd$;u@e{w#=}Cu4tg+}|#w zuoS{K)*wTOAEiL&TC7hh{v3-iyB&dZ4*Tu03rtDd`(q{+lA;cKa-5Gjowxb+HsaBR zCR3ZN%6=z+xL;Jj0)BUQars$IpgbUK$V^TbLh4 z)Xx1%+x4_TV`XjogIZOcp_ zcMcxshhv;f^nQ5fRv1_BwVcYdHf3fO70YruBd$)N&=_&My=rfZedhL}n9nv7glcI| z%F9D0_cA&8G-S{N$G)JHne}PpF6GMS%J@usQluPpv;{6srm&piObg_T+~KAmk**XX z`R}YtNAU$bMI)C%bY>_R(;01)5I`FEiq`NF=4^wgM8>g^x~=dJb+`$bD zsG$^(FCb;8L_!SGFFZKed+4*s$|+2lDYvJrC4>b2e5yHpTTO%HfMIiiIYUHqwKble=OZEM00*` z1r+I7xUeR*eynDC2X8VoFp|Bb{KcU9gbdSC9I4Z6BtEvQW;L09mFt~^rjT~zkcSc8 z19OUhl)?om+5@N5IG-^(k!Tk^xAxlo9t5396yWw5vAYq0TTZij*&Es&e;tZcZOgw8 zwU-L$aa%9o*m1n7wwnQLP9CNz9W59Fba7mGQb-cF9O|Z-+ww?ic{jx`7h+Pf{ zRoiMJS!O>r6Sg15gT9Og;aIKfr-$`?aKk~c=z#29XBhiiZAa*cV}l3d1|DoZ746~Y zw|^b>~LcDh2es?}3YwS+kA=LVOZ)ZRlhty&4Pd~o!*~t}{ zHQBqv>rBP?xrL(KU9x_DQ~zHiopnG{{ojUB6p$|I4jGMfN!KK#q*EA(NH|K6kZy!A z5Tv^sgppD*Mo9?L5)%eeqmg*e^Zx!K28ZqJ?CkLU-1l{9J8h{nUkdaVdg)bdQ731~ zwsp{lr={Pr9A^y8)K|xsGVYqFKJFHGDfZubMXT{yRxpH(_1f=P6`}u%;XMi?urz#< z9;;Un?q4eiVqLu*iFTpQu`2VEbc=GidUzCXD(!xjPmPtKW9H;Q;rcsgN*_p&1^AJq zb#4`4WrJJ)>K-$EEEbSnO%qMivzPnUOC6x_LYi|9nWb3dfJ+G3b7a0m?GAji`^FZr z?x$DXDa~(sfd!HJ4AqJ6is3!%^7rkoZdWx%rBiAejt}l#rP?rZ!o6mreP8dSOl=N* z<0|V=w!(X=_23c5s&VNfNUc!wJ(ql9gk_Z>OK_G#(M4ldR%NS6p1uC<0`wdw5R&w| z*hCf9#f0^zZC|XCGmbBwMA#$VVnghqpBJZzMNsM%InW(;v0Pns4 zi>ou{Q%RYSS?PjOdQ<(NOLBE>N|bNh$0;(7-!E=lSJy?Qzv@MQB;FwwLGqbGl7puF zW*K*9sCiXpNQte8X#_ml42A+&L;8&WfMG7+M#;f6+z+@?xTLt{+30ufVnlSqe_H&; zt;dPTnpH*dlykv#71IKiTvdUFipeQSOflt_rz=&8vqTYKsUaMQLGvEB++Y1anl?N9 zewUr5PR|^GH+1p`)BXk-+x)8LY9#PA{V1W=<1^yu;eqKWdvEYfhU>Mh3$ z2C4Yx&T0%xC&DJ3X(Ds4a9p7>?vk&h*~=~ zQL0CSbRH7XW*SXVXHtmyqw*s2_d&dn7Y%f4RR>&zr##G4nS_f0srQH?m3#GLutS9D z?!g}=J_ayv08yr%blWK}j?#&6H)ilVt01*{`5cE)HTemsUtYin5% z#Bo>F=+B}k*!kt$CO%Sv>FEene_>Via+-Ehgc`|T*n~SdspN4MjW?2E@RypoPd|N3 zO)k!44L+7+@E74M{Nya-x;PHVNCzsIIjPl>gOwDK9@vFwk)KljXtqSWCr+#<&rS;! z>0%CDal#UQhKAC+j+Q){s`Nnrd_M&=Mg7L02M_&%x9P*_)_n6^7qQ_YKhwlRGeyHg zj>@S9>Jnd1@7y2W2y@TWwmF8!BuBUBC)W@4hQsJH>FM^N)V{PY%d z+eu4xZ#X=Kk5aVK)E#Tb)=TzKfC+;%sD+BQXlq!NZi4iV2rOk7F@~PkO?Hv&!OUMc zN`EIHBRSn1dEY?rztQhdv1+iEv$We%B*56+(huc86je|L4x7IS;u7 z=Y@!qbskre?VC&D5teS5;b^^((T_oCUzXv*q zHf7IeDZ}|8$SMe2cQ4@t%d-^B1txuzwJwqWWE#L62sjqW|eS(I83huN%=1@q37AFQ~YCaU6P+_$xHW9X@Pi+6hAfA z8S&B9&0tZroL7HH3kw|9GZf{2Z(v1Kn@!|~j;R+MNiVPNg4D=$j<8>b(|3C)pA z&6j7k@-eooV}X7?y`@QsdN5KE*1+*o(|qE$4eE#_Zik2;nogqm+AxO3@v2^ZeZ-l{ z@as;kdyneb-l~WcmJRUoqfB^8v!QP$7s3p3zUR&2qjf1frCvQLo8A_Yy#)1VMlAk)ghpQg$gDg?X(uy`WJo zQqBKL{~IdzzOsUVJfX~7M5O(u$Cpo2pYe*`o21E#esP|>DyJ<5C#{> z*1V>r&TAuff~#NYio#9NA07WTs&Opore^9HDWLjx?^9P-Sep>lo3%Ve8OWy4hf(1l zhF2%2L#aNU<#4$u6)}U(JAY+i)up?*Tq^Z4@HnniSuXO{=wiw}XvE{c+x3fuD+TFh zX?pHFr)T_Kzr*W!L!8OR$5qPoQz}ff4WQyb^RmkiZf4!nVwwVtq0DXI63DFPKh4#F z^*e8)M730@OJhhf25QC_1)RDAdZ$!B;xVqjfWe=*SuGlwt{bru=w-pBZohMY_q5(C z;JrfOtZ{^`dHTTG`bRvI{98W9_IF@WzF*4s zXW5H3HMK+;;#*Ls!BgV_5m5j?BF+YPw#}<4bh3)HJk@o(^g}X>y2d4@Si`9g11qM0 z!W?UT8p1$Yg!2nD5PMEy?y^wdSaW=2|NXbr`S~TT)lq*luV&UtmbGZ?**^KW%ye;O zPG=DyPfXKeulcBqz%eNAB57Ts<0APF;Hd=y$dop$Psw;)Qui|#cv4Go>c}#Kn)6{P zlULl2*EaMCjZfP++rL)%H z$@@MSsP>}7!j#(JEZPyoNMW?wTvcO<8i^Aq$SsuB(M73*gdOBguxuBro^m;RJNh2v zw-*sva>G#rkV@0miw-}44G~DHUB0q-fX+hDu=zIby-v-UUMtFhGV5N^JtNAv(A3ae zXu1Nrm{cA&y~vvz{Kfp)zu+x@La9 zs`_VBZ&4tDR9OQ_Zn3JrYf&jr3oaUzbL}Z6E$NfnfhhSD>2mimH1@(PHOs{aS3CUa zUIODUD~M*r*MksYFdxsp<4mkLSZ;UDZir2*LluS^#8F#jU;=3d%{Es`LZZ~OrqYK& z_-^w8>DO_pG8L>h@2WF-f@WJA#gY$~cb)lOZNRwHnIe9FPYBhIsTZM+XhCHKJe!S* zNTDxLzUPvGh$`uQt+te4C3!N~vjmxLA+I2E8w>RuYHNIKjxj zyd~YV297|G17Re9-4XyXo~HVcX)Is?Ob5&CCvWs|M13+L|7XL380hmVz|JR%#6q6Z zKkx=qvKN=&E)YDddAqqt?FZAK-BHN_d4&_Y6HGRP!e&-#h@6<|PmogUW1$IW{6TPE z3kf{+*=M}(W+kL>>GuZmtF`aP8vm9dS&lq&c%p7zdRifG21boHF@bzS;btkN%xO)T z%=;^kXEoAv#~*w=aruW_41v@Tli-jyU+qx(-9MVAvfHqs)OQ|i==!`y_DS5=0AY(%E4O@HM!h&lwjR!N)|d`}uJVz` zw&8)ab-7s4#IHtXm0RDDH>?Fe5~?p3MN#&5^@Z14TaPD0Ct}Y$A;sWK&wpC*{$_ps zCX+G@k8+`0^uv>O5N=$EFZ`wTMqJ9Cc38IgqFAAj5Luy|tj1tng1mX19FOctA6rdi z%996QA@Ip~T+8oX&>e{TfS45OWG7is0gp}tEvISSZuY?wjjBv;jiqR(I5RCewq^EL z4qKNKTIjVl<-dK#DM+0|)K;e6o-&p;sR4iY{d}D*!%w|khzM#y?lQICXiT z=_Ba|G}sBgAKiGSHGHi9*3XHMoLQUg^w^@g!#_~RMc#)TCh3vtFmw{wm+!?R#QZVZ;F|5$-z^p-@ z^MeWoGyU=@o*ZHGoN?7c-J53%gJ=pCBCUT<^)J0n^3)B2uU2CzUZ4QQ5c7i`QSZ5H zg1K+Q`6f5akNwj;g7*0B3u3og3>3F=LW13#S>=C!#KK}6@@~%SXvz*r?$;*BDzc$0 zp3O7^G|4=I^RR8)p@+O~6ni^@_S{*pYt3SF#Vm@(tMGeaUt3?ohiEzTOx2cA(e+6Q z!S!5PfC+qp=K=eh5LVgkd~8{HJR~L9%~sZy-tlT<`>v_5lf*rVxGVKE_s6&|p^8+D zWd4=X=GMysInqZX`oYQFK-%8nHlr-g8tvYk?m3TPv6jNIa6rs2E3rFh|>e8way5)w)mpV6azk`M75l ztcIB-;a?6cQzS`Xa&$Nr*w`!NZO0)EXrQN<_;WTv2eIz(aPr*`{LyHBrYQobENl6E8^wv$SJ+z$uCU`v>cW_B@7I+kq zmwA-ER7gNnfyxWKds^LYtupCBlRiJJtg%U>_WroU{8!a9>?kFLM{0Bi8oP>2Sb}+` z_8``51A+foX$GVa^ha;)JnOFo;n=&{+{j;wcp&YKc{@0*jDIZ@OZkq&6-pF-QEab# zVPHya_vghDw)&Rl`yFDfPAKR-i~A-#KA=sg&yqU0#OTJF@z!-&O@Wq(r;poom;HLe zHmB5rY^|HC4{%=Jd2#9jTMkR^Nn*uVGOsdVP88RN&(`IpD_A0W@_{u_oxsiO*|Pzj zoa6QL*MU`Nr)btoBVVD{pY@>g<1~>=g%`r^Yh_E<7wNW`L#tr8b9#J02IEAevYx+C zlCwl2mNJ-j;QacKryH|oDmy5=YEDL<7wVGp&eGa_WWB>Ocf_Pjb?JI6{&4uR)HSkf zi6-9JXBp&hG~C(@!1joW_Qv842W&?mEsB^?1sToEwJ0Q2S9pYZu9Ix_WEP*(*b8Hx zn#Wbg`XlNxC&x|qJdcx$Rdx&W^1yhH6C(n^56#~lSI-G9cLX=~7H1vU0Hd%rqz|O` zAb}GYKFB+^ZO*1~RjI^MT&*9E^J{a~csUGo2rMA=6L#=l6@%$VKT(``%Cjo$w>64u z+Fzu5>99}JHF6D!zorgktDhPPA_4bQDK2mue|kYDPMU1c+B3qv$!f0 zj}}{^iTv3uT8&DxKZ^CB;eIzR1M!cLVB&Opjx$dh40L`j;6|0N0MaykqH?>FKjgIP z`Fhi^`Vh^k-GG$GFibW__T=W^a{*iTV2bG_W6S~C{vq*yAYq$`5B>vpS@jt&LI6B7 z<|s&gGsIv(=KX>TL|VWrF3_pC>icAx{v0PZ?!$*$PTWHYnTnq|T? z=w|n4&o%o$G{tyjJpr#8R688`Ir^n|;4pU!3z9_r)uarE(~f%ifp3# zf^0xu7%tOezut!uAw+$vsB&8jM_EpV=21;dpm5Ul*mP|X)1Va7Y3MdFo{8G6srrRB z@jhI;xV7|HQ?U}48LA5CD@Gt}0;V)_uJ12^K<;Uaw1A|GiZ_2@7pdmWXrlO>chp1S z?%w27y{5Y$!sh=YcwiD zV~DluYD0r_XCRm6kk8&$kr79V3@oW*t+rKJw6%>BuW&UfdJT9)*^R=1#;y4okQ(@Z z;J3OaQv#`E{SXUee%Hn{>TIcrIPw*Jf}Z?gdMiA1uCtUlXvYY$4RnitE8_!5?6@Ei z0;usm^FetWL`2KZct14{5P)C&ra;W~bQ4DwGAEo6ci!v)Up)(=&6K&3K^%J#0y|^(IqNDWzoQh!q`;R5u%S}|O1PaMEKWE_#GcT__s0UvaIVX$l9zkNB5){P_xXh;16U0Qr7fy|z_vCzV_ zUGt~Vn=?SVzA&LrzWwcN@e@)#uN-QiSOlHipG#h}j~1l{3O*(>!3x+E3PkxdL|Fv5 zDG48NXi^{!90l8jW;LA zb~ZdFfuZ@y?mwE(`m#Y;0nZoTKv$9hHF5p^kHezSaY9Ik0QELXe@R>AXo3*3r8Bs; z?L86>`h%Y`MhKKpX5+T)w48hs-a0o0s@T`D1I5H7UMVdhfdM|+0Yh}yFLyTDxMo!3 zx*5guX4D`u$QRUVfMEM!USPEqyzd2(uKos??|~mEtUP)sGiEN>Dt=u@tffkBjxO^P4xi4uIYUUL+5dptKpOZeV|e5g;q zTq0+kXx&;>Xvz}(O6`TadU23Fatx4Ou%KLIBGrX*CuC1&zH}QPE)=B%HrD9Ok}b(E zDObaiZ7Cd0rsw%-PYuu<%&MDxZpv_nw0LXb~ zr^R0jEW6fGAb`RM6y<6xL@gzADh(VmYVKh2vvR8$B1A7d-na0!ISaiR_IgXLqb<~` zIZwt(Q03ATp?~3ueE25<3m{HTHq+H_Ok~onl1UJefFmi!iu@KEqaElqtp1NKji?Wx zgZx`ng!RzbC7{$pG9RNtVvUgPPR?Q!FK^d36d-45+HI0p#wCohGrEAfF+(C5)ny-b681%wTO=r_X_gjZ|;P`Tkt z|Ig(5Wrw51Ut#(TVh%I5a#~2tH&^6fxqmP@ zZecle(w>3|VQvp`3@n1$lO#JZmt}9Q7sVjQk}hhA5XYQupt9>Jsqsqf~WzRIO> zCm^PPbx5uk>AwlIf41{`nuD2|BP^T6WT54EYwm!-)>Npvg^%`mWv>2XwEDfWC7+b> zd5W!dt#f&(!3yxuSCxcf3Q_9aZvqVzj>9uZ$bkd&$VO9W$Jba0E5XMTl9CkgR2IP& z%SU@Ty7(c2|JndizeB7vn=E#tC4_20sWZYt&?3)vI#B8z6;J~k05AxA@OUY-^UhcZ zfYYe|tArW|0blw6r+~R~E086jHSpXTMRq~$xqZ;h(*}sw(F+?1aIr4NQxQH|_ohPD zYIfT6@uk=23wOkFUxqXFNMGeL?gcG8Hm&BR#f@e}-rSzgji~p0VN9PXw=#=RBL2XI)mxKgrzjsYbXc+`I_yVP_HzH4vxQm1=ARTIq6SnX+6-+5oh)@_ zohg%Rw+||+Rn?Hk6%Mo)nck6$ambI$?=t!I!YK&go8W6Gt{gn2Y!pHd+V6^Gy}8wm zcFe7zwJ2(WSm*w`?73ISIY%Nk*_&Q#Wlke#ZQ+;7C$($y(mYzU3V)Hm|Ke-rfW`DT zEE*!R&TQ6FNlZ%ix%V;uo9my72>s`2F+NJG^|A`?m@;2a7Yxsqxv3sQVbgrFon}Fz z$n2g5@bcri&b@g1HIshgglM;{DeZAj)v*-c*7+M5*EUI$n7Z7*l<#J}YtN=%)KZ$< zero=CVxYBoHP|YfBlSFKabYt8z&rdGT^LH;1>P&IX4W!JTWg_IU>?MZ_gPAneHqjF zsbH(@9;0!RCDJ8Y(qNvTS^O%yWxiyR?6bOUy^~A7LE3Iq*Vk)*7Ewk@te|l95EpnT zbLB7B<&Y&g_)lQ_-q^}h?0)L`K&R^FOQMdiSHrpxWK#vj0cAkuuMSurfz1#s^Df$;Ub6VFGMZI6-Z>=3z z6nup^O`)nCGa&W9&@p>$oAkbGrN8UDOw`i$UBl9o_@#xuH_%j#@qP1ykew}_TyH~} ztXOSj?@gu%lespq!cw)_3aBNO|6p zag=;hM%Rn&hmJ#*{=7@t(*)W%oQUAYSb^45)uU9ene@*^ky|FoE{$&T20hD!Vq z^Rc2fS5Z7biRHBCT$%an?`Km&y-E1?oXq%?Y=J!M#t4N*1n$J_iG23Af5Fw5{iOBN zST4JRk+>H!AJ{G13-WYS`=dT~?*xHwmRxjK-udQ7sj_tbb4!*(E^>dw!0%$g-fY{W*%V1nxBadrRX{N6RtwQ&c4OV9lk6_?*r zR(uH=OeL45j z0S3*F4GicP(i-(zKPWzsiqyZ%R)6H%-|#!@gvWYnQ{7v5K<<`g zO?Hfc-S2qM(rju&io=(#m2-fpCvDBAfA4$iSJ`#NJHH$37CrW>;0i|CpW5t-c4A?D zckU~Y7ji4y&9(n0DA0rOna;V3%yH-C99{8@Om#uFbxbHrUkXewlgLe;a@NM9e1o&2N@F3c}PQa6g zUx-H=Q?%mXo&3=#DjUA}<59R1W~A*2k-Gtx`PK}l!+#-G;(?fe-!c;wa%(%;m$KrU zB=@+$^BfvHbJEH~=pMb9f*7CsJU?;nP!SyGHTEtsnDpOui^?DJoXzG%f>i4i@19NQ zY1E$kmxe03j5#lL+}-H)X!XY`CK-E`mL6+RWMgQVSyaV^ZM-!rgT`mWuC5-M;OskvhH>y#)a{apJ@G?{ODODGo zihqj@IrlT24T0th%M1@cQmf7MBJbwhVM=kX7|2Itr4NT$(ttIh{z4f8QAQeK9pcrW zWN+e>{vqEA=v$TI)>JgSWzzfu5=)QO6`bYQ<$hyK>Zm~=Kua=4pIAyjf$JL6LBVjp zkr&TEdhYSjA8O8wDW9tD?`{J_c}*(jR-2dhM~A8n@k5i|;|+hKHZ({GS?w{@N$#9H zHA#66nU4T8FC>RYGsEUW;w6~nUCgSSUM@e;5C&W(WE}uF9O3zqdq2G1@l$c#z&>{te=i%&?!mCVg&f3)ufZgq?fjBcs}t7esYACiuM!aUsgCc3@9mTmmjad9C^GN;OGZY(U(>~2H*H_ksP~94od9?Y}C4UrecQbR}$X1f7ikjG!VME>^u=L+w>+k$B&QM zi7-2pZ?*Kan*=O7&nZ9egVhi0Tyr%YT>>6_KX6tP@#YK;P$3C+8m(2;?mTvK3b#KLXwq)5i_~xOf3IR>Cv^U zs`@KM-Msh$yP}AK_el`^UR~JkH(hl~5&6g#4dQi+n-Eo+`y|d#&AYqL{%iTGi)ZoP zMa`a%2mPc|c0+9Q6v>iPsJtm~%>tHKUVfL+lg8SoguaXqvVuRlijN%2#&$!lI4@V)(@n#Lxdd4K%R3;jlMO^~x+-c~ zFjNgKD5xGJ=9AS+PFD{aS!v89ZiB!a9Yw_WH&R2nhQi0+Y^Jq-sJE&%Z!|X3_l-8J zg%?y+93!}q8AiaHA$@so)xQZCbR=2_fNAYSZ!*=Q-7unmv$!C{&93q833j&Qk z_NA~K)w7UGzEV-5=8jKh6%mD$R4fKx{!H;^VAkGpcxm3W?F>%B&zZb89iz%%o`NE@ zXV*hly0NQcir@3zD|$_+o*St;JS-(elOg()Jb%>u9T>i&?jIB0r{c6UIJPd9Z*QHV z9Ej4C)-q%UG2#+FSHG!;A&o5H65LLk?!T2D5w3=$oAH?(RpG`(8#*XwIDJ))p)4#n z+u7ktV^<&UE6F!%;NXXRrd767R1a{kLwd7IpO(8_VrV0J-g zB`$Q^oNwVv<4czDWwmYvCmbvuwHk!YiJ9op6W#{#7CDR~g1~6i?&&a(HaMt43Kz_% z4rhI3sxe<0S!YWybni~UbCX?Xf`kz1DurdYCg{!Amf=_Qv9l|`o$(>X+01LH6g+K8 zpVBqw#a+|-+z2g7l#t(}G}tM^a^_6EVyhN>?X{313sc+!En2O7zgK%mnJXSQf{psh zP2!uucQkU^En!PGJ$sB%KKX%K0BhzNQg7>=1KaVhDfXmTo;o<^ zL9M_7Vyj+&wpJ#f@HN4)?0xn*R+WGj)tocpb&ck z(*14$%fnSn#_`6-dG?!k`=@%dQPjgVt&jt@ z7ji24rBTNmj(a*8{y)<$bo`GGTCdqS-M;@;4}!=|dE9)~L~n7ruc4w>QHx5diXv@i z3~=A7F~+4va?Ar0$wn?BCkt|R*vYD0tov*&hM*^<aUk$`hKiI35R5JyfHBZAH(Jv0*h_iWJ{!HHDF2wY>zLQMs}FU2$Z|4 zsWSC`V$AWULLXG$G$bU)Kpk$7@$#IHadGUo5Am2~AkXO=qf)3JrZD;?7hgb`r5`1V z+P{0GodE}xECKogvo@rW`K5j%btY5|wj+CRWIRiakX3rFmD|yxfPSKI%0;@HI91Y_ z%EhY|QOuyn9t)vOU7{y4GvR{}3Zr(%Eb zdhX>IN}c}Ad{3TmH;ej7(z9c|Xs{wvZ%DfS*#upx>$)f)fjKh}LOy3zrMz)cNshW^ zRI1-D34P34mku7_4HWq(CRVH)Gc*c2p>N~R446s?mED@K>x-5Uw8G`UwJrW@Zm}ZZ zyw`6hhyMnTVaFU%>AE+P0P}hOF4f@@^{Jhv^(18kYqEthS`t_tb(Oj^x>v+Se(tV0Ku<)<9%ul?gTDgWmHZfw%}JXQVnbvE&5P^g)n|rA$Vx^O zXW3#h7r(wG&HjRxA)SK8za8q!45v*p8A369VIgHF?o7!I_x6{F#``~sxD#WlYfv9x zjux;5s*%LBepn$6uOy=)XuR{6dEhL8Ii($KooK#c%AJ?TA5Pm?&EfKslsKJS8^-wh zUpfc;@!hxQfSQDAU4IBD!@TVygq(hP4!1q6A$zlk;uVyR5T}5tSxlugDaL3hj(>e& zlGhkf_yVJ7vuodg{x&8Tjq1{dRqL^0ui3zBanrxq@ViRmPKD7zH4CMUu+7~KkROVX4)#aQ}1dn@=UWf%F*y;U_h3vn}`CoM0!=~MhYFp)WalNXX!{7&8 zF4WG&iQ77i+{5||z73dqc+|LdLt|0`u(C$jSH9|%Gb{F7q6`T#AxwFkk84&wH!1G^ zL#AeOJEod=EdwA`SGT?^I!uoG?)D|Fu;j#x?^9SwGcS{)1PgeFDHroYmPK@Wk{7ym zo=Q(7%LGeRhznOKQA0zheMqoxb0Q%QKU8EsVkF}% zvnx(?@-oK(pr|}AAhfR34gi55dKg}QR>v>Tm*IuM-&oZv0x5cAaqMH`xj~B6ub?p& zHs+h=ECd7MoDVhTD^$brE~#pHHH@&-43J@9o$9)tvYB;tXK@JLele(7s||C3xW*IU zfjK}&uO}9wz3CssMcbk=;cu_;xl#y?Z;APeA3gP%hP=s!2z-)xC}@jH`ajjLF z#Kby)sKJZGhLNL8?}Sl|WGSuH6I#Sh=dBaLg;tiok~Q4laxUV;ZcEGKpOVSnT|$08 z6b8k=`eyZMXpx|^K<6rTb1;#MN@KSg?>SeQCWsA^TC6N%@M9hnDw?k&uA{c_63d{- zt#YrPCgB?NS4igmRLP9b1JpMy2`LvY;9b_RsPxeM*-~WMt}AkwAQL94+aw7Sk92_N zx;S0xCpio!L~_Xy5*ZlApis_(agSfRaLSs5lSo|i8A1NEj^`P@d*q*gop?fG2=X#A zx@2l#jNJO3W2LAA=*S3>VsQqU?06`HE)YK}+WlK0i>|2w3$>eHP7JZDpdew7IepCh zN8~rnu41SjY;%Gws!%-g!_ZF?>cS7_I~Xa$8$Mvc6Y{H=pp72vj>n9)1zKC*T!PG|~RS zO91x3|DUUwSG4--aIea%xnYT>FDORUdplg$*4$Y%mwy!PCB9TsUc}99W;P&Onh2=+cbHH#|*RtudBq|P}Ftx z&C@=62aFF4gnoa!rhn=g7Vs-XVfVBr7Z5t$&u^BXQ*(6m;M0ws{tZ%M)VdIhd^7MR z|KvDGIcM}P@Q(yBv-*2@3aOn%q~Tsvs8w3e_c-!oMxw&q=)lr&TTahJ=Kn5~b5F9q zm#FcwVdkC&9Dg|+1?AjN*Wk2eekY&Vke>}Nkk6_uMkW(r8%HLjT;swf*DlLMaGr9u zxChsCvAwv3*EEVrWK8I$@_9IJDRSiF7%H=w`cx$7Sn|ouerimyg_MjY6B4P&7$UJA zx@2p7+89H{Qti|M9pJp)OM5Jf~b0WgJL5==GVi z!@yQn=W!loaMI=V)`$U??v_~mmRhY{1dp!TGyS$<&DVzb>yAuLXjP$AFoTb--eM;Q zN-gB}6rk}s^y}K7Qwk9R*SVfkU%H29rWw5Pn*JQ0S9 zvJ3b!7Z&g?qVh|Fq?VfjyIrvq;dBJX+WFV*lc~P~%Ln)cDgPYdH%}+ennGNLg#KB} zi|CI(DuhS9h*1Cj>0%}tnnRT@r$>fmtFjS_4dkPRgy^&d$@VGmT!kKo|Lkp{`0Ax& z%_4BHV;e}?)gznB$mFvj$A6W2dp@Lf+>k=+KBSfhV|6b%^5U3FgQ>8iX_j_kW-$UzMWFVoAYqz9fe~Z_8MI$dHscIy5g~R$(yA}2_71) z&-#XX=03;#&#)PoHBI_WukhH~th?nalqfYR_xG{ZyQQ==(cLQ}C)6*T2vMidg;9qu zB=m*?rESD^$)VS51mP5GF#r|b3(XsI7o-2>jynBz_v>P<)nh_QN{e*O5HEh*S7riORh-y%v}MtVV2X9(&jY0A7BL}a-Jk9=cbffgtEtz|Yr2iz1#z?AFMB=yQfu~tak<7sA#_Zo@ zOUgZnrw{#{xOz}pIluqs&yhzV$`N963z~|%+N@7c-Jg8>`?zuL?zG6Jr&S!lwErqs zqLbyqVj{o#I)LA+hBqer4mevA^ZMG$rv5~QsgGk*!}CT{ciWxtjs&i5&qofD=^tg7(|D2qrXhj1*jS$uHqK;D`!O!J#9#+Gf?8>*jS!b}01>`n<)fXvM3^ zMy~37KHAwu&tey80e&b^QHb_2wq6DK^Md1rDn7F~pXoF`VH-+4mnI5U2em(%xd0&4 zqIp)JV?J7RI8O4ql9_uy07j-K<$q%jM~A_wRzC#;Gw1;+@55eBXvpnxjFnmG=AX#H z5TD{LRC!U)_hap^EA3W~FRwq$Of0eSKt}+~cw@7syR^Vbq`@6ga1LpbT@~ej-Lmkh>ekK@0TTVc{0`!Z^}Dr@$^DMcC5!HsCJ%Up z?*O6&?6CDUpk}wTLsyig7XZBLc)$4)f#Bn;s<2vU$DSm|IWVt!jO0W2tty!c1q;*I zf)*q;2cnt6BQ(&y3odFx*GVXKx|c$Z8XH7~RxHJ>;%MKchU)9HR?W@gCVpCzvqGgb z)m!HOM$YnysG#4tKWk8sz?AQ33LyOuXo_G%OnL)y7m2-akB|>(9a!KJ$#mf3CidF| z%gr`6NAp=_HkFSb+CVeSUl|n7Q5U~@H7m+AFGt;qiZQ|?_LTp_Ii90l!A?XUBt)daxZ^HJnG|Js^}9L#^+;O*YJ9JA!t4a7H& zk|<=3QsP7V8KA2d8qCE43jjWYGp2_X9447Whq)eJqLq@A6as5JWCP2=O@JH(1Pug9 z(xdv`S(^Z=g9@CWUg}Dp9}%Z|6QIl%UfR9Rm5bn$NysIUtr^V$!nw;l~{6#=+!LRA|q~3-Gn3vPX0ohQkSH?of4W*7jjDRSAS<%<+m~L*aYVNe4FXX za{vCen>!qJ|4T1Gt^!kC`E^D%T0oZ*HUR9_aK_6jChfQ-`{)FD+Gtkp50)l^Ymyw>c&9t7knWuZm!f zD~`{27|yP@)sBmB$8T@XHJ5mLk&&<_mNb$<55PyT!n9plw|ZQWf|Q(54bWD?g>k8LN-vB z`@l@QM!oj-Af@Vm-=j*mypg-nRjY-Suih+d7>CI#_c${W0I{;#+Fz4|2V2gZ9BJh_ zv9np7WauC@o~2*w9!21~(eDp-AIiw4seNI>v*VXO*9{dw-z%86b|z}~vhE^WyD_M< zl_nX)Dad;(+-!WZ#=4h?BC~L=K$rlE*Ah=amsmDt$E-gGdk}gNHC2Nmi%5{EGFpC zwZ-dZ9>$^n>;(^m#N=bX-k5=G16A$W{kd|s^ z#%lB4Pd5c)viTY{{z!+N7wF5-MaA=n`xw#%mT$G zu-eO!eD`|SScnXWmAnx^{9##{6CP&V8ehO3D@CjpWBS zVWh`+RccTl2XYbmWRNe#pY(QmAY4(IbEx6ai zU2DqV<#>TNOWDTA6s1E;y+V#~94I-Ivol#xMf?3c6K{QcvU)B*;rN{z=~Ajlc1h;> z;=QoZ5zCxQSr#x3(OjWN9g?wiuAoajyx%QuxEJe055O2qwJEmW^pEoD-2}mlM z%ud8~8u9$tyf;!>aeU}S9yh*ryTjHz#J-b?;uR1p=Wze1QW@y_o6qL2@+ybZ6}un<5Vaa!0MZm ze!uLo8+UC^rFPf{GevJRV)%&spPt5zHcJi6))1}QtZN>wd#&clgLbPGebyBDrvnZQm@>6;Ut}z=-yht@_O0yq87G}f5e}6ge3NFWYXPgUsE=36z!nl5cO4R^0AZ> zLmDZ%HUSK&H)}vrWiCpk!*{Zf;%$V^in0FhS$^ICE|)JUaxl^5=kts2;sTSMSLB8g zOE7696QI9yJ-4T)nU=z4P=N{nnK=8x2C_M>I)`&9?YOA?dr21vMD>0tSZ*zan7{dW zZDuTB_+UseeyV2c`ng!Vl&}wtVo#MxP33I%MY675Q~PpX$wc)=Cn;**sCXxhzBo2v z+2&PcW}u$L)?lyyMkMBq3-*id97=s$%e~rVvKi~O@xuLLEjO5$n!GVI+EQb4i)|0C)vP*>rd zOlB|%5Yjq6k!NGgQgYO>-aouOh=sNqlHz^wBr%tN+(4?*pv>}Wu_9F}m&7-CR3=;Va5Dio9vs%zO||g0bMl<{O(d`(o#7d` zdJd(_^jy5p1)35pw9Z~o<{m5JSVzOCjolj|Iw5}-~zl~yZ_4MXdUK=9(%h# zoJ3^(-E!i5Hi=h#`xqzlakC#t)7IJ)qq)5EzLF2Aw^V#@3Nv<&9oB!c{P%7FBHs@* zIkp&h%0IR@;juzX1eP@nAkUtfNHcbj%syx-1EFpuxep>S{@`2KvSX~YctA%waqwkx zy!*3{N;aPQ)L6x%|BfUZ|J0XS4aWdw1h2clI)3E9%fv*54h*NVuSg(< zv?G^98AY``U+X*$WLnSTI~U$--1*3CtCZLzOi+FjMQd2i^`6!<%}1DDwsf3-XuE@Ci>ptqe87 z-K~!TDLXbYKg62>V2wm(W~hsCkVUC^6v)I**1Iw+^plQ#xtXkmXi7`*15D!_(Piyh zkW1zJo{&M@3%CM!m?dY12xxOk8(&|qHM*3AxzCcbFINri3`+4EV|FVaYwYZ{#?mvL zRO1)3F9nXOkIRL>u1ldEfKO}6V}pl@ieLH6tw%eYXE+jv$Wl9Iiyk)lcGASDHs1C; z{cq{hfV7B_ESp?r&S9c)C>3}iyBNgpcqqj(2qfvF`zH%^cPJPp)rfzdah^MFDZ3gK8>D$+ z`f!y%0A^c%TZy!a;4=RICiK6<%MCA0#7}vQopEj&y6`3qA778O4B)RWp51`d4UECS zT@vG2IN}AqHMDE|Z!K`W_~J37sP6l#1loBL%#+=Bo^@s8xcU=GOo9Z1{!h^h5iRfb z?)u|^*$$(pQtp3(D&M)PG7oL!%-8!)IKD6lvV)2OaRDIzw#0>%oHp?j6|nlDoz$tV zTI#k!!^d5F%E$P~0rP3QqjISD-IxBIfmhp-@7#?KU!1AtoCbYqUt~+g-k)kk5=H&~ zPi3z}yUHR`kz2I%yCYyZ9G^jJtT}S_kXS3CIYUUSA_)_)i~jM1DuD2()@;aAm~6iK z?ZvrtL<`Sc;??SC{Exq3SL-~iiwocj>vJ%L#iyvO$f%H~|D@mCg!Xb447bOnO6t??Q0|x%PNV{ie#G-O`hRmi5cF1w@;?FO zhkz}bu+pI)Y5PJp=%q)0S`aF-z~#A9(!B1IKQi=L#Y200-!7hc#|c>3pYoMP_Vx8} zYBZYpG5&BS{_`pcbFp~oH68D+#oKi)IB`4LNu? zGA3WusUYr=H116d%DcapTfXZlLx6gYv^;dG5PdDJ1JBGr8ZDS z3N1b5Drc8^DDs?>hKUE-6r&F0JdvWuKHKCrzN+0G$O(iQ(MtK9i`)OWL%b*V9(XX$e|z-2PAkX!5h*A!B2CUoo7 zTHyR;m5a+|v&(v|(3H;4C4QZ7&8{OC(vt@X_I0 zMyPYsaGE6`#jnR6S;fzP&?7(E&DHTgdB=PfkgAVwgaED`5tQ;W-v=XWlW!{L(Ol?r!l?76Y|14x05{vp&&w_i?6>vDGvQ*39;MmI^S>j*yoI-ey{S8)2muriN8uzn6Fr_^2xt0*1?3~KZ{1=CTjcw z$HF}P_5Iy4N~ganL_za1PzIJ}7eSPkTcfrP@~)KDgt5R{0Uc`rhxattiSvai4H;@L zlx(1C&qo6EsQ_0%OE?znu5)bteLk|r;rOcSO4ATZU*$X8%@)b%{7IA%dq#d8YOn~` zWd8EM`4FT0>yWz>2Z}>-Vz^+fN&zIs(z461AthO^u@4E%5WX^~qv5|7xHb24FbLi%`T03ETaP6K+eo!SJw=-OnA z5C0|%R3C7yv<9vG3FzqgQ{OG&KQZre|DV)}6|Z!5aohCTpL(R6%M5os`1i;4;KP); z)jv4CKN^giOOK633iFOPd_x&G(=S}lv5uWiX?vdRME%wUc zNCQ-TsR0XlIOS*9VZJ!lFfTW@2S%X&m9=Z*8IXV{lh?T%4Ss{Q#glSOb$V{WH*;s~ z((xCmM~4+?8@x&hTU-RY;0Zi`X~1a|*~}`4<|Uy{4M#%5k{CbvU(>J`4CX_B%go*T zt~3a8_yLRt4JdI$@4giUUoTVamV+|jHwv9f5QIRuZL0L*QwBc=D0bv0#oizw*H(5V z0>JePGCNDvvY}^b))a=`GT3ciXpo2o9ZojdCOPgcucwf({MFOoP} z?dZO-rU4p%;_!Sh(HKQmVni-ppN8$o^>)U4@@}#C;?8aw3!es^0IJ)Wc;GJ!8iaig^z$R_$bp!Qa^{D#BTE!lUm93io#&;~g81jUr{B|8 z@t}PG^=FK{fxV}(s#HyK*MxspirG)BK1?y#%LCM)CuNjV^nOVP5Mm};i36pflG`pu z3~^1jl_IFjEl%x~mE*H^%y0EOQ*h4J`%(YZ^Bz=}u>yli2cmq-Efg(IHJ?igmuD5l zk7G}*k0rW}Z{LQF!c_?F+7Dt;TbUix`R`>C2T7*oLnhrPKYB$<49|*@97Z0NAc>+! zmHj(s+M0;?BpR|KgigOgF#Pd+ia>qoGIw$qcXll0bo0|wSv*I3Q=@??3!8xDcvVO& znt(&B!33AI%kD;B>fdxbT968d02vKVY^=Brr~?DC^+sa0!w(I|tD3H8(2z1ytuld+ zQgAa<}ja4cMucYUQq45l`OX6sP;(sFZ!YLhlF3zQd9GS!y?qgxAW!Z z@`SntJCEJd9OK!mrayb>Dhz^e(azXnobi9WZ{?ZbJMY&$ANv{awevMTC-T9?AMU4o zoJuV`K1IIZw#U%UMx62_7T5f<6xTfE(x+kvVru`ABD7qRQ1;+lk4bPT zg;{U4`$1l3jq`bCt$WP!Ivb`j!qn#k_MRE0R%2&8xS z#INbjDTuVbZ4RQ4`DeNWvP#_oCx`5(v1K2%47;5pKGSL6LkICaWBbQ+g6Xsd zu~-YvN5e@9639~CAhdBNIda49-u9wl60~~svSF||!fJOlP*G#90labpv7bivHH}-- zXxwKvW$t3rn2tv8H^j16@x@l(ZHh-yfy>wKuMQoS2&6Bye|u^4MNwjz`)x)qVphMM z%#+7_NT|uzxEK1DB59kZPU}%h&NB`w)@ymO`38oB+XQXW*;{%KGKF_zqh;uny)m&; zkxkPA)1_3#WgrA6M*Yhg0zY!Ve8{EZIGHk0IQH=9CH0Zct-vzUWPP>4nR>w{_Xj?V zy|IbMYT56oJrEsL{DlB>tPxtrF`m-$ z#BDwO8c1N96dC3iN9B5V=GrubQTdL`C@xUc34ee4v!gqz(cV2h7%p2J(qdaFkkSsCx%GuC;AdcfnBLf?!^jf9_ z(w&KW?Pvt@akBbj+i%E5Dcn`Rh6=CX!{sR=?3>W3!38Xv;-`@Urr`q8Zl-GiCT30Oq{j-y)vUSs zyYW5i*@1`JjJE!{z5zU1X;vYZ_n(+Yfc;NGlIJ1LWj?dG0F#=?tSnkLPM#~1Mx=T~ z0bt4CH0_k=Je%;E8}4hP4+~_|VUiM%qCy!9_aP6P#eKlycGV8YjTTw3u*!dKncjC?B!8kOwqx&Wx?f`s`+~HaXH~wFXfg&r1ts7 zPfV$J{%l9u6PeN1OhAWy__$&TaZ&3XBYab`g_&?(_zvHd7>=u!@hB{}Q4b^{SHZOT z6Mau8hdQUiBoudwRJv~IYrtcVyC_ZMYdKsEMatZ0ln8SUDr^3ZZfE+Y&3BOC&ws#B z5xNnMISzt&Olps(ooI_5r&s-G&*X?gecWZhx|>)TE8YE9RUo19JfS%F0BW`z84L?R zY;Uwu8`9Vlxc@|*x97y%*OrOPYzMdxsUf9`%f4-Y^_fx?UkQ6Wf1Sp)Z|e$CIo7+$ z%y^F4e%uwEPzQRkyud!kU;_Tudn>)L68l6qr6~PlhMMdg zPi|Gmlb4=85Z~&?y39VtBA>Y|)~Cbyp9)8`CMv6GGV68d9{}w1X%q6>Jx7iHo&Et6 z^zxw2p6eeoZm;|^7~*1oDtCH%{`p+)9A(Q!5!)+O(!S^gPX_)ST>^o2LQ*#MzcMm$ zmK4g@u@BM#mjWc%tf86s53K%oLQ0X_^5Rdd>NK7Cep!@f9!YeIzy#(qc@eT(H9orRvba0WbwKQW!n1izeN zj~YxMASOKgvnM_ngU|lW84*7sd03@J;eF?z_UP!efA@cS>VNTp^Pv_Nh3TZ23{j6B z-;Xc%=QJfsel&C+aM$qziBkxol&Clbo}(a#YkfU!q!%jlvR82t6VaI1bJ?73&`q>f zt61+i{(0I({Met0bo0D!qVTb)jb)rDCHmP)PWwz?BsNf;!Y|E1iiC)MDz63Y02y&Y zqLLid&CEF^sCVVhV7VFxq)RfvmZ%8kaiZjf1e)V_@DbfSgpi8$=wB9|E2B#_-my_1DHjM z_@%_6wqA0!E6MlM6{?CKKyG?o zP@|jl?Xw(Y`3(<5NK*Ylv!Oj!{yea`fZNG(s}ZOrX1({E#$qV|YUBN?uM;D}zFs z3pf=$9pZUl1 z){=?22sbXiSK-ZOh#XZW9<|UYmek!7^3uh@Q`_>KB$La(%zZhNwMbQLUQtMuG?9W{zMuNT zX3;1qD)olVc%j-aukR8QQ|54&^dfYsjF_C*5G@&BiwZRb)RY*9& zXzMr8-@imKq%WB#MMo*a=v=4WS4%RB0{|yO=r|@9<~r=Esk@&Zq*#M8Lj2rF$EQ=SRo@^bsJYnp4Dm?La@1?}z zMk!5Ts;4fqH#X1S4gQo=^wW=@`N_aq;Za^@n2j#ST^XY9LG_Jfp(5txzlB8)$X6Ds z=<}vCZs41)&!NvxJCHG5>tnR-QEnw50fQ)%`q-9D!PtBBlu4L{P%VY{VLQjlEt_tU zV#$xH`K3fyp^ng!_Rb`G$~%8;W-SJDs3IBgf{RE35l0@WtH=P4CPSg1QHt4)9)3@z zMFmtM@R$e)`_UC^vn#pH;+Dy-q|}}ClmQ|!fwCW^`d*bCKW4Yi*x+uO(A=f(diKonmXM_Av@LH zOS36OS-7lgVswrMgyfeLdGYr#~o+&J`h0jB5gFI*PDBQL}lLuhWxBnK|VAl~DcG-i96OqI2WHj`&W5i^5 zIMJAx+ax=`JQxLOCjN|LqKCb(Jx<1CFw$cJ*?r(4!{t*YBf=qU*+BCrB4B}Azt^WD zLruVR&T-G~E~{>ORE;DYO@^>&VbPEbvc=gjYrXl_S>bVZ&ba-urYwzXR6Z?md) zLT04%Jh58-80q5#4#(S8bpPmIpH$d`CxxW|obJP3si&P@Fv6uKUCtX5heGlWDQdaX z$EKFt>nH@XDln1Lh?YVI@WNUqTzyu4eMjnGRFpl;{oDmu{ zH60e&J(wZr``5V69UcXw?)+KVigqTibXj#MordFs)`j@ZZ9Xa9D8t?Dn;;v_$9AR6A& zqHAKy-T-R*=E@}5yvz3=p6M$8ed+n5-g^RAws{GG&ZQSD7L=I2b~0iCkr{f(mk@Pg z%Ew3uVF5c)m~|)wqX-Fw38@L03F%*wsX~aQ8<=-AKb^cQ5BiGq*+D{I$*qZ-{K9&X z-T;$gS{geJrqI}MG(hKXP!qf7+Y%3tWcf^E#Wc)OZjkV z1d~ZaD0cI7pi(-W1_XKzBjfqEQgSjHL?l}>9QQYSQ)`VP78b5>8UQD=8zl|Lf1F#X z%LYUebN5CS<6M3-ogzwsfeE;Rzhv@DEgW3c%Q?PLS+Uy6>x1T4@|8JI6@NNY9v1*B zGMNnrfD-*2ai=tce;6_OAE1Fh6L5)9(74J|9SG+Fn&ljE&ov%44Y$z*@Wo(c%O7ZJFO(-7}FZH73E2sSCD5ju}1jeIog$R!p(b|y)ntV}CC zLbd1vD@M4p0%VT|D|kb!nnDw%?zvACc4S!Kn1xPFN#q-cN zO$JWfrTEx(Hu@q9DG43VSMp^3A}lL^x+Ot*E;NuNz!pV%`C7;GA6L&Gcx_6&y%~r+ zG@-9L6;}1EJs1XypW%(6$#;1M@=7po_S4f6y2!C;$Z%g|bkxH5Wd8P+l-;U>Qc5C* zJ-R=}4f7POGCC;gj*d)%kZlUJVrnE|)PX-y)m z1&OAje~JJihOPNhq#zvU_}Gd}m+4J%*d6YEcdw$xrSKDI)WtdNSAC=Gi3U%0R7w1y z3^JYa)JGf;K(-Z=B%BS1lmAGZeQ2!1sT-FY5Cc%nIk#~oifQ8PmNO3rAem#O<=&SZ zb*kjcz3;^9def6G>Z2x^Nm!xvN8!?V2vPV5W^8$nyn;WM`BUM3Hn76?WvT6czDe^d=R5pk81fT2IDw>dIwW5P7?}_ zeCA~Xtq36{ipOh0XDi%)y3JE6VN+jdu3LX6RY(l*)eD!2%+E(fzgWU6s+L`Wv^$)R z34?xbX~rj%aj{I!5XtMpHfcb7JlS?OroOV8w?1ShY_N)zeSd?+7RNceJJPpQIF`X8 zzJ2Jd9mx3il2ZyEFP&tP$z&pYt(3s> z##0f4(@(X)IZB?P36gQg41bSqJ<0D`_6o*-Ar@u(laSSojM~dFikS~NnVjHE;Uy$X z^pn7evNSRO_K=Mo3W|wd$Gq7j|6m>t4_kA0I;$lHRXBhd(L|0$f(?joVU^0JaeUWT zatg|6^)Sf5*tagU#jnx!^8CVyff&o6j1F0 zQb^RL;=r)k5DHop7lvH1b(7+XR3x6(zE#+R9~Mq9@v2AeNr=59R5DCExJKlx=ofVHr zF@xNHE}PW(B^`JLp>`5E!_Kx7qfZ}bV6|Ae>PS9g^u66Y4>t`r<|IN-cvTK!XyT;8 zx2nSlz8H@tN0l`an!sUt3%gUk6U-4YA}96Fuk*w-5|(S$v81?hsY>uu`B(e_SMYI(I(=nwMUwb}Au*=+Li>PZyi9^{yl%kNUjI2Wde98=s##2~50_ySW!+)Ff9s z`cv5I)>|d)6oToOIvNXpsWydO_dDNu@Tgn3x;|bq+`G20-Sxaw7m~u97Yt7K=FlkM zlyx>A#h@b6*)gRzZq@_!k%%p0b7dZ)P!da1QfHl}SaO41jA!T(y8}*fldK zIL@OnFR`te)rTChuV_%NmJv&TXp=-T_%itRZpYf;($ds~YdRtENG5?eX-Vf2w|3Qo zSmFKM3ZFy*mn0e(C&@hEQBB^K!h_9!*f5i1XyRRwPd9jA`OuPWpn*>ui>@+yZW#<1&P-ezbA< z)Wmt6XNDL8D|QyS_m_m{Dq+Gi(hdMkX-`)OcT1HBuq^a`laeO;ay*6B!Kcl5j#oc1 zApV-!+#Hb@@Hmt2K4s)&KuydUE?qwbxm2*|hb}JKOx1bzm)yy_m3EnmcdijA{RDPA(#H-fxwMah&5iP7k!-v|; z=8HQ*z8Xcx(_KZ8OT-REUE|L>oW_YMS6`QzjK(7*#q_(HQcIpn|&QNw#`*3$T`N2aC|i z7TMmF&_AoP%}%q0AMb8jiItXhvg^L;8kn-(qZrm*aqt+bwyp8ad2HVg8rBWh%sv}j zUFp`XkLuN)kst0Y>zZ}xI_V3NJJZ?M0uMSX2kMwv*uGS(pr(Jh)Q1`D&6sO;=>Poe znOLb9z+Q!@GgZjuK^@(0O`7x^P`fZRv*0zzo3WWxxiBA6v(QvAQ8^I7Q?jb`-yU$v z^1G{jrBz3nTqZXMLk>tA0mwaiig!so+d0^PGuNLy)dE12#YqgU-PmK$h1G*R5)k{nXB(BBU{Hrrd ztqE-m+#-D>eZ_Up)A8zu^3=Z({hFC`0p(D(0LH`k-p2XsNq6WBxPAtM%}r)LaiQp1 za{;0Id0U=3-LjA*?gJ9V%)_|PYij38^fuLZ>2i;MlALQ(->E03+GcugJ^QVu8MS7D z$gxd5sruVP$LJlAW=qvnhp6Zf<;l~6ABOk&oi%~>+UglWJ5J(>>JM+~cf?cV#yoE zDR6M-lzz>;^l8|snxD11{%>L+@>ibfXeXX$5TSSY_F+eVo$QS$MiA7VP?2R-u%o9nGC^Z#`lI zb}Gp&FlD~VF`w1f%1VGqpD6*Q*}^*uOkc8BC48TKcv!EOQBMyo7N}ZV1>*_vi z%vqV{%ixAGBIawGFZBsZU0AAcW>%wW0h(?msX8;DA2!iwsVcZuY8C z?Z&gbg6wI;s{!_^JIU2$8qIrFL2h8z-Ri$UqF*v{AnlxiB#1_2La9O46y2}n$Grk;9xhFAPTptci+ScnjcXBw-{;Wxt;1WKC^`b*(okLV8>sn2UHDazU+B?KWmQPP9I8sq zK}Q~Iia;h(lGKH$Y>Cz0lvoS0{DLrFM*Hsmb54zoLVCjw%(nB(xe6t6Swg2snGK@1 z%VDUx3FkjBgDSYk^1NoUblD<>{xujWe}O+e7{T!AIPukj*gsw`*G<h0u zL!e0d+_j6G7CDmWrl8WO>MGgXpoMOf7NPH%U$E1mADY8;&>Bp-%^g99_OgL(%CT>J z+Z&}-0h@_WB{+qOI73~FP~w{{sl;&9Wt!~<+3Z{sPZnZdjBES2&xnSqS{deOk+-^F zG>t<~r935KnK-?FVGA~`YSRIKT<_zSM!bUN1+o}fu(68%*7&Y(xm=wES_lFN)M1(00D=~H6X(D+G6)mO6LlExh~GDo3T#aI~+ zmyg!U?qgh4stfTPd52-d&Lt_o>QW`%Od05Ghuqg7s>cj!ajGhf__++Xm0~BChy%xJ zs?-)3pP0}kB}FCZuMBUFdADn|y=3nI>{U1m2z}V60#g_AszQp4z$bs&aPot=KM4Jw zqucu7OP7DS#%@+^!Tyr7VqK(KX%UWd8g99!pItV&jK;Db&L$vb*^2QbZ_KrLG05=D z0&9O!-mH2FO0@ZDYLQzU7f2xO1LvpJ)6F_WCZhJ?DkH+77-=U#40?U-%^a~c~PE(jeQ9LY}mSbUp zfoHq+)y4anY`V4$wM=b|HYdM5RVNO!{A|KI6xNbRw{Nx*qN%!fimB{pRUG zw*l?*L4UCQG6E*pb+%;-u3gpC;?1>TV_9ibBLAn`c60QX3RbAyp-ULg=u~w%E*7k#a?wa_OHU}j>0*Z z$!LW$r|t~BOMy2B<|v`51xh;4UoHGNj%bwzUxqg96#JI0;kG?#Y8|$z9p?CoNF)#3 zHuTtlSDx6#oU`$bHMD;JMzqq`wK6j0Fd{emJbiHMykn0Q^lH_1M%wyr=?if`GG8gsjOetZ=oJSpO|EjZq#3&JQ z8A2-YFJ;;>L?cBehbflDHN7B2Z;c(CHy{Gh8y1$RFYYX8C%sxz(gLkv@sLXJ=2*<# z3rb+|=p0`yu{jJyENtrwLfZ-mxbr5tbn;do@2=Mo-f|>dnDTF6(U(GLk)Mn*=1`5s z!52GY!+UM3U0$~36o^Y|+y1FIkx8x+mWh&IRv$XiX=avIwERc2fGPn}4{q|lRHGnW zOe;@_)MvC_?=DRcN$F>_NCF{K+bfnjIA>kGM)q2++C}o?|fOe3*lVPOWD9S9WAg7!9}K|7L^EEs|udplfSC-NlZv|9dna1 z&orO+I{ZM1WJxI>R8L5-`Egq|Y=;X~DhqN^-F-=NJ>a>>%8}Rv7F4S=7>vXwX^f7Q zyfcMAx1~?NY8ZXyqeQbNY3wq`E429j^LS4e0ApZV)txr!@*N}BmGrJAlex3|8vu^| zM&eOtBLQY-r)?PFqWimRt8AK?G_vU--V)iM4Cxf7;Lko_P0b{ybqDg0lZQTeea#zX zBVo?qJ++R!Kkhkk%MV@l`-)AcV~s?zjHJ_h^FrodEZ4P!{5$lst_!$H>9T5LDYa`s z$4b}J7ytYVG>iPUBt|zo$O&}|i7xpF@kRo6RLBYdg@FIQ@DuOdu@$UjOj)wt+fpE-#O(F*Z|ZOA*}u5d(uL~dc0ge3C3cwD zdXQdiZ7t&8&3aC#Q`srWmU1FR+n?M9WcxNhQ2ed3($ytVqySE$aKPToFDxwop8bd< zA!h}xy_wlPsB2tw2~i=CKoH$s&b>Wy-Pg+eZ)EI0en9qzHL9>PP@QTsj&-?26LG!pwaZ3})-i z#FqWGl9M^t{dei_{(hN3e2yf5^j)v07X=B9k z6odBND)2~zS~{RLiBZ-P3EncfJD=vq=kL3O^xhxTUH|?A{ci%=(hMN26}?VvXO$n< zlD?aLKdOH)-_>N&5i)tvIA&8qPz{B?N+i~`i{?oT@MwDjlb|DrExTap0W5!rKa07Q zq8JJ~k4NyCW-fq?kpt!-E~M-W5|XQLVRMp>xNc`69V$|VPC_6gT)ez(>(QMNIly?l zVglo`Aq6&>r$$Hf+=$!eFi_4TB{{jtitz|~Jz|y}f5#y{$GfSex${nwdLNl5-QFoI zpkKft-2Ut~$#FE}zOuesM4ys^zJ+(`nO(K3n`YPW?*l31?>j87(|_SvliIC7rW5%=-Tf=q$bamHBqag^;DEB{9|> z;?g`ufuytV0Qva%l$&#FyA%DTb|_%ZcWH^gJpS|h$+ki%+MV|ue(*Vr1H6;#Fm*HV z9NhJ{Wg2)Sef>+ZDBysL=WxZ?mk5($3jxd6?m#Np7a&1;=f%%Rv4qP#=G_9Xlq^qV z84Gxtx8v7hF0#JI(lY35jG#-1>hR-iIjCi~C~%6e=P!%csz>DGUkBNYfyZrr(RZcz zWeDUpr3hcsE^L#@_bWs}VJ-zJ$?HGDI4Umlobi+iWnGZsRU@SP$n|X=`Ek`V))kqk zEkMf;&h^fAJKBwP8R|_~-WS{S5-cTU%rPco?>T`gkM0Q<_mwVf}VP&vDD`!Qmk*h~%UDB+sV8n*1c@I&*4?#-`*_UR_35_UeR1QpbkT zz7bW`lt_v|y-NGv16>kacp6<8~K0f2TW z{x#C!NPV1neoQs@7(xf%BQ>v^SCM#|H;^) zLN<#-I`H}xCBPG%n#?y2_mt7(7%e1L!1@U|8RM;BOeQ&19QgO77XeXEI%RG^HY&B{ zu%RdKAtQ){Vwotk@}hi_gu!M==uhBD-}V$w<0~FKq0x%z0tWw)ylA>+p%KpzL~^gL zdkGMgnK26Yie_r`N?R=6=Y_&Al;hZTl+koQ+2;DD15eNw%J#sUWAI7e%@h(=OL})` z^~_xy`qZ^8IJ$*2j+o(qWj?BQf|lf_f9o%1$5ctS?~rDGYBHTwbGb}PC7H(lSaGL@ z>9xT7uT=Swk$A`b4{moONPjQKDx@p@#nmhODKf8S8w<@(0z<1s#@+)De@?!(OjASCzYDD#2m6!*TkP zf+Z;O789Sw&PR34!vV5{$>2ALU^+<)or*+P`!(?V@8mtqc3IG2GA#1;{^rEp=f$0Z zH&7#BuOt?Jg|3<*p?uIC!)fhTk2nR?M@*?54?Gm8()S1LW!$%2_iKz{-i*!1HFt(V7Q{<8rR!? z0;Qnm$R+e0?jVyLM0~svN!afE^+89Lneg3U7^)#9(E<{&=(v<3eQnIDIZ0}SOzm@o zAktNm{!)8C!YKznkPr^mYlMua&^x=$j|P6712ga^e)^zzPy|Lfz>!#4!=ByTquPT2 zx|Fi6NDS20xm$E5+vJi(0_df&C^E z3s4L?brN#ZQGg+-atlhZC_kjn;mBee_j0R&5HNCTr%_kl5m5rrxi;9NZkqrj z!}R8HU(H&i;Ygu*F=rxmVk17UqSwcrWnAu)5oim|O-!qvw6u5jLd76D;{_rB8Z8h>?kTw)ToOeq6V$n&*WC>kr#nhSI9H)M9F&V-fj(FC`#^E8K}Vc zlXawwqoPnGCSkh(XHXm_`rBXG5P-k!6Je=ieLMbS6u|QfMCKv^2*(D%WV8slK3if> zFrjvcUPOIew+a3N$sQA#B*BctH2kFinUsrz>Q<&u`@Pc?>KvRZ*IEyGaQ$LqLPVAo zigdl2kudHSv_5Vg($BZdj9AHCvYCRNXXCU-0mkJoJkS6AvQ1rvlV2+<1elM|)2f~? znz@U#*b5SQMRXE)PJ{8szT*~oww)&@lC+Gy7;{xMPh&w~QQJhvjPdNR)*B}iZIQl} zvZkQAi0E`S`7vkeHi1OXdn4kPQqUoGp9e*DNIaDly*qW7g~IIP9&*SBqimnjlx6T_ zn&xw@5VS(}(cF;~2iQVm=Sne>0M`R_Tt;g6yJBwZyO=>wE8*LC?#PkNJ#i0pFntri zQ>7(>6c+#mM*~glVX^KFsMmxFI4-h-+cZ1hjDr)#u>4~dDvaO0mANag7&`OW+z40t z{MgKS*K`}@{Q9K#3w;F!H5?;Gyz@Jp*|0@a1=7lf7=4T~L6e$t)SGMvhIgu&fq+m3^^eosM6%5hc|kfEh6cv3nvxwq7uhR`C#&$hd?6d3%Wpc{z{9CwaZyJVERnWsv!I^8sl*T~1h* zmigme#F80@$1jZgtR@&I8M_vcN_y{UzsAS>$X$-nB_BgXMPZAAtNrOWLZ(i(D~2cC zpqL1Ck?XmOpi5x=7u{w$!6L08#oZVQ?n?^t5Y4nQ&c)vT&j76=rs*!14sG0Vr3Kpa3Y*h5)ABPPCmTQaQ3d%lhz}bM(H4JBZ{Qh&b-1}9p^U}rTHmBzG za>Ls|$=gAe_IB;VT!9?NUv-V$YLzk%P=uoyc~*{kdL>M1m#O}FdR~$qI=E5_fys0NyK#{?Bt}pu=%V;=b;gdEz?Eip^CPe%%p+y^qZ?Ja3AEKJ<_|elkrq)AalKLOuD(vf+%}(KOohm@fE7 z>Hnq>0}k;2D(JaZ{jkuuQVfs*RqvzbG#0zKYI4=q;-?`i6l|}&j0#CBQZQ`0K24mbt zjo=Dq>9)_)`tSF1tnME)=u-%i5Aiu97EXE{+xb;!`m9kqt;IaB%aBYb4qTHel;@t<)2n9K8_(WgSNnLrR~9OyG1<8 zG{t>$^T^PAuXE73a>lWlAcp7uMl5qR=nK%mvSn9Ht&)5bu>ZjVv6JV6p|eQuU#{;Q z%cp%Pa1%*b9yCehc#Av|9us%~A9pmkwACB#5g8Q?$U8yZX>g5ckTRh(S;oV(Re2cN z@&XNzQSudg)%mF2=`gOK1Y3V8CPN&|+M4?;Z}rQ}IO0`dC*3}mqgSzqGV7bk*%{fB z9}iyi1QXn+1h7?fTs(_P6bN+1X^| zptU4w-P_wO$j$v>OL_TdgW~7uq99!`a#G!SxB(7py_Mjxu{uQMTX##hr^ipL<)CKb z%9zAVJsScrLYVs*8PaYItv1|$rOC`G9d1Sc&-wQa8y%@P3lvm0LUSWpSpbS)FwAom znm^2uKs6ioJKCiAGRB>`wujr8REpz~7dt{}iBmnu0QjZ1KO~BXi}5$MpDm`Dh_Rqr zS0U#TN%Cmx%Ciz!&4)Kbpq_ab8S;PoY@yoX*4PIJz+R+Wvx6qn{>AlX6>V(}Kj4gr z;{F#*du!U|0J89wa}0gp@wx-Q-D1xFuc<2!hq8PBrB`~9B}0ivW|x#OJt|WuE-MEW-L)?EKx{{?Afw?&*=O6UEld*u4}G&<~-*)_c`~u zKcD+^?(rRb*w|T9rBx=Y^5CVJ>|nh8fXwUcQz!Sy65to#CVGW1nOSjNER`)+qEfD4 zK6gHZj2!@Y^w74o^3=dC&QSnC9M5U4h?tv} z5#j%HK}~!W@Kzc|dw4{YL#tT%jd$>I`N3Xk?bcxZY~_#p*j|;x&|UR-J3s zi0zV}^n6vZzvLBGyDjs(nL_u}al13tt?P|{N!PC65PvfJvljdP`V4tfAY<%)iUXVn zGmQ(P#3W!_^bphD3S^K2kae$vfm+|bsL4bOTTC8nZ)(|I&Zfx@bok`Sb>HI{4i+RbfW%n^wStj)CYTZCyg`1ea};@E$@oQxsq5brMH;+|yG}LiEM& z-rkqFH7#fsI%ZaV9wwlSBGvOwBq7W?CRH^dmOvS+ufa1L|s!aKn@V0O|dpX2YD!`=1bEzH}y-J5-<#r0Gbat)`^YXCZ7t<#p1+ zbb7dVz@iAqcTo=U&eJIG+`E}2Juv7IrBL7iXqz|5)V4RuLamitQ%69E2@d%OOmi&JI60s8iw=Yx8>S$kMAywnrH9kGaI! z7m*J3MFzgMht*9@6AVnN+n8gUy^&EpTS_`S7$}X9{FI2jRa~Cg5Qlf8%zgE|x*;PF z+Q%c9RyA`=@CVdezr8yU8bb0NF%&&3ihdN?ea_ILD0u>D=53*j@m&30D8v_0m&h4Zx#!VYWa2Xn== z&8wDXh53w(^VXNqhw7=O5pn0m(tJ#`1SguDdB7%yzyAoCe&~)LtZdlD|MNztq zsP^X=Bs0SKI<#+Gp%gN(`ReC6H~@equ8a!e4dEsEyyl`OnfQeDoxW?@$8ZIR_pK33 ztg9O}ky^`)Fo_!tvN+un0z*p3|$1afB37j^52x6p{b+H!NS zLFjTL&dor2LZBf$X6ZbPiR1Zb5=ilY8i@RqS_fY;oN}&eLmw>cjI6=wvYOq6tUkSZ z(_`}4p6jngQ(C%#s+z`Lq}N+FZpi&Fc6;D2-!YYAs8?t$q&>{tJtfqxFf;L{%?C_+ z@J~JyJOm_f7Tb5kcQE-L)0_EKU*V<3EQ}{f^I^Ey=8={HSQE?30OaHHk&O$PCpi$z&fEg14KiYxW=JTgcf2`fDaFRa1$7b$>nmDr6aUS5SG+op`V_N50c( z5Pym14K*FR=F#Cn0>Z5P&9w!-Kb(1WgL5F{AVy!ppE?y(FtXD0%#fZ_VArdeS$&~C%(G>=E!<|WQVvg z>{~X3#0-9afWSoQ<1$O8I@HW|#+`hg8LtA*E7Wp(6M8WdI(g=t8mDq-^RLAZx?n$1 zglkg{HGg&vBMURj-gF#8-uZl}b+A%dn&WPUq?dcTkN}Jg3?>)hK z&R0uyDIrIDGwFaif~n4WK2`{>sR;N8rVbWBcF4lBvFq3n6D-Il_1h3R$8a}gu7j(+W`FS1FuepQAMLk^BQge!a9yqYiDgl!~z zAw<3%KU@Qp{>5V5T+hmZS;Z80*u(f4iktC>)HvWu$t2nyYo7aZ0*`Ao+q}v%osjXqmKjbBc{M3PlL`vo;K%>4oS30({+1h zM#s=Czio439epX8^UH1YF6Rnmt)BblP~HMm##E0vuX$?G zFk1g(bKP(83V}Zt*=JaiwOOjb!iGkxjA=r7Wc#tovi#7vWDi^ND`3g2t=-#_0+N8cO7JRE|ugk~$ z3b@ZST|Lsr6{>5L=-rp7I^g3?G5IJQXDJ`rHmve_{X-fuN ztH8k?-5v^vkCjYxC#Vwa4LQH#aWE*f&!n-W=lUkj4`#3|rt0IU)~mepm|fe$4&U?64`gSA z&IxbVF>KWR+-1fUQt<;eESLL^twE70%(kVX{uXKXjPATok&&A!&7!QY-cul*e140zONto^)gdgAS`>NGLzuKbxA4TuN-`Oed!tq-(&$IRlDn^hGs zJl1DNlZgh-iW&q#X&U~WTO|SH-w143UYBghEP4U$)WsJv`7jAd`sa=LSxBA3=L{cv zN6ZWFj+a(soaXmnb)x7j-i%qGyWewig#LmHHmxYZuTI*qGAlok6y;Vl{}Fn)(Hmrt z_teYg8G5m9pe~Z2%1vH>uj>^I3*Au{1XMh{+7BzhDL*!ShJ{U6$lHL1guuf5yiu1( zGz_WH-1|HdISVQoumiOdE`8#-`~d>GD~0x&T!*L%7>QG3 z<6C<4oE}+Ix-_jQm&2+8V;68C*A7|2G%W~j<6Y;q-$+m10Hza|xJlAm-QTEI^}E4Y zrgvwxz2+yu4XQhtHucUpoml6r z>tMe7NI{W_rJZ$SX;6L@$i4KR5WFZSrP0~R!ltaE`)s*D_mOJ*iKkaTF8sox)r~Rd zSe;8g^^XGgKdAGj5hU@JIE)<)cN|YP=7}4o4Mr1;WjwP}t^Emx+dtUc^gQ}!Kfm!% zde6Qtb)FGD4y0#NQufKkR9YwLctkKyi_Aw$bR9Uqza~}IAConpm6!Go;6~eVHk$2y zVm&!g3nY~ZEr?C-6Qwb7cutya9X<7}V$Hi9bRQ*A2g|P}<7O)8T{LS#UWfO}yvy6q zkL%w^X`s(cYWf%eddMbl{S;T6@L5dSVz?Xj2IqG@+>f#V2_231Oy(x{YuBX<_~nIa zbRg3N;1PZH*LwPXFII|CQhr6?Tn~Ntyy5ORFPF!OE3x`JQM!tJU9R^sqHer&ykweU za}iS5Up3{hx`*%|F@;rk$gnuvgh0Ax%ohyS5HF0z6gt^}+$5nn;GF zICN4q`jt+)RsO^mZgu%#O@$#t;Smx(5kbQc4@Onu3T6O}Mi43C^-_-%+8m<4n+H1} z4-bnXi2puT(z-A+OlsYlaQl#mV97gccfTx6sBqlm- z`AET^hKF0r$F!;I#Yc9SuJ7xv9)*Gd8>s@n6I=v_I5%mb976$4MROlQX9fKLAyOjb zpdOhep7#Z-2Z;d?*-sMpEoS`~7UrN(R%J;fpsZZ_RAO?ai0iCuy1q~P7c>kbv@D_- zl~Z}S{7_&Cz1;U$mNo+G;_qnnCl=PmHsT>>dwn3d6_Ny1s_ z!oEfqST2(biVua2V605IHRVHQm@aD&d#px09%~+8Sq5exY{(Na-WC=HvKM#qnko&_%^=#VuTN4qGPDv08_Cp}%$;bWPcSWz5CHqrDKs*pRK_5m4{KY$otdh- ziPpgCJ+1+7u-cmZ*?-hZ1WpMTSs0w|csgi(-nh8oG?;M6Av*@2r-{5rD@TXAl!Ua{ zx6)XYB1~)=Ku3lcI9;zChN^e#{0@ja)c;+?qWX$Is&8|3)+a5#WaMA^9K)H`v5$#ac&AlWD;X9G7J#S~Y}{mOKVJK6AQh|8!%{Hvvg z$)B6Xfvd)`8i6i`_mA86V|Ta#0ZiGD4qvJ11JweazasfI^P(z1Rg7avjgyAPvN4sh zu`wy(`n2=c3I+}-&DNb+I{481nd1(9L-q#g)I5K#1GKTCGu^!bg|NBb` z{@qR%-Chb(0(Ft_{aM#_NhA_49I!vYl9D|3ki#U+jQh#synVdnAYRsYflQZLz#DLE zE-Q35g1F6}8^U|u()*r!?SQlokuROxTzJeMF`%7L-3T))D-pOxe3dLwok6y*0SE)a_TT@SLwx7{^HEoloB#j6$=sE} g{QmDnEW6CRM?u(g3B+_Z`xD@WLFwFhu4WtYA3?UDQvd(} diff --git "a/docs-en/readme/figures/\345\205\250\345\261\200\347\255\226\347\225\2452.png" "b/docs-en/readme/figures/\345\205\250\345\261\200\347\255\226\347\225\2452.png" new file mode 100644 index 0000000000000000000000000000000000000000..c40fd5e3f15cbd316c43dce31020740396c57d3f GIT binary patch literal 9833 zcmb7qdpMK-ANMNCs2n4a$!V0smk!R9(Bu^L4LL05#E6_3s;!6|GUmJz3L#?5VQR=> zL=G*6nJl3($IUFB_5D82b^WgE_dL(_JpXLFcYk)@pM9?T^?APz@1$!sSB~(X;0FKz zM=T(w_5i@XSnlU8zJuIXhrca4xNrOJ+g~vORDYIU;2!Y!Ub4Of0Mw=laNK#h$H03K zr~3fFQSQK_9s9b2-gp53in|u3mu^J5(F?7KiVh9kE8yOrdKoE*#N$G%-a|rx(z+IR zoW-QH`V~A-=Xw<$BtY&7-4do>I-_v!6`!OIU#O5=j@@_JNkJ<3U0_uM0RRO&d>{b8hOmm*YoJ6##I4sX?-<8ay2KrE+l^w<2X`BHKtIq^Xv?so z?O9Dr*{Dq0HN4D*QCBkI0(%3-E5>z#{X%$AHdCd~XLs0e zi3s_+5NQJB#KhZqyL+&PZFgU$UNKeBAZyt2Z`PjgMeJEIDeb$DL{7HLJS{%6c4Pjg z95rMoaP|v4$rBko|5HEVobFu2!J`zJM%UA}Bqq(c^!s?pWl^*Esho_juz8xS5L&saR7}@LikLNZG-G$gDcOv%vfEu zi6LjA&ObPu5@m(3^;G4@D9C(rixnIQyP?!^I6G6=-7Zk^q03!4>owr4J*_MV{82$! z+&OGE80Opyc4t~8GB&rdu=tbXj;9HNqwM*mfP(p#nmz=LwkxyDvA97#zIe4Cz;;Pp zTc_a#Z~}$%DrVV#;adPzLMiQwBX#HJ*QDCk0DIJ=DivKE`M~e}XwdnmW%r-GeXq%# zQwC!!DztFH5GyK~=KlhdaP0B1t5RSSMJGLDtbta+33S#%#?9ogl)#}k=K~8_7(?qioAeveJS5mU!yvQvwWMz7oWlCR!<&H-Ru{} z3%e&p%2=G!hrW`d3D@DX88{aklgr;x?@%QMx4yhAmE$NA-Kl9wp(kxnwQ&}G*{7%^ zr3>f%&Znv+GSGbS{kWs+MVg5WlE+I%;bc{;?o*AorDWxTB}wj&Mv0jweru8z*I5@% z(A}MmDd<|V;-X%u7=VdEdsT*-h$Q9BOY=v}K3ChsSd>q#gi?tu*$Y;g)m{8O{5}`2 zseXC<*RkrV(QpeNafjEV@z+^dOFcWq(btj2KI2_>?5Pw(lHCcWkv!+aks9ibpgHZi z)#_z?Fy$K9;+xDKT%76)@7&tN?Nf_%_T6m^RkdNCk{b&PbCOM@SbocvT7AD^7Uc(2 z$rlSiS$T;*6>WZ-nRK%uvt5wQCWO)GB6b{W>P|?^?l)!QWJZ#oNyhwL++jYA$mGmsY$lR}sW!@yNLP(i-IiPP5|hkn>69OUkjIM9@`?=fEe|dJ$Sg3CsD(nU942DqVJ`7@dp{S&5>2J~P!ZKe;^`Q9G4* z2mMz@vtIj^)R=cLnHW8Xu_&ryoEjNo$6|yXc^0FuoJEkBN?uDM=cEv`rkK6W)9{TP z-paEsdJAQIZeXC4Sezm*x1(Nd_!OyVe=6Lr|q9G48sz6!R1n%Av+l-;>?wcxDw1+Q;nM#QfW zN2}vd_^9m#ACE6EoM#tbdf{%(J{+4 zh{2}We5!b)tr1T37``=dTzu?23DwY8aEb~&^FZ==cQ67J{yKMCEuoIl2BFtok?naa z>8&AwceUx8v!PFDN>&gWe^)7UJ_ZMwo3T_I-KnDXix>E@VX)ky!_sy$$j-n@{&ppX zeS2pq(v}tU<T`3&vA?6e&84`~*JEm_L{aMm-l3rI#_8i}U5`gVOoG~2rus`2c+%09B(O=x*v&d((^$A-XdSWH)dMv z?6S$Tx8Ag>#LBf}f9d(CHO5xPFnU2P?ZXiaMc&m$qxwSTpW9FHfqwCb4-xo4Dc$kn z*sM@z0_L9+2GsRT?8x37Sxy_ZD5nSv;EUJub10+B{hG+cTE>xXTOU>C$izEW++V1F zzz72J#Rqk|=&`Q;sMamx@<4#q!T&2W>=uh#_0QEZd>F$Y%E`nmPrj@NP|Hbgi=y)y zHcbPeMTXQE>+DwF8Arql;kyOt?EQ<>pxQ2~3H8vy>wk?RjH~xHbt@QQclUSaC3Uzw zedzJ0h*^ zNd2VsAoJalgQcVNs}i4@X=?3ylN-a*(#ho9mn}s!%Idjh;Y>j91w;p-(V{knE>hq|O`nlW}c$zPJKeUiMk53NQo*x@i@ zkf&Of-bGj3v}9w)&_R}vXd;a7JA&F>y@Q40nC|)dKt9l%v@L7n0sX|b9;!fqkmd2r z#f^ovR%G0r@HiXns#Q@V*QFdMzJCCLG5fI(+$W@X)`T!>Bl9;2oERJ8q#Wy{uC4SE zGlnb0lc>8-Xd7KTw6>3dH|FPb2uwfM`IR!!;z*0jEVC%+C00cWTY{b@gl}680g;7X zP4z@l$?IV}(;`hy)k%qLcTbVtrv#Gcu^}9m@^*#BP*TLSk4$NxcwOqwnzDVrpA(J~ zUr0@2yzgP1AV|!A$@#VR`2~a508fM%rwx@J?*IeIb{rMMEeDs ztx`e%0}W!IW)2tl9Kj$#-jc=Bd5o#0SbEGEDtXn(rQLQ~3vPSN2yJ}~FWNbJCtdOM z+>hc-93f)A445nbt`-vd~dt(VZ&l;EwB~@AoPMVYHj^ph==U z=bE|lc&4LSuDnH-Sy2{=?4yO#mwXbUKkgNw-1&kLmR}m){qEBR#EKF71|%B7x>T}X zk%DCa!SG;wPHgCSGg%0WwEY?GDpi&m|L)#|UdvAUP1q%f*Aj~^2&+9ph258-f(jHi zLbl7^B?xW09^Q)@yD$tB0JSfXe?$^6xGw5Ts(uRF{!936|7M~{_KgcE?<)6+#*uty z5(q1+jjh+QItB{CD&?!VeSlXGTqq-}e?7#CtJeTIhY^AR0C?a30jH@doLQ3AZ_z3a zPh||@hS8hRtN!owW`T~;RYjd`qsI-ZgP13GXGfafOU6wcbIE3)ew`lo`e@CqF7D}H0kXG3REk9_z$RD`zp=yw%|m10>PCMQdb4~C_JIp%kfsJIWkP$i&# zC4=VpmA<#1prNSYoFvbWdH%{UZqIqQfmoR7Ch+rUWcZ2Td&Ef;!*jPb{hVgjvUJWj2cwMg-cx~h861<3F3MN^W9I zu}XZluld70HiqSe*&7|9E*1t)uVZuX2tc>YYNi~$`o5F8cs{^XR2t4?*>?+++o$I8Hh(+d^272ktq zGh4c;jO{em!ml1hbd}iVF{Evn%G1UaF{4xH^0`$Q_nLDTOt>{mh%NSjxUQg7_m$?) zPk|WDfDcRs4Nef+cWyCR>%#|W50QHsGZ%ED5K#1%84~(t={Pvnbw>Dl=S6vG=_B_-@$WEF;3v zu#V5SJdqUC#tmxz((&F_wavH37s4DDbJSzirOw1s9Gt$nu~sLA=>EdwU6D1tSi^CL z>x=lB#U?|AIo&VJw&U0{N@I&%UC}_g`Z8}Xn5k4+u|M>txa5x;+KHB#3E3FXm zHw7WmZa|?fAAgL1-qFv$W#Ed0CA5*?hY&o$+H^C8qX{bk4P)$R zOBTx&llL8nc_kmvfjuhm&0bL1gZ-$=i*h|~SiIf;9)!wdk%#jsvqA~L&R(89i5CP- zBp0N&wf=*S@Bc5@>Xb2(p~MZ_!nMq@<=!!$rw@KDj32zdX!FUap(Q1H0=XG%tI=Xr zSm5UIp7|zg=b+2}08FHm^flHxR;OPX(t6sGuf4|(iFqC77@?)RHa9n{ePdXid3&ex z5C7A)Kcg_NyIpxWTbwUmcNVS!e(an!hBQXa1nlb;!;`gE+n6esoLyN1^+#?qx%hnY zM)4Xk_0Yo)t>1KB=4rgQZ-9Aa9%(q$H?r-<()c+C3kmrGBM;cD@!X9LSPled6S2DP z(hcCn&X5Qz=#_NZDG@_Xs+ykI3B5VjNa`t-ENV?_JRQ7IS9cRtGN zutEvfw`v>{*VImxTiA!^g=5SuS=%AcJX;wssk_q1_48}+SC~y5ZO?KB5cf;VY{mzt zB)2%?7`mNDAdw1t&`nq28a@zKXYrodJ!>Iqa`bm3^p5RCdI_7}?1_LHMxYqH7m7h* zc&JIS_sI(X>6!t@%dGw4_367W7*a%q*y=@JI$yh5>`7|ShaAO|vFF#{{VBhSZ@ymPNuJ?-sVQs%Ahs`x`9-WJF zi|;tXU_P9S=x2#}-Y;MKEW@6o$OMhTd|RX4NMpB(O0xL;=9}KzDU6uNI%&I_MD&Nb zl|W)?mfL5AmRf?Kob?@xvh@+oXQJ-|mq8aXo;-tq5|R_>qCt;5`MFN%2e1E9*#C+6dsbA5_Ur}B zbJ}aqDbcb`u>(53Bf@ABJ3V6QX!ro2h zOr~*o8YO-JrtK(dbjUCgz;88QhA>80o0NfhGIi9<$3r<;%Tz;5$y;=-rBd0TV7CJG zsJxYF-5$}}TuC@5>xI>iu~(T0_?Q2whrfY&M3V?t?V{5o#hQOYw+xjz=KHlixi~0m zq$csfX?~Bxv>I+KYq^Uk>E=Zb2F%uPU-Mc~SYe`(jE{W@_8R{w4YC|^rPc#*UBda)FDF+^PR`ZKlDm_ zWu@=a&AuGv!+85EsMdV%N~7V*U=KfCPhoTeG1b}|uRjsKi<8Qy-!~*MK3?Dg`aVgc z?QOUDSBsxEGqFWE=Smn(KTQ}nf4Zpi8f&Soo_P1xTmzP_Q~Kifph=M(>t?LkOaI!k zUb(E-5GP0$SxcmffAZyoQZ~Oaepwi1=Q?KlvW<2aNKq`iY_IoM)^|SR*vsw~7mRZC zr_H~`nIzIWA=LFjC4wMP*VJ)13GRv#s};FvWpE0zka`R+5sLziWjvQjoXMw^_9mq7 zpWpq1;~Jnre7iLIn31N&ilL77d=le`-s0!>v9pSV!3z-0%-%4h#$R^Y$u<@akhp8C zXt~~!Mn~4=`NiF@sSN-9gY0p{Kgw4r=X1GHeb!HJ2{5N=QndKD9YKPIhY>@lPwoUR z7~_)rvKUA)*9|>;*55Cqv-ymzltP@$2=kAFw}u?qOZIZuFu7{FBMGB_lU4mk@-|5o zp3G5o?0`;cH+kF0$2R_wE57&saW#?4)3Omp7YJZeRJ%C>w3abAE_KtKs;4(bi*CU$ z2pb8T;UFy2X}okxeu2U7Z_5&LK@o>U7nAT!E1}EDqH?iHRwAX?++3oX;IyXmVZD$) z%C^g1@Xh@RzIel{!gzh`qSjGk*Vb3$NKN1yPwOPi6YEAvX;$`UEc}r?7n&=9zlT*1 z3CCHyY3M&I)9m*2+g5{*Kl%}0YBOEo-UXA1G&Q92j`WfU{Ly8u24y0Qf3=yik&1<3 zUhTg8mU_PE-(L}%+cL3=qW#nyE|&)UCHYU_@t>gm&wNDsI;*S3yZK4sga3- zD4Q6;L~*utiWpMy=Tv;HRi-{#ynI4vo%?$i^p|Lc=Nm_S`Xhb}llptEVfo{eBh>pv zAg}FKC2d8{snCb@4*f?RHYTPdn?f>No|TLz+ZP3`$b^zZ>Ll;vXLuWGsW_jKvz?V0 z*~-qjbC|t_4-CpeUvlvp@cCM%t zEj!X+s1SR0S@pXw-SBL;e7Oc*X}l;`n$Xbe@32ySm5rS(G0SK}bKrdOBrcioA5UElFzUxKQy_4fQIES&62{L)_BCp+TUl_ zKE;?HPqM75l|X1v?ng~+{idA$auU%V#8o119s43CoF?P$N&y0%tW zn5)~civ4mD$->*Ge|+b~7Z{Ukd;PLRjo>Ok>pPCgTr#0FI2aex=y(u2uR{<_dgT)o z{B!O&+B#<+Rl@5G**@bOiAl#QJ#lm}U0!ps6=_bMUQnMo5D&gch@jJ8&>Jji#k<=_ zfW{~^vWB;F|9kqUW?pLdt_w88C3sC17}AD+W;79=-(+bw51S{DXu{%e>5W(Lf>lga ztR|GjhF|Sr+K2d2MGNqf`r)p~5mQ!cikw-i4X<;DnK-&eNf!IvHw9*v9dXQq=c1yb*yjYg})RtQxx-1=v*V zb7C<$^MW_fa=$;Bp1;CUpUq>X_0$Q^u4nk8o(dZgulDrzoyn{>p`7#@J}*bZdXP^| z2*UNLl=#sRjP3Uq5aThZEN2Lfs`L73==tV%$lSn6ZeGq@*bzwKPQ^2Qp>Sdz2tMf6 zAsE5vp|z{LW)EdE%Qw?aVF*xP$vsI8Dk8frA8?m;0LEl^iS_Ly&Av=zxRUjXgQg7o zh2tXAVT%)|le0=kMv@`0vp>DFhwLiz0j9X;aCZxHi*r5dFL}7BlH(S{oPehfVQR=C z>`1EU_P0_*{)*GZwum~7@$h&KEXwr&0emnH+}T=nZc3(gd@CiF(d)DtwU8SdkeG>$d#pk!J*5uXR@!`S)8SK8I`tzBWAv{VuBuRxZ z&_Id%^$*-@Ki0)?SB|o0MVQy$AD`lO9kq;=7R%7P!g5HDQ#83rV9JF$9WSrWj?{lN zo4~;R9yMm3QA(+Vk>=lI}Il)0(q7%}{<cKvHK$Rb1Tx9q2K!hBsV zfoWgOM+V+1Sb7zx=0}D;B&QCCZ+bzwc^P{%L~f3a`3IYr?UsYL{cRLuaa-zW@1OI{ zj1Js$U83%#izAqEKW3}br4)+11cqMl{1D4CmCI~#>j#Cc)Q`_TDPij3%ene+~ z2>$KXjRj*;g96(28z;vfEt5HOH9pi>#j3Z(E7XfHMyn-XYqBj%tIOHOQdi z$c(=N9a&}cfLTpg_u9X(QL4Lo)vtPf(1GM??bRq0AP{x@vtq2uNpaVnB3%=f{hh_h zzNIgO2sl_$?-H@LegMJFJ zkWl2c#iT$j5=v3;O}n9*1%oQ`{ISi# zoy;w3g{k++3$2N$ceic^zg3Bap9B^iw)!WZy6xPv6uidQu1-(pZ@(5Hc9}3AVtB!+ z$olA0VS@Jeo894xv8NWeygM=pta%jJuDW!iS}}if>JC@GSCX3K{#P~q*E@Tj8IA(= zJ}sWIBSeU#gtd899Zo7{;Ht7Coty4I8p6TH#na3nU!iFH=R5?NFbEbk%znuX5TjNH z&hi9x_0){jSw2@sZ`Lenjc(=>1S1aKtrLFtg09z0CvTyZUAuq6PT^`Mnhx0XaMvOH zk7Fl%W={4lbn7u{{Y7iRFBdYr(;C*r4%D)Pi(cid#Xf2FyhBx#nJ8I8WgfCMf7uEe zxhyqCT+hANEn8iy5L+Qnd0+H)>PO6l$FeW{+E-*(6J0N(iKp8N%Hu@5h5Y0sLM#iS zb$g0z?NhyfH>o$Pd0`7s6btUUk$;>c9O~wA=5;$B_Z0p=A&uwZw%!Og>hO#J7ta2H zH0;#ihkZzj=Mn6iq8WA08iXU&c~YWazk_wRyeLd{@M9B0N|T|6p*rFoAgIB zgm(l`Nk#R~$|YoDxMz-W=YUM5o#1v-iLIkUxwn+&|KCdsmB_N4_~(RM0ygA3Ke*!n N7G^f4)h4$e{tw*UteOA- literal 0 HcmV?d00001 diff --git "a/docs-en/readme/figures/\347\255\226\347\225\245\347\261\273\345\236\2132.png" "b/docs-en/readme/figures/\347\255\226\347\225\245\347\261\273\345\236\2132.png" new file mode 100644 index 0000000000000000000000000000000000000000..1ad38251b4d9abba2076bfc2df91fa14c81ac07d GIT binary patch literal 7247 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 -**Directory 1** - ``` security ├── framework @@ -31,18 +29,6 @@ security │ ├── secure_os Secure OS ``` -**Directory 2** - -``` -kernel/liteos-a/security/ -├── cap Capability mechanism -│ ├── BUILD.gn -│ ├── capability_api.h -│ ├── capability.c -│ ├── capability_type.h -│ └── Makefile -``` - ## Constraints C programming language is used. The preceding security features are mainly used on Cortex-A or devices with equivalent processing capabilities. On Cortex-M or devices with equivalent processing capabilities, only HUKS and HiChain are available. @@ -53,14 +39,9 @@ To generate a x509 image package, perform compilation to generate the required b ## Application Permission Management -Application permissions are used to control access to system resources and features. These include personal privacy-related features or data in some scenarios, for example, hardware features of personal devices such as cameras and microphones, and personal data such as contacts and calendar data. OpenHarmony protects such data and features through application permission management. +Application permissions are used to control access to system resources and features related to personal privacy, for example, accessing hardware features of personal devices such as cameras and microphones, and reading and writing media files. The OS protects such data and features through application permission management. -To declare the permissions required by an application, edit **req-permissions** in the **HarmonyProfile.json** file in the installation bundle. The following figure shows an example. - -**Figure 1** Declaring permissions -![](figures/declaring-permissions.png "declaring-permissions") - -Field descriptions +The following table describes fields in a permission. @@ -104,46 +84,55 @@ Field descriptions ## IPC Authentication - If system services registered with Samgr provide APIs for other processes to access the services through IPC, access control policies must be configured; otherwise, access to the system services will be denied. -- You can configure access control policies in **base/security/services/iam\_lite/include/policy\_preset.h**. You need to configure the policy for each feature and then add the policies of features to the global policy. +- You can configure access control policies in **base/security/services/iam\_lite/ipc\_auth/include/policy\_preset.h**. + + 1. Define the policies for each feature. + + 2. Add the feature policies to the global policy. + For example, to configure an access policy for the BMS service, whose service registered with Samgr is **bundlems** and whose registered feature is **BmsFeature**, perform the following operations: -1. Define the feature policy. You can configure multiple features and configure multiple access policies for each feature. +1. Define feature policies. You can configure multiple features and configure multiple access policies for each feature. + +**Figure 1** Example feature policy + -**Figure 2** Example feature policy -![](figures/example-feature-policy.png "example-feature-policy") +![](figures/bms策略举例.png) There are three types of access policies: -**Figure 3** Access policy structure -![](figures/access-policy-structure.png "access-policy-structure") +**Figure 2** Access policy structure + + +![](figures/策略类型2.png) - **RANGE**: Processes with a UID within a specified range are allowed to access **BmsFeature**. **uidMin** and **uidMax** need to be specified. - **FIXED**: Processes with specified UIDs are allowed to access **BmsFeature**. **fixedUid** needs to be specified. A maximum number of eight UIDs can be configured. - **BUNDLENAME**: Only a specified application is allowed to access **BmsFeature**. **bundleName** needs to be specified. -2. Add the defined feature policy to the global policy. You need to configure the number of features. +2. Add the defined feature policies to the global policy. You need to configure the number of features. -**Figure 4** Registering a feature policy -![](figures/registering-a-feature-policy.png "registering-a-feature-policy") +**Figure 3** Registering a feature policy + + +![](figures/全局策略2.png) UID allocation rules: -Init/foundation process: 0 +1. Init process: 0 appspawn process: 1 Shell process: 2 -kitfw process: 3 +4. Other built-in system services: less than or equal to 99 -Other built-in services: 4–99 +5. System applications \(such as settings, home screen, and camera\): 100–999 -System applications \(such as settings\): 100–999 +6. Preset applications: 1000–9999 -Preset applications \(such as Wallet and Taobao\): 1000–9999 - -Common third-party applications: 10000 to **INT\_MAX** +7. Common third-party applications: 10000 to **INT\_MAX** ## HUKS @@ -193,7 +182,7 @@ When an IoT controller and an IoT device communicate with each other after estab ## Application Signature Verification -To ensure the integrity of application content, HarmonyOS uses application signatures and profiles to manage application sources. Only pre-installed applications and applications from HUAWEI AppGallery can be installed on devices. +To ensure the integrity of application content, OpenHarmony uses application signatures and profiles to manage application sources. Only pre-installed applications and applications from HUAWEI AppGallery can be installed on devices. **Basic Concepts** @@ -232,20 +221,19 @@ Unique identifier of an application, which consists of the application bundle na - **Application debugging scenario** -To develop and debug applications for HarmonyOS devices, you need to apply for becoming an authorized application developer on HUAWEI AppGallery. You need to generate a public/private key pair and upload the public key to HUAWEI AppGallery. HUAWEI AppGallery creates a developer certificate based on your identity information and the uploaded public key, and issues the certificate through the developer certificate CA. You also need to upload the application information and debugging device ID for creating an application debugging profile, which contains the HUAWEI AppGallery signature and cannot be tampered with. Upon obtaining the developer certificate and application debugging profile, you can install and debug applications signed with the private key on a specified HarmonyOS device. +To develop and debug applications for OpenHarmony devices, you need to apply for becoming an authorized application developer on HUAWEI AppGallery. You need to generate a public/private key pair and upload the public key to HUAWEI AppGallery. HUAWEI AppGallery creates a developer certificate based on your identity information and the uploaded public key, and issues the certificate through the developer certificate CA. You also need to upload the application information and debugging device ID for creating an application debugging profile, which contains the HUAWEI AppGallery signature and cannot be tampered with. Upon obtaining the developer certificate and application debugging profile, you can install and debug applications signed with the private key on a specified OpenHarmony device. -The application installation service of HarmonyOS verifies the application signature to ensure application integrity. In addition, the service verifies the developer certificate, application debugging profile, and the mapping between them to ensure the validity of your identity and the application. +The application installation service of OpenHarmony verifies the application signature to ensure application integrity. In addition, the service verifies the developer certificate, application debugging profile, and the mapping between them to ensure the validity of your identity and the application. ![](figures/en-us_image_0000001051282241.png) - **Application publishing** - To publish applications in HUAWEI AppGallery, you need to use the application publishing certificate and profile issued by HUAWEI AppGallery to sign the applications. As shown in the following figure, the procedure of applying for the application publishing certificate and profile is similar to that of applying for the developer certificate and application debugging profile \(you can use the same public/private key pair\). Applications signed by the application publishing certificate cannot be directly installed on devices. Instead, the applications must be published in HUAWEI AppGallery for review. After the applications are reviewed and approved, HUAWEI AppGallery uses the publishing certificate to re-sign the applications. The re-signed applications can be downloaded and installed by users. - - The application installation service of HarmonyOS verifies the application signature to ensure application integrity. In addition, the service checks whether the signature certificate is from HUAWEI AppGallery to ensure that the application is trusted. +To publish applications in HUAWEI AppGallery, you need to use the application publishing certificate and profile issued by HUAWEI AppGallery to sign the applications. As shown in the following figure, the procedure of applying for the application publishing certificate and profile is similar to that of applying for the developer certificate and application debugging profile \(you can use the same public/private key pair\). Applications signed by the application publishing certificate cannot be directly installed on devices. Instead, the applications must be published in HUAWEI AppGallery for review. After the applications are reviewed and approved, HUAWEI AppGallery uses the publishing certificate to re-sign the applications. The re-signed applications can be downloaded and installed by users. - ![](figures/en-us_image_0000001051562162.png) +The application installation service of OpenHarmony verifies the application signature to ensure application integrity. In addition, the service checks whether the signature certificate is from HUAWEI AppGallery to ensure that the application is trusted. +![](figures/en-us_image_0000001051562162.png) ## Repositories Involved -- Gitee

Field

@@ -83,7 +64,6 @@ Field descriptions

Multi-language string ID

Purpose of requesting the permission.

-

The purposes include reviewing requests for publishing applications, pop-up authorization, and permission management by users.

used-scene{

@@ -95,7 +75,7 @@ Field descriptions

when: inuse and always

Scene where the APIs controlled by this permission are called.

-

This field declares the components that call the APIs controlled by this permission and whether the APIs are called from the foreground or from both the foreground and background.

+

This field declares what components can call the APIs controlled by this permission in the specified scene (foreground/background).