diff --git a/NEWS b/NEWS index 2e9ea2094..1b43c3842 100644 --- a/NEWS +++ b/NEWS @@ -14,6 +14,7 @@ Version 4.0 * New model: Icom IC-R8600. Ekki, DF4OR * New utility: rigctlcom. Mike, W9MDB * New model: FT847UNI for unidirectional early serial numbers. Mike, W9MDB + * Remove GNU Texinfo files and build system dependency. Version 3.3 2018-08-12 diff --git a/README.betatester b/README.betatester index 2f0b2d1e3..622f2330b 100644 --- a/README.betatester +++ b/README.betatester @@ -95,7 +95,6 @@ package libusb-1.0 which is what is needed. Documentation: * Doxygen -* Texinfo (for rebuilding the new info and HTML manual) Git master branch daily snapshot build: diff --git a/README.developer b/README.developer index 1c85d525e..40989368a 100644 --- a/README.developer +++ b/README.developer @@ -235,7 +235,6 @@ distributions may differ). * automake 1.11 # automake --version * libtool 2.2.6b+ # libtool --version * Git for connection to git.code.sf.net/p/hamlib/code -* texinfo 4.13a # makeinfo --version N.B. Hamlib requires libtool >= 2.2.6b in compliance with CVE-2009-3736. @@ -249,7 +248,6 @@ Optional, but highly recommended: * libgd2 devel # gdlib-config --version * libusb-1.0 devel # 1.0.0 or newer * libreadline devel # ver 5.2 or newer -* texlive # 5.1 tested with 'make distcheck' * pkg-config 0.9.0 # pkg-config --version (libxml and USRP) N.B.: The libusb-1.0 package is required for building most of the 'kit' diff --git a/doc/Hamlib_design.eps b/doc/Hamlib_design.eps deleted file mode 100644 index 63bf0ff4a..000000000 --- a/doc/Hamlib_design.eps +++ /dev/null @@ -1,1058 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: GIMP PostScript file plugin V 1.17 by Peter Kirchgessner -%%Title: Hamlib_design.eps -%%CreationDate: Tue May 7 15:35:15 2013 -%%DocumentData: Clean7Bit -%%LanguageLevel: 2 -%%Pages: 1 -%%BoundingBox: 14 14 315 162 -%%EndComments -%%BeginProlog -% Use own dictionary to avoid conflicts -10 dict begin -%%EndProlog -%%Page: 1 1 -% Translate for offset -14.173228346456694 14.173228346456694 translate -% Translate to begin of first scanline -0 147.73138582677166 translate -299.96220472440945 -147.73138582677166 scale -% Image geometry -400 197 8 -% Transformation matrix -[ 400 0 0 197 0 0 ] -% Strings to hold RGB-samples per scanline -/rstr 400 string def -/gstr 400 string def -/bstr 400 string def -{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} -{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} -true 3 -%%BeginData: 55137 ASCII Bytes -colorimage -Jc:6"Jc>3=J,~> -JcC<$JcG9?J,~> -Jc()sJc,'9J,~> -Jc:6"Jc>3=J,~> -JcC<$JcG9?J,~> -Jc()sJc,'9J,~> -Jc:6"Jc>3=J,~> -JcC<$JcG9?J,~> -Jc()sJc,'9J,~> -Jc:6"Jc>3=J,~> -JcC<$JcG9?J,~> -Jc()sJc,'9J,~> -gAV-HnU^[jrgNh:~> -gA_3Ko7?pms-it<~> -gAD!Dn:CLgr0mP6~> -mJ[1EDq"7U"J\ujH0Fhu!r@i(Jc:6"!rg$)rVch1na6;U\Gg+FF1D5KqNStNrdX~> -mJd7HE7OLY"Jo2pHg:2%!rS&.JcC<$!rp0.rVln4oBlPX])HCJFh7VQr0GCTs*t~> -mJI%ADUJ"P"JJfeGj"Yq!r.Z#Jc()s!rTj%rVQ\.nEp,R\,KtDEjtuEplr_Kr."~> -mJ[0F")m`/"JATbK';n,"miGlqNTR3rW1pQrr)rbnaQM^p2g)snaW(CrWW/^hr!esK`2%Aa;"ak-NB~> -mJd6I"`X#3"JSfhK^/71"n&Yqr0H!9rrM*Vrr3#eoC2bapiZN&oCJLIrrr>ciSj5&K`;+D=8`'t -! -mJI$C!cIQ+"J8K^J`l_("m`>hpls=0quPXKrqlf_nF6>[oQ'`mnF2k@quulYh;.DlK_tn><;?Ij -! -mf#-@2bY7^rr2-Jkhl+5p>>T$m/I!W;#]AKrq>7,m/HkFg>Dc+Y9MltjS&THhr"/,rp8k=hsn2T -!=7ccrW-qhnGWXY#l8V,g(X;]#4Zai.k"rq>7,nc&O]hr!u'rpf49 -m/HtbMdubc&7^=kroinOp>=TXm/Hk=g?@PqJ,~> -mf,3C3DLXes8VBPlJ_OO@ -mf*4eNFi+h&7pOps6B4Upu1#`mf34Dh!3o!J,~> -mef!<2bP.[r;>aDkM>e.o\K/qlhp[Q:]0&Dr:Jh$lhpP@g"lH$Xs)Wnj7N9Ah;.`$r9NP8h=.oO -!=%T`quL\dnGELV#5E5'fb+&X#4QXf.OmC$o_\aZoTT1SR8it\r"9(sr:Jh$nGN4Vh;.Sur:&n4 -li-e_MIQS_&7U4gr9*SIo\J3RlhpP6g#qAmJ,~> -mf#/e-drR3rr-D72^3#5_'3M>4kBV*;"5a`hbZ'eIf?625q@QW:^C(T4h0][2`GC>re=6R,"ML> -rW*;crr)q:K(/aDlj3ISn_+ZPrW]tihu<>okk4oVqJWm-rW8NgqYpI,"75_]2a*W/nS1?[9],i< -2b0,3rYCE%rr2aoPlCMUU[`D!@i]joJhfW5p>c.&~> -mf,5h.+Jj9s8QY=3?r>;_]rkD5M6"1;Y)-giDMKmJ,cK767df];@6L\5J$,c3B:gFs+jQY,>%gC -rrEJhrr3"u5C -3D#P9rt^T*s8W!uQN-k\V=Sh)AKH3uKJZ# -mef#b-IE7-r;:#22^)o1^`d;:4OsA%:[fO\h+oaaI/Kj,5Uq?S:BjeO4LaKW2`G@HohkOn`SphmR)quW9cq#:1(!pfJX2a!N+n7b-X9ATN6 -2b0,3r"b0!r;?=hPl1;PU%!(q@N9XjJMBE1o],k"~> -mf#.jBDPV4rr-CTc-n&Z_$H:h>C$4@;"5a`B4pr;nc%V>rjsBR`@(ZY4h-5Np@1YJre;6$j9Y+^ -rW*;crr*pVK)Wl;?ZXs#p2e&kF6'*#VuH#gqO4M>'?+I5nbrFg\2*.DrZ9d.nc&N>c0U$hH1ABb -4fA.mDeH0Jp1hQ]H0CJsZ_RL$RT94`rXo>"j::8MpAULDnbQI=rgFYBpAY%+MbqmEL,\2mqG@NJ,~> -mf,4mC&D% -mef"gB)#>/r;:"Nbg@cU^]p%d>'Tt;:[fO\AnL]5nGM>9r44'L`$YES4L^#Jo^GAEr.Potis+hZ -quI#^rqmdSJc*T6?ZOitoQ%`fEoWisVYo`apmJ29&]A.0nGW7d[kZqAr#XO*nGN38bj0geGjr0^ -4JqnhDJ#sEoP)6XGit;pZD7=!R8it\r"9(sisauGo_b+>nG$17r0\>=o`"b'MGMX@KfA&ipeRTW -1$eaHGk -n,=9r-^rM=%da1)K)YI;UVSJWrhE!_TMY/&g*a`8rYY@FRXQ(P`@(ZY4h+1\rr.gcre=q^rWqSp -rW*;7rllH`K)VF<]3eeAp+f=+5s]dJ([UJoqIbQ:#Z-a9If96llqB?mc1_/1-b00>*V"_T]RQ!ohGnZtP!h*-crr*H2m.NS*RdC#\.q`KR -n,F?u.%JhD&+9I/K`CgBV8Fk^s.r[IYVES2j>oHPE7T!h -n,+-o-CN88%.!h#Jc,.5Tti/Qr1QXYT24r"fd=N5r##(AR=#eJ`$YES4L[tWr;;F]r.SVXr!)2k -quI#2rlcB^Jc).6\mJY=oJ'"'5X9RF(@18jph#65##CI5I/WshlUs0jbk1i*-F`p9*:SMP\utPY -2hBYt0rD62ZLB#:R5[cdGS-_K!h!$_rqm -n,=99(Hk&I%\Wf2MuNEDVnjn_rhE0dTMY/&g*al(brWqSp -rW*9jr^S"MK)YcCjIeI2p+iQFPX5$,'Ar-^qIbQ:%b(EA/,K5D-1%'j,$X.-F(>36A,^pIe+We; -9W.l&:sI6hBCR1UrdI]?hZNSJrXYc#qYpKa"7cBSRQ"IM@ncm<"4R7< -n,F?<)*^GP�)8NW8cKWP^:es.rKjU/LS-gaL5ArtoNj_lamWa!gu_5IsFcs8S'is+kChrsInu -rrEHnr^e.PK`D)Ik+Xm9pb\uMQ9tB3']JHer+UuB&(U]G/H#JH-179p,@0I3F_1T=AcI6OebK1B -:9"8-;U -n,+-6(-FiE%%mH,MZ!*>VSF\Zr1Qd]T24r"fd=Z9r"s-c^oJ7K`$YES4L[hXr;;F]r.Sb\r!)2k -quI!er^S"LJc,H -n,<>tIfB=&B1Mr2MuMThe%mR6p1&jVTMY/&g0\dlrp9Uoe,$Qjp<=u]p-#p7BD2$qRf8%Srr*2a -\GcL7jSo-"Dh@tl@sM9;rq8+drfgXdkS)k?#l81gg(XJbZQer:rZh9a7s"[K,4%8)rodQ:>NkoW -VuBLC>?b*cnKQ]dJoCYL"88Pi( -n,EE"J,]I(BhA>9NW7roe\`sC&%I$SH"CZs8NGg -\GlR:k5PB%E.n7rAU@]Cs7eFks-?sjl4i4F$N+Uog_Beg[3P;?s!.Hf8Tk'R,ORS0s6_ -WW,jI?!UNko-<&jKQ-tR"o+nn(=+PXs88T>s8; -n,*2qI/a%"Ak2c.MYu9bdD.70oO3GZR -VYj4>>$=m_n0-K_JStDG!q`;d( -nGWLQ-e&(o1W9XW@jbJNK)WRl:f(0Qrh**X,21U24\U/#>;Alb.s'o0Dt-!#hb6j?!=?rgGV=rr2rorr*.kf@7t1/A -nG`RT.+S=s1WKj]ALLhUK`Aps;GpTYs.WE_,M^p95>HS*>r5;j/9U57E:Z<*iD*9G=6fgAC&e2? -k.(El$Kh?f*cQet/C4@-3WJk2a8_H2s6: -nGWLZanl#91]"rS@qWX,qYn;T_8YsDrohi-`V0;p`Ppp;n\rcHf$jWPanj9Krp7VGnc&OFgA_)f -p:1)&#iu!a*H-Pn,*]98-dD??`Vu*+rob$Qlj3H#L>!-gdmoZ$r[,-ZUVX9"Rf<;8#_r?XXLQ)0 -VuC%EkfkW0`OibP,23$JDuSf"p7hO#f"o>hrr2cC_9M]Qrq=gWalr`be,91Ghq%f+&GjB'rmU*1 -p=ek'Rf;3``UVseJ,~> -nG`R]bP_A>1]5/YASK'4r;XYZ_oMBKs6A/4a8#]"a2d?Bo>f2Pf[^#WbP]]Ss6dqNoDejLh#IDl -ppg>)$Kh?f*H6\s,F5T?.*qZFa8_H2s6: -nGE@WaS>c41\ecO@V3F'q#%oN^r5a?r9)K&`:Wuj`5L^6nANQCe^= -kPbKlMuEVU_(1TG!DMkZrZ.5uqQ*M.`H.:;C=E0gLApO>kj_@CPc*S4?Y?&*rVe/-P[@*gVtU,h -_%,B%rjZ04Mt[.p>J^<\C/AEHp0Zn[UQkcE8+qN5rVcu%Vn7[6e(t"R~> -kPkQoNW&kX_^plK!D`(^ruIE%r2rq5a*!^CCXrHmM#ZmElLRdKQDs"<@;2J2rVn50Q=3NoWVHMn -_[k`+s12K;NVNP"?,Q]cCJn`OpgN=bV3_/L8bdl:rVm&(WP+*=e_U7U~> -kPP?iMZ*GR^abEC!DDbXr#M#qpo@2)`,_+7C!ljaL&C79kO;.>Pc!J2?Y5r&rVS#*P[@'eVY'fa -^^T&sr3oj/MY-hj>/:'WBhr3DoO$YVTp5K@8+_B1rVQi"VRhI2dG=_N~> -kPbLoc2IVBjJ.;*hu3\A9_s>>ir0(m@o-pZh#;g~> -kPkRrci*kEk,!Y/hu -kPP@lbl.G?j.V&%hu!P?9DF)9iqrqj@S^^Vh#)[~> -JcEbJc<.XJ,~> -JcEIa!rPWhJcE4ZJ,~> -Jc*7[!r,9_Jc*"TJ,~> -Jc<@^!T3U%rjVlW~> -JcEF`!TEg)s0r#Y~> -Jc*4Z!T!C!r3uTS~> -Jc:6"Jc>3=J,~> -JcC<$JcG9?J,~> -Jc()sJc,'9J,~> -lM^e4hk0tQe,B@;JY:hl!6*jp!:d[o!7U64J,~> -lMgk7hkC+Ue,KF>JYLtp!6=!s!;!gs!7gB7J,~> -lMLY0hk'nOe,048JY1bj!6!dm!:[Um!7C*0J,~> -li$p[K&6Y3/%a]irW1!JJHO^1!b\;%ir/tt\@VhDJtqZ2J,~> -li.!^K\lq7/A:#nrrL0OJHaj5!bnM+ir9&"]"8+HKVe#7J,~> -lhgdWJ_pM1._=HequOaFJHFX/!bS.uiqrhq\%;\BJYDE-J,~> -m/@'$!tO/i!XL=6f_tr^#S)Cfh#d`b"&SjTrW9S8%_DfE%KgJ4rdX~> -m/I-&"V9Gn!X^L;f`)#a$4h[kh$!lf"]G9ZrrTb=&%_uH%g?b8s*t~> -m/-p!!Y!oe!X:.1f_bf["q6%ah#[Z_!`/UPquX>3%(cQB$j(/0r."~> -mJ[*#rW<.5i+`B=!s:(7gAV5e#Qk/pJSO%V!seu2;!%ZZ]*JK@6+q"5BDqu5C@2"N~> -mJd0%rWN:9i+iH?"U-I>gA_;h$3^T"JSX+X!t#28;W[o]]a=oH6G7.7C&S89C[M.P~> -mJHrurW3(3i+W<;!Wjk3gAD)b"p+ikJSEtT!sSf.:Z_KW\cr3;5eUk3B)Vi3C$khK~> -mf!3$rW<.qhu3f5+p.otjP9_<]*JK@;"fJ>hYmYf#Qk0&kPbXs#Qk0*p:UA)U](>qC@;(O~> -mf*9&rWN:uhu^VuC[V4Q~> -med'!rW3(nhu!Z2+T_]pj4sP9\cr3;:\959hY[Mc"p+j!kPPLp"p+j%oXt)%U&G)nC$tnL~> -n,<<%rW<.qh>RT3+p.otjPKk>_$C,F;#5bBh#7Gg#Qk0*l2Ck&#Qk0*qRZY+U](>qC@D.P~> -n,EB'rWN:uh>[Z6,6\6%k2-+A_[6PN;Z)+Gh#@Mj$3^T2l2Lq)$3^T2r4;n.V>^VuC[_:R~> -n,*0"rW3(nh>@H0+T_]pj50\;^]jiA:\]M=h#%;d"p+j%l21_#"p+j%pq$A'U&G)nC%(tM~> -nGWE&rW<.qg\qB1+p.otkhuF?_>XN;9_s>>gAV)arW<-sli$n#rW<0pqRHM)U](>qC@M4Q~> -nG`K(rWN:ug]%H4,6\6%lJV[B_u9f?:Af\CgA_/drWN:"li-t&rWN^VuC[h@S~> -nGE9#rW3(ng\_6.+T_]pkMZ7<_#=B99DF)9gACr^rW3'qlhgaurW3*nppg5%U&G)nC%2%N~> -nbrN,rW<.qg&;04*XN:9S*2prW'S0!ru0brW'e6!ru$&rW&_m!s!90rdX~> -nc&T.rWN:ug&D67*X)]ulJhgD_u9f>:4`GsrrBb3"TVHfrrBt9"TV<*rrAnp"TWN3s*t~> -nb`B)rW3(ng&)$0*!-0kkMlC>_#=B897d#mquF>-!WZ$`quFP3!WYm$quEGi!W[-.r."~> -o)8W-rW<.qfDYs2*XN:9S*2nrW'e6!ru0drW'e6!ru$$rW&_m!s!91rdX~> -o)A]/rWN:ufDc$5*X)]ulK%sF_u9f>:4`GqrrBt9"TVHhrrBt9"TV<(rrAnp"TWN4s*t~> -o)&K*rW3(nfDGg.*!-0kkN)O@_#=B897d#kquFP3!WZ$bquFP3!WYm"quEGi!W[-/r."~> -oDS`.rW<.nec#a0+p.otkiVjI_$C,F9S*2lrW'S0!s)6po)8d.#Qk0&Z2O`rrW<.=oDX7~> -oD\f0rWN:rec,g3,6\6%lK8*L_[6PN:4`GorrBb3"T_O!o)Aj1$3^T.Z2XfurWN:@oDa=~> -oDAT+rW3(lebfU,+T_]pkN;[F^]jiA97d#iquF>-!Wc*lo)&X+"p+j!Z2=TorW3(;oDF+~> -p&5!gF8c7AT[WlDg*-V$/*Q3r"Mk?G"%RqAdJa<]#Qk0/qXjai_$C,F8$DmlT`,#oF8GS/J,~> -p&>'jFoDOEU=9,Gg`lt+/F)I!"N(QM"\F:FdJjB`$3^T7r:L!l_[6PN8[&-oUAb;sFo:q4J,~> -p&"jcErH+?T@<]Afc^Cu.d-$n"Mb3C!_7h>dJO0Z"p+j*q"4Ie^]jiA8$DgjTDelmEqo>*J,~> -pAP*hF8c7ARaM* -pAY0kFoDOESC.??g`lt+/F)O#"MG-G"\sXKci40[$3^T7q"F^j]a=oH:9FNrSGiZmFo:t5J,~> -pA=sdErH+?RF1p9fc^Cu.d-*p"M+d=!_\+BchmsU"p+j*o_/1c\cr3;9 -p\k?mEruLMRa:s:g*-V$/*Q@!"hP6H"&/QBrm(KH\-N0=>P@jk"hP6H"&/QmrWS_r!s -p\tEpFThpUSBq3=g`lt+/F)U%"hbEM"]"uHs3CWJ\dATE?243p"hbEM"]"usrrno""U0&Hp]#a~> -p\Y3iEWQ:HREtd7fc^Cu.d-0r"hG*D!_`<>r6G3D[fum8>4hUf"hG*D!_` -p\kSc2Ik"+p/+\m/@-/!s;6jJc -p\tB]3<]b[c2Rq%,6\Fcm/I32"U.ZrJcEso"LSR?,M`(o"EakO:ACjh"Iof&3U6A=J,~> -p\Y0W2Za2Oc27^t+T_kWm/.!,!Wl$eJc*ai"L845+kcYg"EFPF9D#7^"ITGq2s9r5J,~> -pAP-W4dsRn!no07lM^j+;"fJ>b5MIK1>;I$!cq33W;Zje4m;V=J,~> -pAY3Z5Ffps!o,? -pA>!T4IOCj!nf'4lML^(:\959b5;=H1"l9u!ch*/W;H^b4QlG9J,~> -Jc:6"Jc>3=J,~> -JcC<$JcG9?J,~> -Jc()sJc,'9J,~> -Jc:6"Jc>3=J,~> -JcC<$JcG9?J,~> -Jc()sJc,'9J,~> -Jc:6"Jc>3=J,~> -JcC<$JcG9?J,~> -Jc()sJc,'9J,~> -Jc:6"Jc>3=J,~> -JcC<$JcG9?J,~> -Jc()sJc,'9J,~> -Jc:6"Jc>3=J,~> -JcC<$JcG9?J,~> -Jc()sJc,'9J,~> -Jc:6"Jc>3=J,~> -JcC<$JcG9?J,~> -Jc()sJc,'9J,~> -Rf3 -Rf -Rf!0AJc()sg&-@~> -S,NH;7tLYjrn7:$~> -S,WN>8V-nms4RF&~> -S,<<77tLShr7V!u~> -SGiT=Q?.WVJc=@%J,~> -SGrZ@SpQ%gJcFF'J,~> -SGWH9VLjBsJc+4!J,~> -Sc/`BQJln9rdk(%rdX~> -Sc8fET'^lUs+14's*t~> -SbrT?VYl$sr.4e!r."~> -T)JlDQJpeDYPnO@]rqFGaSl1U`NK9jkl-)~> -T)SrGT'bolYQ"UC]s.RKaSu7X`N]Enkl6/~> -T)8`AVYp@DYP\C=]rh@EaSZ%R`NB3gkkor~> -TDel?QN#hCF0PWEZ[KQB!G!q,rW0@=`m4["Id$c]~> -TDnrBT)S*WHa*MN\Y[$M!J`YVrrKO+`jYtRJ*?o_~> -TDS`;VZ-JnK!>.R]t_;/!Ll -T`+u@QMobBF0Y]FZ\?,l!ejo\b5MFJcc5tdP/r:>rdX~> -T`5&CT)J$VHa3SO\Z`a)!j@,bb5VLM\&R8+HCfTLs*t~> -T_niBPAXr."~> -U&G)AQMf\AF0bcGZ\?,l",1$2 -U&P/DT)@sUHa -U&4r=VYp>lK!P:T]u[qf"3@.jFj'[`ZA?Mq"']nuIH^TZ~> -UAb2BQM]V@F0kiHZ\?,l"GL-3J6'nn!OL+lrreA'gt[PGrdX~> -UAk8ET)7mTHaE_Q\Z`a)"L!?ZY@PlW!O]DVh?87uYHNE=s*t~> -UAP&>VYg8kK!Y@U]u[qf"N[7kgi^j=!O@O$UBFeDJ:N(3r."~> -U](;CQMTP?F0toIZ\?,l!JOhYJ,iWprW0@O`r?("aSsrpKBW;b~> -U]1AFT).gSHaNeR\Z`a)!O%%QY5i+XrrKO:`ng`ET)PnnId$f^~> -U\k/?VY^2jK!bFV]u[qf!Q^r5g]2KAquO*Z`hNQ=FoHmkIH^TZ~> -V#CDDQMKJ>F1(uJ]7mtt!JOhXJ,iWqrW0@=`r?(&aSjloKBW;b~> -V#LJGT)%aRHaWkS^otK0!O%%PY5i+YrrKO+`ng`BT)GhmId$f^~> -V#18@VYU,iK!kLW_T9Ik!Q^r4g]2KBquO*R`hNQ=Fo?gjIH^TZ~> -V>^MHQMBD=F12&KY<'@$!+#MQ!*7GF!OL+lrrJ/$r7h:)kl-)~> -V>gSKT(q[QHa`qTYtVi[!.b!N!+aFU!O]DVh>r%rr3$*Lkl6/~> -V>LAEVYL&hK!tRXY#i<"!208F!-QWc!O@O$UB+SAr."cqkkor~> -VZ$VIQM9> -VZ-\LT(hUPHa`qSI_EPuBrh08!+aIV!T?2]BE:knql^!Kkl6/~> -VYgJFVYBugK!tRWJA(@OK@g%V!-QZd!SoHL;#r^tqg\Zpkkor~> -Vu?_JQM08;F12&JH+fRG -VuHeMT(_OOHa`qSI_Er+D6*T -Vu-SGVY9ofK!tRWJA(s`LtDR[!-QZd!Sq##QN:`7qg\Zpkkor~> -W;ZhOQM'2:F12&JH+fRG -W;cnRT(VINHa`qSI_Er+D6*T -W;H\LVY0ieK!tRWJA(s`LtDR[!-QZd!Sq##QN:`7qg\Zpkkor~> -WVuqPQLs,9F12&JH+fRG -WW*"ST(MCMHa`qSI_Er+D6*T -WVceMVY'cdK!tRWJA(s`LtDR[!-Ro2s7cZ2I!kP`"P%mIkP4cK!Sq##QN:`7qg\Zpkkor~> -Wr<%QQLj&8F12&JH+fRG -WrE+TT(D=LHa`qSI_Er+D6*THa3ADqu6]UJB#h7MO"(B!.O/3 -J,~> -Wr)nNVXs]cK!tRWJA(s`LtDR[!-S,8rq$8LGXqZ5oDATor;m+9Gcp]6qtpKN>fN*2B5@Bp!.F)/ -J,~> -X8W.NQL`u7F12&JH1[I(O62f4P`LlgO8bLHPl-RBPkCCE -X8`4TT(;7KHa`qSIe:ha`9,8HaMc$5`;[s\aS`sVaS!aXD6*TYF`eSr"nV`o[J9t3 -3H]]?oDejLJB#h7MO"(B!.O/3J,~> -X8E"WVXjWbK!tRWJFrjApZDJYr:fsRp\t0mr;?9hr:U'jLtDR[!-S;=s6p,TEcMri!qZfN*2B5@Bp!.F)/J,~> -XSr7SQLWo6F12&JH1[I)'mo,2$!%0@$lE$4QpD,Y&HH,0QiU67rdb#q"$(:<>O_geDZEW,!sAmJ -DkNcmrW0L4g&;#Q\GP%]KBW;b~> -XT&=VT(21JHa`qSIe:hb)l2Z@$$HXm'H_MBbZ#/P(]]*ZbQ2R]ric?t"%[BM?1A*iDu`f/"U#0O -E2%mPblO)jg!'PTQ2@`bId$f^~> -XS`+PVXaQaK!tRWJFrjB+j9'K$'5T:)C:LFs(N/F*<;c*rrIr-rnROs"'BGY>4D[cD?*K*!X&^F -DP(2'QN;)Afp;_PC\rV^IH^TZ~> -Xo8@TOmq<0F12&JH1[I)'mo,2$!'0UQu)teQpFdBQjHf?J:MuD;'?SYd/sBAnGWHADqY*jX18&^ -!/'M7J,~> -XoAFWRIKSDHa`qSIe:hb)l2Z@$$K+gba/[TbZ&HKbR&-eYHP!?BIac(d00N#nBCuI>1q.$MO"(B -!.O/3J,~> -Xo&4QU%%s[K!tRWJFrjB+j9'K$'8]ts1Jm9s(R;Yrs=M5gt^M6K/O;Gd/j;Qn -Y5SIUOmh6/F12&JH1[I?'ml=.<^orIR"/%+D4$];;0,3?N_rZ/rKmml4IDLr$^@#E -Y5\OXRIBMCHa`qSIe:i#)l1]kG$/Lsbcb\cQd![SBUr:c]l7YorQGRk:X%%r&BN'pD=GaMD6*T< -#%[bIQ@BbdoEFiP!,:s,!.aR`$trhhc,7'$_p-HD\A%se#Iqgg^ -Y5A=RU$qmZK!tRWJFrjX+j9oOODfdGs4i6J^&S,aK>VW1l\^>UrVm1cAH2\q'E%lEM"(EFLtDR[ -#'KjTP^F5YoE+WK!+ta&!*o#[$rK?XQ]m8_PF%W"M3%Y&#DnS(O-c&ePOFh=B5@Bp!.F)/J,~> -YPnRROm_0.F3"7[e+$oJ3V8[T'mkuj4CV?ONZ;)*+_[6[$Tq9$3)LhbrKmml3JVr@;4*_:8c=G: -QiU67r."cJr;Hi_R[Q/Up]L-e!42A$ruD1hRYIL)rYU<,rmaIg1RnBZ4>T+(rphRu.j;,s).<7/ -rW0(0qqM1(kl-)~> -YQ"XXRI9GBHcQ-dea[2N5kN8:)l1D/:PO&+]d@TH.uhc>&5QsY95#hTrQGRk8@PBfB["\"@f -YP\F[U$hgYK#dchdICZG7J-Tr+j9UEA>bOTlS+-f2Qm(n'4c_=@"U@OrVm1c=QIY5KE(scI/W-u -rrIr-r7h9pr;6]\R@,uRp]C'b!4);"ru;+fR>"o8QP`RdQ[pS(+^^RS+sA.GQ]i=b)A[*C$p'O? -QN:`7qg\Zpkkor~> -Yl4[WOmV*-F3"7[]C>t'%.oni'mjU;O8bLW>qq_6@O[[]'o.hn?'nYIrKmml$R$?1H^L0d&cNpS -3L'3(!EORFJ,iXErWKEtD^#kn"7uKlZhsn/%O**cTV28_!T0R>rYU<,pe6A9rpoG=X8]msk41$9 -m;F8qc4fU7rW0(0qqM1(kl-)~> -Yl=aZRI0AAHcQ-d^$u7+'_KTP)l/WI`;[skJ3_?&L,[>C)n3a9JBW1%rQGRk&1\hQUs.%^)#c#d -8BCJJ!H"n8Y5i,-rrfU$E$H(q"nV`o[JU13%jN -Yl"OTU$_aXK#dch](#h%)YF%4+j7ARp\t1'TMY[gVapd#+lrAUT`:*MrVm1c'/h-pbQ%TV*W@qt -=T%jl!JoA*g]2Kkquj0pDBTVj!qZ -Z2OdXOmM$,F3+=]RR-HG!"ALe!u6/a3W5?F8cP.dHPi,e*12d1F-p#`Pl@$V<]lb:Eu97k6!!KB -!EORFJ,iXArWLrMUFR_`rW]t^-W$S5anYi9hk9K<"GC^a'B];n&DSf'rp;Mengi#bN*uYI'CG;g -!NWa-g]2ujrdX~> -Z2Xj[RI';@HcZ3fS3l`L!#5(L!un%[8H$d4@fOX\U`[gI-HsCYS]l:CaSsBiG#-?+SKFoV<,M-K -!H"n8Y5i,)rrh,RV(=%drs$.b-rQnY5j%8s*t~> -Z2=XUU$V[WK#mijR6^9D!#kM0"!PjT=T/:"I/j3Tb9d2%0`Ul*_uH*#r;Q^&OC\Ck_^3q7Bo)9Y -!JoA*g]2Kgquk]HTdhD\r!'_Z-;U>/aS>Z6h-BH9"AqLL&W-LR&:b[[Q]E;9P8\b6;*(&#"cr/> -!G?3FJ,k#]r."~> -ZMjmYOmCs+F3+=\_>XN:L@hAD;tQF['mjC=Pl@$]=u_n:BI0$_*12d1F-p#`Pl@$N<]pAK"?BMM -6!!KB!EORFJ,iWsrW1oLnGWQDDt4D#rr*Ja,jkU%1W],;ec(M8roOm]nGWHh\GP%]KBW;b~> -ZMss\RHs5?HcZ3e_u9f>M"IYH>4g#A)l/3FaSsBpED+O"NA&MB-HsCYS]l:CaSsBaG#/+]"A!^[ -<,M-K!H"n8Y5i+[rrM)/nBD)L>/Ll\rll"X*PTe9.\=O'WQf -ZMXaVU$MUVK#mii_#=B8L%M5B@.aI%+j6cJr;Q^-NF;edXucTr0`Ul*_uH*#r;Q]sOC\@j"B^cc -Bo)9Y!JoA*g]2KDquPVYn -Zi1!ZOm:m*F3+=`lmi/?Zh44sH1[I@'mkr\ -Zi:']RHj/>HcZ3imOSMF[IjJ!Ie:i$)l1.oD6&i/Y90+,4Eer8-HsCYS]l:CaSsBiG!N+/N?=>- -<*B1#!4VXF!H"n9Y5t\Ad/O.*JFLf#BNiG1GK7bA\1jN!UFNIb,cT%+: -ZhsjWU$DOUK#mimlRDr;ZLn%pJFrjY+j91*LtB/tga0YW99B1e0`Ul*_uH*#r;Q^&OAOQ\XsLUX -BlEt%!9EhQ!JoA+g]?#Ud/3q#>k"'s;*pBh>*4r2M'@)/H6Ig&)M+5P3gY[,O78J:B5@Bp!.F)/ -J,~> -[/L*`Om1g)F3"7^>6=t(o_ni9oU$FLH^K.?,rpaJD)!VGO-k8SR$9RWQsrP`QjI4F,p=^@PaG;k -r?VG8op>b\HiANsHYMBarW1oLnGX8XDuRO&9N@AWTKHUOQ2^>)ec(M8roOm]nGWHh\GY+_aHYof -J,~> -[/U0cRHa)=HcQ-g>m1C0o`"o?oZS+:X3@A101`RrQU!ZQ`6>#JbfEGQb_B:!bR'"S0.Sl!aNSTR -r@\.[oumGRX8]:(X*imQrrM)/nBDe`>0W?Y4[XG -[/9s\U$;ITK#dck=onb$o_\]>o`#_(fDj#r3`tJC]hh@]p]&E=s869Js/0f6rs>S]3]93^r;VX4 -rAjq+p&>&KfDaP,f9>%;quPVYnTu3X>*kEkJX94pQ\bm,n -[Jg3aOm(a(F3"7_])r-Oht?sKH+fRL -[Jp9dRHX#J,~> -[JU']U$2CSK#dcl\cMpKh=^[GJA(seLtCG;f9>%:quPVYn -[f- -[f6BeRHNr;HcQ-hmOSMFeb/qBI_Er/D6'k@I,WBN!TARKblN]eriZBpQMfqGJ,~> -[ep0^U$)=RK#dcllRDr;dImD;JA(sdLtCG6PMOO^!Sq##QN:`7rdY&mNqhf8J,~> -\,HEcOlkU&F2n1]4Tbe-p&4r:]pJq'H[ohfc2Ib$TZ6s8X16s?aIW1irdX~> -\,QKfRHEl:HcH'f56V45p&>#@^!$UrX06p0c2Rh'JB#h -\,69_U#u7QK#[]j49>S)p&"f?^&J4kfA)SGc27Uu>fN*7B5<$JFcQ7Zr."~> -\GcNdOlbO%F2n1^RKEXTnb2q^H+fRI -\GlTgRH -\GQB`U#l1PK#[]kR0!FPnFlb[JA(sbLt@[CbkqLt>fN*6B5<$?Nqh`6J,~> -\c)W`OlYI$F2n1^bmjgXe+Wb@H+fRH -\c2]cRH3`8HcH'gcOU0_eb9"CI_Er,D0Y3drrM)/`m"XDQ(F<>jSs`~> -\blK]U#c+OK#[]kbR=OSdJ!J -])D`aQK-p(F2e+\2Zj/'pAP&_]kd^Vhobp!hk9W@!8Q).")iiuVtI4nhsgVq~> -])MfdT&]2 -])2T^VW7RSK#RWi2Za&$pA=oe]n?E&h9,Wrh-BT=!.`R7"%#jVVY.(lh=1>m~> -]D_ibQK$j'F2e+\RKEXrJc>HD!T.S_WrTBDdfRiqU[\85~> -]DhoeT&T,;Hc?!eS-9(%JcGNF!T@#MM?&^W[0!g)V==M8~> -]DM]_VW.LRK#RWiR0!FnJc,<@!Som1B)l_dL]K6(nGIe~> -]`%rcQJpd&F2e+]ZNC:>hgte&rW)ffdfQk9prEC:pl_kVnG[q~> -]`/#fT&K&:Hc?!f[06^EiIV%)rrDuieH3.,fuMqOfm8^UnGe"~> -]_hf`VW%FQK#RWjZ2t(9h1>M"quHNbd/pUXUrT54Ug%W.nGIe~> -^&A&dQJg^%F2e+]nLF\DXQTQ_f"PYq;e+)O!oKsOa8Z;;P0Uk -^&J,gT&Au9Hc?!fo.1%KY35fbfY2M0>%PtY!o]L!a5-sPHD?e&nGe"~> -^&.oaVVq@PK#RWjn1"J@X69B\e\6S8?t.CY!o80ua.id5>C(4]nGIe~> -^A\2fQJ(3T!-?*X"()-4?g.Iiep"m-!g?Yuc2I`rprEC -^Ae8iT&nnt!.2Za"(;?:@Hd^lfTs;0!m5\*c2RfgfuMqQfm9EsQDO*NJ,~> -^AJ&cVXraD!.r/e"()*2?g.CgeYU%\!pPejc27TSUrT56Ug&.qDkZ[uJ,~> -^]";gQJ(0S!-?*X"KV\-#it:M!S2J0Vur5aHYC_(!M.rarrnS9gt]]?nG[q~> -^]+AjT&nks!.2Za"Khn3$KgXR!SE^QhZM#EX)QAa!LCRAh?A5)YHO7gnGe"~> -^\e/dVXr^C!.r/e"KMS*#35"H!S+$]rr_MIf6>O_UBOkQJ:MR3nGIe~> -mf!48e:7R*?MT?W?BOF0!-?*X"SO2F"5iGD!KhB:W!%*;H[oeUrW/\Ga8Z59N7Ip_!PkK"rdX~> -mf*:;e1^n>3;HPT:7gY9!.2Za"SaAK"l\eI!L]1ehZT6aX06KgrrJk1a5-mNDQ3W=!LBSOs*t~> -med(4e4'Hf8,73,@&rJg!.r/e"S=#B!o<2?!MQL-rrfE\fA(SrquNFQa.i^3;1\^s!H4\$r."~> -n,<@:Wmq%LY.+8e!k4VVkMZD^_u9`g!s3cnG[q~> -n,EF=3Rfba+&)N8!`D[WkNr7r_uBfi"U/l3rrJG(^Y]'VP5_WbE7"UcU;=k+!H"h7Y5srcnGe"~> -n,*46=4D-h7s=`j!e5-`kPP=3_u'Td!Wm9+quN&<^]+>6\Gk7`GL66gT9@3h!E4RJJ,sS^nGIe~> -nGWI;WmgtKY.+;f"1O`8Ms'%!F2Rt[UB:TWna?AWOcmJX!HDfOJ,j91rW0W=`e4@debn2'^n^Du -J,~> -nG`O>3R]\`+&)Q9"&_cjQKRW8Hc,jdV$.#_oBuVZRDckt!L/TBY5iOhrrKf.`b5B9WViq#QDO*N -J,~> -nGE=7=4;'g7s=ck"+P6;UZ_OTK#@KhT`P9SnF$2TU#!K`!NE7#g]2QGquOAi`_cajJc($!DkZ[u -J,~> -nbrRg"Lji?_2IL8!-?'W"Oe"d"6AqM!OtG18HD:]r."c\dJa0VaN"2ZK_sO*^n^Du -J,~> -nc&X?3RTV_+&)T:"B%li;jQV6!.2W`"P"1i"m5:R!P27FB`V@[r3$*>dJj6YT#T"TB`"t6QDO*N -J,~> -nb`F8=42!f7s=fl"Fk?>IA?!'!.r,d"ORe_!orbI!OldXK)onPr7h9rdJO$SFiKaJ;>YkEDkZ[u -J,~> -o)8[@WmUhIY.+Ah"h0r@a2*\si;dr9rW=MM")@<(!OI-fQiVP7r."c\dJa0VaN"2ZK_sO*^n^Du -J,~> -o)AaC3RKP^+&)W;"]@uj;,`eDm/VLMrrXYQ"`*T,!O\`dJj6YT#T"TB`"t6QDO*N -J,~> -o)&O==4(pe7s=im"b1H?Isn*TquD>cqu\8I!bq-$!OBn`rrL`5r7h9rdJO$SFiKaJ;>YkEDkZ[u -J,~> -oDSdGWmLbHY.+Di!OnNs`rX#7kMZD^_YsY4!s<3)rW0?P^R,%K -oDAX>=3tjd7s=ln!Io%eIfXtmkPP=3_YaM0!Wm!&quO+H^]+>dOSml6GPD%8p]\-SHnb[PoDAfM -!Wmas_"d^&!Om3kQN0n[J,sS^nGIe~> -o_nmHWmC\KY.*EM\!m99!Ps]Wi;dr9rW&kq!s%QSrW0?P^R,%K3cnG[q~> -o`"sD3R9D`+&#mC;G6sc!E5 -o_\a?=3kdg7s9uUIrG:8!I^a+quD>cquEVn!W_EQquO+H^]+>dOSml6GQ%I=oE'SgGkqIA-M.-8 -MYdGY#'bC6o^r.\!Om3kQN0n[J,sS^nGIe~> -p&5!IWm:VIY.*E"Rf(2,_2IL8!-?!U"!RgLVssZdZ[;P9!L/ZDR/`E3QiNBMNrYFDR/;s?QiVP7 -rI>*!B^s2cEt7jF!%7C.!/C1L"W)6$e$$j4rW%WKg]>3cnG[q~> -p&>'E3R0>^+&#m:9DhWf;jQV6!.2Q^"![sQWUTog[AcFbQ,``_uRmXbko?SbQ4bf -rN?F+E:_7qFV"-K!%@I1!/U=P"W;H*eZk^cblDGSY5srcnGe"~> -p&"j@=3b^e7s9uDDu>(cIA?!'!.r&b"!I^IVXXKaZHN+E!W;]js8W#XrrDurpAk-js82QdrrL`5 -rS.V/GOW[oEX_UB!%.=,!/:+J"Vu-!dB7W3QN0n[J,sS^nGIe~> -pAP*JWm1PGY.(m/qo8`RMs'%!F2@hXB*/6KnGWHpHhs*7@LIsYR#`h)jHp6*$P -pAY0F3R'8\+&#R*qb[AmQKRW8Hbo^aBa"ZSnG`NsV#&:?L(Li[g -pA=sA=3YXc7s9B#qgSWpUZ_OTK#.?eAc`$GnGE -p\k3KV9Jr@Y)JhG`rX#7kMZD^_>XG4rWqM<%QjG?RR#afnPaE24op>c, -3cnG[q~> -p\t9G50P__+$iQr;#sU]kNr7r_>aM7rWN;nnc&WtV"r4=2c%ZAJ3:p6bR$Cdbf!sUaNPU!oumH; -G5\TIG!KaU'_2G!'EAL1"TY.eblYU)DZ7l^J3Cg)blDGSY5srcnGe"~> -p\Y'B>g.*f7q6K6IfXtmkPP=3_>F;1rW3)hnb`EnbPD/B7qDZ"TM,4Drs;>rs7^n;r;Rq`p&>'E -OT!r;O@um`>VMArQN0n[J,sS^nGIe~> -q#1Ul>,i!Ps]Wi;n$!c/\lgpAP.7!s<''B)tMLq3W7N"FGnDH^L%28OdB\R$(`It.\OQssp"P"Lf6QjG?RR$_/6PaE24op>c,ggAV)*qqM4fU[\85~> -q#:BH50GY]+$o^"!E5F@8..dH=NV3PU)$;mbCS(1C -#)X2"c+#I&g -q"t0C>g%$d6=]h@!I^a+quMEIc/SfepA>"4!Wlj$AcYEFq>VPg%EmfdfDkcOHuHOps6cP$OR)rE -TPoJKs/3R1mW8.$rs;>rs8S`gr;Rq`p&>'EOSml6GQ.LCTp0"%(AIq2-M.-8MY7,O('?L[Bm''7 -#%nKtQ\co4g6Ve:qg\]cU%%u1~> -q>LEMV9Al?a]bG7`rX#7kMZG]S^(aH<@deB!,([$!.4L.*_%SEV -rW0OMo_os'9PF3>K`:trN,O[Brr0udI)u3cnG[q~> -q>UKI50GY^.1nuD;#sU]kNr:oU<\MpF=d.c!,:g(!2TD6*a(F$D9U55=b_)AX2mq,P#"`lL+A"& -^!'Gmbe4S(rQGR1G-@&kP0D,hP5_oj^%okQX*4EE!-%c6s-s-r*Zk7`!%@I=!0-m["V2Y*S=Hb\ -rrK^&oZ\Jq4]KI*B[+esDH^qlc-;hh@\1ihULIDlc+%6-c$Z,SblDGSY5srcnGe"~> -q>:9D>g%$e;^?)QIfXtmkPP@/V9YP2Jh$Kl!+tU"!6b0;*cFP_M#[M9Dl8[CfDK#a\7B"FV`(H? -li1[Ts6C?drVm0sOPI?=\GuRP\GkOhlhUP]f9#pc!-e8:s-Wpl*$"nY!%.=8!/g[U"UlA#R@1,S -quO9LoTpY`0KbIa;4!Vq;*n-@Q^;hf96HSfH:pS?Q\eA%QX=n,QN0n[J,sS^nGIe~> -qYgNNV9Al@aeY8tq8WNPMs'%"BT199!g6SbpAP&\m/m?8pm;/D&L!56Qkka<-#IuDD22d>LKu3Q -PaIh(I7XY3>1TR/oh"VbPX2+_b*<,q;S+HUZK_sO*^n^DuJ,~> -qYpTJ50GY_.3BHrq,%/kQKRW9E4sTT!lT7mpAY,_m0*KcpriiR(bVRa4<#Ud8@Qge)^#&0!-%bX!NUDAY5iP7rrr1lU/E4&oD]#b,9pcoU=K&=!P4lo -boWVqDDo5Rc#.od2Iapl.Z/`sYK%<#MO)Md( -qYUBE>g%$f;aNQ[q0rEnUZ_OUGLt1@!o8r\pA=oYm/d:2q#:H^*B*Zjrtb@i3k`][^#Z[HjIeQc -r;Ze2M#ZcSmf!.l9-Gu4=QKM^+XR+G!/gUP!SYkEDkZ[uJ,~> -qu-WOV9AlAae[aZUA;h1_2IO9!Ki>eVur2`J6)CC"PO=f",l`F!HWV^QiT(AR9^ -qu6]K50GY`.3BrV7/9[\;jQY7!M7!NhZLf?Y@RA,"PaLk"c`)L!Hk44bQ1LYrlc4mBN/+OQ^nI? -4?PR3]h9;8^!'Gmbe4S(rQGR1L -qtpKF>g%$g;aOMHC&*5ZIA?$(!NXhurr_)=gi`>g"PF1b!fHQB!HQBXrrHYfrr3i$K5#6E]u(:D -91qe9lX1l -r;H`GJBQIH^SK]AQ_O;r!Ps]Yi;o("c_pu0rW0?PpQttD>5jlp8O8T*.;aDH -Hi'0:J1XWc5tRGj$^1IU#q]VRR#W/5Qkau@QiVP7r."c\dJa0VaR]<2c6<2d)#1.>DbO11.k=:e -7[sCP.l47*eK"Sf -r;QfJ0Zu!N,TeE_)FXBu!E5+F"U08DrrKO'pWNY6EW4/fBiN0p1mb6^ -X8C*IY<6LB<,'RP&Ae=h#sdJj6YT(:,,UDs3W(rqM/>!56t,U>N9 -2LNc%,V"\rW> -r;6TC7a#'@90uZ[4)+M?!I^a-quNkMci4.(OPJW6p&"nA!WmW;quO+Hp\t8)NW/q`K5(8]5J>Yl -fDGRSge3;"BnQH/'CPi!#tq2rs6DAjruoSYrrL`5r7h9rdJO$SFn1k"H5?LH(m/Gl681-\)B(:` -.:8EK)Bia[JIn070jjO=!)`WD!H4\$r."~> -r;H\Ab,t_UrnRUAUA;h1_2IU;!Ki>eVu`&^rdXuLp&5)Y!s9qIoDScsHhWm.4Bh`O(eQN0>np5" -3AGl-D3As]HT=rj8MOm1$^1IU#q]2)HWD,AQka*/HN96*QiVP7rI=oqF4'sf\B+7?!R;tirWq:8 -ec)4Ar_._:rX&.g*;J&(rpiOJoDS`CqqM4fU[\85~> -r;Qb0ar^Trr[7dc7/9[\;jQ_9!M7!NhZ:Z=riZ<4p&>/\"U-=PoD\j!V"`(6:N?BX(gTD&J/`ID -83iuOQbf5`X%6pJ@R-)=&Ae=h#s<(*Uin)obSu<8WrU!4bQ4bfrN?7&HdVio\t8K;!M^\7bm:L& -WQfr\broP5bmD:<(< -r;6P0b!uF[r`0%]C&*5ZIA?**!NXhurrLr;rnIKrp&"rW!Wj_DoDAWpbP2#;A<$Tg(irNsTHT3\ -=A[2m^$`eUf3!\*Hr.=G'CPi!#tp*+bE+F=run<=f)Y78rrL`5rS.G*K$jJs[rq8.!I>FYQO&*b -JX9UrQS;)0QO/j\& -r;H\Kb5VHfrnRUAUA;h1_2IX3cnG[q~> -r;Qb3atrN?33p&>0R%g<.7oD\j!V"`(6Bn63,(q3$mD1FaP -]kKDa<5G+j2cRK7Y;\_;2o5I:#[&f6.m0!=bWu(Z!0[3&!NUDCY6(bXma;%8\t8K;!M^\7bo!E# -MO$UZYE']VWLfm&K;j_I_mgD<=qc;TblDGSY5srcnGe"~> -r;6P5b%(K+r`0%]C&*5ZIA?-+!Me8mrrM2BrS.Bqp&"sK$j$M*oDAWpbP2#;K:r5D)!"d`LnIDr -l[q\tC$rl87qq;hgdb2Y8+-?U#]Dab2G:R[s%rVS!4_n*!SV2[rq8.!I>FYQPb8e -B5]LJJ85g*JTZ:&?\)i*PDKla64@5mQN0n[J,sS^nGIe~> -r;H\Kb5VHfrnRUAUA;h1_2I[=!K2o_Vu`&^r."cJo_nq+!s>4frW0?P^R,4Pq -r;Qb3at -r;6P5b%(K+r`0%]C&*5ZIA?0,!Me8mrrLr;r7h9po_\e'!Wo"cquO+H^]+MiOPJXCO6b0j!Om4B -QN;Xlrg+Ia=t)LN0jL&\0e"hqOZY'IDjQS`.:5_`o9TGSr."j"C?+g]J,~> -r;H\Kb5VHfrnRUAUA;h1_2I^>!K2o_Vu`&^qg\ZIo_nr2!s;p%rW0?P^R,1O -r;Qb3at7!i^\3n,In~> -r;6P5b%(K+r`0%]C&*5ZIA?3-!Me8mrrLr;qqM0oo_\f/!Wla#quO+H^]+JhOPJHKld,J0[ro]W -!)`]F!eG+Hn,.\~> -r;H\Kb5VHfrnRUAUA;h1_2Ia?!IA;%I/m=EJ,iXBrW'&!"7uKmZ[9HS"FF0rHL/rV!P$4jrW%WM -g] -r;Qb3at -r;6P5b%(K+r`0%]C&*5ZIA?6.!KW_q^AsAlg]2KhquEes!qZ -r;H\Kb5VHfrnRUAUA;h1_2Ia?!("nO!C;)/J,iXArW -r;Qb3at -r;6P5b%(K+r`0%]C&*5ZIA?6.!,9`r!GU0^g]2Kgqu[?/!h],_!OBn`rr^l/O6b'g!Om3kQN^6: -J8oJemJMJ~> -r;H\Kb5VHfrnRUAUA;h1_2Ia?!*K&a!IK@rQiW@kn -r;Qb3at40W7!P4lBbl_X_Q)3gHJ,~> -r;6P5b%(K+r`0%]C&*5ZIA?6.!.jtG!S?-+rrMQ*nG`aK=T@^)r/K>%rrIr-qV2'noDA].!WmrF -quO*b^UO?4@-c&7!Om3kQNL*8EM;^rJ,~> -r;H\Kb5VHfrnRUAUA;h1_2Ia?!*K&a!BaQbQi_=KO7ASBHP)Wl3Ktt0p6Yk]Hhr6m -r;Qb3at -r;6P5b%(K+r`0%]C&*5ZIA?6.!.jtG!G%2hrrU(lp[S7gf,an7=StCspAY/LfD=8&Fn>M5M?3i! -o_\^Y]uU3>bPVCMFiKaL;/`/nr."~> -r;H\Kb5VHfrnRUAUA;h1_2Ia?!*K&a!BaQbQi_=KO7ASBHP)X0P*@D4p6Yk]Hhr6m -r;Qb3at4jolgFUC\RjZ~> -r;6P5b%(K+r`0%]C&*5ZIA?6.!.jtG!G%2hrrU(lp[S7gf,anhmef;_pAY/LfD=8&Fn>M6k6:th -eUdYoquO9(oOe/.e5QB=ok"59C%qOU~> -r;H\Kb5VHfrnRUAUA;h1_2J0K!OKoBi;d!UQiTm`5>/mZMkirdX~> -r;Qb3at -r;6P5b%(K+r`0%]C&*5ZIA?Z:!PR4]quD8.\G?.*LtDLY!-Rl1"#0iYKn90tquH6Zd/qO'S&_9*Rp0Iur."~> -r;H\Ko)AaHao;;Apn[]Drr@BEh#Wk:q8WNPMu;N:fgc/]L\Tg.=S\0mZQ+Gp\o[~> -r;Qb3nh'qk.K1q$0HW"-/cZaf-ik5Sq,%/kQMg+Qj[fdsO8/)BC\c0T:ItJ8*bct>YEuGU)n3Wp -9;FBtL3F?UWu0'O-HJ"oNG0KDqTJtWX89""AFfa&L]mr'jSo5#^SLqVc2Rg#d)XuFd!D[1p]#a~> -r;6P5nmhc%;uU;/AO9teA,n=_ -r;H\Ko)ArVAc;Z/p^ulOrr@BEh#Wk:q8WNPMu;N6?iC-."LIp_!*K&a!B_h17NOQ0O-l/YD%(rX -$\4U66(!!%O*_J+Eu^Dn?'p-SF8D7)1mZQ,U -H2%;g~> -r;Qb3nh(.e&i;3n0ENod/cZaf-ik5Sq,%/kQMg+M@K$E2$G$!"!,MDS!DbQO=WU*\`6?<'QP?X> -&?j;\<6VBM`2aa!SL2E7JBY26SbgP2D6*N:!+b[#"7? -r;6P5nmhta-t6^tAHQ8tA,n=_ -r;H\Ko)ArVAc;Z/p^ulOrr@BEh#Wk:q8WNPMuDT8aU%hI!.+J"!*K&a!BaQbQl^;gO)m$Q#B_n(sB>):rW:?Lm`5>2 -mZQ,Ugj/YnJ,~> -r;Qb3nh(.e&i;3n0ENod/cZaf-ik5Sq,%/kQMp1OdL,pV!/118!,MDS!Dd_7bT<<%`19/,FqCjn -&A?:j@a)"_`2aa!SL2E7Qd!,bP5!/CJd!'KeArWN:lkPkRuV81siI[tr7rrUN -r;6P5nmhta-t6^tAHQ8tA,n=_ -r;H\Ko)BPgAc;Z/p^ulmaZM@Rm/PmF1JQ!kS7PE]o)A]9rnRUAUA;h1_2J9N!+5X+!&s`4!*K&a -!BaQbQl^;gO"FY)OqiM1$]^TD8XP#2O*_J+Eu^DnD4#YbHhs*1(H2%;g~> -r;Qb3nh(b!&i;3n0ENm[.16In0.nXb$4eR<+;,2'nh'nZr[7dc7/9[\;jRCL!+u-4!'0lB!,MDS -!Dd_7bT<<%`&rRo_&KSo&A?:j@a)"_`2aa!SL2E7QcuKLX8:$@D6*Z>!))S\!*ACa!PkPIhZJ=u -YC=n!!RI@Wh?)&MWW'($E;0B_~> -r;6P5nmiRr-t6^tAHQ7L;]-8i?=[(^'HL+_4t%F5nmh_Sr`0%]C&*5ZIA?c=!,VQ7!&s`O!.jtG -!G%2hruT'3pIh1ZmNLBR'C5[:I/ht2pX^Gc__D!Q^&Q\-fD>LJLtDX]!+>'n!*&1[!Q)Uerr\G% -gjmfM!R,o1UB6ohJc:0"AbZ+Q~> -r;H\Ko)BPgAc;Z/p^ulkAV9@9rTlnqN1b[ -q3V1F>5jm1Eu^6'.98P>8V[\6QpsZ7J-:p[&X[VZPUTXS4?Sl)QiU67rdXu.l2q"rl2C_WHGHH^ ->B>=FH.)Zmc*>:g!q)6%rS.Bup\o[~> -r;Qb3nh(b!&i;3n0ENma&fE>U1bT1S0-:QT*!IE;nh'nZr[7je6r?hX6i_-'ScCbI"TWoGScER% -bQ1LZrlcFS-H&\=G#&f][h-6s=^oUY$H/t^bag*%1i8dZ:WWCV!H"n:Y5h5\"TT(trrMnJ^u#9D -SZf5Gdf0?oT#TUgd!D\iY5iP9s*t~> -r;6P5nmiRr-t6^tAHQ7J-oG=;@U:!8?:#N92[)NSnmh_Sr`0.`Bn(VHqe#nXrMoo_qZ6bLqPsUI -q>UJ+NW/r!__Cgq8!%7"I,kt,s)3;bg^X#0*WO#2r'-"TA7YW7rrIr-rnIK]l2gqol21SSO21bu -P/H)1JC=>rb^7@)!h3DFrI=lZp\]O~> -r;H\Ko)BMfAc;Z/p^ulmK/9\*s3_d;S:_^8OA5N?rr@BEh#s(=a2`u/.0'bQ!rsM@.0)j5QiUZ; -rg4^]>*P%J;1!@bN_,;!BP -r;Qb3nh(^u&i;3n0ENm[)%%H>/gpi?+;k;1*"Oan/cZaf-j1GV;,KjW1]S*a"TU(L1]U\SbQ3Hh -rlcClEQGh:BWI\@]jeq(P*4&&@`Z#lbcbm)G?n[4_>2:UD6*Z>!-eE -r;6P5nmiOq-t6^tAHQ7L2&&PlA6&pm4uERG2]ZK"A,n=_ -r;H\Ko)B8f>5eL$lk0$mplI9fh8p=Vrf@3JOCdq]!.+Y#"IGk'a+s@;!"8Z+!$V1f!(P8$!EORD -J,iX>rW@3D"'+[d!->rS!F'XDJ,jlCrW%PhrW%?Cg]2WordX~> -r;Qb3nh(Il&Mu*m0*3g[0H:E,-n,<:rYttm*"q`n!#Y\`"<'[*;+L=:!"f#2!%[n&!*RUk!H"n6 -Y5i,&rr[BI"]t$i!.2N=!IgU -r;6P5nmi:n,[t:p?3=bLAN(;;<`9/Ur\jmb2^n0+!&4CQ"?U=IIq87;!#,52!&j[ -r;H\Ko)Ap'1\h"M^E*:Q"o(ffh'KQ/rrJ3mnG`K7rnR^DU;tcBnW5 -Hhr6m -r;Qb3nh(+f$8=(b,R43""Y^H/-jLgl/ccq)n1F\Xr[7mf6r?fSqa1?orJgkP5MK`Ia\5rD8ja"@f*>/E;0B_~> -r;6P5nmhqo'P1fc9+1]/"_A]@q;oP('9Da5>AbZ+Q~> -r;H\Ko)BL#6Tg!I-(P#1K7f73ao@GKHC&s6OCdq]!.+Y#!LKPV`rX#7rS[a3quZpXq;D -r;Qb3nh(\3$4@^g#9YWQ)&XD!.4uSF(`F5>*"q`n!#Y\`!?+B%;#sU]rTsTGqum'\q<\/tcHH<+ -X89""AFTU%qum62bO,<0KYYe4L6qhA!.NAr!,]^"!+Pi/!-%]4J,~> -r;6P5nmiMI)]:Le&3aW92)R<(;e.fu0KUsh2^n0+!&4CQ!BY#kIfXtmrVQY^quQjWq>:5DcMmp$ -fD=8&Fn#;3p]:L$aR/m*L;!+kp&J,~> -r;H\Knc&ae[tBdurr3)KQ]TYprs$o5OLP#,\+'CtHN)_$Q_O;r!Ps]mi;gCc!s!?:i;d!*QiU67 -qLAQHn, -r;Qb3nLaqu*Z5qGr[n:$)B:1)/d<^D*$-d_*q1c^)#boa)FXBu!E5<_m/Y*&"TWcBm/UqIbQ2R] -qQBm0n,EJS"U14Zrr@_fbQ3Hbr3$*Lp\tNsptU4C -r;6P5nRMc67Q!,*raZ+34#^4>A-Q'n2b%@W7dspg0`G)R4)+M?!I^aAquG.B!W[ZEquD;nrrIr- -qV2'nn,*8M!WnVRquDJerrK%2r7h:&p\YGdId51quB[7QN0\UJ,j0T -r."~> -r;H\Kb5VHfrnRUAUA;h1_2J6M!)rgu!42L[!*JcY"-8V+PiA&2 -r;Qb3at -r;6P5b%(K+r`0%]C&*5ZIA?`a,!584+!.j\?"8D6Xr8R_WLtDLY!-Rc."+1.O(@D#"L;pZEo_\^BqZ6mDEgcFdrqlap`KpQtqg\ZXp\]O~> -r;H\Kb5VHfrnRUAUA;h1_2J6M"PG^A,*DZZ!*Ji[#(SZM$kXe@j-TjJHhr6m -r;Qb3ato!,M2M#-UZA'GrL4j3.O@X89""AFKO$p]Ug.a6rs- -K`90q`;IFO`:V:N_#VFCbl,?XaSsE\_>VRYL6qhA"aBS+F`fP5"TZa6qn<'J -oZ[BRr4W0KlHK< -r;6P5b%(K+r`0%]C&*5ZIA?`<"S4Pc+ee]/!.jbA#2ET4)BCm"j8T.9fD=8&Fmo52oE#'u`:!O' -LAq2Qp\aFZp[nL_mK!"Ns8D?cr;Q`nmf!.dVnN#`"b#n+EcNo,!W^=6n,U]+!WunPh,F'7qi:`@ -oToQAr/UiAlB_KDqg\ZXp\]O~> -r;H\Kb5VHfrnRUAUA;h1_2Ia?!*Jl\#DXI"P*h8CP2ho1"[rX+.BR$&F( -&Hi[\1%^h;+Vb^l&JZV]QiI9g&HsbAR"keVrY5G_P5^gR@VpXG8ObuKdK9Jfq#1N\.j5l<+X(7d -rWi3K+WLS-+\(br!.=\!!."> -r;Qb3at_X`L6o*I@TcY;dKKVSprs&R,T@L+)]MQF -bm297)\rSr)`I!+!+Pi/!-%]4J,~> -r;6P5b%(K+r`0%]C&*5ZIA?6.!.jeB#NRdqmf2UUmc4!+kp&J,~> -r;H\Kb5VHfrnRUAUA;h1_2Ia?!*Jl\!`q+@qj7nS;+>5`R#a^`>*sh;8SF@\QiU67r."iqAD6JN -"*4PH;"";_J,GZ8J/+.7Qi`QJB!rs#,(B>-?!s!94 -rW:@qo'lV[jr*RMrW%?Cg]2WordX~> -r;Qb3at]i^$a)N$Fe6m2f['N(r?$l!JZs>Y6:"[ -r;6P5b%(K+r`0%]C&*5ZIA?6.!.jeB!glg^qu72mMJoZqs7^HTNW7dkI(9+HrrIr-r7hA*PhGL& -"*+GE:[\,\LA_&Qg`cF]rrVp(lgFcZ%HRQT7udQ0*U`b'!N3X0g]Y,W<#-8?!WWi)('"s -r;H\Kn,NFShZ!S%rnRUAUA;h1_2Ia?!*Jl\!BF3XQk5<-7UdZER"kbu?&'D'@Nf%LQiU67rI=rr -ACg/I"1nX;([g/\Du>t(J/+.EQjT!^7Tth>D-_!JB`=A#Ns(LBQj\sa7TP;3R!VCo@[-hY#m?$N -QonQ>LCo^FQiUZ5r.#&urr2b_M]EfDpB(EEo_njEo)eu2p&5$qqM0sp\o[~> -r;Qb3mk4VnhC\dFr[7dc7/9[\;jQk=!,M5N!D%D2bRh]O=b\SQbdRa@J@?kFL+@fHbQ2R]rN?:' -J(X/g"2+jA)=HG`E;[o]Y8bFZbR21:=`M.!Q[kE*P5`Z,`!X3WbR;@D=`(XlbbS]NL<0>;#n"/c -bYN6&[husWbQ3Hbr3$BTs8W"eN?0,JpB:QIo`"pHo*#+tp!!Q5,fBW+$GL^fGJ;=_MNq/+rlkMS -'>FIj$H%BtDRds9Smkl\p< -r;6P5mpuH)hIHU?r`0%]C&*5ZIA?6.!.jeB!EbH\rt+opDl5XXs5X5XT]@edV`(4?rrIr-rS.J+ -Ph#1!"1eO8(@KuYDZ'M9g`cFkrsJ1eDiO)_]qE&W\GlL0pC6HfrsSS!Di!KSs3#e.Vu6Mn#n>tq -s(%,hj;m[arrK%2r7hR.r;?>XMB!T?pAt?Bo_\^Bo)\nYop5`+)O(/e$BJ@W>*#"cB5p%Rrg*\C% -$1CS$Bn^];2LX+F\>&6p6PbPqg\ZXp\]O~> -r;H\KnG`Uh1Gf!err@BEh#Wk:q8WNPMsfO(=S.s]/RA7@&8`_VR!T[7LBMsk=s\rZ8M0S%!EORH -J-((.f'NA:nIFmf!!N4e-%H_kR$a+#3G:]=O'3A\;%&GPR#_B1R$a+10ka0.P&hI@@UbT#QjEn: -HWMYOR"l)srdY!0rKmUpD>\naH2@LC_4"%A(]+:7e+EV>gA(gT(Et&]R[SWsrZoc>o)AXZ -r;Qb3n1Ff"$48WI/cZaf-ik5Sq,%/kQL=,?C\5gO4Fm=Q&=5&dbbQ?%[gK1[EA+f1@Qa;,!H"n: -Y6(bSf^/V=o+10k!"/YJ-*J9+bfn.(8aR;eb&kAh"_*X)'^AcS=F']bp9&0_p-HD6WB=G -:<-fn:1t0Yc- -r;6P5n72W1'GP$6A,n=_:g%b[R(*OiYR@-_@QR$kqPF%W"0g'G: -3g!&Y3`-ChB0p?Sq>%_LAQN0\UJ,j0Tr."~> -r;H\KnG`U='+r[Mrr@BEh#Wk:q8WNPMsfO(=S.s]4Al!C&7%#TR#V<6LBO!37LUk#.7*Tn#$-)$ -J9thXlM^d%liR4jr0SXX'p"`LHPLCJBGH;+-'FJqLR=Hi"HJk:LD=9KEu96`;>HRb"fh&@Vu$n!.";;#O%q7-RT0%e+EVGg&hE_-RVEZU[7pX!.snC+jMV/rr0taaP=!Cmgf9X2rW%?Cg]2WordX~> -r;Qb3n1Fek"Tg+0/cZaf-ik5Sq,%/kQL=,?C\5gO:MBXL&:d$ebe4A)[gL@'=VNt\2cTFn#&UEE -YH*0*lMgj'lid@rr6-=f)oTtEWuID/OrLlM0>Y^:\'3(7$GF[-[i:(*SKFY#B_fjX$7dVGBYhp% -$N2ITQi5,/L6qhA!.OYA#O8.=-n#E+eb&kJg][ig-n%Z`V=+9]!,_DR+ep=#c-;h#T!+1o^1'"< -`ra!"c+"G$c- -r;6P5n72W%"Tqf_A,n=_2kts6C-lj:2.hD]28A7qqVq#)Lmd -gt.e@lMLX"liI.rr;Rqq+nu$:f-.i_\09pm3punTjT#8S%I=&oj<:GV_^3K6KDGNQ%5p*fKC8d#% -K/0b^&@s3VnN#`!.ae@#Nqe3-7/oudId>Cf`D3Z-726VU$MXS!)rQW+aP&jQ^;h.Fb"6CO%UpcO -TUZ2Q\c-3Q^<49COg=:J2(7!QN0\UJ,j0Tr."~> -r;H\KnGa)HANY;=s4q8.AWZ]^K>2_Yh\naH1Ck8\>SlhrWD\gVmuI"!.snC+jMV/rr0A?7SHKFm -r;Qb3n1G:i&doO//gq>]&f`SZ)'g%9..&Ve)#boa)FXBu!E5\uG;nrr_klWOhg'!,_DR+ep=#c-;LW2Ea2]^1(9j -blYW(c+"G$c-k0blD5MY5iP9s*t~> -r;6P5n73+b-lF^LA6(*W-oY^K2+oVW+X>f -0?G6rs9.qs6FB5s5Y3gq>UJn^&6XcJFWO=\#/ZequcGcVRQ9s!)rQW+aP&jQ^;[q.53G)O%Vg+Q -NN;8Q\c-3Q^<"%.53G)J0Ak&QN0\UJ,j0Tr."~> -r;H\Knc'9t--;Joq#AbS9oq/tpcLZb>#"e[rr@BEh#Wk:q8WNPMsfO(=S.stOteD!HY>^#NZhkY -3(B9j"IPR,(fl!1F7bh& -r;Qb3nLbJ/#:UPq0J4aT%ibop0FJ7*&J$S`/cZaf-ik5Sq,%/kQL=,?C\5gf_*Br=Uln]d]dni< -93KKJ$I$_t+)S'ZSb1,/D6'jif]`>2:UL6qhA!.NAr!,_DR#GWQ^c-<"(WVt'P@Tq%$!kuq(\.cU$ -c)D_TrQP@$I.PS_@f*>/E;0B_~> -r;6P5nRN;E&5tXuARngD*B+ZoAJl@>,TUIaA,n=_Ua1jT#8'*WP1@meQk`VnN#`!.`Mq!)rQW#C7;PQ^<"3Jc1oG91"u3"-8e8M%#H3 -Q[ofmrKdO6?h9Ta9Da5>AbZ+Q~> -r;H\Knc'931]?YP\,Xkidf5h3pcOZ:h)!mTrr@BEh#Wk:q8WNFOm_0.=S%mjN`n"X/R"=)HTl!F8^FcO8bLI@Vu'o!HXLRrW%QCr[#i?o)AXZ -r;Qb3nLbIr$8aC;*\JiE-nZVQ0FJjW-jhBj/cZaf-ik5Sq,%/jT'ktGC\,a\]l?.b4E83]Ue!FR -_9BSGrlbM@9/JbSoZRDSX+/pfrri*g"U0nTrr@`MbU'G3`6?HH90AcGP/2-6bfgF'bfn!4^!+^A ->r8+QQbAA*NMM`YrQGQTQ`HZV2pA`FSc,Sh`;[s]L6qkB!M,P)rr?p/bpB,1_p-HD6URHEQ,@'7 -c-6=(c-IQ+hl#O/%u\pWW\Iql^!=p]#a~> -r;6P5nRN;&'OkAN7V#O'.+1rr\)/PhG6t"S>1c!fHLF!/CFO-/9[fAkmYtcWrse&hs7Zugs8W"< -5Ju*dl`MqEbIIKKrs9.Jf>D;ms5Y*9rRV&Drr3"s^&?^e_j&UI!)rQW-$gJnQ^ -r;H\Knc'8+-!FIcAcL1!s8TPapcQ=kpbUaorr@BEh#Wk:qSrWGR-ii4=O*98o%eF,0V?rW%QCrW:VXo)AV"k(H2tDt9B_rr,%Irr2:Yo)AUrm>OM.B]f)Z7Ri[ -r;Qb3nLbIe#8%OO&hYR:/hS1P0FK-Y0FB5r/cZaf-ik5SqG@8eOmVN9CX1-*D0Xjtrr[oX"Xrm? -!/19o!k1G5rlbqeBK&%V]nUCJbW!5ZbfDWWrlbbgEBH?_\&a(^2f6Y7bQ'L!0*FhHbe5P*1]]_B -rlbCtQi=/iSWE]srr?p/blXk>_u@ml\7dc`>/P`3c-7rVc-hl<4Ktr2E#d"pWW\I -r3$-Y](c5T~> -r;6P5nRN:Y&0rM)-tH?dA7S.DAJn-OAJA25A,n=_:_3WrR:s6DTA564F4 -rr3"s^&Hdg_jC/HquB[gQND_!PQ$m[M,>]U6Bbb[Q^8nWQ^[4Gf2-.4JG_pQkkQ -r."f\\+ffN~> -r;H\Ko)BEj)6UHXK,O%(*WQ/0:&$ics4oKemf*95rnRUAUAMt3\!ZO@!)rc'!(#.L!E7S1rWM9a -!sla5rW%G`Qj.#:J:M]rqU,9BK#R]hI/Vh$X17m&J,~> -r;Qb3nh(V0" -r;6P5nmiG@#=h6Q2$[Gg$Y3d3*G$*]A6'CFmUQ;Or`0%]C&\Q!,9u6!FXI=qul$] -!X?I1quDJers#C7gt]f6psK!>;oP('9DsAAB=IU4J,~> -r;H\Ko)BJq:&Y+llkuVI)9KWU\+i(Iaa.On[ug+Z!.+Y#!LKPY`rWZ:jP^)[[f-F'7frjknbrN< -^mG:7D1H/PqU#3AK#R]hI/_n%X17j%J,~> -r;Qb3nh(\#%l>mk0*E@F"=YT(*\[sA.2W[O*ZXZ%!#Y\`!?+B(;#sRWjQuqo[f6L*8Hf9snc&TB -^rut:Q`kn"r6YHDD8ja"@fEP3MRrK\J,~> -r;6P5nmiM"*F`Pi?3`et#?+857V*Gr;_TV27Q9gI!&4CQ!BY#mIfQ8)quD>WqulX^!Wo7hquDJe -rro=6gm"0#d/3lB`KpQtrdY#^\+TZL~> -r;H\Ko)A`CY5\G5rI^3[&PZH3q"Qs-9nVg4[ug+Z!.+Y#!LKPZ`rWZ:j5BuZ[Jg8 -r;Qb3nh'q\+9!l)1`78]!Y5kb0JEkA%iI#Q*ZXZ%!#Y\`!?+B);#sRWj6Zhn[Jp>?"U.Zkrr@_f -bQETdJ'uXB!,]^""CeR -r;6P5nmhbY8,d$2@Pp)F"!&XWARu_n*Aq/67Q9gI!&4CQ!BY#nIfQ8(quD>Vqu^C0!_`(]!/A;h -"/ihsg -r;H\KlMgn5*W?!>pcQ=Vrr@BEh#Wk:rl5&KR,[')F1(uM`<-2_kjn]QJ&%EQ@TLUqrW%PhrWIW( -cBR\frdX~> -r;Qb3l7N)c#5p.U0FK/k/cZaf-ik5Sr_W\oOlGa.HaWkV`ruVflLOrTKYYe5L1J`Wrr?oTblhLZ -UPS@1s*t~> -r;6P5l=9or$iOT;AJn/+A,n=_ -r;H\KlMgn@:&Y(npfbf)rr@BEh$'.>a2bZViSacX[Jg -r;Qb3l7N)c&,e*^0G,c!/cZaf-j:MW;,L#LiU$Vl[JpBp*X)_Mo)A]a^iofkbKTtdD8ja%@\\bN -oDa=~> -r;6P5l=9or*W9LMAL(4>A,n=_ -r;H\KlMgn[m/6kam.flG!.+Y#"IGk'\!Z+4!->OH"()-47tL[8rW%QBrW2DLe:Ia9De\ot"'pia -rdX~> -r;Qb3l7N)k0DmF'0/2ZD!#Y\`"<'[*9Te9#!.2*Q"(;?:8V-p;rr?p.blPP)e857l>$UcF"&t9[ -s*t~> -r;6P5l=9p,?Mn=7?=iD4!&4CQ"?U=IG,+!n!.qTU"()*27tLU6quB[fQN<.Oe5HE?6:pl_"%eCJ -r."~> -r;H\Kb5VHfrnR^DU:6NCiSagjJ$f1X`<-2djFR=,rW$m0K*$=Mm`5>1g6-pardX~> -r;Qb3at -r;6P5b%(K+r`0.`Bm-9CiVW`JL:$j]_u]u`j+7.)r:Fk.AQ,)=UBH`aI/Nnm~> -r;H\Kb5VHfrnR[CN0r;Vi;ni&[/L3l**:!plHPa8Z=sS(rYqrdX~> -r;Qb3at -r;6P5b%(K+r`0+_A#&YRquMrG[/:'i*!-2IJc+s6!pb<2a.ig$?\!S&r."~> -r;H\Kb5VHfrnRXBHJ.68!K-EQrW?@,"+oS4!3a22!3FQH!qDfUa8Z@tP2+iFrr.E~> -r;Qb3at6!3X]K!qVN,a5.$:HEXN$s8RT~> -r;6P5b%(K+r`0(^O7V<-!KllWqu^+(!eKD0!3X,0!3=KE!q:Z7a.ij%>C_6Pr;;'~> -r;H\Kb5VWkh;-1Z\DZ -r;Qb3at -r;6P5b%(Z0<`W-hdGXp'OmoXR",[-]2rsl;V:!-8!LlO*quZA:UrT52P$@p9!e("EJ,~> -r;H\Kb5VWkh8u4c\DcBIJ+9cB!7UoL!5[gs!M,1cVuhBV -r;Qb3attH?rN?9Os8RT~> -r;6P5b%(Z0<`=XJdGb!(L@DGF!7CcI!5Rap!N"DarrTs5Fjg0hn:%1RUB-NbrI=rtr;;'~> -r;H\Kb5VWkadr:0\DlHJJ+9`A"Stdo"+ob9!oJKd_5IH?@XqM.rW;VSprEC8g62Bh!e^LOJ,~> -r;Qb3at!o\gG_;>?DL9G.:rrVeJfuMqM_0Z$_!e11LJ,~> -r;6P5b%(Z0;hOkGdGk')L@DDE"SbUk!eKS5!o8U__>aV#VqcFDquZA3UrT52P$@j7!e("EJ,~> -r;H\Kb5VWVSbi>e\DuNKJ+9Z?",d6`4mDqHjEJD<"B^#$J6(2!!qo<>`f:(_ebn2(KDtk#~> -r;Qb3atG"-!Hf5O&1Kk*Eg?"Dag:Y@Q/_!r,N-`dIl6WViq$IfKFu~> -r;6P5b%(Z(KD>AFdGt-*L@D>C",[-]4R)bEj/'Qk"G+bOgi_-E!q],a`EN=nr."isr;;'~> -r;H\tb(Bk^qYpJq\E)TLJ+9W>"OdGT*T-2^!T\I?Vu^"IrdXuLeG]L4N5kDhX0DKV!e^LOJ,~> -r;Qc"b'4)Ur;Zf"`8p:dK_);F"P!YZ*oZGb!To]`hZ7MnriZ<4eGfR7DT9QpMN@Y -r;6Pqb'4)Sq#(&jdH(3+L@D;B"OR8P*8TrY!TU#lrrI]&rnIKreGK@1;9"e#B5@Bp!e("EJ,~> -_#=A9\E2ZMJ+9T="R%38"2!q!!U)hb<<63KrI=lKeG]L4Q,`h'Yl!2WKDtk#~> -_#FG<`9$@eK_)8E"R7B="hj:&!U<"eF9-0XrN?33eGfR7GK.o-O8H*^IfKFu~> -_#+56dH19,L@D8A"Qq*5!kRar!Tu_`JcUGSrS.BqeGK@1>/lp/C\rV`IJj"n~> -_#=A9\E;`NMXd\F"&K(%61"ROc"OnW!)!0>!*7VK!U,fgrr95"g]E--rdX~> -_#FG<`9-FfO7T@N"&]:+6L=^Qc]Z)b!+#N+!+aUZ!U=mKc2Wk%Y6'1Qs*t~> -_#+56dH:?-Omo@J"&At"5j\CLbdbId!-A(n!-Qfh!U!Y+QiCjuJ-(/sr."~> -_#=A9\EDfOMXdYE"O.#N*T-8`!R5;oQiWFDr."cJo)8^ep@e(Vs7Z3d!U,fgrr95"g]E--rdX~> -_#FG<`96LgO7T=M"O@5T*oZMd!RHqFbQ5djr3$*2o)Adhq"XF[s7l?g!U=mKc2Wk%Y6'1Qs*t~> -_#+56dHCE.Omo=I"O$oK*8U#[!R/'irrN%=r7h9po)&Rao^q_Ps7H'`!U!Y+QiCjuJ-(/sr."~> -_#=A9\EMlPMX78?"R%38"2XC(!R5;oQiWFDr."cJp\t3d"i5J04TbfXrWfM,"(uoCp@eF`!U,fg -rr95"g]E--rdX~> -_#FG<`9?RhO7&qG"R7B="iKa-!RHqFbQ5djr3$*2p](9g"iG\656V5^rs,\1"_i>Kq"Xde!U=mK -c2Wk%Y6'1Qs*t~> -_#+56dHLK/OmAqC"Qq*5!l44$!R/'irrN%=r7h9pp\b'`"i,A-49>TUr!08(!bQ]?o^r(Z!U!Y+ -QiCjuJ-(/sr."~> -_#=A9\E`#Sfo#-mrW>gr"+KY:!R5;oQiWFDr."cJrVlfd",h5A%f-;!rW'%s!s^T&YOV/^k`s0e -s02CU!e^LOJ,~> -_#FG<`9Q^kjcAi+rrZ"""b5q>!RHqFbQ5djr3$*2rVulg"-%GG&,HJ$rrB5!"U?l,Z1ISel?C7m -s,[&\!e11LJ,~> -_#+56dH^W2o9&@8qu]Rn!dsD5!R/'irrN%=r7h9prVZZa",_,>%/L%squEep!XCH#Y41rYk?>ll -s(hL^!e("EJ,~> -_#=A9\Ei)Tfo#!hrWJGf"$ueOrW18WhO+8%!0mJMr/Lc?nsBHB9)X8EHWKL^Df6Zg"7tjZT_8Hh -De#'Prr95"g]E--rdX~> -_#FG<`9ZdljcA]&rreVk"[`.TrrLH/hTYr3!6G/`r4N*Ho#q-U?2^r2X(:YKE,Zlj"nV-^U@n`l -E+O75c2Wk%Y6'1Qs*t~> -_#+56dHg]3o9&43qui5c!^QPKquP$OhZ*Q?!;uirr9F@No)AagF8akuf6-E,DJgHd!qY^XTCr -_#=A9\Er/Ufp(]qrWLIO!s?O1rW18WhO"TW'bq<0J=)>s(&f$N.?="e#*_`1HU^IbdK9K7`r?"B -qqM7*rr.E~> -_#FG<`9cjmjd,2,rrgXT"U2s7rrLH/hTQ9;)]KVNYKXZ\)u^o[2neh,#0:)RX'&RrdKKVp`m+OE -ql^'Ms8RT~> -_#+56dHpc4o9AF5quk4J!Wp=.quP$OhZ!lq+X%jjh#H[?+oWbg8*fdH#5iPtf5GS0dK0DP`g?^@ -qg\`rr;;'~> -_#=A9\F&5Vfp(]orW>Xm"*9)X8C>qnhi'Cl7s*<6cF!s"V+ -rr95"g]E--rdX~> -_#FG<`9lpnjd,2*rrYgr"a07l!P4HNbR"iabeuVWbe4S(m`Y^Q?2^r0J2g+A'_2G!*WQoH"TWbd -c2Wk%Y6'1Qs*t~> -_#+56dI$i5o9AF3qu]Fj!cm_b!OoSqrs9@os7]0=s6C?dmf*=cF8aksTKbpd&b6"p)upTC!WZED -QiCjuJ-(/sr."~> -_#=A9\F/;Wfp(]nrW&2J!s!#kQjF.NR$^0?R#VQ;m[+$>9)O2F -_#FG<`:!!ojd,2)rrAAM"TX_BbR"iabfj%'be4S(m`Y^Q?2Ul3AH2\pS:;S$$MO_qrrB4o"TWbd -c2Wk%Y6'1Qs*t~> -_#+56dI-o6o9AF2quDuH!W]aers9@os8Qehs6C?dmf*=cF8Xf!Fo;1#R=#to#582jquEei!WZED -QiCjuJ-(/sr."~> -_#=A9\F8AXfobKjrW:1c#j_WnB\o*_$Z15r.>O:N$[_l'!0Zo?!L-4SJ,iXHrWKR#2^/q4"7uKl -XSDtu+p0?gPa08fs02CU!e^LOJ,~> -_#FG<`:*'pjdGD+rrU@g$L@orP2=Ch&=9GJ1q1]B&>] -_#+56dI6u7o:b?>quXq_#4)Bk\DI5l'><"j5NMk1'?gC1!:KFX!W7$:g]2Knquj -_#=A9\FAGYfp(]jrW$0i-NPE)hO"TW+X%RlP*h74+oWbfB_%MkPY1k(!*8gm#25tn-RSuuoDT#s -!s9#\-XWdLrVci]Q,`h'Yl!2WKDtk#~> -_#FG<`:3-qjd,2%rr??l-ikQUhTQ9;.k;QJ_9BS"/,h1%P4HftaBe_I!+bg'#2H1s-n#6&oD]*! -"U,Db-t0*SrVlo`GK.o-O8H*^IfKFu~> -_#+56dI@&8o9AF.quBpf-35:"hZ!lq2Du_+mf2S^2Z>`;\FTY#r,_ek!-S#5#2,kk-7/cqoDAlp -!WicW-=/lp/C\rV`IJj"n~> -_#=A9\FJMZfp:]RrW18WhO"TWJ=)?h31,^6P4"\ -_#FG<`:<3rjdtUhrrLH/hTQ9;YKX[c9?b'\_=#MJaBe_I!+bX"s/ttn"6QS^bP;) -_#+56dII,9o;:Q&quP$OhZ!lqh#H\]@/oO+mdC)Ur,_ek!-Ri0s/Ybh"668UaS>Z6k?>lls(hL^ -!e("EJ,~> -_#=A9\FSS[fp:]QrW18WhO"TWJ=)^S$^cq^P4"\ -_#FG<`:E9sjdtUgrrLH/hTQ9;YKY4o&Bqg!_=#MJaBe_I!+aUZ!U=mqblPORrQPDaBVYON!lnKS -lcoHjql^'Ms8RT~> -_#+56dIR2:o;:Q%quP$OhZ!lqh#IE0'E@A3mdC)Ur,_ek!-Qfh!U!YQQN<..rKdSJ;0r2-!g,g+ -l^.Weqg\`rr;;'~> -_#=A9\F\Y\fp(RlrW19pOT#:*B_%MkSeG]L4Q0eJNk!o=K!r-]DrVclns02FV"..gBrdX~> -_#FG<`:N?tjd,''rrLHuOT,@-P4HftG)cIE!m#)HrQG;/D>_Ta&<3KV<&Dh4&=rcq!6"KQ!Q\RF -Y5sWWeGfR7GO3QT\2O<1!lnK0rQPDa6a,h#s,[)]"+Jl%s*t~> -_#+56dI[8;o9A;0quP$lOSf.'\FTY#OKSQ^!rR\grVlo3M#@8Z'<]NrBg;X`'>sdl!;H*b!W7$; -g]=RSeGK@1>3qRVM(/Ci!g,fbrKdSJ0nASVs(hO_"(]s[r."~> -_#=A9\Fe_]fob@grW8",qNCgYc"Q[8!EN\.Qi`LAF8_I,BM&,h#V@JS,rg7=OsU&U!A/ZiQiWFD -rdY#_S^[Q=k`s0es02IW!LM(1rdX~> -_#FG<`:WEujdG9(rrS10r0%'\c][kC!H!SibQ>jgSc-b5P%+@5#s:%$02&@i_(RYE2ZZ%Ao?76V -?2h#.NM=o%!U=mKc2Wk'Y5s*urr7K~> -_#+56dId>mQ*T37fc97oD\jh -F8jqqY,0VF!U!Y+QiCk"J,s3)rqq9~> -_#=A9\Fne^fob@frWD434k>hr!R5;oQj&^HJ:M=(df':2Q,`h'Yl -_#FG<`:`L!jdG9'rr_C75M22"!RHqFbQZ'nYHO+`df0@5GK.o-O8c<`Ia@umJ,~> -_#+56dImD=o:b4:qubt/4OoYn!R/'irrr=Agt]E9dej./>/lp/C]8hbABb#MJ,~> -_#=A9\G"k_fp(^krWB5(*I3nK!R5;oQirXGJ7tM$rW25J`r?"Bs4dXAc2@Qk~> -_#FG<`:iR"jd,3&rr]D-*da.O!RHqFbQQ!mYEGX-rrMD/`m+OEs/uHPci!fn~> -_#+56dJ!J>o9AG/qu`u$*-d_G!R/'irri7@gpj3.quPta`g?^@s*t,\bl%Bh~> -_#=A9\G+q`fobLfrWI-A"$PA(rW18W_3b=h8nadBrW25J`r?"B!o0-tqu2*~> -_#FG<`:rX#jdGE'rrd9E"[Ce.rrLH/_9<#&?':r/rrMD/`m+OE!j@()qu;0~> -_#+56dJ*P?o:b@:qugm=!^,/%quP$O_>aW8F1A'nquPta`g?^@!e=h3qtts~> -_#=A9\G+q_Om)95"m@H="!)iWrW18W_3b:g0qHYi!U,fgrr92'Qd,C+J,~> -_#FG<`:rX"RHj8@"mRWB"Wi/[rrLH/_9;u%5bcU)!U=mKc2Wh*Ia@ljJ,~> -_#+56dJ*P>U$(nB"m7?:!ZZTSquP$O_>aT7:o2M9!U!Y+QiCh%ABaoJJ,~> -_#=A9\G5"`MWjI,!3H,$!IPm~> -_#FG<`;&^#O6Z-4!3Z8(!INUirrLno^iodEcMmq1GK.l/O'9m*s*t~> -_#+56dJ3V?Olu-0!3?&"!I3:cquPJp_1Vi;Pg91-k?>ll!c(-Hq>>a~> -_#=A9\G>(aLZn('!,DH7!@P4)rhKGnnTi-,!I;ZZrdX~> -_#FG<`;/d$O6Z'2!,MN:!@Y@,s.fSpo5M]p!H?*Ss*t~> -_#+56dJ<\@Qfm]4!,;B5!@G+'r1j/jn7BUW!G04Er."~> -_#=A9\GG.bMX9X-!UM?7!s*K#Jc:6"h>Vp~> -_#FG<`;8j%O7)<5!U_N:"T`c)JcC<$h>`!~> -_#+56dJEbAOmD<1!UD65!Wd>tJc()sh>Dd~> -_#=A9\GP4cLZmt$!2o\r!@t@)rdk(*rdX~> -_#FG<`;Ap&O6Ys/!3,i!!A(L,s+14,s*t~> -_#+56dJNhBQfmT1!2fVp!@k7'r.4e&r."~> -_#=A9\GY:dLZmn"!1N`d!H[.Lrdk(,rdX~> -_#FG<`;K!'O6Ym-!1`lh!Hm@Ps+14.s*t~> -_#+56dJWnCQfmN/!1EZb!HR"Ir.4e(r."~> -_#=A9\Gb@eMWj1$!VS&?!s'pUJc:6"iVn?~> -_#FG<`;T'(O6Yj,!Ve5B"T^0ZJcC<$iW"E~> -_#+56dJ`tDOltj(!V@l -_#=A9\GkFfMWj+"!9EnW!/lF-Jc=[.J,~> -_#FG<`;]-)O6Yd*!9X%[!0)R0JcFa0J,~> -_#+56dJj%EOltd&!9 -_#=M=\DcD%ki)L@Red*e(Xms7Jc=[.J,~> -_#FS@`9lrQlJ_aCSGEBi):a< -_#+A:dJWp/kMc==RJHsc(=@^2Jc+O*J,~> -_#=J<\D`5,i;NcI1Ah4T(Xms7Jc=X-J,~> -_#FP?`9iWNi;WiL2#ILX):a< -_#+>9dJT?oi; -_#=G;\;KM,rW(jQ!s!e$rdk(-rdX~> -_#FM>`/j3?rrD$T"TX%'s+14/s*t~> -_#+;8d?3VKquGRM!W[V!r.4e)r."~> -_#=D:?g-;E!202k!.oe$Jc=[.J,~> -_#FJ=B'S1O!2B>o!/,q'JcFa0J,~> -_#+87D!0UO!2',i!.f_!Jc+O*J,~> -_#=AckhH(>nM1p0MuEeYJq -_#FGflJ)=Ao/%?8NW'(]KRs/Ss5X-0~> -_#+5`kM,n;n1b^+MZ*YWJV!`Mr8[^*~> -Qi7-Se,K?)rW<.PJc:6"jSjZ~> -Qi@3Vec5Z/rWN:TJcC<$jSs`~> -Qi%!PdJWp"rW3(NJc()sjSXN~> -P5YH>rW<.PJc:6"jo0c~> -P5bNArWN:TJcC<$jo9i~> -P5G<;rW3(NJc()sjnsW~> -Oo>?=rW<1QqLSWsroa92~> -OoGE@rWN=Ur.4m!s6'E4~> -Oo,3:rW3+Opjr?or9+!.~> -OT#6 -OT, -OSf*9rW3+Spjr?or94'/~> -O8]-;rW<1UqLSWsrosE4~> -O8f3>rWN=Yr.4m!s69Q6~> -O8K!8rW3+Spjr?or9=-0~> -NrB3:#Qk0`qLSWsrp'K5~> -NrK9=$3^Thr.4m!s6BW7~> -Nr0'7"p+j[pjr?or9F31~> -NW'*9#Qk0`qLSWsrp0Q6~> -NW00<$3^Thr.4m!s6K]8~> -NVis6"p+j[pjr?or9O92~> -N;`s7#Qk0`Jc:6"li)D~> -N;j$:$3^ThJcC<$li2J~> -N;Ng4"p+j[Jc()slhl8~> -MuE^2rW<.TJc:6"m/DM~> -MuNd5rWN:XJcC<$m/MS~> -Mu3R/rW3(RJc()sm/2A~> -MZ*U1rW<.TJc:6"mJ_V~> -MZ3[4rWN:XJcC<$mJh\~> -MYmI.rW3(RJc()smJMJ~> -M>dL0rW<.TnGWIGqV(oLg@>1A!T`s*ric -M>mR3rWN:XnG`OJr7_/Oh"1OF!Ts0.s0)HQ~> -M>R@-rW3(RnGE=CptGWHg$o"=!TWg'r3-$K~> -M#IC/rW<.TqYgi_cp@8+ep.V[/F7r,Kp\k27H2ddDkXYVG"^ee= -c#`T0rlP.i~> -M#RI2rWN:XqYpob=&)L^:/6K63T9T0!JJ&`rrUMhq!n@hpeJ*7FnePSp\t8:HiF$Gl:LtM"_#"B -cZT#6s2k:k~> -M#77,rW3(RqYU]\<(fkS91sj*2r4*'!J.`ZquY)_o^VhaoLl@*EqDlGp\Y&4GlIUAk=>ME"^eb: -b] -L].:.rW<.Tqu-rr`PIch]>;td,22Yf!EGTfrW9Smp@8+ep.)4AVtMmbq#1ig#S-(trneO%_7P.H -g:0<>Jc -L]7@1rWN:Xqu7#ua2=2o]u/Cl,M_nj!EYfjrrTbrq!n@hpdqXIWVA -L\q.+rW3(Rqtpfn`5%Te]"l__+kcJb!E>KdquX>io^VhaoLGt -LAh1-rW<.Tq>LrA2tm7MnKQQ/`V0<1keY7.r;H^sRf<9m\39Q^f"8cbrr2oN&Ado,_:/DW8$(pr -p+jJ/`V03.& -LAq70rWN:Xq>V#D3V`XSo-;o6a8#]7lGL[6r;Qe!SGrNp\j,uffY,2js8W)R&B",2_q"e^8Zq@% -pb]n7a8#Q3&=,m/SH&WJ*qTF3o/X_"5PTg0ao?k~> -LAV%*rW3(Rq>:f>2t[%Gn0-?+`:X!*kJ5%*r;6RpRK!*j[lj -L&M(,rW<.TqYh)C2tm7MnKN$E,+AMQ2e,Z\pAOsk -L&V./rWN:XqYq/F3V`XSo-8BL,FneW3Fu)dq#13n=.K9i*kFT2_bso0;Y^97=%P5SF[@=rpdqWr -5PR'D67@3Yr;R$js8V%7bITq5JcEjlJ,~> -L&:q)rW3(RqYUr@2t[%Gn0)gB+dr8L2e#QYo_n[g<13a`*k+9(^e\<&:\=R*<(AZHE^1ehoLGsf -4S1@85ULaNr;7*bVJ\Zsr7r@^r;>A*aL=;(Jc*XfJ,~> -K`1t+rW<.Tqu.2D2tm7MnKN&EJm\LILAp]n\GcC-<@@c3*\0DInaZV9'C>^>2sAKlYOOcEp.)3j -4n^X@m&qGerVdDX(\,HSf)FP?Zb*;8 -K`;%.rWN:Xqu78G3V`XSo-8DLKOOmPM#[&t])DX0="+&7*\9PNoCN"@'^l!D3U4otZ1C2MpdqWr -5PR'Hm]dhlrVmJ[)=tlZf`0nE[Cr_@=89?kpjrIes*t~> -K_th(rW3(Rqtq&A2t[%Gn0)iAJRA=FL&CEi\,H4*<$qT0*\';EnF6A3&aT@82s8BhY4+QAoLGsf -4S1@;l`M5`rVR8T(@]6Nebn58ZF[)4<:mX^oRZq^r."~> -KDl".!s9%Xr;I;E2tm7MnKQH]P[",#2c*0lT`+ij -KDu(1"U,F_r;RAH3V`XSo-;fcQ -KDYk+!WieSr;7/B2t[%Gn0-3WPZmts2c!'iTDeZg<.Y%r*go._oWEac#3Yo)Gl6A+r:EXHoLGsf -4S1ADr7r.,rVR7P4L_U3L&Ba2:K1\hlhn4SoRZq^r."~> -K)Ph+#c%:r%Db!srr2F3gA[=@rZ.7&g&U[ArW-#frr*tK4na/9e'euorc?a$AqVN=`r;Hc-4naI+ao6e~> -K)Yn.$DmY"%Dt4$s8V[8h#E[GruRL*g]6sErrH2krr4%N5PTS@e^YB!s)ihki=Gtd:6tZHY-gLh -1roXT):/<^$MYiD?!THIr8A^gr;Qi05PTg0ao?k~> -K)>\(#,1ql%DXppr;?%-g&.($ptZqZr;6W*4S44&ao$Y~> -Jc5Z'qYh)C2tm7MnKQ]dP["-%8*p6KnbrFf -Jc>`*qYq/F3V`XSo-<&jQ=/GT8FfFQ$]*qT=0!kLVkJcEjlJ,~> -Jc#N$qYUr@2t[%Gn0-K_PZn!!8*g*FnGW7c<13a`*k+9(2kg#^%,Li%I/Me/r:ipLoLGsf4S1AH -r2VR8rqm,7.eNZ:eI9CP*:Wn(!k1;aJc*XfJ,~> -Jc>KE&]$F"rr2F3gA[=@rp3i>4[$=RrW-#frr*qJ4nb*a12fZGp2b]^h[]Y^9U,6@XKt(`1-oD? -\GcC-@t+FV"nk6'h];7brW9Smp4<4brdX~> -JcGQG&]6X(s8V[8h#E[Gs6a/D5 -Jc,?A&\p?tr;?%-g&.(ioRZq^r."~> -Jc>KE!VYaUrX7f`rpf4Orq>F1kkb8W!U0(QrZ(Xqrqb^:p@75Cm-O`Jhu -JcGQG!VksYrsRues7>OUs7ka8lMUV\!UB:UruCh!s8;$Aq"*YJmdC,QiW&rCoDe+Nq!.nAiSj5& -rrMEVrVluflMTW -Jc,?A!VGRRr!VQ[r:&nIr:K%*kP5#R!U&tOr#G@lr:o=4o^Lo=lg+KDh>I36nGMJAo]Q/4h;.Dp -quQ!MrVQc`kP3m1quQHQJc*UeJ,~> -Jc:6"Jc>3=J,~> -JcC<$JcG9?J,~> -Jc()sJc,'9J,~> -Jc:6"Jc>3=J,~> -JcC<$JcG9?J,~> -Jc()sJc,'9J,~> -Jc:6"Jc>3=J,~> -JcC<$JcG9?J,~> -Jc()sJc,'9J,~> -Jc:6"Jc>3=J,~> -JcC<$JcG9?J,~> -Jc()sJc,'9J,~> -Jc:6"Jc>3=J,~> -JcC<$JcG9?J,~> -Jc()sJc,'9J,~> -Jc:6"Jc>3=J,~> -JcC<$JcG9?J,~> -Jc()sJc,'9J,~> -%%EndData -showpage -%%Trailer -end -%%EOF diff --git a/doc/Hamlib_design.png b/doc/Hamlib_design.png deleted file mode 100644 index b21ed02e1..000000000 Binary files a/doc/Hamlib_design.png and /dev/null differ diff --git a/doc/Makefile.am b/doc/Makefile.am index dca9ea5ae..1584e8322 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,24 +1,11 @@ -EXTRA_DIST = hamlib.cfg index.doxygen hamlib.css footer.html \ - Hamlib_design.eps Hamlib_design.png +EXTRA_DIST = hamlib.cfg index.doxygen hamlib.css footer.html dist_man_MANS = man1/rigctl.1 man1/rigctld.1 man1/rigmem.1 man1/rigsmtr.1 \ man1/rigswr.1 man1/rotctl.1 man1/rotctld.1 man1/rigctlcom.1 \ man7/hamlib.7 man7/hamlib-primer.7 man7/hamlib-utilities.7 -htmldir = $(docdir)/html -dist_html_DATA = Hamlib_design.png hamlib.html - SRCDOCLST = ../src/rig.c ../src/rotator.c ../src/tones.c ../src/locator.c \ ../src/event.c ../src/conf.c ../src/mem.c ../src/settings.c -info_TEXINFOS = hamlib.texi -hamlib_TEXINFOS = nutshell.texi getting_started.texi utility_programs.texi \ - fdl.texi - -AM_MAKEINFOHTMLFLAGS = --no-headers --no-split - doc: hamlib.cfg $(SRCDOCLST) doxygen hamlib.cfg - -# Don't attempt to generate DVI file with 'make distcheck' -dvi: diff --git a/doc/fdl.texi b/doc/fdl.texi deleted file mode 100644 index cb71f05a1..000000000 --- a/doc/fdl.texi +++ /dev/null @@ -1,505 +0,0 @@ -@c The GNU Free Documentation License. -@center Version 1.3, 3 November 2008 - -@c This file is intended to be included within another document, -@c hence no sectioning command or @node. - -@display -Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. -@uref{http://fsf.org/} - -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. -@end display - -@enumerate 0 -@item -PREAMBLE - -The purpose of this License is to make a manual, textbook, or other -functional and useful document @dfn{free} in the sense of freedom: to -assure everyone the effective freedom to copy and redistribute it, -with or without modifying it, either commercially or noncommercially. -Secondarily, this License preserves for the author and publisher a way -to get credit for their work, while not being considered responsible -for modifications made by others. - -This License is a kind of ``copyleft'', which means that derivative -works of the document must themselves be free in the same sense. It -complements the GNU General Public License, which is a copyleft -license designed for free software. - -We have designed this License in order to use it for manuals for free -software, because free software needs free documentation: a free -program should come with manuals providing the same freedoms that the -software does. But this License is not limited to software manuals; -it can be used for any textual work, regardless of subject matter or -whether it is published as a printed book. We recommend this License -principally for works whose purpose is instruction or reference. - -@item -APPLICABILITY AND DEFINITIONS - -This License applies to any manual or other work, in any medium, that -contains a notice placed by the copyright holder saying it can be -distributed under the terms of this License. Such a notice grants a -world-wide, royalty-free license, unlimited in duration, to use that -work under the conditions stated herein. The ``Document'', below, -refers to any such manual or work. Any member of the public is a -licensee, and is addressed as ``you''. You accept the license if you -copy, modify or distribute the work in a way requiring permission -under copyright law. - -A ``Modified Version'' of the Document means any work containing the -Document or a portion of it, either copied verbatim, or with -modifications and/or translated into another language. - -A ``Secondary Section'' is a named appendix or a front-matter section -of the Document that deals exclusively with the relationship of the -publishers or authors of the Document to the Document's overall -subject (or to related matters) and contains nothing that could fall -directly within that overall subject. (Thus, if the Document is in -part a textbook of mathematics, a Secondary Section may not explain -any mathematics.) The relationship could be a matter of historical -connection with the subject or with related matters, or of legal, -commercial, philosophical, ethical or political position regarding -them. - -The ``Invariant Sections'' are certain Secondary Sections whose titles -are designated, as being those of Invariant Sections, in the notice -that says that the Document is released under this License. If a -section does not fit the above definition of Secondary then it is not -allowed to be designated as Invariant. The Document may contain zero -Invariant Sections. If the Document does not identify any Invariant -Sections then there are none. - -The ``Cover Texts'' are certain short passages of text that are listed, -as Front-Cover Texts or Back-Cover Texts, in the notice that says that -the Document is released under this License. A Front-Cover Text may -be at most 5 words, and a Back-Cover Text may be at most 25 words. - -A ``Transparent'' copy of the Document means a machine-readable copy, -represented in a format whose specification is available to the -general public, that is suitable for revising the document -straightforwardly with generic text editors or (for images composed of -pixels) generic paint programs or (for drawings) some widely available -drawing editor, and that is suitable for input to text formatters or -for automatic translation to a variety of formats suitable for input -to text formatters. A copy made in an otherwise Transparent file -format whose markup, or absence of markup, has been arranged to thwart -or discourage subsequent modification by readers is not Transparent. -An image format is not Transparent if used for any substantial amount -of text. A copy that is not ``Transparent'' is called ``Opaque''. - -Examples of suitable formats for Transparent copies include plain -ASCII without markup, Texinfo input format, La@TeX{} input -format, SGML or XML using a publicly available -DTD, and standard-conforming simple HTML, -PostScript or PDF designed for human modification. Examples -of transparent image formats include PNG, XCF and -JPG. Opaque formats include proprietary formats that can be -read and edited only by proprietary word processors, SGML or -XML for which the DTD and/or processing tools are -not generally available, and the machine-generated HTML, -PostScript or PDF produced by some word processors for -output purposes only. - -The ``Title Page'' means, for a printed book, the title page itself, -plus such following pages as are needed to hold, legibly, the material -this License requires to appear in the title page. For works in -formats which do not have any title page as such, ``Title Page'' means -the text near the most prominent appearance of the work's title, -preceding the beginning of the body of the text. - -The ``publisher'' means any person or entity that distributes copies -of the Document to the public. - -A section ``Entitled XYZ'' means a named subunit of the Document whose -title either is precisely XYZ or contains XYZ in parentheses following -text that translates XYZ in another language. (Here XYZ stands for a -specific section name mentioned below, such as ``Acknowledgements'', -``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title'' -of such a section when you modify the Document means that it remains a -section ``Entitled XYZ'' according to this definition. - -The Document may include Warranty Disclaimers next to the notice which -states that this License applies to the Document. These Warranty -Disclaimers are considered to be included by reference in this -License, but only as regards disclaiming warranties: any other -implication that these Warranty Disclaimers may have is void and has -no effect on the meaning of this License. - -@item -VERBATIM COPYING - -You may copy and distribute the Document in any medium, either -commercially or noncommercially, provided that this License, the -copyright notices, and the license notice saying this License applies -to the Document are reproduced in all copies, and that you add no other -conditions whatsoever to those of this License. You may not use -technical measures to obstruct or control the reading or further -copying of the copies you make or distribute. However, you may accept -compensation in exchange for copies. If you distribute a large enough -number of copies you must also follow the conditions in section 3. - -You may also lend copies, under the same conditions stated above, and -you may publicly display copies. - -@item -COPYING IN QUANTITY - -If you publish printed copies (or copies in media that commonly have -printed covers) of the Document, numbering more than 100, and the -Document's license notice requires Cover Texts, you must enclose the -copies in covers that carry, clearly and legibly, all these Cover -Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on -the back cover. Both covers must also clearly and legibly identify -you as the publisher of these copies. The front cover must present -the full title with all words of the title equally prominent and -visible. You may add other material on the covers in addition. -Copying with changes limited to the covers, as long as they preserve -the title of the Document and satisfy these conditions, can be treated -as verbatim copying in other respects. - -If the required texts for either cover are too voluminous to fit -legibly, you should put the first ones listed (as many as fit -reasonably) on the actual cover, and continue the rest onto adjacent -pages. - -If you publish or distribute Opaque copies of the Document numbering -more than 100, you must either include a machine-readable Transparent -copy along with each Opaque copy, or state in or with each Opaque copy -a computer-network location from which the general network-using -public has access to download using public-standard network protocols -a complete Transparent copy of the Document, free of added material. -If you use the latter option, you must take reasonably prudent steps, -when you begin distribution of Opaque copies in quantity, to ensure -that this Transparent copy will remain thus accessible at the stated -location until at least one year after the last time you distribute an -Opaque copy (directly or through your agents or retailers) of that -edition to the public. - -It is requested, but not required, that you contact the authors of the -Document well before redistributing any large number of copies, to give -them a chance to provide you with an updated version of the Document. - -@item -MODIFICATIONS - -You may copy and distribute a Modified Version of the Document under -the conditions of sections 2 and 3 above, provided that you release -the Modified Version under precisely this License, with the Modified -Version filling the role of the Document, thus licensing distribution -and modification of the Modified Version to whoever possesses a copy -of it. In addition, you must do these things in the Modified Version: - -@enumerate A -@item -Use in the Title Page (and on the covers, if any) a title distinct -from that of the Document, and from those of previous versions -(which should, if there were any, be listed in the History section -of the Document). You may use the same title as a previous version -if the original publisher of that version gives permission. - -@item -List on the Title Page, as authors, one or more persons or entities -responsible for authorship of the modifications in the Modified -Version, together with at least five of the principal authors of the -Document (all of its principal authors, if it has fewer than five), -unless they release you from this requirement. - -@item -State on the Title page the name of the publisher of the -Modified Version, as the publisher. - -@item -Preserve all the copyright notices of the Document. - -@item -Add an appropriate copyright notice for your modifications -adjacent to the other copyright notices. - -@item -Include, immediately after the copyright notices, a license notice -giving the public permission to use the Modified Version under the -terms of this License, in the form shown in the Addendum below. - -@item -Preserve in that license notice the full lists of Invariant Sections -and required Cover Texts given in the Document's license notice. - -@item -Include an unaltered copy of this License. - -@item -Preserve the section Entitled ``History'', Preserve its Title, and add -to it an item stating at least the title, year, new authors, and -publisher of the Modified Version as given on the Title Page. If -there is no section Entitled ``History'' in the Document, create one -stating the title, year, authors, and publisher of the Document as -given on its Title Page, then add an item describing the Modified -Version as stated in the previous sentence. - -@item -Preserve the network location, if any, given in the Document for -public access to a Transparent copy of the Document, and likewise -the network locations given in the Document for previous versions -it was based on. These may be placed in the ``History'' section. -You may omit a network location for a work that was published at -least four years before the Document itself, or if the original -publisher of the version it refers to gives permission. - -@item -For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve -the Title of the section, and preserve in the section all the -substance and tone of each of the contributor acknowledgements and/or -dedications given therein. - -@item -Preserve all the Invariant Sections of the Document, -unaltered in their text and in their titles. Section numbers -or the equivalent are not considered part of the section titles. - -@item -Delete any section Entitled ``Endorsements''. Such a section -may not be included in the Modified Version. - -@item -Do not retitle any existing section to be Entitled ``Endorsements'' or -to conflict in title with any Invariant Section. - -@item -Preserve any Warranty Disclaimers. -@end enumerate - -If the Modified Version includes new front-matter sections or -appendices that qualify as Secondary Sections and contain no material -copied from the Document, you may at your option designate some or all -of these sections as invariant. To do this, add their titles to the -list of Invariant Sections in the Modified Version's license notice. -These titles must be distinct from any other section titles. - -You may add a section Entitled ``Endorsements'', provided it contains -nothing but endorsements of your Modified Version by various -parties---for example, statements of peer review or that the text has -been approved by an organization as the authoritative definition of a -standard. - -You may add a passage of up to five words as a Front-Cover Text, and a -passage of up to 25 words as a Back-Cover Text, to the end of the list -of Cover Texts in the Modified Version. Only one passage of -Front-Cover Text and one of Back-Cover Text may be added by (or -through arrangements made by) any one entity. If the Document already -includes a cover text for the same cover, previously added by you or -by arrangement made by the same entity you are acting on behalf of, -you may not add another; but you may replace the old one, on explicit -permission from the previous publisher that added the old one. - -The author(s) and publisher(s) of the Document do not by this License -give permission to use their names for publicity for or to assert or -imply endorsement of any Modified Version. - -@item -COMBINING DOCUMENTS - -You may combine the Document with other documents released under this -License, under the terms defined in section 4 above for modified -versions, provided that you include in the combination all of the -Invariant Sections of all of the original documents, unmodified, and -list them all as Invariant Sections of your combined work in its -license notice, and that you preserve all their Warranty Disclaimers. - -The combined work need only contain one copy of this License, and -multiple identical Invariant Sections may be replaced with a single -copy. If there are multiple Invariant Sections with the same name but -different contents, make the title of each such section unique by -adding at the end of it, in parentheses, the name of the original -author or publisher of that section if known, or else a unique number. -Make the same adjustment to the section titles in the list of -Invariant Sections in the license notice of the combined work. - -In the combination, you must combine any sections Entitled ``History'' -in the various original documents, forming one section Entitled -``History''; likewise combine any sections Entitled ``Acknowledgements'', -and any sections Entitled ``Dedications''. You must delete all -sections Entitled ``Endorsements.'' - -@item -COLLECTIONS OF DOCUMENTS - -You may make a collection consisting of the Document and other documents -released under this License, and replace the individual copies of this -License in the various documents with a single copy that is included in -the collection, provided that you follow the rules of this License for -verbatim copying of each of the documents in all other respects. - -You may extract a single document from such a collection, and distribute -it individually under this License, provided you insert a copy of this -License into the extracted document, and follow this License in all -other respects regarding verbatim copying of that document. - -@item -AGGREGATION WITH INDEPENDENT WORKS - -A compilation of the Document or its derivatives with other separate -and independent documents or works, in or on a volume of a storage or -distribution medium, is called an ``aggregate'' if the copyright -resulting from the compilation is not used to limit the legal rights -of the compilation's users beyond what the individual works permit. -When the Document is included in an aggregate, this License does not -apply to the other works in the aggregate which are not themselves -derivative works of the Document. - -If the Cover Text requirement of section 3 is applicable to these -copies of the Document, then if the Document is less than one half of -the entire aggregate, the Document's Cover Texts may be placed on -covers that bracket the Document within the aggregate, or the -electronic equivalent of covers if the Document is in electronic form. -Otherwise they must appear on printed covers that bracket the whole -aggregate. - -@item -TRANSLATION - -Translation is considered a kind of modification, so you may -distribute translations of the Document under the terms of section 4. -Replacing Invariant Sections with translations requires special -permission from their copyright holders, but you may include -translations of some or all Invariant Sections in addition to the -original versions of these Invariant Sections. You may include a -translation of this License, and all the license notices in the -Document, and any Warranty Disclaimers, provided that you also include -the original English version of this License and the original versions -of those notices and disclaimers. In case of a disagreement between -the translation and the original version of this License or a notice -or disclaimer, the original version will prevail. - -If a section in the Document is Entitled ``Acknowledgements'', -``Dedications'', or ``History'', the requirement (section 4) to Preserve -its Title (section 1) will typically require changing the actual -title. - -@item -TERMINATION - -You may not copy, modify, sublicense, or distribute the Document -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense, or distribute it is void, and -will automatically terminate your rights under this License. - -However, if you cease all violation of this License, then your license -from a particular copyright holder is reinstated (a) provisionally, -unless and until the copyright holder explicitly and finally -terminates your license, and (b) permanently, if the copyright holder -fails to notify you of the violation by some reasonable means prior to -60 days after the cessation. - -Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - -Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, receipt of a copy of some or all of the same material does -not give you any rights to use it. - -@item -FUTURE REVISIONS OF THIS LICENSE - -The Free Software Foundation may publish new, revised versions -of the GNU Free Documentation License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. See -@uref{http://www.gnu.org/copyleft/}. - -Each version of the License is given a distinguishing version number. -If the Document specifies that a particular numbered version of this -License ``or any later version'' applies to it, you have the option of -following the terms and conditions either of that specified version or -of any later version that has been published (not as a draft) by the -Free Software Foundation. If the Document does not specify a version -number of this License, you may choose any version ever published (not -as a draft) by the Free Software Foundation. If the Document -specifies that a proxy can decide which future versions of this -License can be used, that proxy's public statement of acceptance of a -version permanently authorizes you to choose that version for the -Document. - -@item -RELICENSING - -``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any -World Wide Web server that publishes copyrightable works and also -provides prominent facilities for anybody to edit those works. A -public wiki that anybody can edit is an example of such a server. A -``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the -site means any set of copyrightable works thus published on the MMC -site. - -``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0 -license published by Creative Commons Corporation, a not-for-profit -corporation with a principal place of business in San Francisco, -California, as well as future copyleft versions of that license -published by that same organization. - -``Incorporate'' means to publish or republish a Document, in whole or -in part, as part of another Document. - -An MMC is ``eligible for relicensing'' if it is licensed under this -License, and if all works that were first published under this License -somewhere other than this MMC, and subsequently incorporated in whole -or in part into the MMC, (1) had no cover texts or invariant sections, -and (2) were thus incorporated prior to November 1, 2008. - -The operator of an MMC Site may republish an MMC contained in the site -under CC-BY-SA on the same site at any time before August 1, 2009, -provided the MMC is eligible for relicensing. - -@end enumerate - -@page -@heading ADDENDUM: How to use this License for your documents - -To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and -license notices just after the title page: - -@smallexample -@group - Copyright (C) @var{year} @var{your name}. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.3 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover - Texts. A copy of the license is included in the section entitled ``GNU - Free Documentation License''. -@end group -@end smallexample - -If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, -replace the ``with@dots{}Texts.''@: line with this: - -@smallexample -@group - with the Invariant Sections being @var{list their titles}, with - the Front-Cover Texts being @var{list}, and with the Back-Cover Texts - being @var{list}. -@end group -@end smallexample - -If you have Invariant Sections without Cover Texts, or some other -combination of the three, merge those two alternatives to suit the -situation. - -If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of -free software license, such as the GNU General Public License, -to permit their use in free software. - -@c Local Variables: -@c ispell-local-pdict: "ispell-dict" -@c End: diff --git a/doc/getting_started.texi b/doc/getting_started.texi deleted file mode 100644 index 956982f8d..000000000 --- a/doc/getting_started.texi +++ /dev/null @@ -1,529 +0,0 @@ -There are several ways to obtain a working installation of Hamlib. -The following sections discuss installing from a package manager, -building from source, and installing Hamlib project supplied binaries -on Microsoft Windows@registeredsymbol{}. - -@menu -* Unix binary packages:: -* Source options:: -* Building from source:: -* Microsft Windows binaries:: -@end menu - -@node Unix binary packages -@section Installing binary packages on Linux and BSD -@cindex Binary packages, Linux, BSD -@cindex Linux binary packages -@cindex BSD binary packages - -The easiest way to install a released version of Hamlib on a Linux -based distribution or a BSD variant is through the provided -@dfn{package manager}. While package managers vary according to the -distribution (it's easy to lump BSD variants in this group too) their -end goal is to provide ready to use software packages. Since such a -wide variety of package managers exist, it is best to recommend that -the documentation for your chosen distribution be your guide. - - -@node Source options -@section A variety of Hamlib sources -@cindex Source options - -Distribution packages are most often official Hamlib releases and in -some cases could be quite old and lacking support for newer radios or -rotators. In some cases support is improved in existing radio or -rotator back ends and bugs are fixed in newer releases. Often times -to get the improved support/bug fixes, building from source will be -required. Relax, it's not hard. :-) - -Source code is available as official releases, testing snapshots, -daily development snapshots, and the bleeding edge of development -directly from the @url{https://github.com/Hamlib/Hamlib, Git -repository}. As a rule, even the bleeding edge tarballs should -configure and compile without error even though certain implementation -work may be in progress and may be incomplete or have errors. - -@menu -* Source releases:: -* Source snapshots:: -* Git clone:: -@end menu - -@node Source releases -@subsection Getting released source -@cindex Getting released source -@cindex Source, getting released -@cindex Source, obtaining releases - -Official Hamlib source releases, commonly called @dfn{tarballs} can be -found on the -@url{http://sourceforge.net/projects/hamlib/files/hamlib/, -SourceForge.net Hamlib files} Web page. As a convenience, release -archives are also mirrored at the -@url{https://github.com/Hamlib/Hamlib/releases, GitHub Hamlib -releases} page. The most recent release is listed first. - -@node Source snapshots -@subsection Getting source snapshots -@cindex Getting source snapshots -@cindex Source, getting snapshots -@cindex Source, obtaining snapshots -@cindex Source, daily snapshots -@cindex Source, release candidates -@cindex Source, RC - -Testing release candidates (RCs) are posted during the period (often a -few weeks) before a planned release. Beginning with the 3.2 release, -RCs are hosted by the @url{https://github.com/Hamlib/Hamlib/releases, -GitHub release archive}. RCs are identifed by having a @i{~rc} -suffix. - -Daily snapshots of the development repository are available via the -World Wide Web from @url{http://n0nb.users.sourceforge.net/, Hamlib -Git daily snapshots}. These are not official releases but are -provided for testing new features and bug fixes. - -The daily development snapshot is made and posted each day by around -1030 UTC. Daily snapshots @i{should} compile but sometimes a bug -creeps in that prevents compilation. If that should happen, please -report it to the @email{hamlib-developer@@lists.sourceforge.net, -hamlib-developer mailing list}. - -@node Git clone -@subsection Git repository -@cindex Git repository -@cindex Git clone - -The source repository can be @dfn{cloned} which copies the repository -to your computer including its entire history, branches, and release -tag information. In other words, once the @command{git} -@option{clone} command is finished a complete copy of the Hamlib -development will be on your computer. You can do quite a lot with -this as nothing is hidden from view since the entire -history of Hamlib is right there all the way from the very first -commit to the present. None of the meta-data is hidden away on -some central server. - -To clone the repository use the following command: - -@example -git clone git://git.code.sf.net/p/hamlib/code hamlib -@end example - -or: - -@example -git clone https://github.com/Hamlib/Hamlib.git -@end example - -Odds are that you will want to run the above command in a sub -directory of your home directory. The @file{hamlib} directory will be -created by Git and the @dfn{master} branch will be checked out for you -as the @dfn{working copy}. The master branch is one of several -branches used in Hamlib development. It is the main branch of new -features and bug fixes. The working copy will be the latest revision -of every file at the time of the clone. Later updates from the -developers will require using another Git command to update your local -repository. - -@xref{Working with Git}. - -@node Building from source -@section Building from source -@cindex Building from source -@cindex Source, building from - -Building from source will be required for various reasons. Perhaps -only an older release is provided by your distribution, or you would -like to test recent changes to Hamlib---either a specific back end or -API changes---and offer a report to the developers, or you'd like to -take part in development and offer your contribution to the project, -or you'd just like to learn how to build a relatively comprehensive -package from source. Any is a good reason to build from the source -code archive. - -Before going further, this manual assumes familiarity with working -from the command prompt in a Linux/BSD/Unix like system's @dfn{shell} -environment, either in a @dfn{virtual console} (a text only screen -with no graphics) or in a @dfn{terminal} in a desktop environment -(@command{xterm}, @command{rxvt}, @command{konsole}, -@command{gnome-terminal}, @command{xfce4-terminal}, -@command{terminal}, etc.). If this is new to you, take some time and -read up on using the shell. A good tutorial can be found at -@url{http://linuxcommand.org/, LinuxCommand.org} which also offers an -in-depth book that can be purchased or downloaded for no cost (the -Hamlib project is not associated with nor has any interest in the sale -of this book, it just looks like a very good effort on the part of its -author). - -Let's get started. - -@menu -* Compiling source tarballs:: -* Bootstrapping from a Git clone:: -* Other make targets:: -* Parallel build trees:: -* Adding debugging symbols:: -* Compiling Microsoft Windows:: -@end menu - -@node Compiling source tarballs -@subsection Compiling source tarballs -@cindex Compiling source tarballs -@cindex Source tarballs, compiling - -Before proceeding, it is essential to read the information in the -files, @file{README}, @file{INSTALL}, and @file{README.betatester} -supplied in the Hamlib @dfn{top-level} directory which will be named -something like @file{hamlib-3.3~git} where the latter part is the -release version. In this case the @samp{3.3~git} indicates this is a -development snapshot of the Git master branch. These files provide -detailed information for compiling Hamlib and will vary some from -release to release. - -Compiling from a source tarball whether it is an official release or a -testing or daily development snapshot follows the same set of -commands, known as the @dfn{three step} which are each run from the -top-level directory: - -@example -./configure -make -sudo make install -@end example - -@menu -* configure:: -* make:: -* make install:: -* ldconfig:: -@end menu - -@node configure -@subsubsection @command{configure} -@cindex configure - -The @command{./configure} command examines your system and checks it -for any packages that are required or good to have options for -compiling Hamlib. The leading @file{./} tells the shell to only run -the @command{configure} command found in the current directory. It is -always possible that a @command{configure} command could be lurking -elsewhere and we don't want to run that! - -Run: - -@example -@command{./configure} -@end example - -from the top-level directory. - -@quotation Note -Some distributions are configured so commands can only be run from -directories listed in the @env{PATH} environment variable. The -@file{./} is necessary or the @command{configure} command will not be -run as the @dfn{current directory} (defined as @file{.}) is not in the -@env{PATH}. This is considered a default security feature so that -only programs provided by the distribution are run. @env{PATH} can be -modified for your own session, but that is a topic for the -LinuxCommand.org reference above. -@end quotation - -Of course, things are usually complicated a bit by options and Hamlib -is no exception. The good news is that the defaults, i.e., no -options, work well in most situations. Options are needed to enable -the compilation of certain portions of Hamlib such as the language -bindings. Optional features usually require that more development -tools are installed. The @file{INSTALL}, and @file{README.betatester} -files in the Hamlib top-level directory will have details on the -options available for that release. - -A useful option is @samp{--prefix} which tells @command{configure} -where in the file system hierarchy Hamlib should be installed. If it -is not given, Hamlib will be installed in the @file{/usr/local} file -system hierarchy. Perhaps you want to install to your home directory -instead: - -@example -@command{./configure --prefix=$HOME/local} -@end example - -@quotation Note -For practice you may wish to start out using the -@samp{--prefix=$HOME/local} option to install the Hamlib files into -your home directory and avoid overwriting any version of Hamlib -installed into the system directories. The code examples in the -remainder of this manual will assume Hamlib has been installed to -@samp{$HOME/local}. -@end quotation - -All of the files will be installed in the @file{local} directory of -your home directory. @file{local} will be created if it does not -exist during installation as will several other directories in it. -Installing in your home directory means that @dfn{root}, or superuser -(administrator) privileges are not required when running @command{make -install}. On the other hand, some extra work will need to be done so -other programs can use the library. - -@ignore -(TODO: describe library hackery in an appendix). -@end ignore - -Another useful option is @samp{--help} which will give a few screens -full of options for @command{configure}. If in a desktop environment -the scroll bar can be used to scroll back up through the output. In -either a terminal or a virtual console Linux supports the -@key{Shift-PageUp} key combination to scroll back up. Converesely -@key{Shift-PageDown} can be used to scroll down toward the end of the -output and the shell prompt (Shift-UpArrow/Shift-DownArrow may also -work to scroll one line at a time). - -After a fair amount of time, depending on your computer, and a lot of -screen output, @command{configure} will finish its job. So long as -the few lines previous to the shell prompt don't say ``error'' or some -such failure message Hamlib is ready to be compiled. If there is an -error and all of the required packages listed in -@file{README.betatester} have been installed, please ask for help on -the @email{hamlib-developer@@lists.sourceforge.net, hamlib-developer -mailing list}. - -@node make -@subsubsection @command{make} -@cindex make - -The @command{make} command is responsible for running the -@dfn{compiler} which reads the source files and from the instructions -it finds in them writes @dfn{object} files which are the binary -instructions the @acronym{CPU} of a computer can execute. -@command{make} then calls the @dfn{linker} which puts the object files -together in the correct order to create the Hamlib library files and -its executable programs. - -Run: - -@example -@command{make} -@end example - -from the top-level directory. - -Any error that causes @command{make} to stop early is cause for a -question to the @email{hamlib-developer@@lists.sourceforge.net, -hamlib-developer mailing list}. - -In general @command{make} will take longer than @command{configure} to -complete its run. As it is a system command and therefore found in -the @env{PATH}, prefixing @command{make} with @file{./} will cause a -@samp{command not found} error from the shell. - -@node make install -@subsubsection @command{make install} -@cindex make install - -Assuming that you have not set the installation prefix to your home -directory, root (administrator) privileges will be required to install -Hamlib to the system directories. Two popular methods exist for -gaining root privileges, @command{su} and @command{sudo}. -@command{sudo} is probably the most popular these days, particularly -when using the @url{http://www.ubuntu.com, Ubuntu} family of -distributions. - -Run: - -@example -@command{sudo make install} -@end example - -as root from the top-level directory. - -Running @command{make install} will call the installer to put all of -the newly compiled files and other files (such as this document) in -predetermined places set by the @samp{--prefix} option to -@command{configure} in the directory hierarchy (yes, this is by design -and @command{make} is not just flinging files any old place!). - -A lot of screen output will be generated. Any errors will probably be -rather early in the process and will likely be related to your -@var{username} not having write permissions in the system directory -structure. - -@node ldconfig -@subsubsection @command{ldconfig} -@cindex ldconfig - -Once the installation is complete one more step is required if Hamlib -has never been installed from a local build before. The -@command{ldconfig} command tells the system library loader where to -find the newly installed Hamlib libraries. It too will need to be run -with root privileges: - -Run: - -@example -@command{sudo ldconfig} -@end example - -as root from any directory. - -@quotation Note -Subsequent installations of Hamlib will not need to have -@command{ldconfig} run after each installation if a newer major -version of Hamlib was not installed, i.e. when recompiling the same -version during development. -@end quotation - -On some distributions a bit of configuration will be needed before -@command{ldconfig} will add locally compiled software to its database. -Please consult your distribution's documentation. - -@node Bootstrapping from a Git clone -@subsection Bootstrapping from a @command{git clone} -@cindex Bootstrapping from a Git clone -@cindex Git clone, bootsrapping - -Choosing to build from from a @command{git clone} requires a few more -development tools (notice a theme here?) as detailed in -@file{README.developer}. The most critical will be the GNU Autotools -(@command{autoconf}, @command{automake}, @command{libtool}, and more) -from which the build system consisting of @file{configure}, the -various @file{Makefile.in}s throughout the directory structure, and -the final @file{Makefile}s are generated. - -In the top-level directory is the @command{bootstrap} script from -which the build system is @dfn{bootsrapped}---the process of -generating the Hamlib build system from @file{configure.ac} and the -various @file{Makefile.am}s. At its completion the -@command{configure} script will be present to configure the build -system. - -Next @command{configure} is run with any needed build options -(@command{configure --help} is useful) to enable certain features or -provide paths for locating needed build dependencies, etc. -Environment variables intended for the preprocessor and/or compiler -may also be set on the @command{configure} command line. - -After the configuration is complete, the build may proceed with the -@command{make} step as for the source tarballs above. Or -@command{configure --help} may be run, and @command{configure} run -again with specific options in which case the @file{Makefile}s will be -regenerated and the build can proceed with the new configuration. - -@xref{configure}. - -@node Other make targets -@subsection Other @command{make} targets -@cindex Other @command{make} targets -@cindex @command{make}, other targets - -Besides @command{make install}, other @dfn{targets} exist when running -@command{make}. Running @command{make clean} from the top-level -directory removes all of the generated object and executable files -generated by running @command{make} freeing up considerable disk -space. - -@quotation Note -During development of individual source files, it is not necessary to -run @command{make clean} each time before @command{make}. Simply run -@command{make} and only the modified file(s) and any objects that -depend on them will be recompiled. This speeds up development time -considerably. -@end quotation - -To remove even the generated @file{Makefile}s, run @command{make -distclean} from the top-level directory. After this target is run, -@command{configure} will need to be run again to regenerate the -@file{Makefile}s. This command may not be as useful as the -@file{Makefile}s do not take up much space, however it can be useful -for rebuilding the @file{Makefile}s when modifying a -@file{Makefile.am} or @file{confgure.ac} during build system -development. - -@node Parallel build trees -@subsection Parallel build trees -@cindex Parallel build trees -@cindex Build, parallel trees - -One feature of the GNU build system used by Hamlib is that the object -files can be kept in a directory structure separate from the source -files. While this has no effect on the @command{make} targets -described above, it does help the developer find files in the source -tree! One such way of using parallel builds is described in -@file{README.developer}. - -Parallel builds can be very useful as one build directory can be -configured for a release and another build directory can be configured -for debugging with different options passed to @command{configure} -from each directory. The generated @file{Makefile}s are unique to -each build directory and will not interfere with each other. - -@node Adding debugging symbols -@subsection Adding debugging symbols -@cindex Adding debugging symbols - -When additional debugging symbols are needed with, for example, the -GNU Debugger, @command{gdb}, the needed compiler and linker options -are passed as environment variables. - -Run: -@example -@command{../hamlib/configure CFLAGS="-ggdb3 -O0" CXXFLAGS="-ggdb3 -O0"} -@end example - -from a sibling build directory intended for a debugging build. - -The @samp{-ggdb3} option tells the C compiler, this case the GNU C -Compiler, @command{gcc}, to add special symbols useful for GDB, the -GNU debugger. The @samp{-O0} option tells @command{gcc} to turn off -all optimizations which will make it easier to follow some variables -that might otherwise be optimized away. @samp{CFLAGS} and -@samp{CXXFLAGS} may be set independently for each compiler. - -@quotation Note -There are a number compiler options available for controlling debugging -symbols and setting optimization levels. Please consult the compiler's -manual for all the details. -@end quotation - -@node Compiling Microsoft Windows -@subsection Compiling for Microsoft Windows -@cindex Compiling for Microsoft Windows -@cindex Microsoft Windows, compiling - -Currently compiling is done on a Debian 8 (Jessie) virtual machine -using @url{http://www.mingw.org/, MinGW}. @file{README.build-win32} -in the @file{scripts} directory has details on how this is -accomplished. - -Work is ongoing to correct build issues in the -@url{http://www.cygwin.com/, Cygwin} environment running on MS -Windows. - -@node Microsft Windows binaries -@section Pre-compiled binaries for Microsoft Windows -@cindex Pre-compiled binaries for Microsoft Windows -@cindex Microsoft Windows, compiled binaries -@cindex Microsoft Windows, pre-compiled binaries - -Pre-compiled binaries for Microsoft Windows 32 and 64 bit -architectures (Windows NT and newer) are available for both official -releases and daily development snapshots. Official releases are -available through the -@url{http://sourceforge.net/projects/hamlib/files/hamlib/, -SourceForge.net file download service}. As an alternative, official -releases are also available though the -@url{https://github.com/Hamlib/Hamlib/releases, Hamlib archive at -GitHub}. Daily development snapshots are available from -@url{http://n0nb.users.sourceforge.net/}. - -Beginning with the Hamlib 1.2.15.3 release a self-extracting installer -is available. Among its features are selecting which portions of -Hamlib are installed. The @env{PATH} environment variable will need -to be set manually per the included @file{README.w32-bin} or -@file{README.w64-bin} file. - -Daily development snapshots feature both a .ZIP archive and the self -extracting installer. - -Bug reports and questions about these archives should be sent to the -@email{hamlib-developer@@lists.sourceforge.net, hamlib-developer -mailing list}. diff --git a/doc/hamlib.texi b/doc/hamlib.texi deleted file mode 100644 index c188bbe2d..000000000 --- a/doc/hamlib.texi +++ /dev/null @@ -1,170 +0,0 @@ -\input texinfo @c -*-texinfo-*- -@c %**start of header -@setfilename hamlib.info -@include version.texi -@documentencoding UTF-8 -@settitle Ham Radio Control Libraries @value{VERSION} -@c %**end of header - -@copying -This manual is for the Ham Radio Control Libraries (version @value{VERSION} -updated @value{UPDATED}), which is a development effort to provide a -consistent programming interface for programmers wanting to incorporate -radio and rotor control into their programs. - -Copyright @copyright{} 2013,2018 Nate Bargmann - -@quotation -Permission is granted to copy, distribute and/or modify this document under -the terms of the GNU Free Documentation License, Version 1.3 or any later -version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the -license is included in the section entitled ``GNU Free Documentation -License''. -@end quotation -@end copying - -@dircategory Software libraries -@direntry -* Hamlib: (hamlib). Ham Radio Control Libraries. -@end direntry - -@setchapternewpage odd -@titlepage -@title Ham Radio Control Libraries -@subtitle for version @value{VERSION}, @value{UPDATED} -@vskip 0pt plus 1filll -@insertcopying -@author Nate Bargmann, N0NB (@email{n0nb@@n0nb.us}) -@end titlepage - -@contents - -@ifnottex -@node Top -@top Ham Radio Control Libraries - -This manual is for Ham Radio Control Libraries (Hamlib) (version @value{VERSION}, -@value{UPDATED}). - -@menu -* Copying and Redistribution:: -* Hamlib in a Nutshell:: -* Getting started:: -* Utility programs:: -* GNU Free Documentation License:: -* Working with Git:: -* List of Figures:: -* Concept Index:: -@end menu - - -@node Copying and Redistribution -@unnumbered Copying and Redistribution -@cindex Copying, redistribution -@cindex Redistribution, copying -@cindex Copyleft - -This manual documents Hamlib, a programming library and various supplied -programs, which is -@url{http://en.wikipedia.org/wiki/Free_Software_Definition, Free -Software, Free Software}. Besides often being distributed at no cost to -you, Free in this context means that the copyright holders to Hamlib -have agreed to offer their collective work under terms that give you -certain rights that allow you to modify and/or redistribute Hamlib under -the same terms that you received it from them. - -Such licensing is often termed -@url{http://en.wikipedia.org/wiki/Copyleft, copyleft, copyleft} as a -play against the common ``all rights reserved'' terms of normal -@url{http://en.wikipedia.org/wiki/Copyright, copyright, copyright}. In -general, copyleft provides everyone with a license to modify and -distribute the modified work or to simply distribute a copyrighted work -under certain terms. Hamlib source code is copyrighted by its authors -and is licensed by them under two common licenses---the -@url{http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License, GNU -Lesser General Public License, GNU Lesser General Public License} -@acronym{LGPL} for the ``front end'' and ``back end'' library source -code files, and the -@url{http://en.wikipedia.org/wiki/GNU_General_Public_License, GNU -General Public License, GNU General Public License} @acronym{GPL} for -the supplied programs source code files. The full text of the LGPL and -the GPL can be found in the files COPYING.LIB and COPYING in the root -directory of the Hamlib source archive. - -This manual is covered by the -@url{http://en.wikipedia.org/wiki/GNU_Free_Documentation_License, GNU -Free Documentation License, GNU Free Documentation License} -@acronym{GFDL} with no Invariant Sections, no Front-Cover Texts, and no -Back-Cover Texts. Source code examples in this manual are parallel -licensed under the GPL unless otherwise noted. - -As part of the Copyleft nature of the licenses, the authors of Hamlib -must forbid you from distributing Hamlib under terms that forbid others -from exercising the same rights you received. You must give anyone you -distribute Hamlib to the same rights to obtain, modify, and distribute -the Hamlib source code that you received nor may you license Hamlib -under other terms than those you received. Any recipients of Hamlib -must be informed of the rights to the source code that they have -received. - -@cindex NO WARRANTY -Finally, the authors of Hamlib require that it be understood that NO -WARRANTY of any kind is offered to anyone receiving the Hamlib source -code distribution. Anyone distributing modified versions of Hamlib has -the responsibility to inform any recipients that what they have is not -the official release of Hamlib by its authors and should be prepared to -support the modified version(s). This is to preserve the reputations of -the Hamlib authors and the Hamlib Project. While it is not a -requirement of the licenses, it is courteous to offer modifications back -to the Hamlib authors for possible incorporation into their official -release(s). -@end ifnottex - - -@c ------------ Chapter ------------ -@node Hamlib in a Nutshell -@chapter Hamlib in a Nutshell -@cindex Nutshell - -@include nutshell.texi - -@c ------------ Chapter ------------ -@node Getting started -@chapter Getting started - -@include getting_started.texi - -@c ------------ Chapter ------------ -@node Utility programs -@chapter Utility programs reference - -@include utility_programs.texi - -@c ----------------- Appendixes start here ------------------ - - -@node GNU Free Documentation License -@appendix GNU Free Documentation License - -@include fdl.texi - - -@node Working with Git -@appendix Working with Git - -Git offers a myriad of commands and options. Fortunately, only a few -are needed for Hamlib development. - - -@node List of Figures -@unnumbered List of Figures -@listoffloats Figure - - -@node Concept Index -@unnumbered Concept Index - -@printindex cp - -@bye diff --git a/doc/nutshell.texi b/doc/nutshell.texi deleted file mode 100644 index c34052990..000000000 --- a/doc/nutshell.texi +++ /dev/null @@ -1,219 +0,0 @@ -The @dfn{Ham Radio Control Libraries}, @dfn{Hamlib} for short, is a -development effort to provide a consistent interface for programmers -wanting to incorporate radio and rotator control in their programs. - -Hamlib is not a complete user application, rather, it is a software -layer intended to make controlling various radios and other amateur -radio station (shack) hardware much easier. Hamlib will allow authors -of software such as logging programs, digital communications programs, -or those wanting to develop the ultimate radio control software to -concentrate on the user interface and the basic function of the -program rather than radio control. Hamlib consists of several parts, -the programming library, utility programs, and library interfaces to -other programming languages. - -Most recent amateur radio transceivers allow external control of their -functions through a serial interface. Unfortunately, control commands -are not always consistent across a manufacturer's product line and -each manufacturer's product line differs greatly from its competitors. - -Hamlib attempts to solve this problem by presenting a "virtual radio" -to the programmer by providing an interface to actions such as setting -a given Variable Frequency Oscillator's (VFO) frequency, setting the -operating mode, querying the radio of its current status and settings, -and giving the application a list of a given radio's capabilities. -Unfortunately, what can be accomplished by Hamlib is limited by the -radios themselves and some offer very limited capability. - -Other devices, such as antenna rotators, can be placed into the Hamlib -control scheme. Other recent developments include network interface -servers and a USB interface capability. Language bindings are -provided for C, C++, Perl, Python, Lua and TCL (more to come). - -@menu -* Overview:: -* The Hamlib project:: -* Applications using Hamlib:: -* Licensing implications:: -* Radio cloning:: -* Pronunciation:: -@end menu - -@node Overview -@section A view from the top of the tower -@cindex Overview - -@cindex Front end library -@cindex Virtual radio -@cindex Virtual rotator -Hamlib is a @dfn{front end} library providing a @emph{C} language -Application Programming Interface @acronym{API} to programmers wishing -to integrate radio or rotator control in their applications. Hamlib -presents a @dfn{virtual radio} or @dfn{virtual rotator} that is a -consistent interface to an application despite wide differences in -radio and rotator interfaces and capabilities. - -@cindex Back end library -The front end library uses a number of @dfn{back end} libraries to -translate from the front end to the various individual radio and -rotator models. A back end library handles conversion of the front -end variables to the format needed by the radio or rotator device it -controls. The back end libraries are generally grouped by -manufacturer and in some cases by a common control protocol. - -@quotation -Since a picture is worth quite a few words, here is a visual representation -of Hamlib's design. -@ifhtml -@*@* -@end ifhtml -@float Figure, fig:img1 -@image{Hamlib_design,,,Hamlib Design} -@caption{Hamlib design---@i{courtesy of Martin Ewing, AA6E}.} -@shortcaption{Hamlib design} -@end float -@* -@end quotation - -@cindex Scripting languages -@cindex Languages, scripting -@cindex Interface, languages -Hamlib also provides an interface library for each of several common -@dfn{scripting} languages such as @url{http://www.perl.org, Perl, -Perl}, @url{http://www.python.org, Python, Python}, -@url{https://www.lua.org, Lua, Lua} and @url{http://www.tcl.tk, TCL, -TCL}. These language @dfn{bindings} are generated through the use of -@url{http://www.swig.org, SWIG, SWIG} a parser/generator for multiple -language interfaces to a C library. A native generated @emph{C++} -language interface is also provided. - -@cindex Daemon, network -@cindex Network, daemon -Besides the C and supplemental APIs, Hamlib also provides a pair of -network daemons that provide a text command based API for controlling -an attached radio or rotator through a @emph{TCP/IP} network -connection. The daemons then handle the interface to the Hamlib C -API. - -More than one type of device, radio or rotator, may be controlled at a -time, however, there is generally a limit of one device per serial -port or other port. - -@node The Hamlib project -@section Hamlib project information -@cindex Hamlib project -@cindex Project, Hamlib - -The Hamlib Project was founded by Frank Singleton,VK3FCS/KM5WS in July -2000. Shortly after Stephane Fillod, F8CFE, joined Frank on the -Hamlib project and the API and implementation development led to a -reasonable level of maturity in a few years. A major milestone was -reached when Hamlib 1.2.0 was released in March 2004. The API and -Application Binary Interface (@acronym{ABI}) interfaces have remained -stable since that time up to the latest release of 3.2 in early 2018. - -Development continues through the major version number 3.x and beyond. -While some API tweaks are planned, ABI compatibility with the prior -1.2.@i{x} releases remains a priority. Other goals include -streamlining the build system (done), improving the SWIG generated -language bindings (done), improving the overall documentation (this -manual, in progress), and other updates as warranted. - -The Project is hosted by @url{https://sourceforge.net/, -SourceForge.net} at the @url{https://sourceforge.net/projects/hamlib/, -Hamlib project page}. As @url{https://github.com/, GitHub} has become -a very popular project hosting site, Hamlib also has a dedicated -@url{https://github.com/Hamlib/Hamlib, GitHub project page}. GitHub -also hosts the @url{http://www.hamlib.org, hamlib.org} Web site and -the @url{https://github.com/Hamlib/Hamlib/wiki, Hamlib Wiki}. - -Development discussion and most user support take place on the -@url{https://sourceforge.net/p/hamlib/mailman/, hamlib-developer -mailing list}. While there are -@url{https://sourceforge.net/p/hamlib/discussion/, SourceForge.net -discussion forums}, they are rarely used and not as closely read by -the developers as the mailing list. - -For @dfn{source code management}, the project uses -@url{http://git-scm.com/, Git}, a fast, distributed content tracker. -Among its features is that every developer has the complete Hamlib -development history available locally. For more information on using -Git, @pxref{Working with Git}. - -@quotation Note -While a canonical Git repository is hosted as SourceForge, its -availability is not essential to continued development, although -development work flows would change temporarily. Several developers -find the GitHub Web interface easier to use and lately development has -centered around GitHub rather than SourceForge. -@end quotation - -@node Applications using Hamlib -@section Applications using Hamlib -@cindex Hamlib applications -@cindex Applications, using Hamlib - -A number of application developers have taken advantage of Hamlib's -capabilities to implement radio and/or rotator control. While not -exhaustive, a list is maintained at the Hamlib Wiki, -@url{https://github.com/Hamlib/Hamlib/wiki/Applications-and-Screen-Shots, -Applications/Screenshots}. Developers are encouraged to request their -applications be added to the gallery by way of the hamlib-developer -mailing list. - -@node Licensing implications -@section Using Hamlib with your program -@cindex Hamlib licensing -@cindex Licensing, Hamlib - -As with other Free Software projects, Hamlib relies heavily on -copyleft licensing to encourage development contributions and provide -an open atmosphere for development. Hamlib's source code is released -under two licenses, the Lesser General Public License (@acronym{LGPL}) -for the library portion, and the General Public License -(@acronym{GPL}) for the utility programs. - -The LGPL allows the library to be used (linked) by programs regardless -of their individual license. However, any contributions to the -library source remain under copyleft which means that the library -source code may not be used in violation of the terms of the LGPL. - -The utility program source files are released under the GPL. Any direct -use of these sources must be in a form that complies with the terms of -the GPL. Concepts learned by studying these sources for the purpose of -understanding the Hamlib API is not covered nor prohibited by the GPL, -however, directly copying GPL sources into any work that is incompatible -with the terms of the GPL is prohibited. - -@xref{Copying and Redistribution}. - -@node Radio cloning -@section Radios with a clone capability -@cindex Radio cloning -@cindex Cloning, radio - -Hamlib's focus is on controlling rigs that employ a port and command -protocol for setting frequency, mode, VFO, PTT, etc. Most VHF/UHF -transceivers do not employ such control capability but do provide for -cloning the memory contents from radio to another of the same model. -A related project, @url{http://chirp.danplanet.com/, CHIRP}, aims to -support radios with such a clone capability. Please contact the CHIRP -project for support of such radios. - -@node Pronunciation -@section Pronouncing Hamlib -@cindex Pronouncing Hamlib -@cindex Hamlib, pronouncing - -English speakers seem to have two alternate pronunciations for our -project: - -@itemize @bullet -@item Hamlib (Ham - lib, long "i", as in library.) IPA style: /'ham læb/ -@item Hamlib (Ham - lib, short "i", as in liberty.) IPA style: /'ham lɪb/ -@end itemize - -Then again, we have people who say Linux "L-eye-nux" and those who say -"L-in-nux"... - -If you're French, the above does not apply! :-) diff --git a/doc/utility_programs.texi b/doc/utility_programs.texi deleted file mode 100644 index 4191c7ff1..000000000 --- a/doc/utility_programs.texi +++ /dev/null @@ -1,571 +0,0 @@ -Included with the Hamlib distribution are several utility programs. -Besides providing a way for developers to test new code and bug fixes, -the programs also offer a reference implementation for interfacing to -the Hamlib library functions both through the C API (Application -Programming Interface) and offering a network accessible API. - -This chapter focuses on the two test programs, @command{rigctl} for -testing radio back ends and @command{rotctl} for testing rotator back -ends and the two network daemons, @command{rigctld} and -@command{rotcltd} for radio and rotator access via network sockets. -Also included are three demonstation utilities, @command{rigmem}, -@command{rigsmtr}, and @command{rigswr} which provide functional -examples of how Hamlib may be used to accomplish various tasks. - - -@menu -* rigctl:: -* rotctl:: -* rigctld:: -* rotctld:: -* rigmem:: -* rigsmtr:: -* rigswr:: -@end menu - -@node rigctl -@section @command{rigctl} -@cindex rigctl - -@command{rigctl} is the most frequently used Hamlib utility. As the -other ctl utilities share many of the same characteristics, much of -the introductory information presented in this section is applicable -to the other utility programs. - -@menu -* Introduction to rigctl:: -* rigctl reference:: -@end menu - -@node Introduction to rigctl -@subsection Introduction to @command{rigctl} -@cindex Introduction to @command{rigctl} -@cindex @command{rigctl}, introduction to - -Most likely the first of the Hamlib utility programs that is used is -@command{rigctl}. @command{rigctl} is a character based interactive -program and a command line program able to set or query a radio's -value with a single command. @command{rigctl} is invoked from a shell -command prompt with various options and additional commands. - -In its most simple use as a @dfn{command line} program, -@command{rigctl} is used to set frequency and mode by typing commands -after any @command{rigctl} options: - -@example -@kbd{rigctl F 14205000} -@kbd{rigctl M USB 2400} -@end example - -@noindent -and then query those values: - -@example -@kbd{rigctl f} -@kbd{rigctl m} -@end example - -Entering interactive mode is a simple matter of not placing any -commands after any @command{rigctl} options: - -@example -@kbd{rigctl} -@end example - -@noindent -Entering @dfn{interactive mode} allows successive commands to be -entered without exiting @command{rigctl}. Recent additions to -@command{rigctl} allow command editing and history recall through use -of the @url{https://tiswww.case.edu/php/chet/readline/rltop.html, -Readline} library. - -Interactive mode is indicated by the spartan prompt: - -@example -Rig command: -@end example - -@noindent -Commands are given at the prompt and follow the general rule that -upper case letters set a value and lower case letters query a value: - -@example -Rig command: @kbd{M} -Mode: @kbd{USB} -Passband: @kbd{2500} - -Rig command: @kbd{m} -Mode: USB -Passband: 2500 - -Rig command: -@end example - -An additional prompt is printed when more information is required by -the command. For @kbd{M} above, @command{rigctl} prompted for the -``Mode'' and ``Passband'' values. For @kbd{m} above, @command{rigctl} -returned the ``Mode'' and ``Passband'' values without further prompts. -The command prompt is returned after each command invocation. - -The above examples invoked @command{rigctl} without specifying a radio -model. This is a feature where the Hamlib internal radio @dfn{dummy} is -used instead. The dummy radio provides a way to test Hamlib functions -with out the need for actual radio hardware. However, to develop back -end capability for a given radio, having the actual radio connected to -the computer is necessary for debugging. - -For example, to quickly set frequency on an Elecraft K3: - -@example -@kbd{rigctl -m 229 -r /dev/rig F 3900000} -@end example - -@noindent -and to query the frequency and then mode: - -@example -@kbd{rigctl -m 229 -r /dev/rig f} -3900000 - -@kbd{rigctl -m 229 -r /dev/rig m} -LSB -2000 -@end example - -@noindent -The returned values do not have the prompt strings associated with -interactive mode as shown above. - -The @option{-m} option takes a numeric value that corresponds to a -given radio back end model. The @option{-r} option takes the path to -the port device on @acronym{POSIX} and the device name on Microsoft -Windows. - -@quotation Note -A complete list of supported radio models may be seen by use of the -@option{-l} option: - -@example -@kbd{rigctl -l} - Rig # Mfg Model Version Status - 1 Hamlib Dummy 0.5 Beta - 2 Hamlib NET rigctl 0.3 Beta - 101 Yaesu FT-847 0.5 Beta - 103 Yaesu FT-1000D 0.0.6 Alpha -. -. -. - 2702 Rohde&Schwarz EB200 0.1 Untested - 2801 Philips/Simoco PRM8060 0.1 Alpha - 2901 ADAT www.adat.ch ADT-200A 1.36 Beta -@end example - -@noindent -The list is long so use @kbd{@key{SHIFT}-PageUp}/ -@kbd{@key{SHIFT}-PageDown} on Linux, @kbd{@key{ScrollLock}} then -@kbd{@key{PageUp}}/@kbd{@key{PageDown}} on Free BSD, or use the -scrollbar to the virtual terminal window (@command{cmd} window on -Microsoft Windows) or the output can be piped to '@command{more}' or -'@command{less}', e.g.@: '@kbd{rigctl -l | more}' to scroll back up -the list. The list is sorted numerically by model number since Hamlib -1.2.15.1. Model numbers of a manufacturer/protocol family are -grouped together. -@end quotation - -@node rigctl reference -@subsection @command{rigctl} reference -@cindex @command{rigctl} reference -@cindex reference, @command{rigctl} - -The complete reference for @command{rigctl} can be found in the -@kbd{rigctl}(1) Unix manual page. - - -@node rotctl -@section @command{rotctl} -@cindex rotctl - -Identical in function to @command{rigctl}, @command{rotctl} provides a -means for testing Hamlib functions useful for rotator control and -@acronym{QTH} (Maidenhead gridsquare system, see -@url{https://en.wikipedia.org/wiki/Maidenhead_Locator_System, -Maidenhead Locator System}) locator computations. As rotators have a -much narrower scope than radios, there are fewer command line options -and commands for @command{rotctl}. - -@menu -* Introduction to rotctl:: -* rotctl reference:: -@end menu - -@node Introduction to rotctl -@subsection Introduction to @command{rotctl} -@cindex Introduction to @command{rotctl} -@cindex @command{rotctl}, introduction to - -@command{rotctl} is a character based interactive program and a -command line program able to set or query a rotator's value with a -single command. @command{rotctl} is invoked from a shell command -prompt with various options and additional commands. - -In its most simple use as a command line program, @command{rotctl} is -used to set frequency and mode by typing commands after any -@command{rotctl} options: - -@example -@kbd{rotctl P 145.0 23.0} -@kbd{rotctl M 8 25} -@end example - -@noindent -and then query those values: - -@example -@kbd{rotctl p} -@end example - -Entering interactive mode is a simple matter of not placing any -commands after any @command{rotctl} options: - -@example -@kbd{rotctl} -@end example - -@noindent -Entering interactive mode allows successive commands to be entered -without exiting @command{rotctl}. Interactive mode allows for command -editing and history recall through the use of the @url{ -https://tiswww.case.edu/php/chet/readline/rltop.html, Readline} -library. - -Interactive mode is indicated by the spartan prompt: - -@example -Rotator command: -@end example - -@noindent -Commands are given at the prompt: - -@example -Rotator command: @kbd{M} -Direction: 16 -Speed: 60 - -Rotator command: @kbd{p} -Azimuth: 11.352000 -Elevation: 0.000000 - -Rotator command: @kbd{p} -Azimuth: 27.594000 -Elevation: 0.000000 - -Rotator command: -@end example - -An additional prompt is printed when more information is required by -the command. For @kbd{M} above, @command{rotctl} prompted for the -``Direction'' and ``Speed'' values. For @kbd{p} above, -@command{rotctl} returned the ``Azimuth'' and ``Elevation'' values -without further prompts. The command prompt is returned after each -command invocation. - -The above examples invoked @command{rotctl} without specifying a -rotator model. This is a feature where the Hamlib internal rotator -dummy is used instead. The dummy rotator provides a way to test -Hamlib functions with out the need for actual rotator hardware. -However, to develop back end capability for a given rotator, having -the actual controller connected to the computer is necessary for -debugging. - -For example, to quickly set position for RotorEZ: - -@example -@kbd{rotctl -m 401 -r /dev/rotor P 100.0 0.0} -@end example - -@noindent -and to query the position: - -@example -@kbd{rotctl -m 401 -r /dev/rotor p} -100.000000 -0.000000 - -@end example - -@noindent -The returned values do not have the prompt strings associated with -interactive mode as shown above. - -The @option{-m} option takes a numeric value that corresponds to a -given rotator back end model. The @option{-r} option takes the path to -the port device on @acronym{POSIX} or the device name on MS Windows. - -@quotation Note -A complete list of supported radio models may be seen by use of the -@option{-l} option: - -@example -@kbd{rotctl -l} - Rot # Mfg Model Version Status - 1 Hamlib Dummy 0.5 Beta - 2 Hamlib NET rotctl 0.3 Beta - 201 Hamlib EasycommI 0.3 Beta - 202 Hamlib EasycommII 0.3 Beta -. -. -. - 1201 AMSAT IF-100 0.1 Untested - 1301 LA7LKA ts7400 0.1 Beta - 1401 Celestron NexStar 0.1 Untested -@end example - -@noindent -The list is long so use @kbd{@key{SHIFT}-PageUp}/ -@kbd{@key{SHIFT}-PageDown} on Linux, @kbd{@key{ScrollLock}} then -@kbd{@key{PageUp}}/@kbd{@key{PageDown}} on Free BSD, or use the -scrollbar to the virtual terminal window (@command{cmd} window on MS -Windows) or the output can be piped to '@command{more}' or -'@command{less}', e.g.@: '@kbd{rotctl -l | more}' to scroll back up -the list. The list is sorted numerically by model number since Hamlib -1.2.15.1. Model numbers of a manufacturer/protocol family are grouped -together. -@end quotation - - -@node rotctl reference -@subsection @command{rotctl} reference -@cindex @command{rotctl} reference -@cindex reference, @command{rotctl} - -The complete reference for @command{rotctl} can be found in the -@kbd{rotctl}(1) Unix manual page. - - -@node rigctld -@section @command{rigctld} -@cindex rigctld - -The @command{rigctld} program is a network server that accepts the -familiar commands of @command{rigctl} and provides the response data -over a @acronym{TCP/IP} network socket to an application. In this -manner an application can access a @command{rigctld} instance from -nearly anywhere (caveat, no security is currently provided by -@command{rigctld}). Applications using @command{rigctld} do not link -directly to Hamlib nor use its C API. - -@menu -* Introduction to rigctld:: -* rigctld reference:: -@end menu - -@node Introduction to rigctld -@subsection Introduction to @command{rigctld} -@cindex Introduction to @command{rigctld} -@cindex @command{rigctld}, introduction to - -@command{rigctld} communicates to a client through a @acronym{TCP} -network socket using text commands shared with @command{rigctl}. The -protocol is simple; commands are sent to @command{rigctld} on one line -and @command{rigctld} responds to ``get'' commands with the requested -values, one per line, when successful, otherwise, it responds with one -line @samp{RPRT x}, where @samp{x} is a negative number indicating the -Hamlib error code. Commands that do not return values respond with -the line @samp{RPRT x}, where @samp{x} is zero when successful, -otherwise a negative number indicating the Hamlib error code. Each -line is terminated with a newline @code{\n} character. This protocol -is primarily for use by the @code{NET rigctl} (radio model 2) backend. - -A separate Extended Response protocol extends the above behavior by -echoing the received command string as a header, any returned values -as a key: value pair, and the @samp{RPRT x} string as the end of -response marker which includes the Hamlib success or failure value. -Consider using this protocol for clients that will interact with -@command{rigctld} directly through a @acronym{TCP} network socket. - -Multiple radios can be controlled on different @acronym{TCP} ports by -use of multiple @command{rigctld} processes each listening on a unique -@acronym{TCP} port. It is hoped that @command{rigctld} will be -especially useful for client authors using languages such as -@url{http://www.perl.org/, Perl}, @url{http://www.python.org/, -Python}, @url{http://php.net/, PHP}, -@url{http://www.ruby-lang.org/en/, Ruby}, @url{http://www.tcl.tk/, -TCL}, and others. - -@node rigctld reference -@subsection @command{rigctld} reference -@cindex @command{rigctld} reference -@cindex reference, @command{rigctld} - -The complete reference for @command{rigctld} can be found in the -@kbd{rigctld}(1) Unix manual page. - - -@node rotctld -@section @command{rotctld} -@cindex rotctld - -The @command{rotctld} program is a network server that accepts the -familiar commands of @command{rotctl} and provides the response data -over a @acronym{TCP/IP} network socket to an application. In this -manner an application can access a @command{rotctld} instance from -nearly anywhere (caveat, no security is currently provided by -@command{rotctld}). Applications using @command{rotctld} do not link -directly to Hamlib nor use its C API. - -@menu -* Introduction to rotctld:: -* rotctld reference:: -@end menu - -@node Introduction to rotctld -@subsection Introduction to @command{rotctld} -@cindex Introduction to @command{rotctld} -@cindex @command{rotctld}, introduction to - -@command{rotctld} communicates to a client through a @acronym{TCP} -network socket using text commands shared with @command{rotctl}. The -protocol is simple, commands are sent to @command{rotctld} on one line -and @command{rotctld} responds to ``get'' commands with the requested -values, one per line, when successful, otherwise, it responds with one -line @samp{RPRT x}, where @samp{x} is a negative number indicating the -Hamlib error code. Commands that do not return values respond with -the line @samp{RPRT x}, where @samp{x} is zero when successful, -otherwise a negative number indicating the Hamlib error code. Each -line is terminated with a newline @code{\n} character. This protocol -is primarily for use by the @code{NET rotctl} (rot model 2) backend. - -A separate Extended Response protocol extends the above behavior by -echoing the received command string as a header, any returned values -as a key: value pair, and the @samp{RPRT x} string as the end of -response marker which includes the Hamlib success or failure value. -Consider using this protocol for clients that will interact with -@command{rotctld} directly through a @acronym{TCP} network socket. - -Multiple rotators can be controlled on different @acronym{TCP} ports by -use of multiple @command{rotctld} processes each listening on a unique -@acronym{TCP} port. It is hoped that @command{rotctld} will be -especially useful for client authors using languages such as -@url{http://www.perl.org/, Perl}, @url{http://www.python.org/, -Python}, @url{http://php.net/, PHP}, -@url{http://www.ruby-lang.org/en/, Ruby}, @url{http://www.tcl.tk/, -TCL}, and others. - -@node rotctld reference -@subsection @command{rotctld} reference -@cindex @command{rotctld} reference -@cindex reference, @command{rotctld} - -The complete reference for @command{rotctld} can be found in the -@kbd{rotctld}(1) Unix manual page. - - -@node rigmem -@section @command{rigmem} -@cindex rigmem - -@command{rigmem} may be used to backup and restore memory of radio -transceivers and receivers. - -@menu -* Introduction to rigmem:: -* rigmem reference:: -@end menu - -@node Introduction to rigmem -@subsection Introduction to @command{rigmem} -@cindex Introduction to @command{rigmem} -@cindex @command{rigmem}, introduction to - -Backup and restore memory of radio transceivers and receivers. -@command{rigmem} accepts @samp{command}s from the command line only. - -@node rigmem reference -@subsection @command{rigmem} reference -@cindex @command{rigmem} reference -@cindex reference, @command{rigmem} - -The complete reference for @command{rigmem} can be found in the -@kbd{rigmem}(1) Unix manual page. - -@node rigsmtr -@section @command{rigsmtr} -@cindex rigsmtr - -@command{rigsmtr} uses Hamlib to control a radio to measure S-Meter -value versus antenna azimuth. - -@menu -* Introduction to rigsmtr:: -* rigsmtr reference:: -@end menu - -@node Introduction to rigsmtr -@subsection Introduction to @command{rigsmtr} -@cindex Introduction to @command{rigsmtr} -@cindex @command{rigsmtr}, introduction to - -@command{rigsmtr} rotates the antenna from minimum azimuth to maximum -azimuth. Every second, or time_step if specified in seconds, it -retrieves the signal strength. Azimuth in degrees and the -corresponding S-Meter level in dB relative to S9 are then printed on -stdout. - -To work correctly, @command{rigsmtr} needs a radio that could measure -S-Meter and a Hamlib backend that is able to retrieve it, connected to -a Hamlib supported rotator. - -@node rigsmtr reference -@subsection @command{rigsmtr} reference -@cindex @command{rigsmtr} reference -@cindex reference, @command{rigsmtr} - -The complete reference for @command{rigsmtr} can be found in the -@kbd{rigsmtr}(1) Unix manual page. - -@node rigswr -@section @command{rigswr} -@cindex rigswr - -@command{rigswr} may be used to measure VSWR vs frequency. - -@menu -* Introduction to rigswr:: -* rigswr reference:: -@end menu - -@node Introduction to rigswr -@subsection Introduction to @command{rigswr} -@cindex Introduction to @command{rigswr} -@cindex @command{rigswr}, introduction to - -@command{rigswr} uses Hamlib to control a radio to measure -@acronym{VSWR} (Voltage Standing Wave Ratio) over a frequency range. -It scans frequencies from @var{start_freq} to @var{stop_freq} with an -optional increment of @var{freq_step} (default step is 100 kHz). All -values must be entered as an integer in Hertz (cycles per second). - -@quotation Note -@command{rigswr} assumes that @var{start_freq} is less than or equal -to @var{stop_freq}. If it is greater, @command{rigswr} will exit -without doing anything. -@end quotation - -For each frequency, @command{rigswr} transmits at 25% of total POWER -during 0.5 second in CW mode and reads @acronym{VSWR}. - -Frequency and the corresponding @acronym{VSWR} are then printed on -@file{stdout}. - -To work correctly, @command{rigswr} needs a radio that can measure -@acronym{VSWR} and a Hamlib backend that supports reading -@acronym{VSWR} from the radio. - -@node rigswr reference -@subsection @command{rigswr} reference -@cindex @command{rigswr} reference -@cindex reference, @command{rigswr} - -The complete reference for @command{rigswr} can be found in the -@kbd{rigswr}(1) Unix manual page. diff --git a/scripts/README.build-Windows b/scripts/README.build-Windows index f3dc95da4..cbeffcd39 100644 --- a/scripts/README.build-Windows +++ b/scripts/README.build-Windows @@ -85,7 +85,7 @@ The bin/ directory is where the executables and DLL files are placed. Header files are under include/Hamlib/ and compiler specific files are under lib/*. HTML documents for the .EXE programs are in doc/ while text documents (READMEs and such) are in the main archive directory. The doc/ directory -also contains the generated HTML texinfo manual. The embedded +contains the classic Unix manual pages converted to HTML. The embedded README.w[32|64]-bin.txt file generated by the build-w[32|64].sh script describes setting the PATH environment variable in Windows 2000, Windows XP, and Windows 7. diff --git a/scripts/build-w32.sh b/scripts/build-w32.sh index cbf3a2b52..b1a32ebdc 100644 --- a/scripts/build-w32.sh +++ b/scripts/build-w32.sh @@ -195,8 +195,6 @@ make install mkdir -p ${ZIP_DIR}/bin ${ZIP_DIR}/lib/msvc ${ZIP_DIR}/lib/gcc ${ZIP_DIR}/include ${ZIP_DIR}/doc cp -a src/libhamlib.def ${ZIP_DIR}/lib/msvc/libhamlib-2.def; todos ${ZIP_DIR}/lib/msvc/libhamlib-2.def cp -a ${INST_DIR}/include/hamlib ${ZIP_DIR}/include/.; todos ${ZIP_DIR}/include/hamlib/*.h -cp -a doc/Hamlib_design.png ${ZIP_DIR}/doc -cp -a doc/hamlib.html ${ZIP_DIR}/doc # C++ binding is useless on w32 because of ABI rm ${ZIP_DIR}/include/hamlib/{rig,rot}class.h diff --git a/scripts/build-w64.sh b/scripts/build-w64.sh index 85def0b9e..46add9aef 100644 --- a/scripts/build-w64.sh +++ b/scripts/build-w64.sh @@ -195,8 +195,6 @@ make install mkdir -p ${ZIP_DIR}/bin ${ZIP_DIR}/lib/gcc ${ZIP_DIR}/include ${ZIP_DIR}/doc ${ZIP_DIR}/lib/msvc # ${ZIP_DIR}/pdf cp -a src/libhamlib.def ${ZIP_DIR}/lib/msvc/libhamlib-2.def; todos ${ZIP_DIR}/lib/msvc/libhamlib-2.def cp -a ${INST_DIR}/include/hamlib ${ZIP_DIR}/include/.; todos ${ZIP_DIR}/include/hamlib/*.h -cp -a doc/Hamlib_design.png ${ZIP_DIR}/doc -cp -a doc/hamlib.html ${ZIP_DIR}/doc # C++ binding is useless on w64 because of ABI rm ${ZIP_DIR}/include/hamlib/{rig,rot}class.h