From d58fa18b55bcb593dde643b2aff61c3add96fbe7 Mon Sep 17 00:00:00 2001 From: f4exb Date: Fri, 1 Nov 2019 19:45:36 +0100 Subject: [PATCH] Updated documentation changelogs and version --- CHANGELOG | 10 ++++++ CMakeLists.txt | 2 +- debian/changelog | 10 ++++++ doc/img/TestSink.png | Bin 0 -> 23804 bytes doc/img/TestSink.xcf | Bin 0 -> 128136 bytes plugins/samplesink/testsink/readme.md | 43 ++++++++++++++++++++++++++ 6 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 doc/img/TestSink.png create mode 100644 doc/img/TestSink.xcf create mode 100644 plugins/samplesink/testsink/readme.md diff --git a/CHANGELOG b/CHANGELOG index aa7466dd7..e9fecb868 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,13 @@ +sdrangel (4.11.12-1) unstable; urgency=medium + + * Test sink output plugin + * ChannelAnalyzer: set trace length to FFT length when auto-correlation by IFFT is used + * Tx plugins: corrected FIFO begin iterator vs number of samples read + * GLSpectrum: set default window to Hanning + * More preparatory works for MIMO channels support + + -- Edouard Griffiths, F4EXB Fri, 01 Nov 2019 14:14:22 +0100 + sdrangel (4.11.11-1) unstable; urgency=medium * Channel Analyzer polar grid option for XY display (Issue #424) diff --git a/CMakeLists.txt b/CMakeLists.txt index fb0657179..0c87bd25a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,7 +18,7 @@ set(CMAKE_CXX_EXTENSIONS OFF) # configure version set(sdrangel_VERSION_MAJOR "4") set(sdrangel_VERSION_MINOR "11") -set(sdrangel_VERSION_PATCH "11") +set(sdrangel_VERSION_PATCH "12") set(sdrangel_VERSION_SUFFIX "") # SDRAngel cmake options diff --git a/debian/changelog b/debian/changelog index aa7466dd7..e9fecb868 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +sdrangel (4.11.12-1) unstable; urgency=medium + + * Test sink output plugin + * ChannelAnalyzer: set trace length to FFT length when auto-correlation by IFFT is used + * Tx plugins: corrected FIFO begin iterator vs number of samples read + * GLSpectrum: set default window to Hanning + * More preparatory works for MIMO channels support + + -- Edouard Griffiths, F4EXB Fri, 01 Nov 2019 14:14:22 +0100 + sdrangel (4.11.11-1) unstable; urgency=medium * Channel Analyzer polar grid option for XY display (Issue #424) diff --git a/doc/img/TestSink.png b/doc/img/TestSink.png new file mode 100644 index 0000000000000000000000000000000000000000..fd7fd711ab28c0215c722d21f2d4ca52b609901b GIT binary patch literal 23804 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 XMiCRenWqKnl;fzp&`_+FHw*m_$*zFI literal 0 HcmV?d00001 diff --git a/doc/img/TestSink.xcf b/doc/img/TestSink.xcf new file mode 100644 index 0000000000000000000000000000000000000000..d10425ef2d5d8396c694ccc302b9b006671388be GIT binary patch literal 128136 zcmeEP34B!5)xR^7gpi;jpj87HAOr#dlOZAdGBZioA%vYomas+^Ws{wm*4C<}v?_H) zL9NzW>t2e862!p`wY9ZhtG3!|tyNqgAtaf3^S=MN_r96;W?n*Af>@c~@8rIF?!9lh z_n!ZG=e%=o7St@cCUMQ2`HAyu7SCghSzZCXj|2K$2(no4rzDslxTx-UZ zyg{p$)~rmdSvqIoycN{`>iP3m%v%|}L24bz5*%Yw>IeC=JjYn{JB;tt&Ggg(w*sPZstGR};CEFNV{RFdo{xolFIlNPzMC*U*`>4dBiNwZv_%8;3 zX^d1*tURWA9py0+Mq@>F=obglj^lO5opi_N>5ebJF`f4k(0!l|Ag#TAeq1K`bYC<- zsGXP}E9b3QIcV|hweyyPMe~Ez^(S6pZ#+tG^y>Vpmm)J^_RTs^;>1%4%%v(%@G<)gFn%RqMX0J$G%Li@o?4=7G^np?Ac z-kg;+S1(OmymC3(g-^)PT+${>Xxvf#s#Pmi*34g?JjGB#Y0V;H@pJ!M$Pn@f)K@mp|Jr@<1C_bf@hhBhSW%{tC4VvvG=Hfx`h?An+x# zffLP?#(-*51B%QZ3#b9#M-7U|M=_sI4SbDZv#C+cA5ay{26^ZUSOaJlrRDi)0{k>l z>?ls-|MG|u2pqxu3O2UVIs6(&!RZW~qhALC{x1%r)z`dEGz%zdly-Btb3a|v&#$RH zPZxHD>b5j9qVK7JTF-?ZU#+TofJHu!K8E%uURn{n zQZ#ECci`yJ0~3Sy6W$pjPn{L0RWF9b2VtC~Dt_Fx^Oi%-W~L3L$#kZGK~7v#U;q$k zznB}uQSg>A>th}UFlK{FK;_2r4$lB(fqq{(eSO1Hz?!!x*9s<~Nmw zFzg&eeYYVR(0rP;JiXz6Q}g<4xNZobyL`vhzJ|Zw)%2X+375xndgr?;3*pawPVa=v z#;NAd>7DR7_Fc`N(>vj^bWZPlS7jmmxzFjHaM?K3{5ic7KF7YR`Lj{)7{4F5@$p*o zcbxNlg+5alKVR@~8oaCUIf{Gjb=~F$FX*)={#jP%n|43xzZcN4yF*HF%6-=zLj9Qb zX(IfS1^zQ0@OWB+;(dI^C8;@3?cQ;P4?oR8jYdtgrH*%O$PHh4(7eQ3^5#N%Yyb28HH zI7rXP&dL}9VNU@Wivbo_K24ZnPu@Zh5CX#B)S4(csx#zkBkr z-)jwU56|w7-W|AKo=@4iYqw>$MZ2DM<9LkSS0p3H35|LtM<-(_k`0Icp2>ab0l*DA zOtvNmy3-SA4FZ?a1(9n=?3E4goSGH2ic`r#y07SAkwsfCUe#VpBCeG)uv!v&8NU2yTF57cXe%#O^Ts=gG=#xdo{yTM#op^Y{CXyX-~ zE}Hm(x;j_~H@gkDue=(kV;$?Z_TZ7DZ>krBX4QI^$W6*P;uNcc53@QYT1laFF^r3+xeiLpuwO*&{)t6&{EJQ&=%0W zpvOQjfZn9O(B8+-SQ`F@5&r$N(@GX!KEyz_a#+c2q7KYW?RTTSj%>TpzD*?CC!@WN zY{_WfCKB!O2H(*$gu;UHAxX5WqWL2B#pP(9f`8SR4vew&7e>WTL06uA@6(kXH$m<(>`$esA( zOWSdzV@Mn201w(Gd5NrNlsz}X*m2D^$qvqSlJ)em8oyg!v&{oagL>kmm+$ywan1G- z%roncs`U`W7@>#b5j~-fb$3cV$)hpMvKW>}BCq4bzHf{CTL&xrp z=P_LKB&T27+UfC%j^#B^V(PVhy5c%PjH6?5&2RTKjb|Fn260zIVZvm0M*wvAJ3)B< zI4F7C_TlF{(fqmV8$CrQ+JC27KfM286@2TwR2hl%`hAAHRP0h*YXiv4exmhP?Rab4r-_EP2i5#2;TotG----4y_a*k3yw0sO}pz5)< zi(DOQEVE#JmN@Rfn*G5{3~M?ZP_S~0SBpV4AJcMJhUE`51hY}>*q2yErpsFbSPP}q zhT-3!cAyntw2BP5#!wE91Ff3*A-p4U+1nNB6$g>ygeUO6e(-g=wS#zq*A;n;CwT4k z*JK7y@bW=j&T`Plv@$%wD+gZ=X7L2i9ekDP@|M@}1X^v}^GgRi91OfpPjC>qS3^16 zwpPvjP`hXNcMcwRfm;XWyXbQ`a5N7O^1uGKE*}H0VBI7g1IxrN{Lj1$Bj^5|OwWm8 zjU&Fe%)qj-W9NT_wMhDEHm2P58?4Cm>zP&-xRi$Ln&473a1xE2SYwmcvnT7{$)GuW zrtpcbML#oqqNS|zS1?u_=>0ndOBpMh45|j&G5k2iQ$Y(sYd|-E?!aPf+>;Bd$z0ciZUa38+6g)U`U~h2Py=HnF`$b< z$)KU2GSFnue9*O^>p{1H9s=zI9RU3W^a-eevCNTF~{N+dvP2 zc7hIo{sQ_0)PQG?0bLAA1`P$3QBSn{yHL0;57*7-)v->h-9V8M>aomC^$wz*j%){E z*BJ=)=z6FNn#(-* z^mC%qK{_|}OIru|Oxxcy{fyI+&sEta5p(PKU28TUL-Up9t~>6=)7IVkIZnrP?z6GG zJ1|Y0g7T$F8@D6lZfJMuIqlMUJn0UT-gDPK!}=|}|G$lP=a58tEx@}1UU}Pp+Y+q$ z=eDKUd)@i6?1b&kA!m=>soSk&s69I~D?PZ8$?3K`hmSya(NAZ04!=^cG~VzflqZ|# ziXE_mIKk4IbkFu3+qdtyldQKL_&C0ONA!-sJ@_b0xrTdoY`=TUUE6ou%Nh8te&>!I z{4ka^d+ypH`PfHf`wlBLqm#&-vfZQAyz}lIJGS!-LJZ^)&NXSfI2W#S@AkWYap%3; z<;nSNMD0+vi_79JZ@+g3Zu8!|`31DQhYhzQWJhD`kw^Tr4@)CeQgIF+ec%o>(}j_3 z@CE!0A2pMyO$=PWQ6A!1-f5zpScs3iS5ynyiH%rf))EMO$cs_;li)cJZxEns;arad zw2fLC0!s5|U;4D`;64I|`%vnY&|TtDf(G?*!VQjDM?U&t!+Ur2#^Z@MSeU-~bm}7m zacdf@A^VZh39$nnR__QhVF~wE9}H$;mPhx!U!5FeU{jbXdgQ-X2Tv_o{-d{c2v$S8 zj)U%3Zw)dKb@2B?!5pq){irdRMbyC!YX`-jKlD*`uZ|hmL3eyOUB^0h(VEu|H~#Gx ziNUL%tW}EbL(Uv}(Y5GjhF-K`ll+bPSR80pCmxcG23280ud2&IGO$T29|Ju2i2vo<|bQ`EEs1Ile$OW1Jngdz^x(;+J=mF5vp#7jffj$D& zF;-~r@LIw(KZmfgP-%Eq`PS6)jY1ar{5jLVT&i z22O<@H1trz#>L>R5fi~WgC^s}kHJF1wSsK}j7^~L?4R>}Wvo{S*W9aY3pqOCyp zEvtuki5)aw+5pJk#wvV)2|eEN)yB87O0B0r+vEyQ$+cNrEd{~wL3N8`l?IrOgPO0M z>z=5_JA3N8qc)tB?mZcOefrzb-M8)2!0CG#_|9CfmNpIzzEf#$Slk&KwcZ#oLXI?( zccOOXg*)%gUH{CE!P(aT-$v)HJ(1xT1A=>j!A-#ThNfd$`i5vt&PQ@u_ME1mp-CV! z_eVVVmx1Wo7}>TjZL@zDowqY+$mpkY-p-)zqo3r>7(kf_=k0CeGTpvI_+8;?ymtqA zO@9IB8hLMIF4q%ZQFO;g<+>F__poXz75kXzcIKH+TKKaQLE*>L}# z1P~;J`&V)Q^~A^hV|#92V<6B(_m4~Xe1X6*x_@!?Xf^1?#k~Y`C*q{-yzqrjkNk06 zC)|YQkqz8IF3&&3;~q6u!;fz(zT~{o|5mRGGT}a*qHfk_N2zmzSv;C;|KCH4!ti*u zUw)kyyb2z%Ybnipud1V0W~l-2hTOZ4B7zN4B7^I6to9)5cEFi5XjHi!cL&>pj1#k zXf&t_v>3Djv>CJw^eAW#=pg8Q&>@f?&)*5u9h3^nr@m^}*DtfzEwfjG==CgWN3MZR z#`-ay!yWBmZaTAyGwbMNEDU}7C{;T%Vmz##TnhZK;`}mc=J7}@M@nG(+Z4eI8t;SO z9KTZK{{~{tS#79JC8g1r{c^iI6*qTPd0J{^zG?bJM%ZPWGj5gj<4X5-(QgG1Z^cKL{+i)tzHR$c$>s zm=CZBc#f80kdbh*DIzGyoRJ2FF{d{uLdz&{Yp=dW>nLzD2XSk69<K#M^eKsfKp zZJ4|s8V#xfEe34>Z3b-vJqp?bItY3nbO_|f^L7Gt2c?4YL8C!cpv9mK)EDma@*(0U z@*>JxoKWaGH=J-Cyk}cHdGz*g!4+jf!cz;sxDcWfPwC6D$9*3Db&=X#N5^}j?s#&v zIfynvLYr2f3vD`6k1^KE6DVd0tQUnz1e2a8xPGCfXH97LcjV)B&dHS1_rc?J;K`KJ zd8ym;PI`u%?96Jd9nDzdJm!;|ZnozM%9B}V>t`|@yW{>&=WTU%wxx6Rvz?CVywtfp z&yvnfV44sGrAm`Ak~nwV`|U0pT*OJt&lH_)_RE=iZtXhfp5JIce=F=q%UpPdu?m#` zlI&^eIfK&E2HCR*rKP8(r>D;xGBj;XhJEPF6?2wfy>jq1OBYbZGi6_ryPe4FWf8MY z`>o+GKzI)ASrB`>W*h#&?ax4WgMKAyYUOLQ8T-+7jNQ`2*st7-?S6%^gYcC9aUo;x z-NV>_`!d#)#Vj!upk2&zem7>h?6=I)^C#Gp?_*}^|9xgjoyjaiyEBXP9%d<9&n)8= zW|_Q`S*CBrZH#A@t1o4i<@=ar^-5-0Z($a91GD_t%`A7l$1J~jgIV^x$}E2z%Pb#r zqb`tX?{Dws31rq5)GC>^_I$hf-}CIsMe+FOrAqw8_KSI)PIli#=cnfvTu|W4Pe1=6 z`$dxLk5A9+b73EUW_o;(r?C7!UHd5cOvfo8PQmdwwmyM@_73*Iz&^H!+SWe)ft!B6 zD|(mz_nQXxv6_|Jf3F0h1AgWA_7=)_(I+Z@VAua@`Ej1V)&6U(@59F~e0S;ez`0=D$Q2NXx83liKqcr=CyX+lh;TKPDwNqi) z2lc+^GwqMx_uM1)I9}Gne(35yXHsFtyFVS0v-1i20$Xmf zMbx(5VW>Kx%a-n@N>r7&tXiKc0?s1PxNgOoQFoj^wE1V*^GnS+i;NoTB8IWWOW9 zk=!Mjib_(trT9w{N>aL{P_`_!TdKb-p)9paDrJWc?l#yzJYo3YE`upMD!p5}e^kP# z^e*X?9h1>5!#^frOh%Us%8nb_ZK!`-!nmPbhEjHXcDHQ*_=NGoT>pfG3AtTzDLXN*Tb_Sn!o<8Tc|4onEuXUaUGhaXI{(<5o&Rn;_K#mr z$dA?+O)7{gP;TX6d&gGb*gq*@QbCsjYBjmgR#>-ERbOA=DqZ;x_2?wz{gV?W7j`M6 z;weS8BHstQY3-Q;V&|zJ;o~t~jdLcfZ;=0(t+`gsH_{ zim7;-!|L$eruv3Eq8z>@s(KCb{%Hx*99K~oXmsRzbPG_U~066~X3DccjoOFgtm(_LnkLv3#*DI*tavf101IJ&PQ0eO8q6+*B zZ>z6qXE>t%)_4ZGMgPm{+m0BAzgfM{czt?2|4#Lj;^<;uxvKum_;iyCt%bguRb@nB zRH1K~sxCxc*L9N$tOdSVs_I6E`yNw|IFZ+N{KR})zVH9k_nrCHeBYEt_1DPr(TvXb z{XtdV%`=!-U+ZT;<0Kg)n|K z8^?UwMCJOfR@J}e#`5V?krSPBZ2FTQH#hw4-eEZA6D=wSsS+QBvi@`Z;8|o|etJe+f$mjCd%x;EQqZ3Bk`yewity`LZWWva_E@@O2CSSt_bsOX# zmN0BkmqAooHn7`362^gD22wUmR2|9P^nzT}r<-2n^AlqeedQj{;KUd`QsnfA>7n$V zOh_>hhyI*|oE}|zbhZard1|?v)!K`C73EOcwG04M69S+?1VF>9XFHM;Q-)Pnml6OC zN*E*oD2)K9-{k7(>cGf8(S7`B3272~>;ygiizZz;yK3xEf*yN zf}X5|ED1e11U=rrh#$?cT?37){UxBS^JVV%B$?1 zL(qeflh8Aapl7bvyQ9+Kn){gdg|P%Z7-tDR!wGsG^ZwdN&@<{e@2vzqKwSwv1U0@Y zuXiCq&kwz|Wh9&<5=Kbq83{@DZScNWM$j|M>#Ziq#uSs#L&b-;dY^JQ=B-*)=@{wt zt}|8`MbLAv_d%!gUa$9hr?b}kBLWV|MZ zt}7$xne6p0BIw!d-BV1^6YBUzys3r-Yzq*?t=0-IED=XxadJ(Cd##=y4JBly7-z-wTg; z=$KD5K+knv?*a)u4uT$NV1k~9yia6H=n2kYKu^Jb?-B_;MFc%i&5%ly+&n+w}$R0${(<`Bugq|dV zo}`2%2|dXKJ;@2l5_ILkN0?Bn*+zlR?mvk&q#wCxf5|SqVKE1U(}ctlqS7RdoqLPpBvp zvp-PjiS{TP%L#b^suFpI67oO|EFE23T)xV)v5b&sXu?p5JXwT1t31n#33*D_dlnM% zVAv({WE1j?^>`)_^33*ZbdhXgl1Svqfgt;?^tfGwJh;es5^O-WL>?+WT;o~oa8yj6 zKGsp{@l+Wr@3P*QdwxFYv4(13i67r1jcqS6^%=K(2BIF5md_LY`7Q86gji7?9^`kLPNMJQ;*Mqmds~ zP&9sxXI(KN4^06ePr)XSXRJh?A%r}W+@2_pvTisb56v1N&lrzqxkMg2Ay4VtYd39N zeq|vc56v?m&rFY}Tp~{zArAzVkmnlDDh+vpQy9pT>-JPgkc>e#0_Etw3ksN@FMoNG63x^`}9KV-O3W=RfA!d9VyQvA0m&ghuj zJS2tev#!ESlSy2PFO|%+uEJWANnEOLFj;F|h0!LHxWT@3GTOQd+f62M>AnoI-MR`B zP9|{~zM*8obrqJJOyY+6vdNO`DhxWA#2a#w8JF$LA+xTlcne-{nZ%1+Y<_d$8>+e?KT70n`9}*j?*Gi!^x6LJ7ivsv ze&9E1wCXD$<1e-#a3=zs0vib!iD4~JhQF!CsLCIQ7uYnG|5;UOwl(_-$sp`d*tF2! zpsJf7`P|I07S_F}s!z-vF?O*RDPbtp10EbuUqa4TM22EaQR9ezD>tHDQIs$pEk(YW zs(K%Rtm7~0VFFjGXf5*pS=~w8VzMA(iW{F(cT~cD0?cxo(t`KBJ0BcR*+*4hu}yFR zR{vBVM$YFT%QD(=?0WTWR~6!|fWO?>jC1%#eW31h*hCi4_mz5=Rv6`In11xg6oo}u?NgC}8OhIg=|KAUe z)mRp%Z+n?DwjhsYCUhA7AX7uY!&4rqPKjZse1qaI_k)20o`j zr?Iyb`j_2ycVTp)uS``R(717hjeOD-jH-{RZ#t@~$Lc>Iy+HHMQsDcIs#cJ?z~#2; z*f;EZr4Un5O#6=cKJ-U$f?M**ov<5I+xLX3&V@GNrZd=ERP`sMWVi@*%=1k_E2s@_ zGF$WN;3jxwVacegFmYccr9y&c$vfiux9WRnO3|?OTpl~-`X;ODdQvDPp4MDt*g+DF zw}W(?SNn}Gu3F)@w9L-&`_tU24|Gu~}FT|{OYbUAa9w|1e1I0Etg{*&QG+jc9jhq0`Xu5jkrdqSh>5-2vxL9rFw@AcM@4x>CNwyW;m`QpBvcP}o`m{4ptd856)04U3$PEF-R`&G%<*>3zu@MJ~4Mz8MT!sDGyN47Tv7y+0<-LV- z$v*+bcANLQ3107F(qzPeVw`q7mAiT6cPY{Ui9KHm|5K(Q_JKIoc=cBH$A z1;ifyxc4qnQj`Ub@AkU2LMXNgFYGCI=o>(>m5g8cl=pXILv89_^sZg|(DN_ua*}TY ziml|=-bGF)nk^wMMocKSaiyyD7I0%YNwE5(?2B?+wfm`pBq6PBD<+rbhCe(cNKN0zVo5jD!pK%yQvZ> zHX7{0;of*};P<4$C=10_z1~fV&E@s}P~(zfqX|_o?D?4In_fVNJpVXpFycY6-Q@L- zBE^OWUZ-O(yK}oxY&4^x*v9E5I5gM{ulEaFI;v1bNiovG>g19&}h1Z6q^oM zB+LL`GRb!XjiyUTvFV^m0u>Ny2)S;c(R2wZHuB&=qv;Y-Y~;#;M$;vv*mUqH!4fDr zh#Wi6Xu5W^S#@l6fIeJt zT|$a&e0B9u&2bFHmNB+!R%H+J13|HksGdD5W>z4l2NWBzpx6q@SCm1DjTlgDJx5mC zsv{H|?T^JxHnRAj*s_X?v-w&RwEv?+8j@`$5%k!6KJ(7>3wDbX*FU%t2wUrz^J~)L0V0){0lwqO}0(G zLh{EztBrPVgeQiy8Zn^N7Qt*E<#df*jFhyRV8au%m}@mmdD3dm)oy%Dok&`ZIM8Y% zJ)T)ye=YZ{C#^ zxK@Kul2)4vR~IfYnG_eXpw&uNc@~j|qAWmsy=SIY2(30^hZ6hQ>L+?VBnA2g!e?Bi`;3@ zYI8gbNUOmaHHB0daiP^l@`m$AYAk3q+|i~vV@rok=2wJPtMIHUA(dskW`k?ws0nk{ zc{YwGtw#4j7o9qFG}mhMz|d-C>o$!dt)_oUXtfe_e<^i{?51MT&HlxnY1EQeHBv81qh{9xZ2~MU7BAso=YQ?S_!3g)M#u~hi7%6f^S_j7(+>X-wXibkb_#H7{$QfzPh&4DKG3Ce`X&oAC z=4&){Kw7h74X#J&fwbnt8hnq^1!>KVH8>xo57L?!Yw$iwC!{qW3yOaRG3GuP$&8AO zMM1shz-CfcDLva2$5k{D-E2D%PS{;j-!)^dg!C ztY88zbaW7&u&yEj5SzuWSRDS_YF9#Yaj#jhZVQ1d7Dw|gReiRU(4IVpT{RzF3vn$L zXY^2jaW=i}K)}yWNs*A>FZcu| zVK5d))62yp;L0OKLVmwsCz^%DSc;o=7LHNXyGfIfJ5Uaw#XL;LQrL8J!Fp9)OIk!X zC7@%>!e%T5O|we=u6|vjdHb|L896EOMae9j2JC;U>h+qlFBmo>XE?NsS#*sx&#(G# z);xe(98E_dEVjr<8>pCvC(`F7^73mjH668VMAQxB&KPIY(cllXW=Vn9;%(v#@(;l` z#@)mjJcQOvi6ZzEMe#TB2225%7<`1%RcIX&Yj6@uU!m0=Yw!|EXQ4H%C0H}~38lNx zIw;oQD3ty}>%f+f)Zi+VPz>BP_zFXCKCc)$hPwr&Ht1lC@gX&!%)XrT4PKmjbQMW- zM8uD^M})?a-a!~#K?@DnfYOFVWfu2?OI5@3hcH8(@kee#V-OH@O?4obbPe7%G|LgX zCOjgD>l(avg?R(HuE9Ham^+Z`8a!c`KalGhohMNG1-Y(?w70pgi8R@{u8DO2nfe5| zuF-h|rEiey8l5{(ItRI~At#2>Ey#5Z*kOJ_=n!wS+=o;bDGmT8*x`w<+fJxzTGL2AzuBjqjL(VCn zuXJUZ1uH?D+jm~i=-FRHrn8KRDbtfHpT-N{_!(4b=*O(%y0fVIz zkLwy8f=g!}fV_Mt=^9c1QV&4aICMc>qyUuBJxSM)cMiIS66l(+5HAy5BOP`ChoI?% zYX}R=EYJ&=B6l2gjm{_|&z&*q3%Z6JanLn7iw?RbJOqsEnn;U~>l&SNPP*#2u8Fij zxvtT<=cKca>l$=gn46C4nn+Wc>zYWPoT;OZ>l&SlPCD$kuF?7Eq{oiy8uBd|eRW*d zkVnGktb-2m1g4R$(Un2hgh!j9-lo7*(lz8Efv%y%77=>JRSkJvplXEU%`^m!s~U2! zLDdL9n`tN-S2g6?fvOR1Ak&aEjQvb4N7231qz z@zl6T)sPblsz&&-T8LbOs#&@kUPn?j*_e1oc40LPhUhUOrX0|-@P76=DbGra(J zQbDRlHzS~G%mU+}YDN^TgkM#2i)o>7P&G8~pi|5O=DX1 zP&FR+G|g3}Man_dkgPz}gvZiB)y(Gcy24W?qUNA#L^dL>j;k7Sm1&W5P&GQw8CNwV z?^;A1REJZm7S8p4062B2#6QGA5| zN+wq|E1 zIH*=<&6}o_@T}%VQ_6T&^PVZgc~Lk7+XyC7TjpzY$+MJ;Y-zwJ~bhP7PIAQ zdS99pUCno9Deq?Q9EJg!XG|GOv%GT{U}&B&!jB})|D}xPRW-ktGLmP*fJpOmDZ_ZF z=HHU26^3b=KT9H>=Eo8+8D;cVg`8IcbgdD7Dud@r$)W2HKv>&5!BuKnSeu6MCJWRe z+*isVI!~mdO2<*ss7ga}xR=W4xKixAL$vTUC6i~hxHTn&=dMi7Qg}3!(2@?!^2VCbZHz= zJz~wAX=Afxb3oRJ^>n1hBT(IRO`VxjiUgIn)}y-Vf;(J0!b2sl9ggY|%khBfhBbQP zdBagXa-kkj-RQQW5uv*^pt{KtzDN%iO%l;dI#f4V-52T1qPZwq>QKD}&s7*(O!gKW zR^e#G2q92CawVXiB}G^BQc2JZLjlbTB``D`GPGbZLJ;7(@HHs~TDJj{!REqWQTNz5X(SqM5oGqpn1$QA-%CMdgs2;Y=P|Ql$@DYm( zBfUDLTfnS9$eU9V{7{~@`IKy}l_jJS4$ zGe}%J9MvP1Is(-V>mSAQhNF7qB1oXRacLxtNCc{zERT$I7SSY$Ky{OqlaYQSnu`&r z-hz`Tj4h^m3%;Rnwy5mS4fhHe9YsO}f$EW~EcGlYxSB&qU}QK3XbvA`Fqh*nz|g{_ z2tR=8!mXpE@~T>Rl)%l-VL+t0ZS68|gF{BSl&)_?^*))sYq9TDqFt#yyZ-uXGuL8IBANJ*8~M3pZfLw@PL3Dl zwDF>2IbJxFyyvD4NJ>ib56G;wcd`3Y(<&;f zdRO@>D|p^Npki`aQkj1;&nZdMOOs3K)LraKQl;*AdP#DL#-HX&c7=}d@oIC!ZLXf2 z1(^8LjkIy__2djqnu;$~zQ^~z^9yHBC$$j8F?OZoP^i4d`C6#_Fq%L9(C=RRa6#6m z%7^9DB54W&-Idq2Ixchsw(N@971)fBc5${k)PCeshyA9v?eo6iXVmI;aRlz$W!)9H zkJ|DpQ{7)bX}2%@OshK?@0K_(z83m^yKC2PvA2V+=0kR>CeJzY!m2NfrKK$YJycrqJl8AVb^pozA~}|62M7 zAULbN-P220bJ>gg9`1&J+aWIaJ=PTeUIJTo3yWqKxr4mi$73$+@fLUiH$udM?BVx~ z`qu^j;B3}4bcXC_y5;qKLt~%(uBSRNs|gb`%7?^^a+;WlV$xYP3Pjs9MWnCc0RNS>&-0GvbHD zjOT)4R-+fQ@ZDQaeoB$J(%JY9v0S{cLu|XJ1~H=xhKrfxg^QVFhl`nHhl^SGCYEj8 zPgEynEKJNO9}+XlX<{ahg_ub`7c+4z#7sNZi5bJBX+@i9#Vv^$mA75YsCHY$Osji* zF$>mgRm@tiMPf!Z+8}0Btz|J2T`a^b@>qx&@k3(9b3rjlE?(Ga zwcS&Q*~mBFc={r)&FF#zWw~jO9 z@4cv~-@6*yZK<>;vCHs|pVr&byD4@2tXUOly{)||{G@kW??y^`r;dkls<4cH@%<=B zreB;$to^86c4~YoMN*~4iNu;37(~V?%TJ3>qv-OqIFVS>l=Ol2@1dlKVo(qaiOrsP zV$D!02JjMRR(uximXH-E5^I(+J&Bi;PFf7PxD*f5B`=8>AC=dr*5LeJZNkQq)c%3>nys)t7!ClK| zd0yH?3;qzkTo_l_Knd7Wlkl!~v~1^RUw`^ozWv5PlcmZ3#jY~EUpBH4MMc#I=3)Kk zvCS`(6cr&PwKcyyDxWtS<#62ow4-#GYvO@r4hJHdvG}xs5^&Kh#$G>Z@B4I%_HoCi+M`6D z{BWOx`egorD-C@DHk#nhO4s3f%~RAoaf|o;aR~1e48zO=3oru5Zh6ju?FG>P7>#j1 zSdaC&d^AuxiB3>odi3UeyX(n6%U;d@;`=xO_C3Xd$;KVeUNhr5?@AofgrH>YfgjWQ zVanz2cot{CcuwESI=#YsqbLY<_nCrNHv~yYm zO}t#k=80lnxw7N4k0G8oJ3Ht3E!ol86kD8a%~oWwV`%))V~8OhI&^|})X?am6iO>)sla*=WEZ5c5^*%+20q-IF`5E7RmaU!t}Q3j{-l1NDlq;e6=9UMQH;tL1I ziNrdXOYFe-fh4g5<3wT|NL+L2PU~&!?H@2>JS74Wcw+5+nf)kB?b-A4eg!jTmiM&v zB(Gx6xSoxafC<3BCa}HB-PU5e+vdUlx(RG`=eaE@fl(=WDHaw;!A|w~lZOv88Uhs( z0;SJizhU7}LLhw0CIq6SclvyeKu$s+zyl!=B?5uU2!Sw;gg}%85ojbK5X6TNh>{Qj zjUfc0C4xX8u~JY&pmIVW+Gz*~L`evNDhPopuuKUEL`evNCJ+MAjz>Tsx$%)ipoxS) zv{w=kh>{Qj(GE^c!=L=Z_ph5N-jSAZ0f8tf82+S0pvgd>KYae>e6DqtrZZ67O;Wc8Ujss zI-md8xl{F2sW&*Cw4M$KLd#$#uP-1FE#L#U6$F~*aP0ZW zQ8vO+J;l*@nhi`Ecm0wIv=w}*TmTu%r@ za|{UdQuA0sAj;*sek&nnJRuP6u9ux#_aq?@9fuHT93c=bf*m?TnMepE7Q|`@L~_wc z0+I3aJ%m6~HY5U#Ap`=85Qvfx0!2!iM4;h>K)`H5AW8%Rl@S6#R0)A75eQ^1-Gu}_ zgV)ZdL_h*h1Onv(fd-6Rvu++C5P*&lh!QYQ27!7K0`hahtorQB*_` z`G6owz-|qKumrw(qk~?8#(TyU^Q{^HK@_SFc54un>vUeV+PTm(d6Z|GlW!&g2%_M6 za9f3-JeO<9D%V2Klo6gP7vH}E5JXY-;I;xmIS$8Fs~xTqY{D_s;h^AuKoBM1nnMu! zWY(r)>XQo37(<_c-6{m3yT^Je2!a-@FDm3)QeZU7W>ygd(P*HwRS2S8BN~^in>=Qw zXDVS2rUE6?J+lddD3`xvU270DgdnJ3&RX}%Nd!SO$pAr%HaQ4_D3@C>M?z3KK@hD& z$Pr{z$!fZ+eCh&wHNMV=twDfH5J*c2C zi!kW2gv$tnDCyaI(1~DBG40SWOX1d69XGqK7&l{f<;VfRB>v8YWau1w?te#gA z7F)jtL|Zq@gC0nA8piGfi4+GKop+U@+CB#U_)Oj1C5KOxS6EMpv;#?UgC?D| zsQLT9@f;`xvyp7Og$Jsr{6;U(PMCb0EiA#nW`k9Sl`*sTjNf>m4BR@h??&vtZDjGJ zr|v?Y-c)Jd8A^mT_}N^&W#=5TYmsx)0ou{Dj!Zmf#iIxIAGoy?d0K^v_pT46>ba)^!v>&!ad3dZNPeI z15(rM7-93pX-R}N7?a&W*nL>UL*`#xq(vArG+gMytwIQ%!4{Mzp-f_i97m)LMxnF~ zWfC*EgTXkIHlj>o26ku_Xr!sw#Gz^S9NU~gIp9kmRsWGQW>3wf_bMul6N$BVBUzWi zhUCU$;v6TyIM5HUT1UoY;SebTV3;}&J+oVA-)Rt+X_r96@%PY!{rc*m^gm4q=$;Hon^rR^yb4z8F#n(--Z zP?>OWCDT({pvHuQD@0DSLZvY(6ArFAOH>-9GU4E=vqq&+DiaQ_I*U{qrZVB+svZv}LIofoITK1-Nee+cuT925ls>b*;LP${$von&rmX!pIFgO5hqa zSOKm}4^O*YrTszc$aEd^<#S_;XMD7ez*X+SEG=4aK3l0bTAdZ2Z*<&Si`{q;LbCU5%k6~a`5b^EonZmF%_d_RS8P#xcNGH?-BoJzbzw7H5j+`(zvCj z1g&Ju0$N29VdipZC4*LO`vPbUH+4C*8bmJK+~v@U8k&(SZC#mgXl+fP4c4wSdS$|) z6;PpBz0&xV35V8JU`E=&O&pjuVynHtT!L1f9Z0|8tpdHIh1^JHvoMaiRou%n z9u{a|AVDix$-S1XbmUZeTm-Gcc&?YmGc`I9Xq6Uo9XFNxXB8IZXC@P-QXa{`;uL~b z@$OvDD+w!`pjBs015r*q^=kK41*MaW8dAS)%(g4Y}4uB+#{Tr)jogsfzhmo8s5 zX>8?&IfSf~2eL|Iom%Pb@tMn=4#x~n2_Y*P=9QiigshdGk(#|;FYR?|g>E<+w9D7H zZSH!Hd%ozDc^e2>$9XCYeI#u80GZ`SgJ${g5!Mk$sy(Aig_U0ADMRtGX`T^bR(qqg z+ELoHz+jdGSt~t7gsfziJJ&B8Q#xVY5<*tWBN0aX*OY_NPHpv8IgoX_r+|=^TjeD+ z>)mVT6cVyh9*MBo>v^d#=m}ZLMhCKrB*J><$Vzs)TzL*;4Y%MqvKmA!+=}PON=7@d zG&14Hs*~Udc{UjFfK;7H&yiJU%mY$&IgYG4TnR@RY1%h&Tq?o_ih(RbR-WyfQCO5W zh>%r)mo)qv$r~U{es1euUYwR>O$ziTWF_1G^1S>3{e~11(n^;=y>tmsqc$Te0x-)F z3v82b(7~^>dea~GMls>274~LMQRv`?nf?@a4{n&rPYVda4Kwv=jS#qDCO)kn1UJmI zr!`98hMDxVz6sngQ=V2=fm=|oGt1$E49n8$t;_5I`uNIibKS?-@H{Q>yUbp%eQgys zcU{m_7x_k!FUL2%I_<-)J^yeP{`-5q_PJFU+;zdvuOi(~!RoWrT7JE?+8aI{g_j@u@clXX zsQRAv?KSLEtUgPvzt%qCPWih%3s9ECDAg7gc;F?QAnB6U9#9W@j>}*44X zbq295EJw>cF0=Q6m0ZO?#1^@WQryhLZQ>BT=&W7fiQf1nc)?;o+;*4|EMdU#$4;R9=29xapy zx1e5UmJ+xav$Sj<;6mS3xoxWZ&KjPly#W9&+J{tObJhh-RgrHLd760<;G%s=6<=1d zKZX3VD)NmYPc6g2Mf;Q*_GML{rDiRFiz>gThJ9YuXQ_1y;G%t24g1Qf&r)kMaM3=m z3d^%DXswETqsW_si}rn0d~dA_+N&bpDDtg<3w>VY1}Q$MYUXNqo+e0Z;G#1*30#a> znscpyi@`pn?Ncxl#W&WVNlJUHfNKaph|7?&VEDWmH$-yHr76tP6gm*#Vz4l!Jetd{ zFc$$Qy3eb@oRs>WM|CD4z{QXgfOb4^(b;HQp!^cw1ehbgjaz?<5_K{Q=UUflxP2?Lzp5|Tzyl7uZ#aGk1ptUCQ zjUrDi!{J5yOd9spRG+10Ex?QRtu*Y@sXj}sTYwkslWEu&RDG6Oo573r=~S3sbwQI& zgHTcrf$yR4nlKI zpTRm`%(;l=q#=%+bEpxVbLWo5oNKp!5Oc1TL1}eOwwP;7&bjtab#spC=NzsansfRL z)+z^=T*m&nCtLqRZ8eHuW8F*fi~AqAz{pJ^%+yw8p3B(L7j^OXz4*#X#>AReo4$ik zxa7wy?yre*`KzJuV%8A<*YoA-JSqt;g1v|xz2J#TCRgYg8lA^{{oZ=(VP;|V{hlvl zOfJ_m)alCnNe7ZprAdx!SgCUF-)b$jjZP-U*HC(HNbRiUKES|S_{I-Shq@c9kGlVc zA2QuY2geg-Hx|zSA=8a@P=+u?=FMU#G#~9R_-L~Od-lBj*BZ0I#wRr+tv+ zI?-^*Aa*2V5I5MJ=Q3h}aEp*Z9n>OZP@y?wP)Q4rK}E-d3~|+#AVZY41Q}F%ZhTwo zgBBozI<6(ikY%QjA%>#`$e_aWSgVjhRm>qHR1yvuRB}p#ESJJ|{AVJ&Zgc2;g4lqJ zk~iP_ZD%7lcr~hWF2hlw({J8o|5tuZiN-ra0E)C3ui-n^OVMmjj2D7(eEcr(+DHGj*HQ)JP6hC=hv z{(_G-d;67FKKSGsv%$tJLSwUm7A2>7kV7j|3xe*%Gj^26BG$*Av1^-M=oIb;P0xJ) zg`VLQ?mTpo(|B|W_j9f%wYB1WJWi=6LyH3RW2+z_BA+QKdr#ZnEC$c7m7ns|53MXC zCGaZ#QLZwI{$`xca~tl?;?{2Y>^SnLxZP|hwhpkewjEl~Q!L5^3Plj`N2`Z#*Bp1coq?!a>lN0cA-;Lx?)95Trtjy=4qvmzgg=gtQux_~Nw+H6vLFX32@nXGi|95%o;dsAT&N{x5)xvN;Hk+}%qgoj5{x3Z5z1jNh8SeIr zQagn}rPKJ4B6Ow*DtwzbDToxH;cD2L zl0p%TDO+253M)J2HazHwG191SY`SwuMx!{X>^vL$X7f=PT^dYzJE811J&)TvXtXu? zKPT1aq*@1Xdb$7hOEraSQ7|^*yV@g6@$5Y(m+F!f3g?tjoxr$nv^N?O83u!ip*Y11 zlrxQMlRTfy(n;y`xD0ePRroe>NLSNvHIzVCBP=ncq@|~Th$b2y^u!pD>O|7j!E;DP zqhQF+gRcHY^H9!-G??;sLRn)R?HSL}`!6C!4Z*x^$ocpyB>rptDW$L{c}VmL{>f!l zdJoJ^;R{z!@+6^Vg~q$c)?%95&<*WU<=l|4$RQ!g3C1fMqnFP>jx-OXtSKLlrG zo!E4hEq~dIDB9p2V-zmki5=SXlbH`OZAZ?$eI2a7nQW|cKKrr+HDuuL>J@RFrrpY- zShrWj7PzulMtc8f-VG0px}ROjL}85FiPb93A%lNctw|a<`{rOJc?KE$o3=kT>Y3re z!cOdqb+vE&vv#Qr|7D9`KCp>hCeIIxK9io~MAKBcM`^{2dw0<$u+10p(+p&X`2M7E zuXkk&?qDqHe#!RneFm+pKKduC7`w5Mvj?zdu`4OMxcZ+@#xvw(L6g{v6lbot&3cS> zCglZ#_&%h4-Z+mH9$;2^?}EwZzr4RTJIFlI2ReJ|D|pg;yZK+6T}d5~G$2VCFo?Ft z$FU`eYFh2S)U=Aqs{U1nD=X3m+U-17#Y_AHDkhf=C_6T}Vu0OF$CfhDL`j-nnp)a4 zJ;`pzk+oFgRuZ?8xRpBY^peyPS+~SmViNEg3~6iUVA12sC0+k`a!GYskxN~1q+C+r zaph8XhDf=j!j|QdN@+TtOll&RbQ%-66zmAOB(|wsiUJe4q=E>!3^8?bNz9Xduy4Md zf&n49H2Z5Vmo+WQC6$=UB^5-A` z-5KQa`mOVxVA|f2MQ?Pl?yL;yOR5989F7_?q;=D}`159NBYn9}gaXTA8N>Y3ML&O{ z{86s$s4e7@?=lH}N#~GZtsC6QgBRQttR&AM!&-;D6&tm8bg&R|`GbS+esyq_3~Xg9 z{`B_sTwl`pX&RnP3c2LFZBBXf^_OTn)8;PxG$fa_(`Ni%yRjwrL0>*9**?C>Ch5zq z8yLIA$=Q%gvA-s|c;Q!jIx*yAL6g{3lk3a*&(a>7yZ~~E9X0#Ddp>i%%~d1ayI``# ze|qa+UXXdR5BANsQ}CoDmu7#><&w21msDaZmsAibmx3EEm$I%wE>AM{IFA**>bBN0 z1^dBwVD%dhyo}i}=yy--Dq{Vaf{ox~Se)HL2 zSkA5xH}A#xj?di0`o6RG-8^vp*zTPwU%l^ZihgKr#NOOt}{8C^@x^&7p`oymS%$LAY%2F85*(c6E*{~<`LeQv*t z<`94ilV#X}nAq1`Y+ngW{X201FyJn`k+DtJu}7z~f|o+vqBlFm?Y))t``7EA(v0tmiB7wR{yJ8 zU)^fi>b8EyzT*EGLRei>->t3P12jLZH@Rxour#K<)isc{wQlF`+G#8`WNX!PTdQb{ zCE?G5@n#r$rSp@iWn;?i)7fD58E`}zTASyx^WREki~u2peT@S7QrF|Defwu&===l+ z?r4<*!1r_j&@<^`0|4}>`koE|dX`;c0sxnnUJ?X=%S+A;$k{g_iI4&<28f3!K`0Va z5-o|45Grer438Uwgp}Yi`eR7QI!MU6t?M)i(Yf2WOImXm3~b{O!tBVd?SDbdr$Z%az}Tmn#g&j#(rjp;xP4T*WSU{|d$k!XP0i zkgr#lKmW#C^GQMoz}iPbqKrX5`1Gj{LJEsN36*BCn624(x!BL@gcKK5;K05%woz8J0Mu!u^qhYZ}8_=SERg-vmD2vvi#(=VB?#d{Q34%vz zsgJxE#F2graOkKcCI}^|B?{^=`?>Cdd*_6@OCKzQ`J>N~3ewfwi~Y;|eSk?(@73aafra_F_`73htXlnk+cQur%NJC@qY6u2tE;le*1 zLf=q2a+dp!hn`HDUeYg!0MR9l74A1a|LUtlpPm~g@|7E2-~P9T3D5&+ig*=(GzmB& zX)?YOK$;{pL7F1p4j@g^69s89eNTX}NM{tJ$?S~*6{I5y(q#Vbz$COmnp${=z%X&R zJDa5G?252@HSX1}?fBn+kJVnr^j$U-4sMlHwBT?O+n=JQxMtE6htOC1#xVcg2=bWozvEu zXXv~%1&#l#IWz@p3{$X1KLu+tLsPKEFa>LjQ?Mq}Fa^)H?IG92t>Y-jWQU*T^cc=J zVE^lX7$Z;+xu?go^nVH5Lk?3g_myA{Q*huP(gX^kkc~gkSD+v=lb-J+P!PwTzKeh6 z7U(Ka5P3dTzP%|;LF0dR4oyL3n1W0{1(|LNGQ$*P#wo~*Q;=n9U+|~7Qe92c=nMWd zm(>;GT3kv+J#m`Hxq6w@nCi4RmGSjXt5azn>+I!hno8%GN_ieipd?LkSR6`uy~FA_ z+&pH&!MFZ)qhsm8$M*bTlq1#=*s?2XS75Wl=4hHi?WUlXX}g+@j?s0_MTbW^cK?5S zR{|bImFKJaK9cTE=juQN5&{XGyFwE}`tF1vH{mcGB8MCe;Z{*Zf{coa2Qc7@A~496 zJEA~ICH!I_p0huRi_gYzMc7YXA{4_yn65b>ecbD z|F7S#-h1^6kJi)it6EuY$FDq!Ah;QB+TA{><2%`RjX#f{bn-Ws+ea_^-0d#i?$)_m zD{E^j-AZ@!4Aj~Tx6IAA#-eUPPGigX6K}gct)rKH2B;lwy_^0(9Sq^3UF{QZxn!=! zmT@0%c5Q7L>;KHEiYeW&Hl9J85V8gj-ITv$19DV_*LEm4=H;|KM~U+wP2X zHcv-KgKD%*<1X5CX9~%dIr*JTbEG($r=iNz95P4uxrO!=dvhVGTWFWr*}84R3dZGH zbMKBT7{)LtP3Lk2DX9g8*2235X(=!e1k!XNDu8!k$-~gtkzpz5Wfr8_u_IlLHR+tM zXYSfu`2}8EW(E@`N{8UlDq7}d_Jiy9*PbnX=^d##&8wEny1YZ0ub>cg?gR+4}EbX`DxTONjepI>|W%}mR+PVYax@2of|~Q*l&r+JPfH58OY=kK)Jv!LCZ;Csss&hC>6u+4t@sQfzq-zy zmX-8ItvJ6elf5t*ju-1szFoNI6e>LS-YIA<6RLqYl`R|@P z(QvY?tQ0`!$7fir8GQEp=MJALmt?a(@>7QO!M&H>uRM0FwC2pI@!6;$@G3U<18FWo zsF`bN*8E4y>OVYx>BO$l&_pu0ZRb4JYcvy`6I2gwLLkL(FMt4YipT~ zbX+OTDz|o|!c!*QW}h-W)1Hl zC3r5nDqWIG7gPj+6@l)Ha}e-8I0wP*i*qpWemDmM?}u~n8TOuYFs%2SgYI{4IR|@H zuQ&(!ZD)SzigVBt(R0p0Pnncsf^m)?e#UjpIerP}1bfcAdj6&P9X7wik2r@NV-?6b zd~VmA!`A4IbJ!Za=bRw89&rwf>n-PqQ9a`v4$(u-VQcr8bNK2~&S7%{Ij6haK+ZvR zgK`co2*x>77n~DpbRhDrVENr~4%H*hp?bkNR4+M)>NV#eL~wQqo{O%^eQ*u}-52K| z;C*log54MAVBr054hG&2=ioE!J?CIp?>PtE@7{6__NrcS4)WWca}IhUdd@lMDZ4l4 zP~CD4CE=W4&v{qRzcjzY1|Q0F*%F9e7Vc}B_URvezO|qDVo9dV*ZRvZz9{qQeNDgL z{h8Oh=C|HhqMy;;=6U})KJWKWd3D}fK6D^W1SGiEH)0{^we^v6D1LyPFT~a=SNN1Oe<0u6Lv2 zV-Hjmt6@-SN15Bbvl6tm+b$%3t@^F&!Y)?~QNU>i`u=5&OXs@v<(0c%zO(W- z&T&^3IxQl7tM%1C{po-+gXDxe6Nt_=lBB{N2}IEfw+|M{SmxZpBJIjt2m^|VVr5P! zp|kJ^0&PMjH*7#NCzBnstsSipiBe*L3cAiPWI&fMyGM6H1@+LJCpElx?-N*O*p<x!M_R9%`Vos&=g!Ptckzr!tNMWzvFb1Q{S9>_AHk5+ z3os;Aoj!f;*O!7yRcAlEjP}M!SOTmKq^eVjQ@5mgR4Y=j0<&po3kkhysuk3z6DR4D z^od(iIjRNeR6$AvXglapbWO)`_}?w5RMm#0s$fMJ3<5B;3!+q2HC;_t-Il0TEl92E zT!7AU1_ri)ELAD1q$_SqWT{pZ-aF+Z*mRJWp*^HmmDA;P8C`l;Bv=K{7jWHbRuUx( zc?(jYksJ3&wnA<^6=Z1il=Lj5BSfKHXP4b0sH@l?d)iz81l6z9OdI;qr!7=-5*A3$ zAY^M3N@SZE7pPHvQF;da!taaHeNnnEO7}(S|CLc1^qamY-4~_d*LB}-=`(#%x-Uxq zuZ+^5cvy(IF_NTYzBZ(N(7xMP?eKA$hlNNTGVfKaf3SK7Q9XhQ9Wu{Vtc9>@2d8-` zks>0i4GE%l$UWDP9KtFdobI7Q_2}BrPKt-zeGTaxtm?sOA8L0S3>k8VN>mT7BCC9G z`iBN;ScvK&cU?nb2&;S${X>vEXy?^wSPXGu<%9iy0?|JPIxR%?5cH3M4hzvg2HK-V z`p1CWXp#Ogpb+L$68&QU=pPiL!$WDI-v(1COro?gLCX!S<)>5_I&JIN!L~FjnV2M7 z#?g8_`WDb2m*m4lw-#C-rc}V<3p7{IhzlsqL-Q;Y6{d#u9OQV2E`rR?&zH$%Ey|&* zwR)LC1`rs#3qlGiuvjM6lux%r4I5xlSk#mp59Gz|gfsnYIzt}(uzvtwET`iE?21Ja($Rw zCYQn#@3{M) zAHr}+s$FA(|MR%(sFV&V@89nfMMn*!V2^O|-R&@9j%J!bN^w&%9n^0Ni#5YPca1WN za=UTqHB=fkq^f^%gFa&VrKrd#S(JeN7E}$FJ`$?aVfru{*1s}Pl*@&Y*HIZ|JVZqt z4Wr)tWG$tqjPhg{H3S%qla$)v(5Z1ZO%#ncm2z%8xuJ!Zm^#;!K?B&}fE6 z=uMGoTHT~Eo19JpS|p^NyQvhs;Z!$k3&jpC$!Kx}Ucn>=&c6JyNq zsPUn_D*%ez@MVsn%bqHDtteRqX+AvT*ex7VU__4`JIP_spW=xYMf3njKr~OBGMa##W9Fv$mU453wYd$^WXh+;UzVTj>W@`SOD z%;+qKFE18iF&DvGaRgUIwI{_!DFS1+#^QN!bWW^hXm;K>CWORbz(DMVLo;B`<-#_O z_NgPsjLx-%EBa;mCOZ>4BiOr05D;_M?c7r2%rNQc--s)HOkLUpa zA~68&uGm{rz5L)~F_7*-Bo3p)?u@9ZDKD*h?|=i&s0)ZVteVXci)(61kCspEIh zSvs}f>LV3ZTZbBq+^^woB5}!{s>-r`BO}J`uc-Oe9D^Yc(K!;ozUsM}veof1gNiF^ zj#n%kb&t3Tu{(Xxyo$F9%wZAvM=Rc5zxVBXARyWnJXK!0dWg|%=)a|OQ&!f@dq?8( zin4ddL>kS;@J9|G*zCy&j`;gWV$eR+MDa-RwW66+J{8HKeQkw5zYZEm`xP{e3Kx4- zL;<0_cc*;&?PRa_3YtRIgr-o{){19E(ViQVzu5i0$8%-E*mHmQ{FfeM;3$w<@nk64 z(>VDrd0#Ar>ia4@qpv)I>XRu`EoiEhcor1xZk+TN_nLq8Tp9oCr`+zk=iMeEjR!e;2OfR1uj2 z&4~IEW%-^X(ks%W61=5VsCBVJsV1zQHfcvlj&MR$c3}kJ zho&22UVW|q@Wr_yq2c5pX8OEdR&QYsVs(L~G}sI;*ZyBjq&-$TF zeh2s>MC!mBS`$AwF&O@BRz#4?h+bH+8V)`U%J3#-d^wBSzh{GJ7x*?uCJxnuyC)=~ zj#aZdMmPu;MYeVc|C2u@RKL%*EBiJBd(+hC4@_(1QWTp%Q#*x|1Usd>n@7C&7}MAHO$D zxp@EZH+R&CccBc4jt=+Ci%_X)8QrXnCWkT2LGxV-bQn*5s(>?gCx@y{GtM3gd!DO@ z?Ca;R>6ehhn$00uSuN%*BLuQMw64pj=Mr=`PlQ3RK96K9l*# zH3@|z$yPH6LJ6z@G?|TnlTZW{r;~>m^AAgawrn&hFx!T1zbGvbV5`lu zV0p2jxOMpgj}06ta9d1**$WmInTpyLFUUq7C)pw-C}VCcFM^d~;k7{w&w)i9%b|Ug zKY2`^J7-9gl4U@YkA|`F1PIvTq9S;I@E&=8Ko@lsBP`@^S+{8ZjEw$jc*r3ZqkI|Y z+8p<>Q2Z8Q6Cd#f=*Fc>=T1wrASisWRy$-=Q4x#gh)+Pf%BASPLc`CjSn_aTszs$z z%Zyp$Cyrsk0_PF*l!5FE0`BnS3_@>SwPgPEtfbdpi%cwj{K2$1zG;r`crbap5D0#_ zFlEQho7-j$vzWDVzGThpEV8Vbq>a*CAeF+iro~YSBBN8$fK< zVMX(nu782QXgsfRaCnPgdSfJ2ar8MUJkx^UnuH`{@~j2Ro_dKi&T^Uz-&OPuLi5Cm zgsS=Y9R$8H?ENk%m}rYtg(x(}418&eIu(ABf&V{Id8B{i$4d50Q^*v3SNg zv1o3ZTCO$>n?7&ZQ{2%vfslr&jD;I_%%G^uf4`UvuOddms|W!u*F?k)Eu0&nHYUwj zuzVwT^k~>8OJgkl7hj5AN4#&|&f?LH0}i{cGWS=h!;;2NpSyG&d-#OGU|8q!A~X9y z^C|Qg3hX5b3jskwU@uXaagUIO9lR}KFfMG35QQ+D<{1pcv_1y=$7QfcJ!PWW^-<{d zi_#(niww=kwHxfMxf!96$dv-N#SEs;u*I9=+iV$n#9)#w!eFomDmOkJNk#BJ1VUnb zdoBgl8&Pgd+z@NpusF5W60L~lO9Tc(SbKcD@NxvI*jX^jP8go!$w|>^%t-X(N(hB< zSWcqC?PBP+Xphm>v>f*cD}ovfLs#sLkH=+A@Lq-My5WYq04JsAxJD%Fv=L!B>vmRG zb6|nNx@|flk;!q59Jyor;Oyd!Z*7`QnkF5#Zkmo7mT7m5c;n{H9kUmX$&QU6P4f)a zRnu3|Sw|*V)3b^YflZ7XG>{%BTr<*53*L4MLTljNaf^y4Fz#{-492w#y)RlOgSRa@ zc-z7^!0r`&ejRtxP=~XHA}3BdX^p6vsHkZCAAa>B*+GarYdZGqAjYBxZ$qstU-~aX`aKnZTk7chYoMfi2!t_b9icOC~2B> z#z@m)n!u*R`;Qp+=;OGDXohTG`0=7jACJI~P5C$*j**+MEkmy-VB(kHzcWe5I z8&}TmeQDzwDBwn74I<@oU(>{6w>~bOl80m$Jd>vl4aFKnlu4PlCI7{1XQq1&5kExM5%kjJb*=awESm z6YXyG9=Nf=t#YH;J8Z2e$sjDKk^jdpA7N|2Yxs5;a5YFIKekT$Yu!ZXkD*yHw6mET zZZ&`tACdF7uKej;A6FyMc@qhb=ryD3#cSK0YA14)M8{3M+7jft-?_RuAQuE|=e7$= z9cl*}dXdP9k5lcmz0K)y+SPVE)?!F*6P6vJN~j%=uo%MWk7y)DNNyVgV=G`)Tj*v3 zm7ozAA%*F9z(q(x3Dv-a@uRhf25DqEX3r6ZX^F)~0~1DuXNkK12IfY-R;v#g`$$8@ z@?4V+{F}Th!kUPT>ez^Wz2@@Tj*hvC)@{m%@5?C0EWLcNILnMjK=C8Dc+@izl!p0{ zUC#+dzbF-B##}hCFa<{Xz{_%eBo>d`gm8AgHJGEruJF_jUyXnUHFrz8g8Z~K?ITy8g3Wnj`XzZ_JD7k>0!(?qye z)Ko8XM}#O89Go2cW_0WhFs$4tm?ku-uI|(NI=ZgIgTSHDz6ECvEy%Ix6$(y2B;aQe z*eQU&f~j?N7uTLTclL}2##AYW#?4*-yBAicjRYwz5W6J+dn@lmeeJO1q<1gW!f-C? znmTszwsQ++>Y>X+h63=nsuMQ9_LDiu!_&unc*+IXCf(@uC-=-xMlEo1AGus_v6p*! zhs#ZK*IU7S=Q;e*wxL-=*VLbIQIuRYa_)OaSBwgkAvX!!!P`N108{SHJ)X6wzNW?r z-9@Eu%DDrJGxgZdob325a?x;~%q3j3@6epP)Ags{tEzHpwYrGR;gpN34a6UKWHiBHe8 z!n8Uo<6t^6fn`dt($~i_h$}FM{G+i95%&UEM%2*;eNW6YqK>)&7FY0ZT)E*uY1Q$H zx1U@6_`D+al@`27Lu#IwW>DW>&-@o=nI(@szIk6+S#|jvFRfqp&_h%5^I;e;V2}U= z7(y~go6$1ga2&Jdsi&WMd;ihu(%mnwSU7d+H2m^PKoN>TD6*c@UoZLQFI}@?=aGui zn*AlKRxX-28FzdH93dEl6Rqv^y>Ic7;wPWmRe5A@>8`CC*G!qj0dK=$b|M!9Rx$q} zaLd%03)gLW?#QuYN6KD(dG+jBm>Xn_6nuwe79^I4*5CNv`^b{zPd>eMUsdJd@;6`J z@Yn(l%wHhFE2veam{z{`%y@X|>P@fjFRMIMy63g0pI(HiK{#8&DlAk?Ds%k)XLjs3 zR(%teF#lB)q^OMU*o8;rRo zxPHsNcgrhEcWqgqZ&ve z5=l)=BBH)BB9WXpCPA+?nY1A>OsWr7b!W##u!5SHMQ|5f$I(dY1C~&j9soLox?ift z>A^I@cl5xbJ0F^MQLn4%@McOF(pkCV z$#Z0<^jC%;G`yl77&DyjaqwuuD;!!(EIH|kVJaD%I*cQcJuui2h$Z~MV@1^Ba%R{f zw18DA!urL>jpB#P@$GiPipXU|`hdX^a&)(}VF|HzFE_w}TyZJ8@QsV;h3PlIs7AM2 zt{s>@!oiP_AUlxq3%>&q!6cdcL+=cBpb8x_G}qzdhsg0qPZ);BiYUewGuUKA&xAfI zKHEEHY#^2p1&0-Lj6EqnR0HkGRmRAK;m$m6Gz0N)DOTKD`QDLjO*gCHs>!JkHr;)G) zLw#@>mJ>&Fr#hwG3OxM@=Zn)W1@5ond~w>Tz+Fk4FHSoYxTA;j?Fu|dk)&Z%2Tte8 z*||A*qfpLH#=#p2@Hq?+iSXwzm`)$d2*`nth2S-}W6|eExYf1$F?Skl{Mtk@%t9EsO<{5CXy#^vO|)`#6xtRoNsYHf>-R)4H{jzNqBW!=QHFTU9h@Ov zNGB5QQnWe_-lb^O8@w%AXE_QTp|G@aG&&oya5Dbdhp;j-zIyD^$NkXPL(p2tu*h+L z^udtKOlAPe3%Go}%4vveNC@yTzfJHlzfJHlzfJHlXGO6+5l$j77~xT0yrlf`1&VIm3APUmhUKC^uAKe}@_#xAb{y;?*ymth zgWaI$tDx0hHG{>2F<@S>La+s3Yr(dF?F2grb{y;?*ymthgWaI$Yceo1SUea5<^?MR zTL88eYzx>>~G&*;Q0w{qvPmnKk)ke zt+)HGztsOBqLm2tvnY-7|L3=rt@PU>mtgEJ@KfA^+x5uwpPMzxf#0lVBUcHiJC}_9ECTVB5iVfxQW~7wiDo zA+Td$6<{@BAArGN)thx-4PckSJ_h>~>@%=`2KzU#KZAV*_6^u~U_XLg2fGE<1l9(} zN`WcBG+-fMCa?%F3s@}JAg~0mB(M~)46xx~Bf;!oZm>MCF<|4tCWB1_D*~GXHV<73 fh~Oxy1vfV01usLG{|n{pQ-Pk0&PILJBai-Xn0MH2 literal 0 HcmV?d00001 diff --git a/plugins/samplesink/testsink/readme.md b/plugins/samplesink/testsink/readme.md new file mode 100644 index 000000000..cf3ceff0b --- /dev/null +++ b/plugins/samplesink/testsink/readme.md @@ -0,0 +1,43 @@ +

Test sink plugin

+ +

Introduction

+ +This output sample sink plugin sends its samples to a spectrum display. + +

Build

+ +The plugin is always built. + +

Interface

+ +![Test sink plugin GUI](../../../doc/img/TestSink.png) + +

1: Start/Stop

+ +Device start / stop button. + + - Blue triangle icon: device is ready and can be started + - Red square icon: device is running and can be stopped + - Magenta (or pink) square icon: an error occurred + +

2: Output stream sample rate

+ +This is the output stream sample rate in kS/s after interpolation (4) from the baseband stream. Thus this is the sample rate (5) multiplied by the interpolation factor (4). + +

3: Frequency

+ +This is the center frequency in kHz that will be put in the file header. + +

4: Interpolation factor

+ +The baseband stream is interpolated by this value before being sent to spectrum display. It can vary in powers of two from 1 (no interpolation) to 64. + +

5: Baseband sample rate

+ +This is the baseband sample rate before interpolation in S/s. + +Use the wheels to adjust the sample rate. Left click on a digit sets the cursor position at this digit. Right click on a digit sets all digits on the right to zero. This effectively floors value at the digit position. Wheels are moved with the mousewheel while pointing at the wheel or by selecting the wheel with the left mouse click and using the keyboard arrows. Pressing shift simultaneously moves digit by 5 and pressing control moves it by 2. + +

6: Spectrum display

+ +This is the final output stream spectrum display after interpolation (4). This would be sent to the hardware device. Controls on the bottom of the panel are identical to the ones of the main spectrum display. \ No newline at end of file