From 784b0726b3ed82f44b334807ee7c1eb075d53378 Mon Sep 17 00:00:00 2001 From: Martin Stiaszny Date: Mon, 4 Nov 2019 13:03:07 -0800 Subject: [PATCH 1/2] Cannot compare int and NoneType in python3 --- docs/sbp.pdf | Bin 417183 -> 416667 bytes generator/sbpg/targets/rust.py | 2 +- package-lock.json | 1899 +++++++------ rust/sbp/src/messages/acquisition.rs | 96 +- rust/sbp/src/messages/bootload.rs | 98 +- rust/sbp/src/messages/file_io.rs | 224 +- rust/sbp/src/messages/flash.rs | 268 +- rust/sbp/src/messages/gnss.rs | 244 +- rust/sbp/src/messages/imu.rs | 82 +- rust/sbp/src/messages/linux.rs | 172 +- rust/sbp/src/messages/logging.rs | 68 +- rust/sbp/src/messages/navigation.rs | 1296 ++++----- rust/sbp/src/messages/observation.rs | 3772 +++++++++++++------------- rust/sbp/src/messages/orientation.rs | 144 +- rust/sbp/src/messages/piksi.rs | 1132 ++++---- rust/sbp/src/messages/settings.rs | 232 +- rust/sbp/src/messages/ssr.rs | 706 ++--- rust/sbp/src/messages/system.rs | 210 +- rust/sbp/src/messages/tracking.rs | 746 ++--- 19 files changed, 5695 insertions(+), 5696 deletions(-) diff --git a/docs/sbp.pdf b/docs/sbp.pdf index 3ae1882631fb15aec91dc69cbfb9ffc440259ab0..ff04d2e3dbc6c645f6afe258bf1b244598ac151c 100644 GIT binary patch delta 258611 zcmZs?V{m3&8!Q~#wr$(ColMM$?c8xPadIaUI}_WsZD(TJPR=}UeLudcbE^OBeeJH^ zUA<(op62(?8lbcP`V=2yQj#s_dmfXneLazj6D9Hllf{@oSYJ8nD8W1CZUd$q{8-GL z%ra`}6YDI|D4!GprAHxmGbH;_wEiv?T??zoB*;h`=5eYD_$6uO)r8S`mWe`^hOqMlrb!xI^vQYHf-OqDuPzyZ*HdKa# zH&QAk<iUV2og#@_9(twO>6_ zQJVGndS#fs;b>H3+zgQ_i=D;Aj@q70pSKzubsdnB4@l*G19-X$Anz=6^F5S0?Wocq z?-`zCu>}7?b*gUtep7~F6B99UJxCelL-1#V6O$wM8|CR`M`B z-3)rKK0yMF?UU|SnCPZBK^%YM7}v+fLORSXKST>z0-cY#ckCn0jjIYx4w{4Ck%PW^ zKY&?1SqmeE1T+)~?PHTko){Aqc}3L3pV+$g0!s5BwG3{yM?v46mqnW0(AHE=j}vO) zVL#M5HIe3Jmzz->GxuBby1OjCbljFG-Q44^{1+^TNSkBSJ`t|Ocg{{W9nMI?w3$`{ zG^tzr0)CcPh2EHbg&OGFyIx|S9y2-KsnQh)nCK{Y&FY7NlFTMmkHUPij11^zBrN=-h2@WXO{Q!$|x(@fYmX9AbM4;%s=p zgm?YWtJ>Qz4TX;!-S-M={O1Livi907EadxgOCq+ol(kXlWFdvQ7;JB~q0hkCj3aa7 z`o8FDJBtAnJTponwnWyA4${oUG<#oBW{@E@02y>jDw$P)@4$h2oHPV^YueMtwz;)a zSbuo$#!gqpa^`oR`i&j###DL*ufx!~BS#T1b>+tRcLMiQ`sxUo&H8mM%_kM}a>b

yeqq~1ZDfpG%mfGKYaj8{)@-)PDv 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 ?^xm2Yr($v^j?s6?^< zej19#FoiG~De(pkJ1VqJ+zrMa)ddO0P}o@W&q1+L2WvvqyFnCBSBEPUUpWp%*^gq; z>3<+dc{7+1Ng0qtC_!bhb&jvshmAxIWF*G8e1J`~*@jc5jb#Fi*4X?4E$VE#$Yy0q zi_1V`ek3J^6E<#}D2jt9o|+Yrysglg#vpF}kY5NP(q0b5UJ)}M{-Chos-J^mr4C87 zU1|u$5$cF=eEA|I9!-kH)pA|l-rnZr4}ZI5;z5Izhrz;(@&5pq3M0c>3B8a++fs4q zs`e{F>8pgfU&THTO^xK+s@9j3oFyHQ#9O75W8{VlHgNIU53%4ZYLYLS73rQ;uq$;W zM*}rnuuoS0O!ho&*7uozw>YOyH$OEzL)PlXYwUgJGQ zXN*t}I|~)idm4&97KA~FR1!V;vr2ZQjEf`>9Dg>CiogJ_Xn9cjGIGdZy1#-87ysB1h?Tl-hp;s} za8cL4_+bYuz8?UVII5F(EnvknfNg*F{F6r#mTG3qA9=dF0;Qy|pUhQ-u0-EeJANUC zhUitf&i`=#loy9F#U1r3KEZ|Wu~3J2R0cZVejon_VYLNg3T19&b98cLVV8>H0SW># zIhP^%0TY*`sscBE(U!<|clO;Is0}LWgUY5C;NT=qu$08qcA!E1@f~~Zyn}?wY3-f& z%s1aMG9`>$_AcVyhXE+!sMDZHJRuUO0%DY+h8Yr%$!!olXOk-I3jx9Rl8!Uge{F7T(8Kz0Yy)caLL#5{&S5P)-d18O?jQ_l%5D zbVV4I&XVUwaZVIy%(OO}k*N2x$J#pfPhXeau8W~>K@2yPGw_9di!Kjy(UK~z8%4qR zellV!89~9?bt;D;wV{^D-H>0tM~5LTHd~qZ2x%Q*U`3r`gA2~7Q#cxQ-Ip4Nq(~otGR(5^9Y3VCnP}?54+zRCsg|X` zoTp`(Oj9oyr{$=~hG{FS9@33L>m;9avXBSe-D6sGn8M#=G4^KJBCE1wmc48Vy*+fk z1uCUQt>v#58+>AY*u_4V)Jf?}DOY8c&S^894n{|RK&pkHQXGKPICB!DN0!VYstwV= z(WUe8f7~%H%CuVN22`pxw>zfTuwJEAm6rI!8zpV2K#gt1D0@l$vUwB1HYR;;oCpTB zo4i@ed4h|}t<}K|HWTL}wbZ!9b95mEUVmyv_SkjoXgipo!pOJm?8$a0$Ej{X%fdc( zS_iU!J(mJJC>7r_1SP4)Wo6!IGE1iA8oOJI=o{5)MIAzsqOj+xwK-Ou!p(Ht{avq9*iO`}RxC%=vPgIMWdA%eO#%35 z=r<#-emI52zzT3+}S3S`ux^i-)J0E#cfS^bUgcK(#khiTy@@~qWh+#T5v zC43vH>Q>3IeY*SyPP*%qmx1B|69Y0iIFo^t69YLkGnWyr0ycj!3M}5fHP1<=b?Vsd zCC!1BXqz*V=t#0-_t$qpfR^|WMVdb81uXXQVX+H}MmG_SK26?UPJa6cGP1-fP|@Xe zB!EbWw3I|s9bL|&@A1X2?0P#r;T+<#8pb>jslo1UO&6bnzKWH?^pT0zt2y3EW#lU4GL7}E@ z+9JA`oKI-5qyAb7)6hKe}l+sxIdw2s+u5RQS%RO{}KO z`L4EF;k?gh7ihhN_;P9?e!5Hjr+=xWg&)e5a43%8adLmPD2DJ@5kr`%55kG8@*O(z zu(judED^*S#+@Zf5utd*9R^l;OE~kYgKY*-aiWF6l?4GN>k;I85oCsdGS305h_Frs zLO`YI5`m*RVNx|j7={+q;perR3`*QS3Nhf=vn(WorD?;`y z-K6V>bbfybm=-0^hbgc_#-J|DR*?ZSJz*FU8#C5~#^7Y$iy5kkLR6d37)cl(6>w&O za3RNW=MCw>OwEu6G}aKs)hpzyQc`!qs;^fB?dv>WrrRQE<8HrrTFq{KLh6&VrYt5H z^VqmIOb^LkEykY@Gi(PVvyvDkt28p&WY7&1()NF$P!W{Y!k`nO5&+#rZkA;K&ac!_lHZ49MX3ZXf09aZ z2I1E<_I#Kjd-w_ClWC=yXu(csLMD`NF$K2L|S#s{(1wDEkH{(G!Ri`9I+3&9!yzldAPKal8uHL7oQA`pR5xM)EH z*pb+JOJ3Z#Hm`!P(l##r;vs`AocHC&EM3g~^^S|QJe{5hA>xZ|;%hVRAYn4OdH#Rk ziNQFrJ<$wHCrUXkTu8lMxCzCuiUy#HLnMr9gJ|afE*R0;U4kg0l&X6`TfNKl6o@dp za-(TF#|`Z60W`xBMuA`dA9tCREbftX29(C{)6Hz1-4z#J4YHoqp%#y5)^(}XUmayN z;pMd)MGsS8@$bJ1y|Qh#y75lWR``D*S!DkurEVx2b;kA}Y-twezJFRJ%WRe`7EgXE z&bnDSLHm>V^FAsjeM^)1Q`-O@282@z#eKcsCO4_S{!1TcX*v&FER#q7?fib7bbC-q zfyq=43Fu*_ISO+l6_=D)^pB8@g^zzSrb702 zdI~>U@RnHhQqdD{4MZ{>DQa+jC*Dj@Oo+ORCvA{G8A;@cz6|f6j47ffd*`hdnIw0TS=w}`_Mxim7l?M2>i!_{xG6i5+DLX+E0koZo zzPdw=cf|37#Bt2SnpKJ8ZM=WshBAWpj|zT>hqs}`|!L^+{J_oPSF&)haFv+)3=Z~ z?~iPjt~P0psl2}AJ5146#qj4xEgbbgs9IGy;6`k%6de@R4$_4x5Ep;gLCHPTO<5L} zoXfy@a6{0P)1s5^nO-?o__PMQIMoN!YhTFF6!h9mBiH|Zd_^j zBHT-L3?-%;_W|lCOITUd*VF6seOpH&-Mf>+8S8YGW^SVtvHO*6Z?o{=Z;@=m^TJI! z%UAQREm4)Z%EPn7ec^x5DxB{LKj1t}j9ls=vFw1HQz9)yoLK_e9EMy4$oCE7?gDd* zTl9X@pLB&JDqSVroZ8W(CsvP=^^H2D+<_{_1F#mTKwuVwvaL+q>M?0$3R2_;wLO^De)? zThuC%dP?5jrt5#6QyXpE;X;S^7$dsI1T|$3IjYAP-7=;3Cazke0jQ6FO81*k3 z5#xgkCd8}_-cTVGf?;A6$fTT9h(>%>j;1810-ie;N06Z4Vtwc#p|cMjQV4&nZ5Wx7 zwmGP5~Zo20#)MsGz6dUyOAy zj1i@FWfM54TEKAGRWv$ya9doV08&tcolBS@BuHEzW=Jp>QZVF6?ZQYzUY`Lm_ zJc_Jl5!7NyswRdwR<&p-`}%(r1B-Vf1x>;_E@1{KIxZ0$9;+H+;=MkFB{85YIfB4C zE;J%=s+vHG>Ig(IMo|l6GLa>Z2%e6K)YPa_R!2ZLW?$7XgA{$rn4zF6AxP{_PeMk3t$MIdv?*1+aBMK+jhEMn6Ul%mpARVH|@Bc8ebbm&GmnB(VD9((_F*E=y%<& z!HDR0ovt2HL<;Ab7sUmtc z9Rca0oi5sq)|5KusCho!EbrHo>1JDxYTMtZKg`BoE#H`1oiPDXF5x968n4kCSck`*8j92Y! zxv(WZQNNu94Jx;-V2VYhK^673fZ2(QO^z-NCXm%-Ck21F0)+~7!WPgXrC_5A7e?cg zSgLh1*-W}#iDlNBpKNi`2Ms?&qny;m_jgYE%3pDoQ1d$cJ=EQDoyclE>7yGpl;Oj1 z{Q-#&xPCIDw}s=7(cYcRXx)ia{^~|#CzN*(`B*|=T`>Ol^hCh4ykVKNx>2Bvw8VPG zlx+;k++BZ;)f8)-xoi%?P~MqrrF%DR?Bs3H^0n&Y!~DI z+R5^DGr8Zi%h%I&GhHvlGoPd5#gRbg>YSF@itv!}1`=k4t2W;LD6ew{(uILo2dm#w_EI;)!K(u4EcYgX2Vh5Vm(xtwpByZQ32c|G2MI0x-}Q|#*3 zCvOqo`~Ji~(0%tJe?&K?WF2VQN0%~cnv=_H2(UpyXwJ9?@cBr^;C>Y&gl%a#@J|{L zqcndYMjc%)(Q*nO!S9C~v4>lZbU*D7LkWFJoxi&y^0kabSY=cdXA)ICFxNt z+7x`B6}@y;^g#WS=0Nw6r0MD&OPW8@jS*X?x5m8?u|MdxpWKlIlhY|5%7EyV0nzK| z;)raMm(Py!#NCJxogNX2{UdUq`$$B(y2*bPEPm;;i%2}e5qb}f&;X9m0FHEZ6aF~< z2(Ks3;`Sp%i0?s!IDiOo01>*nAFnih*u{d65Fz#@0#i341Beg@5TUDk*%x)^aJ6(@ z&1smcA8!0O?#}GY=iC7X91&UI3CC7q(u)veeyK-B>GMj*yLA3HOfb?$y~6;is5gHY z1qatydcnz^4JqgTS$d%RNS1bWQwHABPZ#@btG5t+bYVN9!@YFL5q$Qkt{EwHX_MmV zv`KVUwuE4F(t3?JCyzWuTpWBL$j@G{s=ezTm=gET&jZ~@^0TX(qQiEg-?&i^sn4q-D4~5r&GDhk;6;rd3d4yM+XloxA3k! zOWF(jyGYsJMM~KT#htT+Yc;?onF^sek$#G0T}aqrkS!E?(U8tqq>vUV=nHn#O3@Fp zoXzldWE3mDI2xw9o+z54--I<$T}~pJy)TzXqt~iYzX-GXQI{?+2^Anx)WhJ#;pDi3 z!*CKA(mRm~M{k1%X3qZrV@%Y1m(eQ&6ag@k@lO*2F*h=kfxar2{=EW50a3R_z5=%b z0R^}HzykRJf7*Ku(h?KD<#gZ9q7tFd)3Bru-aslSRFOh8e z(9E&vw|q3A?Dx?Q1@F1J_rj;b`HsG3=t-OQx8nz;dWz$e5Np6%x)=gu!&XAV6N>jtFwg zKyDkx{bQ9Voj#b*e(!9SmvE>8BB@;`%NyX>KB>_s+rDDhC4aAk1MY&H9Ce-6WW$i2 zd~O*Ae~&a64vvrZxMYpXi!Zwk`Gz6wHWZuDTyt!=Tqp7I>41iRr#ibQ z+p4S^(yo==Np20#k1o93M{?Zdk>U+Q`Dr^tY-!Wocgb~zY%gwRTPjN0<=t_l({Q9e zT0U1V7s!rsRX|{}QLQ)lgS_o1Sy)$VzO`gKM2^CZ76&50Z@*u*jydm%Vni@+ikHFd zc~SX4S_F;Zyg}s9pKh1sqnX{gn+v?*hrt39-PMai5sD^2P1hCaKM3yk<(JVb0~7)= zGMAyS0TY+u!~!jUOLyD065jh)XjkgS!o?dzceazb$w?ij^3BHef}$v!w|YgS>?Wr_ zzJmuDQX(b!i1vykFq|0xALa$%-hB`EE>F&HPX7Czik?PVQrWwi^f*O=_LLAvVb!}C z_ilsXQ##4}1IB1@6+Nc+QJya5@J$qFKRa2y6Nt~#dDN$WI#_*o{nx8SzK9po{@u;T zlXo{K-%bc9fqSGBN|2(o7tc;^?{IGnT_1ZGaUJ%aEa9vts02;TZ`0oJc;W=@Ddc^VQ|)GIJo%YK89c2^ZJj^?>~HcXFhcBk88t!V@%(<_kUaumqvX% zX@npxKnO^G!@U8;2x~9t<{{}1s1U&{$+GC)e#l^)WbrB;C7J7src>8$G%yWIJ6VfA zG2v531plo2Bv|zaBuMA*cJErF_}e}OMq3bLeyOw<6TE@v} zU9g>xi(jK`y-LhT&Cm!(nsYa_+^{#RyG&M-h1Ga}7R_UjZdSEekA~HijG<78&DB*} zwXSXhIzxbi>PZSyuZYv=GfWuElDyQGA}*Ng`x6U1GD?2WlMFtHB@z-*;8!IarazLS z7`!(`#eBeqAXtgufAciY3~p!$yJH43N2m^Y@YW(>Y1gl1Ge`{6MbvXPL+f-2O%aw} zQN|p9fElk465wn(S(2*~;x!7)bwTk4a6)N-;ejO%NPi#*(ZM=&e+p9lGt@{jRs0Ir z-5xVl05QB9=V+7)F(EoZ zBd{Vu9)QLUWENiB$!O@-%e*5tsf{%p^SZ@wuyMPR^ zf)VXUmq5q@6@SNQx;DXx!eQ`vKK)*{repV-PTbSu(6wc4Hslxb%PWC{Z`%(DazVLS zb}T9&428Mv1Qo!F@k88N2Qmv-RAp9hk0&F3||gbqI0)|1;SxBHU@J9oc4pM1Ca%oDt{uYPAMIuEXohCGmCkaC)252 z%t5wH;?!hJG0ZZj0kD9+G&gAv2eUFx=7ToNlG`7Xm9bTj^xQlcPsW)HZ1dDuE2aWS zav)n=xsS`~Vjg9lERN<)DMOM%jr#>xK8Fih{~ktricfMa!IKpG%SPqoHezx_CN{Ta-L?8FipRzw}J{C^#YESA3_va5xYaQS*aiQXC zRDS^&fKxEh0EzXnkYJi2j61P643;S*`w`KFNRNoB$PGX=7#u|qCtZkVFnNN9^${;U zAU0N%naNRA{5ji_Elp)%?hhJF>Dm~YTGa~L%TUe!QgNcMV2Fs?fL&%`rwBgY&9M+8 zAv&={h7}VBSfVau7Pza*tdAI8En%asRsSRXI*5# zt=DY`t?K>@x{6>^XE+JM8F#mV}aOC%M6^cC^1oI!GMJZ{gm3p0jQZhS>Iw|vSq@L zV&Mm}pGAEfc+ZVKNP;N*?9Sa&d%6L0OYACBuq-45M^TiMZBMP9e1B@LE@2srYy}zm zX;8e8pT%TccPItOHe4SB$}-&P+aHs;8;u*Vqe5vC-#ydHZ0OfJrv4ztJ>A-(v$37FIq z4$sf_uw(_xPoH-a@-0HzOenTTbKRt)+#bwzbRuMW{Zs10;l?h_dIvwcV&O00xW zMs`^yP6-Iq9heGEjki;KZ4+l;!<6VkBGWKuY@cdU;>1hS^*xnZ7CSs+)4C+6KLhwY4Oa-%2CX3D4hfh3N!qw}9GhO7#y+_<6 zMrI%>KC6?k{ z3&DAMUeyki)_HpIyMGo1_0|@G6~=f@Jehxk#-77(uJ6km*U#o!@O0IB)6rquSIrG= zm+r1wxbFj2+g!I~<0Sz;a$(ATJsx!J`iFjSn?QBjEYLw^T@Co`VV2vJ&E}cS(yMh9 zsFro@x!;HLvK&g<4K1zLj@Eu4F$*AWi+X|e3av@Ez5*GVp@vA%+@w`Q>#%=z zv{|~DNJqs0aO=soH(j|Qz)mqZ+*d=~A)YH|il^PYc6Y9>$y9I`tp?kYmcH8D)@~%Y zZyYbx;JQ`0aA=T>gFz;!NA(KNG2F-J6zw0m;V;iGVG(q{bV#Q`2jhJivZTE3hpt?N z1bhDWg04sZBeZkn((8gZ%c^sLE>eHOsCERGguVAv`KN$8z8bqye0C;%037`$7L1czO zdK<1TekSOsAOf#jjD^6LK7DFqZz4nnY>N-EBEag}trG@{^`SYCa0!Uz2>5r&9bqz#MZdy2ce-MzyqWui%_XshUF)@Pk~v_7#GjY99K5mjq7zcCm2% zYFlIDQCh@m$b1SRpvMByECPPB-CVnl_CB}(gS641miR(~e5$&p`|I%tW5fxprJ~K(6A8gW@^E}6^eM<)DN*8q7Om~#HxhA!B2la2-!)E9dhj&La0J_ zuKGx2;h@;Xe(MV%!h6>&UFg}qSpkgy4b$Xg20SwQY72ctWrrTIg*`d?9vR(puz^i< zW_-o-Huyaj;uv92luYPXSn$X6@pT=MAlDTPz59rl)jxYf%|R;=IrM^aBtuYKw1tfpx6XaT~x6NOVJq?C|!T}zK zq9R519y13yg;;q1E4Q9~SoEy>%ox6&)Edb)M_((q!d<=qqFF`~Z`olwfOEENrf3I9v{89sVd_6#5T}hq{fb{7Qqy zDP^pI7MMS!((;o(OGKtwmS>4F856b$<2im)reyX^wTH8<(YhwHKEflT1plQRK-Cb7aowHtpfK}ivDZ2EJiU`XtG`g3Mv3OUWh zGu$iq^1gFnDuo;UEMRa^97!G{pc2O9DfHpk@gL+q)y9|6D+3f3GBO}AAa7!73Oqat zFHB`_XLM*FIXRaR(gP}&u=@fEfA9!SZ4_@1y(Nv4NhWpNNbSY-fu8rmG*x;xfBQ7KnoYh< zI0V5GzIDo}6(T8CliNF%%t7=iVN|&+d5(&!L<<9vhGSJSo%}vwdpNRV9NbdQ1mgH@ z`T+t_8F~Nl^VP>MIRAR}=3SUMm`!hR?;jl4cgEgG6b@V5$Pj(Z8Ryh#@Bz+Paw!hgmR+J2?(p)Is+A;M?KA_T-+zh&u>Ee=xq9_knktLCb<1mV?KPbnBu>Iq}_MT~!<03)etT0gHDT*xdPVYhM>0 zxm>ST_a2P2xGV?CBN*6defQYZ-Eg+-aQ86;3rD~?ob7!3aQDdFmUf-Pn!vzP2YE&zly7zV8 z{V$kbN5u%JS&ZBrAr39@%nfQQ=<7OuyuiH-aNs|4F3|=~8go7ooKdFS82C@XGZC*? z2yPUarI{s7f1g(v_f24Fe7-hSGlKbyUFjSct*GJVHHFB|zQY{IrI>_lYpUh&62};G zsJ;7Y;Ebh^z+a$x;3*F8+fisj1=Kv+v0&#QIQb&gl5&~-N2Le_8rgnC!&7?f)+%r( ze~4QPJ<0NYzwy~V@+ujqm>=R*vJ8GeM_%I>0rI~6UK;=_b`KW_x*lHzXc{mn;KB5J z4g7FC!6ON6g_&0uMfmPe7h>Lif8bNX+0Z=xOeOT}w!`n47DQ0^8(oAseBGKSADd5< zsEa{^ad)Z#KyT7x899CUKK%=*EPZO7zDFiH+klF%C0h+hk+5)-* ze=%ZXr?ir#CV{j4rhyRpKIc)>Kz_ibg5o8?6yo&AA^7ZpLp)po+yGYta0P-lA@}uv zxmLYc;3NL*Qobuu$dSXdD_}>Dc4Rx>WT>9iaA{~VP+HOFvB~g9Ey5vz$_%7_@F*l; z-*sRxkivuWQm{1LaXuv%fQKGkNI0`le{+Ki=Lekh8e({&uE8R)A2R_KEnF(-K?$o6 zi9ZV(!PS$+qGyF5*lhh{cO_iY28zbEZCf37tQA`w8y!2HPF8H&?%1|%+qTV<`+d$H z`^)|fbIcl57c2al)$REHpv>y9=3c~;c3@(WvK^Py0nEWPe-T9^)l2J`cW`xy97@6Z z21Qr%W<||WRJQ%R-hq7G<(m(#y+r+cSc-4ZOTKxG(JU2SWREWRnoo(403?r2TY6`13aZQgX*ysnH_2yKbW5CJyaf**C10~1l zYAP{s^pKf4OU1p8(wSa|*mN}~h* zXIYa#_|LMY?ucje^l>~m6gV>4@6= z(qy)7Y%PnU6}E`j*Z-^MdEdmpKqar*f5%@Eh7ByjS1kj9R$^H!e6IyK5u_>vV=WLE z-+xkXZ9TK#r9C!lDX(wKBPpa5LLVX~C!7-z7WPv5 zdOH2Ubw<4wFz48CJUS%qY~%a~eg5a+fW}cy;50EvvW6aN=uUwD1?@v0(vSy+d=KHX zyv;%)Q!%Gr8n^b;PKHLuU}b0lj?6Hdl)3NyQ|VGGr|P(<(}6e;dm6QPE*u^sYEQ4c zVN1P{ZdbqIm%Pv`$RHbM#nM%4L(PS;ZUbiwA&#Wiy_&K1+D{&isQc;pv5q!_dDAhM zKU?|Gyn05y&D(8+RS~?aH_%i`L8!TC-|9v(pBIQ3vkDhd@TN`!U+PJ_5ayc(OYI!g z=X{*fZly6G`7{ae{C4g^83R29HwvrNJ(X`DrR3g8t<~({7ix;P46zB_Ec+Uk+{-cb zPOKJny+~U6(s=9MaAH6#dhVVzO<)1-lYU$!4x+zwOk}#MazP;2#^-D+;5GK!evDHf z`sCN-9o53!F`p>&ETP-eMiLt!E96Yt!l1J+{9_Nl6jK6-X6B^o<<;GsOw!RW{ava} z3?fPc>fes-bOF9G|H+&p_(vFd*u}AUgJ}10pEn7Rn-e-*hTeh+D}rD$P2ndaR{xU- z1uPm~RSx2sejfj!q%Z-H6~$gL+d78b^M!xZLX0*Q-U{tvTBgM%7#3vQpYm5ubT_{Y z!uKh|5|IlClP5An%{s?BK^?Bi4JRD?j>HI27T}rv^qz+y0{)tThJ@L+hr1TSE*fz1 zWr3Xn3DaADp|B45cp+VknYY0c)Bmuzhf|S08j0Ue&yAt5QCg#IH+1t`CTeO|AJ_jV&$3UM-a;DHI^k*^7fVl*;eGv%;FC$(zzAuA2q!%6N+;hn zdoa79z905~yCnOM|BqdgBe_Nfoc?>@{8wz<`KE!wuOu{n`*BmhDjlYa{kG=@kPgj;1Ur}7w;xV@F+0Rpsu#oX!s$qj((62e?ew3Gvb!4v%3GF7I)%)4WWsh%#%|skJ-ihiMS-~%>MdY>}j`p z$bm%^=YTe9ii@}#)$-MnJmk@tHL+}@}}fC z4!OK9B8$XKii(J?oyDJ{I$(`6)K`vdl7o%IUfG|GD*CO)ms*Xqw^_GNIqH|20dW-# zsnv~#ydq=&HJi1UFcV{Hf-HtO5ia*?AB7=M!i_VO9^i)bvJ=!^~wnf;SX|un>j$8@KJ{-z{SCEv_57b9}+Ofz_#aj(_~a z+FfaHR8rJeaS@+>V8G}XoL}2wqL!1S(B~|SgQ<0hE`BHs&N;$q!VHb(0l$UR>xtfv zw#Sf5k8MC8L5!NgS^mPaLGj7ccEZl?HYr3=n*vrF@$0!wr{jgyhpg2-+*9EEzw|J5 zza45g)iRI@_CuK7M{8Ot>ym{$eUxd^M&;f}$r*^cJi^5Wv_R*ySN&l^e$h~GNp`BUJ1|EN?$NnV&eJ%KqCeGg7nSy_ZZvf9m|34ZrdcgJ}>zI?XOnuwrdRXMVT1X(5{CTi!za&V|zruCtVKrR0Y%?-rGPwE3X#;a%{hDA? zs3(ya7JneuUFP0+mb*Oj$13%N{+qhmXZZ+apLU4`f^)Lu<6c-kYvWvYTFz~S?WUkV zt2M*?evbDQR@#u53`F;s`K@>;-#|7eh6s6nPD=X){Sn8R`Tr~rxn1BGVC+AVLBT+2 z|636e@bd~$!>EPtlOi%B*h==6t(@$=a%chH=qP4fvcm}&K9Hb28^QadTg@OO)Ez_C z%y(bxMu=XVW1+_cZ#}Rn-Fgv0QsnxY&SU&gDn1eNot<&OR{5UV@aC-?5VRh!fIg|O zVX9JSD$t(&7f(kXY6}`6A_sJh&Q#2as9>yTgCDVw<$*RwERB2lIdDwq28O|9?RMMs z+C|9IyFb{Q1t^Dea6EL?MBIad8%#Wy%{-)U|9)Ziv&C5yeN)F zygPdx>&|SrSKO^2uMZV|iR4#qG40J*q9Zt}00JapHgH>2bKJf%W5+FxLkg(jXkj&b zUwF8ZZxcytm|AQjs)LcSCW}T++3IDS?xM!6p?dyAM_70;D!dIFxCs}-DIg@jeG@wY zO3NePLP5Cg4=>z|ke3qs4WomgdV-*eNzPyq5w<@m4+K&rNPIG^kmf`7=jt&^mFr7Z zMM+U)0Z+uQ35ziqsMfDFX6U)8Rlh~uT**yKDL#Z4y1%3`3gOc~BlF5F&IwRn>nQ#} zkdsO1;OB|0LkD#si_}#&ZY?ze*1C*3{#GaA-%aOkjHKCG9waRyep=W59GdYTct{*d z%gnnUzWk$x^+WTAGAiN_JBD4y1KpYJopGG`9I)vcn>|>YIwR5JvZqC>D$4MKMwVPO zMO}E`J!0f5k#j;A`%aQ}@wB}YS6^=0^$LbX=xB^dh`wD(+#lU;@R(43mvU;<6`gHX z&tS9u=1(wu;Unu=+=3+t63uOqm#!&Xx;Z?ZZ zCLmn$#yr@GtP*e8DCOvHZCQRJA>K|Q+z(LIE2kMufAW9gxDrM_2XzS+`3gx%ob_33MlVJ;~x(v9YhUClXD3?f4b zm<8sN!A3PG)pTSMH15x~6WiLBBVQ`wknSh9-bn z_}WNs+j{gj#wrS_uZ3hcHDpZam`!Q5`uq4qbWhMb1eiehSJt;W%rdPp)H=^p{st~B zA-c+Jz}XAXA8wRvYC)!+^Q}5T`}KexIbcUTW(^#J85kV-6)I}EAN4MvQh&fTPH3y} z7$X@E3K>JBt-919ykZ7VIVp*vw3)R2*=6DwlsW%}%FLj&=ztmatrCW5I?QGgOj%;^7`}iZ@E_%}!vY>7$g4@o;K|Pq7@xvyy8I4y;C5LkX&X8n(CENs z97M<+gqQ_c#o;65kbq4rbh^hjpqM26yf%zQpzhNQHr-q0HGg{GL{jibl~sCPc@@gI zmKY2Y>bnOUEu_}}!I0OlXb;CWvDXL>hMue7b(~WOOFd(^ES!BTVw_j-7z`YKmen2< zdq)>IK+A!6syClHVZvzD=f3=Le;NWq`0$W*DpKN`#;7k^;X@DSysi;G#R&8Mm`VAV zC6RTXZj~vLZSHyS@$v-Y3~|jJsrMIo-9HuwQMTGksJAXkX=TF{6tbiA#9ZtK252OQb8&?pT$67NvH^ zo8Bom>sYmtzpQgQm5N{9}V~PN=npe zY%&Q|bJ^+A@~yRunoV0GV!IT6Bt$~?!Ug`#WP_b2f7e~{+s=^pZ+N91z{h?H)3z5P zgm2X3EmLgwlaUduppSl0YJpVU$0Q=nn7)6i&E#4rR5=3u_@Tpsa>?_`hto1RmaINB z?ZL^p3RBvOb*vsnlZS`o3g=I;fCZeo<#h<$N#+!gw79%s0)=8A|_>m1h;(09> zQ~#huT=Tb@{b{Z6{5xdFGe}|wbNg_`8u^RnkfBrf4T$OO>O(E{l_8~CRT%jtz({i& z)KfM+BxvZR?~1uRQLJGJ361ehD&CBsrKG7YcfZtVenE4)dJg>Ge~o8d#Yo<~{TBPF z|38tU+kiMmK1>Gi;^y-$6cIWF-!sV;`iaVD&~D)w$N9A8o8oHQq8YxC?* zmfGG5t^g%V#1-fvMx~#9(q79!>*E6B%cw|q7|<4Q5t0N~wtB{-vlPi1cFdKPdr#R* zSIkv@8&t&10%Chp&DD0@IQ<xiNO+oeOB+46 z-%GR3Oq6=@Yo0(ZsP&e{aLJdyXBK~P^b9Kh$}S+b>5eaY<`Cfmto}s|k1if~ai@U# zS)}K-4;*hyOU}&(dq)GeZfJhiU6i#(H2!2tFOHav@7AoXI#mO-Mz7@pbdbgKrs%Hj zXl(?{=tUNqTbySU7n~>*)ebI>Yw%WCxsrBn7u-L^sJ*Y&O5KWbIQf>Kc-%Muu4rqp zCuZ(1U@otK*45LxS^k+nPz{w*gYUeH_K_B1M<@tGQLp0|+JAr|u?7X89&UuIih13r zTaiubf;!e+$LDtW+3noms$EUuV2xRllL7LdmGo8WmK+Aeb~iA#Ez)`|l@?{X$0zK% z>8w%Q15T}v49=#$Y=-2{Nt5h}H{aT%IN|GM4>%&R+X$6>jx0hy-Ys{R9VGrgS0xaO zmQ+K6NcI{5){@?LS7BI(-0RT8vjE@=7W`9!rBE1GoB;oVY1@$eyJp<1n@BzggWNi=Vr14# zl*v79iYUA!JA58=&%~yvoYSUeQbU-pVsr|aay`IFZkdTFmDWd*b25K7YK*IZSetHS zYG=4W^S9AOkJCvz-@3R)>gs&brp93^zal-)DL0Kcg9WbEk|=S)wGMXimz$a!S8wdj z&vhH6wRV>xHUuQ5GpjaDKlF4Pd@*F(vnLj0Nmc|&%mcFFTb6P#9;`*LU1yC1b~|Sv z_WYzMmn%{0kGl2=zB-Tk!w%O`XnY899tZ;Q8qGn>IvYY8e|*mDfjjaH+s?A^#jIAV zhMER*XaAqS`8qQVssfJ8g%-@u)g&@auR@RKgxnGV=Yz+6Ft&YoZ}%7&4n2OC>{#60 z8>>(PA^H@QMie|cTuh&hq%eI*?lB+0C{k2Bquxw37A-yt(q_5W8irLU?j9cBW4%7q zUd7DLhKYJ6&a8BEBP|>ue|@x3^Bxpw@?7y|n8~0xmbhDPTU^8$n&BS#QPT4gzBN0m z^Q8*LB3I%j1^OSNVIj6V%&eNakE?dK)ro5l;EJ2M@LM>RRBy~Zz<$=Lmkm~6Py`(X zX(sGb+;zf~feADVn^?-F|8m`NhMMwgK1}#ZiGwpY6gUXBvdd&3Mxm6Oo8XfN_~6Zg zSBmxRiN3&?d!7Zhx1qJJd_JjTgz zH{E9Qk6(n3D*mmBSYIenr~(~rY|J22G>EAbTT_+-O{@zpJXFSpYWV_g6-ZWVyx0lW z8uIu68SwTBR;#Hd^ov8-Q4x;tu&(YU%77yJ%3Z6MT=5Twvu-uKC9Xa&V%QoG*v*k? z5>r&R_yFIT>1cZ(kl1ExsCKX^T=ix!Cf@e*h=B`1Sgxf&b*B!IToswbU%uIBxH_e< zqwJ-R&P*YYhE1?dr1vkj>pr$=Zx^!$K}t7sf%FvdCSR)a}>z;%;_Or2ArIeo!C)0eW1h8M`P@(3;C4Pk%!mS>Ahu6_c{Hrm)?S4YKSs*9x;DG%Hi2TQ!L9nuNviz6UMVq|w2nGw>2FNpFDEJ*S zTJFlSRi3Fk7O~4CaX?CCgcbA#le>L0=I)AEHe;o0SrF$;PcIin;?r=b_lCEw0xzE# zQUx{gntq2e6gWu;w6ry3a1+?aRB2xHNxDA|GQ^WtbZbUi^D4LH6St9N1^(#avRk;Y%9bIKQi2dBHoCd|x`R3;K)y;E$CR$@Di!*&FP2A2%F8{?-;dSgQCX<)CKO7p( zJg(N@I`j$xJ3LS)^YB*W2{kMt=AGpjbJI^!xr^joWp)@(`+r533 zQ&iTJB^63tjtByrs0WSn&~5OtOmi*o2}TG8jr4rG@LEeni!QxGz%wmnm6{#0Q2j+H zzQ?|i0QMI%PTDXn0PN#ERdEyVOh9SIoNT0GVwm3qjtL`d0z|lOcWV2J9WBBFHB&nc z8eoYUCp^hJCNp=8Hwi*K96Bu`Y@U=80XzLRS?{4@t(y!aIuR|Q!P>r{f4z3!SMDR3 z5pXQlkF&>|xn3(G(v2hfJB${J9_MHEgqSmY{zyV_k{pUx@EyO!rG_L77t4*Xyfq0r zm&MTkYL7(1@1GtwquY2Qx6P2=T3;B`AE5#f*e!Cq{ie!?6~P|~DK)rGO2#QB5kHsv zeRPdOfgw%#2Ibnu6G!4O#Y%BXNxa=g&(jO+KentapHdW!77*P@K#O(N$+#|>1S4to-7%ymOxm=er3vc1N8xr~}UrCg^&&7Wt$f1a8ne4PUjdanf;aCe2PXS5p@x zD2W&t%>OnePS#{4KQN3$J#Z%A`gcONE_$ouNLQNA?jXy+9dUtw`P@I4H!Joj& zg2)1w^E|;$QRQ03wcktP@&#r=ckgB#89FHPo8x+nW?e+^as*BiIJKInlqp#KRuc?O zCN&iL$1Bl}3scDdFzz|J7?^Lr)jaRt)p?96@~JfMrR8@m_Vpd|@5na5|4x@wpmuvY zA*0!rxsSX(7?*^v7AZh!qVw;bNocuS0Q&*kEjgUJ7`%U0kU731=NtE4Ja=udgO6#q zc-Y?lIU;W!+w14WNs(aR!c2UAycnPMcxF!56yfxM64^&QlDBCz55-A$Sr z*@IKgnXtl^H9ERGSvh}Fx0`59SmC8>qFq}_(5S|QjaG~v@~Q+^>sjR!X1FOH`a7T{ z0<5sPU7zXfeAAI1tO?=lcPJ{7LUQfnkOori9VwjciALp%$2IT?4?T!j6BZ?7uI~1# zXG@X-!Yzyl`WJh0MkA&`9#3H*$^8ZIb-0?x+$y)-sMjW3HCmARl+Tjl=lThEb7;WntauxuB*Sg z1~Jm9FoE`usM)|Bte8gpOK^4M>oKc8sdld3+vTf;aD^deB49ltEdM08kabOVbh>{z zvL8gDhO)A;Oa(VGCQm`R`mZ9}=~EL>XKd9cX4Efi=NcJ2%!|GVI(7}{{aNg*u!Gl! z-iG9^>`j$RW0`i#)F*;~;61I1>pQO0r#fkuQTE_fx6uPeJZB_`P=*^9!AH_?DX5A^ zvi@!dF*tj&(bE4(?5-ai~mV30CjTZ`WsGn)yZJrh^_0r-uT#h|QiEDfqf=;oXT#6=fP1y45?L z;Be-?ofuOrZ>AI~O!@R4=N89^JA5Ac6`~mD@VoG{0P!eSEBx?$iuL!8vF)stYB_!u zIv(@h-YFKkmVVO1LJ0?_F$P;(P2c7g(%Bca?xE^Nxuz=aJy-Fr-ybGDEkFS!BihVlewo>nJOlJDfZZ#^TW95l%&h(XTEVd%=eJ=4B>K( zL=B3o8XO^Q1YliO*?)okdzjPx|05znnBXiwSdx{H!D*8TAiT_eZ*I%0ree|@f9?4#`MOxbGGOyng#a8hVdgR5lWjyFO?o}YF ztE#MVwCv^j?s)>Zz2JWR1OgLaP%Q_yPFDMu_4!$=8Wyp`(2qX3wyMXWhXYUKv}j_* z;@Xhp&lw8#aixQ(`MC_m~cWxEGtM^k5;wqn;>G;ae?XOCP zhU=S9aK!<$WNefEQLE5G7IZ)cP9x3jC+CfvIbu4yOIQXq%F=m-&Q8|mX706;iy~AZ z007mVl|5pK7R%`&VPc^I&M9JRebvnb`u4)E(QR{`|0#66nvy9n{t}u z#WUw#9mdFFEHdc6HWxd8^3)Xe&uNWDwVpG zvM5wUTL?O`YG@5GKXBe&`M$$!^JwGFw?s@7svU!13cYexViIKj@D={zk2t*-R!xq- znpcLi>;5Ul_yFj!Rd3X56l5x_%cEE9;m-ixX~JE{T(Hc~)MqZLZL@QwVFkfOd8|i5 z<+w}hW;>3qk=f?RAU0s7L z#ZETKS#Dqr@tT^YNHR>H*v@-o+Jm0ws2&0J8WY%c^qTil`TmGO_97D>ZR{|4mc9`f1OP9?geyMeqJ|>dSg-idt#1sYK_PQaO5=-WJ6>eGIYe*gJjb4MxM%h z@c>uwV{i8kSo1mr^D5{mDt~=_rC3}Oio}(Dwml5kG+NS_Ub=MII)#_###ZM(RAUZ7 zdfQU1ozlV}w><7OI4ymc(W%l_9Od|`%lvm>U#WxK3PX@Sl^rxQwSN^jn8bF3b1+%~ z&BW-zf6$Gb@I7bWH*~WBHDF3r3?cJTE6z#u&f3i{c%MuBpXls<@8kIgPOr=7<;2QR z*GK+{;Je4?U%+khp2J__Y{9RO1Bz09!7q1C+@T|2KF(H&M#{zCS)P19m@8$FI3S7% z1OWopwzU{*uk7F)wP?lNA+LzAeSn2h18n;tn|BLR$d7+E+G`RsHV57P9)D9c>OAJH z({D%V*Xl)Kr6*cl8R02^3gL`NbGU?SLQM1&+T01wv6y2Ihgd_!cGMSQ|v;MbDMPI+T)AucG^arbsf>-j>1SfD~7pmb^qG!H30DqT!M zN%+oaxB&EUe8E4|_#4~^QyZ<|8kdan7gno&YbS5#oA9zovcT1kg zwH_XF*1q+nV}Eo5&>Hbcm6R8ht{2{{*CurRPgKdNRJX(*fwE6E-(kMyD8@Lfrfj4; z5LS;o{jS{oD2A<5Ih&!N=D@sOb&i!^ukHeVxaJ|OE8j@ah>3^>WmsR9DU7@>n+by{-;s+$54s9u~ZinQxbh*W# z1j0l;oSr93@FKQtNK$L=5Eu6+p)`GND1roNiBtBK?T;;pdGYL!WY(>i6-8dCPh^YF@|VE6Uf z<(AG~OCL>#jUBYzw7i)^3kFV$VqlELC_E9+gth$bU?sCvfHC6Io>++d3HZsE2;f+7 zE7UXc{DCGKIzq`vh~R|4DBa7^Brbe7n6wm%J-n-5{H+hJ*wt}c5;sxu-%R%K1V%CW=ekNHMt?IKdo zHLu>y1DK>Nsv+`KI`X6=%f!E7 zi~XRQw3z(EKPedksfp+^zh+M!O4Gi!@gct8byeOf9I=i!+a0v$Ma|lZ}#}Kr*hJ=?Sm}Q75@sw zM=Qt&1~`i4z#70^FOLTr=J~$Ir@;o|?8Y>5%LaPS^Hzr&rCde8qyyfkdAI6$X-m`VZi#Fs6{YYFixK(_G< ztQ$w(eslzgn44Zx#`!4&Y8puvXtZGPqUB_)0*{FHNnvSV6a`W3(-J$%QXp(6a z{FCLFnc;{Q7>rN9ttE`)F~8CJqdPgB}5f5XRp4_?A20=ouzGJorzM7w{QIguw;p{iCDA$ z6gW#V{j^zIEfey6veSFiC5^atKgk1R`f7O>l)r=IfSGZn&ka`i1Bay6xMIJCH#Njv zy@pBTeQ+`)m3v-&W{85Hk%GGcwyy}MCwmx;r6t;7ftkET0zs)zt+*}FsgXC+XPlXD zdacDviSX1^1{O0BdF@EMEyhx(eA>E_mP&l%T+m9K!PE}Ji7XnQFq?8p2T$7*Kbo0< z8106%ll^_5=F$TdKuP>`{Q8onIg>r`p1Szx7{fTtQlwi)q1oy5P+}M7c%1 zZE07^oK;v(UNxIf+s*84}AIbu*flMEcDc(6|y9 zck5q%04*~`9aZ)%H%ULlWEN00mQm#9{yKsv_p`#`Y$K~0V9FF}HLkSIr)3?b86iwM z)*^Y6HDCSYo2U`ZMMc>yR@Agbh;$j5Zh)4bVv6ZIK%XhQ!nNPtfdCYCP$S`MWWf^ng-A;PxShwVNS|&0UER0pq^^gH7(?5U@4*JH^3_zp- zisO_!;3G;DC{&sHbzl(?X|sX(DnBt|ANO`0Tma6B94)h3;S!Y%RIIS!g z9|s?RX{T7WX>AY$aw3$D9=gndiiEnzgPi>mZrpnVhC}g452JA2)msi(F2490+8zyi zU#vvCxG1&Y)RL3AiYq=nFAtLT2WX9>U1>~nkfNw+>8gn@x|-$2+=&!k48lWiKig&( zXxcgy8d2(q8gcYYKgkWr-hBh1gIVTm_T<+nmDR7af=8+LJgNvu-}RWJouY6*=R-aH zOQLgu@uF+Xos%A|X}(wAe?~D&X2JKC!3T^3X5k+!ECjw2P|AhAg_y~h+_K#7)l#WR zm?c3B9Mw?Iyb@&&%+^wd0m9EX^9*OBP@NXbCxVkM_2KE=4zM0 zYl}fy8XAE@asX)hE#ajg69O;U_!-BOAdtCK%kzf`q7W#O8L?vH_cYrLw%I&-yR^L!c&hDRi4CvA}`wI<@m#J@f(TMnWJkk{g4jY*3J28mmr> zn(0c0D0^XPU^h?m1@(pkfMONxUS7aqSPE~GaQuPY_yt1r2A%ppY>}rt>igA?!7gBK90sA z4$*PZf&0+OXNsm}jj3Yc><`fwN6JXKD3(71p=;6?yjysJ%x%7+<*hG!S4e|>oo&^_ z72nPe8@`1R-acim&Oi8~Usg*ybWjfD`Lo1_`yc>(purJF(WU>V$sRO#w>dy5jGpo* z7zS%GC%D=^ibBPpWQ$X@Z_|!{mN$4s5PBg64QuLV?3xjWO!o1!sP0biy=Wqc*!%g# z1S5DVxauv#%uZoX87NROJT`F}_A0F&-9eP(!VS=T7xA zJ>ihu39^Oj1*@hVcnOQ!sdyr2lLykZqLc^FwUY*~TMUJ~XXcP(5GJpdSeL&ttZmy_ za$Oo!SZDaCc|i$K(4a{r*6m%=FfR72wh~u&j2>reW1?dKha|jP`0m|mM_mV{69Rd% zx~wbnlJt)tAhj`*(ItaL)_QDGL8i(1O`3;&nPx3i8A)0SKQpxLx9t*Ztrk5a)wnHi z+g|P3lhgtM)?gzz0EGdUsL-#T7pbbZFZ!r1M(&$^pw8Y`x|PrjYfnjhB%`wqE?(@> z(za#n4BYnke4&TJW)U+TFx$DDKM@Irq>^M+H98T72aj{N@ zB!DqtQxlSZwvmWWVED>Z7*?n$OI`zXtE3wpAvKyqiVuMlfJSrlXe>DOD;)!xEqSVq z`|>HObc@?lKw2-HiYxXd{zF8}tC!cX-`JlZ4GQd5cFDuESFY~-=c2=ejUw=d03YRn zf}PY6q^U|*`Iybt7MjrSkQ{BdxAd5K^u@I^+3a+qf8ZmPQt{p~eQ$Y4C5Z!!p3K#l z%&nu3LBLmEG5#WpA&?oCjr-kxd}|X=}A(7O#PVCW2KQL3o$0D+?4DP0Caiu6l-1BGmp$XN%yT4De$SUkJCKLvv#EqY-`p zUAGql2;myk+Y$@K#83=(#WKS5sNOKuLe5*VG&)KWtGxYc2`s)4qs34cNo}0n8|f8_ zdPR;4bT_O;fy()(yAQ_<3-Z^h^jOGY6k{!{i&g3ROC}Fx+773;4S)gEOCa0T%;TOn zaWB2-d_4Mri@}Roh=C?zM5jzzL3+U=2NI~Xl~Qhft7TQxp_be6_gmfTciEvWYpmot zEe!xw3>PTkqma~xqv?lj0{L0r&d{)IkOxIY+HO`d6<7vWcIDMDDGJ`HkM9IWSO;SS z(ZIaJT%bSk3u{0Rs9y%$RXlReR|7SwulT`Fe|}_O!~)HABE$%7?u%9YZ?Wt9X9Zv* z*atn#L0+@CJsbw++Lj(PYpGX0WK_R-cKbF*vp!feKQXf^=AyNFq=J^6(Di#iO)*uL z?v2Ho;P&CEWG7KfO^$kUb-Ai#pjOSoiCp9^l8a5ZKIQbE3#353Bl-szq5N+?a{rGz zNlwKFXGlIT0f+e}cI6l`+CX4(hWZ_-Qs-UCdFE0%pnv(9OacnXlwH?PqObgNOq8O{ z=5Ju5bq$`@KB_f)%w(&dI=J#Tt2ByJ_m~C}A`4|nmxd!2*J1i3&>w%`3LMO}3dW$t zpPjR2o4V*>)kEd)hby`U7Q9n2*9x?nJP;f-mDMs09kc_#Z0>8GZ0FxL!5u|dmhm8M zQC8e%-d^RZVM7JjdJ^l-OO$k2B56JFq9#_VpClEW?UzLf47gz;xV?!xsU;KS1iYF% z-`Hh!9p7FKZHVLC`V4jSbtMv;xZIZVxj(3-`;na}XEPbo0rLjnX;eWV>z1`rgOK<+ z+aiTC*Tq0P8)YVA459wx@w?JUZJtQJF)Gc2WsStDykpv`k+$IG;Z=XuVs>J;@Q2;a zsyv!aF)k*4Li*iZW>Blk{N8?zJ+;pAvBR)1u99Vl8-TR(HxSyAjkY&Fl0cA~@Q(m5 zDKCF!AZ9&AqxKd9biPNN@zP&rs-emP^aC^pWdz9b)#maZ0tF}a0_TZ3K?dIxOVdJs zn+8@~4qu=%jcE}f$3*TPCfhfI&LFFVCg6z#uOJGwFERp?dYfe>17R`rgJ-r@vTssL zmQrD6`eLG{J>{8LJFcVHaz9}sQvIN-%8Qk%7*4j&pJfr*BLsZ8ptP>Lz@<$GWvDi_ zD+icZKVr<{mDE&S@_GxqmZ#r;8a z%zq6zc|&qedjIk)G_L(X5Hjdz2`3Nrm2iA&<=riiS1^;{7J%lD5@VU)+yEUddC4N> z7}GeGAN4~@HohLcQrhP1tXT*9AvQ)zrUA&b;V!X2)-X-SHHT8m!bu7rPsT!~9tGYFErEv1O z#~Dac-WxE}b zxkM`ON||#^VQFP}{4spdWHn3+xID5!Bq8PMQX2IgGRHfD?M%>t%kD0t2I3S_g4~x_1X1%JvMRO~}(bLIU(U?bF1Jh29<`C`o zIS^n0VUxfU8NhpK7=P_IzWJjV+fcqj`sH{{FN)$cZvkaH3X|4~i*=(@9|hL7EBOsO zc%i57{{}>IPZT&t@*^=gGth2L;=lGs6domu`pu{OCWq?_=*dIfm89v8X(Crayy z3O|7c>2>+@xpwf7ZEG=GHkG{@DfQ~ji@0T8By94>%i-qmPT%m>Jf&}I0axAdoxPle zF2v!{9Sc?%DB+{77#$Bg0K<+;yPk9aip^1B2S)v1L$vZ52D`Oy=$hITUfA65kg`*6 znQwtne@3&g*~G~lTjZqB4^k0_-p}eOTgG-uQvq(6+k;FOJKwzqkuLyhvUs=%Y7d1T z*1TzB`W|PPp_w z3W?kRvqr@`Dy);~plk8iR4+zglshnL8YVamPtWVUGB`=;mj&o8#^H!<(E$o#9MQQW zesDxWEZ!hwP-YMgJRoy2&P;W3N)=E#GC7+pGb4#EzoA145kjE0tWbjBZo2-``&wK? zlQAs*mXz-#sP=6$S{~R)zv)NGQeT@GjD%1HX38mHVKu%^$$@Tv414s3Le;IYv}j|8 zHxy}+jJ~d9+gNX^;_kBy(`8NO0)#Fv*U5t&&oayt0Cm*_C--|)T@RL7O&&i^)RK+` z@a=FIQ=khWktf~I4edIH*EnVS-5vYNe+Bu*6LGui`ykFgj3%RVtyY|IB4PXdBsl5> zhCOE;f%3WKK%;I2^+NWOX-sk}nE%%3Pf)d->4Z`=a8n8lb-SeGlYW2htX+A^rF*l| z*YAFS7N&{e&}GpO_4SFkgt#8jZBCQtd^m-eh1LTvqAMm-eqSrmJvP22o3{4wbW~Xa zmvjgvdHs4*suGbRi5Z4sD?iHBHC$2z);hH7Y>>FkkU50ZY)TKqbA?s9DRYeL=w)Xk zL)mO5Oe3zKz}gh6iZkeHJzKx;A`!OLH}8Z(4xJJDUIwP~ zdv--oCn&pBDM=(snHyKk2Dkn_h7_E%{l}`~TB3MMzX`B3g zzpl-UkgO))j70n54SdZS+jVVUxuf&t#*@S-mw#4MfbU~nABGKXxAcwPR}kFK81~B; zf${fd{Z5tC^#6~ibBwMuTDo;?TOHf#*tTt>lXPtC*tTt}W81cE+qpUCeB=J#W9&cc zUA1af&1WVOw-o8OGdcZx)YY51C$GF&Rs_d`jMs^xNz@LZ^;zAEi zjSe3_34{3g#@@nc>FVmnXg8NzGQwNfZF=&aeL4)P{=8cE6d66>NGZZ0wW#vT5X2I8 z=<)bWV^jfzV2HNE=hj@+^+tZb=asD4L_JaaY8nPxrW5R50sWT%4Gh&=g@aFqg67U~ z#cS=DUMQT}BPB7`M)4~ng1DYu_TCn2s$$p{%o!gxJ$5}%T zxNM}O-VR2@{PX7d$pIeIaVuF-%Hq2z-h5(`30Km5fGtzt$J5m!_Ob4Io`m6Z_W za1z1u1@sD@7vCCwFG--{hvhg{m<8SydY_*hZ5G|XQB{~#t%Ta~RpXnZ7ly`dy+9t80iBB zf(+axsI*fe{$PDu44aOSJX=h>8ZWO5$~NOL0W|z=)U>SyT=#^_AG#nf4`130a%t~e zBsRL`1;7J~posoqC&J<68VLSnjUT}0oC}vF-W9kFD3(bqg9cw@i$!Qs)k;_BlR$vL zH3N9oaFKGznz)&Ep?eGVACgC#F+}%o-vZ*WnPbBiPT-0yS^~Es8oe~k^l{BD?sWX@ z2=g7+dJKm}Wx$*?hb;j}qCz2a-_>C38v^@wSI}y8bSb)&pm+fM%@lswT((q*c z`~9xj2SJ|w_YGx62(~`Gwyv2~Th10giVbR}12=pw?I*iYD2Tdb&Plu`fPE%X^@4mW z$8PL4bYRx&MNf$J>~(O)XQO$#0!tHiqWbuv@IS5MDl?}OOt}RBJ)>AEWRlZ=AWo^+|5yF~y zz&{W?WEY|HLUBb2A`4C+hQbtH>O*qEAv4X_=fn3OD?&M9(x6PuGa(?=*rZ|;YHw$c3{%_YedRg#W$nhCBiXG^`%A7$@{y0^?A z$FTZKFu($}ngzuJYc3d@w5KELG};{Q}~NMl<{i7e~S(9|0tZmObLcylz>hR?SwfgB%fpT zgG-YNlg#%)b~<%wX?69ROvpzSa473B0X38r)ANs)`GhneXkd)hJE~EclH+sRHqSOl z$OIrrTke{-tYh0!C^+W$v0Q$HA4Uzte;73|Zv{KrEA7%lgQ6)+IC`SvCMf8VYyq}E z`vNlcZ=_J&Qf9N@fZw}bhe!O=4aB%+r-LzH?^CAT_Z7lGU@G_PoR(_ zsU8Fd15pT9QoWXhrC^0m&8#QR)!Z#+AzS|fC`A~ZUA!(j!3lLja=JR&JI>Z!QT6m= zZ_dYIh5NcPKBlAgJ!Po2aOU!MHiQ_U|Ks$4?UCX*QHrbu+*Ul;#^W9IURh=y&yqF~ zaAgiRYf6gknn(Nq7OarbZ@rEz0>VsrXfsPQ2nJv6vf<)a3vc(CyCj1xFT@~MEe^Ma z?k#Y>len=YNW4VB@x zw0YU+hiW4Nbe%Yh47@JPLRKHxGJ5M<-=~JIG*v*>)z+>*$h8YeN|^L}ie)xEL5GZz z(Jo=~dGuwZ<2Sez>on^II}kh7UDVyfCiwQDFn(>d#QgSp#yf?BoW9N1nD|_2ugLb)93q5r z0abNT-kmiw3WMLPH3z>IpvGQjCm2JDDj2MN5PJzXBf%^TBSP-(O{4hxvQJEh!rtbh?*`~hH7|vGrPk0E(*F;=W^zVd>=OPnd7+3%y;J}zIM5Ew z>n$1pJ-#0mpsW$x+Ip>FU@nDxd?P4DWQjyVx`J^*hFHfk`w8Mz2{=Wml6@H}w-=MI z+D0a^dqLOv-HhLBvz4iZjw5vCj6KzC%6cUkCid)S!vl{?} zs88$j&B31gO=#B-?1yz*eeheWuuTCYp?`jY7i zwokyW^bkZPkuGHu<1qELcFfgz09SgVnW5(iCRQTdvNR zPp*QIrrh|e;jo(2F3Bv;{85-ELjbW6k!&#(#$D=n_%qvr2$KamFkLWdaU;MMg-*;< z1YSvBi+TXr6ZnwW38qPL(@!jq8$$t2i&v%$^;aWA7)&(UzOzIZ)s`;in5E1~LZua{ zzgsDtC;TM4-K^_-{Z*S^T)lgJNsBop!_iF5ikU@w+R8H+E;TF^$3NfB0xe&%A+4JV z;~Mr_=#K*J@5XOGm7)rzg(?86bF)h8ONpP5n4!{@n=!Ax>(Q+jwBqJTAcAiPA3Ttg zPkJp1P>2(JwGjG2JvFd^7vrGmh)Z*--AQV#ZU%ALNiW?{=ts=GX5;trUBu92 zhVRJ;A*)!^TvV3trL5JIYB6?y-^d}>t^=Iym`avyh4Ph>op-vswp^KkFkBfo8Qx(a zH1ZxsN#h}Gag4nb$f?#DTM5`NoE6^jJh+g@=?5#@G5cTe%1;C|VkGdKi7=6*cKY?N z-8$u1>Kc7?MBo(1ixFfDLm=l1c`y4Z6A*VKG^v7z_fk_lXJk zXg$!XXN}=I{wSdb_}s}PM_C6WgNE~p6vwX@6AFg5;W z(;B;IwDj^S%ndna9r{ubTCTtacJ4Fr@)=vqrbzN!ZeJ=6*aSP_QYr9VY2Yv?dHmCo z?e3X-ynGYl?S7IsrH&aCTcpKS%|24-BF868ZG2P?bzvT?hBr!ZEbEvLc^*m1P$at* z%rl8@|CBJh9s6rSx<_!+jED&7+{_zM#Dc}=3v$}vB=vtPGb3|KlnMw1A{+Dnr*AT` zGBWjdK?0tXR$kKMFBIg$~8krnL@*0qBc??^Q9%Fmpsb5-{peU>wz3`-8m2 zxVjPA8q`OeQ6f5u?x?Ml5vD34L(}VKlU;J5Bw>djSVU+>D;RFZMBzde_L>Y92O~(= zCZdRmMJ!RISwWA^l4i&($!Y~HWVy6J25&}ZEJSBU2b!udq2&_V=QU1Vr#TMOXr$9f z2)H$0f&$6-M;lwNDcsmvt4Xqf&So{@&l*YDRtb+tm{HNh^Y8Zrq2gz(<5L!?NwCiB4 zxqpWBvL@@0xrhP8C-Y~?EG=i zL0pO{IBYP1oPdN>xYv_tCaYWbLTW_bpow~uOhW_)Z(z5du~!XlAwnNIy+93>JYjDN zJE|L99RbKpE$U>n(ukLoRM^nU$dOyGppO_z1V!7W4jEXZ==Y# zJYRfTE9dFB@VW3g%hnrqsXNK8`Rn1DCE`5@6WU+$N2LmX@sKhOQZ)B@B`d4-YRq|> zje)J2+jaYKT-}uh(BL({{db9P2=LMA`C#Fv?|8hSTaXDJ!Q;AF)BTBn?=d6A>NbA& zcDcDZE`MHJoWbH1=Gj*5+19#lU9&}Nt44oqrbGYk^G~-s{o2Vbnx5lw~x&!;A6P zv+DJJwmzg7>-0fv6m3Kuji!7s;WBzerpi<){B<8~y_fO#;Cov;8pUmsyxc5Zl9!mQ z%&aL)wtG4~o5-{(Kkj7hAV5(@IQN>>3Hxg(k=;6((Mm`BG)xAc2NYccJuT0Hb9=#U$N|b&s z*E7o6*(8k4^u!3C!06j3s6bXyMia?yBOAU z#0u6l1=NIqg`0rrfD$>$1IBjT?>EW%YlV07SzGXtC|Q}~#NijPS~QTFIZ#DFRW9`w z?<^H#@*R>!cnGMpC0DIyoBqp<2NJC*m^2^AI5X%t^8m^wmdBkfs&q7o#!`RX0pqW6 z-c98mhr*b>GH4){DV%z#Y#BPOdQnIT;`6b%qf#9k6sO)k zq1O=4E?aQmh@$4FjBXZcRAqP7ou5Mq3L3+zE&{q-MaW;(sNe)qlwME8~$mVH4%6^V|Rzf|nP-|>R;*%IWd zlRU&nLKtM3PWIaw^NJ1V_3F1+(XR4(-$^&>zVD6;BLveo5X6VcDY`;)g<7>xq?AvRv z%%<<-(3}JbAfCRI=tl|Vo}M3*k66d=mu(vO1pGFMZqz}_9PyZSACb#+IZrP=C~S#`#&t-6ZlLgDVSUHMj%Fo@7G)c|O0 zoCnoSvvdxsn_s-TYioj2O+mb2!0F>EQ9%LOIc5jn(?6z}$okIkX=5DNKlw8-P`(lKCVb=x%0H=dd_$@9;8q`l_M)_&h zjrBKW+%T+?YG!Y+deJdPpSS6y7y>RQ7awD}G8!xWy?3R!Tn(+irTVKft4gMrH23Xm zGlPOukx#BNk!fvkB>rAVIW{*Cs2-(k*W7c#b?)*Ejyr1-x;|z|b0dL}VuZqOAp(z; z77!T_23m$|z~#d-sEQs-89aL)(ie5sT$}w*k&Cwihb) zTp2g6uu$`yKgJwxxfoD=;Xw++x+|Gs>5uVvMqZ;BRfZYn|7e-H(re*|h5WYzp}@z7 z{OLg4LzS@hfDB2GcH7O+&w}X;HkApARZBy=3m)(qwzV=iSqa0fc1{q$MKGiUWtV ze|o-c!<}tHHuNpqUCw3OHiK#$FhT*V+D4XD4lZODyYz68S>Yf*Ny5>?t1n26DNxdj zpA|V0o|rn*iu&VOZ;TJ+79+f?UW)CdHgwA%2BW+{0tY}Au98529feN=Jp#fQPyqpb zqMtAskmu1SyicN4_P6`k!3%?7rvIF1G^ zl$^`Y&6z%HQ7~}_vbe-H0-Y5-JHt@MO?bMjdn^?`IN0HEP#S#-nUZtnv@Jv+2Dm;I z_B~xSX9&f5Npe*He3^MjH9Q&%CHSjCchUL5S0%OkSk_s2w@QrDj_9j zejq=BpdT1&H2R1ej-Z|HJsQ-N3O58100*ic{-T|5VHyso@sW?TW*A5UtWSzVO=vCw zNGl<%1jw!?*&9mimjS74@nQ*6`(%QVe9;~uP~IKB~PpG8>EmW{+J+Q3|(9**gohG-aAjK$O}W#GMn zNm@lTLnNGX$`jiDPY^{_>%-eaR*6C+@x9in*;FeOM3I0QgvA6qFF4-kF;|g%f8rud z^}?B0{A?=#)B)rj=`l`pDAT56-m7yK!wb@vDLnd`UTSkySUWaZBUIDkO3ikRw_uPM zFl9s>(7YmJ;Ez$`#?eF{qc*J1d?RbkTVV0#4^|Ye+&-@wAHG0JOl02xc86>B{GFp# z(II)(V@3>Q;D=K-(2T8RUnUTq1JS~T3JMx?J_sBDJ%x$8kzscx-@ubOSmn-+`KQrY zI&SAd3q}nB(a%G?1#+-MB|>zk3`JVwi54#yx5VeweN#ZCi}hEK5~RLVeC?J)<%oLL zfaj3C<}v@hE*Fz_!s`x=!2nAzM#$m@vJUT}Gd_s5EZqV`;^iCXonE|%=QJt|#g|pG zl`RdR291_}(nT4w>@w0^|eG~S1 z9irU$xX-ENx?OSfKZ-Zl;=oy$`XZVi)+x zkt30d%Z)<=k)$oyC4EEIuW7KHCtwuYA9qTcoFk`!b)$%H*d*fS0o!xcjC(4Ju889Q zSzjM3#!GSkUcPa>?yr3=5eEW`9#NwdjGwdUIQe`DDuBlGj%M7`615U<2?dh{D*L33 zsrJf;*0nrgrSoG?XU7FW-w)iID(PspCi%m&Vz{r$+lV8K)W zi4|s^J(O%qnh;NnVwbgsq`k^*4}YvUS-8_#iqcQu$qCudQq@1DEAC12uN9Q3ulpVBAzT z=ApBNCEwX(e#ne?5b@BwxCs_LSZHbkkKz(he+z4s!9Q-DbOhY+)2cMUuNabO2QCi8 zdlppB726W*7G^@MxdS~Kre%~%uQ#S17B>~kxG|E=>vdDJaP#*T4|j2AneO&T?sGID z;X!IJSj8U8Wz~Glfy3i1v72QAJ_iCbdhC;me3+Ojtno^%=2}wUoP!6D}k_j zJWN}WOH4w{+Gl2IyM7fm%e5WhgI}a+`_6Je-5g!Ol@#2Frkgk9^XiySZV-4z^eruD z_qwlhJMK}DYl2(z@N4am}X(0FXIYMFp^guL-ToC+z zzgTU#`FjV-G)ALWIS9b*SaZ00-S{l;f#!SQ`@d&?(DBE%v@^cnDW+@-{Uvf^Xzm&3 z8h7lbj_}%7m*XL_ZM%N( zs&ufvsI{f-DH!Li(dHN5BlmY(n}JXJi!W^zG8sx=ATfO(@3HvJA4qvc42F6pk*qY; zp@o`h;Z9yyG?-ohvwU;i$#^|vdh{6CM$pXn#+z{pk{pRTLy*_K!w7qfkQ@-@h~adI z&$GkKHGVLDJ&YuX(_C-^7py~iNy8iMjFkmgvU3JjDAcx-t|~oQ{70H=l7fF~s2g#t zTAm=q+)=VfxZ4Wk<{0@TZ!V2~fDOvnxYHhccd8MD^9dSY1dOEbK-qzkk5dLI3^{=8 z7|bwF2>V?4p`?JPMVUDI0QUsSAhq__8?R2Hw86+PR2Z4)*gD>OCf{m&M*JY?{%BB0 zw>8V1E(3V?xU&=_xT@bMVLWJX36O5%viLj6mm|Pzw~xGyA~y)$Y%03iHP19VWfYXN zfQULP%iasdi~oIsgGf@oMgz$t<2h|2+1a>gFp!-2-39`N;?^{AV|d~zFu z7Fk{+!b*pk6Ha$Xh=d^u$fMr)%z}6z2bw%ux>NT6j=95?6%i^69}W$0hb+Qr=!_oA z+Tn5%>*xc{n%8O-yiX@2JMP@M7u4mjOYtOW1{bm0Q_+`){Af!ZZWn5t>+`QiOOH#@ z0{_hPlYWcB>Q+>yt5C5rWRnnaFcOKPurnAj1EL}yJwnSclrI^4!K8cIXcbOfS;Aj5 zWyF5~QBp#u@2P1#3%}1TuVA3BE63WmK79@;z(^ujTjvmiVtn;MRMpWg;d&YcWXO>B z+bTRRFjaEFm=GV1mqMWJ8n+4Hfi79}5Zh+E_6!ao>O5d)0 ziV@$I7=fc+|7G5`?FEtSxeSxbZCq4}7|yr=I888)?QnZwu~tj3$qwd0E9ODpx|i$& z%tp9twN`I!uS>MBp4&iR5B5kop(+Vp;6E3Ub^VE(B6>Y%7Zs0UGT6o9`bHCQCjxXX zI2BJoZrSFroQSWcedXKHBt`UIKRh(6CyWk!EPJ5==#-4Jx;Q8&g(#cl5>WhI{NJEp z%Mc3W|5p~-Q+C8bH2_?7@ev82B7$foUWKFw1OH{3)qltgQCz@AY}yj+6cS~2Xm)7O z`2gt9W@Rw*2`lJE!Ik|JrRw5SO#Tt2JnVV4JFhB932y&KDXabkd5|}8s7Q59J^Lcc zohoC&r7QmV%Gy?k-+pm^cDXmbxR(QNfRx!YSRko`AA|jQa~O_n}D^41xuv#g%TQ734K5A8aYJq zb@bT!;%)BzLNfHl_O&ePL(QaRS`58@ys*xp6V;o``kl3&MW}qxh#$g$cW1^Au9C0- zmtoOvDa!(gY_K{Xd3MQ`H9j7h+_v6)JC{5ka=Nl6HH!4(32>8ZYPw9ynv=d%aDA8M zW>vJ>vqz6u(>k8E$|;(L=$&)NXTfQ%1Layz5|%35y8lGL5gka0+l3}({B3mKAA zY-&<$%DD`FT^9Nm{p&oAR@2?>eRB}Eahk@%l&c7nll_#$bf`^47P4ObT8!KgM609d^r5esh!v z&dFPDHGdd2W{z7{pT+&8%Vop zDP8<}O0hx41Ok4XK+|7{MEV~FRpHNu1H0FU5^tMZA==&apyO{koyCO*x_J?s%s)S) zs1jA(fz(?U^p9nm{d7r|nCrXo6WSObk$3^1g!6o*!cgmaKl0RzdYHApyA@tVRD8kkD&b1GcKIQc#<%$E%iGJ-e6$gZlhAJ!U%uWx{E}TjOMv z*y1~VUpy-<9M|Ya+Qg#$Ssw?sCGRqh9qjd+dJ{6?kO>?9nf-;DCC#y5F5jX^p1U}k zCV03F(EPun_g|}1N~YY8#g*eH1yB8ka(Y3>fBS+dp^zo(Q{vCH-W;BZwhQaOs;a_5 z*%E#qLB)DHQHQfhNj7kQx1N2_fsu5^J3}WX+)tNDbo&L%>QQS^(voo00<_-~v8(YL zqVu+=<#_UeJF_{r%5Bl(tn0e~MkPGG@F!{3E(zD$)OJb$!nN&PC13($)y#|koue&1 zsw)~OzyRzi1mt&S!k~+j>+}eUzBg&4l=*1$n4L7*GFI7k6Vd$aW#~VtGkT|&PnHhgaqnDJ51>-z6NFD@=G{o5*hyqNoNP!4T3S2K#9WF+BOb+btPwaXa(5Te`Vs z>!{I2i;RPoX~U?nyxKo7>a-KHMGltKMSL|4+5n<-Zm%|=&zfmCFk41}K-Lv_^)P|8No4rmd z3|;a;V)^eXH?|(qNpO(HV@69X7Q3-Rs8r;9wk5H8kMtA81yV)3#)Kaig08x!T85kM zMVV7A3PzbFPKEraBK1#!^5|uf4MMX8g~TgW5aEzjvo9E~eigmmeKBipO-WHhG+j*o8o)j~;dU+8Qe zl8xnq%40#B5HCVKp$YYMJ_5_?Sm-0O2KeM_{NwdI8bBUZG8$I_lZPpN1{XlRpLPEP zH<=S}s%|F-=I*Hn6wd|Q2Wfz2x)Yk1?w_#h1^i_KB4$ja>u9@UT2{wX>Z&9e?)t2f z*Sp7br*M`GJN5ZmnkAKU=eIP1*?8Kv6FQyV{8}2hE_l*vbA5XK`&tHv=4{S@4JH!}=YD;1df9OnL zLrJlaX-Hs@DjJ>Dw?J~_oNj$Kv?mRh6hGco{JVvK#N&$JMI+7!MXNtWtC@0_|rFoc=RA~WG zYvYI5498&rZfC_Usr)$Xdf}WWP#U<9kdkI-wzb}jxRMFn9zHdHGD(JW6x3{?=`qa; z6EJ~Ig2$0OwE|DTkNGUiqX6?7a#5CQE~{95+U%rdlkkUKa`1SND`NKkjO;*Mbv1F` z0eib>d6qG%OFTXqh#bH!Tx1t&-4^~+dnPHJCj~5WYLBb!2H~{U8b8?J5j4SH^UyhI~T0s;8ZA(oyGA4VK7b^5!Y{6JGo2XC=XlI`}x35k8UXVRd)@JL{k zxalPk`3SY@?z-mpJO*7gW2#W>5qyo5=h>6gHTT5`vu4QBTLAUQpX5p?vY$x?lK)^E z)iamuSiNR4_NRTadVawpB2mqZ)ju?x1-{Oy_JW5l;+Vjzex``*EDj*a&`9%6Ta2Xfz3iJ3pD8~ZV`d_5=8s8FKRQqcUk(RP20R6)nfN}gbT z;n2j(sX`{OjVQ(nXa6&2zPY2)m%XDldC=4cp0kCs8xJ935IMK>Sk@Rb+4l7TWsq~e z_<=8&q!f9BA_24fH)>Bp4b%`2k1-l^U><%Hnm@k73caOk7Y4@^PLnvHFc5YiAuY+e zNST)J$>TF>uFHYqzn}5InNy;xr*3D?g@Rk)W&?IS-ytRZ*RJ92Y5gbLsFJ>K_<)*2 z-k$(CfRxhcJU7x}N>L5sIR;I(*C~iHOeRv#WBA9AN~rv-={MAy;@br%C)uhAuEs?Z$F>0%Z%*YZC;+wNz9(5Q;kg9rN6|d9SV)R;SkBQ7@*2C z3yr0{W5csAtK&D$RQu|xOs>lEXsx|x)pl=fw8@yNa?M`M%Wb($8EP8Ozt@ZMF83sD z?@0GttSpmeaE{n@R96EKw4YhCG(=S~pZ{JZuA}(HJsWa zq-#n`Odj4utLVhG*FyuhjG-RvBoBLE^t*z+e>=Kk{Rb zGEwy0P{;)nATi2w)dq2i@Rm#b_l5;#O^GW9 zK}!kK1f>Iv{#|E8>U{qZaD7t`iT`$zS)vkJ%r~m73&#go&o=?lRgn%m&&FIUpmhv^ z!#xbl+Hs6$q*46m_^GP^nUlhqGUS1T|JGf~8o(2>om6qtnL-&!P1u31om4L_es zv&pYlQtxJ*YFIN2evx76o0{U-N1Qvi07@&G(g7;&51AYATND8~pb(M@18joWvzY~w zOm1Gq7BK3rq46s?jc0JMq^Z2{p-Mr19)SZMH^WD8GU38G6P!c*u7B}10jT`7n4 z_JDc9(|^M#I>k><{-V9xD!f*LBa>-uWH;srMwftT56jv*PmEVuY*)}rVH`Ulj!caSeG;FfH`F99Io_hYU{%-&RleIiX3(vVGlC)E*g6|c zv#akr7ku01?ui@+FrhY@y6X0c^3+{IaeIYTFV?s*F|UX@e{)u1>PnXZU3AOD>?&oIe` zI5~Gpz&I33N0&e4lCH#*Hx8A~NVp$AW&QX-S5FvZ)(q+fC?Z7=>!u($4 z-Yb56*LI8_tykKSGxUCNZ5~9}sA3$;&P5X=r6a08xnt5u zL}W*XfHUo?X&M>~)Bs0lCd}J#eFfomz1t9oH}n#;WsUw4#zIKdv^vbl(?epz?s2q2 z0{S{Z9YP(ncLzkYK62`g9q6Ef`SSU#oWVX$3TFb!MvAP3^&+G3Ay@@r3GJeiOtPd* z*TblOO2-ez4D`Y1NmA|<5Lr&d`%w?}AXsm9cd7II)N8k3Re&}AB?EuOm9H4%C~~)| z^`Kh&0eD>{Xac4baj}p^r4(OmO({J&SmTLtj^-Z{Vf~^pp$WoKakUz z(j}p;NpbL>7yB>TO`QN#5TsNzw1wED@3Hi``NG}ukl$JNYiHED%11jH^#>~oo3`5u z{bq3?B?O@UQP*~|P41U<9dr1NE^Ef^Y+aM^bx!VRS3zqJbzLaHG}NFW8gq`yn2 z=RUwB>+bD+`Qr0o=^odig1yB%XGMb!e*TxTKWhlbsCE`=Org?LG}}q>iAUYyC?oRZ za^F=KgK8#DH9y%QEe=L8c>O$J+6y#F*W^`K?Iht=I3>v@{ zjlSnyzjOwd;0+_^UPyTvy%%RG{Xj?&;3@eDqD(|qJwEmld;fl!J@#Ds+oSSfXi0Rn zgHGXzpLE`~nlkwFR$Qo`wvCjpmbmu;=^W%7euN$%-p2$GqiB0Y`1;^TU)82a7=jWQ zWb0avUlOfxCHl}>&O8Nog{ndUAL)`s^3tY& zhnHHNLn;V8{-GDq|0Y}%F0Z;fWRmftN)q~xmgFmOh_LAb$WxYk%+R>Z37u{(@&GL+ z5OhSBUrh%42UZ~3JRh+kPC_7J_&Gx*U?QGAPp`D+a()CpSOmlE1^W?hFQ_Cput19q zG}B3^vCkfoRQ`D%Do`s>g1+^2BZ~Ixj`YRu+7lk--vV7itAD6iOH&ec?YODB=a}Vj zIL(-5*hR1a`qcvE#Tq~HT5yFVqZDNzUn>~!x)N;)Yq$2V?JFJWPCM)jNL7avo4Sh) zT1Pgn&?DVdN~7aVlHy{-3fC!#L2?2xtjghwy1jSFa-Sj>C#|BQ)}MU51jVsJvz1qI zMx}X$q(gtqh@gyB(BfEy$$IZ;AG6hMx+ z8zsxNjje`O5yT)4eKQx`^5W@BjTxW7^sJO{(gfT{W8I0 zr5w-Kw!C}w=uB_w%4l+Rt}}&U=&pf_7TWE-;@!^r4BHX-dl4Hc)rWKQtTNlPB->~e zfCuh=DCkN~Q*#w@SXgQ-LQtvi3n!1!GTR@En-8zjDNl>6zqX~XWNSP9e~0e(e|g~` ztStYRXJ7(~1n4ZXSQCx2Y5%t-{gc$n5>}g>m~_yn`7nGPE6nL)O#(F&A(|k3H<`iS zpSS8P*3jIbes~eXu45X_G3l(PXZn-X%2I&Fv|w^b{hrR?v!HIwgz0~LUD5v5hI3vW z^gSVQTTA(b+54ipsRr)q4v0A?c>jBmyxI1m*Oif#0%!o3!wJkp+Ax?7*k#jYtS(=( zYWL2yN1~isKat?DrS0Lw2HTulGrfC?J%7~xL_hwdwVn*?M>GS8taW_c&%dsoGrGLy z)8b7}_sP3QD|gR?e-$QT<9+v`(}O&XU>OfkwE$P=uVyM6B@S7Q;p$J2HN3jbzyCoW zqThyF1URSv{kXX~F2BZU#453&0jM+Z$~}EG(SS|9+ozJ3KYCSWn5=KU;bYm>++N%9 zNAhJoM^V3(ebo9ga0fwVLZ76O%1MdvN7`*ME{y{RxGfGM8G(@uF|Mmc>F*-Rli5`! z?s)b(#0(*Ou5im01G${8GjS1oZL6L~5zMr$0^lT#Q!D`y+3bsLU(@~Ig1?nJVoJqf z1ryO?7L7AG%d$z%nhDtxET=*-5U^iwqL`Up?8h-El%REBN%bKpuEqI9iUZQAV zap-#>onV`N&DZH1&8o(?1C3*Ai$SPUm074n3hrc1`KoYe&?q0K{1jC8*#U{)(7^wqp?FwTF)Q%N;!tc zWk!w_&PtjfW_Esi*~g(Bze7mDj{F&a(Gh^)I#P0qPi{tX@9Qvpv&y?HcJDc`q7uwW!ech3=V06Np)+ zm#&RuO=@4OgHA>L@?n^#>a;~({z%PNZX+w^J|Lh^wO9%q9cH~3X~?v|;8~CcZRLUf zv|P)(q5bAmVbPH%HBAH2WHG}(*St8cxcjn{7R(+2T&}X zKx@fN8emBZ=EkM$Hfg;DaE&Tg))|TM=13@khrZ+~PfIHq1Zn)~RYED7*B*9eI*wOP zN(uVy&aP$^h>?VwbNKGeZn_p^TQi)IK$%9CetWE<=272mu!aN=6F-Ga7JmX%Fj+C~ zEafVUHt=TZrX=F^57F0NGz?^~4?rarYF=)Hh@|dsQG^fNhp>C2R}y;EeXM65HtX@d zC2F!q8%XOyg7lNmgMvR=<}C2*$M)HB`nfg!^5RLFEx4h=ukDnVMLZ=y|972+vMsWh z`lbl!=HVH%2>^o+1=6`3!5F+$+kQV;bZsx%C4rIHN-|oK+q}0XyE1p0&rK0 zTK!+k_xnFkU(^%~%O5R$y$NIMUENM{asg@!?0V|&yd1Yp!qC`eqpkvqsl8BG8|fkG z&)70s*cZhzA^w+O8uz9K7*zK4PRETOgryz9%uYzf`srfDbt{Y!idA*MDRXQlCBBGM zT&P&D6Y>ZCmiI*RDYzT#V#Nx>h&8gWcwz@1TF|MQCi9>eau#1{oSW5<}q?iXdXpt2V&;#IXz zdw!>TYRSC;vSH%7`-j6bC?&D%%h%B+TFu_gU#>8Bw*WwHNKnnCZ}%nQrwG-1^*nkA zkJu${29uZ(I2I5<>}S+2S=b1kUOhMZ&xF{E-*9)58;xfW0l#{_T+Kx+qykrvhQiBqJCwwrm1~xi!#{;5V0%+S93(;E60|>>RR6%MG+oi z9cOcOY3$l;d)Y~#-$}$lmkF6bnmjkPFS|doGBz9`+9m^Vaks&>Z9r5FR?FMP)0yhy zr%ZTmuMhLJy@9YoE5EqGbx?Ul)M{1|mU8yjgec(o)iU)@8EDIohW1T(eCh_s@!uWhi|s zv^HH`H;^=-b=+FH#s#E_xy|^y=@vcM^-OFncQC>_tIs$pd_~OW1{17gRT$M~CY>w^SO1|h zke5JRGn+5IZLmy(#gOGEL6wtI1%46?e@sdn_5S}c^^W10bX~M=Y}>YN+Z}XlTOIR> zZQC8&w(X>2+jdUgZ|`%i^RNDtuBuvdu2o~);{tRV22Bfns-Zsv@_Na%zHC`j75GnL z>^tC&Ly=CkC_Mad-w1nX&Y}*F>ItIU8jT8me0Y+a|Lv~~;@lAQ%f!}uAPtY`r{I8G zeqV+#OwrFzVtjWAm6by7CVM~D0Vxg{6uT=A{f(q+ByJKISBiah~#eQx_YuM6WTe{9vm64BB^0& z(xXaKn?JEKr@=<;NJM1JUI3Hfo7MB2kwj9wPZz2(z%zmd3kFp{5qu#?vNLu~vv1Ax z;RbAyE2W%0QoD#)&`PQa1#=GUoY*96AJ@mQuSpT-B@mX&@b9Q>N2rsLpZkjgVi;ha z&u&wNz-i{S)a%(7SXR8<^)iSD#?djMhArxqGezw2_)e3Y0=ry)F`U`7=oCxV zZ$nm3d=c3FkP%*48wB?%4=b8%r(9EJ*VP()>bz1zc99u01fg7AAiNT%&jBC@Aw;*` z#5YJP6ZIPFyo>a7!M1dWI6oO;sDe}rmkj}*Z+$kxe1Z(wuq>h&XtjXi-c zUAXJ=61ot&>Mqtueyy_@FaRzI8K6owA^}2Zw%fm_V^V|fm7c#&3-oe6J34nac)vk0 zaHR#ofW)Z(F$|5I_CT(td_5cdngtNn+WK7e`;x!S{I!1`n1qh)T9if;-}lMpllbP( zYxYE(Ib4*axw$hDrikOPWjpO?j!P|~_Prb{GHe7?HQ&jA>i3pnULJv)4Z zKlH%Yj=K2)M@9$dzJU~w1capWOvWMWk&q4RPDo>!h3TcD zR5w8@AvBgH@ks;vkt7Q5TY#&*VfJ}}xMnr0x)x>8$X#0W5U#*bU{rzTggf5fcwcmbJkFCgYi>$x)Ax;qPm7|r=OyAOBivf^3K0wa?l4ThcKmrc7 z;3s`C%uV?)H{V_8ag%Ogz!7=AR&ZfP7wP9+kQ+WhE)M@acnwSg{KeG4)Yxpl&Kp6H z1LF)$;@hAkqun>MK4C3BSZ~`1%Ait19)TD|t z8+Z{LNCNo5?WY4Wy_SM}e`cok>r03c#aSAsVZKOB_TQw203d6qNU}vRAGPS9Ln)zJ zrqw@#{rF-n$I2rp;ESw^n;|Si_!jul5>t$3Ftwc=fc{8op(M5f^N35SKTo!E6Vvn% z|H8Pl9I6=25U^2wk8q=x@rWV>nui_u-A$tHglm_3TVN&WQRX5w#elR9DAk3MBHr5m z6d^oT{h<=0Q8R3>5n1i0DKfG|6f~BUJe%e5l4{8>Y=xq0X_oRD?Vy z_udJ1bb7o1P>jutx^qFMwEOn+oz@y83;^SyZVed_B2Q2&KFEVqG2jptHU0S+ty|dVT$A_9CNxo9wYV& zegNDRYfO3&l4ysG7->fz!lb~aAs@d#ib0k~ei*49&AK|i>ll|-t)IZtoFcwwd5g4& zk;2TuOf9ku!;I%sG*yvd)^uEZ%7#j%4bkdqgT{%*Y`d-AK5>D?e&-?C-k7}mO4_dN zrGny!YP1LB(mxqWmdxz*mBps8R%D1;NC4wjOoG`Ymd;(noSFA9rXbo~&=l67q3-=& z3Xhya{#p&+G+@TsRbg;3h6}#+>i5!AypD*rU!N1Pj1^zDpY*gYF8|g}%?WEwUimnNI!Nw)*gnL43v~+vP03=ER}j1I}OoWF4EX4#i6R8d+@K^Q{=ol zK{ZuwT#c;&u2C6B#~*sbEr40t0T8%P+Jm)xIl%K_G0D-vljfCZ&1aRUjlURLgi($| zONGOp&y#Li!;`M6XH0+(f0*_SW=)e;ih408M*bHp36nX{i>Fh)CaPf*-S%fkCxo*F z%dcXfG|3~$JhSDUV1mXVL@QTU^q|``dT#tlO4N_2*A#D&{ftz-wQhECfT;?p8?7&5 zZS;=1Xo_-5g&Pw#TZw!aU{ z+)R?WJO!D8zNaA}eV;A-))MhZVDkZQp4abm$W^mbH^ZOfL`wetkaxA*{uj)n0VOyD zF3(JiV0F8%wEpo&@%b=J-+MyT$6XxH}w%ApVLF!3V^N#@#C@J~wj# z)Otq`%nhR{*kNKV?Qo(v*8{l&a+vl26h#{(G^o2nj9khU&Xhp_P(&{XfaM_rZX*_I zYJmsh-1?ay`aLPraa-+4Wg>ibdHI=<$3WVt8)3SK`C5iyOv2K+vK#9x5`Q@!8&0%_ z(hKQYfIZU9b46%Id%s8lv5}{9{k&{IcBpxLcJ5g*t`{QRT@I1tGpW0MMXrdRtw8A~yK0 zRZXwXuy}pWcHE2A94ZPN!)_(Emv{2P<8RIT0sK(iB*>PO3g@ns8n;s(U0Ze4jhj?8 z_$z05Wyb2Em3Q698bs%+X%uR{R*vl>kNI^e-D?GPO*I_=#W7S~ZD4^@CW&r-{F#KS zk`G4e^5vPAF%F{*0^F6?`oRhB$8eBXU)c!0FK7g5BNW#0A#5Ox_b|i+7W#CtM5rb* zV}tX%r@ zXxM&3?ssqis?g2d?D40X0snxfS(Sx*>4z&`JsuTu8$z=9wLp3EwG;_sDGq3e%(O5+ zeH%}6Ut0Df0m~$4U?ceg^Mm0pMmpT8g`9AnNWYo+} z3;QYeH2DKW7N1ez{Fu<$U4YX%y*8fpt=5c3|Ie!84?=Fw15^euH3&zzSJ5)XHb$0c zx3GFjJ|^63nW-ZChs=XBb1asTXuPAM$!FD)F#$@k7jg%*cPzx=&h^epz~fcIYA>C0 zKJGQ+Ai+|)a(VKP>=Er<@U-22`$Vyfw5RUIp#0oWdq6{No2O!V9STEFglfF>ugs33 z@6|=!u1dFmEwAr@vGdo1cQGI+g~2YBzRDyMO@;rG2f@pqgBmt?|E%lNg{MHo?b-AG z6i4>mLaq%8aovPfdb zr#;9(FVN#=VC?rFvnFYQqxIE(ml8|twdPeYzJo^S_jbT9aZZbl%RI}D0$6Fan%t8u zRo&Gf3hA10@eMqqP_wIqFBOaPO+zUzo!4>p(A6FC1cTh4lnhU3MLoYkUeAu`30q~3 zmuGp4#41ttp&KTGc-Guw>Ks5h!85)4Xj>sNvS|Pb6(1&OX_%Q}t=$=mPu1Cg5oU44 zOEN5ah9ZD|fW|T<99+orA+;KLpJ=rw;#wA(6u(GC znxb8l%Yg!QUn8nS0li1{f`wZiObDF;Zj5%Bf6o?MM#haT|s_$UMTU0G{V*jQO{e$ain!1fH{! z`bEfClp`7!-Ic3LolHMs{+jc8BvF%LNXIc7QctUM(7qgxWMlnB8kwJkWgQU1r3eTZ z55?WK-*>H>Lt3toXaKaW7q8lzd4f5ZG!9^(XoXa&l~cioXRPxb;LQVyZzUmM?o(FH zg#8&25bxNNNkoaL4S{C6f|r6nIXm~@^(LSqXClZsLxIPjaYT=a2#e{OzcWDg#jDav zz1Eo9Sd`GmF)R+2c-!6$T{fne*n?$fU{JDIX1FV}AA1SS?a8zK4IT=F?ejnV(GeC1 z;*Vs5_=ofl%EI(N?mrDcQ&xR_6y;|b&w@I)kN?wm5&@-uOedjt)rk`h))00!yf%zH z(Qx|nw&jg@z1{?SUsE$y*@eHm`mH>=FceA>Gq7Q7XXV##F$ipFQ?|C)AI_Gu#{!2AdqXvTy)q&DZBrL1~0#Jfb~i z58^asAmM+(Tw#?M3)_MaI*WhYWf_M5IE3 zbU}s4Lr|H3+R+1M+ECJI=Z~Zm)4RC0OtKkR+{oNr({wde4geJ60HpNmre1n0%}1g+ zX7>YmwmSTnIpGRTCd0kSs6*$?cCvKxk%wBa_%-HGVo$rQdL;dX^HEKG+qci{TD=i= zRL6LCYWm|6k0cjMme=w4q3)}e+Nnyo4$AqB8<`4#C8QB$eeAcyrJNZg7Q2bQc!EeP z`Yng|J1i>1E^Z8!!387TO?EVpLDb+<+@K}&4Ah2F)P9{$#%H3Zkf-6zV^jHGDhi%2 zliaokx*U`WELQYy?im_f#40GFcj(`WqT(OS^d*rO|MI;dW60yf%0&%2*PSNgiRQgx zLP@CsWYOX86TL=VzftdTac9PSHR{;JBhFpgW*WvNYwuUQ0l`1VDwL6h{t+@u1J z1x#vD`ohs|_EW$J79Lf7A{1HaHWesUSvKa6dsvkrHp1ILA=xE7df&7KM>9 zYRME?C*OYiHR?(-kLY=HG(9OGj( zg7@Bmwu6h39nPb9m%MncV8gsvpbRDji}?W;dr_s-k?IK0|e(DPxt- zz*lWNo(3d#8U_nbeMJrkM+@k!oO9>GS22_Nx?sp^PITi+%OHmp=UEc{LvOypvB5XWcM;<4#go|y2R*>~1EF`20M7Fj^i4H&{31r`R!dQkJ z1+DaVP$cU10v^ls`)H-o^6PxtuK*-%zC$kjAmyhkKG>y}qpVBJ!T3n`;<%oPXS4N` zKt-`tXu)WNh-?5c5KyW>`CeVc!PaOHCsl@{t^-IR%5peNWY>PX+QW>NNd7*u21Y5X zcmu`(#d9I$2n2#Jl9zg}k%Q1j2zP$RABifFDL^y@G|G3@# zwCzvG2|0&{kSwo;|1BwFv*b_Yovhrh0u3=xJgd2jHPcCLDd_EmQw0it{b zKvbr06NnJqkOlm~=x5RXL`wN_)wix1=`~ZxXz@>mnuXInn|KDySz~6|J*_zJ{jSmi zSxMg%Y26y&Z#opJcP)R>odR-diUwF&Gvu#syOE(}Qd{@=$$UM+a6W z!qgpn7Fh?xA2IJ{M_UHaU_b#O{23?P_yB2m=csgu?dJZ4Gy)KuK5r&iX}CB)`P^}4dok|?0u#4sq9zS-Vq<{J?NMg) z&wma>Ii-7BmZyvVPds4C>dgIOE#&39YAcvV9Cddx@_MKZL_#mX-R1dw#MX!}&@+nl zbz|pzOa1j7rgGvY6RT?T9Y#7?@7K8>$-IZQ8X8T7^GBvsHZ#gD5vif8MbS*Wz*h)`D1MYXZ6qO`a#cLykOP#PQGf&j-46aB&f{FG-P|9C<3!jHdV zdBiY=GWgd$&~dwcKA@&mdKklld7{QV#~IRqdNU?4FPLb#bSlsw>z@~rE1n4~?6N9s^dcw{X}m{T_NTdUP5 z8tMz(gLuva-d-TK%KcLber*zBpxUL0FVB&aWOLYl^lcF|5@FR*u_9TSzdMAk9tNiAOc( zNOnvx!~Q4ylS>LA$Uf8UKyjt2{yWEVS23*?FxNfIA+9plrbuHMwpA~J!RQBQ5vAo& zEaZZGrU)pS1wfnZ?J#0l@5|K}B@7ni>V_~HkP40*J-P*ex^Lvsrcoa{%zJE+HUB9Y zDT4}XjbJedt*ABy==>9n2#|}mhLpc3Tm+;7#}}@A@Vt#kKh%(Sm12Z%CDJYl)1@8} zo;&T+ib$MDGk%--!hIISY)t&?Nxm-I$d>Xc7q)mO0#Fn>re`od+j#0pegn73ky0px zj0`t=0BldQb8$_1KYYEX98?Z%N27825ZPJ;A;U12&Z6*5$N*nEo%%ax=*^-k$nxEE zV*j#RwVTd5Q1`hppkGn;tKKU^m|G%QcwQK#(N)@;<6!(xv}8JatKGc@ifgdTO)+f~ zp_xk#9^h?3ec{QKQ1R3N(J)8ZXs*j1q8NME0f@}u;n7dzH)!I!hQ|LLPS{fiBYwoWxSapR zYTQWWBTry=dsU#02q6jneM&gUgCu1ny5w0?#e@93#bMJl!ocX^hIO!1z*eCzk>&TfYhac}~vU(FQlhva@8!KTecw$#23Tp*=2Uvx?OZ@RNeJxx)pDw)3q;94}cD-f+U-AaQWXf zwx21vBs(l$S*<@07do@^5SL|*B?V>OzfUw=c;laYwnshEmZz~L%^B4oQ12E<@7BfN zX<5YDfN6nMHRJ<4n!?%~|CE=Rnq`}yW?mLYMbdRq^7h)_?-@)}jWJ=F@xv5lef^rJ z>Z&Es(oXojZt#xbdG(K)r3MgfF1cy_jK7@~Qxme~IM;sl{tc8-Ip5!5Ztc8gdI*X`XAq5Z3a!x z&C?d5qTmPO7JipdRMJWMY}Sc7{(`x^t_KYSg8au|7<>FTVGS6P$+A?O4|IGW1-yt#LhVC+Qoux}q%)wIe=^ELSPG~z3 zfQZfze^@+yP5vVzob$=Z3E5I!T3Oxe*_^B4frs8jg0M8p+iYSnaOc7M0m~wK)G1CQgCUsNrImMZe74mKU(zaWE&!#P`k6@e#D7M2 zE+j}`lzYQv1{i*5=VK!?S#*x)=(}~jW4mVC`5_hTK<+Ytksv7#CjTt!?l z$Bf8fe;)p=@9&q`=Zu7xlr+fAdT^jWkX?SsfqqZF#{c3NNO0gWx@M&SyT|$AiYOHK zVm}9F4w;4>31!aumH{eU(_CC|NF%(Uk=B@mK8Cd+j5tB>6d=eNhBpQUySMS#M2t~7 zFKYHkgmFN-k1>UIc{9IvF?U%_4JWQoFLYtv$}bo~**45d*4g5zr3yfD^YlX4%4Xc? zB0amNE668`-35Kxz4&l0az2qWcqC+tU(BG8Z$z1Ee)p@YO#tdgJ7y^gnllTaY$x76 zqJ9u>ilpdHPXxkMEs)Udk_KrMdE8KnoQ5NPpFH^#{l@wD;^%pr&BF&T}l~9E*TK_ z*m5-G)kRSt@7>BPnU0} zvJh|Dqd<*6&$a;J)8!|~9%a1~#*mN9hv#a?{4&2!ObW`338K?7?iy!=&}-3cpsvLW zsRC){y^`{f3>O2$Z9+^ROjv3>l@tO657B*5`WVg)dec5p zUA-=q3DTL1gDQgahP5dfK8 zF83e-7o>G9scew{DqP@Jl}YBLn@?h|#8S2 z+}8w5Ugg(=%>LO##NKlzrrwXGLIeIohMb_Kp$E{lBq9=Ww~5Z-_NU*)c*{m;7XwS4VlGyQeG5BpwM^evbwu-&>cRoyp$_S5bY zuar6>!TP)Ev<5_%{@c%t+jS>N za>!zne&i~OleEc0_lr1U0IN{+iZjz>N3HATNEq1Fqs#h>+s>224u&Q4Um}UWzK-%Z z@~!SqKUe8D;0j#2#@h`Y+9$1So8Sh7t&Aev#h${snUz`0A03-2Tg;CS2D5na=qgis zVb;2JRV2Io% z{gRXqQd&;(a&|2qTf?S^cK?%#2m`SbAICqZW~h7d+767;awl5eLyRHb?~i1FmW??* zPmz?F^-ms-@9?wMa$MlCMYT(WMIaSkxnk*wdSQHKYdR0P5uir$&%>yia|myeRuv`6EFYD3N$j>>Gs?O2C3&nLzD<(p)aPq24_aTkl3jg^qBag==so? z8vEl{l#%MF7S0qCZ5Q1(oKb463?LfGDS z*^?R(l7?noUm6ZeVekRYiH4WxU*$*E$*UyNiw$~#fr9Lf?zk|lBG_bj+hpHA$r#Gs z|NDf|Ifa8ItZEA4}C?)_(dX2y@5Ebk(ZV-uA{`6tQ%``nI zE(n3OZSbkOpyl25nV!-uC^2z)F7I&{3(axTa@NG*M}G_xrWAo~H@Xv|Gyg@>Q13X#`D^ z1`Hr7ls>=9NW^u{MwwPNA1e^xB8Fj;!1>~!_*@o`tT{B~yhjRwMqrMu`9y^yYkH_; zeTkP+nDNRj%omixn;jU0<~b2lsc}Nq{|X5${NOy63}uu{fvFIsVfPndDnUYu=e7hj z-(WB0|K@roS5D%QpP;Gm_NKQRSeUi*)dw8Su|2BpSR?yJ{Ls-XVLb`6UmNcl)@=@C zQyQ~>KX~i$PofG}xX+Lf#_o?91}eT;?oX7=p zq!!p8^h&nj^T-ru*ounim5*+IU*^2jPhNRzjy!IRXcvpfj#Vnv46sgLWJS=c*g8hV z;q}JJqi(;VW7a=RndmzXiMGItZu6^livDpAqux+GPpgizRIq=@G;tV7FKf>nyc)C?_n7GY?s_cPFwh54lF9En8{&LI& z4Ft29dq5bJTH{@Q+Un1rI4^)jVGs-)*ltL7XeqYw4IFPBCXJ9ov%XEfo`#k0AK#=UpgiMoB@yg@vFTJELU#eXjlv@fj2Q7Juiop zqJoh*4|&{u!P?cM=!7uIsECcC4{t`qyG>AEpb;E5wy8=ZKZrJte=(>;Mc2r_tbqZERHkSWC_Bn&0v?%zdQSzC-v7=R~NfJw{h7A zI#>D1PG0TgXm&4faZ>#CknsZsA0I!KUE>-MsJLdv)E3cdv+ueA{9FZxqJjd-vs3(y2HSfRQL!vt0AU8J>Kk z_pSiquNlGYECNEnzZUkbF$b01;b>v8%x82vuyJd6d8`!}$D<}x2xbKo6I!F!yPSDMDsnYo6T}e7z zLR@06_SLp^y8pBc0BB;vXcbjdotLT`&|x6^V8ok#X9!3)_4qsOPE*2No|MzXE>Gqo zueBk@g7f39nfxo%cuXdgSJ>c9{!F}AKIX6<7TQ_{PaqLd?nnQwJ-bcgo!6RDX9#FC zU5wkIzd-a0`AyC3-0QQI-_qHS1jBa!?wWC zA8jSh@?{-m6Tz2ow##XC!0A7q(J7w2eGM_P z?Tq2r?sE&{!1$x8=Vu1osksaz!@_lqWvC`50szg>B#H~%kXS&RQ~?^DXNZ8&8^kmr zxj|mQ8Us4fB^w?)=Ndpl4`PzxiYPU7;A>ZUMOlnR+ne`dmHqfvHQmbsCDSpe-K~SL8RCzGCI@Me2x? zh^1E^A9A1Bk_rEUd?`~9ow5XqHKLZ{1zHl3-0J6_HCRSAa-FjinRSc-X^WT~V*m~C zr7bVf@(>vkd2)n`I8AiNvdjc*n!K!_td~bRMu+HQZOd4u_?E)^ukLa6E|c(M%1BEK zlT)x1?Pf5+mJ@Yog(!hY8tQOmnsyis?^GIi(53d0-^{~02NBE)ZetO+ z^2y0A@to1Q+2S+bv$9z^zkc2GdjeWX@)U9c@e%l6b4Qg7ANYex*8Wn^sr#PYkIYIL zHkjt;765)MTgJG>3892=EAq*y_XJ$rO=1hA4zBk6r8s&1yhT*xa=DzjbfB0J{yct7 z&Gq9qoBTnl4nkWt4L+NPD=<_2gzrqUl+c2c_l=0GP+%lNh|;hEhFrM|pa49Di4I|2 z0`yo_ZaX~e4^|}!dkh|QP z%>^h=Q0juh;r_*lBCka31P)Ms{)EOG;i~nqn5bg@S*!BYR)2t~E$#+ZwUEJmzVYhV z*`V3J>@KLjiCq)ELqCbJfB~nkcyqyVU<`0xa|80A0V6+9QVF*qAT=0$dlx}OpPn3! zyuVLHUkm2HxPv7M-ws@%S14bgl%Fnnz&UYFGLxQicRdd(cus||6tny$p`Wq9)rFCQ zE#*S+UkjS@CLd4Hkk)kEKvSS!A6V`YiJl#d{*ysCIsY*=wEfvit@Z(h1Yu(SUjPdN z2gm={jxqn(AAv!DsR2tF+x8nAa3kBF>L-p~bwAAt6%o}ep)98XXvAN{^#DE{6=N!l z4Rm$PldpH5vI#$(OCZlz25y_*y^umR=3tXK1S2gIQ-O9^t$+{fb5ulRcJXFP zuS!P28ahdf1i*($U2u6hnvoy#*qby)q|Z6YZ(!qjqcSV z&;Ryhnm-EenkDcyw2WFZGi)p<0}H1bdPAX*X5tyxNUN9%u$}p5qi{mojL9rcDUd`F znDSzRBWwLb5K=P)=$ z8&sQuuHuoMW>8|s;Vi?+9y5%+pm3nXjm3BaYcL-kMU(rhGn+tzvD+zN06wHkPZ44% z%f@WlSU!RsC2E4UE^#xyDtu9*q^gpyOyf|gk=-FAQXfAY70!ntM0Ai;j`h|=LYGzq z7A7XA4WJQ8D<yw8AIyl-ZaNNA#+_VEc`Z}%i zN=SWQwf{_(PM)-MYD$01@8*)w|s zfDxg}^!PmHook*t)+>A+Ry59s{+{bS=R&wG0Cq6g&h)SY$5Ws{rqI_cqUCx?av?k;@{S8Ws&B7A8<#nBMK1S4``V#D?ht zx%ArL8CPffnfZF(Z+7p$7WmgMx1Zj5+ImiXuY6B)^g}%j-!}SD_U1{xkkh)GisDqP z0oqg4EqJ7ZIcf&#)n090T~3>@&jYm{PAe@fna=|qo6W%@f;d@TwtB7S89KB*f?pr7 zA6kl&5vRxm>#=TboUs!LV<4jEyDd&8@l;w*BlYKw(MS|Jg;_f|o@y&VMth+9L3~2k z)d41uP3uW6DfY9YoB_GlxRUiQJ@K1b06x{Dusu!KCd;bo_>pR4lN{?ohnsv-0ZZVg z2X0xuNA27_I!*r$#o3y{Pq@YYz6)~Z%;(pn8N@z(#ViwhN(l4U6 zyp4tMKa4vENj<=_64QnNg<906+#}RphSJa9J%qK#2AUKRJt*B-rkaW$=x=)cpBD^T z6lc98lm@zrkSUE<>WX`mWCX&dN2F3$g0+G`M&HIvm|JxhYlOmkBQ^0uBSU20pdtqs zyZ>t~L718U%V+^%W=-9-`w1&nlXb%3M(Vz&J)*J-RI`u%18Ys$M7=%+krlZ=fMw!E z(_70Lh+pzFVlPWiV7#+KqmZCQ|0ue>VwJ*gLifIi8{-A=MdNW=#5SzI^(h8hB5BZ4 znXuu=G2=9O(AjGF^iK-VLH~6qI+wBpvb;glwwbgkuSk#*S-^-_rtbjww*G-A6lFZx zkK}qC?{D?+BPi5H*+>1c3Ld4n-n6Jp$8v-n;z!sB@G z?&u)PjfypLc!J7R@aJyjbx1so`_JoP<;>VCd9}oTH|l}twj)b7LH-qht5!b>enyEt zyw#XEAx&_)Y{38#uE7RCgk{Qr{rOJN7)%0=fGU_7oKALcb#_cehl`iWtlfPZi2=@> zcs`IoH<2qJo=^s$q5RU-z?v7>gLf#i&)DlLoOTLtMr)HrY4ymE^9bv>Lgb>Zpq87E zX3p%|(bL{-)l!J$$hIL|IH&`;G&?6WAqtvAcabq1ErkWLSStYNvcJ46@sH0Rarnle z&(WqO+0Ofl>?ENRV48#n7+q=WbFzt8e7->DnG_YZE!E_kWb?!P1^qn=?8U(fLa_2D z>T&{c*mQqgej|W}-tii8;ew&{b^Z+kgO3JVJlOGH^mc7mTI**XEXL%Qr8vyRG8 z+%Y&=CN9I+Bgqj!657(w+Nrf)#&$H_p2DRqs*|^$Zh#1XqdQnrav?uEZ?Z^AW-6%w^y&0aOx0qFzbB`LyXVP0!e!7tRg@c0eUC|;@>(ym&D`+E_~HWPaXSw$+cMr zRg_1Ps#}xU{1h4bueGLL56NewoUQxf|i4xJl8m3ly_>->M>^g%}w&-IaC1-MJ()X9Ufps+cZW|S`&$T z(d;Wo=X>*TtTeNdqVL?!|sI-)MOhKCjn z7%H~w-2p!i`Ue58ZfNY2Buk8wXSFpKod8B?n?v1Hqs%7zMX<*7L=E_xly+-$EuNF( zCu;zlx4%NEN?P*d@Si1S-U!5-{M_R*H!!(c{ro4rS64^P69*& z>Lhxzt;xt)cu_*oCdUQ*P^%df>h5Rq(6Irwa!$Ae?H?qU2#21}+Z z1Vw34?tj#>I%g}JYu|oLms$UBdzq>^0tyGh{6EYT2n*+b&E!vj`cJ}z1X9;MtpgbC zk%=qZp9UM*aN2_8IBA3g1SIYvMF?P=NRzUU+f&U}KaepdwSL%;hHl@_c5@uadmu>6 zt_H{J5ht1etf7Q)13uXQ@@(UgsQQ(dav)ZAPnffpK7ozd@F);Z`N|eZLchuOY*4VuY77($GdR0w#nS~ss_vg#3U#v&EyfSs*1`OWs3WTW zoQkG0^3(E!60Y;RG|OlOGh`$siHW}n0`d(HhAaDws3o3n(~PSMPI4L~S^Za? zzCr0x&FegY1>w;KN`ihJV5)6^O(NHn->d-EM+Ea^XIz!|sue(A81$Rg=9-V=JXe29 z8x!Y|Sfa>{(}}gLC98(ce0G3pXt#hzMmYLxuMPkjrA&47hy9#os=jePktA0QK`HqN z^|C*|9F;VF9%{5C(da0Ip<1GPf9^!`dGTg9O+BYieMiD+IN(@)l&qXI0 zZ68WVae;u0*pMfO>YUMJb4V}uO=@Vg#{`zF7b|XsOZyE6KQ7$wU3oa9|vQE4r9fMY}C7tjqsE(jd9- z@ClJuMW7_Kl#UvkFLz0+Jtt#freQ<-nknY`o1gTz=&p!h-NHso*hKhylOu@aBl?Tz z%ekN#0loqe_G)L0kVRtP0fRR8< z&6+L&Xhfvrnc@!sQA`Dt_<^c>V75Uo!A39a36;G)ri8wKM{Q%#mo#|fajz5tOw>U=N7w;2GWOzI(OmMg|e!srEN8U^-`2^83e3Y^HTgC(vl=&7^i!nJZu3 zRa1(rgRwu%L#z>`avVc!>_aiJ#e(l~(Jq>8M*4mfNWa(Yi<%}AFfsJe-03s82>-U&=UwOU}}{T9}N1zOuP>0dAEP+(24)`M=;yRj5EQR z&JZZcOcx|-oq9u>e$ub&@vcGJan`QPoK@Uu^v6w1w_k@e!3({j9x<6AiaJ{whh2g6 zySluS`-d3QEXdB0;Dwf1X*rt*%#pg=E~6q$PjsZ{>z9a$6?zHj zrGm*;Fr^}+Qg=;yKk%+t}RM; z%$My2U>vnPbXc<4Y%JPp^H$-NGo0seY!BC^4M=#tUm^(MSkh&5oa2IpVrEGmBCk?b zLpOG;3+={FVc8t655^KZ1(WRCC&{BBy!*226dQCF*Avk(E}+&tYFA`I_=<8;R&4r~ z5{dI9W;?_$aav-p*qu`|R21(hf2XgZP;rCGucK7n1z#^03 z86+o+5enCFP?+<5ag2bfk@MI4UCz@KBzBkL8=BQOA3WOJ>~F-6Axk;*-n+ ztP_X-Rbt&v>~h3uSlLSv84D74PVh9UEB)8=H=8nj-Kk_~!t2lK;gXkU!8Q(Mom3vm zpb`UGfY2c$10 zG`yb)%93Sjs-zk8%9DsbKF8<9?f82h0A-AJ#om)ZZ-xV17Rb%F2iLlo-6Q+m-uily zkKaM5!Q5T{*>JFt3~NM|48rGE+9jnO8CzN9b|yEB4jx!dx}q8G)99bX7Qm>u~`XCC1$dly8rq0eppEMV4}i z4<9vt!57jEG#$G#)9;IUu@9np@L)yV!voS2>s)STq z$OsV35=%p5e`7TVH+r3nL$1V=a^GX?tfH6-ikLI(LHXbzQhUC_eS>l~vIYL{>B;;* zn&@WR&%z=ia$_gtfRF}=YCWA1w1)Ege|(^8!VS=4PW2_FrKJS=0ub1`60F?Vcv&%D z9wR2n@uEy<*}7tZNMpqRLEcK3Yr5bo5JXmb@$O{}QJncYW-p7i|7El2U&-w1jF^NR zV#aGE{mIEc7t}P<8lCuiINuq)yxHIQK~w|90ke8AqAciB=!N&N*rsidLpnC4sQsL|;UIPv=8Y*0%oN%j3}SD7<&j%5CRoIRhfThdHVi1$UN zc#VXzQXE$d!Ch?j5?4|eg5 z{8!s>Cs7S`?@iiXk4lnDAg{lrr9Y-@5k>lP#CGIaKo)B{7zA`8VDS{5 z2t^wSol+RncAvwOO&jg!oY_Xo(NaZ+ltJqD>Uvl5XRhVKt29}MxykU?efU6oU|5J8 zOKGyCB1|v=3Cu7P%36F1I;mlghc+!Gq=Lpa>6|?m?bL@!#Ga9Sh11O%4Fl^q!GVb`OK`2LeX1@4j92RVE9H4)^0pxFbni93W z7ZF#Q%T_;|dfh@0qobMzkP2+Ou9yhy zC{Rjc@s=0qD$7ytq9@2%dObyjEiyn{86wV2R!@Sw_~!jSE@y|`s(I}GEVI(b0p0pN zH0_7JK1L1)DzDQ`!V_5NN5m;tdzu0?{cDd}crW;=gLj7#I17kl3uLxE9@c?OWOpbu z#7s?K8-6cq>I?XF7M1KwAwmMx6Lkm11_CHr-S(Fl{C9l4ezujWcd|ccC$n? zHB85&Px@f%o8Gkk~U3MkS6EFXxM3Z)ilM8|jlAc>S46B9AfF?OnQ zL2yzu;`zr+Z{Yy9u%kGjPk%?p?99t1LIrZTGl2|=tQ0;EYQuFa(xFr z53~LeHv&hkyCZW6;9l9qB5M0C_K9-^3`xXDZq$cFC;$16B`qO?uzo7IQNG9ZeAjX@5oYmTmk#()l~W**xH|` z*ijawh!G|jYYm+it~1<{0GW^!cqoA&UucM4HqV4wTh>Jk;D8DoL9CpvOB|1vK&GZI z9=HWOF={^sRq_!WT|@Qo$DGLmt{lenOn1+UVbH{01$V=i#YuxZ7T3*xBa2(3U~th8 zYaM~ZbvMn<@v$jDF-CXc<1bk7)Ev|@BYeMYA(`D4(Iy*&7yjDXe|FnK0PyWs}#GfepB zFmmlvriQ^dk!V^*_M{>I(OC^olDn6M>rSz_gkLP8x|;N1YLg` zZUk^KO%8p<*+(fs4(7hoXHxO>Qw0Qdb@UHrTwMs0TE5= z-26Hyx%-|=;ygi?E#}+VlplZhaXkB~4&pIla8Q(lpiTCdlO&6Y;8fn0xaP>tml8crCRR&~ypRX@xC8$X`o=0y z5`TDnmc`*E+!<(da=hIP0#7F> zL>?dX@2b;{JvLUDEObL=%Fz^tw-XK1)1KI^2!3C_8xL~ZswV_yJGs6bJnw*m=m11k zqYIHA9J|Ep{^c=f3{3hPe}QNTd51eJM#4U{WaLJLh1b&p)~{zE7$sQ?;6gWiTZG!U zDK9wLzobaad)kCRVob+Ev!XohxyNW*vY3UeId0Y3e4{6VX3<5`?VuK{ds*SEkCQvC z>0`UDIqq>#j^u%fd$%`ib}1B4^N)mK^%aJlN#3jdk;*87kD1<2($A!di3z&Ih(86i zS@);=$+N6^+?_!eW62|XPWa$|BHOqySncd5whatX&0TP{Ejj$W3+3M+?(9|Y`52L$=n#Y=Id~ntu$nPT+AIWNYw{=ao4`1*_@azK? z!tR`)RM5X!Iz28dtwjMXu}xc}lFw~L%+ZXmqhziX2pxwx@kV`Nu0@H-4u-sx>b=V3 z+?~MDDCL2V`BFTp1YR3lgTrDG#MBWjD{>RPm&4GraCUQq%bnzKyexhpO)*yr=@8!^ z?eyM@Et06g)!=nf{!GZFr%nm5Gl@wQen=()l0v)P! zt@}BJZa;y?VDI4B^_^^Hhe)W@Xf%pJycY+^)L(ZhoM(PnJheHJ2I}grp!6u$v z(fqVgx{^&T|WRJP;}!2tn0m#s8UUi5@lP* zOByS1^Otx3RG5%?C}q3x@3(uGRE`k7Yow#DX=(<=p6Wgfy|#_2Cuk5zqP~6UnKyre z^b^=FE%fw90&u*3GA1nvWubPUTYHMj@aj4esGw7B816z)aE@T+BMl}rtImdNTUaVH z1Vw4VEDk`BzkoL|h4S4LIVP|u;?U6gkhOv+t!>XaaMvA5Xi6QM$@~~_5&~8WN!<`7 z3P7D?(Z3@f8LqcNXS|o;qMf4sqh;ihUO$3$QDiq<1II((rGiXhRqM@XDMhYc!k(3E zk~HD3G~p+6cYu!pL@XM)p8al5-=-3liH7C8P#u6neb+J(24mv(A`1!7)&LKPhQ$%& zQ)2#NpWHHi+^pfcRA0@k(asOcB<&f9Hgxg%W4IQKs?P^9mclKl;aVnB)Furk4r(e zNe0Ay7nAW~IY9K4-BP8VXT!|P<&W8=#0XOHR;6l~H|x{jeTrmgYujguXOr*NR`^3B6T+YS?< zXHkHn|8CyJDq47TK77LA*S48fAa>jSfo4DJhvQ8KQz(SXovkbO@auJ=%KSr8*K8K1~JseWM`dNSWQ1!|o8a?@Xbl5%{Cgk5B?Sl^ zJ-a4W|TjPEF_E+4Ws%;!0OPQ#M-93#bydW86z< z&%AdAIh`k46y_`-7eRj88bFg#$!)oR0zktp_b*#url{mt4R>D5$=FK>#)h(A&-yOg z?W+@bb(jPYFaSm?t>xd1{q~PUti>n`A6n7i|J~l8JAtug|#wsFBt5*Gf7T2KH zsFQ~ZJ{@7l{1Ek5a^k!P;?M!p|tK1P)b5si{o~Vfx0nJl|bwMs^!f<(=rYm`(q`qKwT2MkVlHeckD2U?-_kvms7OKE z%jHvqpg~NkHqCK?yNQc`_`}k06+a0iP{u}ZuM~GdFDy*k0V*BRN18ck_oQgkDQd%m zq-r1sj$du*=u2^-^k=Rq53Yfd>K9G$k*734iAgndqkv4<%F z`X|nMIaCR@<&xN9pt$GFt+G-KWrJvqhkVAe94gBjwk3%EphB5CkItf=NBrp!XsvRC zpHM1BS|25+07am`6l-2B64WMt9af0 zTO~wcQPOytYHGqK|NR$jSW23_vVeoRIr?#IDxC3&fA0Ymkf?*it^yesM8XRQW{6>^ z(TdxD3zO>0Ao<|UB%T6{;+2;A?h7Yi+#?J7S%ncS0KM1O@dma#txr9nTefzVVD2Cr zPdTLhxl4p;kAw*5rQWw>5BD9)?SnPbjuCvV+XMOCICWL|-ousIsaO1v*XmM8{;!jd z>%IHbY{w~>=9R9lSJp^TjHmDwl~-1;iF{k;l~xjXi%^0Bi234&125#FsjL|7>=o-)%uA&% z|I)+yH%j`Gb-1(M)3C6>iUxGFatIZ-qWnT``*WhHh01Y--#P^F(LLUoA4uLFji;FA zQ1@SNvlnOE%7ar`m+QtM=yh|ZiKwb)ZDwm*R`r5YfEC)8w8hp-7UlU>JK|_mw@5jQ zJ4t9HPl-W5h0@%PhWP_(Z+%Ljwkq~oNXLelw40Bl#H;#;bM*c4z6;G7B*PlMR8FKK z8(hkH^1vY@6iW*zVD-^I{$-_Y0Y1$I%8Wf4N>MV6{<=x+8Af9TgKRkGtK(QIsyYC@ z^u_J~ESCab{HeC5?9hgL!djJ0Le(N3AR{FTMtiwNo{KfFx}kaP!K6S^O+XrO5STm@8V8ZBXcd|1$$;l`^uo`2CYHI){HQce9T~ z>*PSLp#6@Yo0>ZJ*NnoZ>~-NLpeo^vRAA`lTkRbJ#Q=UOz65#2S^faqonH(qGq zNH8;ak-y3Q>anRYdc2X>VG-Eh*S4YO?L8dnF?)o5C{i#bohsfgmn2H*Bs!dU-LGGT zkpkx|XATSd-OVp>+9;gJm7G4B1w}%qOeqG>VumVTu6puY$y4@x%f3$3$j2fZo68W> zXw_zbF}#x0O?_uiwlgIhIjAUCLRYYqje|vqmp&NUa&$9Y1~1kU6k?%z{FPVmmp?@V z;!YpUHQ@v;d^@R=-i-NESVH8RmM8@$?LO!V7Omhbo}Wb(o-4 zTIK^HOk*nkVrh@|$?D1HU0d=-G%@%$ae@ibHzI*H?FYiha-uV`uoY|iyUj5=0AC`Y z@$1sh8|DTyQTc^oF^&#PLq7rWw6Uax&VbSb_N<&p&lOg+UyRm9 z`cy{!7v6W>Ao1aOxS%d=l$IVDf~SV?>Zo+F#v4D6j*G0^BzW_UJv1UkM0tUc81jwc zeBBDS_1S;*lQ6l*Wz{rRcT+ohSoeSYE~yMVQW$0JP${`HU{;H?@QkMoEGp{QaK;D|%p%OS!bF2nZL%n#75AZ-_WHDwLfQLK7Fh>kF<%>{4f` z56NjxW!XFaviN0UoV{ijWoy=Vc#aiB!Ola=*{bXM61|edyrQShPQ6Y)cl|-17z92T zeT4!0Za+kfPnY`i>E|Asm%K4Z8!0sj=$KUc4M6aWYiq&bz}jK>>6lP7^;yELUm_k3 zGK8X~gw;?T#H1#Dja7xs_NYTAVjvY6)OVk0ADWl7!EE10IKTznIlmc?n%dW)QDxa9 zUVPs?T+B(bfSF(__I3Js8m`m`Cm)cN-g1z6eZpU+_#o^1yTD_d#a*g))i+`RH=luy zkjNwI%#^L5&;*bhvP5?hlvkjPDcI@d^eQWyJ7%!-D8S7kbuoXgpj=iv$UohBj5GY7 z@dK+3;s*vP;eYi;OPIs_xA>v6{=a)FK(X3{{DvUv);o=vrHqN!zibYk z0U5F6Kx9`D&EUU;GUQZJFy}kZZ)gse!38xoGg(~x&yLsr9;k%Vg?pTDPU7NVShSi< zeux=GM0?Q*@L8BMe{Ffartp`?1gRox$r;uTOtR^YKVsx7TjiFvO>P)76_8_vKuMPhN>pc)F>qv z6d}Bkr$!=i98xcaXm#cHz*jD6kRZbIk-Se$T;oOdnLHxwE~b=r8k31#ps3A!5v)Ml zuixbVC@?8O?I=BMv%t_4uJ4oYjZ`m-lDu#R0Vj3M!_XUeOH-w&)>yn1%JomkoYuBcH~u*F+cJj$A!Du|R%DV)SHgu@D$1;|ZpIl&%iita;vozAB-WHnT&ieI8kQ3`#NVD z!ZT!OkDU+dqVMi5X?Qi;{J*}>RLX0hrF%qbZ^kOV(kmVV{lxpW`1Hr4>!cZ`+nol( zW7i!b;=W?6Iq@tz%R|@sdD*UyCIR%svSR%lS(y$+8fZ6J$ta&zdA`npiee6o@Sn!- zHj#g;bizu4U=gZs7A0RO*+c||*lHdBr}1M~IdT7A-}fWrSqDK)s=c5|Gg<~lz5CwsdT#_y-J(sVOyV(zrx+rbWfZYWP!6T#waKNXV6R6 z`FQf&!ZNsV%zQhH_@hZt!cw5`G6daqspXXCeY~}L+j>wv|3P#?-i_*O_Sw>I_wpJ| z1APNOsmLR+ew2AWQ^9anHlO16ovvuGyBiuX1-v_cMx#O+OsrXCF=GV*KSh#1*AC$Z zTt3-yb`*(ZO+)V$)ZRQa${}hM)syH?eoj!tnSML9myK7!o3LcEU5e-ta)H5+j^phO zQTm<)9$c=6MIEyG^@p|lHU)q_=jgs;R7P$wNPl~CERXzK?B0RHuAYF-gOZ9INfJZ5 z1FS50j`|S|ZPgp+Y`316L8bYsJ$}2|)wEqkg|N4ZWUjpt;d@WvclfOH{e#1|FH^}ZMarpV(?Dao;n02oF@jQt}1LXPc zTbk#J)E;8}DlMt((9^`u9_IL+zI^K$3bX&ai zm_3=7Tdin@N4UWN1zmV&d^RRUm%7>3l~z6Bv<#P2kF)|Yc}0oquy;N|(zB|4uenH#yBoJwxT?TBB2 zT!a#t812?2`Mk|)9kjO@dfwH32VD(4_SsmEpFP)ID|6kGj<2Y=l&93B1mI5)T_Nl^ z37tQ{iD%2nPb(Z2(IuJq><7}YaFS}J!(4#63MKrQkJVI)G>&H@^^Uz3Tu+BG(6lQc zTBeM+oOWh*Zkta|B>jb%Pfq4FIBVw#Vv5yUMg13r1*N@n?19N@C4 zO!u&_MfQ$~a!RiAhP(yBn_OpW3gOpb;~tg6xlyI_$xiV<#84#$tQ?y)BPnA;O1}+y z1Yu-M)tf?hTb7xP9yqkb2exa&Ig*&f*-T(w#fkm(6Xp_BF2QA@+P*u+4Jz>?-+MY^ zU0$fJfnezRiBUR4n(fAu0lk$h7ZISL`N(3-RLH7fDGIrTWNH&9tUx@MAnb*X1U8|x!dS#^!&Q-aG+LDV@Nh4mwDdw zb`XMTOK6P`r{nP`L$tS0Y4gr^m+RG!c`4+X9^LzC81d<>zcGXdjNuvTjPKSM#Z^g4X_^guWOZ9c0@+C7!PMl}3%J1HYC@u&nL68 z=;&x7qZ3ocv^W93^AF1`!E*Fg+*<+PmdccROK@88&c$u~zq*#Jj^k(CD!yacJ_5`oJB(G@^e@yRxO z_g~ZVmG2kbCk~a9x4vZ2Jb%q+-FcugB@gKB;n850aoIM@CmI3;P6a?gbCf_XMhr{3 z#iuo#((-2~jl-J9DYbou4Ho-PI<94)#I`-_7Cj>|s{yIKI)NVL9gR8yeV1m_BBLyzy8`img%ZX7inc_+#(cMBrZ*0qC#6)g{wfiaLqloZ}F#fyUskl zb(yTw{V;$H41v}s#T+o@mQ;IJ!6yW(o=$?Wu9<`DtdzPvYum)0)UMB=nVDuf2hl>| zJ)E*lpH+_7NejBpQ>nYYdF`c(zAb|>CRlav)x53crM*Hg*ODg!wA?~dF=W#D1b`2e zU{WL%&)0!SL6tM8PcL<4ni;h(+Z+)=id(HiTKVXUyLs zVEc?e1SvV-LmyR_u(y~qHt5rAKys{1x{u<{IU%jZku2hU{BH3HD13g_unLcd7#(2j zdMysu0&TZ{N?$q9|7oPhV1pyG@2j-e8Vm}_8AUZ{*bnI7Z^^rsU0FfU0nd=!1`e~j z;!+xLpmmgDH7L-qj~pW3HiyBSh6#3SKR4gc}S( z9N+)!;S#_$?vILhw3KVVL+35XKUwxRr-QKPB9JbGYrv?3jVC8i%-a=az{pd8a2OQL z48$;9!+VWe5@cz@XW;Yd6{2BkZMv;eR~w~mA&&w-a+ecR&F@Qsk)M$JR{mmf!6o}w z{V;=6RZyXth6pWnb7A9*ebGSDa zEsoO+SpLJ}{kOnzCC@v31J4~PA!d326j~2YJG*W;;n76N0|TaYm(KrwD*w}Zq&4n= z(xo}b{;WQVLgj!txXWb~U0dSrjCbp{=_#Vp-s?oTNR3y#U+{P+*82O2@@pcI>apDW zvZMn$GAlUTy&irZjdd!hl474ln~fdG4NxJoCI}Nom^yLE{K&{Uy3WLnhb_EvcGB+u z14r79IJDUqd*U&?`Dx}QR70)vb@;N zHDcp~&O?+?lBn|9G~=BLftOW+KrE@2tAlda;`rdEO8e zt)^<282qESKBLv@tL=&en@=Tlq+Ob;bD|CnS_I`fkAP0By-=f+zaajnl_@>Vr8Nl8$wIHTXe$LV0ZbF(A4X-8;8DxY$3{tSR& zBb}DaW>hRyFXm{2W3AaY!IB~O3W&?cxS@<^hnwedaGbhjAI(!{>5=3kX$RU?X=ajz zw>(Sz6+}baQ;Rc8g7lYSZ*y*=3m`+CWy7f4_OIbJ2hSprOXa^=Lst$^BVU|83-W|O z50X0Jw+;UpHzQ1u;POwXmR6D!Fc3Ot8L49LaGr(Dlc@A7=E!i;?%-Z;=n+w<=4>;4 zwz|5;DkwXhUm4X_a`orq-Ws9IzmlI!tYi(5ER>=r2xzSB`b3>!w(B+8xBwRo85;_u zpI3K-X_!m$0{!s(c^VWDdEEp&b#o*)XaD?btIUxu!7vfwf77#KD&vOW9n!%mL(%&~ zFvE7)XJXnQVOTS7_AI&?S^u5GH8058%R+Ca`a;38xMín;kO$I=VH-_^J`x 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%0DspUY z+zcrv$9k9l6_D>>NobaNc-5WY9MB4+ce4I^Q4QgNB!IeTeZkDPI%qlGe3ehPvTH z`7XG%Q2{u|1~2SNBca2=5@wJ(kdK+u$HndO%_Ap{_N8yjBEEq8A!GV2SjO{#<1#vw zJZ`1mF6SE>c{~PX99sedfEC_7j>FQUwmO%~W_8SiPKHG<6u)2KwfmVU{!&X*~kc1=|(Ap#yPQv(l zS?sS(vBDxTiO&yH|By`|_pqxTjq?SZ z>u07pb8T%x-^)*5{;U;4x5aX8Y?_9e!K3`0G~1h|MMYYgUc8 z5MNFD>|Kre@w6MY8w>1K-G+eD-|%dUs+*j62jH}7!vBj=6e|CN)dh}$%clOe#hF{m z@855FdM%^t)93%sK>1R&hz$*v>%p?~;dslD5H&3^OvH_$0CHz$JUVfEvW5alaEf7} z!=S%7O_8%Bp^|>xcUMj|xzN95Q*7E61A$v3mUoRMjky1nD6ckPiF9RS0AByH^Fq&5 z3Oe%F0!PY;{v%TUH&G5^h7P>1^{Dh$?v)vn8?*g?N|dkvSE77?z!RJL!EFJ0U=QA@V^2;~T=P|@xD z=}Va&r<2?<+Mi=`TmOpPIx5z}4Awhlqwy&7#41~G-4qYbzmGGkZ4x+$VW1gwQIF1=LD*Ce)$W_0qb{s zf0nq9*1W2dA6cg1Xmry~7k#$OH1Mj1pB{{=WUbphF4gL$&k&cNL+BnD|EBYzg5LR5 z+zj15*XwAaW8L<~d%^XFPEIPW3-@QTc5Qo1RD>Wi`R+-06g^?TYi<+`NqKg`ChfIs zP@$Tg+vz_otVI9D(hdLLIpSkq) zP*AiRfXv|E?79B`t!32#odJPub!xruHKWEn0luQx)-?O;v6K3{Fe`h~wm-`650_Sr z%;$4v9sm8M$Nuy0OK+a?3goB@iwW|n0pJ6;Ksy)!I-s_!{hAb3=ZWT}4Ai0N{eTFH z(rzQ!xr@qkpda8q*|F+@51WmsE}p=vK?utK;^kKHj%F8T1hNBK=x0_2a5dDIF-&6mRsC9!VD? zl&s8^W|U99G;Xkc>iYD$xGvTr2S{AaLH&iI)BqUBW(4hbB6M_>F-KO^ORDr3>5z=& z6MEm$$=^m~SjL;cQdp)j48LOGh4?n;`V#A#iU%Chn)^ZZ5i>OFOJy4pPeBqi!Ve9z z&r-H7g8_!K+Z~8sM@dUlanE;A6|}OrH6VD>(IT4Rx8AxT4c6kGX7)d|qczD|^+U&| zaK`{6yPQeByutS=OJn3CMQ-V`Cx7VDMg+*!r(D^a&CE+9fWC^=Px?b!)VwfP*LgZ# zkh_c9$T`r7j+524;G-DFC9GQq#$t@5Mp=3=ht;#UdrghZ%F=h6kkZ!*C#lzItLL|- z=JMITyb%{eXfMAt(w|W0DCybB{r)4s&oCr_R3#Hc)3A#dL}!#S6u@kC({` z@yeC3IwD$>^iR%%a)h4-`m52couE0x!&%bXe9l1}HI(5wNmbqv(7$MsmzpcYAiIF_ zB#`hEda8dK=$p&GlN-eq((1=IHhi?SEkR|^Q+F*!7Oc>3wOPp?(w{u3&wQ-jh)t!nPcSI(HUe9j{!f`Ua; zO9}91z^$_m3ysdjlo1faoRt+Q#aa5?9iaB%WmAp$@K^~QSZ@1O2ST{`z_$CDb8Oq@ z-Xt=NFRb|-@6VqB#hHpDm%lQwG^BWB{?k3A!m=FT+|g`W1WoZHU1`XXUJ?-b(TDG& z2rO1%P36RRPf~A%^poB_&C1wXUnN zvY#&kL7d2)JqBb|-d&rBjR>5}0#<$;Z1lo6+I#G0d4IXrgS1B&c=Y%jFn&J!XHcEL zz!>p&^FJCeu5Fk1F3|Yh>+sUo`ZKk_El;GXaf|b<#tt6?d&fhOjW#7 zrz^EI^?hwyi?BD5fcM=!WpF4s0uD6^0o6V?*0FK?(?p^<88YOpYu760Pf7d_Ubozg zYeV0&`w(h)(-9i|#CLi>A-$Aah*h)B`rpWlpcWRgG2NQd++G~oAxivk`?gjro*{QI z)5rj@{d2=6GC_Bz(w60GXiM>II|1u6vPgJdrqCU9bF`t30F0OUAhLiG1BnqV0-Fm# z8(ke!A5mV^5#RiB>~%ykN00mvi|Xmg|0OLbDT<;GHH~FETAaT(FNXv26mABNMnFQN zA8UQJCG}1@oHGBVUte+M@-i}Ti=a83W13jrDVOEWG(V~}TtT^rX^*9>l5h;y$kzXp zc7Tb;+d!CDC@>AQJxVKzM^H(;)boV92aPYMA54b}|6$I;>-Q@v@cU1!?>o5QKh9Pq zd-1E1j3;ty96#t<$Cy@5(vwj4S*{npd@WLL)Msl`>4CUUy%fh?tDkGif6OPy>hQ@* z4S_zKO9TaJ~n>bR=U_v#hajy9CeO7fim zJ`|in*l_G6q3}m(| zn4FSoac5E_-?KT8OEZA}jYdNDCd2K0O+HZw5xl4w;U3Hw-w zwLMZU7@ZH{;hF#_n_2Chd{0kI=%RrbvStphm<|!p$i`$UQG44~#6AcXu}_Np;b7DM z&@EY);#xbsk%IB0Mx;$Me1^f18DE~PmT=3RrCx)&29Sx`pxRHcrJe7|PfP@!C@z~$ zl4b}2xaM8>9HWyYojINp(|t= zlbByLn#B_#ke^9~juf%lDE>8fb0)-oN@azr2juWU%ES%HCl_Ay8aa zg=TI6JKi~aKeJMwy20xdy!0~kC0LLt}xZJ){OYh7E9R=4wx;k zCLscdDUw}%AY~9P1xazxQ%Dgm(0{-O8K$f*WQA7OAloq()2 zm``S_!dP9MqwO}DTdy!J%W)&y@3y{h@l`nkyG}MG<#m2(EM-eurxsNbxAs`eZyr^dRRrV|L2;eHk#RqTUpm~aeh`=+F+|;iLs8vQS6q#`A<`u?Y(=ZJ(AbH(&|V39}*k)ZhLK?9#8`jkWwD2emnkEyaX<-I3Wt^9>`M$NK_ zv92DZmQcE zAUCtela}22V~Hc&$O-~kb_D!na4ClU1HXg|aj=|xe0ic$;X91 z`rhZZSakLie-MC0TJ_B1deg7i)LKR8;bQXzGKbT{sSGTEvl!GMQjfNnm92TkLN~anJw@3+4O6c9lF_LN?P~pMyqM@nl-1yT_qdoMZo|N940+TL zAy_JS!uy@OTtM-?Te0iQ&1`s;T#HINnQ^s4rEorOSXNB#hL}digNB#RVB^CP(1EM^ zA=s($%@har7bd zTW_b>T{NcOcphX^XArxxt=Wa$_oA7-8_Z+MP+SH!M&NQ=sdls5Uc1ZQF|YtyoVIPH z;<~Bc$E-h(B&C$;t8K$2^bgHi^CmLH1QLmzBMKY1rHvq-7o!gm4c2V^ANxsDe|Eiy zQrXl76!*dEGjbJ`*}e8QcgnP2ZEz8SVXU~fn54O-i#GQ&1+>nQ%%poifhT_|}>Cu-O z%g|k!faJs|)dHb8iyBiLe_#SiX)_%;+u6?&%FfPFxV&uMymY>lcG0yj9h@!W{~k!f zu)?{{RD#%C>7_cvK)S;?VA~fkVA00^3^DDh0|ERL?q4jx(ImsQi5MdB!JH-qZD^`; z2bNuRP_)RDb}rkTR?)w~l%>QCDcOoFgqF&@VZxp_Ijc+97F8 zX1oXDf)U6d8yGa5ND!7$I;r-#qJznrIbVTz(MrjEoS|jgP{L~H3UQ}?g!^!f{Lt5J_UEZne?XlrLEkNGk8B9x=%lsE_PmwZ zC@p8U)P`Ohn4~F-@Pdf|+9AUoL(n}A`hz|ODKc1c3MqYPXyp3kF0%s|fiS1R4-Y_V zZ%2O+nm2#rP$U#vFqVFU4Std70*;q5^W>0?Xd~BbB&rEF*>CQ2{xy_@ii=g=gnQ{o zLBgj+DL&@H%zvTu$VFD9iVNVy#dPNWpZ?~_QCHT8wZPS zmJqtrVQ?1GO7$BI3X1}KY`q<7x|LpG6~OKFF!PDN`yV>-AKu|^hMXP$1y|<105RZ* z-I~sBWApWW?@Cquc3ztF`atak*a9YT=T<; zwImu5w9h$R`ldm2N0dUJ>sfHO6K>uME*xHwL zq71wBM@lRnulZz-m#@=QVUv)AXgS_SImHa*`{Q(fQoKWLB=#xcnF$_Kify~;T#c9* z_=|!bX*akFL0z`T;v4Aq@roI$>O{N`g=&MC)G+gm$t8Ey9B^Z(@X;Q$+y}OAZD23# z_!A_j6pS(x=YMaDPOB`lG49)Cjx?mOMwKNH9lYNh@}H<%jp@@zpR%j_K1(8X+q7eS zadA4%Oi=cbd<>B}(FH>TXh=R<5#!%96UyUBGM*V5~W@Awlr^gwC6eR0Yj_q%HEu-a`$!sSeU@U5Ut;&5= z*S(?aWz{e~^cQ-`CajjB7~v&Q@-Yb!fmKeqUH8(UNT;7}@rYqW!%95sz>%>PBn2&O zlP_kjC$rXcwBHy5bCPb#8s|zMwnbg-Zy;^DomIdhCk&Q@*8F01kK&M1S!J> z2G{lxf2y~)wio^$aJUFuf^xkLYDb6+rFbBueLyEt8q@kElm%N&Z_Lz2E&XNdksk^+ zJbhORl`UoXWE=!CXNRbX$QRO1}K6fu2wB)FW{`gf|pCIi3c`go@ zOw?G0Wa_Y!nd!yg%wiLAY>&PMMw>C#QFkFvHY~zjcG@<_0HqH&IGUyN$F>cN-Dyjv zj*?xj*6(4Zx8l&-EPR}e6arxg{j&VYi3>7z)0Fc$ECz{d%dv$>Q7@&a`{Z;*ff;v2 z9|c(c^&9W&Yx)F@>H^6%(fQ$4Q~9i=(l;^v1N0`zjx<4VXO8&JPAEnGzc z-e|4`Svn+rXjBR?z>Te1&o=x18!U98NUdz(*nqe$JAABNlb^4A#db;hJNk})Gu}mP z9A7y|of~OYf1CC+vF25%LSPf`g~z7D{#rxcIg)4pJ<{2t&eC_u!~_Oe022WOt7@ii zW-<`3F<#Kir$W+_-ci~Q5GQJ4L?MX;i<@^9Vtp>SDak-hwm>KQ;K*H)zWd_DIY0$0 z)?Puh7;X@E*Vwr=?w4K_2iX1>;Xse&7KecfNFOOL-R6#m9n8x4&-RBZq3^YkPN3sO zYef@&0$XX%7j*WKPeE$ZH9J$X)DLD2OB5`=7hkYr?OO*~^Z<8+N8n!sO=SER+&Vn{ zIEAJoF=pVy=;b*+-BFLygWOeHHRK$)&1_$16nt%)WH2i8E;%Tl63;cZ?MG%`l zw+(O3lB=T3)okfzXB$OU&`=m6yKH~ZHV9iXgWkrjKUS?xy`^btmNro#PMt>9)D-nX zj#&pMipRHexoz_|4Jm#hyE!=|+Z)-#ltMA7AOrEmF=jgR{t)a`FM2Q03vlN$Y4uli zbJP?#_A{rKZqDL-xzI25l*z^L@cA$SRi?2%!n9KUJQtFKtXkT)hSRCP_N6S>wh6Q0 z%&#iHjQ5A=0`bpsttEQDwP(EWvUBfdHc_-shpwpHVwAIx^`l4_UnM?Z3`1aX%FUIF zBVPa?TPb2Y_K>;=NL)*9^>7$ z9f`cC$ueT!p&KHd7lpA3wp(C7$I2vv-0VMQ(-us_yJ@eoVHXh4V!lx)A*wMSXk1W_|W7f3;`$BN`y6V!D9 z`G{x-JtDk|3cr$)<4=e754f8bDjutD4M|G_pGyLb z3x;(vG8I8~FL0=N8-3F$ACG&TG*x{8+>pI>vKr^Sk#wG!P`=bOBz#34MD2orLK=f- z8z~CIUyNR=QZkFVFFv&yTw4%@uXqDRoFHEZr_ZVSJdnLAcBWoFe1%tFwnY<--v%@8 z-gqA!Z0bCMaF>b!d5;1pOyQ1Z7xuQ`y?SxjGq=s<*Y)>E78JL>Ac$M~X7bxe*eiFe z|GLXXg9rt=6=vz+v8p0{tcW&hmzEy>`{AHToYf#Ki1NBkALwZVHmgC1$b2I@K%z%?4nmEumn-N7dA67GL$ z8QO}|v0WB8v-uKCRY8Bz!}v-Q@8FDhaKTN_)!p_6&3{N4ow5HVWzfth3g{m`+&T2) zMR!q8J&CIwnE|ZxdAxZ|H^d=?CL>K{6b0Ua=Tp^(W_m>jE*{>mC)=l9mrH-a1NlGT zL6whieSP;Eq;!`Qo?}7552(LF#`e5ESjgzHha%e7diQF%E&Gb+@E<}(4a?q*qW)hY z18$gA+ak1*wGVBf)yyoh@QaMeCY7h#T}~Z~MHi6R9^W%L0#hTPW zEnNxUn;5@v4?dfk$qxma3~3e&5>v>^#;I6k37XAoP~7pP!IsmjG>EFPO>G_Iq}I@v zGeJ4HO3?0-XM!zCopn{W9h3B0XmFIDj02_1{r6s^53?o=j2;h0!)W_zNwr{Y5OZ}gfg7|_CbrL@*uoI%7=vQ9T|3N z6O7Iew%Q&K;fcwSV2YtfyS6JarA}Krmp&(#zEsfXyUMf{gfLxX*<{gY+@A%%>ExYj z0Lr3tQNwsD-A4Krc9pw63D^xm!-vE8e;eD3{0)>r)P7-&OZ5+mEO<2{(0qqk$mb@ePtM-|~SR?Zs zNmZ-Y!yMi~5EdqI_3hiGP8A(w&Izj`R9(AKx@rb)O+@_!GC-ruH9{PfiS_~g6WB>b4%N0?9Y zrxJ*&xNBv3&rhNHuAe!?n6?-z$fYqo&4%tsfo8F<$fZGK`3;+qUe|@_iC?#YyMf0z zY%gW#N*>DJ4GY24&&4mK?X62*1{b#|sI2f2G{IaH!u-xe1Bl-(D zlN*eIa%c6nT}o?T=&NnpFzaoB%t7E&zvF2`))vvw@vEt_IxF{gCx|SO2)|(Ko}E&H zoXMsM+TL$dYdQs&ITx;t*a{oudIRr3H{UR|RcwZ#^A=g*@rz+HK)$M*>lFBD%Cp_o zO@dMqBXaopV-RL_LEfSxBzB*7u>=Mi(m#jZA25UVUCq80zSrPb_G2h*dj(aVUZ`7? zAs+0k&KuG!7cu35-mDRE7{RN2(;6_r1CVP*XlBgK%xLwK}f-}kaU#nhnBUtyG4{uNrUn&%F-kN z$(l$68jkctWJ2YLwbsuYdkpP+I_nVoW6%UGG%-ma*A6EU-JnO5x0KU%gamso63^pg z;h=5Wx7WPLKy56yW`ydPkF*f$)B-KxeXP*RiA_7-BvxVz7!Wr(fb`Tz5&ZRQN}wDk z;cN84l{8j(mzt>SI>bwx;V)9g!d3nUqy2#*RUarmcz3+c#4vgli3%o1P%z%@U}FCO znEb&xz3ELpHMAk@qp(8Cx3ZX|{O6Lt80PAOFL@|*g@)IVX=@E8w}haAEZ!sgl#byOtd6DXgsQfEE@T3OW-rZ6gk?O zURP{%XZVxo+}|P>ONuWB)fxK;^Yc7P?|4?41el&~<#u(ok7fk`-Tddmvxa}{tYk%6 zY8R>>xc{ubET@KB%J?$?tUcBO80df>iPG*N#Re}w*faZ;9i|_RmTxeRP@#iP9-r=1 zKEBi1zZAN{;OQ1$u(i$9BYo;0;;>iuq{XZnVO!unACD77DfCc8-FICAC1ch-yh%Oj z#VZMlul&{{_BJ09Lh7~S|M$FPoY1DintS$f7I29eVQa!U0}Vj1Z#nlI_WowL5CN6+ zEI+rK)X#!6RoWxdYkVAeuRk#R5ZqYAVu{|dJAmJar0g=aUiXGZ*%2K-p%3xU{QXT3 znzd_FqkHn3*vp`TCfwDSzsludd1QSY-#5-aKe%if9q)MS{4t=Xa`%TZsBY!P4W;rh zn0j9w$1!6m12~f?dK^MF=NRV6wRgr?0f(4-Tf-UQx_n}U` zr~@0&<}>V$YoZNksOb?ArR)ip7$xjx#1FM}&P&yG1H!38`F6-J>+!(d@9+}#Xvpta z53@-p{gqpBqzm_GvvBUY^C$+pJvue4*?%>uRC5DZyDP&0TLM1|aXcJrJG(i*8%GwS zODxTB02aFU78Z;Bba+3md9k7|Mg#B1RIZVYxC-$|?8jVIe4kZxt1%E@tVPCO(feOV zH8UpYyFoJU_-ppA>^< zvhb{R=_6jjKL>3{&p_pW$znz+NouF0)^$T%=YZ9^MTOPEdnLxXUWp+ZbJ+%6vtA+@ zaFocyD?O6Mljw_jdv>~nQ~{Y**lD5BXTg8|P(y4s%}wbWcz;^Toece+3`z#kiu^t? z^p#T?=o>#UBVIO87YK{&->-Wo&JM9L4RLb%EP@;0nhJ(&cU<#elLihOYi*NrsRC~k5+e9=ZCXBS& z+XS6F9+r|*HO|wt#2#J(6)`+)P_xljWl>S^tbJ&p8tnB7{r!|kcm9l#Wsyh?jlgVh z%|58Bo8I4v04RoJ8jZWqXhX?m1BP$6$dL6pOg^s#qM7P(j2g#Z|3GN&Lp39MR0Urc zPS{Fzn}Sm&85)svD!ti`EKwQwa)LSCF~AMO-bkqvTdF?Q%S&UOLU@^`!wC zV0Rij_~~b~MW39Yf$5#G9bZR=t-*HZnU$O_uk|G|ZCaSMF;MuYpi8ENktx5DJVarI;#-JXrXfG7$jjfHN(+ECY160NW-{94^0$CCT0a=rq=G;ZUoC*hCDNP zT4M}d7kg+Ds^>2l_4QAc-_)-=u_%9fS%$!o&pE9a=SoHYa z@>4OQooc5S8I6H=kKA75+2O8D!-pe>_fyWOYK z9RM+~RDUL{0;RN&j#ExB`Zs{H3~sulZlWUS9gSxo#mJg!Dp|^VGDG05{rIh8%MZUD zm4IqK<}_Vu0hZnqG5YzBlhAhih$mmP*IJacLZU*;bvMUB+>dN=>LKUhM|~bsN7h!y zd{rX3G?)B4ck;PoBKEAwyv_R)8XbEEHsl{1i)phZr!BlmkI0;@pz=?uy$EjL{$~P4 z#dz`)Vc#(TC_`+{a(?YOTw@p6>IJToaKrXrJma|gpLpiyEM$FF__EhBb|%d@#RtlGUU)E_CNwP(^)Kg z3Rd|g@Xc|QDMH!RUHX7f^niYCu`==>cz*h@xKwcyEuS%-WZ z_WIBWXsiTjw^d9GLT%r>ck9E@q<6l+C|r|<>TU{Yy9;lN;7pX9o)h3?*Z4LR-`?LG3I`p^+5cy;=0BqXAe1ox9H{Fz zKm%n4Qf~gk0a}7TV_GvM9f;u`Km?4cfJe)8GJYYAf-Dbi!V&Od%MRD&^-?5Ryb`gd z>QdI99U9@AzTCl&v!=<6C*YwqP~t}^gmmGx_#chwj=Cu!RI-Z!zQR1R{#ND8%C`umM!04vS3OPjF}?O?>`lU`BRsO+5OWHdh>4|w!T z5j^@;h5gH%7;GxT9=SPD{q&3Z`0-mgP7$OUTuDsV9k${^_sr!tT(jtT_TS zIAFVVR|1;$7jOF9d1f)iyoiY5lA}GaVW!1K2Yp|R{_}9B@vAxw5WOM+QD9oM0jj#_ zf@1oB=YyPZhs&fENH*s->xhC9Ui0L|R1a zuuB`4)Dus|K zX%6weE5wUrl7sC%@@a(g&HEUE8USer*gkvL#Koru^~)4As#*~RsaOP6-5oTxN8&4~ zNL1+rHhhdNAafFjs!|Gvvp6w zp-wUHFaKf)uyhtoVaRUZa2Awi-fDA(sHe+;0G%IIVKwS04K8HGo#dE{e`x$>u5_fH z#u=RZW&yFKf86F#1@3ts%&oUIO_n+3j4%(QtApI8!bDSxn)`bGV0flK&(hEFgKHhCM@`T1 zT`>9!!W{2i~V$Z+!eUdbEX1G?HV!TK-pNEz~+A*;|Uz6*5KeIdhRFnBBhAGS# zT;Ey*bfpS}+k_V7@bThugK9F@H~}`vlLz|<;H9e;nC~j4J5{`B6t|4S zjEJMr?&q}UE}#ke4I#d}!zL{e{@q!~2s}6h3;_>K5Q*;4h8k0Wi8mWXyKGcaC`h&3 zWtbjG-??ING;oE$UnY8XbZs+8P^jwY#-`*~V=zJx!<@70ZQ@<-X~X^0jHOR6?N#53LRe?Z|yS zLRkkp8Tn%&1mF9Bp!!FE&u1}$x6+f}WD873=}PYNCw5G6r}JCtYFKS1Ll(9_BOEcv zV6bYqTUb05m+*?>1a8%BQ;HiaK79t3e%N=lQw#d!wO8#29s-f6RS=Bdvgw|xf#jPO zW5nLI1h>Xu5UmxY`oNRHwh#TJ?FF^qxH;1Y^ zxjdDd`Ucx1BwF4bn)O&q4*iWfl{?$3(zD8h>Xw42FZ4Nmeo-MWC@Fm1 zS`3{Q{zGV`6M%WV7E?fZVO$H> zj1g=W)we}C9%FJ8_1Lxug}Dv&i|`LmzWW-KHru_yNN=x_ry))phv$pH$qGf0DgE)> z4pMk@KTA6&Kf=vGF?%ONq{pF=a7>?8f%Y`or7Ba(HyFxmEB7DwRhBqj@_C0)#Dd{pD>yn zdfhQPvDZ*aE$-j4Fuc|=;u*j9TZ#j9S!Uf-Pm)0+cW&K=_>zcH%#g9J4B$Bfqz!=w zH(@^!Pi5ANpX3x|N%vJkXexgS;L)9rF&JNvULcVIEOPxJW6$jKFsi%S z-cSd^Fu?hlGXOSd_zv7a`YH&?1OmnZ5I`{i$PfSD11ekp8-dFC{|{9D_XCwBeDIV-ZoM$e?9GkzH}E z751AN$5+c|lvMhPH|S7xH12**L9h(uS z0IRukN@n1iSc(Q#Vm6PsEkR4zx7v&Y=4w$iMpqf_ax?-6zzpfkE}P#~lfR9f1m6$# zZTzkef&rMEhES?f#*;x60xhjYJs3rP2(?#6~N@tDasaY?7f}g!l8$DP$ zd|41JB1z5JjFR>S{Ic`}4yY0&YKNJylFryE8dK4Otp#hYlT5KN6%SJPR}Q)+{RIEK z_}wS5?xjmS19M2np@ZxNi+rwjFvCQDUjiFt#h!70JWnjfp`^($>MBv-5#@={I;?-8 zk&yeSz)OS0<2*EBk8G2#`t6*WvHjBz%WE8Ixw*#U=o~wRCOdlWf?lj4ojIc}{ilF> z4#{|TKjpJ}^Y}mN?j@3zmV9#_1X)z+Zp+6A)w*^4OhCP83T++J6Y_zev zP}?%OmTs@U6*w>V7_(qvcLM*Q2xA%X-1Yh72Mp(5dW$eP?w(bC@0&ei{H>SWko|~= zE4+*ywhR0@K$g1dywJ`#!7lC7ZG2-D(l*)?CHV-aKEJ*J*&sU1%7=qkVI;hb{|5b4 zeGyYs6t1R;Q!gEt$+2}S<2SK1TEM0iv%4ax(r!?UVJyYmHt#NJegx$vw28A4h^}$R<3~#wwaFfj=lOOz=a)> z%@=xp`*Zgt|D3s^-_f+tHcoPkERp2aE)Hsb-fo!6;ZAO%C8Y!w`&QK_oi0;d!j=R| zNT7_PvIfXZFP_T)qb9FM*M?V60t|9>H7gr9iWMa&^03@O^a`w<<=e|EJC zv4qb|fsSzK8B73)zkn-Bl!EPr^HpFJd*PP9UCvDz4W&U981gQ6r4JTY=Ubm5r9f;g z9zK+8RFwFB^L>wRSA$e^{u~rf}l7euasyI!_In9i4FG}stBg%x6Z!)ooye_b&1w`-6j)$f34Vn zH>@Fil&-;S{v}=EfxM-TJ%Vq<%}Ot?OD&%)XEx5`9g#i-sem0PWD$3frbP1jCOa_+ zj)D8QTvo!8j`U%LP_cEDx9T&~S5`NlPa9E8GEk{USEa6$d64L~u)IDi9seKfo#S(6 zZPewHJGO0htd4DUY}*~%cgMEvq+_FF+eyc^ZBCx|nX0Lonwpv~^L}`1{)Ka{v-i68 zS^Kw+^Au9ni`}vsX|nrCLQcQ%2)La6JbLUJm>82uYQGZ%Jq^BVB& zgT+{RKkP}k-bYeoKE6^n>Qn4KK*@l#pgc8J<9A`dd6V@Qibn~3VAtl09;aN=)bY?Z zojfLybO?3tzUvsIROQ5lY^%yNQBUbcf%6)%0l?}v-v#y3`@Z~TDJ<=4#)B$gBo;RJ zvib*QewyNFZs>`g`hC!utqQH?r)Oi_U9=>iVywxzY#O(Q#bBmjqIyJ|e1Slsc02s| z9HciUdw!jiSA`K2d!H;@pi<2dNSDGd=* zKW}!Yzue>KxWnTzhPaoo6j+3q+SSIJy++zl5$`oMOAEcETy8Z>z86R!8jzxczwSoC zn~ZYkvwO+tc(s?#Y(JyN4U-7u%co{ektVh4Yl6ZfH5^5X9;J69>17akyq*2C%inT4 zi~^ZFY<`G!MG=A+-ZJ%yyevL*ZFn{Ey|HRUtCAaTf_^H%1b15# z)xPF%6IYt4JZuZsOtaEM$_Rb7{s9MI zBlE=0rjUPm>updd#ME_ET~fBe0VF__I2;r5q~$x7U38dqYLeJqnvBW%>Sq&W{Z@w_ z>T=Gfpw|A)%T*JjpQh7Gyt$$}eF=GBNB}2#>iS0<8Hfe2vSO(;(fys+ld(Yblj3 zu76*-;_L>=_2>VRe$ZwV-+HlM|H2dPc#_+dk!wbCf@Iz8PeR$Ux$I6o== zSRFKVLpNKUunC1Gt|P|BnJh3(36Mqvj;rW;b+{IRy^*xP>A2wx5w8Nzh7SbEB@xNj zA{$3%S`>m0u%hT+opYPnZM{DaY#dyfsi_7X_VF;ECi2@|*+Fx+JfC2|Nnj($CjsKY zP?0v^)<`(to2x1^2!rhL{O<%|C8zuD_2#JyqKmuz&=+FA(nuSX?p$>)q-LoapmDIuF`d`w1!@iuH#`diT7GNv3r z0=PhTzp%alWuTY6Pfu8=kQkD{It{*CPpG94jYx`QPnPY4H`7ppe6$~mJ%4CNYJvwD7w|2 zs|#YP)n$X(xhcF=99-G6A@?s@$j(s7p^!He>p_Hy&#K(lcznOk1xu-q1D>en)#!HB zf^*P_cuvzB$FczU)+crbWsK;WYz?mDp(6_c zqEHeW_}dm7_In8zj)NSI@Xxy_EKMa-zh%{A2 zidb*m<5ncjruuyoy(^by z%a4@jWPTL>+pzF)LbsF(-e^qIHr=kKpKfc3Xy_vj;VmAjsH!$(%?!S{E$pa(4xo^< zmtA`GjwRPXzCfh3HezdtxBx<*e+i!-h(ytr==K0;^rsRr@^6;kVTy-ZxnqSd8))Ek z@Dcot-5a-XbTX6qtR6DO&!p8E$;b=s!QZ`;@Gp7v>3to-C3=4(W8Gf8knjuqBrT@G znvPQUM)I?d%8jw7JzCrtIvi^KH4Dtt+V-u41F>jNi2KPI&r}W|?Uw5<5+;-nUJy0S zq64JYK6aF*ABv@oYlUhuS9cMJQFn~puvKOdWGxFCh;8xhQwTOXi$}6c7e{=}Y5%J9 z+VRuo1FyD^>gTIwNbLzd2r9XMak8lFJ}rUHbG+F5C4~4TEcL^UGcPv&AprU^8NT-+ zMc2;f7o!OxyD#(X*+B_kUInbjax=&qsYs9BWzR6Z8La3R6AGA^d_iZm?GHA^oKqI| z8*qNxi)1!JVYhVZMbW8cFu)f5{eZq_M8w^1{`b?)MF3zWIiYWA^UuX6}-6TMW599_IFQ$2orRbhY87TL%)v z*l~2zN~p3f_TOPUgJ&Gy$W9+P&9_b8etKh>?>@tK3Bi5njBwD_UK{X6w2cQxl;nSS zGEW`!Jr};dA1EL0${w0S0jFVbyR8(6(`yYl&%NK}0#MX^V5v|Rz{lFRSz~4LN~%`L zL%DN!=BJEbHOI#)rXuof2rZ_;sc0!5B%C`>BTz;CNAVnCS0}I7%sCAQD|D6#lq`*Y zFX7+3v4p!0HN<0Eu42z=0fcR$pFi$Af6)@lJmq*T#eV!KRsAVODF-g))GQ4`n=C<1 ztaNH~+3?pZrNmzka#5LVIGJh!?z5^>amzBE3##TP5;n^0qEA8m1~)37sZ=;oEQeCC zJ+=RR@XV8&(sad9@3B)#iWm}r0_Z#Zr#+-HoDAO}qsB!5-ylpaKNaTu0sW8${o{E! zO`EK&Z~l2!0IkN%Pf7^=CJ8gEUe}F_t>0=Gs+MzD$Q5+cXmQX09|g*a<2_3@1ZU)6 ztoKjUu~fvViS%Z^31?2!EGbvv?(#IFMmmON?_uh5O#agwHw|oZ6}!~Oh-gaZ5KiB* zbzNa#cv7t2O>E_(51*sTu2M4qUuy^CXE(h$-4JhkCvFq3| zvvD##=@!uJ=;m!T4{!mo;d%3yEGp?>lmsfHO0$}6Pcn)Z6>l+$@h zZr;C+?Z?CKa*_oVQY`xbpKF%am9bRSlgH~mcKb{SV`ljajsW}bNBM_(FdqfWF-am| z9@u$=bAKv=d||RJ{moG-9o0apju2^U6nNB#L1`DsN?^76=3E#{AfUzjy!Ha;`0g!wHU;5k z5-|^w8d?Ylkg?YYQdi@&ClhJ*)h1+Ju1K`@e+2$MC@z~<%w@s{D@r2hPXio-ne>}o zSHDPl8>9eBbU_F%j&4#6W_GA*a>3a`h45-}sZA?m1k{KUK!4H7qQm} zDp$)=4Z*C2vgti>jIFt{64;S1W zf8n-h#W$l-T7)~To;f>uD)Q(i@*ue|_eNUbKtlop(_M|gA3cq|BgyOdp^5f=G4x!( zMnHWw@Bb_#kpChTZ*5~Jbf$g*A&c2w(Q+v!BRf6fym zy7gZdYDbOa?Ld~Fry-G_pto{p6#tq%QV!2S5mUy|02;tqii~wou~pFUik4mz+WI|r zoQI)HDy8V6;jvkq03wt4p|;m`4$Fp63uk8TjHpf@FqXQ0n&SLr8}hF@J^N3cX3dZw z+C66PsvJU_)O<5`%wde@W>jy1q<`8axg;dL*6frX93MP|0{V6^oU+hITpup4&YUhE zJ)-2I0$KgD{;ASby3zc;#WVOZ8{&!3Kl5!wS|Z7nf0wqYiO$W)li}LmbrGg44~fNb z#IRZb5;f z>0>rI*$JOnzLH-De?Ps`RF_|iQsvdS)5QgCwfJPK9&>m7gdOoy$^)6Wju&=V!ba~C zmy7}9E9F$Lh2BK4%MU(r*L=1|sTuMIel>~(*b}=&`NsX!NHr0%Ah_!(2gG))Ljps5 z1jKn)42DZdU0b)fH%WSW?vaM{jR>beGH$-5d(#2`>k3SIg!K?mrwE(^2`Rkb=$y`T8WLC6vr(8@G9zX*mqzZ7)KvL0wt?e zh6pQ&Jqv>W!&R>c>Y$$}hD9Re#|f1f3aGQ%m}{6+%c*Cd@opc2rdK7&mo$N0qKW zo9<2?Rl=Xm_Hng{moXChAe2B*;7GSH62G*dBk7eXaiXYp@J0xCI_Dp1VLWBgJdw`6 zwITJ9Et9F1UXnJ$-sc})KnDq;!I@{jzj8TX1s!mT<#&qxRsp&)t^@1^d|Eqw3Xw{Y z#=h_~_?(k{(^!1Jupm&Z>m^Xa1IiBgnsYqeF3mhSl+0C==vF{G^z3Fm1Hc|WB-cL? zMd{3+bd(w8X#J4X=~OhX+^Wsh!7QoXx+1yyms@YDjYf>b?R|M1h(A5NlNO48Zccy- zz<{HlO{@6h(5}W8I)C2We)dRu zEeNL)0!v?*8Tcz1=TDI;PXQ|@tS^DHER(*YHBrWC2v&HV6|qyGDkgwsIEZvh1n zJ(r9^l*t+cDvl0G(BkAj8WKg7vvg$QV~&sVTC5O*GwbhUUG;U$Wfha25VWoaC@*bE zuN4)|fKcPb^_Pa9-fC=rTha-=JKfpb9hjfIKz@VE8Ze-Tn$h8GB7POJ5%6X`imyTz z4<+xOAz7@T>}H)F326t#x>Eascg8a2s<=0ShL8?o+EcSwkl>=5NQ|2JZ4X^7Y5T{h zeQ#u1c^$()YV#;T6Yh7!Kjc)tmV2<}^3EW8VS1DV+P8F^NF5{pZl9|+ik$u&&($FrqOs*D%tOZbdKr$y2b!e}W zP~Wzhu4eQf3pRHWozQb8s7}CbG*k2kq*dFCn!c1W-?(3UZZf8^iPnVpa|_Kk7jS#U zXycj_%K1Z$wes?s$lr)?NVXhPT~9SgT*ekMqR>d0+7h)3hPnBD$x|P|hRs5ZevPG& zO?+C@x(5yQf=cdTKrjihLSCxsW?>){0hvT1H zajNK`Yc?mM(+z&VVGrbSB5`?|%yg^C=K64t*jAm5i%Z$HikC+WmRVu#`!1uXPdT~S z0Ta70VD=^$MS+(z8<+-Z3oeN|ZIdhVG(KZd6KUb9RN8 zKaG$bCKSN#elTQoXuXEhzBQG*;La5rBGfZhkr}xDEI_~caR;myC_SgEzFp>nG))=2 zOoo0{1*u4z1>uzrd9~I$!}Qf;6+zl46^TKyRFn&6=B{W*-1I{z6x(GitvM=7eH8GTr5-y`0qU(Gg{HdsY3ZE26cT+wK9w9UtB% zNit>Yz|l__IRTh@_cSG>%`T{mT8NDKr|)OJtxl4EZ>(?-wB`CJ)JPsR{n?a^?a&U5 zfBx0k@UAa4{CP07JVvxNh`GL`k_#aw3Czx-dqeTr!34S&xTgXP7rS?6|My!Nii$%nxY9^12CQ@NPwx4Y_-6zqB6>owS=(tb_UoOt*I@is|}`#0kD;QTA% z7Ks?}l|-6y4f+KX{vz(pNuv8sRbLgfvDP~s@JsUE0Wf|~*HP2v%_iv#f&Wy-GfH8g z^?f6pip=74P=ftSgY@7&nYrqHh>1HviklUQ$SB^`1%jh#grPh$FeJ%Ds##b>o_=y< zgsVH4(Dr8B!Eul|U>9HgOjmka*Ue_plakTi71kf(5qHK6#AEDye!ms_8nSY2wzaym zdHOQHumDv2#iwB)@^K<&GiLTNqKaGYY4Sxi(AK$nGbCAp(%FX&W=!r}MFR*<jnA-=5rSIhf(RY>$B1X12~7t3#* zwLHOF59P4*K?#buAW(>4qP45xuQthd5RU-txwsu*x&n2(jX4q36-_xF#MKctHp;o4 z@r+Bsc{6u;CKp27mydUVW}Ezz!+n5g+u6eee&yy#tZz`;H^BhgkD10-eb1$l15=tR zvJ~&D<@xeYmN~}(U9TG{{LyoH2vG%AvxHFiggtq#C@~IcFt zYM|X7alvC{Ryj?=le7XaQ=wL$+f~aGbzSR?G5@qYLFmW--tzqW)TTcE?Rf6+U2GMJ zrdgX8;a=;QZ{0JP;LgSo+8DrQj>To8?r$X6DpwE<{LGK9xuYe8(kGxv!VM6u1$Dnq ztohvr%yoPwXYqH{3$YdORU+x^zgK^6UU1-_2wzb&flDzW9q+_{adW?>max#EF_z%W zVTWs!(VCbXX{U=XyWz1^daBmc1CC;T?7A$B5qqZz{hIy8@D{TXm?#Of@eYCd{)zkW zmaiBD7IoWO%{b)w8P<9e!4S2>BTb0PnU(@N!5H)IvY#iZ-^>49{k##Um+J0P_H(bJ zXrHz1afkA`Lh?W_!TBEbu_Jj=iut~6{l}Oa=gqjh#VcFd;hdLh$KN&(r<+5wkgDJ!pS@DbUS7S?TJB zT1kt1jRG-vH_&T=w;|=Qi0CEMvvelo!HKB&pj4n>F#gyPna4< z7zLK``j0oeY@%1Vt`9+mul&}jmZFm|$Oe7fUqkU(>c@hVkUzkI=5f>WMT7by{aEB?Ki|97+*xPAhLqcmbgU6%^S~5!cG6O9{6t$v?P93$Q`&C<2X2D)7j(HNwbWd0S{d?6TEGBu z2%yj`AVSq>jo(L*v>qM|wcv~p>`T}X;eH*N19}GAT!ow%jJTQhV5LApB!itgF?bRv zSq5Y6dS=Xf@G#d5+-r5|V)03W>rWt&#$Xn%^>=5|9R*@KsqeA{^so;!;d)XS9XDO2 zPZ@B5bmF`lkqV z4F|*Q7qcCTI9tu7-jX2rv8gVVJzcr?_I?I49T9X&4MW0+5%Y3!-aAii+e@+*;03(MLew(D1I1 zT*9pdYjo&1+>XR9BV0?lKhcx)TzXNOfn*#KZTkJzH5@+>X#sfcT+1qQS$-SYVt?`_ z&NT@6Xy{IsZ+f6^%Z~W~n>}Qh`S+fO_wDQV;8#W!HE;lD)pm{jVO^i(j)LXH&^_rl zh>v|HyGz`v>souE=C6fmV;dI-a#BB`3jHpe2Dkb|yY}*#4h>jxCacXIG|Fo@vJf14KCCa}} z*Qh`6DpbG1am;vF+mRx4)zlcUmfI?i3u z(6rg$g4OgaZ|)^v!2syKYod$b&$P^($iy;SOll@kUfyUT;L?#~s@$a>OgirSE7q;T z0o=Y)j~G0xa%f&^KZ49Z{p$|R38~4DN}iUO{pU*^8<}duwSlKxt1DyL{@#I;&kM1u z;;pfJYp(w_m*`t-b@DMgL#O$c*8mx}D{OAV>54z&S%$y~=%>I^g0Q>MvZx9Cfpayt8 z#wzZ$JYt06+Zy^Fs}a|zu!Z>V1P&}PR$JSJqxS!T6mUO^{QPE6o<62qFJFJB_n8x> zj|&jTrBI2ZOMQRcq(-xF39#UdlYU}DAK+2~&aF;51ZJSh2FA}g@76tyc|yLUNN+jt z))`n*?&MtIGKP)*dS|XocxrAv5;|dtgZbT3XVD4bYueUMUzK@s5f&_6LM|I`7Z&^| zEm8!NM;97E$bd=`pBi*2?iG`gLP7(u0o_Q6p#fl#=3pMrJdT(P;B8JviP#y zbBDfgPHkKJItc_(aTVcs#f#~nzpo!rqxW+Ud!rg<&z@|PhKFU5TEUeo;25U2m4oZJ zWXR;#=4+&b%QYJ*tlCAsx$h9XG8L&)Z87j`9Mp zpah(nAs0&s@A{A%#Ume?`abx-rz|AC??(nJAE5bc)OeY*=OJtH8f)9G_&eM0l>IIwh@c{v8l+<5KdCN65 zh@}$nEPeII`pc9{u!9#NR9m$X*g69YemQmKQt=d+qUfp@sWjf*4M;Zdjfg4Hz!@rG zL?-3E0gu}~OR8=%Je&gM5|%$zjcY^SK5btQ3|X_{w}&HZjkWJMB^Id@I-(LkA2>># z!Fe1fMo&#^1DYUnstqgQYV;llQhW+rU!e_aW)aCrYp^k~lhGd1OJOo9qJ;rFWfMVo zEX&G^gQX!Y)xu?E!595Frl&3j{5}|3$QRK9dPYt;F7=<{(1bvqLFcc0K}=hT?g9w; ztRZJA*@XL$X`C{tN=SeG8H9sEzoOI``ldnfR|Ab8&#>s)Eo0^M_<*Mitv7?^l*{^^ zLai4T(Qu$Jx93b-*-drkaY+OCg}zrY*Ld49LilT>sOqZ9shnN;*Z+EMy62D8I9|>i z#e#kn811`Bx%V}3?0p3S7lfb(A=!kI;I(UL^!bo#0DX$S1g-sRa56N9b=Bx##V<6> zYIEH!93RN1?@eO1;=7}XSQ*?%cRj7&S)PRVc{PwVRC=A?BKb1VM)rh(X~o3O)|g%b zX*xTgVoQH@{1RhDx_?SLe+QWy9ncPxG!DkhGkHU;^h+*~CGY(n!gAffc@AOupci=D zaOTF-#$}RCCo!iM1aobpd>0^Zcb~~yH6)(OtH9+%=s07oIiLRbV_apXW8}V)?OxCW ztQ8?fpK|YWK~L}pGiH$wP?1l89gbW6T94Z%`;y{rh!-ltHUfV>0^!P)k4Z5ZEGCBK zvDh<@2-WW1ZqbDAP$c1<32Z&3X;a^uq08D^mgu*224%aLC%e15zL2lADjm&j&bCYM z@!phC39Ki028%}>h7grz#(VNzap|I1mnOs`PJtYhXMkY+gEBlPaAMR}qId)km#~9I z)@EqMXmt>>4__;_$KYHwL0_)jQX5wKBChxLBF<5R?R68)m#u&RQmk>{g$4OyZzd=u z(F?b^#Ovdu^R`9T&O1646?VHqL)%NhhT4b4W_tIc=%QhAET8?oJ=34Q5UKTwjMa+a zA>$tEQBG|`(3y@2IP8?&@3FiG3?x~p|NgZPRe01L6~sa|0{6`@(17>)&=uZGM*HAF z%x*IHJ|KII4~X7%_BnN_fZaGCCcwn|m_N)(ra74NkPn>&G85jD0)SX4m?XxvFBP<^ zy0LvB@!;9e4ejhX83x;2^5k1wgrF%6G}8u-(K2;BF483fg$1bQBxwOjn_0e41gs=5 zakv>QM`C6`lpSeg#Km3;Scc~&SEmU4D%2YIS~0mNF=!$zb1mI6==X0-aAh!HrE<(M zF+X-M1#>g65Ahy77n(ELHyd0}k9{9`3PgLtiZ?%8={*vK6?%zMgY`+dC=5`tw_={! z(rkG2sc8wRoZ?X{1ci#PU)${_*R|2Z}KaFtD$mh2hM|5Xn_ zCIH5N_2r)>&SvFA^XIn0xG>zGO22OI0w)BH6IjIAw^pF88=c>C>ZkL zLl&GMAw3yk2e*fZ%gwuduPF5ov@}um#kl10;bGi9y5^a`q%YX|8<>mhCS{3{n`Su? zrVAJ@5XOd$tr;q92{lhZQ$w806ibl~Q^E?@Q7NJ+WAobOj0#;xctWL{J-<(`Vf z8E==HYqS_lru!fLX>z*Gr&v{_WN5MI`m_aO3BatY+@TM~49Z{M88*f;HKOr>@6 zkCO?Wt3cOl{ilS%H(;iAqnKkYGUWbEF0y|St#xFZ!g!}b z$5fSlNC>t1rfDMCuy~|RR=JTi0i|++2X}GNFV@9F6H}LP7;RwJj0NM`nskShP7f`y zPIY5nc8pS)%)}emG~piSQo~;$gyOE|A|bYIg$>C17s4O(g5RJ{BG@k$%vY?z@WbZbl(nbyC&_dadAyPz=;RNISg5 zI%xRa27~U1&fCu4l?&AeUg_cLn^4&UE(%#O+qc@9j#&;=?WF2XEm%<@rqi--#K`;o z2TAsZc$fny9$1r_On<{bD~(KmvKq1^3G(fi{`tlBLh*wENDMhK6pCFzAdi{#u;As# zmN1E}=K%Sf_{pyD5$J7nIsQqeoiM znIQ~V9gYZ$%|*)+4A$g_s>KggX-PHoxyZBDe5 z9CO=km&&Yh$x{(`0#%YSb0ck$wwoA?{Cj9K$zXFGh9(`I0MxXxif4_?DqA4jlc30N z7>fAw*r3`d68^Hu>R~*jgkh#q(W}IZTZmwlQQ0#fRx%tuxtl^?n!2g3sm+h?w-uyT zdV&_LqM7?43dEeBlWkXT^jxaftertvPM+{itXDJioc&*~K<@n5ZR8s+{8orL{3uFr ziYbBB&MBO*DvJL}0cX-h0?@py&^Z2bS%`PS=hich=zi0*wu0(WGN&6-KRdpr9{EKC zvD*~bz$i_RV_++xj}!Q}V_Mp1V2j5xkIdS_*xIhXs`?z8)irTQ```9zOrY7M6(@Sjt0t1Efq}ZrA0Wt#x;Ud)i z;ihP3Mv*Ec9qV#$K*AyGs?xi;%DeZxS!V^rk?~>A>1(@XBtw0mf*iy7)}MgvpzHit z|83r6FwfR9gQYa4K}h(#QHVz;Nh-~L)^4Ej><7ub{O=vIWKf8r?;@yctT`d^B+kFq zA5Ni+f}rN!0-#GSb}Ry&HJdHn`iPwkOGGh5-~7aV7m;5wB?ay@e{Q)8;#^N9{TZnT zqON4W5;jdA)1rZKBBD>OLPhFe@28c=aX$2?=e z7=}5xt&nF=0DcEYDj&vF@BspCW~Gl$<2!u^N0mr4d@@~bwildjld~xbAAK*IAIzH? zg6hNt(WE@`JZ0Q?WVNG{spxBuyT$Piyuu}%d%A}!q%z7TcEZ@S*%&nb6U6)n9_!^l09#U>(byIunP}!NQPK2(KiRmi2xgOC=?=dEhV2{yVUb zKIuq+?1gK-!u4q2HTv&ec+~Ih0t%_!A9tcV7qAr5lc#@Mt8x>r58=p~Nc?Yefp|}c zUklXGQpZgo0bmvf`qK#lK((BC!oJ<>Hf*IRsFhrbJ zvV{>-wLE1t-?+sLmY}BaB)ss$;Hf`Jd?rX|pMu9pu*5Ed3%^|ip)Ud{9q}I2Nf_IwvszokB zk82Z=Ztc*{lC*5qG%PM1?{6Q_mo7v1U7k(~Ry0I}z_#cmUL}gnNZKztz{2jtO4B(5 zVg;(M3<~9Kw(=`~y3n!~&Tl2Q@fL_52kWkjT2wZ)vBoIjgL~KX*piz~sWbDAH>nXh z_8}@b_Df;`qPkI^7+YQcI&Me*b_PtVuQocC=jcawzI~0H$qV`6uL}PXU)suO17Q() zl3BZ6HEqhMbweIln9?-#4(h6K)gyt@k%V`QxHSM+lP`4eFK~ED;jjEn=4jwC|Ahfr z^;$we8RtrkuOPAMKIP`Q=C-vuY0HIeA*7&ibagA={$<;6XrSS5>d8P^!s9#wk0{Bs zzYOuH7VOIs;(;B6E%r#~+|M*CT|_(Z33*ARdWVU5K|hG4hS%5A^9k!8hE3HTu_L}k z(-3~>Z4FrMR==E-b;Bk17ZC%K%+J+x;jY~5h1}l-DRJP`zYz}-r#Ncl6v|(RJFet_ zI+TBS^*1Rq*=TdpUJ$PwRr5gn+>AC(R2U+-C0gEO;GgE(<&r6k=Zf==zz^0oL|0N* zjWGmFc8#_WqIDrywj*^v%K{I&3J|ys@<%*lpG@MxtlkE^e;w=c`&9swZipovb0vu; zNS|BjM_-x{@f zekZ2QpXHCDOcAre&4^H2-5ip)+d?h=GetuAorqH`;2VaCU7R)O#)q~L% z91GGmjC!+@EiQM->&XN@{^7r{B8cuE7ZS#T6_|%8(Yy+phdjHC$#q$DtG)E$zyH-| z3_#i3`|Eh-PbOJ<1-DYr8FCdsWF{8xpJ-q&h^*&+_YKHN3AQ4lUTH)XGQQO#F9OE- z;-`!|jEgC7NiA7=L!F(l#r*BAN@g4F+eTxIsnA|KlP4*s2 zw;b|Xzw`8o_EpyB$;FEIO%yvCgFYf8E_$+I2F&ZfK;4w-3j6gGONyO#%Th2FmgI33 z-URA`9k<)6?B`X@RD}{lP^@E(VklN5juf>EVEHTFSx(#Mzt@=~K7jE5z#IVoXCBk< z&(2+S;wH3kPsg+8ht)JYJ)vtVg-nS)hr9j%CzK}O|2?MZe@|&DGhcFmCM;Em;T3|m zbIn~Ecs^Vet*NF*XSjFsd^*Pg*@=VsOowb$#KjUJbxxLNxZ5=<`0}{und{Pfz zzB0&l3IZaV{azLo!4r_b*Ug=UrMR59gy;Dcajkjn?JG#E1i2?}v#teyF36nM4LlwC zd#KPd@v|dUI#R3!0XRTil7(v)#e?qz??PG@Fmhv^CLSD)#j$=b= z-YjtBVoJcp4sI|%+2f%Ez zBidk42d76CQV)o@-a3nyHmOyW$-Bmf38oOylCB67-^F=Bjk>7!K>L@UxgE!%^$ty7@W;*z0aW>tK3D{OcR*qHGld^zidvMmmH zz(h%$aUsjq;DR%vN6BIGgS~4>;l}-$BDcA9dsuP>W0gCJI5xpT1z{mLO@Fu^!{@B> z5>?m5jb*>!Jm_hmoH<6sIud%&iSk(JFtmX`;TDfNIFe(%L9(MPZk8ypV$<{-GO!i7 zHnCfVX$wG`QOj~N@Y&&FEay?kQHD()ATLtc?|QMggRF*yXyoAxLy%S{wx7Q$ycSe? zm`4P)dKMXb;CcezIgT>r=1NqYAjQK;N)fzKm#!~FpY_~U!iI31`xoMLIKFM-c!r|l z8=dIo2eTGFJe={;Rb)h6e#`n`;I4kJxJIjYT@=9$N}lv%En-4Da4Ga#a5)Ww26|<( z1w`>pu1vsjC6w$(5~!x{P0#MZBtk|PsxqqKdR5Neg=z8>vkEa|ouNyE$*Wvp(MG-N z7u`2Hk5FLxcT|-qm(|3f(``G-aty3+8peavI9NNYuv>Nx!sHaV%J~eBIb&jmRB3dh z+e4E_st2DQdIyj6_+?muz?~y20RxvSY3;i$@}1+|BB?8gFYJ6)ynJ!ADRVF{l zHEtnAw0DH|hAguz8?)3D4gcM!f+xxkgpVu$>jEfmXu3`=0aV5W)-xy`i*dXbLR#Rbf z^F&72!gT#*+Z?=t>pqE+r!0==uBJHyDoR)M?@HJhLx@^oM&XeCihc&Us2{NL2*AUM zNZ4N!DD?1DH?Dl~%_<23>gfjAd0Y^>M`l=Nz8tny3^Ux$|3H^YJMd6j;2Fy(tjO^n z=It0WyT2{NY?r#|ZN7VzZIxWqv}pr)+W_O}64Kz%zjGG*Ymj)$sOv?mNGJyYn@Y&h zQ$(5m_z16@^u!-gTL!Qdk_~W{!ArfrAy6^S);UC@ko?hqg+yh@0(LPoKPeHY7Q$~U ziDvjGoblfmoj2RNFR>JVd0#q|ca3#h=9P?9-X2+KnRSI>g7}R6XuyZ2E@zFJCOg&5 zxu;3cC3};6K7if@RJ#Y{Mmk8DP*6f+ z$gdr!PB!0?Ts$6}W^k<2$`PORoE*Ja(hRgflbF)jH)3Fe7A9f~#>ddWqjU1MLpaVs zit_!hlM~&cWnSInB+(NTEa9I7FL#4NOa76xJ>D03DhMiFj`7vWQi@N&B+a@z{WzF_LRYiJU@*h|HbtQ)se}JrHNW1oX#*Mk~sI0DJEB$y}QcP`peTzSbI6{|{R zvFp>&JRm4KUBtCA21=0?V#QwKLmCIH4^I-l$G9Q`oWR3!^4xczacjFcD|{eT1^MjJ z;kY_>;pDtMX}72_Eol$C?U%p2LS6_(XV>ofE{^B%M!p!`P)k*d)oN90l8S@JaVn9* zKfFoA2R;#JJea-O2#xD^ahXkhOaKdc9^m!`mYpm2b)m^djeH*Cg%Ll%!65gkQ!;|I zv^DJt_2u`exx&iHH0Co}ccztkz**!Hb|pX_ehuTu4^QE2 z%n!fid_qJ7(UVGNDi;+zv6SZqahCKdJYx8lI1WMQv;8S0vnzdGtx&3N2aXg4D7|YV zzlsTt};C--v3mrx2hB3j6wP3D}o^|X_rJ;>Q(MA`w2 ztbE;$mSri%wAxtNd(!O|$g)SBIc_=T`zN#O;_HA-B!Hle{4Z1qb&+q4YZsEApf~#? zYp|v%yXT;&DWEa{OaL3#fA}6#2zS8Xff~>o#BDzlGBO|bwijB@d++`84PX}0kK+@w z?(T**L4)VVR7@758%dZzdeWXdao~w@C&+L+1fDG&Z(azL6{VFXTv-2vf1$D@#Ho#b zhf&rak@9yrsh?ZWfyW4#Hrr-5R?*~5MWSa2)$%|m03A))cPw>)1K0nJrgI9Y-bZjRb+qOE^7u&XNb?kI(+qSKfz4w2fXRZ5nvFfc^bB-FLvE8b&lLjE3`ZERm zV*T}c9^{Y0W^^9QV#F2u^T~tc(Pm5!GNR$Ki6;!QI^q%5GYdUxqQ{gyIWto+pOkCK zHtS-Bw#e9KP=$E#@9sYnLIy3ALFY6os&#d78){Oh-w8jKMgryVQe_*T2gmo@z1S?_ z-?y=BCHiG4&N4~=WR=erVF0~M;!5D%{)a<4eURk5zw+}mHS8PePHc3rIy;->5+`{q z^^$Fm#vnqa*JHq1VsJKh!z0DQx?SowaJdK5 z(lv6pHw_yCnbM<@L~XfMNlgkRL26_G(aRPEQ_O`;{RJpd;NYV9sRM?iP|L|;KBdsJ zJ>h$roBa`B6MwE}u{KlYboB5<-k>`yza=xXmWOTIb{<#bHD(Y0e0N0p+ zUUBPMP!eO{0|*(UP6UlMb176h#jN2&W4gZ44lJliC{7loaxk=R{0rF&@b@Wo@B{c! zQH}6=25#&1)>Rr>2wn@QO|BbdHMJ7~q8PT!XW{7%Sz#j$SAbmzQ&9STyH+wQ53FzC z1kl;Fg74ib&l93^1LdFW(B zVCx|d{yQ7V5}HfQ;=OlB$-W-4R+WbfOQEX+y&TC*7>#<<2YsIKqSbK`Wnd0!NJ(c> zQT}C*>)HCy%>e!n2XJ25|D`b%~t zE@22<=TXUg|DNnJ-kt)kE9QtLe2JJv@ZoM7b_1YV5IqtY5oG%B+@IqG3F>Gsqrl_0 zX*=^11d3&%)q!@Dl-Kp8#TDRzo)rcfCnE3j$)rtn9Y9BKd?wxSWZ9sQg3}J_A+m5I zn(p*r$~pGIUYr-R0%Wg0wo1uolsf53uE&I*?FJQdoUcdAF+->Y6_M8rJ3R0}QcD>M&vW+ zgT!w4p430eAH4g?94s*n&H%92#O=+lfU z9z3_1Txqpv&?7N_!u1j~Xi&n!`(ktgVu)vdib&Kmf)msN2yCr$}ZS*vyRjZ$n1O#+mDilfn>kobA>4#4GNJ)>rw)FSiRD^=_<)u+A2Y|RYCb}|}#Tj1c0`rJJz!HT6-D{}n}1x#&4 z&8hG1d>o+?6obnVYp)54ShyPhSc{vXF%sngm^n&oAIM#oL`y8glKl;M7%Q&oUhmg8 zE2Cgt#}da=_d48hFujdmxd?dhC25E9Ntd zhhp{_D7(A>O{3aN-{DcZ_aylj100TR%!d)KkHsX%Ne=6m>)U{}I`F_>eZ@gE=Rwdk z0Fw$VjV%nggb|aMZ=YVuY67GNwz`{eBqiYmF!CGF`A6Yy4AiqINXj8(AplrraTH%d zW*kWJ7NSDXxLL2bS)kPyg|@UVGLunO;pQ5B1VIWQWcpli7U0{8#X#bBfX;8-ckXBM z)ARCsa+`u{<3m%sPxo0t!)@Yv7p<)U4QIpG>JIHGGAS&twM}~C46+C@ zyfKxE3AgqL1ErF$J*x0ZjAvNnT#w)2kv$lyOR5osHorop-~0yY*aeRzbhqXM0qpfE z$cbrT=|N06Rg5h=CLwOhfV>zALB7Ypo+adg?_~#fZCZ3S=*Uko4T6aCO97#$Tu|R&3(2dFN2++T&}u67uj#z6TpoGi znhxHFcgf!HGCQVNYDtWLNS!IDx5u5;H*-i3|13HEpC;BFqd;P6;A#n@x4t8fzi<95 z5dP2IUta};Gc~~#gu10i1;h{pV1hbOYFOI01(getEnJ5D@wosrkVjxmWbE^G&D6i|a<#VxVD}MQ^&zVhrE72nCl-a%hqY?kw8me7e-h96d-86mn{YI$p>2bcU zS(iS%>zBu}s`851g z`t&MR20wm`LhEmW+xdKhF%o?Vaqx%KJzsDizP$h1QtV>lFJsHGb|{X|a_zRB+vMR} zNza-c&fztD)&NQhS2m6t!25Z@zz*vDNF@0^ugq=C$0j%skrbUlf_D7rrTk{|@zc#T z`i0`7AJ{OyABG>^phbCtY(+88zfRiMq(6Z%*fg~5bRupLmiDHupLnA3hM25HCktd7 zf7>3)`lRE8etb$qWMh7ItYP3{UnvD43Edfj-T8K`0NHewFG-9Q@be~#k&ev`>3xo? zU_?_z&ha_q3Te+_w<3Bc{tNNQPtENm^*;8x$u|Gb<8zXE(@gqXX3!_-nm75{(VguG z+xz(ELGG3zO~;Jz!qelvtemIYKykMR-5kaB2*zs^UZMt?$EJxmV zwu18+F1uw1=!+vLrqJl;6G#8s4irBWvLIWd`V=9hSvz0}7ayQa2|8sO+v;wz3uQjz-Av~wMzQde{Mw!ZKdSa>rNn8=3_v-b__37-jBIvxpq90 zpvj6=SEFIw$^23T{Bv7<=EDD_f4Xp=eB|FSNBUl7lRGY`$-VDgJpNslJ0KZ6-U&k} zoM7&~FwM$;hUkNu8ZxeA&!8FFYW_=4^A~?m1J}XOm-X=FpqTXjUs)uzeE&M9jJ_zg zKy1tYT(9mU9CD7Y9uj0R%+;R^*DZyGzec_Hn+%)KqLO5Ul^|MW_L3 z<4$XmXd%zMVvJ&{Cl9Ay=EpJ#87gK*spYHg4ROF7D#g8EHs*Iv_cB(7K|vFPxW+T5 zg@0b1-|V5Edcod#xd;)r03-t-h-z9K-R4?Or0J|7Ji9CIV|Iy|`m3M&4n;|_U(&ga zp%2X36Svt}YK)kw_asr%jUL=d#F~Jwni_q2%-G0L5<*`>0Jb+CqAvoJ5R~|NCW@O< z!)R>ZrCVP~>q9VfO`v&?^Z?<6WTa%I>8}oK9YoOy#g_iVkM+ z{~326Er*h~^%c5oz%K5@bGtXCz!oIB2f=!f#K=2=d6UdBCnh>N=UDG=fefFVqT{t( zsW+b)DHgP5$?Yux=jF`vW}3x{kSA={A`E-~p;@CRJsYmm^*bL(SnmbQ{9?$mF`(jR zat@IJpakFK>2kpn|JI@PA{kSq7*<-rAl!1Wudk?AXo-liDLO~M?EPi9cv#f@- zfw5II2#jWqi18HBz3rE*E*Gk_*yk_00ip&|+}htcQ zI;tDd>d=LQv^X=0BP#>ow=hU_z>SdtEYnCQvy&G;zZvG_?kRiamBJ33nltDc0psQ+ z;H%tt$gO^QXYnfUp~ivx6&S%FhZqS7<6?`MuOt<{rHfT>rpbI0^GX+eoJK>WMd!OZ z)zQ?Z^OxY8qZ*+mGtHn@9k}d4W24O4R0IcVL+k{e`qQYY(}@5?bSd1{YH&NgVh3XB zjpG8L%Cj?uCnk}sLJ04cJugTA&L7cAzSjW)EN=r0OOIuJQqtC$lG&PXa9hdcrL2=e+SDXNle>(NAK zabmqoMkEkf7?6075Ywap5pOYD;-pKAF^E&}Ajg{IgI9pk{mrmI9s+V`?Exsa~ zEJ>R}8Lk}ax(K#B>GC|nEJ~1>S^8TeFY@W!m4#~|4fBODA-U7tYOaK*osCfirYB!3 za$)~Q7qR|8)$w(dqwBy#-j@c$)ptx&5Ze`dWpOjDMA`AxwCn|*uTj9F<34Pyn+$h& zlQZ*uToBjZt!wM!c?BfSJkD1#jippRdXbFghi|L$Y_*K;@7Xn1F_gK@3M!mP&g|$I zoqc4j=SY5oR($wq|BvQ`2LGXXs^UB_4Pe}9pX2VT*5K8sf=2v?tglUuBd1)-lmOTA zPx_>Pfkh-cT6tU&e(BSG3og855gpHd!*39rNpZKr?Y&vKe}&KH0`yb9-juRQ^>p!4 zO|3CaCgS4d%yfsAO&VhQ`>(n#d=m`G3Ad#m&F!P16}AS9O4SIVR-RBJ0;+QSi2%)w z&H2~V8vM0_YI6Xc@2?K6tWOULKWKvR&*Fe$CGo+di*rI=t-e`CWOMGu*=&&wQE`f1 zYF{;p`$j;nBO|0>8ZwP)-ML-C?NbYYn;d^d(xSwfL_!)U3^^bvu5RJ>ldbyXycj8K z_}&St;;6(e7mOmiB-kLG`3i$T7ZA`C^ETXYeV^Hot1F#7xLmD_YunDE4_r=YkV=GVOAeh%6YmIWoQR^m8W@@~%`iXEp1`t62Gi;aq1O2eh}Z>(n`9gp17SutP+(np zOoAxO`^?MY$P2nmqKW-mAHYQdf;`C3&%X$z{DU+}7m>h2h|Ys25561viva8D`aOSx z*F>pg2lvAzEveiTNs~fWZPKOVxULrp1ZTONx6XBQ>91FM2jBav>}~6Lmf1D*g5JD6 zb8}pdft+T|2Z|oSHoV>(lW|FHOAxGT3JBq(U}YEQ-VpP_)TqFQC%}HJRj7LJdieDn zH6kfOGmJT0K3(o|9F1Ce#^B6?-15lyana~@cmDk~ywY||^p2a;Jj--W*8c1A>~h*( z^5K5?0&0(p_01(s!E!7qPMKmR?q-c}+uvv?$50c3E2|DiIDL-QFCGH!i?5~<-aT-x zmL!@3TBfAIeVUIP0kBd%^Mt*ZRVV-*j9f*Fm~zo6C{mO9F#_)`NP)WCFY#LkA95$B zS4hTg-hRBmNzY$CzYX!kT@(Qe>1Mr9H%OK#UPuC!DA&!xH z7S$P?`=o;YZg&2*;Xx5$O9tEHijpQ&a|0q z!S|m*uGXDM9mYhu#vM;QJi*e$5s{0-k;{lB2}rD_E`<()i@+x9ys5xeF1aH56fT^Z zTHT!A4+NrZ`~c=#zlSR-`;NpeBPe=83)QB~YOnnY##l)eS_6y%K5QEa!3nakWX=a| z_R6znt;@SLeUb1apPS=EcOeq~C`=ARm>{+#mOlLyG4>z>V)_|r&7sn^94?ygG0uFZ zz$!@p;PrCfd-8=y0flOQiThXYe!HLqI3-sTB4^n91^^MI3P^LQKgLSzXv`(VO79+$ zHh6;<5U*Z>!KcAvf2|Kb z+|p!+)7=45gqJi>A-t>;8hMuZ63E zc${K%d3Q^nDbe2e11Qgs1Fe-8^=Ud^PXi3MKFQdBF6Jw8V@cj)x*5+RKHokqG4@8< zRsdUh9e;RB4wS!}?New)*Xz3K?o>VkRpnv4YJ@L)W`wJP%;eRsBC6_v_7zAD4ywUz zSjruQk~`G!Wc_x(Yp3l;HynK2&ER4t$x?)0oR1!v7+_|iWr<2OOBP}GNk-t`oSKTp zggs`La!PA9ntcu-LG&(=ChYT^H|e|F2>=4msxmZ0&V;J;=M7tW*H&XdHO|!KReWU< zAqNu__BXodl4W8Ol{$2J0wD;WCr2%;#HJtb=&Bvxg?sVegRk1mAgdZ=dn&&jEbDa_xd67t zS??ZO0VQJCT2>nPygJb|E?Lhu%wtc10yzCGY(^b7J4VYcc2+lW8nYZ&r1q}a(^hr} zi*ttPC(V-$#XH?3K;Fi8zW7*cV4yx^0t?;T`5Bg0I+RD%7Trq~`_ID0UN&2vMtX2t z(1bs}N(k$>ci3r)d47DkC}XtfF90@gDaY~)$ETw>l<}n5Su97r&&#e5et)c{?*pZx zbe!084y=#hzfvE$L*>ep+~ER;xOjxrK;PaLe+h5}L|TTc*ru@s1c>rkAQbO@kr7y_ zgav6jkb)y1J`%Y!*g?Vm?nql@3)xy6PGx-e-08OaL#X3RpP6a+S(b)UdI4Ddqn9o4 zX74YVS1G&mnvW_g>p*|NtZ$UOqt9eWjcV`kQbLd(Y1tZ2856_)TLLNn0(A|Py^X-Q ze->4_o(`1l69$ts7|m(o!3av1q<9A0b7h#$y?B5ONcmvqGQ#lqJ#athCJ7OAo!6te z&k|c`JI#m*?%UM>>6kz5gP%!RAv~miZbV}bv^_m2LI6{w;~zgZViKW>BtwJG1s@go z9WtvSUgFw**aKi9z)k-D&ZCwfBB|ADAkYABYIf9ojn3K3c`j^oypHOFhqwbl<)#U0 zu{D%KiBf^?NJ!Jsk_(FjRR2LI!WDbMyivOR(a^s2(VgXIB2<|wBbsy_iU8zM6ngSm z70N`*J97N(r%%kYfjY zaJ+JHWx&}%_=(SeElK-Z3?+E;zuZMrDD%FhDUei2UGeVo#>?gxU$xL+BYxq{oD9#~ z-;CS5i79gY{*Ub(_%MI80B_6BcwfjvTzK8@L0Ij2%31B<3vH71rKaep3h z|Jc)C5#+9v3SuZ6={MW==ko0V6exgL_AU2)C2339Q<77X0$eQHlmPX|S`H2t1`k`B z4s|q)S$LL%(ZNY|=eKOpc!BM>CkDs8QQL&smuQJwWCMN5Zr7Z@;u*=qhK6Tit z)$A@rcxtqS98x^^nv0;4_E9AbuG1R6{b@Hn>9ZjhFQ33K?7xFZc$`J|4MPCaC5(Bh z_8e~WTM`MPutC^+-`AcJG1V!VX&N}0)XRQr1 z^I|g6QVNWL5MsIb8tXgW>0zwS|+c zmO2oV4DNICi6}O8EOaz3TQdTjDJ~VhHXED|{g`&H;fQma#nG<2=7REZdm%v&ESqPn z3t{xKg?EzHhWY(D4b6GN)VfRZUw?9YwM8~0#)!W+&C@*BaOT}12H%>P1Y{nK@ve0? z70Eq!1P?$3ei?i_;r)QKoH4ulF6tC2hWg2H!ZDw^2nVxHx++7V>%)T9)4$tB(}`Yr zgch|}bh;B)#7BNFGA9|1zbjM4QO9$Wg`%ljDi@!lXdui%vn8vc4tY=b2VDE>sjGH- z!{U$;^vjDd5pEFEDqDf4i{LO!;%!)B#sQH)u{W?sn{TPe7UO{VXL(r*3qt|tIbYtfTCSA+Kjw-#d8^(95KKR1O2D6C_IYxizpb>@*vTFv~ zB1uc~%~9)qnHl_$*g?S416FVN$ z=HDJG?D|Z>CJjLU*?dBIJ6FPI=EQyt1eabF<(eQ2=+kKrgp(0Gv;dV0j$0AV_2B~E zHK}yhW6ah8$=bktcuO4IM-{~@UthqnEgIGco#AlsEI4;#j1 zUThtZc+o82hxc*&TumAw6455q12=uREk~!CTO63aIQ^hs6f6pLd?$mv#OD|_m-9n! z0s>Rb%l{*2o*jq?K<4M}7gG1Rx`Q_~U$jCea0z9L3(IKH)PS_pj~ttP#f&x{L2A(P zzZ9ib3OV?psF2ewFs%2BD<)T)w8Ndv-Mh`*xiU!toN2fjF%#!k z55|Lf$sB~=grJp@DDD>z_RX{Cc9tW-NOMjPmauD3gvcirT(v2V6FE`wK304^dmd&O z;a2DrMTrB--7aeH&7Y4+exZnRi-e3mnXDMFz$sS0mv0a%(G)QgB6|38XYvVnx%vWh zgqcb90HtuUR3cgS(I2~)_p6pB8u@){A4!Jf7li9t`z@u%wTAC)^52cIbc5SW{2tsd zMal(1*=fck#8jw)5WSfw3B=MGEX8PsX_=60m+j4P17x1|qUrViTC+()?Et0&rCbpLDTXy{#0H{;w5-xj*ZR8yc{_kH7AFof>Od*;t zS9~Z^ktK~U>l1xD^^e#of26s_3|g|>e$LJ5Q_C*4V@ussp-!?&``dPrhjX~PL5zPb zcRA@IHCH?ov!`kXYD=mOo3}ntDK_XZzXs)paSpy7FE+ro{aSvAOM(V z0L`k1uVVJ|;I0(fLN zsXqJ^)9ITHj|@fjCdkEE4WI&6I%8QhD&>mC-uF7T{tW)GVy~*_VXab1#_jB(8LmLF zUC2EASC{TCj=#5Z(=ryk5%76n2}BXwfa^C>M6(PJUsOL_nHQ(4EtPgA)5Q!k)>iVt zB>ys}lHrZIERY7HZz88=vPIVe_7NyswFXDJ0ZjU^ zEeLtAS9Ky2JXRHlYjRu-AK2ihd_nX;YT^ipU>Q*$yXk&RV}OerssNLtJS=qI6`7f) zl?S10^khic+#RYY@eDJ_xErW8_7fu?vP2{twV=_eze>y` zt&B{8ko|UYFuD@MuM@}ah6R(G*WX-GE{^k#bnSQ`EXXUNpeU7_<9*~LZ0-TO4$KtF zC^^=bZn23%5;R;1MaNQ5i<=CHbL2freHVfETcLJbzccmnDB=)$Wk2>p0nx<%n%{evh5_+mvMZiu#^|A{AjiFzozrotYfX>`-;s^(r{Zyfdrd|Q@5RwEdWU@DIzp7H4OU7R4!rKg zyFqIMJV9bm&6}8?;LoE90K!C{!M38w6D7;8L%G*Hu9yN{Od)eSkRzevC1L$0pvX>E z?O0HwI4ma^Q#2L`WXG5ePbb=8cmH5ZGt+W2=xotfdhZH!vmGW+lGeJt4zQb;3lox5 zx|`=qfib}fQ>LN-7xVJP+6sFD|IvU5PJ$Xspd@lpuo53(;2+|Ea+na62pFn}(;NP?SWu|$>wh-I3A-L+lk;7q zb?nL!fi@Eta$iQJ=#f%p0rRIbbU0x>4Y*GY?=l5a3LSR-uzL4b4P6A5<0(1?8heEt zMXM89Rl2>~awo200?Y-Y@AgN?op@hDU2_n{emE5cg=Oh;iNhF>)uFD+S6JUv6OdgN ze7i9WWDe*!CyaDP#@*fq0XwqRbV#1?_SN&ox5UEQBmCId zx^-LlsM;aQ0>Jw?ege=X6p+#&QHfXNnxPq)8Q>p!^&T}W&GHiI)+r~GfQv_b#YT`q zRkD<4JTMx*pE;yowBd}Dle=Ec1n{+SnYtP8@R{&!$h)Vxh;!l}O!zrD<1jyuFgrWU z{C(;$$vI(D0j6RJ&M0p^@TpAkU&Y`z#U`jReBL$vB^^)g*=nit+>EudbmIlLLLurR zYLX&2r$m^^&>Q}5s{oemh?3~OMy?MaL*UF>Y{ zm?Tvhu8n9J_be){6j!{;Uw8IeL2W0`hSY_8a|Z9G0JwB8Ev&Pe<1bw24Qil=+{9h|qa`vwI(hS3a)`NcU3^3qAkHO? z0Da6i@GjjG4R~|48ljrgAjmq60cnpacV$C#Um?zK~4(Q(kyexRRrMpr?iUri!XOlProyRVAwPZrG$W- zX+J>H1L?K)z7Z2t5uK9BE2&HxRXVo7SMau2?)yGa=JdDp^ubnwTzU$Bt)IwHn6e+p zh8)%aLzOH=)&OJVmszDZZ~R0_M`ul>6E-2ot6eI6Cg&qf<-Sd3tY!wi>!qi0-AE7S zy%~VNc5FIn^ze}bC^d>QWUh=Nea&j#T9u1^R;~itxtt(DfsT5P^>G0^+5f&*sbjzme+@c@7wt4ZFA6(y6t{M zu1RdwuTY!TvWdUUuXdK1r zHM`s9_+09bStZ^h!n}f|fCo2PFHp%9KX8t?`Kw)yE_;mIE7^hzNiwO{y01r%?(vU1 zik07_dTqtMuD6}jJTRyuhrX$?(7Y`NWWZj+uw0sR$J`AL-e0iDWVxbc0M7C)wFXgT z6G)REJ&+b`dQP$<`**r+%~JG$e%So&92}90o~~D_um^|)@Oo;52M7^)1r6qG9^Z}U zVvhZ=_wF;TA3Xs8U)=!1V62!#t=!kP<&~GQyJgw~1Q-~gPVb0700}{P-~)Dlx{nkk zI3*Ti6()Zbx!SrNGRVN4!(%$jmTEw;+ASNz>)ftvcfoaF78f%m^_Hg1JCJ||@&Os>02La< z>G79#khjcCDe+62ocD5e5_+_1!sz=J5|CC1f`ZHwihm;g?tbS2r{Xp|BostjzJK$~ ze8ySW!ZlED&L{yy5jo{36jmF^?z9K{tp(k{(}YYpWa9QDeM#+vexHP zS8^c}Qx`~TFYL_@h24JJKRe^p{>jhVmIORwN(6F|TqCLV&Bd#h_v*0`cEf|klUJLE z3v#NxvU#1vRrL5Q8u=)t1tt+Q*gNXzZe1P|HVw>>WM4Z2^i@N4!9K;<^AKyJf=8?`$Gs5O*Z+nkb@lB z@=5u3BYJwwR;;2cLJo_j9;%C=P^Om0O+MuPgH8jB~h1}+1&#d zGMOL80GP!|#=5^>%DU23?){>MuM5mB5fp?fTjXwgj1 z<)e43lgP5#lkdW+d-~jTBRf?r8~wy$ z^F$y$=ku4>=aZ2@9?ZD%A1SsYJ%hn-d0F(~_P-1#Af`_@_ZQ@xd>*|y2ka1iMrBuM zE<-ltE7Q)JV{`(-%ft2Tqo=YL%}?_027 z@cZ)q0yw}IULr5Mqa>Ry@^)FGsjpt@s!e1rlF&-W234)qU+<#z9F0pxpYn3xZNTK+ z6XH+XUypf?m$mAY8uukk3Pf*}6(G|i7lbLU1&Jz=stS;l!ZVt0&pl4kL>6_5H42oa zT8bRr-ytyW$PCpoG`epkQC#WRj=5}Ddr@D708oay5-W5z!D}J=>HU-=89qHb6}6dX z0;`Kb(j{nZey8bo(s7>_HP>D4`CXep47^N$PpBoAy4efg)Eej)syv z$8{@{;U6pjbAwXg@Zan2@)k)FV~Pl*0`Ln&cEkuj70^@T&p*@;xN|XrJc!z*5OL&s zu+0R*iA=SS$=T4~{KHX$J~f@N^gt-(Yhl>n67?nU9TQ@yryl7MW8b)3l!JL+ zpwz&hm`PouLxzdOyM4e(sQTA0H9UEY7BV|Ld_qO!QqNrhkiDetST?a@JqKX#)wi|r zm*4y!JX!1n06bX92DzV#WDwPxUfKPuN9@j3FE!QBa{%-8SvjJIdT&yEx>+V{6BpXI;R34>kig;6MK#eENHFanuP+f1W@`}7GNn^ zskNBEua_w&DeWR^OmU9{S2x!l4_{U^n@KR9+$=f@fiB2NBLZAD8^-}Or|1c*$?7_r zdZXOJR}oibIddf==lBit^P;gk{OUfMS8uA0P%`g?%LM8n#apZ?1IEbCvD8f_Iq1htHt{wO zT>OK@)QZLS$O8ceF4_lf=j#q?@B*&6Hdk{Azs(_RobkxiPJNnX2VO;*SA#Z5=z9)3 zRPUX)x-*h@^()aeC44je_n65IY==eEHX(#1K@dA}t9XEf-0)aqjD%cntlX=ZyKbEE zV1n$07VZ6;zcoFR#L6bPW>Om9>R|bFy!ay(MimW^*-QcQ8^QQA{7FehI77h689XGh z2q*bxjU&;@`#V|#$yXijzOOOMt+uFG7R(`RYGv;y9L3yC9EMw-!b^}cT; zf=af0=s*b}ELlFtS~~CCK2>uG7z(h8qcYVi-8;PR@gXSC>P7C|ETFjKCtU!Fg%6JW zX4t9plV^agnj$t$A>88*JzqYVZEne7!$|ky=ZoMlyYL^&3vKQzA-59^Cs24y7$Y=l zxuD5w{4_!De?4Ao73e>v?lp|29jb4i;e^j`7B?!SF0%9BT5@yBVIRR}hrhzxr46`y z7VpxwZ8WdLQVuc%rSzzf4DgXA6@@vS#2U0A`N;uK?bLU+VKGp+?67lAiC0UD)rgv~ z^AH{*$7@P3R?pww2nMZ%G)o~7Vr-%^Q{wcJ^@9tmRJ93mGxu}HGJN5Dc6TP|9Dwp< z{<5Ny)nM2h3F){1s!$eDZo6u`_RMAGd?Y>lj4aL#r*~FzM!Dobe30Nnils-M zdR0KJGL+zE9n;eu`;k6N@}enRmYa9tB9s~;kO>pV&TsP z==&olHMXXNa^Dqef%XqbLG5vXEV-zqVhBwvbu@DHDPGJ60NY1P?Wg()0`*vcf(nBi zN$fUlwQHLn^$q;MtP!B#{2w85Lw*Rskt*~HlqPjA1OyW>1(C3(k^qTqQm7S&M`mMg z4fuG%1Az|eQgNTdtG>$N@4?2~6zB3>_hP^L{0a#hAtEi08sbDQm7I};_D55jb;t3E zmOxyUTO?!>-#2v1-K0=eJ7D_BXPu<5wgwKNC6`phk;CY!-F9RPu69Ef-#9txLuMcmBDb&tWJ(lnMJpF3>GauB*XIV9&;*q2NyL};Y9}cQ#fe*dLS zF^XoQ97d9X7K%Ev1&!qw%=?4?Z7o1C6pNKxK9mp>uA=snKhQe>1?9EFNu(rFbz&h% zy%OghvaflDS}t2jGj1=FD<0WIm$+W1I++lcG5%2Fu&M^$Uh(zGpI+Nv*Lv$E73rt} z8d8n=( zp(MSxTRJ{2l+1vsz*ymYR-WK}=2m*jt8H@r2oFFJFdS%QgY2p`c~f*6i!D(gIWXJMf33Cj(tBq@)k) z^E>AR3B8?|BNi+{{<`hsQ`jJ)g0DXDO)HkkIq7#TDFmImqZZCnRT~NppM}694HMT;ADJjpsQ{s7`98k!3~f1fa*_^ z#9_pl#+mhz%s`-H+D5(v{8RlHa=QIe*ZratC8fzr6~=R5nyh`vT}gm~U%e}sWBa&P zfo30)H_1x&t#56VkU#QWTo3kY^vneGpXn;5tUmH)l`+t|4lj;p%twEFBK97YnDkqr zxRd*GkKc_kstg`+5*i@si#JcU(ae*dA#x4h2BU+z(2Y~xFS7k5PgEo*Qo`6qo3e*h zFErF!rS7Fc*?yg~#yoF0>yi`s>-PBTG4PSv-}C54p11Y#9f*XJTl8vmJEsW<%xXt` zBy>et;Q!Nyuw|W1>m!TdcHi!{NTMrI;WbgD@hi9QhWjzoG$V8})3koY%5eUHKNC#& z*hGVex^d7dM@8@a$_mI&i9lg_j@Lgd&2>o<2q%i5*V@Kl-A7RuR z{MQ6g?NYrcGA40Kx1oRSvq!{G0O22v5-^2l`WnwF^JXnzqUTey)HCPCNcNW| zDg-)ICQPJY7Ryg!BvUf37!S>HvL5*G?FkD!1MA(=d$yixvnAudX@6t$!GuuzitrKH z{&8=6jqEm>L6KW7mx0Xy@>h34+ZP0^)#@Obhd9jZ&N-3>i-sDoyqI`2)~jq;5S_ve zJaySO|7C8#b8;=q(a+#F%~8~yiTB`%&?bWv#Pn95Vrz(}`O-KrpCG34jYo{~?X(CX ze5gpU|Kx5q0yn)t%f~UlXv#l8?{wswpg=!P8)^$2$>TN_-&Z4+q{W5F=72t1O-7I!1Sp}|${w@#IRVju84}nKJNuq^ zM9V)$-wlTw{)@TyB@X2k8t5V2aqvlQ1aX_>9`e0ctg2O70Yi>RPaAYQZXdhYn<#Q^lk6{ z;Z{V*D_H9;EQ;Jjc{k=#_LBe(=yGWOV`pf zlDM%#K>4=ZRm8_dTJ-Z6W$RzA2XH!h?EIZz4md*RDo=;p6~4mF)9GB!m(xBFNbZ_% znc;q-p=`uY38Wg{?Bx;GZlS^Ot~gLk%=ls=f-ahv@RKdX=YSnG)vNz)XdTf%wvbGT z$RN~!YPEIwbwMPbY4wXj()i1Xi$xz=5+Vgy+kLfa7(|LR1M2Yg6~XeiTYN9Mus`KN zNtF6#u2Wg7>5Z^PB!XEF2#H&n#%v@h_2je(+WAsAC{tLcz2OJqA7SFLueOVXRARFp zZ*jlpXc&(^qU9?w3(s&?Uzu`CeIg16mFoZi9W+&DhLX?9gDOs0&mPYaDZgHFDrpI_ zp~kIPS|m;zZd4+di$UXkF4Pb@b1lZq2*qnE7|$JCK;_AQ4JrDx`NN?$wDw zE6W*<7#IgW?7s<72?w7n$#RnCMUb1pc<_k_4<9B?;gMh{lX`yfNeiCvulF~bvluD> zk%Y~s0IRAXm+sK*76b02g9kk({OgorhNIKh*_(9=I{(x>N5Z-wD)d)|i`l`~I9%QL z6Z_9F(iixfshW>FWG!vVr3t*@F!&a}VcfjO4O%_8u+|VP5DGUmlBd)KCn@?23O*c+bL8!B5ZgNBU+C7pjwqj+M z%2dtr)S%sQm|Z;9H0x!Ms+v_P$a18N;2`xP^vxV_!h$&DIyqKrjU~UT<|yF`m*XIs zR~2{6odA7XooL^90&u&A*zk{HvO#mKA$V*3WSqCQ6>iOH9EW2cN$d8yunG^rc$XWU zbE!ZVnFZ!HM2lw48Wf+Shi=qZ5T@oium-Nx|3@lcfC#j+MQXdFtZdG5uV zL~PA<Ct1Lu(s+t7hRqvw6e!WT@91 z&-Ev{?eCtiQ!8cxjLv)k{sg{sbyBLCfJ*WZc_6t><-&%EO!yJ<$%&OF{nhZ|C&@Y0 z-rJw?GAbkDmRbVyD+)U|b(!yb{Hkt5!Acwb_lRIG#gLBV{IK7);gFAH9T5yes*c(8 z0Ydmq2!6MBWgg{_`nE-eClnQ&=bqn)nJj#m|64Q+@&CUm=MWD9jkrTK8AR0$eY8~M zvL?IEl^PZgLIx0LfFiXQuQe;om2aiMo{VBLag|TX(~48E&S*%Qz&Nns?b6IyP85}9 z{-W*C(>r)<(Am!}mEM9MyCS0K(Wit){k?vCclG6-tP zbjpAcI;xyqH5bRg@|3|+O(*B{-HWg=+$q;~6)P!xCIw*Z_hMGG$&&vF15BPD2Sf^q zAyXX0idl>(p^k|5PCFps)) z>jgQ}r+lMF#`V*z+@5Nqqw?2Od=!-Rhu+Jz!OTM-7%J*89*c?bbYHxfxJ~i<3uwah zC`A;)`vN|H`TY6rjFO2W9iN8&0IAUo))&H#H0SD|qX^%tkgMEt(pe-v zcWL;<5myhMc5>HLbJVJ@8Ax^FW6UV!g7Dk_seQA4*Hv(hC8aN z>~7Lq<8{zgnql_v@-L@eUF>V?Ex&%CKnblNhzVMjsDv@)Jdq)%<1MFpZ1SS-=0k7r z=^r`jomYxvzXOqlgqmj6KW%LUrOL%K+HD#;biu`D7QAV3{IqgErp6axh6<7?ikKQ) ze*s!o>`2rC5AD|rDxQ1S2GG`=Xrk93b3m_&OHK^AVXdUXIj~hJimvg!6I2yj%F$I$ z!^VEgHZn2%?a+VL5KQ)_Pg;n;@WJSlv}f~EaPBr*cr zPT!;`KdcjEG#}jd@CDqex&pYbcJDbE#AXN`k?bO+#;Kf&Y4RhONX! zl6pnf3uw<(WeveJq&;{h@Ss~6f`|aAI29{*Pz{#!CX1Hym!!Nr@V?CrXI@a0wsNHz z1)DY}Pj1SOEs!6*VI|?gfoy`>A~~K9oBrFV7csVKHb*N53p>*&?x*Bm@#@vc5FS{H12%>di%euQ4z) z(AbSFj(E!q(*sS43<(0(dd#tXtL79f%P>q9UgFI9oX%c(dLRK_N?1ng9jfztO>xTdm?sIf%{HjMrvs*v?l;CvqN;K7YyI)WT(=0Y7tRAs(atuvne z1CAilL;nx)mI^-kLwI9M15pRaQpyr-lQlAlG4X-R*!+sk`F_>YY=ATd4V6(N((IVM z+4+EmoCJcr5vwgN)UOSLGD4H42|Od&LxaYlBL0c|X)}Sf`$v4*Du-drIC_-s>n!CB z-k{b6oL=u^9fbS07dDAemUtMk*B|<#dVei@aCT*OV|_DYdSaol{6PT=H2-N7MHlm{ zxOh`PYaKwO1Q&Zfd~FC|$p+=!Eie>?@}!qvoS&|~XFk15V`ly&Fvv35#sImUC);>D zXp)OSxI|&&wH)T3!7gp(cbZ}$oQIl;)|(p2#2%#pY^8`VxN0!kAYu{x=EO73lKo0Y znSrxZ=%T=jTmF|oLhun}=-Qgpi1Z)1^O2o)6gk?ojombzE?T$Dfya!KuIlrXAv2R1 zTKa`}lkOe|$2u0%i!J?c=fqdFU3btx5yj^Fw)Z~!uGub=VF^Hf{P)3Iu1C_P?X%ha}5awq7oAF#1ezhjuA2xkPBJKv7^ay4j+dVQH-D-BjCf-=N$tb;0bLK-#k3*)>VHnb!d zGIAmow;Z3QeY)wyRW!%_?(Y!r98FL{TIGR&rO+ZVIJry0ER%mYC&`^4>GriEBExiD z4MrPHgC#30pAF+QVGyZ0LZF(sfK1jkU+ak`zcDQbJWEUzs}O2m$xcoj1Y}e)pXxnF zu=o_>yI!8F2_U9_F0ntgWE1q|HJ#dcgH5GrEqEK}n{pyexm)odXpqh;kKj;VN*@fS z$1wuOxur2gd<#oG%n8MG!9vlSnO+WuZL*44B3};Mbs+z$zY`y=tYhmcU=g?PW%`-P zfFG%Q+HPB(h14y7ZNqjpVFA-ilN{bDG;uOpZz8tj@ZDx$qGF7F(*G3Y^pknzs@+??=(wtl z;|oGGvvcM`ZC8N}1}YN?@T2CeK?4(`SPFvl?_owB#uH)no7=xJ&b3kpr->yQP7I!D zTrkyMYLr=q+KRFvd+Pl72HE;DWftQTw2FTjuElgoXVCLWRfGjdgbDOvEla(}bFILL z5v3yhJ$YedV>GhBiISqkvVNJU?8%{aUY zkXDqg1A6NooK7HpgNW*E^yQk+RoYtn6P0Vl%QZ~d;hvY6-jhD~2cL@c*6+!E`=1w9W!XHsVw)f%XF)9sT{Q_Bo>f+~cAE(K5-%*oC z>*c$r$o&|9Rym5P$L|>_>%H@QA9c*Vw3j&}C+3S`837v*aWzy!wAoeVbwti-d)z>4 zw4F$(t>*VJcXojQkX(1y^cV7jsr5lV4-oc|5jY_!EIa8|BS>EYeBwP%|F`^b$oVNh z{)cW>tR|hf$qv`^p?)ecTcz0}`jlepzG${VcGb~M#$`diQHlM#1tojh?fwuJCh0RQ zJ3aed2nOix6$sQ|oZWEzV)*IL-5~v{q}VS~nT8!QDFyn3{|XdV&D3#7rxz95PbczX zBKwEgW%d`<)d3FqsSZqnMoHYoIP9ymG6D`-z$!S#tvD z4E62yLtkpgn6;$wdGVZwxTabAz%tZ@0&T%d^Wd`ZRBH*h($MbrklX+_PO(KJ@WMSm z9?*Tx4z?!z9X;niLF3{bo4O~m;i?2TnJu0V_blYDo_t%0Wnq-()(dT{dlokCxJX3r zj88onm*RJ#b>qms=WPx2K1c~|jRl|tO^ltp3jWO97WTcuO*)l!n*42<6cn6w9ll0n z;*?(@qo$fy%r9ylhRX7`ar|PshF)kMAyH{htlRUqiw7-tUqoV;RUu>G>=#4E*I3(3 zYdkV3sM9ipL^sbf)sPp(NLXny5l{%;jybKv4f{SCa$TQDpP123iiGzc2W9}IKy|@{ zl@f6H%x|HvB#`{K6k}-Lnyk=5*a&@B2v++8j>q*kFP7CHF?J^*`R_8P8 z?hF1CHn-q;%u@(Fen|DXJ4J8DM-*wCq}lv|A2*LIg;$Z=!EEtun+njj=(0i2xJZFv zyncH7S*pKB#IYG21yB-6i79}yuXugG^Z>OsgjZ3o;=r`b3fB)v;<4p+s!+RCOoV-` zM7qBwf|vN6+=h=e{#HXG1QYpdJ!GIGh}$&`@s5O%ur&&kX`{@*&NsY^>8>>8^JkX7 zWEvlh%=vz4(ly<)&O>x`rC`1D+$tm3>9YsW;2XY;v34R7|MueOgCqn5M-`)xA%Ndh z0JhOwJwQBW<<)qn$=czqj0j=VPgZd5FU0L{ zd5lY%m8YyrOC{*){PDmMbAjO+FJq~H0mF2DZQWX}?;s+w@*Vp3zP?OMMxpvg#n|Qf zYujJ?1OGKB*R;8`m63u%=dy@@FrV+1F3`cc>`3D- zr9A^hZx<@}!xS#d`tYg@@?w%^b^2fS&bAqb(i8p^{no}`)RymtcTHWIHmNVxIT z-}yFtLzDI?7sFAXE)R{~->a!Jg&-sVg6>&PZ1E`sD{l%!E!T08wYbU(iB;OtAI#YhFjChN zpaMr$GGKdYil(y&CK)d&ROBm8h5}3R&31?K!B-cA!aPF+?Z)hZ{lP0A!2=1HH!PS= zxwKdo2l@QJuRvvz#5ehKgPGiba3M0WngpbV3@(!@GMGaAaJy?$$rxR^VQ*EHtluKF2Gx*47+2N#M+c~VhM)N_D<^~&;3=6XYIz1~Jn}iv?1U4Nh#*v$v zlp6E+{8Cl3GT_J280uk$GCrh%G)uZ52y7!rMWc|sJTHE!4EG*m|7ab+34fR(*e_31#Do z>aOm*acWyFVF&*$x5t;|}34o~l~4-*J!3Rs8>t~LL#n;UR~)L7QfH~u_RL#gU?7F{(E4Rj0@ zSkgDr)O)Cx@L~>J$25g12O!pKx$30IdAClful{BD@s)UYbt_5A$g#)V91Xqyret_L zFmqQ72zU+4ups6FU3R+9ZIloGJ`{tys?M#6 zxl0*8ckvq>#JkwuhJLN?#Seh)%n#r_*rdinp zOa%)X0WYxvQXGF$YA7chVb4800^{2W0a`NE^RB$`JXQ%31u1z?o}qZ~N_c1gT44uK zKNbwG^*0xl+PQ&j*dLCtgR^so-~-yxe5wycI&J_y7_~jbFA{3d1Ss+{x|W%{nKh-7ZEdAD+6H1RUhfxEwvaUQJH80wR*ZysKm zsT=^e$)P|9TExI$?8AS+4CrDZ%_x6}!&{0E7F4g)gBH}GoqHpE2r_WSTUDzWskx-N ziNb58s7J@(F>Uq^nhA~iHJ8ZrS!ox3R~o3FOT<7}wHf@}hX7icY90Sp>JEZ9fEeKp z?H~7U$d+3(z4cB0yN@2B=x~|U7;qpb90`DHq!;uQSuBAu$hsJ@fYQUH*6lM~JpaeN z;qDQ26;ak$&XCz#V#!GHIn`#UF9(KHse8o2Wd!P}u2BKFyEOmQSP&~nf_y%aztZIA z0Fzm`4C|$ps2i5lABIzzjx+&52K3K1Zhba?=l&E?OKA)RVZ*+)lC1rWWkA@RG6X!7 zLBZ`sq(Bxkl7_;Se9*Qz+=b%%Ym{HOL1{OFV!D1s;_?{W{R1`#FXZ-I1ySP#U3=cm z(Z81%P@0ZF&u z>yVv+%uVdC1qK+PWcATdG0}oy&qA)YX2~eH$o>2v<4e^X<(in%ERESo@AgLh++8no z@)=q+F~xTiH0t2mpn`oOXZ4Pa&=w7}M8^#|u-oIKOa|IjX&8lZCh^oaiFc8M zRbN4?6C7m|CyX2unB$clY!JCfUjQ+sQ_GiCz1Fm^@rroMPTcw5ky^^oi%A0 zx*H=47jjp(iBl<|J?pr$e^e~Cr4xMqQ-w50TNG$gg^NOvG|&}to+1j*Di+-~LIW^n zjyF}cXQ7{w>G)1#C~t)eOS1p<{{u_%Cio6%U00Z4@i#rLWb=NEDH`1oyp_|I6EF(y) z5v>|ngtAs+wv9%$H{NQjY0EHW=ShyGlz(i9=dS}azTBzJkkk(j9S3hvZoOA*Nt2}p z7?pBxbU6L6!ei})o5Kz)Q&Xg|LOK7y-9{v-S5}s7`-GEDn>R#^*$cG)$qYeQxKi^& zK+r(ASQ7IuXi~9iK;QvvFqa2s(xuadi!zx@&70C0p!CcL=4A8nM`YKvHvwSucf=8_ z&h>QA8kdKIMwn=^*CYgA+#i3y?@7C+S4w z9%MNf=u5>c0psEqc@f;F+w6g$mQ> zN2I@bA3_{4gHt2lwfUpP*#7E(31W&T!0bvYWpWJ$zvvn_4|w)=cT-%T4{Qq1o^I<*O{#(ZXZ<$qdF}{F-5je&;F5kx~L&Th^$9U2U`Imwu4^ zTQKYO-J;`r12_u2pUwTV%CdvZ3R0f3QazNsWf%3$Qn7;)&&XH8NApD1l9m45CyKmb zNe7`kGg$`6TySBAlA|W*1r<*&@{P&3aCKp|up*xWpGDJ4WClJ6|%d1run>Y}Nf-5K+(DWxr(n0+t zk%EF_H3WVP5w^hUI#l1dL0U*`QNfhVR8%tki7Bg%C2<*Nvd*;^5f)jtU|qc)aHwhgrlD5|UiEC6JF z`bx(c@Zl8kth2!afmL+NnZ(EH%f1+r7|z7gzdKCf@pFFx%s$UgmTmf$bstC1C6WtC z{OeP13?EF9!R7fGrmC7YPS3Q!Fu=FgY4TO$wC>rXjj(-!>a)JmnOK9QdBwHqsR>|U zD>XLLB%3~A`Mf?$s_~j#Z|;uFdqaG3@P*jDI3iOWy{isnVoFbl&B5`^FoD;5%`uyG5`B( zWb8L~L;2aKz}Ao2kYt*E`es;LLhfzu@y>(}xr{{g2Wh;I zzoaOquyHo*6~sNlygl?`tM}d+FrmIFss zS9}83z@-oniP#X-XW$EL%|q}PEv>%#Yg@;?knjP%;>pv~XhYE!QMUX2+6gy1IkZdr zx`&3J4{(@E<(mACKmN+0UzldVXF|`E?#V;*(S`&3vGFg06kIN!faXv#E`BR3dyZpp z^=~Wsmc-AutE{Ly&;g$b#03PDj775lG58}&bL$D}=4mNcvYOvkXpqHJDil8My9FF~ zUZB?_A*n?#bRj)xzOPqq%+>hS7ONo6LlJZ-S1Z42`aAsbR4UrcW>GZbEm~>l+PdXm zQgEn6r3q$E_tk=EkLI&&c*m41LCz#TY^dD62ia%P0~K=ti?PuOw~1W$wt57by* zxCZoSG$g+lu(gQcvj$J8iyFSMB-xs3$8zRE)DDHm*6vUuRkA}+*Gl(<9}wQR&<;IY znE-1VWrQ=cG!~eg-(~7r7*?j-GP^stnXaI?E^dU@TTfR_I1u}xtc&bv29Rjn!Q_Na*{g{RBwsqfP*INi_=N}4a_89lZh zMO2R)JN`3uqqdP6TucU-oi%NqR2VvQQ^zRz9>s~0x+0t?CA-1+_-x5b?&%{O0AkQt z4HvTwt+;fqo`SgJ2Rl0bzscm@W)O}ahrj=kg}1dfV{kc8d{)(w)>2>lZ4!n_BKwK_ zoYQUm;E_DK`ph6lgbJx*kTg+>a-ttzxI`_p;6JS2$g z0DQu;NssA)FxLP2(GQ)~&|`DS%~740fevJm0^*vAV=3}@qW18~R#N!Vkqm&ynEhe2 zV7`Ync!UWRt(4jQ11rE?QguZOvmslD(P4Fkc9$KQ@T3y+tx?D@87Kim zF-;s;0|MK2vM8)t;0pOS`38FDu5UXGVFF=!n=T#lRplQ;Umn4#rwl{$7 zBnWLVH&nLiXqza(tDn2x~LolOqel4;7d%NqEz>H*Y8e8e-kKBCwd^?R~+$qUS zs|NjdbCGde`PaL>M=P3AS$GqJKWfvhLocoF>utL7d9%`OOD?(=QEd9J6JS0g5_VB% zAnVk9nqj}<)IFMktr5B53Xu%i>HQiWWy`)FSomS^4_A9e%P|fpz{fJfd{MpH({`e9 zS6x~3(TE#lL6k?g3AdWsbxQHUr9*S4hH`Pbg<#oyS00cN-K*2XvdV1)QlK;749BWh z$ToqiR7%6ANtbeZ^+y{H9UxC1!sCA(RE=y;RADPVy?iCB4fto>^6I+e-LCVGRd>~K z`{6iu+I?DmwdY%*3>7P!+orpu6cM96q+%qc;Mlz`jQ24|WmYf!c=K;#u^=74^(ef_)D8FYhi1!aqj#M{km5=D=NYT3LAnrcB|xKLO^~5kMe<8^CTSzP zZKHV~4=IHtRG)R9B6QwlqA`%Qj^5OUzMVbI4$L?6oIUZsT3v>d%ww~jE=#=_4x*Wz z2Oj0i^A~Y@q}`A2q1{EF4>EuNM~Ml(#fEq)i&aMA10598Ix#Dy4(O|Qo{>Xu1oA*j z)8!i_e3&8*5}+`KA=QE_7;*3AD|qdTe1n<<#fXE17%p<`3y0v-GF5LFhP@-H(R5o} zsUhKKMadSXXEsWY``4emZ^_2e4}k?2S48q@{j-s<;ziuAoba_9*LC@8fq?P5Bt%nz z#|ghvSC@LxmhnkSanA!gk+7IpsNrwq^+g{d65Z`17yw1@{a(bTgl6Q?( zlTuU31@HXy6-+p~os<2RMBC>_PXf!kza}N~2RUGh(RGr_C&r~qx|H8AAfEjkA3{O2 zyPpcM);6*LD|byN!Syn`@OvAwp{X*Hwji;A94s?&#d?U#^N9N3U=LK#_nEumxu(-lYKx!$#f5New#F_3VKUtJON_ei zPPq+x98yk{g^>T^FK{V|XJ5I5dg{D=+-*F-NfRMUKawYBa{a2L@A4+dfpRX}VWYA< zu1b&gSGb(ZNT~_wz>p@LQW@fIH~;>lL>?pOc+lnCEDFm);SPTx-EiX|bg=EnOo~qv zI4Yv0YQ~*upQcPWB1QoOKaj+Dx>;)eGYA?mQ))i^Pua}DlK3;dnu^o& zv!##RYSaVL3Ifd4iqjAB1`Kd&TP31rzSBmSu9Zu<0Ix=A1K*k#XbgcESoEveWDR(n z=&RX3ng$Ag1p<7J3NIt?;{5wUdc-4&BVDjffXvX~ru)VK!ehi}JgNoOOt%co zP|Up@$aybSg5AgBc<@bOGH>h(5=KXoyyDi}0UCXljOJT^MjvE&^CHJ{ zz&tuCyJ(`o4S76ro&+#?6!kkecsGrb|HK9Fb=xrxILp@jwW#9?SmOrlDOK}1B)Gra z;j!|Nte-r~>%Z64Ot<6QsxRf7tUY{P_OJL74jE$6?6D@~H?fVRGp~E3Ykrw{IsV#I zQe0rTi6PAnA^n=aZ~xOS;FeSg0+JYQ)!k2cWGg;C(4qBEO)k3Wh-TNsi3IHX@zvlu z^vPL%&z^D9e30|t=u9Gj9`XQ?gO@syaYh-jkgSt}Uv z4LqJ-hoyCK#NP;7ls0jxd@yP$ue-~mYl4@NxhF3~(wf1YM)IsDu;je*H`@)|9B;1v zX2+n-L!zHqtZmM3EWH2{UbvZeI7m$Wt`ubt16_ruaz!l_V%Z%5l#`=~R>m+#n% z{e?1n%4nn_a42AaWgABxmf;ooHXp?oFgi&ZxhBT%HAL*FL^{3VLNaHcd6)BzXowO+ zOG@iIN(%4uu)SQ@T(HV-Kd>{r9ReL|G=O%g=6T7+XGUow*wc?FLEoUv=#outyqdtM zGs%fv4cqeIcxRndtsahDj*YV~;d~vEg8OXdnmTUPP=^DUE%1a}n6ALMn6K+dU`C^< zZ|{(*Tv@giFo$wb_$_I8j_!z~I~Y_?H!f{UeGt&z!(ZP=T6pxrJH8jFK|+iS?yEXr z_)f|d(JwBnG6iV^6_5<|%_ILXwHFdn$79Ci9CRKBc|(tq;`XJ*9yr9LE7EQ9t4S_( z4$bfk-E;~7oOTcMlb@y}lDE?k>lOCtV4~dsQ6@oP5ojFvJwgT`;a3U2P*N`Q3rCYF z57+u_Uok6#BZ0z4m#EmK1F2!N2?qr~F|Q6Oq7S4{J_(x3!?Or7&Q+tP_XW&HhwIf~ zB)Vj5>24SPqZiw}PfsH1g}sxp8se=~^8WToXRQK|numSqz*&D%AvO$Yp1;of;09kw z+tv5VY^AQlAChV2WXNO7^aVv1yw)nWQX`oT-4NK*CGax5O!ZkoKj?1i>lVbj#E6w6 zp%$RBg3yv20b5)OnE8)XOu^tZ@=mO3E>;B~8ne;gg#YY5=GNs+riuiv!DDd?IC`Q1nDXMRy)Jcvo+Gt%UzbUNy%2o{ouH zV8?)HX%GZtAW2|{R7BK(P-pLan{;&g|2Rtplv;GK_lFG_I{eP{Wz=4*_mZW&K65^hkg4S-PhlG1qs%kw?)T;fsPb1u;m5_fH4?;CAO;uO$Vo|V4-c3IPvV%=F#&$ zTd6pZE$UpYUZzWhRuf!2GE_aLs4_7&819z}sfDDSZ`U3G*{{RJ4deom`{-Zt9|Ms= zk5?^Cic!S)3%Qm)%sZKQw#0Buq)p*y#ZrQ0mc9t2A)ud;*%TV6iB0(+m}xqG6*~@? zSfi2nV@DWGc_;(X;%QZdt_)1Z6-QsQHTu_uIhI8pL;Rs6iCB_YTnjtx%)lhEcn(4i z?9hGXP*-O?Zw!SO)bc>jM;}$XFl{b>9C*Jxu+yL0hw?_ZP?}pObb3bS(4k{&d$aVV zhSpZ)IVNl2wr9NW{@Oj@@(-oMtvWH_YN!TBErGy5y)*8tRY>-DL@x~U(Bz*PRte(6 zSQ0W>UwsEN5mKWf7J?XsSz~xN9gDX#uP^OKsg`lgt}kBaH=LQUn-MfTZ2^MDH-ZSp zq&~8y=9eP3{Zj?L1Y?(#>bo=d3?brO#Z0E0jUWxMj*m9w!&>S~)J{w1(K7^KZ-GFk z3kb82Kt~+X7HtNW1OZL8~8R0gmP2rBd0tl{;I?cjw=v_mCX&PxHdkq(25-s5?>{O^oTtxK< zf(QpLh9oSJVdz&HZ~x$XSSkSk372+a>Zpw7JIi)FrKExB1rol*#THJs+6w&2w9E`p z&NQc<>msR^+PgFu+ z%Y!@EBrgMvs%TaxKB@xLHdESLS}V(ywsE3|W6xN4dJblYVimh^ox!U_9Ot@GCGf}S z{8W-PMHlYll-4*k`NTAhV$@SK@2}P3k@(FmW zfaDkR*+AWFI%QrPgslU(l+Z9RjDh?)VG>nnhg2nl;FIHLhy3 z#E)|wWNGl>^s?Gj%wnrUWl6~v{?g9;Tp+@PgUatfZJ)pks_fX?UoFvvYDsndwKDf= zq?`KoK!G&n?FkNma!}kUb98fUj&TOKXx2DvqCzN?$xkH-770L=&Ds#(ZHBkof?K8l z;LdZ8`SWNz(4!#0O9g|I8(Etm6~jOh&4?hQh(QMHKw zt-3AGK|u(D7jDvb(={@kPKz`m36bJ?;j*Nptk9M6Flbsx?t!(>HL2l0Ca%=%v3+r z9sW?WMJw<^H?%fI^UM@^u3wQ~`KJ&?{vhZjCSrbl-E9wpBvDC^dt{*c4IA(7GK?o? z22u8Ae|ft;AGR||_D9H=jW5&8Ct#;*7^nSZZ`YzAT$uc@Vw*aa8h>>4RNqb#US_Yu zP^;W7$*>#P&#f%U8Yj6TumJqCT}8P1kE5aA&Fkgp`g|wjhs29as@z|dG;ZYlylCT2!Ntyh^i+30T0dkTzZ7SsTvwk_Mx>;11;w?QxmYC37=C(;YOG38x(2Cjg`<<{nn>JMsb4yb#JMfUC7=XHb-A|sq(^>JU%E_}s zAiwRt%%l{^oVLnL#i{t{%9E#uv@zzXi_moXL-uJE&DJNru!$DRZcj}38VyVmiVTviw$(PhVs0isV*y~#JW+8(P7SKao!AwE)e@tM|; zWIX@)WxM$}1IQdX973RF_M`_zgM;>d!~OgDHe87r_u~8gJ?xyMg~{Y4UIeh*%jE>* zEb0-3(;?ar_=B0Rm<)}M7Ee83rTSifU78mHleU*yN)8UV3Wr07MQ*ThSn&OszP+NK zW}bCS8rcJ@io$+oYRfsmmaMGVmeK1ezt-_+1)o>B0YGR8nl&XRlD+A)rgeIJmj=`$7jmoUihK|0T_4-ZF zf(pt3csD`R?`rRIG|G9LHL1dWfO9r2$!%gye1)_{35X{VfZC!&V^E2>uGd4}c*BAo z1?Y9t1>7QYOC>WRR<9*#&-5#-UJ89BS^ap~`t^TCNK6^^+h{USS5+J^Dm8%5A zrxnNf1RjzG%l4SCtFi$^GOvy|Tv=cG!6_wh@#}^_q3?g@ z_MdAGWHd6*gc(M@CSBb3Qir|xN?|}Mz&cKAr-38vU&*!h<3)+KT%AV*I5SC?EATTXo zcVx7C+JNASV(B0YFMFR*SIzWCE=5qO(78IKD>JM9K6HUD+w)Kjgn7t(FcKPK$J=Z~ zfRdY%aj;Hj2!cvJx4MtF=|0e5E@`zF0()KfOq4jUeIN&Nm~jv=Rk}hg((UNuU0X~j(JDG?_Xi|n<*b+Nv>-JS z*HVD9cSyxOgcqnHR?hdl3TTV7+F@uQz#h#hy|lN(cV4yin`eJ0)o&%mlpQdU+GpuZ zH3);vx{oA?lT|p_rkVg#gW<(dJf7~yyPrQEiG?ivaBV`-FV0QiEsqR)bKMW4LEje< zs{)?fg*3c``W~j?2d{R0e!V(uqh7gp$_RtaC(A_pY<$>e;E5z5(qE@fO~jQ8AX+u* zw*B_Jv}A$5RJH;G$2#qdwLAYSHk|a(K{3zt&f)*%OxY3vPl>59Elmt%Ra)H z55l%RDuX&#oVS|Kd##z_MA`NIp2kQ)nfEY?@mUWIuHrbT%G(N(%a$gn?`$XW%jKHJ zNSkQL>@GgyvE3ibjRaQ}SZs0$kl5&GghNa>>6ufe!vuUN2@73DYkc_$l%1bsV2wp5 zQ)9NKgJ6pPO=W=gju;Wz5na($AaZ<+E}vp{Afh+fDmW_M|= zL{HpVnVy)fL-B*?_?t5~q~%ctC`#9KI>rie{mlKvigcpX7rA;GNHfDklF% zV6TWCsxY@3R2g7F?c_Z6q)XSm4|`G9AiQIXIakvzsmq5KD~f0WGMkeHtwoW7jxlHV z*$x&*Vzl{qA|sf%_Vjo%HHPMt5pK?@ewH~rr=$#nd#=gZC+bM%9tA`c)vkOxSaZlv zu(8bX|Bp`n0JW>1L7;xRPXCD>pj=$6|K}s{V=~V9ze@@7s44alUKgZSO^X!k8{5(u zfh3DDW+v3hM@2j9guO(>T)x+GW`7PqiTn^hffC3ggUAWR?Mn++3ESlGT*cB%xaEJA zrpeT-tyFjN&GWa=1MW8qCPoJ0&7uMK7bVx{ zT@0hGi?fB1XQwA&!bo)cxTRTI#0lP99qp#$a3Z;=V#(5prDbh0O-x9ZoN5$_^SPug zfuz5O`sx455XICc#v+ADjfcwrG<0?MKR1UnUkr~8*xN_C0S*SeSYD)xYxa($!jH`6 zS<0pTketTj?FLI$fiWd7zTND`ufBkRs#%Mjt~Oa@vSounQu zmzO}cX*ER78!Nov6~lwEZ4H)&Yj0RByw+pc?ydSRDgqz-){r@q3mzTxWdp`dgikn( znS`ng_5-VW{5R;lRWf)?2;0D%|sRjnvMguf=7CiQ{z{|58jxT`!^f-Pnusc$a zfj8HnsN!@4FKAYoyFTQWe4B>ZGEVa~$jwT33OE;?S1h%qx+mZ9Q0s%LW{o4G4(M+P zx*byk=L$?Ic0QhfW?9c&NFV{=xNjfaEg@l_QW}B~y6<1T7X&EdftLM#T7d3$q z57#^s9BLBmOG1bvO1oQ>R3$PuZZ57Zn4;s62|0L5_klKLFfxF38N+5&7&ib8{y!EFzI5QU1sbRj;h+jBsoc6mzD$L)=(T+D@PkBIdm-ib-`gC13a`zW~Sl%rM zH>|T{&3z3*HzmxGW^G>^kJ`Vvj7J4gxf_1@e;{+U&hh`753~FyZ=(ZqrsjWu{7P-! z0O1EtYkk@P=>P@zlRUO5YmF-<_O1Ia3PAbfK9pG!@$V@K-X$2oIQ}_8@_z0kCa3|j z^Q#1I1L@C<`*`owsnnypMFzN0?=a5G^^?Du<8Yh+w=<|e=@*|)_xnB@bGAuwkUInUUJZbfthMUD8) zK4Z$?l+EL3!0MWK z3GgkF+h+dQ`vy-XqJY2?8oKi0mrDLDckB(qJ`TH=A)0QJzD}uf^aY7`%~LxhV#x1P z_&$nDV^IObZzl_?O*bG^UU^6s^;3x>^Lm(`cy6ITt??PGrC98$_#wxyLrrDN9wE1Y zlcU0?Z1m4GjA;a^=g%6~f_J!OuUfVTeafd$EDUppD-Ld5NY-2a)X}SgRCLeH8lkZ$ zgFs%ky~h)Hy)J@L*)1E4JwCy0(6p-Zx%Wa6!S0Dlye&S+57z#gM9It8SI6G9`l7Br$#$1}r>l1Yg1LQHJ@frT=+{F8YMb>)g`M+CE zB;G&;V`k#wO15_=vvkc`Ws7G$jdl#w1uNbn{9^vMww+6fYK! zg&sDG#3yjN=Ci|e){zxKfC_Mc>AfulR4#^T3QOd9YF}@4C7@-ZQuLkaoAn1Q+k;5O zDTva+E>&+vH=Y{!0hu7<|3po!p^^A`3YHpf0>k^XiZO0+`{8G^&-B4rHj-55cldBh z%1Hv((bmP?+Xa2n`H=Vv&~SQrUqcyfH+YuYM+`uAa%vD{39~vdbm=cd(}o`Dqmc}W zGB7F}zS}Am22c=#{XeGOfj!SI>e`KMCyi~}w$s=~8=F@e+sz%@w$s>ZoW^QwH{5yN z_uKp1KVr>etU2ZwCv#@M96BeH9jH~41b4=uqh!pA`3hHRp8LnFOzn3i{t_^aloMEjWc5z4n)A5ultFd8uWhoKM9A3A?21gdC@u~hM@lTLb zJGB*@2nglxZtLCQy%-{R^#409`2Mr>|VKw;bPnH z;tX*tjnLAf%Ox}3{hyoc&Bvo3aoUn*WJ3-k-zwuhUVlVdnn)f=>ctf!nK+QHb~y`M zY%gh(j}5*cUl$wNcfiTF&OCC`Y(U;?4Y=8=|txZ+oJDij0 z!eSTlIy;+~lLCsm<>gV1S-ZClc}D!Qj84aC{0eKf4OMl-s7X5#42YSd@-iZk7c)$t z8v(wGU&1C`$$8y_3$H9`TRwd#377k-okD}>WA2QJ>Jpf< zJTxv07%6(Ac}hj9X$0IGU&@ z<3Afc0!v;4E8n3_UTxA{l;heqFs-6A_4c$gXd1%Y}@z$IH^veNgwc81;mCCF3 z-9(*Rkj02&T$0`GsL+g&D|Tt@r^V>pyz;w^Pcq{>?PZyD3-V!jVX-&CBCc+b^L_E% zaeX3^;Ns``vyd8U53%3wFD9N?f`|q}{&&W3fXGZBK2;t-T{Za>i*W8Zc$RZyL!Cz|=vKA?*I zQ>vfjxNz#0I|PhRDype9)87aILW4Ni4`e)EF?3({@rWHlC7j?(5xR{2SsBSlH=OFi zT?o3GzImr=NuFQ;#*GEVmk^dCL@j6c$?q1NFcGJR#J_{ku=IX;VrDr#?`h3)^#g?@ z{FtJ+mZR@#O^A&{(2Io4JcbvVyBAMNLK)sYJO4U+1_+zOe+_2W9c~_KHvU@a(0!$p zJR?wC&f6S!doVB<}F1OaH+$6-^_J_0DIN|$I$Uvd4x{WWY2cxb5r<@L>wzsY# zOGAE;fVXuC{RBN}eLx#3TUcHirSdqFk4)rz9BW}hOO{hLDhG`RJ52<5sIa5|#<__N z?~2(q9e|KAdjP5}tYjlq@q~cSbXQBYbtgfr(rK}MF-s9w=!DWxD>lpp6YGSsK$>|& z6jeqDHKr*pH^xqeWWdqR>tN)ubtMt4sDu|xggPf8#GRU+*tQl$gOYS@pBQRlbGYSuN|Tb z&OvIRw{lGk4=-nZ+OnJt%V-V*?_}JDzi8{f^y4Uxei`MoZj;oIi&>o6Novezpn=0? z1VWWHK3v-it!ZaP**R?ugxCguz?^br;Lv;IEadIC+Qo1b{5-q2k~#*Fo$bM5-(e2U zWyY*Pc~$CGB+G)qUrJ)D=}_sKWx4*Q`xb#VBkh2SK1}#KUt*lLAVwG!36!Bq^(;D^ z9_sMzwjmQQpLiGPPl~3n(k5^-!Pm6T2VDM0LRy|F_xAC?W4GU-R!5klnM#g^fxT!u zH|2t2>r(3d&L>c(qc5Vk8oqj2zqIoxDGg1ND%_Jyr3maIxoymEae+&n{(lki#(q0;XbC414+cik+*Ie;%FuZVEXz1}OR%;tL!> zS1wY(+vrzN&GBcUs-IOj1(}yuy5Pa>;DILmhoVA#Cf1vr&Z{s>G8vEQTgdIQyJck) zeb{62OmOtr_DkRobWRif;uxFhU^l+D&eA@t5@FaBSxne3Jx=(v#6OB1^wHN*excaR z#6SH;ErBm2e0zF(z{DfpyV`r27V_8M&#k#nHthg0p6lXo`dH+Nt|l1*_g8K zg{@-H3q@gR3;QB83N%BasH4C0CMAUfYShslUFEK8C?MT=%3FW$;5{f2Tdg%pmg~~d z@phsHr&*%%Bd5WBt_UsK2JC=#bqCV^@cg_T%q)ax{Ao>&S7pr1J5Q?c66zKnt{IZX zr8I=pNb1HxK&r2OijqyeV2vl;aJkr3YAB#~&Q!0O5GqIYs2Z&N9^3^YKHd*SmdKKf~0IuH>Z74=EMF=)x1u}w^KdR;GXuBIk&&-+6d1F0>g3m;Xa&ISR_Qvnyu1J2Z z$P#oZT5ZC%6V?-D)W?@ke{tH~-qt+~b(VKDr=HIW7+M@}(T*!*PJ!o(C=|%BlA8@S zlgSVIn>@Xcaw2A)z3?;4KhzqqkTk5udLRA1uxQcO>nx5P%2hJL;`JGI@;|RnRZ{b@ z@NBFYhp8ecj|khtk80iY`Ki?UkB#o;SpO+HeV`h1x}xA}d%a3~q%HufB#}(9lGH_T zc>hBl$UMl4{#S_g&E04#hK0ta(-R6W@75AG4|}t0Zg((~%_ltBYwWgSBP6B?H;u=> zYjY>a_94x4?1U2xHf3o3R}FpW6t5+&iN@yHA2=8v1GsJH>1Vce#)cO4eS7F@{m==A z4De$`HU7#J6P5387XZfAT9;R5-$=wbw<4)R#;arE@c?cE)fMw zbR8~K*q}Ltm(cmge$4(U?P|TpNMDQw!6v`$yGmHto|$KDi{cbr@X5Y~Y>dLlU={+= zyV}7L+czZB9>r8AD6|j+5ep@~Lk444m9Lu6gu|hJa+*TtK7)}9FoxmmSU*Tp-Vw3o z0H>UlnH^f9mrMC|>dBxd-#I*G`cx^%UINlvL%gv`>qBqoA zA+lyByge&CwZy1j;vUw2m^k%%uR|Ah1J-OEV9;)dK_#lXUWfgE(P`cgTBb6qv)RJg z%=6eFl+HVJQQo2k4%^GfA`ICLg`9B-_NY9nBXG57PumcrN--Uc`j*}OJiUQU%`N$C z*IN}3$>g^jL99P;gu&xHt%z$JkmMttvpf~Id^R=p7YPf$5+-xQV$KZIA7G|Mko4C0tU8nUA)^a?|-NjL5&Ij|Am?ZsOA9z7L=z8i3M7`fRKb* ziY(>^5nV!10iK1?e~wC9^CHcs;Uug)CE-h;>-9J$n9?_rSlpg>%1jlZ6fW5#i-IKP`~y!aTgG}bmg7LI+tvxkBU!dwx6whAS^T|Ao5 zR(5bc5!z8~&l2=N)RsgHmK|uJN{#5(_;`{hZu1t-o19#O~1kPGI3-7aM!N}XVDyh==!X8p}WK6ig zeovA)UV2gSea+0-#!5gaxdDB2zJ7y`|7dtmUGL&Y-_n5TW@4qN%jFVC$y3@ z*5rlG#yAmoY_p3F{lk`B8tAa0yaFEqj+ z1}^;8XFflA7zIbqA5>~`n6~3IiQ(OgF;>Oq8+XPV;AANN z$3c!);ru93$N7YFd2)35I#XcXX`hGvYOoqB4sd?s52z>5MX9-b^tquc@%b71BNhMm z+dWlAh;Jv$At0mC{O}i|JwtA@N2a@TWYBUc(VUUcy1!jmM%@x_HFc}yuaA+mt&XEM z54ad+xTbo77c)Ud!^XlX_xX8S=#o<4+}SK>O2Ye#^+kq{y9*TmcYj!i+Ar2$M+42Z zDu6vdeQQ|FqnM}zTK!Z!2VG|KeeLqFhI&z*`~*jJ>K{HKJq-G2S@X7aS|3GTd%H%? zh$v;|eK-o%*iqU}w#Ou=3)i`rYqM46d+889HSCH zO6M>Nzw+I9Ffe3i)YTr^RmXye7DL_B@j=^J)(`$;E}x_Ola)ed%-{I=qr;X_wREo_PZ$D!yA zu^%R-z5jv?Bgxt1TMM19y2pA>zM2X7U_IqJk;}gvJhvw5C@Eppw8N~u0F8kL< zTd_nQq|K0DMcS^$;Sguk`{2Xm}^SCT=BYu=)sJU1!RzxiUm9Zk?X zcT3Z9Q(GzaBd@rv2W#XLchpdEo3d8)Mhskj*k%5r%TRi@yteYFPxH?Pr|yFz41!q9 zN;VUCxeHCiHtHsek^eR-OzRN2i*I!@#l3I!U^*P*aY%fSE|$-sSV@ zC=>O3bOiw3*!$f7yspU*fZwokEQH8K2)_+8RCUgStQgDOa6>uKTB> z3pEa(G@=E6T)$}(*&mCk`}pyR2r$f_X{kM7AHVVXPR=233^knOuURYp+rJA%Zr58D z!(GceSH<*}O%J_cc%nEus3ON4TvKy1j-WE1$lRQO**NyS)MfYaSGA8Pf?cDleV(ff zq$N#5cAi66JWE1pd|73+u)+prwROU2hQ(yAIm&W`v>QsF(^=V!Vtp|SEr5eJ5$Nto zG@ekke*nLg%PMw{zX2aR|$P=_AH$Yx=!NBpS-#?fP3v!Mc6?Qfb>eq8R=yFZUf3 zA)nfEr~_N-ArTazvCG*0G@v5<90NW8riMKV!StQP04%z(AEOvrQ+hB4jRuq_)gT)y zmmxe2MVM)OS$>A{MaLuXb~dF==H_LS7oJuWEX&Iyodgz8PbK?~_WXv+fp^Xt>7a3A3@rw` zCO#Aa<^&p3Xt)fq2ZmjQQCf%ny*6iE(;ZZOg!C?VLl6kF`o)9xIp1Ao{`A^ANC3h( z$#SNoZO~t#+RCX1aAt(~BJ)S2yw{t{p8ON#f`h>F+A3QU{Yy8jIS6-msI0d)$IfEC zQ?OBk1~LfX%=v(ZQq;pK|3A-?H`zG_^V6M5^nhRhRehqvK_8zN*?>mEV7Vkcr6pDN z`x7&9l9a;D*K!pwPw=zdfmYOAi=6HKjcq&jr{l1Q!B1F&B6VYk2Bl5Ge|NVQ>`KDL zd-i;%4P@q=-4i4e-kU$&p|>QRABrsesThCJR|*zV+y8=n^VjfnS7T{pNq!7I9os$) z48-Im^DX?mxlK0X0-o-mX*5*3RakeWY4m%Xe!|iBX|&p>$H4ZWI$aV!KM{X|ZEf2| z9QQo8;g*l5&cjdF)Y3lqJ38C%U6S9Og?^#V0sVnJ=rOjc(&!`7orqp5aAMMd_;umQ zWJ7S7Hs2cR{v;sg9L$e2T)8Iln`Bk3(Ve<$*W6hC#&N&L2QY=VEGX?8$mCqppg6OA zw0s%&%Edf1n9rH22tsFS#wtCmzN8>?aUW-IbTDyWcsD8OUl^2G!_veARgD%lY*a1x z=^fUbTuAe>XN7l8eaZB^_!`#NC#B(dfaqk_eH?VuXa7cgutOWRQ`V3Ht4kbaNjkFL zp_1h=VRsViAQ-&reKedM?l8r9d6WG|Q18}A;BPQ;Py+!(TtODgZq#u}WJ@1%rpn$w zbY-3`ZcA$w!)BwkVU7-|oMzDE69fsM_i~4Y<=hu^!GXiuyYUA{IKr5c%8ZiFfQR{` zg$!;0#Vg@0jtrf^tUnurRhQ3(tWD{;p1u=@w~z0~kx?IdziRfcX8YNcZ!=RI^^8b) zeJt>Q8%^Mf6MvH%Kv_%3;mLUu^2CJM?C+b<{6%|M$Uf(3emEW03f&kvpO>Ek5+KA3 zo)nO@K-~|Sg5MXd?!i(#kNSC}GsfN(u1K6GT?2e$$O;kUDlm79Fmi72W6r>&!{Fxq z(R^{T8|CEzEK@dt=D1H9HrTd!MYbzhsBJ@MXYNZE_}5jh&C`+{&pzPgNyc5w4hIB9Bfg!C|wFPeDdX`{nKk>rBZYFp}@53AhC+{S-5DFVK5Sd|^C; zfpY)fxWNV`6+vS_k+QLIff8w;=mD+&s{@pouvCJMm~3|y*=zQ+TuM2VQ8=OHvZ9Lm zWyr0c_d2~)aqK55)^gy^m>>V0o5Aam1#K!B&CrPCXhd=@!7Kdsi-a0TBBP?xlFa`H zu_4*$IMfhbn$>v3{-RgaP*cXxra|>2lpLQ<`r1*}kak?we)|ek{%3-34(1+`P&*zb zvtS}9qe(tW(`m)zcV(^nQQLr5p+=bGYuru2r^+@!2{!lG|Ni89hlKD322uTu8mQLI zA2@X^Z4-v2D}ZoKtP7?DlTtrP&SUiq5UEAnP^6=x?4Yd(INXOtHO!zJ(v!Ci%A*T8 z`RZ#5YG|3@-vb&omo#S=*=W=-Rcyb0WsB8XIdR+E)Sk3c*MZ+@eq;BAMUW&g?CR-y zA0T$WyIpK9ojRzunyu8Cw|QSme!n4U&^Qe7x)$A4RL4OQzR5P}$8>c5#jJN3V7tn# z9|{&_r?!u#yzTyN4^=-rk{?!=r42Ph>V7VnAI^j5&JDO<;-I?@X$H?r=N4tJt!!aY znvdgpO4wn|b9U_M{wAQYtLB~~TByiHE%%HTD_>b?<5!TW9#|``PN$fxniro7_qV$K z0u$SxJZXJ3W?iggTReXS35}EC7c7vQU?LfPv_2;&Dj%JIFu&*^54f9 z*du;*MCxQ~JF+lYDni<3iDtTr#bc+=@s_c2uYBL3X_#KpwAga34T9<4p?xuhJXR6d z>Wx5YN76qD^M=rm>IVN)f)zmx;fii^MM7Q}|M7g|U~`a4n{X;`2HZH_k|dIgcl!#~ z&wtk2Smj~(2C2Hubs$cc9{z@GgOAkP-f=QHk(DG4{a(7l ztZ^G+i9mOdeZQ7P_skhyPb2Bd0uCzTOy|`VKTgW;gdC8d>i*FxY%OMqI9VTj2|FY8 z^!%9zCJb_wXxh7l43($;Fhy%xAT;w&Wq8nCzV$2VT3%%7j39|3ToqYcqDVlY_jf?6 zFK76jr1461;0iCZxpL6FkbwB}vH;*5hYzhWGcV)-y=psGyq3VI(g+|X)Rn}xGV$y` zcb$IWSp7yEkSmIA%^QmTJU5M2M`B(L*S!TYr75DEtlTn3fvmQD;{-99;c1b+V8{~t zPj)^papv^R1cBjOt<&<=1)8TGqH4$3;2(N_B1%%npmOfgy_2-F;+=7nmYBsZ zI9fa#@_Trp(-_65Y?r>J`u}{D1H?OgBxvO=Z3%y0`=o0+P>4o6eh zi|6Wfym*4zs**{J8~%Z~2&2}JI%x*a2-(N4Q%+GD)AVm1R1Ha#W{Xl!wc)Y~*Fueh z;{?Q=)o<>OS>wmeMaooL#Vd-xb4loOLvJql-yTv=(cAv28V7T>I<2NOdm7VXb|b2( z2KT5+u>|)3%L%Mcf%2@%bic|1P~L^f`^tYlasFOaR9#=Zg2PSVC-L%*6Y1|R7c7$2 zvjywmqTR!|`{m~UM>7*{Pe^ppKs4>2YhZ_n%P{;;aw!zc1wFjUFxO0)1UZjGvgIh7 zjNp?enBIL49-XWs?bR6d?w1yKC3rFUatf^eV+!E`fQi&zU>&xKxDTZEIp8}5;sL}$(g~esOhkMln?G-pQZp~!3bNf+Pe8g;mQ%pImf4(E zaCj1HVF_{6N8$_e-JBRIPYr`1W+3i%8-s)#e9e2Ac0lUo)=Xs+dCiln#Ysp;y@>$DXT#)rjsSHE72$7s}fFkZWj z^2VDMc{d%qBc9|?R_}E@*KU@W!<8Rw&d^DNF!tRgWalXq zOetC65X7$3Y5liIpFg{LVw?!Z2Qbnd{y>ur7(qsiOZ%YZUwO2_c4ddJl}DS{k+#ZE zzydCNcD%^*wvBT;F?AeS(3MF4B$o53*ETk8p7Oq0Bn;K#D~4wh6CCD0%nx*C=zM9F zH@Pp<5{)pE>BiBF5Nk!E$cL2r zD#HGz7I7MmaD{Wj`<0#sm_uCT?h{%T-2eRhrC%cAAHl;Q_Do57ri>`i@MRnUf6v?S zm!{dX8Qr?6r1HPB(dD7E-q?yCVL#r?Yw%Goy5*dp=j;cPKg)OfEz*7_GECEA@>?jT zN@2FGc#+=#)GTY%b%|k-CHl3GI-e>7_W*cz!bGy=Lrr!6Rr4U!*`kBJCAhQT%3tRk zq|fw2o*Jc{YbopRLkPE-Ad&=UEAMLE&|@xs1hpd(SgZf`S9<(|PYkUC(e4Yk;}xtI zO?5d~!zB;HufL|zrlBUC*xGr!yd55D{Rhi*?81TM`?UHIPxT`Gv=0d}CS!I$D z4raa)U(d*}u_OhD`Q&Lt)vOlaZ1kIt?HIPRYg1Dyy+m=kf)p<^ah!=yerMCH;>D`n z?3_sfIs&R-kl5Gp=_?kQ7f@w7s=;A>bhR8^QhO5(;R{1oEmf7@+zetJ6ofxetgg`} z->!uaZlA1-p}Kp-Z^*{i7BrW#eiI+kvM%HdL%lk$?nTk(`_XPTt~c3k;QZZ%`i7v} zsQ>Th#xr;Awbr*&IgPM;_onfilCe@WuD(@fz);O80B_y5X*88*va@4G3QIijI&$w@ z(|F@Xa|#R3 z14^MX(L@l|09j3KcbRSR#`Nn5YC%UDP?~Dyh5RgMS1y5IwW6!tBEnoU(Z!;=xv_N% zs3JU(tp!w++ICje_F5Zp4sqfTzO~^Zi_YP73fmSpLaztL6KF?W)28n#2x2jPKO{U_ z5Lvpo)7Fd{*=nVCymgsnp84^!z8K6&j-!8?yDINmHiT-fZMYH_Rh%nvz_s&40I>`2 z>+608^v;()3LC1*wLN@IQU{*f#**QZhr6(yDe4F&JqF>BPx~&_ zJ44&lx#Zz_?Fafz^U{nEZW=1IyfdZ~_SPP-#|_sr@zNS=o*=N<*=tehYkO*5Q= z?R%T_NuA6GYI!{a%m2&@5NjF)HY6t}+y4v-KxfS5lds!-%isjXaA5H;)au0~5V;@X zMz7g|ipEQ>Mh>2Vr>9O&lA9As+BejqeiI4SVO{bvbsEc?Y02v=Ni&(z@9EB@VCfpVW1626l~|o!2K#GdtlvH1D;lBASfr-?K0< zzE%BYIc3W1$@a$M%7y(&kkkZfTGo?RENZUG07clZ{|}a=BS%cz>>qno1FInUx&;<} zi@iP)$n{$Zk{7X0h^Dki07(ywMB6mr>w5j}_+fM72^a~JB)$IiBHS7Q%>e#%ReEz+DI`X+CrG1+R}RJ?AvR!exz92 z(Ckd(;iBem=yHaz$x^azM^O#2(;RyiQYi5L(U)l#(^FgFt13S!?>-%E($J{u#?h}{ z3fNrffFhxq|G}4(zCKmSE!+&$IDIjZ@G*q=#B%tv6Vj32und_&PTp)IO6qn{;&}ct z;+cRGCQi@WGfwzj0i^5a9xd^Z_nfa+WCYA}@w6sxTyAz9!Ad99y}?B$Rm26&Y+A25 zToNdj60qezGdFygcf>c#o(c!!4Mfl-!^6|4x{i{yjFA1egn_wNMgn*-v0DnpmgYuo z;U{?|V#+BdPo{3hYhLQk8zjf69WK=PVJ+2Hn>2-95F&QN1L01j$3A--J`*U5ES^14 zAs_TnJ%NW|2iiY_DTmL^PPWqHM=L@KV4R@5q1FhCj9K8??XiHU^1e98LMi&>eWk>SDe{sKV)3%15i~-f5GV)pS44c2vqnOp7TN}4 zAO>VeB0$;jVl~yc1q+RnO>UTLv)RY(^qkq`ay(YHbiCzz(z7fsmI{&7ycu;9&lZQg zq;$KTZD+F()2~uZ=8TpB(kL!rchyqArqbQM?>*%)JFT>OJoJA0?#UhTT^dDdYLY`0 zMA=b7)~8LK`II_H(VUyiDJH{@6oV;^9GzAlef*wFzT!1qozzvIpxlysB#xjeLSlwmCepWjjWsWla#X0|&771MBW=b#a$-^Okfh7>>Z;wHzeCliVGZga5uM7Dp=(u^g|5wnZqC#Rr*k^&NQ6X8u)j*r5kR(9oT}M{2y{`7}QoXBl(o58! ztJ?;7naSZw0g?9r%~p4<8JXNtM-}B#8e~npWOnZ9dxt#tOE{Wax@P06p+?yX8 ze5A2v2@nAJp+UL>jVd8GB{t5GHuRQ}3H|Y(TN;BrbWi(P(QtmUAxt^@CI()*54tWs zUQ5oB>!FC`^Cq^xgM+nBeo+Q^yp+_*wDL7CiwP9vBo$`E%czc5J*l9 zCuxJx@ZaCjFl_C~A<63iTguq-mn1KHK?bOe^pQ6CnAtj@AyY%k+j%X~nn4;~rOfI} zeM#V6O#{UF{ntK6Urp{`i%oP%7DOG<1-5g#*HAva>8EZeiq0~mn8UWb3>TnZ28)O@ zOzbVna5~5?EkF?`-U#=wJui^!KEeLcVt=lg*Zac5@=}8)?bYR`Ry5tqD59&QKG+MmU6;dDF{6O*;cMq14X_IkaZ@;0;(oNT=F-}Z@{P)#){mm@? zSOQ>%-xpGTY;T1&zLRB<^*ohzhjUuUJ4jKA1s9x@CWJN7@VP3$6GTNkI2;H6CjLE6 z38hSNcJariiZh* z&1eajwee!Xc2?e=pJ>ibPn;+uNEZ~z^5S+oB9mEUDlRXA#{XR@En03DGB$j`Mngey zNj#a?!GY8%MPni_UTi4y^&kn{3Ht*^$UcK-lOHae{lhI62>zwV$7qp+&LLk>P9Z{A zOq9wFYNGsHQ=MAkB*f)u7S}b+;n3_I{SstpWBF)hHKZf0(TY@dD1SHE`2}YxPk1Q4 zBn?omW{&g=4p3d-(iXL!ov_^vxcp$6Y}%-Dh!g(;qiK2DaSWC}$WIgKUQN1o{RT({ z6H-~gWqPkR?Qx#I_OiCRTJ$`ejdXOB86f>ZNADyr^Y#0_hi2B#XchU$V3UCcS5Z|{ zLHM~OV$EJG#* zaYJxnG(O3jg?(~@FQpX|9YOK(Tl=sY< zdubnm9;kh_8TL9qm9Ngck^PRI;!^ecB7dC-XB>gDNRUVyAs?T&bTr7iq48z2ATGou zlhuw`jDeMLr=hml_kQ>L%lc5KOz4&TV$G6nrxAAdW9i!^+s8nMs?dt~8&ovspuc#l zimxj1oRaR-a)iW>2D{h!LJKwpx80jx``5ZlOSnVhs8=*%fvUcPrc}l78ip2yl9wWN zZ?N9{un-`z&)E*n`JYD$$NiklU`Vh|-o?U9T8 zY79p?kv&h7nx#?motzBVnmn7t;FN;OzTb@T*~(UrWNe9|SV~wWFwhu7Y0o zU#z1;luis%nstXByftfv0wT1Mf_e(bjy75N`!pj=ldiDMbn17qo8f2h)14@M-Y0c2 z-hJ#LM_DKXR@A44JXvg|xILNAg zMIV%PYT}Dv3o1L4(T=a&73SSQZ&epX!@c2iaL2;1WlDuduQRq|;y@43Y}sdg4$0I1 zf{&XPB$3cY_rbZ*nyd@SJQ(C=e^yiMH=&Nwuedgy%CC$^-C}t-Qmo(MUz~;iJ>^`I z4z{=`c6xAw$MY2LPt{KxOe-G1sg3@r8;vszs_sHU94-|JRYOdVC|rAIXXI9Qlv>to zI9cU})|-M+%4kyF7ahAr;_K;l6;mtDmiU$6$18SFbMNpKGaQWE_*E&}`i~{-fi=5a zY3JTdUF?J(sO`Ip@lxofO&$*Duq06jH9CW{_ZQ>HajgC%8d4gJC5bD5uQvAIeYASp zaJfN1mc8|1S37R_KQmThP3={+r)_H^|zPl+mB2q>-Em3 zT9;nRNv(Gyn`chfWQrI-=I}Se;qO0OvSG-TXY~NOY#fyZ^%&PW+)Ql9!)!4`o*UYb z?l@Lu@B-}DZ_(xG*=5{FUvFAY0`;x{p7ywW2%cuA#xaHn7;*?%GOU<>$&-!D%&3Y7 zstC(;ea`%^jf8DTieGDfvEU~2qi|aq;Bu5%c6P#6uaY|d+?osoM$kY!QWfq|UrCJs zY#x{{1xm5Bf)lAW+sJktv6Q@LFb7_8$~+`iy;f9GSy_zztx=p1lL{}~KM*IJc>3*y z@#X&2>*5O@1y~3S`HK3-*A}LvGH$Qm|1PB`aF5v5`R^ z#u%Z20Rw28QUzB)0T%iQ#!x=>fQJ2Jvq z%m$h|{+E^R!~|Dwt7#fXX;NquW&ZF0*_+)`1MS1}iyk%*&R_ba8Ud})zWP|#R0I|? zn6FI^){c)Cu}PGv`5hYam8{DokfSP>IWWAvl7|J!U4v<4s==lDFl1v35@paorrg@M z-9%O*RQ~9|5~ix8676L}q_eFejzuQP66u?wzh07{0140E*veff;3p269jZGqS>RGN zES1$`_r4?47^kWK{|raae~t;L?aOD+$Cl$~qB&s3I9~?#n;SWm?wpW=VK}n>T4zx> zWQ$N+Trxq#IittYy%X@NmYO{L&sic&SeKnHk>p=ufr%^iN@w5a9Y`y~?@4D|^GRxs zl7w#-(%&3HOq1ze2xCcZbvX#-B4^!igmP(=jD9x37VbByK7P!hh2V)`WP-`oCuTtd`SU2Jq>;(jrQ?1yzFxl5yqo*ORgZg$=+02W;KCcF?> z5% zhwmP}B3`=A>_7V2ikxnol7pV_dp6F4JW%^cFidBqIzZQG8{tbkkM?4}>Cxz#A6Q@?Y~=K1CPUXrmYykQ)g{a*9)nqk26Psq3jZ{ogyV_y5qgk| z-PN<0=^$)9);Xq?6iZ}sx(uQ9L?{sy#Ax|vW{$ z<37pL?~ic)<$hJXJvi7?S?l=VGaR%(!19A`0c0x4KNTn(4a0DJ$Yr?yYN2}YQ>rD4NNpd?6Ajh^Yu6!#}Mf7;VC(Kb0hdQqZ~YXcd)xVRoc_P zKf@~X>y)El;K^F&Q%9Yi+v*m5>L@)iAvx+8lYT(6$Vndy)`0cv28?n=Cu75XsA~OK z{~7x?9QT033O1TDhXNZcw^Q21bslC0CxyeD2yngsgw!YX(*9me54OKQki@MZEwmL` z+7R4g(_$L(3PvL=6wCA+G11}z`IqM>^|lFH9R^c6S)$MOonj4>bj(Y9cKyqSeWq$P z9Ke6;s;OX-DBh-42-QL73cC&`<$s3l6!SZ)U|u#Set;seq*udW^iXnDO}?mEM_L-J zXE%gm_80!D3r>*4@8DQPmr17Z!ZoGs;Zj~ct~B(uoSInwm=qGyziBS>BY!kT(s^1? z?>zYOl7jWy{Lp_In3YSZ{4H2btx@<1sS7~jS3Fukl^aF1jTdLKx_hh&DrY8O`{iOY zT1kCzz?4-{jE%@23r0W}WpxH4hp~ck<^yZ|d1P>K(q(|$mMY%8(~!(iF^r5h#fygg zi;ENqdl&ep1wLCM6m_FhE5!H5r59!=+7#E*aTrqpn!YtNmPD?MKeKC;=)1iL4<8Wd zD6@%a#F@4cGPc2QT&15uW!07Yc06q9o-U3OT!mwUA_d{%c}RkvqJJq^NhLqvQq)Ma z{Kqi!KsWhkvXN!vh3j<~TT*Lp3|8O20P?eH9NqblNIaE*wA2aKt2s#6OT@a+4x^U8 zgYh1x6_Eqbq^KkRY6X8C>h>}V9*F^ip7~DT^(!C_vftm&qtmnq{!V=ZgZ4PIO!GQ4 zt|%-b+5$1Z34gUTK0igA4;Q1YZ!ly9N&E<`K86|{Yjxtv{$8;NUxeBPqr9jpmGauE z(fOO^PAac`_hP@L0wxXvLE`S?vCt?qNt7&+$wFsFqI11E-y+$o{aNgwP%05XGw=SH zfE$2icv-BI*51V@LV~nf#hmxWg$yG@wfsh>W9~|~HCn*$Yz{-qq~xiQrP?UJ5DNi@ zQ@+19eUPx$6RQK)^zrPCJ%@GpwR@O%9%pJ;x-h)M?>w|&#g1xueT+2Fj5g1=fA*^~$S!)S_BWO2+KF!;%_v?IbVy67&D%O+ z9c+Z!54zu;aI|jODnAk8@^Agos}nGX@0y=smOWcl?)Bm#f3g%T)3-r*sjzU)K`J5l zAtgOQe|141)~+bM$+w2J_MGCEGy`82>sWn+t=VK=Z<+S-zukKj9TfMKvxxBVc!qyM z?9-Aka0jTatVQJ*cYv6D%c&FUS1!5FJg)w8Gl{EPv(utr?ZyCt;UyP3)nDAJYMccT=){Al#R}ooM_ZYjTn5LYD zw6fZ<_z{c5PmvHDlD$7UGIJgd1pz+5%V6W~?k?o8QBl&znb&7|d0+Op2CX3`o)jU| zcO;yUMN4c`98toLrxcXw^pvup{q_S*u!~s4YTo%LHeywJs#!PPY9?AhHq)?wPRIla z;PA26P!`omehCnDpJ&JWZ22Hb{|@8=u@~^6UL161)^etqoZ5>s!)=vX^5v8itC__b(2Nr=1D!_jE`Pb?XP@!6rzj`qcp zG$O8`1nz` z<7e>y@bpg6nRQ*)ZfrZL*h$5}A}?+a?Woz9@eActo5?B~u)LFYBPM`Nv-&Ol?SYuw=87JQi;@n2ECZUUJUi^$QG z*9Ev%RL#wWph-BftWrK7be$yZ(nfCjJb%CW1&ur5PU_+Y19rZNng0@^md;|!%-TVB znwq;cPvGO2T-<5<+U0@$S?lpmHlPH>2C0Kj_M`;G1zc?=cgy4~r9dR5s`ju@D7nET zzh9;o%s z-!|~1C1X?W7=7YJ@{eTuny>1;z2(LoUqi+=&k7)avS8DIu{aFL zD}b4V%tf#&P=o>jSmxYKBDpJ*jQv1GC9S_Wl+W~|7+nV~7n+^SEUprO&II2AICApx zbntM<@BkFk^NQ~d+QUio>%At7M@YcY#Be`hJElEDmN-@=XFiilUTl__*iu3zCOv=p zqBv;LG`J*1WGRr?9Q&G$FIXB7z1q9HxhA9GAIuwAkp97XVIia_P#55x%pE8>hj{6Q7@LUi-Ri2=gNh)bS@QiG^A}$N zuojfHZ+#*5?N8!v6y^3@>;LBs`bgnMY_qGxEyWH)mll86jm;eY;@3UZJ#ji-PAsyl zn>rx1exk!=&iF_A>mJbBf&V7Bd2l;Hb53eij;uQgZi4sS#zH@UAgLj3vVD$OoO}_L zBiI1F3=O@BXxsR+a)Wr2vjUb+ha&hJ~f`oGKbe}Qu7$w<>6)PPQP>G-uDS>pX~Pc3;B zg$M70BxUl_f;dU?m`&lhN+x|QHMlJOez-sH`_0CqK9RmeGKZwn7SH>CT*|dLQouM| z*WDJcc>uy9`Z2M}5TEuvR46P8LWF@TGX&tQqt81wg=k;`%qwbeL62AtwLZHFxsoR5b!HnVrCr5VTSPM8Em*IwEd_{<)VA zGCNnxZ|Gv*92Azu?n1%pf1ACm+z(ZFKc&XFV9 zwjL#-?;3;M`*@j{dhd0j7vk5rt2&2LGk@6qE)Obcaf{TG~9V z`9tD^=>TmRN(_9??fq8n>5~FhS4XQWk)onC)`gkJ?5o6hoKdeJ2*zh!zbt4>Bxk1x z$L+ezE&P8bU2&hUZlKxmky=(^bZXubWSC~CUpVG-@)_v?rk<9KEpHW!8 z{na~Vt&dPP_eTqLGe{2A<91!N`S$X}Xi|hG2UMYU{5Ww$qh2Lg zB*GE=DA%NE;IH1pfiPxSSc{K>;d}A zkLd|c10Q=#RD%$}$R$cLd4`*a(~0^Vd8;hzu#hEChQp|`kMnlz7^8!%DX6e=3Vtur z-GfZkgz&1m0f%lI9K^qm=n9Vi)fuXNWOZ;c=k}-Ujrg?gIQ=<8c}#VR%quB zNaG`DT=ZT@5K%g#5QJB^H~+%5CqRxFbtuvWVIZHTC8NuEvn0tDZ<@`>A9CChTBkV${0v?7Qm+BjX=^7jXP?? ze75?iFS%OTYu`R)dn$})s(_3(tqSdrc>$t)1}gauqUq&KHy%A9Wp=JyP$}K)A|OZa zv>GK~gi{>tKBOZcy(B{+Cz0#RZj^9LxxOeO_P3l`0!e3`lvqYj5QL{BIumM);z^m808qv=75pk@{^4pdAE1u zgj`Hek+GGIM&kM&^J)JQ&4+3j95}^VaQo9)RF2or655fpvrV>={!nuu37^S9t8p3# z1+)xOS-<+78fC-@v?aAoQuzi$I8HlI_6vTcdSA+NPURbneOV5g6%Yk0`No1>NV9B{ z+Mm&Lcq}w@$hn?>UH~YjjB!MPh_DPMqR@dC$p2|7Hnz^H+8cuzY6_Vb?4ZmB+ojZ9UqNCU6==}=8Y5_%RJ^oo=1{05Xou< zdpB4A>+gESw!$nA^z4}K8z4}U{>Y4!J9+a;5NmY&l5GFy$J4)_4+)NwC?|${A{$oDP*z&4oWPC4H49Br&lL$SC~&1F;ExQ~Z+(Pj6^ zcMHg0&c}?O)vFE(fn$mrGjl+-4+D!#K$0*(mo=Gfez8d3T);FMGW#G}{d-?96^8y0 zx>xZz+Qu*VBHAQHR}wnT{r&w%V_~pigx*^QuoXo|k*`MrBDNE9fk7srh$EYvZ_97T z;;&~*@}qy7U4o_~5hPQ$C_bEBJh_K*`IrgzMhb)~+KPTwtL{ar+K<-T()LbSX$qz9 z?rJBzJ;dC8-v__3m7%)507&;A^s7&tr=kBMpB8b1dx%3SAe+X?-^^VjPg7J zGMPGQaZ#LJwCMY?xw$VC*7(}7{`KvxS7gx%acfNa`4LZBOZOwCa8J*VxrC=@^~tu4 z6uF&fW7czTw^79#htUniQ86$*#vAaX%$T^)l$2u(a%F3XSDFTp^tV3Kw02I`JDOb1 z**BGqTd5fTNy$8T)nPvCp2Aqa;hUZV%sC@^8W%mHuT80OkH4=`E9>y)ben;l7sz#v z*i5F^slTbt!TB5;kWL@{zV;7m*674?SRkR2%)p!{B{)7MpZx3z9#8H*-Dfd4atl1%r-g5(LS#K6=7RKriQ!X-D{ulZ`tZb;@4`*>9*icfuY5Y>QJbEZ!pba(;KG?2=&OLWYBfWvvcVHCI~Q=SuTE3n_g^o& z;iY-+cMOa>X%Myue0jk`RV{o(Ac7fZ z_`c@GSZP-(Mt2NBjYDBXxg6I47=IUSq4WFiIuE5lRqm^)hCjQd0$B;fkbkv}(X?dz z3n9d0?^D3*mMJ$+-Q;TG=?fNu9*E!xMvV3+!j9vqL4&|2j2PhYT#oQFQr>mdaEsgj zD-V7skheg$hbU3I`BR<>u$35){^|nS?i6I1T$G-Kt_fhZ)4m)j`=P`DX`?kHL?&+2 zU1O`mEYZoUXhIB`$>wiB(s=P1OpCQ4;~EPBA9|SQYizCjbIun-wx`bGdWSSn-%Z5> zW17bo5-I(7@DZ8eAc{~0aswLPP+QUgg=b%j@&}zH%l|f(9gg`}I)CFh$g}A!L^WPc zH3F&IBLYEj0iKobKp1+LiDXo{=RqpS$ zg`Mvk#Rf3JUhL*0UQYtg#?xLqbc&=lT5zG$QD1b83|h#&aoUokg;(*g>m-;zDnlKM z(~9AoI|FqN6VE&u3{fSaE^cJc1Z5jlf#pw?R(PcWxs!H(o0fw1*{T0j8G*PN%-=MA!i1@SN^csNNy z0YZ?<`WhQ}!R6FKmp%#ymb;9RyBK6ZoW5Q}F`(D1ByYzAdkQn9%+NBLzPOh-kOO7f zI&x@(?6!v`$GIdcVBYAYRlLgx1s#oQvW+|t_H?%`NWdFFC|_5#8-g{jgGtwYbp*>8 z09cQNS=K#iRzr1Rl4>DdDIfCw^uBzQ+$bN*WpGi zz|o1!v(Gp0C?2~9-nffZOlg6?t~~Deh*LFhl{EbvALbSF=9>m;u{H0@0LFD7TDVX~ zL1W4T`N;}QX5`+`>)Q?UyBxz(8vPu_BFS4%xjs|CQbmI?4BRRP9Uzhk;91D^A!=~T zh#E?s=W_3Q$R*b#1Xq^orM^^r?G{93iF{Uu2a~nsZMJ;k;x);8J|I)?py5drG`RtJ zVq1Zx9cH|u+l3Ny^^5gNJu2hGiVH^aA#Q<4e>Ls$`@%k`)!@iLY9|1NfV(B{lij1bd24Pk;O!mZmWrHcxxqyLaBKFF`%7ro%-R2X!aKmr)am(;DExFlY*$6SzRl%kwj>`bWY80}%kl*U zb@LM6f{TDf_K%D&tTw%#$)d;}{}mjGhfl$~NJWm%mlaFDakAbHXqJ-9PvN3t z?UGz1x1-U={RX9f3W{&?^ajBBCnL)t;>`0yGYBwvoEz%BMP*}isipAiXgdzXTEMIas zgpe0vKtzG(0Nd;hkwdHSZNE7MD})nvuk1`-j^H`fxehgj2$W8ly~AL=MlSrbgi3Lx zb_ELezHvs9(OZLff@Qr$X0Sk zOH2jY8>UGy($-5ff0?u>Z$`8?G)*MVmU7Y?TUZGbD_dAG7b?+rRO_|;A!6(-MM3>; zSA2}8;0=>SYQTmQ>a>3L+osKcpwtZpYK$-z9;APYPp0bPj3y<}VB+BSu_TaXF%V~! zyuw*E0 zDV2-4v1lB%+&)AQ4hrQ+nrj7!7vTY5X9}PM<$u{|AeuDlAnCv)y%_xfrK%gCFN5ea z77l`$WQKz7(*WP90tmh&@-9B`<^s~@BDzp5{~){l^d-VB0q{+*^M8;arS3aH&_h?f zH%)As!~(6lIb_p$`}#hF#ZRh!NkQ~2`2i=m9ETX%PLg**irCa%_dwG^_!5OVYaL6t z4Qx;Sk&m>qK=3g}d=|X`rF{Cbg}CBmfq%av0|+~j=l2f&BDWQ%mrp)jY~DGbcjV{= zT@5-kYgsQ7=^+B%T0Fd)w60W%8X?249P76N&~(CL(yl4NAG(B zk5+d;r*VU6cjZ=x4&SOL+%Ye{gagYRI4*5-3ZBvsar)l=qdTbO@iKS9@O|ofQO(H| zU&mJCZME$(fWD0){W5*A3HzG9ExTQ>t@yYUo+s-Exf?2~9Dj{k8+MI}tH`)oCd3LUkTIut4bhPPngGlenWCH?x@5=*W36eMR zak(rLR8`S+RivleEUo0@7M(~Hp8Q%t(<$O(lAj-xLvG!QeC9I`BF;?+W@#7h`Q%g+ z=O~7>lk0*wR;o)uTB1F!@gEW~M>%#J;Y{!4{B<+Z$|wmyZTA=m`jidvHA9 z22CnpiYCi8bo#ZC0JkywnO#P37MFWwf8zaq){!3jF3~4ZO3q6N%{)d3KTat9pn44D zGf8r6BlixPZkl24=K7=_Rf-R8R38O2KJP=@ir|}w-81G>OEs(;?N>{N=-cUBLr_B| z3;7gvHK__vFv>o_LTDo<>6ruWxr5Vpt3g)|e^?cK7QmMNgsO1{s&Rs-d3@*WxB{2P zF_d%z(3Hvy-$h-)C!Gx01@I}*Sc6G(0!e537UE+j@yvrX3R6p|D9x>;W1sL?}14}7ouoDSp)lRnLr?>py87E)3_=;`yMpf$)$ z3UbUMHLX!1tpxJ9_P2`X5)fPT=ByvY$G-?$1)H0{Tv`+ncY?goZO{(rKE>f@)kBID z{NJ=JK43+9cAWkjcR(08l4r4g9?0hfe)iOowm&@A|52kUL0QLD&^#<>+016itT&z! ztP#Ux*M*FKC;p{C*op=SBOKB?WDs(O5{ol$(`1OUq=~U`op)kC>2{e?GYydPga*Y+ zIOMq&Boe2cnQ=sU4`D997Mvmm?A#_>CCb;6(_`LDHK45v*8-phZ0|&uj>)T*Tmjy? ziL#v3;a}Ig!&~hJ*S68XP&l=b3SunBvu0cGuRqO?;|)uZSQbaeqtC6t6+~jwRMc_y zeJS6=y};#BKaF8bF?t%)6iB4#_MG07pRe=lN>}FN(`oz0^#vjNt6$b#nDdxh%e><6 zo{z^rMzIKxC&FMcP&sH;!6Cb(Wq^RZ8&9)Srfj8$fxU6Hlx-M!1{-sDcpbf&_9G?s0KZeFu%G<(4$%)s46>0l&`R$_N#RjBw*|*dAA! zrl#;CpUVxC$GSSu;%_D&;jT4T4(WF)B)a`9`MjN>PXw`?0AOQBF^Rf!@ z!$i?DOBYqTZ~?yQFOE&?offR-icG=2t2`^aU8{SS)ap87{U!T9#OpqIYB`)KAsyb^X;pPUGreh)ye_;IIR9ZLRpxKb$pB&SILFr}ZRs?Tw z^*bvBv-lso`U(+oI4Y_yC;{K1sSUpS)YEp1P34|wC6?D{F5!xkcf%`2io>67xNJ>aBQOFhp*4Fw zer0lsh1u%@YXwl4n5%{DUk1a$PW>H@6N4 z6>5;cTS5X0LjAvBVF442Q5z6((#@zqS;v604(ZY9@x0MmZ+%>YOV{=aDcc0uv1>{~ z>RnRb2TuiohFNh~32|VV+`SVCs+Sl>ut)T&0w1m57H>sS9h+9i-p(L2_+M~rU~0Fb z-j>L<`9hKGXc^Mj-Om~`_+UstSP6~B+7~0Hz84-4{)$EN9(j-bH zgKdSJ+}#4g@Ql{n!SZ&;dU}`_1Ox;zh48yF!YOvdDlNx%K)RQ^h1vu6o?wcm#fgoN z^f>H7P1YVdpgD$$hpL+l!kLN zIn0+1(s?R87ydTJ@#s(|xRy22LZYdW_V@8RGPwwNpnz0`z5s6-ghKIP=priQnuIvy zvN?sJH>A&1W8{s}P|`PaM=%DN7KBd(IyzQ{ge+)Ca>$W^s8=un`D;e}VCeoxP!HEN z^PMVvP`B9hVjaQOt^SR*Kv9LoutVTV7A^jd`)84V7^~vRpra==r=2<31%w# z)MPN)6aaN0C8G=&fQL<8J~>Qu?^pRdLW!m>ZNA{Rc}@S=IhDZ}v6wKt0|I|cuzO#Q zVr7k<2jPfqG$_!g@K^vOA-Ey~l#nGN9dt86RWM83@JCg2Y5~$C#9!$>^0s%+jF<3P zF1PI9qf(bThEXpbA6y|(G8ea#012oVid!=$PQc{8K(eq=Jxkz`xStB)GSyQ;4Ri(s zcLi79kwDfnj&tGJPO-n=I&dO{yeCD|FBQJd7HshO@VF?aGe`MWIp-mABj*#vAFJv#`8M-~dID0!h+> z(=z;aaCFMnwrYMCF&PokfS@&kz7qny_3*-UbPis|-&Q?PVkjraSLTBFa6zfoVZ~qU zDB=7xstmU_6!)7LG%;Ws5{_Vnopq)CjT?IB7@|+<4#2 z!dt$JW03%E{>8qQWps7IWb#p6{m+8xm+Pn#rHl}3xUJBtC?>#42eh108c$pA#`xe! zs4%7kdn|bl>Ma0*;nE=w+Qawt@w|kJ{*!=~1Bo64*tkeq5F%39P!k?IK6v>U0LBX^ zpYVTek@5cl1Mww5MFAYOapCcxB7$heo&}@_3;#jM>ON$KC@x^bH*E=a3Wzc~G&sZTCpmz#KcO?lfiDn;p zcrxTHnN|5;o;aK8(K=7okIuKp7PrqJ3{Y}AM~eD|NCj5_%;as3)tochU7BU|S7bPk zJQ3g6H%q)$bx-Y^1W2hA5Dlq=qM!{E{!gi2j3rP9GDm?e;2=_H0${m+sRus)=^Z#g z_i*ysey6SL140;j;CdRAcA@2xQY;3Z-JP4JlZfe0r_!b_i(kEtAC|eA!%>eCNfkUDpI3YEYscukydExaZ(j@C0BrE@LI3amcMcI* z-<_6j_Xj_;;_3_Se49JOrtMf5t;^8PLWc=ZfA66!_me!hr)j%eBw?f;-><=254XySIYy5mlT zkSs0}L6L?Fn^-{Q;7+tv>b}}O#k-((9ui!F5JivO>SnaemXHEd%%c1aYM>!Vd^@WA z8ga<{IMl}E8^={cNy=tJ^`>{73&hdaD^!V6O&I2Ml~)u$+B{kCesthE47)4N9)0S7 zq1?ZZsKgwy{uo7+&|pxGeLHvgUN zAKc!53D|4Wpdx@q;SQZOeC=gfI8tZK-{(vh`{Ek9bEK0#K-`k#=6AQT?mgsiE255R z;@4A!CaEKEI7$4qV1Z&u7PLwd8ebzeuP=q(4!06i2if5Sj|Fy4>od(VsEzhz))e5` zOR~sDLzv||-5L#5wCft4*?MB8ZV$Y1U?3^lm_J~YzlQ*xwob?=i7IIb;!zrpQ_y3X ze4>J{X6#?$dc-Sd{a4RKe~5sE3DovsLE_Z;_{KlU_Fsp~>-FF85MH45t?UrUp+g}z z=1B`jSPBb2dc>eW5};e}%{K$9j#ZY?W0|44qr~m!6&Iw(ORdrx{QpR-?3^0$Hv(C-cgJ5(C=0Kube1 ze9jSA21q2;(QgvVxtJuFN=Og)-_#mIVKysBkRo@Fx0aqhkbt+KM!MM+^e#u2QG8YB z??u>m2+FERxBDj84Ahxq{M7xlirPj6-s?d!;>{#WeFl1aK*GMaKKs$9 zkZ>YvC-;jF7Ds@#6E$@Me(d&{-RJ5X2%2YK)l=Xcxm@mt@sR-Lu>b@0s1k-jqbHWIverhyb{I>_#QtD&P0H0+#lCr#@gaG* z{XWyEdEz8FBCp0GO3B~6bd~)HeN_*2gIc&Cv#Xm^kOz4^Y$y?wy!SD*U-E=$(cs}( z;{`q7J>b16EVAFF!q2MzrbGR~kCnuhy=luw>LO=JAT0rT-Oi=*@rF~x%}t@tMe2^J zXyH7c?R%?0@hq57Gga)0+IJ^Vm|_%gU{I1+^#_RU$qjaI`Ywa{Ia6JGc8JSXCpGV$CE zUu17`YGtHQN*PRvUam>#XC`9b7|p*Q-)G8h7dZfFELr5@Rn!3}gK=E_Ib*KJ9lXN# z#eY}PGf)M$vM_xLru=Szu|%;shzpB${&MK~@TdCBs!J?y{BqT>pg}y#RF2!*s4Q>X9;NNm0Va)?i_SCBwMDZf zpju4TATmr456c;xA>VV!vN;*uk_AbP8tbwB*@#Bw^}_TtRjz*2x#0GpEo(X>nFj6_ zXhh))UQz_6c*mv`wqN0#We@0$*p)YjOH{Z&mQF5I0;K>>O`cQ&^(78Jna`UzlEl{y zacKm8I>+~c;m@>tSaY#t*c^YNPgvnC|G##_^ncldY%CoAON~h$`~!*vsCX_PrX*Eb zU~6dUB;~}i>w(!>a!xBci@sht7xGnrE~TJn?w{yrwk4?H1a(HwES^o5E=|SU$}uV`Tjx0R(|uZ9&GvkiM)?13hr2DI9j19pr`ozU;p%sQE<;xv_|20?)@H(8|cBq~~D z3De(aLKHigZoGv6?L`EduDQ}b+sIzn$^lE6dDZ z9KvM1w=B+4$+AswB9WSOZKe-GYP_(R-&Koa?s93I5a>|UJ5(<4;9T;UH3fC-PPK;Lc2W~6)by$Ft&m=vN2Xt zLftpX>amVxTqzA=QGU306}-Q_nXShpbpr#q&S3@KBEPLqXZ{A7@xWidNu54@9*s3sHr-UNQ zDphoXAFX$%ff*IB^Fr=5b!?uzjJ}Z?HE^WZ;SIJw-ytPzV^@E7-7LGgsG$=OJ*r}t z1;!5oA*nF1B#1qmkzWCKMeq|yG>@J~%Eah?3NKCC>L;^l3XTJ*2l56ei*oHo_{lxl zSiUv)gbo#9u3PHF3RdBC)k?CDwh9-H@uQ>!RuMVzWfjo|~$b{y9oiEBfNnavmRYZ>gZ?qArI-f*(um!WQ4-QU6(HmgDRy2ioocT_N2^Ysv?sCsh2HZNlzgrPKccQ|e}h zY!YG=ZQ(Padg6u3+c)C5AQ=JTDkUzUq)3oPBqAIF&u5g|*jUivn&_((&eQu;Q7rz$ z54vo#R>mo_=_>>%R1CmdHg}I1N>L5)V=iT_I2QODQxw#ZGd{>rnI@696`T*1GBMk) zYoQI|Ec4*qqS!tfN{a+;K>P(6piPY;{lrDKvig~VW0>}himK0GNKsVGd!jDy;nSCP zEpWB`i}0;|*Ls0)gj&7L7qn_8hX#c6a%Df=LL|uj@2&gX<5hlI_Pbza}%j41F<+7csZuXYY$fRx#0yrTunMvv*49T z<+!slGl$ukv#HXE!fYVbMt3IRrb3LahCMwEyC( zhBq%VvtU(MNMyCFW{cQ#F$XYAkJB(LIG*@3om><4crvJBZYBHsCm1N9@LgY5^5No= ze>uB8;=mrWa|*jDJ59K${ZrBTP7$bwLK1gy3>8=o5){_o<&WG@;W^bfGH{BGUv!hk zhXAsE+ASJsmHr)evhh>e3|UKy#3k#kuzejCYhQI|F>q%^@GVVloZPOv()Ukpt735N z?l|zfK()@sOORtn<{Iug$X(@kJ)Z(;lsVZ@0lp)Z#Z?D#sO>KtIZmIbr`@2r?mA zPuIPSO8l{uoA?D%IdIxJ1eCnITt zVgq9)Q)`3DD%IQQxL`iqcos(bp$adq&SQYa_B$vwkvZ?^hGzWWY;y}v~y{Pgm3vUwG%ziQlhkE{)X-4?yiXrhI_zV9;s0Ozgqyye;~r-TWwHb z081!sBjz%sW|8rfgdwq_gao+6V$*0xBIQYoV ziA)JIiH_A5sgsbFWLccOAZm*&=C2zzU zOl~iunMyBEySBLj?%gSWPM%Ko(gh_1Ohd&P#R*B!4c&t6y)zcy{)@E{Zs;M6EMDC{ z#g`oR^X<#y5+IT;FR%;O9`3GYRs)tyH9CXQ@tGy&`!`&W(tGI{@AasGlT&PnYoGS# zgcA-AE7uS5Bt+Rc9=m<&?way-hBIA7Qf;c4+zzLp8 z)8v0sLacqW+zZ+Piy}>3NjR5+6!051S!STVcGg~(bR200Q;nz^X?mQ;4Jw>q{t?7> zP$1?c-pocWmjEw;YbHV6gt(MOvF?Cq$ZYSxTSG|(Rq}^5B$Bhh`NEbew!ZFDc#%%uf`vO)@lKwv@^U_#5Gg^!5iY)O_qOCraH3qF@SgH;o&$7T!eSj=1Q z?7-PT3|YbT9;e)h#!IHtuTO>5zM{a~yflIQ)Im2O3DLHw9|A?t+b(1QKVS*)@Ku9S z;Od3}U78lcBiBOoB+cbQoA#LnyimCPy%ac9Q8y!c{X*dQhntHybez-)^;A)(SDa2< zZjyZj4Qdw)NV-Rj)L3Tw2`?~KKxh}uz*-n5!vmy}q$oX4_f8~p(Jp}-+#PCx2 zuY6&$a1b&O+8SEG@bLWq>J>I7=Km%daYIl{fKpjYClDkBV`(92Q4>|+|0bDq6hFyA ziHwfa)rpR0lPBPGX8qz(gQO1b*dTCZ8qK6lrpP|Re?w4^QO3;9gTsi2*6C3RLf*08 zG{5I?J^5xx?aK6z!~TK2HyDIV_qu zz2^)dEgH1g^4^w2524=Ss}IVYR@TI6G9I!tP!wXcMFE)7_{TI)U)R09|DVYQuA z@x_#gb}qMkK#cnwqU!kQs^fqOglvEIwyfhv#vO^o zi&Kcnr9kPd8`U-@}bmX%Eh_B%Cp&tBmIQRwEps1oMt?hAOB|7mk&aT8GX zqT7|7nOqMrffJaCux9^Zgl8?DuP$G+X!Xs!N1&WqJ&{0EF%Pm5!q2O&8a^#YTpb!9 z-s=Z3j4?*@V_pM=G`PJE7vI;j=U(24YH(y_2WH>lwtE}=#7R;yuY3iPXoFqEG7g3O zsR6YTt>-Krpp0BkXzogpHo3oTdIl^qHRyCeJ_ydB24Ia!pZIx%`4-Y}QF3|8L$a75NIH-_68T#D& zR~A4qZrj4i24KV@a+`m^n4z-Ti9K~nLRaA9yb$6S23H(`AS-LlMlyUK-GFM_$co*~bQU zhH14jB*^S&Vm#5~Jh48JQV|5#kbBjeezo}EGSFs#q*@nGq&Ct4ekBR^Euky)X5_sd zH-#p$Gr7_$>!{n@vwN4k9|7nzF9T9p&_y&KQJ6CeggF_C^i!Z|k2Hl+Iam_%A<*U_ zfyIm@nwZmnOJk|kcxPa-)HhBWB^)V`aDpdF=EslVbH3la?h#W>JzH{U3aDxg9fRPW zq)0DHYHkS~K;H+Q9@{Uuq?;Oe!#S-f)+@73`HS5o4G%4G8@P5@LjW$exP~0E0MJAy z{xKoM+85Fl)tV3C(!ru;iXRiV{gkqJD!*Fm-OfK9db(=+uT?Y)pK15f2>v+MX&JT& ze;N3Pn#iVjN-@i`jE9=^_Pd$)jK|Mp7vmvhy3kzv}0tPTtQ7Q^(s}Dlm3aMNG z?@1w5E}#m$2ytvIQ{}yW|K#`$n00nv6EoRkNMY!aD5PI9lWND!&jUNH*q+(XzjvnJ zo<2+P`nQyN*Pf8_6o)YH3|`*DAn1tAQ{5CI**!jk@_nOeBY|z{RtsqzBtNd`yy8O+ zl%olxa_{ki%Om}++WgBG6kW9$@CE8?5vltBN=5vxJZiF#`OlhtpAF@|908Ryt@;7VR`k3VBHdJj|t^x9hS#DCY5TynaPZ4z*B77uB=$o;iXzJYXy@ zr)SRYk4NG~eklWK=lX4MKg9wvR*5uEkwFKnJNP-f&X~6q!!P(-2ERV|$IAfUpg}sg zTXeD=(A&HUAWyyFpy^(DzaGn@I}+u4{r5J$xPH0_sKTNY1Z{#eCf(ynsjl|^j)#D4 zd6X6ijgY-5#cn}BTh5{4OM-k>`)8BdxtH??17|JUkp ze~?%QK;GWb6zQ`1V|Xc_u|uFU-6cpE4c1u|>2Y!OXN6I5eu>0O+ZhS$>}qteis1;+ zNu;}2tTTJdgfY*mnqLb-dH8W+l;Dn79kZlS$nBC=!+5a%GgK2*L6l`oo$e*mhrkKe zf>m!nn&TQ~n|q|up;2J9%4HEr-Uz5nTG8_X6mA$dmCie)`aCp6c9Uygo#~{;jW$LF zz@p)-E130Yg;;A&{b5)vYPto{iI(iL9ISNdzwdpOBI}DpZJ{sS^4*zu%ir?o3xbLQusov)u5bZ^gOZCW)BTw2`ix# z(5d?uiH?|dUN)2Lbw>Hf8OE5)1qN2GpJ&}OU{%8Iw7T+YrQ6ywa5u9pmd)&zSgZI( zJ)gKq@z)1p|JN}#Prnd zXcHj5c0lCRsqW^kb~CVSI$9t_0Ot73S5(oh$DRwF9&IIhhxjG=>ae*9T|KmPoss`w zU2Ikvy^091WcZbIKY;SELL9tPlJAMcv4|TUfPZuJfQVl978z?KfYvDZGSGVUfUG9b zT=h?dZ<>reO7-*^X0?C4KX0!W!ai=+vwFucXC%Od6|vMlw#cnu38U4*Hwj*uGqUX#BS4Sfi@^^HCEHKp4%_r39&-T1|B+O|ze z+?Y%qk=GKXS0~{vu-V=n&b3aPd>VW4?0a6<9h_bqZT{7F5zS%wYGJKapGo%6v}mPw zu~lf`8UVY5=%1UQfxgaSBJeSAD|{W@l@*8#)YjGPk4>lE>e-;$LWp@gek9Ac z!SXWWzy1rQ3ndV@kg1r|I#9(1A3;`b-IZzatxz4z$Bp>!7PvHNzJL-1A zzMTGTd@?xo8_~O!<>eB5u0hv42m!ce^6nd-aYAYS+L3P?y=@Ok!Bi!k~T_Bihd1 zjGc%`D3s}U{xl*Y>NIboMluSpC`KyJK$XBLkBTE~wryn+c)VcjH2tWwVs#f%m zD58>E)v1Bpz^PIAejCOYz_G7-*sI?T^mTQ0*bCx#_xu<9gi^e=V5E z2n_Hx|F`hV;OdZ%thYx-6om92u|Tg$rm7M=M8)cDe3A@X*gOe5d~j)C*3w{hBilSB z#hGV&ai{J+OZbc9D{IF^x;-YD)?Hd!9es(T5TO7Sry7ODNXxO4g$lA+VV&?=JqKVwgaA2Cra86t4gGnI+$|x^?{kyxp=OoY5aMc zQ%X7zX}W3dhzZK5Fys5mW(VDbQ&b~oj%+|0CCwRW>+3hdGwGBWgx(#o#_F`*!W8J@ z5+f}YSxEXyR&7Zk!IC~Y=#@EEc+iHie+apZ>0d7+6l8F%SAam0o61!^bC%w(E=~kxIvNJVD z_7Qpt&y)S!FN7CGd&AT78J~eGt^lCIiyKhYn-_q|SP@8!gx}%*Go@6J z+kJZ)>j#=`*!3pR_ImyTo||!`9e!~79tHj2RUH@v99SurKwN^L=7Rp_!vU|Bcdyj&)34*_{BY z1bAHmPKg5a>cFesg$Hq_@m?!#O6r692u3?UMr>cr(jf?vilRYMO)~diV9^YYnI1X5 z)XbKIW@y9Nu&;4h*l?*)#Kh<3bN}K+I`S#`!R3&QP4P^%|J~GL&ak83gK)WG~tQmQ}hC&&zmDLfaAqDY)6XPx)I0w*7x}YI4S#CoCG2# zcsA(hdTb(HSvS9cPJR*byC|F`hYsbX38ih2VIHJDnkFxc4zgn4I+WK@F0KtzQ}5T0 zF=p6nck_)3D)+h!$aP0%-n!FLKvtsPB^0TR?KP!kV5lxMfU_n*(uM&TH(?RY zrLebe7-mjhz?(o%V_$U1^)i3fuh%sGrY*u_0rDJr4HcP*b zMp9M2TfS0~+uN-#9~u$WnSu=#Nj_nwnE6>zWb0EtSvKlnMgm(Z>p;0ic_~(DyYgT} zfg-&yUE73%b}a%ObaIF zSWWRYaI40f&ZdcDG7X~kTZW+ep~F_h<qQ_?lj@EAGBD(l$WfZM+`b`I7;j zFN?MlFZV47oBl z%*R@H(9u@9o)+)RXnQNOoU>A~0xHoB zoWIg{UII3$2AD3f$Irl8R=$u=V4q_aS_)OuKlhQP4M+I zi+6&5-b0VCc+0+4>|=&`rcd;NhRHG%#8EaBD{gZ?A-I*Q2f(+_1p7Hj?VJI;1W%{! zDClj6x~>_^Xm+~ix@adB00W~CEOKukrx@gctw7LDWnIgd2(cHRt(i3v<-yy;H;`>YR{1zaWeB{MOi33Vg*1J6t;MpYO{a)LDz-_XAbT@f& zRxo~$o9!UZ2BF59df+dy-LH0EYlz*-a7R_Z{HzeN04j!1*Z13An+O;G=aMwYO|GH# zIz&lE0&d{j(QjZRHO`h5483bN+HSttW-jTXo85Kq%o9mF5|=J+ z9TN=)KzbI5Uq3>`v`vI_uvo>fHPJ^6ZOzuo>u8J4I!=bRYn#Nv>ziMwDBz{|ZZGhZ zF|)+_S*i4J6*t(wXpH`FWa8kNigs4bKL##A9F+)+VY4>lQe{xF>qE25 zivmZK1;s@2Q=@Q*^T~htuo!r^RI$@Rg&tjC0%U;tCWLdJwfrC9&eNL<_VVvG97Y}U zL=L(BV068gt#^}zcjj5bVg3I3vzrdjRw0aB=NAyle1I>&bBrPanCLorS+w@mj#@cs zBZI0EriQQHF=;2)f`mJ83J@+@Coukv^e8Gq>jh;ZkW!HFEKnA}p$3Yl8o|~?F`j-u_|2xP) z*!~~vOza8D4wxCFA=s~MonjdyT_Cr)cuF`V+-RCA$FITf*pl=023FkGslFVL^NJVo z1K|TA0FrwON_1;nsa!*}3ntI;Ac5Dolps$}8MK_DX*F&p(>uMRyJ~+GqLSo4Zgt3Y ztFPImu`a<+wyX%6s5MHSDK4Gzng3p2)afdZd~IC{1*~N*UDT!nA!UU@mIi20jg@5i zybh0H{2_ocOLsf8ZBs{~g(n=^foaJ4WIIUY*z~~dXX-PFI7mI>21?+3`#NU!b#K?6 z>MCM?QSXv0xc&$8o$0i<@cdj9kK>Q{4<*0@{p#ft=@ynLti<;6Y-65S-L0wbjuktaHq(GMle^^ij=*EQITsdo z96(ITb3#%UW~xwUb;jglbMC7XG{ok6Bos{k2as7On;~l`iYna5fq%!Aw<^?s*J3Ax zU2!$34lDUPVl~*gYQ@If_C7L<5s&s4hpXWTcnx;AHuKD1)2^=ZX4tNMzpNCjtMo*Y zF+PJf8^4q|O?Y$-MD%l^%rj!r6KCvi=yFNA%{Xn3Hw=?-W|Np@0Z~Bhe%!B<`VA=t zB0#mvL+Pw-hI>#uoOav1ZityoXH{2CNL82dc+|cB45k>jXyfe`C=!`+qw)UO%si!O z5%~Q8Kt(UdNCkz**zzWCO2dBW-d&nOpHIGFSSQKsW>Al=!WVb&y;c+9|lciFuS$`@{hk6Rmz(l66CFGIpeXkg$|vt6e2z6vA1?_)n;h(5}FN4>%kY8FTK{`uUzX9#n~WEC6{| zjzE8x!_|W1@z(dj0`{o_^X*?;DVM;pAH8{0ROl8Mr^hB!o_R;fjx&QW#lrRLyU@?; zHapYov1!zgX)$AAFR ze5j-OT_}o9U){ek$>6ZQ{>LVzy8NI?!0f4Y??2Z6oQe78Gyt`YQIzd_>ZYWb-EN)F zt2IF(j&x}hET`)b10ri+E=IO`W2VV;0{$h$wG`S3teJ7oq>A%fmnAiu3?5PzPJXT~ zzPA~QxNtI6#$@dsiU8y>6k4*mKNKs4hvax4G*^|nxlSp*Q@RnMRliG6J0WRb?#S%A zMfMg96CTrK%>cD~pGVf3vY`tO*H3S)g^lNh1mb>TvtSsJAahY<1EqzTS{YF{OLovd zQ}n}9Om8VtW%KfP>nymKni%r|#KwP+<{(Mn{M~TVb4UjB^b~>L?bMkFa-J#0D`uFO zxwSL>6FmdJ-YAMMoR8uq!QE2c-GPy)75V8z68Q>))&Xs!k4B15ZvmMPRP+-UM2PHb z?mRB_FW7o19xCXGp)X9namhPd$+DFe?spdhsXd2@6-2MN`zN8Pol4CaOmV z4vIsf*JcZ)_AaUP7@4WBl-lTtH}5D-=nEb!R}C+^7}IJexKM_{P}9lx9e2%Dcclq0 zq|1ADl7N!^EG*iU#PaIxj7bazoXKuEv;li7C^ql+K#-A}$2T~}C&=W7X;C0X2#cja z7W!N4UA#gTytdLIJr5vbBr!d`O3esGhJO^#lci=)Nt{DT=MR9y0>@hh9Hce*vH%V8 zg;)>HEc6-tBQ5(X0pyZr|6A9Yazd0pH(5__Qh?tn0pG#SwjlW6RoQU_8ngLD#b0keyOFrg%j*!CY-TIh5SkdlN|VReP;LZ`G{UCV6Qa{7U_2bDC{65h4!f3Z2r{D+D;s7Gp zH=1bHEH>RJLUMkYF+fZ-t`OD>ggb@oYD+j>E#Ko6At)0rPAZ3>SfOMDy$Up8K!z4` z^IMS(8B?K4-YM*wdo6m-g{~l^n*Lvoq#9`&Cxfvh;;m(}`|>>==iS2PnrhW$dRAw( zWp_C+MSQDFR4+lb)hE24y!7{LumC0hX1;BM!zEt`LOXi~CkQCPC<%_QQ_nziwKK4R zi28VABy|na-T5?O3+}`!h6&I3BNeY$N*1}F{aH$TH#S)lMRwKj(#f}E8kqqkd ze2BnesSa<-f?`fE7DZ)%s0yt4@^Yj~|DAIRe2*7f_^V`S?3!^xtj>5lQFMRdpRZwu+4i8*vivn#N(twI5G|tk^p0lN#%Slbz~Iv zPStRvQ4SRzptl}a0k)hIhl;B#f6Qb3h-M|7O;1E8EXRwCqCMP6s=x>9{g#I^8wGz# zrWaiv$TN()V~-8TQ78Jdg$ge~_n-x+?=5Hh|8yqU4EzSPYf`wj9aY-P@4u76Fvkv4~9s2}8ky)q3;IzkkkTV>5o$oM&&Jx|zckVE`seGV*?ooqieSpnZHS#}_g*Y}m1vNlA- zkoz^7+&>2^lp4%6)j7bP5RSPVZbY-Wx{Q&+*ekGLmLi0eX&aeOrz7lw>g|I>qMu?8DXyyez1;9?V@HRKGc+4kOy(aq7ccP=uXjN zUl}>zyqI&b4488^!4wy~GHSL~LaVx3H-R)~V zuNw--HN%d}+R<$sE|xH-R@26C>RPLKzB%;n^ZQkwEcdd5YgFci1)NY|3SPm*5Q3BDfX9HUR<#an;JHHgHj9-lMfBscIEe+wZxRwEverg$E-Sb zPU>8%@Ob40u(xZ^206jbf{Pz;;7^SYl}(3{+v8?zv>LE>IemMzVSaGHDAd_}g8(5_ zF*b+xK6uK$L3XM98~ndc75o3?WO#@CX#Ay}esVJYHxz7Hl$pBuJY|%fw=h$7`(;P> zKaD?kMtyNraody};3I(eQr)*Hb8sP%lFtwE1qi9gJc815gB$NjjxJ3ohGU8qM=tJA z#KAa;I0T0Uw{Yg=OpDQ?p&JPoFq%5VVi!>n1TZaf*GAhCUG>&X@)*X` zi!IT-b9wJ@6FhzWV+0aJ)}sC)2V%tTw@+%(q7DA>7Km^~b~pbzk#K;Q7^uf?Kl@xN z#N)oG!J9-9^JqG_JEH}P$H>jr>+y2JA4bqaU<%>y{Dr_b^iALZ`ziOYJmP@BAy@+= zuJy|>iUa&k5Lwhm4%$U>?53p*(Ab>>GvlLkqD%k~Q~7}d(^GKxd+sAU|LPSTb>fcn zHDs{FrT2Q{1?=wC+>M=KH|m;tI1BDw+b6H4A}x9sXfoE&DQS60B@ z$A}nRyH`r~%R)3sEc3l40+2}GA1*L0OMZG#&ZjK18_9tA$umR5pO%mI4d0E(1656^ zaZD%{sP27yK3C9Yg?b_Yur!CkH#nv$cbFv^cMx)EfPkC*V==i=+t0c{YXzexP9jen z9;Jj+sMi1=uPsFkcWNCR{pq*@B#39A+G_cCd(5`pAb?P2wFVf^2E-jn+m%)wKk@nNuz5?|7 zIrvTC1p^}$3ob_ZAE%;uZ&rzgru$8%5*~RdbjU!-qLJD_S_;AZQJ3yL-$Ee-5TLIk z%uo0|ew+EiX%Wn5lrQHh zTHj@SiSd++TCy7fC>kl(B^;kEa&AO*hp^KcQM5-!hRYfQ-Cpcn+qs?$-#L*+ZYOUm z-z{38zawLvbqrTca(MfGnfF_H9Z$xr=U+EB$gthGbMLrrqOaW6-{Gy!V_Zz=xyUh{ zjZrj-b5;PW*5TwkcQW}qJTQr)&FWzdy)n$CzR0P*>6!otZ5s?0f0IIXlv z{b4uL-$IN7%nyu!J6Vdhw~6D0+K@#A`B*oU?oU(p3qqX&ANFBrkX8cKdqTiKv45nt zGjMSYK&>{I`qv!VNh>`hhA`fZ=j;`){Ce%Qtdp%_-0NM zEOy^xdkCX#YsdFDkdd<5`2X!D9RG*%f<^uS20szO-RD27d9YY!_L`fW%RUyA;Y7=# zb^B*ApFoZDSlu4bfdD8B+Dw26 zPO#u{6tWx_n_h#wx2vA7%?N67oSrctnO#F`8NDlT;cO&-ouBk5v0;1|>*bgzThI0k z&@z3#^fK}BdFssf#s&f-#I(u@zK5jIjqmeDyp|BN%}nKdbJ4A=%^a9Q9KE7y&DM@H z*2VL2&(jMXmv+aIo2^K=e$T#ef6q_1J)GKGD?id(JO2%s|NB9A6uyJ%zruJ?qYgxj z#U!Uonwf{j^nhOzX}3|3@2C&e*+sh#Aednn)!j}OWgR_#py|eZZMk%5_zivU*)?5J zj3v*aV&86a-SXM|?$|8#jq#anYSwUJHv)%N+9rYjSMuQ&%_-!jl@kP$xU3W)Irc>_a<25M+oLm=FU9}lziw-Dp zewnGX!0+{P6IyDx2?vGr&}MimZ@aKK1xe84<5zn@$K%TD;27kMwBpKF)sMP7gLSK< zsS6GiW|}LyAB?)Xm4_E891X?r`+l|gppqR0i~qe ziNbcti#F#L-u{VdM5X*j4ay^mAbHx3{71?7+X9^91wAGiF2MIardGaI3Ep)hlWXz1 z=s{?pd&(jf&1>=X!6Pp*;)dojaztt2ITVVHZhX%xhz~Ngdb5EKoRgN5loc=Z|& z3?9ImitGElY`p~{x=>W#no9mZh!D7CQOa=v?ft-wQcCh-)h6&#lAQCf6TAD_T&@P1 z!j3{ba!k)I=%?ie8bVVO22$d$UY&lFLX&dHoV}Bxro)zuavJ)f<&o`XqO+&2PDX%n z^h69nkgSs9Upl3u$!~L3LwBa)TJO%D4xlC1qW}@KC%#IAF$I>W&++cwH4c})hB6!H zcHDrh35N)jIA}pnm*uY43{Ca5JCvk^(!f0^*G1$DDoT=Q=$eZ+ry5wi; zCq{H1EmwBoU-<0{HW{O6q>BD(3iQG_i)!5QqFuTtO9>{*Jh|QLTlk=^&tFioc$H+z zoytjplPR}ae+_5E01F1>Pq$htm&|e0b|B=hda5@ z_qgCA9?#DMDjEhdk{dym+J{Mc150X!wOEc)b^k&(Stv;8UpO^+v^m$L126(L-Pu^z zfmA-#W}}0O7|HN2!9XW1BF&yN*Kb@AYA!XjV^*x_HVMZ^0&Z1MS?%IiU4f5u9fDT4~A+|?BwP^@ql$-mKl)5Bl zx>M8D-O}z@yjhp@PW72LAf0?C^o(o%>X=aOAbqHWR~YJJHgVQokTbspA?1$n4v6!t5LxOZ=Q9P0bj)%% ze=ADv)NyG!^fNt5gL$-XvL0fmZHK9H9$pA7=*H*OU-57ev1b6C;1(KR)#S$M-GOi< zVjkAtC#pnq4cW{uDD%AD8+2b}fV8KQvkRI*51}3$u=a}&O8*IX6agzK>5j|kH;`op zNc{g5mcu?U8Ym|#!+(V}lJKK*)%xpl4-#(~|e}K*&0#{4yBb_owV@B2=|9{Yw_@T*&vNV zagN-tFX@S1XkBDk<(u)>iVo6E3|JN~Hp0h=m}q1;oTG@x`!_$&A9KNQfz(8b$Z zY-XxK;(`XmgKfO5|8@x3=(jBFcjkR1req~Q$cfNHy(tjQ$|-2J0~31IZKvBq{#{4Q zl~6d#qh7_0f%!?~8y`C0kS{zV`@8*KGNQrRy+XCw2K8C8(Lmlu~{K_0Rn48n=X8e7S(seU1Bmrt@8R;QC92Y$>8qt37kr^5gG+Z+#Z&i|Z8+1A^9uQSKs7 z>70y8OlFS`&DOT`(_`tJZXD|BwEpN#K7UQIsxE%Ri4Tsl>X{}$?gBj`E4o9pp=K?3 zaOiw1!&^Wc`7!YW%%Krtx)IE%=4_DRoGkw7bUkt4jcW+ZuNFYZ!^-NZ>a5lDh=KeS zK!$)reWHSM;B=}gA16;$`P zuTHptlG-LCmVbq)qai~I`6)Wbb4vfxvsN-~CAvv_J}9AjTij83gc*BLVw0#=-6)lz z?s4Z16r0rqgd3+a8{Ov&Go6^%Z$3O2r<)4#jJ)=rztU{L8tVj?L8)fB@R#buT~Q2> zqK)|74fxT`ca1W7TMyUTN3qx?@j3H!XcbB0b}(&kt0&kjxeQqndhJ|Eb>>xq=J4vy zI4kWxINcko|Mm_c90}pJa8KDa0(J*Lf2KA#qIV04pZCwFTMdx3-B zY1H--@v}F&W5X~LW0T_Qk$wYvSSvpNSHd8i|2GN)Vfeq(aXJMQ3(%d=0=c^jCdf<5 zI4Gse^?9qKK^}*A$}m9I(j2jUwb3e{wTUE$z~vP<9qN-GW+WF#9%z*Ssw@ztG-)pk zp>~+{gn8sL+O7n```b5}U6itt$`>|qqBKt%e*d`3QPX($^nz$e-c+SbY>A@-7uVG@ zaN0*)A0;b{tV|!m4-iG3eJ?Fn!{98zF_BFcX?hSuIh$tjv61$`U5eMO6uMO7w- z(&yIGr_XtgeHOarBPhN*p9)?%=@C49q52c;eNH~;f47O>75b?Lnh zoX5H)pAbF3M15* zt*P?>VVmtf3X+8YS1R34ve(D`Q-FjGO2siwZCM2~#4+cLl5XC4ZJ>>=Hulx6pY7|3 z>f8ONOej69)g`0n^Z-Q57F`hn{GTR?T?0*sQ7#IT3}YO@9M0@Wt0pMM2;90Q4|tZZ zk4R8cE#L-{X~cWdQm8fqR6Wa_Y6pC?UF?~9_uByydez+eg}YZ;pkVG;b$0~5~NYPN8_4vJ5@sYp?2gQm7b|jYv3(M678l+?zsa5 z29ACu`-Se`E#)6!ere#p3%0xcw05HuTxd8H<_Mv?Q-6i}+abR|kj-sMS|LyT zWp*-z0$p+Y&;P`Q>MGd4O|#D@Rk?WI@)dT*RQW3(X{+M3UyX~Qtyl-NGiRODcX4m7rjll=wEhZQ0)w7vE&qEv{1p#`36{01 z9bj`|q7-ULPlkzrgrNA9X{BYY)`Ecr0FP%JvZRKw^Fnt6Dd^=8lwi+m2LSrfuvPr*p*@*^h6@p$UU zvC|;UcD+1m43$#dQn!`$;_yXlvP|P~yHfZ8_Bp@Rz%=C}=06(=&7pb;@A|%oP4`~g z#<%{#fL;XV`i1|iY|N7`ZQxCXHllx@0{{ouT~($k5`m%rmyZd;$oxN95ml;o?$50S z$SZOrCbKC%QPTn;1~CatItzI$si>+bkzfa0fH6U|xNw|T5lpos@_CyM6O9&0bR{ry zZ1+S>CO?QY!-~a2AOUqKUNHj8a@IKJ>gJN%%RGdHhy%a$hnTl%Xz+70EqdvudSdT; zA*P-ulDB_kz3QnPFUd---1|J7+O-5Qy;$`ULPw}$CLs@SW*h}}ctsr7JwhlFqeimz zF^ET4jV^xM1lvMhLpopMKHcE{uPewivaw+$A)?9Co#BlO6JhuDLQALJiK~YIK0u(S zC+GVp4gF>RK3}V?H?(3m7w4P*u+Q}Mh2fSa`{54~6%{Wcs2(Oi7p5!}90RDQkj4~D zFB$SqoXRvAG}b8<4#B(<^_DH1`(3FeGZESb;tGqITEh2;F<r6$3!P`XcM7Z~ zEk=qi-^Uux31b_}K~rZCcMQ#w=-!YipA^2%$_EUv91j1(bmdbJA=d@g%~lhFi4i5B zm15as<(~O@Iqi5e{wrC~#sdJe%J>`p3uqQYL)ojU3fSiuhzNC4-TU8}MzRlrAuq8w zyfsX@T>OFJ;GYDfB@l9pMc7nsS2$cq@jl~CD$ALGabv671^YqH5j6ZH4eL-6(da%a zS_4swz@0WH5nc64@-NYSC`{Tu;`VW!xt5e@3i|58ntbW1%_;|hU7inAZ-4dZwbT(O zAq%fO9^}3f>-n53@+3PU3@VcFW=JwhS1>XtR98JYuf5=sAZa{piw#4L$DuhV8M3@i z8^}SfT+f0crTj{XVh4blrh^A`m&MVs13mS=p<5aL6PrfkM_Cr{u9mc`Y zB~p=GGa18EGX*DrGBUZD($ZICUTx$wxtu^e1lHHwQN`{@-WNdWdhsy5n(c9exSoV> zqe*^l0iYU(P8eHkYydIjyktB=6frAHv)~^xM@K9EANbi`)FMhUncS6J8cIRtaE#4p%dx351MxU*t6@-kx+)oB6;iMl7GYfo^41`F)_i;_Ts2TU1ti5|pomNeW z`OO?GQyh;W*O~yN(F&Q9Tlbz0Ltv8KdQcqMriRi<%ZF2enKmLR3DQ04BJ0$GKHr)sMJmD?(N~`%#rHMNmwF1Ver5 zZ3)3Lodm)R)6=oOglAF&baB%Ur=gFu-$DS)8vQ5r47j(1*Qg+Zm6AW&UFXjl4Pkl@ zip_?uQbgggzXyrRN$ms&^$R^ylh1Up?3Tpi!6Vk*9pRE1gk)yx*ifiR2~_Iz$E|1M zr1Sbg7_|>iTaJQM9TJ&BB3gjc)L4b#qAvrO3x{ed^aZMI1mHQzR#Y5E)4*|nxRn8q z#ruY~_aK(j$I{>_lkof)3E*PXF*IjQkwKdr7;;3v-aDf_sEyH84X>Hd?BQ1butQ(; zt#Z~u)JY%}`YpYowB?c6wBRrlS^+8Gf-!Og*J%x6M6e+Q@KJ-n2Y6I+!<#3c*(wKt zjF`6db1FIETH~J_wu|g>ZobjfiL?T=8HFOPz{Qu@U{l6Y4rG86t7$cNottSjStXL# z@*pJlP5Un?+tbgg_YKvHfx=rI^T>qq6Blc_HshtJRKU9u6zD!)$Za8dvSLh7U8 ztn=XNo)9Hs#aql}XBr7|c)aw=NAY-L-9$x9)6toJCfY}@Mur`nF5ALfb>n#>ku8oOkQqld7$C&?d)Eg#3t0T%iL-;cC|>^ zwvZZ%)O;Bf+=bP!RZDykz?>$O{>S;<*SShYTBdPwI0A`{k7IE1u*j_ zUio-F)Gmv!_r(9)^AKCB%(IUsiN`$1lfUKQBu zVZik3%yn*Sa>sVNDg_T^Jyy=l4ACXP?)2n+3gp)~rQ#v>5888vvoYqXV^n#0UgJ>e z9Xcc4IHJE3Z$sm7{SUx17acDOb7{}rL2*?opaZFJj$CE~V!1KlJJc>=78DD?lT7Y; zRw@}aPnD=1vx#h9fF`gn@OUB#?*ckLi~w!(2PLtKR1CEs{4S05D}e?xc@9O<3^VK^rF7Dix+sm))5qPQCwcbXaFV?^(W@*SZ}FouHS0$eoNJUn z<3ZBIMI0GH-Aq|f(3LVYJBy$JrI|pc@c@zDhP9gba?7D4L&$3)QCNniJa3IYOKik- zCq?1PDwc8Ij01d*z&Fs5+|48wmjI`@kVm4@2hBDJw8y+wYJO*fY|Wt4f`?98lp;(U`oh8g zOunadI@3KWLEUDz`tY>)B9jDjRjZ6jAWNR!G0C!6ga<6T|6VAt4V?+Xk$=?U#EGoSRJ2D_8az)kE;p2-JX#;BO>Rm!tfu z@}=MNb;PU&b1 z9qAF5F&xX1;N{?*N40t^f}(=ba3BNl#zf>bmxP=-1=FwZ<-75TBwI5QYnTa~GroDJ z_{|&`ZTLHr$2h=XjERS!ZmW3{xNVOG>h3;g>NOcxH1#GsvN_+W9&UMkEa6D zWE##=?*Q<%(&8YyGYCgfdW+?>ZBX=2N;Skl8-C2P`E&;in40H%O&NwIHFARBT8?9lOPQ{Uma&h&K; zv}GOKR3fdGMp#U6qQvt7T-tL29XvAScWt$&Kt0OCoPBuv^2_$SIkD_iu62}CKFQr< z3nmkyD>ee9KkUkB%PO3iUBkR9gAUDEDRkM+@)mcCey**Lh)lb}B_O|u3`Z3)foA{C z1FG9!UZ#YTil=No2&n_r7|M0#ePepdGu^ZDP0*5@&aF50fbt&?2>cTEaWOT!gA>@^ zD3cHr@_{b?$uPQW%Nkj)>_8u7yJWUuV^e4ICwRj@fu2gv?>M&Unm{4t`_Y4oUHRqnuI{r_rwwUZ#nfgwQ@i2|ug zo?t+B95Rh?t~MOn&5$MhHTvFl-D;X6#h;t5arjwDeK)fCGMbT(RKy?U#H0-&$GVH!~;QP$Zv-k4gx zmvNaYmbfSi@9pA-h4LFBjjU4R0shmVz0$;g4|o`$v-Ew(j>fznpN zt!QYe{3?a*A>g}I)zMqk+#q`e_nwJOonpWJG!frE&!a+q&n!o7t-Q@w=>M5 z4ett(ML`lsOI&}_eA428!YmQo7zkt@d*$-(U_CpJliogf(O-Jf^`(NfM088%Ppz|8 z@T@ONR(ZNRt+m3?;ypOM16U!t1wdCh{59m9Db;uz4{m@6?h7QkNc00f9^h3iaSggI zr-hsrYks#{+SI0caO3wT&})fwWn%Vf>DPv=xBZLpX{HEA`##JP^0_j6ro#r=*FXCu zGdAaPl;O284F5$$g=C4qASuMURxXt^(K@yM{egdp`k#HDv!hAsYa1wBDxp3I8Ym+Z z`wu2d1?WBisVSZ?EJQdBrn)XeOZ(?f-k{o1)1b2mG%Z=eC}@XkY)p! z$W)@WY@qf$PNuVgAs`!pAkDfG6|XO;kOhN?B~2JIAhL)BLCL_B)WHiS?eP!@5-pYp z7{mr5Ux?C&R1(Z?aw(^m1FLwU66F(Ut`;b106Cj4D)DNs9P;n2h4Njoh1)Cmz(^c~ zmBRmvr#gSQhhPqqEwXCy>lU7&=PdTcAd)06VhB4&@Z?o2$>93+ zs1a?uwighv-e!0Yf70)UGwdiN{e$4xPT&*G4lWw0-#}5eH5yebAw-Zca@M;$Z=ZP} zM3I6WUc^)Wm;idy(FkKXtx5js??Ea9Vj_*_BuqlFNbRTFIK<$%v5^&nf+)alq-l&L zGHao%h_f>}*VH9A#bx@Yr!sDRvP?>ZTcZr(Qn>~Gng62M0GdEDXoqihA%=obtaC%P zLZ4AZvBoAV(lzwDu4nyveH1)opoyC&G@vB$8wOs=`w@|wDI z&pq0YM|?*Wt$=7>PAri~+-ebNDc66mmxH*UiE(_6Po?Nj$k-W@KpCb4pbci>Ez6%V zwS+k+jA3K2dO5$=$8=z+x=M6>PgzHGUiSH>)w9nCy0$_x^+%mi*GL}{9GA<~vI?X) zTW-eEI+Rp>tx7SrwH_mOq0uzCHj3ZxqLGtBNWhxGv`|_?UFahnnd$-pjtKjxCmqJ_ z{4xfrg*rWWZ-Sh&qwlo^TvpFrE$ik6d4=7ZDSz=JjWi2Ibi&xxB@$lk;^+!MdU&;x zOP!5YTWBIWXuiu$-(RW; z_ZClP(BtDFZDAwrrC^KXgpC~p*K~Lak0xynv>8gJw5mu8%Sb!|S-=y~ugn7Hp>7~q z!m_5FRW?}q5f$H+KYa|n+b_^*B6uLE3Marz(!t2&tyV`p;K1E_CqAjSZ9lzN##F|% zpPiA3fio4k36vUOckpvl`!Ci9dLooEzKd-2CtfA9=~rv2HA0lg28i_-HC1f^e>XGE zc)eliRvu^gA>7IB?ScJZq3B>?B}?+8Z6WWnJ;hk zS#AqP#m3(M@W+GC$J+z`j-osg|1lz>%uPwol={U!Lkjq=F7M!~Ra@9tOC4LYzVjg_ zgu)N6R_D)i?4`}ar@xPTtnESz=DsJ1PpNrp&ivn8U2qDTIP60tEibTn-@;qK+} z4Fp6|#{28>%rQjxSFVn4L33o{Oe)J;Ch14`{la}V87eF_!xKIuQQFcju=ee#y5q2o zJ+oHIRphj?lg?WZ6%zxGJX|9@XpJ<#s-m5X zZoIixlS2=Zh^l%Ye)UQAs;Xrr}V z%~L*ep2OZZT$kD}?(x2lDEP}_Dzp8J2P^~&SK<(Dm9jegzTMNWmnf5Db=1WVPxKH< zd~j!27CrXehfSBOZfkxu4kOJ%YA1wNMKF+$7&l2}FV{S5F2)!V_mEXCW4JZ5{r9*f zatmOQ-}Fgf9Nutn0h4R5XauDj4EK;<{EN`ty^Pl%rT74K9%gmm|0C)g*eeT{C>^U~ z+qUhT*iOf`?GxMR*iJg`*mlyft&VL??!7b5{D%EKRclw(T5mbxaLA@jE~xBx*dZ-yatLXT}BcX$swck?_{a>knW zGtI@u|JT9b1Pxc(oNaZ}u5Zri)2L5a{saYQi+M6xmr@q8vB<@!c6I|%9NFVEb;W#s zJl(>K(u+3c<*WCJ0VbGF68iUsr$%|$#xw|BcMzy%79Kh*>elXRL*5u-^H#wGjL-Uf z@Z9(Nn_>Fv?5PvU;W!J95~M@WAg)OTuXFmNg@fw|lc<$^y`iJ_Epnxvd_JXOGN5)h z>0+q57|LzYN7W~=DyJ6%Z9HaxkVkdy5owkBGS^`s_)pb@+%H5YKLILlgaiCU?Xb#l zIPeQgzt#%RdJxzlRI(j^>0kdGfjyIw`5K>i){Yub)2C#H;Hos|Z%!+M;FwcuSS4rI zZ5Wu>H``YQ-FTb~VqmpLi&BnoE>gznmQq$cr}L4r?`TQl*%>k#ItpNWHcPi4JY?=59t zXTX0#xL^EY#7?vbNL=@S3PULSj^@t_`_W`ZxV+R$G}{b33!|!h)qP~zv_rbqeJ_M6 zeU)n(gaKK&-hY>zi`}|)G2IkO*=W?>Kby*!YVL-X9Uc5OM<1kUPie|-#9AM2QB=(d zj=LFu9qv^Dms!Ob{;JvF4YQ&2uZN9Wq>fm%X+wpyn*?eblz}dLat*2RD0HcQMShU|{`(?2l%~p_+ zVs@5@BfDX*8#1kVAy)7y`S;;Dnd3LSGbHAuVPFj~3U`yl)R?XxAqrU{>sei&VQHwE z4up(`(Jm_bfQLr#5;3lrTuZc!Z3sTP??cqrg1;NmmcTR#WyrSD8wMRm1i3k~&S)W< znFgFYDds{=^6 z_D%JJ#)rTebMLEA-lr^)iVL4096Q#@G&8AREw%h5S}zYc=PWLli2JxOO7p3pJ=ksH z8Hb8t_WHWjb7oR27tEKTA&Ppj{hQxFr|454t2FYmp4(3)P4-h~^BJoMhsrXH+KD$R zH$mP$FdFPZH>c#8@rl*02VgGnK`krPe))CFU#+P&HqgGx*h1*Xg(+SbC{@i?B0-;W z4{~;?=DiHaahM}UfupF8Uamtb$hXPK9`v8?C}e9A$+hu-Xk#UjefV{6qWBpml3gCq zP21SLtNe)V24EoKvsfSOWP1j0ZVg$nDi0UhS2E+tqi| z$Q+N+uUu>3h@ysag8^jP*{|D_k6l5^2ttjQbGc$Q)yF|->^9_6&43s0;C&%!c1SGK zSTg6rwYN3Gb>$85@6h{$l6Zcf$@!F&JofYXyOd$rWe^XU{d5Qz4~al#vh|=)BP^B+ zF|ZKweC}H^_VSfb*c3Ul=*Su%OdKh(G61eo7NUWyq4;z{s*cYP=Y;{MFC{NwmLpW~ zh8`-GM7@B%i$?dtEdAUr%A~_i0#SA(aRAYAT@_l^HJz7U>}|Ic@qLb=hL8)nvfd^$ zFFl}+2NwWlX9Tw&j~=(0Wr^Zc5y8x7Lpq%tLVD&&Biyqmi)vHQ>)`?nZtc;H)!%A6 z!8RD?BZ95w<)*<-sVhq37bEcH0C&iP%{EThh%x&y$AW)}B;Wkk#5DXW9Q&uCEoC%l zVnO|_#KFzTrbjd(8J>BHpN&G8y@sEO0#vMd^DHH;peKjLE|8mfbo4F8HbEI;xah-V z<_Q-uOwIJqNcnag_@Ftk8S|CLlVHZK<{f)=>@tvYS`_WeeplBHYADc_gZo63>F3P9 z33Kjq>HsE}w*-QTl|Y4O&(eBTM)jH8E?&K9Sz~kq(84i2`!6Tem#=@)*)Fi9bGZ)o zL|ATKyPs9Tc)m=`N>WhpDFFgf6tSV)%KVJdU!Vix4cGr2KBPUiezOCVH^I@tc$oh) zct|7c1;+%wI$P6pai74;ld_hfS0t(Fdc5v;{0K;*met6yD$k1R6OKAn*cl$JY{8;s9Y!m`cW5bA$H4CPoOnId+P1_6pEf1); zB9k$-F7#<}M4`zIC~mEeDz)gzo^?dZM;;2nWVSw@eY}2M`90DLkV7Rw>xKkVLN_6V zkpGkXW~Dzn^`AgrtL65^U|&SjVX4X#z5ofd=}0NnnRh#zyM{)>W~;o1B{EJubFX~; z^%CH~oO|l45tgdG~+*XU4#S4jT83N?NZ1-i? z5AE7qWdxCn(IIH84_ty4i~s-`Kr0Y_G*2mYaL!M?6BYk*m?xI+N;1igWd}7VH4JTI zt6NuVj_b)Le4U;h3Z4ZAQ^9U)LA_H(L0b>>W`m7Z$}SagZ5$w>+V!ZSqjPMW*ydsFSe_BL=vBQ ziIAd&m+Hzsq4M7aUfsP_W`RGyl>egWq87Q4 zW2F2*{&Me+TY=*XVveXO%4g$MaulN$4*Z=C*QEFJsW}wA5t^EUcsdIx((9q$8=2zU z2rB`C0&uE#zga^=kMROTm^((`?wc(YOBAJ~hCePB`ofp-Yp2U@`@LS=(8Tl+?p zc$Wpas#-San2{;L#namVsK5mVMw#nw}24L~w9EdC>L!WjNCMMB>CV&i{P$#aR_-!9y zGniR-$q_j%^2@*vEMsW4-7z#{)ppL5+W6%f@p+=S+#u&9R==o!k-ypJCC^>(g@JA~ z2!z=sK;~Gw{c0>)L@vxpuJjtBiV=B{zf>%#W&J7N+p|b+$kNd$s#~k&7ci-1jn|Bb z@h=$V*w963kj2dOf_>M~iXIT98E2&Yz6%l&{2N~*g(M)cv-dkss2)Pio|&q^!c_ko zrlPR+k4S+rz2jjHiGWsrwB5K(dxSYeOy-U;ETZA8vdrkHntj(+wS;%mK4yy%Bcm@5 zt)P<8G8c%Fn%pRC?s%j90hFq3%D2<%5&8UVqVSlnZQ}K1E#r!?^cyoj3MfSgI7L2B zzC-}IJ|oaJ*2!$gzR{(;6VK5HGhF42Vf;Mv9tlJ0a_D__>F)C~Kbx0gt^D{8#7Q3z zPfJuwIN z3)(BqY66Z#j~*X-DMw?%X#a&digJtJd)Mkh$3Z~Mp%QGKlDD^4cKGwub_pvX~2axZam;X+iI1V zFbeJtR3*>y`GM^mj@kB9`l6H3nU`Mx-&#=IB)w@ zZS$I>h@hpej1d)2X9*u>!I&r!j@;IKWmc{Lmh1!7TJ&oM)Gz%ulA0IX(nZ~ zS&cll5ESuYO{cUNYhgF)=WQ-aX%@}d1*a-ZZ(zQB%_~n~r!!G!T-18$u73y(3xmHZ z(3KiwFWFW==dfp7dd{Y=8vh#K68$^_^NVrBbHa@6D!>+2t>o^^iDQ)U=9wCXgcNl& zRRaUrN7(7T8Zre#X`%P#pCy)AYzo5R;i7;3Dd+h+hfef;VLv)+)Gq6)Ty%|Rs#_c_ub}8{{^j0Smzj0U1iq=OKo|Ah(WlESwKpIUch+WmT3tz1ih<^cJN1W}IC#@ro=jNxiAXYhb}1bX}5 z2bGrp6C6ElXB=DvSog!Ie)WfG6}s16c>;yWScvV-{&$?xfmSm<+Fr?{=~UHQmcL>a z)O-Mxg(TCk+_?yFK(gFO~2eu-($ht4!!UFk$=(Y!HOTygHBF4s->RQG=?0`6U+q{o`-_{CT3*W zoH+#+=~x4ZPdQ=3N78RiY}wj6iN_^35xJg@q5il!WoAEPIJ$EX5SoF;%s3^dSEj1S zSG#Gd+ICZ7kvM%U9tTb3uiNpkfIwAhsWS7Y;TptXBFM*@wDXUwI`7zAdmr6CK?Zqb z%4M9nzn!^xAhpudBW3x$d!Yze%N@UL^j`DkesemIY2w{RJADoh=XUVr2v-U3X{x*w zFU3fvqvC0QpUd8!B9Y@)X*1MvrcC^<6^Rsnh5SHtl4aTM1GfVFFI>pXU>v|C?BV-2 zUx(8JY#%_oyCkSAUajVUr#cX@DzA-F68zv-^iBjM;tw=;jD)J^dND~$<@ir#O46t z(DFW$-CC-oYjJ(FKcKW%3LExqUhAbGO@9Pt-jyR9FqvPFG+-KcVyWaPO673+kPv8^ZKfC21^R2vkYom?PS`TXkdT5w zYE9tnhrK{_uGM5g)_Y>?7Dl`I#X03bG(9y)90~qr?U`OFKycXWwg`FKwGU5bk;%&@t=?~$HX^UYLBxGJS>EWCP=06F{0`N>zmM#81dq4OiRX$uT6_Cf zUhd23>$Yd^OmryNP{!YF>4u3$!R3nikv-k;4Wjk|2r|s~gN`p@JTC-xKqRig2Z9qB zIhB!h4UF!EgX>RI84|B6OFF`$U>gG=)kB8I%r{VMoFtJc_v{x=n9=zu(E$b233B-B zowk!;Dsu7JDFNI>Ezg47zG5^ln@WhQsOR0(w&Oix6BStvFV!RMiVEWWzLr_*YrSoSi}b*@k%gpi z8^&5n0qY`Iqk6>RxO``y>@^S~tw4&!{@-Wf@x!j7mr@yfWJ*iTI;J#XMeIYF+x9K9x7|n{%zMI&afB^DtjgwFNUzyq=(Sxob(PhNT~0{ zFqj%rGEpf#vF8HTu!Obo!SWebBS5vCL?9{gf23z*&e02ZSYo$=Jch&NF=Cz6%?Pid z_YA;en|`aVH(0(_uC(EqZ|K*hwKMst;)>3*@#@g9LVYKn467TGS(}x_>McY zKcTxb^2%yq<(UCYRbu3kF%?1#b!OeAlT0P2H1($JJ(L1i#`M9d`+)QBpm%26Mq#f-zHdx#^S zBO%t!yn~@R12nnH0zP-;yl!X1eQ}pfUvXU5M{l*BlgE6u!Y&{stns zFTO2X=qORaAEaJ2Ys1oZIlX<~EQVG&hy}zxPV;86zeZ=7_vL|19`6z3T?h%gdYNy-tx?N-%GrpQ;Bso4P!T12@P3z& z!3(6x8nC)4M9+nvM3-te9G-8D*%U1m6^@@BY!odWdChM_YpcBmd9&bE-*@Ef_OPiAOrq>+as$OMsXVGUCpXJFYvs07V2!RwITegwjfi+oTwr zYM9LlFJ6B>T%J`aYVRsJ?cS+DI_<}&MA_ncskJ?;XF4M#Y^di$*+!2(1J?xbgjM!( z7;E-~+dD2nJfQbNQJI&N#V^YKN_f)qOf+DjFM1j5nH>J7Mkdk3Aa#3WepJ!N@5ouG z$gLmysSAP@{&Bax#1W?~mi|X0*o#Lv3xHs*Qc{mhvxyy$yNv=doS^D24e~20Y-+F? z8ZWzS2n@x`MxNuL@)c<+H@pGhab5i|>^i~XR2jMr4u7R+{Ua*RLs+VfY>8&7Z(4b+nn>A~BcAqw5^Oj_vakvWW@rkMr z;Z0DL9;x}*qxSf}?!hNRB+z2KE1sULh1P#f9Ng8gq`G3-!E%Z8ezmINKbE5K3O~7d zgdZ#+>e*b`tZW`>{3@ohUGvF4_@sw!tAz5hck0G6xb@dhqt)_QS@fx>+h5Y*cJ&bW z)#N(^(KX+2VKMVj$qiPQ*QVd0sXGQBMsc;%554hiVyyKOV{yW~&j0RkrCEm`zUubn z!Ehkh-eBwzNw(!=0QrlId#oQJM=$?->m2{hY)(#(p-(GX1eXT=)pD^2{sszUA6w#f zq=^WEc(PLEKP;}$Z;$XTVN;52a!vMy@?73Bb5ouM!#y1?D+7_oqR{H@%y|yQ>c~0< zwwm-tk*9>B{kTpO@!F!DQB(5&SnuNOOnH-o;f1{x-_h>Atkx9}IG6za2y#*X8{hO= z@^)Vl%~R26o+oIb{*&v)c((!g(dsV|1zvY(%dU_S(+A=sp8U3K94GAl#)+>tN1|{X z;yA16`MOF8!!Wm!$aM61m^{(|Y|~XU(|~Tsn8JM|VM@RUgG4=yyEabgcIk6+zZejA z#_ib|*brRn4fL6*`G{5@y2L8^>cTtQ_c+~hfQnr@gis10AKD))gnI#=o${OZBu{V^1;QY4LAw4$e62Dk63{s~1=$o~;(6tQc z@x!q+6E2eIEWslLzlh;~w4JXuz$pJi{7w@|<9VKpvKDkSM1R4LOOYvZcP9&G$)0|8V$Yf2U>PPuTQTe(&%5^xp6G)VJecOi{vFI>opt4W2P|TqQ#`SaVi9w z@;*B)oFeU)7wd)N{Wt!T6C+1=3O1^IwI$(y?p=>lCeeY{!OH5?aXchy*kwfsBjMuz zm=m$2Z?_bM-Cs9UVr3;#!0<%M1=)ii*+tue8LSM*vY4CAMAI?f!(r6n`d?W$<+>Oa z$N^(SWDCUr2kf=jD@SjxmUZHZjuWJ6V59C-<|6BrJg~#Rz`u%LHLQ+37JE;gg3+)W zfAtN;x)6BHcG}r2DvjLbVxsBd_j2l#d*{c^2U<3 zM9inegw)C##*I1aaCw*<$+i^4H61Ijb5xh170Q!=CXVf*nA5gL%WTB}dS$X_6)Isq zVi*u{m68&jS;R?Zv!q|r-JNwIy`Dj|d-fh0+>1CnJNMj(M*A0$!xm+VPKa+h^J?>v zyOd;;-Q-37EOVGF`$^d`8X;rsDsjOI<$+jI27E{w6_LOuBp<=v=m};)_gXA+sq%GV z5)#Py<&Jwvbfdp#k&o26E}=FwhBox_(4t zJ<6oFk33LwLZuTo!Au@X(iJ~3@miO+5WW6adtRXX&GuP%CNieUi0n4IPi27&~);x(1M+)xOJNt&XToOpCF&mQJcom8|;%{XPeKJ@sfeGDvAY_U+F zP#Z4!rLlupqw5E?u(0mOu%g*(ztfkpO(z2__xG4?8{DAK?EDo-#$SP46pT7ZdRTT@ z)%_A%3ptR#+|Cg6W}bZ^V&&^XyKLL&f4%AK;&x#g$0sa{g!oim;tweA=G+qA6)~! z+0`?iUcxZw8pZMdo4rL(kFLB8^Dk=5pnq?lYA>uDXRH%gWvjU-9LT_}ucFQGYFsOs zy0GU|Kk0H!#E;-`SjzH|bvRoq8N+mi>0Kk7@aE~*eiq{EE5fEmEmE2emKo=))0&(w zoouZ1zAgRz_}yN*eMf2KBmy|Mw!(q7%e_sv9otw$-Ja`8qI~aKbQ<DQuhz2btk7pFk;d5NpC$bRp6~ z8v2`4oq-%S4URhOGr*rVdYrR{+{xf4;W{CRGA?gSlZoWuoeDE8a z4)BZH9+Ef!ncYnzYS}P@lXKPwf@3hjZ1|~U)e6zO5R?Ryku^vt3Bmy2$@>AvcmTS< z;m~r+)h{w)p~>>$SzW^Z6DMY9r+_|3D_8cf^xJE~px{*$6JnuJYVhmxgZ_O5BY);t zTZot$gIeS&+v-UlxJNgqA5&KSMh08a6^msK2c+z`CPElQwgTai&r!O`A#m6g4^ado z%h2RiPJgjqDov3l`_g7al>$+iKXNtyc@BF~`l5m*cX>iiU)r4+j6_M|H-bp||M8pZ zI2sm=J`dxD1A#gc4uH$c(ajPRO}I5vd`0@&?b!HVUHKn|BkgAQ`#)IPW4#%3>rK;9 zItKtF0p{63si5-29%*pc&8W*n4fo3{7tl_Qq5kpEg_;`9g1x<nhQBaLT!h4x1@Ok}$~HmPxUEVyd_0Uc_R;{*eu2IQG(9!r(_6 zTeVLjQ0U)lF-wgvR{&dU#=DC!Ofgia=$}j|0@exa590;70hW4$Cwm#lBL!>qp zE$h)VTaFu6GXjmEpR$xAHz60`vYSnLLd*pPVFleXp1Jv|Yve|jf~%z@jOAG-J>2ye zqNbKYSJ0^%&qB&R&k+V;`(>4|%jt1AmtUj*mI~bv5ta&gpra}+ufkc$4Lq^?i7|}W z_~(Kjflo+v8~D0R#6-1K8_}=>JVMf5KOBDFmXFT>iv$pgE@X-NBuin+t!=+UOe`(# zhy9e-gQ%8-?`YgqZPHedpQjrO%)b2_M^7#3O|iHy({u>mgbJ_yblV^G>%x8m{fc?sg|>DiECPs3EaIut+D<1?bDM^Fet^nw=_?< z1ll6RcuMP_^QCl+M|BE?YXI#;C|FUd<}~?rMUwR2CMj zZFKIe-uHvHqaKO%;-L{OKb%Mo)9qLi>)8M2&mo0Q%G!!{uK?gJUjf5uhLK&~C z$ON_G4`BFRL^0^;@}t`?g*$6=N&2Q>?#Zq?6TJREuZVaWPi(|XEwC}>s5GNoV06Vj z^3S$R;Vgi3-bq7f)C%$h%M3ml+D);Ij3b-wh!@792&p-n=Zy=CBRWkZ&AfPdR=em zMQbn62|H*}2*x05BlX~T0wDk4;f#A@_9+B_?;0P929pg*uZV2+=ZEZoSrRw)zBNbo zQ3kT$TyS(eJKM|RUe-Xrt#1a>#Ske{_Pq3wAScvuC!Z*ea6>B*?!|6ipT;fRqO~f zuu#*Sh~!yW}Z$Nkzx^w6P>X)A!vXXpvJ(Dt4qNSI;qf>H>BxWcSlPZ^2w{K+oflj z)hNztq<$X{Ed(FFEJ{u?iuv&VgoLZ>J7ipQ8|?m76AtM0*yuVI8v$Iu0I<6 z>M9sn=~);qI**mn{w(O|a!>qMeivI0x$z_0RE_CNRi&)^Lgx*OuGaY^IA~x8K>d`| zv1(wJRs#BiGu%|PY%@|@F4Qtm2NDchwCXL#L5`M44f{R4W}O zy#OsAe~3=VMu52(Qf>na^c{9FnQmfUUP_l7KJ?eYQk?DcL6 ziI(~W?Z-Hli;R1cs_iP*Q}rqd0uDyRKqxqC!l*(aNf8_@S%*4dAq%A^E$nR?YfvONWB_+FT!fr(Vp831r6_rM00*RZIAUt46X^f?f@$I4t7OlEnzZNIXpHQs=Hfa42( zTf^=7&N%Pq@f|)ukxVCm#s5kyPRx3IKhl{ssb+u3@JpF1vDA*+qxESEyTOjGd?e+C zaRiiAxJ$y$QVpbDFp@RPgzY5pPIrX_8HmlE4D&tM&9@vsYRR6OiVP&9AZ*a!CU+~qx@H6z@IV~8oT0{uSlOW)#XTRwZm`uLNAKH4K$&fa) z+pqNG=!v9Hxb(htzy5*W`H^tcX_Ms~fW)7STi&geK?p3v56&Lecqz7 zhXUdw7%U-Wd(ia++!oQ~>XwZ_!xqrmvI3V}mvhk=5#b?%KOx8M(?0)iFaIyPG!_n& zK8^4c90&AQ8uuwU0g#-z_VVQO^(+@u;TNpJR(5A*?)!aa#2_(Qg9Wi#!`Ho5Xy}s$TbGW+&}#4)ru4@6Q%AsGji&TY!A~3-0T-U1e#e=Fq?S z`{m^5ld)qoFqxf@^AOZxYWbtH|2hxhEvrWfxS1Lic1 z6wXP4U|LWdzV!l_Pl+n%n6(&~+?G~dlkf_8gfos`7T6CXN8t{1S_VK97Fy+b!O zGj+RYacsV5-l?jGm5aZ2k&dR^NIIE^C2nG&3RidL7`fSYL~W@7E!0bq3+T!;NCXp) z_!9|1pw&7$T9>P-O4rqU{tWP9;H-U#@g;Ck#V7+(Knzr;RgBl8*W35^z4v-UI5ZZL zV3<-vrxGQ}RFNP!%pu%b5LVk^I{z&4s`=~>S!`YvM-kVp`}>52>3PI3yMn79 zK?G5SJeBkjnEdYWRtTxzArgodK&g8$aW9s^1>8ZTt=PZkSc$ciw)D0?d!g)k;O6e1 z>knvpeoDAkHi0ck{7YI63z)zmp?UgZ-(-b@GcK6py{4z~p+k;ML}v_nKS-UzbPvw- zwfm0Py^44-0;A|1Zzm9{zpK;@fNTZ1osh*sF=WP~A`6?BN7L6sZ$)v~lJ9hbER1p8 z1Ug>9+gt!eQ<%ww3r`Vuoh<%r;v_m*yd~%L^u66?y}7`>VYhm$JE6YowCT+dzX8-i z_vGBwQm1Ge9ee06R7J$4Zzm*V#7~+??2WwN zrxKG+%;$Y>wcd4iu6#_w0rR^Pauc{;1^x7ALhO=)DL!;OZak0KjJ^5ON!8u~i*Z?? zxl}npS-c-XMA(g~o^k*ir~h3gdr*dn39lm%e#t_m6s4#-mnbNx&On67JajqZ0l3O? z+pjDO=C$bFZI@pe94TXEc>~c??{Zv@`(PFm?X1tBdqSBJKwD4!p8eLT+fJFGuQ=m> zmF4l7iGvDL+#OnMcg#c1Dfq-e<=r2BG}4u>8NCnM7YLTZA_ftnBZGaXH0{er%2+!c z*v;`2xbrDcvl%R;sWipwHmi(v3FJG6)gU1+2fTF4Bsd*{_dL*4iyZ3-K5HTilU&ix zyP@{Q!-Y3fwbyRj!AsCC!Ik6jT{)!(;De7aA^s_viZ+ge3(Gz;qOdBoI{kf;Siwx% z4^OJf0`X@SL;Jw(?&g9@ZCl{i)J9V@~+(facRt5<(UEn~97os_I!m6>m!9T>tE*Iu>I3Ip-vm`QcUeUT3w}9;eN&V4rFf`)%3}=4x~p;=rkd(we}oGM_(0hAL*xVR9rLk*Kufx!J^R^hmTSWH}di34jMF{o?x z#4xJ(53U;?;xZiv=gneWisJB`!E8jdk>T&Nu+VUO|QYuj6z5cOjD| zehbb7v|ne2?|P$iO$h{$nT<8X*(5>HG@Hl95@_7-@LF511BhyrQKwwTRaL&jr!o!z(qrh4+?O4H!!2SJ~C5 zCKjzZX)q_&6TV=Go)K?xMZc6p$NHkV^AHoQP9)kggop95{~77)Pg34!5&xaOe|S{_ za{5UPsK+QKT*_lresuqqgNZ+CtHEV+{t33=e$kB}EWmuOJ+bFhiLSS@jZ(bilK1GQ z&N)RRd~~QpG%wRD+q!E7Z>*nda%2AM2pc;g!yPb^;p3W~8t+@1Tpd&fk`AClFg}Y#4 zygB}}pHNCd3_Rce?&{XGxG|}04MFIxPzeb43R}N16!_oI3C6|#pIksNZq_swZ7>>O z)6f5T^56dB$)`hi2+&)KUl6d%)|TmzYRs2jIjSJ%B{yCCcts>k5sy?k*V0QQ4an%r z;X@MUZj*Jqy*wy88AHMXkmHP#r;gqKcOFAclF(0^@oTKiwV~4f!g3N@e)~9nQO~~0 z8?+~K@7ycl0ov$Ragmg0mj2t5-Txe3+U%x0Bav6ulbx-o*qx2c{5_AUP9YYzQkhf~ z^c$9j73(3#zLBG%6LQLhq3u&?vHc~d;4jqYM6~ImQ#^@17vd1Dma#_X41$WlSq`uc zVnroxd;Nj7gnQNuMmG{d%BY3?_Tz`|{^N(K{12gsyg{78d^4B5;#c5urwYggY^!6k zHPQ_~G?mitx%lYu=4+X9u<%KQP8E7nZ}YXn3c^m0#~mgLF`3cjogN~35tL!}mB_xY z%<`1CGKI95xM6^DPV@9HB1Z1j1YvSo>I;lv-Y;PC1fFedjK@fm7pA$g{FNZ3-Ha$1kr_> z%+KSdm2d4LZnU){)kR+S{Z_sP(_nkQ#_x04n5TzD{tpJ-b?>ig=ia3>T5DLPm?n1qeRCW)RqGHQWDWv~40%aYw`d zlb6dbYdeF}w;FRjH!fnu2dzOpW4$x_AA_W%%0I4vAQotOXW z2Uh&9rHiYLw=_1${^dS)TW@B;XvIl+TRi4#4W$sxnuh<4k&T#uV=tmP*;!zcaCrf_ zodU^+b60dDEf%K4&UFA)Q!S==hVm`8TC$tZJYva1D5&gJlHe5+g8DHMVsq0;|DHzr z1kQj?XMeUj$)v3w&36o5Fn@M(;vnXdX7cn6IjEi173?FKNT5gF@=KSi8Hh$>-$J9j z80fO9BpsC5b_pj9_2>K5TtReNAiUdM<5H4<=`g`hEXsN!F8z=*nnGN8`@@0@IdmJ@J>S;;*cbzFDSmx&bkRD^yVSK%waGh z3$d!pyzx>(TAW5P`+t zu`!c!GmwO!m5U07Q%0Xcj`VdFBuPB+C6=$oEGTHuv!pr@k6MBQV5+&nQ5@ka9FXiP zsAjLCntoHXM=C>YTW*Rw1O>y@((v*X*7D0v0MM1@l1i{+jgIM!`Ucf(E(}?zKcoTm z2PMHNu2+K!ZsnP@nNY-TWGQzIp}7VuCA{s`VsPVl)FSuwa?J=a7q~W^nvYfWn=j29 zBgLT{Ik#oA!m1ZaGqvO9Dxil36o`oy~e^K_7r~JmfV@U#fe2)E^F$%)GIB$?zK6PQn6JSpnU}W>o{#xi(IAL-zLdOhQ3l2$bA~jxesJ z8eK=wLNlEQF&vFcMr1ww!{s9fftf3C-QRKFqtmD%oby)w9j+RGy*oU4D&DI7VsIkj zR16(^?|Hex+|Q2=pf3QF3pSM{Vg&@{=ii86W}k#(S7T#I+* z%sMg;uQEi-n5*ts|6Xf0wl+TbJjI4$Jx8tkbUwu+0AGVsagE#Q61N85%`t<;Nd6sP z$A53X=|Ajl?E~b|smVgo3KwkXB)@zCdTD(=N3DDzdZ_`B7N^*>z%~%QhO*nuhr`v? zm(>96oge0st5(AwB4(-=CyNgcFDLi6r+&hOU%^9=h}jWXEjLSJoD*P$1B_XY+btjQ zick3YNWoi3J)c+b3W0kWLH^bs9@w5aJL&eH*nM8x>~^h;7zum$Hr*aq^j);J7Y>D+ zAa8;Sy-MUB`%=Q>$SQ4uN@z7ccp(TM&yJu>562~){ zaUE<^kse=_6^7XK<2ijCeRrhl25BQ3q{q?9zKzP@#2i5Y`8_GB0FVfK-{)7*0Q2Y= zbB7vzx!T-rsEnV+7^mG`Oe7ABMV z3C-GV{hpleuC}=CuV~1RobhE=#LFyU))P%+M{r_|LLff6RAZ2`s2$U}_-gx0v0>C9 zAyTR57K7gJYp$#9ks2n@ys0#Kof_k9XpMjp8N3Lx%d|yXoQ_IPPW1ub_0l*7k6`Al zA0{tT9nzpLcd!RTOwWPj z_wEja?!eAaVTN68({bkh6y6O$cS~fpB|fw5u5h0KH7Iu=H^xw+h@iNu2uRWIXUzmb z+YgvTbgaRD|A(h@3eTj8+I8O8wrv{|dt%$RHIw9xZQC{`wkGz(wr%fx|G)R{ldkTQ zKB%kLT2-~4=O!bys#HL=8bpR?Rj`O)v1L^X&)lNEUUcL0!$xUXOYP(}BInEKOyc%G8aa zxtCJ+L%d6#Uy|$2Ig1ouJlQHs9m-KAac+^~A)JOqkc9WNmAL7fBu?w?<8NEH8S^v# zm};=hvMC&bSx#(?l@)Y78EdnV+QTdyKfvb+sl5HkYDIWN?U=~Og)-GPh(fF9uy%Fs zuUZZaW4$F+E~W^%Q9bqB-%d>6j~|=H`kO5x?rHPVkymuvN`gKCO&z?ziR^ue>A#x4 zlg<=J$nGl;Ek2)^ZwOj^2F9AD3Hl3GRUG#xeDYB>fD4mhQlYr)m#qoJUpmFqcv`3G zq*7%M%7V7*<|3~sz-MEXNw`U;XsjR1`$`?~U!~#GV*K(nMon}$y3%oU(ghAp8Om>y z?XC)f<9}<~Cnh5-M>xo%vjm2OM(18xlDO0i1FB<>MeVhR8_q#DkS1_t!b9SLBk1d} zs?FN;J{iVl3ZlAZ(_&kX^oV%AaXeG8WGQbzdO~kjVLVx(`!Ad9VOI-yWD@QjR6rk4 zIqa^L6un&=r^Hy~0t_|D6E{-jkg=R(@psJ~M?5rOC@t3#^>x$E_W9lGf1!Wn zXnCCp;k7W?!pKRkG|2UX&nS^io@i9sYw`wnrG#v>~02YR3OquHh1M!oGmRR{cOLZPjZ%1Vwi;6ecC0V2D` z!A3(y?=x6F!j?T|*}uYvVZ^M`Yrwdz3T_UaM)A?6(iSwaSx(OSHBqiBVt=KI+6G)J zhyLi5U7x2U+;i%|)LXDSTHZIFH-Nnh=(m~2`3!z5Tvs-(yM!u&BvTg^nOlP3vCAG`Dl73&p+ zTn;>M3uA$vFsTub%?bRfuqbaill%b}LhL}BdQH!r9I&~%cu_zwUd!Tv-tqqWtD`&8 zDdQk>8YR5RX3cqLby<6%ov-kN=##DSVm*7^~RE9Z~q;z2dO<3B=W6s z%MjHmlyHbvH`{L2lh4``d_oZ^S|QG-I+W2}<6-7Pp1TlztiCWiTHEMuwtBQKknC3} zS@YrELn+GhEC=?WQLBz-bXIJ7v!^jydT$!jz81b&NWRLRQAHoKhT2+m8Imk2jYkV1 zQS+yWs?cYoXlPH=gT@2Umd&G{umpyqhphX(o#9AM%j1INx{JqSoE4t}@S(hs?7#QS zl4V$T+7ez8=8ZU>`Zhjn zjz6b9lxCfC|9P2_`92j~dGv;yqep=Ed*8dM>TT>&Y{avZ=a!$$1z2gWFW0N3JD>7V z58`fdvwXB0vNtt&)ewEKIM}DQ(WbP3#ZANG<}?OCdXV_I92)bTm-C-BG_GzLys;}qrN2@f#Bx9m<6m+za zR}dic7efwy0z@3|04R?&H>+P0vnX+qjK9PXVF?K>V)&s`k6Z21hLqjqZ6)RNMR?Ul z1i=a59#Ur@8A(-*7!f%!a0# z*8Wn|(uW?TapXmo2-?F3nBg{h!y?tX!y_I4c@pW7=cYWC!!y937*DsDL^C*gnXFnH zga`k2`0@pT;KN)5VRk(~hYI5NmUtCph^(~#-)zs#p2`vriUHtE{SG=bK+S27Ozv+_ zrP}Q+YGS2!5xMWbjS9KH9=oVRAl^KEB$sVdMow}93Qs3 z(Pf?A%Y5ks3>HjVs5@3gqPV}tZDLi(%cz2dP-Pt2ZW-T)TJGC(prVw%=-XwMl(I2- zqQdvjed8|}1Fn@aBwZ>#fVUkwUz(V1C|E1+&M&@?<~(n_WQO36QXbU83Cc{H6O4@Y zEdj+(gc7=RSD6^=o&h0-dRr^b0d`cd{sE+7Er z;3SODs5CZDzIvPDLePIdoomVsByP5>x|`RuMeY8;2x~+CMtuam1}+ElR3y^NoDGUI zF{+10>Lk@>&|pom%8hM5QdZ!Ow)2ntbV#U(I2<&fO3rL$jFcnuoVV1a@UY4vHc5B; z_GHN=EEYc;&(-M z3xup;=rhVe85=@s-~|tOp&aO@pTe1WlkBNox`sV++jMrMEUuoJbR5M?dk8;Qbr?d% zhqs5y(8IED{R-NFS3;YU+Ca3bC1H@*%hl=Q{aQb5Rpsw;I~#;`^k*x4u=8Wih>zcu zk;F`MkEiO=`o(TGII^}0WveNpl%r>ludry(4gMl250~rbKpA!WV(S?&0qo4TG(2gJ zd}!3HAF>?f2c{L#Nw5%YH2f&m=nW<6S-`#^HR+9De^SOYowopp?uKp=O(UTy#Ssv| z>KPp49Fd&&M2eTtI~`h}J)R|k=vQ^Ri${Iw8HH3O*NjroKCb z9|7?|LK^jRN0d0Ie|3wt1?}?Amx?1DW6ZsB;C5(*qGApMv@VJelQe+ucT8j_Ygz*a zf0=zEckuWDi&*L?qC+?it)N~y{iF?DLK3FmVwWB?kltZ#Y(KG0D{frf+>ph-X0|%Z zRGd&PStq=3eUg$!wRTQUpF-t2VD)Xcde+VRFixcDx~K2&;QPLB6JaKvJYV=-hB)~@50K{Z2ydN)P#CL*I3a0 zH$s#=aZXlFE&(GZnw8@I%2N%<=N7clz%e+y?@J|_hg;8wR&ZVT zh2^l*IFk5@M{1s+>=MVws> zdfL)mV}qJw1@oKsMwdWfAW((u(;=0mRHr2d{$xe>Mxl5?a6#1q2C$&qm8Os(2f(hSmzpG)1tA6Ht#JTpVT_&htAb66lQvPP_xyH1h5WP=xR!{Om0CKd?#X zPz+^`wNGIKD;Qf?>XuAHbLD*cq8DL6@gu1ryr@CSFgpw^4ueCQmb?Qt@>iggyPy)( z(Enrvheb=fWaGd51feiGqPqzI*X%YY;BgpTYX>$AT2F zD?8@d1eBZEqUUW=@KX?QFy9FwOxRRUBN7Af+zr9oi7tI)NIbN4`OkSYNoCcRTuRDe z>);@ydVvJ8qxWy2RugG1+cgtsX`&wM)Et(ppBx;h(D3bJIXKF{MbIx7*je zbP2Ii4l*I!XP^xWB=OOOkgb+)cyIIE0z|(6!r8A8|C75?|KpOSUciF807zSm;K0`b z-=bFm1aJxfPm3u6__z9j8Wutp!uevZ#;*x`WowBo$$y6sHpER4836m9FDq&8J6r!0 z%Z97GIjAqb+Qr_YK8TH5UEUJA%5FFcF zYo&mqK3b9%HS7?>?XQ%G(g{i}~FK4ds{G4h>9S)H9G?h1#=#=YlF{%ZvNg zFJ_GU&QK7siyEhN6B>aqoo{BY=yG*`(;prI4rC@g#>kbd(8WR|Pui}e!i^y+Kv>FRb$!n!-v{^?NBvMlHVPdS!(IC{HAizg?FMp|KOa+jK9 zI5d!5tYb8Vm>(#BH;xq@&{#O2NBf%>ORd|hJ!p>ncdUVvzLgE10ZA(p} zM3TvZ{d3qqN+Q$_?t8L-z~&Hk!#GpzTe3%a$|!biMk7~HkiPXO5|NsE)U)MpldE#U%?e6Z*xHaKThffcNpCuo2m}szxiegzrk=*yrxQz~jJ1CNe zJ>2Jwq8r*c{i4Sfja|4Sew)OUNXZ1}NyTDefVJ{S3Qcq%&RWb{)eUTY7_YD$`=cx8 zaCk-O@SiyvsKmCPYbYwZ3T_cn;u#)3z2Wy#8)b?1*%pEbRG323y16=FW#2lW)?Eh|BC~OV7G^*gbFWLbtIT&4KfnB2!c9P z#SvL4iaGHzNbrj73iw-{yrt6CY5Rx5`f$n5xt?3&lg+ueBI<_ZL@BhMdR?wq8={Lt zfxF7$`j(0k6qrUD7!A&`CXLJDM)EEXgT+`lzWJV477vbit4jl|g%4%kF`~^W{6G6dRul5-P-2&pKd0RDnHyB_f;ND6E z$n|M`#(Ip{`G>jckQNldZsBqi2d@W)!_LZv^k8{`#qY9E_{~5SiVTzf7(M+nM#P{k zc}-0+8x@(l?Zl2RVngoDe$5^rl^FMYq|IaL)KDKAfz3i9)VMJpP&~A)Av}tLQIVXf zpoR}RLHzYC76MYvff#yR7DlRcPgH*i4}RB&%(?i7|KhKho2IbJq8Y zDu^1{q0+8hah2pmXFzP)`s%zUv9xBFAF4#+&#eIsnjs!j zI#15+w2?(M8<7k@?#RaT*Q>)9ajiPZgG8tIb z=Z!>n{apr05vYVS90Yn2e_FlSp#jx z28%nc@l^3$;bi;6Ij*j?BF)x?OUX(PEIR?S^=#>vzv+yPpCgfgLg;&g8l7+r5Uih~ zkVoa3Za_d;IQ}jEDgLm5O;uIJ>+3FLHvie177G6+mD^&w8Jd>a)EEE5{oN0A!Tp_u zMne7SMDb+yGwb!?{2ZD(F_w72MK%~&I{;tn;o;gB2%@J@?w`p9TWw?mTqFjQmj>Fz zV9}dzUsq$81D;(L4dx1HuhE&o!gDxkjDQpL?@GB2wt03Qtqu%3n2lBfHhgIY*Ut|} zeV#2E*1FH)UU9Kd)s~C^9;M`wJP?SjU0K7WlVNe32{9MvRxd@<`P3QqY|0KM7;ah)n4cp^TnFog?W@FajlMZM zhzg(}YPQ!3nmCtM2vSO?aL)>z?XT#1DA*1t%ILQ3F|+1nAeiOfg1~`hSaVfsWAH~y z5Ubv#I3J7*l00z1q5`*lEsQnaZ3}xHRiHAsl%v0Qrp}^Ba)Xw6$%KD<^ZcTBs1@9X zq0P2P|9dY7=mrv>Bia0!w&DdMG_{)S0v9~66_45vaLN4hZ!MaviXS%;_b`YlI*R#6~s8`cm0A0Gc@c0+6@1!e&}$*^);TK#~fn^kkgg@}ZU z(-5tiRe?*Ww)?>M(cU(9i5S&N?Eqh)Uqip54TiZygAfm+4hu2(m?1sd5DG8QJyFuv zaGkn`j10j$tMwqWDk?UJ#2q{Gp`ZKxGi{0HN;)~7m>YW$J3%Oa^$G(hq|79*3@I;~ zi@reqI4jPl0>%Mopq$MAOYq|OzXUH#aBxH*`jw=6O7=6g8-B;P`}rOO!z`arZmW)BJbRnlV*) z=6OreV-o^n!rm<EwhrTP4c~?TxAZuHcybN6CqS=fcM;GBbg{b`uN-50n z^utq-2TZgzrnH9u2`5Ium%tz>{U-SUn_S2PR%4V_Vh%UK8?_(==d=iY18J9@Iq;5*DEyxSryB1Y9TTQ6dxt_Ksm`x(EnLo&%0nlN zf~|E6qozNP8Vk%MPMqX7bK+fyV}Y(IQR%q@=;)!ax^AyhEmZHmv$fGd3 zX&01YI89t6{C;zB!Wh!l+cw_10^Wl`3tA=!bu47)PJJJ%lJwWr!IMjrl|Un*tT^^K zNmM&n`CDLss4twDX%_{F_UUuAnhGzpz;YS#fa&}1crIj`8fw6xfF_1S_%nN@h1%!w zOb1jhD(YmbC!)Yph$wcTSQsQBC9)N2;eJc(0bM22{8lI1mDWYvWFc@2icG+#YnE!=)L>($D8^7HPppcJ$mwPC&Q`{dg z>kF4eubttgaNb`O4)6P`)J8V^Suj0R;|({cd-HiE$9(r0_)0$WB?_dIFU=qyefN`N zUXP}qlrIHRU}ff+ZSZneoD7G)ZXbmU9g)p(4Tb~6 zoUBp|*Nbh>Nz2?LpyH9HPi1{W#pzij9=q?{lT-YU&C>61e}JlGw)qA2aPLf5k$Zc6 zDveaDe$x3fQ>|%hxck3wA2E`9mJV+3^d0VZ+%JJ3P~Le8?dDpX3}H;wp)q~ldMPLC zh0p6LX7zrz>w7Fqj%p~kSu$u>W+q~mLE?kS6d1OJ#ihVz3WkA?(m07z4p+!+lazf| z`a)Ua^5}U{tx%)-Xj^8nG=Vs{G4?sti!|_{F-{)Ivi4HED8J0E!JQBiOx0>6A_KQr z(=;#_B_=1z0T6-iM6hwRj!@<3G+z`+95O$OHlO1Wi{Ek*fC3~fz0yd<1UHpx^BNH@ zuZ?b|v`uYXdHN2}fpP%3kw#T6WXhKbTChR`|DQLZiiHK*pW1SxA+$#XP>eBAps*H7 z)qX5^Z2}IHZ_V%?id?-G4g^!d!)=?%Ru0=&uIHy-5~2gMGk>aQd)J}=aixCYfnx)` zpb^$Fydp#FFeWNy24V4MK;}SbNIGcqjQyV9lOh)5snl%W{Bu1`l%-LK`=D;^E?aRH zR?X7a>>7=)_ZGQ!KrigzW%7;eP%JBsU;P;f@*%NRS8Ge+i%?K85Z&MllLWP1Q@QId|UWo8jT%x%@pJA4AOVwKZ&Lg`5=?^HdI>P^ISexl>1c z1wH3WCccz8E)d*sCR>XSu%PB*CCrw$e3lHlmk4!(u&R|H1fPzX?pnuV1)d_1T|!sf z_y#SHmF)6(ZWye=S7@s==xqpTxvmX^8O-|EdN(`PbjAO!P_ywkxk5kV@U6CgwWM2T z3%ROZ&arV!?PFQp1f4FZ($UbhbQ1DrcCbkWxKvqxJz;n5{8#C}WL^wZ(KuY#%rn*% z5`P06ofL&&l-nrl#p*VoQtpYAJ%gbBe+D2?1)za(bF%;Eh6SuvlXIB=c5pb-ICo;0 zHM8hR)lmY#2){^;6@T|p*;~`p2VQ`Pzk8Z{T(C>yDN@MaOm&`5bb7Ikj|Mp2n%_Ee zdVS)u-%NZ%sLw$t7XhAMFTZ-n`>$6LH-)G^UCuHS*m&zp{%6mh_ovi2T zCdJnp%{l8#F@NY!DH~auy^UeB68D?aCv591UdZL|mg8 zMSv1p3(`>k4BI~ut%`l~z5Be~Tgg5APxD|8(3j~bydjekHBC3OMt1Q`)|oeMbt^^3 zVO(TFbHYbdlzhBOS@h2d-XNVMQ%S8rD3ii8E6hFnUBDD8QFpL7_v#R4k zh!B$XZq%E9{fZriHETqTa_~-`Rs7PZHoIG{hFilS&djU*vwm%=8Vf8;{6;%{MJ>K6 zFdoDoI;?8jDCfy5z;1DLj_V|=bdUB+tD3XYR43)3phqs|ka8txaWu~J!i4U+Rh}Q- zEg$uLWLpto?d*!oc@Z&9-I3bj>_Ul0kTnMJ!6BS82Zv{352{GSokBjlw;Onn5gP!q zO2%Rq%GsMJL?Iv8^vV%N?ysbrKNf@v#K-p`u$8u{{GmHhT#V(mK!!1<)w`mn_4XL2%q2RI!YRT3kzUvZTm}3< z%o>hDuaS4j0`;G5O);5joZwl#e{o)(AX&>!GU2$IE5nyD;6AMKifDhCm4w2#kmoLF zi=Bw!S#8CtNgdc6Aeh*Ophexvt{WySqGY%Jo8}oiEQ^?s$hZCza_&Rir#}z3byb1p zaw7Db*DGKCg}UH!sC52YXo6rtXXDF7mhZ~?3&(N<~9E~^Nd^IIBpse1nO(~ z-;N4d6cGiyHi7-NVBjO{@BjPfvHXu-A%+TE6lgmg*i3-8$5R%ZhXGf{5Po@r@bx@d zMe9!v&OV^8s1`pqHk`^dYl$&?ys;nJG5X|?9`T=TSYd}5`L}Ht>rWI>IoFmjf#JI& z;}zL&@$z%aeYs|_oRYoKbQF51p!k;p@n`;WiAv7kLgd$%s2Zo4dQGXprEku=E7!|! zV80MFZv97b6!ui1E!)d`ums%m*-;p3`ttD#iaqHNhg3vub>YkYUJxYzb`UjXl%HNx zMEjaT>gNMz9ZI5@)FhvTAKFkFR{%*AZ{IXqq`)+GA^WEZt!9=W`U4{orpVknsUZA%{#jMgA~wD=wa7JHFTQ6Hz~&)Awud z%>dZ`cJHuGaU=K{=UWVe;rkK$6$)n!x<&?|$%i?EfxfbIwEaAO&s=(GPH$*ku6ZY# z6wP}+CDLm1qHmGfZ$6k44CK8q*E1Ingg1DXt|xF@Tkty27^mF`8u(*XE)?JhRA(If zR&z5|r;T@xwWQyH(}MfT72U(~rwlc}MAB*xAl;eQ5ZzThN3y0fz4!UhVN`Xo*9lpT zxKffpU%sb@$#}~A^9oBbJDFhftR=%gN9=E_MjK|DzvyQZpKr#ZcTTd=;dXfwLSvw) zbAQ61t6LANm^u%KPv|9GMpLf_@*AbgLqL?jQ|ca_Z*NwOZJZkQn#Tt+E6n3aB|#AN z(rD%bg#P(LX&)@GPJ(o>O(JMltr{FN?{m!w5{|bsUM>;vSU@RBs8){aB{v!E-HUbb zqwknDN;2RJf*lhEggB4H zlF!pngwP#tI_dl2lzO#bdc5iclg^Ti`qYTW>q> z5ynx7; l~0e}+D(UAgfxj(G1}b%_#5h2Aq4)3o!NoWxQX@3RvRj$15hP&qAF?$ ztKm=4kV}Y2;7r}b1 zK_r8#biXkV2Sr}meS!n3$+A6lR@Qx z$}GvXdy(fz2obcTj?#hS1F`5*Ybctk7pI@k=9l}?+)i2Mc!I4;3Ew7d!)CWP;2)zT8=R8;1fxxgnz|^AXJ=`ZeA0P8Xhs?xWJAR}B<9sL z>)h)`GV~U%Di!#JQ`ON*sHH*j@h2Ga4WQ&cbGDO26RCfge=u}Isb-T5uw*o4nG>kX z>%oYENyD2>K?J^K0o!x)eyS>ThkF&r5!IrBw3Chpp$YvoHX8(dg+PwrGLxVWX%hU- z5GFIi@YDq*e_mOipx=4jK4nCbrj)cg~nYsxZXVrfx= z)=wPP8niyJzz_!W-*?HvaMq8098yW=x)=r9l?Bvy*oh_suhxHgI_KvIp`GpN26JPH zk}e%&gYMQ}64lOEf{9fVH$M1Ncbyx9hiW6!4pusjgd5tzhxUT;Zf7c*q8r_E(zj&j zLK+*ylM!o!?Z1Bk276CHk)fX4Rt;QNeIY?j^}vaqw)ZsruQaz}mrmvYxn@B!^O8hJ zR&g=C(?ZHX#m8oL=pS{Kn*rHkXnhVQv(~rOUe~Qbfr^SlWbzj~i8E{c(IVa1e!HDl z)ccmHhtN9z;I)PS)~zL_Y75Um;k65KKo(66<~#iek$`qazJEVzr^BjI&ducc<3A-X z3F3XcY?_%@-=%+b%dDPD5b(4sB}$KVlrcv)h>|e_Y|ihGMNJyeL`3*BYG7(sIBD1X z(~OH~OW(O)BJXXXU*j?P35Mpp3@(VdbIvnSEJ;5kFo-{nq?RsBwe*30$U15@uLv<3 zXRud3?}vdr^iPBjphAjOum-gSrvBT98Og^{$~7>SU*UN7)o_;O`R8#m!d2fBo6kT` zR5V*0@TT08A_T22Y{Bn0boHJCmEJfA1$jT4fjl*th>25h9M_=^@;YpwN+in>^1HPW zc(CEN&->JGqE!iyzY@^Xr1df*!v#W7$Px3Hy|0DSU`-DGY|I#Gir^q?s1*BzCCvW(+Go&7>3<)?dUo$*_K5=-%IHr!jV*mvdKzu>PpD09$4ne!Uf z2sN6f)n@D*K|@}rxTvlgOFBKaTI(0y8IcuJqG(3)6lSC=NmQ({eBEh3TUdrY{8IT8g{%|-uW{IQxyM~;Cl=|}7awHhW z8x8*RSW?e~I7EOL>abZDVw@m`z(O8Q@eehMhJ5Oio&-aJtXOE1E*#V)00xS2mw-j8 zW-~6Y*mEENLoZKBgyg%e0NsU)Cm7x3tUpdnfN{W%ktc3Dyx|v??I>`a-UL?Oj+#(w z9r%|hItpgJO&nhBnfWn42&bw!KV*3{^fgyoJ2wQsa{8yGS=FrO47D9~uq=cAV6qkr zn_;;Yx&TD876DRz0A}Ws(}+3&W<#8f^9VA8c)Vft>>;RQ67DZuFtfW+=A1Iv5@ew> zfmvtdh~Xfj1z}`HODo`;5-5g2BJ}z~vu1s7y=VVVL&GDz5gBVX5c!fU7O-6l`!X8| znGKdWQw6S9^16s8n)USOcWmp0?6T7IHO2ddW_%f8;|D2ZZ0AhoU=+<6Wm{A~$Smlv zzR~P$n7UT9Mq*qY0|et)C}NgfIHBAEH6IL!%L?vu3W#V-76{;S$%NJPnzn>S92$*ZHbWr2v2oMwh zo{!L+?=ce2^3uJ!v)xWVVBcpV`eeCu5!BHPoj)}nW(dG-9Ia*Z#bWj1V-j|VX~ZB7 z28DWY@y)Mp)vbV+^ynq#l=;sYGh>RH6_J5~;$Nq^PvbK^+%Gn5$GJ6AOXGJBP)iNM zyG&Rg;|HM&!;$j`q0!wsTMpwbSMoVk0>OJ>h)*FuI`w-;AtXACY(ruRn{aZ1_x`M~ z>W6$j34Vef@E*y96BrF05lv6&Z`o#UsPnitnBgFwubcvRk3U9FSZDrz4vqfm>f}c9 zx_h24eYh)p82yE#e5QFHs%gN@4gEn<=LgQ|9y8Wt=-jLO?~O# zE2v{Rq+(5ad2f8Jf6WQ<%U|^E@eKV;NQtS_Gby}SzIKm(#xfJe6w3XPGK^4PI3sA# zr46xv9QrVt*=XkR>(=+f-ffdYMv#|x$tBGKng$6NWV+HG*0P1J)5*iT6<4}kpn9Ub z`!-g{+fSA`LN*2_XIz?*Q^-mtX_iKICOghQlx-TuH~V9~_KfRH;64(y`tIj#qc6u1 zV$%Zo$DB~l;Cx%XS;r2fQfP#?!%KI{Lbdl*mT}BCOQu66@)Z90^hr5qBUsZ@jNTir zKF$Z|U>xtS=^3K={23`OG1zbRgnp;5oMnCaKH{r3y}ybfm#AzzfIf}Pu7G?mmjW)M z{tH?X8iz*&`br)x-)9D#!r{mui&2YIAHpJiFoD-Fe1iL6WIL%)%gOtXL(*HvCWfo2 zMqGJEz}z+lEgL$O=#bi_^J;F)BOL)je9SHIQu7pE{}h@@>EsBio@xbJ`T>)CL7Myn zlXQ~+l~Bak%R?%v#KmshT?Jme^Q(?%OJPGBr%&0zzj(5DE<{c8v~^W<#tw(XDqVW+ ztVvAz_e)Snw6a=HQr1|u91R65($8>KQHkIZU>45mE7YH$veM-QX-O6!-cP&6;~FGj zh1PNhWU&VQ!9a%CB*JJ>_l$N<05!mNiJHS0ck=gyX?fdv!!9$VPH?r4`veHS|o=$4qu#hG- zn#Mo%y0jEk$|~5x(^t|#iZ6PnWNjy^-a)jiZag|c)XnYDt*sH_8WFAyD4~CHgGOfy zyBkWIScIvqqJS$lyFk=6f@uO@o>!J%R#rgHtE$ew1T2rB!`a>0n_1q@2H=m6!EdBi z)7zIp`=(AAA0Ii1^H%us60;)Ds!@VWRkQXm^z+3!L()VY2h z1+~>PjQj;N+`SPT{np)2q

8o}Txc?he{Q29YNK0{mm*d?!C66ghxgDXd^TV8nr- z$Mo6R7cW|x=abR?$asy3JZ#v<6Cy}f%CNSSMiy@xnex;?7%~`V@C=c|8^ae#e4Dy# zyyY_kLqyQbkBzkSNd8Dl?EP)fq{R0nlrWfsA#;E$q+>&)lk>GBm>(iYUPn2_xWNg> zk8^(@-^wQ|Uf`s6=Q;4=oFs6S8{i{!C^P~Uk(yXfhrE4$40?a_I)Aej)c+Tf87!R_ zOx6#Rn0ZXbJq*Y46NwIok1t>y@LDxdRb>mZ*yHpC6L^B*9?rgzR?9_`TGL=(8d4Clvu#N2i9_G8WNS2^hm_Z0k0Vja3Y{``=98*~EnUAlP=&wn}3uBYJr#jcTjusCmNM6vSb7B-j zzvnHC&)PfS(kn202J&-*W`i#;I5N6^@2mYFE80$|#Mlrn^9vfnIRUZ_Y*JNtswCy> zd_d4$j=3lbhyV?*+T;TI@emEpTwmYt8LKdWYHE!D$;$(1{d5BKnSZH#&w#ZBB&ZI^ za$76lZ%oWzLh7nGJ)@&tP|tb*aU_E4*Kauh{e&T(g%mUhYYCE=jbu{KWmG0yFX?0I z3DGWOU04q?lAri)uqS{%foTwGrR)nCiOx^_HFy~aLeI)Hh-et^LxKnrxeh0MO4E&8 zlr#6=pyzuq1`NYeR(J>|#@OsaE(&;sa{|?5*N0}UK7a|vh~ieL8(M)INE?TVx{F*mS@3jMhUKKN~X zLV}?4;g4Kh^(7QW%n2kGV^|ZE@Ta~>NQXm(4XOGd@*SyiXPOiWxcD4L!1+$G2-4;b z=g{D5Ad?3F_DtVW7jAmQ4uV|mfJm<3D_y$aRASJ-@vuq-Z$;@5nfSi2+CZ{DKbyO= z{Er_(Gi;Ha^jRH0#D$gw|Lq0fdj$O0WCFxV=&$YuxSrXbK);(15v%ZYtbCw=D2*N< z1wo&`LW!_DznSn5&jQf{-+e4@JaMp5Phni&sh)uRbR~>2$U|9QzN;h-z^R@Ud~mO2 zKOv7inz8q&>~f(xH8;m`xnk^ay!pd#Ja^0CLL(dx)z3c&_q=SfsjTsCC@>b66b`o* z(hDRqJI+3u6q?6z+^FT2gj_ZPH|pkM`0KIU%ndt(P!k*hWABz!Qm%WYRU3mhN@C?J z9jJsp4a4XZ8two3QOUSZfh6wFzC~QW*7y)l`PlBg!9DyXX&X4Zt>2+l z!0ZyL)cy0z%Wf|o&|3c7{wn(}i(1X9xrs_FehtpHy_blXDrQwG$V$0JdOoj7tgc+q z%b>K5SUa~55MpUs+O+Ef6RKplfRYwdp@do$@;|eaQEJElAMDF`z#HC)04q7wywve8 z8Cq9mDCW_B%KhPnN2#j|!E&Fm`_ptAp8@ny%Celi$))jnD6wGiisXj~ONz@ye;+ z9WQZpj;lJM5mFr$ex08| zA0ChV#u+73ADy)y$h#YtQ3>0xh@JGIzbj<$^wp{u)Ymw}g?ZR|xg|OzLA0sC_sf1% z*-}#C(FBIP0rPM+_f8y%(BfAP^~C%l@~1~PBXbExpqwt1TFQw>%=lDqd+q{k=+{z7 zj$gty2-}v}t(KR%8idmHx_;BLKEe8~!#k+l&TV$A(CCESnoms8orc_Rhqy5*zb!V- zYy25`*CU=Z!|b}^&bjw_U`koDX*^JFBt@I`gSCyJ0=_?%(r-Qed5T`FP>>9g^Gf;` zt-;Rlkp1tOFM%qNvq$OC99;fD>XiArR?nW(@?f@fw<+&X<#7y~8>g={Ix%w zoPG(VqG`VM#kGqf=_!b44C6)Bv9MZ$@1`}487)mpV$mPtcaRVez?-C?D;R@vh6iKo z*p=MeLS$My`~ll8w?=xc5DvjBiw6fDZ-y0s0=%93ITlV~Ij^I|2<`D;92VG9NF$5! z$7DkN-{Gds$|swo+V&3}mh8dprpxE|;;pnyK{m>UK55eKuH zUjr)|BC=z{C(%a3&7@A%-a=ay)XVWcnc-!L!p&}dyTh+4onsN6yC#l*Yuz!Ah*wds z4*5DmkIxJ_-@Tup3K}FM>s2@i>-EuKP|MEuJ$zX0UZ>} z;H=@zAotY9GN(GGbLRr>(NW8Aw7P#iX`xz_+|*HhOWH`^dfSWT!sup0hnKH#{o zAfm-QO%qvMG=7X)Mzc;sDB*HFgCn)E%232#olQ>QG2{bscp4v(pATJJE=ca}Sge`H zB~OYyxYMgxdB}VlET``xRuvr2)R_II;VChJwTBPqXsNp*>dJ|Jz|=W0+yTMVJVddq z{(`@qLX+dQ&E+1()Iw2SV@m+C4-hkO$n$5byR5|bd2lIV+x4qaAO?$O9_XMJJ3F=kLfHr zw2PL!{=0}Cm*onDp)D%`d+8zf{7E_;$w(&&8zffy6Z4dnmZ@Uvp+*kw9`y%5DX|S(o3M@ z?j~Y>NChbieGwKJ*tee!y&P;@vjyPz1#LOY-T%7yOH!A)BVH)}s>j1qWqouGyFf`qH!HVat_LJXtF+O9e4X9I?=Rz08B*%8pI zP?}EjsQ8DUrPIe>az|+d|I=pqOISRUqYm+VSSBIzLyvPCCWQ_Qp6;;`hrZ-Ff}bkr zTyGOWiJqDl1AN|pan>Gq#W|Vn2hE0(Y*j2#-$9}Wt4puTHR0Y=-uz2B?KP>O?zb$A z=FLXu`7((5-llsQy*4mlb$JRddPGFpo9>^%%%C5F+%GitGfGgXOWk>?_wtme3mHM{ z6p|zZe^pEHsMFCVa0pj`;D!tG{HuH*0R7mM)@}JE=1;VPfcL-aD6tcYR-7#V7_#eC z^rbD}jDO&!Z{Wiss?cb{!Vwx!E?21ngPMCG#W1qIo-Kel#uHdo{uSY;i=ib>je5qQ z1EpvFjYIuaR1u*BX~mZE4OxoWngs_f!B`rSIDT;b)w`ZnBV zOdEI|^ui{(6$24}AF_7Pzo0d?rr$-rLB@C)L;5m#n}`?xb&~&oq#l zG~xYjr%QY2(q9OjgwevpZ&DhOCL6@#AXGj)UjxPts&YvGMkKgI;>~zYrgyH; z);pZ##)(xClZ=bdVw+bY5cdvtsf|#%n8U_xcN2^b9Uo07vNC*c)l!HTs5~%&7`IQm z>IP=?-AIvD-(KvB$-&wJ?)~0~;_QT-aLXjm}L_AjO{&z=PXkYs(nI@&~1C{|a`h?c)9s4$zov& z;81)E+*c@$u8(4M8sDOG?lTsh5#vn?jb`~E(qPf7vAyOBoLE@}Lv-Al;KLMQ?$}(p zbtVX?$Z1$zOb=%&0l&LLM2aV4!$m(UV5_>Pi~aHVhVDv1Ik){t6Y8rQ4p%l6sx{_4#5T@32!-0m2?M4?`+VFgUakuf;Ciq~4a#DUP|%O`&k#0?Cwl%ABSnbf zf0=8E#BoqM)E!(VzI&~Z9H17wkg3*u`ZUnd8bfy1+Y@41dqw_claT|nn2d}CUInM- zbbnsv2e%{)2FyMH?j6`$d{0U}jet6>r7N|*OoH>3&#d-F%tUQ-*~@ z^igYXb$FhBPb<-@Y=rbRF`{n7*6nGIH2Heb$$I=y14~?Y5i3oGPNUu-Vo}Thv}t?v zXj0<*O!6N_UK|~-h?0bpR%-2WvQLoO>IU+|tZzA}4h@d0P)kR5*vUJpIqH)OW)U~%iJ^$;OljadnG2D*xl)-9p+5G=|@{z zNeOAXjzGdlu2%nQ#@jmi{RPw<7u^5#Hqq&GBy+K^}F58J#Bk^CR%l(uaKg&y8vKyu{K!Zn+)!Y zs+sX|v4~pVQ-4_=>Y_?6St~yBv2iY*p@9U}#&dZ<8rb;>lWB%r?(hjo-28y{wlb&< z)z=HhZcQLl)#I6H!yFkw$iwX6G;AS_v>qc`nN`Dw$}dbh?b{{=&Jh-9GDEG@tD48e zf*)hQR0^uMs$)VSvBZE7!>G1ezmKydVRHqDfeAW8G%k%1r3s0Pg?1B+CVpdWIQ*`N zvu{6%3eM018$e%OpNXd0eI%r25LDKp+V&g*}$e^`te?i4iFeOu^_ zKWSL`KwkRT?T@AH6e6XXAxf-s1=#(ia7YOMc_xKf;_5G2-{Ax_Lc>o5B}a*l{y}bH zaG%%Z`*q0j3VvJFd#^U`9*S{XK;OGYiiTDMqlmRRhJ{yr6{lAzX?^`9Xs~`bD*5wp z%iHzrZX7uLOr*cfx4cUo6{yw{L`v$2HC1lAOb^`g3`KVXVIIv3O5k0v_{~q zhGTnPeMw=_@NE?ci4{aP2zTAj|4*xz32ALQa+*+ORhvbOj&HiSUC*GM2StJk%z+;% z?+EIx0;_wjl8&eRLqGj(@%l zl|7s!ZLwxR3pEjpxogpbN%U&?S88U>B-=p!K0o?d>C+ML1g2}5^R{OQ<7YJvEFzUe zqke2j9l}zJQaefAp4HnvW?!;}G~~~^U?I2o^#8-vI|gYMY}=w;wr$(CZQHiZuexm8 zUAAp>*|u$4xA)oSy&G|Vtc)2eW{g;we^$<%ImXzRz@!*8MGp0!&D?LpFuj~2S<|B& zS}oG>J5P}ciINU8k;plQxy~}`P)9X)IFx z!EEt%M4arO@v&n6%Z`<`*BDla;o=s6hynvHpQ40sS?(@nee(T_(S`DlSt)FlHK+3ziR(C)?Y!MpNa zZPFlQxgMwfp#(;rWfs}RHSaaML0n+cKar~5E?7J5eca&OgTqh6e5g8i=tb8q-Ih{b zXE!Q13}CVQ9w3F}MFu%DvXM-s{q+SpqcEx4_G-gWI-Du7VYK#$V>vARxAg`;!=pUy zsOr$Fis6pY$FK#zynVBHIu*GZ{EO}338ww|NH#00WUKWzI`f*baDOuE_dD0yzF8KG z{^Hsd1u?r}B?n{$j{nnXnNaHc!ZFNO82NZvKz}Eur$gS_m)SHu-ntXm0O+-@CQ?lUysYd3TUS_%KB3qw$dHbjSruDMcaM)E6 zFzySL9cChj?kVGN&PrF1qnLr-+7#DYxWXAk8Wl{XG_b0zSrCd|?wTuwdDDJ>+p;{U z0u{sW7@OeIc>p~%yx;I5BKMNH9=6Xj)Sk&5=&I&mMGR11f7$xQ%NoHm9sY;n9?;#e zdK0Dh=V8z8O4d$WsqDb_BEqGIxi&rnnQ5z>^O66Cr_@3n8<{_gwd;x#PG)}M+cj(J zA!DOyl_-|ZJ^>%xa5!tyH`wW>tz&LFAB*@axh%t=Dt9d(tg{)*p3j!&?KRrgUwK`O zB{xDpX1@N4;?P;NZu&mioXVyz)l6wL=?HP1x_@!2=UEeH} zWoV2fu!ZYBg+s+!p*QDLAoenDH8%yVA7GKnPR8|Z zJTT|CFhRK223M@p<17()r;E>MVb?KN4DONols8WAN!lGA}#v zFFKw`WOoYJBUA<5e1tcit{-RLNu2)2fj;7Nlp^FW(4}Xm)Sa2$g@5fRuWsr-Niyzr z+Fc;23pU{y#*M9C4u9%VqW}g&*lS~E7wVA2)I-iR(eu%GZXd}D9K!04RyVxl^`RK& z%{l=?Rk|Tqi_1*Fych+CDG9o?VQm8B^Mehix9d+DmfIQ9sMN7T6}2c~8ikZsnC87I zDXt|fsjT1;VY|@U{<_rr$t0XYHDtX#EBXLK=`=cHZqP60$Xp{SpIP)^3uqPlnr1~xFuxRGSBS()GV4`?6+F? zC=1X=y_EK)@`=wcV}LID$RQXt4>c$J2ug`oJ2Lh^-!dPIiTSemNCj-A3%VwoY#Sca zV`YXZH{&SQq1D$f#L2aJYsMvrGQs_r=4KKgz372d%=&%+6+FRfH4_Pq7?K+}kBBBE zNz5l|t`_qRtwbzOn9TUHg?H`#4pL%89iJ}LFel69t{tHjeL%Enp%gqk@dO-Yj;1^_ zZ6)s5<`*X_*heE(H)>%nbXE5$6d!-Mm6>V@Y#2J447;)=s6v3K`FLEWV>)z?sV7Wx ziX5&UOW|YoqzqXOpGdq=V~Kl}ut(sHZCha7r+p}#U5-GJCO$)t3K5RZs4Q=76lz+% zdH|*J?!$Il0)X_qo}YfZRaqIPh{~6W_e(Z(*RB%R-bBhP47N+gZ8ZZEIT%7HcwkYH z(l{|uy#&X1?wh@tfo>&cMQqN(&r6_c`I4oa(TY+hB}A=q07Bno&+6O#!7z?Pzf-w3 zmp){EdJUyh1g7L(_@AL?Q1k8g*;H4Tl5|to$JGE4D}Z+7;~G>c*{NGPwYH1o@(==A zd1IVw{d1tI*fUZupH>tRF&65kx$E-qsjtu>Xl6P^;9Ix8*qXabo#G;+_D{tQKGh}k zLjAa%?5&4Gy`>5KJnaqKkZqzX@-jjZwu+XxCvY^$Oqfl9iV)o$B#XK$H5#?Q_6_li^h(l3UNKX zN9<9YV5QW6Hb$E`ek>mE9~z^!kBt6F)nJei6F(aB7hXd^k#LV)VpJg<%BhYg51eYPj_q8Z3ptWd=^ zaLD2k7T6$XE0S@1#T?(X@)f!BQ=2LHM3tj=it^EX|w9nAIdnja}HMFBUZneeFIXuH;pHpTbd?JSy`l>Cfir>1B zzkuk^1$ldr<}bPkqQ^`hoo)S{V^&QLyP_Z&N}5QvM`72no@H#rZ;!)0w4A6@&XaexxP zNh&ByUL(hfvyEzBmFw@aV}u%U^~4uBd?L6Pcdqd4AUdZ4A&jf^Kg1LeIhe0WOT~}* zvfYi&?DyHk+3`dv9X>Jp3g@JjeA8`tqP^Qn7_Qx1AQp>>f>=BaQj>vYpXJgvktoGEfF-d;AH7I4IcaAlE zZ{q`M(M#}u7Z6pU9R>vN-vI7gtNxizErFjS9}-Q%d@Kn2Jn-}d~}`;VT_H#`#U zqN6+e04E_j7npJci#$pJO++HqSiCb`2LO5e75iu593d$Bu>+Lw0!@{YKPomhQ*>&jcBoGe(#jBiQC_VPjoM_ zpbdZH7_!?))CDOW!QV_3f$ogIWuxw@th%1*w@<6M;NNn7CA4`-b_8HLH5gRPjxpfR zSo;JBA2Qg}P5H6Nn*$2H?|se+k~qMk%D?a%2Y~T*56;Kq`iM46kI#=tW$ej9GIpZs z(l%GYs^$G2QT$1-$(-kBMGY2=4I8v7SreTz)nVu8s@dc8LQ!6iW7w*PIwE65F#LDD z@5sM0*|!FPuu5pfj-xb3$Ms9!ME*dw#~JwzT-K9@&F7+|NCCLo4Rtx`QlasBk_-)^ zB4Dp|{#-$(=|+&t2mJ91i_GdjSrpEjh@xeWG$)gb(?Q4#`L5WDfphzX)03u3o3Y@) zH%4Z!;-3VccR_y%0rq4yJfQ7+obfw($)-}mAOyWdIw7WtayB%n=;%?hRx&dTn(gkL z1f9>&Sj5V8uN&aR!nLSJ*}QmeRGPg~N#WVby4`&@>dL#EC#o}hek8nd)$rlmq=}+{+)BmxHe*f?E~?DGW|^zHG)~knUiUFLMOzk1nH%V zvz2gCluZ_ZHQ%G!a)iWBzo7-yP}#*-`z!y(D!+ldlaOWE8+ATQ|5;=FNZ6!X;^*A= zujFv#D+u6B)OO@C0mwWi4XPVR%Ca+DF_S)9ufxk&b6L$iBBi#R1AURZbPz7ZWw(JO zdZS`*kXU2Y(UAAf@rPcl+UQfeyP*P^EKXR--d^TJ}7yT=H44whlmW-UotU<%&4YD9jer#z6(W-@=;f z`i9#dKUg1}pvLcS{aes6|3$NfVOvs%COqyQ#jPXX{&E%)>sA;!Qsgv5!tSo*TMe{D1+z#c=B zzUg`rJ!d?5_`Q#Ejvk)ntDBTuPwJ%kTH-th-7~gLnc4@HY{kYS^vtH+YSfIzHb$1} zfIy|pRWGWi1-8qi6Uf&F7olt%%K>#x~L2T#HE5Ude5Fmz2*<)#`#~d2GC%s6@4KsNSlh zR#dE1{xj$!O+FM{DLurU|9quOGnhT;!V^b@S?tj3WU8i!?fuxH@HBx;+*u(l3h2Ep z;u=|B$5JRSQ0e@`H1r4oFiT>0a|LwFFS23^y@isn1Tbhc8#dHW7ZjgX^s_^KQnkC^ z;ycX8yR$wPG%Z^j1Q7xVdW0;@QGr0tHD+$9;@+U0XlynX#eZv5)qfbBY*utvE(eqV zqQ6T!jpP{;AoEtA0xTF%s{J!>tJ-!l{tC(ipkg#i?cp22MmA1bk+sRhX#ri0>GD#O zn+g(;KHSl}q4yFvq;&lK?}lc(QnzCG=q*aXoBqPekx0bHv_Lt4V;~U7 zJJM!!I^0O8p1%n;C2N@u9%ci>?>(83bzZ!%ce~A)6!f9Fd^fAZNwZoxh~|4$ZDQ#S(9p;4}VPdc0B znY6gezV445@KV(@W*ek+A~!QBN`JfhgCi8%9Ih6VI$AbW$=x&6umfz0%`dQo{NTqmzNetGruetN>-ID4vWlT#JaM;iLrii>ipF6 zQ5| zQ=(S8u$x4OUOkijb|VRgVn+tD9=){RDnair1Ewsq7T)0KH~_&WsyO@o_@b;Dky}m` z^d35x5QO@Za(e;G_is3U_c6n&W&b7B0J>|Ywoi2w4&o3T5gN6bFDJx_wD3)m;Pz6n zAOyXrb_b_h+Vb7SIR8~#f*{nYxs4J-S9S>R$QNB@kI`kI5MQ&x1z4S)_q#@K?#1gW zB__i?&eI&=A%I{3ix$IjIt*UcTby#!kZ8PEro4QxU!cYl*TB)P1qv?4Q=#clx#gyE zzvBJgAI3N}i;INWc-FWwn}|6B+P=F&22Vw@D2K{d_Bp!1&u!|)Q@gZB;x0MzawJ~L zMx%FfLkHhvs;wz?BE3&=a}XD;V?F7&0Q<>*^Z>RA1i;_m^gZH^f-`SChZY{$p}&7i zA)$lg%PaD9Xg}t;H`(hkfbkccz`*w)ZW1=fY5H8f|y6IbU~* zxBQgR6$i8)Eh6n)5`NvZ_}XH7v+j|15RjA{ZaajDS1cXo$FgLwLH+H|RiZQECm53{ zOAE`pE&DB$uELg0k}<0#lUbc8xHakEgM@LB=Q|Sj%DU-xgKr%bh)Hl;;S*?CDzvj@ zEveA-a)8}g9+U%dQ^+X=V`G>hxi!a|?cMCg-vF2>nu?nEv<)aFc3&=oe;4OfG{1w& z4cu&g%O6jqpzm3doqFOJ^x~8+{74K5`i+9UN45kf&v|K)m@BdQQ94~@mk~yoz~N(D zo4;3$51$mQ1?q?oA<+KO(K)P_RSFfw8e3Qt*~DRD0>%vG5NioX18ixOC7U^;LI)g& zx({$eEN@)P@3&F2tA)ZNnB=!nH|Rop5=Yf!@#0iNM~&)E`J`*$IW+-{V;wgK&YD+j zQExVIwKm3~p|yJFg`?@QCIqv3Ojxj@YFb^6vPG;~uQzJh${WZnVoR@(Z$|vE?SNLm zq2O(k4qX&#C2eM}JEeIIGZ74Ge}LGB{RXru*pc7W{$*{ZBS@68Nq}7nD_#3ksyEF1^EmVA-n)}*2h{M^cy zyje=XbjiJ`PL7e6M_~L$8_u-sE6bSV9laxe&~{bvwTddPHLGao@%HW}j@4H_>J9jd zuhI|Y*k6J@c9VHBWC)^9pM{2;rxRn~`WA7DJX2D7QL|fg#hvcPucCG2)89>j=2uC( zuVSrW<|o5JJxxp+is$kny0YFceDHG-jUenGoD)DLa~&EtBsVRw73K z+dALIWc8d8nspPEy;9{6yKnJ0DFA>qo056WZsM!($R4&=@J)VX&8ZtQWX)*P;<$6q zX2t)goNO*6%AKpe;shDm>P1Y2{mKV8?V9Y^^7!>URV??O$}J0i-92tb0Cq_nwNC+x z-+KX-d9pt)6a;T>mRw>cik1yi&vNB_1B1y(dvKfRuw%5;y;|nq(a(&0@C;b6p$DRu z&7E%zGhSx`R?Z`dk#IFy7I2tcMHA>FhdTPx!L}@irH>P|Mp-J?z;ln1y?WQj^T5GU3}NKtZHdjBeUYYK{Rpz3 zJ0%Ij8hdr$wuSi)z}POPA$n{#sRg%ClW|LR$&o=Wa?ImD2*(iZjxkE>;x6@ERe5VLksy z$zWEo^6GJ%@a^Q_b-8In7=t87CGYab;j~C(P&Bys*GFJPs>QzMZv+67(7;TDfR%3Q z&?PV{gYdSUf+j$zk=?d2FHc*B4RR0Rz5(MSP@ycECea*0ZW&Gv#9eHqLsCN}8I!w@a^SJ8?w_Mav>S74wOD z90oS%IS8k&VoDAqA5b@1&Nc@-Dfdk|;}v97lsbGPzk&u4*F+Ac+a4OOA$_^eLn!C* z<{Xn|9q`q%bpThxZqY$tEH4`_ek^eHNF5s_?bIV+VPh~ZhDbR$3r(GMn;pu0Xo>yb zX+jh}feD*dP?P;_B>vd5OZgbz5`TLj$#6fKMsAdq+)SwQU*dS0D&CvSIOQnw^juY! z#qx_r+fcI2(uoUgR98!4TH_q9m*9M}@_VVl6$L`2$pMd0t1Iiwt)!tJl37N<`QcI6 zsa+~o4K}{kdQGX{p4^3ln@N4Ok1ET$TtDw#hLvGhZU`HmPJo?^7K!-=kL~g1%csc^e*>js(vYLvJU(d=Zi%Pw9RjFb=|$J zXJW>l@&JOnxCu2z6BsiLo@~GM^^pBC1VfeCkMn9L!N8)0@l+A7*>`Asj|VG zxA-GdvP>%i?VL2e&%*lQze9+vW0=|a9;K`Z9rsf^nXJ?@d=b6c)ij=YQ@+^&&MEa^ zS+q;;^LTv0H^aOs_asGsu!1b7MY9yRGuFrkG5}YKV;xVOekn}I7|&B#cHQL)u~pmD zk}#xwr~`j0E-)<$MQMtW&3i$+tk&V%hbP8lTNNlRBS~`o_bJ^AF1@2iCBv>YV&^5qAntGM_yH2Y8aX%<3!6+b;#d8fsmVJoR z5(98c;ATenBnSb;;kJ*Hujj-HWUwN&9(^3!n9S55R!69(KeY*n_kUYn7JX(`iY(7^ zxxX&-EX058Liyii6duLd7S*vQ5 zHV=t0kyxrc(g=UwqB;}#=gq~SG0d~~w+OIy#jMY!>&;mvmY3P^NAavomeG%XcLRPL zZ-*Sf#gx)x^i%%R5oSFxm~Y%)UQ7|cx|N-~(0b|CpOV(a_GY6Xd;=a`$M`+K00vM< zr9awn+sAiZfx=nez()gSNSWw2DO#^b4!9iD5TL6bWLY{|QbIm3O8WHI)_8GIsQ?4c zc(`kCdysx2=IFnWUK?a*4P~dm<4!%R*yt^8DWjVqH7P_nN={iFbeIVl-c#fK(oLkJX;2n_Y8+IUeKXQg+K*7UhVF=-naXYb5_4zcQuN6+X3`$p1 z-3laXy?F8nC?=zRsi|sJpWtF^)NsFVop-vFD5?H!aon81u`M~yy53F>Z~!QGV){yK zJ^0vT8m8SJ=}JtyFCXl$qJu?W)O`zzrgrk?ruge7Hotr<#x=NzPL3f}JG4OQ`n(Y| zpgRWv*9`RG^P7fvNtD(;Z56ED=#uKRdt%M(3Tfl5&aK*o)77m-q} zK-=mzjMO96?Y2NuM0APE22)-v{EidWg+XE=84hoD%8LuY199-^G9XQClGTtZ#P)f3 z1^fz7sz3N2jfQ`0AI|@>eej1sckuqvIse1*X+=H&1!n>JUmg%GI#>`k5bJ-_1{uKu zvHwd3LTS~K0lT3AX8m6TJr6K8y8j}ew3ZZs1>*e|0kxHH0L;-e&6@%gE^VqA7!Qu) z|DzBQvT$&u{r38&7=5LqL)jdXmgH)Sl7RkVc~r-Tz-#XOB4KD# z?~u%0|Ge}7Q#swHUwEp&pz;%!Baa0)EF*x?3`NI-ge@Z%kko|z!CmLUZw3sLU`;Y& zNC!Q^5qIHHG8Xy+U}-W$N(8Nr1HnoHkVi2n!@Nj{S?V@)k|EB0PGIv1(_fJG;wL2- z=f%bX>)_2%VF15uMlcCkDJ=yn4Pos$U`g}Aa=}E0cr-ya3@govpdnt!qJ;atFtw72 z>nuT|pcljO?X9S|mHW;uNj+sP2MfedLAS|v$*RQw(($-K;2Xsd;z;@N&_YN9fh4Hu zv>{DMTi{W_&buUVHNSfBeXHnf5y9)?u_26@bP+MAbOE4B;9QY}g6QB7lHei5Xu!?! zj7C6kR6>;Tr)>EFokO$n+C0H{Z0wo7KsbgFQv-tXp!0?A=z|LdWI#`DoTHLL7lN6{ znDyI4M+w3Yq;>Q3`BS@`aQ-0F!LcQHp4CdR%mH=s0RdL)yYP@$`Ho>A@c$x&l_FNr zu)$eTz-FHscA<#rvzjLEaCv>R~;rNi7fV;4KL1mpLI-`6$&1R zx}eZ2a0m~sC8#&Z(eGa9&`l!lI0BE?&KnN21E0b<&*eReRtuI6e>P0Nv)iw`!>-J1 zXwJud7QnQ@Ek$V}J@=>GQeM3ZnFz*LZPyJp;3T8rPt>yDs(X%moqZgi|Kuyw!OZZ@ za5O<(o_Tkp(bCn6y?M}G84Ukx#@D+I#P=U=h)dMOFfbwqte@LElwfa+_$MLPIh4YU zz1xTP=E!C09kksn0xg@IQ)o^Ifd=%x3+V9IW9{L*=&*yaF}Yd;rW|+N7xPAI=D;cm zK$^mh`HZ}Ix7HA;oa^hJCo736d~va@&;>kEgt5OQhU4vR(+P}NJ1B!7tw3({2L)O_ zLIXTJ7C>WbN^`jkAM=1C4TB?Tg2kPCC4xY82mI^&s_|=P^j!5L-3-<|kEfJ;ye3Td z)R1+WZWb|dE8b$hjL?b7rX%0rR!?RHAS4Kxtme3-TN?ugFa9g{mqoB&hCnD>NgtOS ziRB?t9dHOnks>w|7p<}Yv+y)>lUb*oKwom`QlpqY--4#D0S{Fta~w^YvQlx%VFYU^ zVh2;4r+9UsHX{wv-RlpulZj6V-BIo44}34;I^P=5|J-6fHAQ8zdNf z5DO7_maX8344;DXyIBrf=?>fjAlMrK5gD735{{M1NHL41R7hq8<_akpv?wdZ8w>xy z+{P>=azZ|)SU@5MvXwvA&jsoz863hnYlrO(^jR;R_yQ7$0#ycH&2}%zVx`I$6ab~X zV^WikWodA1lNfwV4@dS_5fxh~1JYuS4MXk&c+VFh@vX;{zMgKRNWIV15~n#9x%%sBBG;y!1M*zZ7_Y5!X9vCQP)2#7P4p zX!^U9<_NH&1{3wAz>AE!6ii}k00)j2oTjKDhM{As5z-aTKi{7!0-n>w1uC?s6pDr= z_1A*xSMIM>qC`2|I11fjfb7H zm{_hxagTB3njVl8&@&HCNx8={bJwYSMOz-&a+{RLEa$OuQIK*snTxP08bo z@xSoDzXp%1s*gV9#ZI!TR-&Yaw={D0xyD)8%61#dj`P5Fg5pF`Nt3j>U)@bTMdw)0 zvZPYBvnt!?ZK+$g1USPQYo4|^p;E-Y4_uO--$^3!`jOXhn;;Sxvn>w=KD9nrODcxY_bpv?Tect|E zgQ(q+26`CWK1$ALG6Vp8N8|~x`thkEaep6S5RAN(d_m_@1N4GZ6udcRD*KPnbiv`` z8r3>pB=@H<8n+#1cX0IJX}~WP%$J@B>Z%6?4*A4o44sy;c1eyEx@Ktnr%DAVz~CY3 z_=DuXJprGOPYg2%FDu%Ie44?vKfyv#hu%@Q4K1T@Zs=#BV)|@!>jxj7 zPy)LOZ$tobfCHQV0mB>3cP7Cd$7lM_^v*rXcWmzo;8x%b;yVGb&$pd50P<+~9+G$0 zC{_DYoC#MMrS*q`60+_bf&6RZBFe~Zqz>c!fYf7AGWYRTOHKu3Ola_6m_o(Z)g(wnm{m_H0wcx&pw zC#5M_;)oZ(+q^qNT*|v!TPmt}y{u*GJ=%FS_>2Xd03LcP$2^IYC)pG3A74rt@_h3p zp(;TDWTUv0$OgsQ-7fi_?PB?hLi6wm_@ZKfn2{ulAFWz*4>XEurfAN2-<{e#Xq`Rq)ri zo98?LH~FqXuOY-KcY-RIH_b9JpviDXUF`a6F0c2iC+$khg`3gh zNU-4!U>f)6UoGST18$cRWzfs#^~0=om89{)8Gc{CQS8V;>+D`F)Qx+BfjSk0`_}{z zt_QoO1wV5GWA2c0^t{vM`~Ggl{-G~0PUv1PEGG~tM@2*yY@zB24QU6-{0pYUAq6I{ z`^VGuo;Ty$DQAT3F;^*RaL;R<1BDmAn&6s`K#FDN-qcH! zfgcZ$5AtrW$7-ShcdQko5C=E7i&YFT!_=RK3%YEo0ZXx&^45&qS@cl8aGIVOY1Ah` zvuPoyl<5;*Ve07SuOwgSKRWI4uCs%&TsfQ@&cks+{wP5r+vEo~d#0x3EGVEFP4iSV?eN3ra3a(fttG8@(U#5%5rYlD2nUvV zOw-%_dema6)RQ0sS@whBw;C$-2Vi@Vy7-M47cCv|RWuEYP>dKmC z+F&|ScFhw}u;3jrRj%BQUuAj;TJeiDqp~6AVPbDBlm?{1#4M%ykLVm8184`4XKq*R1Af{80gMNmAD(HcQ@ z0=H7Fjf-hTQ>{||O_~nAo{VD^`JlyAOeeOzd1I+^7G3SrP{witd7b^mP!M%uu>03K zTtOs(tyE17;h8jGeKc>^J~3Zs`ELm%i3~;tPRAyG2(CZT3(#CRUePYaQ+w8I@p2ll zuKn0%{M^bT0)|-L?uj#zv^oPA=`@PXn3y}p?WxUIHjyq@?-Ar1GAJC@KL;Wt%MgM5E_E;^_?$}KIwt;Qkon-xu&SZ~F{jQ?E6{ntq?(&NI zQZA-@Exa3GW#ph?;77;ZvxwM z4ZMd?F0zbJyR8!adTltmQwvpTkba|Xrk&hmi26ZO6t2?|$D`FStI*V1x|NRW+)ZqFEmBjsg1rlNv(Pfk}(>C-otuu3-pw(N|Wsaw9BQM<9`-_p*b?G z+N-*s{|erv=?BK}=~ViEt88|r|Hvg#ATV?l~A)`eV`zMUfqD97y#I!TH1$i8#s4ivPT~cSt zHmr`#l&4GwHUSPmbQd>{PjnmkwteWq}FpyGf8)hH6MJy<6aHPz*(%zanhNF0k$t!j8xT$VGb1DU_hRfrqM|p zeHsRYDTk7}{60Kb^{=>btuaY_=IZUhthHZw6>`w3qa-F^C=^5#5eFVo=+iME+;)(d z$!Lv}P&VeLk*ppKBJ6J!7dve`pQELw$r>km)n^#Upt{jPo3i2aC3T28M=Z6_Xg0}r z-rz73*&(izB$X8W8oh|mZUC~=EG~izdXDV?SBz*~G4>t!)+~c7o5H3E&z9`w z<&vt%=7-CjzrIv`i@(Q~E;Xigy}Ka|McPa3Ad8L)o13Vs(Zh^o zFm{*1bJbOp)Bg&cTRY9qutqV+?{leQk(YXzWR%DET;8Z4^E_6kfd8?$c96)2{XAw8 zm%~TDR%n#R`@H&}SD4SI^ydW7bWaTxLj@l|($+VUg>12|ixj#o;n=~_T$ap;*Uk)YTbO7X za_F&p>#;x6Z}^_J`ru7=m+O01lxw%Z;4eAWYKQUv^Ua88L#s|_sLTOGw7Kfl{(kE5 zwyG4*w9=R8;xKbkbl2Ss)=TA9aXRbx_Y+>3@=of0)GVC1DDN@l^Hjb**uOF{Z{ zYH4GOnoy>AmKo&hx{=}HI{kW@*N>sE&3U%>wkjd-;#H<5_mOy6xs}!pUeUQ}e&AMc zbjVs8sZox-b*J(o_0#=lW>EgJB%>4KTDI6GXCTI!#|KZ|T8n>-su-wO%dsPK(_O<+ zGI7z}{iM%*Gn8P}t$%VA^D^&I8#_GdBp7`+oFh z_wiA>)BF9I)!QTB=Laxl?pS<2i~I5Q^ZU7f|Ni8M$v*$K1Ky5~z8ZX6KhLP|*+I?=v3e;@J~%R6XwTA{Cz!?6Db6&ROvHwt zN1PVd&|C*ICM)P0oHkr1B_n~SV=3FL10$eounv`kE~}@Iv*P`$hLs`=kNX+~!xHqU*h#n-i#DTaM(7>rTHI2jhdl5w!a^EV^MKqxsnwFHG0BV?6k;V787X0c`G72DNF za8q$+|MfZuDl%5baL|6poRi<2844i%tTJboB{^E6 z#JtsK$+4E?^N+ovTCb&cf&Tl(VD0H;`SP`^q+}4e@p#J9P?n6yDfQN()kr=4`Zebi z)U2)FRb}ERvg(Lz3ZnA|hMY(lDOp=~TJ3C&5DkunhPm&wo1^T7*>01dQ{2?D&qY;$ zOgUBnb7SN&keM-ChFey2bR<_OXd!I55?kD7k+51O@7z(n&Ra)Ox|#}SQSuV^d18lR zVijENR$}kg zuB|ucg_m-DCe^ocZ6+7b=);bsDCJUVLOl|I*Ys2J@5jen4kPab{&Yt+YPtG|MSxp^ z)!Y5wR_+oxYIz$HvvQ89BK1l+NPqG>TRW@ewI*gTm6&G65X)sUJnV%^H}Z7lDl_tQ zxqLP9%edv7F4vYO)(cB5${6@&LNHvFLNM}llYr$k!(4SbhW<;?YI-B(-!t?H7J9+} z7$w5SaA#_hzy@dL(vzxeS+U9SG1F8%wA=n8mCdSx1jESVO9`bg@pRJkS6NQ@KkzZW zQjA+Yb$I{u@;~8aEG`PPPKftVr!wLq;WI))R9LrCf)}n#?(D*EXpY75EiVuAq|R)$ z%$DmT1DP$_3i4%D=%B}oIw;Gyg&Cj$p^Y8k~Xkd%ym4gZFb(s@@) z-Simf81KpeV3+(_WS;yV$>c_pC9RQ){Ff{>P}Fo66*+Fxs(*os%D;6`(P4AHpK#>+ zP|ta)uE>x4Q;LS${hyvc_DZ8yv(|(4d#(*U4?xbqWh$ZS zOsB?+#pXTH27k8Xri~GN{V@maYfzF$M>DIruH>fGvy#AJMxeL1%ReCwY-H{O(-?Ln z$q%;vrErQsL`q)4J)A`58>Y63FMSJ&w**tPr_2a3yw$Yl>pgBkIhkOqFS^ke*dp76 zGPgUs_gWPpux9yXf5eL`8{k=aD%H!4f=hr~>dDf7Htb2@IhSnoK<=5f!*89gN&kLr zuPvtfd=)V5+(4!5M4nEGpVB95nsF;k{O?J;+{x>$eXn_`0zs}jJhKmUn6-1yx^6vJ z2$aPye)CuE2?Yfp3tUi?m<2q|_0Gi1V~>46ywXr;wab~BOSgN!21g%Gz7DYD*e>&gN*3Pj1>h7FN*S}3g3evd_)LQ10(U?h9ezT0pJtiW zYEROv+?zxcOcuU*V&r%xK`YQNC2yS$-{yKh2K%gb(i{C`I+%=7Ip<@b8YdIXLHBvP zNEf`gbIdyYP`~lDg8)CRzjhCScU6O3aVQt8a>XeXz~s)xM$q~kBJ%M6 z2`!0y-uHvgv--cW0$XAC`sV!RjWOU~63iW8z{2lbHPco;cxm{+{QN-c`vEdgn{WQ_ z=9hzwJxxRaT#1O#(a6Nc$ij?@LDAX4)Xl`qnbOhJT-8jIj)|U?k)DYyty%z_goTlj zg^7ciiG`7lk%NMfk%9`ELC(Qc)X3G0kW!SJnURT$>Hkehd-;b?$wo-|4~$UO%H53c zUm7bFp^c-FtEG#X5uv-8vx}93Js~?iGd*J(KoFc3lO38t+{)R-m5`0?|MsJpnK;sz ztbnNj+H!Gvt#Dg2wX@9nizMespn<=H8f}tL{)zn=Aq>+83qr2qfVGZCMJv3UQRWsus4c1C z1SS9Gfsu;bl1jr=R-Ys{`6i!@M@>`*q>97>&S#`Yx%%PDiB`0ktchMKo5GM$WRc*= z)T)Tk|IyHx7Nr$tF$JiW8D+5LVNDpv|Dd;0rzq+;S;47g*)+`-V2krL@lIlrz*U=9 zWzjZmpKFqgFan2YH3T#9xVk`hx6yftR+J0S{4p?zw^5|}t^%9F?`0}a4b5l-uZBwi zOrke6voB+oSUJ??ODfuhD@qAXu}Qv2~KSvjup#oj5XieX$?_d?5ko z9dhw^dVRKr0p-2eh%X6pKd`b@BAaFaD)#UT>1+d{TJ?EgD=jISBIq*&j~4*o^XSg% z>X+Kj-gOiM`*dslaQN{+AiR~1l!W2m)E=xNn4NbUEG3+!)_8KskL`!&NE-*dn_uJ^ zRj`!t%PCF5)--2~)FZ_bITlHjk7X_wfJ=H3NvE>E-`uh(7bgA=l~E8{#;r>e4$s8CsD zd0k5SOWkxrT9~QJ0Tui_S@K980g{$jRSX!D6G=K}BbPspMjm^{+HQZG|FqAtPY>7^ zbhv2z(l3UI3R>Yh-QT4%#DJIqv^DPUVuk4;e&JpWYXM))ZoX?PG4YNA-^SwY(_Yf+ zz80ptAr=4Di{sT3kA8Pc0!+`nM^awn%2AGu`bi1$I%^=?X7XGTm|-!;dQivT(Mqqz z8*jWqMMWGhD@jz-18>$d&#*Wm+^SH!%yQ;K20BTw1k&>e8Zpgna%KJotP}IFDC&?} zg!T_8P3YT1?a!>9HPETsrn_krWvHIbZg!jxwX6~_J0=aAtx`@9`-RnZl!fp2-916K zv^R*Mv7;>IRFb`2!ZhM?=N5p0rEyk)ji&rHQ4P@DkH=V)Sy!XBCC}8+0MgY4#R5xf zD@AL&+pO^vNEs+pRAPhy3@9rxdWBKZl4tTr&=^kO&O@)F+m;#UP4artC{DmgDA5-) zpe}`&9sGl-(9!sY2$J_Z~~qZ&=X&&ojf>s<+xx}!uNa#Blt+v#6|!rWG? zEY^O@>>t9)d1evURbW}#! z-jd%6zROvHuIB)F5mp<3w3~s1BU?cqvK|Y8>1=?pA`I0Z(`D{b(%-YBa+Sfol!aJG zCH_OA^sO!`Qt(+E?l1aQ674SfmJ4fL)1^2oZMnr5>S``-B@;axZdu$3^^RDLI=JV( z$3W^zv~H=|H{vupB?{>>gYz>TOzH53h>du)iJxDDO6Ce6s6Zuq#Q!(cIkMrS2d}Z? z*zzyrcWoKWxlszJ_OXx7M9w;E7Iji^!yo9;l(pW8BTNMr!v(y_0>)Fn@|PIpr{}CN zPgYM^qA@7eVGn#@DO>MWki0=Fvr-$gwG`G8@o#_mTZVxTdiLjc*U8g~c^L6}^f$^; zwOGR0rUCL#UI1Ijc#mkvUN9j&!UeNeOCOP=21MKHqPeKMtH^JuF|95eZ=UYXKIQ?j z!o(Jnr<9@5$2i>35h=vcvBsm8F@btAhpe?;T^l8+8yP!Iblq0)8V5C;y1XP=gG*N1 zUIIuwA;_Yw3%@*B5Zx9uT38y-bc_$GMGs4rw*gY3{xzF;4F0x- zW*)OkGk;4QRM7Q;B?~;gFo?2k{zM>-sUqN}7Q%A#HJwJE0*Q`?Za%uC73(}7(*@t^ zkMTh6UBz?jrz|&eAP(55<1zGP@O%-_y*=2UXAGXD4wfG*S!sJe5aOae26f$cxgi!q zT>$WdlF(s6p$-aH(^ZR|5 z=lj?9pZnbNy03fB{o~x{InTZ4+{1pEw$JgTtepC^+Yy#KUz=elmSrr?E{nhXNtw4U8x3tuamd(MBM4`N+Lz?>I zoIWz)8UhC4yK^4_;;FFFjBb%_WTSn_4s!eKye7pZqC_Po{8x#4r`APAK#kq~NbC#k z2-Hi)xr?DcnI)t5_Ub;=xt4uGseOg(<+xB7BF%Vq>Eo4ddccXCTcgOar$2OC{rg2r z3cTZ~9)D&O5gE>9+Lj5O&HI_eZ;C8$`&9Sl?lSe9QI-$zgE*(yE;6yUQ{___t`Raa zUQ%s6KdMsFP;N7G6{XnU;G>s5d1H2ac<3{MKuvcp^Vd3^`Db`Vc0>J3D*bbsTE9VF zs=Yy_bcH1O&qb<`eShT>^+l#tXn%yVec5V+a!=??fXgX$g~qo_)CRwNyQu@83yKa? z@C>7(&i)EO>z#6c1&fEZ@MXtDglW|In21+rIk-=ssO>WMF@Pm_ULvW6e%jB98H8t{ z$ma_LI%C_aPD!^{P3ha@*}p$nx@}#5FxT4OI=W#p@%_LjxNOq$W#d}(#>D>i-}RL| zlSU~@*SA_A>i5B|&TmUVG1{QNB7ZkezeUmR=SQpDoQ02eZK(^FPJ_}* z0}qtGiTIr4ZE~)7GmBUEcBhtyxS~s6aSfV*6U_nw?BO8mPfl5{MttG)V>LK;US$zg zR@{0)!L*V8uCHG{`{Us7@tFL#TWS-0C5MAKfXHcLO8yeD$lpWX>BEk@PPfqxB{iP4 zDN3`oEt^fE4vk=i#8IgN|!h2Yi`xp1d(mN+Ty+l<&=SpPiN9*zsQha3#! z4&k>g`)!$4Y+Ec@{G3nBtcjhYQ}C@jx$rW^(DZ_!H-89^?c=AnWB3&T8qQQ6@kL^oVie2%@PLvAj>?knW*2~XJn7lMD_*Qh zH>Nu2jeu=$6VIdGtd(O_6)%yOg0?m9!1xkL^PplPbPSV8xVL*cR5}C}V%V*7xCDa} zJ0*DT*OXIrTxW^-@fMM8QrfW+&GA)^tPRKPf$rcUH}Hv(W5~9^7SKRZM>B-Vzuqhr zA}uy)bX<%f%#5XOCje@=J>0hT-lTgkq<0o~ZEY*6E)2PsIYt~$dg^c+Nem?NQTYd_ zRzI>_kl7cD?z$7jN3^JTkunwxX{%&xdp_f_l=JzU*tEMzQ*pglm1;fgP^{}X8;A6K z?T#-^49apbMWIA?2|arAmZgE5vI*&p^n$Uih0l#cDTS7sK#q0>>qcEGE;>MKh$V+J z$6b~4ub#2&jdAG>VedEoP>R1udPOchKdms&!o9S^tEZiDsyMxajYylzUFy}cg~S;r zSlp6b&D9=aU8}wr^h+LF%%&;!mgACdvS|hA$t{c!n|9+^ij|7D#1#Mfu927&=G(s- z0j-U}C!iEf%Kx8y-=dDl*1F4!)fSu7V{fDu*Z8&q37_9`MtX>*Q&Gfx1@+swM^E=p zT&4@Ks2-1I8qwbyr0(WFlq$}zlxo_2;CRj9YiIb)A0TxDLD6M2hjJmWSvBZ)NTbki z$wr>v-3{H%w>pB6x_X@KlVnM`2{cNrb70sfL0&NQMxj?*weD93!QcaW(J*r9;spiEej51;Me2WP?UIHJPAWyWE29wO;WGa&6#r2F!9DRC- zTa4yc4MuWa$F8LO{Rw06MkVSpU?|$DYVmnc99nS*x=udD5QsHZ*XMvGnimTGCATsU ziE>!dWkflFRxj@4L`@A?YQm%!XD){#9ihQvN7nY@%>~cUh#CT?NcWjX>iH{4a1Fj` znscZ?7a1HXImRL6%5BY5aD}js$r$Hbx@73_F|G}|*d5SU)Qd>hx$3W1UbbRyzlH@# z{%-&;&S(!4_?=k~|7|XsDf#$?14Q9*wF5-x1mb;Y?YICSmVcd#_G4?;^|MZ^D>j zEWUy$Sn$onPT{-OyHOg90b3{SF=h1mA#^2um>uX{C^1K&Svhmgi)T4aF&f=vn5Cj* z2GDwrUnUtULpY+Hmem|CK`vb{^6%UXO%^N@stz3QdHwqX{8Z}7k4@#2I>z(F)uZbH z`DiBm8D)c9HZaC9OS51cGGiGpC&$jAxrX@PkV3qmO437?fZI$6w7U?D0}Ta^D;`-} zOZN*JF6%x4!M*#1AhF%-G)>8W*x=d_n@7W8&t-v`ij z57nJCgx%`iAzPz-g_F6|KH70S!j215G?wi18N@PL0FCprA=K53_?Yg-Y8fwOJ*8u4 zA3AbCswvIj&`-^esS)E6^$^#?L_H2`DFXPC-jX4~u=Wt1^LoplR6OV_!UG6cHL032 zdZZ^c2Vau%`g8;;@iKdZ(DNq?iqn_e@e5PI+Q5Du4(9ab-uJhXJR{S#C)(tbn;M3y zOn_*|U7kr#5#8{aPpvU*TNDkNRH)tFm^FGOG)e55Hf`o(Ml?%DP(lvgd>Q2mHSy~> zDiE49qZzbQFBp*>x$B^~kqD4USs(Q!H*(hW*D~(7nvh;=wzXs3e6GD%LsquE=$u5? zniD(`@OyVLHrzkMYSTp`aj$K;y4nKE}9M55FvZ zt4&n8hiYrmhe$f1z`4>qTbo)p~T*k+?Il_sFI8myFyox9p7D>Q-`R;aC1KtBsC# z5Ce5kZCbqPyQ@mACG*w8?fYo4Nj3K1-G4gU|NaI?@^ig0m6a5_pPc0D!%io0F4L&E zdQvqFJ}wq`ApG! zrQ+wg9i8{#WM<8e457;8Uss=;bl2Fq_jHZD@Go^AL1k}L7X`1iKvvD!o4WI*fBo*d z^&)9Ub=t}#dln67fV1iefD&4%YBh z^J#WOefZ_UQYmn{F(Czn^y)J#D8|XfudC7P*Hv|h!sRACkv3R zLS(CV3kEQ+Xay3Q@7GKs@1cecQH)@AiHOh-yYEU+z?87Qz!#D=lT$zF#!{V~0rV-I zzaF>W+fy;ARnJ*TCTaxjFOQ~Ohh5^j??vD3@QWPd2oA$cO1w;zXO;O4#2tM>8ubzw z(*m}82I8P&TyHak1ybJv>!2>)il{kM#X|0t)Qj_TT9s&Zohe0m-a-UsASq?&pDEx zvpC}?5f!)(^>n$ddw1wz@<15pgFC`NKMxBi$o@t=DJ##9aJ1^-9J3EYohIy8y}vGn zu8PfU=W{uTPir9by`1jn$FN^;BXz)3ZZ_`hFg6I%Z2Q4fGY zLV5I297hgX07*T#IN`kHLfeRW*|FPfi`8cCG<*%*kFGp7%Cm{BiliKLng@)S4sa%@ zZ(g<^<>Wbw#USm6T3@*xtKL+M1!r;v*1D7y+U2? z)P!rsn=4HNnw=uJR(pMXLNr2XGfO;^IL9@Py3r$d|>SyV%Yrw6I$!9e9j5nH4<%ucm6qRg2YdI*uGuNDybu#J1 z^S8|6c{?RpjM1GWXRkgSy(@fH25NN_2iD=MG%kgGcu#Oy=?LFdmKHPAif)B z24_>*K0q-2Xl!oBAsVoFbu2L&I46d%ig>K38nfyfz`mC@^ zJrBt0X@hc}5!WfV<-ZiWE8i*AcpE>pn1h0IIb1_|UGB?8>elWY`gv!L8O2$T$jb0{ zyaG!DGAR-#hw`$7VirgHlyI2Fvlw>K_q1^*s3YR+nICS;qXU3(#Z9*YWn1 zUknFMii3ULKdWWl2b5Bt33myBFQC!f_aJ;Ne|6T5JWP}jR_)`nh^KcsWL?=@mCG|T zJ{D0?!c6_q*V3#%$~yPb{Y<-48RY?rniTaJnraEN#F&-a5?+{1fDhCbx%9Z*OR{f;HSIw*%kRGn@7&a^B`K1ggwpfsh{}t z_`%Qrft}ro7LSxK79T7ui?XDAq#ize(0T5xue=iibFhUj72bOcEm!+78N~p_JfAx_ z?O@2`Y*_T_h_RpjV`+B?3MHN9uD|wesx|xj&pneK`=ceizWA%*5!ZaLg#6nhcn9)^ bM_joU5p&Jgj~A(_rK_*YD=&|+x8VH`80I|v diff --git a/generator/sbpg/targets/rust.py b/generator/sbpg/targets/rust.py index 6bd958b955..6f0e4f48ea 100644 --- a/generator/sbpg/targets/rust.py +++ b/generator/sbpg/targets/rust.py @@ -114,7 +114,7 @@ def render_source(output_dir, package_spec): if 'types' in includes: del includes[includes.index('types')] with open(destination_filename, 'w') as f: - f.write(py_template.render(msgs=sorted(package_spec.definitions, key=lambda msg: msg.sbp_id), + f.write(py_template.render(msgs=sorted(package_spec.definitions, key=lambda msg: msg.identifier), pkg_name=name, filepath="/".join(package_spec.filepath) + ".yaml", description=package_spec.description, diff --git a/package-lock.json b/package-lock.json index b13ef89031..78cd033b01 100644 --- a/package-lock.json +++ b/package-lock.json @@ -78,7 +78,7 @@ "integrity": "sha512-Mmqx/cS68K1tSrvRLtaV/Lp3NZWzXtOHUW2IvDvl2sihAwJh4ACE0eL6A8FvMyDG9abes3saB6dMimLOs+HMoQ==", "dev": true, "requires": { - "@xtuc/ieee754": "^1.2.0" + "@xtuc/ieee754": "1.2.0" } }, "@webassemblyjs/leb128": { @@ -200,7 +200,7 @@ "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", "dev": true, "requires": { - "acorn": "^5.0.0" + "acorn": "5.7.3" } }, "ajv": { @@ -209,10 +209,10 @@ "integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" }, "dependencies": { "json-schema-traverse": { @@ -233,7 +233,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "^2.1.0" + "punycode": "2.1.1" } } } @@ -355,33 +355,33 @@ "integrity": "sha1-csMd4qDZoszQysMMyYI+6y9kNLU=", "dev": true, "requires": { - "ansi-bgblack": "^0.1.1", - "ansi-bgblue": "^0.1.1", - "ansi-bgcyan": "^0.1.1", - "ansi-bggreen": "^0.1.1", - "ansi-bgmagenta": "^0.1.1", - "ansi-bgred": "^0.1.1", - "ansi-bgwhite": "^0.1.1", - "ansi-bgyellow": "^0.1.1", - "ansi-black": "^0.1.1", - "ansi-blue": "^0.1.1", - "ansi-bold": "^0.1.1", - "ansi-cyan": "^0.1.1", - "ansi-dim": "^0.1.1", - "ansi-gray": "^0.1.1", - "ansi-green": "^0.1.1", - "ansi-grey": "^0.1.1", - "ansi-hidden": "^0.1.1", - "ansi-inverse": "^0.1.1", - "ansi-italic": "^0.1.1", - "ansi-magenta": "^0.1.1", - "ansi-red": "^0.1.1", - "ansi-reset": "^0.1.1", - "ansi-strikethrough": "^0.1.1", - "ansi-underline": "^0.1.1", - "ansi-white": "^0.1.1", - "ansi-yellow": "^0.1.1", - "lazy-cache": "^2.0.1" + "ansi-bgblack": "0.1.1", + "ansi-bgblue": "0.1.1", + "ansi-bgcyan": "0.1.1", + "ansi-bggreen": "0.1.1", + "ansi-bgmagenta": "0.1.1", + "ansi-bgred": "0.1.1", + "ansi-bgwhite": "0.1.1", + "ansi-bgyellow": "0.1.1", + "ansi-black": "0.1.1", + "ansi-blue": "0.1.1", + "ansi-bold": "0.1.1", + "ansi-cyan": "0.1.1", + "ansi-dim": "0.1.1", + "ansi-gray": "0.1.1", + "ansi-green": "0.1.1", + "ansi-grey": "0.1.1", + "ansi-hidden": "0.1.1", + "ansi-inverse": "0.1.1", + "ansi-italic": "0.1.1", + "ansi-magenta": "0.1.1", + "ansi-red": "0.1.1", + "ansi-reset": "0.1.1", + "ansi-strikethrough": "0.1.1", + "ansi-underline": "0.1.1", + "ansi-white": "0.1.1", + "ansi-yellow": "0.1.1", + "lazy-cache": "2.0.2" } }, "ansi-cyan": { @@ -504,7 +504,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.3" } }, "ansi-underline": { @@ -546,8 +546,8 @@ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "micromatch": "3.1.10", + "normalize-path": "2.1.1" } }, "aproba": { @@ -562,8 +562,8 @@ "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "dev": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "argparse": { @@ -571,7 +571,7 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", "requires": { - "sprintf-js": "~1.0.2" + "sprintf-js": "1.0.3" } }, "arr-diff": { @@ -592,7 +592,7 @@ "integrity": "sha1-FHWQ7WX8gVvAf+8Jl8Llgj1kNTQ=", "dev": true, "requires": { - "is-number": "^3.0.0" + "is-number": "3.0.0" } }, "arr-union": { @@ -613,7 +613,7 @@ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, "requires": { - "safer-buffer": "~2.1.0" + "safer-buffer": "2.1.2" } }, "asn1.js": { @@ -622,9 +622,9 @@ "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "dev": true, "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "bn.js": "4.11.8", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" } }, "assert": { @@ -707,13 +707,13 @@ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.2", + "pascalcase": "0.1.1" } }, "base64-js": { @@ -728,7 +728,7 @@ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "requires": { - "tweetnacl": "^0.14.3" + "tweetnacl": "0.14.5" } }, "benchmark": { @@ -737,8 +737,8 @@ "integrity": "sha1-CfPeMckWQl1JjMLuVloOvzwqVik=", "dev": true, "requires": { - "lodash": "^4.17.4", - "platform": "^1.3.3" + "lodash": "4.17.15", + "platform": "1.3.5" }, "dependencies": { "lodash": { @@ -762,8 +762,7 @@ "dev": true }, "binary-parser": { - "version": "git://github.com/swift-nav/binary-parser.git#f74419e5077a3c534ecc1724776377ea78df4451", - "from": "git://github.com/swift-nav/binary-parser.git#jgross-greedy-string" + "version": "git://github.com/swift-nav/binary-parser.git#f74419e5077a3c534ecc1724776377ea78df4451" }, "bindings": { "version": "1.3.0", @@ -777,8 +776,8 @@ "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", "dev": true, "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" + "readable-stream": "2.3.6", + "safe-buffer": "5.1.2" } }, "bluebird": { @@ -799,7 +798,7 @@ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -809,16 +808,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" } }, "brorand": { @@ -839,12 +838,12 @@ "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "buffer-xor": "1.0.3", + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "browserify-cipher": { @@ -853,9 +852,9 @@ "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "browserify-aes": "1.2.0", + "browserify-des": "1.0.2", + "evp_bytestokey": "1.0.3" } }, "browserify-des": { @@ -864,10 +863,10 @@ "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "cipher-base": "1.0.4", + "des.js": "1.0.0", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "browserify-rsa": { @@ -876,8 +875,8 @@ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" + "bn.js": "4.11.8", + "randombytes": "2.0.6" } }, "browserify-sign": { @@ -886,13 +885,13 @@ "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", "dev": true, "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "elliptic": "6.4.1", + "inherits": "2.0.3", + "parse-asn1": "5.1.1" } }, "browserify-zlib": { @@ -901,7 +900,7 @@ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "requires": { - "pako": "~1.0.5" + "pako": "1.0.7" } }, "buffer": { @@ -910,9 +909,9 @@ "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "dev": true, "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "base64-js": "1.3.0", + "ieee754": "1.1.12", + "isarray": "1.0.0" } }, "buffer-alloc": { @@ -921,8 +920,8 @@ "integrity": "sha1-BVFNM78WVtNUDGhPZbEgLpDsowM=", "dev": true, "requires": { - "buffer-alloc-unsafe": "^0.1.0", - "buffer-fill": "^0.1.0" + "buffer-alloc-unsafe": "0.1.1", + "buffer-fill": "0.1.1" } }, "buffer-alloc-unsafe": { @@ -961,20 +960,20 @@ "integrity": "sha512-2PEw4cRRDu+iQvBTTuttQifacYjLPhET+SYO/gEFMy8uhi+jlJREDAjSF5FWSdV/Aw5h18caHA7vMTw2c+wDzA==", "dev": true, "requires": { - "bluebird": "^3.5.1", - "chownr": "^1.0.1", - "figgy-pudding": "^3.1.0", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "lru-cache": "^4.1.3", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", - "ssri": "^6.0.0", - "unique-filename": "^1.1.0", - "y18n": "^4.0.0" + "bluebird": "3.5.3", + "chownr": "1.0.1", + "figgy-pudding": "3.5.1", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "lru-cache": "4.1.5", + "mississippi": "3.0.0", + "mkdirp": "0.5.1", + "move-concurrently": "1.0.1", + "promise-inflight": "1.0.1", + "rimraf": "2.6.2", + "ssri": "6.0.1", + "unique-filename": "1.1.1", + "y18n": "4.0.0" } }, "cache-base": { @@ -983,15 +982,15 @@ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.1", + "to-object-path": "0.3.0", + "union-value": "1.0.1", + "unset-value": "1.0.0" } }, "camelcase": { @@ -1012,9 +1011,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "choices-separator": { @@ -1023,9 +1022,9 @@ "integrity": "sha1-kv0XYxgteQM/XFxR0Lo1LlVnxpY=", "dev": true, "requires": { - "ansi-dim": "^0.1.1", - "debug": "^2.6.6", - "strip-color": "^0.1.0" + "ansi-dim": "0.1.1", + "debug": "2.6.9", + "strip-color": "0.1.0" }, "dependencies": { "debug": { @@ -1051,19 +1050,19 @@ "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", "dev": true, "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "fsevents": "^1.2.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "lodash.debounce": "^4.0.8", - "normalize-path": "^2.1.1", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "^1.0.5" + "anymatch": "2.0.0", + "async-each": "1.0.1", + "braces": "2.3.2", + "fsevents": "1.2.9", + "glob-parent": "3.1.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "4.0.0", + "lodash.debounce": "4.0.8", + "normalize-path": "2.1.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.2.1", + "upath": "1.1.0" } }, "chownr": { @@ -1078,7 +1077,7 @@ "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", "dev": true, "requires": { - "tslib": "^1.9.0" + "tslib": "1.9.3" } }, "cipher-base": { @@ -1087,8 +1086,8 @@ "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "class-utils": { @@ -1097,10 +1096,10 @@ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { @@ -1109,7 +1108,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "is-accessor-descriptor": { @@ -1118,7 +1117,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -1127,7 +1126,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -1138,7 +1137,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -1147,7 +1146,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -1158,9 +1157,9 @@ "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -1177,9 +1176,9 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" }, "dependencies": { "ansi-regex": { @@ -1200,8 +1199,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -1210,7 +1209,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -1221,10 +1220,10 @@ "integrity": "sha512-hmJRX8x1QOJVV+GUjOBzi6iauhPqc9hIF6xitWRBbiPZOBb6vGo/mDRIK9P74RTKSQK7AE8B0DDWY/vpRrPmQw==", "dev": true, "requires": { - "for-own": "^1.0.0", - "is-plain-object": "^2.0.4", - "kind-of": "^5.0.0", - "shallow-clone": "^1.0.0" + "for-own": "1.0.0", + "is-plain-object": "2.0.4", + "kind-of": "5.1.0", + "shallow-clone": "1.0.0" }, "dependencies": { "kind-of": { @@ -1247,8 +1246,8 @@ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "color-convert": { @@ -1272,7 +1271,7 @@ "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", "dev": true, "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } }, "commander": { @@ -1305,10 +1304,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "buffer-from": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" } }, "console-browserify": { @@ -1317,7 +1316,7 @@ "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", "dev": true, "requires": { - "date-now": "^0.1.4" + "date-now": "0.1.4" } }, "console-control-strings": { @@ -1338,12 +1337,12 @@ "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" + "aproba": "1.2.0", + "fs-write-stream-atomic": "1.0.10", + "iferr": "0.1.5", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" } }, "copy-descriptor": { @@ -1364,8 +1363,8 @@ "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", "dev": true, "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" + "bn.js": "4.11.8", + "elliptic": "6.4.1" } }, "create-hash": { @@ -1374,11 +1373,11 @@ "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" + "cipher-base": "1.0.4", + "inherits": "2.0.3", + "md5.js": "1.3.5", + "ripemd160": "2.0.2", + "sha.js": "2.4.11" } }, "create-hmac": { @@ -1387,12 +1386,12 @@ "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "inherits": "2.0.3", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" } }, "cross-spawn": { @@ -1401,11 +1400,11 @@ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "nice-try": "1.0.5", + "path-key": "2.0.1", + "semver": "5.5.0", + "shebang-command": "1.2.0", + "which": "1.3.1" } }, "crypto-browserify": { @@ -1414,17 +1413,17 @@ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" + "browserify-cipher": "1.0.1", + "browserify-sign": "4.0.4", + "create-ecdh": "4.0.3", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "diffie-hellman": "5.0.3", + "inherits": "2.0.3", + "pbkdf2": "3.0.17", + "public-encrypt": "4.0.3", + "randombytes": "2.0.6", + "randomfill": "1.0.4" } }, "cuint": { @@ -1444,7 +1443,7 @@ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "date-now": { @@ -1480,7 +1479,7 @@ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "dev": true, "requires": { - "mimic-response": "^1.0.0" + "mimic-response": "1.0.0" } }, "deep-extend": { @@ -1495,7 +1494,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "delayed-stream": { @@ -1516,8 +1515,8 @@ "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", "dev": true, "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" } }, "detect-libc": { @@ -1538,9 +1537,9 @@ "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" + "bn.js": "4.11.8", + "miller-rabin": "4.0.1", + "randombytes": "2.0.6" } }, "domain-browser": { @@ -1555,10 +1554,10 @@ "integrity": "sha512-vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA==", "dev": true, "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" } }, "ecc-jsbn": { @@ -1567,8 +1566,8 @@ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "jsbn": "0.1.1", + "safer-buffer": "2.1.2" } }, "elliptic": { @@ -1577,13 +1576,13 @@ "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", "dev": true, "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "bn.js": "4.11.8", + "brorand": "1.1.0", + "hash.js": "1.1.5", + "hmac-drbg": "1.0.1", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" } }, "emojis-list": { @@ -1598,7 +1597,7 @@ "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "dev": true, "requires": { - "once": "^1.4.0" + "once": "1.4.0" } }, "enhanced-resolve": { @@ -1607,9 +1606,9 @@ "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", - "tapable": "^1.0.0" + "graceful-fs": "4.1.11", + "memory-fs": "0.4.1", + "tapable": "1.1.1" } }, "errno": { @@ -1618,7 +1617,7 @@ "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", "dev": true, "requires": { - "prr": "~1.0.1" + "prr": "1.0.1" } }, "error-symbol": { @@ -1639,8 +1638,8 @@ "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", "dev": true, "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "esrecurse": "4.2.1", + "estraverse": "4.2.0" } }, "esprima": { @@ -1654,7 +1653,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "^4.1.0" + "estraverse": "4.2.0" } }, "estraverse": { @@ -1675,8 +1674,8 @@ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "md5.js": "1.3.5", + "safe-buffer": "5.1.2" } }, "execa": { @@ -1685,13 +1684,13 @@ "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", "dev": true, "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "6.0.5", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "expand-brackets": { @@ -1700,13 +1699,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "debug": { @@ -1724,7 +1723,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "is-accessor-descriptor": { @@ -1733,7 +1732,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -1742,7 +1741,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -1753,7 +1752,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -1762,7 +1761,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -1773,9 +1772,9 @@ "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -1810,7 +1809,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "extglob": { @@ -1819,14 +1818,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } }, "extsprintf": { @@ -1859,10 +1858,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" } }, "find-cache-dir": { @@ -1871,9 +1870,9 @@ "integrity": "sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==", "dev": true, "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^3.0.0" + "commondir": "1.0.1", + "make-dir": "1.3.0", + "pkg-dir": "3.0.0" }, "dependencies": { "find-up": { @@ -1882,7 +1881,7 @@ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { - "locate-path": "^3.0.0" + "locate-path": "3.0.0" } }, "locate-path": { @@ -1891,8 +1890,8 @@ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "p-locate": "3.0.0", + "path-exists": "3.0.0" } }, "p-limit": { @@ -1901,7 +1900,7 @@ "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", "dev": true, "requires": { - "p-try": "^2.0.0" + "p-try": "2.0.0" } }, "p-locate": { @@ -1910,7 +1909,7 @@ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { - "p-limit": "^2.0.0" + "p-limit": "2.0.0" } }, "p-try": { @@ -1925,7 +1924,7 @@ "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, "requires": { - "find-up": "^3.0.0" + "find-up": "3.0.0" } } } @@ -1936,7 +1935,7 @@ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { - "locate-path": "^3.0.0" + "locate-path": "3.0.0" } }, "flush-write-stream": { @@ -1945,8 +1944,8 @@ "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", "dev": true, "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.4" + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, "for-in": { @@ -1961,7 +1960,7 @@ "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", "dev": true, "requires": { - "for-in": "^1.0.1" + "for-in": "1.0.2" } }, "forever-agent": { @@ -1976,9 +1975,9 @@ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "asynckit": "0.4.0", + "combined-stream": "1.0.7", + "mime-types": "2.1.21" } }, "fragment-cache": { @@ -1987,7 +1986,7 @@ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, "requires": { - "map-cache": "^0.2.2" + "map-cache": "0.2.2" } }, "from2": { @@ -1996,8 +1995,8 @@ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, "fs-constants": { @@ -2012,10 +2011,10 @@ "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" + "graceful-fs": "4.1.11", + "iferr": "0.1.5", + "imurmurhash": "0.1.4", + "readable-stream": "2.3.6" } }, "fs.realpath": { @@ -2031,8 +2030,8 @@ "dev": true, "optional": true, "requires": { - "nan": "^2.12.1", - "node-pre-gyp": "^0.12.0" + "nan": "2.14.0", + "node-pre-gyp": "0.12.0" }, "dependencies": { "abbrev": { @@ -2058,8 +2057,8 @@ "dev": true, "optional": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "balanced-match": { @@ -2072,7 +2071,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -2109,7 +2108,7 @@ "dev": true, "optional": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "deep-extend": { @@ -2136,7 +2135,7 @@ "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.3.5" } }, "fs.realpath": { @@ -2151,14 +2150,14 @@ "dev": true, "optional": true, "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.3" } }, "glob": { @@ -2167,12 +2166,12 @@ "dev": true, "optional": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "has-unicode": { @@ -2187,7 +2186,7 @@ "dev": true, "optional": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } }, "ignore-walk": { @@ -2196,7 +2195,7 @@ "dev": true, "optional": true, "requires": { - "minimatch": "^3.0.4" + "minimatch": "3.0.4" } }, "inflight": { @@ -2205,8 +2204,8 @@ "dev": true, "optional": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -2225,7 +2224,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "isarray": { @@ -2239,7 +2238,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -2252,8 +2251,8 @@ "bundled": true, "dev": true, "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" + "safe-buffer": "5.1.2", + "yallist": "3.0.3" } }, "minizlib": { @@ -2262,7 +2261,7 @@ "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.3.5" } }, "mkdirp": { @@ -2292,9 +2291,9 @@ "dev": true, "optional": true, "requires": { - "debug": "^4.1.0", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" + "debug": "4.1.1", + "iconv-lite": "0.4.24", + "sax": "1.2.4" } }, "node-pre-gyp": { @@ -2303,16 +2302,16 @@ "dev": true, "optional": true, "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.3.0", + "nopt": "4.0.1", + "npm-packlist": "1.4.1", + "npmlog": "4.1.2", + "rc": "1.2.8", + "rimraf": "2.6.3", + "semver": "5.7.0", + "tar": "4.4.8" } }, "nopt": { @@ -2321,8 +2320,8 @@ "dev": true, "optional": true, "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "abbrev": "1.1.1", + "osenv": "0.1.5" } }, "npm-bundled": { @@ -2337,8 +2336,8 @@ "dev": true, "optional": true, "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.6" } }, "npmlog": { @@ -2347,10 +2346,10 @@ "dev": true, "optional": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.5", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "number-is-nan": { @@ -2369,7 +2368,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-homedir": { @@ -2390,8 +2389,8 @@ "dev": true, "optional": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "path-is-absolute": { @@ -2412,10 +2411,10 @@ "dev": true, "optional": true, "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.6.0", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { @@ -2432,13 +2431,13 @@ "dev": true, "optional": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "rimraf": { @@ -2447,7 +2446,7 @@ "dev": true, "optional": true, "requires": { - "glob": "^7.1.3" + "glob": "7.1.3" } }, "safe-buffer": { @@ -2490,9 +2489,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string_decoder": { @@ -2501,7 +2500,7 @@ "dev": true, "optional": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } }, "strip-ansi": { @@ -2509,7 +2508,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-json-comments": { @@ -2524,13 +2523,13 @@ "dev": true, "optional": true, "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" + "chownr": "1.1.1", + "fs-minipass": "1.2.5", + "minipass": "2.3.5", + "minizlib": "1.2.1", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.2", + "yallist": "3.0.3" } }, "util-deprecate": { @@ -2545,7 +2544,7 @@ "dev": true, "optional": true, "requires": { - "string-width": "^1.0.2 || 2" + "string-width": "1.0.2" } }, "wrappy": { @@ -2566,14 +2565,14 @@ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" } }, "get-caller-file": { @@ -2600,7 +2599,7 @@ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "github-from-package": { @@ -2615,12 +2614,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "glob-parent": { @@ -2629,8 +2628,8 @@ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" + "is-glob": "3.1.0", + "path-dirname": "1.0.2" }, "dependencies": { "is-glob": { @@ -2639,7 +2638,7 @@ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, "requires": { - "is-extglob": "^2.1.0" + "is-extglob": "2.1.1" } } } @@ -2674,8 +2673,8 @@ "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "dev": true, "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" + "ajv": "6.6.1", + "har-schema": "2.0.0" } }, "has-flag": { @@ -2696,9 +2695,9 @@ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" } }, "has-values": { @@ -2707,8 +2706,8 @@ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "kind-of": { @@ -2717,7 +2716,7 @@ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -2728,8 +2727,8 @@ "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "hash.js": { @@ -2738,8 +2737,8 @@ "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==", "dev": true, "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" } }, "he": { @@ -2754,9 +2753,9 @@ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "dev": true, "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "hash.js": "1.1.5", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" } }, "http-signature": { @@ -2765,9 +2764,9 @@ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.15.2" } }, "https-browserify": { @@ -2794,8 +2793,8 @@ "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", "dev": true, "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" + "pkg-dir": "3.0.0", + "resolve-cwd": "2.0.0" } }, "imurmurhash": { @@ -2816,8 +2815,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "info-symbol": { @@ -2856,7 +2855,7 @@ "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" }, "dependencies": { "kind-of": { @@ -2873,7 +2872,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "1.12.0" } }, "is-buffer": { @@ -2888,7 +2887,7 @@ "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" }, "dependencies": { "kind-of": { @@ -2905,9 +2904,9 @@ "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" }, "dependencies": { "kind-of": { @@ -2936,7 +2935,7 @@ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-glob": { @@ -2945,7 +2944,7 @@ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "dev": true, "requires": { - "is-extglob": "^2.1.1" + "is-extglob": "2.1.1" } }, "is-number": { @@ -2954,7 +2953,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-odd": { @@ -2963,7 +2962,7 @@ "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", "dev": true, "requires": { - "is-number": "^4.0.0" + "is-number": "4.0.0" }, "dependencies": { "is-number": { @@ -2980,7 +2979,7 @@ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "is-stream": { @@ -3030,8 +3029,8 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "1.0.10", + "esprima": "4.0.0" } }, "jsbn": { @@ -3082,7 +3081,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "koalas": { @@ -3097,7 +3096,7 @@ "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", "dev": true, "requires": { - "set-getter": "^0.1.0" + "set-getter": "0.1.0" } }, "lcid": { @@ -3106,7 +3105,7 @@ "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", "dev": true, "requires": { - "invert-kv": "^2.0.0" + "invert-kv": "2.0.0" } }, "loader-runner": { @@ -3121,9 +3120,9 @@ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", "dev": true, "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0" + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1" } }, "locate-path": { @@ -3132,8 +3131,8 @@ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "p-locate": "3.0.0", + "path-exists": "3.0.0" } }, "lodash.debounce": { @@ -3148,8 +3147,8 @@ "integrity": "sha1-vqPdNqzQuKckDXhza1uXxlREozQ=", "dev": true, "requires": { - "ansi-green": "^0.1.1", - "success-symbol": "^0.1.0" + "ansi-green": "0.1.1", + "success-symbol": "0.1.0" } }, "log-utils": { @@ -3158,13 +3157,13 @@ "integrity": "sha1-pMIXoN2aUFFdm5ICBgkas9TgMc8=", "dev": true, "requires": { - "ansi-colors": "^0.2.0", - "error-symbol": "^0.1.0", - "info-symbol": "^0.1.0", - "log-ok": "^0.1.1", - "success-symbol": "^0.1.0", - "time-stamp": "^1.0.1", - "warning-symbol": "^0.1.0" + "ansi-colors": "0.2.0", + "error-symbol": "0.1.0", + "info-symbol": "0.1.0", + "log-ok": "0.1.1", + "success-symbol": "0.1.0", + "time-stamp": "1.1.0", + "warning-symbol": "0.1.0" } }, "lru-cache": { @@ -3173,8 +3172,8 @@ "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "make-dir": { @@ -3183,7 +3182,7 @@ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" } }, "map-age-cleaner": { @@ -3192,7 +3191,7 @@ "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", "dev": true, "requires": { - "p-defer": "^1.0.0" + "p-defer": "1.0.0" } }, "map-cache": { @@ -3207,7 +3206,7 @@ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" } }, "md5.js": { @@ -3216,9 +3215,9 @@ "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "hash-base": "3.0.4", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "mem": { @@ -3227,9 +3226,9 @@ "integrity": "sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA==", "dev": true, "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^1.0.0", - "p-is-promise": "^1.1.0" + "map-age-cleaner": "0.1.3", + "mimic-fn": "1.2.0", + "p-is-promise": "1.1.0" } }, "memory-fs": { @@ -3238,8 +3237,8 @@ "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", "dev": true, "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "errno": "0.1.7", + "readable-stream": "2.3.6" } }, "micromatch": { @@ -3248,19 +3247,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -3269,8 +3268,8 @@ "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" } }, "extend-shallow": { @@ -3279,8 +3278,8 @@ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" } }, "is-extendable": { @@ -3289,7 +3288,7 @@ "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } }, "kind-of": { @@ -3306,8 +3305,8 @@ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" + "bn.js": "4.11.8", + "brorand": "1.1.0" } }, "mime-db": { @@ -3322,7 +3321,7 @@ "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "dev": true, "requires": { - "mime-db": "~1.37.0" + "mime-db": "1.37.0" } }, "mimic-fn": { @@ -3355,7 +3354,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -3370,16 +3369,16 @@ "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "dev": true, "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" + "concat-stream": "1.6.2", + "duplexify": "3.6.1", + "end-of-stream": "1.4.1", + "flush-write-stream": "1.0.3", + "from2": "2.3.0", + "parallel-transform": "1.1.0", + "pump": "3.0.0", + "pumpify": "1.5.1", + "stream-each": "1.2.3", + "through2": "2.0.3" }, "dependencies": { "pump": { @@ -3388,8 +3387,8 @@ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "end-of-stream": "1.4.1", + "once": "1.4.0" } } } @@ -3400,8 +3399,8 @@ "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -3410,7 +3409,7 @@ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -3421,8 +3420,8 @@ "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", "dev": true, "requires": { - "for-in": "^0.1.3", - "is-extendable": "^0.1.1" + "for-in": "0.1.8", + "is-extendable": "0.1.1" }, "dependencies": { "for-in": { @@ -3490,12 +3489,12 @@ "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", "dev": true, "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" + "aproba": "1.2.0", + "copy-concurrently": "1.0.5", + "fs-write-stream-atomic": "1.0.10", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" } }, "ms": { @@ -3522,18 +3521,18 @@ "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-odd": "^2.0.0", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -3542,8 +3541,8 @@ "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" } }, "extend-shallow": { @@ -3552,8 +3551,8 @@ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" } }, "is-extendable": { @@ -3562,7 +3561,7 @@ "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } }, "kind-of": { @@ -3591,7 +3590,7 @@ "integrity": "sha512-pUlswqpHQ7zGPI9lGjZ4XDNIEUDbHxsltfIRb7dTnYdhgHWHOcB0MLZKLoCz6UMcGzSPG5wGl1HODZVQAUsH6w==", "dev": true, "requires": { - "semver": "^5.4.1" + "semver": "5.5.0" } }, "node-int64": { @@ -3605,28 +3604,28 @@ "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", "dev": true, "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^1.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", + "assert": "1.4.1", + "browserify-zlib": "0.2.0", + "buffer": "4.9.1", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.12.0", + "domain-browser": "1.2.0", + "events": "1.1.1", + "https-browserify": "1.0.0", + "os-browserify": "0.3.0", "path-browserify": "0.0.0", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "readable-stream": "2.3.6", + "stream-browserify": "2.0.1", + "stream-http": "2.8.3", + "string_decoder": "1.1.1", + "timers-browserify": "2.0.10", "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.10.3", + "url": "0.11.0", + "util": "0.10.4", "vm-browserify": "0.0.4" } }, @@ -3642,7 +3641,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "^1.0.1" + "remove-trailing-separator": "1.1.0" } }, "npm-run-path": { @@ -3651,7 +3650,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "npmlog": { @@ -3660,10 +3659,10 @@ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "number-is-nan": { @@ -3690,9 +3689,9 @@ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { @@ -3701,7 +3700,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "is-accessor-descriptor": { @@ -3710,7 +3709,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-data-descriptor": { @@ -3719,7 +3718,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-descriptor": { @@ -3728,9 +3727,9 @@ "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { @@ -3749,7 +3748,7 @@ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" } }, "object.pick": { @@ -3758,7 +3757,7 @@ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "once": { @@ -3767,7 +3766,7 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-browserify": { @@ -3788,9 +3787,9 @@ "integrity": "sha512-7g5e7dmXPtzcP4bgsZ8ixDVqA7oWYuEz4lOSujeWyliPai4gfVDiFIcwBg3aGCPnmSGfzOKTK3ccPn0CKv3DBw==", "dev": true, "requires": { - "execa": "^0.10.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" + "execa": "0.10.0", + "lcid": "2.0.0", + "mem": "4.0.0" } }, "p-defer": { @@ -3817,7 +3816,7 @@ "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", "dev": true, "requires": { - "p-try": "^2.0.0" + "p-try": "2.0.0" } }, "p-locate": { @@ -3826,7 +3825,7 @@ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { - "p-limit": "^2.0.0" + "p-limit": "2.0.0" } }, "p-try": { @@ -3847,9 +3846,9 @@ "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", "dev": true, "requires": { - "cyclist": "~0.2.2", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" + "cyclist": "0.2.2", + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, "parse-asn1": { @@ -3858,11 +3857,11 @@ "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", "dev": true, "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3" + "asn1.js": "4.10.1", + "browserify-aes": "1.2.0", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.17" } }, "parser-byte-length": { @@ -3871,7 +3870,7 @@ "integrity": "sha512-RaI2vekkZ0iZiORVFQdvOXx7szbYaGlkXUUh+qjuJpkDhD/GgoG3OmC51/Rob/Ogjy9l4S+8Tey+xiH0ol14XA==", "dev": true, "requires": { - "safe-buffer": "^5.1.1" + "safe-buffer": "5.1.2" } }, "parser-cctalk": { @@ -3880,7 +3879,7 @@ "integrity": "sha512-Q/9Zz4rSQLiZyxOsVYDlkny3+dh/xxv7sYdrPQdaFprRXImzjB2vpBZZqUQZpBWn+5PX9mnCVn23o22ClNHKSQ==", "dev": true, "requires": { - "safe-buffer": "^5.1.1" + "safe-buffer": "5.1.2" } }, "parser-delimiter": { @@ -3889,7 +3888,7 @@ "integrity": "sha512-w7XmCahMtT4GUIgxbfyXgrhRfrxfo4ftg7zFJGb4G3Fp1ZqMvC/3gXm7W0N1/NaYlcoNv2nL4nIXFNbh+gcjBw==", "dev": true, "requires": { - "safe-buffer": "^5.1.1" + "safe-buffer": "5.1.2" } }, "parser-readline": { @@ -3898,8 +3897,8 @@ "integrity": "sha512-JYA2+Kg5IBgruq5ogeMnuh3AjVp5RIJht5/K1KQsdS25OFU+Sx+BvBOBhlEhsU3Uw3IwxuhXgrYb/QwZgJNARA==", "dev": true, "requires": { - "parser-delimiter": "^1.0.2", - "safe-buffer": "^5.1.1" + "parser-delimiter": "1.0.2", + "safe-buffer": "5.1.2" } }, "parser-ready": { @@ -3908,7 +3907,7 @@ "integrity": "sha512-u76Ai1y+kNSVByGEvOPZac8VFqn9+D6tZDZmOfwGDX1DhNe8T9ZX/FzO3qrESsynuqSRV8WBCPnUvKrGkfoi0Q==", "dev": true, "requires": { - "safe-buffer": "^5.1.1" + "safe-buffer": "5.1.2" } }, "parser-regex": { @@ -3917,7 +3916,7 @@ "integrity": "sha512-SXSANkKVQfsDQTsZoHtfjbcHI3CPxHjUbHdSgAejbrfbvCBAx2pNvUV4JnDm2jge9UViFNERzj+MBt5yh6ocdQ==", "dev": true, "requires": { - "safe-buffer": "^5.1.1" + "safe-buffer": "5.1.2" } }, "pascalcase": { @@ -3962,11 +3961,11 @@ "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", "dev": true, "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" } }, "performance-now": { @@ -3987,7 +3986,7 @@ "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, "requires": { - "find-up": "^3.0.0" + "find-up": "3.0.0" } }, "platform": { @@ -4014,21 +4013,21 @@ "integrity": "sha512-/rI36cN2g7vDQnKWN8Uzupi++KjyqS9iS+/fpwG4Ea8d0Pip0PQ5bshUNzVwt+/D2MRfhVAplYMMvWLqWrCF/g==", "dev": true, "requires": { - "detect-libc": "^1.0.3", - "expand-template": "^1.0.2", + "detect-libc": "1.0.3", + "expand-template": "1.1.1", "github-from-package": "0.0.0", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", - "node-abi": "^2.2.0", - "noop-logger": "^0.1.1", - "npmlog": "^4.0.1", - "os-homedir": "^1.0.1", - "pump": "^2.0.1", - "rc": "^1.1.6", - "simple-get": "^2.7.0", - "tar-fs": "^1.13.0", - "tunnel-agent": "^0.6.0", - "which-pm-runs": "^1.0.0" + "minimist": "1.2.0", + "mkdirp": "0.5.1", + "node-abi": "2.4.1", + "noop-logger": "0.1.1", + "npmlog": "4.1.2", + "os-homedir": "1.0.2", + "pump": "2.0.1", + "rc": "1.2.7", + "simple-get": "2.8.1", + "tar-fs": "1.16.2", + "tunnel-agent": "0.6.0", + "which-pm-runs": "1.0.0" }, "dependencies": { "minimist": { @@ -4069,7 +4068,7 @@ "integrity": "sha512-dhz2Fl7vK+LPpmnQ/S/eSut4BnH4NZDLyddHKi5uTU/2PDn3grEMGkgsll16V5RpVUh/yxdiam0xsM0RD4xvtg==", "dev": true, "requires": { - "debug": "^2.6.8" + "debug": "2.6.9" }, "dependencies": { "debug": { @@ -4095,15 +4094,15 @@ "integrity": "sha512-svGzgLUKZoqomz9SGMkf1hBG8Wl3K7JGuRCXc/Pv7xw8239hhaTBXrmjt7EXA9P/QZzdyT8uNWt9F/iJTXq75g==", "dev": true, "requires": { - "component-emitter": "^1.2.1", - "debug": "^3.0.1", - "koalas": "^1.0.2", - "log-utils": "^0.2.1", - "prompt-actions": "^3.0.2", - "prompt-question": "^5.0.1", - "readline-ui": "^2.2.3", - "readline-utils": "^2.2.3", - "static-extend": "^0.1.2" + "component-emitter": "1.2.1", + "debug": "3.1.0", + "koalas": "1.0.2", + "log-utils": "0.2.1", + "prompt-actions": "3.0.2", + "prompt-question": "5.0.2", + "readline-ui": "2.2.3", + "readline-utils": "2.2.3", + "static-extend": "0.1.2" }, "dependencies": { "debug": { @@ -4129,9 +4128,9 @@ "integrity": "sha512-T/QWgkdUmKjRSr0FQlV8O+LfgmBk8PwDbWhzllm7mwWNAjs3qOVuru5Y1gV4/14L73zCncqcuwGwvnDyVcVgvA==", "dev": true, "requires": { - "ansi-cyan": "^0.1.1", - "debug": "^2.6.8", - "prompt-base": "^4.0.2" + "ansi-cyan": "0.1.1", + "debug": "2.6.9", + "prompt-base": "4.1.0" }, "dependencies": { "debug": { @@ -4157,25 +4156,25 @@ "integrity": "sha512-JfXujJo79TKG6KUHE+1S4tYLUEMRLM/mW9Bz49qrGKxVpnBGsQSv9lPiLKZgHtGEzXH7nG2kfMvWBEaKQs+JkQ==", "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "arr-swap": "^1.0.1", - "choices-separator": "^2.0.0", - "clone-deep": "^1.0.0", - "collection-visit": "^1.0.0", - "debug": "^3.0.1", - "define-property": "^1.0.0", - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "kind-of": "^5.0.2", - "koalas": "^1.0.2", - "lazy-cache": "^2.0.2", - "log-utils": "^0.2.1", - "pointer-symbol": "^1.0.0", - "radio-symbol": "^2.0.0", - "set-value": "^2.0.0", - "strip-color": "^0.1.0", - "terminal-paginator": "^2.0.2", - "toggle-array": "^1.0.1" + "arr-flatten": "1.1.0", + "arr-swap": "1.0.1", + "choices-separator": "2.0.0", + "clone-deep": "1.0.0", + "collection-visit": "1.0.0", + "debug": "3.1.0", + "define-property": "1.0.0", + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "kind-of": "5.1.0", + "koalas": "1.0.2", + "lazy-cache": "2.0.2", + "log-utils": "0.2.1", + "pointer-symbol": "1.0.0", + "radio-symbol": "2.0.0", + "set-value": "2.0.1", + "strip-color": "0.1.0", + "terminal-paginator": "2.0.2", + "toggle-array": "1.0.1" }, "dependencies": { "debug": { @@ -4207,10 +4206,10 @@ "integrity": "sha512-5ezD3usudKMQVpMFLV5R0RTpUF0T+VRvQvmQyDz8Rpz274lKwabZO4ozTR8tq2X4HuovqZb3kGqFZmJeXjAyDw==", "dev": true, "requires": { - "ansi-cyan": "^0.1.1", - "ansi-dim": "^0.1.1", - "debug": "^3.1.0", - "prompt-radio": "^1.2.1" + "ansi-cyan": "0.1.1", + "ansi-dim": "0.1.1", + "debug": "3.1.0", + "prompt-radio": "1.2.1" }, "dependencies": { "debug": { @@ -4236,13 +4235,13 @@ "integrity": "sha512-wreaLbbu8f5+7zXds199uiT11Ojp59Z4iBi6hONlSLtsKGTvL2UY8VglcxQ3t/X4qWIxsNCg6aT4O8keO65v6Q==", "dev": true, "requires": { - "clone-deep": "^1.0.0", - "debug": "^3.0.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "kind-of": "^5.0.2", - "koalas": "^1.0.2", - "prompt-choices": "^4.0.5" + "clone-deep": "1.0.0", + "debug": "3.1.0", + "define-property": "1.0.0", + "isobject": "3.0.1", + "kind-of": "5.1.0", + "koalas": "1.0.2", + "prompt-choices": "4.0.6" }, "dependencies": { "debug": { @@ -4274,8 +4273,8 @@ "integrity": "sha512-vH1iAkgbWyvZBC1BTajydiHmwJP4F1b684gq0fm2wOjPVW1zaDo01OXWr/Dske0XdoHhtZFNMOXNj/ZUSRBywg==", "dev": true, "requires": { - "debug": "^2.6.8", - "prompt-checkbox": "^2.2.0" + "debug": "2.6.9", + "prompt-checkbox": "2.2.0" }, "dependencies": { "debug": { @@ -4319,12 +4318,12 @@ "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "parse-asn1": "5.1.1", + "randombytes": "2.0.6", + "safe-buffer": "5.1.2" } }, "pump": { @@ -4333,8 +4332,8 @@ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "end-of-stream": "1.4.1", + "once": "1.4.0" } }, "pumpify": { @@ -4343,9 +4342,9 @@ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" + "duplexify": "3.6.1", + "inherits": "2.0.3", + "pump": "2.0.1" } }, "punycode": { @@ -4378,9 +4377,9 @@ "integrity": "sha1-eqm/xQSFY21S3XbWqOYxspB5muE=", "dev": true, "requires": { - "ansi-gray": "^0.1.1", - "ansi-green": "^0.1.1", - "is-windows": "^1.0.1" + "ansi-gray": "0.1.1", + "ansi-green": "0.1.1", + "is-windows": "1.0.2" } }, "randombytes": { @@ -4389,7 +4388,7 @@ "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", "dev": true, "requires": { - "safe-buffer": "^5.1.0" + "safe-buffer": "5.1.2" } }, "randomfill": { @@ -4398,8 +4397,8 @@ "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" + "randombytes": "2.0.6", + "safe-buffer": "5.1.2" } }, "rc": { @@ -4408,10 +4407,10 @@ "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", "dev": true, "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.5.1", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { @@ -4428,13 +4427,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "readdirp": { @@ -4443,9 +4442,9 @@ "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" + "graceful-fs": "4.1.11", + "micromatch": "3.1.10", + "readable-stream": "2.3.6" } }, "readline-ui": { @@ -4454,10 +4453,10 @@ "integrity": "sha512-ix7jz0PxqQqcIuq3yQTHv1TOhlD2IHO74aNO+lSuXsRYm1d+pdyup1yF3zKyLK1wWZrVNGjkzw5tUegO2IDy+A==", "dev": true, "requires": { - "component-emitter": "^1.2.1", - "debug": "^2.6.8", - "readline-utils": "^2.2.1", - "string-width": "^2.0.0" + "component-emitter": "1.2.1", + "debug": "2.6.9", + "readline-utils": "2.2.3", + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -4493,8 +4492,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -4503,7 +4502,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -4514,15 +4513,15 @@ "integrity": "sha1-b4R9a48ZFcORtYHDZ81HhzhiNRo=", "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "extend-shallow": "^2.0.1", - "is-buffer": "^1.1.5", - "is-number": "^3.0.0", - "is-windows": "^1.0.1", - "koalas": "^1.0.2", + "arr-flatten": "1.1.0", + "extend-shallow": "2.0.1", + "is-buffer": "1.1.6", + "is-number": "3.0.0", + "is-windows": "1.0.2", + "koalas": "1.0.2", "mute-stream": "0.0.7", - "strip-color": "^0.1.0", - "window-size": "^1.1.0" + "strip-color": "0.1.0", + "window-size": "1.1.0" } }, "regex-not": { @@ -4531,8 +4530,8 @@ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" }, "dependencies": { "extend-shallow": { @@ -4541,8 +4540,8 @@ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" } }, "is-extendable": { @@ -4551,7 +4550,7 @@ "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -4580,26 +4579,26 @@ "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "dev": true, "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.0", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" + "aws-sign2": "0.7.0", + "aws4": "1.8.0", + "caseless": "0.12.0", + "combined-stream": "1.0.7", + "extend": "3.0.2", + "forever-agent": "0.6.1", + "form-data": "2.3.3", + "har-validator": "5.1.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.21", + "oauth-sign": "0.9.0", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.4.3", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" } }, "require-directory": { @@ -4620,7 +4619,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "^3.0.0" + "resolve-from": "3.0.0" } }, "resolve-from": { @@ -4647,7 +4646,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" }, "dependencies": { "glob": { @@ -4656,12 +4655,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "minimatch": { @@ -4670,7 +4669,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } } } @@ -4681,8 +4680,8 @@ "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "hash-base": "3.0.4", + "inherits": "2.0.3" } }, "run-queue": { @@ -4691,7 +4690,7 @@ "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", "dev": true, "requires": { - "aproba": "^1.1.1" + "aproba": "1.2.0" } }, "safe-buffer": { @@ -4706,7 +4705,7 @@ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, "safer-buffer": { @@ -4721,8 +4720,8 @@ "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", "dev": true, "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" + "ajv": "6.6.1", + "ajv-keywords": "3.2.0" } }, "semver": { @@ -4744,19 +4743,19 @@ "dev": true, "requires": { "bindings": "1.3.0", - "commander": "^2.13.0", - "debug": "^3.1.0", - "nan": "^2.9.2", - "parser-byte-length": "^1.0.2", - "parser-cctalk": "^1.0.2", - "parser-delimiter": "^1.0.2", - "parser-readline": "^1.0.2", - "parser-ready": "^1.0.2", - "parser-regex": "^1.0.2", - "prebuild-install": "^2.4.1", - "promirepl": "^1.0.1", - "prompt-list": "^3.1.2", - "safe-buffer": "^5.0.1" + "commander": "2.15.1", + "debug": "3.1.0", + "nan": "2.10.0", + "parser-byte-length": "1.0.2", + "parser-cctalk": "1.0.2", + "parser-delimiter": "1.0.2", + "parser-readline": "1.0.2", + "parser-ready": "1.0.2", + "parser-regex": "1.0.2", + "prebuild-install": "2.5.3", + "promirepl": "1.0.1", + "prompt-list": "3.1.2", + "safe-buffer": "5.1.2" }, "dependencies": { "commander": { @@ -4794,7 +4793,7 @@ "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=", "dev": true, "requires": { - "to-object-path": "^0.3.0" + "to-object-path": "0.3.0" } }, "set-value": { @@ -4803,10 +4802,10 @@ "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" } }, "setimmediate": { @@ -4821,8 +4820,8 @@ "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "shallow-clone": { @@ -4831,9 +4830,9 @@ "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", "dev": true, "requires": { - "is-extendable": "^0.1.1", - "kind-of": "^5.0.0", - "mixin-object": "^2.0.1" + "is-extendable": "0.1.1", + "kind-of": "5.1.0", + "mixin-object": "2.0.1" }, "dependencies": { "kind-of": { @@ -4850,7 +4849,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -4877,9 +4876,9 @@ "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", "dev": true, "requires": { - "decompress-response": "^3.3.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" + "decompress-response": "3.3.0", + "once": "1.4.0", + "simple-concat": "1.0.0" } }, "snapdragon": { @@ -4888,14 +4887,14 @@ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.0" }, "dependencies": { "define-property": { @@ -4904,7 +4903,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "is-accessor-descriptor": { @@ -4913,7 +4912,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -4922,7 +4921,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -4933,7 +4932,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -4942,7 +4941,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -4953,9 +4952,9 @@ "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -4972,9 +4971,9 @@ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" } }, "snapdragon-util": { @@ -4983,7 +4982,7 @@ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { - "kind-of": "^3.2.0" + "kind-of": "3.2.2" } }, "source-list-map": { @@ -5004,11 +5003,11 @@ "integrity": "sha1-cuLMNAlVQ+Q7LGKyxMENSpBU8lk=", "dev": true, "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" } }, "source-map-url": { @@ -5023,7 +5022,7 @@ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -5032,8 +5031,8 @@ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" } }, "is-extendable": { @@ -5042,7 +5041,7 @@ "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -5058,15 +5057,15 @@ "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==", "dev": true, "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" + "asn1": "0.2.4", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.2", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.2", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" } }, "ssri": { @@ -5075,7 +5074,7 @@ "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", "dev": true, "requires": { - "figgy-pudding": "^3.5.1" + "figgy-pudding": "3.5.1" } }, "static-extend": { @@ -5084,8 +5083,8 @@ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { @@ -5094,7 +5093,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "is-accessor-descriptor": { @@ -5103,7 +5102,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -5112,7 +5111,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -5123,7 +5122,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -5132,7 +5131,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -5143,9 +5142,9 @@ "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -5162,8 +5161,8 @@ "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "dev": true, "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, "stream-each": { @@ -5172,8 +5171,8 @@ "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", "dev": true, "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" + "end-of-stream": "1.4.1", + "stream-shift": "1.0.0" } }, "stream-http": { @@ -5182,11 +5181,11 @@ "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" + "builtin-status-codes": "3.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "to-arraybuffer": "1.0.1", + "xtend": "4.0.1" } }, "stream-shift": { @@ -5201,9 +5200,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string_decoder": { @@ -5212,7 +5211,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } }, "strip-ansi": { @@ -5221,7 +5220,7 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-color": { @@ -5254,7 +5253,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "tapable": { @@ -5269,10 +5268,10 @@ "integrity": "sha512-LdknWjPEiZC1nOBwhv0JBzfJBGPJar08dZg2rwZe0ZTLQoRGEzgrl7vF3qUEkCHpI/wN9e7RyCuDhMsJUCLPPQ==", "dev": true, "requires": { - "chownr": "^1.0.1", - "mkdirp": "^0.5.1", - "pump": "^1.0.0", - "tar-stream": "^1.1.2" + "chownr": "1.0.1", + "mkdirp": "0.5.1", + "pump": "1.0.3", + "tar-stream": "1.6.1" }, "dependencies": { "pump": { @@ -5281,8 +5280,8 @@ "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", "dev": true, "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "end-of-stream": "1.4.1", + "once": "1.4.0" } } } @@ -5293,13 +5292,13 @@ "integrity": "sha512-IFLM5wp3QrJODQFPm6/to3LJZrONdBY/otxcvDIQzu217zKye6yVR3hhi9lAjrC2Z+m/j5oDxMPb1qcd8cIvpA==", "dev": true, "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.1.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.0", - "xtend": "^4.0.0" + "bl": "1.2.2", + "buffer-alloc": "1.1.0", + "end-of-stream": "1.4.1", + "fs-constants": "1.0.0", + "readable-stream": "2.3.6", + "to-buffer": "1.1.1", + "xtend": "4.0.1" } }, "terminal-paginator": { @@ -5308,9 +5307,9 @@ "integrity": "sha512-IZMT5ECF9p4s+sNCV8uvZSW9E1+9zy9Ji9xz2oee8Jfo7hUFpauyjxkhfRcIH6Lu3Wdepv5D1kVRc8Hx74/LfQ==", "dev": true, "requires": { - "debug": "^2.6.6", - "extend-shallow": "^2.0.1", - "log-utils": "^0.2.1" + "debug": "2.6.9", + "extend-shallow": "2.0.1", + "log-utils": "0.2.1" }, "dependencies": { "debug": { @@ -5336,9 +5335,9 @@ "integrity": "sha512-3ODPC1eVt25EVNb04s/PkHxOmzKBQUF6bwwuR6h2DbEF8/j265Y1UkwNtOk9am/pRxfJ5HPapOlUlO6c16mKQQ==", "dev": true, "requires": { - "commander": "~2.17.1", - "source-map": "~0.6.1", - "source-map-support": "~0.5.6" + "commander": "2.17.1", + "source-map": "0.6.1", + "source-map-support": "0.5.9" }, "dependencies": { "commander": { @@ -5359,8 +5358,8 @@ "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "buffer-from": "1.1.1", + "source-map": "0.6.1" } } } @@ -5371,14 +5370,14 @@ "integrity": "sha512-61lV0DSxMAZ8AyZG7/A4a3UPlrbOBo8NIQ4tJzLPAdGOQ+yoNC7l5ijEow27lBAL2humer01KLS6bGIMYQxKoA==", "dev": true, "requires": { - "cacache": "^11.0.2", - "find-cache-dir": "^2.0.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^1.4.0", - "source-map": "^0.6.1", - "terser": "^3.8.1", - "webpack-sources": "^1.1.0", - "worker-farm": "^1.5.2" + "cacache": "11.3.1", + "find-cache-dir": "2.0.0", + "schema-utils": "1.0.0", + "serialize-javascript": "1.5.0", + "source-map": "0.6.1", + "terser": "3.10.12", + "webpack-sources": "1.3.0", + "worker-farm": "1.6.0" }, "dependencies": { "schema-utils": { @@ -5387,9 +5386,9 @@ "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "ajv": "6.6.1", + "ajv-errors": "1.0.0", + "ajv-keywords": "3.2.0" } }, "source-map": { @@ -5406,8 +5405,8 @@ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "dev": true, "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" + "readable-stream": "2.3.6", + "xtend": "4.0.1" } }, "time-stamp": { @@ -5422,7 +5421,7 @@ "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", "dev": true, "requires": { - "setimmediate": "^1.0.4" + "setimmediate": "1.0.5" } }, "to-arraybuffer": { @@ -5443,7 +5442,7 @@ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "to-regex": { @@ -5452,10 +5451,10 @@ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" }, "dependencies": { "define-property": { @@ -5464,8 +5463,8 @@ "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" } }, "extend-shallow": { @@ -5474,8 +5473,8 @@ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" } }, "is-extendable": { @@ -5484,7 +5483,7 @@ "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -5495,8 +5494,8 @@ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" } }, "toggle-array": { @@ -5505,7 +5504,7 @@ "integrity": "sha1-y/WEB5K9UJfzMReugkyTKv/ofVg=", "dev": true, "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" } }, "tough-cookie": { @@ -5514,8 +5513,8 @@ "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "dev": true, "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" + "psl": "1.1.29", + "punycode": "1.4.1" } }, "tslib": { @@ -5536,7 +5535,7 @@ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "tweetnacl": { @@ -5557,10 +5556,10 @@ "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "2.0.1" } }, "unique-filename": { @@ -5569,7 +5568,7 @@ "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "dev": true, "requires": { - "unique-slug": "^2.0.0" + "unique-slug": "2.0.1" } }, "unique-slug": { @@ -5578,7 +5577,7 @@ "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==", "dev": true, "requires": { - "imurmurhash": "^0.1.4" + "imurmurhash": "0.1.4" } }, "unset-value": { @@ -5587,8 +5586,8 @@ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { @@ -5597,9 +5596,9 @@ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { @@ -5657,7 +5656,7 @@ "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", "dev": true, "requires": { - "kind-of": "^6.0.2" + "kind-of": "6.0.2" }, "dependencies": { "kind-of": { @@ -5701,9 +5700,9 @@ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { - "assert-plus": "^1.0.0", + "assert-plus": "1.0.0", "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "extsprintf": "1.3.0" } }, "vm-browserify": { @@ -5727,9 +5726,9 @@ "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", "dev": true, "requires": { - "chokidar": "^2.0.2", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" + "chokidar": "2.0.4", + "graceful-fs": "4.1.11", + "neo-async": "2.5.1" } }, "webpack": { @@ -5742,26 +5741,26 @@ "@webassemblyjs/helper-module-context": "1.7.11", "@webassemblyjs/wasm-edit": "1.7.11", "@webassemblyjs/wasm-parser": "1.7.11", - "acorn": "^5.6.2", - "acorn-dynamic-import": "^3.0.0", - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "chrome-trace-event": "^1.0.0", - "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.0", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.3.0", - "loader-utils": "^1.1.0", - "memory-fs": "~0.4.1", - "micromatch": "^3.1.8", - "mkdirp": "~0.5.0", - "neo-async": "^2.5.0", - "node-libs-browser": "^2.0.0", - "schema-utils": "^0.4.4", - "tapable": "^1.1.0", - "terser-webpack-plugin": "^1.1.0", - "watchpack": "^1.5.0", - "webpack-sources": "^1.3.0" + "acorn": "5.7.3", + "acorn-dynamic-import": "3.0.0", + "ajv": "6.6.1", + "ajv-keywords": "3.2.0", + "chrome-trace-event": "1.0.0", + "enhanced-resolve": "4.1.0", + "eslint-scope": "4.0.0", + "json-parse-better-errors": "1.0.2", + "loader-runner": "2.3.1", + "loader-utils": "1.1.0", + "memory-fs": "0.4.1", + "micromatch": "3.1.10", + "mkdirp": "0.5.1", + "neo-async": "2.5.1", + "node-libs-browser": "2.1.0", + "schema-utils": "0.4.7", + "tapable": "1.1.1", + "terser-webpack-plugin": "1.1.0", + "watchpack": "1.6.0", + "webpack-sources": "1.3.0" }, "dependencies": { "enhanced-resolve": { @@ -5770,9 +5769,9 @@ "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", - "tapable": "^1.0.0" + "graceful-fs": "4.1.11", + "memory-fs": "0.4.1", + "tapable": "1.1.1" } }, "tapable": { @@ -5789,16 +5788,16 @@ "integrity": "sha512-Cnqo7CeqeSvC6PTdts+dywNi5CRlIPbLx1AoUPK2T6vC1YAugMG3IOoO9DmEscd+Dghw7uRlnzV1KwOe5IrtgQ==", "dev": true, "requires": { - "chalk": "^2.4.1", - "cross-spawn": "^6.0.5", - "enhanced-resolve": "^4.1.0", - "global-modules-path": "^2.3.0", - "import-local": "^2.0.0", - "interpret": "^1.1.0", - "loader-utils": "^1.1.0", - "supports-color": "^5.5.0", - "v8-compile-cache": "^2.0.2", - "yargs": "^12.0.2" + "chalk": "2.4.1", + "cross-spawn": "6.0.5", + "enhanced-resolve": "4.1.0", + "global-modules-path": "2.3.0", + "import-local": "2.0.0", + "interpret": "1.1.0", + "loader-utils": "1.1.0", + "supports-color": "5.5.0", + "v8-compile-cache": "2.0.2", + "yargs": "12.0.5" }, "dependencies": { "supports-color": { @@ -5807,7 +5806,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -5818,8 +5817,8 @@ "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", "dev": true, "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "source-list-map": "2.0.1", + "source-map": "0.6.1" }, "dependencies": { "source-map": { @@ -5836,7 +5835,7 @@ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -5857,7 +5856,7 @@ "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "dev": true, "requires": { - "string-width": "^1.0.2" + "string-width": "1.0.2" } }, "window-size": { @@ -5866,8 +5865,8 @@ "integrity": "sha1-O0AtMkTzVWHbLJdhrZ0eUoawei0=", "dev": true, "requires": { - "define-property": "^1.0.0", - "is-number": "^3.0.0" + "define-property": "1.0.0", + "is-number": "3.0.0" } }, "worker-farm": { @@ -5876,7 +5875,7 @@ "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", "dev": true, "requires": { - "errno": "~0.1.7" + "errno": "0.1.7" } }, "wrap-ansi": { @@ -5885,8 +5884,8 @@ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" } }, "wrappy": { @@ -5919,18 +5918,18 @@ "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "3.0.0", + "get-caller-file": "1.0.3", + "os-locale": "3.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "4.0.0", + "yargs-parser": "11.1.1" }, "dependencies": { "ansi-regex": { @@ -5951,8 +5950,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -5961,7 +5960,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -5972,8 +5971,8 @@ "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", "dev": true, "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "camelcase": "5.0.0", + "decamelize": "1.2.0" } } } diff --git a/rust/sbp/src/messages/acquisition.rs b/rust/sbp/src/messages/acquisition.rs index d17bb86a95..6499638ed9 100644 --- a/rust/sbp/src/messages/acquisition.rs +++ b/rust/sbp/src/messages/acquisition.rs @@ -162,39 +162,42 @@ impl AcqSvProfileDep { } } -/// Deprecated +/// Satellite acquisition result /// -/// Deprecated. +/// This message describes the results from an attempted GPS signal +/// acquisition search for a satellite PRN over a code phase/carrier +/// frequency range. It contains the parameters of the point in the +/// acquisition search space with the best carrier-to-noise (CN/0) +/// ratio. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgAcqResultDepB { +pub struct MsgAcqResult { pub sender_id: Option, - /// SNR of best point. Currently in arbitrary SNR points, but will be in - /// units of dB Hz in a later revision of this message. - pub snr: f32, + /// CN/0 of best point + pub cn0: f32, /// Code phase of best point pub cp: f32, /// Carrier frequency of best point pub cf: f32, /// GNSS signal for which acquisition was attempted - pub sid: GnssSignalDep, + pub sid: GnssSignal, } -impl MsgAcqResultDepB { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgAcqResultDepB { +impl MsgAcqResult { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgAcqResult { sender_id: None, - snr: _buf.read_f32::()?, + cn0: _buf.read_f32::()?, cp: _buf.read_f32::()?, cf: _buf.read_f32::()?, - sid: GnssSignalDep::parse(_buf)?, + sid: GnssSignal::parse(_buf)?, }) } } -impl super::SBPMessage for MsgAcqResultDepB { - const MSG_ID: u16 = 20; +impl super::SBPMessage for MsgAcqResult { + const MSG_ID: u16 = 47; fn get_sender_id(&self) -> Option { self.sender_id @@ -249,29 +252,39 @@ impl super::SBPMessage for MsgAcqResultDepA { } } -/// Deprecated. +/// Deprecated /// /// Deprecated. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgAcqSvProfileDep { +pub struct MsgAcqResultDepB { pub sender_id: Option, - /// SV profiles during acquisition time - pub acq_sv_profile: Vec, + /// SNR of best point. Currently in arbitrary SNR points, but will be in + /// units of dB Hz in a later revision of this message. + pub snr: f32, + /// Code phase of best point + pub cp: f32, + /// Carrier frequency of best point + pub cf: f32, + /// GNSS signal for which acquisition was attempted + pub sid: GnssSignalDep, } -impl MsgAcqSvProfileDep { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgAcqSvProfileDep { +impl MsgAcqResultDepB { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgAcqResultDepB { sender_id: None, - acq_sv_profile: AcqSvProfileDep::parse_array(_buf)?, + snr: _buf.read_f32::()?, + cp: _buf.read_f32::()?, + cf: _buf.read_f32::()?, + sid: GnssSignalDep::parse(_buf)?, }) } } -impl super::SBPMessage for MsgAcqSvProfileDep { - const MSG_ID: u16 = 30; +impl super::SBPMessage for MsgAcqResultDepB { + const MSG_ID: u16 = 20; fn get_sender_id(&self) -> Option { self.sender_id @@ -358,42 +371,29 @@ impl super::SBPMessage for MsgAcqSvProfile { } } -/// Satellite acquisition result +/// Deprecated. /// -/// This message describes the results from an attempted GPS signal -/// acquisition search for a satellite PRN over a code phase/carrier -/// frequency range. It contains the parameters of the point in the -/// acquisition search space with the best carrier-to-noise (CN/0) -/// ratio. +/// Deprecated. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgAcqResult { +pub struct MsgAcqSvProfileDep { pub sender_id: Option, - /// CN/0 of best point - pub cn0: f32, - /// Code phase of best point - pub cp: f32, - /// Carrier frequency of best point - pub cf: f32, - /// GNSS signal for which acquisition was attempted - pub sid: GnssSignal, + /// SV profiles during acquisition time + pub acq_sv_profile: Vec, } -impl MsgAcqResult { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgAcqResult { +impl MsgAcqSvProfileDep { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgAcqSvProfileDep { sender_id: None, - cn0: _buf.read_f32::()?, - cp: _buf.read_f32::()?, - cf: _buf.read_f32::()?, - sid: GnssSignal::parse(_buf)?, + acq_sv_profile: AcqSvProfileDep::parse_array(_buf)?, }) } } -impl super::SBPMessage for MsgAcqResult { - const MSG_ID: u16 = 47; +impl super::SBPMessage for MsgAcqSvProfileDep { + const MSG_ID: u16 = 30; fn get_sender_id(&self) -> Option { self.sender_id diff --git a/rust/sbp/src/messages/bootload.rs b/rust/sbp/src/messages/bootload.rs index 764a2c7a0f..7bb5721436 100644 --- a/rust/sbp/src/messages/bootload.rs +++ b/rust/sbp/src/messages/bootload.rs @@ -58,39 +58,6 @@ impl super::SBPMessage for MsgBootloaderHandshakeDepA { } } -/// Bootloader jump to application (host => device) -/// -/// The host initiates the bootloader to jump to the application. -/// -#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] -#[derive(Debug)] -#[allow(non_snake_case)] -pub struct MsgBootloaderJumpToApp { - pub sender_id: Option, - /// Ignored by the device - pub jump: u8, -} - -impl MsgBootloaderJumpToApp { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgBootloaderJumpToApp { - sender_id: None, - jump: _buf.read_u8()?, - }) - } -} -impl super::SBPMessage for MsgBootloaderJumpToApp { - const MSG_ID: u16 = 177; - - fn get_sender_id(&self) -> Option { - self.sender_id - } - - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); - } -} - /// Bootloading handshake request (host => device) /// /// The handshake message request from the host establishes a @@ -161,34 +128,29 @@ impl super::SBPMessage for MsgBootloaderHandshakeResp { } } -/// Read FPGA device ID over UART response (host <= device) +/// Bootloader jump to application (host => device) /// -/// The device message from the host reads a unique device -/// identifier from the SwiftNAP, an FPGA. The host requests the ID -/// by sending a MSG_NAP_DEVICE_DNA_REQ message. The device -/// responds with a MSG_NAP_DEVICE_DNA_RESP messagage with the -/// device ID in the payload. Note that this ID is tied to the FPGA, -/// and not related to the Piksi's serial number. +/// The host initiates the bootloader to jump to the application. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgNapDeviceDnaResp { +pub struct MsgBootloaderJumpToApp { pub sender_id: Option, - /// 57-bit SwiftNAP FPGA Device ID. Remaining bits are padded on the right. - pub dna: Vec, + /// Ignored by the device + pub jump: u8, } -impl MsgNapDeviceDnaResp { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgNapDeviceDnaResp { +impl MsgBootloaderJumpToApp { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgBootloaderJumpToApp { sender_id: None, - dna: crate::parser::read_u8_array_limit(_buf, 8)?, + jump: _buf.read_u8()?, }) } } -impl super::SBPMessage for MsgNapDeviceDnaResp { - const MSG_ID: u16 = 221; +impl super::SBPMessage for MsgBootloaderJumpToApp { + const MSG_ID: u16 = 177; fn get_sender_id(&self) -> Option { self.sender_id @@ -231,3 +193,41 @@ impl super::SBPMessage for MsgNapDeviceDnaReq { self.sender_id = Some(new_id); } } + +/// Read FPGA device ID over UART response (host <= device) +/// +/// The device message from the host reads a unique device +/// identifier from the SwiftNAP, an FPGA. The host requests the ID +/// by sending a MSG_NAP_DEVICE_DNA_REQ message. The device +/// responds with a MSG_NAP_DEVICE_DNA_RESP messagage with the +/// device ID in the payload. Note that this ID is tied to the FPGA, +/// and not related to the Piksi's serial number. +/// +#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] +#[derive(Debug)] +#[allow(non_snake_case)] +pub struct MsgNapDeviceDnaResp { + pub sender_id: Option, + /// 57-bit SwiftNAP FPGA Device ID. Remaining bits are padded on the right. + pub dna: Vec, +} + +impl MsgNapDeviceDnaResp { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgNapDeviceDnaResp { + sender_id: None, + dna: crate::parser::read_u8_array_limit(_buf, 8)?, + }) + } +} +impl super::SBPMessage for MsgNapDeviceDnaResp { + const MSG_ID: u16 = 221; + + fn get_sender_id(&self) -> Option { + self.sender_id + } + + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); + } +} diff --git a/rust/sbp/src/messages/file_io.rs b/rust/sbp/src/messages/file_io.rs index 6328e57904..a9e91925c2 100644 --- a/rust/sbp/src/messages/file_io.rs +++ b/rust/sbp/src/messages/file_io.rs @@ -28,36 +28,32 @@ use self::byteorder::{LittleEndian, ReadBytesExt}; #[cfg(feature = "serialize")] use serde::{Deserialize, Serialize}; -/// File read from the file system (host <= device) +/// Request advice on the optimal configuration for FileIO. /// -/// The file read message reads a certain length (up to 255 bytes) -/// from a given offset into a file, and returns the data in a -/// message where the message length field indicates how many bytes -/// were succesfully read. The sequence number in the response is -/// preserved from the request. +/// Requests advice on the optimal configuration for a FileIO +/// transfer. Newer version of FileIO can support greater +/// throughput by supporting a large window of FileIO data +/// that can be in-flight during read or write operations. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgFileioReadResp { +pub struct MsgFileioConfigReq { pub sender_id: Option, - /// Read sequence number + /// Advice sequence number pub sequence: u32, - /// Contents of read file - pub contents: Vec, } -impl MsgFileioReadResp { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgFileioReadResp { +impl MsgFileioConfigReq { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgFileioConfigReq { sender_id: None, sequence: _buf.read_u32::()?, - contents: crate::parser::read_u8_array(_buf)?, }) } } -impl super::SBPMessage for MsgFileioReadResp { - const MSG_ID: u16 = 163; +impl super::SBPMessage for MsgFileioConfigReq { + const MSG_ID: u16 = 4097; fn get_sender_id(&self) -> Option { self.sender_id @@ -68,45 +64,42 @@ impl super::SBPMessage for MsgFileioReadResp { } } -/// Read file from the file system (host => device) +/// Response with advice on the optimal configuration for FileIO. + /// -/// The file read message reads a certain length (up to 255 bytes) -/// from a given offset into a file, and returns the data in a -/// MSG_FILEIO_READ_RESP message where the message length field -/// indicates how many bytes were succesfully read.The sequence -/// number in the request will be returned in the response. -/// If the message is invalid, a followup MSG_PRINT message will -/// print "Invalid fileio read message". A device will only respond -/// to this message when it is received from sender ID 0x42. +/// The advice on the optimal configuration for a FileIO +/// transfer. Newer version of FileIO can support greater +/// throughput by supporting a large window of FileIO data +/// that can be in-flight during read or write operations. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgFileioReadReq { +pub struct MsgFileioConfigResp { pub sender_id: Option, - /// Read sequence number + /// Advice sequence number pub sequence: u32, - /// File offset - pub offset: u32, - /// Chunk size to read - pub chunk_size: u8, - /// Name of the file to read from - pub filename: String, + /// The number of SBP packets in the data in-flight window + pub window_size: u32, + /// The number of SBP packets sent in one PDU + pub batch_size: u32, + /// The version of FileIO that is supported + pub fileio_version: u32, } -impl MsgFileioReadReq { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgFileioReadReq { +impl MsgFileioConfigResp { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgFileioConfigResp { sender_id: None, sequence: _buf.read_u32::()?, - offset: _buf.read_u32::()?, - chunk_size: _buf.read_u8()?, - filename: crate::parser::read_string(_buf)?, + window_size: _buf.read_u32::()?, + batch_size: _buf.read_u32::()?, + fileio_version: _buf.read_u32::()?, }) } } -impl super::SBPMessage for MsgFileioReadReq { - const MSG_ID: u16 = 168; +impl super::SBPMessage for MsgFileioConfigResp { + const MSG_ID: u16 = 4098; fn get_sender_id(&self) -> Option { self.sender_id @@ -206,33 +199,85 @@ impl super::SBPMessage for MsgFileioReadDirResp { } } -/// File written to (host <= device) +/// Read file from the file system (host => device) /// -/// The file write message writes a certain length (up to 255 bytes) -/// of data to a file at a given offset. The message is a copy of the -/// original MSG_FILEIO_WRITE_REQ message to check integrity of the -/// write. The sequence number in the response is preserved from the -/// request. +/// The file read message reads a certain length (up to 255 bytes) +/// from a given offset into a file, and returns the data in a +/// MSG_FILEIO_READ_RESP message where the message length field +/// indicates how many bytes were succesfully read.The sequence +/// number in the request will be returned in the response. +/// If the message is invalid, a followup MSG_PRINT message will +/// print "Invalid fileio read message". A device will only respond +/// to this message when it is received from sender ID 0x42. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgFileioWriteResp { +pub struct MsgFileioReadReq { pub sender_id: Option, - /// Write sequence number + /// Read sequence number pub sequence: u32, + /// File offset + pub offset: u32, + /// Chunk size to read + pub chunk_size: u8, + /// Name of the file to read from + pub filename: String, } -impl MsgFileioWriteResp { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgFileioWriteResp { +impl MsgFileioReadReq { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgFileioReadReq { sender_id: None, sequence: _buf.read_u32::()?, + offset: _buf.read_u32::()?, + chunk_size: _buf.read_u8()?, + filename: crate::parser::read_string(_buf)?, }) } } -impl super::SBPMessage for MsgFileioWriteResp { - const MSG_ID: u16 = 171; +impl super::SBPMessage for MsgFileioReadReq { + const MSG_ID: u16 = 168; + + fn get_sender_id(&self) -> Option { + self.sender_id + } + + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); + } +} + +/// File read from the file system (host <= device) +/// +/// The file read message reads a certain length (up to 255 bytes) +/// from a given offset into a file, and returns the data in a +/// message where the message length field indicates how many bytes +/// were succesfully read. The sequence number in the response is +/// preserved from the request. +/// +#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] +#[derive(Debug)] +#[allow(non_snake_case)] +pub struct MsgFileioReadResp { + pub sender_id: Option, + /// Read sequence number + pub sequence: u32, + /// Contents of read file + pub contents: Vec, +} + +impl MsgFileioReadResp { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgFileioReadResp { + sender_id: None, + sequence: _buf.read_u32::()?, + contents: crate::parser::read_u8_array(_buf)?, + }) + } +} +impl super::SBPMessage for MsgFileioReadResp { + const MSG_ID: u16 = 163; fn get_sender_id(&self) -> Option { self.sender_id @@ -328,78 +373,33 @@ impl super::SBPMessage for MsgFileioWriteReq { } } -/// Request advice on the optimal configuration for FileIO. -/// -/// Requests advice on the optimal configuration for a FileIO -/// transfer. Newer version of FileIO can support greater -/// throughput by supporting a large window of FileIO data -/// that can be in-flight during read or write operations. -/// -#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] -#[derive(Debug)] -#[allow(non_snake_case)] -pub struct MsgFileioConfigReq { - pub sender_id: Option, - /// Advice sequence number - pub sequence: u32, -} - -impl MsgFileioConfigReq { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgFileioConfigReq { - sender_id: None, - sequence: _buf.read_u32::()?, - }) - } -} -impl super::SBPMessage for MsgFileioConfigReq { - const MSG_ID: u16 = 4097; - - fn get_sender_id(&self) -> Option { - self.sender_id - } - - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); - } -} - -/// Response with advice on the optimal configuration for FileIO. - +/// File written to (host <= device) /// -/// The advice on the optimal configuration for a FileIO -/// transfer. Newer version of FileIO can support greater -/// throughput by supporting a large window of FileIO data -/// that can be in-flight during read or write operations. +/// The file write message writes a certain length (up to 255 bytes) +/// of data to a file at a given offset. The message is a copy of the +/// original MSG_FILEIO_WRITE_REQ message to check integrity of the +/// write. The sequence number in the response is preserved from the +/// request. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgFileioConfigResp { +pub struct MsgFileioWriteResp { pub sender_id: Option, - /// Advice sequence number + /// Write sequence number pub sequence: u32, - /// The number of SBP packets in the data in-flight window - pub window_size: u32, - /// The number of SBP packets sent in one PDU - pub batch_size: u32, - /// The version of FileIO that is supported - pub fileio_version: u32, } -impl MsgFileioConfigResp { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgFileioConfigResp { +impl MsgFileioWriteResp { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgFileioWriteResp { sender_id: None, sequence: _buf.read_u32::()?, - window_size: _buf.read_u32::()?, - batch_size: _buf.read_u32::()?, - fileio_version: _buf.read_u32::()?, }) } } -impl super::SBPMessage for MsgFileioConfigResp { - const MSG_ID: u16 = 4098; +impl super::SBPMessage for MsgFileioWriteResp { + const MSG_ID: u16 = 171; fn get_sender_id(&self) -> Option { self.sender_id diff --git a/rust/sbp/src/messages/flash.rs b/rust/sbp/src/messages/flash.rs index f02a56c7b5..494015d12e 100644 --- a/rust/sbp/src/messages/flash.rs +++ b/rust/sbp/src/messages/flash.rs @@ -61,41 +61,36 @@ impl super::SBPMessage for MsgFlashDone { } } -/// Read STM or M25 flash address response (host <= device). +/// Erase sector of device flash memory (host => device). /// -/// The flash read message reads a set of addresses of either the -/// STM or M25 onboard flash. The device replies with a -/// MSG_FLASH_READ_RESP message containing either the read data on -/// success or a MSG_FLASH_DONE message containing the return code -/// FLASH_INVALID_LEN (2) if the maximum read size is exceeded or -/// FLASH_INVALID_ADDR (3) if the address is outside of the allowed -/// range. +/// The flash erase message from the host erases a sector of either +/// the STM or M25 onboard flash memory. The device will reply with a +/// MSG_FLASH_DONE message containing the return code - FLASH_OK (0) +/// on success or FLASH_INVALID_FLASH (1) if the flash specified is +/// invalid. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgFlashReadResp { +pub struct MsgFlashErase { pub sender_id: Option, /// Target flags pub target: u8, - /// Starting address offset to read from - pub addr_start: Vec, - /// Length of set of addresses to read, counting up from starting address - pub addr_len: u8, + /// Flash sector number to erase (0-11 for the STM, 0-15 for the M25) + pub sector_num: u32, } -impl MsgFlashReadResp { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgFlashReadResp { +impl MsgFlashErase { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgFlashErase { sender_id: None, target: _buf.read_u8()?, - addr_start: crate::parser::read_u8_array_limit(_buf, 3)?, - addr_len: _buf.read_u8()?, + sector_num: _buf.read_u32::()?, }) } } -impl super::SBPMessage for MsgFlashReadResp { - const MSG_ID: u16 = 225; +impl super::SBPMessage for MsgFlashErase { + const MSG_ID: u16 = 226; fn get_sender_id(&self) -> Option { self.sender_id @@ -106,36 +101,43 @@ impl super::SBPMessage for MsgFlashReadResp { } } -/// Erase sector of device flash memory (host => device). +/// Program flash addresses /// -/// The flash erase message from the host erases a sector of either -/// the STM or M25 onboard flash memory. The device will reply with a -/// MSG_FLASH_DONE message containing the return code - FLASH_OK (0) -/// on success or FLASH_INVALID_FLASH (1) if the flash specified is -/// invalid. +/// The flash program message programs a set of addresses of either +/// the STM or M25 flash. The device replies with either a +/// MSG_FLASH_DONE message containing the return code FLASH_OK (0) +/// on success, or FLASH_INVALID_LEN (2) if the maximum write size +/// is exceeded. Note that the sector-containing addresses must be +/// erased before addresses can be programmed. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgFlashErase { +pub struct MsgFlashProgram { pub sender_id: Option, /// Target flags pub target: u8, - /// Flash sector number to erase (0-11 for the STM, 0-15 for the M25) - pub sector_num: u32, + /// Starting address offset to program + pub addr_start: Vec, + /// Length of set of addresses to program, counting up from starting address + pub addr_len: u8, + /// Data to program addresses with, with length N=addr_len + pub data: Vec, } -impl MsgFlashErase { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgFlashErase { +impl MsgFlashProgram { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgFlashProgram { sender_id: None, target: _buf.read_u8()?, - sector_num: _buf.read_u32::()?, + addr_start: crate::parser::read_u8_array_limit(_buf, 3)?, + addr_len: _buf.read_u8()?, + data: crate::parser::read_u8_array(_buf)?, }) } } -impl super::SBPMessage for MsgFlashErase { - const MSG_ID: u16 = 226; +impl super::SBPMessage for MsgFlashProgram { + const MSG_ID: u16 = 230; fn get_sender_id(&self) -> Option { self.sender_id @@ -146,30 +148,41 @@ impl super::SBPMessage for MsgFlashErase { } } -/// Lock sector of STM flash memory (host => device) +/// Read STM or M25 flash address request (host => device). /// -/// The flash lock message locks a sector of the STM flash -/// memory. The device replies with a MSG_FLASH_DONE message. +/// The flash read message reads a set of addresses of either the +/// STM or M25 onboard flash. The device replies with a +/// MSG_FLASH_READ_RESP message containing either the read data on +/// success or a MSG_FLASH_DONE message containing the return code +/// FLASH_INVALID_LEN (2) if the maximum read size is exceeded or +/// FLASH_INVALID_ADDR (3) if the address is outside of the allowed +/// range. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgStmFlashLockSector { +pub struct MsgFlashReadReq { pub sender_id: Option, - /// Flash sector number to lock - pub sector: u32, + /// Target flags + pub target: u8, + /// Starting address offset to read from + pub addr_start: Vec, + /// Length of set of addresses to read, counting up from starting address + pub addr_len: u8, } -impl MsgStmFlashLockSector { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgStmFlashLockSector { +impl MsgFlashReadReq { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgFlashReadReq { sender_id: None, - sector: _buf.read_u32::()?, + target: _buf.read_u8()?, + addr_start: crate::parser::read_u8_array_limit(_buf, 3)?, + addr_len: _buf.read_u8()?, }) } } -impl super::SBPMessage for MsgStmFlashLockSector { - const MSG_ID: u16 = 227; +impl super::SBPMessage for MsgFlashReadReq { + const MSG_ID: u16 = 231; fn get_sender_id(&self) -> Option { self.sender_id @@ -180,30 +193,41 @@ impl super::SBPMessage for MsgStmFlashLockSector { } } -/// Unlock sector of STM flash memory (host => device) +/// Read STM or M25 flash address response (host <= device). /// -/// The flash unlock message unlocks a sector of the STM flash -/// memory. The device replies with a MSG_FLASH_DONE message. +/// The flash read message reads a set of addresses of either the +/// STM or M25 onboard flash. The device replies with a +/// MSG_FLASH_READ_RESP message containing either the read data on +/// success or a MSG_FLASH_DONE message containing the return code +/// FLASH_INVALID_LEN (2) if the maximum read size is exceeded or +/// FLASH_INVALID_ADDR (3) if the address is outside of the allowed +/// range. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgStmFlashUnlockSector { +pub struct MsgFlashReadResp { pub sender_id: Option, - /// Flash sector number to unlock - pub sector: u32, + /// Target flags + pub target: u8, + /// Starting address offset to read from + pub addr_start: Vec, + /// Length of set of addresses to read, counting up from starting address + pub addr_len: u8, } -impl MsgStmFlashUnlockSector { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgStmFlashUnlockSector { +impl MsgFlashReadResp { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgFlashReadResp { sender_id: None, - sector: _buf.read_u32::()?, + target: _buf.read_u8()?, + addr_start: crate::parser::read_u8_array_limit(_buf, 3)?, + addr_len: _buf.read_u8()?, }) } } -impl super::SBPMessage for MsgStmFlashUnlockSector { - const MSG_ID: u16 = 228; +impl super::SBPMessage for MsgFlashReadResp { + const MSG_ID: u16 = 225; fn get_sender_id(&self) -> Option { self.sender_id @@ -214,33 +238,30 @@ impl super::SBPMessage for MsgStmFlashUnlockSector { } } -/// Read device's hardcoded unique ID response (host <= device) - +/// Write M25 flash status register (host => device) /// -/// This message reads the device's hardcoded unique ID. The host -/// requests the ID by sending a MSG_STM_UNIQUE_ID_REQ. The device -/// responds with a MSG_STM_UNIQUE_ID_RESP with the 12-byte unique -/// ID in the payload.. +/// The flash status message writes to the 8-bit M25 flash status +/// register. The device replies with a MSG_FLASH_DONE message. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgStmUniqueIdResp { +pub struct MsgM25FlashWriteStatus { pub sender_id: Option, - /// Device unique ID - pub stm_id: Vec, + /// Byte to write to the M25 flash status register + pub status: Vec, } -impl MsgStmUniqueIdResp { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgStmUniqueIdResp { +impl MsgM25FlashWriteStatus { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgM25FlashWriteStatus { sender_id: None, - stm_id: crate::parser::read_u8_array_limit(_buf, 12)?, + status: crate::parser::read_u8_array_limit(_buf, 1)?, }) } } -impl super::SBPMessage for MsgStmUniqueIdResp { - const MSG_ID: u16 = 229; +impl super::SBPMessage for MsgM25FlashWriteStatus { + const MSG_ID: u16 = 243; fn get_sender_id(&self) -> Option { self.sender_id @@ -251,43 +272,30 @@ impl super::SBPMessage for MsgStmUniqueIdResp { } } -/// Program flash addresses +/// Lock sector of STM flash memory (host => device) /// -/// The flash program message programs a set of addresses of either -/// the STM or M25 flash. The device replies with either a -/// MSG_FLASH_DONE message containing the return code FLASH_OK (0) -/// on success, or FLASH_INVALID_LEN (2) if the maximum write size -/// is exceeded. Note that the sector-containing addresses must be -/// erased before addresses can be programmed. +/// The flash lock message locks a sector of the STM flash +/// memory. The device replies with a MSG_FLASH_DONE message. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgFlashProgram { +pub struct MsgStmFlashLockSector { pub sender_id: Option, - /// Target flags - pub target: u8, - /// Starting address offset to program - pub addr_start: Vec, - /// Length of set of addresses to program, counting up from starting address - pub addr_len: u8, - /// Data to program addresses with, with length N=addr_len - pub data: Vec, + /// Flash sector number to lock + pub sector: u32, } -impl MsgFlashProgram { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgFlashProgram { +impl MsgStmFlashLockSector { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgStmFlashLockSector { sender_id: None, - target: _buf.read_u8()?, - addr_start: crate::parser::read_u8_array_limit(_buf, 3)?, - addr_len: _buf.read_u8()?, - data: crate::parser::read_u8_array(_buf)?, + sector: _buf.read_u32::()?, }) } } -impl super::SBPMessage for MsgFlashProgram { - const MSG_ID: u16 = 230; +impl super::SBPMessage for MsgStmFlashLockSector { + const MSG_ID: u16 = 227; fn get_sender_id(&self) -> Option { self.sender_id @@ -298,41 +306,30 @@ impl super::SBPMessage for MsgFlashProgram { } } -/// Read STM or M25 flash address request (host => device). +/// Unlock sector of STM flash memory (host => device) /// -/// The flash read message reads a set of addresses of either the -/// STM or M25 onboard flash. The device replies with a -/// MSG_FLASH_READ_RESP message containing either the read data on -/// success or a MSG_FLASH_DONE message containing the return code -/// FLASH_INVALID_LEN (2) if the maximum read size is exceeded or -/// FLASH_INVALID_ADDR (3) if the address is outside of the allowed -/// range. +/// The flash unlock message unlocks a sector of the STM flash +/// memory. The device replies with a MSG_FLASH_DONE message. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgFlashReadReq { +pub struct MsgStmFlashUnlockSector { pub sender_id: Option, - /// Target flags - pub target: u8, - /// Starting address offset to read from - pub addr_start: Vec, - /// Length of set of addresses to read, counting up from starting address - pub addr_len: u8, + /// Flash sector number to unlock + pub sector: u32, } -impl MsgFlashReadReq { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgFlashReadReq { +impl MsgStmFlashUnlockSector { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgStmFlashUnlockSector { sender_id: None, - target: _buf.read_u8()?, - addr_start: crate::parser::read_u8_array_limit(_buf, 3)?, - addr_len: _buf.read_u8()?, + sector: _buf.read_u32::()?, }) } } -impl super::SBPMessage for MsgFlashReadReq { - const MSG_ID: u16 = 231; +impl super::SBPMessage for MsgStmFlashUnlockSector { + const MSG_ID: u16 = 228; fn get_sender_id(&self) -> Option { self.sender_id @@ -375,30 +372,33 @@ impl super::SBPMessage for MsgStmUniqueIdReq { } } -/// Write M25 flash status register (host => device) +/// Read device's hardcoded unique ID response (host <= device) + /// -/// The flash status message writes to the 8-bit M25 flash status -/// register. The device replies with a MSG_FLASH_DONE message. +/// This message reads the device's hardcoded unique ID. The host +/// requests the ID by sending a MSG_STM_UNIQUE_ID_REQ. The device +/// responds with a MSG_STM_UNIQUE_ID_RESP with the 12-byte unique +/// ID in the payload.. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgM25FlashWriteStatus { +pub struct MsgStmUniqueIdResp { pub sender_id: Option, - /// Byte to write to the M25 flash status register - pub status: Vec, + /// Device unique ID + pub stm_id: Vec, } -impl MsgM25FlashWriteStatus { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgM25FlashWriteStatus { +impl MsgStmUniqueIdResp { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgStmUniqueIdResp { sender_id: None, - status: crate::parser::read_u8_array_limit(_buf, 1)?, + stm_id: crate::parser::read_u8_array_limit(_buf, 12)?, }) } } -impl super::SBPMessage for MsgM25FlashWriteStatus { - const MSG_ID: u16 = 243; +impl super::SBPMessage for MsgStmUniqueIdResp { + const MSG_ID: u16 = 229; fn get_sender_id(&self) -> Option { self.sender_id diff --git a/rust/sbp/src/messages/gnss.rs b/rust/sbp/src/messages/gnss.rs index 076228f140..4b5c98e914 100644 --- a/rust/sbp/src/messages/gnss.rs +++ b/rust/sbp/src/messages/gnss.rs @@ -20,125 +20,87 @@ use self::byteorder::{LittleEndian, ReadBytesExt}; #[cfg(feature = "serialize")] use serde::{Deserialize, Serialize}; -/// Represents all the relevant information about the signal -/// -/// Signal identifier containing constellation, band, and satellite identifier -/// -#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] -#[derive(Debug)] -#[allow(non_snake_case)] -pub struct GnssSignal { - /// Constellation-specific satellite identifier. This field for Glonass can - /// either be (100+FCN) where FCN is in [-7,+6] or the Slot ID in [1,28] - pub sat: u8, - /// Signal constellation, band and code - pub code: u8, -} - -impl GnssSignal { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(GnssSignal { - sat: _buf.read_u8()?, - code: _buf.read_u8()?, - }) - } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { - let mut v = Vec::new(); - while buf.len() > 0 { - v.push(GnssSignal::parse(buf)?); - } - Ok(v) - } - - pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { - let mut v = Vec::new(); - for _ in 0..n { - v.push(GnssSignal::parse(buf)?); - } - Ok(v) - } -} - -/// Space vehicle identifier +/// GNSS carrier phase measurement. /// -/// A (Constellation ID, satellite ID) tuple that uniquely identifies -/// a space vehicle +/// Carrier phase measurement in cycles represented as a 40-bit +/// fixed point number with Q32.8 layout, i.e. 32-bits of whole +/// cycles and 8-bits of fractional cycles. This phase has the +/// same sign as the pseudorange. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct SvId { - /// ID of the space vehicle within its constellation - pub satId: u8, - /// Constellation ID to which the SV belongs - pub constellation: u8, +pub struct CarrierPhase { + /// Carrier phase whole cycles + pub i: i32, + /// Carrier phase fractional part + pub f: u8, } -impl SvId { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(SvId { - satId: _buf.read_u8()?, - constellation: _buf.read_u8()?, +impl CarrierPhase { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(CarrierPhase { + i: _buf.read_i32::()?, + f: _buf.read_u8()?, }) } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { let mut v = Vec::new(); while buf.len() > 0 { - v.push(SvId::parse(buf)?); + v.push(CarrierPhase::parse(buf)?); } Ok(v) } - pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { + pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { let mut v = Vec::new(); for _ in 0..n { - v.push(SvId::parse(buf)?); + v.push(CarrierPhase::parse(buf)?); } Ok(v) } } -/// Deprecated +/// Nanosecond-accurate receiver clock time /// -/// Deprecated. +/// A wire-appropriate receiver clock time, defined as the time +/// since the beginning of the week on the Saturday/Sunday +/// transition. In most cases, observations are epoch aligned +/// so ns field will be 0. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct GnssSignalDep { - /// Constellation-specific satellite identifier. Note: unlike GnssSignal, - /// GPS satellites are encoded as (PRN - 1). Other constellations do not - /// have this offset. - pub sat: u16, - /// Signal constellation, band and code - pub code: u8, - /// Reserved - pub reserved: u8, +pub struct GPSTime { + /// Milliseconds since start of GPS week + pub tow: u32, + /// Nanosecond residual of millisecond-rounded TOW (ranges from -500000 to + /// 500000) + pub ns_residual: i32, + /// GPS week number + pub wn: u16, } -impl GnssSignalDep { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(GnssSignalDep { - sat: _buf.read_u16::()?, - code: _buf.read_u8()?, - reserved: _buf.read_u8()?, +impl GPSTime { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(GPSTime { + tow: _buf.read_u32::()?, + ns_residual: _buf.read_i32::()?, + wn: _buf.read_u16::()?, }) } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { let mut v = Vec::new(); while buf.len() > 0 { - v.push(GnssSignalDep::parse(buf)?); + v.push(GPSTime::parse(buf)?); } Ok(v) } - pub fn parse_array_limit( - buf: &mut &[u8], - n: usize, - ) -> Result, crate::Error> { + pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { let mut v = Vec::new(); for _ in 0..n { - v.push(GnssSignalDep::parse(buf)?); + v.push(GPSTime::parse(buf)?); } Ok(v) } @@ -224,87 +186,125 @@ impl GPSTimeSec { } } -/// Nanosecond-accurate receiver clock time +/// Represents all the relevant information about the signal /// -/// A wire-appropriate receiver clock time, defined as the time -/// since the beginning of the week on the Saturday/Sunday -/// transition. In most cases, observations are epoch aligned -/// so ns field will be 0. +/// Signal identifier containing constellation, band, and satellite identifier /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct GPSTime { - /// Milliseconds since start of GPS week - pub tow: u32, - /// Nanosecond residual of millisecond-rounded TOW (ranges from -500000 to - /// 500000) - pub ns_residual: i32, - /// GPS week number - pub wn: u16, +pub struct GnssSignal { + /// Constellation-specific satellite identifier. This field for Glonass can + /// either be (100+FCN) where FCN is in [-7,+6] or the Slot ID in [1,28] + pub sat: u8, + /// Signal constellation, band and code + pub code: u8, } -impl GPSTime { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(GPSTime { - tow: _buf.read_u32::()?, - ns_residual: _buf.read_i32::()?, - wn: _buf.read_u16::()?, +impl GnssSignal { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(GnssSignal { + sat: _buf.read_u8()?, + code: _buf.read_u8()?, }) } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { let mut v = Vec::new(); while buf.len() > 0 { - v.push(GPSTime::parse(buf)?); + v.push(GnssSignal::parse(buf)?); } Ok(v) } - pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { + pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { let mut v = Vec::new(); for _ in 0..n { - v.push(GPSTime::parse(buf)?); + v.push(GnssSignal::parse(buf)?); } Ok(v) } } -/// GNSS carrier phase measurement. +/// Deprecated /// -/// Carrier phase measurement in cycles represented as a 40-bit -/// fixed point number with Q32.8 layout, i.e. 32-bits of whole -/// cycles and 8-bits of fractional cycles. This phase has the -/// same sign as the pseudorange. +/// Deprecated. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct CarrierPhase { - /// Carrier phase whole cycles - pub i: i32, - /// Carrier phase fractional part - pub f: u8, +pub struct GnssSignalDep { + /// Constellation-specific satellite identifier. Note: unlike GnssSignal, + /// GPS satellites are encoded as (PRN - 1). Other constellations do not + /// have this offset. + pub sat: u16, + /// Signal constellation, band and code + pub code: u8, + /// Reserved + pub reserved: u8, } -impl CarrierPhase { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(CarrierPhase { - i: _buf.read_i32::()?, - f: _buf.read_u8()?, +impl GnssSignalDep { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(GnssSignalDep { + sat: _buf.read_u16::()?, + code: _buf.read_u8()?, + reserved: _buf.read_u8()?, }) } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { let mut v = Vec::new(); while buf.len() > 0 { - v.push(CarrierPhase::parse(buf)?); + v.push(GnssSignalDep::parse(buf)?); } Ok(v) } - pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { + pub fn parse_array_limit( + buf: &mut &[u8], + n: usize, + ) -> Result, crate::Error> { let mut v = Vec::new(); for _ in 0..n { - v.push(CarrierPhase::parse(buf)?); + v.push(GnssSignalDep::parse(buf)?); + } + Ok(v) + } +} + +/// Space vehicle identifier +/// +/// A (Constellation ID, satellite ID) tuple that uniquely identifies +/// a space vehicle +/// +#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] +#[derive(Debug)] +#[allow(non_snake_case)] +pub struct SvId { + /// ID of the space vehicle within its constellation + pub satId: u8, + /// Constellation ID to which the SV belongs + pub constellation: u8, +} + +impl SvId { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(SvId { + satId: _buf.read_u8()?, + constellation: _buf.read_u8()?, + }) + } + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + let mut v = Vec::new(); + while buf.len() > 0 { + v.push(SvId::parse(buf)?); + } + Ok(v) + } + + pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { + let mut v = Vec::new(); + for _ in 0..n { + v.push(SvId::parse(buf)?); } Ok(v) } diff --git a/rust/sbp/src/messages/imu.rs b/rust/sbp/src/messages/imu.rs index fe105f9feb..ffbcdb1de9 100644 --- a/rust/sbp/src/messages/imu.rs +++ b/rust/sbp/src/messages/imu.rs @@ -20,6 +20,47 @@ use self::byteorder::{LittleEndian, ReadBytesExt}; #[cfg(feature = "serialize")] use serde::{Deserialize, Serialize}; +/// Auxiliary IMU data +/// +/// Auxiliary data specific to a particular IMU. The `imu_type` field will +/// always be consistent but the rest of the payload is device specific and +/// depends on the value of `imu_type`. +/// +#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] +#[derive(Debug)] +#[allow(non_snake_case)] +pub struct MsgImuAux { + pub sender_id: Option, + /// IMU type + pub imu_type: u8, + /// Raw IMU temperature + pub temp: i16, + /// IMU configuration + pub imu_conf: u8, +} + +impl MsgImuAux { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgImuAux { + sender_id: None, + imu_type: _buf.read_u8()?, + temp: _buf.read_i16::()?, + imu_conf: _buf.read_u8()?, + }) + } +} +impl super::SBPMessage for MsgImuAux { + const MSG_ID: u16 = 2305; + + fn get_sender_id(&self) -> Option { + self.sender_id + } + + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); + } +} + /// Raw IMU data /// /// Raw data from the Inertial Measurement Unit, containing accelerometer and @@ -77,44 +118,3 @@ impl super::SBPMessage for MsgImuRaw { self.sender_id = Some(new_id); } } - -/// Auxiliary IMU data -/// -/// Auxiliary data specific to a particular IMU. The `imu_type` field will -/// always be consistent but the rest of the payload is device specific and -/// depends on the value of `imu_type`. -/// -#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] -#[derive(Debug)] -#[allow(non_snake_case)] -pub struct MsgImuAux { - pub sender_id: Option, - /// IMU type - pub imu_type: u8, - /// Raw IMU temperature - pub temp: i16, - /// IMU configuration - pub imu_conf: u8, -} - -impl MsgImuAux { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgImuAux { - sender_id: None, - imu_type: _buf.read_u8()?, - temp: _buf.read_i16::()?, - imu_conf: _buf.read_u8()?, - }) - } -} -impl super::SBPMessage for MsgImuAux { - const MSG_ID: u16 = 2305; - - fn get_sender_id(&self) -> Option { - self.sender_id - } - - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); - } -} diff --git a/rust/sbp/src/messages/linux.rs b/rust/sbp/src/messages/linux.rs index 16c44fe909..ab900c2eb3 100644 --- a/rust/sbp/src/messages/linux.rs +++ b/rust/sbp/src/messages/linux.rs @@ -113,44 +113,78 @@ impl super::SBPMessage for MsgLinuxMemState { } } -/// CPU, Memory and Process Starts/Stops +/// Summary of processes with large amounts of open file descriptors /// -/// This presents a summary of CPU and memory utilization. +/// Top 10 list of processes with a large number of open file descriptors. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgLinuxSysState { +pub struct MsgLinuxProcessFdCount { pub sender_id: Option, - /// total system memory - pub mem_total: u16, - /// percent of total cpu currently utilized - pub pcpu: u8, - /// percent of total memory currently utilized - pub pmem: u8, - /// number of processes that started during collection phase - pub procs_starting: u16, - /// number of processes that stopped during collection phase - pub procs_stopping: u16, - /// the count of processes on the system - pub pid_count: u16, + /// sequence of this status message, values from 0-9 + pub index: u8, + /// the PID of the process in question + pub pid: u16, + /// a count of the number of file descriptors opened by the process + pub fd_count: u16, + /// the command line of the process in question + pub cmdline: String, } -impl MsgLinuxSysState { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgLinuxSysState { +impl MsgLinuxProcessFdCount { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgLinuxProcessFdCount { sender_id: None, - mem_total: _buf.read_u16::()?, - pcpu: _buf.read_u8()?, - pmem: _buf.read_u8()?, - procs_starting: _buf.read_u16::()?, - procs_stopping: _buf.read_u16::()?, - pid_count: _buf.read_u16::()?, + index: _buf.read_u8()?, + pid: _buf.read_u16::()?, + fd_count: _buf.read_u16::()?, + cmdline: crate::parser::read_string(_buf)?, }) } } -impl super::SBPMessage for MsgLinuxSysState { - const MSG_ID: u16 = 32514; +impl super::SBPMessage for MsgLinuxProcessFdCount { + const MSG_ID: u16 = 32518; + + fn get_sender_id(&self) -> Option { + self.sender_id + } + + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); + } +} + +/// Summary of open file descriptors on the system +/// +/// Summary of open file descriptors on the system. +/// +#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] +#[derive(Debug)] +#[allow(non_snake_case)] +pub struct MsgLinuxProcessFdSummary { + pub sender_id: Option, + /// count of total FDs open on the system + pub sys_fd_count: u32, + /// A null delimited list of strings which alternates between a string + /// representation of the process count and the file name whose count it + /// being reported. That is, in C string syntax + /// "32\0/var/log/syslog\012\0/tmp/foo\0" with the end of the list being 2 + /// NULL terminators in a row. + pub most_opened: String, +} + +impl MsgLinuxProcessFdSummary { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgLinuxProcessFdSummary { + sender_id: None, + sys_fd_count: _buf.read_u32::()?, + most_opened: crate::parser::read_string(_buf)?, + }) + } +} +impl super::SBPMessage for MsgLinuxProcessFdSummary { + const MSG_ID: u16 = 32519; fn get_sender_id(&self) -> Option { self.sender_id @@ -318,78 +352,44 @@ impl super::SBPMessage for MsgLinuxSocketUsage { } } -/// Summary of processes with large amounts of open file descriptors -/// -/// Top 10 list of processes with a large number of open file descriptors. -/// -#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] -#[derive(Debug)] -#[allow(non_snake_case)] -pub struct MsgLinuxProcessFdCount { - pub sender_id: Option, - /// sequence of this status message, values from 0-9 - pub index: u8, - /// the PID of the process in question - pub pid: u16, - /// a count of the number of file descriptors opened by the process - pub fd_count: u16, - /// the command line of the process in question - pub cmdline: String, -} - -impl MsgLinuxProcessFdCount { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgLinuxProcessFdCount { - sender_id: None, - index: _buf.read_u8()?, - pid: _buf.read_u16::()?, - fd_count: _buf.read_u16::()?, - cmdline: crate::parser::read_string(_buf)?, - }) - } -} -impl super::SBPMessage for MsgLinuxProcessFdCount { - const MSG_ID: u16 = 32518; - - fn get_sender_id(&self) -> Option { - self.sender_id - } - - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); - } -} - -/// Summary of open file descriptors on the system +/// CPU, Memory and Process Starts/Stops /// -/// Summary of open file descriptors on the system. +/// This presents a summary of CPU and memory utilization. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgLinuxProcessFdSummary { +pub struct MsgLinuxSysState { pub sender_id: Option, - /// count of total FDs open on the system - pub sys_fd_count: u32, - /// A null delimited list of strings which alternates between a string - /// representation of the process count and the file name whose count it - /// being reported. That is, in C string syntax - /// "32\0/var/log/syslog\012\0/tmp/foo\0" with the end of the list being 2 - /// NULL terminators in a row. - pub most_opened: String, + /// total system memory + pub mem_total: u16, + /// percent of total cpu currently utilized + pub pcpu: u8, + /// percent of total memory currently utilized + pub pmem: u8, + /// number of processes that started during collection phase + pub procs_starting: u16, + /// number of processes that stopped during collection phase + pub procs_stopping: u16, + /// the count of processes on the system + pub pid_count: u16, } -impl MsgLinuxProcessFdSummary { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgLinuxProcessFdSummary { +impl MsgLinuxSysState { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgLinuxSysState { sender_id: None, - sys_fd_count: _buf.read_u32::()?, - most_opened: crate::parser::read_string(_buf)?, + mem_total: _buf.read_u16::()?, + pcpu: _buf.read_u8()?, + pmem: _buf.read_u8()?, + procs_starting: _buf.read_u16::()?, + procs_stopping: _buf.read_u16::()?, + pid_count: _buf.read_u16::()?, }) } } -impl super::SBPMessage for MsgLinuxProcessFdSummary { - const MSG_ID: u16 = 32519; +impl super::SBPMessage for MsgLinuxSysState { + const MSG_ID: u16 = 32514; fn get_sender_id(&self) -> Option { self.sender_id diff --git a/rust/sbp/src/messages/logging.rs b/rust/sbp/src/messages/logging.rs index bd800ed18b..a722cd7708 100644 --- a/rust/sbp/src/messages/logging.rs +++ b/rust/sbp/src/messages/logging.rs @@ -21,29 +21,41 @@ use self::byteorder::{LittleEndian, ReadBytesExt}; #[cfg(feature = "serialize")] use serde::{Deserialize, Serialize}; -/// Deprecated +/// Wrapper for FWD a separate stream of information over SBP /// -/// Deprecated. +/// This message provides the ability to forward messages over SBP. This may take the form +/// of wrapping up SBP messages received by Piksi for logging purposes or wrapping +/// another protocol with SBP. +/// +/// The source identifier indicates from what interface a forwarded stream derived. +/// The protocol identifier identifies what the expected protocol the forwarded msg contains. +/// Protocol 0 represents SBP and the remaining values are implementation defined. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgPrintDep { +pub struct MsgFwd { pub sender_id: Option, - /// Human-readable string - pub text: String, + /// source identifier + pub source: u8, + /// protocol identifier + pub protocol: u8, + /// variable length wrapped binary message + pub fwd_payload: String, } -impl MsgPrintDep { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgPrintDep { +impl MsgFwd { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgFwd { sender_id: None, - text: crate::parser::read_string(_buf)?, + source: _buf.read_u8()?, + protocol: _buf.read_u8()?, + fwd_payload: crate::parser::read_string(_buf)?, }) } } -impl super::SBPMessage for MsgPrintDep { - const MSG_ID: u16 = 16; +impl super::SBPMessage for MsgFwd { + const MSG_ID: u16 = 1026; fn get_sender_id(&self) -> Option { self.sender_id @@ -92,41 +104,29 @@ impl super::SBPMessage for MsgLog { } } -/// Wrapper for FWD a separate stream of information over SBP -/// -/// This message provides the ability to forward messages over SBP. This may take the form -/// of wrapping up SBP messages received by Piksi for logging purposes or wrapping -/// another protocol with SBP. +/// Deprecated /// -/// The source identifier indicates from what interface a forwarded stream derived. -/// The protocol identifier identifies what the expected protocol the forwarded msg contains. -/// Protocol 0 represents SBP and the remaining values are implementation defined. +/// Deprecated. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgFwd { +pub struct MsgPrintDep { pub sender_id: Option, - /// source identifier - pub source: u8, - /// protocol identifier - pub protocol: u8, - /// variable length wrapped binary message - pub fwd_payload: String, + /// Human-readable string + pub text: String, } -impl MsgFwd { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgFwd { +impl MsgPrintDep { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgPrintDep { sender_id: None, - source: _buf.read_u8()?, - protocol: _buf.read_u8()?, - fwd_payload: crate::parser::read_string(_buf)?, + text: crate::parser::read_string(_buf)?, }) } } -impl super::SBPMessage for MsgFwd { - const MSG_ID: u16 = 1026; +impl super::SBPMessage for MsgPrintDep { + const MSG_ID: u16 = 16; fn get_sender_id(&self) -> Option { self.sender_id diff --git a/rust/sbp/src/messages/navigation.rs b/rust/sbp/src/messages/navigation.rs index 0f2c94539f..9714d97fc1 100644 --- a/rust/sbp/src/messages/navigation.rs +++ b/rust/sbp/src/messages/navigation.rs @@ -38,51 +38,33 @@ use self::byteorder::{LittleEndian, ReadBytesExt}; #[cfg(feature = "serialize")] use serde::{Deserialize, Serialize}; -/// GPS Time (v1.0) -/// -/// This message reports the GPS time, representing the time since -/// the GPS epoch began on midnight January 6, 1980 UTC. GPS time -/// counts the weeks and seconds of the week. The weeks begin at the -/// Saturday/Sunday transition. GPS week 0 began at the beginning of -/// the GPS time scale. +/// Age of corrections /// -/// Within each week number, the GPS time of the week is between -/// between 0 and 604800 seconds (=60*60*24*7). Note that GPS time -/// does not accumulate leap seconds, and as of now, has a small -/// offset from UTC. In a message stream, this message precedes a -/// set of other navigation messages referenced to the same time -/// (but lacking the ns field) and indicates a more precise time of -/// these messages. +/// This message reports the Age of the corrections used for the current +/// Differential solution /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgGPSTimeDepA { +pub struct MsgAgeCorrections { pub sender_id: Option, - /// GPS week number - pub wn: u16, - /// GPS time of week rounded to the nearest millisecond + /// GPS Time of Week pub tow: u32, - /// Nanosecond residual of millisecond-rounded TOW (ranges from -500000 to - /// 500000) - pub ns_residual: i32, - /// Status flags (reserved) - pub flags: u8, + /// Age of the corrections (0xFFFF indicates invalid) + pub age: u16, } -impl MsgGPSTimeDepA { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgGPSTimeDepA { +impl MsgAgeCorrections { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgAgeCorrections { sender_id: None, - wn: _buf.read_u16::()?, tow: _buf.read_u32::()?, - ns_residual: _buf.read_i32::()?, - flags: _buf.read_u8()?, + age: _buf.read_u16::()?, }) } } -impl super::SBPMessage for MsgGPSTimeDepA { - const MSG_ID: u16 = 256; +impl super::SBPMessage for MsgAgeCorrections { + const MSG_ID: u16 = 528; fn get_sender_id(&self) -> Option { self.sender_id @@ -93,51 +75,51 @@ impl super::SBPMessage for MsgGPSTimeDepA { } } -/// GPS Time -/// -/// This message reports the GPS time, representing the time since -/// the GPS epoch began on midnight January 6, 1980 UTC. GPS time -/// counts the weeks and seconds of the week. The weeks begin at the -/// Saturday/Sunday transition. GPS week 0 began at the beginning of -/// the GPS time scale. +/// Baseline Position in ECEF /// -/// Within each week number, the GPS time of the week is between -/// between 0 and 604800 seconds (=60*60*24*7). Note that GPS time -/// does not accumulate leap seconds, and as of now, has a small -/// offset from UTC. In a message stream, this message precedes a -/// set of other navigation messages referenced to the same time -/// (but lacking the ns field) and indicates a more precise time of -/// these messages. +/// This message reports the baseline solution in Earth Centered +/// Earth Fixed (ECEF) coordinates. This baseline is the relative +/// vector distance from the base station to the rover receiver. The +/// full GPS time is given by the preceding MSG_GPS_TIME with the +/// matching time-of-week (tow). /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgGPSTime { +pub struct MsgBaselineECEF { pub sender_id: Option, - /// GPS week number - pub wn: u16, - /// GPS time of week rounded to the nearest millisecond + /// GPS Time of Week pub tow: u32, - /// Nanosecond residual of millisecond-rounded TOW (ranges from -500000 to - /// 500000) - pub ns_residual: i32, - /// Status flags (reserved) + /// Baseline ECEF X coordinate + pub x: i32, + /// Baseline ECEF Y coordinate + pub y: i32, + /// Baseline ECEF Z coordinate + pub z: i32, + /// Position estimated standard deviation + pub accuracy: u16, + /// Number of satellites used in solution + pub n_sats: u8, + /// Status flags pub flags: u8, } -impl MsgGPSTime { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgGPSTime { +impl MsgBaselineECEF { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgBaselineECEF { sender_id: None, - wn: _buf.read_u16::()?, tow: _buf.read_u32::()?, - ns_residual: _buf.read_i32::()?, + x: _buf.read_i32::()?, + y: _buf.read_i32::()?, + z: _buf.read_i32::()?, + accuracy: _buf.read_u16::()?, + n_sats: _buf.read_u8()?, flags: _buf.read_u8()?, }) } } -impl super::SBPMessage for MsgGPSTime { - const MSG_ID: u16 = 258; +impl super::SBPMessage for MsgBaselineECEF { + const MSG_ID: u16 = 523; fn get_sender_id(&self) -> Option { self.sender_id @@ -148,54 +130,51 @@ impl super::SBPMessage for MsgGPSTime { } } -/// UTC Time +/// Baseline Position in ECEF /// -/// This message reports the Universal Coordinated Time (UTC). Note the flags -/// which indicate the source of the UTC offset value and source of the time fix. +/// This message reports the baseline solution in Earth Centered +/// Earth Fixed (ECEF) coordinates. This baseline is the relative +/// vector distance from the base station to the rover receiver. The +/// full GPS time is given by the preceding MSG_GPS_TIME with the +/// matching time-of-week (tow). /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgUtcTime { +pub struct MsgBaselineECEFDepA { pub sender_id: Option, - /// Indicates source and time validity - pub flags: u8, - /// GPS time of week rounded to the nearest millisecond + /// GPS Time of Week pub tow: u32, - /// Year - pub year: u16, - /// Month (range 1 .. 12) - pub month: u8, - /// days in the month (range 1-31) - pub day: u8, - /// hours of day (range 0-23) - pub hours: u8, - /// minutes of hour (range 0-59) - pub minutes: u8, - /// seconds of minute (range 0-60) rounded down - pub seconds: u8, - /// nanoseconds of second (range 0-999999999) - pub ns: u32, + /// Baseline ECEF X coordinate + pub x: i32, + /// Baseline ECEF Y coordinate + pub y: i32, + /// Baseline ECEF Z coordinate + pub z: i32, + /// Position accuracy estimate + pub accuracy: u16, + /// Number of satellites used in solution + pub n_sats: u8, + /// Status flags + pub flags: u8, } -impl MsgUtcTime { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgUtcTime { +impl MsgBaselineECEFDepA { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgBaselineECEFDepA { sender_id: None, - flags: _buf.read_u8()?, tow: _buf.read_u32::()?, - year: _buf.read_u16::()?, - month: _buf.read_u8()?, - day: _buf.read_u8()?, - hours: _buf.read_u8()?, - minutes: _buf.read_u8()?, - seconds: _buf.read_u8()?, - ns: _buf.read_u32::()?, + x: _buf.read_i32::()?, + y: _buf.read_i32::()?, + z: _buf.read_i32::()?, + accuracy: _buf.read_u16::()?, + n_sats: _buf.read_u8()?, + flags: _buf.read_u8()?, }) } } -impl super::SBPMessage for MsgUtcTime { - const MSG_ID: u16 = 259; +impl super::SBPMessage for MsgBaselineECEFDepA { + const MSG_ID: u16 = 514; fn get_sender_id(&self) -> Option { self.sender_id @@ -206,54 +185,40 @@ impl super::SBPMessage for MsgUtcTime { } } -/// Single-point position in ECEF +/// Heading relative to True North /// -/// The position solution message reports absolute Earth Centered -/// Earth Fixed (ECEF) coordinates and the status (single point vs -/// pseudo-absolute RTK) of the position solution. If the rover -/// receiver knows the surveyed position of the base station and has -/// an RTK solution, this reports a pseudo-absolute position -/// solution using the base station position and the rover's RTK -/// baseline vector. The full GPS time is given by the preceding -/// MSG_GPS_TIME with the matching time-of-week (tow). +/// This message reports the baseline heading pointing from the base station +/// to the rover relative to True North. The full GPS time is given by the +/// preceding MSG_GPS_TIME with the matching time-of-week (tow). /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgPosECEFDepA { +pub struct MsgBaselineHeadingDepA { pub sender_id: Option, /// GPS Time of Week pub tow: u32, - /// ECEF X coordinate - pub x: f64, - /// ECEF Y coordinate - pub y: f64, - /// ECEF Z coordinate - pub z: f64, - /// Position accuracy estimate (not implemented). Defaults to 0. - pub accuracy: u16, + /// Heading + pub heading: u32, /// Number of satellites used in solution pub n_sats: u8, /// Status flags pub flags: u8, } -impl MsgPosECEFDepA { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgPosECEFDepA { +impl MsgBaselineHeadingDepA { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgBaselineHeadingDepA { sender_id: None, tow: _buf.read_u32::()?, - x: _buf.read_f64::()?, - y: _buf.read_f64::()?, - z: _buf.read_f64::()?, - accuracy: _buf.read_u16::()?, + heading: _buf.read_u32::()?, n_sats: _buf.read_u8()?, flags: _buf.read_u8()?, }) } } -impl super::SBPMessage for MsgPosECEFDepA { - const MSG_ID: u16 = 512; +impl super::SBPMessage for MsgBaselineHeadingDepA { + const MSG_ID: u16 = 519; fn get_sender_id(&self) -> Option { self.sender_id @@ -264,48 +229,46 @@ impl super::SBPMessage for MsgPosECEFDepA { } } -/// Geodetic Position +/// Baseline in NED /// -/// This position solution message reports the absolute geodetic -/// coordinates and the status (single point vs pseudo-absolute RTK) -/// of the position solution. If the rover receiver knows the -/// surveyed position of the base station and has an RTK solution, -/// this reports a pseudo-absolute position solution using the base -/// station position and the rover's RTK baseline vector. The full -/// GPS time is given by the preceding MSG_GPS_TIME with the -/// matching time-of-week (tow). +/// This message reports the baseline solution in North East Down +/// (NED) coordinates. This baseline is the relative vector distance +/// from the base station to the rover receiver, and NED coordinate +/// system is defined at the local WGS84 tangent plane centered at the +/// base station position. The full GPS time is given by the +/// preceding MSG_GPS_TIME with the matching time-of-week (tow). /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgPosLLHDepA { +pub struct MsgBaselineNED { pub sender_id: Option, /// GPS Time of Week pub tow: u32, - /// Latitude - pub lat: f64, - /// Longitude - pub lon: f64, - /// Height - pub height: f64, - /// Horizontal position accuracy estimate (not implemented). Defaults to 0. + /// Baseline North coordinate + pub n: i32, + /// Baseline East coordinate + pub e: i32, + /// Baseline Down coordinate + pub d: i32, + /// Horizontal position estimated standard deviation pub h_accuracy: u16, - /// Vertical position accuracy estimate (not implemented). Defaults to 0. + /// Vertical position estimated standard deviation pub v_accuracy: u16, - /// Number of satellites used in solution. + /// Number of satellites used in solution pub n_sats: u8, /// Status flags pub flags: u8, } -impl MsgPosLLHDepA { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgPosLLHDepA { +impl MsgBaselineNED { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgBaselineNED { sender_id: None, tow: _buf.read_u32::()?, - lat: _buf.read_f64::()?, - lon: _buf.read_f64::()?, - height: _buf.read_f64::()?, + n: _buf.read_i32::()?, + e: _buf.read_i32::()?, + d: _buf.read_i32::()?, h_accuracy: _buf.read_u16::()?, v_accuracy: _buf.read_u16::()?, n_sats: _buf.read_u8()?, @@ -313,63 +276,8 @@ impl MsgPosLLHDepA { }) } } -impl super::SBPMessage for MsgPosLLHDepA { - const MSG_ID: u16 = 513; - - fn get_sender_id(&self) -> Option { - self.sender_id - } - - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); - } -} - -/// Baseline Position in ECEF -/// -/// This message reports the baseline solution in Earth Centered -/// Earth Fixed (ECEF) coordinates. This baseline is the relative -/// vector distance from the base station to the rover receiver. The -/// full GPS time is given by the preceding MSG_GPS_TIME with the -/// matching time-of-week (tow). -/// -#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] -#[derive(Debug)] -#[allow(non_snake_case)] -pub struct MsgBaselineECEFDepA { - pub sender_id: Option, - /// GPS Time of Week - pub tow: u32, - /// Baseline ECEF X coordinate - pub x: i32, - /// Baseline ECEF Y coordinate - pub y: i32, - /// Baseline ECEF Z coordinate - pub z: i32, - /// Position accuracy estimate - pub accuracy: u16, - /// Number of satellites used in solution - pub n_sats: u8, - /// Status flags - pub flags: u8, -} - -impl MsgBaselineECEFDepA { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgBaselineECEFDepA { - sender_id: None, - tow: _buf.read_u32::()?, - x: _buf.read_i32::()?, - y: _buf.read_i32::()?, - z: _buf.read_i32::()?, - accuracy: _buf.read_u16::()?, - n_sats: _buf.read_u8()?, - flags: _buf.read_u8()?, - }) - } -} -impl super::SBPMessage for MsgBaselineECEFDepA { - const MSG_ID: u16 = 514; +impl super::SBPMessage for MsgBaselineNED { + const MSG_ID: u16 = 524; fn get_sender_id(&self) -> Option { self.sender_id @@ -439,106 +347,50 @@ impl super::SBPMessage for MsgBaselineNEDDepA { } } -/// Velocity in ECEF -/// -/// This message reports the velocity in Earth Centered Earth Fixed -/// (ECEF) coordinates. The full GPS time is given by the preceding -/// MSG_GPS_TIME with the matching time-of-week (tow). -/// -#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] -#[derive(Debug)] -#[allow(non_snake_case)] -pub struct MsgVelECEFDepA { - pub sender_id: Option, - /// GPS Time of Week - pub tow: u32, - /// Velocity ECEF X coordinate - pub x: i32, - /// Velocity ECEF Y coordinate - pub y: i32, - /// Velocity ECEF Z coordinate - pub z: i32, - /// Velocity accuracy estimate (not implemented). Defaults to 0. - pub accuracy: u16, - /// Number of satellites used in solution - pub n_sats: u8, - /// Status flags (reserved) - pub flags: u8, -} - -impl MsgVelECEFDepA { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgVelECEFDepA { - sender_id: None, - tow: _buf.read_u32::()?, - x: _buf.read_i32::()?, - y: _buf.read_i32::()?, - z: _buf.read_i32::()?, - accuracy: _buf.read_u16::()?, - n_sats: _buf.read_u8()?, - flags: _buf.read_u8()?, - }) - } -} -impl super::SBPMessage for MsgVelECEFDepA { - const MSG_ID: u16 = 516; - - fn get_sender_id(&self) -> Option { - self.sender_id - } - - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); - } -} - -/// Velocity in NED +/// Dilution of Precision /// -/// This message reports the velocity in local North East Down (NED) -/// coordinates. The NED coordinate system is defined as the local WGS84 -/// tangent plane centered at the current position. The full GPS time is -/// given by the preceding MSG_GPS_TIME with the matching time-of-week (tow). +/// This dilution of precision (DOP) message describes the effect of +/// navigation satellite geometry on positional measurement +/// precision. The flags field indicated whether the DOP reported +/// corresponds to differential or SPP solution. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgVelNEDDepA { +pub struct MsgDops { pub sender_id: Option, /// GPS Time of Week pub tow: u32, - /// Velocity North coordinate - pub n: i32, - /// Velocity East coordinate - pub e: i32, - /// Velocity Down coordinate - pub d: i32, - /// Horizontal velocity accuracy estimate (not implemented). Defaults to 0. - pub h_accuracy: u16, - /// Vertical velocity accuracy estimate (not implemented). Defaults to 0. - pub v_accuracy: u16, - /// Number of satellites used in solution - pub n_sats: u8, - /// Status flags (reserved) + /// Geometric Dilution of Precision + pub gdop: u16, + /// Position Dilution of Precision + pub pdop: u16, + /// Time Dilution of Precision + pub tdop: u16, + /// Horizontal Dilution of Precision + pub hdop: u16, + /// Vertical Dilution of Precision + pub vdop: u16, + /// Indicates the position solution with which the DOPS message corresponds pub flags: u8, } -impl MsgVelNEDDepA { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgVelNEDDepA { +impl MsgDops { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgDops { sender_id: None, tow: _buf.read_u32::()?, - n: _buf.read_i32::()?, - e: _buf.read_i32::()?, - d: _buf.read_i32::()?, - h_accuracy: _buf.read_u16::()?, - v_accuracy: _buf.read_u16::()?, - n_sats: _buf.read_u8()?, + gdop: _buf.read_u16::()?, + pdop: _buf.read_u16::()?, + tdop: _buf.read_u16::()?, + hdop: _buf.read_u16::()?, + vdop: _buf.read_u16::()?, flags: _buf.read_u8()?, }) } } -impl super::SBPMessage for MsgVelNEDDepA { - const MSG_ID: u16 = 517; +impl super::SBPMessage for MsgDops { + const MSG_ID: u16 = 520; fn get_sender_id(&self) -> Option { self.sender_id @@ -599,40 +451,51 @@ impl super::SBPMessage for MsgDopsDepA { } } -/// Heading relative to True North +/// GPS Time /// -/// This message reports the baseline heading pointing from the base station -/// to the rover relative to True North. The full GPS time is given by the -/// preceding MSG_GPS_TIME with the matching time-of-week (tow). +/// This message reports the GPS time, representing the time since +/// the GPS epoch began on midnight January 6, 1980 UTC. GPS time +/// counts the weeks and seconds of the week. The weeks begin at the +/// Saturday/Sunday transition. GPS week 0 began at the beginning of +/// the GPS time scale. +/// +/// Within each week number, the GPS time of the week is between +/// between 0 and 604800 seconds (=60*60*24*7). Note that GPS time +/// does not accumulate leap seconds, and as of now, has a small +/// offset from UTC. In a message stream, this message precedes a +/// set of other navigation messages referenced to the same time +/// (but lacking the ns field) and indicates a more precise time of +/// these messages. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgBaselineHeadingDepA { +pub struct MsgGPSTime { pub sender_id: Option, - /// GPS Time of Week + /// GPS week number + pub wn: u16, + /// GPS time of week rounded to the nearest millisecond pub tow: u32, - /// Heading - pub heading: u32, - /// Number of satellites used in solution - pub n_sats: u8, - /// Status flags + /// Nanosecond residual of millisecond-rounded TOW (ranges from -500000 to + /// 500000) + pub ns_residual: i32, + /// Status flags (reserved) pub flags: u8, } -impl MsgBaselineHeadingDepA { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgBaselineHeadingDepA { +impl MsgGPSTime { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgGPSTime { sender_id: None, + wn: _buf.read_u16::()?, tow: _buf.read_u32::()?, - heading: _buf.read_u32::()?, - n_sats: _buf.read_u8()?, + ns_residual: _buf.read_i32::()?, flags: _buf.read_u8()?, }) } } -impl super::SBPMessage for MsgBaselineHeadingDepA { - const MSG_ID: u16 = 519; +impl super::SBPMessage for MsgGPSTime { + const MSG_ID: u16 = 258; fn get_sender_id(&self) -> Option { self.sender_id @@ -643,50 +506,51 @@ impl super::SBPMessage for MsgBaselineHeadingDepA { } } -/// Dilution of Precision +/// GPS Time (v1.0) /// -/// This dilution of precision (DOP) message describes the effect of -/// navigation satellite geometry on positional measurement -/// precision. The flags field indicated whether the DOP reported -/// corresponds to differential or SPP solution. +/// This message reports the GPS time, representing the time since +/// the GPS epoch began on midnight January 6, 1980 UTC. GPS time +/// counts the weeks and seconds of the week. The weeks begin at the +/// Saturday/Sunday transition. GPS week 0 began at the beginning of +/// the GPS time scale. +/// +/// Within each week number, the GPS time of the week is between +/// between 0 and 604800 seconds (=60*60*24*7). Note that GPS time +/// does not accumulate leap seconds, and as of now, has a small +/// offset from UTC. In a message stream, this message precedes a +/// set of other navigation messages referenced to the same time +/// (but lacking the ns field) and indicates a more precise time of +/// these messages. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgDops { +pub struct MsgGPSTimeDepA { pub sender_id: Option, - /// GPS Time of Week + /// GPS week number + pub wn: u16, + /// GPS time of week rounded to the nearest millisecond pub tow: u32, - /// Geometric Dilution of Precision - pub gdop: u16, - /// Position Dilution of Precision - pub pdop: u16, - /// Time Dilution of Precision - pub tdop: u16, - /// Horizontal Dilution of Precision - pub hdop: u16, - /// Vertical Dilution of Precision - pub vdop: u16, - /// Indicates the position solution with which the DOPS message corresponds + /// Nanosecond residual of millisecond-rounded TOW (ranges from -500000 to + /// 500000) + pub ns_residual: i32, + /// Status flags (reserved) pub flags: u8, } -impl MsgDops { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgDops { +impl MsgGPSTimeDepA { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgGPSTimeDepA { sender_id: None, + wn: _buf.read_u16::()?, tow: _buf.read_u32::()?, - gdop: _buf.read_u16::()?, - pdop: _buf.read_u16::()?, - tdop: _buf.read_u16::()?, - hdop: _buf.read_u16::()?, - vdop: _buf.read_u16::()?, + ns_residual: _buf.read_i32::()?, flags: _buf.read_u8()?, }) } } -impl super::SBPMessage for MsgDops { - const MSG_ID: u16 = 520; +impl super::SBPMessage for MsgGPSTimeDepA { + const MSG_ID: u16 = 256; fn get_sender_id(&self) -> Option { self.sender_id @@ -755,57 +619,70 @@ impl super::SBPMessage for MsgPosECEF { } } -/// Geodetic Position +/// Single-point position in ECEF /// -/// This position solution message reports the absolute geodetic -/// coordinates and the status (single point vs pseudo-absolute RTK) -/// of the position solution. If the rover receiver knows the -/// surveyed position of the base station and has an RTK solution, -/// this reports a pseudo-absolute position solution using the base -/// station position and the rover's RTK baseline vector. The full -/// GPS time is given by the preceding MSG_GPS_TIME with the -/// matching time-of-week (tow). +/// The position solution message reports absolute Earth Centered +/// Earth Fixed (ECEF) coordinates and the status (single point vs +/// pseudo-absolute RTK) of the position solution. The message also +/// reports the upper triangular portion of the 3x3 covariance matrix. +/// If the receiver knows the surveyed position of the base station and has +/// an RTK solution, this reports a pseudo-absolute position +/// solution using the base station position and the rover's RTK +/// baseline vector. The full GPS time is given by the preceding +/// MSG_GPS_TIME with the matching time-of-week (tow). /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgPosLLH { +pub struct MsgPosECEFCov { pub sender_id: Option, /// GPS Time of Week pub tow: u32, - /// Latitude - pub lat: f64, - /// Longitude - pub lon: f64, - /// Height above WGS84 ellipsoid - pub height: f64, - /// Horizontal position estimated standard deviation - pub h_accuracy: u16, - /// Vertical position estimated standard deviation - pub v_accuracy: u16, - /// Number of satellites used in solution. + /// ECEF X coordinate + pub x: f64, + /// ECEF Y coordinate + pub y: f64, + /// ECEF Z coordinate + pub z: f64, + /// Estimated variance of x + pub cov_x_x: f32, + /// Estimated covariance of x and y + pub cov_x_y: f32, + /// Estimated covariance of x and z + pub cov_x_z: f32, + /// Estimated variance of y + pub cov_y_y: f32, + /// Estimated covariance of y and z + pub cov_y_z: f32, + /// Estimated variance of z + pub cov_z_z: f32, + /// Number of satellites used in solution pub n_sats: u8, /// Status flags pub flags: u8, } -impl MsgPosLLH { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgPosLLH { +impl MsgPosECEFCov { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgPosECEFCov { sender_id: None, tow: _buf.read_u32::()?, - lat: _buf.read_f64::()?, - lon: _buf.read_f64::()?, - height: _buf.read_f64::()?, - h_accuracy: _buf.read_u16::()?, - v_accuracy: _buf.read_u16::()?, + x: _buf.read_f64::()?, + y: _buf.read_f64::()?, + z: _buf.read_f64::()?, + cov_x_x: _buf.read_f32::()?, + cov_x_y: _buf.read_f32::()?, + cov_x_z: _buf.read_f32::()?, + cov_y_y: _buf.read_f32::()?, + cov_y_z: _buf.read_f32::()?, + cov_z_z: _buf.read_f32::()?, n_sats: _buf.read_u8()?, flags: _buf.read_u8()?, }) } } -impl super::SBPMessage for MsgPosLLH { - const MSG_ID: u16 = 522; +impl super::SBPMessage for MsgPosECEFCov { + const MSG_ID: u16 = 532; fn get_sender_id(&self) -> Option { self.sender_id @@ -816,28 +693,31 @@ impl super::SBPMessage for MsgPosLLH { } } -/// Baseline Position in ECEF +/// Single-point position in ECEF /// -/// This message reports the baseline solution in Earth Centered -/// Earth Fixed (ECEF) coordinates. This baseline is the relative -/// vector distance from the base station to the rover receiver. The -/// full GPS time is given by the preceding MSG_GPS_TIME with the -/// matching time-of-week (tow). +/// The position solution message reports absolute Earth Centered +/// Earth Fixed (ECEF) coordinates and the status (single point vs +/// pseudo-absolute RTK) of the position solution. If the rover +/// receiver knows the surveyed position of the base station and has +/// an RTK solution, this reports a pseudo-absolute position +/// solution using the base station position and the rover's RTK +/// baseline vector. The full GPS time is given by the preceding +/// MSG_GPS_TIME with the matching time-of-week (tow). /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgBaselineECEF { +pub struct MsgPosECEFDepA { pub sender_id: Option, /// GPS Time of Week pub tow: u32, - /// Baseline ECEF X coordinate - pub x: i32, - /// Baseline ECEF Y coordinate - pub y: i32, - /// Baseline ECEF Z coordinate - pub z: i32, - /// Position estimated standard deviation + /// ECEF X coordinate + pub x: f64, + /// ECEF Y coordinate + pub y: f64, + /// ECEF Z coordinate + pub z: f64, + /// Position accuracy estimate (not implemented). Defaults to 0. pub accuracy: u16, /// Number of satellites used in solution pub n_sats: u8, @@ -845,22 +725,22 @@ pub struct MsgBaselineECEF { pub flags: u8, } -impl MsgBaselineECEF { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgBaselineECEF { +impl MsgPosECEFDepA { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgPosECEFDepA { sender_id: None, tow: _buf.read_u32::()?, - x: _buf.read_i32::()?, - y: _buf.read_i32::()?, - z: _buf.read_i32::()?, + x: _buf.read_f64::()?, + y: _buf.read_f64::()?, + z: _buf.read_f64::()?, accuracy: _buf.read_u16::()?, n_sats: _buf.read_u8()?, flags: _buf.read_u8()?, }) } } -impl super::SBPMessage for MsgBaselineECEF { - const MSG_ID: u16 = 523; +impl super::SBPMessage for MsgPosECEFDepA { + const MSG_ID: u16 = 512; fn get_sender_id(&self) -> Option { self.sender_id @@ -871,46 +751,48 @@ impl super::SBPMessage for MsgBaselineECEF { } } -/// Baseline in NED +/// Geodetic Position /// -/// This message reports the baseline solution in North East Down -/// (NED) coordinates. This baseline is the relative vector distance -/// from the base station to the rover receiver, and NED coordinate -/// system is defined at the local WGS84 tangent plane centered at the -/// base station position. The full GPS time is given by the -/// preceding MSG_GPS_TIME with the matching time-of-week (tow). +/// This position solution message reports the absolute geodetic +/// coordinates and the status (single point vs pseudo-absolute RTK) +/// of the position solution. If the rover receiver knows the +/// surveyed position of the base station and has an RTK solution, +/// this reports a pseudo-absolute position solution using the base +/// station position and the rover's RTK baseline vector. The full +/// GPS time is given by the preceding MSG_GPS_TIME with the +/// matching time-of-week (tow). /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgBaselineNED { +pub struct MsgPosLLH { pub sender_id: Option, /// GPS Time of Week pub tow: u32, - /// Baseline North coordinate - pub n: i32, - /// Baseline East coordinate - pub e: i32, - /// Baseline Down coordinate - pub d: i32, + /// Latitude + pub lat: f64, + /// Longitude + pub lon: f64, + /// Height above WGS84 ellipsoid + pub height: f64, /// Horizontal position estimated standard deviation pub h_accuracy: u16, /// Vertical position estimated standard deviation pub v_accuracy: u16, - /// Number of satellites used in solution + /// Number of satellites used in solution. pub n_sats: u8, /// Status flags pub flags: u8, } -impl MsgBaselineNED { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgBaselineNED { +impl MsgPosLLH { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgPosLLH { sender_id: None, tow: _buf.read_u32::()?, - n: _buf.read_i32::()?, - e: _buf.read_i32::()?, - d: _buf.read_i32::()?, + lat: _buf.read_f64::()?, + lon: _buf.read_f64::()?, + height: _buf.read_f64::()?, h_accuracy: _buf.read_u16::()?, v_accuracy: _buf.read_u16::()?, n_sats: _buf.read_u8()?, @@ -918,8 +800,8 @@ impl MsgBaselineNED { }) } } -impl super::SBPMessage for MsgBaselineNED { - const MSG_ID: u16 = 524; +impl super::SBPMessage for MsgPosLLH { + const MSG_ID: u16 = 522; fn get_sender_id(&self) -> Option { self.sender_id @@ -930,49 +812,69 @@ impl super::SBPMessage for MsgBaselineNED { } } -/// Velocity in ECEF +/// Geodetic Position /// -/// This message reports the velocity in Earth Centered Earth Fixed -/// (ECEF) coordinates. The full GPS time is given by the preceding -/// MSG_GPS_TIME with the matching time-of-week (tow). +/// This position solution message reports the absolute geodetic +/// coordinates and the status (single point vs pseudo-absolute RTK) +/// of the position solution as well as the upper triangle of the 3x3 +/// covariance matrix. The position information and Fix Mode flags should +/// follow the MSG_POS_LLH message. Since the covariance matrix is computed +/// in the local-level North, East, Down frame, the covariance terms follow +/// with that convention. Thus, covariances are reported against the "downward" +/// measurement and care should be taken with the sign convention. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgVelECEF { +pub struct MsgPosLLHCov { pub sender_id: Option, /// GPS Time of Week pub tow: u32, - /// Velocity ECEF X coordinate - pub x: i32, - /// Velocity ECEF Y coordinate - pub y: i32, - /// Velocity ECEF Z coordinate - pub z: i32, - /// Velocity estimated standard deviation - pub accuracy: u16, - /// Number of satellites used in solution + /// Latitude + pub lat: f64, + /// Longitude + pub lon: f64, + /// Height above WGS84 ellipsoid + pub height: f64, + /// Estimated variance of northing + pub cov_n_n: f32, + /// Covariance of northing and easting + pub cov_n_e: f32, + /// Covariance of northing and downward measurement + pub cov_n_d: f32, + /// Estimated variance of easting + pub cov_e_e: f32, + /// Covariance of easting and downward measurement + pub cov_e_d: f32, + /// Estimated variance of downward measurement + pub cov_d_d: f32, + /// Number of satellites used in solution. pub n_sats: u8, /// Status flags pub flags: u8, } -impl MsgVelECEF { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgVelECEF { +impl MsgPosLLHCov { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgPosLLHCov { sender_id: None, tow: _buf.read_u32::()?, - x: _buf.read_i32::()?, - y: _buf.read_i32::()?, - z: _buf.read_i32::()?, - accuracy: _buf.read_u16::()?, + lat: _buf.read_f64::()?, + lon: _buf.read_f64::()?, + height: _buf.read_f64::()?, + cov_n_n: _buf.read_f32::()?, + cov_n_e: _buf.read_f32::()?, + cov_n_d: _buf.read_f32::()?, + cov_e_e: _buf.read_f32::()?, + cov_e_d: _buf.read_f32::()?, + cov_d_d: _buf.read_f32::()?, n_sats: _buf.read_u8()?, flags: _buf.read_u8()?, }) } } -impl super::SBPMessage for MsgVelECEF { - const MSG_ID: u16 = 525; +impl super::SBPMessage for MsgPosLLHCov { + const MSG_ID: u16 = 529; fn get_sender_id(&self) -> Option { self.sender_id @@ -983,44 +885,48 @@ impl super::SBPMessage for MsgVelECEF { } } -/// Velocity in NED +/// Geodetic Position /// -/// This message reports the velocity in local North East Down (NED) -/// coordinates. The NED coordinate system is defined as the local WGS84 -/// tangent plane centered at the current position. The full GPS time is -/// given by the preceding MSG_GPS_TIME with the matching time-of-week (tow). +/// This position solution message reports the absolute geodetic +/// coordinates and the status (single point vs pseudo-absolute RTK) +/// of the position solution. If the rover receiver knows the +/// surveyed position of the base station and has an RTK solution, +/// this reports a pseudo-absolute position solution using the base +/// station position and the rover's RTK baseline vector. The full +/// GPS time is given by the preceding MSG_GPS_TIME with the +/// matching time-of-week (tow). /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgVelNED { +pub struct MsgPosLLHDepA { pub sender_id: Option, /// GPS Time of Week pub tow: u32, - /// Velocity North coordinate - pub n: i32, - /// Velocity East coordinate - pub e: i32, - /// Velocity Down coordinate - pub d: i32, - /// Horizontal velocity estimated standard deviation + /// Latitude + pub lat: f64, + /// Longitude + pub lon: f64, + /// Height + pub height: f64, + /// Horizontal position accuracy estimate (not implemented). Defaults to 0. pub h_accuracy: u16, - /// Vertical velocity estimated standard deviation + /// Vertical position accuracy estimate (not implemented). Defaults to 0. pub v_accuracy: u16, - /// Number of satellites used in solution + /// Number of satellites used in solution. pub n_sats: u8, /// Status flags pub flags: u8, } -impl MsgVelNED { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgVelNED { +impl MsgPosLLHDepA { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgPosLLHDepA { sender_id: None, tow: _buf.read_u32::()?, - n: _buf.read_i32::()?, - e: _buf.read_i32::()?, - d: _buf.read_i32::()?, + lat: _buf.read_f64::()?, + lon: _buf.read_f64::()?, + height: _buf.read_f64::()?, h_accuracy: _buf.read_u16::()?, v_accuracy: _buf.read_u16::()?, n_sats: _buf.read_u8()?, @@ -1028,45 +934,8 @@ impl MsgVelNED { }) } } -impl super::SBPMessage for MsgVelNED { - const MSG_ID: u16 = 526; - - fn get_sender_id(&self) -> Option { - self.sender_id - } - - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); - } -} - -/// Age of corrections -/// -/// This message reports the Age of the corrections used for the current -/// Differential solution -/// -#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] -#[derive(Debug)] -#[allow(non_snake_case)] -pub struct MsgAgeCorrections { - pub sender_id: Option, - /// GPS Time of Week - pub tow: u32, - /// Age of the corrections (0xFFFF indicates invalid) - pub age: u16, -} - -impl MsgAgeCorrections { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgAgeCorrections { - sender_id: None, - tow: _buf.read_u32::()?, - age: _buf.read_u16::()?, - }) - } -} -impl super::SBPMessage for MsgAgeCorrections { - const MSG_ID: u16 = 528; +impl super::SBPMessage for MsgPosLLHDepA { + const MSG_ID: u16 = 513; fn get_sender_id(&self) -> Option { self.sender_id @@ -1077,69 +946,49 @@ impl super::SBPMessage for MsgAgeCorrections { } } -/// Geodetic Position +/// Computed Position and Protection Level /// -/// This position solution message reports the absolute geodetic -/// coordinates and the status (single point vs pseudo-absolute RTK) -/// of the position solution as well as the upper triangle of the 3x3 -/// covariance matrix. The position information and Fix Mode flags should -/// follow the MSG_POS_LLH message. Since the covariance matrix is computed -/// in the local-level North, East, Down frame, the covariance terms follow -/// with that convention. Thus, covariances are reported against the "downward" -/// measurement and care should be taken with the sign convention. +/// This message reports the local vertical and horizontal protection levels +/// associated with a given LLH position solution. The full GPS time is given +/// by the preceding MSG_GPS_TIME with the matching time-of-week (tow). /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgPosLLHCov { +pub struct MsgProtectionLevel { pub sender_id: Option, /// GPS Time of Week pub tow: u32, + /// Vertical protection level + pub vpl: u16, + /// Horizontal protection level + pub hpl: u16, /// Latitude pub lat: f64, /// Longitude pub lon: f64, - /// Height above WGS84 ellipsoid + /// Height pub height: f64, - /// Estimated variance of northing - pub cov_n_n: f32, - /// Covariance of northing and easting - pub cov_n_e: f32, - /// Covariance of northing and downward measurement - pub cov_n_d: f32, - /// Estimated variance of easting - pub cov_e_e: f32, - /// Covariance of easting and downward measurement - pub cov_e_d: f32, - /// Estimated variance of downward measurement - pub cov_d_d: f32, - /// Number of satellites used in solution. - pub n_sats: u8, /// Status flags pub flags: u8, } -impl MsgPosLLHCov { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgPosLLHCov { +impl MsgProtectionLevel { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgProtectionLevel { sender_id: None, tow: _buf.read_u32::()?, + vpl: _buf.read_u16::()?, + hpl: _buf.read_u16::()?, lat: _buf.read_f64::()?, lon: _buf.read_f64::()?, height: _buf.read_f64::()?, - cov_n_n: _buf.read_f32::()?, - cov_n_e: _buf.read_f32::()?, - cov_n_d: _buf.read_f32::()?, - cov_e_e: _buf.read_f32::()?, - cov_e_d: _buf.read_f32::()?, - cov_d_d: _buf.read_f32::()?, - n_sats: _buf.read_u8()?, flags: _buf.read_u8()?, }) } } -impl super::SBPMessage for MsgPosLLHCov { - const MSG_ID: u16 = 529; +impl super::SBPMessage for MsgProtectionLevel { + const MSG_ID: u16 = 534; fn get_sender_id(&self) -> Option { self.sender_id @@ -1150,67 +999,54 @@ impl super::SBPMessage for MsgPosLLHCov { } } -/// Velocity in NED +/// UTC Time /// -/// This message reports the velocity in local North East Down (NED) -/// coordinates. The NED coordinate system is defined as the local WGS84 -/// tangent plane centered at the current position. The full GPS time is -/// given by the preceding MSG_GPS_TIME with the matching time-of-week (tow). -/// This message is similar to the MSG_VEL_NED, but it includes the upper triangular -/// portion of the 3x3 covariance matrix. +/// This message reports the Universal Coordinated Time (UTC). Note the flags +/// which indicate the source of the UTC offset value and source of the time fix. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgVelNEDCov { +pub struct MsgUtcTime { pub sender_id: Option, - /// GPS Time of Week - pub tow: u32, - /// Velocity North coordinate - pub n: i32, - /// Velocity East coordinate - pub e: i32, - /// Velocity Down coordinate - pub d: i32, - /// Estimated variance of northward measurement - pub cov_n_n: f32, - /// Covariance of northward and eastward measurement - pub cov_n_e: f32, - /// Covariance of northward and downward measurement - pub cov_n_d: f32, - /// Estimated variance of eastward measurement - pub cov_e_e: f32, - /// Covariance of eastward and downward measurement - pub cov_e_d: f32, - /// Estimated variance of downward measurement - pub cov_d_d: f32, - /// Number of satellites used in solution - pub n_sats: u8, - /// Status flags + /// Indicates source and time validity pub flags: u8, + /// GPS time of week rounded to the nearest millisecond + pub tow: u32, + /// Year + pub year: u16, + /// Month (range 1 .. 12) + pub month: u8, + /// days in the month (range 1-31) + pub day: u8, + /// hours of day (range 0-23) + pub hours: u8, + /// minutes of hour (range 0-59) + pub minutes: u8, + /// seconds of minute (range 0-60) rounded down + pub seconds: u8, + /// nanoseconds of second (range 0-999999999) + pub ns: u32, } -impl MsgVelNEDCov { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgVelNEDCov { +impl MsgUtcTime { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgUtcTime { sender_id: None, - tow: _buf.read_u32::()?, - n: _buf.read_i32::()?, - e: _buf.read_i32::()?, - d: _buf.read_i32::()?, - cov_n_n: _buf.read_f32::()?, - cov_n_e: _buf.read_f32::()?, - cov_n_d: _buf.read_f32::()?, - cov_e_e: _buf.read_f32::()?, - cov_e_d: _buf.read_f32::()?, - cov_d_d: _buf.read_f32::()?, - n_sats: _buf.read_u8()?, flags: _buf.read_u8()?, + tow: _buf.read_u32::()?, + year: _buf.read_u16::()?, + month: _buf.read_u8()?, + day: _buf.read_u8()?, + hours: _buf.read_u8()?, + minutes: _buf.read_u8()?, + seconds: _buf.read_u8()?, + ns: _buf.read_u32::()?, }) } } -impl super::SBPMessage for MsgVelNEDCov { - const MSG_ID: u16 = 530; +impl super::SBPMessage for MsgUtcTime { + const MSG_ID: u16 = 259; fn get_sender_id(&self) -> Option { self.sender_id @@ -1294,70 +1130,49 @@ impl super::SBPMessage for MsgVelBody { } } -/// Single-point position in ECEF +/// Velocity in ECEF /// -/// The position solution message reports absolute Earth Centered -/// Earth Fixed (ECEF) coordinates and the status (single point vs -/// pseudo-absolute RTK) of the position solution. The message also -/// reports the upper triangular portion of the 3x3 covariance matrix. -/// If the receiver knows the surveyed position of the base station and has -/// an RTK solution, this reports a pseudo-absolute position -/// solution using the base station position and the rover's RTK -/// baseline vector. The full GPS time is given by the preceding +/// This message reports the velocity in Earth Centered Earth Fixed +/// (ECEF) coordinates. The full GPS time is given by the preceding /// MSG_GPS_TIME with the matching time-of-week (tow). /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgPosECEFCov { +pub struct MsgVelECEF { pub sender_id: Option, /// GPS Time of Week pub tow: u32, - /// ECEF X coordinate - pub x: f64, - /// ECEF Y coordinate - pub y: f64, - /// ECEF Z coordinate - pub z: f64, - /// Estimated variance of x - pub cov_x_x: f32, - /// Estimated covariance of x and y - pub cov_x_y: f32, - /// Estimated covariance of x and z - pub cov_x_z: f32, - /// Estimated variance of y - pub cov_y_y: f32, - /// Estimated covariance of y and z - pub cov_y_z: f32, - /// Estimated variance of z - pub cov_z_z: f32, - /// Number of satellites used in solution - pub n_sats: u8, - /// Status flags - pub flags: u8, -} - -impl MsgPosECEFCov { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgPosECEFCov { + /// Velocity ECEF X coordinate + pub x: i32, + /// Velocity ECEF Y coordinate + pub y: i32, + /// Velocity ECEF Z coordinate + pub z: i32, + /// Velocity estimated standard deviation + pub accuracy: u16, + /// Number of satellites used in solution + pub n_sats: u8, + /// Status flags + pub flags: u8, +} + +impl MsgVelECEF { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgVelECEF { sender_id: None, tow: _buf.read_u32::()?, - x: _buf.read_f64::()?, - y: _buf.read_f64::()?, - z: _buf.read_f64::()?, - cov_x_x: _buf.read_f32::()?, - cov_x_y: _buf.read_f32::()?, - cov_x_z: _buf.read_f32::()?, - cov_y_y: _buf.read_f32::()?, - cov_y_z: _buf.read_f32::()?, - cov_z_z: _buf.read_f32::()?, + x: _buf.read_i32::()?, + y: _buf.read_i32::()?, + z: _buf.read_i32::()?, + accuracy: _buf.read_u16::()?, n_sats: _buf.read_u8()?, flags: _buf.read_u8()?, }) } } -impl super::SBPMessage for MsgPosECEFCov { - const MSG_ID: u16 = 532; +impl super::SBPMessage for MsgVelECEF { + const MSG_ID: u16 = 525; fn get_sender_id(&self) -> Option { self.sender_id @@ -1436,49 +1251,234 @@ impl super::SBPMessage for MsgVelECEFCov { } } -/// Computed Position and Protection Level +/// Velocity in ECEF /// -/// This message reports the local vertical and horizontal protection levels -/// associated with a given LLH position solution. The full GPS time is given -/// by the preceding MSG_GPS_TIME with the matching time-of-week (tow). +/// This message reports the velocity in Earth Centered Earth Fixed +/// (ECEF) coordinates. The full GPS time is given by the preceding +/// MSG_GPS_TIME with the matching time-of-week (tow). /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgProtectionLevel { +pub struct MsgVelECEFDepA { pub sender_id: Option, /// GPS Time of Week pub tow: u32, - /// Vertical protection level - pub vpl: u16, - /// Horizontal protection level - pub hpl: u16, - /// Latitude - pub lat: f64, - /// Longitude - pub lon: f64, - /// Height - pub height: f64, + /// Velocity ECEF X coordinate + pub x: i32, + /// Velocity ECEF Y coordinate + pub y: i32, + /// Velocity ECEF Z coordinate + pub z: i32, + /// Velocity accuracy estimate (not implemented). Defaults to 0. + pub accuracy: u16, + /// Number of satellites used in solution + pub n_sats: u8, + /// Status flags (reserved) + pub flags: u8, +} + +impl MsgVelECEFDepA { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgVelECEFDepA { + sender_id: None, + tow: _buf.read_u32::()?, + x: _buf.read_i32::()?, + y: _buf.read_i32::()?, + z: _buf.read_i32::()?, + accuracy: _buf.read_u16::()?, + n_sats: _buf.read_u8()?, + flags: _buf.read_u8()?, + }) + } +} +impl super::SBPMessage for MsgVelECEFDepA { + const MSG_ID: u16 = 516; + + fn get_sender_id(&self) -> Option { + self.sender_id + } + + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); + } +} + +/// Velocity in NED +/// +/// This message reports the velocity in local North East Down (NED) +/// coordinates. The NED coordinate system is defined as the local WGS84 +/// tangent plane centered at the current position. The full GPS time is +/// given by the preceding MSG_GPS_TIME with the matching time-of-week (tow). +/// +#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] +#[derive(Debug)] +#[allow(non_snake_case)] +pub struct MsgVelNED { + pub sender_id: Option, + /// GPS Time of Week + pub tow: u32, + /// Velocity North coordinate + pub n: i32, + /// Velocity East coordinate + pub e: i32, + /// Velocity Down coordinate + pub d: i32, + /// Horizontal velocity estimated standard deviation + pub h_accuracy: u16, + /// Vertical velocity estimated standard deviation + pub v_accuracy: u16, + /// Number of satellites used in solution + pub n_sats: u8, /// Status flags pub flags: u8, } -impl MsgProtectionLevel { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgProtectionLevel { +impl MsgVelNED { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgVelNED { sender_id: None, tow: _buf.read_u32::()?, - vpl: _buf.read_u16::()?, - hpl: _buf.read_u16::()?, - lat: _buf.read_f64::()?, - lon: _buf.read_f64::()?, - height: _buf.read_f64::()?, + n: _buf.read_i32::()?, + e: _buf.read_i32::()?, + d: _buf.read_i32::()?, + h_accuracy: _buf.read_u16::()?, + v_accuracy: _buf.read_u16::()?, + n_sats: _buf.read_u8()?, flags: _buf.read_u8()?, }) } } -impl super::SBPMessage for MsgProtectionLevel { - const MSG_ID: u16 = 534; +impl super::SBPMessage for MsgVelNED { + const MSG_ID: u16 = 526; + + fn get_sender_id(&self) -> Option { + self.sender_id + } + + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); + } +} + +/// Velocity in NED +/// +/// This message reports the velocity in local North East Down (NED) +/// coordinates. The NED coordinate system is defined as the local WGS84 +/// tangent plane centered at the current position. The full GPS time is +/// given by the preceding MSG_GPS_TIME with the matching time-of-week (tow). +/// This message is similar to the MSG_VEL_NED, but it includes the upper triangular +/// portion of the 3x3 covariance matrix. +/// +#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] +#[derive(Debug)] +#[allow(non_snake_case)] +pub struct MsgVelNEDCov { + pub sender_id: Option, + /// GPS Time of Week + pub tow: u32, + /// Velocity North coordinate + pub n: i32, + /// Velocity East coordinate + pub e: i32, + /// Velocity Down coordinate + pub d: i32, + /// Estimated variance of northward measurement + pub cov_n_n: f32, + /// Covariance of northward and eastward measurement + pub cov_n_e: f32, + /// Covariance of northward and downward measurement + pub cov_n_d: f32, + /// Estimated variance of eastward measurement + pub cov_e_e: f32, + /// Covariance of eastward and downward measurement + pub cov_e_d: f32, + /// Estimated variance of downward measurement + pub cov_d_d: f32, + /// Number of satellites used in solution + pub n_sats: u8, + /// Status flags + pub flags: u8, +} + +impl MsgVelNEDCov { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgVelNEDCov { + sender_id: None, + tow: _buf.read_u32::()?, + n: _buf.read_i32::()?, + e: _buf.read_i32::()?, + d: _buf.read_i32::()?, + cov_n_n: _buf.read_f32::()?, + cov_n_e: _buf.read_f32::()?, + cov_n_d: _buf.read_f32::()?, + cov_e_e: _buf.read_f32::()?, + cov_e_d: _buf.read_f32::()?, + cov_d_d: _buf.read_f32::()?, + n_sats: _buf.read_u8()?, + flags: _buf.read_u8()?, + }) + } +} +impl super::SBPMessage for MsgVelNEDCov { + const MSG_ID: u16 = 530; + + fn get_sender_id(&self) -> Option { + self.sender_id + } + + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); + } +} + +/// Velocity in NED +/// +/// This message reports the velocity in local North East Down (NED) +/// coordinates. The NED coordinate system is defined as the local WGS84 +/// tangent plane centered at the current position. The full GPS time is +/// given by the preceding MSG_GPS_TIME with the matching time-of-week (tow). +/// +#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] +#[derive(Debug)] +#[allow(non_snake_case)] +pub struct MsgVelNEDDepA { + pub sender_id: Option, + /// GPS Time of Week + pub tow: u32, + /// Velocity North coordinate + pub n: i32, + /// Velocity East coordinate + pub e: i32, + /// Velocity Down coordinate + pub d: i32, + /// Horizontal velocity accuracy estimate (not implemented). Defaults to 0. + pub h_accuracy: u16, + /// Vertical velocity accuracy estimate (not implemented). Defaults to 0. + pub v_accuracy: u16, + /// Number of satellites used in solution + pub n_sats: u8, + /// Status flags (reserved) + pub flags: u8, +} + +impl MsgVelNEDDepA { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgVelNEDDepA { + sender_id: None, + tow: _buf.read_u32::()?, + n: _buf.read_i32::()?, + e: _buf.read_i32::()?, + d: _buf.read_i32::()?, + h_accuracy: _buf.read_u16::()?, + v_accuracy: _buf.read_u16::()?, + n_sats: _buf.read_u8()?, + flags: _buf.read_u8()?, + }) + } +} +impl super::SBPMessage for MsgVelNEDDepA { + const MSG_ID: u16 = 517; fn get_sender_id(&self) -> Option { self.sender_id diff --git a/rust/sbp/src/messages/observation.rs b/rust/sbp/src/messages/observation.rs index efa8e3e645..9b1b0563d9 100644 --- a/rust/sbp/src/messages/observation.rs +++ b/rust/sbp/src/messages/observation.rs @@ -21,32 +21,48 @@ use super::gnss::*; #[cfg(feature = "serialize")] use serde::{Deserialize, Serialize}; -/// Header for observation message. -/// -/// Header of a GNSS observation message. -/// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct ObservationHeader { - /// GNSS time of this observation - pub t: GPSTime, - /// Total number of observations. First nibble is the size of the sequence - /// (n), second nibble is the zero-indexed counter (ith packet of n) - pub n_obs: u8, +pub struct AlmanacCommonContent { + /// GNSS signal identifier + pub sid: GnssSignal, + /// Reference time of almanac + pub toa: GPSTimeSec, + /// User Range Accuracy + pub ura: f64, + /// Curve fit interval + pub fit_interval: u32, + /// Status of almanac, 1 = valid, 0 = invalid + pub valid: u8, + /// Satellite health status for GPS: - bits 5-7: NAV data health status. + /// See IS-GPS-200H Table 20-VII: NAV Data Health Indications. - bits + /// 0-4: Signal health status. See IS-GPS-200H Table 20-VIII. Codes for + /// Health of SV Signal Components. Satellite health status for GLO: + /// See GLO ICD 5.1 table 5.1 for details - bit 0: C(n), "unhealthy" flag + /// that is transmitted within non-immediate data and indicates overall + /// constellation status at the moment of almanac uploading. '0' + /// indicates malfunction of n-satellite. '1' indicates that n-satellite + /// is operational. - bit 1: Bn(ln), '0' indicates the satellite is + /// operational and suitable for navigation. + pub health_bits: u8, } -impl ObservationHeader { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(ObservationHeader { - t: GPSTime::parse(_buf)?, - n_obs: _buf.read_u8()?, +impl AlmanacCommonContent { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(AlmanacCommonContent { + sid: GnssSignal::parse(_buf)?, + toa: GPSTimeSec::parse(_buf)?, + ura: _buf.read_f64::()?, + fit_interval: _buf.read_u32::()?, + valid: _buf.read_u8()?, + health_bits: _buf.read_u8()?, }) } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { let mut v = Vec::new(); while buf.len() > 0 { - v.push(ObservationHeader::parse(buf)?); + v.push(AlmanacCommonContent::parse(buf)?); } Ok(v) } @@ -54,109 +70,102 @@ impl ObservationHeader { pub fn parse_array_limit( buf: &mut &[u8], n: usize, - ) -> Result, crate::Error> { + ) -> Result, crate::Error> { let mut v = Vec::new(); for _ in 0..n { - v.push(ObservationHeader::parse(buf)?); + v.push(AlmanacCommonContent::parse(buf)?); } Ok(v) } } -/// GNSS doppler measurement. -/// -/// Doppler measurement in Hz represented as a 24-bit -/// fixed point number with Q16.8 layout, i.e. 16-bits of whole -/// doppler and 8-bits of fractional doppler. This doppler is defined -/// as positive for approaching satellites. -/// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct Doppler { - /// Doppler whole Hz - pub i: i16, - /// Doppler fractional part - pub f: u8, +pub struct AlmanacCommonContentDep { + /// GNSS signal identifier + pub sid: GnssSignalDep, + /// Reference time of almanac + pub toa: GPSTimeSec, + /// User Range Accuracy + pub ura: f64, + /// Curve fit interval + pub fit_interval: u32, + /// Status of almanac, 1 = valid, 0 = invalid + pub valid: u8, + /// Satellite health status for GPS: - bits 5-7: NAV data health status. + /// See IS-GPS-200H Table 20-VII: NAV Data Health Indications. - bits + /// 0-4: Signal health status. See IS-GPS-200H Table 20-VIII. Codes for + /// Health of SV Signal Components. Satellite health status for GLO: + /// See GLO ICD 5.1 table 5.1 for details - bit 0: C(n), "unhealthy" flag + /// that is transmitted within non-immediate data and indicates overall + /// constellation status at the moment of almanac uploading. '0' + /// indicates malfunction of n-satellite. '1' indicates that n-satellite + /// is operational. - bit 1: Bn(ln), '0' indicates the satellite is + /// operational and suitable for navigation. + pub health_bits: u8, } -impl Doppler { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(Doppler { - i: _buf.read_i16::()?, - f: _buf.read_u8()?, +impl AlmanacCommonContentDep { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(AlmanacCommonContentDep { + sid: GnssSignalDep::parse(_buf)?, + toa: GPSTimeSec::parse(_buf)?, + ura: _buf.read_f64::()?, + fit_interval: _buf.read_u32::()?, + valid: _buf.read_u8()?, + health_bits: _buf.read_u8()?, }) } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { let mut v = Vec::new(); while buf.len() > 0 { - v.push(Doppler::parse(buf)?); + v.push(AlmanacCommonContentDep::parse(buf)?); } Ok(v) } - pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { + pub fn parse_array_limit( + buf: &mut &[u8], + n: usize, + ) -> Result, crate::Error> { let mut v = Vec::new(); for _ in 0..n { - v.push(Doppler::parse(buf)?); + v.push(AlmanacCommonContentDep::parse(buf)?); } Ok(v) } } -/// GNSS observations for a particular satellite signal. -/// -/// Pseudorange and carrier phase observation for a satellite being tracked. -/// The observations are interoperable with 3rd party receivers and conform with -/// typical RTCM 3.1 message GPS/GLO observations. +/// GPS carrier phase measurement. /// -/// Carrier phase observations are not guaranteed to be aligned to the RINEX 3 -/// or RTCM 3.3 MSM reference signal and no 1/4 cycle adjustments are currently -/// peformed. +/// Carrier phase measurement in cycles represented as a 40-bit +/// fixed point number with Q32.8 layout, i.e. 32-bits of whole +/// cycles and 8-bits of fractional cycles. This has the opposite +/// sign convention than a typical GPS receiver and the phase has +/// the opposite sign as the pseudorange. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct PackedObsContent { - /// Pseudorange observation - pub P: u32, - /// Carrier phase observation with typical sign convention. - pub L: CarrierPhase, - /// Doppler observation with typical sign convention. - pub D: Doppler, - /// Carrier-to-Noise density. Zero implies invalid cn0. - pub cn0: u8, - /// Lock timer. This value gives an indication of the time for which a - /// signal has maintained continuous phase lock. Whenever a signal has lost - /// and regained lock, this value is reset to zero. It is encoded according - /// to DF402 from the RTCM 10403.2 Amendment 2 specification. Valid values - /// range from 0 to 15 and the most significant nibble is reserved for - /// future use. - pub lock: u8, - /// Measurement status flags. A bit field of flags providing the status of - /// this observation. If this field is 0 it means only the Cn0 estimate for - /// the signal is valid. - pub flags: u8, - /// GNSS signal identifier (16 bit) - pub sid: GnssSignal, +pub struct CarrierPhaseDepA { + /// Carrier phase whole cycles + pub i: i32, + /// Carrier phase fractional part + pub f: u8, } -impl PackedObsContent { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(PackedObsContent { - P: _buf.read_u32::()?, - L: CarrierPhase::parse(_buf)?, - D: Doppler::parse(_buf)?, - cn0: _buf.read_u8()?, - lock: _buf.read_u8()?, - flags: _buf.read_u8()?, - sid: GnssSignal::parse(_buf)?, +impl CarrierPhaseDepA { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(CarrierPhaseDepA { + i: _buf.read_i32::()?, + f: _buf.read_u8()?, }) } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { let mut v = Vec::new(); while buf.len() > 0 { - v.push(PackedObsContent::parse(buf)?); + v.push(CarrierPhaseDepA::parse(buf)?); } Ok(v) } @@ -164,74 +173,51 @@ impl PackedObsContent { pub fn parse_array_limit( buf: &mut &[u8], n: usize, - ) -> Result, crate::Error> { + ) -> Result, crate::Error> { let mut v = Vec::new(); for _ in 0..n { - v.push(PackedObsContent::parse(buf)?); + v.push(CarrierPhaseDepA::parse(buf)?); } Ok(v) } } -/// Network correction for a particular satellite signal. +/// GNSS doppler measurement. /// -/// Pseudorange and carrier phase network corrections for a satellite signal. +/// Doppler measurement in Hz represented as a 24-bit +/// fixed point number with Q16.8 layout, i.e. 16-bits of whole +/// doppler and 8-bits of fractional doppler. This doppler is defined +/// as positive for approaching satellites. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct PackedOsrContent { - /// Pseudorange observation - pub P: u32, - /// Carrier phase observation with typical sign convention. - pub L: CarrierPhase, - /// Lock timer. This value gives an indication of the time for which a - /// signal has maintained continuous phase lock. Whenever a signal has lost - /// and regained lock, this value is reset to zero. It is encoded according - /// to DF402 from the RTCM 10403.2 Amendment 2 specification. Valid values - /// range from 0 to 15 and the most significant nibble is reserved for - /// future use. - pub lock: u8, - /// Correction flags. - pub flags: u8, - /// GNSS signal identifier (16 bit) - pub sid: GnssSignal, - /// Slant ionospheric correction standard deviation - pub iono_std: u16, - /// Slant tropospheric correction standard deviation - pub tropo_std: u16, - /// Orbit/clock/bias correction projected on range standard deviation - pub range_std: u16, +pub struct Doppler { + /// Doppler whole Hz + pub i: i16, + /// Doppler fractional part + pub f: u8, } -impl PackedOsrContent { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(PackedOsrContent { - P: _buf.read_u32::()?, - L: CarrierPhase::parse(_buf)?, - lock: _buf.read_u8()?, - flags: _buf.read_u8()?, - sid: GnssSignal::parse(_buf)?, - iono_std: _buf.read_u16::()?, - tropo_std: _buf.read_u16::()?, - range_std: _buf.read_u16::()?, +impl Doppler { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(Doppler { + i: _buf.read_i16::()?, + f: _buf.read_u8()?, }) } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { let mut v = Vec::new(); while buf.len() > 0 { - v.push(PackedOsrContent::parse(buf)?); + v.push(Doppler::parse(buf)?); } Ok(v) } - pub fn parse_array_limit( - buf: &mut &[u8], - n: usize, - ) -> Result, crate::Error> { + pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { let mut v = Vec::new(); for _ in 0..n { - v.push(PackedOsrContent::parse(buf)?); + v.push(Doppler::parse(buf)?); } Ok(v) } @@ -290,37 +276,37 @@ impl EphemerisCommonContent { #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct EphemerisCommonContentDepB { - /// GNSS signal identifier (16 bit) - pub sid: GnssSignal, +pub struct EphemerisCommonContentDepA { + /// GNSS signal identifier + pub sid: GnssSignalDep, /// Time of Ephemerides - pub toe: GPSTimeSec, + pub toe: GPSTimeDep, /// User Range Accuracy pub ura: f64, /// Curve fit interval pub fit_interval: u32, /// Status of ephemeris, 1 = valid, 0 = invalid pub valid: u8, - /// Satellite health status. GPS: ICD-GPS-200, chapter 20.3.3.3.1.4 Others: - /// 0 = valid, non-zero = invalid + /// Satellite health status. GPS: ICD-GPS-200, chapter 20.3.3.3.1.4 SBAS: 0 + /// = valid, non-zero = invalid GLO: 0 = valid, non-zero = invalid pub health_bits: u8, } -impl EphemerisCommonContentDepB { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(EphemerisCommonContentDepB { - sid: GnssSignal::parse(_buf)?, - toe: GPSTimeSec::parse(_buf)?, - ura: _buf.read_f64::()?, +impl EphemerisCommonContentDepA { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(EphemerisCommonContentDepA { + sid: GnssSignalDep::parse(_buf)?, + toe: GPSTimeDep::parse(_buf)?, + ura: _buf.read_f64::()?, fit_interval: _buf.read_u32::()?, valid: _buf.read_u8()?, health_bits: _buf.read_u8()?, }) } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { let mut v = Vec::new(); while buf.len() > 0 { - v.push(EphemerisCommonContentDepB::parse(buf)?); + v.push(EphemerisCommonContentDepA::parse(buf)?); } Ok(v) } @@ -328,10 +314,10 @@ impl EphemerisCommonContentDepB { pub fn parse_array_limit( buf: &mut &[u8], n: usize, - ) -> Result, crate::Error> { + ) -> Result, crate::Error> { let mut v = Vec::new(); for _ in 0..n { - v.push(EphemerisCommonContentDepB::parse(buf)?); + v.push(EphemerisCommonContentDepA::parse(buf)?); } Ok(v) } @@ -340,37 +326,37 @@ impl EphemerisCommonContentDepB { #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct EphemerisCommonContentDepA { - /// GNSS signal identifier - pub sid: GnssSignalDep, +pub struct EphemerisCommonContentDepB { + /// GNSS signal identifier (16 bit) + pub sid: GnssSignal, /// Time of Ephemerides - pub toe: GPSTimeDep, + pub toe: GPSTimeSec, /// User Range Accuracy pub ura: f64, /// Curve fit interval pub fit_interval: u32, /// Status of ephemeris, 1 = valid, 0 = invalid pub valid: u8, - /// Satellite health status. GPS: ICD-GPS-200, chapter 20.3.3.3.1.4 SBAS: 0 - /// = valid, non-zero = invalid GLO: 0 = valid, non-zero = invalid + /// Satellite health status. GPS: ICD-GPS-200, chapter 20.3.3.3.1.4 Others: + /// 0 = valid, non-zero = invalid pub health_bits: u8, } -impl EphemerisCommonContentDepA { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(EphemerisCommonContentDepA { - sid: GnssSignalDep::parse(_buf)?, - toe: GPSTimeDep::parse(_buf)?, +impl EphemerisCommonContentDepB { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(EphemerisCommonContentDepB { + sid: GnssSignal::parse(_buf)?, + toe: GPSTimeSec::parse(_buf)?, ura: _buf.read_f64::()?, fit_interval: _buf.read_u32::()?, valid: _buf.read_u8()?, health_bits: _buf.read_u8()?, }) } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { let mut v = Vec::new(); while buf.len() > 0 { - v.push(EphemerisCommonContentDepA::parse(buf)?); + v.push(EphemerisCommonContentDepB::parse(buf)?); } Ok(v) } @@ -378,522 +364,283 @@ impl EphemerisCommonContentDepA { pub fn parse_array_limit( buf: &mut &[u8], n: usize, - ) -> Result, crate::Error> { + ) -> Result, crate::Error> { let mut v = Vec::new(); for _ in 0..n { - v.push(EphemerisCommonContentDepA::parse(buf)?); + v.push(EphemerisCommonContentDepB::parse(buf)?); } Ok(v) } } -/// Header for observation message. -/// -/// Header of a GPS observation message. -/// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct ObservationHeaderDep { - /// GPS time of this observation - pub t: GPSTimeDep, - /// Total number of observations. First nibble is the size of the sequence - /// (n), second nibble is the zero-indexed counter (ith packet of n) - pub n_obs: u8, +pub struct GnssCapb { + /// GPS SV active mask + pub gps_active: u64, + /// GPS L2C active mask + pub gps_l2c: u64, + /// GPS L5 active mask + pub gps_l5: u64, + /// GLO active mask + pub glo_active: u32, + /// GLO L2OF active mask + pub glo_l2of: u32, + /// GLO L3 active mask + pub glo_l3: u32, + /// SBAS active mask (PRNs 120..158, AN 7/62.2.2-18/18 Table B-23, + /// https://www.caat.or.th/wp-content/uploads/2018/03/SL-2018.18.E-1.pdf) + pub sbas_active: u64, + /// SBAS L5 active mask (PRNs 120..158, AN 7/62.2.2-18/18 Table B-23, + /// https://www.caat.or.th/wp-content/uploads/2018/03/SL-2018.18.E-1.pdf) + pub sbas_l5: u64, + /// BDS active mask + pub bds_active: u64, + /// BDS D2NAV active mask + pub bds_d2nav: u64, + /// BDS B2 active mask + pub bds_b2: u64, + /// BDS B2A active mask + pub bds_b2a: u64, + /// QZSS active mask + pub qzss_active: u32, + /// GAL active mask + pub gal_active: u64, + /// GAL E5 active mask + pub gal_e5: u64, } -impl ObservationHeaderDep { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(ObservationHeaderDep { - t: GPSTimeDep::parse(_buf)?, - n_obs: _buf.read_u8()?, +impl GnssCapb { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(GnssCapb { + gps_active: _buf.read_u64::()?, + gps_l2c: _buf.read_u64::()?, + gps_l5: _buf.read_u64::()?, + glo_active: _buf.read_u32::()?, + glo_l2of: _buf.read_u32::()?, + glo_l3: _buf.read_u32::()?, + sbas_active: _buf.read_u64::()?, + sbas_l5: _buf.read_u64::()?, + bds_active: _buf.read_u64::()?, + bds_d2nav: _buf.read_u64::()?, + bds_b2: _buf.read_u64::()?, + bds_b2a: _buf.read_u64::()?, + qzss_active: _buf.read_u32::()?, + gal_active: _buf.read_u64::()?, + gal_e5: _buf.read_u64::()?, }) } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { let mut v = Vec::new(); while buf.len() > 0 { - v.push(ObservationHeaderDep::parse(buf)?); + v.push(GnssCapb::parse(buf)?); } Ok(v) } - pub fn parse_array_limit( - buf: &mut &[u8], - n: usize, - ) -> Result, crate::Error> { + pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { let mut v = Vec::new(); for _ in 0..n { - v.push(ObservationHeaderDep::parse(buf)?); + v.push(GnssCapb::parse(buf)?); } Ok(v) } } -/// GPS carrier phase measurement. +/// Satellite broadcast ephemeris for GLO /// -/// Carrier phase measurement in cycles represented as a 40-bit -/// fixed point number with Q32.8 layout, i.e. 32-bits of whole -/// cycles and 8-bits of fractional cycles. This has the opposite -/// sign convention than a typical GPS receiver and the phase has -/// the opposite sign as the pseudorange. +/// The almanac message returns a set of satellite orbit parameters. Almanac +/// data is not very precise and is considered valid for up to several months. +/// Please see the GLO ICD 5.1 "Chapter 4.5 Non-immediate information and +/// almanac" for details. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct CarrierPhaseDepA { - /// Carrier phase whole cycles - pub i: i32, - /// Carrier phase fractional part - pub f: u8, +pub struct MsgAlmanacGlo { + pub sender_id: Option, + /// Values common for all almanac types + pub common: AlmanacCommonContent, + /// Longitude of the first ascending node of the orbit in PZ-90.02 + /// coordinate system + pub lambda_na: f64, + /// Time of the first ascending node passage + pub t_lambda_na: f64, + /// Value of inclination at instant of t_lambda + pub i: f64, + /// Value of Draconian period at instant of t_lambda + pub t: f64, + /// Rate of change of the Draconian period + pub t_dot: f64, + /// Eccentricity at instant of t_lambda + pub epsilon: f64, + /// Argument of perigee at instant of t_lambda + pub omega: f64, } -impl CarrierPhaseDepA { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(CarrierPhaseDepA { - i: _buf.read_i32::()?, - f: _buf.read_u8()?, +impl MsgAlmanacGlo { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgAlmanacGlo { + sender_id: None, + common: AlmanacCommonContent::parse(_buf)?, + lambda_na: _buf.read_f64::()?, + t_lambda_na: _buf.read_f64::()?, + i: _buf.read_f64::()?, + t: _buf.read_f64::()?, + t_dot: _buf.read_f64::()?, + epsilon: _buf.read_f64::()?, + omega: _buf.read_f64::()?, }) } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { - let mut v = Vec::new(); - while buf.len() > 0 { - v.push(CarrierPhaseDepA::parse(buf)?); - } - Ok(v) +} +impl super::SBPMessage for MsgAlmanacGlo { + const MSG_ID: u16 = 115; + + fn get_sender_id(&self) -> Option { + self.sender_id } - pub fn parse_array_limit( - buf: &mut &[u8], - n: usize, - ) -> Result, crate::Error> { - let mut v = Vec::new(); - for _ in 0..n { - v.push(CarrierPhaseDepA::parse(buf)?); - } - Ok(v) + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); } } -/// Deprecated +/// Satellite broadcast ephemeris for GLO /// -/// Deprecated. +/// The almanac message returns a set of satellite orbit parameters. Almanac +/// data is not very precise and is considered valid for up to several months. +/// Please see the GLO ICD 5.1 "Chapter 4.5 Non-immediate information and +/// almanac" for details. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct PackedObsContentDepA { - /// Pseudorange observation - pub P: u32, - /// Carrier phase observation with opposite sign from typical convention - pub L: CarrierPhaseDepA, - /// Carrier-to-Noise density - pub cn0: u8, - /// Lock indicator. This value changes whenever a satellite signal has lost - /// and regained lock, indicating that the carrier phase ambiguity may have - /// changed. - pub lock: u16, - /// PRN-1 identifier of the satellite signal - pub prn: u8, +pub struct MsgAlmanacGloDep { + pub sender_id: Option, + /// Values common for all almanac types + pub common: AlmanacCommonContentDep, + /// Longitude of the first ascending node of the orbit in PZ-90.02 + /// coordinate system + pub lambda_na: f64, + /// Time of the first ascending node passage + pub t_lambda_na: f64, + /// Value of inclination at instant of t_lambda + pub i: f64, + /// Value of Draconian period at instant of t_lambda + pub t: f64, + /// Rate of change of the Draconian period + pub t_dot: f64, + /// Eccentricity at instant of t_lambda + pub epsilon: f64, + /// Argument of perigee at instant of t_lambda + pub omega: f64, } -impl PackedObsContentDepA { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(PackedObsContentDepA { - P: _buf.read_u32::()?, - L: CarrierPhaseDepA::parse(_buf)?, - cn0: _buf.read_u8()?, - lock: _buf.read_u16::()?, - prn: _buf.read_u8()?, +impl MsgAlmanacGloDep { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgAlmanacGloDep { + sender_id: None, + common: AlmanacCommonContentDep::parse(_buf)?, + lambda_na: _buf.read_f64::()?, + t_lambda_na: _buf.read_f64::()?, + i: _buf.read_f64::()?, + t: _buf.read_f64::()?, + t_dot: _buf.read_f64::()?, + epsilon: _buf.read_f64::()?, + omega: _buf.read_f64::()?, }) } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { - let mut v = Vec::new(); - while buf.len() > 0 { - v.push(PackedObsContentDepA::parse(buf)?); - } - Ok(v) - } - - pub fn parse_array_limit( - buf: &mut &[u8], - n: usize, - ) -> Result, crate::Error> { - let mut v = Vec::new(); - for _ in 0..n { - v.push(PackedObsContentDepA::parse(buf)?); - } - Ok(v) - } -} - -/// GPS observations for a particular satellite signal. -/// -/// Pseudorange and carrier phase observation for a satellite being -/// tracked. Pseudoranges are referenced to a nominal pseudorange. -/// -#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] -#[derive(Debug)] -#[allow(non_snake_case)] -pub struct PackedObsContentDepB { - /// Pseudorange observation - pub P: u32, - /// Carrier phase observation with opposite sign from typical convention. - pub L: CarrierPhaseDepA, - /// Carrier-to-Noise density - pub cn0: u8, - /// Lock indicator. This value changes whenever a satellite signal has lost - /// and regained lock, indicating that the carrier phase ambiguity may have - /// changed. - pub lock: u16, - /// GNSS signal identifier - pub sid: GnssSignalDep, } +impl super::SBPMessage for MsgAlmanacGloDep { + const MSG_ID: u16 = 113; -impl PackedObsContentDepB { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(PackedObsContentDepB { - P: _buf.read_u32::()?, - L: CarrierPhaseDepA::parse(_buf)?, - cn0: _buf.read_u8()?, - lock: _buf.read_u16::()?, - sid: GnssSignalDep::parse(_buf)?, - }) - } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { - let mut v = Vec::new(); - while buf.len() > 0 { - v.push(PackedObsContentDepB::parse(buf)?); - } - Ok(v) + fn get_sender_id(&self) -> Option { + self.sender_id } - pub fn parse_array_limit( - buf: &mut &[u8], - n: usize, - ) -> Result, crate::Error> { - let mut v = Vec::new(); - for _ in 0..n { - v.push(PackedObsContentDepB::parse(buf)?); - } - Ok(v) + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); } } -/// GPS observations for a particular satellite signal. +/// Satellite broadcast ephemeris for GPS /// -/// Pseudorange and carrier phase observation for a satellite being -/// tracked. The observations are be interoperable with 3rd party -/// receivers and conform with typical RTCMv3 GNSS observations. +/// The almanac message returns a set of satellite orbit parameters. Almanac +/// data is not very precise and is considered valid for up to several months. +/// Please see the Navstar GPS Space Segment/Navigation user interfaces +/// (ICD-GPS-200, Chapter 20.3.3.5.1.2 Almanac Data) for more details. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct PackedObsContentDepC { - /// Pseudorange observation - pub P: u32, - /// Carrier phase observation with typical sign convention. - pub L: CarrierPhase, - /// Carrier-to-Noise density - pub cn0: u8, - /// Lock indicator. This value changes whenever a satellite signal has lost - /// and regained lock, indicating that the carrier phase ambiguity may have - /// changed. - pub lock: u16, - /// GNSS signal identifier - pub sid: GnssSignalDep, -} - -impl PackedObsContentDepC { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(PackedObsContentDepC { - P: _buf.read_u32::()?, - L: CarrierPhase::parse(_buf)?, - cn0: _buf.read_u8()?, - lock: _buf.read_u16::()?, - sid: GnssSignalDep::parse(_buf)?, - }) - } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { - let mut v = Vec::new(); - while buf.len() > 0 { - v.push(PackedObsContentDepC::parse(buf)?); - } - Ok(v) - } - - pub fn parse_array_limit( - buf: &mut &[u8], - n: usize, - ) -> Result, crate::Error> { - let mut v = Vec::new(); - for _ in 0..n { - v.push(PackedObsContentDepC::parse(buf)?); - } - Ok(v) - } -} - -#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] -#[derive(Debug)] -#[allow(non_snake_case)] -pub struct GnssCapb { - /// GPS SV active mask - pub gps_active: u64, - /// GPS L2C active mask - pub gps_l2c: u64, - /// GPS L5 active mask - pub gps_l5: u64, - /// GLO active mask - pub glo_active: u32, - /// GLO L2OF active mask - pub glo_l2of: u32, - /// GLO L3 active mask - pub glo_l3: u32, - /// SBAS active mask (PRNs 120..158, AN 7/62.2.2-18/18 Table B-23, - /// https://www.caat.or.th/wp-content/uploads/2018/03/SL-2018.18.E-1.pdf) - pub sbas_active: u64, - /// SBAS L5 active mask (PRNs 120..158, AN 7/62.2.2-18/18 Table B-23, - /// https://www.caat.or.th/wp-content/uploads/2018/03/SL-2018.18.E-1.pdf) - pub sbas_l5: u64, - /// BDS active mask - pub bds_active: u64, - /// BDS D2NAV active mask - pub bds_d2nav: u64, - /// BDS B2 active mask - pub bds_b2: u64, - /// BDS B2A active mask - pub bds_b2a: u64, - /// QZSS active mask - pub qzss_active: u32, - /// GAL active mask - pub gal_active: u64, - /// GAL E5 active mask - pub gal_e5: u64, -} - -impl GnssCapb { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(GnssCapb { - gps_active: _buf.read_u64::()?, - gps_l2c: _buf.read_u64::()?, - gps_l5: _buf.read_u64::()?, - glo_active: _buf.read_u32::()?, - glo_l2of: _buf.read_u32::()?, - glo_l3: _buf.read_u32::()?, - sbas_active: _buf.read_u64::()?, - sbas_l5: _buf.read_u64::()?, - bds_active: _buf.read_u64::()?, - bds_d2nav: _buf.read_u64::()?, - bds_b2: _buf.read_u64::()?, - bds_b2a: _buf.read_u64::()?, - qzss_active: _buf.read_u32::()?, - gal_active: _buf.read_u64::()?, - gal_e5: _buf.read_u64::()?, - }) - } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { - let mut v = Vec::new(); - while buf.len() > 0 { - v.push(GnssCapb::parse(buf)?); - } - Ok(v) - } - - pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { - let mut v = Vec::new(); - for _ in 0..n { - v.push(GnssCapb::parse(buf)?); - } - Ok(v) - } -} - -#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] -#[derive(Debug)] -#[allow(non_snake_case)] -pub struct AlmanacCommonContent { - /// GNSS signal identifier - pub sid: GnssSignal, - /// Reference time of almanac - pub toa: GPSTimeSec, - /// User Range Accuracy - pub ura: f64, - /// Curve fit interval - pub fit_interval: u32, - /// Status of almanac, 1 = valid, 0 = invalid - pub valid: u8, - /// Satellite health status for GPS: - bits 5-7: NAV data health status. - /// See IS-GPS-200H Table 20-VII: NAV Data Health Indications. - bits - /// 0-4: Signal health status. See IS-GPS-200H Table 20-VIII. Codes for - /// Health of SV Signal Components. Satellite health status for GLO: - /// See GLO ICD 5.1 table 5.1 for details - bit 0: C(n), "unhealthy" flag - /// that is transmitted within non-immediate data and indicates overall - /// constellation status at the moment of almanac uploading. '0' - /// indicates malfunction of n-satellite. '1' indicates that n-satellite - /// is operational. - bit 1: Bn(ln), '0' indicates the satellite is - /// operational and suitable for navigation. - pub health_bits: u8, -} - -impl AlmanacCommonContent { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(AlmanacCommonContent { - sid: GnssSignal::parse(_buf)?, - toa: GPSTimeSec::parse(_buf)?, - ura: _buf.read_f64::()?, - fit_interval: _buf.read_u32::()?, - valid: _buf.read_u8()?, - health_bits: _buf.read_u8()?, - }) - } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { - let mut v = Vec::new(); - while buf.len() > 0 { - v.push(AlmanacCommonContent::parse(buf)?); - } - Ok(v) - } - - pub fn parse_array_limit( - buf: &mut &[u8], - n: usize, - ) -> Result, crate::Error> { - let mut v = Vec::new(); - for _ in 0..n { - v.push(AlmanacCommonContent::parse(buf)?); - } - Ok(v) - } -} - -#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] -#[derive(Debug)] -#[allow(non_snake_case)] -pub struct AlmanacCommonContentDep { - /// GNSS signal identifier - pub sid: GnssSignalDep, - /// Reference time of almanac - pub toa: GPSTimeSec, - /// User Range Accuracy - pub ura: f64, - /// Curve fit interval - pub fit_interval: u32, - /// Status of almanac, 1 = valid, 0 = invalid - pub valid: u8, - /// Satellite health status for GPS: - bits 5-7: NAV data health status. - /// See IS-GPS-200H Table 20-VII: NAV Data Health Indications. - bits - /// 0-4: Signal health status. See IS-GPS-200H Table 20-VIII. Codes for - /// Health of SV Signal Components. Satellite health status for GLO: - /// See GLO ICD 5.1 table 5.1 for details - bit 0: C(n), "unhealthy" flag - /// that is transmitted within non-immediate data and indicates overall - /// constellation status at the moment of almanac uploading. '0' - /// indicates malfunction of n-satellite. '1' indicates that n-satellite - /// is operational. - bit 1: Bn(ln), '0' indicates the satellite is - /// operational and suitable for navigation. - pub health_bits: u8, +pub struct MsgAlmanacGPS { + pub sender_id: Option, + /// Values common for all almanac types + pub common: AlmanacCommonContent, + /// Mean anomaly at reference time + pub m0: f64, + /// Eccentricity of satellite orbit + pub ecc: f64, + /// Square root of the semi-major axis of orbit + pub sqrta: f64, + /// Longitude of ascending node of orbit plane at weekly epoch + pub omega0: f64, + /// Rate of right ascension + pub omegadot: f64, + /// Argument of perigee + pub w: f64, + /// Inclination + pub inc: f64, + /// Polynomial clock correction coefficient (clock bias) + pub af0: f64, + /// Polynomial clock correction coefficient (clock drift) + pub af1: f64, } -impl AlmanacCommonContentDep { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(AlmanacCommonContentDep { - sid: GnssSignalDep::parse(_buf)?, - toa: GPSTimeSec::parse(_buf)?, - ura: _buf.read_f64::()?, - fit_interval: _buf.read_u32::()?, - valid: _buf.read_u8()?, - health_bits: _buf.read_u8()?, +impl MsgAlmanacGPS { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgAlmanacGPS { + sender_id: None, + common: AlmanacCommonContent::parse(_buf)?, + m0: _buf.read_f64::()?, + ecc: _buf.read_f64::()?, + sqrta: _buf.read_f64::()?, + omega0: _buf.read_f64::()?, + omegadot: _buf.read_f64::()?, + w: _buf.read_f64::()?, + inc: _buf.read_f64::()?, + af0: _buf.read_f64::()?, + af1: _buf.read_f64::()?, }) } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { - let mut v = Vec::new(); - while buf.len() > 0 { - v.push(AlmanacCommonContentDep::parse(buf)?); - } - Ok(v) - } - - pub fn parse_array_limit( - buf: &mut &[u8], - n: usize, - ) -> Result, crate::Error> { - let mut v = Vec::new(); - for _ in 0..n { - v.push(AlmanacCommonContentDep::parse(buf)?); - } - Ok(v) - } -} - -/// Satellite azimuth and elevation. -/// -/// Satellite azimuth and elevation. -/// -#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] -#[derive(Debug)] -#[allow(non_snake_case)] -pub struct SvAzEl { - /// GNSS signal identifier - pub sid: GnssSignal, - /// Azimuth angle (range 0..179) - pub az: u8, - /// Elevation angle (range -90..90) - pub el: i8, } +impl super::SBPMessage for MsgAlmanacGPS { + const MSG_ID: u16 = 114; -impl SvAzEl { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(SvAzEl { - sid: GnssSignal::parse(_buf)?, - az: _buf.read_u8()?, - el: _buf.read_i8()?, - }) - } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { - let mut v = Vec::new(); - while buf.len() > 0 { - v.push(SvAzEl::parse(buf)?); - } - Ok(v) + fn get_sender_id(&self) -> Option { + self.sender_id } - pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { - let mut v = Vec::new(); - for _ in 0..n { - v.push(SvAzEl::parse(buf)?); - } - Ok(v) + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); } } -/// Deprecated +/// Satellite broadcast ephemeris for GPS /// -/// Deprecated. +/// The almanac message returns a set of satellite orbit parameters. Almanac +/// data is not very precise and is considered valid for up to several months. +/// Please see the Navstar GPS Space Segment/Navigation user interfaces +/// (ICD-GPS-200, Chapter 20.3.3.5.1.2 Almanac Data) for more details. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgEphemerisDepA { +pub struct MsgAlmanacGPSDep { pub sender_id: Option, - /// Group delay differential between L1 and L2 - pub tgd: f64, - /// Amplitude of the sine harmonic correction term to the orbit radius - pub c_rs: f64, - /// Amplitude of the cosine harmonic correction term to the orbit radius - pub c_rc: f64, - /// Amplitude of the cosine harmonic correction term to the argument of - /// latitude - pub c_uc: f64, - /// Amplitude of the sine harmonic correction term to the argument of - /// latitude - pub c_us: f64, - /// Amplitude of the cosine harmonic correction term to the angle of - /// inclination - pub c_ic: f64, - /// Amplitude of the sine harmonic correction term to the angle of - /// inclination - pub c_is: f64, - /// Mean motion difference - pub dn: f64, + /// Values common for all almanac types + pub common: AlmanacCommonContentDep, /// Mean anomaly at reference time pub m0: f64, /// Eccentricity of satellite orbit @@ -905,45 +652,20 @@ pub struct MsgEphemerisDepA { /// Rate of right ascension pub omegadot: f64, /// Argument of perigee - pub w: f64, - /// Inclination - pub inc: f64, - /// Inclination first derivative - pub inc_dot: f64, - /// Polynomial clock correction coefficient (clock bias) - pub af0: f64, - /// Polynomial clock correction coefficient (clock drift) - pub af1: f64, - /// Polynomial clock correction coefficient (rate of clock drift) - pub af2: f64, - /// Time of week - pub toe_tow: f64, - /// Week number - pub toe_wn: u16, - /// Clock reference time of week - pub toc_tow: f64, - /// Clock reference week number - pub toc_wn: u16, - /// Is valid? - pub valid: u8, - /// Satellite is healthy? - pub healthy: u8, - /// PRN being tracked - pub prn: u8, + pub w: f64, + /// Inclination + pub inc: f64, + /// Polynomial clock correction coefficient (clock bias) + pub af0: f64, + /// Polynomial clock correction coefficient (clock drift) + pub af1: f64, } -impl MsgEphemerisDepA { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgEphemerisDepA { +impl MsgAlmanacGPSDep { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgAlmanacGPSDep { sender_id: None, - tgd: _buf.read_f64::()?, - c_rs: _buf.read_f64::()?, - c_rc: _buf.read_f64::()?, - c_uc: _buf.read_f64::()?, - c_us: _buf.read_f64::()?, - c_ic: _buf.read_f64::()?, - c_is: _buf.read_f64::()?, - dn: _buf.read_f64::()?, + common: AlmanacCommonContentDep::parse(_buf)?, m0: _buf.read_f64::()?, ecc: _buf.read_f64::()?, sqrta: _buf.read_f64::()?, @@ -951,22 +673,13 @@ impl MsgEphemerisDepA { omegadot: _buf.read_f64::()?, w: _buf.read_f64::()?, inc: _buf.read_f64::()?, - inc_dot: _buf.read_f64::()?, af0: _buf.read_f64::()?, af1: _buf.read_f64::()?, - af2: _buf.read_f64::()?, - toe_tow: _buf.read_f64::()?, - toe_wn: _buf.read_u16::()?, - toc_tow: _buf.read_f64::()?, - toc_wn: _buf.read_u16::()?, - valid: _buf.read_u8()?, - healthy: _buf.read_u8()?, - prn: _buf.read_u8()?, }) } } -impl super::SBPMessage for MsgEphemerisDepA { - const MSG_ID: u16 = 26; +impl super::SBPMessage for MsgAlmanacGPSDep { + const MSG_ID: u16 = 112; fn get_sender_id(&self) -> Option { self.sender_id @@ -977,37 +690,40 @@ impl super::SBPMessage for MsgEphemerisDepA { } } -/// Deprecated +/// Base station position in ECEF /// -/// This observation message has been deprecated in favor of -/// observations that are more interoperable. This message -/// should be used for observations referenced to -/// a nominal pseudorange which are not interoperable with -/// most 3rd party GNSS receievers or typical RTCMv3 -/// observations. +/// The base station position message is the position reported by +/// the base station itself in absolute Earth Centered Earth Fixed +/// coordinates. It is used for pseudo-absolute RTK positioning, and +/// is required to be a high-accuracy surveyed location of the base +/// station. Any error here will result in an error in the +/// pseudo-absolute position output. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgObsDepB { +pub struct MsgBasePosECEF { pub sender_id: Option, - /// Header of a GPS observation message - pub header: ObservationHeaderDep, - /// Pseudorange and carrier phase observation for a satellite being tracked. - pub obs: Vec, + /// ECEF X coodinate + pub x: f64, + /// ECEF Y coordinate + pub y: f64, + /// ECEF Z coordinate + pub z: f64, } -impl MsgObsDepB { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgObsDepB { +impl MsgBasePosECEF { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgBasePosECEF { sender_id: None, - header: ObservationHeaderDep::parse(_buf)?, - obs: PackedObsContentDepB::parse_array(_buf)?, + x: _buf.read_f64::()?, + y: _buf.read_f64::()?, + z: _buf.read_f64::()?, }) } } -impl super::SBPMessage for MsgObsDepB { - const MSG_ID: u16 = 67; +impl super::SBPMessage for MsgBasePosECEF { + const MSG_ID: u16 = 72; fn get_sender_id(&self) -> Option { self.sender_id @@ -1061,6 +777,115 @@ impl super::SBPMessage for MsgBasePosLLH { } } +/// Satellite broadcast ephemeris for BDS +/// +/// The ephemeris message returns a set of satellite orbit +/// parameters that is used to calculate BDS satellite position, +/// velocity, and clock offset. Please see the BeiDou Navigation +/// Satellite System SIS-ICD Version 2.1, Table 5-9 for more details. +/// +#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] +#[derive(Debug)] +#[allow(non_snake_case)] +pub struct MsgEphemerisBds { + pub sender_id: Option, + /// Values common for all ephemeris types + pub common: EphemerisCommonContent, + /// Group delay differential for B1 + pub tgd1: f32, + /// Group delay differential for B2 + pub tgd2: f32, + /// Amplitude of the sine harmonic correction term to the orbit radius + pub c_rs: f32, + /// Amplitude of the cosine harmonic correction term to the orbit radius + pub c_rc: f32, + /// Amplitude of the cosine harmonic correction term to the argument of + /// latitude + pub c_uc: f32, + /// Amplitude of the sine harmonic correction term to the argument of + /// latitude + pub c_us: f32, + /// Amplitude of the cosine harmonic correction term to the angle of + /// inclination + pub c_ic: f32, + /// Amplitude of the sine harmonic correction term to the angle of + /// inclination + pub c_is: f32, + /// Mean motion difference + pub dn: f64, + /// Mean anomaly at reference time + pub m0: f64, + /// Eccentricity of satellite orbit + pub ecc: f64, + /// Square root of the semi-major axis of orbit + pub sqrta: f64, + /// Longitude of ascending node of orbit plane at weekly epoch + pub omega0: f64, + /// Rate of right ascension + pub omegadot: f64, + /// Argument of perigee + pub w: f64, + /// Inclination + pub inc: f64, + /// Inclination first derivative + pub inc_dot: f64, + /// Polynomial clock correction coefficient (clock bias) + pub af0: f64, + /// Polynomial clock correction coefficient (clock drift) + pub af1: f32, + /// Polynomial clock correction coefficient (rate of clock drift) + pub af2: f32, + /// Clock reference + pub toc: GPSTimeSec, + /// Issue of ephemeris data + pub iode: u8, + /// Issue of clock data + pub iodc: u16, +} + +impl MsgEphemerisBds { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgEphemerisBds { + sender_id: None, + common: EphemerisCommonContent::parse(_buf)?, + tgd1: _buf.read_f32::()?, + tgd2: _buf.read_f32::()?, + c_rs: _buf.read_f32::()?, + c_rc: _buf.read_f32::()?, + c_uc: _buf.read_f32::()?, + c_us: _buf.read_f32::()?, + c_ic: _buf.read_f32::()?, + c_is: _buf.read_f32::()?, + dn: _buf.read_f64::()?, + m0: _buf.read_f64::()?, + ecc: _buf.read_f64::()?, + sqrta: _buf.read_f64::()?, + omega0: _buf.read_f64::()?, + omegadot: _buf.read_f64::()?, + w: _buf.read_f64::()?, + inc: _buf.read_f64::()?, + inc_dot: _buf.read_f64::()?, + af0: _buf.read_f64::()?, + af1: _buf.read_f32::()?, + af2: _buf.read_f32::()?, + toc: GPSTimeSec::parse(_buf)?, + iode: _buf.read_u8()?, + iodc: _buf.read_u16::()?, + }) + } +} +impl super::SBPMessage for MsgEphemerisBds { + const MSG_ID: u16 = 137; + + fn get_sender_id(&self) -> Option { + self.sender_id + } + + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); + } +} + /// Deprecated /// /// Deprecated. @@ -1068,25 +893,101 @@ impl super::SBPMessage for MsgBasePosLLH { #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgObsDepA { +pub struct MsgEphemerisDepA { pub sender_id: Option, - /// Header of a GPS observation message - pub header: ObservationHeaderDep, - /// Pseudorange and carrier phase observation for a satellite being tracked. - pub obs: Vec, + /// Group delay differential between L1 and L2 + pub tgd: f64, + /// Amplitude of the sine harmonic correction term to the orbit radius + pub c_rs: f64, + /// Amplitude of the cosine harmonic correction term to the orbit radius + pub c_rc: f64, + /// Amplitude of the cosine harmonic correction term to the argument of + /// latitude + pub c_uc: f64, + /// Amplitude of the sine harmonic correction term to the argument of + /// latitude + pub c_us: f64, + /// Amplitude of the cosine harmonic correction term to the angle of + /// inclination + pub c_ic: f64, + /// Amplitude of the sine harmonic correction term to the angle of + /// inclination + pub c_is: f64, + /// Mean motion difference + pub dn: f64, + /// Mean anomaly at reference time + pub m0: f64, + /// Eccentricity of satellite orbit + pub ecc: f64, + /// Square root of the semi-major axis of orbit + pub sqrta: f64, + /// Longitude of ascending node of orbit plane at weekly epoch + pub omega0: f64, + /// Rate of right ascension + pub omegadot: f64, + /// Argument of perigee + pub w: f64, + /// Inclination + pub inc: f64, + /// Inclination first derivative + pub inc_dot: f64, + /// Polynomial clock correction coefficient (clock bias) + pub af0: f64, + /// Polynomial clock correction coefficient (clock drift) + pub af1: f64, + /// Polynomial clock correction coefficient (rate of clock drift) + pub af2: f64, + /// Time of week + pub toe_tow: f64, + /// Week number + pub toe_wn: u16, + /// Clock reference time of week + pub toc_tow: f64, + /// Clock reference week number + pub toc_wn: u16, + /// Is valid? + pub valid: u8, + /// Satellite is healthy? + pub healthy: u8, + /// PRN being tracked + pub prn: u8, } -impl MsgObsDepA { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgObsDepA { +impl MsgEphemerisDepA { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgEphemerisDepA { sender_id: None, - header: ObservationHeaderDep::parse(_buf)?, - obs: PackedObsContentDepA::parse_array(_buf)?, + tgd: _buf.read_f64::()?, + c_rs: _buf.read_f64::()?, + c_rc: _buf.read_f64::()?, + c_uc: _buf.read_f64::()?, + c_us: _buf.read_f64::()?, + c_ic: _buf.read_f64::()?, + c_is: _buf.read_f64::()?, + dn: _buf.read_f64::()?, + m0: _buf.read_f64::()?, + ecc: _buf.read_f64::()?, + sqrta: _buf.read_f64::()?, + omega0: _buf.read_f64::()?, + omegadot: _buf.read_f64::()?, + w: _buf.read_f64::()?, + inc: _buf.read_f64::()?, + inc_dot: _buf.read_f64::()?, + af0: _buf.read_f64::()?, + af1: _buf.read_f64::()?, + af2: _buf.read_f64::()?, + toe_tow: _buf.read_f64::()?, + toe_wn: _buf.read_u16::()?, + toc_tow: _buf.read_f64::()?, + toc_wn: _buf.read_u16::()?, + valid: _buf.read_u8()?, + healthy: _buf.read_u8()?, + prn: _buf.read_u8()?, }) } } -impl super::SBPMessage for MsgObsDepA { - const MSG_ID: u16 = 69; +impl super::SBPMessage for MsgEphemerisDepA { + const MSG_ID: u16 = 26; fn get_sender_id(&self) -> Option { self.sender_id @@ -1337,82 +1238,121 @@ impl super::SBPMessage for MsgEphemerisDepC { } } -/// Base station position in ECEF -/// -/// The base station position message is the position reported by -/// the base station itself in absolute Earth Centered Earth Fixed -/// coordinates. It is used for pseudo-absolute RTK positioning, and -/// is required to be a high-accuracy surveyed location of the base -/// station. Any error here will result in an error in the -/// pseudo-absolute position output. -/// -#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] -#[derive(Debug)] -#[allow(non_snake_case)] -pub struct MsgBasePosECEF { - pub sender_id: Option, - /// ECEF X coodinate - pub x: f64, - /// ECEF Y coordinate - pub y: f64, - /// ECEF Z coordinate - pub z: f64, -} - -impl MsgBasePosECEF { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgBasePosECEF { - sender_id: None, - x: _buf.read_f64::()?, - y: _buf.read_f64::()?, - z: _buf.read_f64::()?, - }) - } -} -impl super::SBPMessage for MsgBasePosECEF { - const MSG_ID: u16 = 72; - - fn get_sender_id(&self) -> Option { - self.sender_id - } - - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); - } -} - -/// Deprecated +/// Satellite broadcast ephemeris /// -/// The GPS observations message reports all the raw pseudorange and -/// carrier phase observations for the satellites being tracked by -/// the device. Carrier phase observation here is represented as a -/// 40-bit fixed point number with Q32.8 layout (i.e. 32-bits of -/// whole cycles and 8-bits of fractional cycles). The observations -/// are interoperable with 3rd party receivers and conform -/// with typical RTCMv3 GNSS observations. +/// The ephemeris message returns a set of satellite orbit +/// parameters that is used to calculate GPS satellite position, +/// velocity, and clock offset. Please see the Navstar GPS +/// Space Segment/Navigation user interfaces (ICD-GPS-200, Table +/// 20-III) for more details. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgObsDepC { +pub struct MsgEphemerisDepD { pub sender_id: Option, - /// Header of a GPS observation message - pub header: ObservationHeaderDep, - /// Pseudorange and carrier phase observation for a satellite being tracked. - pub obs: Vec, + /// Group delay differential between L1 and L2 + pub tgd: f64, + /// Amplitude of the sine harmonic correction term to the orbit radius + pub c_rs: f64, + /// Amplitude of the cosine harmonic correction term to the orbit radius + pub c_rc: f64, + /// Amplitude of the cosine harmonic correction term to the argument of + /// latitude + pub c_uc: f64, + /// Amplitude of the sine harmonic correction term to the argument of + /// latitude + pub c_us: f64, + /// Amplitude of the cosine harmonic correction term to the angle of + /// inclination + pub c_ic: f64, + /// Amplitude of the sine harmonic correction term to the angle of + /// inclination + pub c_is: f64, + /// Mean motion difference + pub dn: f64, + /// Mean anomaly at reference time + pub m0: f64, + /// Eccentricity of satellite orbit + pub ecc: f64, + /// Square root of the semi-major axis of orbit + pub sqrta: f64, + /// Longitude of ascending node of orbit plane at weekly epoch + pub omega0: f64, + /// Rate of right ascension + pub omegadot: f64, + /// Argument of perigee + pub w: f64, + /// Inclination + pub inc: f64, + /// Inclination first derivative + pub inc_dot: f64, + /// Polynomial clock correction coefficient (clock bias) + pub af0: f64, + /// Polynomial clock correction coefficient (clock drift) + pub af1: f64, + /// Polynomial clock correction coefficient (rate of clock drift) + pub af2: f64, + /// Time of week + pub toe_tow: f64, + /// Week number + pub toe_wn: u16, + /// Clock reference time of week + pub toc_tow: f64, + /// Clock reference week number + pub toc_wn: u16, + /// Is valid? + pub valid: u8, + /// Satellite is healthy? + pub healthy: u8, + /// GNSS signal identifier + pub sid: GnssSignalDep, + /// Issue of ephemeris data + pub iode: u8, + /// Issue of clock data + pub iodc: u16, + /// Reserved field + pub reserved: u32, } -impl MsgObsDepC { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgObsDepC { +impl MsgEphemerisDepD { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgEphemerisDepD { sender_id: None, - header: ObservationHeaderDep::parse(_buf)?, - obs: PackedObsContentDepC::parse_array(_buf)?, + tgd: _buf.read_f64::()?, + c_rs: _buf.read_f64::()?, + c_rc: _buf.read_f64::()?, + c_uc: _buf.read_f64::()?, + c_us: _buf.read_f64::()?, + c_ic: _buf.read_f64::()?, + c_is: _buf.read_f64::()?, + dn: _buf.read_f64::()?, + m0: _buf.read_f64::()?, + ecc: _buf.read_f64::()?, + sqrta: _buf.read_f64::()?, + omega0: _buf.read_f64::()?, + omegadot: _buf.read_f64::()?, + w: _buf.read_f64::()?, + inc: _buf.read_f64::()?, + inc_dot: _buf.read_f64::()?, + af0: _buf.read_f64::()?, + af1: _buf.read_f64::()?, + af2: _buf.read_f64::()?, + toe_tow: _buf.read_f64::()?, + toe_wn: _buf.read_u16::()?, + toc_tow: _buf.read_f64::()?, + toc_wn: _buf.read_u16::()?, + valid: _buf.read_u8()?, + healthy: _buf.read_u8()?, + sid: GnssSignalDep::parse(_buf)?, + iode: _buf.read_u8()?, + iodc: _buf.read_u16::()?, + reserved: _buf.read_u32::()?, }) } } -impl super::SBPMessage for MsgObsDepC { - const MSG_ID: u16 = 73; +impl super::SBPMessage for MsgEphemerisDepD { + const MSG_ID: u16 = 128; fn get_sender_id(&self) -> Option { self.sender_id @@ -1423,38 +1363,108 @@ impl super::SBPMessage for MsgObsDepC { } } -/// GPS satellite observations +/// Satellite broadcast ephemeris for Galileo /// -/// The GPS observations message reports all the raw pseudorange and -/// carrier phase observations for the satellites being tracked by -/// the device. Carrier phase observation here is represented as a -/// 40-bit fixed point number with Q32.8 layout (i.e. 32-bits of -/// whole cycles and 8-bits of fractional cycles). The observations -/// are be interoperable with 3rd party receivers and conform -/// with typical RTCMv3 GNSS observations. +/// The ephemeris message returns a set of satellite orbit +/// parameters that is used to calculate Galileo satellite position, +/// velocity, and clock offset. Please see the Signal In Space ICD +/// OS SIS ICD, Issue 1.3, December 2016 for more details. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgObs { +pub struct MsgEphemerisGal { pub sender_id: Option, - /// Header of a GPS observation message - pub header: ObservationHeader, - /// Pseudorange and carrier phase observation for a satellite being tracked. - pub obs: Vec, + /// Values common for all ephemeris types + pub common: EphemerisCommonContent, + /// E1-E5a Broadcast Group Delay + pub bgd_e1e5a: f32, + /// E1-E5b Broadcast Group Delay + pub bgd_e1e5b: f32, + /// Amplitude of the sine harmonic correction term to the orbit radius + pub c_rs: f32, + /// Amplitude of the cosine harmonic correction term to the orbit radius + pub c_rc: f32, + /// Amplitude of the cosine harmonic correction term to the argument of + /// latitude + pub c_uc: f32, + /// Amplitude of the sine harmonic correction term to the argument of + /// latitude + pub c_us: f32, + /// Amplitude of the cosine harmonic correction term to the angle of + /// inclination + pub c_ic: f32, + /// Amplitude of the sine harmonic correction term to the angle of + /// inclination + pub c_is: f32, + /// Mean motion difference + pub dn: f64, + /// Mean anomaly at reference time + pub m0: f64, + /// Eccentricity of satellite orbit + pub ecc: f64, + /// Square root of the semi-major axis of orbit + pub sqrta: f64, + /// Longitude of ascending node of orbit plane at weekly epoch + pub omega0: f64, + /// Rate of right ascension + pub omegadot: f64, + /// Argument of perigee + pub w: f64, + /// Inclination + pub inc: f64, + /// Inclination first derivative + pub inc_dot: f64, + /// Polynomial clock correction coefficient (clock bias) + pub af0: f64, + /// Polynomial clock correction coefficient (clock drift) + pub af1: f64, + /// Polynomial clock correction coefficient (rate of clock drift) + pub af2: f32, + /// Clock reference + pub toc: GPSTimeSec, + /// Issue of ephemeris data + pub iode: u16, + /// Issue of clock data + pub iodc: u16, + /// 0=I/NAV, 1=F/NAV, ... + pub source: u8, } -impl MsgObs { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgObs { +impl MsgEphemerisGal { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgEphemerisGal { sender_id: None, - header: ObservationHeader::parse(_buf)?, - obs: PackedObsContent::parse_array(_buf)?, + common: EphemerisCommonContent::parse(_buf)?, + bgd_e1e5a: _buf.read_f32::()?, + bgd_e1e5b: _buf.read_f32::()?, + c_rs: _buf.read_f32::()?, + c_rc: _buf.read_f32::()?, + c_uc: _buf.read_f32::()?, + c_us: _buf.read_f32::()?, + c_ic: _buf.read_f32::()?, + c_is: _buf.read_f32::()?, + dn: _buf.read_f64::()?, + m0: _buf.read_f64::()?, + ecc: _buf.read_f64::()?, + sqrta: _buf.read_f64::()?, + omega0: _buf.read_f64::()?, + omegadot: _buf.read_f64::()?, + w: _buf.read_f64::()?, + inc: _buf.read_f64::()?, + inc_dot: _buf.read_f64::()?, + af0: _buf.read_f64::()?, + af1: _buf.read_f64::()?, + af2: _buf.read_f32::()?, + toc: GPSTimeSec::parse(_buf)?, + iode: _buf.read_u16::()?, + iodc: _buf.read_u16::()?, + source: _buf.read_u8()?, }) } } -impl super::SBPMessage for MsgObs { - const MSG_ID: u16 = 74; +impl super::SBPMessage for MsgEphemerisGal { + const MSG_ID: u16 = 141; fn get_sender_id(&self) -> Option { self.sender_id @@ -1465,20 +1475,40 @@ impl super::SBPMessage for MsgObs { } } -/// Satellite broadcast ephemeris for GPS +/// Deprecated /// -/// The almanac message returns a set of satellite orbit parameters. Almanac -/// data is not very precise and is considered valid for up to several months. -/// Please see the Navstar GPS Space Segment/Navigation user interfaces -/// (ICD-GPS-200, Chapter 20.3.3.5.1.2 Almanac Data) for more details. +/// This observation message has been deprecated in favor of +/// an ephemeris message with explicit source of NAV data. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgAlmanacGPSDep { +pub struct MsgEphemerisGalDepA { pub sender_id: Option, - /// Values common for all almanac types - pub common: AlmanacCommonContentDep, + /// Values common for all ephemeris types + pub common: EphemerisCommonContent, + /// E1-E5a Broadcast Group Delay + pub bgd_e1e5a: f32, + /// E1-E5b Broadcast Group Delay + pub bgd_e1e5b: f32, + /// Amplitude of the sine harmonic correction term to the orbit radius + pub c_rs: f32, + /// Amplitude of the cosine harmonic correction term to the orbit radius + pub c_rc: f32, + /// Amplitude of the cosine harmonic correction term to the argument of + /// latitude + pub c_uc: f32, + /// Amplitude of the sine harmonic correction term to the argument of + /// latitude + pub c_us: f32, + /// Amplitude of the cosine harmonic correction term to the angle of + /// inclination + pub c_ic: f32, + /// Amplitude of the sine harmonic correction term to the angle of + /// inclination + pub c_is: f32, + /// Mean motion difference + pub dn: f64, /// Mean anomaly at reference time pub m0: f64, /// Eccentricity of satellite orbit @@ -1493,17 +1523,36 @@ pub struct MsgAlmanacGPSDep { pub w: f64, /// Inclination pub inc: f64, + /// Inclination first derivative + pub inc_dot: f64, /// Polynomial clock correction coefficient (clock bias) pub af0: f64, /// Polynomial clock correction coefficient (clock drift) pub af1: f64, + /// Polynomial clock correction coefficient (rate of clock drift) + pub af2: f32, + /// Clock reference + pub toc: GPSTimeSec, + /// Issue of ephemeris data + pub iode: u16, + /// Issue of clock data + pub iodc: u16, } -impl MsgAlmanacGPSDep { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgAlmanacGPSDep { +impl MsgEphemerisGalDepA { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgEphemerisGalDepA { sender_id: None, - common: AlmanacCommonContentDep::parse(_buf)?, + common: EphemerisCommonContent::parse(_buf)?, + bgd_e1e5a: _buf.read_f32::()?, + bgd_e1e5b: _buf.read_f32::()?, + c_rs: _buf.read_f32::()?, + c_rc: _buf.read_f32::()?, + c_uc: _buf.read_f32::()?, + c_us: _buf.read_f32::()?, + c_ic: _buf.read_f32::()?, + c_is: _buf.read_f32::()?, + dn: _buf.read_f64::()?, m0: _buf.read_f64::()?, ecc: _buf.read_f64::()?, sqrta: _buf.read_f64::()?, @@ -1511,13 +1560,18 @@ impl MsgAlmanacGPSDep { omegadot: _buf.read_f64::()?, w: _buf.read_f64::()?, inc: _buf.read_f64::()?, + inc_dot: _buf.read_f64::()?, af0: _buf.read_f64::()?, af1: _buf.read_f64::()?, + af2: _buf.read_f32::()?, + toc: GPSTimeSec::parse(_buf)?, + iode: _buf.read_u16::()?, + iodc: _buf.read_u16::()?, }) } } -impl super::SBPMessage for MsgAlmanacGPSDep { - const MSG_ID: u16 = 112; +impl super::SBPMessage for MsgEphemerisGalDepA { + const MSG_ID: u16 = 149; fn get_sender_id(&self) -> Option { self.sender_id @@ -1530,52 +1584,159 @@ impl super::SBPMessage for MsgAlmanacGPSDep { /// Satellite broadcast ephemeris for GLO /// -/// The almanac message returns a set of satellite orbit parameters. Almanac -/// data is not very precise and is considered valid for up to several months. -/// Please see the GLO ICD 5.1 "Chapter 4.5 Non-immediate information and -/// almanac" for details. +/// The ephemeris message returns a set of satellite orbit +/// parameters that is used to calculate GLO satellite position, +/// velocity, and clock offset. Please see the GLO ICD 5.1 "Table 4.5 +/// Characteristics of words of immediate information (ephemeris parameters)" +/// for more details. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgAlmanacGloDep { +pub struct MsgEphemerisGlo { pub sender_id: Option, - /// Values common for all almanac types - pub common: AlmanacCommonContentDep, - /// Longitude of the first ascending node of the orbit in PZ-90.02 - /// coordinate system - pub lambda_na: f64, - /// Time of the first ascending node passage - pub t_lambda_na: f64, - /// Value of inclination at instant of t_lambda - pub i: f64, - /// Value of Draconian period at instant of t_lambda - pub t: f64, - /// Rate of change of the Draconian period - pub t_dot: f64, - /// Eccentricity at instant of t_lambda - pub epsilon: f64, - /// Argument of perigee at instant of t_lambda - pub omega: f64, + /// Values common for all ephemeris types + pub common: EphemerisCommonContent, + /// Relative deviation of predicted carrier frequency from nominal + pub gamma: f32, + /// Correction to the SV time + pub tau: f32, + /// Equipment delay between L1 and L2 + pub d_tau: f32, + /// Position of the SV at tb in PZ-90.02 coordinates system + pub pos: Vec, + /// Velocity vector of the SV at tb in PZ-90.02 coordinates system + pub vel: Vec, + /// Acceleration vector of the SV at tb in PZ-90.02 coordinates sys + pub acc: Vec, + /// Frequency slot. FCN+8 (that is [1..14]). 0 or 0xFF for invalid + pub fcn: u8, + /// Issue of ephemeris data + pub iod: u8, +} + +impl MsgEphemerisGlo { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgEphemerisGlo { + sender_id: None, + common: EphemerisCommonContent::parse(_buf)?, + gamma: _buf.read_f32::()?, + tau: _buf.read_f32::()?, + d_tau: _buf.read_f32::()?, + pos: crate::parser::read_double_array_limit(_buf, 3)?, + vel: crate::parser::read_double_array_limit(_buf, 3)?, + acc: crate::parser::read_float_array_limit(_buf, 3)?, + fcn: _buf.read_u8()?, + iod: _buf.read_u8()?, + }) + } +} +impl super::SBPMessage for MsgEphemerisGlo { + const MSG_ID: u16 = 139; + + fn get_sender_id(&self) -> Option { + self.sender_id + } + + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); + } +} + +/// Satellite broadcast ephemeris for GLO +/// +/// The ephemeris message returns a set of satellite orbit +/// parameters that is used to calculate GLO satellite position, +/// velocity, and clock offset. Please see the GLO ICD 5.1 "Table 4.5 +/// Characteristics of words of immediate information (ephemeris parameters)" +/// for more details. +/// +#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] +#[derive(Debug)] +#[allow(non_snake_case)] +pub struct MsgEphemerisGloDepA { + pub sender_id: Option, + /// Values common for all ephemeris types + pub common: EphemerisCommonContentDepA, + /// Relative deviation of predicted carrier frequency from nominal + pub gamma: f64, + /// Correction to the SV time + pub tau: f64, + /// Position of the SV at tb in PZ-90.02 coordinates system + pub pos: Vec, + /// Velocity vector of the SV at tb in PZ-90.02 coordinates system + pub vel: Vec, + /// Acceleration vector of the SV at tb in PZ-90.02 coordinates sys + pub acc: Vec, +} + +impl MsgEphemerisGloDepA { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgEphemerisGloDepA { + sender_id: None, + common: EphemerisCommonContentDepA::parse(_buf)?, + gamma: _buf.read_f64::()?, + tau: _buf.read_f64::()?, + pos: crate::parser::read_double_array_limit(_buf, 3)?, + vel: crate::parser::read_double_array_limit(_buf, 3)?, + acc: crate::parser::read_double_array_limit(_buf, 3)?, + }) + } +} +impl super::SBPMessage for MsgEphemerisGloDepA { + const MSG_ID: u16 = 131; + + fn get_sender_id(&self) -> Option { + self.sender_id + } + + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); + } +} + +/// Satellite broadcast ephemeris for GLO +/// +/// The ephemeris message returns a set of satellite orbit +/// parameters that is used to calculate GLO satellite position, +/// velocity, and clock offset. Please see the GLO ICD 5.1 "Table 4.5 +/// Characteristics of words of immediate information (ephemeris parameters)" +/// for more details. +/// +#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] +#[derive(Debug)] +#[allow(non_snake_case)] +pub struct MsgEphemerisGloDepB { + pub sender_id: Option, + /// Values common for all ephemeris types + pub common: EphemerisCommonContentDepB, + /// Relative deviation of predicted carrier frequency from nominal + pub gamma: f64, + /// Correction to the SV time + pub tau: f64, + /// Position of the SV at tb in PZ-90.02 coordinates system + pub pos: Vec, + /// Velocity vector of the SV at tb in PZ-90.02 coordinates system + pub vel: Vec, + /// Acceleration vector of the SV at tb in PZ-90.02 coordinates sys + pub acc: Vec, } -impl MsgAlmanacGloDep { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgAlmanacGloDep { +impl MsgEphemerisGloDepB { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgEphemerisGloDepB { sender_id: None, - common: AlmanacCommonContentDep::parse(_buf)?, - lambda_na: _buf.read_f64::()?, - t_lambda_na: _buf.read_f64::()?, - i: _buf.read_f64::()?, - t: _buf.read_f64::()?, - t_dot: _buf.read_f64::()?, - epsilon: _buf.read_f64::()?, - omega: _buf.read_f64::()?, + common: EphemerisCommonContentDepB::parse(_buf)?, + gamma: _buf.read_f64::()?, + tau: _buf.read_f64::()?, + pos: crate::parser::read_double_array_limit(_buf, 3)?, + vel: crate::parser::read_double_array_limit(_buf, 3)?, + acc: crate::parser::read_double_array_limit(_buf, 3)?, }) } } -impl super::SBPMessage for MsgAlmanacGloDep { - const MSG_ID: u16 = 113; +impl super::SBPMessage for MsgEphemerisGloDepB { + const MSG_ID: u16 = 133; fn get_sender_id(&self) -> Option { self.sender_id @@ -1586,59 +1747,54 @@ impl super::SBPMessage for MsgAlmanacGloDep { } } -/// Satellite broadcast ephemeris for GPS +/// Satellite broadcast ephemeris for GLO /// -/// The almanac message returns a set of satellite orbit parameters. Almanac -/// data is not very precise and is considered valid for up to several months. -/// Please see the Navstar GPS Space Segment/Navigation user interfaces -/// (ICD-GPS-200, Chapter 20.3.3.5.1.2 Almanac Data) for more details. +/// The ephemeris message returns a set of satellite orbit +/// parameters that is used to calculate GLO satellite position, +/// velocity, and clock offset. Please see the GLO ICD 5.1 "Table 4.5 +/// Characteristics of words of immediate information (ephemeris parameters)" +/// for more details. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgAlmanacGPS { +pub struct MsgEphemerisGloDepC { pub sender_id: Option, - /// Values common for all almanac types - pub common: AlmanacCommonContent, - /// Mean anomaly at reference time - pub m0: f64, - /// Eccentricity of satellite orbit - pub ecc: f64, - /// Square root of the semi-major axis of orbit - pub sqrta: f64, - /// Longitude of ascending node of orbit plane at weekly epoch - pub omega0: f64, - /// Rate of right ascension - pub omegadot: f64, - /// Argument of perigee - pub w: f64, - /// Inclination - pub inc: f64, - /// Polynomial clock correction coefficient (clock bias) - pub af0: f64, - /// Polynomial clock correction coefficient (clock drift) - pub af1: f64, + /// Values common for all ephemeris types + pub common: EphemerisCommonContentDepB, + /// Relative deviation of predicted carrier frequency from nominal + pub gamma: f64, + /// Correction to the SV time + pub tau: f64, + /// Equipment delay between L1 and L2 + pub d_tau: f64, + /// Position of the SV at tb in PZ-90.02 coordinates system + pub pos: Vec, + /// Velocity vector of the SV at tb in PZ-90.02 coordinates system + pub vel: Vec, + /// Acceleration vector of the SV at tb in PZ-90.02 coordinates sys + pub acc: Vec, + /// Frequency slot. FCN+8 (that is [1..14]). 0 or 0xFF for invalid + pub fcn: u8, } -impl MsgAlmanacGPS { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgAlmanacGPS { +impl MsgEphemerisGloDepC { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgEphemerisGloDepC { sender_id: None, - common: AlmanacCommonContent::parse(_buf)?, - m0: _buf.read_f64::()?, - ecc: _buf.read_f64::()?, - sqrta: _buf.read_f64::()?, - omega0: _buf.read_f64::()?, - omegadot: _buf.read_f64::()?, - w: _buf.read_f64::()?, - inc: _buf.read_f64::()?, - af0: _buf.read_f64::()?, - af1: _buf.read_f64::()?, + common: EphemerisCommonContentDepB::parse(_buf)?, + gamma: _buf.read_f64::()?, + tau: _buf.read_f64::()?, + d_tau: _buf.read_f64::()?, + pos: crate::parser::read_double_array_limit(_buf, 3)?, + vel: crate::parser::read_double_array_limit(_buf, 3)?, + acc: crate::parser::read_double_array_limit(_buf, 3)?, + fcn: _buf.read_u8()?, }) } } -impl super::SBPMessage for MsgAlmanacGPS { - const MSG_ID: u16 = 114; +impl super::SBPMessage for MsgEphemerisGloDepC { + const MSG_ID: u16 = 135; fn get_sender_id(&self) -> Option { self.sender_id @@ -1649,54 +1805,54 @@ impl super::SBPMessage for MsgAlmanacGPS { } } -/// Satellite broadcast ephemeris for GLO +/// Deprecated /// -/// The almanac message returns a set of satellite orbit parameters. Almanac -/// data is not very precise and is considered valid for up to several months. -/// Please see the GLO ICD 5.1 "Chapter 4.5 Non-immediate information and -/// almanac" for details. +/// This observation message has been deprecated in favor of +/// ephemeris message using floats for size reduction. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgAlmanacGlo { +pub struct MsgEphemerisGloDepD { pub sender_id: Option, - /// Values common for all almanac types - pub common: AlmanacCommonContent, - /// Longitude of the first ascending node of the orbit in PZ-90.02 - /// coordinate system - pub lambda_na: f64, - /// Time of the first ascending node passage - pub t_lambda_na: f64, - /// Value of inclination at instant of t_lambda - pub i: f64, - /// Value of Draconian period at instant of t_lambda - pub t: f64, - /// Rate of change of the Draconian period - pub t_dot: f64, - /// Eccentricity at instant of t_lambda - pub epsilon: f64, - /// Argument of perigee at instant of t_lambda - pub omega: f64, + /// Values common for all ephemeris types + pub common: EphemerisCommonContentDepB, + /// Relative deviation of predicted carrier frequency from nominal + pub gamma: f64, + /// Correction to the SV time + pub tau: f64, + /// Equipment delay between L1 and L2 + pub d_tau: f64, + /// Position of the SV at tb in PZ-90.02 coordinates system + pub pos: Vec, + /// Velocity vector of the SV at tb in PZ-90.02 coordinates system + pub vel: Vec, + /// Acceleration vector of the SV at tb in PZ-90.02 coordinates sys + pub acc: Vec, + /// Frequency slot. FCN+8 (that is [1..14]). 0 or 0xFF for invalid + pub fcn: u8, + /// Issue of ephemeris data + pub iod: u8, } -impl MsgAlmanacGlo { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgAlmanacGlo { +impl MsgEphemerisGloDepD { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgEphemerisGloDepD { sender_id: None, - common: AlmanacCommonContent::parse(_buf)?, - lambda_na: _buf.read_f64::()?, - t_lambda_na: _buf.read_f64::()?, - i: _buf.read_f64::()?, - t: _buf.read_f64::()?, - t_dot: _buf.read_f64::()?, - epsilon: _buf.read_f64::()?, - omega: _buf.read_f64::()?, + common: EphemerisCommonContentDepB::parse(_buf)?, + gamma: _buf.read_f64::()?, + tau: _buf.read_f64::()?, + d_tau: _buf.read_f64::()?, + pos: crate::parser::read_double_array_limit(_buf, 3)?, + vel: crate::parser::read_double_array_limit(_buf, 3)?, + acc: crate::parser::read_double_array_limit(_buf, 3)?, + fcn: _buf.read_u8()?, + iod: _buf.read_u8()?, }) } } -impl super::SBPMessage for MsgAlmanacGlo { - const MSG_ID: u16 = 115; +impl super::SBPMessage for MsgEphemerisGloDepD { + const MSG_ID: u16 = 136; fn get_sender_id(&self) -> Option { self.sender_id @@ -1707,44 +1863,103 @@ impl super::SBPMessage for MsgAlmanacGlo { } } -/// GLONASS L1/L2 Code-Phase biases +/// Satellite broadcast ephemeris for GPS /// -/// The GLONASS L1/L2 Code-Phase biases allows to perform -/// GPS+GLONASS integer ambiguity resolution for baselines -/// with mixed receiver types (e.g. receiver of different -/// manufacturers) +/// The ephemeris message returns a set of satellite orbit +/// parameters that is used to calculate GPS satellite position, +/// velocity, and clock offset. Please see the Navstar GPS +/// Space Segment/Navigation user interfaces (ICD-GPS-200, Table +/// 20-III) for more details. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgGloBiases { +pub struct MsgEphemerisGPS { pub sender_id: Option, - /// GLONASS FDMA signals mask - pub mask: u8, - /// GLONASS L1 C/A Code-Phase Bias - pub l1ca_bias: i16, - /// GLONASS L1 P Code-Phase Bias - pub l1p_bias: i16, - /// GLONASS L2 C/A Code-Phase Bias - pub l2ca_bias: i16, - /// GLONASS L2 P Code-Phase Bias - pub l2p_bias: i16, + /// Values common for all ephemeris types + pub common: EphemerisCommonContent, + /// Group delay differential between L1 and L2 + pub tgd: f32, + /// Amplitude of the sine harmonic correction term to the orbit radius + pub c_rs: f32, + /// Amplitude of the cosine harmonic correction term to the orbit radius + pub c_rc: f32, + /// Amplitude of the cosine harmonic correction term to the argument of + /// latitude + pub c_uc: f32, + /// Amplitude of the sine harmonic correction term to the argument of + /// latitude + pub c_us: f32, + /// Amplitude of the cosine harmonic correction term to the angle of + /// inclination + pub c_ic: f32, + /// Amplitude of the sine harmonic correction term to the angle of + /// inclination + pub c_is: f32, + /// Mean motion difference + pub dn: f64, + /// Mean anomaly at reference time + pub m0: f64, + /// Eccentricity of satellite orbit + pub ecc: f64, + /// Square root of the semi-major axis of orbit + pub sqrta: f64, + /// Longitude of ascending node of orbit plane at weekly epoch + pub omega0: f64, + /// Rate of right ascension + pub omegadot: f64, + /// Argument of perigee + pub w: f64, + /// Inclination + pub inc: f64, + /// Inclination first derivative + pub inc_dot: f64, + /// Polynomial clock correction coefficient (clock bias) + pub af0: f32, + /// Polynomial clock correction coefficient (clock drift) + pub af1: f32, + /// Polynomial clock correction coefficient (rate of clock drift) + pub af2: f32, + /// Clock reference + pub toc: GPSTimeSec, + /// Issue of ephemeris data + pub iode: u8, + /// Issue of clock data + pub iodc: u16, } -impl MsgGloBiases { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgGloBiases { +impl MsgEphemerisGPS { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgEphemerisGPS { sender_id: None, - mask: _buf.read_u8()?, - l1ca_bias: _buf.read_i16::()?, - l1p_bias: _buf.read_i16::()?, - l2ca_bias: _buf.read_i16::()?, - l2p_bias: _buf.read_i16::()?, + common: EphemerisCommonContent::parse(_buf)?, + tgd: _buf.read_f32::()?, + c_rs: _buf.read_f32::()?, + c_rc: _buf.read_f32::()?, + c_uc: _buf.read_f32::()?, + c_us: _buf.read_f32::()?, + c_ic: _buf.read_f32::()?, + c_is: _buf.read_f32::()?, + dn: _buf.read_f64::()?, + m0: _buf.read_f64::()?, + ecc: _buf.read_f64::()?, + sqrta: _buf.read_f64::()?, + omega0: _buf.read_f64::()?, + omegadot: _buf.read_f64::()?, + w: _buf.read_f64::()?, + inc: _buf.read_f64::()?, + inc_dot: _buf.read_f64::()?, + af0: _buf.read_f32::()?, + af1: _buf.read_f32::()?, + af2: _buf.read_f32::()?, + toc: GPSTimeSec::parse(_buf)?, + iode: _buf.read_u8()?, + iodc: _buf.read_u16::()?, }) } } -impl super::SBPMessage for MsgGloBiases { - const MSG_ID: u16 = 117; +impl super::SBPMessage for MsgEphemerisGPS { + const MSG_ID: u16 = 138; fn get_sender_id(&self) -> Option { self.sender_id @@ -1755,7 +1970,7 @@ impl super::SBPMessage for MsgGloBiases { } } -/// Satellite broadcast ephemeris +/// Satellite broadcast ephemeris for GPS /// /// The ephemeris message returns a set of satellite orbit /// parameters that is used to calculate GPS satellite position, @@ -1766,8 +1981,10 @@ impl super::SBPMessage for MsgGloBiases { #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgEphemerisDepD { +pub struct MsgEphemerisGPSDepE { pub sender_id: Option, + /// Values common for all ephemeris types + pub common: EphemerisCommonContentDepA, /// Group delay differential between L1 and L2 pub tgd: f64, /// Amplitude of the sine harmonic correction term to the orbit radius @@ -1810,32 +2027,19 @@ pub struct MsgEphemerisDepD { pub af1: f64, /// Polynomial clock correction coefficient (rate of clock drift) pub af2: f64, - /// Time of week - pub toe_tow: f64, - /// Week number - pub toe_wn: u16, - /// Clock reference time of week - pub toc_tow: f64, - /// Clock reference week number - pub toc_wn: u16, - /// Is valid? - pub valid: u8, - /// Satellite is healthy? - pub healthy: u8, - /// GNSS signal identifier - pub sid: GnssSignalDep, + /// Clock reference + pub toc: GPSTimeDep, /// Issue of ephemeris data pub iode: u8, /// Issue of clock data pub iodc: u16, - /// Reserved field - pub reserved: u32, } -impl MsgEphemerisDepD { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgEphemerisDepD { +impl MsgEphemerisGPSDepE { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgEphemerisGPSDepE { sender_id: None, + common: EphemerisCommonContentDepA::parse(_buf)?, tgd: _buf.read_f64::()?, c_rs: _buf.read_f64::()?, c_rc: _buf.read_f64::()?, @@ -1855,21 +2059,14 @@ impl MsgEphemerisDepD { af0: _buf.read_f64::()?, af1: _buf.read_f64::()?, af2: _buf.read_f64::()?, - toe_tow: _buf.read_f64::()?, - toe_wn: _buf.read_u16::()?, - toc_tow: _buf.read_f64::()?, - toc_wn: _buf.read_u16::()?, - valid: _buf.read_u8()?, - healthy: _buf.read_u8()?, - sid: GnssSignalDep::parse(_buf)?, + toc: GPSTimeDep::parse(_buf)?, iode: _buf.read_u8()?, iodc: _buf.read_u16::()?, - reserved: _buf.read_u32::()?, }) } } -impl super::SBPMessage for MsgEphemerisDepD { - const MSG_ID: u16 = 128; +impl super::SBPMessage for MsgEphemerisGPSDepE { + const MSG_ID: u16 = 129; fn get_sender_id(&self) -> Option { self.sender_id @@ -1880,21 +2077,18 @@ impl super::SBPMessage for MsgEphemerisDepD { } } -/// Satellite broadcast ephemeris for GPS +/// Deprecated /// -/// The ephemeris message returns a set of satellite orbit -/// parameters that is used to calculate GPS satellite position, -/// velocity, and clock offset. Please see the Navstar GPS -/// Space Segment/Navigation user interfaces (ICD-GPS-200, Table -/// 20-III) for more details. +/// This observation message has been deprecated in favor of +/// ephemeris message using floats for size reduction. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgEphemerisGPSDepE { +pub struct MsgEphemerisGPSDepF { pub sender_id: Option, /// Values common for all ephemeris types - pub common: EphemerisCommonContentDepA, + pub common: EphemerisCommonContentDepB, /// Group delay differential between L1 and L2 pub tgd: f64, /// Amplitude of the sine harmonic correction term to the orbit radius @@ -1938,18 +2132,18 @@ pub struct MsgEphemerisGPSDepE { /// Polynomial clock correction coefficient (rate of clock drift) pub af2: f64, /// Clock reference - pub toc: GPSTimeDep, + pub toc: GPSTimeSec, /// Issue of ephemeris data pub iode: u8, /// Issue of clock data pub iodc: u16, } -impl MsgEphemerisGPSDepE { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgEphemerisGPSDepE { +impl MsgEphemerisGPSDepF { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgEphemerisGPSDepF { sender_id: None, - common: EphemerisCommonContentDepA::parse(_buf)?, + common: EphemerisCommonContentDepB::parse(_buf)?, tgd: _buf.read_f64::()?, c_rs: _buf.read_f64::()?, c_rc: _buf.read_f64::()?, @@ -1969,14 +2163,14 @@ impl MsgEphemerisGPSDepE { af0: _buf.read_f64::()?, af1: _buf.read_f64::()?, af2: _buf.read_f64::()?, - toc: GPSTimeDep::parse(_buf)?, + toc: GPSTimeSec::parse(_buf)?, iode: _buf.read_u8()?, iodc: _buf.read_u16::()?, }) } } -impl super::SBPMessage for MsgEphemerisGPSDepE { - const MSG_ID: u16 = 129; +impl super::SBPMessage for MsgEphemerisGPSDepF { + const MSG_ID: u16 = 134; fn get_sender_id(&self) -> Option { self.sender_id @@ -1987,40 +2181,145 @@ impl super::SBPMessage for MsgEphemerisGPSDepE { } } +/// Satellite broadcast ephemeris for QZSS +/// +/// The ephemeris message returns a set of satellite orbit +/// parameters that is used to calculate QZSS satellite position, +/// velocity, and clock offset. +/// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgEphemerisSbasDepA { +pub struct MsgEphemerisQzss { pub sender_id: Option, /// Values common for all ephemeris types - pub common: EphemerisCommonContentDepA, + pub common: EphemerisCommonContent, + /// Group delay differential between L1 and L2 + pub tgd: f32, + /// Amplitude of the sine harmonic correction term to the orbit radius + pub c_rs: f32, + /// Amplitude of the cosine harmonic correction term to the orbit radius + pub c_rc: f32, + /// Amplitude of the cosine harmonic correction term to the argument of + /// latitude + pub c_uc: f32, + /// Amplitude of the sine harmonic correction term to the argument of + /// latitude + pub c_us: f32, + /// Amplitude of the cosine harmonic correction term to the angle of + /// inclination + pub c_ic: f32, + /// Amplitude of the sine harmonic correction term to the angle of + /// inclination + pub c_is: f32, + /// Mean motion difference + pub dn: f64, + /// Mean anomaly at reference time + pub m0: f64, + /// Eccentricity of satellite orbit + pub ecc: f64, + /// Square root of the semi-major axis of orbit + pub sqrta: f64, + /// Longitude of ascending node of orbit plane at weekly epoch + pub omega0: f64, + /// Rate of right ascension + pub omegadot: f64, + /// Argument of perigee + pub w: f64, + /// Inclination + pub inc: f64, + /// Inclination first derivative + pub inc_dot: f64, + /// Polynomial clock correction coefficient (clock bias) + pub af0: f32, + /// Polynomial clock correction coefficient (clock drift) + pub af1: f32, + /// Polynomial clock correction coefficient (rate of clock drift) + pub af2: f32, + /// Clock reference + pub toc: GPSTimeSec, + /// Issue of ephemeris data + pub iode: u8, + /// Issue of clock data + pub iodc: u16, +} + +impl MsgEphemerisQzss { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgEphemerisQzss { + sender_id: None, + common: EphemerisCommonContent::parse(_buf)?, + tgd: _buf.read_f32::()?, + c_rs: _buf.read_f32::()?, + c_rc: _buf.read_f32::()?, + c_uc: _buf.read_f32::()?, + c_us: _buf.read_f32::()?, + c_ic: _buf.read_f32::()?, + c_is: _buf.read_f32::()?, + dn: _buf.read_f64::()?, + m0: _buf.read_f64::()?, + ecc: _buf.read_f64::()?, + sqrta: _buf.read_f64::()?, + omega0: _buf.read_f64::()?, + omegadot: _buf.read_f64::()?, + w: _buf.read_f64::()?, + inc: _buf.read_f64::()?, + inc_dot: _buf.read_f64::()?, + af0: _buf.read_f32::()?, + af1: _buf.read_f32::()?, + af2: _buf.read_f32::()?, + toc: GPSTimeSec::parse(_buf)?, + iode: _buf.read_u8()?, + iodc: _buf.read_u16::()?, + }) + } +} +impl super::SBPMessage for MsgEphemerisQzss { + const MSG_ID: u16 = 142; + + fn get_sender_id(&self) -> Option { + self.sender_id + } + + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); + } +} + +#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] +#[derive(Debug)] +#[allow(non_snake_case)] +pub struct MsgEphemerisSbas { + pub sender_id: Option, + /// Values common for all ephemeris types + pub common: EphemerisCommonContent, /// Position of the GEO at time toe pub pos: Vec, /// Velocity of the GEO at time toe - pub vel: Vec, + pub vel: Vec, /// Acceleration of the GEO at time toe - pub acc: Vec, + pub acc: Vec, /// Time offset of the GEO clock w.r.t. SBAS Network Time - pub a_gf0: f64, + pub a_gf0: f32, /// Drift of the GEO clock w.r.t. SBAS Network Time - pub a_gf1: f64, + pub a_gf1: f32, } -impl MsgEphemerisSbasDepA { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgEphemerisSbasDepA { +impl MsgEphemerisSbas { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgEphemerisSbas { sender_id: None, - common: EphemerisCommonContentDepA::parse(_buf)?, + common: EphemerisCommonContent::parse(_buf)?, pos: crate::parser::read_double_array_limit(_buf, 3)?, - vel: crate::parser::read_double_array_limit(_buf, 3)?, - acc: crate::parser::read_double_array_limit(_buf, 3)?, - a_gf0: _buf.read_f64::()?, - a_gf1: _buf.read_f64::()?, + vel: crate::parser::read_float_array_limit(_buf, 3)?, + acc: crate::parser::read_float_array_limit(_buf, 3)?, + a_gf0: _buf.read_f32::()?, + a_gf1: _buf.read_f32::()?, }) } -} -impl super::SBPMessage for MsgEphemerisSbasDepA { - const MSG_ID: u16 = 130; +} +impl super::SBPMessage for MsgEphemerisSbas { + const MSG_ID: u16 = 140; fn get_sender_id(&self) -> Option { self.sender_id @@ -2031,48 +2330,40 @@ impl super::SBPMessage for MsgEphemerisSbasDepA { } } -/// Satellite broadcast ephemeris for GLO -/// -/// The ephemeris message returns a set of satellite orbit -/// parameters that is used to calculate GLO satellite position, -/// velocity, and clock offset. Please see the GLO ICD 5.1 "Table 4.5 -/// Characteristics of words of immediate information (ephemeris parameters)" -/// for more details. -/// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgEphemerisGloDepA { +pub struct MsgEphemerisSbasDepA { pub sender_id: Option, /// Values common for all ephemeris types pub common: EphemerisCommonContentDepA, - /// Relative deviation of predicted carrier frequency from nominal - pub gamma: f64, - /// Correction to the SV time - pub tau: f64, - /// Position of the SV at tb in PZ-90.02 coordinates system + /// Position of the GEO at time toe pub pos: Vec, - /// Velocity vector of the SV at tb in PZ-90.02 coordinates system + /// Velocity of the GEO at time toe pub vel: Vec, - /// Acceleration vector of the SV at tb in PZ-90.02 coordinates sys + /// Acceleration of the GEO at time toe pub acc: Vec, + /// Time offset of the GEO clock w.r.t. SBAS Network Time + pub a_gf0: f64, + /// Drift of the GEO clock w.r.t. SBAS Network Time + pub a_gf1: f64, } -impl MsgEphemerisGloDepA { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgEphemerisGloDepA { +impl MsgEphemerisSbasDepA { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgEphemerisSbasDepA { sender_id: None, common: EphemerisCommonContentDepA::parse(_buf)?, - gamma: _buf.read_f64::()?, - tau: _buf.read_f64::()?, pos: crate::parser::read_double_array_limit(_buf, 3)?, vel: crate::parser::read_double_array_limit(_buf, 3)?, acc: crate::parser::read_double_array_limit(_buf, 3)?, + a_gf0: _buf.read_f64::()?, + a_gf1: _buf.read_f64::()?, }) } } -impl super::SBPMessage for MsgEphemerisGloDepA { - const MSG_ID: u16 = 131; +impl super::SBPMessage for MsgEphemerisSbasDepA { + const MSG_ID: u16 = 130; fn get_sender_id(&self) -> Option { self.sender_id @@ -2132,152 +2423,44 @@ impl super::SBPMessage for MsgEphemerisSbasDepB { } } -/// Satellite broadcast ephemeris for GLO -/// -/// The ephemeris message returns a set of satellite orbit -/// parameters that is used to calculate GLO satellite position, -/// velocity, and clock offset. Please see the GLO ICD 5.1 "Table 4.5 -/// Characteristics of words of immediate information (ephemeris parameters)" -/// for more details. -/// -#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] -#[derive(Debug)] -#[allow(non_snake_case)] -pub struct MsgEphemerisGloDepB { - pub sender_id: Option, - /// Values common for all ephemeris types - pub common: EphemerisCommonContentDepB, - /// Relative deviation of predicted carrier frequency from nominal - pub gamma: f64, - /// Correction to the SV time - pub tau: f64, - /// Position of the SV at tb in PZ-90.02 coordinates system - pub pos: Vec, - /// Velocity vector of the SV at tb in PZ-90.02 coordinates system - pub vel: Vec, - /// Acceleration vector of the SV at tb in PZ-90.02 coordinates sys - pub acc: Vec, -} - -impl MsgEphemerisGloDepB { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgEphemerisGloDepB { - sender_id: None, - common: EphemerisCommonContentDepB::parse(_buf)?, - gamma: _buf.read_f64::()?, - tau: _buf.read_f64::()?, - pos: crate::parser::read_double_array_limit(_buf, 3)?, - vel: crate::parser::read_double_array_limit(_buf, 3)?, - acc: crate::parser::read_double_array_limit(_buf, 3)?, - }) - } -} -impl super::SBPMessage for MsgEphemerisGloDepB { - const MSG_ID: u16 = 133; - - fn get_sender_id(&self) -> Option { - self.sender_id - } - - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); - } -} - -/// Deprecated +/// GLONASS L1/L2 Code-Phase biases /// -/// This observation message has been deprecated in favor of -/// ephemeris message using floats for size reduction. +/// The GLONASS L1/L2 Code-Phase biases allows to perform +/// GPS+GLONASS integer ambiguity resolution for baselines +/// with mixed receiver types (e.g. receiver of different +/// manufacturers) /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgEphemerisGPSDepF { +pub struct MsgGloBiases { pub sender_id: Option, - /// Values common for all ephemeris types - pub common: EphemerisCommonContentDepB, - /// Group delay differential between L1 and L2 - pub tgd: f64, - /// Amplitude of the sine harmonic correction term to the orbit radius - pub c_rs: f64, - /// Amplitude of the cosine harmonic correction term to the orbit radius - pub c_rc: f64, - /// Amplitude of the cosine harmonic correction term to the argument of - /// latitude - pub c_uc: f64, - /// Amplitude of the sine harmonic correction term to the argument of - /// latitude - pub c_us: f64, - /// Amplitude of the cosine harmonic correction term to the angle of - /// inclination - pub c_ic: f64, - /// Amplitude of the sine harmonic correction term to the angle of - /// inclination - pub c_is: f64, - /// Mean motion difference - pub dn: f64, - /// Mean anomaly at reference time - pub m0: f64, - /// Eccentricity of satellite orbit - pub ecc: f64, - /// Square root of the semi-major axis of orbit - pub sqrta: f64, - /// Longitude of ascending node of orbit plane at weekly epoch - pub omega0: f64, - /// Rate of right ascension - pub omegadot: f64, - /// Argument of perigee - pub w: f64, - /// Inclination - pub inc: f64, - /// Inclination first derivative - pub inc_dot: f64, - /// Polynomial clock correction coefficient (clock bias) - pub af0: f64, - /// Polynomial clock correction coefficient (clock drift) - pub af1: f64, - /// Polynomial clock correction coefficient (rate of clock drift) - pub af2: f64, - /// Clock reference - pub toc: GPSTimeSec, - /// Issue of ephemeris data - pub iode: u8, - /// Issue of clock data - pub iodc: u16, + /// GLONASS FDMA signals mask + pub mask: u8, + /// GLONASS L1 C/A Code-Phase Bias + pub l1ca_bias: i16, + /// GLONASS L1 P Code-Phase Bias + pub l1p_bias: i16, + /// GLONASS L2 C/A Code-Phase Bias + pub l2ca_bias: i16, + /// GLONASS L2 P Code-Phase Bias + pub l2p_bias: i16, } -impl MsgEphemerisGPSDepF { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgEphemerisGPSDepF { +impl MsgGloBiases { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgGloBiases { sender_id: None, - common: EphemerisCommonContentDepB::parse(_buf)?, - tgd: _buf.read_f64::()?, - c_rs: _buf.read_f64::()?, - c_rc: _buf.read_f64::()?, - c_uc: _buf.read_f64::()?, - c_us: _buf.read_f64::()?, - c_ic: _buf.read_f64::()?, - c_is: _buf.read_f64::()?, - dn: _buf.read_f64::()?, - m0: _buf.read_f64::()?, - ecc: _buf.read_f64::()?, - sqrta: _buf.read_f64::()?, - omega0: _buf.read_f64::()?, - omegadot: _buf.read_f64::()?, - w: _buf.read_f64::()?, - inc: _buf.read_f64::()?, - inc_dot: _buf.read_f64::()?, - af0: _buf.read_f64::()?, - af1: _buf.read_f64::()?, - af2: _buf.read_f64::()?, - toc: GPSTimeSec::parse(_buf)?, - iode: _buf.read_u8()?, - iodc: _buf.read_u16::()?, + mask: _buf.read_u8()?, + l1ca_bias: _buf.read_i16::()?, + l1p_bias: _buf.read_i16::()?, + l2ca_bias: _buf.read_i16::()?, + l2p_bias: _buf.read_i16::()?, }) } } -impl super::SBPMessage for MsgEphemerisGPSDepF { - const MSG_ID: u16 = 134; +impl super::SBPMessage for MsgGloBiases { + const MSG_ID: u16 = 117; fn get_sender_id(&self) -> Option { self.sender_id @@ -2288,54 +2471,28 @@ impl super::SBPMessage for MsgEphemerisGPSDepF { } } -/// Satellite broadcast ephemeris for GLO -/// -/// The ephemeris message returns a set of satellite orbit -/// parameters that is used to calculate GLO satellite position, -/// velocity, and clock offset. Please see the GLO ICD 5.1 "Table 4.5 -/// Characteristics of words of immediate information (ephemeris parameters)" -/// for more details. -/// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgEphemerisGloDepC { +pub struct MsgGnssCapb { pub sender_id: Option, - /// Values common for all ephemeris types - pub common: EphemerisCommonContentDepB, - /// Relative deviation of predicted carrier frequency from nominal - pub gamma: f64, - /// Correction to the SV time - pub tau: f64, - /// Equipment delay between L1 and L2 - pub d_tau: f64, - /// Position of the SV at tb in PZ-90.02 coordinates system - pub pos: Vec, - /// Velocity vector of the SV at tb in PZ-90.02 coordinates system - pub vel: Vec, - /// Acceleration vector of the SV at tb in PZ-90.02 coordinates sys - pub acc: Vec, - /// Frequency slot. FCN+8 (that is [1..14]). 0 or 0xFF for invalid - pub fcn: u8, + /// Navigation Message Correction Table Validity Time + pub t_nmct: GPSTimeSec, + /// GNSS capabilities masks + pub gc: GnssCapb, } -impl MsgEphemerisGloDepC { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgEphemerisGloDepC { +impl MsgGnssCapb { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgGnssCapb { sender_id: None, - common: EphemerisCommonContentDepB::parse(_buf)?, - gamma: _buf.read_f64::()?, - tau: _buf.read_f64::()?, - d_tau: _buf.read_f64::()?, - pos: crate::parser::read_double_array_limit(_buf, 3)?, - vel: crate::parser::read_double_array_limit(_buf, 3)?, - acc: crate::parser::read_double_array_limit(_buf, 3)?, - fcn: _buf.read_u8()?, + t_nmct: GPSTimeSec::parse(_buf)?, + gc: GnssCapb::parse(_buf)?, }) } } -impl super::SBPMessage for MsgEphemerisGloDepC { - const MSG_ID: u16 = 135; +impl super::SBPMessage for MsgGnssCapb { + const MSG_ID: u16 = 150; fn get_sender_id(&self) -> Option { self.sender_id @@ -2346,54 +2503,42 @@ impl super::SBPMessage for MsgEphemerisGloDepC { } } -/// Deprecated -/// -/// This observation message has been deprecated in favor of -/// ephemeris message using floats for size reduction. +/// Group Delay +/// +/// Please see ICD-GPS-200 (30.3.3.3.1.1) for more details. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgEphemerisGloDepD { +pub struct MsgGroupDelay { pub sender_id: Option, - /// Values common for all ephemeris types - pub common: EphemerisCommonContentDepB, - /// Relative deviation of predicted carrier frequency from nominal - pub gamma: f64, - /// Correction to the SV time - pub tau: f64, - /// Equipment delay between L1 and L2 - pub d_tau: f64, - /// Position of the SV at tb in PZ-90.02 coordinates system - pub pos: Vec, - /// Velocity vector of the SV at tb in PZ-90.02 coordinates system - pub vel: Vec, - /// Acceleration vector of the SV at tb in PZ-90.02 coordinates sys - pub acc: Vec, - /// Frequency slot. FCN+8 (that is [1..14]). 0 or 0xFF for invalid - pub fcn: u8, - /// Issue of ephemeris data - pub iod: u8, + /// Data Predict Time of Week + pub t_op: GPSTimeSec, + /// GNSS signal identifier + pub sid: GnssSignal, + /// bit-field indicating validity of the values, LSB indicating tgd validity + /// etc. 1 = value is valid, 0 = value is not valid. + pub valid: u8, + pub tgd: i16, + pub isc_l1ca: i16, + pub isc_l2c: i16, } -impl MsgEphemerisGloDepD { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgEphemerisGloDepD { +impl MsgGroupDelay { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgGroupDelay { sender_id: None, - common: EphemerisCommonContentDepB::parse(_buf)?, - gamma: _buf.read_f64::()?, - tau: _buf.read_f64::()?, - d_tau: _buf.read_f64::()?, - pos: crate::parser::read_double_array_limit(_buf, 3)?, - vel: crate::parser::read_double_array_limit(_buf, 3)?, - acc: crate::parser::read_double_array_limit(_buf, 3)?, - fcn: _buf.read_u8()?, - iod: _buf.read_u8()?, + t_op: GPSTimeSec::parse(_buf)?, + sid: GnssSignal::parse(_buf)?, + valid: _buf.read_u8()?, + tgd: _buf.read_i16::()?, + isc_l1ca: _buf.read_i16::()?, + isc_l2c: _buf.read_i16::()?, }) } } -impl super::SBPMessage for MsgEphemerisGloDepD { - const MSG_ID: u16 = 136; +impl super::SBPMessage for MsgGroupDelay { + const MSG_ID: u16 = 148; fn get_sender_id(&self) -> Option { self.sender_id @@ -2404,105 +2549,42 @@ impl super::SBPMessage for MsgEphemerisGloDepD { } } -/// Satellite broadcast ephemeris for BDS +/// Group Delay /// -/// The ephemeris message returns a set of satellite orbit -/// parameters that is used to calculate BDS satellite position, -/// velocity, and clock offset. Please see the BeiDou Navigation -/// Satellite System SIS-ICD Version 2.1, Table 5-9 for more details. +/// Please see ICD-GPS-200 (30.3.3.3.1.1) for more details. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgEphemerisBds { +pub struct MsgGroupDelayDepA { pub sender_id: Option, - /// Values common for all ephemeris types - pub common: EphemerisCommonContent, - /// Group delay differential for B1 - pub tgd1: f32, - /// Group delay differential for B2 - pub tgd2: f32, - /// Amplitude of the sine harmonic correction term to the orbit radius - pub c_rs: f32, - /// Amplitude of the cosine harmonic correction term to the orbit radius - pub c_rc: f32, - /// Amplitude of the cosine harmonic correction term to the argument of - /// latitude - pub c_uc: f32, - /// Amplitude of the sine harmonic correction term to the argument of - /// latitude - pub c_us: f32, - /// Amplitude of the cosine harmonic correction term to the angle of - /// inclination - pub c_ic: f32, - /// Amplitude of the sine harmonic correction term to the angle of - /// inclination - pub c_is: f32, - /// Mean motion difference - pub dn: f64, - /// Mean anomaly at reference time - pub m0: f64, - /// Eccentricity of satellite orbit - pub ecc: f64, - /// Square root of the semi-major axis of orbit - pub sqrta: f64, - /// Longitude of ascending node of orbit plane at weekly epoch - pub omega0: f64, - /// Rate of right ascension - pub omegadot: f64, - /// Argument of perigee - pub w: f64, - /// Inclination - pub inc: f64, - /// Inclination first derivative - pub inc_dot: f64, - /// Polynomial clock correction coefficient (clock bias) - pub af0: f64, - /// Polynomial clock correction coefficient (clock drift) - pub af1: f32, - /// Polynomial clock correction coefficient (rate of clock drift) - pub af2: f32, - /// Clock reference - pub toc: GPSTimeSec, - /// Issue of ephemeris data - pub iode: u8, - /// Issue of clock data - pub iodc: u16, + /// Data Predict Time of Week + pub t_op: GPSTimeDep, + /// Satellite number + pub prn: u8, + /// bit-field indicating validity of the values, LSB indicating tgd validity + /// etc. 1 = value is valid, 0 = value is not valid. + pub valid: u8, + pub tgd: i16, + pub isc_l1ca: i16, + pub isc_l2c: i16, } -impl MsgEphemerisBds { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgEphemerisBds { +impl MsgGroupDelayDepA { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgGroupDelayDepA { sender_id: None, - common: EphemerisCommonContent::parse(_buf)?, - tgd1: _buf.read_f32::()?, - tgd2: _buf.read_f32::()?, - c_rs: _buf.read_f32::()?, - c_rc: _buf.read_f32::()?, - c_uc: _buf.read_f32::()?, - c_us: _buf.read_f32::()?, - c_ic: _buf.read_f32::()?, - c_is: _buf.read_f32::()?, - dn: _buf.read_f64::()?, - m0: _buf.read_f64::()?, - ecc: _buf.read_f64::()?, - sqrta: _buf.read_f64::()?, - omega0: _buf.read_f64::()?, - omegadot: _buf.read_f64::()?, - w: _buf.read_f64::()?, - inc: _buf.read_f64::()?, - inc_dot: _buf.read_f64::()?, - af0: _buf.read_f64::()?, - af1: _buf.read_f32::()?, - af2: _buf.read_f32::()?, - toc: GPSTimeSec::parse(_buf)?, - iode: _buf.read_u8()?, - iodc: _buf.read_u16::()?, + t_op: GPSTimeDep::parse(_buf)?, + prn: _buf.read_u8()?, + valid: _buf.read_u8()?, + tgd: _buf.read_i16::()?, + isc_l1ca: _buf.read_i16::()?, + isc_l2c: _buf.read_i16::()?, }) } } -impl super::SBPMessage for MsgEphemerisBds { - const MSG_ID: u16 = 137; +impl super::SBPMessage for MsgGroupDelayDepA { + const MSG_ID: u16 = 146; fn get_sender_id(&self) -> Option { self.sender_id @@ -2513,103 +2595,93 @@ impl super::SBPMessage for MsgEphemerisBds { } } -/// Satellite broadcast ephemeris for GPS +/// Group Delay /// -/// The ephemeris message returns a set of satellite orbit -/// parameters that is used to calculate GPS satellite position, -/// velocity, and clock offset. Please see the Navstar GPS -/// Space Segment/Navigation user interfaces (ICD-GPS-200, Table -/// 20-III) for more details. +/// Please see ICD-GPS-200 (30.3.3.3.1.1) for more details. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgEphemerisGPS { +pub struct MsgGroupDelayDepB { pub sender_id: Option, - /// Values common for all ephemeris types - pub common: EphemerisCommonContent, - /// Group delay differential between L1 and L2 - pub tgd: f32, - /// Amplitude of the sine harmonic correction term to the orbit radius - pub c_rs: f32, - /// Amplitude of the cosine harmonic correction term to the orbit radius - pub c_rc: f32, - /// Amplitude of the cosine harmonic correction term to the argument of - /// latitude - pub c_uc: f32, - /// Amplitude of the sine harmonic correction term to the argument of - /// latitude - pub c_us: f32, - /// Amplitude of the cosine harmonic correction term to the angle of - /// inclination - pub c_ic: f32, - /// Amplitude of the sine harmonic correction term to the angle of - /// inclination - pub c_is: f32, - /// Mean motion difference - pub dn: f64, - /// Mean anomaly at reference time - pub m0: f64, - /// Eccentricity of satellite orbit - pub ecc: f64, - /// Square root of the semi-major axis of orbit - pub sqrta: f64, - /// Longitude of ascending node of orbit plane at weekly epoch - pub omega0: f64, - /// Rate of right ascension - pub omegadot: f64, - /// Argument of perigee - pub w: f64, - /// Inclination - pub inc: f64, - /// Inclination first derivative - pub inc_dot: f64, - /// Polynomial clock correction coefficient (clock bias) - pub af0: f32, - /// Polynomial clock correction coefficient (clock drift) - pub af1: f32, - /// Polynomial clock correction coefficient (rate of clock drift) - pub af2: f32, - /// Clock reference - pub toc: GPSTimeSec, - /// Issue of ephemeris data - pub iode: u8, - /// Issue of clock data - pub iodc: u16, + /// Data Predict Time of Week + pub t_op: GPSTimeSec, + /// GNSS signal identifier + pub sid: GnssSignalDep, + /// bit-field indicating validity of the values, LSB indicating tgd validity + /// etc. 1 = value is valid, 0 = value is not valid. + pub valid: u8, + pub tgd: i16, + pub isc_l1ca: i16, + pub isc_l2c: i16, +} + +impl MsgGroupDelayDepB { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgGroupDelayDepB { + sender_id: None, + t_op: GPSTimeSec::parse(_buf)?, + sid: GnssSignalDep::parse(_buf)?, + valid: _buf.read_u8()?, + tgd: _buf.read_i16::()?, + isc_l1ca: _buf.read_i16::()?, + isc_l2c: _buf.read_i16::()?, + }) + } +} +impl super::SBPMessage for MsgGroupDelayDepB { + const MSG_ID: u16 = 147; + + fn get_sender_id(&self) -> Option { + self.sender_id + } + + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); + } } -impl MsgEphemerisGPS { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgEphemerisGPS { +/// Iono corrections +/// +/// The ionospheric parameters which allow the "L1 only" or "L2 only" user to +/// utilize the ionospheric model for computation of the ionospheric delay. +/// Please see ICD-GPS-200 (Chapter 20.3.3.5.1.7) for more details. +/// +#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] +#[derive(Debug)] +#[allow(non_snake_case)] +pub struct MsgIono { + pub sender_id: Option, + /// Navigation Message Correction Table Valitidy Time + pub t_nmct: GPSTimeSec, + pub a0: f64, + pub a1: f64, + pub a2: f64, + pub a3: f64, + pub b0: f64, + pub b1: f64, + pub b2: f64, + pub b3: f64, +} + +impl MsgIono { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgIono { sender_id: None, - common: EphemerisCommonContent::parse(_buf)?, - tgd: _buf.read_f32::()?, - c_rs: _buf.read_f32::()?, - c_rc: _buf.read_f32::()?, - c_uc: _buf.read_f32::()?, - c_us: _buf.read_f32::()?, - c_ic: _buf.read_f32::()?, - c_is: _buf.read_f32::()?, - dn: _buf.read_f64::()?, - m0: _buf.read_f64::()?, - ecc: _buf.read_f64::()?, - sqrta: _buf.read_f64::()?, - omega0: _buf.read_f64::()?, - omegadot: _buf.read_f64::()?, - w: _buf.read_f64::()?, - inc: _buf.read_f64::()?, - inc_dot: _buf.read_f64::()?, - af0: _buf.read_f32::()?, - af1: _buf.read_f32::()?, - af2: _buf.read_f32::()?, - toc: GPSTimeSec::parse(_buf)?, - iode: _buf.read_u8()?, - iodc: _buf.read_u16::()?, + t_nmct: GPSTimeSec::parse(_buf)?, + a0: _buf.read_f64::()?, + a1: _buf.read_f64::()?, + a2: _buf.read_f64::()?, + a3: _buf.read_f64::()?, + b0: _buf.read_f64::()?, + b1: _buf.read_f64::()?, + b2: _buf.read_f64::()?, + b3: _buf.read_f64::()?, }) } } -impl super::SBPMessage for MsgEphemerisGPS { - const MSG_ID: u16 = 138; +impl super::SBPMessage for MsgIono { + const MSG_ID: u16 = 144; fn get_sender_id(&self) -> Option { self.sender_id @@ -2620,57 +2692,38 @@ impl super::SBPMessage for MsgEphemerisGPS { } } -/// Satellite broadcast ephemeris for GLO +/// GPS satellite observations /// -/// The ephemeris message returns a set of satellite orbit -/// parameters that is used to calculate GLO satellite position, -/// velocity, and clock offset. Please see the GLO ICD 5.1 "Table 4.5 -/// Characteristics of words of immediate information (ephemeris parameters)" -/// for more details. +/// The GPS observations message reports all the raw pseudorange and +/// carrier phase observations for the satellites being tracked by +/// the device. Carrier phase observation here is represented as a +/// 40-bit fixed point number with Q32.8 layout (i.e. 32-bits of +/// whole cycles and 8-bits of fractional cycles). The observations +/// are be interoperable with 3rd party receivers and conform +/// with typical RTCMv3 GNSS observations. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgEphemerisGlo { +pub struct MsgObs { pub sender_id: Option, - /// Values common for all ephemeris types - pub common: EphemerisCommonContent, - /// Relative deviation of predicted carrier frequency from nominal - pub gamma: f32, - /// Correction to the SV time - pub tau: f32, - /// Equipment delay between L1 and L2 - pub d_tau: f32, - /// Position of the SV at tb in PZ-90.02 coordinates system - pub pos: Vec, - /// Velocity vector of the SV at tb in PZ-90.02 coordinates system - pub vel: Vec, - /// Acceleration vector of the SV at tb in PZ-90.02 coordinates sys - pub acc: Vec, - /// Frequency slot. FCN+8 (that is [1..14]). 0 or 0xFF for invalid - pub fcn: u8, - /// Issue of ephemeris data - pub iod: u8, + /// Header of a GPS observation message + pub header: ObservationHeader, + /// Pseudorange and carrier phase observation for a satellite being tracked. + pub obs: Vec, } -impl MsgEphemerisGlo { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgEphemerisGlo { +impl MsgObs { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgObs { sender_id: None, - common: EphemerisCommonContent::parse(_buf)?, - gamma: _buf.read_f32::()?, - tau: _buf.read_f32::()?, - d_tau: _buf.read_f32::()?, - pos: crate::parser::read_double_array_limit(_buf, 3)?, - vel: crate::parser::read_double_array_limit(_buf, 3)?, - acc: crate::parser::read_float_array_limit(_buf, 3)?, - fcn: _buf.read_u8()?, - iod: _buf.read_u8()?, + header: ObservationHeader::parse(_buf)?, + obs: PackedObsContent::parse_array(_buf)?, }) } } -impl super::SBPMessage for MsgEphemerisGlo { - const MSG_ID: u16 = 139; +impl super::SBPMessage for MsgObs { + const MSG_ID: u16 = 74; fn get_sender_id(&self) -> Option { self.sender_id @@ -2681,40 +2734,32 @@ impl super::SBPMessage for MsgEphemerisGlo { } } +/// Deprecated +/// +/// Deprecated. +/// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgEphemerisSbas { +pub struct MsgObsDepA { pub sender_id: Option, - /// Values common for all ephemeris types - pub common: EphemerisCommonContent, - /// Position of the GEO at time toe - pub pos: Vec, - /// Velocity of the GEO at time toe - pub vel: Vec, - /// Acceleration of the GEO at time toe - pub acc: Vec, - /// Time offset of the GEO clock w.r.t. SBAS Network Time - pub a_gf0: f32, - /// Drift of the GEO clock w.r.t. SBAS Network Time - pub a_gf1: f32, + /// Header of a GPS observation message + pub header: ObservationHeaderDep, + /// Pseudorange and carrier phase observation for a satellite being tracked. + pub obs: Vec, } -impl MsgEphemerisSbas { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgEphemerisSbas { +impl MsgObsDepA { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgObsDepA { sender_id: None, - common: EphemerisCommonContent::parse(_buf)?, - pos: crate::parser::read_double_array_limit(_buf, 3)?, - vel: crate::parser::read_float_array_limit(_buf, 3)?, - acc: crate::parser::read_float_array_limit(_buf, 3)?, - a_gf0: _buf.read_f32::()?, - a_gf1: _buf.read_f32::()?, + header: ObservationHeaderDep::parse(_buf)?, + obs: PackedObsContentDepA::parse_array(_buf)?, }) } } -impl super::SBPMessage for MsgEphemerisSbas { - const MSG_ID: u16 = 140; +impl super::SBPMessage for MsgObsDepA { + const MSG_ID: u16 = 69; fn get_sender_id(&self) -> Option { self.sender_id @@ -2725,108 +2770,79 @@ impl super::SBPMessage for MsgEphemerisSbas { } } -/// Satellite broadcast ephemeris for Galileo +/// Deprecated /// -/// The ephemeris message returns a set of satellite orbit -/// parameters that is used to calculate Galileo satellite position, -/// velocity, and clock offset. Please see the Signal In Space ICD -/// OS SIS ICD, Issue 1.3, December 2016 for more details. +/// This observation message has been deprecated in favor of +/// observations that are more interoperable. This message +/// should be used for observations referenced to +/// a nominal pseudorange which are not interoperable with +/// most 3rd party GNSS receievers or typical RTCMv3 +/// observations. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgEphemerisGal { +pub struct MsgObsDepB { pub sender_id: Option, - /// Values common for all ephemeris types - pub common: EphemerisCommonContent, - /// E1-E5a Broadcast Group Delay - pub bgd_e1e5a: f32, - /// E1-E5b Broadcast Group Delay - pub bgd_e1e5b: f32, - /// Amplitude of the sine harmonic correction term to the orbit radius - pub c_rs: f32, - /// Amplitude of the cosine harmonic correction term to the orbit radius - pub c_rc: f32, - /// Amplitude of the cosine harmonic correction term to the argument of - /// latitude - pub c_uc: f32, - /// Amplitude of the sine harmonic correction term to the argument of - /// latitude - pub c_us: f32, - /// Amplitude of the cosine harmonic correction term to the angle of - /// inclination - pub c_ic: f32, - /// Amplitude of the sine harmonic correction term to the angle of - /// inclination - pub c_is: f32, - /// Mean motion difference - pub dn: f64, - /// Mean anomaly at reference time - pub m0: f64, - /// Eccentricity of satellite orbit - pub ecc: f64, - /// Square root of the semi-major axis of orbit - pub sqrta: f64, - /// Longitude of ascending node of orbit plane at weekly epoch - pub omega0: f64, - /// Rate of right ascension - pub omegadot: f64, - /// Argument of perigee - pub w: f64, - /// Inclination - pub inc: f64, - /// Inclination first derivative - pub inc_dot: f64, - /// Polynomial clock correction coefficient (clock bias) - pub af0: f64, - /// Polynomial clock correction coefficient (clock drift) - pub af1: f64, - /// Polynomial clock correction coefficient (rate of clock drift) - pub af2: f32, - /// Clock reference - pub toc: GPSTimeSec, - /// Issue of ephemeris data - pub iode: u16, - /// Issue of clock data - pub iodc: u16, - /// 0=I/NAV, 1=F/NAV, ... - pub source: u8, + /// Header of a GPS observation message + pub header: ObservationHeaderDep, + /// Pseudorange and carrier phase observation for a satellite being tracked. + pub obs: Vec, +} + +impl MsgObsDepB { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgObsDepB { + sender_id: None, + header: ObservationHeaderDep::parse(_buf)?, + obs: PackedObsContentDepB::parse_array(_buf)?, + }) + } +} +impl super::SBPMessage for MsgObsDepB { + const MSG_ID: u16 = 67; + + fn get_sender_id(&self) -> Option { + self.sender_id + } + + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); + } } -impl MsgEphemerisGal { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgEphemerisGal { +/// Deprecated +/// +/// The GPS observations message reports all the raw pseudorange and +/// carrier phase observations for the satellites being tracked by +/// the device. Carrier phase observation here is represented as a +/// 40-bit fixed point number with Q32.8 layout (i.e. 32-bits of +/// whole cycles and 8-bits of fractional cycles). The observations +/// are interoperable with 3rd party receivers and conform +/// with typical RTCMv3 GNSS observations. +/// +#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] +#[derive(Debug)] +#[allow(non_snake_case)] +pub struct MsgObsDepC { + pub sender_id: Option, + /// Header of a GPS observation message + pub header: ObservationHeaderDep, + /// Pseudorange and carrier phase observation for a satellite being tracked. + pub obs: Vec, +} + +impl MsgObsDepC { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgObsDepC { sender_id: None, - common: EphemerisCommonContent::parse(_buf)?, - bgd_e1e5a: _buf.read_f32::()?, - bgd_e1e5b: _buf.read_f32::()?, - c_rs: _buf.read_f32::()?, - c_rc: _buf.read_f32::()?, - c_uc: _buf.read_f32::()?, - c_us: _buf.read_f32::()?, - c_ic: _buf.read_f32::()?, - c_is: _buf.read_f32::()?, - dn: _buf.read_f64::()?, - m0: _buf.read_f64::()?, - ecc: _buf.read_f64::()?, - sqrta: _buf.read_f64::()?, - omega0: _buf.read_f64::()?, - omegadot: _buf.read_f64::()?, - w: _buf.read_f64::()?, - inc: _buf.read_f64::()?, - inc_dot: _buf.read_f64::()?, - af0: _buf.read_f64::()?, - af1: _buf.read_f64::()?, - af2: _buf.read_f32::()?, - toc: GPSTimeSec::parse(_buf)?, - iode: _buf.read_u16::()?, - iodc: _buf.read_u16::()?, - source: _buf.read_u8()?, + header: ObservationHeaderDep::parse(_buf)?, + obs: PackedObsContentDepC::parse_array(_buf)?, }) } } -impl super::SBPMessage for MsgEphemerisGal { - const MSG_ID: u16 = 141; +impl super::SBPMessage for MsgObsDepC { + const MSG_ID: u16 = 73; fn get_sender_id(&self) -> Option { self.sender_id @@ -2837,101 +2853,32 @@ impl super::SBPMessage for MsgEphemerisGal { } } -/// Satellite broadcast ephemeris for QZSS +/// OSR corrections /// -/// The ephemeris message returns a set of satellite orbit -/// parameters that is used to calculate QZSS satellite position, -/// velocity, and clock offset. +/// The OSR message contains network corrections in an observation-like format /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgEphemerisQzss { +pub struct MsgOsr { pub sender_id: Option, - /// Values common for all ephemeris types - pub common: EphemerisCommonContent, - /// Group delay differential between L1 and L2 - pub tgd: f32, - /// Amplitude of the sine harmonic correction term to the orbit radius - pub c_rs: f32, - /// Amplitude of the cosine harmonic correction term to the orbit radius - pub c_rc: f32, - /// Amplitude of the cosine harmonic correction term to the argument of - /// latitude - pub c_uc: f32, - /// Amplitude of the sine harmonic correction term to the argument of - /// latitude - pub c_us: f32, - /// Amplitude of the cosine harmonic correction term to the angle of - /// inclination - pub c_ic: f32, - /// Amplitude of the sine harmonic correction term to the angle of - /// inclination - pub c_is: f32, - /// Mean motion difference - pub dn: f64, - /// Mean anomaly at reference time - pub m0: f64, - /// Eccentricity of satellite orbit - pub ecc: f64, - /// Square root of the semi-major axis of orbit - pub sqrta: f64, - /// Longitude of ascending node of orbit plane at weekly epoch - pub omega0: f64, - /// Rate of right ascension - pub omegadot: f64, - /// Argument of perigee - pub w: f64, - /// Inclination - pub inc: f64, - /// Inclination first derivative - pub inc_dot: f64, - /// Polynomial clock correction coefficient (clock bias) - pub af0: f32, - /// Polynomial clock correction coefficient (clock drift) - pub af1: f32, - /// Polynomial clock correction coefficient (rate of clock drift) - pub af2: f32, - /// Clock reference - pub toc: GPSTimeSec, - /// Issue of ephemeris data - pub iode: u8, - /// Issue of clock data - pub iodc: u16, + /// Header of a GPS observation message + pub header: ObservationHeader, + /// Network correction for a satellite signal. + pub obs: Vec, } -impl MsgEphemerisQzss { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgEphemerisQzss { +impl MsgOsr { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgOsr { sender_id: None, - common: EphemerisCommonContent::parse(_buf)?, - tgd: _buf.read_f32::()?, - c_rs: _buf.read_f32::()?, - c_rc: _buf.read_f32::()?, - c_uc: _buf.read_f32::()?, - c_us: _buf.read_f32::()?, - c_ic: _buf.read_f32::()?, - c_is: _buf.read_f32::()?, - dn: _buf.read_f64::()?, - m0: _buf.read_f64::()?, - ecc: _buf.read_f64::()?, - sqrta: _buf.read_f64::()?, - omega0: _buf.read_f64::()?, - omegadot: _buf.read_f64::()?, - w: _buf.read_f64::()?, - inc: _buf.read_f64::()?, - inc_dot: _buf.read_f64::()?, - af0: _buf.read_f32::()?, - af1: _buf.read_f32::()?, - af2: _buf.read_f32::()?, - toc: GPSTimeSec::parse(_buf)?, - iode: _buf.read_u8()?, - iodc: _buf.read_u16::()?, + header: ObservationHeader::parse(_buf)?, + obs: PackedOsrContent::parse_array(_buf)?, }) } } -impl super::SBPMessage for MsgEphemerisQzss { - const MSG_ID: u16 = 142; +impl super::SBPMessage for MsgOsr { + const MSG_ID: u16 = 1600; fn get_sender_id(&self) -> Option { self.sender_id @@ -2942,47 +2889,30 @@ impl super::SBPMessage for MsgEphemerisQzss { } } -/// Iono corrections +/// Satellite azimuths and elevations /// -/// The ionospheric parameters which allow the "L1 only" or "L2 only" user to -/// utilize the ionospheric model for computation of the ionospheric delay. -/// Please see ICD-GPS-200 (Chapter 20.3.3.5.1.7) for more details. +/// Azimuth and elevation angles of all the visible satellites +/// that the device does have ephemeris or almanac for. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgIono { +pub struct MsgSvAzEl { pub sender_id: Option, - /// Navigation Message Correction Table Valitidy Time - pub t_nmct: GPSTimeSec, - pub a0: f64, - pub a1: f64, - pub a2: f64, - pub a3: f64, - pub b0: f64, - pub b1: f64, - pub b2: f64, - pub b3: f64, + /// Azimuth and elevation per satellite + pub azel: Vec, } -impl MsgIono { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgIono { +impl MsgSvAzEl { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgSvAzEl { sender_id: None, - t_nmct: GPSTimeSec::parse(_buf)?, - a0: _buf.read_f64::()?, - a1: _buf.read_f64::()?, - a2: _buf.read_f64::()?, - a3: _buf.read_f64::()?, - b0: _buf.read_f64::()?, - b1: _buf.read_f64::()?, - b2: _buf.read_f64::()?, - b3: _buf.read_f64::()?, + azel: SvAzEl::parse_array(_buf)?, }) } } -impl super::SBPMessage for MsgIono { - const MSG_ID: u16 = 144; +impl super::SBPMessage for MsgSvAzEl { + const MSG_ID: u16 = 151; fn get_sender_id(&self) -> Option { self.sender_id @@ -3029,349 +2959,419 @@ impl super::SBPMessage for MsgSvConfigurationGPSDep { } } -/// Group Delay +/// Header for observation message. /// -/// Please see ICD-GPS-200 (30.3.3.3.1.1) for more details. +/// Header of a GNSS observation message. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgGroupDelayDepA { - pub sender_id: Option, - /// Data Predict Time of Week - pub t_op: GPSTimeDep, - /// Satellite number - pub prn: u8, - /// bit-field indicating validity of the values, LSB indicating tgd validity - /// etc. 1 = value is valid, 0 = value is not valid. - pub valid: u8, - pub tgd: i16, - pub isc_l1ca: i16, - pub isc_l2c: i16, +pub struct ObservationHeader { + /// GNSS time of this observation + pub t: GPSTime, + /// Total number of observations. First nibble is the size of the sequence + /// (n), second nibble is the zero-indexed counter (ith packet of n) + pub n_obs: u8, } -impl MsgGroupDelayDepA { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgGroupDelayDepA { - sender_id: None, - t_op: GPSTimeDep::parse(_buf)?, - prn: _buf.read_u8()?, - valid: _buf.read_u8()?, - tgd: _buf.read_i16::()?, - isc_l1ca: _buf.read_i16::()?, - isc_l2c: _buf.read_i16::()?, +impl ObservationHeader { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(ObservationHeader { + t: GPSTime::parse(_buf)?, + n_obs: _buf.read_u8()?, }) } -} -impl super::SBPMessage for MsgGroupDelayDepA { - const MSG_ID: u16 = 146; - - fn get_sender_id(&self) -> Option { - self.sender_id + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + let mut v = Vec::new(); + while buf.len() > 0 { + v.push(ObservationHeader::parse(buf)?); + } + Ok(v) } - - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); + + pub fn parse_array_limit( + buf: &mut &[u8], + n: usize, + ) -> Result, crate::Error> { + let mut v = Vec::new(); + for _ in 0..n { + v.push(ObservationHeader::parse(buf)?); + } + Ok(v) } } -/// Group Delay +/// Header for observation message. /// -/// Please see ICD-GPS-200 (30.3.3.3.1.1) for more details. +/// Header of a GPS observation message. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgGroupDelayDepB { - pub sender_id: Option, - /// Data Predict Time of Week - pub t_op: GPSTimeSec, - /// GNSS signal identifier - pub sid: GnssSignalDep, - /// bit-field indicating validity of the values, LSB indicating tgd validity - /// etc. 1 = value is valid, 0 = value is not valid. - pub valid: u8, - pub tgd: i16, - pub isc_l1ca: i16, - pub isc_l2c: i16, +pub struct ObservationHeaderDep { + /// GPS time of this observation + pub t: GPSTimeDep, + /// Total number of observations. First nibble is the size of the sequence + /// (n), second nibble is the zero-indexed counter (ith packet of n) + pub n_obs: u8, } -impl MsgGroupDelayDepB { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgGroupDelayDepB { - sender_id: None, - t_op: GPSTimeSec::parse(_buf)?, - sid: GnssSignalDep::parse(_buf)?, - valid: _buf.read_u8()?, - tgd: _buf.read_i16::()?, - isc_l1ca: _buf.read_i16::()?, - isc_l2c: _buf.read_i16::()?, +impl ObservationHeaderDep { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(ObservationHeaderDep { + t: GPSTimeDep::parse(_buf)?, + n_obs: _buf.read_u8()?, }) } -} -impl super::SBPMessage for MsgGroupDelayDepB { - const MSG_ID: u16 = 147; - - fn get_sender_id(&self) -> Option { - self.sender_id + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + let mut v = Vec::new(); + while buf.len() > 0 { + v.push(ObservationHeaderDep::parse(buf)?); + } + Ok(v) } - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); + pub fn parse_array_limit( + buf: &mut &[u8], + n: usize, + ) -> Result, crate::Error> { + let mut v = Vec::new(); + for _ in 0..n { + v.push(ObservationHeaderDep::parse(buf)?); + } + Ok(v) } } -/// Group Delay +/// GNSS observations for a particular satellite signal. /// -/// Please see ICD-GPS-200 (30.3.3.3.1.1) for more details. +/// Pseudorange and carrier phase observation for a satellite being tracked. +/// The observations are interoperable with 3rd party receivers and conform with +/// typical RTCM 3.1 message GPS/GLO observations. +/// +/// Carrier phase observations are not guaranteed to be aligned to the RINEX 3 +/// or RTCM 3.3 MSM reference signal and no 1/4 cycle adjustments are currently +/// peformed. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgGroupDelay { - pub sender_id: Option, - /// Data Predict Time of Week - pub t_op: GPSTimeSec, - /// GNSS signal identifier +pub struct PackedObsContent { + /// Pseudorange observation + pub P: u32, + /// Carrier phase observation with typical sign convention. + pub L: CarrierPhase, + /// Doppler observation with typical sign convention. + pub D: Doppler, + /// Carrier-to-Noise density. Zero implies invalid cn0. + pub cn0: u8, + /// Lock timer. This value gives an indication of the time for which a + /// signal has maintained continuous phase lock. Whenever a signal has lost + /// and regained lock, this value is reset to zero. It is encoded according + /// to DF402 from the RTCM 10403.2 Amendment 2 specification. Valid values + /// range from 0 to 15 and the most significant nibble is reserved for + /// future use. + pub lock: u8, + /// Measurement status flags. A bit field of flags providing the status of + /// this observation. If this field is 0 it means only the Cn0 estimate for + /// the signal is valid. + pub flags: u8, + /// GNSS signal identifier (16 bit) pub sid: GnssSignal, - /// bit-field indicating validity of the values, LSB indicating tgd validity - /// etc. 1 = value is valid, 0 = value is not valid. - pub valid: u8, - pub tgd: i16, - pub isc_l1ca: i16, - pub isc_l2c: i16, } -impl MsgGroupDelay { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgGroupDelay { - sender_id: None, - t_op: GPSTimeSec::parse(_buf)?, +impl PackedObsContent { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(PackedObsContent { + P: _buf.read_u32::()?, + L: CarrierPhase::parse(_buf)?, + D: Doppler::parse(_buf)?, + cn0: _buf.read_u8()?, + lock: _buf.read_u8()?, + flags: _buf.read_u8()?, sid: GnssSignal::parse(_buf)?, - valid: _buf.read_u8()?, - tgd: _buf.read_i16::()?, - isc_l1ca: _buf.read_i16::()?, - isc_l2c: _buf.read_i16::()?, }) } -} -impl super::SBPMessage for MsgGroupDelay { - const MSG_ID: u16 = 148; - - fn get_sender_id(&self) -> Option { - self.sender_id + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + let mut v = Vec::new(); + while buf.len() > 0 { + v.push(PackedObsContent::parse(buf)?); + } + Ok(v) } - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); + pub fn parse_array_limit( + buf: &mut &[u8], + n: usize, + ) -> Result, crate::Error> { + let mut v = Vec::new(); + for _ in 0..n { + v.push(PackedObsContent::parse(buf)?); + } + Ok(v) } } /// Deprecated /// -/// This observation message has been deprecated in favor of -/// an ephemeris message with explicit source of NAV data. +/// Deprecated. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgEphemerisGalDepA { - pub sender_id: Option, - /// Values common for all ephemeris types - pub common: EphemerisCommonContent, - /// E1-E5a Broadcast Group Delay - pub bgd_e1e5a: f32, - /// E1-E5b Broadcast Group Delay - pub bgd_e1e5b: f32, - /// Amplitude of the sine harmonic correction term to the orbit radius - pub c_rs: f32, - /// Amplitude of the cosine harmonic correction term to the orbit radius - pub c_rc: f32, - /// Amplitude of the cosine harmonic correction term to the argument of - /// latitude - pub c_uc: f32, - /// Amplitude of the sine harmonic correction term to the argument of - /// latitude - pub c_us: f32, - /// Amplitude of the cosine harmonic correction term to the angle of - /// inclination - pub c_ic: f32, - /// Amplitude of the sine harmonic correction term to the angle of - /// inclination - pub c_is: f32, - /// Mean motion difference - pub dn: f64, - /// Mean anomaly at reference time - pub m0: f64, - /// Eccentricity of satellite orbit - pub ecc: f64, - /// Square root of the semi-major axis of orbit - pub sqrta: f64, - /// Longitude of ascending node of orbit plane at weekly epoch - pub omega0: f64, - /// Rate of right ascension - pub omegadot: f64, - /// Argument of perigee - pub w: f64, - /// Inclination - pub inc: f64, - /// Inclination first derivative - pub inc_dot: f64, - /// Polynomial clock correction coefficient (clock bias) - pub af0: f64, - /// Polynomial clock correction coefficient (clock drift) - pub af1: f64, - /// Polynomial clock correction coefficient (rate of clock drift) - pub af2: f32, - /// Clock reference - pub toc: GPSTimeSec, - /// Issue of ephemeris data - pub iode: u16, - /// Issue of clock data - pub iodc: u16, +pub struct PackedObsContentDepA { + /// Pseudorange observation + pub P: u32, + /// Carrier phase observation with opposite sign from typical convention + pub L: CarrierPhaseDepA, + /// Carrier-to-Noise density + pub cn0: u8, + /// Lock indicator. This value changes whenever a satellite signal has lost + /// and regained lock, indicating that the carrier phase ambiguity may have + /// changed. + pub lock: u16, + /// PRN-1 identifier of the satellite signal + pub prn: u8, } -impl MsgEphemerisGalDepA { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgEphemerisGalDepA { - sender_id: None, - common: EphemerisCommonContent::parse(_buf)?, - bgd_e1e5a: _buf.read_f32::()?, - bgd_e1e5b: _buf.read_f32::()?, - c_rs: _buf.read_f32::()?, - c_rc: _buf.read_f32::()?, - c_uc: _buf.read_f32::()?, - c_us: _buf.read_f32::()?, - c_ic: _buf.read_f32::()?, - c_is: _buf.read_f32::()?, - dn: _buf.read_f64::()?, - m0: _buf.read_f64::()?, - ecc: _buf.read_f64::()?, - sqrta: _buf.read_f64::()?, - omega0: _buf.read_f64::()?, - omegadot: _buf.read_f64::()?, - w: _buf.read_f64::()?, - inc: _buf.read_f64::()?, - inc_dot: _buf.read_f64::()?, - af0: _buf.read_f64::()?, - af1: _buf.read_f64::()?, - af2: _buf.read_f32::()?, - toc: GPSTimeSec::parse(_buf)?, - iode: _buf.read_u16::()?, - iodc: _buf.read_u16::()?, +impl PackedObsContentDepA { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(PackedObsContentDepA { + P: _buf.read_u32::()?, + L: CarrierPhaseDepA::parse(_buf)?, + cn0: _buf.read_u8()?, + lock: _buf.read_u16::()?, + prn: _buf.read_u8()?, }) } -} -impl super::SBPMessage for MsgEphemerisGalDepA { - const MSG_ID: u16 = 149; - - fn get_sender_id(&self) -> Option { - self.sender_id + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + let mut v = Vec::new(); + while buf.len() > 0 { + v.push(PackedObsContentDepA::parse(buf)?); + } + Ok(v) } - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); + pub fn parse_array_limit( + buf: &mut &[u8], + n: usize, + ) -> Result, crate::Error> { + let mut v = Vec::new(); + for _ in 0..n { + v.push(PackedObsContentDepA::parse(buf)?); + } + Ok(v) } } +/// GPS observations for a particular satellite signal. +/// +/// Pseudorange and carrier phase observation for a satellite being +/// tracked. Pseudoranges are referenced to a nominal pseudorange. +/// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgGnssCapb { - pub sender_id: Option, - /// Navigation Message Correction Table Validity Time - pub t_nmct: GPSTimeSec, - /// GNSS capabilities masks - pub gc: GnssCapb, +pub struct PackedObsContentDepB { + /// Pseudorange observation + pub P: u32, + /// Carrier phase observation with opposite sign from typical convention. + pub L: CarrierPhaseDepA, + /// Carrier-to-Noise density + pub cn0: u8, + /// Lock indicator. This value changes whenever a satellite signal has lost + /// and regained lock, indicating that the carrier phase ambiguity may have + /// changed. + pub lock: u16, + /// GNSS signal identifier + pub sid: GnssSignalDep, } -impl MsgGnssCapb { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgGnssCapb { - sender_id: None, - t_nmct: GPSTimeSec::parse(_buf)?, - gc: GnssCapb::parse(_buf)?, +impl PackedObsContentDepB { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(PackedObsContentDepB { + P: _buf.read_u32::()?, + L: CarrierPhaseDepA::parse(_buf)?, + cn0: _buf.read_u8()?, + lock: _buf.read_u16::()?, + sid: GnssSignalDep::parse(_buf)?, }) } -} -impl super::SBPMessage for MsgGnssCapb { - const MSG_ID: u16 = 150; - - fn get_sender_id(&self) -> Option { - self.sender_id + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + let mut v = Vec::new(); + while buf.len() > 0 { + v.push(PackedObsContentDepB::parse(buf)?); + } + Ok(v) } - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); + pub fn parse_array_limit( + buf: &mut &[u8], + n: usize, + ) -> Result, crate::Error> { + let mut v = Vec::new(); + for _ in 0..n { + v.push(PackedObsContentDepB::parse(buf)?); + } + Ok(v) } } -/// Satellite azimuths and elevations +/// GPS observations for a particular satellite signal. /// -/// Azimuth and elevation angles of all the visible satellites -/// that the device does have ephemeris or almanac for. +/// Pseudorange and carrier phase observation for a satellite being +/// tracked. The observations are be interoperable with 3rd party +/// receivers and conform with typical RTCMv3 GNSS observations. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgSvAzEl { - pub sender_id: Option, - /// Azimuth and elevation per satellite - pub azel: Vec, +pub struct PackedObsContentDepC { + /// Pseudorange observation + pub P: u32, + /// Carrier phase observation with typical sign convention. + pub L: CarrierPhase, + /// Carrier-to-Noise density + pub cn0: u8, + /// Lock indicator. This value changes whenever a satellite signal has lost + /// and regained lock, indicating that the carrier phase ambiguity may have + /// changed. + pub lock: u16, + /// GNSS signal identifier + pub sid: GnssSignalDep, } -impl MsgSvAzEl { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgSvAzEl { - sender_id: None, - azel: SvAzEl::parse_array(_buf)?, +impl PackedObsContentDepC { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(PackedObsContentDepC { + P: _buf.read_u32::()?, + L: CarrierPhase::parse(_buf)?, + cn0: _buf.read_u8()?, + lock: _buf.read_u16::()?, + sid: GnssSignalDep::parse(_buf)?, }) } -} -impl super::SBPMessage for MsgSvAzEl { - const MSG_ID: u16 = 151; - - fn get_sender_id(&self) -> Option { - self.sender_id + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + let mut v = Vec::new(); + while buf.len() > 0 { + v.push(PackedObsContentDepC::parse(buf)?); + } + Ok(v) } - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); + pub fn parse_array_limit( + buf: &mut &[u8], + n: usize, + ) -> Result, crate::Error> { + let mut v = Vec::new(); + for _ in 0..n { + v.push(PackedObsContentDepC::parse(buf)?); + } + Ok(v) } } -/// OSR corrections +/// Network correction for a particular satellite signal. /// -/// The OSR message contains network corrections in an observation-like format +/// Pseudorange and carrier phase network corrections for a satellite signal. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgOsr { - pub sender_id: Option, - /// Header of a GPS observation message - pub header: ObservationHeader, - /// Network correction for a satellite signal. - pub obs: Vec, +pub struct PackedOsrContent { + /// Pseudorange observation + pub P: u32, + /// Carrier phase observation with typical sign convention. + pub L: CarrierPhase, + /// Lock timer. This value gives an indication of the time for which a + /// signal has maintained continuous phase lock. Whenever a signal has lost + /// and regained lock, this value is reset to zero. It is encoded according + /// to DF402 from the RTCM 10403.2 Amendment 2 specification. Valid values + /// range from 0 to 15 and the most significant nibble is reserved for + /// future use. + pub lock: u8, + /// Correction flags. + pub flags: u8, + /// GNSS signal identifier (16 bit) + pub sid: GnssSignal, + /// Slant ionospheric correction standard deviation + pub iono_std: u16, + /// Slant tropospheric correction standard deviation + pub tropo_std: u16, + /// Orbit/clock/bias correction projected on range standard deviation + pub range_std: u16, } -impl MsgOsr { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgOsr { - sender_id: None, - header: ObservationHeader::parse(_buf)?, - obs: PackedOsrContent::parse_array(_buf)?, +impl PackedOsrContent { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(PackedOsrContent { + P: _buf.read_u32::()?, + L: CarrierPhase::parse(_buf)?, + lock: _buf.read_u8()?, + flags: _buf.read_u8()?, + sid: GnssSignal::parse(_buf)?, + iono_std: _buf.read_u16::()?, + tropo_std: _buf.read_u16::()?, + range_std: _buf.read_u16::()?, }) } + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + let mut v = Vec::new(); + while buf.len() > 0 { + v.push(PackedOsrContent::parse(buf)?); + } + Ok(v) + } + + pub fn parse_array_limit( + buf: &mut &[u8], + n: usize, + ) -> Result, crate::Error> { + let mut v = Vec::new(); + for _ in 0..n { + v.push(PackedOsrContent::parse(buf)?); + } + Ok(v) + } } -impl super::SBPMessage for MsgOsr { - const MSG_ID: u16 = 1600; - fn get_sender_id(&self) -> Option { - self.sender_id +/// Satellite azimuth and elevation. +/// +/// Satellite azimuth and elevation. +/// +#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] +#[derive(Debug)] +#[allow(non_snake_case)] +pub struct SvAzEl { + /// GNSS signal identifier + pub sid: GnssSignal, + /// Azimuth angle (range 0..179) + pub az: u8, + /// Elevation angle (range -90..90) + pub el: i8, +} + +impl SvAzEl { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(SvAzEl { + sid: GnssSignal::parse(_buf)?, + az: _buf.read_u8()?, + el: _buf.read_i8()?, + }) + } + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + let mut v = Vec::new(); + while buf.len() > 0 { + v.push(SvAzEl::parse(buf)?); + } + Ok(v) } - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); + pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { + let mut v = Vec::new(); + for _ in 0..n { + v.push(SvAzEl::parse(buf)?); + } + Ok(v) } } diff --git a/rust/sbp/src/messages/orientation.rs b/rust/sbp/src/messages/orientation.rs index b6cec022be..6916959826 100644 --- a/rust/sbp/src/messages/orientation.rs +++ b/rust/sbp/src/messages/orientation.rs @@ -20,41 +20,49 @@ use self::byteorder::{LittleEndian, ReadBytesExt}; #[cfg(feature = "serialize")] use serde::{Deserialize, Serialize}; -/// Heading relative to True North +/// Vehicle Body Frame instantaneous angular rates /// -/// This message reports the baseline heading pointing from the base station -/// to the rover relative to True North. The full GPS time is given by the -/// preceding MSG_GPS_TIME with the matching time-of-week (tow). It is intended -/// that time-matched RTK mode is used when the base station is moving. +/// This message reports the orientation rates in the vehicle body frame. +/// The values represent the measurements a strapped down gyroscope would +/// make and are not equivalent to the time derivative of the Euler angles. +/// The orientation and origin of the user frame is specified via device settings. +/// By convention, the vehicle x-axis is expected to be aligned with the forward +/// direction, while the vehicle y-axis is expected to be aligned with the right +/// direction, and the vehicle z-axis should be aligned with the down direction. +/// This message will only be available in future INS versions of Swift Products +/// and is not produced by Piksi Multi or Duro. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgBaselineHeading { +pub struct MsgAngularRate { pub sender_id: Option, /// GPS Time of Week pub tow: u32, - /// Heading - pub heading: u32, - /// Number of satellites used in solution - pub n_sats: u8, + /// angular rate about x axis + pub x: i32, + /// angular rate about y axis + pub y: i32, + /// angular rate about z axis + pub z: i32, /// Status flags pub flags: u8, } -impl MsgBaselineHeading { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgBaselineHeading { +impl MsgAngularRate { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgAngularRate { sender_id: None, tow: _buf.read_u32::()?, - heading: _buf.read_u32::()?, - n_sats: _buf.read_u8()?, + x: _buf.read_i32::()?, + y: _buf.read_i32::()?, + z: _buf.read_i32::()?, flags: _buf.read_u8()?, }) } } -impl super::SBPMessage for MsgBaselineHeading { - const MSG_ID: u16 = 527; +impl super::SBPMessage for MsgAngularRate { + const MSG_ID: u16 = 546; fn get_sender_id(&self) -> Option { self.sender_id @@ -65,60 +73,41 @@ impl super::SBPMessage for MsgBaselineHeading { } } -/// Quaternion 4 component vector +/// Heading relative to True North /// -/// This message reports the quaternion vector describing the vehicle body frame's orientation -/// with respect to a local-level NED frame. The components of the vector should sum to a unit -/// vector assuming that the LSB of each component as a value of 2^-31. This message will only -/// be available in future INS versions of Swift Products and is not produced by Piksi Multi -/// or Duro. +/// This message reports the baseline heading pointing from the base station +/// to the rover relative to True North. The full GPS time is given by the +/// preceding MSG_GPS_TIME with the matching time-of-week (tow). It is intended +/// that time-matched RTK mode is used when the base station is moving. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgOrientQuat { +pub struct MsgBaselineHeading { pub sender_id: Option, /// GPS Time of Week pub tow: u32, - /// Real component - pub w: i32, - /// 1st imaginary component - pub x: i32, - /// 2nd imaginary component - pub y: i32, - /// 3rd imaginary component - pub z: i32, - /// Estimated standard deviation of w - pub w_accuracy: f32, - /// Estimated standard deviation of x - pub x_accuracy: f32, - /// Estimated standard deviation of y - pub y_accuracy: f32, - /// Estimated standard deviation of z - pub z_accuracy: f32, + /// Heading + pub heading: u32, + /// Number of satellites used in solution + pub n_sats: u8, /// Status flags pub flags: u8, } -impl MsgOrientQuat { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgOrientQuat { +impl MsgBaselineHeading { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgBaselineHeading { sender_id: None, tow: _buf.read_u32::()?, - w: _buf.read_i32::()?, - x: _buf.read_i32::()?, - y: _buf.read_i32::()?, - z: _buf.read_i32::()?, - w_accuracy: _buf.read_f32::()?, - x_accuracy: _buf.read_f32::()?, - y_accuracy: _buf.read_f32::()?, - z_accuracy: _buf.read_f32::()?, + heading: _buf.read_u32::()?, + n_sats: _buf.read_u8()?, flags: _buf.read_u8()?, }) } } -impl super::SBPMessage for MsgOrientQuat { - const MSG_ID: u16 = 544; +impl super::SBPMessage for MsgBaselineHeading { + const MSG_ID: u16 = 527; fn get_sender_id(&self) -> Option { self.sender_id @@ -187,49 +176,60 @@ impl super::SBPMessage for MsgOrientEuler { } } -/// Vehicle Body Frame instantaneous angular rates +/// Quaternion 4 component vector /// -/// This message reports the orientation rates in the vehicle body frame. -/// The values represent the measurements a strapped down gyroscope would -/// make and are not equivalent to the time derivative of the Euler angles. -/// The orientation and origin of the user frame is specified via device settings. -/// By convention, the vehicle x-axis is expected to be aligned with the forward -/// direction, while the vehicle y-axis is expected to be aligned with the right -/// direction, and the vehicle z-axis should be aligned with the down direction. -/// This message will only be available in future INS versions of Swift Products -/// and is not produced by Piksi Multi or Duro. +/// This message reports the quaternion vector describing the vehicle body frame's orientation +/// with respect to a local-level NED frame. The components of the vector should sum to a unit +/// vector assuming that the LSB of each component as a value of 2^-31. This message will only +/// be available in future INS versions of Swift Products and is not produced by Piksi Multi +/// or Duro. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgAngularRate { +pub struct MsgOrientQuat { pub sender_id: Option, /// GPS Time of Week pub tow: u32, - /// angular rate about x axis + /// Real component + pub w: i32, + /// 1st imaginary component pub x: i32, - /// angular rate about y axis + /// 2nd imaginary component pub y: i32, - /// angular rate about z axis + /// 3rd imaginary component pub z: i32, + /// Estimated standard deviation of w + pub w_accuracy: f32, + /// Estimated standard deviation of x + pub x_accuracy: f32, + /// Estimated standard deviation of y + pub y_accuracy: f32, + /// Estimated standard deviation of z + pub z_accuracy: f32, /// Status flags pub flags: u8, } -impl MsgAngularRate { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgAngularRate { +impl MsgOrientQuat { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgOrientQuat { sender_id: None, tow: _buf.read_u32::()?, + w: _buf.read_i32::()?, x: _buf.read_i32::()?, y: _buf.read_i32::()?, z: _buf.read_i32::()?, + w_accuracy: _buf.read_f32::()?, + x_accuracy: _buf.read_f32::()?, + y_accuracy: _buf.read_f32::()?, + z_accuracy: _buf.read_f32::()?, flags: _buf.read_u8()?, }) } } -impl super::SBPMessage for MsgAngularRate { - const MSG_ID: u16 = 546; +impl super::SBPMessage for MsgOrientQuat { + const MSG_ID: u16 = 544; fn get_sender_id(&self) -> Option { self.sender_id diff --git a/rust/sbp/src/messages/piksi.rs b/rust/sbp/src/messages/piksi.rs index c74a056c03..1eb57c3631 100644 --- a/rust/sbp/src/messages/piksi.rs +++ b/rust/sbp/src/messages/piksi.rs @@ -24,107 +24,6 @@ use super::gnss::*; #[cfg(feature = "serialize")] use serde::{Deserialize, Serialize}; -/// State of the UART channel -/// -/// Throughput, utilization, and error counts on the RX/TX buffers -/// of this UART channel. The reported percentage values must -/// be normalized. -/// -#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] -#[derive(Debug)] -#[allow(non_snake_case)] -pub struct UARTChannel { - /// UART transmit throughput - pub tx_throughput: f32, - /// UART receive throughput - pub rx_throughput: f32, - /// UART CRC error count - pub crc_error_count: u16, - /// UART IO error count - pub io_error_count: u16, - /// UART transmit buffer percentage utilization (ranges from 0 to 255) - pub tx_buffer_level: u8, - /// UART receive buffer percentage utilization (ranges from 0 to 255) - pub rx_buffer_level: u8, -} - -impl UARTChannel { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(UARTChannel { - tx_throughput: _buf.read_f32::()?, - rx_throughput: _buf.read_f32::()?, - crc_error_count: _buf.read_u16::()?, - io_error_count: _buf.read_u16::()?, - tx_buffer_level: _buf.read_u8()?, - rx_buffer_level: _buf.read_u8()?, - }) - } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { - let mut v = Vec::new(); - while buf.len() > 0 { - v.push(UARTChannel::parse(buf)?); - } - Ok(v) - } - - pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { - let mut v = Vec::new(); - for _ in 0..n { - v.push(UARTChannel::parse(buf)?); - } - Ok(v) - } -} - -/// base station observation message receipt period -/// -/// Statistics on the period of observations received from the base -/// station. As complete observation sets are received, their time -/// of reception is compared with the prior set''s time of reception. -/// This measurement provides a proxy for link quality as incomplete -/// or missing sets will increase the period. Long periods -/// can cause momentary RTK solution outages. -/// -#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] -#[derive(Debug)] -#[allow(non_snake_case)] -pub struct Period { - /// Average period - pub avg: i32, - /// Minimum period - pub pmin: i32, - /// Maximum period - pub pmax: i32, - /// Smoothed estimate of the current period - pub current: i32, -} - -impl Period { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(Period { - avg: _buf.read_i32::()?, - pmin: _buf.read_i32::()?, - pmax: _buf.read_i32::()?, - current: _buf.read_i32::()?, - }) - } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { - let mut v = Vec::new(); - while buf.len() > 0 { - v.push(Period::parse(buf)?); - } - Ok(v) - } - - pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { - let mut v = Vec::new(); - for _ in 0..n { - v.push(Period::parse(buf)?); - } - Ok(v) - } -} - /// Receiver-to-base station latency /// /// Statistics on the latency of observations received from the base @@ -173,90 +72,66 @@ impl Latency { } } -/// Bandwidth usage measurement for a single interface. +/// Legacy message to load satellite almanac (host => Piksi) /// -/// The bandwidth usage for each interface can be reported -/// within this struct and utilize multiple fields to fully -/// specify the type of traffic that is being tracked. As -/// either the interval of collection or the collection time -/// may vary, both a timestamp and period field is provided, -/// though may not necessarily be populated with a value. +/// This is a legacy message for sending and loading a satellite +/// alamanac onto the Piksi's flash memory from the host. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct NetworkUsage { - /// Duration over which the measurement was collected - pub duration: u64, - /// Number of bytes handled in total within period - pub total_bytes: u64, - /// Number of bytes transmitted within period - pub rx_bytes: u32, - /// Number of bytes received within period - pub tx_bytes: u32, - /// Interface Name - pub interface_name: String, +pub struct MsgAlmanac { + pub sender_id: Option, } -impl NetworkUsage { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(NetworkUsage { - duration: _buf.read_u64::()?, - total_bytes: _buf.read_u64::()?, - rx_bytes: _buf.read_u32::()?, - tx_bytes: _buf.read_u32::()?, - interface_name: crate::parser::read_string_limit(_buf, 16)?, - }) +impl MsgAlmanac { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgAlmanac { sender_id: None }) } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { - let mut v = Vec::new(); - while buf.len() > 0 { - v.push(NetworkUsage::parse(buf)?); - } - Ok(v) +} +impl super::SBPMessage for MsgAlmanac { + const MSG_ID: u16 = 105; + + fn get_sender_id(&self) -> Option { + self.sender_id } - pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { - let mut v = Vec::new(); - for _ in 0..n { - v.push(NetworkUsage::parse(buf)?); - } - Ok(v) + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); } } -/// State of an RTOS thread +/// Cell modem information update message /// -/// The thread usage message from the device reports real-time -/// operating system (RTOS) thread usage statistics for the named -/// thread. The reported percentage values must be normalized. +/// If a cell modem is present on a piksi device, this message +/// will be send periodically to update the host on the status +/// of the modem and its various parameters. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgThreadState { +pub struct MsgCellModemStatus { pub sender_id: Option, - /// Thread name (NULL terminated) - pub name: String, - /// Percentage cpu use for this thread. Values range from 0 - 1000 and needs - /// to be renormalized to 100 - pub cpu: u16, - /// Free stack space for this thread - pub stack_free: u32, + /// Received cell signal strength in dBm, zero translates to unknown + pub signal_strength: i8, + /// BER as reported by the modem, zero translates to unknown + pub signal_error_rate: f32, + /// Unspecified data TBD for this schema + pub reserved: Vec, } -impl MsgThreadState { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgThreadState { +impl MsgCellModemStatus { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgCellModemStatus { sender_id: None, - name: crate::parser::read_string_limit(_buf, 20)?, - cpu: _buf.read_u16::()?, - stack_free: _buf.read_u32::()?, + signal_strength: _buf.read_i8()?, + signal_error_rate: _buf.read_f32::()?, + reserved: crate::parser::read_u8_array(_buf)?, }) } } -impl super::SBPMessage for MsgThreadState { - const MSG_ID: u16 = 23; +impl super::SBPMessage for MsgCellModemStatus { + const MSG_ID: u16 = 190; fn get_sender_id(&self) -> Option { self.sender_id @@ -267,38 +142,35 @@ impl super::SBPMessage for MsgThreadState { } } -/// Deprecated +/// Command output /// -/// Deprecated +/// Returns the standard output and standard error of the +/// command requested by MSG_COMMAND_REQ. +/// The sequence number can be used to filter for filtering +/// the correct command. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgUartStateDepa { +pub struct MsgCommandOutput { pub sender_id: Option, - /// State of UART A - pub uart_a: UARTChannel, - /// State of UART B - pub uart_b: UARTChannel, - /// State of UART FTDI (USB logger) - pub uart_ftdi: UARTChannel, - /// UART communication latency - pub latency: Latency, + /// Sequence number + pub sequence: u32, + /// Line of standard output or standard error + pub line: String, } -impl MsgUartStateDepa { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgUartStateDepa { +impl MsgCommandOutput { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgCommandOutput { sender_id: None, - uart_a: UARTChannel::parse(_buf)?, - uart_b: UARTChannel::parse(_buf)?, - uart_ftdi: UARTChannel::parse(_buf)?, - latency: Latency::parse(_buf)?, + sequence: _buf.read_u32::()?, + line: crate::parser::read_string(_buf)?, }) } } -impl super::SBPMessage for MsgUartStateDepa { - const MSG_ID: u16 = 24; +impl super::SBPMessage for MsgCommandOutput { + const MSG_ID: u16 = 188; fn get_sender_id(&self) -> Option { self.sender_id @@ -309,32 +181,34 @@ impl super::SBPMessage for MsgUartStateDepa { } } -/// State of the Integer Ambiguity Resolution (IAR) process +/// Execute a command (host => device) /// -/// This message reports the state of the Integer Ambiguity -/// Resolution (IAR) process, which resolves unknown integer -/// ambiguities from double-differenced carrier-phase measurements -/// from satellite observations. +/// Request the recipient to execute an command. +/// Output will be sent in MSG_LOG messages, and the exit +/// code will be returned with MSG_COMMAND_RESP. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgIarState { +pub struct MsgCommandReq { pub sender_id: Option, - /// Number of integer ambiguity hypotheses remaining - pub num_hyps: u32, + /// Sequence number + pub sequence: u32, + /// Command line to execute + pub command: String, } -impl MsgIarState { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgIarState { +impl MsgCommandReq { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgCommandReq { sender_id: None, - num_hyps: _buf.read_u32::()?, + sequence: _buf.read_u32::()?, + command: crate::parser::read_string(_buf)?, }) } } -impl super::SBPMessage for MsgIarState { - const MSG_ID: u16 = 25; +impl super::SBPMessage for MsgCommandReq { + const MSG_ID: u16 = 184; fn get_sender_id(&self) -> Option { self.sender_id @@ -345,32 +219,33 @@ impl super::SBPMessage for MsgIarState { } } -/// Deprecated +/// Exit code from executed command (device => host) /// -/// Deprecated. +/// The response to MSG_COMMAND_REQ with the return code of +/// the command. A return code of zero indicates success. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgMaskSatelliteDep { +pub struct MsgCommandResp { pub sender_id: Option, - /// Mask of systems that should ignore this satellite. - pub mask: u8, - /// GNSS signal for which the mask is applied - pub sid: GnssSignalDep, + /// Sequence number + pub sequence: u32, + /// Exit code + pub code: i32, } -impl MsgMaskSatelliteDep { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgMaskSatelliteDep { +impl MsgCommandResp { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgCommandResp { sender_id: None, - mask: _buf.read_u8()?, - sid: GnssSignalDep::parse(_buf)?, + sequence: _buf.read_u32::()?, + code: _buf.read_i32::()?, }) } } -impl super::SBPMessage for MsgMaskSatelliteDep { - const MSG_ID: u16 = 27; +impl super::SBPMessage for MsgCommandResp { + const MSG_ID: u16 = 185; fn get_sender_id(&self) -> Option { self.sender_id @@ -381,49 +256,26 @@ impl super::SBPMessage for MsgMaskSatelliteDep { } } -/// State of the UART channels +/// Legacy message for CW interference channel (Piksi => host) /// -/// The UART message reports data latency and throughput of the UART -/// channels providing SBP I/O. On the default Piksi configuration, -/// UARTs A and B are used for telemetry radios, but can also be -/// host access ports for embedded hosts, or other interfaces in -/// future. The reported percentage values must be normalized. -/// Observations latency and period can be used to assess the -/// health of the differential corrections link. Latency provides -/// the timeliness of received base observations while the -/// period indicates their likelihood of transmission. +/// This is an unused legacy message for result reporting from the +/// CW interference channel on the SwiftNAP. This message will be +/// removed in a future release. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgUartState { +pub struct MsgCwResults { pub sender_id: Option, - /// State of UART A - pub uart_a: UARTChannel, - /// State of UART B - pub uart_b: UARTChannel, - /// State of UART FTDI (USB logger) - pub uart_ftdi: UARTChannel, - /// UART communication latency - pub latency: Latency, - /// Observation receipt period - pub obs_period: Period, } -impl MsgUartState { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgUartState { - sender_id: None, - uart_a: UARTChannel::parse(_buf)?, - uart_b: UARTChannel::parse(_buf)?, - uart_ftdi: UARTChannel::parse(_buf)?, - latency: Latency::parse(_buf)?, - obs_period: Period::parse(_buf)?, - }) +impl MsgCwResults { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgCwResults { sender_id: None }) } } -impl super::SBPMessage for MsgUartState { - const MSG_ID: u16 = 29; +impl super::SBPMessage for MsgCwResults { + const MSG_ID: u16 = 192; fn get_sender_id(&self) -> Option { self.sender_id @@ -434,30 +286,26 @@ impl super::SBPMessage for MsgUartState { } } -/// Reset IAR filters (host => Piksi) +/// Legacy message for CW interference channel (host => Piksi) /// -/// This message resets either the DGNSS Kalman filters or Integer -/// Ambiguity Resolution (IAR) process. +/// This is an unused legacy message from the host for starting +/// the CW interference channel on the SwiftNAP. This message will +/// be removed in a future release. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgResetFilters { +pub struct MsgCwStart { pub sender_id: Option, - /// Filter flags - pub filter: u8, } -impl MsgResetFilters { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgResetFilters { - sender_id: None, - filter: _buf.read_u8()?, - }) +impl MsgCwStart { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgCwStart { sender_id: None }) } } -impl super::SBPMessage for MsgResetFilters { - const MSG_ID: u16 = 34; +impl super::SBPMessage for MsgCwStart { + const MSG_ID: u16 = 193; fn get_sender_id(&self) -> Option { self.sender_id @@ -468,24 +316,43 @@ impl super::SBPMessage for MsgResetFilters { } } -/// Deprecated +/// Device temperature and voltage levels /// -/// Deprecated +/// This message contains temperature and voltage level measurements from the +/// processor's monitoring system and the RF frontend die temperature if +/// available. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgInitBaseDep { +pub struct MsgDeviceMonitor { pub sender_id: Option, + /// Device V_in + pub dev_vin: i16, + /// Processor V_int + pub cpu_vint: i16, + /// Processor V_aux + pub cpu_vaux: i16, + /// Processor temperature + pub cpu_temperature: i16, + /// Frontend temperature (if available) + pub fe_temperature: i16, } -impl MsgInitBaseDep { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgInitBaseDep { sender_id: None }) +impl MsgDeviceMonitor { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgDeviceMonitor { + sender_id: None, + dev_vin: _buf.read_i16::()?, + cpu_vint: _buf.read_i16::()?, + cpu_vaux: _buf.read_i16::()?, + cpu_temperature: _buf.read_i16::()?, + fe_temperature: _buf.read_i16::()?, + }) } } -impl super::SBPMessage for MsgInitBaseDep { - const MSG_ID: u16 = 35; +impl super::SBPMessage for MsgDeviceMonitor { + const MSG_ID: u16 = 181; fn get_sender_id(&self) -> Option { self.sender_id @@ -496,33 +363,37 @@ impl super::SBPMessage for MsgInitBaseDep { } } -/// Mask a satellite from use in Piksi subsystems +/// RF AGC status /// -/// This message allows setting a mask to prevent a particular satellite -/// from being used in various Piksi subsystems. +/// This message describes the gain of each channel in the receiver frontend. Each +/// gain is encoded as a non-dimensional percentage relative to the maximum range +/// possible for the gain stage of the frontend. By convention, each gain array +/// has 8 entries and the index of the array corresponding to the index of the rf channel +/// in the frontend. A gain of 127 percent encodes that rf channel is not present in the hardware. +/// A negative value implies an error for the particular gain stage as reported by the frontend. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgMaskSatellite { +pub struct MsgFrontEndGain { pub sender_id: Option, - /// Mask of systems that should ignore this satellite. - pub mask: u8, - /// GNSS signal for which the mask is applied - pub sid: GnssSignal, + /// RF gain for each frontend channel + pub rf_gain: Vec, + /// Intermediate frequency gain for each frontend channel + pub if_gain: Vec, } -impl MsgMaskSatellite { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgMaskSatellite { +impl MsgFrontEndGain { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgFrontEndGain { sender_id: None, - mask: _buf.read_u8()?, - sid: GnssSignal::parse(_buf)?, + rf_gain: crate::parser::read_s8_array_limit(_buf, 8)?, + if_gain: crate::parser::read_s8_array_limit(_buf, 8)?, }) } } -impl super::SBPMessage for MsgMaskSatellite { - const MSG_ID: u16 = 43; +impl super::SBPMessage for MsgFrontEndGain { + const MSG_ID: u16 = 191; fn get_sender_id(&self) -> Option { self.sender_id @@ -533,47 +404,32 @@ impl super::SBPMessage for MsgMaskSatellite { } } -/// Deprecated +/// State of the Integer Ambiguity Resolution (IAR) process /// -/// Deprecated. +/// This message reports the state of the Integer Ambiguity +/// Resolution (IAR) process, which resolves unknown integer +/// ambiguities from double-differenced carrier-phase measurements +/// from satellite observations. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgSpecanDep { +pub struct MsgIarState { pub sender_id: Option, - /// Channel ID - pub channel_tag: u16, - /// Receiver time of this observation - pub t: GPSTimeDep, - /// Reference frequency of this packet - pub freq_ref: f32, - /// Frequency step of points in this packet - pub freq_step: f32, - /// Reference amplitude of this packet - pub amplitude_ref: f32, - /// Amplitude unit value of points in this packet - pub amplitude_unit: f32, - /// Amplitude values (in the above units) of points in this packet - pub amplitude_value: Vec, + /// Number of integer ambiguity hypotheses remaining + pub num_hyps: u32, } -impl MsgSpecanDep { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgSpecanDep { +impl MsgIarState { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgIarState { sender_id: None, - channel_tag: _buf.read_u16::()?, - t: GPSTimeDep::parse(_buf)?, - freq_ref: _buf.read_f32::()?, - freq_step: _buf.read_f32::()?, - amplitude_ref: _buf.read_f32::()?, - amplitude_unit: _buf.read_f32::()?, - amplitude_value: crate::parser::read_u8_array(_buf)?, + num_hyps: _buf.read_u32::()?, }) } } -impl super::SBPMessage for MsgSpecanDep { - const MSG_ID: u16 = 80; +impl super::SBPMessage for MsgIarState { + const MSG_ID: u16 = 25; fn get_sender_id(&self) -> Option { self.sender_id @@ -584,47 +440,24 @@ impl super::SBPMessage for MsgSpecanDep { } } -/// Spectrum analyzer +/// Deprecated /// -/// Spectrum analyzer packet. +/// Deprecated /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgSpecan { +pub struct MsgInitBaseDep { pub sender_id: Option, - /// Channel ID - pub channel_tag: u16, - /// Receiver time of this observation - pub t: GPSTime, - /// Reference frequency of this packet - pub freq_ref: f32, - /// Frequency step of points in this packet - pub freq_step: f32, - /// Reference amplitude of this packet - pub amplitude_ref: f32, - /// Amplitude unit value of points in this packet - pub amplitude_unit: f32, - /// Amplitude values (in the above units) of points in this packet - pub amplitude_value: Vec, } -impl MsgSpecan { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgSpecan { - sender_id: None, - channel_tag: _buf.read_u16::()?, - t: GPSTime::parse(_buf)?, - freq_ref: _buf.read_f32::()?, - freq_step: _buf.read_f32::()?, - amplitude_ref: _buf.read_f32::()?, - amplitude_unit: _buf.read_f32::()?, - amplitude_value: crate::parser::read_u8_array(_buf)?, - }) +impl MsgInitBaseDep { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgInitBaseDep { sender_id: None }) } } -impl super::SBPMessage for MsgSpecan { - const MSG_ID: u16 = 81; +impl super::SBPMessage for MsgInitBaseDep { + const MSG_ID: u16 = 35; fn get_sender_id(&self) -> Option { self.sender_id @@ -635,25 +468,33 @@ impl super::SBPMessage for MsgSpecan { } } -/// Send GPS time from host (host => Piksi) +/// Mask a satellite from use in Piksi subsystems /// -/// This message sets up timing functionality using a coarse GPS -/// time estimate sent by the host. +/// This message allows setting a mask to prevent a particular satellite +/// from being used in various Piksi subsystems. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgSetTime { +pub struct MsgMaskSatellite { pub sender_id: Option, + /// Mask of systems that should ignore this satellite. + pub mask: u8, + /// GNSS signal for which the mask is applied + pub sid: GnssSignal, } -impl MsgSetTime { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgSetTime { sender_id: None }) +impl MsgMaskSatellite { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgMaskSatellite { + sender_id: None, + mask: _buf.read_u8()?, + sid: GnssSignal::parse(_buf)?, + }) } } -impl super::SBPMessage for MsgSetTime { - const MSG_ID: u16 = 104; +impl super::SBPMessage for MsgMaskSatellite { + const MSG_ID: u16 = 43; fn get_sender_id(&self) -> Option { self.sender_id @@ -664,25 +505,32 @@ impl super::SBPMessage for MsgSetTime { } } -/// Legacy message to load satellite almanac (host => Piksi) +/// Deprecated /// -/// This is a legacy message for sending and loading a satellite -/// alamanac onto the Piksi's flash memory from the host. +/// Deprecated. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgAlmanac { +pub struct MsgMaskSatelliteDep { pub sender_id: Option, + /// Mask of systems that should ignore this satellite. + pub mask: u8, + /// GNSS signal for which the mask is applied + pub sid: GnssSignalDep, } -impl MsgAlmanac { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgAlmanac { sender_id: None }) +impl MsgMaskSatelliteDep { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgMaskSatelliteDep { + sender_id: None, + mask: _buf.read_u8()?, + sid: GnssSignalDep::parse(_buf)?, + }) } } -impl super::SBPMessage for MsgAlmanac { - const MSG_ID: u16 = 105; +impl super::SBPMessage for MsgMaskSatelliteDep { + const MSG_ID: u16 = 27; fn get_sender_id(&self) -> Option { self.sender_id @@ -693,25 +541,29 @@ impl super::SBPMessage for MsgAlmanac { } } -/// Reset the device (host => Piksi) +/// Bandwidth usage reporting message /// -/// This message from the host resets the Piksi back into the -/// bootloader. +/// The bandwidth usage, a list of usage by interface. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgResetDep { +pub struct MsgNetworkBandwidthUsage { pub sender_id: Option, + /// Usage measurement array + pub interfaces: Vec, } -impl MsgResetDep { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgResetDep { sender_id: None }) +impl MsgNetworkBandwidthUsage { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgNetworkBandwidthUsage { + sender_id: None, + interfaces: NetworkUsage::parse_array(_buf)?, + }) } } -impl super::SBPMessage for MsgResetDep { - const MSG_ID: u16 = 178; +impl super::SBPMessage for MsgNetworkBandwidthUsage { + const MSG_ID: u16 = 189; fn get_sender_id(&self) -> Option { self.sender_id @@ -722,43 +574,81 @@ impl super::SBPMessage for MsgResetDep { } } -/// Device temperature and voltage levels +/// Request state of Piksi network interfaces /// -/// This message contains temperature and voltage level measurements from the -/// processor's monitoring system and the RF frontend die temperature if -/// available. +/// Request state of Piksi network interfaces. +/// Output will be sent in MSG_NETWORK_STATE_RESP messages /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgDeviceMonitor { +pub struct MsgNetworkStateReq { pub sender_id: Option, - /// Device V_in - pub dev_vin: i16, - /// Processor V_int - pub cpu_vint: i16, - /// Processor V_aux - pub cpu_vaux: i16, - /// Processor temperature - pub cpu_temperature: i16, - /// Frontend temperature (if available) - pub fe_temperature: i16, } -impl MsgDeviceMonitor { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgDeviceMonitor { +impl MsgNetworkStateReq { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgNetworkStateReq { sender_id: None }) + } +} +impl super::SBPMessage for MsgNetworkStateReq { + const MSG_ID: u16 = 186; + + fn get_sender_id(&self) -> Option { + self.sender_id + } + + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); + } +} + +/// State of network interface +/// +/// The state of a network interface on the Piksi. +/// Data is made to reflect output of ifaddrs struct returned by getifaddrs +/// in c. +/// +#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] +#[derive(Debug)] +#[allow(non_snake_case)] +pub struct MsgNetworkStateResp { + pub sender_id: Option, + /// IPv4 address (all zero when unavailable) + pub ipv4_address: Vec, + /// IPv4 netmask CIDR notation + pub ipv4_mask_size: u8, + /// IPv6 address (all zero when unavailable) + pub ipv6_address: Vec, + /// IPv6 netmask CIDR notation + pub ipv6_mask_size: u8, + /// Number of Rx bytes + pub rx_bytes: u32, + /// Number of Tx bytes + pub tx_bytes: u32, + /// Interface Name + pub interface_name: String, + /// Interface flags from SIOCGIFFLAGS + pub flags: u32, +} + +impl MsgNetworkStateResp { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgNetworkStateResp { sender_id: None, - dev_vin: _buf.read_i16::()?, - cpu_vint: _buf.read_i16::()?, - cpu_vaux: _buf.read_i16::()?, - cpu_temperature: _buf.read_i16::()?, - fe_temperature: _buf.read_i16::()?, + ipv4_address: crate::parser::read_u8_array_limit(_buf, 4)?, + ipv4_mask_size: _buf.read_u8()?, + ipv6_address: crate::parser::read_u8_array_limit(_buf, 16)?, + ipv6_mask_size: _buf.read_u8()?, + rx_bytes: _buf.read_u32::()?, + tx_bytes: _buf.read_u32::()?, + interface_name: crate::parser::read_string_limit(_buf, 16)?, + flags: _buf.read_u32::()?, }) } } -impl super::SBPMessage for MsgDeviceMonitor { - const MSG_ID: u16 = 181; +impl super::SBPMessage for MsgNetworkStateResp { + const MSG_ID: u16 = 187; fn get_sender_id(&self) -> Option { self.sender_id @@ -803,34 +693,25 @@ impl super::SBPMessage for MsgReset { } } -/// Execute a command (host => device) +/// Reset the device (host => Piksi) /// -/// Request the recipient to execute an command. -/// Output will be sent in MSG_LOG messages, and the exit -/// code will be returned with MSG_COMMAND_RESP. +/// This message from the host resets the Piksi back into the +/// bootloader. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgCommandReq { +pub struct MsgResetDep { pub sender_id: Option, - /// Sequence number - pub sequence: u32, - /// Command line to execute - pub command: String, } -impl MsgCommandReq { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgCommandReq { - sender_id: None, - sequence: _buf.read_u32::()?, - command: crate::parser::read_string(_buf)?, - }) +impl MsgResetDep { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgResetDep { sender_id: None }) } } -impl super::SBPMessage for MsgCommandReq { - const MSG_ID: u16 = 184; +impl super::SBPMessage for MsgResetDep { + const MSG_ID: u16 = 178; fn get_sender_id(&self) -> Option { self.sender_id @@ -841,33 +722,30 @@ impl super::SBPMessage for MsgCommandReq { } } -/// Exit code from executed command (device => host) +/// Reset IAR filters (host => Piksi) /// -/// The response to MSG_COMMAND_REQ with the return code of -/// the command. A return code of zero indicates success. +/// This message resets either the DGNSS Kalman filters or Integer +/// Ambiguity Resolution (IAR) process. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgCommandResp { +pub struct MsgResetFilters { pub sender_id: Option, - /// Sequence number - pub sequence: u32, - /// Exit code - pub code: i32, + /// Filter flags + pub filter: u8, } -impl MsgCommandResp { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgCommandResp { +impl MsgResetFilters { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgResetFilters { sender_id: None, - sequence: _buf.read_u32::()?, - code: _buf.read_i32::()?, + filter: _buf.read_u8()?, }) } } -impl super::SBPMessage for MsgCommandResp { - const MSG_ID: u16 = 185; +impl super::SBPMessage for MsgResetFilters { + const MSG_ID: u16 = 34; fn get_sender_id(&self) -> Option { self.sender_id @@ -878,25 +756,25 @@ impl super::SBPMessage for MsgCommandResp { } } -/// Request state of Piksi network interfaces +/// Send GPS time from host (host => Piksi) /// -/// Request state of Piksi network interfaces. -/// Output will be sent in MSG_NETWORK_STATE_RESP messages +/// This message sets up timing functionality using a coarse GPS +/// time estimate sent by the host. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgNetworkStateReq { +pub struct MsgSetTime { pub sender_id: Option, } -impl MsgNetworkStateReq { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgNetworkStateReq { sender_id: None }) +impl MsgSetTime { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgSetTime { sender_id: None }) } } -impl super::SBPMessage for MsgNetworkStateReq { - const MSG_ID: u16 = 186; +impl super::SBPMessage for MsgSetTime { + const MSG_ID: u16 = 104; fn get_sender_id(&self) -> Option { self.sender_id @@ -907,52 +785,47 @@ impl super::SBPMessage for MsgNetworkStateReq { } } -/// State of network interface +/// Spectrum analyzer /// -/// The state of a network interface on the Piksi. -/// Data is made to reflect output of ifaddrs struct returned by getifaddrs -/// in c. +/// Spectrum analyzer packet. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgNetworkStateResp { +pub struct MsgSpecan { pub sender_id: Option, - /// IPv4 address (all zero when unavailable) - pub ipv4_address: Vec, - /// IPv4 netmask CIDR notation - pub ipv4_mask_size: u8, - /// IPv6 address (all zero when unavailable) - pub ipv6_address: Vec, - /// IPv6 netmask CIDR notation - pub ipv6_mask_size: u8, - /// Number of Rx bytes - pub rx_bytes: u32, - /// Number of Tx bytes - pub tx_bytes: u32, - /// Interface Name - pub interface_name: String, - /// Interface flags from SIOCGIFFLAGS - pub flags: u32, -} - -impl MsgNetworkStateResp { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgNetworkStateResp { + /// Channel ID + pub channel_tag: u16, + /// Receiver time of this observation + pub t: GPSTime, + /// Reference frequency of this packet + pub freq_ref: f32, + /// Frequency step of points in this packet + pub freq_step: f32, + /// Reference amplitude of this packet + pub amplitude_ref: f32, + /// Amplitude unit value of points in this packet + pub amplitude_unit: f32, + /// Amplitude values (in the above units) of points in this packet + pub amplitude_value: Vec, +} + +impl MsgSpecan { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgSpecan { sender_id: None, - ipv4_address: crate::parser::read_u8_array_limit(_buf, 4)?, - ipv4_mask_size: _buf.read_u8()?, - ipv6_address: crate::parser::read_u8_array_limit(_buf, 16)?, - ipv6_mask_size: _buf.read_u8()?, - rx_bytes: _buf.read_u32::()?, - tx_bytes: _buf.read_u32::()?, - interface_name: crate::parser::read_string_limit(_buf, 16)?, - flags: _buf.read_u32::()?, + channel_tag: _buf.read_u16::()?, + t: GPSTime::parse(_buf)?, + freq_ref: _buf.read_f32::()?, + freq_step: _buf.read_f32::()?, + amplitude_ref: _buf.read_f32::()?, + amplitude_unit: _buf.read_f32::()?, + amplitude_value: crate::parser::read_u8_array(_buf)?, }) } } -impl super::SBPMessage for MsgNetworkStateResp { - const MSG_ID: u16 = 187; +impl super::SBPMessage for MsgSpecan { + const MSG_ID: u16 = 81; fn get_sender_id(&self) -> Option { self.sender_id @@ -963,35 +836,47 @@ impl super::SBPMessage for MsgNetworkStateResp { } } -/// Command output +/// Deprecated /// -/// Returns the standard output and standard error of the -/// command requested by MSG_COMMAND_REQ. -/// The sequence number can be used to filter for filtering -/// the correct command. +/// Deprecated. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgCommandOutput { +pub struct MsgSpecanDep { pub sender_id: Option, - /// Sequence number - pub sequence: u32, - /// Line of standard output or standard error - pub line: String, + /// Channel ID + pub channel_tag: u16, + /// Receiver time of this observation + pub t: GPSTimeDep, + /// Reference frequency of this packet + pub freq_ref: f32, + /// Frequency step of points in this packet + pub freq_step: f32, + /// Reference amplitude of this packet + pub amplitude_ref: f32, + /// Amplitude unit value of points in this packet + pub amplitude_unit: f32, + /// Amplitude values (in the above units) of points in this packet + pub amplitude_value: Vec, } -impl MsgCommandOutput { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgCommandOutput { +impl MsgSpecanDep { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgSpecanDep { sender_id: None, - sequence: _buf.read_u32::()?, - line: crate::parser::read_string(_buf)?, + channel_tag: _buf.read_u16::()?, + t: GPSTimeDep::parse(_buf)?, + freq_ref: _buf.read_f32::()?, + freq_step: _buf.read_f32::()?, + amplitude_ref: _buf.read_f32::()?, + amplitude_unit: _buf.read_f32::()?, + amplitude_value: crate::parser::read_u8_array(_buf)?, }) } } -impl super::SBPMessage for MsgCommandOutput { - const MSG_ID: u16 = 188; +impl super::SBPMessage for MsgSpecanDep { + const MSG_ID: u16 = 80; fn get_sender_id(&self) -> Option { self.sender_id @@ -1002,29 +887,38 @@ impl super::SBPMessage for MsgCommandOutput { } } -/// Bandwidth usage reporting message +/// State of an RTOS thread /// -/// The bandwidth usage, a list of usage by interface. +/// The thread usage message from the device reports real-time +/// operating system (RTOS) thread usage statistics for the named +/// thread. The reported percentage values must be normalized. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgNetworkBandwidthUsage { +pub struct MsgThreadState { pub sender_id: Option, - /// Usage measurement array - pub interfaces: Vec, + /// Thread name (NULL terminated) + pub name: String, + /// Percentage cpu use for this thread. Values range from 0 - 1000 and needs + /// to be renormalized to 100 + pub cpu: u16, + /// Free stack space for this thread + pub stack_free: u32, } -impl MsgNetworkBandwidthUsage { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgNetworkBandwidthUsage { +impl MsgThreadState { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgThreadState { sender_id: None, - interfaces: NetworkUsage::parse_array(_buf)?, + name: crate::parser::read_string_limit(_buf, 20)?, + cpu: _buf.read_u16::()?, + stack_free: _buf.read_u32::()?, }) } } -impl super::SBPMessage for MsgNetworkBandwidthUsage { - const MSG_ID: u16 = 189; +impl super::SBPMessage for MsgThreadState { + const MSG_ID: u16 = 23; fn get_sender_id(&self) -> Option { self.sender_id @@ -1035,37 +929,49 @@ impl super::SBPMessage for MsgNetworkBandwidthUsage { } } -/// Cell modem information update message +/// State of the UART channels /// -/// If a cell modem is present on a piksi device, this message -/// will be send periodically to update the host on the status -/// of the modem and its various parameters. +/// The UART message reports data latency and throughput of the UART +/// channels providing SBP I/O. On the default Piksi configuration, +/// UARTs A and B are used for telemetry radios, but can also be +/// host access ports for embedded hosts, or other interfaces in +/// future. The reported percentage values must be normalized. +/// Observations latency and period can be used to assess the +/// health of the differential corrections link. Latency provides +/// the timeliness of received base observations while the +/// period indicates their likelihood of transmission. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgCellModemStatus { +pub struct MsgUartState { pub sender_id: Option, - /// Received cell signal strength in dBm, zero translates to unknown - pub signal_strength: i8, - /// BER as reported by the modem, zero translates to unknown - pub signal_error_rate: f32, - /// Unspecified data TBD for this schema - pub reserved: Vec, + /// State of UART A + pub uart_a: UARTChannel, + /// State of UART B + pub uart_b: UARTChannel, + /// State of UART FTDI (USB logger) + pub uart_ftdi: UARTChannel, + /// UART communication latency + pub latency: Latency, + /// Observation receipt period + pub obs_period: Period, } -impl MsgCellModemStatus { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgCellModemStatus { +impl MsgUartState { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgUartState { sender_id: None, - signal_strength: _buf.read_i8()?, - signal_error_rate: _buf.read_f32::()?, - reserved: crate::parser::read_u8_array(_buf)?, + uart_a: UARTChannel::parse(_buf)?, + uart_b: UARTChannel::parse(_buf)?, + uart_ftdi: UARTChannel::parse(_buf)?, + latency: Latency::parse(_buf)?, + obs_period: Period::parse(_buf)?, }) } } -impl super::SBPMessage for MsgCellModemStatus { - const MSG_ID: u16 = 190; +impl super::SBPMessage for MsgUartState { + const MSG_ID: u16 = 29; fn get_sender_id(&self) -> Option { self.sender_id @@ -1076,37 +982,38 @@ impl super::SBPMessage for MsgCellModemStatus { } } -/// RF AGC status +/// Deprecated /// -/// This message describes the gain of each channel in the receiver frontend. Each -/// gain is encoded as a non-dimensional percentage relative to the maximum range -/// possible for the gain stage of the frontend. By convention, each gain array -/// has 8 entries and the index of the array corresponding to the index of the rf channel -/// in the frontend. A gain of 127 percent encodes that rf channel is not present in the hardware. -/// A negative value implies an error for the particular gain stage as reported by the frontend. +/// Deprecated /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgFrontEndGain { +pub struct MsgUartStateDepa { pub sender_id: Option, - /// RF gain for each frontend channel - pub rf_gain: Vec, - /// Intermediate frequency gain for each frontend channel - pub if_gain: Vec, + /// State of UART A + pub uart_a: UARTChannel, + /// State of UART B + pub uart_b: UARTChannel, + /// State of UART FTDI (USB logger) + pub uart_ftdi: UARTChannel, + /// UART communication latency + pub latency: Latency, } -impl MsgFrontEndGain { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgFrontEndGain { +impl MsgUartStateDepa { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgUartStateDepa { sender_id: None, - rf_gain: crate::parser::read_s8_array_limit(_buf, 8)?, - if_gain: crate::parser::read_s8_array_limit(_buf, 8)?, + uart_a: UARTChannel::parse(_buf)?, + uart_b: UARTChannel::parse(_buf)?, + uart_ftdi: UARTChannel::parse(_buf)?, + latency: Latency::parse(_buf)?, }) } } -impl super::SBPMessage for MsgFrontEndGain { - const MSG_ID: u16 = 191; +impl super::SBPMessage for MsgUartStateDepa { + const MSG_ID: u16 = 24; fn get_sender_id(&self) -> Option { self.sender_id @@ -1117,62 +1024,155 @@ impl super::SBPMessage for MsgFrontEndGain { } } -/// Legacy message for CW interference channel (Piksi => host) +/// Bandwidth usage measurement for a single interface. /// -/// This is an unused legacy message for result reporting from the -/// CW interference channel on the SwiftNAP. This message will be -/// removed in a future release. +/// The bandwidth usage for each interface can be reported +/// within this struct and utilize multiple fields to fully +/// specify the type of traffic that is being tracked. As +/// either the interval of collection or the collection time +/// may vary, both a timestamp and period field is provided, +/// though may not necessarily be populated with a value. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgCwResults { - pub sender_id: Option, +pub struct NetworkUsage { + /// Duration over which the measurement was collected + pub duration: u64, + /// Number of bytes handled in total within period + pub total_bytes: u64, + /// Number of bytes transmitted within period + pub rx_bytes: u32, + /// Number of bytes received within period + pub tx_bytes: u32, + /// Interface Name + pub interface_name: String, } -impl MsgCwResults { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgCwResults { sender_id: None }) +impl NetworkUsage { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(NetworkUsage { + duration: _buf.read_u64::()?, + total_bytes: _buf.read_u64::()?, + rx_bytes: _buf.read_u32::()?, + tx_bytes: _buf.read_u32::()?, + interface_name: crate::parser::read_string_limit(_buf, 16)?, + }) } -} -impl super::SBPMessage for MsgCwResults { - const MSG_ID: u16 = 192; - - fn get_sender_id(&self) -> Option { - self.sender_id + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + let mut v = Vec::new(); + while buf.len() > 0 { + v.push(NetworkUsage::parse(buf)?); + } + Ok(v) } - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); + pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { + let mut v = Vec::new(); + for _ in 0..n { + v.push(NetworkUsage::parse(buf)?); + } + Ok(v) } } -/// Legacy message for CW interference channel (host => Piksi) +/// base station observation message receipt period /// -/// This is an unused legacy message from the host for starting -/// the CW interference channel on the SwiftNAP. This message will -/// be removed in a future release. +/// Statistics on the period of observations received from the base +/// station. As complete observation sets are received, their time +/// of reception is compared with the prior set''s time of reception. +/// This measurement provides a proxy for link quality as incomplete +/// or missing sets will increase the period. Long periods +/// can cause momentary RTK solution outages. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgCwStart { - pub sender_id: Option, +pub struct Period { + /// Average period + pub avg: i32, + /// Minimum period + pub pmin: i32, + /// Maximum period + pub pmax: i32, + /// Smoothed estimate of the current period + pub current: i32, } -impl MsgCwStart { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgCwStart { sender_id: None }) +impl Period { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(Period { + avg: _buf.read_i32::()?, + pmin: _buf.read_i32::()?, + pmax: _buf.read_i32::()?, + current: _buf.read_i32::()?, + }) + } + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + let mut v = Vec::new(); + while buf.len() > 0 { + v.push(Period::parse(buf)?); + } + Ok(v) + } + + pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { + let mut v = Vec::new(); + for _ in 0..n { + v.push(Period::parse(buf)?); + } + Ok(v) } } -impl super::SBPMessage for MsgCwStart { - const MSG_ID: u16 = 193; - fn get_sender_id(&self) -> Option { - self.sender_id +/// State of the UART channel +/// +/// Throughput, utilization, and error counts on the RX/TX buffers +/// of this UART channel. The reported percentage values must +/// be normalized. +/// +#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] +#[derive(Debug)] +#[allow(non_snake_case)] +pub struct UARTChannel { + /// UART transmit throughput + pub tx_throughput: f32, + /// UART receive throughput + pub rx_throughput: f32, + /// UART CRC error count + pub crc_error_count: u16, + /// UART IO error count + pub io_error_count: u16, + /// UART transmit buffer percentage utilization (ranges from 0 to 255) + pub tx_buffer_level: u8, + /// UART receive buffer percentage utilization (ranges from 0 to 255) + pub rx_buffer_level: u8, +} + +impl UARTChannel { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(UARTChannel { + tx_throughput: _buf.read_f32::()?, + rx_throughput: _buf.read_f32::()?, + crc_error_count: _buf.read_u16::()?, + io_error_count: _buf.read_u16::()?, + tx_buffer_level: _buf.read_u8()?, + rx_buffer_level: _buf.read_u8()?, + }) + } + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + let mut v = Vec::new(); + while buf.len() > 0 { + v.push(UARTChannel::parse(buf)?); + } + Ok(v) } - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); + pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { + let mut v = Vec::new(); + for _ in 0..n { + v.push(UARTChannel::parse(buf)?); + } + Ok(v) } } diff --git a/rust/sbp/src/messages/settings.rs b/rust/sbp/src/messages/settings.rs index 19e76e6c76..a45b8363e3 100644 --- a/rust/sbp/src/messages/settings.rs +++ b/rust/sbp/src/messages/settings.rs @@ -46,36 +46,24 @@ use self::byteorder::{LittleEndian, ReadBytesExt}; #[cfg(feature = "serialize")] use serde::{Deserialize, Serialize}; -/// Write device configuration settings (host => device) +/// Finished reading settings (host <= device) /// -/// The setting message writes the device configuration for a particular -/// setting via A NULL-terminated and NULL-delimited string with contents -/// "SECTION_SETTING\0SETTING\0VALUE\0" where the '\0' escape sequence denotes -/// the NULL character and where quotation marks are omitted. A device will -/// only process to this message when it is received from sender ID 0x42. -/// An example string that could be sent to a device is -/// "solution\0soln_freq\010\0". +/// The settings message for indicating end of the settings values. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgSettingsWrite { +pub struct MsgSettingsReadByIndexDone { pub sender_id: Option, - /// A NULL-terminated and NULL-delimited string with contents - /// "SECTION_SETTING\0SETTING\0VALUE\0" - pub setting: String, } -impl MsgSettingsWrite { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgSettingsWrite { - sender_id: None, - setting: crate::parser::read_string(_buf)?, - }) +impl MsgSettingsReadByIndexDone { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgSettingsReadByIndexDone { sender_id: None }) } } -impl super::SBPMessage for MsgSettingsWrite { - const MSG_ID: u16 = 160; +impl super::SBPMessage for MsgSettingsReadByIndexDone { + const MSG_ID: u16 = 166; fn get_sender_id(&self) -> Option { self.sender_id @@ -86,25 +74,32 @@ impl super::SBPMessage for MsgSettingsWrite { } } -/// Save settings to flash (host => device) +/// Read setting by direct index (host => device) /// -/// The save settings message persists the device's current settings -/// configuration to its onboard flash memory file system. +/// The settings message for iterating through the settings +/// values. A device will respond to this message with a +/// "MSG_SETTINGS_READ_BY_INDEX_RESP". /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgSettingsSave { +pub struct MsgSettingsReadByIndexReq { pub sender_id: Option, + /// An index into the device settings, with values ranging from 0 to + /// length(settings) + pub index: u16, } -impl MsgSettingsSave { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgSettingsSave { sender_id: None }) +impl MsgSettingsReadByIndexReq { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgSettingsReadByIndexReq { + sender_id: None, + index: _buf.read_u16::()?, + }) } } -impl super::SBPMessage for MsgSettingsSave { - const MSG_ID: u16 = 161; +impl super::SBPMessage for MsgSettingsReadByIndexReq { + const MSG_ID: u16 = 162; fn get_sender_id(&self) -> Option { self.sender_id @@ -115,32 +110,43 @@ impl super::SBPMessage for MsgSettingsSave { } } -/// Read setting by direct index (host => device) +/// Read setting by direct index (host <= device) /// -/// The settings message for iterating through the settings -/// values. A device will respond to this message with a -/// "MSG_SETTINGS_READ_BY_INDEX_RESP". +/// The settings message that reports the value of a setting at an index. +/// +/// In the string field, it reports NULL-terminated and delimited string +/// with contents "SECTION_SETTING\0SETTING\0VALUE\0FORMAT_TYPE\0". where +/// the '\0' escape sequence denotes the NULL character and where quotation +/// marks are omitted. The FORMAT_TYPE field is optional and denotes +/// possible string values of the setting as a hint to the user. If +/// included, the format type portion of the string has the format +/// "enum:value1,value2,value3". An example string that could be sent from +/// the device is "simulator\0enabled\0True\0enum:True,False\0" /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgSettingsReadByIndexReq { +pub struct MsgSettingsReadByIndexResp { pub sender_id: Option, /// An index into the device settings, with values ranging from 0 to /// length(settings) pub index: u16, + /// A NULL-terminated and delimited string with contents + /// "SECTION_SETTING\0SETTING\0VALUE\0FORMAT_TYPE\0" + pub setting: String, } -impl MsgSettingsReadByIndexReq { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgSettingsReadByIndexReq { +impl MsgSettingsReadByIndexResp { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgSettingsReadByIndexResp { sender_id: None, index: _buf.read_u16::()?, + setting: crate::parser::read_string(_buf)?, }) } } -impl super::SBPMessage for MsgSettingsReadByIndexReq { - const MSG_ID: u16 = 162; +impl super::SBPMessage for MsgSettingsReadByIndexResp { + const MSG_ID: u16 = 167; fn get_sender_id(&self) -> Option { self.sender_id @@ -232,24 +238,32 @@ impl super::SBPMessage for MsgSettingsReadResp { } } -/// Finished reading settings (host <= device) +/// Register setting and default value (device => host) /// -/// The settings message for indicating end of the settings values. +/// This message registers the presence and default value of a setting +/// with a settings daemon. The host should reply with MSG_SETTINGS_WRITE +/// for this setting to set the initial value. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgSettingsReadByIndexDone { +pub struct MsgSettingsRegister { pub sender_id: Option, + /// A NULL-terminated and delimited string with contents + /// "SECTION_SETTING\0SETTING\0VALUE". + pub setting: String, } -impl MsgSettingsReadByIndexDone { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgSettingsReadByIndexDone { sender_id: None }) +impl MsgSettingsRegister { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgSettingsRegister { + sender_id: None, + setting: crate::parser::read_string(_buf)?, + }) } } -impl super::SBPMessage for MsgSettingsReadByIndexDone { - const MSG_ID: u16 = 166; +impl super::SBPMessage for MsgSettingsRegister { + const MSG_ID: u16 = 174; fn get_sender_id(&self) -> Option { self.sender_id @@ -260,43 +274,37 @@ impl super::SBPMessage for MsgSettingsReadByIndexDone { } } -/// Read setting by direct index (host <= device) -/// -/// The settings message that reports the value of a setting at an index. +/// Register setting and default value (device <= host) /// -/// In the string field, it reports NULL-terminated and delimited string -/// with contents "SECTION_SETTING\0SETTING\0VALUE\0FORMAT_TYPE\0". where -/// the '\0' escape sequence denotes the NULL character and where quotation -/// marks are omitted. The FORMAT_TYPE field is optional and denotes -/// possible string values of the setting as a hint to the user. If -/// included, the format type portion of the string has the format -/// "enum:value1,value2,value3". An example string that could be sent from -/// the device is "simulator\0enabled\0True\0enum:True,False\0" +/// This message responds to setting registration with the effective value. +/// The effective value shall differ from the given default value if setting +/// was already registered or is available in the permanent setting storage +/// and had a different value. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgSettingsReadByIndexResp { +pub struct MsgSettingsRegisterResp { pub sender_id: Option, - /// An index into the device settings, with values ranging from 0 to - /// length(settings) - pub index: u16, + /// Register status + pub status: u8, /// A NULL-terminated and delimited string with contents - /// "SECTION_SETTING\0SETTING\0VALUE\0FORMAT_TYPE\0" + /// "SECTION_SETTING\0SETTING\0VALUE". The meaning of value is defined + /// according to the status field. pub setting: String, } -impl MsgSettingsReadByIndexResp { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgSettingsReadByIndexResp { +impl MsgSettingsRegisterResp { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgSettingsRegisterResp { sender_id: None, - index: _buf.read_u16::()?, + status: _buf.read_u8()?, setting: crate::parser::read_string(_buf)?, }) } } -impl super::SBPMessage for MsgSettingsReadByIndexResp { - const MSG_ID: u16 = 167; +impl super::SBPMessage for MsgSettingsRegisterResp { + const MSG_ID: u16 = 431; fn get_sender_id(&self) -> Option { self.sender_id @@ -307,32 +315,25 @@ impl super::SBPMessage for MsgSettingsReadByIndexResp { } } -/// Register setting and default value (device => host) +/// Save settings to flash (host => device) /// -/// This message registers the presence and default value of a setting -/// with a settings daemon. The host should reply with MSG_SETTINGS_WRITE -/// for this setting to set the initial value. +/// The save settings message persists the device's current settings +/// configuration to its onboard flash memory file system. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgSettingsRegister { +pub struct MsgSettingsSave { pub sender_id: Option, - /// A NULL-terminated and delimited string with contents - /// "SECTION_SETTING\0SETTING\0VALUE". - pub setting: String, } -impl MsgSettingsRegister { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgSettingsRegister { - sender_id: None, - setting: crate::parser::read_string(_buf)?, - }) +impl MsgSettingsSave { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgSettingsSave { sender_id: None }) } } -impl super::SBPMessage for MsgSettingsRegister { - const MSG_ID: u16 = 174; +impl super::SBPMessage for MsgSettingsSave { + const MSG_ID: u16 = 161; fn get_sender_id(&self) -> Option { self.sender_id @@ -343,39 +344,36 @@ impl super::SBPMessage for MsgSettingsRegister { } } -/// Acknowledgement with status of MSG_SETTINGS_WRITE +/// Write device configuration settings (host => device) /// -/// Return the status of a write request with the new value of the -/// setting. If the requested value is rejected, the current value -/// will be returned. The string field is a NULL-terminated and NULL-delimited -/// string with contents "SECTION_SETTING\0SETTING\0VALUE\0" where the '\0' -/// escape sequence denotes the NULL character and where quotation marks -/// are omitted. An example string that could be sent from device is +/// The setting message writes the device configuration for a particular +/// setting via A NULL-terminated and NULL-delimited string with contents +/// "SECTION_SETTING\0SETTING\0VALUE\0" where the '\0' escape sequence denotes +/// the NULL character and where quotation marks are omitted. A device will +/// only process to this message when it is received from sender ID 0x42. +/// An example string that could be sent to a device is /// "solution\0soln_freq\010\0". /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgSettingsWriteResp { +pub struct MsgSettingsWrite { pub sender_id: Option, - /// Write status - pub status: u8, - /// A NULL-terminated and delimited string with contents + /// A NULL-terminated and NULL-delimited string with contents /// "SECTION_SETTING\0SETTING\0VALUE\0" pub setting: String, } -impl MsgSettingsWriteResp { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgSettingsWriteResp { +impl MsgSettingsWrite { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgSettingsWrite { sender_id: None, - status: _buf.read_u8()?, setting: crate::parser::read_string(_buf)?, }) } } -impl super::SBPMessage for MsgSettingsWriteResp { - const MSG_ID: u16 = 175; +impl super::SBPMessage for MsgSettingsWrite { + const MSG_ID: u16 = 160; fn get_sender_id(&self) -> Option { self.sender_id @@ -386,37 +384,39 @@ impl super::SBPMessage for MsgSettingsWriteResp { } } -/// Register setting and default value (device <= host) +/// Acknowledgement with status of MSG_SETTINGS_WRITE /// -/// This message responds to setting registration with the effective value. -/// The effective value shall differ from the given default value if setting -/// was already registered or is available in the permanent setting storage -/// and had a different value. +/// Return the status of a write request with the new value of the +/// setting. If the requested value is rejected, the current value +/// will be returned. The string field is a NULL-terminated and NULL-delimited +/// string with contents "SECTION_SETTING\0SETTING\0VALUE\0" where the '\0' +/// escape sequence denotes the NULL character and where quotation marks +/// are omitted. An example string that could be sent from device is +/// "solution\0soln_freq\010\0". /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgSettingsRegisterResp { +pub struct MsgSettingsWriteResp { pub sender_id: Option, - /// Register status + /// Write status pub status: u8, /// A NULL-terminated and delimited string with contents - /// "SECTION_SETTING\0SETTING\0VALUE". The meaning of value is defined - /// according to the status field. + /// "SECTION_SETTING\0SETTING\0VALUE\0" pub setting: String, } -impl MsgSettingsRegisterResp { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgSettingsRegisterResp { +impl MsgSettingsWriteResp { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgSettingsWriteResp { sender_id: None, status: _buf.read_u8()?, setting: crate::parser::read_string(_buf)?, }) } } -impl super::SBPMessage for MsgSettingsRegisterResp { - const MSG_ID: u16 = 431; +impl super::SBPMessage for MsgSettingsWriteResp { + const MSG_ID: u16 = 175; fn get_sender_id(&self) -> Option { self.sender_id diff --git a/rust/sbp/src/messages/ssr.rs b/rust/sbp/src/messages/ssr.rs index 5c1996a99d..71d810131f 100644 --- a/rust/sbp/src/messages/ssr.rs +++ b/rust/sbp/src/messages/ssr.rs @@ -63,42 +63,46 @@ impl CodeBiasesContent { } } -/// SSR phase biases corrections for a particular satellite. +/// Defines the grid for MSG_SSR_GRIDDED_CORRECTION messages. /// -/// Phase biases are to be added to carrier phase measurements. -/// The corrections conform with typical RTCMv3 MT1059 and 1065. +/// Defines the grid for MSG_SSR_GRIDDED_CORRECTION messages. +/// Also includes an RLE encoded validity list. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct PhaseBiasesContent { - /// Signal constellation, band and code - pub code: u8, - /// Indicator for integer property - pub integer_indicator: u8, - /// Indicator for two groups of Wide-Lane(s) integer property - pub widelane_integer_indicator: u8, - /// Signal phase discontinuity counter. Increased for every discontinuity in - /// phase. - pub discontinuity_counter: u8, - /// Phase bias for specified signal - pub bias: i32, +pub struct GridDefinitionHeader { + /// region_size (deg) = 10 / region_size_inverse 0 is an invalid value. + pub region_size_inverse: u8, + /// grid height (deg) = grid idth (deg) = area_width / region_size 0 is an + /// invalid value. + pub area_width: u16, + /// North-West corner latitdue (deg) = region_size * lat_nw_corner_enc - 90 + pub lat_nw_corner_enc: u16, + /// North-West corner longtitude (deg) = region_size * lon_nw_corner_enc - + /// 180 + pub lon_nw_corner_enc: u16, + /// Number of messages in the dataset + pub num_msgs: u8, + /// Postion of this message in the dataset + pub seq_num: u8, } -impl PhaseBiasesContent { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(PhaseBiasesContent { - code: _buf.read_u8()?, - integer_indicator: _buf.read_u8()?, - widelane_integer_indicator: _buf.read_u8()?, - discontinuity_counter: _buf.read_u8()?, - bias: _buf.read_i32::()?, +impl GridDefinitionHeader { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(GridDefinitionHeader { + region_size_inverse: _buf.read_u8()?, + area_width: _buf.read_u16::()?, + lat_nw_corner_enc: _buf.read_u16::()?, + lon_nw_corner_enc: _buf.read_u16::()?, + num_msgs: _buf.read_u8()?, + seq_num: _buf.read_u8()?, }) } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { let mut v = Vec::new(); while buf.len() > 0 { - v.push(PhaseBiasesContent::parse(buf)?); + v.push(GridDefinitionHeader::parse(buf)?); } Ok(v) } @@ -106,60 +110,52 @@ impl PhaseBiasesContent { pub fn parse_array_limit( buf: &mut &[u8], n: usize, - ) -> Result, crate::Error> { + ) -> Result, crate::Error> { let mut v = Vec::new(); for _ in 0..n { - v.push(PhaseBiasesContent::parse(buf)?); + v.push(GridDefinitionHeader::parse(buf)?); } Ok(v) } } -/// Header for MSG_SSR_STEC_CORRECTION message +/// Correction data for a single grid point. /// -/// A full set of STEC information will likely span multiple SBP -/// messages, since SBP message a limited to 255 bytes. The header -/// is used to tie multiple SBP messages into a sequence. +/// Contains one tropo delay, plus STEC residuals for each satellite at the +/// grid point. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct STECHeader { - /// GNSS reference time of the correction - pub time: GPSTimeSec, - /// Number of messages in the dataset - pub num_msgs: u8, - /// Position of this message in the dataset - pub seq_num: u8, - /// Update interval between consecutive corrections. Encoded following RTCM - /// DF391 specification. - pub update_interval: u8, - /// IOD of the SSR atmospheric correction - pub iod_atmo: u8, +pub struct GridElement { + /// Index of the grid point + pub index: u16, + /// Wet and hydrostatic vertical delays + pub tropo_delay_correction: TroposphericDelayCorrection, + /// STEC residuals for each satellite + pub stec_residuals: Vec, } -impl STECHeader { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(STECHeader { - time: GPSTimeSec::parse(_buf)?, - num_msgs: _buf.read_u8()?, - seq_num: _buf.read_u8()?, - update_interval: _buf.read_u8()?, - iod_atmo: _buf.read_u8()?, +impl GridElement { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(GridElement { + index: _buf.read_u16::()?, + tropo_delay_correction: TroposphericDelayCorrection::parse(_buf)?, + stec_residuals: STECResidual::parse_array(_buf)?, }) } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { let mut v = Vec::new(); while buf.len() > 0 { - v.push(STECHeader::parse(buf)?); + v.push(GridElement::parse(buf)?); } Ok(v) } - pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { + pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { let mut v = Vec::new(); for _ in 0..n { - v.push(STECHeader::parse(buf)?); + v.push(GridElement::parse(buf)?); } Ok(v) } @@ -222,225 +218,130 @@ impl GriddedCorrectionHeader { } } -/// None +/// Precise code biases correction /// -/// STEC polynomial for the given satellite. +/// The precise code biases message is to be added +/// to the pseudorange of the corresponding signal +/// to get corrected pseudorange. It is typically +/// an equivalent to the 1059 and 1065 RTCM message types /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct STECSatElement { - /// Unique space vehicle identifier - pub sv_id: SvId, - /// Quality of the STEC data. Encoded following RTCM DF389 specifcation but - /// in units of TECU instead of m. - pub stec_quality_indicator: u8, - /// Coefficents of the STEC polynomial in the order of C00, C01, C10, C11 - pub stec_coeff: Vec, +pub struct MsgSsrCodeBiases { + pub sender_id: Option, + /// GNSS reference time of the correction + pub time: GPSTimeSec, + /// GNSS signal identifier (16 bit) + pub sid: GnssSignal, + /// Update interval between consecutive corrections. Encoded following RTCM + /// DF391 specification. + pub update_interval: u8, + /// IOD of the SSR correction. A change of Issue Of Data SSR is used to + /// indicate a change in the SSR generating configuration + pub iod_ssr: u8, + /// Code biases for the different satellite signals + pub biases: Vec, } -impl STECSatElement { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(STECSatElement { - sv_id: SvId::parse(_buf)?, - stec_quality_indicator: _buf.read_u8()?, - stec_coeff: crate::parser::read_s16_array_limit(_buf, 4)?, +impl MsgSsrCodeBiases { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgSsrCodeBiases { + sender_id: None, + time: GPSTimeSec::parse(_buf)?, + sid: GnssSignal::parse(_buf)?, + update_interval: _buf.read_u8()?, + iod_ssr: _buf.read_u8()?, + biases: CodeBiasesContent::parse_array(_buf)?, }) } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { - let mut v = Vec::new(); - while buf.len() > 0 { - v.push(STECSatElement::parse(buf)?); - } - Ok(v) - } - - pub fn parse_array_limit( - buf: &mut &[u8], - n: usize, - ) -> Result, crate::Error> { - let mut v = Vec::new(); - for _ in 0..n { - v.push(STECSatElement::parse(buf)?); - } - Ok(v) - } -} - -/// None -/// -/// Troposphere vertical delays at the grid point. -/// -#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] -#[derive(Debug)] -#[allow(non_snake_case)] -pub struct TroposphericDelayCorrection { - /// Hydrostatic vertical delay - pub hydro: i16, - /// Wet vertical delay - pub wet: i8, } +impl super::SBPMessage for MsgSsrCodeBiases { + const MSG_ID: u16 = 1505; -impl TroposphericDelayCorrection { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(TroposphericDelayCorrection { - hydro: _buf.read_i16::()?, - wet: _buf.read_i8()?, - }) - } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { - let mut v = Vec::new(); - while buf.len() > 0 { - v.push(TroposphericDelayCorrection::parse(buf)?); - } - Ok(v) + fn get_sender_id(&self) -> Option { + self.sender_id } - pub fn parse_array_limit( - buf: &mut &[u8], - n: usize, - ) -> Result, crate::Error> { - let mut v = Vec::new(); - for _ in 0..n { - v.push(TroposphericDelayCorrection::parse(buf)?); - } - Ok(v) + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); } } -/// None +/// Gridded troposphere and STEC residuals /// -/// STEC residual for the given satellite at the grid point. +/// STEC residuals are per space vehicle, tropo is not. +/// It is typically equivalent to the QZSS CLAS Sub Type 9 messages /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct STECResidual { - /// space vehicle identifier - pub sv_id: SvId, - /// STEC residual - pub residual: i16, +pub struct MsgSsrGriddedCorrection { + pub sender_id: Option, + /// Header of a Gridded Correction message + pub header: GriddedCorrectionHeader, + /// Tropo and STEC residuals for the given grid point + pub element: GridElement, } -impl STECResidual { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(STECResidual { - sv_id: SvId::parse(_buf)?, - residual: _buf.read_i16::()?, +impl MsgSsrGriddedCorrection { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgSsrGriddedCorrection { + sender_id: None, + header: GriddedCorrectionHeader::parse(_buf)?, + element: GridElement::parse(_buf)?, }) } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { - let mut v = Vec::new(); - while buf.len() > 0 { - v.push(STECResidual::parse(buf)?); - } - Ok(v) - } - - pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { - let mut v = Vec::new(); - for _ in 0..n { - v.push(STECResidual::parse(buf)?); - } - Ok(v) - } -} - -/// Correction data for a single grid point. -/// -/// Contains one tropo delay, plus STEC residuals for each satellite at the -/// grid point. -/// -#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] -#[derive(Debug)] -#[allow(non_snake_case)] -pub struct GridElement { - /// Index of the grid point - pub index: u16, - /// Wet and hydrostatic vertical delays - pub tropo_delay_correction: TroposphericDelayCorrection, - /// STEC residuals for each satellite - pub stec_residuals: Vec, } +impl super::SBPMessage for MsgSsrGriddedCorrection { + const MSG_ID: u16 = 1520; -impl GridElement { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(GridElement { - index: _buf.read_u16::()?, - tropo_delay_correction: TroposphericDelayCorrection::parse(_buf)?, - stec_residuals: STECResidual::parse_array(_buf)?, - }) - } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { - let mut v = Vec::new(); - while buf.len() > 0 { - v.push(GridElement::parse(buf)?); - } - Ok(v) + fn get_sender_id(&self) -> Option { + self.sender_id } - pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { - let mut v = Vec::new(); - for _ in 0..n { - v.push(GridElement::parse(buf)?); - } - Ok(v) + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); } } -/// Defines the grid for MSG_SSR_GRIDDED_CORRECTION messages. +/// Definition of the grid for STEC and tropo messages /// -/// Defines the grid for MSG_SSR_GRIDDED_CORRECTION messages. -/// Also includes an RLE encoded validity list. +/// Based on the 3GPP proposal R2-1906781 which is in turn based on +/// OMA-LPPe-ValidityArea from OMA-TS-LPPe-V2_0-20141202-C /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct GridDefinitionHeader { - /// region_size (deg) = 10 / region_size_inverse 0 is an invalid value. - pub region_size_inverse: u8, - /// grid height (deg) = grid idth (deg) = area_width / region_size 0 is an - /// invalid value. - pub area_width: u16, - /// North-West corner latitdue (deg) = region_size * lat_nw_corner_enc - 90 - pub lat_nw_corner_enc: u16, - /// North-West corner longtitude (deg) = region_size * lon_nw_corner_enc - - /// 180 - pub lon_nw_corner_enc: u16, - /// Number of messages in the dataset - pub num_msgs: u8, - /// Postion of this message in the dataset - pub seq_num: u8, +pub struct MsgSsrGridDefinition { + pub sender_id: Option, + /// Header of a Gridded Correction message + pub header: GridDefinitionHeader, + /// Run Length Encode list of quadrants that contain valid data. The spec + /// describes the encoding scheme in detail, but essentially the index of + /// the quadrants that contain transitions between valid and invalid (and + /// vice versa) are encoded as u8 integers. + pub rle_list: Vec, } -impl GridDefinitionHeader { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(GridDefinitionHeader { - region_size_inverse: _buf.read_u8()?, - area_width: _buf.read_u16::()?, - lat_nw_corner_enc: _buf.read_u16::()?, - lon_nw_corner_enc: _buf.read_u16::()?, - num_msgs: _buf.read_u8()?, - seq_num: _buf.read_u8()?, +impl MsgSsrGridDefinition { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgSsrGridDefinition { + sender_id: None, + header: GridDefinitionHeader::parse(_buf)?, + rle_list: crate::parser::read_u8_array(_buf)?, }) } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { - let mut v = Vec::new(); - while buf.len() > 0 { - v.push(GridDefinitionHeader::parse(buf)?); - } - Ok(v) +} +impl super::SBPMessage for MsgSsrGridDefinition { + const MSG_ID: u16 = 1525; + + fn get_sender_id(&self) -> Option { + self.sender_id } - pub fn parse_array_limit( - buf: &mut &[u8], - n: usize, - ) -> Result, crate::Error> { - let mut v = Vec::new(); - for _ in 0..n { - v.push(GridDefinitionHeader::parse(buf)?); - } - Ok(v) + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); } } @@ -454,7 +355,7 @@ impl GridDefinitionHeader { #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgSsrOrbitClockDepA { +pub struct MsgSsrOrbitClock { pub sender_id: Option, /// GNSS reference time of the correction pub time: GPSTimeSec, @@ -466,8 +367,8 @@ pub struct MsgSsrOrbitClockDepA { /// IOD of the SSR correction. A change of Issue Of Data SSR is used to /// indicate a change in the SSR generating configuration pub iod_ssr: u8, - /// Issue of broadcast ephemeris data - pub iod: u8, + /// Issue of broadcast ephemeris data or IODCRC (Beidou) + pub iod: u32, /// Orbit radial delta correction pub radial: i32, /// Orbit along delta correction @@ -488,15 +389,15 @@ pub struct MsgSsrOrbitClockDepA { pub c2: i32, } -impl MsgSsrOrbitClockDepA { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgSsrOrbitClockDepA { +impl MsgSsrOrbitClock { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgSsrOrbitClock { sender_id: None, time: GPSTimeSec::parse(_buf)?, sid: GnssSignal::parse(_buf)?, update_interval: _buf.read_u8()?, iod_ssr: _buf.read_u8()?, - iod: _buf.read_u8()?, + iod: _buf.read_u32::()?, radial: _buf.read_i32::()?, along: _buf.read_i32::()?, cross: _buf.read_i32::()?, @@ -509,8 +410,8 @@ impl MsgSsrOrbitClockDepA { }) } } -impl super::SBPMessage for MsgSsrOrbitClockDepA { - const MSG_ID: u16 = 1500; +impl super::SBPMessage for MsgSsrOrbitClock { + const MSG_ID: u16 = 1501; fn get_sender_id(&self) -> Option { self.sender_id @@ -531,7 +432,7 @@ impl super::SBPMessage for MsgSsrOrbitClockDepA { #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgSsrOrbitClock { +pub struct MsgSsrOrbitClockDepA { pub sender_id: Option, /// GNSS reference time of the correction pub time: GPSTimeSec, @@ -543,8 +444,8 @@ pub struct MsgSsrOrbitClock { /// IOD of the SSR correction. A change of Issue Of Data SSR is used to /// indicate a change in the SSR generating configuration pub iod_ssr: u8, - /// Issue of broadcast ephemeris data or IODCRC (Beidou) - pub iod: u32, + /// Issue of broadcast ephemeris data + pub iod: u8, /// Orbit radial delta correction pub radial: i32, /// Orbit along delta correction @@ -565,79 +466,29 @@ pub struct MsgSsrOrbitClock { pub c2: i32, } -impl MsgSsrOrbitClock { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgSsrOrbitClock { - sender_id: None, - time: GPSTimeSec::parse(_buf)?, - sid: GnssSignal::parse(_buf)?, - update_interval: _buf.read_u8()?, - iod_ssr: _buf.read_u8()?, - iod: _buf.read_u32::()?, - radial: _buf.read_i32::()?, - along: _buf.read_i32::()?, - cross: _buf.read_i32::()?, - dot_radial: _buf.read_i32::()?, - dot_along: _buf.read_i32::()?, - dot_cross: _buf.read_i32::()?, - c0: _buf.read_i32::()?, - c1: _buf.read_i32::()?, - c2: _buf.read_i32::()?, - }) - } -} -impl super::SBPMessage for MsgSsrOrbitClock { - const MSG_ID: u16 = 1501; - - fn get_sender_id(&self) -> Option { - self.sender_id - } - - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); - } -} - -/// Precise code biases correction -/// -/// The precise code biases message is to be added -/// to the pseudorange of the corresponding signal -/// to get corrected pseudorange. It is typically -/// an equivalent to the 1059 and 1065 RTCM message types -/// -#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] -#[derive(Debug)] -#[allow(non_snake_case)] -pub struct MsgSsrCodeBiases { - pub sender_id: Option, - /// GNSS reference time of the correction - pub time: GPSTimeSec, - /// GNSS signal identifier (16 bit) - pub sid: GnssSignal, - /// Update interval between consecutive corrections. Encoded following RTCM - /// DF391 specification. - pub update_interval: u8, - /// IOD of the SSR correction. A change of Issue Of Data SSR is used to - /// indicate a change in the SSR generating configuration - pub iod_ssr: u8, - /// Code biases for the different satellite signals - pub biases: Vec, -} - -impl MsgSsrCodeBiases { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgSsrCodeBiases { +impl MsgSsrOrbitClockDepA { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgSsrOrbitClockDepA { sender_id: None, time: GPSTimeSec::parse(_buf)?, sid: GnssSignal::parse(_buf)?, update_interval: _buf.read_u8()?, iod_ssr: _buf.read_u8()?, - biases: CodeBiasesContent::parse_array(_buf)?, + iod: _buf.read_u8()?, + radial: _buf.read_i32::()?, + along: _buf.read_i32::()?, + cross: _buf.read_i32::()?, + dot_radial: _buf.read_i32::()?, + dot_along: _buf.read_i32::()?, + dot_cross: _buf.read_i32::()?, + c0: _buf.read_i32::()?, + c1: _buf.read_i32::()?, + c2: _buf.read_i32::()?, }) } } -impl super::SBPMessage for MsgSsrCodeBiases { - const MSG_ID: u16 = 1505; +impl super::SBPMessage for MsgSsrOrbitClockDepA { + const MSG_ID: u16 = 1500; fn get_sender_id(&self) -> Option { self.sender_id @@ -751,79 +602,228 @@ impl super::SBPMessage for MsgSsrStecCorrection { } } -/// Gridded troposphere and STEC residuals +/// SSR phase biases corrections for a particular satellite. /// -/// STEC residuals are per space vehicle, tropo is not. -/// It is typically equivalent to the QZSS CLAS Sub Type 9 messages +/// Phase biases are to be added to carrier phase measurements. +/// The corrections conform with typical RTCMv3 MT1059 and 1065. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgSsrGriddedCorrection { - pub sender_id: Option, - /// Header of a Gridded Correction message - pub header: GriddedCorrectionHeader, - /// Tropo and STEC residuals for the given grid point - pub element: GridElement, +pub struct PhaseBiasesContent { + /// Signal constellation, band and code + pub code: u8, + /// Indicator for integer property + pub integer_indicator: u8, + /// Indicator for two groups of Wide-Lane(s) integer property + pub widelane_integer_indicator: u8, + /// Signal phase discontinuity counter. Increased for every discontinuity in + /// phase. + pub discontinuity_counter: u8, + /// Phase bias for specified signal + pub bias: i32, } -impl MsgSsrGriddedCorrection { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgSsrGriddedCorrection { - sender_id: None, - header: GriddedCorrectionHeader::parse(_buf)?, - element: GridElement::parse(_buf)?, +impl PhaseBiasesContent { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(PhaseBiasesContent { + code: _buf.read_u8()?, + integer_indicator: _buf.read_u8()?, + widelane_integer_indicator: _buf.read_u8()?, + discontinuity_counter: _buf.read_u8()?, + bias: _buf.read_i32::()?, }) } + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + let mut v = Vec::new(); + while buf.len() > 0 { + v.push(PhaseBiasesContent::parse(buf)?); + } + Ok(v) + } + + pub fn parse_array_limit( + buf: &mut &[u8], + n: usize, + ) -> Result, crate::Error> { + let mut v = Vec::new(); + for _ in 0..n { + v.push(PhaseBiasesContent::parse(buf)?); + } + Ok(v) + } } -impl super::SBPMessage for MsgSsrGriddedCorrection { - const MSG_ID: u16 = 1520; - fn get_sender_id(&self) -> Option { - self.sender_id +/// Header for MSG_SSR_STEC_CORRECTION message +/// +/// A full set of STEC information will likely span multiple SBP +/// messages, since SBP message a limited to 255 bytes. The header +/// is used to tie multiple SBP messages into a sequence. +/// +#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] +#[derive(Debug)] +#[allow(non_snake_case)] +pub struct STECHeader { + /// GNSS reference time of the correction + pub time: GPSTimeSec, + /// Number of messages in the dataset + pub num_msgs: u8, + /// Position of this message in the dataset + pub seq_num: u8, + /// Update interval between consecutive corrections. Encoded following RTCM + /// DF391 specification. + pub update_interval: u8, + /// IOD of the SSR atmospheric correction + pub iod_atmo: u8, +} + +impl STECHeader { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(STECHeader { + time: GPSTimeSec::parse(_buf)?, + num_msgs: _buf.read_u8()?, + seq_num: _buf.read_u8()?, + update_interval: _buf.read_u8()?, + iod_atmo: _buf.read_u8()?, + }) + } + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + let mut v = Vec::new(); + while buf.len() > 0 { + v.push(STECHeader::parse(buf)?); + } + Ok(v) } - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); + pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { + let mut v = Vec::new(); + for _ in 0..n { + v.push(STECHeader::parse(buf)?); + } + Ok(v) } } -/// Definition of the grid for STEC and tropo messages +/// None /// -/// Based on the 3GPP proposal R2-1906781 which is in turn based on -/// OMA-LPPe-ValidityArea from OMA-TS-LPPe-V2_0-20141202-C +/// STEC residual for the given satellite at the grid point. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgSsrGridDefinition { - pub sender_id: Option, - /// Header of a Gridded Correction message - pub header: GridDefinitionHeader, - /// Run Length Encode list of quadrants that contain valid data. The spec - /// describes the encoding scheme in detail, but essentially the index of - /// the quadrants that contain transitions between valid and invalid (and - /// vice versa) are encoded as u8 integers. - pub rle_list: Vec, +pub struct STECResidual { + /// space vehicle identifier + pub sv_id: SvId, + /// STEC residual + pub residual: i16, } -impl MsgSsrGridDefinition { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgSsrGridDefinition { - sender_id: None, - header: GridDefinitionHeader::parse(_buf)?, - rle_list: crate::parser::read_u8_array(_buf)?, +impl STECResidual { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(STECResidual { + sv_id: SvId::parse(_buf)?, + residual: _buf.read_i16::()?, }) } + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + let mut v = Vec::new(); + while buf.len() > 0 { + v.push(STECResidual::parse(buf)?); + } + Ok(v) + } + + pub fn parse_array_limit(buf: &mut &[u8], n: usize) -> Result, crate::Error> { + let mut v = Vec::new(); + for _ in 0..n { + v.push(STECResidual::parse(buf)?); + } + Ok(v) + } } -impl super::SBPMessage for MsgSsrGridDefinition { - const MSG_ID: u16 = 1525; - fn get_sender_id(&self) -> Option { - self.sender_id +/// None +/// +/// STEC polynomial for the given satellite. +/// +#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] +#[derive(Debug)] +#[allow(non_snake_case)] +pub struct STECSatElement { + /// Unique space vehicle identifier + pub sv_id: SvId, + /// Quality of the STEC data. Encoded following RTCM DF389 specifcation but + /// in units of TECU instead of m. + pub stec_quality_indicator: u8, + /// Coefficents of the STEC polynomial in the order of C00, C01, C10, C11 + pub stec_coeff: Vec, +} + +impl STECSatElement { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(STECSatElement { + sv_id: SvId::parse(_buf)?, + stec_quality_indicator: _buf.read_u8()?, + stec_coeff: crate::parser::read_s16_array_limit(_buf, 4)?, + }) + } + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + let mut v = Vec::new(); + while buf.len() > 0 { + v.push(STECSatElement::parse(buf)?); + } + Ok(v) } - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); + pub fn parse_array_limit( + buf: &mut &[u8], + n: usize, + ) -> Result, crate::Error> { + let mut v = Vec::new(); + for _ in 0..n { + v.push(STECSatElement::parse(buf)?); + } + Ok(v) + } +} + +/// None +/// +/// Troposphere vertical delays at the grid point. +/// +#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] +#[derive(Debug)] +#[allow(non_snake_case)] +pub struct TroposphericDelayCorrection { + /// Hydrostatic vertical delay + pub hydro: i16, + /// Wet vertical delay + pub wet: i8, +} + +impl TroposphericDelayCorrection { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(TroposphericDelayCorrection { + hydro: _buf.read_i16::()?, + wet: _buf.read_i8()?, + }) + } + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + let mut v = Vec::new(); + while buf.len() > 0 { + v.push(TroposphericDelayCorrection::parse(buf)?); + } + Ok(v) + } + + pub fn parse_array_limit( + buf: &mut &[u8], + n: usize, + ) -> Result, crate::Error> { + let mut v = Vec::new(); + for _ in 0..n { + v.push(TroposphericDelayCorrection::parse(buf)?); + } + Ok(v) } } diff --git a/rust/sbp/src/messages/system.rs b/rust/sbp/src/messages/system.rs index f7351c5342..ebcdf1fc11 100644 --- a/rust/sbp/src/messages/system.rs +++ b/rust/sbp/src/messages/system.rs @@ -20,38 +20,74 @@ use self::byteorder::{LittleEndian, ReadBytesExt}; #[cfg(feature = "serialize")] use serde::{Deserialize, Serialize}; -/// System start-up message +/// Experimental telemetry message /// -/// The system start-up message is sent once on system -/// start-up. It notifies the host or other attached devices that -/// the system has started and is now ready to respond to commands -/// or configuration requests. +/// The CSAC telemetry message has an implementation defined telemetry string +/// from a device. It is not produced or available on general Swift Products. +/// It is intended to be a low rate message for status purposes. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgStartup { +pub struct MsgCsacTelemetry { pub sender_id: Option, - /// Cause of startup - pub cause: u8, - /// Startup type - pub startup_type: u8, - /// Reserved - pub reserved: u16, + /// Index representing the type of telemetry in use. It is implemention + /// defined. + pub id: u8, + /// Comma separated list of values as defined by the index + pub telemetry: String, } -impl MsgStartup { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgStartup { +impl MsgCsacTelemetry { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgCsacTelemetry { sender_id: None, - cause: _buf.read_u8()?, - startup_type: _buf.read_u8()?, - reserved: _buf.read_u16::()?, + id: _buf.read_u8()?, + telemetry: crate::parser::read_string(_buf)?, }) } } -impl super::SBPMessage for MsgStartup { - const MSG_ID: u16 = 65280; +impl super::SBPMessage for MsgCsacTelemetry { + const MSG_ID: u16 = 65284; + + fn get_sender_id(&self) -> Option { + self.sender_id + } + + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); + } +} + +/// Experimental telemetry message labels +/// +/// The CSAC telemetry message provides labels for each member of the string +/// produced by MSG_CSAC_TELEMETRY. It should be provided by a device at a lower +/// rate than the MSG_CSAC_TELEMETRY. +/// +#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] +#[derive(Debug)] +#[allow(non_snake_case)] +pub struct MsgCsacTelemetryLabels { + pub sender_id: Option, + /// Index representing the type of telemetry in use. It is implemention + /// defined. + pub id: u8, + /// Comma separated list of telemetry field values + pub telemetry_labels: String, +} + +impl MsgCsacTelemetryLabels { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgCsacTelemetryLabels { + sender_id: None, + id: _buf.read_u8()?, + telemetry_labels: crate::parser::read_string(_buf)?, + }) + } +} +impl super::SBPMessage for MsgCsacTelemetryLabels { + const MSG_ID: u16 = 65285; fn get_sender_id(&self) -> Option { self.sender_id @@ -106,69 +142,38 @@ impl super::SBPMessage for MsgDgnssStatus { } } -/// Inertial Navigation System status message +/// System heartbeat message /// -/// The INS status message describes the state of the operation -/// and initialization of the inertial navigation system. +/// The heartbeat message is sent periodically to inform the host +/// or other attached devices that the system is running. It is +/// used to monitor system malfunctions. It also contains status +/// flags that indicate to the host the status of the system and +/// whether it is operating correctly. Currently, the expected +/// heartbeat interval is 1 sec. +/// +/// The system error flag is used to indicate that an error has +/// occurred in the system. To determine the source of the error, +/// the remaining error flags should be inspected. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgInsStatus { +pub struct MsgHeartbeat { pub sender_id: Option, /// Status flags pub flags: u32, } -impl MsgInsStatus { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgInsStatus { +impl MsgHeartbeat { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgHeartbeat { sender_id: None, flags: _buf.read_u32::()?, }) } } -impl super::SBPMessage for MsgInsStatus { - const MSG_ID: u16 = 65283; - - fn get_sender_id(&self) -> Option { - self.sender_id - } - - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); - } -} - -/// Experimental telemetry message -/// -/// The CSAC telemetry message has an implementation defined telemetry string -/// from a device. It is not produced or available on general Swift Products. -/// It is intended to be a low rate message for status purposes. -/// -#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] -#[derive(Debug)] -#[allow(non_snake_case)] -pub struct MsgCsacTelemetry { - pub sender_id: Option, - /// Index representing the type of telemetry in use. It is implemention - /// defined. - pub id: u8, - /// Comma separated list of values as defined by the index - pub telemetry: String, -} - -impl MsgCsacTelemetry { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgCsacTelemetry { - sender_id: None, - id: _buf.read_u8()?, - telemetry: crate::parser::read_string(_buf)?, - }) - } -} -impl super::SBPMessage for MsgCsacTelemetry { - const MSG_ID: u16 = 65284; +impl super::SBPMessage for MsgHeartbeat { + const MSG_ID: u16 = 65535; fn get_sender_id(&self) -> Option { self.sender_id @@ -179,35 +184,30 @@ impl super::SBPMessage for MsgCsacTelemetry { } } -/// Experimental telemetry message labels +/// Inertial Navigation System status message /// -/// The CSAC telemetry message provides labels for each member of the string -/// produced by MSG_CSAC_TELEMETRY. It should be provided by a device at a lower -/// rate than the MSG_CSAC_TELEMETRY. +/// The INS status message describes the state of the operation +/// and initialization of the inertial navigation system. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgCsacTelemetryLabels { +pub struct MsgInsStatus { pub sender_id: Option, - /// Index representing the type of telemetry in use. It is implemention - /// defined. - pub id: u8, - /// Comma separated list of telemetry field values - pub telemetry_labels: String, + /// Status flags + pub flags: u32, } -impl MsgCsacTelemetryLabels { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgCsacTelemetryLabels { +impl MsgInsStatus { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgInsStatus { sender_id: None, - id: _buf.read_u8()?, - telemetry_labels: crate::parser::read_string(_buf)?, + flags: _buf.read_u32::()?, }) } } -impl super::SBPMessage for MsgCsacTelemetryLabels { - const MSG_ID: u16 = 65285; +impl super::SBPMessage for MsgInsStatus { + const MSG_ID: u16 = 65283; fn get_sender_id(&self) -> Option { self.sender_id @@ -218,38 +218,38 @@ impl super::SBPMessage for MsgCsacTelemetryLabels { } } -/// System heartbeat message -/// -/// The heartbeat message is sent periodically to inform the host -/// or other attached devices that the system is running. It is -/// used to monitor system malfunctions. It also contains status -/// flags that indicate to the host the status of the system and -/// whether it is operating correctly. Currently, the expected -/// heartbeat interval is 1 sec. +/// System start-up message /// -/// The system error flag is used to indicate that an error has -/// occurred in the system. To determine the source of the error, -/// the remaining error flags should be inspected. +/// The system start-up message is sent once on system +/// start-up. It notifies the host or other attached devices that +/// the system has started and is now ready to respond to commands +/// or configuration requests. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgHeartbeat { +pub struct MsgStartup { pub sender_id: Option, - /// Status flags - pub flags: u32, + /// Cause of startup + pub cause: u8, + /// Startup type + pub startup_type: u8, + /// Reserved + pub reserved: u16, } -impl MsgHeartbeat { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgHeartbeat { +impl MsgStartup { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgStartup { sender_id: None, - flags: _buf.read_u32::()?, + cause: _buf.read_u8()?, + startup_type: _buf.read_u8()?, + reserved: _buf.read_u16::()?, }) } } -impl super::SBPMessage for MsgHeartbeat { - const MSG_ID: u16 = 65535; +impl super::SBPMessage for MsgStartup { + const MSG_ID: u16 = 65280; fn get_sender_id(&self) -> Option { self.sender_id diff --git a/rust/sbp/src/messages/tracking.rs b/rust/sbp/src/messages/tracking.rs index c2b5d030b8..8a6204fee3 100644 --- a/rust/sbp/src/messages/tracking.rs +++ b/rust/sbp/src/messages/tracking.rs @@ -22,222 +22,225 @@ use super::gnss::*; #[cfg(feature = "serialize")] use serde::{Deserialize, Serialize}; -/// Signal tracking channel state +/// Measurement Engine signal tracking channel states /// -/// Tracking channel state for a specific satellite signal and -/// measured signal power. +/// The tracking message returns a variable-length array of tracking +/// channel states. It reports status and carrier-to-noise density +/// measurements for all tracked satellites. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct TrackingChannelState { - /// GNSS signal being tracked - pub sid: GnssSignal, - /// Frequency channel number (GLONASS only) - pub fcn: u8, - /// Carrier-to-Noise density. Zero implies invalid cn0. - pub cn0: u8, +pub struct MsgMeasurementState { + pub sender_id: Option, + /// ME signal tracking channel state + pub states: Vec, } -impl TrackingChannelState { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(TrackingChannelState { - sid: GnssSignal::parse(_buf)?, - fcn: _buf.read_u8()?, - cn0: _buf.read_u8()?, +impl MsgMeasurementState { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgMeasurementState { + sender_id: None, + states: MeasurementState::parse_array(_buf)?, }) } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { - let mut v = Vec::new(); - while buf.len() > 0 { - v.push(TrackingChannelState::parse(buf)?); - } - Ok(v) +} +impl super::SBPMessage for MsgMeasurementState { + const MSG_ID: u16 = 97; + + fn get_sender_id(&self) -> Option { + self.sender_id } - pub fn parse_array_limit( - buf: &mut &[u8], - n: usize, - ) -> Result, crate::Error> { - let mut v = Vec::new(); - for _ in 0..n { - v.push(TrackingChannelState::parse(buf)?); - } - Ok(v) + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); } } -/// Measurement Engine signal tracking channel state +/// Tracking channel correlations /// -/// Measurement Engine tracking channel state for a specific satellite signal -/// and measured signal power. -/// The mesid field for Glonass can either -/// carry the FCN as 100 + FCN where FCN is in [-7, +6] or -/// the Slot ID (from 1 to 28) +/// When enabled, a tracking channel can output the correlations at each +/// update interval. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MeasurementState { - /// Measurement Engine GNSS signal being tracked (carries either Glonass FCN - /// or SLOT) - pub mesid: GnssSignal, - /// Carrier-to-Noise density. Zero implies invalid cn0. - pub cn0: u8, +pub struct MsgTrackingIq { + pub sender_id: Option, + /// Tracking channel of origin + pub channel: u8, + /// GNSS signal identifier + pub sid: GnssSignal, + /// Early, Prompt and Late correlations + pub corrs: Vec, } -impl MeasurementState { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MeasurementState { - mesid: GnssSignal::parse(_buf)?, - cn0: _buf.read_u8()?, +impl MsgTrackingIq { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgTrackingIq { + sender_id: None, + channel: _buf.read_u8()?, + sid: GnssSignal::parse(_buf)?, + corrs: TrackingChannelCorrelation::parse_array_limit(_buf, 3)?, }) } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { - let mut v = Vec::new(); - while buf.len() > 0 { - v.push(MeasurementState::parse(buf)?); - } - Ok(v) +} +impl super::SBPMessage for MsgTrackingIq { + const MSG_ID: u16 = 45; + + fn get_sender_id(&self) -> Option { + self.sender_id } - pub fn parse_array_limit( - buf: &mut &[u8], - n: usize, - ) -> Result, crate::Error> { - let mut v = Vec::new(); - for _ in 0..n { - v.push(MeasurementState::parse(buf)?); - } - Ok(v) + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); } } -/// Complex correlation structure +/// Deprecated /// -/// Structure containing in-phase and quadrature correlation components. +/// Deprecated. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct TrackingChannelCorrelation { - /// In-phase correlation - pub I: i16, - /// Quadrature correlation - pub Q: i16, +pub struct MsgTrackingIqDepA { + pub sender_id: Option, + /// Tracking channel of origin + pub channel: u8, + /// GNSS signal identifier + pub sid: GnssSignalDep, + /// Early, Prompt and Late correlations + pub corrs: Vec, } -impl TrackingChannelCorrelation { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(TrackingChannelCorrelation { - I: _buf.read_i16::()?, - Q: _buf.read_i16::()?, +impl MsgTrackingIqDepA { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgTrackingIqDepA { + sender_id: None, + channel: _buf.read_u8()?, + sid: GnssSignalDep::parse(_buf)?, + corrs: TrackingChannelCorrelationDep::parse_array_limit(_buf, 3)?, }) } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { - let mut v = Vec::new(); - while buf.len() > 0 { - v.push(TrackingChannelCorrelation::parse(buf)?); - } - Ok(v) +} +impl super::SBPMessage for MsgTrackingIqDepA { + const MSG_ID: u16 = 28; + + fn get_sender_id(&self) -> Option { + self.sender_id } - pub fn parse_array_limit( - buf: &mut &[u8], - n: usize, - ) -> Result, crate::Error> { - let mut v = Vec::new(); - for _ in 0..n { - v.push(TrackingChannelCorrelation::parse(buf)?); - } - Ok(v) + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); } } -/// Complex correlation structure +/// Tracking channel correlations /// -/// Structure containing in-phase and quadrature correlation components. +/// When enabled, a tracking channel can output the correlations at each +/// update interval. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct TrackingChannelCorrelationDep { - /// In-phase correlation - pub I: i32, - /// Quadrature correlation - pub Q: i32, +pub struct MsgTrackingIqDepB { + pub sender_id: Option, + /// Tracking channel of origin + pub channel: u8, + /// GNSS signal identifier + pub sid: GnssSignal, + /// Early, Prompt and Late correlations + pub corrs: Vec, } -impl TrackingChannelCorrelationDep { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(TrackingChannelCorrelationDep { - I: _buf.read_i32::()?, - Q: _buf.read_i32::()?, +impl MsgTrackingIqDepB { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgTrackingIqDepB { + sender_id: None, + channel: _buf.read_u8()?, + sid: GnssSignal::parse(_buf)?, + corrs: TrackingChannelCorrelationDep::parse_array_limit(_buf, 3)?, }) } - pub fn parse_array( - buf: &mut &[u8], - ) -> Result, crate::Error> { - let mut v = Vec::new(); - while buf.len() > 0 { - v.push(TrackingChannelCorrelationDep::parse(buf)?); - } - Ok(v) +} +impl super::SBPMessage for MsgTrackingIqDepB { + const MSG_ID: u16 = 44; + + fn get_sender_id(&self) -> Option { + self.sender_id } - pub fn parse_array_limit( - buf: &mut &[u8], - n: usize, - ) -> Result, crate::Error> { - let mut v = Vec::new(); - for _ in 0..n { - v.push(TrackingChannelCorrelationDep::parse(buf)?); - } - Ok(v) + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); } } -/// Deprecated +/// Signal tracking channel states /// -/// Deprecated. +/// The tracking message returns a variable-length array of tracking +/// channel states. It reports status and carrier-to-noise density +/// measurements for all tracked satellites. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct TrackingChannelStateDepA { - /// Status of tracking channel - pub state: u8, - /// PRN-1 being tracked - pub prn: u8, - /// Carrier-to-noise density - pub cn0: f32, +pub struct MsgTrackingState { + pub sender_id: Option, + /// Signal tracking channel state + pub states: Vec, } -impl TrackingChannelStateDepA { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(TrackingChannelStateDepA { - state: _buf.read_u8()?, - prn: _buf.read_u8()?, - cn0: _buf.read_f32::()?, +impl MsgTrackingState { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgTrackingState { + sender_id: None, + states: TrackingChannelState::parse_array(_buf)?, }) } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { - let mut v = Vec::new(); - while buf.len() > 0 { - v.push(TrackingChannelStateDepA::parse(buf)?); - } - Ok(v) - } +} +impl super::SBPMessage for MsgTrackingState { + const MSG_ID: u16 = 65; - pub fn parse_array_limit( - buf: &mut &[u8], - n: usize, - ) -> Result, crate::Error> { - let mut v = Vec::new(); - for _ in 0..n { - v.push(TrackingChannelStateDepA::parse(buf)?); - } - Ok(v) + fn get_sender_id(&self) -> Option { + self.sender_id + } + + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); + } +} + +/// Deprecated +/// +/// Deprecated. +/// +#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] +#[derive(Debug)] +#[allow(non_snake_case)] +pub struct MsgTrackingStateDepA { + pub sender_id: Option, + /// Satellite tracking channel state + pub states: Vec, +} + +impl MsgTrackingStateDepA { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgTrackingStateDepA { + sender_id: None, + states: TrackingChannelStateDepA::parse_array(_buf)?, + }) + } +} +impl super::SBPMessage for MsgTrackingStateDepA { + const MSG_ID: u16 = 22; + + fn get_sender_id(&self) -> Option { + self.sender_id + } + + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); } } @@ -248,40 +251,29 @@ impl TrackingChannelStateDepA { #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct TrackingChannelStateDepB { - /// Status of tracking channel - pub state: u8, - /// GNSS signal being tracked - pub sid: GnssSignalDep, - /// Carrier-to-noise density - pub cn0: f32, +pub struct MsgTrackingStateDepB { + pub sender_id: Option, + /// Signal tracking channel state + pub states: Vec, } -impl TrackingChannelStateDepB { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(TrackingChannelStateDepB { - state: _buf.read_u8()?, - sid: GnssSignalDep::parse(_buf)?, - cn0: _buf.read_f32::()?, +impl MsgTrackingStateDepB { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MsgTrackingStateDepB { + sender_id: None, + states: TrackingChannelStateDepB::parse_array(_buf)?, }) } - pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { - let mut v = Vec::new(); - while buf.len() > 0 { - v.push(TrackingChannelStateDepB::parse(buf)?); - } - Ok(v) +} +impl super::SBPMessage for MsgTrackingStateDepB { + const MSG_ID: u16 = 19; + + fn get_sender_id(&self) -> Option { + self.sender_id } - pub fn parse_array_limit( - buf: &mut &[u8], - n: usize, - ) -> Result, crate::Error> { - let mut v = Vec::new(); - for _ in 0..n { - v.push(TrackingChannelStateDepB::parse(buf)?); - } - Ok(v) + fn set_sender_id(&mut self, new_id: u16) { + self.sender_id = Some(new_id); } } @@ -384,111 +376,6 @@ impl super::SBPMessage for MsgTrackingStateDetailedDep { } } -/// Deprecated. -/// -/// Deprecated. -/// -#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] -#[derive(Debug)] -#[allow(non_snake_case)] -pub struct MsgTrackingStateDepB { - pub sender_id: Option, - /// Signal tracking channel state - pub states: Vec, -} - -impl MsgTrackingStateDepB { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgTrackingStateDepB { - sender_id: None, - states: TrackingChannelStateDepB::parse_array(_buf)?, - }) - } -} -impl super::SBPMessage for MsgTrackingStateDepB { - const MSG_ID: u16 = 19; - - fn get_sender_id(&self) -> Option { - self.sender_id - } - - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); - } -} - -/// Deprecated -/// -/// Deprecated. -/// -#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] -#[derive(Debug)] -#[allow(non_snake_case)] -pub struct MsgTrackingStateDepA { - pub sender_id: Option, - /// Satellite tracking channel state - pub states: Vec, -} - -impl MsgTrackingStateDepA { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgTrackingStateDepA { - sender_id: None, - states: TrackingChannelStateDepA::parse_array(_buf)?, - }) - } -} -impl super::SBPMessage for MsgTrackingStateDepA { - const MSG_ID: u16 = 22; - - fn get_sender_id(&self) -> Option { - self.sender_id - } - - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); - } -} - -/// Deprecated -/// -/// Deprecated. -/// -#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] -#[derive(Debug)] -#[allow(non_snake_case)] -pub struct MsgTrackingIqDepA { - pub sender_id: Option, - /// Tracking channel of origin - pub channel: u8, - /// GNSS signal identifier - pub sid: GnssSignalDep, - /// Early, Prompt and Late correlations - pub corrs: Vec, -} - -impl MsgTrackingIqDepA { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgTrackingIqDepA { - sender_id: None, - channel: _buf.read_u8()?, - sid: GnssSignalDep::parse(_buf)?, - corrs: TrackingChannelCorrelationDep::parse_array_limit(_buf, 3)?, - }) - } -} -impl super::SBPMessage for MsgTrackingIqDepA { - const MSG_ID: u16 = 28; - - fn get_sender_id(&self) -> Option { - self.sender_id - } - - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); - } -} - /// Detailed signal tracking channel states. DEPRECATED. /// /// The tracking message returns a set tracking channel parameters for a @@ -589,152 +476,265 @@ impl super::SBPMessage for MsgTrackingStateDetailedDepA { } } -/// Tracking channel correlations +/// Measurement Engine signal tracking channel state /// -/// When enabled, a tracking channel can output the correlations at each -/// update interval. +/// Measurement Engine tracking channel state for a specific satellite signal +/// and measured signal power. +/// The mesid field for Glonass can either +/// carry the FCN as 100 + FCN where FCN is in [-7, +6] or +/// the Slot ID (from 1 to 28) /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgTrackingIqDepB { - pub sender_id: Option, - /// Tracking channel of origin - pub channel: u8, - /// GNSS signal identifier - pub sid: GnssSignal, - /// Early, Prompt and Late correlations - pub corrs: Vec, +pub struct MeasurementState { + /// Measurement Engine GNSS signal being tracked (carries either Glonass FCN + /// or SLOT) + pub mesid: GnssSignal, + /// Carrier-to-Noise density. Zero implies invalid cn0. + pub cn0: u8, } -impl MsgTrackingIqDepB { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgTrackingIqDepB { - sender_id: None, - channel: _buf.read_u8()?, - sid: GnssSignal::parse(_buf)?, - corrs: TrackingChannelCorrelationDep::parse_array_limit(_buf, 3)?, +impl MeasurementState { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(MeasurementState { + mesid: GnssSignal::parse(_buf)?, + cn0: _buf.read_u8()?, }) } -} -impl super::SBPMessage for MsgTrackingIqDepB { - const MSG_ID: u16 = 44; - - fn get_sender_id(&self) -> Option { - self.sender_id + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + let mut v = Vec::new(); + while buf.len() > 0 { + v.push(MeasurementState::parse(buf)?); + } + Ok(v) } - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); + pub fn parse_array_limit( + buf: &mut &[u8], + n: usize, + ) -> Result, crate::Error> { + let mut v = Vec::new(); + for _ in 0..n { + v.push(MeasurementState::parse(buf)?); + } + Ok(v) } } -/// Tracking channel correlations +/// Complex correlation structure /// -/// When enabled, a tracking channel can output the correlations at each -/// update interval. +/// Structure containing in-phase and quadrature correlation components. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgTrackingIq { - pub sender_id: Option, - /// Tracking channel of origin - pub channel: u8, - /// GNSS signal identifier - pub sid: GnssSignal, - /// Early, Prompt and Late correlations - pub corrs: Vec, +pub struct TrackingChannelCorrelation { + /// In-phase correlation + pub I: i16, + /// Quadrature correlation + pub Q: i16, } -impl MsgTrackingIq { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgTrackingIq { - sender_id: None, - channel: _buf.read_u8()?, - sid: GnssSignal::parse(_buf)?, - corrs: TrackingChannelCorrelation::parse_array_limit(_buf, 3)?, +impl TrackingChannelCorrelation { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(TrackingChannelCorrelation { + I: _buf.read_i16::()?, + Q: _buf.read_i16::()?, }) } -} -impl super::SBPMessage for MsgTrackingIq { - const MSG_ID: u16 = 45; - - fn get_sender_id(&self) -> Option { - self.sender_id + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + let mut v = Vec::new(); + while buf.len() > 0 { + v.push(TrackingChannelCorrelation::parse(buf)?); + } + Ok(v) } - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); + pub fn parse_array_limit( + buf: &mut &[u8], + n: usize, + ) -> Result, crate::Error> { + let mut v = Vec::new(); + for _ in 0..n { + v.push(TrackingChannelCorrelation::parse(buf)?); + } + Ok(v) } } -/// Signal tracking channel states +/// Complex correlation structure /// -/// The tracking message returns a variable-length array of tracking -/// channel states. It reports status and carrier-to-noise density -/// measurements for all tracked satellites. +/// Structure containing in-phase and quadrature correlation components. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgTrackingState { - pub sender_id: Option, - /// Signal tracking channel state - pub states: Vec, +pub struct TrackingChannelCorrelationDep { + /// In-phase correlation + pub I: i32, + /// Quadrature correlation + pub Q: i32, } -impl MsgTrackingState { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgTrackingState { - sender_id: None, - states: TrackingChannelState::parse_array(_buf)?, +impl TrackingChannelCorrelationDep { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(TrackingChannelCorrelationDep { + I: _buf.read_i32::()?, + Q: _buf.read_i32::()?, }) } + pub fn parse_array( + buf: &mut &[u8], + ) -> Result, crate::Error> { + let mut v = Vec::new(); + while buf.len() > 0 { + v.push(TrackingChannelCorrelationDep::parse(buf)?); + } + Ok(v) + } + + pub fn parse_array_limit( + buf: &mut &[u8], + n: usize, + ) -> Result, crate::Error> { + let mut v = Vec::new(); + for _ in 0..n { + v.push(TrackingChannelCorrelationDep::parse(buf)?); + } + Ok(v) + } } -impl super::SBPMessage for MsgTrackingState { - const MSG_ID: u16 = 65; - fn get_sender_id(&self) -> Option { - self.sender_id +/// Signal tracking channel state +/// +/// Tracking channel state for a specific satellite signal and +/// measured signal power. +/// +#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] +#[derive(Debug)] +#[allow(non_snake_case)] +pub struct TrackingChannelState { + /// GNSS signal being tracked + pub sid: GnssSignal, + /// Frequency channel number (GLONASS only) + pub fcn: u8, + /// Carrier-to-Noise density. Zero implies invalid cn0. + pub cn0: u8, +} + +impl TrackingChannelState { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(TrackingChannelState { + sid: GnssSignal::parse(_buf)?, + fcn: _buf.read_u8()?, + cn0: _buf.read_u8()?, + }) + } + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + let mut v = Vec::new(); + while buf.len() > 0 { + v.push(TrackingChannelState::parse(buf)?); + } + Ok(v) } - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); + pub fn parse_array_limit( + buf: &mut &[u8], + n: usize, + ) -> Result, crate::Error> { + let mut v = Vec::new(); + for _ in 0..n { + v.push(TrackingChannelState::parse(buf)?); + } + Ok(v) } } -/// Measurement Engine signal tracking channel states +/// Deprecated /// -/// The tracking message returns a variable-length array of tracking -/// channel states. It reports status and carrier-to-noise density -/// measurements for all tracked satellites. +/// Deprecated. /// #[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] #[derive(Debug)] #[allow(non_snake_case)] -pub struct MsgMeasurementState { - pub sender_id: Option, - /// ME signal tracking channel state - pub states: Vec, +pub struct TrackingChannelStateDepA { + /// Status of tracking channel + pub state: u8, + /// PRN-1 being tracked + pub prn: u8, + /// Carrier-to-noise density + pub cn0: f32, } -impl MsgMeasurementState { - pub fn parse(_buf: &mut &[u8]) -> Result { - Ok(MsgMeasurementState { - sender_id: None, - states: MeasurementState::parse_array(_buf)?, +impl TrackingChannelStateDepA { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(TrackingChannelStateDepA { + state: _buf.read_u8()?, + prn: _buf.read_u8()?, + cn0: _buf.read_f32::()?, }) } + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + let mut v = Vec::new(); + while buf.len() > 0 { + v.push(TrackingChannelStateDepA::parse(buf)?); + } + Ok(v) + } + + pub fn parse_array_limit( + buf: &mut &[u8], + n: usize, + ) -> Result, crate::Error> { + let mut v = Vec::new(); + for _ in 0..n { + v.push(TrackingChannelStateDepA::parse(buf)?); + } + Ok(v) + } } -impl super::SBPMessage for MsgMeasurementState { - const MSG_ID: u16 = 97; - fn get_sender_id(&self) -> Option { - self.sender_id +/// Deprecated. +/// +/// Deprecated. +/// +#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))] +#[derive(Debug)] +#[allow(non_snake_case)] +pub struct TrackingChannelStateDepB { + /// Status of tracking channel + pub state: u8, + /// GNSS signal being tracked + pub sid: GnssSignalDep, + /// Carrier-to-noise density + pub cn0: f32, +} + +impl TrackingChannelStateDepB { + pub fn parse(_buf: &mut &[u8]) -> Result { + Ok(TrackingChannelStateDepB { + state: _buf.read_u8()?, + sid: GnssSignalDep::parse(_buf)?, + cn0: _buf.read_f32::()?, + }) + } + pub fn parse_array(buf: &mut &[u8]) -> Result, crate::Error> { + let mut v = Vec::new(); + while buf.len() > 0 { + v.push(TrackingChannelStateDepB::parse(buf)?); + } + Ok(v) } - fn set_sender_id(&mut self, new_id: u16) { - self.sender_id = Some(new_id); + pub fn parse_array_limit( + buf: &mut &[u8], + n: usize, + ) -> Result, crate::Error> { + let mut v = Vec::new(); + for _ in 0..n { + v.push(TrackingChannelStateDepB::parse(buf)?); + } + Ok(v) } } From 5232fd10a47172c1a28a4130790ed86f319067a9 Mon Sep 17 00:00:00 2001 From: Martin Stiaszny Date: Mon, 4 Nov 2019 13:28:38 -0800 Subject: [PATCH 2/2] Revert docs/sbp.pdf and package-lock.json --- docs/sbp.pdf | Bin 416667 -> 417183 bytes package-lock.json | 1899 +++++++++++++++++++++++---------------------- 2 files changed, 950 insertions(+), 949 deletions(-) diff --git a/docs/sbp.pdf b/docs/sbp.pdf index ff04d2e3dbc6c645f6afe258bf1b244598ac151c..3ae1882631fb15aec91dc69cbfb9ffc440259ab0 100644 GIT binary patch delta 258774 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%0DspUY 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 bM_joU5p&Jgj~A(_rK_*YD=&|+x8VH`80I|v delta 258611 zcmZs?V{m3&8!Q~#wr$(ColMM$?c8xPadIaUI}_WsZD(TJPR=}UeLudcbE^OBeeJH^ zUA<(op62(?8lbcP`V=2yQj#s_dmfXneLazj6D9Hllf{@oSYJ8nD8W1CZUd$q{8-GL z%ra`}6YDI|D4!GprAHxmGbH;_wEiv?T??zoB*;h`=5eYD_$6uO)r8S`mWe`^hOqMlrb!xI^vQYHf-OqDuPzyZ*HdKa# zH&QAk<iUV2og#@_9(twO>6_ zQJVGndS#fs;b>H3+zgQ_i=D;Aj@q70pSKzubsdnB4@l*G19-X$Anz=6^F5S0?Wocq z?-`zCu>}7?b*gUtep7~F6B99UJxCelL-1#V6O$wM8|CR`M`B z-3)rKK0yMF?UU|SnCPZBK^%YM7}v+fLORSXKST>z0-cY#ckCn0jjIYx4w{4Ck%PW^ zKY&?1SqmeE1T+)~?PHTko){Aqc}3L3pV+$g0!s5BwG3{yM?v46mqnW0(AHE=j}vO) zVL#M5HIe3Jmzz->GxuBby1OjCbljFG-Q44^{1+^TNSkBSJ`t|Ocg{{W9nMI?w3$`{ zG^tzr0)CcPh2EHbg&OGFyIx|S9y2-KsnQh)nCK{Y&FY7NlFTMmkHUPij11^zBrN=-h2@WXO{Q!$|x(@fYmX9AbM4;%s=p zgm?YWtJ>Qz4TX;!-S-M={O1Livi907EadxgOCq+ol(kXlWFdvQ7;JB~q0hkCj3aa7 z`o8FDJBtAnJTponwnWyA4${oUG<#oBW{@E@02y>jDw$P)@4$h2oHPV^YueMtwz;)a zSbuo$#!gqpa^`oR`i&j###DL*ufx!~BS#T1b>+tRcLMiQ`sxUo&H8mM%_kM}a>b

yeqq~1ZDfpG%mfGKYaj8{)@-)PDv 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 ?^xm2Yr($v^j?s6?^< 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ín;kO$I=VH-_^J`x z`MGDd4x5j=Suc1|bU8;YF}5}u?i&`FyrttH-{HCG)sQ?L8K?vOk&0w28EGdvtjHKp z2BYdiS(fIMuGl9sGaK4W&b}-lfP)5K;G6N*?zHbdI{11XqAhu>D4%>m;IU!L#-@}U z4hCw+Fg10u-XT9G6$5l<3E%DqUKy8^_CM^H1ptN4Qu~?{FoR>bPar~2Le(>vS*IRx zQj4vj!lD4PsDdO15d>pj5dq`_ZJe2Ny)~ElG%63j1f2*7&1ffu_$|rc9g}ZBOPa@* zu@-#|WHoHBL;?ax&KrnaUvoN)1DivOi6Jb*Z0kwP7{xxK^8p4(h_7tZn4PG)#i zJNx!^aQA)*L6ZT@gkP=1$6}cy<=&5bST{9Sjgi8wxE(%Y*}ET2Uw1OFIz~ z=YkO$|F64Vn+0-4~3fd~z>p*SUg z`!N%d{rgfAH=Ky%fz)+I)z{RWL`B`|{xN>V>l#-;?9MRPhwSv&z^1GN(m5W_YaVS! z%?{w-ATfPDXf!r|FWZ)ta&51I>Wzj<&56v+Pi*^qV*bp>CFWq2d7;eWnQF(ci2|Gb zFOlQx@5uzk}8Rz`+&7 zSsh9(WUr}_w6pC7AxM88Z?huQANa0l_|afEk5dPyZQvGJ{CZ>Ry8!Y5#I1DDNL6^k z_??ky(*yJeLh{cIzj3=(XI{I{IXamdwaWszbgv!?AVhKJzQ*-tSiv_x$2Wjc!;Bv2IpoJd ze!IrQjSC{GtCT4VKb?v;sb)R>!PEd7`_{;*djL!vI+M1VV9Oh&T9g^w$kZ}CffeML zl#J#G?g{VSbVTJvhp((MA4moUUDEW<+MV0hFb_C{b zsh_JY^8eToq)Va>jk()r?0>2qQ-+?Y`zy2cT}7~c0jD>n$(B(12Q@<@65H9aH7207 zJi|&4tx#b>UxB`aB3A*5F#x53L^{5J^-rw=zu&+ZNT{D2v)?{95YCfv)-p_&q}kUFJOc&^z5*qT z6CJ zu!^HDDJuynYRz=$hS#)rthLL=?!xY*0||S)xR$AD%W`Pk-7}eL7F=um$~3^XN>wQ3 zR0YcT)TvigsYKu?TFotH?G)<5LamYS-HfuoQlTS#WYrW&V=zN20P*1y^m805X(uNb zCvng!8sX4b!HnP$G{qgsJmN6I`Wqe7sq8+iDeoLqK1of`S7vCC7v$FKW=-4{b~cQ} z+8YgHn+*n{bqyU6odfXG5W}MV`N8KI!pl{aZ*Ha>ue@y^1L)gFy|GQw{o|a3e@*|w z+glsB#^gG{%1CCQ0mQ%{-#s&TOu-qE&E5~%*1n)-Z@*^7NL{i&pZ-amX4;tNTXWB2 zKSis!o<{GNcb8}to%Z8N1v$Y#6i0JM^6<5l1D6TvuYOA0c74L4{N6A-5kqzCA6V7b z*!`0xYHa;N=!bkM%qsIlA%E9<6~*pxMGh_tl=3^%Rg(c zKFR!8-sne4Mu#XG>V+(dgOQ<(2}Tc)1Jas?l4}1hJxf(GK!i%eXn~>YMVo zx7#nKK{PF@1cZ81Xjp%vbOmDpqpG>X#8DJpjfF>3Z0LV{fNrPl@a7t?zV~(W#1`)M zj$e5}%uzJJkWZVWsbOi7(N(^!RrPQ4#h>oV+>1H{a^Ad?k|LLMvM=OIvq=&(fVQF) zBO$FkHe4e?AZ?O39^O#ndQY0FmT!VWzJS|LB$EuI;SBv~l1fVqCT8^sY&=f~gv)em|5# zdfhbH+EVl0=V~6n6dW{=@{aIq%RMd#PVRda3SYk1{ejkG<&b08E)ei|IuY)GEm^du zqlo$cW@43(Wid{ zJjDE(H{hvG;Kl*xcxH#`!Lvc-HhTM)aXXJi-d3rD;3A=NvsMsf7seYy7kQc6us;3e zdv@*c8@4Pg8XZ)ldPB`lS2gl!@`31e7j|wyNnU0R5Y)sQ4RDWU5S5HHpYh13Z}Q89N0p*x0=0 zTfmcf#m8g}6zzq09v$#F2YQ~{s+qu{?+rymNV!B9O!OQOWsv5eNAEORT_G1&4IRX| zwYKg(V^r1}4X$(KYX$$k{h~{vil;kqw0WA|*hR>)I9&W$Qw3(Z_v_}DA9gJafIHhZ zb2dET$l#S-l?ZGhz}ZZB_gUn03=hmCYU}3f?Udd6A(?|kU3Q6in`}2j;ZWiW`p%Tr z#Vb_T5ThySYya6IyQ&dLzM>T2=>%9>YH;mE!Tev*6eIf(DrV6M*<1+EIvN{j_~Oclnm%PC1hbR zqY87snT$w7Fi{AsETsGGx&~oW_0-(iRk^pI1Y%hF^52x9g$WBTbz&SmU*zuuLd7AO z{#W*YT%11u)-pG6+mhJuyl z^F=yU8s=y~s`LGK=lc^~9vcX2-1PnF1~`f&Qc45r&)<~aeE!LFwJdqdy`_AmI$2Vy~B00~o7ta3rHt*JK%HVa{%ut4?< z`E9yNU-enVQV*bv=igg3=80k#OLd%EX94RrZ~93^)zqjL^lp!>TMT4{qT$8^DSoN) zzSuW|u;V`~0(Ujd#m703V^e*+$aNbLD}uT&?%n!*f~KCH|G;2z^|M2K~ega;}?%$Md{(Q?a=RM0(bj5r{T(hJ$_iD&^$PMRTZ}8~j z1)@}LRXJ_IEJ5}?nn3%9^!;OHbCX`94_YDx?+#!GbWACR*gV^J5hq z&4oLcFZMUy&!a;hue+mQ zetZk}=_Dh+yE7Jf>6ZtYK%^O$hC9%ch&*Ik*9Eh&!^3A3+?6@qR;$Lvsov#6qoiKsz!-c1Bj4bt&k18vmo%L=yTH z`{Ox?jB+3yf`{ovA0@>JuymF$HyA>QgB)HYxew>^GWJZ)AQxoA#xc5F z$(Uc7=oG6V-U*GOvKWQTsF+@4+e{hVS!@ZgzDF9g1g%iP=~-^Y*9xGFqTdx7?nFrH zTT96_n%wc*OdrG?m)z0it%-H3Bw?fd*hB(;aSs@o)Hb+3GvI(U%ka1$P;FNNwOsRRnf;PbIc5!28t z#8u||%k`s=?|=_8fd$d3a?V910~pD4c0kHXBxP=Xy+|%pX_v4~8S~=^s|DmoyM+3| zp~ph6?0af?r0qX}(xI~0U93$iXsJcT&0!31ZGzq)B znf~a6;ZRs~QOK@`c`vAng{SnKz>C3ry3yLI2rP;O4EXAvNE6X*r+Nwoo6JWg&hmL& z>8HL{H7ImO{;5Qf#us5C!3M^7kE|5a1m?Lg8%>iXs__h){kJW?V;(b%9oYB!BUe=T zi~+URukzCGfEtMgytstv^f`g#bKt|PV#MtVwx9&uoC^Y-+pwl)bpp{=Y!I`rUdz#1 zwb`#SyZFZ%@h6E~PR|i})l1f@FR`((I5*Zo0dai$bQ`um40?%I)BMv_N!eQx`Bi== z_%8f6wY>UYGizxLED0lj_IqL)Vj|J-qn&Yf+7Y4!DliNdKr#oxvwv9-iY))@m)nP@ zVOl<=O_VQd3^@OEsM(f4iX7iVJ}XPFz1O+dH=V-Y>R>m`=*RAQj!hBW!&UGUPI2AC zcwQFrTsnLhw=5wFin#n#U_lt8*3y=;&dZ2p1G^Dk8(UP(k&hWWOdGH&nE{Z^Znt;< z^;FL!9$y0*KztiqcSuEBvm?YWfw{crPsS~Zxaw>^g7b=k;Jf_=(Rp`PzHjyJ!ec@cXJtlvt9hXmC+1xzG;6oK>-NH z;4u5mFfcd%EsYRK!e>!5;ye<>z$xb=YJE6biG`%}mL zOh5+3ZSW2k5<>Y>uB=i8%we(zs-`Cd2lc1+r?>yTAYnYM`L=Pm1(ZptC=Np*TE6l-_UkLWgFfha($O5MlNuOydXY&L z-~`-ZqHxrCG11s~-w52?hcOx3FdzLMGhVX3@VxSW$a=@%NV_j?H@0otwr$&(*mmw{ zVoo@*CUz#aoyo*DCbo6*y#M!9ovQP#yQ=H1{?NVlUTgpMbuAs0&P_aOgZjK7V`1|+ zlM#I(4XD=`;3JVb?E8JT9*FZU_(X`Ix`+ecFA*N8;Vj@@%I_~(uK4;`H{Mu7-n(s9 zoek(nhIkkKFE4a`HH9;sG0wZMF85#%G+nt9A;M6|QcnpvciLOTbp8TfccDlBTj;+0 zOfIiq$>E6~Yt3jIf3%%tDXC(I@mt2>`2$nbua}pKvO1hQw`J-E>7p8B$I(k~u5AR$ zP$_NEr1d}{MBMkb@4!K(uyCi03P+ zzOF7?)}ephTuz%>)Fu|1wU0Lxwn~AqYv^Ec&XFxqQU6?{>u7tq#3Za5AgBfB03F}u z+g$GylMEYka@>54o-*$GIuGX(1g>xH?@y0UTb8b0|LDwYmHX4~ZO=peknITx!Uw5G zI{@-UGBIP(Y?JG(EKU!TLuk|d1TuDgTHNdVjl2A?JA|P9x$?Lj+M)w4bwShU97y6@ z^|cx;&MH=yHSTX6viO?UANsw~hHqM&s37;1sS~k#@;NZ}qKyMoYbtyeo>yB+>n|vZ!y*J-LLM0ZLIqWO22SY%!`h%cwvO?Qq?g1m)(3RB%hp z8t7nTB5eLvS#b;K;&js!sA=N7M9B05^ri;T+DPSn4DA5swn+Jf6AyUpPO2WhY=$xz1OL6DPA2XdJpFx$x#uF~!jU z55?2YVXC~2QQqDK*C8|}f$0Y8Y`dZ%+2!Qc1O>cy_k(rLVwae|2d?o11DZaRKRJ-y zFj{e$yhyU$qR8i+yBtjS6oaAC%a7pg=kW5_zW+$kSc{hKm3;QG9}+ zf1gWy3CGhoBx26}lwcvh0F)yaNgDSiHie#9>)>_x*&dfG9{7prclc7D11nSn+ewboztk*xPzO`Vo`D~l0+((>C z8ed-a?Vdu8Pg1NRcl2Q^z8f+bQzL$?B+3?2vBwK>rlhA_j zL}sar*h!2tML`7PN}b|l+oa%Uq7MdxI1q=VONG*Z`ab6y=hyDRb0NhOxl`r6v9jev z8=5^jtVeF_CJBd_db&4joXoQ=pAXd~%+6Pv4O+RHwLI(*wT-(?jXW)YV70KlGt$CC zhC02+1JJrF;O#Q>g0gq_<7_EQV!Z&m9!}dTi)%9;4-b@mUVIPzo3Z@N&_%^X#|Eqw zN0{rGwN;Up0l`-09Y0Uuqx0aRf9nSim~cB(D9@c2d}Y!t>l~J{JsCRA?RSBgqDdBa zTLFay{KE>{4%GW#S+awR#l81M<4Cwsz~$dndi_Tskn3>Bv^c;~aOgFdZrps(Nqbr& z2qE;-t%YGg6>Wxj!4Q`xp7_<@o($#w;v{T(2OlVl)b#HX&ZAgZ1wGi-&t9xXC*zVw8)|BKquY1 zJ{*0FoqTV~^x*`xa#7STF$X=H-mU*LggBBDwPk@nQ5_Xp+3r?U!R)N&da|1WPIMCY zauG8ZEE@7BQuJFk*suzZL%IkoCO_~k$&qW7(Zf^@-hLI{zLyq@A^Q&6-j05#npvl}@q;w4aoo^>2 zpWDG-Gljt_movdX$GrP<;THyk-(V3(NC;t!9S9D;Clo|KQ8)QJgBLu6E;;zO`6M0YVvUblMYbsk}&_*i&@~Ua!z1SFKoFO(}UU;c{Cv zvw?vY%jJL!1+m|NW{|Dw+#!21F1+XZrWueYA?(fg*$L-6GA3%u8 z0tQ{opF$#QQ>T+~n9ifqKidI9UZZ(61y=(uYF;;QKM{KTZw|&!*aQl;pCVMX3GQX! zPeOG&PFaxiptpjbXb`SwBz%a(_-cTTHcJ9bA5V51Ct~HdYcH*;v*tw=dDs$wZJAeoL+c)U=q-(9gjN3bL|@Wu zdkEn++GFdQz@lYK(_Ol(-C8D3+FxI}3-pEJZ-ukUOBg|jDDBBpew)Pbr`V}?aeo+A ze76(g8~ikxly#E(UVmkE&Xa(;C^X1!M?`bZ3jq{)z->@!(FClYh5eW$^Z1FPQ7G^UJ;MFb!-JEV0OpCDVNT>>70LD*P z0%{3y!4Q+GDbJabe7*0rbH1t;EzJ_=v|<2QG>Y~at)w;ZEh9XnBwKym0%T8+H<*Uq zx2m^TKIseEcHHMde{F^^6cUbtD)kG76h+LG&@p9=R>p~%^C#wnXXU_+ziZTqeG~{o zXv9$D_H^!CLm6U;y=214ntM{;!40HD`WTW^Ic^1uekKDW9{mq3tf0j%2bf96hE-rc z`3vngk#1?i>R9u)I{UyPX}(Ecm*RVtB72!pYF4M*V;{WjWlW3I((xeacU#oJ(75vF zG4YD}>$NXE*cHGIBjsn!u8iuP=Dj#MT@&_JQ z#)wci_AJX%w={SqD-|*~&7Aj%F8hE%_euMFK*vqAA_7Ty>uUU7Z479D7D5g7(B6gq zw#M<2q8>xOhFjEtU133fM9DR5d{WhXs>0~^eA42I)gGjL2Yym%rAk4#+G+=6S%pt5 zi-OAk%`Mxc^jQ?E?X@=keiTa{KXywe0E$QMjzC8n-6r5~6;Tr_7oM-%MAlfZX1da< z06uOnwwEDqM77xlKj7r}&@OGZHj+29dcC;>5|vH|1Azy4ofT%2!U?R>{QWk1gLn9nu^1Dp6(t$$}q=uB2)u?MZn< zZYDJHEE*c(z72tt5G99G=mrI2JK>04}sH#TkL$otYk#21LkB|FPtnDQaOlAZ+fJchqXy>n6R?+>G&RBvteJt8>&c(6daPfB1>az z9N2tEacOZ8lqFGFuut{<3MfUs6|_|T>&|8ihHL52!a!~)Wxs}ppp~#DsAmC>10)c! z?MX~qLYtor&7d{oj+`b-lKgc?KR6^GQ^3-u7h--L%LQ1?%yCk?RqA`XDk@@!&Lz|# zdb`|%J?!lWZMq-p#9~>WT^T8NBHq9Aj#=^@7WITUK7J(yQ|Q{h+xO0sV;<8>#U@6A zzabRmvoBu0Kio^~_g?xb$_qBFQUmN=?cb-o^i+?UxG&d`5YCTwZLeH^Pxcd6f*OeQ zf;e~%49l2b>?jX_se4V%8p5EJYo7DVuT|e#x1ay&Z8%=hr&A|*~|pp^Z$ zmldQI7Q9>R+uOX#oC0gUus1$#Sm>8*48b>K#+8^&gdIzeEu0RgEFbF4@|7cqLx*y| z8Eyat;q7Z(BYbX)E+BrQ-m>rJAKLGs6QCr`K+OXz;2@PbO5X=>`H`iGW>j&lh|Wd| zuqpTE@eBIM-Jta{=MA&g`4bCFK|%QbvYt8IL75auU5AN-ApU*Tqe`R-!`xaTBzYMI z{o#_Q0(@?D1L@*BUl9L0{gYYhk2s z9DMfriSf4ks#kYcii!NB(nY3&`XMLxj$tZ{s4Jh}UrZYR+f3egO?qjHVZ%T?bq3|e{2&+$ za{-T&nQF+r1E^e;OD2i!lf-u1zHHXitaGQW?Le!7p|dY$m`tjyB)c|jWPCtdc)QS~ z*AGEpfU>0T#DSrwqoYDF0skAd|0j3t%AjGS>Ldj_N*lcWFkeA_W;vL?nRT|EyV@}#$O zGDJqlIughFW0;baFCcTYvcFl&KvYVT(zN5Q+U)b5G8F~ykKK?9LDLtR@6QfeF6%{= z4=sYno+br{AQYD{5s{E`P32S#%4LZVnb?0BQ2b*P(97_*xrH*$Kv#ph9WK=DQ@vJp z9wqLJWJsV;peO8UvZaG=gT}|SY>ft(W3b36)l4F1pey@}*@VWjWDN!QeqZz!^-H*s z8i$PJ>?97O;1-HTz)EEfF$iFb`lFWw3h)LH4XKUMpKQHQ)`kRDH#y)srY)Mvk)Hmjs!cR`iB>ncG~T>^@8c%9dEGu4;J zQwl-vUyg6Pvotn#g6mN|(zg}&XjassiYs2noctgGbH9{P83)@z{Hz93!63ZED=SsKr{nGK@rH!H%+D(?*Lv5|KlZIRg(EcK@7ftkyO{luB!}L4O80C4 z2%>sGu6fSfon4%!$A*FNdSathfG~aX$ZORYe~SUx>H2F=X>MR{#7%@ir|;rGr6gB% zqo?ZSLw&84T!qZ|e8Rm#xVru>tZA6xD{*fy@>z0?u9gGzuKa0%IfL<`Cf7ZUP>Y4` zbe({gHv>mJ-LMfG$Fb7G_mt>u_vkNcp)REH@iFddaBM$*Dw^WHojsyVFGJ-D8zKeI zm9AiK3k{~REHriOso)rhJS3{dDHUmGgW)u5S@jxkQ>95n3WRabMm;COz>gBs z8={+%F-y=YMSW%}q>jp1t0i=YO9rbnFKfc!J`{E6J!SBTu=1#Wa$TV5NTmXpTcDNW zQyhz?JIb~Am0?c7&9pU28K<||@=d}noF4(_n=cW_EVzinxO?LMJ z&egp)5%{f9=N^P*T+k3{bdc|e1H?Uuzk`(OknQLZdqKnuB*aw0xX(`GMys90q5>Fu zt=~4qKz6Yq&$k~UP8V(=eMf?3-`xXkkeoxr-L{;4gL$7k^4sIXQgYRS$=TzBQLlVA zPygk|rh#UNou>femQWHNKECx|Y%(`W2hS1jA!hO@FL5brn+6ZG8f(*cUis--&*-#O`j&eJ&cjb?ts+f*$(Gm633No`H2*m?w# zQY7uG2czXD!=I{Q#@r%_%mhzko~nWe$Sn`zlNXVpB%(i$uT{(tL-cO=3FNW_kA*|5 zRc-!nt^d#U15m!`|K;d7+Ty-)bW;E2 z=%T3_|IrZ%AGA!dn8pqt9h(a&XLT}|C}3D^VXYjJ!6e*}5vrkU1IF(!lA2rxzYP#- zsfnR3sY02-!KAh$tB@#VRPhuqp|zKIGW%vDV8|Wa@Ae@s$weu3Y+D!$ueV);xZh?B zg(Jlv)GtRyu3>TdJp`W5okyMh?@o_>GI+c0w)VWRA0ncp1K(;tw|iJiqys4xTpTx? z`^X`1K_mLgdE{uMfDBn+H_uBqQc|m!JI3B~n>^`dtVFI9I2c+_DDkpU{RYp>syHz0 zx+1_JewWqpB>-LgsKBG5m=32fYAst5^+}wbJK-0Bn6pyQ$>CfC!Dkl(P_fr*1BSu2be8=c8t|Y7 zVP(O6DE_u@^L$eC?6-(WXz8OB{)*qy=lm7A-4zGNsxaJx?E{{)8;vG%)}?8h5}DBG zt9O8m)Wv^AOZqo9CVkt@iYJU!Cd_)<6fB8~6?W^_!wlLt2VzV(R#K71wYiXAL)+Y< zW2l(zsaXh3Ks2aj;wP4kJ)sRqoxbq#UdkW0BOrxEE|G$PBErXGA6lXM7Pn&VP**(x zq))N=N=NA=!afsR;mJKiMcjM_#I9|qj_|Ot%6i>bi*%HV0&s;^I&5k*A{ig$suA&I z1=nTR)4!}H&Sn@VtF{w%{%!?)<4ws*R=J*?hN04oM?!?TUgau#atflVxe`OzzA&Knf$d@Wu-=G)Cu{Gzb?1K{j`zrfsitxMeUuB=g z7~6vHmPV-2LU*#@tL#s58fb=f?#~YL11mVFc&4Z>7P64~cE{xovN6tIF{vb9_#Duu z3`$3ayAd zBhQ3y8Q^ZJwJuZxAVS@#;1lQ_5o&Q6ftb>`{zt<)9R%+EvC-X`klk-<2D9f4_=UEG*E;=_!t7(jDa-?2gjp zJ7X=t;WQ>y-fDF^4LC!4fcrlT?-+PzpE~?}fcj7xVKTPl;2=O$T*E`0jO#^MxZ(h_ zvEpzy9KuO(!AAV*`zS&i3lhxQ0A$2HnL)U-zaX<9w4@z$`DQ^+Zz<7> zNmiQnFTr^}=4!I2Bz@2~0T->f3#%4C*BqfBx(+ZriFhFIIuZ3iVc~!G!&L?H=p`-3 zZ-&^u;)P`nYXDz(N9@GI-yMxj~gJpBs)ZhuY5s&fvXA#kp2$X z7U$Q24Vf59Z)uw0S7JtbHyRGb>IcI5uD`!)j26tE12f}}`1cVP=$1>81 zL;+{!bsRA9(h(gRP_l~^0lRy<0yyWd#e9nf z+CzS8lOu;vM_3tM5aQm41E^jQ3&)OO%i|@xUxZ4-HG~R1^#;3CYj}FXT@xT6kWvw#xO=dX4AM#+#{~$ zYEOMZ)|*Qp{(TdPvUB=VvK#q<}u^VxWm&r#xrLFU=W(#WV8gPK$5p1 zJVk?bNo7?3)Hw0z7M_y-=Zg=NFj4%?l40|-k~wJwOg`yA>t#UMQ0BH{t_TOdGCS?| zqN*s+kw3_Y#6ZbV=p34F_H@S>uT+#N8vVq*{jlg7QoBp~!{A00oRN0_h z>_Pc)S71Ojez6M3n7BH;vgtapj~&aLI2&Jd62h~ZvnnGZCNVV1#r-`bMyVy}%ItZ? z>K5o4rI@*$gl`}9e~SJ9ek6bH$KMJj7lqJsL-}fk$RFD43aSAh*QbFK;}ynBS?wS!im=Sge4e<;p2 z#*vPAX_3JH6H9P(4X;M}idL#*ven}@MJ)r&i)mnPw?$ubGyBn$G%0_ZDJx{yj)kz! zLoaZwR3VssFzFnOEjf6g^ivup14Z8}z$aM+??Htm2)CL_C(&w!1oY4499qXeDwFK{ z(F+>M>~Tc{|AbR6JBwG&F$~QcK#Q5F7u2^`23yVS*pB7fa}tYSPn1nBW5g zXMrmF@SvZ7rE5y|`koeB;sy2zI@Ch%f~lN~l~BS7gPYttv#OvK(NG}DJsHQLfIEYl zYwoI1qyD7KjC+(&LPmXuIwiS5aOkSyd4kP z4j~6O#xj$%zO1XbPqyF476JH2(1IsZk=xtGc>Ml$Vb{swqLq7?Z_Fo>a3B9WBw*qB zKi)%RE}s97_mG1<*%X2X*w9sU!sq_a%zCwK4@%#@H<{mo461d zMPCr4=)5W<%ITLF^#>XjOji3~JcqssEvQdxSqXP#TRcm7m@hm3gRNFF4-%)&^(YD@ zL~vHIr4a3`J|hfT&fsAfp}eHw4|Bv4oQwu4bp{>%&MDgYRI`T|aN!EHAsT%u4!+_) z`Jw1RD+0kWQFJjPAsXzt9Q-s9Xc8HNXvrMB|F~Xp-FR03gYb5>IpwTHH$+Ff=W@h^h$R5G%2!HHT z4CA{i=y6j;!&_^r?F!rGw|I$EfSM-CJ{=x^u>u30@ z)_a=xJahXvRNSHByIgGCK3hd#xpq%6dTW88BMK)f;ZDI#0DYzY^Cs_*!aIiBa@TKw zCqBYS{y}uD@s$RPhz4u3NM{*v8v5Zo)Q=whofxPu4mOiDeZ(jYE#^sC-Y+wL`Kgo1 zV5$+_l)lSRkUtk0(k=gkWK3-23N8uCi1f#WC^|2M;>-=#L(X|7*N4FOw?lR`LvlSWrt0;KrXPHKy0;f7+l+_=Q+Zr z{4|~g-F*`t9z!I)aR~b3Fp8pUL;jo4C^d(D3YZ-?W2tkIxn9&{mll~aO%VgICp>*; zaSpB*v}FEGR^1#rLfV;39f}Cj;;bnDj#d-t21{HN|D~TsF4i$s+C|Pcn+{#Cg6)N} zgn8`YIO7;bhintMj^eTpO>lHrT~7V#s;vOF;BBC+B_sQlgBIOdZI~crgK{Dkk)2=w zU9R&k(ya8b15J|aNN5XHHTshwlZI`_-FP_XVvEvGLIU<(od7lvPt`FLb2x9;e&WNc zh=pX$4&wu|*7Iwo`rl|Z-G&+pG5tIa3_6{U6ha(W%!NMp;2CyP3C+i(SJ6k?m_zz} znyR7;rhwoWFv_n;86O`>XZ~wV`1jw&eniLEqf=Y-e}u@Q4owPPRe}F3+KTQiu|gxa zNB#>6R$^CAOLw%!rHV$5rhj5FA|eVuQ6hoSmg5v^m;2p3plrOvAZ6%oV&hM8-USt) z2;jhok~jCHpbq%_URDqS3jU%Iy%VUCq2mkk_bV2+Ldjk?k!30iDOt~eD@B_1!z^o_ zmUX19eWz!6Iq9T~i!v^N+-uVpU{JI88LWWkvyJ^@Swdl(lxxV0# z;~Nr1xX{(#Z(81dEO@j}+dB1XYC3iv18Tt4J}=t0<8MMwh`6|5M6j`km)n>&dym51 zp9iHK%D^^L)aP}?9lc`N)hY0X&Qu0#p8!!DMpZ>k(pl73zfyGTq-C{cIlk-P@qnBe zA#%O&$v8e`-X=-b!l?ZrTsG$z?V7|rdNq`{zXsZ3n4=lkR57c_qmY#bM*(9695k$d zQ@o#zZX2(#?{Ll)`QBR_m10yd!nVZ)s7cyAnQl(rn>UYs7AsiF1I}A=kao<73@UhR zIkGSz`~cN1+9sL@R-uI^-z~!CDGYQ+sI%kg;Pr%i$DP98-{+7M2nVZ&)9XSr67sNB z8v)OF4BUkk?0#gS6m>8UVVZV;vQCM*s3=_z>=G}3D|e-9OCV02t|iIjoI4a6V+is# zM%4@miER&fb%Sjx6G#X96rx_$s_{RTeeT&$!8DJYEo?$wD`-_IjminbChLLW<0wzR z(Sb3`1U;TWs2M>B^vl|C#iUIu$!2?Sq-y6p?$pw;n8d+1#Sg^Q%}^~sl=``gq$`nl z%v}zatP0PPFF7Omrz3^BzDyjI+7DD4aqsS}y@XJIm{UKEeaM{9#4)gO+z0|rFQ!+1 zn!PC0BSrZk+Qw^rf!p3ylPVWFg*SW>6npw=)5Hfo(B``5V{6oc0np|7)kPEb*<#AqCku9WSh5)aay;XiC&3du)FCveiZP)j}n}P z0E1VUsA({?$%`rhLMAx&qFPXHoQn=3a*E)QJR0MMeENC)HgVd=b z|A)!A7x7_h;`QaIz{JOCf_#L0Pq_b2tib15fgIuHO41YYul?<#sa5s$bAzu7|lLuK82)qD|+ZY!o=nxI*J^P+aiipi{coONN^CQ z{keTXb+D{*{91aajzl6&h%+?|B*LYqtnec$c0My%v(h0(JQ%VRHq$9iZ z8p@{X#XnD{bIY^od6W<&fVO0N4f6@V)2yX-%TIVh!@O}GHI{yi9>zVEAP~hLGGrLr ziqsNdHp*<^_r!>*TsUzxe}_mspa9x&4viGRYOSeqpZefi2#rlGE!^F=ubn*A_$tge zbrK&e$xl6S*ZO5`Efly8z5dN7CMdsQ@|9M(-n?Pf+0{+7`hV7`Kv}m!&IiW+3U|ps zp<&T69fJy&yCn6P(aD)-- zMb}IZ9bOL?Ym%sf$u<+`JoQI(ji{3`Zq{0in>`OO5$$h3oxx;et73V!w`M?e!KuOu zaVpJ~*{vxUB&gCs0N6k-Zg%-rq1N_^P;|Iia-}I=BoPGX;4dT&=v7+XJ{49q8MZFM z9nR{{<1iK&GA7bTXAgKYuu|QK1sF4^N8W^I+1Vol9aH=YlQYLPl>`13qFjSA>Y2e8 z9&OU;p~O)SpVA=js@IXzyAu#q`ceA;5;^7$oW26AFt}?vfWVau2Y-O{DhTO`3IkU% zqZ4tWnkqebS$iKQauJ00698d#ZU-6c3&?rE&S}mI2GPat8xeeZ(%j}>eBASBcki{r z-I=}nJ0gx(On$|lh>_C8hzN$vklA8F{r9VF)%l(2Z$~7+v_pcSaUH4d_e62W*Ahy>kA@ z63HRo?Jp__F(20om9>3sj3L(WNu&6c5rIwQ!LEV2?{^+C^i?j6C)E&FoQZ-yVTFh1 z2U^A(3%kml-r;_E$CE*?LyLO52jYyx0jeifWUD`>0F$5@?E~qdPGH$Mq`T{evMEz? zHW#91BEmCgE+3)}sHy_vZ*&$)SJL)?D?yW{CFt83=m-h!r{&u)rW#}{!qD0Go{?9 zpn`+Glzwb1p#U# zQxS_6!5Z7V%KWu$2!#6_C#68fyoRZ+*HJ`e?0v7`kcMvx;!trRN_v<-)dnKph?jju z(@7^lF~GUlIa~6WA+)GKxmzAIA@JcVP)lJWlc|Fg~Whl zW#eVxO)r20r2#TDRS5L3YFxa$@L(=#`Zz_L;h7LQE-w0VwowE`U@rPX{hX;Gyu6Mc zc&#i)Cj;6wTfF~$q}2jWT$(ECG?lC|KUcCqex08iWUS~eLx42Q?pFANaA6Tq*xGs| z#voo9Q?bbLfW{e$Jb3;XW-_V#jSh3Qxrx}@2Wqm1Z2}yjY@0wk*VVhc@y~3+X4{;7 zvp0WOiol&2!#zv-&F#?yx!P9N#>cZ96l7T;V&$hzt)AZq(n}!F-=hzj5|?8D@^A=( zEl<)ryFLi}&Gh(2IjpUoada5nWcOKk=qE@TL)xc5riY6Kmy0DUcnJI$$a#>`w$IeZ zxC$3{8XExK2GSb?_K(5PfB-^AmvAyJ*aSbOkvE2L=6foUKygaW&#C0?b~g``g*tHFcCZ7APfRc_(ymp8ASRHn7$1|8 z5fR7?D##s6)3^7^&h}F9D<|q#V@q>>c4H@KKWN~pkZW4RIFT3SEqMRj{tODDm8T6X zpzG89jhnQ-5qwglgb4&aA957wxQTBWf#Wj*GtMwugb2it3yX`(6J*U;`1830S%{n6 zkH4<-6Bcl?hli-6JMCOb(J+0p+WUMO96Im&p7Fd4I!Qo~4dUtPi3GyTee{{8$_4es z;R2eM40!q7{6Id1=Rz!A9tRz__rSMUKnS0}X2Cx?rv3b|6KPRI9zTy9-<&*bwDGfg z(tm;Hb%j>K&%oweBTv_XM}BVXd`5qEEPcv{V_jX!9%}?+)o=|feV(Sdu{MMLjQ;vv zyh+m}Hgb%DTbCfXvNpXP3B8#w)q%Ivg90m{spmPOz`GP!#>&d_$4IFoEL&4EI3GWF z>!%Co`Q%6GuaunfF5J;+u-?8Ya28Kjwg(9_@GVRvN5>#;eh~lqU?RX+9fUq6rwg73 z62xc@yQ&F&*4S!z0MP{Vb>a^B8boKvI10O$?pn?tL~BfY7rIXFJ;Hkhq-wTy5I{0X z^`S%psXU{10n<4!f?ZeMN$q{dFos>fe5Vh7rG1Zh>U~f7dMkRL+DkZZ6b0W~@gcYE z!1?u2!`sx}ji&!zyb2E@Kj8MDEnD5lZI3B@im#jGm3JXN@q9Y$?7mEx*}Z0dF7Y;I zz6YCh1=V8qs=vEU7=ib~X97KBJnL`BZxgV-ibrqo8%C$~pB8mK_n(+ZfwiAyNJw>0 z;C;7x-Ac$>le2SuXx5L?5X(?6;C7}tcgKwL?a65ZxTfVl$!GRYVxSF_-t^cNsnHnpNqJJ_Ax_sZ4%dJUy#QeloC446gfuzJ2bstruzcT_kzzBAH zi>=P0Ak(}x#*6Ly{E&T>n+ulpXEfNiEl@udA z${$86m?2J*0UZR|Q^*eEM!ku{DdpH+*-=Vi(p*~xxWlH^7BlFRlp zW-LiU`n7=r-Nj;5?;un^_2hW=&Og-Jx_{H+$V}^;o^;<)`Eoi9<9#FmRo8ubf@#V5-*b502;<+aiYk z&$S4x9?sdhY4D@`7z=gyB(VxNY*d8+cN{AX`MEeBB0|x!^5Hd~RxY)RXQTpYKK1ilzFz1&*V*oOKW}{R+UReTxPvo<1n_wCmSbef|)QBFoa`l#FTJxkAjdora z<-jBgV2G7L*JCeB4Ww{RapVh$SU$IN+hGj+?3Xyf01(1@f#Bu0Zlb>W^Au3|Q5@DX zh16PY9t)G`gY&6Eh$w|b{Z`YqtYn)Qb@;SAt3i zjV{yfbmGzN`!EwviF0m6ygQFtrro3Yvz(|&^#1s)9eY_L-lyL@N1eYq2^$~dyD0@b zE!Gld+iy?q&>2~^5ewVKOCIq@k^;+~hkU)vo7F6}%*gO`qQ;(M*RHeAOO;=*HuRo> zXPh3|ydN*GoQihh)SMSJ`^UvoPQ~xKeeAruzQ2!GWRKjN4LLHq_)eHClo&$pT;&kL z&u3It4zY}LP|Uw(c^f!Hg2vX*{%KEMGV+N8!q5K->pR!nLJ?wBV4olu77~tgBXyhT z2)`}RBVCHcUutX0+7*G|&PoZwDpi63VN8Xxcd~+s_i5)TUY3g&0n&TUm1v{Tk!}{e zul+xUFKii^A*D-cn=juM)_#fslE4JjQ_?b*^jeKJ&8N?qp_~oxTh@7hnCg2+66V@EHR&U+K2NYsJ;?~Jd0)ae-XTxtXPaM`5@^4V9jelSCqH7d zsE{nx{n8k|nM1nM8zPRQhw*0<)s4{8HhTM6XLSwOfCVC#;2!Oaw;EgG zh}I|!i4Gp6gnZm~9VcV9T4(r_YgNtIw~6SejUO~4umy9+##awwI558-A$NVDn4Er=LI$@rdNVUyp!R$-=4Sr$9_P1;_!$eTiaxc7 zi^;GRq8WGgDj?QOV`>8ng@B&stMsivbg06+ut^%zE`xSi1e1@mJ<`|HAHyeh;99hW zXnh0oGq|YDU9MV2LVN@r_*Ig#n7t#7qyWzl-KtUl<63JNtH@CWIXJRyq9DhZa+jTi zy=Pa#^D)@%Sqr98`EE*v&+G4@hWOuM{ZihQYJGQyF!JgehGZ~XY00FG3yaY|!lV69 zQa2tVw8=~Np3PR7I;~B}us7IrYKgpS#5)1$Aw%BsZC;9jNTqnnfUwKnoj5doe!UpP zYy_)_+w`cGENFE`e{6-;SOexuBFdV4^kxxMOW^mJ<(q?c?W8!0g}mPggJHq)*-RPhcn7#udcQ|yeVXq!@`sLn-k96SI1sZ;4WW~`i`R<;NVI9=CU zL9CWeZqS$ZjOE#QpiJDdgwjC9h?kJ&>L59tVmIX9_$y7{Oa|we8DYtzyzOJxDSJp4 z`AY|Cj_;0HhDIo43{F(zxe#dm^|Xv+Pfvyu65)akrDRbG1)huKwug?ZA4F~xGYL1D z-ln#Kir&t)Epa!#oxT*!N(7_sHxf?>hZ3st$G@aDTU^(_0k1eon8NP&*{4MVywtif z&KssyRM1pqlx8BgWnRz-cwa zOZNaWl)1^_D<&!A5(a=aMVu+F)F` z+YL{r3Ui*a%+}^}(|9Y`j(K=Xx(BNhwO!c+SoMLxX|VnBodly^z0{B*Juy<1>GEz7 zZ%n-Q-qhc1hfY{!N#xhSiA@8MTRaom3d4ViWt$=?IDSxWw$AD(a^Ah_sFZ1TiQyz% zyzzPU2V8}nX6Jlm0`36x@4A50-Tq6v8NN(4S;D8s&Djx5VV6Qha}cR)ZA}Nr8;qPG zKIlhEH%1<9;_Jw*Tmyzb_dR z8adtFSK_#$sAP@B(|!7d=*-vPDQh9_NFzE?Dy#kz#_)qW{K7f|^)MXIGZXE*ACkVQ z4g`Eg915Sp`4pR6F9k1C_k#Z#iyLrE3@22*Sht`LI+;{TJ}sOy=l-=|}Df{sISTi(!V z_Z-#t;9?ze7@D!%LQhFt+CA_N-8L@9>l<9tW|{#`0RdyBC0eJ{-1 zB;xT1jNFCw1<5Jqp!D)hlQ;TJKMR#Em&r99iJVfzo)m50>|&QH{VgxeGR;g69gwru zTw~(_n6tvd@wrFCeU)%KMI9TIuk|;b8n|m`=FMsitB=4g#})5; zk4FeK$*Z?iyM2S~ommiztTvw$TG9$idA78^d#zBW7tth3qBO+IyW<^?Ji6u**>V-O z{YzxGbOT9!IO7)PZte1j8VP6r3&`npuQj~9|7%;I$9k+owOkl8kEbtt%yRsg+&*E{ zUXkz1*P{Pnp-%BHK~u=KXw_)RvQYf@T|iW4ABEB9Qro%uCK#tdFr}Rc5ukx>c$Tnv zI`o#!hOytowA-Ju&$RZFaN$w0DRf>>UAq43G{_c_2XPASC1xPeb?fK;D-fvtyeqYw zx^{yg5V#b)oUw+*aDR4UohRnQ5Wp@LtF|@AU)^m3~ANSVSjmxf5WILA(0lqb!9)s%KLRpoW|2K@`;(G^Mnr%nRDF6HrbHA0Z z`h~{&kOm(VFi+x&iM~N^>h`g$TRz z?qv7J@(i&bp19D{F#INTY$FhmlruA)ySaFy+J9Xjbph1$bC_Bfi)$){tE73~L0CFu z_t?TyqWi+VmxBEmQa8mRv};LH)UQ0UQzcM7+bXi9{rf&sDGT|vavb61a-Hf0cJNst z;{}ZXlF%Ejsj6u59^hZAgnB>}!c^m-=Ekm8x`NPCh!FgOhNz|O7I%YQ&G$m>6 z;Rg`m%C8K&Z5rn#>o3N)yp@bK&({ebqvSaLfrs?`NVYt;mhO6+cp#M|QPE zxSB$%sDt^>6TD)C$rsDoixRAwG)ypg76h?`T{2f@CCXI@?sXLob1 z3$m(*T?fLc;P@)*d|}_=a(gaWfx@h6TKiko{)4poure;dhqE*Ip1N|}<8YPj<4LOn zgpq-2zK_3NULB40PfjIeS+iQjq6ozNr^`$IWRCBTfAk*8D>e%bJR1I=QQ+?Z^t#3X zm~Q{ccsP7gfiy>tnId>tp4j5Gr4qZ)aq%{{8Bun64A9>sSFI(xe)m$M`V`t)^BF-i zZYS?D6nblbGc3nzSq9#M;kSg+;0vy&#+ki;$OJ;wL4282z{~!SH>CT;-jCn+Mk=KH zJF)GGSMhN!aPtX!n##Fc=+Bm(CqI20-IwlW&pg(mD2jmGu zLHdnfAK$3yJGMVj+jQ=qEfR<<)+Fy|kEE>{84QJ#PK~0X#qrItwO~iRF2g7y1_>2+ zlg8gDB3=2F6mefbDvw`ZNa30GFmtOYLqD!SOWD)hBJp-yRDD*n`fvF=hzohVH{B~( zbWC^wCh?tSzzO|5u_dw=kmOG`VHf57#q2nlU$yzjOiaoSp&8LV}NPGJGIx&mpmwx&H-aGrQ>L3`Nh4NRCk{uDnR@I|6JQ(Zr z>2i-}q#zw;fn@*P2M{HOtK|n7|3_KU3cT zbnPUl)v9im%cgYbEgR!{1hvu^TDc$$^fyhZP*)*MBl#CS2DXA1M?bYNVe78OfDmkecY zl#lLAZsobWFQ9(FV(=5iX;7F7jt4%Y*m{8W{qr^*n?yn}C4zR6eMLMsOLCoQSxQ?{ z9C}2KCy#LWzIn)W4X5}dXH$NQ)Yv?|J1JHV(-r!U8J@8jCW}2ke6}R zDOZUa$~gIdaFN$h+aI>a-|9`W0MZ-mS=JFeFyIEyiMrCp4*gGOOXSodwL~K`ifwQb zk8J^)a5v$Zx(tXpK8Sq_HIp0w7zEb1Mzv;VJTBHzafD7)Fm1I?5B|a})AykNDA=I9 zvRv%LI=C*|LAqueNt$SiQl`dwe$|KL6wbk4^_j5_A0K4>Y7i*$VRD`O-LAPfqt3vP zYUh@@>z|vXiX7*Ru4#@*?HbkON=0RleI!U@9_>UXNwHk$Q`$1zF{I3ZYInO2bw^r} zE^hrF7x6)TvjJ!`_N+to@J%Z4%OjyU8A?U^7ZkS*~^ob5w5hI1$Z+Tz~ zj&p(53Tl|}ES?rTAgalC3a4=G$fd-9YhqC~kNQhb9g=PYJx>@<|9<#pQp3NQey4gX zX{d%kX9yAny$BoP7rRZpNL_d)L0gd+SsKYEv4?A0*sn!!s@vssy3cS+1a_)BBScrQn$ekyiau?CD|084{mVXF)8L>m1b@;NB~ zENmpkz|mUP$G~}+T;B8**{nf3;UCpYn}Mg=oCE5c?C2>M$o*=dSIMuk;rIdGIw@d1 z#RFEu;jsn+*jgU7&|0*FIiB%R^i(n$>Do$GT92EBTLo=*``svBpc?50TL*&qu;m8z zpAF13RB7Hd05GX9N+EF0im)@WC~6l{8l`66cw4Ez5M5ovf}gX>UuAR4&5pPC#v(wS zsb~y$L56V~7LmUA-Vy;g32!T|i+fe+CNPSFl)m&-AYCGz9>9)a$k-4yp&@CO_^nTM z>fs8@l@#1+ouXOcT@;C3PAA2DH5;0*7cO=_NV?|?;6B&$$wN4tF^hgImgFC{wHLl^rbvcD>_vW7r+q&Ipn#CpfsFKKm- z63zqzYD+gj-YF!uBcpBKms5~I6Qk2@c045Ux4r$U`L>x0g>cN*umaZEuq7<04JAO% ztv00+{ab%=?g+o_L4Cb_-tm|;=$gn~h|dV-39~#wou^FB7mTlgb+Ns3qv%Ws^PUy8 z&Zh)liL0%0lcv0s97SQ|UVWBd3QY4opHsB~)=!&8z)9z3F7hdY)}qYs}cRpI=M+nKH{c)nq`Q%Mu3Wqy1CQA?Mjq zM@8BMh4h(UD5JNc@`TY?voWrPw;3aVL@D)#(uALH6X`FOGK?M$SLw}|m5F<)O~Fwp zpXD4@o_tK(weptHXs#u76}i893xrn!Ppv%%`3*DUy@`9qZVLiUkJqk3d9u~FehVw~ zgwyOr!$m3FQo5~H!u8~v4@=tp>#$JkH;n_bU);sWpybI;S>V2K%!;ANDk4DwV(I5I zf06H7$8^;HCHXqQ{$}qV^riQ4&PfV#+$%eZqwbaF6~;vMxU_Qt`or|L2elNd&0fP9 zxNh0lJFloQ3eJj8_XE5sJyPC4L`vIz9BRJ6{^(;`-y@H6H~v)5E;rqFDU?Tj<;Sq+ z#VU`BcP9Y^El_i?6-+NNj*(EqYlCO zqPE)&(%MDi<5Sh)S`mrhxBHwihee7Gu!SU7xz|-{q57w~=Ugod8s>li;Ipms?;O*J ztp?*RR-+3r%@758T?W;j`w;z?Q?{`0b!cG2ZktGIL-=Do*PN!qit}XKBiQGIQWDc{ zJ4O(6r9a@;t~yx&Nkly>@5h61b9HSh8wrEq3w&FKXFtKiZEXKOs#kL>&X1$NrM5TK z7!Bg+ul!4nis6cBg6q%%bkRH%q)zU!+=q+#L)Xn1B%M4WwoT#7PFw7AIC07YoUOXk zN1%w~_v86>UJgLGd027-xQeGR(1A}6T!Nb98Nto|zWaE)v`LC_6I5_y2B%vE7-L@g zFE&;3Ifuj8h>=*(cJf%i$vWzauBDq|Mg?Z>g@;jiPNQwNR!Ty)cxex|JKh5PBe zI}X~N$!YwK4<#~6^Z&y4sFcM`{mQ|Ae}X^>o&ZAbmYVMuKXT)G&{LuJEnxB!ivPqg zJ>-ZCibe^(yOJm1s~g1^(L#-&AhmbQzJTs)HF3|}zIvN&SM}?*QRFC&EOBlUGGP9V zGQI5FGV?I4xH~Zb;EcK?Ky}26AIJ1KGOo>od0h)V_d5|6yqn=yCIre89m|Wen;AXQ z3AogKrk=Zi&guTJ_>Gm?ER9Uc!E-ub=GRrRa2Nq|CP^9@ZHY7~% ze5xf_?v+)yVcxMyERgps6Roe0)X>i=IFDR^y7c7H-;aY^Z&GEt1~ihFm3yam`ka>Z zz2w*+u>73{z)tboi3L`QvGK*Vt2S%`TG?w$Yd`7HDAsGaLhx>eMftue!_Jukc4N9( z^bq(|G9K8kxX!g;su9*9uOXc}#~fgq8tQH;yTP2>c2eG7Z`=odr3_4+N5lNNKzAci zDODl}|5y75E&StdQ^WXQ{`%#4vA6Rvf(vkyb^p@~5ca|&6Cifhi7q&gmyxPDan;a_ zpp!sgc1L`c(03~Z{gIQ5=9Kn9L48yaT_qWFSbVbaqa%r~J*6CEhLBl}Q4{=?{=3ER zp}Ns@u=3ZFWi3^-dO(vA6nAHu=p|3hgQ3-r9+9IJ&Ba*1X9UD>ht+7+Nf*n~Ev^ttNmSV%x4?z_$1o8vwl6)o#z-!3B6Yv~2I?VgFE9P0Y=9`~=4%Myv zmc6?b;Sq`qe35nm<_+)07bTQXd_5^fVU}Otjb?FSXYb4eC^mt9lFdetbLl39^~++z zxDF&8eulf1kUP2ljk>sstV)wEy1L79yGzv}*4`Ok()$!2!@w}IMwGzktn1da-=-pz=GUQZ(Sg*T?jAoe@WX z-5JH~_s1OdruPUTbTW3>Uls2$i5pv-W1w4qx-4DaE%L}Fv|D>f9Q?AWb-3kZ13;LuqkT|GBo$*o0c5!3d7My5o4qIP!ngCq1B z7_+uhpCGbQBkYE@G{PU`ulSw$9&(U=#Lj}RTkbUYdn;ODh?U0JU1Gp!vVw4<=P6cr z_A}qiGsT*X%!j2Vp1d0UaXBhX9S6VVo1S;~n`2F96k1#|BSO_jLj>e4wNa)Q@Ir1M zG|&PCF_GGNEE}fs+G;iw{l~a|-%nUkYFjdo6Hi*=Oj!j#wq*sA)||JB1fA$i2Gy+BnPJ{|H~; ztty`%%XJYrV$NS%cC#`rJZ8cTP#wc3$6w*dymUKHKJtaFC1COle3nSld?A*g|3UJQfIm79XwWU*HRSRK?3@0oAi)Y53#_LI89+X<9#XtY$ z?g@rf=``b|UVY+FkYN*!Ch%!=(!-CJyfdPFh*90RrXe|&2ZPst<8L+{EkE8=T)aBhl(VJ6lRpiELf9kVvnUa#*>Db;x%M^RNXM7|r zH=@dK-@_v>2!^N@QTR78;rbQnV(>7{Vn`!iJg-Tsl0-Un@8P#weqUQ{B|{2%HOf0) zNF;0LcUT69k5nzGP+~a_z&g%Lo@(yH)w+X%*Y6TYD zKOi%|n^uR9F=UTE*Bq&^4K%CK(R&rC8Z1~9a+DEG4wC^n4V83G~7<~S*cxTKLkQKv`$75S$XwAy- z()BTc$Lb0pB%M~H5ho^yk5z-BZd%$O!c1ruhX0%s%h1EORa-*9%L=^!N&BZ8G~+zo`6uX62^$AVY}6EE#&vcsyv1PMb2P%zFOU*9aZ%aH zVq<2!W`;0fMev%*PBS8rIiU~3tbmP9Ca!ZRgsCn&%hQ`6dyUT&^-5vN6YRC`NeS+w zqd@NXczPXuEbVwG{occmWy+kObwRvbQ|$Swy+{ZEs9b0a)eqRW$yP=(yeY(&e?;yM zR}Ed&Wt4E1a0sP6DtYjT{rA}pj0>ao8!JSNP#LJZdP$W1QomtJp+YflV>UT{J*z9( zGrLhpa`i&{gv04grB+~%v?BlXKnxV@5fnizfB860G(B!Bw~G~nBu0rwCx*46a=2Wa zm-xN}gbyup>yJC)s5ZNziu_gUn>}<4La73mlsA@aiG4p~jljVRx#=+ZPUV+womEf@&i~<5S(g$ zAvFLFPWebx_KKsfE%AVMi@JNzxZy4o)A!x|B#)iSM@| zb?T=1a;^o)1w?y+_$lPZT_Q-Xt=AX9Ku{HbP9aeUdgQp|q1S&11fDuKUAL>1G`%t< zga%ZCykfGq$?n5WGzB6t6Mg~8hDKq4UePCwc|&{K5+`op8;p>o|ZL+%Wc+H?anrT0d-oF{#o)5Jlli+aR9{ zmd$7{zh)QVd(z1Y&zs)A4kO$d_V_YNznFH$%XVW}b~9GxtNE#jh5S=rhBq((U&j;r z%`nks@F^_@s3f^QVyYtXfI-S(rwJB0QF@*9Y$y+A>_ns+prQ%vq&T_Pt!rLB_lW$x z;^o2ZMj04BY9x9O#Gq=}DKZBk+ON*`AHB6E%WV_%!k+(~-O5-jECig0bq zESCyI$qb6h`($jZcOiCpSnIv1AK#B=LVZeEfoap&Q)Dmevi+{ZV*NOiq!8NA8(Ilx zhz#c(@cfdGmwh0F6CuA=C~}a+jD*eI)Cfjs;eb5?JKFK07HX-=|1IaWdc%ei0 z*{acn(h92}B3CGrB+PGJV%@IU4?gik?rphpmkWGljhysmQj6*$A&-)FMByvC`|f-w zt9GaO(X75>NYZz@XtOHk$H&D9BhDxNKPfBTTe7b+*yh=fejf4(QE@4c{O$`?DMFa! z^^DhqNE=}2@hd0G^6+X0z-Qt>IOM?`w>j-b(iLlW|BHA9JgoLYI|Ylf3-l<}uscvL zGp(R#!5GGdMAl{s^cRnRwigSEZ{dHQb(05s$`mnV>8~XZ%6P?u9Uzz=oRQ>uBXqk6 z2oS*5cL6N9mU*g{-zl=cI?~1bg$E1)#qDSkZblsGvHAZ!=`UZV+M zgKpcVsrryDuaacT-d}jj`&DWCF%;oIt2P%(1diq%)pAQrb^$Bw`I011qKk63z89>E zI+#;ki^{+gc3a5X>;ZeOiGx>_Nn9QTlV2(zk#>=(x^=|`ki`}ZVFAD}QijzO;Ko3G zN8d?^AQrQXVE+<3Te5W@ZkWvdBUL)gKUz6!{7^&~ofiM&@!OnL_^&js51IC9b3sO8 zH!;5QNk1unSAdJ@!MB;!hx6+`-}~?5S=1X3(9`S;7I^sQ30)FXnBENopQCP>E2C`k z!@_N%cKcLv0E%Dh6(+p-%|dFbny&7BWuL;1iKLrKGSa>+I65Z%W0BV)$gQ@T)Mbaa zjpA4sre`uu`dOhCNgKnfLT{IA4qQw(`NQRfJVzE}trz@pZhnR#FaS9r7!r|_IgMaG zw~~>v5@lx|VyELtQSJqe_1SMKNJ0B#r6^dy9{6kph$y_U^I7KTzR~W&KN9G1$2-{xC0<%a6epN+gV#L(67BQ#DYT9mMl+cEU z1Gy4SamVFZ7Y3}`ZiVyI531MWQ1&Zd`M3FQ$&h5a8kiqQ*|x;i!VhAeM=)zjq~uLQ znMyvyOlKWTW%q2#%`{cC55GS9iWUwq&3$wMZ5MB5;nWR3YecCtqkZ!7GC5NA?#qy; zM(MWXQskNCP~}7G&j$@(7_b+={-m}~aE4xe2;Y4@qSp%ymr6^Km;!d0%mC>aM+znx zYbr%mU&?)!|u9(BE!vCF=PFIcaBN0)i@l%P}ycGz?9+LI+f zf}rAjk7=H5$iwsL%A>`N*iWKx}*4ixNQ6K_vkCZQE2Br1+Y9uPo7v9t2&3Ft zBOQT6thIDpV(CJaoxxynA^p?AeC)k^oC0Cugc?L8AKtbFt z`8JLnBt6%5D(p-T)X(tdMWh|x&sFlY9u%hw4dmh+>Pap>BrDZ?%7wxU`5)rF0jN`B zhZ`8?_NdkQ5;-~L#J)?+QH1hfy34#}Pt)>Esen>h_Ft)DWA?ZCO3oz$H<#v8=$cM6 z&(x@WzeU|SD)>(0Po;ST_CMv-{RhD+26a?-kgX_5f*6d#Eam1Mhu+SR7c&2U48} zOc>(axfCIy59@>AzC$J>Ml|eZsI<)!6U5hRkztgG(DBVE=cnD(EgoKjH)R#Fm`!1c4;l=7bxzC4X$R8iU;`qLjyH>x~!;pp`AxkrzY9y7&FaD^BXQtCt0{2SO0L_49QqW)Cw;+$79dLP&QFME0+wN-(GC~J z>3(Tgz#2q(fo#E@V`BIy&mlXJir^`o4IuKJ9;))iOo%z2{xSkNK^#6<$N+443{}~1um;3EH6iVJL~Ed1ly9+?~gC@P+rU} z6fOFCL_Z|F$?4k$-6YtA}N+@cmQsZy{c+J9=9Y17rzR(Mh>nj)GFT$;h~dRLF;@5Gh0sNi9kCgCL#-|AmCKVWgtla95H!+ z-7k_X5PKD3#Bx32UQl^hIcY(q;ghF}#nO~ni4*xX&(c}&DA}MEnnw_1Ij3*-3Ml>K z3`|?$q|BR{KGF2k?pAI}vxpk{JeJmK_kA7NpBvk^Wgd|(i5;gZjo zJczYB-b{f#;RYOmjtN<5G15^2`1E}LewjYsAHRQ^_9&Jy`MOq{*PQ_97Q>+JLAEcS z00J}6b7gPfl64plRYUajF3Y?b-I+W3fOhV@opJYmznK$4#%YAQzlvpSRG>;U&tPyl zTZXO0P>8&39UY;qDr>zz5pN90=+;gWlGeu33^0AaF89xOlGgT~rbgZX@H%sZ=5ZDZ z=7{p}21xZTZKiIS^V&_^viQ#9@4QQBBTVqqhN~b8o`vRdwFU-NYYFco`@tl3e*O!qNKdM`4{|0AqGdR+4qVTS6HlF`9y?U*AD?Fic@F$v zmGV5YO+{}vm?sY!aR>tOl`3hKStFQHh)F62lWcork(PeZGA!=lR<(Td#s`9vl6?xx9`g3KP|04Wk2dSWJtmRGEqdo6v7VC2pDbZ# zsB6&1TjeS3Ei2Cv8TdwZj~+#4AqU0o`Lim&f{Ej=!)r_}x%Y_9{G11+@7ci6vFNGv z)v4eM7>yLdGliA#yhunJS;+>hQ{d=FBtKY$sh6qRjIqT4@_V+sxSQhDBL6x!LGS;> zm}Or-LN7Z$vL>jcmj_JDdczy*D1O(< z&s6-C@9NW}R`Tp>cJ0lbYg_=!m+Wk#W~~gBCne|tbfl_dw4-{Fi*GZdq^UfTkh+?n z6gBR%naF3JRgeci-cnCE!+~YAjH_pc^AC%tM_s~7QN;-RZ7~fCCfvD(P$@!C1!>!w1T18nTJ;LTf+w zf0yq9?t^8Zthf)%I<8X|Nlf8;p>pzp6HGbGI56-t z);b&(+zzb)PS-xdFrgIk{9bn7Xp80mUe9OhUf7PKH$>N7HP>3xcyc3*e6fU^xeHn0 znoRe7YbPTQQ3}0#EIho^(?{EUBAj`2(+rH$h_(EB)98zNbjN?+uoozrfNrrK;?ej3 z1H*73`ag9X;&reb!2)k@Qxjn`y*|FaZODGof-??adp1{H1cITR;37O&+Z< z9~pPLU*AqC#q(BzXG(+0JnG7QpCR)mF>cK;ZzXOF@c7;m`Utaa1L8`Y5NQLq!^Qm# z)(#Zb;qHp4&hIYZcl|cAIkzuCzo+&9h;@hxSf6_vF&PV^E5BJNujP82bd*Or_3%7j z-f!k9iMC?^?;Z-yNxja(?ESo55PC8c`Bq$BK?=F2 z^fFXl-|v^dczLTz;#4qu;r4n?A-cth{je1TBQ#$9r>c6r9VtW16R2kJWrqP!T==;c z7@<9;mLR!nPsD9^`8eHc>UsjHVGt}do$$aHkF45|m81a=*zPm0_MG!s9!2#F|JVS( zk9725>Nw4ibN)CIb5*iI?JCVg|5-4DBA^8DeCLzq&pL{xd9bpl8 z(e#Sn-=L3Rass2EdUFa8AMyY>EwHc_fcDq6*DH1Z)lKX_^HLqQI~R4UoFX6Q9v`$} zdoZA#(SHzsL~pKiW*P8Jt6zSgLtY;LeBC0hCXl2>+Ghz#hC(_m6fvB@m(=7}RR2+J zUa&-p@`xn7jo*JBSRYMXZE7rq%R0ABj6jR~4il6jTf9&#VK|Q@w2lwxJNNGbH6q8B zFk&iV+BD+P_Ab_1i%~~uNKW`-Y9{mm_IBmfz4n6si4hk3aPP&sqWSU8{+8-5|1E4G z_;-NmODlj~p!?Ocsv~csD?YqN-+w8Jd%`2(n@m6)(3X@ymgbqAx`U{aXn>`{@zlA^ z=#EG#hGaoM?)=q|_{|F#*m(+jr=y(OiZ)#6k|My4P_wEGw`on$<)d37y?c%QXUML- zBEV%?l!a7jD2Lj=MPEQ-7kNaTyN$&*)Pr3Ie*Z8^P-?u8<_kb~W=+W&U{^Yon^1|@9ak}%9nk?jWp2x%(v;!8K3qhQWgT(i+@yu07o$^G z<>c^4P`aMy6zu?V*ZS19d?1WE&R@Dd{v^a%a8UvNZkbh&7}&E6J;K)1Z(7MgDI}H8Z z#<7M%m*-*wWYa!FJN~XW=*B+sue5F)?3TOR%JXKcN?R+YA0KM#T4682N=#|cOAmbk zBq>{3@CV@BUfw~1V-2Rp9ooPkY4p}!-_}Cg7FTMkyHjlOXe)7?u$PX3u~w2+fT`j= zD3mb$_3yARIfl#mu|6Hc$#{u27NKBuT+ULH{qaQB+f5|_>_n5EfQ~~Jz76$b&^Mlz zLMpjlgKLNJX5~bjYs~<;S>S1-j@wy5ZTiX?OAeq`eYR$0i9n}{p;uhvbPYjg&EA2y zlA&8(W5#cFyqnO8aM|g`=lVneUFnK8KHFyM}c8c~GZQZ6*Bm zsm;)PUrxWSYFb~S>nwuPWFL0{ZqS@>e=F9rj$eKIt1%+iowc-kfoA&L?fNX&9UnMN zFlWC!SL?IhvQ=p#`r)mMf7N=%Tr=U-Jjr(e|BeGDLokBj`TL&w4P zUl)vt<$v)Eh*&r{{tGu3lQ9vCKLQ{6@_^R8NJoMhRgG(i^%DhL3tT+j6w|W+3soeb z2D;cOegtu>N3{X5>M*7hF>C7mts%481x;tOAH!x#`dFY@DDpE+PEf}bceo#L5ZYqL zyb|NQ-`h+M`iZaX*+f);Z`;1FRBxDDPd$2^Th;kK!Uj!+x!vEXR<{k z?jF;{2KgKl$Oyv&#-p-d{-ZE5M`Vo%${k@8Gi9pAP7x(bXFZ=JD@zkBt4gyf^DS`l zxSyD-nYVA^2ft9l6BqL+O>7Qpq_tLjPEvIenZaBlnGpsgnJAYUk$deVRD6z(A#9@y z?GZE*2i*PuQ0W^G7(S`&n-8tpD!7g`6ox8_LMV@v^m^N$z8dymqE+wYt@$IDi>F#P zIcXsCVYuDMBtIJmLO+SM=nu4$F?dXsGDl=`mtTknGo`Pw3!mZ`#i3WO!G6WNeu9NUz%7T$~+scO2qNGJ_k%_ z8X9|D&iD^E2D+9|;npd{x|IR5dZmJdf)W`tlGnt>L;4YIM+I5*LUfv)Pb}N4VX&DccCaUf|RIHseotz(4SzC z=!6TXp}dar^%3Z*6wPmvfG-Wf!|0Z5I)vRdari#EMsbil-m4}f1RASFeX#`3s|_RQ z?o6viVSMhF_5BEtK9BVxBM7vY=JUBY4h6rS>-+5?uPWw3&x0}gVLCIKcBiyXT`>AV zJ2M)0<+M&!THj{lEbu4&%D2q{m1o-SFu7ZfH`-*ofatd18!ldZ0bjWGM{B~!riW$KN<=l#9e$4RF^ z&-ZI*Z?E6$=kuhgE1=?PEAQ{u`}_0R)724Qy;~Zv`(q|7&mAme4k;I?93x|hx-0+L z7`Wb?E#P=1@O^)G)$055xyNwdhDtu%1HtH^s>95IqSNXxWw*B4xEeWCS{`%#t25}D zD@lu8l-($6wK4%5v=%!msEPtx(Q)brBt!!ug@mae0UjlZ5TH$oiC3@1gs?kyvUKXGq5mdwX>A8kq`s+@Xf({$&B)u@OM~y*a zEA?`bDktB#r~0R){s#z?oVmqcjCWrQAMu}$tys17ARSV_ypNn}rB$|dhiWXej*3SU ztwBwA^K#4%mmQzFZYA4vW^!;5Zpq+}57B{C*&qXKIml&`=u#A7~Ojc2Cm1XcVbeEZ-O0Y2aZwypj?b(h?C0V;|HdWJRwbD8GR++37 zA2f3)r}{6*TD5G1>}sIY&51XSmF7@~G(fJW2U*RoTY^R(E%BpHLJMukGGz&N%B~vJ zKzX^wuw}|MlO+!atj7nPO|Bb)#z;5!f=mfsHhflqmH*f6SQlM)XYohLC;?aYZo*G#aJn1R2JHpc+elN z%3;b6{!%L>9TLm|$j8|m&TWmC%4f3Fz*X5OU!<*B^g(GT4pNrbQd_OB*Bl0(GIiWI zfR#ZkPz9CwlOJQL#<3T2LK&p8DgZ@0w3SENjYCV_y1gayfvU3?U6r9y1DC0d)kmG$ zvrf6*!_1zIM;?Y)t}K5GvA-8$o#L8VG4-W84l}HCX=#Kz{5}4Ogs`{f#&9QDewkeF z+{X&2V`pQTT&$U+NkYq81mL+qEYXe%BcyN%=HAcux(Su!yoEojTHkM-L4XDqgrSGD zhn3)Sq1mkurB6=-1j=n1@A`cLD-!Gu7v- zfNAGO>T)j5bgJB(Kbw-y12WVT@QmaY-v@6WwKw0BzlcGy__pM3;X9`67rxZLvXty| zYu@fkKXFh#vtIQ9#@ZB`d4R8zO}d&S-@oDC<7BkJi0Wd_i^t>di@nFzZvqa0HlQ+G ze;V=pYos^R%e(ilXKESFbDmHs@Tv2QO^7dNcukM5TwY_DRs2=^-UsyhpqJQ-uUU5K zUs_NbKWBDf)Ad{4WdWKsuo52E`P2LOYz?4|`d6SwhJ+u+%-+<+H7#r(1Rji&ojYwo z2vRAHP8bsFUvfcA7?PBdnTd^siJhC3O`95qQO?0s)X3G0h)VPq3llRp^ZzN+vVG5qpkJ0lV-uMr09nzRzYKI^DFUDM7b6}IJ=Sx zGSeGTNy_=qQ#I)@m)Tm%8Y4Pi6-PXEu+!*}+Tu)O{z$T2^>mzR7OpobyD`e7SZag~ z3y@N5oi1%XpL(DrW4)L3sEQEAXk1}gi{(Yr(l5@he1>2UD)Ka1&rDI?-aqWvg%Kvs zP~kpAXA*Qy&!%mSqJNaDoe-~WEhjRd(sVvBtcZITBkG#M_8p{=sZw{xBUXuHK9|@L z)0Ki=?Q7L6nx-M#H9I z_gazovDq(vHr5?BoW9G&tBQvtO`v}M^KLeJ>|*qf63i^fPl=cikeVVZxIo|0U&s7( z^>rrq%y#AQ8z#o9HK9gl8auu&ZVx9L2G>2sfbZjpI)VMaTOVN`3WPf?cM7o=4FGA| z>h>E{)Csq76X@DO?EO}>3nWB1jeSrjy-3p9AFK%7DPWqd`WnjB+Ak@tTqPqc z%?MToQWDZ?|J*E3g%)5SE=ygb<9584o?R$pQ^z_iywpNFI)H!k`*rVH&(GtJ{=?_f zf>GItomm+0Z;2bsEr~DSgIjfYM&|isIG4EEk;E?Sn>KNT)s z4_TBphrA3g{zWCRcqHthFk6veFrSeaN?VX{Fui~Jq0)U)RCYQ-?5bIF{gl1NbA`Ue zsFw*iiLwI8B>?b-5iy8ZW*I^^i@4z0hz;G+9Ta1xi1G4;M0vtBF*LH(UqmS?m8Z#l zmk3_4D{Vr+_y_ZcWkT#j8HDAN`CZo=OrWvk62>Dp%c`mq+hlR=G0$y6;*>A_9>Gt2 zdj`FpL+n9w4j2XzL&3PvPHAE%?nhS3rvTt7{T_%?t5LEUPRd_BTg1$S zZ(5csm#$RZ;8#V{(L##><+Rd0E*J$NY*;TOk^TWx9N^Fp^(c6@DeZu5IZV%?YzKG6 z%LxjafaN0s{;GnFpYR32T$I^Xqw%H4+)xD3)hEM-Nb@R2Z@X*JbK+0wKdGil7ek?e z5%)-ei39w5msyzAbxFdK@tzX!GyY5$4( zu|2=Ti3E;*$cE~&`AhuJzb_NGQf!6wWOH2jhJ+jwih)GG=*{GPG; zqRi36sN*lS9V6=y#PwW692)z%PHc|xRxTMha^P;lzf%l!`2j@2F92>NM>7fUunJ26 z##$geZax2IcvaUD7xy7_7ow>#xgJb{(EqlJ2+lh*+*T%YB^y={VBg!Z3(41@qc=*9}b{@&rFI zWg%Rw!yf`U`0E9V3R?_%E9{@>4!Z-yK+$bxmqA!PPeE2$;1q9sq3ea+rNOL1zIBo` zvSqv2K4MQtq1uH$@IfYTyg7vs z^j#dUQdumk{L9ku2J|+I1n+ej&gy%Xm|MR&%JJCSET+8V%RR4niET+kdii68Q!FZB7FHGdcI)!3<4&zkT+ zpAc0m^vV}Dl7rp*QC2I^H99J@@U1kU+unR@qDM*T%qAFF|O-3{YTaXlZb4^Z*mhB>qJ3 zB!9BcwK&h&JwvlB;)MQx3cJ#9D7>gYGtAgRRMsrn3TcKJV;x&&kTnXKXbRIvmaJKa z84_8O-58?bPqH*2ODHL8_9$CnWQiDsZ142peV+H*`{mqwf6qD3Irqc4&$-XN&-oE2 z(qoqbs8-ucbP0c0O9PCW9!p5RwUu9M!GlEAE!9}2c+vW4!uS!R<8dOWs`0Zt!>&}x zy{+-v)8V1tVx1l~h6E)g`|w#k2-jX4zDG^ovzT!`)iozE^;!5g>q7WvrP!o`X=Kg# zN$IW7&e`_cyw4T9o4OGwb=d41c1Uy^XOzHcAL`$zRaLl6Te5z~`?PjMM!F*^yN_An zebvZe%^%Z30tIKR-yHm*QIsneMXwd4EwF^gr{S0Te?DivK9L81p*z>j67Uzp& zUvjUt$wQ(~`U?YS*i!758H)faRoxnS+omaa=dRsZn~a>tYDG%$afQLL`+Qn^#*Uoei$-z-~PqL}>$Rd7em1qa{gteX2eQKU~jJeZ-b z5B074NO|jr|J_|?RJrOLklsO?TN`(Ks`#bW^j##E76upYC-eKv`IPN14O<6m9PRjN z5cN*#&qVAy%c(3a1aOkx9|1T8yCt%szXMOOX&_-)f))@NB2v|v8*1kf>MpISfmG#& zI!I$xrQy>5P+K3L02ZpQ$!e-<%MCU2#{2wR{_C;&Z)q%z)m1~QscWih85_e@kw{fl zBP~ssD#l0yhR{?+py3!bJ?Z~P6?I!l8zRwUlz@*vt#{Lfu24 z<+v%MgCdpl5|>r#hhEU{yvlb^=rD@2O(68xT(QCa=U((Bl9L&>xlpS0NwjsnnW?+j zo6oFY4B<_QfF{-vN!m6(1)qQH76^wjV$Yi2_bKyWOneBK&s(heaqgF{&)%G15{`oq zde^1eq$Q*F+OysDJ7Z7!rrcj{DyqM$ow$bdoG!w9O>9Z})8B93^*0GoNx3jE$-O+_ zG^pS)M)o2!4Jr_jQ9lV`1Dzg7(q{2~R&Y_$;3QW!ZGEknNGY9Q&m9~a>>s=fyh`UF z6eF;PdF$YU6r_>A2El}9pnqr;Kq34l+$ID?qX?FSQjZ|ABppw;Lu`{G2tNt$5Zh!n z!W7{mBFs?AiT{gP?!m0IlhhZk+_<)z^ho*~A|(n)H>4ZpnzXCZhY24D<#U=}G;^&6 z;|h$Mh>1u8J7Gj3GLDw=IYld}E-@&Z=G}3P9!6+HOm%FoL2BZHQfbFDQ|iE$`sR$J zVny)?g!{gnlX$Loyb(N>w&xecK>Kq2l+N{DL^LD@9rKdv6ZHjqaa!762Y()TFc?bc zC#?{&2HfU&VR1pHy!iV#dyALeoCER9DtsY|Ii2l8S6^ZAD_U;624@ZiJ$*IY%)3^o zIF~TZ?TFSPjbZ$GC($~OXyemt+k^Ai42Jgos311Wv>AZv7eOa@U!44=pVBydcCd)& zcJDkSoG#)e+y{8lTCDa$>fQYwPlJbb5?&mAPSs#bhN`_kB+MnQj^9hi5)$@?*OCat z=P$kuq66t(h~Ge+0jt8LPg@I31O0`ggCnsT#fl?;FGYs9pwo-61i#OlNJLI)&qDIz zPeSm3QEo#<@KX}sv!cL_n z<+m45jptm@+a7A;%$syBgkJ`HoH6GGYyWxIT~9@AT0YR5KeGsA)8jM%k3=0G0ii7GL8yx>(FOTBeP93d z{5^?61l}Otzhiu9_%a=m%m*ldyk7gF!lcbq=zD_t3c+-;GvjxpQOniC=UK8-W)Hke zEF>X~B&%xSfNYJO=ELVa0c`m7hl3IlMX#k!1O5)^4e;}kF3!RRy4Vc#zln&je`x3O z6+9Mw)0aCRa=Yys41{Ud@|8@Cz6S#;w1Z*b3nZdBPV71aKFi&}{UZ9Buf!z4UmC>3 z0VmlX;kYJ2J+sILHv2XuN4DU0l&{otG6#;WWA==Xp(JdU47g&z%W0@G4yt1vBK&pH zkZK78sKsd`dCO0kz}94_^8-LB_YC_u3+T0b8X14N(&WX}j!u>==O6z!ZNHxHl zgsx`yj&}DIp9Cu7PCbuqnw4zeA8Ti;2HuK#Wufxsom1Q^K2M1;?dO4xE7fB+EB_Cm z6YY|m7v&NU#zwissAl!sLWHskZ6U`0gfda>TKa+>vtMt>U|wC?wmGjCdn27JX0O6P zAJG^=lCFV;;8ln-4*CNe$Jzxb5roqE?Kq#~un=uefv-k#0kCzPvCM->a1Gb&j2q^3R9~OM27Egv{9(s8RGYtcwhXwSyy}l? zej5r=VjTRKx-&*n!6_5ii$bLSMuo1lAqN0;WJ=+wCmO58>mwme20UdT6~Ncty&avA zCh-73o8hEO9eo%KAR z*;xTpx-f02Aw<2Wc2?1F1D+cHsArkMz{K3`_v#c4hysA;{JIQ|Yrz?8$7mUQ%A~a) z!+o3Y17%{SK@Irn8Ha#r-s3(9wVX!yEp}^2Ud-zMG`-V;V9oT6ojq4 z&-RF?{7$UrbFAqAnus$FwyTzS+l_V6_qWED8>aV{H*M%Q1cAaiy!NVx_l4y#&y zu*Bu%L|87SC5ddit|r&$bgqeb&f#A+ZvW7&6_^X@Wf)9?eYL0gwflk&lKNL54N@=X z<6($SX7;OyaQ4$M7Q=@%Ws;u{Xe&4upo<&Z{=6(Npz4uQgY4XKRQ9w;epS#pnte4S z{O#&5_+NO0e9gmngYeF~_c0PqUMHd*J@2YymiG4RzZQ^_={ykmG$;C!M+{pdG!W__ z`JMBkYhp@Oo+Z(-^!S5p&JHHtArd1N68{Q@j}?dJs30oHXrix$%&nZnjg5qf$D4vL zx01Rr;h*mAmX-)S%64?~BfeWb6knDW5H+tQjIWAQNAF~wcI%K)w%e@xWG-tedh?^v zOX{dsH>YXm=`?{y&-+(}BMbTP4-%W*?(({K$ao^cFu}54ft;peZkf6&m7=Nni34tx z_*OY0eDiV5`U&DU6AYgk=y68KF0RSyjH#$-cW7_qLf3*IHSwCf>(h_j&EfO;+8=E& z1T~BPY>nEB_*UkH-;awDkGY%l>HSGS;8R)CMv|I5G~8I?eohToP=K1~=q7hw$LkMA z)$&PvMq-S6F+NZKY|;;RW2mdOg1AQ5Qm*#HE0|d|JTZgiriqaG#=2!*$<@Bg)DH7j zjghpPJ8>f%T?*@RyW8Lvqb#c>s@Nse>oOXUomQQ=@4jk?Zq%dYS?oy%_a4@nEqd%3 z@5yhsu?aEd&SEw8;^5luY`P`I;X&u8n3_Y3*dX=p`S3mGA&?E*vSH-}F~U#+8(oK_ zOBE5568!9Ur&C700>lh?#y$QpvPK8l>9g*Ns233sFM}(6k^7le9^fWJjUTX?3uVPT z)jX>GL2vJ;>}K2^sS#e~h%>0##Wsz!3%%0}2-K!e3M&hl; zA8wh9hVegVd-}L`BI7%&?az?Y>@Zd@951y3HMP3KXx&HWDo&WPF&(~+$eAhviDq1; zmqcuX>TLznY8^7X;YaO~6bnDwTWQ}zzT7$-w$_V1sJK$`)BkiJ;HSo`yrX{MK<*8* zS5WkoA(!gU`!_5`Dw59q)b-%`@6-M^YUu}uvAhJkNiUH|)uvaLM96t@N@yHuEy$yQ z4=*JwE-5ng_Z^l86a<BugjSa z4H|D9-kyG;uwk}7)We=St#S0MYS}$ccv5MUMCc_Isd_Z8+pieD--m`1EuA>;bG$%C zQ3|*A&1WuGjR9FTa2d&&aWs`O`j!1Ys;VxR%5Uz;)@{za&(+zeF*RC;MmE_2Fo6>k^zWqBO+})+vgWY&G`f~Be)dJ zI4=(2+B2Mf*TzcTlNA(-?Yh8&Z!O{TOQnZq$QRX9v~&tFD<nTgZS< z>FGkczjNtlU__7=_SaSv9S&$pzswUkZ6+%pAGy!~Ua!o;7zhfcRk!Bh!ry*JvfgGV ze3nmoZ3?E&b2~gspD44$tK45xq`XyAyD6GuEVTc3`&l2`s+Ew+PT#s27Nkj;tef5C zzclQZ4U_W}+Fy$+Nh8Za+}ZWKhss1T*WJ!+OF8|LAy)aQ$KK9p;SV&HNoXTkdp;D7 zDQaUr?QN%qW5g!TiR__Uz|=i`4`UX^;<;>YZW$Yd)32=P(D+M+eB5KJVA(e~{JCye z^CmCF$bfs9Ca_&4Er5;#R~;0Eni)q=foslnJ2oFSYClA`&tHb|oODM{i(KYlVp!(* z2j7XQ;2Wb2=aT`nIMQxm+s>^45|LsDy{rg(BT_euy<}&2g}XaN04Zc#sOi}rOuepI zq?lcv;FrAftq@^kcf94+ThdX^lTP0YTR>rzoi6hsx7f(4p#2=~1knoiqcRu#Ba&zd zuKQfJY=TzB$U%B&7p5qlbp2HCF>tz3jT$2@M?eY%2*5w81c@4eqJtnr!*63ZbGrQ^BTOIHF}zO zLaZU zUHJDa!Y1dj-;k`{LRxuwcsFYlpl+I8HNUzjW3aIxfI&5K2}LJl*GF{^)JNY5W)+QP z`60q(N|j0lhx`VyN4$m0_}yRp8aGiqXNhD_+K!-YIG5s^n3Fe*5};?^XQh5OH{Fmg z`9JVg`?98(@}?iH5=d2_6U?&bF<0!3l$47uDgIsL$gtgl@?XKe?c*EZD&t;0k}RXd zlv8Z3acSJkQg()DXIVKzI0e2j%3@EPSZHbdOWQumFXxNT3UY=>ajPP= 2.1.2 < 3" } }, "ignore-walk": { @@ -2195,7 +2196,7 @@ "dev": true, "optional": true, "requires": { - "minimatch": "3.0.4" + "minimatch": "^3.0.4" } }, "inflight": { @@ -2204,8 +2205,8 @@ "dev": true, "optional": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -2224,7 +2225,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "isarray": { @@ -2238,7 +2239,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -2251,8 +2252,8 @@ "bundled": true, "dev": true, "requires": { - "safe-buffer": "5.1.2", - "yallist": "3.0.3" + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" } }, "minizlib": { @@ -2261,7 +2262,7 @@ "dev": true, "optional": true, "requires": { - "minipass": "2.3.5" + "minipass": "^2.2.1" } }, "mkdirp": { @@ -2291,9 +2292,9 @@ "dev": true, "optional": true, "requires": { - "debug": "4.1.1", - "iconv-lite": "0.4.24", - "sax": "1.2.4" + "debug": "^4.1.0", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" } }, "node-pre-gyp": { @@ -2302,16 +2303,16 @@ "dev": true, "optional": true, "requires": { - "detect-libc": "1.0.3", - "mkdirp": "0.5.1", - "needle": "2.3.0", - "nopt": "4.0.1", - "npm-packlist": "1.4.1", - "npmlog": "4.1.2", - "rc": "1.2.8", - "rimraf": "2.6.3", - "semver": "5.7.0", - "tar": "4.4.8" + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" } }, "nopt": { @@ -2320,8 +2321,8 @@ "dev": true, "optional": true, "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.5" + "abbrev": "1", + "osenv": "^0.1.4" } }, "npm-bundled": { @@ -2336,8 +2337,8 @@ "dev": true, "optional": true, "requires": { - "ignore-walk": "3.0.1", - "npm-bundled": "1.0.6" + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" } }, "npmlog": { @@ -2346,10 +2347,10 @@ "dev": true, "optional": true, "requires": { - "are-we-there-yet": "1.1.5", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "number-is-nan": { @@ -2368,7 +2369,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-homedir": { @@ -2389,8 +2390,8 @@ "dev": true, "optional": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "path-is-absolute": { @@ -2411,10 +2412,10 @@ "dev": true, "optional": true, "requires": { - "deep-extend": "0.6.0", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -2431,13 +2432,13 @@ "dev": true, "optional": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "rimraf": { @@ -2446,7 +2447,7 @@ "dev": true, "optional": true, "requires": { - "glob": "7.1.3" + "glob": "^7.1.3" } }, "safe-buffer": { @@ -2489,9 +2490,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string_decoder": { @@ -2500,7 +2501,7 @@ "dev": true, "optional": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } }, "strip-ansi": { @@ -2508,7 +2509,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-json-comments": { @@ -2523,13 +2524,13 @@ "dev": true, "optional": true, "requires": { - "chownr": "1.1.1", - "fs-minipass": "1.2.5", - "minipass": "2.3.5", - "minizlib": "1.2.1", - "mkdirp": "0.5.1", - "safe-buffer": "5.1.2", - "yallist": "3.0.3" + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" } }, "util-deprecate": { @@ -2544,7 +2545,7 @@ "dev": true, "optional": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2 || 2" } }, "wrappy": { @@ -2565,14 +2566,14 @@ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" } }, "get-caller-file": { @@ -2599,7 +2600,7 @@ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "github-from-package": { @@ -2614,12 +2615,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-parent": { @@ -2628,8 +2629,8 @@ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, "requires": { - "is-glob": "3.1.0", - "path-dirname": "1.0.2" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" }, "dependencies": { "is-glob": { @@ -2638,7 +2639,7 @@ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.0" } } } @@ -2673,8 +2674,8 @@ "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "dev": true, "requires": { - "ajv": "6.6.1", - "har-schema": "2.0.0" + "ajv": "^6.5.5", + "har-schema": "^2.0.0" } }, "has-flag": { @@ -2695,9 +2696,9 @@ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, "has-values": { @@ -2706,8 +2707,8 @@ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "kind-of": { @@ -2716,7 +2717,7 @@ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -2727,8 +2728,8 @@ "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", "dev": true, "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.2" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "hash.js": { @@ -2737,8 +2738,8 @@ "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==", "dev": true, "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.1" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, "he": { @@ -2753,9 +2754,9 @@ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "dev": true, "requires": { - "hash.js": "1.1.5", - "minimalistic-assert": "1.0.1", - "minimalistic-crypto-utils": "1.0.1" + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, "http-signature": { @@ -2764,9 +2765,9 @@ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.15.2" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "https-browserify": { @@ -2793,8 +2794,8 @@ "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", "dev": true, "requires": { - "pkg-dir": "3.0.0", - "resolve-cwd": "2.0.0" + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" } }, "imurmurhash": { @@ -2815,8 +2816,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "info-symbol": { @@ -2855,7 +2856,7 @@ "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" }, "dependencies": { "kind-of": { @@ -2872,7 +2873,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "1.12.0" + "binary-extensions": "^1.0.0" } }, "is-buffer": { @@ -2887,7 +2888,7 @@ "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" }, "dependencies": { "kind-of": { @@ -2904,9 +2905,9 @@ "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" }, "dependencies": { "kind-of": { @@ -2935,7 +2936,7 @@ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-glob": { @@ -2944,7 +2945,7 @@ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "dev": true, "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.1" } }, "is-number": { @@ -2953,7 +2954,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-odd": { @@ -2962,7 +2963,7 @@ "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", "dev": true, "requires": { - "is-number": "4.0.0" + "is-number": "^4.0.0" }, "dependencies": { "is-number": { @@ -2979,7 +2980,7 @@ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "is-stream": { @@ -3029,8 +3030,8 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", "requires": { - "argparse": "1.0.10", - "esprima": "4.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "jsbn": { @@ -3081,7 +3082,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "koalas": { @@ -3096,7 +3097,7 @@ "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", "dev": true, "requires": { - "set-getter": "0.1.0" + "set-getter": "^0.1.0" } }, "lcid": { @@ -3105,7 +3106,7 @@ "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", "dev": true, "requires": { - "invert-kv": "2.0.0" + "invert-kv": "^2.0.0" } }, "loader-runner": { @@ -3120,9 +3121,9 @@ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", "dev": true, "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1" + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0" } }, "locate-path": { @@ -3131,8 +3132,8 @@ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "requires": { - "p-locate": "3.0.0", - "path-exists": "3.0.0" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" } }, "lodash.debounce": { @@ -3147,8 +3148,8 @@ "integrity": "sha1-vqPdNqzQuKckDXhza1uXxlREozQ=", "dev": true, "requires": { - "ansi-green": "0.1.1", - "success-symbol": "0.1.0" + "ansi-green": "^0.1.1", + "success-symbol": "^0.1.0" } }, "log-utils": { @@ -3157,13 +3158,13 @@ "integrity": "sha1-pMIXoN2aUFFdm5ICBgkas9TgMc8=", "dev": true, "requires": { - "ansi-colors": "0.2.0", - "error-symbol": "0.1.0", - "info-symbol": "0.1.0", - "log-ok": "0.1.1", - "success-symbol": "0.1.0", - "time-stamp": "1.1.0", - "warning-symbol": "0.1.0" + "ansi-colors": "^0.2.0", + "error-symbol": "^0.1.0", + "info-symbol": "^0.1.0", + "log-ok": "^0.1.1", + "success-symbol": "^0.1.0", + "time-stamp": "^1.0.1", + "warning-symbol": "^0.1.0" } }, "lru-cache": { @@ -3172,8 +3173,8 @@ "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "make-dir": { @@ -3182,7 +3183,7 @@ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "map-age-cleaner": { @@ -3191,7 +3192,7 @@ "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", "dev": true, "requires": { - "p-defer": "1.0.0" + "p-defer": "^1.0.0" } }, "map-cache": { @@ -3206,7 +3207,7 @@ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, "md5.js": { @@ -3215,9 +3216,9 @@ "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, "requires": { - "hash-base": "3.0.4", - "inherits": "2.0.3", - "safe-buffer": "5.1.2" + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, "mem": { @@ -3226,9 +3227,9 @@ "integrity": "sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA==", "dev": true, "requires": { - "map-age-cleaner": "0.1.3", - "mimic-fn": "1.2.0", - "p-is-promise": "1.1.0" + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^1.0.0", + "p-is-promise": "^1.1.0" } }, "memory-fs": { @@ -3237,8 +3238,8 @@ "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", "dev": true, "requires": { - "errno": "0.1.7", - "readable-stream": "2.3.6" + "errno": "^0.1.3", + "readable-stream": "^2.0.1" } }, "micromatch": { @@ -3247,19 +3248,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" }, "dependencies": { "define-property": { @@ -3268,8 +3269,8 @@ "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", "dev": true, "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" } }, "extend-shallow": { @@ -3278,8 +3279,8 @@ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" } }, "is-extendable": { @@ -3288,7 +3289,7 @@ "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } }, "kind-of": { @@ -3305,8 +3306,8 @@ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0" + "bn.js": "^4.0.0", + "brorand": "^1.0.1" } }, "mime-db": { @@ -3321,7 +3322,7 @@ "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "dev": true, "requires": { - "mime-db": "1.37.0" + "mime-db": "~1.37.0" } }, "mimic-fn": { @@ -3354,7 +3355,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -3369,16 +3370,16 @@ "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "dev": true, "requires": { - "concat-stream": "1.6.2", - "duplexify": "3.6.1", - "end-of-stream": "1.4.1", - "flush-write-stream": "1.0.3", - "from2": "2.3.0", - "parallel-transform": "1.1.0", - "pump": "3.0.0", - "pumpify": "1.5.1", - "stream-each": "1.2.3", - "through2": "2.0.3" + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" }, "dependencies": { "pump": { @@ -3387,8 +3388,8 @@ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } } } @@ -3399,8 +3400,8 @@ "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -3409,7 +3410,7 @@ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -3420,8 +3421,8 @@ "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", "dev": true, "requires": { - "for-in": "0.1.8", - "is-extendable": "0.1.1" + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" }, "dependencies": { "for-in": { @@ -3489,12 +3490,12 @@ "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", "dev": true, "requires": { - "aproba": "1.2.0", - "copy-concurrently": "1.0.5", - "fs-write-stream-atomic": "1.0.10", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "run-queue": "1.0.3" + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" } }, "ms": { @@ -3521,18 +3522,18 @@ "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "fragment-cache": "0.2.1", - "is-odd": "2.0.0", - "is-windows": "1.0.2", - "kind-of": "6.0.2", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-odd": "^2.0.0", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -3541,8 +3542,8 @@ "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", "dev": true, "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" } }, "extend-shallow": { @@ -3551,8 +3552,8 @@ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" } }, "is-extendable": { @@ -3561,7 +3562,7 @@ "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } }, "kind-of": { @@ -3590,7 +3591,7 @@ "integrity": "sha512-pUlswqpHQ7zGPI9lGjZ4XDNIEUDbHxsltfIRb7dTnYdhgHWHOcB0MLZKLoCz6UMcGzSPG5wGl1HODZVQAUsH6w==", "dev": true, "requires": { - "semver": "5.5.0" + "semver": "^5.4.1" } }, "node-int64": { @@ -3604,28 +3605,28 @@ "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", "dev": true, "requires": { - "assert": "1.4.1", - "browserify-zlib": "0.2.0", - "buffer": "4.9.1", - "console-browserify": "1.1.0", - "constants-browserify": "1.0.0", - "crypto-browserify": "3.12.0", - "domain-browser": "1.2.0", - "events": "1.1.1", - "https-browserify": "1.0.0", - "os-browserify": "0.3.0", + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^1.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", "path-browserify": "0.0.0", - "process": "0.11.10", - "punycode": "1.4.1", - "querystring-es3": "0.2.1", - "readable-stream": "2.3.6", - "stream-browserify": "2.0.1", - "stream-http": "2.8.3", - "string_decoder": "1.1.1", - "timers-browserify": "2.0.10", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", "tty-browserify": "0.0.0", - "url": "0.11.0", - "util": "0.10.4", + "url": "^0.11.0", + "util": "^0.10.3", "vm-browserify": "0.0.4" } }, @@ -3641,7 +3642,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "npm-run-path": { @@ -3650,7 +3651,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "npmlog": { @@ -3659,10 +3660,10 @@ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "number-is-nan": { @@ -3689,9 +3690,9 @@ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { @@ -3700,7 +3701,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "is-accessor-descriptor": { @@ -3709,7 +3710,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-data-descriptor": { @@ -3718,7 +3719,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-descriptor": { @@ -3727,9 +3728,9 @@ "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { @@ -3748,7 +3749,7 @@ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" } }, "object.pick": { @@ -3757,7 +3758,7 @@ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "once": { @@ -3766,7 +3767,7 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-browserify": { @@ -3787,9 +3788,9 @@ "integrity": "sha512-7g5e7dmXPtzcP4bgsZ8ixDVqA7oWYuEz4lOSujeWyliPai4gfVDiFIcwBg3aGCPnmSGfzOKTK3ccPn0CKv3DBw==", "dev": true, "requires": { - "execa": "0.10.0", - "lcid": "2.0.0", - "mem": "4.0.0" + "execa": "^0.10.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" } }, "p-defer": { @@ -3816,7 +3817,7 @@ "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", "dev": true, "requires": { - "p-try": "2.0.0" + "p-try": "^2.0.0" } }, "p-locate": { @@ -3825,7 +3826,7 @@ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { - "p-limit": "2.0.0" + "p-limit": "^2.0.0" } }, "p-try": { @@ -3846,9 +3847,9 @@ "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", "dev": true, "requires": { - "cyclist": "0.2.2", - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "cyclist": "~0.2.2", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" } }, "parse-asn1": { @@ -3857,11 +3858,11 @@ "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", "dev": true, "requires": { - "asn1.js": "4.10.1", - "browserify-aes": "1.2.0", - "create-hash": "1.2.0", - "evp_bytestokey": "1.0.3", - "pbkdf2": "3.0.17" + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3" } }, "parser-byte-length": { @@ -3870,7 +3871,7 @@ "integrity": "sha512-RaI2vekkZ0iZiORVFQdvOXx7szbYaGlkXUUh+qjuJpkDhD/GgoG3OmC51/Rob/Ogjy9l4S+8Tey+xiH0ol14XA==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.1.1" } }, "parser-cctalk": { @@ -3879,7 +3880,7 @@ "integrity": "sha512-Q/9Zz4rSQLiZyxOsVYDlkny3+dh/xxv7sYdrPQdaFprRXImzjB2vpBZZqUQZpBWn+5PX9mnCVn23o22ClNHKSQ==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.1.1" } }, "parser-delimiter": { @@ -3888,7 +3889,7 @@ "integrity": "sha512-w7XmCahMtT4GUIgxbfyXgrhRfrxfo4ftg7zFJGb4G3Fp1ZqMvC/3gXm7W0N1/NaYlcoNv2nL4nIXFNbh+gcjBw==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.1.1" } }, "parser-readline": { @@ -3897,8 +3898,8 @@ "integrity": "sha512-JYA2+Kg5IBgruq5ogeMnuh3AjVp5RIJht5/K1KQsdS25OFU+Sx+BvBOBhlEhsU3Uw3IwxuhXgrYb/QwZgJNARA==", "dev": true, "requires": { - "parser-delimiter": "1.0.2", - "safe-buffer": "5.1.2" + "parser-delimiter": "^1.0.2", + "safe-buffer": "^5.1.1" } }, "parser-ready": { @@ -3907,7 +3908,7 @@ "integrity": "sha512-u76Ai1y+kNSVByGEvOPZac8VFqn9+D6tZDZmOfwGDX1DhNe8T9ZX/FzO3qrESsynuqSRV8WBCPnUvKrGkfoi0Q==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.1.1" } }, "parser-regex": { @@ -3916,7 +3917,7 @@ "integrity": "sha512-SXSANkKVQfsDQTsZoHtfjbcHI3CPxHjUbHdSgAejbrfbvCBAx2pNvUV4JnDm2jge9UViFNERzj+MBt5yh6ocdQ==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.1.1" } }, "pascalcase": { @@ -3961,11 +3962,11 @@ "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", "dev": true, "requires": { - "create-hash": "1.2.0", - "create-hmac": "1.1.7", - "ripemd160": "2.0.2", - "safe-buffer": "5.1.2", - "sha.js": "2.4.11" + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, "performance-now": { @@ -3986,7 +3987,7 @@ "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, "requires": { - "find-up": "3.0.0" + "find-up": "^3.0.0" } }, "platform": { @@ -4013,21 +4014,21 @@ "integrity": "sha512-/rI36cN2g7vDQnKWN8Uzupi++KjyqS9iS+/fpwG4Ea8d0Pip0PQ5bshUNzVwt+/D2MRfhVAplYMMvWLqWrCF/g==", "dev": true, "requires": { - "detect-libc": "1.0.3", - "expand-template": "1.1.1", + "detect-libc": "^1.0.3", + "expand-template": "^1.0.2", "github-from-package": "0.0.0", - "minimist": "1.2.0", - "mkdirp": "0.5.1", - "node-abi": "2.4.1", - "noop-logger": "0.1.1", - "npmlog": "4.1.2", - "os-homedir": "1.0.2", - "pump": "2.0.1", - "rc": "1.2.7", - "simple-get": "2.8.1", - "tar-fs": "1.16.2", - "tunnel-agent": "0.6.0", - "which-pm-runs": "1.0.0" + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "node-abi": "^2.2.0", + "noop-logger": "^0.1.1", + "npmlog": "^4.0.1", + "os-homedir": "^1.0.1", + "pump": "^2.0.1", + "rc": "^1.1.6", + "simple-get": "^2.7.0", + "tar-fs": "^1.13.0", + "tunnel-agent": "^0.6.0", + "which-pm-runs": "^1.0.0" }, "dependencies": { "minimist": { @@ -4068,7 +4069,7 @@ "integrity": "sha512-dhz2Fl7vK+LPpmnQ/S/eSut4BnH4NZDLyddHKi5uTU/2PDn3grEMGkgsll16V5RpVUh/yxdiam0xsM0RD4xvtg==", "dev": true, "requires": { - "debug": "2.6.9" + "debug": "^2.6.8" }, "dependencies": { "debug": { @@ -4094,15 +4095,15 @@ "integrity": "sha512-svGzgLUKZoqomz9SGMkf1hBG8Wl3K7JGuRCXc/Pv7xw8239hhaTBXrmjt7EXA9P/QZzdyT8uNWt9F/iJTXq75g==", "dev": true, "requires": { - "component-emitter": "1.2.1", - "debug": "3.1.0", - "koalas": "1.0.2", - "log-utils": "0.2.1", - "prompt-actions": "3.0.2", - "prompt-question": "5.0.2", - "readline-ui": "2.2.3", - "readline-utils": "2.2.3", - "static-extend": "0.1.2" + "component-emitter": "^1.2.1", + "debug": "^3.0.1", + "koalas": "^1.0.2", + "log-utils": "^0.2.1", + "prompt-actions": "^3.0.2", + "prompt-question": "^5.0.1", + "readline-ui": "^2.2.3", + "readline-utils": "^2.2.3", + "static-extend": "^0.1.2" }, "dependencies": { "debug": { @@ -4128,9 +4129,9 @@ "integrity": "sha512-T/QWgkdUmKjRSr0FQlV8O+LfgmBk8PwDbWhzllm7mwWNAjs3qOVuru5Y1gV4/14L73zCncqcuwGwvnDyVcVgvA==", "dev": true, "requires": { - "ansi-cyan": "0.1.1", - "debug": "2.6.9", - "prompt-base": "4.1.0" + "ansi-cyan": "^0.1.1", + "debug": "^2.6.8", + "prompt-base": "^4.0.2" }, "dependencies": { "debug": { @@ -4156,25 +4157,25 @@ "integrity": "sha512-JfXujJo79TKG6KUHE+1S4tYLUEMRLM/mW9Bz49qrGKxVpnBGsQSv9lPiLKZgHtGEzXH7nG2kfMvWBEaKQs+JkQ==", "dev": true, "requires": { - "arr-flatten": "1.1.0", - "arr-swap": "1.0.1", - "choices-separator": "2.0.0", - "clone-deep": "1.0.0", - "collection-visit": "1.0.0", - "debug": "3.1.0", - "define-property": "1.0.0", - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "kind-of": "5.1.0", - "koalas": "1.0.2", - "lazy-cache": "2.0.2", - "log-utils": "0.2.1", - "pointer-symbol": "1.0.0", - "radio-symbol": "2.0.0", - "set-value": "2.0.1", - "strip-color": "0.1.0", - "terminal-paginator": "2.0.2", - "toggle-array": "1.0.1" + "arr-flatten": "^1.1.0", + "arr-swap": "^1.0.1", + "choices-separator": "^2.0.0", + "clone-deep": "^1.0.0", + "collection-visit": "^1.0.0", + "debug": "^3.0.1", + "define-property": "^1.0.0", + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "kind-of": "^5.0.2", + "koalas": "^1.0.2", + "lazy-cache": "^2.0.2", + "log-utils": "^0.2.1", + "pointer-symbol": "^1.0.0", + "radio-symbol": "^2.0.0", + "set-value": "^2.0.0", + "strip-color": "^0.1.0", + "terminal-paginator": "^2.0.2", + "toggle-array": "^1.0.1" }, "dependencies": { "debug": { @@ -4206,10 +4207,10 @@ "integrity": "sha512-5ezD3usudKMQVpMFLV5R0RTpUF0T+VRvQvmQyDz8Rpz274lKwabZO4ozTR8tq2X4HuovqZb3kGqFZmJeXjAyDw==", "dev": true, "requires": { - "ansi-cyan": "0.1.1", - "ansi-dim": "0.1.1", - "debug": "3.1.0", - "prompt-radio": "1.2.1" + "ansi-cyan": "^0.1.1", + "ansi-dim": "^0.1.1", + "debug": "^3.1.0", + "prompt-radio": "^1.2.1" }, "dependencies": { "debug": { @@ -4235,13 +4236,13 @@ "integrity": "sha512-wreaLbbu8f5+7zXds199uiT11Ojp59Z4iBi6hONlSLtsKGTvL2UY8VglcxQ3t/X4qWIxsNCg6aT4O8keO65v6Q==", "dev": true, "requires": { - "clone-deep": "1.0.0", - "debug": "3.1.0", - "define-property": "1.0.0", - "isobject": "3.0.1", - "kind-of": "5.1.0", - "koalas": "1.0.2", - "prompt-choices": "4.0.6" + "clone-deep": "^1.0.0", + "debug": "^3.0.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "kind-of": "^5.0.2", + "koalas": "^1.0.2", + "prompt-choices": "^4.0.5" }, "dependencies": { "debug": { @@ -4273,8 +4274,8 @@ "integrity": "sha512-vH1iAkgbWyvZBC1BTajydiHmwJP4F1b684gq0fm2wOjPVW1zaDo01OXWr/Dske0XdoHhtZFNMOXNj/ZUSRBywg==", "dev": true, "requires": { - "debug": "2.6.9", - "prompt-checkbox": "2.2.0" + "debug": "^2.6.8", + "prompt-checkbox": "^2.2.0" }, "dependencies": { "debug": { @@ -4318,12 +4319,12 @@ "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.2.0", - "parse-asn1": "5.1.1", - "randombytes": "2.0.6", - "safe-buffer": "5.1.2" + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" } }, "pump": { @@ -4332,8 +4333,8 @@ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, "pumpify": { @@ -4342,9 +4343,9 @@ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { - "duplexify": "3.6.1", - "inherits": "2.0.3", - "pump": "2.0.1" + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" } }, "punycode": { @@ -4377,9 +4378,9 @@ "integrity": "sha1-eqm/xQSFY21S3XbWqOYxspB5muE=", "dev": true, "requires": { - "ansi-gray": "0.1.1", - "ansi-green": "0.1.1", - "is-windows": "1.0.2" + "ansi-gray": "^0.1.1", + "ansi-green": "^0.1.1", + "is-windows": "^1.0.1" } }, "randombytes": { @@ -4388,7 +4389,7 @@ "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.1.0" } }, "randomfill": { @@ -4397,8 +4398,8 @@ "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, "requires": { - "randombytes": "2.0.6", - "safe-buffer": "5.1.2" + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" } }, "rc": { @@ -4407,10 +4408,10 @@ "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", "dev": true, "requires": { - "deep-extend": "0.5.1", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -4427,13 +4428,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "readdirp": { @@ -4442,9 +4443,9 @@ "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "micromatch": "3.1.10", - "readable-stream": "2.3.6" + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" } }, "readline-ui": { @@ -4453,10 +4454,10 @@ "integrity": "sha512-ix7jz0PxqQqcIuq3yQTHv1TOhlD2IHO74aNO+lSuXsRYm1d+pdyup1yF3zKyLK1wWZrVNGjkzw5tUegO2IDy+A==", "dev": true, "requires": { - "component-emitter": "1.2.1", - "debug": "2.6.9", - "readline-utils": "2.2.3", - "string-width": "2.1.1" + "component-emitter": "^1.2.1", + "debug": "^2.6.8", + "readline-utils": "^2.2.1", + "string-width": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -4492,8 +4493,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -4502,7 +4503,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -4513,15 +4514,15 @@ "integrity": "sha1-b4R9a48ZFcORtYHDZ81HhzhiNRo=", "dev": true, "requires": { - "arr-flatten": "1.1.0", - "extend-shallow": "2.0.1", - "is-buffer": "1.1.6", - "is-number": "3.0.0", - "is-windows": "1.0.2", - "koalas": "1.0.2", + "arr-flatten": "^1.1.0", + "extend-shallow": "^2.0.1", + "is-buffer": "^1.1.5", + "is-number": "^3.0.0", + "is-windows": "^1.0.1", + "koalas": "^1.0.2", "mute-stream": "0.0.7", - "strip-color": "0.1.0", - "window-size": "1.1.0" + "strip-color": "^0.1.0", + "window-size": "^1.1.0" } }, "regex-not": { @@ -4530,8 +4531,8 @@ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" }, "dependencies": { "extend-shallow": { @@ -4540,8 +4541,8 @@ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" } }, "is-extendable": { @@ -4550,7 +4551,7 @@ "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -4579,26 +4580,26 @@ "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "dev": true, "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.8.0", - "caseless": "0.12.0", - "combined-stream": "1.0.7", - "extend": "3.0.2", - "forever-agent": "0.6.1", - "form-data": "2.3.3", - "har-validator": "5.1.3", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.21", - "oauth-sign": "0.9.0", - "performance-now": "2.1.0", - "qs": "6.5.2", - "safe-buffer": "5.1.2", - "tough-cookie": "2.4.3", - "tunnel-agent": "0.6.0", - "uuid": "3.3.2" + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" } }, "require-directory": { @@ -4619,7 +4620,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "3.0.0" + "resolve-from": "^3.0.0" } }, "resolve-from": { @@ -4646,7 +4647,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" }, "dependencies": { "glob": { @@ -4655,12 +4656,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "minimatch": { @@ -4669,7 +4670,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } } } @@ -4680,8 +4681,8 @@ "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, "requires": { - "hash-base": "3.0.4", - "inherits": "2.0.3" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, "run-queue": { @@ -4690,7 +4691,7 @@ "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", "dev": true, "requires": { - "aproba": "1.2.0" + "aproba": "^1.1.1" } }, "safe-buffer": { @@ -4705,7 +4706,7 @@ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { - "ret": "0.1.15" + "ret": "~0.1.10" } }, "safer-buffer": { @@ -4720,8 +4721,8 @@ "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", "dev": true, "requires": { - "ajv": "6.6.1", - "ajv-keywords": "3.2.0" + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" } }, "semver": { @@ -4743,19 +4744,19 @@ "dev": true, "requires": { "bindings": "1.3.0", - "commander": "2.15.1", - "debug": "3.1.0", - "nan": "2.10.0", - "parser-byte-length": "1.0.2", - "parser-cctalk": "1.0.2", - "parser-delimiter": "1.0.2", - "parser-readline": "1.0.2", - "parser-ready": "1.0.2", - "parser-regex": "1.0.2", - "prebuild-install": "2.5.3", - "promirepl": "1.0.1", - "prompt-list": "3.1.2", - "safe-buffer": "5.1.2" + "commander": "^2.13.0", + "debug": "^3.1.0", + "nan": "^2.9.2", + "parser-byte-length": "^1.0.2", + "parser-cctalk": "^1.0.2", + "parser-delimiter": "^1.0.2", + "parser-readline": "^1.0.2", + "parser-ready": "^1.0.2", + "parser-regex": "^1.0.2", + "prebuild-install": "^2.4.1", + "promirepl": "^1.0.1", + "prompt-list": "^3.1.2", + "safe-buffer": "^5.0.1" }, "dependencies": { "commander": { @@ -4793,7 +4794,7 @@ "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=", "dev": true, "requires": { - "to-object-path": "0.3.0" + "to-object-path": "^0.3.0" } }, "set-value": { @@ -4802,10 +4803,10 @@ "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" } }, "setimmediate": { @@ -4820,8 +4821,8 @@ "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.2" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "shallow-clone": { @@ -4830,9 +4831,9 @@ "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", "dev": true, "requires": { - "is-extendable": "0.1.1", - "kind-of": "5.1.0", - "mixin-object": "2.0.1" + "is-extendable": "^0.1.1", + "kind-of": "^5.0.0", + "mixin-object": "^2.0.1" }, "dependencies": { "kind-of": { @@ -4849,7 +4850,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -4876,9 +4877,9 @@ "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", "dev": true, "requires": { - "decompress-response": "3.3.0", - "once": "1.4.0", - "simple-concat": "1.0.0" + "decompress-response": "^3.3.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" } }, "snapdragon": { @@ -4887,14 +4888,14 @@ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.2", - "use": "3.1.0" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "dependencies": { "define-property": { @@ -4903,7 +4904,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "is-accessor-descriptor": { @@ -4912,7 +4913,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -4921,7 +4922,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -4932,7 +4933,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -4941,7 +4942,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -4952,9 +4953,9 @@ "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, "kind-of": { @@ -4971,9 +4972,9 @@ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" } }, "snapdragon-util": { @@ -4982,7 +4983,7 @@ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" } }, "source-list-map": { @@ -5003,11 +5004,11 @@ "integrity": "sha1-cuLMNAlVQ+Q7LGKyxMENSpBU8lk=", "dev": true, "requires": { - "atob": "2.1.1", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, "source-map-url": { @@ -5022,7 +5023,7 @@ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" }, "dependencies": { "extend-shallow": { @@ -5031,8 +5032,8 @@ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" } }, "is-extendable": { @@ -5041,7 +5042,7 @@ "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -5057,15 +5058,15 @@ "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==", "dev": true, "requires": { - "asn1": "0.2.4", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.2", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.2", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "safer-buffer": "2.1.2", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" } }, "ssri": { @@ -5074,7 +5075,7 @@ "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", "dev": true, "requires": { - "figgy-pudding": "3.5.1" + "figgy-pudding": "^3.5.1" } }, "static-extend": { @@ -5083,8 +5084,8 @@ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { @@ -5093,7 +5094,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "is-accessor-descriptor": { @@ -5102,7 +5103,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -5111,7 +5112,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -5122,7 +5123,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -5131,7 +5132,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -5142,9 +5143,9 @@ "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, "kind-of": { @@ -5161,8 +5162,8 @@ "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" } }, "stream-each": { @@ -5171,8 +5172,8 @@ "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "stream-shift": "1.0.0" + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" } }, "stream-http": { @@ -5181,11 +5182,11 @@ "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, "requires": { - "builtin-status-codes": "3.0.0", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "to-arraybuffer": "1.0.1", - "xtend": "4.0.1" + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" } }, "stream-shift": { @@ -5200,9 +5201,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string_decoder": { @@ -5211,7 +5212,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } }, "strip-ansi": { @@ -5220,7 +5221,7 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-color": { @@ -5253,7 +5254,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "tapable": { @@ -5268,10 +5269,10 @@ "integrity": "sha512-LdknWjPEiZC1nOBwhv0JBzfJBGPJar08dZg2rwZe0ZTLQoRGEzgrl7vF3qUEkCHpI/wN9e7RyCuDhMsJUCLPPQ==", "dev": true, "requires": { - "chownr": "1.0.1", - "mkdirp": "0.5.1", - "pump": "1.0.3", - "tar-stream": "1.6.1" + "chownr": "^1.0.1", + "mkdirp": "^0.5.1", + "pump": "^1.0.0", + "tar-stream": "^1.1.2" }, "dependencies": { "pump": { @@ -5280,8 +5281,8 @@ "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } } } @@ -5292,13 +5293,13 @@ "integrity": "sha512-IFLM5wp3QrJODQFPm6/to3LJZrONdBY/otxcvDIQzu217zKye6yVR3hhi9lAjrC2Z+m/j5oDxMPb1qcd8cIvpA==", "dev": true, "requires": { - "bl": "1.2.2", - "buffer-alloc": "1.1.0", - "end-of-stream": "1.4.1", - "fs-constants": "1.0.0", - "readable-stream": "2.3.6", - "to-buffer": "1.1.1", - "xtend": "4.0.1" + "bl": "^1.0.0", + "buffer-alloc": "^1.1.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.0", + "xtend": "^4.0.0" } }, "terminal-paginator": { @@ -5307,9 +5308,9 @@ "integrity": "sha512-IZMT5ECF9p4s+sNCV8uvZSW9E1+9zy9Ji9xz2oee8Jfo7hUFpauyjxkhfRcIH6Lu3Wdepv5D1kVRc8Hx74/LfQ==", "dev": true, "requires": { - "debug": "2.6.9", - "extend-shallow": "2.0.1", - "log-utils": "0.2.1" + "debug": "^2.6.6", + "extend-shallow": "^2.0.1", + "log-utils": "^0.2.1" }, "dependencies": { "debug": { @@ -5335,9 +5336,9 @@ "integrity": "sha512-3ODPC1eVt25EVNb04s/PkHxOmzKBQUF6bwwuR6h2DbEF8/j265Y1UkwNtOk9am/pRxfJ5HPapOlUlO6c16mKQQ==", "dev": true, "requires": { - "commander": "2.17.1", - "source-map": "0.6.1", - "source-map-support": "0.5.9" + "commander": "~2.17.1", + "source-map": "~0.6.1", + "source-map-support": "~0.5.6" }, "dependencies": { "commander": { @@ -5358,8 +5359,8 @@ "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", "dev": true, "requires": { - "buffer-from": "1.1.1", - "source-map": "0.6.1" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } } } @@ -5370,14 +5371,14 @@ "integrity": "sha512-61lV0DSxMAZ8AyZG7/A4a3UPlrbOBo8NIQ4tJzLPAdGOQ+yoNC7l5ijEow27lBAL2humer01KLS6bGIMYQxKoA==", "dev": true, "requires": { - "cacache": "11.3.1", - "find-cache-dir": "2.0.0", - "schema-utils": "1.0.0", - "serialize-javascript": "1.5.0", - "source-map": "0.6.1", - "terser": "3.10.12", - "webpack-sources": "1.3.0", - "worker-farm": "1.6.0" + "cacache": "^11.0.2", + "find-cache-dir": "^2.0.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^1.4.0", + "source-map": "^0.6.1", + "terser": "^3.8.1", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" }, "dependencies": { "schema-utils": { @@ -5386,9 +5387,9 @@ "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, "requires": { - "ajv": "6.6.1", - "ajv-errors": "1.0.0", - "ajv-keywords": "3.2.0" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" } }, "source-map": { @@ -5405,8 +5406,8 @@ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "dev": true, "requires": { - "readable-stream": "2.3.6", - "xtend": "4.0.1" + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" } }, "time-stamp": { @@ -5421,7 +5422,7 @@ "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", "dev": true, "requires": { - "setimmediate": "1.0.5" + "setimmediate": "^1.0.4" } }, "to-arraybuffer": { @@ -5442,7 +5443,7 @@ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "to-regex": { @@ -5451,10 +5452,10 @@ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" }, "dependencies": { "define-property": { @@ -5463,8 +5464,8 @@ "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", "dev": true, "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" } }, "extend-shallow": { @@ -5473,8 +5474,8 @@ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" } }, "is-extendable": { @@ -5483,7 +5484,7 @@ "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -5494,8 +5495,8 @@ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" } }, "toggle-array": { @@ -5504,7 +5505,7 @@ "integrity": "sha1-y/WEB5K9UJfzMReugkyTKv/ofVg=", "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" } }, "tough-cookie": { @@ -5513,8 +5514,8 @@ "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "dev": true, "requires": { - "psl": "1.1.29", - "punycode": "1.4.1" + "psl": "^1.1.24", + "punycode": "^1.4.1" } }, "tslib": { @@ -5535,7 +5536,7 @@ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -5556,10 +5557,10 @@ "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "2.0.1" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" } }, "unique-filename": { @@ -5568,7 +5569,7 @@ "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "dev": true, "requires": { - "unique-slug": "2.0.1" + "unique-slug": "^2.0.0" } }, "unique-slug": { @@ -5577,7 +5578,7 @@ "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==", "dev": true, "requires": { - "imurmurhash": "0.1.4" + "imurmurhash": "^0.1.4" } }, "unset-value": { @@ -5586,8 +5587,8 @@ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { @@ -5596,9 +5597,9 @@ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { @@ -5656,7 +5657,7 @@ "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.2" }, "dependencies": { "kind-of": { @@ -5700,9 +5701,9 @@ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" } }, "vm-browserify": { @@ -5726,9 +5727,9 @@ "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", "dev": true, "requires": { - "chokidar": "2.0.4", - "graceful-fs": "4.1.11", - "neo-async": "2.5.1" + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" } }, "webpack": { @@ -5741,26 +5742,26 @@ "@webassemblyjs/helper-module-context": "1.7.11", "@webassemblyjs/wasm-edit": "1.7.11", "@webassemblyjs/wasm-parser": "1.7.11", - "acorn": "5.7.3", - "acorn-dynamic-import": "3.0.0", - "ajv": "6.6.1", - "ajv-keywords": "3.2.0", - "chrome-trace-event": "1.0.0", - "enhanced-resolve": "4.1.0", - "eslint-scope": "4.0.0", - "json-parse-better-errors": "1.0.2", - "loader-runner": "2.3.1", - "loader-utils": "1.1.0", - "memory-fs": "0.4.1", - "micromatch": "3.1.10", - "mkdirp": "0.5.1", - "neo-async": "2.5.1", - "node-libs-browser": "2.1.0", - "schema-utils": "0.4.7", - "tapable": "1.1.1", - "terser-webpack-plugin": "1.1.0", - "watchpack": "1.6.0", - "webpack-sources": "1.3.0" + "acorn": "^5.6.2", + "acorn-dynamic-import": "^3.0.0", + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0", + "chrome-trace-event": "^1.0.0", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.0", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.3.0", + "loader-utils": "^1.1.0", + "memory-fs": "~0.4.1", + "micromatch": "^3.1.8", + "mkdirp": "~0.5.0", + "neo-async": "^2.5.0", + "node-libs-browser": "^2.0.0", + "schema-utils": "^0.4.4", + "tapable": "^1.1.0", + "terser-webpack-plugin": "^1.1.0", + "watchpack": "^1.5.0", + "webpack-sources": "^1.3.0" }, "dependencies": { "enhanced-resolve": { @@ -5769,9 +5770,9 @@ "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "memory-fs": "0.4.1", - "tapable": "1.1.1" + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" } }, "tapable": { @@ -5788,16 +5789,16 @@ "integrity": "sha512-Cnqo7CeqeSvC6PTdts+dywNi5CRlIPbLx1AoUPK2T6vC1YAugMG3IOoO9DmEscd+Dghw7uRlnzV1KwOe5IrtgQ==", "dev": true, "requires": { - "chalk": "2.4.1", - "cross-spawn": "6.0.5", - "enhanced-resolve": "4.1.0", - "global-modules-path": "2.3.0", - "import-local": "2.0.0", - "interpret": "1.1.0", - "loader-utils": "1.1.0", - "supports-color": "5.5.0", - "v8-compile-cache": "2.0.2", - "yargs": "12.0.5" + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "enhanced-resolve": "^4.1.0", + "global-modules-path": "^2.3.0", + "import-local": "^2.0.0", + "interpret": "^1.1.0", + "loader-utils": "^1.1.0", + "supports-color": "^5.5.0", + "v8-compile-cache": "^2.0.2", + "yargs": "^12.0.2" }, "dependencies": { "supports-color": { @@ -5806,7 +5807,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -5817,8 +5818,8 @@ "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", "dev": true, "requires": { - "source-list-map": "2.0.1", - "source-map": "0.6.1" + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" }, "dependencies": { "source-map": { @@ -5835,7 +5836,7 @@ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -5856,7 +5857,7 @@ "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "dev": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2" } }, "window-size": { @@ -5865,8 +5866,8 @@ "integrity": "sha1-O0AtMkTzVWHbLJdhrZ0eUoawei0=", "dev": true, "requires": { - "define-property": "1.0.0", - "is-number": "3.0.0" + "define-property": "^1.0.0", + "is-number": "^3.0.0" } }, "worker-farm": { @@ -5875,7 +5876,7 @@ "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", "dev": true, "requires": { - "errno": "0.1.7" + "errno": "~0.1.7" } }, "wrap-ansi": { @@ -5884,8 +5885,8 @@ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" } }, "wrappy": { @@ -5918,18 +5919,18 @@ "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", "dev": true, "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "3.0.0", - "get-caller-file": "1.0.3", - "os-locale": "3.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "4.0.0", - "yargs-parser": "11.1.1" + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" }, "dependencies": { "ansi-regex": { @@ -5950,8 +5951,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -5960,7 +5961,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -5971,8 +5972,8 @@ "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", "dev": true, "requires": { - "camelcase": "5.0.0", - "decamelize": "1.2.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } } }