From 594f3faa856618b8b35ad3e95897f869cda0815c Mon Sep 17 00:00:00 2001 From: Hisping Lin Date: Tue, 21 Dec 2021 15:40:26 +0800 Subject: [PATCH] rk3326: bl32: update version to v2.11 Build from optee commit in develop-next branch: f5add58b core: TEE_GenerateKey support RSA key e = 3 Update feature: add299d6 rk3326: otp compatible with rk3326s 8f55d4bc rk3326: otp: separate external interface Change-Id: I0b1c42410f674fa1333e4a8604feadc10993fe15 Signed-off-by: Hisping Lin --- RKTRUST/RK3326TRUST.ini | 2 +- ...6_bl32_v2.10.bin => rk3326_bl32_v2.11.bin} | Bin 452992 -> 452992 bytes 2 files changed, 1 insertion(+), 1 deletion(-) rename bin/rk33/{rk3326_bl32_v2.10.bin => rk3326_bl32_v2.11.bin} (85%) diff --git a/RKTRUST/RK3326TRUST.ini b/RKTRUST/RK3326TRUST.ini index 4ab8ce7e..aa0505f5 100644 --- a/RKTRUST/RK3326TRUST.ini +++ b/RKTRUST/RK3326TRUST.ini @@ -9,7 +9,7 @@ PATH=bin/rk33/rk3326_bl31_v1.23.elf ADDR=0x00040000 [BL32_OPTION] SEC=1 -PATH=bin/rk33/rk3326_bl32_v2.10.bin +PATH=bin/rk33/rk3326_bl32_v2.11.bin ADDR=0x08400000 [BL33_OPTION] SEC=0 diff --git a/bin/rk33/rk3326_bl32_v2.10.bin b/bin/rk33/rk3326_bl32_v2.11.bin similarity index 85% rename from bin/rk33/rk3326_bl32_v2.10.bin rename to bin/rk33/rk3326_bl32_v2.11.bin index 54d6eb69fa263515970d14de0018f31327fd7bf2..3d2b6214c72da71f65febff2ac46ec9db5700a72 100644 GIT binary patch delta 14842 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

6KBm0X12^6L zq>l(`R(=OMuCJt5c_@Qr)2P2zBG+!1cqn&yK?F5x32{rSt_0(fw0|ura+`big+>2^ zGhTpe;^37m{P@5N!iR=%*$ZM?nIenqH1H7v*Y~x$L&{u?DW8svgTscb+ckU;Ag8zg{<;i`fus8C>y`tL{zoDE$ zPV0vr**vcwGXFU)=_iK9es|=*yyRn5fAIoUj;rOvR8>58NfuG!>1}=`Sv*61c~LTa ztsC!21_!+*2a&;x|9_KX9UVEeKPG>M6Z?y~zT^HjYXX<{7k*YJgkl6GW6{U>N`Dd7 z=;k>?()l4u{9{$*xEG@~E_(O}KQjO-{+Sa8NQcog20%8rfn56{wnNu-YYMhoV#*)< z{R<+5yM$9c&L1e+;WT$@AY{2kcMe3iHsbJqm;d7*waX9qOBHLt=-*X=Br+Ileuvi% z#%eNo&tOc`f`f-(pB2cHhln2Z18*N9df}vfZwMyZ%E2#zp#nYUC6u&vdtLkqmkbq$ zX)|XHL(5mVWD?V;DNi0QqO_)HZ^wDV#Z7DjvtGtj4&L>$U>s@sjKHWZIcEg;{#-8~ zAymQ^`_xEu-p@TpVdfWj=_s+E8gZY|NYG)>gtSq_&UXFf_3}(xiOSnYi%tP`%_il( z3xT>ZB2q}voBU)n%=H$x8H4C@h|9-d@_eRLj9$ z7w4skVqE6+87q2-CkOexu_7jL>^DaI`1pw-U&N-EM+f=)vEqe*7tFTz{?>MxW5@$M*jl-NJd}^Hdgl==zcnEwkZx}Cnh0Z)>EKPapim%;*su9inxokb>TI1I>7f{6H)cge`GAL zGRo#$i)XGs7FQVd9TtoC{7CyrT<_+5!6{S4v4D@KyZBPqIThF`7AYZ0jz0uYz-?ZK z!OZ2OuVa;CIB}ZTVcndG2#k5{|4?$2nzvUKuydNYh%?#Q=}_}cj_9NYad^6zM8|k( zy1<(!J$42XN$9E%-3}0Qz*~tA$DN7$UDb(R&Pu%HBEBn^^^4hN04W%`LDsb&0+b^2+^0{i7QnH>yXXBjsi(WNbTqEo=j?O_6XwCs|B85Gp zcX?ARrqI1pU3}*$bXwzTmw&RCvx=0R5wkkD-<|Ezt1@6Qv`!D5E9#Lpuh_-edYiX| zpV01OgXgLDd0WgC;_(#yKX&n|1&94Mi-b;>`NkrszPaA!9Z?r=*|^JMoW|;K;bOR0 z9N$3Pdl`a3 z3J+ff_6s;`83sGTr6~D+@uiF3z(rGK56W4__m*L(U-{N@Of#F?WFr_n!-d%*%)8!F zY{-0--Ouag*@!PV3dXMxD{xjmv_gbgzWf3vF@2S2xO%1NfP0d}m7;}ZovaLRF9P}P zm0~rv9|1Wq?oJ$^14G@+q54TwbZ8zq$RTwQ;zq3kslI1h_9NQOYjd=7i;lYh_ zg-uJ}?&2&?%SANF=7>CzU>Pl`TGvC68$BC&_02rQ(y#UHc{nv93VAaYsd66%d*?p? zFMD3RoW&YysyACB){)k5n~R(Cp|xVJ_TUp2dvVYAkvS4M{e2N>srR`nhHv(~{GO4lLuoZx`r8OreXP@1FX(qZ6A79nauno#;(O7E zU*7~%?YCD9)>1dQc)GrMFHE`F*CP=Qu?xn@5jm}4(N`#^HNe8+RCl1LIi{49aQQy* zNIQifbVV=!3R$$N1J9fAlN;zUh%sS}l^GE@Z+(LpQ;HwXMmzbzei4ovmEZ$H_i>JJ z@fk$ZVxg2c!oLXQKMr6k63)J*$OGN=q*CMvc=p<_#qYFJU;2%VE>k)0AY^iilMcbs zLb>pe2n$~Jo+(M3zAAD0lCP-c4reu29TGwHKQfzT(^x#a4Y%=s#1ipnIe+{g5rZ3> z^8bj)XnVFPOh_?5%I0*SZ0wW*-EUDQy^PZz>JvHiFr4CFTyPliZy^sqf*7@svyQ+T zf9LH-uz~Y7heCF8U&1#=S(@R0_{I@f@L2Xf3gR-3KMLY&%Z+*6#Di?khbUJ9KjQSG z(BW^m?-!3`NIZtCuxd^^hLqTZW4}Xuug4kRiEaT~;L{stC>ie8MCNO&EH3*FQ@xMt zc(})_99@PeGm96MVd7HWRR#}Al4JRCWtmt{@A16v#Wk;NC>y8bc8(WM__O`E*h@q8 zE+?=x!Clv#axuXAU;{$V2QK!*S0$-qm7F9_If)Eu;nI`fZZVvY?-bH7 z?c*V*vD~>_a2k5AVDB^7LS^%YGa|@Wc?k*aQ@jkurDj_$Jp-4F)lZ#~=F(ZOItyd+ ze&$^y?yfdx6o;M{ApxFSVbL+Rl2m-T@;gjbnrsy(pNGNi=FR8fwU_zmc`?(v8D1;< zokS{;c%GAg!a8y|`zK_AW~^NR?RAd6fVp zaqbI`nEVH>cB$QMPIR~k`#HtiFN!Gv7nT@fUzLbf8#XjsIJOeZbmv8tVrIZ#1O)dn z+oJ6L5I6s6I4k|azEwz&K0K-lO8y>~^9V>Ge4z^6e&qN|u*lUs>XH~^y*vhK5bwdq z;vI+V`7bWJgr3+hTt;g#TJte(ZR-o1eHjvdh3{QP&P>L&KGFyFB5zmYtTL20RKtkw zv9lW1(}M%9AnrYS=P&DRmk)uib~4s-=Qnfobs^Fp}4eO1_?<~G-m5f1bAYgkSPK6MRie2L?)!-4}i?K)I&pU++w zA>wulcU_`Aqx;_wEy?Qv!$jA>(L3N4JM|Y~AsWmRZi*>^xoG(azcjq-5smC86`PXN zE`>j+5fQrQuVOQ4p=gcOcilp$4Ll(e1b%MnUIz8_7Y*v5-$e;&gV8!(KXn__0iJjc zs--S6sJC$NAL6+7J@UrSeCrSFQRBJlF7~Lc*m+kh4xNOCH}R8tAuq)#((EVG;8aSg zlH;LosDTG)K4@<&JI~}ve~ORb$-eh7!gy|WU$C||*TscgiW-s7U$XY>>IdS0$1qe+ z%H`kw5Hs`+PEntx6kDHHvBT%Ld_m(-F!FqJU<0Kz$qpY5o& zm#gTghD6s6St;*^Fytw73in+R%2oR*rwQJ+pW}j#YLDQfX0u&pOSfobwrp7R4L|9q z2Kjz(Hp`|wd7_zO9b#5tGwr_kUdbD9&NKqHOqb4Y26NXwaix11TOhms*2B$a57E95Xe?(7-B7_ zjKvU(xL~Zh5wCia#(~$Dc$5Tu0w$q1=Z#aBA=yQYM+u*IjaS#nxQkNg?Y78SfwqzY z1c~`DF~#e^%c+4%i3}Py*g63nF6proRNb3q=~rG?j|sW;NLQms*UzS_IBibifSKw= ze2a5$rm71Z|F^%PwxBus**9dXJie+fWY~ZV^_X0J21fk1{v<=jju`fR3$$T+;#-pT zgg$$ow1m0((YGN091m_~g1Uw7ZCCvSJ}C;F59)P#pZSuypT1~;8mCgGUhV!42P&`eQHR=`M>$kaI?odvXt~7&vgK>p(uzJ~r-Wl1or@Vh%zz00Hp4nD%f&6i zTe+$~wp=+N!Crq?E>?mKT`pF@?94^?SGhb-4ddQy|nS!7E zeyF<=bj(v<`;inotnOp=ur;O0|8_~{tStzhz4g2;YTY5EalvCSaa+Il7|~igG|S{kC%UspV8d#q7rImV3n5DC-?d{{@@AUXc%SDT}ptpo9 zQlwRMwd^Jl-idqJETM=R6Ks}EbW`_Evak>C_X?6NVYE*#O|~GZ;RHXx@(0%Ocz~t8 z`~c23#WI3|9rvH|W#kJS^m1y2jII8%Y&~nB6OGVAw^?9z=k(<57JSxqT+i5LS-2`I{wE z$m%JT~<0p5W8$i4hKlvV`_7lHvI5}8rrA31z zQO^q2aAKZX*TwTVy|Fe?8;HlT`h~{YexViAaq%uL2-AWvc1f6)V5v})+guZ-P4}3F zw#+&_dX*N)_HgYd`cWShp?L~zhqsIO>ysn3^PcL+(x<$CwKh-fjE8Ql?b8>w)cW~& zCm(vssdc>C_vN!4v`A|oi;IWjx5?W+@El&H`m%4L)&jeT#6)cx?%xX&wW086>Zsv* zly7y^T8KxU+^Cb*1Rn%->7)(NHmfe)!#SO_5PbNyy_438F6tLLX`YsMY}#iwkK(#M z@v#$MiBB6pKEA`)3HtuN9(Dh>ihq2`$ZB@ zP>+P?sWq=%=dqab^@#Nz_l0#yb$2fXf72@s+{V!xJ$4{^pWWy&)cVu-=iRL*THDF zcw?TH9Soe6Xy6GGKk8_dmvl1QyBK(|tARi9X za!o%2*Yr2A@n8er8ew4gD6^buV8b*62ah%IpovY#xyv!i0pmfLHQpd-`ig;TCK|YM zl7Tz*;h%c+^3L>MWt4ZDm^#HMH(qJdtuQeET?20~G4Qcj-nP&vAAHroh0_hpX9K6N zHLxu(IYooh_`gA)0Jy&jD+$6q$;Y}E#Cy=35#Dg!G`Bi#9mQJ!RCjfs^e zuD@xv|7Kuw6R+Pg%0HO6&8%O3$6cSP^fMk59}^$kHaeUz%WLi$<@zStO?=J7elzf>8EZbDoXRZM!E7I|66~A)4zht zH|LzMJc7JyN9n-3PzMcDC?A^=2*8eonr*^!)M!DL=y(TU+(Pm(#(xJaWSo4B`M@$@P;&Kyj z_c7YT&2qIl@pO~%>fT0s?fSw^`qs4z>uI##HtEK@+hG;{X2lOCZZ!uUZ{l8aMK78w zY-!>VQz8dUNzD4mnBdLp1~&b}z}#~NPOma>$sQAT0sX;lXHx>ZO-@^K=>d(8OF5zcX>6iF-|4&el?osOZiw8QqTzGjQi{1J}Q7;2IN`a9XJcM;{zwR5u@L z-~$u;r5NSGCJy6>uR;D`tWmvfgn=)PG0`j!GjXI|^))Ovc**NV`qO)xaEW@N@!e4ib`CHsuGu~qE67FC~*?Y zwUVlmprxU^X(`&OJB>?GQi)4dRY_4!HO~JxXYcgw_dVb9&-0x8_ROrAS+lM)v$x|^ zh~reqwoSpl^SV*4LduT2s#0{UcxUkNaJugdZo3-)wZlE&gRK}wAq=Gyc++@k_S+(Gr`_hb#x^Dq_$d*w;rcj z&Mo%Zlp`@uIC#VoL8ZloFE`WZmh;RjW9ejZ%GeMu>fs!cwUHv6 z`ovhUl`t_H6K78hs-4?0M-Q?WDvINzKt&|EoVH2zoL^4#r8}OdOL)4Dr=Z%J0@7zZ zq(7k|lFrC#XX>O{bksu-L?GzuA^65qF8XHVCr8p^PmghvYtdW}!9x`Uy*&gF&E!NHSA1r22vK8a<&;Dk+GCpuKE>yE0pi&j;@mvsW|#{!Y^fwqt8oD+st@Mb9R{-8#*S2a<2+y+uRlE zKQsh7DU*)QoS8kSnX_zWJ8DoI{1$Xv>g+NrjK&s^oHbn7{y^UfVRx0Q^@}2YnSSai z=lSgMRM**kb~1hKTrm4CedC-t=MpV+4w)NEDbB@nLny7daPD2AEzY&?JOaln=k-uQ zd+pt`G@^L-!bA#`4TCiCIIQ^3!c{_A z(3VeBTINjI7N~7$K>p6XyZxOLw%vh9Gq(?gne5xXk-jS)^XV0$)Z$dQ1dVm3e9qLR z`26RaiKzJPFQRoiTfB8ovD8E6zDv}yIOXfUI_-Am9SEbH&YcJ5k<;1XV3?G{!CCZ- zv+Q6GigU&sT32IVTj$A?FLoB6IHaretn{6r<@FeajJR`vMmulZ ziH0TGDvRlM@&3xyM2DT3ccXpx+9-FjqU(HzyrYhz*68{;DzF8t~%n0(GDe7RTTg7^-9jO zZ#g@<>N~eR(tLeqDY*|pC9AhO_dN=X>hzY9d)un%iRa&}=USk=VLb;FS3Rnw3iot5 zPK0K0@Px%dki|hmi-V_}UEIBWH=$H!_5Yx_z`c;Dj?oZ% z?$wlp%gyYr2Y!@Ot_Bum!`ZuX^Li9QcJ5ve#NBvWJ&N}E%Uf#Izi0;+)}tPw0q;TR zs?yY6!RZ6b#cAU)rK;&fCa`c(SmGO|ua~#o%)=@*= z*NP1Pd*DQd*t@mtuBz!@Z_0S2`18_u3gB^xP}so)+C-N*t2LeS&;DPexBmJU>2(@o z^lw9-kofD7;nkL2(?hR4RQ#)^?dAb~;N_ zxp@kO1-P-=jFuvYgyUp2KYww0XG-K1DYS!ba%v|!D_jrw=@j};K=%JZK0}gUpe!Td z8EWT6UYzwDU59O^_n=D%MoB#>j7A#iJ;{$~6pu> ziZQbh8h*asjo(PoG=<@zm6A= zh8}XcWHb$>85}$Y^VBvDjX{YPbIe#^IWHJXw`s01?N#cm`(F7&fgb7=$+edohq7oM z(Q!_jM002>pOLW0NS`eE{Maa+N`5sd#<-SEkJN~hPsyHsMNQL8Y?x%?-M%S>Qlp&= zdWYc2D~!eSXsQrZ*9@TJOPtq5|L^M6venbx(E%&Un1;$rRv^yfzoXp*NT0Qe;4U zA8DOmd93qpEyabTSo9QE=2Cp~%aEieLI@?HJjCt_>7(R&JkZ}>a`}pqQy!)uVn9!5 zi{Z39gsnA3ULHkD$KAbL+SYNSlnFbyfn2qk0%@8Nu!hD9iZI@OpKc=Ea8^EWtTChj zHbA$H)b$c$jSd?iSNfSVKf-9?yx=1&dpGMFq5n0;f{j=|P3O=;SaB?OD1(sJ_EpHY4I5=8DZ2cOUCpV2EkFa|;Y`rV+4}+G*6w zNZT$0?|CEdQ^F?Wys@E}!Zdo<*l$pnPF?ugE=)Adh}sQ5pghC%6+#n58R`3IqYfjW z1Js-7Jx)6at&HWF2jPG+6sd7I;SqS>4$eA4A+`&hL4h8# ztR5G5?Gc)%ue^Y2F0Dy^&Izw*Y(GkiB7)9HlL;u2JFN(z+=&?6G3U!4m0X9Hy~M64 ztu(%M6uvNsLyy4;)){HXWbWC;J|~dj?igt&Xpo>D#@14(h0bxzDNrroA*U!d^wKFg zG&TglYp}LAYT8R&YEV zpFczK3CY%A9e~dX#eW(G`%4YRVD*cBI0=61DX#m-363iFj*R;DlBviA-y11EK$LWZ zhnz(WdWCnMh0eF|`Lj^Z3XVBPJ$&9ihkWAWIGMsT&%va^na(2xC-BbmSYISporea4 zIOazr>pytkk2IW^qb^{P?{fMDn&UgB)bs=ysb1zA7eI&AT*P#*^7)HUN)m4l{0UGoEtC)N=-?&Qa=^ih>hJatj zH?GkMluCZalIL*RbvQZLyl%329V9RDwd=GoYSw93{9||E1GOHs6u&BRH@0C zzamZ`FWe-yy?o3ZHp52_8-(EOx`~)Q;e;GE=$~P`afjb1I$(jvqymaIqL+WAIqru% z?KenivQhFIVFUfC5p|nR2x@5Duaw&PiS@g1v-gcDcWJ83m$&Z0Wz&tQ`{dN96-WF< zetgtLO=vsccR}j)4OAs-$eo#wX@E{6xI`7-&|qVxChiKP(ySUHk$yA^Yltt2TJlIA zu@SQMttlp9laXChgdv_4)D-Pt#AP+btl$Ov%_S#KEDW z8D(=92`_P0s2GKqcRo~{z<#RmKO#DAS5tVLq9jy=$rGJ_(J7QOpR~I!V`f?2@xR)S zFoj`7*LX@8mfMN9hKY5wkyFFPa9YCK!_g*;s0b0FQU<3q5@Rvn)<$9~MH^93Vv-lU zb!9WiBArW`iICvMZOzkzw3EUF#Cb#)`8c*tDe65F?*A|`0z-v|@2#KRQg)+P9DYha8DXD9qLId-)K*H}v%Cu3vuYHE zO;#$sh1p&)hjMCyhOf31gKgOl-TkT=lnNZdY4IY2KI3umuz}6IGG6o;`PlwiUFM%==r3 z*x=%8?tipY&tEBtQ0la#CQ3;(`zDB?@Uw9VBGyMm-(rMM;<&?_A3Nr28t+OFK|Y1Y zu|-F;dW*{vL_D^Iw$?D61kP+N{3wj4v=*_{h&M>s#%EfKzA?XSGj+OG`i5t_7EpBQ zgjtubE3M2r|DvBbEfH)E=V^&B=WW~FEE8ls-Y;}kHj*eT}d~lsP&ZdJ?u}`Wzvt}Ym07$`mIm;(_R!rE9MC~T>lM&d1(&vm6&~RJ9Yk`6lA|6r zilntJ1`B_B%q0-!q7^=0J)KH98CZQoEUjFIuSmN~hOA01?SOfc`Bn!+z4@HoQ49#a z{m>nFP1TC7s%p^{RX_$*BqPlYuIwn{ef$4wz8H>67Jjyy(62|xk-{_0ZtkBfl4%v^ zB_o0y<$cLm$40)EERJBiu-y(>Cv%k@VfPbWn}Q&Gh3}_`WisAolAdefNpEJh7& zdf0SgHw??vs6STYSCoR)?BQEoVF=?{?AVqW^EM*w>Gdu(9cMK@=7 z{4BWX``BH3R*Xn01v}wSH#<}%K|X)adEKzWhFsB23`#k1$jl0E9FwGqKKN&3lNV`S z!!WW#ss#p{Sv|64u<<;zy9f+b{(x`PRkBjx8`(H{T>(?lcjabXjDqzW&kpKKcOKNvF2y%89ark#)Fx?rk^&Im!lMe$IO ztS`q>W#9gs{TwVYfb*V%GoIs=p2CkWJ|}A99_+?*VtiaT@Ki0=2AJqCk8y@Hb-R(3 zk`>oakh@2Y>rFXs;{`onD{u1F9?N#~f8w&(Oz5gnmhf=TgK`n}j$ z`oGk@TzGwt{`+u2Dje}yE=>g+y(JrgzLSNrqXG_Znk`rg#11;Cmk9BRx?sv`FBkL_ zq5Nhq@j~1y|Kh46xO(6bM*zf8qtM+I22#!06_c}*OuZq8KRBYd!1doqWEb4?0oJ|< z`L5z)FXBi$nMV%7sPVjY5cuC?+!`cQxwy)~==>dL4#CW6ykUsgLlHdkCDA*eF@k_J z&Tu5#Uh?92lD(uRA9_i&3wY9MQXaSwz8hdYAw{z|cqoka9;XgPAUevohGO!K9GZdg zAMxT0Xwu0WG7uNP=cG)mWh4*DL~!ZF+cQNmz0D(siOxdX&qc#T(|TjRF+O_ z4^72>{&kpmE+EZnd+%RuzjF8CqPM=S#Lato?Qqd9xCy8{_bLbyBmSYR*K{ve4i}s0 z0k0haD}RqmMnEiYGL1xO5{Hfy3j<0gB7QWsyF?3n2_Yy*bsgp1lETL4M`A&Xxcken zm4-a#W%Pc6x4(=~yoqOy5{bcaUz@DI_O}_SWE7Io>JT3rg($k6qehE4kW=AkjJJ^Y zkA~D1uxqq9h0WoyF_2SdcYjl<2egyPEZvb!>HCfy^;UW$ubd_?uR z@vGuw@PH5hYh>lop6#FK8sY%k#);^ml#gd#dR`6UjByAo`*_?qaU@{t1UFyq zIQ5i_OiGB7;}7e^h3{*yoY{QsH7xmM?mu39V%stcQ5(!So=|d>dv7hkMS71youI;pUDy#I1Fsa66>kZ=spqohgNdsB&^w+;pWLtHUVt~?p|g`;<5{` zv-I`+(q!=|!k%r42(C9kkfEq z^oGEt<~Lk14KwUAs-_`!(FaD-bWw-&xy5eIHBx5?KcPRyZtV$U+|6xcewj}aVlU998F$4mb*P> zh7cZro0zx-;sG=q^DbND}}&*z!B2oAa2Ax|V~BPCUfI#iF}%M)$2 zLocH^VZZP<%JalCGOk217FLr-vIx^EK9|ImS`g>6$fssT$_lZX^sp^%j^&D#V!H0$ z?B+V0xe6THdGRVlhkCqSmY(7=l!W-4#cJ_|z7cc=?^_LfJj-!wAW1B64Ro}LZ>!AL}Sg}@&Aev!Ry$>$vG zNcMM>i6H*=Bk{R>Z?zGYAI}k+FmnUW+XP9+@cvCAEY!aIpTO$5jFd?co8YD@?jDku z3bE`cZe9oj4&yO}IMf7L9qfO(Tgkh~MJP+e2@O;M1FdFhf^WzsU^d?>6jSx8jc)ce z#uP~>_#Dp%dFEz#`^r3%14(%i&l0ckkS$_pzza?o7gAMr5w4u z(;XPm#H^NgoITmL6`JbI30uW_JsiWg;IggaDlP`T{#d-?H+`8oivyc=MNyV2)4)2k78J~*Pev@)6R*`DpYj>2Tt$1j$ zh(P4bE`}AgGD3HVn?gU0uy)n(HAJGWH5~$7EM=`e58EYP)JLs%^HgKsE?9Tep}~lA z*z4h3h^!S)ZnC$Xk@)$@k@-Vvo_FW=fN9_bemfPOP>eT6(3unNyb_{nX_(8t*D zHBcr-aOobXJ9IB1_S2lOR~SMW%)jpyZSiU=W*?$@cVoytM0|Mh&acI7GK>x1$gnb* zw||ReU*sYCVSkNy|9%k`yzD(oSa|tXj;kQcD2mo{)qd=YHe1cIX$(hvC)NqEn7{r` zG{q~yWzW$H)+JwajDHbki+VdJ9Y74o=G_Mn@fPxwg9t5LWBm}K$QX_~1me@2b_m43FEZ!#5ckD3jwA+d z=EaAgpZgqh7*2<{cLdi}H+jerWVRUYeiW`#kMoX-iH;!Ve z0`@ruKfsIGW4J$>&IQLX@j*UzOoZs&(9OJpUw&Myz}vBv$B`IvIr{|etzI(HzsIhE zK4;&PqPNYx7V+hMH~ZmRkBnhTPB$KR5;3F}mz@MxGdSRsi1(kr(2^i-km5;c)fg+Q z{!FI^zi~>0(}%qBl!(qzfV>;0X+y+0C9f}}^H`~MT_Cof|<{OvM6I+NY zX#E1MIEnq!n#P4!z}q;sT@}N<`weq*)%0&RIVT(s;=QS=Ca^JCbyfTa*S95C#h}o? z-*Iy|4ss5>*7*~uT5g$SI8+qn$>%uk8X~2b_m5As%7^gtIqRC}YYYBYwbaEtj{6x0 zykD+~_P$-LHd#MG)(`hy-p3u-P_ZZRQu*Fw$IqfY;Vt{maD*Q@^*U~skMp7HSadR1 zUWX)xaM~~M4!pDbMNAESoCeWiYUQze$8fyB5#%_TEyTid+(JAsY&T$ox|`t@M&_@O zCf-VA--KpXqiQpLnX*fLEXuCrv@_^8oHz7FsBdK)yM-Vfa29#yI({Cyt|r}7!*&}t z3i=?_k2NaqNV+HR{GV#NB9rc8PWVHd(9a<8Tw~jxViM1|D;(6GtL`F{w&s9)VxB%8 zt+Tk`o(R-@drOBJkClbr5xP-!4+HCdXpc0|JCK62dbv3O?jyt9J!qqRIC<7PmQx-G z*7I}Syp78qV5p9u{O?d4{7`(O4@L8Mqv9cgVrUhzpD)VNXvkY}iFuBbnTQukhLW?I zv;Pvs`XP{<=cGsC%jPTbScsnk)EPAuSN80noDBSAxJ^uTb2fU)Xe0JHPGTqUw8%V3zVL!6UidB}ks~)4qQApC+f5AyFS*E3sB1w-g zCt9lVBt5OA8bW__UQ2Zr9Wesp)tiER4Qj38jnYRPkf?qV(;sJxD;Puh3v(eeEVarG zeEA~F6&O>_mB+Ud)xh8-)#MMY=14O&FW}HNn9IpYZPeSgzj1nyr&D`fTJt80wwpcwoz=ml7>7Hnzk5?Vqok+W zSAHGf+e_VyJAjg2YNGz*TW0jgVByLL7vECoy@iY85qb|-hEs{y&^4{vV zu+k0Bt5-BSZ!GAqo+aGLXAXdoAhZln<3oG3Mg~f@m&}$j1-FX#-WSUg6=Wx|uq&4i zP>13)=jjm5X#>%r{{N?g9~TTnheu55Slm4hO;>y4tCw-Ibe^+bRHJ!Yy4nWETMxk( ztiK3?k4%Df1_+iAuJLIw_=9T>RwH3ET_i*pV+N~E`Ch(ih&l-OqvIgvG~Sh z+%T}Qh<6WD*Wm@`kl|o=2u}lqz7UUqjZ9a7J%ALE6c2(*Ne0TjdHZm6p?nKB0v)0_ zeT2GNJZ{MyN2v92lVKZ)+B@7_!VRPQNY(J6=?0Bgj|jP0%2K20E8~8aiWBj8j+>-j zqC~?sSv3Ui9S*&&;+?p0|8?0aPt&R!nLcisdPGWK8b;h{1iy(`;}zE&aq&|={<_+j z8XNs*$PQL>7VQPOM-|A8@bwxsTB6wFcMReHxb z^NxB}rKQH!chx!a%api9>TMl{60riDLcSA4)vJMlgAwq-C} zKi<7ejinlVYZ(R&<`^f|_dBOKQF)oOov6IWyJh7eS=j^uU9ExdTmo`IaFV;^s$qKJ zGzgnZbK!P4K<0wS&v`2vaOyagi@9-ikGAD`sz1HY0eR?{#kca*FdmVow!+~qWx4v4 zRKDo75rqn>7)c6 z>1}M^sMhLFwR!j7;09T~3K3sF+Q-cojplAO+FRfEyqimn^cvd2T6!5W)Gg!2lUie6 z+Gf-Z*V?Q4H{IQQ%1DdUE@}F^-Q2v26Pjp=`gA-lG_sm#_!1c2@|5vu94V+%gnpVXm>Zk9L=AfoPZC zF=VRsF>$>jKck?ZW~lNaX`mKD!9U%9%;oXsMViccfl46g0*lTWi_NgUh zWTWI2tp@2I;rTOT|5)vj4M}w0Obs8<$Ltv`r%a}6WANHa(q*1#Re;mPE0JikQ?BC0UPY}N4H z*bheDc5P03ya5RQU3=vH`uA8X-dFPX#nixPb6XoMBuS-Kt1iByEg-#_PVF5|;+)eR0hn z6|6@_JcF8k_{nYVhafia!?~|%^||jbj|tXe^%fwp8*77goa`spa`RkX+&~|tr{i&q z;cB4o5&EW@ZvLEihv|VB`%IXgsNKaK1J@1LCwRS%ws&gsOUv|nye3?~NM**f2)%~T zKl5?(cgEY1`h^-YJ2lg1;p|k=Ot0nZ({KM{#9!~$efWMGJ<|5Ph6sV*dLKuhA0Zrn zj!Dv+VfWELNgt250sE75ybAm$Ws+)K5)^>Ub zJ~%nlPLHLZ4Oct8hUQ#K4c@WqpV_^NYt?Smd{pL$5iOIFMzl^c_VnnIZ}gP#XGRVWk82&?GOlfl#I`M38<_*V5}!c=Ub)(99yyGNHC_*d?bWNDycPWQ zD>rc|$E@@E1YUD~o!0={-Vx7uTEA~$_uza^$@dDw>-bCwL7biMwGLS-qQEN_C)Kn9 zuV`G2PAl+AwAt5m_ViHlyL<4Wv9G{uRGpMX3FbU?+n6{o$;2HN&Tng$Uu|c#cQA2N zM-%t*nC)I&XPvW(`CZNGhZbtx&GI%2wH{{qTu&2c^fFQDXJW=66SW~$Im5)iEo?K) zEN`;Vd$_0ERQb?+PzH`L3A|r6amFYUCyzEU*GT`=tE#WEA08Ec}l)S_Er z;@o#lJU!pUa;v;_u36sniix8qm^hbB?6=ayZ}Uvtl5gS!vph@5Ut?CZFEDYL*ls>Srk} z%m?Mp9h2~)g*&YJ8F$V4dw-ZX!YV&+VT*fa{oFrI{QJI%uUh4S7QXtxtncSC@#sT| zvlOMhRnf%4hZfrZHVGR&GO>wO_P21ZRX;*8-Kvp=Js+F&4!4QBta2+0!!0~lh4%JP z(-t4gFKe54(AO$^l&C1RYnkP5pZK5kTR7`0xO{ES`N}KMr+SnIydA~h>P|S~t#pEdDL z4-+q1c+kRp3rAbn$i!JngI;EbbI+N$#X`G<6D&O4-E7ya@(eZH z|LTQxG22gDblp7du!@J)K%ZL;i>z`t3-c|Bw6a!M*TOB9WInVcGw`B0!Qfv^^!~%d zH-0p+UxkUU?zC__&>!rETM}4daax!6?ez*w8u+|Pmto;13*WGCn}wq-%(rj?+xB@y z$ArINcHc74#N2cf9WRd3h=uESCbhe3$-ZF76ryoG`L#tTboSSVnZ!=;J XdeyLLzr}R%c4lK=*6qAko4WrG)G9K*