db
core
a.out
+perl5lib/*
+11Dec21=======================================================================
+1. Removed dependency on perl Git package.
+2. Force code to change directory to $DXSPIDER_ROOT || '/spider'. Also force
+ git -C $root describe.
+3. Change git commands AGAIN to work on old perls (which mojo won't work on,
+ but it makes my life easier).
+4. Change version strings to include the perl version in use.
+10Dec21=======================================================================
+1. Fix the output of set/dxgrid, set/usstate and set/dxcq or set/dxitu to how
+ it was always supposed to be since 2003.
+09Dec21=======================================================================
+1. Moved isregistered to DXChannel for safety...
+08Dec21=======================================================================
+1. Get to the bottom of why ssid'd calls were using the base call's
+ credentials. This should now work as expected.
+06Dec21=======================================================================
+1. Improve console.pl scrolling. Split long lines (eg on announcements.
+04Dec21=======================================================================
+1. Fix illogicalities in USDB creations and make sure that O_CREAT on tie does
+ NOT encounter an existing file to barf about. Even though it shouldn't.
+ Thanks Howard WB3FFV.
+2. Fixed a typo in show/registered that prevents a list of callsigns being
+ searched for. Got rid of some over complex code. Thanks Fabrizio iZ0UIN.
+3. Fix long line wrapping in console.pl
+03Dec21=======================================================================
+1. Move motd and issue files to local_data if not already there.
+30Nov21=======================================================================
+1. Fix sh/dx with callsigns that have /p or VE/G1TLH in them.
+2. Add unset/ak1a, unset/arcluster aliases and some minimal help for UNSET/
+ SPIDER, NODE, ARCLUSTER, AKIA and also SET/USER.
+26Nov21=======================================================================
+1. *Really* change spot display format and sh/dx format "back the way they
+ were. But They won't stay that way for long!!!! There are four (yes, count
+ them) completely unused spaces at the end of the line!!!!
+25Nov21=======================================================================
+1. Restored spot format back to the way it was.
+2. Added CTY-3127 prefixes
+24Nov21=======================================================================
+1. Make /spider/perl/create_sysop.pl work on a base git cloned tree.
+2. Add /spider/local /spider/local_cmd /spider/local_data to git.
+3. Make user supplied console width (set/width) sticky.
+19Nov21=======================================================================
+1. Add the ability of console.pl to resize and have dx spots also resize so
+ that the comment field's size will increase accordingly. Sh/dx amd sh/mydx
+ also work similarly. If you make the console width smaller or wider then
+ spots already on the screen will not resize.
+2. For client programs that parse the output (why? use set/ve7cc to get more
+ easily machine parsed output), a new command "set/width <width>" is
+ available.
+18Nov21=======================================================================
+1. Add a dx spot cache which will store 2 days worth (configurable) of spots.
+ This is then used by the vast majority of simple sh/dx queries without
+ using a sub process. A simple sh/dx is any sh/dx that does not have an
+ "expression" such as "sh/dx g1tlh". So "sh/dx", "sh/dx 200", "sh/mydx" will
+ always run in the main program via the cache. Certain client programs (no
+ names, no pack drill) will notice the difference immediately. It's also a
+ bit snappier.
+2. set/badspotter or set/badnode will work for RBN input.
+3. RBN input with invalid QRGs will be dropped with a nice friendly message
+ rather than a scary exception message about multiplication thrown by one
+ of the libraries that I use.
+4. Added CTY-3126 prefixes.
+5. Silently ignore self spotting below 1240000Khz (change
+ $Spot::minselfspot to 0 to disable or some other freq in Khz). NOTE this
+ will appear as a spot to the spotter's feed, but will not be passed on.
+15Jul21=======================================================================
+1. Fix long standing bug in crontabs that commands with " rather than ' around
+ strings could cause those commands not to work.
+2. Add CTY 3117 prefixes.
+15Mar21=======================================================================
+1. Fix DXUtil::localdata so that it does actually prefer the latest version
+ of a file regardless of whether it is in /spider/data or /spider/localdata.
+2. Add CTY-3105 prefixes.
+05Mar21=======================================================================
+1. Fix DXCron::spawn_cmd so that more than one spawn_cmd can be active at a
+ time. This affects many nodes where lots of regular spawn_cmds happen at
+ a time and this prevented crucial things like 'start_connect' from working!
+2. Sort user lockout issues to cope with all likely scenarios - including
+ "phantom" SSID working.
+3. Fix "close_gracefully" error messages which are useless, but benign. These
+ happen (mainly) when outgoing connects timeout.
+24Feb21=======================================================================
+1. modify RBN timing arrangements
+
+ There are two new twiddle pots:
+
+ $limbotime (default 5*60 secs) which allows potential spots to
+ hang around longer to allow $minqual *different* skimmers to spot
+ them. At which point they are emitted. This is to catch the "slow
+ burning" spots where a call is spotted by different skimmers but
+ separated in time by more than $dwelltime - in fact maybe by
+ minutes.
+
+ $maxqual (default 9 skimmers) which short circuits the normal
+ hard maximum $quality (9 skimmer spots) and $dwelltime (10secs)
+ to allow a spot that has $maxqual *different* skimmers (usually
+ as the result of a burst from the RBN) to defeat $dwelltime and
+ be emitted the moment that condition is satisfied. There maybe
+ a better name for this.
+21Feb21=======================================================================
+1. add data section on 160m in bands.pl.
+07Sep20=======================================================================
+1, Change interface to watchdbg & grepdbg slightly so that multiple search
+ regexes are ANDed rather than ORed together. ORing is easily achieved
+ already by the usual regex pattern 'PATT..|PATT..|..' whereas ANDing could
+ not be done as easily without resorting lots of 'PATT.*PATH' things which
+ would not necessarily get what was wanted.
+2. Make sure that the pc92 C record only contains nodes and users and not
+ other extranoeus things like skimmers...
+15Aug20=======================================================================
+1. Simplify the skimmer scoring mechanism.
+13Aug20=======================================================================
+1. Improve the (displayed) RBN frequency weighting the skimmers' frequencies
+ w.r.t majority view on each spot. Any skimmer that disagrees with a
+ gets docked a 'point' from their 'good' score (if any) and have a 'point'
+ added to their 'bad' score. This score is then taked into account during
+ the 'choosing the real frequency' process. If a skimmer agrees with the
+ majority the process is reversed. To see this in action: set/deb rbnskim
+06Aug20=======================================================================
+1, Add CTY-3013 Prefixes
+2. Make RBN more efficient. Start the process of skimmer node performance
+ caching. Add minimum quality allowed (at 2), which will be overrideable.
+ The format of the rbn_cache has changed and so a full restart will occur.
+3. Collect channel input/output stats. New command: show/data_stats to show
+ them.
+4. Add local::lib qw{/spider/perl5lib} to store cpanm loaded modules just for
+ DXSpider. This is done so that updates needed by future changes can be done
+ as the sysop user and doesn't have to be done as root. This paves the way
+ for UPDATE.pl which will pull down new modules that it needs automatically.
+ When it's written, which will be soon.
+29Jul20=======================================================================
+1. Add show/rbn command that allows one to see who is online and configured
+ for RBN. See help sh/rbn for details.
+2. Fixed issue with set/ve7cc mode adding unwanted newlines to output.
+3. Attempted to make the QRG normalisation more "intelligent". This would be
+ sooooooooo much easier if skimmers were calibrated more accurately.
+4. Added CTY-3012 prefixes.
+23Jul20=======================================================================
+1. fix Filtering so that it does less of what it was doing badly, thus
+ the perl interpreter to do more of the work. Which means you *should* be
+ able to define more or less any allowable operation for that type of
+ filter. Which is a complicated way of saying: you can now use brackets.
+2. Regex expressions now appear as readable text in sh/filter.
+3. Make the RBN status file JSON, rather than DD format. In future versions
+ it will also be VERSIONed to enable more features to be added
+ transparently.
+4. Add show/rbn command to allow sysops to see who is using rbn.
11Jul20=======================================================================
1. Fix (embarrassing) gratuitous '#'s in bands.pl
2. IMPORTANT: certain PC92 strings can crash DXSpider if the nologchan debug
'u' => [
'^uns?e?t?$', 'apropos unset', 'apropos',
'^uns?e?t?/dbg$', 'unset/debug', 'unset/debug',
+ '^uns?e?t?/arc', 'set/user', 'set/user',
+ '^uns?e?t?/spider$', 'set/user', 'set/user',
+ '^uns?e?t?/ak1a$', 'set/user', 'set/user',
'^uns?e?t?/node$', 'set/user', 'set/user',
'^uns?e?t?/sk', 'set/wantrbn none', 'set/wantrbn',
],
Tell the system that the call(s) are to be treated as DXSpider node and
fed new style DX Protocol rather normal user commands.
+=== 5^UNSET/SPIDER <call> [<call>..]^Make the callsign a normal user
+=== 5^UNSET/ARCLUSTER <call> [<call>..]^Make the callsign a normal user
+=== 5^UNSET/NODE <call> [<call>..]^Make the callsign a normal user
+=== 5^UNSET/AK1A <call> [<call>..]^Make the callsign a normal user
+=== 5^SET/USER <call> [<call>..]^Make the callsign a normal user
+
=== 0^SET/TALK^Allow TALK messages to come out on your terminal
=== 0^UNSET/TALK^Stop TALK messages coming out on your terminal
Show all the nodes connected to this node in the new format.
=== 1^SHOW/NODE [<callsign> ...]^Show the type and version number of nodes
+=== 1^SHOW/NODE ALL^Show the type,version number of ALL known nodes
Show the type and version (if connected) of the nodes specified on the
command line. If no callsigns are specified then a sorted list of all
-the non-user callsigns known to the system will be displayed.
+the non-user callsigns connected to node will be displayed.
=== 0^SHOW/PREFIX <callsign>^Interrogate the prefix database
This command takes the <callsign> (which can be a full or partial
sh/route n2tly
+=== 1^SHOW/RBN [<callsign> ...]^Show which connected users want RBN spots
+=== 1^SHOW/RBN ALL^Show ALL users that want RBN spots
+Show a list of the users that want RBN spots of any the callsigns
+specified on the command line. If no callsigns are specified then a
+sorted list of all connected users wanting RBN spots will be displayed
+
+SHOW/RBN ALL
+
+will go through the user file and display ALL users that want RBN spots.
+
=== 9^SHOW/RCMD [<n>][<from>-<to>][<call>] ...^Show log of rcmds
Show the rcmds that have come in and their replies.
my @f = split /\s+/, $line;
return (1, $self->msg('e5')) if $self->remotecmd || $self->inscript;
return (1, $self->msg('e9')) if !@f;
-return (1, $self->msg('e28')) unless $self->registered;
+return (1, $self->msg('e28')) unless $self->isregistered;
my $sort = uc $f[0];
my $to = '*';
my @f = split /\s+/, $line, 2;
return (1, $self->msg('e5')) if $self->remotecmd || $self->inscript;
return (1, $self->msg('e34')) unless @f >= 1;
-return (1, $self->msg('e28')) unless $self->registered;
+return (1, $self->msg('e28')) unless $self->isregistered;
my $target = uc $f[0];
my @out;
my $valid = 0;
my $localonly;
+my $oline = $line;
+
+#$DB::single=1;
+
return (1, $self->msg('e5')) if $self->remotecmd || $self->inscript;
-return (1, $self->msg('e28')) unless $self->registered;
+return (1, $self->msg('e28')) unless $self->isregistered;
my @bad;
if (@bad = BadWords::check($line)) {
return (1, $self->msg('dx3'));
}
+
+my $ipaddr;
+my $addr = $self->hostname;
+
+if ($self->conn && $self->conn->peerhost) {
+# $ipaddr = $addr unless !is_ipaddr($addr) || $addr =~ /^127\./ || $addr =~ /^::[0-9a-f]+$/;
+ $ipaddr = $addr; # force a PC61
+} elsif ($self->inscript) {
+ $ipaddr = "script";
+}
+
# check some other things
# remove ssid from calls
-my $callnoid = $self->call;
-$callnoid =~ s/-\d+$//;
-my $spotternoid = $spotter;
-$spotternoid =~ s/-\d+$//;
+my $spotternoid = basecall($spotter);
+my $callnoid = basecall($self->{call});
+
+#$DB::single = 1;
+
if ($DXProt::baddx->in($spotted)) {
$localonly++;
}
-if ($DXProt::badspotter->in($callnoid)) {
- LogDbg('DXCommand', "$self->{call} badspotter with $callnoid ($line)");
+if ($DXProt::badspotter->in($spotternoid)) {
+ LogDbg('DXCommand', "badspotter $spotternoid as $spotter ($oline) from $addr");
$localonly++;
}
-if ($callnoid ne $spotternoid && $DXProt::badspotter->in($spotternoid)) {
- LogDbg('DXCommand', "$self->{call} badspotter with $spotternoid ($line)");
- $localonly++;
+
+dbg "spotter $spotternoid/$callnoid\n";
+
+if (($spotted =~ /$spotternoid/ || $spotted =~ /$callnoid/) && $freq < $Spot::minselfspotqrg) {
+ LogDbg('DXCommand', "$spotternoid/$callnoid trying to self spot below ${Spot::minselfspotqrg}KHz ($oline) from $addr, not passed on to cluster");
+ $localonly++;
}
# make line the rest of the line
return (1, @out) unless $valid;
-my $ipaddr;
-
-if ($self->conn && $self->conn->peerhost) {
- my $addr = $self->hostname;
- $ipaddr = $addr unless !is_ipaddr($addr) || $addr =~ /^127\./ || $addr =~ /^::[0-9a-f]+$/;
-} elsif ($self->inscript) {
- $ipaddr = "script";
-}
-
# Store it here (but only if it isn't baddx)
my $t = (int ($main::systime/60)) * 60;
return (1, $self->msg('dup')) if Spot::dup($freq, $spotted, $t, $line, $spotter);
my @spot = Spot::prepare($freq, $spotted, $t, $line, $spotter, $main::mycall, $ipaddr);
+#$DB::single = 1;
+
if ($freq =~ /^69/ || $localonly) {
# heaven forfend that we get a 69Mhz band :-)
}
$self->dx_spot(undef, undef, @spot);
+
return (1);
} else {
- if (@spot) {
- # store it
- Spot::add(@spot);
-
# send orf to the users
- if ($ipaddr) {
- DXProt::send_dx_spot($self, DXProt::pc61($spotter, $freq, $spotted, $line, $ipaddr), @spot);
- } else {
- DXProt::send_dx_spot($self, DXProt::pc11($spotter, $freq, $spotted, $line), @spot);
- }
+ my $spot;
+
+ if ($ipaddr) {
+ $spot = DXProt::pc61($spotter, $freq, $spotted, $line, $ipaddr);
+ }
+ #else {
+ # $spot = DXProt::pc11($spotter, $freq, $spotted, $line);
+ #}
+
+ $self->dx_spot(undef, undef, @spot);
+ if ($self->isslugged) {
+ push @{$self->{sluggedpcs}}, [61, $spot, \@spot];
+ } else {
+ # store in spots database
+ Spot::add(@spot);
+ DXProt::send_dx_spot($self, $spot, @spot);
}
}
{
my ($self, $line) = @_;
- $DB::single = 1;
+# $DB::single = 1;
# create the arg list
my %want;
@extra = ();
}
- return (1, $self->msg('e28')) unless $self->registered || $to eq $main::myalias;
+ return (1, $self->msg('e28')) unless $self->isregistered || $to eq $main::myalias;
$loc->{to} = [ $to, @extra ]; # to is an array
$loc->{subject} = $oref->subject;
# any thing after send?
return (1, $self->msg('e6')) if !@f;
- return (1, $self->msg('e28')) unless $self->registered || uc $f[0] eq $main::myalias;
+ return (1, $self->msg('e28')) unless $self->isregistered || uc $f[0] eq $main::myalias;
while (@f) {
my $f = uc shift @f;
push @out, $self->msg('dxituu', $call);
$user->wantdxitu(0);
}
- if ($user->wantusstate) {
- push @out, $self->msg('usstateu', $call);
- $user->wantusstate(0);
- }
+# if ($user->wantusstate) {
+# push @out, $self->msg('usstateu', $call);
+# $user->wantusstate(0);
+# }
$user->put;
push @out, $self->msg('dxcqs', $call);
} else {
my $user = DXUser::get_current($call);
if ($user) {
$user->wantdxitu(1);
- if ($user->wantdxcq) {
- push @out, $self->msg('dxcqu', $call);
- $user->wantdxcq(0);
- }
+# if ($user->wantdxcq) {
+# push @out, $self->msg('dxcqu', $call);
+# $user->wantdxcq(0);
+# }
if ($user->wantusstate) {
push @out, $self->msg('usstateu', $call);
$user->wantusstate(0);
Log('DXCommand', $self->call . " attempted to register @args");
return (1, $self->msg('e5'));
}
-return (1, $self->msg('reginac')) unless $main::reqreg;
+#return (1, $self->msg('reginac')) unless $main::reqreg;
foreach $call (@args) {
$call = uc $call;
my $user = DXUser::get_current($call);
if ($user) {
$user->wantusstate(1);
- if ($user->wantdxitu) {
- push @out, $self->msg('dxituu', $call);
- $user->wantdxitu(0);
- }
- if ($user->wantdxcq) {
- push @out, $self->msg('dxcqu', $call);
- $user->wantdxcq(0);
- }
+# if ($user->wantdxitu) {
+# push @out, $self->msg('dxituu', $call);
+# $user->wantdxitu(0);
+# }
+# if ($user->wantdxcq) {
+# push @out, $self->msg('dxcqu', $call);
+# $user->wantdxcq(0);
+# }
$user->put;
push @out, $self->msg('usstates', $call);
} else {
--- /dev/null
+#
+# set the page width for this invocation of the client
+#
+# Copyright (c) 2021 - Dirk Koopman G1TLH
+#
+#
+#
+my $self = shift;
+my $l = shift;
+$l = 80 if $l < 80;
+$self->width($l);
+$self->user->width($l);
+return (1, $self->msg('pagewidth', $l));
$localnodes = $main::routeroot->nodes;
$users = $main::routeroot->users;
+$uptime = difft($main::starttime, ' ');
return (1, $self->msg('cluster', $localnodes, $nodes, $users, $tot, $maxlocalusers, $maxusers, $uptime));
--- /dev/null
+#
+# show the users on this cluster from the routing tables
+#
+# Copyright (c) 1998 Dirk Koopman G1TLH
+#
+#
+#
+
+sub handle
+{
+ my ($self, $line) = @_;
+ my @in = map { uc } split /\s+/, $line; # list of callsigns of nodes
+ my @out;
+ my @list;
+
+ if ($in[0] eq 'ALL') {
+ @list = keys %DXChannel::channels;
+ } else {
+ while (@in) {
+ my $in = shift @in;
+ if ($in =~ /^NOD/){
+ push @list, DXChannel::get_all_node_calls();
+ } elsif ($in =~ /^USE/) {
+ push @list, DXChannel::get_all_user_calls();
+ } elsif ($in =~ /^RBN|SKI/) {
+ push @list, map {$_->is_rbn ? $_->call : undef} DXChannel::get_all();
+ } else {
+ push @list, $in;
+ }
+ }
+ }
+
+ my $dt = difft($main::starttime, ' ');
+ push @out, sprintf "Transfered in:%-12.12s IN OUT", $dt;
+ push @out, "Callsign Lines Data Lines Data";
+ push @out, "-----------------------------------------------------------------------------";
+ push @list, $self->call unless @list;
+ foreach my $call (sort @list) {
+ next if $call eq $main::mycall;
+ my $dxchan = DXChannel::get($call);
+ if ($dxchan) {
+ my $conn = $dxchan->conn;
+ push @out, sprintf("%-9.9s %16s %16s %16s %16s", $call, comma($conn->{linesin}), comma($conn->{datain}), comma($conn->{linesout}), comma($conn->{dataout}));
+ }
+ }
+
+ push @out, "-----------------------------------------------------------------------------" if @out > 3;
+ push @out, sprintf("%-9.9s %16s %16s %16s %16s", "TOTALS", comma($Msg::total_lines_in), comma($Msg::total_in), comma($Msg::total_lines_out), comma($Msg::total_out));
+
+ return (1, @out);
+}
+
+sub comma
+{
+ my $num = shift;
+ return scalar reverse(join(",",unpack("(A3)*", reverse int($num))));
+}
+
dbg("sh/dx list: " . join(" ", @list)) if isdbg('sh/dx');
+
+# $DB::single=1;
while (@list) { # next field
$f = shift @list;
} else {
$pre .= '*' unless $pre =~ /[\*\?\[]$/o;
$pre = shellregex($pre);
- if ($usesql) {
- $pre =~ s/\.\*/%/g;
- } else {
- $pre =~ s/\.\*\$$//;
- }
+ $pre =~ s/\.\*\$$//;
$pre .= '$' if $exact;
$pre =~ s/\^//;
push @flist, 'call', $pre;
# now do the search
- if ($self->{_nospawn}) {
- my @res = Spot::search($expr, $fromday, $today, $from, $to, $user, $dofilter ? $self : undef);
+ if ($self->{_nospawn} || ($Spot::spotcachedays && !$expr && $from == 0 && $fromday == 0 && $today == 0)) {
+ my @res = Spot::search($expr, $fromday, $today, $from, $to, $user, $dofilter, $self);
my $ref;
my @dx;
foreach $ref (@res) {
push @out, DXCommandmode::format_dx_spot($self, @$ref);
}
else {
- push @out, Spot::formatl(@$ref);
+ push @out, Spot::formatl($self->{width}, @$ref);
}
}
}
}
else {
push @out, $self->spawn_cmd("sh/dx $line", \&Spot::search,
- args => [$expr, $fromday, $today, $from, $to, $filter, $dofilter ? $self : undef],
+ args => [$expr, $fromday, $today, $from, $to, $filter, $dofilter, $self],
cb => sub {
my ($dxchan, @res) = @_;
my $ref;
push @out, DXCommandmode::format_dx_spot($self, @$ref);
}
else {
- push @out, Spot::formatl(@$ref);
+ push @out, Spot::formatl($self->{width}, @$ref);
}
}
}
next if $from && $to > $from;
}
unless ($to) {
- ($to) = $f =~ /^(\d+)$/o if !$to; # is it a to count?
+ ($to) = $f =~ /^(\d+)$/ if !$to; # is it a to count?
next if $to;
}
unless ($f =~ /^\d+/) {
--- /dev/null
+#
+# show/rbn [all|<call>,,,]
+#
+# This command either lists all rbn users known about (sh/rbn all)
+# or the ones specified on the command line, If no arguments are present
+# then it will list all connected rbn/skimmer users.
+#
+# Copyright (c) 2020 Dirk Koopman G1TLH
+#
+
+
+my ($self, $line) = @_;
+return (1, $self->msg('e5')) unless $self->priv >= 1;
+
+my @call = map {uc $_} split /\s+/, $line;
+my @out;
+my $count;
+
+# search thru the user
+if (@call == 0) {
+ @call = sort map{$_->call} grep {$_->user->call && $_->user->wantrbn} DXChannel::get_all_users();
+} elsif ($call[0] eq 'ALL') {
+ shift @call;
+ my ($action, $key, $data) = (0,0,0);
+ for ($action = DXUser::R_FIRST, $count = 0; !$DXUser::dbm->seq($key, $data, $action); $action = DXUser::R_NEXT) {
+ if (is_callsign($key)) {
+ if ($data =~ /"sort":"[UW]"/ && $data =~ /"wantrbn":1/) {
+ push @call, $key;
+ }
+ }
+ }
+}
+
+push @out, join(' ', $self->msg('rbnusers'), $main::mycall);
+my @l;
+
+foreach my $call (@call) {
+ push @l, $call;
+ if (@l >= 5) {
+ push @out, sprintf "%-12s %-12s %-12s %-12s %-12s", @l;
+ @l = ();
+ }
+ ++$count;
+}
+if (@l) {
+ push @l, "" while @l < 5;
+ push @out, sprintf "%-12s %-12s %-12s %-12s %-12s", @l;
+}
+
+
+return (1, @out, $self->msg('rec', $count));
+
+
+
+
if ($line) {
$line =~ s/[^\w\-\/]+//g;
- $line = "^\U\Q$line";
+ $line = "\U\Q$line";
}
if ($self->{_nospawn}) {
my $line = shift;
my @out;
my @val;
-
+
+# dbg("set/register line: $line");
+
+ my %call = ();
+ $call{$_} = 1 for split /\s+/, $line;
+ delete $call{'ALL'};
my ($action, $count, $key, $data) = (0,0,0,0);
- eval qq{for (\$action = DXUser::R_FIRST, \$count = 0; !\$DXUser::dbm->seq(\$key, \$data, \$action); \$action = DXUser::R_NEXT) {
- if (\$data =~ m{registered}) {
- if (!\$line || (\$line && \$key =~ /^$line/)) {
- my \$u = DXUser::get_current(\$key);
- if (\$u && \$u->registered) {
- push \@val, \$key;
- ++\$count;
+ unless (keys %call) {
+ for ($action = DXUser::R_FIRST, $count = 0; !$DXUser::dbm->seq($key, $data, $action); $action = DXUser::R_NEXT) {
+ if ($data =~ m{registered}) {
+ $call{$key} = 1; # possible candidate
}
}
}
-} };
+
+ foreach $key (sort keys %call) {
+ my $u = DXUser::get_current($key);
+ if ($u && defined (my $r = $u->registered)) {
+ push @val, "${key}($r)";
+ ++$count;
+ }
+ }
+
my @l;
+ push @out, "Registration is " . ($main::reqreg ? "Required" : "NOT Required");
foreach my $call (@val) {
if (@l >= 5) {
- push @out, sprintf "%-12s %-12s %-12s %-12s %-12s", @l;
+ push @out, sprintf "%-14s %-14s %-14s %-14s %-14s", @l;
@l = ();
}
push @l, $call;
}
if (@l) {
push @l, "" while @l < 5;
- push @out, sprintf "%-12s %-12s %-12s %-12s %-12s", @l;
+ push @out, sprintf "%-14s %-14s %-14s %-14s %-14s", @l;
}
- push @out, $@ if $@;
- push @out, , $self->msg('rec', $count);
+ push @out, $self->msg('rec', $count);
return @out;
}
} else {
my ($year) = (gmtime($main::systime))[5];
$year += 1900;
- push @out, "DX Spider Cluster version $main::version (build $main::build git: $main::gitbranch/$main::gitversion) on \u$^O";
+ push @out, "DXSpider v$main::version (build $main::build git: $main::gitbranch/$main::gitversion) using perl $^V on \u$^O";
push @out, "Copyright (c) 1998-$year Dirk Koopman G1TLH";
}
{
my $conn = shift;
my $dxchan = shift;
- $DB::single = 1;
+# $DB::single = 1;
$dxchan->send(map {"$conn->{prefix}$_"} @{$conn->{_wm7d}});
}
$to = uc $to;
return (1, $self->msg('e22', $to)) unless is_callsign($to);
-return (1, $self->msg('e28')) unless $self->registered || $to eq $main::myalias;
+return (1, $self->msg('e28')) unless $self->isregistered || $to eq $main::myalias;
$via = uc $via if $via;
my $call = $via || $to;
Log('DXCommand', $self->call . " attempted to unregister @args");
return (1, $self->msg('e5'));
}
-return (1, $self->msg('reginac')) unless $main::reqreg;
+#return (1, $self->msg('reginac')) unless $main::reqreg;
foreach $call (@args) {
$call = uc $call;
--- /dev/null
+#
+# do a tradiotional "uptime" clone
+#
+my $self = shift;
+
+return (1, sprintf("%s $main::mycall uptime: %s", ztime(), difft($main::starttime, ' ')));
my $tonode;
my $via;
return (1, $self->msg('e5')) if $self->remotecmd || $self->inscript;
-return (1, $self->msg('e28')) unless $self->registered;
+return (1, $self->msg('e28')) unless $self->isregistered;
if ($sort eq "FULL") {
$line =~ s/^$f[0]\s+//; # remove it
timeout 15
-abort (Busy|Sorry|Fail)
-# don't forget to chmod 4775 netrom_call!
-connect ax25 /usr/sbin/netrom_call bbs gb7djk g1tlh-0
-'Connect' ''
-'Connect' 'ak1a'
-'Connect' ''
-client gb7tlh ax25
+connect telnet dirk7.int.tobit.co.uk 7300
+'ogin:' 'gb7tlh-1'
}, 'Bands'),
'160m' => bless( { band => [ 1800, 2000 ],
- cw => [ 1800, 1830 ],
- rtty => [ 1838, 1841 ],
+ cw => [ 1800, 1838 ],
+ rtty => [ 1838, 1841 ],
+ data => [ 1838, 1843],
ssb => [ 1831, 2000]
}, 'Bands'),
=3D2CR;
Rotuma Island: 32: 56: OC: -12.48: -177.08: -12.0: 3D2/r:
=3D2RI;
-Kingdom of eSwatini: 38: 57: AF: -26.65: -31.48: -2.0: 3DA:
+Kingdom of Eswatini: 38: 57: AF: -26.65: -31.48: -2.0: 3DA:
3DA;
Tunisia: 33: 37: AF: 35.40: -9.32: -1.0: 3V:
3V,TS;
United Nations HQ: 05: 08: NA: 40.75: 73.97: 5.0: 4U1U:
=4U1UN;
Vienna Intl Ctr: 15: 28: EU: 48.20: -16.30: -1.0: *4U1V:
- =4U0R,=4U1A,=4U1VIC,=4U2STAYHOME,=4U2U,=4Y1A,=C7A;
+ =4U0R,=4U1A,=4U1VIC,=4U2U,=4Y1A,=C7A;
Timor - Leste: 28: 54: OC: -8.80: -126.05: -9.0: 4W:
4W;
Israel: 20: 39: AS: 31.32: -34.82: -2.0: 4X:
West Malaysia: 28: 54: AS: 3.95: -102.23: -8.0: 9M2:
9M,9W;
East Malaysia: 28: 54: OC: 2.68: -113.32: -8.0: 9M6:
- 9M6,9M8,9W6,9W8,=9M4CAK,=9M4CCB,=9M4CKT,=9M4CRB,=9M4CRP,=9M4SJSM;
+ 9M6,9M8,9W6,9W8,=9M4CAK,=9M4CKT,=9M4CRP,=9M4CWS,=9M7DX;
Nepal: 22: 42: AS: 27.70: -85.33: -5.75: 9N:
9N;
Dem. Rep. of the Congo: 36: 52: AF: -3.12: -23.03: -1.0: 9Q:
Nauru: 31: 65: OC: -0.52: -166.92: -12.0: C2:
C2;
Andorra: 14: 27: EU: 42.58: -1.62: -1.0: C3:
- C3,=VERSION;
+ C3;
The Gambia: 35: 46: AF: 13.40: 16.38: 0.0: C5:
C5;
Bahamas: 08: 11: NA: 24.25: 76.00: 5.0: C6:
Chile: 12: 14: SA: -30.00: 71.00: 4.0: CE:
3G,CA,CB,CC,CD,CE,XQ,XR,3G7[16],3G8[16],CA7[16],CA8[16],CB7[16],CB8[16],
CC7[16],CC8[16],CD7[16],CD8[16],CE7[16],CE8[16],XQ7[16],XQ8[16],XR7[16],
- XR8[16],=XQ6CFX[16],=XQ6OA[16];
+ XR8[16],=CD0YJA/3,=CD0YJA/4,=XQ6CFX[16],=XQ6OA[16];
San Felix & San Ambrosio: 12: 14: SA: -26.28: 80.07: 4.0: CE0X:
3G0X,CA0X,CB0X,CC0X,CD0X,CE0X,XQ0X,XR0X;
Easter Island: 12: 63: SA: -27.10: 109.37: 6.0: CE0Y:
FT3Y(30)[70],FT4Y(30)[70],FT5Y(30)[70],FT6Y(30)[70],FT7Y(30)[70],
FT8Y(30)[70],LU1Z[73],LU2Z[73],LU3Z[73],LU4Z[73],LU5Z[73],LU6Z[73],
LU7Z[73],LU8Z[73],LU9Z[73],RI1AN(29)[69],VI0(39)[69],VK0(39)[69],
- ZL5(30)[71],ZM5(30)[71],ZS7(38)[67],=8J1RL(39)[67],=DP0GVN(38)[67],
- =DP1POL(38)[67],=KC4AAA(39),=KC4AAC[73],=KC4USB(12),=KC4USV(30)[71],
- =RI1ANC(29)[70],=VP8AL[73];
+ ZL5(30)[71],ZM5(30)[71],ZS7(38)[67],=FT4YM/P(29),=8J1RL(39)[67],
+ =DP0GVN(38)[67],=DP1POL(38)[67],=KC4AAA(39),=KC4AAC[73],=KC4USB(12),
+ =KC4USN(30),=KC4USV(30)[71],=RI1ANC(29)[70],=RI1ANR(38)[67],
+ =RI60ANT(38)[67],=VP8/SQ1SGB[73];
Cuba: 08: 11: NA: 21.50: 80.00: 5.0: CM:
CL,CM,CO,T4;
Morocco: 33: 37: AF: 32.00: 5.00: 0.0: CN:
D6;
Fed. Rep. of Germany: 14: 28: EU: 51.00: -10.00: -1.0: DL:
DA,DB,DC,DD,DE,DF,DG,DH,DI,DJ,DK,DL,DM,DN,DO,DP,DQ,DR,Y2,Y3,Y4,Y5,Y6,Y7,
- Y8,Y9,=DM19ERZ/BL,=DM19ERZ/BU,=DM19ERZ/HAM,=DM19ERZ/MAF,=DM19ERZ/MF,
- =DM19ERZ/MS,=DM19ERZ/VL;
+ Y8,Y9;
Philippines: 27: 50: OC: 13.00: -122.00: -8.0: DU:
4D,4E,4F,4G,4H,4I,DU,DV,DW,DX,DY,DZ;
Eritrea: 37: 48: AF: 15.00: -39.00: -3.0: E3:
E6;
Bosnia-Herzegovina: 15: 28: EU: 44.32: -17.57: -1.0: E7:
E7;
-Spain: 14: 37: EU: 40.37: 4.88: -1.0: EA:
- AM,AN,AO,EA,EB,EC,ED,EE,EF,EG,EH,=EA2EZ/P,=EA3HSD/P,=EA5CC/P,=EA5EZ/P,
- =EA5ZD/URE,=EA9HU,=EC5EA/VIC;
+Spain: 14: 37: EU: 40.32: 3.43: -1.0: EA:
+ AM,AN,AO,EA,EB,EC,ED,EE,EF,EG,EH,=EA5CC/P,=EA5IKT/P,=EA5RCK/CDI,=EA9HU;
Balearic Islands: 14: 37: EU: 39.60: -2.95: -1.0: EA6:
AM6,AN6,AO6,EA6,EB6,EC6,ED6,EE6,EF6,EG6,EH6;
Canary Islands: 33: 36: AF: 28.32: 15.85: 0.0: EA8:
- AM8,AN8,AO8,EA8,EB8,EC8,ED8,EE8,EF8,EG8,EH8,=EA8VK/URE;
+ AM8,AN8,AO8,EA8,EB8,EC8,ED8,EE8,EF8,EG8,EH8;
Ceuta & Melilla: 33: 37: AF: 35.90: 5.27: -1.0: EA9:
AM9,AN9,AO9,EA9,EB9,EC9,ED9,EE9,EF9,EG9,EH9;
Ireland: 14: 27: EU: 53.13: 8.02: 0.0: EI:
France: 14: 27: EU: 46.00: -2.00: -1.0: F:
F,HW,HX,HY,TH,TM,TP,TQ,TV;
Guadeloupe: 08: 11: NA: 16.13: 61.67: 4.0: FG:
- FG,=TO8FTDM;
+ FG;
Mayotte: 39: 53: AF: -12.88: -45.15: -3.0: FH:
FH;
St. Barthelemy: 08: 11: NA: 17.90: 62.83: 4.0: FJ:
Chesterfield Islands: 30: 56: OC: -19.87: -158.32: -11.0: FK/c:
=TX3X;
Martinique: 08: 11: NA: 14.70: 61.03: 4.0: FM:
- FM,=TO5A,=TO5O,=TO5T,=TO7A;
+ FM,=TO5A,=TO5T,=TO7A,=TO7O;
French Polynesia: 32: 63: OC: -17.65: 149.40: 10.0: FO:
FO;
Austral Islands: 32: 63: OC: -23.37: 149.48: 10.0: FO/a:
- =TX2A;
+ =FO/W7GJ;
Clipperton Island: 07: 10: NA: 10.28: 109.22: 8.0: FO/c:
=TX5P;
Marquesas Islands: 31: 63: OC: -8.92: 140.07: 9.5: FO/m:
- =FO/F6BCW;
+ =TX7MB;
St. Pierre & Miquelon: 05: 09: NA: 46.77: 56.20: 3.0: FP:
FP;
Reunion Island: 39: 53: AF: -21.12: -55.48: -4.0: FR:
FR;
St. Martin: 08: 11: NA: 18.08: 63.03: 4.0: FS:
- FS;
+ FS,=TO9W;
Glorioso Islands: 39: 53: AF: -11.55: -47.28: -4.0: FT/g:
FT0G,FT1G,FT2G,FT3G,FT4G,FT5G,FT6G,FT7G,FT8G,FT9G;
Juan de Nova, Europa: 39: 53: AF: -17.05: -42.72: -3.0: FT/j:
French Guiana: 09: 12: SA: 4.00: 53.00: 3.0: FY:
FY,=TO1A;
England: 14: 27: EU: 52.77: 1.47: 0.0: G:
- 2E,G,M,NHS;
+ 2E,2ZE,G,M;
Isle of Man: 14: 27: EU: 54.20: 4.53: 0.0: GD:
2D,GD,GT,MD,MT;
Northern Ireland: 14: 27: EU: 54.73: 6.68: 0.0: GI:
- 2I,GI,GN,MI,MN,=2I0NGM/NHS,=GB100RS,=GB1HSC,=GB3NGI,=GB4AFD,=GB4UAS,
- =GB5NHS,=GB75VEC,=GB8NHS,=GB9AFD;
+ 2I,GI,GN,MI,MN,=GB3NGI,=GB8LWF;
Jersey: 14: 27: EU: 49.22: 2.18: 0.0: GJ:
- 2J,GH,GJ,MH,MJ,=GH5DX/NHS;
+ 2J,GH,GJ,MH,MJ,=GB2JSA;
+Scotland: 14: 27: EU: 56.82: 4.18: 0.0: GM:
+ 2A,2M,GM,GS,MA,MM,MS,=GB0DBS,=GB0GDS,=GB0SJR,=GB1002ZE,=GB100BCG,=GB2ELH,
+ =GB2JCM,=GB2OWM,=GB2ZE,=GB3ANG,=GB3LER,=GB3LER/B,=GB4GDS,=GB4LER,=GB60ANT,
+ =GM3WUX/2ZE,=GM4UBJ/2ZE,=GM8IEM/2ZE;
Shetland Islands: 14: 27: EU: 60.50: 1.50: 0.0: *GM/s:
=2M0BDR,=2M0BDT,=2M0CPN,=2M0GFC,=2M0SEG,=2M0SPX,=2M0ZET,=GB2ELH,=GB3LER,
=GB3LER/B,=GB4LER,=GM0AVR,=GM0CXQ,=GM0EKM,=GM0GFL,=GM0ILB,=GM0JDB,=GM1FGN,
=GM1KKI,=GM1ZNR,=GM3WHT,=GM3ZET,=GM4IPK,=GM4JPI,=GM4LBE,=GM4LER,=GM4PXG,
=GM4SLV,=GM4SSA,=GM4WXQ,=GM4ZHL,=GM6RQW,=GM6YQA,=GM7AFE,=GM7GWW,=GM8LNH,
=GM8MMA,=GM8YEC,=GS3ZET,=MM0LSM,=MM0NQY,=MM0VIK,=MM0XAU,=MM0ZAL,=MM0ZCG,
- =MM0ZRC,=MM1FJM,=MM3VQO,=MM5PSL,=MM5YLO,=MM6BDU,=MM6BZQ,=MM6IKB,=MM6IMB,
- =MM6MFA,=MM6PTE,=MM6SJK,=MM6YLO,=MM6ZBG,=MM6ZDW,=MM8A,=MS0ZCG,=MS0ZET;
-Scotland: 14: 27: EU: 56.82: 4.18: 0.0: GM:
- 2A,2M,GM,GS,MA,MM,MS,=GB0SLB,=GB2ELH,=GB2FEA,=GB2JCM,=GB2KDR,=GB2OL,
- =GB2ROC,=GB3ANG,=GB3LER,=GB3LER/B,=GB4LER,=GB7SRW,=GM0WED/NHS,=GM3YDN/NHS,
- =GM4SQM/NHS,=GM4SQN/NHS,=GM6JNJ/NHS,=MM0DHQ/NHS,=MM3AWD/NHS,=MM3DDQ/NHS,
- =MM7WAB/NHS;
+ =MM0ZRC,=MM1FEO,=MM1FJM,=MM3VQO,=MM5PSL,=MM5YLO,=MM6BDU,=MM6BZQ,=MM6IKB,
+ =MM6IMB,=MM6MFA,=MM6PTE,=MM6SJK,=MM6YLO,=MM6ZBG,=MM6ZDW,=MM7CGR,=MM8A,
+ =MS0ZCG,=MS0ZET;
Guernsey: 14: 27: EU: 49.45: 2.58: 0.0: GU:
2U,GP,GU,MP,MU;
Wales: 14: 27: EU: 52.28: 3.73: 0.0: GW:
- 2W,GC,GW,MC,MW,=GB0ATM,=GB0GIG,=GB0HMM,=GB0MZX,=GB0WIW,=GB0WMZ,=GB1KEY,
- =GB1WIW,=GB2TD,=GB2VK,=GB2WIW,=GB5VEP,=GB6RNLI;
+ 2W,GC,GW,MC,MW,=GB1MIS,=GB2TD,=GB2VK;
Solomon Islands: 28: 51: OC: -9.00: -160.00: -11.0: H4:
H4;
Temotu Province: 32: 51: OC: -10.72: -165.80: -11.0: H40:
Saudi Arabia: 21: 39: AS: 24.20: -43.83: -3.0: HZ:
7Z,8Z,HZ;
Italy: 15: 28: EU: 42.82: -12.58: -1.0: I:
- I,=4U0WFP,=4U25B,=4U5F,=4U9STAYHOME,=IK5TBI/I/CT,=IK8IJN/I/US,=IK8VHP/OA,
- =IZ0EUX/I/AZ;
+ I,=4U0WFP,=4U1GSC,=4U24OCT,=4U5F,=IT9ELM/0,=IT9PQJ/0,=IT9RGY/4;
African Italy: 33: 37: AF: 35.67: -12.67: -1.0: *IG9:
IG9,IH9;
Sardinia: 15: 28: EU: 40.15: -9.27: -1.0: IS:
- IM0,IS,IW0U,IW0V,IW0W,IW0X,IW0Y,IW0Z,=II0ICH,=II0IDP,=II0M,=IQ0AG,=IQ0AH,
- =IQ0AI,=IQ0AK,=IQ0AL,=IQ0AM,=IQ0EH,=IQ0HO,=IQ0ID,=IQ0ID/P,=IQ0JY,=IQ0NU,
- =IQ0NU/P,=IQ0NV,=IQ0NV/P,=IQ0OG,=IQ0OH,=IQ0QP,=IQ0SS;
+ IM0,IS,IW0U,IW0V,IW0W,IW0X,IW0Y,IW0Z,=II0ICH,=II0IDP,=II0M,=IO0MMI,=IQ0AG,
+ =IQ0AH,=IQ0AI,=IQ0AK,=IQ0AK/P,=IQ0AL,=IQ0AM,=IQ0EH,=IQ0HO,=IQ0ID,=IQ0JY,
+ =IQ0NU,=IQ0OG,=IQ0OH,=IQ0QP,=IQ0SS;
Sicily: 15: 28: EU: 37.50: -14.00: -1.0: *IT9:
- IB9,ID9,IE9,IF9,II9,IJ9,IO9,IQ9,IR9,IT9,IU9,IW9,IY9,=IT9YBL/SG;
+ IB9,ID9,IE9,IF9,II9,IJ9,IO9,IQ9,IR9,IT9,IU9,IW9,IY9,=IQ1QQ/9,=IW0HBY/9;
Djibouti: 37: 48: AF: 11.75: -42.35: -3.0: J2:
J2;
Grenada: 08: 11: NA: 12.13: 61.68: 4.0: J3:
J8;
Japan: 25: 45: AS: 36.40: -138.38: -9.0: JA:
7J,7K,7L,7M,7N,8J,8K,8L,8M,8N,JA,JE,JF,JG,JH,JI,JJ,JK,JL,JM,JN,JO,JP,JQ,
- JR,JS;
+ JR,JS,AGJ60,HTR60,IEJ60,ISG60,KJP60,KTD60,MMD60,MMY60,OGN60,OKA60,SHI60,
+ TRA60,UEO60,=8N60HAM/OKA;
Minami Torishima: 27: 90: OC: 24.28: -153.97: -10.0: JD/m:
=JG8NQJ/JD1;
Ogasawara: 27: 45: AS: 27.05: -142.20: -9.0: JD/o:
JY;
United States: 05: 08: NA: 37.53: 91.67: 5.0: K:
AA,AB,AC,AD,AE,AF,AG,AI,AJ,AK,K,N,W,=4U1WB(5)[8],=AA0O(5)[8],=AA2IL(3)[6],
- =AA4DD(4)[8],=AA4Q(3)[6],=AA5JF(5)[8],=AA8R(5)[8],=AB3AI(4)[8],
- =AB4B(4)[8],=AB4GG(4)[8],=AB4IQ(4)[8],=AB5OR(4)[8],=AB8RL(5)[8],
- =AB8YZ(4)[7],=AC4CA(4)[7],=AC4G(4)[8],=AC4GW(4)[8],=AC6WI(5)[8],
- =AC6ZM(4)[8],=AC7AF(4)[7],=AC8Y(5)[8],=AD1C(4)[7],=AD4EB(4)[8],
- =AD4TA(4)[8],=AD8J(5)[8],=AE4ED(4)[8],=AE6JV(5)[8],=AE7AP(4)[6],
- =AG4W(4)[8],=AH0U(3)[6],=AH2AV(4)[8],=AH2O(5)[8],=AI4DB(4)[8],=AI9K(4)[7],
- =AJ4A(4)[8],=AJ4F(4)[7],=AJ7G(5)[8],=AL0A(5)[8],=AL4B(4)[8],=AL7RF(3)[6],
- =G8ERJ(5)[8],=K0ACP(4)[8],=K0EJ(4)[8],=K0IP(3)[6],=K0LUZ(5)[8],
- =K0NW(3)[6],=K0PJ(4)[8],=K0SN(4)[6],=K0TQ(4)[8],=K0ZR(5)[8],=K1DC(4)[8],
- =K1DW(4)[7],=K1GU(4)[8],=K1KD(4)[7],=K1LT(4)[8],=K2DSW(4)[7],=K2GMY(3)[6],
- =K2KR(4)[7],=K2PM(4)[8],=K2PO(3)[6],=K2RD(3)[6],=K2RP(3)[6],=K2UR(4)[8],
- =K2VV(4)[7],=K3DMG(4)[8],=K3EST(3)[6],=K3IE(4)[8],=K3JWI(4)[8],
- =K3PA(4)[7],=K3WT(4)[7],=K3WYC(3)[6],=K3YP(4)[8],=K4AB(4)[8],=K4AFE(4)[8],
- =K4AMC(4)[8],=K4AVX(4)[8],=K4BX(4)[8],=K4CWW(4)[8],=K4FN(4)[8],
- =K4FT(4)[8],=K4IE(4)[8],=K4IU(4)[7],=K4OAQ(4)[8],=K4OWR(4)[8],=K4RO(4)[8],
- =K4TCG(4)[8],=K4TZ(4)[8],=K4UU(4)[8],=K4WG(4)[8],=K4WI(4)[8],=K4WW(4)[8],
+ =AA2MA(4)[8],=AA4DD(4)[8],=AA4Q(3)[6],=AA4R(4)[8],=AA5JF(5)[8],
+ =AA8R(5)[8],=AB4B(4)[8],=AB4GG(4)[8],=AB8RL(5)[8],=AB8YZ(4)[7],
+ =AC4CA(4)[7],=AC4G(4)[8],=AC6WI(5)[8],=AC6ZM(4)[8],=AC7AF(4)[7],
+ =AC8Y(5)[8],=AC9TO(4)[7],=AD1C(4)[7],=AD4EB(4)[8],=AD4TA(4)[8],
+ =AD5XI(5)[8],=AD8J(5)[8],=AE4ED(4)[8],=AE6JV(5)[8],=AE7AP(4)[6],
+ =AF4T(4)[8],=AG4W(4)[8],=AH0U(3)[6],=AH2O(5)[8],=AH6EZ(3)[6],=AH6FF(4)[8],
+ =AH6JS(3)[6],=AH6LE(3)[6],=AH6SU(3)[6],=AI4DB(4)[8],=AI6O(4)[7],
+ =AI9K(4)[7],=AJ4A(4)[8],=AJ4F(4)[7],=AJ7G(5)[8],=AL1VE(3)[6],=AL5P(4)[7],
+ =AL7CR(3)[6],=AL7RF(3)[6],=AL7RT(4)[6],=G8ERJ(5)[8],=K0ACP(4)[8],
+ =K0EJ(4)[8],=K0IP(3)[6],=K0LUZ(5)[8],=K0NW(3)[6],=K0PG(4)[8],=K0PJ(4)[8],
+ =K0SN(4)[6],=K0TQ(4)[8],=K0XP(3)[6],=K0ZR(5)[8],=K1DC(4)[8],=K1DW(4)[7],
+ =K1GU(4)[8],=K1KD(4)[7],=K1LT(4)[8],=K2DRH(4)[7],=K2GMY(3)[6],=K2KR(4)[7],
+ =K2PO(3)[6],=K2RD(3)[6],=K2RP(3)[6],=K2VV(4)[7],=K2YAZ(4)[8],=K3DMG(4)[8],
+ =K3EST(3)[6],=K3GP(4)[8],=K3IE(4)[8],=K3JWI(4)[8],=K3NT(4)[7],=K3PA(4)[7],
+ =K3WT(4)[7],=K3YP(4)[8],=K4AB(4)[8],=K4AFE(4)[8],=K4AMC(4)[8],
+ =K4BWP(4)[8],=K4BX(4)[8],=K4DR(4)[8],=K4DXV(4)[8],=K4FN(4)[8],
+ =K4HAL(4)[8],=K4IU(4)[7],=K4OAQ(4)[8],=K4RO(4)[8],=K4TCG(4)[8],
+ =K4TG(4)[8],=K4TZ(4)[8],=K4UU(4)[8],=K4WG(4)[8],=K4WI(4)[8],=K4WW(4)[8],
=K4XU(3)[6],=K4YJ(4)[8],=K4ZGB(4)[8],=K5EK(5)[8],=K5GDX(4)[8],=K5KG(5)[8],
- =K5OA(3)[6],=K5VIP(5)[8],=K5ZD(5)[8],=K6BFL(4)[7],=K6XT(4)[7],
- =K7ABV(4)[6],=K7BV(5)[8],=K7CS(4)[8],=K7DR(4)[8],=K7IA(4)[7],=K7JOE(4)[8],
- =K7OM(5)[8],=K7QA(4)[6],=K7SCX(4)[7],=K7SV(5)[8],=K7TD(4)[7],=K7ZYV(4)[8],
- =K8AC(5)[8],=K8ARY(5)[8],=K8CN(5)[8],=K8IA(3)[6],=K8JQ(5)[8],=K8LF(5)[8],
- =K8LS(4)[7],=K8NYG(5)[8],=K8PO(5)[8],=K8TR(3)[6],=K9CHP(5)[8],=K9DR(4)[7],
- =K9DU(4)[7],=K9GWS(5)[8],=K9JF(3)[6],=K9JM(3)[6],=K9OM(5)[8],=K9OZ(4)[7],
- =K9RS(5)[8],=K9WA(4)[7],=K9WZB(3)[6],=K9YC(3)[6],=KA3MTT(4)[8],
- =KA4BVG(4)[8],=KA4GAV(4)[7],=KA4OTB(4)[8],=KA8HDE(4)[7],=KA8Q(5)[8],
- =KA9FOX(4)[7],=KB4QZH(4)[8],=KB7Q(4)[6],=KB9S(4)[7],=KC2LM(4)[7],
- =KC4HW(4)[8],=KC4NX(4)[8],=KC4SAW(4)[8],=KC4TEO(4)[8],=KC4WQ(4)[8],
- =KC7QY(4)[7],=KC8GCR(5)[8],=KC9K(4)[7],=KD0EE(4)[8],=KD2KW(4)[7],
- =KD4EE(4)[8],=KD5DD(4)[8],=KE0L(4)[8],=KE0YI(4)[8],=KE1B(3)[6],
- =KE2VB(3)[6],=KE3K(4)[8],=KE4KY(4)[8],=KE8FT(3)[6],=KF4AV(4)[8],
- =KF5BA(4)[8],=KF5MU(4)[8],=KG0F(3)[6],=KG4CUY(4)[8],=KG5HVO(4)[8],
- =KH2BR(3)[6],=KH2D(5)[8],=KH2GM(5)[8],=KH6CT(5)[8],=KH6DHK(5)[8],
- =KH6M(5)[8],=KH6VM(3)[6],=KH6XS(3)[6],=KI6DY(4)[7],=KI6QDH(4)[7],
- =KI7ID(4)[7],=KJ4AOM(4)[8],=KJ4IWZ(4)[8],=KJ4M(4)[8],=KJ9C(4)[6],
- =KK9A(5)[8],=KK9N(4)[7],=KL0MP(5)[8],=KL2RA(4)[7],=KL4CZ(4)[6],
- =KL7HQR(3)[6],=KL7IKV(3)[6],=KL7QW(4)[7],=KL7SK(3)[6],=KM4FO(4)[8],
- =KM4JA(4)[8],=KM7W(4)[6],=KN1CBR(4)[7],=KN4DUA(4)[8],=KN8U(5)[8],
- =KO8SCA(5)[8],=KO9V(4)[7],=KP3M(5)[8],=KR4F(4)[8],=KS0CW(5)[8],
- =KS4X(4)[8],=KS7T(4)[6],=KS9W(4)[7],=KT3M(4)[7],=KT4O(4)[8],=KT4RR(4)[8],
- =KU1CW(3)[6],=KU8E(5)[8],=KV4T(4)[8],=KV8S(4)[7],=KW4J(4)[8],=KW7D(4)[7],
- =KW7Q(4)[7],=KX2P(4)[7],=KY0Q(4)[8],=KZ1W(3)[6],=KZ4KX(4)[8],=KZ9V(4)[7],
- =N0SMX(5)[8],=N1JM(3)[6],=N1XK(4)[7],=N2AU(3)[6],=N2BJ(4)[8],=N2IC(4)[7],
- =N2JNR(3)[6],=N2NL(4)[8],=N3BB(4)[7],=N3BUO(4)[7],=N3CI(4)[7],=N3RA(4)[8],
- =N3RC(3)[6],=N3ZZ(3)[6],=N4ARO(4)[8],=N4AU(4)[8],=N4BAA(4)[8],
- =N4BCB(4)[8],=N4BCD(4)[8],=N4DW(4)[8],=N4HAI(4)[8],=N4KC(4)[8],
- =N4KH(4)[8],=N4NA(4)[8],=N4NO(4)[8],=N4OGW(4)[8],=N4QS(4)[8],=N4SL(4)[6],
- =N4TZ(4)[8],=N4UC(4)[8],=N4UW(4)[8],=N4VI(4)[7],=N4VV(4)[8],=N4WE(4)[8],
- =N4ZY(4)[8],=N4ZZ(4)[8],=N5CR(3)[6],=N5CW(4)[8],=N5DX(5)[8],=N5KO(3)[6],
- =N5RP(4)[8],=N5SMQ(5)[8],=N5TB(5)[8],=N5TOO(5)[8],=N5YT(4)[8],=N5ZO(3)[6],
- =N6AR(5)[8],=N6DW(5)[8],=N6RSH(4)[7],=N7DR(4)[7],=N7FUL(4)[7],=N7IP(4)[6],
- =N7IV(4)[7],=N7MZW(4)[7],=N7NG(4)[7],=N7RCS(5)[8],=N7US(4)[8],=N7WY(4)[7],
- =N7ZZ(4)[8],=N8AID(5)[8],=N8GU(5)[8],=N8II(5)[8],=N8NA(5)[8],=N8NN(5)[8],
- =N8OO(4)[7],=N8RA(5)[8],=N8WXQ(5)[8],=N9CIQ(4)[7],=N9GB(4)[7],
- =N9HDE(4)[7],=N9JF(4)[7],=N9NA(3)[6],=N9NB(5)[8],=N9NC(5)[8],=N9NM(4)[7],
- =N9OU(5)[8],=N9RV(4)[6],=N9SB(4)[7],=N9VPV(4)[7],=NA5NN(4)[8],=ND2T(3)[6],
- =ND3N(4)[8],=ND4Y(4)[8],=NE8P(5)[8],=NE9U(4)[7],=NF4J(4)[8],=NG7A(4)[7],
- =NH6T(4)[8],=NI7R(5)[8],=NJ4P(4)[8],=NJ8J(5)[8],=NJ8M(4)[7],=NK8Q(5)[8],
- =NL7CQ(4)[7],=NL7D(3)[6],=NL7QC(4)[7],=NL7XM(5)[8],=NN1N(4)[7],
- =NN4NT(4)[8],=NN4SA(4)[8],=NN5O(4)[8],=NN7A(4)[7],=NN7CW(5)[8],
- =NN9DD(5)[8],=NO9E(5)[8],=NP2GG(5)[8],=NP3K(5)[8],=NQ6N(4)[8],=NR4L(4)[8],
- =NR5W(3)[6],=NR7DX(4)[6],=NS2X(4)[8],=NS4X(4)[8],=NT0K(5)[8],=NW2P(3)[6],
- =NW7R(5)[8],=NW8U(5)[8],=NX1P(3)[6],=NY6DX(5)[8],=NZ6T(5)[8],=W0BR(5)[8],
- =W0PV(5)[8],=W0RIC(3)[6],=W0ZP(4)[8],=W1GKT(4)[8],=W1NN(4)[8],
- =W1PDI(4)[8],=W1PR(3)[6],=W1RH(3)[6],=W1SRD(3)[6],=W2ACY(4)[7],
- =W2GS(4)[7],=W2IY(4)[7],=W2VJN(3)[6],=W3CB(4)[8],=W3HDH(4)[8],
- =W3HKK(4)[8],=W3NX(3)[6],=W3TB(4)[8],=W4BCG(4)[8],=W4DAN(4)[8],
- =W4ER(4)[8],=W4GKM(4)[8],=W4KW(4)[8],=W4LC(4)[8],=W4NBS(4)[8],=W4NI(4)[8],
- =W4NNF(4)[8],=W4NZ(4)[8],=W4PF(4)[8],=W4RYW(4)[8],=W4TLK(4)[8],
- =W4TTM(4)[8],=W4UT(4)[8],=W5MX(4)[8],=W5NZ(4)[8],=W5UE(4)[8],=W5UJ(3)[6],
- =W5VE(5)[8],=W5VS(5)[8],=W6GMT(4)[7],=W6KGP(4)[7],=W6LFB(4)[7],
- =W6NWS(5)[8],=W6RLL(3)[7],=W6SFG(5)[8],=W6UB(4)[8],=W6XR(5)[8],
- =W7EE(4)[6],=W7HJ(5)[8],=W7II(4)[7],=W7IMP(5)[8],=W7IY(5)[8],=W7KF(4)[6],
- =W7RY(4)[7],=W7UT(4)[7],=W8AT(5)[8],=W8FJ(5)[8],=W8FN(5)[8],=W8HAP(5)[8],
- =W8HGH(5)[8],=W8LYJ(4)[7],=W8OV(4)[7],=W8TK(3)[6],=W9CF(3)[6],=W9DC(5)[8],
- =W9ET(4)[7],=W9FI(3)[6],=W9JA(4)[7],=W9JEF(4)[7],=W9KKN(3)[6],
- =W9MAF(4)[7],=W9PL(3)[6],=W9RM(4)[7],=W9RNY(4)[7],=WA0WWW(3)[6],
- =WA1FCN(4)[8],=WA1UJU(4)[8],=WA2VYA(4)[7],=WA3C(4)[8],=WA4JA(4)[8],
- =WA5POK(4)[8],=WA8KAN(5)[8],=WA8OJR(5)[8],=WA8ZBT(4)[7],=WB2JEP(3)[6],
- =WB3JFS(3)[6],=WB4YDY(4)[8],=WB8BPU(5)[8],=WB8YYY(5)[8],=WB9QAF(4)[7],
- =WC7S(4)[7],=WE5P(4)[8],=WE6EZ(4)[7],=WF7T(4)[8],=WF9A(5)[8],=WH0AI(4)[7],
- =WH6AQ(5)[8],=WH6LE(5)[8],=WH7R(4)[7],=WJ9B(3)[6],=WL7OU(4)[7],
- =WM5DX(4)[8],=WN7S(5)[8],=WO7U(4)[7],=WP3ME(5)[8],=WQ5L(4)[8],=WR3O(4)[8],
- =WS6K(4)[8],=WS6X(5)[8],=WS7X(5)[8],=WS9M(5)[8],=WT2P(4)[8],=WT8WV(5)[8],
- =WU0B(5)[8],=WU9B(3)[6],=WV4P(4)[8],=WV8SW(5)[8],=WW4R(4)[8],=WW5M(4)[8],
- =WX4W(4)[8],=WX5S(3)[6],=WY6K(4)[7],=WY7FD(4)[7],=WZ1Y(4)[7],=WZ4F(4)[8],
- =WZ7I(5)[8],=WZ8T(3)[6];
+ =K5OA(3)[6],=K5VIP(5)[8],=K5ZD(5)[8],=K6ND(5)[8],=K6XT(4)[7],=K6ZB(4)[7],
+ =K7ABV(4)[6],=K7BG(4)[7],=K7BV(5)[8],=K7CS(4)[8],=K7DR(4)[8],=K7GM(5)[8],
+ =K7IA(4)[7],=K7JOE(4)[8],=K7OM(5)[8],=K7QA(4)[6],=K7RB(4)[7],=K7SCX(4)[7],
+ =K7SV(5)[8],=K7TD(4)[7],=K8AC(5)[8],=K8ARY(5)[8],=K8CN(5)[8],=K8IA(3)[6],
+ =K8JQ(5)[8],=K8LBQ(5)[8],=K8LF(5)[8],=K8LS(4)[7],=K8NYG(5)[8],=K8TE(4)[7],
+ =K8TR(3)[6],=K9CHP(5)[8],=K9DR(4)[7],=K9DU(4)[7],=K9GS(5)[8],=K9JM(3)[6],
+ =K9MK(4)[7],=K9MWM(4)[7],=K9OZ(4)[7],=K9PY(3)[6],=K9RS(5)[8],=K9RZ(3)[6],
+ =K9WA(4)[7],=K9YC(3)[6],=KA3MTT(4)[8],=KA4GAV(4)[7],=KA4OTB(4)[7],
+ =KA7PNH(4)[7],=KA8HDE(4)[7],=KA8Q(5)[8],=KA9FOX(4)[7],=KA9VVQ(4)[7],
+ =KB2S(3)[6],=KB4QZH(4)[8],=KB9S(4)[7],=KC2LM(4)[7],=KC4HW(4)[8],
+ =KC4NX(4)[8],=KC4SAW(4)[8],=KC4TEO(4)[8],=KC4WQ(4)[8],=KC7QY(4)[7],
+ =KC8GCR(5)[8],=KC8J(3)[6],=KC9K(4)[7],=KD0EE(4)[8],=KD2KW(4)[7],
+ =KD4EE(4)[8],=KD4TRG(4)[8],=KD5DD(4)[8],=KD7RF(4)[8],=KD9QS(5)[8],
+ =KE0L(4)[8],=KE0YI(4)[8],=KE1B(3)[6],=KE2VB(3)[6],=KE3K(4)[8],
+ =KE4KY(4)[8],=KE8FT(3)[6],=KF5BA(4)[8],=KF5MU(4)[8],=KG0F(3)[6],
+ =KG4CUY(4)[8],=KG5HVO(4)[8],=KH2AR(4)[7],=KH2BR(3)[6],=KH2D(5)[8],
+ =KH2GM(4)[8],=KH2PM(5)[8],=KH2SR(3)[6],=KH2TJ(3)[6],=KH6CT(5)[8],
+ =KH6GK(3)[6],=KH6M(5)[8],=KH6VM(3)[6],=KH6XS(3)[6],=KH7FC(5)[8],
+ =KI6DY(4)[8],=KI6QDH(4)[7],=KI8I(5)[8],=KJ4AOM(4)[8],=KJ4M(4)[8],
+ =KJ9C(4)[6],=KK9A(5)[8],=KK9N(4)[7],=KL0SS(5)[8],=KL1SE(4)[8],
+ =KL2AX(4)[7],=KL7DJ(3)[6],=KL7HQR(3)[6],=KL7IKV(3)[6],=KL7NW(4)[7],
+ =KL7QW(4)[7],=KL7SK(3)[6],=KM4CH(4)[8],=KM4FO(4)[8],=KM4JA(4)[8],
+ =KM4JAK(4)[8],=KM4RO(4)[8],=KM6Z(4)[8],=KM7W(4)[6],=KN1CBR(4)[7],
+ =KO4OL(4)[8],=KO4Z(4)[8],=KO8SCA(5)[8],=KO8V(5)[8],=KO9V(4)[7],
+ =KP2X(4)[7],=KP3M(5)[8],=KP3U(5)[8],=KP4MD(3)[6],=KR4F(4)[8],=KS0CW(5)[8],
+ =KS4X(4)[8],=KS7T(4)[6],=KS9W(4)[7],=KT3M(4)[7],=KT4O(4)[8],=KU1CW(3)[6],
+ =KU8E(5)[8],=KV3T(4)[8],=KV8S(4)[7],=KW4J(4)[8],=KW4YA(4)[8],=KW7Q(4)[7],
+ =KX2P(4)[7],=KX4X(4)[8],=KY0Q(4)[8],=KY0W(3)[6],=KZ1W(3)[6],=KZ9V(4)[7],
+ =N0YY(5)[8],=N2BJ(4)[8],=N2IC(4)[7],=N2JNR(3)[6],=N2NL(4)[8],=N3BB(4)[7],
+ =N3CI(4)[7],=N3RA(4)[8],=N3RC(3)[6],=N3ZZ(3)[6],=N4ARO(4)[8],=N4AU(4)[8],
+ =N4BAA(4)[8],=N4BCD(4)[8],=N4DW(4)[8],=N4EL(4)[8],=N4HAI(4)[8],
+ =N4JRG(4)[8],=N4KH(4)[8],=N4NO(4)[8],=N4OGW(4)[8],=N4QS(4)[8],=N4SS(4)[8],
+ =N4TY(4)[8],=N4TZ(4)[8],=N4UC(4)[8],=N4VI(4)[7],=N4VV(4)[8],=N4WE(4)[8],
+ =N4ZY(4)[8],=N4ZZ(4)[8],=N5CR(3)[6],=N5CW(4)[8],=N5DX(5)[8],=N5EP(4)[8],
+ =N5GF(5)[8],=N5KO(3)[6],=N5RP(4)[8],=N5SMQ(5)[8],=N5TOO(5)[8],=N5YT(4)[8],
+ =N5ZO(3)[6],=N6AR(5)[8],=N6DW(5)[8],=N6EE(5)[8],=N6JS(5)[8],=N6RSH(4)[7],
+ =N7DR(4)[7],=N7IV(4)[7],=N7MZW(4)[7],=N7RCS(5)[8],=N7US(4)[8],=N7WY(4)[7],
+ =N7ZZ(4)[8],=N8AID(5)[8],=N8CL(5)[8],=N8II(5)[8],=N8IVN(5)[8],=N8KH(5)[8],
+ =N8NA(5)[8],=N8NN(5)[8],=N8OO(4)[7],=N8RA(5)[8],=N8WXQ(5)[8],=N9CIQ(4)[7],
+ =N9GB(4)[7],=N9HDE(4)[7],=N9JF(4)[7],=N9NA(3)[6],=N9NB(5)[8],=N9NC(5)[8],
+ =N9NM(4)[7],=N9OU(5)[8],=N9RV(4)[6],=N9SB(4)[7],=N9TX(4)[7],=N9VPV(4)[7],
+ =NA2U(3)[6],=NA4A(4)[8],=NA5NN(4)[8],=ND2T(3)[6],=ND3N(4)[8],=ND4Y(4)[8],
+ =NE8P(5)[8],=NE9U(4)[7],=NF4J(4)[8],=NG7A(4)[7],=NH6L(4)[7],=NH6PK(4)[8],
+ =NH6T(4)[8],=NH6Z(3)[6],=NI7R(5)[8],=NJ4P(4)[8],=NJ8J(5)[8],=NJ8M(4)[7],
+ =NK8Q(5)[8],=NL7CQ(4)[7],=NL7D(3)[6],=NL7P(5)[8],=NL7QC(4)[7],
+ =NL7WA(5)[8],=NL7XM(5)[8],=NL7XT(4)[8],=NN1N(4)[7],=NN4NT(4)[8],
+ =NN5O(4)[8],=NN7A(4)[7],=NN7CW(5)[8],=NN9DD(5)[8],=NO9E(5)[8],
+ =NP2GG(5)[8],=NP2JV(5)[8],=NP3FB(4)[8],=NP3K(5)[8],=NQ6N(4)[8],
+ =NR4L(4)[8],=NR7DX(4)[6],=NS4X(4)[8],=NT0K(5)[8],=NV4B(4)[8],=NW8U(5)[8],
+ =NX1P(3)[6],=NY6DX(5)[8],=NZ7Q(4)[7],=W0BR(5)[8],=W0NA(5)[8],=W0PV(5)[8],
+ =W0QQG(5)[8],=W0RIC(3)[6],=W0YK(3)[6],=W0ZP(4)[8],=W1NN(4)[8],=W1PR(3)[6],
+ =W1RH(3)[6],=W1SRD(3)[6],=W2ACY(4)[7],=W2GS(4)[7],=W2UP(4)[7],
+ =W2VJN(3)[6],=W3CB(4)[8],=W3HDH(4)[8],=W3HKK(4)[8],=W3NX(3)[6],
+ =W3TB(4)[8],=W4BCG(4)[8],=W4DAN(4)[8],=W4EF(3)[6],=W4ER(4)[8],
+ =W4GKM(4)[8],=W4JSI(4)[8],=W4KW(4)[8],=W4LC(4)[8],=W4NBS(4)[8],
+ =W4NNF(4)[8],=W4NZ(4)[8],=W4PA(4)[8],=W4PF(4)[8],=W4SSF(4)[8],
+ =W4TLK(4)[8],=W4UT(4)[8],=W4UWC(4)[8],=W5MX(4)[8],=W5NZ(4)[8],=W5UJ(3)[6],
+ =W5VS(5)[8],=W6FB(4)[7],=W6GMT(4)[7],=W6KGP(4)[7],=W6LFB(4)[7],
+ =W6NCB(4)[8],=W6NWS(5)[8],=W6SFG(5)[8],=W6UB(4)[8],=W7DXX(4)[7],
+ =W7EE(4)[6],=W7GKF(5)[8],=W7II(4)[7],=W7IMP(5)[8],=W7LG(5)[8],=W7RF(4)[7],
+ =W7RY(4)[7],=W7UT(4)[7],=W7XT(4)[6],=W8AKS(5)[8],=W8AT(5)[8],=W8FJ(5)[8],
+ =W8FN(5)[8],=W8HAP(5)[8],=W8LYJ(4)[7],=W8OV(4)[7],=W8TK(3)[6],=W9CF(3)[6],
+ =W9DC(5)[8],=W9ET(4)[7],=W9JA(4)[7],=W9KKN(3)[6],=W9RNY(4)[7],
+ =WA0LJM(5)[8],=WA0WWW(3)[6],=WA1FCN(4)[8],=WA1FMM(4)[7],=WA1UJU(4)[8],
+ =WA2VYA(4)[7],=WA3C(4)[8],=WA4JA(4)[8],=WA5POK(4)[8],=WA8KAN(5)[8],
+ =WA8OJR(5)[8],=WA8ZBT(4)[7],=WB4YDL(4)[8],=WB4YDY(4)[8],=WB5WAJ(4)[8],
+ =WB7GR(4)[7],=WB8YYY(5)[8],=WC7S(4)[7],=WE5P(4)[8],=WE6EZ(4)[7],
+ =WF7T(4)[8],=WF9A(5)[8],=WH0AI(4)[7],=WH6AQ(5)[8],=WH6FZY(3)[6],
+ =WH6LE(5)[8],=WH7R(4)[7],=WJ9B(3)[6],=WL5H(4)[7],=WL7OU(4)[7],
+ =WM5DX(4)[8],=WN7S(5)[8],=WN7Y(4)[7],=WO7U(4)[7],=WP2C(5)[8],=WP2J(5)[8],
+ =WP3ME(5)[8],=WQ5L(4)[8],=WR3O(4)[8],=WR4T(4)[8],=WR8AA(5)[8],=WS6K(4)[8],
+ =WS6X(5)[8],=WS7X(5)[8],=WS9M(5)[8],=WT2P(4)[8],=WT7TT(4)[7],=WT8WV(5)[8],
+ =WU9B(3)[6],=WV4P(4)[8],=WW4R(4)[8],=WW5M(4)[8],=WX4W(4)[8],=WX5S(3)[6],
+ =WY7FD(4)[7],=WY7M(4)[7],=WZ4F(4)[8],=WZ7I(5)[8],=WZ8T(3)[6];
Guantanamo Bay: 08: 11: NA: 20.00: 75.00: 5.0: KG4:
- KG4,=KG4MA,=KG4NE;
+ KG4,=KG4NE;
Mariana Islands: 27: 64: OC: 15.18: -145.72: -10.0: KH0:
- AH0,KH0,NH0,WH0,=K8RN,=KI5DQL,=NH2B;
+ AH0,KH0,NH0,WH0,=NH2B;
Baker & Howland Islands: 31: 61: OC: 0.00: 176.00: 12.0: KH1:
AH1,KH1,NH1,WH1;
Guam: 27: 64: OC: 13.37: -144.70: -10.0: KH2:
- AH2,KH2,NH2,WH2,=K4QFS,=KG6DX,=KG6JDX,=KJ6AYQ,=KN4LVP,=N0RY;
+ AH2,KH2,NH2,WH2,=AH0IM,=KA1I,=KC2IIT,=KF7BMU,=KG6DX,=KG6JDX,=WA0OII;
Johnston Island: 31: 61: OC: 16.72: 169.53: 10.0: KH3:
AH3,KH3,NH3,WH3;
Midway Island: 31: 61: OC: 28.20: 177.37: 11.0: KH4:
Palmyra & Jarvis Islands: 31: 61: OC: 5.87: 162.07: 11.0: KH5:
AH5,KH5,NH5,WH5;
Hawaii: 31: 61: OC: 21.12: 157.48: 10.0: KH6:
- AH6,AH7,KH6,KH7,NH6,NH7,WH6,WH7,=K2GT,=K4XV,=K6HNL,=K9FD,=KA7BSK,=KB3HXI,
- =KB5OXR,=KB6EGA,=KC2CLQ,=KD0JNO,=KD0OXU,=KD4GVR,=KD7GWI,=KD8LYB,=KE0JSB,
- =KE0KIE,=KE5VQB,=KE6MKW,=KE6TIX,=KF4UJC,=KG4CAN,=KG4TZD,=KG5CH,=KG5CNO,
- =KG5IVP,=KG7ZJM,=KH0WJ,=KH3AE,=KI7AUZ,=KJ6COM,=KJ6CQT,=KJ6FDF,=KK4RNF,
- =KL3JC,=KM6RWE,=KM6UVP,=N0VYO,=N3BQY,=N3GWR,=N4BER,=N7BMD,=NB6R,=ND1A,
- =W6QPV,=W7NX,=WA6AW,=WA6CZL,=WA6QDQ,=WB4JTT;
+ AH6,AH7,KH6,KH7,NH6,NH7,WH6,WH7,=AB7RT,=AG5LT,=AG6QD,=AK4RA,=K1TOR,=K2GT,
+ =K2SHO,=K2SOO,=K6BHG,=K6TWG,=K9FD,=KB1HGW,=KB3UWV,=KB3UWW,=KB3VLO,=KB6EGA,
+ =KC7ELH,=KC8JNV,=KD4NFW,=KD6APH,=KE6OTK,=KF6YYH,=KF7QMX,=KF7QVM,=KG6EZW,
+ =KG6HFK,=KG7JHH,=KG7KDP,=KH0WJ,=KH3AE,=KI7PEZ,=KI7ZTQ,=KJ6CAV,=KJ6MQL,
+ =KJ6MSJ,=KJ6NIA,=KJ6NIB,=KJ6SGY,=KK4EGT,=KK4IUT,=KK6DIT,=KK6GRC,=KK6QAI,
+ =KM4FPS,=KM6HPE,=KN4KYO,=KO4LCM,=KW6CR,=N7AK,=NH2IY,=NR0G,=W1GDM,=W6AKL,
+ =W6DSD,=W6RZY,=W7NX,=W7WKS,=WA6QDQ,=WB4JTT,=WL7CSW;
Kure Island: 31: 61: OC: 29.00: 178.00: 10.0: KH7K:
AH7K,KH7K,NH7K,WH7K;
American Samoa: 32: 62: OC: -14.32: 170.78: 11.0: KH8:
- AH8,KH8,NH8,WH8;
+ AH8,KH8,NH8,WH8,=W9CG;
Swains Island: 32: 62: OC: -11.05: 171.25: 11.0: KH8/s:
=K9CS/KH8S;
Wake Island: 31: 65: OC: 19.28: -166.63: -12.0: KH9:
AH9,KH9,NH9,WH9;
Alaska: 01: 01: NA: 61.40: 148.87: 8.0: KL:
- AL,KL,NL,WL,=AJ4MY,=K1TMT,=K4PSG,=K5RD,=K7BUF,=K7CAP,=K7VRK,=KA1NCN,
- =KB5NOW,=KB5YLG,=KB9THD,=KC0EFL,=KC0GLN,=KC1LVR,=KC5NHL,=KC9IKH,=KD0ONB,
- =KD2NPD,=KD5MQC,=KD7OOS,=KD8KQL,=KD9TK,=KE5WGZ,=KE7PXV,=KE7ZXH,=KF3L,
- =KF5UBP,=KF7ARC,=KF7FLL,=KF7FLM,=KF7ING,=KF7ITN,=KF7KTH,=KF7WVE,=KG7ZEV,
- =KJ4YOY,=KJ6RFQ,=KK6SNS,=KM6YOD,=KN4ENR,=KN4LJD,=KN4RXC,=KO4DHN,=KW4XD,
- =N6QEK,=N7CGC,=N7DKL,=N7DUD,=NH2LS,=NU9Q,=W0ZEE,=W1JM,=W1LYD,=W3MKG,=W9CG,
- =WA1FVJ,=WH6GBB,=WH6GCO,=WW4AL;
+ AL,KL,NL,WL,=AF7UM,=K4WGX,=K6SAS,=KA1NCN,=KA7GAL,=KB1IEV,=KB2SVN,=KB9SZM,
+ =KC0JVX,=KC2VSR,=KC3MPG,=KC6ZLZ,=KC8VKY,=KC9RQZ,=KD0OAK,=KD5KVP,=KD7RYC,
+ =KE0PRX,=KE7BAQ,=KE8CCS,=KF7MVM,=KG6HTQ,=KG7SRS,=KI4YRQ,=KI5KBN,=KJ6NPJ,
+ =KK4BAN,=KK4CAS,=KK4CAU,=KK4CHH,=KK4WWH,=KK4WWI,=KK7I,=KM6EED,=KN4CCY,
+ =KN4MGX,=KN4MTF,=N1ROR,=N1TX,=N6IGV,=N6QEK,=N6RGP,=NN7C,=NP4TY,=W0HPD,
+ =W1LYD,=W3MKG,=W5ERV,=W5SPY,=W6SMA,=W7CB,=W7EGG,=W7JAL,=WA1FVJ,=WA4BUD,
+ =WA4RRE,=WB5EAA,=WB7ULO,=WB8BRU,=WE9H,=WH7DC,=WI5GUY;
Navassa Island: 08: 11: NA: 18.40: 75.00: 5.0: KP1:
KP1,NP1,WP1;
US Virgin Islands: 08: 11: NA: 17.73: 64.80: 4.0: KP2:
- KP2,NP2,WP2,=K5KUB,=K9VV,=KV4CF,=KV4KW,=W4LIS;
+ KP2,NP2,WP2,=K9VV,=KD6VXI,=KV4BT,=W4LIS;
Puerto Rico: 08: 11: NA: 18.18: 66.55: 4.0: KP4:
- KP3,KP4,NP3,NP4,WP3,WP4,=KB1CKX,=KB2BVX,=KB3TTV,=KC2GRZ,=KC2TE,=KC5FWS,
- =KF5YGN,=KF5YGX,=KP2Z,=N2FVA,=N2IBR,=N4MMT;
+ KP3,KP4,NP3,NP4,WP3,WP4,=KC3EUQ,=KH2RU,=KI5JZC,=KN4NAR,=KP2H,=KP2Z,=N4AKO,
+ =N5YIZ,=WB2HMY;
Desecheo Island: 08: 11: NA: 18.08: 67.88: 4.0: KP5:
KP5,NP5,WP5;
Norway: 14: 18: EU: 61.00: -9.00: -1.0: LA:
LA,LB,LC,LD,LE,LF,LG,LH,LI,LJ,LK,LL,LM,LN;
-Argentina: 13: 14: SA: -34.80: 65.92: 3.0: LU:
+Argentina: 13: 14: SA: -32.50: 62.13: 3.0: LU:
AY,AZ,L1,L2,L3,L4,L5,L6,L7,L8,L9,LO,LP,LQ,LR,LS,LT,LU,LV,LW,AY0V[16],
AY0W[16],AY0X[16],AY0Y[16],AY1V[16],AY1W[16],AY1X[16],AY1Y[16],AY2V[16],
AY2W[16],AY2X[16],AY2Y[16],AY3V[16],AY3W[16],AY3X[16],AY3Y[16],AY4V[16],
LW2W[16],LW2X[16],LW2Y[16],LW3V[16],LW3W[16],LW3X[16],LW3Y[16],LW4V[16],
LW4W[16],LW4X[16],LW4Y[16],LW5V[16],LW5W[16],LW5X[16],LW5Y[16],LW6V[16],
LW6W[16],LW6X[16],LW6Y[16],LW7V[16],LW7W[16],LW7X[16],LW7Y[16],LW8V[16],
- LW8W[16],LW8X[16],LW8Y[16],LW9V[16],LW9W[16],LW9X[16],LW9Y[16],
- =LU1AW/X[16],=LU1QR/Q,=LU2DVI/H,=LU3HT/H,=LU5QR/Q;
+ LW8W[16],LW8X[16],LW8Y[16],LW9V[16],LW9W[16],LW9X[16],LW9Y[16],=LT2F/F,
+ =LU1AW/X[16],=LU1COP/D,=LU1COP/E,=LU1DAA/D,=LU1LT/L,=LU1VHP/V[16],
+ =LU1VYL/V[16],=LU1VZ/V[16],=LU1YAX/V[16],=LU2ALF/D,=LU2DVI/H,=LU2EZG/D,
+ =LU2JAL/J,=LU3DVN/X[16],=LU3DYN/D,=LU3JVR/J,=LU3VAL/V[16],=LU4AAO/D,
+ =LU4ARU/D,=LU4FM/F,=LU4LAS/L,=LU5DQ/D,=LU5DSM/ANT,=LU5JAH/J,=LU5JIB/J,
+ =LU5JU/J,=LU5YF/V[16],=LU7YG/Y[16],=LU8JLB/J,=LU8VCC/V[16],=LU9ERA/H,
+ =LU9JDZ/J,=LU9JLB/J,=LU9JZX/J,=LU9LCF/L,=LW1ECO/D,=LW3DBH/D,=LW3EK/D,
+ =LW3EMP/L;
Luxembourg: 14: 27: EU: 50.00: -6.00: -1.0: LX:
- LX;
+ LX,=LX9S/J;
Lithuania: 15: 29: EU: 55.45: -23.63: -2.0: LY:
LY;
Bulgaria: 20: 28: EU: 42.83: -25.08: -2.0: LZ:
Lebanon: 20: 39: AS: 33.83: -35.83: -2.0: OD:
OD;
Austria: 15: 28: EU: 47.33: -13.33: -1.0: OE:
- OE,=4U0R,=4U1A,=4U1VIC,=4U2STAYHOME,=4U2U,=4Y1A,=C7A;
-Finland: 15: 18: EU: 63.78: -27.08: -2.0: OH:
+ OE,=4U0R,=4U1A,=4U1VIC,=4U2U,=4Y1A,=C7A;
+Finland: 15: 18: EU: 61.38: -24.82: -2.0: OH:
OF,OG,OH,OI,OJ;
Aland Islands: 15: 18: EU: 60.13: -20.37: -2.0: OH0:
OF0,OG0,OH0,OI0;
DPR of Korea: 25: 44: AS: 39.78: -126.30: -9.0: P5:
P5,P6,P7,P8,P9;
Netherlands: 14: 27: EU: 52.28: -5.47: -1.0: PA:
- PA,PB,PC,PD,PE,PF,PG,PH,PI;
+ PA,PB,PC,PD,PE,PF,PG,PH,PI,=PA1AW/J,=PA1BP/J,=PA3ESO/J,=PA6JAM/J,
+ =PA6SJB/J,=PC6RH/J;
Curacao: 09: 11: SA: 12.17: 69.00: 4.0: PJ2:
PJ2;
Bonaire: 09: 11: SA: 12.20: 68.25: 4.0: PJ4:
Franz Josef Land: 40: 75: EU: 80.68: -49.92: -3.0: R1FJ:
RI1F;
Western Sahara: 33: 46: AF: 24.82: 13.85: 0.0: S0:
- S0;
+ S0,=VERSION;
Bangladesh: 22: 41: AS: 24.12: -89.65: -6.0: S2:
S2,S3;
Slovenia: 15: 28: EU: 46.00: -14.00: -1.0: S5:
S7;
Sao Tome & Principe: 36: 47: AF: 0.22: -6.57: 0.0: S9:
S9;
-Sweden: 14: 18: EU: 61.20: -14.57: -1.0: SM:
+Sweden: 14: 18: EU: 58.90: -15.33: -1.0: SM:
7S,8S,SA,SB,SC,SD,SE,SF,SG,SH,SI,SJ,SK,SL,SM;
Poland: 15: 28: EU: 52.28: -18.67: -1.0: SP:
3Z,HF,SN,SO,SP,SQ,SR;
Egypt: 34: 38: AF: 26.28: -28.60: -2.0: SU:
6A,6B,SS,SU;
Greece: 20: 28: EU: 39.78: -21.78: -2.0: SV:
- J4,SV,SW,SX,SY,SZ;
+ J4,SV,SW,SX,SY,SZ,=SV2JAO/J,=SX2IMA/J;
Mount Athos: 20: 28: EU: 40.00: -24.00: -2.0: SV/a:
=SV2ASP/A,=SV2RSG/A;
Dodecanese: 20: 28: EU: 36.17: -27.93: -2.0: SV5:
- J45,SV5,SW5,SX5,SY5,SZ5;
+ J45,SV5,SW5,SX5,SY5,SZ5,=SX200ADL,=SX200AZK,=SX200AZR,=SX200BYR,=SX200CJK,
+ =SX200DKL,=SX200DZX,=SX200FRT,=SX200KKU,=SX200SKE,=SZ200RDS;
Crete: 20: 28: EU: 35.23: -24.78: -2.0: SV9:
- J49,SV9,SW9,SX9,SY9,SZ9,=SV0XAZ;
+ J49,SV9,SW9,SX9,SY9,SZ9,=SV0XAZ,=SX200ANK,=SX200BMG,=SX200CAF,=SX200CJO,
+ =SX200COL,=SX200CVY,=SX200DJO,=SX200FBG,=SX200FBK,=SX200JI,=SX200KNA,
+ =SX200MBH,=SX200QWP,=SX200RGI,=SX200RKU,=SX200RMU,=SX200RNG,=SY200CGZ,
+ =SZ200ERK;
Tuvalu: 31: 65: OC: -8.50: -179.20: -12.0: T2:
T2;
Western Kiribati: 31: 65: OC: 1.42: -173.00: -12.0: T30:
Palau: 27: 64: OC: 7.45: -134.53: -9.0: T8:
T8;
Asiatic Turkey: 20: 39: AS: 39.18: -35.65: -2.0: TA:
- TA,TB,TC,YM,=TA1BZ/2,=TA1C/2,=TA1D/3,=TA1D/4,=TA1FA/2,=TA1HZ/2;
+ TA,TB,TC,YM,=TA1C/2,=TA1D/3;
European Turkey: 20: 39: EU: 41.02: -28.97: -2.0: *TA1:
- TA1,TB1,TC1,YM1,=TA6CQ/1;
+ TA1,TB1,TC1,YM1;
Iceland: 40: 17: EU: 64.80: 18.73: 0.0: TF:
TF;
Guatemala: 07: 11: NA: 15.50: 90.30: 6.0: TG:
UH4W[30],UH8F(17)[30],UH8G(17)[30],UH8X(17)[20],UH9F(17)[30],UH9G(17)[30],
UH9X(17)[20],UI1I(17)[20],UI1N[19],UI1O[19],UI1P[20],UI1Z[19],UI4H[30],
UI4I[30],UI4W[30],UI8F(17)[30],UI8G(17)[30],UI8X(17)[20],UI9F(17)[30],
- UI9G(17)[30],UI9X(17)[20],=R8FF/7,=RA9UUY/6,=RT9T/3,=RX9KT/6,=R100RK[19],
+ UI9G(17)[30],UI9X(17)[20],=R9JBF/1,=RA9ULL/6,=RT9T/3,=UA0QNI/3,=UB8S/P,
+ =R0AI/3,=R325G[19],=R325P[19],=R325SF[19],=R325SSF[19],=R325Z[19],
=R4HAT[29],=R4HC[29],=R4HCE[29],=R4HCZ[29],=R4HD[29],=R4HDC[29],
=R4HDR[29],=R4HL[29],=R4IC[29],=R4ID[29],=R4II[29],=R4IK[29],=R4IM[29],
- =R4IN[29],=R4IO[29],=R4IT[29],=R8FF/3,=R8FF/P,=R8MB/1(17)[20],=R8XF/1,
- =RA4HL[29],=RA4NCC[30],=RC4HT[29],=RC4I[29],=RJ4I[29],=RJ4P[30],
- =RK4HM[29],=RK4P[30],=RM4I[29],=RM4R[30],=RN4HFJ[29],=RN4HIF[29],=RT9K/6,
- =RT9T/1,=RU4HD[29],=RU4HP[29],=RU4I[29],=RW4HM[29],=RW4HTK[29],=RW4HW[29],
- =RW4HZ[29],=RW9WJ/4[30],=UA3LMR/P,=UA4H[29],=UA4HBM[29],=UA4HGL[29],
- =UA4HIP[29],=UA4HRZ[29],=UA4HY[29],=UA4NF[30],=UA4PN[30],=UA4RF[30],
- =UB5O/1[19],=UC4I[29],=UI4I[29];
+ =R4IN[29],=R4IO[29],=R4IT[29],=R4WAN/P[30],=R6LCA/J,=R8MB/1(17)[20],
+ =R9FCS/4,=RA4HL[29],=RA4NCC[30],=RA60ANT[19],=RC4HT[29],=RC4I[29],
+ =RJ4I[29],=RK4HM[29],=RK4P[30],=RL1I/P(17)[20],=RM4I[29],=RN4HFJ[29],
+ =RN4HIF[29],=RN60ANT[19],=RT9K/6,=RU4HD[29],=RU4HP[29],=RU4I[29],
+ =RW4HM[29],=RW4HTK[29],=RW4HW[29],=RW4HZ[29],=RW9WJ/4[30],=UA3LMR/P,
+ =UA4H[29],=UA4HBM[29],=UA4HGL[29],=UA4HIP[29],=UA4HRZ[29],=UA4HY[29],
+ =UA4NF[30],=UA4PN[30],=UA5B/4,=UC4I[29],=UE80SKR,=UI4I[29];
Kaliningrad: 15: 29: EU: 54.72: -20.52: -3.0: UA2:
R2F,R2K,RA2,RC2F,RC2K,RD2F,RD2K,RE2F,RE2K,RF2F,RF2K,RG2F,RG2K,RJ2F,RJ2K,
RK2F,RK2K,RL2F,RL2K,RM2F,RM2K,RN2F,RN2K,RO2F,RO2K,RQ2F,RQ2K,RT2F,RT2K,
RU2F,RU2K,RV2F,RV2K,RW2F,RW2K,RX2F,RX2K,RY2F,RY2K,RZ2F,RZ2K,U2F,U2K,UA2,
- UB2,UC2,UD2,UE2,UF2,UG2,UH2,UI2,=R2MWO,=UB5O/2;
+ UB2,UC2,UD2,UE2,UF2,UG2,UH2,UI2,=R2MWO,=R325B,=R325BF;
Asiatic Russia: 17: 30: AS: 55.88: -84.08: -7.0: UA9:
R0,R8(17)[30],R9,RA0,RA8(17)[30],RA9,RC0,RC8(17)[30],RC9,RD0,RD8(17)[30],
RD9,RE0,RE8(17)[30],RE9,RF0,RF8(17)[30],RF9,RG0,RG8(17)[30],RG9,RI0,
UI8O(18)[31],UI8P(18)[31],UI8S(16)[30],UI8T(16)[30],UI8U(18)[31],
UI8V(18)[31],UI8W(16)[30],UI8Y(18)[31],UI8Z(18)[31],UI9I(18)[31],
UI9M(17)[30],UI9P(18)[31],UI9S(16),UI9T(16),UI9V(18)[31],UI9W(16),
- =R2ET/9(18)[31],=R8FF/8(17)[30],=R9WCJ/8(17)[30],=RA/UT5IA(19)[23],
- =RA0QK/8(17)[30],=RN9S(16),=RT8T(16)[30],=RT9S(16),=RU20RU(17)[30],
- =RX9WT/8(17)[30],=UB5O/4(16),=UB5O/9(18)[31],=UD6AOP/0(19)[25];
+ =R2ET/9(18)[31],=R325F(19)[34],=R325TF(19)[34],=R4FBJ/9/P(18)[32],
+ =R800SAN(18)[32],=R9WGK/P,=RA0QK/8(17)[30],=RA4RU/9[20],=RA9MX/0(18)[32],
+ =RK60ANT(18)[32],=RL60ANT(19)[34],=RN9S(16),=RT60ANT,=RT9S(16),
+ =RV7B/9[20],=RX6DL/8/P(17)[30],=RX9SN/P(16),=RX9WT/P,=UD6AOP/0(19)[35];
Uzbekistan: 17: 30: AS: 41.40: -63.97: -5.0: UK:
UJ,UK,UL,UM;
Kazakhstan: 17: 30: AS: 48.17: -65.18: -5.0: UN:
CI0(2)[4],CI1(1)[2],CI2,CJ2[4],CK2[4],CY1,CY2(2),CZ0(2)[4],CZ1(1)[2],CZ2,
VA2[4],VB2[4],VC2[4],VD1,VD2(2),VE2[4],VF0(2)[4],VF1(1)[2],VF2,VG2[4],VO1,
VO2(2),VX2[4],VY0(2)[4],VY1(1)[2],VY2,XJ1,XJ2(2),XK0(2)[4],XK1(1)[2],XK2,
- XL2[4],XM2[4],XN1,XN2(2),XO0(2)[4],XO1(1)[2],XO2,=VER20200625,
- =VA2VVV(2)[4],=VE2CSI(2)[4],=VE2EKA(2)[4],=VE2FK[9],=VE2IDX(2)[4],
- =VE2IM(2)[4],=VE2KK[9],=VE8AT(2)[4],=VY0AA(4)[3],=VY0PW(4)[3];
+ XL2[4],XM2[4],XN1,XN2(2),XO0(2)[4],XO1(1)[2],XO2,=VER20211125,
+ =VA2VT(2)[4],=VA2VVV(2)[4],=VE2CSI(2)[4],=VE2EKA(2)[4],=VE2FK[9],
+ =VE2IDX(2)[4],=VE2IM(2)[4],=VE2TKH(2)[4],=VY0PW(4)[3];
Australia: 30: 59: OC: -23.70: -132.33: -10.0: VK:
- AX,VH,VI,VJ,VK,VL,VM,VN,VZ,AX4[55],VH4[55],VI4[55],VJ4[55],VK4[55],
- VL4[55],VM4[55],VN4[55],VZ4[55];
+ AX,VI,VJ,VK,VL,AX4[55],VI4[55],VJ4[55],VK4[55],VL4[55],=VK3ZW(29)[55];
Heard Island: 39: 68: AF: -53.08: -73.50: -5.0: VK0H:
=VK0EK;
Macquarie Island: 30: 60: OC: -54.60: -158.88: -10.0: VK0M:
=VK0AI;
Cocos (Keeling) Islands: 29: 54: OC: -12.15: -96.82: -6.5: VK9C:
- AX9C,AX9Y,VH9C,VH9Y,VI9C,VI9Y,VJ9C,VJ9Y,VK9C,VK9FC,VK9KC,VK9Y,VK9ZY,VL9C,
- VL9Y,VM9C,VM9Y,VN9C,VN9Y,VZ9C,VZ9Y;
+ AX9C,AX9Y,VI9C,VI9Y,VK9C,VK9FC,VK9KC,VK9Y,VK9ZY,VZ9Y;
Lord Howe Island: 30: 60: OC: -31.55: -159.08: -10.5: VK9L:
- AX9L,VH9L,VI9L,VJ9L,VK9FL,VK9L,VK9ZL,VL9L,VM9L,VN9L,VZ9L,=VK3YQS/9,
- =VK3YQS/VK9;
+ AX9L,VI9L,VK9FL,VK9L,VK9ZL,VZ9L;
Mellish Reef: 30: 56: OC: -17.40: -155.85: -10.0: VK9M:
- AX9M,VH9M,VI9M,VJ9M,VK9M,VL9M,VM9M,VN9M,VZ9M;
+ AX9M,VI9M,VK9M,VZ9M;
Norfolk Island: 32: 60: OC: -29.03: -167.93: -11.5: VK9N:
- AX9,VH9,VI9,VJ9,VK9,VL9,VM9,VN9,VZ9;
+ AX9,VI9,VK9;
Willis Island: 30: 55: OC: -16.22: -150.02: -10.0: VK9W:
- AX9W,AX9Z,VH9W,VH9Z,VI9W,VI9Z,VJ9W,VJ9Z,VK9FW,VK9W,VK9Z,VL9W,VL9Z,VM9W,
- VM9Z,VN9W,VN9Z,VZ9W,VZ9Z;
+ AX9W,AX9Z,VI9W,VI9Z,VK9FW,VK9W,VK9Z,VZ9W;
Christmas Island: 29: 54: OC: -10.48: -105.63: -7.0: VK9X:
- AX9X,VH9X,VI9X,VJ9X,VK9FX,VK9KX,VK9X,VL9X,VM9X,VN9X,VZ9X;
+ AX9X,VI9X,VK9FX,VK9KX,VK9X,VZ9X;
Anguilla: 08: 11: NA: 18.23: 63.00: 4.0: VP2E:
VP2E;
Montserrat: 08: 11: NA: 16.75: 62.18: 4.0: VP2M:
South Georgia Island: 13: 73: SA: -54.48: 37.08: 2.0: VP8/g:
=VP8CA;
South Shetland Islands: 13: 73: SA: -62.08: 58.67: 4.0: VP8/h:
- CE9,XR9,=HF0POL;
+ CE9,XR9,=DT8A,=HF0POL;
South Orkney Islands: 13: 73: SA: -60.60: 45.55: 3.0: VP8/o:
=VP8PJ;
South Sandwich Islands: 13: 73: SA: -58.43: 26.33: 2.0: VP8/s:
Lakshadweep Islands: 22: 41: AS: 11.23: -72.78: -5.5: VU7:
VU7;
Mexico: 06: 10: NA: 21.32: 100.23: 6.0: XE:
- 4A,4B,4C,6D,6E,6F,6G,6H,6I,6J,XA,XB,XC,XD,XE,XF,XG,XH,XI;
+ 4A,4B,4C,6D,6E,6F,6G,6H,6I,6J,XA,XB,XC,XD,XE,XF,XG,XH,XI,=4C4C;
Revillagigedo: 06: 10: NA: 18.77: 110.97: 7.0: XF4:
4A4,4B4,4C4,6D4,6E4,6F4,6G4,6H4,6I4,6J4,XA4,XB4,XC4,XD4,XE4,XF4,XG4,XH4,
XI4;
'2M' => '144',
'2U' => '145',
'2W' => '146',
+ '2ZE' => '140',
'3A' => '3',
'3B6' => '4,5,348',
'3B7' => '347',
'9Y4/I' => '393',
'9Y4/O' => '395',
'9Z' => '61',
- '=2I0NGM/NHS' => '142',
'=2M0BDR' => '687',
'=2M0BDT' => '687',
'=2M0CPN' => '687',
'=3D2RI' => '12',
'=3Y0E' => '17',
'=3Y0X' => '18',
+ '=4C4C' => '292,1573,1575,1577',
'=4U0R' => '981',
'=4U0WFP' => '165,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850',
'=4U1A' => '981',
+ '=4U1GSC' => '165,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850',
'=4U1ITU' => '23',
'=4U1UN' => '24',
'=4U1VIC' => '981',
'=4U1WB' => '179',
'=4U1WRC' => '23',
- '=4U25B' => '165,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850',
- '=4U2STAYHOME' => '981',
+ '=4U24OCT' => '165,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850',
'=4U2U' => '981',
'=4U5F' => '165,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850',
- '=4U9STAYHOME' => '165,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850',
'=4Y1A' => '981',
'=8J1RL' => '1717,1719,1722,1724,1726,1728,1730,330,343',
+ '=8N60HAM/OKA' => '173,856,860,862,864,866,868,870,872,874,876,878',
'=9M4CAK' => '54,55,374',
- '=9M4CCB' => '54,55,374',
'=9M4CKT' => '54,55,374',
- '=9M4CRB' => '54,55,374',
'=9M4CRP' => '54,55,374',
- '=9M4SJSM' => '54,55,374',
+ '=9M4CWS' => '54,55,374',
+ '=9M7DX' => '54,55,374',
'=AA0O' => '179',
'=AA2IL' => '179',
+ '=AA2MA' => '179',
'=AA4DD' => '179',
'=AA4Q' => '179',
+ '=AA4R' => '179',
'=AA5JF' => '179',
'=AA8R' => '179',
- '=AB3AI' => '179',
'=AB4B' => '179',
'=AB4GG' => '179',
- '=AB4IQ' => '179',
- '=AB5OR' => '179',
+ '=AB7RT' => '186',
'=AB8RL' => '179',
'=AB8YZ' => '179',
'=AC4CA' => '179',
'=AC4G' => '179',
- '=AC4GW' => '179',
'=AC6WI' => '179',
'=AC6ZM' => '179',
'=AC7AF' => '179',
'=AC8Y' => '179',
+ '=AC9TO' => '179',
'=AD1C' => '179',
'=AD4EB' => '179',
'=AD4TA' => '179',
+ '=AD5XI' => '179',
'=AD8J' => '179',
'=AE4ED' => '179',
'=AE6JV' => '179',
'=AE7AP' => '179',
+ '=AF4T' => '179',
+ '=AF7UM' => '191,900,902,904,906,908',
'=AG4W' => '179',
+ '=AG5LT' => '186',
+ '=AG6QD' => '186',
+ '=AH0IM' => '182',
'=AH0U' => '179',
- '=AH2AV' => '179',
'=AH2O' => '179',
+ '=AH6EZ' => '179',
+ '=AH6FF' => '179',
+ '=AH6JS' => '179',
+ '=AH6LE' => '179',
+ '=AH6SU' => '179',
'=AI4DB' => '179',
+ '=AI6O' => '179',
'=AI9K' => '179',
'=AJ4A' => '179',
'=AJ4F' => '179',
- '=AJ4MY' => '191,900,902,904,906,908',
'=AJ7G' => '179',
- '=AL0A' => '179',
- '=AL4B' => '179',
+ '=AK4RA' => '186',
+ '=AL1VE' => '179',
+ '=AL5P' => '179',
+ '=AL7CR' => '179',
'=AL7RF' => '179',
+ '=AL7RT' => '179',
'=BS7H' => '70',
'=C7A' => '981',
- '=DM19ERZ/BL' => '95',
- '=DM19ERZ/BU' => '95',
- '=DM19ERZ/HAM' => '95',
- '=DM19ERZ/MAF' => '95',
- '=DM19ERZ/MF' => '95',
- '=DM19ERZ/MS' => '95',
- '=DM19ERZ/VL' => '95',
+ '=CD0YJA/3' => '79,470,472,474,476,478,480,482,484',
+ '=CD0YJA/4' => '79,470,472,474,476,478,480,482,484',
'=DP0GVN' => '1717,1719,1722,1724,1726,1728,1730,330,343',
'=DP1POL' => '1717,1719,1722,1724,1726,1728,1730,330,343',
+ '=DT8A' => '343',
'=E51PT' => '331,1732,1734',
'=E51WL' => '331,1732,1734',
- '=EA2EZ/P' => '102,598,600,602,604,606,608',
- '=EA3HSD/P' => '102,598,600,602,604,606,608',
'=EA5CC/P' => '102,598,600,602,604,606,608',
- '=EA5EZ/P' => '102,598,600,602,604,606,608',
- '=EA5ZD/URE' => '102,598,600,602,604,606,608',
- '=EA8VK/URE' => '104,610,612',
+ '=EA5IKT/P' => '102,598,600,602,604,606,608',
+ '=EA5RCK/CDI' => '102,598,600,602,604,606,608',
'=EA9HU' => '102,598,600,602,604,606,608',
- '=EC5EA/VIC' => '102,598,600,602,604,606,608',
- '=FO/F6BCW' => '127',
+ '=FO/W7GJ' => '125',
+ '=FT4YM/P' => '1717,1719,1722,1724,1726,1728,1730,330,343',
'=G8ERJ' => '179',
- '=GB0ATM' => '146',
- '=GB0GIG' => '146',
- '=GB0HMM' => '146',
- '=GB0MZX' => '146',
- '=GB0SLB' => '144,688',
- '=GB0WIW' => '146',
- '=GB0WMZ' => '146',
- '=GB100RS' => '142',
- '=GB1HSC' => '142',
- '=GB1KEY' => '146',
- '=GB1WIW' => '146',
- '=GB2ELH' => '687',
- '=GB2FEA' => '144,688',
+ '=GB0DBS' => '144,688',
+ '=GB0GDS' => '144,688',
+ '=GB0SJR' => '144,688',
+ '=GB1002ZE' => '144,688',
+ '=GB100BCG' => '144,688',
+ '=GB1MIS' => '146',
+ '=GB2ELH' => '144,688',
'=GB2JCM' => '144,688',
- '=GB2KDR' => '144,688',
- '=GB2OL' => '144,688',
- '=GB2ROC' => '144,688',
+ '=GB2JSA' => '143',
+ '=GB2OWM' => '144,688',
'=GB2TD' => '146',
'=GB2VK' => '146',
- '=GB2WIW' => '146',
+ '=GB2ZE' => '144,688',
'=GB3ANG' => '144,688',
- '=GB3LER' => '687',
- '=GB3LER/B' => '687',
+ '=GB3LER' => '144,688',
+ '=GB3LER/B' => '144,688',
'=GB3NGI' => '142',
- '=GB4AFD' => '142',
- '=GB4LER' => '687',
- '=GB4UAS' => '142',
- '=GB5NHS' => '142',
- '=GB5VEP' => '146',
- '=GB6RNLI' => '146',
- '=GB75VEC' => '142',
- '=GB7SRW' => '144,688',
- '=GB8NHS' => '142',
- '=GB9AFD' => '142',
- '=GH5DX/NHS' => '143',
+ '=GB4GDS' => '144,688',
+ '=GB4LER' => '144,688',
+ '=GB60ANT' => '144,688',
+ '=GB8LWF' => '142',
'=GM0AVR' => '687',
'=GM0CXQ' => '687',
'=GM0EKM' => '687',
'=GM0GFL' => '687',
'=GM0ILB' => '687',
'=GM0JDB' => '687',
- '=GM0WED/NHS' => '144,688',
'=GM1FGN' => '687',
'=GM1KKI' => '687',
'=GM1ZNR' => '687',
'=GM3WHT' => '687',
- '=GM3YDN/NHS' => '144,688',
+ '=GM3WUX/2ZE' => '144,688',
'=GM3ZET' => '687',
'=GM4IPK' => '687',
'=GM4JPI' => '687',
'=GM4LER' => '687',
'=GM4PXG' => '687',
'=GM4SLV' => '687',
- '=GM4SQM/NHS' => '144,688',
- '=GM4SQN/NHS' => '144,688',
'=GM4SSA' => '687',
+ '=GM4UBJ/2ZE' => '144,688',
'=GM4WXQ' => '687',
'=GM4ZHL' => '687',
- '=GM6JNJ/NHS' => '144,688',
'=GM6RQW' => '687',
'=GM6YQA' => '687',
'=GM7AFE' => '687',
'=GM7GWW' => '687',
+ '=GM8IEM/2ZE' => '144,688',
'=GM8LNH' => '687',
'=GM8MMA' => '687',
'=GM8YEC' => '687',
'=II0ICH' => '166',
'=II0IDP' => '166',
'=II0M' => '166',
- '=IK5TBI/I/CT' => '165,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850',
- '=IK8IJN/I/US' => '165,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850',
- '=IK8VHP/OA' => '165,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850',
+ '=IO0MMI' => '166',
'=IQ0AG' => '166',
'=IQ0AH' => '166',
'=IQ0AI' => '166',
'=IQ0AK' => '166',
+ '=IQ0AK/P' => '166',
'=IQ0AL' => '166',
'=IQ0AM' => '166',
'=IQ0EH' => '166',
'=IQ0HO' => '166',
'=IQ0ID' => '166',
- '=IQ0ID/P' => '166',
'=IQ0JY' => '166',
'=IQ0NU' => '166',
- '=IQ0NU/P' => '166',
- '=IQ0NV' => '166',
- '=IQ0NV/P' => '166',
'=IQ0OG' => '166',
'=IQ0OH' => '166',
'=IQ0QP' => '166',
'=IQ0SS' => '166',
- '=IT9YBL/SG' => '845',
- '=IZ0EUX/I/AZ' => '165,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850',
+ '=IQ1QQ/9' => '845',
+ '=IT9ELM/0' => '165,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850',
+ '=IT9PQJ/0' => '165,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850',
+ '=IT9RGY/4' => '165,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850',
+ '=IW0HBY/9' => '845',
'=JG8NQJ/JD1' => '333',
'=JW/LB2PG' => '893',
'=K0ACP' => '179',
'=K0IP' => '179',
'=K0LUZ' => '179',
'=K0NW' => '179',
+ '=K0PG' => '179',
'=K0PJ' => '179',
'=K0SN' => '179',
'=K0TQ' => '179',
+ '=K0XP' => '179',
'=K0ZR' => '179',
'=K1DC' => '179',
'=K1DW' => '179',
'=K1GU' => '179',
'=K1KD' => '179',
'=K1LT' => '179',
- '=K1TMT' => '191,900,902,904,906,908',
- '=K2DSW' => '179',
+ '=K1TOR' => '186',
+ '=K2DRH' => '179',
'=K2GMY' => '179',
'=K2GT' => '186',
'=K2KR' => '179',
- '=K2PM' => '179',
'=K2PO' => '179',
'=K2RD' => '179',
'=K2RP' => '179',
- '=K2UR' => '179',
+ '=K2SHO' => '186',
+ '=K2SOO' => '186',
'=K2VV' => '179',
+ '=K2YAZ' => '179',
'=K3DMG' => '179',
'=K3EST' => '179',
+ '=K3GP' => '179',
'=K3IE' => '179',
'=K3JWI' => '179',
+ '=K3NT' => '179',
'=K3PA' => '179',
'=K3WT' => '179',
- '=K3WYC' => '179',
'=K3YP' => '179',
'=K4AB' => '179',
'=K4AFE' => '179',
'=K4AMC' => '179',
- '=K4AVX' => '179',
+ '=K4BWP' => '179',
'=K4BX' => '179',
- '=K4CWW' => '179',
+ '=K4DR' => '179',
+ '=K4DXV' => '179',
'=K4FN' => '179',
- '=K4FT' => '179',
- '=K4IE' => '179',
+ '=K4HAL' => '179',
'=K4IU' => '179',
'=K4OAQ' => '179',
- '=K4OWR' => '179',
- '=K4PSG' => '191,900,902,904,906,908',
- '=K4QFS' => '182',
'=K4RO' => '179',
'=K4TCG' => '179',
+ '=K4TG' => '179',
'=K4TZ' => '179',
'=K4UU' => '179',
'=K4WG' => '179',
+ '=K4WGX' => '191,900,902,904,906,908',
'=K4WI' => '179',
'=K4WW' => '179',
'=K4XU' => '179',
- '=K4XV' => '186',
'=K4YJ' => '179',
'=K4ZGB' => '179',
'=K5EK' => '179',
'=K5GDX' => '179',
'=K5KG' => '179',
- '=K5KUB' => '193',
'=K5OA' => '179',
- '=K5RD' => '191,900,902,904,906,908',
'=K5VIP' => '179',
'=K5ZD' => '179',
- '=K6BFL' => '179',
- '=K6HNL' => '186',
+ '=K6BHG' => '186',
+ '=K6ND' => '179',
+ '=K6SAS' => '191,900,902,904,906,908',
+ '=K6TWG' => '186',
'=K6XT' => '179',
+ '=K6ZB' => '179',
'=K7ABV' => '179',
- '=K7BUF' => '191,900,902,904,906,908',
+ '=K7BG' => '179',
'=K7BV' => '179',
- '=K7CAP' => '191,900,902,904,906,908',
'=K7CS' => '179',
'=K7DR' => '179',
+ '=K7GM' => '179',
'=K7IA' => '179',
'=K7JOE' => '179',
'=K7OM' => '179',
'=K7QA' => '179',
+ '=K7RB' => '179',
'=K7SCX' => '179',
'=K7SV' => '179',
'=K7TD' => '179',
- '=K7VRK' => '191,900,902,904,906,908',
- '=K7ZYV' => '179',
'=K8AC' => '179',
'=K8ARY' => '179',
'=K8CN' => '179',
'=K8IA' => '179',
'=K8JQ' => '179',
+ '=K8LBQ' => '179',
'=K8LF' => '179',
'=K8LS' => '179',
'=K8NYG' => '179',
- '=K8PO' => '179',
- '=K8RN' => '180',
+ '=K8TE' => '179',
'=K8TR' => '179',
'=K9CHP' => '179',
'=K9CS/KH8S' => '189',
'=K9DR' => '179',
'=K9DU' => '179',
'=K9FD' => '186',
- '=K9GWS' => '179',
- '=K9JF' => '179',
+ '=K9GS' => '179',
'=K9JM' => '179',
- '=K9OM' => '179',
+ '=K9MK' => '179',
+ '=K9MWM' => '179',
'=K9OZ' => '179',
+ '=K9PY' => '179',
'=K9RS' => '179',
+ '=K9RZ' => '179',
'=K9VV' => '193',
'=K9WA' => '179',
- '=K9WZB' => '179',
'=K9YC' => '179',
+ '=KA1I' => '182',
'=KA1NCN' => '191,900,902,904,906,908',
'=KA3MTT' => '179',
- '=KA4BVG' => '179',
'=KA4GAV' => '179',
'=KA4OTB' => '179',
- '=KA7BSK' => '186',
+ '=KA7GAL' => '191,900,902,904,906,908',
+ '=KA7PNH' => '179',
'=KA8HDE' => '179',
'=KA8Q' => '179',
'=KA9FOX' => '179',
- '=KB1CKX' => '194',
- '=KB2BVX' => '194',
- '=KB3HXI' => '186',
- '=KB3TTV' => '194',
+ '=KA9VVQ' => '179',
+ '=KB1HGW' => '186',
+ '=KB1IEV' => '191,900,902,904,906,908',
+ '=KB2S' => '179',
+ '=KB2SVN' => '191,900,902,904,906,908',
+ '=KB3UWV' => '186',
+ '=KB3UWW' => '186',
+ '=KB3VLO' => '186',
'=KB4QZH' => '179',
- '=KB5NOW' => '191,900,902,904,906,908',
- '=KB5OXR' => '186',
- '=KB5YLG' => '191,900,902,904,906,908',
'=KB6EGA' => '186',
- '=KB7Q' => '179',
'=KB9S' => '179',
- '=KB9THD' => '191,900,902,904,906,908',
- '=KC0EFL' => '191,900,902,904,906,908',
- '=KC0GLN' => '191,900,902,904,906,908',
- '=KC1LVR' => '191,900,902,904,906,908',
- '=KC2CLQ' => '186',
- '=KC2GRZ' => '194',
+ '=KB9SZM' => '191,900,902,904,906,908',
+ '=KC0JVX' => '191,900,902,904,906,908',
+ '=KC2IIT' => '182',
'=KC2LM' => '179',
- '=KC2TE' => '194',
+ '=KC2VSR' => '191,900,902,904,906,908',
+ '=KC3EUQ' => '194',
+ '=KC3MPG' => '191,900,902,904,906,908',
'=KC4AAA' => '1717,1719,1722,1724,1726,1728,1730,330,343',
'=KC4AAC' => '1717,1719,1722,1724,1726,1728,1730,330,343',
'=KC4HW' => '179',
'=KC4SAW' => '179',
'=KC4TEO' => '179',
'=KC4USB' => '1717,1719,1722,1724,1726,1728,1730,330,343',
+ '=KC4USN' => '1717,1719,1722,1724,1726,1728,1730,330,343',
'=KC4USV' => '1717,1719,1722,1724,1726,1728,1730,330,343',
'=KC4WQ' => '179',
- '=KC5FWS' => '194',
- '=KC5NHL' => '191,900,902,904,906,908',
+ '=KC6ZLZ' => '191,900,902,904,906,908',
+ '=KC7ELH' => '186',
'=KC7QY' => '179',
'=KC8GCR' => '179',
- '=KC9IKH' => '191,900,902,904,906,908',
+ '=KC8J' => '179',
+ '=KC8JNV' => '186',
+ '=KC8VKY' => '191,900,902,904,906,908',
'=KC9K' => '179',
+ '=KC9RQZ' => '191,900,902,904,906,908',
'=KD0EE' => '179',
- '=KD0JNO' => '186',
- '=KD0ONB' => '191,900,902,904,906,908',
- '=KD0OXU' => '186',
+ '=KD0OAK' => '191,900,902,904,906,908',
'=KD2KW' => '179',
- '=KD2NPD' => '191,900,902,904,906,908',
'=KD4EE' => '179',
- '=KD4GVR' => '186',
+ '=KD4NFW' => '186',
+ '=KD4TRG' => '179',
'=KD5DD' => '179',
- '=KD5MQC' => '191,900,902,904,906,908',
- '=KD7GWI' => '186',
- '=KD7OOS' => '191,900,902,904,906,908',
- '=KD8KQL' => '191,900,902,904,906,908',
- '=KD8LYB' => '186',
- '=KD9TK' => '191,900,902,904,906,908',
- '=KE0JSB' => '186',
- '=KE0KIE' => '186',
+ '=KD5KVP' => '191,900,902,904,906,908',
+ '=KD6APH' => '186',
+ '=KD6VXI' => '193',
+ '=KD7RF' => '179',
+ '=KD7RYC' => '191,900,902,904,906,908',
+ '=KD9QS' => '179',
'=KE0L' => '179',
+ '=KE0PRX' => '191,900,902,904,906,908',
'=KE0YI' => '179',
'=KE1B' => '179',
'=KE2VB' => '179',
'=KE3K' => '179',
'=KE4KY' => '179',
- '=KE5VQB' => '186',
- '=KE5WGZ' => '191,900,902,904,906,908',
- '=KE6MKW' => '186',
- '=KE6TIX' => '186',
- '=KE7PXV' => '191,900,902,904,906,908',
- '=KE7ZXH' => '191,900,902,904,906,908',
+ '=KE6OTK' => '186',
+ '=KE7BAQ' => '191,900,902,904,906,908',
+ '=KE8CCS' => '191,900,902,904,906,908',
'=KE8FT' => '179',
- '=KF3L' => '191,900,902,904,906,908',
- '=KF4AV' => '179',
- '=KF4UJC' => '186',
'=KF5BA' => '179',
'=KF5MU' => '179',
- '=KF5UBP' => '191,900,902,904,906,908',
- '=KF5YGN' => '194',
- '=KF5YGX' => '194',
- '=KF7ARC' => '191,900,902,904,906,908',
- '=KF7FLL' => '191,900,902,904,906,908',
- '=KF7FLM' => '191,900,902,904,906,908',
- '=KF7ING' => '191,900,902,904,906,908',
- '=KF7ITN' => '191,900,902,904,906,908',
- '=KF7KTH' => '191,900,902,904,906,908',
- '=KF7WVE' => '191,900,902,904,906,908',
+ '=KF6YYH' => '186',
+ '=KF7BMU' => '182',
+ '=KF7MVM' => '191,900,902,904,906,908',
+ '=KF7QMX' => '186',
+ '=KF7QVM' => '186',
'=KG0F' => '179',
- '=KG4CAN' => '186',
'=KG4CUY' => '179',
- '=KG4MA' => '1686,1687,1688,1689,1690,1691,1692,1693,334',
'=KG4NE' => '1686,1687,1688,1689,1690,1691,1692,1693,334',
- '=KG4TZD' => '186',
- '=KG5CH' => '186',
- '=KG5CNO' => '186',
'=KG5HVO' => '179',
- '=KG5IVP' => '186',
'=KG6DX' => '182',
+ '=KG6EZW' => '186',
+ '=KG6HFK' => '186',
+ '=KG6HTQ' => '191,900,902,904,906,908',
'=KG6JDX' => '182',
- '=KG7ZEV' => '191,900,902,904,906,908',
- '=KG7ZJM' => '186',
+ '=KG7JHH' => '186',
+ '=KG7KDP' => '186',
+ '=KG7SRS' => '191,900,902,904,906,908',
'=KH0WJ' => '186',
+ '=KH2AR' => '179',
'=KH2BR' => '179',
'=KH2D' => '179',
'=KH2GM' => '179',
+ '=KH2PM' => '179',
+ '=KH2RU' => '194',
+ '=KH2SR' => '179',
+ '=KH2TJ' => '179',
'=KH3AE' => '186',
'=KH6CT' => '179',
- '=KH6DHK' => '179',
+ '=KH6GK' => '179',
'=KH6M' => '179',
'=KH6VM' => '179',
'=KH6XS' => '179',
- '=KI5DQL' => '180',
+ '=KH7FC' => '179',
+ '=KI4YRQ' => '191,900,902,904,906,908',
+ '=KI5JZC' => '194',
+ '=KI5KBN' => '191,900,902,904,906,908',
'=KI6DY' => '179',
'=KI6QDH' => '179',
- '=KI7AUZ' => '186',
- '=KI7ID' => '179',
+ '=KI7PEZ' => '186',
+ '=KI7ZTQ' => '186',
+ '=KI8I' => '179',
'=KJ4AOM' => '179',
- '=KJ4IWZ' => '179',
'=KJ4M' => '179',
- '=KJ4YOY' => '191,900,902,904,906,908',
- '=KJ6AYQ' => '182',
- '=KJ6COM' => '186',
- '=KJ6CQT' => '186',
- '=KJ6FDF' => '186',
- '=KJ6RFQ' => '191,900,902,904,906,908',
+ '=KJ6CAV' => '186',
+ '=KJ6MQL' => '186',
+ '=KJ6MSJ' => '186',
+ '=KJ6NIA' => '186',
+ '=KJ6NIB' => '186',
+ '=KJ6NPJ' => '191,900,902,904,906,908',
+ '=KJ6SGY' => '186',
'=KJ9C' => '179',
- '=KK4RNF' => '186',
- '=KK6SNS' => '191,900,902,904,906,908',
+ '=KK4BAN' => '191,900,902,904,906,908',
+ '=KK4CAS' => '191,900,902,904,906,908',
+ '=KK4CAU' => '191,900,902,904,906,908',
+ '=KK4CHH' => '191,900,902,904,906,908',
+ '=KK4EGT' => '186',
+ '=KK4IUT' => '186',
+ '=KK4WWH' => '191,900,902,904,906,908',
+ '=KK4WWI' => '191,900,902,904,906,908',
+ '=KK6DIT' => '186',
+ '=KK6GRC' => '186',
+ '=KK6QAI' => '186',
+ '=KK7I' => '191,900,902,904,906,908',
'=KK9A' => '179',
'=KK9N' => '179',
- '=KL0MP' => '179',
- '=KL2RA' => '179',
- '=KL3JC' => '186',
- '=KL4CZ' => '179',
+ '=KL0SS' => '179',
+ '=KL1SE' => '179',
+ '=KL2AX' => '179',
+ '=KL7DJ' => '179',
'=KL7HQR' => '179',
'=KL7IKV' => '179',
+ '=KL7NW' => '179',
'=KL7QW' => '179',
'=KL7SK' => '179',
+ '=KM4CH' => '179',
'=KM4FO' => '179',
+ '=KM4FPS' => '186',
'=KM4JA' => '179',
- '=KM6RWE' => '186',
- '=KM6UVP' => '186',
- '=KM6YOD' => '191,900,902,904,906,908',
+ '=KM4JAK' => '179',
+ '=KM4RO' => '179',
+ '=KM6EED' => '191,900,902,904,906,908',
+ '=KM6HPE' => '186',
+ '=KM6Z' => '179',
'=KM7W' => '179',
'=KN1CBR' => '179',
- '=KN4DUA' => '179',
- '=KN4ENR' => '191,900,902,904,906,908',
- '=KN4LJD' => '191,900,902,904,906,908',
- '=KN4LVP' => '182',
- '=KN4RXC' => '191,900,902,904,906,908',
- '=KN8U' => '179',
- '=KO4DHN' => '191,900,902,904,906,908',
+ '=KN4CCY' => '191,900,902,904,906,908',
+ '=KN4KYO' => '186',
+ '=KN4MGX' => '191,900,902,904,906,908',
+ '=KN4MTF' => '191,900,902,904,906,908',
+ '=KN4NAR' => '194',
+ '=KO4LCM' => '186',
+ '=KO4OL' => '179',
+ '=KO4Z' => '179',
'=KO8SCA' => '179',
+ '=KO8V' => '179',
'=KO9V' => '179',
+ '=KP2H' => '194',
+ '=KP2X' => '179',
'=KP2Z' => '194',
'=KP3M' => '179',
+ '=KP3U' => '179',
+ '=KP4MD' => '179',
'=KR4F' => '179',
'=KS0CW' => '179',
'=KS4X' => '179',
'=KS9W' => '179',
'=KT3M' => '179',
'=KT4O' => '179',
- '=KT4RR' => '179',
'=KU1CW' => '179',
'=KU8E' => '179',
- '=KV4CF' => '193',
- '=KV4KW' => '193',
- '=KV4T' => '179',
+ '=KV3T' => '179',
+ '=KV4BT' => '193',
'=KV8S' => '179',
'=KW4J' => '179',
- '=KW4XD' => '191,900,902,904,906,908',
- '=KW7D' => '179',
+ '=KW4YA' => '179',
+ '=KW6CR' => '186',
'=KW7Q' => '179',
'=KX2P' => '179',
+ '=KX4X' => '179',
'=KY0Q' => '179',
+ '=KY0W' => '179',
'=KZ1W' => '179',
- '=KZ4KX' => '179',
'=KZ9V' => '179',
+ '=LT2F/F' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
'=LU1AW/X' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
- '=LU1QR/Q' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU1COP/D' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU1COP/E' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU1DAA/D' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU1LT/L' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU1VHP/V' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU1VYL/V' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU1VZ/V' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU1YAX/V' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU2ALF/D' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
'=LU2DVI/H' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
- '=LU3HT/H' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
- '=LU5QR/Q' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
- '=MM0DHQ/NHS' => '144,688',
+ '=LU2EZG/D' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU2JAL/J' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU3DVN/X' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU3DYN/D' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU3JVR/J' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU3VAL/V' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU4AAO/D' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU4ARU/D' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU4FM/F' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU4LAS/L' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU5DQ/D' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU5DSM/ANT' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU5JAH/J' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU5JIB/J' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU5JU/J' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU5YF/V' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU7YG/Y' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU8JLB/J' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU8VCC/V' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU9ERA/H' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU9JDZ/J' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU9JLB/J' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU9JZX/J' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LU9LCF/L' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LW1ECO/D' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LW3DBH/D' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LW3EK/D' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LW3EMP/L' => '197,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962',
+ '=LX9S/J' => '198',
'=MM0LSM' => '687',
'=MM0NQY' => '687',
'=MM0VIK' => '687',
'=MM0ZAL' => '687',
'=MM0ZCG' => '687',
'=MM0ZRC' => '687',
+ '=MM1FEO' => '687',
'=MM1FJM' => '687',
- '=MM3AWD/NHS' => '144,688',
- '=MM3DDQ/NHS' => '144,688',
'=MM3VQO' => '687',
'=MM5PSL' => '687',
'=MM5YLO' => '687',
'=MM6YLO' => '687',
'=MM6ZBG' => '687',
'=MM6ZDW' => '687',
- '=MM7WAB/NHS' => '144,688',
+ '=MM7CGR' => '687',
'=MM8A' => '687',
'=MS0ZCG' => '687',
'=MS0ZET' => '687',
- '=N0RY' => '182',
- '=N0SMX' => '179',
- '=N0VYO' => '186',
- '=N1JM' => '179',
- '=N1XK' => '179',
- '=N2AU' => '179',
+ '=N0YY' => '179',
+ '=N1ROR' => '191,900,902,904,906,908',
+ '=N1TX' => '191,900,902,904,906,908',
'=N2BJ' => '179',
- '=N2FVA' => '194',
- '=N2IBR' => '194',
'=N2IC' => '179',
'=N2JNR' => '179',
'=N2NL' => '179',
'=N3BB' => '179',
- '=N3BQY' => '186',
- '=N3BUO' => '179',
'=N3CI' => '179',
- '=N3GWR' => '186',
'=N3RA' => '179',
'=N3RC' => '179',
'=N3ZZ' => '179',
+ '=N4AKO' => '194',
'=N4ARO' => '179',
'=N4AU' => '179',
'=N4BAA' => '179',
- '=N4BCB' => '179',
'=N4BCD' => '179',
- '=N4BER' => '186',
'=N4DW' => '179',
+ '=N4EL' => '179',
'=N4HAI' => '179',
- '=N4KC' => '179',
+ '=N4JRG' => '179',
'=N4KH' => '179',
- '=N4MMT' => '194',
- '=N4NA' => '179',
'=N4NO' => '179',
'=N4OGW' => '179',
'=N4QS' => '179',
- '=N4SL' => '179',
+ '=N4SS' => '179',
+ '=N4TY' => '179',
'=N4TZ' => '179',
'=N4UC' => '179',
- '=N4UW' => '179',
'=N4VI' => '179',
'=N4VV' => '179',
'=N4WE' => '179',
'=N5CR' => '179',
'=N5CW' => '179',
'=N5DX' => '179',
+ '=N5EP' => '179',
+ '=N5GF' => '179',
'=N5KO' => '179',
'=N5RP' => '179',
'=N5SMQ' => '179',
- '=N5TB' => '179',
'=N5TOO' => '179',
+ '=N5YIZ' => '194',
'=N5YT' => '179',
'=N5ZO' => '179',
'=N6AR' => '179',
'=N6DW' => '179',
+ '=N6EE' => '179',
+ '=N6IGV' => '191,900,902,904,906,908',
+ '=N6JS' => '179',
'=N6QEK' => '191,900,902,904,906,908',
+ '=N6RGP' => '191,900,902,904,906,908',
'=N6RSH' => '179',
- '=N7BMD' => '186',
- '=N7CGC' => '191,900,902,904,906,908',
- '=N7DKL' => '191,900,902,904,906,908',
+ '=N7AK' => '186',
'=N7DR' => '179',
- '=N7DUD' => '191,900,902,904,906,908',
- '=N7FUL' => '179',
- '=N7IP' => '179',
'=N7IV' => '179',
'=N7MZW' => '179',
- '=N7NG' => '179',
'=N7RCS' => '179',
'=N7US' => '179',
'=N7WY' => '179',
'=N7ZZ' => '179',
'=N8AID' => '179',
- '=N8GU' => '179',
+ '=N8CL' => '179',
'=N8II' => '179',
+ '=N8IVN' => '179',
+ '=N8KH' => '179',
'=N8NA' => '179',
'=N8NN' => '179',
'=N8OO' => '179',
'=N9OU' => '179',
'=N9RV' => '179',
'=N9SB' => '179',
+ '=N9TX' => '179',
'=N9VPV' => '179',
+ '=NA2U' => '179',
+ '=NA4A' => '179',
'=NA5NN' => '179',
- '=NB6R' => '186',
- '=ND1A' => '186',
'=ND2T' => '179',
'=ND3N' => '179',
'=ND4Y' => '179',
'=NF4J' => '179',
'=NG7A' => '179',
'=NH2B' => '180',
- '=NH2LS' => '191,900,902,904,906,908',
+ '=NH2IY' => '186',
+ '=NH6L' => '179',
+ '=NH6PK' => '179',
'=NH6T' => '179',
+ '=NH6Z' => '179',
'=NI7R' => '179',
'=NJ4P' => '179',
'=NJ8J' => '179',
'=NK8Q' => '179',
'=NL7CQ' => '179',
'=NL7D' => '179',
+ '=NL7P' => '179',
'=NL7QC' => '179',
+ '=NL7WA' => '179',
'=NL7XM' => '179',
+ '=NL7XT' => '179',
'=NN1N' => '179',
'=NN4NT' => '179',
- '=NN4SA' => '179',
'=NN5O' => '179',
'=NN7A' => '179',
+ '=NN7C' => '191,900,902,904,906,908',
'=NN7CW' => '179',
'=NN9DD' => '179',
'=NO9E' => '179',
'=NP2GG' => '179',
+ '=NP2JV' => '179',
+ '=NP3FB' => '179',
'=NP3K' => '179',
+ '=NP4TY' => '191,900,902,904,906,908',
'=NQ6N' => '179',
+ '=NR0G' => '186',
'=NR4L' => '179',
- '=NR5W' => '179',
'=NR7DX' => '179',
- '=NS2X' => '179',
'=NS4X' => '179',
'=NT0K' => '179',
- '=NU9Q' => '191,900,902,904,906,908',
- '=NW2P' => '179',
- '=NW7R' => '179',
+ '=NV4B' => '179',
'=NW8U' => '179',
'=NX1P' => '179',
'=NY6DX' => '179',
- '=NZ6T' => '179',
- '=R100RK' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
+ '=NZ7Q' => '179',
+ '=PA1AW/J' => '216',
+ '=PA1BP/J' => '216',
+ '=PA3ESO/J' => '216',
+ '=PA6JAM/J' => '216',
+ '=PA6SJB/J' => '216',
+ '=PC6RH/J' => '216',
+ '=R0AI/3' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=R2ET/9' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
'=R2MWO' => '264',
+ '=R325B' => '264',
+ '=R325BF' => '264',
+ '=R325F' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
+ '=R325G' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
+ '=R325P' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
+ '=R325SF' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
+ '=R325SSF' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
+ '=R325TF' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
+ '=R325Z' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
+ '=R4FBJ/9/P' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
'=R4HAT' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=R4HC' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=R4HCE' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=R4IN' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=R4IO' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=R4IT' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
- '=R8FF/3' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
- '=R8FF/7' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
- '=R8FF/8' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
- '=R8FF/P' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
+ '=R4WAN/P' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
+ '=R6LCA/J' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
+ '=R800SAN' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
'=R8MB/1' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
- '=R8XF/1' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
- '=R9WCJ/8' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
- '=RA/UT5IA' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
+ '=R9FCS/4' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
+ '=R9JBF/1' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
+ '=R9WGK/P' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
'=RA0QK/8' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
'=RA4HL' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=RA4NCC' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
- '=RA9UUY/6' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
+ '=RA4RU/9' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
+ '=RA60ANT' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
+ '=RA9MX/0' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
+ '=RA9ULL/6' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=RC4HT' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=RC4I' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=RI1ANC' => '1717,1719,1722,1724,1726,1728,1730,330,343',
+ '=RI1ANR' => '1717,1719,1722,1724,1726,1728,1730,330,343',
+ '=RI60ANT' => '1717,1719,1722,1724,1726,1728,1730,330,343',
'=RJ4I' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
- '=RJ4P' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=RK4HM' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=RK4P' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
+ '=RK60ANT' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
+ '=RL1I/P' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
+ '=RL60ANT' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
'=RM4I' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
- '=RM4R' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=RN4HFJ' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=RN4HIF' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
+ '=RN60ANT' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=RN9S' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
- '=RT8T' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
+ '=RT60ANT' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
'=RT9K/6' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=RT9S' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
- '=RT9T/1' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=RT9T/3' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
- '=RU20RU' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
'=RU4HD' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=RU4HP' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=RU4I' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
+ '=RV7B/9' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
'=RW4HM' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=RW4HTK' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=RW4HW' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=RW4HZ' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=RW9WJ/4' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
- '=RX9KT/6' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
- '=RX9WT/8' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
+ '=RX6DL/8/P' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
+ '=RX9SN/P' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
+ '=RX9WT/P' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
'=SV0XAZ' => '240',
'=SV2ASP/A' => '238',
+ '=SV2JAO/J' => '237,1156,1158,1160,1162,1164,1166,1168',
'=SV2RSG/A' => '238',
- '=TA1BZ/2' => '249,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188',
+ '=SX200ADL' => '239',
+ '=SX200ANK' => '240',
+ '=SX200AZK' => '239',
+ '=SX200AZR' => '239',
+ '=SX200BMG' => '240',
+ '=SX200BYR' => '239',
+ '=SX200CAF' => '240',
+ '=SX200CJK' => '239',
+ '=SX200CJO' => '240',
+ '=SX200COL' => '240',
+ '=SX200CVY' => '240',
+ '=SX200DJO' => '240',
+ '=SX200DKL' => '239',
+ '=SX200DZX' => '239',
+ '=SX200FBG' => '240',
+ '=SX200FBK' => '240',
+ '=SX200FRT' => '239',
+ '=SX200JI' => '240',
+ '=SX200KKU' => '239',
+ '=SX200KNA' => '240',
+ '=SX200MBH' => '240',
+ '=SX200QWP' => '240',
+ '=SX200RGI' => '240',
+ '=SX200RKU' => '240',
+ '=SX200RMU' => '240',
+ '=SX200RNG' => '240',
+ '=SX200SKE' => '239',
+ '=SX2IMA/J' => '237,1156,1158,1160,1162,1164,1166,1168',
+ '=SY200CGZ' => '240',
+ '=SZ200ERK' => '240',
+ '=SZ200RDS' => '239',
'=TA1C/2' => '249,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188',
'=TA1D/3' => '249,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188',
- '=TA1D/4' => '249,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188',
- '=TA1FA/2' => '249,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188',
- '=TA1HZ/2' => '249,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188',
- '=TA6CQ/1' => '1171',
'=TO1A' => '139',
'=TO5A' => '123',
- '=TO5O' => '123',
'=TO5T' => '123',
'=TO7A' => '123',
- '=TO8FTDM' => '118',
- '=TX2A' => '125',
+ '=TO7O' => '123',
+ '=TO9W' => '130',
'=TX3X' => '122',
'=TX5P' => '126',
+ '=TX7MB' => '127',
+ '=UA0QNI/3' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=UA3LMR/P' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=UA4H' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=UA4HBM' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=UA4HY' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=UA4NF' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=UA4PN' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
- '=UA4RF' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
- '=UB5O/1' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
- '=UB5O/2' => '264',
- '=UB5O/4' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
- '=UB5O/9' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
+ '=UA5B/4' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
+ '=UB8S/P' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=UC4I' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=UD6AOP/0' => '265,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379',
+ '=UE80SKR' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
'=UI4I' => '263,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315',
+ '=VA2VT' => '276,1503,1505,1507,1509,1511,1513,1515,1517,1519,1521,1523,1525,1527,1529,1531,1533',
'=VA2VVV' => '276,1503,1505,1507,1509,1511,1513,1515,1517,1519,1521,1523,1525,1527,1529,1531,1533',
'=VE2CSI' => '276,1503,1505,1507,1509,1511,1513,1515,1517,1519,1521,1523,1525,1527,1529,1531,1533',
'=VE2EKA' => '276,1503,1505,1507,1509,1511,1513,1515,1517,1519,1521,1523,1525,1527,1529,1531,1533',
'=VE2FK' => '276,1503,1505,1507,1509,1511,1513,1515,1517,1519,1521,1523,1525,1527,1529,1531,1533',
'=VE2IDX' => '276,1503,1505,1507,1509,1511,1513,1515,1517,1519,1521,1523,1525,1527,1529,1531,1533',
'=VE2IM' => '276,1503,1505,1507,1509,1511,1513,1515,1517,1519,1521,1523,1525,1527,1529,1531,1533',
- '=VE2KK' => '276,1503,1505,1507,1509,1511,1513,1515,1517,1519,1521,1523,1525,1527,1529,1531,1533',
- '=VE8AT' => '276,1503,1505,1507,1509,1511,1513,1515,1517,1519,1521,1523,1525,1527,1529,1531,1533',
- '=VER20200625' => '276,1503,1505,1507,1509,1511,1513,1515,1517,1519,1521,1523,1525,1527,1529,1531,1533',
- '=VERSION' => '75',
+ '=VE2TKH' => '276,1503,1505,1507,1509,1511,1513,1515,1517,1519,1521,1523,1525,1527,1529,1531,1533',
+ '=VER20211125' => '276,1503,1505,1507,1509,1511,1513,1515,1517,1519,1521,1523,1525,1527,1529,1531,1533',
+ '=VERSION' => '228',
'=VK0AI' => '336',
'=VK0EK' => '335',
- '=VK3YQS/9' => '338',
- '=VK3YQS/VK9' => '338',
+ '=VK3ZW' => '277,1535,1537,1539,1541,1543,1545,1547,1549',
'=VP6D' => '284',
- '=VP8AL' => '1717,1719,1722,1724,1726,1728,1730,330,343',
+ '=VP8/SQ1SGB' => '1717,1719,1722,1724,1726,1728,1730,330,343',
'=VP8CA' => '342',
'=VP8DXU' => '345',
'=VP8PJ' => '344',
- '=VY0AA' => '276,1503,1505,1507,1509,1511,1513,1515,1517,1519,1521,1523,1525,1527,1529,1531,1533',
'=VY0PW' => '276,1503,1505,1507,1509,1511,1513,1515,1517,1519,1521,1523,1525,1527,1529,1531,1533',
'=W0BR' => '179',
+ '=W0HPD' => '191,900,902,904,906,908',
+ '=W0NA' => '179',
'=W0PV' => '179',
+ '=W0QQG' => '179',
'=W0RIC' => '179',
- '=W0ZEE' => '191,900,902,904,906,908',
+ '=W0YK' => '179',
'=W0ZP' => '179',
- '=W1GKT' => '179',
- '=W1JM' => '191,900,902,904,906,908',
+ '=W1GDM' => '186',
'=W1LYD' => '191,900,902,904,906,908',
'=W1NN' => '179',
- '=W1PDI' => '179',
'=W1PR' => '179',
'=W1RH' => '179',
'=W1SRD' => '179',
'=W2ACY' => '179',
'=W2GS' => '179',
- '=W2IY' => '179',
+ '=W2UP' => '179',
'=W2VJN' => '179',
'=W3CB' => '179',
'=W3HDH' => '179',
'=W3TB' => '179',
'=W4BCG' => '179',
'=W4DAN' => '179',
+ '=W4EF' => '179',
'=W4ER' => '179',
'=W4GKM' => '179',
+ '=W4JSI' => '179',
'=W4KW' => '179',
'=W4LC' => '179',
'=W4LIS' => '193',
'=W4NBS' => '179',
- '=W4NI' => '179',
'=W4NNF' => '179',
'=W4NZ' => '179',
+ '=W4PA' => '179',
'=W4PF' => '179',
- '=W4RYW' => '179',
+ '=W4SSF' => '179',
'=W4TLK' => '179',
- '=W4TTM' => '179',
'=W4UT' => '179',
+ '=W4UWC' => '179',
+ '=W5ERV' => '191,900,902,904,906,908',
'=W5MX' => '179',
'=W5NZ' => '179',
- '=W5UE' => '179',
+ '=W5SPY' => '191,900,902,904,906,908',
'=W5UJ' => '179',
- '=W5VE' => '179',
'=W5VS' => '179',
+ '=W6AKL' => '186',
+ '=W6DSD' => '186',
+ '=W6FB' => '179',
'=W6GMT' => '179',
'=W6KGP' => '179',
'=W6LFB' => '179',
+ '=W6NCB' => '179',
'=W6NWS' => '179',
- '=W6QPV' => '186',
- '=W6RLL' => '179',
+ '=W6RZY' => '186',
'=W6SFG' => '179',
+ '=W6SMA' => '191,900,902,904,906,908',
'=W6UB' => '179',
- '=W6XR' => '179',
+ '=W7CB' => '191,900,902,904,906,908',
+ '=W7DXX' => '179',
'=W7EE' => '179',
- '=W7HJ' => '179',
+ '=W7EGG' => '191,900,902,904,906,908',
+ '=W7GKF' => '179',
'=W7II' => '179',
'=W7IMP' => '179',
- '=W7IY' => '179',
- '=W7KF' => '179',
+ '=W7JAL' => '191,900,902,904,906,908',
+ '=W7LG' => '179',
'=W7NX' => '186',
+ '=W7RF' => '179',
'=W7RY' => '179',
'=W7UT' => '179',
+ '=W7WKS' => '186',
+ '=W7XT' => '179',
+ '=W8AKS' => '179',
'=W8AT' => '179',
'=W8FJ' => '179',
'=W8FN' => '179',
'=W8HAP' => '179',
- '=W8HGH' => '179',
'=W8LYJ' => '179',
'=W8OV' => '179',
'=W8TK' => '179',
'=W9CF' => '179',
- '=W9CG' => '191,900,902,904,906,908',
+ '=W9CG' => '188,189',
'=W9DC' => '179',
'=W9ET' => '179',
- '=W9FI' => '179',
'=W9JA' => '179',
- '=W9JEF' => '179',
'=W9KKN' => '179',
- '=W9MAF' => '179',
- '=W9PL' => '179',
- '=W9RM' => '179',
'=W9RNY' => '179',
+ '=WA0LJM' => '179',
+ '=WA0OII' => '182',
'=WA0WWW' => '179',
'=WA1FCN' => '179',
+ '=WA1FMM' => '179',
'=WA1FVJ' => '191,900,902,904,906,908',
'=WA1UJU' => '179',
'=WA2VYA' => '179',
'=WA3C' => '179',
+ '=WA4BUD' => '191,900,902,904,906,908',
'=WA4JA' => '179',
+ '=WA4RRE' => '191,900,902,904,906,908',
'=WA5POK' => '179',
- '=WA6AW' => '186',
- '=WA6CZL' => '186',
'=WA6QDQ' => '186',
'=WA8KAN' => '179',
'=WA8OJR' => '179',
'=WA8ZBT' => '179',
- '=WB2JEP' => '179',
- '=WB3JFS' => '179',
+ '=WB2HMY' => '194',
'=WB4JTT' => '186',
+ '=WB4YDL' => '179',
'=WB4YDY' => '179',
- '=WB8BPU' => '179',
+ '=WB5EAA' => '191,900,902,904,906,908',
+ '=WB5WAJ' => '179',
+ '=WB7GR' => '179',
+ '=WB7ULO' => '191,900,902,904,906,908',
+ '=WB8BRU' => '191,900,902,904,906,908',
'=WB8YYY' => '179',
- '=WB9QAF' => '179',
'=WC7S' => '179',
'=WE5P' => '179',
'=WE6EZ' => '179',
+ '=WE9H' => '191,900,902,904,906,908',
'=WF7T' => '179',
'=WF9A' => '179',
'=WH0AI' => '179',
'=WH6AQ' => '179',
- '=WH6GBB' => '191,900,902,904,906,908',
- '=WH6GCO' => '191,900,902,904,906,908',
+ '=WH6FZY' => '179',
'=WH6LE' => '179',
+ '=WH7DC' => '191,900,902,904,906,908',
'=WH7R' => '179',
+ '=WI5GUY' => '191,900,902,904,906,908',
'=WJ9B' => '179',
+ '=WL5H' => '179',
+ '=WL7CSW' => '186',
'=WL7OU' => '179',
'=WM5DX' => '179',
'=WN7S' => '179',
+ '=WN7Y' => '179',
'=WO7U' => '179',
+ '=WP2C' => '179',
+ '=WP2J' => '179',
'=WP3ME' => '179',
'=WQ5L' => '179',
'=WR3O' => '179',
+ '=WR4T' => '179',
+ '=WR8AA' => '179',
'=WS6K' => '179',
'=WS6X' => '179',
'=WS7X' => '179',
'=WS9M' => '179',
'=WT2P' => '179',
+ '=WT7TT' => '179',
'=WT8WV' => '179',
- '=WU0B' => '179',
'=WU9B' => '179',
'=WV4P' => '179',
- '=WV8SW' => '179',
- '=WW4AL' => '191,900,902,904,906,908',
'=WW4R' => '179',
'=WW5M' => '179',
'=WX4W' => '179',
'=WX5S' => '179',
- '=WY6K' => '179',
'=WY7FD' => '179',
- '=WZ1Y' => '179',
+ '=WY7M' => '179',
'=WZ4F' => '179',
'=WZ7I' => '179',
'=WZ8T' => '179',
'AG7' => '1701,1702,1703,1704,1705,1706,1707,1708',
'AG8' => '1709,1710,1711',
'AG9' => '1712,1713,1714',
+ 'AGJ60' => '877',
'AH0' => '180',
'AH1' => '181',
'AH2' => '182',
'HS8' => '787',
'HS9' => '789',
'HT' => '305',
+ 'HTR60' => '877',
'HU' => '307',
'HV' => '163',
'HW' => '117',
'ID8' => '827',
'ID9' => '829',
'IE9' => '831',
+ 'IEJ60' => '877',
'IF9' => '833',
'IG9' => '835',
'IH9' => '837',
'IR8' => '813',
'IR9' => '845',
'IS' => '166',
+ 'ISG60' => '877',
'IT9' => '845',
'IU0' => '797',
'IU1' => '799',
'KJ7' => '1701,1702,1703,1704,1705,1706,1707,1708',
'KJ8' => '1709,1710,1711',
'KJ9' => '1712,1713,1714',
+ 'KJP60' => '877',
'KK0' => '1666,1667,1668,1669,1670,1671,1672,1673',
'KK1' => '1674,1675,1676,1677,1678,1679',
'KK2' => '1680,1681',
'KT7' => '1701,1702,1703,1704,1705,1706,1707,1708',
'KT8' => '1709,1710,1711',
'KT9' => '1712,1713,1714',
+ 'KTD60' => '877',
'KU0' => '1666,1667,1668,1669,1670,1671,1672,1673',
'KU1' => '1674,1675,1676,1677,1678,1679',
'KU2' => '1680,1681',
'MI' => '142',
'MJ' => '143',
'MM' => '144',
+ 'MMD60' => '877',
+ 'MMY60' => '877',
'MN' => '142',
'MP' => '145',
'MS' => '144',
'NH7K' => '187',
'NH8' => '188',
'NH9' => '190',
- 'NHS' => '140',
'NI0' => '1666,1667,1668,1669,1670,1671,1672,1673',
'NI1' => '1674,1675,1676,1677,1678,1679',
'NI2' => '1680,1681',
'OG7' => '1013',
'OG8' => '1015',
'OG9' => '1017',
+ 'OGN60' => '877',
'OH' => '204,1002,1004,1006,1008,1010,1012,1014,1016,1018',
'OH0' => '205',
'OH1' => '1001',
'OK' => '207,1020,1022',
'OK1' => '1019',
'OK2' => '1021',
+ 'OKA60' => '877',
'OL' => '207',
'OM' => '208,1024,1026,1028,1030,1032,1034,1036,1038',
'OM0' => '1023',
'SH5' => '1131',
'SH6' => '1133',
'SH7' => '1135',
+ 'SHI60' => '877',
'SI' => '233',
'SI0' => '1121',
'SI1' => '1123',
'TP' => '117',
'TQ' => '117',
'TR' => '258',
+ 'TRA60' => '877',
'TS' => '14',
'TT' => '259',
'TU' => '1203',
'UE9X' => '1314',
'UE9Y' => '1376',
'UE9Z' => '1378',
+ 'UEO60' => '877',
'UF0' => '265',
'UF0A' => '1316',
'UF0B' => '1316',
'VG7' => '1516',
'VG8' => '1518',
'VG9' => '1520',
- 'VH' => '277',
- 'VH1' => '1534',
- 'VH2' => '1536',
- 'VH3' => '1538',
- 'VH4' => '1540',
- 'VH5' => '1542',
- 'VH6' => '1544',
- 'VH7' => '1546',
- 'VH8' => '1548',
- 'VH9' => '278',
- 'VH9C' => '337',
- 'VH9L' => '338',
- 'VH9M' => '339',
- 'VH9W' => '340',
- 'VH9X' => '341',
- 'VH9Y' => '337',
- 'VH9Z' => '340',
'VI' => '277',
'VI0' => '1718',
'VI1' => '1534',
'VJ6' => '1544',
'VJ7' => '1546',
'VJ8' => '1548',
- 'VJ9' => '278',
- 'VJ9C' => '337',
- 'VJ9L' => '338',
- 'VJ9M' => '339',
- 'VJ9W' => '340',
- 'VJ9X' => '341',
- 'VJ9Y' => '337',
- 'VJ9Z' => '340',
'VK' => '277,1535,1537,1539,1541,1543,1545,1547,1549',
'VK0' => '1718,335,336',
'VK0H' => '335',
'VL6' => '1544',
'VL7' => '1546',
'VL8' => '1548',
- 'VL9' => '278',
- 'VL9C' => '337',
- 'VL9L' => '338',
- 'VL9M' => '339',
- 'VL9W' => '340',
- 'VL9X' => '341',
- 'VL9Y' => '337',
- 'VL9Z' => '340',
- 'VM' => '277',
- 'VM1' => '1534',
- 'VM2' => '1536',
- 'VM3' => '1538',
- 'VM4' => '1540',
- 'VM5' => '1542',
- 'VM6' => '1544',
- 'VM7' => '1546',
- 'VM8' => '1548',
- 'VM9' => '278',
- 'VM9C' => '337',
- 'VM9L' => '338',
- 'VM9M' => '339',
- 'VM9W' => '340',
- 'VM9X' => '341',
- 'VM9Y' => '337',
- 'VM9Z' => '340',
- 'VN' => '277',
- 'VN1' => '1534',
- 'VN2' => '1536',
- 'VN3' => '1538',
- 'VN4' => '1540',
- 'VN5' => '1542',
- 'VN6' => '1544',
- 'VN7' => '1546',
- 'VN8' => '1548',
- 'VN9' => '278',
- 'VN9C' => '337',
- 'VN9L' => '338',
- 'VN9M' => '339',
- 'VN9W' => '340',
- 'VN9X' => '341',
- 'VN9Y' => '337',
- 'VN9Z' => '340',
'VO1' => '1522',
'VO2' => '1524',
'VP2' => '279,280,281',
'VY1' => '1530',
'VY2' => '1532',
'VY9' => '276',
- 'VZ' => '277',
- 'VZ1' => '1534',
- 'VZ2' => '1536',
- 'VZ3' => '1538',
- 'VZ4' => '1540',
- 'VZ5' => '1542',
- 'VZ6' => '1544',
- 'VZ7' => '1546',
- 'VZ8' => '1548',
- 'VZ9' => '278',
- 'VZ9C' => '337',
'VZ9L' => '338',
'VZ9M' => '339',
'VZ9W' => '340',
'VZ9X' => '341',
'VZ9Y' => '337',
- 'VZ9Z' => '340',
'W' => '179',
'W0' => '1666,1667,1668,1669,1670,1671,1672,1673',
'W1' => '1674,1675,1676,1677,1678,1679',
10 => bless( { name => 'Fiji-3D2', dxcc => 277, itu => 56, cq => 32, utcoff => -12.00, lat => -17.7833333333333, long => 177.916666666667, qra => 'RH82WF' }, 'Prefix'),
11 => bless( { name => 'Conway-Reef-3D2/C', dxcc => 321, itu => 56, cq => 32, utcoff => -12.00, lat => -22, long => 175, qra => 'RG78MA' }, 'Prefix'),
12 => bless( { name => 'Rotuma-Island-3D2/R', dxcc => 324, itu => 56, cq => 32, utcoff => -12.00, lat => -12.4833333333333, long => 177.083333333333, qra => 'RH87NM' }, 'Prefix'),
- 13 => bless( { name => 'Kingdom-of-eSwatini-3DA', dxcc => 278, itu => 57, cq => 38, utcoff => -2.00, lat => -26.65, long => 31.4833333333333, qra => 'KG53RI' }, 'Prefix'),
+ 13 => bless( { name => 'Kingdom-of-Eswatini-3DA', dxcc => 278, itu => 57, cq => 38, utcoff => -2.00, lat => -26.65, long => 31.4833333333333, qra => 'KG53RI' }, 'Prefix'),
14 => bless( { name => 'Tunisia-3V', dxcc => 279, itu => 37, cq => 33, utcoff => -1.00, lat => 35.4, long => 9.31666666666667, qra => 'JM45PJ' }, 'Prefix'),
15 => bless( { name => 'Vietnam-3W', dxcc => 231, itu => 49, cq => 26, utcoff => -7.00, lat => 15.8, long => 107.9, qra => 'OK35WT' }, 'Prefix'),
16 => bless( { name => 'Guinea-3X', dxcc => 280, itu => 46, cq => 35, utcoff => 0.00, lat => 11, long => -10.6833333333333, qra => 'IK41PA' }, 'Prefix'),
99 => bless( { name => 'South-Cook-Islands-E5/S', dxcc => 257, itu => 63, cq => 32, utcoff => 10.00, lat => -21.9, long => -157.933333333333, qra => 'BG18AC' }, 'Prefix'),
100 => bless( { name => 'Niue-E6', dxcc => 258, itu => 62, cq => 32, utcoff => 11.00, lat => -19.0333333333333, long => -169.85, qra => 'AH50BX' }, 'Prefix'),
101 => bless( { name => 'Bosnia-Herzegovina-E7', dxcc => 336, itu => 28, cq => 15, utcoff => -1.00, lat => 44.3166666666667, long => 17.5666666666667, qra => 'JN84SH' }, 'Prefix'),
- 102 => bless( { name => 'Spain-EA', dxcc => 34, itu => 37, cq => 14, utcoff => -1.00, lat => 40.3666666666667, long => -4.88333333333333, qra => 'IN70NI' }, 'Prefix'),
+ 102 => bless( { name => 'Spain-EA', dxcc => 34, itu => 37, cq => 14, utcoff => -1.00, lat => 40.3166666666667, long => -3.43333333333333, qra => 'IN80GH' }, 'Prefix'),
103 => bless( { name => 'Balearic-Islands-EA6', dxcc => 35, itu => 37, cq => 14, utcoff => -1.00, lat => 39.6, long => 2.95, qra => 'JM19LO' }, 'Prefix'),
104 => bless( { name => 'Canary-Islands-EA8', dxcc => 36, itu => 36, cq => 33, utcoff => 0.00, lat => 28.3166666666667, long => -15.85, qra => 'IL28BH' }, 'Prefix'),
105 => bless( { name => 'Ceuta-Melilla-EA9', dxcc => 37, itu => 37, cq => 33, utcoff => -1.00, lat => 35.9, long => -5.26666666666667, qra => 'IM75IV' }, 'Prefix'),
194 => bless( { name => 'Puerto-Rico-KP4', dxcc => 120, itu => 11, cq => 8, utcoff => 4.00, lat => 18.1833333333333, long => -66.55, qra => 'FK68RE' }, 'Prefix'),
195 => bless( { name => 'Desecheo-Island-KP5', dxcc => 121, itu => 11, cq => 8, utcoff => 4.00, lat => 18.0833333333333, long => -67.8833333333333, qra => 'FK68BB' }, 'Prefix'),
196 => bless( { name => 'Norway-LA', dxcc => 123, itu => 18, cq => 14, utcoff => -1.00, lat => 61, long => 9, qra => 'JP41MA' }, 'Prefix'),
- 197 => bless( { name => 'Argentina-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -34.8, long => -65.9166666666667, qra => 'FF75AE' }, 'Prefix'),
+ 197 => bless( { name => 'Argentina-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -32.5, long => -62.1333333333333, qra => 'FF87WM' }, 'Prefix'),
198 => bless( { name => 'Luxembourg-LX', dxcc => 125, itu => 27, cq => 14, utcoff => -1.00, lat => 50, long => 6, qra => 'JO30AA' }, 'Prefix'),
199 => bless( { name => 'Lithuania-LY', dxcc => 194, itu => 29, cq => 15, utcoff => -2.00, lat => 55.45, long => 23.6333333333333, qra => 'KO15TK' }, 'Prefix'),
200 => bless( { name => 'Bulgaria-LZ', dxcc => 126, itu => 28, cq => 20, utcoff => -2.00, lat => 42.8333333333333, long => 25.0833333333333, qra => 'KN22NU' }, 'Prefix'),
201 => bless( { name => 'Peru-OA', dxcc => 127, itu => 12, cq => 10, utcoff => 5.00, lat => -10, long => -76, qra => 'FI20AA' }, 'Prefix'),
202 => bless( { name => 'Lebanon-OD', dxcc => 128, itu => 39, cq => 20, utcoff => -2.00, lat => 33.8333333333333, long => 35.8333333333333, qra => 'KM73WU' }, 'Prefix'),
203 => bless( { name => 'Austria-OE', dxcc => 129, itu => 28, cq => 15, utcoff => -1.00, lat => 47.3333333333333, long => 13.3333333333333, qra => 'JN67QI' }, 'Prefix'),
- 204 => bless( { name => 'Finland-OH', dxcc => 130, itu => 18, cq => 15, utcoff => -2.00, lat => 63.7833333333333, long => 27.0833333333333, qra => 'KP33NS' }, 'Prefix'),
+ 204 => bless( { name => 'Finland-OH', dxcc => 130, itu => 18, cq => 15, utcoff => -2.00, lat => 61.3833333333333, long => 24.8166666666667, qra => 'KP21JJ' }, 'Prefix'),
205 => bless( { name => 'Aland-Islands-OH0', dxcc => 131, itu => 18, cq => 15, utcoff => -2.00, lat => 60.1333333333333, long => 20.3666666666667, qra => 'KP00ED' }, 'Prefix'),
206 => bless( { name => 'Market-Reef-OJ0', dxcc => 132, itu => 18, cq => 15, utcoff => -2.00, lat => 60, long => 19, qra => 'JP90MA' }, 'Prefix'),
207 => bless( { name => 'Czech-Republic-OK', dxcc => 133, itu => 28, cq => 15, utcoff => -1.00, lat => 50, long => 16, qra => 'JO80AA' }, 'Prefix'),
230 => bless( { name => 'Slovenia-S5', dxcc => 335, itu => 28, cq => 15, utcoff => -1.00, lat => 46, long => 14, qra => 'JN76AA' }, 'Prefix'),
231 => bless( { name => 'Seychelles-S7', dxcc => 149, itu => 53, cq => 39, utcoff => -4.00, lat => -4.66666666666667, long => 55.4666666666667, qra => 'LI75RH' }, 'Prefix'),
232 => bless( { name => 'Sao-Tome-Principe-S9', dxcc => 150, itu => 47, cq => 36, utcoff => 0.00, lat => 0.216666666666667, long => 6.56666666666667, qra => 'JJ30GF' }, 'Prefix'),
- 233 => bless( { name => 'Sweden-SM', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 61.2, long => 14.5666666666667, qra => 'JP71GE' }, 'Prefix'),
+ 233 => bless( { name => 'Sweden-SM', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 58.9, long => 15.3333333333333, qra => 'JO78QV' }, 'Prefix'),
234 => bless( { name => 'Poland-SP', dxcc => 152, itu => 28, cq => 15, utcoff => -1.00, lat => 52.2833333333333, long => 18.6666666666667, qra => 'JO92HG' }, 'Prefix'),
235 => bless( { name => 'Sudan-ST', dxcc => 153, itu => 48, cq => 34, utcoff => -3.00, lat => 14.4666666666667, long => 28.6166666666667, qra => 'KK44HL' }, 'Prefix'),
236 => bless( { name => 'Egypt-SU', dxcc => 155, itu => 38, cq => 34, utcoff => -2.00, lat => 26.2833333333333, long => 28.6, qra => 'KL46HG' }, 'Prefix'),
488 => bless( { name => 'Havana-City-CO2', dxcc => 20, itu => 11, cq => 8, utcoff => 5.00, lat => 23.1333333333333, long => -82.3833333333333, qra => 'EL83TD' }, 'Prefix'),
489 => bless( { name => 'Havana-CM', dxcc => 20, itu => 11, cq => 8, utcoff => 5.00, lat => 22.8166666666667, long => -82.35, qra => 'EL82TT' }, 'Prefix'),
490 => bless( { name => 'Havana-CO3', dxcc => 20, itu => 11, cq => 8, utcoff => 5.00, lat => 22.8166666666667, long => -82.35, qra => 'EL82TT' }, 'Prefix'),
- 491 => bless( { name => 'Islas-de-Juvenfud-CM', dxcc => 20, itu => 11, cq => 8, utcoff => 5.00, lat => 21.75, long => -82.85, qra => 'EL81NS' }, 'Prefix'),
- 492 => bless( { name => 'Islas-de-Juvenfud-CO4', dxcc => 20, itu => 11, cq => 8, utcoff => 5.00, lat => 21.75, long => -82.85, qra => 'EL81NS' }, 'Prefix'),
+ 491 => bless( { name => 'Islas-de-Juventud-CM', dxcc => 20, itu => 11, cq => 8, utcoff => 5.00, lat => 21.75, long => -82.85, qra => 'EL81NS' }, 'Prefix'),
+ 492 => bless( { name => 'Islas-de-Juventud-CO4', dxcc => 20, itu => 11, cq => 8, utcoff => 5.00, lat => 21.75, long => -82.85, qra => 'EL81NS' }, 'Prefix'),
493 => bless( { name => 'Matanzas-CM', dxcc => 20, itu => 11, cq => 8, utcoff => 5.00, lat => 23.05, long => -81.5833333333333, qra => 'EL93FB' }, 'Prefix'),
494 => bless( { name => 'Matanzas-CO5', dxcc => 20, itu => 11, cq => 8, utcoff => 5.00, lat => 23.05, long => -81.5833333333333, qra => 'EL93FB' }, 'Prefix'),
495 => bless( { name => 'Cienfuegos-Villa-Clara-Sancti-Spiritus-CM', dxcc => 20, itu => 11, cq => 8, utcoff => 5.00, lat => 22.4, long => -79.95, qra => 'FL02AJ' }, 'Prefix'),
916 => bless( { name => 'Ski-LA/S', dxcc => 123, itu => 18, cq => 14, utcoff => -1.00, lat => 59.7333333333333, long => 10.8833333333333, qra => 'JO59KR' }, 'Prefix'),
917 => bless( { name => 'Trondheim-LA', dxcc => 123, itu => 18, cq => 14, utcoff => -1.00, lat => 63.4166666666667, long => 10.3833333333333, qra => 'JP53EJ' }, 'Prefix'),
918 => bless( { name => 'Trondheim-LA/T', dxcc => 123, itu => 18, cq => 14, utcoff => -1.00, lat => 63.4166666666667, long => 10.3833333333333, qra => 'JP53EJ' }, 'Prefix'),
- 919 => bless( { name => 'Buenos-Aires-city-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -34.6, long => -58.3666666666667, qra => 'GF05TJ' }, 'Prefix'),
- 920 => bless( { name => 'Buenos-Aires-city-LU-A', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -34.6, long => -58.3666666666667, qra => 'GF05TJ' }, 'Prefix'),
- 921 => bless( { name => 'Buenos-Aires-province-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -38.75, long => -62.25, qra => 'FF81VG' }, 'Prefix'),
- 922 => bless( { name => 'Buenos-Aires-province-LU-D', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -38.75, long => -62.25, qra => 'FF81VG' }, 'Prefix'),
- 923 => bless( { name => 'Santa-Fe-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -31.5666666666667, long => -60.6666666666667, qra => 'FF98QK' }, 'Prefix'),
- 924 => bless( { name => 'Santa-Fe-LU-F', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -31.5666666666667, long => -60.6666666666667, qra => 'FF98QK' }, 'Prefix'),
- 925 => bless( { name => 'Chaco-and-Formosa-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -27.4666666666667, long => -59, qra => 'GG02MM' }, 'Prefix'),
- 926 => bless( { name => 'Chaco-and-Formosa-LU-G', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -27.4666666666667, long => -59, qra => 'GG02MM' }, 'Prefix'),
- 927 => bless( { name => 'Cordoba-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -31.3166666666667, long => -64.1666666666667, qra => 'FF78VQ' }, 'Prefix'),
- 928 => bless( { name => 'Cordoba-LU-H', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -31.3166666666667, long => -64.1666666666667, qra => 'FF78VQ' }, 'Prefix'),
- 929 => bless( { name => 'Misiones-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -27.45, long => -55.8166666666667, qra => 'GG22CN' }, 'Prefix'),
- 930 => bless( { name => 'Misiones-LU-I', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -27.45, long => -55.8166666666667, qra => 'GG22CN' }, 'Prefix'),
- 931 => bless( { name => 'Entre-Rios-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -31.7333333333333, long => -60.5333333333333, qra => 'FF98RG' }, 'Prefix'),
- 932 => bless( { name => 'Entre-Rios-LU-J', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -31.7333333333333, long => -60.5333333333333, qra => 'FF98RG' }, 'Prefix'),
- 933 => bless( { name => 'Tucuman-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -26.7666666666667, long => -65.25, qra => 'FG73JF' }, 'Prefix'),
- 934 => bless( { name => 'Tucuman-LU-K', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -26.7666666666667, long => -65.25, qra => 'FG73JF' }, 'Prefix'),
- 935 => bless( { name => 'Corrientes-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -27.5, long => -58.8, qra => 'GG02OM' }, 'Prefix'),
- 936 => bless( { name => 'Corrientes-LU-L', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -27.5, long => -58.8, qra => 'GG02OM' }, 'Prefix'),
- 937 => bless( { name => 'Mendoza-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -34.6666666666667, long => -68.2, qra => 'FF55VI' }, 'Prefix'),
- 938 => bless( { name => 'Mendoza-LU-M', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -34.6666666666667, long => -68.2, qra => 'FF55VI' }, 'Prefix'),
- 939 => bless( { name => 'Santiago-del-Estero-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -27.8, long => -64.2, qra => 'FG72VE' }, 'Prefix'),
- 940 => bless( { name => 'Santiago-del-Estero-LU-N', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -27.8, long => -64.2, qra => 'FG72VE' }, 'Prefix'),
- 941 => bless( { name => 'Salta-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -24.7666666666667, long => -65.4666666666667, qra => 'FG75GF' }, 'Prefix'),
- 942 => bless( { name => 'Salta-LU-O', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -24.7666666666667, long => -65.4666666666667, qra => 'FG75GF' }, 'Prefix'),
- 943 => bless( { name => 'San-Juan-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -31.55, long => -68.5166666666667, qra => 'FF58RK' }, 'Prefix'),
- 944 => bless( { name => 'San-Juan-LU-P', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -31.55, long => -68.5166666666667, qra => 'FF58RK' }, 'Prefix'),
- 945 => bless( { name => 'San-Luis-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -33, long => -66, qra => 'FF77AA' }, 'Prefix'),
- 946 => bless( { name => 'San-Luis-LU-Q', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -33, long => -66, qra => 'FF77AA' }, 'Prefix'),
- 947 => bless( { name => 'Catamarca-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -28.4666666666667, long => -65.7666666666667, qra => 'FG71CM' }, 'Prefix'),
- 948 => bless( { name => 'Catamarca-LU-R', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -28.4666666666667, long => -65.7666666666667, qra => 'FG71CM' }, 'Prefix'),
- 949 => bless( { name => 'La-Rioja-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -29.25, long => -67, qra => 'FG60MS' }, 'Prefix'),
- 950 => bless( { name => 'La-Rioja-LU-S', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -29.25, long => -67, qra => 'FG60MS' }, 'Prefix'),
- 951 => bless( { name => 'Jujuy-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -24.1666666666667, long => -65.8, qra => 'FG75CT' }, 'Prefix'),
- 952 => bless( { name => 'Jujuy-LU-T', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -24.1666666666667, long => -65.8, qra => 'FG75CT' }, 'Prefix'),
- 953 => bless( { name => 'La-Pampas-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -38, long => -66, qra => 'FF72AA' }, 'Prefix'),
- 954 => bless( { name => 'La-Pampas-LU-U', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -38, long => -66, qra => 'FF72AA' }, 'Prefix'),
- 955 => bless( { name => 'Rio-Negro-LU', dxcc => 124, itu => 16, cq => 13, utcoff => 3.00, lat => -40, long => -66, qra => 'FF70AA' }, 'Prefix'),
- 956 => bless( { name => 'Rio-Negro-LU-V', dxcc => 124, itu => 16, cq => 13, utcoff => 3.00, lat => -40, long => -66, qra => 'FF70AA' }, 'Prefix'),
- 957 => bless( { name => 'Chubut-LU', dxcc => 124, itu => 16, cq => 13, utcoff => 3.00, lat => -45.8666666666667, long => -67.5, qra => 'FE64GD' }, 'Prefix'),
- 958 => bless( { name => 'Chubut-LU-W', dxcc => 124, itu => 16, cq => 13, utcoff => 3.00, lat => -45.8666666666667, long => -67.5, qra => 'FE64GD' }, 'Prefix'),
- 959 => bless( { name => 'Santa-Cruz-Tierra-del-Fuego-LU', dxcc => 124, itu => 16, cq => 13, utcoff => 3.00, lat => -45, long => -69, qra => 'FE55MA' }, 'Prefix'),
- 960 => bless( { name => 'Santa-Cruz-Tierra-del-Fuego-LU-X', dxcc => 124, itu => 16, cq => 13, utcoff => 3.00, lat => -45, long => -69, qra => 'FE55MA' }, 'Prefix'),
- 961 => bless( { name => 'Neuquen-LU', dxcc => 124, itu => 16, cq => 13, utcoff => 3.00, lat => -38.55, long => -68.05, qra => 'FF51XK' }, 'Prefix'),
- 962 => bless( { name => 'Neuquen-LU-Y', dxcc => 124, itu => 16, cq => 13, utcoff => 3.00, lat => -38.55, long => -68.05, qra => 'FF51XK' }, 'Prefix'),
+ 919 => bless( { name => 'Buenos-Aires-city-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -34.6, long => -58.3833333333333, qra => 'GF05TJ' }, 'Prefix'),
+ 920 => bless( { name => 'Buenos-Aires-city-LU-A', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -34.6, long => -58.3833333333333, qra => 'GF05TJ' }, 'Prefix'),
+ 921 => bless( { name => 'Buenos-Aires-province-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -33.7, long => -61, qra => 'FF96MH' }, 'Prefix'),
+ 922 => bless( { name => 'Buenos-Aires-province-LU-D', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -33.7, long => -61, qra => 'FF96MH' }, 'Prefix'),
+ 923 => bless( { name => 'Santa-Fe-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -33.7166666666667, long => -62.2333333333333, qra => 'FF86VG' }, 'Prefix'),
+ 924 => bless( { name => 'Santa-Fe-LU-F', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -33.7166666666667, long => -62.2333333333333, qra => 'FF86VG' }, 'Prefix'),
+ 925 => bless( { name => 'Chaco-and-Formosa-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -26.95, long => -58.7166666666667, qra => 'GG03PB' }, 'Prefix'),
+ 926 => bless( { name => 'Chaco-and-Formosa-LU-G', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -26.95, long => -58.7166666666667, qra => 'GG03PB' }, 'Prefix'),
+ 927 => bless( { name => 'Cordoba-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -31.4166666666667, long => -64.1833333333333, qra => 'FF78VN' }, 'Prefix'),
+ 928 => bless( { name => 'Cordoba-LU-H', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -31.4166666666667, long => -64.1833333333333, qra => 'FF78VN' }, 'Prefix'),
+ 929 => bless( { name => 'Misiones-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -26.9166666666667, long => -54.5166666666667, qra => 'GG23RB' }, 'Prefix'),
+ 930 => bless( { name => 'Misiones-LU-I', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -26.9166666666667, long => -54.5166666666667, qra => 'GG23RB' }, 'Prefix'),
+ 931 => bless( { name => 'Entre-Rios-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -32.05, long => -60.2833333333333, qra => 'FF97UW' }, 'Prefix'),
+ 932 => bless( { name => 'Entre-Rios-LU-J', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -32.05, long => -60.2833333333333, qra => 'FF97UW' }, 'Prefix'),
+ 933 => bless( { name => 'Tucuman-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -26.9333333333333, long => -65.3333333333333, qra => 'FG73IB' }, 'Prefix'),
+ 934 => bless( { name => 'Tucuman-LU-K', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -26.9333333333333, long => -65.3333333333333, qra => 'FG73IB' }, 'Prefix'),
+ 935 => bless( { name => 'Corrientes-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -28.6666666666667, long => -57.6333333333333, qra => 'GG11EH' }, 'Prefix'),
+ 936 => bless( { name => 'Corrientes-LU-L', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -28.6666666666667, long => -57.6333333333333, qra => 'GG11EH' }, 'Prefix'),
+ 937 => bless( { name => 'Mendoza-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -32.8833333333333, long => -68.85, qra => 'FF57NC' }, 'Prefix'),
+ 938 => bless( { name => 'Mendoza-LU-M', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -32.8833333333333, long => -68.85, qra => 'FF57NC' }, 'Prefix'),
+ 939 => bless( { name => 'Santiago-del-Estero-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -27.7833333333333, long => -64.2666666666667, qra => 'FG72UF' }, 'Prefix'),
+ 940 => bless( { name => 'Santiago-del-Estero-LU-N', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -27.7833333333333, long => -64.2666666666667, qra => 'FG72UF' }, 'Prefix'),
+ 941 => bless( { name => 'Salta-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -24.7833333333333, long => -65.4166666666667, qra => 'FG75GF' }, 'Prefix'),
+ 942 => bless( { name => 'Salta-LU-O', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -24.7833333333333, long => -65.4166666666667, qra => 'FG75GF' }, 'Prefix'),
+ 943 => bless( { name => 'San-Juan-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -30.8666666666667, long => -68.9833333333333, qra => 'FF59MD' }, 'Prefix'),
+ 944 => bless( { name => 'San-Juan-LU-P', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -30.8666666666667, long => -68.9833333333333, qra => 'FF59MD' }, 'Prefix'),
+ 945 => bless( { name => 'San-Luis-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -33.3, long => -66.35, qra => 'FF66TQ' }, 'Prefix'),
+ 946 => bless( { name => 'San-Luis-LU-Q', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -33.3, long => -66.35, qra => 'FF66TQ' }, 'Prefix'),
+ 947 => bless( { name => 'Catamarca-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -28.4333333333333, long => -65.7833333333333, qra => 'FG71CN' }, 'Prefix'),
+ 948 => bless( { name => 'Catamarca-LU-R', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -28.4333333333333, long => -65.7833333333333, qra => 'FG71CN' }, 'Prefix'),
+ 949 => bless( { name => 'La-Rioja-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -29.4333333333333, long => -66.85, qra => 'FG60NN' }, 'Prefix'),
+ 950 => bless( { name => 'La-Rioja-LU-S', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -29.4333333333333, long => -66.85, qra => 'FG60NN' }, 'Prefix'),
+ 951 => bless( { name => 'Jujuy-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -23.75, long => -65.5, qra => 'FG76GG' }, 'Prefix'),
+ 952 => bless( { name => 'Jujuy-LU-T', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -23.75, long => -65.5, qra => 'FG76GG' }, 'Prefix'),
+ 953 => bless( { name => 'La-Pampa-LU', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -36.6166666666667, long => -64.2833333333333, qra => 'FF73UJ' }, 'Prefix'),
+ 954 => bless( { name => 'La-Pampa-LU-U', dxcc => 124, itu => 14, cq => 13, utcoff => 3.00, lat => -36.6166666666667, long => -64.2833333333333, qra => 'FF73UJ' }, 'Prefix'),
+ 955 => bless( { name => 'Rio-Negro-LU', dxcc => 124, itu => 16, cq => 13, utcoff => 3.00, lat => -40.8, long => -63, qra => 'FE89ME' }, 'Prefix'),
+ 956 => bless( { name => 'Rio-Negro-LU-V', dxcc => 124, itu => 16, cq => 13, utcoff => 3.00, lat => -40.8, long => -63, qra => 'FE89ME' }, 'Prefix'),
+ 957 => bless( { name => 'Chubut-LU', dxcc => 124, itu => 16, cq => 13, utcoff => 3.00, lat => -43.3, long => -65.1, qra => 'FE76KQ' }, 'Prefix'),
+ 958 => bless( { name => 'Chubut-LU-W', dxcc => 124, itu => 16, cq => 13, utcoff => 3.00, lat => -43.3, long => -65.1, qra => 'FE76KQ' }, 'Prefix'),
+ 959 => bless( { name => 'Santa-Cruz-Tierra-del-Fuego-LU', dxcc => 124, itu => 16, cq => 13, utcoff => 3.00, lat => -50.4333333333333, long => -69.25, qra => 'FD59JN' }, 'Prefix'),
+ 960 => bless( { name => 'Santa-Cruz-Tierra-del-Fuego-LU-X', dxcc => 124, itu => 16, cq => 13, utcoff => 3.00, lat => -50.4333333333333, long => -69.25, qra => 'FD59JN' }, 'Prefix'),
+ 961 => bless( { name => 'Neuquen-LU', dxcc => 124, itu => 16, cq => 13, utcoff => 3.00, lat => -38.95, long => -68.0666666666667, qra => 'FF51XB' }, 'Prefix'),
+ 962 => bless( { name => 'Neuquen-LU-Y', dxcc => 124, itu => 16, cq => 13, utcoff => 3.00, lat => -38.95, long => -68.0666666666667, qra => 'FF51XB' }, 'Prefix'),
963 => bless( { name => 'Lambayeque-Plura-Tumbes-OA', dxcc => 127, itu => 12, cq => 10, utcoff => 5.00, lat => -6.51666666666667, long => -79.85, qra => 'FI03BL' }, 'Prefix'),
964 => bless( { name => 'Lambayeque-Plura-Tumbes-OA1', dxcc => 127, itu => 12, cq => 10, utcoff => 5.00, lat => -6.51666666666667, long => -79.85, qra => 'FI03BL' }, 'Prefix'),
965 => bless( { name => 'Cajamarca-La-Libertad-OA', dxcc => 127, itu => 12, cq => 10, utcoff => 5.00, lat => -7.15, long => -78.5166666666667, qra => 'FI02RU' }, 'Prefix'),
1000 => bless( { name => 'Vorarlberg-OE9', dxcc => 129, itu => 28, cq => 15, utcoff => -1.00, lat => 47.25, long => 9.9, qra => 'JN47WG' }, 'Prefix'),
1001 => bless( { name => 'Turku-Pori-OH', dxcc => 130, itu => 18, cq => 15, utcoff => -2.00, lat => 60.45, long => 22.25, qra => 'KP10DK' }, 'Prefix'),
1002 => bless( { name => 'Turku-Pori-OH1', dxcc => 130, itu => 18, cq => 15, utcoff => -2.00, lat => 60.45, long => 22.25, qra => 'KP10DK' }, 'Prefix'),
- 1003 => bless( { name => 'Uusimaa-OH', dxcc => 130, itu => 18, cq => 15, utcoff => -2.00, lat => 60.2333333333333, long => 24.7833333333333, qra => 'KP20JF' }, 'Prefix'),
- 1004 => bless( { name => 'Uusimaa-OH2', dxcc => 130, itu => 18, cq => 15, utcoff => -2.00, lat => 60.2333333333333, long => 24.7833333333333, qra => 'KP20JF' }, 'Prefix'),
- 1005 => bless( { name => 'Hame-OH', dxcc => 130, itu => 18, cq => 15, utcoff => -2.00, lat => 61.5333333333333, long => 23.75, qra => 'KP11VM' }, 'Prefix'),
- 1006 => bless( { name => 'Hame-OH3', dxcc => 130, itu => 18, cq => 15, utcoff => -2.00, lat => 61.5333333333333, long => 23.75, qra => 'KP11VM' }, 'Prefix'),
+ 1003 => bless( { name => 'Uudenmaa-OH', dxcc => 130, itu => 18, cq => 15, utcoff => -2.00, lat => 60.2333333333333, long => 24.7833333333333, qra => 'KP20JF' }, 'Prefix'),
+ 1004 => bless( { name => 'Uudenmaa-OH2', dxcc => 130, itu => 18, cq => 15, utcoff => -2.00, lat => 60.2333333333333, long => 24.7833333333333, qra => 'KP20JF' }, 'Prefix'),
+ 1005 => bless( { name => 'Haeme-OH', dxcc => 130, itu => 18, cq => 15, utcoff => -2.00, lat => 61.5333333333333, long => 23.75, qra => 'KP11VM' }, 'Prefix'),
+ 1006 => bless( { name => 'Haeme-OH3', dxcc => 130, itu => 18, cq => 15, utcoff => -2.00, lat => 61.5333333333333, long => 23.75, qra => 'KP11VM' }, 'Prefix'),
1007 => bless( { name => 'Mikkeli-OH', dxcc => 130, itu => 18, cq => 15, utcoff => -2.00, lat => 62.5, long => 28, qra => 'KP42AM' }, 'Prefix'),
1008 => bless( { name => 'Mikkeli-OH4', dxcc => 130, itu => 18, cq => 15, utcoff => -2.00, lat => 62.5, long => 28, qra => 'KP42AM' }, 'Prefix'),
- 1009 => bless( { name => 'Kymenlaakso-OH', dxcc => 130, itu => 18, cq => 15, utcoff => -2.00, lat => 61, long => 28.2, qra => 'KP41CA' }, 'Prefix'),
- 1010 => bless( { name => 'Kymenlaakso-OH5', dxcc => 130, itu => 18, cq => 15, utcoff => -2.00, lat => 61, long => 28.2, qra => 'KP41CA' }, 'Prefix'),
+ 1009 => bless( { name => 'Kymi-OH', dxcc => 130, itu => 18, cq => 15, utcoff => -2.00, lat => 61, long => 28.2, qra => 'KP41CA' }, 'Prefix'),
+ 1010 => bless( { name => 'Kymi-OH5', dxcc => 130, itu => 18, cq => 15, utcoff => -2.00, lat => 61, long => 28.2, qra => 'KP41CA' }, 'Prefix'),
1011 => bless( { name => 'Keski-Suomi-Vaasa-OH', dxcc => 130, itu => 18, cq => 15, utcoff => -2.00, lat => 63, long => 22, qra => 'KP13AA' }, 'Prefix'),
1012 => bless( { name => 'Keski-Suomi-Vaasa-OH6', dxcc => 130, itu => 18, cq => 15, utcoff => -2.00, lat => 63, long => 22, qra => 'KP13AA' }, 'Prefix'),
1013 => bless( { name => 'Kuopio-Pohjois-Karjala-OH', dxcc => 130, itu => 18, cq => 15, utcoff => -2.00, lat => 62.8, long => 27.5, qra => 'KP32ST' }, 'Prefix'),
1118 => bless( { name => 'Principe-S9/P', dxcc => 150, itu => 47, cq => 36, utcoff => 0.00, lat => 1.61666666666667, long => 7.4, qra => 'JJ31QO' }, 'Prefix'),
1119 => bless( { name => 'Sao-Tome-S9', dxcc => 150, itu => 47, cq => 36, utcoff => 0.00, lat => 0.233333333333333, long => 6.6, qra => 'JJ30HF' }, 'Prefix'),
1120 => bless( { name => 'Sao-Tome-S9/S', dxcc => 150, itu => 47, cq => 36, utcoff => 0.00, lat => 0.233333333333333, long => 6.6, qra => 'JJ30HF' }, 'Prefix'),
- 1121 => bless( { name => 'Stockholm-SM', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 59.4333333333333, long => 17.95, qra => 'JO89XK' }, 'Prefix'),
- 1122 => bless( { name => 'Stockholm-SM0', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 59.4333333333333, long => 17.95, qra => 'JO89XK' }, 'Prefix'),
- 1123 => bless( { name => 'Gotland-SM', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 57.5, long => 18.4, qra => 'JO97EM' }, 'Prefix'),
- 1124 => bless( { name => 'Gotland-SM1', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 57.5, long => 18.4, qra => 'JO97EM' }, 'Prefix'),
- 1125 => bless( { name => 'Norrbotten-Vasterbotten-SM', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 65, long => 20, qra => 'KP05AA' }, 'Prefix'),
- 1126 => bless( { name => 'Norrbotten-Vasterbotten-SM2', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 65, long => 20, qra => 'KP05AA' }, 'Prefix'),
- 1127 => bless( { name => 'Gavleborg-Jarntland-Vasternorrland-SM', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 62, long => 19, qra => 'JP92MA' }, 'Prefix'),
- 1128 => bless( { name => 'Gavleborg-Jarntland-Vasternorrland-SM3', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 62, long => 19, qra => 'JP92MA' }, 'Prefix'),
- 1129 => bless( { name => 'Kopparberg-Orebo-Varmland-SM', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 59.3, long => 15.0833333333333, qra => 'JO79NH' }, 'Prefix'),
- 1130 => bless( { name => 'Kopparberg-Orebo-Varmland-SM4', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 59.3, long => 15.0833333333333, qra => 'JO79NH' }, 'Prefix'),
- 1131 => bless( { name => 'Ostergottland-Sodermanland-Uppsala-SM', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 58.4166666666667, long => 15.5833333333333, qra => 'JO78TJ' }, 'Prefix'),
- 1132 => bless( { name => 'Ostergottland-Sodermanland-Uppsala-SM5', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 58.4166666666667, long => 15.5833333333333, qra => 'JO78TJ' }, 'Prefix'),
- 1133 => bless( { name => 'Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 57.75, long => 12, qra => 'JO67AS' }, 'Prefix'),
- 1134 => bless( { name => 'Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM6', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 57.75, long => 12, qra => 'JO67AS' }, 'Prefix'),
- 1135 => bless( { name => 'Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 55.5833333333333, long => 13.1, qra => 'JO65NO' }, 'Prefix'),
- 1136 => bless( { name => 'Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM7', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 55.5833333333333, long => 13.1, qra => 'JO65NO' }, 'Prefix'),
+ 1121 => bless( { name => 'Stockholm-SM', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 59.3333333333333, long => 18.1666666666667, qra => 'JO99BI' }, 'Prefix'),
+ 1122 => bless( { name => 'Stockholm-SM0', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 59.3333333333333, long => 18.1666666666667, qra => 'JO99BI' }, 'Prefix'),
+ 1123 => bless( { name => 'Gotland-SM', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 57.5, long => 18.5166666666667, qra => 'JO97GM' }, 'Prefix'),
+ 1124 => bless( { name => 'Gotland-SM1', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 57.5, long => 18.5166666666667, qra => 'JO97GM' }, 'Prefix'),
+ 1125 => bless( { name => 'Norrbotten-Vasterbotten-SM', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 65.6833333333333, long => 18.4, qra => 'JP95EQ' }, 'Prefix'),
+ 1126 => bless( { name => 'Norrbotten-Vasterbotten-SM2', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 65.6833333333333, long => 18.4, qra => 'JP95EQ' }, 'Prefix'),
+ 1127 => bless( { name => 'Gavleborg-Jamtland-Vasternorrland-SM', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 62, long => 16.2833333333333, qra => 'JP82DA' }, 'Prefix'),
+ 1128 => bless( { name => 'Gavleborg-Jamtland-Vasternorrland-SM3', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 62, long => 16.2833333333333, qra => 'JP82DA' }, 'Prefix'),
+ 1129 => bless( { name => 'Kopparberg-Orebro-Varmland-SM', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 59.7833333333333, long => 14.7166666666667, qra => 'JO79IS' }, 'Prefix'),
+ 1130 => bless( { name => 'Kopparberg-Orebro-Varmland-SM4', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 59.7833333333333, long => 14.7166666666667, qra => 'JO79IS' }, 'Prefix'),
+ 1131 => bless( { name => 'Ostergotland-Sodermanland-Uppsala-SM', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 59.15, long => 16.4666666666667, qra => 'JO89FD' }, 'Prefix'),
+ 1132 => bless( { name => 'Ostergotland-Sodermanland-Uppsala-SM5', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 59.15, long => 16.4666666666667, qra => 'JO89FD' }, 'Prefix'),
+ 1133 => bless( { name => 'Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 57.9666666666667, long => 11.9, qra => 'JO57WX' }, 'Prefix'),
+ 1134 => bless( { name => 'Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM6', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 57.9666666666667, long => 11.9, qra => 'JO57WX' }, 'Prefix'),
+ 1135 => bless( { name => 'Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 56.4333333333333, long => 14, qra => 'JO76AK' }, 'Prefix'),
+ 1136 => bless( { name => 'Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM7', dxcc => 151, itu => 18, cq => 14, utcoff => -1.00, lat => 56.4333333333333, long => 14, qra => 'JO76AK' }, 'Prefix'),
1137 => bless( { name => 'Zachodniopomorskie-SP', dxcc => 152, itu => 28, cq => 15, utcoff => -1.00, lat => 53.4166666666667, long => 14.5333333333333, qra => 'JO73GJ' }, 'Prefix'),
1138 => bless( { name => 'Zachodniopomorskie-SP1', dxcc => 152, itu => 28, cq => 15, utcoff => -1.00, lat => 53.4166666666667, long => 14.5333333333333, qra => 'JO73GJ' }, 'Prefix'),
1139 => bless( { name => 'Pomorskie-Kujawsko-Pomorskie-SP', dxcc => 152, itu => 28, cq => 15, utcoff => -1.00, lat => 54.45, long => 17.3333333333333, qra => 'JO84QK' }, 'Prefix'),
1515 => bless( { name => 'Alberta-VE6', dxcc => 197, itu => 2, cq => 4, utcoff => 7.00, lat => 52.1166666666667, long => -113.833333333333, qra => 'DO32CC' }, 'Prefix'),
1516 => bless( { name => 'British-Columbia-VE', dxcc => 197, itu => 2, cq => 3, utcoff => 7.00, lat => 49.5333333333333, long => -122.666666666667, qra => 'CN89PM' }, 'Prefix'),
1517 => bless( { name => 'British-Columbia-VE7', dxcc => 197, itu => 2, cq => 3, utcoff => 7.00, lat => 49.5333333333333, long => -122.666666666667, qra => 'CN89PM' }, 'Prefix'),
- 1518 => bless( { name => 'Northwest-Territories-VE', dxcc => 197, itu => 3, cq => 1, utcoff => 7.00, lat => 62.45, long => -147.766666666667, qra => 'BP62CK' }, 'Prefix'),
- 1519 => bless( { name => 'Northwest-Territories-VE8', dxcc => 197, itu => 3, cq => 1, utcoff => 7.00, lat => 62.45, long => -147.766666666667, qra => 'BP62CK' }, 'Prefix'),
+ 1518 => bless( { name => 'Northwest-Territories-VE', dxcc => 197, itu => 3, cq => 1, utcoff => 7.00, lat => 62.45, long => -114.4, qra => 'DP22TK' }, 'Prefix'),
+ 1519 => bless( { name => 'Northwest-Territories-VE8', dxcc => 197, itu => 3, cq => 1, utcoff => 7.00, lat => 62.45, long => -114.4, qra => 'DP22TK' }, 'Prefix'),
1520 => bless( { name => 'New-Brunswick-VE', dxcc => 197, itu => 9, cq => 5, utcoff => 4.00, lat => 45.75, long => -65.8, qra => 'FN75CS' }, 'Prefix'),
1521 => bless( { name => 'New-Brunswick-VE9', dxcc => 197, itu => 9, cq => 5, utcoff => 4.00, lat => 45.75, long => -65.8, qra => 'FN75CS' }, 'Prefix'),
1522 => bless( { name => 'Newfoundland-VE', dxcc => 197, itu => 9, cq => 5, utcoff => 3.50, lat => 48.4833333333333, long => -55.4666666666667, qra => 'GN28GL' }, 'Prefix'),
! $Id$
!
-! This file was created by Jim Reisert AD1C on 25 Jun 2020
+! This file was created by Jim Reisert AD1C on 25 Nov 2021
! See: https://www.country-files.com/dx-cluster/wpxloc/
!
! Highest DXCC number is 359 ("VERSION" entity)
3D2 Conway-Reef-3D2/C 321 56 32 -12.00 22 0 0 S 175 0 0 E
3D2/R Rotuma-Island-3D2/R 324 56 32 -12.00 12 29 0 S 177 5 0 E @
3D2 Rotuma-Island-3D2/R 324 56 32 -12.00 12 29 0 S 177 5 0 E
-3DA Kingdom-of-eSwatini-3DA 278 57 38 -2.00 26 39 0 S 31 29 0 E @
+3DA Kingdom-of-Eswatini-3DA 278 57 38 -2.00 26 39 0 S 31 29 0 E @
3V Tunisia-3V 279 37 33 -1.00 35 24 0 N 9 19 0 E @
TS Tunisia-3V 279 37 33 -1.00 35 24 0 N 9 19 0 E
3W Vietnam-3W 231 49 26 -7.00 15 48 0 N 107 54 0 E @
CO3 Havana-CM 20 11 8 5.00 22 49 0 N 82 21 0 W
CM Havana-CO3 20 11 8 5.00 22 49 0 N 82 21 0 W
CL3,CM3,T43 Havana-CM 20 11 8 5.00 22 49 0 N 82 21 0 W
-CO4 Islas-de-Juvenfud-CM 20 11 8 5.00 21 45 0 N 82 51 0 W
-CM Islas-de-Juvenfud-CO4 20 11 8 5.00 21 45 0 N 82 51 0 W
-CL4,CM4,T44 Islas-de-Juvenfud-CM 20 11 8 5.00 21 45 0 N 82 51 0 W
+CO4 Islas-de-Juventud-CM 20 11 8 5.00 21 45 0 N 82 51 0 W
+CM Islas-de-Juventud-CO4 20 11 8 5.00 21 45 0 N 82 51 0 W
+CL4,CM4,T44 Islas-de-Juventud-CM 20 11 8 5.00 21 45 0 N 82 51 0 W
CO5 Matanzas-CM 20 11 8 5.00 23 3 0 N 81 35 0 W
CM Matanzas-CO5 20 11 8 5.00 23 3 0 N 81 35 0 W
CL5,CM5,T45 Matanzas-CM 20 11 8 5.00 23 3 0 N 81 35 0 W
E5 South-Cook-Islands-E5/S 257 63 32 10.00 21 54 0 S 157 56 0 W
E6 Niue-E6 258 62 32 11.00 19 2 0 S 169 51 0 W @
E7 Bosnia-Herzegovina-E7 336 28 15 -1.00 44 19 0 N 17 34 0 E @
-EA Spain-EA 34 37 14 -1.00 40 22 0 N 4 53 0 W @
-AM,AN,AO,EB,EC,ED,EE,EF,EG,EH Spain-EA 34 37 14 -1.00 40 22 0 N 4 53 0 W
+EA Spain-EA 34 37 14 -1.00 40 19 0 N 3 26 0 W @
+AM,AN,AO,EB,EC,ED,EE,EF,EG,EH Spain-EA 34 37 14 -1.00 40 19 0 N 3 26 0 W
EA1 AV-BU-C-LE-LO-LU-O-OU-P-PO-S-SA-SG-SO-VA-ZA-EA 34 37 14 -1.00 42 34 0 N 6 10 0 W
EA AV-BU-C-LE-LO-LU-O-OU-P-PO-S-SA-SG-SO-VA-ZA-EA1 34 37 14 -1.00 42 34 0 N 6 10 0 W
AM1 AV-BU-C-LE-LO-LU-O-OU-P-PO-S-SA-SG-SO-VA-ZA-EA 34 37 14 -1.00 42 34 0 N 6 10 0 W
FW Wallis-Island-FW/W 59 62 32 -12.00 13 16 0 S 176 12 0 W
FY French-Guiana-FY 60 12 9 3.00 4 0 0 N 53 0 0 W @
G England-G 61 27 14 0.00 52 46 0 N 1 28 0 W @
-2E,M,NHS England-G 61 27 14 0.00 52 46 0 N 1 28 0 W
+2E,2ZE,M England-G 61 27 14 0.00 52 46 0 N 1 28 0 W
GD Isle-of-Man-GD 62 27 14 0.00 54 12 0 N 4 32 0 W @
2D,GT,MD,MT Isle-of-Man-GD 62 27 14 0.00 54 12 0 N 4 32 0 W
GI Northern-Ireland-GI 63 27 14 0.00 54 44 0 N 6 41 0 W @
JM9,JN9,JO9,JP9,JQ9,JR9,JS9 Hokuriku-JA 95 45 25 -9.00 36 4 0 N 136 13 0 E
JS6 Okinawa-JA 95 45 25 -9.00 26 13 0 N 127 41 0 E
JA Okinawa-JS6 95 45 25 -9.00 26 13 0 N 127 41 0 E
-JR6R,JR6S,JR6T,JR6U,JR6V,JR6W,JR6X,JR6Y Okinawa-JA 95 45 25 -9.00 26 13 0 N 127 41 0 E
-JR6Z Okinawa-JA 95 45 25 -9.00 26 13 0 N 127 41 0 E
+AGJ60,HTR60,IEJ60,ISG60,JR6R,JR6S,JR6T Okinawa-JA 95 45 25 -9.00 26 13 0 N 127 41 0 E
+JR6U,JR6V,JR6W,JR6X,JR6Y,JR6Z,KJP60,KTD60 Okinawa-JA 95 45 25 -9.00 26 13 0 N 127 41 0 E
+MMD60,MMY60,OGN60,OKA60,SHI60,TRA60,UEO60 Okinawa-JA 95 45 25 -9.00 26 13 0 N 127 41 0 E
JD/O Ogasawara-JD/O 97 45 27 -9.00 27 3 0 N 142 12 0 E @
JD1 Ogasawara-JD/O 97 45 27 -9.00 27 3 0 N 142 12 0 E
JT Mongolia-JT 98 32 23 -7.00 46 46 0 N 102 10 0 E @
LA Ski-LA/S 123 18 14 -1.00 59 44 0 N 10 53 0 E
LA/T Trondheim-LA 123 18 14 -1.00 63 25 0 N 10 23 0 E
LA Trondheim-LA/T 123 18 14 -1.00 63 25 0 N 10 23 0 E
-LU Argentina-LU 124 14 13 3.00 34 48 0 S 65 55 0 W @
-AY,AZ,L1,L2,L3,L4,L5,L6,L7,L8,L9,LO,LP Argentina-LU 124 14 13 3.00 34 48 0 S 65 55 0 W
-LQ,LR,LS,LT,LV,LW Argentina-LU 124 14 13 3.00 34 48 0 S 65 55 0 W
-LU-A Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LU Buenos-Aires-city-LU-A 124 14 13 3.00 34 36 0 S 58 22 0 W
-AY0A,AY0B,AY0C,AY1A,AY1B,AY1C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-AY2A,AY2B,AY2C,AY3A,AY3B,AY3C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-AY4A,AY4B,AY4C,AY5A,AY5B,AY5C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-AY6A,AY6B,AY6C,AY7A,AY7B,AY7C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-AY8A,AY8B,AY8C,AY9A,AY9B,AY9C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-AZ0A,AZ0B,AZ0C,AZ1A,AZ1B,AZ1C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-AZ2A,AZ2B,AZ2C,AZ3A,AZ3B,AZ3C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-AZ4A,AZ4B,AZ4C,AZ5A,AZ5B,AZ5C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-AZ6A,AZ6B,AZ6C,AZ7A,AZ7B,AZ7C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-AZ8A,AZ8B,AZ8C,AZ9A,AZ9B,AZ9C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L20A,L20B,L20C,L21A,L21B,L21C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L22A,L22B,L22C,L23A,L23B,L23C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L24A,L24B,L24C,L25A,L25B,L25C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L26A,L26B,L26C,L27A,L27B,L27C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L28A,L28B,L28C,L29A,L29B,L29C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L30A,L30B,L30C,L31A,L31B,L31C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L32A,L32B,L32C,L33A,L33B,L33C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L34A,L34B,L34C,L35A,L35B,L35C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L36A,L36B,L36C,L37A,L37B,L37C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L38A,L38B,L38C,L39A,L39B,L39C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L40A,L40B,L40C,L41A,L41B,L41C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L42A,L42B,L42C,L43A,L43B,L43C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L44A,L44B,L44C,L45A,L45B,L45C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L46A,L46B,L46C,L47A,L47B,L47C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L48A,L48B,L48C,L49A,L49B,L49C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L50A,L50B,L50C,L51A,L51B,L51C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L52A,L52B,L52C,L53A,L53B,L53C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L54A,L54B,L54C,L55A,L55B,L55C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L56A,L56B,L56C,L57A,L57B,L57C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L58A,L58B,L58C,L59A,L59B,L59C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L60A,L60B,L60C,L61A,L61B,L61C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L62A,L62B,L62C,L63A,L63B,L63C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L64A,L64B,L64C,L65A,L65B,L65C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L66A,L66B,L66C,L67A,L67B,L67C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L68A,L68B,L68C,L69A,L69B,L69C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L70A,L70B,L70C,L71A,L71B,L71C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L72A,L72B,L72C,L73A,L73B,L73C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L74A,L74B,L74C,L75A,L75B,L75C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L76A,L76B,L76C,L77A,L77B,L77C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L78A,L78B,L78C,L79A,L79B,L79C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L80A,L80B,L80C,L81A,L81B,L81C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L82A,L82B,L82C,L83A,L83B,L83C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L84A,L84B,L84C,L85A,L85B,L85C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L86A,L86B,L86C,L87A,L87B,L87C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L88A,L88B,L88C,L89A,L89B,L89C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L90A,L90B,L90C,L91A,L91B,L91C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L92A,L92B,L92C,L93A,L93B,L93C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L94A,L94B,L94C,L95A,L95B,L95C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L96A,L96B,L96C,L97A,L97B,L97C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-L98A,L98B,L98C,L99A,L99B,L99C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LO0A,LO0B,LO0C,LO1A,LO1B,LO1C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LO2A,LO2B,LO2C,LO3A,LO3B,LO3C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LO4A,LO4B,LO4C,LO5A,LO5B,LO5C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LO6A,LO6B,LO6C,LO7A,LO7B,LO7C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LO8A,LO8B,LO8C,LO9A,LO9B,LO9C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LP0A,LP0B,LP0C,LP1A,LP1B,LP1C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LP2A,LP2B,LP2C,LP3A,LP3B,LP3C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LP4A,LP4B,LP4C,LP5A,LP5B,LP5C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LP6A,LP6B,LP6C,LP7A,LP7B,LP7C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LP8A,LP8B,LP8C,LP9A,LP9B,LP9C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LQ0A,LQ0B,LQ0C,LQ1A,LQ1B,LQ1C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LQ2A,LQ2B,LQ2C,LQ3A,LQ3B,LQ3C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LQ4A,LQ4B,LQ4C,LQ5A,LQ5B,LQ5C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LQ6A,LQ6B,LQ6C,LQ7A,LQ7B,LQ7C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LQ8A,LQ8B,LQ8C,LQ9A,LQ9B,LQ9C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LR0A,LR0B,LR0C,LR1A,LR1B,LR1C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LR2A,LR2B,LR2C,LR3A,LR3B,LR3C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LR4A,LR4B,LR4C,LR5A,LR5B,LR5C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LR6A,LR6B,LR6C,LR7A,LR7B,LR7C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LR8A,LR8B,LR8C,LR9A,LR9B,LR9C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LS0A,LS0B,LS0C,LS1A,LS1B,LS1C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LS2A,LS2B,LS2C,LS3A,LS3B,LS3C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LS4A,LS4B,LS4C,LS5A,LS5B,LS5C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LS6A,LS6B,LS6C,LS7A,LS7B,LS7C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LS8A,LS8B,LS8C,LS9A,LS9B,LS9C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LT0A,LT0B,LT0C,LT1A,LT1B,LT1C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LT2A,LT2B,LT2C,LT3A,LT3B,LT3C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LT4A,LT4B,LT4C,LT5A,LT5B,LT5C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LT6A,LT6B,LT6C,LT7A,LT7B,LT7C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LT8A,LT8B,LT8C,LT9A,LT9B,LT9C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LU0A,LU0B,LU0C,LU1A,LU1B,LU1C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LU2A,LU2B,LU2C,LU3A,LU3B,LU3C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LU4A,LU4B,LU4C,LU5A,LU5B,LU5C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LU6A,LU6B,LU6C,LU7A,LU7B,LU7C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LU8A,LU8B,LU8C,LU9A,LU9B,LU9C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LV0A,LV0B,LV0C,LV1A,LV1B,LV1C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LV2A,LV2B,LV2C,LV3A,LV3B,LV3C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LV4A,LV4B,LV4C,LV5A,LV5B,LV5C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LV6A,LV6B,LV6C,LV7A,LV7B,LV7C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LV8A,LV8B,LV8C,LV9A,LV9B,LV9C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LW0A,LW0B,LW0C,LW1A,LW1B,LW1C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LW2A,LW2B,LW2C,LW3A,LW3B,LW3C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LW4A,LW4B,LW4C,LW5A,LW5B,LW5C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LW6A,LW6B,LW6C,LW7A,LW7B,LW7C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LW8A,LW8B,LW8C,LW9A,LW9B,LW9C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 22 0 W
-LU-D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LU Buenos-Aires-province-LU-D 124 14 13 3.00 38 45 0 S 62 15 0 W
-AY0D,AY0E,AY1D,AY1E,AY2D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-AY2E,AY3D,AY3E,AY4D,AY4E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-AY5D,AY5E,AY6D,AY6E,AY7D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-AY7E,AY8D,AY8E,AY9D,AY9E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-AZ0D,AZ0E,AZ1D,AZ1E,AZ2D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-AZ2E,AZ3D,AZ3E,AZ4D,AZ4E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-AZ5D,AZ5E,AZ6D,AZ6E,AZ7D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-AZ7E,AZ8D,AZ8E,AZ9D,AZ9E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L20D,L20E,L21D,L21E,L22D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L22E,L23D,L23E,L24D,L24E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L25D,L25E,L26D,L26E,L27D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L27E,L28D,L28E,L29D,L29E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L30D,L30E,L31D,L31E,L32D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L32E,L33D,L33E,L34D,L34E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L35D,L35E,L36D,L36E,L37D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L37E,L38D,L38E,L39D,L39E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L40D,L40E,L41D,L41E,L42D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L42E,L43D,L43E,L44D,L44E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L45D,L45E,L46D,L46E,L47D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L47E,L48D,L48E,L49D,L49E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L50D,L50E,L51D,L51E,L52D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L52E,L53D,L53E,L54D,L54E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L55D,L55E,L56D,L56E,L57D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L57E,L58D,L58E,L59D,L59E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L60D,L60E,L61D,L61E,L62D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L62E,L63D,L63E,L64D,L64E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L65D,L65E,L66D,L66E,L67D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L67E,L68D,L68E,L69D,L69E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L70D,L70E,L71D,L71E,L72D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L72E,L73D,L73E,L74D,L74E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L75D,L75E,L76D,L76E,L77D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L77E,L78D,L78E,L79D,L79E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L80D,L80E,L81D,L81E,L82D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L82E,L83D,L83E,L84D,L84E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L85D,L85E,L86D,L86E,L87D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L87E,L88D,L88E,L89D,L89E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L90D,L90E,L91D,L91E,L92D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L92E,L93D,L93E,L94D,L94E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L95D,L95E,L96D,L96E,L97D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-L97E,L98D,L98E,L99D,L99E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LO0D,LO0E,LO1D,LO1E,LO2D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LO2E,LO3D,LO3E,LO4D,LO4E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LO5D,LO5E,LO6D,LO6E,LO7D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LO7E,LO8D,LO8E,LO9D,LO9E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LP0D,LP0E,LP1D,LP1E,LP2D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LP2E,LP3D,LP3E,LP4D,LP4E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LP5D,LP5E,LP6D,LP6E,LP7D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LP7E,LP8D,LP8E,LP9D,LP9E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LQ0D,LQ0E,LQ1D,LQ1E,LQ2D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LQ2E,LQ3D,LQ3E,LQ4D,LQ4E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LQ5D,LQ5E,LQ6D,LQ6E,LQ7D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LQ7E,LQ8D,LQ8E,LQ9D,LQ9E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LR0D,LR0E,LR1D,LR1E,LR2D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LR2E,LR3D,LR3E,LR4D,LR4E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LR5D,LR5E,LR6D,LR6E,LR7D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LR7E,LR8D,LR8E,LR9D,LR9E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LS0D,LS0E,LS1D,LS1E,LS2D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LS2E,LS3D,LS3E,LS4D,LS4E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LS5D,LS5E,LS6D,LS6E,LS7D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LS7E,LS8D,LS8E,LS9D,LS9E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LT0D,LT0E,LT1D,LT1E,LT2D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LT2E,LT3D,LT3E,LT4D,LT4E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LT5D,LT5E,LT6D,LT6E,LT7D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LT7E,LT8D,LT8E,LT9D,LT9E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LU0D,LU0E,LU1D,LU1E,LU2D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LU2E,LU3D,LU3E,LU4D,LU4E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LU5D,LU5E,LU6D,LU6E,LU7D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LU7E,LU8D,LU8E,LU9D,LU9E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LV0D,LV0E,LV1D,LV1E,LV2D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LV2E,LV3D,LV3E,LV4D,LV4E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LV5D,LV5E,LV6D,LV6E,LV7D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LV7E,LV8D,LV8E,LV9D,LV9E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LW0D,LW0E,LW1D,LW1E,LW2D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LW2E,LW3D,LW3E,LW4D,LW4E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LW5D,LW5E,LW6D,LW6E,LW7D Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LW7E,LW8D,LW8E,LW9D,LW9E Buenos-Aires-province-LU 124 14 13 3.00 38 45 0 S 62 15 0 W
-LU-F Santa-Fe-LU 124 14 13 3.00 31 34 0 S 60 40 0 W
-LU Santa-Fe-LU-F 124 14 13 3.00 31 34 0 S 60 40 0 W
-AY0F,AY1F,AY2F,AY3F,AY4F,AY5F,AY6F,AY7F Santa-Fe-LU 124 14 13 3.00 31 34 0 S 60 40 0 W
-AY8F,AY9F,AZ0F,AZ1F,AZ2F,AZ3F,AZ4F,AZ5F Santa-Fe-LU 124 14 13 3.00 31 34 0 S 60 40 0 W
-AZ6F,AZ7F,AZ8F,AZ9F,L20F,L21F,L22F,L23F Santa-Fe-LU 124 14 13 3.00 31 34 0 S 60 40 0 W
-L24F,L25F,L26F,L27F,L28F,L29F,L30F,L31F Santa-Fe-LU 124 14 13 3.00 31 34 0 S 60 40 0 W
-L32F,L33F,L34F,L35F,L36F,L37F,L38F,L39F Santa-Fe-LU 124 14 13 3.00 31 34 0 S 60 40 0 W
-L40F,L41F,L42F,L43F,L44F,L45F,L46F,L47F Santa-Fe-LU 124 14 13 3.00 31 34 0 S 60 40 0 W
-L48F,L49F,L50F,L51F,L52F,L53F,L54F,L55F Santa-Fe-LU 124 14 13 3.00 31 34 0 S 60 40 0 W
-L56F,L57F,L58F,L59F,L60F,L61F,L62F,L63F Santa-Fe-LU 124 14 13 3.00 31 34 0 S 60 40 0 W
-L64F,L65F,L66F,L67F,L68F,L69F,L70F,L71F Santa-Fe-LU 124 14 13 3.00 31 34 0 S 60 40 0 W
-L72F,L73F,L74F,L75F,L76F,L77F,L78F,L79F Santa-Fe-LU 124 14 13 3.00 31 34 0 S 60 40 0 W
-L80F,L81F,L82F,L83F,L84F,L85F,L86F,L87F Santa-Fe-LU 124 14 13 3.00 31 34 0 S 60 40 0 W
-L88F,L89F,L90F,L91F,L92F,L93F,L94F,L95F Santa-Fe-LU 124 14 13 3.00 31 34 0 S 60 40 0 W
-L96F,L97F,L98F,L99F,LO0F,LO1F,LO2F,LO3F Santa-Fe-LU 124 14 13 3.00 31 34 0 S 60 40 0 W
-LO4F,LO5F,LO6F,LO7F,LO8F,LO9F,LP0F,LP1F Santa-Fe-LU 124 14 13 3.00 31 34 0 S 60 40 0 W
-LP2F,LP3F,LP4F,LP5F,LP6F,LP7F,LP8F,LP9F Santa-Fe-LU 124 14 13 3.00 31 34 0 S 60 40 0 W
-LQ0F,LQ1F,LQ2F,LQ3F,LQ4F,LQ5F,LQ6F,LQ7F Santa-Fe-LU 124 14 13 3.00 31 34 0 S 60 40 0 W
-LQ8F,LQ9F,LR0F,LR1F,LR2F,LR3F,LR4F,LR5F Santa-Fe-LU 124 14 13 3.00 31 34 0 S 60 40 0 W
-LR6F,LR7F,LR8F,LR9F,LS0F,LS1F,LS2F,LS3F Santa-Fe-LU 124 14 13 3.00 31 34 0 S 60 40 0 W
-LS4F,LS5F,LS6F,LS7F,LS8F,LS9F,LT0F,LT1F Santa-Fe-LU 124 14 13 3.00 31 34 0 S 60 40 0 W
-LT2F,LT3F,LT4F,LT5F,LT6F,LT7F,LT8F,LT9F Santa-Fe-LU 124 14 13 3.00 31 34 0 S 60 40 0 W
-LU0F,LU1F,LU2F,LU3F,LU4F,LU5F,LU6F,LU7F Santa-Fe-LU 124 14 13 3.00 31 34 0 S 60 40 0 W
-LU8F,LU9F,LV0F,LV1F,LV2F,LV3F,LV4F,LV5F Santa-Fe-LU 124 14 13 3.00 31 34 0 S 60 40 0 W
-LV6F,LV7F,LV8F,LV9F,LW0F,LW1F,LW2F,LW3F Santa-Fe-LU 124 14 13 3.00 31 34 0 S 60 40 0 W
-LW4F,LW5F,LW6F,LW7F,LW8F,LW9F Santa-Fe-LU 124 14 13 3.00 31 34 0 S 60 40 0 W
-LU-G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-LU Chaco-and-Formosa-LU-G 124 14 13 3.00 27 28 0 S 59 0 0 W
-AY0G,AY1G,AY2G,AY3G,AY4G,AY5G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-AY6G,AY7G,AY8G,AY9G,AZ0G,AZ1G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-AZ2G,AZ3G,AZ4G,AZ5G,AZ6G,AZ7G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-AZ8G,AZ9G,L20G,L21G,L22G,L23G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-L24G,L25G,L26G,L27G,L28G,L29G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-L30G,L31G,L32G,L33G,L34G,L35G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-L36G,L37G,L38G,L39G,L40G,L41G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-L42G,L43G,L44G,L45G,L46G,L47G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-L48G,L49G,L50G,L51G,L52G,L53G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-L54G,L55G,L56G,L57G,L58G,L59G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-L60G,L61G,L62G,L63G,L64G,L65G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-L66G,L67G,L68G,L69G,L70G,L71G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-L72G,L73G,L74G,L75G,L76G,L77G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-L78G,L79G,L80G,L81G,L82G,L83G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-L84G,L85G,L86G,L87G,L88G,L89G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-L90G,L91G,L92G,L93G,L94G,L95G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-L96G,L97G,L98G,L99G,LO0G,LO1G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-LO2G,LO3G,LO4G,LO5G,LO6G,LO7G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-LO8G,LO9G,LP0G,LP1G,LP2G,LP3G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-LP4G,LP5G,LP6G,LP7G,LP8G,LP9G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-LQ0G,LQ1G,LQ2G,LQ3G,LQ4G,LQ5G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-LQ6G,LQ7G,LQ8G,LQ9G,LR0G,LR1G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-LR2G,LR3G,LR4G,LR5G,LR6G,LR7G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-LR8G,LR9G,LS0G,LS1G,LS2G,LS3G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-LS4G,LS5G,LS6G,LS7G,LS8G,LS9G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-LT0G,LT1G,LT2G,LT3G,LT4G,LT5G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-LT6G,LT7G,LT8G,LT9G,LU0G,LU1G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-LU2G,LU3G,LU4G,LU5G,LU6G,LU7G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-LU8G,LU9G,LV0G,LV1G,LV2G,LV3G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-LV4G,LV5G,LV6G,LV7G,LV8G,LV9G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-LW0G,LW1G,LW2G,LW3G,LW4G,LW5G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-LW6G,LW7G,LW8G,LW9G Chaco-and-Formosa-LU 124 14 13 3.00 27 28 0 S 59 0 0 W
-LU-H Cordoba-LU 124 14 13 3.00 31 19 0 S 64 10 0 W
-LU Cordoba-LU-H 124 14 13 3.00 31 19 0 S 64 10 0 W
-AY0H,AY1H,AY2H,AY3H,AY4H,AY5H,AY6H,AY7H Cordoba-LU 124 14 13 3.00 31 19 0 S 64 10 0 W
-AY8H,AY9H,AZ0H,AZ1H,AZ2H,AZ3H,AZ4H,AZ5H Cordoba-LU 124 14 13 3.00 31 19 0 S 64 10 0 W
-AZ6H,AZ7H,AZ8H,AZ9H,L20H,L21H,L22H,L23H Cordoba-LU 124 14 13 3.00 31 19 0 S 64 10 0 W
-L24H,L25H,L26H,L27H,L28H,L29H,L30H,L31H Cordoba-LU 124 14 13 3.00 31 19 0 S 64 10 0 W
-L32H,L33H,L34H,L35H,L36H,L37H,L38H,L39H Cordoba-LU 124 14 13 3.00 31 19 0 S 64 10 0 W
-L40H,L41H,L42H,L43H,L44H,L45H,L46H,L47H Cordoba-LU 124 14 13 3.00 31 19 0 S 64 10 0 W
-L48H,L49H,L50H,L51H,L52H,L53H,L54H,L55H Cordoba-LU 124 14 13 3.00 31 19 0 S 64 10 0 W
-L56H,L57H,L58H,L59H,L60H,L61H,L62H,L63H Cordoba-LU 124 14 13 3.00 31 19 0 S 64 10 0 W
-L64H,L65H,L66H,L67H,L68H,L69H,L70H,L71H Cordoba-LU 124 14 13 3.00 31 19 0 S 64 10 0 W
-L72H,L73H,L74H,L75H,L76H,L77H,L78H,L79H Cordoba-LU 124 14 13 3.00 31 19 0 S 64 10 0 W
-L80H,L81H,L82H,L83H,L84H,L85H,L86H,L87H Cordoba-LU 124 14 13 3.00 31 19 0 S 64 10 0 W
-L88H,L89H,L90H,L91H,L92H,L93H,L94H,L95H Cordoba-LU 124 14 13 3.00 31 19 0 S 64 10 0 W
-L96H,L97H,L98H,L99H,LO0H,LO1H,LO2H,LO3H Cordoba-LU 124 14 13 3.00 31 19 0 S 64 10 0 W
-LO4H,LO5H,LO6H,LO7H,LO8H,LO9H,LP0H,LP1H Cordoba-LU 124 14 13 3.00 31 19 0 S 64 10 0 W
-LP2H,LP3H,LP4H,LP5H,LP6H,LP7H,LP8H,LP9H Cordoba-LU 124 14 13 3.00 31 19 0 S 64 10 0 W
-LQ0H,LQ1H,LQ2H,LQ3H,LQ4H,LQ5H,LQ6H,LQ7H Cordoba-LU 124 14 13 3.00 31 19 0 S 64 10 0 W
-LQ8H,LQ9H,LR0H,LR1H,LR2H,LR3H,LR4H,LR5H Cordoba-LU 124 14 13 3.00 31 19 0 S 64 10 0 W
-LR6H,LR7H,LR8H,LR9H,LS0H,LS1H,LS2H,LS3H Cordoba-LU 124 14 13 3.00 31 19 0 S 64 10 0 W
-LS4H,LS5H,LS6H,LS7H,LS8H,LS9H,LT0H,LT1H Cordoba-LU 124 14 13 3.00 31 19 0 S 64 10 0 W
-LT2H,LT3H,LT4H,LT5H,LT6H,LT7H,LT8H,LT9H Cordoba-LU 124 14 13 3.00 31 19 0 S 64 10 0 W
-LU0H,LU1H,LU2H,LU3H,LU4H,LU5H,LU6H,LU7H Cordoba-LU 124 14 13 3.00 31 19 0 S 64 10 0 W
-LU8H,LU9H,LV0H,LV1H,LV2H,LV3H,LV4H,LV5H Cordoba-LU 124 14 13 3.00 31 19 0 S 64 10 0 W
-LV6H,LV7H,LV8H,LV9H,LW0H,LW1H,LW2H,LW3H Cordoba-LU 124 14 13 3.00 31 19 0 S 64 10 0 W
-LW4H,LW5H,LW6H,LW7H,LW8H,LW9H Cordoba-LU 124 14 13 3.00 31 19 0 S 64 10 0 W
-LU-I Misiones-LU 124 14 13 3.00 27 27 0 S 55 49 0 W
-LU Misiones-LU-I 124 14 13 3.00 27 27 0 S 55 49 0 W
-AY0I,AY1I,AY2I,AY3I,AY4I,AY5I,AY6I,AY7I Misiones-LU 124 14 13 3.00 27 27 0 S 55 49 0 W
-AY8I,AY9I,AZ0I,AZ1I,AZ2I,AZ3I,AZ4I,AZ5I Misiones-LU 124 14 13 3.00 27 27 0 S 55 49 0 W
-AZ6I,AZ7I,AZ8I,AZ9I,L20I,L21I,L22I,L23I Misiones-LU 124 14 13 3.00 27 27 0 S 55 49 0 W
-L24I,L25I,L26I,L27I,L28I,L29I,L30I,L31I Misiones-LU 124 14 13 3.00 27 27 0 S 55 49 0 W
-L32I,L33I,L34I,L35I,L36I,L37I,L38I,L39I Misiones-LU 124 14 13 3.00 27 27 0 S 55 49 0 W
-L40I,L41I,L42I,L43I,L44I,L45I,L46I,L47I Misiones-LU 124 14 13 3.00 27 27 0 S 55 49 0 W
-L48I,L49I,L50I,L51I,L52I,L53I,L54I,L55I Misiones-LU 124 14 13 3.00 27 27 0 S 55 49 0 W
-L56I,L57I,L58I,L59I,L60I,L61I,L62I,L63I Misiones-LU 124 14 13 3.00 27 27 0 S 55 49 0 W
-L64I,L65I,L66I,L67I,L68I,L69I,L70I,L71I Misiones-LU 124 14 13 3.00 27 27 0 S 55 49 0 W
-L72I,L73I,L74I,L75I,L76I,L77I,L78I,L79I Misiones-LU 124 14 13 3.00 27 27 0 S 55 49 0 W
-L80I,L81I,L82I,L83I,L84I,L85I,L86I,L87I Misiones-LU 124 14 13 3.00 27 27 0 S 55 49 0 W
-L88I,L89I,L90I,L91I,L92I,L93I,L94I,L95I Misiones-LU 124 14 13 3.00 27 27 0 S 55 49 0 W
-L96I,L97I,L98I,L99I,LO0I,LO1I,LO2I,LO3I Misiones-LU 124 14 13 3.00 27 27 0 S 55 49 0 W
-LO4I,LO5I,LO6I,LO7I,LO8I,LO9I,LP0I,LP1I Misiones-LU 124 14 13 3.00 27 27 0 S 55 49 0 W
-LP2I,LP3I,LP4I,LP5I,LP6I,LP7I,LP8I,LP9I Misiones-LU 124 14 13 3.00 27 27 0 S 55 49 0 W
-LQ0I,LQ1I,LQ2I,LQ3I,LQ4I,LQ5I,LQ6I,LQ7I Misiones-LU 124 14 13 3.00 27 27 0 S 55 49 0 W
-LQ8I,LQ9I,LR0I,LR1I,LR2I,LR3I,LR4I,LR5I Misiones-LU 124 14 13 3.00 27 27 0 S 55 49 0 W
-LR6I,LR7I,LR8I,LR9I,LS0I,LS1I,LS2I,LS3I Misiones-LU 124 14 13 3.00 27 27 0 S 55 49 0 W
-LS4I,LS5I,LS6I,LS7I,LS8I,LS9I,LT0I,LT1I Misiones-LU 124 14 13 3.00 27 27 0 S 55 49 0 W
-LT2I,LT3I,LT4I,LT5I,LT6I,LT7I,LT8I,LT9I Misiones-LU 124 14 13 3.00 27 27 0 S 55 49 0 W
-LU0I,LU1I,LU2I,LU3I,LU4I,LU5I,LU6I,LU7I Misiones-LU 124 14 13 3.00 27 27 0 S 55 49 0 W
-LU8I,LU9I,LV0I,LV1I,LV2I,LV3I,LV4I,LV5I Misiones-LU 124 14 13 3.00 27 27 0 S 55 49 0 W
-LV6I,LV7I,LV8I,LV9I,LW0I,LW1I,LW2I,LW3I Misiones-LU 124 14 13 3.00 27 27 0 S 55 49 0 W
-LW4I,LW5I,LW6I,LW7I,LW8I,LW9I Misiones-LU 124 14 13 3.00 27 27 0 S 55 49 0 W
-LU-J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-LU Entre-Rios-LU-J 124 14 13 3.00 31 44 0 S 60 32 0 W
-AY0J,AY1J,AY2J,AY3J,AY4J,AY5J,AY6J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-AY7J,AY8J,AY9J,AZ0J,AZ1J,AZ2J,AZ3J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-AZ4J,AZ5J,AZ6J,AZ7J,AZ8J,AZ9J,L20J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-L21J,L22J,L23J,L24J,L25J,L26J,L27J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-L28J,L29J,L30J,L31J,L32J,L33J,L34J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-L35J,L36J,L37J,L38J,L39J,L40J,L41J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-L42J,L43J,L44J,L45J,L46J,L47J,L48J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-L49J,L50J,L51J,L52J,L53J,L54J,L55J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-L56J,L57J,L58J,L59J,L60J,L61J,L62J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-L63J,L64J,L65J,L66J,L67J,L68J,L69J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-L70J,L71J,L72J,L73J,L74J,L75J,L76J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-L77J,L78J,L79J,L80J,L81J,L82J,L83J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-L84J,L85J,L86J,L87J,L88J,L89J,L90J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-L91J,L92J,L93J,L94J,L95J,L96J,L97J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-L98J,L99J,LO0J,LO1J,LO2J,LO3J,LO4J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-LO5J,LO6J,LO7J,LO8J,LO9J,LP0J,LP1J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-LP2J,LP3J,LP4J,LP5J,LP6J,LP7J,LP8J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-LP9J,LQ0J,LQ1J,LQ2J,LQ3J,LQ4J,LQ5J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-LQ6J,LQ7J,LQ8J,LQ9J,LR0J,LR1J,LR2J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-LR3J,LR4J,LR5J,LR6J,LR7J,LR8J,LR9J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-LS0J,LS1J,LS2J,LS3J,LS4J,LS5J,LS6J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-LS7J,LS8J,LS9J,LT0J,LT1J,LT2J,LT3J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-LT4J,LT5J,LT6J,LT7J,LT8J,LT9J,LU0J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-LU1J,LU2J,LU3J,LU4J,LU5J,LU6J,LU7J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-LU8J,LU9J,LV0J,LV1J,LV2J,LV3J,LV4J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-LV5J,LV6J,LV7J,LV8J,LV9J,LW0J,LW1J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-LW2J,LW3J,LW4J,LW5J,LW6J,LW7J,LW8J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-LW9J Entre-Rios-LU 124 14 13 3.00 31 44 0 S 60 32 0 W
-LU-K Tucuman-LU 124 14 13 3.00 26 46 0 S 65 15 0 W
-LU Tucuman-LU-K 124 14 13 3.00 26 46 0 S 65 15 0 W
-AY0K,AY1K,AY2K,AY3K,AY4K,AY5K,AY6K,AY7K Tucuman-LU 124 14 13 3.00 26 46 0 S 65 15 0 W
-AY8K,AY9K,AZ0K,AZ1K,AZ2K,AZ3K,AZ4K,AZ5K Tucuman-LU 124 14 13 3.00 26 46 0 S 65 15 0 W
-AZ6K,AZ7K,AZ8K,AZ9K,L20K,L21K,L22K,L23K Tucuman-LU 124 14 13 3.00 26 46 0 S 65 15 0 W
-L24K,L25K,L26K,L27K,L28K,L29K,L30K,L31K Tucuman-LU 124 14 13 3.00 26 46 0 S 65 15 0 W
-L32K,L33K,L34K,L35K,L36K,L37K,L38K,L39K Tucuman-LU 124 14 13 3.00 26 46 0 S 65 15 0 W
-L40K,L41K,L42K,L43K,L44K,L45K,L46K,L47K Tucuman-LU 124 14 13 3.00 26 46 0 S 65 15 0 W
-L48K,L49K,L50K,L51K,L52K,L53K,L54K,L55K Tucuman-LU 124 14 13 3.00 26 46 0 S 65 15 0 W
-L56K,L57K,L58K,L59K,L60K,L61K,L62K,L63K Tucuman-LU 124 14 13 3.00 26 46 0 S 65 15 0 W
-L64K,L65K,L66K,L67K,L68K,L69K,L70K,L71K Tucuman-LU 124 14 13 3.00 26 46 0 S 65 15 0 W
-L72K,L73K,L74K,L75K,L76K,L77K,L78K,L79K Tucuman-LU 124 14 13 3.00 26 46 0 S 65 15 0 W
-L80K,L81K,L82K,L83K,L84K,L85K,L86K,L87K Tucuman-LU 124 14 13 3.00 26 46 0 S 65 15 0 W
-L88K,L89K,L90K,L91K,L92K,L93K,L94K,L95K Tucuman-LU 124 14 13 3.00 26 46 0 S 65 15 0 W
-L96K,L97K,L98K,L99K,LO0K,LO1K,LO2K,LO3K Tucuman-LU 124 14 13 3.00 26 46 0 S 65 15 0 W
-LO4K,LO5K,LO6K,LO7K,LO8K,LO9K,LP0K,LP1K Tucuman-LU 124 14 13 3.00 26 46 0 S 65 15 0 W
-LP2K,LP3K,LP4K,LP5K,LP6K,LP7K,LP8K,LP9K Tucuman-LU 124 14 13 3.00 26 46 0 S 65 15 0 W
-LQ0K,LQ1K,LQ2K,LQ3K,LQ4K,LQ5K,LQ6K,LQ7K Tucuman-LU 124 14 13 3.00 26 46 0 S 65 15 0 W
-LQ8K,LQ9K,LR0K,LR1K,LR2K,LR3K,LR4K,LR5K Tucuman-LU 124 14 13 3.00 26 46 0 S 65 15 0 W
-LR6K,LR7K,LR8K,LR9K,LS0K,LS1K,LS2K,LS3K Tucuman-LU 124 14 13 3.00 26 46 0 S 65 15 0 W
-LS4K,LS5K,LS6K,LS7K,LS8K,LS9K,LT0K,LT1K Tucuman-LU 124 14 13 3.00 26 46 0 S 65 15 0 W
-LT2K,LT3K,LT4K,LT5K,LT6K,LT7K,LT8K,LT9K Tucuman-LU 124 14 13 3.00 26 46 0 S 65 15 0 W
-LU0K,LU1K,LU2K,LU3K,LU4K,LU5K,LU6K,LU7K Tucuman-LU 124 14 13 3.00 26 46 0 S 65 15 0 W
-LU8K,LU9K,LV0K,LV1K,LV2K,LV3K,LV4K,LV5K Tucuman-LU 124 14 13 3.00 26 46 0 S 65 15 0 W
-LV6K,LV7K,LV8K,LV9K,LW0K,LW1K,LW2K,LW3K Tucuman-LU 124 14 13 3.00 26 46 0 S 65 15 0 W
-LW4K,LW5K,LW6K,LW7K,LW8K,LW9K Tucuman-LU 124 14 13 3.00 26 46 0 S 65 15 0 W
-LU-L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-LU Corrientes-LU-L 124 14 13 3.00 27 30 0 S 58 48 0 W
-AY0L,AY1L,AY2L,AY3L,AY4L,AY5L,AY6L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-AY7L,AY8L,AY9L,AZ0L,AZ1L,AZ2L,AZ3L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-AZ4L,AZ5L,AZ6L,AZ7L,AZ8L,AZ9L,L20L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-L21L,L22L,L23L,L24L,L25L,L26L,L27L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-L28L,L29L,L30L,L31L,L32L,L33L,L34L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-L35L,L36L,L37L,L38L,L39L,L40L,L41L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-L42L,L43L,L44L,L45L,L46L,L47L,L48L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-L49L,L50L,L51L,L52L,L53L,L54L,L55L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-L56L,L57L,L58L,L59L,L60L,L61L,L62L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-L63L,L64L,L65L,L66L,L67L,L68L,L69L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-L70L,L71L,L72L,L73L,L74L,L75L,L76L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-L77L,L78L,L79L,L80L,L81L,L82L,L83L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-L84L,L85L,L86L,L87L,L88L,L89L,L90L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-L91L,L92L,L93L,L94L,L95L,L96L,L97L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-L98L,L99L,LO0L,LO1L,LO2L,LO3L,LO4L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-LO5L,LO6L,LO7L,LO8L,LO9L,LP0L,LP1L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-LP2L,LP3L,LP4L,LP5L,LP6L,LP7L,LP8L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-LP9L,LQ0L,LQ1L,LQ2L,LQ3L,LQ4L,LQ5L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-LQ6L,LQ7L,LQ8L,LQ9L,LR0L,LR1L,LR2L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-LR3L,LR4L,LR5L,LR6L,LR7L,LR8L,LR9L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-LS0L,LS1L,LS2L,LS3L,LS4L,LS5L,LS6L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-LS7L,LS8L,LS9L,LT0L,LT1L,LT2L,LT3L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-LT4L,LT5L,LT6L,LT7L,LT8L,LT9L,LU0L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-LU1L,LU2L,LU3L,LU4L,LU5L,LU6L,LU7L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-LU8L,LU9L,LV0L,LV1L,LV2L,LV3L,LV4L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-LV5L,LV6L,LV7L,LV8L,LV9L,LW0L,LW1L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-LW2L,LW3L,LW4L,LW5L,LW6L,LW7L,LW8L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-LW9L Corrientes-LU 124 14 13 3.00 27 30 0 S 58 48 0 W
-LU-M Mendoza-LU 124 14 13 3.00 34 40 0 S 68 12 0 W
-LU Mendoza-LU-M 124 14 13 3.00 34 40 0 S 68 12 0 W
-AY0M,AY1M,AY2M,AY3M,AY4M,AY5M,AY6M,AY7M Mendoza-LU 124 14 13 3.00 34 40 0 S 68 12 0 W
-AY8M,AY9M,AZ0M,AZ1M,AZ2M,AZ3M,AZ4M,AZ5M Mendoza-LU 124 14 13 3.00 34 40 0 S 68 12 0 W
-AZ6M,AZ7M,AZ8M,AZ9M,L20M,L21M,L22M,L23M Mendoza-LU 124 14 13 3.00 34 40 0 S 68 12 0 W
-L24M,L25M,L26M,L27M,L28M,L29M,L30M,L31M Mendoza-LU 124 14 13 3.00 34 40 0 S 68 12 0 W
-L32M,L33M,L34M,L35M,L36M,L37M,L38M,L39M Mendoza-LU 124 14 13 3.00 34 40 0 S 68 12 0 W
-L40M,L41M,L42M,L43M,L44M,L45M,L46M,L47M Mendoza-LU 124 14 13 3.00 34 40 0 S 68 12 0 W
-L48M,L49M,L50M,L51M,L52M,L53M,L54M,L55M Mendoza-LU 124 14 13 3.00 34 40 0 S 68 12 0 W
-L56M,L57M,L58M,L59M,L60M,L61M,L62M,L63M Mendoza-LU 124 14 13 3.00 34 40 0 S 68 12 0 W
-L64M,L65M,L66M,L67M,L68M,L69M,L70M,L71M Mendoza-LU 124 14 13 3.00 34 40 0 S 68 12 0 W
-L72M,L73M,L74M,L75M,L76M,L77M,L78M,L79M Mendoza-LU 124 14 13 3.00 34 40 0 S 68 12 0 W
-L80M,L81M,L82M,L83M,L84M,L85M,L86M,L87M Mendoza-LU 124 14 13 3.00 34 40 0 S 68 12 0 W
-L88M,L89M,L90M,L91M,L92M,L93M,L94M,L95M Mendoza-LU 124 14 13 3.00 34 40 0 S 68 12 0 W
-L96M,L97M,L98M,L99M,LO0M,LO1M,LO2M,LO3M Mendoza-LU 124 14 13 3.00 34 40 0 S 68 12 0 W
-LO4M,LO5M,LO6M,LO7M,LO8M,LO9M,LP0M,LP1M Mendoza-LU 124 14 13 3.00 34 40 0 S 68 12 0 W
-LP2M,LP3M,LP4M,LP5M,LP6M,LP7M,LP8M,LP9M Mendoza-LU 124 14 13 3.00 34 40 0 S 68 12 0 W
-LQ0M,LQ1M,LQ2M,LQ3M,LQ4M,LQ5M,LQ6M,LQ7M Mendoza-LU 124 14 13 3.00 34 40 0 S 68 12 0 W
-LQ8M,LQ9M,LR0M,LR1M,LR2M,LR3M,LR4M,LR5M Mendoza-LU 124 14 13 3.00 34 40 0 S 68 12 0 W
-LR6M,LR7M,LR8M,LR9M,LS0M,LS1M,LS2M,LS3M Mendoza-LU 124 14 13 3.00 34 40 0 S 68 12 0 W
-LS4M,LS5M,LS6M,LS7M,LS8M,LS9M,LT0M,LT1M Mendoza-LU 124 14 13 3.00 34 40 0 S 68 12 0 W
-LT2M,LT3M,LT4M,LT5M,LT6M,LT7M,LT8M,LT9M Mendoza-LU 124 14 13 3.00 34 40 0 S 68 12 0 W
-LU0M,LU1M,LU2M,LU3M,LU4M,LU5M,LU6M,LU7M Mendoza-LU 124 14 13 3.00 34 40 0 S 68 12 0 W
-LU8M,LU9M,LV0M,LV1M,LV2M,LV3M,LV4M,LV5M Mendoza-LU 124 14 13 3.00 34 40 0 S 68 12 0 W
-LV6M,LV7M,LV8M,LV9M,LW0M,LW1M,LW2M,LW3M Mendoza-LU 124 14 13 3.00 34 40 0 S 68 12 0 W
-LW4M,LW5M,LW6M,LW7M,LW8M,LW9M Mendoza-LU 124 14 13 3.00 34 40 0 S 68 12 0 W
-LU-N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-LU Santiago-del-Estero-LU-N 124 14 13 3.00 27 48 0 S 64 12 0 W
-AY0N,AY1N,AY2N,AY3N,AY4N,AY5N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-AY6N,AY7N,AY8N,AY9N,AZ0N,AZ1N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-AZ2N,AZ3N,AZ4N,AZ5N,AZ6N,AZ7N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-AZ8N,AZ9N,L20N,L21N,L22N,L23N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-L24N,L25N,L26N,L27N,L28N,L29N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-L30N,L31N,L32N,L33N,L34N,L35N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-L36N,L37N,L38N,L39N,L40N,L41N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-L42N,L43N,L44N,L45N,L46N,L47N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-L48N,L49N,L50N,L51N,L52N,L53N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-L54N,L55N,L56N,L57N,L58N,L59N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-L60N,L61N,L62N,L63N,L64N,L65N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-L66N,L67N,L68N,L69N,L70N,L71N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-L72N,L73N,L74N,L75N,L76N,L77N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-L78N,L79N,L80N,L81N,L82N,L83N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-L84N,L85N,L86N,L87N,L88N,L89N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-L90N,L91N,L92N,L93N,L94N,L95N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-L96N,L97N,L98N,L99N,LO0N,LO1N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-LO2N,LO3N,LO4N,LO5N,LO6N,LO7N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-LO8N,LO9N,LP0N,LP1N,LP2N,LP3N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-LP4N,LP5N,LP6N,LP7N,LP8N,LP9N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-LQ0N,LQ1N,LQ2N,LQ3N,LQ4N,LQ5N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-LQ6N,LQ7N,LQ8N,LQ9N,LR0N,LR1N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-LR2N,LR3N,LR4N,LR5N,LR6N,LR7N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-LR8N,LR9N,LS0N,LS1N,LS2N,LS3N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-LS4N,LS5N,LS6N,LS7N,LS8N,LS9N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-LT0N,LT1N,LT2N,LT3N,LT4N,LT5N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-LT6N,LT7N,LT8N,LT9N,LU0N,LU1N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-LU2N,LU3N,LU4N,LU5N,LU6N,LU7N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-LU8N,LU9N,LV0N,LV1N,LV2N,LV3N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-LV4N,LV5N,LV6N,LV7N,LV8N,LV9N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-LW0N,LW1N,LW2N,LW3N,LW4N,LW5N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-LW6N,LW7N,LW8N,LW9N Santiago-del-Estero-LU 124 14 13 3.00 27 48 0 S 64 12 0 W
-LU-O Salta-LU 124 14 13 3.00 24 46 0 S 65 28 0 W
-LU Salta-LU-O 124 14 13 3.00 24 46 0 S 65 28 0 W
-AY0O,AY1O,AY2O,AY3O,AY4O,AY5O,AY6O,AY7O Salta-LU 124 14 13 3.00 24 46 0 S 65 28 0 W
-AY8O,AY9O,AZ0O,AZ1O,AZ2O,AZ3O,AZ4O,AZ5O Salta-LU 124 14 13 3.00 24 46 0 S 65 28 0 W
-AZ6O,AZ7O,AZ8O,AZ9O,L20O,L21O,L22O,L23O Salta-LU 124 14 13 3.00 24 46 0 S 65 28 0 W
-L24O,L25O,L26O,L27O,L28O,L29O,L30O,L31O Salta-LU 124 14 13 3.00 24 46 0 S 65 28 0 W
-L32O,L33O,L34O,L35O,L36O,L37O,L38O,L39O Salta-LU 124 14 13 3.00 24 46 0 S 65 28 0 W
-L40O,L41O,L42O,L43O,L44O,L45O,L46O,L47O Salta-LU 124 14 13 3.00 24 46 0 S 65 28 0 W
-L48O,L49O,L50O,L51O,L52O,L53O,L54O,L55O Salta-LU 124 14 13 3.00 24 46 0 S 65 28 0 W
-L56O,L57O,L58O,L59O,L60O,L61O,L62O,L63O Salta-LU 124 14 13 3.00 24 46 0 S 65 28 0 W
-L64O,L65O,L66O,L67O,L68O,L69O,L70O,L71O Salta-LU 124 14 13 3.00 24 46 0 S 65 28 0 W
-L72O,L73O,L74O,L75O,L76O,L77O,L78O,L79O Salta-LU 124 14 13 3.00 24 46 0 S 65 28 0 W
-L80O,L81O,L82O,L83O,L84O,L85O,L86O,L87O Salta-LU 124 14 13 3.00 24 46 0 S 65 28 0 W
-L88O,L89O,L90O,L91O,L92O,L93O,L94O,L95O Salta-LU 124 14 13 3.00 24 46 0 S 65 28 0 W
-L96O,L97O,L98O,L99O,LO0O,LO1O,LO2O,LO3O Salta-LU 124 14 13 3.00 24 46 0 S 65 28 0 W
-LO4O,LO5O,LO6O,LO7O,LO8O,LO9O,LP0O,LP1O Salta-LU 124 14 13 3.00 24 46 0 S 65 28 0 W
-LP2O,LP3O,LP4O,LP5O,LP6O,LP7O,LP8O,LP9O Salta-LU 124 14 13 3.00 24 46 0 S 65 28 0 W
-LQ0O,LQ1O,LQ2O,LQ3O,LQ4O,LQ5O,LQ6O,LQ7O Salta-LU 124 14 13 3.00 24 46 0 S 65 28 0 W
-LQ8O,LQ9O,LR0O,LR1O,LR2O,LR3O,LR4O,LR5O Salta-LU 124 14 13 3.00 24 46 0 S 65 28 0 W
-LR6O,LR7O,LR8O,LR9O,LS0O,LS1O,LS2O,LS3O Salta-LU 124 14 13 3.00 24 46 0 S 65 28 0 W
-LS4O,LS5O,LS6O,LS7O,LS8O,LS9O,LT0O,LT1O Salta-LU 124 14 13 3.00 24 46 0 S 65 28 0 W
-LT2O,LT3O,LT4O,LT5O,LT6O,LT7O,LT8O,LT9O Salta-LU 124 14 13 3.00 24 46 0 S 65 28 0 W
-LU0O,LU1O,LU2O,LU3O,LU4O,LU5O,LU6O,LU7O Salta-LU 124 14 13 3.00 24 46 0 S 65 28 0 W
-LU8O,LU9O,LV0O,LV1O,LV2O,LV3O,LV4O,LV5O Salta-LU 124 14 13 3.00 24 46 0 S 65 28 0 W
-LV6O,LV7O,LV8O,LV9O,LW0O,LW1O,LW2O,LW3O Salta-LU 124 14 13 3.00 24 46 0 S 65 28 0 W
-LW4O,LW5O,LW6O,LW7O,LW8O,LW9O Salta-LU 124 14 13 3.00 24 46 0 S 65 28 0 W
-LU-P San-Juan-LU 124 14 13 3.00 31 33 0 S 68 31 0 W
-LU San-Juan-LU-P 124 14 13 3.00 31 33 0 S 68 31 0 W
-AY0P,AY1P,AY2P,AY3P,AY4P,AY5P,AY6P,AY7P San-Juan-LU 124 14 13 3.00 31 33 0 S 68 31 0 W
-AY8P,AY9P,AZ0P,AZ1P,AZ2P,AZ3P,AZ4P,AZ5P San-Juan-LU 124 14 13 3.00 31 33 0 S 68 31 0 W
-AZ6P,AZ7P,AZ8P,AZ9P,L20P,L21P,L22P,L23P San-Juan-LU 124 14 13 3.00 31 33 0 S 68 31 0 W
-L24P,L25P,L26P,L27P,L28P,L29P,L30P,L31P San-Juan-LU 124 14 13 3.00 31 33 0 S 68 31 0 W
-L32P,L33P,L34P,L35P,L36P,L37P,L38P,L39P San-Juan-LU 124 14 13 3.00 31 33 0 S 68 31 0 W
-L40P,L41P,L42P,L43P,L44P,L45P,L46P,L47P San-Juan-LU 124 14 13 3.00 31 33 0 S 68 31 0 W
-L48P,L49P,L50P,L51P,L52P,L53P,L54P,L55P San-Juan-LU 124 14 13 3.00 31 33 0 S 68 31 0 W
-L56P,L57P,L58P,L59P,L60P,L61P,L62P,L63P San-Juan-LU 124 14 13 3.00 31 33 0 S 68 31 0 W
-L64P,L65P,L66P,L67P,L68P,L69P,L70P,L71P San-Juan-LU 124 14 13 3.00 31 33 0 S 68 31 0 W
-L72P,L73P,L74P,L75P,L76P,L77P,L78P,L79P San-Juan-LU 124 14 13 3.00 31 33 0 S 68 31 0 W
-L80P,L81P,L82P,L83P,L84P,L85P,L86P,L87P San-Juan-LU 124 14 13 3.00 31 33 0 S 68 31 0 W
-L88P,L89P,L90P,L91P,L92P,L93P,L94P,L95P San-Juan-LU 124 14 13 3.00 31 33 0 S 68 31 0 W
-L96P,L97P,L98P,L99P,LO0P,LO1P,LO2P,LO3P San-Juan-LU 124 14 13 3.00 31 33 0 S 68 31 0 W
-LO4P,LO5P,LO6P,LO7P,LO8P,LO9P,LP0P,LP1P San-Juan-LU 124 14 13 3.00 31 33 0 S 68 31 0 W
-LP2P,LP3P,LP4P,LP5P,LP6P,LP7P,LP8P,LP9P San-Juan-LU 124 14 13 3.00 31 33 0 S 68 31 0 W
-LQ0P,LQ1P,LQ2P,LQ3P,LQ4P,LQ5P,LQ6P,LQ7P San-Juan-LU 124 14 13 3.00 31 33 0 S 68 31 0 W
-LQ8P,LQ9P,LR0P,LR1P,LR2P,LR3P,LR4P,LR5P San-Juan-LU 124 14 13 3.00 31 33 0 S 68 31 0 W
-LR6P,LR7P,LR8P,LR9P,LS0P,LS1P,LS2P,LS3P San-Juan-LU 124 14 13 3.00 31 33 0 S 68 31 0 W
-LS4P,LS5P,LS6P,LS7P,LS8P,LS9P,LT0P,LT1P San-Juan-LU 124 14 13 3.00 31 33 0 S 68 31 0 W
-LT2P,LT3P,LT4P,LT5P,LT6P,LT7P,LT8P,LT9P San-Juan-LU 124 14 13 3.00 31 33 0 S 68 31 0 W
-LU0P,LU1P,LU2P,LU3P,LU4P,LU5P,LU6P,LU7P San-Juan-LU 124 14 13 3.00 31 33 0 S 68 31 0 W
-LU8P,LU9P,LV0P,LV1P,LV2P,LV3P,LV4P,LV5P San-Juan-LU 124 14 13 3.00 31 33 0 S 68 31 0 W
-LV6P,LV7P,LV8P,LV9P,LW0P,LW1P,LW2P,LW3P San-Juan-LU 124 14 13 3.00 31 33 0 S 68 31 0 W
-LW4P,LW5P,LW6P,LW7P,LW8P,LW9P San-Juan-LU 124 14 13 3.00 31 33 0 S 68 31 0 W
-LU-Q San-Luis-LU 124 14 13 3.00 33 0 0 S 66 0 0 W
-LU San-Luis-LU-Q 124 14 13 3.00 33 0 0 S 66 0 0 W
-AY0Q,AY1Q,AY2Q,AY3Q,AY4Q,AY5Q,AY6Q,AY7Q San-Luis-LU 124 14 13 3.00 33 0 0 S 66 0 0 W
-AY8Q,AY9Q,AZ0Q,AZ1Q,AZ2Q,AZ3Q,AZ4Q,AZ5Q San-Luis-LU 124 14 13 3.00 33 0 0 S 66 0 0 W
-AZ6Q,AZ7Q,AZ8Q,AZ9Q,L20Q,L21Q,L22Q,L23Q San-Luis-LU 124 14 13 3.00 33 0 0 S 66 0 0 W
-L24Q,L25Q,L26Q,L27Q,L28Q,L29Q,L30Q,L31Q San-Luis-LU 124 14 13 3.00 33 0 0 S 66 0 0 W
-L32Q,L33Q,L34Q,L35Q,L36Q,L37Q,L38Q,L39Q San-Luis-LU 124 14 13 3.00 33 0 0 S 66 0 0 W
-L40Q,L41Q,L42Q,L43Q,L44Q,L45Q,L46Q,L47Q San-Luis-LU 124 14 13 3.00 33 0 0 S 66 0 0 W
-L48Q,L49Q,L50Q,L51Q,L52Q,L53Q,L54Q,L55Q San-Luis-LU 124 14 13 3.00 33 0 0 S 66 0 0 W
-L56Q,L57Q,L58Q,L59Q,L60Q,L61Q,L62Q,L63Q San-Luis-LU 124 14 13 3.00 33 0 0 S 66 0 0 W
-L64Q,L65Q,L66Q,L67Q,L68Q,L69Q,L70Q,L71Q San-Luis-LU 124 14 13 3.00 33 0 0 S 66 0 0 W
-L72Q,L73Q,L74Q,L75Q,L76Q,L77Q,L78Q,L79Q San-Luis-LU 124 14 13 3.00 33 0 0 S 66 0 0 W
-L80Q,L81Q,L82Q,L83Q,L84Q,L85Q,L86Q,L87Q San-Luis-LU 124 14 13 3.00 33 0 0 S 66 0 0 W
-L88Q,L89Q,L90Q,L91Q,L92Q,L93Q,L94Q,L95Q San-Luis-LU 124 14 13 3.00 33 0 0 S 66 0 0 W
-L96Q,L97Q,L98Q,L99Q,LO0Q,LO1Q,LO2Q,LO3Q San-Luis-LU 124 14 13 3.00 33 0 0 S 66 0 0 W
-LO4Q,LO5Q,LO6Q,LO7Q,LO8Q,LO9Q,LP0Q,LP1Q San-Luis-LU 124 14 13 3.00 33 0 0 S 66 0 0 W
-LP2Q,LP3Q,LP4Q,LP5Q,LP6Q,LP7Q,LP8Q,LP9Q San-Luis-LU 124 14 13 3.00 33 0 0 S 66 0 0 W
-LQ0Q,LQ1Q,LQ2Q,LQ3Q,LQ4Q,LQ5Q,LQ6Q,LQ7Q San-Luis-LU 124 14 13 3.00 33 0 0 S 66 0 0 W
-LQ8Q,LQ9Q,LR0Q,LR1Q,LR2Q,LR3Q,LR4Q,LR5Q San-Luis-LU 124 14 13 3.00 33 0 0 S 66 0 0 W
-LR6Q,LR7Q,LR8Q,LR9Q,LS0Q,LS1Q,LS2Q,LS3Q San-Luis-LU 124 14 13 3.00 33 0 0 S 66 0 0 W
-LS4Q,LS5Q,LS6Q,LS7Q,LS8Q,LS9Q,LT0Q,LT1Q San-Luis-LU 124 14 13 3.00 33 0 0 S 66 0 0 W
-LT2Q,LT3Q,LT4Q,LT5Q,LT6Q,LT7Q,LT8Q,LT9Q San-Luis-LU 124 14 13 3.00 33 0 0 S 66 0 0 W
-LU0Q,LU1Q,LU2Q,LU3Q,LU4Q,LU5Q,LU6Q,LU7Q San-Luis-LU 124 14 13 3.00 33 0 0 S 66 0 0 W
-LU8Q,LU9Q,LV0Q,LV1Q,LV2Q,LV3Q,LV4Q,LV5Q San-Luis-LU 124 14 13 3.00 33 0 0 S 66 0 0 W
-LV6Q,LV7Q,LV8Q,LV9Q,LW0Q,LW1Q,LW2Q,LW3Q San-Luis-LU 124 14 13 3.00 33 0 0 S 66 0 0 W
-LW4Q,LW5Q,LW6Q,LW7Q,LW8Q,LW9Q San-Luis-LU 124 14 13 3.00 33 0 0 S 66 0 0 W
-LU-R Catamarca-LU 124 14 13 3.00 28 28 0 S 65 46 0 W
-LU Catamarca-LU-R 124 14 13 3.00 28 28 0 S 65 46 0 W
-AY0R,AY1R,AY2R,AY3R,AY4R,AY5R,AY6R,AY7R Catamarca-LU 124 14 13 3.00 28 28 0 S 65 46 0 W
-AY8R,AY9R,AZ0R,AZ1R,AZ2R,AZ3R,AZ4R,AZ5R Catamarca-LU 124 14 13 3.00 28 28 0 S 65 46 0 W
-AZ6R,AZ7R,AZ8R,AZ9R,L20R,L21R,L22R,L23R Catamarca-LU 124 14 13 3.00 28 28 0 S 65 46 0 W
-L24R,L25R,L26R,L27R,L28R,L29R,L30R,L31R Catamarca-LU 124 14 13 3.00 28 28 0 S 65 46 0 W
-L32R,L33R,L34R,L35R,L36R,L37R,L38R,L39R Catamarca-LU 124 14 13 3.00 28 28 0 S 65 46 0 W
-L40R,L41R,L42R,L43R,L44R,L45R,L46R,L47R Catamarca-LU 124 14 13 3.00 28 28 0 S 65 46 0 W
-L48R,L49R,L50R,L51R,L52R,L53R,L54R,L55R Catamarca-LU 124 14 13 3.00 28 28 0 S 65 46 0 W
-L56R,L57R,L58R,L59R,L60R,L61R,L62R,L63R Catamarca-LU 124 14 13 3.00 28 28 0 S 65 46 0 W
-L64R,L65R,L66R,L67R,L68R,L69R,L70R,L71R Catamarca-LU 124 14 13 3.00 28 28 0 S 65 46 0 W
-L72R,L73R,L74R,L75R,L76R,L77R,L78R,L79R Catamarca-LU 124 14 13 3.00 28 28 0 S 65 46 0 W
-L80R,L81R,L82R,L83R,L84R,L85R,L86R,L87R Catamarca-LU 124 14 13 3.00 28 28 0 S 65 46 0 W
-L88R,L89R,L90R,L91R,L92R,L93R,L94R,L95R Catamarca-LU 124 14 13 3.00 28 28 0 S 65 46 0 W
-L96R,L97R,L98R,L99R,LO0R,LO1R,LO2R,LO3R Catamarca-LU 124 14 13 3.00 28 28 0 S 65 46 0 W
-LO4R,LO5R,LO6R,LO7R,LO8R,LO9R,LP0R,LP1R Catamarca-LU 124 14 13 3.00 28 28 0 S 65 46 0 W
-LP2R,LP3R,LP4R,LP5R,LP6R,LP7R,LP8R,LP9R Catamarca-LU 124 14 13 3.00 28 28 0 S 65 46 0 W
-LQ0R,LQ1R,LQ2R,LQ3R,LQ4R,LQ5R,LQ6R,LQ7R Catamarca-LU 124 14 13 3.00 28 28 0 S 65 46 0 W
-LQ8R,LQ9R,LR0R,LR1R,LR2R,LR3R,LR4R,LR5R Catamarca-LU 124 14 13 3.00 28 28 0 S 65 46 0 W
-LR6R,LR7R,LR8R,LR9R,LS0R,LS1R,LS2R,LS3R Catamarca-LU 124 14 13 3.00 28 28 0 S 65 46 0 W
-LS4R,LS5R,LS6R,LS7R,LS8R,LS9R,LT0R,LT1R Catamarca-LU 124 14 13 3.00 28 28 0 S 65 46 0 W
-LT2R,LT3R,LT4R,LT5R,LT6R,LT7R,LT8R,LT9R Catamarca-LU 124 14 13 3.00 28 28 0 S 65 46 0 W
-LU0R,LU1R,LU2R,LU3R,LU4R,LU5R,LU6R,LU7R Catamarca-LU 124 14 13 3.00 28 28 0 S 65 46 0 W
-LU8R,LU9R,LV0R,LV1R,LV2R,LV3R,LV4R,LV5R Catamarca-LU 124 14 13 3.00 28 28 0 S 65 46 0 W
-LV6R,LV7R,LV8R,LV9R,LW0R,LW1R,LW2R,LW3R Catamarca-LU 124 14 13 3.00 28 28 0 S 65 46 0 W
-LW4R,LW5R,LW6R,LW7R,LW8R,LW9R Catamarca-LU 124 14 13 3.00 28 28 0 S 65 46 0 W
-LU-S La-Rioja-LU 124 14 13 3.00 29 15 0 S 67 0 0 W
-LU La-Rioja-LU-S 124 14 13 3.00 29 15 0 S 67 0 0 W
-AY0S,AY1S,AY2S,AY3S,AY4S,AY5S,AY6S,AY7S La-Rioja-LU 124 14 13 3.00 29 15 0 S 67 0 0 W
-AY8S,AY9S,AZ0S,AZ1S,AZ2S,AZ3S,AZ4S,AZ5S La-Rioja-LU 124 14 13 3.00 29 15 0 S 67 0 0 W
-AZ6S,AZ7S,AZ8S,AZ9S,L20S,L21S,L22S,L23S La-Rioja-LU 124 14 13 3.00 29 15 0 S 67 0 0 W
-L24S,L25S,L26S,L27S,L28S,L29S,L30S,L31S La-Rioja-LU 124 14 13 3.00 29 15 0 S 67 0 0 W
-L32S,L33S,L34S,L35S,L36S,L37S,L38S,L39S La-Rioja-LU 124 14 13 3.00 29 15 0 S 67 0 0 W
-L40S,L41S,L42S,L43S,L44S,L45S,L46S,L47S La-Rioja-LU 124 14 13 3.00 29 15 0 S 67 0 0 W
-L48S,L49S,L50S,L51S,L52S,L53S,L54S,L55S La-Rioja-LU 124 14 13 3.00 29 15 0 S 67 0 0 W
-L56S,L57S,L58S,L59S,L60S,L61S,L62S,L63S La-Rioja-LU 124 14 13 3.00 29 15 0 S 67 0 0 W
-L64S,L65S,L66S,L67S,L68S,L69S,L70S,L71S La-Rioja-LU 124 14 13 3.00 29 15 0 S 67 0 0 W
-L72S,L73S,L74S,L75S,L76S,L77S,L78S,L79S La-Rioja-LU 124 14 13 3.00 29 15 0 S 67 0 0 W
-L80S,L81S,L82S,L83S,L84S,L85S,L86S,L87S La-Rioja-LU 124 14 13 3.00 29 15 0 S 67 0 0 W
-L88S,L89S,L90S,L91S,L92S,L93S,L94S,L95S La-Rioja-LU 124 14 13 3.00 29 15 0 S 67 0 0 W
-L96S,L97S,L98S,L99S,LO0S,LO1S,LO2S,LO3S La-Rioja-LU 124 14 13 3.00 29 15 0 S 67 0 0 W
-LO4S,LO5S,LO6S,LO7S,LO8S,LO9S,LP0S,LP1S La-Rioja-LU 124 14 13 3.00 29 15 0 S 67 0 0 W
-LP2S,LP3S,LP4S,LP5S,LP6S,LP7S,LP8S,LP9S La-Rioja-LU 124 14 13 3.00 29 15 0 S 67 0 0 W
-LQ0S,LQ1S,LQ2S,LQ3S,LQ4S,LQ5S,LQ6S,LQ7S La-Rioja-LU 124 14 13 3.00 29 15 0 S 67 0 0 W
-LQ8S,LQ9S,LR0S,LR1S,LR2S,LR3S,LR4S,LR5S La-Rioja-LU 124 14 13 3.00 29 15 0 S 67 0 0 W
-LR6S,LR7S,LR8S,LR9S,LS0S,LS1S,LS2S,LS3S La-Rioja-LU 124 14 13 3.00 29 15 0 S 67 0 0 W
-LS4S,LS5S,LS6S,LS7S,LS8S,LS9S,LT0S,LT1S La-Rioja-LU 124 14 13 3.00 29 15 0 S 67 0 0 W
-LT2S,LT3S,LT4S,LT5S,LT6S,LT7S,LT8S,LT9S La-Rioja-LU 124 14 13 3.00 29 15 0 S 67 0 0 W
-LU0S,LU1S,LU2S,LU3S,LU4S,LU5S,LU6S,LU7S La-Rioja-LU 124 14 13 3.00 29 15 0 S 67 0 0 W
-LU8S,LU9S,LV0S,LV1S,LV2S,LV3S,LV4S,LV5S La-Rioja-LU 124 14 13 3.00 29 15 0 S 67 0 0 W
-LV6S,LV7S,LV8S,LV9S,LW0S,LW1S,LW2S,LW3S La-Rioja-LU 124 14 13 3.00 29 15 0 S 67 0 0 W
-LW4S,LW5S,LW6S,LW7S,LW8S,LW9S La-Rioja-LU 124 14 13 3.00 29 15 0 S 67 0 0 W
-LU-T Jujuy-LU 124 14 13 3.00 24 10 0 S 65 48 0 W
-LU Jujuy-LU-T 124 14 13 3.00 24 10 0 S 65 48 0 W
-AY0T,AY1T,AY2T,AY3T,AY4T,AY5T,AY6T,AY7T Jujuy-LU 124 14 13 3.00 24 10 0 S 65 48 0 W
-AY8T,AY9T,AZ0T,AZ1T,AZ2T,AZ3T,AZ4T,AZ5T Jujuy-LU 124 14 13 3.00 24 10 0 S 65 48 0 W
-AZ6T,AZ7T,AZ8T,AZ9T,L20T,L21T,L22T,L23T Jujuy-LU 124 14 13 3.00 24 10 0 S 65 48 0 W
-L24T,L25T,L26T,L27T,L28T,L29T,L30T,L31T Jujuy-LU 124 14 13 3.00 24 10 0 S 65 48 0 W
-L32T,L33T,L34T,L35T,L36T,L37T,L38T,L39T Jujuy-LU 124 14 13 3.00 24 10 0 S 65 48 0 W
-L40T,L41T,L42T,L43T,L44T,L45T,L46T,L47T Jujuy-LU 124 14 13 3.00 24 10 0 S 65 48 0 W
-L48T,L49T,L50T,L51T,L52T,L53T,L54T,L55T Jujuy-LU 124 14 13 3.00 24 10 0 S 65 48 0 W
-L56T,L57T,L58T,L59T,L60T,L61T,L62T,L63T Jujuy-LU 124 14 13 3.00 24 10 0 S 65 48 0 W
-L64T,L65T,L66T,L67T,L68T,L69T,L70T,L71T Jujuy-LU 124 14 13 3.00 24 10 0 S 65 48 0 W
-L72T,L73T,L74T,L75T,L76T,L77T,L78T,L79T Jujuy-LU 124 14 13 3.00 24 10 0 S 65 48 0 W
-L80T,L81T,L82T,L83T,L84T,L85T,L86T,L87T Jujuy-LU 124 14 13 3.00 24 10 0 S 65 48 0 W
-L88T,L89T,L90T,L91T,L92T,L93T,L94T,L95T Jujuy-LU 124 14 13 3.00 24 10 0 S 65 48 0 W
-L96T,L97T,L98T,L99T,LO0T,LO1T,LO2T,LO3T Jujuy-LU 124 14 13 3.00 24 10 0 S 65 48 0 W
-LO4T,LO5T,LO6T,LO7T,LO8T,LO9T,LP0T,LP1T Jujuy-LU 124 14 13 3.00 24 10 0 S 65 48 0 W
-LP2T,LP3T,LP4T,LP5T,LP6T,LP7T,LP8T,LP9T Jujuy-LU 124 14 13 3.00 24 10 0 S 65 48 0 W
-LQ0T,LQ1T,LQ2T,LQ3T,LQ4T,LQ5T,LQ6T,LQ7T Jujuy-LU 124 14 13 3.00 24 10 0 S 65 48 0 W
-LQ8T,LQ9T,LR0T,LR1T,LR2T,LR3T,LR4T,LR5T Jujuy-LU 124 14 13 3.00 24 10 0 S 65 48 0 W
-LR6T,LR7T,LR8T,LR9T,LS0T,LS1T,LS2T,LS3T Jujuy-LU 124 14 13 3.00 24 10 0 S 65 48 0 W
-LS4T,LS5T,LS6T,LS7T,LS8T,LS9T,LT0T,LT1T Jujuy-LU 124 14 13 3.00 24 10 0 S 65 48 0 W
-LT2T,LT3T,LT4T,LT5T,LT6T,LT7T,LT8T,LT9T Jujuy-LU 124 14 13 3.00 24 10 0 S 65 48 0 W
-LU0T,LU1T,LU2T,LU3T,LU4T,LU5T,LU6T,LU7T Jujuy-LU 124 14 13 3.00 24 10 0 S 65 48 0 W
-LU8T,LU9T,LV0T,LV1T,LV2T,LV3T,LV4T,LV5T Jujuy-LU 124 14 13 3.00 24 10 0 S 65 48 0 W
-LV6T,LV7T,LV8T,LV9T,LW0T,LW1T,LW2T,LW3T Jujuy-LU 124 14 13 3.00 24 10 0 S 65 48 0 W
-LW4T,LW5T,LW6T,LW7T,LW8T,LW9T Jujuy-LU 124 14 13 3.00 24 10 0 S 65 48 0 W
-LU-U La-Pampas-LU 124 14 13 3.00 38 0 0 S 66 0 0 W
-LU La-Pampas-LU-U 124 14 13 3.00 38 0 0 S 66 0 0 W
-AY0U,AY1U,AY2U,AY3U,AY4U,AY5U,AY6U,AY7U La-Pampas-LU 124 14 13 3.00 38 0 0 S 66 0 0 W
-AY8U,AY9U,AZ0U,AZ1U,AZ2U,AZ3U,AZ4U,AZ5U La-Pampas-LU 124 14 13 3.00 38 0 0 S 66 0 0 W
-AZ6U,AZ7U,AZ8U,AZ9U,L20U,L21U,L22U,L23U La-Pampas-LU 124 14 13 3.00 38 0 0 S 66 0 0 W
-L24U,L25U,L26U,L27U,L28U,L29U,L30U,L31U La-Pampas-LU 124 14 13 3.00 38 0 0 S 66 0 0 W
-L32U,L33U,L34U,L35U,L36U,L37U,L38U,L39U La-Pampas-LU 124 14 13 3.00 38 0 0 S 66 0 0 W
-L40U,L41U,L42U,L43U,L44U,L45U,L46U,L47U La-Pampas-LU 124 14 13 3.00 38 0 0 S 66 0 0 W
-L48U,L49U,L50U,L51U,L52U,L53U,L54U,L55U La-Pampas-LU 124 14 13 3.00 38 0 0 S 66 0 0 W
-L56U,L57U,L58U,L59U,L60U,L61U,L62U,L63U La-Pampas-LU 124 14 13 3.00 38 0 0 S 66 0 0 W
-L64U,L65U,L66U,L67U,L68U,L69U,L70U,L71U La-Pampas-LU 124 14 13 3.00 38 0 0 S 66 0 0 W
-L72U,L73U,L74U,L75U,L76U,L77U,L78U,L79U La-Pampas-LU 124 14 13 3.00 38 0 0 S 66 0 0 W
-L80U,L81U,L82U,L83U,L84U,L85U,L86U,L87U La-Pampas-LU 124 14 13 3.00 38 0 0 S 66 0 0 W
-L88U,L89U,L90U,L91U,L92U,L93U,L94U,L95U La-Pampas-LU 124 14 13 3.00 38 0 0 S 66 0 0 W
-L96U,L97U,L98U,L99U,LO0U,LO1U,LO2U,LO3U La-Pampas-LU 124 14 13 3.00 38 0 0 S 66 0 0 W
-LO4U,LO5U,LO6U,LO7U,LO8U,LO9U,LP0U,LP1U La-Pampas-LU 124 14 13 3.00 38 0 0 S 66 0 0 W
-LP2U,LP3U,LP4U,LP5U,LP6U,LP7U,LP8U,LP9U La-Pampas-LU 124 14 13 3.00 38 0 0 S 66 0 0 W
-LQ0U,LQ1U,LQ2U,LQ3U,LQ4U,LQ5U,LQ6U,LQ7U La-Pampas-LU 124 14 13 3.00 38 0 0 S 66 0 0 W
-LQ8U,LQ9U,LR0U,LR1U,LR2U,LR3U,LR4U,LR5U La-Pampas-LU 124 14 13 3.00 38 0 0 S 66 0 0 W
-LR6U,LR7U,LR8U,LR9U,LS0U,LS1U,LS2U,LS3U La-Pampas-LU 124 14 13 3.00 38 0 0 S 66 0 0 W
-LS4U,LS5U,LS6U,LS7U,LS8U,LS9U,LT0U,LT1U La-Pampas-LU 124 14 13 3.00 38 0 0 S 66 0 0 W
-LT2U,LT3U,LT4U,LT5U,LT6U,LT7U,LT8U,LT9U La-Pampas-LU 124 14 13 3.00 38 0 0 S 66 0 0 W
-LU0U,LU1U,LU2U,LU3U,LU4U,LU5U,LU6U,LU7U La-Pampas-LU 124 14 13 3.00 38 0 0 S 66 0 0 W
-LU8U,LU9U,LV0U,LV1U,LV2U,LV3U,LV4U,LV5U La-Pampas-LU 124 14 13 3.00 38 0 0 S 66 0 0 W
-LV6U,LV7U,LV8U,LV9U,LW0U,LW1U,LW2U,LW3U La-Pampas-LU 124 14 13 3.00 38 0 0 S 66 0 0 W
-LW4U,LW5U,LW6U,LW7U,LW8U,LW9U La-Pampas-LU 124 14 13 3.00 38 0 0 S 66 0 0 W
-LU-V Rio-Negro-LU 124 16 13 3.00 40 0 0 S 66 0 0 W
-LU Rio-Negro-LU-V 124 16 13 3.00 40 0 0 S 66 0 0 W
-AY0V,AY1V,AY2V,AY3V,AY4V,AY5V,AY6V,AY7V Rio-Negro-LU 124 16 13 3.00 40 0 0 S 66 0 0 W
-AY8V,AY9V,AZ0V,AZ1V,AZ2V,AZ3V,AZ4V,AZ5V Rio-Negro-LU 124 16 13 3.00 40 0 0 S 66 0 0 W
-AZ6V,AZ7V,AZ8V,AZ9V,L20V,L21V,L22V,L23V Rio-Negro-LU 124 16 13 3.00 40 0 0 S 66 0 0 W
-L24V,L25V,L26V,L27V,L28V,L29V,L30V,L31V Rio-Negro-LU 124 16 13 3.00 40 0 0 S 66 0 0 W
-L32V,L33V,L34V,L35V,L36V,L37V,L38V,L39V Rio-Negro-LU 124 16 13 3.00 40 0 0 S 66 0 0 W
-L40V,L41V,L42V,L43V,L44V,L45V,L46V,L47V Rio-Negro-LU 124 16 13 3.00 40 0 0 S 66 0 0 W
-L48V,L49V,L50V,L51V,L52V,L53V,L54V,L55V Rio-Negro-LU 124 16 13 3.00 40 0 0 S 66 0 0 W
-L56V,L57V,L58V,L59V,L60V,L61V,L62V,L63V Rio-Negro-LU 124 16 13 3.00 40 0 0 S 66 0 0 W
-L64V,L65V,L66V,L67V,L68V,L69V,L70V,L71V Rio-Negro-LU 124 16 13 3.00 40 0 0 S 66 0 0 W
-L72V,L73V,L74V,L75V,L76V,L77V,L78V,L79V Rio-Negro-LU 124 16 13 3.00 40 0 0 S 66 0 0 W
-L80V,L81V,L82V,L83V,L84V,L85V,L86V,L87V Rio-Negro-LU 124 16 13 3.00 40 0 0 S 66 0 0 W
-L88V,L89V,L90V,L91V,L92V,L93V,L94V,L95V Rio-Negro-LU 124 16 13 3.00 40 0 0 S 66 0 0 W
-L96V,L97V,L98V,L99V,LO0V,LO1V,LO2V,LO3V Rio-Negro-LU 124 16 13 3.00 40 0 0 S 66 0 0 W
-LO4V,LO5V,LO6V,LO7V,LO8V,LO9V,LP0V,LP1V Rio-Negro-LU 124 16 13 3.00 40 0 0 S 66 0 0 W
-LP2V,LP3V,LP4V,LP5V,LP6V,LP7V,LP8V,LP9V Rio-Negro-LU 124 16 13 3.00 40 0 0 S 66 0 0 W
-LQ0V,LQ1V,LQ2V,LQ3V,LQ4V,LQ5V,LQ6V,LQ7V Rio-Negro-LU 124 16 13 3.00 40 0 0 S 66 0 0 W
-LQ8V,LQ9V,LR0V,LR1V,LR2V,LR3V,LR4V,LR5V Rio-Negro-LU 124 16 13 3.00 40 0 0 S 66 0 0 W
-LR6V,LR7V,LR8V,LR9V,LS0V,LS1V,LS2V,LS3V Rio-Negro-LU 124 16 13 3.00 40 0 0 S 66 0 0 W
-LS4V,LS5V,LS6V,LS7V,LS8V,LS9V,LT0V,LT1V Rio-Negro-LU 124 16 13 3.00 40 0 0 S 66 0 0 W
-LT2V,LT3V,LT4V,LT5V,LT6V,LT7V,LT8V,LT9V Rio-Negro-LU 124 16 13 3.00 40 0 0 S 66 0 0 W
-LU0V,LU1V,LU2V,LU3V,LU4V,LU5V,LU6V,LU7V Rio-Negro-LU 124 16 13 3.00 40 0 0 S 66 0 0 W
-LU8V,LU9V,LV0V,LV1V,LV2V,LV3V,LV4V,LV5V Rio-Negro-LU 124 16 13 3.00 40 0 0 S 66 0 0 W
-LV6V,LV7V,LV8V,LV9V,LW0V,LW1V,LW2V,LW3V Rio-Negro-LU 124 16 13 3.00 40 0 0 S 66 0 0 W
-LW4V,LW5V,LW6V,LW7V,LW8V,LW9V Rio-Negro-LU 124 16 13 3.00 40 0 0 S 66 0 0 W
-LU-W Chubut-LU 124 16 13 3.00 45 52 0 S 67 30 0 W
-LU Chubut-LU-W 124 16 13 3.00 45 52 0 S 67 30 0 W
-AY0W,AY1W,AY2W,AY3W,AY4W,AY5W,AY6W,AY7W Chubut-LU 124 16 13 3.00 45 52 0 S 67 30 0 W
-AY8W,AY9W,AZ0W,AZ1W,AZ2W,AZ3W,AZ4W,AZ5W Chubut-LU 124 16 13 3.00 45 52 0 S 67 30 0 W
-AZ6W,AZ7W,AZ8W,AZ9W,L20W,L21W,L22W,L23W Chubut-LU 124 16 13 3.00 45 52 0 S 67 30 0 W
-L24W,L25W,L26W,L27W,L28W,L29W,L30W,L31W Chubut-LU 124 16 13 3.00 45 52 0 S 67 30 0 W
-L32W,L33W,L34W,L35W,L36W,L37W,L38W,L39W Chubut-LU 124 16 13 3.00 45 52 0 S 67 30 0 W
-L40W,L41W,L42W,L43W,L44W,L45W,L46W,L47W Chubut-LU 124 16 13 3.00 45 52 0 S 67 30 0 W
-L48W,L49W,L50W,L51W,L52W,L53W,L54W,L55W Chubut-LU 124 16 13 3.00 45 52 0 S 67 30 0 W
-L56W,L57W,L58W,L59W,L60W,L61W,L62W,L63W Chubut-LU 124 16 13 3.00 45 52 0 S 67 30 0 W
-L64W,L65W,L66W,L67W,L68W,L69W,L70W,L71W Chubut-LU 124 16 13 3.00 45 52 0 S 67 30 0 W
-L72W,L73W,L74W,L75W,L76W,L77W,L78W,L79W Chubut-LU 124 16 13 3.00 45 52 0 S 67 30 0 W
-L80W,L81W,L82W,L83W,L84W,L85W,L86W,L87W Chubut-LU 124 16 13 3.00 45 52 0 S 67 30 0 W
-L88W,L89W,L90W,L91W,L92W,L93W,L94W,L95W Chubut-LU 124 16 13 3.00 45 52 0 S 67 30 0 W
-L96W,L97W,L98W,L99W,LO0W,LO1W,LO2W,LO3W Chubut-LU 124 16 13 3.00 45 52 0 S 67 30 0 W
-LO4W,LO5W,LO6W,LO7W,LO8W,LO9W,LP0W,LP1W Chubut-LU 124 16 13 3.00 45 52 0 S 67 30 0 W
-LP2W,LP3W,LP4W,LP5W,LP6W,LP7W,LP8W,LP9W Chubut-LU 124 16 13 3.00 45 52 0 S 67 30 0 W
-LQ0W,LQ1W,LQ2W,LQ3W,LQ4W,LQ5W,LQ6W,LQ7W Chubut-LU 124 16 13 3.00 45 52 0 S 67 30 0 W
-LQ8W,LQ9W,LR0W,LR1W,LR2W,LR3W,LR4W,LR5W Chubut-LU 124 16 13 3.00 45 52 0 S 67 30 0 W
-LR6W,LR7W,LR8W,LR9W,LS0W,LS1W,LS2W,LS3W Chubut-LU 124 16 13 3.00 45 52 0 S 67 30 0 W
-LS4W,LS5W,LS6W,LS7W,LS8W,LS9W,LT0W,LT1W Chubut-LU 124 16 13 3.00 45 52 0 S 67 30 0 W
-LT2W,LT3W,LT4W,LT5W,LT6W,LT7W,LT8W,LT9W Chubut-LU 124 16 13 3.00 45 52 0 S 67 30 0 W
-LU0W,LU1W,LU2W,LU3W,LU4W,LU5W,LU6W,LU7W Chubut-LU 124 16 13 3.00 45 52 0 S 67 30 0 W
-LU8W,LU9W,LV0W,LV1W,LV2W,LV3W,LV4W,LV5W Chubut-LU 124 16 13 3.00 45 52 0 S 67 30 0 W
-LV6W,LV7W,LV8W,LV9W,LW0W,LW1W,LW2W,LW3W Chubut-LU 124 16 13 3.00 45 52 0 S 67 30 0 W
-LW4W,LW5W,LW6W,LW7W,LW8W,LW9W Chubut-LU 124 16 13 3.00 45 52 0 S 67 30 0 W
-LU-X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-LU Santa-Cruz-Tierra-del-Fuego-LU-X 124 16 13 3.00 45 0 0 S 69 0 0 W
-AY0X,AY1X,AY2X,AY3X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-AY4X,AY5X,AY6X,AY7X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-AY8X,AY9X,AZ0X,AZ1X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-AZ2X,AZ3X,AZ4X,AZ5X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-AZ6X,AZ7X,AZ8X,AZ9X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-L20X,L21X,L22X,L23X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-L24X,L25X,L26X,L27X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-L28X,L29X,L30X,L31X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-L32X,L33X,L34X,L35X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-L36X,L37X,L38X,L39X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-L40X,L41X,L42X,L43X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-L44X,L45X,L46X,L47X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-L48X,L49X,L50X,L51X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-L52X,L53X,L54X,L55X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-L56X,L57X,L58X,L59X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-L60X,L61X,L62X,L63X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-L64X,L65X,L66X,L67X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-L68X,L69X,L70X,L71X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-L72X,L73X,L74X,L75X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-L76X,L77X,L78X,L79X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-L80X,L81X,L82X,L83X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-L84X,L85X,L86X,L87X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-L88X,L89X,L90X,L91X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-L92X,L93X,L94X,L95X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-L96X,L97X,L98X,L99X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-LO0X,LO1X,LO2X,LO3X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-LO4X,LO5X,LO6X,LO7X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-LO8X,LO9X,LP0X,LP1X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-LP2X,LP3X,LP4X,LP5X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-LP6X,LP7X,LP8X,LP9X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-LQ0X,LQ1X,LQ2X,LQ3X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-LQ4X,LQ5X,LQ6X,LQ7X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-LQ8X,LQ9X,LR0X,LR1X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-LR2X,LR3X,LR4X,LR5X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-LR6X,LR7X,LR8X,LR9X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-LS0X,LS1X,LS2X,LS3X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-LS4X,LS5X,LS6X,LS7X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-LS8X,LS9X,LT0X,LT1X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-LT2X,LT3X,LT4X,LT5X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-LT6X,LT7X,LT8X,LT9X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-LU0X,LU1X,LU2X,LU3X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-LU4X,LU5X,LU6X,LU7X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-LU8X,LU9X,LV0X,LV1X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-LV2X,LV3X,LV4X,LV5X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-LV6X,LV7X,LV8X,LV9X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-LW0X,LW1X,LW2X,LW3X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-LW4X,LW5X,LW6X,LW7X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-LW8X,LW9X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 45 0 0 S 69 0 0 W
-LU-Y Neuquen-LU 124 16 13 3.00 38 33 0 S 68 3 0 W
-LU Neuquen-LU-Y 124 16 13 3.00 38 33 0 S 68 3 0 W
-AY0Y,AY1Y,AY2Y,AY3Y,AY4Y,AY5Y,AY6Y,AY7Y Neuquen-LU 124 16 13 3.00 38 33 0 S 68 3 0 W
-AY8Y,AY9Y,AZ0Y,AZ1Y,AZ2Y,AZ3Y,AZ4Y,AZ5Y Neuquen-LU 124 16 13 3.00 38 33 0 S 68 3 0 W
-AZ6Y,AZ7Y,AZ8Y,AZ9Y,L20Y,L21Y,L22Y,L23Y Neuquen-LU 124 16 13 3.00 38 33 0 S 68 3 0 W
-L24Y,L25Y,L26Y,L27Y,L28Y,L29Y,L30Y,L31Y Neuquen-LU 124 16 13 3.00 38 33 0 S 68 3 0 W
-L32Y,L33Y,L34Y,L35Y,L36Y,L37Y,L38Y,L39Y Neuquen-LU 124 16 13 3.00 38 33 0 S 68 3 0 W
-L40Y,L41Y,L42Y,L43Y,L44Y,L45Y,L46Y,L47Y Neuquen-LU 124 16 13 3.00 38 33 0 S 68 3 0 W
-L48Y,L49Y,L50Y,L51Y,L52Y,L53Y,L54Y,L55Y Neuquen-LU 124 16 13 3.00 38 33 0 S 68 3 0 W
-L56Y,L57Y,L58Y,L59Y,L60Y,L61Y,L62Y,L63Y Neuquen-LU 124 16 13 3.00 38 33 0 S 68 3 0 W
-L64Y,L65Y,L66Y,L67Y,L68Y,L69Y,L70Y,L71Y Neuquen-LU 124 16 13 3.00 38 33 0 S 68 3 0 W
-L72Y,L73Y,L74Y,L75Y,L76Y,L77Y,L78Y,L79Y Neuquen-LU 124 16 13 3.00 38 33 0 S 68 3 0 W
-L80Y,L81Y,L82Y,L83Y,L84Y,L85Y,L86Y,L87Y Neuquen-LU 124 16 13 3.00 38 33 0 S 68 3 0 W
-L88Y,L89Y,L90Y,L91Y,L92Y,L93Y,L94Y,L95Y Neuquen-LU 124 16 13 3.00 38 33 0 S 68 3 0 W
-L96Y,L97Y,L98Y,L99Y,LO0Y,LO1Y,LO2Y,LO3Y Neuquen-LU 124 16 13 3.00 38 33 0 S 68 3 0 W
-LO4Y,LO5Y,LO6Y,LO7Y,LO8Y,LO9Y,LP0Y,LP1Y Neuquen-LU 124 16 13 3.00 38 33 0 S 68 3 0 W
-LP2Y,LP3Y,LP4Y,LP5Y,LP6Y,LP7Y,LP8Y,LP9Y Neuquen-LU 124 16 13 3.00 38 33 0 S 68 3 0 W
-LQ0Y,LQ1Y,LQ2Y,LQ3Y,LQ4Y,LQ5Y,LQ6Y,LQ7Y Neuquen-LU 124 16 13 3.00 38 33 0 S 68 3 0 W
-LQ8Y,LQ9Y,LR0Y,LR1Y,LR2Y,LR3Y,LR4Y,LR5Y Neuquen-LU 124 16 13 3.00 38 33 0 S 68 3 0 W
-LR6Y,LR7Y,LR8Y,LR9Y,LS0Y,LS1Y,LS2Y,LS3Y Neuquen-LU 124 16 13 3.00 38 33 0 S 68 3 0 W
-LS4Y,LS5Y,LS6Y,LS7Y,LS8Y,LS9Y,LT0Y,LT1Y Neuquen-LU 124 16 13 3.00 38 33 0 S 68 3 0 W
-LT2Y,LT3Y,LT4Y,LT5Y,LT6Y,LT7Y,LT8Y,LT9Y Neuquen-LU 124 16 13 3.00 38 33 0 S 68 3 0 W
-LU0Y,LU1Y,LU2Y,LU3Y,LU4Y,LU5Y,LU6Y,LU7Y Neuquen-LU 124 16 13 3.00 38 33 0 S 68 3 0 W
-LU8Y,LU9Y,LV0Y,LV1Y,LV2Y,LV3Y,LV4Y,LV5Y Neuquen-LU 124 16 13 3.00 38 33 0 S 68 3 0 W
-LV6Y,LV7Y,LV8Y,LV9Y,LW0Y,LW1Y,LW2Y,LW3Y Neuquen-LU 124 16 13 3.00 38 33 0 S 68 3 0 W
-LW4Y,LW5Y,LW6Y,LW7Y,LW8Y,LW9Y Neuquen-LU 124 16 13 3.00 38 33 0 S 68 3 0 W
+LU Argentina-LU 124 14 13 3.00 32 30 0 S 62 8 0 W @
+AY,AZ,L1,L2,L3,L4,L5,L6,L7,L8,L9,LO,LP Argentina-LU 124 14 13 3.00 32 30 0 S 62 8 0 W
+LQ,LR,LS,LT,LV,LW Argentina-LU 124 14 13 3.00 32 30 0 S 62 8 0 W
+LU-A Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LU Buenos-Aires-city-LU-A 124 14 13 3.00 34 36 0 S 58 23 0 W
+AY0A,AY0B,AY0C,AY1A,AY1B,AY1C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+AY2A,AY2B,AY2C,AY3A,AY3B,AY3C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+AY4A,AY4B,AY4C,AY5A,AY5B,AY5C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+AY6A,AY6B,AY6C,AY7A,AY7B,AY7C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+AY8A,AY8B,AY8C,AY9A,AY9B,AY9C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+AZ0A,AZ0B,AZ0C,AZ1A,AZ1B,AZ1C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+AZ2A,AZ2B,AZ2C,AZ3A,AZ3B,AZ3C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+AZ4A,AZ4B,AZ4C,AZ5A,AZ5B,AZ5C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+AZ6A,AZ6B,AZ6C,AZ7A,AZ7B,AZ7C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+AZ8A,AZ8B,AZ8C,AZ9A,AZ9B,AZ9C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L20A,L20B,L20C,L21A,L21B,L21C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L22A,L22B,L22C,L23A,L23B,L23C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L24A,L24B,L24C,L25A,L25B,L25C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L26A,L26B,L26C,L27A,L27B,L27C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L28A,L28B,L28C,L29A,L29B,L29C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L30A,L30B,L30C,L31A,L31B,L31C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L32A,L32B,L32C,L33A,L33B,L33C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L34A,L34B,L34C,L35A,L35B,L35C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L36A,L36B,L36C,L37A,L37B,L37C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L38A,L38B,L38C,L39A,L39B,L39C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L40A,L40B,L40C,L41A,L41B,L41C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L42A,L42B,L42C,L43A,L43B,L43C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L44A,L44B,L44C,L45A,L45B,L45C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L46A,L46B,L46C,L47A,L47B,L47C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L48A,L48B,L48C,L49A,L49B,L49C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L50A,L50B,L50C,L51A,L51B,L51C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L52A,L52B,L52C,L53A,L53B,L53C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L54A,L54B,L54C,L55A,L55B,L55C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L56A,L56B,L56C,L57A,L57B,L57C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L58A,L58B,L58C,L59A,L59B,L59C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L60A,L60B,L60C,L61A,L61B,L61C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L62A,L62B,L62C,L63A,L63B,L63C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L64A,L64B,L64C,L65A,L65B,L65C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L66A,L66B,L66C,L67A,L67B,L67C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L68A,L68B,L68C,L69A,L69B,L69C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L70A,L70B,L70C,L71A,L71B,L71C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L72A,L72B,L72C,L73A,L73B,L73C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L74A,L74B,L74C,L75A,L75B,L75C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L76A,L76B,L76C,L77A,L77B,L77C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L78A,L78B,L78C,L79A,L79B,L79C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L80A,L80B,L80C,L81A,L81B,L81C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L82A,L82B,L82C,L83A,L83B,L83C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L84A,L84B,L84C,L85A,L85B,L85C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L86A,L86B,L86C,L87A,L87B,L87C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L88A,L88B,L88C,L89A,L89B,L89C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L90A,L90B,L90C,L91A,L91B,L91C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L92A,L92B,L92C,L93A,L93B,L93C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L94A,L94B,L94C,L95A,L95B,L95C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L96A,L96B,L96C,L97A,L97B,L97C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+L98A,L98B,L98C,L99A,L99B,L99C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LO0A,LO0B,LO0C,LO1A,LO1B,LO1C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LO2A,LO2B,LO2C,LO3A,LO3B,LO3C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LO4A,LO4B,LO4C,LO5A,LO5B,LO5C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LO6A,LO6B,LO6C,LO7A,LO7B,LO7C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LO8A,LO8B,LO8C,LO9A,LO9B,LO9C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LP0A,LP0B,LP0C,LP1A,LP1B,LP1C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LP2A,LP2B,LP2C,LP3A,LP3B,LP3C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LP4A,LP4B,LP4C,LP5A,LP5B,LP5C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LP6A,LP6B,LP6C,LP7A,LP7B,LP7C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LP8A,LP8B,LP8C,LP9A,LP9B,LP9C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LQ0A,LQ0B,LQ0C,LQ1A,LQ1B,LQ1C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LQ2A,LQ2B,LQ2C,LQ3A,LQ3B,LQ3C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LQ4A,LQ4B,LQ4C,LQ5A,LQ5B,LQ5C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LQ6A,LQ6B,LQ6C,LQ7A,LQ7B,LQ7C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LQ8A,LQ8B,LQ8C,LQ9A,LQ9B,LQ9C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LR0A,LR0B,LR0C,LR1A,LR1B,LR1C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LR2A,LR2B,LR2C,LR3A,LR3B,LR3C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LR4A,LR4B,LR4C,LR5A,LR5B,LR5C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LR6A,LR6B,LR6C,LR7A,LR7B,LR7C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LR8A,LR8B,LR8C,LR9A,LR9B,LR9C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LS0A,LS0B,LS0C,LS1A,LS1B,LS1C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LS2A,LS2B,LS2C,LS3A,LS3B,LS3C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LS4A,LS4B,LS4C,LS5A,LS5B,LS5C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LS6A,LS6B,LS6C,LS7A,LS7B,LS7C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LS8A,LS8B,LS8C,LS9A,LS9B,LS9C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LT0A,LT0B,LT0C,LT1A,LT1B,LT1C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LT2A,LT2B,LT2C,LT3A,LT3B,LT3C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LT4A,LT4B,LT4C,LT5A,LT5B,LT5C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LT6A,LT6B,LT6C,LT7A,LT7B,LT7C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LT8A,LT8B,LT8C,LT9A,LT9B,LT9C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LU0A,LU0B,LU0C,LU1A,LU1B,LU1C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LU2A,LU2B,LU2C,LU3A,LU3B,LU3C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LU4A,LU4B,LU4C,LU5A,LU5B,LU5C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LU6A,LU6B,LU6C,LU7A,LU7B,LU7C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LU8A,LU8B,LU8C,LU9A,LU9B,LU9C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LV0A,LV0B,LV0C,LV1A,LV1B,LV1C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LV2A,LV2B,LV2C,LV3A,LV3B,LV3C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LV4A,LV4B,LV4C,LV5A,LV5B,LV5C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LV6A,LV6B,LV6C,LV7A,LV7B,LV7C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LV8A,LV8B,LV8C,LV9A,LV9B,LV9C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LW0A,LW0B,LW0C,LW1A,LW1B,LW1C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LW2A,LW2B,LW2C,LW3A,LW3B,LW3C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LW4A,LW4B,LW4C,LW5A,LW5B,LW5C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LW6A,LW6B,LW6C,LW7A,LW7B,LW7C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LW8A,LW8B,LW8C,LW9A,LW9B,LW9C Buenos-Aires-city-LU 124 14 13 3.00 34 36 0 S 58 23 0 W
+LU-D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LU Buenos-Aires-province-LU-D 124 14 13 3.00 33 42 0 S 61 0 0 W
+AY0D,AY0E,AY1D,AY1E,AY2D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+AY2E,AY3D,AY3E,AY4D,AY4E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+AY5D,AY5E,AY6D,AY6E,AY7D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+AY7E,AY8D,AY8E,AY9D,AY9E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+AZ0D,AZ0E,AZ1D,AZ1E,AZ2D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+AZ2E,AZ3D,AZ3E,AZ4D,AZ4E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+AZ5D,AZ5E,AZ6D,AZ6E,AZ7D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+AZ7E,AZ8D,AZ8E,AZ9D,AZ9E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L20D,L20E,L21D,L21E,L22D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L22E,L23D,L23E,L24D,L24E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L25D,L25E,L26D,L26E,L27D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L27E,L28D,L28E,L29D,L29E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L30D,L30E,L31D,L31E,L32D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L32E,L33D,L33E,L34D,L34E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L35D,L35E,L36D,L36E,L37D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L37E,L38D,L38E,L39D,L39E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L40D,L40E,L41D,L41E,L42D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L42E,L43D,L43E,L44D,L44E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L45D,L45E,L46D,L46E,L47D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L47E,L48D,L48E,L49D,L49E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L50D,L50E,L51D,L51E,L52D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L52E,L53D,L53E,L54D,L54E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L55D,L55E,L56D,L56E,L57D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L57E,L58D,L58E,L59D,L59E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L60D,L60E,L61D,L61E,L62D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L62E,L63D,L63E,L64D,L64E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L65D,L65E,L66D,L66E,L67D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L67E,L68D,L68E,L69D,L69E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L70D,L70E,L71D,L71E,L72D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L72E,L73D,L73E,L74D,L74E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L75D,L75E,L76D,L76E,L77D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L77E,L78D,L78E,L79D,L79E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L80D,L80E,L81D,L81E,L82D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L82E,L83D,L83E,L84D,L84E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L85D,L85E,L86D,L86E,L87D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L87E,L88D,L88E,L89D,L89E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L90D,L90E,L91D,L91E,L92D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L92E,L93D,L93E,L94D,L94E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L95D,L95E,L96D,L96E,L97D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+L97E,L98D,L98E,L99D,L99E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LO0D,LO0E,LO1D,LO1E,LO2D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LO2E,LO3D,LO3E,LO4D,LO4E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LO5D,LO5E,LO6D,LO6E,LO7D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LO7E,LO8D,LO8E,LO9D,LO9E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LP0D,LP0E,LP1D,LP1E,LP2D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LP2E,LP3D,LP3E,LP4D,LP4E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LP5D,LP5E,LP6D,LP6E,LP7D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LP7E,LP8D,LP8E,LP9D,LP9E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LQ0D,LQ0E,LQ1D,LQ1E,LQ2D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LQ2E,LQ3D,LQ3E,LQ4D,LQ4E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LQ5D,LQ5E,LQ6D,LQ6E,LQ7D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LQ7E,LQ8D,LQ8E,LQ9D,LQ9E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LR0D,LR0E,LR1D,LR1E,LR2D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LR2E,LR3D,LR3E,LR4D,LR4E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LR5D,LR5E,LR6D,LR6E,LR7D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LR7E,LR8D,LR8E,LR9D,LR9E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LS0D,LS0E,LS1D,LS1E,LS2D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LS2E,LS3D,LS3E,LS4D,LS4E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LS5D,LS5E,LS6D,LS6E,LS7D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LS7E,LS8D,LS8E,LS9D,LS9E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LT0D,LT0E,LT1D,LT1E,LT2D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LT2E,LT3D,LT3E,LT4D,LT4E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LT5D,LT5E,LT6D,LT6E,LT7D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LT7E,LT8D,LT8E,LT9D,LT9E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LU0D,LU0E,LU1D,LU1E,LU2D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LU2E,LU3D,LU3E,LU4D,LU4E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LU5D,LU5E,LU6D,LU6E,LU7D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LU7E,LU8D,LU8E,LU9D,LU9E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LV0D,LV0E,LV1D,LV1E,LV2D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LV2E,LV3D,LV3E,LV4D,LV4E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LV5D,LV5E,LV6D,LV6E,LV7D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LV7E,LV8D,LV8E,LV9D,LV9E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LW0D,LW0E,LW1D,LW1E,LW2D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LW2E,LW3D,LW3E,LW4D,LW4E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LW5D,LW5E,LW6D,LW6E,LW7D Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LW7E,LW8D,LW8E,LW9D,LW9E Buenos-Aires-province-LU 124 14 13 3.00 33 42 0 S 61 0 0 W
+LU-F Santa-Fe-LU 124 14 13 3.00 33 43 0 S 62 14 0 W
+LU Santa-Fe-LU-F 124 14 13 3.00 33 43 0 S 62 14 0 W
+AY0F,AY1F,AY2F,AY3F,AY4F,AY5F,AY6F,AY7F Santa-Fe-LU 124 14 13 3.00 33 43 0 S 62 14 0 W
+AY8F,AY9F,AZ0F,AZ1F,AZ2F,AZ3F,AZ4F,AZ5F Santa-Fe-LU 124 14 13 3.00 33 43 0 S 62 14 0 W
+AZ6F,AZ7F,AZ8F,AZ9F,L20F,L21F,L22F,L23F Santa-Fe-LU 124 14 13 3.00 33 43 0 S 62 14 0 W
+L24F,L25F,L26F,L27F,L28F,L29F,L30F,L31F Santa-Fe-LU 124 14 13 3.00 33 43 0 S 62 14 0 W
+L32F,L33F,L34F,L35F,L36F,L37F,L38F,L39F Santa-Fe-LU 124 14 13 3.00 33 43 0 S 62 14 0 W
+L40F,L41F,L42F,L43F,L44F,L45F,L46F,L47F Santa-Fe-LU 124 14 13 3.00 33 43 0 S 62 14 0 W
+L48F,L49F,L50F,L51F,L52F,L53F,L54F,L55F Santa-Fe-LU 124 14 13 3.00 33 43 0 S 62 14 0 W
+L56F,L57F,L58F,L59F,L60F,L61F,L62F,L63F Santa-Fe-LU 124 14 13 3.00 33 43 0 S 62 14 0 W
+L64F,L65F,L66F,L67F,L68F,L69F,L70F,L71F Santa-Fe-LU 124 14 13 3.00 33 43 0 S 62 14 0 W
+L72F,L73F,L74F,L75F,L76F,L77F,L78F,L79F Santa-Fe-LU 124 14 13 3.00 33 43 0 S 62 14 0 W
+L80F,L81F,L82F,L83F,L84F,L85F,L86F,L87F Santa-Fe-LU 124 14 13 3.00 33 43 0 S 62 14 0 W
+L88F,L89F,L90F,L91F,L92F,L93F,L94F,L95F Santa-Fe-LU 124 14 13 3.00 33 43 0 S 62 14 0 W
+L96F,L97F,L98F,L99F,LO0F,LO1F,LO2F,LO3F Santa-Fe-LU 124 14 13 3.00 33 43 0 S 62 14 0 W
+LO4F,LO5F,LO6F,LO7F,LO8F,LO9F,LP0F,LP1F Santa-Fe-LU 124 14 13 3.00 33 43 0 S 62 14 0 W
+LP2F,LP3F,LP4F,LP5F,LP6F,LP7F,LP8F,LP9F Santa-Fe-LU 124 14 13 3.00 33 43 0 S 62 14 0 W
+LQ0F,LQ1F,LQ2F,LQ3F,LQ4F,LQ5F,LQ6F,LQ7F Santa-Fe-LU 124 14 13 3.00 33 43 0 S 62 14 0 W
+LQ8F,LQ9F,LR0F,LR1F,LR2F,LR3F,LR4F,LR5F Santa-Fe-LU 124 14 13 3.00 33 43 0 S 62 14 0 W
+LR6F,LR7F,LR8F,LR9F,LS0F,LS1F,LS2F,LS3F Santa-Fe-LU 124 14 13 3.00 33 43 0 S 62 14 0 W
+LS4F,LS5F,LS6F,LS7F,LS8F,LS9F,LT0F,LT1F Santa-Fe-LU 124 14 13 3.00 33 43 0 S 62 14 0 W
+LT2F,LT3F,LT4F,LT5F,LT6F,LT7F,LT8F,LT9F Santa-Fe-LU 124 14 13 3.00 33 43 0 S 62 14 0 W
+LU0F,LU1F,LU2F,LU3F,LU4F,LU5F,LU6F,LU7F Santa-Fe-LU 124 14 13 3.00 33 43 0 S 62 14 0 W
+LU8F,LU9F,LV0F,LV1F,LV2F,LV3F,LV4F,LV5F Santa-Fe-LU 124 14 13 3.00 33 43 0 S 62 14 0 W
+LV6F,LV7F,LV8F,LV9F,LW0F,LW1F,LW2F,LW3F Santa-Fe-LU 124 14 13 3.00 33 43 0 S 62 14 0 W
+LW4F,LW5F,LW6F,LW7F,LW8F,LW9F Santa-Fe-LU 124 14 13 3.00 33 43 0 S 62 14 0 W
+LU-G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+LU Chaco-and-Formosa-LU-G 124 14 13 3.00 26 57 0 S 58 43 0 W
+AY0G,AY1G,AY2G,AY3G,AY4G,AY5G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+AY6G,AY7G,AY8G,AY9G,AZ0G,AZ1G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+AZ2G,AZ3G,AZ4G,AZ5G,AZ6G,AZ7G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+AZ8G,AZ9G,L20G,L21G,L22G,L23G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+L24G,L25G,L26G,L27G,L28G,L29G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+L30G,L31G,L32G,L33G,L34G,L35G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+L36G,L37G,L38G,L39G,L40G,L41G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+L42G,L43G,L44G,L45G,L46G,L47G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+L48G,L49G,L50G,L51G,L52G,L53G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+L54G,L55G,L56G,L57G,L58G,L59G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+L60G,L61G,L62G,L63G,L64G,L65G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+L66G,L67G,L68G,L69G,L70G,L71G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+L72G,L73G,L74G,L75G,L76G,L77G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+L78G,L79G,L80G,L81G,L82G,L83G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+L84G,L85G,L86G,L87G,L88G,L89G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+L90G,L91G,L92G,L93G,L94G,L95G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+L96G,L97G,L98G,L99G,LO0G,LO1G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+LO2G,LO3G,LO4G,LO5G,LO6G,LO7G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+LO8G,LO9G,LP0G,LP1G,LP2G,LP3G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+LP4G,LP5G,LP6G,LP7G,LP8G,LP9G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+LQ0G,LQ1G,LQ2G,LQ3G,LQ4G,LQ5G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+LQ6G,LQ7G,LQ8G,LQ9G,LR0G,LR1G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+LR2G,LR3G,LR4G,LR5G,LR6G,LR7G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+LR8G,LR9G,LS0G,LS1G,LS2G,LS3G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+LS4G,LS5G,LS6G,LS7G,LS8G,LS9G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+LT0G,LT1G,LT2G,LT3G,LT4G,LT5G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+LT6G,LT7G,LT8G,LT9G,LU0G,LU1G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+LU2G,LU3G,LU4G,LU5G,LU6G,LU7G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+LU8G,LU9G,LV0G,LV1G,LV2G,LV3G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+LV4G,LV5G,LV6G,LV7G,LV8G,LV9G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+LW0G,LW1G,LW2G,LW3G,LW4G,LW5G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+LW6G,LW7G,LW8G,LW9G Chaco-and-Formosa-LU 124 14 13 3.00 26 57 0 S 58 43 0 W
+LU-H Cordoba-LU 124 14 13 3.00 31 25 0 S 64 11 0 W
+LU Cordoba-LU-H 124 14 13 3.00 31 25 0 S 64 11 0 W
+AY0H,AY1H,AY2H,AY3H,AY4H,AY5H,AY6H,AY7H Cordoba-LU 124 14 13 3.00 31 25 0 S 64 11 0 W
+AY8H,AY9H,AZ0H,AZ1H,AZ2H,AZ3H,AZ4H,AZ5H Cordoba-LU 124 14 13 3.00 31 25 0 S 64 11 0 W
+AZ6H,AZ7H,AZ8H,AZ9H,L20H,L21H,L22H,L23H Cordoba-LU 124 14 13 3.00 31 25 0 S 64 11 0 W
+L24H,L25H,L26H,L27H,L28H,L29H,L30H,L31H Cordoba-LU 124 14 13 3.00 31 25 0 S 64 11 0 W
+L32H,L33H,L34H,L35H,L36H,L37H,L38H,L39H Cordoba-LU 124 14 13 3.00 31 25 0 S 64 11 0 W
+L40H,L41H,L42H,L43H,L44H,L45H,L46H,L47H Cordoba-LU 124 14 13 3.00 31 25 0 S 64 11 0 W
+L48H,L49H,L50H,L51H,L52H,L53H,L54H,L55H Cordoba-LU 124 14 13 3.00 31 25 0 S 64 11 0 W
+L56H,L57H,L58H,L59H,L60H,L61H,L62H,L63H Cordoba-LU 124 14 13 3.00 31 25 0 S 64 11 0 W
+L64H,L65H,L66H,L67H,L68H,L69H,L70H,L71H Cordoba-LU 124 14 13 3.00 31 25 0 S 64 11 0 W
+L72H,L73H,L74H,L75H,L76H,L77H,L78H,L79H Cordoba-LU 124 14 13 3.00 31 25 0 S 64 11 0 W
+L80H,L81H,L82H,L83H,L84H,L85H,L86H,L87H Cordoba-LU 124 14 13 3.00 31 25 0 S 64 11 0 W
+L88H,L89H,L90H,L91H,L92H,L93H,L94H,L95H Cordoba-LU 124 14 13 3.00 31 25 0 S 64 11 0 W
+L96H,L97H,L98H,L99H,LO0H,LO1H,LO2H,LO3H Cordoba-LU 124 14 13 3.00 31 25 0 S 64 11 0 W
+LO4H,LO5H,LO6H,LO7H,LO8H,LO9H,LP0H,LP1H Cordoba-LU 124 14 13 3.00 31 25 0 S 64 11 0 W
+LP2H,LP3H,LP4H,LP5H,LP6H,LP7H,LP8H,LP9H Cordoba-LU 124 14 13 3.00 31 25 0 S 64 11 0 W
+LQ0H,LQ1H,LQ2H,LQ3H,LQ4H,LQ5H,LQ6H,LQ7H Cordoba-LU 124 14 13 3.00 31 25 0 S 64 11 0 W
+LQ8H,LQ9H,LR0H,LR1H,LR2H,LR3H,LR4H,LR5H Cordoba-LU 124 14 13 3.00 31 25 0 S 64 11 0 W
+LR6H,LR7H,LR8H,LR9H,LS0H,LS1H,LS2H,LS3H Cordoba-LU 124 14 13 3.00 31 25 0 S 64 11 0 W
+LS4H,LS5H,LS6H,LS7H,LS8H,LS9H,LT0H,LT1H Cordoba-LU 124 14 13 3.00 31 25 0 S 64 11 0 W
+LT2H,LT3H,LT4H,LT5H,LT6H,LT7H,LT8H,LT9H Cordoba-LU 124 14 13 3.00 31 25 0 S 64 11 0 W
+LU0H,LU1H,LU2H,LU3H,LU4H,LU5H,LU6H,LU7H Cordoba-LU 124 14 13 3.00 31 25 0 S 64 11 0 W
+LU8H,LU9H,LV0H,LV1H,LV2H,LV3H,LV4H,LV5H Cordoba-LU 124 14 13 3.00 31 25 0 S 64 11 0 W
+LV6H,LV7H,LV8H,LV9H,LW0H,LW1H,LW2H,LW3H Cordoba-LU 124 14 13 3.00 31 25 0 S 64 11 0 W
+LW4H,LW5H,LW6H,LW7H,LW8H,LW9H Cordoba-LU 124 14 13 3.00 31 25 0 S 64 11 0 W
+LU-I Misiones-LU 124 14 13 3.00 26 55 0 S 54 31 0 W
+LU Misiones-LU-I 124 14 13 3.00 26 55 0 S 54 31 0 W
+AY0I,AY1I,AY2I,AY3I,AY4I,AY5I,AY6I,AY7I Misiones-LU 124 14 13 3.00 26 55 0 S 54 31 0 W
+AY8I,AY9I,AZ0I,AZ1I,AZ2I,AZ3I,AZ4I,AZ5I Misiones-LU 124 14 13 3.00 26 55 0 S 54 31 0 W
+AZ6I,AZ7I,AZ8I,AZ9I,L20I,L21I,L22I,L23I Misiones-LU 124 14 13 3.00 26 55 0 S 54 31 0 W
+L24I,L25I,L26I,L27I,L28I,L29I,L30I,L31I Misiones-LU 124 14 13 3.00 26 55 0 S 54 31 0 W
+L32I,L33I,L34I,L35I,L36I,L37I,L38I,L39I Misiones-LU 124 14 13 3.00 26 55 0 S 54 31 0 W
+L40I,L41I,L42I,L43I,L44I,L45I,L46I,L47I Misiones-LU 124 14 13 3.00 26 55 0 S 54 31 0 W
+L48I,L49I,L50I,L51I,L52I,L53I,L54I,L55I Misiones-LU 124 14 13 3.00 26 55 0 S 54 31 0 W
+L56I,L57I,L58I,L59I,L60I,L61I,L62I,L63I Misiones-LU 124 14 13 3.00 26 55 0 S 54 31 0 W
+L64I,L65I,L66I,L67I,L68I,L69I,L70I,L71I Misiones-LU 124 14 13 3.00 26 55 0 S 54 31 0 W
+L72I,L73I,L74I,L75I,L76I,L77I,L78I,L79I Misiones-LU 124 14 13 3.00 26 55 0 S 54 31 0 W
+L80I,L81I,L82I,L83I,L84I,L85I,L86I,L87I Misiones-LU 124 14 13 3.00 26 55 0 S 54 31 0 W
+L88I,L89I,L90I,L91I,L92I,L93I,L94I,L95I Misiones-LU 124 14 13 3.00 26 55 0 S 54 31 0 W
+L96I,L97I,L98I,L99I,LO0I,LO1I,LO2I,LO3I Misiones-LU 124 14 13 3.00 26 55 0 S 54 31 0 W
+LO4I,LO5I,LO6I,LO7I,LO8I,LO9I,LP0I,LP1I Misiones-LU 124 14 13 3.00 26 55 0 S 54 31 0 W
+LP2I,LP3I,LP4I,LP5I,LP6I,LP7I,LP8I,LP9I Misiones-LU 124 14 13 3.00 26 55 0 S 54 31 0 W
+LQ0I,LQ1I,LQ2I,LQ3I,LQ4I,LQ5I,LQ6I,LQ7I Misiones-LU 124 14 13 3.00 26 55 0 S 54 31 0 W
+LQ8I,LQ9I,LR0I,LR1I,LR2I,LR3I,LR4I,LR5I Misiones-LU 124 14 13 3.00 26 55 0 S 54 31 0 W
+LR6I,LR7I,LR8I,LR9I,LS0I,LS1I,LS2I,LS3I Misiones-LU 124 14 13 3.00 26 55 0 S 54 31 0 W
+LS4I,LS5I,LS6I,LS7I,LS8I,LS9I,LT0I,LT1I Misiones-LU 124 14 13 3.00 26 55 0 S 54 31 0 W
+LT2I,LT3I,LT4I,LT5I,LT6I,LT7I,LT8I,LT9I Misiones-LU 124 14 13 3.00 26 55 0 S 54 31 0 W
+LU0I,LU1I,LU2I,LU3I,LU4I,LU5I,LU6I,LU7I Misiones-LU 124 14 13 3.00 26 55 0 S 54 31 0 W
+LU8I,LU9I,LV0I,LV1I,LV2I,LV3I,LV4I,LV5I Misiones-LU 124 14 13 3.00 26 55 0 S 54 31 0 W
+LV6I,LV7I,LV8I,LV9I,LW0I,LW1I,LW2I,LW3I Misiones-LU 124 14 13 3.00 26 55 0 S 54 31 0 W
+LW4I,LW5I,LW6I,LW7I,LW8I,LW9I Misiones-LU 124 14 13 3.00 26 55 0 S 54 31 0 W
+LU-J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+LU Entre-Rios-LU-J 124 14 13 3.00 32 3 0 S 60 17 0 W
+AY0J,AY1J,AY2J,AY3J,AY4J,AY5J,AY6J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+AY7J,AY8J,AY9J,AZ0J,AZ1J,AZ2J,AZ3J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+AZ4J,AZ5J,AZ6J,AZ7J,AZ8J,AZ9J,L20J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+L21J,L22J,L23J,L24J,L25J,L26J,L27J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+L28J,L29J,L30J,L31J,L32J,L33J,L34J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+L35J,L36J,L37J,L38J,L39J,L40J,L41J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+L42J,L43J,L44J,L45J,L46J,L47J,L48J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+L49J,L50J,L51J,L52J,L53J,L54J,L55J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+L56J,L57J,L58J,L59J,L60J,L61J,L62J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+L63J,L64J,L65J,L66J,L67J,L68J,L69J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+L70J,L71J,L72J,L73J,L74J,L75J,L76J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+L77J,L78J,L79J,L80J,L81J,L82J,L83J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+L84J,L85J,L86J,L87J,L88J,L89J,L90J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+L91J,L92J,L93J,L94J,L95J,L96J,L97J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+L98J,L99J,LO0J,LO1J,LO2J,LO3J,LO4J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+LO5J,LO6J,LO7J,LO8J,LO9J,LP0J,LP1J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+LP2J,LP3J,LP4J,LP5J,LP6J,LP7J,LP8J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+LP9J,LQ0J,LQ1J,LQ2J,LQ3J,LQ4J,LQ5J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+LQ6J,LQ7J,LQ8J,LQ9J,LR0J,LR1J,LR2J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+LR3J,LR4J,LR5J,LR6J,LR7J,LR8J,LR9J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+LS0J,LS1J,LS2J,LS3J,LS4J,LS5J,LS6J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+LS7J,LS8J,LS9J,LT0J,LT1J,LT2J,LT3J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+LT4J,LT5J,LT6J,LT7J,LT8J,LT9J,LU0J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+LU1J,LU2J,LU3J,LU4J,LU5J,LU6J,LU7J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+LU8J,LU9J,LV0J,LV1J,LV2J,LV3J,LV4J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+LV5J,LV6J,LV7J,LV8J,LV9J,LW0J,LW1J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+LW2J,LW3J,LW4J,LW5J,LW6J,LW7J,LW8J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+LW9J Entre-Rios-LU 124 14 13 3.00 32 3 0 S 60 17 0 W
+LU-K Tucuman-LU 124 14 13 3.00 26 56 0 S 65 20 0 W
+LU Tucuman-LU-K 124 14 13 3.00 26 56 0 S 65 20 0 W
+AY0K,AY1K,AY2K,AY3K,AY4K,AY5K,AY6K,AY7K Tucuman-LU 124 14 13 3.00 26 56 0 S 65 20 0 W
+AY8K,AY9K,AZ0K,AZ1K,AZ2K,AZ3K,AZ4K,AZ5K Tucuman-LU 124 14 13 3.00 26 56 0 S 65 20 0 W
+AZ6K,AZ7K,AZ8K,AZ9K,L20K,L21K,L22K,L23K Tucuman-LU 124 14 13 3.00 26 56 0 S 65 20 0 W
+L24K,L25K,L26K,L27K,L28K,L29K,L30K,L31K Tucuman-LU 124 14 13 3.00 26 56 0 S 65 20 0 W
+L32K,L33K,L34K,L35K,L36K,L37K,L38K,L39K Tucuman-LU 124 14 13 3.00 26 56 0 S 65 20 0 W
+L40K,L41K,L42K,L43K,L44K,L45K,L46K,L47K Tucuman-LU 124 14 13 3.00 26 56 0 S 65 20 0 W
+L48K,L49K,L50K,L51K,L52K,L53K,L54K,L55K Tucuman-LU 124 14 13 3.00 26 56 0 S 65 20 0 W
+L56K,L57K,L58K,L59K,L60K,L61K,L62K,L63K Tucuman-LU 124 14 13 3.00 26 56 0 S 65 20 0 W
+L64K,L65K,L66K,L67K,L68K,L69K,L70K,L71K Tucuman-LU 124 14 13 3.00 26 56 0 S 65 20 0 W
+L72K,L73K,L74K,L75K,L76K,L77K,L78K,L79K Tucuman-LU 124 14 13 3.00 26 56 0 S 65 20 0 W
+L80K,L81K,L82K,L83K,L84K,L85K,L86K,L87K Tucuman-LU 124 14 13 3.00 26 56 0 S 65 20 0 W
+L88K,L89K,L90K,L91K,L92K,L93K,L94K,L95K Tucuman-LU 124 14 13 3.00 26 56 0 S 65 20 0 W
+L96K,L97K,L98K,L99K,LO0K,LO1K,LO2K,LO3K Tucuman-LU 124 14 13 3.00 26 56 0 S 65 20 0 W
+LO4K,LO5K,LO6K,LO7K,LO8K,LO9K,LP0K,LP1K Tucuman-LU 124 14 13 3.00 26 56 0 S 65 20 0 W
+LP2K,LP3K,LP4K,LP5K,LP6K,LP7K,LP8K,LP9K Tucuman-LU 124 14 13 3.00 26 56 0 S 65 20 0 W
+LQ0K,LQ1K,LQ2K,LQ3K,LQ4K,LQ5K,LQ6K,LQ7K Tucuman-LU 124 14 13 3.00 26 56 0 S 65 20 0 W
+LQ8K,LQ9K,LR0K,LR1K,LR2K,LR3K,LR4K,LR5K Tucuman-LU 124 14 13 3.00 26 56 0 S 65 20 0 W
+LR6K,LR7K,LR8K,LR9K,LS0K,LS1K,LS2K,LS3K Tucuman-LU 124 14 13 3.00 26 56 0 S 65 20 0 W
+LS4K,LS5K,LS6K,LS7K,LS8K,LS9K,LT0K,LT1K Tucuman-LU 124 14 13 3.00 26 56 0 S 65 20 0 W
+LT2K,LT3K,LT4K,LT5K,LT6K,LT7K,LT8K,LT9K Tucuman-LU 124 14 13 3.00 26 56 0 S 65 20 0 W
+LU0K,LU1K,LU2K,LU3K,LU4K,LU5K,LU6K,LU7K Tucuman-LU 124 14 13 3.00 26 56 0 S 65 20 0 W
+LU8K,LU9K,LV0K,LV1K,LV2K,LV3K,LV4K,LV5K Tucuman-LU 124 14 13 3.00 26 56 0 S 65 20 0 W
+LV6K,LV7K,LV8K,LV9K,LW0K,LW1K,LW2K,LW3K Tucuman-LU 124 14 13 3.00 26 56 0 S 65 20 0 W
+LW4K,LW5K,LW6K,LW7K,LW8K,LW9K Tucuman-LU 124 14 13 3.00 26 56 0 S 65 20 0 W
+LU-L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+LU Corrientes-LU-L 124 14 13 3.00 28 40 0 S 57 38 0 W
+AY0L,AY1L,AY2L,AY3L,AY4L,AY5L,AY6L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+AY7L,AY8L,AY9L,AZ0L,AZ1L,AZ2L,AZ3L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+AZ4L,AZ5L,AZ6L,AZ7L,AZ8L,AZ9L,L20L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+L21L,L22L,L23L,L24L,L25L,L26L,L27L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+L28L,L29L,L30L,L31L,L32L,L33L,L34L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+L35L,L36L,L37L,L38L,L39L,L40L,L41L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+L42L,L43L,L44L,L45L,L46L,L47L,L48L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+L49L,L50L,L51L,L52L,L53L,L54L,L55L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+L56L,L57L,L58L,L59L,L60L,L61L,L62L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+L63L,L64L,L65L,L66L,L67L,L68L,L69L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+L70L,L71L,L72L,L73L,L74L,L75L,L76L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+L77L,L78L,L79L,L80L,L81L,L82L,L83L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+L84L,L85L,L86L,L87L,L88L,L89L,L90L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+L91L,L92L,L93L,L94L,L95L,L96L,L97L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+L98L,L99L,LO0L,LO1L,LO2L,LO3L,LO4L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+LO5L,LO6L,LO7L,LO8L,LO9L,LP0L,LP1L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+LP2L,LP3L,LP4L,LP5L,LP6L,LP7L,LP8L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+LP9L,LQ0L,LQ1L,LQ2L,LQ3L,LQ4L,LQ5L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+LQ6L,LQ7L,LQ8L,LQ9L,LR0L,LR1L,LR2L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+LR3L,LR4L,LR5L,LR6L,LR7L,LR8L,LR9L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+LS0L,LS1L,LS2L,LS3L,LS4L,LS5L,LS6L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+LS7L,LS8L,LS9L,LT0L,LT1L,LT2L,LT3L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+LT4L,LT5L,LT6L,LT7L,LT8L,LT9L,LU0L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+LU1L,LU2L,LU3L,LU4L,LU5L,LU6L,LU7L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+LU8L,LU9L,LV0L,LV1L,LV2L,LV3L,LV4L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+LV5L,LV6L,LV7L,LV8L,LV9L,LW0L,LW1L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+LW2L,LW3L,LW4L,LW5L,LW6L,LW7L,LW8L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+LW9L Corrientes-LU 124 14 13 3.00 28 40 0 S 57 38 0 W
+LU-M Mendoza-LU 124 14 13 3.00 32 53 0 S 68 51 0 W
+LU Mendoza-LU-M 124 14 13 3.00 32 53 0 S 68 51 0 W
+AY0M,AY1M,AY2M,AY3M,AY4M,AY5M,AY6M,AY7M Mendoza-LU 124 14 13 3.00 32 53 0 S 68 51 0 W
+AY8M,AY9M,AZ0M,AZ1M,AZ2M,AZ3M,AZ4M,AZ5M Mendoza-LU 124 14 13 3.00 32 53 0 S 68 51 0 W
+AZ6M,AZ7M,AZ8M,AZ9M,L20M,L21M,L22M,L23M Mendoza-LU 124 14 13 3.00 32 53 0 S 68 51 0 W
+L24M,L25M,L26M,L27M,L28M,L29M,L30M,L31M Mendoza-LU 124 14 13 3.00 32 53 0 S 68 51 0 W
+L32M,L33M,L34M,L35M,L36M,L37M,L38M,L39M Mendoza-LU 124 14 13 3.00 32 53 0 S 68 51 0 W
+L40M,L41M,L42M,L43M,L44M,L45M,L46M,L47M Mendoza-LU 124 14 13 3.00 32 53 0 S 68 51 0 W
+L48M,L49M,L50M,L51M,L52M,L53M,L54M,L55M Mendoza-LU 124 14 13 3.00 32 53 0 S 68 51 0 W
+L56M,L57M,L58M,L59M,L60M,L61M,L62M,L63M Mendoza-LU 124 14 13 3.00 32 53 0 S 68 51 0 W
+L64M,L65M,L66M,L67M,L68M,L69M,L70M,L71M Mendoza-LU 124 14 13 3.00 32 53 0 S 68 51 0 W
+L72M,L73M,L74M,L75M,L76M,L77M,L78M,L79M Mendoza-LU 124 14 13 3.00 32 53 0 S 68 51 0 W
+L80M,L81M,L82M,L83M,L84M,L85M,L86M,L87M Mendoza-LU 124 14 13 3.00 32 53 0 S 68 51 0 W
+L88M,L89M,L90M,L91M,L92M,L93M,L94M,L95M Mendoza-LU 124 14 13 3.00 32 53 0 S 68 51 0 W
+L96M,L97M,L98M,L99M,LO0M,LO1M,LO2M,LO3M Mendoza-LU 124 14 13 3.00 32 53 0 S 68 51 0 W
+LO4M,LO5M,LO6M,LO7M,LO8M,LO9M,LP0M,LP1M Mendoza-LU 124 14 13 3.00 32 53 0 S 68 51 0 W
+LP2M,LP3M,LP4M,LP5M,LP6M,LP7M,LP8M,LP9M Mendoza-LU 124 14 13 3.00 32 53 0 S 68 51 0 W
+LQ0M,LQ1M,LQ2M,LQ3M,LQ4M,LQ5M,LQ6M,LQ7M Mendoza-LU 124 14 13 3.00 32 53 0 S 68 51 0 W
+LQ8M,LQ9M,LR0M,LR1M,LR2M,LR3M,LR4M,LR5M Mendoza-LU 124 14 13 3.00 32 53 0 S 68 51 0 W
+LR6M,LR7M,LR8M,LR9M,LS0M,LS1M,LS2M,LS3M Mendoza-LU 124 14 13 3.00 32 53 0 S 68 51 0 W
+LS4M,LS5M,LS6M,LS7M,LS8M,LS9M,LT0M,LT1M Mendoza-LU 124 14 13 3.00 32 53 0 S 68 51 0 W
+LT2M,LT3M,LT4M,LT5M,LT6M,LT7M,LT8M,LT9M Mendoza-LU 124 14 13 3.00 32 53 0 S 68 51 0 W
+LU0M,LU1M,LU2M,LU3M,LU4M,LU5M,LU6M,LU7M Mendoza-LU 124 14 13 3.00 32 53 0 S 68 51 0 W
+LU8M,LU9M,LV0M,LV1M,LV2M,LV3M,LV4M,LV5M Mendoza-LU 124 14 13 3.00 32 53 0 S 68 51 0 W
+LV6M,LV7M,LV8M,LV9M,LW0M,LW1M,LW2M,LW3M Mendoza-LU 124 14 13 3.00 32 53 0 S 68 51 0 W
+LW4M,LW5M,LW6M,LW7M,LW8M,LW9M Mendoza-LU 124 14 13 3.00 32 53 0 S 68 51 0 W
+LU-N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+LU Santiago-del-Estero-LU-N 124 14 13 3.00 27 47 0 S 64 16 0 W
+AY0N,AY1N,AY2N,AY3N,AY4N,AY5N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+AY6N,AY7N,AY8N,AY9N,AZ0N,AZ1N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+AZ2N,AZ3N,AZ4N,AZ5N,AZ6N,AZ7N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+AZ8N,AZ9N,L20N,L21N,L22N,L23N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+L24N,L25N,L26N,L27N,L28N,L29N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+L30N,L31N,L32N,L33N,L34N,L35N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+L36N,L37N,L38N,L39N,L40N,L41N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+L42N,L43N,L44N,L45N,L46N,L47N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+L48N,L49N,L50N,L51N,L52N,L53N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+L54N,L55N,L56N,L57N,L58N,L59N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+L60N,L61N,L62N,L63N,L64N,L65N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+L66N,L67N,L68N,L69N,L70N,L71N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+L72N,L73N,L74N,L75N,L76N,L77N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+L78N,L79N,L80N,L81N,L82N,L83N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+L84N,L85N,L86N,L87N,L88N,L89N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+L90N,L91N,L92N,L93N,L94N,L95N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+L96N,L97N,L98N,L99N,LO0N,LO1N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+LO2N,LO3N,LO4N,LO5N,LO6N,LO7N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+LO8N,LO9N,LP0N,LP1N,LP2N,LP3N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+LP4N,LP5N,LP6N,LP7N,LP8N,LP9N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+LQ0N,LQ1N,LQ2N,LQ3N,LQ4N,LQ5N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+LQ6N,LQ7N,LQ8N,LQ9N,LR0N,LR1N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+LR2N,LR3N,LR4N,LR5N,LR6N,LR7N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+LR8N,LR9N,LS0N,LS1N,LS2N,LS3N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+LS4N,LS5N,LS6N,LS7N,LS8N,LS9N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+LT0N,LT1N,LT2N,LT3N,LT4N,LT5N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+LT6N,LT7N,LT8N,LT9N,LU0N,LU1N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+LU2N,LU3N,LU4N,LU5N,LU6N,LU7N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+LU8N,LU9N,LV0N,LV1N,LV2N,LV3N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+LV4N,LV5N,LV6N,LV7N,LV8N,LV9N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+LW0N,LW1N,LW2N,LW3N,LW4N,LW5N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+LW6N,LW7N,LW8N,LW9N Santiago-del-Estero-LU 124 14 13 3.00 27 47 0 S 64 16 0 W
+LU-O Salta-LU 124 14 13 3.00 24 47 0 S 65 25 0 W
+LU Salta-LU-O 124 14 13 3.00 24 47 0 S 65 25 0 W
+AY0O,AY1O,AY2O,AY3O,AY4O,AY5O,AY6O,AY7O Salta-LU 124 14 13 3.00 24 47 0 S 65 25 0 W
+AY8O,AY9O,AZ0O,AZ1O,AZ2O,AZ3O,AZ4O,AZ5O Salta-LU 124 14 13 3.00 24 47 0 S 65 25 0 W
+AZ6O,AZ7O,AZ8O,AZ9O,L20O,L21O,L22O,L23O Salta-LU 124 14 13 3.00 24 47 0 S 65 25 0 W
+L24O,L25O,L26O,L27O,L28O,L29O,L30O,L31O Salta-LU 124 14 13 3.00 24 47 0 S 65 25 0 W
+L32O,L33O,L34O,L35O,L36O,L37O,L38O,L39O Salta-LU 124 14 13 3.00 24 47 0 S 65 25 0 W
+L40O,L41O,L42O,L43O,L44O,L45O,L46O,L47O Salta-LU 124 14 13 3.00 24 47 0 S 65 25 0 W
+L48O,L49O,L50O,L51O,L52O,L53O,L54O,L55O Salta-LU 124 14 13 3.00 24 47 0 S 65 25 0 W
+L56O,L57O,L58O,L59O,L60O,L61O,L62O,L63O Salta-LU 124 14 13 3.00 24 47 0 S 65 25 0 W
+L64O,L65O,L66O,L67O,L68O,L69O,L70O,L71O Salta-LU 124 14 13 3.00 24 47 0 S 65 25 0 W
+L72O,L73O,L74O,L75O,L76O,L77O,L78O,L79O Salta-LU 124 14 13 3.00 24 47 0 S 65 25 0 W
+L80O,L81O,L82O,L83O,L84O,L85O,L86O,L87O Salta-LU 124 14 13 3.00 24 47 0 S 65 25 0 W
+L88O,L89O,L90O,L91O,L92O,L93O,L94O,L95O Salta-LU 124 14 13 3.00 24 47 0 S 65 25 0 W
+L96O,L97O,L98O,L99O,LO0O,LO1O,LO2O,LO3O Salta-LU 124 14 13 3.00 24 47 0 S 65 25 0 W
+LO4O,LO5O,LO6O,LO7O,LO8O,LO9O,LP0O,LP1O Salta-LU 124 14 13 3.00 24 47 0 S 65 25 0 W
+LP2O,LP3O,LP4O,LP5O,LP6O,LP7O,LP8O,LP9O Salta-LU 124 14 13 3.00 24 47 0 S 65 25 0 W
+LQ0O,LQ1O,LQ2O,LQ3O,LQ4O,LQ5O,LQ6O,LQ7O Salta-LU 124 14 13 3.00 24 47 0 S 65 25 0 W
+LQ8O,LQ9O,LR0O,LR1O,LR2O,LR3O,LR4O,LR5O Salta-LU 124 14 13 3.00 24 47 0 S 65 25 0 W
+LR6O,LR7O,LR8O,LR9O,LS0O,LS1O,LS2O,LS3O Salta-LU 124 14 13 3.00 24 47 0 S 65 25 0 W
+LS4O,LS5O,LS6O,LS7O,LS8O,LS9O,LT0O,LT1O Salta-LU 124 14 13 3.00 24 47 0 S 65 25 0 W
+LT2O,LT3O,LT4O,LT5O,LT6O,LT7O,LT8O,LT9O Salta-LU 124 14 13 3.00 24 47 0 S 65 25 0 W
+LU0O,LU1O,LU2O,LU3O,LU4O,LU5O,LU6O,LU7O Salta-LU 124 14 13 3.00 24 47 0 S 65 25 0 W
+LU8O,LU9O,LV0O,LV1O,LV2O,LV3O,LV4O,LV5O Salta-LU 124 14 13 3.00 24 47 0 S 65 25 0 W
+LV6O,LV7O,LV8O,LV9O,LW0O,LW1O,LW2O,LW3O Salta-LU 124 14 13 3.00 24 47 0 S 65 25 0 W
+LW4O,LW5O,LW6O,LW7O,LW8O,LW9O Salta-LU 124 14 13 3.00 24 47 0 S 65 25 0 W
+LU-P San-Juan-LU 124 14 13 3.00 30 52 0 S 68 59 0 W
+LU San-Juan-LU-P 124 14 13 3.00 30 52 0 S 68 59 0 W
+AY0P,AY1P,AY2P,AY3P,AY4P,AY5P,AY6P,AY7P San-Juan-LU 124 14 13 3.00 30 52 0 S 68 59 0 W
+AY8P,AY9P,AZ0P,AZ1P,AZ2P,AZ3P,AZ4P,AZ5P San-Juan-LU 124 14 13 3.00 30 52 0 S 68 59 0 W
+AZ6P,AZ7P,AZ8P,AZ9P,L20P,L21P,L22P,L23P San-Juan-LU 124 14 13 3.00 30 52 0 S 68 59 0 W
+L24P,L25P,L26P,L27P,L28P,L29P,L30P,L31P San-Juan-LU 124 14 13 3.00 30 52 0 S 68 59 0 W
+L32P,L33P,L34P,L35P,L36P,L37P,L38P,L39P San-Juan-LU 124 14 13 3.00 30 52 0 S 68 59 0 W
+L40P,L41P,L42P,L43P,L44P,L45P,L46P,L47P San-Juan-LU 124 14 13 3.00 30 52 0 S 68 59 0 W
+L48P,L49P,L50P,L51P,L52P,L53P,L54P,L55P San-Juan-LU 124 14 13 3.00 30 52 0 S 68 59 0 W
+L56P,L57P,L58P,L59P,L60P,L61P,L62P,L63P San-Juan-LU 124 14 13 3.00 30 52 0 S 68 59 0 W
+L64P,L65P,L66P,L67P,L68P,L69P,L70P,L71P San-Juan-LU 124 14 13 3.00 30 52 0 S 68 59 0 W
+L72P,L73P,L74P,L75P,L76P,L77P,L78P,L79P San-Juan-LU 124 14 13 3.00 30 52 0 S 68 59 0 W
+L80P,L81P,L82P,L83P,L84P,L85P,L86P,L87P San-Juan-LU 124 14 13 3.00 30 52 0 S 68 59 0 W
+L88P,L89P,L90P,L91P,L92P,L93P,L94P,L95P San-Juan-LU 124 14 13 3.00 30 52 0 S 68 59 0 W
+L96P,L97P,L98P,L99P,LO0P,LO1P,LO2P,LO3P San-Juan-LU 124 14 13 3.00 30 52 0 S 68 59 0 W
+LO4P,LO5P,LO6P,LO7P,LO8P,LO9P,LP0P,LP1P San-Juan-LU 124 14 13 3.00 30 52 0 S 68 59 0 W
+LP2P,LP3P,LP4P,LP5P,LP6P,LP7P,LP8P,LP9P San-Juan-LU 124 14 13 3.00 30 52 0 S 68 59 0 W
+LQ0P,LQ1P,LQ2P,LQ3P,LQ4P,LQ5P,LQ6P,LQ7P San-Juan-LU 124 14 13 3.00 30 52 0 S 68 59 0 W
+LQ8P,LQ9P,LR0P,LR1P,LR2P,LR3P,LR4P,LR5P San-Juan-LU 124 14 13 3.00 30 52 0 S 68 59 0 W
+LR6P,LR7P,LR8P,LR9P,LS0P,LS1P,LS2P,LS3P San-Juan-LU 124 14 13 3.00 30 52 0 S 68 59 0 W
+LS4P,LS5P,LS6P,LS7P,LS8P,LS9P,LT0P,LT1P San-Juan-LU 124 14 13 3.00 30 52 0 S 68 59 0 W
+LT2P,LT3P,LT4P,LT5P,LT6P,LT7P,LT8P,LT9P San-Juan-LU 124 14 13 3.00 30 52 0 S 68 59 0 W
+LU0P,LU1P,LU2P,LU3P,LU4P,LU5P,LU6P,LU7P San-Juan-LU 124 14 13 3.00 30 52 0 S 68 59 0 W
+LU8P,LU9P,LV0P,LV1P,LV2P,LV3P,LV4P,LV5P San-Juan-LU 124 14 13 3.00 30 52 0 S 68 59 0 W
+LV6P,LV7P,LV8P,LV9P,LW0P,LW1P,LW2P,LW3P San-Juan-LU 124 14 13 3.00 30 52 0 S 68 59 0 W
+LW4P,LW5P,LW6P,LW7P,LW8P,LW9P San-Juan-LU 124 14 13 3.00 30 52 0 S 68 59 0 W
+LU-Q San-Luis-LU 124 14 13 3.00 33 18 0 S 66 21 0 W
+LU San-Luis-LU-Q 124 14 13 3.00 33 18 0 S 66 21 0 W
+AY0Q,AY1Q,AY2Q,AY3Q,AY4Q,AY5Q,AY6Q,AY7Q San-Luis-LU 124 14 13 3.00 33 18 0 S 66 21 0 W
+AY8Q,AY9Q,AZ0Q,AZ1Q,AZ2Q,AZ3Q,AZ4Q,AZ5Q San-Luis-LU 124 14 13 3.00 33 18 0 S 66 21 0 W
+AZ6Q,AZ7Q,AZ8Q,AZ9Q,L20Q,L21Q,L22Q,L23Q San-Luis-LU 124 14 13 3.00 33 18 0 S 66 21 0 W
+L24Q,L25Q,L26Q,L27Q,L28Q,L29Q,L30Q,L31Q San-Luis-LU 124 14 13 3.00 33 18 0 S 66 21 0 W
+L32Q,L33Q,L34Q,L35Q,L36Q,L37Q,L38Q,L39Q San-Luis-LU 124 14 13 3.00 33 18 0 S 66 21 0 W
+L40Q,L41Q,L42Q,L43Q,L44Q,L45Q,L46Q,L47Q San-Luis-LU 124 14 13 3.00 33 18 0 S 66 21 0 W
+L48Q,L49Q,L50Q,L51Q,L52Q,L53Q,L54Q,L55Q San-Luis-LU 124 14 13 3.00 33 18 0 S 66 21 0 W
+L56Q,L57Q,L58Q,L59Q,L60Q,L61Q,L62Q,L63Q San-Luis-LU 124 14 13 3.00 33 18 0 S 66 21 0 W
+L64Q,L65Q,L66Q,L67Q,L68Q,L69Q,L70Q,L71Q San-Luis-LU 124 14 13 3.00 33 18 0 S 66 21 0 W
+L72Q,L73Q,L74Q,L75Q,L76Q,L77Q,L78Q,L79Q San-Luis-LU 124 14 13 3.00 33 18 0 S 66 21 0 W
+L80Q,L81Q,L82Q,L83Q,L84Q,L85Q,L86Q,L87Q San-Luis-LU 124 14 13 3.00 33 18 0 S 66 21 0 W
+L88Q,L89Q,L90Q,L91Q,L92Q,L93Q,L94Q,L95Q San-Luis-LU 124 14 13 3.00 33 18 0 S 66 21 0 W
+L96Q,L97Q,L98Q,L99Q,LO0Q,LO1Q,LO2Q,LO3Q San-Luis-LU 124 14 13 3.00 33 18 0 S 66 21 0 W
+LO4Q,LO5Q,LO6Q,LO7Q,LO8Q,LO9Q,LP0Q,LP1Q San-Luis-LU 124 14 13 3.00 33 18 0 S 66 21 0 W
+LP2Q,LP3Q,LP4Q,LP5Q,LP6Q,LP7Q,LP8Q,LP9Q San-Luis-LU 124 14 13 3.00 33 18 0 S 66 21 0 W
+LQ0Q,LQ1Q,LQ2Q,LQ3Q,LQ4Q,LQ5Q,LQ6Q,LQ7Q San-Luis-LU 124 14 13 3.00 33 18 0 S 66 21 0 W
+LQ8Q,LQ9Q,LR0Q,LR1Q,LR2Q,LR3Q,LR4Q,LR5Q San-Luis-LU 124 14 13 3.00 33 18 0 S 66 21 0 W
+LR6Q,LR7Q,LR8Q,LR9Q,LS0Q,LS1Q,LS2Q,LS3Q San-Luis-LU 124 14 13 3.00 33 18 0 S 66 21 0 W
+LS4Q,LS5Q,LS6Q,LS7Q,LS8Q,LS9Q,LT0Q,LT1Q San-Luis-LU 124 14 13 3.00 33 18 0 S 66 21 0 W
+LT2Q,LT3Q,LT4Q,LT5Q,LT6Q,LT7Q,LT8Q,LT9Q San-Luis-LU 124 14 13 3.00 33 18 0 S 66 21 0 W
+LU0Q,LU1Q,LU2Q,LU3Q,LU4Q,LU5Q,LU6Q,LU7Q San-Luis-LU 124 14 13 3.00 33 18 0 S 66 21 0 W
+LU8Q,LU9Q,LV0Q,LV1Q,LV2Q,LV3Q,LV4Q,LV5Q San-Luis-LU 124 14 13 3.00 33 18 0 S 66 21 0 W
+LV6Q,LV7Q,LV8Q,LV9Q,LW0Q,LW1Q,LW2Q,LW3Q San-Luis-LU 124 14 13 3.00 33 18 0 S 66 21 0 W
+LW4Q,LW5Q,LW6Q,LW7Q,LW8Q,LW9Q San-Luis-LU 124 14 13 3.00 33 18 0 S 66 21 0 W
+LU-R Catamarca-LU 124 14 13 3.00 28 26 0 S 65 47 0 W
+LU Catamarca-LU-R 124 14 13 3.00 28 26 0 S 65 47 0 W
+AY0R,AY1R,AY2R,AY3R,AY4R,AY5R,AY6R,AY7R Catamarca-LU 124 14 13 3.00 28 26 0 S 65 47 0 W
+AY8R,AY9R,AZ0R,AZ1R,AZ2R,AZ3R,AZ4R,AZ5R Catamarca-LU 124 14 13 3.00 28 26 0 S 65 47 0 W
+AZ6R,AZ7R,AZ8R,AZ9R,L20R,L21R,L22R,L23R Catamarca-LU 124 14 13 3.00 28 26 0 S 65 47 0 W
+L24R,L25R,L26R,L27R,L28R,L29R,L30R,L31R Catamarca-LU 124 14 13 3.00 28 26 0 S 65 47 0 W
+L32R,L33R,L34R,L35R,L36R,L37R,L38R,L39R Catamarca-LU 124 14 13 3.00 28 26 0 S 65 47 0 W
+L40R,L41R,L42R,L43R,L44R,L45R,L46R,L47R Catamarca-LU 124 14 13 3.00 28 26 0 S 65 47 0 W
+L48R,L49R,L50R,L51R,L52R,L53R,L54R,L55R Catamarca-LU 124 14 13 3.00 28 26 0 S 65 47 0 W
+L56R,L57R,L58R,L59R,L60R,L61R,L62R,L63R Catamarca-LU 124 14 13 3.00 28 26 0 S 65 47 0 W
+L64R,L65R,L66R,L67R,L68R,L69R,L70R,L71R Catamarca-LU 124 14 13 3.00 28 26 0 S 65 47 0 W
+L72R,L73R,L74R,L75R,L76R,L77R,L78R,L79R Catamarca-LU 124 14 13 3.00 28 26 0 S 65 47 0 W
+L80R,L81R,L82R,L83R,L84R,L85R,L86R,L87R Catamarca-LU 124 14 13 3.00 28 26 0 S 65 47 0 W
+L88R,L89R,L90R,L91R,L92R,L93R,L94R,L95R Catamarca-LU 124 14 13 3.00 28 26 0 S 65 47 0 W
+L96R,L97R,L98R,L99R,LO0R,LO1R,LO2R,LO3R Catamarca-LU 124 14 13 3.00 28 26 0 S 65 47 0 W
+LO4R,LO5R,LO6R,LO7R,LO8R,LO9R,LP0R,LP1R Catamarca-LU 124 14 13 3.00 28 26 0 S 65 47 0 W
+LP2R,LP3R,LP4R,LP5R,LP6R,LP7R,LP8R,LP9R Catamarca-LU 124 14 13 3.00 28 26 0 S 65 47 0 W
+LQ0R,LQ1R,LQ2R,LQ3R,LQ4R,LQ5R,LQ6R,LQ7R Catamarca-LU 124 14 13 3.00 28 26 0 S 65 47 0 W
+LQ8R,LQ9R,LR0R,LR1R,LR2R,LR3R,LR4R,LR5R Catamarca-LU 124 14 13 3.00 28 26 0 S 65 47 0 W
+LR6R,LR7R,LR8R,LR9R,LS0R,LS1R,LS2R,LS3R Catamarca-LU 124 14 13 3.00 28 26 0 S 65 47 0 W
+LS4R,LS5R,LS6R,LS7R,LS8R,LS9R,LT0R,LT1R Catamarca-LU 124 14 13 3.00 28 26 0 S 65 47 0 W
+LT2R,LT3R,LT4R,LT5R,LT6R,LT7R,LT8R,LT9R Catamarca-LU 124 14 13 3.00 28 26 0 S 65 47 0 W
+LU0R,LU1R,LU2R,LU3R,LU4R,LU5R,LU6R,LU7R Catamarca-LU 124 14 13 3.00 28 26 0 S 65 47 0 W
+LU8R,LU9R,LV0R,LV1R,LV2R,LV3R,LV4R,LV5R Catamarca-LU 124 14 13 3.00 28 26 0 S 65 47 0 W
+LV6R,LV7R,LV8R,LV9R,LW0R,LW1R,LW2R,LW3R Catamarca-LU 124 14 13 3.00 28 26 0 S 65 47 0 W
+LW4R,LW5R,LW6R,LW7R,LW8R,LW9R Catamarca-LU 124 14 13 3.00 28 26 0 S 65 47 0 W
+LU-S La-Rioja-LU 124 14 13 3.00 29 26 0 S 66 51 0 W
+LU La-Rioja-LU-S 124 14 13 3.00 29 26 0 S 66 51 0 W
+AY0S,AY1S,AY2S,AY3S,AY4S,AY5S,AY6S,AY7S La-Rioja-LU 124 14 13 3.00 29 26 0 S 66 51 0 W
+AY8S,AY9S,AZ0S,AZ1S,AZ2S,AZ3S,AZ4S,AZ5S La-Rioja-LU 124 14 13 3.00 29 26 0 S 66 51 0 W
+AZ6S,AZ7S,AZ8S,AZ9S,L20S,L21S,L22S,L23S La-Rioja-LU 124 14 13 3.00 29 26 0 S 66 51 0 W
+L24S,L25S,L26S,L27S,L28S,L29S,L30S,L31S La-Rioja-LU 124 14 13 3.00 29 26 0 S 66 51 0 W
+L32S,L33S,L34S,L35S,L36S,L37S,L38S,L39S La-Rioja-LU 124 14 13 3.00 29 26 0 S 66 51 0 W
+L40S,L41S,L42S,L43S,L44S,L45S,L46S,L47S La-Rioja-LU 124 14 13 3.00 29 26 0 S 66 51 0 W
+L48S,L49S,L50S,L51S,L52S,L53S,L54S,L55S La-Rioja-LU 124 14 13 3.00 29 26 0 S 66 51 0 W
+L56S,L57S,L58S,L59S,L60S,L61S,L62S,L63S La-Rioja-LU 124 14 13 3.00 29 26 0 S 66 51 0 W
+L64S,L65S,L66S,L67S,L68S,L69S,L70S,L71S La-Rioja-LU 124 14 13 3.00 29 26 0 S 66 51 0 W
+L72S,L73S,L74S,L75S,L76S,L77S,L78S,L79S La-Rioja-LU 124 14 13 3.00 29 26 0 S 66 51 0 W
+L80S,L81S,L82S,L83S,L84S,L85S,L86S,L87S La-Rioja-LU 124 14 13 3.00 29 26 0 S 66 51 0 W
+L88S,L89S,L90S,L91S,L92S,L93S,L94S,L95S La-Rioja-LU 124 14 13 3.00 29 26 0 S 66 51 0 W
+L96S,L97S,L98S,L99S,LO0S,LO1S,LO2S,LO3S La-Rioja-LU 124 14 13 3.00 29 26 0 S 66 51 0 W
+LO4S,LO5S,LO6S,LO7S,LO8S,LO9S,LP0S,LP1S La-Rioja-LU 124 14 13 3.00 29 26 0 S 66 51 0 W
+LP2S,LP3S,LP4S,LP5S,LP6S,LP7S,LP8S,LP9S La-Rioja-LU 124 14 13 3.00 29 26 0 S 66 51 0 W
+LQ0S,LQ1S,LQ2S,LQ3S,LQ4S,LQ5S,LQ6S,LQ7S La-Rioja-LU 124 14 13 3.00 29 26 0 S 66 51 0 W
+LQ8S,LQ9S,LR0S,LR1S,LR2S,LR3S,LR4S,LR5S La-Rioja-LU 124 14 13 3.00 29 26 0 S 66 51 0 W
+LR6S,LR7S,LR8S,LR9S,LS0S,LS1S,LS2S,LS3S La-Rioja-LU 124 14 13 3.00 29 26 0 S 66 51 0 W
+LS4S,LS5S,LS6S,LS7S,LS8S,LS9S,LT0S,LT1S La-Rioja-LU 124 14 13 3.00 29 26 0 S 66 51 0 W
+LT2S,LT3S,LT4S,LT5S,LT6S,LT7S,LT8S,LT9S La-Rioja-LU 124 14 13 3.00 29 26 0 S 66 51 0 W
+LU0S,LU1S,LU2S,LU3S,LU4S,LU5S,LU6S,LU7S La-Rioja-LU 124 14 13 3.00 29 26 0 S 66 51 0 W
+LU8S,LU9S,LV0S,LV1S,LV2S,LV3S,LV4S,LV5S La-Rioja-LU 124 14 13 3.00 29 26 0 S 66 51 0 W
+LV6S,LV7S,LV8S,LV9S,LW0S,LW1S,LW2S,LW3S La-Rioja-LU 124 14 13 3.00 29 26 0 S 66 51 0 W
+LW4S,LW5S,LW6S,LW7S,LW8S,LW9S La-Rioja-LU 124 14 13 3.00 29 26 0 S 66 51 0 W
+LU-T Jujuy-LU 124 14 13 3.00 23 45 0 S 65 30 0 W
+LU Jujuy-LU-T 124 14 13 3.00 23 45 0 S 65 30 0 W
+AY0T,AY1T,AY2T,AY3T,AY4T,AY5T,AY6T,AY7T Jujuy-LU 124 14 13 3.00 23 45 0 S 65 30 0 W
+AY8T,AY9T,AZ0T,AZ1T,AZ2T,AZ3T,AZ4T,AZ5T Jujuy-LU 124 14 13 3.00 23 45 0 S 65 30 0 W
+AZ6T,AZ7T,AZ8T,AZ9T,L20T,L21T,L22T,L23T Jujuy-LU 124 14 13 3.00 23 45 0 S 65 30 0 W
+L24T,L25T,L26T,L27T,L28T,L29T,L30T,L31T Jujuy-LU 124 14 13 3.00 23 45 0 S 65 30 0 W
+L32T,L33T,L34T,L35T,L36T,L37T,L38T,L39T Jujuy-LU 124 14 13 3.00 23 45 0 S 65 30 0 W
+L40T,L41T,L42T,L43T,L44T,L45T,L46T,L47T Jujuy-LU 124 14 13 3.00 23 45 0 S 65 30 0 W
+L48T,L49T,L50T,L51T,L52T,L53T,L54T,L55T Jujuy-LU 124 14 13 3.00 23 45 0 S 65 30 0 W
+L56T,L57T,L58T,L59T,L60T,L61T,L62T,L63T Jujuy-LU 124 14 13 3.00 23 45 0 S 65 30 0 W
+L64T,L65T,L66T,L67T,L68T,L69T,L70T,L71T Jujuy-LU 124 14 13 3.00 23 45 0 S 65 30 0 W
+L72T,L73T,L74T,L75T,L76T,L77T,L78T,L79T Jujuy-LU 124 14 13 3.00 23 45 0 S 65 30 0 W
+L80T,L81T,L82T,L83T,L84T,L85T,L86T,L87T Jujuy-LU 124 14 13 3.00 23 45 0 S 65 30 0 W
+L88T,L89T,L90T,L91T,L92T,L93T,L94T,L95T Jujuy-LU 124 14 13 3.00 23 45 0 S 65 30 0 W
+L96T,L97T,L98T,L99T,LO0T,LO1T,LO2T,LO3T Jujuy-LU 124 14 13 3.00 23 45 0 S 65 30 0 W
+LO4T,LO5T,LO6T,LO7T,LO8T,LO9T,LP0T,LP1T Jujuy-LU 124 14 13 3.00 23 45 0 S 65 30 0 W
+LP2T,LP3T,LP4T,LP5T,LP6T,LP7T,LP8T,LP9T Jujuy-LU 124 14 13 3.00 23 45 0 S 65 30 0 W
+LQ0T,LQ1T,LQ2T,LQ3T,LQ4T,LQ5T,LQ6T,LQ7T Jujuy-LU 124 14 13 3.00 23 45 0 S 65 30 0 W
+LQ8T,LQ9T,LR0T,LR1T,LR2T,LR3T,LR4T,LR5T Jujuy-LU 124 14 13 3.00 23 45 0 S 65 30 0 W
+LR6T,LR7T,LR8T,LR9T,LS0T,LS1T,LS2T,LS3T Jujuy-LU 124 14 13 3.00 23 45 0 S 65 30 0 W
+LS4T,LS5T,LS6T,LS7T,LS8T,LS9T,LT0T,LT1T Jujuy-LU 124 14 13 3.00 23 45 0 S 65 30 0 W
+LT2T,LT3T,LT4T,LT5T,LT6T,LT7T,LT8T,LT9T Jujuy-LU 124 14 13 3.00 23 45 0 S 65 30 0 W
+LU0T,LU1T,LU2T,LU3T,LU4T,LU5T,LU6T,LU7T Jujuy-LU 124 14 13 3.00 23 45 0 S 65 30 0 W
+LU8T,LU9T,LV0T,LV1T,LV2T,LV3T,LV4T,LV5T Jujuy-LU 124 14 13 3.00 23 45 0 S 65 30 0 W
+LV6T,LV7T,LV8T,LV9T,LW0T,LW1T,LW2T,LW3T Jujuy-LU 124 14 13 3.00 23 45 0 S 65 30 0 W
+LW4T,LW5T,LW6T,LW7T,LW8T,LW9T Jujuy-LU 124 14 13 3.00 23 45 0 S 65 30 0 W
+LU-U La-Pampa-LU 124 14 13 3.00 36 37 0 S 64 17 0 W
+LU La-Pampa-LU-U 124 14 13 3.00 36 37 0 S 64 17 0 W
+AY0U,AY1U,AY2U,AY3U,AY4U,AY5U,AY6U,AY7U La-Pampa-LU 124 14 13 3.00 36 37 0 S 64 17 0 W
+AY8U,AY9U,AZ0U,AZ1U,AZ2U,AZ3U,AZ4U,AZ5U La-Pampa-LU 124 14 13 3.00 36 37 0 S 64 17 0 W
+AZ6U,AZ7U,AZ8U,AZ9U,L20U,L21U,L22U,L23U La-Pampa-LU 124 14 13 3.00 36 37 0 S 64 17 0 W
+L24U,L25U,L26U,L27U,L28U,L29U,L30U,L31U La-Pampa-LU 124 14 13 3.00 36 37 0 S 64 17 0 W
+L32U,L33U,L34U,L35U,L36U,L37U,L38U,L39U La-Pampa-LU 124 14 13 3.00 36 37 0 S 64 17 0 W
+L40U,L41U,L42U,L43U,L44U,L45U,L46U,L47U La-Pampa-LU 124 14 13 3.00 36 37 0 S 64 17 0 W
+L48U,L49U,L50U,L51U,L52U,L53U,L54U,L55U La-Pampa-LU 124 14 13 3.00 36 37 0 S 64 17 0 W
+L56U,L57U,L58U,L59U,L60U,L61U,L62U,L63U La-Pampa-LU 124 14 13 3.00 36 37 0 S 64 17 0 W
+L64U,L65U,L66U,L67U,L68U,L69U,L70U,L71U La-Pampa-LU 124 14 13 3.00 36 37 0 S 64 17 0 W
+L72U,L73U,L74U,L75U,L76U,L77U,L78U,L79U La-Pampa-LU 124 14 13 3.00 36 37 0 S 64 17 0 W
+L80U,L81U,L82U,L83U,L84U,L85U,L86U,L87U La-Pampa-LU 124 14 13 3.00 36 37 0 S 64 17 0 W
+L88U,L89U,L90U,L91U,L92U,L93U,L94U,L95U La-Pampa-LU 124 14 13 3.00 36 37 0 S 64 17 0 W
+L96U,L97U,L98U,L99U,LO0U,LO1U,LO2U,LO3U La-Pampa-LU 124 14 13 3.00 36 37 0 S 64 17 0 W
+LO4U,LO5U,LO6U,LO7U,LO8U,LO9U,LP0U,LP1U La-Pampa-LU 124 14 13 3.00 36 37 0 S 64 17 0 W
+LP2U,LP3U,LP4U,LP5U,LP6U,LP7U,LP8U,LP9U La-Pampa-LU 124 14 13 3.00 36 37 0 S 64 17 0 W
+LQ0U,LQ1U,LQ2U,LQ3U,LQ4U,LQ5U,LQ6U,LQ7U La-Pampa-LU 124 14 13 3.00 36 37 0 S 64 17 0 W
+LQ8U,LQ9U,LR0U,LR1U,LR2U,LR3U,LR4U,LR5U La-Pampa-LU 124 14 13 3.00 36 37 0 S 64 17 0 W
+LR6U,LR7U,LR8U,LR9U,LS0U,LS1U,LS2U,LS3U La-Pampa-LU 124 14 13 3.00 36 37 0 S 64 17 0 W
+LS4U,LS5U,LS6U,LS7U,LS8U,LS9U,LT0U,LT1U La-Pampa-LU 124 14 13 3.00 36 37 0 S 64 17 0 W
+LT2U,LT3U,LT4U,LT5U,LT6U,LT7U,LT8U,LT9U La-Pampa-LU 124 14 13 3.00 36 37 0 S 64 17 0 W
+LU0U,LU1U,LU2U,LU3U,LU4U,LU5U,LU6U,LU7U La-Pampa-LU 124 14 13 3.00 36 37 0 S 64 17 0 W
+LU8U,LU9U,LV0U,LV1U,LV2U,LV3U,LV4U,LV5U La-Pampa-LU 124 14 13 3.00 36 37 0 S 64 17 0 W
+LV6U,LV7U,LV8U,LV9U,LW0U,LW1U,LW2U,LW3U La-Pampa-LU 124 14 13 3.00 36 37 0 S 64 17 0 W
+LW4U,LW5U,LW6U,LW7U,LW8U,LW9U La-Pampa-LU 124 14 13 3.00 36 37 0 S 64 17 0 W
+LU-V Rio-Negro-LU 124 16 13 3.00 40 48 0 S 63 0 0 W
+LU Rio-Negro-LU-V 124 16 13 3.00 40 48 0 S 63 0 0 W
+AY0V,AY1V,AY2V,AY3V,AY4V,AY5V,AY6V,AY7V Rio-Negro-LU 124 16 13 3.00 40 48 0 S 63 0 0 W
+AY8V,AY9V,AZ0V,AZ1V,AZ2V,AZ3V,AZ4V,AZ5V Rio-Negro-LU 124 16 13 3.00 40 48 0 S 63 0 0 W
+AZ6V,AZ7V,AZ8V,AZ9V,L20V,L21V,L22V,L23V Rio-Negro-LU 124 16 13 3.00 40 48 0 S 63 0 0 W
+L24V,L25V,L26V,L27V,L28V,L29V,L30V,L31V Rio-Negro-LU 124 16 13 3.00 40 48 0 S 63 0 0 W
+L32V,L33V,L34V,L35V,L36V,L37V,L38V,L39V Rio-Negro-LU 124 16 13 3.00 40 48 0 S 63 0 0 W
+L40V,L41V,L42V,L43V,L44V,L45V,L46V,L47V Rio-Negro-LU 124 16 13 3.00 40 48 0 S 63 0 0 W
+L48V,L49V,L50V,L51V,L52V,L53V,L54V,L55V Rio-Negro-LU 124 16 13 3.00 40 48 0 S 63 0 0 W
+L56V,L57V,L58V,L59V,L60V,L61V,L62V,L63V Rio-Negro-LU 124 16 13 3.00 40 48 0 S 63 0 0 W
+L64V,L65V,L66V,L67V,L68V,L69V,L70V,L71V Rio-Negro-LU 124 16 13 3.00 40 48 0 S 63 0 0 W
+L72V,L73V,L74V,L75V,L76V,L77V,L78V,L79V Rio-Negro-LU 124 16 13 3.00 40 48 0 S 63 0 0 W
+L80V,L81V,L82V,L83V,L84V,L85V,L86V,L87V Rio-Negro-LU 124 16 13 3.00 40 48 0 S 63 0 0 W
+L88V,L89V,L90V,L91V,L92V,L93V,L94V,L95V Rio-Negro-LU 124 16 13 3.00 40 48 0 S 63 0 0 W
+L96V,L97V,L98V,L99V,LO0V,LO1V,LO2V,LO3V Rio-Negro-LU 124 16 13 3.00 40 48 0 S 63 0 0 W
+LO4V,LO5V,LO6V,LO7V,LO8V,LO9V,LP0V,LP1V Rio-Negro-LU 124 16 13 3.00 40 48 0 S 63 0 0 W
+LP2V,LP3V,LP4V,LP5V,LP6V,LP7V,LP8V,LP9V Rio-Negro-LU 124 16 13 3.00 40 48 0 S 63 0 0 W
+LQ0V,LQ1V,LQ2V,LQ3V,LQ4V,LQ5V,LQ6V,LQ7V Rio-Negro-LU 124 16 13 3.00 40 48 0 S 63 0 0 W
+LQ8V,LQ9V,LR0V,LR1V,LR2V,LR3V,LR4V,LR5V Rio-Negro-LU 124 16 13 3.00 40 48 0 S 63 0 0 W
+LR6V,LR7V,LR8V,LR9V,LS0V,LS1V,LS2V,LS3V Rio-Negro-LU 124 16 13 3.00 40 48 0 S 63 0 0 W
+LS4V,LS5V,LS6V,LS7V,LS8V,LS9V,LT0V,LT1V Rio-Negro-LU 124 16 13 3.00 40 48 0 S 63 0 0 W
+LT2V,LT3V,LT4V,LT5V,LT6V,LT7V,LT8V,LT9V Rio-Negro-LU 124 16 13 3.00 40 48 0 S 63 0 0 W
+LU0V,LU1V,LU2V,LU3V,LU4V,LU5V,LU6V,LU7V Rio-Negro-LU 124 16 13 3.00 40 48 0 S 63 0 0 W
+LU8V,LU9V,LV0V,LV1V,LV2V,LV3V,LV4V,LV5V Rio-Negro-LU 124 16 13 3.00 40 48 0 S 63 0 0 W
+LV6V,LV7V,LV8V,LV9V,LW0V,LW1V,LW2V,LW3V Rio-Negro-LU 124 16 13 3.00 40 48 0 S 63 0 0 W
+LW4V,LW5V,LW6V,LW7V,LW8V,LW9V Rio-Negro-LU 124 16 13 3.00 40 48 0 S 63 0 0 W
+LU-W Chubut-LU 124 16 13 3.00 43 18 0 S 65 6 0 W
+LU Chubut-LU-W 124 16 13 3.00 43 18 0 S 65 6 0 W
+AY0W,AY1W,AY2W,AY3W,AY4W,AY5W,AY6W,AY7W Chubut-LU 124 16 13 3.00 43 18 0 S 65 6 0 W
+AY8W,AY9W,AZ0W,AZ1W,AZ2W,AZ3W,AZ4W,AZ5W Chubut-LU 124 16 13 3.00 43 18 0 S 65 6 0 W
+AZ6W,AZ7W,AZ8W,AZ9W,L20W,L21W,L22W,L23W Chubut-LU 124 16 13 3.00 43 18 0 S 65 6 0 W
+L24W,L25W,L26W,L27W,L28W,L29W,L30W,L31W Chubut-LU 124 16 13 3.00 43 18 0 S 65 6 0 W
+L32W,L33W,L34W,L35W,L36W,L37W,L38W,L39W Chubut-LU 124 16 13 3.00 43 18 0 S 65 6 0 W
+L40W,L41W,L42W,L43W,L44W,L45W,L46W,L47W Chubut-LU 124 16 13 3.00 43 18 0 S 65 6 0 W
+L48W,L49W,L50W,L51W,L52W,L53W,L54W,L55W Chubut-LU 124 16 13 3.00 43 18 0 S 65 6 0 W
+L56W,L57W,L58W,L59W,L60W,L61W,L62W,L63W Chubut-LU 124 16 13 3.00 43 18 0 S 65 6 0 W
+L64W,L65W,L66W,L67W,L68W,L69W,L70W,L71W Chubut-LU 124 16 13 3.00 43 18 0 S 65 6 0 W
+L72W,L73W,L74W,L75W,L76W,L77W,L78W,L79W Chubut-LU 124 16 13 3.00 43 18 0 S 65 6 0 W
+L80W,L81W,L82W,L83W,L84W,L85W,L86W,L87W Chubut-LU 124 16 13 3.00 43 18 0 S 65 6 0 W
+L88W,L89W,L90W,L91W,L92W,L93W,L94W,L95W Chubut-LU 124 16 13 3.00 43 18 0 S 65 6 0 W
+L96W,L97W,L98W,L99W,LO0W,LO1W,LO2W,LO3W Chubut-LU 124 16 13 3.00 43 18 0 S 65 6 0 W
+LO4W,LO5W,LO6W,LO7W,LO8W,LO9W,LP0W,LP1W Chubut-LU 124 16 13 3.00 43 18 0 S 65 6 0 W
+LP2W,LP3W,LP4W,LP5W,LP6W,LP7W,LP8W,LP9W Chubut-LU 124 16 13 3.00 43 18 0 S 65 6 0 W
+LQ0W,LQ1W,LQ2W,LQ3W,LQ4W,LQ5W,LQ6W,LQ7W Chubut-LU 124 16 13 3.00 43 18 0 S 65 6 0 W
+LQ8W,LQ9W,LR0W,LR1W,LR2W,LR3W,LR4W,LR5W Chubut-LU 124 16 13 3.00 43 18 0 S 65 6 0 W
+LR6W,LR7W,LR8W,LR9W,LS0W,LS1W,LS2W,LS3W Chubut-LU 124 16 13 3.00 43 18 0 S 65 6 0 W
+LS4W,LS5W,LS6W,LS7W,LS8W,LS9W,LT0W,LT1W Chubut-LU 124 16 13 3.00 43 18 0 S 65 6 0 W
+LT2W,LT3W,LT4W,LT5W,LT6W,LT7W,LT8W,LT9W Chubut-LU 124 16 13 3.00 43 18 0 S 65 6 0 W
+LU0W,LU1W,LU2W,LU3W,LU4W,LU5W,LU6W,LU7W Chubut-LU 124 16 13 3.00 43 18 0 S 65 6 0 W
+LU8W,LU9W,LV0W,LV1W,LV2W,LV3W,LV4W,LV5W Chubut-LU 124 16 13 3.00 43 18 0 S 65 6 0 W
+LV6W,LV7W,LV8W,LV9W,LW0W,LW1W,LW2W,LW3W Chubut-LU 124 16 13 3.00 43 18 0 S 65 6 0 W
+LW4W,LW5W,LW6W,LW7W,LW8W,LW9W Chubut-LU 124 16 13 3.00 43 18 0 S 65 6 0 W
+LU-X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+LU Santa-Cruz-Tierra-del-Fuego-LU-X 124 16 13 3.00 50 26 0 S 69 15 0 W
+AY0X,AY1X,AY2X,AY3X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+AY4X,AY5X,AY6X,AY7X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+AY8X,AY9X,AZ0X,AZ1X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+AZ2X,AZ3X,AZ4X,AZ5X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+AZ6X,AZ7X,AZ8X,AZ9X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+L20X,L21X,L22X,L23X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+L24X,L25X,L26X,L27X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+L28X,L29X,L30X,L31X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+L32X,L33X,L34X,L35X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+L36X,L37X,L38X,L39X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+L40X,L41X,L42X,L43X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+L44X,L45X,L46X,L47X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+L48X,L49X,L50X,L51X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+L52X,L53X,L54X,L55X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+L56X,L57X,L58X,L59X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+L60X,L61X,L62X,L63X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+L64X,L65X,L66X,L67X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+L68X,L69X,L70X,L71X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+L72X,L73X,L74X,L75X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+L76X,L77X,L78X,L79X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+L80X,L81X,L82X,L83X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+L84X,L85X,L86X,L87X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+L88X,L89X,L90X,L91X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+L92X,L93X,L94X,L95X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+L96X,L97X,L98X,L99X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+LO0X,LO1X,LO2X,LO3X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+LO4X,LO5X,LO6X,LO7X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+LO8X,LO9X,LP0X,LP1X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+LP2X,LP3X,LP4X,LP5X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+LP6X,LP7X,LP8X,LP9X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+LQ0X,LQ1X,LQ2X,LQ3X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+LQ4X,LQ5X,LQ6X,LQ7X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+LQ8X,LQ9X,LR0X,LR1X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+LR2X,LR3X,LR4X,LR5X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+LR6X,LR7X,LR8X,LR9X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+LS0X,LS1X,LS2X,LS3X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+LS4X,LS5X,LS6X,LS7X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+LS8X,LS9X,LT0X,LT1X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+LT2X,LT3X,LT4X,LT5X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+LT6X,LT7X,LT8X,LT9X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+LU0X,LU1X,LU2X,LU3X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+LU4X,LU5X,LU6X,LU7X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+LU8X,LU9X,LV0X,LV1X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+LV2X,LV3X,LV4X,LV5X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+LV6X,LV7X,LV8X,LV9X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+LW0X,LW1X,LW2X,LW3X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+LW4X,LW5X,LW6X,LW7X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+LW8X,LW9X Santa-Cruz-Tierra-del-Fuego-LU 124 16 13 3.00 50 26 0 S 69 15 0 W
+LU-Y Neuquen-LU 124 16 13 3.00 38 57 0 S 68 4 0 W
+LU Neuquen-LU-Y 124 16 13 3.00 38 57 0 S 68 4 0 W
+AY0Y,AY1Y,AY2Y,AY3Y,AY4Y,AY5Y,AY6Y,AY7Y Neuquen-LU 124 16 13 3.00 38 57 0 S 68 4 0 W
+AY8Y,AY9Y,AZ0Y,AZ1Y,AZ2Y,AZ3Y,AZ4Y,AZ5Y Neuquen-LU 124 16 13 3.00 38 57 0 S 68 4 0 W
+AZ6Y,AZ7Y,AZ8Y,AZ9Y,L20Y,L21Y,L22Y,L23Y Neuquen-LU 124 16 13 3.00 38 57 0 S 68 4 0 W
+L24Y,L25Y,L26Y,L27Y,L28Y,L29Y,L30Y,L31Y Neuquen-LU 124 16 13 3.00 38 57 0 S 68 4 0 W
+L32Y,L33Y,L34Y,L35Y,L36Y,L37Y,L38Y,L39Y Neuquen-LU 124 16 13 3.00 38 57 0 S 68 4 0 W
+L40Y,L41Y,L42Y,L43Y,L44Y,L45Y,L46Y,L47Y Neuquen-LU 124 16 13 3.00 38 57 0 S 68 4 0 W
+L48Y,L49Y,L50Y,L51Y,L52Y,L53Y,L54Y,L55Y Neuquen-LU 124 16 13 3.00 38 57 0 S 68 4 0 W
+L56Y,L57Y,L58Y,L59Y,L60Y,L61Y,L62Y,L63Y Neuquen-LU 124 16 13 3.00 38 57 0 S 68 4 0 W
+L64Y,L65Y,L66Y,L67Y,L68Y,L69Y,L70Y,L71Y Neuquen-LU 124 16 13 3.00 38 57 0 S 68 4 0 W
+L72Y,L73Y,L74Y,L75Y,L76Y,L77Y,L78Y,L79Y Neuquen-LU 124 16 13 3.00 38 57 0 S 68 4 0 W
+L80Y,L81Y,L82Y,L83Y,L84Y,L85Y,L86Y,L87Y Neuquen-LU 124 16 13 3.00 38 57 0 S 68 4 0 W
+L88Y,L89Y,L90Y,L91Y,L92Y,L93Y,L94Y,L95Y Neuquen-LU 124 16 13 3.00 38 57 0 S 68 4 0 W
+L96Y,L97Y,L98Y,L99Y,LO0Y,LO1Y,LO2Y,LO3Y Neuquen-LU 124 16 13 3.00 38 57 0 S 68 4 0 W
+LO4Y,LO5Y,LO6Y,LO7Y,LO8Y,LO9Y,LP0Y,LP1Y Neuquen-LU 124 16 13 3.00 38 57 0 S 68 4 0 W
+LP2Y,LP3Y,LP4Y,LP5Y,LP6Y,LP7Y,LP8Y,LP9Y Neuquen-LU 124 16 13 3.00 38 57 0 S 68 4 0 W
+LQ0Y,LQ1Y,LQ2Y,LQ3Y,LQ4Y,LQ5Y,LQ6Y,LQ7Y Neuquen-LU 124 16 13 3.00 38 57 0 S 68 4 0 W
+LQ8Y,LQ9Y,LR0Y,LR1Y,LR2Y,LR3Y,LR4Y,LR5Y Neuquen-LU 124 16 13 3.00 38 57 0 S 68 4 0 W
+LR6Y,LR7Y,LR8Y,LR9Y,LS0Y,LS1Y,LS2Y,LS3Y Neuquen-LU 124 16 13 3.00 38 57 0 S 68 4 0 W
+LS4Y,LS5Y,LS6Y,LS7Y,LS8Y,LS9Y,LT0Y,LT1Y Neuquen-LU 124 16 13 3.00 38 57 0 S 68 4 0 W
+LT2Y,LT3Y,LT4Y,LT5Y,LT6Y,LT7Y,LT8Y,LT9Y Neuquen-LU 124 16 13 3.00 38 57 0 S 68 4 0 W
+LU0Y,LU1Y,LU2Y,LU3Y,LU4Y,LU5Y,LU6Y,LU7Y Neuquen-LU 124 16 13 3.00 38 57 0 S 68 4 0 W
+LU8Y,LU9Y,LV0Y,LV1Y,LV2Y,LV3Y,LV4Y,LV5Y Neuquen-LU 124 16 13 3.00 38 57 0 S 68 4 0 W
+LV6Y,LV7Y,LV8Y,LV9Y,LW0Y,LW1Y,LW2Y,LW3Y Neuquen-LU 124 16 13 3.00 38 57 0 S 68 4 0 W
+LW4Y,LW5Y,LW6Y,LW7Y,LW8Y,LW9Y Neuquen-LU 124 16 13 3.00 38 57 0 S 68 4 0 W
LX Luxembourg-LX 125 27 14 -1.00 50 0 0 N 6 0 0 E @
LY Lithuania-LY 194 29 15 -2.00 55 27 0 N 23 38 0 E @
LZ Bulgaria-LZ 126 28 20 -2.00 42 50 0 N 25 5 0 E @
OE Karnten-OE8 129 28 15 -1.00 46 46 0 N 13 49 0 E
OE9 Vorarlberg-OE 129 28 15 -1.00 47 15 0 N 9 54 0 E
OE Vorarlberg-OE9 129 28 15 -1.00 47 15 0 N 9 54 0 E
-OH Finland-OH 130 18 15 -2.00 63 47 0 N 27 5 0 E @
-OF,OG,OI,OJ Finland-OH 130 18 15 -2.00 63 47 0 N 27 5 0 E
+OH Finland-OH 130 18 15 -2.00 61 23 0 N 24 49 0 E @
+OF,OG,OI,OJ Finland-OH 130 18 15 -2.00 61 23 0 N 24 49 0 E
OH1 Turku-Pori-OH 130 18 15 -2.00 60 27 0 N 22 15 0 E
OH Turku-Pori-OH1 130 18 15 -2.00 60 27 0 N 22 15 0 E
OF1,OG1,OI1 Turku-Pori-OH 130 18 15 -2.00 60 27 0 N 22 15 0 E
-OH2 Uusimaa-OH 130 18 15 -2.00 60 14 0 N 24 47 0 E
-OH Uusimaa-OH2 130 18 15 -2.00 60 14 0 N 24 47 0 E
-OF2,OG2,OI2 Uusimaa-OH 130 18 15 -2.00 60 14 0 N 24 47 0 E
-OH3 Hame-OH 130 18 15 -2.00 61 32 0 N 23 45 0 E
-OH Hame-OH3 130 18 15 -2.00 61 32 0 N 23 45 0 E
-OF3,OG3,OI3 Hame-OH 130 18 15 -2.00 61 32 0 N 23 45 0 E
+OH2 Uudenmaa-OH 130 18 15 -2.00 60 14 0 N 24 47 0 E
+OH Uudenmaa-OH2 130 18 15 -2.00 60 14 0 N 24 47 0 E
+OF2,OG2,OI2 Uudenmaa-OH 130 18 15 -2.00 60 14 0 N 24 47 0 E
+OH3 Haeme-OH 130 18 15 -2.00 61 32 0 N 23 45 0 E
+OH Haeme-OH3 130 18 15 -2.00 61 32 0 N 23 45 0 E
+OF3,OG3,OI3 Haeme-OH 130 18 15 -2.00 61 32 0 N 23 45 0 E
OH4 Mikkeli-OH 130 18 15 -2.00 62 30 0 N 28 0 0 E
OH Mikkeli-OH4 130 18 15 -2.00 62 30 0 N 28 0 0 E
OF4,OG4,OI4 Mikkeli-OH 130 18 15 -2.00 62 30 0 N 28 0 0 E
-OH5 Kymenlaakso-OH 130 18 15 -2.00 61 0 0 N 28 12 0 E
-OH Kymenlaakso-OH5 130 18 15 -2.00 61 0 0 N 28 12 0 E
-OF5,OG5,OI5 Kymenlaakso-OH 130 18 15 -2.00 61 0 0 N 28 12 0 E
+OH5 Kymi-OH 130 18 15 -2.00 61 0 0 N 28 12 0 E
+OH Kymi-OH5 130 18 15 -2.00 61 0 0 N 28 12 0 E
+OF5,OG5,OI5 Kymi-OH 130 18 15 -2.00 61 0 0 N 28 12 0 E
OH6 Keski-Suomi-Vaasa-OH 130 18 15 -2.00 63 0 0 N 22 0 0 E
OH Keski-Suomi-Vaasa-OH6 130 18 15 -2.00 63 0 0 N 22 0 0 E
OF6,OG6,OI6 Keski-Suomi-Vaasa-OH 130 18 15 -2.00 63 0 0 N 22 0 0 E
S9 Principe-S9/P 150 47 36 0.00 1 37 0 N 7 24 0 E
S9/S Sao-Tome-S9 150 47 36 0.00 0 14 0 N 6 36 0 E
S9 Sao-Tome-S9/S 150 47 36 0.00 0 14 0 N 6 36 0 E
-SM Sweden-SM 151 18 14 -1.00 61 12 0 N 14 34 0 E @
-7S,8S,SA,SB,SC,SD,SE,SF,SG,SH,SI,SJ,SK,SL Sweden-SM 151 18 14 -1.00 61 12 0 N 14 34 0 E
-SM0 Stockholm-SM 151 18 14 -1.00 59 26 0 N 17 57 0 E
-SM Stockholm-SM0 151 18 14 -1.00 59 26 0 N 17 57 0 E
-7S0,8S0,SA0,SB0,SC0,SD0,SE0,SF0,SG0,SH0 Stockholm-SM 151 18 14 -1.00 59 26 0 N 17 57 0 E
-SI0,SJ0,SK0,SL0 Stockholm-SM 151 18 14 -1.00 59 26 0 N 17 57 0 E
-SM1 Gotland-SM 151 18 14 -1.00 57 30 0 N 18 24 0 E
-SM Gotland-SM1 151 18 14 -1.00 57 30 0 N 18 24 0 E
-7S1,8S1,SA1,SB1,SC1,SD1,SE1,SF1,SG1,SH1 Gotland-SM 151 18 14 -1.00 57 30 0 N 18 24 0 E
-SI1,SJ1,SK1,SL1 Gotland-SM 151 18 14 -1.00 57 30 0 N 18 24 0 E
-SM2 Norrbotten-Vasterbotten-SM 151 18 14 -1.00 65 0 0 N 20 0 0 E
-SM Norrbotten-Vasterbotten-SM2 151 18 14 -1.00 65 0 0 N 20 0 0 E
-7S2,8S2,SA2,SB2,SC2,SD2 Norrbotten-Vasterbotten-SM 151 18 14 -1.00 65 0 0 N 20 0 0 E
-SE2,SF2,SG2,SH2,SI2,SJ2 Norrbotten-Vasterbotten-SM 151 18 14 -1.00 65 0 0 N 20 0 0 E
-SK2,SL2 Norrbotten-Vasterbotten-SM 151 18 14 -1.00 65 0 0 N 20 0 0 E
-SM3 Gavleborg-Jarntland-Vasternorrland-SM 151 18 14 -1.00 62 0 0 N 19 0 0 E
-SM Gavleborg-Jarntland-Vasternorrland-SM3 151 18 14 -1.00 62 0 0 N 19 0 0 E
-7S3,8S3,SA3 Gavleborg-Jarntland-Vasternorrland-SM 151 18 14 -1.00 62 0 0 N 19 0 0 E
-SB3,SC3,SD3 Gavleborg-Jarntland-Vasternorrland-SM 151 18 14 -1.00 62 0 0 N 19 0 0 E
-SE3,SF3,SG3 Gavleborg-Jarntland-Vasternorrland-SM 151 18 14 -1.00 62 0 0 N 19 0 0 E
-SH3,SI3,SJ3 Gavleborg-Jarntland-Vasternorrland-SM 151 18 14 -1.00 62 0 0 N 19 0 0 E
-SK3,SL3 Gavleborg-Jarntland-Vasternorrland-SM 151 18 14 -1.00 62 0 0 N 19 0 0 E
-SM4 Kopparberg-Orebo-Varmland-SM 151 18 14 -1.00 59 18 0 N 15 5 0 E
-SM Kopparberg-Orebo-Varmland-SM4 151 18 14 -1.00 59 18 0 N 15 5 0 E
-7S4,8S4,SA4,SB4,SC4,SD4 Kopparberg-Orebo-Varmland-SM 151 18 14 -1.00 59 18 0 N 15 5 0 E
-SE4,SF4,SG4,SH4,SI4,SJ4 Kopparberg-Orebo-Varmland-SM 151 18 14 -1.00 59 18 0 N 15 5 0 E
-SK4,SL4 Kopparberg-Orebo-Varmland-SM 151 18 14 -1.00 59 18 0 N 15 5 0 E
-SM5 Ostergottland-Sodermanland-Uppsala-SM 151 18 14 -1.00 58 25 0 N 15 35 0 E
-SM Ostergottland-Sodermanland-Uppsala-SM5 151 18 14 -1.00 58 25 0 N 15 35 0 E
-7S5,8S5,SA5 Ostergottland-Sodermanland-Uppsala-SM 151 18 14 -1.00 58 25 0 N 15 35 0 E
-SB5,SC5,SD5 Ostergottland-Sodermanland-Uppsala-SM 151 18 14 -1.00 58 25 0 N 15 35 0 E
-SE5,SF5,SG5 Ostergottland-Sodermanland-Uppsala-SM 151 18 14 -1.00 58 25 0 N 15 35 0 E
-SH5,SI5,SJ5 Ostergottland-Sodermanland-Uppsala-SM 151 18 14 -1.00 58 25 0 N 15 35 0 E
-SK5,SL5 Ostergottland-Sodermanland-Uppsala-SM 151 18 14 -1.00 58 25 0 N 15 35 0 E
-SM6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 45 0 N 12 0 0 E
-SM Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM6 151 18 14 -1.00 57 45 0 N 12 0 0 E
-7S6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 45 0 N 12 0 0 E
-8S6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 45 0 N 12 0 0 E
-SA6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 45 0 N 12 0 0 E
-SB6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 45 0 N 12 0 0 E
-SC6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 45 0 N 12 0 0 E
-SD6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 45 0 N 12 0 0 E
-SE6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 45 0 N 12 0 0 E
-SF6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 45 0 N 12 0 0 E
-SG6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 45 0 N 12 0 0 E
-SH6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 45 0 N 12 0 0 E
-SI6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 45 0 N 12 0 0 E
-SJ6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 45 0 N 12 0 0 E
-SK6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 45 0 N 12 0 0 E
-SL6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 45 0 N 12 0 0 E
-SM7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 55 35 0 N 13 6 0 E
-SM Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM7 151 18 14 -1.00 55 35 0 N 13 6 0 E
-7S7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 55 35 0 N 13 6 0 E
-8S7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 55 35 0 N 13 6 0 E
-SA7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 55 35 0 N 13 6 0 E
-SB7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 55 35 0 N 13 6 0 E
-SC7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 55 35 0 N 13 6 0 E
-SD7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 55 35 0 N 13 6 0 E
-SE7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 55 35 0 N 13 6 0 E
-SF7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 55 35 0 N 13 6 0 E
-SG7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 55 35 0 N 13 6 0 E
-SH7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 55 35 0 N 13 6 0 E
-SI7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 55 35 0 N 13 6 0 E
-SJ7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 55 35 0 N 13 6 0 E
-SK7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 55 35 0 N 13 6 0 E
-SL7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 55 35 0 N 13 6 0 E
+SM Sweden-SM 151 18 14 -1.00 58 54 0 N 15 20 0 E @
+7S,8S,SA,SB,SC,SD,SE,SF,SG,SH,SI,SJ,SK,SL Sweden-SM 151 18 14 -1.00 58 54 0 N 15 20 0 E
+SM0 Stockholm-SM 151 18 14 -1.00 59 20 0 N 18 10 0 E
+SM Stockholm-SM0 151 18 14 -1.00 59 20 0 N 18 10 0 E
+7S0,8S0,SA0,SB0,SC0,SD0,SE0,SF0,SG0,SH0 Stockholm-SM 151 18 14 -1.00 59 20 0 N 18 10 0 E
+SI0,SJ0,SK0,SL0 Stockholm-SM 151 18 14 -1.00 59 20 0 N 18 10 0 E
+SM1 Gotland-SM 151 18 14 -1.00 57 30 0 N 18 31 0 E
+SM Gotland-SM1 151 18 14 -1.00 57 30 0 N 18 31 0 E
+7S1,8S1,SA1,SB1,SC1,SD1,SE1,SF1,SG1,SH1 Gotland-SM 151 18 14 -1.00 57 30 0 N 18 31 0 E
+SI1,SJ1,SK1,SL1 Gotland-SM 151 18 14 -1.00 57 30 0 N 18 31 0 E
+SM2 Norrbotten-Vasterbotten-SM 151 18 14 -1.00 65 41 0 N 18 24 0 E
+SM Norrbotten-Vasterbotten-SM2 151 18 14 -1.00 65 41 0 N 18 24 0 E
+7S2,8S2,SA2,SB2,SC2,SD2 Norrbotten-Vasterbotten-SM 151 18 14 -1.00 65 41 0 N 18 24 0 E
+SE2,SF2,SG2,SH2,SI2,SJ2 Norrbotten-Vasterbotten-SM 151 18 14 -1.00 65 41 0 N 18 24 0 E
+SK2,SL2 Norrbotten-Vasterbotten-SM 151 18 14 -1.00 65 41 0 N 18 24 0 E
+SM3 Gavleborg-Jamtland-Vasternorrland-SM 151 18 14 -1.00 62 0 0 N 16 17 0 E
+SM Gavleborg-Jamtland-Vasternorrland-SM3 151 18 14 -1.00 62 0 0 N 16 17 0 E
+7S3,8S3,SA3,SB3 Gavleborg-Jamtland-Vasternorrland-SM 151 18 14 -1.00 62 0 0 N 16 17 0 E
+SC3,SD3,SE3,SF3 Gavleborg-Jamtland-Vasternorrland-SM 151 18 14 -1.00 62 0 0 N 16 17 0 E
+SG3,SH3,SI3,SJ3 Gavleborg-Jamtland-Vasternorrland-SM 151 18 14 -1.00 62 0 0 N 16 17 0 E
+SK3,SL3 Gavleborg-Jamtland-Vasternorrland-SM 151 18 14 -1.00 62 0 0 N 16 17 0 E
+SM4 Kopparberg-Orebro-Varmland-SM 151 18 14 -1.00 59 47 0 N 14 43 0 E
+SM Kopparberg-Orebro-Varmland-SM4 151 18 14 -1.00 59 47 0 N 14 43 0 E
+7S4,8S4,SA4,SB4,SC4 Kopparberg-Orebro-Varmland-SM 151 18 14 -1.00 59 47 0 N 14 43 0 E
+SD4,SE4,SF4,SG4,SH4 Kopparberg-Orebro-Varmland-SM 151 18 14 -1.00 59 47 0 N 14 43 0 E
+SI4,SJ4,SK4,SL4 Kopparberg-Orebro-Varmland-SM 151 18 14 -1.00 59 47 0 N 14 43 0 E
+SM5 Ostergotland-Sodermanland-Uppsala-SM 151 18 14 -1.00 59 9 0 N 16 28 0 E
+SM Ostergotland-Sodermanland-Uppsala-SM5 151 18 14 -1.00 59 9 0 N 16 28 0 E
+7S5,8S5,SA5,SB5 Ostergotland-Sodermanland-Uppsala-SM 151 18 14 -1.00 59 9 0 N 16 28 0 E
+SC5,SD5,SE5,SF5 Ostergotland-Sodermanland-Uppsala-SM 151 18 14 -1.00 59 9 0 N 16 28 0 E
+SG5,SH5,SI5,SJ5 Ostergotland-Sodermanland-Uppsala-SM 151 18 14 -1.00 59 9 0 N 16 28 0 E
+SK5,SL5 Ostergotland-Sodermanland-Uppsala-SM 151 18 14 -1.00 59 9 0 N 16 28 0 E
+SM6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 58 0 N 11 54 0 E
+SM Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM6 151 18 14 -1.00 57 58 0 N 11 54 0 E
+7S6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 58 0 N 11 54 0 E
+8S6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 58 0 N 11 54 0 E
+SA6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 58 0 N 11 54 0 E
+SB6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 58 0 N 11 54 0 E
+SC6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 58 0 N 11 54 0 E
+SD6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 58 0 N 11 54 0 E
+SE6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 58 0 N 11 54 0 E
+SF6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 58 0 N 11 54 0 E
+SG6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 58 0 N 11 54 0 E
+SH6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 58 0 N 11 54 0 E
+SI6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 58 0 N 11 54 0 E
+SJ6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 58 0 N 11 54 0 E
+SK6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 58 0 N 11 54 0 E
+SL6 Alvsborg-Goteborg-och-Bohus-Halland-Skaraborg-SM 151 18 14 -1.00 57 58 0 N 11 54 0 E
+SM7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 56 26 0 N 14 0 0 E
+SM Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM7 151 18 14 -1.00 56 26 0 N 14 0 0 E
+7S7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 56 26 0 N 14 0 0 E
+8S7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 56 26 0 N 14 0 0 E
+SA7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 56 26 0 N 14 0 0 E
+SB7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 56 26 0 N 14 0 0 E
+SC7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 56 26 0 N 14 0 0 E
+SD7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 56 26 0 N 14 0 0 E
+SE7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 56 26 0 N 14 0 0 E
+SF7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 56 26 0 N 14 0 0 E
+SG7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 56 26 0 N 14 0 0 E
+SH7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 56 26 0 N 14 0 0 E
+SI7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 56 26 0 N 14 0 0 E
+SJ7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 56 26 0 N 14 0 0 E
+SK7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 56 26 0 N 14 0 0 E
+SL7 Jonkoping-Kronoberg-Kalmar-Blekinge-Kristianstad-Malmohus-SM 151 18 14 -1.00 56 26 0 N 14 0 0 E
SP Poland-SP 152 28 15 -1.00 52 17 0 N 18 40 0 E @
3Z,HF,SN,SO,SQ,SR Poland-SP 152 28 15 -1.00 52 17 0 N 18 40 0 E
SP1 Zachodniopomorskie-SP 152 28 15 -1.00 53 25 0 N 14 32 0 E
VE British-Columbia-VE7 197 2 3 7.00 49 32 0 N 122 40 0 W
CF7,CG7,CJ7,CK7,VA7,VB7,VC7,VG7 British-Columbia-VE 197 2 3 7.00 49 32 0 N 122 40 0 W
VX7,XL7,XM7 British-Columbia-VE 197 2 3 7.00 49 32 0 N 122 40 0 W
-VE8 Northwest-Territories-VE 197 3 1 7.00 62 27 0 N 147 46 0 W
-VE Northwest-Territories-VE8 197 3 1 7.00 62 27 0 N 147 46 0 W
-CF8,CG8,CJ8,CK8,VA8,VB8,VC8 Northwest-Territories-VE 197 3 1 7.00 62 27 0 N 147 46 0 W
-VG8,VX8,XL8,XM8 Northwest-Territories-VE 197 3 1 7.00 62 27 0 N 147 46 0 W
+VE8 Northwest-Territories-VE 197 3 1 7.00 62 27 0 N 114 24 0 W
+VE Northwest-Territories-VE8 197 3 1 7.00 62 27 0 N 114 24 0 W
+CF8,CG8,CJ8,CK8,VA8,VB8,VC8 Northwest-Territories-VE 197 3 1 7.00 62 27 0 N 114 24 0 W
+VG8,VX8,XL8,XM8 Northwest-Territories-VE 197 3 1 7.00 62 27 0 N 114 24 0 W
VE9 New-Brunswick-VE 197 9 5 4.00 45 45 0 N 65 48 0 W
VE New-Brunswick-VE9 197 9 5 4.00 45 45 0 N 65 48 0 W
CF9,CG9,CJ9,CK9,VA9,VB9,VC9,VG9,VX9 New-Brunswick-VE 197 9 5 4.00 45 45 0 N 65 48 0 W
VE Prince-Edward-Island-VY2 197 9 5 4.00 46 22 0 N 63 26 0 W
CI2,CZ2,VF2,XK2,XO2 Prince-Edward-Island-VE 197 9 5 4.00 46 22 0 N 63 26 0 W
VK Australia-VK 198 59 30 -10.00 23 42 0 S 132 20 0 E @
-AX,VH,VI,VJ,VL,VM,VN,VZ Australia-VK 198 59 30 -10.00 23 42 0 S 132 20 0 E
+AX,VI,VJ,VL Australia-VK 198 59 30 -10.00 23 42 0 S 132 20 0 E
VK1 Australian-Capital-Territory-VK 198 59 30 -10.00 35 30 0 S 149 0 0 E
VK Australian-Capital-Territory-VK1 198 59 30 -10.00 35 30 0 S 149 0 0 E
-AX1,VH1,VI1,VJ1,VL1 Australian-Capital-Territory-VK 198 59 30 -10.00 35 30 0 S 149 0 0 E
-VM1,VN1,VZ1 Australian-Capital-Territory-VK 198 59 30 -10.00 35 30 0 S 149 0 0 E
+AX1,VI1,VJ1,VL1 Australian-Capital-Territory-VK 198 59 30 -10.00 35 30 0 S 149 0 0 E
VK2 New-South-Wales-VK 198 59 30 -10.00 34 0 0 S 151 0 0 E
VK New-South-Wales-VK2 198 59 30 -10.00 34 0 0 S 151 0 0 E
-AX2,VH2,VI2,VJ2,VL2,VM2,VN2,VZ2 New-South-Wales-VK 198 59 30 -10.00 34 0 0 S 151 0 0 E
+AX2,VI2,VJ2,VL2 New-South-Wales-VK 198 59 30 -10.00 34 0 0 S 151 0 0 E
VK3 Victoria-VK 198 59 30 -10.00 38 0 0 S 145 0 0 E
VK Victoria-VK3 198 59 30 -10.00 38 0 0 S 145 0 0 E
-AX3,VH3,VI3,VJ3,VL3,VM3,VN3,VZ3 Victoria-VK 198 59 30 -10.00 38 0 0 S 145 0 0 E
+AX3,VI3,VJ3,VL3 Victoria-VK 198 59 30 -10.00 38 0 0 S 145 0 0 E
VK4 Queensland-VK 198 55 30 -10.00 27 30 0 S 153 0 0 E
VK Queensland-VK4 198 55 30 -10.00 27 30 0 S 153 0 0 E
-AX4,VH4,VI4,VJ4,VL4,VM4,VN4,VZ4 Queensland-VK 198 55 30 -10.00 27 30 0 S 153 0 0 E
+AX4,VI4,VJ4,VL4 Queensland-VK 198 55 30 -10.00 27 30 0 S 153 0 0 E
VK5 South-Australia-VK 198 59 30 -9.00 34 54 0 S 138 36 0 E
VK South-Australia-VK5 198 59 30 -9.00 34 54 0 S 138 36 0 E
-AX5,VH5,VI5,VJ5,VL5,VM5,VN5,VZ5 South-Australia-VK 198 59 30 -9.00 34 54 0 S 138 36 0 E
+AX5,VI5,VJ5,VL5 South-Australia-VK 198 59 30 -9.00 34 54 0 S 138 36 0 E
VK6 Western-Australia-VK 198 58 29 -8.00 32 0 0 S 115 54 0 E
VK Western-Australia-VK6 198 58 29 -8.00 32 0 0 S 115 54 0 E
-AX6,VH6,VI6,VJ6,VL6,VM6,VN6,VZ6 Western-Australia-VK 198 58 29 -8.00 32 0 0 S 115 54 0 E
+AX6,VI6,VJ6,VL6 Western-Australia-VK 198 58 29 -8.00 32 0 0 S 115 54 0 E
VK7 Tasmania-VK 198 59 30 -10.00 42 54 0 S 147 18 0 E
VK Tasmania-VK7 198 59 30 -10.00 42 54 0 S 147 18 0 E
-AX7,VH7,VI7,VJ7,VL7,VM7,VN7,VZ7 Tasmania-VK 198 59 30 -10.00 42 54 0 S 147 18 0 E
+AX7,VI7,VJ7,VL7 Tasmania-VK 198 59 30 -10.00 42 54 0 S 147 18 0 E
VK8 Northern-Territory-VK 198 55 29 -9.00 12 30 0 S 130 54 0 E
VK Northern-Territory-VK8 198 55 29 -9.00 12 30 0 S 130 54 0 E
-AX8,VH8,VI8,VJ8,VL8,VM8,VN8 Northern-Territory-VK 198 55 29 -9.00 12 30 0 S 130 54 0 E
-VZ8 Northern-Territory-VK 198 55 29 -9.00 12 30 0 S 130 54 0 E
+AX8,VI8,VJ8,VL8 Northern-Territory-VK 198 55 29 -9.00 12 30 0 S 130 54 0 E
VK9N Norfolk-Island-VK9N 203 60 32 -11.50 29 2 0 S 167 56 0 E @
-AX9,VH9,VI9,VJ9,VK9,VL9,VM9,VN9 Norfolk-Island-VK9N 203 60 32 -11.50 29 2 0 S 167 56 0 E
-VZ9 Norfolk-Island-VK9N 203 60 32 -11.50 29 2 0 S 167 56 0 E
+AX9,VI9,VK9 Norfolk-Island-VK9N 203 60 32 -11.50 29 2 0 S 167 56 0 E
VP2E Anguilla-VP2E 207 11 8 4.00 18 14 0 N 63 0 0 W @
VP2 Anguilla-VP2E 207 11 8 4.00 18 14 0 N 63 0 0 W
VP2M Montserrat-VP2M 208 11 8 4.00 16 45 0 N 62 11 0 W @
VK0 Macquarie-Island-VK0M 206 60 30 -10.00 54 36 0 S 158 53 0 E
VK9C Cocos-Keeling-Islands-VK9C 201 54 29 -6.50 12 9 0 S 96 49 0 E @
VK9 Cocos-Keeling-Islands-VK9C 201 54 29 -6.50 12 9 0 S 96 49 0 E
-AX9C,AX9Y,VH9C,VH9Y,VI9C Cocos-Keeling-Islands-VK9C 201 54 29 -6.50 12 9 0 S 96 49 0 E
-VI9Y,VJ9C,VJ9Y,VK9FC Cocos-Keeling-Islands-VK9C 201 54 29 -6.50 12 9 0 S 96 49 0 E
-VK9KC,VK9Y,VK9ZY,VL9C Cocos-Keeling-Islands-VK9C 201 54 29 -6.50 12 9 0 S 96 49 0 E
-VL9Y,VM9C,VM9Y,VN9C,VN9Y Cocos-Keeling-Islands-VK9C 201 54 29 -6.50 12 9 0 S 96 49 0 E
-VZ9C,VZ9Y Cocos-Keeling-Islands-VK9C 201 54 29 -6.50 12 9 0 S 96 49 0 E
+AX9C,AX9Y,VI9C,VI9Y,VK9FC Cocos-Keeling-Islands-VK9C 201 54 29 -6.50 12 9 0 S 96 49 0 E
+VK9KC,VK9Y,VK9ZY,VZ9Y Cocos-Keeling-Islands-VK9C 201 54 29 -6.50 12 9 0 S 96 49 0 E
VK9L Lord-Howe-Island-VK9L 199 60 30 -10.50 31 33 0 S 159 5 0 E @
VK9 Lord-Howe-Island-VK9L 199 60 30 -10.50 31 33 0 S 159 5 0 E
-AX9L,VH9L,VI9L,VJ9L,VK9FL Lord-Howe-Island-VK9L 199 60 30 -10.50 31 33 0 S 159 5 0 E
-VK9ZL,VL9L,VM9L,VN9L,VZ9L Lord-Howe-Island-VK9L 199 60 30 -10.50 31 33 0 S 159 5 0 E
+AX9L,VI9L,VK9FL,VK9ZL,VZ9L Lord-Howe-Island-VK9L 199 60 30 -10.50 31 33 0 S 159 5 0 E
VK9M Mellish-Reef-VK9M 202 56 30 -10.00 17 24 0 S 155 51 0 E @
VK9 Mellish-Reef-VK9M 202 56 30 -10.00 17 24 0 S 155 51 0 E
-AX9M,VH9M,VI9M,VJ9M,VL9M,VM9M,VN9M Mellish-Reef-VK9M 202 56 30 -10.00 17 24 0 S 155 51 0 E
-VZ9M Mellish-Reef-VK9M 202 56 30 -10.00 17 24 0 S 155 51 0 E
+AX9M,VI9M,VZ9M Mellish-Reef-VK9M 202 56 30 -10.00 17 24 0 S 155 51 0 E
VK9W Willis-Island-VK9W 204 55 30 -10.00 16 13 0 S 150 1 0 E @
VK9 Willis-Island-VK9W 204 55 30 -10.00 16 13 0 S 150 1 0 E
-AX9W,AX9Z,VH9W,VH9Z,VI9W,VI9Z Willis-Island-VK9W 204 55 30 -10.00 16 13 0 S 150 1 0 E
-VJ9W,VJ9Z,VK9FW,VK9Z,VL9W,VL9Z Willis-Island-VK9W 204 55 30 -10.00 16 13 0 S 150 1 0 E
-VM9W,VM9Z,VN9W,VN9Z,VZ9W,VZ9Z Willis-Island-VK9W 204 55 30 -10.00 16 13 0 S 150 1 0 E
+AX9W,AX9Z,VI9W,VI9Z,VK9FW,VK9Z Willis-Island-VK9W 204 55 30 -10.00 16 13 0 S 150 1 0 E
+VZ9W Willis-Island-VK9W 204 55 30 -10.00 16 13 0 S 150 1 0 E
VK9X Christmas-Island-VK9X 200 54 29 -7.00 10 29 0 S 105 38 0 E @
VK9 Christmas-Island-VK9X 200 54 29 -7.00 10 29 0 S 105 38 0 E
-AX9X,VH9X,VI9X,VJ9X,VK9FX Christmas-Island-VK9X 200 54 29 -7.00 10 29 0 S 105 38 0 E
-VK9KX,VL9X,VM9X,VN9X,VZ9X Christmas-Island-VK9X 200 54 29 -7.00 10 29 0 S 105 38 0 E
+AX9X,VI9X,VK9FX,VK9KX,VZ9X Christmas-Island-VK9X 200 54 29 -7.00 10 29 0 S 105 38 0 E
VP8/G South-Georgia-Island-VP8/G 211 73 13 2.00 54 29 0 S 37 5 0 W @
VP8 South-Georgia-Island-VP8/G 211 73 13 2.00 54 29 0 S 37 5 0 W
VP8/H South-Shetland-Islands-VP8/H 214 73 13 4.00 62 5 0 S 58 40 0 W @
next_pc92_update => '9,Next PC92 Update,atime',
next_pc92_keepalive => '9,Next PC92 KeepAlive,atime',
hostname => '0,Hostname',
+ isslugged => '9,Still Slugged,yesno',
+ sluggedpcs => '9,Slugged PCxx Queue,parray',
);
$maxerrors = 20; # the maximum number of concurrent errors allowed before disconnection
$user->new_buddies unless $user->buddies;
$self->{group} = $user->group;
$self->{sort} = $user->sort;
+ $self->{width} = $user->width;
}
$self->{startt} = $self->{t} = $main::systime;
$self->{state} = 0;
$self->{oldstate} = 0;
$self->{lang} = $main::lang if !$self->{lang};
$self->{func} = "";
+ $self->{width} ||= 80;
# add in all the dxcc, itu, zone info
my @dxcc = Prefix::extract($call);
$self->enhanced($line);
} elsif ($sort eq 'A' || $sort eq 'O' || $sort eq 'W') {
$self->start($line, $sort);
+ } elsif ($sort eq 'C') {
+ $self->width($line); # change number of columns
} elsif ($sort eq 'Z') {
$self->disconnect;
} elsif ($sort eq 'D') {
}
+sub isregistered
+{
+ my $self = shift;
+
+ # the sysop is registered!
+ return 1 if $self->{call} eq $main::myalias || $self->{call} eq $main::mycall;
+
+ if ($main::reqreg) {
+ return $self->{registered};
+ } else {
+ return 1;
+ }
+}
+
#no strict;
sub AUTOLOAD
{
my $pagelth = $user->pagelth;
$pagelth = $default_pagelth unless defined $pagelth;
$self->{pagelth} = $pagelth;
- ($self->{width}) = $line =~ /width=(\d+)/; $line =~ s/\s*width=\d+\s*//;
+ ($self->{width}) = $line =~ /\s*width=(\d+)/; $line =~ s/\s*width=\d+//;
+ $self->{enhanced} = $line =~ /\s+enhanced/; $line =~ s/\s*enhanced//;
if ($line =~ /host=/) {
my ($h) = $line =~ /host=(\d+\.\d+\.\d+\.\d+)/;
$line =~ s/\s*host=\d+\.\d+\.\d+\.\d+// if $h;
$self->{width} = 80 unless $self->{width} && $self->{width} > 80;
$self->{consort} = $line; # save the connection type
- LogDbg('DXCommand', "$call connected from $self->{hostname}");
+ LogDbg('DXCommand', "$call connected from $self->{hostname} cols $self->{width}" . ($self->{enhanced}?" enhanced":''));
# set some necessary flags on the user if they are connecting
$self->{beep} = $user->wantbeep;
$user->wantusstate(0) unless defined $user->{wantusstate};
# sort out registration
- if ($main::reqreg == 1) {
- $self->{registered} = $user->registered;
- } elsif ($main::reqreg == 2) {
+ if ($main::reqreg == 2) {
$self->{registered} = !$user->registered;
} else {
- $self->{registered} = 1;
- }
+ $self->{registered} = $user->registered;
+ }
+
+ # establish slug queue, if required
+ $self->{sluggedpcs} = [];
+ $self->{isslugged} = $DXProt::pc92_slug_changes + $DXProt::last_pc92_slug + 5 if $DXProt::pc92_slug_changes;
+ $self->{isslugged} = 0 if $self->{priv} > 0 || $user->registered || $user->homenode eq $main::mycall;
# send the relevant MOTD
$self->send_motd;
}
++$users;
$maxusers = $users if $users > $maxusers;
- }
- while (my ($k, $v) = each %nothereslug) {
- if ($main::systime >= $v + 300) {
- delete $nothereslug{$k};
+ if ($dxchan->{isslugged} && $main::systime > $dxchan->{isslugged}) {
+ foreach my $ref (@{$dxchan->{sluggedpcs}}) {
+ if ($ref->[0] == 61) {
+ Spot::add(@{$ref->[2]});
+ DXProt::send_dx_spot($dxchan, $ref->[1], @{$ref->[2]});
+ }
+ }
+
+ $dxchan->{isslugged} = 0;
+ $dxchan->{sluggedpcs} = [];
}
}
$buf = dd(['ann', $to, $target, $text, @_])
} else {
$buf = "$to$target de $_[0]: $text";
- $buf =~ s/\%5E/^/g;
+ #$buf =~ s/\%5E/^/g;
$buf .= "\a\a" if $self->{beep};
}
$self->local_send($target eq 'WX' ? 'W' : 'N', $buf);
$buf = dd(['chat', $to, $target, $text, @_])
} else {
$buf = "$target de $_[0]: $text";
- $buf =~ s/\%5E/^/g;
+ #$buf =~ s/\%5E/^/g;
$buf .= "\a\a" if $self->{beep};
}
$self->local_send('C', $buf);
my $self = shift;
my $t = ztime($_[2]);
- my $loc = '';
- my $clth = 30;
- # --$clth if $self->{consort} eq 'local';
+ my ($slot1, $slot2) = ('', '');
+ my $clth = 30 + $self->{width} - 80; # allow comment to grow according the screen width
my $comment = substr (($_[3] || ''), 0, $clth);
+ $comment =~ s/\t/ /g;
$comment .= ' ' x ($clth - (length($comment)));
- if ($self->{user}->wantgrid) {
+ if (!$slot1 && $self->{user}->wantgrid) {
my $ref = DXUser::get_current($_[1]);
if ($ref && $ref->qra) {
- my $cloc = ' ' . substr($ref->qra, 0, 4);
- $comment = substr $comment, 0, ($clth - (length($comment)+length($cloc)));
- $comment .= $cloc;
+ $slot1 = ' ' . substr($ref->qra, 0, 4);
}
+ }
+ if (!$slot1 && $self->{user}->wantusstate) {
+ $slot1 = " $_[12]" if $_[12];
+ }
+ unless ($slot1) {
+ if ($self->{user}->wantdxitu) {
+ $slot1 = sprintf(" %2d", $_[8]) if defined $_[8];
+ } elsif ($self->{user}->wantdxcq) {
+ $slot1 = sprintf(" %2d", $_[9]) if defined $_[9];
+ }
+ }
+ $comment = substr($comment, 0, $clth-length($slot1)) . $slot1 if $slot1;
+
+ if (!$slot2 && $self->{user}->wantgrid) {
my $origin = $_[4];
$origin =~ s/-#$//; # sigh......
- $ref = DXUser::get_current($origin);
+ my $ref = DXUser::get_current($origin);
if ($ref && $ref->qra) {
- $loc = ' ' . substr($ref->qra, 0, 4);
+ $slot2 = ' ' . substr($ref->qra, 0, 4);
+ }
+ }
+ if (!$slot2 && $self->{user}->wantusstate) {
+ $slot2 = " $_[13]" if $_[13];
+ }
+ unless ($slot2) {
+ if ($self->{user}->wantdxitu) {
+ $slot2 = sprintf(" %2d", $_[10]) if defined $_[10];
+ } elsif ($self->{user}->wantdxcq) {
+ $slot2 = sprintf(" %2d", $_[11]) if defined $_[11];
}
- } elsif ($self->{user}->wantdxitu) {
- $loc = ' ' . sprintf("%2d", $_[10]) if defined $_[10];
- $comment = substr($comment, 0, $clth-3) . ' ' . sprintf("%2d", $_[8]) if defined $_[8];
- } elsif ($self->{user}->wantdxcq) {
- $loc = ' ' . sprintf("%2d", $_[11]) if defined $_[11];
- $comment = substr($comment, 0, $clth-3) . ' ' . sprintf("%2d", $_[9]) if defined $_[9];
- } elsif ($self->{user}->wantusstate) {
- $loc = ' ' . $_[13] if $_[13];
- $comment = substr($comment, 0, $clth-3) . ' ' . $_[12] if $_[12];
}
- return sprintf "DX de %-9.9s%10.1f %-12.12s %-s $t$loc", "$_[4]:", $_[0], $_[1], $comment;
+ return sprintf "DX de %-8.8s%10.1f %-12.12s %-s $t$slot2", "$_[4]:", $_[0], $_[1], $comment;
}
+
# send a dx spot
sub dx_spot
{
} else {
$buf = $self->format_dx_spot(@_);
$buf .= "\a\a" if $self->{beep};
- $buf =~ s/\%5E/^/g;
+ #$buf =~ s/\%5E/^/g;
}
$self->local_send('X', $buf);
my $self = shift;
my $motd;
- unless ($self->{registered}) {
+ unless ($self->isregistered) {
$motd = "${main::motd}_nor_$self->{lang}";
$motd = "${main::motd}_nor" unless -e $motd;
}
sub {
my $subpro = shift;
if (isdbg('progress')) {
- my $s = qq{line: "$line"};
+ my $s = qq{$call line: "$line"};
$s .= ", args: " . join(', ', map { defined $_ ? qq{'$_'} : q{'undef'} } @$args) if $args && @$args;
dbg($s);
}
- eval { @out = $cmdref->(@$args); };
+ eval {
+ ++$self->{_in_sub_process};
+ dbg "\$self->{_in_sub_process} = $self->{_in_sub_process}";
+ @out = $cmdref->(@$args);
+ --$self->{_in_sub_process} if $self->{_in_sub_process} > 0;
+ };
if ($@) {
DXDebug::dbgprintring(25);
push @out, DXDebug::shortmess($@);
{
return ($users, $maxusers);
}
+
1;
__END__
$line++;
chomp $l;
next if $l =~ /^\s*#/o or $l =~ /^\s*$/o;
- my ($min, $hour, $mday, $month, $wday, $cmd) = $l =~ /^\s*(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(.+)$/o;
+ my ($min, $hour, $mday, $month, $wday, $cmd) = $l =~ /^\s*(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(.+)$/;
next unless defined $min;
my $ref = bless {};
my $err = '';
# handle '*' values
if ($val eq '*') {
$ref->{$sort} = 0;
- return;
+ return '';
}
# handle comma delimited values
}
$ref->{$sort} = \@req;
- return;
+ return '';
}
# process the cronjobs
if ($cron->{cmd}) {
dbg("cron: $min $hour $mday $mon $wday -> doing '$cron->{cmd}'") if isdbg('cron');
- eval "$cron->{cmd}";
+ eval $cron->{cmd};
dbg("cron: cmd error $@") if $@ && isdbg('cron');
}
}
my $fc = DXSubprocess->new();
$fc->run(
sub {
- $main::me->{_nospawn} = 1;
+ ++$main::me->{_nospawn};
my @res = $main::me->run_cmd($line);
- delete $main::me->{_nospawn};
# diffms("DXCron spawn_cmd 1", $line, $t0, scalar @res) if isdbg('chan');
return @res;
},
sub {
my ($fc, $err, @res) = @_;
+ --$main::me->{_nospawn};
+ delete $main::me->{_nospawn} if exists $main::me->{_nospawn} && $main::me->{_nospawn} <= 0;
if ($err) {
my $s = "DXCron::spawn_cmd: error $err";
dbg($s);
sub run_cmd
{
my $line = shift;
- my @in = $main::me->run_cmd($line);
dbg("DXCron::run_cmd: $line") if isdbg('cron');
+ my @in = $main::me->run_cmd($line);
for (@in) {
- s/\s*$//og;
+ s/\s*$//;
dbg("DXCron::cmd out: $_") if isdbg('cron');
}
}
last if $pkg =~ /Mojo/;
# say "*** in dbgtrace $i after mojo";
$_isdbg = 'trace';
- dbg("Stack ($i): $pkg::$subr in $fn line: $l");
+ dbg("Stack ($i): ${pkg}::$subr in $fn line: $l");
}
$_isdbg = '';
}
sub dbginit
{
+ my $basename = shift || 'debug';
$callback = shift;
# add sig{__DIE__} handling
}
}
- $fp = DXLog::new('debug', 'dat', 'd');
+ $fp = DXLog::new($basename, 'dat', 'd');
dbgclearring();
}
use JSON;
use Data::Structure::Util qw(unbless);
+use Scalar::Util qw(blessed);
use DXDebug;
use DXUtil;
{
my $json = shift;
my $ref = shift;
- my $name = ref $ref;
-
- unbless($ref) if $name && $name ne 'HASH';
+ my $name = blessed $ref;
+ unbless($ref) if $name;
my $s;
eval {$s = $json->SUPER::encode($ref) };
if ($s && !$@) {
- bless $ref, $name if $name && $name ne 'HASH';
+ bless $ref, $name if $name;
return $s;
}
else {
}
if ($who) {
$hint .= ' && ' if $hint;
- $hint .= q{m{\Q$who\E}oi};
+ $hint .= q{m{\Q$who\E}i};
}
$hint = "next unless $hint" if $hint;
$hint .= "; next unless m{^\\d+\\^$pattern\\^}" if $pattern;
my $ref = get_fwq($fromnode, $stream);
if ($ref) {
- $_[4] =~ s/\%5E/^/g;
+ $_[4] =~ s/\%5E/~/g;
if (@{$ref->{lines}}) {
push @{$ref->{lines}}, $_[4];
} else {
%pc92_find $pc92_find_timeout $pc92_short_update_period
$next_pc92_obs_timeout $pc92_slug_changes $last_pc92_slug
$pc92_extnode_update_period $pc50_interval
- $pc92_keepalive_period
+ $pc92_keepalive_period $senderverify
);
$pc11_max_age = 1*3600; # the maximum age for an incoming 'real-time' pc11
$pc92_keepalive_period = 1*60*60; # frequency of PC92 K (keepalive) records
%pc92_find = (); # outstanding pc92 find operations
$pc92_find_timeout = 30; # maximum time to wait for a reply
+$senderverify = 1; # 1 = check spotter is on node it says it is and check ip address if available
+ # 2 = do 1 and dump if check
@checklist =
if ($main::systime - 3600 > $last_hour) {
$last_hour = $main::systime;
}
+
+ pc11_process();
}
#
foreach $dxchan (@dxchan) {
next if $dxchan == $main::me;
next if $dxchan == $self && $self->is_node;
+ next if $dxchan == $self;
next if $dxchan->is_rbn;
if ($line =~ /PC61/ && !($dxchan->is_spider || $dxchan->is_user)) {
unless ($pc11) {
clear_pc92_changes(); # remove any slugged data, we are generating it as now
my @dxchan = grep { $_->call ne $main::mycall && !$_->{isolate} } DXChannel::get_all();
dbg("ROUTE: all dxchan: " . join(',', map{$_->{call}} @dxchan)) if isdbg('routelow');
- my @localnodes = map { my $r = Route::get($_->{call}); $r ? $r : () } @dxchan;
+ my @localnodes = map { my $r = Route::get($_->{call}); ($_->is_node || $_->is_user) && $r ? $r : () } @dxchan;
dbg("ROUTE: localnodes: " . join(',', map{$_->{call}} @localnodes)) if isdbg('routelow');
return pc92c($node, @localnodes);
} else {
$eph_pc15_restime $pc9x_past_age $pc9x_dupe_age
$pc10_dupe_age $pc92_slug_changes $last_pc92_slug
$pc92Ain $pc92Cin $pc92Din $pc92Kin $pc9x_time_tolerance
- $pc92filterdef
+ $pc92filterdef $senderverify
);
$pc9x_dupe_age = 60; # catch loops of circular (usually) D records
$pc10_dupe_age = 45; # just something to catch duplicate PC10->PC93 conversions
-$pc92_slug_changes = 60*5; # slug any changes going outward for this long
+$pc92_slug_changes = 60*1; # slug any changes going outward for this long
$last_pc92_slug = 0; # the last time we sent out any delayed add or del PC92s
$pc9x_time_tolerance = 15*60; # the time on a pc9x is allowed to be out by this amount
$pc9x_past_age = (122*60)+ # maximum age in the past of a px9x (a config record might be the only
- $pc9x_time_tolerance; # thing a node might send - once an hour and we allow an extra hour for luck)
+$pc9x_time_tolerance; # thing a node might send - once an hour and we allow an extra hour for luck)
# this is actually the partition between "yesterday" and "today" but old.
+$senderverify = 1; # 1 - check for forged PC11 or PC61.
+ # 2 - if forged, dump them.
+
$pc92filterdef = bless ([
# tag, sort, field, priv, special parser
['zone', 'nz', 3],
], 'Filter::Cmd');
+our %pc11q;
+# this is a place to park an incoming PC11 in the sure and certain hope that
+# a PC61 will be along soon. This has the side benefit that it will delay a
+# a PC11 for one second - assuming that it is not removed by a PC61 version
# incoming talk commands
sub handle_10
$main::me->normal(pc93($to, $from, $via, $pc->[3], $pc->[6]));
}
+my $last;
+
# DX Spot handling
sub handle_11
{
dbg("PCPROT: Bad Spotter $pc->[6], dropped") if isdbg('chanerr');
return;
}
-# unless (is_ipaddr($pc->[8]) || DXUser::get_current($pc->[6])) {
-# dbg("PCPROT: Unknown Spotter $pc->[6], dropped") if isdbg('chanerr');
-# return;
-# }
# convert the date to a unix date
my $d = cltounix($pc->[3], $pc->[4]);
return;
}
}
+
my @spot = Spot::prepare($pc->[1], $pc->[2], $d, $pc->[5], $nossid, $pc->[7], $pc->[8]);
+
# global spot filtering on INPUT
if ($self->{inspotsfilter}) {
my ($filter, $hops) = $self->{inspotsfilter}->it(@spot);
# this goes after the input filtering, but before the add
# so that if it is input filtered, it isn't added to the dup
# list. This allows it to come in from a "legitimate" source
- if (Spot::dup(@spot[0..4,5])) {
- dbg("PCPROT: Duplicate Spot ignored\n") if isdbg('chanerr');
+ if (my $key = Spot::dup(@spot[0..4,7])) {
+ dbg("PCPROT: Duplicate Spot $pc->[0] $key ignored\n") if isdbg('chanerr') || isdbg('dupespot');
return;
}
+ # here we verify the spotter is currently connected to the node it says it is one. AKA email sender verify
+ # but without the explicit probe to the node. We are relying on "historical" information, but it very likely
+ # to be current once we have seen the first PC92C from that node.
+ #
+ # As for spots generated from non-PC92 nodes, we'll see after about do_pc9x3h20m...
+ #
+ if ($senderverify) {
+ my $nroute = Route::Node::get($pc->[7]);
+ my $uroute = Route::Node::get($pc->[6]);
+ my $local = DXChannel::get($pc->[7]);
+
+ if ($nroute && ($nroute->last_PC92C || ($local && !$local->do_pc9x))) {
+ my $s = '';
+ my $ip = $pcno == 61 ? $pc->[8] : '';
+# $s .= "User $pc->[6] not logged in, " unless $uroute;
+ $s .= "User $pc->[6] not on node $pc->[7], " unless $nroute->is_user($pc->[6]);
+# $s .= "Node $pc->[7] at '$ip' not on Node's IP " . $nroute->ip if $ip && $nroute && $nroute->ip && $nroute->ip ne $ip;
+ if ($s) {
+ my $action = $senderverify > 1 ? ", DUMPED" : '';
+ $s =~ s/, $//;
+ dbg("PCProt: Suspicious Spot $pc->[2] on $pc->[1] by $pc->[6]($ip)\@$pc->[7] $s$action");
+ return unless $senderverify < 2;
+ }
+ }
+ }
+
+ # If is a new PC11, store it, releasing the one that is there (if any),
+ # if a PC61 comes along then dump the stored PC11
+ # If there is a different PC11 stored, release that one and store this PC11 instead,
+
# add it
Spot::add(@spot);
} else {
route(undef, $to, pc34($main::mycall, $to, $cmd));
}
- if ($to ne $pc->[7]) {
- $to = $pc->[7];
+ if ($to ne $origin) {
+ $to = $origin;
$node = Route::Node::get($to);
if ($node) {
$dxchan = $node->dxchan;
send_dx_spot($self, $line, @spot) if @spot;
}
+# used to kick outstanding PC11 if required
+sub pc11_process
+{
+
+}
+
# announces
sub handle_12
{
sub check_add_node
{
my $call = shift;
+ my $type = shift;
+
# add this station to the user database, if required (don't remove SSID from nodes)
my $user = DXUser::get_current($call);
$user->lockout(1);
$user->homenode($call);
$user->node($call);
- $user->sort('A');
+ $user->sort($type || 'A');
$user->lastin($main::systime); # this make it last longer than just this invocation
$user->put; # just to make sure it gets written away!!!
}
my $is_extnode = $flag & 2;
my $here = $flag & 1;
my $ip = $part[3];
- $ip ||= $part[1] if $part[1] && ($part[1] =~ /^(?:\d+\.)+/ || $part[1] =~ /^(?:(?:[abcdef\d]+)?,)+/);
+ $ip ||= $part[1] if $part[1] && $part[1] !~ /^\d+$/ && ($part[1] =~ /^(?:\d+\.)+/ || $part[1] =~ /^(?:(?:[abcdef\d]+)?,)+/);
$ip =~ s/,/:/g if $ip;
return ($call, $is_node, $is_extnode, $here, $part[1], $part[2], $ip);
}
if ($call) {
my $ncall = $parent->call;
if ($ncall ne $call) {
+ my $user;
+ unless (DXChannel::get($call)) { # i.e. external entity - create an user entry for it - ALL entities will appear in ALL user files from now on.
+ $user = DXUser::get($call);
+ unless ($user) {
+ $user = DXUser->new($call);
+ dbg("PCProt::_add_thingy new user $call");
+ }
+ }
if ($is_node) {
dbg("ROUTE: added node $call to $ncall") if isdbg('routelow');
@rout = $parent->add($call, $version, Route::here($here), $ip);
$r->ip($ip);
Log('DXProt', "PC92A $call -> $ip on $ncall");
}
+ if ($user && $user->sort eq 'U') {
+ if (defined $version) {
+ if ($version >= 5455 && $build > 0 || $version >= 3000 ) {
+ $user->sort('S');
+ } else {
+ $user->sort('A');
+ }
+ dbg("PCProt::_add_thingy node $call sort updated " . $user->sort15);
+ }
+ }
} else {
dbg("ROUTE: added user $call to $ncall") if isdbg('routelow');
+ my $user = check_add_node($call, 'U');
@rout = $parent->add_user($call, Route::here($here), $ip);
$dxchan->tell_buddies('loginb', $call, $ncall) if $dxchan;
my $r = Route::User::get($call);
$things_add{$call} = Route::get($call);
delete $things_del{$call};
}
- } else {
+ $user->close($main::systime, $ip) if $user; # this just updates lastseen and the connlist list containing the IP address
+ } else {
dbgprintring(10) if isdbg('nologchan');
dbg("DXProt::add_thingy: Trying to add parent $call to itself $ncall, ignored");
}
push @radd, $add if $add;
$parent->reset_obs;
$parent->version($ent[4]) if $ent[4];
- $parent->build($ent[5]) if $ent[5];
+ if ($ent[5]) {
+ $ent[5] =~ s/^0.//;
+ $parent->build($ent[5]);
+ }
dbg("ROUTE: reset obscount on $parent->{call} now " . $parent->obscount) if isdbg('obscount');
}
$origin ||= $main::mycall;
$text = unpad($text);
$text = ' ' unless $text && length $text > 0;
- $text =~ s/\^/%5E/g;
+ $text =~ s/\^/~/g;
return "PC10^$from^$user1^$text^*^$user2^$origin^~";
}
my $hops = get_hops(11);
my $t = time;
$text = ' ' if !$text;
- $text =~ s/\^/%5E/g;
+ $text =~ s/\^/~/g;
return sprintf "PC11^%.1f^$dxcall^%s^%s^$text^$mycall^$main::mycall^$hops^~", $freq, cldate($t), ztime($t);
}
my $hops = get_hops(61) || get_hops(11);
my $t = time;
$text = ' ' if !$text;
- $text =~ s/\^/%5E/g;
+ $text =~ s/\^/~/g;
return sprintf "PC61^%.1f^$dxcall^%s^%s^$text^$mycall^$main::mycall^$ipaddr^$hops^~", $freq, cldate($t), ztime($t);
}
my ($call, $text, $tonode, $sysop, $wx, $origin) = @_;
my $hops = get_hops(12);
$text ||= ' ';
- $text =~ s/\^/%5E/g;
+ $text =~ s/\^/~/g;
$tonode ||= '*';
$sysop ||= ' ';
$wx ||= '0';
{
my ($fromnode, $tonode, $stream, $text) = @_;
$text = ' ' unless defined $text && length $text > 0;
- $text =~ s/\^/%5E/og; # remove ^
+ $text =~ s/\^/~/g; # remove ^
return "PC29^$fromnode^$tonode^$stream^$text^~";
}
my $origin = shift; # this will be present on proxying from PC10
$line = unpad($line);
- $line =~ s/\^/\\5E/g; # remove any ^ characters
+ $line =~ s/\^/~/g; # remove any ^ characters
my $s = "PC93^$main::mycall^" . gen_pc9x_t() . "^$to^$from^$via^$line";
$s .= "^$origin" if $origin;
$s .= "^H99^";
my $dbh;
eval {
no strict 'refs';
- $dbh = DBI->connect($dsn, $user, $passwd);
+ $dbh = DBI->connect($dsn, $user, $passwd);
+ dbg "DXSql $dsn " . $dbh? "connected" : "NOT connected" if isdbg('dxsql');
};
unless ($dbh) {
$active = 0;
sub spot_search
{
my $self = shift;
- my $expr = shift;
- my $dayfrom = shift;
- my $dayto = shift;
- my $n = shift;
- my $dxchan = shift;
+ my ($expr, $dayfrom, $dayto, $from, $to, $hint, $dofilter, $dxchan) = @_;
+ $dayfrom = 0 if !$dayfrom;
+ $dayto = $Spot::maxdays unless $dayto;
+ $dayto = $dayfrom + $Spot::maxdays if $dayto < $dayfrom;
+ my $today = Julian::Day->new(time());
+ my $fromdate = $today->sub($dayfrom);
+ my $todate = $fromdate->sub($dayto);
+ $from = 0 unless $from;
+ $to = $Spot::defaultspots unless $to;
- dbg("expr: $expr") if isdbg('search');
- if ($expr =~ /\$f/) {
+ dbg("DXSql expr: $expr") if isdbg('search');
+ if ($expr =~ /\$r->/) {
$expr =~ s/(?:==|eq)/ = /g;
- $expr =~ s/\$f10/spotteritu/g;
- $expr =~ s/\$f11/spottercq/g;
- $expr =~ s/\$f12/spotstate/g;
- $expr =~ s/\$f13/spotterstate/g;
- $expr =~ s/\$f14/ipaddr/g;
- $expr =~ s/\$f0/freq/g;
- $expr =~ s/\$f1/spotcall/g;
- $expr =~ s/\$f2/time/g;
- $expr =~ s/\$f3/comment/g;
- $expr =~ s/\$f4/spotter/g;
- $expr =~ s/\$f5/spotdxcc/g;
- $expr =~ s/\$f6/spotterdxcc/g;
- $expr =~ s/\$f7/origin/g;
- $expr =~ s/\$f8/spotitu/g;
- $expr =~ s/\$f9/spotcq/g;
+ $expr =~ s/\$r->\[10\]/spotteritu/g;
+ $expr =~ s/\$r->\[11\]/spottercq/g;
+ $expr =~ s/\$r->\[12\]/spotstate/g;
+ $expr =~ s/\$r->\[13\]/spotterstate/g;
+ $expr =~ s/\$r->\[14\]/ipaddr/g;
+ $expr =~ s/\$r->\[0\]/freq/g;
+ $expr =~ s/\$r->\[1\]/spotcall/g;
+ $expr =~ s/\$r->\[2\]/time/g;
+ $expr =~ s/\$r->\[3\]/comment/g;
+ $expr =~ s/\$r->\[4\]/spotter/g;
+ $expr =~ s/\$r->\[5\]/spotdxcc/g;
+ $expr =~ s/\$r->\[6\]/spotterdxcc/g;
+ $expr =~ s/\$r->\[7\]/origin/g;
+ $expr =~ s/\$r->\[8\]/spotitu/g;
+ $expr =~ s/\$r->\[9\]/spotcq/g;
$expr =~ s/\|\|/ or /g;
$expr =~ s/\&\&/ and /g;
- $expr =~ s/=~\s+m\{\^([%\w]+)[^\}]*\}/ like '$1'/g;
+ $expr =~ s/=~\s*m\{\^([%\w]+)[^\}]*\}/ like '$1\%'/g;
} else {
$expr = '';
}
$expr .= $expr ? " and $trange" : $trange;
my $s = qq{select freq,spotcall,time,comment,spotter,spotdxcc,spotterdxcc,
origin,spotitu,spotcq,spotteritu,spottercq,spotstate,spotterstate,ipaddr from spot
-where $expr order by time desc limit $n};
- dbg("sql expr: $s") if isdbg('search');
+where $expr limit $to};
+ dbg("DXSql expr: $s") if isdbg('search');
my $ref = $self->{dbh}->selectall_arrayref($s);
return @$ref;
}
{
my $self = shift;
dbg('adding spot index ix1');
- $self->do('create index spot_ix1 on spot(time desc)');
+ $self->do('create index spot_ix1 on spot(time asc)');
dbg('adding spot index ix2');
$self->do('create index spot_ix2 on spot(spotcall asc)');
+ dbg('adding spot index ix3');
+ $self->do('create index spot_ix3 on spot(freq asc)');
+ dbg('adding spot index ix4');
+ $self->do('create index spot_ix4 on spot(spotter asc)');
}
--- /dev/null
+#
+# Polled Timer handling
+#
+# This uses callbacks. BE CAREFUL!!!!
+#
+#
+#
+# Copyright (c) 2001 Dirk Koopman G1TLH
+#
+
+package DXTimer;
+
+use Mojo::IOLoop;
+
+use vars qw(@timerchain $notimers $lasttime);
+use DXDebug;
+
+@timerchain = ();
+$notimers = 0;
+
+$lasttime = 0;
+
+sub new
+{
+ my ($pkg, $time, $proc, $recur) = @_;
+ my $obj = ref($pkg);
+ my $class = $obj || $pkg;
+ my $self = bless { t=>$time + $main::systime, proc=>$proc }, $class;
+ $self->{interval} = $time if $recur;
+ push @timerchain, $self;
+ $notimers = @timerchain;
+ dbg("Timer created (notimers: $notimers)") if isdbg('connll');
+ return $self;
+}
+
+sub del
+{
+ my $self = shift;
+ delete $self->{proc};
+ @timerchain = grep {$_ != $self} @timerchain;
+ $notimers = @timerchain;
+ dbg("Timer deleted (notimers: $notimers)") if isdbg('connll');
+}
+
+sub handler
+{
+ my $now = $main::systime;
+
+ return unless $now != $lasttime;
+
+ # handle things on the timer chain
+ my $t;
+ foreach $t (@timerchain) {
+ if ($now >= $t->{t}) {
+ &{$t->{proc}}();
+ $t->{t} = $now + $t->{interval} if exists $t->{interval};
+ }
+ }
+
+ $lasttime = $now;
+}
+
+sub DESTROY
+{
+ dbg("timer destroyed ($DXTimer::notimers)") if isdbg('connll');
+}
+1;
--- /dev/null
+package DXUDP;
+
+=head1 NAME
+
+DXUDP - A Mojo compatible UDP thingy
+
+=head1 VERSION
+
+0.01
+
+=head1 SYNOPSIS
+
+ use DXUDP;
+ my $handle = DXUDP->new;
+
+ $handle->on(read => sub {
+ my ($handle, $data) = @_;
+ ...
+ });
+
+ $handle->on(error => sub {
+ warn "DXUDP: $_[1]\n";
+ });
+
+ $handle->on(finish => sub {
+ my($handle, $c, $error) = @_;
+ warn "Connection: $error\n" if $error;
+ });
+
+ $handle->start;
+ $handle->ioloop->start unless $handle->ioloop->is_running;
+
+=head1 DESCRIPTION
+
+A simple Mojo compatible UDP thingy
+
+=cut
+
+use Mojo::Base 'Mojo::EventEmitter';
+use Mojo::IOLoop;
+use Scalar::Util qw(weaken);
+use IO::Socket::INET6;
+
+our $VERSION = '0.04';
+
+=head1 EVENTS
+
+=head2 error
+
+ $self->on(error => sub {
+ my($self, $str) = @_;
+ });
+
+This event is emitted when something goes wrong: Fail to L</listen> to socket,
+read from socket or other internal errors.
+
+=head2 finish
+
+ $self->on(finish => sub {
+ my($self, $c, $error) = @_;
+ });
+
+This event is emitted when the client finish, either successfully or due to an
+error. C<$error> will be an empty string on success.
+
+=head2 read
+
+ $self->on(read => sub {
+ my($self, $data) = @_;
+ });
+
+This event is emitted when a new read request arrives from a client.
+
+=head1 ATTRIBUTES
+
+=head2 ioloop
+
+Holds an instance of L<Mojo::IOLoop>.
+
+=cut
+
+has ioloop => sub { Mojo::IOLoop->singleton };
+
+=head2 inactive_timeout
+
+How long a L<connection|Mojo::TFTPd::Connection> can stay idle before
+being dropped. Default is 0 (no timeout).
+
+=cut
+
+has inactive_timeout => 0;
+
+
+=head1 METHODS
+
+=head2 start
+
+Starts listening to the address and port set in L</Listen>. The L</error>
+event will be emitted if the server fail to start.
+
+=cut
+
+sub start {
+ my ($self, $args) = (shift, ref $_[0] ? $_[0] : {@_});
+ my $reactor = $self->ioloop->reactor;
+ my $socket;
+
+ my $host = $args->{LocalAddr} || $args->{host} || '0.0.0.0';
+ my $port = $args->{LocalPort} || $args->{port} || 1234;
+
+ $socket = IO::Socket::IP->new(
+ LocalAddr => $host,
+ LocalPort => $port,
+ Proto => 'udp',
+ );
+
+ if(!$socket) {
+ return $self->emit(error => "Can't create listen socket: $!");
+ };
+
+ Scalar::Util::weaken($self);
+
+ $socket->blocking(0);
+ $reactor->io($socket, sub { $self->_incoming });
+ $reactor->watch($socket, 1, 0); # watch read events
+ $self->{socket} = $socket;
+
+ return $self;
+}
+
+sub _incoming {
+ my $self = shift;
+ my $socket = $self->{socket};
+ my $read = $socket->recv(my $datagram, 65534);
+
+ if(!defined $read) {
+ $self->emit(error => "Read: $!");
+ }
+
+ $self->emit(read => $datagram);
+}
+
+has peerhost => sub { return $_[0]->{socket}->peerhost };
+has peerport => sub { return $_[0]->{socket}->peerport };
+
+sub DEMOLISH {
+ my $self = shift;
+ my $reactor = eval { $self->ioloop->reactor } or return; # may be undef during global destruction
+
+ $reactor->remove($self->{socket}) if $self->{socket};
+}
+
+=head1 AUTHOR
+
+Svetoslav Naydenov - C<harryl@cpan.org>
+
+Jan Henning Thorsen - C<jhthorsen@cpan.org>
+
+=cut
+
+1;
$filename = undef;
$lastoperinterval = 60*24*60*60;
$lasttime = 0;
-$lrusize = 10000;
+$lrusize = 5000;
$tooold = 86400 * 365; # this marks an old user who hasn't given enough info to be useful
$v3 = 0;
our $maxconnlist = 3; # remember this many connection time (duration) [start, end] pairs
startt => '0,Start Time,cldatetime',
connlist => '1,Connections,parraydifft',
width => '0,Preferred Width',
+ rbnseeme => '0,RBN See Me',
);
#no strict;
{
my $mode = shift;
- $json = DXJSON->new->canonical(1);
+ $json = DXJSON->new->canonical(1);
my $fn = "users";
$filename = localdata("$fn.v3j");
- unless (-e $filename || $mode == 2) {
- LogDbg('DXUser', "New User File version $filename does not exist, running conversion from users.v3 or v2, please wait");
- system('/spider/perl/convert-users-v3-to-v3j.pl');
- init(1);
- export();
- return;
+ unless (-e $filename || $mode == 2 ) {
+ if (-e localdata("$fn.v3") || -e localdata("$fn.v2")) {
+ LogDbg('DXUser', "New User File version $filename does not exist, running conversion from users.v3 or v2, please wait");
+ system('/spider/perl/convert-users-v3-to-v3j.pl');
+ init(1);
+ export();
+ return;
+ }
}
- if (-e $filename || $mode == 2) {
+ if (-e $filename || $mode) {
$lru = LRU->newbase("DXUser", $lrusize);
if ($mode) {
$dbm = tie (%u, 'DB_File', $filename, O_CREAT|O_RDWR, 0666, $DB_BTREE) or confess "can't open user file: $fn ($!) [rebuild it from user_json?]";
$b->{$call} = shift if @_;
return $b->{$call};
}
+
+sub registered
+{
+ my $self = shift;
+ if (exists $self->{registered}) {
+ return $self->{registered} || 0;
+ }
+ return ''; # to stop undef warnings
+}
+
1;
__END__
use File::Copy;
use Data::Dumper;
use Time::HiRes qw(gettimeofday tv_interval);
+use Text::Wrap;
use strict;
print_all_fields cltounix unpad is_callsign is_latlong
is_qra is_freq is_digits is_pctext is_pcflag insertitem deleteitem
is_prefix dd is_ipaddr $pi $d2r $r2d localdata localdata_mv
- diffms _diffms difft parraydifft is_ztime
+ diffms _diffms _diffus difft parraydifft is_ztime basecall
);
# format a prompt with its current value and return it with its privilege
sub promptf
{
- my ($line, $value) = @_;
+ my ($line, $value, $promptl) = @_;
my ($priv, $prompt, $action) = split ',', $line;
# if there is an action treat it as a subroutine and replace $value
} elsif (ref $value) {
$value = dd($value);
}
- $prompt = sprintf "%15s: %s", $prompt, $value;
+ $promptl ||= 15;
+ $prompt = sprintf "%${promptl}s: %s", $prompt, $value;
return ($priv, $prompt);
}
sub parray
{
my $ref = shift;
- return ref $ref ? join(', ', @{$ref}) : $ref;
+ return ref $ref ? join(', ', sort @{$ref}) : $ref;
}
# take the arg as an array reference and print as a list of pairs
my $ref = shift;
my $out;
- while (my ($k,$v) = each %$ref) {
- $out .= "${k}=>$v, ";
+ while (my $k = sort keys %$ref) {
+ $out .= "${k}=>$ref->{$k}, ";
}
- chop $out; # remove last space
- chop $out; # remove last comma
+ $out =~ s/, $// if $out;
return $out;
}
my @fields = $ref->fields;
my $field;
my $width = $self->width - 1;
+ my $promptl = 0;
$width ||= 80;
+ # find the maximum length of the prompt
+ foreach $field (@fields) {
+ if (defined $ref->{$field}) {
+ my (undef, $prompt, undef) = split ',', $ref->field_prompt($field);
+ $promptl = length $prompt if length $prompt > $promptl;
+ }
+ }
+
+ # now do print
foreach $field (sort {_sort_fields($ref, $a, $b)} @fields) {
if (defined $ref->{$field}) {
- my ($priv, $ans) = promptf($ref->field_prompt($field), $ref->{$field});
+ my ($priv, $ans) = promptf($ref->field_prompt($field), $ref->{$field}, $promptl);
my @tmp;
if (length $ans > $width) {
+ $Text::Wrap::columns = $width-2;
my ($p, $a) = split /: /, $ans, 2;
- my $l = (length $p) + 2;
- my $al = ($width - 1) - $l;
- my $bit;
- while (length $a > $al ) {
- ($bit, $a) = unpack "A$al A*", $a;
- push @tmp, "$p: $bit";
- $p = ' ' x ($l - 2);
- }
- push @tmp, "$p: $a" if length $a;
+ @tmp = split/\n/, Text::Wrap::wrap("$p: ", (' ' x $promptl) . ': ', $a);
} else {
push @tmp, $ans;
}
{
my $in = shift;
$in =~ s{(.)} { $patmap{$1} || "\Q$1" }ge;
+ $in =~ s|\\/|/|g;
return '^' . $in . "\$";
}
[A-Z]{1,8} # callsign letters (required)
(?:-(?:\d{1,2}))? # - nn possibly (eg G8BPQ-8)
(?:/[0-9A-Z]{1,7})? # / another prefix, callsign or special label (including /MM, /P as well as /EURO or /LGT) possibly
- $!x;
+ (?:/(?:AM?|MM?|P))? # finally /A /AM /M /MM /P
+ $!xo;
- # longest callign allowed is 1X11/1Y11XXXXX-11/XXXXXXX
+ # longest callign allowed is 1X11/1Y11XXXXX-11/XXXXXXX/MM
}
sub is_prefix
sub localdata
{
my $ifn = shift;
- my $ofn = "$main::local_data/$ifn";
- my $tfn;
+ my $lfn = "$main::local_data/$ifn";
+ my $dfn = "$main::data/$ifn";
if (-e "$main::local_data") {
- $tfn = "$main::data/$ifn";
- if ((-e $tfn) && (-e $ofn)) {
- $ofn = $tfn if -M $ofn < -M $tfn;
+ if ((-e $dfn) && (-e $lfn)) {
+ $lfn = $dfn if -M $dfn < -M $lfn;
} else {
- $ofn = $tfn if -e $tfn;
+ $lfn = $dfn if -e $dfn;
}
+ } else {
+ $lfn = $dfn;
}
- return $ofn;
+ return $lfn;
}
# move a file or a directory from data -> local_data if isn't there already
return $b - $a;
}
+# and in microseconds
+sub _diffus
+{
+ my $ta = shift;
+ my $tb = shift || [gettimeofday];
+ my $a = int($ta->[0] * 1000000) + int($ta->[1]);
+ my $b = int($tb->[0] * 1000000) + int($tb->[1]);
+ return $b - $a;
+}
+
sub diffms
{
my $call = shift;
if (ref $b eq 'ARRAY') {
$t = $b->[1] - $b->[0];
} else {
- if ($adds >= $b) {
+ if ($adds && $adds =~ /^\d+$/ && $adds >= $b) {
$t = $adds - $b;
$adds = shift;
} else {
$out .= sprintf ("%s${s}s", $adds?' ':'') if $s;
$out ||= sprintf ("%s0s", $adds?' ':'');
}
+ $out = '0s' unless length $out;
return $out;
}
$out =~ s/,\s*$//;
return $out;
}
+
+sub basecall
+{
+ my ($r) = $_[0] =~ m|^(?:[\w\d]+/)?([\w\d]+).*$|;
+ return $r;
+}
use DXVars;
use DXUtil;
use DXDebug;
+use DXTimer;
+
use IO::File;
use IO::Socket;
use IPC::Open3;
$conn->{msg} =~ s/([^\cM\cJ]*)\cM?\cJ//g;
}
+ $conn->{linesin} += @lines;
+ $Msg::total_lines_in += @lines;
while (defined ($msg = shift @lines)) {
dbg("connect $conn->{cnum}: $msg") if $conn->{state} ne 'C' && isdbg('connect');
dbg("connect $conn->{cnum}: timeout set to $val") if isdbg('connect');
$conn->{timeout}->del if $conn->{timeout};
$conn->{timeval} = $val;
- $conn->{timeout} = Timer->new($val, sub{ &_timedout($conn) });
+ $conn->{timeout} = DXTimer->new($val, sub{ &_timedout($conn) });
}
use DXVars;
use DXUtil;
use DXDebug;
+use DXTimer;
+
use IO::File;
use IO::Socket;
use IPC::Open3;
} else {
$conn->{msg} =~ s/([^\cM\cJ]*)\cM?\cJ//g;
}
+ $conn->{linesin} += @lines;
+ $Msg::total_lines_in += @lines;
while (defined ($msg = shift @lines)) {
dbg("connect $conn->{cnum}: $msg") if $conn->{state} ne 'C' && isdbg('connect');
dbg("connect $conn->{cnum}: timeout set to $val") if isdbg('connect');
$conn->{timeout}->del if $conn->{timeout};
$conn->{timeval} = $val;
- $conn->{timeout} = Timer->new($val, sub{ &_timedout($conn) });
+ $conn->{timeout} = DXTimer->new($val, sub{ &_timedout($conn) });
}
sub _dolineend
# check the line for non legal characters
dbg("Filter::parse line: '$line'") if isdbg('filter');
- return ('ill', $dxchan->msg('e19')) if $line !~ /{.*}/ && $line =~ /[^\s\w,_\-\*\/\(\)\$!]/;
+ my @ch = $line =~ m|([^\s\w,_\.:\/\-\*\(\)\$!])|g;
+ return ('ill', $dxchan->msg('e19', join(' ', @ch))) if $line !~ /{.*}/ && @ch;
$line = lc $line;
} else {
$conn->{msg} =~ s/([^\cM\cJ]*)\cM?\cJ//g;
}
+ $conn->{linesin} += @lines;
+ $Msg::total_lines_in += @lines;
for (@lines) {
if (defined $_) {
s/\%([0-9A-F][0-9A-F])/chr(hex($1))/eg;
chatinst => 'Entering Chatmode on $_[0], /EX to end, /<cmd> to run a command',
chatprompt => 'Chat ($_[0])>',
chattoomany => 'Not allowed, already in $_[1], use /chat $_[0]',
- cluster => 'Nodes: $_[0]/$_[1] Clr - Users: $_[2]/$_[3] Clr Max: $_[4]/$_[5] Clr - Uptime: $_[6]',
+ cluster => 'Nodes: $_[0]/$_[1] Users [Loc/Clr]: $_[2]/$_[3] Max: $_[4]/$_[5] - Uptime: $_[6]',
conother => 'Sorry $_[0] you are connected to me on another port',
concluster => 'Sorry $_[0] you are already connected elsewhere on the cluster (on $_[1])',
contomany => 'Sorry $_[0] but you are already connected to $_[1] other nodes (on $_[2])',
e16 => 'File \"$_[0]\" exists',
e17 => 'Please don\'t use the words: @_ on here',
e18 => 'Cannot connect to $_[0] ($!)',
- e19 => 'Invalid character in line',
+ e19 => 'Invalid character(s) in line $_[0]',
e20 => qq{token '$_[0]' not recognised},
e21 => '$_[0] is not numeric',
e22 => '$_[0] is not a callsign',
ok => 'Operation successful',
outconn => 'Outstanding connect to $_[0]',
page => 'Press Enter to continue, A to abort ($_[0] lines) >',
- pagelth => 'Page Length is now $_[0]',
+ pagelth => 'Page Length is now $_[0] lines',
+ pagewidth => 'Page width is now $_[0] columns',
passerr => 'Please use: SET/PASS <password> <callsign>',
passphrase => 'Passphrase set or changed for $_[0]',
passphraseu => 'Passphrase removed for $_[0]',
qrashe1 => 'Please enter a QRA locator, eg sh/qra JO02LQ or sh/qra JO02LQ IO93NS',
qrae2 => 'Don\'t recognise \"$_[0]\" as a QRA locator (eg JO02LQ)',
qra => 'Your QRA Locator is now \"$_[0]\"',
+ rbnusers => qq{RBN User List},
qsl1 => 'Call Manager Times Last Time Seen De',
rcmdo => 'RCMD \"$_[0]\" sent to $_[1]',
read1 => 'Sorry, no new messages for you',
e16 => 'Le fichier \"$_[0]\" existe déjà ',
e17 => 'Prière de ne pas utiliser les mots : @_ ici !',
e18 => 'Connexion impossible avec $_[0] ($!)',
- e19 => 'Caractère non valide dans la ligne',
+ e19 => 'Caractère non valide dans la ligne $_[0]',
e20 => 'Symbole $_[0] non reconnu',
e21 => '$_[0] n\'est pas une valeur numérique',
e22 => '$_[0] n\'est pas un indicatif',
e16 => 'El fichero \"$_[0]\" ya existe',
e17 => 'Por favor no uses la palabra: @_ aquÃ',
e18 => 'No se puede conectar con $_[0] ($!)',
- e19 => 'Carácter no válido en la lÃnea',
+ e19 => 'Carácter no válido en la lÃnea $_[0]',
e20 => 'SÃmbolo $_[0] no reconocido',
e21 => '$_[0] no es numérico',
e22 => '$_[0] no es un indicativo',
e16 => 'Datei \"$_[0]\" existiert',
e17 => 'Bitte gebrauche dieses Wort: @_ nicht hier',
e18 => 'Kann nicht verbinden mit $_[0] ($!)',
- e19 => 'Ungueltiger Character in der Zeile',
+ e19 => 'Ungueltiger Character in der Zeile $_[0]',
e20 => 'Kuerzel $_[0] nicht erkannt',
e21 => '$_[0] nicht numerisch',
e22 => '$_[0] kein Rufzeichen',
e16 => 'Il file \"$_[0]\" esiste',
e17 => 'Non usare le parole: @_ qui',
e18 => 'Impossibile connettere $_[0] ($!)',
- e19 => 'Carattere non valido nella linea',
+ e19 => 'Carattere non valido nella linea $_[0]',
e20 => 'separatore $_[0] non riconosciuto',
e21 => '$_[0] non e\' numerico',
e22 => '$_[0] non e\' un nominativo',
e16 => 'Soubor \"$_[0]\" uz existuje',
e17 => 'Prosim nepouzivej zde toto slovo: @_',
e18 => 'Nemohu se pripojit na $_[0] ($!)',
- e19 => 'neplatny znak v radku',
+ e19 => 'neplatny znak v radku $_[0]',
e20 => 'retezec $_0] nebyl rozpoznan',
e21 => '$_[0] neni cislo',
e22 => '$_[0] neni znacka',
e16 => 'O ficheiro \"$_[0]\" existe',
e17 => 'Por favor no use as palavras: @_ aqui',
e18 => 'No posso ligar a $_[0] ($!)',
- e19 => 'Caracter invlido na linha',
+ e19 => 'Caracter invlido na linha $_[0]',
e20 => 'sinal $_[0] no reconhecido',
e21 => '$_[0] no numrico',
e22 => '$_[0] no um indicativo',
use Mojo::IOLoop::Stream;
use DXDebug;
-use Timer;
+use DXTimer;
-use vars qw($now %conns $noconns $cnum $total_in $total_out $connect_timeout $disc_waittime);
+use vars qw($now %conns $noconns $cnum $total_in $total_out $total_lines_in $total_lines_out $connect_timeout $disc_waittime);
$total_in = $total_out = 0;
+$total_lines_in = $total_lines_out = 0;
$now = time;
my $class = $obj || $pkg;
my $conn = {
- rproc => $rproc,
- inqueue => [],
- outqueue => [],
- state => 0,
- lineend => "\r\n",
- csort => 'telnet',
- timeval => 60,
- blocking => 0,
- cnum => (($cnum < 999) ? (++$cnum) : ($cnum = 1)),
+ rproc => $rproc,
+ inqueue => [],
+ outqueue => [],
+ state => 0,
+ lineend => "\r\n",
+ csort => 'telnet',
+ timeval => 60,
+ blocking => 0,
+ cnum => (($cnum < 999) ? (++$cnum) : ($cnum = 1)),
+ linesin => 0,
+ linesout => 0,
+ datain => 0,
+ dataout => 0,
};
$noconns++;
dbg("Buffer empty, just close $call") if $dbg;
_close_it($conn);
}
- } else {
+ }
+ else {
dbg((ref $conn) . " socket missing on $conn->{call}") if $dbg;
_close_it($conn);
}
if ($sock) {
dbg((ref $conn) . " Connection $conn->{cnum} $call closing gracefully") if isdbg('connll');
- $sock->close_gracefully;
+ $sock->close_gracefully if $sock->can('close_gracefully');
}
# get rid of any references
if (defined $sock) {
$sock->write($data);
$total_out += $lth;
+ $conn->{dataout} += $lth;
+ ++$conn->{linesout};
+ ++$total_lines_out;
} else {
dbg("_send_stuff $call ending data ignored: $data");
}
} else {
$conn->{msg} = pop @lines;
}
+ $conn->{linesin} += @lines;
+ $total_lines_in += @lines;
for (@lines) {
last if $conn->{disconnecting};
&{$conn->{rproc}}($conn, defined $_ ? $_ : '');
return if $conn->{disconnecting};
$total_in += length $msg;
+ $conn->{datain} += length $msg;
- my @lines;
if (isdbg('raw')) {
my $call = $conn->{call} || 'none';
my $lth = length $msg;
my $sock = $conn->{sock};
if ($sock) {
- $sock->close_gracefully;
+ $sock->close_gracefully if $sock->can('close_gracefully');
+ delete $conn->{sock};
}
$noconns--;
%prefix_loc = (); # the meat of the info
%pre = (); # the prefix list
$hits = $misses = $matchtotal = 1; # cache stats
-$lrusize = 10000; # size of prefix LRU cache
+$lrusize = 5000; # size of prefix LRU cache
sub init
{
use DXLog;
use DXUser;
use DXChannel;
-use Math::Round qw(nearest);
+use Math::Round qw(nearest nearest_floor);
use Date::Parse;
use Time::HiRes qw(gettimeofday);
use Spot;
RUtz => 6,
Respot => 7,
RQra => 8,
+ RSpotData => 9,
};
-# at least one whole spot per cache entry is necessary
use constant {
SQrg => 0,
SCall => 1,
STime => 2,
SComment => 3,
SOrigin => 4,
- SODxcc => 6,
- SOItu => 8,
- SOZone => 11,
- SOState => 13,
- SQra => 15, # i.e. extra after the IP address
+ SZone => 11,
};
-
-
-# Standard Cache entries
-# key Spot|normalised freq
use constant {
- CTime => 0, # time of latest spot in a tranch
- CQual => 1, # Qualitee
- CSpot => 3, # the Spot::Prepare data for this spot
- CSkims => 3, # the list of skimmers (hcalls) is [[...]...]
+ OQual => 0,
+ OAvediff => 1,
+ OSpare => 2,
+ ODiff => 3,
+ };
+use constant {
+ CTime => 0,
+ CQual => 1,
+ CData => 2,
};
-
-
-# key SK|<call>
use constant {
- SKTime =>0, # last time seen
- SKOffset => 1,
- SKQual => 2,
- SKSpot =>3, # the Spot::Prepare data for this skimmer
+ DScore => 0,
+ DGood => 1,
+ DBad => 2,
+ DLastin => 3,
+ DEviants => 4,
};
-
-our $CACHE_VERSION = 2;
+
+our $DATA_VERSION = 1;
our @ISA = qw(DXChannel);
# this is to allow the feed to "warm up" with duplicates
# so that the "big rush" doesn't happen.
-our $minspottime = 60*60; # the time between respots of a callsign - if a call is
+our $minspottime = 30*60; # the time between respots of a callsign - if a call is
# still being spotted (on the same freq) and it has been
# spotted before, it's spotted again after this time
# until the next minspottime has passed.
our $dwelltime = 10; # the amount of time to wait for duplicates before issuing
# a spot to the user (no doubt waiting with bated breath).
+our $limbotime = 5*60; # if there are fewer than $minqual candidates and $dwelltime
+ # has expired then allow this spot to live a bit longer. It may
+ # simply be that it is not in standard spot coverage. (ask G4PIQ
+ # about this).
+
our $filterdef = $Spot::filterdef; # we use the same filter as the Spot system. Can't think why :-).
my $spots; # the GLOBAL spot cache
our $cachefn = localdata('rbn_cache');
our $cache_valid = 4*60; # The cache file is considered valid if it is not more than this old
+our $maxqrgdiff = 10; # the maximum
+our $minqual = 2; # the minimum quality we will accept for output
+our $maxqual = 9; # if there is enough quality, then short circuit any remaining dwelltime.
+
my $json;
my $noinrush = 0; # override the inrushpreventor if set
+our $maxdeviants = 5; # the number of deviant QRGs to record for skimmer records
sub init
{
$json = DXJSON->new;
- $spots = {};
+ $json->canonical(0);
if (check_cache()) {
$noinrush = 1;
+ } else {
+ $spots = {VERSION=>$DATA_VERSION};
}
if (defined $DB::VERSION) {
$noinrush = 1;
$json->indent(1);
}
+
}
sub new
$self->{showstats} = 0;
$self->{pingint} = 0;
$self->{nopings} = 0;
+ $self->{queue} = {};
return $self;
}
my $self = shift;
my $line = shift;
my @ans;
-# my $spots = $self->{spot};
+ my $dbgrbn = isdbg('rbn');
# remove leading and trailing spaces
chomp $line;
# add base RBN
- my $tim = $main::systime;
+ my $now = $main::systime;
# parse line
dbg "RBN:RAW,$line" if isdbg('rbnraw');
return;
}
- $origin =~ s/\-(?:\d{1,2}\-)?\#$//; # get rid of all the crap we aren't interested in
+ # remove all extraneous crap from the origin - just leave the base callsign
+ $origin = basecall($origin);
+ # is this callsign in badspotter list?
+ if ($DXProt::badspotter->in($origin) || $DXProt::badnode->in($origin)) {
+ dbg("RBN: ERROR $origin is a bad spotter/node, dumped");
+ return;
+ }
+
+ # is the qrg valid
+ unless ($qrg =~ /^\d+\.\d{1,2}$/) {
+ dbg("RBN: ERROR qrg $qrg from $origin invalid, dumped");
+ return;
+ }
$sort ||= '';
$tx ||= '';
$qra ||= '';
- dbg qq{RBN:input decode or:$origin qr:$qrg ca:$call mo:$mode s:$s m:$m sp:$spd u:$u sort:$sort t:$t tx:$tx qra:$qra} if isdbg('rbn');
+ dbg qq{RBN:input decode or:$origin qr:$qrg ca:$call mo:$mode s:$s m:$m sp:$spd u:$u sort:$sort t:$t tx:$tx qra:$qra} if $dbgrbn && isdbg('rbn');
++$self->{noraw};
++$self->{noraw10};
++$self->{norawhour};
my $b;
-
+
if ($t || $tx) {
# fix up times for things like 'NXDXF B' etc
# process to just the standard "message passing" which has been shown to be able to sustain over 5000
# per second (limited by the test program's output and network speed, rather than DXSpider's handling).
- my $nqrg = nearest(5, $qrg*10); # normalised to nearest .5 Khz (but multipled by 10 to get an integer)
-# my $nqrg = nearest_even($qrg); # normalised to nearest Khz
+ my $search = 5;
+ my $nqrg = nearest(1, $qrg * 10); # normalised to nearest Khz
my $sp = "$call|$nqrg"; # hopefully the skimmers will be calibrated at least this well!
- my $spp = sprintf("$call|%d", $nqrg+1); # but, clearly, my hopes are rudely dashed
- my $spm = sprintf("$call|%d", $nqrg-1); # in BOTH directions!
- # do we have it?
+ # find it?
my $cand = $spots->{$sp};
- $cand = $spots->{$spp}, $sp = $spp, dbg(qq{RBN: SPP using $spp for $sp}) if isdbg('rbn') && !$cand && exists $spots->{$spp};
- $cand = $spots->{$spm}, $sp = $spm, dbg(qq{RBN: SPM using $spm for $sp}) if isdbg('rbn') && !$cand && exists $spots->{$spm};
-
+ unless ($cand) {
+ my ($i, $new);
+ for ($i = $nqrg; !$cand && $i <= $nqrg+$search; $i += 1) {
+ $new = "$call|$i";
+ $cand = $spots->{$new}, last if exists $spots->{$new};
+ }
+ if ($cand) {
+ my $diff = $i - $nqrg;
+ dbg(qq{RBN: QRG Diff using $new (+$diff) for $sp for qrg $qrg}) if (isdbg('rbnqrg') || ($dbgrbn && isdbg('rbn')));
+ $sp = $new;
+ }
+ }
+ unless ($cand) {
+ my ($i, $new);
+ for ($i = $nqrg; !$cand && $i >= $nqrg-$search; $i -= 1) {
+ $new = "$call|$i";
+ $cand = $spots->{$new}, last if exists $spots->{$new};
+ }
+ if ($cand) {
+ my $diff = $nqrg - $i;
+ dbg(qq{RBN: QRG Diff using $new (-$diff) for $sp for qrg $qrg}) if (isdbg('rbnqrg') || ($dbgrbn && isdbg('rbn')));
+ $sp = $new;
+ }
+ }
+
# if we have one and there is only one slot and that slot's time isn't expired for respot then return
my $respot = 0;
if ($cand && ref $cand) {
- if (@$cand <= CEMPTY) {
- unless ($self->{minspottime} > 0 && $tim - $cand->[0] >= $self->{minspottime}) {
- dbg("RBN: key: '$sp' call: $call qrg: $qrg DUPE \@ ". atime(int $cand->[0])) if isdbg('rbn');
+ if (@$cand <= CData) {
+ if ($self->{minspottime} > 0 && $now - $cand->[CTime] < $self->{minspottime}) {
+ dbg("RBN: key: '$sp' call: $call qrg: $qrg DUPE \@ ". atime(int $cand->[CTime])) if $dbgrbn && isdbg('rbn');
return;
}
- dbg("RBN: key: '$sp' RESPOTTING call: $call qrg: $qrg last seen \@ ". atime(int $cand->[0])) if isdbg('rbn');
- undef $cand; # it's about to be recreated (in one place)
+ dbg("RBN: key: '$sp' RESPOTTING call: $call qrg: $qrg last seen \@ ". atime(int $cand->[CTime])) if $dbgrbn && isdbg('rbn');
+ $cand->[CTime] = $now;
++$respot;
}
} elsif ($cand) {
dbg("RBN: key '$sp' = '$cand' not ref");
return;
- }
-
- # here we either have an existing spot record buildup on the go, or we need to create the first one
- unless ($cand) {
- $spots->{$sp} = $cand = [$main::systime, 0, 0];
- dbg("RBN: key: '$sp' call: $call qrg: $qrg NEW" . ($respot ? ' RESPOT' : '')) if isdbg('rbn');
+ } else {
+ # new spot / frequency
+ $spots->{$sp} = $cand = [$now, 0];
+ dbg("RBN: key: '$sp' call: $call qrg: $qrg NEW" . ($respot ? ' RESPOT' : '')) if $dbgrbn && isdbg('rbn');
}
# add me to the display queue unless we are waiting for initial in rush to finish
# deal with the unix time
my ($hh,$mm) = $t =~ /(\d\d)(\d\d)Z$/;
my $utz = $hh*3600 + $mm*60 + $main::systime_daystart; # possible issue with late spot from previous day
- $utz -= 86400 if $utz > $tim+3600; # too far ahead, drag it back one day
+ $utz -= 86400 if $utz > $now+3600; # too far ahead, drag it back one day
# create record and add into the buildup
my $r = [$origin, nearest(.1, $qrg), $call, $mode, $s, $t, $utz, $respot, $u];
- unless ($cand->[CSpot]) {
- my @s = Spot::prepare($r->[RQrg], $r->[RCall], $r->[RUtz], '', $r->[ROrigin]);
- if ($s[5] == 666) {
- dbg("RBN: ERROR invalid prefix/callsign $call from $origin-# on $qrg, dumped");
- return;
- }
- $cand->[CSpot] = \@s;
+ my @s = Spot::prepare($r->[RQrg], $r->[RCall], $r->[RUtz], '', $r->[ROrigin]);
+ if ($s[5] == 666) {
+ dbg("RBN: ERROR invalid prefix/callsign $call from $origin-# on $qrg, dumped");
+ return;
}
if ($self->{inrbnfilter}) {
my ($want, undef) = $self->{inrbnfilter}->it($s);
return unless $want;
}
+ $r->[RSpotData] = \@s;
- # add/set up the skimmer record
- my $skimkey = "SK|$origin";
- my $skim = $spots->{$skimkey};
- unless ($skim) {
- my $ur = DXUser::get($origin);
- $spots->{$skimkey} = [$main::systime, 0, 0, $s->[SODxcc], $s->[SOItu], $s->[SOZone], $s->[SOState], ($ur ? $ur->qra : undef) ];
- }
+ ++$self->{queue}->{$sp};# unless @$cand>= CData; # queue the KEY (not the record)
-
-
- push @{$self->{queue}}, $sp if @$cand == 1; # queue the KEY (not the record)
-
- dbg("RBN: key: '$sp' ADD RECORD call: $call qrg: $qrg origin: $origin") if isdbg('rbn');
+ dbg("RBN: key: '$sp' ADD RECORD call: $call qrg: $qrg origin: $origin respot: $respot") if $dbgrbn && isdbg('rbn');
push @$cand, $r;
- # At this point we run the queue to see if anything can be sent onwards to the punter
- my $now = $main::systime;
-
- # now run the waiting queue which just contains KEYS ($call|$qrg)
- foreach $sp (@{$self->{queue}}) {
- my $cand = $spots->{$sp};
- unless ($cand && $cand->[0]) {
- dbg "RBN Cand " . ($cand ? 'def' : 'undef') . " [0] " . ($cand->[0] ? 'def' : 'undef') . " dwell $dwelltime";
- next;
- }
- if ($now >= $cand->[CTime] + $dwelltime ) {
- # we have a candidate, create qualitee value(s);
- unless (@$cand > CEMPTY) {
- dbg "RBN: QUEUE key '$sp' MISSING RECORDS " . dd($cand) if isdbg 'rbn';
- shift @{$self->{queue}};
- next;
- }
- my $savedtime = shift @$cand; # save the start time
- my $r = $cand->[0];
- my $quality = @$cand;
- $quality = 9 if $quality > 9;
- $quality = "Q:$quality";
- if (isdbg('progress')) {
- my $s = "RBN: SPOT key: '$sp' = $r->[RCall] on $r->[RQrg] by $r->[ROrigin] \@ $r->[RTime] $quality";
- $s .= " route: $self->{call}";
- dbg($s);
- }
-
- send_dx_spot($self, $quality, $cand);
-
- # clear out the data and make this now just "spotted", but no further action required until respot time
- dbg "RBN: QUEUE key '$sp' cleared" if isdbg 'rbn';
-
- $spots->{$sp} = [$savedtime];
- shift @{$self->{queue}};
- } else {
- dbg sprintf("RBN: QUEUE key: '$sp' SEND time not yet reached %.1f secs left", $cand->[0] + $dwelltime - $now) if isdbg 'rbnqueue';
- }
- }
} else {
- dbg "RBN:DATA,$line" if isdbg('rbn');
+ dbg "RBN:DATA,$line" if $dbgrbn && isdbg('rbn');
}
}
# $r = [$origin, $qrg, $call, $mode, $s, $utz, $respot];
- my $mode = $cand->[0]->[3]; # as all the modes will be the same;
+ my $mode = $cand->[CData]->[RMode]; # as all the modes will be the same;
my @dxchan = DXChannel::get_all();
my $quality = shift;
my $cand = shift;
my $call = $dxchan->{call};
-
-
+ my $seeme = $dxchan->user->rbnseeme();
my $strength = 100; # because it could if we talk about FTx
my $saver;
-
my %zone;
- my %qrg;
my $respot;
my $qra;
my $filtered;
my $rf = $dxchan->{rbnfilter} || $dxchan->{spotsfilter};
+ my $comment;
+
foreach my $r (@$cand) {
# $r = [$origin, $qrg, $call, $mode, $s, $t, $utz, $respot, $qra];
# Spot::prepare($qrg, $call, $utz, $comment, $origin);
+ next unless $r && ref $r;
- my $comment = sprintf "%-3s %2ddB $quality", $r->[RMode], $r->[RStrength];
- $respot = 1 if $r->[Respot];
$qra = $r->[RQra] if !$qra && $r->[RQra] && is_qra($r->[RQra]);
+ $comment = sprintf "%-3s %2ddB $quality", $r->[RMode], $r->[RStrength];
my $s = $r->[RSpotData]; # the prepared spot
$s->[SComment] = $comment; # apply new generated comment
-
-
+
++$zone{$s->[SZone]}; # save the spotter's zone
- ++$qrg{$s->[SQrg]}; # and the qrg
-
+ # if the 'see me' flag is set, then show all the spots without further adornment (see set/rbnseeme for more info)
+ if ($seeme) {
+ send_final($dxchan, $s);
+ next;
+ }
+
# save the lowest strength one
if ($r->[RStrength] < $strength) {
$strength = $r->[RStrength];
dbg("RBN: STRENGTH spot: $s->[SCall] qrg: $s->[SQrg] origin: $s->[SOrigin] dB: $r->[RStrength] < $strength") if isdbg 'rbnll';
}
- if ($rf && !$want) {
+ if ($rf) {
my ($want, undef) = $rf->it($s);
dbg("RBN: FILTERING for $call spot: $s->[SCall] qrg: $s->[SQrg] origin: $s->[SOrigin] dB: $r->[RStrength] com: '$s->[SComment]' want: " . ($want ? 'YES':'NO')) if isdbg 'rbnll';
next unless $want;
$filtered = $s;
-# last;
}
}
delete $zone{$saver->[SZone]}; # remove this spotter's zone (leaving all the other zones)
my $z = join ',', sort {$a <=> $b} keys %zone;
- # determine the most likely qrg and then set it
- my $mv = 0;
- my $fk;
- my $c = 0;
- while (my ($k, $v) = each %qrg) {
- $fk = $k, $mv = $v if $v > $mv;
- ++$c;
- }
- $saver->[SQrg] = $fk;
- $saver->[SComment] .= '*' if $c > 1;
- $saver->[SComment] .= '+' if $respot;
+ # alter spot data accordingly
$saver->[SComment] .= " Z:$z" if $z;
- dbg("RBN: SENDING to $call spot: $saver->[SCall] qrg: $saver->[SQrg] origin: $saver->[SOrigin] $saver->[SComment]") if isdbg 'rbnll';
- if ($dxchan->{ve7cc}) {
- my $call = $saver->[SOrigin];
- $saver->[SOrigin] .= '-#';
- $buf = VE7CC::dx_spot($dxchan, @$saver);
- $saver->[SOrigin] = $call;
- } else {
- my $call = $saver->[SOrigin];
- $saver->[SOrigin] = substr($call, 0, 6);
- $saver->[SOrigin] .= '-#';
- $buf = $dxchan->format_dx_spot(@$saver);
- $saver->[SOrigin] = $call;
- }
-# $buf =~ s/^DX/RB/;
- $dxchan->local_send('N', $buf);
-
+ send_final($dxchan, $saver);
+
++$self->{nospot};
++$self->{nospot10};
++$self->{nospothour};
}
}
+sub send_final
+{
+ my $dxchan = shift;
+ my $saver = shift;
+ my $call = $dxchan->{call};
+ my $buf;
+
+ dbg("RBN: SENDING to $call spot: $saver->[SCall] qrg: $saver->[SQrg] origin: $saver->[SOrigin] $saver->[SComment]") if isdbg 'rbnll';
+ if ($dxchan->{ve7cc}) {
+ my $call = $saver->[SOrigin];
+ $saver->[SOrigin] .= '-#';
+ $buf = VE7CC::dx_spot($dxchan, @$saver);
+ $saver->[SOrigin] = $call;
+ } else {
+ my $call = $saver->[SOrigin];
+ $saver->[SOrigin] = substr($call, 0, 6);
+ $saver->[SOrigin] .= '-#';
+ $buf = $dxchan->format_dx_spot(@$saver);
+ $saver->[SOrigin] = $call;
+ }
+ $dxchan->local_send('N', $buf);
+}
+
+# per second
+sub process
+{
+ my $rbnskim = isdbg('rbnskim');
+
+ foreach my $dxchan (DXChannel::get_all()) {
+ next unless $dxchan->is_rbn;
+
+ # At this point we run the queue to see if anything can be sent onwards to the punter
+ my $now = $main::systime;
+ my $ta = [gettimeofday];
+ my $items = 0;
+
+ # now run the waiting queue which just contains KEYS ($call|$qrg)
+ foreach my $sp (keys %{$dxchan->{queue}}) {
+ my $cand = $spots->{$sp};
+ ++$items;
+
+ unless ($cand && $cand->[CTime]) {
+ dbg "RBN Cand $sp " . ($cand ? 'def' : 'undef') . " [CTime] " . ($cand->[CTime] ? 'def' : 'undef') . " dwell $dwelltime";
+ delete $spots->{$sp};
+ delete $dxchan->{queue}->{$sp}; # remove
+ next;
+ }
+
+ my $ctime = $cand->[CTime];
+ my $quality = @$cand - CData;
+ my $dwellsecs = $now - $ctime;
+ if ($quality >= $maxqual || $dwellsecs >= $dwelltime || $dwellsecs >= $limbotime) {
+ # we have a candidate, create qualitee value(s);
+ unless (@$cand > CData) {
+ dbg "RBN: QUEUE key '$sp' MISSING RECORDS, IGNORED" . dd($cand) if isdbg 'rbnqueue';
+ delete $spots->{$sp}; # don't remember it either - this means that a spot HAS to come in with sufficient spotters to be processed.
+ delete $dxchan->{queue}->{$sp};
+ next;
+ }
+ dbg "RBN: QUEUE PROCESSING key: '$sp' $now >= $cand->[CTime]" if isdbg 'rbnqueue';
+ my $spotters = $quality;
+
+ # dump it and remove it from the queue if it is of unadequate quality, but only if it is no longer in Limbo and can be reasonably passed on to its demise
+ my $r = $cand->[CData];
+ if ($dwellsecs > $limbotime && $quality < $minqual) {
+ if ( $rbnskim && isdbg('rbnskim')) {
+ $r = $cand->[CData];
+ if ($r) {
+ my $lastin = difft($ctime, $now, 2);
+ my $s = "RBN:SKIM time in Limbo exceeded DUMPED (lastin: $lastin Q:$quality < Q:$minqual) key: '$sp' = $r->[RCall] on $r->[RQrg] by $r->[ROrigin] \@ $r->[RTime] route: $dxchan->{call}";
+ dbg($s);
+ }
+ }
+ delete $spots->{$sp}; # don't remember it either - this means that a spot HAS to come in with sufficient spotters to be processed.
+ delete $dxchan->{queue}->{$sp};
+ next;
+ }
+
+ # we have a possible removal from Limbo, check for more than one skimmer and reset the quality if required
+ # DOES THIS TEST CAUSE RACES?
+ if (!$r->[Respot] && $quality >= $minqual && $dwellsecs > $dwelltime+1) {
+
+ # because we don't need to check for repeats by the same skimmer in the normal case, we do here
+ my %seen;
+ my @origin;
+ foreach my $wr (@$cand) {
+ next unless ref $wr;
+ push @origin, $wr->[ROrigin];
+ if (exists $seen{$wr->[ROrigin]}) {
+ next;
+ }
+ $seen{$wr->[ROrigin]} = $wr;
+ }
+ # reset the quality to ignore dupes
+ my $oq = $quality;
+ $quality = keys %seen;
+ if ($quality >= $minqual) {
+ if ( $rbnskim && isdbg('rbnskim')) {
+ my $lastin = difft($ctime, $now, 2);
+ my $sk = join ' ', keys %seen;
+ my $or = join ' ', @origin;
+ my $s = "RBN:SKIM promoted from Limbo - key: '$sp' (lastin: $lastin Q now: $quality was $oq skimmers now: $sk";
+ $s .= " was $or" if $or ne $sk;
+ $s .= ')';
+ dbg($s);
+ }
+ } elsif ($oq != $quality) {
+ if ( $rbnskim && isdbg('rbnskim')) {
+ my $lastin = difft($ctime, $now, 2);
+ my $sk = join ' ', keys %seen;
+ my $or = join ' ', @origin;
+ my $s = "RBN:SKIM quality reset key: '$sp' (lastin: $lastin Q now: $quality was $oq skimmers now: $sk was: $or)";
+ dbg($s);
+ }
+ # remove the excess
+ my @ncand = (@$cand[CTime, CQual], values %seen);
+ $spots->{$sp} = \@ncand;
+ }
+ }
+
+ # we now kick this spot into Limbo
+ if ($quality < $minqual) {
+ next;
+ }
+
+ $quality = 9 if $quality > 9;
+ $cand->[CQual] = $quality if $quality > $cand->[CQual];
+
+ # this scores each candidate according to its skimmer's QRG score (i.e. how often it agrees with its peers)
+ # what happens is hash of all QRGs in candidates are incremented by that skimmer's reputation for "accuracy"
+ # or, more exactly, past agreement with the consensus. This score can be from -5 -> +5.
+ my %qrg = ();
+ my $skimmer;
+ my $sk;
+ my $band;
+ my %seen = ();
+ foreach $r (@$cand) {
+ next unless ref $r;
+ if (exists $seen{$r->[ROrigin]}) {
+ $r = 0;
+ next;
+ }
+ $seen{$r->[ROrigin]} = 1;
+ $band ||= int $r->[RQrg] / 1000;
+ $sk = "SKIM|$r->[ROrigin]|$band"; # thus only once per set of candidates
+ $skimmer = $spots->{$sk};
+ unless ($skimmer) {
+ $skimmer = $spots->{$sk} = [1, 0, 0, $now, []]; # this first time, this new skimmer gets the benefit of the doubt on frequency.
+ dbg("RBN:SKIM new slot $sk " . $json->encode($skimmer)) if $rbnskim && isdbg('rbnskim');
+ }
+ $qrg{$r->[RQrg]} += ($skimmer->[DScore] || 1);
+ }
+
+ # determine the most likely qrg and then set it - NOTE (-)ve votes, generated by the skimmer scoring system above, are ignored
+ my @deviant;
+ my $c = 0;
+ my $mv = 0;
+ my $qrg = 0;
+ while (my ($k, $votes) = each %qrg) {
+ if ($votes >= $mv) {
+ $qrg = $k;
+ $mv = $votes;
+ }
+ ++$c;
+ }
+
+ # Ignore possible spots with 0 QRG score - as determined by the skimmer scoring system above - as they are likely to be wrong
+ unless ($qrg > 0) {
+ if ( $rbnskim && isdbg('rbnskim')) {
+ my $keys;
+ while (my ($k, $v) = (each %qrg)) {
+ $keys .= "$k=>$v, ";
+ }
+ $keys =~ /,\s*$/;
+ my $i = 0;
+ foreach $r (@$cand) {
+ next unless $r && ref $r;
+ dbg "RBN:SKIM cand $i QRG likely wrong from '$sp' = $r->[RCall] on $r->[RQrg] by $r->[ROrigin] \@ $r->[RTime] (qrgs: $keys c: $c) route: $dxchan->{call}, ignored";
+ ++$i;
+ }
+ }
+ delete $spots->{$sp}; # get rid
+ delete $dxchan->{queue}->{$sp};
+ next;
+ }
+
+ # detemine and spit out the deviants. Then adjust the scores according to whether it is a deviant or good
+ # NOTE: deviant nodes can become good (or less bad), and good nodes bad (or less good) on each spot that
+ # they generate. This is based solely on each skimmer's agreement (or not) with the "consensus" score generated
+ # above ($qrg). The resultant score + good + bad is stored per band and will be used the next time a spot
+ # appears on this band from each skimmer.
+ foreach $r (@$cand) {
+ next unless $r && ref $r;
+ my $diff = $c > 1 ? nearest(.1, $r->[RQrg] - $qrg) : 0;
+ $sk = "SKIM|$r->[ROrigin]|$band";
+ $skimmer = $spots->{$sk};
+ if ($diff) {
+ ++$skimmer->[DBad] if $skimmer->[DBad] < $maxdeviants;
+ --$skimmer->[DGood] if $skimmer->[DGood] > 0;
+ push @deviant, sprintf("$r->[ROrigin]:%+.1f", $diff);
+ push @{$skimmer->[DEviants]}, $diff;
+ shift @{$skimmer->[DEviants]} while @{$skimmer->[DEviants]} > $maxdeviants;
+ } else {
+ ++$skimmer->[DGood] if $skimmer->[DGood] < $maxdeviants;
+ --$skimmer->[DBad] if $skimmer->[DBad] > 0;
+ shift @{$skimmer->[DEviants]};
+ }
+ $skimmer->[DScore] = $skimmer->[DGood] - $skimmer->[DBad];
+ if ($rbnskim && isdbg('rbnskim')) {
+ my $lastin = difft($skimmer->[DLastin], $now, 2);
+ my $difflist = join(', ', @{$skimmer->[DEviants]});
+ $difflist = " band qrg diffs: $difflist" if $difflist;
+ dbg("RBN:SKIM key $sp slot $sk $r->[RQrg] - $qrg = $diff Skimmer score: $skimmer->[DGood] - $skimmer->[DBad] = $skimmer->[DScore] lastseen:$lastin ago$difflist");
+ }
+ $skimmer->[DLastin] = $now;
+ $r->[RSpotData]->[SQrg] = $qrg if $qrg && $c > 1; # set all the QRGs to the agreed value
+ }
+
+ $qrg = (sprintf "%.1f", $qrg)+0;
+ $r = $cand->[CData];
+ $r->[RQrg] = $qrg;
+ my $squality = "Q:$cand->[CQual]";
+ $squality .= '*' if $c > 1;
+ $squality .= '+' if $r->[Respot];
+
+ if (isdbg('progress')) {
+ my $rt = difft($ctime, $now, 2);
+ my $s = "RBN: SPOT key: '$sp' = $r->[RCall] on $r->[RQrg] by $r->[ROrigin] \@ $r->[RTime] $squality route: $dxchan->{call} dwell:$rt";
+ my $td = @deviant;
+ $s .= " QRGScore: $mv Deviants: $td/$spotters";
+ $s .= ' (' . join(', ', sort @deviant) . ')' if $td;
+ dbg($s);
+ }
+
+ # finally send it out to any waiting public
+ send_dx_spot($dxchan, $squality, $cand);
+
+ # clear out the data and make this now just "spotted", but no further action required until respot time
+ dbg "RBN: QUEUE key '$sp' cleared" if isdbg 'rbn';
+
+ delete $dxchan->{queue}->{$sp};
+
+ # calculate new sp (which will be 70% likely the same as the old one)
+ # we do this to cope with the fact that the first spotter may well be "wrongly calibrated" giving a qrg that disagrees with the majority.
+ # and we want to store the key that corresponds to majority opinion.
+ my $nqrg = nearest(1, $qrg * 10); # normalised to nearest Khz
+ my $nsp = "$r->[RCall]|$nqrg";
+ if ($sp ne $nsp) {
+ dbg("RBN:SKIM CHANGE KEY sp '$sp' -> '$nsp' for storage") if $rbnskim && isdbg('rbnskim');
+ delete $spots->{$sp};
+ $spots->{$nsp} = [$now, $cand->[CQual]];
+ } else {
+ $spots->{$sp} = [$now, $cand->[CQual]];
+ }
+ }
+ else {
+ dbg sprintf("RBN: QUEUE key: '$sp' SEND time not yet reached %.1f secs left", $cand->[CTime] + $dwelltime - $now) if isdbg 'rbnqueue';
+ }
+ }
+ if (isdbg('rbntimer')) {
+ my $diff = _diffus($ta);
+ dbg "RBN: TIMER process queue for call: $dxchan->{call} $items spots $diff uS";
+ }
+ }
+}
sub per_minute
{
foreach my $dxchan (DXChannel::get_all()) {
next unless $dxchan->is_rbn;
- dbg "RBN:STATS minute $dxchan->{call} raw: $dxchan->{noraw} sent: $dxchan->{norbn} delivered: $dxchan->{nospot} users: " . scalar keys %{$dxchan->{nousers}} if isdbg('rbnstats');
+ dbg "RBN:STATS minute $dxchan->{call} raw: $dxchan->{noraw} retrieved spots: $dxchan->{norbn} delivered: $dxchan->{nospot} after filtering to users: " . scalar keys %{$dxchan->{nousers}} if isdbg('rbnstats');
if ($dxchan->{noraw} == 0 && $dxchan->{lasttime} > 60) {
LogDbg('RBN', "RBN: no input from $dxchan->{call}, disconnecting");
$dxchan->disconnect;
{
my $count = 0;
my $removed = 0;
- while (my ($k,$v) = each %{$spots}) {
- if ($main::systime - $v->[0] > $minspottime*2) {
+ while (my ($k,$cand) = each %{$spots}) {
+ next if $k eq 'VERSION';
+ next if $k =~ /^O\|/;
+ next if $k =~ /^SKIM\|/;
+
+ if ($main::systime - $cand->[CTime] > $minspottime*2) {
delete $spots->{$k};
++$removed;
}
dbg "RBN:STATS spot cache remain: $count removed: $removed"; # if isdbg('rbn');
foreach my $dxchan (DXChannel::get_all()) {
next unless $dxchan->is_rbn;
- dbg "RBN:STATS 10-minute $dxchan->{call} raw: $dxchan->{noraw10} sent: $dxchan->{norbn10} delivered: $dxchan->{nospot10} users: " . scalar keys %{$dxchan->{nousers10}};
+ my $nq = keys %{$dxchan->{queue}};
+ my $pc = $dxchan->{noraw10} ? sprintf("%.1f%%",$dxchan->{norbn10}*100/$dxchan->{noraw10}) : '0.0%';
+ dbg "RBN:STATS 10-minute $dxchan->{call} queue: $nq raw: $dxchan->{noraw10} retrieved spots: $dxchan->{norbn10} ($pc) delivered: $dxchan->{nospot10} after filtering to users: " . scalar keys %{$dxchan->{nousers10}};
$dxchan->{noraw10} = $dxchan->{norbn10} = $dxchan->{nospot10} = 0; $dxchan->{nousers10} = {};
}
}
{
foreach my $dxchan (DXChannel::get_all()) {
next unless $dxchan->is_rbn;
- dbg "RBN:STATS hour $dxchan->{call} raw: $dxchan->{norawhour} sent: $dxchan->{norbnhour} delivered: $dxchan->{nospothour} users: " . scalar keys %{$dxchan->{nousershour}};
+ my $nq = keys %{$dxchan->{queue}};
+ my $pc = $dxchan->{norawhour} ? sprintf("%.1f%%",$dxchan->{norbnhour}*100/$dxchan->{norawhour}) : '0.0%';
+ dbg "RBN:STATS hour $dxchan->{call} queue: $nq raw: $dxchan->{norawhour} retrieved spots: $dxchan->{norbnhour} ($pc) delivered: $dxchan->{nospothour} after filtering to users: " . scalar keys %{$dxchan->{nousershour}};
$dxchan->{norawhour} = $dxchan->{norbnhour} = $dxchan->{nospothour} = 0; $dxchan->{nousershour} = {};
}
}
sub write_cache
{
- my $fh = IO::File->new(">$cachefn") or confess("writing $cachefn $!");
- $spots->{version} = $CACHE_VERSION;
- my $s = $json->encode($spots);
- $fh->print($s);
- $fh->close;
+ my $ta = [ gettimeofday ];
+ $json->indent(1)->canonical(1) if isdbg 'rbncache';
+ my $s = eval {$json->encode($spots)};
+ if ($s) {
+ my $fh = IO::File->new(">$cachefn") or confess("writing $cachefn $!");
+ $fh->print($s);
+ $fh->close;
+ } else {
+ dbg("RBN:Write_cache error '$@'");
+ return;
+ }
+ $json->indent(0)->canonical(0);
+ my $diff = _diffms($ta);
+ my $size = sprintf('%.3fKB', (length($s) / 1000));
+ dbg("RBN:WRITE_CACHE size: $size time to write: $diff mS");
}
sub check_cache
if (-e $cachefn) {
my $mt = (stat($cachefn))[9];
my $t = $main::systime - $mt || 1;
- my $p = difft($mt);
+ my $p = difft($mt, 2);
if ($t < $cache_valid) {
dbg("RBN:check_cache '$cachefn' spot cache exists, created $p ago and not too old");
my $fh = IO::File->new($cachefn);
}
if ($s) {
eval {$spots = $json->decode($s)};
- if ($spots && ref $spots) {
- my $version = $spots->{version} || 0;
- unless ($version != $CACHE_VERSION) {
- # wrong version number
- dbg("RBN:check_cache version number mismatch got: $version want: $CACHE_VERSION, reseting");
- $spots = {};
- return undef;
- }
- dbg("RBN:check_cache spot cache restored");
- return 1;
+ if ($spots && ref $spots) {
+ if (exists $spots->{VERSION} && $spots->{VERSION} == $DATA_VERSION) {
+ # now clean out anything that has spot build ups in progress
+ while (my ($k, $cand) = each %$spots) {
+ next if $k eq 'VERSION';
+ next if $k =~ /^O\|/;
+ next if $k =~ /^SKIM\|/;
+ if (@$cand > CData) {
+ $spots->{$k} = [$cand->[CTime], $cand->[CQual]];
+ }
+ }
+ dbg("RBN:check_cache spot cache restored");
+ return 1;
+ }
}
+ dbg("RBN::checkcache error decoding $@");
}
- dbg("RBN::checkcache error decoding $@");
} else {
my $d = difft($main::systime-$cache_valid);
dbg("RBN::checkcache '$cachefn' created $p ago is too old (> $d), ignored");
my $c;
if ($uref) {
$c = $uref->user_call;
- } else {
+ }
+ else {
$c = "$ucall?";
}
if ((length $line) + (length $c) + 1 < $width) {
$line .= $c . ' ';
- } else {
+ }
+ else {
$line =~ s/\s+$//;
push @out, $line;
$line = ' ' x ($level*2) . "$pcall->$c ";
$line =~ s/->$//g;
$line =~ s/\s+$//;
push @out, $line if length $line;
- } else {
+ }
+ else {
# recursion detector
if ((DXChannel::get($call) && $level > 1) || $seen->{$call} || $level > $maxlevel) {
return @out;
return @out;
}
+# is a user on this node
+sub is_user
+{
+ my $self = shift;
+ my $call = shift;
+ return scalar grep {$_ eq $call} @{$self->{users}};
+}
+
sub usercount
{
my $self = shift;
return (\@dnodes, \@dusers, \@nnodes, \@nusers);
}
+
sub new
{
my $pkg = shift;
return $self->_dellist('parent', @_);
}
-
-
#
# generic AUTOLOAD for accessors
#
use DXDupe;
use Data::Dumper;
use QSL;
+use DXSql;
+use Time::HiRes qw(gettimeofday tv_interval);
+
use strict;
$totalspots = $hfspots = $vhfspots = 0;
$use_db_for_search = 0;
+our %spotcache; # the cache of data within the last $spotcachedays 0 or 2+ days
+our $spotcachedays = 2; # default 2 days worth
+our $minselfspotqrg = 1240000; # minimum freq above which self spotting is allowed
+
our $readback = 1;
if ($readback) {
mkdir "$dirprefix", 0777 if !-e "$dirprefix";
$fp = DXLog::new($dirprefix, "dat", 'd');
$statp = DXLog::new($dirprefix, "dys", 'd');
+ my $today = Julian::Day->new(time);
# load up any old spots
if ($main::dbh) {
$main::dbh->spot_create_table;
my $now = Julian::Day->alloc(1995, 0);
- my $today = Julian::Day->new(time);
my $sth = $main::dbh->spot_insert_prepare;
while ($now->cmp($today) <= 0) {
my $fh = $fp->open($now);
dbg("added ipaddr field to spot table");
}
}
+
+ # initialise the cache if required
+ if ($spotcachedays > 0) {
+ my $t0 = [gettimeofday];
+ $spotcachedays = 2 if $spotcachedays < 2;
+ dbg "Spot::init - reading in $spotcachedays days of spots into cache";
+ for (my $i = 0; $i < $spotcachedays; ++$i) {
+ my $now = $today->sub($i);
+ my $fh = $fp->open($now);
+ if ($fh) {
+ my @in;
+ my $rec;
+ for ($rec = 0; <$fh>; ++$rec) {
+ chomp;
+ my @s = split /\^/;
+ if (@s < 14) {
+ my @a = (Prefix::cty_data($s[1]))[1..3];
+ my @b = (Prefix::cty_data($s[4]))[1..3];
+ push @s, $b[1] if @s < 7;
+ push @s, '' if @s < 8;
+ push @s, @a[0,1], @b[0,1] if @s < 12;
+ push @s, $a[2], $b[2] if @s < 14;
+ }
+ unshift @in, \@s;
+ }
+ $fh->close;
+ dbg("Spot::init read $rec spots from " . _cachek($now));
+ $spotcache{_cachek($now)} = \@in;
+ }
+ $now->add(1);
+ }
+ dbg("Spot::init $spotcachedays files of spots read into cache in " . _diffms($t0) . "mS")
+ }
}
sub prefix
{
my $buf = join('^', @_);
$fp->writeunix($_[2], $buf);
+ if ($spotcachedays > 0) {
+ my $now = Julian::Day->new($_[2]);
+ my $day = _cachek($now);
+ my $r = (exists $spotcache{$day}) ? $spotcache{$day} : ($spotcache{$day} = []);
+ unshift @$r, \@_;
+ }
if ($main::dbh) {
$main::dbh->begin_work;
$main::dbh->spot_insert(\@_);
sub search
{
- my ($expr, $dayfrom, $dayto, $from, $to, $hint, $dxchan) = @_;
+ my ($expr, $dayfrom, $dayto, $from, $to, $hint, $dofilter, $dxchan) = @_;
my @out;
my $ref;
my $i;
$to = $from + $maxspots if $to - $from > $maxspots || $to - $from <= 0;
if ($main::dbh && $use_db_for_search) {
- return $main::dbh->spot_search($hint, $dayfrom, $dayto, $to-$from, $dxchan);
+ return $main::dbh->spot_search($expr, $dayfrom, $dayto, $from, $to, $hint, $dofilter, $dxchan);
}
# $expr =~ s/\$f(\d\d?)/\$ref->[$1]/g; # swap the letter n for the correct field name
my $fh;
my $now = $fromdate;
- my @spots;
- my $recs;
+ my $today = Julian::Day->new($main::systime);
for ($i = $count = 0; $count < $to && $i < $maxdays; ++$i) { # look thru $maxdays worth of files only
last if $now->cmp($todate) <= 0;
-
- my $fn = $fp->fn($now->sub($i));
- if ($readback) {
- dbg("Spot::search search using tac fn: $fn $i") if isdbg('search');
- $fh = IO::File->new("$readback $fn |");
- }
- else {
- dbg("Spot::search search fn: $fp->{fn} $i") if isdbg('search');
- $fh = $fp->open($now->sub($i)); # get the next file
- }
- if ($fh) {
- my $rec = 0;
- my $in;
- while (<$fh>) {
- my @r = split /\^/;
+
+
+ my $this = $now->sub($i);
+ my $fn = $fp->fn($this);
+ my $cachekey = _cachek($this);
+ my $rec = 0;
+
+ if ($spotcachedays > 0 && $spotcache{$cachekey}) {
+ foreach my $r (@{$spotcache{$cachekey}}) {
++$rec;
- if ($dxchan) {
- my ($gotone, undef) = $dxchan->{spotsfilter}->it(@r);
+ if ($dofilter && $dxchan && $dxchan->{spotsfilter}) {
+ my ($gotone, undef) = $dxchan->{spotsfilter}->it(@$r);
next unless $gotone;
}
- if (&$ecode(\@r)) {
+ if (&$ecode($r)) {
++$count;
next if $count < $from;
- if ($readback) {
- push @out, \@r;
- last if $count >= $to;
- } else {
- push @out, \@r;
- shift @out if $count >= $to;
+ push @out, $r;
+ last if $count >= $to;
+ }
+ }
+ dbg("Spot::search cache recs read: $rec") if isdbg('search');
+ } else {
+ if ($readback) {
+ dbg("Spot::search search using tac fn: $fn $i") if isdbg('search');
+ $fh = IO::File->new("$readback $fn |");
+ }
+ else {
+ dbg("Spot::search search fn: $fp->{fn} $i") if isdbg('search');
+ $fh = $fp->open($now->sub($i)); # get the next file
+ }
+ if ($fh) {
+ my $in;
+ while (<$fh>) {
+ chomp;
+ my @r = split /\^/;
+ ++$rec;
+ if ($dofilter && $dxchan && $dxchan->{spotsfilter}) {
+ my ($gotone, undef) = $dxchan->{spotsfilter}->it(@r);
+ next unless $gotone;
+ }
+ if (&$ecode(\@r)) {
+ ++$count;
+ next if $count < $from;
+ if ($readback) {
+ push @out, \@r;
+ last if $count >= $to;
+ } else {
+ push @out, \@r;
+ shift @out if $count >= $to;
+ }
}
}
+ dbg("Spot::search file recs read: $rec") if isdbg('search');
+ last if $count >= $to; # stop after to
}
- dbg("Spot::search recs read: $rec") if isdbg('search');
- last if $count >= $to; # stop after to
-
- return ("Spot search error", $@) if $@;
}
}
+ return ("Spot search error", $@) if $@;
+
@out = sort {$b->[2] <=> $a->[2]} @out if @out;
return @out;
}
# format a spot for user output in list mode
sub formatl
{
- my $t = ztime($_[2]);
- my $d = cldate($_[2]);
- return sprintf "%8.1f %-11s %s %s %-28.28s%7s>", $_[0], $_[1], $d, $t, ($_[3]||''), "<$_[4]" ;
+ my $t = ztime($_[3]);
+ my $d = cldate($_[3]);
+ my $spotter = "<$_[5]>";
+ my $comment = $_[4] || '';
+ $comment =~ s/\t+/ /g;
+ my $cl = length $comment;
+ my $s = sprintf "%9.1f %-11s %s %s", $_[1], $_[2], $d, $t;
+ my $width = ($_[0] ? $_[0] : 80) - length($spotter) - length($s) - 4;
+
+ $comment = substr $comment, 0, $width if $cl > $width;
+ $comment .= ' ' x ($width-$cl) if $cl < $width;
+
+# return sprintf "%8.1f %-11s %s %s %-28.28s%7s>", $_[0], $_[1], $d, $t, ($_[3]||''), "<$_[4]" ;
+ return "$s $comment$spotter";
}
# enter the spot for dup checking and return true if it is already a dup
sub dup
{
- my ($freq, $call, $d, $text, $by, $cty) = @_;
+ my ($freq, $call, $d, $text, $by, $node) = @_;
# dump if too old
return 2 if $d < $main::systime - $dupage;
chomp $text;
$text =~ s/\%([0-9A-F][0-9A-F])/chr(hex($1))/eg;
$text = uc unpad($text);
- if ($cty && $text && length $text <= 4) {
- unless ($text =~ /^C?Q/ || $text =~ /^[\d\W]+$/) {
- my @try = Prefix::cty_data($text);
- $text = "" if $cty == $try[0];
- }
- }
my $otext = $text;
# $text = Encode::encode("iso-8859-1", $text) if $main::can_encode && Encode::is_utf8($text, 1);
$text =~ s/^\+\w+\s*//; # remove leading LoTW callsign
$text =~ s/\s{2,}[\dA-Z]?[A-Z]\d?$// if length $text > 24;
$text =~ s/[\W\x00-\x2F\x7B-\xFF]//g; # tautology, just to make quite sure!
$text = substr($text, 0, $duplth) if length $text > $duplth;
- my $ldupkey = "X$freq|$call|$by|$text";
+ my $ldupkey = "X$|$call|$by|$node|$freq|$d||$text";
my $t = DXDupe::find($ldupkey);
- return 1 if $t && $t - $main::systime > 0;
+ return $ldupkey if $t && $t - $main::systime > 0;
+
DXDupe::add($ldupkey, $main::systime+$dupage);
$otext = substr($otext, 0, $duplth) if length $otext > $duplth;
$otext =~ s/\s+$//;
return 1 if $t && $t - $main::systime > 0;
DXDupe::add($ldupkey, $main::systime+$dupage);
}
- return 0;
+ return undef;
}
sub listdups
{
my $date = Julian::Day->new($main::systime)->sub(1);
genstats($date) unless checkstats($date);
+ clean_cache();
+}
+
+sub _cachek
+{
+ return "$_[0]->[0]|$_[0]->[1]";
+}
+
+sub clean_cache
+{
+ if ($spotcachedays > 0) {
+ my $now = Julian::Day->new($main::systime);
+ for (my $i = $spotcachedays; $i < $spotcachedays + 5; ++$i ) {
+ my $k = _cachek($now->sub($i));
+ if (exists $spotcache{$k}) {
+ dbg("Spot::spotcache deleting day $k, more than $spotcachedays days old");
+ delete $spotcache{$k};
+ }
+ }
+ }
}
1;
$userfn = "$local_data/users";
# the "message of the day" file
-$motd = "$local_data/motd";
+$motd = "motd";
+++ /dev/null
-#
-# Polled Timer handling
-#
-# This uses callbacks. BE CAREFUL!!!!
-#
-#
-#
-# Copyright (c) 2001 Dirk Koopman G1TLH
-#
-
-package Timer;
-
-use vars qw(@timerchain $notimers $lasttime);
-use DXDebug;
-
-@timerchain = ();
-$notimers = 0;
-
-$lasttime = 0;
-
-sub new
-{
- my ($pkg, $time, $proc, $recur) = @_;
- my $obj = ref($pkg);
- my $class = $obj || $pkg;
- my $self = bless { t=>$time + time, proc=>$proc }, $class;
- $self->{interval} = $time if $recur;
- push @timerchain, $self;
- $notimers++;
- dbg("Timer created ($notimers)") if isdbg('connll');
- return $self;
-}
-
-sub del
-{
- my $self = shift;
- delete $self->{proc};
- @timerchain = grep {$_ != $self} @timerchain;
-}
-
-sub handler
-{
- my $now = time;
-
- return unless $now != $lasttime;
-
- # handle things on the timer chain
- my $t;
- foreach $t (@timerchain) {
- if ($now >= $t->{t}) {
- &{$t->{proc}}();
- $t->{t} = $now + $t->{interval} if exists $t->{interval};
- }
- }
-
- $lasttime = $now;
-}
-
-sub DESTROY
-{
- dbg("timer destroyed ($Timer::notimers)") if isdbg('connll');
- $Timer::notimers--;
-}
-1;
use strict;
use DXVars;
+use SysVar;
use DB_File;
use File::Copy;
use DXDebug;
my %dbn;
if (-e $dbfn ) {
- copy($dbfn, "$dbfn.new") or return "cannot copy $dbfn -> $dbfn.new $!";
+ copy($dbfn, "$dbfn.old") or return "cannot copy $dbfn -> $dbfn.old $!";
}
-
+
+ unlink "$dbfn.new";
tie %dbn, 'DB_File', "$dbfn.new", O_RDWR|O_CREAT, 0664, $a or return "cannot tie $dbfn.new $!";
# now write away all the files
my $loc = $ref->qra || '';
$loc_spotter = substr($loc, 0, 4) if $loc;
}
+ my $text = $_[4];
+ $text =~ s/\^/~/g;
- return sprintf("CC11^%0.1f^%s^", $freq, $spotted) . join('^', cldate($t), ztime($t), @_, $spotted_cc, $spotter_cc, $loc_spotted, $loc_spotter);
+ return sprintf("CC11^%0.1f^%s^", $freq, $spotted) . join('^', cldate($t), ztime($t), @_[0..3], $text, @_[5..10], $spotted_cc, $spotter_cc, $loc_spotted, $loc_spotter);
}
1;
--- /dev/null
+#
+# WSJTX logging and control protocol decoder etc
+#
+#
+
+package WSJTX;
+
+use strict;
+use warnings;
+use 5.10.1;
+
+use JSON;
+use DXDebug;
+
+my $json;
+
+our %spec = (
+ '0' => [
+ ['type', 'int32'],
+ ['id', 'utf'],
+ ['schema', 'int32'],
+ ['version', 'utf'],
+ ['revision', 'utf'],
+ ],
+ '1' => [
+ ['type', 'int32'],
+ ['id', 'utf'],
+ ['qrg', 'int64', '_myqrg'],
+ ['mode', 'utf'],
+ ['dxcall', 'utf'],
+ ['report', 'utf'],
+ ['txmode', 'utf'],
+ ['txenabled', 'bool'],
+ ['txing', 'bool'],
+ ['decoding', 'bool'],
+ ['rxdf', 'int32'],
+ ['txdf', 'int32'],
+ ['mycall', 'utf', '_mycall'],
+ ['mygrid', 'utf', '_mygrid'],
+ ['dxgrid', 'utf'],
+ ['txwd', 'bool'],
+ ['submode', 'utf'],
+ ['fastmode', 'bool'],
+ ['som', 'int8', \&_som],
+ ['qrgtol', 'int32'],
+ ['trperiod', 'int32'],
+ ['confname', 'utf'],
+ ],
+ '2' => [
+ ['type', 'int32'],
+ ['id', 'utf'],
+ ['new', 'bool'],
+ ['tms', 'int32'],
+ ['snr', 'int32'],
+ ['deltat', 'float'],
+ ['deltaqrg', 'int32'],
+ ['mode', 'utf'],
+ ['msg', 'utf'],
+ ['lowconf', 'bool'],
+ ['offair', 'bool'],
+ ],
+ '3' => [
+ ['type', 'int32'],
+ ['id', 'utf'],
+ ['window', 'int8'],
+ ],
+ '4' => [
+ ['type', 'int32'],
+ ['id', 'utf'],
+ ['tms', 'int32'],
+ ['snr', 'int32'],
+ ['deltat', 'float'],
+ ['deltaqrg', 'int32'],
+ ['mode', 'utf'],
+ ['msg', 'utf'],
+ ['lowconf', 'bool'],
+ ['modifiers', 'int8'],
+ ],
+ '5' => [
+ ['type', 'int32'],
+ ['id', 'utf'],
+ ['toff', 'qdate'],
+ ['dxcall', 'utf'],
+ ['dxgrid', 'utf'],
+ ['qrg', 'int64'],
+ ['mode', 'utf'],
+ ['repsent', 'utf'],
+ ['reprcvd', 'utf'],
+ ['txpower', 'utf'],
+ ['comment', 'utf'],
+ ['name', 'utf'],
+ ['ton', 'qdate'],
+ ['opcall', 'utf'],
+ ['mycall', 'utf'],
+ ['mysent', 'utf'],
+ ['xchgsent', 'utf'],
+ ['reprcvd', 'utf'],
+ ],
+ '6' => [
+ ['type', 'int32'],
+ ['id', 'utf'],
+ ],
+ '7' => [
+ ['type', 'int32'],
+ ['id', 'utf'],
+ ],
+ '8' => [
+ ['type', 'int32'],
+ ['id', 'utf'],
+ ['autotx', 'bool'],
+ ],
+ '9' => [
+ ['type', 'int32'],
+ ['id', 'utf'],
+ ['txt', 'utf'],
+ ['send', 'bool'],
+ ],
+ '10' => [
+ ['type', 'int32'],
+ ['id', 'utf'],
+ ['new', 'bool'],
+ ['tms', 'int32'],
+ ['snr', 'int32'],
+ ['deltat', 'float'],
+ ['qrg', 'int64'],
+ ['drift', 'int32'],
+ ['call', 'utf'],
+ ['grid', 'utf'],
+ ['power', 'int32'],
+ ['offair', 'bool'],
+ ],
+ '11' => [
+ ['type', 'int32'],
+ ['id', 'utf'],
+ ['grid', 'utf'],
+ ],
+ '12' => [
+ ['type', 'int32'],
+ ['id', 'utf'],
+ ['adif', 'utf'],
+ ],
+
+ );
+
+sub new
+{
+ my $name = shift;
+ my $args = ref $_[0] ? $_[0] : {@_};
+
+ $json = JSON->new->canonical unless $json;
+
+ my $self = bless {}, $name;
+ if (exists $args->{handle}) {
+ my $v = $args->{handle};
+ for (split ',', $v) {
+ $self->{"h_$_"} = 1;
+ }
+ }
+ return $self;
+
+}
+
+sub handle
+{
+ my ($self, $handle, $data, $origin) = @_;
+
+ my $lth = length $data;
+ dbgdump('udp', "UDP IN lth: $lth", $data);
+
+ my ($magic, $schema, $type) = eval {unpack 'N N N', $data};
+ return 0 unless $magic == 0xadbccbda && $schema >= 0 && $schema <= 3 && $spec{$type};
+ my $out = $self->unpack($data, $spec{$type}, $origin);
+ dbg($out) if $out && $type != 0;
+
+ return $out;
+}
+
+use constant NAME => 0;
+use constant SORT => 1;
+use constant FUNC => 2;
+use constant LASTTIME => 0;
+use constant MYCALL => 1;
+use constant MYGRID => 2;
+use constant MYQRG => 3;
+
+sub unpack
+{
+ my $self = shift;
+ my $data = shift;
+ my $spec = shift;
+ my $ip = shift;
+
+ my $now = time;
+ my $mycall;
+ my $mygrid;
+ my $myqrg;
+
+ if ($ip) {
+ my $cr = $self->{CR}->{$ip};
+ if ($cr) {
+ $mycall = $cr->[MYCALL];
+ $mygrid = $cr->[MYGRID];
+ $myqrg = $cr->[MYQRG];
+ $cr->[LASTTIME] = $now;
+ }
+ $self->{ip} = $ip
+ } else {
+ delete $self->{ip};
+ }
+
+ my $pos = $self->{unpackpos} || 8;
+ my $out = $pos ? '{' : '';
+
+ foreach my $r (@$spec) {
+ my $v = 'NULL';
+ my $l;
+ my $alpha;
+
+ last if $pos >= length $data;
+
+ if ($r->[SORT] eq 'int32') {
+ $l = 4;
+ ($v) = unpack 'l>', substr $data, $pos, $l;
+ } elsif ($r->[SORT] eq 'int64') {
+ $l = 8;
+ ($v) = unpack 'Q>', substr $data, $pos, $l;
+ } elsif ($r->[SORT] eq 'int8') {
+ $l = 1;
+ ($v) = unpack 'c', substr $data, $pos, $l;
+
+ } elsif ($r->[SORT] eq 'bool') {
+ $l = 1;
+ ($v) = unpack 'c', substr $data, $pos, $l;
+ $v += 0;
+ } elsif ($r->[SORT] eq 'float') {
+ $l = 8;
+ ($v) = unpack 'd>', substr $data, $pos, $l;
+ $v = sprintf '%.3f', $v;
+ $v += 0;
+ } elsif ($r->[SORT] eq 'utf') {
+ $l = 4;
+ ($v) = unpack 'l>', substr $data, $pos, 4;
+ if ($v > 0) {
+ ($v) = unpack "a$v", substr $data, $pos+4;
+ $l += length $v;
+ ++$alpha;
+ } else {
+ $pos += 4;
+ next; # null alpha field
+ }
+ }
+
+ $out .= qq{"$r->[NAME]":};
+ if ($r->[FUNC]) {
+ no strict 'refs';
+ ($v, $alpha) = $r->[FUNC]($self, $v);
+ }
+ $out .= $alpha ? qq{"$v"} : $v;
+ $out .= ',';
+ $pos += $l;
+ }
+
+ return undef unless $mycall;
+
+ $out .= qq{"ocall":"$mycall",} if $mycall;
+ $out .= qq{"ogrid":"$mygrid",} if $mygrid;
+ $out .= qq{"oqrg":"$myqrg",} if $myqrg;
+# $out .= qq{"oip":"$ip",} if $ip;
+
+ $out =~ s/,$//;
+ $out .= '}';
+
+ delete $self->{unpackpos};
+
+ return $out;
+}
+
+sub finish
+{
+
+}
+
+sub per_sec
+{
+
+}
+
+sub per_minute
+{
+
+}
+
+sub _som
+{
+ my $self = shift;
+
+ my @s = qw{NONE NA-VHF EU-VHF FIELD-DAY RTTY-RU WW-DIGI FOX HOUND};
+ my $v = $s[shift];
+ $v ||= 'UNKNOWN';
+ return ($v, 1);
+}
+
+sub _mycall
+{
+ my $self = shift;
+ my $v = shift;
+ my $ip = $self->{ip};
+ my $cr = $self->{CR}->{$ip} ||= [];
+ $v = $cr->[MYCALL] //= $v;
+ return ($v, 1);
+}
+
+sub _mygrid
+{
+ my $self = shift;
+ my $v = shift;
+ my $ip = $self->{ip};
+ my $cr = $self->{CR}->{$ip} ||= [];
+ $v = $cr->[MYGRID] //= $v;
+ return ($v, 1);
+}
+
+sub _myqrg
+{
+ my $self = shift;
+ my $v = shift;
+ my $ip = $self->{ip};
+ my $cr = $self->{CR}->{$ip} ||= [];
+ $v = $cr->[MYQRG] = $v;
+ return ($v, 1);
+}
+
+1;
+++ /dev/null
-#
-# Query the PineKnot Database server for a callsign
-#
-# from an idea by Steve Franke K9AN and information from Angel EA7WA
-#
-#
-#
-my ($self, $line) = @_;
-my @list = split /\s+/, $line; # generate a list of callsigns
-my $l;
-my $call = $self->call;
-my @out;
-
-return (1, "SHOW/CALL <callsign>, e.g. SH/CALL g1tlh") unless @list;
-
-use Net::Telnet;
-
-my $t = new Net::Telnet;
-
-push @out, $self->msg('call1', 'AA6HF');
-foreach $l (@list) {
- $t->open(Host => "jeifer.pineknot.com",
- Port => 1235,
- Timeout => 5);
- if ($t) {
- $t->print(uc $l);
- Log('call', "$call: show/call \U$l");
- while (my $result = $t->getline) {
- push @out,$result;
- }
- $t->close;
- } else {
- push @out, $self->msg('e18', 'AA6HF');
- }
-}
-
-return (1, @out);
$no = 'No'; # ditto for no
$user_interval = 11*60; # the interval between unsolicited prompts if no traffic
-
# make sure that modules are searched in the order local then perl
BEGIN {
umask 002;
eval {
require local::lib;
};
- import local::lib unless ($@);
+ unless ($@) {
+# import local::lib;
+ import local::lib qw(/spider/perl5lib);
+ }
# root of directory tree for this system
$root = "/spider";
$root = $ENV{'DXSPIDER_ROOT'} if $ENV{'DXSPIDER_ROOT'};
+ unshift @INC, "$root/perl5lib" unless grep {$_ eq "$root/perl5lib"} @INC;
unshift @INC, "$root/perl"; # this IS the right way round!
unshift @INC, "$root/local";
}
+
use DXVars;
use SysVar;
use BBS;
use WCY;
use BadWords;
-use Timer;
+use DXTimer;
use Route;
use Route::Node;
use Route::User;
}
# is he locked out ?
+ my $lock;
$user = DXUser::get_current($call);
$conn->conns($call);
my $basecall = $call;
- $basecall =~ s/-\d+$//; # remember this for later multiple user processing
- my $lock;
+ $basecall =~ s/-\d+$//; # remember this for later multiple user processing, it's used for other stuff than checking lockout status
if ($user) {
# make sure we act on any locked status that the actual incoming call has.
$lock = $user->lockout;
- } elsif ($allowmultiple && $call ne $basecall) {
- # if we are allowing multiple connections and there is a basecall minus incoming ssid, use the basecall's lock status
- $user = DXUser::get_current($basecall);
- $lock = $user->lockout if $user;
+ } elsif ($basecall ne $call) {
+ # if there isn't a SSID on the $call, then try the base
+ my $luser = DXUser::get_current($basecall);
+ $lock = $luser->lockout if $luser;
}
# now deal with the lock
$l->close_server;
}
- LogDbg('cluster', "DXSpider V$version, build $build (git: $gitbranch/$gitversion) ended");
+ LogDbg('cluster', "DXSpider v$version build $build (git: $gitbranch/$gitversion) using perl $^V on $^O ended");
dbg("bye bye everyone - bye bye");
dbgclose();
Logclose();
#
#############################################################
+ chdir $root;
+
$starttime = $systime = time;
$systime_days = int ($systime / 86400);
$systime_daystart = $systime_days * 86400;
}
# open the debug file, set various FHs to be unbuffered
- dbginit($broadcast_debug ? \&DXCommandmode::broadcast_debug : undef);
+ dbginit(undef, $broadcast_debug ? \&DXCommandmode::broadcast_debug : undef);
foreach (@debug) {
dbgadd($_);
}
STDOUT->autoflush(1);
+ # log our path
+ dbg "Perl path: " . join(':', @INC);
# try to load the database
if (DXSql::init($dsn)) {
import Encode;
$can_encode = 1;
}
+
$gitbranch = 'none';
$gitversion = 'none';
- eval { require Git; };
- unless ($@) {
- import Git;
- # determine the real version number
- my $repo = Git->repository(Directory => "$root/.git");
- if ($repo) {
- my $desc = $repo->command_oneline(['describe', '--long'], STDERR => 0);
- if ($desc) {
- my ($v, $s, $b, $g) = $desc =~ /^([\d.]+)(?:\.(\d+))?-(\d+)-g([0-9a-f]+)/;
- $s ||= '';
- dbg("Git: $desc") if isdbg('git');
- dbg("Git: V=$v S=$s B=$b g=$g") if isdbg('git');
- $version = $v;
- $build = $b || 0;
- $gitversion = "$g\[r]";
- }
- my @branch = $repo->command([qw{branch}], STDERR=>0);
+ # determine the real Git build number and branch
+ my $desc;
+ eval {$desc = `git --git-dir=$root/.git describe --long`};
+ if (!$@ && $desc) {
+ my ($v, $s, $b, $g) = $desc =~ /^([\d\.]+)(?:\.(\d+))?-(\d+)-g([0-9a-f]+)/;
+ $version = $v;
+ my $subversion = $s || 0; # not used elsewhere
+ $build = $b || 0;
+ $gitversion = "$g\[r]";
+ }
+ if (!$@) {
+ my @branch;
+
+ eval {@branch = `git --git-dir=$root/.git branch`};
+ unless ($@) {
for (@branch) {
my ($star, $b) = split /\s+/;
if ($star eq '*') {
}
}
}
+
$SIG{__DIE__} = $w;
}
+ # setup location of motd & issue
+ localdata_mv($motd);
+ $motd = localdata($motd);
+ localdata_mv("issue");
+
+
# try to load XML::Simple
DXXml::init();
# banner
my ($year) = (gmtime)[5];
$year += 1900;
- LogDbg('cluster', "DXSpider V$version, build $build (git: $gitbranch/$gitversion) started");
+ LogDbg('cluster', "DXSpider v$version build $build (git: $gitbranch/$gitversion) using perl $^V on $^O started");
dbg("Copyright (c) 1998-$year Dirk Koopman G1TLH");
# load Prefixes
dbg("Start WCY");
WCY->init();
- # initial the Spot stuff
- dbg("Starting DX Spot system");
- Spot->init();
-
# initialise the protocol engine
dbg("Start Protocol Engines ...");
DXProt->init();
+ # read startup script
+ my $script = new Script "startup";
+ $script->run($main::me) if $script;
+
# put in a DXCluster node for us here so we can add users and take them away
$routeroot = Route::Node->new($mycall, $version*100+5300, Route::here($main::me->here)|Route::conf($main::me->conf));
$routeroot->do_pc9x(1);
# $Route::filterdef->cmd($main::me, 'route', 'accept', "node_default call $mycall" );
#}
+ # initial the Spot stuff
+ dbg("Starting DX Spot system");
+ Spot->init();
+
# read in any existing message headers and clean out old crap
dbg("reading existing message headers ...");
DXMsg->init();
# this, such as it is, is the main loop!
dbg("orft we jolly well go ...");
- my $script = new Script "startup";
- $script->run($main::me) if $script;
#open(DB::OUT, "|tee /tmp/aa");
}
$main::me->disconnect;
}
- Mojo::IOLoop->stop if --$ending <= 0;
+ Mojo::IOLoop->stop_gracefully if --$ending <= 0;
}
}
DXUser::process();
AGWMsg::process();
DXCron::process(); # do cron jobs
-
- Timer::handler();
+ RBN::process();
+
+ DXTimer::handler();
DXLog::flushall();
}
#
#
-require 5.004;
+require 5.16.1;
use warnings;
# search local then perl directories
$inscroll = 0;
$spos = @sh < $pagel ? 0 : @sh - $pagel;
show_screen();
+ $conn->send_later("C$call|$cols") if $conn;
}
# cease communications
}
}
-# measure the no of screen lines a line will take
-sub measure
-{
- my $line = shift;
- return 0 unless $line;
-
- my $l = length $line;
- my $lines = int ($l / $cols);
- $lines++ if $l / $cols > $lines;
- return $lines;
-}
# display the top screen
sub show_screen
dbg("B: s:$spos h:" . scalar @sh) if isdbg('console');
my ($i, $l);
-# for ($i = 0; $i < $pagel && $p >= 0; ) {
-# $l = measure($sh[$p]);
-# $i += $l;
-# $p-- if $i < $pagel;
- # }
$spos = 0 if $spos < 0;
my $y = $spos;
$top->clrtobot();
for ($i = 0; $i < $pagel && $y < @sh; ++$y) {
my $line = $sh[$y];
-# my $lines = measure($line);
my $lines = 1;
$top->move($i, 0);
dbg("C: s:$spos y:$i sh:" . scalar @sh . " l:" . length($line) . " '$line'") if isdbg('console');
$bot->clrtoeol();
$bot->addstr(substr($inbuf, 0, $cols));
- # add it to the monitor window
-# unless ($spos == @sh) {
-# $spos = @sh;
-# show_screen();
-# }
if ($inscroll && $spos < @sh) {
$spos = @sh - $pagel;
$inscroll = 0;
show_screen();
}
- addtotop($inbuf);
+ addtotop(' ', $inbuf);
# send it to the cluster
$conn->send_later("I$call|$inbuf");
}
} elsif ($r eq KEY_PPAGE || $r eq "\032") {
if ($spos > 0 && @sh > $pagel) {
-# my ($i, $l);
-# for ($i = 0; $i < $pagel-1 && $spos >= 0; ) {
-# $l = measure($sh[$spos]);
-# $i += $l;
-# --$spos if $i <= $pagel;
-# }
$spos -= $pagel+int($pagel/2);
$spos = 0 if $spos < 0;
$inscroll = 1;
}
} elsif ($r eq KEY_NPAGE || $r eq "\026") {
if ($inscroll && $spos < @sh) {
-# my ($i, $l);
-# for ($i = 0; $i <= $pagel && $spos < @sh; ) {
-# $l = measure($sh[$spos]);
-# $i += $l;
-# ++$spos if $i <= $pagel && $spos < @sh;
-# }
dbg("NPAGE sp:$spos $sh:". scalar @sh . " pl: $pagel") if isdbg('console');
$spos += int($pagel/2);
# add a line to the end of the top screen
sub addtotop
{
+ my $sort = shift;
while (@_) {
my $inbuf = shift;
my $l = length $inbuf;
if ($l > $cols) {
-# $Text::Wrap::Columns = $cols;
-# push @sh, wrap('',"\t", $inbuf);
- push @sh, $inbuf;
+ $inbuf =~ s/\s+/ /g;
+ if (length $inbuf > $cols) {
+ $Text::Wrap::columns = $cols;
+ my $token;
+ ($token) = $inbuf =~ m!^(.* de [-\w\d/\#]+:?\s+|\w{9}\@\d\d:\d\d:\d\d )!;
+ $token ||= ' ' x 19;
+ push @sh, split /\n/, wrap('', ' ' x length($token), $inbuf);
+ } else {
+ push @sh, $inbuf;
+ }
} else {
push @sh, $inbuf;
}
}
+
show_screen() unless $inscroll;
}
cease(1);
}
if (defined $msg) {
- dbg("msg: " . length($msg) . " '$msg'") if isdbg('console');
my ($sort, $incall, $line) = $msg =~ /^(\w)([^\|]+)\|(.*)$/;
+ dbg("msg: " . length($msg) . " '$msg'") if isdbg('console');
if ($line =~ s/\x07+$//) {
beep();
}
$call = $incall if $call ne $incall;
$line =~ s/[\x00-\x06\x08\x0a-\x19\x1b-\x1f\x80-\x9f]/./g; # immutable CSI sequence + control characters
- if ($sort && $sort eq 'D') {
- $line = " " unless length($line);
- addtotop($line);
- } elsif ($sort && $sort eq 'Z') { # end, disconnect, go, away .....
+ if ($sort && $sort eq 'Z') { # end, disconnect, go, away .....
cease(0);
- }
- # ******************************************************
- # ******************************************************
- # any other sorts that might happen are silently ignored.
- # ******************************************************
- # ******************************************************
+ } else {
+ $line = " " unless length($line);
+ addtotop($sort, $line);
+ }
+
} else {
cease(0);
}
sub on_connect
{
my $conn = shift;
- $conn->send_later("A$call|$connsort width=$cols");
+ $conn->send_later("A$call|$connsort width=$cols enhanced");
$conn->send_later("I$call|set/page $maxshist");
#$conn->send_later("I$call|set/nobeep");
}
while (@ARGV && $ARGV[0] =~ /^-/) {
my $arg = shift;
if ($arg eq '-x') {
- dbginit();
+ dbginit('console');
dbgadd('console');
$maxshist = 200;
}
$SIG{'HUP'} = \&sig_term;
-# start up
+
+# start upb
+$Text::Wrap::columns = $cols;
doresize();
$SIG{__DIE__} = \&sig_term;
-#$Text::Wrap::Columns = $cols;
-
my $lastmin = 0;
# ten lines including the line matching the regular expression.
#
# <regexp> is the regular expression you are searching for,
-# a caseless search is done
+# a caseless search is done. There can be more than one <regexp>
+# a <regexp> preceeded by a '!' is treated as NOT <regexp>. Each
+# <regexp> is implcitly ANDed together.
#
# If you specify something that likes a filename and that filename
# has a .pm on the end of it and it exists then rather than doing
$today = $fp->unixtoj(time());
my $nolines = 1;
my @prev;
+my @patt;
-for my $arg (@ARGV) {
+foreach my $arg (@ARGV) {
if ($arg =~ /^-/) {
$arg =~ s/^-//o;
if ($arg =~ /^\s*\-+(?:[h\?]e?l?p?)/) {
die "$arg not found";
}
} else {
- $string = $arg;
- last;
+ push @patt, $arg;
}
}
-$string ||= '.*';
+push @patt, '.*' unless @patt;
push @list, "0" unless @list;
for my $entry (@list) {
chomp $line;
push @prev, $line;
shift @prev while @prev > $nolines;
- if ($line =~ m{$string}io) {
+ my $flag = 0;
+ foreach my $p (@patt) {
+ if ($p =~ /^!/) {
+ my $r = substr $p, 1;
+ last if $line =~ m{$r}i;
+ } else {
+ last unless $line =~ m{$p}i;
+ }
+ ++$flag;
+ }
+ if ($flag == @patt) {
for (@prev) {
s/([\x00-\x1f\x7f-\xff])/sprintf("\\x%02X", ord($1))/eg;
my ($t, $l) = split /\^/, $_, 2;
sub usage
{
- die "usage: grepdbg [nn days before] [-nnn lines before] [<regexp>|<perl file name>]\n";
+ die "usage: grepdbg [nn days before] [-nnn lines before] [<perl file name>] [<regexp>|!<regexp>]...\n";
}
exit(0);
--- /dev/null
+#!/usr/bin/perl
+#
+# Program to do a grep with dates and times on the debug
+# files
+#
+# grepwsjtl [nn] [-mm] <regular expression>
+#
+# nn - is the day you what to look at: 1 is yesterday, 0 is today
+# and is optional if there is only one argument
+#
+# -mmm - print the mmm lines before the match. So -10 will print
+# ten lines including the line matching the regular expression.
+#
+# <regexp> is the regular expression you are searching for,
+# a caseless search is done. There can be more than one <regexp>
+# a <regexp> preceeded by a '!' is treated as NOT <regexp>. Each
+# <regexp> is implcitly ANDed together.
+#
+# If you specify something that likes a filename and that filename
+# has a .pm on the end of it and it exists then rather than doing
+# the regex match it executes the "main::handle()" function passing
+# it one line at a time.
+#
+#
+
+require 5.004;
+
+# search local then perl directories
+BEGIN {
+ # root of directory tree for this system
+ $root = "/spider";
+ $root = $ENV{'DXSPIDER_ROOT'} if $ENV{'DXSPIDER_ROOT'};
+
+ unshift @INC, "$root/perl"; # this IS the right way round!
+ unshift @INC, "$root/local";
+}
+
+use SysVar;
+use DXUtil;
+use DXLog;
+use Julian;
+
+use strict;
+
+use vars qw(@list $fp $today $string);
+
+
+$fp = DXLog::new('wsjtl', 'dat', 'd');
+$today = $fp->unixtoj(time());
+my $nolines = 1;
+my @prev;
+my @patt;
+
+foreach my $arg (@ARGV) {
+ if ($arg =~ /^-/) {
+ $arg =~ s/^-//o;
+ if ($arg =~ /^\s*\-+(?:[h\?]e?l?p?)/) {
+ usage();
+ exit(0);
+ }
+ push @list, $arg;
+ } elsif ($arg =~ /^\d+$/) {
+ $nolines = $arg;
+ } elsif ($arg =~ /\.pm$/) {
+ if (-e $arg) {
+ my $fn = $arg;
+ $fn =~ s/\.pm$//;
+ eval { require $arg};
+ die "requiring $fn failed $@" if $@;
+ } else {
+ die "$arg not found";
+ }
+ } else {
+ push @patt, $arg;
+ }
+}
+
+push @patt, '.*' unless @patt;
+
+push @list, "0" unless @list;
+for my $entry (@list) {
+ my $now = $today->sub($entry);
+ my $fh = $fp->open($now);
+ my $line;
+ my $do;
+
+ if (main->can('handle')) {
+ $do = \&handle;
+ } else {
+ $do = \&process;
+ }
+
+ begin() if main->can('begin');
+ if ($fh) {
+ while (<$fh>) {
+ &$do($_);
+ }
+ $fp->close();
+ }
+ end() if main->can('end');
+}
+
+sub process
+{
+ my $line = shift;
+ chomp $line;
+ push @prev, $line;
+ shift @prev while @prev > $nolines;
+ my $flag = 0;
+ foreach my $p (@patt) {
+ if ($p =~ /^!/) {
+ my $r = substr $p, 1;
+ last if $line =~ m{$r}i;
+ } else {
+ last unless $line =~ m{$p}i;
+ }
+ ++$flag;
+ }
+ if ($flag == @patt) {
+ for (@prev) {
+ s/([\x00-\x1f\x7f-\xff])/sprintf("\\x%02X", ord($1))/eg;
+ my ($t, $l) = split /\^/, $_, 2;
+ print atime($t), ' ', $l, "\n";
+ print '----------------' if $nolines > 1;
+ }
+ @prev = ();
+ }
+}
+
+sub usage
+{
+ die "usage: grepwsjtl [nn days before] [-nnn lines before] [<perl file name>] [<regexp>|!<regexp>]...\n";
+}
+exit(0);
# watch the end of the current debug file (like tail -f) applying
# any regexes supplied on the command line.
#
+# There can be more than one <regexp>. a <regexp> preceeded by a '!' is
+# treated as NOT <regexp>. Each <regexp> is implcitly ANDed together.
+# All <regexp> are caseless.
+#
# examples:-
#
# watchdbg g1tlh # watch everything g1tlh does
my $nolines = 1;
$nolines = shift if $ARGV[0] =~ /^-?\d+$/;
$nolines = abs $nolines if $nolines < 0;
-my $exp = join '|', @ARGV;
+my @patt = @ARGV;
my @prev;
# seek to end of file
for (;;) {
my $line = $fh->getline;
if ($line) {
- if ($exp) {
+ if (@patt) {
push @prev, $line;
shift @prev while @prev > $nolines;
- if ($line =~ m{(?:$exp)}oi) {
+ my $flag = 0;
+ foreach my $p (@patt) {
+ if ($p =~ /^!/) {
+ my $r = substr $p, 1;
+ last if $line =~ m{$r}i;
+ } else {
+ last unless $line =~ m{$p}i;
+ }
+ ++$flag;
+ }
+ if ($flag == @patt) {
printit(@prev);
@prev = ();
}
$line =~ s/([\x00-\x1f\x7f-\xff])/sprintf("\\x%02X", ord($1))/eg;
my ($t, $l) = split /\^/, $line, 2;
$t = time unless defined $t;
- printf "%02d:%02d:%02d %s\n", (gmtime($t))[2,1,0], $l;
+ printf "%02d:%02d:%02d %s\n", (gmtime($t))[2,1,0], $l;
}
}
exit(0);
--- /dev/null
+#!/usr/bin/perl
+#
+# watch the end of the current debug file (like tail -f) applying
+# any regexes supplied on the command line.
+#
+# There can be more than one <regexp>. a <regexp> preceeded by a '!' is
+# treated as NOT <regexp>. Each <regexp> is implcitly ANDed together.
+# All <regexp> are caseless.
+#
+# examples:-
+#
+# watchwsjtl g1tlh # watch everything g1tlh does
+# watchwsjtl -2 PCPROT # watch all PCPROT messages + up to 2 lines before
+# watchwsjtl gb7baa gb7djk # watch the conversation between BAA and DJK
+#
+
+require 5.004;
+
+# search local then perl directories
+BEGIN {
+ # root of directory tree for this system
+ $root = "/spider";
+ $root = $ENV{'DXSPIDER_ROOT'} if $ENV{'DXSPIDER_ROOT'};
+
+ unshift @INC, "$root/perl"; # this IS the right way round!
+ unshift @INC, "$root/local";
+}
+
+use IO::File;
+use SysVar;
+use DXUtil;
+use DXLog;
+
+use strict;
+
+my $fp = DXLog::new('wsjtl', 'dat', 'd');
+my $today = $fp->unixtoj(time());
+my $fh = $fp->open($today) or die $!;
+my $nolines = 1;
+$nolines = shift if $ARGV[0] =~ /^-?\d+$/;
+$nolines = abs $nolines if $nolines < 0;
+my @patt = @ARGV;
+my @prev;
+
+# seek to end of file
+$fh->seek(0, 2);
+for (;;) {
+ my $line = $fh->getline;
+ if ($line) {
+ if (@patt) {
+ push @prev, $line;
+ shift @prev while @prev > $nolines;
+ my $flag = 0;
+ foreach my $p (@patt) {
+ if ($p =~ /^!/) {
+ my $r = substr $p, 1;
+ last if $line =~ m{$r}i;
+ } else {
+ last unless $line =~ m{$p}i;
+ }
+ ++$flag;
+ }
+ if ($flag == @patt) {
+ printit(@prev);
+ @prev = ();
+ }
+ } else {
+ printit($line);
+ }
+ } else {
+ sleep(1);
+
+ # check that the debug hasn't rolled over to next day
+ # open it if it has
+ my $now = $fp->unixtoj(time());
+ if ($today->cmp($now)) {
+ $fp->close;
+ my $i;
+ for ($i = 0; $i < 20; $i++) {
+ last if $fh = $fp->open($now);
+ sleep 5;
+ }
+ die $! if $i >= 20;
+ $today = $now;
+ }
+ }
+}
+
+sub printit
+{
+ while (@_) {
+ my $line = shift;
+ chomp $line;
+ $line =~ s/([\x00-\x1f\x7f-\xff])/sprintf("\\x%02X", ord($1))/eg;
+ my ($t, $l) = split /\^/, $line, 2;
+ $t = time unless defined $t;
+ printf "%02d:%02d:%02d %s\n", (gmtime($t))[2,1,0], $l;
+ }
+}
+exit(0);
--- /dev/null
+#!/usr/bin/env perl
+#
+# A basic listener and decoder of wsjtx packets
+#
+#
+
+our ($systime, $root, $local_data);
+
+BEGIN {
+ umask 002;
+ $SIG{'__WARN__'} = sub { warn $_[0] if $DOWARN };
+
+ # take into account any local::lib that might be present
+ eval {
+ require local::lib;
+ };
+ unless ($@) {
+# import local::lib;
+ import local::lib qw(/spider/perl5lib);
+ }
+
+ # root of directory tree for this system
+ $root = "/spider";
+ $root = $ENV{'DXSPIDER_ROOT'} if $ENV{'DXSPIDER_ROOT'};
+
+ unshift @INC, "$root/perl5lib" unless grep {$_ eq "$root/perl5lib"} @INC;
+ unshift @INC, "$root/perl"; # this IS the right way round!
+ unshift @INC, "$root/local";
+
+ # do some validation of the input
+ die "The directory $root doesn't exist, please RTFM" unless -d $root;
+
+ # locally stored data lives here
+ $local_data = "$root/local_data";
+ mkdir $local_data, 02774 unless -d $local_data;
+
+ # try to create and lock a lockfile (this isn't atomic but
+ # should do for now
+ $lockfn = "$root/local_data/wsjtxl.lck"; # lock file name
+ if (-w $lockfn) {
+ open(CLLOCK, "$lockfn") or die "Can't open Lockfile ($lockfn) $!";
+ my $pid = <CLLOCK>;
+ if ($pid) {
+ chomp $pid;
+ if (kill 0, $pid) {
+ warn "Lockfile ($lockfn) and process $pid exist, another cluster running?\n";
+ exit 1;
+ }
+ }
+ unlink $lockfn;
+ close CLLOCK;
+ }
+ open(CLLOCK, ">$lockfn") or die "Can't open Lockfile ($lockfn) $!";
+ print CLLOCK "$$\n";
+ close CLLOCK;
+
+ $is_win = ($^O =~ /^MS/ || $^O =~ /^OS-2/) ? 1 : 0; # is it Windows?
+ $systime = time;
+}
+
+use strict;
+use warnings;
+use 5.22.0;
+
+use Mojolicious 8.1;
+use Mojo::IOLoop;
+use Mojo::IOLoop::Server;
+use DXDebug;
+use DXUDP;
+
+use WSJTX;
+
+our $udp_host = '::';
+our $udp_port = 2237;
+our $tcp_host = '::';
+our $tcp_port = 2238;
+
+my $uh; # the mojo handle for the UDP listener
+my $th; # ditto TCP
+my $wsjtx; # the wsjtx decoder
+my $cease;
+
+our %slot; # where the connected TCP client structures live
+
+
+dbginit('wsjtl');
+
+my @queue;
+
+$uh = DXUDP->new;
+$uh->start(host => $udp_host, port => $udp_port) or die "Cannot listen on $udp_host:$udp_port $!\n";
+
+$wsjtx = WSJTX->new();
+$uh->on(read => \&_udpread);
+
+$th = Mojo::IOLoop::Server->new;
+$th->on(accept => \&_accept);
+$th->listen(address => $tcp_host, port => $tcp_port);
+$th->start;
+
+Mojo::IOLoop->start() unless Mojo::IOLoop->is_running;
+
+exit;
+
+sub _udpread
+{
+ my ($handle, $data) = @_;
+
+ my $host = $handle->peerhost;
+ my $port = $handle->peerport;
+
+ my $in = $wsjtx->handle($handle, $data, "$host:$port");
+
+ distribute($in) if $in && length $in;
+}
+
+sub _accept
+{
+ my ($id, $handle) = @_;
+ my $host = $handle->peerhost;
+ my $port = $handle->peerport;
+
+
+ my $s = $slot{"$host:$port"} = { addr => "$host:$port"};
+ my $stream = $s->{stream} = Mojo::IOLoop::Stream->new($handle);
+ $stream->on(error => sub { $stream->close; delete $s->{addr}});
+ $stream->on(close => sub { delete $s->{addr}});
+ $stream->on(read => sub {_tcpread($s, $_[1])});
+ $stream->timeout(0);
+ $stream->start;
+}
+
+sub _tcpread
+{
+ my $s = shift;
+ my $data = shift;
+
+ dbg("incoming: $data");
+}
+
+sub distribute
+{
+ my $in = shift;
+ foreach my $c (values %slot) {
+ $c->{stream}->write("$in\r\n");
+ }
+}
+
+
+
--- /dev/null
+#!/bin/bash
+. ~/perl5/perlbrew/etc/bashrc
+cd /spider/perl
+git reset --hard
+git pull
+~/perl5/perlbrew/perls/perl-5.32.1/bin/perl -w cluster.pl > /dev/null
+
blank +
sh/dx 5
blank -
+sh/u
+blank -
sh/wwv 1
+blank -
+sh/wcy 1
blank +