From 062424ee01c9b27daf9300dcca80455ccda283c9 Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Sun, 12 Apr 2020 12:23:09 +0100 Subject: [PATCH] recovery.bin: Update beta/stable image recovery image * Fix uart_2ndstage in the recovery.bin * Fix missing watchdog reset if only the VL805 image is updated. * Fix detection of VL805 EEPROM in recovery mode. * If no EEPROM images are present then recovery.bin now renames itself and reboots instead of treating this as an error. --- firmware/beta/recovery.bin | Bin 87784 -> 87784 bytes firmware/release-notes.md | 16 ++++++++++++++++ firmware/stable/recovery.bin | Bin 87784 -> 87784 bytes 3 files changed, 16 insertions(+) diff --git a/firmware/beta/recovery.bin b/firmware/beta/recovery.bin index 52d7b4da70b1f1670ad6c6117d6c9c2cedcb096c..cc640a65ce3865c3aa57a9569199d9b697ed04f2 100644 GIT binary patch delta 10381 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 VWAiU}{2zqRREhuq delta 10137 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 Pg*)yh9UA%F=imPy{kH2+ diff --git a/firmware/release-notes.md b/firmware/release-notes.md index 106c48f..ad7b5f7 100644 --- a/firmware/release-notes.md +++ b/firmware/release-notes.md @@ -1,5 +1,21 @@ # Raspberry Pi4 bootloader EEPROM release notes +## 2020-04-12 Update beta+stable recovery.bin + * If the VL805 image was updated but the bootloader was not then + recovery.bin would incorrectly switch to infinite flashing activity + LED pattern used in the rescue image to prevent infinite reboots. + Fix recovery.bin to reboot in this case. The current 'critical' + release does not have this problem. + * Fix uart_2ndstage logging in beta/stable recovery image. + * Change recovery.bin to reboot instead of displaying an error patern + if there are no EEPROM images. The Raspberry Pi Image makes it very + difficult to create a broken rescue image but a stray recovery.bin + could stop Raspbian from booting. + * Fix detection of VL805 EEPROM in recovery.bin + + N.B. These recovery.bin file used for critical updates and the rescue + image does not suffer from these bugs. + ## 2020-04-09 Add 2020-04-09 beta firmware. * Experimental tweaks for PLL analog setup to reduced jitter and improve PCIe reliability on slower silicon. diff --git a/firmware/stable/recovery.bin b/firmware/stable/recovery.bin index 8a1e66aa1ae97b7339918f4343bfb7c915937920..cc640a65ce3865c3aa57a9569199d9b697ed04f2 100644 GIT binary patch delta 11196 zcmZWv2Ygh;)}Oh%*^)wb)BEmb(+kO_hY)hp0|fHGjwiq>D=bh zlEzUhq;t`VsiTOU+XYozl%h69v>1Ki4Q_-|Ib6WPZMeq8b0w(|AgiD$P%krvYPHYx zYRGu5w^1fq+_ZCbT{7B9h-R(^$ydO3St2(#653>SA@12km@I2->g8B3bLo0#yu)$d z-$nG5};HBqB85CX10RQGQWjP;@QEvQnq$S}-2Il$WI~NSL7;Mb^pWyg#q! zGx&Ud3NKoQB#c)ZWTOcCw@&8AD|srcv(;o#L9~qT3%pARHzonbx#;OdXmlB@Ih{_o zmXk^%BAsaQ?+a}%eR|x~&U*a#q9-fQ^a_|MsK? zovYxgixX73AVHz)CCGK6DSh#Hry;7_15*OpE+ z(Kn^dDCBVZ34Xi4p$5k}R{lI4EUMX@SPDJVA*#!R88$J!HAU@1xl#S0%ypbcTwiA4 z`-wFu?GCiMuA*n5uUlVkXBn(?Tfo)#gCO@2oPQ!ragXDY`azR>KTcf+zqpI^2)yW# z$0eu22OeRZJ{696te_F_OpnjF)G`S3%;1D*7~$E|T~SKR0aBexv`ozgi>Hs*k0r$J zMFHQ^IS_gvhph>_BLdig$()l8lBAkro-W=l9@fE zdA8YEoLM1>Sl3>v$2L(p@iTSQR*^+Tm9#;q<2TqEvQW2@M=Fd$6_}_IDC$ayuR!cS zJajnTLpGwNsTAJO#AQ!F86lEU5cu^@SS+nW?gb@Uom|j&v&$@HP0#$@bW*8k`4N8C zByxVGpx5@~3?)#m)f;~=CQTKjW2Z=jNYT>hA{fXLy+l#1b*R>IGu7juZ2 zZ4DY~b~}n3%2>x%6*2(g>_aaJz!Zs$$KfpbVnvK7* z7Wr;P#9rVu-^;~t-X|o`ub9}%OhmjXu^G{ih?cjD*gXCUw7&UnSBo6hFa8wOxF}() zZ(vYO5oszW3sf@uB+9f~!J|%k(L#&B;+xR;OCd3bOT1K6+P-rovKnWkJR_<`(dV(w zM`B9sDI|6kHWw{7id=Pdyu<455D<4QW`YOB7-bt|zP!qy7K*p`A+EMDd_sUnn2UM* z13gl$!XCVdvqZFfhsr!dino^%vixaMx{HS#Ki`OEl=GBSA1<>k#nq96t0KRJ=`y`P z&MV%49G)(Mm;8np_Z4bU+|}qB!$=(wP}u~g#PlK&)2u?K$~m~|H<(iuL2v&cdId)M z=W2h9k=aK$*WyX%TD$}A`6tq!;k3W8!qd3UK5z>_&6Yf+fe}L10tfz3W(VY?VXRK;jrHO^S>jJgR;Mo zSO-6gf~Y_~^PMQtgnmusYM+bZEqoOlRn>artU@NeB(iH5HSA(W%+XVx)w8+>@NS@i zd&dA$UP!vi=4%TUZYcr_@Lo0boog0fGew zAaW8m^Nob6kc8le5tFg-pNM))?>W=k5rVM}OTV{n4(U%7U!ixK69f-JE!-9_SQ;jB z8)Be`&Tqs=F*U~G@N%`Ajta!AK3E=3J%$+DcQWrc$E~lU{+(axP zQ9??Tj@m!L*~SDGpl+XoNgwDH5<^5!iDA^aG5f^87=0SICk$5T`J}QKH7{U{kV{n9 zVo#xxSBeItF3NmFeI#1J^HP4^qtXGO1|xLX#ned%6&g7|M!< z@8E=DK$0QgU6ob9@{ckbgym&fiJ1E3TnCH!5ywcaDU?u<$Saju-_s%G@-Y zh?YsA)vEPs?#jn+K~G~ir;dgp#xcSYZ#J(yi3U@5Tv?(e*oWlPqc)4WoyD^bklPLqeJI7{0YkJ-9DQm7Lk{=<@~7m8i^}k`iYEYp{ZsVFz-%>5jta$i9sm zWTX?vbd*b{Xw=MAVF*fv@-)!`M*XG=B3d$XSj5M*=rJDAxP1=tp};;rAxtRjVGt(s9W+0Z(HN9Y)L?Kyy;Ko&;jUkuhygn={^gfo!eEU zM$s8qO&V());}K*fp!Mh63pLu(2VwRSbu#Wnk>#-=L0dNt&(Av9*C*TdJgM_2Vxp) zV+vty&OexMkclqRf^fOnQ<|qT@a@LJ?4~orU;C%?<$z!b&0H< zgmN2cXa59N_@rC#_P+&x@VDUi{}ycP7CbtD)D+>2qMbXiCl2dcXBPsTU0C%%(HT@t zY6x0_DZ3as60`@)&-Ut^-vmD&GoqkAH)Sv9uCFTQV)oa zH>oCF6HvhJYfuwkM4y7q@t<*}cj38&-frqFVh@uORP1Z`C?S)+23HbhQ8`p6?&aV< zg!N408t%ieo=X#dxji*}9siQbXj`eTimOwFV}KmKbur;ulCkyqj2K&8KVla!M#6{% zJd*NE-{0PXk=08Pa@_VremN?x%aqx7;$|)KCSeDb2V}6|jx=o~7AzTIPEtI#@iuHp z3Mx$QO&0e&)|^1ZcuBOxVk!EVErJsxBzJoTvS>~?uyZzdaOXmd??(2fyvXn1zd$C6 z3}UX77`qFgOg4CblHqRug+(V$k&NOBMrINh0}SeDMDEQZ$PL2mPrHq42R1`kuTTWJQdU%;)Kjd7l7 zBE1LOOnI~mel_*?*pV(6A8)x|KygZ<+op74Z~l`}UxYa+v5B+Nt0I^e^%g|SJW6?) zeH^QGo*mbxX?4{`nc215q_uE5CEIN@a!@!qtOEbkSlScvQv~7&AuGjjfFt(H!js?`K6)A2^;B?d^A+of3Qa&D0UQ> zo`aFu2JZ9UU}koP_nvEvsKu8N?Qjz1!57&h=?n<&b({KvHYZs5nu*!#DM-y3$(`wf zr5LnC!?v8~>3#6;o$t0ciP+1~4~mv9sP6qdck2dx+q;hLgS^~OIs(S#8fY;z=Juyo z;b^W7kC4|e{Tkf*ti}BMeQtBV{|Zfcf6#AWIqyw#;64669Shd{cswv3%^ys|AhbY7 zdq6Ix=U{9>F0x)*&^P$?ltP;#i<1Js6L=~(tOdW3C7I3z_6#_XY7FEShSC8ry6|7h zjnfHH*^jkm7S+q>;nvNiN=iS6?PZ~~x%IoU4@aX~M-Es;`~G4iopQy& zIkdA3(*o>%J40NZ2&N1TdUgUy<@ z4t8jCSd*`?Shn2`0Yi4u58(KaMRWlSA3D^S^s~cy_PoQo@H$rC6fH0Np%aP_E%7}C z+~wZXik4b9I&?I>)fzo)8l~U1zB~L^j;6zsiflR*4pofp(RHbXH|#1UJJ2duFSRB= zeVKB1E`s0aN%Usx!qMw!R$Dt;9CdsNsuiz|a~>M%+V!?$S;VY#Mw5DNln|!#6*7eP zZ0f8)od%UX)DGjuhN%DeS>bGu0rSV2Xcp`myNc$u_8&Km=G~2S;puY%zkSY*%0g*S zl4zObN#wMJ{B}@~36>OrUm31a;JM0E6qs}UIZ}o(&hM3+aI=c_%kfMlO@m5dG*!T7 zLL%*Iy(Y|}bSI3jYWJ2rWb$TY&k3!mQ+an}vl~WNXM4QuF_mvdn-)}xmX)xs+TVAv z2a#9f3giU6O{{2k($0nB)$h{>t2Xx`4y$-n(J_W2 z60Y?t?t{s_w*3V}q2Ri5aam{;bdwK}U%6gR?inz@l$bCTiOZD>h~z8kk@2L~WiPCz z)B({G`qBcZpRk_}1k=Qk{zrl_sOTbPgb4gWNr?xK6F-oSV_=;aOOLdEJ<-IOqHT*eEg8hA_E6+6Ck7cMn`LUATnTB7uUjNH3<$onq=%%k>j@#_ z3+mlPzEo<=!=CU|?n4z|6CX!#X> znx5F$8@C^JI+qEeWr{b~wGUOs1=&)E6j45UlslxjaL|b2Ay1>8WIYDx_x;tvX53mZ z3=x#OB;v5ny;~neF*0{pKWwYZQ0&60B<5os)-%V1yeUyQikg?=I7wz!eGx8b1)FV7Onr__w;6whp6nRl zu>SZ!=%Ymc!4_iDT~1DUvTHGMSU)<+ki>3e4IQSRD=x%cifI#&PA$?uX3Yp67{!T7Ng=9! z#Gv4|LFcgUygdW2r_S&SLBxY59%FfSBSvb^Mr0j-%86vO?NL=Hwc|S47a+5dY=`y6{TLg8 z?3uxCB-^{nh?v}V8J?NxJNP%^q|>w34(nI)UHAN#*ksYHRc_P1aAYtDU5;sfDYv zw3#wNX<+vaR17#vMVE69YvZkSV%g0&wZGV_P+nA9#B8#)_;|E8D<1h`2 zEsrWR8n-r+q0uIlVe3*-9;Fc7r7D$~58t|m*ebD%%Io2~*@44xx#0}f+gf-9E;^ip z*tv>3EP|_2$#q^rRZ5kb!&r~nuVWa+IdzhCWubHtDYrS0LQR^=NVP$RSGKhg{sOfh zgxonsp{K4UUM^x-Wl1A3y2=P@_LoQ(P9I|Cg-l!Jqp4IIWwb4g5pV)7^Cb2W&fyrO z(dcT7a?}BD>PXxE05m&yn-_3B-eyvJ{)J~a0@9rD#=uj`&gNIpp<<=$J+=S~A80Ty zcjj{+2nMl)ze?7(Yr8@m*0NI*@Ww=iT@}gr1kv(`MrjU0x8kr~zgyLl>{>&ZF}wvi zB3HjBc=*u@8o^*YhJ4T6Wup5z{LplxZ$7JQ+aE(5Vb)Ez{@YL{_+Z21-xIL|138EF z7&OjJqMh*3+}K9-9gc6?zZ6d=c#n#E_bOk9)p47cHIm;151gK7JK8E8R=z`Dc@lr` zcA!u1NJLS`J4j0*aadD3cs%#!O9kH*NcrE%&_Ce@(`Md`_k%*a^s?tV%$X-StpDyX zZ{|p{V5(b(zYIBv2<<`2oe*_GN1(Pb-h1W^g+O+VAW`TU*eS?it%voEk@N@nx-r-# zw~cfq!&Riqy5Z7UJYYbfysHk+?Zs-&Eo)`5t_udajSr|HGFy2v zbE5OmL;~c`UqVm8@%h2@L%2FWj~;^91v>f}^j(mcbI6UDLnTYpNJOE!~D>ezXFE9t+=z309`ADwnzj9Zg+)*%Kp?@TQ z@3AfnD@AE;l8{JV|Nc=B&WKD1Bq4B1YPJPr9XwE`d=1&xMfT9qmSU_+ z#<~s(dM+75aAY zZ8-i$JavQnZ{*Ti$Xr%R^PzFsXvEJg8%%$JM9WA#HY~Kn;<4f*OT1g=uk5<<5vM4V&*VAVBXk{T?1UFYERo=P6F2UGK42MU3Q?ysVWPwPMd=y@a-S@}1;oKva z6LjwXyPWa=dgNXzr#yBq2hTlnLX~yQ*?fvS-Ab6hYBVi}pH~G(RycX}L)Yc7?)!IN zbX}$B!c^$Kn(^{r3O}EBSe2lAGthe+@}cOs4CuHXd8y&h|INVIvUC5Xyzsrl8hkEW z6Y0Ft_2-osuqivszrf2W>qL0{&1EzLLRTB94f0plhc+9?J>eVPUpPXQ2Ly-phieL+ zICl$&bp(93+TXthDKLT{Zx$k5^kcfc@Ym{Km;G1hl@thF6G-2I%r!~cPCdDIKzQ~W zK2tbCG9A|0@bVfXeF4_4G5D`=)+svMw3@l&zv1(c0!M!!oJNY?aCeO^GU1vGWfL#W zT-qtevh3&aYtB`@60a?!&wjH zL>wixH3ehjs9Evmt*wuOM&Lk_AR3awMa;PQv3;bSIItqe|6Z9vGHsj@WRO z)s)QgQZJ0$IBDZmqG3GdM`fz#MMtR3F@9<>R*5_v(bkyj^W)^5TNF+f*sU}*7io?+ zl(JjXzS}j?fmQdy!~_`ec1-oW7{B@`^@7+^wK;)eROPLbVYuNNj-iX>(uv{ysC4y# zDr&whm8$2*WvY!bht*_nY+CDR##}`wyRxtSg;|wZVc0LsQom`KrEX!$+{kS>`}VBB zFAoy)O-X~#+;swnk4fypSSiT5j=;pV!Ko*32P!Gh>hx+^*D=gdE@ews0rv;UxWK=BMt79 zvsEN>7|IB!={F9%uEvK3BIr9VhY|_@djRCW6NuMqqu+^+X0jGYPbK9`vS=@KjV@)r zOYWagW9W7SYpB2%9K`RQhNlCQAB@=*-9n7cmCwV&Pg- zXy0cJ2`Vbg6PVh2F33@Bj7w2*RL`HUPcUe?5KKP4O z7#P4{t10mC#Ri?hgQB`jL4yffWU}4o4OnXpq-$Z9H6Ksfcdajar*x1PloIcv2yNT% zLn@KR3e%crU?|hoJj3TkyBd*e?Mhy+*^Ukt@67kX>~%q&w?0)lkAYX)EeLkNd+UBso$O{TIh!PFrhao(R7jMGx_qNh)Fk@pT-r8;7XwokF zH|LxYtS3`SP^;FP8@=i1+h>K6N**IuB@5BD|E}X7z13lG)`^GUMu+t>Qm~gge_q8$ z@l?Qo`z(2(ogbRfA3TV6ODE?bWm76E)TFFL7?K;@=j@1M>pUsYG&8_yt| z{*ofkVf_y*+Z5<_<1D*!O+ju~p>-4B1!L*v*v5BHKHA`9C;$HjSALW%iIKWDxxZuR z%_qr{P(&$)(QNB`v_Ul?>V+ta!5R7}0tZBu(&LS0&}Fkk5kY=wlmc007UWQI>s5z^P@m+aa-vdej#T<<@+P-ppH z-*4@;eFEkFP{5`g8T4EDdB-vu50hJy=p?YVMhE}kLhfnsb-hDk5x>K_`k_I#S?0l) zUilo_TMOxQh}>E1>G3^51GMvh@RT^LKf{cj^>hnd+nM7r@B2q8aoBbrr0$xd!T+Pu z^&7euoWmP&?QMh;yL{w%8z;+_(|{EpYiLBP_Ty7DJ0l}IBQ4cL@G5I)-$4U=rPih; zSJkGclA`=!#l7_TbyM`F6n#o^N-`PNcK{-$v|h={y;4(KL-w@M9=-LNxmoz7;g_t3 zhkO0Fv`@kBlYUWS5UId#7=GpW@p1UY;+LeE>y8_;3Qe}*Q<(Y5DWBPUiTDP7FXHDl zj)=|sh}c^BsS4gKr#@Wy-qn8P^x??Inq^gGR;5)XXVhR?nVwmjnOs#_la-yFoSL3o znVD8grqoWTt(;m*p41%;LAo_Jv3&O*4)N|62h&9A_s(u2-WpED$2Al)TXwJha0ngO zc=;0|cH;LZe)on@k=42H!T+o^@_*@r5KA8MzgPrfY5%}Xi1mH~V=@a7%lZd47%_eX zZ4?>7xO^7}94{R4=<^RAABR1@BtPz6|Y2)2FylG?B>U?fJOxWL{Q%i zGKLX|)%>He2{8ecd8{C7d;*oO`v>+TV&W4R&=r$cv^G#-AUaQcaS z+Y|X;pUB^RB2TfGj~TJwJ$SUQh$rGJ_&u9X#OwIE7hoB`e)ut(8~BvlHW1gsbRuq; zP8vl)#9o+*cF$0r5_c^=j7_|GxzJkk2qu-vlS3i}7U`yZNL;=X*` zpzu2bXB4=0QbXhLA@83EUz(YHdW*K*aPPw-?=OCSoVFs%YjDDCe233^af5H|Cr7&E zQ;wF8xxR3fvSH8IgWLf!n>(E0zF{^Yih!^IQSQtF0&?g=%OPqu zSrCIDB!o)^Gk_<8f{!OCpaI+vLNRoD@kW!6wPChYe_SyV4@ZEF@k-PKY5iIsmvSB#|riv}VW8s##;W zQadGQZpM_}Mpm$6?P6UAi`x;>EY<+|O47t8G9N~fR@NF;nuYk8Y)x&Bw3U^2ggqlk z4+7;vfGF!g&yeY|z99&prA{`MU9CJm+MwuAL0zd+bjY3|pU6tn#Dsaev8bMvaeY=qUp?EMQ*xNEcTUd2ykK{f5>6h*Y)&8(<$4geMm|L2la69k?2yP?W>M_yVQc5+P zo;VpsOC`-78?cs?d6qFZO33S;%a|QyB*beZGpq-hb;N|BO;RW-*nmIJFnz_b;ZW&y*6@so9|YojDdR<4>~4;-!)AzM$8S54Mcs#u%1 zxWu_Ii?Jz00osB~^w6gwH-5ejJ4a_>K_zbEt=u-}+$_PqtEf|i^&kQrY9tJ$D-Ph1 z>$}I2^bW8Q?B5lWS2gk3TVaea(a7`MRyTa8*b3a|6=`)cUf;!Trn~F;|8(76EZF_X z@0vtrP%+VKdorVoNV!&Tj4eX7qfy&F0r4imK1a?Q&}zMiL9BWZYaQ^#glJ8{3yL}g ziGvyJh~srndJG_Ew0_L_BGRUf3K|MTL2iBf7At^oaoj|BFNh&#+x@Iv5S-IuT zxqzN8WB{`{=W4Lc^DE#`N+))z&<^ic3sgEg=j3KX`P~8}{3%AU^{lxm2Pq8-=lHC^ zAg>5)GyX<<%=Iilu6(!p_7swf{$as`3X!uk1qruBx+D4_!TxOl-N!7^2ADk!g_7g= zBS9_L6=Xs{aL8K)sI~|#Q?afYm`b;v1DW)KJ*$A&1A5dL3Xm;Qi_7!IU4(kfY3*Cnr@8oM?I8)4I!zdl%LD&Q;#O?wC-ZS&5D1qd9_aO{d zKzav;U>zA1*hlLZ%eqFo&*B;PSxhAF1SaC{QDsZ;S*t^qJA?Y4X}D5yt7 z2sEB`EA5ATR9lV^Z{X^HgetTqpKJ~aW0srAfuJbn7c;pS6ct@#MmAs2w;5JLa@>FP z-<6mJW1kS|1Rt14bTF5B-h^sPkWJ;`S`5S6xeB_fs;$5|518bLX#a3**iV)Ck`8mU zowlWrw}TDLc|8$>!*EY>DcBV8m_xP);%w8b#OHNRHi%Oi7}$U+LEZs&%tZ7dVZN7v zMCINFM>wkQduB2yq=(O1Gu?(qVGEYRFn;8fkZ@)fM;b!1;x@#65UGA?gHbMcigcaU z#`%GImiAtiDcEbxBJh~R(a9)@I`m7%8AZ;94kbBZvHtgU%OWS|FH5C|ZDQ06AQ=}$ zUJUCIS{OAGD(0wac=vU`bE9~p6>6EyN5cAJg}Owr9}gzoBJ9j9EvbtTLVk&AxszSOB;mHQJj#a>tA9Zi&fMhFQ=Ts%@StqOFIB|H1 z66F6f=5k91y8$bq}b2*HyOz7lrt2s+B{v1?Y0iu`YZW(A@*N6J7O%P`?TF?OpX3O57d6ZJ7Af zXdQNa2>XnRkPp(LLK#QPGGHy(OA(*uuj`z8MGO*rMB3I_9~(og`ZVToIN7e}l3tBb z!}{XJK1c;z9_A}KrCr zpe9|QiIkXh>YA>amdrGjMRc%CJ1pE-+%6b3i+$4s`^89o!)OG~EN3Q5`o-kqJ!EZ6 z3cf~KVgj|vc?g078sp94SYEKll4~)&@BVvaX?_A;yCsMAB9Nvh-1 zgROlimA6>ji16{F12S3LRk08b-F4Cu@4~~$I|*?(jC_+&8Or?HP=^MaVSCg&m8Cpq z1eGhf?l9&`lKjh-U=L+_XWJ7XZ z%B%O@15f=zlnl(Mz|k-zG?R7h1LH4nDg0ijmuApl0o86tcBtuyJS8E4zxOWm688;f zV3##!0k`M6*Cik!RTS(!dZU#+PuBH7LITuGWL!#k;IQ796S%$Hao~V6kj)}eUO$l6 zQVe4bWO%uLp{~w79;LXFj)b!?B8Qaw1@wYJCYVHPqz5lKJlxXGiIOkX9P5;JQwHnW z^`G8?{gZTLi*j>+o2XMm1HaDD>X36ZhXgsyPq42_rz0;Txv7Ia7XxjC8y!V9q{es_ zWFXg%;2Q+{BJz3a^Y{))@0EvtA#-~5_uie(8=u(pkIAWCiJsfik*n?zrT&q~)8g<; zBq=RaTbriURT^2FN0&A&WL#Rd=P006xM|lBM_OD$e0oJx=OLbhF~_<-`-{$>USo#- zqkjOooi^BG{vElFZi8WWng^s$Wbij+XXZFu->l4vVen&;lw-nQlMy*Fen0$5FCpE! z&(|TB=w9YG$ZI)+@j3ESj)9r`J7ID&{1&>28UrZNUN=!L>7P3a&mmiL?*i{PdWR~P zr%-K`kdJzgV%Fax{(bb=NYeW}2TF1DF?;SyLatIchwhtTpXZp}9b{x*D?UU%?;DPX z5LaIV=7=({zuA?9ooit2tJ4_gHg1-ByE7uG~kjizqxuvL@#Rr;G z%9I%ICfWVMvAuazzf+h={k1uIz##_z()`n)4Y;h$h}va}V~cQmDZKMx+LtKe;YQ$1 zk+T%>awG7j$X9@jmra8Eb|l9y@GCjqY$J8U z_TdIHV)zOykW0gd8E^k2Io`e`IbQx%a$LSG*k^YKI~OI`V|wynr8jE9@RMO9#^FcJ zdq%)!{J7aP>Nf^=5Wlh6crY0_c0#uuKR0rQ{UvBGXlv`w&4Sg#?>w1>Y)W?+6h_WW^oywhI<<&xcmB4jM)H~ptJ+(q z;5~s}0las$D%?G95zk2}IF0m~v;pTf|7+45oOjzK=kOGsYg)9|QXmdaf*8#Q$#5gO zb&O|udn(Vp9;s3Y_US$XPYwA66AOO%cMHScuAmcKVX@$3a@{fxGo+{@5#MN@U9kY; z!=$6~vfp8ER#pe>8NRvKY|abVG?S~7vrQYlXLEI++PM9(TGZRjc#m^m}c};SN*^&YwFbDj|Gcbq=+iCNVSP@X6*OGgFw9h+H7y^B197E#y?F zZ!&Rd9C9^eAh+1VfWHhGSd4bCY7SkCYHqGxAv2VP-do*GRJrsBp=a}}y#%gAtjU9I z7kY2iLlHa-8TVohv+O%^@x>X;fbW_IyySs>_WL2YgVXC-Z$!Oi)!f9IWbkhEj>+ew@)^qg9I_@+LoPYqI%UnPh}Js=&Ey0bAaK4y`P@oCRtCM01g@tB%~7?s2*~6V z^tg>zARxIK%(_ce(FHSDo9cKZujQT2MX{FNtZoPVT6@wUS8|+tXzl9(My8IF97%sN zGR&dEP^>d z@+Bwc4Np>~i2J;7BriDzokgy%!B-#Mw-V`{7gKoHoQIRK>mq2LajH_N;(jCp=f`=r zYLV-a+hErb+x%?#QeVjBke2z8kva0LC?gx~v_v`Uf`+T2oNIzu=V6sR+UVRCi=yGm zNZ19D`7w;36cvK%oa8uoH&iD%_T8Na*_ZQhbOpFa!7UB$JPNo)d11I2d~1b_VVduY znF1Ujrg1t5KZVR*kf3ePYTL&lOA=?)JGZG?_uV0T76hne*^=YVgIK4GoLUfCBg^)y zFgj(~GG}{MkRK)|T!d*Mqy1N9_}y2zo%?mw-ZzYRgcifrU(ERa794T@aQnHu6cjibw{I;AEpr(2G1=-$KNS z9*iweWIJFJAsbhj<+RA$8>%WAc6%%jdwh)#at&}V)c{R5h@iS7PhID7$nSEzZe#jeyV(vQHdRf~MCOH)UnhuEq z6--q?&-M`Pe`u7p5HL}aPQLw8TkFHO>&%VON61$w4ufVBsntMIJoth#r$vb zMe{c-7&JIQt+pMI7UM6AFZt9%$u>iB{McsO!JuS5#aa))6!|wGxEm^WL)Z#)KFwMfml zMw5fKBpgbv+4_551XrN$u!kX}0Q$ToTk%M8bx9HKMdFr*;x9VX@Uehr;5&lk z`27Yw$GwPoxh?dMjww1z=eVl>j=LVl9YZcH4>T3te^B#Uh)%vB3BQv`4EnK(ztz>hnG$dzwdY=*F*QV{>k0DKhdu2 z1JU&0mBt>gLhn9s!1BEjk^yJmj%g5cgB^R6qGP~$3djj7#7BYSJV9z#M#oh_2Y=`= z6i(zg=y3h!G#$N6Wx^m4?m?>EgIprNt<>SA#QT+DIFMLgNr$jw(<>!-GWqG1Z2S=k zUX_BKr2i@tevMSGO2BgR_NrVwj(oo=6Xy}_>R#HkKSEaDIo;aQ7p>zM*q5`&h}A~C ziOgF)0beBNR_E4ytfHz$wd=q|8#Go!yk=N@C4wl<;>$}8&tt7E-Eh6T@8dgwHV#Ad zn}g)IcC^kJoW(Q_23iA5_9v)^WZ}kvQ1^xUIjDzb(H=F>V=?sj`luRWJ~dbw+*k%! zU%);|JZep+L@59y0dN?)1!WyOTB=+H?5(D5I^0+UZOPEK`zZN%%|x6{!q@q8_jHovw4QWr;GdlSDwCfF0O4|&Dj2UPdDy##Jl zKI_KeS~6|j5PY2+SvLwFApz^-;J%f&KEX5hH=2DLkS94Z$ei_6xQ$#`KMg{N5;B-B z05Rbcp%)|+sx}P9 z^T_@U!!nPv$TkAJ8{Cb-`!Rped+&ELTHnN?+EP@lvKr)0PE|$EQx@iU_jzg{c^eCW z&(e)amWS793W$DyV0NxVDKWnNl6fSGvayg7dJrf%4qfOpIT08BzsZ^Q?@se#nf1iH ze0HJJ2wAMu*tCHE+f4j6je`Ws%uS)D@orxIz;sCt@rN=nT_s?`RPK0e9o(~*aaMWC6nF=41577=(o|0 z1wa?`gzgAg`$nkz_%(bjpS=G@Fs>t?zmcT9uSfTf^3R;$GWjo1rsNQaa*GkqAPHLx zflhauqP4ON8Yyp=Az>^7Z!}iHrK|OPs#JN?;8E*{@4uWbN-M&{%mpg2|<+hnj4$h7y`NENjxl1XtXT z5aLMdo3Z0;rta0<)k~sd)V4Sb5tpBeg`guK65<$9){Zb5o2EWmfo*ri81>SaOtlem z*OFsGJI!BD{e|k3>R`+-R8O}wR8M!{O^wJsGVQGe!Ap-L+ig(;-*&A$17A>RUR24m z9VdzOR%oxY;D3tY3yWUOcASPX({K_MLXGKp3v-%oY{k92vlcu-*d@!nG5wCA+4@aV+V+}d; zb}$%^8*j(NQ2xur0ZC?&jqwFzC@&3I{ou4(hdNF|3+B1}V=#w5NOtWI+>NZRO&Jv- z@nF~>7=tU2U=PAkFy@V`Q*~Qe_umCJRRX>;^&A<-+%QbkbLjexjIY}yc}v6k5HxLSo9fcI1d}mOJo4K z+~SKku{o_BR3r(cqdWU#rb$1lQkShlhrbCqExBoI%D9X zPb*Y5=g`6WCR`|yu45W7Mp1HnPOK;8@0iUjjn_*+d>88SjgqNl;9Ir=IRXI7{sLl8d9J~CiOS#NkV-v z7~G5r3(#yOa_2kK)iU_4)0$``qrd$?`tTIN2U{;QVV-kyU@^Z8eRDWCowDkIw3h8 zx3MN=V=PiMCL)@;Pvt9-x0gY7`=jk^16E%}Qx%{P zB`BmjgzGdy{F6+0cPDNl>V`~wiI^Kww5xw$+&hBKWL7aq)x5O95088BJzs3$AXZgU z!Q&k|R;-WdsLk#denp(|$Ca#3LMX`7^xdM7#`96}} z3OS7+E`}4_R42*rJ3{>~f3JK+JsQ4g42JD5D)J=AJnG&H_Wa{}n$ArHZoiR&_Xs{k z&b=2`Q-7w@r76$+f0s7=E3`UR>~d@WiJIR(gI0$FiXm{O&aTrXIRW(rlt$eY?TooM z0jdR!r#`6%Fv3o2m&6m54-nAboINX)`_>?@@9d3N{L)2ggp#wz8 zQTnl#hgE?(4Ut!3$??KD$?+}8-eZ)Hy8;myvF!0s(6EB!HC1~1M<8TuvqnH>tizw|X&M4qPrNr27m@J2ad-_W*&FV?=Q|#Pv;suU z`E^pgH#2gH3ZXJ*_hgT*m0ib4j*l8T6Z^EhzoGfW-szZOlq73k2L6`J-1i#JCDOhm zJc}glj|pv)qx%~8jNB&D7+-R1dTd~Ku-;tBwXaF_ej4lS-(TdTJ&QmAm$^SUj3mcZ zqCQX!vDShEx!%jqc8bJ6Uy&R?ut*P<<$wO*KWB8@0z`7;y(>8k?~?L^{xWI%Om-a( zBEmrp);F&^_$|)v)vH%ZR$4lO^w+Sm!Gm%vX=&+Imb7P3p?P>wj((tJmR_HxPfbou zM#IYn0+N!JlbV*3oZ0-=2dy|H89txsP8HK7cKTCF zl7Beq;Itta{!2pG0VLcRfrTfH7z*(RHtimYC)P~<00~pzSqRVlp;(}8Yk)p%)c?|N z0W5js|660n7U30?dswz&qtM*!-(K+13%V3YsRxd|{Hgn1$$?VJTdTmOOO z0VX_!QGOpmUprt>bpK_8M!SlrrueDKu&2uWQ|0HMD!=qp+4fYKGTa7N`_pkqcnr^v z@J)F##8AuNc?{1ncqq*?ePQVa!g+WB_ShU$Bb;80gw`6^G#ilc1w6OlQEdYC!82$x zs2iTW@VwQCgp&@~G&^86P}WL_nK9}T>hJ28Fa{iL0b zM=0}0?z__KYR-`BC*E07xO385pA2~K&Zv(sEWGss<9Bpw`Qe&fR~t92ou3m?tjlc) z+M9RtFWhfXc7Z)a^V7hw+kE=D*0580&aZ#<&g)VBYfNe%89#rf;iIVEvg*FL_43uL zpC>HlTA%6u<;^1x9=_DNvu@Oz%NMsU{Pf{8qnI&1H?L-rX7AjemhAr{cwNh(tBu7k z4a@7fu=&FcpY6M1@Bf8q^RcOwWLm;k3De&gI3&Nm^sW10mhJ~4P0!ulxZ_Z2$u{5e zZ*P8eDfRRB&iz&?vmI;pH-EGB;_sJM{C4h{32W{gSQ~9=oPU1Q#ywXKG>s~X=YG$y co*Z-e)eB!