ELF(04D4 (p99944444499@@@P @ @ @PPPDDQtd/lib/ld-linux-armhf.so.3GNU GNUNO4bB2/w CUA1HKEO.JRI T+B%2 "N4S/#3$MPF 7L;G6(Q&-:  *'!,)5<>8 9D=@0C?v ]%r3jBGNd~{' BzOni=X6Bcvb6 nW*J <%eqlibm.so.6_ITM_deregisterTMCloneTable__gmon_start___Jv_RegisterClasses_ITM_registerTMCloneTableacossqrtexppowlogsinfloorfsqrtfatanlibc.so.6socketfflushexitreaddircfmakerawconnectclosedirinet_ntopsignalstrncpylistenselectmkdirabort__assert_failsymlinkcfsetispeedsendgetaddrinfomemset__errno_locationtcsetattrbindreadgetnameinfograntptshutdownctimestdoutfputcrecvstrnlenlseekmemcpyrandsetsockoptmallocraiseremovegetpeernameopendirrecvfromstderrioctlgethostbynamecreat__fxstatusleeprenameclock_gettimeunlockptcloseopenlseek64fprintfgetsocknamesendtoaccepttcgetattr__ctype_toupper_locfreeaddrinfofcntlcfsetospeedptsname_raccess__libc_start_mainwritefreeGLIBC_2.4GLIBC_2.17 ii ii DB#BB8A AAAAA A$A (A ,A 0A 4A 8AA?A@ABBCBDBE BFBGBHBIBK BL$BM(BN,BO0BP4BQ8BR!# F`01B" OThhzzgzGzzRF:zzgzGz ABFF"2B,E h@DO1 z@zJzJ ' B@6BKFBB}zhhzw'zۀz2BwzјB*Gz@zz@z𺀷z'jB}OLBezB0zZO _jzO bF#ԳB= FqD D!F jjȿ0BуE'2,wz"zO z$`"B !¼BYKF&o*wzO2zDdIF h h!O)zh hhZ juZfZZEjj?eaDZ2jBuZfZZEjjMjF&Fz 3zB*Gz@z&,3333?L= #(F! #h3#`8@`! / FC F '@ p! !F @p! O0|-OD8sMDdD%hDyIkF"F O8+F %FFDE&٨O2a (F3x+K (E UXFOa8F #DEh+4+w0X9F -U F=4X9F B F M MDsx+|Д0=m9F:0z:0zXzz -EF09F 4:*0zzzz BF0m9F=m:0z:0zXzz q-F09F 4:*0zzzz SBFo"x=cxm9F:;*z:0zzz 3-?QEFxx049F:;*z:zzz BFр-O&F)#2FFo`IEaFRIBذE D6B  wF*DzR:  O F  OH* b*; F!%z=DQjBzvjjjvjj2DQj6zz1Dzw'zz0DػWи T2JO.J ZO$"J4:C:JsEC$:  aFuF5ZtJ)ْj=DZBPj$zdz%zEzvjjjvjj2DPj6zz0Dzw'zz1DE  E  Fb:j-ODy Ch F -FF@` F,DDz" 0Yhh)Q`1Z`К`3Z`Bѵ@ρzgz z O1 F0 gz[BF(;8gEDc h"F hIhF)h*PkFZEn`R: *`o  FFFFjjuF4FFh )0F'F3zz0,z & IF zp&z6 zg'zz QFz'  \E  CF !F1BF" [hO +&h#F eh D`U`hfE3F`*FzzgzGz@𳀟 &F퓛%퓋O _픺 j gz H Ez@   {''zzzg'zFzO }h0hPXF)F XF)F sPP00D z z zgz@gHgE  ѵ@zjjzFz'&zgzzzS;z6z'&zgzzzB j >z ' j?0ZhhR:  zgz1Df_3h|h FFUhB F+ B*FD83x+?#o@E<;+DzzaB?p3hh|%;Fq= ףp?HzG?I@'7B02hh[+Dzz)F 0BdP! CR@zh -AWFFF8F Rj$gDcXzr?(F@&Fz::GjGZGZG*G*EJzF:BJ D'jgzBzbjB#jT$zGJ6GjwzFJdjfJFZGJZDZdjZFz@#zgjgzzzz jwzzgzz'Z@Za`zaZzeZzzza zzXGzzz$@?{.>p}?p}  O1  g @ O1  gz 0g 𵃰OQ ?OR!D pD(qD rhhO6h%!^`q` DNLFe`7`)``@$p!-OF-@M# @D4$xFO0IF@F @B2x @B2Fx @B2 @B2GBzoA O@ + Dn@o3jZzj8D&zez%zF&zzz( \ F < AZjDz8Dj'zgz%zV&zzCEDsOh(;F:F `:F @@0ʪ9F)F8F"$"! Fú F ]#O 3#"r!*F Fazz¿Fgz Bi1aB(@SOB:`#+@ڵ@IFp AIF 9zzwgzzzzz}԰ z ` @z+` zHb` {zwzjGzwz;jzzGz  z  z#+M @M @JF1F@0:+lѝzzzڴݵ?gI H KzgzH z3jjZF'zgz%zV&zzz \F < @jZDz;Dj'zgz%zV&zz BbEэIFp P @JF@0F zzjzj$ @C @B32hFFhh3`j?L?75w?wIF  @JF@0F{ zzjjjԝGz5)j @XF *[FFz1zgzGzz7zF* *BzGjdFzgڰD*,FGz@ G-@FIF>' DEz}GzDPx@z@zHjz0zz+?!0F @4p! $ @CCR@3 "@Cz0wz @zzڇ'SIF3DDF H @C@3 @Bzm'z @ FIF 1 @C@3@C - ! ! FBF 0V@ z@8p! k ! BdP! -OFOaFC F #OFF~"30/x:+EA]0 +1k$ F3FFD0<0 /x:+ ,.)0#0*@72/д?O4 F$ F.Fx:+0#00,:+5@%Db-OFDrFDrF-FDs\FO XFDHsD(3FDs4FDc8FD#FD8sFDLs FD130FD@sY+Áh+@HA! VA ! OBdP! HA B! AA l! :A@0_! 3A02! ,A0X! %A,@l! A@q! A Pe! AtPp! AP&! A `e! At`R! A`E! Apd! Atp! Ap(! Ap]! Ag! A2! AJ! Af! AhQ! AJ! A >! AH F! A D! A -! A0[! A`0W! }A0T! vA @N! oA\@i! hA@N! aAPN! ZAhPq! SAPX! LA4`/! EAd`O! >A`6! 7A`l! 0AXpg! )Ap^! "B s! Bd! Bt! BlR! B}! B@ ~! B O! B0k! BdP! B|0;! B0o! B(@! BD@! B@&! BP! BP! BPp! B(`>! Bh`! B|`! Bpb! BdP! BtpG! Bp! zBp! sBp5! lB$! eB4 ! ^B@!! WBd"! PB ! IB! BB-! ;B! 4B! -O0Oa` 1i+u+f+@𣂝13+@𞂝12+@#`Oa` 1+h+Az@z h+@0+@@h;hX#0:gz@zjz@z@ @z@zD  0z @z Dž@#0#F3B zO1 ' hDc`*0+z@z.Нz@z'Ї z ' ' Dz0' z O1 `!hDc`*"("`*I"`zz2xwzz"0+@܄j@jDLshjFjzz&zf'z&ZzZzh+h3-h-gП_FY&FYYYkh+@ʁP43DKzz3Fc#d!zLIjzH:DGzzDG)zz:gzfzgzz)@𨁫F$ `ObIF kRC4,-h- @Oa` vOa` b( qq )*@(h F#OV$]D Oa Jx-++Oa` =@KGOzB>q=J75$H$tIOa` %(hOb`D@ K(J+hOa`DC Oa` *hOa`yr (+h3*F#lOa` +@D,2Oa` (;h + #Oa` Oa` *hOa`|r 0+h3;+@p!Oa` D`Ob` (@p!s[x+@Lp!gOa` Ob` (yA!R11+8+@\p!C18+#`ZOa` VDrOa` 80@r;BDA!zzz x;h@hX#0:gz@z_jzzzD@HJC+3:h3X" @*gz@z?%'zz"P$B! ;h!FX#0:gz@z I ' B! (@B ! B! ! B! 3+}B! B ! !P rB! ! uB! ##! @:gz@zzjz &z' ' NB! mzz B ! _! F 3V4BdP! M3+3+?B $! < )O7101 +7303 Oq0 $n! LB ! Ad! `Oa BH ! O0l)Tx+?XB!!Oa` Ob`(ӫA,!Oa` D3D3 cEЛ0c6ch!00 )٣A)7>3D3 cEѣFN3 `H@p)! M`3x+}#`HOa` 4*hOa`2 +h[h+'Ap!Oa` Oa` (`Â+h"` Oa` DHpOb`,(A !@@qD Ob$tIOa` (hOb`L@( +hLCh`ɺ16+Z#``˻ #0O+h"T$ R(`B!~ ! xOa` Ob` (߁Oa` Ob` (ЁzDLsz hz0pĿzz``\#` pUOa` PDrOa`(#p?B ! F! B! : ! z@zgDLz 0cB ! 0 CZ !PF !  B! !  h+BdP! Ǻ #pݹ+h"S$׹z Կ#Os0.B< !#p+h"V$B !  ! B! #p#pp#p p)hD03"pX$+h"W$~#py+hOa`t% q)h`blQ(O b@pp!;@p !4Oa` ODBFS#FB##6#3 O1 $5 O2F! `@(FEР$"D@! 7 `F0O2!p@^@ '0F"!X@ Ps@`C h@O2!Cn@ oF! h@oF@! #p@#CB03B ! c#324.@ɀ5+@-+3-B4-24-3-36"-RB+ @@YO  ^=F >$"!! #5@B< 0X@B 32D[B3,q3+$+@߀dD,$dD,T@d\ⲑBՀS-@\N(& t0>#SFQU *#\q@TE  3%'+##'-3cC+ +#/#)p?(A0 3(G0=(8>( + / p0pG=+;۲>+ +#/#=+;ܲ>+ +$/$ hzFD]wx'$(J5zgzzz `wy6y] "(*zgzz ``47`7-AF'BR FFF(FF/p#NxQx O  p #! +70 B1F(F #)01\BR(F!+ȿm#D #!(F #!B R(F#!0 (Р ^+B$P!! U]F F4F5F F{@/FEёB8ٴyC\C\FXyC,Bd !& , LB(FB!#C04@1#=!(F x@BѼ-O&-,MLE E4DX bA@BbCcʰDdʰEeڰFf 4 F$@&pHAd F#@ʋ<4 F @4B(R# F@*@ F &F+# g 8`#( Bɋ00 C01Upp HR# OOS#O O#O.O5qH OAB00Cp00sqN#S#qTHX4LFFx+r g #O[8`O( # OL 00Br01Cir03rDRb#O.sOYO#O O# OHFO0B0 0(tCjs0sE#W#T4Zxt@6 HU ? #VLAA#OVV#A/!00B$0xC03PuBuuUz ' HZLEE Nz#OYO# OLO0B0C pv03v7zzz0z@-z* 󢀰J !&w#`kpMI 0DpGz0Dz#p.qzkq8B,R#@ F]l @ @F FNB4R#@ FDp@: ?B@FzDHQ@ff?B?4 F$@%@ F#F &@D O n 5  ,M4[x_+ _z '  _&z=_*z/" A!="Yp p jE#F |#gLBB #C01aUAYvDZb gHRLCC y gO} gOO g O F 01L qOBF 0 06G00 q07rqzAYv b#0 ' DZ_gb HRLCC y gO} gOO g O F 01L YpOBF 0 06G00p07Xqqx h#0= d(LBBg#B00C01ɲaUpEzz 0' t#0D-#cTHVLBBg} #C05eTLBBg#B00pC05p_z ' g# 0#O[#OB00Epw05Cv077w0 F}-#cU)(!lF# 0ba +70B FOq@-OF-}B/uFx2F !OrG 2`@ DPLH !Fd" C M#! "F Md#!BL>C0#! M3h !"pp!\ M *W202 +W0bpd#"F%pp3h33` Bb#! MaCX #! MV9F2hG+3h33`8F1F9F2hGOu0h!d#"FD?\0` /d#"F! M,Bb#! M"3h33`CL #C4#! M C( #! M y #JF!8FyxG^#3` +W303 (0OW0OqhF 0DA]-CFF (6B?5FBӸ*F"F4B5BҽFFB >B %DB4 BD(3-O-h,CpCtFFF@`FC#d!jD43d!ghFhXF$h,dУhd")F+йvB#BFd!Cd#!PF9d#F7C|#d!.d#!0F$d#F"C#d!H d" d#FC #d!I d" d#F|5y-OF-]Dh.Ozq(FOzrF)F0FaD46F$H$hh+Ozq(F`fghFh0F)FV$h, + ++@& 4+Є0 *D03x+@+*@𙀸@&!C`*F#F!!#C p*F!#F '#Cp*F!#F,{Cp !1FC(p9F1F` "C4p !C@p !$ #C\`*F;F!6}"CLp;F !*Fp"CXp;F !*Fc!Cdp!;F*FVC< ! +:D@sxD83xkx C 3BdP!o S3h ]OpG1F.?D84#x+@F" "*(+@f5O  ;h+ЩE  ];h+ Q ! P;h+ E!0F S@N R2h[ *#+?M S 3x[ +?D +?@+< RD432hBFh S3h(0+?.#x;hBdP!!C" #(FOzqB 1FzOzr 0' Ozs2FF(F/DU.%VOCOr a5  `OqCP!~!DBd !o S!3h2C !a S3h-@ЁC!S! C!H!C!=!@F+@sC!. +` +́C!C!!h FC! S!3 FC! S!3 FC !!H FC!!I FC! S!3 FC!!J FC !!zC !!XFoC !!dB| ! Sh-@+@C$ !DHu!FB!sC, !l!i F@B!_z@z@ Sh S3hNBdP!EC8 !@ S3h S3h6C< !/;hF" "*ܭ#x+T!SQ800+O LF~,@$ S3h++@ S3x+_x<*I*`$G<Clq `@-W<x 9)@CR#@- `O PCF#@- `A,< -   vC@ ! !BdP!߹C ! ! ,C !uD<0Oa\(8`<!N>h.C(0!YC!R1AF+##H h  S3h R 2h}D<0Oa F8` R2$G<h S3xD84#x3C@ !:B@uW xF/ FaEAFD%B#R)q$FC !(F!xv .ӁrjbZRJC0!UC0!N8x!C0!A8x!OS#+^Ѧ OS#+@+@BdP!4"C0!C0!Cp0!C\0!CP0 !C@0 ! RD432h aJFh S3hV"#C0:F#F ! !#C0 :F#F!#C0:F#F !Zx*x*? *.|y#%C@:F !sC<@!)F NA5C0!z)F?CD@!n)F@3CL@ !b!'Cp@  !THF!C|@!Iy!y  ÀO C@!1 !z B C@:F !1C@:F!"#C0:F+F !"#C@+F:F! $#C@!F+F:F #C@:F+F ! #C$@!F+F:F"! #C0@:F !CR#@- `O 9CR#@- `O +CR#@- `FC0 !1BFW W 0 B#x+?xC@!im <8,?M d&pC"F@DBF@(D83x+@ S3W h+*$$^C0b #@- `O  W< 0@? && ؁CLb#@- `Ep@c C"#D FgEG d" ` 0p *7202 +70@-Fbp"FX#@- `P@-!F [W: @-"FF `:CR#@- `/5D7ED## +C<"#@- `$DpF+B++E +# +ÀW, HF fSYxxx4r!"# *70BC\b#@- `@-2FF `W< +DyYyyy0r!"# *70 ECb#@- ` @-2FF `W<"@- `+Dzp *7202 +70rpCb#4p r@-2FF `jE1CUO E% `] *07 +07qp#*F@-B@-2FF `:E `@- `@-CP!@- `@-W 0/= d" `[]p *7202 +70@-bpF"F."+D[xp *7202 +70@-bp p"FF `#@- `CTb#@- `&Cb#@- ` fW< `[]p *7202 +70@-4pFrp2FCb#@- `W<" `+D[xp *7202 +70@-rpF2F4pmCb#@- `bW<  +Dxx0q# )70 B@-2FF `BCtbl#@- `6E1F]48@-2FF `&EC<"#@- `C\b `#@- f W<[]p *7202 +70@-rp0p2FF `C\b#@- ` fW< `e []p *7202 +70@-rpF2F4pCdb#@- `W<@-1F+D"#!@ 0   @-2FF `WLClb#@- `,Ddm# `  pO  7 0 *7spF2F0@-FeE@@W,z S hgfl@!k.ji0" ! *#ʪ :*'ɚʪ)'ɚ 󍁺L@ѵ@4Cxa@- `: @-1F @-2FF `@b#@- ` @-1F |@-2FF ` CaHF@- ;LMs`Bb풛ICDbO f$#@- ` ` 0  p *07 +07@-qp2FF5p%лCa@-4+?>W, zlST]Yxxx!"!r# *70 E TH !F@- @-Cb F#@-?<2F@-!XF2@-2F FF/Cb F#@-&$@- FF bCR F#@-@- FF @- FF b Q16jO5:Cc  h P 0hIJ FZFZFJF:C*C*hjHJDCta@- `L1F  @-2FF `EC<"#@- `V@f@75PG̮֛Cta@- `LICa@-Ca@-HFCa@-Ca@-HFCa@-Ca@-HFxC@! 0#OqBѢFCX@ !E)F CD@!9)F@Cd@ !-ɾCCR#@- `O /tCR#@- `O  eCR#@- `O VCR #@- `O GCR#@- `O 8Dhb"`]kDDsO2`#$ JDzDI0yDF J CzDOhFI0yDrމ H!$"FxDH"F!xDK"{D`‰6( K I{DyDhB`" 8F[@Q#CA# pG K I{DyDhB`" 8F[@Q#CA# pGԈֈ I 8F yD"[ Q#0B pG I 8F yD"[ Q#0B pG^0F K F{D J IzDh+hyD0#h#R#*`#`02,0ڲ *١Aڲ * :zz#'zzFpGKZ)+##P9ʲ *zzz ' pG5<@  ѵ@  pGpF- FF`@1hzh zr@I hzI gzzb( (  pEpF-FF zzz`@A6ݵ@  ` ?Ԇ I M@ i аI A k I 5z0g p@  h Oz7 z0g z0' E?I@1@ 0-q@#@##x(z2zZJz7-za ȿ7Ȋ@JhZ@J)H zIzzh ۟ 0pz ' ph( @h  z ' 0z ' #=@E-q@`a@џ7 7zɊg ]` +@ аI "@ аH @h _@ H )f@h (I Z8@h D ) Fz ' Lzz0' <@h (I 08@ 4C.eBCB-OF;`\Ee2]3 *@aF%F )5]E" )Bx'*`* !!(A)@ $*" x=*!*g@*/*@=yh(z( !!/(A)//]0 _ *@Ӏ  \ (  DBπa (1;۲p0!;ز[(zO :zO jzzz\!;ز[(jO :zzz\!;ز[(jO :zzjz\!;ز[(O :z7'zzGfzz\!;ز[(zO :zjzzz\!;ز[(jO :zzz\!;ز[(jO :zzz0!;ز[(@`jzO OFW&zz[zpc#O p  Ey.*O OFF;%B""FPF$Bu FaBFD"!XF3(@+D"XF!#@< #3p,#F ;*)*'B]!+_+ cq3D+_*!*ЙB7Bұ +O^RF!j LF(B!FRxP/,TxA,Dx=,фx28z-, O O FDDo0>_ jEzG&zgzѻбgz"zoAO@'' t` BQDRDK KB ;+oz@zјz@zX$FQD,07IdFBD33>I@?765¸2>5<>;[9776C6_+4=|(0j: !(y!( AxA,؄x ,0< -Aza9)؄x!<[)@Hx44hS$0p?z@z1,zjj/՘z_0jjj$Gzÿ_8j7&zzz>zwzz z@z#00 FZEhZxG*lxG)3R)!FO Vzzx +0;ڲ *_[jO :zzz{\ +0;ڲ *zO :z_ijzGzz\ +0;ڲ *zO :z_tjzGzz\ +0;ڲ *zO :z_jzGzz{\ +0;ڲ *zO :z_jzGzz\ +0;ٲ )zO :z_jzGzzBo7zj'*jzGjfzjB'zO F xQF3 ,0Բ ,Ex+AA,+SH2F)A0,)9BѰxS+'zgzzEAx+A,+S2K, ,,F F[EӰzzx +0;ٲ )jO :zzzS\ +0;ٲ )zO :zjzGzz\ +0;ٲ )zO :zjzGzz\ +0;ٲ )zO :zrjzGzz\ +0;ٲ )zO :zijzGzz\ +0;ٲ )zO :zZjzGzz\ (08IJ ,zO  zPjzGzzB'2Cz2DCj:jzGjfzjB'zOF xXF2 ,0ܲ ,E x*",*Z+3K,,,FEF\W*zgzzCAPB \*)*)3Bg"B(,FO p,2x=*Tcz_+*+/3f?_+4=¸2>>;75<[976C6765"FK/XF \F XF2\(3 O XF 2\( XFO 2\y(" XFO 2\l(& XFO 2\_(O x@L(B*zgzzZxc(O ؑ@LNH *P*Hzzgzzxc(O ;(FX:*_RjzG&zzxc**_YjzG&zzIy@L)Bgzz" ``+yc)Oa "qFO `cO @򇀚yc)bO yp]p 4Dx"!XF]x})л y}* 3\!:Ѳ[)@kO m#'pzwzz _j7fzz<#0 3%FxF}*@LBF*?v#F``Fh D` hH!Hq`F(h!q F`L@@Od h D@ ``a *(F{.+r  0#0S+N+b 0#0W+E+Y{jzzzz\Gz +0;ڲ *O @򪄹s\ +У0в (zO *zjzGzzs\6+(O \ +0;ڲ *zO :zjzGzz{\ +0;ڲ *zO :zjzGzz\ +0;ڲ *zO :zjzGzz 0^#0S+$N+O \  p\ +0;ڲ *zO :zkjzGzz \ +0;ڲ *zO :zYjzGzz \ +0;ڲ *zO :zRjzGzz s\ +У0в (zO *z?jzGzzs\6+(O  \ +0;ڲ *zO :z0jzGzz\ +0;ڲ *zO :z$jzGzz\ +0;ڲ *zO :zjzGzz hS"0W+E+O \7g#B pp@ރ'F¸2>>;[9776C6f?5<I@3dFB$tIV?=Cm 3:7D_ jzj7zfzWzz{zp\}+ + $$:{*!;^+Y+`s\!^**@VO OFq3D_x!?[)?x!;ٲ[)?*O1_1Z z_2jz5jzGj: fzGz0' P84``FF\S+ϪǺF\E@ x*@,*Z),)FBѕB@ Q_]z_[Z2D_jj zG%zBgz z; +0ò +_njz 0 O1 O`ZE\*,*X3/*,*F𧁣BѝB@mY j3D_jz z B   д + *0² *ٷ O1 BO `Cx!9Ͳ[-?JZZj_jzFjjjzL6Gz7zLwzwzzz2B FRD  B 'tyM+C ##𰁙FFԸAGqLL O O Fr\!!^)^(?2[!# : z FO1 ' f`iE8 x*@M,*Z3D)@?,)FBE@= x+@6,+Ѽ)@),)S2ZEFx-([FB@3t3D jjz*z B & д   )0Ѳ )\[Eׁ)o,)iS)c,)F\УB\-([M)!oAO@ `3\ozx ,30< ->rJjkZgjF%jJjejazz b zO10g `FZRj3F2FF-(ȩ@ FY3Es\<+@f,+r(@,(K1YEF\3 F3\.FXE@<3\+@:,+?+@9,+ F[Ep\ F FBEXٱ\)U,))@,)'FBFO 7:jzG&zzO HE'ٱ\)Q,)1:FA?>=$tI_+4q=?5<)5,):FBѳFO '` E]+,+29F (%,( 17YEF9FӒO ɾ7O þ#0YFOF4'FO 3O #0F(U`x\+ \/*30Fx'F`zgzzFFݼxl+/30Fu(л1 zsFoϫA#'F `p`F>zgzzغF\ F\s\F-CxG)4S)нAxP)VY)сxM)x/gC|C@ eFFF!@5BA16^)@OABѐlxE!1/ ppAxP)сxS)xCy0 ,Ey0 , $Qot ],ءqpxC* /"\"pxC)ѩtxE!1\$ppBy0A) (p/!ppDh"`*@-O& (,0 PEE-$$eE $OE uE $-- $_@ h. h `h . h@%U6 h. ` P-- %  D hmT hD ` `>]0 , %%\ ,-wE3\DU'MEpќ@# D` +3 ,040;F042@T2BًB#T@+F#TpG-OFE (F F0!O FF|+D"x:+5F%Ё]0 +Ds$ F3WFFD0<0 پپMо.д?#*@2x:+,.)0*#0@$. FO4& F/ I pOq;x:+/+##BC+6`@x:+ 0#0;x,:+6&B$V FFFF F!2F)F F#@jF#!jF)F F#2F)F F#jF #!jF)F F#2F)F F#jF#!jF)F F# ( xpD&xX@D3\(\c@p pppGS+xD&D\\ D;K@E\\сTP! FTPB!D'DDDFK ,y]A@p]B pG pG-O$F T O0 O>F)FFM3F(`@Fmر F,`\>* p",!: 3FRF)F@F$Q #+` D%A#+` $\,)D: *"3FRF)F@F$-(< \*)2 !<`F [ S PD;9Bѹ\(h[ :)C+8O0!V3 0+h +h3+` +h3+`]GBث [E2OpB([Er 8+h3+`)Z*%ۚD'D z\@  Q@Bz\@  tp+h3+`(" F ;1FtF3F{@/ FaEѳB.Ҟ0C+DLF)hF- g +PT1 )hO)`PT)hOD10)`ST+hD+`3FDMw)htFSTB)h)`#x[ +8x^#(PT(` -O$'F>,`p7BoD%H  ^O/F#(KFFFFj#3p*h>!#@F(KFT2F/hQF7/`W(,A٘ 0=#O  \E5<  /)h O,KFpT2F/hQF@F7/`/( ,\") *2*h!O*T*h2*`"0++h: BT(h+`F٩ KE2DF1BٙE/*T(hCF+`\E#  "T+h3+`T`>xVF%hBO, FiOqE$5TThB UDF`OKhB`xp$9F"F +*&T&22FB?+rS\ -"F] - #F\+#"pTpGFBppG#"TpGpFFCFF+x+Հb+F$(ɀ4B@#\hR! T3B,@+xAò+jxA:*򮀪x0:Ӳ +x0; +)yA9˲+kyA;+,jZ*Zvjz Jjz7zZJz7zzjyixxAA*0fj:FjgzvjF$zjwzz:,RЫy0;ڲ *U ,K+zA;ڲ*FjzA:*B: ,9jzJ7j7ZzZ5j7$z7fzzkzA:gjzwzwzz*Z(F)j)j7ezwz'&zgzzzp,7#(F3`s`py0: *:,JjJZZj6z7dzzy0:fjjv'zwzzѳ4E.؂;E.;4CB5<B=pCбoAб_@б_7бO?бO>бaO=б?3бa?:б/:A%FB()F.()F( * F!C c0 % %% % %A%%AAO0p%FD! "#F('+*F!0F(+ "!"0F( + #"0FF pp8D3D4h%h;B#p8D 35 FhS%%`8F FF۹  AD3h2hD 2``pGpFF F.(F"F)h.`p  )  {  :;: ¿:3: CChAd@.{g B:3: pG   ٷ  CChAd@  zgzѰg C0ChAdOrb@z     L  ٷ C<ChAd@ : LFF6 `hChCCp@"j )#O3@3*ݑB pG@@pGIBBRB@@pGB#BF pG pGB A #R! BF pG pGB J #P"@!C@"CChAd@:"B L "P$0#@$0C$ChAd@A"bT#F3/B س/*ыB"Tp$6FVftʼzd lK{Dh "`pGFE]E]E]E ]"EE]E] FOACO3z] pG FOACh] F0i#h h#`O0"! pGP-A' B  tO`hx3F"! "F!(FBF!(F*Bb(F!F(F+li, F6O5(F ,(F P0 FF B @ Xh$!()F F F 0 F,O4FFF( ( IpF]yDt F]  F] 2$O@COC@#(h +$ FO4EAO3p]X!"F!F!@ F F F"iFO [ 0 ]"!F(@b! F@O00F%@# R "`` 00F%# R "`` 0[ 0#$# $@JpG$B@BOFB(pB(pAB(ApB(poB(`oB(`AoB(A`oB(`_B(P_B(PA_B(AP_B(POB(@OB(@AOB(A@OB(@?B(0?B(0A?B(A0?B(0/B( /B( A/B(A /B( B(B(AB(AB(B(B(AB(AB(FpG  pG pGO0)-@@pGO -CF MFF,}DD  $Y$0BF49F0FGBѽD4:4pG@-    ͍͆͊̀DŽLJʉʌǀÃÈ΍ɂćɉɎƅƈˋ̏łŅňȋŎ„ψόϏ LJ ǀ ɂɉ Ɏˋ  łŅň Ŏ ͆͊ ͍ ÃÈ  ƈ   ψ Ϗ… /^xƍ4hР@#G8qĉ%K.\p 2dɒ$I&M7nܹrȐ A +V[mڵk֬Ye˖,XaÇ>}۷o޽z׮]tѢD!C 6lرcǏ-f u8|i8|i16|f32-s [-]5..[-]12-a (0.15)-c 4..8Warning: only one bw = input samplerate!-b 0..9-l 2..255-g -r -w 2..4096-o -Z (0.01 0.9999)-S -o 0..1 (-1)-M -P -n -W (0 = off)-U or -L ip:port number-T -u ip:port number-J out of memory-J ip:port number-Y d|f iq-filename create-Y b -Y d|f|b iq-filename Decode lora sf5..12 +reverse, 7.8..500khz out of IQ-File/Pipe, 8 16 32bit, shift and downsample (samplerate must be exact +/-0.00001) output data in raw udp, axudp or json, view (and if possible generate aprs axudp) aprs, pr, lorawan, fanet, meshcore, meshtastic... -A (*) enable frame chaining for ax25 longframes -a (*)follow frequency drift, 0 off (0.15), try other on hard to decode frame from iq-file -b kHz 0:7.8 1:10.4 2:15.6 3:20.8 4:31.25 5:41.7 6:62.5 7:125 8:250 9:500 (7) -C (*)use crc on implicit header -c (*)coding rate and enable implicit header (4..8) (else from header) -D (*)if dcd lost go on decoding until frame length limit (for external FEC or monitoring) -d (*)switch off collision detection (less cpu but loose stronger frames starting inside weaker -E switch off using crc to repair 1 chirp (stresses crc, does not repair much) (on) -F max. block energy FEC off (hamming code fec remains on) (on), try on/off for decode iq file -f u8|i8|i16|f32 IQ data format -g add this to measured signal level for absolute values (no autogain in sdr) (0.0) -H show payload in ascii if printable else in [hex] same as -H 1 0:show no payload, 2:in hex, 3:hex with kommas 4:tries decoding payload, 5:with ascii/hex, 6:with hex, 7:with hex and kommas -h this -i IQ-filename or pipe -J send demodulated data(base64) with metadata in json, may be repeated -j write demodulated data(base64) with metadata in json to file or (unbreakable) pipe -K do not exit on broken iq pipe -L (*)same as -U but AXUDPv2 with metadata for igate individual destinations per sf: -L 127.0.0.1:9012 -s 12 -L 127.0.0.1:9010 -s 10 -l (*)fixed data length for implicit header else guess from dcd -M pass through rx frequency to json metadata -M 433.775 -N if verbous add empty line after data line -n <[-]Hz> <[-]Hz> notchfilter baseband from to Hz (may be repeatet) -O <0..1> (*)optimize on off else automatic on sf/bw (-1) -o shift input iq band +-Hz -P <+/-ppm> (*)tune datarate (chirp samplerate) or preset for auto (-a) in ppm (0) -Q verbous and -u sending only for frames with crc and crc ok, see -v -q (*)invers chirps or swapped I/Q (prefer negative spread factor) -r downsample input, give exact input samplerate in Hz (off) -S (*)modifiy squelch level critical for implicit header frame length guess (automatic) -s [-] (*)spread factor (5..12) (12) and start a new demodulator negativ value (-s -12) for invers chirps or swapped I/Q -T send json udp with DCD-state+sf valid for this sf and every send noisefloor and peak -t (*)send raw frame bytes in udp frame only if has crc and crc ok -U (*)send frame in AXUDP -u (*)send raw frame bytes in udp frame, -Q for crc check -V very verbous for debugging frames -v verbous ====: cr=4(no fec), +++++: hamming ok, -:hamming error, h:by hamming corrected, ~:weakest chirp replaced, b:noisy chirp replaced, c/C:tried until crc ok/not ok, ^:bins with decending power sum tried until hamming ok and presets -H 5 -W every n*firlen samples update notch filter 0=off, ok:50 (0), less for pulsing narrowband noise -w downsample fir length (higher is sharper/more cpu) else automatic (4..4096) (0) -X (*)filter network-id (sync), 1xx stops decode on wrong id so fast ready for new frame if set -d 0 is wildcard, 20 will pass 2*, 03 for *3, 00 pass all (00) -Y d|f|b iq debug output in float32-iq (d)echirped or only (f)iltered, view spectrum, or bins , sets -d -y (*)not view decoded protocols and for aprs needs 3c,ff,01 header else all junk removed until first letter -Z add pulse noise filter (noise blanker) (0.05 0.999)(*) may be repeated for more demodulators, to start next demodulator apply -s before other pramaetersexamples: aprs with autonotch for narrowband interference: rtl_sdr -f 433.775m -s 1000000 - | ./lorarx -i /dev/stdin -f u8 -r 1000000 -W 50 -v -H 1 -N -b 7 -s 12 -w 64lorawan all modulations: rtl_sdr -f 869.525m -s 1000000 - | ./lorarx -i /dev/stdin -f u8 -r 1000000 -Q -v -H 6 -b 7 -s 12 -s 11 -s 10 -s 9 -s 8 -s 7 -s -12 -s -11 -s -10 -s -9 -s -8 -s -7fanet with plutosdr axudp to aprsmap: rx_sdr -f 868.2 -s 1000000 -d driver=plutosdr -F CS16 - | ./lorarx -i /dev/stdin -f i16 -r 1000000 -Q -v -H 6 -L 127.0.0.1:9002 -b 8 -s 7Tianqi-Sats 400.260MHz: rtl_sdr -f 400.0m -s 1000000 - | ./lorarx -i /dev/stdin -f u8 -r 1000000 -o 260000 -v -b 7 -s 10 -O 1 -N -H 2meshtastic + meshcore and frames in json via udp to decypter: mknod iqpipe p rtl_sdr -f 869.5m -s 1000000 - | tee iqpipe | ./lorarx -i /dev/stdin -f u8 -r 1000000 -o 118000 -b 6 -s 8 -v -N -Q -M 869.618 -J 127.0.0.1:7001 ./lorarx -i iqpipe -K -f u8 -r 1000000 -o 25000 -b 8 -s 11 -v -N -Q -M 869.525 -J 127.0.0.1:7002example: decode payload from udp json with python3: -J 127.0.0.1:5100import json, base64, socketIP=("0.0.0.0",5100)sock=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)sock.bind(IP)while True: data, addr=sock.recvfrom(1500) obj = json.loads(data.decode()) print(obj) try: payload=base64.b64decode(obj["payload"]) print("payload=",payload) except: passcannot open udp socketenable FIR (-r) for notches (-n)no FIR (-w) set so no filtert output-o shift outside iq bandFIR length= ratio= offset=Hz notches:..bw= cr=from header sf= id=Off optimize= drpll= drc=ppm squelch= invertedwarning: sf<7 needs implizit header-X < use -h b~^+- n= f+1 f-1%head crc error notch at: out of memoryopen iq file jump:wrong first syn nibble state=SYN 1 OK state=SYN state=NETID wrong second syn nibble state=REVERS1 state=REVERS2 jump/4:rev chirp timeout state=DATA dcd-lost-count=noise=dB peak=dB@0  SkytraxxBitBroker.euAirWhereWindlineBurnair.chSoftRFGXAircomAirtribunealfapilotFANET+FLARMXC TracerOGN Tracker4aviationVariousEspressif based base stationUnregistered Devices[Multicast]fw:[] axudp encode: too much junk in data (-y for prefilter aprs)axudp: beacon encode errorFNTalt:m .:!Clb=m/s dB fec:cr:MHz Ext Header ACK none requested requested via forward unknown unicast broadcast Dst:Signature:no payload tracking:Online Tracking Other,Paraglider,Hangglider,Balloon,Glider,Powered Aircraft,Helicopter,UAVdeg/s QNE:Message:Message subheader:Service:Internet Gateway Temperature:C Wind:deg km/h Gusts:km/h Humidity:% Barometric pressure normailized hPa Support for Remote Configuration State of Charge Extended Header Thermal:qual:HW-Info Ground Track:online Other,Walking,Vehicle,Bike,Boot,Need a ride,Landed well,Need technical support,Need medical help,Distress call,Distress call automaticallyRemote configuration:Acknowledge configuration Request Geofence Broadcast Reply Landmarks Text,Line,Arrow,Area,Area Filled,Circle,Circle Filled,3D Line,3D Area,3D CylinderInfo,Warning,Keep out,Touch down,No airspace warn zoneFANETFanet:Clb:Forward geobased fwd ///g/g/O/g/'/X/n///[/>/b/s/e\o/'/a\!\!{"dcd":,"sf":,"nf":,"nfpk":} id: ill-id: cr: len: dcd-lost crc:okerrno lev:(/)dB snr:dB nf:)dB txd: t: q: fc: fec: afc: dre:MHz[]frame deleted, wrong sync word "net":,"crc":,"invers":,"bw":,"cr":,"preamb":,"duration":,"level":,"afc":,"dre":,"eye":,"nfloor":,"pknfloor":,"snr":,"fec":,"rxmhz":,"ver":"lorarx","payload":""} cannot write json-fileJoin-requestJoin-acceptUnconfirmed Data UpUnconfirmed Data DownConfirmed Data UpConfirmed Data DownRejoin-requestProprietary RFU: Major: AppEUI: DevEUI: DevNonce: NetID: DevAddr: DLSettings: RxDelay: CFList: ADR: ACK: FPending: ADRACKReq: ClassB: FOptsLen: FCnt: FOpts: FPort: Payload: MIC:ax25 part 2ax25 chain hash missmatchax25 part 1AX25: no ax.25 (no address end mark) no ax.25 (address field size not multiples of 7):fm to * ctl RRRNRREJIUIDMSABMDISCUAFRMRv1 pid TRANSPORT_FLOODFLOODDIRECTTRANSPORT_DIRECTREQRESPONSETXT_MSGACKADVERTGRP_TXTGRP_DATAANON_REQPATHTRACEMULTIPARTCONTROLRAW_CUSTOMUNDEF TRANS: Trace[ Path[ Hash: Time: App: [ pos:\gChatNode/lRepeater/rRoomServer/BSensordB afc:Hz MSHCOR Dst: Src: Mac: Auth: Flag:Meshtastic: Dest: SRC: MID: HopLim: HopStart: WantAck viaMQTT NextHop: RelayNode: Msg:[Meshcore: viaBBBCBDBEBFBGBHBIBJBKBLBMBNBOBPP0P1P2P3P4P5P6P7P8P9MRMSMTMUMVMWMXPAPBPCPDPEPFPGPHPIPJPKPLPMPNPOPPPQPRPSPTPUPVPWPXPYPZHSHTHUHVHWHXLALBLCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLTLULVLWLXLYLZJ1J2J3J4OBOCODOEOFOGOHOIOJOKOLOMONOOOPA0A1A2A3A4A5A6A7A8A9NRNSNTNUNVNWNXAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZDSDTDUDVDWDXSASBSCSDSESFSGSHSISJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYSZQ1Q2Q3Q43303232332323osic_lnX2C_INCLX2C_EXCLosic_sqrtosic_power%.*s%*lu%*d%*.*f%*Xosic.c*aosic_chkptrosic_freeX2C_TRUNCIUnknown AFt00  @@L   @xP 8 o oo>  @@0   @ @ GCC: (Linaro GCC 5.5-2017.10) 5.5.0GCC: (Debian 12.2.0-14) 12.2.0A4aeabi*7-A A   ".shstrtab.interp.note.ABI-tag.note.gnu.build-id.hash.dynsym.dynstr.gnu.version.gnu.version_r.rel.dyn.rel.plt.init.text.fini.rodata.ARM.exidx.eh_frame.init_array.fini_array.jcr.dynamic.got.data.bss.comment.ARM.attributes 44PP !pp$4h: PBL L Jo> > Wo  Pf 8 8 o BP P x x s<~    -p99 99@@@@@@ @ @@@LHBHB`BB 0BCpB5 C