summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/app/config/config.c80
-rw-r--r--src/app/config/config.h2
-rw-r--r--src/app/config/fallback_dirs.inc581
-rw-r--r--src/app/config/or_options_st.h17
-rw-r--r--src/app/config/or_state_st.h7
-rw-r--r--src/app/config/statefile.c9
-rw-r--r--src/app/main/main.c111
-rw-r--r--src/app/main/main.h2
-rw-r--r--src/app/main/ntmain.c4
-rw-r--r--src/app/main/subsysmgr.c202
-rw-r--r--src/app/main/subsysmgr.h24
-rw-r--r--src/app/main/subsystem_list.c40
-rw-r--r--src/config/geoip26374
-rw-r--r--src/config/geoip64553
-rw-r--r--src/core/include.am7
-rw-r--r--src/core/mainloop/connection.c43
-rw-r--r--src/core/mainloop/connection.h1
-rw-r--r--src/core/mainloop/mainloop.c385
-rw-r--r--src/core/mainloop/mainloop.h8
-rw-r--r--src/core/mainloop/netstatus.c132
-rw-r--r--src/core/mainloop/netstatus.h11
-rw-r--r--src/core/mainloop/periodic.c22
-rw-r--r--src/core/mainloop/periodic.h15
-rw-r--r--src/core/or/circuitbuild.c26
-rw-r--r--src/core/or/circuitbuild.h3
-rw-r--r--src/core/or/circuitlist.c2
-rw-r--r--src/core/or/connection_edge.c13
-rw-r--r--src/core/or/connection_or.c2
-rw-r--r--src/core/or/or.h4
-rw-r--r--src/core/or/policies.c98
-rw-r--r--src/core/or/policies.h1
-rw-r--r--src/core/or/relay.c2
-rw-r--r--src/core/or/scheduler.c2
-rw-r--r--src/core/or/scheduler_kist.c2
-rw-r--r--src/core/or/versions.c103
-rw-r--r--src/core/or/versions.h4
-rw-r--r--src/core/proto/proto_cell.c2
-rw-r--r--src/core/proto/proto_control0.c2
-rw-r--r--src/core/proto/proto_ext_or.c2
-rw-r--r--src/core/proto/proto_http.c2
-rw-r--r--src/core/proto/proto_socks.c2
-rw-r--r--src/ext/.may_include10
-rw-r--r--src/ext/csiphash.c10
-rw-r--r--src/ext/readpassphrase.c2
-rw-r--r--src/ext/timeouts/.may_include6
-rw-r--r--src/ext/timeouts/timeout.c5
-rw-r--r--src/ext/timeouts/timeout.h4
-rw-r--r--src/feature/client/bridges.c3
-rw-r--r--src/feature/client/dnsserv.c4
-rw-r--r--src/feature/client/entrynodes.c27
-rw-r--r--src/feature/client/transports.c235
-rw-r--r--src/feature/client/transports.h15
-rw-r--r--src/feature/control/control.c393
-rw-r--r--src/feature/control/control.h6
-rw-r--r--src/feature/control/control_bootstrap.c358
-rw-r--r--src/feature/dirauth/dirvote.c56
-rw-r--r--src/feature/dirauth/dirvote.h11
-rw-r--r--src/feature/dirauth/process_descs.c12
-rw-r--r--src/feature/dirauth/process_descs.h3
-rw-r--r--src/feature/dirauth/shared_random.c3
-rw-r--r--src/feature/dirauth/shared_random_state.c19
-rw-r--r--src/feature/dirauth/voteflags.c8
-rw-r--r--src/feature/dirauth/voteflags.h6
-rw-r--r--src/feature/dircache/consdiffmgr.c83
-rw-r--r--src/feature/dircache/consdiffmgr.h11
-rw-r--r--src/feature/dircache/dircache.c18
-rw-r--r--src/feature/dircache/dirserv.c5
-rw-r--r--src/feature/dircache/dirserv.h1
-rw-r--r--src/feature/dirclient/dirclient.c23
-rw-r--r--src/feature/dircommon/consdiff.c42
-rw-r--r--src/feature/dircommon/consdiff.h15
-rw-r--r--src/feature/dirparse/authcert_parse.c16
-rw-r--r--src/feature/dirparse/authcert_parse.h1
-rw-r--r--src/feature/dirparse/microdesc_parse.c26
-rw-r--r--src/feature/dirparse/ns_parse.c57
-rw-r--r--src/feature/dirparse/ns_parse.h10
-rw-r--r--src/feature/dirparse/parsecommon.c31
-rw-r--r--src/feature/dirparse/routerparse.c4
-rw-r--r--src/feature/hibernate/hibernate.c54
-rw-r--r--src/feature/hs/hs_config.c30
-rw-r--r--src/feature/hs/hs_descriptor.c32
-rw-r--r--src/feature/hs/hs_intropoint.c6
-rw-r--r--src/feature/hs/hs_service.c158
-rw-r--r--src/feature/hs/hs_service.h77
-rw-r--r--src/feature/nodelist/authcert.c3
-rw-r--r--src/feature/nodelist/fmt_routerstatus.c3
-rw-r--r--src/feature/nodelist/microdesc.c16
-rw-r--r--src/feature/nodelist/microdesc_st.h5
-rw-r--r--src/feature/nodelist/networkstatus.c116
-rw-r--r--src/feature/nodelist/networkstatus.h14
-rw-r--r--src/feature/nodelist/nodefamily.c416
-rw-r--r--src/feature/nodelist/nodefamily.h50
-rw-r--r--src/feature/nodelist/nodefamily_st.h48
-rw-r--r--src/feature/nodelist/nodelist.c137
-rw-r--r--src/feature/nodelist/nodelist.h11
-rw-r--r--src/feature/nodelist/routerlist.c2
-rw-r--r--src/feature/nodelist/routerstatus_st.h2
-rw-r--r--src/feature/relay/dns.c91
-rw-r--r--src/feature/relay/dns.h5
-rw-r--r--src/feature/relay/router.c217
-rw-r--r--src/feature/relay/router.h8
-rw-r--r--src/feature/rend/rendcache.c2
-rw-r--r--src/feature/stats/geoip_stats.c2
-rw-r--r--src/include.am3
-rw-r--r--src/lib/buf/.may_include10
-rw-r--r--src/lib/buf/buffers.c (renamed from src/lib/container/buffers.c)2
-rw-r--r--src/lib/buf/buffers.h (renamed from src/lib/container/buffers.h)0
-rw-r--r--src/lib/buf/include.am17
-rw-r--r--src/lib/cc/.may_include1
-rw-r--r--src/lib/cc/ctassert.h53
-rw-r--r--src/lib/cc/include.am1
-rw-r--r--src/lib/compress/.may_include2
-rw-r--r--src/lib/compress/compress.c21
-rw-r--r--src/lib/compress/compress.h2
-rw-r--r--src/lib/compress/compress_buf.c2
-rw-r--r--src/lib/compress/compress_sys.h14
-rw-r--r--src/lib/compress/include.am1
-rw-r--r--src/lib/container/.may_include9
-rw-r--r--src/lib/container/bloomfilt.c2
-rw-r--r--src/lib/container/include.am2
-rw-r--r--src/lib/container/map.c2
-rw-r--r--src/lib/container/map.h2
-rw-r--r--src/lib/crypt_ops/.may_include5
-rw-r--r--src/lib/crypt_ops/aes_openssl.c4
-rw-r--r--src/lib/crypt_ops/crypto_init.c49
-rw-r--r--src/lib/crypt_ops/crypto_sys.h14
-rw-r--r--src/lib/crypt_ops/digestset.c2
-rw-r--r--src/lib/crypt_ops/include.am1
-rw-r--r--src/lib/encoding/.may_include1
-rw-r--r--src/lib/encoding/binascii.c12
-rw-r--r--src/lib/encoding/binascii.h1
-rw-r--r--src/lib/encoding/include.am2
-rw-r--r--src/lib/encoding/kvline.c239
-rw-r--r--src/lib/encoding/kvline.h24
-rw-r--r--src/lib/encoding/time_fmt.c4
-rw-r--r--src/lib/err/.may_include2
-rw-r--r--src/lib/err/include.am8
-rw-r--r--src/lib/err/torerr.c10
-rw-r--r--src/lib/err/torerr.h1
-rw-r--r--src/lib/err/torerr_sys.c40
-rw-r--r--src/lib/err/torerr_sys.h14
-rw-r--r--src/lib/evloop/.may_include4
-rw-r--r--src/lib/evloop/timers.c7
-rw-r--r--src/lib/evloop/workqueue.c2
-rw-r--r--src/lib/fs/.may_include2
-rw-r--r--src/lib/intmath/cmp.h3
-rw-r--r--src/lib/log/.may_include4
-rw-r--r--src/lib/log/include.am10
-rw-r--r--src/lib/log/log.c5
-rw-r--r--src/lib/log/log.h6
-rw-r--r--src/lib/log/log_sys.c35
-rw-r--r--src/lib/log/log_sys.h14
-rw-r--r--src/lib/malloc/.may_include2
-rw-r--r--src/lib/memarea/.may_include2
-rw-r--r--src/lib/memarea/memarea.c3
-rw-r--r--src/lib/net/.may_include6
-rw-r--r--src/lib/net/address.c16
-rw-r--r--src/lib/net/buffers_net.c133
-rw-r--r--src/lib/net/buffers_net.h7
-rw-r--r--src/lib/net/inaddr.c8
-rw-r--r--src/lib/net/include.am2
-rw-r--r--src/lib/net/network_sys.c44
-rw-r--r--src/lib/net/network_sys.h14
-rw-r--r--src/lib/net/resolve.c13
-rw-r--r--src/lib/net/resolve.h2
-rw-r--r--src/lib/net/socket.c29
-rw-r--r--src/lib/net/socket.h1
-rw-r--r--src/lib/osinfo/uname.c95
-rw-r--r--src/lib/process/.may_include7
-rw-r--r--src/lib/process/include.am14
-rw-r--r--src/lib/process/process.c797
-rw-r--r--src/lib/process/process.h142
-rw-r--r--src/lib/process/process_unix.c705
-rw-r--r--src/lib/process/process_unix.h68
-rw-r--r--src/lib/process/process_win32.c1026
-rw-r--r--src/lib/process/process_win32.h97
-rw-r--r--src/lib/process/subprocess.c1236
-rw-r--r--src/lib/process/subprocess.h134
-rw-r--r--src/lib/process/waitpid.c2
-rw-r--r--src/lib/process/winprocess_sys.c64
-rw-r--r--src/lib/process/winprocess_sys.h14
-rw-r--r--src/lib/sandbox/.may_include7
-rw-r--r--src/lib/sandbox/sandbox.c13
-rw-r--r--src/lib/smartlist_core/.may_include2
-rw-r--r--src/lib/string/.may_include4
-rw-r--r--src/lib/string/compat_string.c4
-rw-r--r--src/lib/string/util_string.c13
-rw-r--r--src/lib/string/util_string.h1
-rw-r--r--src/lib/subsys/.may_include1
-rw-r--r--src/lib/subsys/include.am3
-rw-r--r--src/lib/subsys/subsys.h95
-rw-r--r--src/lib/term/.may_include3
-rw-r--r--src/lib/term/getpass.c2
-rw-r--r--src/lib/thread/.may_include2
-rw-r--r--src/lib/thread/compat_pthreads.c1
-rw-r--r--src/lib/thread/compat_threads.c16
-rw-r--r--src/lib/thread/include.am5
-rw-r--r--src/lib/thread/thread_sys.h14
-rw-r--r--src/lib/time/.may_include1
-rw-r--r--src/lib/time/include.am2
-rw-r--r--src/lib/time/time_sys.c26
-rw-r--r--src/lib/time/time_sys.h14
-rw-r--r--src/lib/tls/.may_include7
-rw-r--r--src/lib/tls/buffers_tls.c2
-rw-r--r--src/lib/tls/include.am1
-rw-r--r--src/lib/tls/tortls.c14
-rw-r--r--src/lib/tls/tortls_openssl.c19
-rw-r--r--src/lib/tls/tortls_sys.h14
-rw-r--r--src/lib/version/.may_include3
-rw-r--r--src/lib/version/git_revision.c (renamed from src/lib/log/git_revision.c)2
-rw-r--r--src/lib/version/git_revision.h (renamed from src/lib/log/git_revision.h)0
-rw-r--r--src/lib/version/include.am25
-rw-r--r--src/lib/version/torversion.h12
-rw-r--r--src/lib/version/version.c50
-rw-r--r--src/lib/wallclock/.may_include1
-rw-r--r--src/lib/wallclock/approx_time.c16
-rw-r--r--src/lib/wallclock/include.am3
-rw-r--r--src/lib/wallclock/wallclock_sys.h14
-rw-r--r--src/rust/Cargo.lock1
-rw-r--r--src/rust/Cargo.toml16
-rw-r--r--src/rust/build.rs4
-rw-r--r--src/rust/crypto/Cargo.toml1
-rw-r--r--src/rust/external/Cargo.toml6
-rw-r--r--src/rust/external/lib.rs2
-rw-r--r--src/rust/protover/Cargo.toml1
-rw-r--r--src/rust/protover/ffi.rs27
-rw-r--r--src/rust/smartlist/Cargo.toml1
-rw-r--r--src/rust/smartlist/lib.rs9
-rw-r--r--src/rust/tor_allocate/Cargo.toml1
-rw-r--r--src/rust/tor_allocate/lib.rs5
-rw-r--r--src/rust/tor_log/Cargo.toml1
-rw-r--r--src/rust/tor_rust/Cargo.toml2
-rw-r--r--src/rust/tor_util/Cargo.toml1
-rw-r--r--src/rust/tor_util/strings.rs6
-rw-r--r--src/test/Makefile.nmake7
-rw-r--r--src/test/bench.c53
-rwxr-xr-xsrc/test/bt_test.py10
-rw-r--r--src/test/fuzz/fuzz_consensus.c6
-rw-r--r--src/test/fuzz/fuzz_diff.c32
-rw-r--r--src/test/fuzz/fuzz_diff_apply.c13
-rw-r--r--src/test/fuzz/fuzz_http.c2
-rw-r--r--src/test/fuzz/fuzz_http_connect.c2
-rw-r--r--src/test/fuzz/fuzz_socks.c2
-rw-r--r--src/test/fuzz/fuzz_strops.c247
-rw-r--r--src/test/fuzz/fuzz_vrs.c24
-rw-r--r--src/test/fuzz/fuzzing_common.c10
-rw-r--r--src/test/fuzz/include.am29
-rw-r--r--src/test/include.am9
-rw-r--r--src/test/test-child.c61
-rw-r--r--src/test/test-process.c85
-rw-r--r--src/test/test.c6
-rw-r--r--src/test/test.h4
-rw-r--r--src/test/test_addr.c56
-rw-r--r--src/test/test_address.c76
-rw-r--r--src/test/test_buffers.c2
-rw-r--r--src/test/test_channelpadding.c2
-rw-r--r--src/test/test_channeltls.c2
-rw-r--r--src/test/test_circuitbuild.c4
-rw-r--r--src/test/test_compat_libevent.c1
-rw-r--r--src/test/test_config.c78
-rw-r--r--src/test/test_consdiff.c94
-rw-r--r--src/test/test_consdiffmgr.c41
-rw-r--r--src/test/test_dir.c119
-rw-r--r--src/test/test_dir_common.c17
-rw-r--r--src/test/test_dir_handle_get.c18
-rw-r--r--src/test/test_dns.c66
-rw-r--r--src/test/test_entrynodes.c103
-rw-r--r--src/test/test_extorport.c2
-rw-r--r--src/test/test_helpers.c2
-rw-r--r--src/test/test_hs_common.c2
-rw-r--r--src/test/test_hs_config.c16
-rw-r--r--src/test/test_hs_service.c4
-rw-r--r--src/test/test_logging.c22
-rw-r--r--src/test/test_mainloop.c221
-rw-r--r--src/test/test_microdesc.c41
-rw-r--r--src/test/test_nodelist.c416
-rw-r--r--src/test/test_oom.c2
-rw-r--r--src/test/test_options.c1
-rw-r--r--src/test/test_parsecommon.c8
-rw-r--r--src/test/test_periodic_event.c61
-rw-r--r--src/test/test_policy.c50
-rw-r--r--src/test/test_process.c696
-rw-r--r--src/test/test_process_slow.c342
-rw-r--r--src/test/test_proto_http.c2
-rw-r--r--src/test/test_proto_misc.c2
-rw-r--r--src/test/test_pt.c87
-rw-r--r--src/test/test_rebind.py80
-rwxr-xr-xsrc/test/test_rebind.sh15
-rw-r--r--src/test/test_rendcache.c4
-rw-r--r--src/test/test_router.c252
-rw-r--r--src/test/test_routerlist.c21
-rwxr-xr-xsrc/test/test_rust.sh10
-rw-r--r--src/test/test_shared_random.c12
-rw-r--r--src/test/test_slow.c2
-rw-r--r--src/test/test_socks.c2
-rw-r--r--src/test/test_util.c340
-rw-r--r--src/test/test_util_format.c4
-rw-r--r--src/test/test_util_slow.c396
-rw-r--r--src/test/test_voting_flags.c192
-rw-r--r--src/test/testing_common.c20
-rw-r--r--src/tools/include.am9
-rw-r--r--src/tools/tor-resolve.c393
-rw-r--r--src/tools/tor_runner.c2
-rw-r--r--src/trunnel/socks5.c13
-rw-r--r--src/trunnel/socks5.trunnel2
-rw-r--r--src/win32/orconfig.h2
306 files changed, 29205 insertions, 17620 deletions
diff --git a/src/app/config/config.c b/src/app/config/config.c
index 6e7e131055..32b487dd24 100644
--- a/src/app/config/config.c
+++ b/src/app/config/config.c
@@ -64,6 +64,7 @@
#include "app/config/confparse.h"
#include "app/config/statefile.h"
#include "app/main/main.h"
+#include "app/main/subsysmgr.h"
#include "core/mainloop/connection.h"
#include "core/mainloop/cpuworker.h"
#include "core/mainloop/mainloop.h"
@@ -112,9 +113,9 @@
#include "lib/crypt_ops/crypto_rand.h"
#include "lib/crypt_ops/crypto_util.h"
#include "lib/encoding/confline.h"
-#include "lib/log/git_revision.h"
#include "lib/net/resolve.h"
#include "lib/sandbox/sandbox.h"
+#include "lib/version/torversion.h"
#ifdef ENABLE_NSS
#include "lib/crypt_ops/crypto_nss_mgt.h"
@@ -141,7 +142,7 @@
#include "lib/process/pidfile.h"
#include "lib/process/restrict.h"
#include "lib/process/setuid.h"
-#include "lib/process/subprocess.h"
+#include "lib/process/process.h"
#include "lib/net/gethostname.h"
#include "lib/thread/numcpus.h"
@@ -339,6 +340,7 @@ static config_var_t option_vars_[] = {
V(ClientOnly, BOOL, "0"),
V(ClientPreferIPv6ORPort, AUTOBOOL, "auto"),
V(ClientPreferIPv6DirPort, AUTOBOOL, "auto"),
+ V(ClientAutoIPv6ORPort, BOOL, "0"),
V(ClientRejectInternalAddresses, BOOL, "1"),
V(ClientTransportPlugin, LINELIST, NULL),
V(ClientUseIPv6, BOOL, "0"),
@@ -388,6 +390,9 @@ static config_var_t option_vars_[] = {
OBSOLETE("DynamicDHGroups"),
VPORT(DNSPort),
OBSOLETE("DNSListenAddress"),
+ V(DormantClientTimeout, INTERVAL, "24 hours"),
+ V(DormantTimeoutDisabledByIdleStreams, BOOL, "1"),
+ V(DormantOnFirstStartup, BOOL, "0"),
/* DoS circuit creation options. */
V(DoSCircuitCreationEnabled, AUTOBOOL, "auto"),
V(DoSCircuitCreationMinConnections, UINT, "0"),
@@ -972,42 +977,6 @@ set_options(or_options_t *new_val, char **msg)
return 0;
}
-/** The version of this Tor process, as parsed. */
-static char *the_tor_version = NULL;
-/** A shorter version of this Tor process's version, for export in our router
- * descriptor. (Does not include the git version, if any.) */
-static char *the_short_tor_version = NULL;
-
-/** Return the current Tor version. */
-const char *
-get_version(void)
-{
- if (the_tor_version == NULL) {
- if (strlen(tor_git_revision)) {
- tor_asprintf(&the_tor_version, "%s (git-%s)", get_short_version(),
- tor_git_revision);
- } else {
- the_tor_version = tor_strdup(get_short_version());
- }
- }
- return the_tor_version;
-}
-
-/** Return the current Tor version, without any git tag. */
-const char *
-get_short_version(void)
-{
-
- if (the_short_tor_version == NULL) {
-#ifdef TOR_BUILD_TAG
- tor_asprintf(&the_short_tor_version, "%s (%s)", VERSION, TOR_BUILD_TAG);
-#else
- the_short_tor_version = tor_strdup(VERSION);
-#endif
- }
- return the_short_tor_version;
-}
-
/** Release additional memory allocated in options
*/
STATIC void
@@ -1067,9 +1036,6 @@ config_free_all(void)
tor_free(torrc_defaults_fname);
tor_free(global_dirfrontpagecontents);
- tor_free(the_short_tor_version);
- tor_free(the_tor_version);
-
cleanup_protocol_warning_severity_level();
have_parsed_cmdline = 0;
@@ -1432,10 +1398,10 @@ options_act_reversible(const or_options_t *old_options, char **msg)
* processes. */
if (running_tor && options->RunAsDaemon) {
if (! start_daemon_has_been_called())
- crypto_prefork();
+ subsystems_prefork();
/* No need to roll back, since you can't change the value. */
if (start_daemon())
- crypto_postfork();
+ subsystems_postfork();
}
#ifdef HAVE_SYSTEMD
@@ -2031,9 +1997,6 @@ options_act(const or_options_t *old_options)
finish_daemon(options->DataDirectory);
}
- /* See whether we need to enable/disable our once-a-second timer. */
- reschedule_per_second_timer();
-
/* We want to reinit keys as needed before we do much of anything else:
keys are important, and other things can depend on them. */
if (transition_affects_workers ||
@@ -3375,12 +3338,6 @@ options_validate(or_options_t *old_options, or_options_t *options,
* Always use the value of UseEntryGuards, not UseEntryGuards_option. */
options->UseEntryGuards = options->UseEntryGuards_option;
- if (warn_about_relative_paths(options) && options->RunAsDaemon) {
- REJECT("You have specified at least one relative path (see above) "
- "with the RunAsDaemon option. RunAsDaemon is not compatible "
- "with relative paths.");
- }
-
if (server_mode(options) &&
(!strcmpstart(uname, "Windows 95") ||
!strcmpstart(uname, "Windows 98") ||
@@ -3397,6 +3354,14 @@ options_validate(or_options_t *old_options, or_options_t *options,
if (validate_data_directories(options)<0)
REJECT("Invalid DataDirectory");
+ /* need to check for relative paths after we populate
+ * options->DataDirectory (just above). */
+ if (warn_about_relative_paths(options) && options->RunAsDaemon) {
+ REJECT("You have specified at least one relative path (see above) "
+ "with the RunAsDaemon option. RunAsDaemon is not compatible "
+ "with relative paths.");
+ }
+
if (options->Nickname == NULL) {
if (server_mode(options)) {
options->Nickname = tor_strdup(UNNAMED_ROUTER_NICKNAME);
@@ -3419,6 +3384,8 @@ options_validate(or_options_t *old_options, or_options_t *options,
if (ContactInfo && !string_is_utf8(ContactInfo, strlen(ContactInfo)))
REJECT("ContactInfo config option must be UTF-8.");
+ check_network_configuration(server_mode(options));
+
/* Special case on first boot if no Log options are given. */
if (!options->Logs && !options->RunAsDaemon && !from_setconf) {
if (quiet_level == 0)
@@ -3875,6 +3842,10 @@ options_validate(or_options_t *old_options, or_options_t *options,
"default.");
}
+ if (options->DormantClientTimeout < 10*60 && !options->TestingTorNetwork) {
+ REJECT("DormantClientTimeout is too low. It must be at least 10 minutes.");
+ }
+
if (options->PathBiasNoticeRate > 1.0) {
tor_asprintf(msg,
"PathBiasNoticeRate is too high. "
@@ -3926,7 +3897,8 @@ options_validate(or_options_t *old_options, or_options_t *options,
}
if (options->HeartbeatPeriod &&
- options->HeartbeatPeriod < MIN_HEARTBEAT_PERIOD) {
+ options->HeartbeatPeriod < MIN_HEARTBEAT_PERIOD &&
+ !options->TestingTorNetwork) {
log_warn(LD_CONFIG, "HeartbeatPeriod option is too short; "
"raising to %d seconds.", MIN_HEARTBEAT_PERIOD);
options->HeartbeatPeriod = MIN_HEARTBEAT_PERIOD;
@@ -6911,6 +6883,8 @@ parse_port_config(smartlist_t *out,
for (; ports; ports = ports->next) {
tor_addr_t addr;
+ tor_addr_make_unspec(&addr);
+
int port;
int sessiongroup = SESSION_GROUP_UNSET;
unsigned isolation = ISO_DEFAULT;
diff --git a/src/app/config/config.h b/src/app/config/config.h
index a169cfd451..4c497b83a6 100644
--- a/src/app/config/config.h
+++ b/src/app/config/config.h
@@ -41,8 +41,6 @@ const char *escaped_safe_str_client(const char *address);
const char *escaped_safe_str(const char *address);
void init_protocol_warning_severity_level(void);
int get_protocol_warning_severity_level(void);
-const char *get_version(void);
-const char *get_short_version(void);
/** An error from options_trial_assign() or options_init_from_string(). */
typedef enum setopt_err_t {
diff --git a/src/app/config/fallback_dirs.inc b/src/app/config/fallback_dirs.inc
index c446152e6a..9f60f309f8 100644
--- a/src/app/config/fallback_dirs.inc
+++ b/src/app/config/fallback_dirs.inc
@@ -1,73 +1,82 @@
/* type=fallback */
/* version=2.0.0 */
-/* timestamp=20180106205601 */
-/* ===== */
-/* Whitelist & blacklist excluded 810 of 1009 candidates. */
+/* timestamp=20181207055710 */
+/* timestamp0=20181207055710 */
+/* timestamp1=20181207193756 */
+/* timestamp2=20181207195255 */
+/* ===== */
+/* 0: Whitelist excluded 1275 of 1462 candidates. */
+/* 1: Whitelist excluded 1279 of 1470 candidates. */
+/* 2: Whitelist excluded 1278 of 1469 candidates. */
/* Checked IPv4 DirPorts served a consensus within 15.0s. */
/*
-Final Count: 143 (Eligible 198, Target 230 (1154 * 0.20), Max 200)
-Excluded: 55 (Same Operator 34, Failed/Skipped Download 14, Excess 7)
-Bandwidth Range: 0.9 - 131.1 MByte/s
+0:
+Final Count: 148 (Eligible 187, Target 351 (1757 * 0.20), Max 200)
+Excluded: 39 (Same Operator 28, Failed/Skipped Download 7, Excess 4)
+Bandwidth Range: 0.8 - 43.8 MByte/s
+
+MERGED WITH:
+
+1:
+Final Count: 138 (Eligible 191, Target 353 (1768 * 0.20), Max 200)
+Excluded: 53 (Same Operator 29, Failed/Skipped Download 20, Excess 4)
+Bandwidth Range: 1.0 - 46.9 MByte/s
MERGED WITH:
-Final Count: 139 (Eligible 199, Target 232 (1161 * 0.20), Max 200)
-Excluded: 60 (Same Operator 34, Failed/Skipped Download 19, Excess 7)
-Bandwidth Range: 1.1 - 131.1 MByte/s
+2:
+Final Count: 145 (Eligible 191, Target 353 (1768 * 0.20), Max 200)
+Excluded: 46 (Same Operator 29, Failed/Skipped Download 13, Excess 4)
+Bandwidth Range: 1.0 - 46.9 MByte/s
*/
/*
-Onionoo Source: details Date: 2018-01-06 20:00:00 Version: 5.0
+0: Onionoo Source: details Date: 2018-12-07 05:00:00 Version: 7.0
+1: Onionoo Source: details Date: 2018-12-07 18:00:00 Version: 7.0
+2: Onionoo Source: details Date: 2018-12-07 18:00:00 Version: 7.0
URL: https:onionoo.torproject.orgdetails?fieldsfingerprint%2Cnickname%2Ccontact%2Clast_changed_address_or_port%2Cconsensus_weight%2Cadvertised_bandwidth%2Cor_addresses%2Cdir_address%2Crecommended_version%2Cflags%2Ceffective_family%2Cplatform&flagV2Dir&typerelay&last_seen_days-0&first_seen_days90-
*/
/*
-Onionoo Source: uptime Date: 2018-01-06 20:00:00 Version: 5.0
+0: Onionoo Source: uptime Date: 2018-12-07 05:00:00 Version: 7.0
+1: Onionoo Source: uptime Date: 2018-12-07 18:00:00 Version: 7.0
+2: Onionoo Source: uptime Date: 2018-12-07 18:00:00 Version: 7.0
URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&last_seen_days-0
*/
/* ===== */
-"185.13.39.197:80 orport=443 id=001524DD403D729F08F7E5D77813EF12756CFA8D"
-/* nickname=Neldoreth */
-/* extrainfo=0 */
-/* ===== */
-,
"176.10.104.240:80 orport=443 id=0111BA9B604669E636FFD5B503F382A4B7AD6E80"
/* nickname=DigiGesTor1e1 */
/* extrainfo=0 */
/* ===== */
,
-"185.100.85.61:80 orport=443 id=025B66CEBC070FCB0519D206CF0CF4965C20C96E"
-/* nickname=nibbana */
+"193.171.202.146:9030 orport=9001 id=01A9258A46E97FF8B2CAC7910577862C14F2C524"
+" ipv6=[2001:628:200a:f001:20::146]:9001"
+/* nickname=ins0 */
/* extrainfo=0 */
/* ===== */
,
-"5.9.110.236:9030 orport=9001 id=0756B7CD4DFC8182BE23143FAC0642F515182CEB"
-" ipv6=[2a01:4f8:162:51e2::2]:9001"
-/* nickname=rueckgrat */
-/* extrainfo=1 */
-/* ===== */
-,
"163.172.149.155:80 orport=443 id=0B85617241252517E8ECF2CFC7F4C1A32DCD153F"
/* nickname=niij02 */
/* extrainfo=0 */
/* ===== */
,
-"5.39.92.199:80 orport=443 id=0BEA4A88D069753218EAAAD6D22EA87B9A1319D6"
-" ipv6=[2001:41d0:8:b1c7::1]:443"
-/* nickname=BaelorTornodePw */
+"5.200.21.144:80 orport=443 id=0C039F35C2E40DCB71CD8A07E97C7FD7787D42D6"
+/* nickname=libel */
/* extrainfo=0 */
/* ===== */
,
-"163.172.25.118:80 orport=22 id=0CF8F3E6590F45D50B70F2F7DA6605ECA6CD408F"
-/* nickname=torpidsFRonline4 */
+"5.196.88.122:9030 orport=9001 id=0C2C599AFCB26F5CFC2C7592435924C1D63D9484"
+" ipv6=[2001:41d0:a:fb7a::1]:9001"
+/* nickname=ATo */
/* extrainfo=0 */
/* ===== */
,
-"178.62.197.82:80 orport=443 id=0D3EBA17E1C78F1E9900BABDB23861D46FCAF163"
-/* nickname=HY100 */
+"185.100.86.100:80 orport=443 id=0E8C0C8315B66DB5F703804B3889A1DD66C67CE0"
+/* nickname=saveyourprivacyex1 */
/* extrainfo=0 */
/* ===== */
,
-"185.100.86.100:80 orport=443 id=0E8C0C8315B66DB5F703804B3889A1DD66C67CE0"
-/* nickname=saveyourprivacyex1 */
+"37.252.185.182:9030 orport=8080 id=113143469021882C3A4B82F084F8125B08EE471E"
+" ipv6=[2a00:63c1:a:182::2]:8080"
+/* nickname=parasol */
/* extrainfo=0 */
/* ===== */
,
@@ -83,31 +92,36 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"37.157.195.87:8030 orport=443 id=12FD624EE73CEF37137C90D38B2406A66F68FAA2"
-/* nickname=thanatosCZ */
+"193.234.15.59:80 orport=443 id=136F9299A5009A4E0E96494E723BDB556FB0A26B"
+" ipv6=[2a00:1c20:4089:1234:bff6:e1bb:1ce3:8dc6]:443"
+/* nickname=bakunin2 */
/* extrainfo=0 */
/* ===== */
,
-"178.16.208.59:80 orport=443 id=136F9299A5009A4E0E96494E723BDB556FB0A26B"
-" ipv6=[2a00:1c20:4089:1234:bff6:e1bb:1ce3:8dc6]:443"
-/* nickname=bakunin2 */
+"144.76.14.145:110 orport=143 id=14419131033443AE6E21DA82B0D307F7CAE42BDB"
+" ipv6=[2a01:4f8:190:9490::dead]:443"
+/* nickname=PedicaboMundi */
/* extrainfo=0 */
/* ===== */
,
-"163.172.138.22:80 orport=443 id=16102E458460349EE45C0901DAA6C30094A9BBEA"
-" ipv6=[2001:bc8:4400:2100::1:3]:443"
-/* nickname=mkultra */
+"185.220.101.9:10009 orport=20009 id=14877C6384A9E793F422C8D1DDA447CACA4F7C4B"
+/* nickname=niftywoodmouse */
/* extrainfo=0 */
/* ===== */
,
-"178.62.60.37:80 orport=443 id=175921396C7C426309AB03775A9930B6F611F794"
-/* nickname=lovejoy */
+"54.37.138.138:8080 orport=993 id=1576BE143D8727745BB2BCDDF183291B3C3EFEFC"
+/* nickname=anotherone */
/* extrainfo=0 */
/* ===== */
,
-"171.25.193.25:80 orport=443 id=185663B7C12777F052B2C2D23D7A239D8DA88A0F"
-" ipv6=[2001:67c:289c::25]:443"
-/* nickname=DFRI5 */
+"51.15.78.0:9030 orport=9001 id=15BE17C99FACE24470D40AF782D6A9C692AB36D6"
+" ipv6=[2001:bc8:4700:2300::16:c0b]:9001"
+/* nickname=rofltor07 */
+/* extrainfo=0 */
+/* ===== */
+,
+"204.11.50.131:9030 orport=9001 id=185F2A57B0C4620582602761097D17DB81654F70"
+/* nickname=BoingBoing */
/* extrainfo=0 */
/* ===== */
,
@@ -118,7 +132,7 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
,
"81.7.14.253:9001 orport=443 id=1AE039EE0B11DB79E4B4B29CBA9F752864A0259E"
/* nickname=Ichotolot60 */
-/* extrainfo=0 */
+/* extrainfo=1 */
/* ===== */
,
"163.172.53.84:143 orport=21 id=1C90D3AEADFF3BCD079810632C8B85637924A58E"
@@ -127,46 +141,25 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"46.101.151.222:80 orport=443 id=1DBAED235E3957DE1ABD25B4206BE71406FB61F8"
-/* nickname=flanders */
-/* extrainfo=0 */
-/* ===== */
-,
-"91.219.237.229:80 orport=443 id=1ECD73B936CB6E6B3CD647CC204F108D9DF2C9F7"
-/* nickname=JakeDidNothingWrong */
-/* extrainfo=0 */
-/* ===== */
-,
"199.184.246.250:80 orport=443 id=1F6ABD086F40B890A33C93CC4606EE68B31C9556"
" ipv6=[2620:124:1009:1::171]:443"
/* nickname=dao */
/* extrainfo=0 */
/* ===== */
,
-"185.129.249.124:9030 orport=9001 id=1FA8F638298645BE58AC905276680889CB795A94"
-/* nickname=treadstone */
-/* extrainfo=0 */
-/* ===== */
-,
"212.47.229.2:9030 orport=9001 id=20462CBA5DA4C2D963567D17D0B7249718114A68"
" ipv6=[2001:bc8:4400:2100::f03]:9001"
/* nickname=scaletor */
/* extrainfo=0 */
/* ===== */
,
-"77.247.181.164:80 orport=443 id=204DFD2A2C6A0DC1FA0EACB495218E0B661704FD"
-/* nickname=HaveHeart */
-/* extrainfo=0 */
-/* ===== */
-,
"163.172.176.167:80 orport=443 id=230A8B2A8BA861210D9B4BA97745AEC217A94207"
/* nickname=niij01 */
/* extrainfo=0 */
/* ===== */
,
-"37.200.98.5:80 orport=443 id=231C2B9C8C31C295C472D031E06964834B745996"
-" ipv6=[2a00:1158:3::11a]:993"
-/* nickname=torpidsDEdomainf */
+"185.220.101.8:10008 orport=20008 id=24E91955D969AEA1D80413C64FE106FAE7FD2EA9"
+/* nickname=niftymouse */
/* extrainfo=0 */
/* ===== */
,
@@ -175,7 +168,7 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"178.16.208.56:80 orport=443 id=2CDCFED0142B28B002E89D305CBA2E26063FADE2"
+"193.234.15.56:80 orport=443 id=2CDCFED0142B28B002E89D305CBA2E26063FADE2"
" ipv6=[2a00:1c20:4089:1234:cd49:b58a:9ebe:67ec]:443"
/* nickname=jaures */
/* extrainfo=0 */
@@ -186,14 +179,14 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"64.113.32.29:9030 orport=9001 id=30C19B81981F450C402306E2E7CFB6C3F79CB6B2"
-/* nickname=Libero */
+"94.230.208.147:8080 orport=8443 id=311A4533F7A2415F42346A6C8FA77E6FD279594C"
+" ipv6=[2a02:418:6017::147]:8443"
+/* nickname=DigiGesTor3e2 */
/* extrainfo=0 */
/* ===== */
,
-"80.127.117.180:80 orport=443 id=328E54981C6DDD7D89B89E418724A4A7881E3192"
-" ipv6=[2001:985:e77:10::4]:443"
-/* nickname=sjc01 */
+"212.83.154.33:8080 orport=8443 id=322C6E3A973BC10FC36DE3037AD27BC89F14723B"
+/* nickname=bauruine204 */
/* extrainfo=0 */
/* ===== */
,
@@ -203,21 +196,25 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"163.172.13.165:9030 orport=9001 id=33DA0CAB7C27812EFF2E22C9705630A54D101FEB"
-" ipv6=[2001:bc8:38cb:201::8]:9001"
-/* nickname=mullbinde9 */
+"54.37.17.235:9030 orport=9001 id=360CBA08D1E24F513162047BDB54A1015E531534"
+/* nickname=Aerodynamik06 */
/* extrainfo=0 */
/* ===== */
,
-"91.121.23.100:9030 orport=9001 id=3711E80B5B04494C971FB0459D4209AB7F2EA799"
-/* nickname=0x3d002 */
+"37.157.255.35:9030 orport=9090 id=361D33C96D0F161275EE67E2C91EE10B276E778B"
+/* nickname=cxx4freedom */
/* extrainfo=0 */
/* ===== */
,
-"176.126.252.12:21 orport=8080 id=379FB450010D17078B3766C2273303C358C3A442"
-" ipv6=[2a02:59e0:0:7::12]:81"
-/* nickname=aurora */
-/* extrainfo=1 */
+"37.187.22.87:9030 orport=9001 id=36B9E7AC1E36B62A9D6F330ABEB6012BA7F0D400"
+" ipv6=[2001:41d0:a:1657::1]:9001"
+/* nickname=kimsufi321 */
+/* extrainfo=0 */
+/* ===== */
+,
+"64.79.152.132:80 orport=443 id=375DCBB2DBD94E5263BC0C015F0C9E756669617E"
+/* nickname=ebola */
+/* extrainfo=0 */
/* ===== */
,
"62.210.92.11:9130 orport=9101 id=387B065A38E4DAA16D9D41C2964ECBC4B31D30FF"
@@ -231,24 +228,9 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"164.132.77.175:9030 orport=9001 id=3B33F6FCA645AD4E91428A3AF7DC736AD9FB727B"
-/* nickname=rofltor1 */
-/* extrainfo=0 */
-/* ===== */
-,
-"212.83.154.33:8888 orport=443 id=3C79699D4FBC37DE1A212D5033B56DAE079AC0EF"
-/* nickname=bauruine203 */
-/* extrainfo=0 */
-/* ===== */
-,
-"176.10.107.180:9030 orport=9001 id=3D7E274A87D9A89AF064C13D1EE4CA1F184F2600"
-/* nickname=schokomilch */
-/* extrainfo=0 */
-/* ===== */
-,
-"217.79.179.177:9030 orport=9001 id=3E53D3979DB07EFD736661C934A1DED14127B684"
-" ipv6=[2001:4ba0:fff9:131:6c4f::90d3]:9001"
-/* nickname=Unnamed */
+"66.111.2.16:9030 orport=9001 id=3F092986E9B87D3FDA09B71FA3A602378285C77A"
+" ipv6=[2610:1c0:0:5::16]:9001"
+/* nickname=NYCBUG1 */
/* extrainfo=0 */
/* ===== */
,
@@ -257,19 +239,21 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"199.249.223.61:80 orport=443 id=40E7D6CE5085E4CDDA31D51A29D1457EB53F12AD"
-/* nickname=Quintex12 */
+"195.191.81.7:9030 orport=9001 id=41A3C16269C7B63DB6EB741DBDDB4E1F586B1592"
+" ipv6=[2a00:1908:fffc:ffff:c0a6:ccff:fe62:e1a1]:9001"
+/* nickname=rofltor02 */
/* extrainfo=0 */
/* ===== */
,
"178.17.170.156:9030 orport=9001 id=41C59606AFE1D1AA6EC6EF6719690B856F0B6587"
+" ipv6=[2a00:1dc0:caff:48::9257]:9001"
/* nickname=TorExitMoldova2 */
/* extrainfo=0 */
/* ===== */
,
-"178.62.86.96:9030 orport=9001 id=439D0447772CB107B886F7782DBC201FA26B92D1"
-" ipv6=[2a03:b0c0:1:d0::3cf:7001]:9050"
-/* nickname=pablobm001 */
+"81.7.10.251:80 orport=443 id=45362E8ECD651CCAC521156FFBD2FF7F27FA8E88"
+" ipv6=[2a02:180:1:1::517:afb]:443"
+/* nickname=torpidsDEisppro2 */
/* extrainfo=0 */
/* ===== */
,
@@ -278,19 +262,23 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
+"132.248.241.5:9030 orport=9001 id=4661DE96D3F8E923994B05218F23760C8D7935A4"
+/* nickname=toritounam */
+/* extrainfo=0 */
+/* ===== */
+,
"31.31.78.49:80 orport=443 id=46791D156C9B6C255C2665D4D8393EC7DBAA7798"
/* nickname=KrigHaBandolo */
/* extrainfo=0 */
/* ===== */
,
-"193.70.43.76:9030 orport=9001 id=484A10BA2B8D48A5F0216674C8DD50EF27BC32F3"
-/* nickname=Aerodynamik03 */
+"185.220.101.34:10034 orport=20034 id=47C42E2094EE482E7C9B586B10BABFB67557030B"
+/* nickname=niftysugarglider */
/* extrainfo=0 */
/* ===== */
,
-"37.187.102.186:9030 orport=9001 id=489D94333DF66D57FFE34D9D59CC2D97E2CB0053"
-" ipv6=[2001:41d0:a:26ba::1]:9001"
-/* nickname=txtfileTorNode65536 */
+"193.70.43.76:9030 orport=9001 id=484A10BA2B8D48A5F0216674C8DD50EF27BC32F3"
+/* nickname=Aerodynamik03 */
/* extrainfo=0 */
/* ===== */
,
@@ -299,9 +287,10 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"108.53.208.157:80 orport=443 id=4F0DB7E687FC7C0AE55C8F243DA8B0EB27FBF1F2"
-/* nickname=Binnacle */
-/* extrainfo=1 */
+"81.7.13.84:80 orport=443 id=4EB55679FA91363B97372554F8DC7C63F4E5B101"
+" ipv6=[2a02:180:1:1::5b8f:538c]:443"
+/* nickname=torpidsDEisppro */
+/* extrainfo=0 */
/* ===== */
,
"212.51.134.123:9030 orport=9001 id=50586E25BE067FD1F739998550EDDCB1A14CA5B2"
@@ -320,6 +309,18 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
+"192.160.102.166:80 orport=9001 id=547DA56F6B88B6C596B3E3086803CDA4F0EF8F21"
+" ipv6=[2620:132:300c:c01d::6]:9002"
+/* nickname=chaucer */
+/* extrainfo=0 */
+/* ===== */
+,
+"192.160.102.170:80 orport=9001 id=557ACEC850F54EEE65839F83CACE2B0825BE811E"
+" ipv6=[2620:132:300c:c01d::a]:9002"
+/* nickname=ogopogo */
+/* extrainfo=0 */
+/* ===== */
+,
"95.130.12.119:80 orport=443 id=587E0A9552E4274B251F29B5B2673D38442EE4BF"
/* nickname=Nuath */
/* extrainfo=0 */
@@ -331,19 +332,19 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"172.98.193.43:80 orport=443 id=5E56738E7F97AA81DEEF59AF28494293DFBFCCDF"
-/* nickname=Backplane */
+"193.234.15.62:80 orport=443 id=5CF8AFA5E4B0BB88942A44A3F3AAE08C3BDFD60B"
+" ipv6=[2a00:1c20:4089:1234:a6a4:2926:d0af:dfee]:443"
+/* nickname=jaures4 */
/* extrainfo=0 */
/* ===== */
,
-"199.249.223.74:80 orport=443 id=5F4CD12099AF20FAF9ADFDCEC65316A376D0201C"
-/* nickname=QuintexAirVPN7 */
+"172.98.193.43:80 orport=443 id=5E56738E7F97AA81DEEF59AF28494293DFBFCCDF"
+/* nickname=Backplane */
/* extrainfo=0 */
/* ===== */
,
-"95.128.43.164:80 orport=443 id=616081EC829593AF4232550DE6FFAA1D75B37A90"
-" ipv6=[2a02:ec0:209:10::4]:443"
-/* nickname=AquaRayTerminus */
+"185.220.101.28:10028 orport=20028 id=609E598FB6A00BCF7872906B602B705B64541C50"
+/* nickname=niftychipmunk */
/* extrainfo=0 */
/* ===== */
,
@@ -352,88 +353,84 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"85.214.62.48:80 orport=443 id=6A7551EEE18F78A9813096E82BF84F740D32B911"
-/* nickname=TorMachine */
-/* extrainfo=0 */
-/* ===== */
-,
"80.127.137.19:80 orport=443 id=6EF897645B79B6CB35E853B32506375014DE3621"
" ipv6=[2001:981:47c1:1::6]:443"
/* nickname=d6relay */
/* extrainfo=0 */
/* ===== */
,
-"85.235.250.88:80 orport=443 id=72B2B12A3F60408BDBC98C6DF53988D3A0B3F0EE"
-/* nickname=TykRelay01 */
+"37.139.8.104:9030 orport=9001 id=7088D485934E8A403B81531F8C90BDC75FA43C98"
+" ipv6=[2a03:b0c0:0:1010::24c:1001]:9001"
+/* nickname=Basil */
/* extrainfo=0 */
/* ===== */
,
-"81.7.14.31:9001 orport=443 id=7600680249A22080ECC6173FBBF64D6FCF330A61"
-/* nickname=Ichotolot62 */
+"188.138.88.42:80 orport=443 id=70C55A114C0EF3DC5784A4FAEE64388434A3398F"
+/* nickname=torpidsFRplusserver */
/* extrainfo=0 */
/* ===== */
,
-"134.119.36.135:80 orport=443 id=763C9556602BD6207771A7A3D958091D44C43228"
-" ipv6=[2a00:1158:3::2a8]:993"
-/* nickname=torpidsDEdomainf2 */
+"185.220.101.30:10030 orport=20030 id=71CFDEB4D9E00CCC3E31EC4E8A29E109BBC1FB36"
+/* nickname=niftypedetidae */
/* extrainfo=0 */
/* ===== */
,
-"188.166.133.133:9030 orport=9001 id=774555642FDC1E1D4FDF2E0C31B7CA9501C5C9C7"
-" ipv6=[2a03:b0c0:2:d0::26c0:1]:9001"
-/* nickname=dropsy */
+"85.235.250.88:80 orport=443 id=72B2B12A3F60408BDBC98C6DF53988D3A0B3F0EE"
+/* nickname=TykRelay01 */
/* extrainfo=0 */
/* ===== */
,
+"81.7.14.31:9001 orport=443 id=7600680249A22080ECC6173FBBF64D6FCF330A61"
+/* nickname=Ichotolot62 */
+/* extrainfo=1 */
+/* ===== */
+,
"5.196.23.64:9030 orport=9001 id=775B0FAFDE71AADC23FFC8782B7BEB1D5A92733E"
/* nickname=Aerodynamik01 */
/* extrainfo=0 */
/* ===== */
,
-"81.30.158.213:9030 orport=9001 id=789EA6C9AE9ADDD8760903171CFA9AC5741B0C70"
-" ipv6=[2001:4ba0:cafe:e84::1]:9001"
-/* nickname=dumpster */
+"51.254.136.195:80 orport=443 id=7BB70F8585DFC27E75D692970C0EEB0F22983A63"
+/* nickname=torproxy02 */
/* extrainfo=0 */
/* ===== */
,
-"104.200.20.46:80 orport=9001 id=78E2BE744A53631B4AAB781468E94C52AB73968B"
-/* nickname=bynumlawtor */
+"185.100.84.82:80 orport=443 id=7D05A38E39FC5D29AFE6BE487B9B4DC9E635D09E"
+/* nickname=saveyourprivacyexit */
/* extrainfo=0 */
/* ===== */
,
-"62.210.129.246:80 orport=443 id=79E169B25E4C7CE99584F6ED06F379478F23E2B8"
-/* nickname=MilesPrower */
+"193.11.114.45:9031 orport=9002 id=80AAF8D5956A43C197104CEF2550CD42D165C6FB"
+/* nickname=mdfnet2 */
/* extrainfo=0 */
/* ===== */
,
-"82.223.21.74:9030 orport=9001 id=7A32C9519D80CA458FC8B034A28F5F6815649A98"
-" ipv6=[2001:470:53e0::cafe]:9050"
-/* nickname=silentrocket */
+"51.254.96.208:9030 orport=9001 id=8101421BEFCCF4C271D5483C5AABCAAD245BBB9D"
+" ipv6=[2001:41d0:401:3100::30dc]:9001"
+/* nickname=rofltor01 */
/* extrainfo=0 */
/* ===== */
,
-"51.254.136.195:80 orport=443 id=7BB70F8585DFC27E75D692970C0EEB0F22983A63"
-/* nickname=torproxy02 */
+"217.12.199.190:80 orport=443 id=81AFA888F8F8F4A024AB58ECA0ADDEBB93FF01DA"
+" ipv6=[2a02:27a8:0:2::486]:993"
+/* nickname=torpidsUAitlas */
/* extrainfo=0 */
/* ===== */
,
-"77.247.181.162:80 orport=443 id=7BFB908A3AA5B491DA4CA72CCBEE0E1F2A939B55"
-/* nickname=sofia */
+"192.42.116.16:80 orport=443 id=81B75D534F91BFB7C57AB67DA10BCEF622582AE8"
+/* nickname=hviv104 */
/* extrainfo=0 */
/* ===== */
,
-"185.100.84.82:80 orport=443 id=7D05A38E39FC5D29AFE6BE487B9B4DC9E635D09E"
-/* nickname=saveyourprivacyexit */
+"192.160.102.164:80 orport=9001 id=823AA81E277F366505545522CEDC2F529CE4DC3F"
+" ipv6=[2620:132:300c:c01d::4]:9002"
+/* nickname=snowfall */
/* extrainfo=0 */
/* ===== */
,
-"199.249.223.69:80 orport=443 id=7FA8E7E44F1392A4E40FFC3B69DB3B00091B7FD3"
-/* nickname=Quintex20 */
-/* extrainfo=0 */
-/* ===== */
-,
-"193.11.114.45:9031 orport=9002 id=80AAF8D5956A43C197104CEF2550CD42D165C6FB"
-/* nickname=mdfnet2 */
+"192.87.28.82:9030 orport=9001 id=844AE9CAD04325E955E2BE1521563B79FE7094B7"
+" ipv6=[2001:678:230:3028:192:87:28:82]:9001"
+/* nickname=Smeerboel */
/* extrainfo=0 */
/* ===== */
,
@@ -442,23 +439,19 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"85.230.184.93:9030 orport=443 id=855BC2DABE24C861CD887DB9B2E950424B49FC34"
-/* nickname=Logforme */
-/* extrainfo=0 */
-/* ===== */
-,
-"72.52.75.27:9030 orport=9001 id=8567AD0A6369ED08527A8A8533A5162AC00F7678"
-/* nickname=piecoopdotnet */
+"185.96.88.29:80 orport=443 id=86C281AD135058238D7A337D546C902BE8505DDE"
+/* nickname=TykRelay05 */
/* extrainfo=0 */
/* ===== */
,
-"185.96.88.29:80 orport=443 id=86C281AD135058238D7A337D546C902BE8505DDE"
-/* nickname=TykRelay05 */
+"93.180.156.84:9030 orport=9001 id=8844D87E9B038BE3270938F05AF797E1D3C74C0F"
+/* nickname=BARACUDA */
/* extrainfo=0 */
/* ===== */
,
-"176.10.104.243:80 orport=443 id=88487BDD980BF6E72092EE690E8C51C0AA4A538C"
-/* nickname=DigiGesTor2e1 */
+"51.15.205.214:9030 orport=9001 id=8B6556601612F1E2AFCE2A12FFFAF8482A76DD1F"
+" ipv6=[2001:bc8:4400:2500::5:b07]:9001"
+/* nickname=titania1 */
/* extrainfo=0 */
/* ===== */
,
@@ -468,14 +461,8 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"5.189.169.190:8030 orport=8080 id=8D79F73DCD91FC4F5017422FAC70074D6DB8DD81"
-/* nickname=thanatosDE */
-/* extrainfo=0 */
-/* ===== */
-,
-"151.80.42.103:9030 orport=9001 id=9007C1D8E4F03D506A4A011B907A9E8D04E3C605"
-" ipv6=[2001:41d0:e:f67::114]:9001"
-/* nickname=matlink */
+"81.7.11.96:9030 orport=9001 id=8FA37B93397015B2BC5A525C908485260BE9F422"
+/* nickname=Doedel22 */
/* extrainfo=0 */
/* ===== */
,
@@ -485,19 +472,29 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"62.138.7.171:8030 orport=8001 id=9285B22F7953D7874604EEE2B470609AD81C74E9"
-/* nickname=0x3d005 */
+"51.255.41.65:9030 orport=9001 id=9231DF741915AA1630031A93026D88726877E93A"
+/* nickname=PrisnCellRelayFR1 */
+/* extrainfo=0 */
+/* ===== */
+,
+"54.37.73.111:9030 orport=9001 id=92412EA1B9AA887D462B51D816777002F4D58907"
+/* nickname=Aerodynamik05 */
/* extrainfo=0 */
/* ===== */
,
-"178.16.208.57:80 orport=443 id=92CFD9565B24646CAC2D172D3DB503D69E777B8A"
+"96.253.78.108:80 orport=443 id=924B24AFA7F075D059E8EEB284CC400B33D3D036"
+/* nickname=NSDFreedom */
+/* extrainfo=0 */
+/* ===== */
+,
+"193.234.15.57:80 orport=443 id=92CFD9565B24646CAC2D172D3DB503D69E777B8A"
" ipv6=[2a00:1c20:4089:1234:7825:2c5d:1ecd:c66f]:443"
/* nickname=bakunin */
/* extrainfo=0 */
/* ===== */
,
-"91.219.237.244:80 orport=443 id=92ECC9E0E2AF81BB954719B189AC362E254AD4A5"
-/* nickname=lewwerDuarUesSlaav */
+"204.8.156.142:80 orport=443 id=94C4B7B8C50C86A92B6A20107539EE2678CF9A28"
+/* nickname=BostonUCompSci */
/* extrainfo=0 */
/* ===== */
,
@@ -506,8 +503,8 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"163.172.223.200:80 orport=443 id=998BF3ED7F70E33D1C307247B9626D9E7573C438"
-/* nickname=Outfall2 */
+"173.212.254.192:31336 orport=31337 id=99E246DB480B313A3012BC3363093CC26CD209C7"
+/* nickname=ViDiSrv */
/* extrainfo=0 */
/* ===== */
,
@@ -517,22 +514,24 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* ===== */
,
"66.111.2.20:9030 orport=9001 id=9A68B85A02318F4E7E87F2828039FBD5D75B0142"
+" ipv6=[2610:1c0:0:5::20]:9001"
/* nickname=NYCBUG0 */
/* extrainfo=0 */
/* ===== */
,
"185.100.86.128:9030 orport=9001 id=9B31F1F1C1554F9FFB3455911F82E818EF7C7883"
+" ipv6=[2a06:1700:1::11]:9001"
/* nickname=TorExitFinland */
/* extrainfo=0 */
/* ===== */
,
-"146.185.177.103:80 orport=9030 id=9EC5E097663862DF861A18C32B37C5F82284B27D"
-/* nickname=Winter */
+"86.105.212.130:9030 orport=443 id=9C900A7F6F5DD034CFFD192DAEC9CCAA813DB022"
+/* nickname=firstor2 */
/* extrainfo=0 */
/* ===== */
,
-"199.249.223.64:80 orport=443 id=9F2856F6D2B89AD4EF6D5723FAB167DB5A53519A"
-/* nickname=Quintex15 */
+"31.185.104.19:80 orport=443 id=9EAD5B2D3DBD96DBC80DCE423B0C345E920A758D"
+/* nickname=Digitalcourage3ip1 */
/* extrainfo=0 */
/* ===== */
,
@@ -541,11 +540,6 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"91.121.84.137:4952 orport=4052 id=9FBEB75E8BC142565F12CBBE078D63310236A334"
-/* nickname=lindon */
-/* extrainfo=0 */
-/* ===== */
-,
"46.165.230.5:80 orport=443 id=A0F06C2FADF88D3A39AA3072B406F09D7095AC9E"
/* nickname=Dhalgren */
/* extrainfo=1 */
@@ -557,9 +551,14 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
+"87.118.122.120:80 orport=443 id=A2A6616723B511D8E068BB71705191763191F6B2"
+/* nickname=otheontelth */
+/* extrainfo=0 */
+/* ===== */
+,
"81.7.3.67:993 orport=443 id=A2E6BB5C391CD46B38C55B4329C35304540771F1"
/* nickname=BeastieJoy62 */
-/* extrainfo=0 */
+/* extrainfo=1 */
/* ===== */
,
"171.25.193.78:80 orport=443 id=A478E421F83194C114F41E94F95999672AED51FE"
@@ -568,23 +567,31 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"178.16.208.58:80 orport=443 id=A4C98CEA3F34E05299417E9F885A642C88EF6029"
+"193.234.15.58:80 orport=443 id=A4C98CEA3F34E05299417E9F885A642C88EF6029"
" ipv6=[2a00:1c20:4089:1234:cdae:1b3e:cc38:3d45]:443"
/* nickname=jaures2 */
/* extrainfo=0 */
/* ===== */
,
-"163.172.149.122:80 orport=443 id=A9406A006D6E7B5DA30F2C6D4E42A338B5E340B2"
-/* nickname=niij03 */
+"128.31.0.13:80 orport=443 id=A53C46F5B157DD83366D45A8E99A244934A14C46"
+/* nickname=csailmitexit */
+/* extrainfo=0 */
+/* ===== */
+,
+"94.142.242.84:80 orport=443 id=AA0D167E03E298F9A8CD50F448B81FBD7FA80D56"
+" ipv6=[2a02:898:24:84::1]:443"
+/* nickname=rejozenger */
/* extrainfo=0 */
/* ===== */
,
"195.154.164.243:80 orport=443 id=AC66FFA4AB35A59EBBF5BF4C70008BF24D8A7A5C"
+" ipv6=[2001:bc8:399f:f000::1]:993"
/* nickname=torpidsFRonline3 */
/* extrainfo=0 */
/* ===== */
,
"86.59.119.88:80 orport=443 id=ACD889D86E02EDDAB1AFD81F598C0936238DC6D0"
+" ipv6=[2001:858:2:30:86:59:119:88]:443"
/* nickname=ph3x */
/* extrainfo=0 */
/* ===== */
@@ -601,10 +608,15 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"176.126.252.11:443 orport=9001 id=B0279A521375F3CB2AE210BDBFC645FDD2E1973A"
-" ipv6=[2a02:59e0:0:7::11]:9003"
-/* nickname=chulak */
-/* extrainfo=1 */
+"31.185.104.20:80 orport=443 id=ADB2C26629643DBB9F8FE0096E7D16F9414B4F8D"
+/* nickname=Digitalcourage3ip2 */
+/* extrainfo=0 */
+/* ===== */
+,
+"45.79.108.130:9030 orport=9001 id=AEDAC7081AE14B8D241ECF0FF17A2858AB4383D0"
+" ipv6=[2600:3c01:e000:131::8000:0]:9001"
+/* nickname=linss */
+/* extrainfo=0 */
/* ===== */
,
"5.9.147.226:9030 orport=9001 id=B0553175AADB0501E5A61FC61CEA3970BE130FF2"
@@ -614,15 +626,11 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* ===== */
,
"178.17.174.14:9030 orport=9001 id=B06F093A3D4DFAD3E923F4F28A74901BD4F74EB1"
+" ipv6=[2a00:1dc0:caff:8b::5b9a]:9001"
/* nickname=TorExitMoldova */
/* extrainfo=0 */
/* ===== */
,
-"199.249.223.40:80 orport=443 id=B0CD9F9B5B60651ADC5919C0F1EAA87DBA1D9249"
-/* nickname=Quintex31 */
-/* extrainfo=0 */
-/* ===== */
-,
"212.129.62.232:80 orport=443 id=B143D439B72D239A419F8DCE07B8A8EB1B486FA7"
/* nickname=wardsback */
/* extrainfo=0 */
@@ -633,8 +641,9 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"212.47.233.86:9030 orport=9001 id=B4CAFD9CBFB34EC5DAAC146920DC7DFAFE91EA20"
-/* nickname=netimanmu */
+"193.234.15.60:80 orport=443 id=B44FBE5366AD98B46D829754FA4AC599BAE41A6A"
+" ipv6=[2a00:1c20:4089:1234:67bc:79f3:61c0:6e49]:443"
+/* nickname=jaures3 */
/* extrainfo=0 */
/* ===== */
,
@@ -649,39 +658,51 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
+"185.220.101.32:10032 orport=20032 id=B771AA877687F88E6F1CA5354756DF6C8A7B6B24"
+/* nickname=niftypika */
+/* extrainfo=0 */
+/* ===== */
+,
"193.11.114.46:9032 orport=9003 id=B83DC1558F0D34353BB992EF93AFEAFDB226A73E"
/* nickname=mdfnet3 */
/* extrainfo=0 */
/* ===== */
,
+"85.248.227.164:444 orport=9002 id=B84F248233FEA90CAD439F292556A3139F6E1B82"
+" ipv6=[2a00:1298:8011:212::164]:9004"
+/* nickname=tollana */
+/* extrainfo=0 */
+/* ===== */
+,
"81.7.11.186:1080 orport=443 id=B86137AE9681701901C6720E55C16805B46BD8E3"
/* nickname=BeastieJoy60 */
-/* extrainfo=0 */
+/* extrainfo=1 */
/* ===== */
,
-"197.231.221.211:9030 orport=443 id=BC630CBBB518BE7E9F4E09712AB0269E9DC7D626"
-/* nickname=IPredator */
+"213.141.138.174:9030 orport=9001 id=BD552C165E2ED2887D3F1CCE9CFF155DDA2D86E6"
+/* nickname=Schakalium */
/* extrainfo=0 */
/* ===== */
,
-"198.96.155.3:8080 orport=5001 id=BCEDF6C193AA687AE471B8A22EBF6BC57C2D285E"
-/* nickname=gurgle */
+"148.251.190.229:9030 orport=9010 id=BF0FB582E37F738CD33C3651125F2772705BB8E8"
+" ipv6=[2a01:4f8:211:c68::2]:9010"
+/* nickname=quadhead */
/* extrainfo=0 */
/* ===== */
,
-"128.199.55.207:9030 orport=9001 id=BCEF908195805E03E92CCFE669C48738E556B9C5"
-" ipv6=[2a03:b0c0:2:d0::158:3001]:9001"
-/* nickname=EldritchReaper */
+"104.192.5.248:9030 orport=443 id=BF735F669481EE1CCC348F0731551C933D1E2278"
+/* nickname=Freeway1a1 */
/* extrainfo=0 */
/* ===== */
,
-"213.141.138.174:9030 orport=9001 id=BD552C165E2ED2887D3F1CCE9CFF155DDA2D86E6"
-/* nickname=Schakalium */
+"192.160.102.169:80 orport=9001 id=C0192FF43E777250084175F4E59AC1BA2290CE38"
+" ipv6=[2620:132:300c:c01d::9]:9002"
+/* nickname=manipogo */
/* extrainfo=0 */
/* ===== */
,
-"104.192.5.248:9030 orport=9001 id=BF735F669481EE1CCC348F0731551C933D1E2278"
-/* nickname=Freeway11 */
+"185.220.101.6:10006 orport=20006 id=C08DE49658E5B3CFC6F2A952B453C4B608C9A16A"
+/* nickname=niftyvolcanorabbit */
/* extrainfo=0 */
/* ===== */
,
@@ -701,18 +722,31 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"199.249.223.66:80 orport=443 id=C5A53BCC174EF8FD0DCB223E4AA929FA557DEDB2"
-/* nickname=Quintex17 */
+"193.234.15.55:80 orport=443 id=C4AEA05CF380BAD2230F193E083B8869B4A29937"
+" ipv6=[2a00:1c20:4089:1234:7b2c:11c5:5221:903e]:443"
+/* nickname=bakunin4 */
/* extrainfo=0 */
/* ===== */
,
-"85.25.213.211:465 orport=80 id=CE47F0356D86CF0A1A2008D97623216D560FB0A8"
-/* nickname=BeastieJoy61 */
+"85.248.227.163:443 orport=9001 id=C793AB88565DDD3C9E4C6F15CCB9D8C7EF964CE9"
+" ipv6=[2a00:1298:8011:212::163]:9003"
+/* nickname=ori */
+/* extrainfo=0 */
+/* ===== */
+,
+"192.160.102.165:80 orport=9001 id=C90CA3B7FE01A146B8268D56977DC4A2C024B9EA"
+" ipv6=[2620:132:300c:c01d::5]:9002"
+/* nickname=cowcat */
/* extrainfo=0 */
/* ===== */
,
-"51.15.13.245:9030 orport=9001 id=CED527EAC230E7B56E5B363F839671829C3BA01B"
-/* nickname=0x3d006 */
+"176.31.103.150:9030 orport=9001 id=CBD0D1BD110EC52963082D839AC6A89D0AE243E7"
+/* nickname=UV74S7mjxRcYVrGsAMw */
+/* extrainfo=0 */
+/* ===== */
+,
+"85.25.213.211:465 orport=80 id=CE47F0356D86CF0A1A2008D97623216D560FB0A8"
+/* nickname=BeastieJoy61 */
/* extrainfo=0 */
/* ===== */
,
@@ -721,19 +755,24 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"31.171.155.108:9030 orport=9001 id=D3E5EDDBE5159388704D6785BE51930AAFACEC6F"
-/* nickname=TorNodeAlbania */
+"5.45.111.149:80 orport=443 id=D405FCCF06ADEDF898DF2F29C9348DCB623031BA"
+" ipv6=[2a03:4000:6:2388:df98:15f9:b34d:443]:443"
+/* nickname=gGDHjdcC6zAlM8k08lY */
/* extrainfo=0 */
/* ===== */
,
-"37.221.162.226:9030 orport=9001 id=D64366987CB39F61AD21DBCF8142FA0577B92811"
-/* nickname=kasperskytor01 */
+"37.187.115.157:9030 orport=9001 id=D5039E1EBFD96D9A3F9846BF99EC9F75EDDE902A"
+/* nickname=Janky328891 */
/* extrainfo=0 */
/* ===== */
,
-"46.101.169.151:9030 orport=9001 id=D760C5B436E42F93D77EF2D969157EEA14F9B39C"
-" ipv6=[2a03:b0c0:3:d0::74f:a001]:9001"
-/* nickname=DanWin1210 */
+"217.182.51.248:80 orport=443 id=D6BA940D3255AB40DC5EE5B0B285FA143E1F9865"
+/* nickname=Cosworth02 */
+/* extrainfo=0 */
+/* ===== */
+,
+"185.34.33.2:9265 orport=31415 id=D71B1CA1C9DC7E8CA64158E106AD770A21160FEE"
+/* nickname=lqdn */
/* extrainfo=0 */
/* ===== */
,
@@ -748,6 +787,11 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
+"54.36.237.163:80 orport=443 id=DB2682153AC0CCAECD2BD1E9EBE99C6815807A1E"
+/* nickname=GermanCraft2 */
+/* extrainfo=0 */
+/* ===== */
+,
"178.33.183.251:80 orport=443 id=DD823AFB415380A802DCAEB9461AE637604107FB"
" ipv6=[2001:41d0:2:a683::251]:443"
/* nickname=grenouille */
@@ -760,34 +804,36 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
-"92.222.38.67:80 orport=443 id=DED6892FF89DBD737BA689698A171B2392EB3E82"
-/* nickname=ThorExit */
+"83.212.99.68:80 orport=443 id=DDBB2A38252ADDA53E4492DDF982CA6CC6E10EC0"
+" ipv6=[2001:648:2ffc:1225:a800:bff:fe3d:67b5]:443"
+/* nickname=zouzounella */
/* extrainfo=0 */
/* ===== */
,
-"166.70.207.2:9030 orport=9001 id=E3DB2E354B883B59E8DC56B3E7A353DDFD457812"
-/* nickname=xmission */
+"92.222.38.67:80 orport=443 id=DED6892FF89DBD737BA689698A171B2392EB3E82"
+" ipv6=[2001:41d0:52:100::112a]:443"
+/* nickname=ThorExit */
/* extrainfo=0 */
/* ===== */
,
-"199.249.223.43:80 orport=443 id=E480D577F58E782A5BC4FA6F49A6650E9389302F"
-/* nickname=Quintex34 */
+"185.100.86.182:9030 orport=8080 id=E51620B90DCB310138ED89EDEDD0A5C361AAE24E"
+/* nickname=NormalCitizen */
/* extrainfo=0 */
/* ===== */
,
-"46.252.26.2:45212 orport=49991 id=E589316576A399C511A9781A73DA4545640B479D"
-/* nickname=marlen */
+"212.47.244.38:8080 orport=443 id=E81EF60A73B3809F8964F73766B01BAA0A171E20"
+/* nickname=Chimborazo */
/* extrainfo=0 */
/* ===== */
,
-"176.31.180.157:143 orport=22 id=E781F4EC69671B3F1864AE2753E0890351506329"
-" ipv6=[2001:41d0:8:eb9d::1]:22"
-/* nickname=armbrust */
+"51.254.147.57:80 orport=443 id=EB80A8D52F07238B576C42CEAB98ADD084EE075E"
+/* nickname=Cosworth01 */
/* extrainfo=0 */
/* ===== */
,
-"212.47.244.38:8080 orport=443 id=E81EF60A73B3809F8964F73766B01BAA0A171E20"
-/* nickname=Chimborazo */
+"192.87.28.28:9030 orport=9001 id=ED2338CAC2711B3E331392E1ED2831219B794024"
+" ipv6=[2001:678:230:3028:192:87:28:28]:9001"
+/* nickname=SEC6xFreeBSD64 */
/* extrainfo=0 */
/* ===== */
,
@@ -796,31 +842,60 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l
/* extrainfo=0 */
/* ===== */
,
+"193.70.112.165:80 orport=443 id=F10BDE279AE71515DDCCCC61DC19AC8765F8A3CC"
+/* nickname=ParkBenchInd001 */
+/* extrainfo=0 */
+/* ===== */
+,
+"129.13.131.140:80 orport=443 id=F2DFE5FA1E4CF54F8E761A6D304B9B4EC69BDAE8"
+" ipv6=[2a00:1398:5:f604:cafe:cafe:cafe:9001]:443"
+/* nickname=AlleKochenKaffee */
+/* extrainfo=0 */
+/* ===== */
+,
"37.187.102.108:80 orport=443 id=F4263275CF54A6836EE7BD527B1328836A6F06E1"
" ipv6=[2001:41d0:a:266c::1]:443"
/* nickname=EvilMoe */
/* extrainfo=0 */
/* ===== */
,
-"46.28.109.231:9030 orport=9001 id=F70B7C5CD72D74C7F9F2DC84FA9D20D51BA13610"
-" ipv6=[2a02:2b88:2:1::4205:1]:9001"
-/* nickname=wedostor */
+"192.160.102.168:80 orport=9001 id=F6A358DD367B3282D6EF5824C9D45E1A19C7E815"
+" ipv6=[2620:132:300c:c01d::8]:9002"
+/* nickname=prawksi */
+/* extrainfo=0 */
+/* ===== */
+,
+"163.172.154.162:9030 orport=9001 id=F741E5124CB12700DA946B78C9B2DD175D6CD2A1"
+" ipv6=[2001:bc8:4400:2100::17:419]:9001"
+/* nickname=rofltor06 */
/* extrainfo=0 */
/* ===== */
,
+"78.47.18.110:443 orport=80 id=F8D27B163B9247B232A2EEE68DD8B698695C28DE"
+" ipv6=[2a01:4f8:120:4023::110]:80"
+/* nickname=fluxe3 */
+/* extrainfo=1 */
+/* ===== */
+,
+"178.254.19.101:80 orport=443 id=F9246DEF2B653807236DA134F2AEAB103D58ABFE"
+/* nickname=Freebird31 */
+/* extrainfo=1 */
+/* ===== */
+,
"185.96.180.29:80 orport=443 id=F93D8F37E35C390BCAD9F9069E13085B745EC216"
/* nickname=TykRelay06 */
/* extrainfo=0 */
/* ===== */
,
"86.59.119.83:80 orport=443 id=FC9AC8EA0160D88BCCFDE066940D7DD9FA45495B"
+" ipv6=[2001:858:2:30:86:59:119:83]:443"
/* nickname=ph3x */
/* extrainfo=0 */
/* ===== */
,
"149.56.45.200:9030 orport=9001 id=FE296180018833AF03A8EACD5894A614623D3F76"
" ipv6=[2607:5300:201:3000::17d3]:9002"
-/* nickname=PiotrTorpotkinOne */
+/* nickname=PyotrTorpotkinOne */
/* extrainfo=0 */
/* ===== */
,
diff --git a/src/app/config/or_options_st.h b/src/app/config/or_options_st.h
index 3524b99b53..c2bc1079a5 100644
--- a/src/app/config/or_options_st.h
+++ b/src/app/config/or_options_st.h
@@ -666,6 +666,9 @@ struct or_options_t {
* accessing this value directly. */
int ClientPreferIPv6DirPort;
+ /** If true, prefer an IPv4 or IPv6 OR port at random. */
+ int ClientAutoIPv6ORPort;
+
/** The length of time that we think a consensus should be fresh. */
int V3AuthVotingInterval;
/** The length of time we think it will take to distribute votes. */
@@ -1072,6 +1075,20 @@ struct or_options_t {
/** Autobool: Do we refuse single hop client rendezvous? */
int DoSRefuseSingleHopClientRendezvous;
+
+ /** Interval: how long without activity does it take for a client
+ * to become dormant?
+ **/
+ int DormantClientTimeout;
+
+ /** Boolean: true if having an idle stream is sufficient to prevent a client
+ * from becoming dormant.
+ **/
+ int DormantTimeoutDisabledByIdleStreams;
+
+ /** Boolean: true if Tor should be dormant the first time it starts with
+ * a datadirectory; false otherwise. */
+ int DormantOnFirstStartup;
};
#endif
diff --git a/src/app/config/or_state_st.h b/src/app/config/or_state_st.h
index d95df6236b..00968d3731 100644
--- a/src/app/config/or_state_st.h
+++ b/src/app/config/or_state_st.h
@@ -87,6 +87,13 @@ struct or_state_t {
/** When did we last rotate our onion key? "0" for 'no idea'. */
time_t LastRotatedOnionKey;
+
+ /** Number of minutes since the last user-initiated request (as defined by
+ * the dormant net-status system.) Set to zero if we are dormant. */
+ int MinutesSinceUserActivity;
+ /** True if we were dormant when we last wrote the file; false if we
+ * weren't. "auto" on initial startup. */
+ int Dormant;
};
#endif
diff --git a/src/app/config/statefile.c b/src/app/config/statefile.c
index 8a8b7ced01..97b96f1149 100644
--- a/src/app/config/statefile.c
+++ b/src/app/config/statefile.c
@@ -34,6 +34,7 @@
#include "app/config/config.h"
#include "app/config/confparse.h"
#include "core/mainloop/mainloop.h"
+#include "core/mainloop/netstatus.h"
#include "core/mainloop/connection.h"
#include "feature/control/control.h"
#include "feature/client/entrynodes.h"
@@ -45,6 +46,7 @@
#include "app/config/statefile.h"
#include "lib/encoding/confline.h"
#include "lib/net/resolve.h"
+#include "lib/version/torversion.h"
#include "app/config/or_state_st.h"
@@ -131,6 +133,9 @@ static config_var_t state_vars_[] = {
VAR("CircuitBuildTimeBin", LINELIST_S, BuildtimeHistogram, NULL),
VAR("BuildtimeHistogram", LINELIST_V, BuildtimeHistogram, NULL),
+ V(MinutesSinceUserActivity, UINT, NULL),
+ V(Dormant, AUTOBOOL, "auto"),
+
END_OF_CONFIG_VARS
};
@@ -308,6 +313,8 @@ or_state_set(or_state_t *new_state)
get_circuit_build_times_mutable(),global_state) < 0) {
ret = -1;
}
+ netstatus_load_from_state(global_state, time(NULL));
+
return ret;
}
@@ -499,6 +506,8 @@ or_state_save(time_t now)
entry_guards_update_state(global_state);
rep_hist_update_state(global_state);
circuit_build_times_update_state(get_circuit_build_times(), global_state);
+ netstatus_flush_to_state(global_state, now);
+
if (accounting_is_enabled(get_options()))
accounting_run_housekeeping(now);
diff --git a/src/app/main/main.c b/src/app/main/main.c
index ae87add67d..aa322046fe 100644
--- a/src/app/main/main.c
+++ b/src/app/main/main.c
@@ -15,6 +15,7 @@
#include "app/config/statefile.h"
#include "app/main/main.h"
#include "app/main/ntmain.h"
+#include "app/main/subsysmgr.h"
#include "core/mainloop/connection.h"
#include "core/mainloop/cpuworker.h"
#include "core/mainloop/mainloop.h"
@@ -33,6 +34,7 @@
#include "core/or/relay.h"
#include "core/or/scheduler.h"
#include "core/or/status.h"
+#include "core/or/versions.h"
#include "feature/api/tor_api.h"
#include "feature/api/tor_api_internal.h"
#include "feature/client/addressmap.h"
@@ -65,13 +67,14 @@
#include "feature/stats/predict_ports.h"
#include "feature/stats/rephist.h"
#include "lib/compress/compress.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "lib/crypt_ops/crypto_rand.h"
#include "lib/crypt_ops/crypto_s2k.h"
-#include "lib/err/backtrace.h"
#include "lib/geoip/geoip.h"
+#include "lib/net/resolve.h"
#include "lib/process/waitpid.h"
+#include "lib/process/process.h"
#include "lib/meminfo/meminfo.h"
#include "lib/osinfo/uname.h"
@@ -83,6 +86,7 @@
#include "lib/encoding/confline.h"
#include "lib/evloop/timers.h"
#include "lib/crypt_ops/crypto_init.h"
+#include "lib/version/torversion.h"
#include <event2/event.h>
@@ -301,6 +305,19 @@ process_signal(int sig)
log_heartbeat(time(NULL));
control_event_signal(sig);
break;
+ case SIGACTIVE:
+ /* "SIGACTIVE" counts as ersatz user activity. */
+ note_user_activity(approx_time());
+ control_event_signal(sig);
+ break;
+ case SIGDORMANT:
+ /* "SIGDORMANT" means to ignore past user activity */
+ log_notice(LD_GENERAL, "Going dormant because of controller request.");
+ reset_user_activity(0);
+ set_network_participation(false);
+ schedule_rescan_periodic_events();
+ control_event_signal(sig);
+ break;
}
}
@@ -426,18 +443,6 @@ dumpstats(int severity)
rend_service_dump_stats(severity);
}
-/** Called by exit() as we shut down the process.
- */
-static void
-exit_function(void)
-{
- /* NOTE: If we ever daemonize, this gets called immediately. That's
- * okay for now, because we only use this on Windows. */
-#ifdef _WIN32
- WSACleanup();
-#endif
-}
-
#ifdef _WIN32
#define UNIX_ONLY 0
#else
@@ -482,6 +487,8 @@ static struct {
{ SIGNEWNYM, 0, NULL },
{ SIGCLEARDNSCACHE, 0, NULL },
{ SIGHEARTBEAT, 0, NULL },
+ { SIGACTIVE, 0, NULL },
+ { SIGDORMANT, 0, NULL },
{ -1, -1, NULL }
};
@@ -546,18 +553,16 @@ tor_init(int argc, char *argv[])
tor_snprintf(progname, sizeof(progname), "Tor %s", get_version());
log_set_application_name(progname);
- /* Set up the crypto nice and early */
- if (crypto_early_init() < 0) {
- log_err(LD_GENERAL, "Unable to initialize the crypto subsystem!");
- return -1;
- }
-
/* Initialize the history structures. */
rep_hist_init();
/* Initialize the service cache. */
rend_cache_init();
addressmap_init(); /* Init the client dns cache. Do it always, since it's
* cheap. */
+
+ /* Initialize Process subsystem. */
+ process_init();
+
/* Initialize the HS subsystem. */
hs_init();
@@ -631,12 +636,6 @@ tor_init(int argc, char *argv[])
rust_log_welcome_string();
#endif /* defined(HAVE_RUST) */
- if (network_init()<0) {
- log_err(LD_BUG,"Error initializing network; exiting.");
- return -1;
- }
- atexit(exit_function);
-
int init_rv = options_init_from_torrc(argc,argv);
if (init_rv < 0) {
log_err(LD_CONFIG,"Reading config failed--see warnings above.");
@@ -783,7 +782,6 @@ tor_free_all(int postfork)
routerparse_free_all();
ext_orport_free_all();
control_free_all();
- tor_free_getaddrinfo_cache();
protover_free_all();
bridges_free_all();
consdiffmgr_free_all();
@@ -791,6 +789,8 @@ tor_free_all(int postfork)
dos_free_all();
circuitmux_ewma_free_all();
accounting_free_all();
+ protover_summary_cache_free_all();
+ process_free_all();
if (!postfork) {
config_free_all();
@@ -800,7 +800,6 @@ tor_free_all(int postfork)
policies_free_all();
}
if (!postfork) {
- tor_tls_free_all();
#ifndef _WIN32
tor_getpwnam(NULL);
#endif
@@ -813,12 +812,12 @@ tor_free_all(int postfork)
release_lockfile();
}
tor_libevent_free_all();
+
+ subsystems_shutdown();
+
/* Stuff in util.c and address.c*/
if (!postfork) {
- escaped(NULL);
esc_router_info(NULL);
- clean_up_backtrace_handler();
- logs_free_all(); /* free log strings. do this last so logs keep working. */
}
}
@@ -877,7 +876,6 @@ tor_cleanup(void)
later, if it makes shutdown unacceptably slow. But for
now, leave it here: it's helped us catch bugs in the
past. */
- crypto_global_cleanup();
}
/** Read/create keys as needed, and echo our fingerprint to stdout. */
@@ -1269,11 +1267,10 @@ sandbox_init_filter(void)
return cfg;
}
-static int
+int
run_tor_main_loop(void)
{
handle_signals();
- monotime_init();
timers_initialize();
initialize_mainloop_events();
@@ -1385,54 +1382,13 @@ tor_run_main(const tor_main_configuration_t *tor_cfg)
{
int result = 0;
-#ifdef _WIN32
-#ifndef HeapEnableTerminationOnCorruption
-#define HeapEnableTerminationOnCorruption 1
-#endif
- /* On heap corruption, just give up; don't try to play along. */
- HeapSetInformation(NULL, HeapEnableTerminationOnCorruption, NULL, 0);
-
- /* SetProcessDEPPolicy is only supported on 32-bit Windows.
- * (On 64-bit Windows it always fails, and some compilers don't like the
- * PSETDEP cast.)
- * 32-bit Windows defines _WIN32.
- * 64-bit Windows defines _WIN32 and _WIN64. */
-#ifndef _WIN64
- /* Call SetProcessDEPPolicy to permanently enable DEP.
- The function will not resolve on earlier versions of Windows,
- and failure is not dangerous. */
- HMODULE hMod = GetModuleHandleA("Kernel32.dll");
- if (hMod) {
- typedef BOOL (WINAPI *PSETDEP)(DWORD);
- PSETDEP setdeppolicy = (PSETDEP)GetProcAddress(hMod,
- "SetProcessDEPPolicy");
- if (setdeppolicy) {
- /* PROCESS_DEP_ENABLE | PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION */
- setdeppolicy(3);
- }
- }
-#endif /* !defined(_WIN64) */
-#endif /* defined(_WIN32) */
-
- {
- int bt_err = configure_backtrace_handler(get_version());
- if (bt_err < 0) {
- log_warn(LD_BUG, "Unable to install backtrace handler: %s",
- strerror(-bt_err));
- }
- }
-
#ifdef EVENT_SET_MEM_FUNCTIONS_IMPLEMENTED
event_set_mem_functions(tor_malloc_, tor_realloc_, tor_free_);
#endif
- init_protocol_warning_severity_level();
+ subsystems_init();
- update_approx_time(time(NULL));
- tor_threads_init();
- tor_compress_init();
- init_logging(0);
- monotime_init();
+ init_protocol_warning_severity_level();
int argc = tor_cfg->argc + tor_cfg->argc_owned;
char **argv = tor_calloc(argc, sizeof(char*));
@@ -1468,6 +1424,7 @@ tor_run_main(const tor_main_configuration_t *tor_cfg)
tor_free_all(0);
return -1;
}
+ tor_make_getaddrinfo_cache_active();
// registering libevent rng
#ifdef HAVE_EVUTIL_SECURE_RNG_SET_URANDOM_DEVICE_FILE
diff --git a/src/app/main/main.h b/src/app/main/main.h
index b64f2ef417..23a436703e 100644
--- a/src/app/main/main.h
+++ b/src/app/main/main.h
@@ -26,4 +26,6 @@ void tor_free_all(int postfork);
int tor_init(int argc, char **argv);
+int run_tor_main_loop(void);
+
#endif /* !defined(TOR_MAIN_H) */
diff --git a/src/app/main/ntmain.c b/src/app/main/ntmain.c
index 800720a0b4..8d2135a587 100644
--- a/src/app/main/ntmain.c
+++ b/src/app/main/ntmain.c
@@ -298,7 +298,7 @@ nt_service_body(int argc, char **argv)
service_status.dwCurrentState = SERVICE_RUNNING;
service_fns.SetServiceStatus_fn(hStatus, &service_status);
set_main_thread();
- do_main_loop();
+ run_tor_main_loop();
tor_cleanup();
}
@@ -326,7 +326,7 @@ nt_service_main(void)
return;
switch (get_options()->command) {
case CMD_RUN_TOR:
- do_main_loop();
+ run_tor_main_loop();
break;
case CMD_LIST_FINGERPRINT:
case CMD_HASH_PASSWORD:
diff --git a/src/app/main/subsysmgr.c b/src/app/main/subsysmgr.c
new file mode 100644
index 0000000000..abd2edd10b
--- /dev/null
+++ b/src/app/main/subsysmgr.c
@@ -0,0 +1,202 @@
+/* Copyright (c) 2003-2004, Roger Dingledine
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#include "orconfig.h"
+#include "app/main/subsysmgr.h"
+#include "lib/err/torerr.h"
+
+#include "lib/log/log.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+/**
+ * True iff we have checked tor_subsystems for consistency.
+ **/
+static bool subsystem_array_validated = false;
+
+/**
+ * True if a given subsystem is initialized. Expand this array if there
+ * are more than this number of subsystems. (We'd rather not
+ * dynamically allocate in this module.)
+ **/
+static bool sys_initialized[128];
+
+/**
+ * Exit with a raw assertion if the subsystems list is inconsistent;
+ * initialize the subsystem_initialized array.
+ **/
+static void
+check_and_setup(void)
+{
+ if (subsystem_array_validated)
+ return;
+
+ raw_assert(ARRAY_LENGTH(sys_initialized) >= n_tor_subsystems);
+ memset(sys_initialized, 0, sizeof(sys_initialized));
+
+ int last_level = MIN_SUBSYS_LEVEL;
+
+ for (unsigned i = 0; i < n_tor_subsystems; ++i) {
+ const subsys_fns_t *sys = tor_subsystems[i];
+ if (sys->level < MIN_SUBSYS_LEVEL || sys->level > MAX_SUBSYS_LEVEL) {
+ fprintf(stderr, "BUG: Subsystem %s (at %u) has an invalid level %d. "
+ "It is supposed to be between %d and %d (inclusive).\n",
+ sys->name, i, sys->level, MIN_SUBSYS_LEVEL, MAX_SUBSYS_LEVEL);
+ raw_assert_unreached_msg("There is a bug in subsystem_list.c");
+ }
+ if (sys->level < last_level) {
+ fprintf(stderr, "BUG: Subsystem %s (at #%u) is in the wrong position. "
+ "Its level is %d; but the previous subsystem's level was %d.\n",
+ sys->name, i, sys->level, last_level);
+ raw_assert_unreached_msg("There is a bug in subsystem_list.c");
+ }
+ last_level = sys->level;
+ }
+
+ subsystem_array_validated = true;
+}
+
+/**
+ * Initialize all the subsystems; exit on failure.
+ **/
+int
+subsystems_init(void)
+{
+ return subsystems_init_upto(MAX_SUBSYS_LEVEL);
+}
+
+/**
+ * Initialize all the subsystems whose level is less than or equal to
+ * <b>target_level</b>; exit on failure.
+ **/
+int
+subsystems_init_upto(int target_level)
+{
+ check_and_setup();
+
+ for (unsigned i = 0; i < n_tor_subsystems; ++i) {
+ const subsys_fns_t *sys = tor_subsystems[i];
+ if (!sys->supported)
+ continue;
+ if (sys->level > target_level)
+ break;
+ if (sys_initialized[i])
+ continue;
+ int r = 0;
+ if (sys->initialize) {
+ // Note that the logging subsystem is designed so that it does no harm
+ // to log a message in an uninitialized state. These messages will be
+ // discarded for now, however.
+ log_debug(LD_GENERAL, "Initializing %s", sys->name);
+ r = sys->initialize();
+ }
+ if (r < 0) {
+ fprintf(stderr, "BUG: subsystem %s (at %u) initialization failed.\n",
+ sys->name, i);
+ raw_assert_unreached_msg("A subsystem couldn't be initialized.");
+ }
+ sys_initialized[i] = true;
+ }
+
+ return 0;
+}
+
+/**
+ * Shut down all the subsystems.
+ **/
+void
+subsystems_shutdown(void)
+{
+ subsystems_shutdown_downto(MIN_SUBSYS_LEVEL - 1);
+}
+
+/**
+ * Shut down all the subsystems whose level is above <b>target_level</b>.
+ **/
+void
+subsystems_shutdown_downto(int target_level)
+{
+ check_and_setup();
+
+ for (int i = (int)n_tor_subsystems - 1; i >= 0; --i) {
+ const subsys_fns_t *sys = tor_subsystems[i];
+ if (!sys->supported)
+ continue;
+ if (sys->level <= target_level)
+ break;
+ if (! sys_initialized[i])
+ continue;
+ if (sys->shutdown) {
+ log_debug(LD_GENERAL, "Shutting down %s", sys->name);
+ sys->shutdown();
+ }
+ sys_initialized[i] = false;
+ }
+}
+
+/**
+ * Run pre-fork code on all subsystems that declare any
+ **/
+void
+subsystems_prefork(void)
+{
+ check_and_setup();
+
+ for (int i = (int)n_tor_subsystems - 1; i >= 0; --i) {
+ const subsys_fns_t *sys = tor_subsystems[i];
+ if (!sys->supported)
+ continue;
+ if (! sys_initialized[i])
+ continue;
+ if (sys->prefork) {
+ log_debug(LD_GENERAL, "Pre-fork: %s", sys->name);
+ sys->prefork();
+ }
+ }
+}
+
+/**
+ * Run post-fork code on all subsystems that declare any
+ **/
+void
+subsystems_postfork(void)
+{
+ check_and_setup();
+
+ for (unsigned i = 0; i < n_tor_subsystems; ++i) {
+ const subsys_fns_t *sys = tor_subsystems[i];
+ if (!sys->supported)
+ continue;
+ if (! sys_initialized[i])
+ continue;
+ if (sys->postfork) {
+ log_debug(LD_GENERAL, "Post-fork: %s", sys->name);
+ sys->postfork();
+ }
+ }
+}
+
+/**
+ * Run thread-cleanup code on all subsystems that declare any
+ **/
+void
+subsystems_thread_cleanup(void)
+{
+ check_and_setup();
+
+ for (int i = (int)n_tor_subsystems - 1; i >= 0; --i) {
+ const subsys_fns_t *sys = tor_subsystems[i];
+ if (!sys->supported)
+ continue;
+ if (! sys_initialized[i])
+ continue;
+ if (sys->thread_cleanup) {
+ log_debug(LD_GENERAL, "Thread cleanup: %s", sys->name);
+ sys->thread_cleanup();
+ }
+ }
+}
diff --git a/src/app/main/subsysmgr.h b/src/app/main/subsysmgr.h
new file mode 100644
index 0000000000..4b3cad62ad
--- /dev/null
+++ b/src/app/main/subsysmgr.h
@@ -0,0 +1,24 @@
+/* Copyright (c) 2003-2004, Roger Dingledine
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#ifndef TOR_SUBSYSMGR_T
+#define TOR_SUBSYSMGR_T
+
+#include "lib/subsys/subsys.h"
+
+extern const struct subsys_fns_t *tor_subsystems[];
+extern const unsigned n_tor_subsystems;
+
+int subsystems_init(void);
+int subsystems_init_upto(int level);
+
+void subsystems_shutdown(void);
+void subsystems_shutdown_downto(int level);
+
+void subsystems_prefork(void);
+void subsystems_postfork(void);
+void subsystems_thread_cleanup(void);
+
+#endif
diff --git a/src/app/main/subsystem_list.c b/src/app/main/subsystem_list.c
new file mode 100644
index 0000000000..8640329e92
--- /dev/null
+++ b/src/app/main/subsystem_list.c
@@ -0,0 +1,40 @@
+/* Copyright (c) 2003-2004, Roger Dingledine
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#include "orconfig.h"
+#include "app/main/subsysmgr.h"
+#include "lib/cc/compat_compiler.h"
+#include "lib/cc/torint.h"
+
+#include "lib/compress/compress_sys.h"
+#include "lib/crypt_ops/crypto_sys.h"
+#include "lib/err/torerr_sys.h"
+#include "lib/log/log_sys.h"
+#include "lib/net/network_sys.h"
+#include "lib/process/winprocess_sys.h"
+#include "lib/thread/thread_sys.h"
+#include "lib/time/time_sys.h"
+#include "lib/tls/tortls_sys.h"
+#include "lib/wallclock/wallclock_sys.h"
+
+#include <stddef.h>
+
+/**
+ * Global list of the subsystems in Tor, in the order of their initialization.
+ **/
+const subsys_fns_t *tor_subsystems[] = {
+ &sys_winprocess, /* -100 */
+ &sys_torerr, /* -100 */
+ &sys_wallclock, /* -99 */
+ &sys_threads, /* -95 */
+ &sys_logging, /* -90 */
+ &sys_time, /* -90 */
+ &sys_network, /* -90 */
+ &sys_compress, /* -70 */
+ &sys_crypto, /* -60 */
+ &sys_tortls, /* -50 */
+};
+
+const unsigned n_tor_subsystems = ARRAY_LENGTH(tor_subsystems);
diff --git a/src/config/geoip b/src/config/geoip
index f96ec3f483..3be1ffc7b8 100644
--- a/src/config/geoip
+++ b/src/config/geoip
@@ -1,4 +1,4 @@
-# Last updated based on October 9 2018 Maxmind GeoLite2 Country
+# Last updated based on December 5 2018 Maxmind GeoLite2 Country
# wget https://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.mmdb.gz
# gunzip GeoLite2-Country.mmdb.gz
# python mmdb-convert.py GeoLite2-Country.mmdb
@@ -67,7 +67,9 @@
19726336,19791871,CN
19791872,19807232,TH
19807233,19807233,CN
-19807234,19922943,TH
+19807234,19836287,TH
+19836288,19836351,TW
+19836352,19922943,TH
19922944,20185087,CN
20185088,20447231,VN
20447232,20971519,CN
@@ -104,15 +106,14 @@
34651136,34651647,BR
34659328,34660351,GR
34673664,34674687,DE
-34699520,34699775,DE
34733056,34734079,DE
34754560,34758655,GR
-34788864,34789119,DE
34796032,34796543,NL
34803712,34807807,IT
34861056,34865151,DE
34866176,34867199,IT
34880512,34881535,DE
+34898944,34899199,HU
34910976,34911231,ES
34911232,34911743,DE
34911744,34911999,AT
@@ -120,8 +121,6 @@
34912256,34912511,DE
34912512,34912767,ES
34912768,34913279,DE
-34926592,34928639,FR
-34929664,34929919,IT
34930688,34938879,DE
34938880,34947071,FR
34953216,34954751,AT
@@ -135,9 +134,10 @@
34994176,34995711,FR
34995968,34996223,NL
34999296,35001343,GB
-35004416,35011583,DE
+35008512,35009023,FR
+35010304,35010559,BE
+35010560,35011583,FR
35011584,35011839,SE
-35011840,35012607,DE
35020800,35037183,GB
35037184,35054335,FR
35054336,35054591,GB
@@ -152,15 +152,13 @@
36700160,36962303,AE
36962304,37224447,IL
37486592,37748735,RU
-37748736,37775871,SE
-37775872,37776127,DK
-37776128,38004735,SE
+37748736,38004735,SE
38004736,38005247,DK
38005248,38066175,SE
38066176,38066687,DK
-38066688,38101503,SE
-38101504,38101759,DK
-38101760,38128895,SE
+38066688,38107135,SE
+38107136,38107647,DK
+38107648,38128895,SE
38128896,38129151,DK
38129152,38273023,SE
38273024,38797311,KZ
@@ -195,25 +193,29 @@
50855936,51118079,GB
51118080,52953087,US
52953088,53215231,IE
-53215232,57671679,US
+53215232,57147391,US
+57147392,57409535,AU
+57409536,57671679,US
57671680,57933823,JP
57933824,58195967,US
58195968,58458111,DE
-58458112,68169727,US
+58458112,68089631,US
+68089632,68089663,CA
+68089664,68169727,US
68169728,68171775,CA
-68171776,68200447,US
-68200448,68200575,CA
-68200576,68305407,US
+68171776,68204031,US
+68204032,68204036,CU
+68204037,68204037,US
+68204038,68204159,CU
+68204160,68305407,US
68305408,68305919,MX
68305920,68978687,US
68978688,68980735,CA
-68980736,69426175,US
-69426176,69426687,CA
-69426688,71670208,US
+68980736,71670208,US
71670209,71670209,NL
-71670210,72234031,US
-72234032,72234047,CA
-72234048,83886079,US
+71670210,72233983,US
+72233984,72234239,CA
+72234240,83886079,US
83886080,83951615,SY
83951616,83959807,UA
83959808,83961855,ES
@@ -248,8 +250,12 @@
84041728,84049919,GB
84049920,84082687,RO
84082688,84148223,RU
-84148224,84410367,DE
-84410368,84416511,RU
+84148224,84200959,DE
+84200960,84201471,US
+84201472,84410367,DE
+84410368,84414975,RU
+84414976,84415231,MD
+84415232,84416511,RU
84416512,84417535,US
84417536,84418559,RU
84418560,84418815,UA
@@ -269,7 +275,8 @@
84422656,84426495,RU
84426496,84426751,US
84426752,84427775,RU
-84427776,84428799,LU
+84427776,84428287,LU
+84428288,84428799,JP
84428800,84432895,RU
84432896,84433919,NL
84433920,84434943,RU
@@ -287,7 +294,9 @@
84498682,84498682,NL
84498683,84517997,DE
84517998,84517998,NL
-84517999,84545535,DE
+84517999,84540315,DE
+84540316,84540319,NL
+84540320,84545535,DE
84545536,84549631,GB
84549632,84551679,GE
84551680,84557823,DE
@@ -298,7 +307,8 @@
84578168,84578175,SE
84578176,84582399,GB
84582400,84590591,DE
-84590592,84591103,NL
+84590592,84590847,NL
+84590848,84591103,US
84591104,84591359,SG
84591360,84591615,US
84591616,84591871,SG
@@ -311,7 +321,11 @@
84600832,84602879,GB
84602880,84606975,AZ
84606976,84609023,AT
-84609024,84615167,GB
+84609024,84611071,GB
+84611072,84613119,IQ
+84613120,84614215,GB
+84614216,84614223,US
+84614224,84615167,GB
84615168,84617215,IT
84617216,84619263,PS
84619264,84621311,DE
@@ -368,7 +382,7 @@
85721088,85723135,HU
85723136,85725183,IT
85725184,85729279,RU
-85729280,85731327,AU
+85729280,85731327,KH
85731328,85733375,DE
85733376,85737471,GB
85737472,85753855,DE
@@ -414,15 +428,14 @@
86409216,86441983,HU
86441984,86442239,FR
86442240,86442243,GB
-86442244,86442291,FR
+86442244,86442287,FR
+86442288,86442291,PL
86442292,86442295,GB
86442296,86442495,FR
86442496,86442499,ES
86442500,86442507,FR
86442508,86442511,ES
-86442512,86442575,FR
-86442576,86442583,GB
-86442584,86442687,FR
+86442512,86442687,FR
86442688,86442691,ES
86442692,86442695,FR
86442696,86442700,ES
@@ -432,8 +445,8 @@
86442712,86442715,DE
86442716,86442719,FR
86442720,86442723,PT
-86442724,86442724,PL
-86442725,86442739,FR
+86442724,86442727,PL
+86442728,86442739,FR
86442740,86442743,ES
86442744,86442747,IE
86442748,86443007,GB
@@ -469,17 +482,27 @@
86444656,86444663,ES
86444664,86444687,FR
86444688,86444691,ES
-86444692,86444783,FR
+86444692,86444719,FR
+86444720,86444735,PL
+86444736,86444783,FR
86444784,86444791,GB
-86444792,86444839,FR
+86444792,86444799,FR
+86444800,86444815,PL
+86444816,86444839,FR
86444840,86444843,ES
86444844,86444983,FR
86444984,86444991,ES
-86444992,86445311,FR
+86444992,86445247,FR
+86445248,86445251,PL
+86445252,86445255,FR
+86445256,86445263,PL
+86445264,86445311,FR
86445312,86445319,NL
86445320,86445375,FR
86445376,86445407,ES
-86445408,86445527,FR
+86445408,86445455,FR
+86445456,86445471,PL
+86445472,86445527,FR
86445528,86445531,CZ
86445532,86445551,FR
86445552,86445555,ES
@@ -509,21 +532,24 @@
86446768,86446771,GB
86446772,86446815,FR
86446816,86446831,DE
-86446832,86446931,FR
+86446832,86446927,FR
+86446928,86446931,PL
86446932,86446935,CZ
-86446936,86447071,FR
+86446936,86446975,FR
+86446976,86446979,PL
+86446980,86447071,FR
86447072,86447087,DE
86447088,86447095,FR
86447096,86447103,ES
-86447104,86447279,FR
+86447104,86447255,FR
+86447256,86447263,PL
+86447264,86447279,FR
86447280,86447280,DE
86447281,86447287,FR
86447288,86447291,DE
86447292,86447351,FR
86447352,86447355,GB
-86447356,86447871,FR
-86447872,86447875,DE
-86447876,86448559,FR
+86447356,86448559,FR
86448560,86448575,GB
86448576,86448655,FR
86448656,86448671,DE
@@ -550,13 +576,17 @@
86449380,86449383,FI
86449384,86449387,FR
86449388,86449391,FI
-86449392,86449499,FR
+86449392,86449399,FR
+86449400,86449403,PL
+86449404,86449499,FR
86449500,86449503,ES
86449504,86449675,FR
86449676,86449679,PT
-86449680,86449759,FR
+86449680,86449727,FR
+86449728,86449759,PL
86449760,86449791,IE
-86449792,86449883,FR
+86449792,86449823,PL
+86449824,86449883,FR
86449884,86449884,DE
86449885,86449983,FR
86449984,86450015,LT
@@ -575,7 +605,9 @@
86450876,86450879,GB
86450880,86451455,FR
86451456,86451459,CZ
-86451460,86451531,FR
+86451460,86451471,FR
+86451472,86451475,PL
+86451476,86451531,FR
86451532,86451535,FI
86451536,86451551,DE
86451552,86451695,FR
@@ -600,11 +632,8 @@
86453204,86453231,FR
86453232,86453247,ES
86453248,86453311,FR
-86453312,86453319,ES
-86453320,86453327,FR
-86453328,86453339,ES
-86453340,86453343,PT
-86453344,86453423,FR
+86453312,86453315,ES
+86453316,86453423,FR
86453424,86453431,DE
86453432,86453435,FR
86453436,86453439,ES
@@ -616,7 +645,9 @@
86453844,86453847,GB
86453848,86453947,FR
86453948,86453951,IE
-86453952,86454207,FR
+86453952,86454111,FR
+86454112,86454119,PL
+86454120,86454207,FR
86454208,86454271,ES
86454272,86454279,FR
86454280,86454287,ES
@@ -641,7 +672,8 @@
86454848,86454855,DE
86454856,86454879,FR
86454880,86454887,DE
-86454888,86454899,FR
+86454888,86454895,FR
+86454896,86454899,PL
86454900,86454903,GB
86454904,86455591,FR
86455592,86455595,NL
@@ -659,7 +691,10 @@
86456352,86456367,CH
86456368,86456371,FR
86456372,86456375,ES
-86456376,86456655,FR
+86456376,86456383,FR
+86456384,86456415,PL
+86456416,86456639,FR
+86456640,86456655,PL
86456656,86456671,IE
86456672,86456943,FR
86456944,86456947,GR
@@ -671,7 +706,9 @@
86457088,86457091,DE
86457092,86457111,FR
86457112,86457112,DE
-86457113,86457187,FR
+86457113,86457119,FR
+86457120,86457123,PL
+86457124,86457187,FR
86457188,86457199,ES
86457200,86457263,FR
86457264,86457279,ES
@@ -679,10 +716,14 @@
86457400,86457407,ES
86457408,86457455,FR
86457456,86457456,DE
-86457457,86457503,FR
+86457457,86457463,FR
+86457464,86457471,PL
+86457472,86457503,FR
86457504,86457519,ES
86457520,86457535,DE
-86457536,86457703,FR
+86457536,86457687,FR
+86457688,86457695,PL
+86457696,86457703,FR
86457704,86457707,ES
86457708,86457759,FR
86457760,86457791,PL
@@ -696,19 +737,27 @@
86458304,86458335,DE
86458336,86466639,FR
86466640,86466647,ES
-86466648,86466943,FR
+86466648,86466719,FR
+86466720,86466735,PL
+86466736,86466943,FR
86466944,86466959,DE
86466960,86467207,FR
86467208,86467211,IE
-86467212,86467279,FR
+86467212,86467263,FR
+86467264,86467279,PL
86467280,86467283,DE
86467284,86467320,FR
86467321,86467321,FI
-86467322,86467871,FR
+86467322,86467523,FR
+86467524,86467527,LT
+86467528,86467871,FR
86467872,86467903,BE
86467904,86467999,FR
86468000,86468003,PL
-86468004,86468055,FR
+86468004,86468035,FR
+86468036,86468039,PL
+86468040,86468051,FR
+86468052,86468055,PL
86468056,86468056,DE
86468057,86468083,FR
86468084,86468087,DE
@@ -751,7 +800,7 @@
86471084,86471087,DE
86471088,86471123,FR
86471124,86471127,GB
-86471128,86471135,FR
+86471128,86471135,PL
86471136,86471167,FI
86471168,86471179,FR
86471180,86471180,DE
@@ -773,7 +822,11 @@
86472968,86472971,DE
86472972,86473087,FR
86473088,86473151,PT
-86473152,86473807,FR
+86473152,86473431,FR
+86473432,86473435,PL
+86473436,86473731,FR
+86473732,86473735,PL
+86473736,86473807,FR
86473808,86473823,GB
86473824,86473839,FR
86473840,86473855,PT
@@ -796,23 +849,20 @@
86489088,86491135,NL
86491136,86493183,PL
86493184,86494207,CZ
-86494208,86494463,AM
-86494464,86495231,RU
+86494208,86495231,AM
86495232,86497279,ES
86497280,86499327,NL
86499328,86503423,FR
86503424,86505471,DE
86505472,86507519,GB
-86507520,86540351,ES
-86540352,86540799,CH
-86540800,86573055,ES
+86507520,86573055,ES
86573056,86638591,SA
86638592,86671359,RU
86671360,86673407,JE
86673408,86675455,DE
86675456,86677503,IT
-86677504,86679551,FR
-86679552,86687743,NL
+86677504,86685695,FR
+86685696,86687743,NL
86687744,86695935,IQ
86695936,86704127,SA
86704128,86720511,PT
@@ -825,9 +875,7 @@
86765568,86767615,RU
86767616,86769663,IT
86769664,86773759,RU
-86773760,86775807,GB
-86775808,86776063,IM
-86776064,86777855,GB
+86773760,86777855,GB
86777856,86779903,AZ
86779904,86781183,RU
86781184,86781439,NL
@@ -926,10 +974,18 @@
87640064,87642111,RS
87642112,87646207,GB
87646208,87646463,FR
-87646464,87649791,RE
-87649792,87650047,FR
-87650048,87652863,RE
-87652864,87654143,FR
+87646464,87649023,RE
+87649024,87649279,FR
+87649280,87649535,RE
+87649536,87650303,FR
+87650304,87651839,RE
+87651840,87652223,FR
+87652224,87652863,RE
+87652864,87653119,FR
+87653120,87653375,RE
+87653376,87653631,FR
+87653632,87653887,RE
+87653888,87654143,FR
87654144,87654399,RE
87654400,87670783,PL
87670784,87672831,DE
@@ -947,8 +1003,7 @@
87755264,87755519,SK
87755520,87755775,KG
87755776,87756799,RU
-87756800,87757311,SE
-87757312,87758847,ES
+87756800,87758847,ES
87758848,87761407,RU
87761408,87761663,CZ
87761664,87761919,RU
@@ -967,17 +1022,17 @@
87780352,87783423,ES
87783424,87793663,RU
87793664,87795711,BA
-87795712,87801855,CZ
+87795712,87797759,ES
+87797760,87801855,CZ
87801856,87818239,RU
87818240,87883775,PL
87883776,87885823,IT
87885824,87889919,RU
87889920,87890687,IR
87890688,87890943,US
-87890944,87891199,NL
-87891200,87891967,IR
+87890944,87891967,IR
87891968,87902207,DE
-87902208,87904255,IR
+87902208,87904255,GB
87904256,87906303,DE
87906304,87908351,FI
87908352,87912447,BG
@@ -1023,374 +1078,213 @@
87961585,87961587,CA
87961588,87961588,US
87961589,87961591,CA
-87961592,87963652,US
-87963653,87963655,AS
-87963656,87963656,US
-87963657,87963659,AI
-87963660,87963660,US
-87963661,87963663,AG
-87963664,87963664,US
-87963665,87963667,AR
-87963668,87963668,US
-87963669,87963671,AW
-87963672,87963672,US
-87963673,87963675,BS
-87963676,87963676,US
-87963677,87963679,BB
-87963680,87963680,US
-87963681,87963683,BZ
-87963684,87963684,US
-87963685,87963687,BM
-87963688,87963688,US
-87963689,87963691,BO
-87963692,87963692,US
-87963693,87963695,VG
-87963696,87963696,US
-87963697,87963699,KY
-87963700,87963700,US
-87963701,87963703,CL
-87963704,87963708,US
-87963709,87963711,CO
-87963712,87963712,US
-87963713,87963715,CK
-87963716,87963716,US
-87963717,87963719,CR
-87963720,87963720,US
-87963721,87963723,CU
-87963724,87963724,US
-87963725,87963727,DM
-87963728,87963728,US
-87963729,87963731,DO
-87963732,87963732,US
-87963733,87963735,EC
-87963736,87963736,US
-87963737,87963739,SV
-87963740,87963740,US
-87963741,87963743,FK
-87963744,87963744,US
-87963745,87963747,FJ
-87963748,87963748,US
-87963749,87963751,GD
-87963752,87963752,US
-87963753,87963755,GP
-87963756,87963756,US
-87963757,87963759,GU
-87963760,87963760,US
-87963761,87963763,GT
-87963764,87963764,US
-87963765,87963767,GY
-87963768,87963768,US
-87963769,87963771,HT
-87963772,87963772,US
-87963773,87963775,HN
-87963776,87963776,US
-87963777,87963779,JM
-87963780,87963780,US
-87963781,87963783,KI
-87963784,87963784,US
-87963785,87963787,MS
-87963788,87963788,US
-87963789,87963791,NR
-87963792,87963792,US
-87963793,87963795,NC
-87963796,87963796,US
-87963797,87963799,NI
-87963800,87963800,US
-87963801,87963803,NU
-87963804,87963804,US
-87963805,87963807,NF
+87961592,87962623,US
+87962624,87963135,CZ
+87963136,87963651,US
+87963652,87963655,AS
+87963656,87963659,AI
+87963660,87963663,AG
+87963664,87963667,AR
+87963668,87963671,AW
+87963672,87963675,BS
+87963676,87963679,BB
+87963680,87963683,BZ
+87963684,87963687,BM
+87963688,87963691,BO
+87963692,87963695,VG
+87963696,87963699,KY
+87963700,87963703,CL
+87963704,87963707,CN
+87963708,87963711,CO
+87963712,87963715,CK
+87963716,87963719,CR
+87963720,87963723,CU
+87963724,87963727,DM
+87963728,87963731,DO
+87963732,87963735,EC
+87963736,87963739,SV
+87963740,87963743,FK
+87963744,87963747,FJ
+87963748,87963751,GD
+87963752,87963755,GP
+87963756,87963759,GU
+87963760,87963763,GT
+87963764,87963767,GY
+87963768,87963771,HT
+87963772,87963775,HN
+87963776,87963779,JM
+87963780,87963783,KI
+87963784,87963787,MS
+87963788,87963791,NR
+87963792,87963795,NC
+87963796,87963799,NI
+87963800,87963803,NU
+87963804,87963807,NF
87963808,87963808,US
87963809,87963811,KP
-87963812,87963812,US
-87963813,87963815,PW
-87963816,87963816,US
-87963817,87963819,PA
-87963820,87963820,US
-87963821,87963823,PG
-87963824,87963824,US
-87963825,87963827,PY
-87963828,87963828,US
-87963829,87963831,PE
-87963832,87963832,US
-87963833,87963835,PH
-87963836,87963836,US
-87963837,87963839,PN
-87963840,87963840,US
-87963841,87963843,PR
-87963844,87963844,US
-87963845,87963847,KN
-87963848,87963848,US
-87963849,87963851,LC
-87963852,87963852,US
-87963853,87963855,VC
-87963856,87963856,US
-87963857,87963859,WS
-87963860,87963860,US
-87963861,87963863,SB
-87963864,87963864,US
-87963865,87963867,SR
-87963868,87963868,US
-87963869,87963871,SZ
-87963872,87963880,US
-87963881,87963883,TT
-87963884,87963884,US
-87963885,87963887,TC
-87963888,87963888,US
-87963889,87963891,TV
-87963892,87963892,US
-87963893,87963895,UY
-87963896,87963912,US
-87963913,87963915,DE
-87963916,87963956,US
-87963957,87963959,CA
-87963960,87963960,US
-87963961,87963963,GB
-87963964,87964000,US
-87964001,87964003,VU
-87964004,87964004,US
-87964005,87964007,VE
-87964008,87964164,US
-87964165,87964167,AS
-87964168,87964168,US
-87964169,87964171,AI
-87964172,87964172,US
-87964173,87964175,AG
-87964176,87964176,US
-87964177,87964179,AR
-87964180,87964180,US
-87964181,87964183,AW
-87964184,87964184,US
-87964185,87964187,BS
-87964188,87964188,US
-87964189,87964191,BB
-87964192,87964192,US
-87964193,87964195,BZ
-87964196,87964196,US
-87964197,87964199,BM
-87964200,87964200,US
-87964201,87964203,BO
-87964204,87964204,US
-87964205,87964207,VG
-87964208,87964208,US
-87964209,87964211,KY
-87964212,87964212,US
-87964213,87964215,CL
-87964216,87964216,US
-87964217,87964219,CO
-87964220,87964220,US
-87964221,87964223,CK
-87964224,87964224,US
-87964225,87964227,CR
-87964228,87964228,US
-87964229,87964231,CU
-87964232,87964232,US
-87964233,87964235,DM
-87964236,87964236,US
-87964237,87964239,DO
-87964240,87964240,US
-87964241,87964243,EC
-87964244,87964244,US
-87964245,87964247,SV
-87964248,87964248,US
-87964249,87964251,FK
-87964252,87964252,US
-87964253,87964255,FJ
-87964256,87964256,US
-87964257,87964259,GD
-87964260,87964260,US
-87964261,87964263,GP
-87964264,87964264,US
-87964265,87964267,GT
-87964268,87964268,US
-87964269,87964271,GY
-87964272,87964272,US
-87964273,87964275,HT
-87964276,87964276,US
-87964277,87964279,HN
-87964280,87964280,US
-87964281,87964283,JM
-87964284,87964284,US
-87964285,87964287,KI
-87964288,87964288,US
-87964289,87964291,MS
-87964292,87964292,US
-87964293,87964295,NR
-87964296,87964296,US
-87964297,87964299,NC
-87964300,87964300,US
-87964301,87964303,NI
-87964304,87964304,US
-87964305,87964307,NU
-87964308,87964308,US
-87964309,87964311,NF
-87964312,87964312,US
-87964313,87964315,PA
-87964316,87964316,US
-87964317,87964319,PY
-87964320,87964320,US
-87964321,87964323,PE
-87964324,87964324,US
-87964325,87964327,PN
-87964328,87964328,US
-87964329,87964331,PR
-87964332,87964332,US
-87964333,87964335,KN
-87964336,87964336,US
-87964337,87964339,LC
-87964340,87964340,US
-87964341,87964343,PM
-87964344,87964344,US
-87964345,87964347,VC
-87964348,87964348,US
-87964349,87964351,WS
-87964352,87964352,US
-87964353,87964355,SB
-87964356,87964356,US
-87964357,87964359,SR
-87964360,87964360,US
-87964361,87964363,SZ
-87964364,87964372,US
-87964373,87964375,TT
-87964376,87964376,US
-87964377,87964379,TC
-87964380,87964380,US
-87964381,87964383,TV
-87964384,87964384,US
-87964385,87964387,UY
-87964388,87964404,US
-87964405,87964407,DE
+87963812,87963815,PW
+87963816,87963819,PA
+87963820,87963823,PG
+87963824,87963827,PY
+87963828,87963831,PE
+87963832,87963835,PH
+87963836,87963839,PN
+87963840,87963843,PR
+87963844,87963847,KN
+87963848,87963851,LC
+87963852,87963855,VC
+87963856,87963859,WS
+87963860,87963863,SB
+87963864,87963867,SR
+87963868,87963871,SZ
+87963872,87963875,TK
+87963876,87963879,TO
+87963880,87963883,TT
+87963884,87963887,TC
+87963888,87963891,TV
+87963892,87963895,UY
+87963896,87963911,US
+87963912,87963915,DE
+87963916,87963955,US
+87963956,87963959,CA
+87963960,87963963,GB
+87963964,87963975,US
+87963976,87963976,PR
+87963977,87963999,US
+87964000,87964003,VU
+87964004,87964007,VE
+87964008,87964015,US
+87964016,87964019,IN
+87964020,87964163,US
+87964164,87964167,AS
+87964168,87964171,AI
+87964172,87964175,AG
+87964176,87964179,AR
+87964180,87964183,AW
+87964184,87964187,BS
+87964188,87964191,BB
+87964192,87964195,BZ
+87964196,87964199,BM
+87964200,87964203,BO
+87964204,87964207,VG
+87964208,87964211,KY
+87964212,87964215,CL
+87964216,87964219,CO
+87964220,87964223,CK
+87964224,87964227,CR
+87964228,87964231,CU
+87964232,87964235,DM
+87964236,87964239,DO
+87964240,87964243,EC
+87964244,87964247,SV
+87964248,87964251,FK
+87964252,87964255,FJ
+87964256,87964259,GD
+87964260,87964263,GP
+87964264,87964267,GT
+87964268,87964271,GY
+87964272,87964275,HT
+87964276,87964279,HN
+87964280,87964283,JM
+87964284,87964287,KI
+87964288,87964291,MS
+87964292,87964295,NR
+87964296,87964299,NC
+87964300,87964303,NI
+87964304,87964307,NU
+87964308,87964311,NF
+87964312,87964315,PA
+87964316,87964319,PY
+87964320,87964323,PE
+87964324,87964327,PN
+87964328,87964331,PR
+87964332,87964335,KN
+87964336,87964339,LC
+87964340,87964343,PM
+87964344,87964347,VC
+87964348,87964351,WS
+87964352,87964355,SB
+87964356,87964359,SR
+87964360,87964363,SZ
+87964364,87964367,TK
+87964368,87964371,TO
+87964372,87964375,TT
+87964376,87964379,TC
+87964380,87964383,TV
+87964384,87964387,UY
+87964388,87964403,US
+87964404,87964407,DE
87964408,87964447,US
87964448,87964451,CA
87964452,87964455,GB
87964456,87964491,US
87964492,87964495,VU
87964496,87964499,VE
-87964500,87964676,US
-87964677,87964679,AD
-87964680,87964680,US
-87964681,87964683,AO
-87964684,87964684,US
-87964685,87964687,AM
-87964688,87964688,US
-87964689,87964691,AZ
-87964692,87964692,US
-87964693,87964695,BH
-87964696,87964696,US
-87964697,87964699,BD
-87964700,87964700,US
-87964701,87964703,BY
-87964704,87964704,US
-87964705,87964707,BJ
-87964708,87964708,US
-87964709,87964711,BT
-87964712,87964712,US
-87964713,87964715,BA
-87964716,87964716,US
-87964717,87964719,BW
-87964720,87964720,US
-87964721,87964723,BN
-87964724,87964724,US
-87964725,87964727,BG
-87964728,87964728,US
-87964729,87964731,BF
-87964732,87964732,US
-87964733,87964735,BI
-87964736,87964736,US
-87964737,87964739,KH
-87964740,87964740,US
-87964741,87964743,CM
-87964744,87964744,US
-87964745,87964747,CV
-87964748,87964748,US
-87964749,87964751,CF
-87964752,87964752,US
-87964753,87964755,TD
-87964756,87964760,US
-87964761,87964763,CX
-87964764,87964764,US
-87964765,87964767,CC
-87964768,87964768,US
-87964769,87964771,KM
-87964772,87964772,US
-87964773,87964775,CD
-87964776,87964776,US
-87964777,87964779,CI
-87964780,87964780,US
-87964781,87964783,CY
-87964784,87964784,US
-87964785,87964787,EG
-87964788,87964788,US
-87964789,87964791,GQ
-87964792,87964792,US
-87964793,87964795,ER
-87964796,87964796,US
-87964797,87964799,EE
-87964800,87964800,US
-87964801,87964803,ET
-87964804,87964804,US
-87964805,87964807,FO
-87964808,87964808,US
-87964809,87964811,GA
-87964812,87964812,US
-87964813,87964815,GM
-87964816,87964816,US
-87964817,87964819,GE
-87964820,87964820,US
-87964821,87964823,GH
-87964824,87964824,US
-87964825,87964827,GI
-87964828,87964828,US
-87964829,87964831,GR
-87964832,87964832,US
-87964833,87964835,GL
-87964836,87964836,US
-87964837,87964839,GU
-87964840,87964840,US
-87964841,87964843,GW
-87964844,87964844,US
-87964845,87964847,GN
-87964848,87964848,US
-87964849,87964851,IR
-87964852,87964852,US
-87964853,87964855,IQ
-87964856,87964856,US
-87964857,87964857,IE
-87964858,87964858,US
-87964859,87964859,IE
-87964860,87964860,US
-87964861,87964863,JO
-87964864,87964864,US
-87964865,87964867,KZ
-87964868,87964868,US
-87964869,87964871,KE
-87964872,87964872,US
-87964873,87964874,KW
-87964875,87964876,US
-87964877,87964879,KG
-87964880,87964880,US
-87964881,87964883,LA
-87964884,87964884,US
-87964885,87964887,LV
-87964888,87964888,US
-87964889,87964891,LB
-87964892,87964892,US
-87964893,87964895,LS
-87964896,87964896,US
-87964897,87964899,LR
-87964900,87964900,US
-87964901,87964903,LY
-87964904,87964904,US
-87964905,87964907,LI
-87964908,87964908,US
-87964909,87964911,LT
-87964912,87964912,US
-87964913,87964915,MO
-87964916,87964916,US
-87964917,87964919,MK
-87964920,87964920,US
-87964921,87964923,MG
-87964924,87964924,US
-87964925,87964927,MW
+87964500,87964671,US
+87964672,87964675,CZ
+87964676,87964679,AD
+87964680,87964683,AO
+87964684,87964687,AM
+87964688,87964691,AZ
+87964692,87964695,BH
+87964696,87964699,BD
+87964700,87964703,BY
+87964704,87964707,BJ
+87964708,87964711,BT
+87964712,87964715,BA
+87964716,87964719,BW
+87964720,87964723,BN
+87964724,87964727,BG
+87964728,87964731,BF
+87964732,87964735,BI
+87964736,87964739,KH
+87964740,87964743,CM
+87964744,87964747,CV
+87964748,87964751,CF
+87964752,87964755,TD
+87964756,87964759,CN
+87964760,87964763,CX
+87964764,87964767,CC
+87964768,87964771,KM
+87964772,87964775,CD
+87964776,87964779,CI
+87964780,87964783,CY
+87964784,87964787,EG
+87964788,87964791,GQ
+87964792,87964795,ER
+87964796,87964799,EE
+87964800,87964803,ET
+87964804,87964807,FO
+87964808,87964811,GA
+87964812,87964815,GM
+87964816,87964819,GE
+87964820,87964823,GH
+87964824,87964827,GI
+87964828,87964831,GR
+87964832,87964835,GL
+87964836,87964839,GU
+87964840,87964843,GW
+87964844,87964847,GN
+87964848,87964851,IR
+87964852,87964855,IQ
+87964856,87964859,IE
+87964860,87964863,JO
+87964864,87964867,KZ
+87964868,87964871,KE
+87964872,87964875,KW
+87964876,87964879,KG
+87964880,87964883,LA
+87964884,87964887,LV
+87964888,87964891,LB
+87964892,87964895,LS
+87964896,87964899,LR
+87964900,87964903,LY
+87964904,87964907,LI
+87964908,87964911,LT
+87964912,87964915,MO
+87964916,87964919,MK
+87964920,87964923,MG
+87964924,87964927,MW
87964928,87964931,MV
87964932,87964935,ML
87964936,87964936,MN
@@ -1458,250 +1352,134 @@
87965172,87965175,DZ
87965176,87965179,AX
87965180,87965183,MN
-87965184,87965188,US
-87965189,87965191,AD
-87965192,87965192,US
-87965193,87965195,AO
-87965196,87965196,US
-87965197,87965199,AM
-87965200,87965200,US
-87965201,87965203,AZ
-87965204,87965204,US
-87965205,87965207,BH
-87965208,87965208,US
-87965209,87965211,BD
-87965212,87965212,US
-87965213,87965215,BY
-87965216,87965216,US
-87965217,87965219,BJ
-87965220,87965220,US
-87965221,87965223,BT
-87965224,87965224,US
-87965225,87965227,BA
-87965228,87965228,US
-87965229,87965231,BW
-87965232,87965232,US
-87965233,87965235,BN
-87965236,87965236,US
-87965237,87965239,BG
-87965240,87965240,US
-87965241,87965243,BF
-87965244,87965244,US
-87965245,87965247,BI
-87965248,87965248,US
-87965249,87965251,KH
-87965252,87965252,US
-87965253,87965255,CM
-87965256,87965256,US
-87965257,87965259,CV
-87965260,87965260,US
-87965261,87965263,CF
-87965264,87965264,US
-87965265,87965267,TD
-87965268,87965268,US
-87965269,87965271,CX
-87965272,87965272,US
-87965273,87965275,CC
-87965276,87965276,US
-87965277,87965279,KM
-87965280,87965280,US
-87965281,87965283,CD
-87965284,87965284,US
-87965285,87965287,CI
-87965288,87965288,US
-87965289,87965291,CY
-87965292,87965292,US
-87965293,87965295,EG
-87965296,87965296,US
-87965297,87965299,GQ
-87965300,87965300,US
-87965301,87965303,ER
-87965304,87965304,US
-87965305,87965307,EE
-87965308,87965308,US
-87965309,87965311,ET
-87965312,87965312,US
-87965313,87965315,FO
-87965316,87965316,US
-87965317,87965319,GA
-87965320,87965320,US
-87965321,87965323,GM
-87965324,87965324,US
-87965325,87965327,GE
-87965328,87965328,US
-87965329,87965331,GH
-87965332,87965332,US
-87965333,87965335,GI
-87965336,87965336,US
-87965337,87965339,GR
-87965340,87965340,US
-87965341,87965343,GL
-87965344,87965344,US
-87965345,87965347,GW
-87965348,87965348,US
-87965349,87965351,GN
-87965352,87965352,US
-87965353,87965355,IR
-87965356,87965356,US
-87965357,87965359,IQ
-87965360,87965360,US
-87965361,87965363,IE
-87965364,87965364,US
-87965365,87965367,JO
-87965368,87965368,US
-87965369,87965371,KZ
-87965372,87965372,US
-87965373,87965375,KE
-87965376,87965376,US
-87965377,87965379,KW
-87965380,87965380,US
-87965381,87965383,KG
-87965384,87965384,US
-87965385,87965387,LA
-87965388,87965389,US
-87965390,87965391,LV
-87965392,87965392,US
-87965393,87965395,LB
-87965396,87965396,US
-87965397,87965399,LS
-87965400,87965400,US
-87965401,87965403,LR
-87965404,87965404,US
-87965405,87965407,LY
-87965408,87965408,US
-87965409,87965411,LI
-87965412,87965412,US
-87965413,87965415,LT
-87965416,87965416,US
-87965417,87965419,MO
-87965420,87965420,US
-87965421,87965423,MK
-87965424,87965424,US
-87965425,87965427,MG
-87965428,87965428,US
-87965429,87965431,MW
-87965432,87965432,US
-87965433,87965435,MV
-87965436,87965436,US
-87965437,87965439,ML
-87965440,87965440,US
-87965441,87965443,MT
-87965444,87965444,US
-87965445,87965447,MR
-87965448,87965448,US
-87965449,87965451,MU
-87965452,87965452,US
-87965453,87965455,MD
-87965456,87965456,US
-87965457,87965459,MC
-87965460,87965460,US
-87965461,87965463,MN
-87965464,87965464,US
-87965465,87965467,ME
-87965468,87965468,US
-87965469,87965471,MA
-87965472,87965472,US
-87965473,87965475,MZ
-87965476,87965476,US
-87965477,87965479,MM
-87965480,87965480,US
-87965481,87965483,NA
-87965484,87965484,US
-87965485,87965487,NP
-87965488,87965488,US
-87965489,87965491,NE
-87965492,87965492,US
-87965493,87965495,NG
-87965496,87965496,US
-87965497,87965499,OM
-87965500,87965500,US
-87965501,87965503,PK
-87965504,87965504,US
-87965505,87965507,PS
-87965508,87965508,US
-87965509,87965511,QA
-87965512,87965512,US
-87965513,87965515,DJ
-87965516,87965516,US
-87965517,87965519,CG
-87965520,87965520,US
-87965521,87965523,RO
-87965524,87965524,US
-87965525,87965527,RW
-87965528,87965528,US
-87965529,87965531,SH
-87965532,87965532,US
-87965533,87965535,PM
+87965184,87965187,GB
+87965188,87965191,AD
+87965192,87965195,AO
+87965196,87965199,AM
+87965200,87965203,AZ
+87965204,87965207,BH
+87965208,87965211,BD
+87965212,87965215,BY
+87965216,87965219,BJ
+87965220,87965223,BT
+87965224,87965227,BA
+87965228,87965231,BW
+87965232,87965235,BN
+87965236,87965239,BG
+87965240,87965243,BF
+87965244,87965247,BI
+87965248,87965251,KH
+87965252,87965255,CM
+87965256,87965259,CV
+87965260,87965263,CF
+87965264,87965267,TD
+87965268,87965271,CX
+87965272,87965275,CC
+87965276,87965279,KM
+87965280,87965283,CD
+87965284,87965287,CI
+87965288,87965291,CY
+87965292,87965295,EG
+87965296,87965299,GQ
+87965300,87965303,ER
+87965304,87965307,EE
+87965308,87965311,ET
+87965312,87965315,FO
+87965316,87965319,GA
+87965320,87965323,GM
+87965324,87965327,GE
+87965328,87965331,GH
+87965332,87965335,GI
+87965336,87965339,GR
+87965340,87965343,GL
+87965344,87965347,GW
+87965348,87965351,GN
+87965352,87965355,IR
+87965356,87965359,IQ
+87965360,87965363,IE
+87965364,87965367,JO
+87965368,87965371,KZ
+87965372,87965375,KE
+87965376,87965379,KW
+87965380,87965383,KG
+87965384,87965387,LA
+87965388,87965391,LV
+87965392,87965395,LB
+87965396,87965399,LS
+87965400,87965403,LR
+87965404,87965407,LY
+87965408,87965411,LI
+87965412,87965415,LT
+87965416,87965419,MO
+87965420,87965423,MK
+87965424,87965427,MG
+87965428,87965431,MW
+87965432,87965435,MV
+87965436,87965439,ML
+87965440,87965443,MT
+87965444,87965447,MR
+87965448,87965451,MU
+87965452,87965455,MD
+87965456,87965459,MC
+87965460,87965463,MN
+87965464,87965467,ME
+87965468,87965471,MA
+87965472,87965475,MZ
+87965476,87965479,MM
+87965480,87965483,NA
+87965484,87965487,NP
+87965488,87965491,NE
+87965492,87965495,NG
+87965496,87965499,OM
+87965500,87965503,PK
+87965504,87965507,PS
+87965508,87965511,QA
+87965512,87965515,DJ
+87965516,87965519,CG
+87965520,87965523,RO
+87965524,87965527,RW
+87965528,87965531,SH
+87965532,87965535,PM
87965536,87965539,SM
-87965540,87965540,US
-87965541,87965543,ST
-87965544,87965544,US
-87965545,87965547,SA
-87965548,87965548,US
-87965549,87965551,SN
-87965552,87965552,US
-87965553,87965555,RS
-87965556,87965556,US
-87965557,87965559,SL
-87965560,87965560,US
-87965561,87965563,SK
-87965564,87965564,US
-87965565,87965567,SI
-87965568,87965568,US
-87965569,87965571,SO
-87965572,87965572,US
-87965573,87965575,LK
-87965576,87965576,US
-87965577,87965579,SD
-87965580,87965580,US
-87965581,87965583,SJ
-87965584,87965584,US
-87965585,87965587,SY
-87965588,87965588,US
-87965589,87965591,TJ
-87965592,87965592,US
-87965593,87965595,TZ
-87965596,87965596,US
-87965597,87965599,TH
-87965600,87965600,US
-87965601,87965603,TG
-87965604,87965604,US
-87965605,87965607,TN
-87965608,87965608,US
-87965609,87965611,TM
-87965612,87965612,US
-87965613,87965615,UG
-87965616,87965616,US
+87965540,87965543,ST
+87965544,87965547,SA
+87965548,87965551,SN
+87965552,87965555,RS
+87965556,87965559,SL
+87965560,87965563,SK
+87965564,87965567,SI
+87965568,87965571,SO
+87965572,87965575,LK
+87965576,87965579,SD
+87965580,87965583,SJ
+87965584,87965587,SY
+87965588,87965591,TJ
+87965592,87965595,TZ
+87965596,87965599,TH
+87965600,87965603,TG
+87965604,87965607,TN
+87965608,87965611,TM
+87965612,87965616,UG
87965617,87965619,PT
-87965620,87965624,US
-87965625,87965627,UA
-87965628,87965629,US
-87965630,87965630,AE
-87965631,87965632,US
-87965633,87965635,UZ
-87965636,87965636,US
-87965637,87965639,VA
-87965640,87965640,US
-87965641,87965643,VN
-87965644,87965644,US
-87965645,87965647,YE
-87965648,87965648,US
-87965649,87965651,ZM
-87965652,87965652,US
-87965653,87965655,ZW
-87965656,87965656,US
-87965657,87965659,PT
-87965660,87965664,US
-87965665,87965667,HR
-87965668,87965672,US
-87965673,87965675,AF
-87965676,87965676,US
-87965677,87965679,AL
-87965680,87965680,US
-87965681,87965683,DZ
-87965684,87965684,US
-87965685,87965687,AX
-87965688,87965695,US
+87965620,87965623,US
+87965624,87965627,UA
+87965628,87965631,AE
+87965632,87965635,UZ
+87965636,87965639,VA
+87965640,87965643,VN
+87965644,87965647,YE
+87965648,87965651,ZM
+87965652,87965655,ZW
+87965656,87965659,PT
+87965660,87965663,US
+87965664,87965667,HR
+87965668,87965671,IL
+87965672,87965675,AF
+87965676,87965679,AL
+87965680,87965683,DZ
+87965684,87965687,AX
+87965688,87965691,IN
+87965692,87965695,GB
87965696,87967743,DE
87967744,87969791,IT
87969792,87970815,IM
@@ -1772,7 +1550,9 @@
90456064,90472447,RU
90472448,90476543,DE
90476544,90478591,FR
-90478592,90480639,VG
+90478592,90479615,VG
+90479616,90480127,TR
+90480128,90480639,VG
90480640,90482687,YE
90482688,90484735,GB
90484736,90488831,NO
@@ -1820,9 +1600,9 @@
90580992,90583039,PL
90583040,90587135,CZ
90587136,90589183,PL
-90589184,90590207,FR
-90590208,90590719,GP
-90590720,90591231,MQ
+90589184,90590847,FR
+90590848,90590911,MQ
+90590912,90591231,FR
90591232,90595327,GB
90595328,90603519,PS
90603520,90605567,ES
@@ -1912,6 +1692,22 @@
92610560,92612607,CH
92612608,92614655,GB
92614656,92618751,IT
+92618752,92619775,LT
+92619776,92620799,FR
+92620800,92621823,GB
+92621824,92622847,RU
+92622848,92623871,DE
+92623872,92624895,NL
+92624896,92625919,GB
+92625920,92626943,BG
+92626944,92627967,IT
+92627968,92628991,TR
+92628992,92630015,FI
+92630016,92631039,RU
+92631040,92632063,FI
+92632064,92633599,DE
+92633600,92634111,RU
+92634112,92635135,TR
92635136,92643327,BA
92643328,92645375,GE
92645376,92651519,GB
@@ -2017,7 +1813,8 @@
92733932,92733935,ES
92733936,92734639,FR
92734640,92734655,ES
-92734656,92734735,FR
+92734656,92734731,FR
+92734732,92734735,PL
92734736,92734739,DE
92734740,92734831,FR
92734832,92734847,ES
@@ -2025,7 +1822,9 @@
92735104,92735119,GB
92735120,92735347,FR
92735348,92735351,GB
-92735352,92735615,FR
+92735352,92735575,FR
+92735576,92735579,PL
+92735580,92735615,FR
92735616,92735616,DE
92735617,92735619,FR
92735620,92735623,ES
@@ -2039,13 +1838,16 @@
92736480,92736480,DE
92736481,92736607,FR
92736608,92736639,PT
-92736640,92737151,FR
+92736640,92737023,FR
+92737024,92737151,PT
92737152,92737183,NL
92737184,92737199,FR
92737200,92737215,PL
92737216,92737279,FR
92737280,92737311,FI
-92737312,92737603,FR
+92737312,92737375,FR
+92737376,92737407,PL
+92737408,92737603,FR
92737604,92737607,DE
92737608,92737887,FR
92737888,92737903,IT
@@ -2055,7 +1857,8 @@
92738240,92738271,GB
92738272,92738659,FR
92738660,92738679,ES
-92738680,92738687,FR
+92738680,92738683,FR
+92738684,92738687,PL
92738688,92738719,CZ
92738720,92738783,FR
92738784,92738815,GB
@@ -2084,9 +1887,11 @@
92741332,92741335,ES
92741336,92741395,FR
92741396,92741399,DE
-92741400,92741455,FR
-92741456,92741471,DE
-92741472,92742419,FR
+92741400,92741427,FR
+92741428,92741431,PL
+92741432,92742151,FR
+92742152,92742159,PL
+92742160,92742419,FR
92742420,92742423,ES
92742424,92742607,FR
92742608,92742623,BE
@@ -2096,11 +1901,18 @@
92742816,92742819,ES
92742820,92742847,FR
92742848,92742911,DE
-92742912,92743343,FR
+92742912,92743307,FR
+92743308,92743311,PL
+92743312,92743327,FR
+92743328,92743335,PL
+92743336,92743343,FR
92743344,92743351,GB
-92743352,92743679,FR
+92743352,92743675,FR
+92743676,92743679,PL
92743680,92743935,ES
-92743936,92744103,FR
+92743936,92743999,FR
+92744000,92744015,PL
+92744016,92744103,FR
92744104,92744111,ES
92744112,92744123,FR
92744124,92744127,GB
@@ -2114,7 +1926,8 @@
92744552,92744555,ES
92744556,92744951,FR
92744952,92744959,ES
-92744960,92745207,FR
+92744960,92744975,PL
+92744976,92745207,FR
92745208,92745215,ES
92745216,92745395,FR
92745396,92745399,GB
@@ -2124,15 +1937,19 @@
92746416,92746431,ES
92746432,92746559,FR
92746560,92746623,IT
-92746624,92747043,FR
+92746624,92746831,FR
+92746832,92746835,PL
+92746836,92747043,FR
92747044,92747047,CH
92747048,92747231,FR
92747232,92747247,PL
92747248,92747255,FR
92747256,92747263,LT
-92747264,92747547,FR
-92747548,92747567,ES
-92747568,92747711,FR
+92747264,92747335,FR
+92747336,92747343,PL
+92747344,92747547,FR
+92747548,92747551,ES
+92747552,92747711,FR
92747712,92747775,GB
92747776,92748516,FR
92748517,92748517,BE
@@ -2140,7 +1957,8 @@
92748544,92748799,PT
92748800,92748843,FR
92748844,92748847,GB
-92748848,92748863,FR
+92748848,92748859,FR
+92748860,92748863,PL
92748864,92748879,ES
92748880,92748975,FR
92748976,92748983,DE
@@ -2196,20 +2014,30 @@
92755136,92755199,PT
92755200,92755439,FR
92755440,92755455,GB
-92755456,92755743,FR
+92755456,92755679,FR
+92755680,92755711,PL
+92755712,92755743,FR
92755744,92755775,FI
92755776,92755839,GB
-92755840,92757151,FR
+92755840,92756175,FR
+92756176,92756191,PL
+92756192,92756567,FR
+92756568,92756571,PL
+92756572,92757151,FR
92757152,92757155,DE
92757156,92757311,FR
92757312,92757375,ES
92757376,92758067,FR
92758068,92758071,DE
-92758072,92758367,FR
-92758368,92758383,ES
-92758384,92758915,FR
+92758072,92758223,FR
+92758224,92758239,PL
+92758240,92758915,FR
92758916,92758919,GB
-92758920,92759263,FR
+92758920,92758935,FR
+92758936,92758939,PL
+92758940,92759251,FR
+92759252,92759255,PL
+92759256,92759263,FR
92759264,92759279,ES
92759280,92759287,FR
92759288,92759295,ES
@@ -2226,15 +2054,16 @@
92761216,92761343,DE
92761344,92761375,FR
92761376,92761391,FI
-92761392,92761471,FR
+92761392,92761467,FR
+92761468,92761471,PL
92761472,92761503,IE
92761504,92762079,FR
92762080,92762111,DE
92762112,92762127,FR
92762128,92762135,ES
-92762136,92762219,FR
-92762220,92762223,DE
-92762224,92762279,FR
+92762136,92762215,FR
+92762216,92762219,PL
+92762220,92762279,FR
92762280,92762283,GB
92762284,92762383,FR
92762384,92762391,ES
@@ -2243,15 +2072,21 @@
92762752,92762783,BE
92762784,92762863,FR
92762864,92762879,IT
-92762880,92763103,FR
+92762880,92763023,FR
+92763024,92763039,PL
+92763040,92763103,FR
92763104,92763119,CZ
92763120,92763127,FR
92763128,92763135,ES
-92763136,92763391,FR
+92763136,92763223,FR
+92763224,92763227,PL
+92763228,92763391,FR
92763392,92763519,IE
92763520,92764223,FR
92764224,92764287,ES
-92764288,92764687,FR
+92764288,92764591,FR
+92764592,92764595,PL
+92764596,92764687,FR
92764688,92764703,ES
92764704,92764735,FR
92764736,92764799,DE
@@ -2260,7 +2095,9 @@
92764880,92765423,FR
92765424,92765427,GB
92765428,92765431,DE
-92765432,92766015,FR
+92765432,92765731,FR
+92765732,92765735,PL
+92765736,92766015,FR
92766016,92766047,ES
92766048,92776671,FR
92776672,92776703,PL
@@ -2317,7 +2154,9 @@
92785024,92785039,ES
92785040,92785183,FR
92785184,92785199,ES
-92785200,92785363,FR
+92785200,92785247,FR
+92785248,92785251,ES
+92785252,92785363,FR
92785364,92785367,PT
92785368,92785407,FR
92785408,92785439,ES
@@ -2349,7 +2188,9 @@
92787200,92787203,FI
92787204,92787251,FR
92787252,92787255,ES
-92787256,92787567,FR
+92787256,92787327,FR
+92787328,92787331,PL
+92787332,92787567,FR
92787568,92787583,IT
92787584,92787703,FR
92787704,92787707,GB
@@ -2395,8 +2236,7 @@
92793328,92793331,PL
92793332,92794227,FR
92794228,92794231,PT
-92794232,92794239,ES
-92794240,92794335,FR
+92794232,92794335,FR
92794336,92794367,NL
92794368,92794691,FR
92794692,92794695,ES
@@ -2408,9 +2248,12 @@
92795632,92795639,CZ
92795640,92795647,FR
92795648,92795775,DE
-92795776,92796499,FR
+92795776,92796159,FR
+92796160,92796415,FI
+92796416,92796499,FR
92796500,92796503,PL
-92796504,92796575,FR
+92796504,92796543,FR
+92796544,92796575,PL
92796576,92796579,GB
92796580,92796687,FR
92796688,92796691,DE
@@ -2431,7 +2274,9 @@
92798192,92798207,DE
92798208,92798211,FR
92798212,92798215,PL
-92798216,92798255,FR
+92798216,92798239,FR
+92798240,92798247,PL
+92798248,92798255,FR
92798256,92798271,LT
92798272,92798591,FR
92798592,92798623,PT
@@ -2455,16 +2300,18 @@
93417472,93419519,IR
93419520,93421567,IT
93421568,93425663,DE
-93425664,93426175,US
-93426176,93426183,SE
-93426184,93427711,US
+93425664,93427711,US
93427712,93429759,NO
93429760,93431807,RU
93431808,93433855,ES
93433856,93437951,DE
93437952,93454335,RU
-93454336,93585407,DE
-93585408,93626367,GB
+93454336,93582687,DE
+93582688,93582719,US
+93582720,93585407,DE
+93585408,93610591,GB
+93610592,93610607,US
+93610608,93626367,GB
93626368,93634559,CH
93634560,93650943,HU
93650944,93652991,CH
@@ -2474,7 +2321,7 @@
93675520,93679615,IQ
93679616,93681663,LU
93681664,93683711,UA
-93683712,93685759,AT
+93683712,93685759,SA
93685760,93687807,BE
93687808,93691903,RU
93691904,93693951,PL
@@ -2612,7 +2459,10 @@
94365696,94367743,HU
94367744,94369791,ES
94369792,94371839,TR
-94371840,94502911,IR
+94371840,94437375,IR
+94437376,94466047,AE
+94466048,94468095,IR
+94468096,94502911,AE
94502912,94568447,OM
94568448,94633983,SA
94633984,94896127,RU
@@ -2765,7 +2615,9 @@
95649792,95666175,IT
95666176,95668223,FR
95668224,95682559,DE
-95944704,96075775,PL
+95944704,95953151,PL
+95953152,95953407,GB
+95953408,96075775,PL
96075776,96141311,DK
96141312,96143359,DE
96143360,96145407,GE
@@ -2788,8 +2640,8 @@
96224256,96224767,RU
96224768,96225279,JP
96225280,96228863,RU
-96228864,96229119,IE
-96229120,96230399,RU
+96228864,96229375,IE
+96229376,96230399,RU
96230400,96231423,LU
96231424,96234495,RU
96234496,96235519,LU
@@ -2798,7 +2650,8 @@
96239616,96240639,RU
96240640,96241663,LU
96241664,96241919,UA
-96241920,96244735,RU
+96241920,96243711,RU
+96243712,96244735,UA
96244736,96245759,LU
96245760,96246783,KZ
96246784,96249855,RU
@@ -2809,7 +2662,7 @@
96252416,96252671,RO
96252672,96252927,NL
96252928,96256511,RU
-96256512,96256767,FR
+96256512,96256767,CZ
96256768,96257023,DE
96257024,96259327,RU
96259328,96259583,RO
@@ -3028,7 +2881,8 @@
96770652,96770655,PL
96770656,96771239,FR
96771240,96771247,ES
-96771248,96771279,FR
+96771248,96771263,FR
+96771264,96771279,GB
96771280,96771283,PT
96771284,96771295,FR
96771296,96771299,CZ
@@ -3122,7 +2976,9 @@
96781752,96781759,ES
96781760,96781851,FR
96781852,96781855,ES
-96781856,96782167,FR
+96781856,96781943,FR
+96781944,96781947,IT
+96781948,96782167,FR
96782168,96782175,ES
96782176,96782199,FR
96782200,96782207,CZ
@@ -3164,13 +3020,17 @@
96785416,96785423,NL
96785424,96785603,FR
96785604,96785607,PT
-96785608,96786011,FR
+96785608,96785871,FR
+96785872,96785875,IE
+96785876,96786011,FR
96786012,96786015,GB
96786016,96786431,FR
96786432,96786495,GB
96786496,96786671,FR
96786672,96786687,DE
-96786688,96787743,FR
+96786688,96787583,FR
+96787584,96787587,BE
+96787588,96787743,FR
96787744,96787751,ES
96787752,96787999,FR
96788000,96788031,LT
@@ -3203,7 +3063,9 @@
96794472,96794479,ES
96794480,96794623,FR
96794624,96794687,CZ
-96794688,96796671,FR
+96794688,96795903,FR
+96795904,96796159,ES
+96796160,96796671,FR
96796672,96862207,AZ
96862208,96894975,GB
96894976,96897023,CZ
@@ -3241,14 +3103,23 @@
97439744,97444863,NL
97444864,97445887,PT
97445888,97446911,XK
-97446912,97447423,RS
-97447424,97447679,XK
-97447680,97447935,RS
+97446912,97447935,RS
97447936,97452031,PL
97452032,97517567,UA
97517568,98566143,IR
98566144,98697215,ES
-98697216,98701311,FR
+98697216,98697471,FR
+98697472,98697855,GB
+98697856,98697887,FR
+98697888,98697903,GB
+98697904,98698255,FR
+98698256,98698303,GB
+98698304,98698307,US
+98698308,98698447,FR
+98698448,98698655,GB
+98698656,98698751,FR
+98698752,98699007,GB
+98699008,98701311,FR
98701312,98705407,ES
98705408,98707455,SE
98707456,98709503,NL
@@ -3261,7 +3132,9 @@
98738176,98740223,NO
98740224,98740479,ES
98740480,98740735,US
-98740736,98741503,ES
+98740736,98740991,ES
+98740992,98741247,US
+98741248,98741503,ES
98741504,98741759,US
98741760,98742271,ES
98742272,98744319,GB
@@ -3436,8 +3309,7 @@
100597760,100605951,YE
100605952,100610047,UA
100610048,100612095,GB
-100612096,100614143,TR
-100614144,100630527,NL
+100612096,100630527,NL
100630528,100632575,BE
100632576,100634623,GB
100634624,100635199,ES
@@ -3484,11 +3356,9 @@
134228480,134247423,US
134247424,134247424,DE
134247425,134443007,US
-134443008,134444543,GU
-134444544,134444799,MP
-134444800,134445055,GU
-134445056,134445567,MP
-134445568,134447103,GU
+134443008,134445567,MP
+134445568,134446335,GU
+134446336,134447103,MP
134447104,134738943,US
134738944,134739199,CA
134739200,135192575,US
@@ -3501,9 +3371,7 @@
135441408,135441663,CA
135441664,135556607,US
135556608,135556863,CA
-135556864,135557375,US
-135557376,135557631,CA
-135557632,135558399,US
+135556864,135558399,US
135558400,135558655,NL
135558656,135603199,US
135603200,135604223,CA
@@ -3521,7 +3389,9 @@
136054016,136054271,GB
136054272,136175615,US
136175616,136175871,CA
-136175872,136237055,US
+136175872,136176127,US
+136176128,136176639,CA
+136176640,136237055,US
136237056,136239103,CA
136239104,136404991,US
136404992,136407039,CA
@@ -3531,20 +3401,15 @@
136415667,136415743,CA
136415744,136702290,US
136702291,136702291,UM
-136702292,136708095,US
-136708096,136710143,GB
-136710144,136712191,US
-136712192,136716287,GB
-136716288,136737791,US
-136737792,136738815,VI
-136738816,136810495,US
+136702292,136810495,US
136810496,136810751,DE
136810752,139954241,US
139954242,139954242,ES
139954243,142606335,US
-142606336,146800639,SG
+142606336,146800639,CN
146800640,147849215,US
-147849216,148897791,SG
+147849216,147914751,GB
+147914752,148897791,SG
148897792,151521029,US
151521030,151521030,FR
151521031,151587080,US
@@ -3558,35 +3423,33 @@
204046336,204047359,PR
204047360,204048031,US
204048032,204048047,PR
-204048048,205982719,US
-205982720,205982975,PR
-205982976,208303487,US
-208303488,208303503,GB
-208303504,209100799,US
-209100800,209101823,VI
+204048048,209100799,US
+209100800,209101477,VI
+209101478,209101478,US
+209101479,209101823,VI
209101824,209102335,US
209102336,209102847,VI
209102848,209472767,US
209472768,209472768,IN
209472769,212793087,US
212793088,212793343,PR
-212793344,212794623,US
-212794624,212794879,PR
-212794880,214698239,US
+212793344,214698239,US
214698240,214698247,VI
214698248,214698303,US
214698304,214698311,VI
214698312,214699007,US
214699008,214700031,VI
214700032,214777855,US
-214777856,214779135,PR
-214779136,214779903,US
-214779904,214786559,PR
-214786560,214787071,US
+214777856,214778879,PR
+214778880,214779903,US
+214779904,214783999,PR
+214784000,214786047,US
+214786048,214786303,PR
+214786304,214787071,US
214787072,214788095,PR
-214788096,219504639,US
-219504640,219512831,FR
-219512832,221577215,US
+214788096,216457983,US
+216457984,216458239,CA
+216458240,221577215,US
221577216,221642751,SE
221642752,221773823,AU
221773824,222494719,US
@@ -3716,7 +3579,60 @@
225114624,225115135,JP
225115136,225115647,AU
225115648,225116159,CA
-225116160,225443839,US
+225116160,225163379,US
+225163380,225163391,IE
+225163392,225163399,US
+225163400,225163407,IE
+225163408,225163415,HK
+225163416,225163423,US
+225163424,225163427,SG
+225163428,225163435,US
+225163436,225163451,NL
+225163452,225163471,US
+225163472,225163475,IN
+225163476,225163511,US
+225163512,225163515,AU
+225163516,225163527,US
+225163528,225163531,BR
+225163532,225163535,GB
+225163536,225163543,US
+225163544,225163551,IE
+225163552,225163575,US
+225163576,225163583,IE
+225163584,225163587,DE
+225163588,225163591,US
+225163592,225163595,HK
+225163596,225163599,US
+225163600,225163603,GB
+225163604,225163607,DE
+225163608,225163611,GB
+225163612,225163615,IN
+225163616,225163619,AU
+225163620,225163623,GB
+225163624,225163627,US
+225163628,225163631,FR
+225163632,225163643,US
+225163644,225163647,JP
+225163648,225163659,FR
+225163660,225163663,US
+225163664,225163667,IN
+225163668,225163671,KR
+225163672,225163675,CA
+225163676,225163679,US
+225163680,225163683,KR
+225163684,225163691,SG
+225163692,225163699,US
+225163700,225163703,SG
+225163704,225163715,US
+225163716,225163727,AU
+225163728,225163731,CA
+225163732,225163739,JP
+225163740,225163743,US
+225163744,225163747,CA
+225163748,225165843,US
+225165844,225165847,KR
+225165848,225165855,GB
+225165856,225443839,US
225443840,225705983,JP
225705984,226230271,US
226230272,226361343,KR
@@ -3732,7 +3648,11 @@
233570304,233832447,AU
233832448,234356735,US
234356736,234364927,JP
-234364928,234487807,US
+234364928,234381311,US
+234381312,234381567,IE
+234381568,234381823,DE
+234381824,234382079,JP
+234382080,234487807,US
234487808,234618879,SG
234618880,234881023,US
234881024,234883071,CN
@@ -3803,7 +3723,7 @@
243271680,243272703,TH
243272704,243273727,BD
243273728,243277823,JP
-243277824,243286015,SG
+243277824,243286015,HK
243286016,243302399,JP
243302400,243400703,KR
243400704,243531775,CN
@@ -3824,8 +3744,7 @@
247469056,247470079,HK
247470080,247472127,IN
247472128,247476223,JP
-247476224,247476735,MY
-247476736,247477247,HK
+247476224,247477247,MY
247477248,247478271,IN
247478272,247479295,AU
247479296,247480319,CN
@@ -3847,39 +3766,43 @@
248446976,248512511,TH
248512512,249561087,CN
249561088,251658239,VN
-251658240,257531903,US
-257531904,257532423,SG
+251658240,257532415,US
+257532416,257532423,SG
257532424,257532431,US
257532432,257532671,SG
-257532672,257532927,MY
-257532928,257533951,SG
+257532672,257532927,AU
+257532928,257533951,US
257533952,257535999,IN
-257536000,257540095,AU
-257540096,257597951,US
-257597952,257597959,ES
+257536000,257597951,US
+257597952,257597959,GB
257597960,257597967,US
-257597968,257598463,ES
-257598464,259821567,US
-259821568,259823103,IN
-259823104,259823359,AU
-259823360,259825663,IN
-259825664,265003519,US
+257597968,257598207,GB
+257598208,257598463,ES
+257598464,259819519,US
+259819520,259820543,RO
+259820544,259821567,US
+259821568,259823615,IN
+259823616,265003519,US
265003520,265003547,GB
265003548,265003548,FR
265003549,265003775,GB
-265003776,265005311,US
-265005312,265005567,GB
-265005568,265025791,US
+265003776,265019942,US
+265019943,265019943,PR
+265019944,265020159,US
+265020160,265020415,GB
+265020416,265025791,US
265025792,265026047,GB
-265026048,265527295,US
-265527296,265529599,JP
-265529600,265529855,US
-265529856,265535487,JP
-265535488,266051583,US
-266051584,266059775,CR
-266059776,266067967,IN
-266067968,266076159,AU
-266076160,266598655,US
+265026048,265523711,US
+265523712,265523967,SG
+265523968,265525503,US
+265525504,265525759,MY
+265525760,265531391,US
+265531392,265533439,JP
+265533440,266059775,US
+266059776,266063871,IN
+266063872,266070015,US
+266070016,266072063,AU
+266072064,266598655,US
266598656,266598911,BR
266598912,279356249,US
279356250,279356250,LT
@@ -3890,8 +3813,8 @@
288065536,288075775,US
288075776,288077823,BR
288077824,288151551,US
-288151552,288161791,CA
-288161792,288167423,US
+288151552,288157695,CA
+288157696,288167423,US
288167424,288167935,CA
288167936,288169471,US
288169472,288169983,CA
@@ -3930,8 +3853,11 @@
289624064,289628159,CH
289628160,289630207,US
289630208,289632255,SE
-289632256,289636351,US
-289636352,289652735,GB
+289632256,289642495,US
+289642496,289644543,GB
+289644544,289648639,US
+289648640,289650687,GB
+289650688,289652735,US
289652736,289653759,NL
289653760,289654271,DE
289654272,289654783,US
@@ -3949,11 +3875,14 @@
289746944,289751039,GB
289751040,289767423,US
289767424,289769471,GB
-289769472,289779711,US
+289769472,289770495,ZA
+289770496,289771519,US
+289771520,289775615,GB
+289775616,289779711,US
289779712,289783807,RU
289783808,289787903,GB
289787904,289789951,DE
-289789952,289791999,GB
+289789952,289791999,US
289792000,289794047,AE
289794048,289796095,GB
289796096,289798143,TR
@@ -3975,27 +3904,28 @@
289954304,289954559,ES
289954560,289955839,US
289955840,289955967,NL
-289955968,289956095,FR
+289955968,289956095,US
289956096,289956223,NO
-289956224,289956351,FR
+289956224,289956351,US
289956352,289956479,DK
-289956480,289956607,FR
+289956480,289956607,US
289956608,289956735,NL
289956736,289956863,IN
289956864,289957119,ES
-289957120,289957375,FR
+289957120,289957375,US
289957376,289957631,SE
-289957632,289957887,FR
+289957632,289957887,US
289957888,289958143,LU
-289958144,289958399,FR
+289958144,289958399,US
289958400,289958655,IN
-289958656,289958911,FR
+289958656,289958911,US
289958912,289959423,IT
289959424,289959935,DK
289959936,289960447,DE
289960448,289960959,IN
289960960,289961471,BE
-289961472,289964031,FR
+289961472,289961983,US
+289961984,289964031,FR
289964032,289980415,IE
289980416,290193407,US
290193408,290258943,IN
@@ -4053,12 +3983,15 @@
291203072,300646399,US
300646400,300650495,JP
300650496,300654591,SG
-300654592,300662783,AU
+300654592,300658687,US
+300658688,300662783,AU
300662784,300666879,GB
300666880,300670975,NL
300670976,300675071,IE
300675072,300679167,IL
-300679168,301801983,US
+300679168,301507071,US
+301507072,301507327,IN
+301507328,301801983,US
301801984,301802239,GB
301802240,301802495,US
301802496,301802751,GB
@@ -4125,8 +4058,8 @@
314966016,315097087,US
315097088,315359231,IE
315359232,316932095,US
-316932096,316997631,BR
-316997632,317128703,US
+316932096,317063167,BR
+317063168,317128703,US
317128704,317194239,BR
317194240,322058771,US
322058772,322058772,CL
@@ -4149,12 +4082,16 @@
338062848,338063359,US
338063360,338063871,AU
338063872,338063999,CA
-338064000,338064383,US
+338064000,338064127,US
+338064128,338064383,DE
338064384,338064895,JP
-338064896,338067455,US
+338064896,338065151,DE
+338065152,338065407,US
+338065408,338065663,NO
+338065664,338067455,US
338067456,338069503,CH
338069504,338071551,AE
-338071552,338073599,US
+338071552,338073599,CA
338073600,338081791,CH
338081792,338082815,US
338082816,338083839,FR
@@ -4189,33 +4126,45 @@
338362368,338370559,CA
338370560,338378751,FR
338378752,338386943,JP
-338386944,338393087,US
+338386944,338391039,NO
+338391040,338393087,US
338393088,338395135,IN
338395136,338411519,SG
-338411520,344260607,US
+338411520,338434047,US
+338434048,338436095,KR
+338436096,338444287,IN
+338444288,338460671,US
+338460672,338477055,JP
+338477056,338493439,SG
+338493440,338509823,US
+338509824,338518015,AE
+338518016,338567167,DE
+338567168,338575359,AE
+338575360,338583551,US
+338583552,338595839,NO
+338595840,338599935,US
+338599936,338608127,NO
+338608128,344260607,US
344260608,344260863,GB
344260864,344261119,US
344261120,344261778,GB
344261779,344261779,US
-344261780,344264703,GB
-344264704,344270847,US
-344270848,344272895,GB
-344272896,344592895,US
+344261780,344262911,GB
+344262912,344588287,US
+344588288,344589311,GB
+344589312,344592895,US
344592896,344592945,GB
344592946,344592946,US
344592947,344593151,GB
-344593152,344593919,US
-344593920,344594175,DK
-344594176,344645631,US
-344645632,344653823,FR
-344653824,344662015,US
-344662016,344670207,MY
-344670208,344674303,IN
-344674304,344677631,US
-344677632,344677887,IN
-344677888,344711167,US
-344711168,344719359,AU
-344719360,344881151,US
+344593152,344593407,US
+344593408,344594431,DK
+344594432,344662783,US
+344662784,344663039,MY
+344663040,344670207,US
+344670208,344672255,IN
+344672256,344711167,US
+344711168,344713215,AU
+344713216,344881151,US
344881152,344881407,IN
344881408,344977407,US
344977408,344977663,IN
@@ -4258,7 +4207,9 @@
348094464,348102655,SG
348102656,348110847,US
348110848,348127231,AU
-348127232,353769239,US
+348127232,351743999,US
+351744000,351746047,GB
+351746048,353769239,US
353769240,353769240,FR
353769241,358157194,US
358157195,358157195,NO
@@ -4294,7 +4245,9 @@
386095616,386096127,NL
386096128,386191359,US
386191360,386195455,NL
-386195456,386215935,US
+386195456,386202623,US
+386202624,386203135,NL
+386203136,386215935,US
386215936,386220031,NL
386220032,386228223,US
386228224,386232319,NL
@@ -4320,7 +4273,13 @@
386498560,386502655,NL
386502656,386547711,US
386547712,386551807,NL
-386551808,386656255,US
+386551808,386593791,US
+386593792,386594815,NL
+386594816,386595071,US
+386595072,386595327,NL
+386595328,386595839,US
+386595840,386596095,NL
+386596096,386656255,US
386656256,386656511,NL
386656512,386662399,US
386662400,386666495,NL
@@ -4346,10 +4305,13 @@
386868992,386923519,US
386923520,386924543,NL
386924544,387055615,CA
-387055616,387063807,PR
-387063808,387071999,US
-387072000,387121151,PR
-387121152,387648767,US
+387055616,387092479,US
+387092480,387094527,PR
+387094528,387133439,US
+387133440,387133647,DE
+387133648,387133655,US
+387133656,387134463,DE
+387134464,387648767,US
387648768,387649023,DE
387649024,387707903,US
387707904,387708159,CH
@@ -4375,9 +4337,7 @@
388055040,388059135,NL
388059136,388084735,US
388084736,388085759,NL
-388085760,388086783,US
-388086784,388087807,NL
-388087808,388091903,US
+388085760,388091903,US
388091904,388095999,NL
388096000,388100095,US
388100096,388101119,NL
@@ -4453,9 +4413,13 @@
388843520,388844543,NL
388844544,388849663,US
388849664,388853759,NL
-388853760,388863999,US
+388853760,388856575,US
+388856576,388856831,NL
+388856832,388863999,US
388864000,388865023,NL
-388865024,388894207,US
+388865024,388885503,US
+388885504,388890623,NL
+388890624,388894207,US
388894208,388894719,NL
388894720,388897791,US
388897792,388898815,NL
@@ -4466,8 +4430,8 @@
388945920,388956159,US
388956160,388960255,NL
388960256,388964351,US
-388964352,388972543,NL
-388972544,388996095,US
+388964352,388973567,NL
+388973568,388996095,US
388996096,388997119,NL
388997120,389044223,US
389044224,389045247,NL
@@ -4509,8 +4473,8 @@
389413376,389413887,NL
389413888,389414911,US
389414912,389419007,NL
-389419008,389435391,US
-389435392,389444607,NL
+389419008,389439487,US
+389439488,389444607,NL
389444608,389444863,US
389444864,389445375,NL
389445376,389447679,US
@@ -4548,8 +4512,8 @@
389734400,389759999,US
389760000,389761023,NL
389761024,389764095,US
-389764096,389765119,NL
-389765120,389767167,US
+389764096,389765631,NL
+389765632,389767167,US
389767168,389775359,NL
389775360,389812223,US
389812224,389816319,NL
@@ -4559,8 +4523,10 @@
389857280,389873663,NL
389873664,389874687,US
389874688,389875711,NL
-389875712,389931007,US
-389931008,389936127,NL
+389875712,389923839,US
+389923840,389924351,NL
+389924352,389926911,US
+389926912,389936127,NL
389936128,389939711,US
389939712,389940223,NL
389940224,389941503,US
@@ -4579,7 +4545,8 @@
389979190,389979190,AU
389979191,389988351,US
389988352,389992447,NL
-389992448,389996799,US
+389992448,389996543,US
+389996544,389996799,NL
389996800,389996800,SG
389996801,390027263,US
390027264,390028287,NL
@@ -4611,26 +4578,26 @@
390205440,390209535,NL
390209536,390261247,US
390261248,390261759,NL
-390261760,390277119,US
-390277120,390277375,NL
-390277376,390278911,US
+390261760,390278911,US
390278912,390279167,NL
390279168,390286847,US
390286848,390287359,NL
390287360,390299647,US
390299648,390303743,NL
-390303744,390731775,US
-390731776,390732031,NL
-390732032,390897151,US
+390303744,390897151,US
390897152,390897663,NL
390897664,390938623,US
390938624,390942719,NL
390942720,390972927,US
-390972928,390973951,NL
-390973952,390975487,US
+390972928,390973439,NL
+390973440,390975487,US
390975488,390976511,NL
-390976512,390995967,US
-390995968,391020543,NL
+390976512,390985727,US
+390985728,390987775,NL
+390987776,390995967,US
+390995968,391004159,NL
+391004160,391012351,US
+391012352,391020543,NL
391020544,391110655,US
391110656,391110911,IL
391110912,391111167,GB
@@ -4642,8 +4609,10 @@
391344128,391348223,NL
391348224,391368703,US
391368704,391372799,CA
-391372800,391865855,US
-391865856,391866879,HK
+391372800,391864319,US
+391864320,391865087,HK
+391865088,391865343,US
+391865344,391866879,HK
391866880,391867391,US
391867392,391867647,VN
391867648,391872511,US
@@ -4717,40 +4686,47 @@
392660000,392660015,AT
392660016,392660031,FI
392660032,392660047,AT
-392660048,392660063,US
+392660048,392660063,NL
392660064,392660079,AT
392660080,392660095,IE
392660096,392660111,FI
392660112,392660127,AT
-392660128,392660351,US
+392660128,392660143,FR
+392660144,392660351,US
392660352,392660383,IE
392660384,392660415,FI
392660416,392660447,AT
-392660448,392660607,US
+392660448,392660479,US
+392660480,392660511,AT
+392660512,392660543,US
+392660544,392660575,AE
+392660576,392660607,US
392660608,392660703,GB
392660704,392660735,US
392660736,392660799,FR
-392660800,392661519,US
+392660800,392661503,US
+392661504,392661519,KR
392661520,392661551,JP
-392661552,392661887,US
+392661552,392661855,US
+392661856,392661887,ZA
392661888,392661951,JP
392661952,392662143,US
392662144,392662239,IN
392662240,392662399,US
-392662400,392662463,KR
-392662464,392662479,US
-392662480,392662495,KR
+392662400,392662495,KR
392662496,392662511,HK
392662512,392662527,SG
392662528,392662559,US
-392662560,392662575,AU
-392662576,392663039,US
+392662560,392662591,AU
+392662592,392663039,US
392663040,392663071,FI
392663072,392663103,US
392663104,392663135,IE
392663136,392663167,US
392663168,392663199,NL
-392663200,392663295,US
+392663200,392663231,US
+392663232,392663263,NL
+392663264,392663295,US
392663296,392663327,IE
392663328,392663359,US
392663360,392663391,IE
@@ -4761,7 +4737,9 @@
392664416,392664431,NL
392664432,392664479,US
392664480,392664495,IE
-392664496,392665855,US
+392664496,392665343,US
+392665344,392665375,SG
+392665376,392665855,US
392665856,392665887,HK
392665888,392665983,US
392665984,392666015,HK
@@ -4849,15 +4827,16 @@
392687824,392687839,NL
392687840,392687887,US
392687888,392687903,NL
-392687904,392689295,US
+392687904,392689279,US
+392689280,392689295,FI
392689296,392689311,NL
392689312,392689327,AT
392689328,392689343,IE
-392689344,392689359,US
+392689344,392689359,FI
392689360,392689375,NL
392689376,392689391,AT
392689392,392689407,IE
-392689408,392689423,US
+392689408,392689423,FI
392689424,392689439,NL
392689440,392689455,AT
392689456,392689471,IE
@@ -4865,15 +4844,15 @@
392689488,392689503,NL
392689504,392689519,AT
392689520,392689535,IE
-392689536,392689551,US
+392689536,392689551,FI
392689552,392689567,NL
392689568,392689583,AT
392689584,392689599,IE
-392689600,392689615,US
+392689600,392689615,FI
392689616,392689631,NL
392689632,392689647,AT
392689648,392689663,IE
-392689664,392689679,US
+392689664,392689679,FI
392689680,392689695,NL
392689696,392689711,AT
392689712,392689727,IE
@@ -4881,11 +4860,11 @@
392689744,392689759,NL
392689760,392689775,AT
392689776,392689791,IE
-392689792,392689807,US
+392689792,392689807,FI
392689808,392689823,NL
392689824,392689839,AT
392689840,392689855,IE
-392689856,392689871,US
+392689856,392689871,FI
392689872,392689887,NL
392689888,392689903,AT
392689904,392689919,IE
@@ -4894,10 +4873,11 @@
392690000,392690015,HK
392690016,392690031,KR
392690032,392690047,MY
-392690048,392690079,US
+392690048,392690063,SG
+392690064,392690079,HK
392690080,392690095,KR
392690096,392690111,MY
-392690112,392690127,US
+392690112,392690127,SG
392690128,392690143,HK
392690144,392690431,US
392690432,392690687,NL
@@ -4971,7 +4951,7 @@
394305536,394305791,CA
394313728,394313983,US
394321920,394322175,CA
-394330112,394330367,US
+394330112,394330623,US
394338304,394338559,CA
394346496,394362879,US
394362880,394363135,GB
@@ -5000,6 +4980,7 @@
394756096,394772479,US
394772480,394772735,CA
394780672,394780927,US
+394788864,394789119,US
394797056,394797311,CA
394805248,394805503,US
394813440,394813695,VG
@@ -5064,20 +5045,33 @@
395813120,395829247,CA
395829248,395829503,US
395829504,395837439,CA
-395837440,395903231,US
-395919360,395919615,CA
-395935744,395935999,CA
-395952128,395952383,US
-395968512,395969535,CA
-395984896,395985151,US
-396001280,396034047,CA
+395837440,395919359,US
+395919360,395952127,CA
+395952128,395968511,US
+395968512,395984895,CA
+395984896,396001279,US
+396001280,396025855,CA
+396025856,396026111,US
+396026112,396034047,CA
396034048,396034303,US
+396042240,396042495,US
396050432,396050687,CA
+396058624,396058879,US
396066816,396067327,CA
+396075008,396075263,US
396083200,396083711,US
-396099584,396263423,US
+396091392,396091647,US
+396099584,396107775,US
+396107776,396108031,JM
+396108032,396140543,US
+396140544,396140799,CA
+396140800,396263423,US
396263424,396263679,CA
-396296192,396427775,US
+396271616,396271871,US
+396288000,396288255,US
+396296192,396320767,US
+396320768,396321023,CA
+396321024,396427775,US
396443648,396443903,CA
396460032,396493055,US
396509184,396509439,PR
@@ -5112,19 +5106,19 @@
397770752,397771007,CA
397787136,397787391,US
397803520,397803775,CA
-397819904,397820159,US
+397819904,397820415,US
397836288,397836799,CA
397852672,397852927,US
397869056,397902079,US
397918208,397918463,CA
397934592,398065663,US
-398065664,398065919,CA
+398065664,398066175,CA
398082048,398082303,JP
398098432,398098687,US
398114816,398115071,CA
398131200,398196735,US
398196736,398196991,KY
-398213120,398213375,US
+398213120,398213631,US
398229504,398295295,US
398311424,398311679,LC
398327808,398328063,PR
@@ -5138,7 +5132,9 @@
398500352,398500863,NL
398500864,398566911,US
398566912,398567423,NL
-398567424,398642175,US
+398567424,398640127,US
+398640128,398641151,NL
+398641152,398642175,US
398642176,398643199,NL
398643200,398684159,US
398684160,398692351,NL
@@ -5168,8 +5164,8 @@
399032320,399036415,NL
399036416,399056127,US
399056128,399056383,NL
-399056384,399076095,US
-399076096,399076863,NL
+399056384,399076351,US
+399076352,399076863,NL
399076864,399089663,US
399089664,399101951,NL
399101952,399106047,US
@@ -5177,8 +5173,8 @@
399114240,399143935,US
399143936,399144959,NL
399144960,399147007,US
-399147008,399155199,NL
-399155200,399175679,US
+399147008,399151103,NL
+399151104,399175679,US
399175680,399179775,NL
399179776,399243519,US
399243520,399243775,NL
@@ -5186,8 +5182,9 @@
399280896,399281151,NL
399281152,399331327,US
399331328,399335423,NL
-399335424,399343615,AU
-399343616,399353855,US
+399335424,399342335,US
+399342336,399342591,NL
+399342592,399353855,US
399353856,399354879,NL
399354880,399355903,US
399355904,399359999,NL
@@ -5215,9 +5212,7 @@
399594496,399595519,NL
399595520,399598591,US
399598592,399599871,NL
-399599872,399642623,US
-399642624,399643647,NL
-399643648,399644671,US
+399599872,399644671,US
399644672,399646719,NL
399646720,399647743,US
399647744,399649791,NL
@@ -5229,18 +5224,18 @@
399740928,399749119,NL
399749120,399769855,US
399769856,399770111,NL
-399770112,399797247,US
+399770112,399782911,US
+399782912,399783167,NL
+399783168,399797247,US
399797248,399797759,NL
399797760,399827967,US
399827968,399830015,NL
399830016,399849471,US
399849472,399850495,NL
-399850496,399870975,US
-399870976,399871999,NL
-399872000,399908863,US
-399908864,399919615,NL
-399919616,399921151,US
-399921152,399951359,NL
+399850496,399918079,US
+399918080,399919615,NL
+399919616,399930367,US
+399930368,399951359,NL
399951360,399951871,US
399951872,399952895,NL
399952896,399953919,US
@@ -5258,8 +5253,8 @@
400084992,400093183,US
400093184,400097279,NL
400097280,400098303,US
-400098304,400099327,NL
-400099328,400111103,US
+400098304,400100351,NL
+400100352,400111103,US
400111104,400111615,NL
400111616,400112639,US
400112640,400113663,NL
@@ -5273,8 +5268,8 @@
400131584,400132095,NL
400132096,400144383,US
400144384,400145407,NL
-400145408,400154623,US
-400154624,400162815,NL
+400145408,400150527,US
+400150528,400162815,NL
400162816,400186367,US
400186368,400187391,NL
400187392,400201727,US
@@ -5291,7 +5286,9 @@
400263168,400263679,NL
400263680,400264703,US
400264704,400265215,NL
-400265216,400400383,US
+400265216,400275711,US
+400275712,400275967,NL
+400275968,400400383,US
400400384,400410111,NL
400410112,400411647,US
400411648,400412671,NL
@@ -5342,19 +5339,13 @@
400883888,400883895,BG
400883896,400883919,CA
400883920,400883927,GB
-400883928,400883975,CA
-400883976,400883979,US
-400883980,400883995,CA
-400883996,400883999,US
-400884000,400884231,CA
+400883928,400884231,CA
400884232,400884239,US
400884240,400884255,CA
400884256,400884287,US
400884288,400884319,CA
400884320,400884359,US
-400884360,400884415,CA
-400884416,400884431,US
-400884432,400884455,CA
+400884360,400884455,CA
400884456,400884463,US
400884464,400884471,CA
400884472,400884479,US
@@ -5375,11 +5366,9 @@
400885408,400885439,US
400885440,400885783,CA
400885784,400885791,US
-400885792,400885887,CA
-400885888,400885919,US
-400885920,400885999,CA
-400886000,400886015,US
-400886016,400886031,CA
+400885792,400885903,CA
+400885904,400885919,US
+400885920,400886031,CA
400886032,400886047,US
400886048,400886095,CA
400886096,400886111,US
@@ -5394,31 +5383,22 @@
400886200,400886303,CA
400886304,400886335,US
400886336,400886351,CA
-400886352,400886399,US
-400886400,400886407,CA
+400886352,400886383,US
+400886384,400886407,CA
400886408,400886415,US
-400886416,400886455,CA
-400886456,400886463,SE
+400886416,400886463,CA
400886464,400886527,US
400886528,400886583,CA
400886584,400886591,US
-400886592,400886623,CA
-400886624,400886639,US
-400886640,400886695,CA
-400886696,400886703,FI
-400886704,400886719,CA
-400886720,400886783,US
-400886784,400887039,CA
+400886592,400886719,CA
+400886720,400886767,US
+400886768,400887039,CA
400887040,400887135,US
-400887136,400887143,CA
-400887144,400887175,US
-400887176,400887183,CA
-400887184,400887199,US
-400887200,400887231,CA
-400887232,400887295,US
-400887296,400887311,CA
-400887312,400887327,US
-400887328,400887335,CA
+400887136,400887151,CA
+400887152,400887175,US
+400887176,400887231,CA
+400887232,400887263,US
+400887264,400887335,CA
400887336,400887343,US
400887344,400887351,SE
400887352,400887503,CA
@@ -5431,9 +5411,7 @@
400887872,400887879,US
400887880,400887895,CA
400887896,400887911,US
-400887912,400887919,CA
-400887920,400887927,US
-400887928,400887935,CA
+400887912,400887935,CA
400887936,400887959,US
400887960,400887975,CA
400887976,400887983,US
@@ -5443,91 +5421,71 @@
400888064,400888319,US
400888320,400888575,CA
400888576,400888831,GB
-400888832,400889343,CA
-400889344,400889367,US
-400889368,400889407,CA
-400889408,400889503,US
+400888832,400889359,CA
+400889360,400889367,US
+400889368,400889439,CA
+400889440,400889503,US
400889504,400889511,CA
400889512,400889599,US
400889600,400889647,CA
-400889648,400889679,US
-400889680,400889695,CA
-400889696,400889743,US
-400889744,400889767,CA
-400889768,400889807,US
-400889808,400889855,CA
+400889648,400889663,US
+400889664,400889711,CA
+400889712,400889727,US
+400889728,400889775,CA
+400889776,400889791,US
+400889792,400889855,CA
400889856,400890111,US
400890112,400890143,CA
400890144,400890151,US
400890152,400890159,CA
-400890160,400890239,US
-400890240,400890263,CA
+400890160,400890207,US
+400890208,400890263,CA
400890264,400890271,US
400890272,400890335,CA
-400890336,400890375,US
-400890376,400890383,CA
+400890336,400890367,US
+400890368,400890383,CA
400890384,400890391,US
400890392,400890399,CA
400890400,400890407,US
-400890408,400890415,CA
-400890416,400890431,US
-400890432,400890447,CA
-400890448,400890495,US
-400890496,400890527,CA
+400890408,400890527,CA
400890528,400890543,US
-400890544,400890559,CA
-400890560,400890623,US
+400890544,400890591,CA
+400890592,400890623,US
400890624,400890639,CA
400890640,400890655,US
400890656,400890783,CA
400890784,400890831,US
-400890832,400890847,CA
-400890848,400890871,US
-400890872,400891199,CA
-400891200,400891207,US
-400891208,400891263,CA
+400890832,400891263,CA
400891264,400891343,US
-400891344,400891359,CA
-400891360,400891375,US
-400891376,400891383,CA
+400891344,400891383,CA
400891384,400891407,US
400891408,400891415,CA
-400891416,400891487,US
+400891416,400891455,US
+400891456,400891471,CA
+400891472,400891487,US
400891488,400891535,CA
-400891536,400891647,US
-400891648,400891679,CA
-400891680,400891703,US
-400891704,400891775,CA
-400891776,400891807,US
-400891808,400891855,CA
-400891856,400891863,US
-400891864,400891887,CA
+400891536,400891583,US
+400891584,400891615,CA
+400891616,400891631,US
+400891632,400891695,CA
+400891696,400891703,US
+400891704,400891791,CA
+400891792,400891807,US
+400891808,400891887,CA
400891888,400892159,US
400892160,400892215,CA
400892216,400892223,US
-400892224,400892255,CA
-400892256,400892259,US
-400892260,400892299,CA
-400892300,400892303,US
-400892304,400892367,CA
-400892368,400892375,US
-400892376,400892383,CA
-400892384,400892387,US
-400892388,400892479,CA
+400892224,400892479,CA
400892480,400892543,US
400892544,400892567,CA
400892568,400892575,US
400892576,400892591,CA
400892592,400892607,US
-400892608,400892639,CA
-400892640,400892655,US
-400892656,400892671,CA
-400892672,400892799,US
-400892800,400892807,CA
-400892808,400892815,US
-400892816,400892863,CA
-400892864,400892935,US
-400892936,400893055,CA
+400892608,400892671,CA
+400892672,400892767,US
+400892768,400892863,CA
+400892864,400892895,US
+400892896,400893055,CA
400893056,400893087,US
400893088,400893095,CA
400893096,400893311,US
@@ -5538,189 +5496,169 @@
400894048,400894079,CA
400894080,400894335,US
400894336,400894463,CA
-400894464,400894767,US
-400894768,400894783,CA
+400894464,400894719,US
+400894720,400894783,CA
400894784,400894815,US
-400894816,400894847,CA
-400894848,400894879,US
-400894880,400894903,CA
+400894816,400894903,CA
400894904,400894911,US
-400894912,400894975,CA
-400894976,400895295,US
+400894912,400895231,CA
+400895232,400895295,US
400895296,400895359,CA
400895360,400895407,US
400895408,400895455,CA
-400895456,400895567,US
-400895568,400895623,CA
-400895624,400895631,US
-400895632,400895663,CA
+400895456,400895551,US
+400895552,400895663,CA
400895664,400895679,US
400895680,400895711,CA
400895712,400896511,US
400896512,400896591,CA
400896592,400896599,US
-400896600,400896615,CA
-400896616,400896631,US
-400896632,400896695,CA
-400896696,400896699,US
-400896700,400896767,CA
+400896600,400896767,CA
400896768,400896775,US
-400896776,400896815,CA
-400896816,400896831,US
+400896776,400896823,CA
+400896824,400896831,US
400896832,400896911,CA
400896912,400896919,US
400896920,400896927,CA
-400896928,400896943,US
-400896944,400896951,CA
-400896952,400896967,US
-400896968,400897023,CA
+400896928,400896935,US
+400896936,400896951,CA
+400896952,400896959,US
+400896960,400897023,CA
400897024,400897279,US
-400897280,400897311,CA
-400897312,400897327,US
-400897328,400897407,CA
-400897408,400897415,US
-400897416,400897423,CA
+400897280,400897423,CA
400897424,400897439,US
-400897440,400897471,CA
-400897472,400897791,US
-400897792,400897831,CA
-400897832,400897839,US
-400897840,400897847,CA
+400897440,400897503,CA
+400897504,400897519,US
+400897520,400897535,CA
+400897536,400897791,US
+400897792,400897847,CA
400897848,400897855,US
400897856,400897887,CA
400897888,400897903,US
-400897904,400897919,CA
-400897920,400897967,US
+400897904,400897935,CA
+400897936,400897967,US
400897968,400897983,CA
400897984,400898047,US
400898048,400898063,CA
400898064,400898079,US
-400898080,400898159,CA
-400898160,400898303,US
+400898080,400898175,CA
+400898176,400898303,US
400898304,400898311,CA
400898312,400898319,US
-400898320,400898447,CA
-400898448,400898559,US
-400898560,400898575,CA
-400898576,400898591,US
-400898592,400898687,CA
-400898688,400898735,US
+400898320,400898463,CA
+400898464,400898495,US
+400898496,400898703,CA
+400898704,400898735,US
400898736,400898751,CA
-400898752,400898799,US
-400898800,400898807,CA
+400898752,400898783,US
+400898784,400898807,CA
400898808,400898815,US
-400898816,400898823,CA
-400898824,400898831,US
-400898832,400898855,CA
-400898856,400898863,US
-400898864,400898879,CA
-400898880,400898887,SE
-400898888,400898911,CA
-400898912,400899327,US
+400898816,400898911,CA
+400898912,400898927,US
+400898928,400898943,CA
+400898944,400899039,US
+400899040,400899047,CA
+400899048,400899055,US
+400899056,400899071,CA
+400899072,400899327,US
400899328,400899591,CA
400899592,400899599,US
400899600,400899623,CA
400899624,400899631,US
-400899632,400899647,CA
-400899648,400899751,US
-400899752,400899759,CA
+400899632,400899711,CA
+400899712,400899743,US
+400899744,400899759,CA
400899760,400899807,US
400899808,400899815,CA
-400899816,400899839,US
-400899840,400899847,CA
+400899816,400899823,US
+400899824,400899847,CA
400899848,400899855,US
400899856,400899967,CA
-400899968,400900255,US
+400899968,400899999,US
+400900000,400900031,CA
+400900032,400900255,US
400900256,400900263,CA
-400900264,400900351,US
-400900352,400900391,CA
+400900264,400900271,US
+400900272,400900287,CA
+400900288,400900319,US
+400900320,400900391,CA
400900392,400900399,US
-400900400,400900415,CA
-400900416,400900479,US
+400900400,400900447,CA
+400900448,400900479,US
400900480,400900487,CA
400900488,400900495,US
-400900496,400900527,CA
-400900528,400901119,US
-400901120,400901431,CA
-400901432,400901447,US
-400901448,400901487,CA
+400900496,400900559,CA
+400900560,400900575,US
+400900576,400900607,CA
+400900608,400901119,US
+400901120,400901487,CA
400901488,400901495,US
400901496,400901567,CA
-400901568,400901631,US
-400901632,400901655,CA
-400901656,400901659,US
-400901660,400901751,CA
-400901752,400901887,US
+400901568,400901583,US
+400901584,400901615,CA
+400901616,400901631,US
+400901632,400901759,CA
+400901760,400901807,US
+400901808,400901823,CA
+400901824,400901887,US
400901888,400902143,CA
400902144,400902399,US
400902400,400902431,CA
-400902432,400902495,US
-400902496,400902527,CA
-400902528,400902655,US
+400902432,400902479,US
+400902480,400902527,CA
+400902528,400902623,US
+400902624,400902639,CA
+400902640,400902655,US
400902656,400902663,CA
400902664,400902671,US
400902672,400902719,CA
400902720,400902783,US
400902784,400902911,CA
-400902912,400902975,US
-400902976,400903039,CA
-400903040,400903167,US
-400903168,400903183,CA
-400903184,400903199,US
-400903200,400903231,CA
-400903232,400903247,US
-400903248,400903271,CA
+400902912,400902943,US
+400902944,400903271,CA
400903272,400903279,US
-400903280,400903295,CA
-400903296,400903423,US
-400903424,400903935,CA
+400903280,400903935,CA
400903936,400904479,US
400904480,400904487,CA
400904488,400904591,US
400904592,400904599,CA
-400904600,400904687,US
-400904688,400904703,CA
+400904600,400904607,US
+400904608,400904623,CA
+400904624,400904671,US
+400904672,400904703,CA
400904704,400904959,US
400904960,400905271,CA
400905272,400905279,US
-400905280,400905287,CA
-400905288,400905295,US
-400905296,400905335,CA
+400905280,400905335,CA
400905336,400905343,US
400905344,400905359,CA
400905360,400905367,US
400905368,400905399,CA
-400905400,400905415,US
-400905416,400905439,CA
+400905400,400905407,US
+400905408,400905439,CA
400905440,400905447,US
-400905448,400905455,CA
-400905456,400905463,FI
-400905464,400905471,US
-400905472,400905983,CA
-400905984,400906143,US
+400905448,400906111,CA
+400906112,400906143,US
400906144,400906175,CA
400906176,400906207,US
400906208,400906215,CA
400906216,400906223,US
400906224,400906231,CA
400906232,400906239,US
-400906240,400906247,CA
-400906248,400906263,US
-400906264,400906367,CA
-400906368,400906383,US
-400906384,400906399,CA
-400906400,400906815,US
+400906240,400906255,CA
+400906256,400906263,US
+400906264,400906399,CA
+400906400,400906463,US
+400906464,400906471,CA
+400906472,400906815,US
400906816,400906831,CA
400906832,400906879,US
-400906880,400906959,CA
-400906960,400907007,US
-400907008,400907263,CA
+400906880,400907263,CA
400907264,400908031,US
400908032,400908287,CA
400908288,400911103,US
400911104,400911359,PA
-400911360,400911487,US
-400911488,400911583,AU
+400911360,400911583,AU
400911584,400911615,US
400911616,400911871,CR
400911872,401113087,US
@@ -5798,9 +5736,7 @@
401342464,401346559,BB
401346560,401360639,US
401360640,401360895,HK
-401360896,401361151,US
-401361152,401361407,HK
-401361408,401367039,US
+401360896,401367039,US
401367040,401367295,GB
401367296,401367551,US
401367552,401367807,JP
@@ -5819,27 +5755,22 @@
401375512,401375519,US
401375520,401375535,CA
401375536,401375543,US
-401375544,401375551,CA
-401375552,401375559,US
-401375560,401375663,CA
-401375664,401375679,US
-401375680,401375743,CA
+401375544,401375743,CA
401375744,401376095,US
-401376096,401376103,SE
-401376104,401376111,CA
-401376112,401376191,US
+401376096,401376111,CA
+401376112,401376143,US
+401376144,401376175,CA
+401376176,401376191,US
401376192,401376223,CA
401376224,401376255,US
-401376256,401376271,CA
-401376272,401376279,US
-401376280,401376287,CA
-401376288,401376319,US
-401376320,401376327,CA
+401376256,401376327,CA
401376328,401376335,US
401376336,401376351,CA
-401376352,401376415,US
-401376416,401376447,CA
-401376448,401376767,US
+401376352,401376367,US
+401376368,401376447,CA
+401376448,401376479,US
+401376480,401376495,CA
+401376496,401376767,US
401376768,401377791,CA
401377792,401378303,US
401378304,401378559,EG
@@ -5847,7 +5778,11 @@
401378688,401378815,CA
401378816,401379071,US
401379072,401380351,CA
-401380352,401380503,US
+401380352,401380383,US
+401380384,401380431,CA
+401380432,401380447,US
+401380448,401380479,CA
+401380480,401380503,US
401380504,401380527,CA
401380528,401380543,US
401380544,401380607,CA
@@ -5855,72 +5790,50 @@
401380864,401381119,CA
401381120,401381247,US
401381248,401381375,CA
-401381376,401381887,US
-401381888,401381951,CA
-401381952,401381959,US
-401381960,401382015,CA
+401381376,401381407,US
+401381408,401381423,CA
+401381424,401381887,US
+401381888,401382015,CA
401382016,401382023,US
401382024,401382063,CA
401382064,401382087,US
-401382088,401382137,CA
-401382138,401382138,US
-401382139,401382191,CA
-401382192,401382199,US
-401382200,401382367,CA
-401382368,401382375,US
-401382376,401382399,CA
-401382400,401382407,US
-401382408,401382463,CA
+401382088,401382127,CA
+401382128,401382135,US
+401382136,401382463,CA
401382464,401382471,US
401382472,401382479,CA
401382480,401382527,US
401382528,401382543,CA
401382544,401382575,US
-401382576,401382591,CA
-401382592,401382911,US
-401382912,401383167,CA
-401383168,401383231,US
-401383232,401383263,CA
-401383264,401383295,US
-401383296,401384299,CA
-401384300,401384303,US
-401384304,401384407,CA
-401384408,401384415,US
-401384416,401384423,CA
-401384424,401384435,US
-401384436,401384575,CA
-401384576,401384703,US
-401384704,401384799,CA
+401382576,401382623,CA
+401382624,401382911,US
+401382912,401384423,CA
+401384424,401384431,US
+401384432,401384799,CA
401384800,401384831,US
401384832,401384959,CA
401384960,401385215,US
401385216,401385295,CA
401385296,401385375,US
401385376,401385391,CA
-401385392,401385983,US
-401385984,401386271,CA
-401386272,401386407,US
-401386408,401386415,CA
+401385392,401385407,US
+401385408,401385423,CA
+401385424,401385439,US
+401385440,401385455,CA
+401385456,401385983,US
+401385984,401386303,CA
+401386304,401386399,US
+401386400,401386415,CA
401386416,401386463,US
401386464,401386471,CA
401386472,401386495,US
-401386496,401386591,SE
-401386592,401386623,US
-401386624,401387007,SE
+401386496,401387007,SE
401387008,401387263,US
401387264,401387519,CA
-401387520,401388031,US
-401388032,401388063,CA
-401388064,401388159,US
-401388160,401388191,CA
-401388192,401388223,US
-401388224,401388255,CA
-401388256,401388287,US
-401388288,401388543,CA
+401387520,401387775,US
+401387776,401388543,CA
401388544,401388559,US
-401388560,401388563,CA
-401388564,401388567,US
-401388568,401388575,CA
+401388560,401388575,CA
401388576,401388583,US
401388584,401388615,CA
401388616,401388631,US
@@ -5928,128 +5841,123 @@
401388672,401388687,US
401388688,401389055,CA
401389056,401390079,US
-401390080,401390335,CA
-401390336,401390847,US
-401390848,401391231,CA
-401391232,401391359,US
-401391360,401392639,CA
-401392640,401394431,US
-401394432,401394479,CA
-401394480,401394559,US
-401394560,401394687,CA
-401394688,401394943,US
-401394944,401395455,CA
+401390080,401390591,CA
+401390592,401390847,US
+401390848,401392639,CA
+401392640,401393663,US
+401393664,401393919,CA
+401393920,401394431,US
+401394432,401395455,CA
401395456,401395711,US
-401395712,401395727,CA
-401395728,401395759,US
-401395760,401395775,CA
-401395776,401395839,US
-401395840,401396239,CA
-401396240,401396255,US
-401396256,401396271,CA
-401396272,401396447,US
-401396448,401396463,CA
-401396464,401396735,US
-401396736,401396991,CA
-401396992,401397311,US
+401395712,401396287,CA
+401396288,401396383,US
+401396384,401396391,CA
+401396392,401396399,US
+401396400,401396415,CA
+401396416,401396447,US
+401396448,401397247,CA
+401397248,401397311,US
401397312,401397327,CA
-401397328,401397375,US
-401397376,401397407,CA
+401397328,401397359,US
+401397360,401397407,CA
401397408,401397439,US
401397440,401397487,CA
401397488,401397503,US
401397504,401397759,CA
401397760,401398015,US
401398016,401398271,CA
-401398272,401398783,US
-401398784,401399047,CA
-401399048,401399055,US
-401399056,401399063,CA
-401399064,401399207,US
-401399208,401399215,CA
-401399216,401399271,US
-401399272,401399279,CA
+401398272,401398527,US
+401398528,401399063,CA
+401399064,401399071,US
+401399072,401399103,CA
+401399104,401399135,US
+401399136,401399167,CA
+401399168,401399199,US
+401399200,401399215,CA
+401399216,401399263,US
+401399264,401399279,CA
401399280,401399295,US
-401399296,401399551,CA
-401399552,401399599,US
+401399296,401399583,CA
+401399584,401399599,US
401399600,401399607,CA
-401399608,401399679,US
-401399680,401399695,CA
-401399696,401399775,US
+401399608,401399647,US
+401399648,401399663,CA
+401399664,401399679,US
+401399680,401399711,CA
+401399712,401399743,US
+401399744,401399759,CA
+401399760,401399775,US
401399776,401400063,CA
-401400064,401400271,US
-401400272,401400279,CA
-401400280,401400575,US
-401400576,401400599,CA
-401400600,401400607,US
-401400608,401400623,CA
-401400624,401400671,US
+401400064,401400575,US
+401400576,401400655,CA
+401400656,401400671,US
401400672,401400703,CA
401400704,401400735,US
401400736,401400751,CA
-401400752,401400799,US
-401400800,401400815,CA
-401400816,401400871,US
+401400752,401400783,US
+401400784,401400815,CA
+401400816,401400863,US
+401400864,401400871,CA
401400872,401400879,NO
-401400880,401400927,US
-401400928,401400959,CA
-401400960,401401055,US
-401401056,401401071,CA
-401401072,401401103,US
-401401104,401401111,CA
-401401112,401401215,US
+401400880,401400895,US
+401400896,401400975,CA
+401400976,401400991,US
+401400992,401401039,CA
+401401040,401401055,US
+401401056,401401111,CA
+401401112,401401135,US
+401401136,401401151,CA
+401401152,401401215,US
401401216,401401247,CA
401401248,401401279,US
-401401280,401401295,CA
-401401296,401401343,US
-401401344,401401351,CA
-401401352,401401439,US
+401401280,401401359,CA
+401401360,401401375,US
+401401376,401401391,CA
+401401392,401401439,US
401401440,401401455,CA
401401456,401401463,US
401401464,401401471,CA
-401401472,401401567,US
-401401568,401401575,CA
-401401576,401401599,US
-401401600,401401615,CA
-401401616,401401623,US
-401401624,401401647,CA
-401401648,401401679,US
+401401472,401401503,US
+401401504,401401511,CA
+401401512,401401519,US
+401401520,401401535,CA
+401401536,401401567,US
+401401568,401401663,CA
+401401664,401401679,US
401401680,401401687,CA
-401401688,401401887,US
-401401888,401401903,CA
-401401904,401401919,US
-401401920,401401935,CA
+401401688,401401695,US
+401401696,401401727,CA
+401401728,401401855,US
+401401856,401401935,CA
401401936,401401983,US
-401401984,401401999,CA
-401402000,401402095,US
+401401984,401402031,CA
+401402032,401402047,US
+401402048,401402079,CA
+401402080,401402095,US
401402096,401402111,CA
-401402112,401402239,US
+401402112,401402207,US
+401402208,401402223,CA
+401402224,401402239,US
401402240,401402287,CA
401402288,401402303,US
401402304,401402335,CA
401402336,401402343,US
-401402344,401402367,CA
-401402368,401402879,US
-401402880,401402911,CA
-401402912,401402943,US
-401402944,401403007,CA
-401403008,401403135,US
-401403136,401403391,CA
-401403392,401403423,US
+401402344,401402623,CA
+401402624,401402879,US
+401402880,401403407,CA
+401403408,401403423,US
401403424,401403455,CA
401403456,401403503,US
401403504,401403583,CA
401403584,401403615,US
-401403616,401403647,CA
-401403648,401403679,US
+401403616,401403663,CA
+401403664,401403679,US
401403680,401403695,CA
-401403696,401403791,US
-401403792,401403807,CA
+401403696,401403743,US
+401403744,401403807,CA
401403808,401403839,US
-401403840,401403855,CA
-401403856,401403863,US
-401403864,401403871,CA
-401403872,401413887,US
+401403840,401403903,CA
+401403904,401413887,US
401413888,401414143,AR
401414144,401419775,US
401419776,401420031,CA
@@ -6057,7 +5965,11 @@
401420288,401420543,CA
401420544,401425407,US
401425408,401426431,CA
-401426432,401547263,US
+401426432,401426943,US
+401426944,401427455,DE
+401427456,401434623,US
+401434624,401435135,CA
+401435136,401547263,US
401547264,401555455,CA
401555456,401584895,US
401584896,401585023,CA
@@ -6117,7 +6029,8 @@
402128384,402128895,US
402128896,402169855,CA
402169856,402170111,KR
-402170112,402170879,US
+402170112,402170367,US
+402170368,402170879,HK
402170880,402171135,JP
402171136,402171391,BR
402171392,402171903,US
@@ -6139,11 +6052,9 @@
402178048,402223103,US
402223104,402227199,CA
402227200,402229247,PR
-402229248,402229503,US
-402229504,402230783,PR
-402230784,402231039,US
-402231040,402231295,PR
-402231296,402239301,US
+402229248,402229759,US
+402229760,402230527,PR
+402230528,402239301,US
402239302,402239302,CA
402239303,402239473,US
402239474,402239474,CA
@@ -6158,9 +6069,7 @@
402260032,402260039,FI
402260040,402260055,CA
402260056,402260063,US
-402260064,402260127,CA
-402260128,402260151,US
-402260152,402260159,CA
+402260064,402260159,CA
402260160,402260167,US
402260168,402260199,CA
402260200,402260231,US
@@ -6168,53 +6077,43 @@
402260272,402260279,GB
402260280,402260295,CA
402260296,402260303,US
-402260304,402260367,CA
-402260368,402260383,US
-402260384,402260431,CA
+402260304,402260431,CA
402260432,402260439,US
402260440,402260479,CA
-402260480,402260519,US
-402260520,402260527,CA
-402260528,402260543,US
-402260544,402260551,CA
-402260552,402260559,US
-402260560,402260575,CA
+402260480,402260511,US
+402260512,402260575,CA
402260576,402260655,US
-402260656,402260751,CA
-402260752,402260895,US
-402260896,402260903,CA
-402260904,402260991,US
+402260656,402260767,CA
+402260768,402260831,US
+402260832,402260863,CA
+402260864,402260895,US
+402260896,402260911,CA
+402260912,402260959,US
+402260960,402260967,CA
+402260968,402260991,US
402260992,402260999,CA
402261000,402261087,US
-402261088,402261095,CA
-402261096,402261103,US
-402261104,402261119,CA
-402261120,402261247,US
-402261248,402262015,CA
-402262016,402262279,US
-402262280,402262351,CA
+402261088,402261119,CA
+402261120,402261151,US
+402261152,402261183,CA
+402261184,402261215,US
+402261216,402262015,CA
+402262016,402262271,US
+402262272,402262351,CA
402262352,402262359,US
-402262360,402262431,CA
-402262432,402262439,SE
-402262440,402262447,CA
+402262360,402262447,CA
402262448,402262455,US
402262456,402262463,FI
402262464,402262479,US
402262480,402262519,CA
402262520,402262527,US
-402262528,402262575,CA
-402262576,402262599,US
-402262600,402262607,CA
-402262608,402262615,US
-402262616,402262631,CA
-402262632,402262639,US
-402262640,402262663,CA
+402262528,402262591,CA
+402262592,402262599,US
+402262600,402262663,CA
402262664,402262671,US
402262672,402262695,CA
402262696,402262703,US
-402262704,402262711,CA
-402262712,402262719,US
-402262720,402262751,CA
+402262704,402262751,CA
402262752,402262759,US
402262760,402262847,CA
402262848,402262855,US
@@ -6226,48 +6125,47 @@
402262944,402262951,US
402262952,402262975,CA
402262976,402262983,US
-402262984,402263015,CA
-402263016,402263039,US
-402263040,402263127,CA
-402263128,402263135,US
-402263136,402263295,CA
+402262984,402263295,CA
402263296,402263311,US
-402263312,402263319,CA
-402263320,402263327,US
-402263328,402263335,CA
+402263312,402263335,CA
402263336,402263343,US
402263344,402263359,CA
402263360,402263391,US
402263392,402263423,CA
-402263424,402263551,US
-402263552,402263807,CA
+402263424,402263455,US
+402263456,402263471,CA
+402263472,402263487,US
+402263488,402263807,CA
402263808,402264063,US
402264064,402264079,CA
402264080,402264095,US
-402264096,402264103,CA
-402264104,402264319,US
-402264320,402264327,CA
-402264328,402264335,US
-402264336,402264367,CA
-402264368,402265343,US
-402265344,402265407,CA
-402265408,402265415,US
-402265416,402265423,SE
-402265424,402265471,CA
-402265472,402265583,US
-402265584,402265599,CA
-402265600,402265631,US
+402264096,402264111,CA
+402264112,402264127,US
+402264128,402264175,CA
+402264176,402264319,US
+402264320,402264447,CA
+402264448,402264559,US
+402264560,402264575,CA
+402264576,402265343,US
+402265344,402265471,CA
+402265472,402265535,US
+402265536,402265551,CA
+402265552,402265583,US
+402265584,402265615,CA
+402265616,402265631,US
402265632,402265663,CA
402265664,402265690,US
402265691,402265691,BD
402265692,402265791,US
402265792,402265879,CA
-402265880,402266143,US
-402266144,402266159,CA
-402266160,402266215,US
-402266216,402266255,CA
-402266256,402266263,US
-402266264,402266287,CA
+402265880,402265887,US
+402265888,402265919,CA
+402265920,402265951,US
+402265952,402265967,CA
+402265968,402266143,US
+402266144,402266175,CA
+402266176,402266215,US
+402266216,402266287,CA
402266288,402266303,US
402266304,402266311,CA
402266312,402266319,US
@@ -6276,51 +6174,51 @@
402266344,402266351,CA
402266352,402266359,US
402266360,402266367,CA
-402266368,402266719,US
-402266720,402266727,CA
+402266368,402266655,US
+402266656,402266671,CA
+402266672,402266703,US
+402266704,402266727,CA
402266728,402266735,NO
402266736,402266751,US
-402266752,402266815,CA
-402266816,402266879,US
-402266880,402267391,CA
+402266752,402266831,CA
+402266832,402266847,US
+402266848,402267391,CA
402267392,402267423,US
402267424,402267439,CA
-402267440,402267647,US
-402267648,402267903,CA
-402267904,402268159,US
-402268160,402269191,CA
-402269192,402269207,US
+402267440,402267455,US
+402267456,402267471,CA
+402267472,402267487,US
+402267488,402267519,CA
+402267520,402267647,US
+402267648,402269199,CA
+402269200,402269207,US
402269208,402269215,CA
402269216,402269223,US
-402269224,402269231,CA
-402269232,402269247,US
-402269248,402269263,CA
+402269224,402269263,CA
402269264,402269455,US
-402269456,402269463,CA
-402269464,402269503,US
-402269504,402269519,CA
+402269456,402269519,CA
402269520,402269535,US
402269536,402269551,CA
402269552,402269567,US
402269568,402269583,CA
402269584,402269591,US
-402269592,402269599,CA
-402269600,402269647,US
-402269648,402269663,CA
-402269664,402269695,US
-402269696,402269767,CA
+402269592,402269631,CA
+402269632,402269647,US
+402269648,402269767,CA
402269768,402269967,US
402269968,402269983,CA
-402269984,402270207,US
-402270208,402270223,CA
-402270224,402270303,US
-402270304,402270335,CA
+402269984,402270031,US
+402270032,402270047,CA
+402270048,402270207,US
+402270208,402270335,CA
402270336,402270463,US
402270464,402270719,CA
-402270720,402270847,US
-402270848,402270871,CA
-402270872,402270943,US
-402270944,402270975,CA
+402270720,402270783,US
+402270784,402270879,CA
+402270880,402270895,US
+402270896,402270911,CA
+402270912,402270927,US
+402270928,402270975,CA
402270976,402271103,US
402271104,402271119,CA
402271120,402271135,US
@@ -6332,10 +6230,10 @@
402271440,402271455,US
402271456,402271487,CA
402271488,402271615,US
-402271616,402271623,CA
-402271624,402271735,US
-402271736,402271743,CA
-402271744,402272127,US
+402271616,402271631,CA
+402271632,402271735,US
+402271736,402271999,CA
+402272000,402272127,US
402272128,402272255,CA
402272256,402272639,US
402272640,402272663,CA
@@ -6345,37 +6243,33 @@
402272896,402273023,CA
402273024,402273151,US
402273152,402273279,CA
-402273280,402273407,US
-402273408,402273423,CA
-402273424,402273439,US
-402273440,402273471,CA
+402273280,402273327,US
+402273328,402273375,CA
+402273376,402273391,US
+402273392,402273471,CA
402273472,402273503,US
-402273504,402273511,CA
-402273512,402273535,US
-402273536,402273543,CA
-402273544,402273551,FI
-402273552,402273559,CA
-402273560,402273567,US
-402273568,402273599,CA
-402273600,402273919,US
-402273920,402273927,CA
+402273504,402273519,CA
+402273520,402273535,US
+402273536,402273599,CA
+402273600,402273791,US
+402273792,402273927,CA
402273928,402273951,US
402273952,402273983,CA
402273984,402273999,US
-402274000,402274007,CA
-402274008,402274175,US
-402274176,402274183,CA
-402274184,402274191,US
-402274192,402274239,CA
-402274240,402274463,US
+402274000,402274015,CA
+402274016,402274047,US
+402274048,402274239,CA
+402274240,402274287,US
+402274288,402274295,CA
+402274296,402274463,US
402274464,402274479,CA
-402274480,402274815,US
-402274816,402275199,CA
+402274480,402274543,US
+402274544,402275199,CA
402275200,402275335,US
402275336,402275351,CA
402275352,402275359,US
-402275360,402275391,CA
-402275392,402276607,US
+402275360,402275407,CA
+402275408,402276607,US
402276608,402277119,CA
402277120,402277631,US
402277632,402277887,CA
@@ -6384,9 +6278,7 @@
402278016,402278127,US
402278128,402278399,CA
402278400,402278655,US
-402278656,402279167,CA
-402279168,402279423,US
-402279424,402279679,CA
+402278656,402279679,CA
402279680,402279935,US
402279936,402279959,CA
402279960,402279967,US
@@ -6395,26 +6287,20 @@
402280192,402280207,CA
402280208,402280223,US
402280224,402280319,CA
-402280320,402280447,US
-402280448,402280479,CA
+402280320,402280383,US
+402280384,402280399,CA
+402280400,402280415,US
+402280416,402280479,CA
402280480,402281087,US
-402281088,402281103,CA
-402281104,402281119,US
-402281120,402281199,CA
+402281088,402281199,CA
402281200,402281471,US
402281472,402281603,CA
402281604,402281607,US
-402281608,402281623,CA
-402281624,402281631,US
-402281632,402281687,CA
+402281608,402281687,CA
402281688,402281691,US
-402281692,402281703,CA
-402281704,402281711,US
-402281712,402281727,CA
-402281728,402281855,US
-402281856,402281871,CA
-402281872,402281887,US
-402281888,402281991,CA
+402281692,402281727,CA
+402281728,402281823,US
+402281824,402281991,CA
402281992,402281999,US
402282000,402282111,CA
402282112,402282239,US
@@ -6424,48 +6310,52 @@
402282816,402282847,US
402282848,402282879,CA
402282880,402282911,US
-402282912,402282919,CA
-402282920,402283775,US
-402283776,402283903,CA
-402283904,402284031,US
-402284032,402284039,CA
+402282912,402282927,CA
+402282928,402282943,US
+402282944,402282959,CA
+402282960,402282975,US
+402282976,402283007,CA
+402283008,402283775,US
+402283776,402284039,CA
402284040,402284047,US
402284048,402284159,CA
402284160,402284287,US
-402284288,402284799,CA
+402284288,402284351,CA
+402284352,402284415,CN
+402284416,402284799,CA
402284800,402285055,US
-402285056,402285311,CA
-402285312,402285343,US
-402285344,402285375,CA
-402285376,402285439,US
+402285056,402285327,CA
+402285328,402285343,US
+402285344,402285407,CA
+402285408,402285439,US
402285440,402285567,CA
-402285568,402286143,US
-402286144,402286175,CA
-402286176,402286207,US
-402286208,402286303,CA
-402286304,402286927,US
+402285568,402286079,US
+402286080,402286335,CA
+402286336,402286847,US
+402286848,402286863,CA
+402286864,402286895,US
+402286896,402286911,CA
+402286912,402286927,US
402286928,402286935,CA
402286936,402286975,US
402286976,402286983,CA
402286984,402286991,US
402286992,402287207,CA
-402287208,402287231,US
-402287232,402287263,CA
-402287264,402287287,US
-402287288,402287295,CA
-402287296,402287391,US
+402287208,402287215,US
+402287216,402287263,CA
+402287264,402287279,US
+402287280,402287343,CA
+402287344,402287391,US
402287392,402287423,CA
402287424,402287487,US
402287488,402287551,CA
402287552,402287583,US
-402287584,402287607,CA
-402287608,402287615,US
-402287616,402287631,CA
-402287632,402287647,US
-402287648,402287743,CA
+402287584,402287743,CA
402287744,402287799,US
-402287800,402287807,CA
-402287808,402287903,US
+402287800,402287823,CA
+402287824,402287839,US
+402287840,402287887,CA
+402287888,402287903,US
402287904,402288007,CA
402288008,402288015,US
402288016,402288031,CA
@@ -6473,13 +6363,19 @@
402288064,402288135,CA
402288136,402288143,US
402288144,402288159,CA
-402288160,402288191,US
-402288192,402288223,CA
-402288224,402288383,US
+402288160,402288175,US
+402288176,402288223,CA
+402288224,402288255,US
+402288256,402288271,CA
+402288272,402288287,US
+402288288,402288319,CA
+402288320,402288383,US
402288384,402288391,CA
-402288392,402288415,US
-402288416,402288431,CA
-402288432,402288591,US
+402288392,402288399,US
+402288400,402288431,CA
+402288432,402288447,US
+402288448,402288511,CA
+402288512,402288591,US
402288592,402288607,CA
402288608,402288623,US
402288624,402288631,CA
@@ -6492,53 +6388,31 @@
402289064,402289071,US
402289072,402289119,CA
402289120,402289151,US
-402289152,402289159,CA
-402289160,402289163,US
-402289164,402289183,CA
-402289184,402289187,US
-402289188,402289191,CA
-402289192,402289195,US
-402289196,402289199,CA
-402289200,402289207,US
-402289208,402289211,CA
-402289212,402289219,US
-402289220,402289255,CA
-402289256,402289259,US
-402289260,402289263,CA
-402289264,402289267,US
-402289268,402289407,CA
+402289152,402289407,CA
402289408,402289471,US
402289472,402289535,CA
402289536,402289663,US
402289664,402289679,CA
402289680,402289695,US
402289696,402289711,CA
-402289712,402289735,US
-402289736,402289743,CA
+402289712,402289719,US
+402289720,402289743,CA
402289744,402289759,US
402289760,402289775,CA
402289776,402289791,US
-402289792,402289903,CA
-402289904,402290047,US
-402290048,402290135,CA
-402290136,402290143,US
-402290144,402290175,CA
-402290176,402290255,US
+402289792,402289983,CA
+402289984,402290047,US
+402290048,402290239,CA
+402290240,402290255,US
402290256,402290271,CA
402290272,402290287,US
402290288,402290295,CA
402290296,402290303,US
402290304,402290399,CA
402290400,402290407,US
-402290408,402290447,CA
-402290448,402290451,US
-402290452,402290475,CA
-402290476,402290511,US
-402290512,402290543,CA
-402290544,402290547,US
-402290548,402290567,CA
-402290568,402290579,US
-402290580,402290639,CA
+402290408,402290479,CA
+402290480,402290511,US
+402290512,402290639,CA
402290640,402290655,US
402290656,402290687,CA
402290688,402290815,US
@@ -6548,9 +6422,9 @@
402290880,402290919,US
402290920,402290975,CA
402290976,402291007,US
-402291008,402291039,CA
-402291040,402291047,US
-402291048,402291055,CA
+402291008,402291041,CA
+402291042,402291042,US
+402291043,402291055,CA
402291056,402291063,US
402291064,402291087,CA
402291088,402291119,US
@@ -6560,10 +6434,10 @@
402291216,402291263,US
402291264,402291279,CA
402291280,402291287,US
-402291288,402291311,CA
-402291312,402291319,US
-402291320,402291327,CA
-402291328,402291423,US
+402291288,402291327,CA
+402291328,402291359,US
+402291360,402291391,CA
+402291392,402291423,US
402291424,402291439,CA
402291440,402291455,US
402291456,402291711,CA
@@ -6602,31 +6476,33 @@
402409471,402409471,TR
402409472,402410495,US
402410496,402410751,TR
-402410752,402522111,US
-402522112,402522167,CA
-402522168,402522183,US
+402410752,402455295,US
+402455296,402455551,DE
+402455552,402522111,US
+402522112,402522175,CA
+402522176,402522183,US
402522184,402522223,CA
402522224,402522231,US
-402522232,402522247,CA
-402522248,402522255,US
-402522256,402522271,CA
+402522232,402522271,CA
402522272,402522287,US
402522288,402522327,CA
402522328,402522335,US
-402522336,402522359,CA
-402522360,402522367,US
-402522368,402522399,CA
-402522400,402522407,US
-402522408,402522455,CA
-402522456,402522471,US
-402522472,402522479,CA
-402522480,402522655,US
+402522336,402522479,CA
+402522480,402522559,US
+402522560,402522591,CA
+402522592,402522607,US
+402522608,402522623,CA
+402522624,402522655,US
402522656,402522679,CA
-402522680,402522919,US
-402522920,402522927,CA
-402522928,402522975,US
-402522976,402522983,CA
-402522984,402523103,US
+402522680,402522911,US
+402522912,402522943,CA
+402522944,402522975,US
+402522976,402522991,CA
+402522992,402523007,US
+402523008,402523023,CA
+402523024,402523039,US
+402523040,402523071,CA
+402523072,402523103,US
402523104,402523111,CA
402523112,402523135,US
402523136,402523167,CA
@@ -6635,10 +6511,10 @@
402523424,402523447,US
402523448,402523455,CA
402523456,402523487,US
-402523488,402523495,CA
-402523496,402523647,US
-402523648,402523671,CA
-402523672,402523711,US
+402523488,402523503,CA
+402523504,402523647,US
+402523648,402523679,CA
+402523680,402523711,US
402523712,402523743,CA
402523744,402524159,US
402524160,402524191,CA
@@ -6646,54 +6522,70 @@
402524256,402524263,CA
402524264,402524271,FI
402524272,402524279,CA
-402524280,402524447,US
+402524280,402524351,US
+402524352,402524383,CA
+402524384,402524415,US
+402524416,402524431,CA
+402524432,402524447,US
402524448,402524479,CA
402524480,402524575,US
-402524576,402524583,CA
-402524584,402524607,US
+402524576,402524591,CA
+402524592,402524607,US
402524608,402524639,CA
402524640,402524663,US
402524664,402524671,CA
402524672,402524799,US
402524800,402524831,CA
402524832,402524895,US
-402524896,402524903,CA
-402524904,402524911,US
-402524912,402524927,CA
+402524896,402524927,CA
402524928,402524959,US
-402524960,402524975,CA
-402524976,402525007,US
+402524960,402524991,CA
+402524992,402525007,US
402525008,402525023,CA
-402525024,402525375,US
-402525376,402525391,CA
-402525392,402525407,US
-402525408,402525415,CA
-402525416,402525423,NO
-402525424,402525431,CA
-402525432,402526559,US
-402526560,402526655,CA
+402525024,402525055,US
+402525056,402525087,CA
+402525088,402525103,US
+402525104,402525119,CA
+402525120,402525167,US
+402525168,402525183,CA
+402525184,402525279,US
+402525280,402525295,CA
+402525296,402525375,US
+402525376,402525439,CA
+402525440,402526079,US
+402526080,402526207,CA
+402526208,402526527,US
+402526528,402526655,CA
402526656,402526671,US
402526672,402526687,CA
402526688,402526719,US
402526720,402526975,CA
402526976,402527359,US
-402527360,402527383,CA
-402527384,402527743,US
-402527744,402527999,CA
-402528000,402528415,US
-402528416,402528447,CA
-402528448,402529535,US
+402527360,402527391,CA
+402527392,402527615,US
+402527616,402527679,CA
+402527680,402527743,US
+402527744,402528255,CA
+402528256,402528383,US
+402528384,402528447,CA
+402528448,402528511,US
+402528512,402528767,CA
+402528768,402529535,US
402529536,402529791,CA
-402529792,402530175,US
-402530176,402530303,CA
+402529792,402530047,US
+402530048,402530303,CA
402530304,402530559,US
402530560,402531071,CA
-402531072,402531839,US
+402531072,402531327,US
+402531328,402531583,CA
+402531584,402531839,US
402531840,402531935,CA
-402531936,402532095,US
-402532096,402532159,CA
-402532160,402532287,US
-402532288,402532351,CA
+402531936,402532031,US
+402532032,402532159,CA
+402532160,402532231,US
+402532232,402532247,CA
+402532248,402532255,US
+402532256,402532351,CA
402532352,402532863,US
402532864,402532887,CA
402532888,402532895,US
@@ -6705,46 +6597,57 @@
402533000,402533007,US
402533008,402533015,CA
402533016,402533023,US
-402533024,402533031,CA
-402533032,402533039,SE
+402533024,402533039,CA
402533040,402533055,US
402533056,402533111,CA
402533112,402533279,US
402533280,402533295,CA
-402533296,402533343,US
+402533296,402533311,US
+402533312,402533327,CA
+402533328,402533343,US
402533344,402533375,CA
402533376,402533759,US
402533760,402533791,CA
402533792,402533887,US
402533888,402533903,CA
-402533904,402534015,US
+402533904,402533919,US
+402533920,402533935,CA
+402533936,402534015,US
402534016,402534079,CA
402534080,402534095,US
-402534096,402534103,CA
-402534104,402534143,US
+402534096,402534111,CA
+402534112,402534143,US
402534144,402534175,CA
-402534176,402534479,US
+402534176,402534255,US
+402534256,402534271,CA
+402534272,402534319,US
+402534320,402534399,CA
+402534400,402534479,US
402534480,402534487,CA
-402534488,402536191,US
+402534488,402534655,US
+402534656,402535423,CA
+402535424,402536191,US
402536192,402536255,CA
-402536256,402536351,US
+402536256,402536287,US
+402536288,402536303,CA
+402536304,402536351,US
402536352,402536367,CA
402536368,402536383,US
402536384,402536391,CA
402536392,402536399,US
-402536400,402536431,CA
-402536432,402536447,US
-402536448,402536455,CA
+402536400,402536455,CA
402536456,402536463,US
402536464,402536479,CA
402536480,402536527,US
402536528,402536543,CA
-402536544,402536703,US
+402536544,402536575,US
+402536576,402536639,CA
+402536640,402536703,US
402536704,402536959,CA
402536960,402537215,US
402537216,402537279,CA
-402537280,402537407,US
-402537408,402537471,CA
+402537280,402537367,US
+402537368,402537471,CA
402537472,402537983,US
402537984,402538239,CA
402538240,402538687,US
@@ -6753,24 +6656,24 @@
402538752,402538759,CA
402538760,402538767,US
402538768,402538815,CA
-402538816,402538895,US
+402538816,402538863,US
+402538864,402538879,CA
+402538880,402538895,US
402538896,402538911,CA
402538912,402538927,US
-402538928,402538943,CA
-402538944,402538975,US
+402538928,402538959,CA
+402538960,402538975,US
402538976,402539071,CA
402539072,402539087,US
-402539088,402539095,SE
-402539096,402539103,US
-402539104,402539119,CA
-402539120,402539199,US
+402539088,402539135,CA
+402539136,402539199,US
402539200,402539327,CA
402539328,402539455,US
-402539456,402539535,CA
-402539536,402539647,US
+402539456,402539583,CA
+402539584,402539647,US
402539648,402539711,CA
-402539712,402540287,US
-402540288,402541119,CA
+402539712,402540031,US
+402540032,402541119,CA
402541120,402541247,US
402541248,402541311,CA
402541312,402541567,US
@@ -6780,23 +6683,23 @@
402543168,402543295,US
402543296,402543303,CA
402543304,402543311,US
-402543312,402543319,CA
-402543320,402543343,US
-402543344,402543351,CA
-402543352,402543359,US
-402543360,402543367,CA
+402543312,402543327,CA
+402543328,402543343,US
+402543344,402543367,CA
402543368,402543375,US
402543376,402543391,CA
402543392,402543487,US
402543488,402543551,CA
-402543552,402543599,US
-402543600,402543607,CA
+402543552,402543583,US
+402543584,402543607,CA
402543608,402544415,US
402544416,402544423,CA
-402544424,402544511,US
+402544424,402544479,US
+402544480,402544495,CA
+402544496,402544511,US
402544512,402544551,CA
-402544552,402544599,US
-402544600,402544607,CA
+402544552,402544591,US
+402544592,402544607,CA
402544608,402546687,US
402546688,402546943,CA
402546944,402547455,US
@@ -6845,7 +6748,19 @@
405184512,405364735,US
405364736,405368831,CA
405368832,405372927,JP
-405372928,405422079,PR
+405372928,405373439,PR
+405373440,405373695,US
+405373696,405375999,PR
+405376000,405376255,US
+405376256,405379071,PR
+405379072,405380095,US
+405380096,405382399,PR
+405382400,405382655,US
+405382656,405388287,PR
+405388288,405388543,US
+405388544,405389311,PR
+405389312,405389823,US
+405389824,405422079,PR
405422080,405798911,US
405798912,405831679,CA
405831680,405843967,US
@@ -6857,7 +6772,9 @@
405938176,405962751,CA
405962752,405970943,US
405970944,405979135,CA
-405979136,405995519,PR
+405979136,405990655,PR
+405990656,405990911,US
+405990912,405995519,PR
405995520,406011903,US
406011904,406028287,BS
406028288,406052863,US
@@ -6912,9 +6829,9 @@
411303936,411369471,NL
411369472,411435007,TR
411435008,411500543,DE
-411500544,411509759,RS
-411509760,411510783,XK
-411510784,411566079,RS
+411500544,411509247,RS
+411509248,411509759,XK
+411509760,411566079,RS
411566080,411639807,US
411639808,411664383,CA
411664384,411680767,US
@@ -6953,7 +6870,9 @@
413925376,415760383,US
415760384,416022527,CA
416022528,416059391,US
-416059392,416088063,CA
+416059392,416065535,CA
+416065536,416067583,US
+416067584,416088063,CA
416088064,416153599,US
416153600,416161791,BS
416161792,416219135,US
@@ -6980,8 +6899,7 @@
417808384,417820671,CA
417820672,417857535,US
417857536,417923071,AR
-417923072,418059775,US
-418059776,418060287,GB
+417923072,418060287,US
418060288,418062335,HK
418062336,418070527,CA
418070528,418078719,US
@@ -7148,10 +7066,7 @@
460226560,460259327,PH
460259328,460261375,AU
460261376,460262399,KH
-460262400,460262655,US
-460262656,460262911,AU
-460262912,460263167,NZ
-460263168,460263423,GB
+460262400,460263423,NZ
460263424,460267519,NP
460267520,460275711,ID
460275712,460277759,AU
@@ -7249,13 +7164,15 @@
461104128,461104383,CN
461104384,461104639,HK
461104640,461105151,JP
-461105152,461106175,CN
+461105152,461106175,HK
461106176,461107199,JP
461107200,461108223,IN
461108224,461109247,BD
461109248,461110271,IN
461110272,461111295,BD
-461111296,461127679,IN
+461111296,461119487,IN
+461119488,461123583,KH
+461123584,461127679,IN
461127680,461131775,PH
461131776,461135871,ID
461135872,461143295,AU
@@ -7482,7 +7399,8 @@
521014016,521014271,NL
521014272,521018367,RO
521018368,521018623,IT
-521018624,521019135,RO
+521018624,521018879,DE
+521018880,521019135,RO
521019136,521019391,GB
521019392,521019647,NL
521019648,521019903,RS
@@ -7571,9 +7489,7 @@
521601024,521666559,RU
521666560,521668607,GB
521668608,521670655,CH
-521670656,521670911,HU
-521670912,521671935,DE
-521671936,521672703,HU
+521670656,521672703,HU
521672704,521674751,RU
521674752,521676799,GB
521676800,521678847,ES
@@ -7676,13 +7592,30 @@
522715136,522717183,IR
522717184,522719231,RU
522719232,522721279,UA
-522721280,522723327,UZ
+522721280,522722303,RU
+522722304,522723327,UZ
522723328,522741759,RU
522741760,522743807,UA
-522743808,522751999,RU
-522752000,522758143,UA
-522758144,522759167,RU
-522759168,522764287,UA
+522743808,522747973,RU
+522747974,522747974,UA
+522747975,522765311,RU
+522765312,522766335,TR
+522766336,522767359,RU
+522767360,522768383,TR
+522768384,522768895,US
+522768896,522769407,CN
+522769408,522770431,DE
+522770432,522771455,NL
+522771456,522772479,TR
+522772480,522773503,RO
+522773504,522774527,TR
+522774528,522775551,LT
+522775552,522776575,CH
+522776576,522777599,MD
+522777600,522778623,ES
+522778624,522779135,GB
+522779136,522779647,RU
+522779648,522780671,US
522780672,522782719,RU
522782720,522784767,UA
522784768,522786815,BG
@@ -7849,7 +7782,7 @@
528836608,528838655,RU
528838656,528840703,PL
528840704,528842751,RU
-528842752,528859135,TH
+528842752,528859135,CH
528859136,528861183,RO
528861184,528863231,RU
528863232,528867327,KZ
@@ -7907,7 +7840,9 @@
529829888,529830911,UZ
529830912,529831935,RU
529831936,529833983,SY
-529833984,529836799,RU
+529833984,529836031,RU
+529836032,529836287,UA
+529836288,529836799,RU
529836800,529837055,UA
529837056,529837823,RU
529837824,529842175,UA
@@ -7961,9 +7896,7 @@
531200000,531201023,DE
531201024,531202047,BG
531202048,531234815,CZ
-531234816,531236607,IE
-531236608,531236671,GB
-531236672,531236863,IE
+531234816,531236863,IE
531236864,531238911,FR
531238912,531240959,LV
531240960,531243007,SE
@@ -7985,10 +7918,10 @@
531281920,531283967,RU
531283968,531292159,DE
531292160,531333119,AZ
-531333120,531334143,NL
-531334144,531334399,US
-531334400,531334527,NL
-531334528,531335167,US
+531333120,531333247,NL
+531333248,531334015,US
+531334016,531334143,NL
+531334144,531335167,US
531335168,531337215,IT
531337216,531339263,CH
531339264,531341311,AL
@@ -8011,12 +7944,39 @@
531402752,531404799,LU
531404800,531406847,FI
531406848,531408895,FR
-531408896,531409919,PL
+531408896,531409407,DE
+531409408,531409919,NL
531409920,531410943,FR
531410944,531415039,PL
531415040,531423231,RU
531423232,531424255,LT
-531424256,531427327,FR
+531424256,531425295,FR
+531425296,531425311,GB
+531425312,531425327,FR
+531425328,531425343,GB
+531425344,531425391,FR
+531425392,531425407,GB
+531425408,531425791,FR
+531425792,531425823,GB
+531425824,531425839,FR
+531425840,531425871,GB
+531425872,531425879,FR
+531425880,531425951,GB
+531425952,531425983,FR
+531425984,531426015,GB
+531426016,531426751,FR
+531426752,531426791,GB
+531426792,531426863,FR
+531426864,531426867,GB
+531426868,531426875,FR
+531426876,531426879,GB
+531426880,531426907,FR
+531426908,531426911,GB
+531426912,531427023,FR
+531427024,531427039,GB
+531427040,531427047,FR
+531427048,531427071,GB
+531427072,531427327,FR
531427328,531427503,GB
531427504,531427511,IT
531427512,531427967,GB
@@ -8089,22 +8049,9 @@
532303872,532305919,PL
532305920,532307967,NO
532307968,532310015,RU
-532310016,532310016,GR
-532310017,532310271,BG
-532310272,532310272,GR
-532310273,532310527,BG
-532310528,532310528,GR
-532310529,532310783,BG
-532310784,532310784,GR
-532310785,532311039,BG
-532311040,532311040,GR
-532311041,532311295,BG
-532311296,532311296,GR
-532311297,532311551,BG
-532311552,532311552,GR
-532311553,532311807,BG
-532311808,532311808,GR
-532311809,532312063,BG
+532310016,532310023,GR
+532310024,532310031,BG
+532310032,532312063,GR
532312064,532312983,JE
532312984,532312991,GB
532312992,532314111,JE
@@ -8116,9 +8063,7 @@
532332544,532340735,SK
532340736,532341503,GB
532341504,532341759,DE
-532341760,532343967,GB
-532343968,532343983,US
-532343984,532344319,GB
+532341760,532344319,GB
532344320,532344371,FR
532344372,532344372,GB
532344373,532344575,FR
@@ -8147,7 +8092,7 @@
532368640,532370431,DE
532370432,532371455,FI
532371456,532372479,DE
-532372480,532372735,EE
+532372480,532372735,FR
532372736,532372767,GB
532372768,532372783,CA
532372784,532372799,BR
@@ -8157,17 +8102,18 @@
532372864,532372895,IT
532372896,532372959,SE
532372960,532372991,RU
-532372992,532373247,EE
+532372992,532373247,FR
532373248,532373343,DE
-532373344,532373503,CH
+532373344,532373503,EE
532373504,532375551,RU
532375552,532377599,IT
532377600,532381695,DE
532381696,532414463,NL
532414464,532676607,IT
532676608,532692991,GE
-532692992,532700927,CZ
-532700928,532701183,SK
+532692992,532701153,CZ
+532701154,532701154,SK
+532701155,532701183,CZ
532701184,532703231,GB
532703232,532705279,RU
532705280,532709375,NL
@@ -8182,7 +8128,9 @@
532742144,532746239,GB
532746240,532750636,IT
532750637,532750637,SM
-532750638,532752383,IT
+532750638,532750847,IT
+532750848,532751359,SM
+532751360,532752383,IT
532752384,532754431,BE
532754432,532756479,FR
532756480,532758527,IT
@@ -8259,9 +8207,7 @@
533815296,533815296,TR
533815297,533816319,CY
533816320,533816320,TR
-533816321,533817343,CY
-533817344,533817599,TR
-533817600,533819391,CY
+533816321,533819391,CY
533819392,533823487,DE
533823488,533825535,BE
533825536,533831679,IS
@@ -8325,7 +8271,9 @@
534158592,534158847,NL
534158848,534161407,DE
534161408,534163455,IR
-534163456,534167551,ES
+534163456,534166527,ES
+534166528,534166783,DE
+534166784,534167551,ES
534167552,534169599,DE
534169600,534170111,IR
534170112,534176767,DE
@@ -8410,7 +8358,8 @@
534519808,534521855,US
534521856,534522367,DE
534522368,534523391,NL
-534523392,534527999,US
+534523392,534523903,RU
+534523904,534527999,US
534528000,534530047,DE
534530048,534538239,ES
534538240,534538751,US
@@ -8450,8 +8399,17 @@
534767616,534769663,HU
534769664,534773759,IT
534773760,536870911,DE
-536870912,539623423,US
-539623424,539627519,NL
+536870912,538451849,US
+538451850,538451850,SG
+538451851,539471492,US
+539471493,539471493,SG
+539471494,539623423,US
+539623424,539624577,GB
+539624578,539624578,NL
+539624579,539625471,GB
+539625472,539626751,NL
+539626752,539627007,GB
+539627008,539627519,NL
539627520,539629455,GB
539629456,539629463,BE
539629464,539629975,GB
@@ -8480,26 +8438,24 @@
540725248,540727295,FR
540727296,540729343,DE
540729344,540731391,US
-540731392,540737535,GB
-540737536,540753919,BR
-540753920,540758015,AR
-540758016,540803071,BR
+540731392,540735487,GB
+540735488,540737535,NL
+540737536,540803071,BR
540803072,540811263,US
540811264,540814084,SG
540814085,540814086,TH
540814087,540814327,SG
540814328,540814328,IN
-540814329,540817075,SG
-540817076,540817076,AU
-540817077,540817407,SG
-540817408,540817663,AE
-540817664,540819455,SG
-540819456,540823551,CA
-540823552,540825347,US
+540814329,540819455,SG
+540819456,540820959,US
+540820960,540820975,CA
+540820976,540825347,US
540825348,540825348,CA
540825349,540826383,US
540826384,540826399,CA
-540826400,540829695,US
+540826400,540829183,US
+540829184,540829439,CA
+540829440,540829695,US
540829696,540833791,CA
540833792,543524607,US
543524608,543524863,CA
@@ -8561,9 +8517,7 @@
544250496,544250499,GB
544250500,544250527,US
544250528,544250531,GB
-544250532,544433151,US
-544433152,544434175,CA
-544434176,544436771,US
+544250532,544436771,US
544436772,544436775,CA
544436776,586153983,US
586153984,587006719,IE
@@ -8578,7 +8532,9 @@
598999040,599064575,FR
599064576,599130111,US
599130112,599261183,CA
-599261184,599359487,US
+599261184,599302155,US
+599302156,599302156,BE
+599302157,599359487,US
599359488,599375871,SG
599375872,599429472,US
599429473,599429473,SG
@@ -8590,7 +8546,9 @@
599615126,599615126,GB
599615127,599621631,US
599621632,599638015,SG
-599638016,600153368,US
+599638016,599954782,US
+599954783,599954783,TW
+599954784,600153368,US
600153369,600153369,SG
600153370,600164504,US
600164505,600164505,IE
@@ -8600,23 +8558,39 @@
600171165,600171165,GB
600171166,600243604,US
600243605,600243605,SG
-600243606,600342898,US
+600243606,600338115,US
+600338116,600338116,JP
+600338117,600342898,US
600342899,600342899,IN
600342900,600356283,US
600356284,600356284,IN
-600356285,600374233,US
+600356285,600371328,US
+600371329,600371329,IN
+600371330,600374233,US
600374234,600374234,IN
-600374235,600376938,US
+600374235,600375075,US
+600375076,600375076,IN
+600375077,600376938,US
600376939,600376939,AU
600376940,600406997,US
600406998,600406998,BE
600406999,600506957,US
600506958,600506958,CA
-600506959,602150057,US
+600506959,600637695,US
+600637696,600637951,BE
+600637952,602150057,US
602150058,602150058,FI
-602150059,602574473,US
+602150059,602337535,US
+602337536,602337663,JP
+602337664,602574473,US
602574474,602574474,GB
-602574475,602992238,US
+602574475,602595455,US
+602595456,602595583,AU
+602595584,602603647,US
+602603648,602603775,BR
+602603776,602615935,US
+602615936,602616063,GB
+602616064,602992238,US
602992239,602992239,SG
602992240,603979775,US
603979776,603980799,CN
@@ -8660,8 +8634,11 @@
620715008,620716031,AU
620716032,620716287,TW
620716288,620716543,PH
-620716544,620716799,BE
-620716800,620718079,PK
+620716544,620716799,SG
+620716800,620717000,IN
+620717001,620717001,PK
+620717002,620717055,IN
+620717056,620718079,PK
620718080,620718591,MV
620718592,620719103,PH
620719104,620720127,IN
@@ -8691,7 +8668,7 @@
620745728,620745983,SG
620745984,620746751,PK
620746752,620747775,JP
-620747776,620748799,CN
+620747776,620748799,HK
620748800,620751871,IN
620751872,620752895,JP
620752896,620753919,IN
@@ -8781,7 +8758,8 @@
621417472,621417727,DE
621417728,621418495,NL
621418496,621419007,US
-621419008,621419519,CN
+621419008,621419263,CN
+621419264,621419519,SG
621419520,621421055,NL
621421056,621421567,US
621421568,621422591,NL
@@ -8831,7 +8809,9 @@
621938688,621939458,GE
621939459,621939459,RU
621939460,621939711,GE
-621939712,621969407,RU
+621939712,621953023,RU
+621953024,621955071,NL
+621955072,621969407,RU
621969408,621970431,GB
621970432,621971455,ES
621971456,621973503,IM
@@ -8909,7 +8889,7 @@
622518784,622519039,DE
622519040,622519295,GB
622519296,622519551,FR
-622519552,622520319,GB
+622519552,622520319,NL
622520320,622522367,RU
622522368,622524415,FR
622524416,622526463,ES
@@ -8974,8 +8954,12 @@
623097739,623116287,ES
623116288,623191332,KW
623191333,623191333,SA
-623191334,623378431,KW
-623378432,623509503,OM
+623191334,623339519,KW
+623339520,623339775,IT
+623339776,623378431,KW
+623378432,623386623,OM
+623386624,623388671,GB
+623388672,623509503,OM
623509504,623575807,SA
623575808,623576063,RO
623576064,623640575,SA
@@ -8988,7 +8972,22 @@
623654912,623656959,IR
623656960,623673343,BY
623673344,623689727,NO
-623689728,623693823,RU
+623689728,623690751,RU
+623690752,623691263,PL
+623691264,623693823,RU
+623693824,623694847,CZ
+623694848,623695871,LT
+623695872,623696895,JP
+623696896,623697919,AT
+623697920,623698943,MC
+623698944,623699967,TR
+623699968,623700991,UA
+623700992,623702015,FR
+623702016,623703039,BE
+623703040,623704063,DE
+623704064,623705087,DK
+623705088,623705599,NL
+623705600,623706111,US
623706112,623771647,BY
623771648,623773695,GB
623773696,623774719,DE
@@ -9023,7 +9022,9 @@
623826944,623827967,UA
623827968,623828991,BG
623828992,623837183,UA
-623837184,623902719,PL
+623837184,623885999,PL
+623886000,623886015,GB
+623886016,623902719,PL
623902720,623919103,CZ
623919104,623935487,NL
623935488,623960063,SY
@@ -9054,11 +9055,15 @@
624625849,624625849,CA
624625850,624640071,FR
624640072,624640075,PL
-624640076,624640119,FR
+624640076,624640091,FR
+624640092,624640095,PL
+624640096,624640119,FR
624640120,624640127,DE
624640128,624640147,FR
624640148,624640159,DE
-624640160,624640187,FR
+624640160,624640175,FR
+624640176,624640183,PL
+624640184,624640187,FR
624640188,624640191,GB
624640192,624640255,FR
624640256,624640259,GB
@@ -9077,7 +9082,9 @@
624640828,624640831,DE
624640832,624640931,FR
624640932,624640935,ES
-624640936,624641183,FR
+624640936,624641067,FR
+624641068,624641071,PL
+624641072,624641183,FR
624641184,624641187,CZ
624641188,624641191,ES
624641192,624641375,FR
@@ -9086,7 +9093,9 @@
624641536,624641551,IE
624641552,624641855,FR
624641856,624641887,GB
-624641888,624642035,FR
+624641888,624642019,FR
+624642020,624642023,PL
+624642024,624642035,FR
624642036,624642039,ES
624642040,624642299,FR
624642300,624642303,ES
@@ -9096,9 +9105,13 @@
624642480,624642483,GB
624642484,624642527,FR
624642528,624642559,DE
-624642560,624642711,FR
+624642560,624642639,FR
+624642640,624642651,PL
+624642652,624642711,FR
624642712,624642719,PL
-624642720,624642815,FR
+624642720,624642727,FR
+624642728,624642735,PL
+624642736,624642815,FR
624642816,624642831,LT
624642832,624642911,FR
624642912,624642943,IE
@@ -9116,7 +9129,9 @@
624643344,624643351,ES
624643352,624643423,FR
624643424,624643459,ES
-624643460,624643791,FR
+624643460,624643487,FR
+624643488,624643503,PL
+624643504,624643791,FR
624643792,624643807,DE
624643808,624643811,FR
624643812,624643815,CH
@@ -9132,13 +9147,18 @@
624644304,624644307,IE
624644308,624644667,FR
624644668,624644671,DK
-624644672,624644939,FR
+624644672,624644687,FR
+624644688,624644695,PL
+624644696,624644735,FR
+624644736,624644767,PL
+624644768,624644939,FR
624644940,624644943,ES
624644944,624645183,FR
624645184,624645215,ES
624645216,624645479,FR
624645480,624645487,CZ
-624645488,624645583,FR
+624645488,624645579,FR
+624645580,624645583,PL
624645584,624645591,GB
624645592,624645663,FR
624645664,624645695,PT
@@ -9164,14 +9184,19 @@
624646776,624646847,FR
624646848,624646911,DE
624646912,624646927,LT
-624646928,624647171,FR
+624646928,624646987,FR
+624646988,624646991,PL
+624646992,624647127,FR
+624647128,624647135,PL
+624647136,624647171,FR
624647172,624647183,ES
624647184,624647459,FR
624647460,624647463,GB
624647464,624647675,FR
624647676,624647679,ES
624647680,624647935,DE
-624647936,624648139,FR
+624647936,624648135,FR
+624648136,624648139,PL
624648140,624648143,ES
624648144,624656727,FR
624656728,624656731,PT
@@ -9194,7 +9219,9 @@
624657472,624657475,DE
624657476,624657543,FR
624657544,624657547,ES
-624657548,624657615,FR
+624657548,624657567,FR
+624657568,624657583,PL
+624657584,624657615,FR
624657616,624657631,GB
624657632,624657711,FR
624657712,624657715,ES
@@ -9215,28 +9242,41 @@
624658272,624658279,PT
624658280,624658323,FR
624658324,624658327,IE
-624658328,624658479,FR
+624658328,624658391,FR
+624658392,624658395,PL
+624658396,624658479,FR
624658480,624658483,DE
624658484,624658487,ES
624658488,624658535,FR
624658536,624658539,ES
-624658540,624658559,FR
+624658540,624658543,PL
+624658544,624658559,FR
624658560,624658591,LT
-624658592,624658803,FR
+624658592,624658639,FR
+624658640,624658655,PL
+624658656,624658803,FR
624658804,624658807,CZ
624658808,624658863,FR
624658864,624658879,ES
624658880,624658967,FR
624658968,624658971,DE
-624658972,624659071,FR
+624658972,624658983,FR
+624658984,624658987,PL
+624658988,624659071,FR
624659072,624659135,ES
-624659136,624659599,FR
+624659136,624659319,FR
+624659320,624659323,PL
+624659324,624659407,FR
+624659408,624659415,PL
+624659416,624659599,FR
624659600,624659607,ES
624659608,624659611,FR
624659612,624659615,PL
624659616,624659975,FR
624659976,624659983,LT
-624659984,624660103,FR
+624659984,624659987,FR
+624659988,624659991,PL
+624659992,624660103,FR
624660104,624660107,PT
624660108,624660127,FR
624660128,624660131,IE
@@ -9244,7 +9284,9 @@
624660608,624660639,IE
624660640,624660703,FR
624660704,624660719,PL
-624660720,624660827,FR
+624660720,624660803,FR
+624660804,624660807,PL
+624660808,624660827,FR
624660828,624660839,ES
624660840,624660927,FR
624660928,624660991,GB
@@ -9252,7 +9294,9 @@
624661176,624661183,ES
624661184,624661247,FR
624661248,624661251,ES
-624661252,624661787,FR
+624661252,624661503,FR
+624661504,624661759,IT
+624661760,624661787,FR
624661788,624661788,RO
624661789,624661863,FR
624661864,624661871,ES
@@ -9264,7 +9308,11 @@
624662316,624662319,ES
624662320,624662327,FR
624662328,624662331,PT
-624662332,624662815,FR
+624662332,624662639,FR
+624662640,624662647,PL
+624662648,624662783,FR
+624662784,624662799,PL
+624662800,624662815,FR
624662816,624662847,DE
624662848,624662895,FR
624662896,624662911,ES
@@ -9274,9 +9322,9 @@
624663504,624663519,ES
624663520,624663567,FR
624663568,624663583,ES
-624663584,624663687,FR
-624663688,624663695,GB
-624663696,624663759,FR
+624663584,624663591,FR
+624663592,624663595,NL
+624663596,624663759,FR
624663760,624663767,ES
624663768,624663787,FR
624663788,624663791,ES
@@ -9290,7 +9338,9 @@
624664048,624664063,IE
624664064,624664067,FR
624664068,624664071,ES
-624664072,624664351,FR
+624664072,624664107,FR
+624664108,624664111,PL
+624664112,624664351,FR
624664352,624664367,ES
624664368,624664527,FR
624664528,624664531,ES
@@ -9314,7 +9364,9 @@
624665612,624665615,ES
624665616,624665663,FR
624665664,624665695,ES
-624665696,624665887,FR
+624665696,624665799,FR
+624665800,624665803,PL
+624665804,624665887,FR
624665888,624665903,PL
624665904,624665919,FI
624665920,624665999,FR
@@ -9339,11 +9391,14 @@
624666880,624666883,DE
624666884,624666975,FR
624666976,624666991,ES
-624666992,624667111,FR
+624666992,624666995,PL
+624666996,624667111,FR
624667112,624667115,ES
624667116,624667263,FR
624667264,624667279,IE
-624667280,624667711,FR
+624667280,624667519,FR
+624667520,624667595,PL
+624667596,624667711,FR
624667712,624667775,ES
624667776,624667951,FR
624667952,624667967,GB
@@ -9357,11 +9412,11 @@
624668208,624668211,CZ
624668212,624668239,FR
624668240,624668255,NL
-624668256,624668643,FR
-624668644,624668647,IE
-624668648,624668667,FR
+624668256,624668667,FR
624668668,624668671,PT
-624668672,624668927,FR
+624668672,624668703,FR
+624668704,624668707,PL
+624668708,624668927,FR
624668928,624668931,GB
624668932,624669011,FR
624669012,624669015,DE
@@ -9369,7 +9424,9 @@
624669128,624669131,DE
624669132,624669459,FR
624669460,624669463,FI
-624669464,624669567,FR
+624669464,624669511,FR
+624669512,624669515,PL
+624669516,624669567,FR
624669568,624669571,DE
624669572,624669699,FR
624669700,624669703,DE
@@ -9377,11 +9434,17 @@
624669796,624669799,ES
624669800,624669959,FR
624669960,624669963,ES
-624669964,624669987,FR
-624669988,624669991,ES
-624669992,624670171,FR
+624669964,624670007,FR
+624670008,624670011,PL
+624670012,624670139,FR
+624670140,624670143,PL
+624670144,624670159,FR
+624670160,624670167,PL
+624670168,624670171,FR
624670172,624670175,ES
-624670176,624670315,FR
+624670176,624670271,FR
+624670272,624670303,PL
+624670304,624670315,FR
624670316,624670319,ES
624670320,624670415,FR
624670416,624670431,DE
@@ -9393,14 +9456,17 @@
624670916,624670919,ES
624670920,624670935,FR
624670936,624670939,GB
-624670940,624671287,FR
+624670940,624670959,FR
+624670960,624670975,PL
+624670976,624671287,FR
624671288,624671291,ES
624671292,624671295,PL
624671296,624671455,FR
624671456,624671471,ES
624671472,624671775,FR
624671776,624671807,DE
-624671808,624671839,FR
+624671808,624671823,PL
+624671824,624671839,FR
624671840,624671871,DE
624671872,624672019,FR
624672020,624672023,DE
@@ -9412,7 +9478,9 @@
624672952,624672959,ES
624672960,624673287,FR
624673288,624673295,DE
-624673296,624673451,FR
+624673296,624673407,FR
+624673408,624673423,PL
+624673424,624673451,FR
624673452,624673455,ES
624673456,624673535,FR
624673536,624673631,ES
@@ -9420,7 +9488,9 @@
624673648,624673791,ES
624673792,624673803,FR
624673804,624673807,NL
-624673808,624673903,FR
+624673808,624673839,FR
+624673840,624673855,PL
+624673856,624673903,FR
624673904,624673919,ES
624673920,624673927,FR
624673928,624673931,DE
@@ -9436,7 +9506,9 @@
624674448,624674451,GB
624674452,624674463,FR
624674464,624674479,ES
-624674480,624675023,FR
+624674480,624674719,FR
+624674720,624674735,PL
+624674736,624675023,FR
624675024,624675027,BE
624675028,624675031,DE
624675032,624675047,FR
@@ -9452,7 +9524,9 @@
624675692,624675695,ES
624675696,624675775,FR
624675776,624675779,ES
-624675780,624676003,FR
+624675780,624675903,FR
+624675904,624675919,PL
+624675920,624676003,FR
624676004,624676007,DE
624676008,624676015,FR
624676016,624676019,GB
@@ -9462,7 +9536,9 @@
624676088,624676091,DE
624676092,624676115,FR
624676116,624676119,IT
-624676120,624676179,FR
+624676120,624676143,FR
+624676144,624676159,PL
+624676160,624676179,FR
624676180,624676183,DE
624676184,624676627,FR
624676628,624676631,GB
@@ -9488,7 +9564,9 @@
624678016,624678023,ES
624678024,624678199,FR
624678200,624678239,ES
-624678240,624678263,FR
+624678240,624678255,FR
+624678256,624678259,PL
+624678260,624678263,FR
624678264,624678279,ES
624678280,624678463,FR
624678464,624678479,IE
@@ -9498,23 +9576,32 @@
624678564,624678567,DE
624678568,624678671,FR
624678672,624678679,ES
-624678680,624678847,FR
+624678680,624678723,FR
+624678724,624678727,PL
+624678728,624678847,FR
624678848,624678855,GB
624678856,624678863,FR
624678864,624678879,PT
-624678880,624678899,FR
+624678880,624678887,PL
+624678888,624678899,FR
624678900,624678903,GB
-624678904,624679199,FR
+624678904,624679167,FR
+624679168,624679175,PL
+624679176,624679199,FR
624679200,624679203,ES
624679204,624679259,FR
624679260,624679263,ES
624679264,624679327,FR
624679328,624679335,ES
-624679336,624679423,FR
+624679336,624679407,FR
+624679408,624679411,PL
+624679412,624679423,FR
624679424,624679679,DE
624679680,624679743,FR
624679744,624679747,CZ
-624679748,624679843,FR
+624679748,624679759,FR
+624679760,624679767,PL
+624679768,624679843,FR
624679844,624679847,ES
624679848,624680063,FR
624680064,624680191,ES
@@ -9522,14 +9609,16 @@
624680456,624680463,ES
624680464,624680747,FR
624680748,624680751,NL
-624680752,624680767,FR
+624680752,624680767,PL
624680768,624680783,CZ
624680784,624680799,GB
624680800,624680927,FR
624680928,624680931,DE
624680932,624681023,FR
624681024,624681055,ES
-624681056,624681083,FR
+624681056,624681071,FR
+624681072,624681079,PL
+624681080,624681083,FR
624681084,624681087,ES
624681088,624681095,FR
624681096,624681103,NL
@@ -9537,9 +9626,13 @@
624681364,624681367,CZ
624681368,624681447,FR
624681448,624681451,DE
-624681452,624681535,FR
+624681452,624681463,FR
+624681464,624681467,PL
+624681468,624681535,FR
624681536,624681599,ES
-624681600,624681807,FR
+624681600,624681791,FR
+624681792,624681795,PL
+624681796,624681807,FR
624681808,624681823,BE
624681824,624682263,FR
624682264,624682267,ES
@@ -9551,7 +9644,9 @@
624682496,624682527,ES
624682528,624682623,FR
624682624,624682639,ES
-624682640,624683007,FR
+624682640,624682951,FR
+624682952,624682959,PL
+624682960,624683007,FR
624683008,624683011,GB
624683012,624683015,FR
624683016,624683023,ES
@@ -9567,7 +9662,10 @@
624683340,624683343,ES
624683344,624683631,FR
624683632,624683647,ES
-624683648,624683775,FR
+624683648,624683691,FR
+624683692,624683695,PL
+624683696,624683759,FR
+624683760,624683775,PL
624683776,624683779,DE
624683780,624683783,FR
624683784,624683787,DE
@@ -9587,9 +9685,13 @@
624684192,624684195,CH
624684196,624684339,FR
624684340,624684343,NL
-624684344,624684479,FR
+624684344,624684351,FR
+624684352,624684359,PL
+624684360,624684479,FR
624684480,624684511,FI
-624684512,624684639,FR
+624684512,624684583,FR
+624684584,624684587,PL
+624684588,624684639,FR
624684640,624684655,ES
624684656,624684799,FR
624684800,624684803,DE
@@ -9597,17 +9699,25 @@
624684872,624684879,DE
624684880,624684907,FR
624684908,624684911,ES
-624684912,624685035,FR
+624684912,624684915,PL
+624684916,624685023,FR
+624685024,624685027,PL
+624685028,624685035,FR
624685036,624685039,IT
-624685040,624685375,FR
+624685040,624685087,FR
+624685088,624685095,PL
+624685096,624685375,FR
624685376,624685439,ES
624685440,624685535,FR
624685536,624685539,PT
-624685540,624685683,FR
+624685540,624685679,FR
+624685680,624685683,PL
624685684,624685687,FI
624685688,624685711,FR
624685712,624685715,ES
-624685716,624685799,FR
+624685716,624685791,FR
+624685792,624685795,PL
+624685796,624685799,FR
624685800,624685803,ES
624685804,624685815,FR
624685816,624685823,GB
@@ -9616,7 +9726,8 @@
624685924,624686623,FR
624686624,624686627,DE
624686628,624686631,ES
-624686632,624686667,FR
+624686632,624686663,FR
+624686664,624686667,PL
624686668,624686671,ES
624686672,624686711,FR
624686712,624686719,ES
@@ -9626,19 +9737,25 @@
624686896,624686911,IE
624686912,624687343,FR
624687344,624687346,CZ
-624687347,624687347,ES
-624687348,624687619,FR
+624687347,624687359,FR
+624687360,624687615,ES
+624687616,624687619,FR
624687620,624687623,DE
624687624,624687783,FR
624687784,624687791,PT
624687792,624687827,FR
624687828,624687831,ES
-624687832,624688007,FR
+624687832,624687919,FR
+624687920,624687923,PL
+624687924,624688007,FR
624688008,624688015,ES
624688016,624688031,GB
-624688032,624688307,FR
+624688032,624688039,FR
+624688040,624688047,PL
+624688048,624688303,FR
+624688304,624688307,PL
624688308,624688311,ES
-624688312,624688315,FR
+624688312,624688315,PL
624688316,624688319,GB
624688320,624688435,FR
624688436,624688439,IE
@@ -9660,9 +9777,7 @@
624688792,624688795,ES
624688796,624688831,FR
624688832,624688835,ES
-624688836,624689071,FR
-624689072,624689075,ES
-624689076,624689076,FR
+624688836,624689076,FR
624689077,624689078,BE
624689079,624689151,FR
624689152,624691199,DE
@@ -9742,7 +9857,9 @@
625688576,625704959,MD
625704960,625707007,GE
625707008,625709055,AT
-625709056,625711103,JO
+625709056,625709823,JO
+625709824,625710079,AE
+625710080,625711103,JO
625711104,625713151,NL
625713152,625721343,DK
625721344,625725439,RU
@@ -9769,12 +9886,14 @@
625827840,625829887,IT
625829888,625831935,RU
625831936,625836031,IT
-625836032,625838079,RU
+625836032,625836287,KZ
+625836288,625838079,RU
625838080,625840127,IT
625840128,625842175,RU
625842176,625844223,PL
625844224,625846271,IT
-625846272,625848319,RS
+625846272,625847295,RS
+625847296,625848319,MT
625848320,625854463,GB
625854464,625856511,DE
625856512,625860607,IT
@@ -9833,7 +9952,36 @@
628293632,628359167,UA
628359168,628621311,IT
628621312,628654079,DE
-628654080,628662271,RO
+628654080,628654335,GB
+628654336,628654591,DE
+628654592,628654847,CA
+628654848,628655103,DK
+628655104,628655359,US
+628655360,628655871,GB
+628655872,628656127,IT
+628656128,628656383,FR
+628656384,628656639,CH
+628656640,628657151,US
+628657152,628657407,RO
+628657408,628657663,NL
+628657664,628657919,ES
+628657920,628658175,BE
+628658176,628658431,HU
+628658432,628658687,DK
+628658688,628658943,DE
+628658944,628659199,US
+628659200,628659455,ES
+628659456,628659711,NO
+628659712,628659967,US
+628659968,628660223,SG
+628660224,628660479,BG
+628660480,628660735,SE
+628660736,628660991,JP
+628660992,628661247,AT
+628661248,628661503,PL
+628661504,628661759,US
+628661760,628662015,FR
+628662016,628662271,GB
628662272,628670463,DE
628670464,628685823,RO
628685824,628686335,FO
@@ -10016,14 +10164,11 @@
630720512,630722559,NL
630722560,630726655,PL
630726656,630732799,GB
-630732800,630734079,SE
-630734080,630734847,US
+630732800,630734847,SE
630734848,630736895,IS
630736896,630737919,TR
630737920,630738943,NL
-630738944,630742015,ES
-630742016,630742271,DE
-630742272,630743039,ES
+630738944,630743039,ES
630743040,630751231,SK
630751232,630759423,ES
630759424,630767615,IR
@@ -10133,13 +10278,14 @@
631111680,631177215,ES
631177216,631408581,IT
631408582,631408582,RE
-631408583,631496703,IT
-631496704,631824425,FR
+631408583,631504895,IT
+631504896,631824425,FR
631824426,631824426,BE
631824427,632291327,FR
632291328,632815615,IT
632815616,632946687,BE
-632946688,632954879,AT
+632946688,632952831,AT
+632952832,632954879,SA
632954880,632963071,QA
632963072,632979455,AM
632979456,633012223,IT
@@ -10156,8 +10302,7 @@
633062528,633062847,FR
633062848,633062863,LT
633062864,633063679,FR
-633063680,633063935,PL
-633063936,633064191,FR
+633063680,633064191,PL
633064192,633064447,GB
633064448,633064471,FR
633064472,633064475,DE
@@ -10315,6 +10460,25 @@
635219968,635224063,RU
635224064,635240447,HU
635240448,635256831,IR
+635256832,635257855,RU
+635257856,635258879,CZ
+635258880,635259903,DE
+635259904,635260927,TR
+635260928,635261951,RU
+635261952,635262975,FR
+635262976,635263999,CZ
+635264000,635265023,US
+635265024,635266047,IT
+635266048,635267071,PL
+635267072,635268095,SE
+635268096,635269119,RU
+635269120,635269375,US
+635269376,635269631,GB
+635269632,635269887,DE
+635269888,635270143,US
+635270144,635271167,CZ
+635271168,635272191,DE
+635272192,635273215,LT
635273216,635281407,UA
635281408,635283455,RO
635283456,635283967,DE
@@ -10341,7 +10505,8 @@
635725824,635727871,US
635727872,635729919,RU
635729920,635730431,DE
-635730432,635731967,IE
+635730432,635730943,GB
+635730944,635731967,DE
635731968,635732479,SC
635732480,635732735,DE
635732736,635732991,IR
@@ -10372,8 +10537,9 @@
635865856,635866111,US
635866112,635871487,RU
635871488,635871743,UA
-635871744,635873279,RU
-635873280,635873535,LU
+635871744,635872255,RU
+635872256,635873279,GL
+635873280,635873535,CA
635873536,635874047,US
635874048,635874303,AR
635874304,635874815,SG
@@ -10393,10 +10559,20 @@
635878656,635878911,US
635878912,635879167,FI
635879168,635879423,US
-635879424,635894527,RU
+635879424,635882495,RU
+635882496,635882751,GE
+635882752,635894527,RU
635894528,635894783,KZ
635894784,635895807,RU
-635895808,635961343,KW
+635895808,635922943,KW
+635922944,635923199,IT
+635923200,635942655,KW
+635942656,635942911,IT
+635942912,635951871,KW
+635951872,635952095,IT
+635952096,635952639,KW
+635952640,635952895,IT
+635952896,635961343,KW
635961344,635994111,GE
635994112,636026879,RU
636026880,636043263,MD
@@ -10455,11 +10631,8 @@
636965888,636966655,DE
636966656,636966911,IT
636966912,636967167,DE
-636967168,636967907,FR
-636967908,636967909,GB
-636967910,636967935,FR
-636967936,636968191,DE
-636968192,636968447,ES
+636967168,636967935,FR
+636967936,636968447,ES
636968448,636968455,DE
636968456,636968456,BE
636968457,636968959,DE
@@ -10468,7 +10641,9 @@
636974592,636975103,TR
636975104,636977151,ES
636977152,637140991,PL
-637140992,637206527,SE
+637140992,637164543,SE
+637164544,637165055,DK
+637165056,637206527,SE
637206528,637239295,NL
637239296,637251583,RO
637251584,637251839,US
@@ -10482,9 +10657,9 @@
637258240,637259775,US
637259776,637263871,RO
637263872,637267967,DE
-637267968,637268735,GB
+637267968,637268735,US
637268736,637268991,AU
-637268992,637270015,GB
+637268992,637270015,US
637270016,637272063,RO
637272064,637272831,RU
637272832,637273599,DE
@@ -10541,9 +10716,7 @@
637337088,637337599,RU
637337600,637403135,NO
637403136,637534207,IR
-637534208,637861887,US
-637861888,637870079,NL
-637870080,638662655,US
+637534208,638662655,US
638662656,638664703,CA
638664704,638730239,US
638730240,638738431,CA
@@ -10560,11 +10733,13 @@
639444992,639446015,US
639446016,639446271,CA
639446272,639467519,US
-639467520,639468031,CA
-639468032,639468287,US
-639468288,639471615,CA
-639471616,641738239,US
-641738240,641738495,CA
+639467520,639471615,CA
+639471616,639510527,US
+639510528,639512575,CA
+639512576,639632391,US
+639632392,639632399,MX
+639632400,641737727,US
+641737728,641738495,CA
641738496,641761535,US
641761536,641761791,CA
641761792,641764863,US
@@ -10572,15 +10747,19 @@
641765888,641766399,US
641766400,641767423,CA
641767424,641769471,US
-641769472,641769727,CA
-641769728,641771519,US
-641771520,641772543,CA
-641772544,641773055,US
+641769472,641769983,CA
+641769984,641770495,US
+641770496,641772031,CA
+641772032,641773055,US
641773056,641774641,CA
641774642,641774642,US
641774643,641777919,CA
-641777920,641778687,US
-641778688,641781759,CA
+641777920,641779199,US
+641779200,641779327,CA
+641779328,641779711,US
+641779712,641780735,CA
+641780736,641781503,US
+641781504,641781759,CA
641781760,641789951,US
641789952,641790975,CA
641790976,641791999,US
@@ -10588,30 +10767,44 @@
641794048,641826815,US
641826816,641827327,MX
641827328,641828351,US
-641828352,641828863,MX
-641828864,641829057,US
+641828352,641828991,MX
+641828992,641829057,US
641829058,641829058,MX
-641829059,641829887,US
-641829888,641837055,MX
-641837056,642089215,US
+641829059,641829119,US
+641829120,641829887,MX
+641829888,641830143,US
+641830144,641830399,MX
+641830400,641830911,US
+641830912,641839103,MX
+641839104,642089215,US
642089216,642089727,CA
-642089728,642092543,US
-642092544,642092799,CA
+642089728,642092031,US
+642092032,642092799,CA
642092800,642096127,US
642096128,642096639,CA
-642096640,642113535,US
+642096640,642101247,US
+642101248,642102271,CA
+642102272,642103295,US
+642103296,642105343,CA
+642105344,642113535,US
642113536,642115583,AU
642115584,642385919,US
-642385920,642400255,CA
+642385920,642392063,CA
+642392064,642396159,US
+642396160,642400255,CA
642400256,642793471,US
642793472,642794495,CA
642794496,642797567,US
-642797568,642797823,CA
-642797824,642806015,US
+642797568,642798079,CA
+642798080,642806015,US
642806016,642806271,CA
642806272,643055103,US
643055104,643055615,CA
-643055616,643216639,US
+643055616,643075071,US
+643075072,643075583,AU
+643075584,643211263,US
+643211264,643212287,GP
+643212288,643216639,US
643216640,643216895,GD
643216896,643219519,US
643219520,643219523,CA
@@ -10639,9 +10832,9 @@
643346432,643346943,CA
643346944,643362815,US
643362816,643363327,CA
-643363328,643691519,US
-643691520,643691775,VI
-643691776,644051967,US
+643363328,643595263,US
+643595264,643595775,GB
+643595776,644051967,US
644051968,644052479,MF
644052480,644052735,GP
644052736,644052991,MF
@@ -10650,44 +10843,40 @@
644057600,644058111,US
644058112,644059647,CA
644059648,644060159,US
-644060160,644061183,CA
-644061184,644061439,US
-644061440,644061631,CA
+644060160,644061631,CA
644061632,644061663,US
644061664,644065023,CA
644065024,644065055,US
644065056,644065279,CA
644065280,644066303,US
644066304,644066815,CA
-644066816,644067072,US
-644067073,644067073,CA
-644067074,644067327,US
-644067328,644071935,CA
-644071936,644072805,US
+644066816,644067071,US
+644067072,644067199,CA
+644067200,644067327,US
+644067328,644071423,CA
+644071424,644072805,US
644072806,644072806,CA
-644072807,644083711,US
-644083712,644084735,GU
+644072807,644084223,US
+644084224,644084735,GU
644084736,644207359,US
644207360,644207391,NL
644207392,644210431,US
644210432,644210687,MX
-644210688,644238847,US
-644238848,644239103,CA
-644239104,644239359,US
-644239360,644239871,CA
-644239872,644241407,US
-644241408,644241919,CA
-644241920,644247551,US
+644210688,644239615,US
+644239616,644239871,CA
+644239872,644247551,US
644247552,644249599,CA
-644249600,644268031,US
+644249600,644250623,US
+644250624,644251647,CA
+644251648,644268031,US
644268032,644268569,CA
644268570,644268570,US
644268571,644268613,CA
644268614,644268614,US
644268615,644268891,CA
644268892,644268895,US
-644268896,644276223,CA
-644276224,644323327,US
+644268896,644269055,CA
+644269056,644323327,US
644323328,644325375,CA
644325376,644388863,US
644388864,644390911,CA
@@ -10697,27 +10886,31 @@
644403200,644403695,CA
644403696,644403703,US
644403704,644403711,CA
-644403712,644413439,US
+644403712,644412415,US
+644412416,644412927,MX
+644412928,644413439,US
644413440,644413951,MX
644413952,644414463,CA
644414464,644419327,US
-644419328,644419359,GB
-644419360,644419391,US
-644419392,644419583,GB
+644419328,644419583,GB
644419584,644422911,US
644422912,644423423,JP
-644423424,644569087,US
-644569088,644571135,PR
-644571136,644582399,US
-644582400,644582655,CA
-644582656,644582911,US
-644582912,644583167,CA
+644423424,644569599,US
+644569600,644571135,PR
+644571136,644581375,US
+644581376,644581887,CA
+644581888,644582399,US
+644582400,644583167,CA
644583168,644628735,US
644628736,644628991,CA
644628992,644629759,US
644629760,644630015,CA
-644630016,644634623,US
-644634624,644636671,CA
+644630016,644630271,US
+644630272,644630527,CA
+644630528,644633087,US
+644633088,644633599,CA
+644633600,644634367,US
+644634368,644636671,CA
644636672,644718719,US
644718720,644718783,CA
644718784,644718847,US
@@ -10730,20 +10923,20 @@
644759552,644759807,CA
644759808,644760575,US
644760576,644761599,CA
-644761600,644763647,US
-644763648,644764671,CA
-644764672,644765439,US
-644765440,644772351,CA
+644761600,644763391,US
+644763392,644772351,CA
644772352,644773887,US
644773888,644775935,CA
644775936,644833279,US
-644833280,644834943,CA
-644834944,644835071,US
+644833280,644834815,CA
+644834816,644835071,US
644835072,644835327,CA
644835328,644836351,US
644836352,644837375,CA
644837376,644837887,US
-644837888,644841471,CA
+644837888,644838399,CA
+644838400,644838911,US
+644838912,644841471,CA
644841472,644845839,US
644845840,644845840,RU
644845841,644845841,US
@@ -10757,34 +10950,38 @@
644877440,644877567,US
644877568,644877823,CA
644877824,644896767,US
-644896768,644907007,CA
-644907008,644981759,US
-644981760,644982271,CA
-644982272,644982527,US
+644896768,644902911,CA
+644902912,644903423,US
+644903424,644903935,CA
+644903936,644904959,US
+644904960,644907007,CA
+644907008,644982271,US
+644982272,644982399,CA
+644982400,644982527,US
644982528,644984831,CA
644984832,644986111,US
644986112,644986367,CA
644986368,644987135,US
-644987136,644987903,CA
-644987904,645185535,US
+644987136,644987647,CA
+644987648,645185535,US
645185536,645185791,CA
645185792,645186559,US
645186560,645187583,CA
-645187584,645219327,US
-645219328,645219839,CA
-645219840,645221375,US
-645221376,645222399,CA
-645222400,645222655,US
-645222656,645222911,CA
-645222912,645225471,US
+645187584,645221183,US
+645221184,645223423,CA
+645223424,645225471,US
645225472,645225983,CA
-645225984,645227519,US
+645225984,645226239,US
+645226240,645226495,CA
+645226496,645227519,US
645227520,645228287,CA
645228288,645228543,US
-645228544,645228799,CA
-645228800,645233663,US
+645228544,645229567,CA
+645229568,645233663,US
645233664,645233919,CA
-645233920,645480447,US
+645233920,645234431,US
+645234432,645234687,CA
+645234688,645480447,US
645480448,645482495,CA
645482496,645483775,US
645483776,645484031,CA
@@ -10820,12 +11017,10 @@
645648384,645703679,US
645703680,645705727,MX
645705728,645709823,US
-645709824,645718015,MX
-645718016,645744639,US
-645744640,645746687,IT
-645746688,645873663,US
-645873664,645877759,CA
-645877760,645980159,US
+645709824,645713919,MX
+645713920,645873663,US
+645873664,645875711,CA
+645875712,645980159,US
645980160,645982207,CA
645982208,645982719,US
645982720,645983231,CA
@@ -10845,9 +11040,7 @@
646160384,646164479,CA
646164480,646165503,US
646165504,646168575,CA
-646168576,646193663,US
-646193664,646194175,CA
-646194176,646194612,US
+646168576,646194612,US
646194613,646194613,CA
646194614,646194687,US
646194688,646194943,CA
@@ -10865,25 +11058,31 @@
646254592,646258687,CA
646258688,646262783,US
646262784,646264831,CA
-646264832,646440959,US
-646440960,646441471,GB
-646441472,646711807,US
+646264832,646409215,US
+646409216,646410239,GB
+646410240,646711807,US
646711808,646712319,CA
646712320,646721023,US
646721024,646721535,CA
646721536,646734847,US
646734848,646735359,CA
646735360,646765567,US
-646765568,646765951,CA
-646765952,646766015,US
-646766016,646766591,CA
+646765568,646765985,CA
+646765986,646765986,US
+646765987,646766591,CA
646766592,646840319,US
646840320,646841343,CA
-646841344,646855679,US
+646841344,646852607,US
+646852608,646853631,CA
+646853632,646855679,US
646855680,646856703,CA
646856704,646862847,US
646862848,646863871,CA
-646863872,654311423,US
+646863872,647036927,US
+647036928,647045119,CA
+647045120,647069695,US
+647069696,647073791,CA
+647073792,654311423,US
654311424,654311679,CN
654311680,654311935,AU
654311936,654376959,CN
@@ -10936,62 +11135,20 @@
675435008,675435519,ZA
675435520,675436031,SG
675436032,675436543,IE
-675436544,675447167,US
-675447168,675447295,HK
-675447296,675447423,US
-675447424,675447551,BR
-675447552,675448575,US
-675448576,675449087,GB
-675449088,675449151,US
-675449152,675449215,BR
-675449216,675449471,US
-675449472,675449599,IE
-675449600,675449727,AT
-675449728,675449855,FI
-675449856,675449983,US
-675449984,675450495,FR
-675450496,675450623,NL
-675450624,675450751,MY
-675450752,675450879,US
-675450880,675451007,JP
-675451008,675451391,FR
-675451392,675451519,US
-675451520,675451647,AU
-675451648,675451775,NL
-675451776,675451903,US
-675451904,675452159,HK
-675452160,675452927,US
-675452928,675453055,IE
-675453056,675453439,US
-675453440,675453503,BR
-675453504,675453567,IN
-675453568,675453695,AU
-675453696,675453759,KR
-675453760,675453951,GB
-675453952,675454015,JP
-675454016,675454079,CA
-675454080,675454207,IE
-675454208,675454271,SG
-675454272,675454335,MY
-675454336,675454399,KR
-675454400,675454463,AU
-675454464,675454719,NL
-675454720,675454847,AT
-675454848,675455359,US
-675455360,675455487,JP
-675455488,675455615,GB
-675455616,675455743,AT
-675455744,675455871,NL
-675455872,675455999,FI
-675456000,675456255,ZA
-675456256,675456383,AE
-675456384,675456511,ZA
-675456512,675456895,AE
-675456896,675463167,US
-675463168,675463295,KR
-675463296,675463423,US
-675463424,675463807,KR
-675463808,675528703,US
+675436544,675437055,US
+675437056,675437567,GB
+675437568,675438079,KR
+675438080,675438591,GB
+675438592,675439103,ZA
+675439104,675441151,AU
+675441152,675441663,US
+675441664,675442175,GB
+675442176,675442687,NL
+675442688,675443199,US
+675443200,675443711,GB
+675443712,675444223,NL
+675444224,675444735,SG
+675444736,675528703,US
675528704,675536895,NL
675536896,675545087,IE
675545088,675610623,NL
@@ -11048,7 +11205,9 @@
676199424,676199935,HK
676199936,676199999,US
676200000,676200031,CN
-676200032,676249599,US
+676200032,676200191,US
+676200192,676200319,IE
+676200320,676249599,US
676249600,676251647,IN
676251648,676254207,US
676254208,676254463,NL
@@ -11111,7 +11270,12 @@
676471808,676474879,US
676474880,676475903,JP
676475904,676477951,AE
-676477952,676495359,US
+676477952,676479999,US
+676480000,676482047,DE
+676482048,676484095,US
+676484096,676485119,NO
+676485120,676486143,GB
+676486144,676495359,US
676495360,676503551,KR
676503552,676511743,CA
676511744,676519935,AU
@@ -11146,12 +11310,17 @@
676991040,676991103,AE
676991104,676991135,US
676991136,676991167,JP
-676991168,677019647,US
+676991168,676991263,US
+676991264,676991295,GB
+676991296,676991327,NL
+676991328,677019647,US
677019648,677019663,CA
677019664,677019695,US
677019696,677019727,AE
677019728,677019743,JP
-677019744,677020095,US
+677019744,677019759,US
+677019760,677019775,GB
+677019776,677020095,US
677020096,677020127,IE
677020128,677020159,US
677020160,677020191,NL
@@ -11263,7 +11432,11 @@
677025920,677025951,AE
677025952,677025983,US
677025984,677026015,JP
-677026016,677027839,US
+677026016,677026111,US
+677026112,677026143,GB
+677026144,677026175,US
+677026176,677026303,IE
+677026304,677027839,US
677027840,677036031,SG
677036032,677057535,US
677057536,677058559,IE
@@ -11860,9 +12033,17 @@
678104064,678104319,FR
678104320,678104575,FI
678104576,678104831,AT
-678104832,678117887,US
+678104832,678105087,IE
+678105088,678117887,US
678117888,678118399,CA
-678118400,678150143,US
+678118400,678133759,US
+678133760,678134271,KR
+678134272,678134783,US
+678134784,678135039,KR
+678135040,678135295,HK
+678135296,678136319,US
+678136320,678136831,IN
+678136832,678150143,US
678150144,678150399,FI
678150400,678150655,IE
678150656,678150911,FI
@@ -11870,7 +12051,7 @@
678151168,678151423,NL
678151424,678151679,FI
678151680,678151935,FR
-678151936,678152191,US
+678151936,678152191,NL
678152192,678152447,FI
678152448,678152703,AT
678152704,678153215,NL
@@ -12009,7 +12190,11 @@
678854656,678905855,US
678905856,678907903,AE
678907904,678909951,CH
-678909952,678920191,US
+678909952,678910975,US
+678910976,678913023,DE
+678913024,678914047,US
+678914048,678915071,NO
+678915072,678920191,US
678920192,678928383,NL
678928384,678930431,US
678930432,678936575,AE
@@ -12042,7 +12227,11 @@
679378944,679395327,AU
679395328,679395839,AE
679395840,679396351,CH
-679396352,679403519,US
+679396352,679396607,US
+679396608,679397119,DE
+679397120,679397375,US
+679397376,679397631,NO
+679397632,679403519,US
679403520,679411711,AU
679411712,679413759,ZA
679413760,679428095,US
@@ -12112,8 +12301,8 @@
692617216,692625407,ZA
692625408,692626687,KE
692626688,692626943,AO
-692626944,692634111,KE
-692634112,692635135,MU
+692626944,692633599,KE
+692633600,692635135,MU
692635136,692635647,KE
692635648,692637135,MU
692637136,692637139,KE
@@ -12162,7 +12351,9 @@
692852736,692854783,GH
692854784,692856831,ZA
692856832,692858879,MU
-692858880,692860927,UG
+692858880,692859391,UG
+692859392,692859647,NL
+692859648,692860927,UG
692860928,692862975,ZA
692862976,692869119,NG
692869120,692871167,TZ
@@ -12328,7 +12519,9 @@
693485568,693493759,ZW
693493760,693501951,ZA
693501952,693510143,LR
-693510144,693518335,SC
+693510144,693512991,SC
+693512992,693513215,GB
+693513216,693518335,SC
693518336,693534719,ZA
693534720,693542911,NG
693542912,693551103,TZ
@@ -12417,7 +12610,9 @@
700342272,700350463,NA
700350464,700351487,MU
700351488,700352511,UG
-700352512,700358655,MU
+700352512,700353535,MU
+700353536,700354559,UG
+700354560,700358655,MU
700358656,700366847,MZ
700366848,700375039,UG
700375040,700376063,CM
@@ -12452,9 +12647,7 @@
700444672,700446719,GH
700446720,700447743,SL
700447744,700448767,DZ
-700448768,700584959,ZA
-700584960,700585983,FR
-700585984,700587007,ZA
+700448768,700587007,ZA
700587008,700587263,ZM
700587264,700588287,ZA
700588288,700588543,KM
@@ -12554,11 +12747,7 @@
701726720,701743103,GA
701755392,701759487,NG
701759488,701792255,KE
-701792256,701806335,MU
-701806336,701806591,GB
-701806592,701820927,MU
-701820928,701821439,GB
-701821440,701825023,MU
+701792256,701825023,MU
701825024,701857791,ZA
701857792,701890559,RE
701890560,701923327,SN
@@ -12670,7 +12859,9 @@
702451712,702453759,NG
702453760,702455871,ZA
702455872,702455999,KE
-702456000,702457087,ZA
+702456000,702456959,ZA
+702456960,702457023,KE
+702457024,702457087,ZA
702457088,702457407,KE
702457408,702457471,ZA
702457472,702457599,KE
@@ -12716,14 +12907,10 @@
702504960,702505983,MR
702505984,702507007,AO
702507008,702508031,CD
-702508032,702508287,SO
-702508288,702508543,ZA
-702508544,702509055,SO
+702508032,702509055,SO
702509056,702509423,KE
702509424,702509431,AO
-702509432,702509471,KE
-702509472,702509479,CD
-702509480,702509911,KE
+702509432,702509911,KE
702509912,702509919,AO
702509920,702509935,KE
702509936,702509943,AO
@@ -12761,9 +12948,7 @@
702542848,702543871,ZA
702543872,702544895,BJ
702544896,702545919,ZA
-702545920,703026175,TN
-703026176,703026687,GB
-703026688,703070207,TN
+702545920,703070207,TN
703070208,703071999,EG
703072000,703072255,CD
703072256,703594495,EG
@@ -12915,7 +13100,7 @@
736145408,736146431,CN
736146432,736147455,IN
736147456,736148479,CN
-736148480,736149503,HK
+736148480,736149503,NZ
736149504,736150527,NC
736150528,736151551,HK
736151552,736156671,CN
@@ -13035,7 +13220,11 @@
736398336,736399359,IN
736399360,736400383,SG
736400384,736402431,CN
-736402432,736402687,NZ
+736402432,736402585,NZ
+736402586,736402587,GS
+736402588,736402603,NZ
+736402604,736402604,GS
+736402605,736402687,NZ
736402688,736402943,SG
736402944,736403199,MY
736403200,736403327,AU
@@ -13124,13 +13313,11 @@
736515072,736516095,CN
736516096,736517119,HK
736517120,736518143,PK
-736518144,736519167,MY
+736518144,736519167,SG
736519168,736520191,AU
736520192,736521215,IN
736521216,736521471,US
-736521472,736521573,PH
-736521574,736521574,MY
-736521575,736521727,PH
+736521472,736521727,PH
736521728,736521747,AU
736521748,736521748,US
736521749,736522239,AU
@@ -13510,7 +13697,7 @@
737618944,737620991,CN
737620992,737622015,IN
737622016,737623039,TH
-737623040,737624063,GU
+737623040,737624063,MP
737624064,737625087,AU
737625088,737626111,CN
737626112,737627135,CA
@@ -13560,7 +13747,8 @@
737735680,737736703,CN
737736704,737737727,HK
737737728,737738751,IN
-737738752,737741823,CN
+737738752,737739775,HK
+737739776,737741823,CN
737741824,737742847,SG
737742848,737744895,HK
737744896,737745919,CN
@@ -13682,10 +13870,11 @@
737894400,737895423,ID
737895424,737896447,CN
737896448,737897471,HK
-737897472,737898495,AU
-737898496,737899263,MY
+737897472,737898751,AU
+737898752,737899007,MY
+737899008,737899263,AU
737899264,737899518,HK
-737899519,737899519,MY
+737899519,737899519,AU
737899520,737900543,CN
737900544,737901567,KR
737901568,737902591,IN
@@ -13694,7 +13883,8 @@
737904640,737905663,MY
737905664,737906687,HK
737906688,737908735,IN
-737908736,737909759,AU
+737908736,737909503,AU
+737909504,737909759,NZ
737909760,737910783,HK
737910784,737911807,DE
737911808,737912319,SG
@@ -13716,6 +13906,7 @@
737931264,737932287,AU
737932288,737933311,CN
737933312,737934335,HK
+737934336,737935359,PK
737935360,737936383,AU
737936384,737937407,IN
737937408,737938431,ID
@@ -13747,8 +13938,7 @@
737970176,737971199,ID
737971200,737972223,IN
737972224,737973247,ID
-737973248,737974015,HK
-737974016,737974271,FR
+737973248,737974271,HK
737974272,737975295,MY
737975296,737976319,ID
737976320,737981439,HK
@@ -13886,7 +14076,11 @@
747634688,747671807,BE
747671808,747672063,GB
747672064,747700223,BE
-747700224,750649855,US
+747700224,749087743,US
+749087744,749088767,BR
+749088768,750138367,US
+750138368,750139391,RO
+750139392,750649855,US
750649856,750650111,AT
750650112,750651391,US
750651392,750651647,AU
@@ -13905,17 +14099,16 @@
755261952,755262463,BO
755262464,755263487,AR
755263488,755269631,BR
-755269632,755270143,HN
-755270144,755270655,US
+755269632,755269887,HN
+755269888,755270655,US
755270656,755271679,BR
-755271680,755272703,HN
+755271680,755272703,US
755272704,755277823,BR
755277824,755279871,AR
755279872,755280895,CL
755280896,755281919,US
755281920,755287039,BR
-755287040,755287551,US
-755287552,755288063,HN
+755287040,755288063,US
755288064,755289087,EC
755289088,755290111,HN
755290112,755292159,BR
@@ -14093,9 +14286,7 @@
757716736,757716991,NZ
757716992,757721599,US
757721600,757721855,PH
-757721856,757727231,US
-757727232,757728255,VI
-757728256,757729279,US
+757721856,757729279,US
757729280,757731327,CA
757731328,757733375,US
757733376,757734399,CA
@@ -14190,14 +14381,7 @@
757804032,757805055,IN
757805056,757805567,JP
757805568,757806079,PH
-757806080,757806591,US
-757806592,757806847,HK
-757806848,757807871,US
-757807872,757808127,RU
-757808128,757808383,JP
-757808384,757808639,US
-757808640,757808895,DE
-757808896,757809151,SG
+757806080,757809151,HK
757809152,757809407,CA
757809408,757809663,RO
757809664,757809919,GB
@@ -14249,15 +14433,15 @@
758710272,758743039,US
758743040,758744575,CA
758744576,758745727,US
-758745728,758745743,CA
-758745744,758745759,US
-758745760,758745791,CA
+758745728,758745791,CA
758745792,758745823,US
758745824,758745831,CA
758745832,758745855,US
758745856,758747135,CA
-758747136,758747263,US
-758747264,758747327,CA
+758747136,758747199,US
+758747200,758747215,CA
+758747216,758747231,US
+758747232,758747327,CA
758747328,758747375,US
758747376,758747647,CA
758747648,758747935,US
@@ -14266,22 +14450,28 @@
758748000,758748031,CA
758748032,758748159,US
758748160,758748415,CA
-758748416,758749519,US
+758748416,758749183,US
+758749184,758749439,CA
+758749440,758749519,US
758749520,758749535,CA
758749536,758749567,US
758749568,758749695,CA
-758749696,758750975,US
+758749696,758750463,US
+758750464,758750719,CA
+758750720,758750975,US
758750976,758751039,CA
-758751040,758751167,US
+758751040,758751055,US
+758751056,758751071,CA
+758751072,758751167,US
758751168,758751231,CA
758751232,758751999,US
-758752000,758752031,CA
-758752032,758752063,US
-758752064,758752095,CA
-758752096,758752191,US
+758752000,758752127,CA
+758752128,758752191,US
758752192,758752199,CA
758752200,758752207,FI
-758752208,758752671,US
+758752208,758752223,US
+758752224,758752239,CA
+758752240,758752671,US
758752672,758752687,CA
758752688,758752735,US
758752736,758752831,CA
@@ -14290,22 +14480,22 @@
758752928,758752959,US
758752960,758753023,CA
758753024,758753535,US
-758753536,758753663,CA
-758753664,758753791,US
-758753792,758754047,CA
+758753536,758754047,CA
758754048,758754431,US
-758754432,758754559,CA
-758754560,758755071,US
-758755072,758755327,CA
+758754432,758755327,CA
758755328,758756095,US
-758756096,758756351,CA
+758756096,758756239,CA
+758756240,758756247,US
+758756248,758756351,CA
758756352,758756863,US
758756864,758756927,CA
758756928,758757055,US
758757056,758757183,CA
758757184,758757311,US
758757312,758757375,CA
-758757376,758758143,US
+758757376,758757631,US
+758757632,758757887,CA
+758757888,758758143,US
758758144,758758399,CA
758758400,758759423,US
758759424,758759487,CA
@@ -14313,8 +14503,8 @@
758759616,758759679,CA
758759680,758759807,US
758759808,758759839,CA
-758759840,758759903,US
-758759904,758759935,CA
+758759840,758759871,US
+758759872,758759935,CA
758759936,758760191,US
758760192,758760447,CA
758760448,758760703,US
@@ -14327,54 +14517,56 @@
758762752,758764031,CA
758764032,758764287,US
758764288,758764679,CA
-758764680,758764759,US
+758764680,758764703,US
+758764704,758764719,CA
+758764720,758764759,US
758764760,758764767,CA
758764768,758764799,US
758764800,758764863,CA
758764864,758764927,US
758764928,758765183,CA
-758765184,758765311,US
-758765312,758765375,CA
-758765376,758765471,US
-758765472,758765503,CA
-758765504,758765583,US
-758765584,758765631,CA
+758765184,758765247,US
+758765248,758765375,CA
+758765376,758765439,US
+758765440,758765503,CA
+758765504,758765567,US
+758765568,758765631,CA
758765632,758765647,US
-758765648,758765655,CA
-758765656,758765695,US
+758765648,758765663,CA
+758765664,758765695,US
758765696,758765951,CA
-758765952,758766015,US
-758766016,758766031,CA
-758766032,758766063,US
-758766064,758766103,CA
+758765952,758765975,US
+758765976,758765983,CA
+758765984,758766015,US
+758766016,758766103,CA
758766104,758766111,US
-758766112,758766127,CA
-758766128,758766303,US
-758766304,758766311,CA
-758766312,758766335,US
-758766336,758766351,CA
-758766352,758766383,US
-758766384,758766431,CA
+758766112,758766143,CA
+758766144,758766303,US
+758766304,758766319,CA
+758766320,758766335,US
+758766336,758766431,CA
758766432,758766495,US
758766496,758766527,CA
758766528,758766575,US
758766576,758766583,CA
-758766584,758767103,US
-758767104,758767615,CA
-758767616,758768127,US
+758766584,758766847,US
+758766848,758767871,CA
+758767872,758768127,US
758768128,758769279,CA
-758769280,758769375,US
-758769376,758769391,CA
-758769392,758769407,US
-758769408,758769663,CA
+758769280,758769359,US
+758769360,758769367,CA
+758769368,758769375,US
+758769376,758769663,CA
758769664,758769751,US
-758769752,758769759,CA
-758769760,758770175,US
+758769752,758769791,CA
+758769792,758769855,US
+758769856,758769919,CA
+758769920,758770175,US
758770176,758770271,CA
-758770272,758770367,US
-758770368,758770431,CA
-758770432,758770719,US
-758770720,758770751,CA
+758770272,758770303,US
+758770304,758770431,CA
+758770432,758770687,US
+758770688,758770751,CA
758770752,758770847,US
758770848,758770863,CA
758770864,758771199,US
@@ -14481,7 +14673,9 @@
758983808,758983935,VA
758983936,758984063,ZW
758984064,758984191,SO
-758984192,758994943,US
+758984192,758990335,US
+758990336,758990847,PK
+758990848,758994943,US
758994944,758996991,IN
758996992,759001087,US
759001088,759005183,CN
@@ -14599,6 +14793,21 @@
759246848,759249407,IN
759249408,759249919,AF
759249920,759250943,AU
+759250944,759251967,ES
+759251968,759252991,BG
+759252992,759254015,SA
+759254016,759255039,FR
+759255040,759256063,SM
+759256064,759257087,GB
+759257088,759258111,DK
+759258112,759259135,NL
+759259136,759260159,GB
+759260160,759261183,IL
+759261184,759263231,FR
+759263232,759264255,GB
+759264256,759265279,SK
+759265280,759266303,MD
+759266304,759267327,LV
759267328,759269375,BR
759269376,759270399,CO
759270400,759272447,BR
@@ -14624,7 +14833,7 @@
759299072,759299327,AR
759299328,759299583,BR
759299584,759300095,PA
-759496704,759504895,GB
+759496704,759498751,GB
759562240,759564287,BR
759564288,759565311,AR
759565312,759566335,EC
@@ -14686,34 +14895,34 @@
759693312,759693439,CA
759693440,759693455,US
759693456,759693471,CA
-759693472,759694079,US
+759693472,759693519,US
+759693520,759693527,CA
+759693528,759694079,US
759694080,759694207,CA
759694208,759694303,US
759694304,759694319,CA
759694320,759695231,US
759695232,759695359,CA
759695360,759695615,US
-759695616,759696143,CA
-759696144,759696159,US
-759696160,759696191,CA
-759696192,759696255,US
-759696256,759696263,CA
+759695616,759696263,CA
759696264,759696335,US
759696336,759696351,CA
-759696352,759696471,US
-759696472,759696479,CA
-759696480,759696591,US
-759696592,759696599,CA
+759696352,759696463,US
+759696464,759696479,CA
+759696480,759696575,US
+759696576,759696599,CA
759696600,759696607,US
759696608,759696639,CA
759696640,759696895,US
759696896,759698943,CA
759698944,759699199,US
759699200,759699263,CA
-759699264,759699423,US
+759699264,759699279,US
+759699280,759699287,CA
+759699288,759699423,US
759699424,759699439,CA
-759699440,759699711,US
-759699712,759699967,CA
+759699440,759699455,US
+759699456,759699967,CA
759699968,759699983,US
759699984,759699991,CA
759699992,759700047,US
@@ -14721,30 +14930,26 @@
759700064,759700223,US
759700224,759700479,CA
759700480,759700607,US
-759700608,759700623,CA
-759700624,759700639,US
-759700640,759700735,CA
+759700608,759700735,CA
759700736,759700863,US
759700864,759701759,CA
759701760,759702015,US
759702016,759702399,CA
759702400,759702431,US
759702432,759702447,CA
-759702448,759702487,US
-759702488,759702495,CA
-759702496,759703039,US
-759703040,759703295,CA
-759703296,759703551,US
-759703552,759705087,CA
-759705088,759705215,US
-759705216,759705471,CA
-759705472,759705599,US
-759705600,759708159,CA
-759708160,759708671,US
-759708672,759708927,CA
+759702448,759702479,US
+759702480,759702495,CA
+759702496,759702527,US
+759702528,759702783,CA
+759702784,759703039,US
+759703040,759708159,CA
+759708160,759708415,US
+759708416,759708927,CA
759708928,759709183,US
759709184,759709951,CA
-759709952,759710495,US
+759709952,759710207,US
+759710208,759710463,CA
+759710464,759710495,US
759710496,759710511,CA
759710512,759710559,US
759710560,759710591,CA
@@ -14756,10 +14961,10 @@
759711360,759711615,CA
759711616,759711647,US
759711648,759711655,CA
-759711656,759711711,US
-759711712,759711743,CA
-759711744,759711807,US
-759711808,759711839,CA
+759711656,759711679,US
+759711680,759711695,CA
+759711696,759711711,US
+759711712,759711839,CA
759711840,759711855,US
759711856,759711871,CA
759711872,759712095,US
@@ -14773,25 +14978,19 @@
759712768,759713023,US
759713024,759713791,CA
759713792,759714047,US
-759714048,759716095,CA
-759716096,759716479,US
-759716480,759716735,CA
-759716736,759716863,US
-759716864,759721215,CA
-759721216,759721239,US
-759721240,759721263,CA
-759721264,759721727,US
-759721728,759721983,CA
-759721984,759722239,US
-759722240,759723263,CA
+759714048,759721215,CA
+759721216,759721231,US
+759721232,759721279,CA
+759721280,759721343,US
+759721344,759721407,CA
+759721408,759721727,US
+759721728,759723263,CA
759723264,759723519,US
759723520,759725055,CA
759725056,759725311,US
-759725312,759725823,CA
-759725824,759725855,US
-759725856,759725887,CA
-759725888,759726079,US
-759726080,759791615,CA
+759725312,759725887,CA
+759725888,759725951,US
+759725952,759791615,CA
759791616,759802367,US
759802368,759803391,CA
759803392,759803903,US
@@ -15068,8 +15267,7 @@
762524672,762527743,IN
762527744,762528767,ID
762528768,762529791,AU
-762529792,762530303,ID
-762530304,762530815,TL
+762529792,762530815,TL
762530816,762532863,IN
762532864,762533887,PK
762533888,762536959,IN
@@ -15356,7 +15554,7 @@
763000832,763003903,IN
763003904,763005951,HK
763005952,763010047,IN
-763010048,763011071,HK
+763010048,763011071,SG
763011072,763026431,CN
763026432,763027455,VN
763027456,763028479,JP
@@ -15394,11 +15592,13 @@
763102208,763103231,IN
763103232,763104255,HK
763104256,763105279,BD
-763105280,763106303,PH
+763105280,763106303,US
763106304,763107327,CN
763107328,763108351,HK
763108352,763111423,CN
-763111424,763112447,AU
+763111424,763111679,AU
+763111680,763111935,IN
+763111936,763112447,AU
763112448,763113471,CN
763113472,763114495,IN
763114496,763115519,AU
@@ -15475,7 +15675,7 @@
763227136,763228159,VN
763228160,763229183,JP
763229184,763229439,NZ
-763229440,763229695,AU
+763229440,763229695,JP
763229696,763229951,IN
763229952,763230207,AU
763230208,763231231,PH
@@ -15599,8 +15799,8 @@
765501440,765508607,BR
765508608,765509631,CL
765509632,765510655,BR
-765510656,765512703,AR
-765512704,765514751,BR
+765510656,765511679,AR
+765511680,765514751,BR
765514752,765515775,CL
765515776,765517823,BR
765517824,765518847,VE
@@ -15621,9 +15821,7 @@
765569024,765571071,AR
765571072,765572095,BR
765572096,765573119,AR
-765573120,765574143,BR
-765574144,765575167,CL
-765575168,765586431,BR
+765573120,765586431,BR
765586432,765587455,PY
765587456,765591551,BR
765591552,765592575,CO
@@ -15633,58 +15831,162 @@
765606912,765607935,AR
765607936,765609983,BR
765609984,765611007,EC
-765611008,765614079,CO
+765611008,765612031,CO
+765612032,765612543,BR
+765612544,765613567,CO
+765613568,765613823,HN
+765613824,765614079,SV
765614080,765615103,AR
765615104,765617151,BR
765617152,765618175,AR
765618176,765619199,BR
765619200,765620223,AR
-765620224,765623551,BR
-765623552,765623807,AR
-765623808,765624063,CO
-765624320,765627391,BR
+765620224,765627391,BR
765627392,765628415,AR
-765628416,765634559,BR
-765634560,765635583,AR
-765635584,765637631,BR
+765628416,765637631,BR
+765637632,765638655,PY
+765638656,765639679,CL
+765639680,765640703,BR
765640704,765641727,CL
-765641728,765643263,BR
+765641728,765643775,BR
765643776,765644799,CR
-765644800,765645823,CL
-765645824,765656063,BR
+765644800,765657087,BR
765657088,765658111,CO
-765658112,765661183,BR
+765658112,765661695,BR
765661696,765662207,BO
765662208,765663231,AR
+765663232,765664255,BR
+765664256,765665023,CO
765665024,765665279,AR
+765665280,765666303,BR
765666304,765667327,AR
-765667328,765677567,BR
-765677568,765678591,AR
-765678592,765687807,BR
-765687808,765688831,MX
+765667328,765669375,BR
+765669376,765670399,MX
+765670400,765687807,BR
+765687808,765689855,MX
765689856,765690879,AR
+765690880,765691903,BR
765691904,765692927,CR
765692928,765693951,AR
-765693952,765709311,BR
+765693952,765705215,BR
+765705216,765706239,PY
+765706240,765709311,BR
765709312,765710335,EC
-765711360,765712383,BR
-765713408,765726719,BR
+765710336,765720575,BR
+765720576,765721599,AR
+765721600,765725695,BR
+765725696,765726719,DO
765726720,765727743,AR
765727744,765728767,MX
+765728768,765739007,BR
765739008,765740031,EC
+765740032,765750271,BR
+765750272,765751295,MX
+765751296,765757439,BR
+765757440,765758463,MX
+765758464,765760511,BR
+765760512,765761535,GT
+765761536,765765631,BR
+765765632,765766655,MX
+765766656,765767679,DO
+765767680,765774847,BR
+765774848,765775359,AR
+765775616,765775871,SV
+765775872,765780991,BR
+765780992,765782015,AR
+765782016,765783039,BR
+765783040,765784063,MX
+765784064,765797375,BR
+765797376,765798399,AR
+765798400,765799423,CL
+765799424,765800447,AR
+765800448,765801471,BR
+765801472,765801983,PY
+765801984,765816831,BR
+765816832,765817855,AR
+765817856,765827071,BR
+765827072,765827327,GT
+765827328,765827583,BR
+765827584,765828095,AR
+765828096,765831167,BR
+765831168,765832191,CL
+765832192,765856767,BR
+765857792,765858815,VE
+765858816,765872127,BR
+765872128,765873151,CL
+765873152,765873919,AR
+765873920,765874175,BR
+765874176,765875199,AR
+765875200,765877247,BR
+765877248,765878271,HN
+765878272,765879295,BR
+765879296,765880319,MX
+765880320,765881343,BR
+765881344,765882367,MX
+765882368,765890559,BR
+765890560,765891583,CL
+765891584,765898751,BR
+765898752,765899775,AR
+765899776,765908991,BR
+765908992,765910015,MX
+765910016,765911039,BR
+765911040,765911551,SV
+765911552,765918207,BR
+765919232,765920255,SV
+765920256,765922303,BR
+765922304,765923327,MX
+765923328,765923583,BR
+765924352,765925375,AR
+765925376,765926399,CL
+765926400,765934591,BR
+765935616,765941759,BR
+765941760,765942783,AR
+765942784,765943807,MX
+765943808,765945855,BR
+765946880,765947903,BR
+765947904,765948927,MX
+765949952,765950207,AR
+765950976,765951743,CO
+765951744,765951999,AR
+765952000,765953023,BR
+765955072,765959167,BR
+765959168,765960191,MX
+765960192,765968383,BR
+765968384,765969407,CL
+765971456,765973503,BR
+765973504,765974527,AR
+765974528,765975551,BR
+765975552,765976575,AR
+765983744,765984767,MX
+765984768,765985791,BR
+765986816,766001151,BR
+766002176,766003199,CL
+766004224,766005247,BR
+766008320,766009343,BR
767557632,767623167,ZA
767623168,767688703,HK
-767688704,767754239,ZA
+767688704,767723329,ZA
+767723330,767723330,HK
+767723331,767723389,ZA
+767723390,767723390,HK
+767723391,767754239,ZA
767754240,767754751,HK
767754752,767755263,KR
-767755264,767756287,NG
+767755264,767755519,ZA
+767755520,767756031,NG
+767756032,767756287,KE
767756288,767774207,HK
-767774208,767774463,JP
-767774464,767806975,HK
+767774208,767774719,JP
+767774720,767806975,HK
767806976,767807487,KR
767807488,767819775,HK
767819776,768016383,ZA
-768016384,768062207,US
+768016384,768047041,US
+768047042,768047042,HK
+768047043,768047101,US
+768047102,768047102,HK
+768047103,768061695,US
+768061696,768062207,AU
768062208,768063231,HK
768063232,768081919,US
768081920,768606207,ZA
@@ -16126,9 +16428,7 @@
770471936,770472191,VE
770472192,770472959,BR
770472960,770475007,CL
-770475008,770479103,BR
-770479104,770480127,EC
-770480128,770483199,BR
+770475008,770483199,BR
770483200,770484223,CL
770484224,770485247,EC
770485248,770485759,PE
@@ -16159,9 +16459,7 @@
770551808,770552831,AR
770552832,770553855,BR
770553856,770554879,PA
-770554880,770563071,BR
-770563072,770564095,AR
-770564096,770574335,BR
+770554880,770574335,BR
770574336,770577407,AR
770577408,770578431,CL
770578432,770579455,BR
@@ -16172,8 +16470,7 @@
770587648,770588671,CL
770588672,770598911,BR
770598912,770599935,AR
-770599936,770608127,BR
-770608128,770609151,HN
+770599936,770609151,BR
770609152,770610175,CO
770610176,770611199,BR
770611200,770612223,CL
@@ -16211,8 +16508,7 @@
770659328,770660351,AR
770660352,770661375,CO
770661376,770662399,AR
-770662400,770663423,CL
-770663424,770665215,BR
+770662400,770665215,BR
770665216,770665471,AR
770665472,770666751,CL
770666752,770667007,BR
@@ -16223,7 +16519,9 @@
770669568,770671615,AR
770671616,770678783,BR
770678784,770679807,EC
-770679808,770703359,BR
+770679808,770691071,BR
+770691072,770692095,CL
+770692096,770703359,BR
770703360,771227647,EG
771227648,771229695,IN
771229696,771230719,CN
@@ -16231,7 +16529,8 @@
771237376,771237887,MY
771237888,771238911,IN
771238912,771239935,US
-771239936,771241471,AU
+771239936,771241215,AU
+771241216,771241471,MY
771241472,771241727,IN
771241728,771241983,SG
771241984,771245055,IN
@@ -16269,8 +16568,7 @@
771320320,771320831,AU
771320832,771321855,IN
771321856,771322879,CN
-771322880,771323135,TW
-771323136,771323903,AU
+771322880,771323903,AU
771323904,771334143,IN
771334144,771335167,KR
771335168,771339263,IN
@@ -16445,7 +16743,9 @@
772831232,772833279,CZ
772833280,772834303,EE
772834304,772835327,ES
-772835328,772837375,CY
+772835328,772836351,IL
+772836352,772836607,CY
+772836608,772837375,IL
772837376,772839423,KZ
772839424,772841471,CH
772841472,772843519,GB
@@ -16464,8 +16764,7 @@
772870144,772872191,NO
772872192,772874239,NL
772874240,772876287,IE
-772876288,772876799,UA
-772876800,772880383,RU
+772876288,772880383,RU
772880384,772882431,GB
772882432,772884479,FR
772884480,772886527,LB
@@ -16507,8 +16806,8 @@
772945920,772947967,DE
772947968,772950015,AZ
772950016,772952063,ES
-772952064,772952319,US
-772952320,772954111,CA
+772952064,772953087,US
+772953088,772954111,GB
772954112,772958207,FR
772958208,772962303,GB
772962304,772966399,FR
@@ -16567,8 +16866,7 @@
773079040,773083135,RU
773083136,773087231,IT
773087232,773091327,LB
-773091328,773093375,GB
-773093376,773095423,CA
+773091328,773095423,GB
773095424,773099519,RO
773099520,773103615,TR
773103616,773107711,FR
@@ -16778,9 +17076,7 @@
773818368,773820415,HR
773820416,773822463,TR
773822464,773824511,RU
-773824512,773824556,DE
-773824557,773824557,FR
-773824558,773824767,DE
+773824512,773824767,DE
773824768,773826559,FR
773826560,773828607,GB
773828608,773830655,HU
@@ -16831,9 +17127,7 @@
773980160,773988351,GB
773988352,773996543,ES
773996544,773996799,TR
-773996800,773997567,ES
-773997568,773998591,NL
-773998592,774000671,ES
+773996800,774000671,ES
774000672,774000687,NL
774000688,774000823,ES
774000824,774000824,GB
@@ -16862,7 +17156,10 @@
774111232,774119423,RU
774119424,774127615,CZ
774127616,774135807,LT
-774135808,774143999,IR
+774135808,774140159,IR
+774140160,774140927,AM
+774140928,774141439,IR
+774141440,774143999,AM
774144000,774152191,KZ
774152192,774160383,BA
774160384,774162431,GB
@@ -17008,7 +17305,9 @@
774242304,774258687,RU
774258688,774266879,SA
774266880,774275071,RU
-774275072,774283263,IR
+774275072,774280191,IR
+774280192,774281215,GB
+774281216,774283263,IR
774283264,774291455,GB
774291456,774299647,NL
774299648,774307839,DE
@@ -17019,12 +17318,10 @@
774348800,774356991,CZ
774356992,774365183,ES
774365184,774373375,RU
-774373376,774383103,RS
-774383104,774383615,XK
+774373376,774383487,RS
+774383488,774383615,XK
774383616,774389759,RS
-774389760,774405375,BG
-774405376,774405631,DK
-774405632,774406143,BG
+774389760,774406143,BG
774406144,774422527,SY
774422528,774438911,OM
774438912,774455295,DE
@@ -17037,9 +17334,7 @@
774553600,774569983,KZ
774569984,774586367,GB
774586368,774602751,PS
-774602752,774618367,GB
-774618368,774618623,BE
-774618624,774619135,GB
+774602752,774619135,GB
774619136,774651903,RU
774651904,774668287,SA
774668288,774684671,NL
@@ -17202,10 +17497,14 @@
778657472,778657535,GB
778657536,778662028,FR
778662029,778662029,ES
-778662030,778666063,FR
+778662030,778666031,FR
+778666032,778666047,PL
+778666048,778666063,FR
778666064,778666079,IE
778666080,778666095,ES
-778666096,778666259,FR
+778666096,778666191,FR
+778666192,778666239,PL
+778666240,778666259,FR
778666260,778666263,ES
778666264,778666303,FR
778666304,778666367,ES
@@ -17231,7 +17530,9 @@
778667328,778667331,DE
778667332,778667347,FR
778667348,778667351,GB
-778667352,778667499,FR
+778667352,778667395,FR
+778667396,778667399,PL
+778667400,778667499,FR
778667500,778667503,GB
778667504,778667931,FR
778667932,778667935,CZ
@@ -17244,11 +17545,17 @@
778668396,778668399,ES
778668400,778668479,FR
778668480,778668495,ES
-778668496,778668607,FR
+778668496,778668511,FR
+778668512,778668515,PL
+778668516,778668571,FR
+778668572,778668575,PL
+778668576,778668607,FR
778668608,778668615,IE
778668616,778668627,FR
778668628,778668631,ES
-778668632,778668719,FR
+778668632,778668703,FR
+778668704,778668707,PL
+778668708,778668719,FR
778668720,778668723,PT
778668724,778668731,FR
778668732,778668735,GB
@@ -17326,9 +17633,13 @@
778673856,778673879,FR
778673880,778673883,CZ
778673884,778673887,ES
-778673888,778674303,FR
+778673888,778673919,FR
+778673920,778674175,PT
+778674176,778674303,FR
778674304,778674367,DE
-778674368,778674768,FR
+778674368,778674451,FR
+778674452,778674455,PL
+778674456,778674768,FR
778674769,778674769,BE
778674770,778674783,FR
778674784,778674799,GB
@@ -17337,15 +17648,18 @@
778674984,778674999,FR
778675000,778675003,FI
778675004,778675007,PL
-778675008,778675079,FR
-778675080,778675083,GB
-778675084,778675199,FR
+778675008,778675199,FR
778675200,778675207,ES
778675208,778675243,FR
778675244,778675247,DE
778675248,778675495,FR
778675496,778675499,DE
-778675500,778675631,FR
+778675500,778675503,PL
+778675504,778675511,FR
+778675512,778675519,PL
+778675520,778675615,FR
+778675616,778675619,PL
+778675620,778675631,FR
778675632,778675639,ES
778675640,778675695,FR
778675696,778675711,BE
@@ -17362,15 +17676,21 @@
778675916,778675919,DE
778675920,778676127,FR
778676128,778676131,ES
-778676132,778676143,FR
-778676144,778676159,ES
-778676160,778676207,FR
+778676132,778676139,FR
+778676140,778676143,PL
+778676144,778676183,FR
+778676184,778676191,PL
+778676192,778676207,FR
778676208,778676215,DE
778676216,778676367,FR
778676368,778676383,GB
-778676384,778676555,FR
+778676384,778676439,FR
+778676440,778676443,PL
+778676444,778676555,FR
778676556,778676559,ES
-778676560,778676623,FR
+778676560,778676607,FR
+778676608,778676611,PL
+778676612,778676623,FR
778676624,778676627,GB
778676628,778676631,ES
778676632,778676635,FR
@@ -17378,7 +17698,11 @@
778676640,778676655,ES
778676656,778676719,FR
778676720,778676723,GB
-778676724,778677083,FR
+778676724,778676767,FR
+778676768,778676771,PL
+778676772,778676775,FR
+778676776,778676779,PL
+778676780,778677083,FR
778677084,778677087,DE
778677088,778677095,FR
778677096,778677099,PL
@@ -17394,24 +17718,43 @@
778677400,778677403,PT
778677404,778677427,FR
778677428,778677431,DE
-778677432,778677475,FR
+778677432,778677439,FR
+778677440,778677455,PL
+778677456,778677475,FR
778677476,778677479,CZ
-778677480,778677503,FR
+778677480,778677487,FR
+778677488,778677503,PL
778677504,778677505,GB
778677506,778677506,ES
778677507,778677507,GB
778677508,778677759,ES
-778677760,778678271,FR
+778677760,778678003,FR
+778678004,778678007,PL
+778678008,778678015,FR
+778678016,778678019,PL
+778678020,778678159,FR
+778678160,778678163,PL
+778678164,778678207,FR
+778678208,778678271,PL
778678272,778678783,DE
778678784,778678859,FR
778678860,778678863,GB
-778678864,778679212,FR
+778678864,778678871,PL
+778678872,778678903,FR
+778678904,778678911,PL
+778678912,778678967,FR
+778678968,778678975,PL
+778678976,778679047,FR
+778679048,778679055,PL
+778679056,778679212,FR
778679213,778679214,FI
778679215,778679279,FR
778679280,778679295,ES
778679296,778679491,FR
778679492,778679495,ES
-778679496,778679599,FR
+778679496,778679503,FR
+778679504,778679519,PL
+778679520,778679599,FR
778679600,778679607,IE
778679608,778679843,FR
778679844,778679847,DE
@@ -17440,7 +17783,9 @@
778681424,778681431,FI
778681432,778681463,FR
778681464,778681471,ES
-778681472,778681503,FR
+778681472,778681483,FR
+778681484,778681487,PL
+778681488,778681503,FR
778681504,778681507,DE
778681508,778681519,FR
778681520,778681523,ES
@@ -17457,7 +17802,10 @@
778681832,778681835,IT
778681836,778681983,FR
778681984,778681999,PT
-778682000,778682079,FR
+778682000,778682015,FR
+778682016,778682031,PL
+778682032,778682063,FR
+778682064,778682079,PL
778682080,778682095,PT
778682096,778682103,FR
778682104,778682111,DE
@@ -17481,7 +17829,9 @@
778690736,778690751,PT
778690752,778691459,FR
778691460,778691463,BE
-778691464,778691543,FR
+778691464,778691471,FR
+778691472,778691479,PL
+778691480,778691543,FR
778691544,778691551,GB
778691552,778691763,FR
778691764,778691767,DE
@@ -17493,7 +17843,9 @@
778691976,778691983,ES
778691984,778692031,FR
778692032,778692039,DE
-778692040,778692143,FR
+778692040,778692059,FR
+778692060,778692063,PL
+778692064,778692143,FR
778692144,778692159,DE
778692160,778692191,FR
778692192,778692195,ES
@@ -17509,13 +17861,16 @@
778692528,778692535,BE
778692536,778692619,FR
778692620,778692623,ES
-778692624,778692743,FR
+778692624,778692719,FR
+778692720,778692723,PL
+778692724,778692743,FR
778692744,778692747,ES
778692748,778692811,FR
778692812,778692815,DE
778692816,778692827,FR
778692828,778692831,GB
-778692832,778692847,FR
+778692832,778692843,FR
+778692844,778692847,PL
778692848,778692863,DE
778692864,778692891,FR
778692892,778692895,GB
@@ -17527,7 +17882,8 @@
778693176,778693179,ES
778693180,778693231,FR
778693232,778693235,DE
-778693236,778693427,FR
+778693236,778693239,PL
+778693240,778693427,FR
778693428,778693431,ES
778693432,778693439,FR
778693440,778693455,GB
@@ -17543,9 +17899,15 @@
778693856,778693887,BE
778693888,778693967,FR
778693968,778693971,ES
-778693972,778694543,FR
+778693972,778694163,FR
+778694164,778694167,PL
+778694168,778694543,FR
778694544,778694555,DE
-778694556,778695087,FR
+778694556,778694559,FR
+778694560,778694563,PL
+778694564,778694639,FR
+778694640,778694643,PL
+778694644,778695087,FR
778695088,778695103,PT
778695104,778695119,FR
778695120,778695135,LT
@@ -17575,7 +17937,10 @@
778696272,778696287,ES
778696288,778696319,FR
778696320,778696335,DE
-778696336,778696435,FR
+778696336,778696339,PL
+778696340,778696347,FR
+778696348,778696351,PL
+778696352,778696435,FR
778696436,778696439,GB
778696440,778696495,FR
778696496,778696499,ES
@@ -17589,7 +17954,8 @@
778696984,778696987,ES
778696988,778696991,FR
778696992,778696995,ES
-778696996,778697055,FR
+778696996,778696999,PL
+778697000,778697055,FR
778697056,778697063,ES
778697064,778697067,FR
778697068,778697071,ES
@@ -17599,7 +17965,8 @@
778697280,778697287,IE
778697288,778697311,FR
778697312,778697343,ES
-778697344,778697435,FR
+778697344,778697431,FR
+778697432,778697435,PL
778697436,778697439,GB
778697440,778697471,FR
778697472,778697479,CZ
@@ -17625,22 +17992,20 @@
778698628,778698631,ES
778698632,778698643,FR
778698644,778698647,ES
-778698648,778698703,FR
+778698648,778698675,FR
+778698676,778698679,PL
+778698680,778698703,FR
778698704,778698707,ES
778698708,778698715,FR
778698716,778698719,CZ
778698720,778698751,FR
778698752,778764287,TR
778764288,778822655,HU
-778822656,778823679,UA
-778823680,778829823,HU
+778822656,778823167,UA
+778823168,778829823,HU
778829824,778839856,DE
778839857,778839857,RO
-778839858,778846207,DE
-778846208,778862591,RO
-778862592,778866687,DE
-778866688,778868735,GB
-778868736,778883071,DE
+778839858,778883071,DE
778883072,778885119,GB
778885120,778895359,DE
778895360,778960895,LV
@@ -17653,9 +18018,7 @@
779616256,779747327,IL
779747328,779878399,SI
779878400,780009471,AT
-780009472,780050303,CH
-780050304,780050431,DE
-780050432,780140543,CH
+780009472,780140543,CH
780140544,780206079,DE
780206080,780271615,NL
780271616,780337151,AM
@@ -17684,14 +18047,13 @@
781479936,781480191,UA
781480192,781480447,RO
781480448,781480703,BE
-781480704,781481471,UA
+781480704,781481215,UA
+781481216,781481471,CZ
781481472,781481727,GB
781481728,781484031,UA
781484032,781488127,RU
781488128,781496319,PL
-781496320,781496575,UA
-781496576,781496831,RU
-781496832,781496867,UA
+781496320,781496867,UA
781496868,781496868,RU
781496869,781500415,UA
781500416,781516799,RU
@@ -17704,6 +18066,11 @@
781545472,781549567,CZ
781549568,781553663,RU
781553664,781557759,PL
+781557760,781558783,TR
+781558784,781559807,RU
+781559808,781560831,IT
+781560832,781561599,RU
+781561600,781561855,GB
781561856,781565951,UA
781565952,781570047,IT
781570048,781574143,PL
@@ -17777,8 +18144,8 @@
782385152,782401535,SE
782401536,782417919,FR
782417920,782434303,AM
-782434304,782438399,HR
-782438400,782446591,SI
+782434304,782436351,HR
+782436352,782446591,SI
782446592,782447359,BA
782447360,782447615,HR
782447616,782447871,SI
@@ -17854,7 +18221,7 @@
783204352,783206399,RU
783206400,783208447,RO
783208448,783210495,PL
-783210496,783212543,UA
+783210496,783212543,RU
783212544,783216639,PL
783216640,783218687,UA
783218688,783220735,RU
@@ -17965,14 +18332,7 @@
784105472,784138239,HR
784138240,784145617,DE
784145618,784145618,BE
-784145619,784155483,DE
-784155484,784155487,CH
-784155488,784155491,NL
-784155492,784155495,DE
-784155496,784155503,AT
-784155504,784155511,GB
-784155512,784155519,CZ
-784155520,784155611,DE
+784145619,784155611,DE
784155612,784155615,CH
784155616,784155623,DE
784155624,784155631,AT
@@ -17989,11 +18349,7 @@
784268288,784269311,GB
784269312,784302079,BY
784302080,784334847,RU
-784334848,784419071,FR
-784419072,784419327,GB
-784419328,784438623,FR
-784438624,784438655,GB
-784438656,784457727,FR
+784334848,784457727,FR
784457728,784461823,GB
784461824,784465919,FR
784465920,784596991,SE
@@ -18016,15 +18372,7 @@
785842176,785907711,PL
785907712,785973247,BY
785973248,786038783,MK
-786038784,786044607,FR
-786044608,786044671,US
-786044672,786053631,FR
-786053632,786053759,US
-786053760,786053823,FR
-786053824,786053887,US
-786053888,786085311,FR
-786085312,786085375,US
-786085376,786104319,FR
+786038784,786104319,FR
786104320,786169855,UA
786169856,786235391,AT
786235392,786300927,TR
@@ -18205,7 +18553,8 @@
787095680,787095711,CH
787096576,787097855,CH
787098112,787098879,CH
-787099392,787103743,CH
+787099392,787100671,CH
+787101696,787103743,CH
787103744,787111935,HR
787111936,787116287,CZ
787116288,787116543,US
@@ -18235,8 +18584,8 @@
787189760,787191807,CH
787191808,787192063,GB
787192064,787192319,FR
-787192576,787192607,DK
-787192656,787192703,SE
+787192320,787192575,DE
+787192576,787192831,SE
787192832,787193087,AE
787193088,787193343,FI
787193344,787193599,DE
@@ -18276,11 +18625,7 @@
787464192,787480575,IS
787480576,787513343,SA
787513344,787546111,RS
-787546112,787566591,RU
-787566592,787567615,BE
-787567616,787568127,RU
-787568128,787570687,BE
-787570688,787578879,RU
+787546112,787578879,RU
787578880,787611647,AM
787611648,787644415,RU
787644416,787677183,PL
@@ -18319,22 +18664,26 @@
787716096,787718143,NL
787718144,787718911,RU
787718912,787719167,NL
-787719168,787722239,RU
+787719168,787719935,RU
+787719936,787720191,NL
+787720192,787721471,RU
+787721472,787721599,NL
+787721600,787722239,RU
787722240,787722751,NL
787722752,787725311,RU
-787725312,787728639,NL
-787728640,787728895,RU
-787728896,787729407,NL
+787725312,787729407,NL
787729408,787730431,US
-787730432,787731199,SE
+787730432,787730687,FR
+787730688,787731199,SE
787731200,787731967,CA
-787731968,787732479,LU
+787731968,787732223,US
+787732224,787732479,LU
787732480,787732735,CH
787732736,787733247,BE
787733248,787733759,RU
787733760,787734015,AT
787734016,787734271,IE
-787734272,787734527,RO
+787734272,787734527,FR
787734528,787736575,US
787736576,787737599,GB
787737600,787738367,DE
@@ -18343,7 +18692,7 @@
787738880,787739135,MT
787739136,787739903,CA
787739904,787740671,AU
-787740672,787740927,BE
+787740672,787740927,NL
787740928,787741183,GB
787741184,787741439,HK
787741440,787741695,US
@@ -18390,11 +18739,7 @@
787849216,787851263,TR
787851264,787853311,RU
787853312,787855359,DE
-787855360,787856895,CH
-787856896,787857083,DE
-787857084,787857084,CH
-787857085,787857279,DE
-787857280,787857407,CH
+787855360,787857407,CH
787857408,787859455,PL
787859456,787861503,AT
787861504,787863551,IE
@@ -18441,9 +18786,10 @@
788086784,788094975,BG
788094976,788095231,AU
788095232,788095487,DE
-788095488,788095743,AU
-788095744,788095999,IR
-788096000,788101119,AU
+788095488,788095743,IR
+788095744,788095999,AU
+788096000,788099071,DE
+788099072,788101119,AU
788101120,788103167,IR
788103168,788111359,HU
788111360,788119551,LT
@@ -18498,8 +18844,7 @@
788361216,788365311,DE
788365312,788369407,IQ
788369408,788373503,DE
-788373504,788374527,FR
-788374528,788377599,BE
+788373504,788377599,BE
788377600,788381695,CH
788381696,788385791,SE
788385792,788389887,PL
@@ -18562,9 +18907,9 @@
788508672,788509711,FR
788509712,788509951,AT
788509952,788509983,FR
-788509984,788510168,AT
-788510169,788510169,FR
-788510170,788510191,AT
+788509984,788510159,AT
+788510160,788510175,FR
+788510176,788510191,AT
788510192,788510719,FR
788510720,788512320,ES
788512321,788512383,NO
@@ -18590,7 +18935,17 @@
792002560,792068095,IT
792068096,792199167,CA
792199168,792330239,US
-792330240,792723455,ES
+792330240,792372223,ES
+792372224,792373247,US
+792373248,792389631,ES
+792389632,792390655,US
+792390656,792391679,ES
+792391680,792395775,US
+792395776,792430591,ES
+792430592,792434687,US
+792434688,792436735,ES
+792436736,792444927,US
+792444928,792723455,ES
792723456,793247743,DE
793247744,793313279,NZ
793313280,793378815,DE
@@ -18734,9 +19089,7 @@
832312320,832313343,ID
832313344,832315391,AU
832315392,832319487,KH
-832319488,832319999,NU
-832320000,832320255,NZ
-832320256,832320511,NU
+832319488,832320511,NU
832320512,832321535,VN
832321536,832323583,ID
832323584,832348159,IN
@@ -18800,7 +19153,9 @@
839016960,839017087,US
839017088,839026687,DE
839026688,839027711,US
-839027712,839040599,DE
+839027712,839039231,DE
+839039232,839039487,US
+839039488,839040599,DE
839040600,839040607,US
839040608,839041023,DE
839041024,839042047,US
@@ -18814,7 +19169,9 @@
839116544,839116799,US
839116800,839117823,DE
839117824,839118847,US
-839118848,839119871,DE
+839118848,839119359,DE
+839119360,839119615,US
+839119616,839119871,DE
839119872,839120895,US
839120896,839122943,DE
839122944,839340031,US
@@ -18826,7 +19183,8 @@
839348480,839348735,AT
839348736,839348991,GB
839348992,839349247,AT
-839349248,839349759,DE
+839349248,839349503,DE
+839349504,839349759,FR
839349760,839350271,US
839350272,839351295,NL
839351296,839352063,DE
@@ -18851,7 +19209,13 @@
839370752,839371263,FR
839371264,839371775,GB
839371776,839372287,NL
-839372288,839385087,CZ
+839372288,839373311,ES
+839373312,839373823,NL
+839373824,839374335,GB
+839374336,839376895,NL
+839376896,839378431,CZ
+839378432,839379455,NL
+839379456,839385087,CZ
839385088,840269823,US
840269824,840273919,CA
840273920,840278015,US
@@ -18874,7 +19238,9 @@
844462880,844462880,CL
844462881,844890111,US
844890112,844988415,CA
-844988416,845222689,US
+844988416,844996607,US
+844996608,845000703,CA
+845000704,845222689,US
845222690,845222690,HK
845222691,845283327,US
845283328,845545471,CA
@@ -18926,7 +19292,9 @@
858128704,858128735,CZ
858128736,858128895,FR
858128896,858129023,BE
-858129024,858131343,FR
+858129024,858129599,FR
+858129600,858129607,NL
+858129608,858131343,FR
858131344,858131359,ES
858131360,858132831,FR
858132832,858132863,CZ
@@ -18941,9 +19309,15 @@
858136352,858136383,GB
858136384,858144767,FR
858144768,858145279,GB
-858145280,858145695,FR
+858145280,858145407,FR
+858145408,858145471,GB
+858145472,858145615,FR
+858145616,858145631,GB
+858145632,858145695,FR
858145696,858145727,GB
-858145728,858145791,FR
+858145728,858145759,FR
+858145760,858145775,GB
+858145776,858145791,FR
858145792,858146879,GB
858146880,858147135,FR
858147136,858147199,GB
@@ -18971,19 +19345,27 @@
858150272,858150335,GB
858150336,858150391,FR
858150392,858150463,GB
-858150464,858150591,FR
+858150464,858150479,FR
+858150480,858150487,DE
+858150488,858150559,FR
+858150560,858150567,GB
+858150568,858150591,FR
858150592,858150655,GB
-858150656,858150783,FR
-858150784,858150911,GB
+858150656,858150687,FR
+858150688,858150911,GB
858150912,858151295,FR
858151296,858151327,GB
858151328,858151455,FR
858151456,858151471,GB
858151472,858151615,FR
858151616,858151679,GB
-858151680,858151999,FR
+858151680,858151807,FR
+858151808,858151823,GB
+858151824,858151999,FR
858152000,858152063,GB
-858152064,858152447,FR
+858152064,858152379,FR
+858152380,858152383,GB
+858152384,858152447,FR
858152448,858152527,GB
858152528,858152639,FR
858152640,858152703,GB
@@ -19009,9 +19391,13 @@
858155888,858155919,LT
858155920,858155951,FR
858155952,858155967,BE
-858155968,858156095,FR
+858155968,858156007,FR
+858156008,858156015,DE
+858156016,858156095,FR
858156096,858156159,DE
-858156160,858156303,FR
+858156160,858156223,FR
+858156224,858156287,DE
+858156288,858156303,FR
858156304,858156319,PL
858156320,858156495,FR
858156496,858156511,NL
@@ -19023,18 +19409,15 @@
858156672,858156767,FR
858156768,858156783,CZ
858156784,858156863,FR
-858156864,858157007,DE
-858157008,858157019,FR
+858156864,858156991,DE
+858156992,858157019,FR
858157020,858157023,DE
858157024,858157047,FR
858157048,858157051,DE
858157052,858157055,FR
-858157056,858157311,DE
-858157312,858158079,UA
+858157056,858158079,DE
858158080,858158095,FR
-858158096,858158399,DE
-858158400,858158463,FR
-858158464,858158655,DE
+858158096,858158655,DE
858158656,858158671,FI
858158672,858158687,GB
858158688,858158695,FR
@@ -19048,7 +19431,9 @@
858158976,858159039,DE
858159040,858159167,FR
858159168,858159231,DE
-858159232,858159295,FR
+858159232,858159247,FR
+858159248,858159263,BE
+858159264,858159295,FR
858159296,858159359,DE
858159360,858159627,FR
858159628,858159628,ES
@@ -19068,7 +19453,9 @@
858159764,858159767,DE
858159768,858159807,FR
858159808,858159871,DE
-858159872,858159983,FR
+858159872,858159943,FR
+858159944,858159951,DE
+858159952,858159983,FR
858159984,858159999,DE
858160000,858160015,IE
858160016,858160031,FR
@@ -19079,29 +19466,41 @@
858160072,858160127,FR
858160128,858161151,DE
858161152,858163199,PL
-858163200,858164351,FR
+858163200,858163487,FR
+858163488,858163519,PL
+858163520,858163727,FR
+858163728,858163743,PL
+858163744,858163823,FR
+858163824,858163839,PL
+858163840,858163935,FR
+858163936,858163951,PL
+858163952,858164351,FR
858164352,858164415,PL
858164416,858164735,FR
858164736,858164863,PL
858164864,858165119,FR
858165120,858165183,PL
858165184,858165247,FR
-858165248,858165311,PL
-858165312,858165375,FR
+858165248,858165327,PL
+858165328,858165375,FR
858165376,858165439,PL
858165440,858165823,FR
858165824,858165855,PL
858165856,858165887,FR
858165888,858165951,PL
-858165952,858166207,FR
-858166208,858166271,PL
-858166272,858166975,FR
+858165952,858166095,FR
+858166096,858166111,PL
+858166112,858166207,FR
+858166208,858166783,PL
+858166784,858166975,FR
858166976,858167039,PL
858167040,858167295,FR
858167296,858167359,PL
858167360,858167487,FR
858167488,858167551,PL
-858167552,858167679,FR
+858167552,858167615,FR
+858167616,858167647,PL
+858167648,858167679,FR
858167680,858167807,PL
858167808,858168063,FR
858168064,858168127,PL
@@ -19113,19 +19512,25 @@
858169280,858169343,PL
858169344,858169855,FR
858169856,858169983,ES
-858169984,858170199,FR
+858169984,858170159,FR
+858170160,858170175,PL
+858170176,858170199,FR
858170200,858170207,DE
858170208,858170623,FR
858170624,858170639,DE
858170640,858170751,FR
858170752,858170879,IT
-858170880,858171023,FR
+858170880,858170999,FR
+858171000,858171003,DE
+858171004,858171023,FR
858171024,858171039,GB
858171040,858171263,FR
858171264,858171279,IE
858171280,858171359,FR
858171360,858171391,NL
-858171392,858173055,FR
+858171392,858171775,FR
+858171776,858171839,PL
+858171840,858173055,FR
858173056,858173071,BE
858173072,858173207,FR
858173208,858173215,FI
@@ -19133,9 +19538,7 @@
858173228,858173231,BE
858173232,858178239,FR
858178240,858178271,GB
-858178272,858178511,FR
-858178512,858178519,GB
-858178520,858179583,FR
+858178272,858179583,FR
858179584,858179711,ES
858179712,858179727,FR
858179728,858179743,FI
@@ -19144,7 +19547,9 @@
858181248,858182399,FR
858182400,858182527,IT
858182528,858182655,ES
-858182656,858183935,FR
+858182656,858182911,FR
+858182912,858182927,ES
+858182928,858183935,FR
858183936,858183967,FI
858183968,858185087,FR
858185088,858185215,ES
@@ -19169,7 +19574,11 @@
860099328,860099455,IT
860099456,860100607,FR
860100608,860100735,ES
-860100736,860108543,FR
+860100736,860101543,FR
+860101544,860101551,GB
+860101552,860101611,FR
+860101612,860101615,PL
+860101616,860108543,FR
860108544,860108671,NL
860108672,860109695,FR
860109696,860109823,NL
@@ -19177,7 +19586,8 @@
860110208,860110215,DE
860110216,860110287,FR
860110288,860110295,DE
-860110296,860110355,FR
+860110296,860110299,PL
+860110300,860110355,FR
860110356,860110359,DE
860110360,860110519,FR
860110520,860110523,GB
@@ -19214,15 +19624,25 @@
860128000,860128063,PL
860128064,860128127,FR
860128128,860128191,PL
-860128192,860128383,FR
-860128384,860128447,PL
-860128448,860128639,FR
+860128192,860128215,FR
+860128216,860128219,PL
+860128220,860128319,FR
+860128320,860128327,PL
+860128328,860128383,FR
+860128384,860128479,PL
+860128480,860128639,FR
860128640,860128703,PL
860128704,860128711,FR
860128712,860128715,PL
-860128716,860128831,FR
-860128832,860128895,PL
-860128896,860129087,FR
+860128716,860128719,FR
+860128720,860128735,PL
+860128736,860128747,FR
+860128748,860128751,PL
+860128752,860128767,FR
+860128768,860128959,PL
+860128960,860129055,FR
+860129056,860129071,PL
+860129072,860129087,FR
860129088,860129215,PL
860129216,860129279,FR
860129280,860135423,PL
@@ -19234,13 +19654,15 @@
860135552,860135615,DE
860135616,860135631,FR
860135632,860135647,GB
-860135648,860135663,FR
+860135648,860135663,PL
860135664,860135671,DE
860135672,860135679,FR
860135680,860135695,PT
860135696,860135967,FR
860135968,860135983,DE
-860135984,860136095,FR
+860135984,860135999,FR
+860136000,860136015,IT
+860136016,860136095,FR
860136096,860136111,FI
860136112,860136127,FR
860136128,860136255,DE
@@ -19248,9 +19670,7 @@
860136272,860136319,DE
860136320,860136351,FR
860136352,860136367,CZ
-860136368,860136383,FR
-860136384,860136399,DE
-860136400,860136431,FR
+860136368,860136431,FR
860136432,860136447,GB
860136448,860137727,DE
860137728,860137999,FR
@@ -19273,8 +19693,8 @@
860139520,860139663,FR
860139664,860139667,GB
860139668,860139711,FR
-860139712,860139839,DE
-860139840,860140031,FR
+860139712,860139871,DE
+860139872,860140031,FR
860140032,860140111,DE
860140112,860140159,FR
860140160,860140239,DE
@@ -19314,8 +19734,7 @@
860142096,860142111,ES
860142112,860142127,DE
860142128,860142143,NL
-860142144,860142159,DE
-860142160,860142207,FR
+860142144,860142207,FR
860142208,860142271,DE
860142272,860142335,FR
860142336,860142351,GB
@@ -19327,22 +19746,36 @@
860143680,860143743,GB
860143744,860143871,FR
860143872,860143999,GB
-860144000,860144319,FR
-860144320,860144383,GB
-860144384,860144639,FR
-860144640,860145663,GB
-860145664,860147711,FR
-860147712,860147775,GB
+860144000,860144063,FR
+860144064,860144127,GB
+860144128,860144319,FR
+860144320,860144447,GB
+860144448,860144511,FR
+860144512,860144575,GB
+860144576,860144639,FR
+860144640,860145855,GB
+860145856,860145871,FR
+860145872,860145903,GB
+860145904,860145919,FR
+860145920,860145983,GB
+860145984,860145999,FR
+860146000,860146015,GB
+860146016,860146031,FR
+860146032,860146063,GB
+860146064,860146447,FR
+860146448,860146463,GB
+860146464,860146591,FR
+860146592,860146607,GB
+860146608,860146623,FR
+860146624,860147775,GB
860147776,860147903,FR
-860147904,860147967,GB
-860147968,860148287,FR
-860148288,860148351,GB
+860147904,860148031,GB
+860148032,860148223,FR
+860148224,860148351,GB
860148352,860148415,FR
860148416,860148479,GB
860148480,860148735,FR
-860148736,860149759,GB
-860149760,860149887,FR
-860149888,860149951,GB
+860148736,860149951,GB
860149952,860149999,FR
860150000,860150015,GB
860150016,860150631,FR
@@ -19359,31 +19792,67 @@
860561472,860561535,PL
860561536,860561599,FR
860561600,860561663,PL
-860561664,860565823,FR
+860561664,860561807,FR
+860561808,860561811,PL
+860561812,860561919,FR
+860561920,860562111,PL
+860562112,860562239,FR
+860562240,860562303,PL
+860562304,860562431,FR
+860562432,860562559,PL
+860562560,860562687,FR
+860562688,860562751,PL
+860562752,860562815,FR
+860562816,860562831,PL
+860562832,860562879,FR
+860562880,860562943,PL
+860562944,860563263,FR
+860563264,860563327,PL
+860563328,860563919,FR
+860563920,860563935,PL
+860563936,860563967,FR
+860563968,860564031,PL
+860564032,860564095,FR
+860564096,860564159,PL
+860564160,860564223,FR
+860564224,860564287,PL
+860564288,860564411,FR
+860564412,860564415,PL
+860564416,860565823,FR
860565824,860565951,PL
-860565952,860566079,FR
-860566080,860566143,PL
-860566144,860566527,FR
+860565952,860566071,FR
+860566072,860566207,PL
+860566208,860566527,FR
860566528,860567551,PL
860567552,860567615,FR
860567616,860567679,PL
-860567680,860567807,FR
-860567808,860567999,PL
+860567680,860567711,FR
+860567712,860567743,PL
+860567744,860567803,FR
+860567804,860567999,PL
860568000,860568051,FR
860568052,860568052,PL
860568053,860568063,FR
860568064,860568127,PL
-860568128,860568383,FR
+860568128,860568143,FR
+860568144,860568223,PL
+860568224,860568383,FR
860568384,860568447,PL
860568448,860568511,FR
-860568512,860568575,PL
-860568576,860569599,FR
+860568512,860568831,PL
+860568832,860569087,FR
+860569088,860569599,PL
860569600,860573951,DE
-860573952,860574367,FR
+860573952,860574207,FR
+860574208,860574271,DE
+860574272,860574367,FR
860574368,860574383,ES
860574384,860574463,FR
860574464,860574527,DE
-860574528,860574783,FR
+860574528,860574559,FR
+860574560,860574575,CZ
+860574576,860574591,GB
+860574592,860574783,FR
860574784,860574799,CZ
860574800,860574831,FR
860574832,860574847,BE
@@ -19395,13 +19864,142 @@
860575088,860575103,PL
860575104,860575183,FR
860575184,860575199,NL
-860575200,860575743,FR
+860575200,860575231,FR
+860575232,860575263,DE
+860575264,860575295,FR
+860575296,860575311,BE
+860575312,860575343,GB
+860575344,860575359,IT
+860575360,860575375,GB
+860575376,860575391,ES
+860575392,860575423,FR
+860575424,860575551,DE
+860575552,860575567,FR
+860575568,860575583,BE
+860575584,860575727,FR
+860575728,860575743,BE
860575744,860577791,DE
-860577792,860579455,FR
+860577792,860578175,FR
+860578176,860578239,GB
+860578240,860579455,FR
860579456,860579583,BE
-860579584,860618751,FR
+860579584,860580191,FR
+860580192,860580223,GB
+860580224,860580351,FR
+860580352,860580607,DE
+860580608,860580735,ES
+860580736,860581087,FR
+860581088,860581103,LT
+860581104,860590079,FR
+860590080,860591103,DE
+860591104,860591423,FR
+860591424,860591439,NL
+860591440,860591519,FR
+860591520,860591535,ES
+860591536,860591935,FR
+860591936,860591999,DE
+860592000,860592015,BE
+860592016,860592031,NL
+860592032,860592079,FR
+860592080,860592095,DE
+860592096,860592127,FR
+860592128,860592383,DE
+860592384,860592399,FR
+860592400,860592415,FI
+860592416,860592511,DE
+860592512,860592527,FR
+860592528,860592543,CZ
+860592544,860592703,FR
+860592704,860592767,DE
+860592768,860592831,FR
+860592832,860592847,GB
+860592848,860592863,DE
+860592864,860592927,FR
+860592928,860592943,DE
+860592944,860593007,FR
+860593008,860593023,IT
+860593024,860593263,FR
+860593264,860593279,ES
+860593280,860593311,DE
+860593312,860593343,FR
+860593344,860593471,DE
+860593472,860593535,FR
+860593536,860593663,DE
+860593664,860593919,FR
+860593920,860593935,NL
+860593936,860594015,FR
+860594016,860594031,DE
+860594032,860594175,FR
+860594176,860595263,GB
+860595264,860595519,FR
+860595520,860595679,GB
+860595680,860595839,FR
+860595840,860595919,GB
+860595920,860595967,FR
+860595968,860596015,GB
+860596016,860596127,FR
+860596128,860596159,GB
+860596160,860596223,FR
+860596224,860597247,GB
+860597248,860597503,FR
+860597504,860597567,GB
+860597568,860597711,FR
+860597712,860597715,GB
+860597716,860597759,FR
+860597760,860597855,GB
+860597856,860597951,FR
+860597952,860598015,GB
+860598016,860601279,FR
+860601280,860601295,GB
+860601296,860601663,FR
+860601664,860601679,ES
+860601680,860609039,FR
+860609040,860609055,NL
+860609056,860609607,FR
+860609608,860609615,NL
+860609616,860610415,FR
+860610416,860610431,GB
+860610432,860611279,FR
+860611280,860611295,FI
+860611296,860611807,FR
+860611808,860611839,FI
+860611840,860612815,FR
+860612816,860612831,ES
+860612832,860613551,FR
+860613552,860613567,LT
+860613568,860614191,FR
+860614192,860614207,ES
+860614208,860618751,FR
860618752,860684287,GB
-860684288,860749823,FR
+860684288,860685919,FR
+860685920,860685951,FI
+860685952,860687215,FR
+860687216,860687231,LT
+860687232,860704767,FR
+860704768,860705023,DE
+860705024,860705199,FR
+860705200,860705215,IT
+860705216,860705791,FR
+860705792,860706047,DE
+860706048,860706303,FR
+860706304,860706815,DE
+860706816,860713167,FR
+860713168,860713215,GB
+860713216,860713263,FR
+860713264,860713279,GB
+860713280,860713663,FR
+860713664,860713679,GB
+860713680,860713695,FR
+860713696,860714495,GB
+860714496,860715007,FR
+860715008,860715071,GB
+860715072,860715183,FR
+860715184,860715191,GB
+860715192,860715247,FR
+860715248,860715263,GB
+860715264,860715519,FR
+860715520,860715647,GB
+860715648,860749823,FR
860749824,860815359,GB
860815360,860880895,FR
860880896,860905167,GB
@@ -19557,7 +20155,8 @@
872303008,872303039,IT
872303040,872303055,FR
872303056,872303071,CZ
-872303072,872303103,FR
+872303072,872303087,PL
+872303088,872303103,FR
872303104,872303359,GB
872303360,872303679,FR
872303680,872303743,IT
@@ -19735,7 +20334,8 @@
872341872,872341879,GB
872341880,872341887,FR
872341888,872341903,ES
-872341904,872342255,FR
+872341904,872341919,PL
+872341920,872342255,FR
872342256,872342271,IT
872342272,872342335,FR
872342336,872342367,ES
@@ -19838,7 +20438,9 @@
872356416,872356479,DE
872356480,872356671,FR
872356672,872356735,IT
-872356736,872357423,FR
+872356736,872357199,FR
+872357200,872357215,PL
+872357216,872357423,FR
872357424,872357439,PT
872357440,872357503,ES
872357504,872357671,FR
@@ -19879,9 +20481,13 @@
872374592,872374655,ES
872374656,872374683,FR
872374684,872374687,ES
-872374688,872375007,FR
+872374688,872374919,FR
+872374920,872374923,ES
+872374924,872375007,FR
872375008,872375039,PT
-872375040,872375295,FR
+872375040,872375167,FR
+872375168,872375183,PL
+872375184,872375295,FR
872375296,872375423,NL
872375424,872376191,FR
872376192,872376319,GB
@@ -19894,7 +20500,9 @@
872377344,872377919,FR
872377920,872377983,BE
872377984,872378047,IE
-872378048,872378207,FR
+872378048,872378083,FR
+872378084,872378087,PL
+872378088,872378207,FR
872378208,872378239,IT
872378240,872378447,FR
872378448,872378463,CZ
@@ -19908,7 +20516,8 @@
872379776,872379903,IT
872379904,872379967,FR
872379968,872380031,NL
-872380032,872380143,FR
+872380032,872380047,PL
+872380048,872380143,FR
872380144,872380147,DE
872380148,872380247,FR
872380248,872380248,ES
@@ -19924,7 +20533,9 @@
872381344,872381375,PL
872381376,872381583,FR
872381584,872381599,DE
-872381600,872382143,FR
+872381600,872381647,FR
+872381648,872381651,DE
+872381652,872382143,FR
872382144,872382207,ES
872382208,872382335,FR
872382336,872382463,GB
@@ -19933,9 +20544,12 @@
872382720,872382779,FR
872382780,872382783,ES
872382784,872382847,DE
-872382848,872383327,FR
+872382848,872383055,FR
+872383056,872383071,LT
+872383072,872383327,FR
872383328,872383359,PL
-872383360,872383519,FR
+872383360,872383503,FR
+872383504,872383519,PL
872383520,872383551,ES
872383552,872383583,GB
872383584,872383743,FR
@@ -20082,7 +20696,9 @@
872408912,872409151,FR
872409152,872409215,DE
872409216,872409343,GB
-872409344,872409631,FR
+872409344,872409359,FR
+872409360,872409375,PL
+872409376,872409631,FR
872409632,872409663,IT
872409664,872409679,FR
872409680,872409683,ES
@@ -20170,9 +20786,13 @@
878515180,878515181,SG
878515182,878515469,US
878515470,878515471,IE
-878515472,878522389,US
+878515472,878522367,US
+878522368,878522389,IE
878522390,878522391,DE
-878522392,878538785,US
+878522392,878522623,IE
+878522624,878534655,US
+878534656,878534911,IE
+878534912,878538785,US
878538786,878538787,IE
878538788,878545659,US
878545660,878545661,GB
@@ -20289,7 +20909,8 @@
878699008,878699263,US
878699264,878699519,SE
878699520,878699775,BH
-878699776,878702591,US
+878699776,878702335,US
+878702336,878702591,GB
878702592,878702847,BR
878702848,878703103,AU
878703104,878703359,SG
@@ -20313,15 +20934,19 @@
878706576,878706591,CN
878706592,878706703,US
878706704,878706719,BR
-878706720,878772223,US
+878706720,878719551,US
+878719552,878719631,CA
+878719632,878719743,US
+878719744,878720255,CA
+878720256,878772223,US
878772224,878772239,BR
878772240,878772255,US
878772256,878772287,CL
878772288,878772735,BR
878772736,878788623,US
-878788624,878788671,BR
-878788672,878788863,US
-878788864,878791935,BR
+878788624,878788703,BR
+878788704,878788735,US
+878788736,878791935,BR
878791936,878804991,US
878804992,878805247,AT
878805248,878806015,GB
@@ -20364,11 +20989,22 @@
878815104,878815167,AT
878815168,878815191,IE
878815192,878815271,NL
-878815272,878815295,US
+878815272,878815279,IE
+878815280,878815295,NL
878815296,878815423,AT
878815424,878815519,NL
-878815520,878815615,IE
-878815616,878821375,US
+878815520,878815775,IE
+878815776,878815839,NL
+878815840,878815855,IE
+878815856,878815871,AT
+878815872,878816127,NL
+878816128,878816191,IE
+878816192,878816231,NL
+878816232,878816255,US
+878816256,878816383,AT
+878816384,878816511,NL
+878816512,878816543,FR
+878816544,878821375,US
878821376,878821695,NL
878821696,878821759,US
878821760,878822655,NL
@@ -20377,18 +21013,20 @@
878837776,878837887,US
878837888,878839039,AU
878839040,878841855,US
-878841856,878841951,ZA
-878841952,878845951,US
+878841856,878842431,ZA
+878842432,878845951,US
878845952,878845983,AE
878845984,878845991,JP
-878845992,878845999,US
+878845992,878845999,SG
878846000,878846015,AE
878846016,878846079,KR
878846080,878846143,HK
878846144,878846159,AE
-878846160,878846175,US
+878846160,878846175,SG
878846176,878846239,AE
-878846240,878854143,US
+878846240,878846591,SG
+878846592,878846623,AE
+878846624,878854143,US
878854144,878854207,JP
878854208,878854399,HK
878854400,878854783,SG
@@ -20425,11 +21063,53 @@
878862976,878863103,SG
878863104,878863359,HK
878863360,878863999,SG
-878864000,879053823,US
+878864000,878973183,US
+878973184,878973695,CA
+878973696,879005951,US
+879005952,879006463,CA
+879006464,879050751,US
+879050752,879051007,IE
+879051008,879051263,FI
+879051264,879051519,AT
+879051520,879051775,NL
+879051776,879052031,FI
+879052032,879052287,AT
+879052288,879052543,NL
+879052544,879052799,IE
+879052800,879053055,AT
+879053056,879053311,FI
+879053312,879053567,IE
+879053568,879053823,AT
879053824,879054335,FR
-879054336,879070207,US
+879054336,879054847,GB
+879054848,879067135,US
+879067136,879067391,IE
+879067392,879067647,FI
+879067648,879067903,AT
+879067904,879068159,NL
+879068160,879068415,FI
+879068416,879068671,AT
+879068672,879068927,NL
+879068928,879069183,IE
+879069184,879069439,AT
+879069440,879069695,FI
+879069696,879069951,IE
+879069952,879070207,AT
879070208,879070719,FR
-879070720,879230975,US
+879070720,879071231,GB
+879071232,879198463,US
+879198464,879198719,KR
+879198720,879200255,US
+879200256,879200767,IN
+879200768,879201279,US
+879201280,879201791,KR
+879201792,879214847,US
+879214848,879215103,KR
+879215104,879216639,US
+879216640,879217151,IN
+879217152,879217663,US
+879217664,879218175,KR
+879218176,879230975,US
879230976,879231231,CA
879231232,879231743,US
879231744,879231999,CA
@@ -20523,8 +21203,7 @@
879808768,879808895,IE
879808896,879808959,NL
879808960,879809023,IE
-879809024,879820799,US
-879820800,879820927,KR
+879809024,879820927,US
879820928,879821055,HK
879821056,879821311,SG
879821312,879821439,KR
@@ -20547,8 +21226,7 @@
879829760,879829887,AU
879829888,879830015,IN
879830016,879830271,KR
-879830272,879837183,US
-879837184,879837247,KR
+879830272,879837247,US
879837248,879837311,HK
879837312,879837439,SG
879837440,879837503,KR
@@ -20596,7 +21274,7 @@
879955968,879959039,IE
879959040,879960063,US
879960064,879961599,SG
-879961600,879962111,US
+879961600,879962111,JP
879962112,879963647,HK
879963648,880216831,US
880216832,880217087,CA
@@ -20653,9 +21331,10 @@
881334272,881334527,IN
881334528,881334783,AU
881334784,881335039,SG
-881335040,881335295,US
+881335040,881335295,CA
881335296,881335551,FR
-881335552,881336319,US
+881335552,881336063,US
+881336064,881336319,JP
881336320,881344511,IN
881344512,881360895,US
881360896,881377279,FR
@@ -20710,7 +21389,11 @@
881906368,881906495,DE
881906496,881906559,US
881906560,881906635,GB
-881906636,881909823,US
+881906636,881907647,US
+881907648,881907659,SE
+881907660,881907711,US
+881907712,881907723,SE
+881907724,881909823,US
881909824,881909887,AU
881909888,881909951,SG
881909952,881910079,US
@@ -20795,7 +21478,8 @@
886833152,886964223,SG
886964224,887078911,US
887078912,887083007,NL
-887083008,887357439,US
+887083008,887085055,BR
+887085056,887357439,US
887357440,887390207,CA
887390208,887439359,US
887439360,887455743,CA
@@ -20872,8 +21556,10 @@
888136448,888136703,SG
888136704,888137471,US
888137472,888137727,GB
-888137728,888137791,ZA
-888137792,888137983,US
+888137728,888137823,ZA
+888137824,888137855,US
+888137856,888137887,ZA
+888137888,888137983,US
888137984,888138239,AE
888138240,888139775,US
888139776,888140031,GB
@@ -20921,7 +21607,9 @@
888758272,889016319,US
889016320,889020415,SG
889020416,889028607,JP
-889028608,889135103,US
+889028608,889037055,US
+889037056,889037311,JP
+889037312,889135103,US
889135104,889143295,AU
889143296,889192447,US
889192448,905969663,DE
@@ -20990,7 +21678,9 @@
908339976,908339983,ES
908339984,908340015,FR
908340016,908340031,DE
-908340032,908340079,FR
+908340032,908340039,FR
+908340040,908340047,PL
+908340048,908340079,FR
908340080,908340095,LT
908340096,908340223,GB
908340224,908340479,FR
@@ -21001,7 +21691,9 @@
908341208,908341215,ES
908341216,908345343,FR
908345344,908345359,ES
-908345360,908345447,FR
+908345360,908345407,FR
+908345408,908345439,PL
+908345440,908345447,FR
908345448,908345455,ES
908345456,908345527,FR
908345528,908345535,ES
@@ -21154,7 +21846,9 @@
908371968,908374015,PL
908374016,908376127,FR
908376128,908376255,PL
-908376256,908376591,FR
+908376256,908376543,FR
+908376544,908376575,PL
+908376576,908376591,FR
908376592,908376599,PL
908376600,908376767,FR
908376768,908376895,PL
@@ -21240,10 +21934,14 @@
908386992,908387023,FR
908387024,908387027,GB
908387028,908387071,FR
-908387072,908387135,GB
-908387136,908387151,FR
-908387152,908387167,GB
-908387168,908387775,FR
+908387072,908387167,GB
+908387168,908387231,FR
+908387232,908387263,GB
+908387264,908387275,FR
+908387276,908387279,GB
+908387280,908387391,FR
+908387392,908387407,GB
+908387408,908387775,FR
908387776,908387855,GB
908387856,908387903,FR
908387904,908387967,GB
@@ -21253,7 +21951,8 @@
908388432,908388447,DE
908388448,908388559,FR
908388560,908388575,CZ
-908388576,908388879,FR
+908388576,908388607,DE
+908388608,908388879,FR
908388880,908388887,DE
908388888,908389055,FR
908389056,908389375,DE
@@ -21346,11 +22045,13 @@
908417712,908417727,DE
908417728,908417791,FR
908417792,908417919,DE
-908417920,908418175,FR
+908417920,908417991,FR
+908417992,908417999,DE
+908418000,908418175,FR
908418176,908418239,DE
908418240,908418751,FR
-908418752,908418815,DE
-908418816,908419327,FR
+908418752,908418943,DE
+908418944,908419327,FR
908419328,908419455,ES
908419456,908419495,FR
908419496,908419503,ES
@@ -21430,7 +22131,8 @@
908427152,908427231,FR
908427232,908427247,DE
908427248,908427263,ES
-908427264,908428351,FR
+908427264,908428287,PL
+908428288,908428351,FR
908428352,908428415,PL
908428416,908428671,FR
908428672,908428735,PL
@@ -21438,7 +22140,9 @@
908428800,908428863,PL
908428864,908429311,FR
908429312,908430335,PL
-908430336,908430847,FR
+908430336,908430787,FR
+908430788,908430791,PL
+908430792,908430847,FR
908430848,908430911,PL
908430912,908431167,FR
908431168,908431231,PL
@@ -21498,7 +22202,11 @@
908441312,908441343,CZ
908441344,908443263,FR
908443264,908443391,BE
-908443392,908444127,FR
+908443392,908443567,FR
+908443568,908443583,IT
+908443584,908443775,FR
+908443776,908443783,DE
+908443784,908444127,FR
908444128,908444135,DE
908444136,908444159,FR
908444160,908444223,DE
@@ -21508,8 +22216,7 @@
908444688,908444703,NL
908444704,908444719,FR
908444720,908444735,CZ
-908444736,908444799,FR
-908444800,908444863,DE
+908444736,908444863,DE
908444864,908444927,FR
908444928,908444991,DE
908444992,908445375,FR
@@ -21520,7 +22227,9 @@
908445632,908445647,LT
908445648,908445695,FR
908445696,908445823,DE
-908445824,908445887,FR
+908445824,908445839,FR
+908445840,908445855,BE
+908445856,908445887,FR
908445888,908445951,DE
908445952,908446335,FR
908446336,908446399,DE
@@ -21532,7 +22241,11 @@
908447344,908447351,DE
908447352,908447423,FR
908447424,908447503,DE
-908447504,908447647,FR
+908447504,908447519,FR
+908447520,908447535,GB
+908447536,908447551,NL
+908447552,908447583,IT
+908447584,908447647,FR
908447648,908447743,DE
908447744,908447903,FR
908447904,908447919,GB
@@ -21546,9 +22259,13 @@
908455168,908455231,PL
908455232,908455487,FR
908455488,908455551,PL
-908455552,908456351,FR
-908456352,908456447,GB
-908456448,908456831,FR
+908455552,908455871,FR
+908455872,908455935,PL
+908455936,908456127,FR
+908456128,908456143,GB
+908456144,908456351,FR
+908456352,908456463,GB
+908456464,908456831,FR
908456832,908457535,GB
908457536,908461143,FR
908461144,908461147,ES
@@ -21568,21 +22285,27 @@
908472704,908472767,PL
908472768,908472831,FR
908472832,908472991,PL
-908472992,908473023,FR
+908472992,908473011,FR
+908473012,908473015,PL
+908473016,908473023,FR
908473024,908473087,PL
-908473088,908473215,FR
-908473216,908473231,PL
-908473232,908473343,FR
+908473088,908473343,FR
908473344,908474367,PL
908474368,908474431,FR
908474432,908474495,PL
-908474496,908474815,FR
+908474496,908474783,FR
+908474784,908474787,PL
+908474788,908474815,FR
908474816,908475007,PL
908475008,908475071,FR
908475072,908475135,PL
-908475136,908475455,FR
+908475136,908475151,FR
+908475152,908475155,PL
+908475156,908475455,FR
908475456,908475583,PL
-908475584,908475711,FR
+908475584,908475599,FR
+908475600,908475603,PL
+908475604,908475711,FR
908475712,908476223,PL
908476224,908478527,FR
908478528,908478655,GB
@@ -21608,7 +22331,9 @@
908485648,908485663,DE
908485664,908488959,FR
908488960,908489215,ES
-908489216,908491167,FR
+908489216,908490223,FR
+908490224,908490239,IE
+908490240,908491167,FR
908491168,908491199,CZ
908491200,908491391,FR
908491392,908491519,ES
@@ -21618,25 +22343,35 @@
908492032,908492159,BE
908492160,908492575,FR
908492576,908492607,CZ
-908492608,908493567,FR
+908492608,908492799,FR
+908492800,908493311,PL
+908493312,908493567,FR
908493568,908493631,PL
908493632,908493695,FR
908493696,908493759,PL
-908493760,908493823,FR
-908493824,908494015,PL
+908493760,908493791,FR
+908493792,908494015,PL
908494016,908494143,FR
908494144,908494207,PL
908494208,908494335,FR
908494336,908494399,PL
-908494400,908494527,FR
+908494400,908494431,FR
+908494432,908494463,PL
+908494464,908494527,FR
908494528,908494655,PL
-908494656,908494847,FR
+908494656,908494751,FR
+908494752,908494767,PL
+908494768,908494783,FR
+908494784,908494799,PL
+908494800,908494847,FR
908494848,908495935,PL
908495936,908496511,FR
908496512,908496575,PL
-908496576,908496703,FR
-908496704,908496767,PL
-908496768,908496895,FR
+908496576,908496607,FR
+908496608,908496639,PL
+908496640,908496703,FR
+908496704,908496783,PL
+908496784,908496895,FR
908496896,908496959,GB
908496960,908497023,FR
908497024,908497151,GB
@@ -21670,9 +22405,11 @@
908509184,908510207,PL
908510208,908510783,FR
908510784,908510847,PL
-908510848,908510911,FR
-908510912,908510975,PL
-908510976,908511487,FR
+908510848,908510879,FR
+908510880,908510975,PL
+908510976,908511039,FR
+908511040,908511199,PL
+908511200,908511487,FR
908511488,908511551,PL
908511552,908511615,FR
908511616,908511679,PL
@@ -21688,7 +22425,9 @@
908512832,908512895,PL
908512896,908513023,FR
908513024,908513087,PL
-908513088,908513343,FR
+908513088,908513183,FR
+908513184,908513199,PL
+908513200,908513343,FR
908513344,908513375,GB
908513376,908513535,FR
908513536,908513727,GB
@@ -21700,22 +22439,28 @@
908514240,908514367,GB
908514368,908514495,FR
908514496,908514591,GB
-908514592,908514687,FR
+908514592,908514655,FR
+908514656,908514659,GB
+908514660,908514687,FR
908514688,908515327,GB
908515328,908515455,DE
908515456,908515587,FR
908515588,908515588,DE
-908515589,908515711,FR
+908515589,908515679,FR
+908515680,908515695,BE
+908515696,908515711,FR
908515712,908515839,DE
908515840,908516255,FR
908516256,908516271,DE
908516272,908516303,FR
908516304,908516319,DE
-908516320,908516367,FR
+908516320,908516359,FR
+908516360,908516367,DE
908516368,908516383,IT
908516384,908516415,FR
908516416,908516607,DE
-908516608,908516671,FR
+908516608,908516623,IE
+908516624,908516671,FR
908516672,908516675,DE
908516676,908516735,FR
908516736,908516799,DE
@@ -21871,9 +22616,7 @@
959447040,959512575,US
959512576,960495615,BE
960495616,960626687,FR
-960626688,960658463,GB
-960658464,960658495,US
-960658496,960659455,GB
+960626688,960659455,GB
960659456,960662783,DE
960662784,960663039,FR
960663040,960676607,DE
@@ -21914,7 +22657,9 @@
961052672,961085439,JP
961085440,961092095,SG
961092096,961092351,IN
-961092352,961118207,SG
+961092352,961094719,SG
+961094720,961094783,ID
+961094784,961118207,SG
961118208,961126399,MY
961126400,961134591,TW
961134592,961142783,KR
@@ -21975,7 +22720,7 @@
961757184,961761279,GA
961761280,961765375,GH
961765376,961769471,GN
-961769472,961773567,GW
+961769472,961773567,FR
961773568,961777663,CI
961777664,961781759,KE
961781760,961785855,LS
@@ -22117,9 +22862,7 @@
962732032,962740223,DE
962740224,962744319,SE
962744320,962746367,FR
-962746368,962748233,NL
-962748234,962748235,BE
-962748236,962748415,NL
+962746368,962748415,NL
962748416,962752511,BH
962752512,962756607,ZA
962756608,962854911,FR
@@ -22134,20 +22877,21 @@
965150120,968638207,BE
968638208,968638463,IN
968638464,968753151,BE
-968753152,968757247,NL
+968753152,968753407,NL
+968753408,968753663,GB
+968753664,968757247,NL
968757248,968818687,CH
968818688,968819711,DE
968819712,968851455,BE
968851456,968852479,US
968852480,968884223,BE
-968884224,969226751,FR
-969226752,969227007,HK
-969227008,969227263,US
-969227264,969227519,GB
-969227520,969227775,FR
-969227776,969228031,SG
-969228032,969228287,NL
-969228288,970981375,FR
+968884224,970218032,FR
+970218033,970218034,HK
+970218035,970253544,FR
+970253545,970253546,AU
+970253547,970476045,FR
+970476046,970476046,JP
+970476047,970981375,FR
970981376,973078527,BE
973078528,973209599,JP
973209600,973275135,IN
@@ -22182,7 +22926,13 @@
978321408,978452479,JP
978452480,978485247,CN
978485248,978501631,TH
-978501632,978518015,HK
+978501632,978504447,HK
+978504448,978504959,JP
+978504960,978505983,HK
+978505984,978506495,PH
+978506496,978514431,HK
+978514432,978514943,PH
+978514944,978518015,HK
978518016,978583551,CN
978583552,978584575,VN
978584576,978585599,HK
@@ -22477,12 +23227,11 @@
1024332800,1024333823,AU
1024333824,1024334847,US
1024334848,1024335871,SG
-1024335872,1024336127,AU
+1024335872,1024336127,US
1024336128,1024336383,SG
-1024336384,1024337919,AU
-1024337920,1024338943,US
-1024338944,1024340991,ZA
-1024340992,1024344063,US
+1024336384,1024338943,US
+1024338944,1024342015,ZA
+1024342016,1024344063,US
1024344064,1024352255,SG
1024352256,1024360447,AU
1024360448,1024361135,JP
@@ -22493,16 +23242,14 @@
1024361808,1024361823,TW
1024361824,1024362495,JP
1024362496,1024363519,SG
-1024363520,1024364063,JP
-1024364064,1024364079,AU
-1024364080,1024365727,JP
+1024363520,1024365727,JP
1024365728,1024365759,SG
1024365760,1024368895,JP
1024368896,1024368896,HK
-1024368897,1024371199,JP
-1024371200,1024371455,PH
-1024371456,1024372479,JP
-1024372480,1024372735,HK
+1024368897,1024372479,JP
+1024372480,1024372543,SG
+1024372544,1024372639,HK
+1024372640,1024372735,SG
1024372736,1024373263,JP
1024373264,1024373279,HK
1024373280,1024376831,JP
@@ -22524,14 +23271,14 @@
1024786432,1025245183,JP
1025245184,1025277951,CN
1025277952,1025294335,PH
-1025294336,1025294591,AU
-1025294592,1025294847,SG
+1025294336,1025294847,SG
1025294848,1025295615,AU
1025295616,1025295871,PH
1025295872,1025296127,AU
1025296128,1025296639,FR
-1025296640,1025298943,AU
-1025298944,1025299199,AE
+1025296640,1025296895,AU
+1025296896,1025297407,SG
+1025297408,1025299199,AU
1025299200,1025299327,IN
1025299328,1025299455,AU
1025299456,1025299711,CN
@@ -22593,7 +23340,9 @@
1026523136,1026539519,CN
1026539520,1026555903,KR
1026555904,1027080191,CN
-1027080192,1027866623,TW
+1027080192,1027268607,TW
+1027268608,1027276799,CN
+1027276800,1027866623,TW
1027866624,1027997695,AU
1027997696,1028128767,TW
1028128768,1029046271,KR
@@ -22639,8 +23388,12 @@
1039654912,1039663103,IN
1039663104,1040187391,KR
1040187392,1040252927,IL
-1040252928,1040318463,GR
-1040318464,1040383999,CH
+1040252928,1040259583,GR
+1040259584,1040259839,NO
+1040259840,1040318463,GR
+1040318464,1040354815,CH
+1040354816,1040355327,DE
+1040355328,1040383999,CH
1040384000,1040392191,SA
1040392192,1040392447,GB
1040392448,1040397823,SA
@@ -22656,7 +23409,8 @@
1040433152,1040449535,GB
1040449536,1040457727,FR
1040457728,1040465919,ME
-1040465920,1040474111,DE
+1040465920,1040466175,DE
+1040473344,1040473599,DE
1040474112,1040477183,CZ
1040477184,1040477184,KG
1040477185,1040477951,CZ
@@ -22673,14 +23427,14 @@
1040525312,1040526335,SE
1040526336,1040527359,GB
1040527360,1040528383,SE
-1040528384,1040536575,GB
-1040536576,1040537599,SE
-1040537600,1040538623,GB
+1040528384,1040531455,GB
+1040531456,1040532479,SE
+1040532480,1040538623,GB
1040538624,1040539647,SE
-1040539648,1040540671,GB
-1040540672,1040542719,SE
-1040542720,1040543743,GB
-1040543744,1040546815,SE
+1040539648,1040541695,GB
+1040541696,1040542719,SE
+1040542720,1040545791,GB
+1040545792,1040546815,SE
1040546816,1040547839,GB
1040547840,1040580607,RU
1040580608,1040711679,GB
@@ -22721,15 +23475,15 @@
1041284096,1041294847,NO
1041294848,1041295103,SJ
1041295104,1041301503,NO
-1041301504,1041342463,IE
-1041342464,1041344511,FR
-1041344512,1041367039,IE
+1041301504,1041367039,IE
1041367040,1041498111,IT
1041498112,1041563647,SE
1041563648,1041596415,PL
1041596416,1041629183,NL
1041629184,1041694719,ES
-1041694720,1041730559,FR
+1041694720,1041727487,FR
+1041727488,1041727743,IE
+1041727744,1041730559,FR
1041730560,1041731071,IT
1041731072,1041739775,FR
1041739776,1041740031,IT
@@ -22739,14 +23493,15 @@
1041742336,1041742591,ES
1041742592,1041746431,FR
1041746432,1041746687,DE
-1041746688,1041747967,FR
+1041746688,1041747711,FR
+1041747712,1041747967,GB
1041747968,1041748479,DE
1041748480,1041748969,FR
1041748970,1041748970,DE
1041748971,1041752319,FR
1041752320,1041752575,AT
-1041752576,1041755903,FR
-1041755904,1041756159,DE
+1041752576,1041755135,FR
+1041755136,1041756159,DE
1041756160,1041758463,FR
1041758464,1041758719,ES
1041758720,1041760255,FR
@@ -22812,9 +23567,9 @@
1043349504,1043357695,DE
1043357696,1043365887,CH
1043365888,1043398655,PT
-1043398656,1043464191,GB
-1043464192,1043472383,NL
-1043472384,1043483391,GB
+1043398656,1043465839,GB
+1043465840,1043465847,NL
+1043465848,1043483391,GB
1043483392,1043483423,CH
1043483424,1043488767,GB
1043488768,1043496959,DE
@@ -22825,7 +23580,9 @@
1043595264,1043661567,DE
1043661568,1043661823,GB
1043661824,1043857407,DE
-1043857408,1043899391,GB
+1043857408,1043896319,GB
+1043896320,1043898367,FR
+1043898368,1043899391,GB
1043899392,1043899647,CG
1043899648,1043919442,GB
1043919443,1043919443,SS
@@ -22833,11 +23590,13 @@
1043920896,1043921919,UG
1043921920,1043922943,IL
1043922944,1043988479,ES
-1043988480,1044013055,NL
-1044013056,1044021247,BE
-1044021248,1044119551,NL
+1043988480,1044119551,NL
1044119552,1044152319,GB
-1044152320,1044185087,IR
+1044152320,1044158463,IR
+1044158464,1044168703,BG
+1044168704,1044170751,IR
+1044170752,1044176895,BG
+1044176896,1044185087,IR
1044185088,1044193279,RU
1044193280,1044201471,PL
1044201472,1044217855,FI
@@ -22848,7 +23607,9 @@
1044316160,1044332543,NO
1044332544,1044348927,RU
1044348928,1044365311,LV
-1044365312,1044381695,SE
+1044365312,1044373503,SE
+1044373504,1044373759,FI
+1044373760,1044381695,SE
1044381696,1044389887,RU
1044389888,1044398079,FR
1044398080,1044414463,UA
@@ -22866,18 +23627,16 @@
1044512768,1044578303,DK
1044578304,1044578623,GB
1044578624,1044578639,DE
-1044578640,1044580351,GB
-1044580352,1044581375,US
-1044581376,1044589055,GB
+1044578640,1044589055,GB
1044589056,1044589311,DE
1044589312,1044590591,GB
1044590592,1044590689,DE
1044590690,1044590690,FR
-1044590691,1044593151,DE
-1044593152,1044594303,GB
+1044590691,1044592895,DE
+1044592896,1044594303,GB
1044594304,1044594431,DE
-1044594432,1044619263,GB
-1044619264,1044627391,RS
+1044594432,1044625407,GB
+1044625408,1044627391,RS
1044627392,1044627455,ES
1044627456,1044636671,GB
1044636672,1044637695,DE
@@ -22914,31 +23673,27 @@
1044758528,1044774911,PL
1044774912,1044840447,NO
1044840448,1044905983,FI
-1044905984,1044908031,GB
-1044908032,1044909055,US
-1044909056,1044916735,GB
+1044905984,1044916735,GB
1044916736,1044920319,DE
1044920320,1044921343,GB
1044921344,1044922367,US
1044922368,1044930559,DE
-1044930560,1044931071,BE
-1044931072,1044931951,GB
+1044930560,1044931583,BE
+1044931584,1044931951,GB
1044931952,1044931959,BE
1044931960,1044932303,GB
1044932304,1044932311,BE
1044932312,1044933499,GB
1044933500,1044933503,BE
-1044933504,1044933887,GB
-1044933888,1044934143,BE
-1044934144,1044935119,GB
+1044933504,1044935119,GB
1044935120,1044935135,BE
-1044935136,1044936735,GB
+1044935136,1044935167,GB
+1044935168,1044936703,BE
+1044936704,1044936735,GB
1044936736,1044936743,BE
1044936744,1044937247,GB
1044937248,1044937255,BE
-1044937256,1044937471,GB
-1044937472,1044937727,BE
-1044937728,1044938679,GB
+1044937256,1044938679,GB
1044938680,1044938687,LU
1044938688,1044946943,GB
1044946944,1044955135,UA
@@ -22954,18 +23709,16 @@
1045014848,1045014863,GB
1045014864,1045014871,SG
1045014872,1045020671,GB
-1045020672,1045025343,NO
-1045025344,1045025362,GB
-1045025363,1045025363,NO
-1045025364,1045025407,GB
-1045025408,1045037055,NO
+1045020672,1045037055,NO
1045037056,1045119231,GR
1045119232,1045119743,AL
1045119744,1045135359,GR
1045135360,1045162147,FR
1045162148,1045162151,DE
1045162152,1045168127,FR
-1045168128,1045233663,RU
+1045168128,1045171199,RU
+1045171200,1045171455,UA
+1045171456,1045233663,RU
1045233664,1045241855,GB
1045241856,1045250047,IT
1045250048,1045266431,CZ
@@ -22984,7 +23737,8 @@
1045323776,1045364735,FI
1045364736,1045430271,DK
1045430272,1045446655,DE
-1045446656,1045454847,HU
+1045446656,1045453823,HU
+1045453824,1045454847,SK
1045460992,1045461503,FR
1045461632,1045461695,FR
1045462016,1045463039,DE
@@ -22992,9 +23746,7 @@
1045471232,1045479423,UA
1045479424,1045487615,SE
1045487616,1045495807,LT
-1045495808,1045566463,ES
-1045566464,1045567487,FR
-1045567488,1045692415,ES
+1045495808,1045692415,ES
1045692416,1045700607,LV
1045700608,1045708799,KZ
1045708800,1045716991,LB
@@ -23037,8 +23789,7 @@
1046315008,1046315519,FR
1046315520,1046316031,IT
1046316032,1046316543,FR
-1046316544,1046317055,DK
-1046317056,1046317567,GB
+1046316544,1046317567,GB
1046317568,1046318079,NL
1046318080,1046319103,GB
1046319104,1046320127,NL
@@ -23050,9 +23801,9 @@
1046446080,1046482943,DE
1046482944,1046482951,GB
1046482952,1046482952,DE
-1046482953,1046482999,GB
-1046483000,1046483007,DE
-1046483008,1046484545,GB
+1046482953,1046483759,GB
+1046483760,1046483767,DE
+1046483768,1046484545,GB
1046484546,1046484546,DE
1046484547,1046484607,GB
1046484608,1046484615,DE
@@ -23063,18 +23814,18 @@
1046487291,1046488913,GB
1046488914,1046488914,DE
1046488915,1046489087,GB
-1046489088,1046489218,DE
-1046489219,1046489219,GB
-1046489220,1046489311,DE
+1046489088,1046489119,DE
+1046489120,1046489311,GB
1046489312,1046489327,ES
-1046489328,1046489391,DE
+1046489328,1046489391,GB
1046489392,1046489407,IT
-1046489408,1046489439,DE
+1046489408,1046489439,GB
1046489440,1046489447,SE
-1046489448,1046489471,DE
+1046489448,1046489471,GB
1046489472,1046489487,ES
-1046489488,1046489599,DE
-1046489600,1046489815,GB
+1046489488,1046489503,GB
+1046489504,1046489519,DE
+1046489520,1046489815,GB
1046489816,1046489823,DE
1046489824,1046489975,GB
1046489976,1046489983,DE
@@ -23091,11 +23842,7 @@
1046495728,1046498799,GB
1046498800,1046498807,DE
1046498808,1046498815,GB
-1046498816,1046499327,DE
-1046499328,1046499679,GB
-1046499680,1046499695,DE
-1046499696,1046501375,GB
-1046501376,1046502399,DE
+1046498816,1046502399,DE
1046502400,1046503095,GB
1046503096,1046503103,DE
1046503104,1046503338,GB
@@ -23111,12 +23858,10 @@
1046508544,1046512583,GB
1046512584,1046512591,DE
1046512592,1046514687,GB
-1046514688,1046517759,DE
-1046517760,1046518288,GB
-1046518289,1046518289,DE
-1046518290,1046518911,GB
-1046518912,1046518975,DE
-1046518976,1046519295,GB
+1046514688,1046518783,DE
+1046518784,1046518911,GB
+1046518912,1046519039,DE
+1046519040,1046519295,GB
1046519296,1046519807,DE
1046519808,1046524215,GB
1046524216,1046524223,DE
@@ -23131,8 +23876,8 @@
1046524656,1046525351,GB
1046525352,1046525359,DE
1046525360,1046525439,GB
-1046525440,1046525951,DE
-1046525952,1046528335,GB
+1046525440,1046525695,DE
+1046525696,1046528335,GB
1046528336,1046528351,DE
1046528352,1046528383,GB
1046528384,1046528391,DE
@@ -23141,11 +23886,7 @@
1046528512,1046528535,GB
1046528536,1046528543,DE
1046528544,1046529023,GB
-1046529024,1046532095,DE
-1046532096,1046533537,GB
-1046533538,1046533538,DE
-1046533539,1046533615,GB
-1046533616,1046534143,DE
+1046529024,1046534143,DE
1046534144,1046535447,GB
1046535448,1046535448,DE
1046535449,1046535623,GB
@@ -23172,9 +23913,13 @@
1046539888,1046539903,DE
1046539904,1046540527,GB
1046540528,1046540543,SE
-1046540544,1046542807,GB
+1046540544,1046541311,GB
+1046541312,1046542335,DE
+1046542336,1046542807,GB
1046542808,1046542815,DE
-1046542816,1046543209,GB
+1046542816,1046542847,GB
+1046542848,1046543103,DE
+1046543104,1046543209,GB
1046543210,1046543210,DE
1046543211,1046543343,GB
1046543344,1046543359,DE
@@ -23209,6 +23954,7 @@
1046839296,1046847487,BA
1046847488,1046855679,ES
1046855680,1046872063,NO
+1046872064,1046904831,GB
1046904832,1046908927,IR
1046908928,1046910975,SE
1046910976,1046913023,IT
@@ -23437,6 +24183,12 @@
1047735770,1047735770,DE
1047736552,1047736553,US
1047739838,1047739838,GB
+1047750144,1047750144,NL
+1047750160,1047750160,CZ
+1047750176,1047750176,HU
+1047750192,1047750192,DE
+1047750208,1047750208,FR
+1047750224,1047750224,PL
1047752902,1047752902,AT
1047758474,1047758474,GB
1047758911,1047758911,CZ
@@ -23459,15 +24211,7 @@
1047871488,1047887871,RU
1047887872,1047920639,ES
1047920640,1047986175,RU
-1047986176,1047998019,SE
-1047998020,1047998020,NO
-1047998021,1048006655,SE
-1048006656,1048006744,DK
-1048006745,1048006745,SE
-1048006746,1048006751,DK
-1048006752,1048006783,SE
-1048006784,1048006911,DK
-1048006912,1048051711,SE
+1047986176,1048051711,SE
1048051712,1048117247,SA
1048117248,1048125439,GB
1048125440,1048133631,FI
@@ -23531,7 +24275,9 @@
1048619008,1048621055,GB
1048621056,1048621056,DE
1048621057,1048625151,US
-1048625152,1048633343,GB
+1048625152,1048631632,GB
+1048631633,1048631633,IE
+1048631634,1048633343,GB
1048633344,1048641535,NO
1048641536,1048649727,FR
1048649728,1048657919,CZ
@@ -23542,7 +24288,8 @@
1048707072,1048772607,GB
1048772608,1048903679,NL
1048903680,1048911871,GB
-1048911872,1048912895,NL
+1048911872,1048912383,NL
+1048912384,1048912895,JP
1048912896,1048913919,ES
1048913920,1048914943,NL
1048914944,1048915967,TR
@@ -23554,28 +24301,47 @@
1048936448,1048944639,PL
1048944640,1048952831,RU
1048952832,1048969215,NL
+1048969216,1048979711,GB
1048979712,1048980223,DE
+1048980224,1048980479,GB
1048980736,1048980991,GB
-1048981248,1048981503,GB
-1048982888,1048982943,DE
+1048981248,1048982527,GB
+1048982784,1048983039,DE
+1048983040,1048985695,GB
1048985696,1048985711,DE
+1048985712,1048985727,GB
1048985728,1048985735,DE
+1048985736,1048985791,GB
1048985792,1048985799,DE
+1048985800,1048985847,GB
1048985848,1048985855,DE
+1048985856,1048987479,GB
1048987480,1048987487,DE
+1048987488,1048991959,GB
1048991960,1048991967,DE
+1048991968,1048992527,GB
1048992528,1048992535,DE
+1048992536,1048992607,GB
1048992608,1048992623,DE
+1048992624,1048992639,GB
1048992640,1048992703,DE
+1048992704,1048992743,GB
1048992744,1048992751,DE
+1048992752,1049008127,GB
1049008128,1049009151,DE
+1049009152,1049017903,GB
1049017904,1049017911,DE
-1049018368,1049021439,DE
-1049021440,1049021695,GB
-1049021696,1049022463,DE
+1049017912,1049018367,GB
+1049018368,1049020415,DE
+1049020416,1049020927,GB
+1049020928,1049022463,DE
+1049022464,1049026815,GB
1049026816,1049029375,DE
+1049029376,1049030655,GB
1049030656,1049031679,DE
+1049031680,1049032093,GB
1049032094,1049032094,DE
+1049032095,1049034751,GB
1049034752,1049067519,EG
1049067520,1049100287,DK
1049100288,1049231359,GB
@@ -23589,11 +24355,11 @@
1049296896,1049362431,EG
1049362432,1049366527,GB
1049366528,1049368575,DE
-1049368576,1049368656,GB
+1049368576,1049368656,RO
1049368657,1049368657,DE
-1049368658,1049369983,GB
+1049368658,1049369983,RO
1049369984,1049370047,DE
-1049370048,1049370623,GB
+1049370048,1049370623,RO
1049370624,1049378815,AT
1049378816,1049395199,EG
1049395200,1049411583,NL
@@ -23650,19 +24416,20 @@
1050471032,1050471039,DE
1050471040,1050471167,GB
1050471168,1050673151,DE
-1050673152,1050804223,FR
+1050673152,1050730495,FR
+1050730496,1050732543,GP
+1050732544,1050804223,FR
1050804224,1050869759,MK
1050869760,1050935295,NL
-1050938112,1050938623,ES
-1050938880,1050939135,ES
+1050938112,1050939135,ES
1050939136,1050939647,BR
1050939648,1050940159,MX
1050940160,1050940671,GB
1050940672,1050940927,HK
+1050941184,1050941439,ES
1050941440,1050941695,GB
1050941696,1050941951,DE
-1050941952,1050942207,US
-1050942464,1050942719,US
+1050941952,1050942719,US
1050942720,1050942975,BR
1050943232,1050943487,ES
1050945536,1050945791,ES
@@ -23709,9 +24476,7 @@
1051729920,1051738111,FI
1051738112,1051746303,BG
1051746304,1051746815,RU
-1051746816,1051747327,BG
-1051747328,1051748351,RU
-1051748352,1051754495,BG
+1051746816,1051754495,BG
1051754496,1051762687,DE
1051762688,1051770879,SK
1051770880,1051779071,NO
@@ -23726,16 +24491,21 @@
1051924480,1051948031,NL
1051948032,1051949055,CH
1051949056,1051983871,NL
+1051983872,1051984663,GB
1051984664,1051984671,DE
+1051984672,1051984751,GB
1051984752,1051984767,DE
-1051987968,1051992063,GB
+1051984768,1051994879,GB
1051994880,1051995135,DE
-1052001280,1052002303,DE
+1051995136,1052011263,GB
1052011264,1052012287,DE
+1052012288,1052017535,GB
1052017536,1052017567,DE
+1052017568,1052041215,GB
1052041216,1052041471,DE
+1052041472,1052043215,GB
1052043216,1052043231,DE
-1052045312,1052046079,DE
+1052043232,1052049407,GB
1052049408,1052057599,PL
1052057600,1052065791,RU
1052065792,1052082175,SE
@@ -24500,15 +25270,15 @@
1052504384,1052507583,GB
1052507648,1052507775,GB
1052507904,1052508415,GB
-1052516352,1052675071,GB
-1052675072,1052676095,IE
-1052676096,1052704767,GB
+1052516352,1052583935,GB
+1052583936,1052585983,IE
+1052585984,1052704767,GB
1052704768,1052712959,NL
1052712960,1052770303,GB
1052770304,1052778495,CH
1052778496,1052786687,RU
-1052786688,1052794879,GR
-1052794880,1052803071,NL
+1052786688,1052789759,GR
+1052789760,1052803071,NL
1052803072,1052803327,GB
1052803584,1052804095,GB
1052804096,1052805119,BG
@@ -24533,7 +25303,9 @@
1053130752,1053138943,NL
1053138944,1053147135,FI
1053147136,1053163519,SK
-1053163520,1053294591,DK
+1053163520,1053173503,DK
+1053173504,1053173631,SE
+1053173632,1053294591,DK
1053294616,1053294623,AT
1053294656,1053294679,AT
1053295104,1053296639,AT
@@ -24542,15 +25314,17 @@
1053302780,1053302783,FR
1053302784,1053303807,GB
1053307980,1053307983,GB
+1053308824,1053308827,GB
+1053308864,1053308867,GB
1053310144,1053310207,SK
1053312872,1053312887,DK
1053312912,1053312927,DK
1053313304,1053313307,GB
1053313496,1053313503,GB
+1053313764,1053313767,GB
1053318912,1053318943,FI
-1053319168,1053321215,GB
+1053321216,1053321471,ES
1053325824,1053326335,DE
-1053326398,1053326398,BE
1053326504,1053326527,BE
1053326544,1053326551,BE
1053326556,1053326559,BE
@@ -24558,6 +25332,7 @@
1053329516,1053329535,ES
1053332992,1053334015,BE
1053335552,1053336575,ZA
+1053344256,1053344767,GB
1053349952,1053349967,IE
1053350408,1053350415,BE
1053350492,1053350503,BE
@@ -24570,7 +25345,9 @@
1053376512,1053392895,HU
1053392896,1053401087,FR
1053401088,1053409279,DE
-1053409280,1053425663,IQ
+1053409280,1053414143,IQ
+1053414144,1053414399,IT
+1053414400,1053425663,IQ
1053425664,1053556735,CH
1053556736,1053564927,FI
1053564928,1053573119,GB
@@ -24588,93 +25365,73 @@
1053671424,1053687807,LV
1053687808,1053753343,DE
1053753344,1053818879,NL
-1053818880,1053819391,DE
-1053819424,1053819439,DE
-1053819520,1053819563,DE
-1053819584,1053819647,DE
-1053820160,1053820927,DE
-1053821440,1053821447,GB
-1053821568,1053821695,GB
-1053824000,1053824007,DE
+1053818880,1053820415,GB
+1053820416,1053820927,DE
+1053820928,1053824015,GB
1053824016,1053824023,DE
-1053824064,1053824095,DE
-1053824128,1053824255,NL
-1053825024,1053825791,ES
-1053825792,1053825919,GB
-1053825920,1053826047,ES
-1053826816,1053827327,DE
+1053824024,1053826815,GB
+1053826816,1053827071,DE
+1053827072,1053827327,GB
1053827328,1053827583,BE
-1053828096,1053829119,GB
+1053827584,1053831167,GB
1053831168,1053831423,DE
-1053834944,1053834975,DE
-1053835264,1053835775,DE
-1053837440,1053837455,GB
-1053837568,1053838335,GB
+1053831424,1053838335,GB
1053838336,1053838591,DE
-1053839360,1053840383,DE
-1053840400,1053840415,DE
+1053838592,1053840447,GB
1053840448,1053840511,DE
-1053843200,1053843215,GB
+1053840512,1053843215,GB
1053843216,1053843223,DK
-1053843224,1053843455,GB
+1053843224,1053843711,GB
1053843712,1053843967,DE
-1053843968,1053844223,GB
-1053844224,1053844479,DE
-1053844992,1053845503,DE
-1053845728,1053845735,DE
+1053843968,1053846015,GB
1053846016,1053846527,DE
-1053846784,1053847551,DE
-1053847552,1053849599,GB
-1053849600,1053850367,DE
-1053851136,1053851647,DE
+1053846528,1053846783,GB
+1053846784,1053847039,DE
+1053847040,1053851903,GB
1053851904,1053851919,FR
-1053852032,1053852047,IT
-1053852112,1053852127,GB
+1053851920,1053852127,GB
1053852128,1053852159,DE
-1053855744,1053859839,GB
-1053859840,1053860863,DE
-1053862848,1053862879,DE
-1053863424,1053864959,DE
-1053865216,1053865727,DE
+1053852160,1053864703,GB
+1053864704,1053864959,DE
+1053864960,1053865727,GB
1053865728,1053865759,US
-1053865984,1053866239,DE
-1053866496,1053866823,DE
-1053866832,1053866847,DE
-1053867520,1053867775,DE
-1053867976,1053867999,DE
-1053868008,1053868015,DE
-1053868288,1053868383,ES
+1053865760,1053866799,GB
+1053866800,1053866807,DE
+1053866808,1053866839,GB
+1053866840,1053866847,DE
+1053866848,1053868351,GB
+1053868352,1053868383,ES
+1053868384,1053868399,GB
1053868400,1053868407,ES
-1053868456,1053868479,ES
-1053868480,1053868543,FR
-1053868800,1053869567,DE
+1053868408,1053868463,GB
+1053868464,1053868479,ES
+1053868480,1053870079,GB
1053870080,1053870335,DE
-1053870336,1053870591,GB
-1053870848,1053871359,DE
-1053871616,1053871871,DE
-1053872384,1053872447,DE
-1053872512,1053872639,FR
-1053872896,1053873663,DE
+1053870336,1053873407,GB
+1053873408,1053873663,DE
+1053873664,1053876223,GB
1053876224,1053876479,DE
-1053876480,1053876735,GB
-1053876736,1053876991,DE
-1053877248,1053878271,DE
+1053876480,1053877759,GB
+1053877760,1053878271,DE
1053878272,1053878783,GB
-1053878784,1053879047,DE
-1053879056,1053879071,DE
-1053879104,1053879167,GB
-1053879296,1053882111,DE
+1053878784,1053879039,DE
+1053879040,1053880319,GB
+1053880320,1053881855,DE
+1053881856,1053882367,GB
1053882368,1053882879,DE
1053882880,1053883391,GB
-1053883392,1053884415,DE
-1053884416,1053891071,BH
-1053891072,1053891327,SA
-1053891328,1053892607,BH
+1053883392,1053883647,DE
+1053883648,1053884159,GB
+1053884160,1053884415,DE
+1053884416,1053892607,BH
1053892608,1053900799,DE
1053900800,1053917183,NO
1053917184,1053925375,UZ
-1053925376,1053925887,GB
-1053925888,1053927159,SE
+1053925376,1053926399,SE
+1053926400,1053926495,NO
+1053926496,1053926511,GB
+1053926512,1053926655,NO
+1053926656,1053927159,SE
1053927160,1053927199,FI
1053927200,1053933567,SE
1053933568,1053949951,CZ
@@ -24736,21 +25493,21 @@
1054646272,1054654463,SE
1054654464,1054662655,MK
1054662656,1054670847,FI
-1054670848,1054671103,GB
+1054670848,1054671371,GB
1054671372,1054671375,IE
-1054671416,1054671423,IE
-1054671432,1054671439,IE
-1054672320,1054672335,US
+1054671376,1054671415,GB
+1054671416,1054671419,IE
+1054671420,1054671431,GB
+1054671432,1054671435,IE
+1054671436,1054672351,GB
1054672352,1054672367,IE
-1054672384,1054672447,IE
+1054672368,1054672775,GB
1054672776,1054672783,IE
-1054672792,1054672799,IE
-1054674456,1054674471,IE
-1054674504,1054674511,IE
-1054674520,1054674527,GB
+1054672784,1054674687,GB
1054674688,1054675199,IE
-1054675456,1054675711,IE
+1054675200,1054675967,GB
1054675968,1054676223,US
+1054676224,1054679039,GB
1054679040,1054687231,UA
1054687232,1054703615,MD
1054703616,1054711807,BG
@@ -24802,7 +25559,9 @@
1056014336,1056022527,EG
1056022528,1056030719,GB
1056030720,1056047103,FI
-1056047104,1056178175,DK
+1056047104,1056047615,DK
+1056047616,1056048127,SE
+1056048128,1056178175,DK
1056178176,1056194559,UA
1056194560,1056210943,FR
1056210944,1056219135,PL
@@ -24862,15 +25621,21 @@
1063057433,1063057433,CA
1063057434,1063748863,US
1063748864,1063749119,GH
-1063749120,1063895039,US
+1063749120,1063817215,US
+1063817216,1063819263,CA
+1063819264,1063895039,US
1063895040,1063899135,KR
1063899136,1064124927,US
1064124928,1064125439,EC
1064125440,1064127487,US
1064127488,1064127999,EC
-1064128000,1064445183,US
+1064128000,1064204287,US
+1064204288,1064205311,MX
+1064205312,1064445183,US
1064445184,1064445439,PK
-1064445440,1065371647,US
+1064445440,1064785407,US
+1064785408,1064785919,GB
+1064785920,1065371647,US
1065371648,1065372959,PR
1065372960,1065372991,US
1065372992,1065373695,PR
@@ -24894,7 +25659,11 @@
1065539584,1065539839,GB
1065539840,1065547775,US
1065547776,1065548031,GB
-1065548032,1065611263,US
+1065548032,1065588735,US
+1065588736,1065590015,CA
+1065590016,1065590079,US
+1065590080,1065590783,CA
+1065590784,1065611263,US
1065611264,1065615359,PR
1065615360,1065811967,US
1065811968,1065820159,CA
@@ -24917,11 +25686,12 @@
1066311955,1066311955,US
1066311956,1066315775,CA
1066315776,1066352639,US
-1066352640,1066356223,BB
-1066356224,1066356735,VG
-1066356736,1066358271,JM
-1066358272,1066358527,AG
-1066358528,1066369023,JM
+1066352640,1066354687,JM
+1066354688,1066356735,BB
+1066356736,1066357759,AG
+1066357760,1066358271,JM
+1066358272,1066358783,AG
+1066358784,1066369023,JM
1066369024,1066830303,US
1066830304,1066830311,SG
1066830312,1066831071,US
@@ -24936,9 +25706,7 @@
1067237888,1067238399,JP
1067238400,1067294719,US
1067294720,1067294975,CA
-1067294976,1067384831,US
-1067384832,1067393023,JP
-1067393024,1067450879,US
+1067294976,1067450879,US
1067450880,1067450880,AL
1067450881,1067471689,US
1067471690,1067471690,SV
@@ -24964,9 +25732,7 @@
1067693056,1067693567,CO
1067693568,1067715631,US
1067715632,1067715632,SA
-1067715633,1067726847,US
-1067726848,1067727359,EC
-1067727360,1067736831,US
+1067715633,1067736831,US
1067736832,1067737087,PR
1067737088,1067740159,US
1067740160,1067741183,HN
@@ -24975,9 +25741,7 @@
1067810190,1067823171,US
1067823172,1067823172,TZ
1067823173,1067823173,AL
-1067823174,1067824895,US
-1067824896,1067825151,PR
-1067825152,1067826283,US
+1067823174,1067826283,US
1067826284,1067826284,SE
1067826285,1067831584,US
1067831585,1067831585,BE
@@ -25057,17 +25821,16 @@
1071201552,1071201567,TH
1071201568,1071206911,US
1071206912,1071207167,HK
-1071207168,1071217151,US
-1071217152,1071217407,AU
-1071217408,1071255525,US
+1071207168,1071216639,US
+1071216640,1071217151,AU
+1071217152,1071255525,US
1071255526,1071255526,DE
1071255527,1071255839,US
1071255840,1071255847,TW
-1071255848,1071276031,US
-1071276032,1071278959,PH
+1071255848,1071278959,US
1071278960,1071278963,SG
-1071278964,1071284223,PH
-1071284224,1071292415,AU
+1071278964,1071290367,US
+1071290368,1071292415,AU
1071292416,1071300607,US
1071300608,1071301631,FR
1071301632,1071318783,US
@@ -25146,8 +25909,8 @@
1072953600,1072953607,IE
1072953608,1073022975,US
1073022976,1073025535,HN
-1073025536,1073026559,US
-1073026560,1073027071,PR
+1073025536,1073026047,US
+1073026048,1073027071,PR
1073027072,1073028095,NI
1073028096,1073028607,US
1073028608,1073029119,GD
@@ -25163,8 +25926,7 @@
1073041408,1073042943,CO
1073042944,1073043455,US
1073043456,1073043967,PR
-1073043968,1073044479,US
-1073044480,1073044735,BB
+1073043968,1073044735,US
1073044736,1073045503,PR
1073045504,1073047551,CO
1073047552,1073048836,US
@@ -25175,17 +25937,13 @@
1073049088,1073049599,PR
1073049600,1073052671,BS
1073052672,1073075199,US
-1073075200,1073076223,CA
-1073076224,1073116159,US
+1073075200,1073075455,CA
+1073075456,1073116159,US
1073116160,1073117183,GB
1073117184,1073118207,US
1073118208,1073118719,NL
1073118720,1073119231,DE
-1073119232,1073124195,US
-1073124196,1073124205,BR
-1073124206,1073124295,US
-1073124296,1073124305,RU
-1073124306,1073373183,US
+1073119232,1073373183,US
1073373184,1073381375,CA
1073381376,1073446399,US
1073446400,1073446911,SG
@@ -25308,7 +26066,9 @@
1074419200,1074420479,US
1074420480,1074420735,CA
1074420736,1074421503,US
-1074421504,1074423551,CA
+1074421504,1074422271,CA
+1074422272,1074422527,US
+1074422528,1074423551,CA
1074423552,1074425599,US
1074425600,1074425855,CA
1074425856,1074428415,US
@@ -25338,7 +26098,9 @@
1074442752,1074445567,US
1074445568,1074445823,CA
1074445824,1074447103,US
-1074447104,1074448383,CA
+1074447104,1074447615,CA
+1074447616,1074447871,US
+1074447872,1074448383,CA
1074448384,1074448895,US
1074448896,1074449151,CA
1074449152,1074449407,US
@@ -25346,7 +26108,9 @@
1074449664,1074449919,US
1074449920,1074450431,CA
1074450432,1074450687,US
-1074450688,1074452223,CA
+1074450688,1074451455,CA
+1074451456,1074451711,US
+1074451712,1074452223,CA
1074452224,1074452991,US
1074452992,1074453247,CA
1074453248,1074453503,US
@@ -25368,74 +26132,82 @@
1074458112,1074458367,US
1074458368,1074458623,CA
1074458624,1074459903,US
-1074459904,1074460671,CA
-1074460672,1074460927,US
-1074460928,1074461951,CA
+1074459904,1074460415,CA
+1074460416,1074461183,US
+1074461184,1074461951,CA
1074461952,1074463743,US
-1074463744,1074465535,CA
+1074463744,1074464511,CA
+1074464512,1074464767,US
+1074464768,1074465535,CA
1074465536,1074465791,US
1074465792,1074466815,CA
1074466816,1074467071,US
1074467072,1074467839,CA
-1074467840,1074468095,US
-1074468096,1074468351,CA
-1074468352,1074468863,US
+1074467840,1074468863,US
1074468864,1074469119,CA
1074469120,1074469375,US
1074469376,1074469631,CA
1074469632,1074470399,US
-1074470400,1074472191,CA
-1074472192,1074472447,US
-1074472448,1074474751,CA
+1074470400,1074471935,CA
+1074471936,1074472447,US
+1074472448,1074473983,CA
+1074473984,1074474239,US
+1074474240,1074474751,CA
1074474752,1074475519,US
1074475520,1074476031,CA
1074476032,1074476287,US
1074476288,1074479871,CA
1074479872,1074480127,US
1074480128,1074480383,CA
-1074480384,1074480639,US
-1074480640,1074481151,CA
+1074480384,1074480895,US
+1074480896,1074481151,CA
1074481152,1074481407,US
-1074481408,1074482175,CA
-1074482176,1074482431,US
-1074482432,1074484479,CA
+1074481408,1074481919,CA
+1074481920,1074482431,US
+1074482432,1074482687,CA
+1074482688,1074482943,US
+1074482944,1074484479,CA
1074484480,1074484735,US
-1074484736,1074486783,CA
-1074486784,1074487039,US
-1074487040,1074488319,CA
+1074484736,1074486527,CA
+1074486528,1074487039,US
+1074487040,1074487551,CA
+1074487552,1074487807,US
+1074487808,1074488319,CA
1074488320,1074488831,US
1074488832,1074491391,CA
1074491392,1074491647,US
1074491648,1074493439,CA
1074493440,1074495743,US
-1074495744,1074497023,CA
-1074497024,1074497535,US
+1074495744,1074496511,CA
+1074496512,1074497535,US
1074497536,1074497791,CA
1074497792,1074498303,US
1074498304,1074498815,CA
-1074498816,1074499327,US
-1074499328,1074501375,CA
-1074501376,1074501887,US
-1074501888,1074503935,CA
-1074503936,1074504447,US
-1074504448,1074505215,CA
+1074498816,1074499583,US
+1074499584,1074500351,CA
+1074500352,1074500607,US
+1074500608,1074501375,CA
+1074501376,1074502143,US
+1074502144,1074503935,CA
+1074503936,1074504703,US
+1074504704,1074505215,CA
1074505216,1074505471,US
1074505472,1074506495,CA
1074506496,1074507007,US
-1074507008,1074508031,CA
-1074508032,1074508287,US
+1074507008,1074507775,CA
+1074507776,1074508287,US
1074508288,1074508799,CA
1074508800,1074509055,US
1074509056,1074509567,CA
1074509568,1074510079,US
-1074510080,1074513151,CA
+1074510080,1074512383,CA
+1074512384,1074512639,US
+1074512640,1074513151,CA
1074513152,1074703615,US
1074703616,1074703871,GB
1074703872,1074704383,US
1074704384,1074704639,GB
-1074704640,1074708991,US
-1074708992,1074709247,PH
-1074709248,1074733055,US
+1074704640,1074733055,US
1074733056,1074737151,AU
1074737152,1074745343,CA
1074745344,1074757631,US
@@ -25444,8 +26216,10 @@
1074763104,1074765823,CA
1074765824,1074777343,US
1074777344,1074777599,AU
-1074777600,1074868223,US
-1074868224,1074872319,CA
+1074777600,1074839551,US
+1074839552,1074847743,SA
+1074847744,1074870271,US
+1074870272,1074872319,CA
1074872320,1074937855,US
1074937856,1074946047,CA
1074946048,1074954239,US
@@ -25479,8 +26253,10 @@
1075970048,1075973375,CA
1075973376,1075973631,US
1075973632,1075980287,CA
-1075980288,1075982335,US
-1075982336,1075985151,CA
+1075980288,1075980543,US
+1075980544,1075981567,CA
+1075981568,1075982079,US
+1075982080,1075985151,CA
1075985152,1075985407,US
1075985408,1075990783,CA
1075990784,1075991039,US
@@ -25517,7 +26293,11 @@
1076026208,1076028927,CA
1076028928,1076029183,BZ
1076029184,1076032511,CA
-1076032512,1076033543,US
+1076032512,1076033023,US
+1076033024,1076033151,CA
+1076033152,1076033183,US
+1076033184,1076033279,CA
+1076033280,1076033543,US
1076033544,1076033679,CA
1076033680,1076033695,US
1076033696,1076033887,CA
@@ -25621,7 +26401,9 @@
1076851712,1076855044,US
1076855045,1076855045,MX
1076855046,1076857855,US
-1076857856,1076858111,PR
+1076857856,1076858057,PR
+1076858058,1076858059,US
+1076858060,1076858111,PR
1076858112,1076879505,US
1076879506,1076879507,CA
1076879508,1076880639,US
@@ -25643,7 +26425,9 @@
1077506048,1077510143,LS
1077510144,1077511167,US
1077511168,1077511423,UY
-1077511424,1077641215,US
+1077511424,1077551103,US
+1077551104,1077555199,CA
+1077555200,1077641215,US
1077641216,1077657599,CA
1077657600,1077841151,US
1077841152,1077841407,GB
@@ -25717,9 +26501,13 @@
1078280192,1078285008,CA
1078285009,1078285011,US
1078285012,1078288383,CA
-1078288384,1078433631,US
+1078288384,1078429695,US
+1078429696,1078429951,GR
+1078429952,1078433631,US
1078433632,1078433663,CN
-1078433664,1078438399,US
+1078433664,1078436607,US
+1078436608,1078436735,CA
+1078436736,1078438399,US
1078438400,1078438655,CA
1078438656,1078438911,US
1078438912,1078438929,CN
@@ -25795,7 +26583,9 @@
1078817792,1078819327,CA
1078819328,1078820095,US
1078820096,1078820863,CA
-1078820864,1079319295,US
+1078820864,1078864383,US
+1078864384,1078864895,CA
+1078864896,1079319295,US
1079319296,1079319551,CN
1079319552,1079320575,US
1079320576,1079322831,CA
@@ -25814,9 +26604,7 @@
1079385600,1079386623,CA
1079386624,1079388159,US
1079388160,1079389183,CA
-1079389184,1079389951,US
-1079389952,1079390207,CA
-1079390208,1079392255,US
+1079389184,1079392255,US
1079392256,1079393791,CA
1079393792,1079396351,US
1079396352,1079397375,MP
@@ -25844,12 +26632,8 @@
1079433216,1079435263,CR
1079435264,1079435775,CO
1079435776,1079439359,US
-1079439360,1079439407,CA
-1079439408,1079439615,US
-1079439616,1079439871,CA
-1079439872,1079440191,US
-1079440192,1079440207,CA
-1079440208,1079459839,US
+1079439360,1079441407,CA
+1079441408,1079459839,US
1079459840,1079508991,CA
1079508992,1079567359,US
1079567360,1079567615,AU
@@ -25940,8 +26724,7 @@
1081387520,1081387775,PA
1081387776,1081391103,US
1081391104,1081393151,PA
-1081393152,1081394687,US
-1081394688,1081397247,CL
+1081393152,1081397247,CL
1081397248,1081397759,US
1081397760,1081398783,CL
1081398784,1081399295,US
@@ -25958,8 +26741,8 @@
1081445376,1081446399,CL
1081446400,1081460735,US
1081460736,1081462783,PA
-1081462784,1081466879,BR
-1081466880,1081479167,US
+1081462784,1081464831,BR
+1081464832,1081479167,US
1081479168,1081483263,CA
1081483264,1081542579,US
1081542580,1081542591,CA
@@ -25975,9 +26758,13 @@
1081597952,1081634303,US
1081634304,1081634815,SG
1081634816,1081637375,HK
-1081637376,1081915007,US
-1081915008,1081915135,GB
-1081915136,1081978623,US
+1081637376,1081888391,US
+1081888392,1081888399,CA
+1081888400,1081896159,US
+1081896160,1081896167,CA
+1081896168,1081897071,US
+1081897072,1081897079,CA
+1081897080,1081978623,US
1081978624,1081978631,CH
1081978632,1082093679,US
1082093680,1082093695,AU
@@ -25987,16 +26774,20 @@
1082683392,1082687487,CA
1082687488,1082753023,US
1082753024,1082785791,CA
-1082785792,1082786591,SG
+1082785792,1082786591,US
1082786592,1082786607,HK
-1082786608,1082789887,SG
-1082789888,1082793983,AU
-1082793984,1082945535,US
+1082786608,1082787161,US
+1082787162,1082787162,SG
+1082787163,1082788655,US
+1082788656,1082788663,SG
+1082788664,1082789887,US
+1082789888,1082791935,AU
+1082791936,1082945535,US
1082945536,1082949631,CA
1082949632,1082982399,US
1082982400,1083015167,CA
-1083015168,1083142399,US
-1083142400,1083142655,IN
+1083015168,1083142143,US
+1083142144,1083142655,IN
1083142656,1083267583,US
1083267584,1083268095,JP
1083268096,1083396095,US
@@ -26016,7 +26807,9 @@
1085024320,1085439999,US
1085440000,1085448191,CA
1085448192,1085456383,US
-1085456384,1085464575,PR
+1085456384,1085457919,PR
+1085457920,1085458175,US
+1085458176,1085464575,PR
1085464576,1085526015,US
1085526016,1085530111,CA
1085530112,1085538303,US
@@ -26028,9 +26821,7 @@
1085923328,1085997055,US
1085997056,1086013439,CA
1086013440,1086042111,US
-1086042112,1086045407,CA
-1086045408,1086045439,US
-1086045440,1086046207,CA
+1086042112,1086046207,CA
1086046208,1086050815,US
1086050816,1086051327,CA
1086051328,1086070783,US
@@ -26038,7 +26829,7 @@
1086074880,1086267391,US
1086267392,1086271487,CA
1086271488,1086421503,US
-1086421504,1086422015,GU
+1086421504,1086422015,MP
1086422016,1086922751,US
1086922752,1086930943,CA
1086930944,1086955519,US
@@ -26057,15 +26848,11 @@
1087375204,1087375207,GB
1087375208,1087405407,US
1087405408,1087405423,MX
-1087405424,1087413247,US
-1087413248,1087413375,CA
-1087413376,1087413759,US
-1087413760,1087413879,GB
+1087405424,1087413879,US
1087413880,1087413883,ES
-1087413884,1087413895,GB
+1087413884,1087413895,US
1087413896,1087413903,DE
-1087413904,1087414015,GB
-1087414016,1087416767,US
+1087413904,1087416767,US
1087416768,1087416831,CA
1087416832,1087416985,US
1087416986,1087416986,GB
@@ -26073,18 +26860,20 @@
1087418368,1087419391,GB
1087419392,1087430191,US
1087430192,1087430195,FR
-1087430196,1087434751,US
-1087434752,1087438847,FR
+1087430196,1087436799,US
+1087436800,1087438847,FR
1087438848,1087442323,US
1087442324,1087442327,MX
1087442328,1087444223,US
1087444224,1087444479,GB
-1087444480,1087466495,US
-1087466496,1087466688,GB
+1087444480,1087465471,US
+1087465472,1087466688,CA
1087466689,1087466689,US
-1087466690,1087466709,GB
+1087466690,1087466709,CA
1087466710,1087466710,US
-1087466711,1087467519,GB
+1087466711,1087466883,CA
+1087466884,1087466887,GB
+1087466888,1087467519,CA
1087467520,1087501471,US
1087501472,1087501479,HK
1087501480,1087501535,US
@@ -26101,7 +26890,17 @@
1087514624,1087516671,BB
1087516672,1087522125,US
1087522126,1087522126,NL
-1087522127,1087575807,US
+1087522127,1087538943,US
+1087538944,1087539199,NL
+1087539200,1087539455,US
+1087539456,1087539711,NL
+1087539712,1087542015,US
+1087542016,1087542271,NL
+1087542272,1087544319,US
+1087544320,1087544575,NL
+1087544576,1087544831,US
+1087544832,1087545343,NL
+1087545344,1087575807,US
1087575808,1087575815,MX
1087575816,1087586967,US
1087586968,1087586971,NL
@@ -26111,45 +26910,45 @@
1087588352,1087590399,GB
1087590400,1087591237,US
1087591238,1087591238,FR
-1087591239,1087594495,US
-1087594496,1087598591,DK
-1087598592,1087613115,US
+1087591239,1087613115,US
1087613116,1087613119,FR
1087613120,1087686655,US
1087686656,1087686911,PR
1087686912,1087693151,US
1087693152,1087693155,GB
-1087693156,1087700991,US
-1087700992,1087706679,AU
-1087706680,1087706683,US
-1087706684,1087709183,AU
+1087693156,1087707135,US
+1087707136,1087709183,AU
1087709184,1087714335,US
1087714336,1087714367,NL
1087714368,1087715327,US
1087715328,1087717375,PA
1087717376,1087726015,US
1087726016,1087726047,FR
-1087726048,1087735743,US
-1087735744,1087735807,CA
-1087735808,1087741951,US
-1087741952,1087743487,GB
+1087726048,1087743487,US
1087743488,1087743569,FR
1087743570,1087743570,GB
1087743571,1087743597,FR
1087743598,1087743598,US
-1087743599,1087743743,FR
-1087743744,1087746047,GB
-1087746048,1087758335,US
+1087743599,1087743615,FR
+1087743616,1087743743,US
+1087743744,1087743999,GB
+1087744000,1087758335,US
1087758336,1087766527,PR
-1087766528,1087798943,US
+1087766528,1087781887,US
+1087781888,1087782143,GB
+1087782144,1087798943,US
1087798944,1087798975,CA
-1087798976,1087837359,US
+1087798976,1087821567,US
+1087821568,1087821823,GB
+1087821824,1087837359,US
1087837360,1087837367,BR
1087837368,1087837695,US
1087837696,1087837951,BR
1087837952,1087860735,US
1087860736,1087860991,GB
-1087860992,1087862783,US
+1087860992,1087861279,US
+1087861280,1087861311,GB
+1087861312,1087862783,US
1087862784,1087864831,PA
1087864832,1087873023,US
1087873024,1087873535,CA
@@ -26310,16 +27109,10 @@
1089266432,1089266943,GB
1089266944,1089306623,US
1089306624,1089339391,PR
-1089339392,1089394687,US
-1089394688,1089395711,CA
-1089395712,1089404927,US
+1089339392,1089404927,US
1089404928,1089437695,CA
1089437696,1089462271,US
-1089462272,1089462527,CA
-1089462528,1089462783,US
-1089462784,1089463039,CA
-1089463040,1089463295,US
-1089463296,1089465343,CA
+1089462272,1089465343,CA
1089465344,1089961983,US
1089961984,1089970175,CA
1089970176,1089974271,PR
@@ -26358,9 +27151,7 @@
1091809536,1091809791,CA
1091809792,1091812607,US
1091812608,1091812855,JP
-1091812856,1091960831,US
-1091960832,1092026367,CA
-1092026368,1092075519,US
+1091812856,1092075519,US
1092075520,1092091903,PR
1092091904,1093017599,US
1093017600,1093021695,CA
@@ -26378,7 +27169,9 @@
1093110841,1093110843,US
1093110844,1093113783,CA
1093113784,1093113791,US
-1093113792,1093120511,CA
+1093113792,1093118207,CA
+1093118208,1093118463,HK
+1093118464,1093120511,CA
1093120512,1093120767,GB
1093120768,1093127270,CA
1093127271,1093127271,US
@@ -26396,8 +27189,8 @@
1093701632,1093708287,BB
1093708288,1093709311,LC
1093709312,1093716479,BB
-1093716480,1093718015,GD
-1093718016,1093719807,BB
+1093716480,1093717759,GD
+1093717760,1093719807,BB
1093719808,1093720575,LC
1093720576,1093721343,VG
1093721344,1093723391,BB
@@ -26472,7 +27265,9 @@
1094178304,1094178559,SG
1094178560,1094178815,US
1094178816,1094179071,IE
-1094179072,1094565887,US
+1094179072,1094531071,US
+1094531072,1094531839,CA
+1094531840,1094565887,US
1094565888,1094582271,CA
1094582272,1095450623,US
1095450624,1095467007,BS
@@ -26500,25 +27295,7 @@
1097737000,1097737009,RU
1097737010,1097737897,US
1097737898,1097737907,SG
-1097737908,1097738585,US
-1097738586,1097738595,BR
-1097738596,1097738675,US
-1097738676,1097738685,SG
-1097738686,1097739403,US
-1097739404,1097739413,BR
-1097739414,1097739569,US
-1097739570,1097739579,GB
-1097739580,1097741863,US
-1097741864,1097741873,HR
-1097741874,1097741913,US
-1097741914,1097741923,MK
-1097741924,1097742023,US
-1097742024,1097742033,GB
-1097742034,1097742209,US
-1097742210,1097742219,GB
-1097742220,1097742269,US
-1097742270,1097742279,RU
-1097742280,1097742375,US
+1097737908,1097742375,US
1097742376,1097742385,AU
1097742386,1097742505,US
1097742506,1097742515,KW
@@ -26536,7 +27313,9 @@
1097830400,1097834495,CA
1097834496,1097896191,US
1097896192,1097897215,VI
-1097897216,1097947135,US
+1097897216,1097909503,US
+1097909504,1097909759,CA
+1097909760,1097947135,US
1097947136,1097949183,VI
1097949184,1097951231,US
1097951232,1097953279,VI
@@ -26550,7 +27329,9 @@
1098096288,1098096295,BR
1098096296,1098178383,US
1098178384,1098178391,CA
-1098178392,1098891623,US
+1098178392,1098507263,US
+1098507264,1098507519,CA
+1098507520,1098891623,US
1098891624,1098891631,AU
1098891632,1098892255,US
1098892256,1098892263,AU
@@ -26586,9 +27367,7 @@
1101475840,1101479935,CO
1101479936,1101484031,US
1101484032,1101488127,CO
-1101488128,1101521663,US
-1101521664,1101521919,AS
-1101521920,1101542399,US
+1101488128,1101542399,US
1101542400,1101542911,CO
1101542912,1101551213,US
1101551214,1101551214,AU
@@ -26645,11 +27424,9 @@
1103603712,1103605759,EC
1103605760,1103623167,US
1103623168,1103623679,CO
-1103623680,1103947199,US
-1103947200,1103947215,CA
-1103947216,1103987967,US
-1103987968,1103988223,BR
-1103988224,1104166911,US
+1103623680,1103992319,US
+1103992320,1103992575,FI
+1103992576,1104166911,US
1104166912,1104168959,CO
1104168960,1104265215,US
1104265216,1104265727,PH
@@ -26694,7 +27471,9 @@
1108033536,1108041727,CA
1108041728,1108054015,US
1108054016,1108066303,CA
-1108066304,1108492287,US
+1108066304,1108074495,US
+1108074496,1108076543,CA
+1108076544,1108492287,US
1108492288,1108500479,ZA
1108500480,1108525055,US
1108525056,1108541439,CA
@@ -26739,9 +27518,7 @@
1109931776,1109932031,US
1109932032,1109934591,CA
1109934592,1109934847,GB
-1109934848,1109936127,CA
-1109936128,1109936383,US
-1109936384,1109936895,CA
+1109934848,1109936895,CA
1109936896,1109937151,US
1109937152,1109938175,CA
1109938176,1109950463,US
@@ -26760,7 +27537,9 @@
1110270208,1110270335,CA
1110270336,1110310911,US
1110310912,1110376447,CA
-1110376448,1110444287,US
+1110376448,1110443535,US
+1110443536,1110443543,CA
+1110443544,1110444287,US
1110444288,1110444543,CA
1110444544,1110445055,US
1110445056,1110446591,CA
@@ -26784,7 +27563,13 @@
1110473984,1110474239,CA
1110474240,1110540287,US
1110540288,1110573055,CA
-1110573056,1110595583,PR
+1110573056,1110579967,PR
+1110579968,1110580223,US
+1110580224,1110589439,PR
+1110589440,1110591487,US
+1110591488,1110593279,PR
+1110593280,1110593535,US
+1110593536,1110595583,PR
1110595584,1110595776,US
1110595777,1110638591,PR
1110638592,1110642687,US
@@ -26804,7 +27589,8 @@
1110857472,1110859007,US
1110859008,1110859263,AU
1110859264,1110863871,US
-1110863872,1110867967,KY
+1110863872,1110865919,JM
+1110865920,1110867967,KY
1110867968,1110887423,US
1110887424,1110887679,IE
1110887680,1110929407,US
@@ -26879,8 +27665,8 @@
1112931328,1112931839,CA
1112931840,1113033727,US
1113033728,1113034239,PR
-1113034240,1113048063,US
-1113048064,1113048575,PR
+1113034240,1113047039,US
+1113047040,1113048575,PR
1113048576,1113591807,US
1113591808,1113595903,CA
1113595904,1113596415,CL
@@ -27044,27 +27830,9 @@
1114533376,1114533887,ZA
1114533888,1114537983,AO
1114537984,1114550271,CA
-1114550272,1114579209,US
-1114579210,1114579219,TR
-1114579220,1114579525,US
-1114579526,1114579535,AL
-1114579536,1114579801,US
-1114579802,1114579811,SA
-1114579812,1114579901,US
-1114579902,1114579911,FR
-1114579912,1114580243,US
-1114580244,1114580253,SA
-1114580254,1114580403,US
-1114580404,1114580413,ES
-1114580414,1114581051,US
-1114581052,1114581061,BR
-1114581062,1114581573,US
-1114581574,1114581583,UA
-1114581584,1114582301,US
-1114582302,1114582311,SG
-1114582312,1114582537,US
-1114582538,1114582547,JO
-1114582548,1114583099,US
+1114550272,1114578943,US
+1114578944,1114583039,CA
+1114583040,1114583099,US
1114583100,1114583109,FR
1114583110,1114584153,US
1114584154,1114584163,GR
@@ -27084,7 +27852,21 @@
1114730496,1114734591,CA
1114734592,1114782271,US
1114782272,1114782330,HK
-1114782331,1115113471,US
+1114782331,1115062271,US
+1115062272,1115063743,SA
+1115063744,1115063751,US
+1115063752,1115066767,SA
+1115066768,1115066783,US
+1115066784,1115067391,SA
+1115067392,1115067647,US
+1115067648,1115069439,SA
+1115069440,1115069951,US
+1115069952,1115073095,SA
+1115073096,1115073103,US
+1115073104,1115075457,SA
+1115075458,1115075467,US
+1115075468,1115078655,SA
+1115078656,1115113471,US
1115113472,1115114495,HN
1115114496,1115117055,US
1115117056,1115117311,GB
@@ -27167,15 +27949,17 @@
1117011456,1117011967,CA
1117011968,1117142271,US
1117142272,1117142527,CA
-1117142528,1117274111,US
+1117142528,1117198591,US
+1117198592,1117198847,CA
+1117198848,1117274111,US
1117274112,1117282303,CA
1117282304,1117413375,US
1117413376,1117413631,CA
1117413632,1117414143,US
1117414144,1117414911,CA
-1117414912,1117416703,US
-1117416704,1117417215,CA
-1117417216,1117417983,US
+1117414912,1117416447,US
+1117416448,1117416959,CA
+1117416960,1117417983,US
1117417984,1117418495,CA
1117418496,1117419007,US
1117419008,1117419519,CA
@@ -27283,21 +28067,15 @@
1118966016,1118966271,BR
1118966272,1118970367,US
1118970368,1118970623,GB
-1118970624,1118971647,US
-1118971648,1118971903,GY
-1118971904,1118975487,US
+1118970624,1118975487,US
1118975488,1118975743,KE
-1118975744,1118975999,US
-1118976000,1118976255,GB
-1118976256,1118986239,US
+1118975744,1118986239,US
1118986240,1118986495,GB
1118986496,1118986751,US
1118986752,1118987007,GB
1118987008,1118988287,US
1118988288,1118988543,CA
-1118988544,1118994175,US
-1118994176,1118994431,LR
-1118994432,1119072255,US
+1118988544,1119072255,US
1119072256,1119074303,CA
1119074304,1119110143,US
1119110144,1119111167,CA
@@ -27325,8 +28103,8 @@
1119477760,1119502335,US
1119502336,1119510527,CA
1119510528,1119555583,US
-1119555584,1119556095,PR
-1119556096,1119558143,US
+1119555584,1119555839,PR
+1119555840,1119558143,US
1119558144,1119558655,PR
1119558656,1119571967,US
1119571968,1119576063,CA
@@ -27411,11 +28189,10 @@
1120498944,1120499199,CA
1120499200,1120509951,US
1120509952,1120516095,SV
-1120516096,1120517375,US
-1120517376,1120517631,AR
-1120517632,1120518143,US
+1120516096,1120518143,US
1120518144,1120534527,CA
-1120534528,1120641023,US
+1120534528,1120636927,US
+1120636928,1120641023,HK
1120641024,1120657407,CA
1120657408,1120740351,US
1120740352,1120741375,TT
@@ -27445,14 +28222,20 @@
1121205248,1121205759,PR
1121205760,1121206271,LC
1121206272,1121230847,US
-1121230848,1121233681,CA
-1121233682,1121233682,US
-1121233683,1121239039,CA
-1121239040,1121247231,US
-1121247232,1121255423,CA
-1121255424,1121717115,US
-1121717116,1121717116,JP
-1121717117,1121763327,US
+1121230848,1121239039,CA
+1121239040,1121249279,US
+1121249280,1121251327,CA
+1121251328,1121252863,US
+1121252864,1121253119,BZ
+1121253120,1121254159,US
+1121254160,1121254167,CA
+1121254168,1121716991,US
+1121716992,1121717057,JP
+1121717058,1121717058,US
+1121717059,1121717247,JP
+1121717248,1121751039,US
+1121751040,1121753087,CA
+1121753088,1121763327,US
1121763328,1121767423,CA
1121767424,1121878015,US
1121878016,1121910783,CA
@@ -27475,16 +28258,15 @@
1122451456,1122455551,CO
1122455552,1122476031,US
1122476032,1122480127,PR
-1122480128,1122498559,US
-1122498560,1122499583,PR
-1122499584,1122500351,US
-1122500352,1122500607,MX
+1122480128,1122500607,US
1122500608,1122504703,HK
-1122504704,1122533375,US
+1122504704,1122515967,US
+1122515968,1122516991,CA
+1122516992,1122533375,US
1122533376,1122535423,GB
1122535424,1122538495,KR
-1122538496,1122635775,US
-1122635776,1122639871,CA
+1122538496,1122631679,US
+1122631680,1122639871,CA
1122639872,1122672639,US
1122672640,1122676735,AU
1122676736,1123123199,US
@@ -27508,7 +28290,8 @@
1123589888,1123590143,US
1123590144,1123598335,VI
1123598336,1123600383,CA
-1123600384,1123602431,US
+1123600384,1123600895,US
+1123600896,1123602431,AU
1123602432,1123606527,CA
1123606528,1123635624,US
1123635625,1123635625,JP
@@ -27529,9 +28312,9 @@
1123635911,1123635928,US
1123635929,1123635929,PH
1123635930,1123636479,US
-1123636480,1123636642,CL
+1123636480,1123636642,BR
1123636643,1123636643,US
-1123636644,1123636735,CL
+1123636644,1123636735,BR
1123636736,1123638539,US
1123638540,1123638540,PK
1123638541,1123638573,US
@@ -27566,9 +28349,11 @@
1123848192,1123852287,CA
1123852288,1123950591,US
1123950592,1123958783,CA
-1123958784,1124853798,US
-1124853799,1124853799,JP
-1124853800,1125064703,US
+1123958784,1123973631,US
+1123973632,1123973887,NL
+1123973888,1123974143,US
+1123974144,1123974399,NL
+1123974400,1125064703,US
1125064704,1125065215,GB
1125065216,1125082367,US
1125082368,1125082623,DE
@@ -27586,16 +28371,18 @@
1125156305,1125156305,DE
1125156306,1125228647,US
1125228648,1125228651,FI
-1125228652,1125237277,US
+1125228652,1125230591,US
+1125230592,1125230719,IE
+1125230720,1125237277,US
1125237278,1125237278,GB
1125237279,1125237919,US
1125237920,1125237923,GB
-1125237924,1125249023,US
-1125249024,1125253119,VE
+1125237924,1125251071,US
+1125251072,1125253119,VE
1125253120,1125474303,US
1125474304,1125478399,CA
-1125478400,1125481215,US
-1125481216,1125481727,CA
+1125478400,1125481471,US
+1125481472,1125481727,CA
1125481728,1125486591,US
1125486592,1125490687,CA
1125490688,1125498879,US
@@ -27621,7 +28408,11 @@
1126924288,1126928383,CA
1126928384,1126948863,US
1126948864,1126952959,CA
-1126952960,1127677951,US
+1126952960,1127514623,US
+1127514624,1127515109,MX
+1127515110,1127515110,US
+1127515111,1127515135,MX
+1127515136,1127677951,US
1127677952,1127694335,CA
1127694336,1127923711,US
1127923712,1127931903,CA
@@ -27634,18 +28425,12 @@
1128817664,1130535935,US
1130535936,1130536191,FR
1130536192,1130536959,US
-1130536960,1130537599,GU
-1130537600,1130537626,US
+1130536960,1130537471,GU
+1130537472,1130537626,US
1130537627,1130537627,GU
-1130537628,1130537663,US
-1130537664,1130537695,GU
-1130537696,1130537727,US
+1130537628,1130537727,US
1130537728,1130539007,GU
-1130539008,1132840959,US
-1132840960,1132841473,PR
-1132841474,1132841474,US
-1132841475,1132841983,PR
-1132841984,1133461247,US
+1130539008,1133461247,US
1133461248,1133461503,CA
1133461504,1133785351,US
1133785352,1133785359,IE
@@ -27662,9 +28447,7 @@
1134440960,1134441215,CA
1134441216,1134441471,US
1134441472,1134441727,IN
-1134441728,1134444031,US
-1134444032,1134444287,IE
-1134444288,1134444543,US
+1134441728,1134444543,US
1134444544,1134448639,CA
1134448640,1134546943,US
1134546944,1134551039,CA
@@ -27676,9 +28459,11 @@
1137278976,1137295359,CA
1137295360,1137369087,US
1137369088,1137371135,CA
-1137371136,1137376355,US
-1137376356,1137376356,CA
-1137376357,1137385471,US
+1137371136,1137375231,US
+1137375232,1137376383,CA
+1137376384,1137376511,US
+1137376512,1137377279,CA
+1137377280,1137385471,US
1137385472,1137387519,BR
1137387520,1137426431,US
1137426432,1137442815,PR
@@ -27699,16 +28484,16 @@
1137686016,1137686271,FR
1137686272,1137688063,US
1137688064,1137688319,FR
-1137688320,1137690623,US
-1137690624,1137691135,DE
-1137691136,1137692159,US
+1137688320,1137690879,US
+1137690880,1137691135,DE
+1137691136,1137691391,US
+1137691392,1137691647,CA
+1137691648,1137692159,US
1137692160,1137692671,CA
1137692672,1137704959,US
1137704960,1137713151,CA
1137713152,1137717247,US
-1137721344,1137737727,US
-1137737728,1137741823,CA
-1137741824,1137803263,US
+1137721344,1137803263,US
1137803264,1137811455,KZ
1137811456,1137836031,US
1137840128,1137840383,CA
@@ -27740,7 +28525,11 @@
1137985728,1137991679,CA
1137991680,1138049023,US
1138049024,1138061311,CA
-1138061312,1138068479,US
+1138061312,1138062847,US
+1138062848,1138063103,CA
+1138063104,1138065151,US
+1138065152,1138065407,CA
+1138065408,1138068479,US
1138068480,1138069247,AU
1138069248,1138069503,US
1138069504,1138073599,JM
@@ -27765,13 +28554,13 @@
1138212864,1138216959,CA
1138216960,1138237439,US
1138237440,1138245631,CA
-1138245632,1138373887,US
-1138373888,1138374655,AS
+1138245632,1138303551,US
+1138303552,1138303583,MX
+1138303584,1138374399,US
+1138374400,1138374655,AS
1138374656,1138374911,US
1138374912,1138375167,AS
-1138375168,1138375423,US
-1138375424,1138375551,AS
-1138375552,1138415871,US
+1138375168,1138415871,US
1138415872,1138416127,CA
1138416128,1138417407,US
1138417408,1138417663,CA
@@ -27805,9 +28594,7 @@
1138720768,1138728959,CA
1138728960,1138774015,US
1138774016,1138778111,CA
-1138778112,1138780159,US
-1138780160,1138780415,CA
-1138780416,1138780671,US
+1138778112,1138780671,US
1138780672,1138780679,CA
1138780680,1138781183,US
1138781184,1138781695,CA
@@ -27846,9 +28633,13 @@
1138980864,1139146751,US
1139146752,1139154943,GT
1139154944,1139167231,JM
-1139167232,1139169279,US
-1139169280,1139170303,PR
-1139170304,1139176959,US
+1139167232,1139168895,US
+1139168896,1139169023,PR
+1139169024,1139169279,US
+1139169280,1139169791,PR
+1139169792,1139175423,US
+1139175424,1139175935,PR
+1139175936,1139176959,US
1139176960,1139177215,PR
1139177216,1139179519,US
1139179520,1139187711,CA
@@ -27856,13 +28647,7 @@
1139216384,1139220479,CA
1139220480,1139265535,US
1139265536,1139269631,CA
-1139269632,1145099519,US
-1145099520,1145099551,SA
-1145099552,1145099567,US
-1145099568,1145099697,SA
-1145099698,1145099699,US
-1145099700,1145099775,SA
-1145099776,1145165823,US
+1139269632,1145165823,US
1145165824,1145166335,VG
1145166336,1145168895,US
1145168896,1145171967,AU
@@ -27928,9 +28713,25 @@
1152581632,1152614399,CA
1152614400,1152778239,US
1152778240,1152843775,CA
-1152843776,1156071423,US
+1152843776,1152847871,NL
+1152847872,1152851967,US
+1152851968,1152856063,GB
+1152856064,1152860159,US
+1152860160,1152864255,DE
+1152864256,1152868351,IN
+1152868352,1152888831,US
+1152888832,1152892927,SG
+1152892928,1152897023,US
+1152897024,1152901119,DE
+1152901120,1152905215,SG
+1152905216,1152906239,DE
+1152906240,1152908287,US
+1152908288,1152909311,GB
+1152909312,1156071423,US
1156071424,1156079615,CA
-1156079616,1156243455,US
+1156079616,1156128767,US
+1156128768,1156130815,IS
+1156130816,1156243455,US
1156243456,1156245503,CA
1156245504,1156249599,US
1156249600,1156250623,CA
@@ -27953,29 +28754,19 @@
1157910832,1157910847,US
1157910848,1157910863,CA
1157910864,1157910879,US
-1157910880,1157910975,CA
-1157910976,1157910983,US
-1157910984,1157911071,CA
+1157910880,1157911071,CA
1157911072,1157911103,US
-1157911104,1157911279,CA
-1157911280,1157911287,US
-1157911288,1157911343,CA
+1157911104,1157911343,CA
1157911344,1157911351,US
-1157911352,1157911743,CA
-1157911744,1157911759,US
-1157911760,1157911775,CA
+1157911352,1157911775,CA
1157911776,1157911791,US
1157911792,1157911927,CA
1157911928,1157911935,US
1157911936,1157911951,CA
1157911952,1157911983,US
-1157911984,1157911991,CA
-1157911992,1157911999,US
-1157912000,1157912015,CA
+1157911984,1157912015,CA
1157912016,1157912031,US
-1157912032,1157912183,CA
-1157912184,1157912191,US
-1157912192,1157912347,CA
+1157912032,1157912347,CA
1157912348,1157912348,US
1157912349,1157912391,CA
1157912392,1157912399,US
@@ -27983,51 +28774,39 @@
1157912448,1157912463,US
1157912464,1157912647,CA
1157912648,1157912671,US
-1157912672,1157912687,CA
-1157912688,1157912735,US
+1157912672,1157912703,CA
+1157912704,1157912735,US
1157912736,1157912743,CA
1157912744,1157912751,US
1157912752,1157912815,CA
1157912816,1157912823,US
1157912824,1157912831,CA
1157912832,1157912839,US
-1157912840,1157912879,CA
-1157912880,1157912911,US
-1157912912,1157912943,CA
-1157912944,1157913023,US
-1157913024,1157913039,CA
-1157913040,1157913047,FI
-1157913048,1157913087,CA
+1157912840,1157912895,CA
+1157912896,1157912911,US
+1157912912,1157912959,CA
+1157912960,1157913023,US
+1157913024,1157913087,CA
1157913088,1157913119,US
-1157913120,1157913207,CA
-1157913208,1157913215,US
-1157913216,1157913231,CA
-1157913232,1157913295,US
-1157913296,1157913427,CA
-1157913428,1157913431,US
-1157913432,1157913439,CA
+1157913120,1157913231,CA
+1157913232,1157913247,US
+1157913248,1157913279,CA
+1157913280,1157913295,US
+1157913296,1157913439,CA
1157913440,1157913455,US
1157913456,1157913471,CA
1157913472,1157913487,US
1157913488,1157913495,CA
-1157913496,1157913519,US
-1157913520,1157913551,CA
-1157913552,1157913559,US
-1157913560,1157913583,CA
+1157913496,1157913503,US
+1157913504,1157913583,CA
1157913584,1157913599,US
1157913600,1157913631,CA
1157913632,1157913647,US
1157913648,1157913663,CA
1157913664,1157913679,US
-1157913680,1157913695,CA
-1157913696,1157913711,US
-1157913712,1157913759,CA
+1157913680,1157913759,CA
1157913760,1157913775,US
-1157913776,1157913823,CA
-1157913824,1157913847,US
-1157913848,1157913879,CA
-1157913880,1157913887,US
-1157913888,1157913919,CA
+1157913776,1157913919,CA
1157913920,1157913943,US
1157913944,1157914031,CA
1157914032,1157914047,US
@@ -28036,18 +28815,16 @@
1157914096,1157914143,CA
1157914144,1157914175,US
1157914176,1157914183,CA
-1157914184,1157914223,US
+1157914184,1157914191,US
+1157914192,1157914207,CA
+1157914208,1157914223,US
1157914224,1157914239,CA
1157914240,1157914255,US
1157914256,1157914303,CA
1157914304,1157914335,US
1157914336,1157914351,CA
1157914352,1157914367,US
-1157914368,1157914495,CA
-1157914496,1157914511,US
-1157914512,1157914519,CA
-1157914520,1157914527,US
-1157914528,1157914623,CA
+1157914368,1157914623,CA
1157914624,1157931007,US
1157931008,1157935103,BS
1157935104,1157943295,US
@@ -28094,7 +28871,9 @@
1159004160,1159213055,US
1159213056,1159217151,CA
1159217152,1159251199,US
-1159251200,1159252479,PR
+1159251200,1159251967,PR
+1159251968,1159252223,US
+1159252224,1159252479,PR
1159252480,1159269119,US
1159269120,1159269375,AR
1159269376,1159281919,US
@@ -28161,19 +28940,26 @@
1160665600,1160665855,CH
1160665856,1160667135,US
1160667136,1160675327,CA
-1160675328,1160681727,US
+1160675328,1160678399,US
+1160678400,1160678655,MX
+1160678656,1160681727,US
1160681728,1160681983,SG
1160681984,1160683519,US
1160683520,1160691711,CA
1160691712,1160847359,US
1160847360,1160855551,CA
-1160855552,1160921087,US
+1160855552,1160863999,US
+1160864000,1160864255,CA
+1160864256,1160921087,US
1160921088,1160925183,AG
1160925184,1160945663,US
1160945664,1160953855,CA
1160953856,1160955255,US
1160955256,1160955264,PL
-1160955265,1160967679,US
+1160955265,1160963071,US
+1160963072,1160963327,DE
+1160963328,1160963583,CA
+1160963584,1160967679,US
1160967680,1160967935,GB
1160967936,1160968191,IT
1160968192,1160968703,SE
@@ -28185,11 +28971,7 @@
1161052672,1161052927,GB
1161052928,1161053439,US
1161053440,1161053695,GB
-1161053696,1161070335,US
-1161070336,1161070591,HK
-1161070592,1161073407,US
-1161073408,1161073663,AU
-1161073664,1161163263,US
+1161053696,1161163263,US
1161163264,1161163519,NL
1161163520,1161293823,US
1161293824,1161297919,CA
@@ -28202,11 +28984,7 @@
1161421824,1161422335,AG
1161422336,1161422591,LC
1161422592,1161422847,AG
-1161422848,1161423103,LC
-1161423104,1161423359,VG
-1161423360,1161423615,AI
-1161423616,1161423871,AG
-1161423872,1161424127,LC
+1161422848,1161424127,LC
1161424128,1161424383,AI
1161424384,1161424639,KN
1161424640,1161424895,LC
@@ -28220,16 +28998,15 @@
1161428224,1161428991,KN
1161428992,1161429023,CA
1161429024,1161429031,US
-1161429032,1161429039,SE
-1161429040,1161429111,CA
+1161429032,1161429111,CA
1161429112,1161429135,US
1161429136,1161429151,CA
-1161429152,1161429199,US
-1161429200,1161429207,CA
-1161429208,1161429255,US
-1161429256,1161429263,CA
-1161429264,1161429279,US
-1161429280,1161429295,CA
+1161429152,1161429167,US
+1161429168,1161429175,CA
+1161429176,1161429199,US
+1161429200,1161429215,CA
+1161429216,1161429255,US
+1161429256,1161429295,CA
1161429296,1161429327,US
1161429328,1161429335,CA
1161429336,1161429351,US
@@ -28237,34 +29014,26 @@
1161429376,1161429407,US
1161429408,1161429431,CA
1161429432,1161429439,US
-1161429440,1161429511,CA
-1161429512,1161429519,US
-1161429520,1161429535,CA
+1161429440,1161429535,CA
1161429536,1161429543,US
1161429544,1161429551,CA
1161429552,1161429599,US
-1161429600,1161429615,CA
-1161429616,1161429663,US
-1161429664,1161429679,CA
-1161429680,1161429711,US
+1161429600,1161429647,CA
+1161429648,1161429663,US
+1161429664,1161429695,CA
+1161429696,1161429711,US
1161429712,1161429719,FI
1161429720,1161429727,US
1161429728,1161429759,CA
1161429760,1161429775,US
-1161429776,1161429815,CA
-1161429816,1161429823,US
-1161429824,1161429831,CA
-1161429832,1161429839,US
-1161429840,1161429855,CA
+1161429776,1161429855,CA
1161429856,1161429863,US
1161429864,1161429887,CA
1161429888,1161429903,US
-1161429904,1161429983,CA
-1161429984,1161430015,US
-1161430016,1161430023,FI
-1161430024,1161430031,US
-1161430032,1161430079,CA
-1161430080,1161430159,US
+1161429904,1161429999,CA
+1161430000,1161430015,US
+1161430016,1161430111,CA
+1161430112,1161430159,US
1161430160,1161430191,CA
1161430192,1161430207,US
1161430208,1161430431,CA
@@ -28279,26 +29048,24 @@
1161430576,1161430591,US
1161430592,1161430639,CA
1161430640,1161430647,US
-1161430648,1161430671,CA
-1161430672,1161430679,US
-1161430680,1161430703,CA
-1161430704,1161430719,US
-1161430720,1161430727,CA
-1161430728,1161430735,FI
-1161430736,1161430799,CA
-1161430800,1161430823,US
-1161430824,1161430847,CA
+1161430648,1161430799,CA
+1161430800,1161430815,US
+1161430816,1161430847,CA
1161430848,1161430911,US
1161430912,1161430943,CA
-1161430944,1161431007,US
+1161430944,1161430975,US
+1161430976,1161430991,CA
+1161430992,1161431007,US
1161431008,1161431039,CA
-1161431040,1161432319,US
-1161432320,1161432479,CA
-1161432480,1161432575,US
+1161431040,1161432063,US
+1161432064,1161432511,CA
+1161432512,1161432575,US
1161432576,1161432831,CA
1161432832,1161433087,US
-1161433088,1161437183,CA
-1161437184,1161453567,US
+1161433088,1161436159,CA
+1161436160,1161437120,US
+1161437121,1161437121,CA
+1161437122,1161453567,US
1161453568,1161457663,CA
1161457664,1161576447,US
1161576448,1161580543,CA
@@ -28327,9 +29094,7 @@
1161834744,1161834744,BZ
1161834745,1161835948,US
1161835949,1161835949,BZ
-1161835950,1161837567,US
-1161837568,1161837823,JP
-1161837824,1161884927,US
+1161835950,1161884927,US
1161884928,1161884959,DE
1161884960,1161885183,US
1161885184,1161885199,JP
@@ -28351,9 +29116,7 @@
1162032288,1162032303,BE
1162032304,1162059775,US
1162059776,1162067967,CA
-1162067968,1162152959,US
-1162152960,1162153471,VI
-1162153472,1162215423,US
+1162067968,1162215423,US
1162215424,1162280959,CA
1162280960,1162297343,US
1162297344,1162305535,CA
@@ -28372,15 +29135,14 @@
1162470912,1162471423,GD
1162471424,1162472703,BB
1162472704,1162473471,VC
-1162473472,1162473727,BB
-1162473728,1162475007,GD
+1162473472,1162475007,GD
1162475008,1162477567,BB
1162477568,1162715135,US
1162715136,1162723327,CA
1162723328,1162807295,US
1162807296,1162807807,PR
-1162807808,1162808319,LC
-1162808320,1162809343,PR
+1162807808,1162808063,LC
+1162808064,1162809343,PR
1162809344,1162811391,US
1162811392,1162811647,CW
1162811648,1162812415,US
@@ -28398,22 +29160,20 @@
1162853376,1162854399,PR
1162854400,1162858495,JM
1162858496,1162862591,US
-1162862592,1162862847,PR
-1162862848,1162863103,US
-1162863104,1162863359,PR
-1162863360,1162863423,US
-1162863424,1162863487,PR
-1162863488,1162870783,US
+1162862592,1162863103,PR
+1162863104,1162870783,US
1162870784,1162871295,BB
-1162871296,1162878975,LC
-1162878976,1162882559,DM
+1162871296,1162879487,LC
+1162879488,1162879999,BB
+1162880000,1162882559,DM
1162882560,1162883839,GD
1162883840,1162884863,BB
1162884864,1162885887,VC
1162885888,1162887167,BB
1162887168,1162929151,US
1162929152,1162932223,CA
-1162932224,1163386367,US
+1162932224,1163372543,US
+1163378688,1163386367,US
1163386368,1163386879,CA
1163386880,1163399167,US
1163399168,1163399423,WS
@@ -28423,8 +29183,10 @@
1163401472,1163401727,ID
1163401728,1163407359,US
1163407360,1163411455,CA
-1163411456,1163469567,US
-1163469568,1163472895,PR
+1163411456,1163469823,US
+1163469824,1163470335,PR
+1163470336,1163470847,US
+1163470848,1163472895,PR
1163472896,1163479295,US
1163479296,1163479551,CA
1163479552,1163526143,US
@@ -28439,11 +29201,9 @@
1163556096,1163556863,CA
1163556864,1163557119,US
1163557120,1163558911,CA
-1163558912,1163561215,US
-1163561216,1163561471,CA
-1163561472,1163563007,US
-1163563008,1163566335,CA
-1163566336,1163567103,US
+1163558912,1163560959,US
+1163560960,1163566591,CA
+1163566592,1163567103,US
1163567104,1163569407,CA
1163569408,1163569663,US
1163569664,1163570943,CA
@@ -28473,9 +29233,7 @@
1163579464,1163579471,US
1163579472,1163580415,CA
1163580416,1163580543,US
-1163580544,1163580819,CA
-1163580820,1163580830,US
-1163580831,1163581375,CA
+1163580544,1163581375,CA
1163581376,1163581391,US
1163581392,1163583487,CA
1163583488,1163583999,US
@@ -28488,7 +29246,7 @@
1163590144,1163591679,CA
1163591680,1163808767,US
1163808768,1163812863,MV
-1163812864,1163816959,US
+1163812864,1163816959,HK
1163816960,1163821055,CY
1163821056,1167851519,US
1167851520,1168113663,CA
@@ -28507,16 +29265,14 @@
1168269888,1168269951,GB
1168269952,1168279295,US
1168279296,1168279359,CA
-1168279360,1168394239,US
-1168394240,1168395263,CA
-1168395264,1168420863,US
+1168279360,1168420863,US
1168420864,1168424959,CA
-1168424960,1168461823,US
+1168424960,1168444671,US
+1168444672,1168444927,CA
+1168444928,1168461823,US
1168461824,1168465919,CA
1168465920,1168474111,US
-1168474112,1168488447,CA
-1168488448,1168488703,US
-1168488704,1168506879,CA
+1168474112,1168506879,CA
1168506880,1168510975,US
1168510976,1168515071,CA
1168515072,1168535551,US
@@ -28542,7 +29298,15 @@
1168859136,1168863231,CA
1168863232,1168867327,US
1168867328,1168875519,CA
-1168875520,1168916479,US
+1168875520,1168877567,US
+1168877568,1168879615,CA
+1168879616,1168881663,US
+1168881664,1168882547,CA
+1168882548,1168882548,US
+1168882549,1168883711,CA
+1168883712,1168898047,US
+1168898048,1168900095,IN
+1168900096,1168916479,US
1168916480,1168924671,HK
1168924672,1168932863,IT
1168932864,1168936959,US
@@ -28580,31 +29344,36 @@
1168982016,1168998399,US
1168998400,1169002495,CA
1169002496,1169003007,DE
-1169003008,1169032063,US
+1169003008,1169031167,US
+1169031168,1169032063,DE
1169032064,1169032071,CA
-1169032072,1169034529,US
+1169032072,1169033819,DE
+1169033820,1169033823,US
+1169033824,1169034529,DE
1169034530,1169034530,CA
-1169034531,1169035263,US
-1169035264,1169035265,DE
+1169034531,1169034557,DE
+1169034558,1169034558,US
+1169034559,1169035265,DE
1169035266,1169035266,US
1169035267,1169037311,DE
-1169037312,1169041537,US
-1169041538,1169041538,CA
-1169041539,1169042719,US
+1169037312,1169040895,US
+1169040896,1169041407,CA
+1169041408,1169041535,US
+1169041536,1169041663,CA
+1169041664,1169042719,US
1169042720,1169042735,CO
1169042736,1169042767,US
1169042768,1169042783,AR
-1169042784,1169053345,US
-1169053346,1169053346,CA
-1169053347,1169062143,US
+1169042784,1169062143,US
1169062144,1169062207,HK
1169062208,1169062383,US
1169062384,1169062399,IN
1169062400,1169203199,US
1169203200,1169211391,CA
-1169211392,1170190847,US
+1169211392,1170190335,US
+1170190336,1170190847,GB
1170190848,1170191103,JP
-1170191104,1170191359,US
+1170191104,1170191359,GB
1170191360,1170191871,DE
1170191872,1170192383,HK
1170192384,1170227199,US
@@ -28649,10 +29418,9 @@
1176632576,1176632831,GB
1176632832,1176643583,US
1176643584,1176645631,NL
-1176645632,1176647423,US
-1176647424,1176647679,NL
-1176647680,1176649727,AU
-1176649728,1176731647,US
+1176645632,1176648191,US
+1176648192,1176648447,IN
+1176648448,1176731647,US
1176731648,1176735743,PR
1176735744,1176736767,US
1176736768,1176737023,CR
@@ -28733,7 +29501,9 @@
1177165056,1177165056,CA
1177165057,1177165057,US
1177165058,1177165087,CA
-1177165088,1177354239,US
+1177165088,1177314887,US
+1177314888,1177314895,VI
+1177314896,1177354239,US
1177354240,1177419775,PR
1177419776,1177550847,US
1177550848,1178075135,CA
@@ -28741,9 +29511,7 @@
1178599424,1179910143,CA
1179910144,1191673855,US
1191673856,1191706623,CA
-1191706624,1192232127,US
-1192232128,1192232159,PA
-1192232160,1192296447,US
+1191706624,1192296447,US
1192296448,1192361983,CA
1192361984,1192427519,US
1192427520,1192460287,CA
@@ -28751,9 +29519,7 @@
1192468480,1192476671,CA
1192476672,1192488959,US
1192488960,1192493055,CA
-1192493056,1194307039,US
-1194307040,1194307071,VI
-1194307072,1199816703,US
+1192493056,1199816703,US
1199816704,1199849471,CN
1199849472,1200111615,US
1200111616,1200127999,CN
@@ -28765,7 +29531,9 @@
1208008704,1208016895,CA
1208016896,1208020991,US
1208020992,1208025087,CA
-1208025088,1208074239,US
+1208025088,1208050943,US
+1208050944,1208051199,CA
+1208051200,1208074239,US
1208074240,1208082431,CA
1208082432,1208090623,US
1208090624,1208107007,CA
@@ -28785,8 +29553,7 @@
1208852480,1208860671,CA
1208860672,1208918015,US
1208918016,1208922111,CA
-1208922112,1208935679,US
-1208935680,1208935935,CN
+1208922112,1208935935,US
1208935936,1208935943,AU
1208935944,1208935951,IN
1208935952,1208935959,SG
@@ -28796,13 +29563,12 @@
1208935984,1208935991,IN
1208935992,1208935999,JP
1208936000,1208936003,HK
-1208936004,1208936007,US
+1208936004,1208936007,AU
1208936008,1208936015,ID
-1208936016,1208936023,US
+1208936016,1208936023,AU
1208936024,1208936039,IN
1208936040,1208936047,JP
-1208936048,1208936191,US
-1208936192,1208936199,AU
+1208936048,1208936199,AU
1208936200,1208936207,SG
1208936208,1208936215,HK
1208936216,1208936223,IN
@@ -28811,11 +29577,12 @@
1208936240,1208936247,JP
1208936248,1208936255,IN
1208936256,1208936263,MY
-1208936264,1208936295,US
+1208936264,1208936295,AU
1208936296,1208936299,HK
-1208936300,1208936311,US
+1208936300,1208936311,AU
1208936312,1208936313,ID
-1208936314,1208954879,US
+1208936314,1208936447,AU
+1208936448,1208954879,US
1208954880,1208958975,CA
1208958976,1208975359,US
1208975360,1208983551,CA
@@ -28849,18 +29616,12 @@
1209884680,1209884687,ES
1209884688,1209917439,US
1209917440,1209925631,CA
-1209925632,1210092287,US
-1210092288,1210092543,ES
-1210092544,1210099711,US
+1209925632,1210099711,US
1210099712,1210099719,MX
1210099720,1210109263,US
1210109264,1210109271,CA
-1210109272,1210228735,US
-1210228736,1210230855,AU
-1210230856,1210230863,US
-1210230864,1210232831,AU
-1210232832,1210257407,US
-1210257408,1210261503,CA
+1210109272,1210259455,US
+1210259456,1210261503,CA
1210261504,1210314751,US
1210314752,1210315007,GB
1210315008,1210315775,US
@@ -28884,9 +29645,7 @@
1210994688,1210997759,CA
1210997760,1211014143,US
1211014144,1211014655,PR
-1211014656,1211032271,US
-1211032272,1211032287,DO
-1211032288,1211236351,US
+1211014656,1211236351,US
1211236352,1211269119,PR
1211269120,1211301887,US
1211301888,1211304959,CA
@@ -28902,7 +29661,9 @@
1211315456,1211317759,CA
1211317760,1211318015,US
1211318016,1211318271,CA
-1211318272,1211321087,BB
+1211318272,1211319807,BB
+1211319808,1211320575,GD
+1211320576,1211321087,BB
1211321088,1211321343,BS
1211321344,1211322367,VC
1211322368,1211322623,BB
@@ -28929,9 +29690,7 @@
1211473920,1211482367,US
1211482368,1211498495,CA
1211498496,1211596799,US
-1211596800,1211597355,CA
-1211597356,1211597359,GB
-1211597360,1211600959,CA
+1211596800,1211600959,CA
1211600960,1211600967,US
1211600968,1211605939,CA
1211605940,1211605943,PH
@@ -28955,15 +29714,17 @@
1219256320,1219264511,CA
1219264512,1219272703,US
1219272704,1219276799,CA
-1219276800,1224089599,US
-1224089600,1224093695,CA
-1224093696,1224104959,US
+1219276800,1224104959,US
1224104960,1224105471,NL
1224105472,1224107007,US
1224107008,1224107519,NL
-1224107520,1224118271,US
+1224107520,1224112127,US
+1224112128,1224113151,NL
+1224113152,1224118271,US
1224118272,1224119807,NL
-1224119808,1224138751,US
+1224119808,1224124415,US
+1224124416,1224126463,NL
+1224126464,1224138751,US
1224138752,1224139775,NL
1224139776,1224140287,US
1224140288,1224140799,NL
@@ -28990,8 +29751,7 @@
1224202240,1224327167,US
1224327168,1224327295,NL
1224327296,1224327935,US
-1224327936,1224327943,CA
-1224327944,1224328063,US
+1224327936,1224328063,CA
1224328064,1224328191,NL
1224328192,1224329215,US
1224329216,1224329471,CA
@@ -29010,12 +29770,16 @@
1224484864,1224493055,GT
1224493056,1224499199,US
1224499200,1224501247,GT
-1224501248,1224540159,JM
+1224501248,1224527616,JM
+1224527617,1224527871,US
+1224527872,1224540159,JM
1224540160,1224671231,US
1224671232,1224687615,PK
1224687616,1224728575,US
1224728576,1224736767,HK
-1224736768,1241743359,US
+1224736768,1225084383,US
+1225084384,1225084415,JP
+1225084416,1241743359,US
1241743360,1241759743,CA
1241759744,1242300415,US
1242300416,1242562559,CA
@@ -29101,7 +29865,9 @@
1246890432,1246890463,CA
1246890464,1246890464,US
1246890465,1246890495,CA
-1246890496,1246895103,US
+1246890496,1246893759,US
+1246893760,1246893791,JP
+1246893792,1246895103,US
1246895104,1246895615,NL
1246895616,1246900223,US
1246900224,1246900287,HK
@@ -29113,9 +29879,7 @@
1246905600,1246912511,CA
1246912512,1246923519,US
1246923520,1246923775,AU
-1246923776,1247062115,US
-1247062116,1247062116,MX
-1247062117,1247101439,US
+1246923776,1247101439,US
1247101440,1247101695,CA
1247101696,1247123967,US
1247123968,1247124223,CA
@@ -29133,11 +29897,7 @@
1248885760,1248886783,CA
1248886784,1248899071,US
1248899072,1248900095,CA
-1248900096,1248902143,US
-1248902144,1248902655,CA
-1248902656,1248902911,US
-1248902912,1248903167,CA
-1248903168,1248913407,US
+1248900096,1248913407,US
1248913408,1248915455,MF
1248915456,1248919551,US
1248919552,1248920575,CA
@@ -29184,12 +29944,15 @@
1249103104,1249103871,CA
1249103872,1249106943,US
1249106944,1249107967,CA
-1249107968,1249130495,US
+1249107968,1249116927,US
+1249116928,1249117183,DE
+1249117184,1249130495,US
1249130496,1249131519,JM
1249131520,1249139711,US
-1249139712,1249140268,MF
+1249139712,1249140268,GP
1249140269,1249140269,FR
-1249140270,1249140735,MF
+1249140270,1249140479,GP
+1249140480,1249140735,MF
1249140736,1249142015,US
1249142016,1249142271,GB
1249142272,1249146879,US
@@ -29224,7 +29987,9 @@
1249267712,1249268735,AF
1249268736,1249272831,US
1249272832,1249273855,CA
-1249273856,1249310719,US
+1249273856,1249296383,US
+1249296384,1249297407,CA
+1249297408,1249310719,US
1249310720,1249311743,CA
1249311744,1249312767,US
1249312768,1249313791,CA
@@ -29392,9 +30157,7 @@
1249886208,1249902591,CA
1249902592,1252535295,US
1252535296,1252536319,VI
-1252536320,1252774911,US
-1252774912,1252775935,AS
-1252775936,1254490111,US
+1252536320,1254490111,US
1254490112,1254555647,CA
1254555648,1254621183,US
1254621184,1254629375,CA
@@ -29414,7 +30177,9 @@
1255276544,1255342079,CA
1255342080,1255489535,US
1255489536,1255505919,PR
-1255505920,1255514111,US
+1255505920,1255512063,US
+1255512064,1255512831,CA
+1255512832,1255514111,US
1255514112,1255522303,CA
1255522304,1255571455,US
1255571456,1255579647,CA
@@ -29536,8 +30301,7 @@
1280081920,1280090111,US
1280090112,1280091135,AG
1280091136,1280092159,VG
-1280092160,1280093183,KN
-1280093184,1280094207,VG
+1280092160,1280094207,KN
1280094208,1280096255,AI
1280096256,1280097279,AG
1280097280,1280097791,LC
@@ -29567,7 +30331,8 @@
1294000128,1294004223,CH
1294004224,1294073855,PL
1294073856,1294204927,RU
-1294204928,1294237695,RO
+1294204928,1294229503,RO
+1294229504,1294237695,US
1294237696,1294270463,IR
1294270464,1294299135,DE
1294299136,1294303231,IR
@@ -29588,8 +30353,8 @@
1294794752,1294827519,PL
1294827520,1294860287,RU
1294860288,1294893055,PL
-1294893056,1294894079,RS
-1294894080,1294894731,XK
+1294893056,1294894591,RS
+1294894592,1294894731,XK
1294894732,1294894732,RS
1294894733,1294895103,XK
1294895104,1294925823,RS
@@ -29607,9 +30372,7 @@
1295384576,1295450111,PT
1295450112,1295481855,PL
1295482880,1295515647,PL
-1295515648,1295763199,CH
-1295763200,1295763455,GB
-1295763456,1295777791,CH
+1295515648,1295777791,CH
1295777792,1296039935,NL
1296039936,1296072703,SA
1296072704,1296105471,DE
@@ -29653,10 +30416,8 @@
1296249464,1296249471,GB
1296249472,1296249567,IE
1296249568,1296249599,NO
-1296249600,1296249615,GB
-1296249616,1296249747,IE
-1296249748,1296249751,GB
-1296249752,1296250367,IE
+1296249600,1296249855,GB
+1296249856,1296250367,IE
1296250368,1296250399,CZ
1296250400,1296250431,DE
1296250432,1296250463,PL
@@ -29665,15 +30426,24 @@
1296250528,1296250559,DK
1296250560,1296250607,IE
1296250608,1296250615,DE
-1296250616,1296250623,IE
-1296250624,1296250879,GB
+1296250616,1296250687,IE
+1296250688,1296250695,ES
+1296250696,1296250703,PL
+1296250704,1296250815,IE
+1296250816,1296250847,BE
+1296250848,1296250879,GB
1296250880,1296250943,IE
1296250944,1296250947,FR
-1296250948,1296251199,IE
+1296250948,1296251087,IE
+1296251088,1296251095,CZ
+1296251096,1296251103,ES
+1296251104,1296251199,IE
1296251200,1296251231,NL
1296251232,1296251391,IE
1296251392,1296251775,NL
-1296251776,1296252479,IE
+1296251776,1296252191,IE
+1296252192,1296252199,ES
+1296252200,1296252479,IE
1296252480,1296252487,ES
1296252488,1296252503,IE
1296252504,1296252507,DE
@@ -29692,9 +30462,8 @@
1296252648,1296252655,GB
1296252656,1296252667,IE
1296252668,1296252671,GB
-1296252672,1296252897,IE
-1296252898,1296252898,BE
-1296252899,1296254207,IE
+1296252672,1296252927,BE
+1296252928,1296254207,IE
1296254208,1296254463,US
1296254464,1296256839,IE
1296256840,1296256847,US
@@ -29708,9 +30477,15 @@
1296261632,1296262383,IE
1296262384,1296262399,IN
1296262400,1296262655,US
-1296262656,1296263431,IE
+1296262656,1296263351,IE
+1296263352,1296263359,CZ
+1296263360,1296263399,IE
+1296263400,1296263407,CZ
+1296263408,1296263423,CH
+1296263424,1296263431,IE
1296263432,1296263439,FR
-1296263440,1296263523,IE
+1296263440,1296263455,AT
+1296263456,1296263523,IE
1296263524,1296263527,CH
1296263528,1296263673,IE
1296263674,1296263674,PL
@@ -29719,12 +30494,15 @@
1296263936,1296264175,IE
1296264176,1296264183,BE
1296264184,1296264191,NO
-1296264192,1296264287,GB
+1296264192,1296264263,IE
+1296264264,1296264271,GB
+1296264272,1296264287,IE
1296264288,1296264303,US
-1296264304,1296265175,GB
+1296264304,1296264319,IE
+1296264320,1296264447,GB
+1296264448,1296265175,IE
1296265176,1296265183,RS
-1296265184,1296265215,GB
-1296265216,1296265279,IE
+1296265184,1296265279,IE
1296265280,1296265343,DE
1296265344,1296267263,IE
1296267264,1296267341,DE
@@ -29978,9 +30756,11 @@
1297584128,1297588223,UA
1297588224,1297590271,NL
1297590272,1297592319,RU
-1297592320,1297593215,IM
-1297593216,1297593223,GB
-1297593224,1297594367,IM
+1297592320,1297593225,GB
+1297593226,1297593226,IM
+1297593227,1297593247,GB
+1297593248,1297593279,MT
+1297593280,1297594367,GB
1297594368,1297596415,DE
1297596416,1297598463,UA
1297598464,1297602559,RU
@@ -30004,16 +30784,19 @@
1297727488,1297743871,MD
1297743872,1297760255,DE
1297760256,1297774591,LT
-1297774592,1297774847,FR
-1297774848,1297775103,LT
-1297775104,1297775615,FR
-1297775616,1297776639,LT
-1297776640,1297783295,DE
-1297783296,1297784319,RU
-1297784320,1297787135,DE
-1297787136,1297787391,RO
-1297787392,1297793023,DE
-1297793024,1297809407,UA
+1297774592,1297774655,FR
+1297774656,1297776639,LT
+1297776640,1297783551,DE
+1297783552,1297784575,RU
+1297784576,1297785087,DE
+1297785088,1297790463,RU
+1297790464,1297790975,DE
+1297790976,1297792511,RU
+1297792512,1297792767,DE
+1297792768,1297793023,RU
+1297793024,1297797119,UA
+1297797120,1297807359,SA
+1297807360,1297809407,UA
1297809408,1297825791,PL
1297825792,1297838079,RU
1297838080,1297838335,LU
@@ -30038,7 +30821,7 @@
1297932288,1297940479,GE
1297940480,1297948671,LV
1297948672,1297956863,UA
-1297956864,1297965055,NL
+1297957760,1297965055,NL
1297965056,1297973247,RU
1297973248,1297981439,GB
1297981440,1297989631,RO
@@ -30059,7 +30842,7 @@
1298067456,1298071551,NL
1298071552,1298073599,TJ
1298073600,1298075647,RU
-1298075648,1298076671,CY
+1298075648,1298076671,FI
1298076672,1298077695,RU
1298078208,1298079743,NL
1298079744,1298081791,GB
@@ -30098,7 +30881,11 @@
1298677760,1298694143,IR
1298694144,1298705012,US
1298705013,1298705013,SG
-1298705014,1298708879,US
+1298705014,1298708479,US
+1298708480,1298708661,IT
+1298708662,1298708662,NL
+1298708663,1298708735,IT
+1298708736,1298708879,US
1298708880,1298708880,SG
1298708881,1298710527,US
1298710528,1298726911,CZ
@@ -30118,20 +30905,18 @@
1298956288,1298972671,GB
1298972672,1298989055,RU
1298989056,1299005439,UA
-1299005440,1299008767,NL
+1299005440,1299005951,BE
+1299005952,1299008767,NL
1299008768,1299009023,BE
1299009024,1299009535,NL
-1299009536,1299011071,BE
-1299011072,1299011583,NL
-1299011584,1299015679,BE
+1299009536,1299015679,BE
1299015680,1299017727,NL
-1299017728,1299018239,BE
-1299018240,1299018495,NL
+1299017728,1299017983,BE
+1299017984,1299018495,NL
1299018496,1299019775,BE
1299019776,1299020031,NL
1299020032,1299021055,BE
-1299021056,1299021311,NL
-1299021312,1299021823,BE
+1299021056,1299021823,NL
1299021824,1299025148,CH
1299025149,1299025149,DE
1299025150,1299026111,CH
@@ -30156,7 +30941,9 @@
1299109530,1299109530,NO
1299109531,1299109569,SJ
1299109570,1299109570,NO
-1299109571,1299109613,SJ
+1299109571,1299109609,SJ
+1299109610,1299109610,NO
+1299109611,1299109613,SJ
1299109614,1299109614,NO
1299109615,1299109629,SJ
1299109630,1299109630,NO
@@ -30164,7 +30951,8 @@
1299109632,1299120127,NO
1299120128,1299136511,SI
1299136512,1299169279,HU
-1299169280,1299173375,US
+1299169280,1299170815,GB
+1299170816,1299173375,US
1299173376,1299174399,FR
1299174400,1299178495,GB
1299178496,1299180543,CH
@@ -30200,9 +30988,7 @@
1306198016,1306206207,LV
1306206208,1306214399,HR
1306214400,1306222591,SE
-1306222592,1306238975,HR
-1306238976,1306247167,LT
-1306247168,1306263551,HR
+1306222592,1306263551,HR
1306263552,1306271743,KE
1306271744,1306279935,RU
1306279936,1306288127,IT
@@ -30244,7 +31030,8 @@
1307092992,1307095039,GB
1307095040,1307097087,SA
1307097088,1307099135,RU
-1307099136,1307107327,RO
+1307099136,1307103231,US
+1307103232,1307107327,RO
1307107328,1307115519,DE
1307115520,1307123711,RU
1307123712,1307131903,NL
@@ -30262,7 +31049,7 @@
1307192576,1307192755,DE
1307192756,1307192756,AF
1307192757,1307192831,DE
-1307192832,1307193087,US
+1307192832,1307193343,US
1307193344,1307195391,NO
1307195392,1307197439,CH
1307197440,1307205631,HU
@@ -30301,7 +31088,7 @@
1307435648,1307435775,LT
1307435776,1307436543,DE
1307436544,1307436799,AU
-1307436800,1307437055,US
+1307436800,1307437055,RU
1307437056,1307441151,ES
1307441152,1307442175,GB
1307442176,1307443199,DE
@@ -30348,11 +31135,7 @@
1307658240,1307659263,TR
1307659264,1307660287,GB
1307660288,1307664383,BE
-1307664384,1307665407,NO
-1307665408,1307665441,GB
-1307665442,1307665443,NO
-1307665444,1307665663,GB
-1307665664,1307668479,NO
+1307664384,1307668479,NO
1307668480,1307672575,ES
1307672576,1307676671,DK
1307676672,1307680767,RU
@@ -30372,14 +31155,16 @@
1307734016,1307738111,NL
1307738112,1307742207,IT
1307742208,1307746303,HU
-1307746304,1307750399,UA
+1307746304,1307747327,CH
+1307747328,1307747583,UA
+1307747584,1307750399,CH
1307750400,1307754495,IT
1307754496,1307758591,GB
-1307758592,1307759103,SM
-1307759104,1307759999,IT
-1307760000,1307760127,SM
-1307760128,1307760639,IT
-1307760640,1307762687,SM
+1307758592,1307758847,SM
+1307758848,1307761931,IT
+1307761932,1307761932,SM
+1307761933,1307762175,IT
+1307762176,1307762687,SM
1307762688,1307766783,PL
1307766784,1307770879,GB
1307770880,1307774975,RU
@@ -30389,12 +31174,12 @@
1307791360,1307792383,RU
1307792384,1307793407,DE
1307793408,1307794431,RU
-1307794432,1307795455,AT
+1307794432,1307795455,US
1307795456,1307803647,RU
1307803648,1307807743,DK
1307807744,1307811839,SE
1307811840,1307815935,NL
-1307816192,1307816703,GB
+1307816192,1307816959,GB
1307816960,1307817215,NL
1307817216,1307817219,DE
1307817220,1307817223,CZ
@@ -30457,10 +31242,7 @@
1307926528,1307930623,KZ
1307930624,1307934719,RU
1307934720,1307938815,FR
-1307938816,1307941242,CY
-1307941243,1307941243,TR
-1307941244,1307942399,CY
-1307942400,1307942911,TR
+1307938816,1307942911,TR
1307942912,1307947007,RU
1307947008,1307951103,CH
1307951104,1307959295,RU
@@ -30486,10 +31268,16 @@
1308020736,1308024831,BG
1308024832,1308030975,RU
1308030976,1308033023,UA
-1308033024,1308033685,DE
+1308033024,1308033535,DE
+1308033536,1308033679,NL
+1308033680,1308033685,DE
1308033686,1308033686,GB
-1308033687,1308035071,DE
-1308035072,1308036095,GB
+1308033687,1308033695,DE
+1308033696,1308033791,NL
+1308033792,1308035427,DE
+1308035428,1308035428,GB
+1308035429,1308035839,DE
+1308035840,1308036095,GB
1308036096,1308037119,DE
1308037120,1308041215,UA
1308041216,1308049407,RU
@@ -30516,15 +31304,12 @@
1308090368,1308092415,SK
1308092416,1308096511,RU
1308096512,1308096767,AL
-1308096768,1308097279,RS
-1308097280,1308097535,XK
+1308096768,1308097535,RS
1308097536,1308098303,AL
-1308098304,1308098559,RS
+1308098304,1308098559,XK
1308098560,1308360703,NL
1308360704,1308622847,PL
-1308622848,1308781951,HR
-1308781952,1308782079,AT
-1308782080,1308884991,HR
+1308622848,1308884991,HR
1308884992,1309147135,IT
1309147136,1309409279,PL
1309409280,1309671423,IT
@@ -30585,9 +31370,7 @@
1310572544,1310588927,BE
1310588928,1310605311,ES
1310605312,1310621695,PL
-1310621696,1310631935,RS
-1310631936,1310633983,XK
-1310633984,1310638079,RS
+1310621696,1310638079,RS
1310638080,1310654463,UA
1310654464,1310656511,RU
1310656512,1310657535,GB
@@ -30655,8 +31438,7 @@
1311254528,1311256575,SE
1311256576,1311258623,FR
1311258624,1311260671,GB
-1311260672,1311261183,NO
-1311261184,1311262719,NL
+1311260672,1311262719,NL
1311262720,1311262735,CH
1311262736,1311262767,FR
1311262768,1311264767,CH
@@ -30720,14 +31502,13 @@
1311593433,1311637503,CZ
1311637504,1312292863,DE
1312292864,1312817151,LT
-1312817152,1312817435,DK
-1312817436,1312817439,SE
-1312817440,1312819199,DK
-1312819200,1313199103,SE
-1313199104,1313199231,DK
-1313199232,1313325567,SE
-1313325568,1313325695,PL
-1313325696,1313865727,SE
+1312817152,1312928767,SE
+1312928768,1312929791,DK
+1312929792,1313199103,SE
+1313199104,1313199167,DK
+1313199168,1313259455,SE
+1313259456,1313259519,DK
+1313259520,1313865727,SE
1313865728,1313931263,CZ
1313931264,1313996799,RU
1313996800,1314062335,SE
@@ -30846,9 +31627,7 @@
1317471232,1317472255,CY
1317472256,1317474303,TR
1317474304,1317478399,CY
-1317478400,1317481471,TR
-1317481472,1317482495,GB
-1317482496,1317502975,TR
+1317478400,1317502975,TR
1317502976,1317535743,IE
1317535744,1317552127,GB
1317552128,1317568511,ES
@@ -30869,11 +31648,9 @@
1317629952,1317634047,GB
1317634048,1317634303,IE
1317634304,1317636095,GB
-1317636096,1317638143,IE
-1317638144,1317641471,GB
-1317641472,1317641727,IE
-1317641728,1317642239,GB
-1317642240,1317642495,IE
+1317636096,1317637119,IE
+1317637120,1317640191,GB
+1317640192,1317642495,IE
1317642496,1317643316,GB
1317643317,1317643317,IE
1317643318,1317647015,GB
@@ -30897,11 +31674,12 @@
1317748736,1317765119,RU
1317765120,1317781503,GE
1317781504,1317814271,RU
-1317814272,1317816335,GB
+1317814272,1317816319,NL
+1317816320,1317816335,DE
1317816336,1317816351,JP
-1317816352,1317818367,GB
-1317818368,1317822463,RU
-1317822464,1317830655,DE
+1317816352,1317818367,DE
+1317818368,1317820415,RU
+1317820416,1317830655,DE
1317830656,1317847039,NL
1317847040,1317863423,RU
1317863424,1317879807,GB
@@ -30913,12 +31691,28 @@
1317931008,1317931263,US
1317931264,1317945343,BG
1317945344,1317978111,AT
+1317978112,1317979135,GB
+1317979136,1317980159,IT
+1317980160,1317981183,ES
+1317981184,1317982207,HU
+1317982208,1317983231,TR
+1317983232,1317984255,ES
+1317984256,1317985279,NL
+1317985280,1317986303,RU
+1317986304,1317987327,PL
+1317987328,1317988351,NL
+1317988352,1317990399,RU
+1317990400,1317993471,CZ
+1317993472,1317994495,MD
1317994496,1318010879,DE
1318010880,1318027263,DK
1318027264,1318043647,IE
1318043648,1318051839,GB
1318051840,1318055935,PS
-1318055936,1318058879,GB
+1318055936,1318056191,US
+1318056192,1318057727,GB
+1318057728,1318057983,US
+1318057984,1318058879,GB
1318058880,1318058887,AE
1318058888,1318584319,GB
1318584320,1318592511,PL
@@ -30955,8 +31749,7 @@
1318748160,1318756351,LV
1318756352,1318764543,UA
1318764544,1318780927,KW
-1318780928,1318788607,CH
-1318788608,1318789119,BE
+1318780928,1318789119,CH
1318789120,1318797311,ME
1318797312,1318805503,SY
1318805504,1318813695,PL
@@ -30981,8 +31774,8 @@
1318936448,1318936575,LT
1318936576,1318944767,DK
1318944768,1318958079,CZ
-1318958080,1318959103,PL
-1318959104,1318961151,CZ
+1318958080,1318960127,PL
+1318960128,1318961151,CZ
1318961152,1318969343,GB
1318969344,1318977535,RU
1318977536,1318985727,LT
@@ -31045,7 +31838,8 @@
1331859456,1331861503,PL
1331861504,1331863551,CZ
1331863552,1331865599,GB
-1331865600,1331869695,NL
+1331865600,1331868671,NL
+1331868672,1331869695,IS
1331869696,1331870719,RU
1331870720,1331871743,CH
1331871744,1331873791,DK
@@ -31087,9 +31881,9 @@
1331949568,1331951615,RU
1331951616,1331953663,GE
1331953664,1332019199,BG
-1332019200,1332075903,RS
-1332075904,1332076031,XK
-1332076032,1332084735,RS
+1332019200,1332054271,RS
+1332054272,1332054527,XK
+1332054528,1332084735,RS
1332084736,1332150271,SE
1332150272,1332215807,GR
1332215808,1332346879,RU
@@ -31125,11 +31919,11 @@
1332637696,1332641791,BG
1332641792,1332645887,UA
1332645888,1332649983,RS
-1332649984,1332652287,GB
-1332652288,1332653055,SE
+1332649984,1332652031,GB
+1332652032,1332653055,SE
1332653056,1332654079,NL
-1332654080,1332657151,RU
-1332657152,1332658175,UA
+1332654080,1332657151,US
+1332657152,1332658175,RU
1332658176,1332662271,PL
1332662272,1332670463,UA
1332670464,1332740095,RU
@@ -31165,9 +31959,7 @@
1334091776,1334099967,LT
1334099968,1334108159,IR
1334108160,1334116351,BE
-1334116352,1334117119,AX
-1334117120,1334117375,FI
-1334117376,1334124543,AX
+1334116352,1334124543,AX
1334124544,1334125055,AT
1334125056,1334127359,DE
1334127360,1334127615,AT
@@ -31218,13 +32010,17 @@
1334380320,1334380335,GB
1334380336,1334380447,FR
1334380448,1334380463,LT
-1334380464,1334381823,FR
+1334380464,1334380543,FR
+1334380544,1334380799,BE
+1334380800,1334381823,FR
1334381824,1334381839,IT
1334381840,1334381887,FR
1334381888,1334381919,IT
1334381920,1334381983,FR
1334381984,1334382015,FI
-1334382016,1334382975,FR
+1334382016,1334382047,FR
+1334382048,1334382063,PL
+1334382064,1334382975,FR
1334382976,1334383103,GB
1334383104,1334383615,FR
1334383616,1334383679,DE
@@ -31309,7 +32105,8 @@
1334404992,1334405119,GB
1334405120,1334405311,FR
1334405312,1334405327,GB
-1334405328,1334405759,FR
+1334405328,1334405755,FR
+1334405756,1334405759,GB
1334405760,1334405791,FI
1334405792,1334405919,FR
1334405920,1334405951,PL
@@ -31326,7 +32123,7 @@
1334408192,1334408255,ES
1334408256,1334408279,FR
1334408280,1334408287,ES
-1334408288,1334408319,FR
+1334408288,1334408319,CZ
1334408320,1334408351,FI
1334408352,1334408367,LT
1334408368,1334408383,FR
@@ -31341,9 +32138,7 @@
1334410736,1334410751,GB
1334410752,1334411263,FR
1334411264,1334444031,RU
-1334444032,1334489087,SE
-1334489088,1334491135,DK
-1334491136,1334509567,SE
+1334444032,1334509567,SE
1334509568,1334542335,PL
1334542336,1334575103,RU
1334575104,1334579199,UA
@@ -31357,11 +32152,7 @@
1334611968,1334616063,ME
1334616064,1334620159,MD
1334620160,1334624255,DE
-1334624256,1334624767,GB
-1334624768,1334624995,US
-1334624996,1334624999,GB
-1334625000,1334625007,US
-1334625008,1334628351,GB
+1334624256,1334628351,GB
1334628352,1334632447,IE
1334632448,1334636543,KZ
1334636544,1334640639,RU
@@ -31430,9 +32221,9 @@
1334767616,1334771711,SE
1334771712,1334779903,RU
1334779904,1334783999,UA
-1334784000,1334784255,GB
+1334784000,1334784255,DE
1334784256,1334784511,RO
-1334784512,1334784767,GB
+1334784512,1334784767,DE
1334784768,1334785023,TR
1334785024,1334788095,GB
1334788096,1334792191,RU
@@ -31452,7 +32243,9 @@
1334824960,1334829055,NL
1334829056,1334833151,RU
1334833152,1334837247,FR
-1334837248,1335885823,ES
+1334837248,1335161343,ES
+1335161344,1335161344,US
+1335161345,1335885823,ES
1335885824,1336016895,NO
1336016896,1336049663,PL
1336049664,1336066047,ES
@@ -31467,7 +32260,8 @@
1336549376,1336551423,IM
1336551424,1336553471,GB
1336553472,1336555519,SA
-1336555520,1336557567,BE
+1336555520,1336556543,BE
+1336556544,1336557567,FR
1336557568,1336559615,ES
1336559616,1336561663,GB
1336561664,1336563711,NO
@@ -31564,20 +32358,27 @@
1337982976,1342177279,DE
1342177280,1342701567,GB
1342701568,1342750719,RE
-1342750720,1342750975,FR
-1342750976,1342755583,YT
-1342755584,1342755839,FR
-1342755840,1342756607,YT
+1342750720,1342751231,YT
+1342751232,1342751487,RE
+1342751488,1342752255,YT
+1342752256,1342752511,FR
+1342752512,1342752767,YT
+1342752768,1342753023,FR
+1342753024,1342753279,YT
+1342753280,1342753535,FR
+1342753536,1342756607,YT
1342756608,1342756863,FR
-1342756864,1342757631,YT
-1342757632,1342757887,FR
-1342757888,1342761727,YT
-1342761728,1342761983,FR
-1342761984,1342762239,YT
-1342762240,1342762751,FR
-1342762752,1342764543,YT
-1342764544,1342765311,FR
-1342765312,1342767103,YT
+1342756864,1342759423,YT
+1342759424,1342759679,FR
+1342759680,1342759935,YT
+1342759936,1342760191,FR
+1342760192,1342761471,YT
+1342761472,1342761727,FR
+1342761728,1342762495,YT
+1342762496,1342762751,FR
+1342762752,1342766591,YT
+1342766592,1342766847,FR
+1342766848,1342767103,YT
1342767104,1342834687,FR
1342834688,1342842879,JO
1342842880,1342844927,FR
@@ -31590,25 +32391,25 @@
1342875648,1342877695,JO
1342877696,1342959049,FR
1342959050,1342959050,RE
-1342959051,1342982143,FR
-1342982144,1342982399,MG
-1342982400,1342988287,FR
+1342959051,1342988287,FR
1342988288,1342989055,US
1342989056,1342996479,FR
-1342996480,1343001855,GF
+1342996480,1342997503,GF
+1342997504,1342997759,FR
+1342997760,1343001855,GF
1343001856,1343002111,FR
-1343002112,1343009791,GF
-1343009792,1343010047,FR
-1343010048,1343012863,GF
+1343002112,1343005183,GF
+1343005184,1343005439,FR
+1343005440,1343006975,GF
+1343006976,1343007231,FR
+1343007232,1343011839,GF
+1343011840,1343012095,FR
+1343012096,1343012863,GF
1343012864,1343017983,FR
-1343017984,1343018495,RE
-1343018496,1343025151,FR
-1343025152,1343025663,RE
-1343025664,1343027711,FR
+1343017984,1343019007,RE
+1343019008,1343027711,FR
1343027712,1343027967,RE
-1343027968,1343028479,FR
-1343028480,1343028735,RE
-1343028736,1343218687,FR
+1343027968,1343218687,FR
1343218688,1343219711,DE
1343219712,1343220607,FR
1343220608,1343220639,DE
@@ -31649,8 +32450,7 @@
1346398711,1346398719,DE
1346398720,1346400255,RU
1346400256,1346404351,IT
-1346404352,1346407423,AT
-1346407424,1346408447,DE
+1346404352,1346408447,AT
1346408448,1346412543,LU
1346412544,1346416639,RU
1346416640,1346420735,DE
@@ -31742,7 +32542,8 @@
1346740224,1346744319,FI
1346744320,1346748415,RU
1346748416,1346752511,DE
-1346752512,1346756607,RE
+1346752512,1346754559,RE
+1346754560,1346756607,FR
1346756608,1346760703,SE
1346760704,1346764799,IR
1346764800,1346768895,DK
@@ -31799,7 +32600,9 @@
1347002368,1347006463,RU
1347006464,1347010559,SE
1347010560,1347014655,RU
-1347014656,1347018751,GG
+1347014656,1347016703,GG
+1347016704,1347017471,FK
+1347017472,1347018751,GG
1347018752,1347022847,IT
1347022848,1347024895,AT
1347024896,1347035135,GB
@@ -31842,11 +32645,11 @@
1347159936,1347160063,AT
1347160064,1347162111,CH
1347162112,1347166207,IT
-1347166208,1347168255,DE
-1347168256,1347169279,RU
-1347169280,1347170303,NL
+1347166208,1347167231,DE
+1347167232,1347168255,CN
+1347168256,1347170303,RU
1347170304,1347171327,BG
-1347171328,1347172351,SE
+1347171328,1347172351,ID
1347172352,1347173375,NL
1347173376,1347174399,RU
1347174400,1347182591,IT
@@ -31854,13 +32657,17 @@
1347186688,1347190783,GB
1347190784,1347194879,RU
1347194880,1347198975,SE
-1347198976,1347200841,QA
-1347200842,1347200842,GB
-1347200843,1347203071,QA
+1347198976,1347200564,QA
+1347200565,1347200565,SA
+1347200566,1347200767,QA
+1347200768,1347201023,GB
+1347201024,1347203071,QA
1347203072,1347207167,RU
1347207168,1347215359,GB
1347215360,1347223551,RU
-1347223552,1347227647,GB
+1347223552,1347225599,GB
+1347225600,1347226623,PK
+1347226624,1347227647,GB
1347227648,1347231743,DE
1347231744,1347235839,UA
1347235840,1347239935,GE
@@ -32091,11 +32898,7 @@
1347362816,1347366911,NL
1347366912,1347371007,IT
1347371008,1347375103,RU
-1347375104,1347376639,GB
-1347376640,1347376767,FR
-1347376768,1347376775,GB
-1347376776,1347376895,FR
-1347376896,1347379199,GB
+1347375104,1347379199,GB
1347379200,1347383295,NL
1347383296,1347387391,EE
1347387392,1347391487,GB
@@ -32234,7 +33037,8 @@
1347838720,1347846143,RO
1347846144,1347850239,NO
1347850240,1347854335,IT
-1347854336,1347858431,DE
+1347854336,1347856383,DE
+1347857408,1347858431,DE
1347858752,1347858815,DE
1347860992,1347861247,DE
1347862090,1347862090,DE
@@ -32294,16 +33098,16 @@
1348055040,1348059135,LB
1348059136,1348063231,RU
1348063232,1348067327,CH
-1348067328,1348071423,NL
+1348067328,1348070399,NL
+1348070400,1348070911,DE
+1348070912,1348071423,NL
1348071424,1348075519,DE
1348075520,1348076287,LV
1348076288,1348076543,RU
1348076544,1348082687,LV
1348082688,1348082943,RU
1348082944,1348083711,LV
-1348083712,1348085759,LU
-1348085760,1348085887,FR
-1348085888,1348091903,LU
+1348083712,1348091903,LU
1348091904,1348095999,RU
1348096000,1348100095,AL
1348100096,1348104191,DE
@@ -32389,7 +33193,9 @@
1348456448,1348460543,BH
1348460544,1348464639,SI
1348464640,1348468735,CZ
-1348468736,1348599807,RO
+1348468736,1348548607,RO
+1348548608,1348549631,MD
+1348549632,1348599807,RO
1348599808,1348730879,HU
1348730880,1348861951,NL
1348861952,1348993023,ES
@@ -32402,13 +33208,19 @@
1349771264,1349779455,NL
1349779456,1349910527,IT
1349910528,1350041599,FR
-1350041600,1350215679,AT
+1350041600,1350064383,AT
+1350064384,1350064639,DE
+1350064640,1350159359,AT
+1350159360,1350159871,HU
+1350159872,1350215679,AT
1350215680,1350215935,IQ
1350215936,1350216959,AT
1350216960,1350217215,IQ
1350217216,1350217471,AT
1350217472,1350217727,IQ
-1350217728,1350303743,AT
+1350217728,1350289407,AT
+1350289408,1350289919,CH
+1350289920,1350303743,AT
1350303744,1350434815,FR
1350434816,1350565887,NL
1350565888,1350763083,DE
@@ -32426,14 +33238,13 @@
1353187328,1353262295,GB
1353262296,1353262303,US
1353262304,1353267199,GB
-1353267200,1353267711,IE
-1353267712,1353267751,GB
-1353267752,1353267759,IE
-1353267760,1353268223,GB
+1353267200,1353268223,IE
1353268224,1353269247,BE
-1353269248,1353271317,GB
-1353271318,1353271318,AT
-1353271319,1353271683,GB
+1353269248,1353270615,GB
+1353270616,1353270623,IT
+1353270624,1353271295,GB
+1353271296,1353271551,AT
+1353271552,1353271683,GB
1353271684,1353271684,AT
1353271685,1353271711,GB
1353271712,1353271719,AT
@@ -32455,27 +33266,19 @@
1353275256,1353277439,GB
1353277440,1353279487,CH
1353279488,1353281535,IT
-1353281536,1353287679,GB
-1353287680,1353287935,IE
-1353287936,1353287945,GB
-1353287946,1353287946,IE
-1353287947,1353288191,GB
-1353288192,1353288703,IE
-1353288704,1353300063,GB
+1353281536,1353282047,GB
+1353282048,1353282559,IT
+1353282560,1353287679,GB
+1353287680,1353289727,IE
+1353289728,1353300063,GB
1353300064,1353300071,SE
-1353300072,1353306111,GB
-1353306112,1353308159,BE
+1353300072,1353308159,GB
1353308160,1353309183,FR
-1353309184,1353312447,GB
-1353312448,1353312479,CH
-1353312480,1353312511,GB
-1353312512,1353312767,CH
-1353312768,1353313023,IT
-1353313024,1353313167,GB
+1353309184,1353312383,GB
+1353312384,1353312767,CH
+1353312768,1353313167,GB
1353313168,1353313183,IT
-1353313184,1353313279,GB
-1353313280,1353313791,IE
-1353313792,1353315327,GB
+1353313184,1353315327,GB
1353315328,1353316351,ES
1353316352,1353318399,GB
1353318400,1353383935,SE
@@ -32495,9 +33298,7 @@
1354658496,1354658511,AT
1354658512,1354662159,DE
1354662160,1354662167,AT
-1354662168,1354665215,DE
-1354665216,1354665223,AT
-1354665224,1354694655,DE
+1354662168,1354694655,DE
1354694656,1354760191,IR
1354760192,1355022335,GB
1355022336,1355083555,DK
@@ -32582,7 +33383,7 @@
1357323808,1357323839,NO
1357323840,1357324287,GB
1357324288,1357324295,RU
-1357324296,1357326335,PL
+1357324296,1357324333,PL
1357326336,1357326337,ES
1357326338,1357326339,SL
1357326340,1357326367,GB
@@ -32622,10 +33423,9 @@
1357350400,1357350647,GB
1357350656,1357350847,GB
1357351168,1357351423,PL
-1357359872,1357360063,BE
-1357360064,1357360127,GB
+1357359104,1357360345,GB
1357360346,1357360346,LU
-1357361152,1357363199,GB
+1357360347,1357363199,GB
1357363200,1357363455,DE
1357364224,1357365247,ES
1357366880,1357366911,GB
@@ -32677,6 +33477,7 @@
1357878528,1357878591,AT
1357878592,1357878655,PL
1357879296,1357879423,DE
+1357882832,1357882832,GB
1357883392,1357883647,FR
1357883744,1357883759,AT
1357884416,1357884419,MY
@@ -32737,15 +33538,11 @@
1357984368,1357984375,IT
1357984376,1357984527,GB
1357984528,1357984535,IT
-1357984536,1357984839,GB
-1357984840,1357984847,IT
-1357984848,1357985575,GB
+1357984536,1357985575,GB
1357985576,1357985583,IT
1357985584,1357985791,GB
1357985792,1357987839,DE
-1357987840,1357991615,GB
-1357991616,1357991647,IE
-1357991648,1357991935,GB
+1357987840,1357991935,GB
1357991936,1357996031,NO
1357996032,1358000127,CH
1358000128,1358004223,LI
@@ -32787,7 +33584,9 @@
1358161920,1358162943,RS
1358162944,1358163967,CZ
1358163968,1358166015,MQ
-1358166016,1358168063,GP
+1358166016,1358166527,GP
+1358166528,1358166655,FR
+1358166656,1358168063,GP
1358168064,1358172159,GB
1358172160,1358176255,CY
1358176256,1358180351,RU
@@ -32810,12 +33609,10 @@
1358254080,1358258175,MD
1358258176,1358259199,HU
1358259200,1358260223,DK
-1358260224,1358261247,FR
-1358261248,1358262271,DE
-1358262272,1358263295,RU
-1358263296,1358263807,UA
-1358263808,1358264319,RU
-1358264320,1358266367,UA
+1358260224,1358261247,HK
+1358261248,1358262271,US
+1358262272,1358264319,UA
+1358264320,1358266367,RU
1358266368,1358274559,DE
1358274560,1358278655,GR
1358278656,1358282751,PL
@@ -32890,9 +33687,7 @@
1358548992,1358551039,NL
1358551040,1358553087,GB
1358553088,1358557183,UA
-1358557184,1358560255,IE
-1358560256,1358560767,GB
-1358560768,1358561279,IE
+1358557184,1358561279,IE
1358561280,1358569471,CZ
1358569472,1358573567,MA
1358573568,1358577663,LV
@@ -32914,19 +33709,15 @@
1358655488,1358667775,RU
1358667776,1358668447,GB
1358668448,1358668455,PT
-1358668456,1358668799,GB
-1358668800,1358669823,PT
-1358669824,1358670975,GB
-1358670976,1358670991,PT
-1358670992,1358671001,GB
-1358671002,1358671002,PT
-1358671003,1358671359,GB
+1358668456,1358670975,GB
+1358670976,1358671103,PT
+1358671104,1358671359,GB
1358671360,1358671871,PT
1358671872,1358671935,GB
1358671936,1358671943,PT
1358671944,1358672383,GB
-1358672384,1358672639,ES
-1358672640,1358673423,GB
+1358672384,1358672895,ES
+1358672896,1358673423,GB
1358673424,1358673431,DE
1358673432,1358673919,GB
1358673920,1358675967,ES
@@ -32984,16 +33775,13 @@
1358861474,1358861474,DE
1358861475,1358861567,GB
1358861568,1358861823,DE
-1358861824,1358861887,FR
-1358861888,1358861895,GB
-1358861896,1358862079,FR
-1358862080,1358862335,GB
+1358861824,1358862335,FR
1358862336,1358862847,US
1358862848,1358862911,DK
1358862912,1358862914,GB
1358862915,1358862915,DK
1358862916,1358862975,GB
-1358862976,1358863103,NO
+1358862976,1358863103,SE
1358863104,1358863359,CH
1358863360,1358863871,US
1358863872,1358864383,GB
@@ -33045,9 +33833,7 @@
1359119232,1359119359,ES
1359119360,1359120383,IT
1359120384,1359121407,DE
-1359121408,1359122431,ES
-1359122432,1359123711,DE
-1359123712,1359124479,ES
+1359121408,1359124479,ES
1359124480,1359132671,GB
1359132672,1359133183,ES
1359133184,1359133191,DE
@@ -33065,7 +33851,9 @@
1359167488,1359183871,GB
1359183872,1359200255,RU
1359200256,1359216639,AT
-1359216640,1359233023,ZA
+1359216640,1359220223,ZA
+1359220224,1359220479,NO
+1359220480,1359233023,ZA
1359233024,1359249407,NL
1359249408,1359265791,CY
1359265792,1359282175,RU
@@ -33160,9 +33948,7 @@
1360207872,1360211967,CZ
1360211968,1360216063,GB
1360216064,1360224255,RU
-1360224256,1360224767,ES
-1360224768,1360224895,FR
-1360224896,1360227841,ES
+1360224256,1360227841,ES
1360227842,1360227842,SE
1360227843,1360228351,ES
1360228352,1360232447,FI
@@ -33172,7 +33958,8 @@
1360244736,1360250623,GB
1360250624,1360251391,NL
1360251392,1360252927,DE
-1360252928,1360257023,GB
+1360252928,1360253439,NL
+1360253440,1360257023,GB
1360257024,1360265215,DK
1360265216,1360265503,NL
1360265504,1360265511,DE
@@ -33240,9 +34027,11 @@
1360396288,1360400383,RU
1360400384,1360404479,BH
1360404480,1360405503,BA
-1360405504,1360406527,DE
+1360405504,1360406527,US
1360406528,1360407551,ES
-1360407552,1360408319,RU
+1360407552,1360407807,RU
+1360407808,1360408063,DE
+1360408064,1360408319,RU
1360408320,1360408575,GB
1360408576,1360412671,RU
1360420864,1360424959,TR
@@ -33289,7 +34078,9 @@
1360592896,1360596991,RU
1360596992,1360601087,CZ
1360601088,1360605183,BY
-1360605184,1360611071,RU
+1360605184,1360610559,RU
+1360610560,1360610815,EE
+1360610816,1360611071,RU
1360611072,1360611327,SE
1360611328,1360612351,IT
1360612352,1360613375,RU
@@ -33299,9 +34090,7 @@
1360625664,1360629759,DE
1360629760,1360633855,SE
1360633856,1360637951,RU
-1360637952,1360638463,FO
-1360638464,1360638975,DK
-1360638976,1360642047,FO
+1360637952,1360642047,FO
1360642048,1360644735,FR
1360644736,1360644863,IT
1360644864,1360645887,FR
@@ -33447,7 +34236,8 @@
1362414848,1362414975,GB
1362414976,1362415359,FR
1362415360,1362415487,DE
-1362415488,1362417663,FR
+1362415488,1362415615,FR
+1362415616,1362417663,GP
1362417664,1362419711,SG
1362419712,1362423807,FR
1362423808,1362425855,SG
@@ -33461,7 +34251,9 @@
1363410944,1363673087,CN
1363673088,1363935231,IT
1363935232,1364197375,GB
-1364197376,1364262911,FR
+1364197376,1364227583,FR
+1364227584,1364227839,GP
+1364227840,1364262911,FR
1364262912,1364328447,IT
1364328448,1364459519,BE
1364459520,1364525055,PT
@@ -33579,9 +34371,7 @@
1365025152,1365025215,AT
1365025216,1365028863,DE
1365028864,1365032959,NL
-1365032960,1365033247,US
-1365033248,1365033279,GB
-1365033280,1365033471,US
+1365032960,1365033471,GB
1365033472,1365033599,PT
1365033600,1365033983,GB
1365033984,1365035007,SE
@@ -33784,8 +34574,10 @@
1370488832,1370619903,RU
1370619904,1370750975,GB
1370750976,1370767359,RO
-1370767360,1370775551,MD
-1370775552,1370882047,RO
+1370767360,1370771455,MD
+1370771456,1370772479,RO
+1370772480,1370772991,MD
+1370772992,1370882047,RO
1370882048,1371013119,HU
1371013120,1371078655,ES
1371078656,1371144191,FR
@@ -33878,7 +34670,9 @@
1372691594,1372691594,IE
1372693504,1372694015,DE
1372694464,1372694495,DE
-1372696576,1372700671,DE
+1372697344,1372697599,DE
+1372698880,1372699647,DE
+1372699904,1372700159,DE
1372702720,1372703231,DE
1372703616,1372703743,DE
1372708864,1372713983,DE
@@ -33888,7 +34682,9 @@
1372782592,1372815359,RU
1372815360,1372848127,KZ
1372848128,1373110271,TR
-1373110272,1373175807,SE
+1373110272,1373124607,SE
+1373124608,1373125119,DK
+1373125120,1373175807,SE
1373175808,1373241343,AT
1373241344,1373306879,IL
1373306880,1373372415,PL
@@ -33896,41 +34692,29 @@
1373437952,1373503487,CH
1373503488,1373569023,RU
1373569024,1373634559,AT
-1373634560,1373680511,SE
-1373680512,1373680639,DK
-1373680640,1374683135,SE
+1373634560,1373690367,SE
+1373690368,1373690495,DK
+1373690496,1374683135,SE
1374683136,1375207423,BE
1375207424,1375208447,MQ
1375208448,1375208703,GP
1375208704,1375210239,MQ
1375210240,1375210495,GP
-1375210496,1375211519,MQ
-1375211520,1375215615,GP
-1375215616,1375216639,GF
-1375216640,1375216895,FR
-1375216896,1375217407,GF
-1375217408,1375217919,FR
-1375217920,1375220735,GF
+1375210496,1375210751,MQ
+1375210752,1375211007,FR
+1375211008,1375211519,MQ
+1375211520,1375211775,BL
+1375211776,1375215615,GP
+1375215616,1375217407,GF
+1375217408,1375217663,FR
+1375217664,1375217919,GF
+1375217920,1375218175,FR
+1375218176,1375220735,GF
1375220736,1375221759,FR
1375221760,1375222015,GF
1375222016,1375222783,FR
-1375222784,1375223039,GF
-1375223040,1375223295,FR
-1375223296,1375223807,GF
-1375223808,1375224831,FR
-1375224832,1375225599,MQ
-1375225600,1375225855,FR
-1375225856,1375231999,MQ
-1375232000,1375233023,FR
-1375233024,1375233279,MQ
-1375233280,1375234047,FR
-1375234048,1375234303,MQ
-1375234304,1375234559,FR
-1375234560,1375234815,MQ
-1375234816,1375235071,FR
-1375235072,1375235327,MQ
-1375235328,1375236095,FR
-1375236096,1375240191,MQ
+1375222784,1375223807,GF
+1375223808,1375240191,MQ
1375240192,1375256575,GP
1375256576,1375272959,RE
1375272960,1375731711,FR
@@ -33963,7 +34747,10 @@
1382139648,1382140159,GB
1382140160,1382141951,RU
1382141952,1382146047,SY
-1382146048,1382154239,IR
+1382146048,1382147391,HK
+1382147392,1382147407,RU
+1382147408,1382152191,HK
+1382152192,1382154239,IR
1382154240,1382170623,FR
1382170624,1382181439,DE
1382181440,1382181447,DK
@@ -33981,7 +34768,11 @@
1382230208,1382230215,NO
1382230216,1382232775,SE
1382232776,1382232783,FI
-1382232784,1382252543,SE
+1382232784,1382233087,SE
+1382233088,1382233343,NO
+1382233344,1382233375,SE
+1382233376,1382233471,NO
+1382233472,1382252543,SE
1382252544,1382268927,CZ
1382268928,1382285311,IR
1382285312,1382301695,CZ
@@ -34042,16 +34833,12 @@
1383145472,1383153663,CZ
1383153664,1383161855,GB
1383161856,1383170047,DE
-1383170048,1383184319,GB
-1383184320,1383184335,SE
-1383184336,1383186431,GB
+1383170048,1383186431,GB
1383186432,1383194623,IT
1383194624,1383202815,GB
1383202816,1383211007,RU
1383211008,1383219199,CY
-1383219200,1383222423,AL
-1383222424,1383222431,RS
-1383222432,1383226207,AL
+1383219200,1383226207,AL
1383226208,1383226239,RS
1383226240,1383227391,AL
1383227392,1383243775,RU
@@ -34096,9 +34883,7 @@
1383374848,1383383039,ES
1383383040,1383391231,CY
1383391232,1383399423,FI
-1383399424,1383399935,LI
-1383399936,1383400191,CH
-1383400192,1383407615,LI
+1383399424,1383407615,LI
1383407616,1383415807,NO
1383415808,1383419903,RU
1383419904,1383423999,TR
@@ -34119,7 +34904,9 @@
1383497728,1383505919,RU
1383505920,1383514111,SA
1383514112,1383522303,FI
-1383522304,1383523839,BG
+1383522304,1383523327,BG
+1383523328,1383523583,MT
+1383523584,1383523839,BG
1383523840,1383524095,GB
1383524096,1383524607,BG
1383524608,1383524863,BR
@@ -34140,10 +34927,10 @@
1384185856,1384186879,ES
1384187136,1384187391,DE
1384188160,1384188415,ES
-1384192000,1384193023,ES
1384193024,1384194047,DE
1384196096,1384197119,ES
1384198144,1384202239,GB
+1384202496,1384202751,GB
1384203264,1384218623,GB
1384218624,1384251391,EG
1384251392,1384267775,FI
@@ -34223,9 +35010,7 @@
1385070592,1385086975,RU
1385086976,1385103359,GB
1385103360,1385119743,IT
-1385119744,1385129151,BE
-1385129152,1385129215,NL
-1385129216,1385136127,BE
+1385119744,1385136127,BE
1385136128,1385152511,PL
1385152512,1385168895,DK
1385168896,1385177087,ES
@@ -34244,9 +35029,12 @@
1385275392,1385283583,IT
1385283584,1385286143,DE
1385286144,1385287679,GB
+1385287680,1385287935,PH
1385289728,1385290751,GB
+1385291008,1385291071,NG
+1385291072,1385291135,ZA
+1385291136,1385291263,NG
1385291264,1385291519,ZA
-1385291520,1385291775,GB
1385291776,1385299967,TR
1385299968,1385303039,BG
1385303040,1385303295,HU
@@ -34285,15 +35073,25 @@
1385537536,1385545727,DE
1385545728,1385553919,RU
1385553920,1385562111,DE
+1385562112,1385566431,GB
1385566432,1385566447,FR
+1385566448,1385566999,GB
1385567000,1385567007,FR
+1385567008,1385567231,GB
1385567232,1385568255,IE
+1385568256,1385569023,GB
1385569024,1385569279,FR
+1385569280,1385570111,GB
1385570112,1385570119,FR
+1385570120,1385570143,GB
1385570144,1385570151,FR
+1385570152,1385570199,GB
1385570200,1385570207,FR
+1385570208,1385570223,GB
1385570224,1385570231,FR
+1385570232,1385570239,GB
1385570240,1385570247,FR
+1385570248,1385570303,GB
1385570304,1385578495,HU
1385578496,1385586687,TR
1385586688,1385587711,GB
@@ -34320,9 +35118,7 @@
1385668608,1385676799,NL
1385676800,1385684991,RU
1385684992,1385824255,GB
-1385824256,1385880575,PT
-1385880576,1385881087,GB
-1385881088,1385955327,PT
+1385824256,1385955327,PT
1385955328,1386086399,CN
1386086400,1386217471,ES
1386217472,1386283007,PL
@@ -34343,8 +35139,8 @@
1386434752,1386434767,BE
1386434768,1386434783,IE
1386434784,1386434799,PT
-1386434800,1386436607,GB
-1386436608,1386438399,ES
+1386434800,1386438143,GB
+1386438144,1386438399,ES
1386438400,1386438655,FR
1386438656,1386442751,PS
1386442752,1386444799,GB
@@ -34352,17 +35148,14 @@
1386445824,1386447871,GB
1386447872,1386448895,DK
1386448896,1386449151,IL
-1386449152,1386449343,NL
-1386449344,1386449347,GB
-1386449348,1386449359,NL
-1386449360,1386449363,GB
+1386449152,1386449363,GB
1386449364,1386449367,BE
1386449368,1386449371,AU
1386449372,1386449375,AT
-1386449376,1386449379,NL
+1386449376,1386449379,GB
1386449380,1386449383,CH
1386449384,1386449387,FR
-1386449388,1386449391,NL
+1386449388,1386449391,GB
1386449392,1386449395,ES
1386449396,1386449399,PT
1386449400,1386449403,RU
@@ -34374,7 +35167,15 @@
1386455040,1386456063,DK
1386456064,1386457087,GB
1386457088,1386459135,PS
-1386459136,1386471423,GB
+1386459136,1386465279,GB
+1386465280,1386465535,NL
+1386465536,1386465791,DE
+1386465792,1386466047,IE
+1386466048,1386466303,FR
+1386466304,1386466559,SE
+1386466560,1386466815,PL
+1386466816,1386467071,ES
+1386467072,1386471423,GB
1386471424,1386473471,PS
1386473472,1386477567,GB
1386477568,1386477823,US
@@ -34390,7 +35191,13 @@
1386676224,1386741759,SA
1386741760,1387249663,NL
1387249664,1387250687,BE
-1387250688,1387331583,NL
+1387250688,1387293439,NL
+1387293440,1387293695,BE
+1387293696,1387294591,NL
+1387294592,1387294719,BE
+1387294720,1387298559,NL
+1387298560,1387298815,DE
+1387298816,1387331583,NL
1387331584,1387397119,PL
1387397120,1387462655,OM
1387462656,1387528191,RU
@@ -34419,7 +35226,9 @@
1388445696,1388453887,AZ
1388453888,1388462079,BH
1388462080,1388470271,ES
-1388470272,1388473263,DE
+1388470272,1388473231,DE
+1388473232,1388473247,NL
+1388473248,1388473263,DE
1388473264,1388473279,NL
1388473280,1388478463,DE
1388478464,1388486655,AT
@@ -34471,10 +35280,7 @@
1388581120,1388583167,FR
1388583168,1388583423,DZ
1388583424,1388584959,FR
-1388587456,1388587471,GB
-1388587520,1388587775,GB
-1388588032,1388589823,GB
-1388590080,1388590591,FR
+1388587008,1388589823,GB
1388591104,1388591359,AU
1388593152,1388601343,RU
1388601344,1388609535,SE
@@ -34530,24 +35336,18 @@
1388716032,1388724223,ES
1388724224,1388732415,DE
1388732416,1388740607,ES
-1388740608,1388741887,GB
-1388741888,1388742143,IE
-1388742144,1388743047,GB
-1388743048,1388743055,IE
-1388743056,1388743679,GB
-1388743680,1388743919,IE
-1388743920,1388743935,GB
-1388743936,1388744191,IE
+1388740608,1388743423,GB
+1388743424,1388744191,IE
1388744192,1388744759,GB
1388744760,1388744767,IE
1388744768,1388744959,GB
-1388744960,1388745215,IE
-1388745216,1388746207,GB
+1388744960,1388745727,IE
+1388745728,1388746207,GB
1388746208,1388746223,IE
1388746224,1388746495,GB
1388746496,1388746559,IE
-1388746560,1388747775,GB
-1388747776,1388748799,IE
+1388746560,1388746751,GB
+1388746752,1388748799,IE
1388748800,1388756991,RU
1388756992,1388765183,DE
1388765184,1388773375,GB
@@ -34578,7 +35378,9 @@
1388813312,1388813823,CH
1388813824,1388814079,DE
1388814080,1388814335,CH
-1388814336,1388822527,AX
+1388814336,1388816383,FI
+1388816384,1388820479,AX
+1388820480,1388822527,FI
1388822528,1388830719,AM
1388830720,1388838911,FI
1388838912,1388871679,RU
@@ -34658,9 +35460,10 @@
1389787136,1389788671,SI
1389788672,1389789183,RS
1389789184,1389805567,PL
-1389805568,1389806591,US
+1389805568,1389806591,GB
1389806592,1389806847,SA
-1389806848,1389814271,US
+1389806848,1389807615,GB
+1389807616,1389814271,US
1389814272,1389814527,DE
1389814528,1389815295,US
1389815296,1389815551,DE
@@ -34710,9 +35513,7 @@
1397096448,1397227519,IE
1397227520,1397489663,DK
1397489664,1397751807,CH
-1397751808,1397853183,NL
-1397853184,1397853439,BQ
-1397853440,1398276095,NL
+1397751808,1398276095,NL
1398276096,1398286556,DK
1398286557,1398286557,SE
1398286558,1398800383,DK
@@ -34743,9 +35544,7 @@
1399029760,1399062527,LV
1399062528,1399095295,FI
1399095296,1399128063,GB
-1399128064,1399138303,BE
-1399138304,1399138559,DE
-1399138560,1399160831,BE
+1399128064,1399160831,BE
1399160832,1399193599,SA
1399193600,1399226367,FI
1399226368,1399259135,RU
@@ -34772,14 +35571,11 @@
1401278464,1401283583,DE
1401286656,1401290751,DE
1401290752,1401356287,BE
-1401356288,1401361671,DE
-1401361672,1401361679,AT
-1401361680,1401421823,DE
+1401356288,1401421823,DE
1401421824,1401423135,GB
1401423136,1401423167,IN
1401423168,1401423871,GB
-1401423872,1401424383,SA
-1401424384,1401425151,AE
+1401423872,1401425151,AE
1401425152,1401425407,GR
1401425408,1401425919,AE
1401425920,1401427967,NL
@@ -34846,8 +35642,7 @@
1401544704,1401546751,GB
1401546752,1401548799,IT
1401548800,1401550847,FR
-1401550848,1401552639,JE
-1401552640,1401552895,GB
+1401550848,1401552895,JE
1401552896,1401554943,NL
1401554944,1401556991,IE
1401556992,1401563135,GB
@@ -34989,6 +35784,21 @@
1402339328,1402355711,CH
1402355712,1402372095,FI
1402372096,1402388479,SE
+1402388480,1402389503,IR
+1402389504,1402390527,PL
+1402390528,1402391551,SY
+1402391552,1402392575,UA
+1402392576,1402393599,BE
+1402393600,1402394623,TR
+1402394624,1402395647,BG
+1402395648,1402396671,PH
+1402396672,1402397695,HK
+1402397696,1402398719,RU
+1402398720,1402399743,NL
+1402399744,1402400767,RO
+1402400768,1402401791,ES
+1402401792,1402402815,FR
+1402402816,1402404863,GB
1402404864,1402408959,RU
1402408960,1402413055,DE
1402413056,1402417151,PL
@@ -35110,13 +35920,26 @@
1403617280,1403633663,DE
1403633664,1403650047,RU
1403650048,1403666431,DE
-1403666432,1403687423,GB
-1403687424,1403687679,NO
-1403687680,1403699199,GB
+1403666432,1403699199,GB
1403699200,1403715583,UA
1403715584,1403731967,LT
1403731968,1403748351,RU
1403748352,1403764735,DE
+1403764736,1403765759,LB
+1403765760,1403766783,IT
+1403766784,1403768831,DE
+1403768832,1403769855,FR
+1403769856,1403770879,RU
+1403770880,1403771903,LU
+1403771904,1403772927,ES
+1403772928,1403773951,BR
+1403773952,1403774975,SE
+1403774976,1403775999,RU
+1403776000,1403777023,DE
+1403777024,1403778047,RU
+1403778048,1403779071,TR
+1403779072,1403780607,DE
+1403780608,1403781119,US
1403781120,1403797503,RU
1403797504,1403813887,SE
1403813888,1403827199,NL
@@ -35218,8 +36041,8 @@
1404801024,1404803071,SE
1404803072,1404805119,LV
1404805120,1404813311,AT
-1404813312,1404837887,SE
-1404837888,1404862463,LT
+1404813312,1404846079,SE
+1404846080,1404862463,LT
1404862464,1404870655,HR
1404870656,1404875775,SE
1404875776,1404876287,LT
@@ -35229,51 +36052,37 @@
1404921856,1404923903,LT
1404923904,1404944383,SE
1404944384,1404960767,LT
-1404960768,1404977151,SE
-1404977152,1404993535,LT
-1404993536,1405018111,SE
+1404960768,1404987311,SE
+1404987312,1404987312,LT
+1404987313,1404988469,SE
+1404988470,1404988470,LT
+1404988471,1405018111,SE
1405018112,1405026303,LT
1405026304,1405050879,HR
1405050880,1405059071,AT
1405059072,1405075455,SE
1405075456,1405091839,EE
1405091840,1405812735,FR
-1405812736,1405813503,MQ
-1405813504,1405813759,FR
-1405813760,1405821695,MQ
-1405821696,1405821951,FR
-1405821952,1405822719,MQ
-1405822720,1405822975,FR
-1405822976,1405827839,MQ
-1405827840,1405828351,FR
-1405828352,1405832191,MQ
-1405832192,1405832447,FR
-1405832448,1405832703,MQ
-1405832704,1405832959,FR
-1405832960,1405833983,MQ
-1405833984,1405834239,FR
-1405834240,1405853439,MQ
+1405812736,1405816063,MQ
+1405816064,1405816319,FR
+1405816320,1405819647,MQ
+1405819648,1405819903,FR
+1405819904,1405823487,MQ
+1405823488,1405823743,FR
+1405823744,1405853439,MQ
1405853440,1405853695,FR
-1405853696,1405854975,MQ
-1405854976,1405855231,FR
-1405855232,1405857535,MQ
-1405857536,1405857791,FR
-1405857792,1405859839,MQ
-1405859840,1405860095,FR
-1405860096,1405864703,MQ
-1405864704,1405864959,FR
-1405864960,1405865215,MQ
-1405865216,1405865471,FR
+1405853696,1405864959,MQ
+1405864960,1405865471,FR
1405865472,1405865727,MQ
1405865728,1405865983,FR
-1405865984,1405866495,MQ
-1405866496,1405867263,FR
-1405867264,1405870591,MQ
-1405870592,1405871103,FR
-1405871104,1405878271,MQ
-1405878272,1406066687,FR
-1406066688,1406066943,GP
-1406066944,1406140415,FR
+1405865984,1405869823,MQ
+1405869824,1405870079,FR
+1405870080,1405878271,MQ
+1405878272,1406050303,FR
+1406050304,1406051327,MQ
+1406051328,1406066687,FR
+1406066688,1406067199,GP
+1406067200,1406140415,FR
1406140416,1406205951,CZ
1406205952,1406210175,SE
1406210176,1406210559,NO
@@ -35296,17 +36105,7 @@
1406746624,1406753791,BE
1406753792,1406754815,NL
1406754816,1406763007,GB
-1406763008,1406764031,FR
-1406764032,1406764287,LU
-1406764288,1406764799,FR
-1406764800,1406765055,LU
-1406765056,1406766591,FR
-1406766592,1406766847,LU
-1406766848,1406768639,FR
-1406768640,1406768895,LU
-1406768896,1406770431,FR
-1406770432,1406770687,LU
-1406770688,1406771199,FR
+1406763008,1406771199,LU
1406771200,1406779391,GB
1406779392,1406787583,RU
1406787584,1406791159,ES
@@ -35315,8 +36114,7 @@
1406793088,1406793088,FR
1406793089,1406794751,ES
1406794752,1406795775,NL
-1406795776,1406796287,GB
-1406796288,1406797823,IM
+1406795776,1406797823,IM
1406797824,1406802943,GB
1406802944,1406803967,IM
1406803968,1406812159,DE
@@ -35360,9 +36158,7 @@
1407090688,1407098879,CH
1407098880,1407107071,BG
1407107072,1407115263,RU
-1407115264,1407121663,GB
-1407121664,1407121919,US
-1407121920,1407123455,GB
+1407115264,1407123455,GB
1407123456,1407131647,SE
1407131648,1407139839,NL
1407139840,1407148031,DE
@@ -35379,7 +36175,11 @@
1407520536,1407520543,NG
1407520544,1407520623,GB
1407520624,1407520631,NG
-1407520632,1407543935,GB
+1407520632,1407523540,GB
+1407523541,1407523541,SA
+1407523542,1407531007,GB
+1407531008,1407533055,AU
+1407533056,1407543935,GB
1407543936,1407543943,NG
1407543944,1407544015,GB
1407544016,1407544023,NG
@@ -35466,7 +36266,11 @@
1409548288,1409810431,FR
1409810432,1409941503,GB
1409941504,1410007039,PL
-1410007040,1410072575,DE
+1410007040,1410043903,DE
+1410043904,1410045951,US
+1410045952,1410047999,DE
+1410048000,1410050047,KE
+1410050048,1410072575,DE
1410072576,1410203647,GB
1410203648,1410212863,FR
1410212864,1410213119,GB
@@ -35492,9 +36296,7 @@
1410319360,1410322431,LT
1410322432,1410326527,LV
1410326528,1410334719,LT
-1410334720,1410338319,ES
-1410338320,1410338327,GB
-1410338328,1410342399,ES
+1410334720,1410342399,ES
1410342400,1410342655,DE
1410342656,1410342911,ES
1410342912,1410351103,SK
@@ -35503,8 +36305,7 @@
1410356880,1410359295,CH
1410359296,1410367487,CZ
1410367488,1410375679,RU
-1410375680,1410377727,IT
-1410377728,1410378015,DK
+1410375680,1410378015,DK
1410378016,1410378031,NO
1410378032,1410383871,DK
1410383872,1410392063,NO
@@ -35571,7 +36372,7 @@
1410707456,1410708479,IT
1410708480,1410709503,HU
1410709504,1410710527,DE
-1410710528,1410711551,NL
+1410710528,1410711551,GB
1410711552,1410719743,BG
1410719744,1410727935,RU
1410727936,1410736127,BG
@@ -35580,9 +36381,7 @@
1410739712,1410744055,RS
1410744056,1410744056,XK
1410744057,1410744319,RS
-1410744320,1410747391,FR
-1410747392,1410747647,GP
-1410747648,1410752511,FR
+1410744320,1410752511,FR
1410752512,1410760703,NL
1410760704,1410768895,RU
1410768896,1410777087,GB
@@ -35606,7 +36405,9 @@
1411514368,1411579903,FI
1411579904,1411645439,NL
1411645440,1411710975,EG
-1411710976,1411776511,FR
+1411710976,1411731991,FR
+1411731992,1411731995,GB
+1411731996,1411776511,FR
1411776512,1411777535,RU
1411777536,1411778559,HK
1411778560,1411780607,NO
@@ -35624,9 +36425,7 @@
1411813376,1411817471,NO
1411817472,1411821567,PL
1411821568,1411825663,RU
-1411825664,1411826687,DE
-1411826688,1411827711,CH
-1411827712,1411829759,DE
+1411825664,1411829759,DE
1411829760,1411833855,PL
1411833856,1411837951,NL
1411837952,1411842047,BG
@@ -35700,9 +36499,7 @@
1412415488,1412431871,IR
1412431872,1412562943,NO
1412562944,1412628479,EE
-1412628480,1412639295,TR
-1412639296,1412639487,GB
-1412639488,1412644863,TR
+1412628480,1412644863,TR
1412644864,1412661247,RU
1412661248,1412677631,GB
1412677632,1412685823,RU
@@ -35720,7 +36517,23 @@
1412804864,1412805631,US
1412806656,1412808703,US
1412808704,1412825087,RU
+1412825088,1412826111,TR
+1412826112,1412828159,RU
+1412828160,1412829183,TR
+1412829184,1412830207,RU
+1412830208,1412831231,DE
+1412831232,1412832255,ES
+1412832256,1412832767,RU
1412832768,1412833023,SL
+1412833024,1412835327,RU
+1412835328,1412836351,NL
+1412836352,1412837375,RU
+1412837376,1412838399,DE
+1412838400,1412839423,RU
+1412839424,1412839935,CN
+1412839936,1412840191,GB
+1412840192,1412840447,RU
+1412840448,1412841471,NL
1412841472,1412857855,UZ
1412857856,1412874239,BG
1412874240,1412890623,RU
@@ -35813,9 +36626,9 @@
1424591663,1424592895,FR
1424592896,1424593119,GB
1424593120,1424593127,FR
-1424593128,1424595726,GB
-1424595727,1424595727,IT
-1424595728,1424597069,GB
+1424593128,1424594943,GB
+1424594944,1424596991,IT
+1424596992,1424597069,GB
1424597070,1424597070,CZ
1424597071,1424599039,GB
1424599040,1424601087,FR
@@ -35831,11 +36644,14 @@
1424604976,1424604991,NL
1424604992,1424607743,GB
1424607744,1424607775,DE
-1424607776,1424607999,GB
-1424608000,1424608511,FR
-1424608512,1424608547,GB
-1424608548,1424608548,ES
-1424608549,1424608579,GB
+1424607776,1424608083,GB
+1424608084,1424608087,FR
+1424608088,1424608127,GB
+1424608128,1424608191,FR
+1424608192,1424608255,GB
+1424608256,1424608511,FR
+1424608512,1424608575,ES
+1424608576,1424608579,GB
1424608580,1424608580,ES
1424608581,1424608671,GB
1424608672,1424608687,ES
@@ -35851,7 +36667,9 @@
1424611006,1424611006,FR
1424611007,1424613855,GB
1424613856,1424613859,IT
-1424613860,1424618464,GB
+1424613860,1424617023,GB
+1424617024,1424617027,FR
+1424617028,1424618464,GB
1424618465,1424618465,NL
1424618466,1424618479,GB
1424618480,1424618495,NL
@@ -35866,11 +36684,12 @@
1424642048,1424646143,DK
1424646144,1424647167,RO
1424647168,1424648191,IT
-1424648192,1424649215,MD
-1424649216,1424650239,UA
+1424648192,1424650239,UA
1424650240,1424654335,PL
1424654336,1424687103,NO
-1424687104,1424719871,SA
+1424687104,1424711679,SA
+1424711680,1424713727,BH
+1424713728,1424719871,SA
1424719872,1424752639,DE
1424752640,1424785407,HU
1424785408,1424818175,ES
@@ -35960,7 +36779,7 @@
1425480704,1425481727,RO
1425481728,1425482751,US
1425482752,1425483775,RO
-1425483776,1425484799,GB
+1425483776,1425484799,US
1425484800,1425485311,MD
1425485312,1425486847,RO
1425486848,1425487103,FR
@@ -35976,6 +36795,20 @@
1425522688,1425539071,IT
1425539072,1425801215,FI
1425801216,1425817599,BG
+1425817600,1425820671,RU
+1425820672,1425821695,DK
+1425821696,1425822719,TR
+1425822720,1425823743,FR
+1425823744,1425824767,PT
+1425824768,1425825791,TR
+1425825792,1425826815,IL
+1425826816,1425827839,JP
+1425827840,1425828863,CH
+1425828864,1425829887,IE
+1425829888,1425830911,FR
+1425830912,1425831935,SK
+1425831936,1425832959,DE
+1425832960,1425833983,NL
1425833984,1425850367,RU
1425850368,1425866751,GB
1425866752,1425883135,CH
@@ -36001,6 +36834,19 @@
1426063360,1426587647,CH
1426587648,1426604031,SE
1426604032,1426620415,DE
+1426620416,1426621439,CY
+1426621440,1426622463,DE
+1426622464,1426624511,ES
+1426624512,1426625535,TR
+1426625536,1426626559,US
+1426626560,1426629631,TR
+1426629632,1426630655,AU
+1426630656,1426631679,LT
+1426631680,1426632703,MD
+1426632704,1426633727,SE
+1426633728,1426634751,HK
+1426634752,1426635775,RU
+1426635776,1426636799,AU
1426636800,1426653183,GB
1426653184,1426669567,RO
1426669568,1426685951,IR
@@ -36029,7 +36875,9 @@
1426915328,1426931711,AT
1426931712,1426948095,CZ
1426948096,1426964479,DE
-1426964480,1426980863,GB
+1426964480,1426967287,GB
+1426967288,1426967295,ES
+1426967296,1426980863,GB
1426980864,1426997247,BG
1426997248,1427013631,PL
1427013632,1427030015,FR
@@ -36075,13 +36923,9 @@
1428104192,1428105215,RU
1428105216,1428106239,IQ
1428106240,1428107263,DE
-1428107264,1428108287,RU
-1428108288,1428109311,NL
-1428109312,1428110335,ES
-1428111360,1428115455,GB
-1428115456,1428118783,IQ
-1428118784,1428119039,GB
-1428119040,1428119551,IQ
+1428107264,1428109311,RU
+1428109312,1428111359,ES
+1428111360,1428119551,GB
1428119552,1428121599,LV
1428121600,1428123647,FR
1428123648,1428127743,RU
@@ -36127,7 +36971,7 @@
1431945216,1431953407,NO
1431953408,1431961599,DK
1431961600,1431969791,CH
-1431969792,1431977983,FR
+1431969792,1431977983,GB
1431977984,1431986175,NL
1431986176,1431994367,RU
1431994368,1432002559,AT
@@ -36153,6 +36997,13 @@
1432092672,1432100863,RU
1432100864,1432109055,CZ
1432109056,1432117247,GB
+1432117248,1432118271,CZ
+1432118272,1432120319,GB
+1432120320,1432121343,RU
+1432121344,1432122367,PL
+1432122368,1432123391,RU
+1432123392,1432124415,KZ
+1432124416,1432125439,ES
1432125440,1432130703,NL
1432130704,1432130711,GB
1432130712,1432131583,NL
@@ -36172,7 +37023,9 @@
1432182784,1432190975,CZ
1432190976,1432199167,RU
1432199168,1432207359,CZ
-1432207360,1432215551,LU
+1432207360,1432213503,LU
+1432213504,1432213759,FR
+1432213760,1432215551,LU
1432215552,1432223743,NO
1432223744,1432240127,RU
1432240128,1432248319,HR
@@ -36183,8 +37036,7 @@
1432273408,1432273535,DE
1432273536,1432281087,IT
1432281088,1432289279,LU
-1432289280,1432297471,GB
-1432297472,1432305663,NO
+1432289280,1432305663,GB
1432305664,1432313855,BG
1432313856,1432322047,GB
1432322048,1432338431,RU
@@ -36239,25 +37091,33 @@
1433608448,1433608703,NL
1433608704,1433608959,GB
1433608960,1433609215,PL
-1433609216,1433609727,GB
+1433609216,1433609471,GB
+1433609472,1433609727,SE
1433609728,1433610239,IT
-1433610240,1433611263,GB
+1433610240,1433611263,US
1433611264,1433611519,ES
1433611520,1433611775,NO
-1433611776,1433614335,GB
-1433614336,1433614591,DE
-1433614592,1433614847,GB
-1433614848,1433615103,DE
-1433615104,1433615359,GB
+1433611776,1433612031,GB
+1433612032,1433612287,IL
+1433612288,1433614335,GB
+1433614336,1433615359,DE
1433615360,1433615871,FR
1433615872,1433616127,CH
-1433616128,1433616383,GB
+1433616128,1433616383,FR
1433616384,1433624575,AE
1433624576,1433632767,LV
1433632768,1433637375,GI
1433637376,1433637631,FR
1433637632,1433640959,GI
1433640960,1433649151,RU
+1433649152,1433650175,ES
+1433650176,1433651199,IT
+1433651200,1433652223,RU
+1433652224,1433653247,EE
+1433653248,1433654271,DE
+1433654272,1433655295,PL
+1433655296,1433656319,DE
+1433656320,1433657343,ES
1433657344,1433665535,RU
1433665536,1433669375,GB
1433669376,1433669631,IE
@@ -36275,6 +37135,13 @@
1433755648,1433763839,KZ
1433763840,1433772031,FR
1433772032,1433788415,SE
+1433788416,1433789439,GB
+1433789440,1433790463,NO
+1433790464,1433791487,RU
+1433791488,1433792511,TR
+1433792512,1433793535,DE
+1433793536,1433795583,ES
+1433795584,1433796607,DE
1433796608,1433804799,GB
1433804800,1433812273,FR
1433812274,1433812274,GB
@@ -36299,7 +37166,10 @@
1433860096,1433862143,DE
1433862144,1433864191,CH
1433864192,1433866239,HU
-1433866240,1433870335,GB
+1433866240,1433867521,NL
+1433867522,1433867522,GB
+1433867523,1433868287,NL
+1433868288,1433870335,GB
1433870336,1433872383,TR
1433872384,1433874431,IT
1433874432,1433876479,NL
@@ -36348,9 +37218,15 @@
1434976256,1435107327,ES
1435107328,1435238399,PT
1435238400,1435500543,RU
-1435500544,1436024831,NL
+1435500544,1435597823,NL
+1435597824,1435597951,BE
+1435597952,1436024831,NL
1436024832,1436090367,ES
-1436090368,1436155903,TR
+1436090368,1436106750,TR
+1436106751,1436107007,EE
+1436107008,1436107263,TR
+1436107264,1436107519,EE
+1436107520,1436155903,TR
1436155904,1436221439,OM
1436221440,1436286975,ES
1436286976,1436418047,FI
@@ -36423,7 +37299,8 @@
1437073408,1437335551,FR
1437335552,1437597695,RU
1437597696,1438121983,DE
-1438121984,1438125055,NL
+1438121984,1438124031,GB
+1438124032,1438125055,NL
1438125056,1438125311,ES
1438125312,1438125567,NL
1438125568,1438125823,FR
@@ -36451,9 +37328,9 @@
1438186496,1438187519,CH
1438187520,1438253055,IR
1438253056,1438318591,RO
-1438318592,1438321919,BG
-1438321920,1438322687,RU
-1438322688,1438331903,BG
+1438318592,1438321663,BG
+1438321664,1438322175,RU
+1438322176,1438331903,BG
1438331904,1438333951,ES
1438333952,1438351359,BG
1438351360,1438359551,US
@@ -36547,9 +37424,7 @@
1439121408,1439154175,DE
1439154176,1439170559,GB
1439170560,1439236095,NO
-1439236096,1439286015,BE
-1439286016,1439286143,FR
-1439286144,1439301631,BE
+1439236096,1439301631,BE
1439301632,1439305727,RU
1439305728,1439309823,DK
1439309824,1439318015,PL
@@ -36559,18 +37434,19 @@
1439323136,1439323391,RU
1439323392,1439323647,ES
1439323648,1439323903,DE
-1439323904,1439324159,IT
+1439323904,1439324159,RU
1439324160,1439325183,DE
1439325184,1439326207,LB
1439326208,1439330303,PL
1439330304,1439334399,RS
1439334400,1439338495,RU
1439338496,1439342591,PL
-1439342592,1439343359,GB
+1439342592,1439343103,GB
+1439343104,1439343359,DE
1439343360,1439343615,BE
1439343616,1439344639,RU
1439344640,1439345663,NL
-1439345664,1439346687,GB
+1439345664,1439346687,US
1439346688,1439351295,RU
1439351296,1439351551,DE
1439351552,1439351807,AT
@@ -36631,14 +37507,18 @@
1439381504,1439382527,MX
1439382528,1439383551,US
1439383552,1439399935,FR
-1439399936,1439432703,DK
+1439399936,1439405567,DK
+1439405568,1439405695,DE
+1439405696,1439405823,DK
+1439405824,1439406079,DE
+1439406080,1439432703,DK
1439432704,1439437823,RO
1439437824,1439438335,FR
1439438336,1439438847,RO
1439438848,1439439359,FR
1439439360,1439439615,RO
1439439616,1439439871,PL
-1439439872,1439440383,RO
+1439439872,1439440383,US
1439440384,1439440895,IR
1439440896,1439441919,RO
1439441920,1439442943,ES
@@ -36703,13 +37583,11 @@
1439498240,1439502335,GB
1439502336,1439506431,DE
1439506432,1439507455,GB
-1439507456,1439510527,DE
-1439510528,1439514623,GB
+1439507456,1439513599,DE
+1439513600,1439514623,GB
1439514624,1439516671,IT
1439516672,1439518719,GB
-1439518720,1439520767,DE
-1439520768,1439521791,GB
-1439521792,1439527935,DE
+1439518720,1439527935,DE
1439527936,1439531007,GB
1439531008,1439534079,DE
1439534080,1439535103,GB
@@ -36733,7 +37611,9 @@
1440317952,1440318463,BG
1440318464,1440320511,ES
1440320512,1440320767,BG
-1440320768,1440322559,ES
+1440320768,1440321535,ES
+1440321536,1440322047,BG
+1440322048,1440322559,ES
1440322560,1440323071,BG
1440323072,1440325631,ES
1440325632,1440350207,BG
@@ -36787,6 +37667,14 @@
1441462272,1441464319,PL
1441464320,1441472511,SE
1441472512,1441480703,RU
+1441480704,1441481727,DE
+1441481728,1441482751,GB
+1441482752,1441483775,TR
+1441483776,1441484799,GB
+1441484800,1441485823,RU
+1441485824,1441486847,TR
+1441486848,1441487871,CH
+1441487872,1441488895,HU
1441488896,1441497087,GB
1441497088,1441505279,IT
1441505280,1441521663,RU
@@ -36813,7 +37701,8 @@
1441651456,1441651711,CA
1441651712,1441652735,GB
1441652736,1441660927,SK
-1441660928,1441669119,ES
+1441660928,1441667071,ES
+1441667072,1441669119,PT
1441669120,1441677311,GE
1441677312,1441685503,HU
1441685504,1441693695,UA
@@ -36831,21 +37720,12 @@
1441734656,1441742847,RU
1441742848,1441751039,CZ
1441751040,1441759231,DE
-1441759232,1441762303,BG
-1441762304,1441763327,ES
+1441759232,1441763327,ES
1441763328,1441767423,BG
1441767424,1441775615,IT
1441775616,1441783807,IR
1441783808,1441791999,CZ
-1441792000,1441795071,PT
-1441795072,1441795327,GB
-1441795328,1441847807,PT
-1441847808,1441848319,GB
-1441848320,1441872895,PT
-1441872896,1441873023,GB
-1441873024,1441873087,PT
-1441873088,1441873151,GB
-1441873152,1442316287,PT
+1441792000,1442316287,PT
1442316288,1442381823,SK
1442381824,1442447359,RU
1442447360,1442512895,IL
@@ -36901,13 +37781,29 @@
1446805504,1446838271,FI
1446838272,1446871039,SI
1446871040,1446903807,CZ
+1446903808,1446904831,UZ
+1446904832,1446905087,RU
+1446905344,1446905855,RU
+1446905856,1446906879,DE
1446906880,1446907135,IQ
+1446907136,1446908927,RU
+1446908928,1446909951,ES
+1446909952,1446910719,DK
1446910720,1446911231,IQ
+1446911232,1446911487,ES
+1446911744,1446911999,ES
+1446912000,1446913023,AT
+1446913024,1446914047,BG
+1446914048,1446915071,ES
+1446915072,1446916095,UA
+1446916096,1446918143,RU
+1446918144,1446919167,RO
+1446919168,1446920191,HK
1446920192,1446936575,RU
1446936576,1446952959,NO
1446952960,1446969343,QA
1446969344,1446980351,GB
-1446981632,1446985727,GB
+1446980608,1446985727,GB
1446985728,1447010303,PL
1447010304,1447018495,LV
1447018496,1447026687,CZ
@@ -36943,7 +37839,7 @@
1449687040,1449688063,GR
1449688064,1449688575,RO
1449688576,1449688831,GB
-1449688832,1449689087,US
+1449688832,1449689087,NL
1449689088,1449690623,RO
1449690624,1449690879,IE
1449690880,1449691135,IT
@@ -37055,7 +37951,9 @@
1449793280,1449793535,NL
1449793536,1449794047,IR
1449794048,1449794303,PH
-1449794304,1449803775,RO
+1449794304,1449794559,RO
+1449794560,1449795071,US
+1449795072,1449803775,RO
1449803776,1449805823,ES
1449805824,1449806591,RO
1449806592,1449807103,IE
@@ -37124,7 +38022,9 @@
1449881088,1449883647,RO
1449883648,1449885695,BE
1449885696,1449886463,KZ
-1449886464,1449886536,RO
+1449886464,1449886485,RO
+1449886486,1449886486,KZ
+1449886487,1449886536,RO
1449886537,1449886537,KZ
1449886538,1449886719,RO
1449886720,1449889791,KZ
@@ -37194,9 +38094,7 @@
1450180608,1450311679,GB
1450311680,1450442751,FI
1450442752,1450704895,CH
-1450704896,1451186175,RO
-1451186176,1451188223,IT
-1451188224,1451229183,RO
+1450704896,1451229183,RO
1451229184,1451415166,GB
1451415167,1451415167,US
1451415168,1455423487,GB
@@ -37245,7 +38143,11 @@
1466204160,1466236927,FI
1466236928,1466241023,NL
1466241024,1466249215,PL
-1466249216,1466253311,GR
+1466249216,1466251264,GR
+1466251265,1466251519,BG
+1466251520,1466252032,GR
+1466252033,1466252543,BG
+1466252544,1466253311,GR
1466253312,1466257407,PL
1466257408,1466258431,JP
1466258432,1466259455,NL
@@ -37309,7 +38211,9 @@
1467473920,1467482111,RU
1467482112,1467484927,BG
1467484928,1467485183,IL
-1467485184,1467596799,BG
+1467485184,1467582463,BG
+1467582464,1467584511,GB
+1467584512,1467596799,BG
1467596800,1467600895,DE
1467600896,1467604991,BG
1467604992,1467609087,DE
@@ -37319,7 +38223,9 @@
1467777024,1467875327,ES
1467875328,1467940863,BG
1467940864,1468006399,GB
-1468006400,1472200703,DE
+1468006400,1471149653,DE
+1471149654,1471149654,ES
+1471149655,1472200703,DE
1472200704,1472259071,IE
1472259072,1472259327,GB
1472259328,1472266239,IE
@@ -37454,7 +38360,7 @@
1475284992,1475287039,GB
1475287040,1475291135,RU
1475291136,1475293183,PL
-1475293184,1475295231,CZ
+1475293184,1475295231,KZ
1475295232,1475297279,SK
1475297280,1475299327,DK
1475299328,1475301375,PL
@@ -37502,13 +38408,7 @@
1475575808,1475592191,AT
1475592192,1475608575,GB
1475608576,1475624959,RU
-1475624960,1475637303,JE
-1475637304,1475637311,GB
-1475637312,1475637471,JE
-1475637472,1475637479,GB
-1475637480,1475639479,JE
-1475639480,1475639487,GB
-1475639488,1475639559,JE
+1475624960,1475639559,JE
1475639560,1475639567,GB
1475639568,1475639583,JE
1475639584,1475639591,GB
@@ -37540,6 +38440,13 @@
1475788800,1475805183,PL
1475805184,1475821567,KZ
1475821568,1475837951,LT
+1475837952,1475838975,ES
+1475838976,1475839999,RU
+1475840000,1475841023,BA
+1475841024,1475843071,RU
+1475843072,1475844095,MD
+1475844096,1475845119,UA
+1475845120,1475846143,RU
1475846144,1475854335,IR
1475854336,1475862527,AT
1475862528,1475864575,FR
@@ -37570,15 +38477,14 @@
1476026368,1476034559,BA
1476034560,1476042751,NL
1476042752,1476050943,PL
-1476050944,1476054527,RU
-1476054528,1476055039,MD
-1476055040,1476064255,RU
+1476050944,1476064255,RU
1476064256,1476064383,DE
1476064384,1476064511,TR
1476064512,1476067327,RU
1476067328,1476075519,TR
1476075520,1476083711,NL
-1476083712,1476100095,RU
+1476083712,1476087807,MD
+1476087808,1476100095,RU
1476100096,1476108287,IR
1476108288,1476116479,RU
1476116480,1476124671,SE
@@ -37634,7 +38540,9 @@
1481637888,1481646079,SE
1481646080,1481654271,RU
1481654272,1481662463,IT
-1481662464,1481678847,BG
+1481662464,1481672703,BG
+1481672704,1481676799,ES
+1481676800,1481678847,BG
1481678848,1481684991,SE
1481684992,1481687039,GB
1481687040,1481695231,DE
@@ -37643,10 +38551,7 @@
1481711616,1481719807,RU
1481719808,1481727999,CZ
1481728000,1481736191,IE
-1481736192,1481742335,GG
-1481742336,1481743359,GB
-1481743360,1481743871,GG
-1481743872,1481744383,GB
+1481736192,1481744383,GG
1481744384,1481752575,IT
1481752576,1481760767,RU
1481760768,1481768959,UA
@@ -37678,8 +38583,12 @@
1481934848,1481936895,DE
1481936896,1481937183,FR
1481937184,1481937199,NL
-1481937200,1481938943,FR
-1481938944,1481940991,NL
+1481937200,1481937567,FR
+1481937568,1481937571,PA
+1481937572,1481938943,FR
+1481938944,1481940427,NL
+1481940428,1481940431,AM
+1481940432,1481940991,NL
1481940992,1481949183,NO
1481949184,1481957375,RU
1481957376,1481965567,SE
@@ -37721,13 +38630,17 @@
1482948608,1483210751,CZ
1483210752,1483735039,GB
1483735040,1483997183,FI
-1483997184,1484128255,AT
+1483997184,1484123135,AT
+1484123136,1484123647,DE
+1484123648,1484128255,AT
1484128256,1484259327,LT
1484259328,1484783615,FR
1484783616,1484849151,DE
1484849152,1484914687,SE
1484914688,1484980223,DE
-1484980224,1485045759,SE
+1484980224,1485033983,SE
+1485033984,1485034495,NO
+1485034496,1485045759,SE
1485045760,1485111295,HU
1485111296,1485148159,DE
1485148160,1485151231,AT
@@ -37796,13 +38709,13 @@
1486356480,1486487551,DE
1486487552,1486618623,UA
1486618624,1486684159,PL
-1486684160,1486739903,PT
-1486739904,1486739967,GB
-1486739968,1486749695,PT
+1486684160,1486749695,PT
1486749696,1486815231,RO
1486815232,1486880767,NL
1486880768,1488977919,FR
-1488977920,1489240063,FI
+1488977920,1489093631,FI
+1489093632,1489093759,AX
+1489093760,1489240063,FI
1489240064,1489305599,EE
1489305600,1489338367,GR
1489338368,1489371135,BE
@@ -37811,13 +38724,12 @@
1489502208,1489534975,SI
1489534976,1489567743,RU
1489567744,1489589759,BH
-1489589760,1489590015,AE
-1489590016,1489600511,BH
+1489589760,1489590271,SA
+1489590272,1489600511,BH
1489600512,1489633279,RU
1489633280,1489634303,FR
1489634304,1489635327,IT
-1489635328,1489640959,FR
-1489641216,1489641471,FR
+1489635328,1489641471,FR
1489641472,1489641599,PT
1489641600,1489641727,GR
1489641728,1489642495,FR
@@ -37825,9 +38737,7 @@
1489644544,1489645055,IT
1489645824,1489646079,IT
1489647616,1489648383,FR
-1489648384,1489648639,GR
-1489649664,1489650687,ZA
-1489651200,1489653759,FR
+1489649664,1489653759,FR
1489655296,1489655551,GR
1489655808,1489656831,NO
1489656832,1489657087,FI
@@ -37838,11 +38748,10 @@
1489659648,1489661951,FR
1489661952,1489662975,NG
1489662976,1489663487,IT
-1489663744,1489663807,SK
-1489664000,1489664511,GB
+1489664256,1489664511,GB
1489664512,1489664767,LY
1489664768,1489665023,TN
-1489665024,1489674239,GB
+1489665792,1489674239,GB
1489674240,1489676287,NL
1489676288,1489678591,GB
1489678592,1489678847,NL
@@ -37891,9 +38800,7 @@
1489862656,1489928191,RU
1489928192,1489960959,SE
1489960960,1489993727,HR
-1489993728,1490014719,LU
-1490014720,1490014975,FR
-1490014976,1490026495,LU
+1489993728,1490026495,LU
1490026496,1490028543,NL
1490028544,1490028671,GB
1490028672,1490028799,DE
@@ -37916,7 +38823,9 @@
1490193617,1490193617,DE
1490193618,1490196991,GB
1490196992,1490197247,IE
-1490197248,1490206719,GB
+1490197248,1490198555,GB
+1490198556,1490198556,IE
+1490198557,1490206719,GB
1490206720,1490223103,GE
1490223104,1490255871,GB
1490255872,1490272255,NL
@@ -37935,7 +38844,22 @@
1490386944,1490403327,CH
1490403328,1490411519,BG
1490411520,1490419711,FR
+1490419712,1490420735,FI
1490420736,1490421759,IR
+1490421760,1490422783,UA
+1490422784,1490423807,DE
+1490423808,1490424831,AL
+1490424832,1490425855,NL
+1490425856,1490426623,DE
+1490426880,1490427903,NL
+1490427904,1490428927,RU
+1490428928,1490429951,GB
+1490429952,1490430975,TR
+1490430976,1490431999,IT
+1490432000,1490433023,RU
+1490433024,1490434047,LT
+1490434048,1490435071,DE
+1490435072,1490436095,BA
1490436096,1490452479,UA
1490452480,1490468863,PT
1490468864,1490473983,GB
@@ -37957,15 +38881,16 @@
1490879488,1490880511,US
1490880512,1490881535,FR
1490885632,1490886655,US
-1490891520,1490891775,GB
1490904064,1490905087,US
1490909184,1490910207,US
1490913280,1490915327,US
1490915328,1490917375,IT
1490917376,1490919423,IL
-1490927616,1490931711,PL
+1490927616,1490929663,FR
1490931712,1490931967,DE
-1490931968,1490935807,PL
+1490931968,1490932223,PL
+1490932224,1490933759,DE
+1490934528,1490934783,IL
1490944000,1491075071,LT
1491075072,1493172223,TR
1493172224,1493303295,DE
@@ -37976,7 +38901,9 @@
1493565440,1493696511,ES
1493696512,1493958655,NO
1493958656,1494220799,DE
-1494220800,1494222847,MQ
+1494220800,1494221311,MQ
+1494221312,1494221567,FR
+1494221568,1494222847,MQ
1494222848,1494224895,GP
1494224896,1494228991,FR
1494228992,1494237183,RU
@@ -37984,9 +38911,7 @@
1494245376,1494253567,RU
1494253568,1494261759,DE
1494261760,1494269951,GB
-1494269952,1494272255,AT
-1494272256,1494274047,NL
-1494274048,1494278143,AT
+1494269952,1494278143,AT
1494278144,1494286335,GB
1494286336,1494294527,HR
1494294528,1494302719,RU
@@ -38005,6 +38930,13 @@
1494401024,1494409215,LV
1494409216,1494417407,FI
1494417408,1494425599,TR
+1494425600,1494426623,RU
+1494426624,1494427647,NL
+1494427648,1494428671,RU
+1494428672,1494430719,GB
+1494430720,1494431743,DK
+1494431744,1494432767,BR
+1494432768,1494433791,NL
1494433792,1494441983,IE
1494441984,1494450175,UA
1494450176,1494458367,DK
@@ -38015,12 +38947,11 @@
1494507520,1494523903,RU
1494523904,1494532095,NL
1494532096,1494540287,GB
-1494540288,1494541823,NO
-1494541824,1494542079,DK
-1494542080,1494548479,NO
+1494540288,1494548479,NO
1494548480,1494556671,GB
1494556672,1494564863,DE
-1494564864,1494573055,UA
+1494564864,1494565887,US
+1494565888,1494573055,UA
1494573056,1494580479,RO
1494580480,1494580735,HU
1494580736,1494581247,RO
@@ -38052,9 +38983,7 @@
1494704128,1494736895,RU
1494736896,1494745087,DK
1494745088,1494810623,CZ
-1494810624,1494815743,BG
-1494815744,1494816255,ZA
-1494816256,1494843391,BG
+1494810624,1494843391,BG
1494843392,1494876159,PL
1494876160,1494908927,AT
1494908928,1494941695,PT
@@ -38072,8 +39001,8 @@
1495056384,1495058431,RU
1495058432,1495060479,UA
1495060480,1495060991,GB
-1495060992,1495061503,US
-1495061504,1495062527,GB
+1495060992,1495061247,US
+1495061248,1495062527,GB
1495062528,1495064575,JO
1495064576,1495066623,PL
1495066624,1495068671,GB
@@ -38081,12 +39010,14 @@
1495070720,1495072767,RU
1495072768,1495105535,CZ
1495105536,1495138303,ES
-1495138304,1495139343,FR
+1495138304,1495139327,FR
1495139344,1495139347,GB
-1495139348,1495146495,FR
+1495139376,1495139391,FR
+1495140352,1495142399,FR
+1495144448,1495146495,FR
1495146752,1495147007,US
1495148544,1495150591,FR
-1495150592,1495151615,GB
+1495150848,1495151103,GB
1495151616,1495153663,FR
1495154496,1495154527,IN
1495158784,1495159295,GB
@@ -38103,7 +39034,7 @@
1495163408,1495163411,ES
1495163412,1495163415,IT
1495163552,1495163567,FR
-1495165191,1495165191,US
+1495165191,1495165191,FR
1495165192,1495165195,NL
1495165408,1495165439,FR
1495165696,1495165951,ES
@@ -38148,11 +39079,9 @@
1495257088,1495259135,GB
1495259136,1495260159,MD
1495260160,1495261183,RU
-1495261184,1495261481,GB
-1495261482,1495261482,PT
-1495261483,1495261511,GB
-1495261512,1495261512,PT
-1495261513,1495261951,GB
+1495261184,1495261439,GB
+1495261440,1495261695,PT
+1495261696,1495261951,GB
1495261952,1495263231,PT
1495263232,1495265279,GB
1495265280,1495267327,US
@@ -38275,7 +39204,9 @@
1495398912,1495399423,GB
1495399424,1495399935,RO
1495399936,1495400447,GB
-1495400448,1495401983,RO
+1495400448,1495400959,RO
+1495400960,1495401215,RS
+1495401216,1495401983,RO
1495401984,1495402239,IT
1495402240,1495404543,RO
1495404544,1495405567,NL
@@ -38358,10 +39289,8 @@
1495485440,1495485695,MD
1495485696,1495485951,RO
1495485952,1495486463,PL
-1495486464,1495487183,RO
-1495487184,1495487184,GG
-1495487185,1495487231,RO
-1495487232,1495487487,IT
+1495486464,1495486975,RO
+1495486976,1495487487,GG
1495487488,1495488767,MD
1495488768,1495489279,GB
1495489280,1495489535,MD
@@ -38400,7 +39329,9 @@
1495515648,1495516159,IR
1495516160,1495517183,GB
1495517184,1495518207,MD
-1495518208,1495524095,RO
+1495518208,1495518719,RO
+1495518720,1495519231,IT
+1495519232,1495524095,RO
1495524096,1495524351,ES
1495524352,1495525119,RO
1495525120,1495525375,ES
@@ -38516,8 +39447,7 @@
1495652864,1495653375,IR
1495653376,1495654399,KZ
1495654400,1495654911,RO
-1495654912,1495655167,ES
-1495655168,1495655423,BG
+1495654912,1495655423,ES
1495655424,1495656447,US
1495656448,1495656959,RO
1495656960,1495657215,GB
@@ -38560,7 +39490,7 @@
1495709696,1495713791,IR
1495713792,1495715839,ES
1495715840,1495716863,RO
-1495716864,1495717887,IR
+1495716864,1495717887,HK
1495717888,1495719935,ES
1495719936,1495722751,RO
1495722752,1495723007,SE
@@ -38680,7 +39610,7 @@
1495840000,1495842815,RO
1495842816,1495843839,KZ
1495843840,1495845631,RO
-1495845632,1495845887,GB
+1495845632,1495845887,ES
1495845888,1495846655,RO
1495846656,1495847423,GB
1495847424,1495847679,RO
@@ -38711,7 +39641,7 @@
1495868416,1495869439,RO
1495869440,1495870463,IR
1495870464,1495871487,BE
-1495871488,1495871743,ES
+1495871488,1495871743,FI
1495871744,1495872511,GB
1495872512,1495873535,BE
1495873536,1495874047,RO
@@ -38726,7 +39656,7 @@
1495900160,1495902207,SE
1495902208,1495903231,NL
1495903232,1495906303,RO
-1495906304,1495907327,IR
+1495906304,1495907327,HK
1495907328,1495907583,RO
1495907584,1495908351,GB
1495908352,1495922687,IR
@@ -38746,7 +39676,7 @@
1495934976,1495935231,GB
1495935232,1495935743,RO
1495935744,1495935999,FI
-1495936000,1495937023,IR
+1495936000,1495937023,HK
1495937024,1495937535,DE
1495937536,1495938559,RO
1495938560,1495939071,BE
@@ -38868,7 +39798,8 @@
1496074240,1496075263,GR
1496075264,1496076799,RO
1496076800,1496077055,ES
-1496077056,1496079359,RO
+1496077056,1496078335,RO
+1496078336,1496079359,MD
1496079360,1496081407,GR
1496081408,1496082175,RO
1496082176,1496082431,GB
@@ -38909,7 +39840,9 @@
1496110592,1496111103,RO
1496111104,1496113151,GR
1496113152,1496117247,RO
-1496117248,1496118271,IR
+1496117248,1496117309,HK
+1496117310,1496117310,IR
+1496117311,1496118271,HK
1496118272,1496119295,RO
1496119296,1496121343,SE
1496121344,1496122367,MD
@@ -39000,7 +39933,7 @@
1496217600,1496218879,RO
1496218880,1496219135,DE
1496219136,1496220671,RO
-1496220672,1496221695,US
+1496220672,1496221695,DE
1496221696,1496223743,ES
1496223744,1496225791,PL
1496225792,1496228863,RO
@@ -39082,12 +40015,15 @@
1500028928,1500037119,NL
1500037120,1500045311,DK
1500045312,1500061695,GB
-1500061696,1500069887,NO
+1500061696,1500063743,NO
+1500064768,1500069887,NO
1500069888,1500078079,IT
1500078080,1500086271,GB
1500086272,1500094463,RU
1500094464,1500102655,AT
-1500102656,1500110847,NL
+1500102656,1500108799,NL
+1500108800,1500109311,DE
+1500109312,1500110847,NL
1500110848,1500119039,UA
1500119040,1500127231,TR
1500127232,1500135423,FI
@@ -39148,8 +40084,8 @@
1500299264,1500315647,PL
1500315648,1500332031,RU
1500332032,1500348415,PT
-1500348416,1500405759,RU
-1500405760,1500408831,UA
+1500348416,1500407807,RU
+1500407808,1500408831,UA
1500408832,1500413951,RU
1500413952,1500430335,DE
1500430336,1500446719,RS
@@ -39204,7 +40140,13 @@
1502975232,1502975247,GB
1502975248,1502975327,IE
1502975328,1502975359,GB
-1502975360,1502978047,IE
+1502975360,1502976279,IE
+1502976280,1502976287,SE
+1502976288,1502976479,IE
+1502976480,1502976487,PL
+1502976488,1502976703,IE
+1502976704,1502976719,BE
+1502976720,1502978047,IE
1502978048,1502979071,US
1502979072,1502979135,IE
1502979136,1502979199,GB
@@ -39233,8 +40175,8 @@
1503133696,1503370138,PT
1503370139,1503370139,GB
1503370140,1503395839,PT
-1503395840,1503477759,FR
-1503477760,1503486207,GP
+1503395840,1503483903,FR
+1503483904,1503486207,GP
1503486208,1503486463,MQ
1503486464,1503486719,GP
1503486720,1503486975,MQ
@@ -39245,7 +40187,8 @@
1503490048,1503490559,GP
1503490560,1503491071,MQ
1503491072,1503491583,GP
-1503491584,1503492095,MQ
+1503491584,1503491839,FR
+1503491840,1503492095,MQ
1503492096,1503493119,GP
1503493120,1503493887,MQ
1503493888,1503494143,GP
@@ -39266,9 +40209,7 @@
1503898336,1503898343,MX
1503898344,1503898351,DE
1503898352,1503898359,CH
-1503898360,1503898791,DE
-1503898792,1503898799,AT
-1503898800,1503898911,DE
+1503898360,1503898911,DE
1503898912,1503898919,LT
1503898920,1503899071,DE
1503899072,1503899079,AT
@@ -39306,9 +40247,7 @@
1504151552,1504153599,IE
1504153600,1504154623,GB
1504154624,1504155647,IE
-1504155648,1504173055,GB
-1504173056,1504174079,IE
-1504174080,1504247807,GB
+1504155648,1504247807,GB
1504247808,1504313343,RU
1504313344,1504378879,FR
1504378880,1504444415,PL
@@ -39326,7 +40265,15 @@
1505255424,1505263615,IT
1505263616,1505271807,DK
1505271808,1505279999,NL
-1505280000,1505288191,IR
+1505280000,1505282047,AE
+1505282048,1505282815,IR
+1505282816,1505283071,AE
+1505283072,1505284095,IR
+1505284096,1505284351,AE
+1505284352,1505284607,IR
+1505284608,1505284863,AE
+1505284864,1505285119,IR
+1505285120,1505288191,AE
1505288192,1505296383,RU
1505296384,1505304575,UA
1505304576,1505312767,FR
@@ -39337,9 +40284,9 @@
1505316608,1505316863,SI
1505316864,1505320959,RU
1505320960,1505329151,AT
-1505329152,1505331855,IE
-1505331856,1505331871,GB
-1505331872,1505332591,IE
+1505329152,1505331199,IE
+1505331200,1505332479,GB
+1505332480,1505332591,IE
1505332592,1505332639,GB
1505332640,1505337343,IE
1505337344,1505345535,FR
@@ -39359,7 +40306,13 @@
1505427456,1505435647,UA
1505435648,1505443839,MD
1505443840,1505460223,GB
-1505460224,1505471487,CZ
+1505460224,1505469439,CZ
+1505469440,1505469695,US
+1505469696,1505470463,CZ
+1505470464,1505470719,AT
+1505470720,1505470783,CZ
+1505470784,1505470847,DE
+1505470848,1505471487,CZ
1505471488,1505475583,US
1505475584,1505478655,CZ
1505478656,1505482751,DE
@@ -39386,6 +40339,14 @@
1505646848,1505647103,PL
1505647104,1505648639,CZ
1505648640,1505656831,LT
+1505656832,1505657855,CZ
+1505657856,1505658879,GB
+1505658880,1505659903,DE
+1505659904,1505660927,NL
+1505660928,1505661951,CH
+1505661952,1505662975,LT
+1505662976,1505663999,ES
+1505664000,1505665023,GB
1505665024,1505666611,IT
1505666612,1505666615,AT
1505666616,1505673215,IT
@@ -39413,7 +40374,8 @@
1505747200,1505747455,RU
1505747456,1505747711,GB
1505747712,1505749503,RU
-1505749504,1505750015,MD
+1505749504,1505749759,US
+1505749760,1505750015,RU
1505750016,1505751039,BG
1505751040,1505755135,RU
1505755136,1506017279,GB
@@ -39464,9 +40426,9 @@
1506451072,1506451135,DK
1506451136,1506451839,GB
1506451840,1506451871,ES
-1506451872,1506452095,GB
-1506452096,1506452127,PT
-1506452128,1506453311,GB
+1506451872,1506451967,GB
+1506451968,1506452479,PT
+1506452480,1506453311,GB
1506453312,1506453319,SE
1506453320,1506455507,GB
1506455508,1506455511,IT
@@ -39474,17 +40436,15 @@
1506455544,1506455547,IT
1506455548,1506456533,GB
1506456534,1506456534,IT
-1506456535,1506456771,GB
-1506456772,1506456775,IE
-1506456776,1506456815,GB
-1506456816,1506456819,IE
-1506456820,1506456959,GB
-1506456960,1506456975,IT
-1506456976,1506458244,GB
-1506458245,1506458245,CH
-1506458246,1506458359,GB
-1506458360,1506458367,CH
-1506458368,1506459763,GB
+1506456535,1506456575,GB
+1506456576,1506456831,IE
+1506456832,1506456959,GB
+1506456960,1506457087,IT
+1506457088,1506457599,GB
+1506457600,1506459177,CH
+1506459178,1506459178,GB
+1506459179,1506459647,CH
+1506459648,1506459763,GB
1506459764,1506459767,FR
1506459768,1506459781,GB
1506459782,1506459782,FR
@@ -39498,7 +40458,9 @@
1506462720,1506462975,IT
1506462976,1506463035,GB
1506463036,1506463039,IT
-1506463040,1506463551,GB
+1506463040,1506463527,GB
+1506463528,1506463535,DE
+1506463536,1506463551,GB
1506463552,1506463615,DE
1506463616,1506463719,GB
1506463720,1506463727,DE
@@ -39529,10 +40491,8 @@
1506672640,1506689023,PL
1506689024,1506705407,CH
1506705408,1506727935,GB
-1506727936,1506728959,FR
-1506728960,1506735989,GB
-1506735990,1506735990,SG
-1506735991,1506740223,GB
+1506727936,1506728959,PT
+1506728960,1506740223,GB
1506740224,1506741247,CH
1506741248,1506742271,TR
1506742272,1506744319,SE
@@ -39557,19 +40517,26 @@
1506789376,1506791423,DE
1506791424,1506793471,GB
1506793472,1506795519,RU
-1506795520,1506799615,CH
+1506795520,1506797055,CH
+1506797056,1506797071,US
+1506797072,1506797087,CH
+1506797088,1506797103,US
+1506797104,1506797119,KR
+1506797120,1506797295,CH
+1506797296,1506797311,US
+1506797312,1506799615,CH
1506799616,1506801663,LV
1506801664,1506803711,DE
1506803712,1506865151,RU
1506865152,1506869247,US
1506869248,1506934783,UA
1506934784,1507000319,GR
-1507000320,1507065855,QA
+1507000320,1507015167,QA
+1507015168,1507015423,IT
+1507015424,1507065855,QA
1507065856,1507131391,SI
1507131392,1507196927,GB
-1507196928,1507243007,PT
-1507243008,1507243519,GB
-1507243520,1507262463,PT
+1507196928,1507262463,PT
1507262464,1507327999,BG
1507328000,1507393535,RS
1507393536,1507459071,CH
@@ -39651,8 +40618,8 @@
1508812520,1508812527,CZ
1508812528,1508815103,GB
1508815104,1508815359,NL
-1508815360,1508815615,ES
-1508815616,1508817151,GB
+1508815360,1508815871,ES
+1508815872,1508817151,GB
1508817152,1508817407,NL
1508817408,1508817663,CZ
1508817664,1508818943,GB
@@ -39753,79 +40720,57 @@
1509948416,1509948671,ES
1509948672,1509949439,NL
1509949440,1510604799,FR
-1510604800,1510622975,RE
-1510622976,1510623743,FR
-1510623744,1510670335,RE
+1510604800,1510657535,RE
+1510657536,1510657791,FR
+1510657792,1510662143,RE
+1510662144,1510662399,FR
+1510662400,1510670335,RE
1510670336,1511981055,FR
-1511981056,1511997439,GP
+1511981056,1511985407,GP
+1511985408,1511985663,FR
+1511985664,1511995647,GP
+1511995648,1511995903,FR
+1511995904,1511997439,GP
1511997440,1511997951,BL
-1511997952,1511998463,FR
-1511998464,1511998975,MF
-1511998976,1511999231,BL
-1511999232,1511999487,FR
-1511999488,1511999743,MF
-1511999744,1511999999,FR
-1512000000,1512001023,BL
-1512001024,1512001279,FR
-1512001280,1512002815,BL
-1512002816,1512005631,FR
-1512005632,1512007167,MF
-1512007168,1512007423,BL
-1512007424,1512010239,FR
-1512010240,1512010751,MF
-1512010752,1512011007,BL
-1512011008,1512012543,MF
-1512012544,1512012799,FR
-1512012800,1512013823,BL
-1512013824,1512030207,GF
+1511997952,1511998207,FR
+1511998208,1511998463,BL
+1511998464,1511999487,MF
+1511999488,1511999743,BL
+1511999744,1511999999,MF
+1512000000,1512003583,BL
+1512003584,1512005631,FR
+1512005632,1512005887,BL
+1512005888,1512006143,MF
+1512006144,1512006655,BL
+1512006656,1512006911,FR
+1512006912,1512007679,BL
+1512007680,1512009727,FR
+1512009728,1512011263,BL
+1512011264,1512011519,MF
+1512011520,1512011775,BL
+1512011776,1512012031,MF
+1512012032,1512013823,BL
+1512013824,1512029439,GF
+1512029440,1512029695,FR
+1512029696,1512030207,GF
1512030208,1512046591,MQ
1512046592,1512308735,FR
-1512308736,1512313855,GP
-1512313856,1512314111,FR
-1512314112,1512323071,GP
-1512323072,1512323327,FR
-1512323328,1512326399,GP
-1512326400,1512327167,FR
-1512327168,1512327935,GP
-1512327936,1512328191,FR
-1512328192,1512328447,GP
-1512328448,1512329215,FR
-1512329216,1512334079,GP
-1512334080,1512334847,FR
-1512334848,1512335103,GP
-1512335104,1512335359,FR
-1512335360,1512335615,GP
-1512335616,1512335871,FR
-1512335872,1512336127,GP
-1512336128,1512336383,FR
-1512336384,1512340735,GP
+1512308736,1512340735,GP
1512340736,1512340991,FR
-1512340992,1512353535,GP
-1512353536,1512353791,FR
-1512353792,1512359167,GP
-1512359168,1512359423,FR
-1512359424,1512359935,GP
-1512359936,1512360191,FR
-1512360192,1512361215,GP
-1512361216,1512361471,FR
-1512361472,1512366335,GP
-1512366336,1512366591,FR
-1512366592,1512368127,GP
-1512368128,1512368383,FR
-1512368384,1512368639,GP
-1512368640,1512368895,FR
-1512368896,1512369663,GP
-1512369664,1512369919,FR
-1512369920,1512370441,GP
+1512340992,1512353279,GP
+1512353280,1512353535,FR
+1512353536,1512370175,GP
+1512370176,1512370431,FR
+1512370432,1512370441,GP
1512370442,1512370442,FR
-1512370443,1512371967,GP
-1512371968,1512372223,FR
-1512372224,1512374271,GP
+1512370443,1512371199,GP
+1512371200,1512371455,FR
+1512371456,1512374271,GP
1512374272,1513892207,FR
1513892208,1513892208,ES
1513892209,1514143743,FR
-1514143744,1514176511,SK
-1514176512,1514405887,FR
+1514143744,1514209279,SK
+1514209280,1514405887,FR
1514405888,1514536959,ES
1514536960,1514602495,FR
1514602496,1514668031,ES
@@ -39834,10 +40779,9 @@
1514930176,1514995711,FR
1514995712,1515061247,ES
1515061248,1515335679,FR
-1515335680,1515335935,GP
-1515335936,1515338239,FR
-1515338240,1515338495,GF
-1515338496,1515467519,FR
+1515335680,1515337727,GP
+1515337728,1515339775,GF
+1515339776,1515467519,FR
1515467520,1515468031,US
1515468032,1515468287,FR
1515468288,1515468543,NL
@@ -39852,9 +40796,7 @@
1515489792,1515490303,NL
1515490304,1515511807,FR
1515511808,1515515903,RO
-1515515904,1515519743,FR
-1515519744,1515519999,ES
-1515520000,1516109823,FR
+1515515904,1516109823,FR
1516109824,1516175359,ES
1516175360,1516240895,RO
1516240896,1516896255,FR
@@ -39868,8 +40810,7 @@
1518446875,1518446875,NO
1518446876,1518452735,NL
1518452736,1518460927,AT
-1518460928,1518469119,LV
-1518469120,1518472191,SE
+1518460928,1518472191,SE
1518472192,1518473215,LT
1518473216,1518479359,SE
1518479360,1518481407,EE
@@ -39910,8 +40851,8 @@
1518731104,1518731135,HR
1518731136,1518731263,SE
1518731264,1518747647,LT
-1518747648,1518764031,SE
-1518764032,1518780415,LT
+1518747648,1518772223,HR
+1518772224,1518780415,LT
1518780416,1518796799,HR
1518796800,1518862335,LT
1518862336,1518927871,SE
@@ -39921,8 +40862,7 @@
1518962688,1518966783,HR
1518966784,1518967807,SE
1518967808,1518977023,HR
-1518977024,1518985215,LT
-1518985216,1518993407,SE
+1518977024,1518993407,SE
1518993408,1519058943,LT
1519058944,1519083519,LV
1519083520,1519091711,SE
@@ -39968,9 +40908,7 @@
1520009216,1520041983,SY
1520041984,1520074751,RU
1520074752,1520107519,BG
-1520107520,1520137855,GB
-1520137856,1520137983,IE
-1520137984,1520140287,GB
+1520107520,1520140287,GB
1520140288,1520173055,RU
1520173056,1520205823,PL
1520205824,1520230399,RU
@@ -39986,9 +40924,9 @@
1522270208,1522401279,RU
1522401280,1522532351,EE
1522532352,1524629503,GB
-1524629504,1524764415,SE
-1524764416,1524764671,GB
-1524764672,1525678079,SE
+1524629504,1525467135,SE
+1525467136,1525467647,DK
+1525467648,1525678079,SE
1525678080,1526726655,GB
1526726656,1531183103,DE
1531183104,1531445247,FR
@@ -39997,9 +40935,7 @@
1531969536,1532100607,IT
1532100608,1532199935,HU
1532199936,1532200959,RS
-1532200960,1532220927,HU
-1532220928,1532221183,SK
-1532221184,1532231679,HU
+1532200960,1532231679,HU
1532231680,1532362751,GB
1532362752,1532493823,BE
1532493824,1532559359,FR
@@ -40023,13 +40959,13 @@
1532661760,1532665855,DE
1532665856,1532674047,PL
1532674048,1532675071,NL
-1532675072,1532676095,UA
+1532675072,1532675583,UA
+1532675584,1532676095,RU
1532676096,1532678143,MD
-1532678144,1532679167,UA
-1532679168,1532680191,RU
+1532678144,1532678655,UA
+1532678656,1532680191,RU
1532680192,1532681215,UZ
-1532681216,1532681471,UA
-1532681472,1532681727,RU
+1532681216,1532681727,RU
1532681728,1532682239,BY
1532682240,1532690431,LV
1532690432,1532755967,FR
@@ -40193,13 +41129,12 @@
1533771776,1533804543,IR
1533804544,1533805567,RU
1533805568,1533807615,NL
-1533807616,1533808639,US
-1533808640,1533814783,RU
+1533807616,1533808639,GB
+1533808640,1533809663,SG
+1533809664,1533810687,AZ
+1533810688,1533814783,RU
1533814784,1533815039,AG
-1533815040,1533815295,GB
-1533815296,1533815551,RU
-1533815552,1533815807,GB
-1533815808,1533817855,RU
+1533815040,1533817855,RU
1533817856,1533818879,GB
1533818880,1533819903,NL
1533819904,1533820927,RU
@@ -40286,7 +41221,7 @@
1534713856,1534713887,PT
1534713888,1534713943,FR
1534713944,1534713947,DE
-1534713948,1534713951,FR
+1534713948,1534713951,PL
1534713952,1534713955,DE
1534713956,1534714015,FR
1534714016,1534714031,DE
@@ -40298,26 +41233,38 @@
1534714144,1534714159,GB
1534714160,1534714415,FR
1534714416,1534714431,ES
-1534714432,1534714639,FR
+1534714432,1534714531,FR
+1534714532,1534714535,PL
+1534714536,1534714639,FR
1534714640,1534714655,IE
1534714656,1534714687,ES
1534714688,1534714751,FR
1534714752,1534714767,DE
-1534714768,1534714871,FR
+1534714768,1534714783,FR
+1534714784,1534714799,PL
+1534714800,1534714871,FR
1534714872,1534714875,ES
1534714876,1534714879,DE
1534714880,1534714939,FR
1534714940,1534714943,DE
-1534714944,1534715207,FR
+1534714944,1534715135,FR
+1534715136,1534715143,PL
+1534715144,1534715207,FR
1534715208,1534715211,GB
1534715212,1534715215,FR
1534715216,1534715231,GB
-1534715232,1534715551,FR
+1534715232,1534715303,FR
+1534715304,1534715307,PL
+1534715308,1534715319,FR
+1534715320,1534715327,PL
+1534715328,1534715551,FR
1534715552,1534715567,PT
1534715568,1534715583,FR
1534715584,1534715599,GB
1534715600,1534715615,FI
-1534715616,1534715871,FR
+1534715616,1534715739,FR
+1534715740,1534715743,PL
+1534715744,1534715871,FR
1534715872,1534715875,ES
1534715876,1534715887,FR
1534715888,1534715903,IT
@@ -40328,7 +41275,9 @@
1534716112,1534716115,DE
1534716116,1534716239,FR
1534716240,1534716255,GB
-1534716256,1534716319,FR
+1534716256,1534716307,FR
+1534716308,1534716311,PL
+1534716312,1534716319,FR
1534716320,1534716351,GB
1534716352,1534716375,FR
1534716376,1534716379,ES
@@ -40350,11 +41299,19 @@
1534717344,1534717359,GB
1534717360,1534717583,FR
1534717584,1534717587,CZ
-1534717588,1534717739,FR
+1534717588,1534717655,FR
+1534717656,1534717659,PL
+1534717660,1534717731,FR
+1534717732,1534717735,PL
+1534717736,1534717739,FR
1534717740,1534717743,GB
-1534717744,1534717963,FR
+1534717744,1534717931,FR
+1534717932,1534717935,PL
+1534717936,1534717963,FR
1534717964,1534717967,PL
-1534717968,1534717995,FR
+1534717968,1534717983,FR
+1534717984,1534717987,PL
+1534717988,1534717995,FR
1534717996,1534717999,GB
1534718000,1534718031,FR
1534718032,1534718047,ES
@@ -40373,20 +41330,27 @@
1534718420,1534718423,GB
1534718424,1534718575,FR
1534718576,1534718591,DE
-1534718592,1534718719,FR
+1534718592,1534718623,FR
+1534718624,1534718631,PL
+1534718632,1534718719,FR
1534718720,1534718735,GB
1534718736,1534718763,FR
1534718764,1534718767,ES
1534718768,1534718799,FR
1534718800,1534718807,ES
-1534718808,1534719071,FR
+1534718808,1534718815,FR
+1534718816,1534718819,PL
+1534718820,1534719071,FR
1534719072,1534719075,FI
-1534719076,1534719679,FR
+1534719076,1534719555,FR
+1534719556,1534719559,PL
+1534719560,1534719679,FR
1534719680,1534719695,GB
1534719696,1534719699,FR
1534719700,1534719703,DE
1534719704,1534719711,GB
-1534719712,1534719739,FR
+1534719712,1534719735,FR
+1534719736,1534719739,PL
1534719740,1534719743,ES
1534719744,1534719747,FR
1534719748,1534719751,ES
@@ -40394,7 +41358,9 @@
1534719784,1534719787,ES
1534719788,1534720011,FR
1534720012,1534720015,IE
-1534720016,1534720079,FR
+1534720016,1534720023,FR
+1534720024,1534720027,PL
+1534720028,1534720079,FR
1534720080,1534720095,ES
1534720096,1534720175,FR
1534720176,1534720179,NL
@@ -40405,13 +41371,25 @@
1534720388,1534720391,FI
1534720392,1534720451,FR
1534720452,1534720455,DE
-1534720456,1534720767,FR
+1534720456,1534720495,FR
+1534720496,1534720511,PL
+1534720512,1534720767,FR
1534720768,1534720783,ES
1534720784,1534720831,FR
1534720832,1534720863,GB
-1534720864,1534721023,FR
+1534720864,1534720983,FR
+1534720984,1534720991,PL
+1534720992,1534721023,FR
1534721024,1534721031,DE
-1534721032,1534721807,FR
+1534721032,1534721103,FR
+1534721104,1534721107,PL
+1534721108,1534721279,FR
+1534721280,1534721287,PL
+1534721288,1534721495,FR
+1534721496,1534721503,PL
+1534721504,1534721515,FR
+1534721516,1534721519,PL
+1534721520,1534721807,FR
1534721808,1534721823,GB
1534721824,1534721831,FR
1534721832,1534721835,DE
@@ -40500,7 +41478,9 @@
1535515936,1535515967,LT
1535515968,1535521407,FR
1535521408,1535521535,NL
-1535521536,1535537007,FR
+1535521536,1535535991,FR
+1535535992,1535535995,PL
+1535535996,1535537007,FR
1535537008,1535537023,DE
1535537024,1535537343,FR
1535537344,1535537407,DE
@@ -40562,7 +41542,8 @@
1535549632,1535549695,PL
1535549696,1535549891,FR
1535549892,1535549895,ES
-1535549896,1535550015,FR
+1535549896,1535549903,PL
+1535549904,1535550015,FR
1535550016,1535550079,IT
1535550080,1535550519,FR
1535550520,1535550523,DE
@@ -40612,7 +41593,9 @@
1535554688,1535554815,IT
1535554816,1535554847,FR
1535554848,1535554863,PT
-1535554864,1535555103,FR
+1535554864,1535554871,FR
+1535554872,1535554875,ES
+1535554876,1535555103,FR
1535555104,1535555135,LT
1535555136,1535555679,FR
1535555680,1535555711,PL
@@ -40676,7 +41659,9 @@
1535562880,1535563007,ES
1535563008,1535563371,FR
1535563372,1535563375,FI
-1535563376,1535563407,FR
+1535563376,1535563395,FR
+1535563396,1535563399,HR
+1535563400,1535563407,FR
1535563408,1535563411,PL
1535563412,1535563455,FR
1535563456,1535563519,IE
@@ -40773,7 +41758,8 @@
1535836160,1535868927,CZ
1535868928,1535901695,BG
1535901696,1535934463,GR
-1535934464,1535967231,KW
+1535934464,1535966975,KW
+1535966976,1535967231,IT
1535967232,1535999999,AT
1536000000,1536032767,NL
1536032768,1536036863,LV
@@ -40914,6 +41900,22 @@
1539072000,1539080191,PL
1539080192,1539088383,UZ
1539088384,1539096575,RU
+1539096576,1539097599,TR
+1539097600,1539098623,RU
+1539098624,1539098879,CR
+1539098880,1539099135,GB
+1539099136,1539099647,US
+1539099648,1539100671,TR
+1539100672,1539101695,LB
+1539101696,1539102719,RU
+1539102720,1539103743,TR
+1539103744,1539104767,RU
+1539104768,1539105791,RO
+1539105792,1539106815,RU
+1539106816,1539107839,NO
+1539107840,1539110911,RU
+1539110912,1539111935,FR
+1539111936,1539112959,BG
1539112960,1539115007,PL
1539115008,1539117055,AE
1539117056,1539123199,PL
@@ -40936,7 +41938,7 @@
1539151872,1539153919,UA
1539153920,1539155967,RU
1539155968,1539160063,NO
-1539160064,1539161087,AT
+1539160064,1539161087,US
1539161088,1539162111,BH
1539162112,1539164159,DE
1539164160,1539166207,DK
@@ -40990,7 +41992,7 @@
1539301376,1539309567,RU
1539309568,1539310591,PL
1539310592,1539311615,IQ
-1539311616,1539312639,GB
+1539311616,1539312639,RU
1539312640,1539313663,DE
1539313664,1539314687,GB
1539314688,1539315711,RU
@@ -41061,7 +42063,9 @@
1539385344,1539385855,PL
1539385856,1539386367,BE
1539386368,1539386623,IT
-1539386624,1539386751,GB
+1539386624,1539386631,GB
+1539386632,1539386639,IT
+1539386640,1539386751,GB
1539386752,1539386815,IT
1539386816,1539386879,GB
1539386880,1539387391,IT
@@ -41292,7 +42296,7 @@
1539547136,1539547647,NL
1539547648,1539548159,IL
1539548160,1539548671,FR
-1539549184,1539549695,GB
+1539548672,1539549695,GB
1539549696,1539550207,RU
1539550208,1539550719,UA
1539551232,1539551743,RS
@@ -41324,8 +42328,7 @@
1539567616,1539568127,DE
1539568128,1539568639,NL
1539568640,1539569151,UA
-1539569152,1539569407,EE
-1539569408,1539569663,FI
+1539569152,1539569663,EE
1539569664,1539570175,UA
1539570176,1539570687,PL
1539570688,1539571199,RU
@@ -41367,14 +42370,15 @@
1539614720,1539615743,NL
1539615744,1539616767,DK
1539616768,1539618815,UA
-1539618816,1539620863,GB
+1539618816,1539619839,GB
+1539619840,1539620863,RU
1539620864,1539622911,UA
1539622912,1539623935,RO
1539623936,1539624959,DE
1539624960,1539625983,ES
1539625984,1539627007,PL
1539627008,1539628031,LB
-1539628032,1539629055,DE
+1539628032,1539629055,US
1539629056,1539630079,BG
1539630080,1539631103,UA
1539631104,1539633151,RU
@@ -41414,7 +42418,8 @@
1539666944,1539667967,CZ
1539667968,1539668991,ES
1539668992,1539670015,RU
-1539670016,1539672063,UA
+1539670016,1539671039,UA
+1539671040,1539672063,RU
1539672064,1539673087,FR
1539673088,1539674111,GB
1539674112,1539675135,UA
@@ -41808,7 +42813,7 @@
1539816704,1539816959,RU
1539816960,1539817215,DK
1539817216,1539817471,TR
-1539817472,1539817727,DE
+1539817472,1539817983,DE
1539817984,1539818239,UA
1539818240,1539818495,NO
1539818496,1539819007,RU
@@ -41903,7 +42908,7 @@
1539875840,1539876863,RU
1539876864,1539877887,ES
1539877888,1539878911,PL
-1539878912,1539879935,GB
+1539878912,1539879935,RU
1539879936,1539880959,UA
1539880960,1539881983,PL
1539881984,1539883007,NL
@@ -41918,7 +42923,8 @@
1539891200,1539893247,RU
1539893248,1539894271,UA
1539894272,1539895295,PL
-1539895296,1539896319,GB
+1539895296,1539895807,GB
+1539895808,1539896319,JP
1539896320,1539897343,ES
1539897344,1539898367,UA
1539898368,1539899391,LT
@@ -41949,7 +42955,7 @@
1539922944,1539923967,SE
1539923968,1539924991,GE
1539924992,1539926015,DE
-1539926016,1539927039,GB
+1539926016,1539927039,RU
1539927040,1539928063,UA
1539928064,1539930111,RU
1539930112,1539931135,PL
@@ -41970,7 +42976,8 @@
1539946496,1539947519,RU
1539947520,1539948543,UA
1539948544,1539949567,RO
-1539949568,1539950847,GB
+1539949568,1539950591,RU
+1539950592,1539950847,GB
1539950848,1539951103,RU
1539951104,1539951615,UA
1539951616,1539953663,RU
@@ -41994,7 +43001,7 @@
1539976192,1539977215,RU
1539977216,1539978239,DE
1539978240,1539979263,CZ
-1539979264,1539980287,UA
+1539979264,1539980287,RU
1539980288,1539981311,VG
1539981312,1539982335,SI
1539982336,1539983359,RU
@@ -42022,6 +43029,7 @@
1540007936,1540008959,IL
1540008960,1540011007,PL
1540011008,1540013055,RU
+1540013056,1540014079,ES
1540014080,1540015103,PL
1540015104,1540016127,RU
1540016128,1540016135,DE
@@ -42085,7 +43093,7 @@
1540075520,1540077567,RU
1540077568,1540078591,FR
1540078592,1540081663,RU
-1540081664,1540082687,DE
+1540081664,1540083711,DE
1540083712,1540084735,RU
1540084736,1540085759,NL
1540085760,1540087807,PL
@@ -42151,8 +43159,7 @@
1540153344,1540154367,KR
1540154368,1540156415,RU
1540156416,1540157439,UZ
-1540157440,1540158463,RU
-1540158464,1540159487,GB
+1540157440,1540159487,RU
1540159488,1540160511,IT
1540160512,1540162559,RU
1540162560,1540163583,UA
@@ -42956,7 +43963,7 @@
1540624128,1540624383,RS
1540624384,1540624639,IR
1540624640,1540624895,BG
-1540624896,1540625151,GB
+1540624896,1540625407,GB
1540625664,1540625919,FR
1540625920,1540626175,UA
1540626176,1540626431,RO
@@ -43358,9 +44365,7 @@
1540750336,1540750591,DE
1540750592,1540751103,TR
1540751104,1540752383,PL
-1540752384,1540752767,GB
-1540752768,1540752895,FR
-1540752896,1540753407,GB
+1540752384,1540753407,GB
1540753408,1540754431,DE
1540754432,1540755455,RO
1540755456,1540756479,UA
@@ -43374,7 +44379,7 @@
1540764672,1540765695,PL
1540765696,1540766719,RU
1540766720,1540767743,IT
-1540767744,1540768767,DE
+1540767744,1540768767,US
1540768768,1540769791,RU
1540769792,1540770815,IT
1540770816,1540771839,RU
@@ -43408,7 +44413,7 @@
1540803584,1540804607,RU
1540804608,1540805631,UA
1540805632,1540806655,RU
-1540806656,1540807679,BG
+1540806656,1540807679,NL
1540807680,1540809727,RU
1540809728,1540810751,GB
1540810752,1540811775,UA
@@ -43684,8 +44689,7 @@
1540944640,1540944895,DE
1540944896,1540945151,UA
1540945152,1540945407,DE
-1540945408,1540945663,GB
-1540945664,1540945919,AT
+1540945408,1540945919,GB
1540945920,1540946175,DE
1540946176,1540946431,AT
1540946432,1540946943,UA
@@ -43739,7 +44743,7 @@
1540973568,1540974079,UA
1540974080,1540974591,RU
1540974592,1540975103,PL
-1540975104,1540975615,GB
+1540975104,1540975615,US
1540975616,1540976639,RU
1540976640,1540977151,UA
1540977152,1540977663,PL
@@ -43862,17 +44866,15 @@
1541014528,1541015551,AM
1541015552,1541016575,RU
1541016576,1541018623,UA
-1541018624,1541019647,GB
-1541019648,1541020671,RU
+1541018624,1541020671,RU
1541020672,1541022719,UA
-1541022720,1541023417,GB
+1541022720,1541023417,RU
1541023418,1541023418,UA
-1541023419,1541023743,GB
-1541023744,1541024767,RU
+1541023419,1541024767,RU
1541024768,1541025791,UA
1541025792,1541026815,RU
1541026816,1541027839,LV
-1541027840,1541028863,GB
+1541027840,1541028863,RU
1541028864,1541029887,PL
1541029888,1541030911,DE
1541030912,1541031935,PL
@@ -44107,7 +45109,7 @@
1541182976,1541183231,SE
1541183232,1541183487,UA
1541183488,1541183743,RU
-1541183744,1541183999,DE
+1541183744,1541183999,NL
1541184000,1541184255,BE
1541184256,1541184511,RU
1541184512,1541184767,SI
@@ -44125,7 +45127,7 @@
1541187584,1541187839,IT
1541187840,1541188351,RU
1541188608,1541188863,HU
-1541188864,1541189119,RU
+1541188864,1541189119,EE
1541189120,1541189375,UA
1541189376,1541189631,GB
1541189888,1541190143,PL
@@ -44488,8 +45490,7 @@
1541374208,1541374463,DE
1541374464,1541374719,PL
1541374720,1541374975,NL
-1541374976,1541375231,GR
-1541375232,1541375487,LT
+1541374976,1541375487,GR
1541375488,1541375999,PL
1541376000,1541376255,UA
1541376256,1541376767,RU
@@ -44886,7 +45887,7 @@
1541615616,1541615871,CH
1541615872,1541616127,SE
1541616128,1541617407,RU
-1541617408,1541617663,AT
+1541617408,1541617663,DE
1541617664,1541619199,PL
1541619200,1541619455,GB
1541619456,1541620735,PL
@@ -44897,8 +45898,7 @@
1541622272,1541622527,RU
1541622528,1541622783,NL
1541622784,1541623295,PL
-1541623296,1541623551,GB
-1541623552,1541623807,RU
+1541623296,1541623807,GB
1541623808,1541624831,PL
1541624832,1541625855,IR
1541625856,1541626367,PL
@@ -45379,7 +46379,7 @@
1541903360,1541904383,UA
1541904384,1541904639,PL
1541904640,1541904895,SE
-1541904896,1541905407,GB
+1541904896,1541905407,DE
1541905664,1541905919,PL
1541905920,1541906431,RS
1541906432,1541906687,UA
@@ -45680,7 +46680,7 @@
1542099456,1542099711,PL
1542099712,1542099967,RU
1542099968,1542100223,NL
-1542100224,1542100479,GB
+1542100224,1542100479,DK
1542100480,1542100991,RO
1542100992,1542102015,RU
1542102016,1542103039,RO
@@ -46263,7 +47263,7 @@
1542436864,1542437119,RU
1542437120,1542437375,PL
1542437376,1542437631,NL
-1542437632,1542437887,UA
+1542437632,1542437887,CZ
1542437888,1542438399,SE
1542438400,1542438655,SC
1542438656,1542438911,RU
@@ -46472,8 +47472,7 @@
1542602752,1542619135,MD
1542619136,1542619391,GB
1542619392,1542627327,ES
-1542627328,1542627583,NL
-1542627584,1542627839,RU
+1542627328,1542627839,RU
1542627840,1542628095,FR
1542628096,1542630399,RU
1542630400,1542630655,GB
@@ -46509,32 +47508,27 @@
1542670848,1542671359,NL
1542671360,1542671871,FR
1542671872,1542672383,AT
-1542672384,1542673407,NL
-1542673408,1542674687,RU
+1542672384,1542674431,NL
+1542674432,1542674687,RU
1542674688,1542674943,US
1542674944,1542675455,RU
-1542675456,1542675711,US
-1542675712,1542675967,RU
-1542675968,1542676223,US
-1542676224,1542681087,RU
+1542675456,1542676479,US
+1542676480,1542681087,RU
1542681088,1542681343,GB
1542681600,1542683135,RU
1542683136,1542683391,SK
1542683392,1542683647,RS
1542683648,1542684159,RU
1542684160,1542684671,IR
-1542684672,1542684927,LT
+1542684672,1542684927,ES
1542684928,1542685183,RU
-1542685184,1542685695,LT
+1542685184,1542685695,ES
1542685696,1542685951,RU
-1542685952,1542686719,LT
-1542686720,1542687743,US
-1542687744,1542688767,LT
+1542685952,1542688767,ES
1542688768,1542689791,FR
-1542689792,1542690815,LT
-1542690816,1542691327,ES
+1542689792,1542691327,ES
1542691328,1542691839,PT
-1542691840,1542692863,LT
+1542691840,1542692863,ES
1542692864,1542696959,IR
1542696960,1542697983,ES
1542697984,1542699007,UA
@@ -46612,6 +47606,14 @@
1542839296,1542839551,DE
1542839808,1542840063,CY
1542840064,1542840319,UA
+1542840320,1542841343,RU
+1542841344,1542842367,IR
+1542842368,1542843391,RO
+1542843392,1542844415,RU
+1542844416,1542845439,NL
+1542845440,1542846463,IE
+1542846464,1542847487,LB
+1542847488,1542848511,RO
1542848512,1542849535,RU
1542849536,1542850559,UA
1542850560,1542851583,GB
@@ -46639,8 +47641,9 @@
1542904832,1542914047,UA
1542914048,1542923263,RU
1542923264,1542923775,BG
-1542923776,1542929407,UA
-1542929408,1542930431,KG
+1542923776,1542927359,UA
+1542927360,1542928383,SA
+1542928384,1542930431,KG
1542930432,1542930943,CZ
1542930944,1542931455,IR
1542931456,1542932479,RU
@@ -46709,23 +47712,30 @@
1546016000,1546016255,DE
1546016256,1546017969,RU
1546017970,1546017970,CZ
-1546017971,1546018303,RU
-1546018304,1546018815,FR
+1546017971,1546018047,RU
+1546018048,1546018303,UA
+1546018304,1546018559,FR
+1546018560,1546018815,RU
1546018816,1546027007,UA
1546027008,1546028031,RU
1546028032,1546028543,US
1546028544,1546029055,KR
1546029056,1546030079,RU
1546030080,1546030335,NL
-1546030336,1546032127,RU
+1546030336,1546031103,RU
+1546031104,1546032127,LU
1546032128,1546032639,US
1546032640,1546033151,BR
-1546033152,1546035199,RU
+1546033152,1546033663,RU
+1546033664,1546034175,NL
+1546034176,1546035199,LU
1546035200,1546035711,KR
1546035712,1546036223,LU
1546036224,1546037247,KR
1546037248,1546038271,US
-1546038272,1546039295,LU
+1546038272,1546038527,LU
+1546038528,1546038783,US
+1546038784,1546039295,IT
1546039296,1546039807,US
1546039808,1546040063,JP
1546040064,1546040319,US
@@ -46752,20 +47762,21 @@
1546104832,1546108927,IE
1546108928,1546113023,IM
1546113024,1546121215,RU
-1546121216,1546121727,ES
+1546121216,1546121727,FR
1546121728,1546121983,IT
-1546121984,1546122463,ES
+1546121984,1546121987,ES
+1546121988,1546122463,FR
1546122464,1546122479,DZ
-1546122480,1546122633,ES
+1546122480,1546122633,FR
1546122634,1546122641,GB
1546122642,1546122642,DE
-1546122643,1546122649,ES
+1546122643,1546122649,FR
1546122650,1546122650,PT
-1546122651,1546122838,ES
-1546122839,1546122839,FR
-1546122840,1546124191,ES
+1546122651,1546122696,FR
+1546122697,1546122704,ES
+1546122705,1546124191,FR
1546124192,1546124223,DZ
-1546124224,1546125311,ES
+1546124224,1546125311,FR
1546125312,1546256383,GB
1546256384,1546264575,RU
1546264576,1546266623,TR
@@ -46782,15 +47793,17 @@
1546283464,1546283471,FR
1546283472,1546283521,DE
1546283522,1546283523,FR
-1546283524,1546283623,DE
+1546283524,1546283531,DE
+1546283532,1546283533,FR
+1546283534,1546283623,DE
1546283624,1546283631,FR
1546283632,1546283693,DE
1546283694,1546283695,FR
-1546283696,1546284287,DE
+1546283696,1546284047,DE
+1546284048,1546284055,FR
+1546284056,1546284287,DE
1546284288,1546284291,FR
-1546284292,1546284329,DE
-1546284330,1546284331,FR
-1546284332,1546285055,DE
+1546284292,1546285055,DE
1546285056,1546287103,PL
1546287104,1546289151,GB
1546289152,1546291199,RU
@@ -46861,8 +47874,10 @@
1546733568,1546735615,GP
1546735616,1546737663,MQ
1546737664,1546741759,GP
-1546741760,1546743807,GF
-1546743808,1546747903,MQ
+1546741760,1546743551,FR
+1546743552,1546743807,GF
+1546743808,1546744831,FR
+1546744832,1546747903,MQ
1546747904,1546764287,RU
1546764288,1546780671,KZ
1546780672,1546797055,IR
@@ -46872,7 +47887,9 @@
1546860544,1546862591,MD
1546862592,1546878975,GE
1546878976,1546895359,DE
-1546895360,1546911743,IE
+1546895360,1546895487,IE
+1546895488,1546895615,GB
+1546895616,1546911743,IE
1546911744,1546928127,SK
1546928128,1546944511,GB
1546944512,1546960895,UA
@@ -46882,9 +47899,7 @@
1547010048,1547026431,SI
1547026432,1547034623,ES
1547034624,1547036671,RU
-1547036672,1547036927,SE
-1547036928,1547037183,NO
-1547037184,1547038719,SE
+1547036672,1547038719,SE
1547038720,1547040767,GB
1547040768,1547042815,NL
1547042816,1547059199,ES
@@ -47011,7 +48026,9 @@
1548182016,1548182527,HK
1548182528,1548222463,NL
1548222464,1548746751,DE
-1548746752,1549271039,RO
+1548746752,1549267876,RO
+1549267877,1549267877,IT
+1549267878,1549271039,RO
1549271040,1549795327,FR
1549795328,1550057471,AE
1550057472,1550188543,RU
@@ -47064,6 +48081,7 @@
1551516672,1551517695,IT
1551517696,1551518719,ES
1551528960,1551529983,FR
+1551529984,1551532031,IT
1551544320,1551547391,DE
1551548416,1551551487,DE
1551556608,1551558655,FR
@@ -47072,7 +48090,6 @@
1551564800,1551572991,FR
1551577088,1551580159,NL
1551580350,1551580350,US
-1551581184,1551589375,GB
1551604480,1551604735,SE
1551630336,1551892479,RU
1551892480,1554514250,FR
@@ -47166,7 +48183,9 @@
1558115328,1558115455,NL
1558115456,1558118399,FR
1558118400,1558119423,DE
-1558119424,1558120959,RU
+1558119424,1558120191,RU
+1558120192,1558120447,LU
+1558120448,1558120959,RU
1558120960,1558121983,BR
1558121984,1558122495,LU
1558122496,1558123007,SG
@@ -47187,28 +48206,29 @@
1558134016,1558134271,KR
1558134272,1558134783,JP
1558134784,1558135039,RU
-1558135040,1558135295,CN
+1558135040,1558135295,LU
1558135296,1558135551,US
1558135552,1558135552,RU
-1558135553,1558135807,CN
+1558135553,1558135807,LU
1558135808,1558136319,US
-1558136320,1558136575,CN
+1558136320,1558136575,LU
1558136576,1558136831,DE
1558136832,1558137087,RU
1558137088,1558137343,KR
1558137344,1558137855,CZ
-1558137856,1558138879,CN
+1558137856,1558138879,LU
1558138880,1558139135,RU
1558139136,1558139391,NL
-1558139392,1558139647,US
-1558139648,1558140159,LU
+1558139392,1558139903,US
+1558139904,1558140159,LU
1558140160,1558140671,SG
1558140672,1558141183,LU
1558141184,1558141184,CY
1558141185,1558141439,LU
1558141440,1558141695,CY
1558141696,1558141951,RU
-1558141952,1558142463,PL
+1558141952,1558142207,PL
+1558142208,1558142463,IT
1558142464,1558142719,US
1558142720,1558142975,SG
1558142976,1558143231,US
@@ -47254,7 +48274,7 @@
1559236608,1559240703,IL
1559240704,1559248895,BA
1559248896,1559257087,LV
-1559257088,1559265279,UA
+1559257088,1559265279,CH
1559265280,1559269375,RU
1559269376,1559270399,NL
1559270400,1559271423,US
@@ -47284,7 +48304,14 @@
1559379456,1559379967,US
1559379968,1559388159,RU
1559388160,1559396351,UA
-1559396352,1559404543,GB
+1559396352,1559405567,GB
+1559405568,1559406591,RU
+1559406592,1559407615,LB
+1559407616,1559408639,IT
+1559408640,1559409663,BG
+1559409664,1559410687,PL
+1559410688,1559411711,GB
+1559411712,1559412735,US
1559412736,1559420927,IR
1559420928,1559429119,HR
1559429120,1559437311,FR
@@ -47312,6 +48339,14 @@
1559617536,1559625727,GB
1559625728,1559633919,DK
1559633920,1559642111,IT
+1559642112,1559643135,ES
+1559643136,1559644159,DE
+1559644160,1559645183,GB
+1559645184,1559646207,RU
+1559646208,1559647231,ES
+1559647232,1559648255,DE
+1559648256,1559649279,RU
+1559649280,1559650303,MD
1559650304,1559658495,IT
1559658496,1559662591,RU
1559662592,1559663615,IR
@@ -47321,7 +48356,20 @@
1559683072,1559691263,GB
1559691264,1559756799,BG
1559756800,1559789567,AT
-1559789568,1559822335,RU
+1559789568,1559824383,RU
+1559824384,1559825407,ES
+1559825408,1559826431,RU
+1559826432,1559827455,CY
+1559827456,1559828479,AT
+1559828480,1559829503,CY
+1559829504,1559830527,CZ
+1559830528,1559831551,JP
+1559831552,1559832575,NL
+1559832576,1559833599,FR
+1559833600,1559835647,DE
+1559835648,1559836671,RS
+1559836672,1559837695,IR
+1559837696,1559838719,TR
1559838720,1559855103,UA
1559855104,1559887871,HU
1559887872,1559920639,PT
@@ -47339,7 +48387,8 @@
1559941888,1559943167,DE
1559943168,1559944191,LU
1559944192,1559945215,FR
-1559945216,1559946751,GB
+1559945216,1559945727,LU
+1559945728,1559946751,GB
1559946752,1559947519,DE
1559947520,1559948287,LU
1559948288,1559948288,GB
@@ -47355,8 +48404,8 @@
1560084480,1560117247,JO
1560117248,1560125439,CZ
1560125440,1560133631,RU
-1560133632,1560136959,IR
-1560136960,1560138138,GB
+1560133632,1560137471,IR
+1560137472,1560138138,GB
1560138139,1560138139,RU
1560138140,1560138239,GB
1560138240,1560140799,RU
@@ -47375,13 +48424,18 @@
1565523968,1565655039,RU
1565655040,1565786111,AT
1565786112,1565917183,BY
-1565917184,1565992464,RS
+1565917184,1565964287,RS
+1565964288,1565965311,XK
+1565965312,1565992464,RS
1565992465,1565992465,AL
-1565992466,1566048255,RS
+1565992466,1566031871,RS
+1566031872,1566032895,XK
+1566032896,1566048255,RS
1566048256,1566052351,RU
1566052352,1566053375,DE
1566053376,1566054399,ES
-1566054400,1566056447,CZ
+1566054400,1566055423,RU
+1566055424,1566056447,CZ
1566056448,1566060543,IT
1566060544,1566064639,UA
1566064640,1566067199,IR
@@ -47418,7 +48472,7 @@
1566191616,1566195711,FI
1566195712,1566196735,NL
1566196736,1566197759,CH
-1566197760,1566198783,DE
+1566197760,1566198783,TW
1566198784,1566199807,ES
1566199808,1566207999,RU
1566208000,1566212095,DK
@@ -47540,7 +48594,7 @@
1566445568,1566447615,PL
1566447616,1566451711,IT
1566451712,1566451967,IL
-1566451968,1566452032,NL
+1566451968,1566452032,IE
1566452033,1566452033,IT
1566452034,1566452034,FR
1566452035,1566452035,DE
@@ -47548,7 +48602,8 @@
1566452037,1566452037,ES
1566452038,1566452038,IL
1566452039,1566452039,AT
-1566452040,1566452043,NL
+1566452040,1566452042,IE
+1566452043,1566452043,NL
1566452044,1566452045,GB
1566452046,1566452046,SE
1566452047,1566452047,CH
@@ -47558,7 +48613,9 @@
1566452052,1566452052,CH
1566452053,1566452053,GB
1566452054,1566452057,UA
-1566452058,1566452223,NL
+1566452058,1566452071,IE
+1566452072,1566452075,NL
+1566452076,1566452223,IE
1566452224,1566453759,IL
1566453760,1566455807,IQ
1566455808,1566457855,PT
@@ -47629,11 +48686,7 @@
1567293440,1567358975,IE
1567358976,1567424511,PT
1567424512,1567490047,CY
-1567490048,1567498239,IR
-1567498240,1567506431,GB
-1567506432,1567531007,IR
-1567531008,1567532031,GB
-1567532032,1567535103,IR
+1567490048,1567535103,IR
1567535104,1567539199,GB
1567539200,1567555583,IR
1567555584,1567621119,AT
@@ -47664,7 +48717,7 @@
1567711488,1567711743,PL
1567711744,1567712511,RO
1567712512,1567712767,PL
-1567712768,1567713023,GB
+1567712768,1567713023,ES
1567713024,1567713279,RO
1567713280,1567713535,AT
1567713536,1567714815,RO
@@ -47801,7 +48854,9 @@
1567883264,1567948799,MD
1567948800,1567961087,IR
1567961088,1567965183,MD
-1567965184,1567966207,RO
+1567965184,1567965439,RO
+1567965440,1567965695,ES
+1567965696,1567966207,RO
1567966208,1567969279,MD
1567969280,1567973375,ES
1567973376,1567981567,IR
@@ -47859,7 +48914,8 @@
1568120832,1568122879,MD
1568122880,1568125439,RO
1568125440,1568125951,US
-1568125952,1568129535,RO
+1568125952,1568126463,DE
+1568126464,1568129535,RO
1568129536,1568129791,IT
1568129792,1568130047,RO
1568130048,1568133119,MD
@@ -47867,15 +48923,22 @@
1568137216,1568138239,RO
1568138240,1568141311,MD
1568141312,1568145407,DE
-1568145408,1568178175,RO
+1568145408,1568169983,RO
+1568169984,1568178175,US
1568178176,1568210943,RU
1568210944,1568243711,GB
1568243712,1568276479,GP
1568276480,1568309247,DE
1568309248,1568342015,RO
-1568342016,1568368895,BG
-1568368896,1568369151,DE
-1568369152,1568374783,BG
+1568342016,1568369043,BG
+1568369044,1568369044,DE
+1568369045,1568369049,BG
+1568369050,1568369050,DE
+1568369051,1568369062,BG
+1568369063,1568369063,DE
+1568369064,1568369076,BG
+1568369077,1568369077,DE
+1568369078,1568374783,BG
1568374784,1568440319,RU
1568440320,1568473087,NO
1568473088,1568505855,BY
@@ -47885,15 +48948,7 @@
1568571392,1568604159,LB
1568604160,1568636927,UA
1568636928,1569193983,DE
-1569193984,1569284991,HR
-1569284992,1569285119,DE
-1569285120,1569403135,HR
-1569403136,1569403391,DE
-1569403392,1569484799,HR
-1569484800,1569484927,DK
-1569484928,1569620607,HR
-1569620608,1569620735,GB
-1569620736,1569718271,HR
+1569193984,1569718271,HR
1569718272,1570242559,IT
1570242560,1570275327,GB
1570275328,1570308095,BG
@@ -48019,11 +49074,12 @@
1571456000,1571456511,UA
1571456512,1571456767,CZ
1571456768,1571457023,UA
-1571457024,1571457535,BY
+1571457024,1571457535,CZ
1571457536,1571458185,RU
1571458186,1571458186,UA
1571458187,1571458559,RU
-1571458560,1571459071,BY
+1571458560,1571458815,CZ
+1571458816,1571459071,BY
1571459072,1571463167,UA
1571463168,1571464191,UZ
1571464192,1571465215,BY
@@ -48124,7 +49180,7 @@
1571549184,1571550207,UA
1571550208,1571550463,RU
1571550464,1571550719,UA
-1571550720,1571551231,RU
+1571550720,1571551231,CZ
1571551232,1571553279,UA
1571553280,1571684351,IL
1571684352,1571686399,ES
@@ -48195,6 +49251,24 @@
1571848192,1571864575,ES
1571864576,1571880959,PL
1571880960,1571897343,RU
+1571897344,1571898367,DE
+1571898368,1571899391,FR
+1571899392,1571899647,US
+1571899648,1571899903,DE
+1571899904,1571900159,GB
+1571900160,1571901439,FR
+1571901440,1571902463,HK
+1571902464,1571903487,FR
+1571903488,1571904511,PL
+1571904512,1571905535,RU
+1571905536,1571906559,DE
+1571906560,1571907583,TR
+1571907584,1571908607,DE
+1571908608,1571909631,RU
+1571909632,1571910655,ES
+1571910656,1571911679,RU
+1571911680,1571912703,GB
+1571912704,1571913727,DE
1571913728,1571930111,GE
1571930112,1571946495,LV
1571946496,1571962879,SA
@@ -48285,17 +49359,15 @@
1572442112,1572446207,RU
1572446208,1572447231,NL
1572447232,1572448255,RU
-1572448256,1572449279,DE
+1572448256,1572449279,US
1572449280,1572458495,RU
1572458496,1572462591,UA
1572462592,1572466687,LB
1572466688,1572470783,EE
1572470784,1572474879,DE
-1572474880,1572475391,ZA
-1572475392,1572483071,GB
+1572474880,1572483071,GB
1572483072,1572487167,RU
-1572487168,1572491007,RS
-1572491008,1572491263,LU
+1572487168,1572491263,RS
1572491264,1572495359,IT
1572495360,1572499455,RU
1572499456,1572503551,TR
@@ -48382,7 +49454,7 @@
1572659200,1572661247,IT
1572661248,1572663295,NO
1572663296,1572665343,DE
-1572665344,1572667391,JP
+1572665344,1572667391,NL
1572667392,1572669439,GB
1572669440,1572673535,RU
1572673536,1572675583,AT
@@ -48399,8 +49471,8 @@
1572691968,1572694015,SA
1572694016,1572696063,GB
1572696064,1572698111,HU
-1572698112,1572699135,ES
-1572699136,1572700159,RO
+1572698112,1572699647,ES
+1572699648,1572700159,RO
1572700160,1572702207,NL
1572702208,1572704255,IT
1572704256,1572706303,RU
@@ -48512,7 +49584,9 @@
1578588160,1578590207,PL
1578590208,1578590283,FR
1578590284,1578590287,GB
-1578590288,1578590639,FR
+1578590288,1578590511,FR
+1578590512,1578590527,PL
+1578590528,1578590639,FR
1578590640,1578590647,CZ
1578590648,1578590787,FR
1578590788,1578590791,ES
@@ -48533,14 +49607,18 @@
1578591248,1578591263,GB
1578591264,1578591407,FR
1578591408,1578591411,ES
-1578591412,1578591575,FR
+1578591412,1578591463,FR
+1578591464,1578591479,PL
+1578591480,1578591575,FR
1578591576,1578591579,DE
1578591580,1578591583,ES
1578591584,1578591695,FR
1578591696,1578591699,ES
1578591700,1578591791,FR
1578591792,1578591795,ES
-1578591796,1578591935,FR
+1578591796,1578591887,FR
+1578591888,1578591891,PL
+1578591892,1578591935,FR
1578591936,1578591939,DE
1578591940,1578591999,FR
1578592000,1578592031,DE
@@ -48569,7 +49647,9 @@
1578592768,1578592783,DE
1578592784,1578592803,FR
1578592804,1578592807,PL
-1578592808,1578593023,FR
+1578592808,1578592859,FR
+1578592860,1578592863,PL
+1578592864,1578593023,FR
1578593024,1578593279,DE
1578593280,1578593359,FR
1578593360,1578593375,DE
@@ -48590,15 +49670,23 @@
1578594056,1578594059,ES
1578594060,1578594087,FR
1578594088,1578594095,CZ
-1578594096,1578594271,FR
+1578594096,1578594223,FR
+1578594224,1578594239,PL
+1578594240,1578594271,FR
1578594272,1578594303,BE
1578594304,1578594307,FR
1578594308,1578594311,FI
-1578594312,1578594351,FR
+1578594312,1578594319,FR
+1578594320,1578594335,PL
+1578594336,1578594351,FR
1578594352,1578594355,GB
1578594356,1578594479,FR
1578594480,1578594495,ES
-1578594496,1578594559,FR
+1578594496,1578594511,FR
+1578594512,1578594515,PL
+1578594516,1578594527,FR
+1578594528,1578594531,PL
+1578594532,1578594559,FR
1578594560,1578594815,ES
1578594816,1578594879,FR
1578594880,1578594895,DE
@@ -48608,7 +49696,9 @@
1578595104,1578595119,GB
1578595120,1578595127,FR
1578595128,1578595131,PL
-1578595132,1578595295,FR
+1578595132,1578595211,FR
+1578595212,1578595215,PL
+1578595216,1578595295,FR
1578595296,1578595327,DE
1578595328,1578595419,FR
1578595420,1578595423,GB
@@ -48623,7 +49713,9 @@
1578595544,1578595639,FR
1578595640,1578595643,DE
1578595644,1578595647,GB
-1578595648,1578595763,FR
+1578595648,1578595703,FR
+1578595704,1578595711,PL
+1578595712,1578595763,FR
1578595764,1578595767,DE
1578595768,1578595807,FR
1578595808,1578595823,ES
@@ -48658,11 +49750,17 @@
1578611168,1578611175,DE
1578611176,1578611183,FR
1578611184,1578611191,ES
-1578611192,1578611423,FR
+1578611192,1578611399,FR
+1578611400,1578611403,GB
+1578611404,1578611423,FR
1578611424,1578611439,CZ
-1578611440,1578611871,FR
+1578611440,1578611455,FR
+1578611456,1578611583,NL
+1578611584,1578611871,FR
1578611872,1578611887,GB
-1578611888,1578611967,FR
+1578611888,1578611903,FR
+1578611904,1578611907,PL
+1578611908,1578611967,FR
1578611968,1578611971,DE
1578611972,1578611979,FR
1578611980,1578611983,DE
@@ -48676,9 +49774,13 @@
1578612320,1578612351,IT
1578612352,1578612495,FR
1578612496,1578612499,DE
-1578612500,1578612623,FR
+1578612500,1578612519,FR
+1578612520,1578612523,PL
+1578612524,1578612623,FR
1578612624,1578612639,DE
-1578612640,1578612907,FR
+1578612640,1578612895,FR
+1578612896,1578612899,PL
+1578612900,1578612907,FR
1578612908,1578612911,ES
1578612912,1578613436,FR
1578613437,1578613437,ES
@@ -48686,7 +49788,8 @@
1578613492,1578613495,IE
1578613496,1578613503,FR
1578613504,1578613567,DE
-1578613568,1578613679,FR
+1578613568,1578613631,PL
+1578613632,1578613679,FR
1578613680,1578613695,ES
1578613696,1578613735,FR
1578613736,1578613739,ES
@@ -48708,7 +49811,9 @@
1578614476,1578614479,UA
1578614480,1578614495,FR
1578614496,1578614511,DE
-1578614512,1578614575,FR
+1578614512,1578614543,FR
+1578614544,1578614559,PL
+1578614560,1578614575,FR
1578614576,1578614583,DE
1578614584,1578614591,GB
1578614592,1578615915,FR
@@ -48755,7 +49860,9 @@
1578784256,1578786047,BG
1578786048,1578786303,GI
1578786304,1578786559,BG
-1578786560,1578788863,GI
+1578786560,1578786815,GI
+1578786816,1578787071,BG
+1578787072,1578788863,GI
1578788864,1578790143,BG
1578790144,1578790399,GI
1578790400,1578790911,GB
@@ -48772,9 +49879,7 @@
1579102464,1579106303,GB
1579106304,1579122687,DE
1579122688,1579155455,RU
-1579155456,1579589503,IT
-1579589504,1579589631,GB
-1579589632,1579679743,IT
+1579155456,1579679743,IT
1579679744,1579745279,PL
1579745280,1579810815,RU
1579810816,1579876351,PL
@@ -48836,7 +49941,9 @@
1580138496,1580204031,SY
1580204032,1580335103,SA
1580335104,1580466175,RU
-1580466176,1580597247,RO
+1580466176,1580587007,RO
+1580587008,1580587519,HU
+1580587520,1580597247,RO
1580597248,1580728319,TR
1580728320,1580990463,AE
1580990464,1581252607,PT
@@ -48903,7 +50010,7 @@
1583693824,1583697919,RU
1583697920,1583702015,TR
1583702016,1583706111,RU
-1583706112,1583707135,DE
+1583706112,1583707135,US
1583707136,1583708159,MD
1583708160,1583709183,IR
1583709184,1583710207,ES
@@ -48919,7 +50026,9 @@
1583751168,1583755263,NO
1583755264,1583756031,SC
1583756032,1583756287,NL
-1583756288,1583759359,SC
+1583756288,1583757567,SC
+1583757568,1583758335,NL
+1583758336,1583759359,SC
1583759360,1583763455,TR
1583763456,1583765503,SY
1583765504,1583766015,RU
@@ -48997,13 +50106,12 @@
1584857936,1584857943,RS
1584857944,1584857951,TR
1584857952,1584857959,AE
-1584857960,1584858111,DE
+1584857960,1584857967,LU
+1584857968,1584858111,DE
1584858112,1584859007,GB
1584859008,1584859135,NL
1584859136,1584922623,GB
-1584922624,1584926975,TR
-1584926976,1584927743,DE
-1584927744,1585184767,TR
+1584922624,1585184767,TR
1585184768,1585190911,PL
1585190912,1585192959,ES
1585192960,1585195007,IT
@@ -49022,8 +50130,8 @@
1585217536,1585219583,FR
1585219584,1585221631,NL
1585221632,1585223679,SK
-1585223680,1585224191,MQ
-1585224192,1585224703,FR
+1585223680,1585224447,FR
+1585224448,1585224703,GP
1585224704,1585224959,GF
1585224960,1585225471,RE
1585225472,1585225727,FR
@@ -49064,7 +50172,7 @@
1585266688,1585270783,DE
1585270784,1585272831,IT
1585272832,1585274879,RU
-1585274880,1585275903,CZ
+1585274880,1585275903,KZ
1585275904,1585276927,DE
1585276928,1585278975,FR
1585278976,1585281023,AL
@@ -49104,7 +50212,8 @@
1585346560,1585348607,GB
1585348608,1585350655,CH
1585350656,1585352703,IT
-1585352704,1585354094,GB
+1585352704,1585353727,PT
+1585353728,1585354094,GB
1585354095,1585354095,PT
1585354096,1585354751,GB
1585354752,1585356799,RU
@@ -49148,7 +50257,13 @@
1585438720,1585440767,DE
1585440768,1585442815,IT
1585442816,1585446911,RU
-1585446912,1585577983,KW
+1585446912,1585467647,KW
+1585467648,1585467679,IT
+1585467680,1585467695,KW
+1585467696,1585467711,IT
+1585467712,1585467743,KW
+1585467744,1585467903,IT
+1585467904,1585577983,KW
1585577984,1585624156,DE
1585624157,1585624157,GS
1585624158,1585643519,DE
@@ -49186,9 +50301,7 @@
1586216960,1586225151,BG
1586225152,1586233343,RU
1586233344,1586241535,FR
-1586241536,1586242103,SE
-1586242104,1586242111,NO
-1586242112,1586249727,SE
+1586241536,1586249727,SE
1586249728,1586257919,SI
1586257920,1586260479,SE
1586260736,1586261759,SE
@@ -49287,12 +50400,28 @@
1587167232,1587175423,RU
1587175424,1587177471,PL
1587177472,1587179519,RS
+1587183616,1587184639,RU
+1587184640,1587186687,DE
+1587186688,1587187711,IT
+1587187712,1587188735,EE
+1587188736,1587189759,DE
+1587189760,1587190783,AL
+1587190784,1587191807,GB
+1587191808,1587192831,DE
+1587192832,1587193855,CH
+1587193856,1587194879,NL
+1587194880,1587195903,DE
+1587195904,1587197951,CZ
+1587197952,1587198975,ES
+1587198976,1587199999,RU
1587200000,1587216383,UA
1587216384,1587322367,BG
1587322368,1587322623,RS
1587322624,1587347455,BG
1587347456,1587412991,NL
-1587412992,1587418623,RU
+1587412992,1587418111,RU
+1587418112,1587418367,UA
+1587418368,1587418623,RU
1587418624,1587418879,FR
1587418880,1587419135,IN
1587419136,1587420159,BG
@@ -49335,7 +50464,8 @@
1588620288,1588620543,RO
1588620544,1588620799,US
1588620800,1588621311,RO
-1588621312,1588625407,MD
+1588621312,1588623359,MD
+1588623360,1588625407,SK
1588625408,1588626175,RO
1588626176,1588626431,IT
1588626432,1588627455,RO
@@ -49345,13 +50475,14 @@
1588631552,1588636671,RO
1588636672,1588637695,US
1588637696,1588638719,ES
-1588638720,1588640767,RO
+1588638720,1588639743,RO
+1588639744,1588640255,IT
+1588640256,1588640767,RO
1588640768,1588641279,LT
1588641280,1588641535,RO
1588641536,1588641791,GB
1588641792,1588642303,CH
-1588642304,1588642559,DE
-1588642560,1588642815,NL
+1588642304,1588642815,ES
1588642816,1588643071,RO
1588643072,1588643327,NL
1588643328,1588643839,UA
@@ -49443,7 +50574,9 @@
1589477376,1589510143,RS
1589510144,1589542911,RU
1589542912,1589547007,BG
-1589547008,1589551103,EE
+1589547008,1589548543,EE
+1589548544,1589548799,GG
+1589548800,1589551103,EE
1589551104,1589560319,BG
1589560320,1589561343,GI
1589561344,1589563391,NL
@@ -49454,8 +50587,8 @@
1589574400,1589574655,US
1589574656,1589575679,BG
1589575680,1589608447,CN
-1589608448,1589616639,SE
-1589616640,1589624831,DK
+1589608448,1589622783,SE
+1589622784,1589624831,DK
1589624832,1589626879,SE
1589626880,1589630975,DK
1589630976,1589633023,SE
@@ -49506,9 +50639,8 @@
1590120448,1590122495,IT
1590122496,1590124543,DE
1590124544,1590125567,CZ
-1590125568,1590125823,AT
-1590125824,1590126079,RU
-1590126080,1590126591,AT
+1590125568,1590126079,AT
+1590126080,1590126591,US
1590126592,1590128639,RU
1590128640,1590130687,FI
1590130688,1590132735,FR
@@ -49622,7 +50754,7 @@
1592285184,1592287231,RU
1592287232,1592289279,RO
1592289280,1592291327,RU
-1592291328,1592293375,SM
+1592291328,1592293375,NL
1592293376,1592295423,LT
1592295424,1592299519,RU
1592299520,1592303615,PL
@@ -49648,8 +50780,7 @@
1592596480,1592598527,DE
1592598528,1592600575,FI
1592600576,1592602623,NL
-1592602624,1592604671,GB
-1592604672,1592606719,FI
+1592602624,1592606719,GB
1592606720,1592610815,SG
1592610816,1592612863,DE
1592612864,1592623103,FI
@@ -49690,9 +50821,7 @@
1593135104,1593135359,GB
1593135360,1593135615,IE
1593135616,1593136639,GB
-1593136640,1593136895,IE
-1593136896,1593137151,GB
-1593137152,1593139199,IE
+1593136640,1593139199,IE
1593139200,1593140223,NL
1593140224,1593147391,IE
1593147392,1593163775,RU
@@ -49777,9 +50906,7 @@
1593638912,1593671679,RU
1593671680,1593704447,HR
1593704448,1593737215,SE
-1593737216,1593754111,PL
-1593754112,1593754367,GB
-1593754368,1593769983,PL
+1593737216,1593769983,PL
1593769984,1593802751,RU
1593802752,1593835519,SE
1593835520,1594884095,TR
@@ -49877,8 +51004,8 @@
1596941056,1596941311,BY
1596941312,1596942079,RU
1596942080,1596942335,PT
-1596942336,1596945663,UA
-1596945664,1596945919,CZ
+1596942336,1596945407,UA
+1596945408,1596945919,CZ
1596945920,1596946431,RU
1596946432,1596946943,CZ
1596946944,1596948479,UA
@@ -49994,7 +51121,9 @@
1599565824,1599567871,SY
1599567872,1599569919,IT
1599569920,1599586303,SI
-1599586304,1599602687,BG
+1599586304,1599600895,BG
+1599600896,1599601151,GB
+1599601152,1599602687,BG
1599602688,1599864831,DE
1599864832,1600126975,PT
1600126976,1600389119,NL
@@ -50186,7 +51315,7 @@
1603081256,1603081263,FI
1603081264,1603081279,GB
1603081280,1603081295,US
-1603081296,1603081407,DE
+1603081296,1603081407,KE
1603081408,1603081471,ES
1603081472,1603082239,KE
1603082240,1603082495,DE
@@ -50245,10 +51374,33 @@
1603207168,1603215359,RU
1603215360,1603219455,DE
1603219456,1603223551,CH
-1603223552,1603226255,FR
+1603223552,1603224319,FR
+1603224320,1603224335,GB
+1603224336,1603224351,BE
+1603224352,1603224367,NL
+1603224368,1603224383,DE
+1603224384,1603224399,CH
+1603224400,1603224415,IT
+1603224416,1603224431,ES
+1603224432,1603224447,US
+1603224448,1603224463,MX
+1603224464,1603224679,FR
+1603224680,1603224687,NL
+1603224688,1603224695,GB
+1603224696,1603224703,DE
+1603224704,1603225607,FR
+1603225608,1603225615,GB
+1603225616,1603225623,DE
+1603225624,1603225631,IT
+1603225632,1603225639,US
+1603225640,1603225647,CN
+1603225648,1603225883,FR
+1603225884,1603225887,GB
+1603225888,1603226255,FR
1603226256,1603226263,DE
1603226264,1603226271,NL
-1603226272,1603227647,FR
+1603226272,1603226279,DE
+1603226280,1603227647,FR
1603227648,1603231743,AT
1603231744,1603235839,IT
1603235840,1603239935,RU
@@ -50278,7 +51430,9 @@
1604059136,1604075519,MK
1604075520,1604091903,RU
1604091904,1604108287,BA
-1604108288,1604111103,DE
+1604108288,1604109823,DE
+1604109824,1604110079,US
+1604110080,1604111103,DE
1604111104,1604112383,ES
1604112384,1604114431,DE
1604114432,1604115455,IR
@@ -50435,12 +51589,16 @@
1605533696,1605566463,HR
1605566464,1605599231,RU
1605599232,1605607423,NL
-1605607424,1605610495,DE
-1605610496,1605611487,NL
+1605607424,1605610527,DE
+1605610528,1605611487,NL
1605611488,1605611519,DE
1605611520,1605615615,NL
-1605615616,1605618687,GB
-1605618688,1605631999,NL
+1605615616,1605619167,GB
+1605619168,1605619199,NL
+1605619200,1605619711,GB
+1605619712,1605623807,NL
+1605623808,1605627903,GB
+1605627904,1605631999,NL
1605632000,1605664767,RS
1605664768,1605697535,MK
1605697536,1605742591,RU
@@ -50482,8 +51640,10 @@
1607573504,1607575551,SE
1607575552,1607577599,GB
1607577600,1607581695,SE
-1607581696,1607598079,DK
-1607598080,1607599103,GB
+1607581696,1607588863,DK
+1607588864,1607589887,SE
+1607589888,1607598079,DK
+1607598080,1607600127,GB
1607600384,1607600639,DE
1607600640,1607600895,AT
1607600896,1607601151,CH
@@ -50502,10 +51662,10 @@
1607607296,1607607551,PL
1607607552,1607608319,IT
1607608320,1607608575,HU
-1607608576,1607609343,SK
+1607608576,1607608831,SK
1607610368,1607611391,GR
1607611392,1607612415,IE
-1607614464,1607618559,GB
+1607614464,1607617535,GB
1607618560,1607620607,ES
1607620608,1607621375,IT
1607621632,1607622655,IT
@@ -50526,11 +51686,13 @@
1607632896,1607633407,SN
1607633408,1607633919,TG
1607633920,1607634431,ZM
+1607634432,1607634687,GB
1607636480,1607636991,ZA
1607638528,1607639039,GB
-1607639040,1607640805,IT
+1607639353,1607639353,IT
1607640806,1607640806,CH
-1607640807,1607642388,IT
+1607641053,1607641053,IT
+1607641088,1607642388,IT
1607642389,1607642389,NL
1607642390,1607647231,IT
1607647232,1607651327,DE
@@ -50540,11 +51702,7 @@
1607663616,1607701433,NL
1607701434,1607701434,RS
1607701435,1607729151,NL
-1607729152,1607770112,SY
-1607770113,1607773183,EG
-1607773184,1607773184,SY
-1607773185,1607774207,EG
-1607774208,1607786495,SY
+1607729152,1607786495,SY
1607786496,1607794687,EG
1607794688,1607860223,RU
1607925760,1607926783,RU
@@ -50628,8 +51786,15 @@
1611227136,1611235327,CA
1611235328,1611243519,OM
1611243520,1611247615,MY
-1611247616,1611251711,AU
-1611251712,1611777023,US
+1611247616,1611249663,AU
+1611249664,1611251711,HK
+1611251712,1611692543,US
+1611692544,1611693567,NL
+1611693568,1611764735,US
+1611764736,1611764991,NL
+1611764992,1611765759,US
+1611765760,1611766015,NL
+1611766016,1611777023,US
1611777024,1611777279,NL
1611777280,1611778047,US
1611778048,1611778559,NL
@@ -50727,9 +51892,12 @@
1654579472,1654579487,CA
1654579488,1654582015,US
1654582016,1654582271,CN
-1654582272,1654585343,US
-1654585344,1654586367,DE
-1654586368,1654595583,US
+1654582272,1654584575,US
+1654584576,1654585343,JP
+1654585344,1654585855,US
+1654585856,1654586367,DE
+1654586368,1654587391,NL
+1654587392,1654595583,US
1654595584,1654596095,CA
1654596096,1654596215,US
1654596216,1654596223,IS
@@ -50761,11 +51929,7 @@
1666731330,1666731330,FR
1666731331,1673527295,US
1673527296,1673560063,CA
-1673560064,1673580095,US
-1673580096,1673580127,CA
-1673580128,1673581599,US
-1673581600,1673581615,CA
-1673581616,1673986047,US
+1673560064,1673986047,US
1673986048,1674051583,CA
1674051584,1674575871,US
1674575872,1677721599,CA
@@ -50839,33 +52003,64 @@
1698136064,1698160639,JP
1698160640,1698162687,CN
1698162688,1698168831,JP
-1698168832,1698185215,IN
-1698185216,1698193407,IT
-1698193408,1698201599,IN
-1698201600,1698209791,IT
-1698209792,1698226175,IN
-1698226176,1698230271,IT
-1698230272,1698232319,IN
-1698232320,1698234367,IT
-1698234368,1698242559,IN
-1698242560,1698246655,IT
-1698246656,1698247679,IN
-1698247680,1698250751,IT
-1698250752,1698283519,IN
-1698283520,1698297855,IT
+1698168832,1698177023,IT
+1698177024,1698181119,IN
+1698181120,1698197503,IT
+1698197504,1698199551,IN
+1698199552,1698216948,IT
+1698216949,1698216949,IN
+1698216950,1698217983,IT
+1698217984,1698220031,IN
+1698220032,1698297855,IT
1698297856,1698299903,IN
1698299904,1698316287,IT
-1698316288,1698324479,IN
-1698324480,1698349055,IT
-1698349056,1698357247,IN
-1698357248,1698383554,IT
+1698316288,1698318335,IN
+1698318336,1698320383,IT
+1698320384,1698322431,IN
+1698322432,1698383554,IT
1698383555,1698383555,IN
-1698383556,1698422783,IT
-1698422784,1698447359,IN
-1698447360,1698451455,IT
-1698451456,1698578431,IN
-1698578432,1698586623,IT
-1698586624,1698693119,IN
+1698383556,1698433023,IT
+1698433024,1698444799,IN
+1698444800,1698445311,IT
+1698445312,1698447359,IN
+1698447360,1698482175,IT
+1698482176,1698484223,IN
+1698484224,1698494463,IT
+1698494464,1698496511,IN
+1698496512,1698529279,IT
+1698529280,1698535423,IN
+1698535424,1698539519,IT
+1698539520,1698543615,IN
+1698543616,1698547711,IT
+1698547712,1698549759,IN
+1698549760,1698551807,IT
+1698551808,1698553855,IN
+1698553856,1698559999,IT
+1698560000,1698562047,IN
+1698562048,1698576383,IT
+1698576384,1698578431,IN
+1698578432,1698594815,IT
+1698594816,1698596863,IN
+1698596864,1698623487,IT
+1698623488,1698625535,IN
+1698625536,1698633727,IT
+1698633728,1698637823,IN
+1698637824,1698641919,IT
+1698641920,1698646015,IN
+1698646016,1698648063,IT
+1698648064,1698652159,IN
+1698652160,1698654207,IT
+1698654208,1698656255,IN
+1698656256,1698658303,IT
+1698658304,1698660351,IN
+1698660352,1698670591,IT
+1698670592,1698672639,IN
+1698672640,1698678783,IT
+1698678784,1698680831,IN
+1698680832,1698684927,IT
+1698684928,1698686975,IN
+1698686976,1698689023,IT
+1698689024,1698693119,IN
1698693120,1699611647,CN
1699611648,1699612671,JP
1699612672,1699614719,LA
@@ -50917,9 +52112,7 @@
1701216256,1701249023,JP
1701249024,1701314559,AU
1701314560,1701576703,CN
-1701576704,1701669375,TH
-1701669376,1701669631,JP
-1701669632,1701707775,TH
+1701576704,1701707775,TH
1701707776,1701724159,JP
1701724160,1701736447,CN
1701736448,1701737471,NZ
@@ -50971,21 +52164,46 @@
1710972672,1710972927,TW
1710972928,1711210495,CN
1711210496,1711276031,ID
+1715863552,1715994623,MW
1715994624,1716518911,MA
1716518912,1717043199,UG
1717043200,1717567487,NG
1717567488,1718091775,MA
-1718091776,1718468607,TN
-1718468608,1718476799,US
-1718476800,1718616063,TN
+1718091776,1718616063,TN
1718616064,1719140351,MU
1719140352,1719664639,SD
-1719762944,1719795711,ZA
+1719681024,1719683071,CD
+1719683072,1719684095,NG
+1719685120,1719697407,ZA
+1719706624,1719707647,SC
+1719709696,1719711743,EG
+1719730176,1719738367,ZA
+1719740416,1719746559,ZA
+1719746560,1719754751,CG
+1719754752,1719779327,ZA
+1719779328,1719787519,US
+1719787520,1719791615,ZA
+1719791616,1719793663,US
+1719793664,1719795711,ZA
+1719795712,1719799807,NG
+1719799808,1719803903,ZA
+1719803904,1719805951,RW
+1719805952,1719807999,ZA
+1719808000,1719809023,SC
+1719809024,1719810047,NG
+1719810048,1719811071,BF
+1719811072,1719812095,MZ
1719812096,1719814143,AO
-1719816192,1719820287,ZA
+1719814144,1719820287,ZA
+1719821568,1719821823,MW
1719821824,1719822079,KE
+1719822080,1719822335,NG
1719822336,1719844863,ZA
1719844864,1719853055,AO
+1719853056,1719855103,CI
+1719855104,1719856127,ML
+1719856128,1719857151,ZA
+1719859200,1719861247,SD
1719861248,1719865343,ZA
1719865344,1719865855,GH
1719865856,1719869439,ZA
@@ -50993,6 +52211,7 @@
1719870464,1719871487,NG
1719871488,1719873535,AO
1719873536,1719875583,MU
+1719875584,1719876607,TD
1719876608,1719877631,ZA
1719877632,1719926783,NG
1719926784,1719930879,ZA
@@ -51003,11 +52222,13 @@
1720065024,1720066047,GA
1720066048,1720077311,ZA
1720077312,1720078335,MU
+1720078336,1720079359,ZA
1720079360,1720080383,BW
1720080384,1720082431,ZA
1720082432,1720086527,BI
1720086528,1720087551,NG
1720087552,1720090879,ZA
+1720090880,1720091135,KE
1720091136,1720091647,GH
1720091648,1720092671,ZA
1720092672,1720093695,BW
@@ -51018,14 +52239,14 @@
1720123392,1720127487,TZ
1720127488,1720131583,GH
1720131584,1720135679,NG
-1720135680,1720139775,SC
+1720135680,1720139775,ZA
1720139776,1720141823,KE
1720141824,1720143871,SC
1720143872,1720147967,KE
1720147968,1720165375,ZA
1720165376,1720166399,GA
1720166400,1720168447,KE
-1720168448,1720170495,CG
+1720168448,1720170495,CD
1720170496,1720171519,CI
1720171520,1720171775,GH
1720171776,1720172031,CM
@@ -51056,6 +52277,7 @@
1720547328,1720566783,ZA
1720566784,1720567807,SO
1720567808,1720568831,SC
+1720568832,1720569855,TN
1720569856,1720570879,ZA
1720570880,1720571903,NG
1720571904,1720572927,GQ
@@ -51078,9 +52300,7 @@
1721607680,1721656575,TN
1721656576,1721656831,MU
1721656832,1721761791,TN
-1721761792,1721777151,MU
-1721777152,1721778175,FR
-1721778176,1722023935,MU
+1721761792,1722023935,MU
1722023936,1722032127,ZA
1722032128,1722034175,NG
1722034176,1722035199,ML
@@ -51104,7 +52324,11 @@
1722085376,1722086399,ZA
1722086400,1722087423,TD
1722087424,1722089471,GQ
-1722089472,1722114047,ZA
+1722089472,1722097663,ZA
+1722097664,1722099711,US
+1722099712,1722101759,ZA
+1722101760,1722103807,US
+1722103808,1722114047,ZA
1722114048,1722118143,ML
1722118144,1722119167,ZW
1722119168,1722121215,ZA
@@ -51302,8 +52526,13 @@
1728345088,1728346111,BD
1728346112,1728346367,AU
1728346368,1728346623,NZ
-1728346624,1728347135,AU
-1728347136,1728348159,SG
+1728346624,1728347147,AU
+1728347148,1728347148,SG
+1728347149,1728347416,AU
+1728347417,1728347417,SG
+1728347418,1728347421,AU
+1728347422,1728347422,SG
+1728347423,1728348159,AU
1728348160,1728349183,VN
1728349184,1728350207,AU
1728350208,1728351231,NZ
@@ -51399,11 +52628,9 @@
1728431872,1728432127,SG
1728432128,1728433151,IN
1728433152,1728435199,VN
-1728435200,1728435711,AU
-1728435712,1728435967,SG
+1728435200,1728435967,AU
1728435968,1728436223,ID
1728436224,1728436479,IN
-1728436480,1728437247,US
1728437248,1728438271,HK
1728438272,1728439295,NZ
1728439296,1728439807,NP
@@ -51688,8 +52915,8 @@
1728701184,1728701439,ID
1728701440,1728702463,WS
1728702464,1728703487,IN
-1728703488,1728703999,NZ
-1728704000,1728705535,AU
+1728703488,1728704511,NZ
+1728704512,1728705535,AU
1728705536,1728706559,HK
1728706560,1728709631,CN
1728709632,1728710655,TW
@@ -51809,7 +53036,9 @@
1728814080,1728815103,JP
1728815104,1728815359,AU
1728815360,1728815871,PG
-1728815872,1728817151,AU
+1728815872,1728816383,AU
+1728816384,1728816639,SG
+1728816640,1728817151,AU
1728817152,1728818175,CN
1728818176,1728819199,VN
1728819200,1728819711,ID
@@ -51927,12 +53156,12 @@
1728919552,1728920575,AU
1728920576,1728921599,JP
1728921600,1728922099,AF
-1728922100,1728922100,DE
-1728922101,1728922102,AF
-1728922103,1728922103,DE
-1728922104,1728922104,AF
-1728922105,1728922105,DE
-1728922106,1728922623,AF
+1728922100,1728922101,DE
+1728922102,1728922103,AF
+1728922104,1728922105,DE
+1728922106,1728922106,AF
+1728922107,1728922107,IT
+1728922108,1728922623,AF
1728922624,1728923647,AU
1728923648,1728924159,HK
1728924160,1728924671,MY
@@ -51995,7 +53224,7 @@
1728977152,1728977407,AU
1728977408,1728977919,BD
1728977920,1728978943,MY
-1728978944,1728979967,CN
+1728978944,1728979967,HK
1728979968,1728980991,MN
1728980992,1728982015,AU
1728982016,1728982527,ID
@@ -52438,7 +53667,9 @@
1729391104,1729391615,ID
1729392640,1729393663,CN
1729393664,1729394687,KR
-1729394688,1729395711,TH
+1729394688,1729394943,TH
+1729394944,1729395199,US
+1729395200,1729395711,TH
1729395712,1729395967,NR
1729395968,1729396735,IN
1729396736,1729397759,CN
@@ -52473,7 +53704,9 @@
1729424384,1729425407,HK
1729426432,1729427455,AU
1729427456,1729428479,CN
-1729428480,1729430527,AU
+1729428480,1729429247,AU
+1729429248,1729429503,NZ
+1729429504,1729430527,AU
1729431552,1729432575,HK
1729432576,1729433599,PH
1729433600,1729433855,IN
@@ -52625,9 +53858,7 @@
1729606656,1729607679,ID
1729607680,1729609727,AU
1729609728,1729609983,PH
-1729609984,1729609999,HK
-1729610000,1729610003,JP
-1729610004,1729610751,HK
+1729609984,1729610751,HK
1729611776,1729612799,ID
1729612800,1729613823,BD
1729613824,1729614847,SG
@@ -53361,8 +54592,8 @@
1730599424,1730599935,VU
1730600960,1730605055,CN
1730605056,1730607103,IN
-1730608128,1730608895,CN
-1730608896,1730609151,HK
+1730608128,1730608639,CN
+1730608640,1730609151,HK
1730609152,1730610687,IN
1730610688,1730610943,MY
1730610944,1730611199,SG
@@ -53581,9 +54812,7 @@
1730895360,1730895871,NL
1730895872,1730898943,CN
1730898944,1730899967,MO
-1730899968,1730900223,IN
-1730900224,1730900479,SG
-1730900480,1730900991,IN
+1730899968,1730900991,IN
1730900992,1730901503,AU
1730901504,1730901759,DE
1730901760,1730902015,AU
@@ -53707,9 +54936,7 @@
1731119104,1731120127,IN
1731120128,1731121151,JP
1731121152,1731121407,AF
-1731121408,1731121649,DE
-1731121650,1731121650,AF
-1731121651,1731121663,DE
+1731121408,1731121663,DE
1731121664,1731122175,AF
1731122176,1731123199,AU
1731123200,1731124223,PF
@@ -53751,7 +54978,7 @@
1731165184,1731166207,IN
1731167232,1731168255,ID
1731168256,1731170303,CN
-1731170304,1731170559,AU
+1731170304,1731170559,SG
1731170560,1731170687,HK
1731170688,1731170815,MY
1731170816,1731171071,AU
@@ -53828,11 +55055,7 @@
1731249152,1731250175,IN
1731250432,1731250687,AU
1731250688,1731251199,CN
-1731251200,1731251711,TH
-1731251712,1731251738,SE
-1731251739,1731251739,TH
-1731251740,1731251967,SE
-1731251968,1731252223,TH
+1731251200,1731252223,TH
1731252224,1731253247,AU
1731253248,1731253759,IN
1731253760,1731254271,AU
@@ -54171,7 +55394,8 @@
1731653632,1731654655,CN
1731654656,1731655679,IN
1731655680,1731657727,VN
-1731657728,1731658751,TH
+1731657728,1731658495,TH
+1731658496,1731658751,MM
1731658752,1731659775,JP
1731659776,1731660031,HK
1731660032,1731660287,ID
@@ -54190,7 +55414,8 @@
1731669928,1731669928,CC
1731669929,1731670015,AU
1731670016,1731671039,TL
-1731671040,1731671551,AU
+1731671040,1731671295,AU
+1731671296,1731671551,SG
1731671552,1731672063,TH
1731672064,1731672575,ID
1731672576,1731672831,AU
@@ -54428,7 +55653,7 @@
1731987456,1731987711,HK
1731987712,1731987967,ID
1731987968,1731988479,SG
-1731988480,1731989503,US
+1731988480,1731989503,CA
1731989504,1731990527,VN
1731990528,1731990783,AU
1731990784,1731991039,IN
@@ -54480,7 +55705,6 @@
1732043776,1732044799,CN
1732044800,1732045823,HK
1732045824,1732046847,CN
-1732046848,1732047871,AU
1732047872,1732048895,IN
1732048896,1732049919,HK
1732049920,1732050943,PH
@@ -54700,9 +55924,9 @@
1732424752,1732424755,CN
1732424756,1732424767,HK
1732424768,1732424831,CN
-1732424832,1732424955,HK
-1732424956,1732424957,CN
-1732424958,1732425727,HK
+1732424832,1732424915,HK
+1732424916,1732424917,CN
+1732424918,1732425727,HK
1732425728,1732426751,KH
1732426752,1732428799,KR
1732428800,1732429823,ID
@@ -54886,9 +56110,7 @@
1732655616,1732655871,IN
1732655872,1732656127,HK
1732656128,1732657151,IN
-1732657152,1732657663,SG
-1732657664,1732657919,PG
-1732657920,1732658175,SG
+1732657152,1732658175,SG
1732658176,1732658431,ID
1732658432,1732658687,IN
1732658688,1732660223,AU
@@ -54899,7 +56121,8 @@
1732662272,1732663295,PK
1732663296,1732663807,NZ
1732663808,1732675583,IN
-1732675584,1732676095,PK
+1732675584,1732675839,PK
+1732675840,1732676095,US
1732676096,1732676351,NZ
1732676352,1732676607,IN
1732676608,1732677631,BD
@@ -55006,7 +56229,7 @@
1732800000,1732800511,ID
1732800512,1732806655,CN
1732806656,1732808703,IN
-1732808704,1732809727,CN
+1732808704,1732809727,HK
1732809728,1732809983,US
1732809984,1732810751,CN
1732810752,1732811775,HK
@@ -55066,7 +56289,8 @@
1732882432,1732883455,CN
1732883456,1732884479,IN
1732885504,1732886527,IN
-1732887040,1732887551,HK
+1732887040,1732887295,HK
+1732887296,1732887551,US
1732887552,1732888575,BD
1732888576,1732889599,AU
1732889600,1732891647,CN
@@ -55140,8 +56364,7 @@
1732966400,1732967423,HK
1732967424,1732968447,TH
1732968448,1732969471,HK
-1732969472,1732970495,AU
-1732970496,1732971519,IN
+1732969472,1732971519,AU
1732971520,1732972543,HK
1732972544,1732973567,CN
1732973568,1732974079,VU
@@ -55219,7 +56442,8 @@
1733057024,1733057279,AU
1733057536,1733058559,CN
1733058560,1733060607,IN
-1733060608,1733061631,US
+1733060608,1733061119,KR
+1733061120,1733061631,SG
1733062656,1733063679,HK
1733063680,1733064703,TH
1733065728,1733065983,SG
@@ -55439,7 +56663,7 @@
1733288960,1733289471,IN
1733289472,1733289727,NZ
1733289728,1733289983,AU
-1733289984,1733291519,IN
+1733289984,1733292031,IN
1733292032,1733293055,CN
1733293056,1733296127,IN
1733296128,1733297151,BD
@@ -55697,7 +56921,8 @@
1733544960,1733545983,BD
1733545984,1733546495,AU
1733546496,1733550079,IN
-1733550080,1733551103,PH
+1733550080,1733550335,IT
+1733550336,1733551103,PH
1733551104,1733551615,NP
1733551616,1733551871,AU
1733551872,1733552127,HK
@@ -55990,8 +57215,7 @@
1733867008,1733867263,IN
1733867264,1733867519,AU
1733867520,1733869567,CN
-1733869568,1733870079,AF
-1733870080,1733870591,PT
+1733869568,1733870591,AF
1733870592,1733874687,ID
1733874688,1733875711,CN
1733875712,1733879039,IN
@@ -56613,11 +57837,13 @@
1734554624,1734557695,CN
1734557696,1734558719,AU
1734558720,1734559743,IN
-1734559744,1734560767,HK
+1734559744,1734560255,HK
+1734560256,1734560767,TW
1734560768,1734561791,CN
1734561792,1734562815,JP
1734562816,1734563327,ID
-1734563328,1734563839,AU
+1734563328,1734563583,KR
+1734563584,1734563839,VN
1734563840,1734564863,TW
1734564864,1734565887,IN
1734565888,1734566911,SG
@@ -56787,7 +58013,9 @@
1734722048,1734722559,ID
1734722560,1734723583,BD
1734723584,1734724607,SG
-1734724608,1734725631,HK
+1734724608,1734725119,KR
+1734725120,1734725375,JP
+1734725376,1734725631,SG
1734725632,1734726655,KH
1734726656,1734727167,IN
1734727168,1734727423,AU
@@ -56812,7 +58040,9 @@
1734738432,1734738687,IN
1734738688,1734738943,JP
1734738944,1734739199,RU
-1734739200,1734739967,HK
+1734739200,1734739455,HK
+1734739456,1734739711,JP
+1734739712,1734739967,HK
1734739968,1734740991,AU
1734740992,1734742015,ID
1734742016,1734743039,US
@@ -56830,8 +58060,7 @@
1734749184,1734749439,HK
1734749440,1734749695,GI
1734749696,1734749951,SG
-1734749952,1734750207,GI
-1734750208,1734750719,HK
+1734749952,1734750719,HK
1734750720,1734751487,NZ
1734751488,1734751743,AU
1734752256,1734753279,IN
@@ -56869,7 +58098,8 @@
1734790144,1734791167,BD
1734791168,1734793215,CN
1734793216,1734794239,BD
-1734794240,1734794751,AF
+1734794240,1734794495,AF
+1734794496,1734794751,DE
1734794752,1734797823,AU
1734797824,1734798079,IN
1734798080,1734798335,SG
@@ -57066,8 +58296,7 @@
1734965248,1734966271,HK
1734966272,1734967295,IN
1734967296,1734968319,ID
-1734968320,1734969087,CN
-1734969088,1734969343,JP
+1734968320,1734969343,CN
1734969344,1734969855,IN
1734969856,1734970111,MY
1734970112,1734970367,AU
@@ -57296,7 +58525,9 @@
1735182848,1735183359,AU
1735183360,1735184383,IN
1735184384,1735186431,CN
-1735186432,1735186943,HK
+1735186432,1735186687,HK
+1735186688,1735186942,CN
+1735186943,1735186943,HK
1735186944,1735187455,KH
1735187456,1735187711,IN
1735187712,1735187967,BD
@@ -57800,9 +59031,7 @@
1735670784,1735671807,IN
1735671808,1735672831,CN
1735672832,1735673855,TW
-1735673856,1735674111,CN
-1735674112,1735674879,HK
-1735674880,1735675903,CN
+1735673856,1735675903,CN
1735675904,1735677951,IN
1735677952,1735678975,BD
1735678976,1735679999,CN
@@ -57839,7 +59068,8 @@
1735705600,1735706623,IN
1735706624,1735708159,ID
1735708160,1735708671,CN
-1735708672,1735709183,NZ
+1735708672,1735708927,AU
+1735708928,1735709183,NZ
1735709184,1735709439,ID
1735709440,1735709695,AU
1735709696,1735710719,HK
@@ -57982,7 +59212,7 @@
1735855104,1735857151,CN
1735857152,1735858175,BD
1735858176,1735859199,AF
-1735859200,1735860223,CN
+1735859200,1735860223,JP
1735860224,1735860735,AU
1735860736,1735860991,MY
1735860992,1735861247,IN
@@ -58276,7 +59506,7 @@
1736133376,1736133631,PK
1736133632,1736134655,IN
1736134656,1736135679,ID
-1736135680,1736135935,NP
+1736135680,1736135935,US
1736135936,1736136703,IN
1736136704,1736138751,CN
1736138752,1736139775,ID
@@ -58316,6 +59546,168 @@
1736175616,1736176639,TW
1736176640,1736178687,ID
1736178688,1736179711,TW
+1736179712,1736180735,JP
+1736180736,1736182015,ID
+1736182016,1736183807,IN
+1736183808,1736184831,JP
+1736184832,1736185855,TW
+1736185856,1736186879,CN
+1736186880,1736187903,TW
+1736187904,1736188927,BD
+1736188928,1736189439,AU
+1736189440,1736189951,IN
+1736189952,1736190975,TW
+1736190976,1736191999,ID
+1736192000,1736193023,CN
+1736193024,1736194047,BD
+1736194048,1736196095,VN
+1736196096,1736197119,CN
+1736197120,1736198143,ID
+1736198144,1736200191,TW
+1736200192,1736202239,IN
+1736202240,1736203263,ID
+1736203264,1736204287,VN
+1736204288,1736205311,NP
+1736205312,1736206335,KR
+1736206336,1736207103,IN
+1736207104,1736207359,US
+1736207360,1736207871,IN
+1736207872,1736208383,BD
+1736208384,1736210431,ID
+1736210432,1736211455,TW
+1736211456,1736211711,US
+1736211712,1736211967,AU
+1736211968,1736213503,US
+1736213504,1736214527,NZ
+1736214528,1736215551,ID
+1736215552,1736216575,IN
+1736216576,1736217599,ID
+1736217600,1736218623,TW
+1736218624,1736219391,IN
+1736219392,1736219647,HK
+1736219648,1736220159,IN
+1736220160,1736220671,MM
+1736220672,1736221695,ID
+1736221696,1736224767,IN
+1736224768,1736225791,TW
+1736225792,1736226815,BD
+1736226816,1736227327,IN
+1736227328,1736227583,GB
+1736227584,1736227839,TO
+1736227840,1736228863,ID
+1736228864,1736229887,HK
+1736229888,1736230911,ID
+1736230912,1736231935,JP
+1736231936,1736232959,IN
+1736232960,1736233983,TW
+1736233984,1736236031,CN
+1736236032,1736237055,ID
+1736237056,1736238079,BD
+1736238080,1736239103,ID
+1736239104,1736241151,BD
+1736241152,1736242175,IN
+1736242176,1736243199,ID
+1736243200,1736244223,BD
+1736244224,1736246271,TW
+1736246272,1736250367,ID
+1736250368,1736251391,CN
+1736251392,1736251647,BD
+1736251648,1736252415,NP
+1736252416,1736253439,BD
+1736253440,1736254463,SG
+1736254464,1736256511,ID
+1736256512,1736257535,CN
+1736257536,1736258815,ID
+1736258816,1736259071,IN
+1736259072,1736259583,BD
+1736259584,1736260607,ID
+1736260608,1736260863,PK
+1736260864,1736261631,IN
+1736261632,1736262655,TW
+1736262656,1736263679,PK
+1736263680,1736266239,IN
+1736266240,1736266495,TH
+1736266496,1736266751,SG
+1736266752,1736267775,MY
+1736267776,1736268799,BD
+1736268800,1736269823,TH
+1736269824,1736270847,BD
+1736270848,1736271871,AF
+1736271872,1736272895,ID
+1736272896,1736273919,KR
+1736273920,1736274687,IN
+1736274688,1736274943,HK
+1736274944,1736275967,ID
+1736275968,1736276991,BD
+1736276992,1736278015,JP
+1736278016,1736279039,IN
+1736279040,1736280063,CN
+1736280064,1736281087,BD
+1736281088,1736282623,PK
+1736282624,1736283135,US
+1736283136,1736284159,PH
+1736284160,1736284671,AU
+1736284672,1736285183,IN
+1736285184,1736286207,TW
+1736286208,1736287231,IN
+1736287232,1736288255,CN
+1736288256,1736289279,VN
+1736289280,1736290303,ID
+1736290304,1736291327,PK
+1736291328,1736292351,TW
+1736292352,1736292863,ID
+1736292864,1736293119,AF
+1736293120,1736293375,AU
+1736293376,1736295423,VN
+1736295424,1736296447,CN
+1736296448,1736296959,IN
+1736296960,1736297471,ID
+1736297472,1736298495,AU
+1736298496,1736300543,ID
+1736300544,1736301567,NL
+1736301568,1736302079,NZ
+1736302080,1736302335,AU
+1736302336,1736302591,ID
+1736302592,1736304639,TW
+1736304640,1736305663,VU
+1736305664,1736306687,CN
+1736306688,1736307711,PK
+1736307712,1736308735,AU
+1736308736,1736309759,CN
+1736309760,1736310783,BD
+1736310784,1736311807,CN
+1736311808,1736312319,AF
+1736312320,1736312831,IN
+1736312832,1736313855,ID
+1736313856,1736314879,BD
+1736314880,1736315903,CN
+1736315904,1736316927,BD
+1736316928,1736317183,HK
+1736317184,1736317951,AU
+1736317952,1736318975,ID
+1736318976,1736319999,IN
+1736320000,1736321023,BD
+1736321024,1736322047,IN
+1736322048,1736323071,CN
+1736323072,1736324095,BD
+1736324096,1736325119,AU
+1736325120,1736326143,ID
+1736326144,1736326655,BD
+1736326656,1736327167,IN
+1736327168,1736328191,KR
+1736328192,1736330239,IN
+1736330240,1736331263,BD
+1736331264,1736331775,AU
+1736331776,1736332031,SG
+1736332032,1736333311,ID
+1736333312,1736334335,TW
+1736334336,1736335359,HK
+1736335360,1736336383,BD
+1736336384,1736337407,CN
+1736337408,1736338431,MN
+1736338432,1736340479,BD
+1736340480,1736341759,ID
+1736342528,1736344575,CN
1736507392,1736508415,IN
1736508416,1736509439,ID
1736509440,1736510719,IN
@@ -58389,11 +59781,123 @@
1736589312,1736590335,IN
1736590336,1736590847,NZ
1736590848,1736591359,IN
+1736591360,1736592383,BD
1736592384,1736593407,NZ
1736593408,1736595455,TW
1736595456,1736596479,IN
1736596480,1736599551,TW
-1736599552,1736601599,IN
+1736599552,1736601343,IN
+1736601344,1736601599,AU
+1736601600,1736602623,BD
+1736602624,1736605695,TW
+1736605696,1736606719,ID
+1736606720,1736607743,CN
+1736607744,1736608767,ID
+1736608768,1736609791,KH
+1736609792,1736610815,TR
+1736610816,1736611839,MY
+1736611840,1736612095,CN
+1736612096,1736612351,MY
+1736612352,1736612863,AU
+1736612864,1736613887,PK
+1736613888,1736614911,CN
+1736614912,1736615935,ID
+1736615936,1736617983,BD
+1736617984,1736619007,PK
+1736619008,1736619519,TH
+1736619520,1736621055,ID
+1736621056,1736622079,IN
+1736622080,1736623103,ID
+1736623104,1736623615,BD
+1736623616,1736624127,ID
+1736624128,1736624383,HK
+1736624384,1736624639,IN
+1736624640,1736625151,SG
+1736625152,1736625663,IN
+1736625664,1736625919,ID
+1736625920,1736626175,NP
+1736626176,1736630271,VN
+1736630272,1736631295,ID
+1736631296,1736632319,CN
+1736632320,1736633343,JP
+1736633344,1736634367,PK
+1736634368,1736635391,ID
+1736635392,1736635903,AU
+1736635904,1736636415,IN
+1736636416,1736638463,TW
+1736638464,1736640511,ID
+1736640512,1736641535,PK
+1736641536,1736642559,AU
+1736642560,1736643583,ID
+1736643584,1736644607,CN
+1736644608,1736645631,IN
+1736645632,1736645887,AU
+1736645888,1736646143,ID
+1736646144,1736646655,NZ
+1736646656,1736647167,SG
+1736647168,1736647423,HK
+1736647424,1736647679,TH
+1736647680,1736648703,CN
+1736648704,1736649727,AU
+1736649728,1736650751,HK
+1736650752,1736651263,GB
+1736651264,1736651775,ID
+1736651776,1736652799,NZ
+1736652800,1736653823,TW
+1736653824,1736654079,IN
+1736654080,1736654335,ID
+1736654336,1736654847,WS
+1736654848,1736655871,TH
+1736655872,1736658943,VN
+1736658944,1736659455,BD
+1736659456,1736659711,US
+1736659712,1736659967,AU
+1736659968,1736660991,TW
+1736660992,1736662015,BD
+1736662016,1736662527,IN
+1736662528,1736662783,ID
+1736662784,1736663039,PH
+1736663040,1736664063,ID
+1736664064,1736665087,IN
+1736665088,1736665599,ID
+1736665600,1736665855,NZ
+1736665856,1736667135,ID
+1736667136,1736668159,TW
+1736668160,1736669183,ID
+1736669184,1736670207,JP
+1736670208,1736674303,TW
+1736674304,1736675327,MY
+1736675328,1736676351,BD
+1736676352,1736677375,TW
+1736677376,1736678399,CN
+1736678400,1736679423,BD
+1736679424,1736680191,AU
+1736680192,1736680447,SG
+1736680448,1736681471,KR
+1736681472,1736682495,CN
+1736682496,1736683519,TW
+1736683520,1736684543,CN
+1736684544,1736685055,BD
+1736685056,1736686591,IN
+1736686592,1736687615,SG
+1736687616,1736687871,PH
+1736687872,1736688127,NZ
+1736688128,1736688639,JP
+1736688640,1736689663,TW
+1736689664,1736690687,TH
+1736690688,1736691711,HK
+1736691712,1736692735,AU
+1736692736,1736693759,PK
+1736693760,1736694783,ID
+1736694784,1736695039,AU
+1736695040,1736695295,PH
+1736695296,1736695807,AU
+1736695808,1736697855,CN
+1736697856,1736698879,AU
+1736698880,1736699903,ID
+1736699904,1736700927,CN
+1736700928,1736701951,ID
+1736701952,1736703999,TW
1740636160,1740644351,CN
1740644352,1740645375,IN
1740645376,1740647423,HK
@@ -58417,7 +59921,9 @@
1740678144,1740679167,CN
1740679168,1740680447,IN
1740680448,1740680703,AU
-1740680960,1740681215,AU
+1740680960,1740681127,AU
+1740681128,1740681135,NZ
+1740681136,1740681215,AU
1740681216,1740681983,HK
1740681984,1740682239,AU
1740682240,1740683263,KH
@@ -58499,9 +60005,7 @@
1740786688,1740787711,SG
1740787712,1740788735,MY
1740788736,1740789759,KH
-1740789760,1740790015,AU
-1740790016,1740790271,IN
-1740790272,1740790783,AU
+1740789760,1740790783,IN
1740790784,1740791807,PK
1740791808,1740792831,IN
1740792832,1740794879,HK
@@ -58819,7 +60323,9 @@
1741186048,1741188607,IN
1741188608,1741188863,US
1741188864,1741189119,IN
-1741189120,1741191167,HK
+1741189120,1741189887,HK
+1741189888,1741190143,JP
+1741190144,1741191167,HK
1741191168,1741192191,VN
1741192192,1741193215,HK
1741193216,1741194239,ID
@@ -58991,7 +60497,7 @@
1741532160,1741533183,IN
1741533184,1741534207,PK
1741534208,1741535231,BD
-1741535232,1741535487,JP
+1741535232,1741535487,HK
1741535744,1741536255,SG
1741536256,1741540351,CN
1741540352,1741541375,AU
@@ -59133,9 +60639,9 @@
1741724416,1741724671,AU
1741724672,1741725695,IN
1741725696,1741726719,ID
-1741726720,1741726975,NZ
+1741726720,1741726975,AU
1741726976,1741727231,US
-1741727232,1741727743,NZ
+1741727232,1741727743,AU
1741727744,1741729791,IN
1741729792,1741730815,SG
1741730816,1741731839,BD
@@ -59231,9 +60737,11 @@
1741816832,1741817855,PK
1741817856,1741818367,PH
1741818368,1741818879,AU
-1741818880,1741819903,PK
+1741818880,1741819391,BR
+1741819392,1741819647,LA
+1741819648,1741819903,KH
1741819904,1741820927,BD
-1741820928,1741821951,CN
+1741820928,1741821951,HK
1741821952,1741822975,AU
1741822976,1741824511,IN
1741824512,1741825023,ID
@@ -59439,15 +60947,15 @@
1742080000,1742081023,VN
1742081024,1742082047,PH
1742082048,1742083071,HK
-1742083072,1742083327,AU
-1742083328,1742084095,IN
+1742083072,1742084095,AU
1742084096,1742085119,KR
1742085120,1742086143,AU
1742086144,1742087167,CN
1742087168,1742088191,JP
1742088448,1742088703,HK
1742088704,1742089215,AU
-1742089216,1742089727,IN
+1742089216,1742089471,GB
+1742089472,1742089727,IN
1742089728,1742090239,GB
1742090240,1742091263,CN
1742091264,1742092287,ID
@@ -59485,7 +60993,7 @@
1742121984,1742123007,HK
1742123008,1742123263,AU
1742123264,1742124031,IN
-1742124032,1742125055,SG
+1742124032,1742125055,NL
1742125056,1742126079,ID
1742126080,1742127103,IN
1742127104,1742128127,HK
@@ -59569,7 +61077,6 @@
1742231552,1742233599,IN
1742233600,1742234111,TH
1742234112,1742234367,IN
-1742234368,1742234623,US
1742234624,1742235647,HK
1742235648,1742236671,PK
1742236672,1742237695,CN
@@ -59581,13 +61088,16 @@
1742244864,1742247935,IN
1742247936,1742248959,CN
1742248960,1742249983,IN
-1742249984,1742250239,AF
+1742249984,1742250145,DE
+1742250146,1742250146,IT
+1742250147,1742250239,DE
1742250240,1742257151,IN
1742257152,1742257407,ID
1742257408,1742257663,NZ
1742257664,1742258175,AU
1742258176,1742259199,US
-1742259200,1742260223,AU
+1742259200,1742259455,HK
+1742259456,1742260223,AU
1742260224,1742260735,IN
1742260736,1742261247,KR
1742261248,1742264319,IN
@@ -59662,8 +61172,7 @@
1742423040,1742424063,PH
1742424064,1742425343,ID
1742425344,1742425599,US
-1742425600,1742425855,CA
-1742425856,1742426111,US
+1742425600,1742426111,CA
1742426112,1742427135,HK
1742427136,1742432255,CN
1742432256,1742433279,HK
@@ -59743,10 +61252,9 @@
1742559232,1742589951,CN
1742589952,1742590975,IN
1742590976,1742596095,VN
-1742596096,1742596351,NZ
+1742596096,1742596351,JP
1742596352,1742596607,IN
-1742596608,1742596863,NZ
-1742596864,1742597119,IN
+1742596608,1742597119,JP
1742598144,1742599167,SG
1742599168,1742599423,IN
1742599424,1742599679,AU
@@ -59849,7 +61357,8 @@
1742817280,1742818815,IN
1742818816,1742819327,KH
1742819328,1742820351,JP
-1742820352,1742821375,CN
+1742820352,1742820607,HK
+1742820608,1742821375,CN
1742821376,1742822399,ID
1742822400,1742823423,BD
1742823424,1742823679,AU
@@ -59963,8 +61472,8 @@
1742935040,1742938111,AU
1742938112,1742939135,TW
1742939136,1742940159,IN
-1742940160,1742940671,JP
-1742940672,1742942207,PH
+1742940160,1742941183,JP
+1742941184,1742942207,PH
1742942208,1742943231,CN
1742943232,1742945279,IN
1742945280,1742945791,AU
@@ -59972,9 +61481,8 @@
1742946048,1742947327,AU
1742947328,1742948351,IN
1742948352,1742951423,CN
-1742951424,1742952703,HK
-1742952704,1742952959,SG
-1742952960,1742953471,HK
+1742951424,1742952447,HK
+1742952448,1742953471,SG
1742954496,1742955519,IN
1742955520,1742956543,CN
1742956544,1742957567,HK
@@ -60043,7 +61551,8 @@
1743021312,1743021567,NZ
1743021568,1743021823,PH
1743022080,1743023103,US
-1743023104,1743024127,HK
+1743023104,1743023615,HK
+1743023616,1743024127,KR
1743024128,1743025151,IN
1743025152,1743026175,ID
1743026176,1743027199,BD
@@ -60187,8 +61696,8 @@
1743158272,1743159295,MY
1743160320,1743161343,TH
1743161344,1743162367,HK
-1743162368,1743162623,AU
-1743162624,1743162879,BZ
+1743162368,1743162623,BZ
+1743162624,1743162879,AQ
1743162880,1743163135,KR
1743163136,1743163391,BZ
1743163392,1743166463,IN
@@ -60390,7 +61899,9 @@
1743364096,1743364607,IN
1743365120,1743366143,HK
1743366144,1743367167,IN
-1743367168,1743368191,SG
+1743367168,1743367679,SG
+1743367680,1743367935,ID
+1743367936,1743368191,SG
1743369216,1743369727,MY
1743369728,1743369983,NP
1743369984,1743370239,AF
@@ -60411,7 +61922,8 @@
1743384576,1743385087,SG
1743385088,1743385343,AU
1743385344,1743386623,IN
-1743386624,1743388671,HK
+1743386624,1743388159,HK
+1743388160,1743388671,SG
1743388672,1743389695,CN
1743389696,1743390719,KR
1743390720,1743391743,HK
@@ -60591,8 +62103,7 @@
1743619840,1743620095,IN
1743620096,1743621119,AU
1743621120,1743621631,ID
-1743621632,1743621887,FR
-1743621888,1743622143,SG
+1743621632,1743622143,SG
1743622144,1743624191,VN
1743624192,1743625215,CN
1743625216,1743626239,IN
@@ -60779,7 +62290,7 @@
1743873024,1743874047,AU
1743874048,1743874303,JP
1743874304,1743875071,SG
-1743875072,1743876095,HK
+1743875072,1743876095,KZ
1743876096,1743877119,IN
1743877120,1743878143,KR
1743878144,1743879167,NZ
@@ -60885,7 +62396,9 @@
1743985664,1743990783,IN
1743990784,1743991807,ID
1743991808,1743994879,IN
-1743994880,1743995903,AU
+1743994880,1743995583,AU
+1743995584,1743995647,MU
+1743995648,1743995903,AU
1743995904,1743997951,IN
1743997952,1743999999,BD
1744000000,1744001023,AU
@@ -60962,10 +62475,11 @@
1744077824,1744078847,PK
1744078848,1744079871,VN
1744079872,1744080895,BD
-1744080896,1744080961,DE
-1744080962,1744080962,AF
-1744080963,1744081151,DE
-1744081152,1744081919,AF
+1744080896,1744080988,AF
+1744080989,1744080989,DE
+1744080990,1744081219,AF
+1744081220,1744081220,IT
+1744081221,1744081919,AF
1744081920,1744082943,HK
1744082944,1744083711,US
1744083712,1744083967,IN
@@ -61031,7 +62545,6 @@
1744147200,1744147455,IN
1744147456,1744148479,VN
1744148480,1744149503,AU
-1744149504,1744150527,IN
1744150528,1744151551,TO
1744151552,1744152319,LA
1744152320,1744152575,TH
@@ -61167,7 +62680,9 @@
1744275456,1744278527,HK
1744278528,1744279551,IN
1744279552,1744280575,NZ
-1744280576,1744283647,HK
+1744280576,1744282367,HK
+1744282368,1744282623,AU
+1744282624,1744283647,HK
1744283648,1744286719,CN
1744286720,1744286975,SG
1744286976,1744287231,JP
@@ -61314,8 +62829,7 @@
1744434176,1744435199,CN
1744435200,1744436223,IN
1744436224,1744437247,CN
-1744437248,1744438015,KI
-1744438016,1744438271,AU
+1744437248,1744438271,KI
1744438272,1744439295,HK
1744439296,1744439807,AU
1744439808,1744440319,IN
@@ -61696,9 +63210,7 @@
1747235840,1747236863,CA
1747236864,1747247615,US
1747247616,1747247871,JM
-1747247872,1747248127,US
-1747248128,1747249151,NL
-1747249152,1747255807,US
+1747247872,1747255807,US
1747255808,1747256063,PR
1747256064,1747256319,US
1747256320,1747256575,IE
@@ -61888,12 +63400,9 @@
1747852288,1747853311,AU
1747853312,1747861503,NL
1747861504,1747869695,IE
-1747869696,1747877887,US
-1747877888,1747886079,SG
-1747886080,1747894271,HK
-1747894272,1747898367,US
+1747869696,1747898367,US
1747898368,1747906559,JP
-1747906560,1747910655,AU
+1747906560,1747910655,US
1747910656,1747910911,FI
1747910912,1747911167,AT
1747911168,1747911423,IE
@@ -61943,21 +63452,17 @@
1749028864,1749037055,NL
1749037056,1749061631,US
1749061632,1749065727,NL
-1749065728,1749094399,US
-1749094400,1749098495,NL
-1749098496,1749172223,US
+1749065728,1749172223,US
1749172224,1749188607,NL
1749188608,1749196799,US
1749196800,1749204991,NL
-1749204992,1749221375,US
-1749221376,1749229567,NL
+1749204992,1749225471,US
+1749225472,1749229567,NL
1749229568,1749327871,US
1749327872,1749336063,NL
1749336064,1749340159,US
1749340160,1749344255,NL
-1749344256,1749364735,US
-1749364736,1749368831,NL
-1749368832,1749372927,US
+1749344256,1749372927,US
1749372928,1749381119,NL
1749381120,1749397503,US
1749397504,1749406719,NL
@@ -62014,8 +63519,8 @@
1749818368,1749819391,US
1749819392,1749827583,NL
1749827584,1749862399,US
-1749862400,1749863167,NL
-1749863168,1749863679,US
+1749862400,1749862911,NL
+1749862912,1749863679,US
1749863680,1749864191,NL
1749864192,1749864703,US
1749864704,1749865215,NL
@@ -62027,9 +63532,7 @@
1749867776,1749868031,NL
1749868032,1749931007,US
1749931008,1749932031,NL
-1749932032,1749934079,US
-1749934080,1749942271,NL
-1749942272,1749983231,US
+1749932032,1749983231,US
1749983232,1749987327,NL
1749987328,1750079999,US
1750080000,1750080511,NL
@@ -62071,15 +63574,15 @@
1750372352,1750373375,NL
1750373376,1750374399,US
1750374400,1750374911,NL
-1750374912,1750376447,US
-1750376448,1750392831,NL
-1750392832,1750405119,US
+1750374912,1750384639,US
+1750384640,1750388735,NL
+1750388736,1750405119,US
1750405120,1750413311,NL
1750413312,1750413823,US
1750413824,1750415359,NL
1750415360,1750417407,US
-1750417408,1750425599,NL
-1750425600,1750443519,US
+1750417408,1750421503,NL
+1750421504,1750443519,US
1750443520,1750444031,NL
1750444032,1750446079,US
1750446080,1750450175,NL
@@ -62089,8 +63592,8 @@
1750494720,1750503423,NL
1750503424,1750523903,US
1750523904,1750533119,NL
-1750533120,1750536191,US
-1750536192,1750544383,NL
+1750533120,1750540287,US
+1750540288,1750544383,NL
1750544384,1750573055,US
1750573056,1750581247,NL
1750581248,1750585343,US
@@ -62099,14 +63602,16 @@
1750664192,1750665215,NL
1750665216,1750667263,US
1750667264,1750675455,NL
-1750675456,1750694911,US
+1750675456,1750679551,US
+1750679552,1750687743,NL
+1750687744,1750694911,US
1750694912,1750695423,NL
-1750695424,1750706175,US
-1750706176,1750706687,NL
+1750695424,1750705151,US
+1750705152,1750706687,NL
1750706688,1750708223,US
1750708224,1750716415,NL
-1750716416,1750755327,US
-1750755328,1750757375,NL
+1750716416,1750754815,US
+1750754816,1750757375,NL
1750757376,1750761471,US
1750761472,1750778367,NL
1750778368,1750781439,US
@@ -62134,7 +63639,9 @@
1751040512,1751104511,US
1751104512,1751105023,NL
1751105024,1751121919,US
-1751121920,1751124479,NL
+1751121920,1751122431,NL
+1751122432,1751122943,US
+1751122944,1751124479,NL
1751124480,1751125503,US
1751125504,1751134207,NL
1751134208,1751144959,US
@@ -62158,11 +63665,12 @@
1751510016,1751521279,NL
1751521280,1751523327,US
1751523328,1751531519,NL
-1751531520,1751597055,US
-1751597056,1751599103,GB
-1751599104,1751638015,NL
-1751638016,1751646207,GB
-1751646208,1751650303,NL
+1751531520,1751598847,US
+1751598848,1751640319,NL
+1751640320,1751641087,US
+1751641088,1751641599,NL
+1751641600,1751642111,US
+1751642112,1751650303,NL
1751650304,1751682047,US
1751682048,1751683071,NL
1751683072,1751691263,US
@@ -62179,8 +63687,11 @@
1751875584,1751883775,NL
1751883776,1751884799,US
1751884800,1751885823,NL
-1751885824,1751891967,US
-1751891968,1751900159,DE
+1751885824,1751896575,US
+1751896576,1751896831,NL
+1751896832,1751897087,US
+1751897088,1751899135,NL
+1751899136,1751900159,US
1751900160,1751912447,NL
1751912448,1751916543,US
1751916544,1751928831,NL
@@ -62207,9 +63718,7 @@
1752330240,1752338431,NL
1752338432,1752344831,US
1752344832,1752345087,NL
-1752345088,1752458239,US
-1752458240,1752458495,NL
-1752458496,1752495103,US
+1752345088,1752495103,US
1752495104,1752495359,NL
1752495360,1752568575,US
1752568576,1752568831,NL
@@ -62217,11 +63726,11 @@
1752618496,1752619007,NL
1752619008,1752619263,US
1752619264,1752619519,NL
-1752619520,1752674303,US
+1752619520,1752637951,US
+1752637952,1752638463,NL
+1752638464,1752674303,US
1752674304,1752675327,AE
-1752675328,1752675839,US
-1752675840,1752676351,NL
-1752676352,1752730111,US
+1752675328,1752730111,US
1752730112,1752730367,NL
1752730368,1752750079,US
1752750080,1752751615,NL
@@ -62320,80 +63829,150 @@
1753483264,1753483519,IE
1753483520,1753483775,IL
1753483776,1753484031,PH
-1753484032,1753484607,US
-1753484608,1753484655,BR
-1753484656,1753485567,US
-1753485568,1753485823,GH
-1753485824,1753487359,US
+1753484032,1753484543,US
+1753484544,1753484799,BR
+1753484800,1753485567,US
+1753485568,1753485823,PL
+1753485824,1753486079,DE
+1753486080,1753486335,US
+1753486336,1753486591,IN
+1753486592,1753486847,IE
+1753486848,1753487359,US
1753487360,1753487615,CH
1753487616,1753487871,GB
-1753487872,1753489407,US
-1753489408,1753489663,GB
+1753487872,1753488127,NG
+1753488128,1753488383,SE
+1753488384,1753488639,GB
+1753488640,1753489151,US
+1753489152,1753489407,PL
+1753489408,1753489663,AE
1753489664,1753489919,HK
1753489920,1753490175,US
1753490176,1753490431,AU
1753490432,1753490687,IL
-1753490688,1753491455,US
-1753491456,1753492479,NL
-1753492480,1753493503,GB
-1753493504,1753494015,US
+1753490688,1753490943,US
+1753490944,1753491199,KE
+1753491200,1753491455,KR
+1753491456,1753491711,NL
+1753491712,1753491967,US
+1753491968,1753492223,TW
+1753492224,1753492479,UA
+1753492480,1753492991,GB
+1753492992,1753493503,US
+1753493504,1753493759,MY
+1753493760,1753494015,US
1753494016,1753494271,NL
1753494272,1753494527,US
1753494528,1753494783,IL
-1753494784,1753496575,US
-1753496576,1753497407,CA
+1753494784,1753495039,US
+1753495040,1753495295,RU
+1753495296,1753495551,GB
+1753495552,1753495807,US
+1753495808,1753496063,AR
+1753496064,1753496319,IN
+1753496320,1753496831,US
+1753496832,1753497087,DE
+1753497088,1753497343,CA
+1753497344,1753497407,US
1753497408,1753497455,PH
-1753497456,1753497599,CA
-1753497600,1753499391,US
+1753497456,1753497599,US
+1753497600,1753497855,RU
+1753497856,1753498623,US
+1753498624,1753499135,BR
+1753499136,1753499391,US
1753499392,1753499647,PH
1753499648,1753499903,AE
1753499904,1753500159,US
1753500160,1753500415,SK
-1753500416,1753500991,US
-1753500992,1753501039,CA
-1753501040,1753501951,US
+1753500416,1753500927,US
+1753500928,1753501183,CA
+1753501184,1753501951,US
1753501952,1753502207,PT
1753502208,1753502975,US
1753502976,1753503231,AU
-1753503232,1753503551,US
+1753503232,1753503487,FR
+1753503488,1753503551,US
1753503552,1753503599,PE
-1753503600,1753507391,US
-1753507392,1753507439,KR
-1753507440,1753510911,US
-1753510912,1753511423,FR
+1753503600,1753505535,US
+1753505536,1753505791,CH
+1753505792,1753507327,US
+1753507328,1753507583,KR
+1753507584,1753510655,US
+1753510656,1753510911,MY
+1753510912,1753511167,GB
+1753511168,1753511423,FR
1753511424,1753511679,US
1753511680,1753511935,BR
1753511936,1753512703,US
1753512704,1753512959,SG
1753512960,1753513983,US
-1753513984,1753516031,AU
+1753513984,1753514239,MY
+1753514240,1753514495,JP
+1753514496,1753514751,CA
+1753514752,1753515007,US
+1753515008,1753515263,BE
+1753515264,1753515775,AU
+1753515776,1753516031,TH
1753516032,1753516543,US
1753516544,1753516799,ES
1753516800,1753517567,US
1753517568,1753517823,NO
-1753517824,1753518591,US
+1753517824,1753518079,US
+1753518080,1753518335,IT
+1753518336,1753518591,US
1753518592,1753518847,JP
-1753518848,1753520127,US
-1753520128,1753520639,GB
-1753520640,1753522431,US
+1753518848,1753519615,US
+1753519616,1753519871,TW
+1753519872,1753520127,DE
+1753520128,1753520383,KR
+1753520384,1753520639,GB
+1753520640,1753521919,US
+1753521920,1753522175,IN
+1753522176,1753522431,CO
1753522432,1753522687,FR
-1753522688,1753523807,US
+1753522688,1753522943,PL
+1753522944,1753523807,US
1753523808,1753523823,DE
-1753523824,1753526015,US
+1753523824,1753523967,US
+1753523968,1753524223,GR
+1753524224,1753524479,TR
+1753524480,1753524735,IE
+1753524736,1753524991,US
+1753524992,1753525247,GB
+1753525248,1753526015,US
1753526016,1753526271,DE
-1753526272,1753527039,US
+1753526272,1753526783,US
+1753526784,1753527039,FI
1753527040,1753527295,NL
-1753527296,1753528319,US
+1753527296,1753527551,DK
+1753527552,1753527807,IN
+1753527808,1753528319,US
1753528320,1753528575,AR
1753528576,1753528831,CA
1753528832,1753529087,AR
1753529088,1753529343,NZ
-1753529344,1753530367,PL
-1753530368,1753532415,US
+1753529344,1753529599,HU
+1753529600,1753529855,PL
+1753529856,1753530623,US
+1753530624,1753531135,TW
+1753531136,1753531391,US
+1753531392,1753531647,IN
+1753531648,1753531903,US
+1753531904,1753532159,IT
+1753532160,1753532415,US
1753532416,1753532671,JP
-1753532672,1753536511,US
-1753536512,1753537535,PH
-1753537536,1753538815,US
+1753532672,1753533183,US
+1753533184,1753533439,CZ
+1753533440,1753533695,PT
+1753533696,1753534463,US
+1753534464,1753534719,DK
+1753534720,1753535743,US
+1753535744,1753535999,TW
+1753536000,1753536255,US
+1753536256,1753536511,FI
+1753536512,1753536767,US
+1753536768,1753537023,IN
+1753537024,1753538815,US
1753538816,1753539071,PH
1753539072,1753539327,US
1753539328,1753539583,IE
@@ -62403,17 +63982,45 @@
1753541632,1753541887,DE
1753541888,1753542399,US
1753542400,1753542655,TW
-1753542656,1753549823,US
+1753542656,1753543167,US
+1753543168,1753543423,DE
+1753543424,1753544191,US
+1753544192,1753544447,DE
+1753544448,1753548287,US
+1753548288,1753548543,BE
+1753548544,1753549311,US
+1753549312,1753549567,IN
+1753549568,1753549823,US
1753549824,1753550079,IE
1753550080,1753550591,US
1753550592,1753550847,TW
1753550848,1753551103,US
-1753551104,1753551359,TW
-1753551360,1753645055,US
-1753645056,1753645063,NL
-1753645064,1753735167,US
+1753551104,1753551615,TW
+1753551616,1753613311,US
+1753613312,1753613823,DE
+1753613824,1753614847,US
+1753614848,1753615359,TW
+1753615360,1753615871,US
+1753615872,1753616383,IN
+1753616384,1753617663,US
+1753617664,1753617919,DE
+1753617920,1753618431,US
+1753618432,1753618687,IN
+1753618688,1753619199,US
+1753619200,1753619455,TW
+1753619456,1753645055,US
+1753645056,1753645567,NL
+1753645568,1753673727,US
+1753673728,1753673983,GB
+1753673984,1753674239,US
+1753674240,1753674247,IL
+1753674248,1753735167,US
1753735168,1753743359,IE
-1753743360,1754038079,US
+1753743360,1754031167,US
+1754031168,1754031231,NL
+1754031232,1754031871,US
+1754031872,1754032127,NL
+1754032128,1754038079,US
1754038080,1754038143,PL
1754038144,1754136575,US
1754136576,1754169343,CA
@@ -62476,115 +64083,119 @@
1754258432,1754258687,MG
1754258688,1754258943,US
1754258944,1754259199,TN
-1754259200,1754267911,US
-1754267912,1754267935,CA
-1754267936,1754267951,US
-1754267952,1754267959,FI
+1754259200,1754267903,US
+1754267904,1754267935,CA
+1754267936,1754267943,US
+1754267944,1754267959,CA
1754267960,1754267991,US
-1754267992,1754267999,CA
-1754268000,1754268015,US
-1754268016,1754268039,CA
-1754268040,1754268047,US
-1754268048,1754268063,CA
+1754267992,1754268063,CA
1754268064,1754268079,US
1754268080,1754268095,CA
1754268096,1754268159,US
-1754268160,1754268927,CA
-1754268928,1754269087,US
+1754268160,1754268991,CA
+1754268992,1754269087,US
1754269088,1754269103,CA
-1754269104,1754269183,US
-1754269184,1754269199,CA
-1754269200,1754269215,US
-1754269216,1754269247,CA
-1754269248,1754269423,US
-1754269424,1754269431,CA
-1754269432,1754269471,US
-1754269472,1754269535,CA
-1754269536,1754269599,US
-1754269600,1754269607,CA
-1754269608,1754269695,US
-1754269696,1754269951,CA
-1754269952,1754270719,US
-1754270720,1754270911,CA
-1754270912,1754270975,US
-1754270976,1754271039,CA
-1754271040,1754271103,US
-1754271104,1754271135,CA
-1754271136,1754272159,US
+1754269104,1754269119,US
+1754269120,1754269151,CA
+1754269152,1754269183,US
+1754269184,1754269247,CA
+1754269248,1754269311,US
+1754269312,1754269327,CA
+1754269328,1754269343,US
+1754269344,1754269359,CA
+1754269360,1754269423,US
+1754269424,1754269567,CA
+1754269568,1754269599,US
+1754269600,1754269615,CA
+1754269616,1754269631,US
+1754269632,1754269647,CA
+1754269648,1754269663,US
+1754269664,1754269951,CA
+1754269952,1754270207,US
+1754270208,1754270463,CA
+1754270464,1754270719,US
+1754270720,1754271135,CA
+1754271136,1754272127,US
+1754272128,1754272143,CA
+1754272144,1754272159,US
1754272160,1754272191,CA
1754272192,1754272207,US
1754272208,1754272223,CA
1754272224,1754272255,US
1754272256,1754272383,CA
-1754272384,1754272479,US
+1754272384,1754272415,US
+1754272416,1754272431,CA
+1754272432,1754272479,US
1754272480,1754272495,CA
1754272496,1754272511,US
-1754272512,1754272639,CA
-1754272640,1754272671,US
+1754272512,1754272655,CA
+1754272656,1754272671,US
1754272672,1754272703,CA
1754272704,1754272719,US
-1754272720,1754272727,CA
-1754272728,1754272975,US
+1754272720,1754272735,CA
+1754272736,1754272895,US
+1754272896,1754272927,CA
+1754272928,1754272975,US
1754272976,1754272991,CA
1754272992,1754273023,US
-1754273024,1754273055,CA
-1754273056,1754273183,US
-1754273184,1754273191,CA
-1754273192,1754273279,US
+1754273024,1754273151,CA
+1754273152,1754273183,US
+1754273184,1754273199,CA
+1754273200,1754273247,US
+1754273248,1754273263,CA
+1754273264,1754273279,US
1754273280,1754273407,CA
1754273408,1754273439,US
-1754273440,1754273447,CA
-1754273448,1754273535,US
-1754273536,1754273791,CA
-1754273792,1754273871,US
-1754273872,1754273879,CA
-1754273880,1754274175,US
+1754273440,1754273455,CA
+1754273456,1754273487,US
+1754273488,1754273535,CA
+1754273536,1754273791,GB
+1754273792,1754273839,CA
+1754273840,1754273871,US
+1754273872,1754273887,CA
+1754273888,1754274175,US
1754274176,1754274303,CA
-1754274304,1754275023,US
+1754274304,1754274943,US
+1754274944,1754274959,CA
+1754274960,1754274991,US
+1754274992,1754275007,CA
+1754275008,1754275023,US
1754275024,1754275039,CA
1754275040,1754275199,US
1754275200,1754275839,CA
-1754275840,1754276095,US
+1754275840,1754275967,US
+1754275968,1754276031,CA
+1754276032,1754276095,US
1754276096,1754276127,CA
1754276128,1754276159,US
1754276160,1754276223,CA
1754276224,1754276287,US
1754276288,1754276351,CA
1754276352,1754276607,US
-1754276608,1754276631,CA
-1754276632,1754276635,US
-1754276636,1754276671,CA
-1754276672,1754276675,US
-1754276676,1754276687,CA
-1754276688,1754276691,US
-1754276692,1754276751,CA
-1754276752,1754276755,US
-1754276756,1754276863,CA
-1754276864,1754277631,US
-1754277632,1754277887,CA
-1754277888,1754278015,US
-1754278016,1754278271,CA
-1754278272,1754278911,US
-1754278912,1754279167,CA
-1754279168,1754279295,US
-1754279296,1754279327,CA
-1754279328,1754279359,US
-1754279360,1754279679,CA
-1754279680,1754280959,US
-1754280960,1754281223,CA
-1754281224,1754281231,NO
-1754281232,1754281279,CA
+1754276608,1754276863,CA
+1754276864,1754277375,US
+1754277376,1754278399,CA
+1754278400,1754278911,US
+1754278912,1754279231,CA
+1754279232,1754279295,US
+1754279296,1754279935,CA
+1754279936,1754280447,US
+1754280448,1754280703,CA
+1754280704,1754280959,US
+1754280960,1754281279,CA
1754281280,1754281343,US
-1754281344,1754281359,CA
-1754281360,1754281375,US
-1754281376,1754281407,CA
-1754281408,1754281471,US
-1754281472,1754281535,CA
-1754281536,1754281983,US
+1754281344,1754281407,CA
+1754281408,1754281455,US
+1754281456,1754281535,CA
+1754281536,1754281663,US
+1754281664,1754281727,CA
+1754281728,1754281983,US
1754281984,1754282495,CA
1754282496,1754282751,US
-1754282752,1754282815,CA
-1754282816,1754282959,US
+1754282752,1754282895,CA
+1754282896,1754282927,US
+1754282928,1754282943,CA
+1754282944,1754282959,US
1754282960,1754282967,CA
1754282968,1754282975,SE
1754282976,1754283519,US
@@ -62595,49 +64206,73 @@
1754284736,1754284799,CA
1754284800,1754285055,US
1754285056,1754285151,CA
-1754285152,1754285175,US
-1754285176,1754285183,CA
-1754285184,1754285247,US
-1754285248,1754285311,CA
-1754285312,1754285567,US
-1754285568,1754285919,CA
-1754285920,1754286015,US
+1754285152,1754285167,US
+1754285168,1754285951,CA
+1754285952,1754286015,US
1754286016,1754286079,CA
1754286080,1754286335,US
1754286336,1754286591,CA
1754286592,1754286847,US
1754286848,1754287359,CA
-1754287360,1754288159,US
+1754287360,1754287615,US
+1754287616,1754287871,CA
+1754287872,1754288127,US
+1754288128,1754288143,CA
+1754288144,1754288159,US
1754288160,1754288191,CA
1754288192,1754288207,US
-1754288208,1754288215,CA
-1754288216,1754288383,US
+1754288208,1754288223,CA
+1754288224,1754288239,US
+1754288240,1754288255,CA
+1754288256,1754288383,US
1754288384,1754288447,CA
1754288448,1754288575,US
-1754288576,1754288895,CA
-1754288896,1754289055,US
+1754288576,1754288639,CA
+1754288640,1754288895,US
+1754288896,1754288911,CA
+1754288912,1754288927,US
+1754288928,1754288943,CA
+1754288944,1754288991,US
+1754288992,1754289007,CA
+1754289008,1754289055,US
1754289056,1754289071,CA
-1754289072,1754289407,US
+1754289072,1754289087,US
+1754289088,1754289151,CA
+1754289152,1754289407,US
1754289408,1754289471,CA
1754289472,1754289487,US
1754289488,1754289495,CA
1754289496,1754289503,NO
-1754289504,1754289919,US
+1754289504,1754289519,US
+1754289520,1754289535,CA
+1754289536,1754289919,US
1754289920,1754290175,CA
-1754290176,1754290591,US
-1754290592,1754290599,CA
-1754290600,1754291023,US
-1754291024,1754291031,CA
-1754291032,1754291135,US
-1754291136,1754291455,CA
-1754291456,1754291535,US
-1754291536,1754291543,CA
-1754291544,1754291711,US
+1754290176,1754290447,US
+1754290448,1754290479,CA
+1754290480,1754290511,US
+1754290512,1754290527,CA
+1754290528,1754290543,US
+1754290544,1754290559,CA
+1754290560,1754290591,US
+1754290592,1754290607,CA
+1754290608,1754290623,US
+1754290624,1754290687,CA
+1754290688,1754290975,US
+1754290976,1754290991,CA
+1754290992,1754291023,US
+1754291024,1754291039,CA
+1754291040,1754291103,US
+1754291104,1754291119,CA
+1754291120,1754291135,US
+1754291136,1754291471,CA
+1754291472,1754291503,US
+1754291504,1754291519,CA
+1754291520,1754291535,US
+1754291536,1754291551,CA
+1754291552,1754291711,US
1754291712,1754292031,CA
-1754292032,1754292127,US
-1754292128,1754292143,CA
-1754292144,1754292151,US
-1754292152,1754292543,CA
+1754292032,1754292095,US
+1754292096,1754292543,CA
1754292544,1754292607,US
1754292608,1754292639,CA
1754292640,1754292671,US
@@ -62646,72 +64281,96 @@
1754293248,1754293343,CA
1754293344,1754293439,US
1754293440,1754294015,CA
-1754294016,1754294095,US
+1754294016,1754294063,US
+1754294064,1754294079,CA
+1754294080,1754294095,US
1754294096,1754294111,CA
-1754294112,1754294783,US
-1754294784,1754294943,CA
-1754294944,1754294975,US
+1754294112,1754294127,US
+1754294128,1754294143,CA
+1754294144,1754294271,US
+1754294272,1754294527,CA
+1754294528,1754294655,US
+1754294656,1754294943,CA
+1754294944,1754294959,US
+1754294960,1754294967,CA
+1754294968,1754294975,US
1754294976,1754295039,CA
1754295040,1754295295,US
1754295296,1754295551,CA
-1754295552,1754296023,US
-1754296024,1754296031,CA
+1754295552,1754295807,US
+1754295808,1754295951,CA
+1754295952,1754295983,US
+1754295984,1754295999,CA
+1754296000,1754296015,US
+1754296016,1754296031,CA
1754296032,1754296319,US
-1754296320,1754296343,CA
-1754296344,1754296351,US
-1754296352,1754296383,CA
+1754296320,1754296383,CA
1754296384,1754296407,US
1754296408,1754296415,CA
-1754296416,1754296831,US
+1754296416,1754296527,US
+1754296528,1754296543,CA
+1754296544,1754296831,US
1754296832,1754297471,CA
1754297472,1754297487,US
-1754297488,1754297495,CA
-1754297496,1754297583,US
+1754297488,1754297503,CA
+1754297504,1754297535,US
+1754297536,1754297551,CA
+1754297552,1754297583,US
1754297584,1754297855,CA
1754297856,1754298111,US
-1754298112,1754298143,CA
-1754298144,1754298367,US
+1754298112,1754298303,CA
+1754298304,1754298367,US
1754298368,1754298623,CA
1754298624,1754299391,US
1754299392,1754299647,CA
-1754299648,1754299711,US
-1754299712,1754299775,CA
+1754299648,1754299695,US
+1754299696,1754299775,CA
1754299776,1754299791,US
1754299792,1754299839,CA
1754299840,1754299903,US
1754299904,1754300543,CA
1754300544,1754300575,US
-1754300576,1754300583,CA
-1754300584,1754300655,US
-1754300656,1754300671,CA
-1754300672,1754300759,US
-1754300760,1754300767,CA
-1754300768,1754301439,US
+1754300576,1754300591,CA
+1754300592,1754300639,US
+1754300640,1754300671,CA
+1754300672,1754300751,US
+1754300752,1754300767,CA
+1754300768,1754300783,US
+1754300784,1754300799,CA
+1754300800,1754300879,US
+1754300880,1754300895,CA
+1754300896,1754301439,US
1754301440,1754301695,CA
1754301696,1754302719,US
1754302720,1754303231,CA
1754303232,1754303247,US
-1754303248,1754303263,CA
-1754303264,1754303295,US
-1754303296,1754303319,CA
-1754303320,1754303327,US
-1754303328,1754303359,CA
-1754303360,1754303487,US
+1754303248,1754303359,CA
+1754303360,1754303375,US
+1754303376,1754303391,CA
+1754303392,1754303487,US
1754303488,1754303551,CA
1754303552,1754303567,US
1754303568,1754303575,CA
1754303576,1754303679,US
1754303680,1754303999,CA
-1754304000,1754304791,US
-1754304792,1754304799,CA
-1754304800,1754304991,US
+1754304000,1754304783,US
+1754304784,1754304799,CA
+1754304800,1754304895,US
+1754304896,1754304911,CA
+1754304912,1754304943,US
+1754304944,1754304959,CA
+1754304960,1754304991,US
1754304992,1754305023,CA
1754305024,1754305535,US
1754305536,1754305663,CA
-1754305664,1754305759,US
-1754305760,1754305767,CA
+1754305664,1754305695,US
+1754305696,1754305711,CA
+1754305712,1754305743,US
+1754305744,1754305767,CA
1754305768,1754305791,US
-1754305792,1754306559,CA
+1754305792,1754305855,CA
+1754305856,1754305919,CN
+1754305920,1754306559,CA
1754306560,1754306959,US
1754306960,1754306975,CA
1754306976,1754307031,US
@@ -62720,236 +64379,339 @@
1754307072,1754307327,CA
1754307328,1754307391,US
1754307392,1754307423,CA
-1754307424,1754307447,US
-1754307448,1754307455,CA
-1754307456,1754307583,US
-1754307584,1754307855,CA
-1754307856,1754307871,US
-1754307872,1754307895,CA
+1754307424,1754307439,US
+1754307440,1754307455,CA
+1754307456,1754307487,US
+1754307488,1754307503,CA
+1754307504,1754307583,US
+1754307584,1754307895,CA
1754307896,1754307903,SE
-1754307904,1754308095,US
-1754308096,1754308103,CA
+1754307904,1754308015,US
+1754308016,1754308103,CA
1754308104,1754308111,US
1754308112,1754308127,CA
-1754308128,1754308191,US
+1754308128,1754308143,US
+1754308144,1754308159,CA
+1754308160,1754308191,US
1754308192,1754308223,CA
-1754308224,1754308303,US
+1754308224,1754308255,US
+1754308256,1754308271,CA
+1754308272,1754308303,US
1754308304,1754308311,CA
1754308312,1754308319,US
1754308320,1754308351,CA
1754308352,1754308367,US
1754308368,1754308383,CA
-1754308384,1754308447,US
+1754308384,1754308415,US
+1754308416,1754308431,CA
+1754308432,1754308447,US
1754308448,1754308455,CA
-1754308456,1754308575,US
+1754308456,1754308463,US
+1754308464,1754308479,CA
+1754308480,1754308543,US
+1754308544,1754308559,CA
+1754308560,1754308575,US
1754308576,1754308607,CA
-1754308608,1754308943,US
+1754308608,1754308879,US
+1754308880,1754308895,CA
+1754308896,1754308943,US
1754308944,1754308951,CA
1754308952,1754308959,SE
-1754308960,1754308991,US
-1754308992,1754309007,CA
-1754309008,1754309055,US
+1754308960,1754308975,CA
+1754308976,1754308991,US
+1754308992,1754309023,CA
+1754309024,1754309055,US
1754309056,1754309119,CA
-1754309120,1754309471,US
+1754309120,1754309375,US
+1754309376,1754309439,CA
+1754309440,1754309471,US
1754309472,1754309479,CA
-1754309480,1754309919,US
-1754309920,1754309935,CA
+1754309480,1754309487,US
+1754309488,1754309503,CA
+1754309504,1754309583,US
+1754309584,1754309615,CA
+1754309616,1754309903,US
+1754309904,1754309935,CA
1754309936,1754309951,US
1754309952,1754309983,CA
-1754309984,1754310015,US
-1754310016,1754310079,CA
-1754310080,1754310479,US
+1754309984,1754309999,US
+1754310000,1754310079,CA
+1754310080,1754310111,US
+1754310112,1754310127,CA
+1754310128,1754310399,US
+1754310400,1754310415,CA
+1754310416,1754310431,US
+1754310432,1754310463,CA
+1754310464,1754310479,US
1754310480,1754310495,CA
1754310496,1754310527,US
1754310528,1754310655,CA
1754310656,1754310943,US
1754310944,1754310975,CA
-1754310976,1754311007,US
-1754311008,1754311055,CA
-1754311056,1754311519,US
-1754311520,1754311567,CA
-1754311568,1754311583,US
-1754311584,1754311615,CA
-1754311616,1754311759,US
-1754311760,1754311775,CA
-1754311776,1754311967,US
+1754310976,1754310991,US
+1754310992,1754311055,CA
+1754311056,1754311119,US
+1754311120,1754311151,CA
+1754311152,1754311487,US
+1754311488,1754311503,CA
+1754311504,1754311519,US
+1754311520,1754311615,CA
+1754311616,1754311647,US
+1754311648,1754311663,CA
+1754311664,1754311679,US
+1754311680,1754311695,CA
+1754311696,1754311711,US
+1754311712,1754311743,CA
+1754311744,1754311759,US
+1754311760,1754311791,CA
+1754311792,1754311967,US
1754311968,1754311975,CA
-1754311976,1754312463,US
-1754312464,1754312471,CA
-1754312472,1754312703,US
+1754311976,1754311983,US
+1754311984,1754311999,CA
+1754312000,1754312463,US
+1754312464,1754312495,CA
+1754312496,1754312575,US
+1754312576,1754312639,CA
+1754312640,1754312655,US
+1754312656,1754312671,CA
+1754312672,1754312703,US
1754312704,1754312719,CA
1754312720,1754312735,US
1754312736,1754312767,CA
1754312768,1754312783,US
-1754312784,1754312799,CA
-1754312800,1754312959,US
+1754312784,1754312815,CA
+1754312816,1754312831,US
+1754312832,1754312847,CA
+1754312848,1754312863,US
+1754312864,1754312879,CA
+1754312880,1754312959,US
1754312960,1754313023,CA
-1754313024,1754313151,US
-1754313152,1754313183,CA
-1754313184,1754313215,US
-1754313216,1754313239,CA
-1754313240,1754313391,US
-1754313392,1754313455,CA
-1754313456,1754313471,US
-1754313472,1754313487,CA
-1754313488,1754313503,US
-1754313504,1754313535,CA
-1754313536,1754313615,US
+1754313024,1754313055,US
+1754313056,1754313071,CA
+1754313072,1754313119,US
+1754313120,1754313135,CA
+1754313136,1754313151,US
+1754313152,1754313247,CA
+1754313248,1754313327,US
+1754313328,1754313343,CA
+1754313344,1754313391,US
+1754313392,1754313535,CA
+1754313536,1754313583,US
+1754313584,1754313599,CA
+1754313600,1754313615,US
1754313616,1754313663,CA
-1754313664,1754313695,US
-1754313696,1754313791,CA
-1754313792,1754313839,US
+1754313664,1754313679,US
+1754313680,1754313791,CA
+1754313792,1754313807,US
+1754313808,1754313823,CA
+1754313824,1754313839,US
1754313840,1754313847,CA
-1754313848,1754313951,US
-1754313952,1754314015,CA
-1754314016,1754314079,US
-1754314080,1754314111,CA
-1754314112,1754314143,US
+1754313848,1754313903,US
+1754313904,1754314031,CA
+1754314032,1754314079,US
+1754314080,1754314127,CA
+1754314128,1754314143,US
1754314144,1754314175,CA
-1754314176,1754314239,US
+1754314176,1754314191,US
+1754314192,1754314207,CA
+1754314208,1754314239,US
1754314240,1754314255,CA
-1754314256,1754314463,US
-1754314464,1754314495,CA
-1754314496,1754314527,US
+1754314256,1754314415,US
+1754314416,1754314431,CA
+1754314432,1754314463,US
+1754314464,1754314511,CA
+1754314512,1754314527,US
1754314528,1754314559,CA
1754314560,1754314575,US
-1754314576,1754314591,CA
-1754314592,1754314783,US
-1754314784,1754314815,CA
-1754314816,1754314991,US
-1754314992,1754315007,CA
-1754315008,1754315039,US
-1754315040,1754315071,CA
-1754315072,1754315135,US
+1754314576,1754314623,CA
+1754314624,1754314719,US
+1754314720,1754314735,CA
+1754314736,1754314767,US
+1754314768,1754314815,CA
+1754314816,1754314847,US
+1754314848,1754314863,CA
+1754314864,1754314991,US
+1754314992,1754315071,CA
+1754315072,1754315087,US
+1754315088,1754315103,CA
+1754315104,1754315135,US
1754315136,1754315199,CA
1754315200,1754315215,US
1754315216,1754315223,CA
-1754315224,1754315295,US
-1754315296,1754315311,CA
-1754315312,1754315359,US
-1754315360,1754315391,CA
-1754315392,1754315423,US
+1754315224,1754315263,US
+1754315264,1754315311,CA
+1754315312,1754315343,US
+1754315344,1754315407,CA
+1754315408,1754315423,US
1754315424,1754315471,CA
-1754315472,1754315551,US
+1754315472,1754315519,US
+1754315520,1754315535,CA
+1754315536,1754315551,US
1754315552,1754315559,CA
1754315560,1754315615,US
1754315616,1754315623,CA
-1754315624,1754316287,US
-1754316288,1754317823,CA
-1754317824,1754317903,US
+1754315624,1754315631,US
+1754315632,1754315647,CA
+1754315648,1754316287,US
+1754316288,1754317839,CA
+1754317840,1754317903,US
1754317904,1754317919,CA
1754317920,1754317935,US
1754317936,1754317943,CA
1754317944,1754318111,US
1754318112,1754318119,CA
-1754318120,1754318175,US
+1754318120,1754318143,US
+1754318144,1754318159,CA
+1754318160,1754318175,US
1754318176,1754318207,CA
1754318208,1754318335,US
1754318336,1754318847,CA
1754318848,1754319119,US
1754319120,1754319135,CA
-1754319136,1754319199,US
-1754319200,1754319207,CA
-1754319208,1754319263,US
+1754319136,1754319167,US
+1754319168,1754319207,CA
+1754319208,1754319215,US
+1754319216,1754319247,CA
+1754319248,1754319263,US
1754319264,1754319295,CA
-1754319296,1754319391,US
+1754319296,1754319311,US
+1754319312,1754319327,CA
+1754319328,1754319391,US
1754319392,1754319479,CA
-1754319480,1754319519,US
-1754319520,1754319551,CA
-1754319552,1754319647,US
-1754319648,1754319663,CA
-1754319664,1754319743,US
-1754319744,1754319767,CA
-1754319768,1754319807,US
-1754319808,1754319935,CA
-1754319936,1754319999,US
+1754319480,1754319487,US
+1754319488,1754319551,CA
+1754319552,1754319567,US
+1754319568,1754319599,CA
+1754319600,1754319615,US
+1754319616,1754319663,CA
+1754319664,1754319727,US
+1754319728,1754319935,CA
+1754319936,1754319951,US
+1754319952,1754319983,CA
+1754319984,1754319999,US
1754320000,1754320063,CA
-1754320064,1754320127,US
+1754320064,1754320095,US
+1754320096,1754320111,CA
+1754320112,1754320127,US
1754320128,1754320167,CA
1754320168,1754320223,US
1754320224,1754320231,CA
-1754320232,1754320287,US
-1754320288,1754320319,CA
+1754320232,1754320255,US
+1754320256,1754320319,CA
1754320320,1754320415,US
1754320416,1754320447,CA
-1754320448,1754320575,US
-1754320576,1754320623,CA
-1754320624,1754320671,US
-1754320672,1754320687,CA
-1754320688,1754320719,US
+1754320448,1754320479,US
+1754320480,1754320495,CA
+1754320496,1754320527,US
+1754320528,1754320543,CA
+1754320544,1754320559,US
+1754320560,1754320623,CA
+1754320624,1754320639,US
+1754320640,1754320655,CA
+1754320656,1754320671,US
+1754320672,1754320703,CA
+1754320704,1754320719,US
1754320720,1754320767,CA
-1754320768,1754320927,US
+1754320768,1754320799,US
+1754320800,1754320815,CA
+1754320816,1754320927,US
1754320928,1754320951,CA
-1754320952,1754321055,US
+1754320952,1754320975,US
+1754320976,1754321023,CA
+1754321024,1754321055,US
1754321056,1754321103,CA
1754321104,1754321119,US
1754321120,1754321151,CA
1754321152,1754321167,US
-1754321168,1754321183,CA
-1754321184,1754321231,US
+1754321168,1754321199,CA
+1754321200,1754321231,US
1754321232,1754321239,CA
1754321240,1754321439,US
1754321440,1754321447,CA
1754321448,1754321487,US
1754321488,1754321511,CA
-1754321512,1754321919,US
-1754321920,1754321951,CA
-1754321952,1754322047,US
+1754321512,1754321519,US
+1754321520,1754321535,CA
+1754321536,1754321551,US
+1754321552,1754321567,CA
+1754321568,1754321615,US
+1754321616,1754321663,CA
+1754321664,1754321919,US
+1754321920,1754321983,CA
+1754321984,1754322047,US
1754322048,1754322175,CA
1754322176,1754322239,US
-1754322240,1754322271,CA
-1754322272,1754322687,US
+1754322240,1754322303,CA
+1754322304,1754322687,US
1754322688,1754322695,CA
1754322696,1754322703,US
1754322704,1754322719,CA
-1754322720,1754323199,US
+1754322720,1754322767,US
+1754322768,1754322783,CA
+1754322784,1754322879,US
+1754322880,1754322943,CA
+1754322944,1754323199,US
1754323200,1754323207,CA
-1754323208,1754323279,US
+1754323208,1754323215,US
+1754323216,1754323231,CA
+1754323232,1754323247,US
+1754323248,1754323263,CA
+1754323264,1754323279,US
1754323280,1754323287,CA
-1754323288,1754323359,US
-1754323360,1754323391,CA
-1754323392,1754323583,US
+1754323288,1754323327,US
+1754323328,1754323391,CA
+1754323392,1754323455,US
+1754323456,1754323519,CA
+1754323520,1754323583,US
1754323584,1754323711,CA
-1754323712,1754323999,US
-1754324000,1754324031,CA
+1754323712,1754323967,US
+1754323968,1754324031,CA
1754324032,1754324735,US
1754324736,1754324999,CA
-1754325000,1754325071,US
+1754325000,1754325007,US
+1754325008,1754325039,CA
+1754325040,1754325071,US
1754325072,1754325079,CA
-1754325080,1754325247,US
-1754325248,1754325263,CA
-1754325264,1754325343,US
-1754325344,1754325375,CA
-1754325376,1754325407,US
+1754325080,1754325087,US
+1754325088,1754325103,CA
+1754325104,1754325247,US
+1754325248,1754325279,CA
+1754325280,1754325343,US
+1754325344,1754325391,CA
+1754325392,1754325407,US
1754325408,1754325439,CA
-1754325440,1754325503,US
-1754325504,1754325527,CA
-1754325528,1754325535,US
-1754325536,1754325567,CA
-1754325568,1754325631,US
+1754325440,1754325487,US
+1754325488,1754325599,CA
+1754325600,1754325631,US
1754325632,1754325695,CA
1754325696,1754325759,US
1754325760,1754325767,CA
-1754325768,1754325791,US
-1754325792,1754325823,CA
-1754325824,1754325855,US
+1754325768,1754325775,US
+1754325776,1754325839,CA
+1754325840,1754325855,US
1754325856,1754325887,CA
1754325888,1754325919,US
1754325920,1754325927,CA
-1754325928,1754325951,US
-1754325952,1754326031,CA
-1754326032,1754326047,US
-1754326048,1754326079,CA
-1754326080,1754326271,US
+1754325928,1754325935,US
+1754325936,1754326079,CA
+1754326080,1754326127,US
+1754326128,1754326207,CA
+1754326208,1754326239,US
+1754326240,1754326255,CA
+1754326256,1754326271,US
1754326272,1754326335,CA
-1754326336,1754326431,US
+1754326336,1754326399,US
+1754326400,1754326415,CA
+1754326416,1754326431,US
1754326432,1754326463,CA
-1754326464,1754326527,US
+1754326464,1754326495,US
+1754326496,1754326511,CA
+1754326512,1754326527,US
1754326528,1754326535,CA
-1754326536,1754326559,US
-1754326560,1754326591,CA
-1754326592,1754326687,US
-1754326688,1754326719,CA
+1754326536,1754326543,US
+1754326544,1754326591,CA
+1754326592,1754326655,US
+1754326656,1754326719,CA
1754326720,1754326751,US
1754326752,1754326759,CA
1754326760,1754326783,US
@@ -62960,61 +64722,69 @@
1754327040,1754327103,CA
1754327104,1754327231,US
1754327232,1754327295,CA
-1754327296,1754328143,US
+1754327296,1754328063,US
+1754328064,1754328079,CA
+1754328080,1754328111,US
+1754328112,1754328127,CA
+1754328128,1754328143,US
1754328144,1754328151,CA
1754328152,1754328319,US
1754328320,1754328575,CA
1754328576,1754329087,US
-1754329088,1754329103,CA
-1754329104,1754329119,US
-1754329120,1754329151,CA
+1754329088,1754329151,CA
1754329152,1754329183,US
1754329184,1754329215,CA
1754329216,1754329247,US
1754329248,1754329279,CA
-1754329280,1754329327,US
-1754329328,1754329335,CA
+1754329280,1754329311,US
+1754329312,1754329335,CA
1754329336,1754329343,US
-1754329344,1754329359,CA
-1754329360,1754329375,US
-1754329376,1754329407,CA
-1754329408,1754329599,US
+1754329344,1754329407,CA
+1754329408,1754329455,US
+1754329456,1754329471,CA
+1754329472,1754329599,US
1754329600,1754329607,CA
1754329608,1754329631,US
1754329632,1754329663,CA
-1754329664,1754329687,US
-1754329688,1754329695,CA
-1754329696,1754329759,US
+1754329664,1754329679,US
+1754329680,1754329695,CA
+1754329696,1754329711,US
+1754329712,1754329743,CA
+1754329744,1754329759,US
1754329760,1754329791,CA
-1754329792,1754329887,US
+1754329792,1754329839,US
+1754329840,1754329871,CA
+1754329872,1754329887,US
1754329888,1754329919,CA
1754329920,1754329935,US
1754329936,1754329951,CA
1754329952,1754330111,US
1754330112,1754330623,CA
1754330624,1754331135,US
-1754331136,1754331167,CA
-1754331168,1754331199,US
-1754331200,1754331263,CA
+1754331136,1754331263,CA
1754331264,1754331295,US
1754331296,1754331303,CA
1754331304,1754331375,US
-1754331376,1754331391,CA
-1754331392,1754331423,US
+1754331376,1754331407,CA
+1754331408,1754331423,US
1754331424,1754331455,CA
1754331456,1754331487,US
1754331488,1754331495,CA
1754331496,1754331647,US
-1754331648,1754331775,CA
-1754331776,1754331823,US
+1754331648,1754331791,CA
+1754331792,1754331823,US
1754331824,1754331839,CA
1754331840,1754331855,US
1754331856,1754331871,CA
1754331872,1754332191,US
1754332192,1754332199,CA
-1754332200,1754332271,US
+1754332200,1754332223,US
+1754332224,1754332239,CA
+1754332240,1754332271,US
1754332272,1754332287,CA
-1754332288,1754332703,US
+1754332288,1754332671,US
+1754332672,1754332687,CA
+1754332688,1754332703,US
1754332704,1754332735,CA
1754332736,1754332751,US
1754332752,1754332767,CA
@@ -63320,7 +65090,9 @@
1755113472,1755113983,AU
1755113984,1755115007,US
1755115008,1755115519,JP
-1755115520,1755119615,US
+1755115520,1755115615,US
+1755115616,1755115679,GB
+1755115680,1755119615,US
1755119616,1755283455,CA
1755283456,1755319807,US
1755319808,1755320319,DK
@@ -63456,12 +65228,16 @@
1757426688,1757427711,CA
1757427712,1757432831,US
1757432832,1757433855,CA
-1757433856,1757443071,US
+1757433856,1757434687,US
+1757434688,1757434688,CN
+1757434689,1757443071,US
1757443072,1757446143,CA
1757446144,1757447167,US
1757447168,1757447343,CA
1757447344,1757447344,US
-1757447345,1757448191,CA
+1757447345,1757448087,CA
+1757448088,1757448091,US
+1757448092,1757448191,CA
1757448192,1757450239,US
1757450240,1757451263,CA
1757451264,1757452287,US
@@ -63474,7 +65250,9 @@
1757466624,1757468671,CA
1757468672,1757472767,US
1757472768,1757473791,CA
-1757473792,1757487103,US
+1757473792,1757480959,US
+1757480960,1757481983,CA
+1757481984,1757487103,US
1757487104,1757489151,CA
1757489152,1757491199,US
1757491200,1757497343,CA
@@ -63520,7 +65298,9 @@
1757958144,1757962239,CA
1757962240,1757966335,BB
1757966336,1757970431,JP
-1757970432,1757996287,US
+1757970432,1757971455,US
+1757971456,1757971711,CA
+1757971712,1757996287,US
1757996288,1757996543,GB
1757996544,1758002431,US
1758002432,1758002687,GB
@@ -63581,7 +65361,8 @@
1758986240,1759128575,US
1759128576,1759129599,CA
1759129600,1759131647,US
-1759131648,1759133695,CA
+1759131648,1759132671,LT
+1759132672,1759133695,CA
1759133696,1759138815,US
1759138816,1759139839,CA
1759139840,1759140863,US
@@ -63593,7 +65374,8 @@
1759150080,1759158783,US
1759158784,1759159295,SG
1759159296,1759159807,GB
-1759159808,1759160319,US
+1759159808,1759160063,HK
+1759160064,1759160319,US
1759160320,1759162367,BM
1759162368,1759163391,BB
1759163392,1759166463,US
@@ -63759,22 +65541,22 @@
1759707760,1759707783,US
1759707784,1759707807,CA
1759707808,1759707823,US
-1759707824,1759707839,CA
-1759707840,1759707863,US
-1759707864,1759707871,CA
-1759707872,1759707887,US
+1759707824,1759707855,CA
+1759707856,1759707863,US
+1759707864,1759707879,CA
+1759707880,1759707887,US
1759707888,1759707911,CA
-1759707912,1759707927,US
-1759707928,1759707935,CA
+1759707912,1759707919,US
+1759707920,1759707935,CA
1759707936,1759707943,US
1759707944,1759707975,CA
1759707976,1759707991,US
-1759707992,1759707999,CA
-1759708000,1759708007,US
-1759708008,1759708031,CA
+1759707992,1759708031,CA
1759708032,1759708159,US
1759708160,1759708351,CA
-1759708352,1759708751,US
+1759708352,1759708399,US
+1759708400,1759708407,CA
+1759708408,1759708751,US
1759708752,1759708759,CA
1759708760,1759709439,US
1759709440,1759710207,CA
@@ -63782,7 +65564,9 @@
1759711704,1759711711,CA
1759711712,1759711727,US
1759711728,1759711743,CA
-1759711744,1759712287,US
+1759711744,1759712255,US
+1759712256,1759712271,CA
+1759712272,1759712287,US
1759712288,1759712319,CA
1759712320,1759712335,US
1759712336,1759712351,CA
@@ -63796,55 +65580,65 @@
1759715072,1759715327,CA
1759715328,1759715375,US
1759715376,1759715391,CA
-1759715392,1759715423,US
-1759715424,1759715439,CA
+1759715392,1759715407,US
+1759715408,1759715439,CA
1759715440,1759715839,US
1759715840,1759715903,CA
1759715904,1759715967,US
-1759715968,1759715983,CA
-1759715984,1759716031,US
-1759716032,1759716159,CA
+1759715968,1759716159,CA
1759716160,1759716223,US
1759716224,1759716255,CA
1759716256,1759716287,US
-1759716288,1759716351,CA
-1759716352,1759717023,US
-1759717024,1759717031,CA
-1759717032,1759717375,US
-1759717376,1759717631,CA
-1759717632,1759717887,US
-1759717888,1759718399,CA
+1759716288,1759716863,CA
+1759716864,1759717023,US
+1759717024,1759717039,CA
+1759717040,1759717055,US
+1759717056,1759717071,CA
+1759717072,1759717375,US
+1759717376,1759718399,CA
1759718400,1759718655,US
-1759718656,1759718911,CA
-1759718912,1759719167,US
-1759719168,1759719519,CA
+1759718656,1759719519,CA
1759719520,1759719679,US
-1759719680,1759719711,CA
-1759719712,1759719743,US
-1759719744,1759719807,CA
+1759719680,1759719807,CA
1759719808,1759719839,US
-1759719840,1759719847,CA
-1759719848,1759719967,US
+1759719840,1759719855,CA
+1759719856,1759719919,US
+1759719920,1759719935,CA
+1759719936,1759719967,US
1759719968,1759719999,CA
-1759720000,1759720023,US
-1759720024,1759720031,CA
-1759720032,1759720047,US
-1759720048,1759720063,CA
-1759720064,1759720191,US
-1759720192,1759720207,CA
-1759720208,1759720319,US
+1759720000,1759720015,US
+1759720016,1759720063,CA
+1759720064,1759720095,US
+1759720096,1759720127,CA
+1759720128,1759720159,US
+1759720160,1759720207,CA
+1759720208,1759720223,US
+1759720224,1759720255,CA
+1759720256,1759720271,US
+1759720272,1759720287,CA
+1759720288,1759720319,US
1759720320,1759720383,CA
-1759720384,1759720703,US
+1759720384,1759720415,US
+1759720416,1759720431,CA
+1759720432,1759720543,US
+1759720544,1759720575,CA
+1759720576,1759720703,US
1759720704,1759720767,CA
1759720768,1759720783,US
1759720784,1759720791,CA
-1759720792,1759721423,US
+1759720792,1759720815,US
+1759720816,1759720831,CA
+1759720832,1759721183,US
+1759721184,1759721215,CA
+1759721216,1759721375,US
+1759721376,1759721391,CA
+1759721392,1759721423,US
1759721424,1759721439,CA
-1759721440,1759721503,US
-1759721504,1759721511,CA
-1759721512,1759721519,US
-1759721520,1759721535,CA
-1759721536,1759721695,US
+1759721440,1759721471,US
+1759721472,1759721535,CA
+1759721536,1759721647,US
+1759721648,1759721663,CA
+1759721664,1759721695,US
1759721696,1759721727,CA
1759721728,1759721743,US
1759721744,1759721759,CA
@@ -63852,86 +65646,102 @@
1759721824,1759721831,CA
1759721832,1759721839,NO
1759721840,1759722047,US
-1759722048,1759722063,CA
-1759722064,1759722303,US
-1759722304,1759722319,CA
-1759722320,1759722335,US
-1759722336,1759722367,CA
+1759722048,1759722079,CA
+1759722080,1759722271,US
+1759722272,1759722367,CA
1759722368,1759722383,US
1759722384,1759722431,CA
-1759722432,1759722511,US
+1759722432,1759722479,US
+1759722480,1759722495,CA
+1759722496,1759722511,US
1759722512,1759722527,CA
1759722528,1759722559,US
-1759722560,1759722591,CA
-1759722592,1759722895,US
+1759722560,1759722607,CA
+1759722608,1759722655,US
+1759722656,1759722687,CA
+1759722688,1759722895,US
1759722896,1759722911,CA
-1759722912,1759723007,US
+1759722912,1759722975,US
+1759722976,1759722991,CA
+1759722992,1759723007,US
1759723008,1759723071,CA
-1759723072,1759723159,US
-1759723160,1759723167,CA
-1759723168,1759723247,US
-1759723248,1759723263,CA
-1759723264,1759723343,US
+1759723072,1759723151,US
+1759723152,1759723167,CA
+1759723168,1759723199,US
+1759723200,1759723231,CA
+1759723232,1759723247,US
+1759723248,1759723279,CA
+1759723280,1759723343,US
1759723344,1759723359,CA
1759723360,1759723551,US
1759723552,1759723583,CA
-1759723584,1759723607,US
-1759723608,1759723615,CA
-1759723616,1759723823,US
+1759723584,1759723599,US
+1759723600,1759723615,CA
+1759723616,1759723631,US
+1759723632,1759723647,CA
+1759723648,1759723823,US
1759723824,1759723831,CA
1759723832,1759723839,US
-1759723840,1759723855,CA
-1759723856,1759723999,US
-1759724000,1759724031,CA
-1759724032,1759724287,US
-1759724288,1759725151,CA
-1759725152,1759725247,US
-1759725248,1759725375,CA
-1759725376,1759725455,US
+1759723840,1759723887,CA
+1759723888,1759723999,US
+1759724000,1759724159,CA
+1759724160,1759724223,US
+1759724224,1759724239,CA
+1759724240,1759724255,US
+1759724256,1759724799,CA
+1759724800,1759725055,US
+1759725056,1759725183,CA
+1759725184,1759725247,US
+1759725248,1759725439,CA
+1759725440,1759725455,US
1759725456,1759725471,CA
1759725472,1759725503,US
-1759725504,1759725631,CA
-1759725632,1759725695,US
-1759725696,1759725711,CA
-1759725712,1759725823,US
-1759725824,1759725919,CA
-1759725920,1759726015,US
-1759726016,1759726079,CA
-1759726080,1759726591,US
+1759725504,1759725759,CA
+1759725760,1759725823,US
+1759725824,1759725951,CA
+1759725952,1759726015,US
+1759726016,1759726335,CA
+1759726336,1759726591,US
1759726592,1759726847,CA
-1759726848,1759727087,US
+1759726848,1759727007,US
+1759727008,1759727023,CA
+1759727024,1759727087,US
1759727088,1759727095,CA
1759727096,1759727103,US
1759727104,1759727359,CA
1759727360,1759727615,US
1759727616,1759727679,CA
-1759727680,1759727871,US
-1759727872,1759727935,CA
+1759727680,1759727807,US
+1759727808,1759727935,CA
1759727936,1759728063,US
1759728064,1759728383,CA
-1759728384,1759728703,US
-1759728704,1759728735,CA
-1759728736,1759728895,US
+1759728384,1759728639,US
+1759728640,1759728671,CA
+1759728672,1759728703,US
+1759728704,1759728767,CA
+1759728768,1759728799,US
+1759728800,1759728831,CA
+1759728832,1759728895,US
1759728896,1759729151,CA
1759729152,1759729663,US
-1759729664,1759729695,CA
-1759729696,1759729743,US
+1759729664,1759729711,CA
+1759729712,1759729743,US
1759729744,1759729751,CA
-1759729752,1759729975,US
-1759729976,1759730015,CA
-1759730016,1759730207,US
+1759729752,1759729967,US
+1759729968,1759730015,CA
+1759730016,1759730175,US
+1759730176,1759730191,CA
+1759730192,1759730207,US
1759730208,1759730239,CA
1759730240,1759730303,US
-1759730304,1759730319,CA
-1759730320,1759730351,US
-1759730352,1759730367,CA
+1759730304,1759730367,CA
1759730368,1759730399,US
1759730400,1759730415,CA
1759730416,1759730463,US
1759730464,1759730487,CA
1759730488,1759730519,US
-1759730520,1759730527,CA
-1759730528,1759730559,US
+1759730520,1759730543,CA
+1759730544,1759730559,US
1759730560,1759730623,CA
1759730624,1759730839,US
1759730840,1759730847,CA
@@ -63950,31 +65760,37 @@
1759734168,1759734207,US
1759734208,1759734271,CA
1759734272,1759734279,US
-1759734280,1759734287,CA
-1759734288,1759734351,US
+1759734280,1759734303,CA
+1759734304,1759734351,US
1759734352,1759734367,CA
-1759734368,1759734623,US
-1759734624,1759734639,CA
-1759734640,1759734783,US
-1759734784,1759735935,CA
-1759735936,1759736015,US
+1759734368,1759734383,US
+1759734384,1759734399,CA
+1759734400,1759734431,US
+1759734432,1759734463,CA
+1759734464,1759734607,US
+1759734608,1759734639,CA
+1759734640,1759734735,US
+1759734736,1759734751,CA
+1759734752,1759734783,US
+1759734784,1759735967,CA
+1759735968,1759736015,US
1759736016,1759736031,CA
1759736032,1759736063,US
1759736064,1759736383,CA
1759736384,1759736447,US
-1759736448,1759736479,CA
-1759736480,1759737007,US
+1759736448,1759736575,CA
+1759736576,1759737007,US
1759737008,1759737015,CA
-1759737016,1759737343,US
+1759737016,1759737071,US
+1759737072,1759737087,CA
+1759737088,1759737343,US
1759737344,1759737407,CA
1759737408,1759737423,US
1759737424,1759737431,CA
1759737432,1759737599,US
-1759737600,1759738111,CA
-1759738112,1759738623,US
-1759738624,1759738879,CA
-1759738880,1759739039,US
-1759739040,1759739055,CA
+1759737600,1759738879,CA
+1759738880,1759739023,US
+1759739024,1759739055,CA
1759739056,1759739103,US
1759739104,1759739135,CA
1759739136,1759739391,US
@@ -63989,9 +65805,9 @@
1759739904,1759739999,CA
1759740000,1759740015,US
1759740016,1759740023,CA
-1759740024,1759740095,US
-1759740096,1759740255,CA
-1759740256,1759740351,US
+1759740024,1759740031,US
+1759740032,1759740287,CA
+1759740288,1759740351,US
1759740352,1759740927,CA
1759740928,1759741439,US
1759741440,1759742929,CA
@@ -63999,8 +65815,8 @@
1759742931,1759742939,CA
1759742940,1759742942,US
1759742943,1759743999,CA
-1759744000,1759744511,US
-1759744512,1759744767,CA
+1759744000,1759744255,US
+1759744256,1759744767,CA
1759744768,1759745023,US
1759745024,1759745279,CA
1759745280,1759745535,US
@@ -64015,9 +65831,7 @@
1759747392,1759747407,US
1759747408,1759747415,CA
1759747416,1759747455,US
-1759747456,1759747487,CA
-1759747488,1759747519,US
-1759747520,1759747647,CA
+1759747456,1759747647,CA
1759747648,1759747663,US
1759747664,1759747671,CA
1759747672,1759747927,US
@@ -64031,15 +65845,15 @@
1759748408,1759748431,US
1759748432,1759748439,CA
1759748440,1759748479,US
-1759748480,1759748511,CA
-1759748512,1759748543,US
-1759748544,1759748607,CA
+1759748480,1759748607,CA
1759748608,1759748639,US
1759748640,1759748647,CA
1759748648,1759748655,SE
1759748656,1759748671,US
1759748672,1759748687,CA
-1759748688,1759748863,US
+1759748688,1759748719,US
+1759748720,1759748735,CA
+1759748736,1759748863,US
1759748864,1759749183,CA
1759749184,1759749199,US
1759749200,1759749207,CA
@@ -64048,50 +65862,76 @@
1759749440,1759749455,US
1759749456,1759749463,CA
1759749464,1759749567,US
-1759749568,1759749631,CA
-1759749632,1759749919,US
+1759749568,1759749823,CA
+1759749824,1759749887,US
+1759749888,1759749903,CA
+1759749904,1759749919,US
1759749920,1759749935,CA
1759749936,1759749975,US
1759749976,1759749983,CA
-1759749984,1759750223,US
+1759749984,1759750191,US
+1759750192,1759750207,CA
+1759750208,1759750223,US
1759750224,1759750239,CA
1759750240,1759750335,US
1759750336,1759750351,CA
-1759750352,1759750423,US
-1759750424,1759750431,CA
+1759750352,1759750367,US
+1759750368,1759750399,CA
+1759750400,1759750415,US
+1759750416,1759750431,CA
1759750432,1759750463,US
1759750464,1759750479,CA
-1759750480,1759750655,US
+1759750480,1759750495,US
+1759750496,1759750511,CA
+1759750512,1759750655,US
1759750656,1759750719,CA
-1759750720,1759750847,US
+1759750720,1759750799,US
+1759750800,1759750807,CA
+1759750808,1759750847,US
1759750848,1759750911,CA
1759750912,1759751679,US
-1759751680,1759751811,CA
-1759751812,1759751839,US
-1759751840,1759751986,CA
-1759751987,1759751987,US
-1759751988,1759752191,CA
+1759751680,1759751823,CA
+1759751824,1759751839,US
+1759751840,1759752191,CA
1759752192,1759752447,US
1759752448,1759752543,CA
1759752544,1759752639,US
-1759752640,1759752959,CA
-1759752960,1759753047,US
+1759752640,1759753023,CA
+1759753024,1759753047,US
1759753048,1759753055,CA
-1759753056,1759753215,US
+1759753056,1759753087,US
+1759753088,1759753103,CA
+1759753104,1759753135,US
+1759753136,1759753151,CA
+1759753152,1759753215,US
1759753216,1759754239,CA
-1759754240,1759754719,US
+1759754240,1759754495,US
+1759754496,1759754639,CA
+1759754640,1759754719,US
1759754720,1759754735,CA
-1759754736,1759755263,US
+1759754736,1759755007,US
+1759755008,1759755151,CA
+1759755152,1759755167,US
+1759755168,1759755199,CA
+1759755200,1759755263,US
1759755264,1759755519,CA
-1759755520,1759755935,US
+1759755520,1759755647,US
+1759755648,1759755663,CA
+1759755664,1759755935,US
1759755936,1759755943,CA
-1759755944,1759756239,US
+1759755944,1759755967,US
+1759755968,1759755983,CA
+1759755984,1759755999,US
+1759756000,1759756031,CA
+1759756032,1759756239,US
1759756240,1759756247,CA
1759756248,1759764479,US
-1759764480,1759770623,CA
-1759770624,1759770757,US
-1759770758,1759770758,NL
-1759770759,1760034815,US
+1759764480,1759766527,CA
+1759766528,1759766783,US
+1759766784,1759767039,CY
+1759767040,1759768575,US
+1759768576,1759770623,CA
+1759770624,1760034815,US
1760038912,1760044031,US
1760044032,1760044159,SE
1760044160,1760044319,US
@@ -64099,7 +65939,7 @@
1760044416,1760047103,US
1760047104,1760051199,CA
1760051200,1760086015,US
-1760086016,1760088063,GB
+1760086016,1760088063,CA
1760088064,1760116735,US
1760116736,1760133119,CA
1760133120,1760165887,US
@@ -64167,7 +66007,7 @@
1760818432,1760818687,MX
1760818688,1760818943,AW
1760818944,1760819199,US
-1760819200,1760819455,RO
+1760819200,1760819455,DE
1760819456,1760819711,AM
1760819712,1760819967,MA
1760819968,1760820223,US
@@ -64187,8 +66027,8 @@
1760870400,1760871423,US
1760871424,1760872447,CA
1760872448,1760878591,US
-1760878592,1760882687,JM
-1760882688,1760883711,US
+1760878592,1760880639,JM
+1760880640,1760883711,US
1760883712,1760884735,CA
1760884736,1760886783,US
1760886784,1760888831,CA
@@ -64206,7 +66046,8 @@
1760904192,1760909311,US
1760909312,1760910335,VG
1760910336,1760911359,GD
-1760911360,1760915455,US
+1760911360,1760913407,CA
+1760913408,1760915455,US
1760915456,1760917503,MQ
1760917504,1760918679,US
1760918680,1760918687,NL
@@ -64256,7 +66097,9 @@
1761124352,1761128447,GB
1761128448,1761132543,US
1761132544,1761136639,NL
-1761136640,1761181695,US
+1761136640,1761144831,US
+1761144832,1761148927,DE
+1761148928,1761181695,US
1761181696,1761181951,MX
1761181952,1761182207,US
1761182208,1761182463,GB
@@ -64328,8 +66171,7 @@
1761257984,1761258239,GB
1761258240,1761258495,SI
1761258496,1761258751,IT
-1761258752,1761259007,LU
-1761259008,1761259519,US
+1761258752,1761259519,US
1761259520,1761259775,KH
1761259776,1761260031,AZ
1761260032,1761260287,ET
@@ -64383,20 +66225,23 @@
1761508352,1761509375,VG
1761509376,1761515519,US
1761515520,1761517567,CA
-1761517568,1761519615,US
-1761519616,1761521151,PR
-1761521152,1761522687,US
+1761517568,1761522687,US
1761522688,1761523711,CA
1761523712,1761526783,US
1761526784,1761527807,CA
1761527808,1761544191,US
1761544192,1761546239,CA
-1761546240,1761554431,US
+1761546240,1761550335,US
+1761550336,1761550591,CA
+1761550592,1761554431,US
1761554432,1761555455,CA
-1761555456,1761581055,US
+1761555456,1761558527,US
+1761558528,1761560575,CA
+1761560576,1761581055,US
1761581056,1761583103,CA
1761583104,1761587199,US
-1761587200,1761588223,AI
+1761587200,1761587455,MS
+1761587456,1761588223,AI
1761588224,1761589247,PR
1761589248,1761595391,US
1761595392,1761596415,CA
@@ -64465,9 +66310,18 @@
1763352576,1763385343,MU
1763385344,1763393535,AE
1763393536,1763401727,GB
-1763401728,1763402239,ZA
+1763401728,1763402239,MU
1763402240,1763402751,KE
-1763402752,1763429887,ZA
+1763402752,1763405823,MU
+1763405824,1763407871,ZA
+1763407872,1763411967,MU
+1763411968,1763414015,ZA
+1763414016,1763416063,MU
+1763416064,1763418111,ZA
+1763418112,1763420159,MU
+1763420160,1763424255,ZA
+1763424256,1763426303,MU
+1763426304,1763429887,ZA
1763429888,1763438591,KE
1763438592,1763442687,UG
1763442688,1763446783,RW
@@ -64480,14 +66334,16 @@
1763483648,1763524607,MU
1763524608,1763532799,ZA
1763532800,1763573759,MU
-1763573760,1763581951,ZA
+1763573760,1763577855,US
+1763577856,1763581951,ZA
1763581952,1763598335,MU
1763598336,1763602431,IN
1763602432,1763606527,NL
1763606528,1763610623,SE
1763610624,1763614719,DE
1763614720,1763631103,MU
-1763631104,1763639295,ZA
+1763631104,1763635199,AE
+1763635200,1763639295,ZA
1763639296,1763657727,MU
1763657728,1763659775,ZA
1763659776,1763661823,MU
@@ -64609,7 +66465,7 @@
1805021952,1805022207,TH
1805022208,1805022463,US
1805022464,1805022719,DE
-1805022720,1805024767,US
+1805022720,1805024767,HK
1805024768,1805025279,KR
1805025280,1805033983,US
1805033984,1805035007,TR
@@ -64632,23 +66488,17 @@
1805150720,1805156351,US
1805156352,1805156415,CA
1805156416,1805156431,US
-1805156432,1805156479,CA
-1805156480,1805156487,FI
-1805156488,1805156511,CA
+1805156432,1805156511,CA
1805156512,1805156519,US
1805156520,1805156599,CA
-1805156600,1805156671,US
-1805156672,1805156679,CA
-1805156680,1805156703,US
-1805156704,1805156719,CA
+1805156600,1805156607,US
+1805156608,1805156719,CA
1805156720,1805156815,US
1805156816,1805156823,CA
1805156824,1805156863,US
1805156864,1805156871,CA
1805156872,1805156879,US
-1805156880,1805156887,CA
-1805156888,1805156895,US
-1805156896,1805156911,CA
+1805156880,1805156911,CA
1805156912,1805156919,US
1805156920,1805156927,CA
1805156928,1805156935,US
@@ -64656,59 +66506,47 @@
1805156952,1805156959,US
1805156960,1805156999,CA
1805157000,1805157015,US
-1805157016,1805157023,CA
-1805157024,1805157031,US
-1805157032,1805157039,CA
-1805157040,1805157047,US
-1805157048,1805157055,CA
-1805157056,1805157063,US
-1805157064,1805157079,CA
+1805157016,1805157079,CA
1805157080,1805157095,US
1805157096,1805157159,CA
-1805157160,1805157375,US
-1805157376,1805157411,CA
-1805157412,1805157419,US
-1805157420,1805157547,CA
+1805157160,1805157279,US
+1805157280,1805157311,CA
+1805157312,1805157375,US
+1805157376,1805157547,CA
1805157548,1805157551,US
-1805157552,1805157631,CA
-1805157632,1805157887,US
-1805157888,1805157951,CA
+1805157552,1805157951,CA
1805157952,1805158031,US
1805158032,1805158047,CA
1805158048,1805158143,US
1805158144,1805158399,CA
1805158400,1805158655,US
-1805158656,1805158679,CA
-1805158680,1805158683,US
-1805158684,1805158787,CA
-1805158788,1805158791,US
-1805158792,1805158823,CA
+1805158656,1805158823,CA
1805158824,1805158831,US
-1805158832,1805158855,CA
-1805158856,1805158887,US
+1805158832,1805158879,CA
+1805158880,1805158887,US
1805158888,1805158895,CA
-1805158896,1805159047,US
-1805159048,1805159055,CA
+1805158896,1805158903,US
+1805158904,1805158951,CA
+1805158952,1805158959,US
+1805158960,1805158975,CA
+1805158976,1805158991,US
+1805158992,1805159015,CA
+1805159016,1805159039,US
+1805159040,1805159055,CA
1805159056,1805159071,US
-1805159072,1805159087,CA
-1805159088,1805159095,US
-1805159096,1805159119,CA
+1805159072,1805159119,CA
1805159120,1805159127,US
1805159128,1805159167,CA
1805159168,1805159175,US
1805159176,1805159191,CA
1805159192,1805159199,US
-1805159200,1805159247,CA
-1805159248,1805159279,US
-1805159280,1805159327,CA
-1805159328,1805159335,US
-1805159336,1805159359,CA
+1805159200,1805159263,CA
+1805159264,1805159279,US
+1805159280,1805159359,CA
1805159360,1805159423,US
1805159424,1805160191,CA
1805160192,1805160215,US
-1805160216,1805160239,CA
-1805160240,1805160247,US
-1805160248,1805160271,CA
+1805160216,1805160271,CA
1805160272,1805160279,US
1805160280,1805160295,CA
1805160296,1805160303,US
@@ -64719,82 +66557,106 @@
1805160352,1805160359,CA
1805160360,1805160367,US
1805160368,1805160407,CA
-1805160408,1805160439,US
+1805160408,1805160415,US
+1805160416,1805160423,CA
+1805160424,1805160439,US
1805160440,1805160447,CA
-1805160448,1805160895,US
+1805160448,1805160703,US
+1805160704,1805160719,CA
+1805160720,1805160735,US
+1805160736,1805160767,CA
+1805160768,1805160783,US
+1805160784,1805160799,CA
+1805160800,1805160895,US
1805160896,1805160911,CA
1805160912,1805160943,US
-1805160944,1805160951,CA
-1805160952,1805161215,US
+1805160944,1805160959,CA
+1805160960,1805161215,US
1805161216,1805161471,CA
1805161472,1805161727,US
1805161728,1805161983,CA
-1805161984,1805162495,US
+1805161984,1805162239,US
+1805162240,1805162255,CA
+1805162256,1805162495,US
1805162496,1805163519,CA
-1805163520,1805164031,US
-1805164032,1805164047,CA
-1805164048,1805164055,US
-1805164056,1805164071,CA
+1805163520,1805163647,US
+1805163648,1805163775,CA
+1805163776,1805164031,US
+1805164032,1805164071,CA
1805164072,1805164079,US
1805164080,1805164111,CA
1805164112,1805164127,US
1805164128,1805164159,CA
-1805164160,1805164287,US
-1805164288,1805164335,CA
-1805164336,1805164343,US
-1805164344,1805164351,CA
-1805164352,1805164799,US
-1805164800,1805164839,CA
-1805164840,1805164847,FI
-1805164848,1805164863,CA
-1805164864,1805165055,US
+1805164160,1805164223,US
+1805164224,1805164239,CA
+1805164240,1805164287,US
+1805164288,1805164351,CA
+1805164352,1805164367,US
+1805164368,1805164383,CA
+1805164384,1805164799,US
+1805164800,1805164863,CA
+1805164864,1805164879,US
+1805164880,1805164895,CA
+1805164896,1805164975,US
+1805164976,1805164991,CA
+1805164992,1805165055,US
1805165056,1805165311,CA
1805165312,1805165439,US
1805165440,1805165455,CA
-1805165456,1805166399,US
-1805166400,1805166463,CA
+1805165456,1805166335,US
+1805166336,1805166463,CA
1805166464,1805166591,US
1805166592,1805166687,CA
1805166688,1805166703,US
-1805166704,1805166711,CA
-1805166712,1805166719,US
-1805166720,1805166751,CA
-1805166752,1805167103,US
+1805166704,1805166751,CA
+1805166752,1805166847,US
+1805166848,1805167103,CA
1805167104,1805167359,FR
-1805167360,1805167455,US
-1805167456,1805167487,CA
-1805167488,1805167583,US
+1805167360,1805167439,CA
+1805167440,1805167455,US
+1805167456,1805167519,CA
+1805167520,1805167583,US
1805167584,1805167615,CA
-1805167616,1805167839,US
+1805167616,1805167743,US
+1805167744,1805167823,CA
+1805167824,1805167839,US
1805167840,1805167887,CA
-1805167888,1805168767,US
-1805168768,1805168783,CA
+1805167888,1805167903,US
+1805167904,1805167935,CA
+1805167936,1805168223,US
+1805168224,1805168255,CA
+1805168256,1805168671,US
+1805168672,1805168703,CA
+1805168704,1805168751,US
+1805168752,1805168783,CA
1805168784,1805168847,US
1805168848,1805168855,CA
1805168856,1805168863,SE
1805168864,1805168895,CA
-1805168896,1805169983,US
-1805169984,1805170047,CA
-1805170048,1805170111,US
-1805170112,1805170303,CA
-1805170304,1805170311,US
-1805170312,1805170403,CA
+1805168896,1805169151,US
+1805169152,1805169183,CA
+1805169184,1805169199,US
+1805169200,1805169215,CA
+1805169216,1805169663,US
+1805169664,1805170063,CA
+1805170064,1805170079,US
+1805170080,1805170403,CA
1805170404,1805170407,US
1805170408,1805170687,CA
1805170688,1805171199,US
1805171200,1805171239,CA
1805171240,1805171247,US
-1805171248,1805171279,CA
-1805171280,1805171287,US
-1805171288,1805171303,CA
-1805171304,1805171327,US
+1805171248,1805171255,CA
+1805171256,1805171263,BH
+1805171264,1805171311,CA
+1805171312,1805171327,US
1805171328,1805171343,CA
1805171344,1805171351,US
-1805171352,1805171359,CA
-1805171360,1805171391,US
-1805171392,1805171455,CA
-1805171456,1805171463,US
-1805171464,1805171551,CA
+1805171352,1805171367,CA
+1805171368,1805171375,US
+1805171376,1805171383,CA
+1805171384,1805171391,US
+1805171392,1805171551,CA
1805171552,1805171559,US
1805171560,1805171583,CA
1805171584,1805171591,US
@@ -64803,51 +66665,73 @@
1805171664,1805171687,CA
1805171688,1805171703,US
1805171704,1805171711,CA
-1805171712,1805171775,US
-1805171776,1805171807,CA
-1805171808,1805171951,US
+1805171712,1805171759,US
+1805171760,1805171839,CA
+1805171840,1805171887,US
+1805171888,1805171903,CA
+1805171904,1805171951,US
1805171952,1805171967,CA
1805171968,1805172047,US
-1805172048,1805172055,CA
-1805172056,1805172191,US
+1805172048,1805172095,CA
+1805172096,1805172159,US
+1805172160,1805172175,CA
+1805172176,1805172191,US
1805172192,1805172223,CA
-1805172224,1805173079,US
+1805172224,1805172735,US
+1805172736,1805173007,CA
+1805173008,1805173039,US
+1805173040,1805173055,CA
+1805173056,1805173079,US
1805173080,1805173087,CA
1805173088,1805173247,US
-1805173248,1805173503,CA
-1805173504,1805173535,US
-1805173536,1805173567,CA
-1805173568,1805173759,US
+1805173248,1805173567,CA
+1805173568,1805173599,US
+1805173600,1805173615,CA
+1805173616,1805173759,US
1805173760,1805173791,CA
-1805173792,1805174303,US
+1805173792,1805174271,US
+1805174272,1805174287,CA
+1805174288,1805174303,US
1805174304,1805174335,CA
1805174336,1805174527,US
1805174528,1805174783,CA
-1805174784,1805174831,US
-1805174832,1805174847,CA
-1805174848,1805174911,US
+1805174784,1805174815,US
+1805174816,1805174823,CA
+1805174824,1805174831,US
+1805174832,1805174863,CA
+1805174864,1805174911,US
1805174912,1805174943,CA
1805174944,1805175103,US
1805175104,1805175119,CA
-1805175120,1805176063,US
-1805176064,1805176319,CA
-1805176320,1805176831,US
-1805176832,1805177087,CA
+1805175120,1805175159,US
+1805175160,1805175167,CA
+1805175168,1805175807,US
+1805175808,1805176319,CA
+1805176320,1805176575,US
+1805176576,1805177087,CA
1805177088,1805177375,US
-1805177376,1805177407,CA
-1805177408,1805177471,US
+1805177376,1805177423,CA
+1805177424,1805177439,US
+1805177440,1805177455,CA
+1805177456,1805177471,US
1805177472,1805177599,CA
-1805177600,1805178111,US
-1805178112,1805178367,CA
+1805177600,1805177855,US
+1805177856,1805178367,CA
1805178368,1805178623,US
-1805178624,1805179135,CA
-1805179136,1805179647,US
+1805178624,1805179391,CA
+1805179392,1805179647,US
1805179648,1805179903,CA
-1805179904,1805181183,US
-1805181184,1805181695,CA
-1805181696,1805183135,US
-1805183136,1805183151,CA
-1805183152,1805183743,US
+1805179904,1805180927,US
+1805180928,1805181695,CA
+1805181696,1805182207,US
+1805182208,1805182463,CA
+1805182464,1805183039,US
+1805183040,1805183071,CA
+1805183072,1805183135,US
+1805183136,1805183167,CA
+1805183168,1805183199,US
+1805183200,1805183231,CA
+1805183232,1805183743,US
1805183744,1805184063,CA
1805184064,1805184127,US
1805184128,1805184159,CA
@@ -64855,84 +66739,115 @@
1805184192,1805184511,CA
1805184512,1805184527,US
1805184528,1805184535,CA
-1805184536,1805184607,US
+1805184536,1805184543,US
+1805184544,1805184575,CA
+1805184576,1805184607,US
1805184608,1805184639,CA
1805184640,1805184687,US
1805184688,1805184703,CA
1805184704,1805184735,US
1805184736,1805184783,CA
-1805184784,1805184863,US
-1805184864,1805184879,CA
-1805184880,1805185039,US
-1805185040,1805185055,CA
-1805185056,1805185063,US
-1805185064,1805185071,CA
-1805185072,1805185151,US
+1805184784,1805184799,US
+1805184800,1805184831,CA
+1805184832,1805184863,US
+1805184864,1805184895,CA
+1805184896,1805184927,US
+1805184928,1805184943,CA
+1805184944,1805185023,US
+1805185024,1805185071,CA
+1805185072,1805185103,US
+1805185104,1805185119,CA
+1805185120,1805185151,US
1805185152,1805185159,CA
1805185160,1805185167,FI
1805185168,1805185215,CA
-1805185216,1805185279,US
-1805185280,1805185295,CA
-1805185296,1805185303,US
-1805185304,1805185311,CA
-1805185312,1805185327,US
-1805185328,1805185343,CA
-1805185344,1805185407,US
+1805185216,1805185231,US
+1805185232,1805185247,CA
+1805185248,1805185279,US
+1805185280,1805185343,CA
+1805185344,1805185359,US
+1805185360,1805185375,CA
+1805185376,1805185407,US
1805185408,1805185423,CA
-1805185424,1805185647,US
+1805185424,1805185439,US
+1805185440,1805185471,CA
+1805185472,1805185519,US
+1805185520,1805185535,CA
+1805185536,1805185599,US
+1805185600,1805185615,CA
+1805185616,1805185647,US
1805185648,1805185655,CA
1805185656,1805185663,US
-1805185664,1805185671,CA
-1805185672,1805185951,US
-1805185952,1805185959,CA
+1805185664,1805185679,CA
+1805185680,1805185759,US
+1805185760,1805185775,CA
+1805185776,1805185919,US
+1805185920,1805185959,CA
1805185960,1805185967,NO
-1805185968,1805186095,US
+1805185968,1805185999,US
+1805186000,1805186063,CA
+1805186064,1805186095,US
1805186096,1805186127,CA
1805186128,1805186143,US
1805186144,1805186239,CA
-1805186240,1805186335,US
+1805186240,1805186287,US
+1805186288,1805186319,CA
+1805186320,1805186335,US
1805186336,1805186351,CA
-1805186352,1805186551,US
+1805186352,1805186495,US
+1805186496,1805186511,CA
+1805186512,1805186551,US
1805186552,1805186575,CA
-1805186576,1805186879,US
+1805186576,1805186687,US
+1805186688,1805186703,CA
+1805186704,1805186783,US
+1805186784,1805186799,CA
+1805186800,1805186879,US
1805186880,1805186911,CA
1805186912,1805186943,US
1805186944,1805186959,CA
-1805186960,1805186999,US
+1805186960,1805186975,US
+1805186976,1805186991,CA
+1805186992,1805186999,US
1805187000,1805187023,CA
-1805187024,1805187103,US
-1805187104,1805187111,CA
+1805187024,1805187071,US
+1805187072,1805187111,CA
1805187112,1805187119,NO
1805187120,1805187127,CA
-1805187128,1805187359,US
-1805187360,1805187391,CA
+1805187128,1805187327,US
+1805187328,1805187391,CA
1805187392,1805187455,US
-1805187456,1805187487,CA
-1805187488,1805187551,US
+1805187456,1805187503,CA
+1805187504,1805187551,US
1805187552,1805187567,CA
1805187568,1805187871,US
1805187872,1805187887,CA
1805187888,1805188175,US
-1805188176,1805188223,CA
-1805188224,1805188287,US
+1805188176,1805188255,CA
+1805188256,1805188287,US
1805188288,1805188295,CA
1805188296,1805188367,US
1805188368,1805188375,CA
1805188376,1805188383,FI
-1805188384,1805188415,CA
-1805188416,1805188479,US
+1805188384,1805188447,CA
+1805188448,1805188479,US
1805188480,1805188511,CA
-1805188512,1805188639,US
-1805188640,1805188647,CA
-1805188648,1805188703,US
-1805188704,1805188735,CA
+1805188512,1805188591,US
+1805188592,1805188647,CA
+1805188648,1805188671,US
+1805188672,1805188735,CA
1805188736,1805188751,US
1805188752,1805188767,CA
1805188768,1805188863,US
1805188864,1805188879,CA
1805188880,1805188911,US
1805188912,1805188927,CA
-1805188928,1805189119,US
+1805188928,1805189039,US
+1805189040,1805189055,CA
+1805189056,1805189071,US
+1805189072,1805189087,CA
+1805189088,1805189103,US
+1805189104,1805189119,CA
1805189120,1805189887,JP
1805189888,1805190399,US
1805190400,1805190655,ES
@@ -65101,10 +67016,8 @@
1806132172,1806135130,US
1806135131,1806135132,IN
1806135133,1806135295,US
-1806135296,1806135551,GB
-1806135552,1806135583,US
-1806135584,1806135585,GB
-1806135586,1806168831,US
+1806135296,1806135807,GB
+1806135808,1806168831,US
1806168832,1806169087,CA
1806169088,1806170111,US
1806170112,1806172159,CA
@@ -65268,11 +67181,14 @@
1816068096,1816133631,CA
1816133632,1819976622,US
1819976623,1819976623,RE
-1819976624,1822429183,US
+1819976624,1820327935,US
+1820327936,1820545695,IE
+1820545696,1820545696,US
+1820545697,1820852223,IE
+1820852224,1822429183,US
1822429184,1822433279,CA
1822433280,1822445567,US
-1822445568,1822451199,CA
-1822451200,1822451455,US
+1822445568,1822451455,CA
1822451456,1822451711,BB
1822451712,1822457855,US
1822457856,1822461951,JP
@@ -65333,8 +67249,7 @@
1823179200,1823179263,DE
1823179264,1823180287,US
1823180288,1823180543,AU
-1823180544,1823180799,US
-1823180800,1823181055,BR
+1823180544,1823181055,US
1823181056,1823181311,DK
1823181312,1823181567,BR
1823181568,1823181823,FR
@@ -65343,16 +67258,20 @@
1823182336,1823182591,JP
1823182592,1823182847,HK
1823182848,1823183103,IN
-1823183104,1823184895,ZA
-1823184896,1823186687,US
+1823183104,1823183359,ZA
+1823183360,1823186687,US
1823186688,1823186943,IN
1823186944,1823211519,US
1823211520,1823342591,CA
1823342592,1823346687,US
1823346688,1823350783,CA
-1823350784,1823358799,US
+1823350784,1823358495,US
+1823358496,1823358503,GB
+1823358504,1823358799,US
1823358800,1823358807,GB
-1823358808,1823375359,US
+1823358808,1823358895,US
+1823358896,1823358911,GB
+1823358912,1823375359,US
1823375360,1823379455,CA
1823379456,1823383551,US
1823383552,1823387647,CA
@@ -65361,59 +67280,58 @@
1823423488,1823428607,US
1823428608,1823432703,CA
1823432704,1823440895,US
-1823440896,1823444991,CA
-1823444992,1823465471,US
+1823440896,1823442943,CA
+1823442944,1823465471,US
1823465472,1823469567,CA
1823469568,1823735807,US
1823735808,1823866879,CA
1823866880,1824130623,US
1824130624,1824130655,CN
1824130656,1828716543,US
-1828716544,1830639615,FR
-1830639616,1830639647,MQ
-1830639648,1830813695,FR
+1828716544,1830813695,FR
1830813696,1831337983,NL
1831337984,1831338284,DE
1831338285,1831338285,CH
1831338286,1831862271,DE
1831862272,1832124415,PT
1832124416,1832386559,IT
-1832386560,1832399871,DK
-1832399872,1832400127,SE
-1832400128,1832414591,DK
-1832414592,1832414719,SE
-1832414720,1832473599,DK
-1832473600,1832473727,SE
-1832473728,1832501503,DK
-1832501504,1832501759,SE
-1832501760,1832510463,DK
-1832510464,1832510719,SE
-1832510720,1832550399,DK
-1832550400,1832558591,SE
-1832558592,1832585727,DK
-1832585728,1832585983,SE
-1832585984,1832595327,DK
-1832595328,1832595455,SE
-1832595456,1832601599,DK
-1832601600,1832601855,SE
-1832601856,1832648703,DK
+1832386560,1832393215,DK
+1832393216,1832393471,SE
+1832393472,1832396031,DK
+1832396032,1832396287,SE
+1832396288,1832414463,DK
+1832414464,1832414719,SE
+1832414720,1832554495,DK
+1832554496,1832556543,SE
+1832556544,1832630783,DK
+1832630784,1832631295,SE
+1832631296,1832648703,DK
1832648704,1832681471,HR
1832681472,1832714239,RU
1832714240,1832747007,HU
1832747008,1832779775,RU
-1832779776,1832783871,MQ
-1832783872,1832785919,GP
-1832785920,1832787967,GF
-1832787968,1832795391,GP
-1832795392,1832795647,GF
-1832795648,1832797183,GP
-1832797184,1832797503,MQ
-1832797504,1832797535,GF
-1832797536,1832797567,MQ
-1832797568,1832797695,GP
-1832797696,1832798207,MQ
+1832779776,1832781311,MQ
+1832781312,1832781823,FR
+1832781824,1832783871,MQ
+1832783872,1832784639,GP
+1832784640,1832784831,FR
+1832784832,1832785919,GP
+1832785920,1832786943,FR
+1832786944,1832787967,GF
+1832787968,1832794111,FR
+1832794112,1832795135,GP
+1832795136,1832795647,GF
+1832795648,1832797439,FR
+1832797440,1832797471,MQ
+1832797472,1832797503,GP
+1832797504,1832797567,GF
+1832797568,1832797695,MQ
+1832797696,1832798207,FR
1832798208,1832800255,GP
-1832800256,1832806399,MQ
+1832800256,1832800511,FR
+1832800512,1832801791,MQ
+1832801792,1832802047,FR
+1832802048,1832806399,MQ
1832806400,1832808447,GP
1832808448,1832812543,FR
1832812544,1832845311,RU
@@ -65425,8 +67343,7 @@
1833179136,1833181183,IT
1833181184,1833183231,GB
1833183232,1833185279,UA
-1833185280,1833187327,DE
-1833187328,1833189375,NL
+1833185280,1833189375,DE
1833189376,1833191423,GB
1833191424,1833193471,RU
1833193472,1833195519,ES
@@ -65446,7 +67363,10 @@
1833220096,1833222143,RU
1833222144,1833224191,GB
1833224192,1833228287,RU
-1833228288,1833232383,DE
+1833228288,1833230335,DE
+1833230336,1833231967,US
+1833231968,1833231999,DE
+1833232000,1833232383,US
1833232384,1833234431,TJ
1833234432,1833236479,GB
1833236480,1833238527,FI
@@ -65483,9 +67403,7 @@
1833308160,1833310207,FR
1833310208,1833312255,RU
1833312256,1833314303,ES
-1833314304,1833315963,IM
-1833315964,1833315967,GB
-1833315968,1833316351,IM
+1833314304,1833316351,IM
1833316352,1833318399,DK
1833318400,1833320447,GB
1833320960,1833321215,IQ
@@ -65507,8 +67425,7 @@
1833351168,1833353215,RU
1833353216,1833355263,DE
1833355264,1833357311,IT
-1833357312,1833357823,GB
-1833357824,1833357903,IE
+1833357312,1833357903,IE
1833357904,1833358335,GB
1833358336,1833359359,IE
1833359360,1833361407,DE
@@ -65565,7 +67482,8 @@
1833468672,1833471999,CH
1833472000,1833473023,NL
1833474048,1833475071,UA
-1833476096,1833484287,NL
+1833476096,1833480191,NO
+1833480192,1833484287,NL
1833484288,1833488383,IR
1833488384,1833492479,GB
1833492480,1833504767,RU
@@ -65578,7 +67496,8 @@
1833529344,1833533439,GB
1833533440,1833534463,ES
1833534464,1833535487,DE
-1833535488,1833537535,RU
+1833535488,1833536511,RU
+1833536512,1833537535,DE
1833537536,1833541631,AT
1833541632,1833541887,GB
1833541888,1833542143,IN
@@ -65633,22 +67552,20 @@
1833684992,1833689087,DE
1833689088,1833693183,FI
1833693184,1833697279,RU
-1833697280,1833728383,IE
-1833728384,1833728511,GB
-1833728512,1833880831,IE
-1833880832,1833880895,GB
-1833880896,1833959423,IE
+1833697280,1833959423,IE
1833959424,1834090495,CZ
1834090496,1834221567,SA
1834221568,1834352639,DE
1834352640,1834483711,UA
1834483712,1834614783,BE
1834614784,1834745855,DE
-1834745856,1834786815,RS
+1834745856,1834759167,RS
+1834759168,1834760191,XK
+1834760192,1834775039,RS
+1834775040,1834775551,XK
+1834775552,1834786815,RS
1834786816,1834787327,XK
-1834787328,1834801151,RS
-1834801152,1834802175,XK
-1834802176,1834817023,RS
+1834787328,1834817023,RS
1834817024,1834817535,XK
1834817536,1834876927,RS
1834876928,1834885119,RU
@@ -65663,19 +67580,17 @@
1834913792,1834917887,US
1834917888,1834918911,DE
1834918912,1834919935,IR
-1834919936,1834920959,GB
+1834919936,1834920191,JP
+1834920192,1834920447,GB
+1834920448,1834920959,JP
1834920960,1834921215,US
1834921216,1834921471,TR
1834921472,1834921727,IN
-1834921728,1834921983,CN
-1834921984,1834930431,RU
+1834921728,1834930431,RU
1834930432,1834930687,EE
1834930688,1834931199,RU
1834931200,1834932223,TR
-1834932224,1834933247,RU
-1834933248,1834933503,US
-1834933504,1834933759,TR
-1834933760,1834934015,IN
+1834932224,1834934015,RU
1834934016,1834934271,CN
1834934272,1834938367,RS
1834938368,1834944511,PL
@@ -65708,8 +67623,7 @@
1835565056,1835573247,AL
1835573248,1835581439,UA
1835581440,1835589631,BG
-1835589632,1835590015,SK
-1835590016,1835597823,IT
+1835589632,1835597823,IT
1835597824,1835606015,HU
1835606016,1835614207,CZ
1835614208,1835622399,RU
@@ -65722,7 +67636,11 @@
1835638784,1835646975,RU
1835646976,1835655167,BA
1835655168,1835663359,CY
-1835663360,1835671551,UA
+1835663360,1835664383,UA
+1835664384,1835665407,PL
+1835665408,1835668479,UA
+1835668480,1835669503,RU
+1835669504,1835671551,UA
1835671552,1835679743,CH
1835679744,1835687935,FR
1835687936,1835696127,IE
@@ -65964,13 +67882,19 @@
1836679168,1836680703,BG
1836680704,1836681215,MK
1836681216,1836687359,BG
-1836687360,1836689151,MK
-1836689152,1836711935,BG
+1836687360,1836689407,MK
+1836689408,1836711935,BG
1836711936,1836728319,UA
1836728320,1836744703,RS
-1836744704,1836751359,RE
-1836751360,1836751615,FR
-1836751616,1836761087,RE
+1836744704,1836753023,RE
+1836753024,1836753111,FR
+1836753112,1836753112,RE
+1836753113,1836753151,FR
+1836753152,1836756991,RE
+1836756992,1836758015,FR
+1836758016,1836759807,RE
+1836759808,1836760063,FR
+1836760064,1836761087,RE
1836761088,1836777471,IR
1836777472,1836793855,SI
1836793856,1836794567,GB
@@ -66078,7 +68002,9 @@
1839202304,1839235071,BG
1839235072,1839267839,IL
1839267840,1839300607,RU
-1839300608,1839333375,BH
+1839300608,1839305599,BH
+1839305600,1839305727,IT
+1839305728,1839333375,BH
1839333376,1839366143,UA
1839366144,1839398911,IR
1839398912,1839431679,NO
@@ -66159,7 +68085,9 @@
1841602560,1841603583,AL
1841603584,1841604607,RU
1841604608,1841605631,RO
-1841605632,1841606655,RU
+1841605632,1841606143,RU
+1841606144,1841606399,EE
+1841606400,1841606655,GB
1841606656,1841610751,UA
1841610752,1841618943,RU
1841618944,1841627135,PL
@@ -66287,9 +68215,7 @@
1842173952,1842175999,RO
1842176000,1842178047,FI
1842178048,1842180095,IT
-1842180096,1842180607,IQ
-1842180608,1842181119,IT
-1842181120,1842182143,IQ
+1842180096,1842182143,IQ
1842182144,1842184191,LV
1842184192,1842186239,DE
1842186240,1842188287,ES
@@ -66317,6 +68243,13 @@
1842249728,1842257919,RU
1842257920,1842266111,NL
1842266112,1842274303,PL
+1842274304,1842275327,NL
+1842275328,1842276351,FR
+1842276352,1842277375,CH
+1842277376,1842279423,DE
+1842279424,1842280447,HK
+1842280448,1842281471,LT
+1842281472,1842282495,IR
1842282496,1842286591,RU
1842286592,1842290687,GB
1842290688,1842294783,RS
@@ -66545,7 +68478,7 @@
1844196864,1844197119,IN
1844197120,1844197375,CN
1844197376,1844198399,RU
-1844198400,1844199423,DE
+1844198400,1844199423,US
1844199424,1844203519,RU
1844203520,1844207615,NL
1844207616,1844211711,RU
@@ -66618,15 +68551,16 @@
1844969472,1844971519,RU
1844971520,1844971775,KZ
1844971776,1844972031,GB
-1844972032,1845006335,RU
+1844972032,1844980479,RU
+1844980480,1844980735,CZ
+1844980736,1845006335,RU
1845006336,1845007780,KZ
1845007781,1845007781,LV
1845007782,1845010431,KZ
-1845010432,1845020671,RU
-1845020672,1845021695,UA
-1845021696,1845022719,RU
+1845010432,1845022719,RU
1845022720,1845023743,KZ
-1845023744,1845024255,RU
+1845023744,1845023999,RU
+1845024000,1845024255,UA
1845024256,1845024767,GB
1845024768,1845025535,RU
1845025536,1845025791,KZ
@@ -66694,9 +68628,7 @@
1848401920,1848404991,IN
1848404992,1848406015,BD
1848406016,1848410111,NP
-1848410112,1848411135,JP
-1848411136,1848411391,PH
-1848411392,1848412415,JP
+1848410112,1848412415,JP
1848412416,1848412671,PH
1848412672,1848413439,JP
1848413440,1848413951,PH
@@ -66722,9 +68654,7 @@
1848832000,1848836095,JP
1848836096,1849032703,CN
1849032704,1849065471,JP
-1849065472,1849092607,PH
-1849092608,1849092863,US
-1849092864,1849163775,PH
+1849065472,1849163775,PH
1849163776,1849819135,CN
1849819136,1849950207,JP
1849950208,1850212351,KR
@@ -66802,7 +68732,8 @@
1856847872,1856864255,CN
1856864256,1856872447,AU
1856872448,1856876543,NZ
-1856876544,1856880639,IN
+1856876544,1856880383,IN
+1856880384,1856880639,SG
1856880640,1856888831,CN
1856888832,1856892927,AU
1856892928,1856897023,JP
@@ -66836,10 +68767,12 @@
1860831232,1860832255,DE
1860832256,1860833279,JP
1860833280,1860834303,US
-1860834304,1860848639,SG
+1860834304,1860835327,SG
+1860835328,1860836351,US
+1860836352,1860837375,DE
+1860837376,1860848639,SG
1860848640,1860849663,IN
-1860849664,1860893695,SG
-1860893696,1860894719,JP
+1860849664,1860894719,SG
1860894720,1860951039,IN
1860951040,1860952063,KH
1860952064,1860956159,IN
@@ -66991,9 +68924,7 @@
1876886528,1876890623,CN
1876890624,1876893695,IN
1876893696,1876901887,TH
-1876901888,1876913151,SG
-1876913152,1876913663,AU
-1876913664,1876918271,SG
+1876901888,1876918271,SG
1876918272,1876934655,LK
1876934656,1876942847,JP
1876942848,1876946943,AU
@@ -67159,13 +69090,13 @@
1897267200,1897365503,VN
1897365504,1897398271,MY
1897398272,1897660415,CN
-1897660416,1897687039,HK
-1897687040,1897687295,AU
-1897687296,1897725951,HK
-1897725952,1897729792,JP
-1897729793,1897730047,US
+1897660416,1897725951,HK
+1897725952,1897727999,JP
+1897728000,1897730047,US
1897730048,1897733888,AU
-1897733889,1897734143,US
+1897733889,1897733999,US
+1897734000,1897734007,AU
+1897734008,1897734143,US
1897734144,1897736223,HK
1897736224,1897736255,US
1897736256,1897737984,HK
@@ -67174,13 +69105,12 @@
1897742848,1897743359,SI
1897743360,1897743871,SG
1897743872,1897744383,SI
-1897744384,1897745151,SG
-1897745152,1897745407,SI
+1897744384,1897744895,SG
+1897744896,1897745407,SI
1897745408,1897746431,SG
-1897746432,1897748511,CN
+1897746432,1897748511,US
1897748512,1897748514,HK
-1897748515,1897750527,CN
-1897750528,1897758719,US
+1897748515,1897758719,US
1897758720,1897779199,KR
1897779200,1897781247,AU
1897781248,1897783295,JP
@@ -67241,9 +69171,7 @@
1908408320,1908424703,AU
1908424704,1908441087,KR
1908441088,1908473855,JP
-1908473856,1908538367,IN
-1908538368,1908538879,AU
-1908538880,1908539391,IN
+1908473856,1908539391,IN
1908539392,1908670463,CN
1908670464,1908735999,TW
1908736000,1908740095,AU
@@ -67268,9 +69196,7 @@
1909161984,1909194751,PK
1909194752,1909456895,CN
1909456896,1909473279,JP
-1909473280,1909474303,HK
-1909474304,1909475327,PH
-1909475328,1909479423,HK
+1909473280,1909479423,HK
1909479424,1909481471,SG
1909481472,1909587967,CN
1909587968,1909719039,MY
@@ -67348,9 +69274,7 @@
1919811584,1919815679,CN
1919815680,1919817727,ID
1919817728,1919819775,KR
-1919819776,1919820543,NZ
-1919820544,1919820799,AU
-1919820800,1919821823,NZ
+1919819776,1919821823,NZ
1919821824,1919823871,ID
1919823872,1919827967,JP
1919827968,1919844351,CN
@@ -67364,10 +69288,10 @@
1919942656,1919999999,CN
1920000000,1920002047,HK
1920002048,1920003071,CN
-1920003072,1920008191,HK
-1920008192,1920057343,CN
-1920057344,1920058111,HK
-1920058112,1920069631,CN
+1920003072,1920003839,HK
+1920003840,1920004095,AU
+1920004096,1920008191,HK
+1920008192,1920069631,CN
1920069632,1920071167,HK
1920071168,1920072703,CN
1920072704,1920072959,HK
@@ -67536,8 +69460,7 @@
1937536000,1937536511,GB
1937536512,1937537023,US
1937537024,1937539071,IN
-1937539072,1937635327,JP
-1937635328,1937637375,DE
+1937539072,1937637375,JP
1937637376,1937670143,HK
1937670144,1937672191,NZ
1937672192,1937678335,JP
@@ -67601,9 +69524,7 @@
1941635072,1941639167,CN
1941639168,1941643263,NP
1941643264,1941651455,IN
-1941651456,1941652167,JP
-1941652168,1941652175,CA
-1941652176,1941655551,JP
+1941651456,1941655551,JP
1941655552,1941657599,KR
1941657600,1941658623,MN
1941658624,1941659647,JP
@@ -67627,7 +69548,9 @@
1946175616,1946175743,CN
1946175744,1946175759,SG
1946175760,1946175791,HK
-1946175792,1946175999,SG
+1946175792,1946175871,SG
+1946175872,1946175935,HK
+1946175936,1946175999,SG
1946176000,1946176255,JP
1946176256,1946176511,SG
1946176512,1946176767,AU
@@ -67648,7 +69571,9 @@
1946955776,1946957823,SG
1946957824,1946959871,NZ
1946959872,1946976255,LK
-1946976256,1947009023,SG
+1946976256,1946999807,SG
+1946999808,1947000319,MY
+1947000320,1947009023,SG
1947009024,1947074559,CN
1947074560,1947205631,SG
1947205632,1948254207,CN
@@ -67659,14 +69584,13 @@
1949440000,1949442047,ID
1949442048,1949446143,TW
1949446144,1949448191,JP
-1949448192,1949448447,AU
+1949448192,1949448447,IN
1949448448,1949448703,HK
1949448704,1949448959,AU
1949448960,1949449215,IN
1949449216,1949449471,SG
1949449472,1949449727,JP
-1949449728,1949450239,AU
-1949450240,1949466623,IN
+1949449728,1949466623,IN
1949466624,1949499391,PH
1949499392,1949564927,SG
1949564928,1949958143,CN
@@ -67687,8 +69611,7 @@
1950516224,1950516735,IN
1950516736,1950518271,US
1950518272,1950519295,IN
-1950519296,1950520319,US
-1950520320,1950521343,PH
+1950519296,1950521343,PH
1950521344,1950523391,IN
1950523392,1950527487,AU
1950527488,1950528511,CN
@@ -67769,9 +69692,7 @@
1952220672,1952233471,JP
1952233472,1952249855,HK
1952249856,1952251903,JP
-1952251904,1952283647,PH
-1952283648,1952283903,CN
-1952283904,1952284671,PH
+1952251904,1952284671,PH
1952284672,1952288767,NZ
1952288768,1952292863,JP
1952292864,1952317439,KR
@@ -67813,6 +69734,7 @@
1959102464,1959104511,JP
1959104512,1959106559,AU
1959106560,1959107583,IN
+1959107584,1959108607,PK
1959108608,1959110655,CN
1959110656,1959112703,JP
1959112704,1959113215,HK
@@ -67823,7 +69745,8 @@
1959114240,1959114495,AU
1959114496,1959114751,HK
1959114752,1959115775,IN
-1959115776,1959116799,AU
+1959115776,1959116031,SG
+1959116032,1959116799,IN
1959116800,1959133183,SG
1959133184,1959239679,CN
1959239680,1959241727,KR
@@ -67834,28 +69757,32 @@
1959256064,1959260159,AU
1959260160,1959264255,JP
1959264256,1959395327,KR
-1959395328,1959405055,IN
-1959405056,1959405183,NG
-1959405184,1959405311,IN
-1959405312,1959405567,NG
-1959405568,1959440383,IN
-1959440384,1959444479,DE
-1959444480,1959477247,IN
-1959477248,1959479295,DE
-1959479296,1959481087,IN
-1959481088,1959485439,DE
-1959485440,1959489535,IN
-1959489536,1959490559,DE
-1959490560,1959491583,IN
-1959491584,1959493631,DE
-1959493632,1959526399,IN
+1959395328,1959526399,DE
1959526400,1959559167,CN
1959559168,1959560191,ID
1959560192,1959561215,CN
1959561216,1959562239,NZ
1959562240,1959563263,BD
1959563264,1959564287,AU
-1959564288,1959657471,CN
+1959564288,1959566335,BD
+1959566336,1959567359,HK
+1959567360,1959568383,AF
+1959568384,1959569407,PK
+1959569408,1959570431,CN
+1959570432,1959571455,NP
+1959571456,1959572479,HK
+1959572480,1959573503,TH
+1959573504,1959574527,HK
+1959574528,1959575551,IN
+1959575552,1959576575,PA
+1959576576,1959577599,IN
+1959577600,1959578623,MY
+1959578624,1959579647,IN
+1959579648,1959580671,HK
+1959580672,1959581695,LK
+1959581696,1959582719,CN
+1959582720,1959583743,BD
+1959583744,1959657471,CN
1959657472,1959657727,US
1959657728,1959658495,HK
1959658496,1959661567,ID
@@ -67950,12 +69877,10 @@
1960187904,1960189951,KH
1960189952,1960202239,CN
1960202240,1960206335,JP
-1960206336,1960210431,SG
-1960210432,1960210943,TH
+1960206336,1960210687,SG
+1960210688,1960210943,TH
1960210944,1960211199,IN
-1960211200,1960211455,SG
-1960211456,1960211903,AU
-1960211904,1960211967,SG
+1960211200,1960211967,SG
1960211968,1960212479,AU
1960212480,1960212991,IN
1960212992,1960214015,SG
@@ -67967,9 +69892,7 @@
1961885696,1961951231,AU
1961951232,1962016767,TW
1962016768,1962541055,CN
-1962541056,1962586943,AU
-1962586944,1962587007,CX
-1962587008,1962622975,AU
+1962541056,1962622975,AU
1962622976,1962639359,CN
1962639360,1962658815,NZ
1962658816,1962659839,HK
@@ -68025,7 +69948,9 @@
1964244992,1964249087,AU
1964249088,1964253183,PK
1964253184,1964255231,WF
-1964255232,1964257279,SG
+1964255232,1964255487,SG
+1964255488,1964255743,ID
+1964255744,1964257279,SG
1964257280,1964261375,ID
1964261376,1964263423,AU
1964263424,1964265471,JP
@@ -68058,8 +69983,10 @@
1966538752,1966571519,JP
1966571520,1966587903,KR
1966587904,1966591241,AF
-1966591242,1966591242,DE
-1966591243,1966591999,AF
+1966591242,1966591243,DE
+1966591244,1966591244,IT
+1966591245,1966591246,DE
+1966591247,1966591999,AF
1966592000,1966596095,JP
1966596096,1966600191,AU
1966600192,1966602239,IN
@@ -68243,7 +70170,9 @@
1988853760,1988861951,MY
1988861952,1988870143,SG
1988870144,1988886527,KR
-1988886528,1989148671,HK
+1988886528,1989137919,HK
+1989137920,1989138175,PH
+1989138176,1989148671,HK
1989148672,1989410815,CN
1989410816,1989541887,NZ
1989541888,1989607423,TW
@@ -68254,9 +70183,7 @@
1989663744,1989664767,ID
1989664768,1990197247,JP
1990197248,1990983679,TW
-1990983680,1991056383,TH
-1991056384,1991056895,SG
-1991056896,1991245823,TH
+1990983680,1991245823,TH
1991245824,1991311359,KR
1991311360,1991376895,JP
1991376896,1991442431,CN
@@ -68326,9 +70253,7 @@
1997117176,1997117183,AU
1997117184,1997119871,HK
1997119872,1997119903,AU
-1997119904,1997124667,HK
-1997124668,1997124679,AU
-1997124680,1997126495,HK
+1997119904,1997126495,HK
1997126496,1997126503,AU
1997126504,1997144063,HK
1997144064,1997176831,CN
@@ -68379,17 +70304,16 @@
1998271273,1998274047,JP
1998274048,1998274303,US
1998274304,1998274559,JP
-1998274560,1998332415,CN
-1998332416,1998332927,HK
-1998332928,1998348287,CN
+1998274560,1998323711,CN
+1998323712,1998348287,HK
1998348288,1998354943,SG
-1998354944,1998360575,CN
+1998354944,1998355455,CN
+1998355456,1998355967,HK
+1998355968,1998356479,SG
+1998356480,1998360575,HK
1998360576,1998365695,KR
-1998365696,1998380287,CN
-1998380288,1998380543,HK
-1998380544,1998380618,CN
-1998380619,1998380619,HK
-1998380620,1998383103,CN
+1998365696,1998366719,CN
+1998366720,1998383103,HK
1998383104,1998385151,KR
1998385152,1998389247,IN
1998389248,1998454783,CN
@@ -68403,13 +70327,7 @@
1998503936,1998520319,JP
1998520320,1998553087,TH
1998553088,1998561279,JP
-1998561280,1998561535,IN
-1998561536,1998561780,ID
-1998561781,1998561781,IN
-1998561782,1998561784,ID
-1998561785,1998561785,IN
-1998561786,1998561791,ID
-1998561792,1998562559,IN
+1998561280,1998562559,IN
1998562560,1998562815,CN
1998562816,1998562863,IN
1998562864,1998562864,HK
@@ -68437,6 +70355,7 @@
1999249408,1999250431,AU
1999250432,1999250943,BR
1999250944,1999251455,AR
+1999251456,1999252479,ID
1999252480,1999253503,GB
1999253504,1999254527,MY
1999254528,1999255551,CN
@@ -68481,7 +70400,9 @@
2000674816,2001207295,KR
2001207296,2001272831,JP
2001272832,2001305599,PK
-2001305600,2001420287,SG
+2001305600,2001307903,SG
+2001307904,2001308159,MY
+2001308160,2001420287,SG
2001420288,2001453055,KR
2001453056,2001457151,SG
2001457152,2001461247,CN
@@ -68532,7 +70453,8 @@
2003763200,2003828735,PH
2003828736,2006188031,CN
2006188032,2006204415,BD
-2006204416,2006212607,AU
+2006204416,2006213631,AU
+2006213632,2006214655,BD
2006214656,2006216703,JP
2006216704,2006228991,KR
2006228992,2006237183,CN
@@ -68548,8 +70470,7 @@
2007027712,2007031807,TH
2007031808,2007033855,NZ
2007033856,2007034879,MY
-2007034880,2007035135,PK
-2007035136,2007035903,AE
+2007034880,2007035903,PK
2007035904,2007039999,TW
2007040000,2007048191,KR
2007048192,2007064575,AU
@@ -68700,12 +70621,11 @@
2022320679,2022321151,AU
2022321152,2022321407,SG
2022321408,2022322175,AU
-2022322176,2022322431,JP
-2022322432,2022322695,AU
+2022322176,2022322695,JP
2022322696,2022322696,TW
-2022322697,2022323199,AU
+2022322697,2022323199,JP
2022323200,2022323455,KR
-2022323456,2022324223,AU
+2022323456,2022324223,JP
2022324224,2022324225,TH
2022324226,2022324483,AU
2022324484,2022324484,MY
@@ -68844,9 +70764,7 @@
2043201536,2043203583,JP
2043203584,2043205631,AU
2043205632,2043207679,JP
-2043207680,2043208703,AU
-2043208704,2043208831,NZ
-2043208832,2043211775,AU
+2043207680,2043211775,AU
2043211776,2043215871,SG
2043215872,2043281407,CN
2043281408,2043412479,HK
@@ -68876,7 +70794,14 @@
2047366656,2047367423,PK
2047367424,2047367935,CN
2047367936,2047377407,PK
-2047377408,2047410175,CN
+2047377408,2047381503,CN
+2047381504,2047383551,PK
+2047383552,2047387647,CN
+2047387648,2047391743,PK
+2047391744,2047395839,CN
+2047395840,2047399935,PK
+2047399936,2047406079,CN
+2047406080,2047410175,PK
2047410176,2047492095,HK
2047492096,2047496191,KR
2047496192,2047508479,HK
@@ -68899,7 +70824,9 @@
2050097152,2050098175,PK
2050098176,2050099199,ID
2050099200,2050101247,SG
-2050101248,2050129919,JP
+2050101248,2050129730,JP
+2050129731,2050129731,US
+2050129732,2050129919,JP
2050129920,2050162687,IN
2050162688,2050228223,CN
2050228224,2050490367,PH
@@ -68930,11 +70857,8 @@
2053532672,2053533183,NZ
2053533184,2053533695,AU
2053533696,2053534719,VN
-2053535168,2053535199,IN
-2053535744,2053537791,IN
-2053537792,2053623807,JP
-2053623808,2053624063,AU
-2053624064,2053636095,JP
+2053534720,2053537791,IN
+2053537792,2053636095,JP
2053636096,2054160383,AU
2054160384,2054376447,CN
2054376448,2054377471,HK
@@ -68981,15 +70905,15 @@
2056794112,2056796159,BD
2056796160,2056806399,JP
2056806400,2056814591,KR
-2056814592,2056815215,JP
-2056815216,2056815231,HK
-2056815232,2056816863,JP
+2056814592,2056816863,JP
2056816864,2056816895,MY
2056816896,2056817335,JP
2056817336,2056817343,HK
-2056817344,2056817727,JP
+2056817344,2056817663,JP
+2056817664,2056817727,MY
2056817728,2056817791,AU
-2056817792,2056819087,JP
+2056817792,2056818687,MY
+2056818688,2056819087,JP
2056819088,2056819103,SG
2056819104,2056823849,JP
2056823850,2056823850,SG
@@ -69045,7 +70969,10 @@
2060451840,2061500415,JP
2061500416,2063073279,CN
2063073280,2063077375,BD
-2063077376,2063077887,HK
+2063077376,2063077377,AU
+2063077378,2063077378,HK
+2063077379,2063077631,AU
+2063077632,2063077887,HK
2063077888,2063078143,SG
2063078144,2063079423,HK
2063079424,2063081471,CN
@@ -69062,9 +70989,7 @@
2063114240,2063115263,IN
2063115264,2063116871,JP
2063116872,2063116879,KR
-2063116880,2063118091,JP
-2063118092,2063118095,PH
-2063118096,2063118159,JP
+2063116880,2063118159,JP
2063118160,2063118191,PH
2063118192,2063118287,JP
2063118288,2063118303,PH
@@ -69283,7 +71208,7 @@
2080780288,2080780799,ID
2080780800,2080781311,MY
2080781312,2080781823,JP
-2080781824,2080782335,VN
+2080781824,2080782335,AU
2080782336,2080784383,SG
2080784384,2080800767,CN
2080800768,2080817151,PH
@@ -69305,9 +71230,7 @@
2082324480,2082340863,PK
2082340864,2082406399,IN
2082406400,2082471935,CN
-2082471936,2083009028,JP
-2083009029,2083009029,AU
-2083009030,2083024895,JP
+2082471936,2083024895,JP
2083024896,2083053567,CN
2083053568,2083057663,TH
2083057664,2083058687,CN
@@ -69352,7 +71275,8 @@
2087454720,2087456767,CN
2087456768,2087457791,IN
2087457792,2087458303,HK
-2087458304,2087458815,US
+2087458304,2087458559,JP
+2087458560,2087458815,SG
2087458816,2087460863,FJ
2087460864,2087462911,JP
2087462912,2087464959,CN
@@ -69541,7 +71465,9 @@
2108358656,2108424191,CN
2108424192,2108686335,JP
2108686336,2109734911,KR
-2109734912,2110783487,JP
+2109734912,2109935103,JP
+2109935104,2109935359,CN
+2109935360,2110783487,JP
2110783488,2110799871,CN
2110799872,2110816255,KR
2110816256,2110832639,ID
@@ -69562,7 +71488,9 @@
2111201280,2111209471,CN
2111209472,2111217663,JP
2111217664,2111225855,LK
-2111225856,2111242239,HK
+2111225856,2111241471,HK
+2111241472,2111241727,SG
+2111241728,2111242239,HK
2111242240,2111258623,CN
2111258624,2111275007,JP
2111275008,2111307775,HK
@@ -69577,9 +71505,9 @@
2113560320,2113683455,KR
2113683456,2113684607,JP
2113684608,2113684671,TW
-2113684672,2113685663,JP
-2113685664,2113685695,SG
-2113685696,2113687999,JP
+2113684672,2113685503,JP
+2113685504,2113685759,SG
+2113685760,2113687999,JP
2113688000,2113688031,AU
2113688032,2113688959,JP
2113688960,2113688991,SG
@@ -69609,7 +71537,9 @@
2113813504,2113830911,AU
2113830912,2113863679,CN
2113863680,2113929215,AU
-2113929216,2130706431,JP
+2113929216,2114392087,JP
+2114392088,2114392095,BR
+2114392096,2130706431,JP
2147483648,2147483903,NL
2147483904,2147484671,RO
2147484672,2147485695,TR
@@ -69672,7 +71602,9 @@
2147563264,2147563519,RU
2147563520,2147564031,US
2147564032,2147564287,PH
-2147564288,2147564543,GB
+2147564288,2147564369,GB
+2147564370,2147564372,AE
+2147564373,2147564543,GB
2147564544,2147564799,VN
2147564800,2147565055,SG
2147565056,2147565311,HK
@@ -69699,7 +71631,9 @@
2147579904,2147580927,US
2147580928,2147581183,ID
2147581184,2147581439,KR
-2147581440,2147592703,US
+2147581440,2147582719,US
+2147582720,2147584767,HK
+2147584768,2147592703,US
2147592704,2147592959,HK
2147592960,2147600127,US
2147600128,2147600383,SG
@@ -69707,7 +71641,9 @@
2147603712,2147603967,IN
2147603968,2147942399,US
2147942400,2148007935,DE
-2148007936,2148457471,US
+2148007936,2148455423,US
+2148455424,2148455679,BR
+2148455680,2148457471,US
2148457472,2148458495,BR
2148458496,2148459007,DE
2148459008,2148459519,TW
@@ -69717,7 +71653,8 @@
2148460544,2148461055,ID
2148461056,2148461823,US
2148461824,2148462335,TW
-2148462336,2148532223,US
+2148462336,2148462591,HK
+2148462592,2148532223,US
2148532224,2148597759,GB
2148597760,2148925439,US
2148925440,2148990975,JP
@@ -69856,7 +71793,8 @@
2153426432,2153426687,LV
2153426688,2153426943,SI
2153426944,2153427199,SK
-2153427200,2153428991,US
+2153427200,2153427455,LI
+2153427456,2153428991,US
2153428992,2153431039,TW
2153431040,2153433087,HK
2153433088,2153434879,MO
@@ -69944,7 +71882,8 @@
2160541696,2160590847,SG
2160590848,2160656383,US
2160656384,2160657407,BR
-2160657408,2160658431,HN
+2160657408,2160657919,HN
+2160657920,2160658431,US
2160658432,2160661503,BR
2160661504,2160662527,AR
2160662528,2160664575,BR
@@ -69981,9 +71920,7 @@
2160914432,2160918527,SA
2160918528,2161508351,US
2161508352,2161573887,FI
-2161573888,2162228223,US
-2162228224,2162228479,CA
-2162228480,2162687999,US
+2161573888,2162687999,US
2162688000,2162753535,GB
2162753536,2162819071,CA
2162819072,2162884607,SA
@@ -70018,9 +71955,7 @@
2166562560,2166562815,FI
2166562816,2166594559,US
2166594560,2166594815,PL
-2166594816,2166612991,US
-2166612992,2166614015,DE
-2166614016,2166729471,US
+2166594816,2166729471,US
2166729472,2166729727,CA
2166729728,2166989823,US
2166989824,2166990335,IN
@@ -70056,11 +71991,7 @@
2171076608,2171142143,FR
2171142144,2172256255,US
2172256256,2172272639,GH
-2172272640,2172277759,RE
-2172277760,2172278271,FR
-2172278272,2172280319,RE
-2172280320,2172280575,FR
-2172280576,2172289023,RE
+2172272640,2172289023,RE
2172289024,2172321791,AO
2172321792,2172452863,US
2172452864,2172518399,NL
@@ -70093,15 +72024,16 @@
2176434176,2176450559,FR
2176450560,2176516095,US
2176516096,2176581631,DE
-2176581632,2176862463,US
-2176862464,2176862719,GB
+2176581632,2176860159,US
+2176860160,2176861183,CA
+2176861184,2176862719,US
2176862720,2176862975,DE
2176862976,2176863231,SG
2176863232,2176868607,US
2176868608,2176868863,IT
2176868864,2176897023,US
-2176897024,2176898047,AU
-2176898048,2176974847,US
+2176897024,2176897535,AU
+2176897536,2176974847,US
2176974848,2177105919,CH
2177105920,2177302527,US
2177302528,2177368063,FR
@@ -70122,16 +72054,20 @@
2178351104,2178416639,GB
2178416640,2178482175,US
2178482176,2178547711,DE
-2178547712,2178777087,US
-2178777088,2178787327,HU
-2178787328,2178899967,US
-2178899968,2178908159,NZ
-2178908160,2179071999,US
+2178547712,2178783231,US
+2178783232,2178785279,HU
+2178785280,2179071999,US
2179072000,2179137535,SG
2179137536,2179398399,US
2179398400,2179399679,GB
2179399680,2179465215,US
-2179465216,2179497983,LS
+2179465216,2179477503,LS
+2179477504,2179477887,ZA
+2179477888,2179478015,LS
+2179478016,2179479551,ZA
+2179479552,2179482111,LS
+2179482112,2179482367,ZA
+2179482368,2179497983,LS
2179497984,2179530751,ZA
2179530752,2179596287,DE
2179596288,2179661823,GB
@@ -70155,8 +72091,8 @@
2180646953,2180646953,ES
2180646954,2180649005,US
2180649006,2180649006,ES
-2180649007,2180903423,US
-2180903424,2180903935,NL
+2180649007,2180903679,US
+2180903680,2180903935,NL
2180903936,2180907007,US
2180907008,2180972543,KR
2180972544,2181038079,US
@@ -70267,10 +72203,12 @@
2188719616,2188719743,FR
2188719744,2188719871,DE
2188724224,2188725247,NL
+2188729472,2188729535,ES
2188729856,2188730111,ES
2188736512,2188738047,GB
2188738307,2188738307,GB
2188740608,2188741631,GB
+2188752896,2188754943,DE
2188769472,2188769503,DE
2188769600,2188769631,DE
2188769664,2188770175,DE
@@ -70327,7 +72265,7 @@
2193190016,2193190079,CZ
2193190080,2193190911,DE
2193190912,2193191935,RO
-2193191936,2193192959,DE
+2193191936,2193192959,US
2193192960,2193193983,NL
2193193984,2193195007,DE
2193195008,2193199103,DK
@@ -70418,16 +72356,44 @@
2196439040,2197094399,SE
2197094400,2197159935,US
2197159936,2197225471,GB
-2197225472,2197318655,US
-2197318656,2197323775,IN
+2197225472,2197303295,US
+2197303296,2197303807,IE
+2197303808,2197304319,NL
+2197304320,2197304831,ES
+2197304832,2197305343,CH
+2197305344,2197305855,DE
+2197305856,2197306367,BE
+2197306368,2197306879,RO
+2197306880,2197307391,DK
+2197307392,2197307903,GB
+2197307904,2197308415,DE
+2197308416,2197308927,ZA
+2197308928,2197309951,GB
+2197309952,2197310463,IT
+2197310464,2197310975,MD
+2197310976,2197311487,DE
+2197311488,2197311999,FR
+2197312000,2197312511,IT
+2197312512,2197313023,SE
+2197313024,2197313535,PL
+2197313536,2197314047,CH
+2197314048,2197318655,IE
+2197318656,2197319167,SG
+2197319168,2197320703,IN
+2197320704,2197321215,HK
+2197321216,2197321727,AU
+2197321728,2197322239,KR
+2197322240,2197322751,JP
+2197322752,2197323775,IN
2197323776,2197487615,US
2197487616,2197553151,IT
2197553152,2197749759,US
-2197749760,2197753855,RU
+2197749760,2197751807,IQ
+2197751808,2197753855,RU
2197753856,2197754623,GB
-2197754624,2197754698,PT
+2197754624,2197754698,ES
2197754699,2197754699,GB
-2197754700,2197754879,PT
+2197754700,2197754879,ES
2197754880,2197755135,DK
2197755136,2197756159,GB
2197756160,2197756175,PT
@@ -70451,7 +72417,11 @@
2197798912,2197815295,IR
2197815296,2197816319,BO
2197816320,2197828607,BR
-2197828608,2197829631,CL
+2197828608,2197829247,CL
+2197829248,2197829287,AR
+2197829288,2197829295,CL
+2197829296,2197829375,AR
+2197829376,2197829631,CL
2197829632,2197833727,BR
2197833728,2197834751,CR
2197834752,2197841919,BR
@@ -70478,7 +72448,11 @@
2197880832,2197941247,IT
2197941248,2197941503,DE
2197941504,2197946367,IT
-2197946368,2202533887,US
+2197946368,2200921216,US
+2200921217,2200921217,GU
+2200921218,2201190527,US
+2201190528,2201190529,GB
+2201190530,2202533887,US
2202533888,2202534911,AR
2202534912,2202540031,BR
2202540032,2202541055,PY
@@ -70505,15 +72479,17 @@
2202593280,2202595327,CL
2202595328,2202596351,AR
2202596352,2202599423,BR
-2202599424,2202969087,US
-2202969088,2202976255,BH
-2202976256,2204172287,US
+2202599424,2202968291,US
+2202968292,2202968293,BH
+2202968294,2204172287,US
2204172288,2204237823,SE
2204237824,2204303359,US
2204303360,2204368895,DE
2204368896,2204369151,MX
-2204369152,2204369919,PA
-2204370944,2204375039,BR
+2204369152,2204369407,PA
+2204369408,2204369663,US
+2204369664,2204369919,PA
+2204370944,2204376063,BR
2204376064,2204377087,CL
2204377088,2204378111,BR
2204378112,2204379135,TT
@@ -70659,7 +72635,8 @@
2210668544,2210669567,CR
2210669568,2210670591,AR
2210670592,2210673663,BR
-2210673664,2210674687,HN
+2210673664,2210674175,HN
+2210674176,2210674687,US
2210674688,2210675711,BR
2210675712,2210676735,EC
2210676736,2210678783,BR
@@ -70725,19 +72702,19 @@
2212560896,2212691967,US
2212691968,2212757503,GB
2212757504,2212759551,FI
-2212759552,2212760575,US
+2212759552,2212760575,IN
2212760576,2212761599,FI
2212761600,2212762623,GB
-2212762624,2212764927,US
+2212762624,2212764927,IN
2212764928,2212765183,GB
-2212765184,2212765695,US
+2212765184,2212765695,IN
2212765696,2212766719,DE
2212766720,2212767743,GB
-2212767744,2212773887,US
-2212773888,2212777983,IN
-2212777984,2212779519,US
+2212767744,2212769791,IN
+2212769792,2212773887,US
+2212773888,2212779519,IN
2212779520,2212780031,FI
-2212780032,2212788223,US
+2212780032,2212788223,IN
2212788224,2212790271,FI
2212796416,2212798463,NL
2212803972,2212803975,DE
@@ -70745,6 +72722,7 @@
2212804000,2212804003,FR
2212804096,2212804351,NL
2212806656,2212808703,US
+2212812800,2212814847,DE
2212816384,2212816639,SG
2212816640,2212816895,IN
2212816896,2212817151,KR
@@ -70789,7 +72767,11 @@
2214405632,2214405735,US
2214405736,2214405743,IE
2214405744,2214405751,SG
-2214405752,2214428671,US
+2214405752,2214406199,US
+2214406200,2214406207,IE
+2214406208,2214406223,US
+2214406224,2214406239,IE
+2214406240,2214428671,US
2214428672,2214428927,IN
2214428928,2214429375,US
2214429376,2214429439,NL
@@ -70842,15 +72824,9 @@
2214589440,2214590463,BR
2214590464,2214591487,AR
2214591488,2214592511,BR
-2214592512,2214792525,US
-2214792526,2214792528,KR
-2214792529,2215633279,US
-2215633280,2215633280,JP
-2215633281,2215856996,US
-2215856997,2215856997,GB
-2215856998,2215967615,US
-2215967616,2215967616,JP
-2215967617,2218786815,US
+2214592512,2217904127,US
+2217904128,2217906175,PR
+2217906176,2218786815,US
2218786816,2219769855,IL
2219769856,2223075327,US
2223075328,2223079423,VI
@@ -70883,9 +72859,7 @@
2226716672,2226782207,GB
2226782208,2226847743,ZA
2226847744,2226913279,DE
-2226913280,2226999039,US
-2226999040,2226999295,IE
-2226999296,2227109887,US
+2226913280,2227109887,US
2227109888,2227175423,PE
2227175424,2227372031,US
2227372032,2227437567,DE
@@ -70905,9 +72879,9 @@
2229796864,2229862399,CN
2229862400,2229927935,US
2229927936,2229993471,AU
-2229993472,2230167551,US
-2230167552,2230168575,MY
-2230168576,2230583295,US
+2229993472,2230166527,US
+2230166528,2230167551,GB
+2230167552,2230583295,US
2230583296,2230603775,GB
2230603776,2230607871,US
2230607872,2230637567,GB
@@ -71201,9 +73175,7 @@
2248169472,2248171519,NL
2248171520,2248177663,RU
2248177664,2248179711,DE
-2248179712,2248201727,OM
-2248201728,2248201983,GB
-2248201984,2248212479,OM
+2248179712,2248212479,OM
2248212480,2248409087,DE
2248409088,2248605695,US
2248605696,2248671231,AU
@@ -71253,9 +73225,11 @@
2251948032,2252013567,BE
2252013568,2252079103,FR
2252079104,2252210175,DE
-2252210176,2252414975,US
-2252414976,2252423167,GB
-2252423168,2253062143,US
+2252210176,2252417023,US
+2252417024,2252419071,GB
+2252419072,2252449791,US
+2252449792,2252451839,BR
+2252451840,2253062143,US
2253062144,2253127679,KR
2253127680,2253193215,DE
2253193216,2253455359,US
@@ -71472,9 +73446,13 @@
2258607904,2258607999,HK
2258608000,2258608063,AU
2258608064,2258608127,HK
-2258608128,2258608183,JP
+2258608128,2258608183,AU
2258608184,2258608187,TW
-2258608188,2258608383,JP
+2258608188,2258608255,AU
+2258608256,2258608259,JP
+2258608260,2258608279,AU
+2258608280,2258608283,JP
+2258608284,2258608383,AU
2258608384,2258608639,HK
2258608640,2258608655,AU
2258608656,2258608663,JP
@@ -71566,11 +73544,11 @@
2260467712,2260533247,NL
2260533248,2260598783,US
2260598784,2260664319,CA
-2260664320,2260720639,GB
-2260720640,2260720703,DE
+2260664320,2260719615,GB
+2260719616,2260720703,DE
2260720704,2260720719,GB
-2260720720,2260720895,DE
-2260720896,2260723711,GB
+2260720720,2260721663,DE
+2260721664,2260723711,GB
2260723712,2260724223,IL
2260724224,2260729343,GB
2260729344,2260729599,IL
@@ -71591,9 +73569,7 @@
2262040576,2262106111,FR
2262106112,2262171647,GB
2262171648,2262237183,FR
-2262237184,2262410495,US
-2262410496,2262410751,FR
-2262410752,2262414335,US
+2262237184,2262414335,US
2262414336,2262415359,IN
2262415360,2262499327,US
2262499328,2262630399,GB
@@ -71700,7 +73676,9 @@
2281733376,2281750527,US
2281750528,2281755135,CN
2281755136,2281755391,US
-2281755392,2281758719,CN
+2281755392,2281757439,CN
+2281757440,2281757695,US
+2281757696,2281758719,CN
2281758720,2281760511,US
2281760512,2281760767,CH
2281760768,2282225663,US
@@ -71710,10 +73688,36 @@
2282226244,2282226245,US
2282226246,2282226943,AU
2282226944,2282227199,US
-2282227200,2282233855,AU
-2282233856,2283151359,US
+2282227200,2282227711,AU
+2282227712,2282233855,US
+2282233856,2282235903,GB
+2282235904,2283151359,US
2283151360,2283159551,IN
-2283159552,2283174399,US
+2283159552,2283163455,US
+2283163456,2283163471,CA
+2283163472,2283163487,MX
+2283163488,2283163495,PR
+2283163496,2283163503,VI
+2283163504,2283163511,UM
+2283163512,2283163583,US
+2283163584,2283163599,CA
+2283163600,2283163615,MX
+2283163616,2283163623,PR
+2283163624,2283163631,VI
+2283163632,2283163639,UM
+2283163640,2283164479,US
+2283164480,2283164495,CA
+2283164496,2283164511,MX
+2283164512,2283164519,PR
+2283164520,2283164527,VI
+2283164528,2283164535,UM
+2283164536,2283164607,US
+2283164608,2283164623,CA
+2283164624,2283164639,MX
+2283164640,2283164647,PR
+2283164648,2283164655,VI
+2283164656,2283164663,UM
+2283164664,2283174399,US
2283174400,2283174407,DE
2283174408,2283174415,FR
2283174416,2283174431,GB
@@ -71755,7 +73759,10 @@
2291073024,2291105791,NL
2291105792,2291108863,US
2291108864,2291109887,CA
-2291109888,2291130367,US
+2291109888,2291122943,US
+2291122944,2291123199,VI
+2291123200,2291126271,US
+2291126272,2291130367,CA
2291130368,2291138559,AU
2291138560,2291142655,US
2291142656,2291142911,SG
@@ -71774,7 +73781,9 @@
2291147520,2291147775,ES
2291147776,2291148799,CH
2291148800,2291149055,NL
-2291149056,2291154943,US
+2291149056,2291151103,US
+2291151104,2291151359,NL
+2291151360,2291154943,US
2291154944,2291171327,GB
2291171328,2291204095,NL
2291204096,2291269631,PR
@@ -71799,7 +73808,8 @@
2292908032,2292973567,US
2292973568,2293039103,DE
2293054976,2293055231,LU
-2293080064,2293088255,BE
+2293080064,2293082111,BE
+2293084160,2293086207,BE
2293104640,2293825535,US
2293825536,2293891071,IN
2293891072,2293956607,AU
@@ -71834,11 +73844,7 @@
2297626624,2297661437,DE
2297661438,2297661438,NL
2297661439,2297692159,DE
-2297692160,2298142719,US
-2298142720,2298150911,GB
-2298150912,2298258175,US
-2298258176,2298258431,GB
-2298258432,2298413055,US
+2297692160,2298413055,US
2298413056,2298478591,RO
2298478592,2299461631,US
2299461632,2299527167,CA
@@ -71879,13 +73885,13 @@
2302372864,2302373887,MY
2302373888,2302374911,TH
2302374912,2302375935,VN
-2302375936,2302376191,AF
-2302376192,2302376447,DE
-2302376448,2302376959,AF
+2302375936,2302376959,AF
2302376960,2302377983,ID
2302377984,2302382079,IN
2302382080,2302383103,PK
-2302383104,2302384127,IN
+2302383104,2302383304,IN
+2302383305,2302383305,HK
+2302383306,2302384127,IN
2302384128,2302385151,BD
2302385152,2302386175,IN
2302386176,2302387199,ID
@@ -71915,8 +73921,8 @@
2302738432,2302935039,US
2302935040,2303000575,KR
2303000576,2303189503,US
-2303189504,2303189759,IE
-2303189760,2303262719,US
+2303189504,2303190015,IE
+2303190016,2303262719,US
2303262720,2303328255,GB
2303328256,2303330303,PL
2303330304,2303330591,FR
@@ -71941,7 +73947,9 @@
2303334272,2303334399,ES
2303334400,2303336543,FR
2303336544,2303336575,PL
-2303336576,2303336943,FR
+2303336576,2303336671,FR
+2303336672,2303336687,PL
+2303336688,2303336943,FR
2303336944,2303336959,PL
2303336960,2303337855,FR
2303337856,2303337887,PT
@@ -71955,7 +73963,9 @@
2303340800,2303340927,PL
2303340928,2303341283,FR
2303341284,2303341287,FI
-2303341288,2303341951,FR
+2303341288,2303341663,FR
+2303341664,2303341695,PL
+2303341696,2303341951,FR
2303341952,2303341967,ES
2303341968,2303342031,FR
2303342032,2303342039,ES
@@ -71981,14 +73991,18 @@
2303343828,2303343831,DE
2303343832,2303344127,FR
2303344128,2303344191,CZ
-2303344192,2303344471,FR
+2303344192,2303344307,FR
+2303344308,2303344311,GB
+2303344312,2303344471,FR
2303344472,2303344479,IE
-2303344480,2303344511,PL
-2303344512,2303344559,FR
+2303344480,2303344527,PL
+2303344528,2303344559,FR
2303344560,2303344575,PL
2303344576,2303344847,FR
2303344848,2303344863,ES
-2303344864,2303348863,FR
+2303344864,2303347091,FR
+2303347092,2303347095,BE
+2303347096,2303348863,FR
2303348864,2303348991,GB
2303348992,2303349119,FR
2303349120,2303349247,ES
@@ -72014,7 +74028,8 @@
2303353696,2303353727,DE
2303353728,2303353783,FR
2303353784,2303353787,GB
-2303353788,2303354555,FR
+2303353788,2303354551,FR
+2303354552,2303354555,NL
2303354556,2303354559,FI
2303354560,2303355147,FR
2303355148,2303355151,DE
@@ -72033,7 +74048,9 @@
2303365280,2303365295,GB
2303365296,2303365679,FR
2303365680,2303365695,NL
-2303365696,2303367923,FR
+2303365696,2303367879,FR
+2303367880,2303367883,DE
+2303367884,2303367923,FR
2303367924,2303367927,DE
2303367928,2303368191,FR
2303368192,2303368207,DE
@@ -72058,7 +74075,9 @@
2303382880,2303382895,ES
2303382896,2303383151,FR
2303383152,2303383167,LT
-2303383168,2303383503,FR
+2303383168,2303383295,FR
+2303383296,2303383359,ES
+2303383360,2303383503,FR
2303383504,2303383519,GB
2303383520,2303383807,FR
2303383808,2303383935,ES
@@ -72068,7 +74087,10 @@
2303385088,2303385103,FI
2303385104,2303386879,FR
2303386880,2303387007,BE
-2303387008,2303387535,FR
+2303387008,2303387171,FR
+2303387172,2303387175,CZ
+2303387176,2303387179,PT
+2303387180,2303387535,FR
2303387536,2303387551,PT
2303387552,2303387567,FI
2303387568,2303387591,FR
@@ -72082,7 +74104,9 @@
2303388416,2303388543,ES
2303388544,2303390015,FR
2303390016,2303390079,GB
-2303390080,2303390655,FR
+2303390080,2303390119,FR
+2303390120,2303390127,DE
+2303390128,2303390655,FR
2303390656,2303390719,PL
2303390720,2303391007,FR
2303391008,2303391039,IE
@@ -72097,7 +74121,8 @@
2303392844,2303392847,FI
2303392848,2303392895,FR
2303392896,2303392899,DE
-2303392900,2303393247,FR
+2303392900,2303392903,BE
+2303392904,2303393247,FR
2303393248,2303393263,GB
2303393264,2303393535,FR
2303393536,2303393567,PT
@@ -72110,8 +74135,7 @@
2304507904,2304573439,AU
2304573440,2304638975,NO
2304638976,2304704511,CA
-2304704512,2304712703,DE
-2304712704,2304770047,US
+2304704512,2304770047,US
2304770048,2304835583,FI
2304835584,2304901119,IN
2304901120,2304966655,CZ
@@ -72142,7 +74166,9 @@
2306932736,2306998271,FR
2306998272,2307129343,US
2307129344,2307194879,SG
-2307194880,2307197951,NO
+2307194880,2307195903,BR
+2307195904,2307196927,NO
+2307196928,2307197951,FI
2307197952,2307198975,DE
2307198976,2307260415,NO
2307260416,2307278847,US
@@ -72185,7 +74211,8 @@
2311127040,2311192575,DE
2311192576,2311258111,FR
2311258112,2311315455,GB
-2311315456,2311323647,MY
+2311315456,2311319551,MY
+2311319552,2311323647,GB
2311323648,2311389183,MW
2311389184,2311847935,US
2311847936,2311913471,IT
@@ -72268,15 +74295,15 @@
2317221888,2317287423,JP
2317287424,2317357567,US
2317357568,2317357823,AU
-2317357824,2317393919,US
-2317393920,2317398015,NO
-2317398016,2317402111,GB
-2317402112,2317412351,US
+2317357824,2317395967,US
+2317395968,2317398015,NO
+2317398016,2317400063,GB
+2317400064,2317412351,US
2317412352,2317413375,CA
2317413376,2317413631,ID
-2317413632,2317414655,US
-2317414656,2317414911,AU
-2317414912,2317484031,US
+2317413632,2317414399,US
+2317414400,2317415423,AU
+2317415424,2317484031,US
2317484032,2317487359,CA
2317487360,2317487615,US
2317487616,2317549567,CA
@@ -72320,9 +74347,8 @@
2318663680,2319122431,US
2319122432,2319123455,AR
2319123456,2319123967,HN
-2319123968,2319124991,US
-2319124992,2319125247,VE
-2319125248,2319125503,US
+2319123968,2319124479,US
+2319124480,2319125503,VE
2319125504,2319126527,UY
2319126528,2319127551,CR
2319127552,2319128575,BR
@@ -72337,8 +74363,7 @@
2319156224,2319157247,CR
2319157248,2319158271,BR
2319158272,2319159295,AR
-2319159296,2319160319,BR
-2319160320,2319161343,PA
+2319159296,2319161343,BR
2319162368,2319164415,BR
2319164416,2319165439,PY
2319165440,2319167487,AR
@@ -72397,8 +74422,7 @@
2321446912,2321447935,HN
2321447936,2321452031,BR
2321452032,2321453055,MX
-2321453056,2321453567,US
-2321453568,2321454079,HN
+2321453056,2321454079,US
2321454080,2321467136,BR
2321467137,2321467137,US
2321467138,2321471487,BR
@@ -72477,7 +74501,8 @@
2321797632,2321797887,SE
2321797888,2321798143,NL
2321798144,2321799167,CW
-2321799168,2321800191,BZ
+2321799168,2321799935,BZ
+2321799936,2321800191,CL
2321800192,2321801215,AR
2321801216,2321802239,CL
2321803264,2321804287,BR
@@ -72486,8 +74511,9 @@
2321809408,2321874943,ES
2321874944,2321940479,JP
2321940480,2322006015,FR
-2322006016,2322014207,US
-2322014208,2322071551,SE
+2322006016,2322010383,SE
+2322010384,2322010399,US
+2322010400,2322071551,SE
2322071552,2322129919,GB
2322129920,2322130175,IN
2322130176,2322130431,GB
@@ -72498,7 +74524,11 @@
2322268160,2322333695,JP
2322333696,2322341887,US
2322341888,2322342399,MX
-2322342400,2322368511,US
+2322342400,2322342911,US
+2322342912,2322343167,BR
+2322343168,2322356223,US
+2322356224,2322358271,GB
+2322358272,2322368511,US
2322368512,2322368767,MY
2322368768,2322923519,US
2322923520,2322924543,BR
@@ -72616,71 +74646,83 @@
2323315712,2323316735,MX
2323316736,2323382271,US
2323382272,2323447807,NO
-2323447808,2323644447,US
-2323644448,2323644479,CA
-2323644480,2323644487,US
-2323644488,2323644495,CA
+2323447808,2323644431,US
+2323644432,2323644495,CA
2323644496,2323644511,US
2323644512,2323644543,CA
-2323644544,2323644631,US
+2323644544,2323644575,US
+2323644576,2323644607,CA
+2323644608,2323644631,US
2323644632,2323644639,CA
2323644640,2323644655,US
2323644656,2323644671,CA
-2323644672,2323644735,US
-2323644736,2323644783,CA
-2323644784,2323645119,US
+2323644672,2323644719,US
+2323644720,2323644799,CA
+2323644800,2323644895,US
+2323644896,2323644927,CA
+2323644928,2323645071,US
+2323645072,2323645087,CA
+2323645088,2323645119,US
2323645120,2323645135,CA
2323645136,2323645151,US
-2323645152,2323645191,CA
-2323645192,2323645199,SE
+2323645152,2323645199,CA
2323645200,2323645263,US
-2323645264,2323645271,CA
-2323645272,2323645471,US
+2323645264,2323645279,CA
+2323645280,2323645471,US
2323645472,2323645503,CA
-2323645504,2323645967,US
-2323645968,2323645983,CA
+2323645504,2323645535,US
+2323645536,2323645567,CA
+2323645568,2323645663,US
+2323645664,2323645695,CA
+2323645696,2323645951,US
+2323645952,2323645983,CA
2323645984,2323645999,US
2323646000,2323646015,CA
2323646016,2323646079,US
-2323646080,2323646119,CA
-2323646120,2323646127,FI
+2323646080,2323646127,CA
2323646128,2323646335,US
2323646336,2323646383,CA
2323646384,2323646415,US
-2323646416,2323646423,CA
-2323646424,2323646463,US
+2323646416,2323646431,CA
+2323646432,2323646463,US
2323646464,2323646479,CA
2323646480,2323646495,US
2323646496,2323646527,CA
-2323646528,2323646823,US
-2323646824,2323646831,CA
+2323646528,2323646783,US
+2323646784,2323646799,CA
+2323646800,2323646815,US
+2323646816,2323646831,CA
2323646832,2323646911,US
-2323646912,2323646943,CA
-2323646944,2323647199,US
+2323646912,2323646975,CA
+2323646976,2323647119,US
+2323647120,2323647135,CA
+2323647136,2323647199,US
2323647200,2323647215,CA
-2323647216,2323647327,US
-2323647328,2323647359,CA
-2323647360,2323647391,US
-2323647392,2323647407,CA
-2323647408,2323647551,US
-2323647552,2323647583,CA
-2323647584,2323647759,US
-2323647760,2323647775,CA
+2323647216,2323647311,US
+2323647312,2323647407,CA
+2323647408,2323647487,US
+2323647488,2323647519,CA
+2323647520,2323647535,US
+2323647536,2323647583,CA
+2323647584,2323647743,US
+2323647744,2323647775,CA
2323647776,2323647871,US
-2323647872,2323647887,CA
-2323647888,2323647999,US
+2323647872,2323647903,CA
+2323647904,2323647999,US
2323648000,2323648007,CA
2323648008,2323648015,FI
-2323648016,2323648319,US
+2323648016,2323648031,US
+2323648032,2323648063,CA
+2323648064,2323648319,US
2323648320,2323648335,CA
-2323648336,2323648639,US
+2323648336,2323648351,US
+2323648352,2323648367,CA
+2323648368,2323648639,US
2323648640,2323648655,CA
-2323648656,2323648767,US
-2323648768,2323648875,CA
-2323648876,2323648879,US
-2323648880,2323648899,CA
-2323648900,2323648903,US
-2323648904,2323648943,CA
+2323648656,2323648671,US
+2323648672,2323648703,CA
+2323648704,2323648767,US
+2323648768,2323648943,CA
2323648944,2323648951,US
2323648952,2323649023,CA
2323649024,2323649279,US
@@ -72688,29 +74730,24 @@
2323649752,2323649759,US
2323649760,2323649775,CA
2323649776,2323649783,US
-2323649784,2323649791,CA
-2323649792,2323649799,US
-2323649800,2323649823,CA
+2323649784,2323649823,CA
2323649824,2323649831,NO
2323649832,2323649855,CA
2323649856,2323649863,US
2323649864,2323649895,CA
-2323649896,2323649911,US
-2323649912,2323649919,CA
-2323649920,2323649943,US
-2323649944,2323649951,CA
+2323649896,2323649903,US
+2323649904,2323649919,CA
+2323649920,2323649935,US
+2323649936,2323649951,CA
2323649952,2323649959,US
-2323649960,2323649983,CA
-2323649984,2323650007,US
+2323649960,2323649999,CA
+2323650000,2323650007,US
2323650008,2323650015,RO
-2323650016,2323650031,US
+2323650016,2323650023,CA
+2323650024,2323650031,US
2323650032,2323650039,CA
2323650040,2323650047,US
-2323650048,2323650063,CA
-2323650064,2323650071,US
-2323650072,2323650079,CA
-2323650080,2323650095,US
-2323650096,2323650135,CA
+2323650048,2323650135,CA
2323650136,2323650151,US
2323650152,2323650167,CA
2323650168,2323650175,US
@@ -72722,88 +74759,81 @@
2323650240,2323650255,US
2323650256,2323650263,CA
2323650264,2323650271,US
-2323650272,2323650355,CA
-2323650356,2323650359,US
-2323650360,2323650367,CA
-2323650368,2323650375,SE
-2323650376,2323650447,CA
+2323650272,2323650447,CA
2323650448,2323650455,US
-2323650456,2323650503,CA
-2323650504,2323650511,US
-2323650512,2323650527,CA
-2323650528,2323650859,US
-2323650860,2323650863,CA
-2323650864,2323651071,US
-2323651072,2323651103,CA
-2323651104,2323651135,US
-2323651136,2323651327,CA
-2323651328,2323651839,US
-2323651840,2323652223,CA
-2323652224,2323652255,US
-2323652256,2323652271,CA
-2323652272,2323652351,US
-2323652352,2323652863,CA
-2323652864,2323653887,US
+2323650456,2323651327,CA
+2323651328,2323651583,US
+2323651584,2323652287,CA
+2323652288,2323652335,US
+2323652336,2323652863,CA
+2323652864,2323653119,US
+2323653120,2323653151,CA
+2323653152,2323653887,US
2323653888,2323654143,CA
2323654144,2323654655,US
2323654656,2323655423,CA
2323655424,2323655503,US
2323655504,2323655511,CA
-2323655512,2323655935,US
+2323655512,2323655519,US
+2323655520,2323655551,CA
+2323655552,2323655823,US
+2323655824,2323655871,CA
+2323655872,2323655935,US
2323655936,2323655967,CA
2323655968,2323655983,US
2323655984,2323655991,CA
2323655992,2323655999,US
-2323656000,2323656007,CA
-2323656008,2323656015,US
-2323656016,2323656031,CA
+2323656000,2323656031,CA
2323656032,2323656207,US
2323656208,2323656255,CA
-2323656256,2323656447,US
-2323656448,2323656543,CA
-2323656544,2323656575,US
-2323656576,2323656607,CA
+2323656256,2323656271,US
+2323656272,2323656287,CA
+2323656288,2323656447,US
+2323656448,2323656607,CA
2323656608,2323656639,US
-2323656640,2323656703,CA
-2323656704,2323656735,US
+2323656640,2323656719,CA
+2323656720,2323656735,US
2323656736,2323656767,CA
2323656768,2323656815,US
2323656816,2323656831,CA
2323656832,2323656895,US
2323656896,2323656927,CA
-2323656928,2323657311,US
+2323656928,2323657263,US
+2323657264,2323657279,CA
+2323657280,2323657311,US
2323657312,2323657343,CA
-2323657344,2323657567,US
-2323657568,2323657663,CA
-2323657664,2323657839,US
+2323657344,2323657535,US
+2323657536,2323657551,CA
+2323657552,2323657559,US
+2323657560,2323657663,CA
+2323657664,2323657695,US
+2323657696,2323657711,CA
+2323657712,2323657759,US
+2323657760,2323657775,CA
+2323657776,2323657839,US
2323657840,2323657919,CA
2323657920,2323658495,US
2323658496,2323658751,CA
2323658752,2323659519,US
2323659520,2323659775,CA
-2323659776,2323660223,US
-2323660224,2323660287,CA
+2323659776,2323660191,US
+2323660192,2323660287,CA
2323660288,2323660543,US
-2323660544,2323660799,CA
-2323660800,2323661055,US
-2323661056,2323661103,CA
+2323660544,2323661103,CA
2323661104,2323661111,US
2323661112,2323661143,CA
-2323661144,2323661159,US
-2323661160,2323661199,CA
+2323661144,2323661151,US
+2323661152,2323661199,CA
2323661200,2323661223,US
2323661224,2323661239,CA
2323661240,2323661271,US
2323661272,2323661311,CA
2323661312,2323661567,US
-2323661568,2323661607,CA
-2323661608,2323661615,FI
-2323661616,2323662335,US
+2323661568,2323661623,CA
+2323661624,2323662335,US
2323662336,2323662399,CA
2323662400,2323662527,US
-2323662528,2323662559,CA
-2323662560,2323662591,US
-2323662592,2323662655,CA
+2323662528,2323662655,CA
2323662656,2323662719,US
2323662720,2323662751,CA
2323662752,2323662767,US
@@ -72821,26 +74851,23 @@
2323664384,2323664639,US
2323664640,2323664959,CA
2323664960,2323665039,US
-2323665040,2323665047,SE
+2323665040,2323665047,CA
2323665048,2323665087,US
2323665088,2323665151,CA
2323665152,2323665407,US
-2323665408,2323665663,CA
-2323665664,2323666687,US
-2323666688,2323666943,CA
-2323666944,2323667071,US
-2323667072,2323667327,CA
-2323667328,2323667455,US
-2323667456,2323668223,CA
+2323665408,2323665919,CA
+2323665920,2323666687,US
+2323666688,2323668223,CA
2323668224,2323668991,US
2323668992,2323669759,CA
2323669760,2323670015,US
2323670016,2323670271,CA
-2323670272,2323672135,US
-2323672136,2323672191,CA
-2323672192,2323672447,US
-2323672448,2323672455,CA
-2323672456,2323672463,SE
+2323670272,2323671039,US
+2323671040,2323671295,CA
+2323671296,2323672127,US
+2323672128,2323672191,CA
+2323672192,2323672383,US
+2323672384,2323672463,CA
2323672464,2323672479,US
2323672480,2323672511,CA
2323672512,2323672575,US
@@ -72854,31 +74881,13 @@
2323672848,2323672863,US
2323672864,2323672895,CA
2323672896,2323672959,US
-2323672960,2323672991,CA
-2323672992,2323673007,US
-2323673008,2323673015,CA
-2323673016,2323673351,US
+2323672960,2323673055,CA
+2323673056,2323673351,US
2323673352,2323673359,CA
2323673360,2323673599,US
-2323673600,2323673887,CA
-2323673888,2323673891,US
-2323673892,2323673931,CA
-2323673932,2323673935,US
-2323673936,2323673939,CA
-2323673940,2323673943,US
-2323673944,2323673971,CA
-2323673972,2323673975,US
-2323673976,2323673983,CA
+2323673600,2323673983,CA
2323673984,2323674175,US
-2323674176,2323674239,CA
-2323674240,2323674367,US
-2323674368,2323674383,CA
-2323674384,2323674387,US
-2323674388,2323674451,CA
-2323674452,2323674455,US
-2323674456,2323674475,CA
-2323674476,2323674479,US
-2323674480,2323674511,CA
+2323674176,2323674511,CA
2323674512,2323674527,US
2323674528,2323674535,CA
2323674536,2323674543,US
@@ -72897,7 +74906,11 @@
2323675520,2323675647,CA
2323675648,2323675839,US
2323675840,2323675903,CA
-2323675904,2323690495,US
+2323675904,2323676927,US
+2323676928,2323676991,CA
+2323676992,2323680255,US
+2323680256,2323681279,NL
+2323681280,2323690495,US
2323690496,2323690751,IN
2323690752,2323699711,US
2323699712,2323700735,NL
@@ -72910,10 +74923,8 @@
2324021504,2324037631,US
2324037632,2324103167,IL
2324103168,2325979176,US
-2325979177,2325979178,JP
-2325979179,2327101954,US
-2327101955,2327101955,IT
-2327101956,2327379967,US
+2325979177,2325979177,JP
+2325979178,2327379967,US
2327379968,2327380991,MX
2327380992,2327383039,BR
2327383040,2327384063,CL
@@ -72956,10 +74967,12 @@
2327468032,2327469055,PA
2327469056,2327471103,BR
2327471104,2327472127,MX
-2327472128,2327475199,BR
+2327472128,2327476223,BR
2327476224,2327477247,CL
2327477248,2327480319,BR
-2327480320,2327481007,HN
+2327480320,2327480575,HN
+2327480576,2327480831,US
+2327480832,2327481007,HN
2327481008,2327481023,US
2327481024,2327481343,HN
2327481344,2327481599,MX
@@ -72976,13 +74989,7 @@
2327494656,2327496703,BR
2327496704,2327497727,MX
2327497728,2327498751,BR
-2327498752,2327499055,HN
-2327499056,2327499063,CL
-2327499064,2327499623,HN
-2327499624,2327499631,CL
-2327499632,2327499639,HN
-2327499640,2327499647,CL
-2327499648,2327499775,HN
+2327498752,2327499775,US
2327499776,2327501823,AR
2327501824,2327507967,BR
2327507968,2327508991,AR
@@ -73000,9 +75007,7 @@
2328230912,2328231935,US
2328231936,2328297471,GB
2328313856,2328317183,NL
-2328317184,2328317184,DE
-2328317185,2328317439,NL
-2328317440,2328317695,DE
+2328317184,2328317695,DE
2328317696,2328317951,NL
2328342528,2328342783,DE
2328362752,2328485437,DE
@@ -73035,13 +75040,11 @@
2328686592,2328687615,BR
2328687616,2328690687,AR
2328690688,2328756223,BE
-2328756224,2328764415,CH
-2328764416,2328772607,HK
-2328772608,2328788991,CH
-2328788992,2328794239,AU
+2328756224,2328766463,CH
+2328766464,2328767487,HK
+2328767488,2328794239,CH
2328794240,2328794303,JP
-2328794304,2328797183,AU
-2328797184,2328797439,CH
+2328794304,2328797439,CH
2328797440,2328797695,AU
2328797696,2328808063,CH
2328808064,2328808127,HK
@@ -73202,7 +75205,9 @@
2334064640,2334916607,US
2334916608,2334982143,AU
2334982144,2335014911,DK
-2335014912,2335031295,IE
+2335014912,2335023103,IE
+2335023104,2335023359,FR
+2335023360,2335031295,IE
2335031296,2335047679,NL
2335047680,2335113215,US
2335113216,2335154175,ES
@@ -73235,9 +75240,7 @@
2336008192,2336009215,CA
2336009216,2336010239,US
2336010240,2336014335,PR
-2336014336,2336024575,US
-2336024576,2336026623,CA
-2336026624,2336161791,US
+2336014336,2336161791,US
2336161792,2336227327,NL
2336227328,2336260095,CA
2336260096,2336358399,US
@@ -73246,7 +75249,9 @@
2336410624,2336411647,US
2336411648,2336412671,SG
2336412672,2336423935,SE
-2336423936,2336882687,US
+2336423936,2336735231,US
+2336735232,2336737279,AU
+2336737280,2336882687,US
2336882688,2336948223,FI
2336948224,2337013759,DE
2337013760,2337210367,US
@@ -73318,6 +75323,7 @@
2338113536,2338113791,FR
2338115072,2338115839,IL
2338120448,2338120959,DE
+2338122240,2338122495,GB
2338123008,2338123519,AT
2338123520,2338123775,IT
2338124800,2338125055,GB
@@ -73343,8 +75349,8 @@
2338914304,2339962879,NO
2339962880,2340028415,US
2340028416,2340081663,SE
-2340081664,2340085759,BR
-2340085760,2340093951,SE
+2340081664,2340083711,BR
+2340083712,2340093951,SE
2340093952,2340159487,FI
2340159488,2340225023,FR
2340225024,2340421631,US
@@ -73366,7 +75372,9 @@
2341135872,2341136127,CN
2341136128,2341136639,US
2341136640,2341136655,DE
-2341136656,2341273599,US
+2341136656,2341137919,US
+2341137920,2341137935,CN
+2341137936,2341273599,US
2341273600,2341339135,KW
2341339136,2341404671,CA
2341404672,2341470207,GB
@@ -73410,12 +75418,15 @@
2343723008,2343731199,AT
2343731200,2343763967,NL
2343763968,2343829503,TR
-2343829504,2343845887,US
+2343829504,2343829759,JP
+2343829760,2343830015,CA
+2343830016,2343830271,BR
+2343830272,2343845887,US
2343845888,2343862271,NZ
-2343862272,2343878655,US
-2343878656,2343882751,JP
-2343882752,2343885823,SG
-2343885824,2343934975,US
+2343862272,2343864319,SG
+2343864320,2343882751,JP
+2343882752,2343886847,SG
+2343886848,2343934975,US
2343934976,2343935999,IL
2343936000,2344026111,US
2344026112,2344091647,CN
@@ -73426,8 +75437,7 @@
2344353792,2344419327,AU
2344419328,2344484863,CN
2344484864,2344550399,PK
-2344599552,2344607743,NL
-2344607744,2344615935,IT
+2344611840,2344613887,IT
2344615936,2344878079,ID
2344878080,2346188799,CN
2346188800,2346254335,AU
@@ -73482,19 +75492,16 @@
2355036160,2355101695,US
2355101696,2355167231,TW
2355167232,2355232767,GB
-2355232768,2355437311,US
-2355437312,2355437567,GB
-2355437568,2355470319,US
+2355232768,2355470319,US
2355470320,2355470335,SG
-2355470336,2355470575,US
-2355470576,2355470591,PL
-2355470592,2355471087,US
+2355470336,2355471087,PL
2355471088,2355471103,BR
-2355471104,2355482607,US
+2355471104,2355472383,PL
+2355472384,2355482607,US
2355482608,2355482623,HK
-2355482624,2355486719,US
-2355486720,2355494911,AU
-2355494912,2355691519,US
+2355482624,2355490815,US
+2355490816,2355492863,AU
+2355492864,2355691519,US
2355691520,2355757055,IT
2355757056,2355953663,US
2355953664,2357919743,TW
@@ -73511,7 +75518,9 @@
2359361536,2359427071,CA
2359427072,2359558143,US
2359558144,2359623679,IT
-2359623680,2359689215,US
+2359623680,2359636991,US
+2359636992,2359638015,CA
+2359638016,2359689215,US
2359689216,2359754751,SE
2359754752,2359820287,CA
2359820288,2359884799,AU
@@ -73563,8 +75572,7 @@
2365456384,2365521919,US
2365521920,2365587455,CN
2365587456,2365589503,JO
-2365589504,2365590015,IN
-2365590016,2365590527,SG
+2365589504,2365590527,SG
2365590528,2365591039,ZA
2365591552,2365593599,DE
2365593600,2365595647,NL
@@ -73646,7 +75654,8 @@
2372225024,2372225791,US
2372225792,2372226559,NL
2372227072,2372229119,KR
-2372229120,2372229375,FR
+2372229120,2372229120,ES
+2372229121,2372229375,FR
2372230656,2372231679,CZ
2372231680,2372232191,GB
2372232192,2372233215,CL
@@ -73669,7 +75678,9 @@
2372243968,2372244223,NO
2372244224,2372244479,BN
2372244480,2372251391,US
-2372251392,2372272127,RU
+2372251392,2372258047,RU
+2372258048,2372258175,NL
+2372258176,2372272127,RU
2372272128,2372337663,US
2372337664,2372403199,ID
2372403200,2372468735,US
@@ -73699,8 +75710,11 @@
2372730880,2372796415,CA
2372796416,2372993023,US
2372993024,2373025791,DE
-2373025792,2373029887,SG
-2373029888,2373038079,US
+2373025792,2373027839,SG
+2373027840,2373031935,DE
+2373031936,2373033983,US
+2373033984,2373036031,DE
+2373036032,2373038079,US
2373038080,2373058559,DE
2373058560,2373124095,US
2373124096,2373189631,FR
@@ -73720,7 +75734,9 @@
2374500352,2374502399,LV
2374502400,2374504447,MK
2374504448,2374508543,US
-2374508544,2374512639,LT
+2374508544,2374512127,LT
+2374512128,2374512382,US
+2374512383,2374512639,LT
2374512640,2374514687,SK
2374514688,2374516735,ES
2374516736,2374524927,AM
@@ -73750,7 +75766,9 @@
2374688768,2374696959,GB
2374696960,2374959103,US
2374959104,2375008255,GB
-2375008256,2375012351,NL
+2375008256,2375008511,NL
+2375008512,2375008767,RO
+2375008768,2375012351,NL
2375012352,2375024639,GB
2375024640,2375090175,DK
2375090176,2375102259,NO
@@ -73759,13 +75777,13 @@
2375155712,2375221247,US
2375221248,2375286783,SE
2375286784,2375352319,CH
-2375352320,2376077311,US
-2376077312,2376081407,GB
-2376081408,2376083199,US
+2375352320,2376083199,US
2376083200,2376083455,CA
2376083456,2376083711,US
2376083712,2376083967,AU
-2376083968,2376269823,US
+2376083968,2376233215,US
+2376233216,2376233471,AU
+2376233472,2376269823,US
2376269824,2376335359,GB
2376335360,2376597503,US
2376597504,2376663039,AU
@@ -73823,10 +75841,10 @@
2378366976,2378432511,US
2378432512,2378498047,TR
2378498048,2378500607,US
-2378500608,2378501119,GB
-2378501120,2378504191,US
-2378504192,2378504447,NL
-2378504448,2378694655,US
+2378500608,2378500863,GB
+2378500864,2378504191,US
+2378504192,2378506239,NL
+2378506240,2378694655,US
2378694656,2378760191,DE
2378760192,2378825727,AT
2378825728,2378891263,US
@@ -73841,11 +75859,11 @@
2380398592,2380420095,IL
2380420096,2380420863,GB
2380420864,2380423167,IL
-2380423168,2380427263,US
-2380427264,2380428799,GB
-2380428800,2380430847,IL
-2380430848,2380431103,GB
-2380431104,2380431615,IL
+2380423168,2380427519,US
+2380427520,2380428799,GB
+2380428800,2380430335,IL
+2380430336,2380431359,GB
+2380431360,2380431615,IL
2380431616,2380431871,US
2380431872,2380432127,TH
2380432128,2380432383,US
@@ -73857,7 +75875,8 @@
2380455936,2380456447,US
2380456448,2380456959,IL
2380456960,2380457215,NL
-2380457216,2380457727,US
+2380457216,2380457471,SG
+2380457472,2380457727,US
2380457728,2380457983,HK
2380457984,2380464127,IL
2380464128,2380464639,FR
@@ -73866,10 +75885,13 @@
2380465440,2380465443,SG
2380465444,2380529663,FR
2380529664,2380558335,GB
-2380558336,2380562431,ZA
-2380562432,2380578815,GB
-2380578816,2380587007,JP
-2380587008,2380595199,GB
+2380558336,2380560383,ZA
+2380560384,2380578815,GB
+2380578816,2380580863,JP
+2380580864,2380593151,GB
+2380593152,2380593663,SG
+2380593664,2380593919,GB
+2380593920,2380595199,SG
2380660736,2380726271,US
2380726272,2380791807,GB
2380791808,2381119487,US
@@ -73897,9 +75919,11 @@
2382364672,2382368767,US
2382368768,2382374143,CA
2382374144,2382374399,US
-2382374400,2382376703,CA
-2382376704,2382381055,US
-2382381056,2382383209,CA
+2382374400,2382376959,CA
+2382376960,2382381055,US
+2382381056,2382383113,CA
+2382383114,2382383114,AE
+2382383115,2382383209,CA
2382383210,2382383210,AE
2382383211,2382385151,CA
2382385152,2382401535,US
@@ -73913,8 +75937,8 @@
2382654464,2382657023,US
2382657024,2382657535,CN
2382657536,2382657791,US
-2382657792,2382658303,CN
-2382658304,2382658559,US
+2382657792,2382658047,CN
+2382658048,2382658559,US
2382658560,2382658815,CA
2382658816,2382675967,US
2382675968,2382676107,CA
@@ -73935,9 +75959,9 @@
2385031168,2385032191,BR
2385032192,2385032703,CA
2385032704,2385035263,BR
-2385035264,2385293087,CA
-2385293088,2385293111,US
-2385293112,2385307727,CA
+2385035264,2385295359,CA
+2385295360,2385295615,US
+2385295616,2385307727,CA
2385307728,2385307735,US
2385307736,2385903615,CA
2385903616,2385908735,US
@@ -73969,9 +75993,7 @@
2387345408,2387410943,CA
2387410944,2387476479,US
2387476480,2387542015,CA
-2387542016,2387587583,US
-2387587584,2387588095,AU
-2387588096,2387607551,US
+2387542016,2387607551,US
2387607552,2388328447,CA
2388328448,2388330495,US
2388330496,2388332543,NL
@@ -74049,8 +76071,8 @@
2395804416,2395804671,US
2395804672,2395810815,CA
2395810816,2395811071,US
-2395811072,2395811839,CA
-2395811840,2395815935,US
+2395811072,2395813887,CA
+2395813888,2395815935,US
2395815936,2395841023,CA
2395841024,2395841535,GB
2395841536,2397700095,CA
@@ -74060,8 +76082,10 @@
2397765632,2398748671,CA
2398748672,2398945279,US
2398945280,2399010815,CA
-2399010816,2399109119,US
-2399109120,2399141887,PR
+2399010816,2399121407,US
+2399121408,2399131647,PR
+2399131648,2399133695,US
+2399133696,2399141887,PR
2399141888,2399150079,BR
2399150080,2399151103,BQ
2399151104,2399158271,BR
@@ -74102,18 +76126,16 @@
2401380352,2401380863,SG
2401380864,2401828863,US
2401828864,2401894399,GB
-2401894400,2402091523,US
-2402091524,2402091524,JP
-2402091525,2402222079,US
+2401894400,2402222079,US
2402222080,2402287615,IE
2402287616,2402418687,US
2402418688,2402484223,AT
2402484224,2402549759,FI
2402549760,2402680831,GB
2402680832,2402746367,BR
-2402746368,2402942975,US
-2402942976,2402951167,GB
-2402951168,2403401727,US
+2402746368,2402945023,US
+2402945024,2402945279,GB
+2402945280,2403401727,US
2403401728,2403467263,GB
2403467264,2404974591,US
2404974592,2405040127,HK
@@ -74167,9 +76189,7 @@
2408165376,2408169471,BR
2408169472,2408170495,TT
2408170496,2408178687,BR
-2408178688,2408179423,HN
-2408179424,2408179431,IT
-2408179432,2408179711,HN
+2408178688,2408179711,HN
2408179712,2408182783,BR
2408182784,2408183807,AR
2408183808,2408185855,BR
@@ -74312,7 +76332,7 @@
2415893504,2415894527,PA
2415894528,2415898623,BR
2415898624,2415899647,CL
-2415899648,2415904767,BR
+2415900672,2415904767,BR
2415904768,2415905023,US
2415905024,2415917055,BR
2415917056,2415918079,EC
@@ -74369,17 +76389,15 @@
2418296320,2418297343,IN
2418297344,2418305023,US
2418305024,2418305279,IN
-2418305280,2418307071,US
-2418307072,2418309119,LV
+2418305280,2418309119,US
2418309120,2418311167,PL
-2418311168,2418311679,IN
-2418311680,2418312191,CZ
-2418312192,2418312703,US
-2418312704,2418313215,IN
+2418311168,2418313215,IN
2418313216,2418314239,US
2418314240,2418314751,IN
2418314752,2418315263,US
-2418315264,2418316799,IN
+2418315264,2418315775,IN
+2418315776,2418316287,US
+2418316288,2418316799,IN
2418316800,2418323455,US
2418323456,2418323711,IN
2418323712,2418323967,US
@@ -74388,25 +76406,26 @@
2418324992,2418326015,IN
2418326016,2418326527,US
2418326528,2418327039,IN
-2418327040,2418327551,US
-2418327552,2418329599,SK
-2418329600,2418331135,US
+2418327040,2418331135,US
2418331136,2418331647,IN
2418331648,2418332159,US
2418332160,2418332671,IN
2418332672,2418333183,US
-2418333184,2418334207,IN
-2418334208,2418334719,US
-2418334720,2418343935,IN
+2418333184,2418339839,IN
+2418339840,2418340863,US
+2418340864,2418341375,IN
+2418341376,2418341887,US
+2418341888,2418342911,IN
+2418342912,2418343423,US
+2418343424,2418343935,IN
2418343936,2418606079,US
2418606080,2418671615,DE
2418671616,2418737151,US
2418737152,2418802687,NL
2418868224,2418991103,US
-2418991104,2418999295,GB
-2418999296,2419064831,US
-2419064832,2419065343,BD
-2419065344,2419065855,IN
+2418991104,2418993151,GB
+2418993152,2419064831,US
+2419064832,2419065855,BD
2419065856,2419067903,HK
2419068928,2419069951,AU
2419069952,2419071999,VN
@@ -74476,7 +76495,9 @@
2420310016,2420899839,US
2420899840,2420932299,DE
2420932300,2420932300,NL
-2420932301,2420965375,DE
+2420932301,2420946207,DE
+2420946208,2420946239,NL
+2420946240,2420965375,DE
2420965376,2421096447,US
2421161984,2421293055,US
2421293056,2421358591,GB
@@ -74520,35 +76541,33 @@
2426942464,2426943487,CA
2426943488,2426961919,US
2426961920,2426962239,CA
-2426962240,2426962359,US
-2426962360,2426962527,CA
-2426962528,2426962623,US
+2426962240,2426962303,US
+2426962304,2426962335,CA
+2426962336,2426962351,US
+2426962352,2426962527,CA
+2426962528,2426962543,US
+2426962544,2426962551,CA
+2426962552,2426962623,US
2426962624,2426962943,CA
2426962944,2426963199,US
2426963200,2426963711,CA
-2426963712,2426964223,US
-2426964224,2426964479,CA
-2426964480,2426964735,US
-2426964736,2426966271,CA
-2426966272,2426966527,US
-2426966528,2426966783,CA
-2426966784,2426969087,US
-2426969088,2426969599,CA
-2426969600,2426969727,US
-2426969728,2426969983,CA
-2426969984,2426970111,US
-2426970112,2426975775,CA
+2426963712,2426963967,US
+2426963968,2426966783,CA
+2426966784,2426968831,US
+2426968832,2426972415,CA
+2426972416,2426974207,US
+2426974208,2426975775,CA
2426975776,2426975999,US
2426976000,2426976543,CA
2426976544,2426976767,US
2426976768,2426976799,CA
2426976800,2426976991,US
-2426976992,2426978303,CA
-2426978304,2426978815,NL
-2426978816,2426980351,CA
-2426980352,2426986495,US
-2426986496,2426994687,CA
-2426994688,2427224063,US
+2426976992,2426984447,CA
+2426984448,2426988543,US
+2426988544,2426994687,CA
+2426994688,2427214708,US
+2427214709,2427214710,GB
+2427214711,2427224063,US
2427224064,2427256831,CA
2427256832,2427322367,GB
2427322368,2427453439,US
@@ -74557,11 +76576,7 @@
2427537152,2427584511,NO
2427584512,2427584743,US
2427584744,2427584765,CA
-2427584766,2427584768,US
-2427584769,2427584775,GB
-2427584776,2427584825,US
-2427584826,2427585023,GB
-2427585024,2427585235,US
+2427584766,2427585235,US
2427585236,2427585271,CA
2427585272,2427585275,BR
2427585276,2427585277,MX
@@ -74689,25 +76704,20 @@
2427586752,2427586763,AE
2427586764,2427586815,GB
2427586816,2427586816,NL
-2427586817,2427586823,GB
+2427586817,2427586823,FR
2427586824,2427586861,IT
-2427586862,2427586879,GB
+2427586862,2427586879,FR
2427586880,2427586913,DE
-2427586914,2427586943,GB
+2427586914,2427586943,FR
2427586944,2427586945,BE
-2427586946,2427586959,GB
+2427586946,2427586959,FR
2427586960,2427586965,NL
2427586966,2427586967,DK
-2427586968,2427586975,GB
+2427586968,2427586975,FR
2427586976,2427586983,CH
-2427586984,2427586991,GB
+2427586984,2427586991,FR
2427586992,2427586993,AT
-2427586994,2427587007,GB
-2427587008,2427587047,FR
-2427587048,2427587049,GB
-2427587050,2427587051,FR
-2427587052,2427587071,GB
-2427587072,2427587072,FR
+2427586994,2427587072,FR
2427587073,2427587583,GB
2427587584,2427587584,JP
2427587585,2427587591,AU
@@ -74727,13 +76737,11 @@
2427588179,2427588179,MN
2427588180,2427588191,MO
2427588192,2427588351,AU
-2427588352,2427588352,SG
-2427588353,2427588359,AU
-2427588360,2427588365,SG
+2427588352,2427588365,SG
2427588366,2427588369,TH
-2427588370,2427588607,AU
-2427588608,2427591679,IE
-2427591680,2427591880,US
+2427588370,2427588607,SG
+2427588608,2427590655,GB
+2427590656,2427591880,US
2427591881,2427591881,CA
2427591882,2427591883,US
2427591884,2427591884,CO
@@ -74774,7 +76782,7 @@
2427592208,2427592223,JP
2427592224,2427592239,AU
2427592240,2427592255,CN
-2427592256,2427592703,SG
+2427592256,2427592703,US
2427592704,2427600895,GB
2427600896,2427609087,NL
2427609088,2427617279,GB
@@ -74809,9 +76817,9 @@
2429581312,2429583359,US
2429583360,2429616127,AT
2429616128,2429637119,NL
-2429637376,2429640703,NL
-2429640704,2429648895,RU
-2429648896,2429681663,NL
+2429637376,2429642751,NL
+2429642752,2429644799,RU
+2429644800,2429681663,NL
2429681664,2429796607,US
2429796608,2429797375,GB
2429797376,2429878271,US
@@ -74889,9 +76897,14 @@
2433667072,2433671167,CH
2433671168,2433675263,DE
2433675264,2433677311,PL
-2433677312,2433810431,NL
+2433677312,2433679359,AT
+2433679360,2433810431,NL
2433810432,2433875967,GB
-2433875968,2435055615,NL
+2433875968,2434924543,NL
+2434924544,2434928639,US
+2434928640,2434957311,NL
+2434957312,2434959359,AU
+2434959360,2435055615,NL
2435055616,2435107327,GB
2435107328,2435107583,US
2435107584,2435121151,GB
@@ -74914,17 +76927,15 @@
2436784128,2436825087,GB
2436825088,2441196707,NL
2441196708,2441196708,BE
-2441196709,2441311231,NL
-2441311232,2441311487,GB
-2441311488,2446983167,NL
-2447048704,2447233023,NL
-2447233024,2447235583,FR
+2441196709,2446983167,NL
+2447048704,2447235071,NL
+2447235072,2447235583,FR
2447235584,2447235839,NL
2447235840,2447237119,FR
2447237120,2447376383,NL
2447376384,2447384575,GB
-2447384576,2447392767,DE
-2447392768,2447441919,GB
+2447384576,2447386623,DE
+2447386624,2447441919,GB
2447441920,2447507455,DE
2447507456,2447572991,FR
2447572992,2447638527,GB
@@ -74963,7 +76974,9 @@
2448364864,2448364927,PL
2448364928,2448365047,FR
2448365048,2448365051,PL
-2448365052,2448365183,FR
+2448365052,2448365123,FR
+2448365124,2448365127,PL
+2448365128,2448365183,FR
2448365184,2448365247,PL
2448365248,2448365311,FR
2448365312,2448365375,PL
@@ -74973,7 +76986,9 @@
2448365632,2448365823,PL
2448365824,2448365951,FR
2448365952,2448366015,PL
-2448366016,2448366059,FR
+2448366016,2448366051,FR
+2448366052,2448366055,PL
+2448366056,2448366059,FR
2448366060,2448366063,PL
2448366064,2448366143,FR
2448366144,2448366271,PL
@@ -74987,7 +77002,9 @@
2448370720,2448370727,ES
2448370728,2448371031,FR
2448371032,2448371039,ES
-2448371040,2448372031,FR
+2448371040,2448371639,FR
+2448371640,2448371643,DE
+2448371644,2448372031,FR
2448372032,2448372047,ES
2448372048,2448373087,FR
2448373088,2448373095,ES
@@ -75001,7 +77018,11 @@
2448379904,2448383999,PL
2448384000,2448386047,FR
2448386048,2448386175,GB
-2448386176,2448387199,FR
+2448386176,2448386695,FR
+2448386696,2448386703,DE
+2448386704,2448386815,FR
+2448386816,2448387071,LT
+2448387072,2448387199,FR
2448387200,2448387327,DE
2448387328,2448387359,FR
2448387360,2448387391,CZ
@@ -75015,26 +77036,30 @@
2448389888,2448390399,FR
2448390400,2448390527,ES
2448390528,2448390655,DE
-2448390656,2448390911,FR
+2448390656,2448390751,FR
+2448390752,2448390767,PL
+2448390768,2448390911,FR
2448390912,2448391039,IE
2448391040,2448391167,FR
2448391168,2448391175,ES
2448391176,2448391263,FR
2448391264,2448391295,NL
2448391296,2448393471,FR
-2448393472,2448393983,PL
-2448393984,2448394239,FR
+2448393472,2448394239,PL
2448394240,2448394303,DE
2448394304,2448394351,FR
2448394352,2448394367,ES
2448394368,2448394383,FI
2448394384,2448394463,FR
2448394464,2448394479,DE
-2448394480,2448394655,FR
+2448394480,2448394639,FR
+2448394640,2448394655,IT
2448394656,2448394671,DE
2448394672,2448394675,FR
2448394676,2448394679,DE
-2448394680,2448394767,FR
+2448394680,2448394731,FR
+2448394732,2448394735,DE
+2448394736,2448394767,FR
2448394768,2448394771,DE
2448394772,2448394775,FR
2448394776,2448394783,DE
@@ -75057,7 +77082,9 @@
2448403680,2448403687,DE
2448403688,2448404095,FR
2448404096,2448404127,ES
-2448404128,2448404183,FR
+2448404128,2448404143,FR
+2448404144,2448404159,GB
+2448404160,2448404183,FR
2448404184,2448404191,ES
2448404192,2448404415,FR
2448404416,2448404447,GB
@@ -75079,15 +77106,16 @@
2448410624,2448410687,GB
2448410688,2448410927,FR
2448410928,2448410943,GB
-2448410944,2448411003,FR
+2448410944,2448410991,FR
+2448410992,2448410999,GB
+2448411000,2448411003,FR
2448411004,2448411007,GB
2448411008,2448411183,FR
2448411184,2448411199,GB
2448411200,2448411439,FR
2448411440,2448411455,GB
2448411456,2448411647,FR
-2448411648,2448412415,GB
-2448412416,2448412671,FR
+2448411648,2448412671,GB
2448412672,2448412799,DE
2448412800,2448413855,FR
2448413856,2448413887,FI
@@ -75117,7 +77145,9 @@
2448418560,2448418687,NL
2448418688,2448418783,FR
2448418784,2448418791,ES
-2448418792,2448419087,FR
+2448418792,2448418815,FR
+2448418816,2448419071,DE
+2448419072,2448419087,FR
2448419088,2448419091,DE
2448419092,2448419103,FR
2448419104,2448419107,DE
@@ -75217,19 +77247,9 @@
2450718720,2450784255,FR
2450784256,2450849791,US
2450849792,2450915327,SE
-2450915328,2451030015,US
-2451030016,2451031039,AU
-2451031040,2451031295,US
-2451031296,2451031807,AU
-2451031808,2451031871,US
-2451031872,2451033063,AU
-2451033064,2451033067,US
-2451033068,2451034111,AU
-2451034112,2451035903,US
-2451035904,2451036159,AO
-2451036160,2451042303,US
-2451042304,2451043327,ZA
-2451043328,2451044351,US
+2450915328,2451032063,US
+2451032064,2451032575,AU
+2451032576,2451044351,US
2451044352,2451046399,ID
2451046400,2452619263,US
2452619264,2452684799,IT
@@ -75286,10 +77306,11 @@
2454864896,2454865151,GB
2454865152,2454865407,US
2454865408,2454865663,CR
-2454865664,2454904831,US
+2454865664,2454902783,US
+2454902784,2454903807,MX
+2454903808,2454904831,US
2454904832,2454906879,AR
-2454906880,2454907391,CL
-2454907392,2454913023,US
+2454906880,2454913023,US
2454913024,2454978559,CL
2454978560,2455175167,US
2455175168,2455240703,GB
@@ -75408,7 +77429,7 @@
2456847616,2456847871,BR
2456847872,2456848127,IN
2456848128,2456848383,DK
-2456848640,2456849151,US
+2456848640,2456848895,US
2456861952,2456862207,CA
2456862720,2456862975,NL
2456862976,2456863743,US
@@ -75428,7 +77449,7 @@
2456868096,2456868351,DK
2456868352,2456868607,IE
2456869888,2456870143,SG
-2456871168,2456871679,US
+2456871168,2456871423,US
2456871936,2456872191,RO
2456872192,2456872447,FR
2456872448,2456872703,IE
@@ -75438,6 +77459,7 @@
2456873472,2456873727,IN
2456873728,2456873983,DK
2456874240,2456874495,SG
+2456875008,2456875263,PL
2456875264,2456875775,CA
2456875776,2456876031,JP
2456876032,2456876287,NL
@@ -75447,7 +77469,9 @@
2456877312,2456877567,AU
2456877568,2456877823,US
2456877824,2456878079,HK
+2456878080,2456878335,GB
2456878336,2456878591,DE
+2456878592,2456879103,GB
2456879104,2457075711,US
2457075712,2457141247,AU
2457206784,2457272319,AU
@@ -75478,8 +77502,8 @@
2457367552,2457369599,RU
2457369600,2457370623,UA
2457370624,2457377791,BY
-2457377792,2457378047,FR
-2457378048,2457378815,DE
+2457377792,2457378303,RU
+2457378304,2457378815,CZ
2457378816,2457380095,NL
2457380096,2457380863,RU
2457380864,2457381631,UA
@@ -75508,7 +77532,7 @@
2457399552,2457399807,RU
2457399808,2457400319,CZ
2457400320,2457400575,UA
-2457400576,2457400831,CZ
+2457400576,2457400831,KG
2457400832,2457402367,RU
2457402368,2457403391,SY
2457403392,2457520895,US
@@ -75530,7 +77554,8 @@
2459697152,2459828223,US
2459828224,2459833343,RU
2459833344,2459834367,UZ
-2459834368,2459835903,RU
+2459834368,2459835391,KZ
+2459835392,2459835903,RU
2459835904,2459836159,UA
2459836160,2459844607,RU
2459844608,2459845631,KZ
@@ -75569,7 +77594,9 @@
2461601792,2461605887,GB
2461605888,2461607935,LB
2461607936,2461609983,FR
-2461609984,2461612031,BE
+2461609984,2461611577,BE
+2461611578,2461611579,NL
+2461611580,2461612031,BE
2461612032,2461614079,IL
2461614080,2461622271,CH
2461622272,2461630463,DE
@@ -75618,9 +77645,13 @@
2462350336,2462351359,CN
2462351360,2462384127,GM
2462384128,2462449663,US
-2462449664,2462526602,GB
+2462449664,2462519807,GB
+2462519808,2462520063,US
+2462520064,2462526602,GB
2462526603,2462526603,US
-2462526604,2462646271,GB
+2462526604,2462626943,GB
+2462626944,2462627071,US
+2462627072,2462646271,GB
2462646272,2462717439,US
2462717440,2462717951,DE
2462717952,2462723071,US
@@ -75662,8 +77693,8 @@
2465665024,2465667071,IT
2465667072,2465669119,SI
2465669120,2465671167,RU
-2465671168,2465672703,IE
-2465672704,2465672959,BG
+2465671168,2465672191,IE
+2465672192,2465672959,BG
2465672960,2465673215,IE
2465673216,2465677311,IM
2465677312,2465679359,IT
@@ -75671,7 +77702,9 @@
2465681408,2465683455,SE
2465683456,2465685503,FR
2465685504,2465690367,DE
-2465690368,2465693695,IT
+2465690368,2465693439,IT
+2465693440,2465693455,FR
+2465693456,2465693695,IT
2465693696,2465697791,NO
2465697792,2465718271,SE
2465718272,2465721855,NO
@@ -75722,8 +77755,9 @@
2466053120,2466054143,CA
2466054144,2466185215,SE
2466185216,2466189311,GB
-2466189312,2466189567,ES
-2466189568,2466191103,NL
+2466189312,2466189823,NL
+2466189824,2466190079,ES
+2466190080,2466191103,NL
2466191104,2466191167,ES
2466191168,2466191359,NL
2466191360,2466193407,CZ
@@ -75746,21 +77780,15 @@
2466242560,2466250751,GE
2466250752,2466318335,US
2466318336,2466318591,SG
-2466318592,2466320895,US
-2466320896,2466321151,AU
-2466321152,2466322431,US
-2466322432,2466323455,AU
+2466318592,2466320383,US
+2466320384,2466322431,AU
+2466322432,2466323455,US
2466323456,2466323711,SG
-2466323712,2466324479,AU
-2466324480,2466326015,US
+2466323712,2466326015,US
2466326016,2466326271,SG
2466326272,2466336767,US
2466336768,2466337023,SG
-2466337024,2466340863,US
-2466340864,2466349055,CA
-2466349056,2466376191,US
-2466376192,2466376447,CA
-2466376448,2466643967,US
+2466337024,2466643967,US
2466643968,2466709503,KR
2466709504,2466775039,HU
2466775040,2466840575,HK
@@ -75790,19 +77818,21 @@
2469724160,2469789695,US
2469789696,2469855231,DE
2469855232,2470182911,US
-2470182912,2470191103,CH
-2470191104,2470199295,SG
-2470199296,2470248447,CH
+2470182912,2470188287,CH
+2470188288,2470188543,SG
+2470188544,2470197759,CH
+2470197760,2470198271,SG
+2470198272,2470248447,CH
2470248448,2470510591,US
2470510592,2470576127,BR
2470576128,2470576383,AU
2470576384,2470577151,AQ
2470577152,2470577919,HM
2470577920,2470641663,AU
-2470641664,2470649855,BE
-2470649856,2470703359,LU
-2470703360,2470703615,BE
-2470703616,2470707199,LU
+2470641664,2470643711,BE
+2470643712,2470703103,LU
+2470703104,2470705151,BE
+2470705152,2470707199,LU
2470707200,2470772735,GB
2470772736,2470838271,AU
2470838272,2471194623,US
@@ -75877,7 +77907,9 @@
2475135488,2475135495,ES
2475135496,2475135719,FR
2475135720,2475135727,DE
-2475135728,2475139391,FR
+2475135728,2475137911,FR
+2475137912,2475137919,NL
+2475137920,2475139391,FR
2475139392,2475139455,ES
2475139456,2475140095,FR
2475140096,2475140223,DE
@@ -75903,9 +77935,7 @@
2475145152,2475145215,ES
2475145216,2475145343,DE
2475145344,2475145471,GB
-2475145472,2475145567,FR
-2475145568,2475145599,GB
-2475145600,2475145615,FR
+2475145472,2475145615,FR
2475145616,2475145631,LT
2475145632,2475145727,FR
2475145728,2475145855,GB
@@ -75923,13 +77953,15 @@
2475146720,2475146943,FR
2475146944,2475146975,PT
2475146976,2475148351,FR
-2475148352,2475148415,PL
-2475148416,2475148521,FR
+2475148352,2475148419,PL
+2475148420,2475148431,FR
+2475148432,2475148435,PL
+2475148436,2475148521,FR
2475148522,2475148522,PL
2475148523,2475148543,FR
2475148544,2475148607,PL
-2475148608,2475148671,FR
-2475148672,2475148735,PL
+2475148608,2475148655,FR
+2475148656,2475148735,PL
2475148736,2475148796,FR
2475148797,2475148797,PL
2475148798,2475149119,FR
@@ -75992,7 +78024,9 @@
2475161216,2475161407,FR
2475161408,2475161439,FI
2475161440,2475161471,PL
-2475161472,2475161983,FR
+2475161472,2475161619,FR
+2475161620,2475161623,ES
+2475161624,2475161983,FR
2475161984,2475161999,LT
2475162000,2475162351,FR
2475162352,2475162367,ES
@@ -76055,7 +78089,9 @@
2480734208,2481192959,US
2481192960,2481455103,CZ
2481455104,2481520639,SK
-2481520640,2481848319,IL
+2481520640,2481586687,IL
+2481586688,2481587199,GB
+2481587200,2481848319,IL
2481848320,2482175999,US
2482176000,2482176031,MY
2482176032,2482176191,HK
@@ -76223,9 +78259,7 @@
2483224576,2483290111,ES
2483290112,2483421183,US
2483421184,2483486719,HU
-2483486720,2483679231,US
-2483679232,2483680255,IN
-2483680256,2486566911,US
+2483486720,2486566911,US
2486566912,2486632447,CH
2486632448,2486697983,US
2486697984,2486763519,ES
@@ -76269,18 +78303,16 @@
2487223040,2487223295,SG
2487223296,2487224319,IN
2487224320,2487224831,GB
-2487224832,2487225087,IT
-2487225088,2487225343,US
+2487224832,2487225343,IT
2487225344,2487225855,NL
2487225856,2487227135,US
2487227136,2487227391,FR
2487227392,2487227647,MX
2487227648,2487227903,AR
-2487227904,2487228415,MX
+2487227904,2487228415,US
2487228416,2487228927,ZA
2487228928,2487230207,GB
-2487230208,2487230463,ZA
-2487230464,2487236607,US
+2487230208,2487236607,US
2487236608,2487237631,GB
2487237632,2487238143,MF
2487238144,2487238655,US
@@ -76292,7 +78324,8 @@
2487365632,2487369727,HK
2487369728,2487386111,PF
2487386112,2487394303,SG
-2487394304,2487418879,US
+2487394304,2487417855,US
+2487417856,2487418879,CA
2487418880,2487549951,JP
2487549952,2487615487,PT
2487615488,2487681023,CN
@@ -76313,15 +78346,16 @@
2489712640,2489745407,PE
2489745408,2489778175,HT
2489778176,2489843711,DO
-2489843712,2489995263,US
-2489995264,2489997311,SG
-2489997312,2490013695,US
+2489843712,2489995519,US
+2489995520,2489995775,SG
+2489995776,2490013695,US
2490013696,2490014011,GB
2490014012,2490014012,US
2490014013,2490015743,GB
2490015744,2490236927,US
2490236928,2490302463,LU
-2490302464,2490695679,US
+2490302464,2490367999,SA
+2490368000,2490695679,US
2490695680,2490761215,CA
2490761216,2491154431,NO
2491154432,2491875327,US
@@ -76347,17 +78381,19 @@
2493756416,2493757439,CA
2493757440,2494103551,US
2494103552,2494169087,FR
-2494169088,2494562303,US
+2494169088,2494386175,US
+2494386176,2494388223,MX
+2494388224,2494562303,US
2494562304,2494627839,GB
-2494627840,2494670847,US
+2494627840,2494650367,US
+2494650368,2494652415,BR
+2494652416,2494670847,US
2494670848,2494670963,GB
2494670964,2494670967,US
2494670968,2494671103,GB
2494671104,2494676991,US
-2494676992,2494683391,AU
-2494683392,2494683647,US
-2494683648,2494685183,AU
-2494685184,2494689791,US
+2494676992,2494679039,AU
+2494679040,2494689791,US
2494689792,2494690047,IN
2494690048,2494889983,US
2494889984,2494955519,GB
@@ -76365,7 +78401,10 @@
2495021056,2495152127,US
2495217664,2495283199,US
2495283200,2495348735,CH
-2495348736,2495807487,US
+2495348736,2495349051,DE
+2495349052,2495349052,US
+2495349053,2495350783,DE
+2495350784,2495807487,US
2495807488,2495873023,AU
2495873024,2495938559,CH
2495938560,2496004095,GB
@@ -76419,9 +78458,10 @@
2500133024,2500135679,US
2500135680,2500135935,NL
2500135936,2500136959,US
-2500136960,2500139583,BE
+2500136960,2500139007,BE
+2500139008,2500139583,US
2500139584,2500139647,NL
-2500139648,2500141055,BE
+2500139648,2500141055,US
2500141056,2500141311,IE
2500141312,2500141823,US
2500141824,2500144127,IE
@@ -76430,7 +78470,7 @@
2500145152,2500149343,US
2500149344,2500149375,GB
2500149376,2500149503,US
-2500149504,2500149759,NL
+2500149504,2500149759,IE
2500149760,2500150559,US
2500150560,2500150591,GB
2500150592,2500150655,US
@@ -76455,13 +78495,16 @@
2500165632,2500165887,GB
2500165888,2500166207,US
2500166208,2500166223,GB
-2500166224,2500170751,US
+2500166224,2500167679,US
+2500167680,2500168959,GB
+2500168960,2500170751,US
2500170752,2500170752,FI
-2500170753,2500173823,US
-2500173824,2500177935,HR
+2500170753,2500177935,US
2500177936,2500177943,PL
-2500177944,2500182015,HR
-2500182016,2500188223,FR
+2500177944,2500179967,US
+2500179968,2500182015,HR
+2500182016,2500188159,US
+2500188160,2500188223,FR
2500188224,2500188287,CH
2500188288,2500188415,FR
2500188416,2500188447,CH
@@ -76469,80 +78512,74 @@
2500188680,2500188687,CH
2500188688,2500188831,FR
2500188832,2500188863,CH
-2500188864,2500194303,FR
-2500194304,2500194399,US
-2500194400,2500194431,FI
-2500194432,2500196351,US
-2500196352,2500198399,FI
+2500188864,2500189183,FR
+2500189184,2500190207,CH
+2500190208,2500192255,FR
+2500192256,2500194303,US
+2500194304,2500198399,FI
2500198400,2500199471,GB
2500199472,2500199475,IE
-2500199476,2500200959,GB
-2500200960,2500201535,US
+2500199476,2500201471,GB
+2500201472,2500201535,US
2500201536,2500201543,GB
2500201544,2500202879,US
2500202880,2500203007,ES
2500203008,2500203519,US
2500203520,2500204543,IT
2500204544,2500206591,CZ
-2500206592,2500208639,FR
-2500208640,2500209663,DE
-2500209664,2500210687,FR
+2500206592,2500208639,US
+2500208640,2500210687,FR
2500210688,2500211671,US
2500211672,2500211679,RO
2500211680,2500211711,US
2500211712,2500211728,CH
2500211729,2500211730,SI
2500211731,2500212735,CH
-2500212736,2500212991,FR
+2500212736,2500212991,FI
2500212992,2500213247,ES
-2500213248,2500213279,FR
-2500213280,2500213287,FI
-2500213288,2500213819,FR
+2500213248,2500213819,FI
2500213820,2500213823,NL
-2500213824,2500223999,FR
+2500213824,2500214783,FI
+2500214784,2500216831,US
+2500216832,2500218879,FR
+2500218880,2500221455,US
+2500221456,2500221459,FR
+2500221460,2500222975,US
+2500222976,2500223999,GB
2500224000,2500225023,BE
-2500225024,2500225551,FR
+2500225024,2500225551,US
2500225552,2500225559,ES
-2500225560,2500226615,FR
+2500225560,2500226615,US
2500226616,2500226623,NL
-2500226624,2500228351,FR
+2500226624,2500227071,US
+2500227072,2500228351,FR
2500228352,2500228359,NO
-2500228360,2500230041,FR
+2500228360,2500229119,FR
+2500229120,2500230041,US
2500230042,2500230042,GB
-2500230043,2500231167,FR
-2500231168,2500232191,ES
-2500232192,2500233215,BE
-2500233216,2500233751,DK
-2500233752,2500233759,DE
-2500233760,2500233787,DK
-2500233788,2500233791,DE
-2500233792,2500233811,DK
-2500233812,2500233815,DE
-2500233816,2500233831,DK
-2500233832,2500233835,DE
-2500233836,2500233863,DK
-2500233864,2500233867,DE
-2500233868,2500233935,DK
-2500233936,2500233943,DE
-2500233944,2500234055,DK
-2500234056,2500234063,DE
-2500234064,2500235263,DK
-2500235264,2500235775,US
+2500230043,2500232881,US
+2500232882,2500232882,BE
+2500232883,2500233215,US
+2500233216,2500233727,DK
+2500233728,2500234239,DE
+2500234240,2500235263,DK
+2500235264,2500235775,GB
2500235776,2500236031,ES
-2500236032,2500236287,US
-2500236288,2500236799,GB
+2500236032,2500236799,GB
2500236800,2500237311,ES
2500237312,2500238047,IT
2500238048,2500238055,FR
-2500238056,2500239359,IT
-2500239360,2500243455,FR
-2500243456,2500245759,GB
-2500245760,2500246015,US
-2500246016,2500247551,GB
-2500247552,2500255743,ES
-2500255744,2500263935,US
-2500263936,2500272127,ES
-2500272128,2500272625,US
+2500238056,2500238335,IT
+2500238336,2500239359,US
+2500239360,2500241407,FR
+2500241408,2500243455,SE
+2500243456,2500246015,US
+2500246016,2500246527,GB
+2500246528,2500247551,US
+2500247552,2500251647,ES
+2500251648,2500268031,US
+2500268032,2500270079,ES
+2500270080,2500272625,US
2500272626,2500272626,GB
2500272627,2500273663,US
2500273664,2500273919,GB
@@ -76555,8 +78592,8 @@
2500291072,2500291327,US
2500291328,2500291583,FR
2500291584,2500292607,US
-2500292608,2500296703,DE
-2500296704,2500313855,US
+2500292608,2500294655,DE
+2500294656,2500313855,US
2500313856,2500314111,AT
2500314112,2500318719,US
2500318720,2500319231,IT
@@ -76567,71 +78604,76 @@
2500392960,2500393215,IN
2500393216,2500393983,US
2500393984,2500394239,GB
-2500394240,2500531199,US
+2500394240,2500530175,US
+2500530176,2500531199,ES
2500531200,2500532223,AT
2500532224,2500532749,US
2500532750,2500532750,GR
2500532751,2500535295,US
-2500535296,2500535423,IE
-2500535424,2500535551,US
-2500535552,2500535807,IE
+2500535296,2500535807,IE
2500535808,2500536063,NL
2500536064,2500536359,US
2500536360,2500536367,FR
-2500536368,2500536967,US
-2500536968,2500536975,GB
-2500536976,2500537343,US
-2500537344,2500538367,GB
-2500538368,2500542463,FR
-2500542464,2500542751,US
+2500536368,2500536831,US
+2500536832,2500538367,GB
+2500538368,2500540415,FR
+2500540416,2500542751,US
2500542752,2500542755,NL
2500542756,2500544383,US
2500544384,2500544391,GB
-2500544392,2500544767,US
-2500544768,2500545023,GR
+2500544392,2500544511,US
+2500544512,2500545023,GR
2500545024,2500545703,US
2500545704,2500545711,SE
2500545712,2500545815,US
2500545816,2500545823,SE
-2500545824,2500546559,US
-2500546560,2500549271,GB
+2500545824,2500549271,US
2500549272,2500549279,ES
-2500549280,2500552703,GB
+2500549280,2500550655,US
+2500550656,2500552703,GB
2500552704,2500553727,US
2500553728,2500554239,GB
-2500554240,2500554379,US
-2500554380,2500554487,DE
-2500554488,2500554551,US
-2500554552,2500554559,DE
-2500554560,2500554751,US
+2500554240,2500554751,DE
2500554752,2500556295,FR
2500556296,2500556303,CZ
-2500556304,2500556943,FR
+2500556304,2500556799,FR
+2500556800,2500556943,US
2500556944,2500556951,GR
-2500556952,2500560895,FR
+2500556952,2500558847,US
+2500558848,2500560895,FR
2500560896,2500562943,GB
-2500562944,2500567039,ES
+2500562944,2500564991,ES
+2500564992,2500567039,US
2500567040,2500569087,GB
2500569088,2500570111,BE
-2500570112,2500575231,GB
-2500575232,2500591615,US
-2500591616,2500596223,GB
+2500570112,2500571135,GB
+2500571136,2500591615,US
+2500591616,2500593663,GB
+2500593664,2500596223,US
2500596224,2500596735,CH
-2500596736,2500599807,GB
-2500599808,2500599935,US
+2500596736,2500599935,US
2500599936,2500599951,DK
-2500599952,2500609023,US
+2500599952,2500608383,US
+2500608384,2500608511,ES
+2500608512,2500609023,US
2500609024,2500610047,ES
2500610048,2500616191,US
-2500616192,2500625407,IT
-2500625408,2500632575,US
-2500632576,2500640767,GB
+2500616192,2500618239,IT
+2500618240,2500624383,US
+2500624384,2500625407,IT
+2500625408,2500637727,US
+2500637728,2500637759,GB
+2500637760,2500638719,US
+2500638720,2500640767,GB
2500640768,2500642815,FR
2500642816,2500643327,ES
-2500643328,2500646911,FR
+2500643328,2500644863,US
+2500644864,2500646911,FR
2500646912,2500648959,ES
-2500648960,2500657151,NL
-2500657152,2500665343,ES
+2500648960,2500653055,US
+2500653056,2500655103,NL
+2500655104,2500661247,US
+2500661248,2500665343,ES
2500665344,2500666463,US
2500666464,2500666471,LU
2500666472,2500674623,US
@@ -76642,21 +78684,24 @@
2500681760,2500681767,PL
2500681768,2500682495,US
2500682496,2500682751,PL
-2500682752,2500687103,US
-2500687104,2500687359,FR
+2500682752,2500686847,US
+2500686848,2500687359,FR
2500687360,2500687871,US
2500687872,2500689919,FR
2500689920,2500694015,US
-2500694016,2500697087,IT
-2500697088,2500702207,US
+2500694016,2500698111,IT
+2500698112,2500702207,US
2500702208,2500702842,GB
2500702843,2500702843,BE
-2500702844,2500702975,GB
+2500702844,2500702847,GB
+2500702848,2500702975,NL
2500702976,2500719103,US
-2500719104,2500721151,IE
+2500719104,2500720383,IE
+2500720384,2500720639,US
+2500720640,2500721151,IE
2500721152,2500722687,US
-2500722688,2500726783,ES
-2500726784,2500728063,US
+2500722688,2500724735,ES
+2500724736,2500728063,US
2500728064,2500728319,GB
2500728320,2500732063,US
2500732064,2500732071,GB
@@ -76666,25 +78711,25 @@
2500740418,2500740418,DE
2500740419,2500743167,US
2500743168,2500743679,GB
-2500743680,2500744191,NL
-2500744192,2500744239,GB
+2500743680,2500744239,NL
2500744240,2500744247,ES
-2500744248,2500745215,GB
+2500744248,2500745215,NL
2500745216,2500746239,DE
2500746240,2500747263,GB
2500747264,2500748543,US
2500748544,2500748799,ES
2500748800,2500749311,DE
-2500749312,2500751359,US
-2500751360,2500756647,FR
+2500749312,2500753407,US
+2500753408,2500755455,FR
+2500755456,2500756647,US
2500756648,2500756655,IT
-2500756656,2500756879,FR
+2500756656,2500756879,US
2500756880,2500756887,IT
-2500756888,2500759159,FR
+2500756888,2500759159,US
2500759160,2500759167,NL
-2500759168,2500759463,FR
+2500759168,2500759463,US
2500759464,2500759467,NL
-2500759468,2500759551,FR
+2500759468,2500759551,US
2500759552,2500761599,GB
2500761600,2500763199,FR
2500763200,2500763207,DE
@@ -76697,11 +78742,13 @@
2500773296,2500773303,GB
2500773304,2500777111,US
2500777112,2500777119,CH
-2500777120,2500777983,US
+2500777120,2500777191,US
+2500777192,2500777199,CH
+2500777200,2500777983,US
2500777984,2500777991,FR
2500777992,2500780031,US
-2500780032,2500784127,GB
-2500784128,2501000721,US
+2500780032,2500782079,GB
+2500782080,2501000721,US
2501000722,2501000722,GB
2501000723,2501001215,US
2501001216,2501033983,GB
@@ -76724,14 +78771,16 @@
2502041600,2502049791,ES
2502049792,2502098943,US
2502098944,2502164479,IT
-2502164480,2502165759,GB
-2502165760,2502173951,US
+2502164480,2502166527,GB
+2502166528,2502173951,US
2502173952,2502174207,DE
2502174208,2502180863,US
2502180864,2502181119,FI
2502181120,2502221823,US
-2502221824,2502230015,ES
-2502230016,2503016447,US
+2502221824,2502225919,ES
+2502225920,2502226943,US
+2502226944,2502227967,ES
+2502227968,2503016447,US
2503016448,2503147519,IL
2503147520,2503344127,US
2503344128,2503344383,AF
@@ -76767,7 +78816,8 @@
2503737344,2503868415,US
2503868416,2503876607,RU
2503876608,2503877631,MD
-2503877632,2503879679,DE
+2503877632,2503878655,US
+2503878656,2503879679,DE
2503879680,2503880703,FI
2503880704,2503882751,RU
2503882752,2503884799,DE
@@ -76784,21 +78834,15 @@
2504180992,2504468479,US
2504468480,2504470527,ES
2504470528,2504472575,IT
-2504472576,2504472831,US
-2504472832,2504473599,ES
+2504472576,2504473599,ES
2504473600,2504474623,US
2504474624,2504482815,HR
2504482816,2504486911,ES
2504486912,2504491007,HK
2504491008,2504499199,IT
-2504499200,2504499839,IE
-2504499840,2504499967,US
-2504499968,2504500223,IE
+2504499200,2504500223,IE
2504500224,2504501247,US
-2504501248,2504501385,GB
-2504501386,2504501386,ES
-2504501387,2504501503,GB
-2504501504,2504503295,ES
+2504501248,2504503295,ES
2504503296,2504517631,US
2504517632,2504518655,FR
2504518656,2504918642,US
@@ -76841,17 +78885,15 @@
2505789440,2505790463,FR
2505790464,2505791487,US
2505791488,2505792511,FR
-2505792512,2505793535,US
-2505793536,2505803775,ES
+2505792512,2505803775,ES
2505803776,2506293247,US
2506293248,2506358783,CA
2506358784,2506361343,ES
2506361344,2506361855,US
-2506361856,2506364415,ES
-2506364416,2506364671,US
-2506364672,2506365183,ES
-2506365184,2506365439,GB
-2506365440,2506366975,ES
+2506361856,2506362367,GB
+2506362368,2506362879,ES
+2506362880,2506363135,BE
+2506363136,2506366975,ES
2506366976,2506400767,US
2506400768,2506401023,IT
2506401024,2506401279,US
@@ -76873,7 +78915,11 @@
2507173888,2507174143,US
2507175936,2507177983,CA
2507183360,2507183615,US
-2507210752,2507510271,US
+2507210752,2507368447,US
+2507368448,2507369471,GB
+2507369472,2507475199,US
+2507475200,2507475455,CA
+2507475456,2507510271,US
2507510272,2507510527,FR
2507510528,2508062719,US
2508062720,2508064767,CH
@@ -76913,9 +78959,7 @@
2508324864,2508455935,US
2508455936,2508521471,IT
2508521472,2508587007,CH
-2508587008,2508631295,BE
-2508631296,2508631551,US
-2508631552,2508652543,BE
+2508587008,2508652543,BE
2508652544,2508718079,AU
2508718080,2508914687,US
2508914688,2508980223,IT
@@ -77163,22 +79207,26 @@
2513698816,2513764351,DK
2513764352,2514419711,DE
2514419712,2514485247,GB
-2514485248,2514681343,DE
-2514681344,2514681599,TR
+2514485248,2514679807,DE
+2514679808,2514681599,TR
2514681600,2515140607,DE
2515140608,2515142655,US
2515142656,2515173375,DE
-2515173376,2515189247,SG
+2515173376,2515188991,SG
+2515188992,2515189247,AU
2515189248,2515189503,JP
2515189504,2515189759,IN
2515189760,2515206143,US
-2515206144,2515271679,GB
+2515206144,2515269631,GB
+2515269632,2515271679,FR
2515271680,2515599359,DE
2515599360,2515664895,GB
2515664896,2516037631,DE
2516037632,2516038143,DK
2516038144,2516058111,DE
-2516058112,2516076543,US
+2516058112,2516070399,US
+2516070400,2516074495,CA
+2516074496,2516076543,US
2516076544,2516123647,CA
2516123648,2516254719,DE
2516254720,2516320255,FR
@@ -77197,7 +79245,7 @@
2516526080,2516526143,NL
2516526144,2516526335,US
2516526336,2516527103,NL
-2516527168,2516529151,GB
+2516527104,2516529151,GB
2516529152,2516529279,CH
2516529280,2516529343,FR
2516529344,2516529375,BE
@@ -77269,9 +79317,15 @@
2523657216,2523659263,ID
2523659264,2523660287,IN
2523660288,2523725823,US
-2523725824,2523746303,SG
+2523725824,2523734015,SG
+2523734016,2523746303,HK
2523746304,2523748351,KR
-2523748352,2523791359,SG
+2523748352,2523750399,SG
+2523750400,2523758591,HK
+2523758592,2523766783,SG
+2523766784,2523774975,TH
+2523774976,2523779071,JP
+2523779072,2523791359,KR
2523791360,2524119039,US
2524119040,2524184575,CN
2524184576,2524315647,TW
@@ -77443,7 +79497,9 @@
2533392384,2538602495,IT
2538602496,2538602687,FR
2538602688,2538602751,DE
-2538602752,2538603519,FR
+2538602752,2538603007,FR
+2538603008,2538603039,PL
+2538603040,2538603519,FR
2538603520,2538603583,DE
2538603584,2538603711,FR
2538603712,2538603775,DE
@@ -77497,7 +79553,9 @@
2538619360,2538619375,ES
2538619376,2538619431,FR
2538619432,2538619435,DE
-2538619436,2538619775,FR
+2538619436,2538619759,FR
+2538619760,2538619763,ES
+2538619764,2538619775,FR
2538619776,2538619807,LT
2538619808,2538619903,FR
2538619904,2538619911,ES
@@ -77549,7 +79607,9 @@
2538626704,2538629727,FR
2538629728,2538629759,ES
2538629760,2538629823,DE
-2538629824,2538631583,FR
+2538629824,2538631167,FR
+2538631168,2538631423,NL
+2538631424,2538631583,FR
2538631584,2538631615,FI
2538631616,2538633551,FR
2538633552,2538633567,IE
@@ -77592,13 +79652,17 @@
2538646784,2538647039,CZ
2538647040,2538647823,FR
2538647824,2538647831,FI
-2538647832,2538648015,FR
+2538647832,2538647871,FR
+2538647872,2538647887,PL
+2538647888,2538648015,FR
2538648016,2538648031,ES
2538648032,2538648239,FR
2538648240,2538648255,DE
2538648256,2538648339,FR
2538648340,2538648343,GB
-2538648344,2538648591,FR
+2538648344,2538648527,FR
+2538648528,2538648531,PL
+2538648532,2538648591,FR
2538648592,2538648623,BE
2538648624,2538649767,FR
2538649768,2538649775,DE
@@ -77621,7 +79685,9 @@
2538651280,2538651283,DE
2538651284,2538651967,FR
2538651968,2538651999,PT
-2538652000,2538652727,FR
+2538652000,2538652695,FR
+2538652696,2538652699,GB
+2538652700,2538652727,FR
2538652728,2538652731,DE
2538652732,2538652883,FR
2538652884,2538652887,DE
@@ -77753,8 +79819,8 @@
2543583232,2543648767,SE
2543648768,2543714303,NO
2543779840,2544228863,US
-2544228864,2544229375,DE
-2544229376,2544500735,US
+2544228864,2544229119,DE
+2544229120,2544500735,US
2544500736,2544566271,GB
2544566272,2544631807,US
2544697344,2544762879,SA
@@ -77782,6 +79848,7 @@
2547525632,2547527679,DE
2547527680,2547535871,GB
2547548160,2547580927,NO
+2547580928,2547646463,DE
2548039680,2548072320,GB
2548072321,2548072321,US
2548072322,2548563967,GB
@@ -77807,7 +79874,9 @@
2548848640,2548848895,UA
2548848896,2548858879,RU
2548858880,2548867071,NL
-2548867072,2548875263,IQ
+2548867072,2548870143,IQ
+2548870144,2548871167,SA
+2548871168,2548875263,IQ
2548875264,2548877311,KZ
2548877312,2548879359,SE
2548879360,2548883455,GB
@@ -77881,7 +79950,9 @@
2549899264,2549901311,PS
2549901312,2549903359,RU
2549903360,2549905407,ES
-2549905408,2549907455,GB
+2549905408,2549906431,GB
+2549906432,2549906687,DE
+2549906688,2549907455,GB
2549907456,2549923839,SE
2549923840,2549927935,BG
2549927936,2549929983,HR
@@ -77911,7 +79982,9 @@
2554462208,2554527743,HU
2554527744,2554789887,US
2554789888,2554855423,GB
-2554855424,2554920959,US
+2554855424,2554888703,US
+2554888704,2554888959,GB
+2554888960,2554920959,US
2554920960,2554986495,DK
2554986496,2555052031,CL
2555052032,2555117567,US
@@ -77978,11 +80051,9 @@
2557739008,2557870079,US
2557870080,2557935615,ID
2557935616,2558658499,US
-2558658500,2558658500,PR
-2558658501,2558660101,US
-2558660102,2558660102,PR
-2558660103,2558918655,US
-2558918656,2558984191,GB
+2558658500,2558658501,PR
+2558658502,2558918655,US
+2558918656,2558984191,DE
2558984192,2559049727,US
2559049728,2559115263,CN
2559115264,2559246335,US
@@ -78008,7 +80079,11 @@
2562867200,2562868223,DE
2562868224,2562956287,US
2562956288,2562956799,ZA
-2562956800,2563244031,US
+2562956800,2562967039,US
+2562967040,2562968063,SG
+2562968064,2562978303,US
+2562978304,2562978815,AT
+2562978816,2563244031,US
2563244032,2563637247,CO
2563637248,2563768319,CU
2563768320,2564947967,US
@@ -78038,19 +80113,25 @@
2568093696,2568159231,US
2568159232,2568224767,PL
2568224768,2568290303,SG
-2568290304,2569142271,US
+2568290304,2568505659,US
+2568505660,2568505660,SA
+2568505661,2569142271,US
2569142272,2569404415,CN
2569404416,2569797631,US
2569797632,2569863167,NO
-2569863168,2569879551,US
-2569879552,2569887743,CH
+2569863168,2569885183,US
+2569885184,2569885439,CH
+2569885440,2569885695,US
+2569885696,2569887743,CH
2569887744,2569928703,US
2569928704,2569936383,CH
2569936384,2569936895,US
2569936896,2569970175,CH
2569970176,2569970687,US
2569970688,2569994239,CH
-2569994240,2570125311,US
+2569994240,2569994495,US
+2569994496,2569996287,NL
+2569996288,2570125311,US
2570125312,2570190847,BE
2570190848,2572681215,US
2572681216,2572746751,SE
@@ -78122,7 +80203,7 @@
2572997632,2573000703,US
2573000704,2573008895,FR
2573008896,2573336575,DE
-2573352960,2573361151,BE
+2573352960,2573355007,BE
2573369344,2573402111,DE
2573402112,2573467647,CN
2573467648,2573533183,DE
@@ -78141,11 +80222,11 @@
2574647296,2574778367,CN
2574778368,2583582207,JP
2583582208,2583582463,HK
-2583582464,2583583743,JP
-2583583744,2583584767,AU
-2583584768,2583589103,JP
+2583582464,2583589103,JP
2583589104,2583589111,SG
-2583589112,2583691263,JP
+2583589112,2583609855,JP
+2583609856,2583610111,IT
+2583610112,2583691263,JP
2583691264,2583695359,ZA
2583695360,2583697407,BW
2583697408,2583699455,CI
@@ -78326,8 +80407,7 @@
2584763456,2584763903,ZA
2584763904,2584763967,HK
2584763968,2584763999,DE
-2584764000,2584764415,ZA
-2584764416,2584764671,MA
+2584764000,2584764671,ZA
2584764672,2584767231,US
2584767232,2584767487,TR
2584767488,2584769791,US
@@ -78375,29 +80455,35 @@
2585788416,2585853951,GB
2585853952,2585985023,JP
2585985024,2586378239,US
-2586378240,2586386431,UA
-2586386432,2586395135,US
+2586378240,2586380287,UA
+2586380288,2586395135,US
2586395136,2586395647,FR
-2586395648,2586480639,US
+2586395648,2586443775,US
+2586443776,2586445823,NL
+2586445824,2586480639,US
2586480640,2586484735,IL
-2586484736,2586492927,GB
-2586492928,2586509823,US
+2586484736,2586486783,GB
+2586486784,2586509823,US
2586509824,2586510079,ES
2586510080,2586510335,US
2586510336,2586511359,ES
2586511360,2586517503,US
-2586517504,2586525695,FR
-2586525696,2586542847,US
+2586517504,2586519551,FR
+2586519552,2586525951,US
+2586525952,2586526207,GR
+2586526208,2586542847,US
2586542848,2586542911,SE
2586542912,2586544127,US
2586544128,2586546175,SE
2586546176,2586566655,US
2586566656,2586566687,FR
-2586566688,2586607615,US
-2586607616,2586610175,ES
-2586610176,2586610431,GB
-2586610432,2586615807,ES
-2586615808,2586622463,US
+2586566688,2586609663,US
+2586609664,2586610175,ES
+2586610176,2586610687,GB
+2586610688,2586611711,ES
+2586611712,2586621951,US
+2586621952,2586622207,ES
+2586622208,2586622463,US
2586622464,2586622975,ES
2586622976,2586623743,US
2586623744,2586623999,ES
@@ -78405,7 +80491,9 @@
2586640384,2586640399,MC
2586640400,2586640895,US
2586640896,2586641407,FR
-2586641408,2586650687,US
+2586641408,2586648575,US
+2586648576,2586649087,GB
+2586649088,2586650687,US
2586650688,2586650703,DE
2586650704,2586651647,US
2586651648,2586651903,NL
@@ -78413,11 +80501,11 @@
2586653440,2586653695,NL
2586653696,2586694655,US
2586694656,2586695167,FR
-2586695168,2586714111,US
-2586714112,2586714879,ES
+2586695168,2586714879,US
2586714880,2586715135,NL
-2586715136,2586722303,ES
-2586722304,2586726655,US
+2586715136,2586716159,US
+2586716160,2586718207,ES
+2586718208,2586726655,US
2586726656,2586726911,GB
2586726912,2586733567,US
2586733568,2586733823,LT
@@ -78426,13 +80514,15 @@
2586735616,2586758143,US
2586758144,2586758655,DE
2586758656,2586787839,US
-2586787840,2586796031,GB
-2586796032,2586804223,US
+2586787840,2586791935,GB
+2586791936,2586804223,US
2586804224,2586808319,ES
2586808320,2586814463,US
2586814464,2586816511,RO
2586816512,2586828799,US
-2586828800,2586829567,CH
+2586828800,2586829055,CH
+2586829056,2586829311,US
+2586829312,2586829567,CH
2586829568,2586853887,US
2586853888,2586854143,ES
2586854144,2586854399,US
@@ -78452,8 +80542,8 @@
2586888448,2586890239,US
2586890240,2586890751,DE
2586890752,2586891263,US
-2586891264,2586891519,GB
-2586891520,2586927103,US
+2586891264,2586892287,GB
+2586892288,2586927103,US
2586927104,2586931199,GB
2586931200,2586952191,US
2586952192,2586952447,FR
@@ -78466,31 +80556,31 @@
2586956288,2586957311,FR
2586957312,2586968127,US
2586968128,2586968319,FR
-2586968320,2587017471,US
-2587017472,2587017727,IE
+2586968320,2587017215,US
+2587017216,2587017727,IE
2587017728,2587018239,US
2587018240,2587019775,IE
2587019776,2587020031,US
2587020032,2587020799,IE
2587020800,2587021823,US
-2587021824,2587022847,IE
-2587022848,2587033599,US
-2587033600,2587041791,NL
-2587041792,2587049983,US
-2587049984,2587058175,GB
-2587058176,2587066367,US
+2587021824,2587023359,IE
+2587023360,2587033599,US
+2587033600,2587035647,NL
+2587035648,2587049983,US
+2587049984,2587052031,GB
+2587052032,2587066367,US
2587066368,2587069439,GB
2587069440,2587070463,US
-2587070464,2587082751,GB
-2587082752,2587107327,US
-2587107328,2587115519,BE
-2587115520,2587128522,US
+2587070464,2587076607,GB
+2587076608,2587080703,US
+2587080704,2587082751,GB
+2587082752,2587128522,US
2587128523,2587128523,TR
2587128524,2587131903,US
2587131904,2587132415,FR
2587132416,2587164671,US
-2587164672,2587172863,CH
-2587172864,2587197439,US
+2587164672,2587166719,CH
+2587166720,2587197439,US
2587197440,2587197695,ES
2587197696,2587217919,US
2587217920,2587218943,CG
@@ -78502,19 +80592,19 @@
2587285504,2587285759,ES
2587285760,2587286015,US
2587286016,2587286271,ES
-2587286272,2587286527,US
-2587286528,2587287551,ES
+2587286272,2587287039,US
+2587287040,2587287551,ES
2587287552,2587361791,US
2587361792,2587362047,MD
2587362048,2587377663,US
2587377664,2587379711,IT
2587379712,2587383807,US
-2587383808,2587384063,FR
-2587384064,2587394047,US
+2587383808,2587385855,FR
+2587385856,2587394047,US
2587394048,2587402239,ES
2587402240,2587410431,US
-2587410432,2587418623,IT
-2587418624,2587427839,US
+2587410432,2587414527,IT
+2587414528,2587427839,US
2587427840,2587430911,GR
2587430912,2587443199,US
2587443200,2587447295,CH
@@ -78527,7 +80617,10 @@
2587479121,2587481969,US
2587481970,2587481970,LB
2587481971,2587484159,US
-2587484160,2587492351,GB
+2587484160,2587486207,GB
+2587486208,2587489952,US
+2587489953,2587489953,GB
+2587489954,2587492351,US
2587492352,2587497471,ES
2587497472,2587498495,US
2587498496,2587499007,ES
@@ -78542,9 +80635,7 @@
2587582464,2587587071,NL
2587587072,2587589631,US
2587589632,2587589887,NL
-2587589888,2587592191,US
-2587592192,2587592447,GB
-2587592448,2587592703,US
+2587589888,2587592703,US
2587592704,2587594751,GB
2587594752,2587596799,US
2587596800,2587598847,GB
@@ -78555,9 +80646,12 @@
2587631616,2587631871,US
2587631872,2587632127,ES
2587632128,2587639807,US
-2587639808,2587647999,GB
-2587648000,2587656191,ES
-2587656192,2587672831,US
+2587639808,2587641855,GB
+2587641856,2587647999,US
+2587648000,2587650047,ES
+2587650048,2587650815,US
+2587650816,2587651071,ES
+2587651072,2587672831,US
2587672832,2587673087,IT
2587673088,2587674623,US
2587674624,2587676671,IT
@@ -78595,12 +80689,14 @@
2587738624,2587740159,US
2587740160,2587742207,RS
2587742208,2587746303,US
-2587746304,2587754495,ES
-2587754496,2587762687,US
-2587762688,2587770879,ES
-2587770880,2587787263,US
-2587787264,2587787519,GB
-2587787520,2587926527,US
+2587746304,2587748351,ES
+2587748352,2587762687,US
+2587762688,2587764735,ES
+2587764736,2587787263,US
+2587787264,2587787775,GB
+2587787776,2587803647,US
+2587803648,2587803903,IT
+2587803904,2587926527,US
2587926528,2587930623,BG
2587930624,2587938815,US
2587938816,2587942911,PR
@@ -78701,8 +80797,7 @@
2588483584,2588484607,ZA
2588484608,2588485631,BW
2588485632,2588486655,BI
-2588486656,2588487423,SO
-2588487424,2588487679,KE
+2588486656,2588487679,SO
2588487680,2588487711,SC
2588487712,2588487743,FR
2588487744,2588487807,BF
@@ -78747,7 +80842,9 @@
2588540928,2588671999,TZ
2588672000,2588934143,KE
2588934144,2588999679,ZA
-2588999680,2589234175,US
+2588999680,2589131007,US
+2589131008,2589131263,NL
+2589131264,2589234175,US
2589234176,2589234431,AT
2589234432,2589234687,BD
2589234688,2589234943,BR
@@ -78786,11 +80883,25 @@
2589263872,2589264895,JP
2589264896,2589265919,US
2589265920,2589270015,HK
-2589270016,2589523967,US
+2589270016,2589278207,US
+2589278208,2589286399,PK
+2589286400,2589286655,PH
+2589286656,2589523967,US
2589523968,2589589503,HK
2589589504,2589655039,US
-2589655040,2589720575,HK
-2589720576,2589982719,US
+2589655040,2589786111,HK
+2589786112,2589852671,US
+2589852672,2589853695,DE
+2589853696,2589854207,JP
+2589854208,2589880449,US
+2589880450,2589880450,HK
+2589880451,2589880509,US
+2589880510,2589880510,HK
+2589880511,2589880833,US
+2589880834,2589880834,HK
+2589880835,2589880893,US
+2589880894,2589880894,HK
+2589880895,2589982719,US
2589982720,2590507007,SD
2590507008,2591031295,TN
2591031296,2591096831,GA
@@ -78810,11 +80921,7 @@
2591408128,2591424511,BI
2591424512,2591457279,NG
2591457280,2591473663,ML
-2591473664,2591478271,AO
-2591478272,2591478783,PT
-2591478784,2591479807,AO
-2591479808,2591480063,PT
-2591480064,2591481855,AO
+2591473664,2591481855,AO
2591481856,2591483903,TZ
2591483904,2591485951,KE
2591485952,2591486975,SO
@@ -78831,7 +80938,8 @@
2591555584,2591571967,GH
2591571968,2591588351,NG
2591588352,2591604735,MG
-2591604736,2591606783,ZA
+2591604736,2591605759,ZA
+2591605760,2591606783,KE
2591606784,2591610879,MU
2591610880,2591612927,ZM
2591612928,2591621119,ZW
@@ -78868,15 +80976,27 @@
2594177024,2595225599,GH
2595225600,2596274175,EG
2596274176,2597322751,ZA
-2597322752,2597453823,US
-2597453824,2597584895,HK
-2597584896,2598240255,US
+2597322752,2597388287,US
+2597388288,2597454079,HK
+2597454080,2597454335,JP
+2597454336,2597584895,HK
+2597584896,2597650431,US
+2597650432,2597715967,HK
+2597715968,2597847039,US
+2597847040,2597912575,HK
+2597912576,2598109183,US
+2598109184,2598174719,HK
+2598174720,2598240255,US
2598240256,2598313983,HK
2598313984,2598314495,JP
-2598314496,2598314751,KR
-2598314752,2598320127,HK
-2598320128,2598320383,JP
-2598320384,2598361599,HK
+2598314496,2598315007,KR
+2598315008,2598315519,PH
+2598315520,2598316031,HK
+2598316032,2598316543,SG
+2598316544,2598318079,JP
+2598318080,2598320127,PH
+2598320128,2598321151,JP
+2598321152,2598361599,HK
2598361600,2598362111,CI
2598362112,2598371327,HK
2598371328,2598895615,UG
@@ -78914,15 +81034,19 @@
2602770944,2602771455,IN
2602771456,2602774015,US
2602774016,2602774527,IN
-2602774528,2602819583,US
-2602819584,2602827775,AU
-2602827776,2603417599,US
+2602774528,2602821631,US
+2602821632,2602821887,IN
+2602821888,2603417599,US
2603417600,2603483135,DE
2603483136,2604007423,US
2604007424,2604072959,ES
2604072960,2604138495,NO
2604138496,2604204031,DE
-2604204032,2604335103,US
+2604204032,2604242943,US
+2604242944,2604243711,SG
+2604243712,2604243967,US
+2604243968,2604244991,SG
+2604244992,2604335103,US
2604335104,2604400639,NZ
2604400640,2604466175,AU
2604466176,2604648447,US
@@ -78973,12 +81097,14 @@
2609381376,2609446911,GB
2609446912,2609512447,DK
2609512448,2609643519,US
-2609643520,2609676287,FR
+2609643520,2609661951,FR
+2609661952,2609663999,BE
+2609664000,2609676287,FR
2609676288,2609677815,GB
2609677816,2609677817,FR
-2609677818,2609684479,GB
-2609684480,2609708799,FR
-2609708800,2609708839,SG
+2609677818,2609678335,GB
+2609678336,2609707007,FR
+2609707008,2609708839,SG
2609708840,2609708843,FR
2609708844,2609709055,SG
2609709056,2609840127,US
@@ -78999,9 +81125,7 @@
2613313536,2613379071,SD
2613379072,2613444607,US
2613444608,2613510143,GB
-2613510144,2613650161,US
-2613650162,2613650162,MX
-2613650163,2613706751,US
+2613510144,2613706751,US
2613706752,2613772287,GB
2613772288,2613837823,US
2613837824,2613903359,NL
@@ -79044,7 +81168,7 @@
2617139968,2617140223,PA
2617140224,2617140479,CO
2617140480,2617140735,SC
-2617140736,2617140991,CA
+2617140736,2617140991,US
2617140992,2617141247,LC
2617141248,2617141503,SV
2617141504,2617141759,US
@@ -79168,10 +81292,11 @@
2617769984,2617835519,ZA
2617835520,2617901055,US
2617901056,2617966591,FI
-2617966592,2618023935,CA
-2618023936,2618028543,IE
+2617966592,2618028031,CA
+2618028032,2618028543,IE
2618028544,2618029055,GB
-2618029056,2618032127,IE
+2618029056,2618030079,IE
+2618030080,2618032127,CA
2618032128,2618097663,US
2618097664,2618115583,NZ
2618115584,2618116095,SG
@@ -79187,7 +81312,9 @@
2618949632,2619080703,US
2619080704,2619146239,FR
2619146240,2619277311,US
-2619277312,2619342847,BN
+2619277312,2619327743,BN
+2619327744,2619327999,SG
+2619328000,2619342847,BN
2619342848,2619473919,US
2619473920,2619539455,CA
2619539456,2619604991,ES
@@ -79270,33 +81397,18 @@
2621937152,2622685183,US
2622685184,2622750719,NL
2622750720,2623390719,US
-2623390720,2623397887,MX
-2623397888,2623602687,US
+2623390720,2623391743,MX
+2623391744,2623602687,US
2623602688,2623668223,CL
2623668224,2624192511,US
2624192512,2624258047,CH
2624258048,2624265727,US
2624265728,2624266239,SG
-2624266240,2624266751,AU
-2624266752,2624269313,US
-2624269314,2624269314,AU
-2624269315,2624269317,US
-2624269318,2624269318,AU
-2624269319,2624269321,US
-2624269322,2624269322,AU
-2624269323,2624269345,US
-2624269346,2624269346,AU
-2624269347,2624269349,US
-2624269350,2624269350,AU
-2624269351,2624269353,US
-2624269354,2624269354,AU
-2624269355,2624269377,US
-2624269378,2624269378,AU
-2624269379,2624269381,US
-2624269382,2624269382,AU
-2624269383,2624269385,US
-2624269386,2624269386,AU
-2624269387,2624270335,US
+2624266240,2624266561,US
+2624266562,2624266562,AU
+2624266563,2624269311,US
+2624269312,2624269823,AU
+2624269824,2624270335,US
2624270336,2624270847,AU
2624270848,2624277503,US
2624277504,2624278015,AU
@@ -79304,12 +81416,13 @@
2624279040,2624279071,IN
2624279072,2624279095,US
2624279096,2624279111,IN
-2624279112,2624286719,US
+2624279112,2624285665,US
+2624285666,2624285668,ID
+2624285669,2624286719,US
2624286720,2624287231,IN
-2624287232,2624290815,US
-2624290816,2624291839,ID
+2624287232,2624291839,US
2624291840,2624292351,CN
-2624292352,2624292863,ID
+2624292352,2624292863,US
2624292864,2624292883,SG
2624292884,2624292887,HK
2624292888,2624292891,SG
@@ -79344,10 +81457,10 @@
2624293172,2624293175,PH
2624293176,2624293179,TH
2624293180,2624293375,SG
-2624293376,2624293385,ID
+2624293376,2624293385,US
2624293386,2624293386,SG
-2624293387,2624294911,ID
-2624294912,2624297983,US
+2624293387,2624296959,US
+2624296960,2624297983,ID
2624297984,2624297999,SG
2624298000,2624298003,CN
2624298004,2624298007,HK
@@ -79385,10 +81498,25 @@
2624298292,2624298295,PH
2624298296,2624298299,TH
2624298300,2624298495,SG
-2624298496,2624302079,US
-2624302080,2624302145,AU
-2624302146,2624302146,US
-2624302147,2624303103,AU
+2624298496,2624299007,ID
+2624299008,2624302081,US
+2624302082,2624302082,AU
+2624302083,2624302085,US
+2624302086,2624302086,AU
+2624302087,2624302089,US
+2624302090,2624302090,AU
+2624302091,2624302113,US
+2624302114,2624302114,AU
+2624302115,2624302117,US
+2624302118,2624302118,AU
+2624302119,2624302121,US
+2624302122,2624302122,AU
+2624302123,2624302149,US
+2624302150,2624302150,AU
+2624302151,2624302153,US
+2624302154,2624302154,AU
+2624302155,2624302591,US
+2624302592,2624303103,AU
2624303104,2624303615,US
2624303616,2624304639,CN
2624304640,2624395263,US
@@ -79402,7 +81530,9 @@
2625044480,2625134559,US
2625134560,2625134591,UA
2625134592,2625961983,US
-2625961984,2626027519,LU
+2625961984,2625974271,LU
+2625974272,2625976319,FR
+2625976320,2626027519,LU
2626027520,2626093055,US
2626093056,2626158591,CH
2626158592,2626879487,US
@@ -79419,9 +81549,40 @@
2631925760,2632450047,ZA
2632450048,2632516095,US
2632516096,2632519679,HK
-2632519680,2632522834,US
-2632522835,2632522835,AU
-2632522836,2632974335,US
+2632519680,2632522495,US
+2632522496,2632522751,PG
+2632522752,2632523775,AU
+2632523776,2632698241,US
+2632698242,2632698242,HK
+2632698243,2632698301,US
+2632698302,2632698302,HK
+2632698303,2632712703,US
+2632712704,2632713215,FR
+2632713216,2632714239,GB
+2632714240,2632715263,DE
+2632715264,2632716287,JP
+2632716288,2632716799,ES
+2632716800,2632717311,IT
+2632717312,2632717823,AU
+2632717824,2632718335,IN
+2632718336,2632718847,BR
+2632718848,2632719359,MX
+2632719360,2632719871,CA
+2632719872,2632720383,NP
+2632720384,2632734719,US
+2632734720,2632736767,PH
+2632736768,2632777983,US
+2632777984,2632778239,IN
+2632778240,2632778751,US
+2632778752,2632779263,JP
+2632779264,2632783871,US
+2632783872,2632785919,JP
+2632785920,2632810495,HK
+2632810496,2632935873,US
+2632935874,2632935874,HK
+2632935875,2632935933,US
+2632935934,2632935934,HK
+2632935935,2632974335,US
2632974336,2634022911,ZA
2634022912,2634088447,CN
2634088448,2635202559,JP
@@ -79430,9 +81591,9 @@
2635399168,2635530239,US
2635530240,2635595775,FR
2635595776,2635661311,FI
-2635661312,2635710719,PL
-2635710720,2635710975,GB
-2635710976,2635726847,PL
+2635661312,2635688447,PL
+2635688448,2635688959,DE
+2635688960,2635726847,PL
2635726848,2635792383,CH
2635792384,2635988991,IT
2635988992,2636120063,US
@@ -79576,7 +81737,8 @@
2637746336,2637746343,NL
2637746344,2637746351,FR
2637746352,2637746359,AT
-2637746360,2637746687,US
+2637746360,2637746367,FR
+2637746368,2637746687,US
2637746688,2637746711,KR
2637746712,2637746743,US
2637746744,2637746751,HK
@@ -79602,9 +81764,7 @@
2638002688,2638020607,US
2638020608,2638086143,CN
2638086144,2638151679,US
-2638151680,2638818303,JP
-2638818304,2638818559,SO
-2638818560,2638838783,JP
+2638151680,2638838783,JP
2638838784,2638839039,SO
2638839040,2639331327,JP
2639396864,2639462399,JP
@@ -79628,7 +81788,9 @@
2640398368,2640398399,BE
2640398400,2640398431,NL
2640398432,2640400383,DE
-2640400384,2640404479,ES
+2640400384,2640402687,ES
+2640402688,2640402815,IT
+2640402816,2640404479,ES
2640404480,2640404735,NL
2640404736,2640404991,US
2640404992,2640405503,NL
@@ -79726,7 +81888,8 @@
2642751488,2642755583,CA
2642755584,2642757631,DE
2642757632,2642759679,SA
-2642759680,2642763775,US
+2642759680,2642761727,US
+2642761728,2642763775,SA
2642763776,2642767871,AU
2642767872,2642771967,DE
2642771968,2642776063,NL
@@ -79750,13 +81913,12 @@
2644443136,2644508671,FR
2644508672,2644574207,US
2644574208,2644639743,CH
-2644639744,2644647935,CA
-2644647936,2644770815,DE
+2644639744,2644770815,DE
2644770816,2644836351,BE
-2644836352,2644936703,US
-2644936704,2644938751,CL
-2644938752,2644951039,US
-2644951040,2644959231,GB
+2644836352,2644934655,US
+2644934656,2644936703,AR
+2644936704,2644957183,US
+2644957184,2644959231,GB
2644959232,2644967423,US
2644967680,2644968191,IN
2645032960,2645098495,CH
@@ -79773,7 +81935,20 @@
2645753856,2645819391,TH
2645819392,2645884927,SE
2645884928,2645950463,HU
-2645950464,2646196223,US
+2645950464,2646184447,US
+2646184448,2646184703,IT
+2646184704,2646184959,BR
+2646184960,2646189055,US
+2646189056,2646189311,CA
+2646189312,2646189823,US
+2646189824,2646190079,CA
+2646190080,2646190335,JP
+2646190336,2646194175,US
+2646194176,2646194431,JP
+2646194432,2646194687,SG
+2646194688,2646194943,US
+2646194944,2646195199,SG
+2646195200,2646196223,US
2646196224,2646212607,JP
2646212608,2646278143,RU
2646278144,2646474751,US
@@ -80004,8 +82179,8 @@
2647392256,2647457791,US
2647457792,2647523327,JP
2647523328,2647605247,US
-2647605248,2647613439,GB
-2647613440,2647851007,US
+2647605248,2647607295,GB
+2647607296,2647851007,US
2647851008,2647916543,AU
2647916544,2648899583,US
2648899584,2648965119,IN
@@ -80026,27 +82201,23 @@
2650603520,2650669055,CO
2650669056,2650734591,US
2650734592,2650800127,CN
-2650800128,2652504751,US
-2652504752,2652504767,CA
-2652504768,2652512255,US
-2652512256,2652520447,CA
-2652520448,2652520879,US
+2650800128,2652520879,US
2652520880,2652520895,CA
2652520896,2652528639,US
-2652528640,2652536831,AR
-2652536832,2652537599,US
+2652528640,2652528895,AR
+2652528896,2652537599,US
2652537600,2652537607,GB
2652537608,2652537615,US
2652537616,2652537855,GB
2652537856,2652541183,US
2652541184,2652541439,NL
-2652541440,2652557567,US
-2652557568,2652557575,SG
-2652557576,2652557583,US
-2652557584,2652557823,SG
-2652557824,2652561407,US
-2652561408,2652569599,AU
-2652569600,2653159423,US
+2652541440,2652561407,US
+2652561408,2652563455,AU
+2652563456,2652692479,US
+2652692480,2652692973,CA
+2652692974,2652692974,US
+2652692975,2652694527,CA
+2652694528,2653159423,US
2653159424,2653421567,NO
2653421568,2653487103,AU
2653487104,2653552639,GB
@@ -80158,7 +82329,7 @@
2658205696,2658395135,US
2658395136,2658395647,GB
2658395648,2658398719,US
-2658398720,2658399231,CA
+2658398720,2658399231,NZ
2658399232,2658401279,US
2658401280,2658402303,NL
2658402304,2658439183,US
@@ -80167,15 +82338,11 @@
2658439368,2658439368,BR
2658439369,2658454491,US
2658454492,2658454492,IN
-2658454493,2658459135,US
-2658459136,2658459355,AU
+2658454493,2658459355,US
2658459356,2658459356,IN
-2658459357,2658459391,AU
-2658459392,2658459903,US
-2658459904,2658460159,HU
-2658460160,2658467839,US
-2658467840,2658476031,AU
-2658476032,2658598911,US
+2658459357,2658471935,US
+2658471936,2658473983,AU
+2658473984,2658598911,US
2658598912,2658664447,GB
2658664448,2658926591,US
2658926592,2659057663,GB
@@ -80219,9 +82386,9 @@
2661548032,2661679103,US
2661679104,2661885951,LU
2661885952,2661886207,BE
-2661886208,2661908479,LU
-2661908480,2661916671,BE
-2661916672,2661941247,LU
+2661886208,2661912575,LU
+2661912576,2661914623,BE
+2661914624,2661941247,LU
2661941248,2662006783,CL
2662006784,2662072319,US
2662072320,2662137855,ES
@@ -80235,7 +82402,9 @@
2662300880,2662300895,JP
2662300896,2662352063,US
2662352064,2662352079,GB
-2662352080,2662353775,US
+2662352080,2662353439,US
+2662353440,2662353471,GB
+2662353472,2662353775,US
2662353776,2662353791,GB
2662353792,2662353823,US
2662353824,2662353839,GB
@@ -80284,9 +82453,9 @@
2665545728,2665611263,DE
2665611264,2665676799,CH
2665676800,2665742335,ES
-2665742336,2665760767,US
-2665760768,2665762815,AU
-2665762816,2665873407,US
+2665742336,2665783295,US
+2665783296,2665785343,GB
+2665785344,2665873407,US
2665873408,2665938943,GB
2665938944,2666004479,FR
2666004480,2666070015,CH
@@ -80324,7 +82493,7 @@
2666201088,2667053055,US
2667053056,2667085823,NO
2667085824,2667118591,DK
-2667118592,2667184127,HU
+2667118592,2667184127,RO
2667184128,2667249663,RU
2667249664,2667315199,CL
2667315200,2667511807,US
@@ -80339,22 +82508,11 @@
2667528192,2667532287,FR
2667532288,2667534335,RU
2667534336,2667536383,PL
-2667536384,2667536447,AT
-2667536448,2667536463,FR
-2667536464,2667536605,AT
-2667536606,2667536606,FR
-2667536607,2667536615,AT
-2667536616,2667536623,FR
-2667536624,2667536639,AT
-2667536640,2667536895,FR
+2667536384,2667536895,FR
2667536896,2667537087,AT
2667537088,2667537119,FR
2667537120,2667537151,AT
-2667537152,2667537215,FR
-2667537216,2667537231,AT
-2667537232,2667537239,FR
-2667537240,2667537279,AT
-2667537280,2667544575,FR
+2667537152,2667544575,FR
2667544576,2667560959,RU
2667560960,2667565055,IT
2667565056,2667565311,HK
@@ -80419,9 +82577,7 @@
2669019136,2669084671,CH
2669084672,2669215743,US
2669215744,2669281279,DE
-2669281280,2669338879,US
-2669338880,2669339135,CA
-2669339136,2669428735,US
+2669281280,2669428735,US
2669428736,2669477887,JP
2669477888,2669543423,CH
2669543424,2669608959,GB
@@ -80430,7 +82586,9 @@
2669805568,2669871103,GB
2669871104,2670067711,US
2670067712,2670133247,SE
-2670133248,2670591999,US
+2670133248,2670590207,US
+2670590208,2670590463,HK
+2670590464,2670591999,US
2670592000,2670657535,NL
2670657536,2670854143,US
2670854144,2670919679,FR
@@ -80626,11 +82784,15 @@
2675628400,2675628447,GB
2675628448,2675630095,US
2675630096,2675630111,GB
-2675630112,2675631327,US
+2675630112,2675630175,US
+2675630176,2675630207,GB
+2675630208,2675631327,US
2675631328,2675631359,GB
2675631360,2675631983,US
2675631984,2675631999,HK
-2675632000,2675633183,US
+2675632000,2675632319,US
+2675632320,2675632335,GB
+2675632336,2675633183,US
2675633184,2675633215,GB
2675633216,2675636170,US
2675636171,2675636171,GB
@@ -80643,8 +82805,8 @@
2676424704,2676457471,US
2676457472,2676465663,DE
2676465664,2676621311,US
-2676621312,2676626431,HK
-2676626432,2676686847,SG
+2676621312,2676625407,HK
+2676625408,2676686847,SG
2676686848,2677014527,US
2677014528,2677080063,CH
2677080064,2677145599,US
@@ -80804,19 +82966,18 @@
2679431168,2679439359,FR
2679439360,2679515391,US
2679515392,2679515903,GB
-2679515904,2679525119,US
-2679525120,2679525375,GB
+2679515904,2679523327,US
+2679523328,2679525375,GB
2679525376,2679535615,US
2679535616,2679537663,GB
2679537664,2680029183,US
2680029184,2680094719,SE
2680094720,2680160255,US
2680160256,2680225791,TH
-2680225792,2680264193,SE
-2680264194,2680264223,DK
-2680264224,2680264255,SE
-2680264256,2680264447,DK
-2680264448,2680356863,SE
+2680225792,2680262655,DK
+2680262656,2680264703,SE
+2680264704,2680291327,DK
+2680291328,2680356863,SE
2680356864,2680422399,DK
2680422400,2680487935,AU
2680487936,2680520703,GB
@@ -80856,18 +83017,13 @@
2682001408,2682002431,GB
2682002432,2682008575,US
2682008576,2682008831,GB
-2682008832,2682014207,US
-2682014208,2682014719,GB
+2682008832,2682014463,US
+2682014464,2682014719,GB
2682014720,2682014725,US
2682014726,2682014727,SG
-2682014728,2682014975,US
-2682014976,2682015231,PH
-2682015232,2682015743,IN
-2682015744,2682055167,US
+2682014728,2682055167,US
2682055168,2682055423,SG
-2682055424,2682101759,US
-2682101760,2682109951,GB
-2682109952,2682257407,US
+2682055424,2682257407,US
2682257408,2682322943,UA
2682322944,2682388479,US
2682388480,2682454015,CN
@@ -80923,8 +83079,7 @@
2684216320,2684217343,GB
2684217344,2684219391,CZ
2684219392,2684221439,PL
-2684221440,2684222463,IL
-2684222464,2684223487,ES
+2684221440,2684223487,ES
2684223488,2684289023,GB
2684289024,2684297215,RU
2684297216,2684299263,AU
@@ -81000,8 +83155,7 @@
2685693952,2685694975,SL
2685702144,2685703167,DE
2685703168,2685705215,NL
-2685705216,2685706239,RU
-2685706240,2685707263,BR
+2685705216,2685707263,BR
2685707264,2685708287,EC
2685708288,2685709311,BR
2685709312,2685710335,CL
@@ -81024,32 +83178,25 @@
2686386176,2686500863,US
2686500864,2686509055,CA
2686509056,2686513151,US
-2686513152,2686515199,SG
-2686515200,2686615039,US
-2686615040,2686615551,GB
-2686615552,2686844927,US
+2686513152,2686513663,IM
+2686513664,2686515199,SG
+2686515200,2686844927,US
2686844928,2686910463,GB
2686910464,2686975999,US
2686976000,2687041535,GR
2687041536,2687238143,US
-2687238144,2687295487,DE
-2687295488,2687295743,GB
+2687238144,2687295743,DE
2687295744,2687295999,CZ
-2687296000,2687297231,DE
-2687297232,2687297236,GB
-2687297237,2687297247,DE
-2687297248,2687297279,US
-2687297280,2687560191,DE
+2687296000,2687560191,DE
2687560192,2687560447,ZA
-2687560448,2687762431,DE
+2687560448,2687560703,MY
+2687560704,2687762431,DE
2687762432,2687827967,AT
2687827968,2687893503,CH
2687893504,2688221183,DE
2688221184,2688286719,CH
2688286720,2688352255,DE
-2688352256,2688418916,CH
-2688418917,2688418917,IE
-2688418918,2688420095,CH
+2688352256,2688420095,CH
2688420096,2688420351,US
2688420352,2688420607,CN
2688420608,2688548863,CH
@@ -81074,20 +83221,15 @@
2689593344,2689593599,GB
2689593600,2689597439,US
2689597440,2689662975,IT
-2689662976,2689794047,US
-2689794048,2689801727,DE
-2689801728,2689801904,US
+2689662976,2689801904,US
2689801905,2689801905,DE
-2689801906,2689801983,US
-2689801984,2689802239,DE
-2689802240,2689802751,GB
+2689801906,2689802751,US
2689802752,2689803263,TR
-2689803264,2689810431,GB
-2689810432,2689818623,US
+2689803264,2689804287,US
+2689804288,2689806335,GB
+2689806336,2689818623,US
2689818624,2689819135,IN
-2689819136,2689820671,US
-2689820672,2689821183,HK
-2689821184,2689835007,US
+2689819136,2689835007,US
2689835008,2689835263,AU
2689835264,2689835519,US
2689835520,2689835775,AU
@@ -81113,40 +83255,44 @@
2691760128,2691825663,CG
2691825664,2691891199,HU
2691891200,2691956735,SA
-2691956736,2691959807,ZA
+2691956736,2691959807,BR
2691959808,2691960831,US
-2691960832,2691962879,ZA
+2691960832,2691962879,BR
2691962880,2691963903,US
-2691963904,2691965951,ZA
+2691963904,2691965951,BR
2691965952,2691966975,US
-2691966976,2691969023,ZA
+2691966976,2691969023,BR
2691969024,2691970047,US
-2691970048,2691972095,ZA
+2691970048,2691972095,BR
2691972096,2691973119,US
-2691973120,2691975167,ZA
+2691973120,2691975167,BR
2691975168,2691976191,US
-2691976192,2691978239,ZA
+2691976192,2691978239,BR
2691978240,2691979263,US
-2691979264,2691981311,ZA
+2691979264,2691981311,BR
2691981312,2691982335,US
-2691982336,2691984383,ZA
+2691982336,2691984383,BR
2691984384,2691985407,US
-2691985408,2691987455,ZA
+2691985408,2691987455,BR
2691987456,2691988479,US
-2691988480,2691990527,ZA
+2691988480,2691990527,BR
2691990528,2691991551,US
-2691991552,2691993599,ZA
+2691991552,2691993599,BR
2691993600,2691994623,US
-2691994624,2691996671,ZA
+2691994624,2691996671,BR
2691996672,2691997695,US
-2691997696,2691999743,ZA
+2691997696,2691999743,BR
2691999744,2692000767,US
-2692000768,2692002815,ZA
+2692000768,2692002815,BR
2692002816,2692003839,US
-2692003840,2692005887,ZA
+2692003840,2692005887,BR
2692005888,2692006911,US
-2692006912,2692169727,ZA
-2692169728,2692173567,SC
+2692006912,2692007935,BR
+2692007936,2692008959,FR
+2692008960,2692011007,BR
+2692011008,2692012031,FR
+2692012032,2692171775,ZA
+2692171776,2692173567,SC
2692173568,2692173823,US
2692173824,2692175871,ZA
2692175872,2692177919,SC
@@ -81180,7 +83326,9 @@
2692349952,2692546559,ZA
2692546560,2694316031,US
2694316032,2694381567,NG
-2694381568,2694447103,US
+2694381568,2694414622,US
+2694414623,2694414623,GB
+2694414624,2694447103,US
2694447104,2694578175,CI
2694578176,2694840319,TN
2694840320,2695920283,MA
@@ -81304,7 +83452,9 @@
2700015616,2700016639,BR
2700016640,2700017663,CL
2700017664,2700214271,JP
-2700214272,2700247039,NA
+2700214272,2700227071,NA
+2700227072,2700227583,ZM
+2700227584,2700247039,NA
2700247040,2700263423,UG
2700263424,2700279807,TG
2700279808,2700935167,JP
@@ -81415,13 +83565,12 @@
2705688320,2705688575,DE
2705688576,2705691647,US
2705691648,2705692671,GB
-2705692672,2705695487,US
-2705695488,2705695503,IE
+2705692672,2705695503,US
2705695504,2705695519,GB
-2705695520,2705695743,IE
-2705695744,2705710079,US
+2705695520,2705710079,US
2705710080,2705711103,IN
-2705711104,2705784831,US
+2705711104,2705719295,US
+2705719296,2705784831,SA
2705784832,2705817599,GB
2705817600,2705850367,US
2705850368,2705915903,ES
@@ -81450,27 +83599,13 @@
2708865024,2708930559,JP
2708930560,2709127167,US
2709127168,2709192703,KR
-2709192704,2709194751,ZA
-2709194752,2709195007,US
-2709195008,2709198335,ZA
-2709198336,2709198591,US
-2709198592,2709199103,ZA
+2709192704,2709199103,ZA
2709199104,2709199359,US
2709199360,2709200383,ZA
2709200384,2709200639,US
-2709200640,2709200895,ZA
-2709200896,2709201151,US
-2709201152,2709202431,ZA
-2709202432,2709202943,US
-2709202944,2709206015,ZA
-2709206016,2709206271,US
-2709206272,2709207039,ZA
-2709207040,2709207295,US
-2709207296,2709207551,ZA
-2709207552,2709207807,US
-2709207808,2709208063,ZA
-2709208064,2709208319,US
-2709208320,2709208575,ZA
+2709200640,2709202687,ZA
+2709202688,2709202943,US
+2709202944,2709208575,ZA
2709208576,2709208831,US
2709208832,2709209087,ZA
2709209088,2709225471,OM
@@ -81479,18 +83614,7 @@
2709225984,2709226239,ES
2709226240,2709226495,ZA
2709226496,2709226511,DE
-2709226512,2709227775,ZA
-2709227776,2709228031,US
-2709228032,2709229695,ZA
-2709229696,2709229711,DE
-2709229712,2709231103,ZA
-2709231104,2709231119,DE
-2709231120,2709232895,ZA
-2709232896,2709233151,US
-2709233152,2709233407,DE
-2709233408,2709235967,ZA
-2709235968,2709236223,US
-2709236224,2709240831,ZA
+2709226512,2709240831,ZA
2709240832,2709241087,DE
2709241088,2709241343,ZA
2709241344,2709241599,DE
@@ -81501,7 +83625,7 @@
2709242624,2709242879,US
2709242880,2709243135,DE
2709243136,2709243391,US
-2709243392,2709243647,DE
+2709243392,2709243647,ZA
2709243648,2709243903,US
2709243904,2709244159,ZA
2709244160,2709244415,US
@@ -81514,40 +83638,31 @@
2709245952,2709246207,ZA
2709246208,2709246463,US
2709246464,2709246719,DE
-2709246720,2709246959,ZA
-2709246960,2709246975,HK
-2709246976,2709247231,ZA
+2709246720,2709247231,ZA
2709247232,2709247487,MY
-2709247488,2709247743,DE
+2709247488,2709247743,ZA
2709247744,2709247999,US
2709248000,2709248255,ZA
2709248256,2709248511,US
-2709248512,2709250047,ZA
+2709248512,2709249023,ZA
+2709249024,2709249279,DE
+2709249280,2709250047,ZA
2709250048,2709250303,DE
2709250304,2709251071,ZA
2709251072,2709251327,DE
2709251328,2709251583,ZA
2709251584,2709251839,DE
-2709251840,2709252095,GB
-2709252096,2709252351,DE
-2709252352,2709252863,ZA
+2709251840,2709252863,ZA
2709252864,2709253375,DE
-2709253376,2709253631,US
-2709253632,2709253887,ZA
-2709253888,2709254143,US
-2709254144,2709254399,ZA
-2709254400,2709254655,US
-2709254656,2709255679,ZA
+2709253376,2709254655,ZA
+2709254656,2709254911,DE
+2709254912,2709255679,ZA
2709255680,2709255935,DE
-2709255936,2709256191,US
-2709256192,2709257215,ZA
+2709255936,2709257215,ZA
2709257216,2709257471,DE
-2709257472,2709257727,US
-2709257728,2709257983,ZA
-2709257984,2709389311,US
-2709389312,2709435647,SG
-2709435648,2709435903,IN
-2709435904,2709454847,SG
+2709257472,2709258239,ZA
+2709258240,2709389311,US
+2709389312,2709454847,SG
2709454848,2709593599,US
2709593600,2709593855,CA
2709593856,2709601279,US
@@ -81555,7 +83670,10 @@
2709601312,2709601343,NL
2709601344,2709601407,US
2709601408,2709601535,CA
-2709601536,2709606399,US
+2709601536,2709602303,US
+2709602304,2709603327,NL
+2709603328,2709605375,US
+2709605376,2709606399,PR
2709606400,2709618687,CA
2709618688,2709622783,US
2709622784,2709624831,CA
@@ -81604,9 +83722,7 @@
2713976832,2714042367,VE
2714042368,2714238975,US
2714238976,2714304511,TH
-2714304512,2714370263,US
-2714370264,2714370271,SG
-2714370272,2714371679,US
+2714304512,2714371679,US
2714371680,2714371711,CA
2714371712,2714372415,US
2714372416,2714372431,PH
@@ -81624,9 +83740,7 @@
2714379152,2714379152,HK
2714379153,2714380031,US
2714380032,2714380287,HK
-2714380288,2714380367,US
-2714380368,2714380383,TW
-2714380384,2714381311,US
+2714380288,2714381311,US
2714381312,2714381567,HK
2714381568,2714381951,US
2714381952,2714381983,HK
@@ -81708,14 +83822,13 @@
2720399360,2720464895,FR
2720464896,2720849919,US
2720849920,2720850175,GB
-2720850176,2720856575,US
-2720856576,2720856831,IN
-2720856832,2721382399,US
+2720850176,2721382399,US
2721382400,2721447935,CA
2721447936,2721579007,US
2721579008,2721644543,IN
2721644544,2721972223,US
-2721972224,2722037759,SG
+2721972224,2721979903,RU
+2721979904,2722037759,SG
2722037760,2722496511,US
2722496512,2722562047,CA
2722562048,2722693119,US
@@ -81821,12 +83934,13 @@
2728313088,2728313855,US
2728313856,2728314879,IT
2728314880,2728315903,DE
-2728315904,2728316927,US
+2728315904,2728316415,TH
+2728316416,2728316927,FR
2728316928,2728317951,BG
-2728317952,2728319743,US
-2728319744,2728321023,NO
-2728321024,2728321279,TW
-2728321280,2728322047,US
+2728317952,2728318975,US
+2728318976,2728319999,VN
+2728320000,2728321023,NO
+2728321024,2728322047,TW
2728322048,2728323071,PH
2728323072,2728324095,BE
2728324096,2728325119,FI
@@ -81873,7 +83987,9 @@
2731761664,2731763455,CA
2731763456,2731765759,US
2731765760,2731767807,CA
-2731767808,2731771903,US
+2731767808,2731768471,US
+2731768472,2731768475,DE
+2731768476,2731771903,US
2731771904,2731772927,KY
2731772928,2731784191,US
2731784192,2731785215,CA
@@ -81889,7 +84005,7 @@
2731801600,2731804671,US
2731804672,2731805695,CA
2731805696,2731805951,TC
-2731805952,2731806207,LC
+2731805952,2731806207,BB
2731806208,2731806463,AG
2731806464,2731806719,VG
2731806720,2731807743,US
@@ -81913,7 +84029,9 @@
2731862016,2731864063,CA
2731864064,2731870207,US
2731870208,2731871231,CA
-2731871232,2731894783,US
+2731871232,2731874303,US
+2731874304,2731876351,CA
+2731876352,2731894783,US
2731894784,2731896831,CA
2731896832,2731900927,US
2731900928,2731901439,CA
@@ -81931,9 +84049,11 @@
2731927552,2731927807,IE
2731927808,2732086271,US
2732086272,2732087295,CA
-2732087296,2732100095,US
-2732100096,2732100607,GB
-2732100608,2732105727,US
+2732087296,2732099583,US
+2732099584,2732099839,CA
+2732099840,2732100607,US
+2732100608,2732101631,IN
+2732101632,2732105727,US
2732105728,2732107775,JM
2732107776,2732109823,US
2732110848,2732111871,US
@@ -81974,11 +84094,23 @@
2732227584,2732228607,CA
2732228608,2732261375,US
2732261376,2732265471,CA
-2732265472,2732273663,US
+2732265472,2732269567,US
+2732269568,2732270207,HK
+2732270208,2732270208,US
+2732270209,2732270645,HK
+2732270646,2732270646,US
+2732270647,2732271615,HK
+2732271616,2732273663,US
2732273664,2732275711,CA
2732275712,2732278783,US
2732278784,2732279807,CA
-2732279808,2732297471,US
+2732279808,2732281855,US
+2732281856,2732282723,HK
+2732282724,2732282724,US
+2732282725,2732283779,HK
+2732283780,2732283780,US
+2732283781,2732283903,HK
+2732283904,2732297471,US
2732297472,2732297727,CA
2732297728,2732297983,US
2732297984,2732298239,CA
@@ -82061,7 +84193,9 @@
2732568576,2732580863,US
2732580864,2732582911,CA
2732582912,2733903871,US
-2733903872,2733904895,PR
+2733903872,2733904127,PR
+2733904128,2733904255,IT
+2733904256,2733904895,PR
2733904896,2733907967,CA
2733907968,2733911039,US
2733911040,2733912063,CA
@@ -82085,7 +84219,21 @@
2733979648,2733980671,CA
2733980672,2733984767,US
2733984768,2733985791,LC
-2733985792,2734002175,US
+2733985792,2733997055,US
+2733997056,2733997597,HK
+2733997598,2733997598,US
+2733997599,2733997607,HK
+2733997608,2733997608,US
+2733997609,2733997672,HK
+2733997673,2733997673,US
+2733997674,2733997821,HK
+2733997822,2733997822,US
+2733997823,2733997845,HK
+2733997846,2733997846,US
+2733997847,2733998071,HK
+2733998072,2733998072,US
+2733998073,2733998079,HK
+2733998080,2734002175,US
2734002176,2734003199,CA
2734003200,2734004223,US
2734004224,2734005247,GD
@@ -82110,8 +84258,8 @@
2734075904,2734077951,US
2734077952,2734078207,GB
2734078208,2734096383,US
-2734096384,2734097407,HK
-2734097408,2734099455,US
+2734096384,2734098431,HK
+2734098432,2734099455,US
2734099456,2734102527,CA
2734102528,2734104575,VI
2734104576,2734105599,US
@@ -82136,7 +84284,9 @@
2734170112,2734172159,CA
2734172160,2734173183,US
2734173184,2734174207,PR
-2734174208,2734186495,US
+2734174208,2734180351,US
+2734180352,2734182399,CA
+2734182400,2734186495,US
2734187008,2734192639,US
2734192640,2734194687,CA
2734194688,2734197759,US
@@ -82161,9 +84311,7 @@
2734260224,2734262271,KY
2734262272,2734268415,US
2734268416,2734269439,CA
-2734269440,2734272922,US
-2734272923,2734272923,GB
-2734272924,2734287871,US
+2734269440,2734287871,US
2734287872,2734288895,CA
2734288896,2734296063,US
2734296064,2734297087,CA
@@ -82212,8 +84360,7 @@
2734414329,2734414329,MX
2734414330,2734414334,US
2734414335,2734414335,MX
-2734414336,2734432255,US
-2734433280,2734435327,US
+2734414336,2734435327,US
2734435328,2734436351,CA
2734436352,2734447615,US
2734447616,2734448639,CA
@@ -82263,9 +84410,14 @@
2734605312,2734605567,GB
2734605568,2734605823,DE
2734605824,2734606079,SE
-2734606080,2734608351,US
+2734606080,2734606775,US
+2734606776,2734606779,DE
+2734606780,2734607319,US
+2734607320,2734607327,LT
+2734607328,2734608351,US
2734608352,2734608367,DE
-2734608368,2734633983,US
+2734608368,2734632959,US
+2734632960,2734633983,HK
2734633984,2734635007,CA
2734635008,2734649343,US
2734649344,2734650367,CA
@@ -82344,7 +84496,8 @@
2737809408,2737810431,AU
2737810432,2737811455,KH
2737811456,2737811711,SG
-2737811712,2737811967,AU
+2737811712,2737811712,VN
+2737811713,2737811967,AU
2737811968,2737812223,PH
2737812224,2737812479,TH
2737812480,2737813503,AU
@@ -82354,7 +84507,8 @@
2737817600,2737818111,MY
2737818112,2737818367,AU
2737818368,2737818623,MY
-2737818624,2737819647,NZ
+2737818624,2737819135,AU
+2737819136,2737819647,NZ
2737819648,2737821695,IN
2737821696,2737822719,AU
2737822720,2737823743,NZ
@@ -82397,7 +84551,9 @@
2738225152,2738683903,JP
2738749440,2741370879,FR
2741370880,2741436415,US
-2741436416,2742321151,FR
+2741436416,2742190079,FR
+2742190080,2742194175,IN
+2742194176,2742321151,FR
2742321152,2742353919,US
2742353920,2742419455,ES
2742419456,2742484991,US
@@ -82431,7 +84587,32 @@
2745565184,2745696255,GB
2745696256,2745761791,CH
2745761792,2745909247,GB
-2745909248,2745958399,US
+2745909248,2745925631,US
+2745925632,2745925887,DE
+2745925888,2745926399,GB
+2745926400,2745926655,FR
+2745926656,2745926911,DE
+2745926912,2745927167,FR
+2745927168,2745927423,SE
+2745927424,2745927679,ES
+2745927680,2745927935,AT
+2745927936,2745928191,UA
+2745928192,2745928447,US
+2745928448,2745928703,PL
+2745928704,2745928959,NL
+2745928960,2745929215,RO
+2745929216,2745937919,US
+2745937920,2745938431,ZA
+2745938432,2745942271,US
+2745942272,2745942527,HK
+2745942528,2745942783,SG
+2745942784,2745943039,US
+2745943040,2745943551,AU
+2745943552,2745943807,HK
+2745943808,2745944063,IN
+2745944064,2745944575,US
+2745944576,2745945599,IN
+2745945600,2745958399,US
2745958400,2746011647,FR
2746011648,2746015743,NL
2746015744,2746089471,FR
@@ -82478,11 +84659,9 @@
2750873600,2750939135,CL
2750939136,2751070207,US
2751070208,2751135743,CL
-2751135744,2751135762,US
-2751135763,2751135763,JP
-2751135764,2751196931,US
-2751196932,2751196932,JP
-2751196933,2751397887,US
+2751135744,2751196927,US
+2751196928,2751197183,JP
+2751197184,2751397887,US
2751397888,2751463423,KR
2751463424,2751528959,KZ
2751528960,2751660031,FR
@@ -82524,7 +84703,15 @@
2754543616,2754609151,US
2754609152,2754674687,SE
2754674688,2754871295,US
-2754871296,2754904063,HK
+2754871296,2754871637,HK
+2754871638,2754871638,SG
+2754871639,2754871690,HK
+2754871691,2754871691,SG
+2754871692,2754871935,HK
+2754871936,2754871943,SG
+2754871944,2754874026,HK
+2754874027,2754874027,TW
+2754874028,2754904063,HK
2754904064,2754920447,US
2754920448,2754928639,IN
2754928640,2754936831,US
@@ -82576,7 +84763,9 @@
2760114540,2760114811,FR
2760114812,2760114815,PL
2760114816,2760114847,FI
-2760114848,2760115007,FR
+2760114848,2760114915,FR
+2760114916,2760114919,ES
+2760114920,2760115007,FR
2760115008,2760115071,DE
2760115072,2760115327,FR
2760115328,2760115455,GB
@@ -82634,7 +84823,9 @@
2760119496,2760119499,ES
2760119500,2760119967,FR
2760119968,2760119983,GB
-2760119984,2760120543,FR
+2760119984,2760120063,FR
+2760120064,2760120319,NL
+2760120320,2760120543,FR
2760120544,2760120575,ES
2760120576,2760120751,FR
2760120752,2760120759,ES
@@ -82724,7 +84915,9 @@
2760147536,2760147551,ES
2760147552,2760147647,FR
2760147648,2760147711,ES
-2760147712,2760148551,FR
+2760147712,2760148067,FR
+2760148068,2760148071,NL
+2760148072,2760148551,FR
2760148552,2760148559,FI
2760148560,2760148895,FR
2760148896,2760148927,CZ
@@ -82807,7 +85000,9 @@
2760160960,2760161023,DE
2760161024,2760161679,FR
2760161680,2760161683,GB
-2760161684,2760161983,FR
+2760161684,2760161775,FR
+2760161776,2760161779,NL
+2760161780,2760161983,FR
2760161984,2760162047,IE
2760162048,2760162399,FR
2760162400,2760162431,ES
@@ -82873,7 +85068,9 @@
2760178560,2760178687,IT
2760178688,2760178751,FR
2760178752,2760178767,GB
-2760178768,2760179711,FR
+2760178768,2760179375,FR
+2760179376,2760179391,PL
+2760179392,2760179711,FR
2760179712,2760245247,DE
2760245248,2760310783,GB
2760310784,2760376319,SE
@@ -82898,25 +85095,26 @@
2760566784,2760568831,IQ
2760568832,2760570879,FR
2760570880,2760572927,NL
-2760572928,2760638463,DE
+2760572928,2760574975,DE
+2760574976,2760577023,RO
+2760577024,2760638463,DE
2760638464,2760703999,NL
2760704000,2760769535,FI
2760769536,2760835071,IT
2760835072,2760898559,GB
2760898560,2760899583,US
2760899584,2760900607,GB
-2760900608,2760912895,US
-2760912896,2760913151,BE
-2760913152,2761031679,US
+2760900608,2761031679,US
2761031680,2761424895,ZA
-2761424896,2761621503,US
-2761621504,2761687039,ZA
-2761687040,2761949183,US
+2761424896,2761553919,US
+2761553920,2761555967,CA
+2761555968,2761949183,US
2761949184,2761950207,TN
2761950208,2761951231,UG
2761951232,2761952255,LR
2761952256,2761953279,ZM
-2761953280,2761954303,CG
+2761953280,2761954047,CG
+2761954048,2761954303,IT
2761954304,2761956351,ZA
2761956352,2761957375,TZ
2761957376,2761958399,CI
@@ -83101,7 +85299,9 @@
2776039424,2776104959,US
2776104960,2776170495,GB
2776170496,2776478719,US
-2776478720,2776479743,AU
+2776478720,2776478975,SG
+2776478976,2776479231,AU
+2776479232,2776479743,SG
2776479744,2776479999,US
2776480000,2776480511,NL
2776480512,2776480767,US
@@ -83118,7 +85318,9 @@
2779054080,2779119615,ZA
2779119616,2779316223,US
2779316224,2779381759,RE
-2779381760,2779906047,US
+2779381760,2779578367,US
+2779578368,2779594751,SG
+2779594752,2779906047,US
2779906048,2779971583,CA
2779971584,2780037119,US
2780037120,2780039167,ZA
@@ -83162,8 +85364,8 @@
2780932096,2780932607,US
2780932608,2780933119,GB
2780933120,2780934143,US
-2780934144,2780938239,GB
-2780938240,2780954623,US
+2780934144,2780936191,GB
+2780936192,2780954623,US
2780954624,2781020159,KR
2781020160,2781206527,US
2781206528,2781207551,GB
@@ -83172,10 +85374,11 @@
2781478912,2781544447,HK
2781544448,2781614591,US
2781614592,2781615103,MX
-2781615104,2781618175,US
-2781618176,2781623295,CA
+2781615104,2781622271,US
+2781622272,2781623295,CA
2781623296,2781623807,US
-2781623808,2781626367,CA
+2781623808,2781624319,CA
+2781624320,2781626367,US
2781626368,2781626879,NL
2781626880,2781627391,IT
2781627392,2781628415,US
@@ -83184,13 +85387,12 @@
2781630464,2781631487,MY
2781631488,2781635583,US
2781635584,2781636095,JP
-2781636096,2781642751,US
-2781642752,2781643775,SG
+2781636096,2781643775,US
2781643776,2781644287,KR
2781644288,2781644799,TW
2781644800,2781645823,IN
-2781645824,2781650943,SG
-2781650944,2781675519,US
+2781645824,2781646847,SG
+2781646848,2781675519,US
2781675520,2781741055,NZ
2781741056,2781937663,US
2781937664,2782003199,TH
@@ -83205,25 +85407,18 @@
2782789632,2782855167,CH
2782855168,2782990335,US
2782990336,2782990847,GB
-2782990848,2782992383,ES
+2782990848,2782992383,US
2782992384,2782992895,DE
-2782992896,2782993407,ES
+2782992896,2782993407,CH
2782993408,2782993919,NL
-2782993920,2782994431,ES
+2782993920,2782994431,CH
2782994432,2782995455,US
2782995456,2782995711,CA
2782995712,2783002623,US
-2783002624,2783003135,DK
+2783002624,2783002879,DK
+2783002880,2783003135,US
2783003136,2783003647,RU
-2783003648,2783003695,FI
-2783003696,2783003708,SE
-2783003709,2783003711,FI
-2783003712,2783003715,SE
-2783003716,2783003717,FI
-2783003718,2783003718,SE
-2783003719,2783003721,FI
-2783003722,2783003722,SE
-2783003723,2783003903,FI
+2783003648,2783003903,SE
2783003904,2783004159,US
2783004160,2783004671,CH
2783004672,2783004880,US
@@ -83233,28 +85428,25 @@
2783005696,2783006719,FR
2783006720,2783007487,GB
2783007488,2783007743,US
-2783007744,2783008255,PL
-2783008256,2783008511,IT
-2783008512,2783008767,US
+2783007744,2783007999,PL
+2783008000,2783008255,US
+2783008256,2783008767,IT
2783008768,2783009023,BE
2783009024,2783010889,US
2783010890,2783010890,HK
2783010891,2783010943,US
2783010944,2783011839,AU
-2783011840,2783011903,JP
-2783011904,2783011904,US
-2783011905,2783012351,JP
+2783011840,2783012351,JP
2783012352,2783012607,TW
2783012608,2783012863,AU
-2783012864,2783012951,US
-2783012952,2783012991,IN
-2783012992,2783013375,US
+2783012864,2783013119,IN
+2783013120,2783013375,US
2783013376,2783013887,IN
-2783013888,2783014911,US
+2783013888,2783014399,US
+2783014400,2783014911,JP
2783014912,2783015423,SG
2783015424,2783015935,AU
-2783015936,2783016191,US
-2783016192,2783016447,HK
+2783015936,2783016447,HK
2783016448,2783016703,AU
2783016704,2783125503,US
2783125504,2783129599,CA
@@ -83308,9 +85500,7 @@
2788289536,2788294655,GB
2788294656,2789113855,US
2789113856,2789146623,CA
-2789146624,2789195775,US
-2789195776,2789203967,GB
-2789203968,2789212159,US
+2789146624,2789212159,US
2789212160,2789277695,AU
2789277696,2789343231,NZ
2789343232,2789933055,US
@@ -83350,33 +85540,34 @@
2796807168,2796807935,US
2796807936,2796808191,NZ
2796808192,2798788607,US
-2798788608,2798796799,CO
-2798796800,2798838015,US
+2798788608,2798790655,CO
+2798790656,2798838015,US
2798838016,2798838271,CO
2798838272,2801795071,US
2801795072,2801860607,CO
-2801860608,2801904639,US
-2801904640,2801905151,PH
-2801905152,2802515967,US
+2801860608,2802515967,US
2802515968,2802581503,CA
2802581504,2802909183,US
2802909184,2802974719,CA
-2802974720,2803318783,US
-2803318784,2803326975,ID
-2803326976,2803630079,US
+2802974720,2803630079,US
2803630080,2803695615,CL
2803695616,2803761151,US
2803761152,2803826687,AU
2803826688,2803892223,US
2803892224,2805465087,CA
2805465088,2805989375,UY
-2805989376,2806012937,US
-2806012938,2806012938,HK
-2806012939,2806644735,US
+2805989376,2806007807,US
+2806007808,2806009855,GB
+2806009856,2806012927,US
+2806012928,2806013951,HK
+2806013952,2806644735,US
2806644736,2806710271,CA
2806710272,2807103487,US
2807103488,2807169023,NL
-2807169024,2807496703,US
+2807169024,2807448063,US
+2807448064,2807463935,DE
+2807463936,2807465983,US
+2807465984,2807496703,SA
2807496704,2807562239,DE
2807562240,2807566335,US
2807566336,2807574527,CA
@@ -83425,9 +85616,7 @@
2807611392,2807824383,US
2807824384,2807889919,CA
2807889920,2808217599,US
-2808217600,2808220159,GB
-2808220160,2808220223,US
-2808220224,2808283135,GB
+2808217600,2808283135,GB
2808283136,2808287231,US
2808287232,2808288255,NL
2808288256,2808290303,US
@@ -83444,7 +85633,13 @@
2808336384,2808340479,NL
2808340480,2808344575,US
2808344576,2808348671,DE
-2808348672,2808545279,US
+2808348672,2808373247,US
+2808373248,2808374271,AU
+2808374272,2808375295,US
+2808375296,2808376319,HK
+2808376320,2808381439,US
+2808381440,2808414207,SA
+2808414208,2808545279,US
2808545280,2808610815,AU
2808610816,2808872959,US
2808872960,2808938495,UY
@@ -83494,7 +85689,9 @@
2809327570,2809327570,RU
2809327571,2809331711,FR
2809331712,2809397247,US
-2809397248,2809462783,UY
+2809397248,2809404415,UY
+2809404416,2809405439,AR
+2809405440,2809462783,UY
2809462784,2809855999,US
2809856000,2809921535,AU
2809921536,2809987071,US
@@ -83536,16 +85733,19 @@
2813132800,2813263871,US
2813263872,2813329407,JP
2813329408,2813526015,US
-2813526016,2813527039,NZ
-2813527040,2813531135,KH
-2813531136,2813533183,NZ
+2813526016,2813526527,KH
+2813526528,2813527039,NZ
+2813527040,2813531647,KH
+2813531648,2813533183,NZ
2813533184,2813534207,KH
2813534208,2813535231,NZ
2813535232,2813538303,KH
2813538304,2813542399,HK
-2813542400,2813558783,NZ
+2813542400,2813549567,JP
+2813549568,2813558783,SG
2813558784,2813575167,AU
-2813575168,2813577215,NZ
+2813575168,2813576191,KH
+2813576192,2813577215,NZ
2813577216,2813579263,HK
2813579264,2813583359,NZ
2813583360,2813591551,TH
@@ -83586,9 +85786,7 @@
2816276480,2816278527,SG
2816278528,2816671743,US
2816671744,2816737279,CA
-2816737280,2817059583,US
-2817059584,2817059839,AU
-2817059840,2817064959,US
+2816737280,2817064959,US
2817064960,2817130495,DE
2817130496,2817277951,US
2817277952,2817294335,NL
@@ -83711,15 +85909,14 @@
2822732104,2822733823,NL
2822733824,2822734095,HK
2822734098,2822734111,US
-2822734112,2822742015,HK
+2822734112,2822737919,HK
+2822737920,2822738943,US
+2822738944,2822741247,HK
+2822741248,2822742015,US
2822742016,2822750207,SG
2822750208,2822758399,HK
2822758400,2822766591,SG
-2822766592,2822848767,US
-2822848768,2822848997,IE
-2822848998,2822848998,US
-2822848999,2822849023,IE
-2822849024,2823159807,US
+2822766592,2823159807,US
2823159808,2823225343,HK
2823225344,2823553023,US
2823553024,2823618559,ZA
@@ -83741,9 +85938,8 @@
2823828480,2823829503,US
2823829504,2823829759,ID
2823829760,2823830015,RU
-2823830016,2823830527,SC
-2823830528,2823831551,ZA
-2823831552,2823832575,SC
+2823830016,2823830527,LT
+2823830528,2823832575,SC
2823832576,2823833599,US
2823833600,2823834623,IN
2823834624,2823835647,US
@@ -83769,7 +85965,8 @@
2823863296,2823864319,US
2823864320,2823865343,SC
2823865344,2823866367,US
-2823866368,2823869439,SC
+2823866368,2823867391,PL
+2823867392,2823869439,SC
2823869440,2823870463,US
2823870464,2823873535,SC
2823873536,2823874559,US
@@ -83832,10 +86029,8 @@
2823946240,2824011775,US
2824011776,2824077311,AR
2824077312,2824290303,US
-2824290304,2824294399,AU
-2824294400,2824357887,US
-2824357888,2824359935,CA
-2824359936,2824404991,US
+2824290304,2824292351,AU
+2824292352,2824404991,US
2824404992,2824470527,ZA
2824470528,2824472575,BR
2824472576,2824473599,AR
@@ -83847,9 +86042,7 @@
2824492032,2824493055,AR
2824493056,2824494079,BR
2824494080,2824495103,CO
-2824495104,2824495263,HN
-2824495264,2824495279,DE
-2824495280,2824495943,HN
+2824495104,2824495943,HN
2824495944,2824495951,NL
2824495952,2824496127,HN
2824496128,2824498175,BR
@@ -83882,17 +86075,22 @@
2824534016,2824535039,BR
2824535040,2824536063,AR
2824536064,2824560639,US
-2824560640,2824562687,GB
+2824560640,2824561663,GB
+2824561664,2824562687,AU
2824562688,2824564223,US
2824564224,2824564735,DE
2824564736,2824565759,FR
-2824565760,2824566783,US
+2824565760,2824566015,DE
+2824566016,2824566271,IT
+2824566272,2824566783,US
2824566784,2824567039,ES
2824567040,2824567295,AU
2824567296,2824798207,US
2824798208,2824863743,TW
2824863744,2824929279,AR
-2824929280,2825191423,US
+2824929280,2825007103,US
+2825007104,2825009151,GB
+2825009152,2825191423,US
2825191424,2825256959,AR
2825256960,2825519103,US
2825519104,2825584639,HK
@@ -83957,7 +86155,15 @@
2827878400,2827943935,ZA
2827943936,2828009471,US
2828009472,2828075007,CA
-2828075008,2828400639,US
+2828075008,2828337151,US
+2828337152,2828369919,SA
+2828369920,2828370431,SE
+2828370432,2828370943,JP
+2828370944,2828377087,US
+2828377088,2828377343,NL
+2828377344,2828377855,US
+2828377856,2828378111,DE
+2828378112,2828400639,US
2828400640,2828401151,GB
2828401152,2828533759,US
2828533760,2828599551,AU
@@ -83972,17 +86178,18 @@
2828795904,2829029375,US
2829029376,2829029631,CN
2829029632,2829033471,US
-2829033472,2829041663,IN
-2829041664,2829045759,AU
-2829045760,2829058047,US
+2829033472,2829035519,IN
+2829035520,2829041663,US
+2829041664,2829043711,AU
+2829043712,2829058047,US
2829058048,2829123583,CN
2829123584,2829148415,US
2829148416,2829148671,HK
2829148672,2829174783,US
-2829174784,2829175807,GB
-2829175808,2829177343,US
-2829177344,2829177599,AU
-2829177600,2829184767,US
+2829174784,2829175039,GB
+2829175040,2829175295,US
+2829175296,2829175807,GB
+2829175808,2829184767,US
2829184768,2829185023,GB
2829185024,2829254655,US
2829254656,2829320191,CH
@@ -83994,11 +86201,15 @@
2829590784,2829591033,GB
2829591034,2829591034,US
2829591035,2829591039,GB
-2829591040,2829593343,US
+2829591040,2829592575,US
+2829592576,2829593343,GB
2829593344,2829593591,CH
2829593592,2829593595,US
2829593596,2829593599,CH
-2829593600,2829844479,US
+2829593600,2829594623,GB
+2829594624,2829647359,US
+2829647360,2829647871,ID
+2829647872,2829844479,US
2829844480,2829910015,ZA
2829910016,2830086655,US
2830086656,2830086911,GB
@@ -84031,14 +86242,11 @@
2830482432,2830486527,BR
2830486528,2830488575,AR
2830488576,2830492671,BR
-2830492672,2830493183,US
-2830493184,2830493695,HN
+2830492672,2830493695,US
2830493696,2830499839,BR
2830499840,2830761983,US
2830761984,2830827519,AU
-2830827520,2830873599,KW
-2830873600,2830873855,US
-2830873856,2830893055,KW
+2830827520,2830893055,KW
2830893056,2830958591,KR
2830958592,2831155575,US
2831155576,2831155576,SG
@@ -84187,9 +86395,8 @@
2832038912,2832040959,BR
2832040960,2832041983,PE
2832041984,2832048127,BR
-2832048128,2832048751,HN
-2832048752,2832048759,ES
-2832048760,2832049151,HN
+2832048128,2832048383,HN
+2832048384,2832049151,US
2832049152,2832054271,BR
2832054272,2832055295,AR
2832055296,2832059391,BR
@@ -84217,9 +86424,9 @@
2833474560,2833475583,BR
2833475584,2833476607,CO
2833476608,2833481727,BR
-2833481728,2833482679,HN
-2833482680,2833482687,CL
-2833482688,2833482751,HN
+2833481728,2833482239,US
+2833482240,2833482495,HN
+2833482496,2833482751,US
2833482752,2833484799,BR
2833484800,2833485519,HN
2833485520,2833485527,BE
@@ -84233,7 +86440,8 @@
2833513472,2833514495,AR
2833514496,2833522687,BR
2833523712,2833525759,BR
-2833525760,2833526783,HN
+2833525760,2833526271,US
+2833526272,2833526783,HN
2833526784,2833527807,CR
2833527808,2833528831,MX
2833528832,2833529855,AR
@@ -84308,7 +86516,9 @@
2834694144,2834825215,US
2834825216,2834956287,KR
2834956288,2835087359,US
-2835087360,2835152895,AU
+2835087360,2835118847,AU
+2835118848,2835119103,US
+2835119104,2835152895,AU
2835152896,2835161087,LR
2835161088,2835169279,ZW
2835169280,2835177471,ZA
@@ -84316,8 +86526,10 @@
2835181568,2835183615,NG
2835183616,2835185663,ZA
2835185664,2835195903,RE
-2835195904,2835196671,YT
-2835196672,2835197183,RE
+2835195904,2835196415,YT
+2835196416,2835196799,RE
+2835196800,2835196927,YT
+2835196928,2835197183,RE
2835197184,2835197439,YT
2835197440,2835202047,RE
2835202048,2835206143,ZA
@@ -84348,19 +86560,11 @@
2838259760,2838276159,US
2838276160,2838276191,NL
2838276192,2838298623,US
-2838298624,2838299439,NL
-2838299440,2838299455,US
-2838299456,2838299711,NL
-2838299712,2838299775,US
-2838299776,2838300335,NL
+2838298624,2838300335,NL
2838300336,2838300351,US
-2838300352,2838300671,NL
-2838300672,2838300927,US
-2838300928,2838301119,NL
+2838300352,2838301119,NL
2838301120,2838301183,US
-2838301184,2838301695,NL
-2838301696,2838301951,US
-2838301952,2838304319,NL
+2838301184,2838304319,NL
2838304320,2838304383,US
2838304384,2838304479,NL
2838304480,2838304511,US
@@ -84424,27 +86628,19 @@
2838337136,2838337151,US
2838337152,2838337263,NL
2838337264,2838337295,US
-2838337296,2838337759,NL
-2838337760,2838337761,IN
-2838337762,2838337767,NL
+2838337296,2838337767,NL
2838337768,2838337769,US
2838337770,2838337951,NL
-2838337952,2838337983,US
-2838337984,2838338079,NL
+2838337952,2838337967,US
+2838337968,2838338079,NL
2838338080,2838338127,US
2838338128,2838338183,NL
2838338184,2838338191,US
2838338192,2838338271,NL
2838338272,2838338303,JP
-2838338304,2838338567,NL
-2838338568,2838338575,US
-2838338576,2838338703,NL
-2838338704,2838338719,IN
-2838338720,2838338735,NL
+2838338304,2838338735,NL
2838338736,2838338751,US
-2838338752,2838338771,NL
-2838338772,2838338773,IN
-2838338774,2838338775,NL
+2838338752,2838338775,NL
2838338776,2838338783,US
2838338784,2838338815,NL
2838338816,2838338823,US
@@ -84474,17 +86670,13 @@
2838342448,2838342463,US
2838342464,2838343071,NL
2838343072,2838343103,US
-2838343104,2838344319,NL
-2838344320,2838344335,US
-2838344336,2838344451,NL
+2838343104,2838344451,NL
2838344452,2838344455,US
2838344456,2838344463,NL
2838344464,2838344479,US
2838344480,2838344917,NL
2838344918,2838344918,US
-2838344919,2838345239,NL
-2838345240,2838345247,US
-2838345248,2838346559,NL
+2838344919,2838346559,NL
2838346560,2838346591,US
2838346592,2838346687,NL
2838346688,2838346719,US
@@ -84552,9 +86744,7 @@
2838415392,2838415487,US
2838415488,2838415655,NL
2838415656,2838415663,US
-2838415664,2838415839,NL
-2838415840,2838415871,US
-2838415872,2838416623,NL
+2838415664,2838416623,NL
2838416624,2838416639,AF
2838416640,2838418687,NL
2838418688,2838418815,US
@@ -84574,9 +86764,7 @@
2838429696,2838469631,US
2838469632,2838478975,NL
2838478976,2838479007,US
-2838479008,2838479151,NL
-2838479152,2838479167,US
-2838479168,2838479273,NL
+2838479008,2838479273,NL
2838479274,2838479274,BR
2838479275,2838479431,NL
2838479432,2838479439,US
@@ -84600,9 +86788,7 @@
2838482548,2838482551,US
2838482552,2838482695,NL
2838482696,2838482703,US
-2838482704,2838482863,NL
-2838482864,2838482871,US
-2838482872,2838482911,NL
+2838482704,2838482911,NL
2838482912,2838482943,US
2838482944,2838482967,NL
2838482968,2838482975,US
@@ -84614,27 +86800,19 @@
2838483360,2838483391,US
2838483392,2838483487,NL
2838483488,2838483519,US
-2838483520,2838484399,NL
-2838484400,2838484415,US
-2838484416,2838484463,NL
+2838483520,2838484463,NL
2838484464,2838484479,US
2838484480,2838484839,NL
2838484840,2838484843,US
-2838484844,2838484943,NL
-2838484944,2838484959,US
-2838484960,2838485151,NL
+2838484844,2838485151,NL
2838485152,2838485183,US
-2838485184,2838485375,NL
-2838485376,2838485391,US
-2838485392,2838485439,NL
+2838485184,2838485439,NL
2838485440,2838485447,US
2838485448,2838485695,NL
2838485696,2838485727,US
2838485728,2838485967,NL
2838485968,2838485983,US
-2838485984,2838486463,NL
-2838486464,2838486495,US
-2838486496,2838486567,NL
+2838485984,2838486567,NL
2838486568,2838486575,US
2838486576,2838487327,NL
2838487328,2838487343,US
@@ -84654,9 +86832,7 @@
2838490000,2838490007,US
2838490008,2838491679,NL
2838491680,2838491687,US
-2838491688,2838491943,NL
-2838491944,2838491951,US
-2838491952,2838492479,NL
+2838491688,2838492479,NL
2838492480,2838492511,US
2838492512,2838492679,NL
2838492680,2838492687,US
@@ -84670,23 +86846,15 @@
2838493712,2838493727,US
2838493728,2838494063,NL
2838494064,2838494079,US
-2838494080,2838494347,NL
-2838494348,2838494351,US
-2838494352,2838496623,NL
-2838496624,2838496639,US
-2838496640,2838496671,NL
+2838494080,2838496671,NL
2838496672,2838496703,US
2838496704,2838498111,NL
2838498112,2838498175,JP
-2838498176,2838498479,NL
-2838498480,2838498495,US
-2838498496,2838511871,NL
+2838498176,2838511871,NL
2838511872,2838511887,US
2838511888,2838512047,NL
2838512048,2838512079,US
-2838512080,2838512255,NL
-2838512256,2838512271,US
-2838512272,2838512303,NL
+2838512080,2838512303,NL
2838512304,2838512319,US
2838512320,2838512351,NL
2838512352,2838512367,AF
@@ -84808,13 +86976,7 @@
2838528816,2838528823,US
2838528824,2838528959,NL
2838528960,2838529023,US
-2838529024,2838529295,NL
-2838529296,2838529303,US
-2838529304,2838529319,NL
-2838529320,2838529327,US
-2838529328,2838529375,NL
-2838529376,2838529407,US
-2838529408,2838529495,NL
+2838529024,2838529495,NL
2838529496,2838529503,US
2838529504,2838530095,NL
2838530096,2838530111,US
@@ -84860,7 +87022,9 @@
2838542096,2838542111,US
2838542112,2838542287,NL
2838542288,2838542303,US
-2838542304,2838542511,NL
+2838542304,2838542363,NL
+2838542364,2838542364,US
+2838542365,2838542511,NL
2838542512,2838542527,AF
2838542528,2838543223,NL
2838543224,2838543231,US
@@ -84874,9 +87038,7 @@
2838544576,2838544607,US
2838544608,2838544655,NL
2838544656,2838544671,US
-2838544672,2838544703,NL
-2838544704,2838544767,US
-2838544768,2838545279,NL
+2838544672,2838545279,NL
2838545280,2838545295,US
2838545296,2838545567,NL
2838545568,2838545663,US
@@ -84909,12 +87071,10 @@
2838550408,2838550495,NL
2838550496,2838550511,US
2838550512,2838550719,NL
-2838550720,2838550799,US
-2838550800,2838550855,NL
+2838550720,2838550783,US
+2838550784,2838550855,NL
2838550856,2838550863,US
-2838550864,2838551383,NL
-2838551384,2838551387,US
-2838551388,2838551579,NL
+2838550864,2838551579,NL
2838551580,2838551583,US
2838551584,2838551807,NL
2838551808,2838551815,US
@@ -84928,9 +87088,7 @@
2838552304,2838552319,US
2838552320,2838552495,NL
2838552496,2838552511,US
-2838552512,2838553711,NL
-2838553712,2838553727,US
-2838553728,2838554271,NL
+2838552512,2838554271,NL
2838554272,2838554287,US
2838554288,2838554431,NL
2838554432,2838554463,US
@@ -84948,9 +87106,7 @@
2838557168,2838557183,US
2838557184,2838557215,NL
2838557216,2838557231,US
-2838557232,2838557455,NL
-2838557456,2838557463,US
-2838557464,2838557839,NL
+2838557232,2838557839,NL
2838557840,2838557855,US
2838557856,2838558927,NL
2838558928,2838558943,US
@@ -85006,9 +87162,7 @@
2838665760,2838665791,JP
2838665792,2838669119,US
2838669120,2838669151,HK
-2838669152,2838669519,US
-2838669520,2838669535,NL
-2838669536,2838676095,US
+2838669152,2838676095,US
2838676096,2838676127,GB
2838676128,2838676959,US
2838676960,2838676991,GB
@@ -85032,17 +87186,13 @@
2838866164,2838866165,JP
2838866166,2838866451,US
2838866452,2838866452,CA
-2838866453,2838869603,US
-2838869604,2838869607,JP
+2838866453,2838869605,US
+2838869606,2838869607,JP
2838869608,2838870111,US
2838870112,2838870127,CA
2838870128,2838871295,US
-2838871296,2838871311,CA
-2838871312,2838881407,US
-2838881408,2838881423,IN
-2838881424,2838887271,US
-2838887272,2838887279,IN
-2838887280,2838897695,US
+2838871296,2838871551,CA
+2838871552,2838897695,US
2838897696,2838897727,HK
2838897728,2838904831,US
2838904832,2838921215,CA
@@ -85100,9 +87250,7 @@
2838999598,2838999599,JP
2838999600,2839001023,US
2839001024,2839001055,HK
-2839001056,2839001263,US
-2839001264,2839001279,CA
-2839001280,2839021219,US
+2839001056,2839021219,US
2839021220,2839021222,JP
2839021223,2839021223,US
2839021224,2839021226,JP
@@ -85118,10 +87266,14 @@
2839035904,2839052287,KR
2839052288,2839053951,US
2839053952,2839053983,HK
-2839053984,2839085055,US
+2839053984,2839063295,US
+2839063296,2839063359,KR
+2839063360,2839085055,US
2839085056,2839117823,MX
2839117824,2839150591,BR
-2839150592,2839300031,US
+2839150592,2839292927,US
+2839292928,2839293951,CA
+2839293952,2839300031,US
2839300032,2839300047,AF
2839300048,2839315471,US
2839315472,2839315487,JP
@@ -85135,7 +87287,9 @@
2839351856,2839351871,AF
2839351872,2839360079,US
2839360080,2839360095,NL
-2839360096,2839412959,US
+2839360096,2839365799,US
+2839365800,2839365800,JP
+2839365801,2839412959,US
2839412960,2839412991,JP
2839412992,2839447231,US
2839447232,2839447295,JP
@@ -85145,12 +87299,8 @@
2843803648,2843869183,ZA
2843869184,2844524543,US
2844524544,2844590079,KR
-2844590080,2844778495,US
-2844778496,2844783615,DE
-2844783616,2844784639,US
-2844784640,2844786687,DE
-2844786688,2844860415,US
-2844860416,2844864511,BR
+2844590080,2844862463,US
+2844862464,2844864511,BR
2844864512,2844903423,US
2844903424,2844905471,SG
2844905472,2845114367,US
@@ -85170,7 +87320,9 @@
2848244736,2848245759,GB
2848245760,2848284671,US
2848284672,2848285695,RU
-2848285696,2848288767,US
+2848285696,2848286463,US
+2848286464,2848286975,DE
+2848286976,2848288767,US
2848288768,2848289791,GB
2848289792,2848290815,RU
2848290816,2848522239,US
@@ -85265,9 +87417,7 @@
2852088832,2852089855,LY
2852089856,2852090879,TZ
2852090880,2852091903,ZA
-2852091904,2852092903,CD
-2852092904,2852092911,CG
-2852092912,2852092927,CD
+2852091904,2852092927,CD
2852092928,2852093951,NG
2852093952,2852094975,ZA
2852094976,2852095999,MZ
@@ -85277,8 +87427,8 @@
2852099072,2852100095,GA
2852100096,2852101119,TD
2852101120,2852102143,LY
-2852102144,2852102911,MU
-2852102912,2852103167,YT
+2852102144,2852102655,MU
+2852102656,2852103167,YT
2852103168,2852106239,ZA
2852106240,2852107263,MA
2852107264,2852108287,NG
@@ -85359,8 +87509,8 @@
2855550976,2855567359,CA
2855567360,2856058879,US
2856058880,2856124415,CH
-2856124416,2856184831,US
-2856184832,2856185855,GB
+2856124416,2856183807,US
+2856183808,2856185855,GB
2856185856,2856438783,US
2856438784,2856439039,BR
2856439040,2856439295,US
@@ -85479,7 +87629,8 @@
2857470976,2857471999,MX
2857472000,2857473023,VE
2857473024,2857485311,BR
-2857485312,2857486335,HN
+2857485312,2857485823,HN
+2857485824,2857486335,US
2857486336,2857489407,BR
2857489408,2857490431,AR
2857490432,2857493503,BR
@@ -85488,7 +87639,8 @@
2857496576,2857497599,PE
2857497600,2857499647,BR
2857499648,2857500671,CO
-2857500672,2857501695,HN
+2857500672,2857500927,HN
+2857500928,2857501695,US
2857501696,2857506815,BR
2857506816,2857507839,DO
2857507840,2857509887,BR
@@ -85571,18 +87723,32 @@
2857691136,2857692159,AR
2857692160,2857696255,BR
2857696256,2857697279,AR
-2857697280,2859007999,US
+2857697280,2858778623,US
+2858778624,2858811391,SA
+2858811392,2859007999,US
2859008000,2859073535,JP
2859073536,2859106303,SG
2859106304,2859107327,US
2859107328,2859139071,SG
-2859139072,2861068799,US
-2861068800,2861069311,GB
-2861069312,2861070335,US
+2859139072,2860678143,US
+2860678144,2860678207,GR
+2860678208,2860678271,SE
+2860678272,2860678335,FI
+2860678336,2860678399,US
+2860678400,2860678463,ES
+2860678464,2860678527,RO
+2860678528,2860678591,RU
+2860678592,2860678655,CH
+2860678656,2860678783,NL
+2860678784,2860678911,GB
+2860678912,2860678975,NL
+2860678976,2860679007,US
+2860679008,2860679039,NL
+2860679040,2861070335,US
2861070336,2861070591,CA
-2861070592,2861727743,US
-2861727744,2861735935,CA
-2861735936,2861842431,US
+2861070592,2861697023,US
+2861697024,2861699071,CA
+2861699072,2861842431,US
2861842432,2861843851,HK
2861843852,2861843853,US
2861843854,2861844479,HK
@@ -85593,8 +87759,13 @@
2861860864,2861862911,US
2861862912,2861863423,AU
2861863424,2861875199,US
-2861875200,2861883391,GB
-2861883392,2861957119,US
+2861875200,2861877247,GB
+2861877248,2861879295,US
+2861879296,2861881343,GB
+2861881344,2861955071,US
+2861955072,2861955583,GB
+2861955584,2861956095,FR
+2861956096,2861957119,US
2861957120,2861959167,BR
2861959168,2861960191,AR
2861960192,2861961215,MX
@@ -85634,8 +87805,9 @@
2863595520,2863661055,CA
2863661056,2863857663,US
2863857664,2863923199,CN
-2863923200,2864840703,US
-2864840704,2864848895,NL
+2863923200,2864844799,US
+2864844800,2864846847,NL
+2864846848,2864848895,US
2864848896,2864849151,GB
2864849152,2865168383,US
2865168384,2865209343,CA
@@ -85648,7 +87820,9 @@
2865231360,2865231615,JP
2865231616,2865252095,US
2865252096,2865252351,GB
-2865252352,2865577983,US
+2865252352,2865418239,US
+2865418240,2865419263,GB
+2865419264,2865577983,US
2865577984,2865610751,BE
2865610752,2865889279,US
2865889280,2865954815,AR
@@ -85686,8 +87860,7 @@
2867403776,2867404799,AR
2867404800,2867414015,BR
2867414016,2867415039,AR
-2867415040,2867415551,GP
-2867415552,2867416063,GF
+2867415040,2867416063,GP
2867416064,2867420159,BR
2867420160,2867421183,AR
2867421184,2867426303,BR
@@ -85710,9 +87883,7 @@
2867456000,2867457023,AR
2867457024,2867462143,BR
2867462144,2867593215,US
-2867593216,2867634175,CH
-2867634176,2867642367,AT
-2867642368,2867724287,CH
+2867593216,2867724287,CH
2867724288,2867725311,EC
2867725312,2867726335,BR
2867726336,2867727359,AR
@@ -85846,7 +88017,8 @@
2868257792,2868259839,AR
2868259840,2868260863,BR
2868260864,2868261887,AR
-2868261888,2868263935,HN
+2868261888,2868262911,US
+2868262912,2868263935,HN
2868263936,2868264959,BR
2868264960,2868265983,CL
2868265984,2868268031,BR
@@ -85885,8 +88057,7 @@
2868336640,2868337663,AR
2868337664,2868338687,CL
2868338688,2868339711,AR
-2868339712,2868340735,BR
-2868341760,2868344831,BR
+2868339712,2868344831,BR
2868344832,2868345855,AR
2868345856,2868346879,BR
2868346880,2868348927,MX
@@ -85935,33 +88106,37 @@
2868599296,2868599807,IN
2868599808,2868604415,US
2868604416,2868604927,IN
-2868604928,2868612607,US
+2868604928,2868606975,CA
+2868606976,2868612607,US
2868612608,2868613119,IN
-2868613120,2868620799,US
+2868613120,2868615679,US
+2868615680,2868616703,IN
+2868616704,2868619775,US
+2868619776,2868620287,IN
+2868620288,2868620799,US
2868620800,2868621311,IN
-2868621312,2868627455,US
-2868627456,2868627711,DE
+2868621312,2868627711,US
2868627712,2868627967,GB
-2868627968,2868629503,US
-2868629504,2868631551,ID
-2868631552,2868632575,US
-2868632576,2868633087,BR
-2868633088,2868658175,US
+2868627968,2868631551,US
+2868631552,2868633599,AR
+2868633600,2868658175,US
2868658176,2868660223,GB
2868660224,2868662271,ES
-2868662272,2868666367,GB
-2868666368,2868673279,US
+2868662272,2868664319,DE
+2868664320,2868673279,US
2868673280,2868673535,ZA
-2868673536,2868674559,SE
-2868674560,2868678655,US
-2868678656,2868679167,JP
-2868679168,2868682751,US
-2868682752,2868682752,SG
+2868673536,2868674047,FI
+2868674048,2868674559,SE
+2868674560,2868676607,US
+2868676608,2868678655,AU
+2868678656,2868682751,US
+2868682752,2868682752,PH
2868682753,2868682753,US
-2868682754,2868686847,SG
-2868686848,2868690943,US
-2868690944,2868699135,BR
-2868699136,2868731903,US
+2868682754,2868684799,PH
+2868684800,2868689919,US
+2868689920,2868690943,SG
+2868690944,2868692991,BR
+2868692992,2868731903,US
2868731904,2868740095,CA
2868740096,2868772863,US
2868772864,2868773887,CO
@@ -86001,17 +88176,14 @@
2869166080,2869428223,TH
2869428224,2869952511,CN
2869952512,2870018047,FR
-2870018048,2870050815,DE
-2870050816,2870059007,FR
-2870059008,2870083583,DE
-2870083584,2870084140,FR
-2870084141,2870084141,ES
-2870084142,2870084144,FR
-2870084145,2870084145,ES
-2870084146,2870089727,FR
-2870089728,2870090751,BE
+2870018048,2870083583,DE
+2870083584,2870089727,FR
+2870089728,2870090495,DE
+2870090496,2870090751,BE
2870090752,2870091775,DE
-2870091776,2870149119,FR
+2870091776,2870095871,FR
+2870095872,2870096127,SG
+2870096128,2870149119,FR
2870149120,2870214655,HU
2870214656,2870228223,DK
2870228224,2870228991,US
@@ -86071,9 +88243,7 @@
2871083008,2871099391,FR
2871099392,2871101439,NL
2871101440,2871103487,CZ
-2871103488,2871103999,IE
-2871104000,2871104511,NO
-2871104512,2871105535,IE
+2871103488,2871105535,GB
2871105536,2871107583,FR
2871107584,2871111679,GB
2871111680,2871115775,DE
@@ -86089,19 +88259,21 @@
2874146816,2875195391,CN
2875195392,2875719679,TH
2875719680,2877292543,CN
-2877292544,2879332351,US
-2879332352,2879340543,GB
-2879340544,2881486847,US
-2881486848,2881495039,GB
-2881495040,2882469887,US
+2877292544,2879336447,US
+2879336448,2879338495,GB
+2879338496,2879914495,US
+2879914496,2879914559,FR
+2879914560,2881486847,US
+2881486848,2881488895,GB
+2881488896,2882469887,US
2882469888,2882535423,SG
2882535424,2883583999,CN
2883584000,2885681151,VN
2885681152,2886729727,US
-2887778304,2889522431,US
-2889522432,2889522687,PR
-2889522688,2889523071,US
-2889523072,2889523199,PR
+2887778304,2889522175,US
+2889522176,2889522687,PR
+2889522688,2889522943,US
+2889522944,2889523199,PR
2889523200,2890137599,US
2890137600,2890138623,AU
2890138624,2890139647,TH
@@ -86114,8 +88286,8 @@
2890150912,2890152959,US
2890152960,2890153983,GR
2890153984,2890158079,US
-2890158080,2890158847,AU
-2890158848,2890159103,US
+2890158080,2890158591,AU
+2890158592,2890159103,US
2890159104,2890160127,AU
2890160128,2890161151,US
2890161152,2890162175,ES
@@ -86132,12 +88304,12 @@
2890172416,2890173439,PL
2890173440,2890174463,US
2890174464,2890175231,SG
-2890175232,2890175487,AU
-2890175488,2890176511,US
-2890176512,2890177535,RS
-2890177536,2890178559,US
+2890175232,2890176511,US
+2890176512,2890178559,RS
2890178560,2890179583,IN
-2890179584,2890182655,US
+2890179584,2890180095,MA
+2890180096,2890180607,IN
+2890180608,2890182655,US
2890182656,2890183679,EC
2890183680,2890184703,SE
2890184704,2890185727,ZA
@@ -86157,7 +88329,8 @@
2890201088,2890203135,HK
2890203136,2890204159,AT
2890204160,2890205183,US
-2890205184,2890207231,MX
+2890205184,2890206207,RU
+2890206208,2890207231,NG
2890207232,2890216447,US
2890216448,2890217471,NL
2890217472,2890218495,GR
@@ -86186,8 +88359,8 @@
2890243072,2890244095,CA
2890244096,2890247167,US
2890247168,2890248191,GB
-2890248192,2890249215,HK
-2890249216,2890250239,US
+2890248192,2890248703,HK
+2890248704,2890250239,US
2890250240,2890251263,PH
2890251264,2890252287,LT
2890252288,2890253311,LV
@@ -86197,17 +88370,21 @@
2890256384,2890257407,US
2890257408,2890259455,CA
2890259456,2890260479,LU
-2890260480,2890261503,FR
-2890261504,2890264575,US
+2890260480,2890260991,US
+2890260992,2890261503,FR
+2890261504,2890262527,BH
+2890262528,2890264575,US
2890264576,2890265599,CL
-2890265600,2890266623,GB
-2890266624,2890267647,US
+2890265600,2890266111,PK
+2890266112,2890267647,US
2890267648,2890268671,MN
2890268672,2890956799,US
2890956800,2890989567,AE
2890989568,2891014911,US
2891014912,2891015167,JP
-2891015168,2891016191,US
+2891015168,2891015679,US
+2891015680,2891015935,JP
+2891015936,2891016191,US
2891016192,2891016447,JP
2891016448,2891017215,US
2891017216,2891017471,JP
@@ -86290,7 +88467,9 @@
2891807232,2891807487,GB
2891807488,2891807743,US
2891807744,2891808767,CA
-2891808768,2891834559,US
+2891808768,2891833983,US
+2891833984,2891834111,PA
+2891834112,2891834559,US
2891834560,2891834567,PA
2891834568,2891841535,US
2891841536,2891841791,SE
@@ -86360,8 +88539,7 @@
2891865856,2891866111,US
2891866112,2891866367,AU
2891866368,2891866623,BB
-2891866624,2891866879,HM
-2891866880,2891867391,AU
+2891866624,2891867391,AU
2891867392,2891867647,AT
2891867648,2891867903,US
2891867904,2891868159,AU
@@ -86462,7 +88640,7 @@
2892418048,2892420607,US
2892420608,2892420863,CA
2892420864,2892421631,US
-2892421632,2892421887,CA
+2892421632,2892421887,IT
2892421888,2892423167,US
2892423168,2892424191,VI
2892424192,2892425215,CA
@@ -86538,7 +88716,8 @@
2892994304,2892994559,US
2892994560,2892994815,JO
2892994816,2892995327,GB
-2892995328,2892995839,AU
+2892995328,2892995583,AU
+2892995584,2892995839,FR
2892995840,2892996095,GB
2892996096,2892996607,US
2892996608,2892996863,CA
@@ -86568,8 +88747,7 @@
2893003264,2893003775,GB
2893003776,2893004031,DE
2893004032,2893004287,JP
-2893004288,2893004543,DK
-2893004544,2893004799,US
+2893004288,2893004799,US
2893004800,2893005311,HK
2893005312,2893005567,US
2893005568,2893005823,FR
@@ -86614,7 +88792,9 @@
2893020416,2893020671,AT
2893020672,2893676543,US
2893676544,2893807615,JP
-2893807616,2894921727,US
+2893807616,2894784511,US
+2894784512,2894785023,GB
+2894785024,2894921727,US
2894921728,2894970879,GB
2894970880,2894979071,IE
2894979072,2895118335,GB
@@ -86629,7 +88809,9 @@
2896301500,2896301500,DE
2896301501,2896429280,US
2896429281,2896429281,CA
-2896429282,2897018879,US
+2896429282,2896436261,US
+2896436262,2896436262,CA
+2896436263,2897018879,US
2897018880,2897149951,DE
2897149952,2897215487,US
2897215488,2897739775,DE
@@ -86786,15 +88968,7 @@
2905510912,2905511935,CA
2905511936,2905512959,US
2905512960,2905513471,CA
-2905513472,2910032127,US
-2910032128,2910032383,PR
-2910032384,2910033919,US
-2910033920,2910034175,PR
-2910034176,2910036735,US
-2910036736,2910036991,PR
-2910036992,2910054399,US
-2910054400,2910054655,PR
-2910054656,2913992703,US
+2905513472,2913992703,US
2913992704,2914516991,CA
2914516992,2915105791,US
2915105792,2915106047,NL
@@ -86823,11 +88997,7 @@
2915518435,2915518435,FR
2915518436,2915518463,DK
2915518464,2915520511,GB
-2915520512,2915520543,US
-2915520544,2915520639,AU
-2915520640,2915520647,US
-2915520648,2915520671,AU
-2915520672,2915520767,US
+2915520512,2915520767,US
2915520768,2915521279,JP
2915521280,2915521535,PL
2915521536,2915526911,US
@@ -86853,11 +89023,15 @@
2915795014,2915795014,MX
2915795015,2915894575,US
2915894576,2915894591,CA
-2915894592,2915919999,US
+2915894592,2915916287,US
+2915916288,2915916543,NL
+2915916544,2915919999,US
2915920000,2915920007,CA
2915920008,2915920023,US
2915920024,2915920027,CA
-2915920028,2915920847,US
+2915920028,2915920815,US
+2915920816,2915920823,CA
+2915920824,2915920847,US
2915920848,2915920855,EC
2915920856,2915921231,US
2915921232,2915921239,EC
@@ -86871,7 +89045,9 @@
2915921828,2915958783,US
2915958784,2916024319,CA
2916024320,2916163583,US
-2916163584,2916171775,CA
+2916163584,2916171439,CA
+2916171440,2916171447,US
+2916171448,2916171775,CA
2916171776,2916184063,US
2916184064,2916196351,CA
2916196352,2916253695,US
@@ -86916,11 +89092,11 @@
2916417536,2916515839,US
2916515840,2916519935,CA
2916519936,2916532223,US
-2916532224,2916533247,IN
+2916532224,2916532735,IN
+2916532736,2916532991,CA
+2916532992,2916533247,IN
2916533248,2916581375,US
-2916581376,2916601343,PR
-2916601344,2916601599,US
-2916601600,2916614143,PR
+2916581376,2916614143,PR
2916614144,2917031935,US
2917031936,2917032959,NL
2917032960,2917035007,US
@@ -86929,7 +89105,9 @@
2917040128,2917041151,NL
2917041152,2917045503,US
2917045504,2917045759,NL
-2917045760,2917061119,US
+2917045760,2917058559,US
+2917058560,2917059583,NL
+2917059584,2917061119,US
2917061120,2917061631,NL
2917061632,2917068799,US
2917068800,2917069823,NL
@@ -86958,18 +89136,14 @@
2917261312,2917265407,US
2917265408,2917267775,JM
2917267776,2917267839,VG
-2917267840,2917267957,JM
-2917267958,2917267958,AG
-2917267959,2917267959,VG
-2917267960,2917268223,JM
+2917267840,2917267967,AG
+2917267968,2917268223,JM
2917268224,2917268479,BB
2917268480,2917269503,TC
2917269504,2917445887,US
2917445888,2917446143,DE
2917446144,2917449727,US
-2917449728,2917458431,PR
-2917458432,2917458943,US
-2917458944,2917466111,PR
+2917449728,2917466111,PR
2917466112,2917572607,US
2917572608,2917580799,CA
2917580800,2917597439,US
@@ -86982,17 +89156,24 @@
2917652224,2917652479,AU
2917652480,2917653503,US
2917653504,2917654015,GB
-2917654016,2917660671,US
+2917654016,2917654527,US
+2917654528,2917654655,TH
+2917654656,2917655935,US
+2917655936,2917656063,HU
+2917656064,2917656319,US
+2917656320,2917656447,CN
+2917656448,2917657087,US
+2917657088,2917657215,NO
+2917657216,2917657855,US
+2917657856,2917657983,CN
+2917657984,2917660671,US
2917660672,2917661183,GB
-2917661184,2917676031,US
-2917676032,2917676287,IN
-2917676288,2917687295,US
+2917661184,2917661311,CA
+2917661312,2917687295,US
2917687296,2917687551,RO
2917687552,2917688063,US
2917688064,2917688319,RO
-2917688320,2917700095,US
-2917700096,2917700351,CA
-2917700352,2917700959,US
+2917688320,2917700959,US
2917700960,2917700967,CN
2917700968,2917704191,US
2917704192,2917704447,CA
@@ -87002,9 +89183,7 @@
2917710592,2917710847,CA
2917710848,2917713919,US
2917713920,2917714175,CA
-2917714176,2917726463,US
-2917726464,2917726495,CR
-2917726496,2917826559,US
+2917714176,2917826559,US
2917826560,2917828351,NL
2917828352,2917828479,IN
2917828480,2917828607,NL
@@ -87016,7 +89195,9 @@
2918043648,2918047743,CA
2918047744,2918051839,US
2918051840,2918121471,CA
-2918121472,2918154239,US
+2918121472,2918136831,US
+2918136832,2918137087,CA
+2918137088,2918154239,US
2918154240,2918170623,CA
2918170624,2918171647,US
2918171648,2918171903,CL
@@ -87038,10 +89219,10 @@
2918181120,2918181375,VE
2918181376,2918181631,NZ
2918181632,2918187007,US
-2918187008,2918188319,CA
-2918188320,2918188351,US
-2918188352,2918189055,CA
-2918189056,2918189311,US
+2918187008,2918187263,CA
+2918187264,2918187775,US
+2918187776,2918188031,CA
+2918188032,2918189311,US
2918189312,2918189567,CA
2918189568,2918232063,US
2918232064,2918236159,CA
@@ -87058,7 +89239,9 @@
2918314218,2918314495,NL
2918314496,2918316031,US
2918316032,2918316543,JP
-2918316544,2918363135,US
+2918316544,2918346751,US
+2918346752,2918350847,CA
+2918350848,2918363135,US
2918363136,2918367231,CA
2918367232,2918371327,US
2918371328,2918375423,CA
@@ -87070,9 +89253,7 @@
2918432768,2918436863,CA
2918436864,2918458879,US
2918458880,2918459135,MY
-2918459136,2918459391,US
-2918459392,2918459647,PH
-2918459648,2918461183,US
+2918459136,2918461183,US
2918461184,2918461439,KR
2918461440,2918461695,US
2918461696,2918461951,TH
@@ -87083,7 +89264,9 @@
2918463232,2918463487,CA
2918463488,2918469631,US
2918469632,2918472703,CA
-2918472704,2918477823,US
+2918472704,2918473215,US
+2918473216,2918473727,CA
+2918473728,2918477823,US
2918477824,2918481919,CA
2918481920,2918486015,US
2918486016,2918490111,KZ
@@ -87099,9 +89282,7 @@
2918498512,2918498527,JP
2918498528,2918498535,US
2918498536,2918498539,JP
-2918498540,2918502911,US
-2918502912,2918503167,SG
-2918503168,2918515199,US
+2918498540,2918515199,US
2918515200,2918515327,CA
2918515328,2918527231,US
2918527232,2918527487,FR
@@ -87112,7 +89293,9 @@
2918570496,2918580223,US
2918580224,2918588415,CA
2918588416,2918596607,US
-2918596608,2918604799,CA
+2918596608,2918602751,CA
+2918602752,2918604543,US
+2918604544,2918604799,CA
2918604800,2918612991,US
2918612992,2918621183,CA
2918621184,2918628351,US
@@ -87129,21 +89312,15 @@
2918793216,2918816255,US
2918816256,2918816767,GB
2918816768,2918817791,US
-2918825984,2918829311,US
-2918829312,2918829439,CA
-2918829440,2918830079,US
+2918825984,2918830079,US
2918830080,2918834175,CA
2918834176,2918842367,US
2918842368,2918875135,CA
2918875136,2918973439,US
2918973440,2918989823,CA
-2918989824,2918995199,US
-2918995200,2918995455,GB
-2918995456,2919021503,US
+2918989824,2919021503,US
2919021504,2919021535,CA
-2919021536,2919022079,US
-2919022080,2919022591,CA
-2919022592,2919055359,US
+2919021536,2919055359,US
2919055360,2919057407,CN
2919057408,2919059455,IN
2919059456,2919063551,CN
@@ -87169,7 +89346,9 @@
2919208960,2919211007,CA
2919211008,2919235583,US
2919235584,2919759871,CA
-2919759872,2921530367,US
+2919759872,2921145183,US
+2921145184,2921145215,IT
+2921145216,2921530367,US
2921530368,2921530623,DE
2921530624,2921536561,US
2921536562,2921536569,CZ
@@ -87393,9 +89572,7 @@
2938983936,2938984447,NZ
2938984448,2938986495,AU
2938986496,2938986751,NZ
-2938986752,2938988031,AU
-2938988032,2938988287,NZ
-2938988288,2938996735,AU
+2938986752,2938996735,AU
2938996736,2938998783,JP
2938998784,2939002879,AU
2939002880,2939004927,KR
@@ -87475,15 +89652,11 @@
2947587072,2947588095,CN
2947588096,2947590143,ID
2947590144,2947590655,JP
-2947590656,2947590911,SG
-2947590912,2947590927,HK
-2947590928,2947591090,SG
+2947590656,2947591090,SG
2947591091,2947591091,HK
2947591092,2947591167,SG
2947591168,2947591183,HK
-2947591184,2947591679,SG
-2947591680,2947591695,JP
-2947591696,2947592191,SG
+2947591184,2947592191,SG
2947592192,2947593215,CN
2947593216,2947594239,HK
2947594240,2947595263,IN
@@ -87540,9 +89713,7 @@
2953596928,2953598975,ES
2953598976,2953601023,IT
2953601024,2953603071,RU
-2953603072,2953603977,GB
-2953603978,2953603979,IE
-2953603980,2953605119,GB
+2953603072,2953605119,GB
2953605120,2953609215,CZ
2953609216,2953707519,IL
2953707520,2953838591,RU
@@ -87566,13 +89737,19 @@
2954822280,2954822283,ES
2954822284,2954822323,FR
2954822324,2954822327,FI
-2954822328,2954822447,FR
+2954822328,2954822339,FR
+2954822340,2954822343,PL
+2954822344,2954822447,FR
2954822448,2954822455,ES
-2954822456,2954822591,FR
+2954822456,2954822535,FR
+2954822536,2954822539,PL
+2954822540,2954822591,FR
2954822592,2954822599,GB
2954822600,2954822639,FR
2954822640,2954822655,DE
-2954822656,2954822927,FR
+2954822656,2954822915,FR
+2954822916,2954822919,PL
+2954822920,2954822927,FR
2954822928,2954822931,DE
2954822932,2954823259,FR
2954823260,2954823263,GB
@@ -87621,7 +89798,9 @@
2954825404,2954825407,ES
2954825408,2954825535,FR
2954825536,2954825539,ES
-2954825540,2954825663,FR
+2954825540,2954825599,FR
+2954825600,2954825631,PL
+2954825632,2954825663,FR
2954825664,2954825727,GB
2954825728,2954826015,FR
2954826016,2954826019,PT
@@ -87654,7 +89833,8 @@
2954827940,2954827943,PT
2954827944,2954828335,FR
2954828336,2954828339,ES
-2954828340,2954828443,FR
+2954828340,2954828343,PL
+2954828344,2954828443,FR
2954828444,2954828447,CZ
2954828448,2954828511,FR
2954828512,2954828543,CZ
@@ -87666,7 +89846,9 @@
2954829008,2954829023,IE
2954829024,2954829135,FR
2954829136,2954829139,DE
-2954829140,2954829407,FR
+2954829140,2954829263,FR
+2954829264,2954829271,PL
+2954829272,2954829407,FR
2954829408,2954829423,ES
2954829424,2954829623,FR
2954829624,2954829631,ES
@@ -87683,19 +89865,24 @@
2954829824,2954829843,FR
2954829844,2954829847,DE
2954829848,2954829855,FI
-2954829856,2954829875,FR
+2954829856,2954829871,PL
+2954829872,2954829875,FR
2954829876,2954829879,DE
2954829880,2954830111,FR
2954830112,2954830127,IE
2954830128,2954830163,FR
2954830164,2954830167,PT
-2954830168,2954830395,FR
+2954830168,2954830383,FR
+2954830384,2954830387,PL
+2954830388,2954830395,FR
2954830396,2954830399,ES
2954830400,2954830523,FR
2954830524,2954830527,DE
2954830528,2954831247,FR
2954831248,2954831251,ES
-2954831252,2954831615,FR
+2954831252,2954831343,FR
+2954831344,2954831359,PL
+2954831360,2954831615,FR
2954831616,2954831631,DE
2954831632,2954831787,FR
2954831788,2954831791,CZ
@@ -87720,7 +89907,9 @@
2954832448,2954832479,CZ
2954832480,2954832607,FR
2954832608,2954832639,PT
-2954832640,2954832767,FR
+2954832640,2954832695,FR
+2954832696,2954832699,NL
+2954832700,2954832767,FR
2954832768,2954832771,DE
2954832772,2954832843,FR
2954832844,2954832847,GB
@@ -87734,17 +89923,23 @@
2954833456,2954833471,ES
2954833472,2954833567,FR
2954833568,2954833571,ES
-2954833572,2954833727,FR
-2954833728,2954833731,ES
-2954833732,2954833811,FR
+2954833572,2954833811,FR
2954833812,2954833815,DE
2954833816,2954833823,FR
2954833824,2954833855,GB
2954833856,2954833967,FR
2954833968,2954833983,ES
-2954833984,2954834143,FR
+2954833984,2954834003,FR
+2954834004,2954834007,PL
+2954834008,2954834103,FR
+2954834104,2954834107,PL
+2954834108,2954834143,FR
2954834144,2954834151,GB
-2954834152,2954834519,FR
+2954834152,2954834231,FR
+2954834232,2954834235,PL
+2954834236,2954834239,FR
+2954834240,2954834255,DE
+2954834256,2954834519,FR
2954834520,2954834523,ES
2954834524,2954834671,FR
2954834672,2954834675,ES
@@ -87763,7 +89958,8 @@
2954835452,2954835455,ES
2954835456,2954835511,FR
2954835512,2954835519,ES
-2954835520,2954835619,FR
+2954835520,2954835535,PL
+2954835536,2954835619,FR
2954835620,2954835620,ES
2954835621,2954835639,FR
2954835640,2954835643,DE
@@ -87789,7 +89985,9 @@
2954837580,2954837583,GB
2954837584,2954837599,FR
2954837600,2954837607,GB
-2954837608,2954837667,FR
+2954837608,2954837619,FR
+2954837620,2954837623,PL
+2954837624,2954837667,FR
2954837668,2954837671,ES
2954837672,2954837743,FR
2954837744,2954837751,CZ
@@ -87808,7 +90006,9 @@
2954838216,2954838219,GB
2954838220,2954838247,FR
2954838248,2954838255,ES
-2954838256,2954838655,FR
+2954838256,2954838543,FR
+2954838544,2954838559,PL
+2954838560,2954838655,FR
2954838656,2954838687,BE
2954838688,2954838911,FR
2954838912,2954838915,DE
@@ -87834,19 +90034,24 @@
2954840256,2954840381,GB
2954840382,2954840382,BE
2954840383,2954840447,GB
-2954840448,2954840515,FR
+2954840448,2954840511,FR
+2954840512,2954840515,PL
2954840516,2954840519,NL
2954840520,2954840575,FR
2954840576,2954840591,DE
2954840592,2954840611,FR
2954840612,2954840615,GB
-2954840616,2954840927,FR
+2954840616,2954840799,FR
+2954840800,2954840803,PL
+2954840804,2954840927,FR
2954840928,2954840931,DE
2954840932,2954841023,FR
2954841024,2954841087,ES
2954841088,2954841103,FR
2954841104,2954841111,ES
-2954841112,2954841259,FR
+2954841112,2954841247,FR
+2954841248,2954841251,PL
+2954841252,2954841259,FR
2954841260,2954841263,GB
2954841264,2954841523,FR
2954841524,2954841527,DE
@@ -87854,7 +90059,9 @@
2954841584,2954841591,ES
2954841592,2954841707,FR
2954841708,2954841711,NL
-2954841712,2954841851,FR
+2954841712,2954841779,FR
+2954841780,2954841783,PL
+2954841784,2954841851,FR
2954841852,2954841855,ES
2954841856,2954841943,FR
2954841944,2954841951,DE
@@ -87881,24 +90088,30 @@
2954843480,2954843487,NL
2954843488,2954843503,FR
2954843504,2954843507,ES
-2954843508,2954843643,FR
+2954843508,2954843511,FR
+2954843512,2954843519,PL
+2954843520,2954843643,FR
2954843644,2954843647,DE
2954843648,2954843759,FR
2954843760,2954843771,ES
-2954843772,2954844147,FR
+2954843772,2954843855,FR
+2954843856,2954843863,PL
+2954843864,2954844147,FR
2954844148,2954844151,DE
2954844152,2954844175,FR
2954844176,2954844179,DE
2954844180,2954844191,FR
2954844192,2954844223,NL
2954844224,2954844239,DE
-2954844240,2954844263,FR
-2954844264,2954844267,IE
-2954844268,2954844603,FR
+2954844240,2954844603,FR
2954844604,2954844607,CZ
-2954844608,2954844943,FR
+2954844608,2954844703,FR
+2954844704,2954844707,PL
+2954844708,2954844943,FR
2954844944,2954844947,GB
-2954844948,2954844999,FR
+2954844948,2954844959,FR
+2954844960,2954844967,PL
+2954844968,2954844999,FR
2954845000,2954845003,ES
2954845004,2954845055,FR
2954845056,2954845059,PT
@@ -87923,13 +90136,13 @@
2954848102,2954848102,VA
2954848103,2954854415,FR
2954854416,2954854431,GB
-2954854432,2954854559,FR
-2954854560,2954854575,DE
-2954854576,2954854607,FR
+2954854432,2954854607,FR
2954854608,2954854615,ES
2954854616,2954854751,FR
2954854752,2954854783,PT
-2954854784,2954855011,FR
+2954854784,2954854863,FR
+2954854864,2954854867,PL
+2954854868,2954855011,FR
2954855012,2954855015,CZ
2954855016,2954855051,FR
2954855052,2954855055,ES
@@ -87957,7 +90170,9 @@
2954855808,2954855871,DE
2954855872,2954855879,FR
2954855880,2954855887,ES
-2954855888,2954856115,FR
+2954855888,2954855903,FR
+2954855904,2954855919,PL
+2954855920,2954856115,FR
2954856116,2954856119,DE
2954856120,2954856179,FR
2954856180,2954856183,ES
@@ -87967,7 +90182,9 @@
2954856560,2954856563,ES
2954856564,2954856631,FR
2954856632,2954856635,GB
-2954856636,2954857119,FR
+2954856636,2954856691,FR
+2954856692,2954856695,PL
+2954856696,2954857119,FR
2954857120,2954857135,PT
2954857136,2954857583,FR
2954857584,2954857599,ES
@@ -88006,13 +90223,20 @@
2954859872,2954859903,ES
2954859904,2954859959,FR
2954859960,2954859963,ES
-2954859964,2954860319,FR
+2954859964,2954859967,PL
+2954859968,2954860227,FR
+2954860228,2954860231,PL
+2954860232,2954860319,FR
2954860320,2954860327,DE
2954860328,2954860459,FR
2954860460,2954860463,GB
2954860464,2954861195,FR
2954861196,2954861199,CZ
-2954861200,2954861651,FR
+2954861200,2954861231,FR
+2954861232,2954861239,PL
+2954861240,2954861247,FR
+2954861248,2954861311,PL
+2954861312,2954861651,FR
2954861652,2954861655,GB
2954861656,2954861763,FR
2954861764,2954861767,GB
@@ -88065,24 +90289,29 @@
2954871956,2954871959,PT
2954871960,2954871983,FR
2954871984,2954871999,PT
-2954872000,2954872331,FR
+2954872000,2954872063,FR
+2954872064,2954872319,IE
+2954872320,2954872331,FR
2954872332,2954872335,GB
-2954872336,2954872607,FR
+2954872336,2954872423,FR
+2954872424,2954872431,PL
+2954872432,2954872607,FR
2954872608,2954872639,ES
2954872640,2954872679,FR
2954872680,2954872687,ES
-2954872688,2954873351,FR
+2954872688,2954872991,FR
+2954872992,2954873023,PL
+2954873024,2954873351,FR
2954873352,2954873355,GB
2954873356,2954873695,FR
2954873696,2954873727,FI
-2954873728,2954873807,FR
+2954873728,2954873775,FR
+2954873776,2954873783,PL
+2954873784,2954873807,FR
2954873808,2954873815,DE
2954873816,2954873879,FR
2954873880,2954873887,PT
-2954873888,2954873919,FR
-2954873920,2954873983,IE
-2954873984,2954874111,GB
-2954874112,2954874127,FR
+2954873888,2954874127,FR
2954874128,2954874135,ES
2954874136,2954874351,FR
2954874352,2954874355,ES
@@ -88094,14 +90323,18 @@
2954874528,2954874559,FI
2954874560,2954874655,FR
2954874656,2954874663,DE
-2954874664,2954874943,FR
+2954874664,2954874671,FR
+2954874672,2954874675,PL
+2954874676,2954874943,FR
2954874944,2954874975,ES
2954874976,2954875071,FR
2954875072,2954875075,DE
2954875076,2954875079,BE
2954875080,2954875135,FR
2954875136,2954875167,GB
-2954875168,2954875479,FR
+2954875168,2954875327,FR
+2954875328,2954875359,PL
+2954875360,2954875479,FR
2954875480,2954875483,DE
2954875484,2954875583,FR
2954875584,2954875587,ES
@@ -88131,9 +90364,11 @@
2954876796,2954876799,DE
2954876800,2954876871,FR
2954876872,2954876875,ES
-2954876876,2954876887,FR
+2954876876,2954876879,PL
+2954876880,2954876887,FR
2954876888,2954876891,ES
-2954876892,2954877007,FR
+2954876892,2954876991,FR
+2954876992,2954877007,PL
2954877008,2954877023,CZ
2954877024,2954877103,FR
2954877104,2954877107,PL
@@ -88160,7 +90395,8 @@
2954878472,2954878475,GB
2954878476,2954878607,FR
2954878608,2954878623,FI
-2954878624,2954878687,FR
+2954878624,2954878655,FR
+2954878656,2954878687,PL
2954878688,2954878691,BE
2954878692,2954878695,FR
2954878696,2954878703,IE
@@ -88192,7 +90428,7 @@
2954932224,2954936319,RU
2954936320,2954938367,AM
2954938368,2954940415,HU
-2954940416,2954944511,DE
+2954940416,2954944511,SA
2954944512,2954946559,GB
2954946560,2954948607,DE
2954948608,2954950655,RU
@@ -88230,6 +90466,19 @@
2956259328,2956261375,DE
2956261376,2956263423,ES
2956263424,2956296191,TR
+2956296192,2956297215,FR
+2956297216,2956298239,RU
+2956298240,2956299263,DE
+2956299264,2956300287,RU
+2956300288,2956301311,GB
+2956301312,2956303359,RU
+2956303360,2956304383,TR
+2956304384,2956306431,RU
+2956306432,2956307455,GB
+2956307456,2956308479,RU
+2956308480,2956309503,DE
+2956309504,2956311551,RU
+2956311552,2956312575,CZ
2956312576,2956328959,RU
2956328960,2956460031,TR
2956460032,2956468223,RU
@@ -88278,9 +90527,7 @@
2956602368,2956602623,NL
2956602624,2956602879,SE
2956602880,2956603135,GB
-2956603136,2956604671,RU
-2956604672,2956604927,NL
-2956604928,2956605183,RU
+2956603136,2956605183,RU
2956605184,2956605439,NL
2956605440,2956605695,DE
2956605696,2956607487,RU
@@ -88327,9 +90574,9 @@
2957049856,2957058047,PS
2957058048,2957066239,RU
2957066240,2957068287,GB
-2957068288,2957069311,LU
-2957069312,2957069823,FR
-2957069824,2957070335,LU
+2957068288,2957069919,LU
+2957069920,2957069951,FR
+2957069952,2957070335,LU
2957070336,2957074431,IT
2957074432,2957082623,RU
2957082624,2957090815,DE
@@ -88340,24 +90587,7 @@
2957193216,2957195263,RU
2957195264,2957197311,PS
2957197312,2957201407,IR
-2957201408,2957201423,GB
-2957201424,2957201427,IE
-2957201428,2957201431,DK
-2957201432,2957201435,CH
-2957201436,2957201468,BR
-2957201664,2957201727,US
-2957201728,2957201743,CA
-2957201744,2957201759,MX
-2957201760,2957201775,BR
-2957201776,2957201791,AR
-2957201792,2957201807,BS
-2957201808,2957201823,VE
-2957201824,2957201839,AU
-2957201840,2957201855,JP
-2957201856,2957201871,HK
-2957201872,2957201887,RU
-2957201888,2957201903,KR
-2957201904,2957201919,TW
+2957201408,2957201919,NL
2957202176,2957202179,GB
2957202180,2957202183,BR
2957202184,2957202187,CA
@@ -88476,7 +90706,8 @@
2959122432,2959126527,PL
2959126528,2959128575,RO
2959128576,2959130623,RU
-2959130624,2959138815,UA
+2959130624,2959134719,UA
+2959134720,2959138815,ES
2959138816,2959147007,RU
2959147008,2959149055,UA
2959149056,2959151103,CZ
@@ -88596,6 +90827,15 @@
2959710208,2959711231,ES
2959711232,2959712255,IT
2959712256,2959728639,UA
+2959728640,2959729663,LT
+2959729664,2959730687,TR
+2959730688,2959731711,IT
+2959731712,2959732735,IQ
+2959732736,2959733759,SI
+2959733760,2959734783,GB
+2959734784,2959735807,JP
+2959735808,2959736063,IT
+2959736064,2959736831,NL
2959736832,2959738879,UA
2959738880,2959745023,RU
2959745024,2959747071,PL
@@ -88633,9 +90873,7 @@
2959884288,2959892479,KZ
2959892480,2959900671,UA
2959900672,2959902719,PL
-2959902720,2959915007,RU
-2959915008,2959916031,UA
-2959916032,2959925247,RU
+2959902720,2959925247,RU
2959925248,2959927295,RO
2959927296,2959929343,UA
2959929344,2959945727,RU
@@ -88701,6 +90939,16 @@
2960179200,2960206847,RU
2960206848,2960207871,GB
2960207872,2960211967,RU
+2960211968,2960212991,JP
+2960212992,2960214015,GB
+2960214016,2960214527,US
+2960214528,2960214783,CA
+2960214784,2960215039,ES
+2960215040,2960216063,DE
+2960216064,2960217087,RU
+2960217088,2960218111,ES
+2960218112,2960219135,RU
+2960219136,2960220159,BG
2960220160,2960224255,RO
2960224256,2960228351,RU
2960228352,2960232447,TJ
@@ -88768,8 +91016,14 @@
2960558080,2960560127,PL
2960560128,2960562175,UA
2960562176,2960564223,BY
-2960572416,2960573439,GB
-2960573440,2960574463,RU
+2960564224,2960565247,ES
+2960565248,2960566271,RU
+2960566272,2960567295,CZ
+2960567296,2960568319,FR
+2960568320,2960569343,BH
+2960569344,2960570367,DE
+2960570368,2960571391,RO
+2960571392,2960574463,RU
2960574464,2960576511,RO
2960576512,2960588799,RU
2960588800,2960592895,UA
@@ -88777,7 +91031,16 @@
2960594944,2960596991,UA
2960596992,2960605183,PL
2960605184,2960621567,UA
-2960629760,2960646143,RU
+2960621568,2960622591,MD
+2960622592,2960623615,ES
+2960623616,2960624639,HU
+2960624640,2960624895,RU
+2960624896,2960625151,GB
+2960625152,2960625663,RU
+2960625664,2960626687,IQ
+2960626688,2960627711,NL
+2960627712,2960628735,DE
+2960628736,2960646143,RU
2960646144,2960648191,KZ
2960648192,2960650239,UA
2960650240,2960652287,RU
@@ -88793,15 +91056,14 @@
2960695296,2960697343,AT
2960697344,2960699391,ES
2960699392,2960719871,RU
-2960719872,2960723455,UA
-2960723456,2960723711,BZ
-2960723712,2960723967,UA
+2960719872,2960723967,UA
2960723968,2960726015,RU
2960726016,2960728063,CH
2960728064,2960732159,RO
2960732160,2960733183,RU
2960733184,2960734207,GB
-2960734208,2960736255,RU
+2960734208,2960735231,AT
+2960735232,2960736255,RU
2960736256,2960738303,ES
2960738304,2960740351,UA
2960740352,2960742399,PL
@@ -88851,6 +91113,14 @@
2960908288,2960916479,KG
2960916480,2960916480,RU
2960916481,2960924671,UA
+2960924672,2960925695,RU
+2960925696,2960926719,DE
+2960926720,2960927743,FR
+2960927744,2960928767,RU
+2960928768,2960929791,EE
+2960929792,2960930815,GB
+2960930816,2960931839,RO
+2960931840,2960932863,NO
2960932864,2960933887,IR
2960933888,2960934655,GB
2960934656,2960934911,NL
@@ -88887,7 +91157,16 @@
2960981248,2960982015,NL
2960982016,2960990207,DE
2960990208,2960998399,UA
-2960998400,2961057023,RU
+2960998400,2961039359,RU
+2961039360,2961040383,FR
+2961040384,2961041407,GE
+2961041408,2961042431,NO
+2961042432,2961043455,LT
+2961043456,2961044479,RU
+2961044480,2961045503,NO
+2961045504,2961046527,ES
+2961046528,2961047551,DE
+2961047552,2961057023,RU
2961057024,2961057279,IE
2961057280,2961057535,GR
2961057536,2961057791,AT
@@ -88921,7 +91200,7 @@
2961089536,2961090559,KG
2961090560,2961091583,NL
2961091584,2961091839,RO
-2961091840,2961092095,BG
+2961091840,2961092095,ES
2961092096,2961096703,RO
2961096704,2961097471,GB
2961097472,2961100287,RO
@@ -88976,7 +91255,7 @@
2967398400,2967400447,DK
2967400448,2967404543,RU
2967404544,2967421183,RO
-2967421184,2967421439,BG
+2967421184,2967421439,IL
2967421440,2967421695,RO
2967421696,2967421951,ES
2967421952,2967422975,US
@@ -89019,8 +91298,7 @@
2967601152,2967633919,HU
2967633920,2967666687,RU
2967666688,2967699455,TR
-2967699456,2967702143,GB
-2967702272,2967703551,GB
+2967699456,2967703551,GB
2967703552,2967707647,ES
2967707648,2967709695,PL
2967709696,2967711743,IT
@@ -89031,13 +91309,7 @@
2967729152,2967730175,UA
2967730176,2967732223,CZ
2967732224,2967994367,IL
-2967994368,2968236543,TR
-2968236544,2968236771,GB
-2968236772,2968236772,TR
-2968236773,2968236799,GB
-2968236800,2968253951,TR
-2968253952,2968254463,GB
-2968254464,2968584191,TR
+2967994368,2968584191,TR
2968584192,2968600575,HU
2968600576,2968602623,JO
2968602624,2968604671,PL
@@ -89184,7 +91456,7 @@
2987704320,2987706367,GB
2987706368,2987708415,RS
2987708416,2987709439,DE
-2987709440,2987710463,NL
+2987709440,2987710463,RU
2987710464,2987712511,DK
2987712512,2987714559,TR
2987714560,2987716607,RU
@@ -89310,11 +91582,18 @@
2988442520,2988442527,DE
2988442528,2988442719,FR
2988442720,2988442751,FI
-2988442752,2988442999,FR
+2988442752,2988442815,FR
+2988442816,2988442831,PL
+2988442832,2988442895,FR
+2988442896,2988442899,PL
+2988442900,2988442975,FR
+2988442976,2988442983,PL
+2988442984,2988442999,FR
2988443000,2988443007,GB
2988443008,2988443023,FR
2988443024,2988443027,CZ
-2988443028,2988443055,FR
+2988443028,2988443039,FR
+2988443040,2988443055,PL
2988443056,2988443071,DE
2988443072,2988443103,FR
2988443104,2988443119,GB
@@ -89325,12 +91604,15 @@
2988443444,2988443447,DE
2988443448,2988443543,FR
2988443544,2988443547,ES
-2988443548,2988443671,FR
+2988443548,2988443555,FR
+2988443556,2988443559,PL
+2988443560,2988443671,FR
2988443672,2988443675,ES
2988443676,2988443687,FR
2988443688,2988443695,ES
2988443696,2988443703,PT
-2988443704,2988443719,FR
+2988443704,2988443711,FR
+2988443712,2988443719,PL
2988443720,2988443727,CZ
2988443728,2988443895,FR
2988443896,2988443903,BE
@@ -89352,12 +91634,14 @@
2988444736,2988444739,GB
2988444740,2988444815,FR
2988444816,2988444831,ES
-2988444832,2988445223,FR
+2988444832,2988444959,FR
+2988444960,2988444967,PL
+2988444968,2988445223,FR
2988445224,2988445231,ES
2988445232,2988446175,FR
2988446176,2988446207,FI
-2988446208,2988446399,FR
-2988446400,2988446431,PL
+2988446208,2988446327,FR
+2988446328,2988446431,PL
2988446432,2988446719,FR
2988446720,2988446723,DE
2988446724,2988446863,FR
@@ -89374,7 +91658,9 @@
2988448800,2988448815,ES
2988448816,2988449127,FR
2988449128,2988449135,ES
-2988449136,2988449207,FR
+2988449136,2988449151,FR
+2988449152,2988449167,PL
+2988449168,2988449207,FR
2988449208,2988449215,ES
2988449216,2988449327,FR
2988449328,2988449331,PL
@@ -89385,7 +91671,9 @@
2988453888,2988457983,GB
2988457984,2988458063,FR
2988458064,2988458067,ES
-2988458068,2988458279,FR
+2988458068,2988458075,FR
+2988458076,2988458079,PL
+2988458080,2988458279,FR
2988458280,2988458283,ES
2988458284,2988458291,FR
2988458292,2988458295,DE
@@ -89393,7 +91681,9 @@
2988458332,2988458335,GB
2988458336,2988458763,FR
2988458764,2988458767,DE
-2988458768,2988459079,FR
+2988458768,2988459007,FR
+2988459008,2988459015,PL
+2988459016,2988459079,FR
2988459080,2988459083,DE
2988459084,2988459087,FR
2988459088,2988459103,GB
@@ -89402,7 +91692,8 @@
2988459128,2988459135,PL
2988459136,2988459167,FR
2988459168,2988459171,IE
-2988459172,2988459179,FR
+2988459172,2988459175,FR
+2988459176,2988459179,PL
2988459180,2988459183,ES
2988459184,2988459231,FR
2988459232,2988459235,GB
@@ -89422,19 +91713,27 @@
2988459696,2988459699,IE
2988459700,2988459715,FR
2988459716,2988459719,FI
-2988459720,2988459967,FR
+2988459720,2988459747,FR
+2988459748,2988459751,PL
+2988459752,2988459967,FR
2988459968,2988459999,ES
-2988460000,2988460107,FR
+2988460000,2988460095,FR
+2988460096,2988460107,PL
2988460108,2988460111,DE
-2988460112,2988460131,FR
+2988460112,2988460127,FR
+2988460128,2988460131,PL
2988460132,2988460135,CZ
2988460136,2988460143,FR
2988460144,2988460147,GB
2988460148,2988460151,FR
2988460152,2988460159,ES
-2988460160,2988460399,FR
+2988460160,2988460279,FR
+2988460280,2988460287,PL
+2988460288,2988460399,FR
2988460400,2988460415,DE
-2988460416,2988460575,FR
+2988460416,2988460551,FR
+2988460552,2988460559,PL
+2988460560,2988460575,FR
2988460576,2988460591,PT
2988460592,2988460607,GB
2988460608,2988460651,FR
@@ -89444,9 +91743,9 @@
2988460752,2988460799,FR
2988460800,2988460863,DE
2988460864,2988460895,CZ
-2988460896,2988461263,FR
-2988461264,2988461279,ES
-2988461280,2988461423,FR
+2988460896,2988460935,FR
+2988460936,2988460943,PL
+2988460944,2988461423,FR
2988461424,2988461439,IE
2988461440,2988461495,FR
2988461496,2988461499,ES
@@ -89454,13 +91753,23 @@
2988461600,2988461615,DE
2988461616,2988461703,FR
2988461704,2988461707,GB
-2988461708,2988462331,FR
+2988461708,2988461759,FR
+2988461760,2988461791,PL
+2988461792,2988461951,FR
+2988461952,2988462079,PL
+2988462080,2988462143,FR
+2988462144,2988462151,PL
+2988462152,2988462199,FR
+2988462200,2988462203,PL
+2988462204,2988462331,FR
2988462332,2988462335,ES
2988462336,2988462431,FR
2988462432,2988462447,GB
2988462448,2988462747,FR
2988462748,2988462751,ES
-2988462752,2988463111,FR
+2988462752,2988462775,FR
+2988462776,2988462779,PL
+2988462780,2988463111,FR
2988463112,2988463119,ES
2988463120,2988463143,FR
2988463144,2988463151,ES
@@ -89468,10 +91777,14 @@
2988463204,2988463207,DE
2988463208,2988463223,FR
2988463224,2988463227,ES
-2988463228,2988463747,FR
+2988463228,2988463251,FR
+2988463252,2988463255,PL
+2988463256,2988463747,FR
2988463748,2988463751,GB
2988463752,2988463759,LT
-2988463760,2988463915,FR
+2988463760,2988463839,FR
+2988463840,2988463871,PL
+2988463872,2988463915,FR
2988463916,2988463919,ES
2988463920,2988463999,FR
2988464000,2988464007,IE
@@ -89479,9 +91792,14 @@
2988464016,2988464019,PT
2988464020,2988464023,FR
2988464024,2988464027,GB
-2988464028,2988464271,FR
+2988464028,2988464031,PL
+2988464032,2988464063,FR
+2988464064,2988464095,PL
+2988464096,2988464271,FR
2988464272,2988464275,ES
-2988464276,2988464355,FR
+2988464276,2988464307,FR
+2988464308,2988464311,PL
+2988464312,2988464355,FR
2988464356,2988464359,BE
2988464360,2988464360,NL
2988464361,2988464519,FR
@@ -89492,13 +91810,17 @@
2988464624,2988464627,ES
2988464628,2988464787,FR
2988464788,2988464791,ES
-2988464792,2988464927,FR
+2988464792,2988464895,FR
+2988464896,2988464911,PL
+2988464912,2988464927,FR
2988464928,2988464943,DE
2988464944,2988465191,FR
2988465192,2988465195,PL
2988465196,2988465215,FR
2988465216,2988465219,ES
-2988465220,2988465407,FR
+2988465220,2988465363,FR
+2988465364,2988465367,PL
+2988465368,2988465407,FR
2988465408,2988465423,CH
2988465424,2988465543,FR
2988465544,2988465547,CZ
@@ -89506,12 +91828,17 @@
2988465552,2988465563,ES
2988465564,2988465575,FR
2988465576,2988465583,ES
-2988465584,2988466059,FR
+2988465584,2988465587,PL
+2988465588,2988465599,FR
+2988465600,2988465615,PL
+2988465616,2988466059,FR
2988466060,2988466063,CZ
2988466064,2988466087,FR
2988466088,2988466095,PT
2988466096,2988466111,BE
-2988466112,2988474535,FR
+2988466112,2988474431,FR
+2988474432,2988474447,GB
+2988474448,2988474535,FR
2988474536,2988474543,GB
2988474544,2988474687,FR
2988474688,2988474703,FI
@@ -89537,17 +91864,21 @@
2988478656,2988478671,DE
2988478672,2988478719,FR
2988478720,2988478751,CZ
-2988478752,2988478795,FR
+2988478752,2988478787,FR
+2988478788,2988478791,PL
+2988478792,2988478795,FR
2988478796,2988478799,ES
2988478800,2988478955,FR
2988478956,2988478959,DE
-2988478960,2988479003,FR
+2988478960,2988478979,FR
+2988478980,2988478983,PL
+2988478984,2988479003,FR
2988479004,2988479007,ES
2988479008,2988479079,FR
2988479080,2988479087,DE
-2988479088,2988479155,FR
-2988479156,2988479159,ES
-2988479160,2988479343,FR
+2988479088,2988479151,FR
+2988479152,2988479155,PL
+2988479156,2988479343,FR
2988479344,2988479359,GB
2988479360,2988479603,FR
2988479604,2988479607,GB
@@ -89557,7 +91888,9 @@
2988479792,2988479807,GB
2988479808,2988479903,FR
2988479904,2988479935,PL
-2988479936,2988480011,FR
+2988479936,2988479999,FR
+2988480000,2988480003,PL
+2988480004,2988480011,FR
2988480012,2988480015,GB
2988480016,2988480063,FR
2988480064,2988480095,ES
@@ -89574,7 +91907,11 @@
2988480928,2988480959,ES
2988480960,2988481059,FR
2988481060,2988481063,FI
-2988481064,2988481343,FR
+2988481064,2988481163,FR
+2988481164,2988481167,PL
+2988481168,2988481199,FR
+2988481200,2988481203,PL
+2988481204,2988481343,FR
2988481344,2988481407,NL
2988481408,2988481743,FR
2988481744,2988481759,ES
@@ -89595,38 +91932,57 @@
2988482412,2988482415,PT
2988482416,2988482575,FR
2988482576,2988482579,CZ
-2988482580,2988482799,FR
+2988482580,2988482583,PL
+2988482584,2988482799,FR
2988482800,2988482807,ES
2988482808,2988482863,FR
2988482864,2988482871,ES
2988482872,2988482875,PT
2988482876,2988482879,CZ
2988482880,2988482883,PL
-2988482884,2988483027,FR
+2988482884,2988482943,FR
+2988482944,2988482959,PL
+2988482960,2988483027,FR
2988483028,2988483031,ES
-2988483032,2988483111,FR
+2988483032,2988483079,FR
+2988483080,2988483087,PL
+2988483088,2988483111,FR
2988483112,2988483115,ES
2988483116,2988483119,FR
2988483120,2988483127,ES
-2988483128,2988483159,FR
+2988483128,2988483151,FR
+2988483152,2988483155,PL
+2988483156,2988483159,FR
2988483160,2988483167,ES
2988483168,2988483175,FR
2988483176,2988483183,PL
-2988483184,2988483271,FR
+2988483184,2988483259,FR
+2988483260,2988483263,PL
+2988483264,2988483271,FR
2988483272,2988483279,DE
2988483280,2988483283,ES
2988483284,2988483287,DE
-2988483288,2988483375,FR
+2988483288,2988483367,FR
+2988483368,2988483371,PL
+2988483372,2988483375,FR
2988483376,2988483379,GB
2988483380,2988483595,FR
2988483596,2988483599,FI
-2988483600,2988483743,FR
+2988483600,2988483711,FR
+2988483712,2988483727,PL
+2988483728,2988483743,FR
2988483744,2988483759,DE
-2988483760,2988483967,FR
+2988483760,2988483775,FR
+2988483776,2988483839,PL
+2988483840,2988483967,FR
2988483968,2988483983,GB
-2988483984,2988484047,FR
+2988483984,2988483995,FR
+2988483996,2988483999,PL
+2988484000,2988484047,FR
2988484048,2988484051,ES
-2988484052,2988484127,FR
+2988484052,2988484059,FR
+2988484060,2988484063,PL
+2988484064,2988484127,FR
2988484128,2988484131,PT
2988484132,2988484191,FR
2988484192,2988484207,DE
@@ -89643,7 +91999,8 @@
2988484892,2988484895,GB
2988484896,2988485087,FR
2988485088,2988485103,DE
-2988485104,2988485455,FR
+2988485104,2988485119,PL
+2988485120,2988485455,FR
2988485456,2988485471,GB
2988485472,2988485503,FR
2988485504,2988485519,GB
@@ -89655,7 +92012,11 @@
2988485800,2988485803,PT
2988485804,2988485839,FR
2988485840,2988485855,DE
-2988485856,2988486075,FR
+2988485856,2988485887,FR
+2988485888,2988485903,PL
+2988485904,2988485999,FR
+2988486000,2988486015,PL
+2988486016,2988486075,FR
2988486076,2988486079,DE
2988486080,2988486083,FR
2988486084,2988486087,PT
@@ -89663,7 +92024,9 @@
2988486096,2988486099,GB
2988486100,2988486195,FR
2988486196,2988486199,PT
-2988486200,2988486323,FR
+2988486200,2988486231,FR
+2988486232,2988486235,PL
+2988486236,2988486323,FR
2988486324,2988486327,PT
2988486328,2988486335,FR
2988486336,2988486343,ES
@@ -89671,7 +92034,7 @@
2988486352,2988486367,ES
2988486368,2988486495,FR
2988486496,2988486503,DE
-2988486504,2988486511,FR
+2988486504,2988486511,PL
2988486512,2988486515,DE
2988486516,2988486607,FR
2988486608,2988486615,FI
@@ -89688,7 +92051,8 @@
2988487044,2988487047,PT
2988487048,2988487071,FR
2988487072,2988487075,ES
-2988487076,2988487095,FR
+2988487076,2988487087,FR
+2988487088,2988487095,PL
2988487096,2988487099,ES
2988487100,2988487103,GB
2988487104,2988487303,FR
@@ -89708,7 +92072,9 @@
2988488544,2988488555,GB
2988488556,2988488639,FR
2988488640,2988488647,ES
-2988488648,2988488927,FR
+2988488648,2988488655,FR
+2988488656,2988488663,PL
+2988488664,2988488927,FR
2988488928,2988488943,DE
2988488944,2988488971,FR
2988488972,2988488975,MT
@@ -89719,9 +92085,13 @@
2988489072,2988489087,DE
2988489088,2988489167,FR
2988489168,2988489175,PT
-2988489176,2988489375,FR
+2988489176,2988489331,FR
+2988489332,2988489335,PL
+2988489336,2988489375,FR
2988489376,2988489379,ES
-2988489380,2988489451,FR
+2988489380,2988489399,FR
+2988489400,2988489403,PL
+2988489404,2988489451,FR
2988489452,2988489455,DE
2988489456,2988489475,FR
2988489476,2988489479,GB
@@ -89737,7 +92107,9 @@
2988490296,2988490303,ES
2988490304,2988490367,FR
2988490368,2988490371,ES
-2988490372,2988490686,FR
+2988490372,2988490495,FR
+2988490496,2988490623,PL
+2988490624,2988490686,FR
2988490687,2988490687,BE
2988490688,2988490719,ES
2988490720,2988490967,FR
@@ -89750,7 +92122,9 @@
2988491936,2988491951,PL
2988491952,2988491967,FR
2988491968,2988492031,GB
-2988492032,2988492799,FR
+2988492032,2988492415,FR
+2988492416,2988492543,CZ
+2988492544,2988492799,FR
2988492800,2988494847,PL
2988494848,2988494899,FR
2988494900,2988494903,DE
@@ -89762,9 +92136,7 @@
2988496768,2988496799,CZ
2988496800,2988496831,FR
2988496832,2988496895,NL
-2988496896,2988498975,FR
-2988498976,2988498983,ES
-2988498984,2988499039,FR
+2988496896,2988499039,FR
2988499040,2988499051,DE
2988499052,2988499063,FR
2988499064,2988499067,DE
@@ -89780,9 +92152,7 @@
2988499568,2988499575,IE
2988499576,2988499583,FR
2988499584,2988499599,ES
-2988499600,2988499635,FR
-2988499636,2988499639,GB
-2988499640,2988499671,FR
+2988499600,2988499671,FR
2988499672,2988499675,GB
2988499676,2988499711,FR
2988499712,2988499715,PL
@@ -89805,9 +92175,16 @@
2988500888,2988500895,ES
2988500896,2988500939,FR
2988500940,2988500943,ES
-2988500944,2988501483,FR
+2988500944,2988500975,FR
+2988500976,2988500979,PL
+2988500980,2988501119,FR
+2988501120,2988501123,PL
+2988501124,2988501411,FR
+2988501412,2988501415,PL
+2988501416,2988501483,FR
2988501484,2988501487,DE
-2988501488,2988501683,FR
+2988501488,2988501679,FR
+2988501680,2988501683,PL
2988501684,2988501687,GB
2988501688,2988502031,FR
2988502032,2988502035,IE
@@ -89833,13 +92210,17 @@
2988502984,2988502991,ES
2988502992,2988503011,FR
2988503012,2988503015,DE
-2988503016,2988503375,FR
+2988503016,2988503023,FR
+2988503024,2988503031,FI
+2988503032,2988503375,FR
2988503376,2988503383,PT
2988503384,2988503487,FR
2988503488,2988503495,IT
2988503496,2988503919,FR
2988503920,2988503927,CZ
-2988503928,2988504023,FR
+2988503928,2988503943,FR
+2988503944,2988503947,PL
+2988503948,2988504023,FR
2988504024,2988504031,PT
2988504032,2988504159,FR
2988504160,2988504191,LT
@@ -89852,7 +92233,9 @@
2988504364,2988504367,FI
2988504368,2988504371,FR
2988504372,2988504375,PL
-2988504376,2988504467,FR
+2988504376,2988504415,FR
+2988504416,2988504419,PL
+2988504420,2988504467,FR
2988504468,2988504471,ES
2988504472,2988504527,FR
2988504528,2988504543,PL
@@ -89868,9 +92251,13 @@
2988505312,2988505375,FR
2988505376,2988505391,GB
2988505392,2988505395,ES
-2988505396,2988505535,FR
+2988505396,2988505439,FR
+2988505440,2988505455,PL
+2988505456,2988505535,FR
2988505536,2988505567,ES
-2988505568,2988505919,FR
+2988505568,2988505663,FR
+2988505664,2988505695,PL
+2988505696,2988505919,FR
2988505920,2988505935,GB
2988505936,2988506063,FR
2988506064,2988506071,GB
@@ -89892,7 +92279,10 @@
2988507336,2988507339,ES
2988507340,2988507391,FR
2988507392,2988507423,DE
-2988507424,2988507551,FR
+2988507424,2988507431,PL
+2988507432,2988507539,FR
+2988507540,2988507543,PL
+2988507544,2988507551,FR
2988507552,2988507560,GB
2988507561,2988507561,FR
2988507562,2988507567,GB
@@ -89902,39 +92292,58 @@
2988507688,2988507695,ES
2988507696,2988507951,FR
2988507952,2988507955,DE
-2988507956,2988507979,FR
+2988507956,2988507971,FR
+2988507972,2988507975,PL
+2988507976,2988507979,FR
2988507980,2988507983,DE
-2988507984,2988508135,FR
+2988507984,2988507991,PL
+2988507992,2988508127,FR
+2988508128,2988508135,PL
2988508136,2988508143,GB
2988508144,2988508155,FR
2988508156,2988508159,ES
2988508160,2988508219,FR
2988508220,2988508223,DE
-2988508224,2988508439,FR
+2988508224,2988508287,FR
+2988508288,2988508303,PL
+2988508304,2988508439,FR
2988508440,2988508443,GB
-2988508444,2988508607,FR
+2988508444,2988508447,FR
+2988508448,2988508455,PL
+2988508456,2988508607,FR
2988508608,2988508639,ES
-2988508640,2988508851,FR
+2988508640,2988508687,FR
+2988508688,2988508703,PL
+2988508704,2988508851,FR
2988508852,2988508855,GB
2988508856,2988509151,FR
2988509152,2988509183,IT
2988509184,2988509191,FR
2988509192,2988509199,CZ
-2988509200,2988509447,FR
+2988509200,2988509371,FR
+2988509372,2988509375,PL
+2988509376,2988509447,FR
2988509448,2988509451,ES
2988509452,2988509491,FR
2988509492,2988509495,IE
2988509496,2988509511,FR
2988509512,2988509515,PL
-2988509516,2988509747,FR
+2988509516,2988509543,FR
+2988509544,2988509551,PL
+2988509552,2988509747,FR
2988509748,2988509751,LT
-2988509752,2988509779,FR
+2988509752,2988509759,FR
+2988509760,2988509767,PL
+2988509768,2988509779,FR
2988509780,2988509783,GB
-2988509784,2988509871,FR
+2988509784,2988509823,FR
+2988509824,2988509839,PL
+2988509840,2988509871,FR
2988509872,2988509875,DE
2988509876,2988510015,FR
2988510016,2988510023,ES
-2988510024,2988510079,FR
+2988510024,2988510047,FR
+2988510048,2988510079,PL
2988510080,2988510087,ES
2988510088,2988510095,FR
2988510096,2988510099,ES
@@ -89942,11 +92351,16 @@
2988510112,2988510143,CZ
2988510144,2988510175,FR
2988510176,2988510191,DE
-2988510192,2988510311,FR
+2988510192,2988510263,FR
+2988510264,2988510271,PL
+2988510272,2988510311,FR
2988510312,2988510319,GB
2988510320,2988510639,FR
2988510640,2988510655,LT
-2988510656,2988511023,FR
+2988510656,2988510687,PL
+2988510688,2988510703,FR
+2988510704,2988510719,PL
+2988510720,2988511023,FR
2988511024,2988511027,GB
2988511028,2988511711,FR
2988511712,2988511719,DE
@@ -89957,16 +92371,23 @@
2988512208,2988512239,FR
2988512240,2988512247,DE
2988512248,2988512251,GB
-2988512252,2988512307,FR
+2988512252,2988512287,FR
+2988512288,2988512303,PL
+2988512304,2988512307,FR
2988512308,2988512311,GB
-2988512312,2988512399,FR
+2988512312,2988512339,FR
+2988512340,2988512343,PL
+2988512344,2988512399,FR
2988512400,2988512403,ES
2988512404,2988512407,LT
-2988512408,2988512639,FR
+2988512408,2988512631,FR
+2988512632,2988512639,PL
2988512640,2988512647,GB
2988512648,2988512655,FR
2988512656,2988512663,PT
-2988512664,2988512903,FR
+2988512664,2988512687,FR
+2988512688,2988512703,PL
+2988512704,2988512903,FR
2988512904,2988512907,GB
2988512908,2988512943,FR
2988512944,2988512951,ES
@@ -90007,9 +92428,14 @@
2988514528,2988514543,GB
2988514544,2988514739,FR
2988514740,2988514743,GB
-2988514744,2988514943,FR
+2988514744,2988514823,FR
+2988514824,2988514827,PL
+2988514828,2988514943,FR
2988514944,2988514959,ES
-2988514960,2988515327,FR
+2988514960,2988514975,PL
+2988514976,2988514979,FR
+2988514980,2988514983,PL
+2988514984,2988515327,FR
2988515328,2988517375,DE
2988517376,2988519423,FR
2988519424,2988521471,PL
@@ -90023,9 +92449,13 @@
2988523552,2988523559,ES
2988523560,2988523599,FR
2988523600,2988523603,ES
-2988523604,2988523631,FR
+2988523604,2988523607,FR
+2988523608,2988523615,PL
+2988523616,2988523631,FR
2988523632,2988523635,DE
-2988523636,2988523663,FR
+2988523636,2988523643,FR
+2988523644,2988523651,PL
+2988523652,2988523663,FR
2988523664,2988523667,IE
2988523668,2988523679,FR
2988523680,2988523711,ES
@@ -90043,7 +92473,9 @@
2988524232,2988524239,ES
2988524240,2988524271,FR
2988524272,2988524287,DE
-2988524288,2988524359,FR
+2988524288,2988524319,FR
+2988524320,2988524323,PL
+2988524324,2988524359,FR
2988524360,2988524363,ES
2988524364,2988524383,FR
2988524384,2988524415,PL
@@ -90054,13 +92486,17 @@
2988524624,2988524627,GB
2988524628,2988524767,FR
2988524768,2988524783,ES
-2988524784,2988525887,FR
+2988524784,2988525599,FR
+2988525600,2988525631,PL
+2988525632,2988525887,FR
2988525888,2988525951,GB
2988525952,2988525983,FR
2988525984,2988525999,DE
2988526000,2988526135,FR
2988526136,2988526143,GB
-2988526144,2988526415,FR
+2988526144,2988526239,FR
+2988526240,2988526335,PL
+2988526336,2988526415,FR
2988526416,2988526423,ES
2988526424,2988526607,FR
2988526608,2988526615,DE
@@ -90068,7 +92504,9 @@
2988526704,2988526707,GB
2988526708,2988526867,FR
2988526868,2988526871,PT
-2988526872,2988527187,FR
+2988526872,2988527127,FR
+2988527128,2988527135,PL
+2988527136,2988527187,FR
2988527188,2988527191,ES
2988527192,2988527487,FR
2988527488,2988527503,GB
@@ -90085,9 +92523,13 @@
2988527888,2988527891,ES
2988527892,2988528079,FR
2988528080,2988528095,ES
-2988528096,2988528227,FR
+2988528096,2988528115,FR
+2988528116,2988528119,PL
+2988528120,2988528227,FR
2988528228,2988528231,IE
-2988528232,2988528447,FR
+2988528232,2988528351,FR
+2988528352,2988528383,PL
+2988528384,2988528447,FR
2988528448,2988528455,IE
2988528456,2988528467,FR
2988528468,2988528471,GB
@@ -90095,22 +92537,34 @@
2988528592,2988528607,FI
2988528608,2988528699,FR
2988528700,2988528703,CZ
-2988528704,2988528999,FR
+2988528704,2988528767,FR
+2988528768,2988528771,PL
+2988528772,2988528911,FR
+2988528912,2988528919,PL
+2988528920,2988528999,FR
2988529000,2988529003,GB
2988529004,2988529175,FR
2988529176,2988529179,ES
-2988529180,2988529331,FR
+2988529180,2988529311,FR
+2988529312,2988529315,PL
+2988529316,2988529331,FR
2988529332,2988529335,GB
2988529336,2988529383,FR
2988529384,2988529387,ES
2988529388,2988529423,FR
2988529424,2988529431,DE
-2988529432,2988529583,FR
+2988529432,2988529535,FR
+2988529536,2988529567,PL
+2988529568,2988529583,FR
2988529584,2988529591,ES
2988529592,2988529823,FR
2988529824,2988529855,ES
2988529856,2988529887,IE
-2988529888,2988530047,FR
+2988529888,2988529891,FR
+2988529892,2988529895,PL
+2988529896,2988529983,FR
+2988529984,2988529999,PL
+2988530000,2988530047,FR
2988530048,2988530049,GB
2988530050,2988530067,FR
2988530068,2988530071,DE
@@ -90121,7 +92575,10 @@
2988530304,2988530307,DE
2988530308,2988530399,FR
2988530400,2988530403,ES
-2988530404,2988530423,FR
+2988530404,2988530407,PL
+2988530408,2988530415,FR
+2988530416,2988530419,PL
+2988530420,2988530423,FR
2988530424,2988530431,ES
2988530432,2988530687,DE
2988530688,2988530703,FR
@@ -90144,7 +92601,9 @@
2988539936,2988539967,GB
2988539968,2988539971,FR
2988539972,2988539975,ES
-2988539976,2988540207,FR
+2988539976,2988539983,FR
+2988539984,2988539999,PL
+2988540000,2988540207,FR
2988540208,2988540211,GB
2988540212,2988540271,FR
2988540272,2988540275,ES
@@ -90154,7 +92613,9 @@
2988540564,2988540567,CZ
2988540568,2988540623,FR
2988540624,2988540631,GB
-2988540632,2988540759,FR
+2988540632,2988540651,FR
+2988540652,2988540655,PL
+2988540656,2988540759,FR
2988540760,2988540763,ES
2988540764,2988541103,FR
2988541104,2988541119,ES
@@ -90162,7 +92623,9 @@
2988541132,2988541135,DE
2988541136,2988541243,FR
2988541244,2988541247,GB
-2988541248,2988541351,FR
+2988541248,2988541327,FR
+2988541328,2988541335,PL
+2988541336,2988541351,FR
2988541352,2988541355,IE
2988541356,2988541423,FR
2988541424,2988541439,DE
@@ -90172,7 +92635,9 @@
2988541792,2988541807,ES
2988541808,2988541863,FR
2988541864,2988541867,GB
-2988541868,2988541955,FR
+2988541868,2988541919,FR
+2988541920,2988541927,PL
+2988541928,2988541955,FR
2988541956,2988541959,DE
2988541960,2988542051,FR
2988542052,2988542055,ES
@@ -90182,13 +92647,17 @@
2988542272,2988542335,ES
2988542336,2988542339,FR
2988542340,2988542340,PT
-2988542341,2988542519,FR
+2988542341,2988542411,FR
+2988542412,2988542415,PL
+2988542416,2988542519,FR
2988542520,2988542523,GB
2988542524,2988542611,FR
2988542612,2988542615,DE
2988542616,2988542623,FR
2988542624,2988542627,DE
-2988542628,2988543127,FR
+2988542628,2988543007,FR
+2988543008,2988543011,PL
+2988543012,2988543127,FR
2988543128,2988543135,ES
2988543136,2988543179,FR
2988543180,2988543183,ES
@@ -90196,17 +92665,21 @@
2988543200,2988543203,GB
2988543204,2988543559,FR
2988543560,2988543563,PT
-2988543564,2988543871,FR
+2988543564,2988543583,FR
+2988543584,2988543599,LT
+2988543600,2988543871,FR
2988543872,2988543935,ES
-2988543936,2988544055,FR
-2988544056,2988544063,FI
-2988544064,2988544307,FR
+2988543936,2988544307,FR
2988544308,2988544311,GB
2988544312,2988544375,FR
2988544376,2988544383,ES
-2988544384,2988544527,FR
+2988544384,2988544479,FR
+2988544480,2988544495,PL
+2988544496,2988544527,FR
2988544528,2988544535,ES
-2988544536,2988544671,FR
+2988544536,2988544639,FR
+2988544640,2988544647,PL
+2988544648,2988544671,FR
2988544672,2988544687,GB
2988544688,2988544767,FR
2988544768,2988544775,ES
@@ -90225,7 +92698,9 @@
2988545696,2988545791,FR
2988545792,2988545795,NL
2988545796,2988545799,ES
-2988545800,2988545995,FR
+2988545800,2988545923,FR
+2988545924,2988545927,PL
+2988545928,2988545995,FR
2988545996,2988545999,FI
2988546000,2988546119,FR
2988546120,2988546123,IE
@@ -90235,7 +92710,9 @@
2988546328,2988546335,ES
2988546336,2988546351,FR
2988546352,2988546367,ES
-2988546368,2988546571,FR
+2988546368,2988546543,FR
+2988546544,2988546547,PL
+2988546548,2988546571,FR
2988546572,2988546575,DE
2988546576,2988546579,ES
2988546580,2988546599,FR
@@ -90248,16 +92725,22 @@
2988546704,2988546719,DE
2988546720,2988546727,FR
2988546728,2988546731,ES
-2988546732,2988546999,FR
+2988546732,2988546859,FR
+2988546860,2988546863,PL
+2988546864,2988546999,FR
2988547000,2988547003,FI
2988547004,2988547007,ES
2988547008,2988547067,FR
2988547068,2988547071,ES
2988547072,2988547095,FR
2988547096,2988547099,ES
-2988547100,2988547431,FR
+2988547100,2988547111,FR
+2988547112,2988547115,PL
+2988547116,2988547311,FR
+2988547312,2988547327,PL
+2988547328,2988547431,FR
2988547432,2988547435,ES
-2988547436,2988547443,FR
+2988547436,2988547443,PL
2988547444,2988547447,DE
2988547448,2988547451,FR
2988547452,2988547455,PT
@@ -90276,10 +92759,14 @@
2988547872,2988547903,GB
2988547904,2988547967,FR
2988547968,2988547971,GB
-2988547972,2988548015,FR
+2988547972,2988547975,FR
+2988547976,2988547979,PL
+2988547980,2988548015,FR
2988548016,2988548019,ES
2988548020,2988548023,GB
-2988548024,2988548095,FR
+2988548024,2988548059,FR
+2988548060,2988548063,PL
+2988548064,2988548095,FR
2988548096,2988548338,ES
2988548339,2988548339,FR
2988548340,2988550143,ES
@@ -90306,8 +92793,10 @@
2988550600,2988550643,FR
2988550644,2988550647,ES
2988550648,2988550975,FR
-2988550976,2988551007,PL
-2988551008,2988551171,FR
+2988550976,2988551039,PL
+2988551040,2988551099,FR
+2988551100,2988551103,NL
+2988551104,2988551171,FR
2988551172,2988551175,FI
2988551176,2988551179,ES
2988551180,2988551183,GB
@@ -90319,7 +92808,9 @@
2988551444,2988551451,ES
2988551452,2988551455,FR
2988551456,2988551471,GB
-2988551472,2988551535,FR
+2988551472,2988551503,FR
+2988551504,2988551511,PL
+2988551512,2988551535,FR
2988551536,2988551551,DE
2988551552,2988551567,FR
2988551568,2988551583,IE
@@ -90329,7 +92820,9 @@
2988551672,2988551675,DE
2988551676,2988551743,FR
2988551744,2988551759,CZ
-2988551760,2988551903,FR
+2988551760,2988551871,FR
+2988551872,2988551887,PL
+2988551888,2988551903,FR
2988551904,2988551911,GB
2988551912,2988551915,FR
2988551916,2988551919,DE
@@ -90344,7 +92837,9 @@
2988552688,2988552711,ES
2988552712,2988552751,FR
2988552752,2988552767,ES
-2988552768,2988552959,FR
+2988552768,2988552779,FR
+2988552780,2988552783,PL
+2988552784,2988552959,FR
2988552960,2988552975,ES
2988552976,2988552991,FR
2988552992,2988552995,ES
@@ -90360,13 +92855,22 @@
2988553280,2988553283,ES
2988553284,2988553311,FR
2988553312,2988553315,ES
-2988553316,2988553531,FR
+2988553316,2988553487,FR
+2988553488,2988553495,PL
+2988553496,2988553531,FR
2988553532,2988553535,ES
-2988553536,2988553735,FR
+2988553536,2988553631,FR
+2988553632,2988553639,PL
+2988553640,2988553735,FR
2988553736,2988553739,DE
-2988553740,2988553855,FR
+2988553740,2988553743,PL
+2988553744,2988553855,FR
2988553856,2988553919,BE
-2988553920,2988553971,FR
+2988553920,2988553931,FR
+2988553932,2988553935,PL
+2988553936,2988553955,FR
+2988553956,2988553959,PL
+2988553960,2988553971,FR
2988553972,2988553975,ES
2988553976,2988553983,DE
2988553984,2988554035,FR
@@ -90397,7 +92901,9 @@
2988555528,2988555531,DE
2988555532,2988555551,FR
2988555552,2988555559,PT
-2988555560,2988556139,FR
+2988555560,2988556111,FR
+2988556112,2988556115,PL
+2988556116,2988556139,FR
2988556140,2988556143,DE
2988556144,2988556175,FR
2988556176,2988556179,DE
@@ -90412,7 +92918,8 @@
2988556256,2988556259,ES
2988556260,2988556263,FR
2988556264,2988556271,GB
-2988556272,2988556283,FR
+2988556272,2988556279,FR
+2988556280,2988556283,PL
2988556284,2988556287,GB
2988556288,2988556315,FR
2988556316,2988556319,DE
@@ -90428,18 +92935,24 @@
2988557396,2988557399,PL
2988557400,2988557423,FR
2988557424,2988557427,ES
-2988557428,2988557507,FR
+2988557428,2988557499,FR
+2988557500,2988557503,PL
+2988557504,2988557507,FR
2988557508,2988557511,ES
2988557512,2988557515,GB
-2988557516,2988557539,FR
+2988557516,2988557535,FR
+2988557536,2988557539,PL
2988557540,2988557543,ES
2988557544,2988557631,FR
2988557632,2988557635,GB
2988557636,2988558075,FR
2988558076,2988558079,NL
-2988558080,2988558127,FR
+2988558080,2988558099,FR
+2988558100,2988558103,PL
+2988558104,2988558127,FR
2988558128,2988558131,DE
-2988558132,2988558139,FR
+2988558132,2988558135,PL
+2988558136,2988558139,FR
2988558140,2988558143,DE
2988558144,2988558203,FR
2988558204,2988558207,DE
@@ -90462,40 +92975,58 @@
2988559616,2988559619,ES
2988559620,2988559663,FR
2988559664,2988559679,ES
-2988559680,2988559727,FR
+2988559680,2988559691,FR
+2988559692,2988559695,PL
+2988559696,2988559727,FR
2988559728,2988559731,DE
2988559732,2988560639,FR
2988560640,2988560703,ES
-2988560704,2988560759,FR
+2988560704,2988560711,FR
+2988560712,2988560715,PL
+2988560716,2988560759,FR
2988560760,2988560767,FI
2988560768,2988560783,FR
2988560784,2988560799,NL
2988560800,2988560815,DE
-2988560816,2988561051,FR
+2988560816,2988560975,FR
+2988560976,2988560991,PL
+2988560992,2988561047,FR
+2988561048,2988561051,PL
2988561052,2988561055,GB
2988561056,2988561215,FR
2988561216,2988561231,ES
2988561232,2988561235,PT
2988561236,2988561239,FR
2988561240,2988561243,NL
-2988561244,2988561399,FR
+2988561244,2988561247,PL
+2988561248,2988561399,FR
2988561400,2988561403,ES
2988561404,2988561583,FR
2988561584,2988561591,GB
-2988561592,2988561747,FR
+2988561592,2988561631,FR
+2988561632,2988561663,PL
+2988561664,2988561747,FR
2988561748,2988561751,GB
2988561752,2988561759,FR
2988561760,2988561763,PL
2988561764,2988561767,IT
2988561768,2988561939,FR
2988561940,2988561943,FI
-2988561944,2988562495,FR
+2988561944,2988562127,FR
+2988562128,2988562131,IE
+2988562132,2988562175,FR
+2988562176,2988562431,CZ
+2988562432,2988562495,FR
2988562496,2988562527,FI
-2988562528,2988562595,FR
+2988562528,2988562575,FR
+2988562576,2988562583,PL
+2988562584,2988562595,FR
2988562596,2988562599,GB
2988562600,2988562847,FR
2988562848,2988562863,GB
-2988562864,2988563527,FR
+2988562864,2988563103,FR
+2988563104,2988563135,PL
+2988563136,2988563527,FR
2988563528,2988563535,ES
2988563536,2988563671,FR
2988563672,2988563675,DE
@@ -90507,7 +93038,9 @@
2988564144,2988564159,ES
2988564160,2988564175,FR
2988564176,2988564179,GB
-2988564180,2988564191,FR
+2988564180,2988564183,FR
+2988564184,2988564187,PL
+2988564188,2988564191,FR
2988564192,2988564195,ES
2988564196,2988564215,FR
2988564216,2988564219,GB
@@ -90521,11 +93054,7 @@
2988564408,2988566331,FR
2988566332,2988566332,GB
2988566333,2988572671,FR
-2988572672,2988611583,RU
-2988611584,2988613247,UA
-2988613248,2988613248,RU
-2988613249,2988613631,UA
-2988613632,2988617727,RU
+2988572672,2988617727,RU
2988617728,2988621823,UA
2988621824,2988703743,RU
2988703744,2988834815,PL
@@ -90574,7 +93103,14 @@
2991161344,2991177727,FR
2991177728,2991179503,SE
2991179504,2991179507,ES
-2991179508,2991191807,SE
+2991179508,2991188223,SE
+2991188224,2991188255,GB
+2991188256,2991188271,NL
+2991188272,2991188287,DE
+2991188288,2991188303,DK
+2991188304,2991188319,ES
+2991188320,2991188323,FR
+2991188324,2991191807,SE
2991191808,2991192063,FI
2991192064,2991194111,SE
2991194112,2991210495,NO
@@ -90698,7 +93234,7 @@
2996785152,2996786175,RU
2996786176,2996787199,TR
2996787200,2996788223,RU
-2996788224,2996789247,TR
+2996788224,2996789247,IT
2996789248,2996789503,UA
2996789504,2996789759,RU
2996789760,2996790015,UA
@@ -90729,9 +93265,7 @@
2997190656,2997223423,AT
2997223424,2997256191,PT
2997256192,2997321727,RU
-2997321728,2997331967,IE
-2997331968,2997332095,GB
-2997332096,2997354495,IE
+2997321728,2997354495,IE
2997354496,2997387263,MD
2997387264,2997420031,BY
2997420032,2997428223,IR
@@ -90797,8 +93331,7 @@
2997564416,2997564927,RU
2997564928,2997565439,TR
2997565440,2997565695,IT
-2997565696,2997565951,RU
-2997565952,2997566463,BY
+2997565696,2997566463,RU
2997566464,2997567487,TR
2997567488,2997567999,LV
2997568000,2997568511,TM
@@ -90839,9 +93372,15 @@
2998140928,2998403071,PL
2998403072,2998665215,RU
2998665216,2998927359,AT
-2998927360,2999433599,CH
-2999433600,2999433727,DE
-2999433728,2999451647,CH
+2998927360,2999325951,CH
+2999325952,2999326207,DE
+2999326208,2999326719,CH
+2999326720,2999327231,DE
+2999327232,2999327487,CH
+2999327488,2999327743,DE
+2999327744,2999338751,CH
+2999338752,2999338943,IT
+2999338944,2999451647,CH
2999451648,2999713791,DE
2999713792,2999975935,RU
2999975936,2999984127,FR
@@ -90991,8 +93530,7 @@
3000553472,3000555519,KG
3000555520,3000557567,RU
3000557568,3000561663,UA
-3000561664,3000562687,RU
-3000562688,3000563711,GB
+3000561664,3000563711,RU
3000563712,3000565759,IR
3000565760,3000567807,RU
3000567808,3000569855,RS
@@ -91002,8 +93540,7 @@
3000576000,3000586239,RU
3000586240,3000588287,NL
3000588288,3000589311,BG
-3000589312,3000590335,GB
-3000590336,3000594431,RU
+3000589312,3000594431,RU
3000594432,3000596479,PL
3000596480,3000598527,RU
3000598528,3000600575,FI
@@ -91021,8 +93558,7 @@
3000613243,3000616959,PL
3000616960,3000621055,UA
3000621056,3000623103,PL
-3000623104,3000625151,RU
-3000625152,3000626175,GB
+3000623104,3000626175,RU
3000626176,3000627199,TR
3000627200,3000629247,CZ
3000629248,3000631295,PL
@@ -91038,7 +93574,8 @@
3000671232,3000672255,RU
3000672256,3000676351,HR
3000676352,3000680447,SA
-3000680448,3000682495,GB
+3000680448,3000681471,RU
+3000681472,3000682495,GB
3000682496,3000684543,UZ
3000684544,3000688639,RU
3000688640,3000692735,PL
@@ -91060,11 +93597,15 @@
3000750080,3000754175,RU
3000754176,3000758271,IR
3000758272,3000762367,UA
-3000762368,3001014783,RS
-3001014784,3001015295,XK
-3001015296,3001018367,RS
-3001018368,3001020415,XK
-3001020416,3001024511,RS
+3000762368,3000829951,RS
+3000829952,3000830975,XK
+3000830976,3000837119,RS
+3000837120,3000838143,XK
+3000838144,3001016319,RS
+3001016320,3001018367,XK
+3001018368,3001022463,RS
+3001022464,3001023487,XK
+3001023488,3001024511,RS
3001024512,3001548799,NL
3001548800,3001614335,NO
3001614336,3001679871,TR
@@ -91144,9 +93685,7 @@
3001991168,3001995263,IR
3001995264,3001999359,HU
3001999360,3002003455,DE
-3002003456,3002007551,PL
-3002007552,3002008575,UA
-3002008576,3002011647,PL
+3002003456,3002011647,PL
3002015744,3002019839,IT
3002019840,3002021271,NL
3002021272,3002021279,MT
@@ -91208,7 +93747,8 @@
3002673152,3002675199,GB
3002675200,3002677247,DK
3002677248,3002683391,RU
-3002683392,3002685439,DE
+3002683392,3002684415,DE
+3002684416,3002685439,CH
3002685440,3002687487,PL
3002687488,3002688511,GB
3002688512,3002689535,NL
@@ -91281,11 +93821,8 @@
3002826752,3002828799,SE
3002828800,3002830847,RU
3002830848,3002834943,FI
-3002834944,3002835063,BE
-3002835064,3002835067,LU
-3002835068,3002836479,BE
-3002836480,3002836735,LU
-3002836736,3002836991,BE
+3002834944,3002835967,LU
+3002835968,3002836991,BE
3002836992,3002841087,GB
3002841088,3002843135,CZ
3002843136,3002845183,NL
@@ -91322,10 +93859,10 @@
3003068416,3003070463,NL
3003070464,3003074559,GB
3003074560,3003076607,IT
-3003076608,3003078151,US
+3003076608,3003078143,GB
+3003078144,3003078151,US
3003078152,3003078155,IN
-3003078156,3003078655,US
-3003078656,3003080703,GB
+3003078156,3003080703,GB
3003080704,3003082751,FR
3003082752,3003084799,ES
3003084800,3003085823,SE
@@ -91416,8 +93953,8 @@
3005480960,3005874175,AR
3005874176,3005894143,PA
3005894144,3005894911,CO
-3005894912,3005895679,PA
-3005895680,3005896191,CO
+3005894912,3005895935,PA
+3005895936,3005896191,CO
3005896192,3005896703,PA
3005896704,3005896959,CO
3005896960,3005897471,PA
@@ -91426,11 +93963,9 @@
3005897984,3005898239,CO
3005898240,3005898495,PA
3005898496,3005899775,CO
-3005899776,3005900287,PA
-3005900288,3005900543,CO
-3005900544,3005900799,PA
-3005900800,3005901055,CO
-3005901056,3005901567,PA
+3005899776,3005900543,PA
+3005900544,3005900799,CO
+3005900800,3005901567,PA
3005901568,3005902335,CO
3005902336,3005902591,PA
3005902592,3005902847,CO
@@ -91444,8 +93979,8 @@
3005906176,3005906687,CO
3005906688,3005911295,PA
3005911296,3005911551,CO
-3005911552,3005912319,PA
-3005912320,3005912575,CO
+3005911552,3005912063,PA
+3005912064,3005912575,CO
3005912576,3005913855,PA
3005913856,3005914111,CO
3005914112,3005914623,PA
@@ -91468,29 +94003,25 @@
3006283776,3006284287,CR
3006284288,3006284543,PA
3006284544,3006284799,CR
-3006284800,3006285311,PA
-3006285312,3006285567,CR
-3006285568,3006285823,PA
-3006285824,3006286079,CR
+3006284800,3006285567,PA
+3006285568,3006286079,CR
3006286080,3006286335,PA
3006286336,3006286591,CR
3006286592,3006286847,PA
-3006286848,3006287103,CR
-3006287104,3006287871,PA
+3006286848,3006287359,CR
+3006287360,3006287871,PA
3006287872,3006288383,CR
3006288384,3006288639,PA
3006288640,3006289151,CR
3006289152,3006289919,PA
3006289920,3006290175,CR
-3006290176,3006290431,PA
-3006290432,3006291199,CR
-3006291200,3006291455,PA
-3006291456,3006291711,CR
+3006290176,3006290687,PA
+3006290688,3006291711,CR
3006291712,3006308351,PA
3006308352,3006308863,CR
3006308864,3006309631,PA
-3006309632,3006310399,CR
-3006310400,3006310655,PA
+3006309632,3006310143,CR
+3006310144,3006310655,PA
3006310656,3006311167,CR
3006311168,3006311935,PA
3006311936,3006312703,CR
@@ -91501,12 +94032,12 @@
3006313984,3006314239,PA
3006314240,3006314751,CR
3006314752,3006315519,PA
-3006315520,3006315775,CR
-3006315776,3006316031,PA
-3006316032,3006316287,CR
-3006316288,3006320639,PA
+3006315520,3006316543,CR
+3006316544,3006320639,PA
3006320640,3006320895,CR
-3006320896,3006321663,PA
+3006320896,3006321151,PA
+3006321152,3006321407,CR
+3006321408,3006321663,PA
3006321664,3006321919,CR
3006321920,3006323967,PA
3006323968,3006324735,CR
@@ -91554,9 +94085,7 @@
3007092736,3007094783,AR
3007094784,3007096831,CR
3007096832,3007098879,AR
-3007098880,3007099631,HN
-3007099632,3007099639,GB
-3007099640,3007099903,HN
+3007098880,3007099903,HN
3007099904,3007100463,US
3007100464,3007100471,IN
3007100472,3007100927,US
@@ -91694,8 +94223,8 @@
3007168256,3007168271,GR
3007168272,3007168383,DE
3007168384,3007168511,US
-3007168512,3007168614,QA
-3007168615,3007168615,US
+3007168512,3007168613,QA
+3007168614,3007168615,US
3007168616,3007168767,QA
3007168768,3007169023,CL
3007169024,3007169151,US
@@ -91802,8 +94331,8 @@
3007285504,3007285759,PA
3007285760,3007286015,CR
3007286016,3007286271,PA
-3007286272,3007286783,CR
-3007286784,3007287295,PA
+3007286272,3007286527,CR
+3007286528,3007287295,PA
3007287296,3007299583,CR
3007299584,3007301631,PA
3007301632,3007305727,AR
@@ -91859,9 +94388,7 @@
3025608208,3025608223,SG
3025608224,3025608447,IN
3025608448,3025608703,HK
-3025608704,3025610751,IN
-3025610752,3025612799,SG
-3025612800,3025612815,IN
+3025608704,3025612815,IN
3025612816,3025612831,SG
3025612832,3025612895,IN
3025612896,3025613087,SG
@@ -91970,9 +94497,7 @@
3025633824,3025633855,AU
3025633856,3025633919,IN
3025633920,3025634047,MY
-3025634048,3025634687,IN
-3025634688,3025634719,HK
-3025634720,3025636351,IN
+3025634048,3025636351,IN
3025636352,3025636607,SG
3025636608,3025637375,IN
3025637376,3025637631,HK
@@ -92030,12 +94555,20 @@
3025643072,3025647103,IN
3025647104,3025647359,SG
3025647360,3025647615,AU
-3025647616,3025647871,SG
+3025647616,3025647775,IN
+3025647776,3025647791,SG
+3025647792,3025647839,IN
+3025647840,3025647871,SG
3025647872,3025647903,HK
-3025647904,3025648087,SG
+3025647904,3025647935,IN
+3025647936,3025647967,SG
+3025647968,3025648079,IN
+3025648080,3025648087,SG
3025648088,3025648091,US
-3025648092,3025648639,SG
-3025648640,3025649151,IN
+3025648092,3025648095,SG
+3025648096,3025648127,IN
+3025648128,3025648383,SG
+3025648384,3025649151,IN
3025649152,3025649663,HK
3025649664,3025666047,IN
3025666048,3025928191,CN
@@ -92061,15 +94594,25 @@
3026069504,3026071551,JP
3026071552,3026073599,AU
3026073600,3026075647,CN
-3026075648,3026078641,AF
+3026075648,3026077961,AF
+3026077962,3026077962,DE
+3026077963,3026078275,AF
+3026078276,3026078277,DE
+3026078278,3026078626,AF
+3026078627,3026078627,DE
+3026078628,3026078641,AF
3026078642,3026078642,DE
-3026078643,3026081023,AF
-3026081024,3026081108,DE
-3026081109,3026081109,AF
-3026081110,3026081169,DE
-3026081170,3026081170,AF
-3026081171,3026081279,DE
-3026081280,3026083839,AF
+3026078643,3026078713,AF
+3026078714,3026078714,IT
+3026078715,3026079769,AF
+3026079770,3026079770,GB
+3026079771,3026079993,AF
+3026079994,3026079994,DE
+3026079995,3026081023,AF
+3026081024,3026081279,DE
+3026081280,3026082769,AF
+3026082770,3026082770,IT
+3026082771,3026083839,AF
3026083840,3026087935,CN
3026087936,3026089983,AU
3026089984,3026092031,CN
@@ -92240,10 +94783,10 @@
3034478592,3034479615,TH
3034479616,3034480639,NZ
3034480640,3034482687,SG
-3034482688,3034484223,AF
-3034484224,3034484338,DE
-3034484339,3034484339,AF
-3034484340,3034484479,DE
+3034482688,3034483455,AF
+3034483456,3034483711,DE
+3034483712,3034483967,AF
+3034483968,3034484479,DE
3034484480,3034484735,AF
3034484736,3034488831,TH
3034488832,3034492927,AU
@@ -92307,7 +94850,9 @@
3035676928,3035693055,SG
3035693056,3036610559,ID
3036610560,3036676095,SG
-3036676096,3037697047,AR
+3036676096,3037686727,AR
+3037686728,3037686735,NL
+3037686736,3037697047,AR
3037697048,3037697055,US
3037697056,3037790207,AR
3037790208,3037986815,VE
@@ -92319,9 +94864,7 @@
3039232000,3039297535,EC
3039297536,3039363071,PY
3039363072,3039379455,AW
-3039379456,3039388927,GY
-3039388928,3039389695,NG
-3039389696,3039395839,GY
+3039379456,3039395839,GY
3039395840,3039396351,US
3039396352,3039396607,NL
3039396608,3039398911,US
@@ -92401,9 +94944,7 @@
3047424000,3047948287,AR
3047948288,3048079359,CL
3048079360,3048095743,CO
-3048095744,3048105461,GT
-3048105462,3048105462,SV
-3048105463,3048112127,GT
+3048095744,3048112127,GT
3048112128,3048120319,AR
3048120320,3048121343,PY
3048121344,3048122367,PA
@@ -92426,9 +94967,7 @@
3048299656,3048299663,BR
3048299664,3048301311,US
3048301312,3048301343,CA
-3048301344,3048304999,US
-3048305000,3048305007,CR
-3048305008,3048308727,US
+3048301344,3048308727,US
3048308728,3048308735,CR
3048308736,3048325119,BO
3048325120,3048331263,AR
@@ -92501,9 +95040,7 @@
3050700816,3050701055,BR
3050701056,3050701311,DE
3050701312,3050701327,IE
-3050701328,3050701439,BR
-3050701440,3050701503,US
-3050701504,3050701567,BR
+3050701328,3050701567,BR
3050701568,3050701823,DE
3050701824,3050701839,SG
3050701840,3050702079,BR
@@ -92806,23 +95343,24 @@
3051373568,3051374335,CR
3051374336,3051374591,PA
3051374592,3051374847,CR
-3051374848,3051375103,PA
-3051375104,3051380735,CR
+3051374848,3051375359,PA
+3051375360,3051376383,CR
+3051376384,3051376639,PA
+3051376640,3051380735,CR
3051380736,3051388927,AR
3051388928,3051389183,US
-3051389184,3051390207,NL
-3051390208,3051390463,PA
-3051390464,3051390719,US
-3051390720,3051391999,PA
-3051392000,3051392511,US
+3051389184,3051389951,NL
+3051389952,3051390719,PA
+3051390720,3051390975,NL
+3051390976,3051392255,PA
+3051392256,3051392511,US
3051392512,3051393023,PA
3051393024,3051393535,US
3051393536,3051394303,PA
3051394304,3051395071,US
3051395072,3051395327,NL
3051395328,3051396095,PA
-3051396096,3051396863,US
-3051396864,3051397119,PA
+3051396096,3051397119,US
3051397120,3051398143,CO
3051398144,3051399167,AR
3051399168,3051400191,DO
@@ -93037,7 +95575,7 @@
3070170112,3070171135,MY
3070171136,3070172159,HK
3070172160,3070173183,AU
-3070174208,3070175231,CN
+3070173184,3070175231,CN
3070175232,3070176255,PH
3070176256,3070177279,HK
3070177280,3070178303,PK
@@ -93102,10 +95640,10 @@
3081842688,3081846783,AU
3081846784,3081847807,TW
3081847808,3081848831,KR
-3081848832,3081850079,SG
+3081848832,3081849855,SG
+3081849856,3081850079,HK
3081850080,3081850111,TW
-3081850112,3081850879,SG
-3081850880,3081851903,HK
+3081850112,3081851903,HK
3081851904,3081852927,JP
3081852928,3081854975,HK
3081854976,3081859071,MN
@@ -93136,7 +95674,9 @@
3088629760,3088633855,NL
3088633856,3088686591,US
3088686592,3088687103,NL
-3088687104,3088708607,US
+3088687104,3088701439,US
+3088701440,3088702463,NL
+3088702464,3088708607,US
3088708608,3088709631,NL
3088709632,3088710655,US
3088710656,3088711167,NL
@@ -93150,7 +95690,13 @@
3088856064,3088856575,NL
3088856576,3088857087,US
3088857088,3088857599,NL
-3088857600,3088902143,US
+3088857600,3088869375,US
+3088869376,3088869631,NL
+3088869632,3088871423,US
+3088871424,3088871935,NL
+3088871936,3088888831,US
+3088888832,3088889343,NL
+3088889344,3088902143,US
3088902144,3088902655,NL
3088902656,3088913663,US
3088913664,3088913919,NL
@@ -93178,11 +95724,15 @@
3091976192,3091980287,CA
3091980288,3092381695,US
3092381696,3092447231,TH
-3092447232,3092573695,US
+3092447232,3092572671,US
+3092572672,3092573183,NL
+3092573184,3092573695,US
3092573696,3092573951,AU
3092573952,3092623359,US
3092623360,3092627455,NL
-3092627456,3092643839,US
+3092627456,3092640255,US
+3092640256,3092641791,NL
+3092641792,3092643839,US
3092643840,3092647935,NL
3092647936,3092656127,US
3092656128,3092660223,NL
@@ -93198,23 +95748,18 @@
3092697088,3092697599,NL
3092697600,3092700927,US
3092700928,3092701183,AU
-3092701184,3092754431,US
+3092701184,3092702207,NL
+3092702208,3092704255,US
+3092704256,3092705279,NL
+3092705280,3092754431,US
3092754432,3092758527,NL
3092758528,3093168127,US
3093168128,3093200895,CA
3093200896,3093213183,US
3093213184,3093217279,CA
-3093217280,3093233663,US
-3093233664,3093234687,PR
-3093234688,3093234716,US
-3093234717,3093234717,PR
-3093234718,3093235199,US
-3093235200,3093235455,PR
-3093235456,3093235711,US
-3093235712,3093236735,PR
-3093236736,3093236991,US
-3093236992,3093237247,PR
-3093237248,3093282815,US
+3093217280,3093234687,US
+3093234688,3093235711,PR
+3093235712,3093282815,US
3093282816,3093299199,CA
3093299200,3093907199,US
3093907200,3093907455,CA
@@ -93233,7 +95778,9 @@
3093935360,3093935615,NL
3093935616,3093937407,US
3093937408,3093937663,NL
-3093937664,3093943785,US
+3093937664,3093938175,US
+3093938176,3093938431,JP
+3093938432,3093943785,US
3093943786,3093943786,CZ
3093943787,3093945989,US
3093945990,3093945990,AT
@@ -93274,9 +95821,7 @@
3094080792,3094080799,US
3094080800,3094085631,CA
3094085632,3096444927,US
-3096444928,3096898618,CA
-3096898619,3096898619,US
-3096898620,3096969215,CA
+3096444928,3096969215,CA
3096969216,3097143823,US
3097143824,3097143831,BD
3097143832,3097493503,US
@@ -93287,7 +95832,9 @@
3097823232,3097823295,BR
3097823296,3097823487,US
3097823488,3097823743,CA
-3097823744,3098095615,US
+3097823744,3097824767,US
+3097824768,3097824831,CA
+3097824832,3098095615,US
3098095616,3098099711,CA
3098099712,3098099967,US
3098099968,3098100735,SE
@@ -93353,23 +95900,7 @@
3098493752,3098493759,CA
3098493760,3098496943,US
3098496944,3098496951,CA
-3098496952,3100903679,US
-3100903680,3100903935,PR
-3100903936,3100920319,US
-3100920320,3100920575,PR
-3100920576,3100922367,US
-3100922368,3100922623,PR
-3100922624,3100949247,US
-3100949248,3100949503,PR
-3100949504,3100955647,US
-3100955648,3100955903,PR
-3100955904,3100957695,US
-3100957696,3100957951,PR
-3100957952,3100964351,US
-3100964352,3100964607,PR
-3100964608,3100964863,US
-3100964864,3100965119,PR
-3100965120,3103784959,US
+3098496952,3103784959,US
3103850496,3103850751,RU
3103850752,3103851007,PS
3103851008,3103851519,FR
@@ -93480,6 +96011,8 @@
3103881216,3103881471,GB
3103881472,3103881727,MK
3103881728,3103881983,NL
+3103881984,3103882239,GR
+3103882240,3103882495,IT
3103916032,3103917055,CH
3103917056,3103918079,IT
3103918080,3103919103,DE
@@ -93558,13 +96091,17 @@
3103984640,3103985663,DK
3103985664,3103986687,RU
3103986688,3103987711,LB
-3103987712,3103988735,FR
+3103987712,3103988607,FR
+3103988608,3103988671,GB
+3103988672,3103988735,FR
3103989760,3103990783,RU
3103990784,3103991807,IT
3103991808,3103992831,DE
3103992832,3103993855,LU
3103993856,3103994879,SE
-3103994880,3103995903,JE
+3103994880,3103995419,JE
+3103995420,3103995420,AE
+3103995421,3103995903,JE
3103995904,3103996927,TR
3103996928,3103997951,PL
3103997952,3103998975,FR
@@ -93715,7 +96252,8 @@
3104143360,3104144383,NL
3104144384,3104145407,ES
3104145408,3104146431,RU
-3104146432,3104147455,NL
+3104146432,3104146943,SG
+3104146944,3104147455,NL
3104147456,3104149503,RU
3104149504,3104150527,GB
3104150528,3104151551,RU
@@ -93885,9 +96423,7 @@
3104312320,3104313343,TR
3104313344,3104314367,NO
3104314368,3104315391,RU
-3104315392,3104315647,IT
-3104315648,3104315903,CH
-3104315904,3104316415,IT
+3104315392,3104316415,IT
3104316416,3104317439,FR
3104317440,3104318463,CY
3104318464,3104319487,IT
@@ -93982,7 +96518,7 @@
3104412672,3104413695,IT
3104413696,3104414719,FR
3104414720,3104415743,TR
-3104415744,3104416767,RU
+3104415744,3104416767,UA
3104416768,3104417791,SE
3104417792,3104418815,US
3104418816,3104419839,GB
@@ -94191,7 +96727,7 @@
3104623616,3104624639,FR
3104624640,3104625663,RU
3104625664,3104625919,NL
-3104625920,3104626687,CY
+3104625920,3104626687,LU
3104626688,3104627711,NL
3104627712,3104628735,LB
3104628736,3104629759,TR
@@ -94281,8 +96817,7 @@
3104720896,3104721919,PL
3104721920,3104722943,IT
3104722944,3104723967,IR
-3104723968,3104724991,GB
-3104724992,3104726015,RU
+3104723968,3104726015,GB
3104726016,3104727039,DE
3104727040,3104727295,FR
3104727296,3104727551,DE
@@ -94398,7 +96933,8 @@
3104837632,3104838655,DK
3104838656,3104839679,NL
3104839680,3104840703,IQ
-3104840704,3104841727,UA
+3104840704,3104841215,RU
+3104841216,3104841727,UA
3104841728,3104843775,PL
3104843776,3104844799,GB
3104844800,3104846847,FR
@@ -94406,9 +96942,7 @@
3104847872,3104848895,RU
3104848896,3104849919,DE
3104849920,3104850943,RU
-3104850944,3104851455,JE
-3104851456,3104851711,GB
-3104851712,3104851967,JE
+3104850944,3104851967,JE
3104851968,3104852991,DE
3104852992,3104854015,AT
3104854016,3104855039,GI
@@ -94667,7 +97201,8 @@
3105098752,3105099775,SE
3105099776,3105100799,FR
3105100800,3105101823,PL
-3105101824,3105102847,IQ
+3105101824,3105102335,AE
+3105102336,3105102847,IQ
3105102848,3105103871,HR
3105103872,3105104895,GB
3105104896,3105105919,CY
@@ -94761,8 +97296,7 @@
3105199104,3105200127,PL
3105200128,3105201151,FR
3105201152,3105202175,RU
-3105202176,3105202943,CZ
-3105202944,3105203199,HU
+3105202176,3105203199,CZ
3105203200,3105204223,DE
3105204224,3105205247,NL
3105205248,3105206271,IT
@@ -94950,11 +97484,7 @@
3105392640,3105393663,IR
3105393664,3105395711,FR
3105395712,3105396735,IR
-3105396736,3105397247,FR
-3105397248,3105397375,BE
-3105397376,3105397503,FR
-3105397504,3105397759,BE
-3105397760,3105398783,FR
+3105396736,3105398783,FR
3105398784,3105399807,GB
3105399808,3105400831,PL
3105400832,3105401855,DK
@@ -95006,8 +97536,7 @@
3105436672,3105437695,ES
3105437696,3105438719,GB
3105438720,3105439743,RU
-3105439744,3105439999,IE
-3105440000,3105440767,GB
+3105439744,3105440767,GB
3105440768,3105441791,RU
3105441792,3105442815,IT
3105442816,3105443839,FI
@@ -95032,7 +97561,7 @@
3105460224,3105461247,GB
3105461248,3105462271,PL
3105462272,3105463295,RU
-3105463296,3105464319,GB
+3105463296,3105464319,US
3105464320,3105465343,NL
3105465344,3105466367,DE
3105466368,3105467391,MT
@@ -95097,17 +97626,15 @@
3105524736,3105525759,IT
3105525760,3105526783,TR
3105526784,3105527807,GB
-3105527808,3105528063,NL
-3105528064,3105528319,US
-3105528320,3105528575,AU
-3105528576,3105528831,NL
+3105527808,3105528319,US
+3105528320,3105528831,NL
3105528832,3105529855,DE
3105529856,3105530879,LU
3105530880,3105531903,NO
3105531904,3105532927,RU
3105532928,3105533951,RS
3105533952,3105534975,BA
-3105534976,3105535487,ZA
+3105534976,3105535231,ZA
3105535795,3105535795,RU
3105536000,3105537023,AZ
3105537024,3105538047,AT
@@ -95186,16 +97713,18 @@
3105614848,3105615871,NL
3105615872,3105616895,SE
3105616896,3105617919,GB
-3105617920,3105617922,DE
-3105617923,3105617923,NL
-3105617924,3105617930,DE
-3105617931,3105617931,NL
-3105617932,3105618175,DE
-3105618176,3105618443,NL
+3105617920,3105618175,DE
+3105618176,3105618441,NL
+3105618442,3105618442,DE
+3105618443,3105618443,NL
3105618444,3105618444,DE
-3105618445,3105618481,NL
-3105618482,3105618482,JP
-3105618483,3105618943,NL
+3105618445,3105618482,NL
+3105618483,3105618484,IT
+3105618485,3105618515,NL
+3105618516,3105618517,US
+3105618518,3105618538,NL
+3105618539,3105618539,DE
+3105618540,3105618943,NL
3105618944,3105619967,DE
3105619968,3105620991,TR
3105620992,3105622015,DE
@@ -95287,9 +97816,7 @@
3105707008,3105708031,PL
3105708032,3105709055,AT
3105709056,3105710079,SA
-3105710080,3105710799,IT
-3105710800,3105710815,CH
-3105710816,3105711103,IT
+3105710080,3105711103,IT
3105711104,3105712127,RS
3105712128,3105713151,IT
3105713152,3105714175,NL
@@ -95393,9 +97920,7 @@
3105814528,3105815551,JO
3105815552,3105816575,BE
3105816576,3105817599,FR
-3105817600,3105818111,DE
-3105818112,3105818367,US
-3105818368,3105818623,DE
+3105817600,3105818623,DE
3105818624,3105819647,NL
3105819648,3105820671,GB
3105820672,3105820927,NL
@@ -95631,7 +98156,9 @@
3106027600,3106027615,IT
3106027616,3106027631,NL
3106027632,3106029567,GB
-3106030592,3106031615,NL
+3106029568,3106029823,US
+3106030080,3106030335,KZ
+3106030336,3106031615,NL
3106031616,3106032639,AZ
3106032640,3106033663,PL
3106033664,3106034687,GB
@@ -95670,7 +98197,9 @@
3106067456,3106068479,DE
3106068480,3106070527,NL
3106070528,3106071551,UA
-3106071552,3106072575,BH
+3106071552,3106072292,BH
+3106072293,3106072293,IT
+3106072294,3106072575,BH
3106072576,3106073599,GB
3106073600,3106074623,PL
3106074624,3106076671,RU
@@ -95735,6 +98264,7 @@
3106134016,3106135039,DE
3106135040,3106136063,RU
3106136064,3106137087,BE
+3106137088,3106138111,NL
3106138112,3106139135,DE
3106139136,3106140159,SE
3106140160,3106141183,DE
@@ -95850,7 +98380,8 @@
3106252800,3106253823,RS
3106253824,3106255871,GB
3106255872,3106256895,IT
-3106256896,3106257919,TR
+3106256896,3106257663,TR
+3106257664,3106257919,GB
3106257920,3106258943,RU
3106258944,3106259967,UA
3106259968,3106260991,GB
@@ -96151,9 +98682,7 @@
3106503680,3106504703,NL
3106504704,3106505727,PL
3106505728,3106506751,CH
-3106506752,3106507775,NL
-3106507776,3106508287,CZ
-3106508288,3106509823,NL
+3106506752,3106509823,NL
3106509824,3106510847,SE
3106510848,3106511871,FR
3106511872,3106512895,GE
@@ -96229,8 +98758,7 @@
3106592768,3106593791,LU
3106593792,3106594815,GB
3106594816,3106595839,IR
-3106595840,3106596095,EE
-3106596096,3106596863,RU
+3106595840,3106596863,RU
3106596864,3106597887,FR
3106597888,3106598911,GB
3106598912,3106599935,ES
@@ -96355,9 +98883,7 @@
3106716672,3106717695,CZ
3106717696,3106718719,TR
3106718720,3106719743,CH
-3106719744,3106720245,DE
-3106720246,3106720246,US
-3106720247,3106720767,DE
+3106719744,3106720767,DE
3106720768,3106722815,AT
3106722816,3106723839,IT
3106723840,3106724863,PL
@@ -96379,15 +98905,15 @@
3106738176,3106739199,DE
3106739200,3106740223,DK
3106740224,3106741247,GB
-3106741248,3106741759,ES
-3106741760,3106742015,NL
-3106742016,3106742271,ES
+3106741248,3106742271,ES
3106742272,3106743295,FR
3106743296,3106744319,NO
3106744320,3106745343,SM
3106745344,3106746367,NL
3106746368,3106747391,DK
-3106747392,3106748415,BE
+3106747392,3106747647,BE
+3106747648,3106747903,DE
+3106747904,3106748415,BE
3106748416,3106749439,CZ
3106749440,3106750463,RU
3106750464,3106751487,BG
@@ -96433,7 +98959,7 @@
3106786304,3106787327,DE
3106787328,3106787583,GB
3106787840,3106788351,GB
-3106788352,3106789375,AT
+3106788352,3106789375,SA
3106789376,3106790399,PL
3106790400,3106792447,GB
3106792448,3106793471,FR
@@ -96502,7 +99028,9 @@
3106850816,3106851839,GB
3106851840,3106852863,PL
3106852864,3106853887,GB
-3106853888,3106854399,NL
+3106853888,3106854235,NL
+3106854236,3106854237,GB
+3106854238,3106854399,NL
3106854400,3106854911,CH
3106854912,3106855935,IR
3106855936,3106856959,UA
@@ -96580,8 +99108,11 @@
3106926592,3106927615,FR
3106927616,3106928639,ES
3106928640,3106929663,NO
+3106929664,3106930303,RO
3106930304,3106930319,US
+3106930320,3106930335,RO
3106930336,3106930351,CA
+3106930352,3106930687,RO
3106930688,3106931711,DE
3106931712,3106932735,AT
3106932736,3106933759,PL
@@ -96596,34 +99127,7 @@
3106941952,3106943999,FR
3106944000,3106945023,IT
3106945024,3106946047,NL
-3106946048,3106946815,JE
-3106946816,3106946816,GB
-3106946817,3106946823,JE
-3106946824,3106946824,GB
-3106946825,3106946826,JE
-3106946827,3106946827,GB
-3106946828,3106946831,JE
-3106946832,3106946832,GB
-3106946833,3106946835,JE
-3106946836,3106946836,GB
-3106946837,3106946838,JE
-3106946839,3106946841,GB
-3106946842,3106946845,JE
-3106946846,3106946846,GB
-3106946847,3106946851,JE
-3106946852,3106946852,GB
-3106946853,3106946854,JE
-3106946855,3106946855,GB
-3106946856,3106946861,JE
-3106946862,3106946862,GB
-3106946863,3106946864,JE
-3106946865,3106946866,GB
-3106946867,3106946871,JE
-3106946872,3106946872,GB
-3106946873,3106946873,JE
-3106946874,3106946875,GB
-3106946876,3106946878,JE
-3106946879,3106947071,GB
+3106946048,3106947071,JE
3106947072,3106948095,AE
3106948096,3106949119,NL
3106949120,3106950143,RU
@@ -96685,8 +99189,7 @@
3107013632,3107014655,DE
3107014656,3107015679,GB
3107015680,3107016703,DE
-3107016704,3107017215,GB
-3107017216,3107017727,NL
+3107016704,3107017727,GB
3107017728,3107018751,IR
3107018752,3107019775,BG
3107019776,3107020799,GB
@@ -96725,7 +99228,7 @@
3107053568,3107054591,ES
3107054592,3107057663,GB
3107057664,3107058687,RU
-3107058688,3107059711,FR
+3107058688,3107059711,LU
3107059712,3107060735,IT
3107060736,3107061759,DK
3107061760,3107062783,ES
@@ -96901,9 +99404,12 @@
3107224576,3107225599,FR
3107225600,3107226623,AZ
3107226624,3107227647,RU
-3107227648,3107228671,US
+3107227648,3107228159,IS
+3107228160,3107228415,IM
+3107228416,3107228671,KG
3107228672,3107229695,RU
-3107229696,3107231743,GB
+3107229696,3107230719,GB
+3107230720,3107231743,US
3107231744,3107232767,RU
3107232768,3107233023,GB
3107233024,3107233279,SE
@@ -96954,7 +99460,9 @@
3107277824,3107278847,UA
3107278848,3107279871,FR
3107279872,3107280895,FI
-3107280896,3107281919,EE
+3107280896,3107281151,NL
+3107281152,3107281663,EE
+3107281664,3107281919,IS
3107281920,3107282943,GB
3107282944,3107283967,PL
3107283968,3107284991,AL
@@ -97034,7 +99542,7 @@
3107357696,3107358719,SY
3107358720,3107359743,RU
3107359744,3107360767,NL
-3107360768,3107361791,AT
+3107360768,3107361791,SA
3107361792,3107362815,DE
3107362816,3107363839,IT
3107363840,3107364863,IQ
@@ -97445,7 +99953,7 @@
3107733504,3107734527,BG
3107734528,3107735551,HU
3107735552,3107737599,DE
-3107737600,3107738623,GB
+3107737600,3107738623,NL
3107738624,3107738879,DE
3107738880,3107739135,DK
3107739136,3107739391,RO
@@ -97531,7 +100039,7 @@
3107820544,3107821311,LV
3107821312,3107821567,SE
3107821568,3107822591,GB
-3107822592,3107823615,UA
+3107822592,3107823615,US
3107823616,3107824639,FR
3107824640,3107825663,GB
3107825664,3107826687,IT
@@ -97631,8 +100139,8 @@
3107929088,3107930111,RU
3107930112,3107931135,CH
3107931136,3107932159,NL
-3107932160,3107932671,SE
-3107932672,3107934207,MT
+3107932160,3107932415,SE
+3107932416,3107934207,MT
3107934208,3107935231,GB
3107935232,3107936255,PL
3107936256,3107937279,IT
@@ -97642,7 +100150,9 @@
3107940352,3107941375,CZ
3107941376,3107942399,PL
3107942400,3107943423,RU
-3107943424,3107944447,NL
+3107943424,3107943679,NL
+3107943680,3107943935,GB
+3107943936,3107944447,NL
3107944448,3107945471,FR
3107945472,3107947519,DE
3107947520,3107948543,IT
@@ -97760,7 +100270,8 @@
3108057088,3108058111,LT
3108058112,3108059135,NL
3108059136,3108060159,FR
-3108060160,3108061183,CH
+3108060160,3108060671,CH
+3108060672,3108061183,IT
3108061184,3108062207,ES
3108062208,3108063231,TR
3108063232,3108064255,BE
@@ -97895,8 +100406,8 @@
3108191232,3108193279,NL
3108193280,3108194303,PL
3108194304,3108195327,FR
-3108195328,3108195839,ES
-3108195840,3108196351,NO
+3108195328,3108195328,ES
+3108195329,3108196351,NO
3108196352,3108197375,FI
3108197376,3108198399,IS
3108198400,3108199423,FR
@@ -98042,8 +100553,9 @@
3108336640,3108337151,GB
3108337152,3108337407,ES
3108337408,3108337663,GB
-3108337664,3108338687,IR
+3108337664,3108338687,AU
3108338688,3108339711,RU
+3108339712,3108340735,US
3108340736,3108341759,RU
3108341760,3108342783,CH
3108342784,3108343807,FI
@@ -98065,7 +100577,7 @@
3108359168,3108360191,NL
3108360192,3108361215,SA
3108361216,3108362239,IE
-3108362240,3108363263,FR
+3108362240,3108363263,LU
3108363264,3108364287,RU
3108364288,3108365311,LU
3108365312,3108366335,FR
@@ -98292,7 +100804,7 @@
3108593664,3108594687,ES
3108594688,3108597759,CZ
3108597760,3108598015,NL
-3108598016,3108598271,IR
+3108598016,3108598271,US
3108598272,3108598527,GB
3108598528,3108598783,IR
3108598784,3108600831,CH
@@ -98308,7 +100820,7 @@
3108611072,3108612095,IT
3108612096,3108615167,ES
3108615168,3108615679,BR
-3108615680,3108616191,RU
+3108615680,3108616191,MX
3108616192,3108617215,GB
3108617216,3108618239,ES
3108618240,3108619263,RU
@@ -98320,7 +100832,8 @@
3108623616,3108623871,GB
3108623872,3108624383,RU
3108624384,3108625407,BR
-3108625408,3108626431,NL
+3108625408,3108626175,NL
+3108626176,3108626431,US
3108626432,3108627455,CZ
3108627456,3108628479,PL
3108628480,3108629503,FR
@@ -98334,7 +100847,7 @@
3108636672,3108637695,FR
3108637696,3108638719,DE
3108638720,3108639743,ES
-3108639744,3108640767,HU
+3108639744,3108640767,TR
3108640768,3108641791,GB
3108641792,3108642815,CH
3108642816,3108643839,FR
@@ -98416,7 +100929,7 @@
3108730880,3108731903,GB
3108731904,3108732927,FR
3108732928,3108733951,FI
-3108733952,3108734975,RU
+3108733952,3108734975,MX
3108734976,3108735999,CZ
3108736000,3108737023,FR
3108737024,3108738047,IE
@@ -98470,9 +100983,7 @@
3108783104,3108784127,UA
3108784128,3108785151,NL
3108785152,3108786175,ES
-3108786176,3108786687,RU
-3108786688,3108786943,UA
-3108786944,3108787199,RU
+3108786176,3108787199,RU
3108787200,3108788223,NO
3108788224,3108789247,NL
3108789248,3108790271,GB
@@ -98511,7 +101022,7 @@
3108824832,3108825087,IE
3108825088,3108826111,RU
3108826112,3108827135,NL
-3108827136,3108828159,RU
+3108827136,3108828159,MX
3108828160,3108829183,MT
3108829184,3108830207,IR
3108830208,3108831231,RU
@@ -98578,7 +101089,7 @@
3108883456,3108884479,RU
3108884480,3108885503,NL
3108885504,3108886527,BE
-3108886528,3108888575,LV
+3108886528,3108888575,US
3108888576,3108889599,VA
3108889600,3108893695,RU
3108893696,3108894719,FI
@@ -98760,8 +101271,7 @@
3109055488,3109056511,IL
3109056512,3109058559,GB
3109058560,3109059583,DE
-3109059584,3109059839,LU
-3109059840,3109060095,DE
+3109059584,3109060095,LU
3109060096,3109060351,CY
3109060352,3109060607,RO
3109060608,3109061631,LT
@@ -98831,28 +101341,31 @@
3109124096,3109126143,ES
3109126144,3109127167,LV
3109127168,3109128191,ES
-3109128192,3109128215,GB
+3109128192,3109128207,NL
+3109128208,3109128215,GB
3109128216,3109128223,AT
3109128224,3109128231,DK
3109128232,3109128239,SE
-3109128240,3109128447,GB
-3109128448,3109128463,NL
+3109128240,3109128319,NL
+3109128320,3109128383,GB
+3109128384,3109128463,NL
3109128464,3109128471,DK
3109128472,3109128479,SE
3109128480,3109128487,IE
3109128488,3109128495,DK
3109128496,3109128503,SE
3109128504,3109128511,IE
-3109128512,3109128719,NL
-3109128720,3109128727,GB
+3109128512,3109128703,NL
+3109128704,3109128727,GB
3109128728,3109128735,AT
3109128736,3109128743,DK
3109128744,3109128751,SE
3109128752,3109128759,IE
3109128760,3109128760,IT
-3109128761,3109128831,NL
+3109128761,3109128831,GB
3109128832,3109128895,BE
-3109128896,3109128975,NL
+3109128896,3109128959,GB
+3109128960,3109128975,NL
3109128976,3109128983,DK
3109128984,3109128991,SE
3109128992,3109128999,IT
@@ -98868,10 +101381,10 @@
3109134336,3109135359,GB
3109135360,3109136383,LT
3109136384,3109137407,GB
-3109137408,3109138431,RU
+3109137408,3109138431,MX
3109138432,3109139455,GB
3109139456,3109140479,ES
-3109140480,3109141503,RU
+3109140480,3109141503,MX
3109141504,3109143551,GB
3109143552,3109144575,GR
3109144576,3109145599,FR
@@ -98905,7 +101418,7 @@
3109174272,3109175295,GB
3109175296,3109176319,IR
3109176320,3109177343,IL
-3109177344,3109178367,IE
+3109177600,3109177855,IE
3109178368,3109179391,GB
3109179392,3109180415,ES
3109180416,3109181439,DE
@@ -98914,8 +101427,8 @@
3109183488,3109184255,LB
3109184256,3109184511,GB
3109184512,3109185535,CH
-3109185536,3109187071,RS
-3109187072,3109187327,XK
+3109185536,3109186559,RS
+3109186560,3109187327,XK
3109187328,3109187583,RS
3109187584,3109188607,IT
3109188608,3109189631,SA
@@ -99258,7 +101771,8 @@
3109543936,3109544959,DE
3109544960,3109545983,FR
3109545984,3109547007,PL
-3109547008,3109548031,AT
+3109547008,3109547263,EE
+3109547264,3109548031,AT
3109548032,3109549055,IT
3109549056,3109550079,FI
3109550080,3109551103,NL
@@ -99274,7 +101788,9 @@
3109558272,3109559295,IQ
3109559296,3109560319,RO
3109560320,3109561343,KG
-3109561344,3109562367,RU
+3109561344,3109561599,PK
+3109561600,3109561855,IL
+3109561856,3109562367,MX
3109562368,3109563391,NO
3109563392,3109564415,GB
3109564416,3109565439,IR
@@ -99360,7 +101876,7 @@
3109643520,3109643775,RU
3109643776,3109644031,UA
3109644032,3109644287,ES
-3109644288,3109646335,RU
+3109644288,3109646335,MX
3109646336,3109647359,IR
3109647360,3109648383,CZ
3109648384,3109649407,GB
@@ -99387,10 +101903,9 @@
3109670912,3109671935,DE
3109671936,3109672959,HR
3109672960,3109673215,US
-3109673216,3109673376,GB
-3109673377,3109673377,SE
-3109673378,3109673469,GB
-3109673470,3109673471,NL
+3109673216,3109673459,GB
+3109673460,3109673461,NO
+3109673462,3109673471,GB
3109673472,3109673695,ID
3109673696,3109673727,GB
3109673728,3109673983,AU
@@ -99512,7 +102027,7 @@
3109790720,3109792767,CZ
3109792768,3109795839,RU
3109795840,3109796863,HU
-3109796864,3109797887,IT
+3109796864,3109797887,DE
3109797888,3109798911,ES
3109798912,3109799935,DE
3109799936,3109800959,SK
@@ -99524,7 +102039,7 @@
3109807104,3109808127,ES
3109808128,3109808383,RE
3109808384,3109808639,GP
-3109808640,3109809151,MQ
+3109808640,3109809151,RE
3109809152,3109810175,GB
3109810176,3109811199,IT
3109811200,3109812223,DE
@@ -99567,7 +102082,7 @@
3109845504,3109845759,GB
3109845760,3109846015,DE
3109846016,3109847039,CH
-3109847040,3109848063,AE
+3109847040,3109848063,IE
3109848064,3109849087,BG
3109849088,3109849856,RU
3109849857,3109850111,UA
@@ -99674,8 +102189,7 @@
3109937152,3109938175,ES
3109938176,3109938431,GB
3109938432,3109938687,US
-3109938688,3109938943,GB
-3109938944,3109939199,AU
+3109938688,3109939199,AU
3109939200,3109940223,ES
3109940224,3109941247,DE
3109941248,3109942271,PL
@@ -99801,7 +102315,8 @@
3110032384,3110033407,TR
3110033408,3110035455,SE
3110035456,3110036479,DE
-3110036480,3110038527,RU
+3110036480,3110037503,MX
+3110037504,3110038527,RU
3110038528,3110039551,GB
3110039552,3110040575,DE
3110040576,3110041599,CZ
@@ -99823,7 +102338,10 @@
3110060032,3110061055,DE
3110061056,3110062079,PL
3110062080,3110063103,US
-3110063104,3110064127,IQ
+3110063104,3110063871,IQ
+3110063872,3110064031,IT
+3110064032,3110064063,IQ
+3110064064,3110064127,IT
3110064128,3110065151,AT
3110065152,3110066175,DE
3110066176,3110067199,CH
@@ -99845,7 +102363,7 @@
3110083584,3110084607,UA
3110084608,3110085631,GR
3110085632,3110086143,BR
-3110086144,3110086655,RU
+3110086144,3110086655,MX
3110086656,3110087679,NO
3110087680,3110088703,NL
3110088704,3110089727,GB
@@ -99855,7 +102373,8 @@
3110093824,3110094847,JO
3110094848,3110095871,NO
3110095872,3110096895,CH
-3110096896,3110098943,RU
+3110096896,3110097919,MX
+3110097920,3110098943,RU
3110098944,3110099967,DK
3110099968,3110100991,GB
3110100992,3110102015,IT
@@ -99900,7 +102419,7 @@
3110138880,3110139903,GB
3110139904,3110140927,SE
3110140928,3110141951,BG
-3110141952,3110142975,RU
+3110141952,3110142975,MX
3110142976,3110143999,DE
3110144000,3110145023,TR
3110145024,3110146047,IT
@@ -99919,7 +102438,7 @@
3110158336,3110159359,PS
3110159360,3110160383,SI
3110160384,3110161407,BG
-3110161408,3110162431,RU
+3110161408,3110162431,FR
3110162432,3110163455,IE
3110163456,3110164479,NO
3110164480,3110165503,GB
@@ -99938,7 +102457,7 @@
3110175744,3110176767,PS
3110176768,3110177791,CH
3110177792,3110178815,FR
-3110178816,3110179839,DE
+3110178816,3110179839,US
3110179840,3110180095,EE
3110180096,3110180351,LT
3110180352,3110180607,EE
@@ -99980,7 +102499,7 @@
3110216704,3110217215,DK
3110217216,3110217471,DE
3110217472,3110217727,DK
-3110217728,3110218751,RU
+3110217728,3110218751,FR
3110218752,3110219775,GB
3110219776,3110220799,DE
3110220800,3110221823,NL
@@ -100034,7 +102553,8 @@
3110278144,3110279167,TR
3110279168,3110279679,GB
3110279680,3110279695,ES
-3110279696,3110279967,GB
+3110279696,3110279743,NL
+3110279744,3110279967,GB
3110279968,3110279983,DE
3110279984,3110280191,GB
3110280192,3110281215,RU
@@ -100050,9 +102570,7 @@
3110292480,3110293503,GB
3110293504,3110294527,AT
3110294528,3110295551,GB
-3110295552,3110296063,RO
-3110296064,3110296319,ES
-3110296320,3110296575,RO
+3110295552,3110296575,RO
3110296576,3110297599,GE
3110297600,3110298111,NL
3110298112,3110298623,FR
@@ -100084,7 +102602,6 @@
3110320128,3110321151,ES
3110321152,3110322175,SE
3110322176,3110323199,PL
-3110323200,3110324223,IT
3110324224,3110325247,US
3110325248,3110326271,NL
3110326272,3110327295,DE
@@ -100165,9 +102682,7 @@
3110393600,3110393855,IE
3110393856,3110394879,LB
3110394880,3110395391,GB
-3110395392,3110395647,RU
-3110395648,3110395648,SA
-3110395649,3110395903,RU
+3110395392,3110395903,SA
3110395904,3110396927,KZ
3110396928,3110397951,PL
3110397952,3110398975,NL
@@ -100226,7 +102741,8 @@
3110452224,3110453247,PL
3110453248,3110454271,GB
3110454272,3110455295,NL
-3110455296,3110457343,RU
+3110455296,3110456319,FR
+3110456320,3110457343,RU
3110457344,3110458367,FR
3110458368,3110459391,IT
3110459392,3110459647,EE
@@ -100236,8 +102752,7 @@
3110460416,3110461439,CZ
3110462464,3110463487,IR
3110463488,3110464511,PL
-3110464512,3110465279,IQ
-3110465280,3110465535,IT
+3110464512,3110465535,IQ
3110465536,3110466559,IE
3110466560,3110467583,NL
3110467584,3110468607,DE
@@ -100268,8 +102783,7 @@
3110495232,3110496255,SE
3110496256,3110497279,DE
3110497280,3110498303,NO
-3110498304,3110498815,RU
-3110498816,3110499327,BR
+3110498304,3110499327,BR
3110499328,3110500351,KZ
3110500352,3110501375,RU
3110501376,3110502399,RS
@@ -100283,7 +102797,8 @@
3110509568,3110510591,RO
3110510592,3110511615,FR
3110511616,3110512639,UA
-3110512640,3110514687,ES
+3110512640,3110513663,ES
+3110513664,3110514687,NL
3110514688,3110515711,FR
3110515712,3110516735,RU
3110516736,3110517759,UA
@@ -100319,8 +102834,7 @@
3110548224,3110548479,DE
3110548480,3110549503,IT
3110549504,3110550527,NL
-3110550528,3110551551,RU
-3110551552,3110552575,FR
+3110550528,3110552575,FR
3110552576,3110553599,RU
3110553600,3110554623,DE
3110554624,3110555647,NL
@@ -100396,7 +102910,7 @@
3110626304,3110627327,NL
3110627328,3110628351,RU
3110628352,3110629375,LU
-3110629376,3110630399,RU
+3110629376,3110630399,UA
3110630400,3110631423,IT
3110631424,3110632447,GB
3110632448,3110633471,IT
@@ -100406,7 +102920,7 @@
3110635520,3110636543,SE
3110636544,3110637567,DE
3110637568,3110638591,GR
-3110638592,3110639615,RU
+3110638592,3110639615,FR
3110639616,3110640639,ES
3110640640,3110641663,IQ
3110641664,3110642687,DE
@@ -100476,7 +102990,8 @@
3110705152,3110706175,FR
3110706176,3110707199,BE
3110707200,3110708223,NL
-3110708224,3110709247,GB
+3110708224,3110708479,IE
+3110708480,3110709247,GB
3110709248,3110710271,RU
3110710272,3110711295,CY
3110711296,3110712319,IL
@@ -100729,7 +103244,9 @@
3110986752,3110987775,GB
3110987776,3110988799,NL
3110988800,3110989055,CN
-3110989056,3110989823,DE
+3110989056,3110989311,DE
+3110989312,3110989567,SG
+3110989568,3110989823,IT
3110989824,3110990335,CA
3110990336,3110990847,CH
3110990848,3110992895,IR
@@ -100814,7 +103331,7 @@
3111074816,3111075839,DE
3111075840,3111076863,IR
3111076864,3111077887,DE
-3111077888,3111078911,NL
+3111077888,3111078911,GB
3111078912,3111079935,IT
3111079936,3111080959,IR
3111080960,3111081983,RU
@@ -100835,7 +103352,7 @@
3111096320,3111097343,AT
3111097344,3111098367,ES
3111098368,3111099391,SE
-3111099392,3111100415,CH
+3111099392,3111100415,SK
3111100416,3111101439,LB
3111101440,3111102463,RU
3111102464,3111103487,DE
@@ -100874,8 +103391,7 @@
3111135232,3111136255,PL
3111136256,3111137279,NL
3111137280,3111139327,CH
-3111139328,3111139839,RU
-3111139840,3111140351,BR
+3111139328,3111140351,BR
3111140352,3111141375,IT
3111141376,3111142399,NL
3111142400,3111143423,DE
@@ -100909,7 +103425,7 @@
3111168000,3111169023,IR
3111169024,3111170047,UA
3111170048,3111171071,DE
-3111171072,3111172095,PL
+3111171072,3111171583,PL
3111172096,3111173119,RO
3111173120,3111174143,IQ
3111174144,3111175167,AZ
@@ -100951,7 +103467,7 @@
3111214080,3111215103,GB
3111215104,3111216127,SE
3111216128,3111217151,AT
-3111217152,3111218175,IR
+3111217152,3111218175,IQ
3111218176,3111219199,RU
3111219200,3111220223,IR
3111220224,3111221247,RU
@@ -101034,7 +103550,7 @@
3111290880,3111291903,UA
3111291904,3111292927,DE
3111292928,3111293951,SI
-3111293952,3111294975,CY
+3111293952,3111294975,DE
3111294976,3111295999,US
3111296000,3111297023,NL
3111297024,3111298047,IE
@@ -101194,7 +103710,9 @@
3111447776,3111447807,AT
3111447808,3111448063,GB
3111448064,3111448319,BG
-3111448320,3111448575,GB
+3111448320,3111448447,US
+3111448448,3111448455,GB
+3111448456,3111448575,US
3111448576,3111448960,NO
3111448961,3111449502,BE
3111449503,3111449599,NO
@@ -101289,7 +103807,7 @@
3111548928,3111549951,SA
3111549952,3111550975,NL
3111550976,3111551999,IQ
-3111552000,3111553023,NL
+3111552000,3111553023,US
3111553024,3111554047,IR
3111554048,3111555071,TR
3111555072,3111556095,DE
@@ -101469,7 +103987,9 @@
3111741440,3111743487,UA
3111743488,3111744511,NL
3111744512,3111745535,UA
-3111745536,3111746559,MD
+3111745536,3111746047,MD
+3111746048,3111746303,RS
+3111746304,3111746559,MD
3111746560,3111747583,TR
3111747584,3111748607,IR
3111748608,3111750655,GB
@@ -101550,9 +104070,9 @@
3111823104,3111823359,GB
3111823360,3111824383,NL
3111824384,3111825407,PL
-3111825408,3111825919,GB
+3111825408,3111825919,SA
3111825920,3111826175,LT
-3111826176,3111826431,RU
+3111826176,3111826431,SA
3111826432,3111827455,DE
3111827456,3111828479,ES
3111828480,3111829503,DK
@@ -101592,7 +104112,65 @@
3111866368,3111867391,GB
3111867392,3111868415,FR
3111868416,3111869439,DE
-3111869440,3111870463,NO
+3111869440,3111869440,NO
+3111869441,3111869470,IN
+3111869471,3111869472,NO
+3111869473,3111869502,FI
+3111869503,3111869504,NO
+3111869505,3111869534,IE
+3111869535,3111869536,NO
+3111869537,3111869566,IL
+3111869567,3111869568,NO
+3111869569,3111869598,JP
+3111869599,3111869632,NO
+3111869633,3111869662,PT
+3111869663,3111869664,NO
+3111869665,3111869694,RU
+3111869695,3111869696,NO
+3111869697,3111869726,FI
+3111869727,3111869728,NO
+3111869729,3111869758,IE
+3111869759,3111869760,NO
+3111869761,3111869790,IL
+3111869791,3111869792,NO
+3111869793,3111869822,JP
+3111869823,3111869856,NO
+3111869857,3111869886,PT
+3111869887,3111869888,NO
+3111869889,3111869918,RU
+3111869919,3111869919,NO
+3111869920,3111869935,NZ
+3111869936,3111869951,BR
+3111869952,3111869952,NO
+3111869953,3111869982,FI
+3111869983,3111869984,NO
+3111869985,3111870014,IE
+3111870015,3111870016,NO
+3111870017,3111870046,IL
+3111870047,3111870048,NO
+3111870049,3111870078,JP
+3111870079,3111870112,NO
+3111870113,3111870142,PT
+3111870143,3111870144,NO
+3111870145,3111870174,RU
+3111870175,3111870175,NO
+3111870176,3111870191,NZ
+3111870192,3111870207,BR
+3111870208,3111870208,NO
+3111870209,3111870238,FI
+3111870239,3111870240,NO
+3111870241,3111870270,IE
+3111870271,3111870272,NO
+3111870273,3111870302,JP
+3111870303,3111870336,NO
+3111870337,3111870366,PT
+3111870367,3111870368,NO
+3111870369,3111870398,RU
+3111870399,3111870399,NO
+3111870400,3111870415,BR
+3111870416,3111870431,BE
+3111870432,3111870447,NZ
+3111870448,3111870463,NO
3111870464,3111871487,GB
3111871488,3111873535,TR
3111873536,3111874559,AT
@@ -101655,7 +104233,7 @@
3111944192,3111945215,PL
3111945216,3111946239,CH
3111946240,3111948287,ES
-3111948288,3111949311,AT
+3111948288,3111949311,DE
3111949312,3111950335,IQ
3111950336,3111951359,RU
3111951360,3111952383,IR
@@ -101690,7 +104268,7 @@
3111983104,3111984127,UA
3111984128,3111985151,ES
3111985152,3111986175,TR
-3111986176,3111987199,RU
+3111986176,3111987199,DE
3111987200,3111988223,NL
3111988224,3111989247,KZ
3111989248,3111990015,RU
@@ -101736,7 +104314,7 @@
3112031232,3112032255,CH
3112032256,3112033279,RU
3112033280,3112034303,DK
-3112034304,3112034305,DE
+3112034304,3112034305,FR
3112034306,3112034306,GB
3112034307,3112034307,PL
3112034308,3112034308,FR
@@ -101867,12 +104445,12 @@
3112071168,3112072191,UA
3112072192,3112073215,RO
3112073216,3112074239,NL
-3112074240,3112075263,IR
+3112074240,3112075263,UA
3112075264,3112076287,RU
3112076288,3112077311,IR
3112077312,3112078335,GB
3112078336,3112079359,IT
-3112079360,3112080383,IR
+3112079360,3112080383,UA
3112080384,3112081407,GB
3112081408,3112082431,DK
3112082432,3112083455,IR
@@ -101931,8 +104509,7 @@
3112139776,3112140799,LB
3112140800,3112141569,ES
3112141570,3112141570,FR
-3112141571,3112141571,DE
-3112141572,3112141823,ES
+3112141571,3112141823,ES
3112141824,3112142847,IT
3112142848,3112143871,NL
3112143872,3112144895,GB
@@ -101943,11 +104520,12 @@
3112150016,3112151039,RU
3112151040,3112152063,NO
3112152064,3112153087,CH
-3112153088,3112154111,IR
+3112153088,3112154111,AU
3112154112,3112155135,LB
3112155136,3112156159,NL
3112156160,3112157183,LB
3112158208,3112159231,IT
+3112159232,3112160255,DE
3112160256,3112161279,CH
3112161280,3112162303,DE
3112162304,3112163327,IT
@@ -101967,10 +104545,14 @@
3112176640,3112177663,ES
3112177664,3112178687,FI
3112178688,3112179711,PL
-3112179712,3112179967,SG
+3112179712,3112179911,SG
+3112179912,3112179919,BN
+3112179920,3112179967,SG
3112179968,3112180223,FR
3112180224,3112180479,HU
-3112180480,3112181759,IT
+3112180480,3112180661,IT
+3112180662,3112180662,RO
+3112180663,3112181759,IT
3112181760,3112182783,NL
3112182784,3112183807,IQ
3112183808,3112184831,CH
@@ -102009,7 +104591,8 @@
3112217600,3112218623,CH
3112218624,3112219647,GB
3112219648,3112220671,SY
-3112220672,3112221695,NL
+3112220672,3112220927,GB
+3112220928,3112221695,NL
3112221696,3112222719,DE
3112222720,3112223743,ES
3112223744,3112224767,RU
@@ -102051,7 +104634,8 @@
3112262656,3112263679,AZ
3112263680,3112265727,RU
3112265728,3112266751,ES
-3112266752,3112267775,IR
+3112266752,3112267007,IR
+3112267008,3112267775,UA
3112267776,3112268799,PL
3112268800,3112269823,IR
3112269824,3112270847,RS
@@ -102059,7 +104643,7 @@
3112271872,3112272895,UA
3112272896,3112273919,IE
3112273920,3112274943,CZ
-3112274944,3112275967,IR
+3112274944,3112275967,UA
3112275968,3112276991,RU
3112276992,3112278015,LV
3112278016,3112279039,FI
@@ -102093,8 +104677,11 @@
3112310784,3112312831,ES
3112312832,3112313855,DE
3112313856,3112315903,GB
-3112315904,3112316927,PL
-3112316928,3112317951,IQ
+3112315904,3112316159,SE
+3112316160,3112316927,PL
+3112316928,3112316929,IQ
+3112316930,3112316930,IT
+3112316931,3112317951,IQ
3112317952,3112318975,UA
3112318976,3112319999,TR
3112321024,3112322047,FI
@@ -102234,12 +104821,14 @@
3112474624,3112475647,GB
3112475648,3112476671,IL
3112476672,3112477695,ME
-3112477696,3112479743,AE
+3112477696,3112478719,ES
+3112478720,3112479743,IT
3112479744,3112480767,RO
3112480768,3112482815,NL
-3112482816,3112485887,AE
+3112482816,3112484863,AE
+3112484864,3112485887,ES
3112485888,3112486911,RU
-3112486912,3112487935,AE
+3112486912,3112487935,AD
3112487936,3112488959,KW
3112488960,3112489983,DE
3112489984,3112491007,IR
@@ -102286,7 +104875,9 @@
3112532992,3112534015,KW
3112534016,3112535039,FR
3112535040,3112536063,HR
-3112536064,3112537087,ES
+3112536064,3112536319,ES
+3112536320,3112536575,PT
+3112536576,3112537087,ES
3112537088,3112538111,NO
3112538112,3112539135,CZ
3112539136,3112540159,NL
@@ -102416,7 +105007,7 @@
3112665088,3112666111,GB
3112666112,3112666623,FR
3112666624,3112667135,NO
-3112667136,3112668159,DE
+3112667136,3112668159,US
3112668160,3112669183,UA
3112669184,3112670207,CZ
3112670208,3112671231,RU
@@ -102426,7 +105017,8 @@
3112674304,3112676351,GB
3112676352,3112677375,RU
3112677376,3112678399,FR
-3112678400,3112679423,UA
+3112678400,3112679167,UA
+3112679168,3112679423,RU
3112679424,3112680447,NO
3112680448,3112681471,IQ
3112681472,3112682495,PL
@@ -102450,13 +105042,13 @@
3112702976,3112703231,SE
3112703232,3112703487,FI
3112703488,3112703743,DK
-3112703744,3112703999,SE
+3112703744,3112703999,NO
3112704000,3112705023,DE
3112705024,3112706047,ES
3112706048,3112707071,RU
3112707072,3112708095,FI
3112708096,3112709119,FR
-3112709120,3112710143,DK
+3112709120,3112710143,IL
3112710144,3112711167,NO
3112711168,3112712191,PT
3112712192,3112713215,TR
@@ -102486,7 +105078,11 @@
3112734720,3112735743,SY
3112735744,3112736767,IQ
3112736768,3112737791,PL
-3112737792,3112741887,DE
+3112737792,3112737983,DE
+3112737984,3112737985,FR
+3112737986,3112740415,DE
+3112740416,3112740419,FR
+3112740420,3112741887,DE
3112741888,3112742911,IR
3112742912,3112743935,RO
3112743936,3112744959,IR
@@ -102507,9 +105103,12 @@
3112762368,3112763391,IE
3112763392,3112764415,GB
3112764416,3112765439,NO
-3112765440,3112766463,GB
+3112765440,3112765695,GB
+3112765696,3112765951,SG
+3112765952,3112766463,GB
3112766464,3112767487,DE
3112767744,3112767871,NL
+3112767872,3112767999,UA
3112768000,3112768018,NL
3112768019,3112768019,RU
3112768020,3112768511,NL
@@ -102605,9 +105204,7 @@
3112856576,3112857599,CZ
3112857600,3112858623,IE
3112858624,3112859647,FR
-3112859648,3112860159,IQ
-3112860160,3112860415,US
-3112860416,3112860671,IQ
+3112859648,3112860671,IQ
3112860672,3112861695,AT
3112861696,3112862719,RU
3112862720,3112863743,PS
@@ -102624,7 +105221,8 @@
3112876032,3112877055,KG
3112877056,3112878079,CZ
3112878080,3112880127,GB
-3112880128,3112882175,RU
+3112880128,3112881151,UA
+3112881152,3112882175,RU
3112882176,3112883199,NL
3112883200,3112884223,RU
3112884224,3112885247,IT
@@ -102721,7 +105319,9 @@
3112971264,3112972287,FR
3112972288,3112973311,US
3112973312,3112973567,SE
-3112973568,3112973823,DE
+3112973568,3112973727,DE
+3112973728,3112973728,LI
+3112973729,3112973823,DE
3112973824,3112974079,UA
3112974080,3112974083,HU
3112974084,3112974087,AT
@@ -102777,7 +105377,8 @@
3113020416,3113021439,CZ
3113021440,3113022463,IR
3113022464,3113023487,CZ
-3113023488,3113024511,SA
+3113023488,3113023743,AE
+3113023744,3113024511,SA
3113024512,3113025535,DE
3113025536,3113026559,CH
3113026560,3113027583,FR
@@ -102790,7 +105391,7 @@
3113032704,3113033727,SE
3113033728,3113034751,TR
3113034752,3113035775,IR
-3113035776,3113036799,RU
+3113035776,3113036799,UA
3113036800,3113037823,ES
3113037824,3113038847,IR
3113038848,3113039871,LV
@@ -102809,7 +105410,8 @@
3113052160,3113053183,IR
3113053184,3113054207,TR
3113054208,3113055231,SE
-3113055232,3113056255,FR
+3113055232,3113055999,FR
+3113056000,3113056255,LU
3113056256,3113057279,DE
3113057280,3113058303,RU
3113058304,3113059327,FR
@@ -102937,7 +105539,9 @@
3113176064,3113177087,GB
3113177088,3113178111,BG
3113178112,3113179135,GB
-3113179136,3113180159,RU
+3113179136,3113179391,NL
+3113179392,3113179647,RU
+3113179648,3113180159,NL
3113180160,3113182207,ES
3113182208,3113183231,US
3113183232,3113184255,NL
@@ -103006,7 +105610,8 @@
3113236480,3113237503,NL
3113237504,3113238527,RU
3113238528,3113239551,IR
-3113239552,3113240575,US
+3113239552,3113240319,US
+3113240320,3113240575,GB
3113240576,3113241599,IT
3113241600,3113242623,TR
3113242624,3113243647,RO
@@ -103018,7 +105623,9 @@
3113246976,3113247231,RU
3113247232,3113247487,CZ
3113247488,3113247743,RU
-3113247744,3113248767,GB
+3113247744,3113247999,GB
+3113248000,3113248255,US
+3113248256,3113248767,DE
3113248768,3113249791,NL
3113249792,3113250815,GB
3113250816,3113251839,FR
@@ -103095,7 +105702,7 @@
3113309184,3113310207,IT
3113310208,3113311231,GB
3113311232,3113312255,SE
-3113312256,3113313279,BG
+3113312256,3113313279,NL
3113313280,3113314303,IT
3113314304,3113315327,UA
3113315328,3113316351,CH
@@ -103146,7 +105753,7 @@
3113358336,3113359359,CZ
3113359360,3113360383,FR
3113360384,3113361407,BG
-3113361408,3113362431,US
+3113361408,3113362431,CA
3113362432,3113363455,DE
3113363456,3113364479,FR
3113364480,3113365503,GB
@@ -103177,9 +105784,7 @@
3113391104,3113392127,CZ
3113392128,3113393151,GB
3113393152,3113394175,RU
-3113394176,3113394687,IT
-3113394688,3113394943,JE
-3113394944,3113395199,IT
+3113394176,3113395199,IT
3113395200,3113396223,TR
3113396224,3113397247,RU
3113397248,3113398271,SE
@@ -103257,7 +105862,7 @@
3113465856,3113466879,GB
3113466880,3113467903,CH
3113467904,3113468927,RU
-3113468928,3113469951,TR
+3113468928,3113469951,UA
3113469952,3113470975,ME
3113470976,3113471999,FR
3113472000,3113473023,GB
@@ -103265,7 +105870,9 @@
3113473280,3113473535,SE
3113473536,3113473791,ES
3113473792,3113475071,DE
-3113475072,3113476607,FR
+3113475072,3113476095,FR
+3113476096,3113476351,YT
+3113476352,3113476607,FR
3113476608,3113477119,RE
3113477120,3113479167,FR
3113479168,3113480191,SE
@@ -103282,9 +105889,11 @@
3113490432,3113491455,RU
3113492480,3113493503,TR
3113493504,3113494527,RU
-3113494528,3113497599,NL
+3113494528,3113495551,NL
+3113495552,3113496575,US
+3113496576,3113497599,NL
3113497600,3113498623,ES
-3113498624,3113499647,TR
+3113498624,3113499647,UA
3113499648,3113500671,BG
3113500672,3113501695,PL
3113501696,3113502719,DE
@@ -103432,7 +106041,8 @@
3113649152,3113650175,PL
3113650176,3113651199,GB
3113651200,3113652223,SY
-3113652224,3113653759,GB
+3113652224,3113653247,GB
+3113653248,3113653759,US
3113653760,3113653763,DE
3113653764,3113653767,FR
3113653768,3113653771,GB
@@ -103451,7 +106061,7 @@
3113653800,3113653801,IE
3113653802,3113653803,IS
3113653804,3113653805,FO
-3113653806,3113653887,GB
+3113653806,3113653887,US
3113653888,3113653889,DE
3113653890,3113653891,FR
3113653892,3113653893,GB
@@ -103470,7 +106080,7 @@
3113653908,3113653908,IE
3113653909,3113653909,IS
3113653910,3113653910,FO
-3113653911,3113654015,GB
+3113653911,3113654015,US
3113654016,3113654019,DE
3113654020,3113654023,FR
3113654024,3113654027,GB
@@ -103489,7 +106099,7 @@
3113654056,3113654057,IE
3113654058,3113654059,IS
3113654060,3113654061,FO
-3113654062,3113654271,GB
+3113654062,3113654271,US
3113654272,3113655295,RU
3113655296,3113656319,NL
3113656320,3113657343,FR
@@ -103528,7 +106138,9 @@
3113691136,3113692159,KZ
3113692160,3113693183,GB
3113693184,3113694207,DE
-3113694208,3113695231,GB
+3113694208,3113695227,FR
+3113695228,3113695228,GB
+3113695229,3113695231,FR
3113695232,3113695347,DE
3113695348,3113695351,GB
3113695352,3113695359,DE
@@ -103628,9 +106240,7 @@
3113777152,3113778175,PL
3113778176,3113779199,TR
3113779200,3113780223,GB
-3113780224,3113780479,RU
-3113780480,3113780735,SG
-3113780736,3113781247,RU
+3113780224,3113781247,RU
3113781248,3113782271,BY
3113782272,3113783295,IT
3113783296,3113784319,TR
@@ -103714,7 +106324,6 @@
3113861120,3113862143,CZ
3113862144,3113863167,MD
3113863168,3113863423,NL
-3113863424,3113864191,LT
3113864192,3113865215,GB
3113865216,3113866239,IR
3113866240,3113867263,LB
@@ -103844,7 +106453,8 @@
3113990144,3113991167,CH
3113991168,3113993215,DE
3113993216,3113994239,IT
-3113994240,3113995263,NL
+3113994240,3113995007,FR
+3113995008,3113995263,IT
3113995264,3113996287,ES
3113996288,3113997311,HR
3113997312,3113998335,NO
@@ -104120,7 +106730,7 @@
3114245376,3114245631,CH
3114245632,3114245887,IS
3114245888,3114246143,SE
-3114246144,3114247167,TR
+3114246144,3114247167,UA
3114248192,3114249215,CZ
3114249216,3114250239,RU
3114250240,3114251263,IR
@@ -104169,7 +106779,7 @@
3114285056,3114286079,NL
3114286080,3114287103,UA
3114287104,3114287359,AE
-3114287360,3114288127,UA
+3114287360,3114288127,US
3114289152,3114290175,NL
3114290176,3114291199,DE
3114291200,3114291455,ES
@@ -104468,9 +107078,7 @@
3114557440,3114558463,DE
3114558464,3114559487,ES
3114559488,3114560511,LB
-3114560512,3114560767,DE
-3114560768,3114561023,GB
-3114561024,3114561535,DE
+3114560512,3114561535,DE
3114561536,3114562559,TR
3114562560,3114563583,ES
3114563584,3114564607,GB
@@ -104508,7 +107116,9 @@
3114596352,3114597375,SY
3114597376,3114598399,IR
3114598400,3114600447,ES
-3114600448,3114603519,DE
+3114600448,3114601471,DE
+3114601472,3114602495,SA
+3114602496,3114603519,DE
3114603520,3114604543,TR
3114604544,3114605567,BG
3114605568,3114606591,IR
@@ -104552,9 +107162,9 @@
3114634240,3114635263,SK
3114635264,3114636287,FR
3114636288,3114637311,PL
-3114637312,3114637567,NL
-3114637568,3114637823,RU
-3114637824,3114639103,NL
+3114637312,3114638079,NL
+3114638080,3114638335,CA
+3114638336,3114639103,NL
3114639104,3114639359,PL
3114639360,3114640383,RU
3114640384,3114641407,ES
@@ -104588,7 +107198,8 @@
3114670080,3114671103,IQ
3114671104,3114672127,FI
3114672128,3114673151,SE
-3114673152,3114675199,GB
+3114673152,3114674175,ES
+3114674176,3114675199,GB
3114675200,3114676223,NO
3114676224,3114677247,NL
3114677248,3114678271,SK
@@ -104616,7 +107227,7 @@
3114697728,3114699775,HU
3114699776,3114700799,NL
3114700800,3114701055,ES
-3114701056,3114701823,UA
+3114701056,3114701823,US
3114701824,3114702847,SE
3114702848,3114703871,LV
3114703872,3114704895,GB
@@ -104637,14 +107248,17 @@
3114721280,3114722303,GB
3114722304,3114723327,HU
3114723328,3114724351,SE
-3114724352,3114725119,NL
+3114724352,3114724767,NL
+3114724768,3114724775,US
+3114724776,3114725119,NL
3114725120,3114725375,US
3114725376,3114726399,RU
3114726400,3114727423,SE
3114727424,3114728447,BE
3114728448,3114729471,GB
3114729472,3114730495,AU
-3114730496,3114731519,GB
+3114730496,3114730751,CH
+3114730752,3114731519,GB
3114731520,3114732543,CH
3114732544,3114733567,SY
3114733568,3114734591,FR
@@ -104690,7 +107304,7 @@
3114777600,3114778623,DE
3114778624,3114779647,IT
3114779648,3114780671,IE
-3114780672,3114781695,LT
+3114780672,3114781695,SA
3114781696,3114782719,NL
3114782720,3114783743,CZ
3114783744,3114784767,PL
@@ -104731,7 +107345,7 @@
3114819584,3114820607,IT
3114820608,3114821631,AT
3114821632,3114822655,ES
-3114822656,3114823679,UA
+3114822656,3114823679,US
3114823680,3114824703,NL
3114824704,3114825727,HR
3114825728,3114826751,GB
@@ -104771,7 +107385,9 @@
3114858496,3114858751,NL
3114858752,3114859519,FR
3114859520,3114860543,NL
-3114860544,3114861567,DE
+3114860544,3114860799,DE
+3114860800,3114861311,US
+3114861312,3114861567,DE
3114861568,3114862591,AE
3114862592,3114863615,AT
3114863616,3114864639,DK
@@ -104797,7 +107413,8 @@
3114885120,3114886143,PT
3114886144,3114887167,RU
3114887168,3114888191,DE
-3114888192,3114890239,NL
+3114888192,3114889215,US
+3114889216,3114890239,NL
3114890240,3114892287,GB
3114892288,3114893311,DE
3114893312,3114894335,TR
@@ -104815,7 +107432,9 @@
3114905600,3114906623,IT
3114906624,3114907647,TR
3114907648,3114908671,IT
-3114908672,3114909695,IS
+3114908672,3114909183,IS
+3114909184,3114909439,LV
+3114909440,3114909695,IS
3114909696,3114910719,DE
3114910720,3114911231,NL
3114911232,3114911743,GB
@@ -104868,7 +107487,7 @@
3114954752,3114955775,DE
3114955776,3114956799,AE
3114956800,3114957823,DE
-3114958848,3114959871,NL
+3114958848,3114959871,LB
3114959872,3114960895,CH
3114960896,3114961919,IT
3114961920,3114962943,GR
@@ -104934,7 +107553,7 @@
3115020288,3115021311,FR
3115021312,3115022335,AE
3115023360,3115024127,FR
-3115024128,3115024383,CZ
+3115024128,3115024383,SE
3115024384,3115025407,NL
3115025408,3115026431,SY
3115026432,3115027455,DE
@@ -104954,7 +107573,7 @@
3115041792,3115042815,DK
3115042816,3115043839,RU
3115043840,3115044863,DE
-3115044864,3115045887,NL
+3115044864,3115045887,US
3115045888,3115046911,IT
3115046912,3115047935,DE
3115047936,3115048959,GB
@@ -104991,7 +107610,7 @@
3115079680,3115080703,MD
3115080704,3115081727,LI
3115081728,3115082751,ES
-3115082752,3115083775,UA
+3115082752,3115083775,CH
3115083776,3115084799,SK
3115084800,3115085823,NL
3115085824,3115086847,GB
@@ -105009,7 +107628,8 @@
3115095040,3115096063,DE
3115096064,3115097087,FR
3115097088,3115098111,LT
-3115098112,3115099391,NL
+3115098112,3115099135,NL
+3115099136,3115099391,DE
3115099392,3115099647,US
3115099648,3115100159,NL
3115100160,3115101183,ES
@@ -105108,7 +107728,8 @@
3115195392,3115196415,TR
3115196416,3115197439,LI
3115197440,3115198463,DE
-3115198464,3115199487,NL
+3115198464,3115198719,NO
+3115198720,3115199487,NL
3115199488,3115200511,CZ
3115200512,3115201535,DE
3115201536,3115202559,FR
@@ -105226,9 +107847,7 @@
3115301888,3115302911,SK
3115302912,3115303935,LT
3115303936,3115305983,NL
-3115305984,3115306239,BE
-3115306240,3115306495,TR
-3115306496,3115307007,BE
+3115305984,3115307007,BE
3115307008,3115307519,DE
3115307520,3115308031,CA
3115308032,3115309055,IT
@@ -105247,7 +107866,8 @@
3115322368,3115323391,IE
3115323392,3115324415,DE
3115324416,3115325439,IT
-3115325440,3115326463,RU
+3115325440,3115326207,RU
+3115326208,3115326463,BG
3115326464,3115327487,SE
3115327488,3115328511,IR
3115328512,3115329535,NO
@@ -105286,14 +107906,14 @@
3115366400,3115367423,SE
3115367424,3115368447,ES
3115368448,3115369471,BG
-3115369472,3115370495,GB
+3115369472,3115370495,MT
3115370496,3115371519,IT
3115371520,3115372543,GB
3115372544,3115373567,LB
3115373568,3115374591,NO
3115374592,3115375615,BG
3115375616,3115376639,LV
-3115376640,3115377663,UA
+3115376640,3115377663,CH
3115377664,3115378687,DE
3115378688,3115379711,FR
3115379712,3115380735,CH
@@ -105306,9 +107926,10 @@
3115385856,3115387903,SK
3115387904,3115388927,MK
3115388928,3115389951,AT
-3115389952,3115390207,DE
-3115390208,3115390719,GB
+3115389952,3115390463,DE
+3115390464,3115390719,GB
3115390720,3115390975,NL
+3115390976,3115391999,TR
3115392000,3115393023,AL
3115393024,3115395071,IT
3115395072,3115396095,ES
@@ -105316,26 +107937,23 @@
3115397120,3115398143,MT
3115398144,3115399167,RU
3115399168,3115400191,BG
-3115400192,3115401215,RU
+3115400192,3115401215,CH
3115401216,3115402239,GB
3115402240,3115402495,IE
3115402496,3115403263,US
3115403264,3115404287,ES
3115405312,3115405567,US
-3115405568,3115405823,DE
-3115405824,3115406335,GB
-3115406336,3115407359,DE
+3115405568,3115407359,DE
3115407360,3115408383,CY
3115408384,3115409407,MD
3115409408,3115410431,RU
3115410432,3115411455,NL
3115411456,3115412479,AM
3115412480,3115414527,RU
-3115414528,3115415551,DE
+3115414528,3115415551,US
3115415552,3115416575,DK
3115416576,3115417599,MD
-3115417856,3115418367,DE
-3115418368,3115418623,US
+3115417856,3115418623,DE
3115418624,3115419647,IS
3115419648,3115420671,NL
3115420672,3115421695,DE
@@ -105369,7 +107987,7 @@
3115446272,3115447295,UA
3115447296,3115448319,IT
3115448320,3115449343,DE
-3115449344,3115450367,BG
+3115449344,3115450367,DK
3115450368,3115451391,AT
3115451392,3115452415,BG
3115452416,3115453439,IT
@@ -105392,7 +108010,7 @@
3115469824,3115470847,FR
3115470848,3115471871,ES
3115471872,3115472895,PL
-3115472896,3115473919,UA
+3115472896,3115473919,GB
3115473920,3115474943,IT
3115474944,3115475967,PL
3115475968,3115476991,IT
@@ -105532,7 +108150,8 @@
3115606016,3115607039,NL
3115607040,3115608063,MD
3115608064,3115609087,NL
-3115609088,3115610111,RU
+3115609088,3115609343,RU
+3115609344,3115610111,BR
3115610112,3115611135,PL
3115611136,3115612159,GB
3115612160,3115613183,IT
@@ -105647,9 +108266,7 @@
3115725824,3115726847,GB
3115726848,3115727871,NL
3115727872,3115728127,US
-3115728128,3115728383,GB
-3115728384,3115728639,US
-3115728640,3115728703,GB
+3115728128,3115728703,GB
3115728704,3115728735,NL
3115728736,3115728895,GB
3115728896,3115729919,FR
@@ -105723,8 +108340,9 @@
3115799552,3115799807,US
3115799808,3115800063,DE
3115800064,3115800319,GB
-3115800320,3115801599,DE
-3115801600,3115801855,LB
+3115800320,3115800575,US
+3115800576,3115801599,DE
+3115801600,3115802623,LB
3115802624,3115802879,NL
3115802880,3115803135,RO
3115803136,3115803391,NL
@@ -105772,7 +108390,8 @@
3115842560,3115843583,FR
3115843584,3115844607,ES
3115844608,3115845631,FR
-3115845632,3115846655,PL
+3115845632,3115846399,PL
+3115846400,3115846655,SG
3115846656,3115847679,CH
3115847680,3115848703,IL
3115848704,3115849727,AE
@@ -105809,7 +108428,9 @@
3115879680,3115880447,CR
3115880448,3115881471,LT
3115881472,3115882495,ES
-3115882496,3115884543,GB
+3115882496,3115883775,GB
+3115883776,3115884031,US
+3115884032,3115884543,GB
3115884544,3115885567,DE
3115885568,3115886591,NL
3115886592,3115887615,UA
@@ -105876,8 +108497,7 @@
3115947008,3115948031,RU
3115948032,3115949055,GB
3115949056,3115950079,GR
-3115950080,3115950591,IE
-3115950592,3115951103,GB
+3115950080,3115951103,GB
3115951104,3115952127,NL
3115952128,3115953151,FI
3115953152,3115954175,IQ
@@ -105905,7 +108525,7 @@
3115974656,3115975679,RU
3115975680,3115975935,US
3115975936,3115976703,GB
-3115976704,3115976959,US
+3115976704,3115976959,NL
3115976960,3115977471,GB
3115977472,3115977727,US
3115977728,3115978751,IT
@@ -105921,7 +108541,7 @@
3115988992,3115990015,SE
3115990016,3115991039,RO
3115991040,3115991295,NL
-3115991296,3115991551,US
+3115991296,3115991551,RU
3115991552,3115991807,IL
3115991808,3115992063,NL
3115992064,3115993087,IT
@@ -105930,7 +108550,8 @@
3115994368,3115994623,GB
3115994624,3115994879,SE
3115994880,3115995135,DK
-3115995136,3115995647,RS
+3115995136,3115995391,XK
+3115995392,3115995647,RS
3115995648,3115995903,AL
3115995904,3115996159,RS
3115996160,3115997183,GR
@@ -106028,8 +108649,9 @@
3116091392,3116092415,DE
3116092416,3116093439,IQ
3116093440,3116094463,FR
-3116094464,3116094975,US
-3116094976,3116095487,CZ
+3116094464,3116094975,IT
+3116094976,3116095231,MC
+3116095232,3116095487,MD
3116095488,3116096511,FR
3116096512,3116097535,SY
3116097536,3116098559,NL
@@ -106039,10 +108661,7 @@
3116101632,3116101887,GB
3116101888,3116102143,NL
3116102144,3116102655,GB
-3116102656,3116102911,FR
-3116102912,3116103167,DE
-3116103168,3116103423,SG
-3116103424,3116103679,US
+3116102656,3116103679,FR
3116103680,3116104703,HU
3116104704,3116105727,SE
3116105728,3116107007,DE
@@ -106058,7 +108677,9 @@
3116114944,3116115967,TR
3116115968,3116116991,NL
3116116992,3116118015,CH
-3116118016,3116120063,DE
+3116118016,3116119295,DE
+3116119296,3116119551,AT
+3116119552,3116120063,DE
3116120064,3116121087,HU
3116121344,3116121599,GB
3116122112,3116123135,DE
@@ -106118,7 +108739,8 @@
3116183552,3116184575,SE
3116184576,3116185599,TR
3116185600,3116185855,US
-3116185856,3116186623,GB
+3116185856,3116186111,NL
+3116186112,3116186623,GB
3116186624,3116187647,IT
3116187648,3116188671,ES
3116188672,3116189695,MD
@@ -106175,7 +108797,8 @@
3116239872,3116240895,IE
3116240896,3116241151,US
3116241152,3116241407,FR
-3116241408,3116241919,US
+3116241408,3116241663,US
+3116241664,3116241919,NL
3116241920,3116242943,IR
3116242944,3116243967,NL
3116243968,3116244991,LB
@@ -106296,8 +108919,7 @@
3116363776,3116364799,NL
3116364800,3116365823,PL
3116365824,3116367871,ES
-3116367872,3116368127,GR
-3116368128,3116368895,NL
+3116367872,3116368895,GR
3116368896,3116369919,GI
3116369920,3116370943,IR
3116370944,3116371967,FI
@@ -106313,8 +108935,7 @@
3116380160,3116381183,DE
3116381184,3116382207,LB
3116382208,3116382463,JP
-3116382464,3116382719,GU
-3116382720,3116382975,AQ
+3116382464,3116382975,AQ
3116382976,3116383231,DE
3116383232,3116384255,RU
3116384256,3116385279,DE
@@ -106423,7 +109044,7 @@
3116489728,3116490751,HU
3116490752,3116491775,CH
3116491776,3116492799,DE
-3116492800,3116493823,AF
+3116492800,3116493823,IR
3116493824,3116494847,DK
3116494848,3116495871,NL
3116495872,3116496895,CH
@@ -106492,8 +109113,7 @@
3116546384,3116546399,GR
3116546400,3116546415,NO
3116546416,3116546431,SI
-3116546432,3116546815,LU
-3116546816,3116547071,BE
+3116546432,3116547071,BE
3116547072,3116548095,UA
3116548096,3116549119,NL
3116549120,3116550143,TJ
@@ -106529,7 +109149,8 @@
3116580864,3116581887,US
3116581888,3116582911,CH
3116582912,3116583935,IR
-3116583936,3116584959,TR
+3116583936,3116584703,TR
+3116584704,3116584959,NL
3116584960,3116587007,CZ
3116587008,3116588031,FR
3116588032,3116589055,SE
@@ -106747,7 +109368,8 @@
3116813312,3116814335,CH
3116814336,3116815359,IT
3116815360,3116816383,MD
-3116816384,3116818431,DE
+3116816384,3116817407,DE
+3116817408,3116818431,US
3116818432,3116819455,FR
3116819456,3116820479,GB
3116820480,3116822527,AT
@@ -106829,7 +109451,7 @@
3116897280,3116898303,TR
3116898304,3116899327,ES
3116899328,3116900351,TR
-3116900352,3116901375,DE
+3116900352,3116901375,US
3116901376,3116902399,TR
3116902400,3116903423,BG
3116903424,3116905471,PL
@@ -106900,7 +109522,7 @@
3116965888,3116966911,GB
3116966912,3116967935,BG
3116967936,3116968447,DE
-3116968448,3116968703,NO
+3116968448,3116968703,IE
3116968704,3116968959,DE
3116968960,3116969983,RU
3116969984,3116971007,IR
@@ -106937,7 +109559,7 @@
3117003776,3117004799,GB
3117004800,3117005823,IT
3117005824,3117005855,PT
-3117006080,3117006335,AE
+3117005856,3117006335,AE
3117006336,3117006591,IR
3117006592,3117006847,AE
3117006848,3117007871,KW
@@ -107051,7 +109673,7 @@
3117118464,3117119487,BG
3117119488,3117119999,DE
3117120000,3117120255,IN
-3117120256,3117120511,DE
+3117120256,3117120511,US
3117120512,3117121535,IT
3117121536,3117122559,PL
3117122560,3117123583,CH
@@ -107081,7 +109703,7 @@
3117149184,3117150207,RU
3117150208,3117151231,NL
3117151232,3117152255,UA
-3117152256,3117153279,RO
+3117152256,3117153279,GB
3117153280,3117154303,PL
3117154304,3117154559,RU
3117154560,3117154815,FI
@@ -107108,7 +109730,7 @@
3117176832,3117177855,SY
3117177856,3117178879,IE
3117178880,3117179903,DE
-3117179904,3117180927,ES
+3117179904,3117180927,GB
3117180928,3117181951,FR
3117181952,3117182975,RU
3117182976,3117183999,DK
@@ -107132,7 +109754,9 @@
3117201408,3117202431,US
3117202432,3117203455,FR
3117203456,3117204479,PL
-3117204480,3117205503,NL
+3117204480,3117204735,ES
+3117204736,3117204991,IT
+3117204992,3117205503,NL
3117205504,3117206527,ES
3117206528,3117208575,FR
3117208576,3117209599,GB
@@ -107206,7 +109830,7 @@
3117270016,3117271039,TR
3117271040,3117272063,RU
3117272064,3117272831,GB
-3117272832,3117273087,RU
+3117272832,3117273087,BY
3117273088,3117274111,BG
3117274112,3117276159,DE
3117276160,3117277183,IR
@@ -107240,7 +109864,7 @@
3117305856,3117306879,RO
3117306880,3117307903,IT
3117307904,3117308927,DE
-3117308928,3117309951,IN
+3117308928,3117309951,US
3117309952,3117310975,KW
3117310976,3117311999,RU
3117312000,3117313023,DE
@@ -107258,10 +109882,13 @@
3117323264,3117324287,GB
3117324288,3117325311,DE
3117325312,3117326335,DK
-3117326336,3117327359,DE
+3117326336,3117326847,NL
+3117326848,3117327359,US
3117327360,3117328383,RU
3117328384,3117329407,FR
-3117329408,3117330431,IQ
+3117329408,3117329536,IQ
+3117329537,3117329537,IT
+3117329538,3117330431,IQ
3117330432,3117331455,FI
3117331456,3117332479,DE
3117332480,3117333503,SI
@@ -107324,8 +109951,8 @@
3117392896,3117393919,NL
3117393920,3117394943,CZ
3117394944,3117395967,ES
-3117395968,3117396479,GB
-3117396480,3117396735,US
+3117395968,3117396223,GB
+3117396224,3117396735,US
3117396736,3117396991,TR
3117396992,3117398015,MD
3117398016,3117399039,UA
@@ -107382,7 +110009,8 @@
3117452288,3117453311,FR
3117453312,3117454335,ES
3117454336,3117455359,IR
-3117455360,3117456127,CZ
+3117455360,3117455871,CZ
+3117455872,3117456127,ME
3117456128,3117456383,DK
3117456384,3117457407,CH
3117457408,3117458431,DE
@@ -107472,7 +110100,7 @@
3117540352,3117541375,US
3117541376,3117542399,BG
3117542400,3117543423,DE
-3117543424,3117544447,PT
+3117543424,3117544447,GB
3117544448,3117545471,DE
3117545472,3117546495,PL
3117546496,3117547519,US
@@ -107554,7 +110182,8 @@
3117623296,3117624319,HU
3117624320,3117625343,GB
3117625344,3117625599,NL
-3117625600,3117626367,GB
+3117625600,3117625855,US
+3117625856,3117626367,GB
3117626368,3117627391,NO
3117627392,3117628415,IR
3117628416,3117629439,DE
@@ -107620,7 +110249,8 @@
3117693952,3117693952,IR
3117693953,3117694975,AU
3117694976,3117695999,PL
-3117696000,3117696511,GB
+3117696000,3117696255,US
+3117696256,3117696511,GB
3117696512,3117697023,US
3117697024,3117698047,FR
3117698048,3117699071,DE
@@ -107664,7 +110294,12 @@
3117732864,3117733887,FR
3117733888,3117734911,GB
3117734912,3117735935,LB
-3117735936,3117736959,FR
+3117735936,3117736847,FR
+3117736848,3117736855,NL
+3117736856,3117736863,DE
+3117736864,3117736867,PL
+3117736868,3117736871,RU
+3117736872,3117736959,FR
3117736960,3117737983,IE
3117737984,3117739007,NL
3117739008,3117743103,UA
@@ -107753,7 +110388,7 @@
3117826048,3117827071,DE
3117827072,3117827327,AT
3117827328,3117827583,GB
-3117827584,3117828095,AT
+3117827584,3117828095,US
3117828096,3117829119,NL
3117829120,3117830143,RU
3117830144,3117832191,ES
@@ -107829,7 +110464,7 @@
3117900800,3117901823,DE
3117901824,3117902847,ES
3117902848,3117903871,IE
-3117903872,3117904895,PT
+3117903872,3117904895,GB
3117904896,3117905919,IE
3117905920,3117906943,CH
3117906944,3117907967,IR
@@ -107859,7 +110494,8 @@
3117930240,3117930495,TW
3117930496,3117931519,AT
3117931520,3117933567,US
-3117933568,3117936639,IR
+3117933568,3117935615,IR
+3117935616,3117936639,AU
3117936640,3117937663,IT
3117937664,3117938687,IR
3117938688,3117939711,DK
@@ -107892,10 +110528,12 @@
3117959168,3117960191,US
3117960192,3117961215,GB
3117961216,3117962239,RU
-3117962240,3117963263,DE
+3117962240,3117963007,DE
+3117963008,3117963263,UA
3117963264,3117964287,IT
3117964288,3117965055,FR
3117965056,3117965311,SG
+3117965312,3117966335,FR
3117966336,3117967359,RU
3117967360,3117969407,GB
3117969408,3117970431,TR
@@ -107926,13 +110564,16 @@
3117996032,3117997055,ES
3117997056,3117998079,CZ
3117998080,3117999103,DE
-3117999104,3117999871,US
-3117999872,3118002175,DE
+3117999104,3118000127,US
+3118000128,3118002175,DE
3118002176,3118003199,FR
3118003200,3118004223,RU
3118004224,3118005247,NL
3118005248,3118006271,ES
-3118006272,3118007295,SE
+3118006272,3118006360,LV
+3118006361,3118006361,SE
+3118006362,3118006399,LV
+3118006400,3118007295,SE
3118007296,3118008319,AX
3118008320,3118009343,SA
3118009344,3118010367,ES
@@ -108057,7 +110698,7 @@
3118135296,3118136319,FR
3118136320,3118137343,ES
3118137344,3118138367,IT
-3118138368,3118139391,GB
+3118138368,3118139391,RU
3118139392,3118140415,ES
3118140416,3118141439,FR
3118141440,3118142463,CZ
@@ -108119,14 +110760,7 @@
3118203904,3118204927,FR
3118204928,3118205951,ES
3118205952,3118206975,GB
-3118206976,3118206976,GR
-3118206977,3118207231,BG
-3118207232,3118207232,GR
-3118207233,3118207487,BG
-3118207488,3118207488,GR
-3118207489,3118207743,BG
-3118207744,3118207744,GR
-3118207745,3118207999,BG
+3118206976,3118207999,GR
3118208000,3118209023,US
3118209024,3118210047,HR
3118210048,3118211071,CZ
@@ -108145,7 +110779,7 @@
3118223360,3118224383,US
3118224384,3118225407,ES
3118225408,3118226431,GB
-3118226432,3118227455,LV
+3118226432,3118227455,UA
3118227456,3118229503,DE
3118229504,3118231551,NL
3118231552,3118232575,IQ
@@ -108209,7 +110843,9 @@
3118285870,3118285871,IN
3118285872,3118285875,AU
3118285876,3118285877,NZ
-3118285878,3118286079,AU
+3118285878,3118285879,AU
+3118285880,3118285881,JP
+3118285882,3118286079,AU
3118286080,3118286111,SG
3118286112,3118286113,MY
3118286114,3118286115,ID
@@ -108223,7 +110859,8 @@
3118286130,3118286131,NP
3118286132,3118286133,SG
3118286134,3118286135,AU
-3118286136,3118286335,SG
+3118286136,3118286137,JP
+3118286138,3118286335,SG
3118286336,3118286367,JP
3118286368,3118286369,MY
3118286370,3118286371,ID
@@ -108250,8 +110887,7 @@
3118298112,3118300159,RU
3118300160,3118301183,CZ
3118301184,3118302207,ES
-3118302208,3118303231,US
-3118303232,3118304255,DE
+3118302208,3118304255,US
3118304256,3118305279,HU
3118305280,3118306303,GB
3118306304,3118307327,DE
@@ -108262,7 +110898,7 @@
3118312448,3118313471,IT
3118313472,3118314495,IS
3118314496,3118315519,UA
-3118315520,3118316543,NL
+3118315520,3118316543,BE
3118316544,3118317567,ES
3118317568,3118318591,IR
3118318592,3118319615,IT
@@ -108270,11 +110906,14 @@
3118320640,3118321663,GB
3118321664,3118322687,DE
3118322688,3118323711,RU
-3118323712,3118324735,GB
+3118323712,3118324479,GB
+3118324480,3118324735,US
3118324736,3118325759,RO
3118325760,3118327807,FR
3118327808,3118328831,IS
-3118328832,3118329855,FR
+3118328832,3118329343,GB
+3118329344,3118329599,FR
+3118329600,3118329855,GB
3118329856,3118330879,IT
3118330880,3118331903,DK
3118331904,3118332927,NL
@@ -108329,8 +110968,8 @@
3118382080,3118383103,ES
3118383104,3118384127,FR
3118384128,3118385151,PT
-3118385152,3118385919,UA
-3118385920,3118387199,DE
+3118385152,3118386175,UA
+3118386176,3118387199,DE
3118387200,3118388223,GB
3118388224,3118389247,FR
3118389248,3118390271,GB
@@ -108405,8 +111044,8 @@
3118460928,3118461951,ES
3118461952,3118462975,UA
3118462976,3118463999,RU
-3118464000,3118464767,DE
-3118464768,3118465023,US
+3118464000,3118464511,DE
+3118464512,3118465023,US
3118465024,3118466047,TR
3118466048,3118467071,HU
3118467072,3118468095,RU
@@ -108523,7 +111162,9 @@
3118562304,3118563071,KZ
3118563072,3118563327,EE
3118563328,3118564351,MD
-3118564352,3118567423,DE
+3118564352,3118565375,DE
+3118565376,3118566399,US
+3118566400,3118567423,DE
3118567424,3118568447,MD
3118568448,3118569471,ES
3118569472,3118570495,RU
@@ -108573,7 +111214,7 @@
3118611456,3118612479,PL
3118612480,3118613503,GR
3118613504,3118614527,RO
-3118614528,3118614783,DE
+3118614528,3118614783,US
3118614784,3118615039,TR
3118615040,3118615295,GB
3118615296,3118615551,TR
@@ -108612,7 +111253,7 @@
3118647296,3118648319,NO
3118648320,3118649343,NL
3118649344,3118650367,GB
-3118650368,3118651391,DE
+3118650368,3118651391,US
3118651392,3118652415,IE
3118652416,3118653439,GB
3118653440,3118657535,ES
@@ -108638,8 +111279,9 @@
3118676992,3118678015,GB
3118678016,3118679039,IR
3118679040,3118679295,FI
-3118679296,3118679551,NL
-3118679552,3118680063,GB
+3118679296,3118679551,DE
+3118679552,3118679807,GB
+3118679808,3118680063,DE
3118680064,3118681087,MD
3118681088,3118682111,SE
3118682112,3118682943,NL
@@ -108663,7 +111305,7 @@
3118696448,3118696703,RO
3118696704,3118696959,IR
3118696960,3118697215,TR
-3118697216,3118697471,IR
+3118697216,3118697471,US
3118697472,3118698495,SY
3118698496,3118699519,ES
3118699520,3118700543,CH
@@ -108685,7 +111327,8 @@
3118721024,3118722047,FR
3118722048,3118723071,IQ
3118723072,3118724095,GB
-3118724096,3118725119,MD
+3118724096,3118724097,MD
+3118724098,3118725119,ES
3118725120,3118726143,GB
3118726144,3118726399,HK
3118726400,3118726911,GB
@@ -108693,7 +111336,8 @@
3118727168,3118729215,ES
3118729216,3118730239,DE
3118730240,3118731263,SY
-3118731264,3118732287,DE
+3118731264,3118732031,DE
+3118732032,3118732287,US
3118732288,3118733311,FR
3118733312,3118734335,BG
3118734336,3118735359,SE
@@ -108742,7 +111386,7 @@
3118784512,3118785535,MD
3118785536,3118786559,FR
3118786560,3118787583,RU
-3118787584,3118788607,IN
+3118787584,3118788607,US
3118788608,3118789631,DE
3118789632,3118790655,SA
3118790656,3118791679,IT
@@ -108776,7 +111420,9 @@
3118818304,3118819327,DE
3118819328,3118820351,MD
3118820352,3118821375,GE
-3118821376,3118822911,DE
+3118821376,3118821887,SG
+3118821888,3118822399,LT
+3118822400,3118822911,DE
3118822912,3118823423,US
3118823424,3118824447,RU
3118824448,3118825471,PL
@@ -108816,8 +111462,7 @@
3118858240,3118859263,ES
3118859264,3118860287,BG
3118860288,3118861311,FR
-3118861312,3118861567,DE
-3118861568,3118862335,RU
+3118861312,3118862335,DE
3118862336,3118863359,RO
3118863360,3118864383,CH
3118864384,3118865407,SE
@@ -108829,8 +111474,7 @@
3118870528,3118872575,ES
3118872576,3118873599,MK
3118873600,3118874111,US
-3118874112,3118874112,IE
-3118874113,3118874367,IL
+3118874112,3118874367,IE
3118874368,3118874623,US
3118874624,3118875647,ES
3118875648,3118876671,DE
@@ -108845,7 +111489,9 @@
3118885888,3118886911,PL
3118886912,3118887935,CY
3118887936,3118888959,CH
-3118888960,3118889983,CZ
+3118888960,3118889215,BA
+3118889216,3118889471,LI
+3118889472,3118889983,CZ
3118889984,3118890239,ES
3118890240,3118890495,CH
3118890496,3118890751,US
@@ -108896,8 +111542,7 @@
3118935040,3118936063,SY
3118936064,3118937087,RU
3118937088,3118938111,CH
-3118938112,3118938623,GB
-3118938624,3118939135,RU
+3118938112,3118939135,RU
3118939136,3118940159,DE
3118940160,3118941183,CY
3118941184,3118942207,NL
@@ -108912,6 +111557,7 @@
3118950400,3118951423,CH
3118951424,3118952447,TR
3118952448,3118952703,IR
+3118952960,3118953215,PT
3118953472,3118954495,ES
3118954496,3118955519,FR
3118955520,3118956543,DE
@@ -108926,7 +111572,7 @@
3118965760,3118967807,FR
3118967808,3118968831,EG
3118968832,3118969855,SK
-3118969856,3118970879,IN
+3118969856,3118970879,US
3118970880,3118971903,SA
3118971904,3118972927,PL
3118972928,3118973951,NL
@@ -108938,7 +111584,8 @@
3118979072,3118980095,GB
3118980096,3118981119,NL
3118982144,3118983167,LV
-3118983168,3118984191,RU
+3118983168,3118983679,RU
+3118983680,3118984191,DE
3118984192,3118985215,CZ
3118985216,3118987263,RU
3118987264,3118991359,DE
@@ -108952,11 +111599,11 @@
3118995200,3118995455,DE
3118995456,3118996479,FR
3118996480,3118997503,EE
-3118997504,3118998527,IR
+3118997504,3118998527,AU
3118998528,3118999551,ES
3118999552,3119000319,RU
-3119000320,3119001087,GB
-3119001088,3119001599,RU
+3119000320,3119000575,GB
+3119000576,3119001599,RU
3119001600,3119002623,ES
3119002624,3119004671,NL
3119004672,3119005695,RU
@@ -108967,8 +111614,7 @@
3119009792,3119010815,HU
3119010816,3119011583,RU
3119011584,3119011839,EE
-3119011840,3119012351,GB
-3119012352,3119012863,RU
+3119011840,3119012863,RU
3119012864,3119013887,DE
3119013888,3119014911,RU
3119014912,3119015935,DE
@@ -109091,12 +111737,9 @@
3119142912,3119143935,PL
3119143936,3119144959,NO
3119144960,3119145983,NL
-3119145984,3119147007,ES
+3119145984,3119147007,GB
3119147008,3119148031,FR
-3119148032,3119148543,GB
-3119148544,3119149055,RU
-3119149056,3119149823,NL
-3119149824,3119152127,RU
+3119148032,3119152127,RU
3119152128,3119153151,PT
3119153152,3119154175,RO
3119154176,3119155199,CZ
@@ -109133,12 +111776,10 @@
3119181824,3119182847,PL
3119182848,3119183871,RU
3119183872,3119184895,SK
-3119184896,3119185407,GB
-3119185408,3119185919,RU
+3119184896,3119185919,RU
3119185920,3119186943,GB
3119186944,3119187967,FR
-3119187968,3119188479,GB
-3119188480,3119188991,RU
+3119187968,3119188991,RU
3119188992,3119190015,NL
3119190016,3119191039,SY
3119191040,3119192063,IT
@@ -109150,8 +111791,7 @@
3119198208,3119199231,CZ
3119200256,3119201279,DE
3119201280,3119203327,RU
-3119203328,3119203839,RO
-3119203840,3119204351,PL
+3119203328,3119204351,RO
3119204352,3119206399,RU
3119207424,3119208447,FR
3119208448,3119210495,RU
@@ -109188,16 +111828,15 @@
3119241216,3119242239,UA
3119242240,3119243263,ES
3119243264,3119244287,DE
-3119244288,3119245311,RU
-3119245312,3119247359,DE
+3119244288,3119244799,RU
+3119244800,3119247359,DE
3119247360,3119248383,UA
3119248384,3119249407,RU
3119249408,3119250431,PL
3119250432,3119251455,CY
3119251456,3119252479,FR
3119252480,3119253503,NL
-3119253504,3119254015,DE
-3119254016,3119254271,SE
+3119253504,3119254271,DE
3119254272,3119254527,GB
3119254528,3119255551,ES
3119255552,3119256575,NL
@@ -109379,7 +112018,8 @@
3119439872,3119440895,GB
3119440896,3119442943,ES
3119442944,3119443967,PL
-3119443968,3119444991,DE
+3119443968,3119444735,US
+3119444736,3119444991,DE
3119444992,3119446015,RS
3119446016,3119447039,IT
3119448064,3119449087,IR
@@ -109409,7 +112049,7 @@
3119472640,3119473663,IT
3119473664,3119474687,BE
3119474688,3119475711,DE
-3119475712,3119476735,FR
+3119475712,3119476735,MQ
3119476736,3119477759,GB
3119477760,3119479807,RU
3119479808,3119480831,BG
@@ -109500,7 +112140,8 @@
3119570944,3119571967,RO
3119571968,3119574015,ES
3119574016,3119575039,FR
-3119575040,3119577087,DE
+3119575040,3119576063,DE
+3119576064,3119577087,US
3119577088,3119578111,PT
3119578112,3119579135,RO
3119579136,3119580159,RU
@@ -109633,9 +112274,9 @@
3119707136,3119708159,NL
3119708160,3119709183,ES
3119709184,3119710207,PL
-3119710208,3119712255,RU
-3119712256,3119713791,DE
-3119713792,3119714303,AE
+3119710208,3119711231,RU
+3119711232,3119712255,PL
+3119712256,3119714303,DE
3119714304,3119715327,FR
3119715328,3119716351,DE
3119716352,3119717375,ES
@@ -109646,8 +112287,7 @@
3119721472,3119722495,DE
3119722496,3119723519,IR
3119723520,3119724543,PL
-3119724544,3119725055,DE
-3119725056,3119725567,US
+3119724544,3119725567,US
3119725568,3119726591,GB
3119726592,3119727615,CH
3119727616,3119728639,DE
@@ -109673,11 +112313,8 @@
3119748096,3119749119,IT
3119749120,3119749887,US
3119749888,3119750143,NL
-3119750144,3119750346,RU
-3119750347,3119750347,UA
-3119750348,3119750588,RU
-3119750589,3119750589,UA
-3119750590,3119750696,RU
+3119750144,3119750655,UA
+3119750656,3119750696,RU
3119750697,3119750697,US
3119750698,3119750821,RU
3119750822,3119750822,UA
@@ -109771,7 +112408,7 @@
3119838208,3119839231,FI
3119839232,3119840255,LT
3119840256,3119841279,CH
-3119841280,3119842303,RU
+3119841280,3119842303,PL
3119842304,3119843327,MD
3119843328,3119844351,DK
3119844352,3119845375,HR
@@ -109806,7 +112443,7 @@
3119876096,3119878143,FR
3119878144,3119879167,ES
3119879168,3119880191,RU
-3119880192,3119881215,AE
+3119880192,3119881215,DE
3119881216,3119882239,NL
3119882240,3119883263,CH
3119883264,3119884287,IT
@@ -109833,7 +112470,8 @@
3119904000,3119904255,EE
3119904256,3119904767,RO
3119904768,3119905791,FR
-3119905792,3119906303,DE
+3119905792,3119906047,DE
+3119906048,3119906303,US
3119906304,3119906815,ES
3119906816,3119907839,DE
3119907840,3119908863,IR
@@ -109866,7 +112504,7 @@
3119936512,3119937535,RU
3119937536,3119938559,DE
3119938560,3119939583,RU
-3119939584,3119940607,LV
+3119939584,3119940607,SE
3119940608,3119941631,GB
3119941632,3119942655,NL
3119942656,3119943679,AT
@@ -109944,7 +112582,7 @@
3120014336,3120016383,ES
3120016384,3120017407,UA
3120017408,3120018431,IQ
-3120018432,3120019455,BG
+3120018432,3120019455,CN
3120019456,3120020479,RU
3120020480,3120021503,IE
3120021504,3120022527,RU
@@ -109955,7 +112593,8 @@
3120027648,3120028671,AT
3120028672,3120029695,SA
3120029696,3120030719,RO
-3120030720,3120031743,PL
+3120030720,3120030975,DE
+3120030976,3120031743,PL
3120031744,3120032767,ES
3120032768,3120033791,SE
3120033792,3120034815,DE
@@ -110065,7 +112704,7 @@
3120146432,3120147455,DE
3120147456,3120148479,RU
3120148480,3120149503,GB
-3120149504,3120150527,ES
+3120149504,3120150527,IT
3120150528,3120151551,FR
3120151552,3120153599,CH
3120153600,3120154623,US
@@ -110131,9 +112770,10 @@
3120219136,3120221183,ES
3120221184,3120222207,NL
3120222208,3120223231,GB
-3120223232,3120224255,DE
+3120223232,3120223743,DE
+3120223744,3120224255,US
3120224256,3120225279,FR
-3120225280,3120226303,DE
+3120225280,3120226303,US
3120226304,3120227327,CH
3120227328,3120228351,RU
3120228352,3120229375,CZ
@@ -110147,11 +112787,11 @@
3120236544,3120237055,FR
3120237056,3120237567,GB
3120237568,3120238079,RU
-3120238080,3120239615,GB
-3120239616,3120239871,RU
+3120238080,3120238591,GB
+3120238592,3120239871,RU
3120239872,3120240127,CH
3120240128,3120240639,US
-3120240640,3120241663,GB
+3120240640,3120241663,RU
3120241664,3120242687,RO
3120242688,3120243711,TR
3120243712,3120244735,NL
@@ -110256,9 +112896,9 @@
3120347392,3120347647,DE
3120347648,3120348159,FR
3120348160,3120349183,MK
-3120349184,3120350207,GB
+3120349184,3120350207,RU
3120350208,3120351231,CZ
-3120351232,3120352255,GB
+3120351232,3120352255,RU
3120352256,3120353279,LT
3120353280,3120354815,RU
3120354816,3120355327,US
@@ -110271,8 +112911,7 @@
3120362496,3120363519,NL
3120363520,3120364543,RU
3120364544,3120365567,JE
-3120365568,3120366591,GB
-3120366592,3120367103,RU
+3120365568,3120367103,RU
3120367104,3120367615,US
3120367616,3120368639,RU
3120368640,3120369663,DE
@@ -110282,7 +112921,7 @@
3120375808,3120376831,RU
3120376832,3120377855,UA
3120377856,3120378879,NL
-3120378880,3120379903,GB
+3120378880,3120379903,RU
3120379904,3120380927,ES
3120380928,3120381951,LV
3120381952,3120382975,PL
@@ -110307,11 +112946,14 @@
3120397312,3120399359,GB
3120399360,3120400383,FR
3120400384,3120401407,RU
-3120401408,3120402431,GB
+3120401408,3120401663,US
+3120401664,3120402431,GB
3120402432,3120403455,ES
3120403456,3120404479,RU
3120404480,3120405503,UA
-3120405504,3120406527,BG
+3120405504,3120405759,BG
+3120405760,3120406015,RU
+3120406016,3120406527,BG
3120406528,3120407551,UA
3120407552,3120408575,PL
3120408576,3120409599,FR
@@ -110346,15 +112988,22 @@
3120441344,3120442367,NL
3120442368,3120443391,LT
3120443392,3120444415,NL
-3120444416,3120445439,TR
+3120444416,3120444671,CH
+3120444672,3120445439,TR
3120445440,3120446463,GB
3120446464,3120447487,DE
3120447488,3120448511,US
-3120448512,3120449535,NL
+3120448512,3120448767,NL
+3120448768,3120449023,GB
+3120449024,3120449535,NL
3120449536,3120450559,FR
3120450560,3120451583,CH
3120451584,3120452607,SE
-3120452608,3120453631,IQ
+3120452608,3120452608,IQ
+3120452609,3120452609,DE
+3120452610,3120453376,IQ
+3120453377,3120453377,IT
+3120453378,3120453631,IQ
3120453632,3120454655,GB
3120454656,3120455679,TR
3120455680,3120456703,DE
@@ -110363,7 +113012,7 @@
3120458752,3120459775,SY
3120459776,3120460799,DE
3120460800,3120461823,AL
-3120461824,3120462847,LT
+3120461824,3120462847,RU
3120462848,3120463871,DE
3120463872,3120464895,DK
3120464896,3120465919,SE
@@ -110383,14 +113032,13 @@
3120480256,3120484351,UA
3120484352,3120485375,FR
3120485376,3120486399,RU
-3120486400,3120487423,CY
+3120486400,3120487423,GR
3120487424,3120488447,PL
3120488448,3120489471,CH
3120489472,3120490495,IT
3120490496,3120491519,AT
3120491520,3120492543,IT
-3120492544,3120492799,GB
-3120492800,3120493567,JP
+3120492544,3120493567,JP
3120493568,3120494591,DE
3120494592,3120495615,SK
3120495616,3120496639,HR
@@ -110426,19 +113074,21 @@
3120526336,3120527359,CZ
3120527360,3120528383,NL
3120528384,3120529407,ES
-3120529408,3120530431,DE
+3120529408,3120530431,US
3120530432,3120531455,RU
3120531456,3120532479,LB
3120532480,3120533503,DK
3120533504,3120534527,RO
3120534528,3120535551,ES
-3120535552,3120536063,GB
+3120535552,3120535807,HK
+3120535808,3120536063,GB
3120536064,3120536575,TR
3120536576,3120537599,DK
3120537600,3120538623,GB
3120538624,3120540671,UA
3120540672,3120541695,TR
-3120541696,3120542719,RU
+3120541696,3120542463,RU
+3120542464,3120542719,LV
3120542720,3120543743,US
3120543744,3120544767,IT
3120544768,3120545791,DE
@@ -110469,9 +113119,22 @@
3120618496,3120627711,AR
3120627712,3120644095,NI
3120644096,3120660479,DO
-3120660480,3120662271,CO
+3120660480,3120662015,CO
+3120662016,3120662271,BR
3120662272,3120662527,PE
-3120662528,3120676863,CO
+3120662528,3120662783,BR
+3120662784,3120663039,EC
+3120663040,3120663295,PE
+3120663296,3120663551,CO
+3120663552,3120663807,PE
+3120663808,3120664063,CO
+3120664064,3120664319,PE
+3120664320,3120664575,CO
+3120664576,3120664831,EC
+3120664832,3120665087,PE
+3120665088,3120665343,CL
+3120665344,3120665599,BR
+3120665600,3120676863,CO
3120676864,3120680959,HT
3120680960,3120691199,AR
3120691200,3120693247,CO
@@ -110481,13 +113144,12 @@
3120734464,3120734719,EC
3120734720,3120735487,RU
3120735488,3120735743,NL
-3120735744,3120736149,BZ
-3120736150,3120736150,RU
-3120736151,3120736255,BZ
+3120735744,3120735999,BZ
+3120736000,3120736255,RU
3120736256,3120736511,EC
3120736512,3120736767,BZ
-3120736768,3120737279,RU
-3120737280,3120737791,BZ
+3120736768,3120737023,RU
+3120737024,3120737791,BZ
3120737792,3120738303,EC
3120738304,3120742399,CW
3120742400,3120754687,PY
@@ -110538,9 +113200,9 @@
3123445760,3123576831,TT
3123576832,3123707903,EC
3123707904,3124232191,UY
-3124232192,3124760600,AR
-3124760601,3124760601,MX
-3124760602,3124783103,AR
+3124232192,3124760575,AR
+3124760576,3124762623,MX
+3124762624,3124783103,AR
3124783104,3124785151,GT
3124785152,3124788223,CL
3124788224,3124789247,PE
@@ -110553,8 +113215,7 @@
3124846592,3124848639,AR
3124848640,3124849663,BR
3124849664,3124850687,AR
-3124850688,3124852735,US
-3124852736,3124854783,HN
+3124850688,3124854783,US
3124854784,3124887551,CL
3124887552,3124953087,EC
3124953088,3125018623,CL
@@ -110596,8 +113257,7 @@
3130312704,3130314751,AR
3130314752,3130315775,CL
3130315776,3130316799,CR
-3130316800,3130317823,AW
-3130317824,3130318847,CW
+3130316800,3130318847,CW
3130318848,3130327039,AR
3130327040,3130458111,DO
3130458112,3130523647,GT
@@ -110636,8 +113296,8 @@
3132325888,3132358655,SR
3132358656,3132489727,CO
3132489728,3132510719,AR
-3132510720,3132510975,PY
-3132510976,3132588031,AR
+3132510720,3132511231,PY
+3132511232,3132588031,AR
3132588032,3132620799,CO
3132620800,3132915711,VE
3132915712,3132948479,PA
@@ -110738,7 +113398,9 @@
3155165184,3155312938,RU
3155312939,3155312939,US
3155312940,3155427327,RU
-3155427328,3155689471,AT
+3155427328,3155496959,AT
+3155496960,3155497471,DE
+3155497472,3155689471,AT
3155689472,3155873791,RO
3155873792,3155877887,ES
3155877888,3155951615,RO
@@ -110748,11 +113410,7 @@
3156344832,3156410367,IR
3156410368,3156475903,RU
3156475904,3156541439,HU
-3156541440,3156549119,PT
-3156549120,3156549375,PL
-3156549376,3156597759,PT
-3156597760,3156597887,DE
-3156597888,3156606975,PT
+3156541440,3156606975,PT
3156606976,3156672511,TR
3156672512,3156738047,GB
3156738048,3156793343,DE
@@ -110765,8 +113423,7 @@
3156803584,3156869119,TR
3156869120,3156876287,LU
3156876288,3156877311,RU
-3156877312,3156879359,UA
-3156879360,3156893695,LU
+3156877312,3156893695,LU
3156893696,3156894719,IN
3156894720,3156897791,LU
3156897792,3156899839,US
@@ -110793,24 +113450,14 @@
3156926464,3156927743,NL
3156927744,3156927999,LU
3156928000,3156929535,NL
-3156929536,3156930559,LU
-3156930560,3156932607,US
-3156932608,3156932863,NL
+3156929536,3156932863,LU
3156932864,3156933119,US
-3156933120,3156933631,NL
+3156933120,3156933631,LU
3156933632,3156934655,SG
3156934656,3157000191,RU
3157000192,3157008383,MK
3157008384,3157016575,RU
-3157016576,3157017343,FR
-3157017344,3157017599,BE
-3157017600,3157017855,FR
-3157017856,3157018111,BE
-3157018112,3157018623,FR
-3157018624,3157018879,BE
-3157018880,3157022975,FR
-3157022976,3157023231,BE
-3157023232,3157024767,FR
+3157016576,3157024767,BE
3157024768,3157032959,RU
3157032960,3157065727,HU
3157065728,3157131263,AT
@@ -110850,6 +113497,8 @@
3158362112,3158365183,IL
3158365184,3158366207,AT
3158366208,3158368255,RU
+3158368256,3158369023,FR
+3158369024,3158370303,GB
3158370304,3158372351,BE
3158372352,3158374399,FR
3158374400,3158376447,DE
@@ -110873,13 +113522,13 @@
3158409216,3158411263,RU
3158411264,3158413311,FI
3158413312,3158415359,DE
-3158415360,3158417407,SE
+3158415360,3158415871,SE
+3158415872,3158416127,NO
+3158416128,3158417407,SE
3158417408,3158419455,NL
3158419456,3158421503,FR
3158421504,3158423551,GB
-3158423552,3158425087,MT
-3158425088,3158425343,IE
-3158425344,3158425599,MT
+3158423552,3158425599,IE
3158425600,3158427647,NL
3158427648,3158429695,DE
3158429696,3158431743,RU
@@ -110910,13 +113559,21 @@
3158616064,3158630399,RU
3158630400,3158638591,PL
3158638592,3158704127,LT
-3158704128,3158821119,KW
-3158821120,3158821151,US
-3158821152,3158821159,KW
-3158821160,3158821375,US
-3158821376,3158828031,KW
-3158828032,3158828287,US
-3158828288,3158835199,KW
+3158704128,3158706463,KW
+3158706464,3158706527,IT
+3158706528,3158706543,KW
+3158706544,3158706687,IT
+3158706688,3158711103,KW
+3158711104,3158711143,IT
+3158711144,3158711151,KW
+3158711152,3158711231,IT
+3158711232,3158820927,KW
+3158820928,3158820991,IT
+3158820992,3158821087,KW
+3158821088,3158821119,IT
+3158821120,3158831103,KW
+3158831104,3158831231,IT
+3158831232,3158835199,KW
3158835200,3158851583,IQ
3158851584,3158852863,NL
3158852864,3158853119,ES
@@ -111080,7 +113737,8 @@
3160360960,3160363007,IT
3160363008,3160365055,GB
3160365056,3160366079,RU
-3160366080,3160367103,CZ
+3160366080,3160366335,ES
+3160366336,3160367103,CZ
3160367104,3160369151,NL
3160369152,3160371199,RU
3160371200,3160373247,ES
@@ -111088,8 +113746,7 @@
3160375296,3160377343,GB
3160377344,3160379391,NL
3160379392,3160380927,CZ
-3160380928,3160381183,SK
-3160381184,3160381439,CZ
+3160380928,3160381439,SK
3160381440,3160383487,UA
3160383488,3160385535,SA
3160385536,3160387583,NL
@@ -111114,7 +113771,10 @@
3161604096,3161612287,PL
3161612288,3161613311,US
3161613312,3161614335,IT
-3161614336,3161616383,ES
+3161614336,3161614847,US
+3161614848,3161615103,ES
+3161615104,3161615359,US
+3161615360,3161616383,ES
3161616384,3161618431,GB
3161618432,3161620479,IQ
3161620480,3161636863,DK
@@ -111125,11 +113785,11 @@
3161645056,3161653247,SE
3161653248,3161669631,LU
3161669632,3161673727,MQ
-3161673728,3161681919,GP
+3161673728,3161677823,GP
+3161677824,3161679871,MQ
+3161679872,3161681919,GP
3161681920,3161682943,GF
-3161682944,3161683967,MQ
-3161683968,3161684479,FR
-3161684480,3161684991,MQ
+3161682944,3161684991,MQ
3161684992,3161686015,FR
3161686016,3161702399,UA
3161702400,3161718783,AM
@@ -111140,8 +113800,12 @@
3161784320,3161800703,FI
3161800704,3161817087,SA
3161817088,3161833471,PL
-3161833472,3161837567,MK
-3161837568,3161846271,GR
+3161833472,3161835519,GR
+3161835520,3161837567,MK
+3161837568,3161839615,AT
+3161839616,3161839871,GR
+3161839872,3161841663,AT
+3161841664,3161846271,GR
3161846272,3161847807,AT
3161847808,3161849855,GR
3161849856,3161866239,BE
@@ -111149,6 +113813,21 @@
3161882624,3161899007,DE
3161899008,3161915391,AT
3161915392,3161931775,TR
+3161931776,3161932799,RU
+3161932800,3161933823,DE
+3161933824,3161934847,ES
+3161934848,3161935871,RU
+3161935872,3161936895,NO
+3161936896,3161937919,DE
+3161937920,3161938943,RO
+3161938944,3161939967,DE
+3161939968,3161940991,CZ
+3161940992,3161942015,GB
+3161942016,3161943039,SI
+3161943040,3161944063,TR
+3161944064,3161945087,RU
+3161945088,3161946111,ES
+3161946112,3161948159,RU
3161948160,3161964543,RO
3161964544,3161980927,ES
3161980928,3161989119,SK
@@ -111182,7 +113861,9 @@
3162193920,3162202111,FR
3162202112,3162209535,SK
3162209536,3162209791,CZ
-3162209792,3162210303,SK
+3162209792,3162209887,SK
+3162209888,3162209903,GR
+3162209904,3162210303,SK
3162210304,3162218495,GE
3162218496,3162226687,JO
3162226688,3162234879,PL
@@ -111211,13 +113892,14 @@
3162390528,3162396927,SE
3162396928,3162397183,FI
3162397184,3162398719,SE
-3162398720,3162406911,NL
+3162398720,3162404863,NL
+3162404864,3162406911,BE
3162406912,3162415103,ES
3162415104,3162423295,DE
3162423296,3162431487,NO
3162431488,3162439679,SE
3162439680,3162447871,PL
-3162447872,3162456063,RU
+3162447872,3162456063,KZ
3162456064,3162464255,BG
3162464256,3162472447,BA
3162472448,3162480639,HU
@@ -111230,9 +113912,13 @@
3162636288,3162669055,FR
3162669056,3162676223,RU
3162676224,3162677247,KZ
-3162677248,3162679039,RU
+3162677248,3162677759,RU
+3162677760,3162678015,UZ
+3162678016,3162679039,RU
3162679040,3162679295,KZ
-3162679296,3162681343,RU
+3162679296,3162679807,RU
+3162679808,3162680063,BY
+3162680064,3162681343,RU
3162681344,3162682367,UA
3162682368,3162682879,MD
3162682880,3162683135,GB
@@ -111276,7 +113962,8 @@
3163521024,3163553791,RU
3163553792,3163684863,DE
3163684864,3163815935,PL
-3163815936,3164078079,NO
+3163815936,3163947007,NO
+3163947008,3164078079,SE
3164078080,3164209151,IT
3164209152,3164340223,CH
3164340224,3164471295,HU
@@ -111288,9 +113975,7 @@
3164864512,3164864703,GB
3164864704,3164864735,ZA
3164864736,3164864767,IE
-3164864768,3164891135,GB
-3164891136,3164891647,DE
-3164891648,3164893183,FR
+3164864768,3164893183,GB
3164893184,3164895231,TR
3164895232,3164897279,GB
3164897280,3164899327,IT
@@ -111307,7 +113992,9 @@
3164925952,3164927999,PL
3164928000,3164930047,NL
3164930048,3164932095,IE
-3164932096,3164932719,FR
+3164932096,3164932643,FR
+3164932644,3164932647,PL
+3164932648,3164932719,FR
3164932720,3164932735,CZ
3164932736,3164932799,FR
3164932800,3164932815,DE
@@ -111320,11 +114007,9 @@
3164932992,3164933119,GB
3164933120,3164934143,FR
3164934144,3164936191,PL
-3164936192,3164936499,RU
-3164936500,3164936500,LT
-3164936501,3164937749,RU
+3164936192,3164937749,LT
3164937750,3164937750,FR
-3164937751,3164938239,RU
+3164937751,3164938239,LT
3164938240,3164939705,FR
3164939706,3164939706,ES
3164939707,3164945919,FR
@@ -111336,7 +114021,8 @@
3164946064,3164946079,DE
3164946080,3164946479,FR
3164946480,3164946483,ES
-3164946484,3164946507,FR
+3164946484,3164946487,PL
+3164946488,3164946507,FR
3164946508,3164946511,CZ
3164946512,3164946527,FR
3164946528,3164946559,FI
@@ -111352,14 +114038,22 @@
3164947552,3164947567,DE
3164947568,3164947591,FR
3164947592,3164947599,ES
-3164947600,3164948739,FR
+3164947600,3164947651,FR
+3164947652,3164947655,PL
+3164947656,3164947751,FR
+3164947752,3164947755,PL
+3164947756,3164948739,FR
3164948740,3164948743,CZ
3164948744,3164948747,GB
3164948748,3164948863,FR
3164948864,3164948927,GB
3164948928,3164949119,FR
3164949120,3164949123,PT
-3164949124,3164949339,FR
+3164949124,3164949215,FR
+3164949216,3164949219,PL
+3164949220,3164949331,FR
+3164949332,3164949335,PL
+3164949336,3164949339,FR
3164949340,3164949343,GB
3164949344,3164949371,FR
3164949372,3164949375,GB
@@ -111386,18 +114080,27 @@
3164953024,3164953087,IE
3164953088,3164953255,FR
3164953256,3164953263,CZ
-3164953264,3164953583,FR
+3164953264,3164953327,FR
+3164953328,3164953343,PL
+3164953344,3164953583,FR
3164953584,3164953599,ES
-3164953600,3164954371,FR
+3164953600,3164954239,FR
+3164954240,3164954247,PL
+3164954248,3164954371,FR
3164954372,3164954375,DE
3164954376,3164954463,FR
3164954464,3164954471,IT
3164954472,3164954479,IE
-3164954480,3164958895,FR
+3164954480,3164956383,FR
+3164956384,3164956399,DE
+3164956400,3164958895,FR
3164958896,3164958911,PT
-3164958912,3164959247,FR
+3164958912,3164958943,FR
+3164958944,3164958947,PL
+3164958948,3164959247,FR
3164959248,3164959255,ES
-3164959256,3164959455,FR
+3164959256,3164959263,PL
+3164959264,3164959455,FR
3164959456,3164959463,DE
3164959464,3164959467,FR
3164959468,3164959471,GB
@@ -111406,7 +114109,9 @@
3164959584,3164959807,FR
3164959808,3164959823,IE
3164959824,3164959839,FI
-3164959840,3164960247,FR
+3164959840,3164959899,FR
+3164959900,3164959903,PL
+3164959904,3164960247,FR
3164960248,3164960255,DE
3164960256,3164960263,FR
3164960264,3164960267,ES
@@ -111419,7 +114124,9 @@
3164960500,3164960503,CZ
3164960504,3164960671,FR
3164960672,3164960675,ES
-3164960676,3164960699,FR
+3164960676,3164960687,FR
+3164960688,3164960695,PL
+3164960696,3164960699,FR
3164960700,3164960703,ES
3164960704,3164960787,FR
3164960788,3164960791,DE
@@ -111435,9 +114142,13 @@
3164961552,3164961555,ES
3164961556,3164961727,FR
3164961728,3164961735,ES
-3164961736,3164962191,FR
+3164961736,3164961791,FR
+3164961792,3164961807,PL
+3164961808,3164962191,FR
3164962192,3164962199,DE
-3164962200,3164962335,FR
+3164962200,3164962295,FR
+3164962296,3164962303,PL
+3164962304,3164962335,FR
3164962336,3164962367,DE
3164962368,3164962455,FR
3164962456,3164962459,IE
@@ -111448,9 +114159,7 @@
3164962656,3164962815,FR
3164962816,3164964863,ES
3164964864,3164966911,FI
-3164966912,3164967135,FR
-3164967136,3164967151,ES
-3164967152,3164967231,FR
+3164966912,3164967231,FR
3164967232,3164967239,ES
3164967240,3164967303,FR
3164967304,3164967311,DE
@@ -111464,7 +114173,11 @@
3164968320,3164968447,GB
3164968448,3164968835,FR
3164968836,3164968839,ES
-3164968840,3164969135,FR
+3164968840,3164969079,FR
+3164969080,3164969083,PL
+3164969084,3164969095,FR
+3164969096,3164969099,PL
+3164969100,3164969135,FR
3164969136,3164969143,ES
3164969144,3164969147,FR
3164969148,3164969151,GB
@@ -111476,20 +114189,27 @@
3164970224,3164970239,GB
3164970240,3164970299,FR
3164970300,3164970303,DE
-3164970304,3164970413,FR
+3164970304,3164970383,FR
+3164970384,3164970387,PL
+3164970388,3164970413,FR
3164970414,3164970415,IT
3164970416,3164970603,FR
3164970604,3164970607,DE
3164970608,3164970615,ES
3164970616,3164970631,FR
3164970632,3164970639,ES
-3164970640,3164970719,FR
+3164970640,3164970695,FR
+3164970696,3164970699,PL
+3164970700,3164970719,FR
3164970720,3164970751,PL
3164970752,3164971011,FR
3164971012,3164971015,IE
-3164971016,3164971511,FR
+3164971016,3164971483,FR
+3164971484,3164971487,PL
+3164971488,3164971511,FR
3164971512,3164971519,CZ
-3164971520,3164971579,FR
+3164971520,3164971575,FR
+3164971576,3164971579,PL
3164971580,3164971583,ES
3164971584,3164971615,FR
3164971616,3164971619,ES
@@ -111506,7 +114226,11 @@
3164972704,3164972735,FR
3164972736,3164972751,GB
3164972752,3164972767,DE
-3164972768,3164973407,FR
+3164972768,3164972783,FR
+3164972784,3164972799,PL
+3164972800,3164973003,FR
+3164973004,3164973007,NL
+3164973008,3164973407,FR
3164973408,3164973415,GB
3164973416,3164973419,FR
3164973420,3164973423,ES
@@ -111525,11 +114249,17 @@
3164974936,3164974939,PT
3164974940,3164975199,FR
3164975200,3164975215,ES
-3164975216,3164975311,FR
+3164975216,3164975255,FR
+3164975256,3164975259,PL
+3164975260,3164975311,FR
3164975312,3164975327,ES
3164975328,3164975351,FR
3164975352,3164975355,DE
-3164975356,3164975887,FR
+3164975356,3164975759,FR
+3164975760,3164975775,PL
+3164975776,3164975811,FR
+3164975812,3164975815,PL
+3164975816,3164975887,FR
3164975888,3164975903,IT
3164975904,3164975991,FR
3164975992,3164975995,PL
@@ -111539,7 +114269,9 @@
3164976144,3164976159,BE
3164976160,3164976231,FR
3164976232,3164976239,ES
-3164976240,3164976511,FR
+3164976240,3164976343,FR
+3164976344,3164976347,PL
+3164976348,3164976511,FR
3164976512,3164976527,LT
3164976528,3164976767,FR
3164976768,3164976783,DE
@@ -111560,7 +114292,10 @@
3164978156,3164978159,DE
3164978160,3164978623,FR
3164978624,3164978655,ES
-3164978656,3164979119,FR
+3164978656,3164978951,FR
+3164978952,3164978955,PL
+3164978956,3164979111,FR
+3164979112,3164979119,PL
3164979120,3164979135,LT
3164979136,3164979151,FR
3164979152,3164979155,ES
@@ -111594,8 +114329,8 @@
3165438208,3165439487,AT
3165439488,3165439743,GB
3165439744,3165439999,ES
-3165440000,3165440255,JP
-3165440256,3165440511,HK
+3165440000,3165440255,AT
+3165440256,3165440511,MX
3165440512,3165440767,JP
3165440768,3165441023,SG
3165441024,3165442047,AT
@@ -111641,7 +114376,15 @@
3166175232,3166306303,CH
3166306304,3166437375,RU
3166437376,3166568447,BE
-3166568448,3166601215,UA
+3166568448,3166593023,UA
+3166593024,3166594047,RU
+3166594048,3166595071,SK
+3166595072,3166596095,TR
+3166596096,3166597119,CH
+3166597120,3166598143,NL
+3166598144,3166599167,RU
+3166599168,3166600191,TR
+3166600192,3166601215,ES
3166601216,3166609407,RU
3166609408,3166633983,UA
3166633984,3166638079,RU
@@ -111693,7 +114436,7 @@
3167775744,3167775999,RO
3167776000,3167776255,GB
3167776256,3167776511,RO
-3167776512,3167776767,GB
+3167776512,3167776767,ES
3167776768,3167777791,MD
3167777792,3167778815,RO
3167778816,3167780863,MD
@@ -111717,12 +114460,12 @@
3167834112,3167838207,IT
3167838208,3167842303,RO
3167842304,3167843327,ES
-3167843328,3167844351,IR
+3167843328,3167844351,HK
3167844352,3167846399,GB
3167846400,3167850495,IR
3167850496,3167852543,AU
3167852544,3167854591,IR
-3167854592,3167862783,AU
+3167854592,3167862783,DE
3167862784,3167866879,IR
3167866880,3167867903,SY
3167867904,3167868159,RO
@@ -111764,7 +114507,7 @@
3168002048,3168003071,RO
3168003072,3168004095,ES
3168004096,3168005887,RO
-3168005888,3168006143,NL
+3168005888,3168006143,ES
3168006144,3168008191,SE
3168008192,3168008447,RO
3168008448,3168010239,US
@@ -112006,7 +114749,9 @@
3169279488,3169279743,CY
3169279744,3169279759,IQ
3169279760,3169279871,KW
-3169279872,3169285119,GB
+3169279872,3169282047,GB
+3169282048,3169283071,KW
+3169283072,3169285119,GB
3169285120,3169285631,KW
3169285632,3169286143,GB
3169286144,3169288191,KW
@@ -112140,7 +114885,9 @@
3170298880,3170303999,KZ
3170304000,3170312191,SY
3170312192,3170320383,RU
-3170320384,3170327593,JO
+3170320384,3170321919,JO
+3170321920,3170322175,IT
+3170322176,3170327593,JO
3170327594,3170327594,US
3170327595,3170328575,JO
3170328576,3170336767,UA
@@ -112156,7 +114903,11 @@
3170664448,3170697215,HR
3170697216,3170697471,IR
3170697472,3170705407,AU
-3170705408,3170729983,IR
+3170705408,3170721791,IR
+3170721792,3170723839,AU
+3170723840,3170727935,IR
+3170727936,3170729951,AU
+3170729952,3170729983,IR
3170729984,3170762751,AZ
3170762752,3170795519,RU
3170795520,3170828287,BG
@@ -112208,7 +114959,9 @@
3187933342,3187933342,HN
3187933343,3187934079,GT
3187934080,3187934207,HN
-3187934208,3187935543,GT
+3187934208,3187935151,GT
+3187935152,3187935159,HN
+3187935160,3187935543,GT
3187935544,3187935551,HN
3187935552,3187936015,GT
3187936016,3187936023,HN
@@ -112220,8 +114973,8 @@
3187940632,3187940639,HN
3187940640,3187941711,GT
3187941712,3187941715,HN
-3187941716,3187942655,GT
-3187942656,3187942663,HN
+3187941716,3187942399,GT
+3187942400,3187942663,HN
3187942664,3187942775,GT
3187942776,3187942783,HN
3187942784,3187942975,GT
@@ -112234,20 +114987,30 @@
3187943552,3187943687,HN
3187943688,3187943715,GT
3187943716,3187943716,HN
-3187943717,3187944351,GT
+3187943717,3187943807,GT
+3187943808,3187943839,HN
+3187943840,3187944351,GT
3187944352,3187944359,HN
3187944360,3187944495,GT
3187944496,3187944503,HN
3187944504,3187944773,GT
3187944774,3187944774,HN
-3187944775,3187945343,GT
+3187944775,3187944851,GT
+3187944852,3187944855,HN
+3187944856,3187945343,GT
3187945344,3187945471,HN
3187945472,3187945983,GT
3187945984,3187946111,HN
-3187946112,3187947363,GT
+3187946112,3187946495,GT
+3187946496,3187947007,HN
+3187947008,3187947363,GT
3187947364,3187947367,HN
-3187947368,3187947999,GT
-3187948000,3187948159,HN
+3187947368,3187947743,GT
+3187947744,3187947751,HN
+3187947752,3187947895,GT
+3187947896,3187947899,HN
+3187947900,3187948031,GT
+3187948032,3187948159,HN
3187948160,3187948799,GT
3187948800,3187948927,HN
3187948928,3187949023,GT
@@ -112338,8 +115101,10 @@
3188490240,3188498431,CO
3188498432,3188523007,AR
3188523008,3188539391,CO
-3188539392,3188543487,CL
-3188543488,3188545535,PA
+3188539392,3188542207,CL
+3188542208,3188542463,US
+3188542464,3188543487,CL
+3188543488,3188545535,CO
3188545536,3188547583,AR
3188547584,3188551679,CO
3188551680,3188552703,AR
@@ -112347,7 +115112,16 @@
3188553728,3188555775,CW
3188555776,3188572159,CL
3188572160,3188576255,CO
-3188576256,3188597759,AR
+3188576256,3188588543,AR
+3188588544,3188589567,US
+3188589568,3188589823,CO
+3188589824,3188590079,EC
+3188590080,3188590335,PT
+3188590336,3188590591,US
+3188590592,3188590847,CL
+3188590848,3188591103,AR
+3188591104,3188591359,PE
+3188591360,3188597759,AR
3188597760,3188598783,PA
3188598784,3188600831,AR
3188600832,3188604927,CL
@@ -112405,7 +115179,8 @@
3191209984,3191275519,CL
3191275520,3191341055,AR
3191341056,3191406591,GT
-3191406592,3191418879,SV
+3191406592,3191414783,SV
+3191414784,3191418879,PA
3191418880,3191420927,CR
3191420928,3191439359,SV
3191439360,3191455743,EC
@@ -112425,13 +115200,18 @@
3191635968,3191652351,AR
3191652352,3191673281,CO
3191673282,3191673282,EC
-3191673283,3191677183,CO
+3191673283,3191676927,CO
+3191676928,3191677183,MX
3191677184,3191677695,SV
3191677696,3191678207,CO
3191678208,3191678463,HN
3191678464,3191678719,SV
3191678720,3191678975,EC
-3191678976,3191693311,CO
+3191678976,3191682559,CO
+3191682560,3191682815,AR
+3191682816,3191683071,CO
+3191683072,3191683327,CL
+3191683328,3191693311,CO
3191693312,3191701503,AR
3191701504,3191709695,CO
3191709696,3191709951,BR
@@ -112463,9 +115243,7 @@
3193575168,3193575295,PE
3193575296,3193575311,CO
3193575312,3193575327,PE
-3193575328,3193582847,CO
-3193582848,3193583103,EC
-3193583104,3193590655,CO
+3193575328,3193590655,CO
3193590656,3193590783,EC
3193590784,3193592319,CO
3193592320,3193592575,EC
@@ -112483,15 +115261,15 @@
3193618432,3193618559,US
3193618560,3193618943,CO
3193618944,3193619071,EC
-3193619072,3193622015,CO
-3193622016,3193622271,EC
-3193622272,3193622943,CO
+3193619072,3193622943,CO
3193622944,3193622975,EC
3193622976,3193623039,CO
3193623040,3193623551,EC
3193623552,3193625599,CO
3193625600,3193625855,EC
-3193625856,3193626623,US
+3193625856,3193626111,US
+3193626112,3193626367,CO
+3193626368,3193626623,US
3193626624,3193628671,CO
3193628672,3193628927,EC
3193628928,3193631103,CO
@@ -112499,9 +115277,7 @@
3193631232,3193634687,CO
3193634688,3193634815,EC
3193634816,3193700351,CL
-3193700352,3193724767,HN
-3193724768,3193724783,AR
-3193724784,3193724927,HN
+3193700352,3193724927,HN
3193724928,3193729023,AR
3193729024,3193733119,CU
3193733120,3193740543,AR
@@ -112535,8 +115311,7 @@
3194028032,3194044415,AR
3194044416,3194052607,CO
3194052608,3194056703,TT
-3194056704,3194058495,BQ
-3194058496,3194058751,CA
+3194056704,3194058751,BQ
3194058752,3194060799,AR
3194060800,3194068991,CO
3194068992,3194071039,PA
@@ -112621,7 +115396,9 @@
3194511360,3194515455,AW
3194515456,3194519551,GT
3194519552,3194535935,PY
-3194535936,3194585087,AR
+3194535936,3194547335,AR
+3194547336,3194547343,US
+3194547344,3194585087,AR
3194585088,3194589183,HN
3194589184,3194591231,AR
3194591232,3194592255,PA
@@ -112631,7 +115408,9 @@
3194596352,3194597375,HT
3194597376,3194601471,AR
3194601472,3194602495,CW
-3194602496,3194610943,AR
+3194602496,3194605439,AR
+3194605440,3194605567,CO
+3194605568,3194610943,AR
3194610944,3194611199,CO
3194611200,3194613503,AR
3194613504,3194613759,CL
@@ -112738,8 +115517,7 @@
3195143680,3195143935,AR
3195143936,3195144319,PA
3195144320,3195144447,MX
-3195144448,3195144703,CR
-3195144704,3195150335,PA
+3195144448,3195150335,PA
3195150336,3195158527,CL
3195158528,3195199487,AR
3195199488,3195201535,PY
@@ -112798,9 +115576,7 @@
3195736064,3195737087,BQ
3195737088,3195738111,CW
3195738112,3195740159,HN
-3195740160,3195740415,EC
-3195740416,3195740671,PA
-3195740672,3195741055,EC
+3195740160,3195741055,EC
3195741056,3195741087,HN
3195741088,3195741695,EC
3195741696,3195741951,PA
@@ -112814,11 +115590,9 @@
3195768832,3195772927,AR
3195772928,3195781119,VE
3195781120,3195785215,BR
-3195785216,3195785375,HN
-3195785376,3195785439,DE
-3195785440,3195785815,HN
-3195785816,3195785823,DE
-3195785824,3195786239,HN
+3195785216,3195785407,HN
+3195785408,3195785439,DE
+3195785440,3195786239,HN
3195786240,3195786287,US
3195786288,3195786295,ES
3195786296,3195786751,US
@@ -112851,7 +115625,11 @@
3196190720,3196207103,HN
3196207104,3196223487,CO
3196223488,3196305407,EC
-3196305408,3196317055,CO
+3196305408,3196316215,CO
+3196316216,3196316223,CW
+3196316224,3196316335,CO
+3196316336,3196316351,CW
+3196316352,3196317055,CO
3196317056,3196317183,CW
3196317184,3196321791,CO
3196321792,3196583935,UY
@@ -112859,7 +115637,8 @@
3196846080,3196977151,PA
3196977152,3197042687,VE
3197042688,3197075455,CO
-3197075456,3197108223,GT
+3197075456,3197104127,GT
+3197104128,3197108223,NI
3197108224,3197370367,CO
3197370368,3197501439,GT
3197501440,3197566975,SV
@@ -112900,8 +115679,7 @@
3199729664,3199762431,NI
3199762432,3199778815,CO
3199778816,3199779839,AR
-3199779840,3199780735,CR
-3199780736,3199780863,US
+3199779840,3199780863,CR
3199780864,3199782911,CO
3199782912,3199784959,AR
3199784960,3199785983,EC
@@ -112971,11 +115749,11 @@
3201900544,3201903615,CL
3201903616,3201904639,AR
3201904640,3201908735,CO
-3201908736,3201917007,AR
-3201917008,3201917023,CO
-3201917024,3201917527,AR
-3201917528,3201917535,CO
-3201917536,3201917859,AR
+3201908736,3201916927,AR
+3201916928,3201917183,CO
+3201917184,3201917439,AR
+3201917440,3201917695,CO
+3201917696,3201917859,AR
3201917860,3201917863,CO
3201917864,3201917879,AR
3201917880,3201917887,CO
@@ -112984,17 +115762,15 @@
3201918720,3201918795,AR
3201918796,3201918799,CO
3201918800,3201918975,AR
-3201918976,3201920063,CO
-3201920064,3201920064,AR
-3201920065,3201920068,CO
-3201920069,3201920255,AR
+3201918976,3201920083,CO
+3201920084,3201920255,AR
3201920256,3201920511,CO
-3201920512,3201920639,AR
-3201920640,3201920655,CO
-3201920656,3201921279,AR
-3201921280,3201921535,CO
-3201921536,3201922047,AR
-3201922048,3201923071,CO
+3201920512,3201920623,AR
+3201920624,3201920655,CO
+3201920656,3201921319,AR
+3201921320,3201921327,CO
+3201921328,3201921343,AR
+3201921344,3201923071,CO
3201923072,3201924351,AR
3201924352,3201924607,CR
3201924608,3201924863,AR
@@ -113034,8 +115810,8 @@
3203565056,3203566079,CR
3203566080,3203566591,CO
3203566592,3203566847,PA
-3203566848,3203567103,DO
-3203567104,3203568639,CO
+3203566848,3203566975,DO
+3203566976,3203568639,CO
3203568640,3203569663,SV
3203569664,3203570303,CO
3203570304,3203570431,SV
@@ -113072,18 +115848,22 @@
3210742562,3210742567,CL
3210742568,3210742575,US
3210742576,3210742591,BR
-3210742592,3210742783,FR
-3210742784,3210743039,CL
+3210742592,3210742751,FR
+3210742752,3210742783,BR
+3210742784,3210743039,US
3210743040,3210743055,GR
3210743056,3210743079,CL
3210743080,3210743087,US
3210743088,3210743103,CL
-3210743104,3210743295,FR
+3210743104,3210743135,FR
+3210743136,3210743231,BR
+3210743232,3210743295,FR
3210743296,3210743551,US
3210743552,3210743567,TH
3210743568,3210743615,BR
3210743616,3210743679,FR
-3210743680,3210743807,BR
+3210743680,3210743711,BR
+3210743712,3210743807,CL
3210743808,3210744063,US
3210744064,3210744079,TR
3210744080,3210744087,BR
@@ -113226,7 +116006,9 @@
3210788352,3210788607,MX
3210788608,3210788863,US
3210788864,3210789119,HR
-3210789120,3210792959,US
+3210789120,3210791935,US
+3210791936,3210792447,CL
+3210792448,3210792959,US
3210792960,3210793471,GB
3210793472,3210795007,US
3210795008,3210796031,IL
@@ -113259,8 +116041,7 @@
3210825728,3210827775,BZ
3210827776,3210829823,DO
3210829824,3210830847,AR
-3210830848,3210831359,PE
-3210831360,3210831871,BR
+3210830848,3210831871,BR
3210831872,3210832895,DO
3210832896,3210835967,AR
3210835968,3210838015,PY
@@ -113314,14 +116095,16 @@
3211082752,3211083007,SG
3211083008,3211083263,US
3211083264,3211083519,BR
-3211083520,3211083775,HK
+3211083520,3211083527,CO
+3211083528,3211083543,HK
+3211083544,3211083551,VE
+3211083552,3211083775,HK
3211083776,3211083791,RU
-3211083792,3211083839,CL
+3211083792,3211083839,DE
3211083840,3211083855,GB
-3211083856,3211083871,DE
-3211083872,3211083903,CL
+3211083856,3211083903,DE
3211083904,3211084031,FR
-3211084032,3211084287,CL
+3211084032,3211084287,DE
3211084288,3211084303,NL
3211084304,3211084351,DE
3211084352,3211084367,GB
@@ -113343,9 +116126,12 @@
3211085600,3211085695,CL
3211085696,3211085823,GE
3211085824,3211085839,TH
-3211085840,3211085887,DE
+3211085840,3211085887,CL
3211085888,3211085903,GB
-3211085904,3211086335,DE
+3211085904,3211085919,DE
+3211085920,3211086095,CL
+3211086096,3211086111,DE
+3211086112,3211086335,CL
3211086336,3211086351,FR
3211086352,3211086367,DE
3211086368,3211086463,CL
@@ -113477,7 +116263,8 @@
3211130624,3211130879,TR
3211130880,3211131391,US
3211131392,3211131903,NL
-3211131904,3211132927,SG
+3211131904,3211132159,BR
+3211132160,3211132927,SG
3211132928,3211137023,CO
3211137024,3211141119,AR
3211141120,3211142143,CL
@@ -113494,19 +116281,11 @@
3211172672,3211172687,NL
3211172688,3211174183,US
3211174184,3211174191,CA
-3211174192,3211174415,US
-3211174416,3211174431,CA
-3211174432,3211177839,US
+3211174192,3211177839,US
3211177840,3211177847,CR
3211177848,3211178583,US
3211178584,3211178591,ES
-3211178592,3211180047,US
-3211180048,3211180063,BR
-3211180064,3211180103,US
-3211180104,3211180111,BR
-3211180112,3211180887,US
-3211180888,3211180895,CR
-3211180896,3211181215,US
+3211178592,3211181215,US
3211181216,3211181231,CR
3211181232,3211182079,US
3211182080,3211194367,CO
@@ -113686,7 +116465,9 @@
3221647360,3221757951,US
3221757952,3221759999,MY
3221760000,3221761023,IN
-3221761024,3221779455,US
+3221761024,3221762047,US
+3221762048,3221762303,GB
+3221762304,3221779455,US
3221779456,3221780479,IN
3221780480,3221790719,US
3221790720,3221795071,IN
@@ -113734,8 +116515,7 @@
3222066944,3222067199,CA
3222067200,3222067455,US
3222067456,3222067967,CH
-3222067968,3222071039,US
-3222071040,3222071295,GB
+3222067968,3222071295,US
3222071296,3222071551,PT
3222071552,3222072063,US
3222072064,3222072319,SE
@@ -113783,8 +116563,8 @@
3222525440,3222531327,US
3222531328,3222531583,IN
3222531584,3222534655,US
-3222534656,3222534911,IL
-3222534912,3222806527,US
+3222534656,3222535167,IL
+3222535168,3222806527,US
3222806528,3222814719,CA
3222814720,3222875647,US
3222875648,3222875903,SG
@@ -113874,8 +116654,8 @@
3223302400,3223302655,CA
3223302656,3223303167,US
3223303168,3223303423,CA
-3223303424,3223307519,US
-3223307520,3223310079,JP
+3223303424,3223307263,US
+3223307264,3223310079,JP
3223310080,3223311103,US
3223311104,3223311359,FR
3223311360,3223315455,US
@@ -113904,7 +116684,7 @@
3223421440,3223421695,GB
3223421696,3223421951,NL
3223421952,3223422719,US
-3223422720,3223422975,JP
+3223422720,3223422975,AU
3223422976,3223424767,US
3223424768,3223425535,FR
3223425536,3223425791,US
@@ -114000,16 +116780,12 @@
3223586304,3223586559,GB
3223586560,3223589119,SE
3223589120,3223589375,US
-3223589376,3223591679,SE
-3223591936,3223592703,SE
-3223592960,3223594495,SE
+3223589376,3223594495,SE
3223594496,3223595007,AT
-3223595008,3223595263,SE
-3223595520,3223599103,SE
+3223595008,3223599103,SE
3223599104,3223599359,AT
3223599360,3223599615,IS
-3223599616,3223600383,SE
-3223600640,3223601663,SE
+3223599616,3223601663,SE
3223601664,3223602175,GB
3223602176,3223606527,SE
3223606528,3223606783,GB
@@ -114200,11 +116976,7 @@
3224370432,3224370687,CA
3224370688,3224370943,US
3224370944,3224371199,CA
-3224371200,3224373247,US
-3224373248,3224373503,AU
-3224373504,3224373759,US
-3224373760,3224374015,AU
-3224374016,3224379135,US
+3224371200,3224379135,US
3224379136,3224379391,DE
3224379392,3224398591,US
3224398592,3224398847,DE
@@ -114265,12 +117037,14 @@
3224725248,3224725503,NL
3224725504,3224725759,CH
3224725760,3224772351,US
-3224772352,3224777983,DE
+3224772352,3224776447,DE
+3224776448,3224776703,GB
+3224776704,3224777983,DE
3224777984,3224778239,US
3224778752,3224779775,ES
3224779776,3224785151,DE
3224785152,3224791039,US
-3224791040,3224791295,NL
+3224791040,3224791295,DE
3224791296,3224791807,AU
3224791808,3224793343,US
3224793344,3224793599,DE
@@ -114288,7 +117062,7 @@
3224798976,3224799231,AU
3224799232,3224799487,US
3224799744,3224799999,US
-3224800000,3224800255,NL
+3224800000,3224800255,DE
3224800256,3224800511,US
3224800512,3224816639,FR
3224816640,3224816895,IL
@@ -114307,16 +117081,15 @@
3224828928,3224829439,US
3224829440,3224829695,DE
3224829952,3224834047,US
-3224834048,3224834303,SG
-3224834304,3224834559,US
+3224834048,3224834559,SG
3224834560,3224834815,TH
-3224834816,3224841727,US
+3224834816,3224835071,SG
+3224835072,3224841727,US
3224841728,3224841983,CN
3224841984,3224847359,US
3224847360,3224848383,CN
-3224848384,3224850431,IN
-3224850432,3224851455,US
-3224851456,3224851711,NL
+3224848384,3224851455,US
+3224851456,3224851711,DE
3224851712,3224852735,US
3224852736,3224852991,DE
3224852992,3224855039,US
@@ -114361,9 +117134,11 @@
3224889344,3224889599,AU
3224889600,3224892415,US
3224892416,3224892671,DE
-3224892672,3224921087,US
-3224921088,3224921343,FI
-3224921344,3224957951,US
+3224892672,3224897791,US
+3224897792,3224898047,PR
+3224898048,3224943103,US
+3224943104,3224943615,NL
+3224943616,3224957951,US
3224957952,3224958207,CA
3224958208,3225028863,US
3225028864,3225031423,JP
@@ -114418,8 +117193,7 @@
3225468928,3225470463,CA
3225470464,3225471487,US
3225471488,3225471743,DE
-3225471744,3225472255,HK
-3225472256,3225498367,US
+3225471744,3225498367,US
3225498368,3225503487,NL
3225503488,3225506303,US
3225506304,3225508863,AU
@@ -114513,8 +117287,8 @@
3225673728,3225679871,US
3225679872,3225680127,AU
3225680128,3225680383,GR
-3225680384,3225680639,CA
-3225680640,3225681663,US
+3225680384,3225680895,CA
+3225680896,3225681663,US
3225681664,3225681919,CA
3225681920,3225682943,DE
3225682944,3225683199,AT
@@ -114584,8 +117358,8 @@
3225765888,3225766399,US
3225766400,3225766655,CA
3225766656,3225769471,US
-3225769472,3225769983,CA
-3225769984,3225773311,US
+3225769472,3225772031,CA
+3225772032,3225773311,US
3225773312,3225773567,CA
3225773568,3225776639,US
3225776640,3225777151,CA
@@ -114617,7 +117391,8 @@
3225860096,3225862143,US
3225862144,3225863167,DE
3225863168,3225864191,RU
-3225864192,3225868287,US
+3225864192,3225864447,ZA
+3225864448,3225868287,US
3225868288,3225868543,AU
3225868544,3225869055,US
3225869056,3225869311,AU
@@ -114640,7 +117415,7 @@
3225883392,3225884927,SE
3225884928,3225885183,NL
3225885184,3225885439,IT
-3225885440,3225885695,AT
+3225885440,3225885695,IL
3225885696,3225886719,SE
3225886720,3225886975,NO
3225886976,3225887231,SE
@@ -114906,7 +117681,8 @@
3226695680,3226695935,US
3226695936,3226696191,CA
3226696448,3226696703,AU
-3226697728,3226701823,CA
+3226697728,3226699775,US
+3226699776,3226701823,CA
3226701824,3226705919,US
3226705920,3226706175,FR
3226706176,3226707199,US
@@ -114918,7 +117694,8 @@
3226716160,3226716415,GB
3226716416,3226716671,US
3226716672,3226716927,GB
-3226716928,3226718207,US
+3226716928,3226717951,US
+3226717952,3226718207,BR
3226718208,3226719231,ZA
3226719232,3226720255,KE
3226720768,3226721279,JP
@@ -114969,8 +117746,8 @@
3226757888,3226758143,SI
3226758144,3226758399,HR
3226758400,3226758655,SI
-3226758656,3226763007,US
-3226763008,3226770687,IT
+3226758656,3226763263,US
+3226763264,3226770687,IT
3226770688,3226772991,US
3226772992,3226773247,CH
3226773248,3226774783,US
@@ -115040,7 +117817,7 @@
3226995456,3226996991,US
3226996992,3226997247,PT
3226997248,3226998527,US
-3226998528,3226999039,AT
+3226998528,3226999039,NL
3226999040,3227013119,US
3227013376,3227013887,US
3227013888,3227014399,NL
@@ -115060,9 +117837,10 @@
3227025920,3227026175,GB
3227026176,3227026687,US
3227026688,3227026943,GB
-3227026944,3227026947,US
-3227026948,3227026948,AU
-3227026949,3227040511,US
+3227026944,3227026955,AU
+3227026956,3227026957,US
+3227026958,3227027199,AU
+3227027200,3227040511,US
3227040512,3227040767,AU
3227040768,3227041279,US
3227041280,3227041535,NZ
@@ -115150,10 +117928,10 @@
3227392256,3227393023,US
3227393024,3227393279,AT
3227393280,3227394559,US
-3227394560,3227394815,IN
-3227394816,3227396351,US
-3227396352,3227396607,AU
-3227396608,3227398399,US
+3227394560,3227394817,IN
+3227394818,3227394818,US
+3227394819,3227395071,IN
+3227395072,3227398399,US
3227398400,3227398655,CA
3227398656,3227400447,US
3227400448,3227400703,AT
@@ -115177,7 +117955,7 @@
3227425792,3227427583,DK
3227427584,3227427839,ES
3227427840,3227429119,US
-3227429120,3227429375,AU
+3227429120,3227429375,NZ
3227429376,3227429887,US
3227429888,3227430143,GB
3227430144,3227430399,US
@@ -115277,7 +118055,10 @@
3227537152,3227539199,ZA
3227539200,3227540735,MU
3227540736,3227540991,ZA
-3227540992,3227543295,MU
+3227540992,3227541759,MU
+3227541760,3227542015,ZA
+3227542016,3227542527,MU
+3227542528,3227543295,ZA
3227543296,3227543551,US
3227543552,3227544831,ZA
3227544832,3227545087,MU
@@ -115328,14 +118109,37 @@
3227733912,3227733919,BR
3227733920,3227734399,CA
3227734400,3227734527,US
-3227734528,3227738879,CA
+3227734528,3227738367,CA
+3227738368,3227738623,US
+3227738624,3227738879,CA
3227738880,3227739135,US
-3227739136,3227746559,CA
+3227739136,3227742207,CA
+3227742208,3227742463,PL
+3227742464,3227742691,CA
+3227742692,3227742695,US
+3227742696,3227743359,CA
+3227743360,3227743375,US
+3227743376,3227743487,CA
+3227743488,3227743743,BR
+3227743744,3227743999,CZ
+3227744000,3227744167,CA
+3227744168,3227744171,US
+3227744172,3227744827,CA
+3227744828,3227744831,US
+3227744832,3227744911,CA
+3227744912,3227744915,US
+3227744916,3227745755,CA
+3227745756,3227745759,US
+3227745760,3227745867,CA
+3227745868,3227745871,US
+3227745872,3227746007,CA
+3227746008,3227746011,US
+3227746012,3227746167,CA
+3227746168,3227746175,US
+3227746176,3227746559,CA
3227746560,3227746815,AU
3227746816,3227747071,BR
-3227747072,3227747855,CA
-3227747856,3227747863,US
-3227747864,3227748035,CA
+3227747072,3227748035,CA
3227748036,3227748039,US
3227748040,3227749839,CA
3227749840,3227749855,BZ
@@ -115451,9 +118255,7 @@
3227818752,3227819263,MX
3227819264,3227819519,AR
3227819520,3227822079,MX
-3227822336,3227822847,MX
-3227822848,3227823103,HN
-3227823104,3227824383,MX
+3227822336,3227824383,MX
3227824384,3227824639,BR
3227824640,3227825663,MX
3227825664,3227825919,CR
@@ -115487,8 +118289,7 @@
3227851776,3227852031,DE
3227852032,3227853311,US
3227853312,3227853567,GB
-3227853568,3227860991,US
-3227863040,3227863807,US
+3227853568,3227863807,US
3227863808,3227864063,DE
3227864064,3227865343,US
3227865344,3227866111,NL
@@ -115649,9 +118450,7 @@
3228125952,3228126207,DE
3228126208,3228133375,US
3228133376,3228133631,CA
-3228133632,3228133887,US
-3228133888,3228134143,CA
-3228134144,3228134399,US
+3228133632,3228134399,US
3228134400,3228134655,CA
3228134656,3228172287,US
3228172288,3228237823,IT
@@ -115960,8 +118759,8 @@
3229264896,3229265919,US
3229265920,3229266175,AU
3229266176,3229266943,US
-3229266944,3229267199,NZ
-3229267200,3229273599,US
+3229266944,3229267455,NZ
+3229267456,3229273599,US
3229273600,3229273855,CA
3229273856,3229275647,US
3229275648,3229275903,GB
@@ -116098,13 +118897,13 @@
3229940736,3229940991,CH
3229940992,3229941247,AU
3229941248,3229945343,US
-3229945600,3229945855,PT
+3229945600,3229945855,NL
3229945856,3229947135,US
3229947136,3229947391,AU
3229947392,3229948927,US
3229948928,3229949183,IT
3229949184,3229949695,US
-3229949696,3229949951,AU
+3229949696,3229949951,NZ
3229949952,3229950207,NO
3229950208,3229950975,US
3229950976,3229951231,IL
@@ -116183,6 +118982,7 @@
3230116096,3230117631,US
3230117632,3230117887,FR
3230117888,3230120191,US
+3230120192,3230120447,BR
3230120448,3230120703,US
3230120704,3230120959,PT
3230120960,3230125823,US
@@ -116243,9 +119043,7 @@
3230168064,3230177791,US
3230177792,3230178303,GB
3230178304,3230178559,CH
-3230178560,3230214911,US
-3230214912,3230215167,PR
-3230215168,3230220287,US
+3230178560,3230220287,US
3230220288,3230220543,NL
3230220544,3230222079,US
3230222080,3230222335,NL
@@ -116292,9 +119090,7 @@
3230259200,3230269695,US
3230269696,3230271743,GB
3230271744,3230272511,US
-3230273536,3230277631,US
-3230277632,3230281727,DE
-3230281728,3230291455,US
+3230273536,3230291455,US
3230291456,3230291711,PT
3230291712,3230295039,US
3230295040,3230295295,AU
@@ -116416,6 +119212,17 @@
3230528512,3230529535,MX
3230529536,3230531583,BR
3230531584,3230662655,ZA
+3230662656,3230663679,ES
+3230663680,3230667775,RU
+3230667776,3230669823,RO
+3230669824,3230670847,RU
+3230670848,3230671103,DE
+3230671104,3230671871,US
+3230671872,3230673919,RU
+3230673920,3230674943,CZ
+3230674944,3230675967,RU
+3230675968,3230678015,CZ
+3230678016,3230679039,HR
3230679040,3230681599,BR
3230681600,3230681855,FR
3230682112,3230682623,FR
@@ -116429,9 +119236,10 @@
3230777344,3230784511,BR
3230784512,3230785535,MX
3230785536,3230786559,PL
-3230787328,3230795007,US
-3230795008,3230795263,TW
-3230795264,3230823679,US
+3230786560,3230787071,ID
+3230787328,3230797311,US
+3230797312,3230797567,SG
+3230797568,3230823679,US
3230823680,3230823935,DK
3230823936,3230824191,US
3230824192,3230824447,FR
@@ -116491,7 +119299,9 @@
3230868480,3230868735,GB
3230868736,3230870015,US
3230870016,3230870271,PL
-3230870272,3230878719,US
+3230870272,3230873343,US
+3230873344,3230873599,HK
+3230873600,3230878719,US
3230878720,3230879487,PT
3230879488,3230879743,FR
3230879744,3230895359,US
@@ -116693,8 +119503,9 @@
3231156224,3231166463,US
3231166464,3231167231,CA
3231167232,3231167487,CO
-3231167488,3231170559,CA
-3231170560,3231174655,US
+3231167488,3231167743,MX
+3231167744,3231168511,CA
+3231168512,3231174655,US
3231174656,3231178751,CN
3231178752,3231179263,HK
3231179264,3231180287,US
@@ -116858,16 +119669,13 @@
3231411056,3231411063,AU
3231411064,3231423999,US
3231424000,3231424511,PR
-3231424512,3231455521,US
-3231455522,3231455522,DE
-3231455523,3231482879,US
+3231424512,3231482879,US
3231482880,3231483135,BE
3231483136,3231484927,US
3231484928,3231487999,JP
3231488512,3231488767,JP
3231489280,3231489535,US
-3231489536,3231489791,JP
-3231489792,3231490047,AU
+3231489536,3231490047,AU
3231490048,3231490559,US
3231490560,3231490815,GB
3231490816,3231491327,US
@@ -116899,10 +119707,12 @@
3231515648,3231516671,US
3231516672,3231518719,SE
3231518720,3231519231,BR
-3231519232,3231528191,US
+3231519232,3231521471,US
+3231521472,3231521479,AU
+3231521480,3231528191,US
3231528192,3231528287,CA
3231528288,3231528303,US
-3231528304,3231528311,NO
+3231528304,3231528311,CA
3231528312,3231528383,US
3231528384,3231528447,CA
3231528448,3231528959,US
@@ -116914,11 +119724,7 @@
3231529024,3231529031,US
3231529032,3231529055,CA
3231529056,3231529071,US
-3231529072,3231529119,CA
-3231529120,3231529127,US
-3231529128,3231529167,CA
-3231529168,3231529175,US
-3231529176,3231529191,CA
+3231529072,3231529191,CA
3231529192,3231529199,US
3231529200,3231529435,CA
3231529436,3231529439,US
@@ -116968,8 +119774,8 @@
3231589120,3231591679,US
3231591680,3231591935,AU
3231591936,3231593983,US
-3231593984,3231594239,GB
-3231594240,3231596031,US
+3231593984,3231594495,GB
+3231594496,3231596031,US
3231596032,3231596543,PR
3231596544,3231634943,US
3231634944,3231635455,CA
@@ -117008,8 +119814,8 @@
3231676160,3231676671,US
3231676672,3231676927,FR
3231676928,3231677183,FI
-3231677184,3231689727,US
-3231689728,3231690751,MX
+3231677184,3231689215,US
+3231689216,3231690751,MX
3231690752,3231692799,CA
3231692800,3231694847,US
3231694848,3231711231,CA
@@ -117220,7 +120026,8 @@
3232112640,3232113663,PL
3232113664,3232114687,IQ
3232114688,3232115711,TR
-3232115712,3232116735,GB
+3232115712,3232115967,NL
+3232115968,3232116735,GB
3232116736,3232129023,DE
3232129024,3232130047,NL
3232130048,3232131071,UA
@@ -117342,53 +120149,39 @@
3232825344,3233288191,US
3233288192,3233292287,CA
3233292288,3233431551,US
-3233431552,3233448223,CA
-3233448224,3233448255,US
-3233448256,3233448263,CA
-3233448264,3233448271,US
-3233448272,3233448287,CA
+3233431552,3233448239,CA
+3233448240,3233448255,US
+3233448256,3233448287,CA
3233448288,3233448295,US
-3233448296,3233448303,CA
-3233448304,3233448319,US
-3233448320,3233448447,CA
+3233448296,3233448447,CA
3233448448,3233448463,US
3233448464,3233448479,CA
3233448480,3233448495,US
-3233448496,3233448527,CA
-3233448528,3233448543,US
-3233448544,3233448575,CA
-3233448576,3233448607,US
-3233448608,3233448655,CA
-3233448656,3233448671,US
-3233448672,3233448823,CA
+3233448496,3233448591,CA
+3233448592,3233448607,US
+3233448608,3233448823,CA
3233448824,3233448831,US
3233448832,3233448863,CA
3233448864,3233448871,US
-3233448872,3233448879,FI
-3233448880,3233448895,US
-3233448896,3233448903,CA
-3233448904,3233448927,US
-3233448928,3233449071,CA
-3233449072,3233449079,US
-3233449080,3233449095,CA
+3233448872,3233448903,CA
+3233448904,3233448911,US
+3233448912,3233449095,CA
3233449096,3233449103,GB
3233449104,3233449199,CA
3233449200,3233449215,US
3233449216,3233449311,CA
3233449312,3233449319,RO
-3233449320,3233449327,CA
-3233449328,3233449343,US
-3233449344,3233449359,CA
+3233449320,3233449359,CA
3233449360,3233449367,US
-3233449368,3233449519,CA
-3233449520,3233449567,US
-3233449568,3233449583,CA
-3233449584,3233449663,US
-3233449664,3233449671,CA
-3233449672,3233449695,US
-3233449696,3233449727,CA
-3233449728,3233449783,US
-3233449784,3233449823,CA
+3233449368,3233449535,CA
+3233449536,3233449567,US
+3233449568,3233449615,CA
+3233449616,3233449631,US
+3233449632,3233449639,CA
+3233449640,3233449663,US
+3233449664,3233449759,CA
+3233449760,3233449775,US
+3233449776,3233449823,CA
3233449824,3233449839,US
3233449840,3233450047,CA
3233450048,3233450111,US
@@ -117396,105 +120189,82 @@
3233450128,3233450135,US
3233450136,3233450199,CA
3233450200,3233450207,GB
-3233450208,3233450411,CA
-3233450412,3233450415,US
-3233450416,3233450607,CA
-3233450608,3233450615,US
-3233450616,3233450735,CA
-3233450736,3233450739,US
-3233450740,3233450775,CA
-3233450776,3233450783,SE
+3233450208,3233450783,CA
3233450784,3233450815,US
-3233450816,3233450847,CA
-3233450848,3233450887,US
+3233450816,3233450863,CA
+3233450864,3233450887,US
3233450888,3233450895,CA
-3233450896,3233450959,US
-3233450960,3233450991,CA
-3233450992,3233451263,US
+3233450896,3233450911,US
+3233450912,3233450927,CA
+3233450928,3233450959,US
+3233450960,3233451007,CA
+3233451008,3233451263,US
3233451264,3233451519,CA
-3233451520,3233451551,GB
-3233451552,3233451583,US
-3233451584,3233451647,GB
-3233451648,3233451711,US
-3233451712,3233451751,GB
-3233451752,3233451807,US
-3233451808,3233451823,CA
-3233451824,3233451831,US
-3233451832,3233451879,CA
-3233451880,3233451951,US
+3233451520,3233451775,GB
+3233451776,3233451903,CA
+3233451904,3233451951,US
3233451952,3233452031,CA
-3233452032,3233452319,US
-3233452320,3233452335,CA
-3233452336,3233452351,US
-3233452352,3233452383,CA
-3233452384,3233452495,US
-3233452496,3233452511,CA
-3233452512,3233452527,US
+3233452032,3233452287,US
+3233452288,3233452303,CA
+3233452304,3233452319,US
+3233452320,3233452383,CA
+3233452384,3233452487,US
+3233452488,3233452519,CA
+3233452520,3233452527,US
3233452528,3233452543,CA
-3233452544,3233452879,US
+3233452544,3233452831,US
+3233452832,3233452847,CA
+3233452848,3233452879,US
3233452880,3233452959,CA
-3233452960,3233453199,US
+3233452960,3233453007,US
+3233453008,3233453023,CA
+3233453024,3233453199,US
3233453200,3233453247,CA
-3233453248,3233453279,US
+3233453248,3233453263,US
+3233453264,3233453271,CA
+3233453272,3233453279,US
3233453280,3233453295,CA
3233453296,3233453311,US
-3233453312,3233453383,CA
-3233453384,3233453391,US
-3233453392,3233453439,CA
-3233453440,3233453471,US
-3233453472,3233453503,CA
-3233453504,3233453567,US
-3233453568,3233453623,IT
-3233453624,3233454079,US
-3233454080,3233454175,CA
-3233454176,3233454207,US
-3233454208,3233454399,CA
-3233454400,3233454447,US
-3233454448,3233454511,CA
+3233453312,3233453455,CA
+3233453456,3233453471,US
+3233453472,3233453567,CA
+3233453568,3233453631,IT
+3233453632,3233454079,US
+3233454080,3233454399,CA
+3233454400,3233454415,US
+3233454416,3233454423,CA
+3233454424,3233454431,US
+3233454432,3233454511,CA
3233454512,3233454527,US
3233454528,3233454559,CA
3233454560,3233454575,US
-3233454576,3233454591,CA
-3233454592,3233454599,SE
-3233454600,3233454639,CA
-3233454640,3233454647,US
-3233454648,3233454687,CA
-3233454688,3233454695,US
-3233454696,3233454735,CA
-3233454736,3233454743,US
-3233454744,3233454799,CA
-3233454800,3233454807,US
-3233454808,3233454815,CA
+3233454576,3233454727,CA
+3233454728,3233454783,US
+3233454784,3233454815,CA
3233454816,3233454823,US
-3233454824,3233454831,CA
-3233454832,3233454839,US
-3233454840,3233454879,CA
-3233454880,3233454911,US
-3233454912,3233455039,CA
+3233454824,3233454847,CA
+3233454848,3233454879,US
+3233454880,3233455039,CA
3233455040,3233455071,US
-3233455072,3233455087,CA
-3233455088,3233455103,US
-3233455104,3233455327,CA
+3233455072,3233455327,CA
3233455328,3233455335,US
-3233455336,3233455351,CA
-3233455352,3233455359,US
-3233455360,3233455423,CA
-3233455424,3233455447,US
-3233455448,3233455455,CA
-3233455456,3233455487,US
+3233455336,3233455439,CA
+3233455440,3233455447,US
+3233455448,3233455471,CA
+3233455472,3233455487,US
3233455488,3233455519,CA
3233455520,3233455551,US
-3233455552,3233455663,CA
-3233455664,3233455719,US
-3233455720,3233455743,CA
+3233455552,3233455695,CA
+3233455696,3233455711,US
+3233455712,3233455743,CA
3233455744,3233455807,US
-3233455808,3233455839,CA
-3233455840,3233455871,US
+3233455808,3233455855,CA
+3233455856,3233455871,US
3233455872,3233455935,CA
3233455936,3233455967,US
-3233455968,3233455999,CA
-3233456000,3233456047,US
-3233456048,3233456063,CA
+3233455968,3233456015,CA
+3233456016,3233456031,US
+3233456032,3233456063,CA
3233456064,3233456111,US
3233456112,3233456119,CA
3233456120,3233456191,US
@@ -117506,92 +120276,96 @@
3233456416,3233456639,US
3233456640,3233456655,CA
3233456656,3233456671,US
-3233456672,3233456767,CA
-3233456768,3233456895,US
+3233456672,3233456799,CA
+3233456800,3233456847,US
+3233456848,3233456863,CA
+3233456864,3233456895,US
3233456896,3233456943,CA
-3233456944,3233456999,US
+3233456944,3233456959,US
+3233456960,3233456975,CA
+3233456976,3233456999,US
3233457000,3233457023,CA
3233457024,3233457039,US
-3233457040,3233457055,CA
-3233457056,3233457535,US
+3233457040,3233457087,CA
+3233457088,3233457471,US
+3233457472,3233457519,CA
+3233457520,3233457535,US
3233457536,3233457631,CA
-3233457632,3233457671,US
-3233457672,3233457679,CA
-3233457680,3233457687,US
-3233457688,3233457727,CA
-3233457728,3233457775,US
+3233457632,3233457647,US
+3233457648,3233457663,CA
+3233457664,3233457671,US
+3233457672,3233457735,CA
+3233457736,3233457775,US
3233457776,3233457831,CA
-3233457832,3233457919,US
-3233457920,3233458175,CA
-3233458176,3233458207,US
-3233458208,3233458223,CA
+3233457832,3233457871,US
+3233457872,3233458175,CA
+3233458176,3233458191,US
+3233458192,3233458223,CA
3233458224,3233458271,US
3233458272,3233458303,CA
-3233458304,3233458527,US
-3233458528,3233458535,CA
-3233458536,3233458559,US
-3233458560,3233458591,CA
-3233458592,3233458623,US
-3233458624,3233458687,CA
+3233458304,3233458351,US
+3233458352,3233458359,CA
+3233458360,3233458399,US
+3233458400,3233458431,CA
+3233458432,3233458527,US
+3233458528,3233458591,CA
+3233458592,3233458607,US
+3233458608,3233458687,CA
3233458688,3233458943,US
3233458944,3233458959,BG
-3233458960,3233459839,US
-3233459840,3233459919,CA
-3233459920,3233459935,US
-3233459936,3233459967,CA
+3233458960,3233459455,US
+3233459456,3233459471,CA
+3233459472,3233459631,US
+3233459632,3233459679,CA
+3233459680,3233459695,US
+3233459696,3233459711,CA
+3233459712,3233459727,US
+3233459728,3233459775,CA
+3233459776,3233459807,US
+3233459808,3233459823,CA
+3233459824,3233459839,US
+3233459840,3233459967,CA
3233459968,3233459999,US
3233460000,3233460015,CA
-3233460016,3233460063,US
-3233460064,3233460119,CA
-3233460120,3233460159,US
-3233460160,3233460223,CA
+3233460016,3233460047,US
+3233460048,3233460223,CA
3233460224,3233460479,US
-3233460480,3233460487,CA
-3233460488,3233460511,US
+3233460480,3233460495,CA
+3233460496,3233460511,US
3233460512,3233460519,SE
3233460520,3233460527,CA
3233460528,3233460535,US
-3233460536,3233460543,CA
-3233460544,3233460607,US
-3233460608,3233460671,CA
-3233460672,3233461279,US
+3233460536,3233460607,CA
+3233460608,3233461279,US
3233461280,3233461303,CA
3233461304,3233461319,US
-3233461320,3233461327,CA
-3233461328,3233461335,US
-3233461336,3233461343,CA
-3233461344,3233461351,US
-3233461352,3233461375,CA
-3233461376,3233461439,US
-3233461440,3233461471,CA
-3233461472,3233461543,US
+3233461320,3233461375,CA
+3233461376,3233461407,US
+3233461408,3233461487,CA
+3233461488,3233461543,US
3233461544,3233461567,CA
-3233461568,3233461631,US
-3233461632,3233461639,CA
+3233461568,3233461583,US
+3233461584,3233461599,CA
+3233461600,3233461615,US
+3233461616,3233461639,CA
3233461640,3233461679,US
-3233461680,3233461687,CA
-3233461688,3233461711,US
-3233461712,3233461727,CA
+3233461680,3233461727,CA
3233461728,3233461743,US
3233461744,3233461759,CA
-3233461760,3233461855,US
+3233461760,3233461823,US
+3233461824,3233461839,CA
+3233461840,3233461855,US
3233461856,3233461871,CA
3233461872,3233462015,US
-3233462016,3233462063,CA
-3233462064,3233462071,US
-3233462072,3233462127,CA
-3233462128,3233462271,US
-3233462272,3233462527,CA
+3233462016,3233462127,CA
+3233462128,3233462143,US
+3233462144,3233462527,CA
3233462528,3233462783,US
3233462784,3233463295,CA
3233463296,3233463551,US
-3233463552,3233463615,CA
-3233463616,3233463663,US
-3233463664,3233463679,CA
-3233463680,3233463855,US
-3233463856,3233463871,CA
-3233463872,3233463887,US
-3233463888,3233463919,CA
+3233463552,3233463807,CA
+3233463808,3233463855,US
+3233463856,3233463919,CA
3233463920,3233463999,US
3233464000,3233464063,CA
3233464064,3233484799,US
@@ -117643,7 +120417,7 @@
3233579520,3233580031,US
3233580032,3233580287,GB
3233580288,3233581055,US
-3233581056,3233581311,NL
+3233581056,3233581311,DE
3233581312,3233583359,US
3233583360,3233583615,GB
3233583616,3233584895,US
@@ -117672,9 +120446,7 @@
3233607168,3233607935,US
3233607936,3233608191,NZ
3233608192,3233609727,HU
-3233609728,3233612031,US
-3233612032,3233612287,GB
-3233612288,3233613823,US
+3233609728,3233613823,US
3233613824,3233614847,GB
3233614848,3233615359,US
3233615360,3233615615,NL
@@ -117716,7 +120488,7 @@
3233650688,3233651199,US
3233651200,3233651455,IT
3233651456,3233651967,US
-3233651968,3233652223,NL
+3233651968,3233652223,GB
3233652224,3233652479,US
3233652736,3233652991,NL
3233652992,3233654271,US
@@ -117808,17 +120580,19 @@
3233802752,3233808383,US
3233808384,3233873919,TW
3233873920,3233874943,AU
-3233874944,3233903615,US
+3233874944,3233890815,US
+3233890816,3233891071,ID
+3233891072,3233901055,US
+3233901056,3233901567,IN
+3233901568,3233903615,US
3233903616,3233903743,GB
3233903744,3233903807,US
3233903808,3233903871,GB
-3233903872,3233908479,US
+3233903872,3233907967,US
+3233907968,3233908223,HK
+3233908224,3233908479,US
3233908480,3233908735,SG
-3233908736,3233917853,US
-3233917854,3233917854,MX
-3233917855,3233921535,US
-3233921536,3233921791,MX
-3233921792,3233939455,US
+3233908736,3233939455,US
3233939456,3234004991,FI
3234005248,3234005503,GB
3234005760,3234006015,CA
@@ -117881,9 +120655,37 @@
3234127616,3234127871,CA
3234127872,3234128455,US
3234128456,3234128463,GB
-3234128464,3234131183,US
-3234131184,3234131191,GB
-3234131192,3234136063,US
+3234128464,3234128975,US
+3234128976,3234128983,CN
+3234128984,3234131135,US
+3234131136,3234131143,GB
+3234131144,3234131151,US
+3234131152,3234131159,BR
+3234131160,3234131167,US
+3234131168,3234131183,NL
+3234131184,3234131199,GB
+3234131200,3234131207,AU
+3234131208,3234131247,US
+3234131248,3234131255,DO
+3234131256,3234131263,US
+3234131264,3234131279,RU
+3234131280,3234131295,BR
+3234131296,3234131327,US
+3234131328,3234131359,TR
+3234131360,3234131375,BR
+3234131376,3234131391,US
+3234131392,3234131423,IN
+3234131424,3234131519,AU
+3234131520,3234131535,US
+3234131536,3234131551,IN
+3234131552,3234131583,JM
+3234131584,3234131639,US
+3234131640,3234131647,JM
+3234131648,3234131679,US
+3234131680,3234131687,JM
+3234131688,3234131695,US
+3234131696,3234131703,IT
+3234131704,3234136063,US
3234136064,3234150911,CA
3234150912,3234151423,US
3234151424,3234158847,CA
@@ -117908,21 +120710,15 @@
3234201344,3234203647,US
3234203648,3234205695,AR
3234205696,3234226175,US
-3234226176,3234226207,CA
-3234226208,3234226239,US
-3234226240,3234226263,CA
+3234226176,3234226263,CA
3234226264,3234226271,US
3234226272,3234226279,CA
3234226280,3234226303,US
-3234226304,3234226359,CA
-3234226360,3234226367,US
-3234226368,3234226559,CA
-3234226560,3234226575,US
-3234226576,3234226591,CA
-3234226592,3234226687,US
+3234226304,3234226623,CA
+3234226624,3234226687,US
3234226688,3234226711,CA
-3234226712,3234226767,US
-3234226768,3234226847,CA
+3234226712,3234226751,US
+3234226752,3234226847,CA
3234226848,3234226863,US
3234226864,3234226879,CA
3234226880,3234226943,US
@@ -117930,14 +120726,9 @@
3234226960,3234226967,US
3234226968,3234227007,CA
3234227008,3234227023,US
-3234227024,3234227047,CA
-3234227048,3234227055,US
-3234227056,3234227135,CA
+3234227024,3234227135,CA
3234227136,3234227143,US
-3234227144,3234227151,CA
-3234227152,3234227159,US
-3234227160,3234227167,FI
-3234227168,3234227191,CA
+3234227144,3234227191,CA
3234227192,3234227455,US
3234227456,3234227611,CA
3234227612,3234227615,US
@@ -117948,8 +120739,8 @@
3234227644,3234227695,CA
3234227696,3234227699,US
3234227700,3234227707,CA
-3234227708,3234227759,US
-3234227760,3234227775,CA
+3234227708,3234227711,US
+3234227712,3234227775,CA
3234227776,3234227807,US
3234227808,3234227839,CA
3234227840,3234227879,US
@@ -117959,37 +120750,33 @@
3234227952,3234228223,US
3234228224,3234228287,CA
3234228288,3234228383,US
-3234228384,3234228447,CA
-3234228448,3234228455,US
-3234228456,3234228463,CA
+3234228384,3234228463,CA
3234228464,3234228479,US
3234228480,3234228607,CA
3234228608,3234228639,US
3234228640,3234228671,CA
-3234228672,3234228735,US
-3234228736,3234228999,CA
-3234229000,3234229007,US
-3234229008,3234229039,CA
+3234228672,3234228703,US
+3234228704,3234228719,CA
+3234228720,3234228735,US
+3234228736,3234229039,CA
3234229040,3234229047,US
3234229048,3234229063,CA
-3234229064,3234229095,US
-3234229096,3234229111,CA
+3234229064,3234229079,US
+3234229080,3234229111,CA
3234229112,3234229119,US
-3234229120,3234229135,CA
-3234229136,3234229143,US
-3234229144,3234229191,CA
+3234229120,3234229191,CA
3234229192,3234229199,US
3234229200,3234229215,CA
3234229216,3234229223,SE
3234229224,3234229239,CA
-3234229240,3234229599,US
+3234229240,3234229503,US
+3234229504,3234229567,CA
+3234229568,3234229599,US
3234229600,3234229607,CA
3234229608,3234229615,US
3234229616,3234229695,CA
-3234229696,3234229759,US
-3234229760,3234229839,CA
-3234229840,3234229847,US
-3234229848,3234229895,CA
+3234229696,3234229743,US
+3234229744,3234229895,CA
3234229896,3234229903,US
3234229904,3234229911,CA
3234229912,3234229951,US
@@ -117997,62 +120784,58 @@
3234230016,3234230207,ES
3234230208,3234230271,US
3234230272,3234230399,CA
-3234230400,3234230463,US
-3234230464,3234230511,CA
-3234230512,3234230783,US
-3234230784,3234230911,CA
-3234230912,3234230991,US
-3234230992,3234230999,CA
-3234231000,3234231047,US
-3234231048,3234231055,CA
+3234230400,3234230431,US
+3234230432,3234230527,CA
+3234230528,3234230783,US
+3234230784,3234230927,CA
+3234230928,3234230991,US
+3234230992,3234231007,CA
+3234231008,3234231039,US
+3234231040,3234231055,CA
3234231056,3234231063,US
3234231064,3234231087,CA
3234231088,3234231103,US
-3234231104,3234231127,CA
-3234231128,3234231135,US
-3234231136,3234231143,CA
-3234231144,3234231159,US
-3234231160,3234231199,CA
-3234231200,3234231215,US
-3234231216,3234231231,CA
-3234231232,3234231247,US
-3234231248,3234231255,CA
+3234231104,3234231143,CA
+3234231144,3234231151,US
+3234231152,3234231255,CA
3234231256,3234231279,US
-3234231280,3234231287,CA
-3234231288,3234231295,SE
-3234231296,3234231423,CA
+3234231280,3234231423,CA
3234231424,3234231551,US
3234231552,3234231807,CA
-3234231808,3234232159,US
+3234231808,3234232111,US
+3234232112,3234232127,CA
+3234232128,3234232159,US
3234232160,3234232247,CA
-3234232248,3234232319,US
+3234232248,3234232255,US
+3234232256,3234232319,CA
3234232320,3234232575,EG
-3234232576,3234233063,US
-3234233064,3234233071,SE
-3234233072,3234233375,US
-3234233376,3234233383,CA
-3234233384,3234233391,US
-3234233392,3234233399,CA
+3234232576,3234233343,US
+3234233344,3234233399,CA
3234233400,3234233407,US
3234233408,3234233471,CA
3234233472,3234233487,US
-3234233488,3234233495,CA
-3234233496,3234233503,SE
-3234233504,3234233599,US
-3234233600,3234233631,CA
-3234233632,3234233759,US
+3234233488,3234233519,CA
+3234233520,3234233599,US
+3234233600,3234233647,CA
+3234233648,3234233759,US
3234233760,3234233791,CA
3234233792,3234233823,US
3234233824,3234233855,CA
-3234233856,3234234199,US
+3234233856,3234234127,US
+3234234128,3234234143,CA
+3234234144,3234234199,US
3234234200,3234234207,CA
3234234208,3234234239,US
3234234240,3234234247,CA
3234234248,3234234271,US
3234234272,3234234287,CA
-3234234288,3234238463,US
+3234234288,3234234335,US
+3234234336,3234234367,CA
+3234234368,3234238463,US
3234238464,3234239487,MY
-3234239488,3234267135,US
+3234239488,3234240255,US
+3234240256,3234240511,IE
+3234240512,3234267135,US
3234267136,3234267391,CA
3234267392,3234268927,US
3234268928,3234269183,SG
@@ -118218,7 +121001,8 @@
3235184896,3235275775,US
3235275776,3235276799,CA
3235276800,3235278847,US
-3235278848,3235282943,BB
+3235278848,3235282431,BB
+3235282432,3235282943,GD
3235282944,3235315711,CA
3235315712,3235512319,US
3235512320,3235577855,JP
@@ -118272,9 +121056,7 @@
3235959552,3235959807,CA
3235959808,3235962111,US
3235962112,3235962367,CA
-3235962368,3235963647,US
-3235963648,3235963903,CA
-3235963904,3235968511,US
+3235962368,3235968511,US
3235968512,3235968767,CA
3235968768,3235970559,US
3235970560,3235970815,CA
@@ -118484,55 +121266,48 @@
3237036128,3237036135,CA
3237036136,3237036159,US
3237036160,3237036255,CA
-3237036256,3237036383,US
+3237036256,3237036351,US
+3237036352,3237036367,CA
+3237036368,3237036383,US
3237036384,3237036415,CA
3237036416,3237036495,US
3237036496,3237036511,CA
3237036512,3237036543,US
3237036544,3237036551,CA
3237036552,3237036555,US
-3237036556,3237036679,CA
-3237036680,3237036687,SE
-3237036688,3237036695,US
-3237036696,3237036703,CA
+3237036556,3237036703,CA
3237036704,3237036711,US
3237036712,3237036799,CA
3237036800,3237037311,US
3237037312,3237037567,CA
3237037568,3237037583,US
-3237037584,3237037591,CA
-3237037592,3237037599,US
-3237037600,3237037607,CA
+3237037584,3237037607,CA
3237037608,3237037631,US
-3237037632,3237037647,CA
-3237037648,3237037655,SE
-3237037656,3237037703,CA
+3237037632,3237037703,CA
3237037704,3237037711,US
3237037712,3237037751,CA
3237037752,3237037759,US
-3237037760,3237037767,CA
-3237037768,3237037775,NO
-3237037776,3237037783,CA
-3237037784,3237037791,US
-3237037792,3237037815,CA
-3237037816,3237037847,US
-3237037848,3237037887,CA
+3237037760,3237037815,CA
+3237037816,3237037823,US
+3237037824,3237037887,CA
3237037888,3237037895,US
3237037896,3237037943,CA
-3237037944,3237037975,US
-3237037976,3237037991,CA
-3237037992,3237038007,US
-3237038008,3237038015,CA
-3237038016,3237038047,US
+3237037944,3237037959,US
+3237037960,3237037967,CA
+3237037968,3237037975,US
+3237037976,3237037999,CA
+3237038000,3237038007,US
+3237038008,3237038031,CA
+3237038032,3237038047,US
3237038048,3237038079,CA
3237038080,3237038335,US
3237038336,3237038367,CA
3237038368,3237038399,US
3237038400,3237038415,CA
3237038416,3237038431,US
-3237038432,3237038463,CA
-3237038464,3237038591,US
-3237038592,3237038607,CA
+3237038432,3237038495,CA
+3237038496,3237038575,US
+3237038576,3237038607,CA
3237038608,3237038615,US
3237038616,3237038663,CA
3237038664,3237038671,US
@@ -118547,21 +121322,27 @@
3237038792,3237038823,CA
3237038824,3237038839,US
3237038840,3237038863,CA
-3237038864,3237039055,US
-3237039056,3237039103,CA
-3237039104,3237039231,US
-3237039232,3237039295,CA
-3237039296,3237039615,US
-3237039616,3237039811,CA
-3237039812,3237039815,US
-3237039816,3237039835,CA
-3237039836,3237039839,US
-3237039840,3237039935,CA
+3237038864,3237038879,US
+3237038880,3237038911,CA
+3237038912,3237038927,US
+3237038928,3237038991,CA
+3237038992,3237039039,US
+3237039040,3237039103,CA
+3237039104,3237039183,US
+3237039184,3237039199,CA
+3237039200,3237039215,US
+3237039216,3237039295,CA
+3237039296,3237039343,US
+3237039344,3237039359,CA
+3237039360,3237039615,US
+3237039616,3237039935,CA
3237039936,3237040063,US
3237040064,3237040143,CA
3237040144,3237040159,US
3237040160,3237040255,CA
-3237040256,3237040335,US
+3237040256,3237040303,US
+3237040304,3237040319,CA
+3237040320,3237040335,US
3237040336,3237040351,CA
3237040352,3237040895,US
3237040896,3237041151,CA
@@ -118571,28 +121352,24 @@
3237041824,3237041935,CA
3237041936,3237041983,US
3237041984,3237042047,CA
-3237042048,3237042079,US
-3237042080,3237042127,CA
+3237042048,3237042063,US
+3237042064,3237042127,CA
3237042128,3237042431,US
3237042432,3237042463,CA
3237042464,3237042471,US
3237042472,3237042479,CA
3237042480,3237042495,US
-3237042496,3237042511,CA
-3237042512,3237042527,US
-3237042528,3237042607,CA
+3237042496,3237042607,CA
3237042608,3237042623,US
3237042624,3237042631,CA
3237042632,3237042639,US
3237042640,3237042647,CA
-3237042648,3237042671,US
-3237042672,3237042679,CA
+3237042648,3237042655,US
+3237042656,3237042679,CA
3237042680,3237042687,US
3237042688,3237042943,CA
3237042944,3237043455,US
-3237043456,3237043479,CA
-3237043480,3237043483,US
-3237043484,3237043711,CA
+3237043456,3237043711,CA
3237043712,3237043967,US
3237043968,3237044223,CH
3237044224,3237044287,US
@@ -118602,69 +121379,64 @@
3237044624,3237044631,US
3237044632,3237044639,CA
3237044640,3237044647,US
-3237044648,3237044679,CA
-3237044680,3237044703,US
+3237044648,3237044695,CA
+3237044696,3237044703,US
3237044704,3237044711,CA
3237044712,3237044719,US
3237044720,3237044727,CA
-3237044728,3237044799,US
-3237044800,3237044815,CA
+3237044728,3237044735,US
+3237044736,3237044815,CA
3237044816,3237044831,US
3237044832,3237044887,CA
3237044888,3237044895,US
-3237044896,3237044903,CA
-3237044904,3237044911,US
-3237044912,3237045031,CA
+3237044896,3237045031,CA
3237045032,3237045039,US
-3237045040,3237045119,CA
-3237045120,3237045127,US
-3237045128,3237045199,CA
-3237045200,3237045207,US
-3237045208,3237045223,CA
+3237045040,3237045223,CA
3237045224,3237045231,US
3237045232,3237045247,CA
3237045248,3237045503,US
-3237045504,3237045559,CA
-3237045560,3237045567,US
-3237045568,3237045591,CA
-3237045592,3237045599,SE
-3237045600,3237045663,CA
-3237045664,3237045671,FI
-3237045672,3237045687,CA
-3237045688,3237045695,US
-3237045696,3237045711,CA
+3237045504,3237045711,CA
3237045712,3237045719,US
3237045720,3237045759,CA
3237045760,3237046559,US
3237046560,3237046607,CA
-3237046608,3237046639,US
-3237046640,3237046647,CA
+3237046608,3237046623,US
+3237046624,3237046647,CA
3237046648,3237046655,SE
-3237046656,3237046767,US
+3237046656,3237046671,CA
+3237046672,3237046767,US
3237046768,3237046775,CA
-3237046776,3237046943,US
+3237046776,3237046815,US
+3237046816,3237046879,CA
+3237046880,3237046943,US
3237046944,3237047039,CA
3237047040,3237047295,FR
-3237047296,3237047871,US
+3237047296,3237047807,US
+3237047808,3237047839,CA
+3237047840,3237047871,US
3237047872,3237047935,CA
-3237047936,3237048143,US
+3237047936,3237048031,US
+3237048032,3237048079,CA
+3237048080,3237048111,US
+3237048112,3237048127,CA
+3237048128,3237048143,US
3237048144,3237048159,CA
3237048160,3237048191,US
3237048192,3237048255,CA
3237048256,3237048575,US
3237048576,3237048767,CA
-3237048768,3237048815,US
-3237048816,3237049727,CA
+3237048768,3237048783,US
+3237048784,3237049727,CA
3237049728,3237050111,US
-3237050112,3237050143,GB
-3237050144,3237050207,US
-3237050208,3237050239,GB
-3237050240,3237051903,US
+3237050112,3237050159,GB
+3237050160,3237050175,US
+3237050176,3237050303,GB
+3237050304,3237051903,US
3237051904,3237052159,TR
-3237052160,3237052287,CA
-3237052288,3237052383,US
-3237052384,3237052399,CA
-3237052400,3237125295,US
+3237052160,3237052319,CA
+3237052320,3237052383,US
+3237052384,3237052415,CA
+3237052416,3237125295,US
3237125296,3237125311,CR
3237125312,3237154815,US
3237154816,3237155839,ES
@@ -118739,7 +121511,8 @@
3237554432,3237554434,SG
3237554435,3237554435,US
3237554436,3237554463,SG
-3237554464,3237554943,US
+3237554464,3237554687,AU
+3237554688,3237554943,US
3237554944,3237555199,SG
3237555200,3237568511,US
3237568512,3237572607,CA
@@ -118754,10 +121527,12 @@
3237624832,3237634047,US
3237634048,3237634601,GB
3237634602,3237634603,US
-3237634604,3237638143,GB
-3237638144,3237647103,US
+3237634604,3237636095,GB
+3237636096,3237647103,US
3237647104,3237647359,AU
-3237647360,3237653503,US
+3237647360,3237648383,US
+3237648384,3237650431,AU
+3237650432,3237653503,US
3237653504,3237653759,IN
3237653760,3237655039,US
3237655040,3237655551,IN
@@ -119141,7 +121916,9 @@
3238067456,3238067711,SE
3238067712,3238067967,AT
3238067968,3238068223,GB
-3238068224,3238133759,IE
+3238068224,3238084607,IE
+3238084608,3238085631,US
+3238085632,3238133759,IE
3238133760,3238199295,SI
3238199296,3238264831,DK
3238264832,3238330367,IS
@@ -119155,6 +121932,13 @@
3238461440,3238502399,DE
3238502400,3238504447,RU
3238504448,3238510591,DE
+3238510592,3238511615,GB
+3238511616,3238512639,RU
+3238512640,3238514687,GB
+3238514688,3238515711,HU
+3238515712,3238516735,FR
+3238516736,3238517759,RU
+3238517760,3238518783,PS
3238518784,3238526975,DE
3238526976,3238527231,RU
3238528000,3238529023,BG
@@ -119170,7 +121954,8 @@
3238541568,3238541823,PL
3238541824,3238542591,CH
3238542592,3238542847,PL
-3238543360,3238545407,CH
+3238543360,3238544383,CH
+3238544384,3238545407,DE
3238545920,3238546431,RU
3238546432,3238546943,CH
3238546944,3238547455,UA
@@ -119220,6 +122005,12 @@
3238598912,3238599167,PL
3238599168,3238599679,HU
3238599680,3238599935,US
+3238600704,3238601727,DE
+3238601728,3238603775,CZ
+3238603776,3238604799,DE
+3238604800,3238605823,RU
+3238605824,3238606847,SI
+3238606848,3238608895,RU
3238608896,3238621183,SE
3238621184,3238621439,CZ
3238621440,3238621695,GB
@@ -119243,9 +122034,7 @@
3238656512,3238657023,UA
3238657024,3238657535,AT
3238657536,3238657791,GB
-3238658048,3238818815,SE
-3238818816,3238819327,KZ
-3238819328,3238821887,SE
+3238658048,3238821887,SE
3238821888,3238823935,HR
3238823936,3238860799,SE
3238860800,3238862847,HR
@@ -119272,7 +122061,7 @@
3239028736,3239051263,SE
3239051264,3239053311,DE
3239053312,3239053567,GB
-3239053568,3239054335,AT
+3239053568,3239054335,US
3239054336,3239055359,CZ
3239055360,3239059455,DE
3239059456,3239060479,RU
@@ -119330,9 +122119,7 @@
3239112192,3239112447,IL
3239112704,3239112959,PL
3239112960,3239113215,CH
-3239113216,3239113471,AT
-3239113472,3239113727,ES
-3239113728,3239113983,AT
+3239113216,3239113983,AT
3239113984,3239114239,DE
3239114240,3239114495,BG
3239114496,3239114751,UA
@@ -119421,9 +122208,7 @@
3239171584,3239171839,PL
3239172096,3239172607,UA
3239172608,3239172863,SE
-3239172864,3239172991,DE
-3239172992,3239173002,BG
-3239173003,3239173119,DE
+3239172864,3239173119,DE
3239173376,3239173631,DE
3239173632,3239173887,AT
3239173888,3239174143,PL
@@ -119435,9 +122220,9 @@
3239180288,3239181311,CZ
3239181312,3239181567,AT
3239181824,3239182079,GB
-3239182336,3239205887,DE
-3239205888,3239206143,US
-3239206144,3239264255,DE
+3239182336,3239204863,DE
+3239204864,3239206911,US
+3239206912,3239264255,DE
3239264256,3239264767,NO
3239264768,3239266303,RU
3239266816,3239267327,UA
@@ -119489,7 +122274,8 @@
3239306240,3239307263,UA
3239307264,3239308287,EG
3239308288,3239309311,DE
-3239309312,3239311359,UA
+3239309312,3239310335,UA
+3239310336,3239311359,SA
3239311360,3239312383,PL
3239312384,3239313407,UA
3239313408,3239445759,DE
@@ -119540,7 +122326,8 @@
3239483392,3239484415,DE
3239484416,3239484671,TW
3239484672,3239484927,IT
-3239484928,3239485439,AT
+3239484928,3239485183,US
+3239485184,3239485439,AT
3239485440,3239486719,DE
3239486720,3239486975,ES
3239486976,3239487487,DE
@@ -119668,9 +122455,9 @@
3239635968,3239636991,DE
3239636992,3239638015,BG
3239638016,3239639039,PL
-3239639040,3239639551,SI
+3239639040,3239639551,AT
3239639552,3239639807,CZ
-3239639808,3239640063,SI
+3239639808,3239640063,AT
3239640064,3239641087,DE
3239641088,3239643135,PL
3239643136,3239645183,RU
@@ -119740,7 +122527,8 @@
3239714048,3239714303,FR
3239714304,3239714559,SE
3239714560,3239714815,HU
-3239714816,3239723007,DE
+3239714816,3239716863,GB
+3239716864,3239723007,DE
3239723008,3239731199,GB
3239731200,3239735295,DE
3239735296,3239735807,US
@@ -119936,13 +122724,13 @@
3239916800,3239917055,KZ
3239917056,3239917311,DE
3239917312,3239917567,BG
-3239917568,3239919615,DE
-3239919616,3239923711,CZ
-3239923712,3239927807,DE
+3239917568,3239927807,DE
3239927808,3239928831,LT
3239928832,3239929855,DE
3239929856,3239930879,RO
-3239930880,3239938815,DE
+3239930880,3239931135,DE
+3239931136,3239931903,US
+3239931904,3239938815,DE
3239938816,3239939071,NL
3239939072,3239948543,DE
3239949312,3239950335,RU
@@ -120024,11 +122812,19 @@
3240049664,3240050687,DE
3240050688,3240051711,GB
3240051712,3240052735,ES
-3240052736,3240053247,DK
+3240052736,3240053247,KH
3240053248,3240053503,SA
3240053504,3240053759,AE
3240053760,3240054783,PL
3240054784,3240058879,DE
+3240058880,3240059903,ES
+3240059904,3240060927,RU
+3240060928,3240061951,MD
+3240061952,3240062975,EE
+3240062976,3240063999,US
+3240064000,3240065023,TR
+3240065024,3240066047,DE
+3240066048,3240067071,RU
3240067072,3240083455,DE
3240083456,3240085503,RU
3240085504,3240087551,KZ
@@ -120076,7 +122872,30 @@
3240126208,3240128511,GB
3240128512,3240129535,ME
3240130048,3240132607,GB
-3240157184,3240158207,DE
+3240132608,3240133631,DE
+3240133632,3240134655,NO
+3240134656,3240135679,GB
+3240135680,3240136703,RO
+3240136704,3240137727,GB
+3240137728,3240138751,NO
+3240138752,3240139775,RU
+3240139776,3240140799,ES
+3240140800,3240141055,GB
+3240141056,3240141823,RO
+3240141824,3240142847,RU
+3240142848,3240143871,NL
+3240143872,3240144895,DE
+3240144896,3240145919,RU
+3240145920,3240146943,PL
+3240146944,3240147967,BE
+3240147968,3240148991,RU
+3240148992,3240150015,PL
+3240150016,3240152063,RU
+3240152064,3240153087,TR
+3240153088,3240154111,NL
+3240154112,3240155135,ES
+3240155136,3240156159,RU
+3240156160,3240158207,DE
3240158208,3240159231,KW
3240159232,3240160255,HU
3240160256,3240162303,ES
@@ -120109,7 +122928,7 @@
3240179712,3240180223,FR
3240180736,3240181247,NL
3240181248,3240181759,RU
-3240181760,3240182271,GI
+3240181760,3240182271,UA
3240182784,3240183295,RU
3240183296,3240183807,NL
3240183808,3240184319,GB
@@ -120194,8 +123013,7 @@
3240237056,3240239103,DE
3240239104,3240240127,CH
3240240128,3240241151,US
-3240241152,3240241407,FI
-3240241408,3240242175,NO
+3240241152,3240242175,FI
3240242176,3240243199,PL
3240243200,3240244223,DE
3240244224,3240245247,PL
@@ -120211,7 +123029,9 @@
3240252416,3240253439,LT
3240253440,3240254463,BE
3240254464,3240256511,UA
-3240256512,3240257535,DE
+3240256512,3240256767,DE
+3240256768,3240257023,GB
+3240257024,3240257535,DE
3240257536,3240258559,FO
3240258560,3240259583,RO
3240259584,3240260607,PL
@@ -120349,6 +123169,19 @@
3240378368,3240384511,GB
3240384512,3240385535,RU
3240385536,3240386559,IE
+3240386560,3240387583,ES
+3240387584,3240388607,DE
+3240388608,3240388863,CH
+3240388864,3240388895,GB
+3240388896,3240389631,CH
+3240389632,3240390655,IT
+3240390656,3240391679,HK
+3240391680,3240391935,DK
+3240391936,3240392191,CH
+3240392192,3240392447,ES
+3240392448,3240392703,FR
+3240392704,3240393727,DE
+3240393728,3240394751,JP
3240394752,3240398847,GB
3240398848,3240399871,ES
3240399872,3240400895,NO
@@ -120371,7 +123204,7 @@
3240420608,3240420863,NL
3240420864,3240421119,GB
3240421376,3240422399,MD
-3240422400,3240423423,DE
+3240422400,3240423423,US
3240423424,3240435711,GB
3240436480,3240436735,GB
3240436736,3240439807,DE
@@ -120412,6 +123245,14 @@
3240467968,3240468223,DE
3240468224,3240468479,CH
3240468480,3240476671,GB
+3240476672,3240477695,UA
+3240477696,3240478719,LT
+3240478720,3240479743,MD
+3240479744,3240480767,NL
+3240480768,3240481791,GB
+3240481792,3240482815,BG
+3240482816,3240483839,RO
+3240483840,3240484863,LT
3240484864,3240486911,GB
3240486912,3240487935,NL
3240487936,3240488191,CH
@@ -120446,6 +123287,13 @@
3240531968,3240532991,PL
3240532992,3240534015,DE
3240534016,3240550399,GB
+3240550400,3240551423,CZ
+3240551424,3240552447,BR
+3240552448,3240553471,RU
+3240553472,3240555519,RO
+3240555520,3240556543,NL
+3240556544,3240557567,DE
+3240557568,3240558591,CZ
3240558592,3240559615,FR
3240559616,3240560127,GB
3240560640,3240561663,GB
@@ -120603,10 +123451,21 @@
3240757248,3240759295,IT
3240759296,3240760319,ES
3240760320,3240761343,IT
-3240761344,3240762111,HK
-3240762112,3240762367,RU
+3240761344,3240762367,RU
3240762368,3240763391,ES
+3240763392,3240764415,DE
+3240764416,3240765439,LT
+3240765440,3240767487,GB
+3240767488,3240768511,EE
+3240768512,3240769535,MD
+3240769536,3240770559,TR
+3240770560,3240771582,NL
+3240771583,3240771583,DE
3240771584,3240779775,IT
+3240779776,3240780799,DE
+3240780800,3240781823,TR
+3240781824,3240782847,UA
+3240782848,3240787967,RU
3240787968,3240788991,CZ
3240788992,3240790015,IT
3240790528,3240791551,IT
@@ -120640,7 +123499,9 @@
3240814592,3240816639,IT
3240816640,3240817663,PL
3240817664,3240818687,RU
-3240818688,3240820735,NL
+3240818688,3240819715,GB
+3240819716,3240819716,NL
+3240819717,3240820735,GB
3240820736,3240820799,FR
3240820800,3240820831,CY
3240820832,3240820863,GB
@@ -120656,10 +123517,10 @@
3240827648,3240827903,CH
3240828160,3240828415,DE
3240828928,3240830975,IT
-3240830976,3240831999,GB
+3240830976,3240831999,RU
3240832000,3240837119,IT
3240837120,3240838143,ES
-3240838144,3240839167,DE
+3240838144,3240839167,US
3240839424,3240839679,IT
3240840192,3240840447,IT
3240840448,3240840703,PL
@@ -120784,6 +123645,11 @@
3241080832,3241082879,AT
3241082880,3241083135,FR
3241083136,3241091071,CH
+3241091072,3241095167,RU
+3241095168,3241096191,US
+3241096192,3241097215,IT
+3241097216,3241098239,TR
+3241098240,3241099263,DE
3241099264,3241100287,IT
3241101056,3241101311,DK
3241101312,3241101567,RO
@@ -120848,9 +123714,7 @@
3241146368,3241146623,IL
3241146624,3241146879,RO
3241146880,3241148415,CH
-3241148416,3241313791,FR
-3241313792,3241314047,GF
-3241314048,3241419519,FR
+3241148416,3241419519,FR
3241419520,3241419775,GP
3241419776,3241476095,FR
3241476864,3241477375,BE
@@ -120878,9 +123742,7 @@
3241501952,3241502463,BE
3241503232,3241503487,RS
3241503488,3241503999,BE
-3241504000,3241504831,DE
-3241504832,3241504847,BE
-3241504848,3241505023,DE
+3241504000,3241505023,DE
3241505024,3241508095,BE
3241508096,3241508351,NL
3241508864,3241517055,BE
@@ -120904,8 +123766,7 @@
3241689344,3241689599,TR
3241689600,3241689855,IN
3241689856,3241690111,CN
-3241690112,3241690879,PL
-3241690880,3241691135,FR
+3241690112,3241691135,PL
3241691136,3241691391,US
3241691392,3241691647,TR
3241691648,3241691903,IN
@@ -120942,7 +123803,7 @@
3241738240,3241739263,DE
3241739264,3241742335,FR
3241742336,3241743359,GB
-3241743360,3241743615,BG
+3241743360,3241743615,DE
3241744384,3241745407,FR
3241745408,3241746431,AM
3241746432,3241747455,FR
@@ -120987,6 +123848,13 @@
3241824256,3241826303,BE
3241826304,3241827327,DE
3241827328,3241828351,BE
+3241828352,3241829375,ES
+3241829376,3241830399,DE
+3241830400,3241831423,GB
+3241831424,3241832447,FR
+3241832448,3241833471,BE
+3241833472,3241834495,GB
+3241834496,3241836543,DE
3241836544,3241837567,BE
3241837568,3241838591,US
3241838592,3241840639,BE
@@ -121000,7 +123868,7 @@
3241848832,3241849855,RU
3241849856,3241850879,PL
3241850880,3241851903,MD
-3241851904,3241852927,DE
+3241851904,3241852927,US
3241852928,3241854463,SK
3241854464,3241854975,GB
3241854976,3241855999,DE
@@ -121030,9 +123898,7 @@
3241869312,3241934847,PL
3241934848,3242196991,GB
3242196992,3242393599,FI
-3242393600,3242428671,NL
-3242428672,3242428927,GB
-3242428928,3242459135,NL
+3242393600,3242459135,NL
3242459136,3242467327,BG
3242467328,3242475519,HU
3242475520,3242483711,LV
@@ -121072,7 +123938,8 @@
3242604160,3242604287,IT
3242604288,3242604671,FR
3242604672,3242604799,NL
-3242604800,3242605279,FR
+3242604800,3242605055,IT
+3242605056,3242605279,FR
3242605280,3242605311,BE
3242605312,3242606943,FR
3242606944,3242606959,BE
@@ -121087,7 +123954,8 @@
3242607360,3242607375,GB
3242607376,3242607775,FR
3242607776,3242607807,CZ
-3242607808,3242608383,FR
+3242607808,3242608127,FR
+3242608128,3242608383,BE
3242608384,3242608639,GB
3242608640,3242608767,FR
3242608768,3242608895,DE
@@ -121121,7 +123989,9 @@
3242618368,3242618415,FR
3242618416,3242618431,CZ
3242618432,3242618495,PL
-3242618496,3242620199,FR
+3242618496,3242620183,FR
+3242620184,3242620187,PL
+3242620188,3242620199,FR
3242620200,3242620207,ES
3242620208,3242620223,FR
3242620224,3242620239,PT
@@ -121131,13 +124001,15 @@
3242620352,3242620359,ES
3242620360,3242620367,FR
3242620368,3242620383,PL
-3242620384,3242622031,FR
-3242622032,3242622047,PL
+3242620384,3242620415,FR
+3242620416,3242620419,FI
+3242620420,3242622027,FR
+3242622028,3242622047,PL
3242622048,3242622079,FR
3242622080,3242622083,PL
3242622084,3242622207,FR
-3242622208,3242622463,PL
-3242622464,3242622591,FR
+3242622208,3242622479,PL
+3242622480,3242622591,FR
3242622592,3242622623,PL
3242622624,3242622915,FR
3242622916,3242622927,PL
@@ -121151,11 +124023,15 @@
3242950656,3242983423,BE
3242983424,3243048959,IT
3243048960,3243114495,SI
-3243114496,3243134975,NL
-3243134976,3243137023,PL
-3243137024,3243245567,NL
+3243114496,3243136255,NL
+3243136256,3243136511,PL
+3243136512,3243237887,NL
+3243237888,3243238399,GB
+3243238400,3243245567,NL
3243245568,3243376639,AT
-3243376640,3243433983,GB
+3243376640,3243393023,GB
+3243393024,3243401215,JP
+3243401216,3243433983,GB
3243433984,3243442175,AU
3243442176,3243507711,AT
3243507712,3243507967,GB
@@ -121227,9 +124103,7 @@
3243554816,3243555071,LV
3243555072,3243555327,RO
3243555328,3243555583,CZ
-3243555840,3243556045,RO
-3243556046,3243556046,NL
-3243556047,3243556863,RO
+3243555840,3243556863,NL
3243556864,3243565055,CZ
3243565056,3243569151,GB
3243569152,3243570175,DE
@@ -121242,7 +124116,11 @@
3243704320,3243769855,SK
3243769856,3243900927,DK
3243900928,3243966463,NO
-3243966464,3243974655,PL
+3243966464,3243966975,PL
+3243966976,3243967487,LV
+3243967488,3243970047,PL
+3243970048,3243970559,LV
+3243970560,3243974655,PL
3243974656,3243978751,LU
3243978752,3243982847,NL
3243982848,3243991039,HU
@@ -121276,7 +124154,8 @@
3244128256,3244129279,RU
3244129280,3244130303,FR
3244130304,3244131327,NO
-3244131328,3244133375,FI
+3244131328,3244132351,FI
+3244132352,3244133375,EE
3244133376,3244134399,RO
3244134400,3244135423,PL
3244135424,3244137471,GB
@@ -121290,10 +124169,9 @@
3244144640,3244146687,UA
3244146688,3244146943,GB
3244146944,3244147711,RU
-3244147712,3244147775,GB
+3244147712,3244147775,IE
3244147776,3244147839,DE
-3244147840,3244147967,GB
-3244147968,3244148031,IE
+3244147840,3244148031,IE
3244148032,3244148095,NO
3244148096,3244148159,IT
3244148160,3244148223,ES
@@ -121388,8 +124266,7 @@
3244838400,3244838655,GB
3244838656,3244838911,BG
3244839168,3244839423,GB
-3244839424,3244839679,AT
-3244839680,3244839935,DK
+3244839424,3244839935,DK
3244839936,3244840191,DE
3244840192,3244840447,UA
3244840448,3244840703,IT
@@ -121602,8 +124479,7 @@
3244900608,3244900863,RU
3244900864,3244901119,PL
3244901120,3244901375,SI
-3244901376,3244901631,DE
-3244901632,3244901887,GB
+3244901376,3244901887,DE
3244901888,3244902143,UA
3244902144,3244902655,RU
3244902656,3244902911,BE
@@ -121896,6 +124772,7 @@
3245093888,3245094911,RO
3245094912,3245095935,UA
3245095936,3245096959,IT
+3245097216,3245097471,GB
3245099008,3245103103,GB
3245105664,3245106175,NL
3245106176,3245106687,AT
@@ -121916,7 +124793,9 @@
3245116928,3245117439,KW
3245117440,3245118463,LV
3245118464,3245119487,GB
-3245120512,3245121535,GB
+3245120512,3245120767,GB
+3245120768,3245121023,SG
+3245121024,3245121535,GB
3245121536,3245122047,GR
3245122048,3245122559,UA
3245122560,3245123071,DE
@@ -122039,7 +124918,7 @@
3245193216,3245195263,BE
3245195264,3245197311,GB
3245197312,3245199359,IT
-3245199360,3245199615,LU
+3245199360,3245199615,FR
3245199616,3245199871,SE
3245199872,3245200127,NO
3245200128,3245200383,LV
@@ -122080,9 +124959,7 @@
3245218816,3245219839,AT
3245219840,3245221887,FI
3245221888,3245223935,DE
-3245223936,3245224959,NL
-3245224960,3245225471,GB
-3245225472,3245225727,NL
+3245223936,3245225727,NL
3245225728,3245225983,GB
3245225984,3245228031,HU
3245228032,3245229055,FI
@@ -122092,9 +124969,7 @@
3245232384,3245232639,BE
3245232896,3245233151,IT
3245233152,3245233407,DK
-3245233408,3245233452,DE
-3245233453,3245233453,CH
-3245233454,3245233663,DE
+3245233408,3245233663,CH
3245233664,3245233919,GR
3245233920,3245234175,DK
3245234176,3245234431,GB
@@ -122248,7 +125123,7 @@
3245335552,3245335807,NL
3245336064,3245336575,GB
3245336576,3245336831,RO
-3245337600,3245337855,PL
+3245337600,3245337855,EE
3245337856,3245338367,DE
3245338368,3245339647,UA
3245339648,3245340671,LV
@@ -122260,9 +125135,7 @@
3245498368,3245514751,AU
3245514752,3245547519,GB
3245547520,3245555711,JP
-3245555712,3245568533,AU
-3245568534,3245568534,GB
-3245568535,3245572095,AU
+3245555712,3245572095,AU
3245572096,3245613055,GB
3245613056,3245621247,JP
3245621248,3245637631,AU
@@ -122270,8 +125143,8 @@
3245654016,3245670399,AU
3245670400,3245686783,GB
3245686784,3245694975,JP
-3245694976,3245744127,GB
-3245744128,3245752319,DE
+3245694976,3245744639,GB
+3245744640,3245752319,DE
3245752320,3245760511,GB
3245760512,3245776895,DE
3245776896,3245785087,GB
@@ -122281,7 +125154,9 @@
3245834240,3245867007,GB
3245867008,3245916159,IE
3245916160,3245917183,GB
-3245917184,3245931263,IE
+3245917184,3245923455,IE
+3245923456,3245924351,GB
+3245924352,3245931263,IE
3245931264,3245931519,GB
3245931520,3245932543,IE
3245932544,3245998079,BE
@@ -122353,13 +125228,9 @@
3246350848,3246351103,ES
3246351616,3246352639,ES
3246359552,3246362623,US
-3246362624,3246366719,ES
-3246366720,3246370815,PT
-3246370816,3246371073,ES
+3246362624,3246371073,ES
3246371074,3246371074,PT
-3246371075,3246377007,ES
-3246377008,3246377023,GB
-3246377024,3246379007,ES
+3246371075,3246379007,ES
3246379008,3246381055,GB
3246381056,3246383103,ES
3246383872,3246384127,ES
@@ -122372,7 +125243,16 @@
3246614528,3246784511,GB
3246784512,3246825983,CH
3246825984,3246826239,US
-3246826240,3246915583,CH
+3246826240,3246852095,CH
+3246852096,3246853119,DE
+3246853120,3246878719,CH
+3246878720,3246879743,UA
+3246879744,3246880767,US
+3246880768,3246881791,DE
+3246881792,3246882815,FR
+3246882816,3246906367,CH
+3246906368,3246907391,JP
+3246907392,3246915583,CH
3246915584,3247046655,PT
3247046656,3247046911,AT
3247046912,3247047679,SI
@@ -122398,7 +125278,8 @@
3247066368,3247066623,LV
3247066624,3247066879,CZ
3247066880,3247067135,RU
-3247067136,3247067647,DE
+3247067136,3247067391,SG
+3247067392,3247067647,DE
3247067648,3247067903,RU
3247067904,3247068159,CH
3247068160,3247068415,UA
@@ -122466,8 +125347,7 @@
3247111168,3247112191,CH
3247112192,3247177727,FR
3247177728,3247243263,TR
-3247243264,3247243775,DE
-3247243776,3247244031,NL
+3247243264,3247244031,NL
3247244032,3247244287,DE
3247244288,3247248383,NL
3247248384,3247250431,DE
@@ -122491,8 +125371,7 @@
3247288320,3247291647,DE
3247291648,3247292415,NL
3247292416,3247301119,DE
-3247301120,3247301375,NL
-3247301376,3247302143,DE
+3247301120,3247302143,NL
3247302656,3247308799,NL
3247308800,3247309055,BG
3247309056,3247309567,FI
@@ -122517,7 +125396,7 @@
3247334400,3247334655,NO
3247334656,3247335167,FI
3247335168,3247335423,DK
-3247335424,3247336447,FR
+3247335424,3247336447,DE
3247336448,3247337215,NO
3247337216,3247337471,CH
3247337472,3247337983,PL
@@ -122545,7 +125424,7 @@
3247356928,3247357951,DE
3247357952,3247358975,GB
3247358976,3247359999,IT
-3247360000,3247361023,DE
+3247360000,3247361023,US
3247361024,3247361279,FI
3247362048,3247362303,RO
3247362304,3247362559,HU
@@ -122615,10 +125494,20 @@
3247715328,3247716351,RU
3247716352,3247717375,DE
3247717376,3247718399,RU
+3247718400,3247719423,IR
+3247719424,3247720447,RO
+3247720448,3247721471,DE
+3247721472,3247722495,EE
+3247722496,3247723519,FR
+3247723520,3247724543,ES
+3247724544,3247725567,UA
+3247725568,3247726591,DE
3247726592,3247742975,ES
3247742976,3247751167,DE
3247751168,3247765503,ES
-3247765504,3247766527,CH
+3247765504,3247766015,CH
+3247766016,3247766271,DE
+3247766272,3247766527,CH
3247767040,3247767295,ES
3247767552,3247769599,ES
3247769600,3247771647,DE
@@ -122711,7 +125600,7 @@
3247913984,3247914495,DE
3247914496,3247915007,AT
3247915008,3247917055,PL
-3247917056,3247918079,NL
+3247917056,3247918079,DE
3247918080,3247919103,PL
3247919104,3247920127,BG
3247920128,3247921151,FR
@@ -122724,7 +125613,13 @@
3247928320,3247929343,HU
3247929344,3247931391,GB
3247931392,3247939583,IR
-3247947776,3247960063,RU
+3247939584,3247940607,CZ
+3247940608,3247941631,UA
+3247941632,3247942655,RU
+3247942656,3247943679,DE
+3247943680,3247944703,AE
+3247944704,3247946751,LT
+3247946752,3247960063,RU
3247960064,3247962111,UA
3247962112,3247963135,DE
3247963136,3247964159,UA
@@ -122744,6 +125639,13 @@
3248497152,3248498431,NO
3248498432,3248498687,DE
3248498688,3248504831,NO
+3248504832,3248505855,DE
+3248505856,3248507903,RU
+3248507904,3248508927,MY
+3248508928,3248509951,CZ
+3248509952,3248510975,ES
+3248510976,3248511999,DE
+3248512000,3248513023,NL
3248513280,3248513535,UA
3248513536,3248514047,AT
3248514816,3248515071,FR
@@ -122763,7 +125665,8 @@
3248540672,3248541183,RU
3248541184,3248541695,SE
3248541696,3248542719,RU
-3248542720,3248543743,GB
+3248542720,3248543231,GB
+3248543232,3248543743,TR
3248543744,3248544767,RU
3248544768,3248545791,TR
3248545792,3248546815,UA
@@ -122809,8 +125712,6 @@
3248611328,3248619519,NO
3248619520,3248623615,DK
3248624384,3248624639,US
-3248624640,3248624895,AU
-3248625152,3248625663,AU
3248626688,3248638463,DK
3248638464,3248638719,GB
3248638720,3248716287,DK
@@ -122851,16 +125752,7 @@
3248790784,3248791039,PL
3248791040,3248791295,BE
3248791296,3248791551,DE
-3248791552,3248792063,GB
-3248792320,3248792335,GB
-3248792352,3248792359,GB
-3248792368,3248792399,GB
-3248792416,3248792431,GB
-3248792496,3248792527,GB
-3248792544,3248792575,GB
-3248796608,3248796863,GB
-3248798976,3248799231,GB
-3248799736,3248799743,GB
+3248791552,3248799743,GB
3248799744,3248800255,NL
3248800256,3248800767,RU
3248800768,3248801279,FR
@@ -122888,9 +125780,7 @@
3248815104,3248815615,GB
3248815616,3248816127,PL
3248816128,3248881663,CZ
-3248881664,3248993791,FI
-3248993792,3248994303,AX
-3248994304,3249012735,FI
+3248881664,3249012735,FI
3249012736,3249012991,DE
3249012992,3249013503,LU
3249014272,3249014783,DE
@@ -123018,6 +125908,13 @@
3249551360,3249552639,GB
3249552640,3249552895,NL
3249553152,3249553407,NL
+3249553408,3249555455,FR
+3249555456,3249556479,DE
+3249556480,3249558527,RU
+3249558528,3249559039,RO
+3249559040,3249559551,DE
+3249559552,3249560575,FR
+3249560576,3249561599,RU
3249561600,3249565695,NL
3249565696,3249566719,DE
3249566720,3249567743,US
@@ -123057,7 +125954,7 @@
3249679360,3249680383,ES
3249680384,3249681407,UA
3249681664,3249681919,IE
-3249682432,3249683455,DE
+3249682432,3249683455,HK
3249683456,3249684479,SE
3249684480,3249696767,IE
3249697280,3249697535,IE
@@ -123216,8 +126113,7 @@
3249971200,3249971455,IT
3249971456,3249971711,SE
3249971712,3249972735,DE
-3249972736,3249973247,DK
-3249973248,3249973759,SE
+3249972736,3249973759,SE
3249973760,3249974015,NL
3249974016,3249974527,SE
3249974528,3249974783,ES
@@ -123336,6 +126232,29 @@
3250279424,3250280447,DE
3250280448,3250281471,SE
3250281472,3250282495,RU
+3250282496,3250283519,DE
+3250283520,3250284543,AL
+3250284544,3250285567,RU
+3250285568,3250286591,TR
+3250286592,3250287615,MY
+3250287616,3250288639,HK
+3250288640,3250290687,NL
+3250290688,3250291711,DE
+3250291712,3250292735,TR
+3250292736,3250293759,NL
+3250293760,3250294783,TR
+3250294784,3250295807,RU
+3250295808,3250296831,RO
+3250296832,3250297087,IT
+3250297088,3250297855,US
+3250297856,3250298879,RU
+3250298880,3250300927,DK
+3250300928,3250301951,CZ
+3250301952,3250302975,RU
+3250302976,3250303999,PL
+3250304000,3250305023,US
+3250305024,3250306047,ES
+3250306048,3250307071,NL
3250307072,3250308095,RU
3250308096,3250323199,AT
3250323200,3250323455,RU
@@ -123370,7 +126289,8 @@
3250362880,3250363391,DE
3250363392,3250363903,SE
3250363904,3250364415,DE
-3250364416,3250372607,KW
+3250364416,3250366463,EG
+3250366464,3250372607,KW
3250372608,3250373631,HU
3250373632,3250374143,DE
3250374144,3250374655,PL
@@ -123421,8 +126341,7 @@
3250424320,3250424575,RU
3250424576,3250424831,NL
3250424832,3250425343,GB
-3250425344,3250425599,TR
-3250425600,3250425855,FR
+3250425344,3250425855,TR
3250425856,3250426111,LT
3250426368,3250426623,AT
3250426624,3250426879,FR
@@ -123434,7 +126353,9 @@
3250438912,3250439167,FR
3250439168,3250440633,CH
3250440634,3250440634,US
-3250440635,3250445567,CH
+3250440635,3250442675,CH
+3250442676,3250442676,DE
+3250442677,3250445567,CH
3250445568,3250445599,GB
3250445600,3250445683,CH
3250445684,3250445687,GB
@@ -123466,8 +126387,7 @@
3250634752,3250642943,GB
3250642944,3250651135,CH
3250651136,3250659327,IT
-3250659328,3250660607,GB
-3250661376,3250662399,GB
+3250659328,3250667519,GB
3250667520,3250675711,PL
3250675712,3250683903,GB
3250683904,3250692095,CH
@@ -123655,7 +126575,21 @@
3251165696,3251165951,DE
3251165952,3251166207,UA
3251166208,3251166463,CH
-3251166720,3251166975,FR
+3251166720,3251166735,IN
+3251166736,3251166751,US
+3251166752,3251166767,FR
+3251166768,3251166783,US
+3251166784,3251166799,BR
+3251166800,3251166831,FR
+3251166832,3251166847,AR
+3251166848,3251166863,JP
+3251166864,3251166879,UA
+3251166880,3251166895,CN
+3251166896,3251166911,US
+3251166912,3251166927,AU
+3251166928,3251166943,RU
+3251166944,3251166959,GB
+3251166960,3251166975,FR
3251166976,3251167231,CH
3251167232,3251167487,LV
3251167488,3251167743,DK
@@ -123740,7 +126674,7 @@
3251208192,3251209215,CY
3251209216,3251210239,GB
3251210240,3251211263,PL
-3251211264,3251212287,UA
+3251211264,3251212287,BG
3251212288,3251212415,PL
3251212416,3251212671,FI
3251212800,3251212927,FR
@@ -123852,13 +126786,14 @@
3251306496,3251307007,AT
3251307776,3251308031,GB
3251308544,3251309567,RU
-3251309568,3251310591,DE
+3251309568,3251310591,US
3251311104,3251311615,RS
3251311616,3251312127,GB
3251312384,3251312639,RS
3251313152,3251313663,RS
3251313664,3251314687,ES
3251314688,3251315711,FR
+3251315712,3251316735,RO
3251316736,3251317759,RU
3251317760,3251318783,PL
3251318784,3251319807,UA
@@ -123866,8 +126801,7 @@
3251320832,3251321855,PL
3251321856,3251322879,RU
3251322880,3251331071,GB
-3251331072,3251331327,FR
-3251331328,3251331583,GB
+3251331072,3251331583,FR
3251331584,3251332095,PL
3251332096,3251333119,RU
3251333120,3251333631,CH
@@ -123920,7 +126854,9 @@
3252221184,3252222463,LT
3252222464,3252223999,SE
3252224000,3252228095,LT
-3252228096,3252240383,SE
+3252228096,3252232191,SE
+3252232192,3252232703,NL
+3252232704,3252240383,SE
3252240384,3252286463,HR
3252286464,3252287487,LT
3252287488,3252289535,SE
@@ -123967,7 +126903,7 @@
3252342240,3252342271,CH
3252342272,3252342527,SE
3252342528,3252342543,NO
-3252342544,3252342591,DE
+3252342544,3252342591,FR
3252342592,3252342607,IE
3252342608,3252342655,CY
3252342656,3252342783,IL
@@ -124016,7 +126952,9 @@
3252415232,3252415999,LU
3252416000,3252420607,FR
3252420608,3252424703,NO
-3252424704,3252428321,FR
+3252424704,3252426751,FR
+3252426752,3252427775,US
+3252427776,3252428321,FR
3252428322,3252428322,AO
3252428323,3252428799,FR
3252428800,3252429823,NO
@@ -124042,9 +126980,9 @@
3252505344,3252505599,US
3252505600,3252507135,SE
3252507136,3252507647,RO
-3252507648,3252508671,GB
-3252508672,3252509183,BE
-3252509184,3252510719,GB
+3252507648,3252509439,GB
+3252509440,3252509695,SG
+3252509696,3252510719,GB
3252510720,3252514815,FR
3252514816,3252515071,SI
3252515072,3252515327,GB
@@ -124063,10 +127001,10 @@
3252527104,3252535295,BE
3252535296,3252536319,GB
3252536320,3252537343,RS
-3252537344,3252538367,RU
+3252537344,3252538367,BR
3252538368,3252539391,EE
3252539392,3252540415,DE
-3252540416,3252541439,RU
+3252540416,3252541439,BR
3252541952,3252542207,CI
3252542464,3252543487,DE
3252543488,3252551679,BE
@@ -124083,7 +127021,7 @@
3252567808,3252568063,RO
3252568064,3252576255,CH
3252576256,3252577279,DE
-3252577280,3252578303,AT
+3252577280,3252578303,US
3252578816,3252579327,CH
3252579328,3252579583,FR
3252579584,3252579839,RU
@@ -124118,7 +127056,7 @@
3252636928,3252637183,DE
3252637184,3252637695,GB
3252637696,3252641791,CH
-3252642304,3252642559,PL
+3252642304,3252642559,UA
3252642560,3252642815,DK
3252642816,3252643071,AE
3252643072,3252643327,RO
@@ -124206,10 +127144,9 @@
3252965376,3252972543,AT
3252972544,3252973567,JP
3252973568,3252976639,AT
-3252976640,3252977663,GB
+3252976640,3252977663,RU
3252977664,3252978687,DE
-3252978688,3252979711,RU
-3252979712,3252980735,GB
+3252978688,3252980735,RU
3252980992,3252981247,GB
3252981504,3252981759,SE
3252981760,3252982015,DE
@@ -124226,13 +127163,14 @@
3252985344,3252987903,RU
3252988416,3252988927,AT
3252989440,3252989695,PL
-3252989952,3252993023,AT
+3252989952,3252992767,AT
+3252992768,3252993023,ES
3252993024,3252994047,DE
3252994048,3252994303,AT
3252995072,3252996095,CH
3252996096,3253002239,AT
3253003008,3253003263,AT
-3253003264,3253004287,GB
+3253003264,3253004287,RU
3253004288,3253004799,AT
3253004800,3253005055,CZ
3253005312,3253006335,CH
@@ -124249,7 +127187,9 @@
3253270528,3253271551,BY
3253271552,3253288703,RU
3253288704,3253288959,AR
-3253288960,3253313535,RU
+3253288960,3253291519,RU
+3253291520,3253291775,NL
+3253291776,3253313535,RU
3253313536,3253313791,NL
3253313792,3253338111,RU
3253338112,3253338367,PL
@@ -124306,8 +127246,8 @@
3253416448,3253416703,GB
3253416704,3253416959,US
3253416960,3253418495,SE
-3253418496,3253419007,DK
-3253419008,3253419519,SE
+3253418496,3253418751,DK
+3253418752,3253419519,SE
3253419520,3253419775,GB
3253419776,3253428223,SE
3253428224,3253428479,DE
@@ -124344,7 +127284,7 @@
3253455616,3253455871,US
3253455872,3253456383,SE
3253456384,3253456639,US
-3253456896,3253460735,SE
+3253456640,3253460735,SE
3253460736,3253460991,IT
3253460992,3253461247,US
3253461248,3253461759,SE
@@ -124376,7 +127316,8 @@
3253617664,3253618687,GB
3253618688,3253619711,UA
3253619712,3253620735,IT
-3253620736,3253622783,GB
+3253620736,3253621759,GB
+3253621760,3253622783,RU
3253622784,3253623807,DE
3253623808,3253624831,PL
3253624832,3253625855,UA
@@ -124499,8 +127440,9 @@
3253730304,3253730815,RO
3253730816,3253731327,UA
3253731328,3253731583,DE
-3253731584,3253731711,HU
-3253731712,3253737791,GB
+3253731584,3253736959,GB
+3253736960,3253737215,FR
+3253737216,3253737791,GB
3253737792,3253737807,FR
3253737808,3253737823,GB
3253737824,3253737831,PL
@@ -124513,17 +127455,17 @@
3253738568,3253738569,BE
3253738570,3253738570,US
3253738571,3253738575,BE
-3253738576,3253740031,GB
-3253740032,3253740543,FR
-3253740544,3253741679,GB
+3253738576,3253741679,GB
3253741680,3253741695,RU
3253741696,3253744415,GB
3253744416,3253744447,CH
3253744448,3253744511,GB
3253744512,3253744512,US
-3253744513,3253745151,GB
-3253745152,3253745279,NO
-3253745280,3253749791,GB
+3253744513,3253745172,GB
+3253745173,3253745173,NO
+3253745174,3253745181,GB
+3253745182,3253745182,NO
+3253745183,3253749791,GB
3253749792,3253749799,US
3253749800,3253751175,GB
3253751176,3253751179,SE
@@ -124535,21 +127477,25 @@
3253755236,3253755239,IE
3253755240,3253755551,GB
3253755552,3253755559,IT
-3253755560,3253758491,GB
-3253758492,3253758495,BG
-3253758496,3253758499,GB
-3253758500,3253758503,BG
-3253758504,3253761407,GB
+3253755560,3253760511,GB
+3253760512,3253760767,FR
+3253760768,3253761407,GB
3253761408,3253761416,ES
3253761417,3253761417,GB
3253761418,3253761471,ES
-3253761472,3253762815,GB
+3253761472,3253762303,GB
+3253762304,3253762559,CH
+3253762560,3253762815,GB
3253762816,3253762943,CH
3253762944,3253762991,GB
3253762992,3253762999,DE
3253763000,3253763071,GB
3253763072,3253763327,SE
-3253763328,3253764767,GB
+3253763328,3253764719,GB
+3253764720,3253764727,DE
+3253764728,3253764735,GB
+3253764736,3253764743,IT
+3253764744,3253764767,GB
3253764768,3253764783,FR
3253764784,3253764799,GB
3253764800,3253764831,SI
@@ -124560,9 +127506,7 @@
3253767676,3253767679,DE
3253767680,3253767711,GB
3253767712,3253767743,DE
-3253767744,3253768383,GB
-3253768384,3253768415,SE
-3253768416,3253768565,GB
+3253767744,3253768565,GB
3253768566,3253768566,DE
3253768567,3253769362,GB
3253769363,3253769363,DE
@@ -124572,8 +127516,8 @@
3253770752,3253770879,FR
3253770880,3253770983,GB
3253770984,3253770984,DE
-3253770985,3253771199,GB
-3253771200,3253771215,IE
+3253770985,3253771007,GB
+3253771008,3253771215,IE
3253771216,3253771231,GB
3253771232,3253771263,IE
3253771264,3253771283,GB
@@ -124582,14 +127526,9 @@
3253771562,3253771562,DE
3253771563,3253772063,GB
3253772064,3253772095,DE
-3253772096,3253772287,GB
-3253772288,3253772311,PL
-3253772312,3253772319,GB
-3253772320,3253772519,PL
+3253772096,3253772519,GB
3253772520,3253772527,DE
-3253772528,3253772543,PL
-3253772544,3253772799,GB
-3253772800,3253773055,ES
+3253772528,3253773055,GB
3253773056,3253773311,DE
3253773312,3253774583,GB
3253774584,3253774591,DE
@@ -124597,15 +127536,11 @@
3253775184,3253775191,FR
3253775192,3253775215,GB
3253775216,3253775223,DE
-3253775224,3253775487,GB
-3253775488,3253775551,US
-3253775552,3253775586,GB
+3253775224,3253775586,GB
3253775587,3253775587,DE
3253775588,3253775599,GB
-3253775600,3253775609,IT
-3253775610,3253775610,GB
-3253775611,3253775615,IT
-3253775616,3253775807,GB
+3253775600,3253775607,IT
+3253775608,3253775807,GB
3253775808,3253775823,DE
3253775824,3253776159,GB
3253776160,3253776175,DE
@@ -124613,13 +127548,10 @@
3253776304,3253776311,ES
3253776312,3253776809,GB
3253776810,3253776810,CH
-3253776811,3253777279,GB
-3253777280,3253777407,NL
-3253777408,3253777791,GB
+3253776811,3253777791,GB
3253777792,3253777855,FR
3253777856,3253777919,GB
-3253777920,3253778175,AT
-3253778176,3253778259,FR
+3253777920,3253778259,FR
3253778260,3253778263,NO
3253778264,3253778271,FR
3253778272,3253778287,DE
@@ -124642,39 +127574,33 @@
3253780568,3253780571,HU
3253780572,3253780575,NO
3253780576,3253780579,SE
-3253780580,3253780991,GB
-3253780992,3253781327,DE
+3253780580,3253781327,GB
3253781328,3253781335,ES
-3253781336,3253781415,DE
-3253781416,3253781423,GB
-3253781424,3253781503,DE
-3253781504,3253781615,GB
+3253781336,3253781423,GB
+3253781424,3253781431,DE
+3253781432,3253781615,GB
3253781616,3253781631,FR
-3253781632,3253782527,GB
+3253781632,3253781759,US
+3253781760,3253782527,GB
3253782528,3253782535,FR
3253782536,3253783487,GB
3253783488,3253783519,DE
3253783520,3253787903,GB
-3253787904,3253788079,FR
-3253788080,3253788082,GB
-3253788083,3253788095,FR
-3253788096,3253789183,GB
-3253789184,3253789439,UA
-3253789440,3253791419,GB
+3253787904,3253787967,FR
+3253787968,3253791419,GB
3253791420,3253791423,DE
3253791424,3253792079,GB
3253792080,3253792095,DE
3253792096,3253793071,GB
3253793072,3253793087,FR
-3253793088,3253793279,GB
-3253793280,3253793359,DE
+3253793088,3253793359,GB
3253793360,3253793375,DK
-3253793376,3253793407,DE
-3253793408,3253794047,GB
-3253794048,3253794303,FR
+3253793376,3253794271,GB
+3253794272,3253794287,FR
+3253794288,3253794303,ES
3253794304,3253796351,GB
-3253796352,3253796479,FR
-3253796480,3253796863,GB
+3253796352,3253796607,FR
+3253796608,3253796863,GB
3253796864,3253862399,SE
3253862400,3253862655,GB
3253862656,3253882879,FR
@@ -124771,9 +127697,10 @@
3253977088,3253985279,TR
3253985280,3253993471,GB
3253993472,3254067199,BE
-3254067200,3254075391,CZ
-3254075392,3254083583,HU
-3254083584,3254124543,BE
+3254067200,3254069247,CZ
+3254069248,3254079487,BE
+3254079488,3254081535,HU
+3254081536,3254124543,BE
3254124544,3254137855,CH
3254137856,3254138879,IE
3254138880,3254156799,CH
@@ -124828,19 +127755,21 @@
3254491136,3254491391,DZ
3254491392,3254493695,FR
3254493696,3254493951,GP
-3254493952,3254494079,MQ
-3254494080,3254494207,GF
+3254493952,3254494207,MQ
3254494208,3254494463,GP
3254494464,3254509412,FR
3254509413,3254509413,GQ
3254509414,3254576383,FR
3254576384,3254576543,DO
3254576544,3254607871,FR
-3254607872,3254611455,RE
+3254607872,3254610175,RE
+3254610176,3254610431,YT
+3254610432,3254611455,RE
3254611456,3254611967,YT
-3254611968,3254612223,RE
-3254612224,3254612479,FR
-3254612480,3254615551,RE
+3254611968,3254612223,FR
+3254612224,3254612991,RE
+3254612992,3254613247,FR
+3254613248,3254615551,RE
3254615552,3254616063,YT
3254616064,3254648831,FR
3254648832,3254649855,AL
@@ -125109,14 +128038,14 @@
3254962381,3254962381,NL
3254962382,3254962421,FR
3254962422,3254962422,NL
-3254962423,3255009023,FR
-3255009024,3255009279,MQ
-3255009280,3255019519,FR
-3255019520,3255019775,GP
-3255019776,3255022591,FR
+3254962423,3255019519,FR
+3255019520,3255021567,GP
+3255021568,3255022591,FR
3255022592,3255022847,RE
-3255022848,3255032831,FR
-3255032832,3255033087,GF
+3255022848,3255024383,FR
+3255024384,3255024639,YT
+3255024640,3255031807,FR
+3255031808,3255033087,GF
3255033088,3255052287,FR
3255052288,3255053311,IT
3255053312,3255054335,SE
@@ -125139,7 +128068,7 @@
3255085056,3255086079,RO
3255086080,3255087103,GB
3255087104,3255107583,FR
-3255107584,3255108607,NL
+3255107584,3255108607,AU
3255108608,3255109631,GB
3255109632,3255110655,RU
3255110656,3255111679,PL
@@ -125156,8 +128085,7 @@
3255123712,3255123967,DE
3255123968,3255124991,ES
3255124992,3255126015,HR
-3255126016,3255126527,FR
-3255128064,3255128575,FR
+3255126016,3255128575,FR
3255129856,3255130111,HR
3255130112,3255130623,FR
3255131136,3255132159,RU
@@ -125169,7 +128097,8 @@
3255135232,3255140351,FR
3255140352,3255141375,CH
3255141376,3255146495,FR
-3255146496,3255148543,DE
+3255146496,3255147519,US
+3255147520,3255148543,DE
3255148544,3255149567,SY
3255150080,3255152639,FR
3255152640,3255153663,IR
@@ -125187,45 +128116,9 @@
3255171072,3255172095,RO
3255172352,3255172607,DE
3255173120,3255173631,SH
-3255173648,3255173711,GB
-3255173760,3255173823,GB
-3255173840,3255174151,GB
-3255174160,3255174167,GB
-3255174200,3255174207,GB
-3255174216,3255174247,GB
-3255174272,3255174279,GB
-3255174312,3255174319,GB
-3255174328,3255174335,GB
-3255174376,3255174383,GB
-3255174400,3255175167,GB
-3255175200,3255175231,GB
-3255175248,3255175263,GB
-3255175280,3255175295,GB
-3255175312,3255175327,GB
-3255175432,3255175447,GB
-3255175456,3255175503,GB
-3255175512,3255175535,GB
-3255175552,3255175559,GB
-3255175592,3255175607,GB
-3255176192,3255177215,GB
-3255177472,3255177855,GB
-3255177984,3255187199,GB
-3255187200,3255187455,DE
-3255187456,3255187711,GB
-3255188480,3255191807,GB
-3255192320,3255193343,GB
-3255193600,3255193863,GB
-3255193888,3255193959,GB
-3255193968,3255193975,GB
+3255173632,3255193975,GB
3255193976,3255193983,GI
-3255193984,3255193999,GB
-3255194016,3255194039,GB
-3255194056,3255194063,GB
-3255194072,3255194431,GB
-3255194496,3255194559,GB
-3255194624,3255194703,GB
-3255194720,3255194815,GB
-3255194880,3255205887,GB
+3255193984,3255205887,GB
3255205888,3255214079,FR
3255214080,3255222271,CH
3255222272,3255223295,DE
@@ -125259,13 +128152,7 @@
3255237120,3255237375,AT
3255237888,3255238143,ES
3255238400,3255238655,QA
-3255238656,3255255039,BE
-3255255040,3255259135,LU
-3255259136,3255279615,BE
-3255279616,3255280018,GB
-3255280019,3255280019,BE
-3255280020,3255283711,GB
-3255283712,3255304191,BE
+3255238656,3255304191,BE
3255304192,3255304447,DE
3255304448,3255305215,LV
3255305216,3255305471,BG
@@ -125480,7 +128367,9 @@
3255521101,3255521101,DE
3255521102,3255522303,CH
3255522304,3255523327,ES
-3255523328,3255544319,CH
+3255523328,3255533567,CH
+3255533568,3255534591,DE
+3255534592,3255544319,CH
3255544320,3255544575,DE
3255544576,3255544831,AT
3255544832,3255548927,CH
@@ -125488,8 +128377,7 @@
3255549952,3255550975,PL
3255550976,3255551231,DE
3255551232,3255551487,US
-3255551488,3255551743,DE
-3255551744,3255551999,US
+3255551488,3255551999,DE
3255552000,3255558143,CH
3255558400,3255558655,UA
3255558912,3255559167,GB
@@ -125549,14 +128437,22 @@
3255751168,3255751423,DK
3255751424,3255752959,SE
3255752960,3255753215,RO
-3255753216,3255753471,SE
-3255753728,3255762431,SE
+3255753216,3255762431,SE
3255762432,3255762943,BE
3255762944,3255771135,DE
-3255779328,3255787519,DE
+3255771136,3255772159,TR
+3255772160,3255772415,DE
+3255772416,3255772671,GB
+3255772672,3255773183,DE
+3255773184,3255774207,GB
+3255774208,3255775231,DE
+3255775232,3255776255,GB
+3255776256,3255777279,UA
+3255777280,3255778303,RU
+3255778304,3255787519,DE
3255787520,3255789567,TR
3255789568,3255790591,RO
-3255790592,3255791615,DE
+3255790592,3255791615,US
3255791616,3255792639,UA
3255792640,3255793663,RU
3255793664,3255794943,PL
@@ -125573,7 +128469,10 @@
3255817728,3255820287,DE
3255820288,3255821311,RS
3255821312,3255822335,CH
-3255822336,3255826431,DE
+3255822336,3255825407,DE
+3255825408,3255825547,GB
+3255825548,3255825548,DE
+3255825549,3255826431,GB
3255826432,3255827455,EE
3255827456,3255828479,DE
3255828480,3256025087,SE
@@ -125620,7 +128519,7 @@
3256417792,3256418303,GB
3256418304,3256483839,DE
3256483840,3256484095,NL
-3256484864,3256485887,LB
+3256484864,3256485887,NG
3256485888,3256487935,NL
3256487936,3256488959,RU
3256489472,3256489983,GR
@@ -125630,9 +128529,9 @@
3256492032,3256502271,NL
3256502272,3256503295,IR
3256503296,3256509439,NL
-3256509440,3256510463,GB
+3256509440,3256510463,RU
3256510464,3256513023,NL
-3256513536,3256514559,GB
+3256513536,3256514559,RU
3256514560,3256524287,NL
3256524288,3256524799,DE
3256524800,3256525823,NL
@@ -125710,7 +128609,6 @@
3256695808,3256696831,UA
3256699136,3256699391,NL
3256700416,3256700671,NL
-3256705280,3256705535,FR
3256705536,3256705791,BE
3256705792,3256706047,AT
3256711168,3256711423,DE
@@ -125757,7 +128655,7 @@
3256794880,3256795135,AT
3256795136,3256811519,GR
3256811520,3256813567,DE
-3256813568,3256814591,GB
+3256813568,3256814591,RU
3256815104,3256819711,DE
3256819712,3256821503,PL
3256821504,3256821759,NO
@@ -125786,6 +128684,20 @@
3256838144,3256839167,ES
3256839168,3256840191,IT
3256840192,3256844287,DE
+3256844288,3256845311,CH
+3256845312,3256846335,RU
+3256846336,3256847359,FR
+3256847360,3256849407,GB
+3256849408,3256850431,DE
+3256850432,3256852479,RU
+3256852480,3256853503,FR
+3256853504,3256854527,DK
+3256854528,3256855551,UA
+3256855552,3256856575,RU
+3256856576,3256857599,TR
+3256857600,3256858623,LT
+3256858624,3256859647,GB
+3256859648,3256860671,CZ
3256860672,3256863743,DE
3256864256,3256864511,DE
3256864512,3256864767,CH
@@ -125811,6 +128723,14 @@
3256899072,3256899583,RU
3256899584,3256900607,RO
3256900608,3256901631,DE
+3256901632,3256902655,UZ
+3256902656,3256903679,IT
+3256903680,3256904703,RO
+3256904704,3256905727,UA
+3256905728,3256906751,ES
+3256906752,3256907775,EE
+3256907776,3256908799,MD
+3256908800,3256909823,RU
3256909824,3256910847,KZ
3256910848,3256911871,ES
3256911872,3256912895,UA
@@ -125824,15 +128744,23 @@
3256920064,3256921087,FR
3256921088,3256922111,IT
3256922112,3256934399,GB
+3256934400,3256935423,AU
+3256935424,3256935935,RU
+3256935936,3256936191,EE
+3256936192,3256936447,RU
+3256936448,3256937471,DE
+3256937472,3256939519,RU
+3256939520,3256940543,NL
+3256940544,3256941311,AE
+3256941312,3256941567,KZ
+3256941568,3256942591,RU
3256942592,3256944639,GB
3256945408,3256945663,GB
3256945664,3256945919,SI
3256945920,3256946175,GB
3256946176,3256946431,RO
3256946432,3256946687,UA
-3256946688,3256946943,GB
-3256946944,3256947199,DE
-3256947200,3256947711,GB
+3256946688,3256947711,DE
3256947712,3256948735,RU
3256948736,3256950015,GB
3256950272,3256950527,NO
@@ -125897,7 +128825,8 @@
3257031680,3257032703,GB
3257032704,3257033727,RU
3257033728,3257034751,FR
-3257034752,3257035775,GB
+3257034752,3257035007,CZ
+3257035008,3257035775,GB
3257035776,3257036799,NL
3257036800,3257040895,GB
3257040896,3257041919,RO
@@ -125911,17 +128840,40 @@
3257058816,3257059071,PL
3257059328,3257060351,DE
3257060352,3257065471,GB
+3257065472,3257065727,AT
+3257065728,3257065983,DE
+3257065984,3257066495,AT
+3257066496,3257067519,GB
+3257067520,3257068543,DE
+3257068544,3257069567,RU
+3257069568,3257070591,DE
+3257070592,3257071103,RU
+3257071104,3257071615,NL
+3257071616,3257072639,RU
+3257072640,3257073663,NO
3257073664,3257076735,GB
-3257076736,3257077759,DE
-3257077760,3257081855,GB
+3257076736,3257077503,DE
+3257077504,3257077759,US
+3257077760,3257083903,GB
+3257083904,3257084159,US
+3257084160,3257084927,ES
+3257084928,3257086975,RU
+3257086976,3257087999,MD
+3257088000,3257089023,DE
+3257089024,3257090047,UA
3257090048,3257092351,GB
3257092608,3257092863,RO
3257093888,3257094143,GB
3257094656,3257095167,GB
3257095168,3257096191,SI
3257096192,3257097215,ES
-3257097216,3257098239,GB
-3257106432,3257118719,GB
+3257097216,3257099263,GB
+3257099264,3257102335,DE
+3257102336,3257102847,RU
+3257102848,3257103359,NL
+3257103360,3257104383,GB
+3257104384,3257105407,DE
+3257105408,3257118719,GB
3257118720,3257119743,IT
3257120512,3257120767,GB
3257121280,3257121535,GB
@@ -125983,7 +128935,9 @@
3257181696,3257181951,FR
3257182208,3257182463,PL
3257183232,3257184255,US
-3257184256,3257185279,RU
+3257184256,3257184511,RU
+3257184512,3257184767,CZ
+3257184768,3257185279,UA
3257185280,3257186303,HU
3257186304,3257187327,DE
3257187328,3257187583,RO
@@ -126010,6 +128964,21 @@
3257269248,3257269503,IT
3257269504,3257269759,AT
3257270016,3257270271,DE
+3257270272,3257271295,RU
+3257271296,3257272319,NL
+3257272320,3257273343,RU
+3257273344,3257274367,IE
+3257274368,3257275391,DE
+3257275392,3257276415,UA
+3257276416,3257277439,NL
+3257277440,3257278463,RO
+3257278464,3257279487,FR
+3257279488,3257280511,BG
+3257280512,3257281535,DE
+3257281536,3257282559,ES
+3257282560,3257284607,TR
+3257284608,3257285631,ES
+3257285632,3257286655,IT
3257286656,3257294847,CH
3257294848,3257303039,HU
3257303040,3257311231,PT
@@ -126026,7 +128995,7 @@
3257357312,3257357567,PT
3257357568,3257357823,SI
3257357824,3257363455,DE
-3257363456,3257364479,GB
+3257363456,3257364479,RU
3257364480,3257367039,DE
3257367552,3257368575,PT
3257368576,3257371903,DE
@@ -126114,7 +129083,9 @@
3257563648,3257564159,NL
3257564160,3257564671,GB
3257564672,3257565183,RO
-3257565184,3257573375,CY
+3257565184,3257566719,CY
+3257566720,3257567231,RU
+3257567232,3257573375,CY
3257573376,3257574143,CH
3257577472,3257581567,DE
3257581568,3257585663,UA
@@ -126160,8 +129131,8 @@
3257771264,3257772287,DE
3257772544,3257776127,NL
3257776128,3257776383,DE
-3257776384,3257779199,NL
-3257779712,3257780479,DE
+3257776384,3257780223,NL
+3257780224,3257780479,DE
3257780480,3257782271,NL
3257782272,3257784831,DE
3257784832,3257787135,NL
@@ -126245,10 +129216,13 @@
3258023936,3258056703,DE
3258057216,3258057471,CZ
3258058240,3258058495,RU
-3258059008,3258059519,RU
+3258059008,3258059263,UA
+3258059264,3258059519,RU
3258059520,3258059775,RO
3258059776,3258060799,RU
-3258060800,3258061823,GB
+3258060800,3258061055,GB
+3258061056,3258061311,DE
+3258061312,3258061823,GB
3258061824,3258062847,NL
3258062848,3258063103,RU
3258063360,3258063871,CZ
@@ -126344,8 +129318,7 @@
3258098944,3258099199,GB
3258099200,3258099455,SI
3258099456,3258099711,UA
-3258099712,3258099967,FI
-3258099968,3258100223,UA
+3258099712,3258100223,FI
3258100736,3258100991,CH
3258100992,3258101247,AT
3258101248,3258101503,RO
@@ -126393,12 +129366,14 @@
3258271744,3258272767,NL
3258272768,3258273791,FR
3258273792,3258279935,NL
-3258279936,3258281983,DE
+3258279936,3258280959,DE
+3258280960,3258281983,US
3258281984,3258284031,NL
3258284288,3258284543,NL
3258285056,3258286079,RS
3258286080,3258288127,NL
-3258288128,3258290175,DE
+3258288128,3258289151,GB
+3258289152,3258290175,DE
3258290176,3258291199,MD
3258291200,3258292223,ES
3258292224,3258293247,IT
@@ -126459,7 +129434,7 @@
3258423296,3258424319,RO
3258424320,3258426367,DE
3258426368,3258427391,RU
-3258427648,3258427903,RO
+3258427648,3258427903,ES
3258427904,3258428159,DE
3258428416,3258444287,DE
3258444800,3258445823,RU
@@ -126469,16 +129444,16 @@
3258449920,3258468351,CH
3258468352,3258469119,HR
3258469120,3258469375,SI
-3258469376,3258470399,AT
+3258469376,3258470399,US
3258470400,3258471423,UA
3258471424,3258472447,NL
3258472448,3258473471,IT
3258473472,3258474495,FR
3258474496,3258486783,CH
3258486784,3258487807,LI
-3258487808,3258488831,GB
+3258487808,3258488831,RU
3258488832,3258495999,CH
-3258496000,3258497023,GB
+3258496000,3258497023,RU
3258497024,3258498047,TR
3258498048,3258499071,CH
3258499072,3258500095,ES
@@ -126538,7 +129513,10 @@
3258681344,3258682367,NL
3258683136,3258685439,DE
3258685440,3258685695,CH
-3258685696,3258691583,DE
+3258685696,3258688511,DE
+3258688512,3258689023,SG
+3258689024,3258689535,LT
+3258689536,3258691583,DE
3258691840,3258692351,AT
3258692352,3258692607,DE
3258692608,3258692863,FR
@@ -126603,6 +129581,15 @@
3258776064,3258776319,GE
3258776320,3258776575,PL
3258776576,3258777599,UA
+3258777600,3258778623,RU
+3258778624,3258779647,NL
+3258779648,3258780159,RU
+3258780160,3258780671,GB
+3258780672,3258781695,RO
+3258781696,3258782719,ES
+3258782720,3258783743,SE
+3258783744,3258784767,NL
+3258784768,3258785791,DE
3258785792,3258786047,MD
3258786048,3258786303,DE
3258786304,3258786815,BG
@@ -126633,18 +129620,17 @@
3258810368,3258811391,NL
3258811392,3258812415,DE
3258812416,3258813439,MK
-3258813440,3258813695,TR
-3258813696,3258813951,GB
-3258813952,3258814463,TR
-3258814464,3258816511,GB
+3258813440,3258816511,GB
3258816512,3258817535,DE
3258818048,3258818303,SE
3258818560,3258834943,GB
3258834944,3258835967,TR
3258835968,3258836991,PL
3258836992,3258838015,RU
-3258838016,3258839039,NL
-3258839040,3258843135,GB
+3258838016,3258838271,NL
+3258838272,3258838527,GB
+3258838528,3258838783,NL
+3258838784,3258843135,GB
3258843136,3258843391,RU
3258844928,3258847231,GB
3258847232,3258848255,RU
@@ -126692,7 +129678,8 @@
3258904576,3258905599,PT
3258905600,3258906623,UA
3258906624,3258907647,DE
-3258907648,3258908671,ES
+3258907648,3258907903,IE
+3258907904,3258908671,ES
3258908672,3258941439,GB
3258941440,3258943487,PL
3258943488,3258944511,BG
@@ -126713,7 +129700,7 @@
3259243008,3259243263,SG
3259243264,3259243519,JP
3259243520,3259244543,US
-3259244800,3259246591,SE
+3259244544,3259246591,SE
3259246592,3259247615,IT
3259247616,3259247871,RO
3259247872,3259248127,SE
@@ -126808,8 +129795,8 @@
3259320056,3259320063,AT
3259320064,3259320575,GB
3259320576,3259320583,FR
-3259320584,3259326463,GB
-3259326464,3259327487,IE
+3259320584,3259326975,GB
+3259326976,3259327487,IE
3259327488,3259328190,GB
3259328191,3259328191,US
3259328192,3259328511,GB
@@ -126847,9 +129834,9 @@
3259438080,3259438335,ES
3259438336,3259438591,SE
3259438592,3259439103,NO
-3259439104,3259455359,SE
-3259455360,3259455487,NO
-3259455488,3259457279,SE
+3259439104,3259455455,SE
+3259455456,3259455471,NO
+3259455472,3259457279,SE
3259457280,3259457535,IT
3259457536,3259466239,SE
3259466240,3259466495,HU
@@ -126873,7 +129860,8 @@
3259496448,3259498495,SE
3259498496,3259541503,GB
3259541504,3259543551,NL
-3259543552,3259656191,GB
+3259543552,3259650047,GB
+3259652096,3259656191,GB
3259658240,3259760639,GB
3259760640,3259768831,DE
3259768832,3259769855,US
@@ -126884,7 +129872,7 @@
3259793408,3259794431,NL
3259794432,3259794943,US
3259794944,3259795455,NL
-3259795456,3259796479,LV
+3259795456,3259796479,US
3259796480,3259807743,DE
3259808512,3259808767,DE
3259808768,3259809791,UA
@@ -126893,7 +129881,9 @@
3259812864,3259813887,MD
3259813888,3259814399,DE
3259814400,3259814655,AT
-3259814656,3259821055,DE
+3259814656,3259818239,DE
+3259818240,3259818495,NL
+3259818496,3259821055,DE
3259821824,3259822079,AT
3259822592,3259823103,DE
3259823104,3259823615,RO
@@ -126938,7 +129928,9 @@
3260506368,3260506623,CH
3260506624,3260509439,RU
3260509440,3260509695,CH
-3260509696,3260547071,RU
+3260509696,3260520191,RU
+3260520192,3260520447,IN
+3260520448,3260547071,RU
3260547072,3260547327,DE
3260547328,3260547583,UA
3260547584,3260547839,NL
@@ -127013,6 +130005,17 @@
3260678144,3260743679,IL
3260743680,3260809215,JP
3260809216,3260874751,PL
+3260874752,3260875775,RU
+3260875776,3260876799,NL
+3260876800,3260877823,DE
+3260877824,3260878847,CZ
+3260878848,3260879871,GB
+3260879872,3260880895,NL
+3260880896,3260882943,RU
+3260882944,3260883967,SE
+3260883968,3260884991,RO
+3260884992,3260886015,IT
+3260886016,3260887039,ES
3260891136,3260892159,EE
3260892160,3260893183,DE
3260893184,3260894207,SE
@@ -127035,9 +130038,7 @@
3260940288,3261071359,DE
3261071360,3261136895,AT
3261136896,3261202431,DE
-3261202432,3261205759,FR
-3261205760,3261206015,BE
-3261206016,3261213439,FR
+3261202432,3261213439,FR
3261213440,3261213695,AF
3261213696,3261267967,FR
3261267968,3261270015,DE
@@ -127045,7 +130046,8 @@
3261271040,3261272063,DE
3261272064,3261273087,TR
3261273088,3261274111,DE
-3261274112,3261275135,RU
+3261274112,3261274367,FR
+3261274368,3261275135,RU
3261275136,3261276159,CZ
3261276160,3261278207,DE
3261278208,3261279231,NO
@@ -127065,7 +130067,9 @@
3261297920,3261298175,PL
3261298176,3261307903,DE
3261307904,3261308927,RU
-3261308928,3261333503,DE
+3261308928,3261323263,DE
+3261323264,3261325311,RU
+3261325312,3261333503,DE
3261333504,3261399039,FI
3261399040,3261472767,GB
3261472768,3261503487,RO
@@ -127075,7 +130079,7 @@
3261531904,3261532159,GB
3261532160,3261532415,SE
3261532416,3261532671,GB
-3261532672,3261532927,US
+3261532672,3261532927,SE
3261532928,3261533183,GB
3261533184,3261533439,SE
3261533440,3261533695,US
@@ -127157,7 +130161,7 @@
3261777408,3261777449,GB
3261777450,3261777451,NL
3261777452,3261777919,GB
-3261777920,3261778943,PL
+3261777920,3261778431,PL
3261778944,3261779455,RO
3261779456,3261779967,DE
3261779968,3261780479,UA
@@ -127179,12 +130183,10 @@
3261805568,3261806591,DE
3261806592,3261810687,AT
3261810688,3261811711,CZ
-3261811712,3261812735,NL
+3261811712,3261812479,CA
+3261812480,3261812735,NL
3261812736,3261812991,RU
-3261812992,3261815807,AT
-3261816064,3261816575,AT
-3261816576,3261816831,DE
-3261816832,3261820927,AT
+3261812992,3261820927,AT
3261820928,3261821183,RO
3261821184,3261821439,AT
3261821440,3261821695,NL
@@ -127241,8 +130243,8 @@
3262008832,3262009087,AT
3262009088,3262009343,UA
3262009344,3262010367,RU
-3262010368,3262010879,DE
-3262010880,3262011391,US
+3262010368,3262010623,US
+3262010624,3262011391,DE
3262011392,3262012415,JP
3262012416,3262013439,US
3262013440,3262017535,SE
@@ -127266,9 +130268,8 @@
3262030848,3262031871,FR
3262031872,3262032895,TR
3262032896,3262033919,DE
-3262033920,3262034943,FI
-3262034944,3262035455,AX
-3262035456,3262036991,FI
+3262033920,3262035199,AX
+3262035200,3262036991,FI
3262036992,3262038015,AX
3262038016,3262038271,FR
3262038528,3262038783,IL
@@ -127313,33 +130314,30 @@
3262122752,3262122815,AX
3262122816,3262124031,FI
3262124032,3262128127,DE
-3262128128,3262136319,GB
+3262128128,3262137599,GB
3262137600,3262137855,DE
-3262139392,3262140415,GB
-3262140416,3262140671,DE
+3262137856,3262141183,GB
3262141184,3262141439,DE
3262141440,3262142463,ES
-3262142464,3262142719,DE
-3262143488,3262143743,GB
+3262142464,3262143999,GB
3262144000,3262144047,DE
-3262145024,3262145279,DE
-3262145552,3262145567,DE
+3262144048,3262145615,GB
3262145616,3262145631,DE
-3262146048,3262146815,DE
-3262147584,3262147839,DE
-3262148608,3262148863,DE
-3262148880,3262148919,DE
-3262148928,3262149119,DE
-3262149120,3262149151,FR
-3262149152,3262149159,DE
-3262149168,3262149375,FR
+3262145632,3262146559,GB
+3262146560,3262146815,DE
+3262146816,3262148911,GB
+3262148912,3262148919,DE
+3262148920,3262149167,GB
+3262149168,3262149215,FR
+3262149216,3262149631,GB
3262149632,3262149887,DE
-3262150912,3262151047,DE
+3262149888,3262151071,GB
3262151072,3262151103,DE
-3262151136,3262151151,DE
-3262151168,3262151423,DE
+3262151104,3262151935,GB
3262151936,3262152191,DE
+3262152192,3262152663,GB
3262152664,3262152671,DE
+3262152672,3262152703,GB
3262152704,3262185471,AT
3262185472,3262191615,DE
3262191616,3262192639,RU
@@ -127371,7 +130369,9 @@
3262240768,3262243327,DE
3262243840,3262244863,CH
3262244864,3262246911,RU
-3262246912,3262283775,DE
+3262246912,3262271999,DE
+3262272000,3262272255,RU
+3262272256,3262283775,DE
3262283776,3262284799,RU
3262284800,3262285823,UA
3262285824,3262286847,LU
@@ -127700,7 +130700,8 @@
3262473767,3262473777,DE
3262473778,3262473778,US
3262473779,3262473780,DE
-3262473781,3262473782,US
+3262473781,3262473781,US
+3262473782,3262473782,PR
3262473783,3262473855,DE
3262473856,3262473859,US
3262473860,3262473903,DE
@@ -128775,9 +131776,7 @@
3262479430,3262479430,GB
3262479431,3262479433,DE
3262479434,3262479434,IT
-3262479435,3262479437,DE
-3262479438,3262479438,IT
-3262479439,3262479439,DE
+3262479435,3262479439,DE
3262479440,3262479440,AT
3262479441,3262479441,DK
3262479442,3262479442,IT
@@ -128994,8 +131993,7 @@
3262479766,3262479766,CH
3262479767,3262479770,DE
3262479771,3262479771,IT
-3262479772,3262479775,DE
-3262479776,3262479776,IT
+3262479772,3262479776,DE
3262479777,3262479777,BE
3262479778,3262479778,NL
3262479779,3262479782,DE
@@ -129336,7 +132334,9 @@
3262627840,3262636031,IT
3262636032,3262644223,BE
3262644224,3262648319,NL
-3262648320,3262650367,DE
+3262648320,3262648831,DE
+3262648832,3262649855,NL
+3262649856,3262650367,DE
3262650368,3262654463,NL
3262654464,3262654719,DE
3262654720,3262658303,NL
@@ -129362,7 +132362,8 @@
3262691584,3262692607,NL
3262692608,3262701567,DE
3262701568,3262703103,NL
-3262703360,3262704383,DE
+3262703360,3262703615,SE
+3262703616,3262704383,DE
3262704384,3262707807,NL
3262707808,3262707839,DE
3262707840,3262707967,NL
@@ -129389,7 +132390,17 @@
3262832640,3262840319,DE
3262840320,3262906367,NL
3262906368,3262914559,CH
-3262922752,3262923775,AT
+3262914560,3262914815,GB
+3262914816,3262915071,CH
+3262915072,3262915327,JP
+3262915328,3262915583,SG
+3262915584,3262917631,RU
+3262917632,3262918655,DE
+3262918656,3262919679,RU
+3262919680,3262920703,NL
+3262920704,3262921727,ES
+3262921728,3262922751,DE
+3262922752,3262923775,US
3262923776,3262924799,ES
3262924800,3262925823,IT
3262926336,3262954495,CH
@@ -129499,9 +132510,7 @@
3263104041,3263104041,GB
3263104042,3263107071,DE
3263107072,3263109119,US
-3263109120,3263109706,DE
-3263109707,3263109707,FR
-3263109708,3263109951,DE
+3263109120,3263109951,DE
3263109952,3263109959,FR
3263109960,3263129599,DE
3263130368,3263130623,DE
@@ -129515,9 +132524,7 @@
3263138816,3263143935,DE
3263144192,3263144447,DE
3263144960,3263145983,EE
-3263145984,3263159039,DE
-3263159040,3263159295,AT
-3263159296,3263165439,DE
+3263145984,3263165439,DE
3263165440,3263167487,FR
3263168000,3263168255,DE
3263168512,3263430655,GB
@@ -129575,8 +132582,7 @@
3263481472,3263481487,JP
3263481488,3263481503,GB
3263481504,3263481855,JP
-3263481856,3263483903,SE
-3263484416,3263496191,SE
+3263481856,3263496191,SE
3263496192,3263503103,GB
3263503104,3263503359,DE
3263503360,3263511551,GB
@@ -129642,9 +132648,13 @@
3263680512,3263690751,RU
3263690752,3263692799,SY
3263692800,3263823871,FI
-3263823872,3263886079,DE
+3263823872,3263858687,DE
+3263858688,3263858943,CN
+3263858944,3263886079,DE
3263886080,3263886335,SG
-3263886336,3263954943,DE
+3263886336,3263886591,DE
+3263886592,3263886847,CN
+3263886848,3263954943,DE
3263954944,3263979519,ES
3263979520,3263987711,DE
3263987712,3264004095,ES
@@ -129905,7 +132915,8 @@
3264606976,3264607231,BE
3264607232,3264607487,IT
3264607488,3264610303,DE
-3264610304,3264614127,FR
+3264610304,3264612351,GB
+3264612352,3264614127,FR
3264614128,3264614131,NL
3264614132,3264614399,FR
3264614400,3264614911,GB
@@ -129984,7 +132995,11 @@
3264674304,3264674815,PL
3264674816,3264675327,GB
3264675328,3264675839,RU
-3264675840,3264741375,NL
+3264675840,3264676159,NL
+3264676160,3264676223,FR
+3264676224,3264676287,NL
+3264676288,3264676351,BE
+3264676352,3264741375,NL
3264741376,3264749567,SI
3264749568,3264750079,LV
3264750080,3264750591,RU
@@ -130006,9 +133021,7 @@
3264765952,3264774143,AT
3264774144,3264782335,HU
3264782336,3264790527,AT
-3264790528,3264804607,HR
-3264804608,3264804863,SI
-3264804864,3264806911,HR
+3264790528,3264806911,HR
3264806912,3264815103,GB
3264815104,3264825343,SE
3264825856,3264826111,NL
@@ -130089,11 +133102,7 @@
3264897024,3264905215,GB
3264905216,3264913407,CY
3264913408,3264921599,GB
-3264921600,3264924671,LU
-3264924672,3264925695,FR
-3264925696,3264928255,LU
-3264928256,3264928511,FR
-3264928512,3264929791,LU
+3264921600,3264929791,LU
3264929792,3264937983,SK
3264937984,3265003519,GB
3265003520,3265005567,DE
@@ -130132,11 +133141,9 @@
3265069056,3265134591,FI
3265134592,3265134847,CH
3265134848,3265134879,BE
-3265134880,3265135017,CH
-3265135018,3265135019,BE
-3265135020,3265135039,CH
-3265135040,3265135071,BE
-3265135072,3265136127,CH
+3265134880,3265134975,CH
+3265134976,3265135103,BE
+3265135104,3265136127,CH
3265136128,3265136383,GB
3265136384,3265136463,CH
3265136464,3265136467,FR
@@ -130157,20 +133164,12 @@
3265140192,3265140735,CH
3265140736,3265141551,GB
3265141552,3265141555,IE
-3265141556,3265141775,GB
-3265141776,3265141823,CH
-3265141824,3265141839,GB
-3265141840,3265141855,CH
-3265141856,3265141887,GB
+3265141556,3265141887,GB
3265141888,3265142220,CH
3265142221,3265142221,GB
3265142222,3265142783,CH
3265142784,3265150975,MT
-3265150976,3265153023,AD
-3265153024,3265153279,ES
-3265153280,3265153535,AD
-3265153536,3265154047,ES
-3265154048,3265159167,AD
+3265150976,3265159167,AD
3265159168,3265167359,FR
3265167360,3265175551,AT
3265175552,3265183743,NL
@@ -130368,17 +133367,9 @@
3266345984,3266346495,GB
3266346496,3266346751,IT
3266346752,3266347007,FR
-3266351360,3266352607,GB
-3266352896,3266353567,GB
-3266353584,3266353591,GB
-3266353664,3266353671,GB
-3266353680,3266353687,GB
+3266347008,3266353775,GB
3266353776,3266353783,US
-3266353856,3266353863,GB
-3266353880,3266353887,GB
-3266353896,3266353903,GB
-3266353920,3266354175,GB
-3266354688,3266355199,GB
+3266353784,3266355199,GB
3266355200,3266363391,RO
3266363392,3266371583,GB
3266371584,3266379775,HU
@@ -130396,7 +133387,9 @@
3266420736,3266428927,GB
3266428928,3266437119,GR
3266437120,3266445311,GL
-3266445312,3266510847,NL
+3266445312,3266473087,NL
+3266473088,3266473215,GB
+3266473216,3266510847,NL
3266510848,3266543615,ES
3266543616,3266576383,IT
3266576384,3266578431,DE
@@ -130414,7 +133407,8 @@
3266606080,3266607103,FR
3266607104,3266616575,DE
3266617328,3266617343,GB
-3266617344,3266622463,DE
+3266617344,3266621439,DE
+3266621440,3266622463,US
3266622464,3266623487,LU
3266623488,3266624511,GB
3266625024,3266625279,DE
@@ -130443,18 +133437,20 @@
3266766848,3266772991,DK
3266772992,3266781183,IT
3266781184,3266789375,PL
-3266789376,3266797567,SM
+3266789376,3266792447,SM
+3266792448,3266792959,IT
+3266792960,3266797567,SM
3266797568,3266797823,GB
3266797824,3266798207,ES
3266798208,3266798847,GB
3266798848,3266798879,CZ
-3266798880,3266801845,GB
-3266801846,3266801846,BG
-3266801847,3266802415,GB
-3266802416,3266802423,BG
-3266802424,3266803215,GB
+3266798880,3266801343,GB
+3266801344,3266801359,BG
+3266801360,3266801663,GB
+3266801664,3266803215,BG
3266803216,3266803219,FR
-3266803220,3266804095,GB
+3266803220,3266803711,BG
+3266803712,3266804095,GB
3266804096,3266804127,NL
3266804128,3266804479,GB
3266804480,3266804735,NL
@@ -130558,11 +133554,11 @@
3267559424,3267624959,DE
3267627372,3267627375,DE
3267627408,3267627411,GB
-3267628396,3267628415,FR
+3267628032,3267629055,FR
+3267629588,3267629591,BE
3267630080,3267631103,GB
3267634176,3267635199,GB
-3267648320,3267648335,GB
-3267648402,3267648402,GB
+3267647488,3267649535,GB
3267657552,3267657555,RO
3267657560,3267657563,RO
3267657576,3267657583,RO
@@ -130600,131 +133596,17 @@
3268173824,3268182015,MT
3268182016,3268198399,PL
3268198400,3268214783,MA
-3268215584,3268215615,GB
-3268215648,3268215679,GB
-3268215712,3268215743,GB
-3268215808,3268216063,GB
-3268218112,3268218367,GB
-3268219808,3268219823,GB
-3268221440,3268221471,GB
-3268221504,3268221599,GB
-3268221696,3268221951,GB
-3268222976,3268223167,GB
-3268223200,3268223231,GB
+3268214784,3268224767,GB
3268224768,3268225023,US
-3268226368,3268226399,GB
-3268226496,3268226631,GB
-3268226640,3268226655,GB
-3268226688,3268226815,GB
-3268227328,3268227391,GB
-3268227520,3268227615,GB
-3268231168,3268231199,GB
-3268231320,3268231359,GB
-3268231392,3268231423,GB
-3268231648,3268231679,GB
-3268231744,3268231807,GB
-3268232224,3268232243,GB
-3268232352,3268232367,GB
-3268232384,3268232415,GB
-3268232480,3268232575,GB
-3268232960,3268233087,GB
-3268234176,3268234239,GB
-3268234560,3268234623,GB
-3268235008,3268235263,GB
-3268235264,3268235519,DE
-3268235520,3268235775,GB
-3268235968,3268236031,GB
-3268236192,3268236207,GB
-3268236544,3268236607,GB
-3268236672,3268236799,GB
-3268237824,3268237855,GB
-3268237904,3268237911,GB
-3268238336,3268238359,GB
-3268238384,3268238399,GB
-3268238464,3268238623,GB
-3268238632,3268238719,GB
-3268238752,3268238783,GB
-3268239584,3268240127,GB
-3268240160,3268240191,GB
-3268240384,3268240399,GB
-3268240480,3268240487,GB
-3268240688,3268240695,GB
-3268240712,3268240735,GB
-3268240744,3268240751,GB
-3268240976,3268240991,GB
-3268241008,3268241023,GB
-3268241544,3268241551,GB
-3268241640,3268241655,GB
-3268242496,3268242523,GB
-3268242880,3268243071,GB
-3268243328,3268243391,GB
-3268244776,3268244783,GB
-3268244792,3268244799,GB
-3268246272,3268246783,GB
-3268246976,3268246991,GB
-3268248320,3268248447,GB
-3268248512,3268248543,GB
-3268249600,3268251311,GB
+3268225024,3268251311,GB
3268251312,3268251327,IE
3268251328,3268251615,GB
3268251616,3268251631,CH
-3268251632,3268251647,GB
-3268254464,3268254543,GB
-3268254624,3268254639,GB
-3268254896,3268254903,GB
-3268255824,3268255863,GB
-3268255896,3268255919,GB
-3268255952,3268255959,GB
-3268255968,3268255983,GB
-3268256896,3268256959,GB
-3268257024,3268257055,GB
-3268257088,3268257119,GB
-3268257416,3268257419,GB
+3268251632,3268257431,GB
3268257432,3268257439,IT
-3268257464,3268257471,GB
-3268257488,3268257503,GB
-3268257512,3268257527,GB
-3268258560,3268258623,GB
-3268258688,3268258751,GB
-3268259520,3268259527,GB
-3268259544,3268259551,GB
-3268259560,3268259575,GB
-3268259808,3268259815,GB
-3268259832,3268260095,GB
-3268260352,3268260383,GB
-3268260416,3268260447,GB
-3268260512,3268260607,GB
-3268260640,3268260647,GB
-3268261936,3268261951,GB
-3268262768,3268262783,GB
-3268262880,3268262887,GB
-3268263232,3268263263,GB
-3268263776,3268263783,GB
-3268264736,3268264767,GB
-3268265416,3268265431,GB
-3268265984,3268266495,GB
-3268266984,3268266991,GB
-3268267536,3268267551,GB
-3268267584,3268267599,GB
-3268267616,3268267647,GB
-3268267744,3268267775,GB
-3268267952,3268267959,GB
-3268272728,3268272735,GB
-3268273024,3268273151,GB
-3268274112,3268274175,GB
-3268274456,3268274459,GB
-3268274528,3268274543,GB
-3268274560,3268274591,GB
-3268275984,3268275999,GB
-3268276640,3268276655,GB
-3268276672,3268276687,GB
-3268276864,3268276895,GB
-3268277056,3268277119,GB
-3268277760,3268278015,GB
-3268278464,3268278495,GB
-3268280064,3268280319,GB
-3268280320,3268334335,FR
-3268334336,3268334591,RE
+3268257440,3268280319,GB
+3268280320,3268334079,FR
+3268334080,3268334591,RE
3268334592,3268345855,FR
3268345856,3268411391,GB
3268411392,3268476927,AT
@@ -130734,8 +133616,7 @@
3268673536,3268739071,CZ
3268739072,3268739327,DE
3268739328,3268739583,PL
-3268739584,3268739839,DE
-3268739840,3268740095,GB
+3268739584,3268740095,DE
3268740096,3268740351,IL
3268740352,3268740607,DE
3268740608,3268740863,RO
@@ -130777,7 +133658,9 @@
3268771328,3268771839,NL
3268771840,3268788223,NO
3268788224,3268804607,CZ
-3268804608,3268870143,FR
+3268804608,3268869375,FR
+3268869376,3268869631,PF
+3268869632,3268870143,FR
3268870144,3268935679,FI
3268935680,3269066751,GB
3269066752,3269075719,SE
@@ -130785,105 +133668,68 @@
3269075728,3269132287,SE
3269132288,3269197823,GR
3269197824,3269263359,ES
-3269264640,3269264895,DE
-3269265856,3269265919,DE
-3269265920,3269266175,GB
+3269263360,3269266687,GB
3269266688,3269266943,DE
-3269266944,3269267455,GB
-3269272576,3269272583,DE
+3269266944,3269272703,GB
3269272704,3269272831,DE
-3269272832,3269272847,GB
-3269272848,3269272863,NL
-3269272864,3269272887,GB
-3269272896,3269273087,NL
-3269273088,3269273343,DE
-3269273600,3269273855,GB
-3269273856,3269275647,DE
-3269275904,3269276159,DE
-3269276160,3269276415,GB
-3269277184,3269277695,FR
+3269272832,3269274623,GB
+3269274624,3269274879,DE
+3269274880,3269275391,GB
+3269275392,3269275647,DE
+3269275648,3269277695,GB
3269277696,3269278719,NL
-3269279232,3269279487,NL
-3269279672,3269279679,CH
-3269279744,3269280255,GB
+3269278720,3269280255,GB
3269280256,3269280767,NL
3269280768,3269281023,GB
3269281024,3269281279,NL
-3269281280,3269281535,FR
-3269282048,3269282303,DE
-3269282304,3269282559,GB
+3269281280,3269281343,FR
+3269281344,3269282559,GB
3269282560,3269282815,FR
-3269283328,3269283583,DE
-3269283872,3269283903,DE
-3269284096,3269284351,GB
-3269284864,3269285079,FR
-3269285088,3269285135,DE
-3269285136,3269285151,GB
-3269285152,3269285215,DE
-3269285216,3269285311,FR
-3269285312,3269285327,DE
+3269282816,3269284863,GB
+3269284864,3269285055,FR
+3269285056,3269285183,GB
+3269285184,3269285215,DE
+3269285216,3269285247,FR
+3269285248,3269285335,GB
3269285336,3269285343,FR
-3269285344,3269285375,GB
-3269285376,3269285631,FR
+3269285344,3269285631,GB
3269285632,3269285887,DE
-3269286400,3269286479,DE
-3269288688,3269288695,DE
+3269285888,3269286463,GB
+3269286464,3269286479,DE
+3269286480,3269288703,GB
3269288704,3269288959,DE
-3269290560,3269290575,DE
-3269290592,3269290687,DE
-3269290736,3269290743,DE
-3269291264,3269291519,DE
-3269291520,3269291567,GB
-3269291584,3269291647,GB
-3269291776,3269292287,ES
-3269293120,3269293151,DE
-3269293208,3269293215,DE
-3269293376,3269293391,DE
-3269293856,3269293887,DE
-3269293920,3269293951,DE
-3269294080,3269295103,GB
-3269296232,3269296235,DE
-3269296368,3269296375,DE
-3269297152,3269297663,GB
-3269298664,3269298671,DE
+3269288960,3269290559,GB
+3269290560,3269290567,DE
+3269290568,3269303039,GB
3269303040,3269303295,DE
-3269303296,3269303423,GB
-3269303552,3269303679,DE
+3269303296,3269305343,GB
3269305344,3269305351,DE
+3269305352,3269305855,GB
3269305856,3269306879,DE
-3269307648,3269307903,DE
-3269310656,3269310671,DE
-3269310976,3269311231,DE
-3269311872,3269311999,DE
-3269313792,3269314175,DE
-3269314192,3269314199,DE
-3269315584,3269315591,DE
-3269317632,3269317663,GB
+3269306880,3269317663,GB
3269317664,3269317671,IE
-3269317672,3269317887,GB
-3269317888,3269318399,DE
-3269318400,3269318655,GB
-3269318656,3269318983,DE
-3269319008,3269319047,DE
+3269317672,3269319055,GB
3269319056,3269319071,DE
-3269319136,3269320447,DE
-3269320704,3269321727,GB
-3269322240,3269322495,DE
-3269322656,3269322679,DE
-3269322752,3269323263,DE
-3269326848,3269326855,DE
-3269326960,3269326971,DE
-3269326992,3269326999,DE
-3269327024,3269327039,DE
-3269327056,3269327103,DE
-3269327760,3269327775,DE
-3269327864,3269328383,DE
-3269328896,3269394431,GB
+3269319072,3269319167,GB
+3269319168,3269319679,DE
+3269319680,3269320191,GB
+3269320192,3269320447,DE
+3269320448,3269322751,GB
+3269322752,3269323007,DE
+3269323008,3269326963,GB
+3269326964,3269326967,DE
+3269326968,3269327055,GB
+3269327056,3269327071,DE
+3269327072,3269327871,GB
+3269327872,3269328383,DE
+3269328384,3269394431,GB
3269394432,3269419007,AU
3269419008,3269435391,GB
3269435392,3269443583,AU
3269443584,3269459967,GB
-3269459968,3269525503,ES
+3269459968,3269466367,ES
+3269466368,3269466623,DE
+3269466624,3269525503,ES
3269525504,3269591039,IR
3269591040,3269621759,RU
3269621760,3269623295,BY
@@ -131172,15 +134018,17 @@
3271425024,3271425279,DE
3271425280,3271425535,DK
3271425536,3271426047,DE
-3271426048,3271491583,FR
+3271426048,3271473151,FR
+3271473152,3271475199,NC
+3271475200,3271491583,FR
3271491584,3271557119,DK
3271557120,3271589887,BE
3271589888,3271688191,NO
+3271688192,3271691775,GB
3271691776,3271692031,US
-3271692032,3271692287,GB
+3271692032,3271694079,GB
3271694080,3271694335,IE
-3271694592,3271695103,GB
-3271696384,3271698431,GB
+3271694336,3271698431,GB
3271704576,3271712767,RU
3271712768,3271720959,LV
3271720960,3271729151,GB
@@ -131206,8 +134054,7 @@
3271748096,3271748607,GR
3271748608,3271749119,UA
3271749120,3271750143,RU
-3271750656,3271750911,IE
-3271750912,3271751167,GB
+3271750656,3271751167,GB
3271751168,3271751679,RO
3271751680,3271752191,NL
3271752192,3271752703,GB
@@ -131240,7 +134087,7 @@
3271811072,3271812095,UA
3271812096,3271813119,ES
3271813120,3271814143,PL
-3271814144,3271815167,UA
+3271814144,3271815167,SA
3271815168,3271816191,RU
3271816192,3271817215,UA
3271817216,3271818239,DE
@@ -131290,12 +134137,16 @@
3271933184,3271933439,GB
3271933440,3271933695,SE
3271933696,3271933951,DE
-3271933952,3272015871,FR
-3272015872,3272016895,US
+3271933952,3272001535,FR
+3272001536,3272002559,GP
+3272002560,3272015871,FR
+3272015872,3272016127,GB
+3272016128,3272016895,US
3272016896,3272017919,DE
3272017920,3272018943,IQ
-3272018944,3272019455,ES
-3272019456,3272019967,CZ
+3272018944,3272019455,CZ
+3272019456,3272019711,UA
+3272019712,3272019967,UZ
3272019968,3272020991,IT
3272020992,3272024063,DK
3272024064,3272032255,IE
@@ -131303,7 +134154,9 @@
3272040448,3272048639,FR
3272048640,3272056831,NL
3272056832,3272065023,RU
-3272065024,3272073727,GB
+3272065024,3272067071,GB
+3272067072,3272069119,CZ
+3272069120,3272073727,GB
3272073728,3272073855,IE
3272073856,3272081407,GB
3272081408,3272087551,PT
@@ -131368,90 +134221,53 @@
3272213440,3272213471,ES
3272213472,3272213487,CY
3272213488,3272213503,ES
-3272213504,3272213567,IT
-3272213568,3272213575,GB
-3272213576,3272213583,IE
-3272213584,3272213599,DE
-3272213600,3272213615,IT
-3272213632,3272213639,NL
-3272213656,3272213663,IT
+3272213504,3272213671,GB
3272213672,3272213679,IT
-3272213752,3272213759,IT
+3272213680,3272213759,GB
3272213760,3272214015,NL
-3272214016,3272214271,ES
-3272214272,3272214303,GB
-3272214336,3272214351,GB
-3272214352,3272214407,FR
-3272214432,3272214463,SE
+3272214016,3272214399,GB
+3272214400,3272214407,FR
+3272214408,3272214527,GB
3272214528,3272215039,FR
3272215040,3272215295,ES
3272215296,3272215551,NL
3272215552,3272215807,CH
-3272215808,3272215823,NL
-3272215872,3272215879,BE
-3272215884,3272215919,CH
-3272215920,3272215935,NL
-3272215936,3272215999,GB
+3272215808,3272215999,GB
3272216000,3272216007,IT
-3272216016,3272216031,DE
-3272216032,3272216039,IT
-3272216040,3272216047,GB
+3272216008,3272216047,GB
3272216048,3272216055,IT
+3272216056,3272216215,GB
3272216216,3272216223,FR
+3272216224,3272216263,GB
3272216264,3272216271,IT
+3272216272,3272216479,GB
3272216480,3272216480,IR
-3272216992,3272217007,GB
-3272217088,3272217151,GB
-3272217152,3272217159,BE
-3272217216,3272217279,BE
-3272217280,3272217303,DE
-3272217304,3272217327,BE
-3272217344,3272217599,GB
-3272217600,3272217631,CH
-3272217856,3272217875,ES
-3272217880,3272217887,IT
-3272217896,3272217919,ES
-3272217920,3272217983,DE
+3272216481,3272217311,GB
+3272217312,3272217327,BE
+3272217328,3272217911,GB
+3272217912,3272217919,ES
+3272217920,3272217983,GB
3272217984,3272218079,ES
-3272218112,3272218623,GB
-3272218632,3272218639,RU
-3272218688,3272218719,DE
-3272218752,3272218879,GB
+3272218080,3272218879,GB
3272218880,3272219135,BE
-3272219136,3272219391,NL
-3272219392,3272219647,GB
+3272219136,3272219647,GB
3272219648,3272219903,FR
-3272219904,3272220159,DE
-3272220672,3272221183,GB
-3272221184,3272221439,NL
-3272221440,3272221447,SE
-3272221448,3272221455,NO
-3272221456,3272221463,SE
-3272221472,3272221495,SE
-3272221504,3272221519,SE
+3272219904,3272221695,GB
3272221696,3272221951,NL
3272221952,3272222207,GB
3272222208,3272222463,ES
3272222464,3272222719,NL
-3272222720,3272223015,GB
-3272223024,3272223039,GB
+3272222720,3272223231,GB
3272223232,3272223487,NL
-3272223488,3272223503,SG
-3272223744,3272224511,GB
-3272224768,3272225023,GB
-3272225280,3272225535,IT
-3272225536,3272225791,GB
-3272225792,3272225815,IT
-3272225856,3272225919,GB
+3272223488,3272225279,GB
+3272225280,3272225815,IT
+3272225816,3272225919,GB
3272225920,3272226047,IT
-3272226048,3272226815,FR
-3272226816,3272227071,GB
-3272227072,3272227327,PT
+3272226048,3272226303,GB
+3272226304,3272226559,FR
+3272226560,3272227327,GB
3272227328,3272227359,US
-3272227360,3272227511,GB
-3272227520,3272227583,GB
-3272227584,3272227839,FR
-3272227840,3272228351,ES
+3272227360,3272228351,GB
3272228352,3272228607,FR
3272228608,3272228639,NL
3272228640,3272228671,IT
@@ -131584,7 +134400,9 @@
3272647168,3272647385,IL
3272647386,3272647386,DE
3272647387,3272647679,IL
-3272647680,3272654847,GB
+3272647680,3272648703,GB
+3272648704,3272650751,IE
+3272650752,3272654847,GB
3272654848,3272663039,FI
3272663040,3272671231,AT
3272671232,3272736767,SE
@@ -131616,7 +134434,7 @@
3272896000,3272896511,PL
3272896512,3272897535,DE
3272897536,3272898047,FI
-3272898048,3272898559,UA
+3272898048,3272898559,RU
3272898560,3272899071,DE
3272899328,3272899583,PL
3272899584,3272900095,UA
@@ -131737,9 +134555,7 @@
3273195008,3273195519,RU
3273195520,3273200387,FR
3273200388,3273200388,GB
-3273200389,3273225727,FR
-3273225728,3273225983,GF
-3273225984,3273261055,FR
+3273200389,3273261055,FR
3273261056,3273261567,NO
3273261568,3273262079,BE
3273262080,3273262591,LU
@@ -131764,173 +134580,93 @@
3273293824,3273302015,MK
3273302016,3273310207,RU
3273310208,3273318399,AT
-3273318400,3273326591,GB
+3273318400,3273326983,GB
3273326984,3273326987,DE
-3273326992,3273327047,DE
-3273327104,3273327295,DE
+3273326988,3273327287,GB
+3273327288,3273327295,DE
+3273327296,3273327335,GB
3273327336,3273327359,DE
+3273327360,3273327439,GB
3273327440,3273327447,IE
-3273327488,3273327495,GB
+3273327448,3273327519,GB
3273327520,3273327551,IE
-3273327552,3273327583,GB
-3273328512,3273328639,DE
-3273328640,3273329199,GB
-3273329200,3273329215,DE
-3273329216,3273329279,GB
-3273329312,3273329327,GB
-3273329416,3273329423,GB
-3273329424,3273329439,DE
-3273329440,3273329599,GB
-3273329632,3273329639,GB
-3273329664,3273329823,GB
-3273329832,3273329887,GB
-3273329904,3273330111,GB
-3273330128,3273330171,GB
+3273327552,3273330175,GB
3273330176,3273330183,IR
-3273330232,3273330235,GB
-3273330288,3273330295,IE
+3273330184,3273330303,GB
3273330304,3273330431,IE
-3273330496,3273330519,GB
-3273330528,3273330551,GB
-3273330560,3273330951,GB
-3273330960,3273331191,GB
-3273331712,3273331743,GB
-3273331752,3273331791,GB
-3273331808,3273331823,GB
-3273331840,3273331887,GB
-3273331904,3273331967,GB
-3273331968,3273332031,DE
-3273332032,3273332095,GB
-3273332096,3273332223,DE
-3273332224,3273332231,GB
-3273332240,3273332255,GB
-3273332264,3273332479,GB
-3273332544,3273332575,DE
-3273332608,3273332671,DE
-3273333056,3273333119,DE
-3273334272,3273334671,DE
+3273330432,3273334527,GB
+3273334528,3273334655,DE
+3273334656,3273334719,GB
3273334720,3273334783,DE
-3273334784,3273335039,AE
-3273335296,3273335807,GB
-3273335936,3273335999,DE
-3273336848,3273336863,DE
-3273336864,3273336871,GB
-3273336880,3273336895,DE
-3273336960,3273337087,DE
-3273337856,3273338111,DE
+3273334784,3273338623,GB
3273338624,3273338879,DE
-3273339136,3273339391,DE
-3273339392,3273339919,GB
-3273339920,3273339943,DE
-3273339944,3273339955,GB
-3273339960,3273339967,GB
-3273339984,3273340095,GB
-3273340096,3273340111,GI
-3273340112,3273340119,GB
-3273340160,3273340415,GB
-3273340928,3273341711,FR
-3273341752,3273341823,FR
-3273341856,3273341951,FR
-3273342022,3273342022,GB
-3273342034,3273342034,GB
-3273342080,3273342095,GB
-3273342192,3273342207,GB
-3273342208,3273342231,AE
-3273342240,3273342255,AE
-3273342464,3273342975,DE
-3273342976,3273343999,GB
+3273338880,3273340927,GB
+3273340928,3273341439,FR
+3273341440,3273341751,GB
+3273341752,3273341759,FR
+3273341760,3273341835,GB
+3273341836,3273341836,DE
+3273341837,3273341855,GB
+3273341856,3273341887,FR
+3273341888,3273342463,GB
+3273342464,3273342719,DE
+3273342720,3273343999,GB
3273344000,3273344511,DE
+3273344512,3273345023,GB
3273345024,3273345279,DE
-3273346560,3273346815,OM
-3273346816,3273347071,DE
-3273347584,3273347839,GB
-3273347840,3273348351,DE
-3273349120,3273349631,DE
-3273350272,3273350287,DE
-3273350336,3273350351,DE
-3273351168,3273351423,GB
-3273351424,3273351455,DE
-3273351504,3273351519,DE
-3273351872,3273351903,DE
-3273351936,3273352191,DE
-3273352928,3273352959,DE
-3273352992,3273353023,DE
-3273357312,3273358335,GB
-3273359888,3273359903,DE
-3273360016,3273360079,DE
-3273361472,3273361535,DE
-3273361632,3273361663,DE
-3273361792,3273361823,DE
+3273345280,3273347839,GB
+3273347840,3273348095,DE
+3273348096,3273350343,GB
+3273350344,3273350351,DE
+3273350352,3273361855,GB
3273361856,3273361919,DE
-3273362048,3273362175,DE
+3273361920,3273362143,GB
+3273362144,3273362175,DE
+3273362176,3273362239,GB
3273362240,3273362255,DE
-3273363208,3273363211,DE
-3273363328,3273363391,DE
-3273363456,3273364479,GB
-3273364608,3273364735,DE
-3273364992,3273365247,DE
-3273365504,3273365519,NL
-3273365520,3273365543,GB
-3273365544,3273365759,NL
-3273365760,3273365767,GB
+3273362256,3273363327,GB
+3273363328,3273363359,DE
+3273363360,3273365887,GB
3273365888,3273366015,FR
3273366016,3273366527,DE
-3273366528,3273367551,GB
-3273367552,3273367567,DE
+3273366528,3273368063,GB
3273368064,3273368575,DE
-3273369344,3273369855,DE
-3273369872,3273369903,FR
+3273368576,3273369343,GB
+3273369344,3273369599,DE
+3273369600,3273369887,GB
+3273369888,3273369895,FR
+3273369896,3273369911,GB
3273369912,3273369919,FR
-3273369976,3273369983,FR
+3273369920,3273370031,GB
3273370032,3273370039,FR
+3273370040,3273370047,GB
3273370048,3273370063,FR
-3273370624,3273371135,DE
-3273371712,3273371743,DE
-3273371760,3273371775,DE
+3273370064,3273371807,GB
3273371808,3273371823,DE
-3273371872,3273371875,DE
-3273372000,3273372055,DE
+3273371824,3273372095,GB
3273372096,3273372159,DE
-3273372672,3273372927,GB
+3273372160,3273372927,GB
3273372928,3273373567,DE
-3273373568,3273374847,GB
-3273374856,3273374863,GB
-3273374896,3273374903,GB
-3273374928,3273374931,GB
-3273375104,3273375231,GB
-3273375232,3273375551,DE
-3273375744,3273375871,DE
-3273376000,3273376255,DE
-3273376536,3273376543,DE
-3273377792,3273378095,DE
-3273378560,3273378815,DE
-3273381888,3273382143,DE
-3273382144,3273382399,GB
-3273382400,3273382463,DE
-3273382480,3273382591,DE
-3273382640,3273382687,DE
-3273384192,3273384703,DE
-3273384960,3273385215,DE
-3273385280,3273385343,DE
+3273373568,3273377791,GB
+3273377792,3273378047,DE
+3273378048,3273382671,GB
+3273382672,3273382687,DE
+3273382688,3273384191,GB
+3273384192,3273384447,DE
+3273384448,3273385471,GB
3273385472,3273385727,DE
-3273385760,3273385791,DE
-3273385856,3273385919,DE
-3273387056,3273387071,DE
-3273387216,3273387231,DE
+3273385728,3273387263,GB
3273387264,3273387519,DE
-3273387552,3273387583,DE
-3273388160,3273388223,DE
-3273388800,3273388807,DE
-3273388816,3273388863,DE
-3273388872,3273388879,DE
-3273388904,3273388911,DE
-3273388912,3273388927,GB
-3273390080,3273390111,DE
+3273387520,3273390111,GB
3273390112,3273390143,US
3273390144,3273390207,DE
+3273390208,3273390367,GB
3273390368,3273390399,DE
-3273391104,3273391359,DE
-3273391488,3273391615,DE
+3273390400,3273391103,GB
+3273391104,3273391231,DE
+3273391232,3273391327,GB
+3273391328,3273391343,DE
+3273391344,3273392127,GB
3273392128,3273392639,PL
3273392640,3273393663,RO
3273394176,3273394687,RO
@@ -131966,17 +134702,22 @@
3273523200,3273588735,DE
3273588736,3273687039,IT
3273687040,3273719807,DE
-3273719808,3273727079,NL
-3273727080,3273727088,GB
+3273719808,3273725951,NL
+3273725952,3273727088,GB
3273727089,3273727095,ES
3273727096,3273727103,DE
-3273727104,3273727119,NL
+3273727104,3273727119,GB
3273727120,3273727127,PT
3273727128,3273727135,FI
3273727136,3273727143,NO
3273727144,3273727151,CZ
3273727152,3273727167,IT
-3273727168,3273729023,NL
+3273727168,3273727999,GB
+3273728000,3273728511,NL
+3273728512,3273728590,GB
+3273728591,3273728592,NL
+3273728593,3273728767,GB
+3273728768,3273729023,NL
3273732096,3273736191,GB
3273736192,3273744383,FR
3273744384,3273752575,GB
@@ -132051,7 +134792,9 @@
3273883648,3273916415,NL
3273916416,3273932799,IT
3273932800,3273940991,DE
-3273940992,3273947135,GB
+3273940992,3273943039,GB
+3273943040,3273945087,DE
+3273945088,3273947135,GB
3273947136,3273949183,DE
3273949184,3273981951,FR
3273981952,3274048511,DE
@@ -132197,90 +134940,7 @@
3274424320,3274435711,SE
3274435712,3274435839,US
3274435840,3274440703,SE
-3274442752,3274443263,GB
-3274443520,3274443647,GB
-3274443712,3274443775,GB
-3274443808,3274444031,GB
-3274446336,3274447871,GB
-3274448384,3274448639,GB
-3274448896,3274449663,GB
-3274449920,3274450231,GB
-3274450248,3274450367,GB
-3274450376,3274450391,GB
-3274450408,3274450415,GB
-3274450432,3274450591,GB
-3274450656,3274450687,GB
-3274451200,3274452255,GB
-3274452264,3274452311,GB
-3274452320,3274452335,GB
-3274452344,3274452367,GB
-3274452384,3274452391,GB
-3274452400,3274452423,GB
-3274452432,3274452439,GB
-3274452448,3274452455,GB
-3274452464,3274452471,GB
-3274452496,3274452543,GB
-3274452560,3274452575,GB
-3274452656,3274452703,GB
-3274452736,3274452927,GB
-3274452992,3274453767,GB
-3274453784,3274453791,GB
-3274453800,3274453847,GB
-3274453864,3274453871,GB
-3274453888,3274453903,GB
-3274453920,3274453935,GB
-3274453944,3274453951,GB
-3274453960,3274453975,GB
-3274453984,3274453991,GB
-3274454000,3274454271,GB
-3274454656,3274455311,GB
-3274455328,3274455335,GB
-3274455344,3274455351,GB
-3274455360,3274455375,GB
-3274455384,3274455391,GB
-3274455400,3274455423,GB
-3274455432,3274455439,GB
-3274455448,3274455503,GB
-3274455520,3274455535,GB
-3274455744,3274455807,GB
-3274455872,3274455935,GB
-3274455968,3274456359,GB
-3274456368,3274456375,GB
-3274456384,3274456391,GB
-3274456400,3274456407,GB
-3274456416,3274456447,GB
-3274456456,3274456511,GB
-3274456528,3274456535,GB
-3274456544,3274456559,GB
-3274456568,3274460223,GB
-3274460416,3274462207,GB
-3274462464,3274465023,GB
-3274465152,3274466351,GB
-3274466368,3274466399,GB
-3274466416,3274466463,GB
-3274466560,3274466735,GB
-3274466744,3274466763,GB
-3274466768,3274466783,GB
-3274466816,3274467099,GB
-3274467104,3274467307,GB
-3274467328,3274470383,GB
-3274470400,3274470535,GB
-3274470656,3274471423,GB
-3274471536,3274471615,GB
-3274471680,3274471935,GB
-3274472960,3274483711,GB
-3274489600,3274489855,GB
-3274490176,3274490895,GB
-3274490912,3274491023,GB
-3274491040,3274491199,GB
-3274491208,3274491247,GB
-3274491256,3274491295,GB
-3274491312,3274491319,GB
-3274491328,3274491335,GB
-3274491344,3274491383,GB
-3274491392,3274504447,GB
-3274505728,3274505791,GB
-3274505793,3274505855,GB
+3274440704,3274506239,GB
3274506240,3274571775,IT
3274571776,3274579967,GR
3274579968,3274580991,UA
@@ -132297,10 +134957,7 @@
3274604544,3274612735,TR
3274612736,3274620927,RU
3274620928,3274629119,FR
-3274629120,3274635263,LU
-3274635264,3274635519,FR
-3274635520,3274635775,LU
-3274635776,3274637311,FR
+3274629120,3274637311,LU
3274637312,3274670079,CZ
3274670080,3274686463,DK
3274686464,3274686719,RU
@@ -132388,10 +135045,9 @@
3274842112,3274850303,DK
3274850304,3274855423,GB
3274855424,3274855935,AT
-3274855936,3274864639,GB
-3274864640,3274865663,RU
-3274865664,3274866175,GB
-3274866176,3274866687,RU
+3274855936,3274866175,GB
+3274866176,3274866431,RU
+3274866432,3274866687,GB
3274866688,3274883071,DE
3274883072,3274899455,EE
3274899456,3274902399,DE
@@ -132554,15 +135210,14 @@
3274964896,3274964927,NL
3274964928,3274964991,GB
3274964992,3275030527,DE
-3275030528,3275096063,ES
+3275030528,3275095839,ES
+3275095840,3275095871,BE
+3275095872,3275096063,ES
3275096064,3275104255,RU
-3275104256,3275104256,DE
-3275104257,3275104767,RU
-3275104768,3275105279,DE
+3275104256,3275105279,DE
3275105280,3275105791,GB
3275105792,3275106303,NL
-3275106304,3275106815,RU
-3275106816,3275107327,UA
+3275106304,3275107327,RU
3275107328,3275107839,BG
3275107840,3275108351,PL
3275108352,3275108863,FR
@@ -132598,182 +135253,25 @@
3275399168,3275407359,AT
3275407360,3275415551,GB
3275415552,3275423743,UA
-3275423744,3275423751,GB
-3275423808,3275423839,GB
-3275423872,3275424295,GB
-3275424432,3275424439,GB
-3275424480,3275424487,GB
-3275424496,3275424639,GB
-3275424648,3275424703,GB
-3275424712,3275424743,GB
-3275424752,3275424863,GB
-3275424904,3275424911,GB
-3275424960,3275424975,GB
-3275424992,3275425031,GB
-3275425040,3275425063,GB
-3275425072,3275425135,GB
-3275425144,3275425303,GB
-3275425328,3275425343,GB
-3275425552,3275425559,GB
-3275425568,3275425583,GB
-3275425792,3275426559,GB
-3275426576,3275427103,GB
-3275427112,3275427263,GB
-3275427296,3275427599,GB
-3275427616,3275427715,GB
-3275427728,3275428367,GB
-3275428376,3275428399,GB
-3275428416,3275428447,GB
-3275428608,3275428863,GB
-3275429888,3275430143,GB
-3275430592,3275430631,GB
-3275430656,3275430911,GB
-3275431936,3275432863,GB
-3275432872,3275432883,GB
-3275433984,3275436543,GB
-3275436800,3275438615,GB
-3275438648,3275438655,GB
-3275438672,3275438847,GB
-3275439104,3275439447,GB
-3275439460,3275439463,GB
-3275439472,3275439679,GB
-3275439688,3275439695,GB
-3275439712,3275439839,GB
-3275439872,3275439935,GB
-3275439944,3275439951,GB
-3275439968,3275440895,GB
-3275441152,3275441407,GB
-3275441424,3275441439,GB
-3275441472,3275441567,GB
-3275441600,3275441823,GB
-3275441832,3275441835,GB
-3275441840,3275442687,GB
-3275442720,3275442723,GB
-3275443200,3275443227,GB
-3275443230,3275443230,GB
-3275443232,3275443239,GB
-3275443248,3275443407,GB
-3275443424,3275443727,GB
-3275443760,3275443775,GB
-3275443840,3275443967,GB
-3275444224,3275444735,GB
-3275446272,3275446783,GB
-3275446800,3275446815,GB
-3275446848,3275446911,GB
-3275446976,3275447039,GB
-3275447056,3275447087,GB
-3275447104,3275447135,GB
-3275448320,3275449023,GB
-3275449088,3275449471,GB
-3275449488,3275449519,GB
-3275449520,3275449527,FR
-3275449528,3275449559,GB
-3275449584,3275449887,GB
-3275449904,3275449911,GB
-3275449920,3275449927,GB
-3275450048,3275450071,GB
-3275450080,3275450207,GB
-3275450224,3275450879,GB
-3275451232,3275451263,GB
-3275451392,3275451663,GB
-3275451680,3275451711,GB
-3275451720,3275451727,GB
-3275451744,3275451767,GB
-3275451776,3275451779,GB
-3275451784,3275451791,GB
-3275452416,3275453023,GB
-3275453120,3275453151,GB
-3275453168,3275453399,GB
-3275453408,3275453839,GB
-3275453848,3275453919,GB
-3275453936,3275453951,GB
-3275453984,3275454063,GB
-3275454112,3275454127,GB
-3275454144,3275454159,GB
-3275454168,3275454175,GB
-3275454192,3275454255,GB
-3275454272,3275454303,GB
-3275454336,3275454383,GB
-3275454432,3275455231,GB
-3275455248,3275455295,GB
-3275455360,3275455487,GB
-3275455744,3275456391,GB
-3275456416,3275458303,GB
+3275423744,3275425583,GB
+3275425592,3275432895,GB
+3275432928,3275458303,GB
3275458304,3275458559,FK
3275458560,3275459071,IE
+3275459072,3275459599,GB
3275459600,3275459615,IE
+3275459616,3275459839,GB
3275459840,3275460095,IE
-3275460096,3275460223,GB
-3275460224,3275460239,IE
-3275460288,3275460295,GB
+3275460096,3275460239,GB
+3275460256,3275460351,GB
3275460352,3275460607,IE
-3275460608,3275463183,GB
-3275463192,3275463199,GB
-3275463216,3275463231,GB
-3275463248,3275463279,GB
-3275463296,3275463359,GB
-3275463392,3275463423,GB
-3275463456,3275463495,GB
-3275463504,3275463523,GB
-3275463528,3275463599,GB
-3275463616,3275463635,GB
-3275463640,3275464031,GB
-3275464032,3275464047,IE
-3275464048,3275468655,GB
+3275460608,3275464031,GB
+3275464032,3275464063,IE
+3275464064,3275468655,GB
3275468656,3275468671,IE
-3275468672,3275473151,GB
-3275473232,3275473295,GB
-3275473304,3275473311,GB
-3275473328,3275473343,GB
-3275473352,3275473359,GB
-3275473368,3275473647,GB
-3275473664,3275473895,GB
-3275473904,3275474047,GB
-3275474088,3275474303,GB
-3275474368,3275474703,GB
-3275474720,3275474735,GB
-3275474752,3275474887,GB
-3275474896,3275474911,GB
-3275474936,3275474951,GB
-3275474960,3275474975,GB
-3275474984,3275475039,GB
-3275475044,3275475287,GB
-3275475292,3275475295,GB
-3275475328,3275475759,GB
-3275475800,3275475807,GB
-3275475824,3275475831,GB
-3275475840,3275475855,GB
-3275475876,3275475879,GB
-3275475968,3275476631,GB
-3275476640,3275476687,GB
-3275476704,3275476735,GB
-3275476944,3275476959,GB
-3275476976,3275477015,GB
-3275477040,3275477087,GB
-3275477104,3275477135,GB
-3275477160,3275477167,GB
-3275477184,3275477191,GB
-3275477200,3275477231,GB
-3275477440,3275477567,GB
-3275477760,3275478271,GB
-3275478528,3275481087,GB
+3275468672,3275481087,GB
3275481344,3275481599,GB
-3275482112,3275482431,GB
-3275482448,3275482455,GB
-3275482480,3275483647,GB
-3275484160,3275484415,GB
-3275485184,3275485215,GB
-3275485224,3275485231,GB
-3275485248,3275485375,GB
-3275485408,3275485431,GB
-3275485440,3275485759,GB
-3275485840,3275485855,GB
-3275485936,3275485936,GB
-3275486208,3275487231,GB
-3275487240,3275487243,CZ
-3275487248,3275487263,CZ
-3275488768,3275489279,CZ
-3275489280,3275497471,GB
+3275482112,3275497471,GB
3275497472,3275505663,DE
3275505664,3275506175,PL
3275506176,3275506687,UA
@@ -132849,6 +135347,7 @@
3275551744,3275552767,RU
3275552768,3275553791,LV
3275553792,3275554815,FI
+3275554816,3275563007,ES
3275563584,3275563647,CH
3275588448,3275588463,BE
3275590656,3275590911,BE
@@ -132972,7 +135471,7 @@
3275908864,3275909119,PL
3275909376,3275909631,UA
3275909632,3275909887,EE
-3275909888,3275910143,BE
+3275909888,3275910143,SI
3275910144,3275910399,RU
3275910400,3275910655,DK
3275910656,3275910911,UA
@@ -133013,38 +135512,26 @@
3275931648,3275939839,UA
3275939840,3275948031,GB
3275948032,3276013567,SE
-3276013568,3276014463,GB
-3276014464,3276014479,FR
-3276014480,3276014591,GB
-3276014592,3276014847,FR
+3276013568,3276014239,GB
+3276014240,3276014247,FR
+3276014248,3276014335,GB
+3276014336,3276014847,FR
3276014848,3276015055,GB
3276015056,3276015063,FR
3276015064,3276015103,GB
-3276015104,3276018175,FR
-3276018176,3276018687,GB
-3276018688,3276020991,FR
-3276020992,3276021007,GB
-3276021008,3276021015,FR
-3276021016,3276021055,GB
-3276021056,3276021071,FR
-3276021072,3276021095,GB
-3276021096,3276021096,FR
-3276021097,3276021247,GB
-3276021248,3276024831,FR
-3276024832,3276025855,GB
-3276025856,3276028159,FR
+3276015104,3276021119,FR
+3276021120,3276021247,GB
+3276021248,3276028159,FR
3276028160,3276028279,GB
3276028280,3276028287,FR
3276028288,3276028383,GB
3276028384,3276028391,FR
-3276028392,3276028432,GB
-3276028433,3276028433,FR
-3276028434,3276028543,GB
+3276028392,3276028543,GB
3276028544,3276028671,FR
3276028672,3276028927,GB
-3276028928,3276030463,FR
-3276030464,3276031487,GB
-3276031488,3276031999,FR
+3276028928,3276029311,FR
+3276029312,3276029375,GB
+3276029376,3276031999,FR
3276032000,3276032511,GB
3276032512,3276032767,ES
3276032768,3276036543,GB
@@ -133053,10 +135540,10 @@
3276037312,3276037319,FR
3276037320,3276038143,GB
3276038144,3276039423,FR
-3276039424,3276041727,GB
+3276039424,3276039679,GB
+3276039680,3276041727,FR
3276041728,3276041983,ES
-3276041984,3276042239,GB
-3276042240,3276044287,FR
+3276041984,3276044287,FR
3276044288,3276046335,GB
3276046336,3276059311,RU
3276059312,3276059319,FR
@@ -133099,7 +135586,10 @@
3276101632,3276102655,LV
3276102656,3276103679,GB
3276103680,3276104703,SI
-3276104704,3276105727,GB
+3276104704,3276104959,GB
+3276104960,3276105215,NL
+3276105216,3276105471,US
+3276105472,3276105727,GB
3276105728,3276106751,AT
3276106752,3276107775,BG
3276107776,3276108799,DE
@@ -133219,11 +135709,13 @@
3276490776,3276490776,NL
3276490782,3276490782,AT
3276490783,3276490783,CH
-3276491776,3276492799,GB
+3276492232,3276492235,GB
+3276492248,3276492259,GB
+3276492284,3276492319,GB
3276494352,3276494367,GB
3276494448,3276494451,GB
-3276494476,3276494479,GB
-3276495528,3276495551,GB
+3276494476,3276494483,GB
+3276494848,3276496895,GB
3276498120,3276498123,GB
3276499504,3276499579,DE
3276499680,3276499687,DE
@@ -133240,7 +135732,7 @@
3276501172,3276501183,DE
3276501192,3276501199,DE
3276503040,3276505087,DE
-3276505088,3276509183,GB
+3276507136,3276509183,GB
3276509184,3276510207,IT
3276512256,3276513023,ZA
3276518216,3276518219,NL
@@ -133249,21 +135741,20 @@
3276520704,3276520735,SE
3276522496,3276523519,NL
3276524864,3276524895,PT
-3276528128,3276528195,GB
-3276528200,3276528215,GB
-3276528224,3276528231,GB
+3276528128,3276528639,GB
3276530544,3276530555,NL
3276530560,3276530571,NL
3276530584,3276530591,NL
3276530604,3276530607,NL
3276530688,3276531711,NL
-3276532481,3276532481,FR
3276532583,3276532583,GB
3276532590,3276532590,GR
3276532608,3276532608,GB
3276533248,3276533311,SI
3276536752,3276536783,HU
-3276537856,3276668927,ES
+3276537856,3276617727,ES
+3276617728,3276617983,IT
+3276617984,3276668927,ES
3276668928,3276677119,MC
3276677120,3276678143,HR
3276678144,3276678655,SE
@@ -133311,7 +135802,7 @@
3276718080,3276726271,IT
3276726272,3276727295,SE
3276727296,3276728319,ES
-3276728320,3276729343,UA
+3276728320,3276729343,SA
3276729344,3276730367,PL
3276730368,3276731391,DE
3276731392,3276732415,UA
@@ -133680,11 +136171,11 @@
3276861184,3276861439,DE
3276861440,3276865535,DK
3276865536,3276866559,NL
-3276866560,3276867583,GB
-3276867584,3276868703,IT
+3276866560,3276868703,GB
3276868704,3276868711,BE
-3276868712,3276873727,IT
-3276873728,3276873759,GB
+3276868712,3276869631,GB
+3276869632,3276871679,IT
+3276871680,3276873759,GB
3276873760,3276873791,ES
3276873792,3276873983,GB
3276873984,3276874239,ES
@@ -133703,10 +136194,10 @@
3276881416,3276881811,GB
3276881812,3276881815,FR
3276881816,3276881919,GB
-3276881920,3276884687,IT
+3276881920,3276883967,IT
+3276883968,3276884687,GB
3276884688,3276884719,PL
-3276884720,3276886015,IT
-3276886016,3276886363,GB
+3276884720,3276886363,GB
3276886364,3276886367,DE
3276886368,3276886527,GB
3276886528,3276886783,DE
@@ -133715,12 +136206,7 @@
3276887040,3276889087,GB
3276889088,3276890111,IT
3276890112,3276892159,US
-3276892160,3276892287,GB
-3276892288,3276892351,IT
-3276892352,3276892671,GB
-3276892672,3276893183,IT
-3276893184,3276893695,GB
-3276893696,3276893951,IT
+3276892160,3276893951,IT
3276893952,3276898783,GB
3276898784,3276898799,CH
3276898800,3276900207,GB
@@ -133737,28 +136223,22 @@
3276903424,3276903487,SE
3276903488,3276903551,GB
3276903552,3276903679,SE
-3276903680,3276905983,GB
-3276905984,3276906239,BE
-3276906240,3276907341,GB
+3276903680,3276907341,GB
3276907342,3276907342,NL
-3276907343,3276908759,GB
+3276907343,3276907519,GB
+3276907520,3276908031,NL
+3276908032,3276908759,GB
3276908760,3276908760,NL
3276908761,3276909831,GB
3276909832,3276909835,NL
3276909836,3276910591,GB
-3276910592,3276911615,IT
-3276911616,3276911679,GB
-3276911680,3276911711,IT
-3276911712,3276912207,GB
-3276912208,3276912215,IT
-3276912216,3276912287,GB
-3276912288,3276912319,IT
-3276912320,3276912671,GB
+3276910592,3276912639,IT
+3276912640,3276912671,GB
3276912672,3276912687,IT
3276912688,3276912879,GB
3276912880,3276912895,IT
-3276912896,3276914687,GB
-3276914688,3276917231,ES
+3276912896,3276916735,GB
+3276916736,3276917231,ES
3276917232,3276917247,FR
3276917248,3276918783,ES
3276918784,3276919061,GB
@@ -133769,13 +136249,7 @@
3276919488,3276919535,DE
3276919536,3276921855,GB
3276921856,3276922879,DE
-3276922880,3276924927,FR
-3276924928,3276925761,GB
-3276925762,3276925762,FR
-3276925763,3276925925,GB
-3276925926,3276925926,FR
-3276925927,3276925951,GB
-3276925952,3276926207,FR
+3276922880,3276926207,FR
3276926208,3276926683,GB
3276926684,3276926687,FR
3276926688,3276931071,GB
@@ -133976,30 +136450,38 @@
3277395200,3277402591,GB
3277402592,3277402607,ES
3277402608,3277403135,GB
-3277403136,3277403215,FR
-3277403216,3277403231,GB
-3277403232,3277403311,FR
-3277403312,3277403327,GB
-3277403328,3277403359,FR
-3277403360,3277403375,GB
-3277403376,3277403455,FR
+3277403136,3277403295,FR
+3277403296,3277403327,GB
+3277403328,3277403455,FR
3277403456,3277403471,AT
3277403472,3277403487,FR
3277403488,3277403647,GB
-3277403648,3277403807,ES
-3277403808,3277404159,GB
-3277404160,3277404415,DE
-3277404416,3277404671,IT
-3277404672,3277404703,CH
-3277404704,3277404719,GB
-3277404720,3277404735,CH
-3277404736,3277404927,GB
-3277404928,3277404975,NL
-3277404976,3277405199,GB
-3277405200,3277405247,SE
-3277405248,3277416703,GB
-3277416704,3277416959,ES
-3277416960,3277455359,GB
+3277403648,3277403743,ES
+3277403744,3277403759,GB
+3277403760,3277403791,ES
+3277403792,3277404159,GB
+3277404160,3277404191,DE
+3277404192,3277404207,GB
+3277404208,3277404319,DE
+3277404320,3277404335,GB
+3277404336,3277404367,DE
+3277404368,3277404383,GB
+3277404384,3277404415,DE
+3277404416,3277404479,IT
+3277404480,3277404495,GB
+3277404496,3277404511,IT
+3277404512,3277404527,GB
+3277404528,3277404623,IT
+3277404624,3277404639,GB
+3277404640,3277404671,IT
+3277404672,3277404799,CH
+3277404800,3277404927,GB
+3277404928,3277405055,NL
+3277405056,3277405183,GB
+3277405184,3277405215,SE
+3277405216,3277405231,GB
+3277405232,3277405247,SE
+3277405248,3277455359,GB
3277455360,3277463551,DE
3277463552,3277471743,US
3277471744,3277473791,PL
@@ -134053,7 +136535,9 @@
3277698560,3277699071,DE
3277699584,3277700607,RU
3277700608,3277701119,UA
-3277701120,3277701631,DK
+3277701120,3277701313,DK
+3277701314,3277701315,NO
+3277701316,3277701631,DK
3277701632,3277702143,AT
3277702656,3277703679,DE
3277703680,3277704191,PL
@@ -134080,7 +136564,8 @@
3277716480,3277716991,SE
3277716992,3277717503,IT
3277717504,3277725695,YE
-3277725696,3277729791,GB
+3277725696,3277727743,CH
+3277727744,3277729791,GB
3277729792,3277730157,CH
3277730158,3277730158,GB
3277730159,3277730559,CH
@@ -134180,7 +136665,17 @@
3277856768,3277864959,DE
3277864960,3277873151,RU
3277873152,3277881343,NL
-3277881344,3277889535,IT
+3277881344,3277884175,IT
+3277884176,3277884191,IR
+3277884192,3277885439,IT
+3277885440,3277885695,IQ
+3277885696,3277885727,LB
+3277885728,3277885951,IT
+3277885952,3277886463,LB
+3277886464,3277887487,IQ
+3277887488,3277888255,IT
+3277888256,3277888319,LB
+3277888320,3277889535,IT
3277889536,3277897727,RU
3277897728,3277905919,IT
3277905920,3277914111,BG
@@ -134236,8 +136731,12 @@
3278780928,3278781439,GB
3278781440,3278781951,DE
3278781952,3278782463,RU
-3278782464,3278790655,GB
-3278790656,3278807039,IT
+3278782464,3278790143,GB
+3278790144,3278790399,ES
+3278790400,3278790655,GB
+3278790656,3278793727,IT
+3278793728,3278794751,GB
+3278794752,3278807039,IT
3278807040,3278815231,GB
3278815232,3278823423,AT
3278823424,3278831615,FR
@@ -134360,7 +136859,8 @@
3278938788,3278938791,ES
3278938792,3278938803,DE
3278938804,3278938807,IT
-3278938808,3278938815,GB
+3278938808,3278938811,DE
+3278938812,3278938815,GB
3278938816,3278938831,DE
3278938832,3278938835,IT
3278938836,3278938839,FR
@@ -136379,9 +138879,9 @@
3279077376,3279085567,ES
3279085568,3279089663,NL
3279089664,3279093759,KG
-3279093760,3279118335,FR
-3279118336,3279126527,RE
-3279126528,3279159295,FR
+3279093760,3279123455,FR
+3279123456,3279123967,RE
+3279123968,3279159295,FR
3279159296,3279290367,PL
3279290368,3279291391,NL
3279291392,3279291647,GB
@@ -136505,10 +139005,12 @@
3279591168,3279592703,GB
3279592704,3279592959,DE
3279592960,3279593471,GB
-3279593472,3279595519,DE
-3279595520,3279598591,GB
+3279593472,3279596543,DE
+3279596544,3279598591,GB
3279598592,3279599615,DE
-3279599616,3279601663,GB
+3279599616,3279600639,GB
+3279600640,3279600895,DE
+3279600896,3279601663,GB
3279601664,3279609855,CZ
3279609856,3279618047,RU
3279618048,3279671295,UA
@@ -136517,8 +139019,8 @@
3279675392,3279677439,BG
3279677440,3279678463,US
3279678464,3279679487,SG
-3279679488,3279680511,UA
-3279680512,3279681535,BG
+3279679488,3279680511,US
+3279680512,3279681535,CZ
3279681536,3279683583,UA
3279683584,3279946751,DE
3279946752,3279947775,BN
@@ -136625,7 +139127,11 @@
3280134144,3280142335,IT
3280142336,3280207871,RU
3280207872,3280273407,FR
-3280273408,3280325119,RU
+3280273408,3280297983,RU
+3280297984,3280306175,ES
+3280306176,3280314367,RU
+3280314368,3280322559,ES
+3280322560,3280325119,RU
3280325120,3280325631,US
3280325632,3280326655,ES
3280326656,3280327167,US
@@ -136633,7 +139139,7 @@
3280327680,3280328703,ES
3280328704,3280329727,RU
3280329728,3280329904,IQ
-3280329905,3280329905,DE
+3280329905,3280329905,US
3280329906,3280330751,IQ
3280330752,3280338943,RU
3280338944,3280347135,GB
@@ -136650,7 +139156,9 @@
3280391910,3280391910,NL
3280391911,3280394085,GB
3280394086,3280394086,BE
-3280394087,3280396287,GB
+3280394087,3280394231,GB
+3280394232,3280394239,BE
+3280394240,3280396287,GB
3280396288,3280404479,US
3280404480,3280416767,FR
3280416768,3280420863,ES
@@ -136738,8 +139246,7 @@
3280642048,3280650239,UA
3280650240,3280650495,RO
3280650496,3280650751,UA
-3280650752,3280651007,NL
-3280651008,3280651263,GB
+3280650752,3280651263,GB
3280651264,3280651519,SI
3280651520,3280651775,FR
3280651776,3280652031,UA
@@ -136770,8 +139277,7 @@
3280662624,3280662655,IT
3280662656,3280662687,AR
3280662688,3280662703,AT
-3280662704,3280662783,DE
-3280662784,3280663295,CZ
+3280662704,3280663295,DE
3280663296,3280663327,AR
3280663328,3280663343,DE
3280663344,3280663391,IT
@@ -136782,7 +139288,9 @@
3280664064,3280664831,DE
3280664832,3280665087,CZ
3280665088,3280666623,DE
-3280666624,3280732159,NO
+3280666624,3280701439,NO
+3280701440,3280701567,GB
+3280701568,3280732159,NO
3280732160,3280764927,DE
3280764928,3280765951,PL
3280765952,3280766975,DK
@@ -136814,7 +139322,9 @@
3280794624,3280795647,UA
3280795648,3280796671,MZ
3280796672,3280797695,CZ
-3280797696,3280863231,CH
+3280797696,3280816127,CH
+3280816128,3280817151,DE
+3280817152,3280863231,CH
3280863232,3280928767,TR
3280928768,3280934927,GB
3280934928,3280934935,DE
@@ -136824,9 +139334,7 @@
3280935088,3280935095,ES
3280935096,3280935119,GB
3280935120,3280935127,FR
-3280935128,3280935935,GB
-3280935936,3280936959,DE
-3280936960,3280940787,GB
+3280935128,3280940787,GB
3280940788,3280940791,DE
3280940792,3280941387,GB
3280941388,3280941395,DE
@@ -136838,7 +139346,11 @@
3280952784,3280952799,DE
3280952800,3280953441,GB
3280953442,3280953442,TR
-3280953443,3280955707,GB
+3280953443,3280954623,GB
+3280954624,3280954831,AE
+3280954832,3280954839,GB
+3280954840,3280954879,AE
+3280954880,3280955707,GB
3280955708,3280955711,DE
3280955712,3280960679,GB
3280960680,3280960683,ES
@@ -136846,11 +139358,19 @@
3280961024,3280961273,ES
3280961274,3280961274,PT
3280961275,3280961279,ES
-3280961280,3280985279,GB
+3280961280,3280961303,GB
+3280961304,3280961311,ES
+3280961312,3280964087,GB
+3280964088,3280964095,SE
+3280964096,3280972143,GB
+3280972144,3280972151,NL
+3280972152,3280972159,GB
+3280972160,3280972167,NL
+3280972168,3280985279,GB
3280985280,3280985343,CH
-3280985344,3280986111,GB
-3280986112,3280994303,DE
-3280994304,3280994559,GB
+3280985344,3280990207,GB
+3280990208,3280992255,DE
+3280992256,3280994559,GB
3280994560,3280994815,RU
3280994816,3280995071,NL
3280995072,3280995327,DE
@@ -136881,20 +139401,7 @@
3281002496,3281010687,CH
3281010688,3281018879,BE
3281018880,3281027071,CZ
-3281027080,3281027087,GB
-3281027136,3281027151,GB
-3281027200,3281027215,GB
-3281027280,3281027287,GB
-3281027304,3281027311,GB
-3281027320,3281027327,GB
-3281027584,3281027615,GB
-3281027632,3281027679,GB
-3281027696,3281027743,GB
-3281027776,3281027807,GB
-3281027840,3281027903,GB
-3281028096,3281028159,GB
-3281028992,3281029055,GB
-3281030400,3281035263,GB
+3281027072,3281035263,GB
3281035264,3281043455,CH
3281043456,3281049615,RU
3281049616,3281049622,GI
@@ -137072,11 +139579,7 @@
3282466856,3282466863,IT
3282466864,3282468095,GB
3282468096,3282468351,DE
-3282468352,3282468607,GB
-3282468608,3282468755,NL
-3282468756,3282468759,GB
-3282468760,3282468863,NL
-3282468864,3282477055,GB
+3282468352,3282477055,GB
3282477056,3282485247,RU
3282485248,3282493439,GI
3282501632,3282534399,GR
@@ -137087,7 +139590,7 @@
3282550784,3282554879,FR
3282554880,3282558975,DE
3282558976,3282563071,FR
-3282563072,3282567167,GB
+3282563072,3282567167,HK
3282567168,3282622871,SK
3282622872,3282622879,AT
3282622880,3282632703,SK
@@ -137269,8 +139772,7 @@
3283496192,3283496447,DE
3283496448,3283496703,HR
3283496704,3283496959,LV
-3283496960,3283497215,DE
-3283497216,3283497471,PL
+3283496960,3283497471,PL
3283497472,3283497727,DE
3283497728,3283498239,PL
3283498240,3283498495,CH
@@ -137286,6 +139788,7 @@
3283500800,3283501055,UA
3283501056,3283509247,LT
3283509248,3283513343,DE
+3283513344,3283515391,GB
3283515392,3283517439,DE
3283517440,3283525631,RU
3283525632,3283533823,GB
@@ -137307,7 +139810,6 @@
3283563520,3283564543,GB
3283568640,3283569663,GB
3283576832,3283579903,DE
-3283586304,3283586559,ES
3283593216,3283595263,IT
3283615744,3283623935,HU
3283623936,3283632127,DK
@@ -137449,24 +139951,36 @@
3284016384,3284016639,CH
3284016640,3284017151,DK
3284017152,3284025343,GR
-3284025344,3284030471,US
+3284025344,3284025439,US
+3284025440,3284025471,DE
+3284025472,3284027391,US
+3284027392,3284028139,GB
+3284028140,3284028143,US
+3284028144,3284028287,GB
+3284028288,3284028319,US
+3284028320,3284029183,GB
+3284029184,3284029199,US
+3284029200,3284029295,GB
+3284029296,3284029311,US
+3284029312,3284030471,GB
3284030472,3284030479,IL
3284030480,3284030495,FR
-3284030496,3284030527,US
+3284030496,3284030527,GB
3284030528,3284030535,DE
-3284030536,3284030575,US
+3284030536,3284030575,GB
3284030576,3284030583,DE
-3284030584,3284030615,US
+3284030584,3284030615,GB
3284030616,3284030623,SE
-3284030624,3284030775,US
+3284030624,3284030775,GB
3284030776,3284030783,SE
-3284030784,3284030799,US
+3284030784,3284030799,GB
3284030800,3284030815,SE
-3284030816,3284030975,US
+3284030816,3284030975,GB
3284030976,3284030991,BE
3284030992,3284031007,FR
-3284031008,3284031487,BE
-3284031488,3284033535,US
+3284031008,3284031231,BE
+3284031232,3284031487,FR
+3284031488,3284033535,GB
3284033536,3284041727,RU
3284041728,3284041983,DK
3284041984,3284042239,SI
@@ -137844,7 +140358,7 @@
3285453440,3285453567,GB
3285453644,3285453647,GB
3285453664,3285453695,GB
-3285454080,3285454335,GB
+3285453824,3285454847,GB
3285455668,3285455671,DE
3285457080,3285457083,GB
3285458176,3285458431,GB
@@ -137865,6 +140379,7 @@
3285477136,3285477151,IT
3285479396,3285479399,FR
3285485568,3285485571,SK
+3285487360,3285487391,GB
3285487396,3285487399,GB
3285487440,3285487443,GB
3285488576,3285488639,CY
@@ -137900,8 +140415,7 @@
3285637120,3285638143,DE
3285638144,3285639167,UA
3285639168,3285641215,FR
-3285641216,3285641471,RU
-3285641472,3285641983,CH
+3285641216,3285641983,CH
3285641984,3285642239,RU
3285642240,3285643263,UA
3285643264,3285645311,FR
@@ -137911,9 +140425,17 @@
3285721088,3285729279,SE
3285729280,3285737471,CH
3285737472,3285745663,PL
+3285745664,3285746687,TR
+3285746688,3285747711,RU
+3285747712,3285748735,ES
+3285748736,3285749759,FR
+3285749760,3285750783,DE
+3285750784,3285751807,US
+3285751808,3285752831,RU
+3285752832,3285753855,MD
3285753856,3285762047,US
3285762048,3285762559,FR
-3285762560,3285763071,US
+3285762560,3285763071,RU
3285763072,3285763583,GB
3285763584,3285764095,DE
3285764096,3285764607,RU
@@ -137966,17 +140488,15 @@
3285913704,3285913711,FI
3285913712,3285913999,GB
3285914000,3285914007,IE
-3285914008,3285915903,GB
+3285914008,3285915647,GB
3285915904,3285916159,AT
-3285916160,3285916415,GB
3285916416,3285916671,YE
-3285916672,3285917703,GB
+3285917696,3285917703,GB
3285917712,3285917807,GB
3285917884,3285917887,GB
3285917952,3285918463,GB
3285919744,3285921791,QA
3285924352,3285924415,ES
-3285924864,3285924911,DE
3285924912,3285924919,CH
3285924920,3285924927,FI
3285924928,3285924943,DE
@@ -137994,11 +140514,9 @@
3285925064,3285925071,RU
3285925072,3285925079,PL
3285925080,3285925087,IT
-3285925088,3285925115,DE
+3285925088,3285925103,DE
3285925116,3285925117,DK
-3285925118,3285925163,DE
3285925164,3285925171,CH
-3285925172,3285925887,DE
3285926432,3285926463,CH
3285926592,3285926623,DE
3285928304,3285928311,GB
@@ -138010,6 +140528,9 @@
3285931560,3285931567,HU
3285931568,3285931599,DE
3285931608,3285931615,DE
+3285934080,3285934847,ES
+3285934848,3285935103,GB
+3285935104,3285935871,ES
3285935872,3285936127,GB
3285936136,3285936147,FR
3285936152,3285936231,FR
@@ -138125,11 +140646,15 @@
3286368256,3286376447,CH
3286376448,3286384639,GB
3286384640,3286401023,DE
-3286401024,3286403071,GB
-3286403072,3286403199,JE
-3286403200,3286403327,GG
-3286403328,3286404095,JE
-3286404096,3286408703,GG
+3286401024,3286402047,GG
+3286402048,3286403071,GB
+3286403072,3286403135,GG
+3286403136,3286403199,JE
+3286403200,3286405119,GG
+3286405120,3286406143,JE
+3286406144,3286406655,GB
+3286406656,3286407167,JE
+3286407168,3286408703,GG
3286408704,3286408959,GB
3286408960,3286409215,GG
3286409216,3286417407,DE
@@ -138174,7 +140699,9 @@
3286514688,3286552575,HU
3286552576,3286553087,BG
3286553088,3286564863,HU
-3286564864,3286630399,AE
+3286564864,3286566655,AE
+3286566656,3286566911,KW
+3286566912,3286630399,AE
3286630400,3286638591,BG
3286638592,3286646783,AT
3286646784,3286654975,RU
@@ -138241,8 +140768,10 @@
3286791680,3286791935,AT
3286791936,3286794239,GB
3286794240,3286798335,DE
-3286798336,3286802431,IT
-3286802432,3286892543,DE
+3286798336,3286799359,IT
+3286799360,3286888447,DE
+3286888448,3286889471,IE
+3286889472,3286892543,DE
3286892544,3286893055,LI
3286893056,3286893567,RU
3286893568,3286894591,UA
@@ -138532,7 +141061,7 @@
3287605248,3287630335,DE
3287630336,3287631359,PL
3287631360,3287631871,IR
-3287632384,3287632895,SE
+3287632384,3287632895,US
3287632896,3287633407,RU
3287633408,3287633919,SK
3287633920,3287634431,UA
@@ -138645,7 +141174,7 @@
3287740928,3287741439,RO
3287741440,3287741951,CH
3287742976,3287743487,RO
-3287743488,3287743999,DE
+3287743488,3287743999,LV
3287744512,3287810047,DE
3287810048,3287818239,FR
3287818240,3287826431,AT
@@ -138682,13 +141211,9 @@
3287834624,3287842815,GB
3287842816,3287851007,DE
3287851008,3287859199,UA
-3287859200,3287859711,GB
-3287859968,3287860479,GB
-3287861248,3287862015,GB
-3287863808,3287864063,GB
-3287866384,3287866439,GB
-3287866496,3287866591,GB
-3287866608,3287866623,GB
+3287859200,3287859455,GB
+3287859456,3287859711,FK
+3287859712,3287867391,GB
3287867392,3287867903,UA
3287867904,3287868415,PL
3287868416,3287868927,RO
@@ -138706,8 +141231,7 @@
3287875584,3287941119,DK
3287941120,3287945215,IT
3287945216,3287949311,GB
-3287949312,3287949567,AT
-3287949568,3287949823,IL
+3287949312,3287949823,IL
3287949824,3287950079,IT
3287950080,3287950335,DE
3287950336,3287950591,UA
@@ -138825,7 +141349,8 @@
3288440832,3288441087,BB
3288441088,3288441343,VC
3288441344,3288442879,BB
-3288442880,3288443391,KN
+3288442880,3288443135,KN
+3288443136,3288443391,BB
3288443392,3288443647,VC
3288443648,3288444927,BB
3288444928,3288449023,NG
@@ -138835,7 +141360,9 @@
3288466432,3288467455,SY
3288467456,3288469503,BI
3288469504,3288481791,ZA
-3288481792,3288485887,ZW
+3288481792,3288482303,ZW
+3288482304,3288485631,ZA
+3288485632,3288485887,ZW
3288485888,3288489983,MA
3288489984,3288514559,ZA
3288514560,3288522751,EG
@@ -138844,9 +141371,10 @@
3288532992,3288534527,PR
3288534528,3288535039,EG
3288535040,3288539135,CW
-3288539136,3288543231,BR
-3288543232,3288543487,SG
-3288543488,3288543986,US
+3288539136,3288541183,BR
+3288541184,3288543743,US
+3288543744,3288543983,CH
+3288543984,3288543986,US
3288543987,3288543987,CH
3288543988,3288544767,US
3288544768,3288545023,MX
@@ -138987,13 +141515,13 @@
3289124864,3289128959,ZA
3289128960,3289137151,IN
3289137152,3289153535,BM
-3289153536,3289155839,MU
-3289155840,3289156351,RW
-3289156352,3289156607,MU
-3289156608,3289158655,RW
+3289153536,3289155583,MU
+3289155584,3289158655,RW
3289158656,3289159167,MU
3289159168,3289159423,RW
-3289159424,3289161727,MU
+3289159424,3289159679,MU
+3289159680,3289160703,RW
+3289160704,3289161727,MU
3289161728,3289169919,PR
3289169920,3289186303,MA
3289186304,3289186559,NG
@@ -139068,7 +141596,8 @@
3289410560,3289411583,US
3289411584,3289412607,NL
3289412608,3289413631,US
-3289413632,3289414655,GB
+3289413632,3289414143,GB
+3289414144,3289414655,RU
3289414656,3289422847,US
3289422848,3289423871,NL
3289423872,3289430015,US
@@ -139137,7 +141666,10 @@
3289507072,3289507327,KR
3289507328,3289507583,BG
3289507584,3289507839,ID
-3289507840,3289517055,US
+3289507840,3289513983,US
+3289513984,3289515007,DE
+3289515008,3289516031,US
+3289516032,3289517055,JP
3289517056,3289518079,DE
3289518080,3289540607,US
3289540608,3289541119,ES
@@ -139181,7 +141713,9 @@
3289582592,3289606143,US
3289606144,3289606655,AT
3289606656,3289607167,HK
-3289607168,3289630719,US
+3289607168,3289610239,US
+3289610240,3289611263,DE
+3289611264,3289630719,US
3289630720,3289630975,GB
3289630976,3289631743,SC
3289631744,3289634815,US
@@ -139239,9 +141773,7 @@
3290172160,3290172415,KE
3290172416,3290181631,ZA
3290181632,3290181887,US
-3290181888,3290182143,PR
-3290182144,3290182399,US
-3290182400,3290185105,PR
+3290181888,3290185105,PR
3290185106,3290185106,US
3290185107,3290185107,PR
3290185108,3290185108,US
@@ -139282,7 +141814,9 @@
3290492928,3290494975,TZ
3290494976,3290718975,ZA
3290718976,3290719231,SZ
-3290719232,3290955775,ZA
+3290719232,3290801905,ZA
+3290801906,3290801906,GB
+3290801907,3290955775,ZA
3290955776,3290980351,CR
3290980352,3290984447,ZA
3290984448,3290988543,MZ
@@ -139451,8 +141985,8 @@
3291433984,3291435263,ZA
3291435264,3291435519,NA
3291435520,3291435775,ZA
-3291435776,3291437311,NA
-3291437312,3291437567,ZA
+3291435776,3291437055,NA
+3291437056,3291437567,ZA
3291437568,3291438847,NA
3291438848,3291439103,ZA
3291439104,3291447295,NG
@@ -139497,6 +142031,8 @@
3291559936,3291560191,CG
3291560448,3291560703,SO
3291560960,3291561215,CG
+3291561472,3291561727,NG
+3291561984,3291562239,GN
3291611136,3291611647,ZA
3291611648,3291611903,MU
3291611904,3291612159,ZA
@@ -139690,28 +142226,28 @@
3292010752,3292011007,SC
3292011008,3292011519,US
3292011520,3292011775,SC
-3292011776,3292012543,US
+3292011776,3292012031,US
+3292012032,3292012287,SC
+3292012288,3292012543,US
3292012544,3292012799,SC
3292012800,3292013055,US
3292013056,3292013311,SC
3292013312,3292013567,US
-3292013568,3292014079,SC
-3292014080,3292014335,US
-3292014336,3292014591,SC
-3292014592,3292014847,US
-3292014848,3292015103,SC
-3292015104,3292016127,US
+3292013568,3292015103,SC
+3292015104,3292015615,US
+3292015616,3292015871,SC
+3292015872,3292016127,US
3292016128,3292016383,SC
-3292016384,3292016895,US
-3292016896,3292017919,SC
-3292017920,3292018431,US
-3292018432,3292018687,SC
-3292018688,3292019199,US
+3292016384,3292016639,US
+3292016640,3292016895,SC
+3292016896,3292017151,US
+3292017152,3292018175,SC
+3292018176,3292019199,US
3292019200,3292019455,SC
3292019456,3292019711,US
3292019712,3292019967,SC
-3292019968,3292020479,US
-3292020480,3292020735,SC
+3292019968,3292020223,US
+3292020224,3292020735,SC
3292020736,3292020991,US
3292020992,3292021247,SC
3292021248,3292021503,US
@@ -139721,8 +142257,8 @@
3292023552,3292024575,US
3292024576,3292025599,SC
3292025600,3292027135,US
-3292027136,3292027903,SC
-3292027904,3292028415,US
+3292027136,3292028159,SC
+3292028160,3292028415,US
3292028416,3292028671,SC
3292028672,3292029951,US
3292029952,3292030719,SC
@@ -139737,7 +142273,9 @@
3292035584,3292035839,US
3292035840,3292036095,SC
3292036096,3292038143,US
-3292038144,3292038911,SC
+3292038144,3292038399,SC
+3292038400,3292038655,US
+3292038656,3292038911,SC
3292038912,3292039935,US
3292039936,3292040447,SC
3292040448,3292040959,US
@@ -139753,8 +142291,8 @@
3292046592,3292047615,US
3292047616,3292047871,SC
3292047872,3292048383,US
-3292048384,3292049151,SC
-3292049152,3292049663,US
+3292048384,3292049407,SC
+3292049408,3292049663,US
3292049664,3292049919,SC
3292049920,3292050175,US
3292050176,3292050431,SC
@@ -139778,8 +142316,8 @@
3292057600,3292057855,SC
3292057856,3292059391,US
3292059392,3292059647,SC
-3292059648,3292060671,US
-3292060672,3292061183,SC
+3292059648,3292060927,US
+3292060928,3292061183,SC
3292061184,3292062719,US
3292062720,3292063231,SC
3292063232,3292063487,US
@@ -139800,9 +142338,9 @@
3292070144,3292070399,DK
3292070400,3292070911,US
3292070912,3292071167,SC
-3292071168,3292071679,US
-3292071680,3292072447,SC
-3292072448,3292072959,US
+3292071168,3292071935,US
+3292071936,3292072191,SC
+3292072192,3292072959,US
3292072960,3292073471,SC
3292073472,3292073727,US
3292073728,3292073983,SC
@@ -139810,14 +142348,14 @@
3292074752,3292075007,SC
3292075008,3292075263,US
3292075264,3292075775,SC
-3292075776,3292076031,US
-3292076032,3292077567,SC
-3292077568,3292077823,US
-3292077824,3292079615,SC
+3292075776,3292076287,US
+3292076288,3292078079,SC
+3292078080,3292078335,US
+3292078336,3292079615,SC
3292079616,3292080127,US
3292080128,3292080383,SC
-3292080384,3292081663,US
-3292081664,3292082175,SC
+3292080384,3292081407,US
+3292081408,3292082175,SC
3292082176,3292082431,US
3292082432,3292082687,SC
3292082688,3292082943,US
@@ -139829,8 +142367,8 @@
3292084992,3292085247,US
3292085248,3292085503,SC
3292085504,3292085759,US
-3292085760,3292086015,SC
-3292086016,3292088063,US
+3292085760,3292086527,SC
+3292086528,3292088063,US
3292088064,3292088319,SC
3292088320,3292088575,US
3292088576,3292088831,SC
@@ -139858,11 +142396,13 @@
3292097024,3292097535,SC
3292097536,3292098047,US
3292098048,3292098303,SC
-3292098304,3292099327,US
+3292098304,3292098815,US
+3292098816,3292099071,SC
+3292099072,3292099327,US
3292099328,3292099839,SC
3292099840,3292100095,US
-3292100096,3292100863,SC
-3292100864,3292101631,US
+3292100096,3292101119,SC
+3292101120,3292101631,US
3292101632,3292102655,SC
3292102656,3292102911,US
3292102912,3292103167,SC
@@ -139876,9 +142416,7 @@
3292104960,3292105215,SC
3292105216,3292105471,US
3292105472,3292105727,SC
-3292105728,3292105983,US
-3292105984,3292106239,SC
-3292106240,3292106751,US
+3292105728,3292106751,US
3292106752,3292107263,SC
3292107264,3292107519,US
3292107520,3292108799,SC
@@ -139888,7 +142426,9 @@
3292109568,3292109823,SC
3292109824,3292110079,US
3292110080,3292110591,SC
-3292110592,3292111359,US
+3292110592,3292110847,US
+3292110848,3292111103,SC
+3292111104,3292111359,US
3292111360,3292111615,SC
3292111616,3292112639,US
3292112640,3292113151,SC
@@ -139903,8 +142443,10 @@
3292116480,3292116735,US
3292116736,3292116991,SC
3292116992,3292117759,US
-3292117760,3292118015,SC
-3292118016,3292119039,US
+3292117760,3292118271,SC
+3292118272,3292118527,US
+3292118528,3292118783,SC
+3292118784,3292119039,US
3292119040,3292119295,SC
3292119296,3292119551,US
3292119552,3292120063,SC
@@ -139912,21 +142454,23 @@
3292120320,3292121087,SC
3292121088,3292121343,US
3292121344,3292122111,SC
-3292122112,3292124159,US
+3292122112,3292122367,US
+3292122368,3292122623,SC
+3292122624,3292123647,US
+3292123648,3292123903,SC
+3292123904,3292124159,US
3292124160,3292124415,SC
-3292124416,3292124927,US
-3292124928,3292125183,SC
-3292125184,3292125439,US
-3292125440,3292126207,SC
+3292124416,3292125183,US
+3292125184,3292126207,SC
3292126208,3292126463,US
3292126464,3292127487,SC
3292127488,3292128767,US
3292128768,3292129279,SC
3292129280,3292129535,US
-3292129536,3292130559,SC
-3292130560,3292130815,US
-3292130816,3292131071,SC
-3292131072,3292131583,US
+3292129536,3292130303,SC
+3292130304,3292130815,US
+3292130816,3292131327,SC
+3292131328,3292131583,US
3292131584,3292132095,SC
3292132096,3292132607,US
3292132608,3292132863,SC
@@ -139939,8 +142483,8 @@
3292135680,3292135935,DK
3292135936,3292136447,SC
3292136448,3292136703,CZ
-3292136704,3292136959,SC
-3292136960,3292137727,US
+3292136704,3292137215,SC
+3292137216,3292137727,US
3292137728,3292138239,SC
3292138240,3292138495,US
3292138496,3292138751,SC
@@ -139949,8 +142493,8 @@
3292139776,3292140031,US
3292140032,3292140543,SC
3292140544,3292140799,US
-3292140800,3292141055,SC
-3292141056,3292141823,US
+3292140800,3292141311,SC
+3292141312,3292141823,US
3292141824,3292143359,SC
3292143360,3292143615,US
3292143616,3292144127,SC
@@ -139965,9 +142509,7 @@
3292147456,3292147967,US
3292147968,3292148479,SC
3292148480,3292148735,US
-3292148736,3292149247,SC
-3292149248,3292149503,US
-3292149504,3292149759,SC
+3292148736,3292149759,SC
3292149760,3292150015,US
3292150016,3292151039,SC
3292151040,3292151807,US
@@ -139978,47 +142520,51 @@
3292153600,3292153855,SC
3292153856,3292154111,US
3292154112,3292154623,SC
-3292154624,3292157183,US
+3292154624,3292155647,US
+3292155648,3292155903,SC
+3292155904,3292156159,US
+3292156160,3292156415,SC
+3292156416,3292157183,US
3292157184,3292157439,SC
3292157440,3292158207,US
3292158208,3292158463,SC
3292158464,3292158719,US
3292158720,3292158975,SC
-3292158976,3292159743,US
-3292159744,3292160511,SC
+3292158976,3292159487,US
+3292159488,3292159999,SC
+3292160000,3292160255,US
+3292160256,3292160511,SC
3292160512,3292160767,US
-3292160768,3292161023,SC
-3292161024,3292161535,US
+3292160768,3292161279,SC
+3292161280,3292161535,US
3292161536,3292162303,SC
3292162304,3292162815,US
3292162816,3292163071,SC
3292163072,3292163327,US
3292163328,3292163583,SC
-3292163584,3292165119,US
-3292165120,3292165375,SC
-3292165376,3292165887,US
-3292165888,3292166143,SC
-3292166144,3292166911,US
+3292163584,3292164095,US
+3292164096,3292164351,SC
+3292164352,3292165119,US
+3292165120,3292165631,SC
+3292165632,3292165887,US
+3292165888,3292166399,SC
+3292166400,3292166911,US
3292166912,3292167679,SC
3292167680,3292167935,US
-3292167936,3292168191,SC
-3292168192,3292168703,US
-3292168704,3292170239,SC
+3292167936,3292168447,SC
+3292168448,3292168959,US
+3292168960,3292170239,SC
3292170240,3292171263,US
-3292171264,3292171519,SC
-3292171520,3292171775,US
-3292171776,3292172031,SC
+3292171264,3292172031,SC
3292172032,3292172799,US
-3292172800,3292174079,SC
+3292172800,3292173567,SC
+3292173568,3292173823,US
+3292173824,3292174079,SC
3292174080,3292174335,US
-3292174336,3292174591,SC
-3292174592,3292174847,US
-3292174848,3292175359,SC
+3292174336,3292175359,SC
3292175360,3292175615,US
3292175616,3292175871,SC
-3292175872,3292176383,US
-3292176384,3292176639,SC
-3292176640,3292177151,US
+3292175872,3292177151,US
3292177152,3292177407,SC
3292177408,3292178431,US
3292178432,3292180223,SC
@@ -140028,15 +142574,17 @@
3292180992,3292181759,SC
3292181760,3292182271,US
3292182272,3292182527,SC
-3292182528,3292183295,US
+3292182528,3292182783,US
+3292182784,3292183039,SC
+3292183040,3292183295,US
3292183296,3292183551,SC
3292183552,3292183807,US
3292183808,3292184063,SC
3292184064,3292184575,US
3292184576,3292184831,SC
3292184832,3292185599,US
-3292185600,3292186111,SC
-3292186112,3292186367,US
+3292185600,3292185855,SC
+3292185856,3292186367,US
3292186368,3292186879,SC
3292186880,3292187135,US
3292187136,3292187903,SC
@@ -140052,11 +142600,9 @@
3292192256,3292192511,SC
3292192512,3292192767,US
3292192768,3292193023,SC
-3292193024,3292193791,US
-3292193792,3292194047,SC
-3292194048,3292194303,US
-3292194304,3292194559,SC
-3292194560,3292195327,US
+3292193024,3292194303,US
+3292194304,3292194815,SC
+3292194816,3292195327,US
3292195328,3292195583,SC
3292195584,3292195839,US
3292195840,3292196607,SC
@@ -140065,7 +142611,9 @@
3292197632,3292197887,US
3292197888,3292198143,SC
3292198144,3292198399,US
-3292198400,3292199423,SC
+3292198400,3292198655,SC
+3292198656,3292198911,US
+3292198912,3292199423,SC
3292199424,3292199679,US
3292199680,3292200191,SC
3292200192,3292200447,US
@@ -140078,9 +142626,7 @@
3292202752,3292203007,US
3292203008,3292203519,SC
3292203520,3292204031,US
-3292204032,3292204287,SC
-3292204288,3292204543,US
-3292204544,3292205055,SC
+3292204032,3292205055,SC
3292205056,3292205311,US
3292205312,3292205823,SC
3292205824,3292206335,US
@@ -140088,8 +142634,8 @@
3292207104,3292208383,US
3292208384,3292208639,SC
3292208640,3292209151,US
-3292209152,3292209407,SC
-3292209408,3292210175,US
+3292209152,3292209663,SC
+3292209664,3292210175,US
3292210176,3292210943,SC
3292210944,3292211455,US
3292211456,3292211711,SC
@@ -140099,12 +142645,12 @@
3292212480,3292212991,SC
3292212992,3292213759,US
3292213760,3292214015,SC
-3292214016,3292215295,US
-3292215296,3292215807,SC
+3292214016,3292215039,US
+3292215040,3292215807,SC
3292215808,3292216319,US
3292216320,3292217343,SC
-3292217344,3292217855,US
-3292217856,3292219135,SC
+3292217344,3292218111,US
+3292218112,3292219135,SC
3292219136,3292219391,US
3292219392,3292219903,SC
3292219904,3292220159,US
@@ -140114,21 +142660,17 @@
3292220928,3292221183,US
3292221184,3292221439,SC
3292221440,3292221695,US
-3292221696,3292222207,SC
-3292222208,3292223231,US
+3292221696,3292222975,SC
+3292222976,3292223231,US
3292223232,3292223487,SC
-3292223488,3292223743,US
-3292223744,3292223999,SC
-3292224000,3292225023,US
+3292223488,3292225023,US
3292225024,3292225535,SC
3292225536,3292226303,US
3292226304,3292226559,SC
3292226560,3292226815,US
3292226816,3292227071,SC
3292227072,3292227839,US
-3292227840,3292228607,SC
-3292228608,3292228863,US
-3292228864,3292229631,SC
+3292227840,3292229631,SC
3292229632,3292229887,US
3292229888,3292230143,SC
3292230144,3292231935,US
@@ -140138,16 +142680,18 @@
3292232704,3292232959,US
3292232960,3292233215,SC
3292233216,3292233471,US
-3292233472,3292234239,SC
-3292234240,3292234495,US
+3292233472,3292233983,SC
+3292233984,3292234495,US
3292234496,3292234751,SC
3292234752,3292235007,US
3292235008,3292235519,SC
3292235520,3292235775,US
-3292235776,3292236543,SC
-3292236544,3292237055,US
+3292235776,3292236799,SC
+3292236800,3292237055,US
3292237056,3292237823,SC
-3292237824,3292238591,US
+3292237824,3292238079,US
+3292238080,3292238335,SC
+3292238336,3292238591,US
3292238592,3292238847,SC
3292238848,3292239103,US
3292239104,3292239871,SC
@@ -140155,18 +142699,20 @@
3292240640,3292240895,SC
3292240896,3292241151,US
3292241152,3292241407,SC
-3292241408,3292242175,US
-3292242176,3292242431,SC
-3292242432,3292242687,US
+3292241408,3292242687,US
3292242688,3292242943,SC
3292242944,3292243199,US
3292243200,3292244223,SC
-3292244224,3292244991,US
+3292244224,3292244479,US
+3292244480,3292244735,SC
+3292244736,3292244991,US
3292244992,3292245247,SC
3292245248,3292245503,US
3292245504,3292245759,SC
3292245760,3292247295,US
-3292247296,3292248319,SC
+3292247296,3292247807,SC
+3292247808,3292248063,US
+3292248064,3292248319,SC
3292248320,3292248575,US
3292248576,3292249855,SC
3292249856,3292250367,US
@@ -140176,25 +142722,17 @@
3292251392,3292251903,US
3292251904,3292252159,SC
3292252160,3292252415,US
-3292252416,3292252671,SC
-3292252672,3292253439,US
-3292253440,3292253695,SC
-3292253696,3292254207,US
-3292254208,3292255743,SC
-3292255744,3292255999,US
-3292256000,3292256255,SC
+3292252416,3292252927,SC
+3292252928,3292254207,US
+3292254208,3292256255,SC
3292256256,3292256511,US
3292256512,3292256767,SC
-3292256768,3292257535,US
-3292257536,3292258303,SC
-3292258304,3292258559,US
-3292258560,3292258815,SC
-3292258816,3292259327,US
+3292256768,3292257791,US
+3292257792,3292258303,SC
+3292258304,3292259327,US
3292259328,3292259583,SC
3292259584,3292260607,US
-3292260608,3292261375,SC
-3292261376,3292261631,US
-3292261632,3292261887,SC
+3292260608,3292261887,SC
3292261888,3292262399,US
3292262400,3292262911,SC
3292262912,3292263167,US
@@ -140206,7 +142744,9 @@
3292264704,3292264959,US
3292264960,3292265215,SC
3292265216,3292265727,US
-3292265728,3292266495,SC
+3292265728,3292265983,SC
+3292265984,3292266239,DE
+3292266240,3292266495,SC
3292266496,3292266751,TZ
3292267008,3292267263,KE
3292267520,3292267775,BW
@@ -140222,6 +142762,10 @@
3292278784,3292280063,TZ
3292280320,3292280575,SO
3292280832,3292281087,CG
+3292281344,3292281599,NG
+3292282112,3292282367,GN
+3292283392,3292283647,KE
+3292332032,3292334079,TN
3292334080,3292336127,TZ
3292336128,3292340223,ZA
3292340224,3292344319,GH
@@ -140237,8 +142781,7 @@
3292389376,3292391423,ZA
3292391424,3292393471,MA
3292393472,3292397567,ZA
-3292397568,3292463103,PK
-3292463104,3292528639,ZA
+3292397568,3292528639,PK
3292528640,3294625791,MA
3294625792,3295674367,KE
3295674368,3296722943,MA
@@ -140278,9 +142821,15 @@
3301174272,3301175295,UG
3301175296,3301176831,AF
3301176832,3301177087,DE
-3301177088,3301179137,AF
+3301177088,3301178111,AF
+3301178112,3301178367,DE
+3301178368,3301178897,AF
+3301178898,3301178898,DE
+3301178899,3301179137,AF
3301179138,3301179138,DE
-3301179139,3301179391,AF
+3301179139,3301179139,AF
+3301179140,3301179140,DE
+3301179141,3301179391,AF
3301179392,3301179903,RU
3301179904,3301181439,SC
3301181440,3301185535,US
@@ -140312,9 +142861,7 @@
3301238784,3301240831,US
3301240832,3301242879,SE
3301242880,3301244927,GB
-3301244928,3301246975,US
-3301246976,3301247999,SC
-3301248000,3301274623,US
+3301244928,3301274623,US
3301274624,3301275647,SC
3301275648,3301285887,US
3301285888,3301286911,SC
@@ -140360,8 +142907,8 @@
3301316352,3301316607,SC
3301316608,3301316863,US
3301316864,3301317375,SC
-3301317376,3301318143,US
-3301318144,3301318655,SC
+3301317376,3301318399,US
+3301318400,3301318655,SC
3301318656,3301318911,US
3301318912,3301319679,SC
3301319680,3301319935,US
@@ -140382,7 +142929,8 @@
3301325312,3301325823,US
3301325824,3301329151,SC
3301329152,3301329407,DK
-3301329408,3301330687,SC
+3301329408,3301329663,CZ
+3301329664,3301330687,SC
3301330688,3301330943,HK
3301330944,3301331199,HU
3301331200,3301331455,LU
@@ -140397,17 +142945,15 @@
3301334016,3301334527,SC
3301334528,3301335295,US
3301335296,3301337087,SC
-3301337088,3301337599,US
-3301337600,3301337855,SC
-3301337856,3301338111,US
+3301337088,3301338111,US
3301338112,3301339647,SC
3301339648,3301339903,US
3301339904,3301340159,SC
3301340160,3301340415,US
3301340416,3301340671,SC
3301340672,3301341439,US
-3301341440,3301342207,SC
-3301342208,3301342463,US
+3301341440,3301341951,SC
+3301341952,3301342463,US
3301342464,3301342975,SC
3301342976,3301343743,US
3301343744,3301344255,SC
@@ -140426,18 +142972,20 @@
3301349120,3301349375,CH
3301349376,3301349631,SC
3301349632,3301349887,GB
-3301349888,3301351423,SC
+3301349888,3301350143,SC
+3301350144,3301350399,US
+3301350400,3301351423,SC
3301351424,3301351935,US
3301351936,3301352703,SC
3301352704,3301352959,US
3301352960,3301353471,SC
3301353472,3301354239,US
-3301354240,3301355263,SC
+3301354240,3301354751,SC
+3301354752,3301355007,US
+3301355008,3301355263,SC
3301355264,3301355519,US
-3301355520,3301356799,SC
-3301356800,3301357055,US
-3301357056,3301357311,SC
-3301357312,3301357567,US
+3301355520,3301356543,SC
+3301356544,3301357567,US
3301357568,3301357823,SC
3301357824,3301358335,US
3301358336,3301359359,SC
@@ -140460,7 +143008,9 @@
3301365248,3301365503,ES
3301365504,3301365759,CH
3301365760,3301366015,NL
-3301366016,3301367551,SC
+3301366016,3301366783,SC
+3301366784,3301367039,US
+3301367040,3301367551,SC
3301367552,3301367807,US
3301367808,3301368319,SC
3301368320,3301368831,US
@@ -140480,7 +143030,9 @@
3301379584,3301380095,US
3301380096,3301380351,CA
3301380352,3301380607,SC
-3301380608,3301382655,US
+3301380608,3301381375,US
+3301381376,3301381631,SC
+3301381632,3301382655,US
3301382656,3301382911,SC
3301382912,3301383423,US
3301383424,3301383679,SC
@@ -140497,22 +143049,25 @@
3301387520,3301387775,PL
3301387776,3301388287,SC
3301388288,3301388543,LU
-3301388544,3301389567,SC
+3301388544,3301389311,SC
+3301389312,3301389567,AT
3301389568,3301389823,BE
3301389824,3301390079,LV
3301390080,3301390335,SC
3301390336,3301390591,US
3301390592,3301390847,DE
-3301390848,3301391359,US
+3301390848,3301391103,US
+3301391104,3301391359,SC
3301391360,3301391615,IN
3301391616,3301391871,RU
-3301391872,3301392127,US
-3301392128,3301392383,SC
+3301391872,3301392383,SC
3301392384,3301392895,US
3301392896,3301393151,SC
3301393152,3301393407,US
3301393408,3301393663,SC
-3301393664,3301394687,US
+3301393664,3301394175,US
+3301394176,3301394431,SC
+3301394432,3301394687,US
3301394688,3301395199,SC
3301395200,3301396223,US
3301396224,3301396479,SC
@@ -140523,8 +143078,8 @@
3301399552,3301399807,US
3301399808,3301400063,SC
3301400064,3301400319,US
-3301400320,3301400575,SC
-3301400576,3301401343,US
+3301400320,3301400831,SC
+3301400832,3301401343,US
3301401344,3301401599,SC
3301401600,3301402623,US
3301402624,3301402879,GB
@@ -140553,16 +143108,13 @@
3301410560,3301410815,SC
3301410816,3301411071,US
3301411072,3301411583,SC
-3301411584,3301411839,US
-3301411840,3301412095,SC
-3301412096,3301412607,US
+3301411584,3301412095,US
+3301412096,3301412351,SC
+3301412352,3301412607,US
3301412608,3301412863,SC
3301412864,3301413119,CA
-3301413120,3301413375,SC
-3301413376,3301414143,US
-3301414144,3301414399,SC
-3301414400,3301414655,US
-3301414656,3301414911,SC
+3301413120,3301414399,US
+3301414400,3301414911,SC
3301414912,3301416191,US
3301416192,3301416447,SC
3301416448,3301417471,US
@@ -140584,13 +143136,14 @@
3301423104,3301423359,US
3301423360,3301423615,SC
3301423616,3301423871,FR
-3301423872,3301424383,SC
+3301423872,3301424127,SC
+3301424128,3301424383,IN
3301424384,3301424639,RU
-3301424640,3301425151,SC
-3301425152,3301425663,US
+3301424640,3301425407,SC
+3301425408,3301425663,US
3301425664,3301425919,SC
-3301425920,3301426431,US
-3301426432,3301427199,SC
+3301425920,3301426175,US
+3301426176,3301427199,SC
3301427200,3301428479,US
3301428480,3301428991,SC
3301428992,3301429503,US
@@ -140598,12 +143151,12 @@
3301430016,3301430271,US
3301430272,3301430783,SC
3301430784,3301431295,US
-3301431296,3301432063,SC
-3301432064,3301432319,US
-3301432320,3301432575,SC
+3301431296,3301432575,SC
3301432576,3301433087,US
3301433088,3301433343,SC
-3301433344,3301435391,US
+3301433344,3301433599,US
+3301433600,3301433855,SC
+3301433856,3301435391,US
3301435392,3301435647,SC
3301435648,3301435903,NL
3301435904,3301436159,SC
@@ -140619,9 +143172,7 @@
3301438720,3301439487,US
3301439488,3301439743,DK
3301439744,3301439999,SC
-3301440000,3301440767,US
-3301440768,3301441023,SC
-3301441024,3301441279,US
+3301440000,3301441279,US
3301441280,3301441535,SC
3301441536,3301445631,ZA
3301445632,3301453823,KE
@@ -140820,11 +143371,13 @@
3304066816,3304067071,US
3304067072,3304067327,CA
3304067328,3304067583,US
-3304067584,3304071167,SC
+3304067584,3304070399,SC
+3304070400,3304070655,US
+3304070656,3304071167,SC
3304071168,3304071423,US
3304071424,3304071679,SC
-3304071680,3304071935,US
-3304071936,3304072447,SC
+3304071680,3304072191,US
+3304072192,3304072447,SC
3304072448,3304072703,US
3304072704,3304072959,SC
3304072960,3304073215,US
@@ -140833,7 +143386,8 @@
3304073728,3304073983,SC
3304073984,3304074239,ES
3304074240,3304074495,PT
-3304074496,3304075519,SC
+3304074496,3304075263,SC
+3304075264,3304075519,LU
3304075520,3304075775,HU
3304075776,3304076031,HK
3304076032,3304076287,AU
@@ -140876,7 +143430,7 @@
3304091136,3304091391,NO
3304091392,3304091647,NZ
3304091648,3304091903,LU
-3304091904,3304092159,SC
+3304091904,3304092159,HU
3304092160,3304092415,HK
3304092416,3304092671,SC
3304092672,3304092927,AT
@@ -140886,14 +143440,15 @@
3304093952,3304094207,DE
3304094208,3304094975,SC
3304094976,3304095231,RU
-3304095232,3304096255,SC
+3304095232,3304095487,SG
+3304095488,3304096255,SC
3304096256,3304096511,US
3304096512,3304097023,SC
3304097024,3304097279,US
-3304097280,3304098047,SC
-3304098048,3304098303,US
-3304098304,3304098815,SC
-3304098816,3304099071,US
+3304097280,3304097791,SC
+3304097792,3304098303,US
+3304098304,3304098559,SC
+3304098560,3304099071,US
3304099072,3304099327,SC
3304099328,3304099583,CA
3304099584,3304099839,SC
@@ -140983,7 +143538,9 @@
3304198912,3304199167,CH
3304199168,3304199423,NL
3304199424,3304199679,GB
-3304199680,3304201215,SC
+3304199680,3304200191,SC
+3304200192,3304200447,US
+3304200448,3304201215,SC
3304201216,3304201983,US
3304201984,3304202751,SC
3304202752,3304203263,US
@@ -140997,9 +143554,7 @@
3304206080,3304206335,US
3304206336,3304206591,CA
3304206592,3304207871,SC
-3304207872,3304209151,US
-3304209152,3304209407,SC
-3304209408,3304209663,US
+3304207872,3304209663,US
3304209664,3304210431,SC
3304210432,3304210687,SG
3304210688,3304210943,RU
@@ -141014,16 +143569,22 @@
3304214016,3304214783,SC
3304214784,3304215039,LU
3304215040,3304215295,NZ
-3304215296,3304216063,SC
+3304215296,3304215551,SC
+3304215552,3304215807,PL
+3304215808,3304216063,SC
3304216064,3304216319,ES
3304216320,3304216575,CH
3304216576,3304216831,NL
3304216832,3304217087,GB
3304217088,3304218367,SC
3304218368,3304219135,US
-3304219136,3304222207,SC
+3304219136,3304219391,SC
+3304219392,3304219647,US
+3304219648,3304222207,SC
3304222208,3304222463,US
-3304222464,3304223231,SC
+3304222464,3304222719,SC
+3304222720,3304222975,US
+3304222976,3304223231,SC
3304223232,3304223487,US
3304223488,3304223999,SC
3304224000,3304224255,US
@@ -141039,7 +143600,7 @@
3304229120,3304229375,DK
3304229376,3304229887,SC
3304229888,3304230143,BE
-3304230144,3304230399,SC
+3304230144,3304230399,AT
3304230400,3304230655,AU
3304230656,3304230911,SC
3304230912,3304231167,HU
@@ -141054,8 +143615,8 @@
3304233472,3304233983,US
3304233984,3304234751,SC
3304234752,3304235007,US
-3304235008,3304235775,SC
-3304235776,3304236287,US
+3304235008,3304235519,SC
+3304235520,3304236287,US
3304236288,3304236799,SC
3304236800,3304237055,US
3304237056,3304237567,SC
@@ -141091,7 +143652,9 @@
3304250624,3304251391,US
3304251392,3304251903,SC
3304251904,3304252159,US
-3304252160,3304253183,SC
+3304252160,3304252415,SC
+3304252416,3304252671,US
+3304252672,3304253183,SC
3304253184,3304253439,US
3304253440,3304254463,SC
3304254464,3304254719,US
@@ -141101,15 +143664,14 @@
3304256000,3304256255,US
3304256256,3304256511,CA
3304256512,3304257023,SC
-3304257024,3304257279,US
-3304257280,3304257535,SC
-3304257536,3304257791,US
+3304257024,3304257791,US
3304257792,3304325375,SC
3304325376,3304325631,US
3304325632,3304325887,AT
3304325888,3304326143,SC
3304326144,3304326399,DE
-3304326400,3304327423,SC
+3304326400,3304326655,DK
+3304326656,3304327423,SC
3304327424,3304327679,AT
3304327680,3304327935,SC
3304327936,3304328191,HK
@@ -141117,12 +143679,15 @@
3304328448,3304328703,LU
3304328704,3304329215,SC
3304329216,3304329471,PL
-3304329472,3304329983,SC
+3304329472,3304329727,PT
+3304329728,3304329983,SC
3304329984,3304330239,CH
-3304330240,3304331007,SC
+3304330240,3304330495,SC
+3304330496,3304330751,GB
+3304330752,3304331007,SC
3304331008,3304331263,US
-3304331264,3304331775,SC
-3304331776,3304332031,US
+3304331264,3304331519,SC
+3304331520,3304332031,US
3304332032,3304332543,SC
3304332544,3304332799,US
3304332800,3304333055,SC
@@ -141140,10 +143705,10 @@
3304338176,3304338687,SC
3304338688,3304338943,US
3304338944,3304339967,SC
-3304339968,3304340223,US
-3304340224,3304340735,SC
+3304339968,3304340479,US
+3304340480,3304340735,SC
3304340736,3304341247,US
-3304341248,3304341503,SC
+3304341248,3304341503,BR
3304341504,3304341759,SG
3304341760,3304342015,RU
3304342016,3304342783,SC
@@ -141160,12 +143725,11 @@
3304345856,3304346111,LU
3304346112,3304346367,SC
3304346368,3304346623,NO
-3304346624,3304347135,SC
+3304346624,3304346879,SC
+3304346880,3304347135,PT
3304347136,3304347391,ES
3304347392,3304348415,SC
-3304348416,3304348927,US
-3304348928,3304349183,SC
-3304349184,3304349695,US
+3304348416,3304349695,US
3304349696,3304350975,SC
3304350976,3304351487,US
3304351488,3304352255,SC
@@ -141186,7 +143750,10 @@
3304359424,3304359679,AT
3304359680,3304360191,SC
3304360192,3304360447,DK
-3304360448,3304362495,SC
+3304360448,3304361471,SC
+3304361472,3304361727,AU
+3304361728,3304361983,HK
+3304361984,3304362495,SC
3304362496,3304362751,NZ
3304362752,3304363007,NO
3304363008,3304363775,SC
@@ -141205,14 +143772,14 @@
3304370432,3304370687,CA
3304370688,3304370943,US
3304370944,3304371199,CA
-3304371200,3304371455,US
-3304371456,3304371967,SC
+3304371200,3304371711,US
+3304371712,3304371967,SC
3304371968,3304372223,US
3304372224,3304372735,SC
3304372736,3304372991,US
3304372992,3304373247,SC
-3304373248,3304373503,US
-3304373504,3304374783,SC
+3304373248,3304373759,US
+3304373760,3304374783,SC
3304374784,3304375039,BR
3304375040,3304376319,SC
3304376320,3304376575,DE
@@ -141220,10 +143787,12 @@
3304376832,3304377087,CZ
3304377088,3304377343,LV
3304377344,3304377599,BE
-3304377600,3304380671,SC
+3304377600,3304380159,SC
+3304380160,3304380415,CH
+3304380416,3304380671,SC
3304380672,3304380927,GB
-3304380928,3304381695,SC
-3304381696,3304381951,US
+3304380928,3304381439,SC
+3304381440,3304381951,US
3304381952,3304382207,SC
3304382208,3304382463,US
3304382464,3304382719,SC
@@ -141236,28 +143805,28 @@
3304385024,3304385535,US
3304385536,3304386047,SC
3304386048,3304386303,US
-3304386304,3304387327,SC
+3304386304,3304386815,SC
+3304386816,3304387071,CA
+3304387072,3304387327,SC
3304387328,3304387583,CA
3304387584,3304388095,SC
3304388096,3304388351,US
3304388352,3304388607,SC
3304388608,3304388863,US
-3304388864,3304389887,SC
+3304388864,3304389119,SC
+3304389120,3304389375,US
+3304389376,3304389887,SC
3304389888,3304390143,US
3304390144,3304390399,SC
3304390400,3304390655,US
3304390656,3304391679,SC
-3304391680,3304400895,US
-3304400896,3304401919,SC
-3304401920,3304403967,US
+3304391680,3304403967,US
3304403968,3304404991,SC
3304404992,3304407039,US
3304407040,3304408063,CA
3304408064,3304415231,US
3304415232,3304416255,SC
-3304416256,3304421375,US
-3304421376,3304423423,SC
-3304423424,3304428543,US
+3304416256,3304428543,US
3304428544,3304430591,SK
3304430592,3304431615,SC
3304431616,3304432639,GB
@@ -141283,8 +143852,7 @@
3304450048,3304451071,FR
3304451072,3304452095,AT
3304452096,3304453119,IN
-3304453120,3304454143,RO
-3304454144,3304455167,SG
+3304453120,3304455167,RO
3304455168,3304456191,BR
3304456192,3304521727,ZA
3304521728,3304528895,US
@@ -141335,9 +143903,7 @@
3304783872,3304801023,ZA
3304801024,3304804095,GH
3304804096,3304806399,NG
-3304806400,3304806655,ZA
-3304806656,3304807167,SC
-3304807168,3304807423,ZA
+3304806400,3304807423,ZA
3304807424,3304807935,SC
3304807936,3304808959,ZA
3304808960,3304809215,SC
@@ -141402,12 +143968,12 @@
3315138560,3315204095,MA
3315204096,3315269631,ET
3315269632,3315286015,ZA
-3315286016,3315288319,MU
-3315288320,3315288575,KE
-3315288576,3315289343,MU
+3315286016,3315288413,MU
+3315288414,3315288414,KE
+3315288415,3315289343,MU
3315289344,3315289599,KE
-3315289600,3315291135,MU
-3315291136,3315293183,KE
+3315289600,3315292159,MU
+3315292160,3315293183,KE
3315293184,3315294207,MU
3315294208,3315302399,ZA
3315302400,3315318783,ML
@@ -141422,7 +143988,9 @@
3315397097,3315400703,NG
3315400704,3315417087,UG
3315417088,3315425279,ZA
-3315425280,3315433471,SC
+3315425280,3315430399,SC
+3315430400,3315431423,GB
+3315431424,3315433471,SC
3315433472,3315449855,RW
3315449856,3315450879,BI
3315450880,3315451903,AO
@@ -141541,9 +144109,9 @@
3320446976,3320451071,SC
3320451072,3320455167,ZA
3320455168,3320463359,NG
-3320463360,3320476671,NA
-3320476672,3320477183,AO
-3320477184,3320479743,NA
+3320463360,3320475647,NA
+3320475648,3320477695,AO
+3320477696,3320479743,NA
3320479744,3320500223,ZA
3320500224,3320502271,BW
3320502272,3320504319,BJ
@@ -141580,8 +144148,8 @@
3321018368,3321020415,MU
3321020416,3321022463,TZ
3321022464,3321024511,ZA
-3321024512,3321025023,KE
-3321025024,3321025791,ZA
+3321024512,3321025279,KE
+3321025280,3321025791,ZA
3321025792,3321026815,KE
3321026816,3321027327,ZA
3321027328,3321028607,KE
@@ -141623,7 +144191,9 @@
3321968640,3321970687,CA
3321970688,3321987519,US
3321987520,3321987583,CN
-3321987584,3321987871,US
+3321987584,3321987743,US
+3321987744,3321987775,CN
+3321987776,3321987871,US
3321987872,3321987927,CN
3321987928,3321987967,US
3321987968,3321987983,CN
@@ -141641,7 +144211,9 @@
3321989024,3321989119,CN
3321989120,3321989399,US
3321989400,3321989407,CN
-3321989408,3321989759,US
+3321989408,3321989423,US
+3321989424,3321989431,CN
+3321989432,3321989759,US
3321989760,3321989791,CN
3321989792,3321989807,US
3321989808,3321989815,CN
@@ -141844,7 +144416,9 @@
3322072952,3322072959,CN
3322072960,3322073023,US
3322073024,3322073119,CN
-3322073120,3322073151,US
+3322073120,3322073135,US
+3322073136,3322073143,CN
+3322073144,3322073151,US
3322073152,3322073247,CN
3322073248,3322073311,US
3322073312,3322073327,CN
@@ -141897,12 +144471,14 @@
3322077696,3322077759,US
3322077760,3322078015,CN
3322078016,3322078079,US
-3322078080,3322078463,CN
+3322078080,3322078271,CN
+3322078272,3322078335,US
+3322078336,3322078463,CN
3322078464,3322078527,US
3322078528,3322078783,CN
3322078784,3322078911,US
-3322078912,3322078975,CN
-3322078976,3322079423,US
+3322078912,3322079039,CN
+3322079040,3322079423,US
3322079424,3322079551,CN
3322079552,3322079679,US
3322079680,3322079743,CN
@@ -141933,9 +144509,7 @@
3322082496,3322082559,US
3322082560,3322082751,CN
3322082752,3322082815,US
-3322082816,3322082879,CN
-3322082880,3322082943,US
-3322082944,3322083135,CN
+3322082816,3322083135,CN
3322083136,3322083199,US
3322083200,3322083391,CN
3322083392,3322083519,US
@@ -141963,14 +144537,12 @@
3322361883,3322362367,US
3322362368,3322362431,DE
3322362432,3322454015,US
-3322454016,3322454271,GB
-3322454272,3322609663,US
+3322454016,3322456063,GB
+3322456064,3322609663,US
3322609664,3322610687,SA
3322610688,3322683391,US
3322683392,3322691583,AR
-3322691584,3322691775,US
-3322691776,3322691791,CA
-3322691792,3322692695,US
+3322691584,3322692695,US
3322692696,3322692703,FR
3322692704,3322696543,US
3322696544,3322696551,GB
@@ -141978,11 +144550,7 @@
3322696608,3322696623,GB
3322696624,3322697951,US
3322697952,3322697983,CA
-3322697984,3322698303,US
-3322698304,3322698367,IL
-3322698368,3322699199,US
-3322699200,3322699207,PK
-3322699208,3322700095,US
+3322697984,3322700095,US
3322700096,3322700127,FR
3322700128,3322700287,US
3322700288,3322700543,NL
@@ -142010,7 +144578,9 @@
3322904864,3322904895,CN
3322904896,3322905151,US
3322905152,3322905183,CN
-3322905184,3322906431,US
+3322905184,3322905351,US
+3322905352,3322905359,CN
+3322905360,3322906431,US
3322906432,3322906559,CN
3322906560,3322906751,US
3322906752,3322906815,CN
@@ -142219,8 +144789,8 @@
3322936096,3322936103,US
3322936104,3322936239,CN
3322936240,3322936255,US
-3322936256,3322936319,CN
-3322936320,3322936839,US
+3322936256,3322936575,CN
+3322936576,3322936839,US
3322936840,3322937095,CN
3322937096,3322937119,US
3322937120,3322937151,CN
@@ -142310,20 +144880,15 @@
3323242320,3323242335,CA
3323242336,3323242367,IN
3323242368,3323242495,US
-3323242496,3323242511,CA
-3323242512,3323242527,US
+3323242496,3323242527,CA
3323242528,3323242559,IN
3323242560,3323242575,CA
3323242576,3323242591,US
-3323242592,3323242607,CA
-3323242608,3323242623,US
-3323242624,3323242655,CA
+3323242592,3323242655,CA
3323242656,3323242687,IN
-3323242688,3323242695,CA
-3323242696,3323243007,US
-3323243008,3323243031,CA
-3323243032,3323243039,US
-3323243040,3323243055,CA
+3323242688,3323242719,CA
+3323242720,3323243007,US
+3323243008,3323243055,CA
3323243056,3323243063,US
3323243064,3323243087,CA
3323243088,3323243095,IE
@@ -142335,30 +144900,32 @@
3323243224,3323243231,US
3323243232,3323243239,CA
3323243240,3323243247,US
-3323243248,3323243263,CA
-3323243264,3323243487,US
-3323243488,3323243519,CA
-3323243520,3323243551,US
-3323243552,3323243583,CA
+3323243248,3323243391,CA
+3323243392,3323243455,US
+3323243456,3323243519,CA
+3323243520,3323243535,US
+3323243536,3323243583,CA
3323243584,3323243615,US
-3323243616,3323243647,CA
-3323243648,3323243711,US
-3323243712,3323243743,CA
+3323243616,3323243663,CA
+3323243664,3323243695,US
+3323243696,3323243743,CA
3323243744,3323243791,US
3323243792,3323243815,CA
3323243816,3323243823,US
3323243824,3323243839,CA
3323243840,3323243967,US
3323243968,3323244095,CA
-3323244096,3323244255,US
-3323244256,3323244319,CA
+3323244096,3323244159,US
+3323244160,3323244191,CA
+3323244192,3323244207,US
+3323244208,3323244319,CA
3323244320,3323244327,US
3323244328,3323244399,CA
3323244400,3323244407,US
3323244408,3323244511,CA
3323244512,3323244671,US
-3323244672,3323244679,CA
-3323244680,3323244695,US
+3323244672,3323244687,CA
+3323244688,3323244695,US
3323244696,3323244703,CA
3323244704,3323244735,US
3323244736,3323244767,IN
@@ -142366,39 +144933,46 @@
3323244784,3323244799,CA
3323244800,3323244927,US
3323244928,3323245055,CA
-3323245056,3323245183,US
-3323245184,3323245215,CA
-3323245216,3323245383,US
-3323245384,3323245439,CA
-3323245440,3323245471,US
-3323245472,3323245503,CA
+3323245056,3323245087,US
+3323245088,3323245119,CA
+3323245120,3323245135,US
+3323245136,3323245151,CA
+3323245152,3323245167,US
+3323245168,3323245215,CA
+3323245216,3323245247,US
+3323245248,3323245255,CA
+3323245256,3323245263,US
+3323245264,3323245279,CA
+3323245280,3323245383,US
+3323245384,3323245503,CA
3323245504,3323245535,US
3323245536,3323245543,CA
3323245544,3323245551,US
3323245552,3323245567,CA
3323245568,3323245647,US
-3323245648,3323245655,CA
-3323245656,3323245951,US
+3323245648,3323245663,CA
+3323245664,3323245951,US
3323245952,3323245983,CA
3323245984,3323246015,US
-3323246016,3323246079,CA
+3323246016,3323246047,CN
+3323246048,3323246079,CA
3323246080,3323246207,US
3323246208,3323246215,CA
-3323246216,3323246223,US
+3323246216,3323246223,CN
3323246224,3323246231,CA
3323246232,3323246239,FI
3323246240,3323246271,CA
3323246272,3323246463,US
3323246464,3323246591,CN
-3323246592,3323247567,US
+3323246592,3323247439,US
+3323247440,3323247455,CA
+3323247456,3323247567,US
3323247568,3323247583,CA
3323247584,3323248383,US
3323248384,3323248639,CA
-3323248640,3323270420,US
-3323270421,3323270421,CH
-3323270422,3323271167,US
-3323271168,3323273215,ZA
-3323273216,3323339263,US
+3323248640,3323270399,US
+3323270400,3323270655,CH
+3323270656,3323339263,US
3323339776,3323340031,CA
3323340288,3323342591,US
3323342592,3323342847,AU
@@ -142429,7 +145003,9 @@
3323444848,3323444863,CA
3323444864,3323446271,US
3323446272,3323446527,GB
-3323446528,3323457791,US
+3323446528,3323449535,US
+3323449536,3323449539,GB
+3323449540,3323457791,US
3323457792,3323458047,GB
3323458048,3323462655,US
3323462656,3323463167,BR
@@ -142437,13 +145013,17 @@
3323477984,3323478015,GB
3323478016,3323505311,US
3323505312,3323505343,BR
-3323505344,3323505615,US
+3323505344,3323505359,US
+3323505360,3323505367,CA
+3323505368,3323505615,US
3323505616,3323505623,CA
3323505624,3323506559,US
3323506560,3323506567,PK
3323506568,3323507743,US
3323507744,3323507751,CA
-3323507752,3323510287,US
+3323507752,3323508639,US
+3323508640,3323508647,GB
+3323508648,3323510287,US
3323510288,3323510295,CA
3323510296,3323659263,US
3323659264,3323660543,NZ
@@ -142454,8 +145034,7 @@
3323677992,3323677995,US
3323677996,3323678031,CA
3323678032,3323678047,US
-3323678048,3323678095,CA
-3323678096,3323678103,CO
+3323678048,3323678103,CA
3323678104,3323678111,GB
3323678112,3323678147,CA
3323678148,3323678151,US
@@ -142494,13 +145073,10 @@
3323681524,3323681527,BR
3323681528,3323681591,CA
3323681592,3323681599,US
-3323681600,3323681663,CA
+3323681600,3323681631,CA
+3323681632,3323681663,NO
3323681664,3323681695,IN
-3323681696,3323681711,CA
-3323681712,3323681727,FR
-3323681728,3323681735,CA
-3323681736,3323681739,ES
-3323681740,3323681747,CA
+3323681696,3323681747,CA
3323681748,3323681751,VE
3323681752,3323682647,CA
3323682648,3323682651,BR
@@ -142539,7 +145115,7 @@
3323683448,3323683455,US
3323683456,3323683471,CA
3323683472,3323683479,MX
-3323683480,3323683487,BR
+3323683480,3323683487,CA
3323683488,3323683503,US
3323683504,3323683515,CA
3323683516,3323683519,MX
@@ -142636,9 +145212,7 @@
3323685832,3323685839,AR
3323685840,3323685871,CA
3323685872,3323685887,US
-3323685888,3323685899,CA
-3323685900,3323685903,US
-3323685904,3323685911,CA
+3323685888,3323685911,CA
3323685912,3323685919,US
3323685920,3323685923,CA
3323685924,3323685927,BR
@@ -142655,9 +145229,7 @@
3323686136,3323686143,MX
3323686144,3323686159,NO
3323686160,3323686163,US
-3323686164,3323686167,CA
-3323686168,3323686175,BD
-3323686176,3323686183,CA
+3323686164,3323686183,CA
3323686184,3323686191,BR
3323686192,3323686195,PE
3323686196,3323686199,VI
@@ -142671,7 +145243,9 @@
3323686368,3323686371,IN
3323686372,3323686383,CA
3323686384,3323686391,US
-3323686392,3323686591,CA
+3323686392,3323686559,CA
+3323686560,3323686563,FR
+3323686564,3323686591,CA
3323686592,3323686595,FR
3323686596,3323686599,CA
3323686600,3323686607,BR
@@ -142707,18 +145281,17 @@
3323687074,3323687074,US
3323687075,3323687079,CA
3323687080,3323687087,US
-3323687088,3323687103,CA
-3323687104,3323687111,BR
+3323687088,3323687111,CA
3323687112,3323687115,PT
-3323687116,3323687183,CA
+3323687116,3323687123,CA
+3323687124,3323687127,NL
+3323687128,3323687183,CA
3323687184,3323687199,BR
3323687200,3323687215,CA
3323687216,3323687231,US
3323687232,3323687235,CA
3323687236,3323687239,SK
-3323687240,3323687251,CA
-3323687252,3323687255,US
-3323687256,3323687279,CA
+3323687240,3323687279,CA
3323687280,3323687287,US
3323687288,3323687427,CA
3323687428,3323687431,BZ
@@ -142734,13 +145307,15 @@
3323687732,3323687735,AE
3323687736,3323687743,CA
3323687744,3323687747,ES
-3323687748,3323687783,CA
+3323687748,3323687751,CA
+3323687752,3323687759,US
+3323687760,3323687783,CA
3323687784,3323687791,US
3323687792,3323687799,AU
3323687800,3323687815,CA
3323687816,3323687819,US
3323687820,3323687863,CA
-3323687864,3323687871,MX
+3323687864,3323687871,GB
3323687872,3323687887,PK
3323687888,3323687891,BR
3323687892,3323687903,CA
@@ -142761,13 +145336,9 @@
3323688164,3323688175,BR
3323688176,3323688183,CA
3323688184,3323688187,BR
-3323688188,3323688255,CA
-3323688256,3323688271,BR
-3323688272,3323688343,CA
+3323688188,3323688343,CA
3323688344,3323688351,AE
-3323688352,3323688407,CA
-3323688408,3323688411,US
-3323688412,3323688463,CA
+3323688352,3323688463,CA
3323688464,3323688467,BR
3323688468,3323688471,CA
3323688472,3323688479,US
@@ -142841,9 +145412,9 @@
3323690096,3323690111,PK
3323690112,3323690127,US
3323690128,3323690131,FR
-3323690132,3323690155,CA
-3323690156,3323690159,BE
-3323690160,3323690199,CA
+3323690132,3323690151,CA
+3323690152,3323690155,FR
+3323690156,3323690199,CA
3323690200,3323690207,US
3323690208,3323690223,CA
3323690224,3323690235,US
@@ -142853,7 +145424,9 @@
3323690404,3323690407,DM
3323690408,3323690495,CA
3323690496,3323740159,US
-3323740160,3323748351,GB
+3323740160,3323742207,GB
+3323742208,3323746303,US
+3323746304,3323748351,GB
3323748352,3323805695,US
3323805696,3323805951,GB
3323805952,3324051455,US
@@ -142873,13 +145446,17 @@
3324279104,3324279167,ZA
3324279168,3324280695,US
3324280696,3324280703,ZW
-3324280704,3324354559,US
+3324280704,3324322815,US
+3324322816,3324323839,GB
+3324323840,3324354559,US
3324354560,3324362751,CA
3324362752,3324379135,US
3324379136,3324380159,CA
3324380160,3324380927,US
3324380928,3324381183,CA
-3324381184,3324470271,US
+3324381184,3324449535,US
+3324449536,3324449791,GB
+3324449792,3324470271,US
3324470272,3324471039,GB
3324471040,3324471295,US
3324471296,3324474367,GB
@@ -142936,7 +145513,9 @@
3324636160,3324637183,NZ
3324637184,3324638207,DE
3324638208,3324638719,IN
-3324638720,3324647679,US
+3324638720,3324638975,US
+3324638976,3324639231,DE
+3324639232,3324647679,US
3324647680,3324647935,CA
3324647936,3324660479,US
3324660480,3324660735,CA
@@ -143183,7 +145762,9 @@
3324814168,3324814223,CN
3324814224,3324814239,US
3324814240,3324814255,CN
-3324814256,3324814503,US
+3324814256,3324814367,US
+3324814368,3324814375,CN
+3324814376,3324814503,US
3324814504,3324814583,CN
3324814584,3324814735,US
3324814736,3324814751,CN
@@ -143219,7 +145800,9 @@
3324816760,3324816959,CN
3324816960,3324816983,US
3324816984,3324817023,CN
-3324817024,3324817079,US
+3324817024,3324817055,US
+3324817056,3324817063,CN
+3324817064,3324817079,US
3324817080,3324817287,CN
3324817288,3324817319,US
3324817320,3324817567,CN
@@ -143277,16 +145860,12 @@
3324822016,3324822527,CA
3324822528,3324824575,US
3324824576,3324824831,DE
-3324824832,3324843007,US
-3324843008,3324843799,AU
-3324843800,3324843801,US
-3324843802,3324844031,AU
-3324844032,3324867583,US
+3324824832,3324867583,US
3324867584,3324868607,KZ
3324868608,3324937087,US
3324937088,3324937095,BD
-3324937096,3324938159,US
-3324938160,3324938167,GB
+3324937096,3324938143,US
+3324938144,3324938167,GB
3324938168,3324938175,US
3324938176,3324938183,IN
3324938184,3324939735,US
@@ -143329,7 +145908,9 @@
3324954368,3324954431,EE
3324954432,3324954495,US
3324954496,3324954559,EE
-3324954560,3324955711,US
+3324954560,3324955391,US
+3324955392,3324955455,EE
+3324955456,3324955711,US
3324955712,3324955775,EE
3324955776,3324955903,US
3324955904,3324955967,EE
@@ -143379,7 +145960,7 @@
3325134336,3325136127,US
3325136128,3325136383,CA
3325136384,3325142015,US
-3325142016,3325142271,CR
+3325142016,3325142271,AR
3325142272,3325144831,US
3325144832,3325145087,CA
3325145088,3325169663,US
@@ -143540,7 +146121,9 @@
3325192664,3325192671,BR
3325192672,3325192767,CA
3325192768,3325192775,US
-3325192776,3325192983,CA
+3325192776,3325192935,CA
+3325192936,3325192943,DE
+3325192944,3325192983,CA
3325192984,3325192991,ES
3325192992,3325193039,CA
3325193040,3325193047,ES
@@ -143830,7 +146413,9 @@
3325198376,3325198415,CA
3325198416,3325198419,VE
3325198420,3325198423,US
-3325198424,3325198535,CA
+3325198424,3325198455,CA
+3325198456,3325198459,NL
+3325198460,3325198535,CA
3325198536,3325198543,US
3325198544,3325198559,CA
3325198560,3325198575,PA
@@ -143840,7 +146425,8 @@
3325198592,3325198619,CA
3325198620,3325198623,AR
3325198624,3325198627,ES
-3325198628,3325198643,CA
+3325198628,3325198631,PL
+3325198632,3325198643,CA
3325198644,3325198647,BD
3325198648,3325198695,CA
3325198696,3325198703,IL
@@ -143903,9 +146489,7 @@
3325200088,3325200091,ES
3325200092,3325200095,CA
3325200096,3325200111,BE
-3325200112,3325200127,CA
-3325200128,3325200191,BD
-3325200192,3325200239,CA
+3325200112,3325200239,CA
3325200240,3325200255,US
3325200256,3325200259,PE
3325200260,3325200279,CA
@@ -143945,8 +146529,7 @@
3325200828,3325200831,CO
3325200832,3325200863,BA
3325200864,3325200879,ES
-3325200880,3325200891,CA
-3325200892,3325200895,US
+3325200880,3325200895,CA
3325200896,3325200903,RO
3325200904,3325201011,CA
3325201012,3325201015,US
@@ -143987,8 +146570,8 @@
3325201664,3325201671,CO
3325201672,3325201679,CA
3325201680,3325201687,JO
-3325201688,3325201739,CA
-3325201740,3325201759,US
+3325201688,3325201743,CA
+3325201744,3325201759,US
3325201760,3325201763,SA
3325201764,3325201775,CA
3325201776,3325201779,PK
@@ -143998,21 +146581,20 @@
3325201812,3325201815,US
3325201816,3325201847,CA
3325201848,3325201851,BR
-3325201852,3325201855,ES
+3325201852,3325201855,CA
3325201856,3325201919,BR
3325201920,3325201935,CA
3325201936,3325201951,FR
3325201952,3325202015,CA
3325202016,3325202031,ES
-3325202032,3325202039,CA
-3325202040,3325202079,US
-3325202080,3325202199,CA
+3325202032,3325202079,US
+3325202080,3325202083,CA
+3325202084,3325202087,BR
+3325202088,3325202199,CA
3325202200,3325202203,US
3325202204,3325202211,CA
3325202212,3325202215,IN
-3325202216,3325202219,CA
-3325202220,3325202223,GB
-3325202224,3325202239,CA
+3325202216,3325202239,CA
3325202240,3325202255,US
3325202256,3325202271,CA
3325202272,3325202275,GB
@@ -144049,7 +146631,8 @@
3325206816,3325206819,CA
3325206820,3325206823,BR
3325206824,3325206831,CA
-3325206832,3325206839,US
+3325206832,3325206835,US
+3325206836,3325206839,CA
3325206840,3325206847,FR
3325206848,3325206863,MX
3325206864,3325206879,CA
@@ -144087,8 +146670,8 @@
3325207704,3325207735,CA
3325207736,3325207739,CL
3325207740,3325207775,CA
-3325207776,3325207783,US
-3325207784,3325207791,CA
+3325207776,3325207779,US
+3325207780,3325207791,CA
3325207792,3325207795,GB
3325207796,3325207807,CA
3325207808,3325207935,US
@@ -144120,14 +146703,11 @@
3325208544,3325208547,US
3325208548,3325208639,CA
3325208640,3325208643,EG
-3325208644,3325208647,CA
-3325208648,3325208651,HR
-3325208652,3325208747,CA
+3325208644,3325208747,CA
3325208748,3325208751,CZ
3325208752,3325208827,CA
3325208828,3325208831,EG
-3325208832,3325208835,CO
-3325208836,3325208943,CA
+3325208832,3325208943,CA
3325208944,3325208947,BR
3325208948,3325208999,CA
3325209000,3325209003,US
@@ -144148,9 +146728,7 @@
3325209184,3325209215,AR
3325209216,3325209231,CA
3325209232,3325209247,DE
-3325209248,3325209259,CA
-3325209260,3325209263,US
-3325209264,3325209327,CA
+3325209248,3325209327,CA
3325209328,3325209343,US
3325209344,3325209379,CA
3325209380,3325209383,CH
@@ -144168,9 +146746,7 @@
3325209552,3325209559,US
3325209560,3325209567,CA
3325209568,3325209575,US
-3325209576,3325209639,CA
-3325209640,3325209647,TR
-3325209648,3325209655,CA
+3325209576,3325209655,CA
3325209656,3325209663,CH
3325209664,3325209679,US
3325209680,3325209695,CA
@@ -144181,11 +146757,7 @@
3325209768,3325209775,US
3325209776,3325209779,CA
3325209780,3325209783,ID
-3325209784,3325209823,CA
-3325209824,3325209855,GB
-3325209856,3325209879,CA
-3325209880,3325209887,BD
-3325209888,3325209915,CA
+3325209784,3325209915,CA
3325209916,3325209919,FR
3325209920,3325209935,CA
3325209936,3325209939,FR
@@ -144220,10 +146792,9 @@
3325210432,3325210435,IN
3325210436,3325210439,CA
3325210440,3325210447,PA
-3325210448,3325210451,FR
+3325210448,3325210451,CA
3325210452,3325210455,ES
-3325210456,3325210511,CA
-3325210512,3325210519,MX
+3325210456,3325210519,CA
3325210520,3325210527,FR
3325210528,3325210575,CA
3325210576,3325210579,BR
@@ -144241,8 +146812,7 @@
3325210752,3325210755,CA
3325210756,3325210759,PH
3325210760,3325210767,BR
-3325210768,3325210771,AR
-3325210772,3325210775,CA
+3325210768,3325210775,CA
3325210776,3325210779,US
3325210780,3325210783,CA
3325210784,3325210787,MX
@@ -144256,9 +146826,11 @@
3325210864,3325210879,US
3325210880,3325210951,CA
3325210952,3325210955,IN
-3325210956,3325210959,VN
+3325210956,3325210959,CA
3325210960,3325210975,IN
-3325210976,3325211071,CA
+3325210976,3325210991,CA
+3325210992,3325210995,ES
+3325210996,3325211071,CA
3325211072,3325211087,BD
3325211088,3325211091,US
3325211092,3325211095,CA
@@ -144293,14 +146865,15 @@
3325212172,3325212175,IN
3325212176,3325212215,CA
3325212216,3325212223,HR
-3325212224,3325212295,CA
-3325212296,3325212303,IN
-3325212304,3325212495,CA
+3325212224,3325212407,CA
+3325212408,3325212411,US
+3325212412,3325212479,CA
+3325212480,3325212483,NL
+3325212484,3325212495,CA
3325212496,3325212511,FR
3325212512,3325212515,CY
-3325212516,3325212519,CA
-3325212520,3325212527,PK
-3325212528,3325212559,CA
+3325212516,3325212555,CA
+3325212556,3325212559,NL
3325212560,3325212575,BR
3325212576,3325212583,CA
3325212584,3325212587,HN
@@ -144308,8 +146881,7 @@
3325212592,3325212595,SI
3325212596,3325212611,CA
3325212612,3325212615,ES
-3325212616,3325212619,BD
-3325212620,3325212647,CA
+3325212616,3325212647,CA
3325212648,3325212655,US
3325212656,3325212719,CA
3325212720,3325212727,ID
@@ -144333,11 +146905,7 @@
3325213448,3325213451,BD
3325213452,3325213483,CA
3325213484,3325213487,VE
-3325213488,3325213535,CA
-3325213536,3325213543,TR
-3325213544,3325213551,CA
-3325213552,3325213555,ES
-3325213556,3325213559,CA
+3325213488,3325213559,CA
3325213560,3325213567,IN
3325213568,3325213575,CA
3325213576,3325213591,IN
@@ -144345,9 +146913,7 @@
3325213608,3325213615,US
3325213616,3325213631,CA
3325213632,3325213639,TR
-3325213640,3325213655,CA
-3325213656,3325213659,US
-3325213660,3325213679,CA
+3325213640,3325213679,CA
3325213680,3325213687,BR
3325213688,3325213695,US
3325213696,3325213711,CA
@@ -144385,7 +146951,9 @@
3325214584,3325214591,US
3325214592,3325214667,CA
3325214668,3325214671,US
-3325214672,3325214703,CA
+3325214672,3325214687,CA
+3325214688,3325214695,US
+3325214696,3325214703,CA
3325214704,3325214719,AU
3325214720,3325214735,CA
3325214736,3325214739,US
@@ -144395,9 +146963,7 @@
3325214816,3325214819,US
3325214820,3325214823,IN
3325214824,3325214831,BR
-3325214832,3325214999,CA
-3325215000,3325215007,BZ
-3325215008,3325215055,CA
+3325214832,3325215055,CA
3325215056,3325215059,IT
3325215060,3325215119,CA
3325215120,3325215127,IN
@@ -144415,9 +146981,7 @@
3325215280,3325215295,US
3325215296,3325215299,CA
3325215300,3325215303,IN
-3325215304,3325215319,CA
-3325215320,3325215327,BR
-3325215328,3325215335,CA
+3325215304,3325215335,CA
3325215336,3325215343,US
3325215344,3325215439,CA
3325215440,3325215447,LK
@@ -144433,8 +146997,8 @@
3325215612,3325215615,BR
3325215616,3325215655,CA
3325215656,3325215659,IL
-3325215660,3325215667,CA
-3325215668,3325215675,BR
+3325215660,3325215671,CA
+3325215672,3325215675,BR
3325215676,3325215731,CA
3325215732,3325215735,BR
3325215736,3325215743,CA
@@ -144445,7 +147009,7 @@
3325215808,3325215839,US
3325215840,3325215863,CA
3325215864,3325215871,BR
-3325215872,3325215903,US
+3325215872,3325215903,CA
3325215904,3325215911,DE
3325215912,3325215915,IN
3325215916,3325215919,GB
@@ -144472,9 +147036,7 @@
3325216144,3325216207,CA
3325216208,3325216215,JO
3325216216,3325216223,MU
-3325216224,3325216247,CA
-3325216248,3325216251,BR
-3325216252,3325216319,CA
+3325216224,3325216319,CA
3325216320,3325216327,US
3325216328,3325216359,CA
3325216360,3325216363,GB
@@ -144482,9 +147044,7 @@
3325216368,3325216383,US
3325216384,3325216399,CA
3325216400,3325216415,BR
-3325216416,3325216447,CA
-3325216448,3325216463,FR
-3325216464,3325216527,CA
+3325216416,3325216527,CA
3325216528,3325216531,US
3325216532,3325216815,CA
3325216816,3325216831,BR
@@ -144539,26 +147099,22 @@
3325217976,3325217979,MX
3325217980,3325217983,CA
3325217984,3325217987,US
-3325217988,3325218015,CA
-3325218016,3325218031,IN
-3325218032,3325218039,CA
+3325217988,3325218039,CA
3325218040,3325218047,US
3325218048,3325218131,CA
3325218132,3325218135,US
3325218136,3325218139,CA
-3325218140,3325218147,GB
+3325218140,3325218143,GB
+3325218144,3325218147,BR
3325218148,3325218159,CA
3325218160,3325218167,US
3325218168,3325218207,CA
3325218208,3325218239,US
3325218240,3325218251,CA
3325218252,3325218255,PL
-3325218256,3325218311,CA
-3325218312,3325218319,RU
-3325218320,3325218447,CA
+3325218256,3325218447,CA
3325218448,3325218455,AR
-3325218456,3325218463,MD
-3325218464,3325218479,CA
+3325218456,3325218479,CA
3325218480,3325218483,BR
3325218484,3325218487,CA
3325218488,3325218491,US
@@ -144616,19 +147172,18 @@
3325219792,3325219799,UY
3325219800,3325219807,CA
3325219808,3325219811,US
-3325219812,3325219815,PL
-3325219816,3325219839,CA
+3325219812,3325219839,CA
3325219840,3325219871,TN
3325219872,3325219875,BR
3325219876,3325219887,CA
3325219888,3325219903,MX
-3325219904,3325219931,US
+3325219904,3325219919,CA
+3325219920,3325219931,US
3325219932,3325219935,CA
3325219936,3325219951,US
3325219952,3325219983,CA
3325219984,3325219999,US
-3325220000,3325220027,CA
-3325220028,3325220031,US
+3325220000,3325220031,CA
3325220032,3325220039,BR
3325220040,3325220043,US
3325220044,3325220047,BR
@@ -144648,9 +147203,7 @@
3325220544,3325220559,US
3325220560,3325220591,CA
3325220592,3325220595,BE
-3325220596,3325220607,CA
-3325220608,3325220623,US
-3325220624,3325220635,CA
+3325220596,3325220635,CA
3325220636,3325220636,US
3325220637,3325220647,CA
3325220648,3325220651,MX
@@ -144703,9 +147256,7 @@
3325221788,3325221791,US
3325221792,3325221799,CA
3325221800,3325221807,BR
-3325221808,3325221887,CA
-3325221888,3325221891,US
-3325221892,3325221903,CA
+3325221808,3325221903,CA
3325221904,3325221907,US
3325221908,3325221911,CA
3325221912,3325221915,ES
@@ -144733,8 +147284,7 @@
3325222612,3325222615,CA
3325222616,3325222623,US
3325222624,3325222627,DE
-3325222628,3325222643,CA
-3325222644,3325222647,VN
+3325222628,3325222647,CA
3325222648,3325222651,IL
3325222652,3325222655,US
3325222656,3325222667,CA
@@ -144747,8 +147297,8 @@
3325222720,3325222735,AU
3325222736,3325222751,US
3325222752,3325222783,MX
-3325222784,3325222839,CA
-3325222840,3325222847,US
+3325222784,3325222843,CA
+3325222844,3325222847,US
3325222848,3325222851,CA
3325222852,3325222855,BZ
3325222856,3325222879,CA
@@ -144790,13 +147340,9 @@
3325223352,3325223355,MX
3325223356,3325223375,CA
3325223376,3325223391,US
-3325223392,3325223399,CA
-3325223400,3325223407,IE
-3325223408,3325223427,CA
+3325223392,3325223427,CA
3325223428,3325223431,US
-3325223432,3325223435,CA
-3325223436,3325223439,MX
-3325223440,3325223463,CA
+3325223432,3325223463,CA
3325223464,3325223471,US
3325223472,3325223535,CA
3325223536,3325223551,AT
@@ -144820,12 +147366,10 @@
3325223856,3325223871,AU
3325223872,3325223907,CA
3325223908,3325223911,VE
-3325223912,3325223919,CA
-3325223920,3325223935,BR
-3325223936,3325223963,CA
+3325223912,3325223963,CA
3325223964,3325223967,IL
-3325223968,3325223991,US
-3325223992,3325224031,CA
+3325223968,3325223983,US
+3325223984,3325224031,CA
3325224032,3325224039,US
3325224040,3325224043,CO
3325224044,3325224047,CA
@@ -144836,8 +147380,7 @@
3325224072,3325224079,HR
3325224080,3325224087,CA
3325224088,3325224091,BZ
-3325224092,3325224095,UA
-3325224096,3325224451,CA
+3325224092,3325224451,CA
3325224452,3325224455,SI
3325224456,3325224479,CA
3325224480,3325224511,US
@@ -144879,9 +147422,7 @@
3325225088,3325225095,US
3325225096,3325225203,CA
3325225204,3325225207,US
-3325225208,3325225247,CA
-3325225248,3325225263,TR
-3325225264,3325225287,CA
+3325225208,3325225287,CA
3325225288,3325225291,PK
3325225292,3325225295,CA
3325225296,3325225299,US
@@ -144900,8 +147441,8 @@
3325225484,3325225487,CL
3325225488,3325225495,CA
3325225496,3325225499,MX
-3325225500,3325225631,CA
-3325225632,3325225647,US
+3325225500,3325225615,CA
+3325225616,3325225647,US
3325225648,3325225671,CA
3325225672,3325225675,US
3325225676,3325225727,CA
@@ -144916,9 +147457,7 @@
3325225800,3325225807,IN
3325225808,3325225819,CA
3325225820,3325225823,US
-3325225824,3325225859,CA
-3325225860,3325225863,PK
-3325225864,3325225899,CA
+3325225824,3325225899,CA
3325225900,3325225911,CY
3325225912,3325225915,CA
3325225916,3325225919,BR
@@ -144933,7 +147472,7 @@
3325226004,3325226007,MX
3325226008,3325226023,CA
3325226024,3325226027,FR
-3325226028,3325226031,BR
+3325226028,3325226031,CA
3325226032,3325226039,HK
3325226040,3325226071,CA
3325226072,3325226075,BR
@@ -144991,14 +147530,13 @@
3325227488,3325227503,RO
3325227504,3325227519,CA
3325227520,3325227527,VG
-3325227528,3325227531,PE
-3325227532,3325227535,CA
+3325227528,3325227535,CA
3325227536,3325227539,PK
3325227540,3325227551,CA
3325227552,3325227555,BR
3325227556,3325227567,CA
3325227568,3325227571,IN
-3325227572,3325227575,KE
+3325227572,3325227575,CA
3325227576,3325227583,US
3325227584,3325227599,CA
3325227600,3325227615,CY
@@ -145010,8 +147548,7 @@
3325227804,3325227871,CA
3325227872,3325227875,BR
3325227876,3325227879,US
-3325227880,3325228063,CA
-3325228064,3325228079,US
+3325227880,3325228079,CA
3325228080,3325228087,NZ
3325228088,3325228159,US
3325228160,3325228175,AE
@@ -145028,12 +147565,13 @@
3325228676,3325228683,US
3325228684,3325228687,CA
3325228688,3325228691,BR
-3325228692,3325228735,CA
+3325228692,3325228727,CA
+3325228728,3325228731,PK
+3325228732,3325228735,CA
3325228736,3325228739,FR
3325228740,3325228807,CA
3325228808,3325228815,PL
-3325228816,3325228823,CA
-3325228824,3325228831,BR
+3325228816,3325228831,CA
3325228832,3325228863,US
3325228864,3325228871,CA
3325228872,3325228875,IN
@@ -145051,9 +147589,7 @@
3325229084,3325229087,US
3325229088,3325229175,CA
3325229176,3325229183,IN
-3325229184,3325229255,CA
-3325229256,3325229263,BR
-3325229264,3325229279,CA
+3325229184,3325229279,CA
3325229280,3325229295,US
3325229296,3325229311,FR
3325229312,3325229327,CA
@@ -145068,8 +147604,8 @@
3325229412,3325229415,RU
3325229416,3325229459,CA
3325229460,3325229463,BR
-3325229464,3325229487,US
-3325229488,3325229499,CA
+3325229464,3325229471,US
+3325229472,3325229499,CA
3325229500,3325229503,IN
3325229504,3325229511,CA
3325229512,3325229515,IN
@@ -145092,11 +147628,11 @@
3325229816,3325229823,US
3325229824,3325229831,CA
3325229832,3325229835,US
-3325229836,3325229855,CA
+3325229836,3325229847,CA
+3325229848,3325229851,BR
+3325229852,3325229855,CA
3325229856,3325229887,US
-3325229888,3325229919,CA
-3325229920,3325229935,FR
-3325229936,3325229955,CA
+3325229888,3325229955,CA
3325229956,3325229959,US
3325229960,3325229975,CA
3325229976,3325229979,IN
@@ -145104,9 +147640,7 @@
3325229992,3325229999,IN
3325230000,3325230047,CA
3325230048,3325230055,AE
-3325230056,3325230059,CA
-3325230060,3325230063,US
-3325230064,3325230079,CA
+3325230056,3325230079,CA
3325230080,3325230095,US
3325230096,3325230103,CA
3325230104,3325230111,US
@@ -145174,11 +147708,7 @@
3325307904,3325308927,GB
3325308928,3325313023,CA
3325313024,3325329407,US
-3325329408,3325337599,CA
-3325337600,3325338111,GB
-3325338112,3325340159,CA
-3325340160,3325340671,US
-3325340672,3325348351,CA
+3325329408,3325348351,CA
3325348352,3325348607,US
3325348608,3325359103,CA
3325359104,3325359615,US
@@ -145261,7 +147791,9 @@
3325921320,3325921323,CA
3325921324,3325921439,US
3325921440,3325921447,FI
-3325921448,3325922191,US
+3325921448,3325922051,US
+3325922052,3325922055,MX
+3325922056,3325922191,US
3325922192,3325922195,BR
3325922196,3325922503,US
3325922504,3325922511,FR
@@ -145325,8 +147857,8 @@
3326526464,3326526719,CA
3326526720,3326613503,US
3326613504,3326615551,CA
-3326615552,3326619647,US
-3326619648,3326623743,CA
+3326615552,3326621695,US
+3326621696,3326623743,CA
3326623744,3326631935,US
3326631936,3326632239,CA
3326632240,3326632247,RO
@@ -145379,13 +147911,18 @@
3327426560,3327459327,CA
3327459328,3327723519,US
3327723520,3327725311,CA
-3327725312,3327788543,US
+3327725312,3327751679,US
+3327751680,3327751935,DE
+3327751936,3327752191,CA
+3327752192,3327788543,US
3327788544,3327789055,CA
3327789056,3327806463,US
3327806464,3327811583,CA
3327811584,3327885311,US
3327885312,3327918079,CA
-3327918080,3328028671,US
+3327918080,3327995903,US
+3327995904,3327996927,CW
+3327996928,3328028671,US
3328028672,3328030719,CW
3328030720,3328180479,US
3328180480,3328181247,CA
@@ -145466,7 +148003,9 @@
3328550324,3328550327,GB
3328550328,3328551031,US
3328551032,3328551039,GB
-3328551040,3328551231,US
+3328551040,3328551103,US
+3328551104,3328551111,MX
+3328551112,3328551231,US
3328551232,3328551239,DO
3328551240,3328551319,US
3328551320,3328551327,AW
@@ -145508,9 +148047,9 @@
3328584576,3328584591,GB
3328584592,3328617983,US
3328617984,3328618239,CA
-3328618240,3328629503,US
-3328629504,3328629759,GB
-3328629760,3328630015,US
+3328618240,3328629631,US
+3328629632,3328629695,GB
+3328629696,3328630015,US
3328630016,3328630271,CA
3328630272,3328630783,US
3328630784,3328631807,CA
@@ -145537,7 +148076,9 @@
3328811272,3328811279,CN
3328811280,3328811295,US
3328811296,3328811303,CN
-3328811304,3328811615,US
+3328811304,3328811407,US
+3328811408,3328811415,CN
+3328811416,3328811615,US
3328811616,3328811647,CN
3328811648,3328812311,US
3328812312,3328812319,CN
@@ -145667,7 +148208,9 @@
3331098368,3331102463,US
3331102464,3331102719,CA
3331102720,3331129599,US
-3331129600,3331133183,CZ
+3331129600,3331129855,CZ
+3331129856,3331130111,US
+3331130112,3331133183,CZ
3331133184,3331133439,US
3331133440,3331133695,CZ
3331133696,3331133951,US
@@ -145678,14 +148221,18 @@
3331137280,3331137791,CZ
3331137792,3331138047,US
3331138048,3331139327,CZ
-3331139328,3331139583,US
-3331139584,3331140095,CZ
+3331139328,3331139839,US
+3331139840,3331140095,CZ
3331140096,3331140351,US
-3331140352,3331142143,CZ
+3331140352,3331141119,CZ
+3331141120,3331141375,US
+3331141376,3331142143,CZ
3331142144,3331142911,US
3331142912,3331147007,CZ
3331147008,3331147263,US
-3331147264,3331149055,CZ
+3331147264,3331147519,CZ
+3331147520,3331147775,US
+3331147776,3331149055,CZ
3331149056,3331149311,US
3331149312,3331149823,CZ
3331149824,3331150335,US
@@ -145698,11 +148245,11 @@
3331153664,3331154175,CZ
3331154176,3331154687,US
3331154688,3331155199,CZ
-3331155200,3331155455,US
-3331155456,3331157759,CZ
+3331155200,3331155711,US
+3331155712,3331157759,CZ
3331157760,3331158271,US
-3331158272,3331158783,CZ
-3331158784,3331159039,US
+3331158272,3331158527,CZ
+3331158528,3331159039,US
3331159040,3331161855,CZ
3331161856,3331162111,US
3331162112,3331162367,CZ
@@ -145715,7 +148262,9 @@
3331166976,3331167231,US
3331167232,3331167743,CZ
3331167744,3331167999,US
-3331168000,3331169279,CZ
+3331168000,3331168511,CZ
+3331168512,3331168767,US
+3331168768,3331169279,CZ
3331169280,3331169791,US
3331169792,3331170559,CZ
3331170560,3331170815,US
@@ -145737,7 +148286,9 @@
3331180032,3331180543,US
3331180544,3331181823,CZ
3331181824,3331182079,US
-3331182080,3331185407,CZ
+3331182080,3331183615,CZ
+3331183616,3331183871,US
+3331183872,3331185407,CZ
3331185408,3331185663,US
3331185664,3331187199,CZ
3331187200,3331187711,US
@@ -145794,15 +148345,17 @@
3331371712,3331371775,EE
3331371776,3331372287,US
3331372288,3331372319,FR
-3331372320,3331526399,US
+3331372320,3331523071,US
+3331523072,3331523583,GB
+3331523584,3331524095,US
+3331524096,3331524607,SG
+3331524608,3331526399,US
3331526400,3331526655,FR
3331526656,3331527167,US
3331527168,3331527679,GB
3331527680,3331529023,US
3331529024,3331529031,IN
-3331529032,3331529599,US
-3331529600,3331529727,EE
-3331529728,3331530215,US
+3331529032,3331530215,US
3331530216,3331530223,IN
3331530224,3331563519,US
3331563520,3331563775,IN
@@ -145838,13 +148391,18 @@
3331989504,3332002071,US
3332002072,3332002079,FI
3332002080,3332002111,CA
-3332002112,3332002207,US
+3332002112,3332002143,US
+3332002144,3332002159,CA
+3332002160,3332002207,US
3332002208,3332002223,CA
-3332002224,3332002303,US
-3332002304,3332002367,CA
-3332002368,3332002495,US
+3332002224,3332002255,US
+3332002256,3332002271,CA
+3332002272,3332002287,US
+3332002288,3332002431,CA
+3332002432,3332002495,US
3332002496,3332002527,GB
-3332002528,3332003839,US
+3332002528,3332003711,US
+3332003712,3332003839,CA
3332003840,3332004095,ID
3332004096,3332004351,SC
3332004352,3332004671,CA
@@ -145971,7 +148529,9 @@
3333018112,3333023231,CA
3333023232,3333025279,US
3333025280,3333029631,CA
-3333029632,3333383167,US
+3333029632,3333373951,US
+3333373952,3333375999,IN
+3333376000,3333383167,US
3333383168,3333384191,CN
3333384192,3333385983,US
3333385984,3333386239,JP
@@ -145981,11 +148541,9 @@
3333396674,3333396674,DE
3333396675,3333427967,US
3333427968,3333428223,GB
-3333428224,3333435647,US
-3333435648,3333435903,HK
-3333435904,3333444095,US
-3333444096,3333444351,GB
-3333444352,3333444607,NL
+3333428224,3333444095,US
+3333444096,3333444383,GB
+3333444384,3333444607,NL
3333444608,3333444863,SG
3333444864,3333445119,JP
3333445120,3333453823,US
@@ -146012,9 +148570,7 @@
3333519616,3333519871,HK
3333519872,3333520639,US
3333520640,3333520895,DE
-3333520896,3333566463,US
-3333566464,3333568511,GB
-3333568512,3333583871,US
+3333520896,3333583871,US
3333583872,3333584895,CA
3333584896,3333593855,US
3333593856,3333594111,CA
@@ -146024,15 +148580,16 @@
3333603330,3333603583,GB
3333603584,3333609983,US
3333609984,3333610239,SG
-3333610240,3333621503,US
+3333610240,3333614591,US
+3333614592,3333614847,GB
+3333614848,3333615103,SG
+3333615104,3333621503,US
3333621504,3333621759,CA
3333621760,3333624319,US
3333624320,3333624575,CA
3333624576,3333675775,US
3333675776,3333676031,CA
-3333676032,3333677311,US
-3333677312,3333677567,HK
-3333677568,3333701887,US
+3333676032,3333701887,US
3333701888,3333702143,GB
3333702144,3333702399,US
3333702400,3333702655,CH
@@ -146059,7 +148616,9 @@
3333829632,3333830143,IN
3333830144,3333859839,US
3333859840,3333860095,BM
-3333860096,3333939455,US
+3333860096,3333871103,US
+3333871104,3333871359,CA
+3333871360,3333939455,US
3333939456,3333939711,CA
3333939712,3333947391,US
3333947392,3333949439,IN
@@ -146090,8 +148649,8 @@
3335004592,3335004655,US
3335004656,3335004799,CN
3335004800,3335004863,US
-3335004864,3335005055,CN
-3335005056,3335005183,US
+3335004864,3335005119,CN
+3335005120,3335005183,US
3335005184,3335005247,CN
3335005248,3335005663,US
3335005664,3335005695,CN
@@ -146112,10 +148671,10 @@
3335008928,3335009023,US
3335009024,3335009039,CN
3335009040,3335009055,US
-3335009056,3335009071,CN
-3335009072,3335009087,US
-3335009088,3335009167,CN
-3335009168,3335009279,US
+3335009056,3335009167,CN
+3335009168,3335009183,US
+3335009184,3335009215,CN
+3335009216,3335009279,US
3335009280,3335009407,CN
3335009408,3335009599,US
3335009600,3335009663,CN
@@ -146141,11 +148700,7 @@
3335277312,3335277567,FR
3335277568,3335278079,US
3335278080,3335278335,JP
-3335278336,3335349343,US
-3335349344,3335349367,FR
-3335349368,3335349368,US
-3335349369,3335349375,FR
-3335349376,3335429631,US
+3335278336,3335429631,US
3335429632,3335430143,CA
3335430144,3335439615,US
3335439616,3335439871,CH
@@ -146155,17 +148710,16 @@
3335451904,3335452159,CA
3335452160,3335456767,US
3335458816,3335460863,BM
-3335460864,3335524351,US
-3335524352,3335524607,AU
-3335524608,3335526399,US
+3335460864,3335475199,US
+3335475200,3335475455,DE
+3335475456,3335526399,US
3335526400,3335526911,BR
-3335526912,3335527167,US
-3335527168,3335527235,DE
+3335526912,3335527235,DE
3335527236,3335527237,US
3335527238,3335527423,DE
-3335527424,3335527424,US
-3335527425,3335527935,IT
-3335527936,3335559680,US
+3335527424,3335546879,US
+3335546880,3335547135,KR
+3335547136,3335559680,US
3335559681,3335559935,IE
3335559936,3335564151,US
3335564152,3335564155,TH
@@ -146193,7 +148747,9 @@
3337030656,3337030911,GB
3337030912,3337044479,US
3337044480,3337044735,CA
-3337044736,3337050111,US
+3337044736,3337044991,US
+3337044992,3337045247,CA
+3337045248,3337050111,US
3337050112,3337050367,CA
3337050368,3337051903,US
3337051904,3337052159,CA
@@ -146206,9 +148762,9 @@
3337107200,3337107455,AU
3337107456,3337107711,JP
3337107712,3337107967,GB
-3337107968,3337198503,US
-3337198504,3337198511,CA
-3337198512,3337198703,US
+3337107968,3337198335,US
+3337198336,3337198591,CA
+3337198592,3337198703,US
3337198704,3337198707,CA
3337198708,3337201727,US
3337201728,3337201735,CA
@@ -146241,9 +148797,18 @@
3337650688,3337650943,US
3337650944,3337651199,HK
3337651200,3337652223,SG
-3337652224,3337654271,US
-3337654272,3337658367,AU
-3337658368,3337682943,CH
+3337652224,3337652991,CH
+3337652992,3337653247,GB
+3337653248,3337653503,CH
+3337653504,3337653759,JP
+3337653760,3337654015,CH
+3337654016,3337654271,HK
+3337654272,3337654527,SG
+3337654528,3337654783,CH
+3337654784,3337655295,AU
+3337655296,3337656063,CH
+3337656064,3337656319,US
+3337656320,3337682943,CH
3337682944,3337736959,US
3337736960,3337737215,SG
3337737216,3337882111,US
@@ -146266,71 +148831,68 @@
3337959936,3337960447,US
3337960448,3337961471,CA
3337961472,3337961487,US
-3337961488,3337961495,CA
-3337961496,3337961511,US
+3337961488,3337961503,CA
+3337961504,3337961511,US
3337961512,3337961519,CA
3337961520,3337961527,RO
3337961528,3337961535,US
-3337961536,3337961679,CA
-3337961680,3337961999,US
+3337961536,3337961687,CA
+3337961688,3337961999,US
3337962000,3337962007,CA
3337962008,3337962015,US
3337962016,3337962047,IN
-3337962048,3337962119,US
-3337962120,3337962143,CA
+3337962048,3337962111,US
+3337962112,3337962143,CA
3337962144,3337962151,US
3337962152,3337962167,CA
3337962168,3337962175,US
3337962176,3337962239,CA
3337962240,3337962319,US
-3337962320,3337962327,CA
-3337962328,3337962431,US
+3337962320,3337962335,CA
+3337962336,3337962431,US
3337962432,3337962511,CA
3337962512,3337962519,US
3337962520,3337962527,CN
-3337962528,3337962559,CA
-3337962560,3337962575,US
-3337962576,3337962607,CA
+3337962528,3337962607,CA
3337962608,3337962807,US
-3337962808,3337962815,CA
-3337962816,3337962943,US
+3337962808,3337962831,CA
+3337962832,3337962863,US
+3337962864,3337962879,CA
+3337962880,3337962943,US
3337962944,3337962951,CA
3337962952,3337962959,NO
3337962960,3337962967,CA
3337962968,3337962975,US
3337962976,3337962991,CA
-3337962992,3337963039,SC
-3337963040,3337963055,CA
-3337963056,3337963071,SC
+3337962992,3337963007,SC
+3337963008,3337963071,CA
3337963072,3337963167,US
3337963168,3337963271,DE
3337963272,3337963295,CA
3337963296,3337963311,US
3337963312,3337963335,CA
3337963336,3337963343,CN
-3337963344,3337963359,US
-3337963360,3337963375,CA
+3337963344,3337963375,CA
3337963376,3337963383,US
3337963384,3337963391,CA
-3337963392,3337963407,US
-3337963408,3337963415,CA
-3337963416,3337963431,US
+3337963392,3337963399,US
+3337963400,3337963407,CN
+3337963408,3337963423,CA
+3337963424,3337963431,US
3337963432,3337963455,CA
3337963456,3337963487,GB
3337963488,3337963495,US
-3337963496,3337963519,CA
-3337963520,3337963615,US
+3337963496,3337963535,CA
+3337963536,3337963551,US
+3337963552,3337963583,CA
+3337963584,3337963615,US
3337963616,3337963623,CA
3337963624,3337963631,US
3337963632,3337963647,CA
-3337963648,3337963743,US
-3337963744,3337963775,CA
-3337963776,3337963783,US
-3337963784,3337963799,CA
-3337963800,3337963807,US
-3337963808,3337963839,CA
-3337963840,3337963855,US
-3337963856,3337963871,CA
+3337963648,3337963679,US
+3337963680,3337963711,CA
+3337963712,3337963743,US
+3337963744,3337963871,CA
3337963872,3337963879,US
3337963880,3337963903,CA
3337963904,3337963911,MA
@@ -146343,8 +148905,7 @@
3337964320,3337964351,CA
3337964352,3337964415,US
3337964416,3337964543,CL
-3337964544,3337964671,US
-3337964672,3337964735,CA
+3337964544,3337964735,CA
3337964736,3337964751,US
3337964752,3337964767,CA
3337964768,3337969663,US
@@ -146366,7 +148927,9 @@
3338067712,3338067967,SG
3338067968,3338069247,US
3338069248,3338069759,BB
-3338069760,3338208511,US
+3338069760,3338207487,US
+3338207488,3338207743,CA
+3338207744,3338208511,US
3338208512,3338208767,CA
3338208768,3338211583,US
3338211584,3338211839,CA
@@ -146380,8 +148943,8 @@
3338231808,3338232063,CA
3338232064,3338235647,US
3338235648,3338235903,CA
-3338235904,3338241791,US
-3338241792,3338242047,CA
+3338235904,3338241535,US
+3338241536,3338242047,CA
3338242048,3338246655,US
3338246656,3338247167,CA
3338247168,3338247423,US
@@ -146392,7 +148955,9 @@
3338248960,3338249215,CA
3338249216,3338249727,US
3338249728,3338249983,CA
-3338249984,3338255615,US
+3338249984,3338252543,US
+3338252544,3338252799,CA
+3338252800,3338255615,US
3338255616,3338255871,CA
3338255872,3338257407,US
3338257408,3338257663,CA
@@ -146402,7 +148967,9 @@
3338260736,3338260991,CA
3338260992,3338262527,US
3338262528,3338262783,CA
-3338262784,3338269183,US
+3338262784,3338266111,US
+3338266112,3338266367,CA
+3338266368,3338269183,US
3338269184,3338269439,CA
3338269440,3338269951,US
3338269952,3338270207,CA
@@ -146505,16 +149072,12 @@
3339184128,3339186175,CA
3339186176,3339261951,US
3339261952,3339263999,HK
-3339264000,3339270399,US
-3339270400,3339270655,CA
+3339264000,3339270143,US
+3339270144,3339270655,CA
3339271168,3339327999,US
3339328512,3339328831,CA
3339328832,3339328895,US
-3339328896,3339328943,CA
-3339328944,3339328959,AE
-3339328960,3339329103,CA
-3339329104,3339329119,US
-3339329120,3339329279,CA
+3339328896,3339329279,CA
3339329280,3339329407,US
3339329408,3339329535,CA
3339329536,3339342847,US
@@ -146531,7 +149094,8 @@
3339722704,3339722719,CA
3339722720,3339728895,US
3339728896,3339729407,AG
-3339729408,3339729919,DM
+3339729408,3339729663,DM
+3339729664,3339729919,AG
3339729920,3339743231,US
3339743232,3339744255,CA
3339744256,3339747327,US
@@ -146552,13 +149116,9 @@
3339934720,3339935743,CA
3339935744,3339937279,US
3339937280,3339937535,MX
-3339937536,3339937816,US
-3339937817,3339937879,CN
-3339937880,3339939130,US
-3339939131,3339939191,BR
-3339939192,3339939534,US
-3339939535,3339939582,TR
-3339939583,3339952127,US
+3339937536,3339937791,US
+3339937792,3339939839,CA
+3339939840,3339952127,US
3339952128,3339956223,CA
3339956224,3339962559,US
3339962560,3339962591,GB
@@ -146616,14 +149176,14 @@
3340677120,3340679167,CA
3340679168,3340694783,US
3340694784,3340695039,CA
-3340695040,3340851455,US
+3340695040,3340846119,US
+3340846120,3340846127,GB
+3340846128,3340851455,US
3340851456,3340851711,CA
3340851712,3340852735,US
3340852736,3340853247,CA
3340853248,3340857343,US
-3340857344,3340858015,CA
-3340858016,3340858047,US
-3340858048,3340858367,CA
+3340857344,3340858367,CA
3340858368,3340859135,US
3340859136,3340859391,HK
3340859392,3340896255,US
@@ -146636,11 +149196,15 @@
3340911360,3340915455,CA
3340915456,3340919295,US
3340919296,3340921343,CA
-3340921344,3340925807,US
+3340921344,3340925159,US
+3340925160,3340925167,FR
+3340925168,3340925807,US
3340925808,3340925815,RU
3340925816,3340926151,US
3340926152,3340926159,CN
-3340926160,3341057023,US
+3340926160,3340926167,US
+3340926168,3340926175,AR
+3340926176,3341057023,US
3341057024,3341058047,CA
3341058048,3341180927,US
3341180928,3341182975,CA
@@ -146655,7 +149219,13 @@
3341216256,3341216767,JP
3341216768,3341217791,CA
3341217792,3341287423,US
-3341287424,3341408511,CZ
+3341287424,3341338623,CZ
+3341338624,3341339647,MY
+3341339648,3341339903,CZ
+3341339904,3341340159,MY
+3341340160,3341340415,CZ
+3341340416,3341340671,MY
+3341340672,3341408511,CZ
3341408512,3341408767,US
3341408768,3341418495,CZ
3341418496,3341445119,US
@@ -146684,10 +149254,7 @@
3341533952,3341534207,CA
3341534720,3341535015,US
3341535016,3341535023,MX
-3341535024,3341535087,US
-3341535088,3341535091,GH
-3341535092,3341535095,TH
-3341535096,3341535167,US
+3341535024,3341535167,US
3341535168,3341535171,BD
3341535172,3341535231,US
3341535232,3341535487,GB
@@ -146707,11 +149274,7 @@
3341645056,3341645311,CA
3341645312,3341709311,US
3341709312,3341710335,CA
-3341710336,3341727743,US
-3341727744,3341728767,AU
-3341728768,3341743103,US
-3341743104,3341743359,GB
-3341743360,3341758463,US
+3341710336,3341758463,US
3341758464,3341759487,CA
3341759488,3341760511,BB
3341760512,3341762559,CA
@@ -146745,12 +149308,29 @@
3341870592,3341871103,GB
3341871104,3341873407,US
3341873408,3341873663,CA
-3341873664,3341881087,US
-3341881088,3341881343,SG
+3341873664,3341877247,US
+3341877248,3341879295,GB
+3341879296,3341881343,SG
3341881344,3341891071,US
3341891072,3341891327,AU
3341891328,3342139391,US
-3342139392,3342204927,CH
+3342139392,3342143487,CH
+3342143488,3342143999,US
+3342144000,3342144511,CH
+3342144512,3342144767,JP
+3342144768,3342145023,GB
+3342145024,3342145279,AU
+3342145280,3342146303,CH
+3342146304,3342146559,SG
+3342146560,3342158335,CH
+3342158336,3342158591,US
+3342158592,3342186239,CH
+3342186240,3342186495,US
+3342186496,3342186751,CH
+3342186752,3342187007,US
+3342187008,3342189311,CH
+3342189312,3342189567,US
+3342189568,3342204927,CH
3342204928,3342470399,US
3342470400,3342470655,CA
3342471168,3342487551,US
@@ -146773,7 +149353,9 @@
3342516992,3342517247,CA
3342517248,3342526463,US
3342526464,3342528511,CA
-3342528512,3342552063,US
+3342528512,3342530559,US
+3342530560,3342531583,CA
+3342531584,3342552063,US
3342552064,3342553087,CA
3342553088,3342565375,US
3342565376,3342567423,CA
@@ -146807,23 +149389,23 @@
3342879488,3342879551,NL
3342879552,3342879567,US
3342879568,3342879743,NL
-3342879744,3342974975,US
+3342879744,3342958591,US
+3342958592,3342958847,BE
+3342958848,3342974975,US
3342974976,3342977023,CN
3342977024,3342979071,US
-3342979072,3342979327,ID
-3342979328,3342979583,US
-3342979584,3342979587,SG
+3342979072,3342979587,SG
3342979588,3342979591,US
-3342979592,3342979839,SG
-3342979840,3343013887,US
+3342979592,3342981119,SG
+3342981120,3343013887,US
3343013888,3343015935,CA
3343015936,3343020031,US
3343020032,3343021055,CA
-3343021056,3343055871,US
+3343021056,3343046959,US
+3343046960,3343046963,BE
+3343046964,3343055871,US
3343055872,3343056895,CA
-3343056896,3343090582,US
-3343090583,3343090583,MX
-3343090584,3343153151,US
+3343056896,3343153151,US
3343153152,3343154943,CA
3343154944,3343167487,US
3343167488,3343169535,CA
@@ -146849,7 +149431,9 @@
3343378536,3343378543,GB
3343378544,3343378559,US
3343378560,3343378583,GB
-3343378584,3343378759,US
+3343378584,3343378607,US
+3343378608,3343378615,GB
+3343378616,3343378759,US
3343378760,3343378767,CL
3343378768,3343378775,US
3343378776,3343378783,RU
@@ -146862,7 +149446,9 @@
3343378960,3343378967,RU
3343378968,3343379079,US
3343379080,3343379087,SE
-3343379088,3343379183,US
+3343379088,3343379143,US
+3343379144,3343379151,GB
+3343379152,3343379183,US
3343379184,3343379199,EE
3343379200,3343379399,US
3343379400,3343379407,CO
@@ -146876,25 +149462,21 @@
3343465472,3343466495,JM
3343466496,3343563521,US
3343563522,3343563522,SG
-3343563523,3343649791,US
-3343649792,3343650405,VI
-3343650406,3343650406,US
-3343650407,3343650815,VI
+3343563523,3343650303,US
+3343650304,3343650815,VI
3343650816,3343653535,US
3343653536,3343653551,CA
3343653552,3343653631,US
3343653632,3343653695,CA
-3343653696,3343656447,US
-3343656448,3343656959,VI
-3343656960,3343746047,US
-3343746048,3343747071,VI
-3343747072,3343763711,US
-3343763712,3343763729,CA
-3343763730,3343763730,US
-3343763731,3343763967,CA
-3343763968,3343764735,US
-3343764736,3343764991,VI
-3343764992,3343858687,US
+3343653696,3343665151,US
+3343665152,3343665663,CA
+3343665664,3343746047,US
+3343746048,3343746303,VI
+3343746304,3343746431,US
+3343746432,3343747071,VI
+3343747072,3343763903,US
+3343763904,3343763935,CA
+3343763936,3343858687,US
3343858688,3343859199,VG
3343859200,3343923135,US
3343923136,3343923199,HK
@@ -146944,7 +149526,9 @@
3344379904,3344380927,CA
3344380928,3344381167,US
3344381168,3344381175,NZ
-3344381176,3344406527,US
+3344381176,3344381263,US
+3344381264,3344381271,MX
+3344381272,3344406527,US
3344406528,3344408575,CA
3344408576,3344411135,US
3344411136,3344411647,BM
@@ -146977,10 +149561,8 @@
3344674208,3344674223,GB
3344674224,3344676863,US
3344676864,3344677247,CA
-3344677248,3344677263,US
-3344677264,3344677279,CA
-3344677280,3344677295,US
-3344677296,3344677407,CA
+3344677248,3344677311,US
+3344677312,3344677407,CA
3344677408,3344677423,US
3344677424,3344678911,CA
3344678912,3344680959,PA
@@ -147018,18 +149600,10 @@
3345327104,3345328127,CA
3345328128,3345332287,US
3345332288,3345332295,BR
-3345332296,3345332431,US
-3345332432,3345332435,AE
-3345332436,3345332495,US
+3345332296,3345332495,US
3345332496,3345332503,CA
3345332504,3345332511,CN
-3345332512,3345332539,US
-3345332540,3345332543,BR
-3345332544,3345332587,US
-3345332588,3345332591,IN
-3345332592,3345332603,US
-3345332604,3345332607,BD
-3345332608,3345332659,US
+3345332512,3345332659,US
3345332660,3345332663,VN
3345332664,3345332831,US
3345332832,3345332863,ID
@@ -147054,7 +149628,9 @@
3345398784,3345399807,BS
3345399808,3345401855,PR
3345401856,3345403903,CA
-3345403904,3345408534,US
+3345403904,3345408496,US
+3345408497,3345408497,GB
+3345408498,3345408534,US
3345408535,3345408538,AU
3345408539,3345408581,US
3345408582,3345408585,GB
@@ -147108,7 +149684,9 @@
3345448448,3345448959,BE
3345448960,3345666623,US
3345666624,3345666639,NO
-3345666640,3346196479,US
+3345666640,3345690879,US
+3345690880,3345691135,SG
+3345691136,3346196479,US
3346196480,3346197503,CA
3346197504,3346198527,US
3346198528,3346200575,CA
@@ -147120,17 +149698,17 @@
3346210243,3346210303,JM
3346210304,3346219007,US
3346219008,3346221055,CA
-3346221056,3346225151,US
+3346221056,3346221903,US
+3346221904,3346221911,IT
+3346221912,3346225151,US
3346225152,3346227199,CA
-3346227200,3346231810,US
-3346231811,3346231827,AR
-3346231828,3346231846,US
-3346231847,3346231854,GB
-3346231855,3346232608,US
+3346227200,3346232608,US
3346232609,3346232617,AR
3346232618,3346232831,US
3346232832,3346232895,GB
-3346232896,3346234367,US
+3346232896,3346233279,US
+3346233280,3346233311,GB
+3346233312,3346234367,US
3346234368,3346234687,CA
3346234688,3346234695,US
3346234696,3346235391,CA
@@ -147139,7 +149717,7 @@
3346262016,3346282495,US
3346282496,3346284543,PR
3346284544,3346319359,US
-3346321408,3346322431,US
+3346321408,3346323455,US
3346323456,3346325503,CA
3346325504,3346327551,US
3346327552,3346328575,CA
@@ -147199,7 +149777,8 @@
3347033088,3347034111,CA
3347034112,3347039231,US
3347039232,3347039999,DM
-3347040000,3347040255,LC
+3347040000,3347040063,GD
+3347040064,3347040255,LC
3347040256,3347049471,US
3347049472,3347050495,GU
3347050496,3349341695,US
@@ -147215,9 +149794,10 @@
3349533952,3349545215,US
3349545216,3349545727,CA
3349545728,3349545983,US
-3349545984,3349551103,CA
-3349551104,3349553407,US
-3349553408,3349553663,CA
+3349545984,3349548791,CA
+3349548792,3349548799,US
+3349548800,3349551103,CA
+3349551104,3349553663,US
3349553664,3349554687,IN
3349554688,3349600255,CA
3349600256,3349601023,US
@@ -147299,11 +149879,7 @@
3350488192,3350488575,US
3350488576,3350488607,CN
3350488608,3350491135,US
-3350491136,3350491489,CA
-3350491490,3350491518,US
-3350491519,3350492415,CA
-3350492416,3350492927,US
-3350492928,3350493183,CA
+3350491136,3350493183,CA
3350493184,3350501395,US
3350501396,3350501399,TR
3350501400,3350503103,US
@@ -147312,9 +149888,7 @@
3350505472,3350507519,CA
3350507520,3350548735,US
3350548736,3350548991,CA
-3350548992,3350561535,US
-3350561536,3350561791,AU
-3350561792,3350574591,US
+3350548992,3350574591,US
3350574848,3350575103,CA
3350575104,3350606847,US
3350606848,3350607871,CA
@@ -147376,7 +149950,9 @@
3351013760,3351013823,CN
3351013824,3351014063,US
3351014064,3351014143,CN
-3351014144,3351014687,US
+3351014144,3351014271,US
+3351014272,3351014335,CN
+3351014336,3351014687,US
3351014688,3351014703,CN
3351014704,3351014751,US
3351014752,3351014783,CN
@@ -147392,7 +149968,9 @@
3351043072,3351043327,CA
3351043328,3351043583,FR
3351043584,3351044095,CA
-3351044096,3351058943,US
+3351044096,3351052287,US
+3351052288,3351053311,CA
+3351053312,3351058943,US
3351058944,3351059455,CA
3351059456,3351071743,US
3351071744,3351072767,CA
@@ -147422,26 +150000,18 @@
3351113728,3351129087,US
3351129088,3351129343,HK
3351129344,3351194111,US
-3351194112,3351194623,FR
-3351194624,3351196159,US
+3351194112,3351194367,FR
+3351194368,3351196159,US
3351196160,3351196671,VG
-3351196672,3351197739,US
-3351197740,3351197743,VN
-3351197744,3351197751,US
+3351196672,3351197751,US
3351197752,3351197759,PT
3351197760,3351197795,US
3351197796,3351197799,CN
-3351197800,3351197895,US
-3351197896,3351197899,BR
-3351197900,3351198059,US
-3351198060,3351198063,IN
-3351198064,3351198231,US
+3351197800,3351198231,US
3351198232,3351198235,CA
3351198236,3351198239,US
3351198240,3351198247,TR
-3351198248,3351198371,US
-3351198372,3351198375,BR
-3351198376,3351198403,US
+3351198248,3351198403,US
3351198404,3351198407,IN
3351198408,3351198411,US
3351198412,3351198415,GB
@@ -147449,14 +150019,15 @@
3351198472,3351198475,VN
3351198476,3351198551,US
3351198552,3351198555,BD
-3351198556,3351198559,SA
-3351198560,3351198695,US
+3351198556,3351198695,US
3351198696,3351198703,MA
3351198704,3351232511,US
3351232512,3351232767,IL
3351232768,3351269217,US
3351269218,3351269218,DE
-3351269219,3351275519,US
+3351269219,3351269241,US
+3351269242,3351269242,CA
+3351269243,3351275519,US
3351275520,3351276543,CA
3351276544,3351293951,US
3351293952,3351294975,CA
@@ -147491,19 +150062,25 @@
3351380992,3351381759,CA
3351381760,3351385343,US
3351385344,3351385599,CA
-3351385600,3351389183,US
+3351385600,3351387135,US
+3351387136,3351387391,CA
+3351387392,3351389183,US
3351389184,3351389439,CA
3351389440,3351390719,US
3351390720,3351390975,CA
3351390976,3351394815,US
3351394816,3351395071,CA
-3351395072,3351398399,US
+3351395072,3351397887,US
+3351397888,3351398143,CA
+3351398144,3351398399,US
3351398400,3351398655,CA
3351398656,3351399423,US
3351399424,3351399679,CA
3351399680,3351402751,US
3351402752,3351403263,CA
-3351403264,3351405311,US
+3351403264,3351404031,US
+3351404032,3351404287,CA
+3351404288,3351405311,US
3351405312,3351405567,CA
3351405568,3351407615,US
3351407616,3351407871,CA
@@ -147562,11 +150139,10 @@
3351706368,3351706474,CA
3351706475,3351706475,US
3351706476,3351706623,CA
-3351706624,3351855615,US
-3351855616,3351855647,GB
-3351855648,3351855679,IE
-3351855680,3351855743,GB
-3351855744,3351855871,FR
+3351706624,3351854847,US
+3351854848,3351855103,SG
+3351855104,3351855615,US
+3351855616,3351855871,GB
3351855872,3351860223,US
3351860224,3351861247,KY
3351861248,3351869439,US
@@ -147590,15 +150166,15 @@
3351963648,3351969791,US
3351969792,3351970047,IL
3351970048,3351970559,US
-3351970560,3351996671,IL
+3351970560,3351987199,IL
+3351987200,3351987455,US
+3351987456,3351996671,IL
3351996672,3351996927,US
-3351996928,3352035327,IL
+3351996928,3352002303,IL
+3352002304,3352002559,US
+3352002560,3352035327,IL
3352035328,3352036351,CA
-3352036352,3352037375,US
-3352037376,3352037888,FR
-3352037889,3352037889,US
-3352037890,3352038399,FR
-3352038400,3352046591,US
+3352036352,3352046591,US
3352046592,3352049663,CA
3352049664,3352051711,US
3352051712,3352055807,CA
@@ -147692,7 +150268,9 @@
3353822208,3353822239,CN
3353822240,3353822335,US
3353822336,3353822367,CN
-3353822368,3353836799,US
+3353822368,3353823007,US
+3353823008,3353823015,CN
+3353823016,3353836799,US
3353836800,3353837311,CA
3353837312,3353855999,US
3353856000,3353858047,CA
@@ -147747,8 +150325,10 @@
3354507864,3354507871,GR
3354507872,3354507903,US
3354507904,3354507907,BZ
-3354507908,3354507911,IN
-3354507912,3354507983,US
+3354507908,3354507915,US
+3354507916,3354507919,FR
+3354507920,3354507967,US
+3354507968,3354507983,MX
3354507984,3354507991,AE
3354507992,3354508015,US
3354508016,3354508031,MX
@@ -147758,18 +150338,13 @@
3354508075,3354508075,CY
3354508076,3354508215,US
3354508216,3354508219,RU
-3354508220,3354508235,US
-3354508236,3354508239,CA
-3354508240,3354508263,US
-3354508264,3354508267,TH
-3354508268,3354508295,US
+3354508220,3354508295,US
3354508296,3354508303,CY
3354508304,3354508347,US
3354508348,3354508351,CA
3354508352,3354508439,US
3354508440,3354508447,AE
-3354508448,3354508455,TH
-3354508456,3354508487,US
+3354508448,3354508487,US
3354508488,3354508491,VN
3354508492,3354508527,US
3354508528,3354508535,AE
@@ -147779,15 +150354,12 @@
3354508704,3354508735,AE
3354508736,3354508743,US
3354508744,3354508751,BD
-3354508752,3354508855,US
-3354508856,3354508863,GB
+3354508752,3354508863,US
3354508864,3354508895,CY
3354508896,3354508927,US
3354508928,3354508943,GB
3354508944,3354508951,BR
-3354508952,3354509191,US
-3354509192,3354509199,GB
-3354509200,3354509263,US
+3354508952,3354509263,US
3354509264,3354509279,BR
3354509280,3354509295,US
3354509296,3354509299,CA
@@ -147826,7 +150398,11 @@
3354859520,3354861567,NL
3354861568,3354862079,US
3354862080,3354862335,DE
-3354862336,3354865663,US
+3354862336,3354862591,SE
+3354862592,3354862847,US
+3354862848,3354863103,SE
+3354863104,3354864127,DE
+3354864128,3354865663,US
3354865664,3354866175,CA
3354866176,3354866431,US
3354866432,3354867711,CA
@@ -147854,9 +150430,9 @@
3355308544,3355308545,SG
3355308546,3355308547,US
3355308548,3355308799,SG
-3355308800,3355309827,US
-3355309828,3355310079,SG
-3355310080,3355310591,US
+3355308800,3355309567,US
+3355309568,3355309823,GB
+3355309824,3355310591,US
3355310592,3355311103,CA
3355311104,3355338751,US
3355338752,3355340799,BB
@@ -147873,15 +150449,12 @@
3355389696,3355389951,JP
3355389952,3355407359,US
3355407360,3355408383,PR
-3355408384,3355412775,US
-3355412776,3355412783,UA
-3355412784,3355417735,US
-3355417736,3355417743,NP
-3355417744,3355418079,US
+3355408384,3355418079,US
3355418080,3355418111,CN
3355418112,3355418399,US
3355418400,3355418431,BE
-3355418432,3355418455,GB
+3355418432,3355418447,US
+3355418448,3355418455,GB
3355418456,3355432959,US
3355432960,3355435007,CA
3355435008,3355443199,US
@@ -147896,9 +150469,7 @@
3355449344,3355450367,CU
3355450368,3355451391,EC
3355451392,3355458559,BR
-3355458560,3355458591,HN
-3355458592,3355458599,US
-3355458600,3355459071,HN
+3355458560,3355459071,HN
3355459072,3355459327,BR
3355459328,3355459583,EC
3355459840,3355460095,VE
@@ -148072,9 +150643,9 @@
3355905536,3355905791,PY
3355905792,3355906047,AR
3355906048,3355910143,CL
-3355910144,3355912575,SX
-3355912576,3355912703,MF
-3355912704,3355918335,SX
+3355910144,3355916031,SX
+3355916032,3355916287,BL
+3355916288,3355918335,SX
3355918336,3355923455,EC
3355923456,3355924479,UY
3355924480,3355926527,TT
@@ -148334,8 +150905,8 @@
3356336640,3356338175,HN
3356338176,3356340479,SV
3356340480,3356340735,HN
-3356340736,3356341759,SV
-3356341760,3356342015,HN
+3356340736,3356341503,SV
+3356341504,3356342015,HN
3356342016,3356343039,SV
3356343040,3356343295,HN
3356343296,3356344319,SV
@@ -148364,19 +150935,15 @@
3356390656,3356391167,CL
3356391168,3356391423,PA
3356393472,3356413183,CL
-3356413184,3356413439,CO
-3356413440,3356413567,CL
+3356413184,3356413311,CO
+3356413312,3356413567,CL
3356413568,3356413823,CO
3356413824,3356419839,CL
-3356419840,3356419967,CO
-3356419968,3356420243,CL
-3356420244,3356420244,CO
-3356420245,3356420287,CL
-3356420288,3356420351,CO
-3356420352,3356420735,CL
-3356420736,3356420991,CO
-3356420992,3356421119,CL
-3356421120,3356422143,CO
+3356419840,3356420095,CO
+3356420096,3356420223,CL
+3356420224,3356420351,CO
+3356420352,3356420607,CL
+3356420608,3356422143,CO
3356422144,3356425471,CL
3356425472,3356425727,CO
3356425728,3356426239,CL
@@ -148489,24 +151056,27 @@
3357442416,3357442423,HN
3357442424,3357442431,GT
3357442432,3357442439,HN
-3357442440,3357443007,GT
-3357443008,3357443071,SV
-3357443072,3357443583,GT
+3357442440,3357443583,GT
3357443584,3357443839,HN
-3357443840,3357444207,GT
-3357444208,3357444215,HN
-3357444216,3357444351,GT
+3357443840,3357444351,GT
3357444352,3357444607,HN
3357444608,3357448311,GT
3357448312,3357448319,SV
-3357448320,3357449215,GT
+3357448320,3357449007,GT
+3357449008,3357449015,HN
+3357449016,3357449215,GT
3357449216,3357449727,HN
-3357449728,3357451167,GT
+3357449728,3357450751,GT
+3357450752,3357451007,SV
+3357451008,3357451167,GT
3357451168,3357451175,HN
3357451176,3357452287,GT
3357452288,3357452543,HN
-3357452544,3357453055,GT
-3357453056,3357453311,SV
+3357452544,3357452799,GT
+3357452800,3357453055,NI
+3357453056,3357453095,GT
+3357453096,3357453103,SV
+3357453104,3357453311,GT
3357453312,3357453567,HN
3357453568,3357454591,GT
3357454592,3357454847,NI
@@ -148518,18 +151088,21 @@
3357475072,3357475887,AR
3357475888,3357475903,VE
3357475904,3357476351,AR
-3357476352,3357476607,EC
+3357476352,3357476479,EC
+3357476480,3357476607,AR
3357476608,3357476863,US
-3357476864,3357477631,EC
+3357476864,3357477375,EC
+3357477376,3357477423,AR
+3357477424,3357477431,EC
+3357477432,3357477623,AR
+3357477624,3357477631,EC
3357477632,3357477887,AR
-3357477888,3357478911,CO
-3357478912,3357478991,AR
-3357478992,3357479007,CO
-3357479008,3357479039,AR
-3357479040,3357479167,CO
-3357479168,3357479935,AR
-3357479936,3357480063,CO
-3357480064,3357480559,AR
+3357477888,3357479167,CO
+3357479168,3357479839,AR
+3357479840,3357479847,CO
+3357479848,3357479935,AR
+3357479936,3357480447,CO
+3357480448,3357480559,AR
3357480560,3357480575,CO
3357480576,3357480703,AR
3357480704,3357480959,CO
@@ -148543,20 +151116,16 @@
3357532160,3357556991,AR
3357556992,3357557247,MX
3357557248,3357557759,AR
-3357557760,3357558015,EC
-3357558016,3357558271,AR
-3357558272,3357558783,EC
-3357558784,3357559007,AR
-3357559008,3357559015,EC
-3357559016,3357559039,AR
-3357559040,3357559167,EC
-3357559168,3357560319,AR
+3357557760,3357559295,EC
+3357559296,3357560319,AR
3357560320,3357560575,MX
3357560576,3357561167,AR
3357561168,3357561175,CO
3357561176,3357561199,AR
-3357561200,3357561343,CO
-3357561344,3357581311,AR
+3357561200,3357561215,CO
+3357561216,3357561247,AR
+3357561248,3357561279,CO
+3357561280,3357581311,AR
3357581312,3357589503,CL
3357589504,3357605887,BZ
3357605888,3357606911,MX
@@ -148650,28 +151219,24 @@
3358144256,3358144511,CL
3358144512,3358144639,AR
3358144640,3358144767,VE
-3358144768,3358149735,AR
-3358149736,3358149743,CO
-3358149744,3358149887,AR
-3358149888,3358150015,CO
-3358150016,3358150351,AR
-3358150352,3358150655,CO
+3358144768,3358149759,AR
+3358149760,3358150143,CO
+3358150144,3358150351,AR
+3358150352,3358150399,CO
+3358150400,3358150623,AR
+3358150624,3358150655,CO
3358150656,3358151039,AR
3358151040,3358151167,EC
3358151168,3358151551,AR
3358151552,3358151679,EC
-3358151680,3358151807,PE
-3358151808,3358153679,AR
+3358151680,3358152319,AR
+3358152320,3358152447,PE
+3358152448,3358153679,AR
3358153680,3358153695,US
3358153696,3358153727,AR
3358153728,3358153855,EC
3358153856,3358154239,AR
-3358154240,3358154303,CL
-3358154304,3358154335,AR
-3358154336,3358154351,US
-3358154352,3358154367,CL
-3358154368,3358154495,AR
-3358154496,3358154751,CL
+3358154240,3358154751,CL
3358154752,3358158847,PE
3358158848,3358159423,AR
3358159424,3358159455,EC
@@ -148711,10 +151276,13 @@
3358563328,3358564095,CO
3358564096,3358567423,AR
3358567424,3358568447,CO
-3358568448,3358578687,AR
+3358568448,3358569471,AR
+3358569472,3358570495,VE
+3358570496,3358578431,AR
+3358578432,3358578687,VE
3358578688,3358579711,CO
-3358579712,3358580223,VE
-3358580224,3358587903,AR
+3358579712,3358580735,VE
+3358580736,3358587903,AR
3358587904,3358588927,CL
3358588928,3358654463,PE
3358654464,3358658559,AR
@@ -148732,9 +151300,9 @@
3358738176,3358738687,GD
3358738688,3358739711,BB
3358739712,3358739967,KN
-3358739968,3358742783,BB
-3358742784,3358743039,TC
-3358743040,3358744575,BB
+3358739968,3358743039,BB
+3358743040,3358743295,TC
+3358743296,3358744575,BB
3358744576,3358752767,CL
3358752768,3358756863,BB
3358756864,3358760959,CL
@@ -148919,7 +151487,9 @@
3361726464,3361734655,MX
3361734656,3362258943,BR
3362258944,3362324479,CL
-3362324480,3362349055,AR
+3362324480,3362326015,AR
+3362326016,3362326271,US
+3362326272,3362349055,AR
3362349056,3362351103,CR
3362351104,3362353151,AR
3362353152,3362355199,EC
@@ -148931,7 +151501,9 @@
3362428928,3362430975,CL
3362430976,3362447359,CO
3362447360,3362447871,SV
-3362447872,3362449407,HN
+3362447872,3362448895,HN
+3362448896,3362449151,SV
+3362449152,3362449407,HN
3362449408,3362450175,SV
3362450176,3362450943,HN
3362450944,3362451455,SV
@@ -148960,7 +151532,9 @@
3362529280,3362537471,PA
3362537472,3362545663,AR
3362545664,3362549759,PE
-3362549760,3362552127,AR
+3362549760,3362551967,AR
+3362551968,3362551983,VE
+3362551984,3362552127,AR
3362552128,3362552143,VE
3362552144,3362552431,AR
3362552432,3362552447,MX
@@ -149039,7 +151613,8 @@
3363045376,3363110911,CO
3363110912,3363176447,AR
3363176448,3363274751,CO
-3363274752,3363291135,GT
+3363274752,3363289087,GT
+3363289088,3363291135,CR
3363291136,3363299327,BO
3363299328,3363373055,CL
3363373056,3363438591,PE
@@ -149079,9 +151654,7 @@
3363713280,3363714047,CL
3363714048,3363715583,PE
3363715584,3363716095,CL
-3363716096,3363716607,PE
-3363716608,3363716863,AR
-3363716864,3363717119,PE
+3363716096,3363717119,PE
3363717120,3363733503,CL
3363733504,3363831807,AR
3363831808,3367763967,BR
@@ -149100,7 +151673,8 @@
3370196992,3370214399,BR
3370214400,3370215423,AR
3370215424,3370487807,BR
-3370487808,3370488831,CR
+3370487808,3370488575,CR
+3370488576,3370488831,HN
3370488832,3370489855,AR
3370489856,3370490879,VE
3370490880,3370506239,BR
@@ -149112,9 +151686,7 @@
3370926080,3370942463,MX
3370942464,3371106303,BR
3371106304,3371122687,MX
-3371122688,3373750783,BR
-3373750784,3373751295,AE
-3373751296,3378511871,BR
+3371122688,3378511871,BR
3378511872,3380506879,MX
3380506880,3380507135,BR
3380507136,3380744191,MX
@@ -149152,8 +151724,7 @@
3380824064,3380824319,MX
3380824320,3380824575,GT
3380824576,3380825087,AR
-3380825088,3380825343,MX
-3380825344,3380825599,HT
+3380825088,3380825599,HT
3380825600,3380825855,CO
3380825856,3380826111,AR
3380826112,3380828159,BR
@@ -149265,7 +151836,7 @@
3382662144,3382665215,BR
3382665216,3382669311,MX
3382669312,3382669823,SV
-3382669824,3382670335,GT
+3382669824,3382670335,HN
3382670336,3382672383,BR
3382672384,3382677503,MX
3382677504,3382681599,BR
@@ -149279,7 +151850,9 @@
3382704128,3382706175,BR
3382706176,3382853631,MX
3382853632,3382870015,BR
-3382870016,3383701503,MX
+3382870016,3383695359,MX
+3383695360,3383695871,CO
+3383695872,3383701503,MX
3383701504,3383705599,BR
3383705600,3383754751,MX
3383754752,3384148991,AR
@@ -149319,9 +151892,7 @@
3386245120,3386376191,CL
3386376192,3386392575,CO
3386408960,3386425343,GT
-3386425344,3386435071,AR
-3386435072,3386435327,UY
-3386435328,3386441727,AR
+3386425344,3386441727,AR
3386441728,3386458111,PY
3386458112,3386474495,EC
3386474496,3386490879,UY
@@ -149348,7 +151919,8 @@
3386634240,3386636287,CO
3386636288,3386637311,BR
3386637312,3386638335,UY
-3386638336,3386640895,SX
+3386638336,3386640383,MQ
+3386640384,3386640895,SX
3386640896,3386641151,US
3386641152,3386642431,SX
3386642432,3386644735,AR
@@ -149520,6 +152092,7 @@
3389194240,3389195775,AU
3389195776,3389196287,HK
3389196288,3389197567,AU
+3389197568,3389197823,SG
3389197824,3389198079,ID
3389198080,3389198335,IN
3389198336,3389202431,KR
@@ -149539,8 +152112,7 @@
3389214720,3389218815,NZ
3389218816,3389222911,AU
3389222912,3389223935,US
-3389223936,3389225983,IN
-3389225984,3389226495,AU
+3389223936,3389226495,IN
3389226496,3389226751,SG
3389226752,3389227007,IN
3389227008,3389227519,CN
@@ -149560,9 +152132,7 @@
3389266176,3389266431,IN
3389266432,3389266943,HK
3389266944,3389267967,AU
-3389267968,3389271551,WS
-3389271552,3389272063,AU
-3389272064,3389276159,WS
+3389267968,3389276159,WS
3389276160,3389284351,AU
3389284352,3389292543,BD
3389292544,3389300735,CN
@@ -149607,7 +152177,9 @@
3389345792,3389349887,TH
3389349888,3389358079,AU
3389358080,3389366271,PK
-3389366272,3389374463,AU
+3389366272,3389372415,AU
+3389372416,3389372927,CA
+3389372928,3389374463,AU
3389374464,3389378559,MN
3389378560,3389381631,CN
3389381632,3389382655,JP
@@ -149705,8 +152277,7 @@
3389542400,3389543423,JP
3389543424,3389544447,TH
3389544448,3389545471,HK
-3389545472,3389545727,AU
-3389545728,3389545983,HK
+3389545472,3389545983,AU
3389545984,3389546495,SG
3389554688,3389562879,CN
3389562880,3389571071,KR
@@ -149977,25 +152548,21 @@
3390429952,3390439423,SG
3390439424,3390441471,NZ
3390441472,3390443519,TH
-3390443520,3390447359,NZ
-3390447360,3390447615,ID
+3390443520,3390447615,NZ
3390447616,3390455807,KR
3390455808,3390472191,JP
-3390472192,3390479615,NC
-3390479616,3390479871,FR
-3390479872,3390480383,NC
+3390472192,3390480383,NC
3390480384,3390484479,AU
3390484480,3390488575,GU
3390488576,3390492671,BD
3390492672,3390496767,JP
-3390496768,3390498303,NC
-3390498304,3390498559,FR
-3390498560,3390500863,NC
+3390496768,3390500863,NC
3390500864,3390502911,HK
3390502912,3390504959,CN
3390504960,3390767103,JP
3390767104,3390769407,NZ
3390769408,3390769663,IN
+3390769664,3390770175,AU
3390770176,3390770431,CN
3390770432,3390770687,AU
3390770688,3390770943,CN
@@ -150015,7 +152582,9 @@
3391369216,3391373311,KH
3391373312,3391414783,NZ
3391414784,3391415039,CN
-3391415040,3391444479,NZ
+3391415040,3391441407,NZ
+3391441408,3391441663,BD
+3391441664,3391444479,NZ
3391444480,3391444991,VN
3391444992,3391453183,NZ
3391453184,3391453439,ID
@@ -150567,7 +153136,7 @@
3392102144,3392102399,AU
3392102400,3392106495,CN
3392106496,3392108543,IN
-3392108544,3392109567,AU
+3392108544,3392109823,AU
3392109824,3392110079,PH
3392110080,3392110335,CN
3392110336,3392110591,IN
@@ -150638,6 +153207,7 @@
3392418560,3392418815,SG
3392418816,3392419071,ID
3392419072,3392419327,IN
+3392419328,3392419839,AU
3392419840,3392420351,IN
3392420352,3392420863,ID
3392420864,3392421119,AU
@@ -150649,8 +153219,7 @@
3392438784,3392439039,IN
3392439040,3392439551,ID
3392439552,3392439807,PG
-3392439808,3392440063,IN
-3392440064,3392440319,AU
+3392439808,3392440319,AU
3392440320,3392440575,HK
3392440576,3392440831,ID
3392440832,3392441343,BD
@@ -150697,9 +153266,7 @@
3392528384,3392536575,ID
3392536576,3392602111,IN
3392602112,3392618495,HK
-3392618496,3392618751,SG
-3392618752,3392618879,PH
-3392618880,3392626687,SG
+3392618496,3392626687,SG
3392626688,3392630783,NZ
3392630784,3392634879,JP
3392634880,3392635903,PK
@@ -150708,9 +153275,7 @@
3392637952,3392638975,TH
3392638976,3392643071,AU
3392643072,3392647167,ID
-3392647168,3392651007,MN
-3392651008,3392651135,AU
-3392651136,3392651263,MN
+3392647168,3392651263,MN
3392651264,3392659455,JP
3392659456,3392667647,TW
3392667648,3392668671,IN
@@ -150721,7 +153286,8 @@
3392681984,3392682239,SG
3392682240,3392682495,VN
3392682496,3392683007,IN
-3392683008,3392684031,AU
+3392683008,3392683519,AU
+3392683520,3392684031,NL
3392684032,3392688127,JP
3392688128,3392692223,MY
3392692224,3392700415,IN
@@ -150939,7 +153505,9 @@
3393227520,3393227775,JP
3393227776,3393231871,HK
3393231872,3393232127,JP
-3393232128,3393237759,HK
+3393232128,3393236479,HK
+3393236480,3393236735,JP
+3393236736,3393237759,HK
3393237760,3393238015,JP
3393238016,3393241087,HK
3393241088,3393241343,JP
@@ -150990,8 +153558,7 @@
3393478656,3393486847,AU
3393486848,3393495039,IN
3393495040,3393499135,AU
-3393499136,3393500159,ID
-3393500160,3393503231,SG
+3393499136,3393503231,SG
3393503232,3393507327,HK
3393507328,3393511423,SG
3393511424,3393519615,KR
@@ -151113,17 +153680,13 @@
3393872128,3393872383,JP
3393872384,3393872655,HK
3393872656,3393872656,IN
-3393872657,3393872895,HK
-3393872896,3393873919,PH
-3393873920,3393874943,HK
+3393872657,3393874943,HK
3393874944,3393875967,AU
3393875968,3393876991,HK
3393876992,3393878015,SG
3393878016,3393879039,IN
3393879040,3393880063,HK
-3393880064,3393889791,AU
-3393889792,3393890303,AE
-3393890304,3393896447,AU
+3393880064,3393896447,AU
3393896448,3393906687,NZ
3393906688,3393907711,CN
3393907712,3393908735,ID
@@ -151177,9 +153740,7 @@
3394078720,3394078975,AU
3394078976,3394079231,IN
3394079232,3394079743,PH
-3394079744,3394087471,HK
-3394087472,3394087487,CN
-3394087488,3394111487,HK
+3394079744,3394111487,HK
3394111488,3394113535,CN
3394113536,3394116351,SG
3394116352,3394116607,AU
@@ -151204,9 +153765,9 @@
3394183168,3394191359,NP
3394191360,3394215935,JP
3394215936,3394220031,AU
-3394220032,3394227048,SG
-3394227049,3394227049,AU
-3394227050,3394232319,SG
+3394220032,3394227039,SG
+3394227040,3394227047,ID
+3394227048,3394232319,SG
3394232320,3394234367,CN
3394234368,3394236415,VN
3394236416,3394238463,JP
@@ -151348,19 +153909,12 @@
3394830336,3394831359,HK
3394831360,3394832383,NZ
3394832384,3394834431,CN
-3394834432,3394834687,HK
-3394834688,3394834943,JP
-3394834944,3394834959,HK
-3394834960,3394834975,JP
-3394834976,3394835199,HK
+3394834432,3394835199,HK
3394835200,3394835455,JP
3394835456,3394835583,SG
3394835584,3394835711,JP
-3394835712,3394835967,CN
-3394835968,3394836239,JP
-3394836240,3394836247,AS
-3394836248,3394836415,JP
-3394836416,3394836479,HK
+3394835712,3394835967,HK
+3394835968,3394836479,JP
3394836480,3394838527,BT
3394838528,3394846719,NZ
3394846720,3394850815,IN
@@ -151374,7 +153928,8 @@
3394860544,3394860799,IN
3394860800,3394861055,CN
3394861056,3394861311,IN
-3394861312,3394862079,HK
+3394861312,3394861567,TW
+3394861568,3394862079,HK
3394862080,3394863103,KR
3394863104,3394871295,NZ
3394871296,3394879487,AU
@@ -151500,22 +154055,21 @@
3395180544,3395181055,VN
3395181056,3395181567,US
3395181568,3395182591,CN
-3395182592,3395190783,SG
+3395182592,3395188735,SG
+3395188736,3395190783,AU
3395190784,3395198975,JP
3395198976,3395199999,IN
3395200000,3395200511,BD
3395200512,3395200767,TH
3395200768,3395201023,MY
3395201024,3395202047,TH
-3395202048,3395202559,IN
+3395202048,3395202559,AU
3395202560,3395215359,JP
3395215360,3395219455,HK
3395219456,3395223551,TH
3395223552,3395231743,CN
3395231744,3395239935,JP
-3395239936,3395243263,SG
-3395243264,3395244031,AU
-3395244032,3395254783,SG
+3395239936,3395254783,SG
3395254784,3395255039,IN
3395255040,3395256319,SG
3395256320,3395264511,ID
@@ -151554,7 +154108,11 @@
3397087232,3397088255,HK
3397088256,3397090303,CN
3397090304,3397091327,TW
-3397091328,3397099519,GU
+3397091328,3397093375,MP
+3397093376,3397095423,GU
+3397095424,3397095935,MP
+3397095936,3397096447,GU
+3397096448,3397099519,MP
3397099520,3397103615,HK
3397103616,3397105663,LA
3397105664,3397107711,JP
@@ -151635,17 +154193,7 @@
3397338040,3397338043,SG
3397338044,3397338375,HK
3397338376,3397338379,JP
-3397338380,3397338403,HK
-3397338404,3397338415,JP
-3397338416,3397338423,HK
-3397338424,3397338427,JP
-3397338428,3397338455,HK
-3397338456,3397338457,JP
-3397338458,3397338459,HK
-3397338460,3397338463,JP
-3397338464,3397338547,HK
-3397338548,3397338551,JP
-3397338552,3397339647,HK
+3397338380,3397339647,HK
3397339648,3397339687,SG
3397339688,3397340927,HK
3397340928,3397341183,TH
@@ -151657,7 +154205,10 @@
3397369856,3397374463,CN
3397374464,3397374975,AU
3397374976,3397386239,CN
-3397386240,3397394431,GU
+3397386240,3397388799,GU
+3397388800,3397389311,JP
+3397389312,3397392383,GU
+3397392384,3397394431,MP
3397394432,3397402623,PH
3397402624,3397410815,GU
3397410816,3397411327,AU
@@ -151722,10 +154273,7 @@
3397530624,3397531647,ID
3397531648,3397532671,SG
3397532672,3397533695,JP
-3397533696,3397555711,HK
-3397555712,3397555967,KR
-3397555968,3397556223,SG
-3397556224,3397566463,HK
+3397533696,3397566463,HK
3397566464,3397574655,AU
3397574656,3397582847,CN
3397582848,3397584895,MN
@@ -151791,9 +154339,7 @@
3397872128,3397875711,JP
3397875712,3397876735,AU
3397876736,3397877759,TW
-3397877760,3397887999,JP
-3397888000,3397889023,IN
-3397889024,3397891071,JP
+3397877760,3397891071,JP
3397891072,3397892095,IN
3397892096,3397895423,JP
3397895424,3397895679,AU
@@ -151923,9 +154469,7 @@
3398637120,3398637183,HK
3398637184,3398639903,JP
3398639904,3398639907,MY
-3398639908,3398640671,JP
-3398640672,3398640695,SG
-3398640696,3398641663,JP
+3398639908,3398641663,JP
3398641664,3398643679,AU
3398643680,3398643695,NZ
3398643696,3398643711,AU
@@ -152093,9 +154637,7 @@
3399662592,3399663615,IN
3399663616,3399671807,ID
3399671808,3399679999,IN
-3399680000,3399680303,HK
-3399680304,3399680319,DE
-3399680320,3399680447,HK
+3399680000,3399680447,HK
3399680448,3399680463,SG
3399680464,3399688191,HK
3399688192,3399696383,SG
@@ -152154,7 +154696,10 @@
3399924736,3399925759,PH
3399925760,3399933951,NP
3399933952,3399942143,CN
-3399942144,3399954943,AU
+3399942144,3399944191,SG
+3399944192,3399946239,AU
+3399946240,3399950335,SG
+3399950336,3399954943,AU
3399954944,3399991295,SG
3399991296,3399995391,IN
3399995392,3399999487,KR
@@ -152253,7 +154798,8 @@
3400337152,3400337407,PH
3400337408,3400339455,CN
3400339456,3400341503,ID
-3400341504,3400343551,US
+3400341504,3400342015,AU
+3400342016,3400343551,US
3400343552,3400351743,TW
3400351744,3400359935,ID
3400359936,3400364031,JP
@@ -152276,8 +154822,8 @@
3400421376,3400423423,AU
3400423424,3400424447,KR
3400424448,3400425471,IN
-3400425472,3400430591,AU
-3400430592,3400431615,NZ
+3400425472,3400429567,AU
+3400429568,3400431615,NZ
3400431616,3400431871,IN
3400431872,3400432127,HK
3400432128,3400432639,IN
@@ -152293,9 +154839,7 @@
3400466432,3400499199,MO
3400499200,3400503295,NZ
3400503296,3400507391,JP
-3400507392,3400509183,MO
-3400509184,3400509439,CN
-3400509440,3400515583,MO
+3400507392,3400515583,MO
3400515584,3400531967,PH
3400531968,3400532991,IN
3400532992,3400534015,MY
@@ -152313,11 +154857,9 @@
3400609792,3400630271,JP
3400630272,3400646655,IN
3400646656,3400646911,HK
-3400646912,3400647679,JP
-3400647680,3400648677,AU
+3400646912,3400648677,JP
3400648678,3400648678,HK
-3400648679,3400648703,AU
-3400648704,3400648815,JP
+3400648679,3400648815,JP
3400648816,3400648831,HK
3400648832,3400649943,JP
3400649944,3400649951,HK
@@ -152360,6 +154902,7 @@
3400849408,3400851455,MN
3400851456,3400859647,AU
3400859648,3400860671,HK
+3400860672,3400861695,BD
3400861696,3400862719,CN
3400862720,3400864767,BD
3400864768,3400865791,AU
@@ -152427,9 +154970,7 @@
3405779456,3405779711,CN
3405779712,3405780991,AU
3405780992,3405781247,CN
-3405781248,3405784319,AU
-3405784320,3405784575,NZ
-3405784576,3405785599,AU
+3405781248,3405785599,AU
3405785600,3405786111,CN
3405786112,3405786367,AU
3405786368,3405787135,CN
@@ -152620,7 +155161,9 @@
3406208256,3406208511,CN
3406208512,3406208767,AU
3406208768,3406209023,CN
-3406209024,3406225407,AU
+3406209024,3406221311,AU
+3406221312,3406222335,PK
+3406222336,3406225407,AU
3406225408,3406229503,CN
3406229504,3406231551,AU
3406231552,3406232063,CN
@@ -152707,8 +155250,8 @@
3406382592,3406383359,CN
3406383360,3406383871,AU
3406383872,3406384639,CN
-3406384640,3406385151,SG
-3406385152,3406389247,AU
+3406384640,3406384895,SG
+3406384896,3406389247,AU
3406389248,3406390783,CN
3406390784,3406392319,AU
3406392320,3406392575,CN
@@ -152764,7 +155307,7 @@
3406529024,3406529535,HK
3406529536,3406529791,IL
3406529792,3406530047,IN
-3406530048,3406530303,HK
+3406530048,3406530303,SG
3406530304,3406530559,AU
3406530560,3406531583,CN
3406531584,3406531839,AU
@@ -152791,7 +155334,8 @@
3406579200,3406579711,CN
3406579712,3406583295,AU
3406583552,3406583807,CN
-3406583808,3406585855,HK
+3406583808,3406584319,SG
+3406584320,3406585855,HK
3406585856,3406586111,AU
3406586112,3406586367,JP
3406586368,3406586879,AU
@@ -152806,7 +155350,9 @@
3406594560,3406594815,CN
3406594816,3406596351,AU
3406596352,3406596607,CN
-3406596608,3406611455,AU
+3406596608,3406599167,AU
+3406599168,3406600191,JP
+3406600192,3406611455,AU
3406611456,3406612479,CN
3406612480,3406614527,HK
3406614528,3406615295,AU
@@ -153376,13 +155922,7 @@
3407473408,3407473919,CN
3407473920,3407475199,AU
3407475200,3407475455,CN
-3407475456,3407480831,AU
-3407480832,3407480912,JP
-3407480913,3407480913,AU
-3407480914,3407481223,JP
-3407481224,3407481231,AU
-3407481232,3407481343,JP
-3407481344,3407481855,AU
+3407475456,3407481855,AU
3407481856,3407482111,CN
3407482112,3407487487,AU
3407487488,3407487743,CN
@@ -153568,9 +156108,7 @@
3407691008,3407691263,CN
3407691264,3407691519,AU
3407691520,3407691775,CN
-3407691776,3407693055,AU
-3407693056,3407693311,CN
-3407693312,3407694079,AU
+3407691776,3407694079,AU
3407694080,3407694335,CN
3407694336,3407696127,AU
3407696128,3407696383,CN
@@ -153751,9 +156289,7 @@
3407896320,3407896575,CN
3407896576,3407898111,AU
3407898112,3407898367,CN
-3407898368,3407898879,AU
-3407898880,3407899135,CN
-3407899136,3407905279,AU
+3407898368,3407905279,AU
3407905280,3407905535,CN
3407905536,3407906047,AU
3407906048,3407906303,CN
@@ -153939,9 +156475,7 @@
3409435904,3409436159,CN
3409436160,3409436671,AU
3409436672,3409436927,CN
-3409436928,3409445119,AU
-3409445120,3409445375,CN
-3409445376,3409445887,AU
+3409436928,3409445887,AU
3409445888,3409446143,CN
3409446144,3409447935,AU
3409447936,3409448191,CN
@@ -154269,8 +156803,8 @@
3411247104,3411255295,KR
3411255296,3411263487,BD
3411263488,3411264511,AU
-3411264512,3411264767,NZ
-3411264768,3411269631,AU
+3411264512,3411265535,NZ
+3411265536,3411269631,AU
3411269632,3411269695,TW
3411269696,3411270143,HK
3411270144,3411270399,NZ
@@ -154331,8 +156865,7 @@
3411608576,3411608831,IN
3411608832,3411609087,AU
3411609088,3411609599,HK
-3411609600,3411610623,CN
-3411610624,3411611647,HK
+3411609600,3411611647,CN
3411611648,3411615743,ID
3411615744,3411623935,JP
3411623936,3411632127,AU
@@ -154397,9 +156930,7 @@
3411859250,3411859251,AU
3411859252,3411859815,JP
3411859816,3411859816,CN
-3411859817,3411860223,JP
-3411860224,3411860479,AU
-3411860480,3411861503,JP
+3411859817,3411861503,JP
3411861504,3411869695,AU
3411869696,3411943423,CN
3411943424,3411951615,NZ
@@ -154418,7 +156949,22 @@
3412056064,3412057087,IN
3412057088,3412058111,BD
3412058112,3412066303,CN
-3412066304,3412213759,NZ
+3412066304,3412107263,NZ
+3412107264,3412108287,LK
+3412108288,3412109311,HK
+3412109312,3412110335,PK
+3412110336,3412111359,AU
+3412111360,3412112383,BD
+3412112384,3412113407,PH
+3412113408,3412115455,BD
+3412115456,3412123647,NZ
+3412123648,3412124671,BD
+3412124672,3412125695,ID
+3412125696,3412126719,AU
+3412126720,3412127743,JP
+3412127744,3412128767,MM
+3412128768,3412129791,PH
+3412129792,3412213759,NZ
3412213760,3412221951,AU
3412221952,3412230143,IN
3412230144,3412246527,HK
@@ -154491,7 +157037,9 @@
3412631552,3412639743,SG
3412639744,3412656127,JP
3412656128,3412672511,HK
-3412672512,3412680703,JP
+3412672512,3412680191,JP
+3412680192,3412680447,IT
+3412680448,3412680703,JP
3412680704,3412697087,CN
3412697088,3412705279,IN
3412705280,3412713471,AU
@@ -154564,7 +157112,7 @@
3413540864,3413557247,NZ
3413557248,3413565439,CN
3413565440,3413569535,TW
-3413569536,3413569791,SG
+3413569536,3413569791,AU
3413569792,3413570047,CN
3413570048,3413570303,KH
3413570304,3413570559,AU
@@ -154869,9 +157417,11 @@
3413934080,3413946367,IN
3413946368,3413950463,AU
3413950464,3413966847,IN
-3413966848,3414050303,SG
-3414050304,3414050815,US
-3414050816,3414155519,SG
+3413966848,3414033919,SG
+3414033920,3414034431,MY
+3414034432,3414050303,SG
+3414050304,3414050559,US
+3414050560,3414155519,SG
3414155520,3414155775,PH
3414155776,3414163455,SG
3414163456,3414171647,PK
@@ -154896,7 +157446,13 @@
3414269952,3414278143,JP
3414278144,3414294527,IN
3414294528,3414302719,PK
-3414302720,3414310911,CN
+3414302720,3414309119,CN
+3414309120,3414309375,TH
+3414309376,3414309631,CN
+3414309632,3414309887,GB
+3414309888,3414310399,CN
+3414310400,3414310655,AE
+3414310656,3414310911,CN
3414310912,3414327295,KR
3414327296,3414335487,TH
3414335488,3414339583,AU
@@ -154964,9 +157520,8 @@
3415146496,3415162879,LK
3415162880,3415171071,AU
3415171072,3415179263,JP
-3415179264,3415187096,SG
-3415187097,3415187097,ID
-3415187098,3415187455,SG
+3415179264,3415186943,SG
+3415186944,3415187455,ID
3415187456,3415191551,AU
3415191552,3415195647,IN
3415195648,3415199743,NZ
@@ -155048,6 +157603,7 @@
3415814656,3415815167,TH
3415815168,3415816191,IN
3415816192,3415817215,JP
+3415817216,3415818239,BD
3415818240,3415822335,JP
3415822336,3415822847,MY
3415822848,3415823103,MV
@@ -155094,7 +157650,7 @@
3416285184,3416285247,VN
3416285248,3416285251,CN
3416285252,3416287231,VN
-3416287232,3416289279,HK
+3416287232,3416289279,CN
3416289280,3416293375,NZ
3416293376,3416293631,ID
3416293632,3416293887,CN
@@ -155173,26 +157729,12 @@
3416856576,3416858623,BD
3416858624,3416862719,HK
3416862720,3416864767,MN
-3416864768,3416864895,JP
-3416864896,3416865023,SG
-3416865024,3416865151,HK
+3416864768,3416865151,HK
3416865152,3416865279,SG
-3416865280,3416865287,JP
-3416865288,3416865295,HK
-3416865296,3416865303,AU
-3416865304,3416865343,HK
-3416865344,3416865359,JP
-3416865360,3416865407,HK
-3416865408,3416865599,JP
-3416865600,3416865655,HK
-3416865656,3416865791,JP
-3416865792,3416865919,SG
-3416865920,3416866055,HK
-3416866056,3416866071,SG
-3416866072,3416866079,HK
-3416866080,3416866095,SG
-3416866096,3416866559,HK
-3416866560,3416883199,SG
+3416865280,3416865663,HK
+3416865664,3416865791,JP
+3416865792,3416866815,HK
+3416866816,3416883199,SG
3416883200,3416915967,HK
3416915968,3416920063,AU
3416920064,3416921087,TH
@@ -155237,9 +157779,7 @@
3417038592,3417038847,NZ
3417038848,3417042943,CN
3417042944,3417044991,IN
-3417044992,3417045535,CX
-3417045536,3417045759,AU
-3417045760,3417046015,CX
+3417044992,3417046015,CX
3417046016,3417046271,CC
3417046272,3417047039,AU
3417047040,3417055231,PH
@@ -155268,7 +157808,7 @@
3417227264,3417243647,JP
3417243648,3417244671,PH
3417244672,3417245695,IN
-3417245696,3417246719,ID
+3417245696,3417246719,PH
3417246720,3417247743,HK
3417247744,3417251839,JP
3417251840,3417260031,KR
@@ -155447,9 +157987,7 @@
3418405936,3418405939,PH
3418405940,3418406911,JP
3418406912,3418423295,IN
-3418423296,3418435583,HK
-3418435584,3418437631,GB
-3418437632,3418444091,HK
+3418423296,3418444091,HK
3418444092,3418444095,CN
3418444096,3418456063,HK
3418456064,3418472447,IN
@@ -155462,9 +158000,10 @@
3418512320,3418512335,AU
3418512336,3418513407,JP
3418513408,3418517503,IN
-3418517504,3418518527,ID
+3418517504,3418518527,PH
3418518528,3418519551,BD
-3418519552,3418554367,HK
+3418519552,3418520575,CN
+3418520576,3418554367,HK
3418554368,3418570751,VN
3418570752,3418578943,CN
3418578944,3418583039,TH
@@ -155485,9 +158024,7 @@
3418643456,3418644479,AU
3418644480,3418644735,JP
3418644736,3418644863,AU
-3418644864,3418650807,JP
-3418650808,3418650808,HK
-3418650809,3418652671,JP
+3418644864,3418652671,JP
3418652672,3418750975,IN
3418750976,3418816511,HK
3418816512,3418947583,IN
@@ -155521,7 +158058,9 @@
3419234304,3419241751,JP
3419241752,3419241752,AU
3419241753,3419242495,JP
-3419242496,3419275263,CN
+3419242496,3419248895,CN
+3419248896,3419249151,JP
+3419249152,3419275263,CN
3419275264,3419340799,AU
3419340800,3419344895,TW
3419344896,3419348991,KR
@@ -155541,7 +158080,9 @@
3419422720,3419439103,AU
3419439104,3419442431,SG
3419442432,3419442687,HK
-3419442688,3419471871,SG
+3419442688,3419457535,SG
+3419457536,3419457791,DE
+3419457792,3419471871,SG
3419471872,3419504639,TH
3419504640,3419508735,HK
3419508736,3419512831,JP
@@ -155590,9 +158131,9 @@
3419774976,3419783167,JP
3419783168,3419791359,PH
3419791360,3419873279,AU
-3419873280,3419874033,AF
-3419874034,3419874034,DE
-3419874035,3419877375,AF
+3419873280,3419873537,AF
+3419873538,3419873538,IT
+3419873539,3419877375,AF
3419877376,3419877631,ID
3419877632,3419877887,IN
3419877888,3419878143,ID
@@ -155650,15 +158191,9 @@
3420335055,3420337171,AU
3420337172,3420337172,VN
3420337173,3420337173,IN
-3420337174,3420337439,AU
-3420337440,3420337471,SG
-3420337472,3420340048,AU
+3420337174,3420340048,AU
3420340049,3420340049,NZ
-3420340050,3420366063,AU
-3420366064,3420366079,TW
-3420366080,3420366959,AU
-3420366960,3420366975,KR
-3420366976,3420369007,AU
+3420340050,3420369007,AU
3420369008,3420369023,HK
3420369024,3420370559,AU
3420370560,3420370575,JP
@@ -155687,16 +158222,15 @@
3420435456,3420436479,JP
3420436480,3420437503,AU
3420437504,3420438527,IN
-3420438528,3420443647,HK
-3420443648,3420444159,AU
+3420438528,3420444159,HK
3420444160,3420444415,GB
3420444416,3420454911,HK
3420454912,3422000535,KR
3422000536,3422000537,IN
3422000538,3422552063,KR
-3422552064,3422846975,US
-3422846976,3422855167,GB
-3422855168,3423076351,US
+3422552064,3422849023,US
+3422849024,3422851071,GB
+3422851072,3423076351,US
3423076352,3423077375,CA
3423077376,3423092735,US
3423092736,3423093759,VI
@@ -155720,7 +158254,9 @@
3423182848,3423184895,CA
3423184896,3423225855,US
3423225856,3423226879,CA
-3423226880,3423258623,US
+3423226880,3423227561,US
+3423227562,3423227562,AU
+3423227563,3423258623,US
3423258624,3423260671,CA
3423260672,3423268863,US
3423268864,3423269887,CA
@@ -155780,9 +158316,7 @@
3423630336,3423637503,US
3423637504,3423639551,CA
3423639552,3423648767,US
-3423648768,3423649023,CA
-3423649024,3423649279,US
-3423649280,3423649791,CA
+3423648768,3423649791,CA
3423649792,3423651839,US
3423651840,3423653887,CA
3423653888,3423705599,US
@@ -155826,15 +158360,15 @@
3424493824,3424494079,CA
3424494080,3424507135,US
3424507136,3424507391,CA
-3424507392,3425173503,US
+3424507392,3424841727,US
+3424841728,3424841983,CU
+3424841984,3425173503,US
3425173504,3425304575,CA
3425304576,3425441791,US
3425441792,3425443839,GB
3425443840,3425471487,US
3425471488,3425472511,CA
-3425472512,3425483775,US
-3425483776,3425484799,GU
-3425484800,3425516799,US
+3425472512,3425516799,US
3425516800,3425517055,MX
3425517056,3425697791,US
3425697792,3425699839,CA
@@ -155873,8 +158407,8 @@
3426617856,3426618367,CA
3426618368,3426646527,US
3426646528,3426646783,GB
-3426646784,3426725375,US
-3426725376,3426725887,CA
+3426646784,3426725119,US
+3426725120,3426725887,CA
3426725888,3426729471,US
3426729472,3426729983,CA
3426729984,3426744319,US
@@ -156068,19 +158602,13 @@
3428616704,3428616959,CA
3428616960,3428617215,US
3428617216,3428617983,CA
-3428617984,3428618495,US
-3428618496,3428619007,CA
+3428617984,3428618751,US
+3428618752,3428619007,CA
3428619008,3428620287,US
3428620288,3428620799,CA
3428620800,3428621567,US
3428621568,3428621823,CA
-3428621824,3428622335,US
-3428622336,3428623615,CA
-3428623616,3428623871,US
-3428623872,3428624639,CA
-3428624640,3428625407,US
-3428625408,3428626175,CA
-3428626176,3428626431,US
+3428621824,3428626431,US
3428626432,3428627199,CA
3428627200,3428627455,US
3428627456,3428628223,CA
@@ -156130,7 +158658,8 @@
3429029632,3429029887,GB
3429029888,3429171199,US
3429171200,3429236735,CA
-3429236736,3429381887,US
+3429236736,3429380095,US
+3429380096,3429381887,FR
3429381888,3429382143,DE
3429382144,3429500927,US
3429500928,3429502975,CA
@@ -156158,7 +158687,9 @@
3430705152,3430706175,MX
3430706176,3430722303,US
3430722304,3430722559,CA
-3430722560,3430729471,US
+3430722560,3430724607,US
+3430724608,3430725631,CA
+3430725632,3430729471,US
3430729472,3430729727,GB
3430729728,3430749951,US
3430749952,3430750207,CA
@@ -156295,7 +158826,9 @@
3432748800,3432749055,PA
3432749056,3432807423,US
3432807424,3432808447,CA
-3432808448,3433955583,US
+3432808448,3433089023,US
+3433089024,3433091071,CA
+3433091072,3433955583,US
3433955584,3433959423,CA
3433959424,3433963519,US
3433963520,3433964799,CA
@@ -156365,9 +158898,7 @@
3436684198,3436684198,DK
3436684199,3436697087,US
3436697088,3436697343,VE
-3436697344,3436965901,US
-3436965902,3436965902,DE
-3436965903,3437249279,US
+3436697344,3437249279,US
3437249280,3437249535,CA
3437249536,3437259775,US
3437259776,3437260031,CA
@@ -156419,9 +158950,7 @@
3437693696,3437693951,US
3437693952,3437694207,ES
3437694208,3437695231,AT
-3437695232,3437695999,US
-3437696000,3437696511,NL
-3437696512,3437703423,US
+3437695232,3437703423,US
3437703424,3437703679,NL
3437703680,3437704191,US
3437704192,3437704703,CH
@@ -156483,9 +159012,9 @@
3438137184,3438137191,CA
3438137192,3438139391,US
3438139392,3438140415,GB
-3438140416,3438141695,US
-3438141696,3438141951,CA
-3438141952,3438215423,US
+3438140416,3438142943,US
+3438142944,3438142975,CA
+3438142976,3438215423,US
3438215424,3438215935,CA
3438215936,3438216191,US
3438216192,3438217983,CA
@@ -156502,8 +159031,8 @@
3438261760,3438262015,US
3438262016,3438271487,CA
3438271488,3438272511,US
-3438272512,3438280447,CA
-3438280448,3438542847,US
+3438272512,3438280703,CA
+3438280704,3438542847,US
3438542848,3438559231,CA
3438559232,3438559743,US
3438559744,3438608383,CA
@@ -156522,10 +159051,14 @@
3438611792,3438725647,US
3438725648,3438725655,MX
3438725656,3438895103,US
-3438895104,3438896639,HN
-3438896640,3438915605,US
+3438895104,3438896127,HN
+3438896128,3438915605,US
3438915606,3438915606,GT
-3438915607,3448377343,US
+3438915607,3444220159,US
+3444220160,3444220415,JP
+3444220416,3444220671,US
+3444220672,3444220927,ES
+3444220928,3448377343,US
3448377344,3448377855,AG
3448377856,3448379647,US
3448379648,3448379903,SG
@@ -156556,9 +159089,7 @@
3449099264,3449100287,US
3449100288,3449100799,HK
3449100800,3449101311,AU
-3449101312,3449159679,US
-3449159680,3449159935,CA
-3449159936,3449161471,US
+3449101312,3449161471,US
3449161472,3449162495,CA
3449162496,3449165311,US
3449165312,3449165567,CA
@@ -156570,22 +159101,22 @@
3449170176,3449170431,CA
3449170432,3449170687,US
3449170688,3449171199,CA
-3449171200,3449171711,US
-3449171712,3449172479,CA
+3449171200,3449171967,US
+3449171968,3449172479,CA
3449172480,3449174015,US
3449174016,3449174783,CA
-3449174784,3449175039,US
-3449175040,3449175295,CA
-3449175296,3449176063,US
+3449174784,3449176063,US
3449176064,3449176575,CA
3449176576,3449176831,US
-3449176832,3449178367,CA
+3449176832,3449177087,CA
+3449177088,3449177343,US
+3449177344,3449178367,CA
3449178368,3449178623,US
3449178624,3449178879,CA
3449178880,3449180671,US
3449180672,3449180927,CA
-3449180928,3449181439,US
-3449181440,3449181951,CA
+3449180928,3449181695,US
+3449181696,3449181951,CA
3449181952,3449183231,US
3449183232,3449184511,CA
3449184512,3449185279,US
@@ -156612,9 +159143,7 @@
3449203712,3449203775,CA
3449203776,3449204223,US
3449204224,3449204479,CA
-3449204480,3449204735,US
-3449204736,3449205759,CA
-3449205760,3449210623,US
+3449204480,3449210623,US
3449210624,3449211391,CA
3449211392,3449211647,US
3449211648,3449212415,CA
@@ -156638,17 +159167,27 @@
3449273856,3449278975,CA
3449278976,3449279487,US
3449279488,3449290495,CA
-3449290496,3449569279,US
-3449569280,3449572068,AU
-3449572069,3449572069,US
-3449572070,3449573375,AU
-3449573376,3449575423,US
-3449575424,3449577471,AU
+3449290496,3449575423,US
+3449575424,3449577471,NZ
3449577472,3449599999,US
3449600000,3449602047,CA
-3449602048,3449638911,US
-3449638912,3449639935,GB
-3449639936,3449640191,US
+3449602048,3449639167,US
+3449639168,3449639359,GB
+3449639360,3449639363,US
+3449639364,3449639364,CZ
+3449639365,3449639365,US
+3449639366,3449639366,ES
+3449639367,3449639367,FR
+3449639368,3449639368,US
+3449639369,3449639369,IE
+3449639370,3449639370,IT
+3449639371,3449639371,NL
+3449639372,3449639372,US
+3449639373,3449639373,RO
+3449639374,3449639423,US
+3449639424,3449639679,GB
+3449639680,3449639935,US
+3449639936,3449640191,GB
3449640192,3449640447,NL
3449640448,3449640703,GB
3449640704,3449769727,US
@@ -156706,23 +159245,21 @@
3450731520,3450732543,CA
3450732544,3450773503,US
3450773504,3450777599,CA
-3450777600,3450851071,US
-3450851072,3450851327,AU
-3450851328,3450852351,US
+3450777600,3450849791,US
+3450849792,3450850047,GB
+3450850048,3450852351,US
3450852352,3450853375,CA
-3450853376,3450984703,US
-3450984704,3450984959,PH
-3450984960,3450986495,US
+3450853376,3450986495,US
3450986496,3450986751,HK
-3450986752,3451187967,US
+3450986752,3450987007,US
+3450987008,3450987263,HK
+3450987264,3451187967,US
3451187968,3451188223,AU
3451188224,3451289599,US
3451289600,3451290623,NL
3451290624,3451293695,US
3451293696,3451294719,GB
-3451294720,3451295743,US
-3451295744,3451296255,GB
-3451296256,3451312127,US
+3451294720,3451312127,US
3451312128,3451314175,MY
3451314176,3451371519,US
3451371520,3451371775,GB
@@ -156797,9 +159334,7 @@
3452766976,3452767487,CA
3452767488,3452767743,US
3452767744,3452767999,CA
-3452768000,3452768607,US
-3452768608,3452768623,CA
-3452768624,3452769023,US
+3452768000,3452769023,US
3452769024,3452769279,CA
3452769280,3452769791,US
3452769792,3452770047,CA
@@ -156819,15 +159354,11 @@
3452776192,3452776703,CA
3452776704,3452776959,US
3452776960,3452777471,CA
-3452777472,3452778495,US
-3452778496,3452778751,CA
-3452778752,3452779263,US
+3452777472,3452779263,US
3452779264,3452779519,CA
3452779520,3452781823,US
3452781824,3452782079,CA
-3452782080,3452782335,US
-3452782336,3452782591,CA
-3452782592,3452784383,US
+3452782080,3452784383,US
3452784384,3452784639,CA
3452784640,3452785663,US
3452785664,3452785919,CA
@@ -156869,9 +159400,7 @@
3452803584,3452803839,CA
3452803840,3452804095,US
3452804096,3452806143,CA
-3452806144,3452806911,US
-3452806912,3452807167,CA
-3452807168,3452807423,US
+3452806144,3452807423,US
3452807424,3452807679,CA
3452807680,3452808447,US
3452808448,3452808703,CA
@@ -156881,13 +159410,11 @@
3452811008,3452811263,CA
3452811264,3452811775,US
3452811776,3452812287,CA
-3452812288,3452812543,US
-3452812544,3452813311,CA
+3452812288,3452812799,US
+3452812800,3452813311,CA
3452813312,3452813567,US
3452813568,3452814079,CA
-3452814080,3452814591,US
-3452814592,3452814847,CA
-3452814848,3452815103,US
+3452814080,3452815103,US
3452815104,3452815359,CA
3452815360,3452816895,US
3452816896,3452817663,CA
@@ -156899,9 +159426,7 @@
3452819200,3452819711,CA
3452819712,3452820479,US
3452820480,3452820735,CA
-3452820736,3452823295,US
-3452823296,3452823551,CA
-3452823552,3452823807,US
+3452820736,3452823807,US
3452823808,3452824063,CA
3452824064,3452824831,US
3452824832,3452825599,CA
@@ -156979,9 +159504,7 @@
3453180928,3453195263,CA
3453195264,3453195519,US
3453195520,3453206527,CA
-3453206528,3453207551,HN
-3453207552,3453207807,NI
-3453207808,3453210623,HN
+3453206528,3453210623,HN
3453210624,3453213183,CR
3453213184,3453214719,HN
3453214720,3453215231,GT
@@ -157008,15 +159531,13 @@
3453409536,3453411327,BB
3453411328,3453419519,US
3453419520,3453427711,MO
-3453427712,3453551844,US
-3453551845,3453551845,GB
-3453551846,3453552127,US
-3453552128,3453552383,GB
-3453552384,3453552639,US
-3453552640,3453554687,GB
+3453427712,3453550591,US
+3453550592,3453554687,GB
3453554688,3453555967,US
3453555968,3453556031,GB
-3453556032,3453587023,US
+3453556032,3453556735,US
+3453556736,3453558783,GB
+3453558784,3453587023,US
3453587024,3453587071,SG
3453587072,3453599999,US
3453600000,3453600511,GB
@@ -157036,9 +159557,7 @@
3453615616,3453616127,AG
3453616128,3453796351,US
3453796352,3453800447,CA
-3453800448,3453802495,US
-3453802496,3453803007,GB
-3453803008,3454003013,US
+3453800448,3454003013,US
3454003014,3454003014,ES
3454003015,3454004997,US
3454004998,3454004998,GB
@@ -157048,8 +159567,8 @@
3454497792,3454498815,MX
3454498816,3454599423,US
3454599424,3454601215,CA
-3454601216,3454603007,US
-3454603008,3454603519,CA
+3454601216,3454602751,US
+3454602752,3454603519,CA
3454603520,3454604031,US
3454604032,3454604799,CA
3454604800,3454607359,US
@@ -157111,7 +159630,9 @@
3454881792,3454883839,CA
3454883840,3454915071,US
3454915072,3454926847,CA
-3454926848,3455035391,US
+3454926848,3455017471,US
+3455017472,3455017983,GB
+3455017984,3455035391,US
3455035392,3455035903,AU
3455035904,3455109119,US
3455109120,3455111167,HN
@@ -157120,9 +159641,7 @@
3455132160,3455133695,BO
3455133696,3455320063,US
3455320064,3455322111,FR
-3455322112,3455333887,US
-3455333888,3455334399,NL
-3455334400,3455357951,US
+3455322112,3455357951,US
3455357952,3455358975,BB
3455358976,3455418367,US
3455418368,3455418879,KY
@@ -157201,11 +159720,12 @@
3455848928,3455848959,TW
3455848960,3455871999,US
3455872000,3455872255,ZM
-3455872256,3455899969,US
-3455899970,3455899970,HK
-3455899971,3455903967,US
+3455872256,3455899647,US
+3455899648,3455901695,HK
+3455901696,3455903967,US
3455903968,3455903983,HK
-3455903984,3455905791,US
+3455903984,3455905535,US
+3455905536,3455905791,HK
3455905792,3455906047,MX
3455906048,3455909887,US
3455909888,3455975423,IN
@@ -157213,9 +159733,7 @@
3456303104,3456311295,JP
3456311296,3456360447,US
3456360448,3456364543,BG
-3456364544,3456856063,US
-3456856064,3456856319,CA
-3456856320,3456892927,US
+3456364544,3456892927,US
3456892928,3456958463,CA
3456958464,3457551871,US
3457551872,3457552127,CA
@@ -157224,14 +159742,14 @@
3457565184,3457592319,US
3457592320,3457592575,CA
3457592576,3457596671,US
-3457596672,3457597695,CA
-3457597696,3457598207,US
+3457596672,3457597439,CA
+3457597440,3457598207,US
3457598208,3457598463,CA
3457598464,3457684223,US
3457684224,3457684479,CA
-3457684480,3457756351,US
-3457756352,3457756383,GB
-3457756384,3457762303,US
+3457684480,3457756159,US
+3457756160,3457756415,GB
+3457756416,3457762303,US
3457762304,3457765375,CA
3457765376,3458039807,US
3458039808,3458043903,CA
@@ -157239,9 +159757,7 @@
3458195456,3458196479,SG
3458196480,3458233343,US
3458233344,3458234367,CA
-3458234368,3458794095,US
-3458794096,3458794111,FR
-3458794112,3458806783,US
+3458234368,3458806783,US
3458806784,3458807807,GB
3458807808,3458813951,US
3458813952,3458818047,CA
@@ -157251,7 +159767,9 @@
3458820864,3458821119,JM
3458821120,3458821887,US
3458821888,3458822143,CA
-3458822144,3459055615,US
+3458822144,3458842367,US
+3458842368,3458842623,CA
+3458842624,3459055615,US
3459055616,3459121151,CA
3459121152,3459186687,US
3459186688,3459230975,CA
@@ -157262,8 +159780,12 @@
3459268608,3459285503,US
3459285504,3459285759,CL
3459285760,3459310591,US
-3459310592,3459310847,KY
-3459310848,3459343359,US
+3459310592,3459311142,KY
+3459311143,3459311143,US
+3459311144,3459311231,KY
+3459311232,3459327487,US
+3459327488,3459327999,CO
+3459328000,3459343359,US
3459343360,3459343615,CA
3459343616,3459350527,US
3459350528,3459352575,VE
@@ -157312,9 +159834,11 @@
3459691776,3459692543,NL
3459692544,3459731455,US
3459731456,3459735551,CA
-3459735552,3459745535,US
-3459745536,3459745791,IT
-3459745792,3459847807,US
+3459735552,3459842047,US
+3459842048,3459843583,BR
+3459843584,3459843839,US
+3459843840,3459844095,BR
+3459844096,3459847807,US
3459847808,3459847871,JP
3459847872,3459848959,US
3459848960,3459849215,FR
@@ -157327,7 +159851,9 @@
3460114432,3460116479,SR
3460116480,3460161535,US
3460161536,3460165631,PR
-3460165632,3460762367,US
+3460165632,3460507647,US
+3460507648,3460507903,MX
+3460507904,3460762367,US
3460762368,3460762623,CA
3460762624,3460763391,US
3460763392,3460763647,VG
@@ -157342,7 +159868,7 @@
3460908288,3460908543,FI
3460908544,3460912127,US
3460912128,3460912383,IT
-3460912384,3460912639,FR
+3460912384,3460912639,US
3460912640,3460912895,ES
3460912896,3460916479,US
3460916480,3460916735,GB
@@ -157357,18 +159883,12 @@
3460928768,3460936703,US
3460936704,3460936959,IT
3460936960,3460937215,DE
-3460937216,3460939263,US
-3460939264,3460939519,HK
-3460939520,3460944895,US
-3460944896,3460945151,DE
-3460945152,3460947711,US
+3460937216,3460947711,US
3460947712,3460947967,SE
3460947968,3460952575,US
3460952576,3460952831,ES
3460952832,3461021695,US
-3461021696,3461031935,CA
-3461031936,3461032191,US
-3461032192,3461087231,CA
+3461021696,3461087231,CA
3461087232,3461332735,US
3461332736,3461332991,SG
3461332992,3461356543,US
@@ -157381,8 +159901,12 @@
3461419008,3461423103,DE
3461423104,3461441535,US
3461441536,3461441791,CA
-3461441792,3461442815,US
-3461443584,3461462015,US
+3461441792,3461443071,US
+3461443072,3461443327,VG
+3461443584,3461461247,US
+3461461248,3461461503,DE
+3461461504,3461461759,SG
+3461461760,3461462015,US
3461462016,3461462527,AU
3461462528,3461462783,US
3461462784,3461463039,SG
@@ -157398,9 +159922,7 @@
3461948160,3461948415,CA
3461948416,3461949951,US
3461949952,3461950207,CA
-3461950208,3461950719,US
-3461950720,3461950975,CA
-3461950976,3461953535,US
+3461950208,3461953535,US
3461953536,3461953791,CA
3461953792,3461977855,US
3461977856,3461978111,CA
@@ -157458,8 +159980,8 @@
3463518208,3463520255,NL
3463520256,3463708671,US
3463708672,3463774207,CA
-3463774208,3464127999,US
-3464128000,3464128511,DE
+3463774208,3464126463,US
+3464126464,3464128511,DE
3464128512,3464167679,US
3464167680,3464169215,CA
3464169216,3464169471,US
@@ -157555,25 +160077,27 @@
3464769536,3464773631,CA
3464773632,3464783871,US
3464783872,3464785919,AR
-3464785920,3465154559,US
+3464785920,3464789311,US
+3464789312,3464789343,CA
+3464789344,3465154559,US
3465154560,3465158655,BS
3465158656,3465177087,US
3465177088,3465179135,PE
-3465179136,3465461759,US
-3465461760,3465469951,GB
-3465469952,3465470207,US
-3465470208,3465470463,GB
-3465470464,3465472767,US
+3465179136,3465466495,US
+3465466496,3465466527,GB
+3465466528,3465469951,US
+3465469952,3465471999,GB
+3465472000,3465472767,US
3465472768,3465473023,GB
3465473024,3465474047,US
3465474048,3465476095,GB
3465476096,3465510911,US
3465510912,3465543679,JP
3465543680,3465953279,US
-3465953280,3465961471,CA
-3465961472,3466069055,US
-3466069056,3466069071,CA
-3466069072,3466069343,US
+3465953280,3465955327,CA
+3465955328,3466068991,US
+3466068992,3466069247,CA
+3466069248,3466069343,US
3466069344,3466069375,CA
3466069376,3466069447,US
3466069448,3466069455,CA
@@ -157586,8 +160110,8 @@
3466073088,3466074111,US
3466074112,3466076159,CA
3466076160,3466080255,US
-3466080256,3466084351,CA
-3466084352,3466158079,US
+3466080256,3466082303,CA
+3466082304,3466158079,US
3466158080,3466166271,PA
3466166272,3466489855,US
3466489856,3466490111,CA
@@ -157627,7 +160151,9 @@
3467063552,3467068927,CA
3467068928,3467069439,US
3467069440,3467116543,CA
-3467116544,3467378687,US
+3467116544,3467229695,US
+3467229696,3467230207,AS
+3467230208,3467378687,US
3467378688,3467444223,CA
3467444224,3467554815,US
3467554816,3467567103,CA
@@ -157803,21 +160329,15 @@
3468688896,3468688911,US
3468688912,3468688943,NL
3468688944,3468688959,IE
-3468688960,3468798463,US
+3468688960,3468797951,US
+3468797952,3468798463,GB
3468798464,3468798719,BE
-3468798720,3468798975,US
+3468798720,3468798975,GB
3468798976,3468799231,BE
-3468799232,3468799999,US
-3468800000,3468802047,GB
-3468802048,3468802303,US
-3468802304,3468802559,CA
-3468802560,3468894207,US
-3468894208,3468898815,DE
-3468898816,3468899327,US
-3468899328,3468902399,DE
-3468902400,3469031935,US
-3469031936,3469032191,GB
-3469032192,3469055743,US
+3468799232,3468799999,GB
+3468800000,3468894207,US
+3468894208,3468902399,DE
+3468902400,3469055743,US
3469055744,3469055999,CA
3469056000,3469131775,US
3469131776,3469132799,CA
@@ -157825,7 +160345,9 @@
3469272064,3469272575,DE
3469272576,3469279231,US
3469279232,3469283327,PH
-3469283328,3469860351,US
+3469283328,3469747199,US
+3469747200,3469747711,CA
+3469747712,3469860351,US
3469860352,3469860863,CA
3469860864,3469893631,US
3469893632,3469901823,CA
@@ -157911,7 +160433,9 @@
3471558656,3471560703,CA
3471560704,3471570943,US
3471570944,3471572991,CA
-3471572992,3472249343,US
+3471572992,3472244735,US
+3472244736,3472244991,CA
+3472244992,3472249343,US
3472249344,3472249599,CA
3472249600,3472257599,US
3472257600,3472257627,MX
@@ -157926,9 +160450,7 @@
3472687104,3472721919,US
3472721920,3472723967,CA
3472723968,3473039359,US
-3473039360,3473040639,BM
-3473040640,3473040895,US
-3473040896,3473041407,BM
+3473039360,3473041407,BM
3473041408,3473043455,US
3473047552,3473067007,US
3473067008,3473068031,CA
@@ -157962,9 +160484,7 @@
3475124224,3475171071,CA
3475171072,3475171199,US
3475171200,3475243007,CA
-3475243008,3475358719,US
-3475358720,3475359231,GB
-3475359232,3475386367,US
+3475243008,3475386367,US
3475386368,3475390463,CA
3475390464,3475397119,US
3475397120,3475397631,DE
@@ -158125,7 +160645,11 @@
3476111360,3476111615,CA
3476111616,3476418559,US
3476418560,3476419071,CA
-3476419072,3476447231,US
+3476419072,3476419583,US
+3476419584,3476420095,CA
+3476420096,3476420607,US
+3476420608,3476421631,CA
+3476421632,3476447231,US
3476447232,3476455423,CA
3476455424,3476881407,US
3476881408,3476946943,CA
@@ -158149,7 +160673,9 @@
3477384848,3477384855,SG
3477384856,3477384863,IE
3477384864,3477384871,SG
-3477384872,3477384951,US
+3477384872,3477384911,US
+3477384912,3477384927,HK
+3477384928,3477384951,US
3477384952,3477384959,IE
3477384960,3478114303,US
3478114304,3478118399,PE
@@ -158165,17 +160691,15 @@
3478277952,3478277983,GB
3478277984,3478278399,US
3478278400,3478278655,GB
-3478278656,3478282239,US
-3478282240,3478290431,GB
+3478278656,3478286335,US
+3478286336,3478290431,GB
3478290432,3478720767,US
3478720768,3478721023,AU
3478721024,3478721535,US
3478721536,3478721791,CN
3478721792,3478722047,US
3478722048,3478722303,AE
-3478722304,3478729983,US
-3478729984,3478730239,CA
-3478730240,3478732799,US
+3478722304,3478732799,US
3478732800,3478749183,DE
3478749184,3479207935,US
3479207936,3479240703,CA
@@ -158184,14 +160708,10 @@
3479296016,3479568383,US
3479568384,3479633919,CA
3479633920,3479896063,US
-3479896064,3479956479,CA
-3479956480,3479956735,US
-3479956736,3479961599,CA
+3479896064,3479961599,CA
3479961600,3479969345,US
3479969346,3479969346,DE
-3479969347,3479969409,US
-3479969410,3479969410,DE
-3479969411,3480223743,US
+3479969347,3480223743,US
3480223744,3480256511,CA
3480256512,3480444927,US
3480444928,3480449023,CA
@@ -158315,9 +160835,7 @@
3482021120,3482021631,CA
3482021632,3482021887,US
3482021888,3482022143,CA
-3482022144,3482023679,US
-3482023680,3482023935,CA
-3482023936,3482024191,US
+3482022144,3482024191,US
3482024192,3482024447,CA
3482024448,3482024959,US
3482024960,3482025215,CA
@@ -158355,13 +160873,7 @@
3482605568,3482612735,JP
3482612736,3482615807,SG
3482615808,3482632191,CA
-3482632192,3482755081,US
-3482755082,3482755091,MX
-3482755092,3482755101,US
-3482755102,3482755111,CN
-3482755112,3482755211,US
-3482755212,3482755221,CA
-3482755222,3482755377,US
+3482632192,3482755377,US
3482755378,3482755387,RU
3482755388,3482755623,US
3482755624,3482755633,AQ
@@ -158371,18 +160883,11 @@
3482755754,3482755763,FI
3482755764,3482756175,US
3482756176,3482756185,TR
-3482756186,3482756255,US
-3482756256,3482756265,ES
-3482756266,3482756285,US
-3482756286,3482756295,IL
-3482756296,3482756305,US
+3482756186,3482756305,US
3482756306,3482756335,IN
3482756336,3482756361,US
3482756362,3482756371,RU
-3482756372,3482756381,BR
-3482756382,3482756401,US
-3482756402,3482756411,ES
-3482756412,3482756421,US
+3482756372,3482756421,US
3482756422,3482756431,AZ
3482756432,3482756501,US
3482756502,3482756511,DM
@@ -158394,10 +160899,7 @@
3482756758,3482756767,TR
3482756768,3482756893,US
3482756894,3482756903,BR
-3482756904,3482756913,FR
-3482756914,3482757169,US
-3482757170,3482757179,SE
-3482757180,3482757269,US
+3482756904,3482757269,US
3482757270,3482757279,AR
3482757280,3482757309,US
3482757310,3482757319,JP
@@ -158411,19 +160913,13 @@
3482757556,3482757565,TR
3482757566,3482757575,US
3482757576,3482757585,CN
-3482757586,3482757741,US
-3482757742,3482757751,JO
-3482757752,3482758499,US
+3482757586,3482758499,US
3482758500,3482758527,VE
3482758528,3482759275,US
3482759276,3482759285,SG
-3482759286,3482759295,US
-3482759296,3482759305,SG
-3482759306,3482759823,US
+3482759286,3482759823,US
3482759824,3482759831,BR
-3482759832,3482760049,US
-3482760050,3482760062,NL
-3482760063,3482760319,US
+3482759832,3482760319,US
3482760320,3482760335,NL
3482760336,3482760385,US
3482760386,3482760423,EG
@@ -158470,14 +160966,10 @@
3483342592,3483344895,CA
3483344896,3483435007,US
3483435008,3483533311,CA
-3483533312,3483552290,US
-3483552291,3483552291,CA
-3483552292,3483631615,US
+3483533312,3483631615,US
3483631616,3483697151,CA
3483697152,3483791359,US
-3483791360,3483793919,PR
-3483793920,3483794431,US
-3483794432,3483795455,PR
+3483791360,3483795455,PR
3483795456,3483828223,US
3483828224,3483836415,CA
3483836416,3483844607,US
@@ -158530,9 +161022,7 @@
3484471808,3484472063,CA
3484472064,3484472319,US
3484472320,3484472575,CA
-3484472576,3484473343,US
-3484473344,3484473599,CA
-3484473600,3484473855,US
+3484472576,3484473855,US
3484473856,3484474111,CA
3484474112,3484475647,US
3484475648,3484476159,CA
@@ -158546,8 +161036,8 @@
3484481792,3484482047,CA
3484482048,3484482559,US
3484482560,3484482815,CA
-3484482816,3484483071,US
-3484483072,3484483583,CA
+3484482816,3484483327,US
+3484483328,3484483583,CA
3484483584,3484616392,US
3484616393,3484616393,DE
3484616394,3484647423,US
@@ -158602,10 +161092,8 @@
3485275648,3485277951,US
3485277952,3485278207,CA
3485278208,3485313023,US
-3485313024,3485313279,HK
-3485313280,3485313407,TH
-3485313408,3485313519,HK
-3485313520,3485313599,TH
+3485313024,3485313535,HK
+3485313536,3485313599,TH
3485313600,3485313663,MY
3485313664,3485313791,TH
3485313792,3485314007,MY
@@ -158644,7 +161132,8 @@
3485963008,3485965311,US
3485965312,3485965567,CA
3485965568,3485965568,US
-3485965569,3485966335,CA
+3485965569,3485965823,KR
+3485965824,3485966335,CA
3485966336,3485967615,US
3485967616,3485967616,GB
3485967617,3485967871,US
@@ -158656,16 +161145,18 @@
3485969665,3485970431,US
3485970432,3485970943,CA
3485970944,3485972991,US
-3485972992,3485973247,CA
-3485973248,3485973503,US
-3485973504,3485974527,CA
+3485972992,3485974527,CA
3485974528,3486023679,US
3486023680,3486031871,CA
3486031872,3486269439,US
3486269440,3486285823,JM
3486285824,3486302207,PR
3486302208,3486310399,CA
-3486310400,3486580991,US
+3486310400,3486492415,US
+3486492416,3486492671,CA
+3486492672,3486493183,US
+3486493184,3486493439,CA
+3486493440,3486580991,US
3486580992,3486581247,DE
3486581248,3486582527,US
3486582528,3486582783,AU
@@ -158797,15 +161288,17 @@
3487039488,3487105023,CA
3487105024,3487177983,US
3487177984,3487178111,NL
-3487178112,3487178175,MX
-3487178176,3487178239,NL
+3487178112,3487178115,MX
+3487178116,3487178239,NL
3487178240,3487216383,US
3487216384,3487216639,SE
3487216640,3487236095,US
3487236096,3487301631,CA
3487301632,3487706367,US
3487706368,3487706623,RU
-3487706624,3487750399,US
+3487706624,3487730687,US
+3487730688,3487731711,CN
+3487731712,3487750399,US
3487750400,3487750415,HK
3487750416,3487750527,US
3487750528,3487750543,HK
@@ -158815,13 +161308,11 @@
3487842304,3487847167,CA
3487847168,3487847231,US
3487847232,3487858687,CA
-3487858688,3487861759,BM
-3487861760,3487862015,KY
-3487862016,3487875071,BM
+3487858688,3487875071,BM
3487875072,3487891455,US
-3487891456,3487894386,CA
-3487894387,3487894387,GB
-3487894388,3487907839,CA
+3487891456,3487894271,CA
+3487894272,3487894527,GB
+3487894528,3487907839,CA
3487907840,3487913471,US
3487913472,3487913983,CA
3487913984,3487916543,US
@@ -158833,9 +161324,15 @@
3487921664,3487922431,NL
3487922432,3487922687,US
3487922688,3487924223,NL
-3487924224,3488014335,US
+3487924224,3487985663,US
+3487985664,3487985664,MY
+3487985665,3488014335,US
3488014336,3488022527,CA
-3488022528,3488071679,US
+3488022528,3488047871,US
+3488047872,3488048127,CA
+3488048128,3488048383,US
+3488048384,3488048639,CA
+3488048640,3488071679,US
3488071680,3488072703,CA
3488072704,3488079871,US
3488079872,3488083967,CA
@@ -158850,9 +161347,7 @@
3488911360,3488940031,US
3488940032,3488956415,CA
3488956416,3488989183,US
-3488989184,3488996351,CA
-3488996352,3488997375,US
-3488997376,3489005567,CA
+3488989184,3489005567,CA
3489005568,3489057023,US
3489057024,3489057535,VI
3489057536,3489058047,US
@@ -158962,23 +161457,15 @@
3491969024,3491970047,PR
3491970048,3492151295,US
3492151296,3492167679,CA
-3492167680,3492588132,US
-3492588133,3492588133,PR
-3492588134,3492729855,US
-3492729856,3492730367,AU
-3492730368,3492807155,US
+3492167680,3492588131,US
+3492588132,3492588133,PR
+3492588134,3492807155,US
3492807156,3492807159,SE
3492807160,3492811775,US
3492811776,3492812759,CA
3492812760,3492812763,JP
3492812764,3492812799,CA
-3492812800,3492845567,US
-3492845568,3492846591,CH
-3492846592,3492865023,US
-3492865024,3492865535,GB
-3492865536,3492866047,US
-3492866048,3492868095,GB
-3492868096,3492877954,US
+3492812800,3492877954,US
3492877955,3492877955,CA
3492877956,3492880745,US
3492880746,3492880746,ES
@@ -158986,20 +161473,18 @@
3492892672,3492893969,GB
3492893970,3492893971,US
3492893972,3492894719,GB
-3492894720,3492896767,US
-3492896768,3492897791,GB
-3492897792,3492904215,US
+3492894720,3492904215,US
3492904216,3492904219,AT
3492904220,3492909989,US
3492909990,3492909990,DE
-3492909991,3492921855,US
+3492909991,3492917247,US
+3492917248,3492917503,VI
+3492917504,3492921855,US
3492921856,3492922111,VI
-3492922112,3492929535,US
-3492929536,3492933119,CA
+3492922112,3492931583,US
+3492931584,3492933119,CA
3492933120,3492933375,US
-3492933376,3492933376,FR
-3492933377,3492933377,CH
-3492933378,3492933503,FR
+3492933376,3492933503,CH
3492933504,3492933631,CA
3492933632,3492939022,US
3492939023,3492939023,DE
@@ -159011,15 +161496,13 @@
3492969472,3492969727,VI
3492969728,3492993023,US
3492993024,3492995071,GB
-3492995072,3493039359,US
+3492995072,3493007359,US
+3493007360,3493008383,GB
+3493008384,3493039359,US
3493039360,3493039615,AR
3493039616,3493039695,US
3493039696,3493039703,RO
-3493039704,3493044223,US
-3493044224,3493050463,AR
-3493050464,3493050495,US
-3493050496,3493052415,AR
-3493052416,3493089023,US
+3493039704,3493089023,US
3493089024,3493089279,CM
3493089280,3493244927,US
3493244928,3493249023,PR
@@ -159043,7 +161526,9 @@
3493987328,3493990399,US
3493990400,3493991423,CA
3493991424,3493998591,US
-3493998592,3494000639,AI
+3493998592,3493999359,KN
+3493999360,3493999487,AI
+3493999488,3494000639,KN
3494000640,3494003711,US
3494003712,3494004735,CA
3494004736,3494009855,US
@@ -159062,7 +161547,9 @@
3494088704,3494090751,CA
3494090752,3494094847,US
3494094848,3494095359,CA
-3494095360,3494121471,US
+3494095360,3494095431,US
+3494095432,3494095439,CA
+3494095440,3494121471,US
3494121472,3494122495,CA
3494122496,3494125567,US
3494125568,3494126591,CA
@@ -159154,9 +161641,7 @@
3494624256,3494625279,CA
3494625280,3494627327,US
3494627328,3494628351,BM
-3494628352,3494642687,US
-3494642688,3494643199,CA
-3494643200,3494651903,US
+3494628352,3494651903,US
3494651904,3494652927,CA
3494652928,3494655743,US
3494655744,3494655759,GB
@@ -159181,14 +161666,18 @@
3494758400,3494776831,US
3494776832,3494777855,CA
3494777856,3494785023,US
-3494785024,3494787071,MF
+3494785024,3494785535,MF
+3494785536,3494785791,FR
+3494785792,3494787071,MF
3494787072,3494787327,CA
3494787328,3494787583,NG
3494787584,3494788095,CA
3494788096,3494788351,NG
3494788352,3494788607,LY
3494788608,3494789119,CA
-3494789120,3494813183,US
+3494789120,3494803455,US
+3494803456,3494805503,CA
+3494805504,3494813183,US
3494813184,3494813439,CA
3494813440,3494852607,US
3494852608,3494854655,CA
@@ -159197,15 +161686,16 @@
3494863104,3494863871,DM
3494863872,3494866943,US
3494866944,3494867967,CA
-3494867968,3494874111,US
+3494867968,3494871295,US
+3494871552,3494874111,US
3494874112,3494874367,ES
3494874368,3494874879,US
3494874880,3494874911,ES
3494874912,3494893567,US
3494893568,3494894591,CA
3494894592,3494917119,US
-3494917120,3494918143,CA
-3494918144,3494928383,US
+3494917120,3494917631,CA
+3494917632,3494928383,US
3494928384,3494930431,CA
3494930432,3494950655,US
3494950656,3494950911,PH
@@ -159255,9 +161745,7 @@
3495120896,3495122943,AG
3495122944,3495153663,US
3495153664,3495155711,CA
-3495155712,3495187455,US
-3495187456,3495188479,VE
-3495188480,3495192575,US
+3495155712,3495192575,US
3495192576,3495193599,CA
3495193600,3495197695,US
3495197696,3495198719,CA
@@ -159308,8 +161796,7 @@
3495475200,3495477247,CA
3495477248,3495478271,US
3495478272,3495479295,CA
-3495479296,3495481343,US
-3495483392,3495505919,US
+3495479296,3495505919,US
3495505920,3495507967,CA
3495507968,3495515135,US
3495515136,3495516159,CA
@@ -159348,9 +161835,7 @@
3495718912,3495723007,CA
3495723008,3495724031,US
3495724032,3495727103,CA
-3495727104,3495729151,US
-3495729664,3495730175,US
-3495731200,3495739391,US
+3495727104,3495739391,US
3495739392,3495740415,CA
3495740416,3495749631,US
3495749632,3495750655,CA
@@ -159362,7 +161847,9 @@
3495828480,3495829503,CA
3495829504,3495837695,US
3495837696,3495838463,CA
-3495838464,3495847935,US
+3495838464,3495838719,US
+3495838720,3495839743,IE
+3495839744,3495847935,US
3495847936,3495849983,CA
3495849984,3495862271,US
3495862272,3495864319,CA
@@ -159386,7 +161873,11 @@
3496034304,3496050687,CA
3496050688,3496132607,US
3496132608,3496148991,CA
-3496165376,3496181759,US
+3496165376,3496170495,US
+3496170496,3496170751,NL
+3496170752,3496172031,US
+3496172032,3496172287,NL
+3496172288,3496181759,US
3496181760,3496189951,CA
3496189952,3496296447,US
3496296448,3496312831,CA
@@ -159395,8 +161886,8 @@
3496449536,3496451583,US
3496451584,3496452095,CA
3496452096,3496454599,US
-3496454600,3496454615,GB
-3496454616,3496454911,US
+3496454600,3496454614,GB
+3496454615,3496454911,US
3496454912,3496455167,CA
3496455168,3496458239,US
3496458240,3496458495,CA
@@ -159426,7 +161917,9 @@
3497229616,3497229623,CA
3497229624,3497229767,US
3497229768,3497229775,CA
-3497229776,3497410559,US
+3497229776,3497352703,US
+3497352704,3497352711,CA
+3497352712,3497410559,US
3497410560,3497431039,CA
3497431040,3497447423,US
3497447424,3497451519,CA
@@ -159473,17 +161966,13 @@
3500126464,3500126719,GB
3500126720,3500351487,US
3500351488,3500359679,JM
-3500359680,3500554239,US
-3500554240,3500554751,DE
-3500554752,3500555775,US
+3500359680,3500555775,US
3500555776,3500556287,SE
3500556288,3500728319,US
3500728320,3500736511,KY
-3500736512,3500757247,US
-3500757248,3500757503,DM
-3500757504,3500758527,US
-3500758528,3500761087,KY
-3500761088,3500807019,US
+3500736512,3500759039,US
+3500759040,3500760063,KY
+3500760064,3500807019,US
3500807020,3500807023,GB
3500807024,3500807195,US
3500807196,3500807199,GB
@@ -159503,15 +161992,15 @@
3501378048,3501378303,DE
3501378304,3501522943,US
3501522944,3501588479,CA
-3501588480,3502470143,US
+3501588480,3501789847,US
+3501789848,3501789855,FR
+3501789856,3502470143,US
3502470144,3502471167,MX
3502471168,3502545663,US
3502545664,3502545919,BS
3502545920,3502683135,US
3502683136,3502683391,MC
-3502683392,3502993407,US
-3502993408,3502993919,NL
-3502993920,3503206399,US
+3502683392,3503206399,US
3503206400,3503206911,CR
3503206912,3503250431,US
3503250432,3503250943,PK
@@ -159529,9 +162018,7 @@
3503990784,3503992831,AE
3503992832,3504136191,US
3504136192,3504138239,AZ
-3504138240,3504207871,US
-3504207872,3504208127,CA
-3504208128,3504223743,US
+3504138240,3504223743,US
3504223744,3504223999,RO
3504224000,3504928687,US
3504928688,3504928695,IT
@@ -159543,9 +162030,7 @@
3505112576,3505112831,EC
3505112832,3505121023,US
3505121024,3505121279,PH
-3505121280,3505270527,US
-3505270528,3505270783,HT
-3505270784,3505416959,US
+3505121280,3505416959,US
3505416960,3505417215,MX
3505417216,3505474559,US
3505474560,3505474815,GU
@@ -159565,7 +162050,9 @@
3507037184,3507037439,DE
3507037440,3507055903,US
3507055904,3507055911,HK
-3507055912,3507290111,US
+3507055912,3507081471,US
+3507081472,3507081727,HK
+3507081728,3507290111,US
3507290112,3507355647,AR
3507355648,3507421183,US
3507421184,3507421439,CA
@@ -159598,8 +162085,8 @@
3507437056,3507437311,US
3507437312,3507445759,CA
3507445760,3507449855,US
-3507449856,3507453951,CA
-3507453952,3507454975,US
+3507449856,3507454207,CA
+3507454208,3507454975,US
3507454976,3507455999,CA
3507456000,3507456255,US
3507456256,3507456511,CA
@@ -159609,9 +162096,7 @@
3507465728,3507486719,CA
3507486720,3507585023,US
3507585024,3507601407,CA
-3507601408,3507646463,US
-3507646464,3507647487,CA
-3507647488,3507748863,US
+3507601408,3507748863,US
3507748864,3507749375,CA
3507749376,3507749631,US
3507749632,3507765247,CA
@@ -159821,15 +162306,15 @@
3509536256,3509536511,CA
3509536512,3509537535,US
3509537536,3509537791,CA
-3509537792,3509538047,US
-3509538048,3509538303,CA
-3509538304,3509538559,US
+3509537792,3509538559,US
3509538560,3509538815,CA
3509538816,3509539071,US
3509539072,3509539327,CA
3509539328,3509539967,US
3509539968,3509540031,CA
-3509540032,3509541119,US
+3509540032,3509540351,US
+3509540352,3509540863,CA
+3509540864,3509541119,US
3509541120,3509541375,CA
3509541376,3509543423,US
3509543424,3509543679,CA
@@ -159847,9 +162332,7 @@
3509552128,3509552639,CA
3509552640,3509554943,US
3509554944,3509554959,CA
-3509554960,3509555199,US
-3509555200,3509555455,CA
-3509555456,3509555711,US
+3509554960,3509555711,US
3509555712,3509556735,CA
3509556736,3509557759,US
3509557760,3509558015,CA
@@ -159869,10 +162352,8 @@
3509567488,3509567743,CA
3509567744,3509567999,US
3509568000,3509568255,CA
-3509568256,3509571327,US
-3509571328,3509571583,CA
-3509571584,3509572863,US
-3509572864,3509573375,CA
+3509568256,3509573119,US
+3509573120,3509573375,CA
3509573376,3509573439,US
3509573440,3509573455,CA
3509573456,3509573631,US
@@ -159932,22 +162413,22 @@
3510324224,3510325247,AI
3510325248,3510326271,AG
3510326272,3510327295,VG
-3510327296,3510328575,AG
+3510327296,3510328031,AG
+3510328032,3510328063,DM
+3510328064,3510328575,AG
3510328576,3510328831,MS
3510328832,3510329599,AG
3510329600,3510329855,MS
3510329856,3510331391,AG
3510331392,3510332415,DM
-3510332416,3510333951,KN
-3510333952,3510334975,AG
-3510334976,3510335487,KN
-3510335488,3510335999,AI
-3510336000,3510337279,AG
-3510337280,3510337535,LC
+3510332416,3510335487,KN
+3510335488,3510337535,AI
3510337536,3510363647,US
3510363648,3510363775,CA
3510363776,3510363903,JP
-3510363904,3510478015,US
+3510363904,3510368767,US
+3510368768,3510369279,CA
+3510369280,3510478015,US
3510478016,3510478023,CA
3510478024,3510479791,US
3510479792,3510479799,IE
@@ -159966,7 +162447,9 @@
3511258112,3511314215,US
3511314216,3511314223,CA
3511314224,3511812095,US
-3511812096,3511844863,CA
+3511812096,3511832575,CA
+3511832576,3511832831,US
+3511832832,3511844863,CA
3511844864,3512021503,US
3512021504,3512021759,GB
3512021760,3512043519,US
@@ -159984,7 +162467,9 @@
3512205824,3512206079,AW
3512206080,3512207359,US
3512207360,3512209407,CO
-3512209408,3512221695,US
+3512209408,3512210431,US
+3512210432,3512210943,NA
+3512210944,3512221695,US
3512221696,3512221951,AG
3512221952,3512222207,VG
3512222208,3512222271,AG
@@ -160009,8 +162494,8 @@
3512242176,3512242431,CL
3512242432,3512242687,US
3512242688,3512244991,EG
-3512244992,3512245247,US
-3512245248,3512245759,IL
+3512244992,3512245503,US
+3512245504,3512245759,IL
3512245760,3512246015,US
3512246016,3512246783,CL
3512246784,3512248319,US
@@ -160021,8 +162506,8 @@
3512256512,3512258559,CL
3512258560,3512260607,US
3512260608,3512261631,GU
-3512261632,3512262655,US
-3512262656,3512263679,GT
+3512261632,3512262911,US
+3512262912,3512263679,GT
3512263680,3512264191,VE
3512264192,3512267263,US
3512267264,3512268031,TG
@@ -160066,7 +162551,9 @@
3512836096,3512840191,SG
3512840192,3512844287,GB
3512844288,3512852479,CA
-3512852480,3512983551,US
+3512852480,3512959231,US
+3512959232,3512960767,CA
+3512960768,3512983551,US
3512983552,3512987647,AR
3512987648,3513188351,US
3513188352,3513204735,CA
@@ -160084,25 +162571,22 @@
3513495680,3513495743,PR
3513495744,3513495807,VI
3513495808,3513495871,UM
-3513495872,3513496067,CA
+3513495872,3513496063,US
+3513496064,3513496067,CA
3513496068,3513496071,MX
3513496072,3513496075,PR
3513496076,3513496079,VI
3513496080,3513496083,UM
-3513496084,3513497151,CA
+3513496084,3513497087,US
+3513497088,3513497151,CA
3513497152,3513497215,MX
3513497216,3513497279,PR
3513497280,3513497343,VI
3513497344,3513497407,UM
-3513497408,3513497599,CA
-3513497600,3513497855,US
-3513497856,3513498111,CA
-3513498112,3513500415,US
+3513497408,3513500415,US
3513500416,3513500671,AU
3513500672,3513778175,US
-3513778176,3513782271,CA
-3513782272,3513783295,US
-3513783296,3513794559,CA
+3513778176,3513794559,CA
3513794560,3514007551,US
3514007552,3514040319,CA
3514040320,3514367999,US
@@ -160156,26 +162640,28 @@
3514802984,3514808831,CA
3514808832,3514809855,US
3514809856,3514843135,CA
-3514843136,3514993983,US
+3514843136,3514993663,US
+3514993664,3514993983,GB
3514993984,3514993987,FR
3514993988,3514993991,DE
3514993992,3514994007,GB
3514994008,3514994015,DK
3514994016,3514994016,GB
3514994017,3514994023,DK
-3514994024,3514997759,US
+3514994024,3514994049,GB
+3514994050,3514994050,US
+3514994051,3514994175,GB
+3514994176,3514997759,US
3514997760,3514998783,CL
-3514998784,3515009023,US
-3515009024,3515009535,CA
-3515009536,3515056639,US
-3515056640,3515056895,GB
-3515056896,3515058175,US
+3514998784,3515056127,US
+3515056128,3515057407,GB
+3515057408,3515058175,US
3515058176,3515058431,SE
3515058432,3515059199,US
-3515059200,3515059455,DE
-3515059456,3515060735,US
-3515060736,3515060991,NL
-3515060992,3515114247,US
+3515059200,3515059967,DE
+3515059968,3515060735,US
+3515060736,3515061247,NL
+3515061248,3515114247,US
3515114248,3515114255,AU
3515114256,3515211775,US
3515211776,3515219967,CA
@@ -160206,7 +162692,9 @@
3516039168,3516071935,CA
3516071936,3516088831,US
3516088832,3516088832,GB
-3516088833,3516094207,US
+3516088833,3516092671,US
+3516092672,3516092927,CA
+3516092928,3516094207,US
3516094208,3516094208,GB
3516094209,3516095487,US
3516095488,3516095488,GB
@@ -160233,7 +162721,11 @@
3516900096,3516900351,ZA
3516900352,3516900607,US
3516900608,3516900863,ZA
-3516900864,3516903423,US
+3516900864,3516902399,US
+3516902400,3516902655,ZA
+3516902656,3516902911,US
+3516902912,3516903167,ZA
+3516903168,3516903423,US
3516903424,3516907519,CA
3516907520,3517019135,US
3517019136,3517019391,HN
@@ -160272,12 +162764,12 @@
3517389568,3517390079,US
3517390080,3517390335,CA
3517390336,3517390591,US
-3517390592,3517394943,CA
-3517394944,3517395199,US
-3517395200,3517395455,CA
-3517395456,3517395967,US
-3517395968,3517396479,CA
-3517396480,3517397247,US
+3517390592,3517392895,CA
+3517392896,3517393151,US
+3517393152,3517393407,CA
+3517393408,3517394431,US
+3517394432,3517396991,CA
+3517396992,3517397247,US
3517397248,3517397503,CA
3517397504,3517397759,US
3517397760,3517398015,CA
@@ -160300,12 +162792,8 @@
3517409280,3517409791,US
3517409792,3517410303,CA
3517410304,3517411327,US
-3517411328,3517411839,CA
-3517411840,3517412095,US
-3517412096,3517412351,CA
-3517412352,3517412607,US
-3517412608,3517412863,CA
-3517412864,3517416919,US
+3517411328,3517413375,CA
+3517413376,3517416919,US
3517416920,3517416927,CA
3517416928,3517416959,US
3517416960,3517417215,CA
@@ -160323,11 +162811,11 @@
3517425664,3517425919,CA
3517425920,3517426751,US
3517426752,3517426815,CA
-3517426816,3517426943,US
-3517426944,3517427455,CA
+3517426816,3517427199,US
+3517427200,3517427455,CA
3517427456,3517428991,US
-3517428992,3517429503,CA
-3517429504,3517430271,US
+3517428992,3517429247,CA
+3517429248,3517430271,US
3517430272,3517430527,CA
3517430528,3517432319,US
3517432320,3517432575,CA
@@ -160462,7 +162950,9 @@
3519875584,3519876095,CA
3519876096,3519878271,US
3519878272,3519878303,CA
-3519878304,3519881983,US
+3519878304,3519879727,US
+3519879728,3519879735,CA
+3519879736,3519881983,US
3519881984,3519882239,CA
3519882240,3519882751,US
3519882752,3519883007,CA
@@ -160597,7 +163087,9 @@
3521380352,3521837055,US
3521837056,3521837311,SG
3521837312,3521904639,US
-3521904640,3521921023,JM
+3521904640,3521915903,JM
+3521915904,3521916927,VC
+3521916928,3521921023,JM
3521921024,3521965055,US
3521965056,3521966079,DE
3521966080,3522101247,US
@@ -160612,9 +163104,15 @@
3522131845,3522131846,BZ
3522131847,3522131858,US
3522131859,3522131859,DE
-3522131860,3522131888,US
+3522131860,3522131866,US
+3522131867,3522131867,BZ
+3522131868,3522131876,US
+3522131877,3522131877,BZ
+3522131878,3522131888,US
3522131889,3522131889,BZ
-3522131890,3522131900,US
+3522131890,3522131897,US
+3522131898,3522131898,BZ
+3522131899,3522131900,US
3522131901,3522131901,BZ
3522131902,3522131923,US
3522131924,3522131924,BZ
@@ -160630,9 +163128,7 @@
3522174976,3522179071,BM
3522179072,3522195455,US
3522195456,3522199551,CA
-3522199552,3522816767,US
-3522816768,3522817023,CA
-3522817024,3522854911,US
+3522199552,3522854911,US
3522854912,3522871295,CA
3522871296,3522879487,US
3522879488,3522881535,GB
@@ -160645,8 +163141,8 @@
3522903040,3522903807,US
3522903808,3522904063,CA
3522904064,3522937599,US
-3522937600,3522938879,GB
-3522938880,3522940415,US
+3522937600,3522938367,GB
+3522938368,3522940415,US
3522940416,3522940671,HK
3522940672,3522950655,US
3522950656,3522951167,CA
@@ -160675,11 +163171,7 @@
3523493888,3523497983,BD
3523497984,3523500031,AU
3523500032,3523502079,KR
-3523502080,3523505407,PH
-3523505408,3523505441,JP
-3523505442,3523505442,PH
-3523505443,3523505663,JP
-3523505664,3523510271,PH
+3523502080,3523510271,PH
3523510272,3523518463,TH
3523518464,3523526655,JP
3523526656,3523530751,US
@@ -160972,8 +163464,7 @@
3526950912,3526951935,MY
3526951936,3526952959,JP
3526952960,3526953983,ID
-3526953984,3526954751,JP
-3526954752,3526955007,PH
+3526953984,3526955007,JP
3526955008,3526955263,US
3526955264,3526956287,JP
3526956288,3526956799,HK
@@ -160983,23 +163474,24 @@
3526958336,3526958336,SG
3526958337,3526958591,JP
3526958592,3526958592,SG
-3526958593,3526958847,JP
+3526958593,3526958612,JP
+3526958613,3526958613,HK
+3526958614,3526958847,JP
3526958848,3526959359,VN
3526959360,3526959871,JP
3526959872,3526960639,HK
-3526960640,3526961151,SG
+3526960640,3526961151,JP
3526961152,3526961407,MY
3526961408,3526961663,AU
3526961664,3526964735,JP
-3526964736,3526965503,AU
+3526964736,3526964992,AU
+3526964993,3526965247,JP
+3526965248,3526965503,AU
3526965504,3526966527,JP
3526966528,3526966783,HK
-3526966784,3526967295,SG
-3526967296,3526971439,JP
-3526971440,3526971443,HK
-3526971444,3526971531,JP
-3526971532,3526971535,HK
-3526971536,3526971647,JP
+3526966784,3526967039,JP
+3526967040,3526967295,SG
+3526967296,3526971647,JP
3526971648,3526972159,HK
3526972160,3527000319,JP
3527000320,3527000575,IN
@@ -161050,9 +163542,7 @@
3534749696,3534757887,HK
3534757888,3534758143,AU
3534758144,3534758147,JP
-3534758148,3534758155,AU
-3534758156,3534758159,JP
-3534758160,3534758399,AU
+3534758148,3534758399,AU
3534758400,3534758655,HK
3534758656,3534758911,AU
3534758912,3534758927,PH
@@ -161067,22 +163557,16 @@
3534760448,3534760959,NZ
3534760960,3534761727,AU
3534761728,3534761983,JP
-3534761984,3534783231,HK
-3534783232,3534783487,IN
-3534783488,3534784767,HK
+3534761984,3534784767,HK
3534784768,3534785023,TW
-3534785024,3534785043,HK
-3534785044,3534785047,SG
-3534785048,3534785119,HK
-3534785120,3534785123,SG
-3534785124,3534785327,HK
-3534785328,3534785335,SG
-3534785336,3534785343,HK
-3534785344,3534785375,SG
-3534785376,3534786815,HK
-3534786816,3534787327,MY
+3534785024,3534786559,HK
+3534786560,3534786575,MY
+3534786576,3534786576,HK
+3534786577,3534787327,MY
3534787328,3534787583,TH
-3534787584,3534863443,HK
+3534787584,3534788463,HK
+3534788464,3534788471,KR
+3534788472,3534863443,HK
3534863444,3534863444,CN
3534863445,3534880767,HK
3534880768,3535273983,KR
@@ -161141,7 +163625,7 @@
3537010688,3537027071,ID
3537027072,3537047551,KR
3537047552,3537049599,ID
-3537049600,3537051647,HK
+3537049600,3537051647,TW
3537051648,3537059839,JP
3537059840,3537068031,KR
3537068032,3537076223,VN
@@ -161199,9 +163683,7 @@
3556925440,3556933631,PL
3556933632,3556941823,UA
3556941824,3556950015,IE
-3556950016,3556955135,TR
-3556955136,3556955167,GB
-3556955168,3556958207,TR
+3556950016,3556958207,TR
3556958208,3556966399,KG
3556966400,3556974591,SE
3556974592,3556982783,ES
@@ -161209,12 +163691,13 @@
3556990976,3556999167,UA
3556999168,3557007359,RU
3557007360,3557015551,IT
-3557015552,3557016976,LV
-3557016977,3557016977,ES
-3557016978,3557023743,LV
-3557023744,3557026815,BE
-3557026816,3557027839,NL
-3557027840,3557031935,BE
+3557015552,3557023743,LV
+3557023744,3557024895,GB
+3557024896,3557025023,BE
+3557025024,3557025791,GB
+3557025792,3557027839,NL
+3557027840,3557029887,BE
+3557029888,3557031935,GB
3557031936,3557040127,IT
3557040128,3557048319,NO
3557048320,3557056511,CH
@@ -161242,11 +163725,12 @@
3557173760,3557174015,IR
3557174016,3557174527,IT
3557174528,3557174783,IR
-3557174784,3557175039,IT
+3557174784,3557175039,AE
3557175040,3557175295,IR
3557175296,3557175807,CH
-3557175808,3557176063,IR
-3557176064,3557176831,IT
+3557175808,3557176607,IT
+3557176608,3557176619,NE
+3557176620,3557176831,IT
3557176832,3557177023,IQ
3557177024,3557179391,IT
3557179392,3557228543,DE
@@ -161265,8 +163749,13 @@
3557302272,3557310463,UA
3557310464,3557326847,ES
3557326848,3557335039,DE
+3557335040,3557335807,GB
+3557336064,3557336271,GB
3557336272,3557336279,BE
+3557336280,3557338623,GB
+3557338880,3557339163,GB
3557339164,3557339164,BE
+3557339165,3557343231,GB
3557343232,3557351423,DE
3557351424,3557355519,RU
3557355520,3557355775,NL
@@ -161286,10 +163775,8 @@
3557363596,3557363631,JE
3557363632,3557363639,GB
3557363640,3557363703,JE
-3557363704,3557363707,GB
-3557363708,3557364703,JE
-3557364704,3557364711,GB
-3557364712,3557367807,JE
+3557363704,3557363711,GB
+3557363712,3557367807,JE
3557367808,3557375999,DE
3557376000,3557384191,ES
3557384192,3557392383,GB
@@ -161343,11 +163830,13 @@
3557834752,3557842943,IR
3557842944,3557851135,FI
3557851136,3557859327,HU
-3557859328,3557861983,SE
-3557861984,3557862015,FI
-3557862016,3557863295,SE
-3557863296,3557863327,FI
-3557863328,3557863887,SE
+3557859328,3557861375,SE
+3557861376,3557861887,FI
+3557861888,3557861919,SE
+3557861920,3557862081,FI
+3557862082,3557862082,SE
+3557862083,3557863423,FI
+3557863424,3557863887,SE
3557863888,3557863903,NO
3557863904,3557863919,FI
3557863920,3557864311,SE
@@ -161359,8 +163848,8 @@
3557892096,3557900287,IE
3557900288,3557916671,AT
3557916672,3557924863,NO
-3557924864,3557928959,AX
-3557928960,3557933055,FI
+3557924864,3557926911,AX
+3557926912,3557933055,FI
3557933056,3557941247,IT
3557941248,3557957631,DE
3557957632,3557965823,SI
@@ -161440,7 +163929,9 @@
3558276352,3558277119,GI
3558277120,3558285951,GB
3558285952,3558286079,DE
-3558286080,3558289975,GB
+3558286080,3558286335,GB
+3558286336,3558287359,FR
+3558287360,3558289975,GB
3558289976,3558289983,CZ
3558289984,3558290831,GB
3558290832,3558290847,ES
@@ -161476,7 +163967,7 @@
3558457472,3558457599,NL
3558457600,3558457727,FR
3558457728,3558465535,NL
-3558465536,3558473727,AU
+3558465536,3558473727,GB
3558473728,3558506495,SA
3558506496,3558514687,UA
3558514688,3558522879,SK
@@ -161485,7 +163976,9 @@
3558525184,3558525439,NL
3558525440,3558525695,FR
3558525696,3558525951,IE
-3558525952,3558531071,NL
+3558525952,3558526975,NL
+3558526976,3558527744,ES
+3558527745,3558531071,NL
3558531072,3558539263,RU
3558539264,3558547455,DK
3558547456,3558555647,FR
@@ -161493,7 +163986,9 @@
3558572032,3558580223,DE
3558580224,3558582783,CH
3558582784,3558583295,GB
-3558583296,3558586879,CH
+3558583296,3558584623,CH
+3558584624,3558584631,FR
+3558584632,3558586879,CH
3558586880,3558587391,GB
3558587392,3558588415,CH
3558588416,3558596607,CZ
@@ -161559,18 +164054,18 @@
3559055360,3559063551,AM
3559063552,3559079935,CH
3559079936,3559088127,JO
-3559088128,3559088639,BE
-3559088640,3559090239,GB
+3559088128,3559090175,BE
+3559090176,3559090239,GB
3559090240,3559090303,BE
-3559090304,3559090687,GB
-3559090688,3559090943,BE
-3559090944,3559091023,GB
+3559090304,3559091023,GB
3559091024,3559091031,BE
3559091032,3559091399,GB
3559091400,3559091407,BE
3559091408,3559092243,GB
3559092244,3559092244,BE
-3559092245,3559093503,GB
+3559092245,3559093311,GB
+3559093312,3559093319,BE
+3559093320,3559093503,GB
3559093504,3559093759,BE
3559093760,3559095455,GB
3559095456,3559095456,BE
@@ -161594,7 +164089,9 @@
3559164152,3559164159,IT
3559164160,3559167215,GB
3559167216,3559167231,DE
-3559167232,3559172607,GB
+3559167232,3559171583,GB
+3559171584,3559172095,DE
+3559172096,3559172607,GB
3559172608,3559172863,DE
3559172864,3559178239,GB
3559178240,3559186431,LB
@@ -161631,7 +164128,9 @@
3559306578,3559309311,GB
3559309312,3559317503,PL
3559317504,3559325695,FI
-3559325696,3559333887,IT
+3559325696,3559328767,IT
+3559328768,3559329279,GB
+3559329280,3559333887,IT
3559333888,3559336447,SE
3559336448,3559336703,US
3559336704,3559342079,SE
@@ -161722,7 +164221,9 @@
3559931904,3559938181,GB
3559938182,3559938182,DE
3559938183,3559940095,GB
-3559940096,3559948287,DE
+3559940096,3559945087,DE
+3559945088,3559945151,PL
+3559945152,3559948287,DE
3559948288,3559956479,RU
3559956480,3559964671,IT
3559964672,3559976959,RU
@@ -161740,9 +164241,7 @@
3560030208,3560046591,GB
3560046592,3560054783,BG
3560054784,3560062975,TR
-3560062976,3560069119,BG
-3560069120,3560069375,GB
-3560069376,3560071167,BG
+3560062976,3560071167,BG
3560071168,3560079359,CY
3560079360,3560087551,FI
3560087552,3560095743,GB
@@ -161818,6 +164317,16 @@
3560669184,3560685567,CH
3560685568,3560693759,ES
3560693760,3560701951,PL
+3560701952,3560702975,LT
+3560702976,3560703999,RU
+3560704000,3560704255,IE
+3560704256,3560704511,GB
+3560704512,3560704767,US
+3560704768,3560705023,IE
+3560705024,3560706047,NL
+3560706048,3560707071,GB
+3560707072,3560708095,RU
+3560708096,3560710143,LT
3560710144,3560718335,CH
3560718336,3560726527,GM
3560726528,3560734719,DK
@@ -163227,7 +165736,8 @@
3560945450,3560945450,SG
3560945451,3560945451,IN
3560945452,3560945453,DE
-3560945454,3560945458,SG
+3560945454,3560945457,SG
+3560945458,3560945458,DE
3560945459,3560945459,TW
3560945460,3560945460,SG
3560945461,3560945461,DE
@@ -163268,7 +165778,7 @@
3560945568,3560945575,DE
3560945576,3560945579,SG
3560945580,3560945583,MY
-3560945584,3560945587,SG
+3560945584,3560945587,DE
3560945588,3560945591,TW
3560945592,3560945595,SG
3560945596,3560945599,DE
@@ -163621,8 +166131,8 @@
3561022562,3561022562,DE
3561022563,3561022563,AT
3561022564,3561022564,DE
-3561022565,3561022719,AT
-3561022720,3561037823,DE
+3561022565,3561022975,AT
+3561022976,3561037823,DE
3561037824,3561046015,BE
3561046016,3561054207,RU
3561054208,3561062399,MT
@@ -163701,20 +166211,12 @@
3561578496,3561586687,RU
3561586688,3561594879,BG
3561594880,3561603071,SE
-3561603072,3561607167,FR
-3561607168,3561607391,GB
-3561607392,3561607423,FR
-3561607424,3561607679,GB
+3561603072,3561605119,FR
+3561605120,3561607679,GB
3561607680,3561608191,FR
3561608192,3561609215,GB
-3561609216,3561611263,FR
-3561611264,3561611519,GB
-3561611520,3561611775,FR
-3561611776,3561612543,GB
-3561612544,3561612799,FR
-3561612800,3561613199,GB
-3561613200,3561613215,ES
-3561613216,3561613311,GB
+3561609216,3561612799,FR
+3561612800,3561613311,ES
3561613312,3561613823,FR
3561613824,3561614207,GB
3561614208,3561614335,FR
@@ -163722,8 +166224,7 @@
3561614848,3561615103,FR
3561615104,3561615359,GB
3561615360,3561617407,FR
-3561617408,3561618431,IE
-3561618432,3561618877,ES
+3561617408,3561618877,ES
3561618878,3561618878,PL
3561618879,3561619071,ES
3561619072,3561619072,GB
@@ -163746,9 +166247,7 @@
3561775104,3561783295,IL
3561783296,3561799679,RU
3561799680,3561807871,DE
-3561807872,3561814015,BE
-3561814016,3561815039,LU
-3561815040,3561816063,BE
+3561807872,3561816063,BE
3561816064,3561824255,VA
3561824256,3561832447,LI
3561832448,3561840639,IT
@@ -163762,34 +166261,46 @@
3561897984,3561906175,GB
3561906176,3561914367,DE
3561914368,3561922559,ES
-3561922560,3561924607,NL
-3561924608,3561925043,GB
-3561925044,3561925044,NL
-3561925045,3561925343,GB
+3561922560,3561924607,GB
+3561924608,3561925119,NL
+3561925120,3561925343,GB
3561925344,3561925375,NL
-3561925376,3561928703,GB
-3561928704,3561938943,NL
+3561925376,3561926655,GB
+3561926656,3561927679,NL
+3561927680,3561929727,GB
+3561929728,3561930239,NL
+3561930240,3561930751,GB
+3561930752,3561938943,NL
3561938944,3561947135,IE
3561947136,3561963519,DE
3561963520,3561971711,BE
3561971712,3561975807,CZ
3561975808,3561979903,UA
3561979904,3561988095,ES
-3561988096,3562004479,DE
-3562004480,3562012671,NL
+3561988096,3562012671,DE
3562012672,3562020863,IR
3562020864,3562029055,UA
3562029056,3562037247,CZ
3562037248,3562045439,CH
-3562045440,3562056911,ES
-3562056912,3562056927,FR
-3562056928,3562057471,ES
-3562057472,3562057727,DE
-3562057728,3562059391,ES
+3562045440,3562059391,ES
3562059392,3562059519,CH
3562059520,3562061823,ES
+3562061824,3562062847,LT
+3562062848,3562063871,UA
+3562063872,3562064895,SE
+3562064896,3562065919,IL
+3562065920,3562066943,ES
+3562066944,3562068991,NL
+3562068992,3562070015,IE
3562070016,3562078207,DE
3562078208,3562086399,SK
+3562086400,3562088447,RU
+3562088448,3562089471,FR
+3562089472,3562090495,DE
+3562090496,3562091519,NO
+3562091520,3562092543,LB
+3562092544,3562093567,RO
+3562093568,3562094591,MD
3562094592,3562094879,GB
3562094880,3562094975,CH
3562094976,3562102256,GB
@@ -163820,7 +166331,7 @@
3562201088,3562209279,DE
3562209280,3562217471,RU
3562217472,3562225663,DE
-3562225664,3562233855,NL
+3562226688,3562233855,NL
3562233856,3562242047,FI
3562242048,3562253276,FR
3562253277,3562253277,NL
@@ -163869,6 +166380,14 @@
3562496000,3562504191,BE
3562504192,3562512383,DE
3562512384,3562520575,UA
+3562520576,3562521599,AU
+3562521600,3562522623,TR
+3562522624,3562523647,RO
+3562523648,3562525695,DE
+3562525696,3562526718,US
+3562526719,3562526719,DE
+3562526720,3562527743,RU
+3562527744,3562528767,DE
3562528768,3562536959,PL
3562536960,3562545151,AT
3562545152,3562553343,GB
@@ -163888,6 +166407,13 @@
3562668032,3562676223,IT
3562676224,3562684415,UA
3562684416,3562692607,FI
+3562692608,3562693631,RU
+3562693632,3562694655,GB
+3562695680,3562696703,UA
+3562696704,3562697727,GB
+3562697728,3562698751,MD
+3562698752,3562699775,DE
+3562699776,3562700799,UA
3562700800,3562708991,DE
3562708992,3562717183,UA
3562717184,3562725375,CH
@@ -163935,7 +166461,7 @@
3563011072,3563012095,DE
3563012096,3563020287,FR
3563020288,3563028479,DE
-3563028480,3563036671,HK
+3563028480,3563036671,US
3563036672,3563044863,BG
3563044864,3563053055,ES
3563053056,3563061247,GB
@@ -163970,8 +166496,8 @@
3563331584,3563339775,DE
3563339776,3563347967,NG
3563347968,3563348991,GB
-3563348992,3563352063,FI
-3563352064,3563356159,GB
+3563348992,3563353087,FI
+3563353088,3563356159,GB
3563356160,3563364351,RU
3563364352,3563372543,BE
3563372544,3563380735,SA
@@ -163993,6 +166519,16 @@
3563503616,3563511807,GB
3563511808,3563519999,DE
3563520000,3563528191,FR
+3563528192,3563529215,DE
+3563529216,3563530239,TR
+3563530240,3563531263,GB
+3563531264,3563532287,LV
+3563532288,3563532799,US
+3563532800,3563533055,DE
+3563533056,3563533311,RO
+3563533312,3563534335,NL
+3563534336,3563535359,TR
+3563535360,3563536383,DE
3563536384,3563544575,CH
3563544576,3563552767,RU
3563552768,3563560959,SI
@@ -164016,6 +166552,14 @@
3563741184,3563749375,GB
3563749376,3563765759,PL
3563765760,3563782143,ES
+3563782144,3563784191,TR
+3563784192,3563785215,DE
+3563785216,3563785727,RU
+3563785728,3563786239,GB
+3563786240,3563787263,DE
+3563787264,3563788287,SY
+3563788288,3563789311,RU
+3563789312,3563790335,DE
3563790336,3563798527,EE
3563798528,3563800607,FR
3563800608,3563800623,GB
@@ -164100,12 +166644,16 @@
3563804704,3563804719,FR
3563804720,3563804727,GB
3563804728,3563806719,FR
-3563806720,3563814911,SA
+3563806720,3563807743,SA
+3563807744,3563808255,GB
+3563808256,3563814911,SA
3563814912,3563823103,SE
3563823104,3563831295,DE
3563831296,3563847679,RU
3563847680,3563848447,NL
-3563848448,3563848703,GB
+3563848448,3563848639,GB
+3563848640,3563848655,NL
+3563848656,3563848703,GB
3563848704,3563848847,NL
3563848848,3563848848,GB
3563848849,3563848849,NL
@@ -164130,12 +166678,10 @@
3563995136,3564003327,MK
3564003328,3564011519,DE
3564011520,3564012543,UA
-3564012544,3564013567,RU
-3564013568,3564016639,UA
+3564012544,3564015615,RU
+3564015616,3564016639,UA
3564016640,3564016895,RU
-3564016896,3564018687,UA
-3564018688,3564019199,RU
-3564019200,3564019711,UA
+3564016896,3564019711,UA
3564019712,3564027903,GB
3564027904,3564044287,DE
3564044288,3564052479,CZ
@@ -164159,8 +166705,8 @@
3564176640,3564176671,PL
3564176672,3564183551,GB
3564183552,3564191743,UA
-3564191744,3564193279,BE
-3564197120,3564197375,BE
+3564191744,3564193791,BE
+3564196864,3564197375,BE
3564199936,3564208127,RU
3564208128,3564216319,GB
3564216320,3564224511,PT
@@ -164170,8 +166716,23 @@
3564265472,3564273663,NL
3564273664,3564306431,DE
3564306432,3564314623,TR
-3564322816,3564331007,IT
-3564339200,3564355583,GB
+3564314624,3564315647,DE
+3564315648,3564316671,NL
+3564316672,3564317695,DE
+3564317696,3564318719,ES
+3564318720,3564319487,RU
+3564319488,3564319743,GB
+3564319744,3564320767,DE
+3564320768,3564321791,RU
+3564321792,3564322815,RO
+3564322816,3564332031,IT
+3564332032,3564333055,TR
+3564333056,3564334079,NL
+3564334080,3564335103,DE
+3564335104,3564336127,UZ
+3564336128,3564337151,PL
+3564337152,3564338175,RS
+3564338176,3564355583,GB
3564355584,3564363775,NL
3564363776,3564371967,UA
3564371968,3564380159,DE
@@ -164204,6 +166765,12 @@
3564572532,3564574719,GB
3564574720,3564574975,NL
3564574976,3564576767,GB
+3564576768,3564577791,MD
+3564577792,3564578815,CZ
+3564578816,3564580863,RU
+3564580864,3564582911,ES
+3564582912,3564583935,GB
+3564583936,3564584959,SE
3564584960,3564593151,SA
3564593152,3564601343,RU
3564601344,3564609535,EE
@@ -164222,17 +166789,11 @@
3564733184,3564733215,DE
3564733216,3564733259,GB
3564733260,3564733263,DE
-3564733264,3564733343,GB
-3564733344,3564733351,DE
-3564733352,3564733393,GB
-3564733394,3564733394,DE
-3564733395,3564733416,GB
-3564733417,3564733420,DE
-3564733421,3564733421,GB
-3564733422,3564733422,DE
-3564733423,3564733439,GB
-3564733440,3564734207,DE
-3564734208,3564734457,GB
+3564733264,3564733311,GB
+3564733312,3564733439,DE
+3564733440,3564733807,GB
+3564733808,3564733823,DE
+3564733824,3564734457,GB
3564734458,3564734458,DE
3564734459,3564734741,GB
3564734742,3564734742,DE
@@ -164241,15 +166802,7 @@
3564734752,3564734775,GB
3564734776,3564734783,DE
3564734784,3564736511,GB
-3564736512,3564737023,DE
-3564737024,3564739327,GB
-3564739328,3564739343,DE
-3564739344,3564739345,GB
-3564739346,3564739346,DE
-3564739347,3564739521,GB
-3564739522,3564739522,DE
-3564739523,3564739583,GB
-3564739584,3564740607,DE
+3564736512,3564740607,DE
3564740608,3564748799,FR
3564748800,3564756991,GB
3564756992,3564765183,ES
@@ -164263,9 +166816,7 @@
3564806144,3564814335,BG
3564814336,3564822527,PL
3564822528,3564830719,EG
-3564830720,3564836863,BE
-3564836864,3564836991,GB
-3564836992,3564838911,BE
+3564830720,3564838911,BE
3564838912,3564847103,DE
3564847104,3564855295,IT
3564855296,3564863487,DE
@@ -164292,22 +166843,23 @@
3564883200,3564883455,NL
3564883456,3564883967,GB
3564883968,3564884479,NL
-3564884480,3564884543,GB
-3564884544,3564884551,DE
-3564884552,3564886015,GB
+3564884480,3564886015,GB
3564886016,3564886527,NL
-3564886528,3564886719,GB
-3564886720,3564886751,NL
-3564886752,3564888991,GB
+3564886528,3564886655,GB
+3564886656,3564886783,NL
+3564886784,3564888991,GB
3564888992,3564888993,ES
3564888994,3564888994,NL
3564888995,3564889007,ES
3564889008,3564889633,GB
3564889634,3564889634,NL
-3564889635,3564891647,GB
+3564889635,3564891135,GB
+3564891136,3564891647,DE
3564891648,3564892159,IT
-3564892160,3564895231,GB
-3564895232,3564895743,NL
+3564892160,3564894207,GB
+3564894208,3564894719,NL
+3564894720,3564894975,GB
+3564894976,3564895743,NL
3564895744,3564896255,GB
3564896256,3564904447,RU
3564904448,3564912639,DE
@@ -164343,8 +166895,8 @@
3565027328,3565035519,PL
3565035520,3565037567,IE
3565037568,3565038591,GB
-3565038592,3565038847,IE
-3565038848,3565039487,GB
+3565038592,3565039103,IE
+3565039104,3565039487,GB
3565039488,3565039495,IE
3565039496,3565039615,GB
3565039616,3565041663,IE
@@ -164367,7 +166919,8 @@
3565256704,3565289471,CN
3565289472,3565355007,DK
3565355008,3565420543,IT
-3565420544,3565486975,GB
+3565420544,3565486335,GB
+3565486336,3565486975,FR
3565486976,3565487615,NL
3565487616,3565495295,GB
3565495296,3565496319,FR
@@ -164375,91 +166928,13 @@
3565502464,3565503487,NL
3565503488,3565518847,GB
3565518848,3565551615,TR
-3565551616,3565684995,GB
+3565551616,3565682687,GB
+3565682688,3565684735,NL
+3565684736,3565684995,GB
3565684996,3565684996,NL
-3565684997,3565690879,GB
-3565690880,3565748223,NL
-3565748224,3565752319,GB
-3565752464,3565752479,GB
-3565752536,3565752559,GB
-3565752576,3565752839,GB
-3565752856,3565752879,GB
-3565752888,3565752983,GB
-3565752992,3565752999,GB
-3565753016,3565753031,GB
-3565753040,3565753071,GB
-3565753080,3565753183,GB
-3565753248,3565753279,GB
-3565753344,3565753791,GB
-3565753800,3565753815,GB
-3565753824,3565753831,GB
-3565753840,3565753847,GB
-3565753984,3565754367,GB
-3565754496,3565754511,GB
-3565754624,3565755183,GB
-3565755200,3565755263,GB
-3565755280,3565755359,GB
-3565755376,3565755583,GB
-3565755648,3565755695,GB
-3565755704,3565755727,GB
-3565755736,3565755831,GB
-3565755840,3565755847,GB
-3565755856,3565755871,GB
-3565755880,3565755903,GB
-3565756152,3565756159,GB
-3565756416,3565760783,GB
-3565760792,3565760799,GB
-3565760808,3565760823,GB
-3565760832,3565760855,GB
-3565760864,3565760935,GB
-3565760944,3565760967,GB
-3565760976,3565761007,GB
-3565761016,3565761279,GB
-3565761344,3565761535,GB
-3565761544,3565761599,GB
-3565761616,3565761631,GB
-3565761640,3565761647,GB
-3565761656,3565761687,GB
-3565761704,3565761727,GB
-3565761752,3565761783,GB
-3565761792,3565762047,GB
-3565762048,3565762303,ZA
-3565762560,3565762815,GB
-3565763072,3565763455,GB
-3565763488,3565763599,GB
-3565763616,3565763671,GB
-3565763680,3565763703,GB
-3565763720,3565763735,GB
-3565763744,3565763751,GB
-3565763760,3565763799,GB
-3565763808,3565763815,GB
-3565763832,3565763839,GB
-3565763884,3565763891,GB
-3565764096,3565764183,GB
-3565764192,3565764207,GB
-3565764256,3565764367,GB
-3565764376,3565764431,GB
-3565764448,3565764455,GB
-3565764464,3565764551,GB
-3565764576,3565766655,GB
-3565766912,3565767167,GB
-3565767176,3565767255,GB
-3565767272,3565767287,GB
-3565767296,3565767351,GB
-3565767360,3565767399,GB
-3565767408,3565767439,GB
-3565767456,3565767487,GB
-3565767504,3565767519,GB
-3565767536,3565767599,GB
-3565767616,3565767631,GB
-3565767680,3565767999,GB
-3565768208,3565768223,GB
-3565768240,3565768247,GB
-3565768448,3565768575,GB
-3565768704,3565768983,GB
-3565769472,3565769727,GB
-3565770752,3565771775,GB
-3565777920,3565813759,GB
+3565684997,3565686783,GB
+3565686784,3565748223,NL
+3565748224,3565813759,GB
3565813760,3565879295,SA
3565879296,3566010367,GB
3566010368,3566075903,IT
@@ -164486,75 +166961,20 @@
3566739456,3566747647,RU
3566747648,3566764031,GR
3566764032,3566796799,AT
-3566796800,3566862335,NL
+3566796800,3566799871,NL
+3566799872,3566800127,PL
+3566800128,3566862335,NL
3566862336,3566895103,TR
3566895104,3566927871,KZ
3566927872,3566993407,FR
3566993408,3567058943,TR
3567058944,3567124479,FR
-3567124992,3567125023,GB
-3567125248,3567125503,GB
-3567126688,3567126759,GB
-3567127552,3567127807,GB
-3567129856,3567129887,GB
-3567130016,3567130079,GB
-3567131384,3567131647,GB
-3567133216,3567133247,GB
-3567133368,3567133375,GB
-3567134208,3567134335,GB
-3567134848,3567134975,GB
-3567136512,3567136575,GB
-3567136640,3567136671,GB
-3567136768,3567136895,GB
-3567137024,3567137279,GB
-3567137600,3567137663,GB
-3567137988,3567137991,GB
-3567138000,3567138003,GB
-3567140096,3567140351,GB
-3567140864,3567140927,GB
-3567141632,3567141887,GB
-3567142272,3567142399,GB
-3567143520,3567143551,GB
-3567143680,3567143687,GB
-3567143872,3567143935,GB
-3567143952,3567143967,GB
-3567144172,3567144175,GB
-3567144320,3567144447,GB
-3567144768,3567144831,GB
-3567147528,3567147535,GB
-3567147552,3567147559,GB
-3567148520,3567148527,GB
-3567148800,3567149055,GB
-3567149088,3567149119,GB
-3567149904,3567149911,GB
-3567149920,3567149935,GB
-3567151136,3567151199,GB
-3567151232,3567151263,GB
-3567152000,3567152127,GB
-3567152160,3567152191,GB
-3567152256,3567152383,GB
-3567152400,3567152407,GB
-3567152640,3567152647,GB
-3567152744,3567152751,GB
-3567152832,3567152863,GB
-3567152960,3567152991,GB
-3567153024,3567153055,GB
-3567153600,3567153607,GB
-3567153616,3567153623,GB
-3567153648,3567153663,GB
-3567153688,3567153703,GB
-3567153720,3567153727,GB
-3567153824,3567153847,GB
-3567154304,3567154367,GB
-3567155200,3567155967,GB
-3567156416,3567156607,GB
+3567124480,3567157247,GB
3567157248,3567165439,CZ
3567165440,3567169535,RU
3567169536,3567173631,MK
3567173632,3567239167,GB
-3567239168,3567243263,NL
-3567243264,3567247359,IT
-3567247360,3567255551,NL
+3567239168,3567255551,NL
3567255552,3567263743,PL
3567263744,3567271935,ES
3567271936,3567321087,PL
@@ -164564,9 +166984,7 @@
3567338944,3567338951,DE
3567338952,3567340543,GB
3567340544,3567341567,IT
-3567341568,3567344389,GB
-3567344390,3567344390,ES
-3567344391,3567344455,GB
+3567341568,3567344455,GB
3567344456,3567344479,ES
3567344480,3567350271,GB
3567350272,3567350527,ES
@@ -164576,13 +166994,20 @@
3567388648,3567388655,DE
3567388656,3567389695,GB
3567389696,3567390719,DE
-3567390720,3567393801,PL
+3567390720,3567392767,PL
+3567392768,3567393801,GB
3567393802,3567393802,SI
-3567393803,3567394815,PL
-3567394816,3567399935,GB
+3567393803,3567399935,GB
3567399936,3567401471,DE
3567401472,3567403007,GB
3567403008,3567419391,IT
+3567419392,3567420415,GB
+3567420416,3567422463,RU
+3567422464,3567423487,HU
+3567423488,3567424511,NO
+3567424512,3567425535,US
+3567425536,3567426559,MD
+3567426560,3567427583,GB
3567427584,3567435775,SE
3567435776,3567453079,GB
3567453080,3567453087,ES
@@ -164619,18 +167044,21 @@
3567507288,3567516671,GB
3567516672,3567517695,ES
3567517696,3567583231,RU
-3567583232,3567583487,AT
-3567583744,3567583871,AT
-3567583936,3567583999,AT
-3567584256,3567584383,AT
-3567584392,3567584407,AT
-3567584512,3567584639,AT
+3567583232,3567584319,GB
+3567584320,3567584383,AT
+3567584384,3567584399,GB
+3567584400,3567584407,AT
+3567584408,3567585279,GB
3567585280,3567585311,TR
-3567585792,3567586303,GB
+3567585312,3567586303,GB
3567586304,3567586815,TR
-3567587328,3567591423,GB
+3567586816,3567591423,GB
3567591424,3567599615,IT
-3567599616,3567615999,NL
+3567599616,3567610879,NL
+3567610880,3567611051,NO
+3567611052,3567611055,NL
+3567611056,3567611135,NO
+3567611136,3567615999,NL
3567616000,3567616767,GB
3567616768,3567617023,US
3567617024,3567618047,GB
@@ -164668,12 +167096,9 @@
3568107520,3568173055,GB
3568173056,3568304127,TR
3568304128,3568369663,RU
-3568369664,3568370175,FR
-3568370176,3568435199,IT
+3568369664,3568435199,IT
3568435200,3568443391,UA
-3568443392,3568470015,NL
-3568470016,3568470271,GB
-3568470272,3568476159,NL
+3568443392,3568476159,NL
3568476160,3568484351,DK
3568484352,3568492543,NL
3568492544,3568500735,RS
@@ -164693,11 +167118,9 @@
3569002752,3569012991,AT
3569014272,3569025023,AT
3569025024,3569057791,NL
-3569057792,3569074687,GB
-3569074688,3569074943,IE
-3569074944,3569075455,GB
-3569075456,3569075711,IE
-3569075712,3569090559,GB
+3569057792,3569074175,GB
+3569074176,3569076223,IE
+3569076224,3569090559,GB
3569090560,3569123327,RU
3569123328,3569156095,GB
3569156096,3569188863,NL
@@ -164960,10 +167383,8 @@
3569745888,3569745903,FR
3569745904,3569745919,NL
3569745920,3569807871,FR
-3569807872,3569808383,GP
-3569808384,3569809407,FR
-3569809408,3569810431,GP
-3569810432,3569810943,FR
+3569807872,3569809407,GP
+3569809408,3569810943,FR
3569810944,3569811455,GP
3569811456,3569876991,IL
3569876992,3569942527,RS
@@ -165010,7 +167431,11 @@
3571321056,3571321071,DE
3571321072,3571321823,GB
3571321824,3571321855,DE
-3571321856,3571384319,GB
+3571321856,3571337930,GB
+3571337931,3571337931,DE
+3571337932,3571338519,GB
+3571338520,3571338527,FR
+3571338528,3571384319,GB
3571384320,3571482623,DE
3571482624,3571515391,BE
3571515392,3571548159,GB
@@ -165018,7 +167443,9 @@
3571580928,3571646463,FI
3571646464,3571688383,DE
3571688384,3571689215,ES
-3571689216,3571711999,DE
+3571689216,3571699711,DE
+3571699712,3571700735,GB
+3571700736,3571711999,DE
3571712000,3571843071,GB
3571843072,3571974143,ES
3571974144,3571978239,RU
@@ -165027,7 +167454,9 @@
3571982336,3572006911,RU
3572006912,3572039679,CH
3572039680,3572047871,BE
-3572047872,3572056063,LU
+3572047872,3572050943,LU
+3572050944,3572051071,FR
+3572051072,3572056063,LU
3572056064,3572072447,RU
3572072448,3572105215,BG
3572105216,3572170751,FR
@@ -165089,7 +167518,9 @@
3573284864,3573415935,TR
3573415936,3573481471,CH
3573481472,3573547007,DE
-3573547008,3573612543,ES
+3573547008,3573549002,ES
+3573549003,3573549003,IT
+3573549004,3573612543,ES
3573612544,3573743615,GB
3573743616,3573809151,CH
3573809152,3573874687,ES
@@ -165139,14 +167570,15 @@
3574186804,3574186804,ES
3574186805,3574187007,GB
3574187008,3574188031,ES
-3574188032,3574198271,GB
+3574188032,3574195199,GB
+3574195200,3574196223,ES
+3574196224,3574198271,GB
3574198272,3574199295,ES
3574199296,3574200831,GB
3574200832,3574202367,ES
3574202368,3574267903,NL
3574267904,3574333439,FR
-3574333440,3574341631,GB
-3574348288,3574348543,GB
+3574333440,3574398975,GB
3574398976,3574464511,PT
3574464512,3574530047,TR
3574530048,3574530207,SE
@@ -165167,9 +167599,9 @@
3574841631,3574857727,GB
3574857728,3574923263,DE
3574923264,3574939647,RU
-3574939648,3574941183,SE
-3574941184,3574941567,NO
-3574941568,3574949743,SE
+3574939648,3574941375,SE
+3574941376,3574941439,NO
+3574941440,3574949743,SE
3574949744,3574949759,NO
3574949760,3574956031,SE
3574956032,3574972415,IT
@@ -165323,7 +167755,9 @@
3575697408,3575701503,IT
3575701504,3575702591,GB
3575702592,3575702655,DK
-3575702656,3575703551,GB
+3575702656,3575703039,GB
+3575703040,3575703295,SE
+3575703296,3575703551,GB
3575703552,3575705599,SE
3575705600,3575707647,DK
3575707648,3575708671,LU
@@ -165337,145 +167771,7 @@
3575873536,3575906303,EE
3575906304,3575971839,FR
3575971840,3576037375,ES
-3576038208,3576038271,GB
-3576038336,3576038463,GB
-3576038528,3576038591,GB
-3576038912,3576038975,GB
-3576039168,3576039199,GB
-3576039360,3576039383,GB
-3576039392,3576039455,GB
-3576039520,3576039551,GB
-3576039584,3576039647,GB
-3576039808,3576039839,GB
-3576039904,3576039935,GB
-3576040064,3576040127,GB
-3576040216,3576040223,GB
-3576040272,3576040287,GB
-3576040352,3576040383,GB
-3576040832,3576040959,GB
-3576041472,3576041535,GB
-3576041728,3576041775,GB
-3576041784,3576041791,GB
-3576041832,3576041847,GB
-3576041864,3576041871,GB
-3576041880,3576041887,GB
-3576041904,3576041919,GB
-3576041936,3576041943,GB
-3576041952,3576041967,GB
-3576042112,3576042239,GB
-3576042560,3576042623,GB
-3576042688,3576042695,GB
-3576042752,3576042815,GB
-3576045584,3576045599,GB
-3576045664,3576045679,GB
-3576045712,3576045735,GB
-3576045800,3576045807,GB
-3576045816,3576045823,GB
-3576048640,3576048767,GB
-3576048960,3576049023,GB
-3576049152,3576050047,GB
-3576053760,3576054911,GB
-3576055104,3576055111,GB
-3576055120,3576055127,GB
-3576055152,3576055167,GB
-3576055184,3576055199,GB
-3576055208,3576055215,GB
-3576055280,3576055551,GB
-3576055808,3576055871,GB
-3576055936,3576055999,GB
-3576056192,3576056255,GB
-3576056320,3576056447,GB
-3576056704,3576056767,GB
-3576056856,3576056871,GB
-3576056880,3576056887,GB
-3576056920,3576056927,GB
-3576056936,3576056943,GB
-3576056952,3576056975,GB
-3576056992,3576056999,GB
-3576057040,3576057047,GB
-3576057632,3576057639,GB
-3576057712,3576057743,GB
-3576057824,3576057839,GB
-3576058880,3576059007,GB
-3576059648,3576059679,GB
-3576059712,3576059743,GB
-3576059776,3576059807,GB
-3576060288,3576060351,GB
-3576061040,3576061055,GB
-3576061120,3576061135,GB
-3576061184,3576061247,GB
-3576061312,3576061439,GB
-3576061584,3576061591,GB
-3576061620,3576061631,GB
-3576061640,3576061647,GB
-3576064320,3576064448,GB
-3576064544,3576064559,GB
-3576065856,3576065887,GB
-3576066304,3576066431,GB
-3576068352,3576068479,GB
-3576068864,3576068927,GB
-3576069056,3576069119,GB
-3576069248,3576069279,GB
-3576069312,3576069343,GB
-3576070696,3576070703,GB
-3576070712,3576070719,GB
-3576070728,3576070735,GB
-3576070776,3576070783,GB
-3576071296,3576071423,GB
-3576071552,3576071679,GB
-3576071936,3576071951,GB
-3576072064,3576072079,GB
-3576072288,3576072319,GB
-3576072416,3576072447,GB
-3576073216,3576073279,GB
-3576074752,3576074879,GB
-3576075264,3576075327,GB
-3576075776,3576075903,GB
-3576076272,3576076351,GB
-3576076568,3576076575,GB
-3576076784,3576076791,GB
-3576077440,3576077471,GB
-3576077568,3576077695,GB
-3576077936,3576077967,GB
-3576078144,3576078175,GB
-3576078464,3576078591,GB
-3576080000,3576080127,GB
-3576080224,3576080255,GB
-3576080776,3576080783,GB
-3576080792,3576080799,GB
-3576080808,3576080815,GB
-3576080824,3576080831,GB
-3576082080,3576082095,GB
-3576082208,3576082223,GB
-3576082688,3576082943,GB
-3576084480,3576084543,GB
-3576084608,3576084671,GB
-3576084704,3576084735,GB
-3576084864,3576084927,GB
-3576086016,3576086143,GB
-3576086368,3576086399,GB
-3576086568,3576086571,GB
-3576086600,3576086603,GB
-3576087808,3576087823,GB
-3576087952,3576087967,GB
-3576088032,3576088047,GB
-3576088224,3576088231,GB
-3576088376,3576088383,GB
-3576088480,3576088511,GB
-3576088960,3576088967,GB
-3576089032,3576089039,GB
-3576089440,3576089471,GB
-3576089776,3576089791,GB
-3576091408,3576091423,GB
-3576091456,3576091479,GB
-3576092128,3576092159,GB
-3576092864,3576092895,GB
-3576093064,3576093071,GB
-3576093184,3576093247,GB
-3576095232,3576096767,GB
-3576099072,3576099327,GB
-3576099840,3576100863,GB
-3576101376,3576103491,GB
+3576037376,3576103491,GB
3576103492,3576103495,HU
3576103496,3576104911,GB
3576104912,3576104927,ES
@@ -165488,12 +167784,14 @@
3576110016,3576110939,GB
3576110940,3576110943,NL
3576110944,3576111103,GB
-3576111104,3576114463,FR
+3576111104,3576113151,FR
+3576113152,3576114255,GB
+3576114256,3576114271,FR
+3576114272,3576114463,GB
3576114464,3576114471,US
-3576114472,3576116127,FR
+3576114472,3576116127,GB
3576116128,3576116135,DE
-3576116136,3576119295,FR
-3576119296,3576120315,GB
+3576116136,3576120315,GB
3576120316,3576120319,SG
3576120320,3576122261,GB
3576122262,3576122262,CH
@@ -165505,60 +167803,64 @@
3576126780,3576126783,ES
3576126784,3576130207,GB
3576130208,3576130211,NL
-3576130212,3576131583,GB
-3576131584,3576133199,CH
+3576130212,3576133199,GB
3576133200,3576133215,FR
-3576133216,3576134655,CH
+3576133216,3576133631,GB
+3576133632,3576134655,CH
3576134656,3576135679,GB
3576135680,3576168447,DE
3576168448,3576233983,GB
3576233984,3576236543,FR
-3576236544,3576238079,GB
-3576238080,3576239103,FR
+3576236544,3576237055,GB
+3576237056,3576238079,FR
+3576238080,3576238463,GB
+3576238464,3576238464,FR
+3576238465,3576239103,GB
3576239104,3576239359,ES
-3576239360,3576240127,FR
-3576240128,3576241991,GB
+3576239360,3576241991,GB
3576241992,3576241999,FR
3576242000,3576244223,GB
-3576244224,3576248575,FR
+3576244224,3576248319,FR
+3576248320,3576248575,GB
3576248576,3576248625,AT
3576248626,3576248626,SK
3576248627,3576248831,AT
-3576248832,3576250367,FR
-3576250368,3576251711,GB
+3576248832,3576249343,GB
+3576249344,3576251391,FR
+3576251392,3576251711,GB
3576251712,3576251775,FR
3576251776,3576252415,GB
-3576252416,3576253439,FR
-3576253440,3576254511,GB
+3576252416,3576254463,FR
+3576254464,3576254511,GB
3576254512,3576254527,FR
3576254528,3576254775,GB
3576254776,3576254783,FR
-3576254784,3576255303,GB
+3576254784,3576254975,GB
+3576254976,3576255303,FR
3576255304,3576255311,ES
-3576255312,3576255457,GB
-3576255458,3576255458,FR
-3576255459,3576255487,GB
-3576255488,3576255999,FR
-3576256000,3576257999,GB
+3576255312,3576256511,FR
+3576256512,3576257999,GB
3576258000,3576258007,DE
3576258008,3576258047,GB
3576258048,3576258559,FR
3576258560,3576258927,GB
3576258928,3576258935,FR
-3576258936,3576261631,GB
+3576258936,3576259583,GB
+3576259584,3576260623,FR
+3576260624,3576261631,GB
3576261632,3576263679,FR
-3576263680,3576263849,GB
-3576263850,3576263850,FR
-3576263851,3576263919,GB
-3576263920,3576263935,FR
+3576263680,3576263807,GB
+3576263808,3576263935,FR
3576263936,3576263975,GB
3576263976,3576263983,FR
-3576263984,3576264703,GB
+3576263984,3576264255,GB
+3576264256,3576264263,FR
+3576264264,3576264703,GB
3576264704,3576265215,FR
3576265216,3576265359,GB
3576265360,3576265367,FR
-3576265368,3576265727,GB
-3576265728,3576299519,FR
+3576265368,3576266751,GB
+3576266752,3576299519,FR
3576299520,3576365055,AE
3576365056,3576430591,TR
3576430592,3576496127,FR
@@ -165574,50 +167876,44 @@
3576823808,3576889343,SE
3576889344,3576954879,NL
3576954880,3576987647,NO
-3576987648,3577020415,GB
+3576987648,3576999935,GB
+3576999936,3577000191,NL
+3577000192,3577020415,GB
3577020416,3577085951,NL
3577085952,3577151487,DE
-3577151488,3577162495,RE
-3577162496,3577163263,FR
-3577163264,3577167871,RE
+3577151488,3577151999,RE
+3577152000,3577152255,FR
+3577152256,3577161215,RE
+3577161216,3577161471,FR
+3577161472,3577165055,RE
+3577165056,3577165183,FR
+3577165184,3577167871,RE
3577167872,3577184255,ET
3577184256,3577217023,CH
-3577217024,3577238015,FR
-3577238016,3577238271,RE
-3577238272,3577268223,FR
+3577217024,3577238112,FR
+3577238113,3577238113,RE
+3577238114,3577268223,FR
3577268224,3577268479,RE
3577268480,3577282559,FR
3577282560,3577348095,IL
3577348096,3577413631,PT
-3577413632,3577444351,RU
-3577444352,3577446399,NL
+3577413632,3577442303,RU
+3577442304,3577446399,US
3577446400,3577479167,RU
3577479168,3577544703,ES
-3577544704,3577558015,DE
-3577558016,3577558271,BE
-3577558272,3577596527,DE
-3577596528,3577596543,IT
-3577596544,3577596623,DE
-3577596624,3577596639,IT
-3577596640,3577596671,DE
-3577596672,3577596735,IT
+3577544704,3577596527,DE
+3577596528,3577596735,IT
3577596736,3577596743,DE
3577596744,3577596751,IT
-3577596752,3577596927,DE
-3577596928,3577597439,IT
-3577597440,3577597695,DE
-3577597696,3577597823,NL
-3577597824,3577597887,DE
-3577597888,3577597951,NL
-3577597952,3577610239,DE
+3577596752,3577596879,DE
+3577596880,3577596895,IT
+3577596896,3577610239,DE
3577626176,3577626239,GB
3577628672,3577629695,CH
3577635840,3577636863,DE
3577636864,3577637887,GB
3577639744,3577639775,FR
-3577639818,3577639818,FR
-3577639896,3577639899,FR
-3577639920,3577639927,FR
+3577639808,3577639935,FR
3577641200,3577641215,FR
3577641472,3577641983,FR
3577642496,3577642751,FR
@@ -165632,11 +167928,7 @@
3578339328,3578347519,ES
3578347520,3578363903,DE
3578363904,3578396671,NL
-3578396672,3578425855,TR
-3578425856,3578426367,SA
-3578426368,3578446431,TR
-3578446432,3578446591,RU
-3578446592,3578462207,TR
+3578396672,3578462207,TR
3578462208,3578527743,NL
3578527744,3578576895,PL
3578576896,3578593279,ES
@@ -165658,20 +167950,25 @@
3579019264,3579052031,DK
3579052032,3579117567,NL
3579117568,3579183103,RU
-3579183104,3579193607,GB
-3579193608,3579193615,NL
-3579193616,3579193791,GB
-3579193792,3579193799,NL
-3579193800,3579209727,GB
+3579183104,3579193343,GB
+3579193344,3579193855,NL
+3579193856,3579194367,GB
+3579194368,3579195391,NL
+3579195392,3579207359,GB
+3579207360,3579207367,DE
+3579207368,3579209727,GB
3579209728,3579210751,DE
3579210752,3579216033,GB
3579216034,3579216034,DE
3579216035,3579219967,GB
3579219968,3579220223,DE
-3579220224,3579244543,GB
-3579244544,3579244831,PL
-3579244832,3579244879,AT
-3579244880,3579245055,PL
+3579220224,3579220479,BE
+3579220480,3579220991,GB
+3579220992,3579221503,ES
+3579221504,3579221935,GB
+3579221936,3579221943,DE
+3579221944,3579244799,GB
+3579244800,3579245055,AT
3579245056,3579248639,GB
3579248640,3579346943,RU
3579346944,3579362055,SE
@@ -165798,10 +168095,7 @@
3579740160,3579772927,IE
3579772928,3579838463,DE
3579838464,3580039167,ES
-3580039168,3580039199,NL
-3580039200,3580039231,AT
-3580039232,3580039247,ES
-3580039248,3580039423,IT
+3580039168,3580039423,IT
3580039424,3580039519,ES
3580039520,3580039551,NL
3580039552,3580100607,ES
@@ -165819,17 +168113,15 @@
3580136192,3580136447,EE
3580136448,3580141567,HR
3580141568,3580148735,LV
-3580148736,3580149759,SE
-3580149760,3580162047,EE
+3580148736,3580157951,SE
+3580157952,3580162047,EE
3580162048,3580164095,SE
3580164096,3580166143,EE
3580166144,3580198911,SE
3580198912,3580199935,LV
3580199936,3580200447,SE
3580200448,3580201983,LT
-3580201984,3580203647,SE
-3580203648,3580203775,AT
-3580203776,3580204031,SE
+3580201984,3580204031,SE
3580204032,3580204544,LT
3580204545,3580204799,SE
3580204800,3580204800,LT
@@ -165851,7 +168143,9 @@
3580244992,3580246015,LT
3580246016,3580248063,LV
3580248064,3580255231,SE
-3580255232,3580259327,LV
+3580255232,3580255487,LV
+3580255488,3580255743,SE
+3580255744,3580259327,LV
3580259328,3580260351,SE
3580260352,3580265471,AT
3580265472,3580265727,SE
@@ -165861,8 +168155,7 @@
3580272640,3580280831,SE
3580280832,3580297215,HR
3580297216,3580329983,LT
-3580329984,3580338175,EE
-3580338176,3580339199,SE
+3580329984,3580339199,SE
3580339200,3580339711,EE
3580339712,3580346367,SE
3580346368,3580354559,LT
@@ -165901,19 +168194,29 @@
3580675072,3580682239,RU
3580682240,3580684287,PL
3580684288,3580686335,FR
-3580686336,3580687359,IR
+3580686336,3580686847,IR
+3580686848,3580687103,AE
+3580687104,3580687359,IR
3580687360,3580688383,GB
3580688384,3580698623,RU
3580698624,3580702719,PL
3580702720,3580706815,RU
3580706816,3580708863,KG
-3580708864,3580710911,RU
+3580708864,3580709119,RU
+3580709120,3580709375,NL
+3580709376,3580710911,RU
3580710912,3580715007,UA
3580715008,3580719103,RU
3580719104,3580723199,NL
3580723200,3580727295,UA
3580727296,3580731391,RU
-3580739584,3580743679,RU
+3580731392,3580732415,DE
+3580732416,3580733439,CZ
+3580733440,3580734463,GB
+3580734464,3580735487,CZ
+3580735488,3580737535,GB
+3580737536,3580738559,IT
+3580738560,3580743679,RU
3580743680,3580747775,KZ
3580747776,3580751871,UA
3580751872,3580755967,IR
@@ -165951,7 +168254,9 @@
3582050304,3582058495,NL
3582058496,3582066687,AT
3582066688,3582074879,UA
-3582074880,3582078719,GB
+3582074880,3582076431,GB
+3582076432,3582076447,DE
+3582076448,3582078719,GB
3582078720,3582078735,DE
3582078736,3582083071,GB
3582083072,3582084095,BG
@@ -165974,7 +168279,9 @@
3582107648,3582115839,NL
3582115840,3582116095,SE
3582116096,3582116351,EE
-3582116352,3582119935,SE
+3582116352,3582116863,SE
+3582116864,3582117887,EE
+3582117888,3582119935,SE
3582119936,3582120959,LT
3582120960,3582121983,EE
3582121984,3582124031,SE
@@ -166041,17 +168348,21 @@
3582559744,3582559815,BE
3582559824,3582559999,CH
3582561280,3582565887,BE
+3582566400,3582569023,GB
3582569024,3582569031,AT
+3582569032,3582570471,GB
3582570472,3582570479,FR
+3582570480,3582570911,GB
3582570912,3582570943,FR
-3582572416,3582572423,CH
+3582570944,3582574591,GB
3582574592,3582582783,DE
3582582784,3582590975,RU
3582590976,3582599167,FR
3582599168,3582607359,DE
3582607360,3582615551,RU
3582615552,3582623743,GB
-3582623744,3582631935,FI
+3582623744,3582623999,NO
+3582624000,3582631935,FI
3582631936,3582640127,NO
3582640128,3582646271,RU
3582646272,3582647295,IT
@@ -166123,11 +168434,7 @@
3583131648,3583131709,DE
3583131710,3583131710,DK
3583131711,3583148031,DE
-3583148032,3583157247,GB
-3583157248,3583157471,IE
-3583157472,3583157487,GB
-3583157488,3583158271,IE
-3583158272,3583164415,GB
+3583148032,3583164415,GB
3583164416,3583172607,PT
3583172608,3583188991,DE
3583188992,3583197183,RU
@@ -166157,18 +168464,16 @@
3583361024,3583369215,IT
3583369216,3583377407,ES
3583377408,3583385599,AT
-3583385600,3583393791,DK
+3583385600,3583388671,DK
+3583388672,3583389439,SE
+3583389440,3583393791,DK
3583393792,3583401983,RU
3583401984,3583410175,KE
3583410176,3583418367,SE
3583418368,3583426559,TN
3583426560,3583428607,CV
3583428608,3583434751,ZA
-3583434752,3583436799,AT
-3583436800,3583436927,DE
-3583436928,3583436959,AT
-3583436960,3583437055,DE
-3583437056,3583442943,AT
+3583434752,3583442943,AT
3583442944,3583451135,RU
3583451136,3583459327,IL
3583459328,3583467519,CZ
@@ -166178,7 +168483,9 @@
3583475712,3583483903,NO
3583483904,3583492095,FR
3583492096,3583508479,SK
-3583508480,3583516671,FR
+3583508480,3583513407,FR
+3583513408,3583513439,US
+3583513440,3583516671,FR
3583516672,3583524863,GB
3583524864,3583533055,EG
3583533056,3583541247,DE
@@ -166207,7 +168514,7 @@
3583739077,3583739077,GB
3583742824,3583742831,DE
3583743616,3583743743,GB
-3583744112,3583744127,SE
+3583744000,3583744127,SE
3583744128,3583744255,PL
3583744320,3583744383,GB
3583744512,3583744767,GB
@@ -166258,11 +168565,7 @@
3584001024,3584004095,US
3584004096,3584008191,CH
3584008192,3584016383,SE
-3584016384,3584018431,RU
-3584018432,3584018943,CN
-3584018944,3584019455,RU
-3584019456,3584020479,CN
-3584020480,3584024575,RU
+3584016384,3584024575,RU
3584024576,3584032767,UA
3584032768,3584040959,DE
3584040960,3584049151,CH
@@ -166276,8 +168579,8 @@
3584098304,3584106495,SI
3584106496,3584114687,FI
3584114688,3584116991,GB
-3584116992,3584117247,NL
-3584117248,3584122879,GB
+3584116992,3584118783,NL
+3584118784,3584122879,GB
3584122880,3584131071,PL
3584131072,3584139263,TR
3584139264,3584147455,NO
@@ -166312,10 +168615,22 @@
3584401408,3584409599,MT
3584409600,3584417791,RU
3584417792,3584434175,GB
-3584434176,3584434303,DE
-3584434304,3584442367,LU
+3584434176,3584442367,LU
+3584442368,3584443391,RU
+3584443392,3584444415,NL
+3584444416,3584445439,RU
+3584445440,3584446463,US
+3584446464,3584446719,RU
+3584446720,3584446975,KZ
+3584446976,3584447487,RU
+3584447488,3584448511,NL
+3584448512,3584450047,RU
+3584450048,3584450303,US
+3584450304,3584450559,RU
3584458752,3584466943,SA
-3584466944,3584475135,NO
+3584466944,3584467967,NO
+3584467968,3584468223,SE
+3584468224,3584475135,NO
3584475136,3584483327,FR
3584483328,3584491519,DE
3584491520,3584499711,BG
@@ -166359,6 +168674,13 @@
3584704512,3584720895,RU
3584720896,3584729087,GB
3584729088,3584737279,DE
+3584737280,3584738303,RU
+3584738304,3584739327,DE
+3584739328,3584740351,GB
+3584740352,3584741375,RS
+3584741376,3584742399,RO
+3584743424,3584744447,DE
+3584744448,3584745471,BR
3584745472,3584753663,ES
3584753664,3584770047,RU
3584770048,3584778239,NL
@@ -166377,6 +168699,13 @@
3584868352,3584876543,NO
3584876544,3584884735,SI
3584884736,3584892927,DE
+3584892928,3584893951,GB
+3584893952,3584894975,BG
+3584894976,3584897023,CH
+3584897024,3584898047,FR
+3584898048,3584899071,SY
+3584899072,3584900095,NL
+3584900096,3584901119,FR
3584901120,3584909311,AT
3584909312,3584917503,IT
3584917504,3584925695,FI
@@ -166389,7 +168718,9 @@
3584974848,3584983039,FR
3584983040,3584991231,US
3584991232,3584999423,IT
-3584999424,3585007615,GB
+3584999424,3585005062,GB
+3585005063,3585005063,NL
+3585005064,3585007615,GB
3585007616,3585015807,AT
3585015808,3585023999,IT
3585024000,3585032191,CZ
@@ -166397,10 +168728,7 @@
3585048576,3585056767,GB
3585056768,3585064959,LB
3585064960,3585081343,GB
-3585081344,3585085439,IR
-3585085440,3585087487,DE
-3585087488,3585089023,IR
-3585089024,3585089535,GB
+3585081344,3585089535,IR
3585089536,3585090559,FI
3585090560,3585091583,IR
3585091584,3585092607,FI
@@ -166408,8 +168736,9 @@
3585093632,3585094655,FI
3585094656,3585095679,IR
3585095680,3585096703,FI
-3585096704,3585113599,IR
-3585113600,3585114111,GB
+3585096704,3585111039,IR
+3585111040,3585112063,BG
+3585112064,3585114111,IR
3585114112,3585122303,IS
3585122304,3585130495,ES
3585130496,3585138687,FR
@@ -166467,7 +168796,29 @@
3585490944,3585499135,IT
3585499136,3585515519,DE
3585515520,3585523711,RU
-3585523712,3585531903,LV
+3585523712,3585524223,LV
+3585524224,3585524479,AZ
+3585524480,3585524735,SL
+3585524736,3585524991,TN
+3585524992,3585525247,JO
+3585525248,3585525503,CR
+3585525504,3585525759,HR
+3585525760,3585526015,CY
+3585526016,3585526271,EG
+3585526272,3585526527,GR
+3585526528,3585526783,GT
+3585526784,3585527039,HU
+3585527040,3585527295,IS
+3585527296,3585527551,IM
+3585527552,3585527807,OM
+3585527808,3585528063,HU
+3585528064,3585528319,MK
+3585528320,3585528575,RS
+3585528576,3585528831,KE
+3585528832,3585529087,NG
+3585529088,3585529343,SG
+3585529344,3585529855,BR
+3585529856,3585531903,CN
3585531904,3585540095,AT
3585540096,3585548287,DE
3585548288,3585548543,NL
@@ -166496,6 +168847,14 @@
3585597440,3585605631,RU
3585605632,3585613823,PL
3585613824,3585622015,EE
+3585622016,3585623039,KZ
+3585623040,3585624063,FR
+3585624064,3585625087,ES
+3585625088,3585626111,IT
+3585626112,3585627135,RO
+3585627136,3585628159,NL
+3585628160,3585629183,CH
+3585629184,3585630207,CZ
3585630208,3585632255,IL
3585632256,3585632511,GB
3585632512,3585632639,NL
@@ -166530,7 +168889,9 @@
3585720320,3585728511,GB
3585728512,3585736703,SE
3585736704,3585744895,HR
-3585744896,3585747839,FR
+3585744896,3585747743,FR
+3585747744,3585747759,PL
+3585747760,3585747839,FR
3585747840,3585747903,GB
3585747904,3585749295,FR
3585749296,3585749311,ES
@@ -166543,7 +168904,9 @@
3585750352,3585750367,DE
3585750368,3585750383,ES
3585750384,3585750399,PT
-3585750400,3585753087,FR
+3585750400,3585752831,FR
+3585752832,3585752895,PL
+3585752896,3585753087,FR
3585753088,3585761279,PL
3585761280,3585765375,UA
3585765376,3585765631,RU
@@ -166585,7 +168948,8 @@
3585900544,3585906687,NO
3585906688,3585907711,CZ
3585907712,3585908735,NO
-3585908736,3585916927,GP
+3585908736,3585910783,GF
+3585910784,3585916927,GP
3585916928,3585925119,IT
3585925120,3585933311,CH
3585933312,3585941503,NL
@@ -166595,6 +168959,15 @@
3585966080,3585974271,CH
3585974272,3585982463,BE
3585982464,3585998847,RU
+3585998848,3585999871,CH
+3585999872,3586000895,DE
+3586000896,3586001919,ES
+3586001920,3586002943,FR
+3586002944,3586004479,GB
+3586004480,3586004735,NL
+3586004736,3586004991,GB
+3586004992,3586006015,HR
+3586006016,3586007039,DE
3586007040,3586015231,LT
3586015232,3586022687,FR
3586022688,3586022688,GB
@@ -166621,9 +168994,10 @@
3586179072,3586195455,ES
3586195456,3586203647,RU
3586203648,3586205695,ZA
-3586205696,3586207999,BW
-3586208000,3586208255,ZA
-3586208256,3586211839,BW
+3586205696,3586207743,BW
+3586207744,3586211071,ZA
+3586211072,3586211327,BW
+3586211328,3586211839,ZA
3586211840,3586228223,CH
3586228224,3586244607,BE
3586244608,3586246655,NL
@@ -166634,8 +169008,8 @@
3586258944,3586259455,BE
3586259456,3586260991,NL
3586260992,3586261031,GB
-3586261032,3586261047,LU
-3586261048,3586271807,GB
+3586261032,3586261055,LU
+3586261056,3586271807,GB
3586271808,3586271823,IT
3586271824,3586272799,GB
3586272800,3586272807,IT
@@ -166734,7 +169108,8 @@
3586682240,3586682367,US
3586682368,3586682415,RO
3586682416,3586682423,DE
-3586682424,3586682495,RO
+3586682424,3586682431,CZ
+3586682432,3586682495,RO
3586682496,3586682879,FR
3586682880,3586686975,DE
3586686976,3586703359,SE
@@ -166754,11 +169129,7 @@
3586910720,3586911231,BE
3586911232,3586916351,DE
3586916352,3586924543,IT
-3586924544,3586925823,FI
-3586925824,3586926049,AX
-3586926050,3586926050,FI
-3586926051,3586926079,AX
-3586926080,3586927615,FI
+3586924544,3586927615,FI
3586927616,3586928127,AX
3586928128,3586928639,FI
3586928640,3586929663,AX
@@ -166817,33 +169188,31 @@
3587219456,3587222271,RU
3587222272,3587222527,RO
3587222528,3587227647,RU
-3587227648,3587233791,NL
+3587227648,3587231743,NL
+3587231744,3587233087,GB
+3587233088,3587233095,NL
+3587233096,3587233279,GB
+3587233280,3587233791,NL
3587233792,3587234815,GB
3587234816,3587235071,DE
3587235072,3587235839,GB
-3587235840,3587239423,NL
-3587239424,3587239551,GB
+3587235840,3587237887,NL
+3587237888,3587239551,GB
3587239552,3587239552,NL
3587239553,3587239791,GB
3587239792,3587239799,NL
-3587239800,3587239827,GB
-3587239828,3587239828,NL
-3587239829,3587239935,GB
-3587239936,3587240447,NL
-3587240448,3587241983,GB
-3587241984,3587242495,NL
+3587239800,3587239807,GB
+3587239808,3587240959,NL
+3587240960,3587241215,GB
+3587241216,3587242495,NL
3587242496,3587242671,GB
3587242672,3587242679,NL
3587242680,3587244031,GB
3587244032,3587260415,IT
-3587260416,3587277567,DE
-3587277568,3587277823,PT
-3587277824,3587284991,DE
-3587284992,3587285247,FR
+3587260416,3587281151,DE
+3587281152,3587284991,RU
3587285248,3587285503,IT
-3587285504,3587286527,FR
-3587286784,3587289599,FR
-3587290112,3587293183,FR
+3587291136,3587293183,FR
3587293184,3587309567,IT
3587309568,3587325951,GB
3587325952,3587342335,RU
@@ -166854,7 +169223,9 @@
3587391488,3587407871,KZ
3587407872,3587408127,BE
3587408128,3587408383,NL
-3587408384,3587415039,BE
+3587408384,3587410499,BE
+3587410500,3587410501,NL
+3587410502,3587415039,BE
3587415040,3587415295,NL
3587415296,3587415551,BE
3587415552,3587415807,NL
@@ -166874,13 +169245,11 @@
3587448832,3587449169,DK
3587449170,3587449170,SE
3587449171,3587450879,DK
-3587450880,3587453351,SE
-3587453352,3587453355,NO
-3587453356,3587454975,SE
-3587454976,3587455177,NO
-3587455178,3587455178,SE
-3587455179,3587455231,NO
-3587455232,3587457023,SE
+3587450880,3587453183,SE
+3587453184,3587453951,NO
+3587453952,3587454975,SE
+3587454976,3587455103,NO
+3587455104,3587457023,SE
3587457024,3587473407,GB
3587473408,3587489791,IT
3587489792,3587506175,EG
@@ -166889,12 +169258,7 @@
3587547136,3587555327,CH
3587555328,3587571711,BE
3587571712,3587579903,DE
-3587579904,3587583999,BE
-3587584000,3587584255,FR
-3587584256,3587584511,BE
-3587584512,3587587071,FR
-3587587072,3587587327,BE
-3587587328,3587588095,FR
+3587579904,3587588095,BE
3587588096,3587596287,BG
3587596288,3587604479,NL
3587604480,3587620863,FI
@@ -166909,6 +169273,14 @@
3587719168,3587735551,PL
3587735552,3587751935,GB
3587751936,3587768319,FI
+3587768320,3587769343,RU
+3587769344,3587770367,IT
+3587770368,3587771391,DE
+3587771392,3587772415,UA
+3587772416,3587773439,GE
+3587773440,3587774463,SA
+3587774464,3587775487,ES
+3587775488,3587776511,RU
3587776512,3587784703,IR
3587784704,3587801087,DE
3587801088,3587817471,IT
@@ -166934,12 +169306,14 @@
3588079616,3588095999,CH
3588096000,3588104191,NL
3588104192,3588112383,BG
-3588112384,3588128767,RE
+3588112384,3588112639,RE
+3588112640,3588112895,YT
+3588112896,3588128767,RE
3588128768,3588145151,HU
3588145152,3588153343,PL
3588153344,3588161535,RU
-3588161536,3588172799,FR
-3588172800,3588173567,RE
+3588161536,3588173055,FR
+3588173056,3588173567,RE
3588173568,3588173823,YT
3588173824,3588227071,FR
3588227072,3588292607,BE
@@ -166969,12 +169343,16 @@
3588489216,3588505599,FR
3588505600,3588521983,RU
3588521984,3588538367,PT
-3588538368,3588554751,GB
+3588538368,3588553983,GB
+3588553984,3588554239,IE
+3588554240,3588554751,GB
3588554752,3588571135,AT
3588571136,3588587519,GB
3588587520,3588590591,ES
3588590592,3588590847,FR
-3588590848,3588595199,ES
+3588590848,3588592543,ES
+3588592544,3588592551,IE
+3588592552,3588595199,ES
3588595200,3588595455,FR
3588595456,3588603903,ES
3588603904,3588620287,SI
@@ -166982,9 +169360,10 @@
3588628480,3588636671,CH
3588636672,3588653055,UZ
3588653056,3588661247,IT
-3588661248,3588667391,NO
+3588661248,3588666367,NO
+3588666368,3588667391,DE
3588667392,3588668415,SG
-3588668416,3588669439,NO
+3588668416,3588669439,HK
3588669440,3588685823,GB
3588685824,3588702207,UA
3588702208,3588718591,ES
@@ -167026,10 +169405,16 @@
3589031057,3589043455,GB
3589043456,3589043711,NL
3589043712,3589046271,GB
-3589046272,3589079039,NO
+3589046272,3589055743,NO
+3589055744,3589055855,PL
+3589055856,3589055859,NO
+3589055860,3589055973,PL
+3589055974,3589055974,NO
+3589055975,3589055999,PL
+3589056000,3589079039,NO
3589079040,3589128191,DK
3589128192,3589144575,GB
-3589144576,3589152767,UA
+3589144576,3589152767,CH
3589152768,3589160959,DE
3589160960,3589177343,PL
3589177344,3589193727,TR
@@ -167056,12 +169441,13 @@
3589431328,3589431343,GB
3589431344,3589431359,ES
3589431360,3589432831,GB
-3589432832,3589433087,CH
+3589432832,3589433087,FR
3589433088,3589433343,GB
3589433344,3589435391,ES
-3589435392,3589435759,FR
+3589435392,3589435759,GB
3589435760,3589435763,ES
-3589435764,3589439487,FR
+3589435764,3589437439,GB
+3589437440,3589439487,FR
3589439488,3589455871,SE
3589455872,3589472255,RU
3589472256,3589488639,TR
@@ -167076,8 +169462,8 @@
3589571840,3589572735,GB
3589572736,3589572863,NL
3589572864,3589580799,GB
-3589580800,3589581823,NL
-3589581824,3589582719,GB
+3589580800,3589581311,NL
+3589581312,3589582719,GB
3589582720,3589582847,NL
3589582848,3589582975,GB
3589582976,3589583103,NL
@@ -167116,6 +169502,7 @@
3589826717,3589826718,AT
3589827584,3589827647,DE
3589827696,3589827711,IE
+3589828096,3589828607,IE
3589828736,3589828863,NL
3589828992,3589829119,ES
3589829504,3589829631,DE
@@ -167132,7 +169519,9 @@
3589980160,3589996543,CZ
3589996544,3589996733,GB
3589996734,3589996734,SK
-3589996735,3589998591,GB
+3589996735,3589998543,GB
+3589998544,3589998551,CH
+3589998552,3589998591,GB
3589998592,3589998607,ES
3589998608,3589998639,GB
3589998640,3589998655,DE
@@ -167144,7 +169533,9 @@
3590000192,3590000207,DE
3590000208,3590001967,GB
3590001968,3590001983,IT
-3590001984,3590005055,GB
+3590001984,3590004055,GB
+3590004056,3590004063,NL
+3590004064,3590005055,GB
3590005056,3590005071,DE
3590005072,3590005119,GB
3590005120,3590005135,IT
@@ -167153,7 +169544,9 @@
3590009120,3590009263,GB
3590009264,3590009279,DE
3590009280,3590012927,GB
-3590012928,3590029311,BE
+3590012928,3590013183,BE
+3590013184,3590013311,GB
+3590013312,3590029311,BE
3590029312,3590032159,FR
3590032160,3590032175,ES
3590032176,3590032191,GB
@@ -167187,19 +169580,19 @@
3590209536,3590225919,ES
3590225920,3590234111,TR
3590234112,3590242303,GB
-3590242304,3590245255,IE
+3590242304,3590243327,DE
+3590243328,3590245255,IE
3590245256,3590245271,GB
3590245272,3590245279,DE
3590245280,3590245311,IE
3590245312,3590245375,US
3590245376,3590245631,IE
3590245632,3590245759,SE
-3590245760,3590246911,IE
-3590246912,3590247048,CA
+3590245760,3590247048,IE
3590247049,3590247049,IT
-3590247050,3590247103,CA
+3590247050,3590247103,IE
3590247104,3590247119,GB
-3590247120,3590247167,CA
+3590247120,3590247167,IE
3590247168,3590247231,US
3590247232,3590247295,IE
3590247296,3590247423,US
@@ -167229,13 +169622,7 @@
3590307840,3590309615,GB
3590309616,3590309623,BF
3590309624,3590324223,GB
-3590324224,3592108544,US
-3592108545,3592108545,DE
-3592108546,3592108579,US
-3592108580,3592108580,DE
-3592108581,3607182079,US
-3607182080,3607182335,KR
-3607182336,3623891455,US
+3590324224,3623891455,US
3623891456,3623891711,ZA
3623891712,3624054783,US
3624054784,3624056831,ZA
@@ -167255,18 +169642,13 @@
3624295177,3624295177,SG
3624295178,3624297471,US
3624297472,3624298495,CO
-3624298496,3624299519,US
-3624299520,3624300543,AU
+3624298496,3624300543,AU
3624300544,3624302335,US
3624302336,3624302591,CA
3624302592,3624321023,US
3624321024,3624325119,CA
3624325120,3624359935,US
-3624359936,3624360960,CA
-3624360961,3624361087,US
-3624361088,3624361728,CA
-3624361729,3624361982,US
-3624361983,3624361983,CA
+3624359936,3624361983,CA
3624361984,3624386559,US
3624386560,3624394751,CA
3624394752,3624402943,US
@@ -167290,22 +169672,18 @@
3624599552,3624714239,US
3624714240,3624722431,SG
3624722432,3624730623,US
-3624730624,3624781311,CA
-3624781312,3624781567,US
-3624781568,3624796159,CA
+3624730624,3624796159,CA
3624796160,3624828927,US
3624828928,3624833023,CA
3624833024,3624845311,US
3624845312,3624849407,AU
3624849408,3624984575,US
3624984576,3624992767,CA
-3624992768,3625016831,US
-3625016832,3625016995,CA
-3625016996,3625016999,US
-3625017000,3625017087,CA
-3625017088,3625058303,US
+3624992768,3625058303,US
3625058304,3625091071,CA
-3625091072,3625116927,US
+3625091072,3625102847,US
+3625102848,3625103103,NL
+3625103104,3625116927,US
3625116928,3625117183,SE
3625117184,3625140223,US
3625140224,3625148415,CA
@@ -167318,7 +169696,11 @@
3625295872,3625346047,US
3625346048,3625346303,AR
3625346304,3625418751,US
-3625418752,3625426943,CA
+3625418752,3625420031,CA
+3625420032,3625420543,US
+3625420544,3625422847,CA
+3625422848,3625423103,US
+3625423104,3625426943,CA
3625426944,3625508863,US
3625508864,3625512959,CA
3625512960,3625517055,US
@@ -167373,17 +169755,21 @@
3625578496,3625582591,CA
3625582592,3625631743,US
3625631744,3625639935,CA
-3625639936,3625959423,US
-3625959424,3625963519,GB
+3625639936,3625961471,US
+3625961472,3625963519,GB
3625963520,3626091519,US
3626091520,3626092031,AR
3626092032,3626232831,US
3626232832,3626233855,GB
-3626233856,3626270719,US
+3626233856,3626234111,US
+3626234112,3626234367,GB
+3626234368,3626270719,US
3626270720,3626287103,CA
3626287104,3626332159,US
3626332160,3626336255,CA
-3626336256,3626508287,US
+3626336256,3626399743,US
+3626399744,3626400767,GB
+3626400768,3626508287,US
3626508288,3626512383,CA
3626512384,3626515967,US
3626515968,3626516223,GB
@@ -167410,8 +169796,8 @@
3627219968,3627220223,US
3627220224,3627220991,CA
3627220992,3627291655,US
-3627291656,3627291657,CA
-3627291658,3627299071,US
+3627291656,3627291663,CA
+3627291664,3627299071,US
3627299072,3627299084,IN
3627299085,3627299085,US
3627299086,3627299327,IN
@@ -167502,7 +169888,9 @@
3628227168,3628227175,ZA
3628227176,3628227199,PL
3628227200,3628227263,LU
-3628227264,3628228463,US
+3628227264,3628228391,US
+3628228392,3628228398,AE
+3628228399,3628228463,US
3628228464,3628228471,KE
3628228472,3628236799,US
3628236800,3628257279,CA
@@ -167528,7 +169916,8 @@
3628618752,3628619775,HN
3628619776,3628622847,US
3628622848,3628623871,PR
-3628623872,3628626943,US
+3628623872,3628625919,NG
+3628625920,3628626943,US
3628626944,3628627199,CO
3628627200,3628627455,US
3628627456,3628627711,HN
@@ -167563,7 +169952,8 @@
3628755968,3628756991,AR
3628756992,3628757503,AE
3628757504,3628758015,US
-3628758016,3628758527,HK
+3628758016,3628758271,HK
+3628758272,3628758527,US
3628758528,3628759039,DE
3628759040,3628761087,CN
3628761088,3628834815,US
@@ -167588,7 +169978,9 @@
3629371392,3629371903,SG
3629371904,3629539327,US
3629539328,3629547519,CA
-3629547520,3629613055,US
+3629547520,3629582335,US
+3629582336,3629588479,CA
+3629588480,3629613055,US
3629613056,3629613311,SE
3629613312,3629614591,US
3629614592,3629614847,DE
@@ -167596,17 +169988,13 @@
3629615104,3629615359,US
3629615360,3629615615,GB
3629615616,3629615871,JP
-3629615872,3629616383,US
-3629616384,3629616639,FR
-3629616640,3629616895,US
-3629616896,3629617151,HK
-3629617152,3629662207,US
+3629615872,3629616127,US
+3629616128,3629616639,FR
+3629616640,3629662207,US
3629662208,3629662463,GB
3629662464,3629737215,US
3629737216,3629737471,CA
-3629737472,3629767935,US
-3629767936,3629768191,CA
-3629768192,3629789439,US
+3629737472,3629789439,US
3629789440,3629789695,CA
3629789696,3629789951,US
3629789952,3629790207,CA
@@ -167672,11 +170060,9 @@
3630082816,3630083071,CA
3630083072,3630085631,US
3630085632,3630085887,CA
-3630085888,3630087679,US
-3630087680,3630087935,CA
-3630087936,3630088447,US
-3630088448,3630088959,CA
-3630088960,3630091519,US
+3630085888,3630088447,US
+3630088448,3630088703,CA
+3630088704,3630091519,US
3630091520,3630091775,CA
3630091776,3630096127,US
3630096128,3630096383,CA
@@ -167743,9 +170129,7 @@
3630850048,3630854143,CA
3630854144,3630895615,US
3630895616,3630895871,CA
-3630895872,3630900735,US
-3630900736,3630900991,CA
-3630900992,3630905599,US
+3630895872,3630905599,US
3630905600,3630905855,CA
3630905856,3630956543,US
3630956544,3631005695,CA
@@ -167898,16 +170282,18 @@
3633569280,3633569535,CA
3633569536,3633709055,US
3633709056,3633717247,CA
-3633717248,3633757439,US
+3633717248,3633756671,US
+3633756672,3633756677,BG
+3633756678,3633756678,US
+3633756679,3633757183,BG
+3633757184,3633757439,US
3633757440,3633757695,IN
3633757696,3633757951,US
3633757952,3633758207,PH
3633758208,3633783039,US
3633783296,3633783551,US
3633783552,3633783807,CA
-3633783808,3633818623,US
-3633818624,3633818879,CA
-3633818880,3633821695,US
+3633783808,3633821695,US
3633821696,3633821951,CA
3633821952,3633823743,US
3633823744,3633827839,HK
@@ -167970,15 +170356,17 @@
3634552832,3634556927,CA
3634556928,3634741247,US
3634741248,3634749439,CA
-3634749440,3634880511,US
+3634749440,3634759679,US
+3634759680,3634759935,CA
+3634759936,3634880511,US
3634880512,3634888703,CA
3634888704,3634905087,US
3634905088,3634905185,CA
3634905186,3634905186,US
3634905187,3634905343,CA
3634905344,3634905599,US
-3634905600,3634909183,CA
-3634909184,3634913279,US
+3634905600,3634907135,CA
+3634907136,3634913279,US
3634913280,3634921471,CA
3634921472,3634925567,US
3634925568,3634929663,CA
@@ -167995,7 +170383,8 @@
3635159040,3635163135,CA
3635163136,3635167231,US
3635167232,3635167487,GB
-3635167488,3635171071,NL
+3635167488,3635167743,ES
+3635167744,3635171071,NL
3635171072,3635171327,CA
3635171328,3635187967,US
3635187968,3635188223,CN
@@ -168009,9 +170398,7 @@
3635529984,3635530239,PR
3635530240,3635531007,US
3635531008,3635531263,PR
-3635531264,3635534207,US
-3635534208,3635534335,PR
-3635534336,3635643391,US
+3635531264,3635643391,US
3635643392,3635644415,JP
3635644416,3635644927,US
3635644928,3635645183,TH
@@ -168030,10 +170417,14 @@
3635659264,3635660287,ID
3635660288,3635670527,US
3635670528,3635671039,TL
-3635671040,3635740671,US
+3635671040,3635701759,US
+3635701760,3635702015,DE
+3635702016,3635740671,US
3635740672,3635740927,CA
3635740928,3635741439,US
-3635741440,3635745535,CA
+3635741440,3635741695,CA
+3635741696,3635741951,US
+3635741952,3635745535,CA
3635745536,3635746047,US
3635746048,3635748223,CA
3635748224,3635748351,US
@@ -168104,7 +170495,9 @@
3636396032,3636430335,CA
3636430336,3636430591,KY
3636430592,3636461567,CA
-3636461568,3636609023,US
+3636461568,3636596735,US
+3636596736,3636597119,CA
+3636597120,3636609023,US
3636609024,3636621311,CA
3636621312,3636625407,US
3636625408,3636626431,AR
@@ -168176,15 +170569,9 @@
3637870592,3637886975,GB
3637886976,3638165503,US
3638165504,3638181887,CA
-3638181888,3638199305,US
-3638199306,3638199306,JP
-3638199307,3638222273,US
-3638222274,3638222274,JP
-3638222275,3638222293,US
-3638222294,3638222294,JP
-3638222295,3638228005,US
-3638228006,3638228006,JP
-3638228007,3638248191,US
+3638181888,3638226687,US
+3638226688,3638226943,NL
+3638226944,3638248191,US
3638248192,3638248447,GB
3638248448,3638249215,US
3638249216,3638249471,GB
@@ -168206,9 +170593,7 @@
3638753280,3638754303,GA
3638754304,3638874111,US
3638874112,3638878207,CA
-3638878208,3638880511,US
-3638880512,3638880767,CA
-3638880768,3638898943,US
+3638878208,3638898943,US
3638898944,3638899199,MX
3638899200,3638954495,US
3638954496,3638955007,CA
@@ -168291,9 +170676,10 @@
3639672832,3639681023,CL
3639681024,3639692031,US
3639692032,3639692287,GB
-3639692288,3639704573,US
+3639692288,3639701503,US
+3639701504,3639704573,CA
3639704574,3639704574,GB
-3639704575,3639705599,US
+3639704575,3639705599,CA
3639705600,3639713791,CY
3639713792,3639730175,US
3639730176,3639734271,CA
@@ -168351,11 +170737,7 @@
3639890312,3639890327,CA
3639890328,3639890399,US
3639890400,3639890415,CA
-3639890416,3639890447,US
-3639890448,3639890455,CA
-3639890456,3639890535,US
-3639890536,3639890559,CA
-3639890560,3639890607,US
+3639890416,3639890607,US
3639890608,3639890623,CA
3639890624,3639890799,US
3639890800,3639890815,CA
@@ -168461,7 +170843,9 @@
3640316928,3640317183,MX
3640317184,3640318207,US
3640318208,3640318719,NC
-3640318720,3640360959,US
+3640318720,3640336383,US
+3640336384,3640338431,CA
+3640338432,3640360959,US
3640360960,3640369151,CA
3640369152,3640410111,US
3640410112,3640418303,CA
@@ -168588,7 +170972,9 @@
3641618432,3641622527,GB
3641622528,3641626623,RU
3641626624,3641630719,HR
-3641630720,3641634815,AT
+3641630720,3641631487,AT
+3641631488,3641631743,DE
+3641631744,3641634815,AT
3641634816,3641638911,RU
3641638912,3641643007,AT
3641643008,3641647103,RU
@@ -168684,8 +171070,7 @@
3641978880,3641982975,DK
3641982976,3641991167,RU
3641991168,3641995263,SE
-3641995264,3641998335,DE
-3641998848,3641999359,DE
+3641995264,3641999359,DE
3641999360,3642003455,HU
3642003456,3642007551,RU
3642007552,3642015743,UA
@@ -168759,7 +171144,8 @@
3642187776,3642191871,DK
3642191872,3642195967,BY
3642195968,3642204159,RU
-3642204160,3642208255,IM
+3642204160,3642206207,IM
+3642206208,3642208255,GB
3642208256,3642212351,RU
3642212352,3642216447,BA
3642216448,3642220543,HU
@@ -168801,7 +171187,7 @@
3642376192,3642380287,RS
3642380288,3642384383,IT
3642384384,3642392575,NL
-3642392576,3642394623,AT
+3642392576,3642394623,SA
3642394624,3642396671,FR
3642396672,3642404863,MD
3642404864,3642406911,IT
@@ -168847,7 +171233,9 @@
3642519552,3642523647,IT
3642523648,3642527743,GB
3642527744,3642531839,PL
-3642531840,3642535935,DK
+3642531840,3642532863,DK
+3642532864,3642532991,US
+3642532992,3642535935,DK
3642535936,3642540031,IS
3642540032,3642544127,SE
3642544128,3642552319,RU
@@ -168884,7 +171272,7 @@
3642601472,3642605567,RU
3642605568,3642609663,GB
3642609664,3642613759,ZA
-3642613760,3642617855,AX
+3642613760,3642617855,FI
3642617856,3642621951,JO
3642621952,3642622975,IT
3642622976,3642623999,PL
@@ -168950,7 +171338,9 @@
3644718336,3644718591,NL
3644718592,3644718847,IT
3644718848,3644719103,DE
-3644719104,3644809215,NL
+3644719104,3644801279,NL
+3644801280,3644801535,DE
+3644801536,3644809215,NL
3644809216,3644809216,FR
3644809217,3644816639,DK
3644817408,3644850175,NL
@@ -169062,7 +171452,9 @@
3645288896,3645288959,LU
3645288960,3645292543,FR
3645292544,3645296639,DE
-3645296640,3645300735,NL
+3645296640,3645297151,NL
+3645297152,3645297407,GB
+3645297408,3645300735,NL
3645300736,3645302011,IE
3645302012,3645302012,BE
3645302013,3645304831,IE
@@ -169074,7 +171466,7 @@
3645325312,3645329407,IT
3645329408,3645333503,CH
3645334272,3645335039,DE
-3645335552,3645337599,DE
+3645335688,3645335691,DE
3645337600,3645341695,FR
3645341696,3645345791,RU
3645345792,3645349887,FI
@@ -169098,9 +171490,12 @@
3645423616,3645431807,DE
3645431808,3645435903,BE
3645435904,3645439999,GB
-3645440000,3645444095,SE
+3645440000,3645442047,SE
+3645442048,3645444095,GB
3645444096,3645448191,SK
-3645448192,3645454335,DE
+3645448192,3645450239,DE
+3645450240,3645452287,GB
+3645452288,3645454335,DE
3645454336,3645456383,RU
3645456384,3645460479,GB
3645460480,3645464575,UA
@@ -169272,9 +171667,7 @@
3645763685,3645763687,DE
3645763688,3645763690,NL
3645763691,3645763691,CH
-3645763692,3645763692,DE
-3645763693,3645763693,NL
-3645763694,3645763696,DE
+3645763692,3645763696,DE
3645763697,3645763697,NL
3645763698,3645763698,DE
3645763699,3645763699,BE
@@ -169790,9 +172183,7 @@
3645764421,3645764421,DE
3645764422,3645764422,IT
3645764423,3645764423,HU
-3645764424,3645764424,DE
-3645764425,3645764425,GB
-3645764426,3645764433,DE
+3645764424,3645764433,DE
3645764434,3645764434,NL
3645764435,3645764435,AT
3645764436,3645764436,DE
@@ -170031,7 +172422,9 @@
3645849600,3645857791,BG
3645857792,3645865983,GB
3645865984,3645870079,HU
-3645870080,3645874175,PL
+3645870080,3645872234,PL
+3645872235,3645872235,DE
+3645872236,3645874175,PL
3645874176,3645878271,GB
3645878272,3645882367,DE
3645882368,3645886463,CH
@@ -170041,19 +172434,13 @@
3645898752,3646243420,DE
3646243421,3646243421,US
3646243422,3646947327,DE
-3646947328,3647047023,PL
-3647047024,3647047031,FR
-3647047032,3647048319,PL
-3647048320,3647048447,FR
-3647048448,3647209471,PL
+3646947328,3647209471,PL
3647209472,3647602687,NL
3647602688,3647733759,RU
3647733760,3647864831,FR
3647864832,3647916799,DE
3647916800,3647917055,SE
-3647917056,3647936511,DE
-3647936512,3647937023,US
-3647937024,3647947727,DE
+3647917056,3647947727,DE
3647947728,3647947735,GB
3647947736,3647964159,DE
3647964160,3647964287,ES
@@ -170062,8 +172449,7 @@
3647964600,3647965255,DE
3647965256,3647965263,ES
3647965264,3647965695,DE
-3647965696,3647965951,CH
-3647965952,3647966207,DE
+3647965696,3647966207,CH
3647966208,3647967231,GB
3647967232,3647967759,DE
3647967760,3647967775,BE
@@ -170075,40 +172461,31 @@
3647969792,3647970303,BE
3647970304,3647971327,DE
3647971328,3647973375,GB
-3647973376,3647973599,DE
-3647973600,3647973607,IT
-3647973608,3647973615,DE
+3647973376,3647973615,DE
3647973616,3647973623,IT
-3647973624,3647973711,DE
-3647973712,3647973719,IT
-3647973720,3647973751,DE
+3647973624,3647973751,DE
3647973752,3647973759,IT
-3647973760,3647973810,DE
-3647973811,3647973811,IT
-3647973812,3647973887,DE
+3647973760,3647973887,DE
3647973888,3647974143,IT
3647974144,3647975255,DE
3647975256,3647975263,ES
-3647975264,3647975423,DE
-3647975424,3647976447,ES
-3647976448,3647976703,BE
-3647976704,3647976959,DE
-3647976960,3647977471,BE
+3647975264,3647975295,DE
+3647975296,3647976447,ES
+3647976448,3647977471,BE
3647977472,3647978495,GB
3647978496,3647978511,NL
3647978512,3647978515,DE
3647978516,3647979007,NL
3647979008,3647979071,IT
-3647979072,3647980383,DE
+3647979072,3647979519,DE
+3647979520,3647980031,FR
+3647980032,3647980383,DE
3647980384,3647980415,FR
3647980416,3647980543,DE
3647980544,3647982079,GB
3647982080,3647982591,BE
-3647982592,3647983871,DE
-3647983872,3647983879,NL
-3647983880,3647984033,DE
-3647984034,3647984034,NL
-3647984035,3647984639,DE
+3647982592,3647983615,IT
+3647983616,3647984639,NL
3647984640,3647985663,BE
3647985664,3647986431,DE
3647986432,3647986687,ES
@@ -170118,7 +172495,8 @@
3647987712,3647988735,IT
3647988736,3647989759,DE
3647989760,3647991807,ES
-3647991808,3647995903,BE
+3647991808,3647993855,DE
+3647993856,3647995903,BE
3647995904,3648004095,RU
3648004096,3648004837,GB
3648004838,3648004838,RU
@@ -170167,11 +172545,10 @@
3648155648,3648159743,CH
3648159744,3648163839,ES
3648163840,3648167935,RU
-3648167936,3648168191,GB
-3648168192,3648168447,IE
-3648168448,3648169983,GB
-3648169984,3648171007,IE
-3648171008,3648172031,GB
+3648167936,3648169983,IE
+3648169984,3648170239,GB
+3648170240,3648170495,IE
+3648170496,3648172031,GB
3648172032,3648176127,RU
3648176128,3648178175,DE
3648178176,3648180223,FR
@@ -170224,9 +172601,7 @@
3648405504,3648413695,RU
3648413696,3648417791,SK
3648417792,3648418303,ES
-3648418304,3648420095,GB
-3648420096,3648420351,NL
-3648420352,3648425983,GB
+3648418304,3648425983,GB
3648425984,3648430079,IT
3648430080,3648434175,NL
3648434176,3648438271,RU
@@ -170284,7 +172659,8 @@
3649843200,3649847295,NL
3649847296,3649855487,DE
3649855488,3649856511,GB
-3649856512,3649857791,US
+3649856512,3649857535,US
+3649857536,3649857791,GB
3649857792,3649858047,IN
3649858048,3649858559,GB
3649858560,3649859583,US
@@ -170318,10 +172694,12 @@
3650203648,3650207743,ES
3650207744,3650211839,SK
3650211840,3650215935,LV
-3650215936,3650216959,RU
+3650215936,3650216959,BR
3650216960,3650217983,IQ
3650217984,3650219007,NO
-3650219008,3650220031,SE
+3650219008,3650219263,SE
+3650219264,3650219519,NL
+3650219520,3650220031,SE
3650220032,3650224127,SA
3650224128,3650224383,TH
3650224384,3650224639,ES
@@ -170452,8 +172830,9 @@
3650682880,3650748415,PL
3650748416,3650879487,GB
3650879488,3650912255,RO
-3650912256,3650912767,FR
-3650912768,3650916393,GB
+3650912256,3650914311,GB
+3650914312,3650914319,IT
+3650914320,3650916393,GB
3650916394,3650916394,FR
3650916395,3650919807,GB
3650919808,3650919823,BG
@@ -170481,24 +172860,16 @@
3650929896,3650929903,ES
3650929904,3650929911,SE
3650929912,3650929919,CH
-3650929920,3650932881,GB
+3650929920,3650932863,GB
+3650932864,3650932881,US
3650932882,3650932882,DE
-3650932883,3650932943,GB
+3650932883,3650932943,US
3650932944,3650932975,IT
-3650932976,3650932983,GB
+3650932976,3650932983,US
3650932984,3650932991,BE
3650932992,3650939607,GB
3650939608,3650939615,TR
-3650939616,3650940927,GB
-3650940928,3650941177,NL
-3650941178,3650941178,GB
-3650941179,3650941183,NL
-3650941184,3650943999,GB
-3650944000,3650944530,FR
-3650944531,3650944531,GB
-3650944532,3650944708,FR
-3650944709,3650944709,GB
-3650944710,3650945023,FR
+3650939616,3650945023,GB
3650945024,3651010559,DK
3651010560,3651076095,GB
3651076096,3651108863,DE
@@ -170512,23 +172883,15 @@
3651190016,3651192319,DE
3651192320,3651193343,GB
3651193344,3651207167,DE
-3651207168,3651207199,GB
-3651207224,3651207295,GB
-3651207424,3651207615,GB
-3651207648,3651208959,GB
+3651207168,3651209215,GB
3651209216,3651209231,US
-3651209232,3651209239,GB
-3651209240,3651209243,DE
-3651209472,3651210751,GB
+3651209232,3651211263,GB
3651211264,3651211519,IR
-3651213824,3651214207,US
-3651215360,3651215395,GB
-3651215616,3651215871,GB
-3651217408,3651217535,GI
+3651211520,3651213823,GB
+3651213824,3651214079,US
+3651214080,3651219455,GB
3651219456,3651219967,US
-3651220432,3651220447,GB
-3651221504,3651221695,GB
-3651223552,3651223567,GB
+3651219968,3651223567,GB
3651223584,3651223607,GB
3651223648,3651223663,ES
3651227136,3651227391,GB
@@ -170537,20 +172900,18 @@
3651232320,3651232383,GB
3651237376,3651237631,SC
3651239936,3651272703,GB
-3651272704,3651338239,CH
-3651338240,3651342847,GB
-3651342848,3651343359,US
-3651343360,3651344127,GB
+3651272704,3651297023,CH
+3651297024,3651297151,DE
+3651297152,3651338239,CH
+3651338240,3651344127,GB
3651344128,3651344383,DE
3651344384,3651345407,GB
3651345408,3651346175,DE
3651346176,3651352575,GB
3651352576,3651353599,FR
-3651353600,3651354623,GB
-3651354624,3651361279,FR
+3651353600,3651361279,GB
3651361280,3651361535,IE
-3651361536,3651362815,FR
-3651362816,3651403775,GB
+3651361536,3651403775,GB
3651403776,3651534847,AE
3651534848,3651600383,NL
3651600384,3651665919,FR
@@ -170602,10 +172963,7 @@
3651870720,3651874815,IT
3651874816,3651878911,PL
3651878912,3651883007,IT
-3651883008,3651884543,CD
-3651884544,3651884799,BE
-3651884800,3651885311,CD
-3651885312,3651887103,BE
+3651883008,3651887103,CD
3651887104,3651891199,GB
3651891200,3651895295,DE
3651895296,3651899391,GB
@@ -170638,12 +172996,16 @@
3652005888,3652009983,GB
3652009984,3652014079,RU
3652014080,3652018175,SA
-3652018176,3652020991,IE
+3652018176,3652018687,IE
+3652018688,3652018943,PL
+3652018944,3652020991,IE
3652020992,3652021247,AT
3652021248,3652022015,IE
3652022016,3652022271,DE
3652022272,3652026367,ES
-3652026368,3652034559,DE
+3652026368,3652032767,DE
+3652032768,3652033791,NL
+3652033792,3652034559,DE
3652034560,3652046847,PL
3652046848,3652050943,IE
3652050944,3652055039,LI
@@ -170668,16 +173030,16 @@
3652149248,3652153343,DE
3652153344,3652157439,SE
3652157440,3652165631,RU
-3652165632,3652165887,MQ
-3652165888,3652168703,FR
-3652168704,3652169215,MQ
-3652169216,3652169727,FR
+3652165632,3652165759,MQ
+3652165760,3652167679,FR
+3652167680,3652168703,GP
+3652168704,3652169727,FR
3652169728,3652173823,MQ
3652173824,3652177919,AT
3652177920,3652182015,CY
3652182016,3652186111,DE
-3652186112,3652186623,TH
-3652186624,3652190207,DE
+3652186112,3652187135,TH
+3652187136,3652190207,DE
3652190208,3652321279,GB
3652321280,3652386815,JP
3652386816,3652583423,GB
@@ -170784,7 +173146,9 @@
3652599616,3652599623,DE
3652599624,3652599679,FR
3652599680,3652599743,IT
-3652599744,3652601855,FR
+3652599744,3652599791,FR
+3652599792,3652599807,BE
+3652599808,3652601855,FR
3652601856,3652603903,PL
3652603904,3652608087,FR
3652608088,3652608091,ES
@@ -170833,7 +173197,9 @@
3652613680,3652613695,LT
3652613696,3652614015,FR
3652614016,3652614079,BE
-3652614080,3652615871,FR
+3652614080,3652614339,FR
+3652614340,3652614343,LT
+3652614344,3652615871,FR
3652615872,3652615935,DE
3652615936,3652620639,FR
3652620640,3652620671,CZ
@@ -170866,7 +173232,11 @@
3652628608,3652628639,PL
3652628640,3652628855,FR
3652628856,3652628863,ES
-3652628864,3652629743,FR
+3652628864,3652629095,FR
+3652629096,3652629103,GB
+3652629104,3652629167,FR
+3652629168,3652629183,PL
+3652629184,3652629743,FR
3652629744,3652629759,ES
3652629760,3652630015,FR
3652630016,3652630031,ES
@@ -171062,8 +173432,8 @@
3653763072,3654025215,IT
3654025216,3654287359,GB
3654287360,3654467071,SE
-3654467072,3654467199,DK
-3654467200,3654606975,SE
+3654467072,3654467327,DK
+3654467328,3654606975,SE
3654607104,3654608404,SE
3654608405,3654608405,NO
3654608406,3654608895,SE
@@ -171167,7 +173537,9 @@
3669620736,3669622783,IN
3669622784,3669688319,SG
3669688320,3669753855,TW
-3669753856,3670015999,HK
+3669753856,3669825535,HK
+3669825536,3669826559,PH
+3669826560,3670015999,HK
3670016000,3671064575,CN
3671064576,3671130111,MY
3671130112,3671195647,KR
@@ -171182,9 +173554,9 @@
3673751552,3673817087,CN
3673817088,3673882623,HK
3673882624,3673948159,JP
-3673948160,3674180351,HK
-3674180352,3674180607,AU
-3674180608,3674210303,HK
+3673948160,3674062847,HK
+3674062848,3674064895,AU
+3674064896,3674210303,HK
3674210304,3678404607,JP
3678404608,3678535679,IN
3678535680,3678666751,JP
@@ -171238,7 +173610,10 @@
3699376128,3700424703,TW
3700424704,3700752383,JP
3700752384,3700817919,KR
-3700817920,3700981759,JP
+3700817920,3700977663,JP
+3700977664,3700978687,BD
+3700978688,3700979711,TH
+3700979712,3700981759,JP
3700981760,3701014527,CN
3701014528,3701080063,JP
3701080064,3701211135,CN
@@ -171307,7 +173682,56 @@
3706322944,3706388479,CN
3706388480,3706781695,AU
3706781696,3706847231,HK
-3706847232,3706978303,CN
+3706847232,3706847743,CN
+3706847744,3706847999,HK
+3706848000,3706849791,CN
+3706849792,3706850047,SG
+3706850048,3706851071,CN
+3706851072,3706851327,US
+3706851328,3706880767,CN
+3706880768,3706881023,US
+3706881024,3706881535,CN
+3706881536,3706881791,JP
+3706881792,3706882303,CN
+3706882304,3706882559,JP
+3706882560,3706883071,CN
+3706883072,3706883327,FR
+3706883328,3706883839,US
+3706883840,3706885119,CN
+3706885120,3706885375,SG
+3706885376,3706885887,CN
+3706885888,3706886143,US
+3706886144,3706962431,CN
+3706962432,3706962687,US
+3706962688,3706963199,CN
+3706963200,3706963455,US
+3706963456,3706964479,CN
+3706964480,3706964735,SE
+3706964736,3706965759,CN
+3706965760,3706966015,TH
+3706966016,3706967039,IN
+3706967040,3706967295,US
+3706967296,3706969599,CN
+3706969600,3706969855,HK
+3706969856,3706970111,CN
+3706970112,3706970367,US
+3706970368,3706971903,CN
+3706971904,3706972159,US
+3706972160,3706973183,CN
+3706973184,3706973439,US
+3706973440,3706973951,CN
+3706973952,3706974207,PH
+3706974208,3706974463,TW
+3706974464,3706974719,CN
+3706974720,3706974975,US
+3706974976,3706976511,CN
+3706976512,3706976512,JP
+3706976513,3706977023,CN
+3706977024,3706977279,OM
+3706977280,3706977535,CN
+3706977536,3706977791,HK
+3706977792,3706978047,TH
+3706978048,3706978303,CN
3706978304,3707109375,AU
3707109376,3707174911,HK
3707174912,3707207679,JP
@@ -171449,7 +173873,7 @@
3743019008,3743022079,MY
3743022080,3743023103,BD
3743023104,3743027199,TW
-3743027200,3743028223,IN
+3743027200,3743028223,US
3743028224,3743029247,AF
3743029248,3743030271,NZ
3743030272,3743035391,IN
@@ -171479,9 +173903,7 @@
3743134720,3743135743,JP
3743135744,3743136767,CN
3743136768,3743137791,MY
-3743137792,3743146495,TH
-3743146496,3743146751,DK
-3743146752,3743154175,TH
+3743137792,3743154175,TH
3743154176,3743186943,MY
3743186944,3743219711,KR
3743219712,3743252479,JP
@@ -171560,7 +173982,9 @@
3757862912,3757867007,JP
3757867008,3757875519,CN
3757875520,3757875583,HK
-3757875584,3757899775,CN
+3757875584,3757878271,CN
+3757878272,3757878527,JP
+3757878528,3757899775,CN
3757899776,3757965311,KR
3757965312,3758063615,CN
3758063616,3758079999,HK
diff --git a/src/config/geoip6 b/src/config/geoip6
index fd247799ce..abe71e560b 100644
--- a/src/config/geoip6
+++ b/src/config/geoip6
@@ -1,4 +1,4 @@
-# Last updated based on October 9 2018 Maxmind GeoLite2 Country
+# Last updated based on December 5 2018 Maxmind GeoLite2 Country
# wget https://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.mmdb.gz
# gunzip GeoLite2-Country.mmdb.gz
# python mmdb-convert.py GeoLite2-Country.mmdb
@@ -70,8 +70,8 @@
2001:420:4000::,2001:420:447f:ffff:ffff:ffff:ffff:ffff,NL
2001:420:4480::,2001:420:4487:ffff:ffff:ffff:ffff:ffff,IL
2001:420:4488::,2001:420:4fff:ffff:ffff:ffff:ffff:ffff,NL
-2001:420:5000::,2001:420:53ff:ffff:ffff:ffff:ffff:ffff,AU
-2001:420:5400::,2001:420:57ff:ffff:ffff:ffff:ffff:ffff,IN
+2001:420:5000::,2001:420:51ff:ffff:ffff:ffff:ffff:ffff,AU
+2001:420:5200::,2001:420:57ff:ffff:ffff:ffff:ffff:ffff,IN
2001:420:5800::,2001:420:5bff:ffff:ffff:ffff:ffff:ffff,HK
2001:420:5c00::,2001:420:5dff:ffff:ffff:ffff:ffff:ffff,SG
2001:420:5e00::,2001:420:5fff:ffff:ffff:ffff:ffff:ffff,JP
@@ -83,7 +83,9 @@
2001:420:c0d8::,2001:420:c0db:ffff:ffff:ffff:ffff:ffff,HK
2001:420:c0dc::,2001:420:c0df:ffff:ffff:ffff:ffff:ffff,JP
2001:420:c0e0::,2001:420:c0e3:ffff:ffff:ffff:ffff:ffff,IN
-2001:420:c0e4::,2001:420:ffff:ffff:ffff:ffff:ffff:ffff,US
+2001:420:c0e4::,2001:420:c0e7:ffff:ffff:ffff:ffff:ffff,US
+2001:420:c0e8::,2001:420:c0ff:ffff:ffff:ffff:ffff:ffff,IN
+2001:420:c100::,2001:420:ffff:ffff:ffff:ffff:ffff:ffff,US
2001:428::,2001:428:ffff:ffff:ffff:ffff:ffff:ffff,US
2001:430::,2001:430:ffff:ffff:ffff:ffff:ffff:ffff,US
2001:438::,2001:438:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -105,27 +107,32 @@
2001:470:5:319::,2001:470:d:11b:ffff:ffff:ffff:ffff,US
2001:470:d:11c::,2001:470:d:11c:ffff:ffff:ffff:ffff,NZ
2001:470:d:11d::,2001:470:d:1ff:ffff:ffff:ffff:ffff,US
-2001:470:d:200::,2001:470:d:ffff:ffff:ffff:ffff:ffff,CN
-2001:470:e::,2001:470:17:ffff:ffff:ffff:ffff:ffff,US
-2001:470:18::,2001:470:19:e7f:ffff:ffff:ffff:ffff,CN
+2001:470:d:200::,2001:470:d:267:ffff:ffff:ffff:ffff,CN
+2001:470:d:268::,2001:470:d:268:ffff:ffff:ffff:ffff,US
+2001:470:d:269::,2001:470:d:2a3:ffff:ffff:ffff:ffff,CN
+2001:470:d:2a4::,2001:470:d:2a4:ffff:ffff:ffff:ffff,US
+2001:470:d:2a5::,2001:470:d:7ff:ffff:ffff:ffff:ffff,CN
+2001:470:d:800::,2001:470:d:17ff:ffff:ffff:ffff:ffff,US
+2001:470:d:1800::,2001:470:d:ffff:ffff:ffff:ffff:ffff,CN
+2001:470:e::,2001:470:18:ffff:ffff:ffff:ffff:ffff,US
+2001:470:19::,2001:470:19:e7f:ffff:ffff:ffff:ffff,CN
2001:470:19:e80::,2001:470:19:e80:ffff:ffff:ffff:ffff,HK
2001:470:19:e81::,2001:470:19:1180:ffff:ffff:ffff:ffff,CN
2001:470:19:1181::,2001:470:19:1181:ffff:ffff:ffff:ffff,HK
2001:470:19:1182::,2001:470:19:ffff:ffff:ffff:ffff:ffff,CN
-2001:470:1a::,2001:470:1c:ffff:ffff:ffff:ffff:ffff,US
-2001:470:1d::,2001:470:1d:7ff:ffff:ffff:ffff:ffff,CA
-2001:470:1d:800::,2001:470:1d:ffff:ffff:ffff:ffff:ffff,RU
-2001:470:1e::,2001:470:1f:ffff:ffff:ffff:ffff:ffff,US
-2001:470:20::,2001:470:23:429:ffff:ffff:ffff:ffff,JP
+2001:470:1a::,2001:470:1d:56f:ffff:ffff:ffff:ffff,US
+2001:470:1d:570::,2001:470:1d:570:ffff:ffff:ffff:ffff,CA
+2001:470:1d:571::,2001:470:1d:7ff:ffff:ffff:ffff:ffff,US
+2001:470:1d:800::,2001:470:1d:fff:ffff:ffff:ffff:ffff,RU
+2001:470:1d:1000::,2001:470:23:429:ffff:ffff:ffff:ffff,US
2001:470:23:42a::,2001:470:23:42a:ffff:ffff:ffff:ffff,RU
-2001:470:23:42b::,2001:470:23:ffff:ffff:ffff:ffff:ffff,JP
+2001:470:23:42b::,2001:470:23:ffff:ffff:ffff:ffff:ffff,US
2001:470:24::,2001:470:24:3ff:ffff:ffff:ffff:ffff,KR
-2001:470:24:400::,2001:470:24:7ff:ffff:ffff:ffff:ffff,CN
-2001:470:24:800::,2001:470:24:fff:ffff:ffff:ffff:ffff,KR
+2001:470:24:400::,2001:470:24:5ff:ffff:ffff:ffff:ffff,CN
+2001:470:24:600::,2001:470:24:fff:ffff:ffff:ffff:ffff,KR
2001:470:24:1000::,2001:470:24:1fff:ffff:ffff:ffff:ffff,CN
2001:470:24:2000::,2001:470:24:ffff:ffff:ffff:ffff:ffff,KR
-2001:470:25::,2001:470:25:ffff:ffff:ffff:ffff:ffff,US
-2001:470:26::,2001:470:26:65b:ffff:ffff:ffff:ffff,RU
+2001:470:25::,2001:470:26:65b:ffff:ffff:ffff:ffff,RU
2001:470:26:65c::,2001:470:26:65c:ffff:ffff:ffff:ffff,CH
2001:470:26:65d::,2001:470:26:825:ffff:ffff:ffff:ffff,RU
2001:470:26:826::,2001:470:26:826:ffff:ffff:ffff:ffff,CH
@@ -147,24 +154,26 @@
2001:470:28:817::,2001:470:28:817:ffff:ffff:ffff:ffff,DK
2001:470:28:818::,2001:470:28:9c1:ffff:ffff:ffff:ffff,RU
2001:470:28:9c2::,2001:470:28:9c2:ffff:ffff:ffff:ffff,SE
-2001:470:28:9c3::,2001:470:28:a2b:ffff:ffff:ffff:ffff,RU
+2001:470:28:9c3::,2001:470:28:9ff:ffff:ffff:ffff:ffff,RU
+2001:470:28:a00::,2001:470:28:a2b:ffff:ffff:ffff:ffff,FI
2001:470:28:a2c::,2001:470:28:a2c:ffff:ffff:ffff:ffff,SE
-2001:470:28:a2d::,2001:470:28:efc:ffff:ffff:ffff:ffff,RU
+2001:470:28:a2d::,2001:470:28:bff:ffff:ffff:ffff:ffff,FI
+2001:470:28:c00::,2001:470:28:efc:ffff:ffff:ffff:ffff,RU
2001:470:28:efd::,2001:470:28:efd:ffff:ffff:ffff:ffff,SE
-2001:470:28:efe::,2001:470:2e:1::2f,RU
-2001:470:2e:1::30,2001:470:2e:1::30,US
-2001:470:2e:1::31,2001:470:2f:ffff:ffff:ffff:ffff:ffff,RU
-2001:470:30::,2001:470:36:6c:ffff:ffff:ffff:ffff,US
+2001:470:28:efe::,2001:470:28:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:29::,2001:470:36:6c:ffff:ffff:ffff:ffff,US
2001:470:36:6d::,2001:470:36:6d:ffff:ffff:ffff:ffff,IN
-2001:470:36:6e::,2001:470:6b:ffff:ffff:ffff:ffff:ffff,US
-2001:470:6c::,2001:470:6c:39d:ffff:ffff:ffff:ffff,DE
+2001:470:36:6e::,2001:470:6c:39d:ffff:ffff:ffff:ffff,US
2001:470:6c:39e::,2001:470:6c:39e:ffff:ffff:ffff:ffff,DK
-2001:470:6c:39f::,2001:470:6d:39d:ffff:ffff:ffff:ffff,DE
+2001:470:6c:39f::,2001:470:6c:ffff:ffff:ffff:ffff:ffff,US
+2001:470:6d::,2001:470:6d:39d:ffff:ffff:ffff:ffff,DE
2001:470:6d:39e::,2001:470:6d:39e:ffff:ffff:ffff:ffff,DK
2001:470:6d:39f::,2001:470:6d:6b1:ffff:ffff:ffff:ffff,DE
2001:470:6d:6b2::,2001:470:6d:6b2:ffff:ffff:ffff:ffff,ES
-2001:470:6d:6b3::,2001:470:6d:ffff:ffff:ffff:ffff:ffff,DE
-2001:470:6e::,2001:470:6f:49e:ffff:ffff:ffff:ffff,US
+2001:470:6d:6b3::,2001:470:6d:7ff:ffff:ffff:ffff:ffff,DE
+2001:470:6d:800::,2001:470:6d:e8d:ffff:ffff:ffff:ffff,US
+2001:470:6d:e8e::,2001:470:6d:e8e:ffff:ffff:ffff:ffff,DE
+2001:470:6d:e8f::,2001:470:6f:49e:ffff:ffff:ffff:ffff,US
2001:470:6f:49f::,2001:470:6f:49f:ffff:ffff:ffff:ffff,SK
2001:470:6f:4a0::,2001:470:6f:7ff:ffff:ffff:ffff:ffff,US
2001:470:6f:800::,2001:470:6f:fff:ffff:ffff:ffff:ffff,CZ
@@ -185,14 +194,8 @@
2001:470:1c00::,2001:470:1f04:ffff:ffff:ffff:ffff:ffff,US
2001:470:1f05::,2001:470:1f05:83:ffff:ffff:ffff:ffff,CN
2001:470:1f05:84::,2001:470:1f05:84:ffff:ffff:ffff:ffff,US
-2001:470:1f05:85::,2001:470:1f05:3ff:ffff:ffff:ffff:ffff,CN
-2001:470:1f05:400::,2001:470:1f05:fff:ffff:ffff:ffff:ffff,US
-2001:470:1f05:1000::,2001:470:1f05:ffff:ffff:ffff:ffff:ffff,CN
-2001:470:1f06::,2001:470:1f07:7ff:ffff:ffff:ffff:ffff,US
-2001:470:1f07:800::,2001:470:1f07:8ff:ffff:ffff:ffff:ffff,CN
-2001:470:1f07:900::,2001:470:1f07:9ff:ffff:ffff:ffff:ffff,US
-2001:470:1f07:a00::,2001:470:1f07:bff:ffff:ffff:ffff:ffff,CN
-2001:470:1f07:c00::,2001:470:1f08:136:ffff:ffff:ffff:ffff,US
+2001:470:1f05:85::,2001:470:1f05:1ff:ffff:ffff:ffff:ffff,CN
+2001:470:1f05:200::,2001:470:1f08:136:ffff:ffff:ffff:ffff,US
2001:470:1f08:137::,2001:470:1f08:137:ffff:ffff:ffff:ffff,GB
2001:470:1f08:138::,2001:470:1f08:415::1,US
2001:470:1f08:415::2,2001:470:1f08:415::2,GB
@@ -200,75 +203,65 @@
2001:470:1f08:121a::,2001:470:1f08:121a:ffff:ffff:ffff:ffff,GB
2001:470:1f08:121b::,2001:470:1f08:1367:ffff:ffff:ffff:ffff,US
2001:470:1f08:1368::,2001:470:1f08:1368:ffff:ffff:ffff:ffff,GB
-2001:470:1f08:1369::,2001:470:1f09:114:ffff:ffff:ffff:ffff,US
-2001:470:1f09:115::,2001:470:1f09:115:ffff:ffff:ffff:ffff,GB
-2001:470:1f09:116::,2001:470:1f09:2b5:ffff:ffff:ffff:ffff,US
-2001:470:1f09:2b6::,2001:470:1f09:2b6:ffff:ffff:ffff:ffff,GB
-2001:470:1f09:2b7::,2001:470:1f09:414:ffff:ffff:ffff:ffff,US
-2001:470:1f09:415::,2001:470:1f09:415:ffff:ffff:ffff:ffff,GB
-2001:470:1f09:416::,2001:470:1f09:7ff:ffff:ffff:ffff:ffff,US
-2001:470:1f09:800::,2001:470:1f09:fff:ffff:ffff:ffff:ffff,GB
-2001:470:1f09:1000::,2001:470:1f09:1219:ffff:ffff:ffff:ffff,US
-2001:470:1f09:121a::,2001:470:1f09:121a:ffff:ffff:ffff:ffff,GB
-2001:470:1f09:121b::,2001:470:1f09:1367:ffff:ffff:ffff:ffff,US
-2001:470:1f09:1368::,2001:470:1f09:1368:ffff:ffff:ffff:ffff,GB
-2001:470:1f09:1369::,2001:470:1f09:ffff:ffff:ffff:ffff:ffff,US
-2001:470:1f0a::,2001:470:1f0a:ffff:ffff:ffff:ffff:ffff,RU
-2001:470:1f0b::,2001:470:1f0b:30e:ffff:ffff:ffff:ffff,UA
+2001:470:1f08:1369::,2001:470:1f08:ffff:ffff:ffff:ffff:ffff,US
+2001:470:1f09::,2001:470:1f09:ffff:ffff:ffff:ffff:ffff,GB
+2001:470:1f0a::,2001:470:1f0a:ffff:ffff:ffff:ffff:ffff,US
+2001:470:1f0b::,2001:470:1f0b:30e:ffff:ffff:ffff:ffff,RU
2001:470:1f0b:30f::,2001:470:1f0b:30f:ffff:ffff:ffff:ffff,DE
-2001:470:1f0b:310::,2001:470:1f0b:59f:ffff:ffff:ffff:ffff,UA
+2001:470:1f0b:310::,2001:470:1f0b:4b0:ffff:ffff:ffff:ffff,RU
+2001:470:1f0b:4b1::,2001:470:1f0b:4b1:ffff:ffff:ffff:ffff,UA
+2001:470:1f0b:4b2::,2001:470:1f0b:59f:ffff:ffff:ffff:ffff,RU
2001:470:1f0b:5a0::,2001:470:1f0b:5a0:ffff:ffff:ffff:ffff,AT
-2001:470:1f0b:5a1::,2001:470:1f0b:779:ffff:ffff:ffff:ffff,UA
+2001:470:1f0b:5a1::,2001:470:1f0b:779:ffff:ffff:ffff:ffff,RU
2001:470:1f0b:77a::,2001:470:1f0b:77a:ffff:ffff:ffff:ffff,DE
-2001:470:1f0b:77b::,2001:470:1f0b:784:ffff:ffff:ffff:ffff,UA
+2001:470:1f0b:77b::,2001:470:1f0b:784:ffff:ffff:ffff:ffff,RU
2001:470:1f0b:785::,2001:470:1f0b:785:ffff:ffff:ffff:ffff,PL
-2001:470:1f0b:786::,2001:470:1f0b:9c7:ffff:ffff:ffff:ffff,UA
+2001:470:1f0b:786::,2001:470:1f0b:9c7:ffff:ffff:ffff:ffff,RU
2001:470:1f0b:9c8::,2001:470:1f0b:9c8:ffff:ffff:ffff:ffff,AT
-2001:470:1f0b:9c9::,2001:470:1f0b:be6:ffff:ffff:ffff:ffff,UA
-2001:470:1f0b:be7::,2001:470:1f0b:be7:ffff:ffff:ffff:ffff,RU
-2001:470:1f0b:be8::,2001:470:1f0b:fff:ffff:ffff:ffff:ffff,UA
-2001:470:1f0b:1000::,2001:470:1f0b:118a:ffff:ffff:ffff:ffff,RU
+2001:470:1f0b:9c9::,2001:470:1f0b:118a:ffff:ffff:ffff:ffff,RU
2001:470:1f0b:118b::,2001:470:1f0b:118b:ffff:ffff:ffff:ffff,DE
2001:470:1f0b:118c::,2001:470:1f0b:11d1:ffff:ffff:ffff:ffff,RU
2001:470:1f0b:11d2::,2001:470:1f0b:11d2:ffff:ffff:ffff:ffff,DE
2001:470:1f0b:11d3::,2001:470:1f0b:1211:ffff:ffff:ffff:ffff,RU
2001:470:1f0b:1212::,2001:470:1f0b:1212:ffff:ffff:ffff:ffff,DE
-2001:470:1f0b:1213::,2001:470:1f0b:ffff:ffff:ffff:ffff:ffff,RU
-2001:470:1f0c::,2001:470:1f13:ffff:ffff:ffff:ffff:ffff,US
-2001:470:1f14::,2001:470:1f15:b3:ffff:ffff:ffff:ffff,RU
+2001:470:1f0b:1213::,2001:470:1f0b:16ff:ffff:ffff:ffff:ffff,RU
+2001:470:1f0b:1700::,2001:470:1f0b:17ff:ffff:ffff:ffff:ffff,UA
+2001:470:1f0b:1800::,2001:470:1f0b:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:1f0c::,2001:470:1f11:ffff:ffff:ffff:ffff:ffff,US
+2001:470:1f12::,2001:470:1f13:ffff:ffff:ffff:ffff:ffff,FR
+2001:470:1f14::,2001:470:1f15:b3:ffff:ffff:ffff:ffff,US
2001:470:1f15:b4::,2001:470:1f15:b4:ffff:ffff:ffff:ffff,NL
-2001:470:1f15:b5::,2001:470:1f15:16b:ffff:ffff:ffff:ffff,RU
+2001:470:1f15:b5::,2001:470:1f15:16b:ffff:ffff:ffff:ffff,US
2001:470:1f15:16c::,2001:470:1f15:16c:ffff:ffff:ffff:ffff,NL
-2001:470:1f15:16d::,2001:470:1f15:20f:ffff:ffff:ffff:ffff,RU
+2001:470:1f15:16d::,2001:470:1f15:20f:ffff:ffff:ffff:ffff,US
2001:470:1f15:210::,2001:470:1f15:210:ffff:ffff:ffff:ffff,NL
-2001:470:1f15:211::,2001:470:1f15:44f:ffff:ffff:ffff:ffff,RU
+2001:470:1f15:211::,2001:470:1f15:44f:ffff:ffff:ffff:ffff,US
2001:470:1f15:450::,2001:470:1f15:450:ffff:ffff:ffff:ffff,NL
-2001:470:1f15:451::,2001:470:1f15:500:ffff:ffff:ffff:ffff,RU
+2001:470:1f15:451::,2001:470:1f15:500:ffff:ffff:ffff:ffff,US
2001:470:1f15:501::,2001:470:1f15:501:ffff:ffff:ffff:ffff,NL
-2001:470:1f15:502::,2001:470:1f15:582:ffff:ffff:ffff:ffff,RU
+2001:470:1f15:502::,2001:470:1f15:582:ffff:ffff:ffff:ffff,US
2001:470:1f15:583::,2001:470:1f15:583:ffff:ffff:ffff:ffff,NL
-2001:470:1f15:584::,2001:470:1f15:5ab:ffff:ffff:ffff:ffff,RU
+2001:470:1f15:584::,2001:470:1f15:5ab:ffff:ffff:ffff:ffff,US
2001:470:1f15:5ac::,2001:470:1f15:5ac:ffff:ffff:ffff:ffff,NL
-2001:470:1f15:5ad::,2001:470:1f15:9c5:ffff:ffff:ffff:ffff,RU
+2001:470:1f15:5ad::,2001:470:1f15:73b:ffff:ffff:ffff:ffff,US
+2001:470:1f15:73c::,2001:470:1f15:73c:ffff:ffff:ffff:ffff,NL
+2001:470:1f15:73d::,2001:470:1f15:9c5:ffff:ffff:ffff:ffff,US
2001:470:1f15:9c6::,2001:470:1f15:9c6:ffff:ffff:ffff:ffff,AT
-2001:470:1f15:9c7::,2001:470:1f15:a5e:ffff:ffff:ffff:ffff,RU
+2001:470:1f15:9c7::,2001:470:1f15:a5e:ffff:ffff:ffff:ffff,US
2001:470:1f15:a5f::,2001:470:1f15:a60:ffff:ffff:ffff:ffff,NL
-2001:470:1f15:a61::,2001:470:1f15:b25:ffff:ffff:ffff:ffff,RU
+2001:470:1f15:a61::,2001:470:1f15:b25:ffff:ffff:ffff:ffff,US
2001:470:1f15:b26::,2001:470:1f15:b26:ffff:ffff:ffff:ffff,NL
-2001:470:1f15:b27::,2001:470:1f15:10db:ffff:ffff:ffff:ffff,RU
+2001:470:1f15:b27::,2001:470:1f15:10db:ffff:ffff:ffff:ffff,US
2001:470:1f15:10dc::,2001:470:1f15:10dc:ffff:ffff:ffff:ffff,NL
-2001:470:1f15:10dd::,2001:470:1f15:110b:ffff:ffff:ffff:ffff,RU
+2001:470:1f15:10dd::,2001:470:1f15:110b:ffff:ffff:ffff:ffff,US
2001:470:1f15:110c::,2001:470:1f15:110c:ffff:ffff:ffff:ffff,BE
-2001:470:1f15:110d::,2001:470:1f17:ffff:ffff:ffff:ffff:ffff,RU
-2001:470:1f18::,2001:470:1f1c:ffff:ffff:ffff:ffff:ffff,US
-2001:470:1f1d::,2001:470:1f1d:195:ffff:ffff:ffff:ffff,IE
+2001:470:1f15:110d::,2001:470:1f1d:195:ffff:ffff:ffff:ffff,US
2001:470:1f1d:196::,2001:470:1f1d:196:ffff:ffff:ffff:ffff,GB
-2001:470:1f1d:197::,2001:470:1f1d:929:ffff:ffff:ffff:ffff,IE
+2001:470:1f1d:197::,2001:470:1f1d:929:ffff:ffff:ffff:ffff,US
2001:470:1f1d:92a::,2001:470:1f1d:92a:ffff:ffff:ffff:ffff,GB
-2001:470:1f1d:92b::,2001:470:1f1d:a59:ffff:ffff:ffff:ffff,IE
+2001:470:1f1d:92b::,2001:470:1f1d:a59:ffff:ffff:ffff:ffff,US
2001:470:1f1d:a5a::,2001:470:1f1d:a5a:ffff:ffff:ffff:ffff,GB
-2001:470:1f1d:a5b::,2001:470:1f1d:ffff:ffff:ffff:ffff:ffff,IE
-2001:470:1f1e::,2001:470:1f21:37:ffff:ffff:ffff:ffff,US
+2001:470:1f1d:a5b::,2001:470:1f21:37:ffff:ffff:ffff:ffff,US
2001:470:1f21:38::,2001:470:1f21:38:ffff:ffff:ffff:ffff,PT
2001:470:1f21:39::,2001:470:1fff:ffff:ffff:ffff:ffff:ffff,US
2001:470:2000::,2001:470:21fb:ffff:ffff:ffff:ffff:ffff,HU
@@ -276,35 +269,29 @@
2001:470:21fd::,2001:470:27ff:ffff:ffff:ffff:ffff:ffff,HU
2001:470:2800::,2001:470:4a63:ffff:ffff:ffff:ffff:ffff,US
2001:470:4a64::,2001:470:4a64:ffff:ffff:ffff:ffff:ffff,NZ
-2001:470:4a65::,2001:470:581f:ffff:ffff:ffff:ffff:ffff,US
-2001:470:5820::,2001:470:5820:ffff:ffff:ffff:ffff:ffff,CZ
-2001:470:5821::,2001:470:5a34:ffff:ffff:ffff:ffff:ffff,US
-2001:470:5a35::,2001:470:5a35:ffff:ffff:ffff:ffff:ffff,CZ
-2001:470:5a36::,2001:470:5a39:ffff:ffff:ffff:ffff:ffff,US
-2001:470:5a3a::,2001:470:5a3a:ffff:ffff:ffff:ffff:ffff,CZ
-2001:470:5a3b::,2001:470:5a80:ffff:ffff:ffff:ffff:ffff,US
-2001:470:5a81::,2001:470:5a81:ffff:ffff:ffff:ffff:ffff,CZ
-2001:470:5a82::,2001:470:6304:ffff:ffff:ffff:ffff:ffff,US
+2001:470:4a65::,2001:470:57ff:ffff:ffff:ffff:ffff:ffff,US
+2001:470:5800::,2001:470:5bff:ffff:ffff:ffff:ffff:ffff,CZ
+2001:470:5c00::,2001:470:6304:ffff:ffff:ffff:ffff:ffff,US
2001:470:6305::,2001:470:6305:ffff:ffff:ffff:ffff:ffff,UA
2001:470:6306::,2001:470:647b:ffff:ffff:ffff:ffff:ffff,US
2001:470:647c::,2001:470:647c:ffff:ffff:ffff:ffff:ffff,UA
-2001:470:647d::,2001:470:67ff:ffff:ffff:ffff:ffff:ffff,US
-2001:470:6800::,2001:470:6fff:ffff:ffff:ffff:ffff:ffff,GB
-2001:470:7000::,2001:470:7170:ffff:ffff:ffff:ffff:ffff,US
-2001:470:7171::,2001:470:7171:ffff:ffff:ffff:ffff:ffff,DE
-2001:470:7172::,2001:470:7271:ffff:ffff:ffff:ffff:ffff,US
-2001:470:7272::,2001:470:7272:ffff:ffff:ffff:ffff:ffff,DE
-2001:470:7273::,2001:470:7286:ffff:ffff:ffff:ffff:ffff,US
+2001:470:647d::,2001:470:6bff:ffff:ffff:ffff:ffff:ffff,US
+2001:470:6c00::,2001:470:6dff:ffff:ffff:ffff:ffff:ffff,GB
+2001:470:6e00::,2001:470:6f5b:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:6f5c::,2001:470:6f5c:ffff:ffff:ffff:ffff:ffff,GB
+2001:470:6f5d::,2001:470:6fff:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:7000::,2001:470:7286:ffff:ffff:ffff:ffff:ffff,DE
2001:470:7287::,2001:470:7287:ffff:ffff:ffff:ffff:ffff,PL
-2001:470:7288::,2001:470:73ff:ffff:ffff:ffff:ffff:ffff,US
-2001:470:7400::,2001:470:7421:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:7288::,2001:470:73ff:ffff:ffff:ffff:ffff:ffff,DE
+2001:470:7400::,2001:470:7421:ffff:ffff:ffff:ffff:ffff,US
2001:470:7422::,2001:470:7422:ffff:ffff:ffff:ffff:ffff,DE
-2001:470:7423::,2001:470:747a:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:7423::,2001:470:747a:ffff:ffff:ffff:ffff:ffff,US
2001:470:747b::,2001:470:747b:ffff:ffff:ffff:ffff:ffff,AT
-2001:470:747c::,2001:470:74fd:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:747c::,2001:470:74fd:ffff:ffff:ffff:ffff:ffff,US
2001:470:74fe::,2001:470:74fe:ffff:ffff:ffff:ffff:ffff,AT
-2001:470:74ff::,2001:470:77ff:ffff:ffff:ffff:ffff:ffff,RU
-2001:470:7800::,2001:470:7837:ffff:ffff:ffff:ffff:ffff,US
+2001:470:74ff::,2001:470:75e5:ffff:ffff:ffff:ffff:ffff,US
+2001:470:75e6::,2001:470:75e6:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:75e7::,2001:470:7837:ffff:ffff:ffff:ffff:ffff,US
2001:470:7838::,2001:470:7838:ffff:ffff:ffff:ffff:ffff,NL
2001:470:7839::,2001:470:783c:ffff:ffff:ffff:ffff:ffff,US
2001:470:783d::,2001:470:783d:ffff:ffff:ffff:ffff:ffff,NL
@@ -324,33 +311,51 @@
2001:470:7ea6::,2001:470:7ea6:ffff:ffff:ffff:ffff:ffff,NL
2001:470:7ea7::,2001:470:9794:ffff:ffff:ffff:ffff:ffff,US
2001:470:9795::,2001:470:9795:ffff:ffff:ffff:ffff:ffff,GB
-2001:470:9796::,2001:470:999c:ffff:ffff:ffff:ffff:ffff,US
+2001:470:9796::,2001:470:97ff:ffff:ffff:ffff:ffff:ffff,US
+2001:470:9800::,2001:470:999c:ffff:ffff:ffff:ffff:ffff,RU
2001:470:999d::,2001:470:999d:ffff:ffff:ffff:ffff:ffff,DE
-2001:470:999e::,2001:470:9aa3:ffff:ffff:ffff:ffff:ffff,US
-2001:470:9aa4::,2001:470:9aa7:ffff:ffff:ffff:ffff:ffff,RU
-2001:470:9aa8::,2001:470:b0e1:ffff:ffff:ffff:ffff:ffff,US
+2001:470:999e::,2001:470:9bff:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:9c00::,2001:470:b0e1:ffff:ffff:ffff:ffff:ffff,US
2001:470:b0e2::,2001:470:b0e2:ffff:ffff:ffff:ffff:ffff,CA
-2001:470:b0e3::,2001:470:b1ff:ffff:ffff:ffff:ffff:ffff,US
-2001:470:b200::,2001:470:b2ff:ffff:ffff:ffff:ffff:ffff,CA
-2001:470:b300::,2001:470:b4e9:ffff:ffff:ffff:ffff:ffff,US
+2001:470:b0e3::,2001:470:b4e9:ffff:ffff:ffff:ffff:ffff,US
2001:470:b4ea::,2001:470:b4ea:ffff:ffff:ffff:ffff:ffff,AT
2001:470:b4eb::,2001:470:b625:ffff:ffff:ffff:ffff:ffff,US
2001:470:b626::,2001:470:b626:ff:ffff:ffff:ffff:ffff,DE
-2001:470:b626:100::,2001:470:d6ee:ffff:ffff:ffff:ffff:ffff,US
+2001:470:b626:100::,2001:470:c3ff:ffff:ffff:ffff:ffff:ffff,US
+2001:470:c400::,2001:470:c4b1:ffff:ffff:ffff:ffff:ffff,CA
+2001:470:c4b2::,2001:470:c4b2:ffff:ffff:ffff:ffff:ffff,US
+2001:470:c4b3::,2001:470:c4d2:ffff:ffff:ffff:ffff:ffff,CA
+2001:470:c4d3::,2001:470:c4d3:ffff:ffff:ffff:ffff:ffff,US
+2001:470:c4d4::,2001:470:c7ff:ffff:ffff:ffff:ffff:ffff,CA
+2001:470:c800::,2001:470:d6ee:ffff:ffff:ffff:ffff:ffff,US
2001:470:d6ef::,2001:470:d6ef:ffff:ffff:ffff:ffff:ffff,FR
-2001:470:d6f0::,2001:470:dbff:ffff:ffff:ffff:ffff:ffff,US
-2001:470:dc00::,2001:470:dd67:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:d6f0::,2001:470:d7ff:ffff:ffff:ffff:ffff:ffff,US
+2001:470:d800::,2001:470:dbff:ffff:ffff:ffff:ffff:ffff,BR
+2001:470:dc00::,2001:470:dc1b:ffff:ffff:ffff:ffff:ffff,US
+2001:470:dc1c::,2001:470:dc1c:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:dc1d::,2001:470:dd3a:ffff:ffff:ffff:ffff:ffff,US
+2001:470:dd3b::,2001:470:dd3b:ffff:ffff:ffff:ffff:ffff,FI
+2001:470:dd3c::,2001:470:dd67:ffff:ffff:ffff:ffff:ffff,US
2001:470:dd68::,2001:470:dd68:ffff:ffff:ffff:ffff:ffff,DK
-2001:470:dd69::,2001:470:dec3:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:dd69::,2001:470:ddff:ffff:ffff:ffff:ffff:ffff,US
+2001:470:de00::,2001:470:de7f:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:de80::,2001:470:dec3:ffff:ffff:ffff:ffff:ffff,US
2001:470:dec4::,2001:470:dec4:ffff:ffff:ffff:ffff:ffff,SE
-2001:470:dec5::,2001:470:dee2:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:dec5::,2001:470:dee2:ffff:ffff:ffff:ffff:ffff,US
2001:470:dee3::,2001:470:dee3:ffff:ffff:ffff:ffff:ffff,NO
-2001:470:dee4::,2001:470:df26:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:dee4::,2001:470:df26:ffff:ffff:ffff:ffff:ffff,US
2001:470:df27::,2001:470:df27:ffff:ffff:ffff:ffff:ffff,SE
-2001:470:df28::,2001:470:df40:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:df28::,2001:470:df40:ffff:ffff:ffff:ffff:ffff,US
2001:470:df41::,2001:470:df41:ffff:ffff:ffff:ffff:ffff,SE
-2001:470:df42::,2001:470:dfff:ffff:ffff:ffff:ffff:ffff,RU
-2001:470:e000::,2001:470:ffff:ffff:ffff:ffff:ffff:ffff,US
+2001:470:df42::,2001:470:dfc9:ffff:ffff:ffff:ffff:ffff,US
+2001:470:dfca::,2001:470:dfca:ffff:ffff:ffff:ffff:ffff,RU
+2001:470:dfcb::,2001:470:ebff:ffff:ffff:ffff:ffff:ffff,US
+2001:470:ec00::,2001:470:efff:ffff:ffff:ffff:ffff:ffff,SG
+2001:470:f000::,2001:470:f07f:ffff:ffff:ffff:ffff:ffff,US
+2001:470:f080::,2001:470:f08a:ffff:ffff:ffff:ffff:ffff,CN
+2001:470:f08b::,2001:470:f08b:ffff:ffff:ffff:ffff:ffff,US
+2001:470:f08c::,2001:470:f0bf:ffff:ffff:ffff:ffff:ffff,CN
+2001:470:f0c0::,2001:470:ffff:ffff:ffff:ffff:ffff:ffff,US
2001:478::,2001:478:ffff:ffff:ffff:ffff:ffff:ffff,KN
2001:480::,2001:480:ffff:ffff:ffff:ffff:ffff:ffff,US
2001:490::,2001:490:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -509,11 +514,13 @@
2001:504:70::,2001:504:72:ffff:ffff:ffff:ffff:ffff,US
2001:504:73::,2001:504:73:ffff:ffff:ffff:ffff:ffff,CA
2001:504:74::,2001:504:79:ffff:ffff:ffff:ffff:ffff,US
-2001:504:80::,2001:504:91:ffff:ffff:ffff:ffff:ffff,US
+2001:504:80::,2001:504:92:ffff:ffff:ffff:ffff:ffff,US
+2001:504:93::,2001:504:93:ffff:ffff:ffff:ffff:ffff,VG
2001:506::,2001:506:1:ffff:ffff:ffff:ffff:ffff,US
2001:506:8::,2001:506:8:ffff:ffff:ffff:ffff:ffff,US
2001:506:20::,2001:506:20:ffff:ffff:ffff:ffff:ffff,CA
2001:506:28::,2001:506:28:ffff:ffff:ffff:ffff:ffff,US
+2001:506:30::,2001:506:30:ffff:ffff:ffff:ffff:ffff,US
2001:506:100::,2001:506:100:ffff:ffff:ffff:ffff:ffff,US
2001:506:200::,2001:506:2ff:ffff:ffff:ffff:ffff:ffff,US
2001:506:1000::,2001:506:2fff:ffff:ffff:ffff:ffff:ffff,US
@@ -584,14 +591,110 @@
2001:668:e401:1::,2001:668:e401:2:ffff:ffff:ffff:ffff,CZ
2001:668:e401:3::,2001:66f:ffff:ffff:ffff:ffff:ffff:ffff,IE
2001:670::,2001:673:ffff:ffff:ffff:ffff:ffff:ffff,FI
-2001:678::,2001:678:3ff:ffff:ffff:ffff:ffff:ffff,UA
-2001:678:400::,2001:678:431:baff:ffff:ffff:ffff:ffff,GB
+2001:678::,2001:678:273:ffff:ffff:ffff:ffff:ffff,UA
+2001:678:274::,2001:678:274:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:275::,2001:678:2ff:ffff:ffff:ffff:ffff:ffff,UA
+2001:678:300::,2001:678:303:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:310::,2001:678:310:ffff:ffff:ffff:ffff:ffff,CH
+2001:678:314::,2001:678:314:ffff:ffff:ffff:ffff:ffff,RO
+2001:678:318::,2001:678:318:ffff:ffff:ffff:ffff:ffff,UA
+2001:678:31c::,2001:678:31c:ffff:ffff:ffff:ffff:ffff,UA
+2001:678:320::,2001:678:320:ffff:ffff:ffff:ffff:ffff,CZ
+2001:678:324::,2001:678:324:ffff:ffff:ffff:ffff:ffff,LV
+2001:678:328::,2001:678:328:ffff:ffff:ffff:ffff:ffff,CH
+2001:678:32c::,2001:678:32c:ffff:ffff:ffff:ffff:ffff,GB
+2001:678:330::,2001:678:330:ffff:ffff:ffff:ffff:ffff,SE
+2001:678:334::,2001:678:334:ffff:ffff:ffff:ffff:ffff,UA
+2001:678:338::,2001:678:338:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:33c::,2001:678:33c:ffff:ffff:ffff:ffff:ffff,DK
+2001:678:340::,2001:678:340:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:344::,2001:678:344:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:348::,2001:678:348:ffff:ffff:ffff:ffff:ffff,NL
+2001:678:34c::,2001:678:34c:ffff:ffff:ffff:ffff:ffff,US
+2001:678:350::,2001:678:350:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:354::,2001:678:354:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:358::,2001:678:358:ffff:ffff:ffff:ffff:ffff,IE
+2001:678:35c::,2001:678:35c:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:360::,2001:678:360:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:364::,2001:678:364:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:368::,2001:678:368:ffff:ffff:ffff:ffff:ffff,CZ
+2001:678:36c::,2001:678:36c:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:370::,2001:678:370:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:374::,2001:678:374:ffff:ffff:ffff:ffff:ffff,UA
+2001:678:378::,2001:678:378:ffff:ffff:ffff:ffff:ffff,CZ
+2001:678:37c::,2001:678:37c:ffff:ffff:ffff:ffff:ffff,UA
+2001:678:380::,2001:678:380:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:384::,2001:678:384:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:388::,2001:678:388:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:38c::,2001:678:38c:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:390::,2001:678:390:ffff:ffff:ffff:ffff:ffff,NL
+2001:678:394::,2001:678:394:ffff:ffff:ffff:ffff:ffff,SE
+2001:678:398::,2001:678:398:ffff:ffff:ffff:ffff:ffff,CZ
+2001:678:39c::,2001:678:39c:ffff:ffff:ffff:ffff:ffff,SA
+2001:678:3a0::,2001:678:3a0:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:3a4::,2001:678:3a4:ffff:ffff:ffff:ffff:ffff,SE
+2001:678:3a8::,2001:678:3a8:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:3ac::,2001:678:3ac:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:3b0::,2001:678:3b0:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:3b4::,2001:678:3b4:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:3b8::,2001:678:3b8:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:3bc::,2001:678:3bc:ffff:ffff:ffff:ffff:ffff,FR
+2001:678:3c0::,2001:678:3c0:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:3c4::,2001:678:3c4:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:3c8::,2001:678:3c8:ffff:ffff:ffff:ffff:ffff,GR
+2001:678:3cc::,2001:678:3cc:ffff:ffff:ffff:ffff:ffff,FR
+2001:678:3d0::,2001:678:3d0:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:3d4::,2001:678:3d4:ffff:ffff:ffff:ffff:ffff,NL
+2001:678:3d8::,2001:678:3d8:ffff:ffff:ffff:ffff:ffff,GB
+2001:678:3dc::,2001:678:3dc:ffff:ffff:ffff:ffff:ffff,AT
+2001:678:3e0::,2001:678:3e0:ffff:ffff:ffff:ffff:ffff,NL
+2001:678:3e4::,2001:678:3e4:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:3e8::,2001:678:3e8:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:3ec::,2001:678:3ec:ffff:ffff:ffff:ffff:ffff,SE
+2001:678:3f0::,2001:678:3f0:ffff:ffff:ffff:ffff:ffff,NO
+2001:678:3f4::,2001:678:3f4:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:3f8::,2001:678:3f8:ffff:ffff:ffff:ffff:ffff,UA
+2001:678:3fc::,2001:678:3fc:ffff:ffff:ffff:ffff:ffff,FR
+2001:678:400::,2001:678:431:baff:ffff:ffff:ffff:ffff,DE
2001:678:431:bb00::,2001:678:431:bbff:ffff:ffff:ffff:ffff,FR
-2001:678:431:bc00::,2001:678:47f:ffff:ffff:ffff:ffff:ffff,GB
+2001:678:431:bc00::,2001:678:47f:ffff:ffff:ffff:ffff:ffff,DE
2001:678:480::,2001:678:480:ffff:ffff:ffff:ffff:ffff,AT
-2001:678:481::,2001:678:4fb:ffff:ffff:ffff:ffff:ffff,GB
+2001:678:481::,2001:678:4fb:ffff:ffff:ffff:ffff:ffff,DE
2001:678:4fc::,2001:678:4fc:ffff:ffff:ffff:ffff:ffff,RO
-2001:678:4fd::,2001:678:58b:ffff:ffff:ffff:ffff:ffff,GB
+2001:678:4fd::,2001:678:4ff:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:500::,2001:678:500:ffff:ffff:ffff:ffff:ffff,GB
+2001:678:504::,2001:678:504:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:508::,2001:678:508:ffff:ffff:ffff:ffff:ffff,ES
+2001:678:50c::,2001:678:50c:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:510::,2001:678:510:ffff:ffff:ffff:ffff:ffff,AT
+2001:678:514::,2001:678:514:ffff:ffff:ffff:ffff:ffff,PT
+2001:678:518::,2001:678:518:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:51c::,2001:678:51c:ffff:ffff:ffff:ffff:ffff,DK
+2001:678:520::,2001:678:520:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:524::,2001:678:524:ffff:ffff:ffff:ffff:ffff,SE
+2001:678:528::,2001:678:528:ffff:ffff:ffff:ffff:ffff,AT
+2001:678:52c::,2001:678:52c:ffff:ffff:ffff:ffff:ffff,FI
+2001:678:530::,2001:678:530:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:534::,2001:678:534:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:538::,2001:678:538:ffff:ffff:ffff:ffff:ffff,NL
+2001:678:53c::,2001:678:53c:ffff:ffff:ffff:ffff:ffff,NL
+2001:678:540::,2001:678:540:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:544::,2001:678:544:ffff:ffff:ffff:ffff:ffff,IE
+2001:678:548::,2001:678:548:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:54c::,2001:678:54c:ffff:ffff:ffff:ffff:ffff,SE
+2001:678:550::,2001:678:550:ffff:ffff:ffff:ffff:ffff,GB
+2001:678:554::,2001:678:554:ffff:ffff:ffff:ffff:ffff,DK
+2001:678:558::,2001:678:558:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:55c::,2001:678:55c:ffff:ffff:ffff:ffff:ffff,SE
+2001:678:560::,2001:678:560:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:564::,2001:678:564:ffff:ffff:ffff:ffff:ffff,UA
+2001:678:568::,2001:678:568:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:56c::,2001:678:56c:ffff:ffff:ffff:ffff:ffff,NL
+2001:678:570::,2001:678:570:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:574::,2001:678:574:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:578::,2001:678:578:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:57c::,2001:678:57c:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:580::,2001:678:58b:ffff:ffff:ffff:ffff:ffff,GB
2001:678:58c::,2001:678:58c:ffff:ffff:ffff:ffff:ffff,IS
2001:678:58d::,2001:678:5df:ffff:ffff:ffff:ffff:ffff,GB
2001:678:5e0::,2001:678:5e0:ffff:ffff:ffff:ffff:ffff,RU
@@ -602,7 +705,9 @@
2001:678:61c::,2001:678:61c:ffff:ffff:ffff:ffff:ffff,PL
2001:678:61d::,2001:678:63b:ffff:ffff:ffff:ffff:ffff,RU
2001:678:63c::,2001:678:63c:ffff:ffff:ffff:ffff:ffff,PL
-2001:678:63d::,2001:678:7b7:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:63d::,2001:678:6b7:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:6b8::,2001:678:6b8:ffff:ffff:ffff:ffff:ffff,GB
+2001:678:6b9::,2001:678:7b7:ffff:ffff:ffff:ffff:ffff,RU
2001:678:7b8::,2001:678:7b8:ffff:ffff:ffff:ffff:ffff,PL
2001:678:7b9::,2001:678:7bb:ffff:ffff:ffff:ffff:ffff,RU
2001:678:7bc::,2001:678:7bc:ffff:ffff:ffff:ffff:ffff,PL
@@ -620,6 +725,32 @@
2001:678:828::,2001:678:828:ffff:ffff:ffff:ffff:ffff,DE
2001:678:82c::,2001:678:82c:ffff:ffff:ffff:ffff:ffff,DE
2001:678:830::,2001:678:833:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:840::,2001:678:840:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:844::,2001:678:844:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:848::,2001:678:848:ffff:ffff:ffff:ffff:ffff,SE
+2001:678:84c::,2001:678:84c:ffff:ffff:ffff:ffff:ffff,CZ
+2001:678:850::,2001:678:850:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:854::,2001:678:854:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:858::,2001:678:858:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:85c::,2001:678:85c:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:860::,2001:678:860:ffff:ffff:ffff:ffff:ffff,UZ
+2001:678:864::,2001:678:864:ffff:ffff:ffff:ffff:ffff,RU
+2001:678:868::,2001:678:868:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:86c::,2001:678:86c:ffff:ffff:ffff:ffff:ffff,SK
+2001:678:870::,2001:678:870:ffff:ffff:ffff:ffff:ffff,PL
+2001:678:874::,2001:678:874:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:878::,2001:678:878:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:87c::,2001:678:87c:ffff:ffff:ffff:ffff:ffff,UA
+2001:678:880::,2001:678:880:ffff:ffff:ffff:ffff:ffff,NL
+2001:678:884::,2001:678:884:ffff:ffff:ffff:ffff:ffff,UA
+2001:678:888::,2001:678:888:ffff:ffff:ffff:ffff:ffff,IS
+2001:678:88c::,2001:678:88c:ffff:ffff:ffff:ffff:ffff,GB
+2001:678:890::,2001:678:890:ffff:ffff:ffff:ffff:ffff,CH
+2001:678:894::,2001:678:894:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:898::,2001:678:898:ffff:ffff:ffff:ffff:ffff,RO
+2001:678:89c::,2001:678:89c:ffff:ffff:ffff:ffff:ffff,SE
+2001:678:8a0::,2001:678:8a0:ffff:ffff:ffff:ffff:ffff,DE
+2001:678:8a4::,2001:678:8a4:ffff:ffff:ffff:ffff:ffff,PL
2001:67c::,2001:67c:5b:ffff:ffff:ffff:ffff:ffff,GB
2001:67c:5c::,2001:67c:5c:ffff:ffff:ffff:ffff:ffff,BE
2001:67c:5d::,2001:67c:63:ffff:ffff:ffff:ffff:ffff,GB
@@ -629,80 +760,76 @@
2001:67c:89::,2001:67c:eb:ffff:ffff:ffff:ffff:ffff,GB
2001:67c:ec::,2001:67c:ec:ffff:ffff:ffff:ffff:ffff,FR
2001:67c:ed::,2001:67c:ff:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:100::,2001:67c:100:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:104::,2001:67c:104:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:108::,2001:67c:108:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:10c::,2001:67c:10c:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:110::,2001:67c:110:ffff:ffff:ffff:ffff:ffff,FI
-2001:67c:114::,2001:67c:114:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:118::,2001:67c:118:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:11c::,2001:67c:11c:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:120::,2001:67c:120:ffff:ffff:ffff:ffff:ffff,BE
-2001:67c:124::,2001:67c:124:ffff:ffff:ffff:ffff:ffff,SI
-2001:67c:128::,2001:67c:128:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:12c::,2001:67c:12c:ffff:ffff:ffff:ffff:ffff,FI
-2001:67c:130::,2001:67c:130:ffff:ffff:ffff:ffff:ffff,SA
-2001:67c:134::,2001:67c:134:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:138::,2001:67c:138:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:13c::,2001:67c:13c:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:140::,2001:67c:140:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:144::,2001:67c:144:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:148::,2001:67c:148:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:14c::,2001:67c:14d:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:150::,2001:67c:150:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:154::,2001:67c:154:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:158::,2001:67c:158:ffff:ffff:ffff:ffff:ffff,DK
-2001:67c:15c::,2001:67c:15c:ffff:ffff:ffff:ffff:ffff,FI
-2001:67c:160::,2001:67c:160:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:164::,2001:67c:164:ffff:ffff:ffff:ffff:ffff,FI
-2001:67c:168::,2001:67c:168:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:16c::,2001:67c:16c:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:170::,2001:67c:170:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:174::,2001:67c:174:ffff:ffff:ffff:ffff:ffff,SM
-2001:67c:178::,2001:67c:178:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:17c::,2001:67c:17c:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:180::,2001:67c:180:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:184::,2001:67c:184:ffff:ffff:ffff:ffff:ffff,DK
-2001:67c:188::,2001:67c:188:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:18c::,2001:67c:18c:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:190::,2001:67c:190:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:194::,2001:67c:194:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:198::,2001:67c:198:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:19c::,2001:67c:19c:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:1a0::,2001:67c:1a0:ffff:ffff:ffff:ffff:ffff,SI
-2001:67c:1a4::,2001:67c:1a4:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:1a8::,2001:67c:1a8:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:1ac::,2001:67c:1ac:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:1b0::,2001:67c:1b0:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:1b4::,2001:67c:1b4:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:1b8::,2001:67c:1b8:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:1bc::,2001:67c:1bc:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:1c0::,2001:67c:1c0:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:1c4::,2001:67c:1c4:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:1c8::,2001:67c:1c8:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:1cc::,2001:67c:1cc:ffff:ffff:ffff:ffff:ffff,BE
-2001:67c:1d0::,2001:67c:1d0:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:1d4::,2001:67c:1d4:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:1d8::,2001:67c:1d8:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:1dc::,2001:67c:1dc:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:1e0::,2001:67c:1e0:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:1e4::,2001:67c:1e4:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:1e8::,2001:67c:1e8:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:1ec::,2001:67c:1ec:ffff:ffff:ffff:ffff:ffff,NO
-2001:67c:1f0::,2001:67c:1f0:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:1f4::,2001:67c:1f4:ffff:ffff:ffff:ffff:ffff,DK
-2001:67c:1f8::,2001:67c:1f8:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:1fc::,2001:67c:1fc:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:100::,2001:67c:17f:ffff:ffff:ffff:ffff:ffff,FI
+2001:67c:180::,2001:67c:1ff:ffff:ffff:ffff:ffff:ffff,NL
2001:67c:200::,2001:67c:24b:ffff:ffff:ffff:ffff:ffff,CZ
2001:67c:24c::,2001:67c:24c:ffff:ffff:ffff:ffff:ffff,PL
2001:67c:24d::,2001:67c:2ef:ffff:ffff:ffff:ffff:ffff,CZ
2001:67c:2f0::,2001:67c:2f0:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:2f1::,2001:67c:2ff:ffff:ffff:ffff:ffff:ffff,CZ
-2001:67c:300::,2001:67c:36f:ffff:ffff:ffff:ffff:ffff,LV
+2001:67c:300::,2001:67c:300:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:304::,2001:67c:304:ffff:ffff:ffff:ffff:ffff,BE
+2001:67c:308::,2001:67c:308:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:30c::,2001:67c:30c:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:310::,2001:67c:310:ffff:ffff:ffff:ffff:ffff,CY
+2001:67c:314::,2001:67c:314:ffff:ffff:ffff:ffff:ffff,BE
+2001:67c:318::,2001:67c:318:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:31c::,2001:67c:31c:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:320::,2001:67c:320:ffff:ffff:ffff:ffff:ffff,UA
+2001:67c:324::,2001:67c:324:ffff:ffff:ffff:ffff:ffff,NO
+2001:67c:328::,2001:67c:328:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:32c::,2001:67c:32c:ffff:ffff:ffff:ffff:ffff,EE
+2001:67c:330::,2001:67c:330:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:334::,2001:67c:334:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:338::,2001:67c:338:ffff:ffff:ffff:ffff:ffff,IE
+2001:67c:33c::,2001:67c:33c:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:340::,2001:67c:340:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:344::,2001:67c:344:ffff:ffff:ffff:ffff:ffff,BE
+2001:67c:348::,2001:67c:348:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:34c::,2001:67c:34c:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:350::,2001:67c:350:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:354::,2001:67c:354:ffff:ffff:ffff:ffff:ffff,FR
+2001:67c:358::,2001:67c:358:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:35c::,2001:67c:35c:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:360::,2001:67c:360:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:364::,2001:67c:364:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:368::,2001:67c:368:ffff:ffff:ffff:ffff:ffff,LV
+2001:67c:36c::,2001:67c:36c:ffff:ffff:ffff:ffff:ffff,CH
2001:67c:370::,2001:67c:370:ffff:ffff:ffff:ffff:ffff,TH
-2001:67c:371::,2001:67c:3df:ffff:ffff:ffff:ffff:ffff,LV
+2001:67c:374::,2001:67c:374:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:378::,2001:67c:378:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:37c::,2001:67c:37c:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:380::,2001:67c:380:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:384::,2001:67c:384:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:388::,2001:67c:388:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:38c::,2001:67c:38c:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:390::,2001:67c:390:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:394::,2001:67c:394:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:398::,2001:67c:398:ffff:ffff:ffff:ffff:ffff,NO
+2001:67c:39c::,2001:67c:39c:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:3a0::,2001:67c:3a0:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:3a4::,2001:67c:3a4:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:3a8::,2001:67c:3a8:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:3ac::,2001:67c:3ac:ffff:ffff:ffff:ffff:ffff,RS
+2001:67c:3b0::,2001:67c:3b0:ffff:ffff:ffff:ffff:ffff,FR
+2001:67c:3b4::,2001:67c:3b4:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:3b8::,2001:67c:3b8:ffff:ffff:ffff:ffff:ffff,IE
+2001:67c:3bc::,2001:67c:3bc:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:3c0::,2001:67c:3c0:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:3c4::,2001:67c:3c4:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:3c8::,2001:67c:3c8:ffff:ffff:ffff:ffff:ffff,EE
+2001:67c:3cc::,2001:67c:3cc:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:3d0::,2001:67c:3d0:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:3d4::,2001:67c:3d4:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:3d8::,2001:67c:3d8:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:3dc::,2001:67c:3dc:ffff:ffff:ffff:ffff:ffff,GB
2001:67c:3e0::,2001:67c:3e0:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:3e1::,2001:67c:3ff:ffff:ffff:ffff:ffff:ffff,LV
+2001:67c:3e4::,2001:67c:3e4:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:3e8::,2001:67c:3e9:ffff:ffff:ffff:ffff:ffff,SA
+2001:67c:3f0::,2001:67c:3f0:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:3f4::,2001:67c:3f4:ffff:ffff:ffff:ffff:ffff,HR
+2001:67c:3f8::,2001:67c:3f8:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:3fc::,2001:67c:3fc:ffff:ffff:ffff:ffff:ffff,CH
2001:67c:400::,2001:67c:400:ffff:ffff:ffff:ffff:ffff,ES
2001:67c:404::,2001:67c:404:ffff:ffff:ffff:ffff:ffff,AT
2001:67c:408::,2001:67c:408:ffff:ffff:ffff:ffff:ffff,FR
@@ -817,198 +944,128 @@
2001:67c:5f4::,2001:67c:5f4:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:5f8::,2001:67c:5f8:ffff:ffff:ffff:ffff:ffff,NL
2001:67c:5fc::,2001:67c:5fc:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:600::,2001:67c:600:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:604::,2001:67c:604:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:608::,2001:67c:608:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:60c::,2001:67c:60c:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:610::,2001:67c:610:ffff:ffff:ffff:ffff:ffff,DK
-2001:67c:614::,2001:67c:614:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:618::,2001:67c:618:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:61c::,2001:67c:61c:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:620::,2001:67c:620:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:624::,2001:67c:624:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:628::,2001:67c:628:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:62c::,2001:67c:62c:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:630::,2001:67c:630:ffff:ffff:ffff:ffff:ffff,NO
-2001:67c:634::,2001:67c:634:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:638::,2001:67c:638:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:63c::,2001:67c:63c:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:640::,2001:67c:640:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:644::,2001:67c:644:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:648::,2001:67c:648:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:650::,2001:67c:650:ffff:ffff:ffff:ffff:ffff,CZ
-2001:67c:654::,2001:67c:654:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:658::,2001:67c:658:ffff:ffff:ffff:ffff:ffff,CZ
-2001:67c:65c::,2001:67c:65c:ffff:ffff:ffff:ffff:ffff,DK
-2001:67c:660::,2001:67c:660:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:664::,2001:67c:664:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:668::,2001:67c:668:ffff:ffff:ffff:ffff:ffff,MD
-2001:67c:66c::,2001:67c:66c:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:670::,2001:67c:670:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:674::,2001:67c:674:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:678::,2001:67c:678:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:67c::,2001:67c:67c:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:680::,2001:67c:680:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:684::,2001:67c:684:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:688::,2001:67c:688:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:68c::,2001:67c:68c:ffff:ffff:ffff:ffff:ffff,TR
-2001:67c:690::,2001:67c:690:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:694::,2001:67c:694:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:698::,2001:67c:698:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:69c::,2001:67c:69c:ffff:ffff:ffff:ffff:ffff,RS
-2001:67c:6a0::,2001:67c:6a0:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:6a4::,2001:67c:6a4:ffff:ffff:ffff:ffff:ffff,FR
-2001:67c:6a8::,2001:67c:6a8:ffff:ffff:ffff:ffff:ffff,DK
-2001:67c:6ac::,2001:67c:6ac:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:6b0::,2001:67c:6b0:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:6b4::,2001:67c:6b4:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:6b8::,2001:67c:6b8:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:6bc::,2001:67c:6bc:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:6c0::,2001:67c:6c0:ffff:ffff:ffff:ffff:ffff,TR
-2001:67c:6c4::,2001:67c:6c4:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:6c8::,2001:67c:6c8:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:6cc::,2001:67c:6cc:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:6d4::,2001:67c:6d4:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:6d8::,2001:67c:6d8:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:6dc::,2001:67c:6dc:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:6e0::,2001:67c:6e0:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:6e4::,2001:67c:6e4:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:6e8::,2001:67c:6e8:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:6ec::,2001:67c:6ec:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:6f0::,2001:67c:6f0:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:6f4::,2001:67c:6f4:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:6f8::,2001:67c:6f8:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:6fc::,2001:67c:6fc:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:700::,2001:67c:700:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:704::,2001:67c:704:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:708::,2001:67c:708:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:70c::,2001:67c:70c:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:710::,2001:67c:710:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:714::,2001:67c:714:ffff:ffff:ffff:ffff:ffff,NO
-2001:67c:718::,2001:67c:718:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:71c::,2001:67c:71c:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:720::,2001:67c:720:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:724::,2001:67c:724:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:728::,2001:67c:728:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:72c::,2001:67c:72c:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:734::,2001:67c:734:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:738::,2001:67c:738:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:73c::,2001:67c:73c:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:740::,2001:67c:740:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:744::,2001:67c:744:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:748::,2001:67c:748:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:74c::,2001:67c:74c:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:750::,2001:67c:750:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:754::,2001:67c:754:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:758::,2001:67c:758:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:75c::,2001:67c:75c:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:760::,2001:67c:760:ffff:ffff:ffff:ffff:ffff,LV
-2001:67c:764::,2001:67c:764:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:76c::,2001:67c:76c:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:770::,2001:67c:770:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:774::,2001:67c:774:ffff:ffff:ffff:ffff:ffff,NO
-2001:67c:778::,2001:67c:778:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:77c::,2001:67c:77c:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:780::,2001:67c:780:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:784::,2001:67c:784:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:788::,2001:67c:788:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:78c::,2001:67c:78c:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:790::,2001:67c:790:ffff:ffff:ffff:ffff:ffff,IT
-2001:67c:794::,2001:67c:794:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:798::,2001:67c:798:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:79c::,2001:67c:79c:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:7a0::,2001:67c:7a0:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:7a4::,2001:67c:7a4:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:7a8::,2001:67c:7a8:ffff:ffff:ffff:ffff:ffff,DK
-2001:67c:7ac::,2001:67c:7ac:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:7b0::,2001:67c:7b0:ffff:ffff:ffff:ffff:ffff,CZ
-2001:67c:7b4::,2001:67c:7b4:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:7b8::,2001:67c:7b8:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:7bc::,2001:67c:7bc:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:7c0::,2001:67c:7c3:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:7d0::,2001:67c:7d0:ffff:ffff:ffff:ffff:ffff,LV
-2001:67c:7d4::,2001:67c:7d4:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:7d8::,2001:67c:7d8:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:7dc::,2001:67c:7dc:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:7e0::,2001:67c:7e0:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:7e4::,2001:67c:7e4:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:7e8::,2001:67c:7e8:ffff:ffff:ffff:ffff:ffff,NO
-2001:67c:7ec::,2001:67c:7ec:ffff:ffff:ffff:ffff:ffff,NO
-2001:67c:7f0::,2001:67c:7f0:ffff:ffff:ffff:ffff:ffff,NO
-2001:67c:7f4::,2001:67c:7f4:ffff:ffff:ffff:ffff:ffff,KW
-2001:67c:7f8::,2001:67c:7f8:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:7fc::,2001:67c:7fc:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:600::,2001:67c:6ff:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:700::,2001:67c:7ff:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:1000::,2001:67c:1093:ffff:ffff:ffff:ffff:ffff,CH
2001:67c:1094::,2001:67c:1094:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:1095::,2001:67c:10ff:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:1100::,2001:67c:1100:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:1104::,2001:67c:1104:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:1108::,2001:67c:1109:ffff:ffff:ffff:ffff:ffff,FR
-2001:67c:1110::,2001:67c:1111:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:1118::,2001:67c:1118:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:111c::,2001:67c:111c:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:1120::,2001:67c:1120:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:1124::,2001:67c:1124:ffff:ffff:ffff:ffff:ffff,SI
-2001:67c:1128::,2001:67c:1128:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:112c::,2001:67c:112c:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:1130::,2001:67c:1130:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:1134::,2001:67c:1134:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:1138::,2001:67c:1138:ffff:ffff:ffff:ffff:ffff,CZ
-2001:67c:113c::,2001:67c:113c:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:1140::,2001:67c:1140:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:1148::,2001:67c:1148:ffff:ffff:ffff:ffff:ffff,ES
-2001:67c:114c::,2001:67c:114c:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:1150::,2001:67c:1150:ffff:ffff:ffff:ffff:ffff,IL
-2001:67c:1154::,2001:67c:1154:ffff:ffff:ffff:ffff:ffff,TR
-2001:67c:1158::,2001:67c:1158:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:115c::,2001:67c:115c:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:1160::,2001:67c:1160:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:1164::,2001:67c:1164:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:1168::,2001:67c:1168:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:116c::,2001:67c:116c:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:1170::,2001:67c:1170:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:1174::,2001:67c:1174:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:1178::,2001:67c:1178:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:117c::,2001:67c:117c:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:1180::,2001:67c:1180:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:1184::,2001:67c:1184:ffff:ffff:ffff:ffff:ffff,HR
-2001:67c:1188::,2001:67c:1188:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:118c::,2001:67c:118c:ffff:ffff:ffff:ffff:ffff,FR
-2001:67c:1194::,2001:67c:1194:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:1198::,2001:67c:1199:ffff:ffff:ffff:ffff:ffff,SA
-2001:67c:11a0::,2001:67c:11a0:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:11a4::,2001:67c:11a4:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:11a8::,2001:67c:11a8:ffff:ffff:ffff:ffff:ffff,CZ
-2001:67c:11ac::,2001:67c:11ac:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:11b0::,2001:67c:11b0:ffff:ffff:ffff:ffff:ffff,FR
-2001:67c:11b4::,2001:67c:11b4:ffff:ffff:ffff:ffff:ffff,ES
-2001:67c:11b8::,2001:67c:11b8:ffff:ffff:ffff:ffff:ffff,TR
-2001:67c:11bc::,2001:67c:11bc:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:11c0::,2001:67c:11c0:ffff:ffff:ffff:ffff:ffff,DK
-2001:67c:11c4::,2001:67c:11c4:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:11c8::,2001:67c:11c8:ffff:ffff:ffff:ffff:ffff,FR
-2001:67c:11cc::,2001:67c:11cc:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:11d0::,2001:67c:11d0:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:11d4::,2001:67c:11d4:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:11d8::,2001:67c:11d8:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:11dc::,2001:67c:11dc:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:11e0::,2001:67c:11e0:ffff:ffff:ffff:ffff:ffff,BG
-2001:67c:11e4::,2001:67c:11e4:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:11e8::,2001:67c:11e8:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:11ec::,2001:67c:11ec:ffff:ffff:ffff:ffff:ffff,TR
-2001:67c:11f0::,2001:67c:11f0:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:11f4::,2001:67c:11f4:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:11f8::,2001:67c:11f8:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:11fc::,2001:67c:11fc:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:1200::,2001:67c:122f:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:1095::,2001:67c:1147:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:1148::,2001:67c:1148::ffff:ffff:ffff:ffff,ES
+2001:67c:1148:1::,2001:67c:11ff:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:1200::,2001:67c:1200:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:1204::,2001:67c:1204:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:1208::,2001:67c:1208:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:120c::,2001:67c:120c:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:1210::,2001:67c:1213:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:1220::,2001:67c:1223:ffff:ffff:ffff:ffff:ffff,CZ
2001:67c:1230::,2001:67c:1233:ffff:ffff:ffff:ffff:ffff,TH
-2001:67c:1234::,2001:67c:123f:ffff:ffff:ffff:ffff:ffff,CZ
2001:67c:1240::,2001:67c:1240:ffff:ffff:ffff:ffff:ffff,IE
-2001:67c:1241::,2001:67c:12af:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:1244::,2001:67c:1244:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:1248::,2001:67c:1248:ffff:ffff:ffff:ffff:ffff,RO
+2001:67c:124c::,2001:67c:124c:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:1254::,2001:67c:1254:ffff:ffff:ffff:ffff:ffff,FR
+2001:67c:1258::,2001:67c:1258:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:125c::,2001:67c:125c:ffff:ffff:ffff:ffff:ffff,IE
+2001:67c:1260::,2001:67c:1260:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:1264::,2001:67c:1264:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:1268::,2001:67c:1268:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:126c::,2001:67c:126c:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:1270::,2001:67c:1270:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:1274::,2001:67c:1274:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:1278::,2001:67c:1278:ffff:ffff:ffff:ffff:ffff,FR
+2001:67c:127c::,2001:67c:127c:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:1280::,2001:67c:1280:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:1284::,2001:67c:1284:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:1288::,2001:67c:1288:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:128c::,2001:67c:128c:ffff:ffff:ffff:ffff:ffff,FR
+2001:67c:1290::,2001:67c:1290:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:1294::,2001:67c:1294:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:1298::,2001:67c:1298:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:129c::,2001:67c:129c:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:12a0::,2001:67c:12a0:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:12a4::,2001:67c:12a4:ffff:ffff:ffff:ffff:ffff,TR
+2001:67c:12a8::,2001:67c:12a8:ffff:ffff:ffff:ffff:ffff,FI
+2001:67c:12ac::,2001:67c:12ac:ffff:ffff:ffff:ffff:ffff,LU
2001:67c:12b0::,2001:67c:12b0:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:12b1::,2001:67c:13b7:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:12b4::,2001:67c:12b4:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:12b8::,2001:67c:12b8:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:12bc::,2001:67c:12bc:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:12c0::,2001:67c:12c1:ffff:ffff:ffff:ffff:ffff,NO
+2001:67c:12c8::,2001:67c:12c8:ffff:ffff:ffff:ffff:ffff,LV
+2001:67c:12cc::,2001:67c:12cc:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:12d0::,2001:67c:12d0:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:12d4::,2001:67c:12d4:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:12d8::,2001:67c:12d8:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:12dc::,2001:67c:12dc:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:12e0::,2001:67c:12e0:ffff:ffff:ffff:ffff:ffff,KG
+2001:67c:12e4::,2001:67c:12e4:ffff:ffff:ffff:ffff:ffff,SA
+2001:67c:12e8::,2001:67c:12e9:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:12f0::,2001:67c:12f0:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:12f4::,2001:67c:12f4:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:12f8::,2001:67c:12f8:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:12fc::,2001:67c:12fc:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:1300::,2001:67c:1300:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:1304::,2001:67c:1304:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:1308::,2001:67c:1308:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:130c::,2001:67c:130c:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:1310::,2001:67c:1310:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:1314::,2001:67c:1314:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:1318::,2001:67c:1318:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:131c::,2001:67c:131c:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:1320::,2001:67c:1320:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:1324::,2001:67c:1324:ffff:ffff:ffff:ffff:ffff,UA
+2001:67c:1328::,2001:67c:1328:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:132c::,2001:67c:132c:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:1330::,2001:67c:1330:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:1334::,2001:67c:1334:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:1338::,2001:67c:1338:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:133c::,2001:67c:133c:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:1340::,2001:67c:1340:ffff:ffff:ffff:ffff:ffff,HR
+2001:67c:1344::,2001:67c:1344:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:1348::,2001:67c:1348:ffff:ffff:ffff:ffff:ffff,FR
+2001:67c:134c::,2001:67c:134c:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:1350::,2001:67c:1350:ffff:ffff:ffff:ffff:ffff,CY
+2001:67c:1354::,2001:67c:1354:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:1358::,2001:67c:1358:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:135c::,2001:67c:135c:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:1360::,2001:67c:1360:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:1364::,2001:67c:1364:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:1368::,2001:67c:1368:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:136c::,2001:67c:136c:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:1370::,2001:67c:1370:ffff:ffff:ffff:ffff:ffff,UA
+2001:67c:1374::,2001:67c:1374:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:1378::,2001:67c:1378:ffff:ffff:ffff:ffff:ffff,UA
+2001:67c:137c::,2001:67c:137c:ffff:ffff:ffff:ffff:ffff,ES
+2001:67c:1380::,2001:67c:1380:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:1384::,2001:67c:1384:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:1388::,2001:67c:1388:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:138c::,2001:67c:138c:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:1390::,2001:67c:1390:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:1394::,2001:67c:1394:ffff:ffff:ffff:ffff:ffff,UA
+2001:67c:1398::,2001:67c:1398:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:139c::,2001:67c:139c:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:13a0::,2001:67c:13a0:ffff:ffff:ffff:ffff:ffff,UA
+2001:67c:13a8::,2001:67c:13a8:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:13ac::,2001:67c:13ac:ffff:ffff:ffff:ffff:ffff,FI
+2001:67c:13b0::,2001:67c:13b0:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:13b4::,2001:67c:13b4:ffff:ffff:ffff:ffff:ffff,NL
2001:67c:13b8::,2001:67c:13b8:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:13b9::,2001:67c:13ff:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:13bc::,2001:67c:13bc:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:13c0::,2001:67c:13c0:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:13c4::,2001:67c:13c4:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:13c8::,2001:67c:13c8:ffff:ffff:ffff:ffff:ffff,LV
+2001:67c:13cc::,2001:67c:13cc:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:13d0::,2001:67c:13d0:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:13d4::,2001:67c:13d4:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:13d8::,2001:67c:13d8:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:13dc::,2001:67c:13dc:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:13e0::,2001:67c:13e0:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:13e4::,2001:67c:13e4:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:13e8::,2001:67c:13e8:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:13ec::,2001:67c:13ec:ffff:ffff:ffff:ffff:ffff,PT
+2001:67c:13f0::,2001:67c:13f0:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:13f4::,2001:67c:13f4:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:13f8::,2001:67c:13f8:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:13fc::,2001:67c:13fc:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:1400::,2001:67c:142f:ffff:ffff:ffff:ffff:ffff,HR
2001:67c:1430::,2001:67c:1430:ffff:ffff:ffff:ffff:ffff,CH
2001:67c:1431::,2001:67c:1493:ffff:ffff:ffff:ffff:ffff,HR
@@ -1022,47 +1079,15 @@
2001:67c:16c9::,2001:67c:173f:ffff:ffff:ffff:ffff:ffff,HR
2001:67c:1740::,2001:67c:1740:ffff:ffff:ffff:ffff:ffff,FR
2001:67c:1741::,2001:67c:17ff:ffff:ffff:ffff:ffff:ffff,HR
-2001:67c:1800::,2001:67c:1913:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:1914::,2001:67c:1914:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:1915::,2001:67c:19f3:ffff:ffff:ffff:ffff:ffff,RO
-2001:67c:19f4::,2001:67c:19f4:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:19f5::,2001:67c:1b07:ffff:ffff:ffff:ffff:ffff,RO
+2001:67c:1800::,2001:67c:1b07:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:1b08::,2001:67c:1b08:ffff:ffff:ffff:ffff:ffff,IT
-2001:67c:1b09::,2001:67c:1bff:ffff:ffff:ffff:ffff:ffff,RO
+2001:67c:1b09::,2001:67c:1bff:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:1c00::,2001:67c:1cff:ffff:ffff:ffff:ffff:ffff,NO
-2001:67c:2000::,2001:67c:2000:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:2004::,2001:67c:2004:ffff:ffff:ffff:ffff:ffff,SI
-2001:67c:2008::,2001:67c:2008:ffff:ffff:ffff:ffff:ffff,FR
-2001:67c:200c::,2001:67c:200c:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:2010::,2001:67c:2010:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:2014::,2001:67c:2014:ffff:ffff:ffff:ffff:ffff,SI
-2001:67c:2018::,2001:67c:2018:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:201c::,2001:67c:201c:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:2020::,2001:67c:2020:ffff:ffff:ffff:ffff:ffff,NO
-2001:67c:2024::,2001:67c:2024:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:2028::,2001:67c:2028:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:202c::,2001:67c:202c:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:2030::,2001:67c:2030:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:2034::,2001:67c:2034:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:2038::,2001:67c:2038:ffff:ffff:ffff:ffff:ffff,CZ
-2001:67c:203c::,2001:67c:203c:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:2040::,2001:67c:2040:ffff:ffff:ffff:ffff:ffff,AE
-2001:67c:2044::,2001:67c:2044:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:2048::,2001:67c:2048:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:204c::,2001:67c:204c:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:2050::,2001:67c:2050:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:2054::,2001:67c:2054:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:2000::,2001:67c:2057:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:2058::,2001:67c:2058:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:205c::,2001:67c:205c:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:2060::,2001:67c:2060:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:2064::,2001:67c:2064:ffff:ffff:ffff:ffff:ffff,FR
-2001:67c:2068::,2001:67c:2068:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:206c::,2001:67c:206c:ffff:ffff:ffff:ffff:ffff,NO
+2001:67c:2059::,2001:67c:206f:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:2070::,2001:67c:2070:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:2074::,2001:67c:2074:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:2078::,2001:67c:2078:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:207c::,2001:67c:207c:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:2080::,2001:67c:20ff:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:2071::,2001:67c:20ff:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:2100::,2001:67c:2100:ffff:ffff:ffff:ffff:ffff,RO
2001:67c:2104::,2001:67c:2104:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:2108::,2001:67c:2108:ffff:ffff:ffff:ffff:ffff,RU
@@ -1095,14 +1120,8 @@
2001:67c:2174::,2001:67c:2174:ffff:ffff:ffff:ffff:ffff,DK
2001:67c:2178::,2001:67c:2178:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:217c::,2001:67c:217c:ffff:ffff:ffff:ffff:ffff,FR
-2001:67c:2180::,2001:67c:2180:ffff:ffff:ffff:ffff:ffff,AT
-2001:67c:2184::,2001:67c:2184:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:2188::,2001:67c:2188:ffff:ffff:ffff:ffff:ffff,FR
-2001:67c:218c::,2001:67c:218c:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:2190::,2001:67c:2190:ffff:ffff:ffff:ffff:ffff,CZ
-2001:67c:2194::,2001:67c:2194:ffff:ffff:ffff:ffff:ffff,CZ
-2001:67c:2198::,2001:67c:2198:ffff:ffff:ffff:ffff:ffff,LV
-2001:67c:219c::,2001:67c:219c:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:2180::,2001:67c:218f:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:2190::,2001:67c:219f:ffff:ffff:ffff:ffff:ffff,LV
2001:67c:21a0::,2001:67c:21a0:ffff:ffff:ffff:ffff:ffff,IT
2001:67c:21a4::,2001:67c:21a4:ffff:ffff:ffff:ffff:ffff,FI
2001:67c:21a8::,2001:67c:21a8:ffff:ffff:ffff:ffff:ffff,AT
@@ -1111,7 +1130,7 @@
2001:67c:21b4::,2001:67c:21b4:ffff:ffff:ffff:ffff:ffff,NL
2001:67c:21b8::,2001:67c:21b8:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:21bc::,2001:67c:21bc:ffff:ffff:ffff:ffff:ffff,BG
-2001:67c:21c0::,2001:67c:21ff:ffff:ffff:ffff:ffff:ffff,UA
+2001:67c:21c0::,2001:67c:21ff:ffff:ffff:ffff:ffff:ffff,PL
2001:67c:2200::,2001:67c:2200:ffff:ffff:ffff:ffff:ffff,FR
2001:67c:2204::,2001:67c:2204:ffff:ffff:ffff:ffff:ffff,AT
2001:67c:2208::,2001:67c:2208:ffff:ffff:ffff:ffff:ffff,AT
@@ -1176,23 +1195,7 @@
2001:67c:22fc::,2001:67c:22fc:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:2300::,2001:67c:232b:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:232c::,2001:67c:232c:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:232d::,2001:67c:233f:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:2340::,2001:67c:2340:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:2344::,2001:67c:2344:ffff:ffff:ffff:ffff:ffff,RU
-2001:67c:2348::,2001:67c:2348:ffff:ffff:ffff:ffff:ffff,AE
-2001:67c:234c::,2001:67c:234c:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:2350::,2001:67c:2350:ffff:ffff:ffff:ffff:ffff,CH
-2001:67c:2354::,2001:67c:2354:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:2358::,2001:67c:2358:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:235c::,2001:67c:235c:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:2360::,2001:67c:2360:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:2364::,2001:67c:2364:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:2368::,2001:67c:2368:ffff:ffff:ffff:ffff:ffff,SI
-2001:67c:236c::,2001:67c:236c:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:2370::,2001:67c:2370:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:2374::,2001:67c:2374:ffff:ffff:ffff:ffff:ffff,PL
-2001:67c:2378::,2001:67c:2378:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:237c::,2001:67c:237c:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:232d::,2001:67c:237f:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:2380::,2001:67c:2380:ffff:ffff:ffff:ffff:ffff,UA
2001:67c:2384::,2001:67c:2384:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:2388::,2001:67c:2388:ffff:ffff:ffff:ffff:ffff,DK
@@ -1224,18 +1227,194 @@
2001:67c:23f4::,2001:67c:23f4:ffff:ffff:ffff:ffff:ffff,PL
2001:67c:23f8::,2001:67c:23f8:ffff:ffff:ffff:ffff:ffff,DK
2001:67c:23fc::,2001:67c:23fc:ffff:ffff:ffff:ffff:ffff,BG
-2001:67c:2400::,2001:67c:24d7:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:2400::,2001:67c:2400:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:2404::,2001:67c:2404:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:2408::,2001:67c:2408:ffff:ffff:ffff:ffff:ffff,AE
+2001:67c:240c::,2001:67c:240c:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2410::,2001:67c:2410:ffff:ffff:ffff:ffff:ffff,TR
+2001:67c:2414::,2001:67c:2414:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:2418::,2001:67c:2418:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:241c::,2001:67c:241c:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:2420::,2001:67c:2420:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:2424::,2001:67c:2424:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:2428::,2001:67c:2428:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:242c::,2001:67c:242c:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:2430::,2001:67c:2433:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:2440::,2001:67c:2440:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:2444::,2001:67c:2444:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2448::,2001:67c:2448:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:244c::,2001:67c:244c:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:2450::,2001:67c:2450:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:2454::,2001:67c:2454:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2458::,2001:67c:2458:ffff:ffff:ffff:ffff:ffff,NO
+2001:67c:245c::,2001:67c:245c:ffff:ffff:ffff:ffff:ffff,FI
+2001:67c:2460::,2001:67c:2460:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2464::,2001:67c:2464:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:2468::,2001:67c:2468:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:246c::,2001:67c:246c:ffff:ffff:ffff:ffff:ffff,UA
+2001:67c:2470::,2001:67c:2470:ffff:ffff:ffff:ffff:ffff,UA
+2001:67c:2474::,2001:67c:2474:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:2478::,2001:67c:2478:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:247c::,2001:67c:247c:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:2480::,2001:67c:2480:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:2484::,2001:67c:2484:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2488::,2001:67c:2488:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:248c::,2001:67c:248c:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:2490::,2001:67c:2490:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:2494::,2001:67c:2494:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:2498::,2001:67c:2498:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:249c::,2001:67c:249c:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:24a0::,2001:67c:24a0:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:24a4::,2001:67c:24a4:ffff:ffff:ffff:ffff:ffff,UA
+2001:67c:24a8::,2001:67c:24a8:ffff:ffff:ffff:ffff:ffff,UA
+2001:67c:24b0::,2001:67c:24b0:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:24b4::,2001:67c:24b4:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:24b8::,2001:67c:24b8:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:24bc::,2001:67c:24bc:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:24c0::,2001:67c:24c0:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:24c4::,2001:67c:24c4:ffff:ffff:ffff:ffff:ffff,RO
+2001:67c:24c8::,2001:67c:24c8:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:24cc::,2001:67c:24cc:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:24d0::,2001:67c:24d0:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:24d4::,2001:67c:24d4:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:24d8::,2001:67c:24d8:ffff:ffff:ffff:ffff:ffff,NO
-2001:67c:24d9::,2001:67c:2543:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:24dc::,2001:67c:24dc:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:24e0::,2001:67c:24e0:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:24e4::,2001:67c:24e4:ffff:ffff:ffff:ffff:ffff,NO
+2001:67c:24e8::,2001:67c:24e9:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:24f0::,2001:67c:24f0:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:24f4::,2001:67c:24f4:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:24f8::,2001:67c:24f8:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:24fc::,2001:67c:24fc:ffff:ffff:ffff:ffff:ffff,NO
+2001:67c:2500::,2001:67c:2543:ffff:ffff:ffff:ffff:ffff,NL
2001:67c:2544::,2001:67c:2544:ffff:ffff:ffff:ffff:ffff,GB
2001:67c:2545::,2001:67c:2567:ffff:ffff:ffff:ffff:ffff,NL
2001:67c:2568::,2001:67c:2568:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:2569::,2001:67c:25e7:ffff:ffff:ffff:ffff:ffff,NL
2001:67c:25e8::,2001:67c:25e8:ffff:ffff:ffff:ffff:ffff,FR
2001:67c:25e9::,2001:67c:25ff:ffff:ffff:ffff:ffff:ffff,NL
-2001:67c:2600::,2001:67c:26f7:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:2600::,2001:67c:2600:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:2604::,2001:67c:2604:ffff:ffff:ffff:ffff:ffff,SK
+2001:67c:2608::,2001:67c:2608:ffff:ffff:ffff:ffff:ffff,FR
+2001:67c:260c::,2001:67c:260c:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:2610::,2001:67c:2610:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:2614::,2001:67c:2614:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:2618::,2001:67c:2618:ffff:ffff:ffff:ffff:ffff,EE
+2001:67c:261c::,2001:67c:261c:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:2620::,2001:67c:2620:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:2624::,2001:67c:2624:ffff:ffff:ffff:ffff:ffff,SA
+2001:67c:2628::,2001:67c:2628:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:262c::,2001:67c:262c:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:2630::,2001:67c:2630:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:2634::,2001:67c:2634:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:2638::,2001:67c:2638:ffff:ffff:ffff:ffff:ffff,SK
+2001:67c:263c::,2001:67c:263c:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:2640::,2001:67c:2640:ffff:ffff:ffff:ffff:ffff,AE
+2001:67c:2644::,2001:67c:2644:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:2648::,2001:67c:2648:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:264c::,2001:67c:264c:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:2650::,2001:67c:2650:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2654::,2001:67c:2654:ffff:ffff:ffff:ffff:ffff,AE
+2001:67c:2658::,2001:67c:2658:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:265c::,2001:67c:265c:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:2660::,2001:67c:2660:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:2664::,2001:67c:2664:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:2668::,2001:67c:2668:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:266c::,2001:67c:266c:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2670::,2001:67c:2670:ffff:ffff:ffff:ffff:ffff,SK
+2001:67c:2674::,2001:67c:2674:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:2678::,2001:67c:2678:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:267c::,2001:67c:267c:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:2680::,2001:67c:2680:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2684::,2001:67c:2684:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:2688::,2001:67c:2688:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:268c::,2001:67c:268c:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2690::,2001:67c:2690:ffff:ffff:ffff:ffff:ffff,BE
+2001:67c:2694::,2001:67c:2694:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:2698::,2001:67c:2698:ffff:ffff:ffff:ffff:ffff,FR
+2001:67c:269c::,2001:67c:269c:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:26a0::,2001:67c:26a0:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:26a4::,2001:67c:26a4:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:26a8::,2001:67c:26a8:ffff:ffff:ffff:ffff:ffff,BE
+2001:67c:26ac::,2001:67c:26ac:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:26b0::,2001:67c:26b0:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:26b4::,2001:67c:26b4:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:26b8::,2001:67c:26b8:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:26bc::,2001:67c:26bc:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:26c0::,2001:67c:26c3:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:26d0::,2001:67c:26d0:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:26d4::,2001:67c:26d4:ffff:ffff:ffff:ffff:ffff,SK
+2001:67c:26d8::,2001:67c:26d8:ffff:ffff:ffff:ffff:ffff,FR
+2001:67c:26dc::,2001:67c:26dc:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:26e0::,2001:67c:26e0:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:26e4::,2001:67c:26e4:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:26e8::,2001:67c:26e8:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:26ec::,2001:67c:26ec:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:26f0::,2001:67c:26f0:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:26f4::,2001:67c:26f4:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:26f8::,2001:67c:26f8:ffff:ffff:ffff:ffff:ffff,UA
-2001:67c:26f9::,2001:67c:27ff:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:26fc::,2001:67c:26fc:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:2700::,2001:67c:2700:ffff:ffff:ffff:ffff:ffff,FI
+2001:67c:2704::,2001:67c:2704:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:2708::,2001:67c:2708:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:270c::,2001:67c:270c:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:2710::,2001:67c:2710:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:2714::,2001:67c:2714:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:2718::,2001:67c:2718:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:271c::,2001:67c:271c:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2720::,2001:67c:2720:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:2724::,2001:67c:2724:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:2728::,2001:67c:2728:ffff:ffff:ffff:ffff:ffff,IR
+2001:67c:272c::,2001:67c:272c:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:2730::,2001:67c:2730:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:2734::,2001:67c:2734:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:2738::,2001:67c:2738:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:273c::,2001:67c:273c:ffff:ffff:ffff:ffff:ffff,CH
+2001:67c:2740::,2001:67c:2740:ffff:ffff:ffff:ffff:ffff,SK
+2001:67c:2744::,2001:67c:2744:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:2748::,2001:67c:2748:ffff:ffff:ffff:ffff:ffff,GR
+2001:67c:274c::,2001:67c:274c:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:2750::,2001:67c:2750:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:2758::,2001:67c:2758:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:275c::,2001:67c:275c:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:2760::,2001:67c:2760:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:2764::,2001:67c:2764:ffff:ffff:ffff:ffff:ffff,NO
+2001:67c:2768::,2001:67c:2768:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:276c::,2001:67c:276c:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:2770::,2001:67c:2770:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2774::,2001:67c:2774:ffff:ffff:ffff:ffff:ffff,AE
+2001:67c:2780::,2001:67c:2780:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2784::,2001:67c:2784:ffff:ffff:ffff:ffff:ffff,FI
+2001:67c:2788::,2001:67c:2788:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:278c::,2001:67c:278c:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:2790::,2001:67c:2790:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:2794::,2001:67c:2794:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:2798::,2001:67c:2798:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:279c::,2001:67c:279c:ffff:ffff:ffff:ffff:ffff,NL
+2001:67c:27a0::,2001:67c:27a0:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:27a4::,2001:67c:27a4:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:27a8::,2001:67c:27a8:ffff:ffff:ffff:ffff:ffff,DK
+2001:67c:27ac::,2001:67c:27ac:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:27b0::,2001:67c:27b0:ffff:ffff:ffff:ffff:ffff,FI
+2001:67c:27b4::,2001:67c:27b4:ffff:ffff:ffff:ffff:ffff,UA
+2001:67c:27b8::,2001:67c:27b8:ffff:ffff:ffff:ffff:ffff,SA
+2001:67c:27bc::,2001:67c:27bc:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:27c0::,2001:67c:27c0:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:27c4::,2001:67c:27c4:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:27c8::,2001:67c:27c8:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:27cc::,2001:67c:27cc:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:27d0::,2001:67c:27d0:ffff:ffff:ffff:ffff:ffff,DE
+2001:67c:27d4::,2001:67c:27d4:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:27d8::,2001:67c:27d8:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:27dc::,2001:67c:27dc:ffff:ffff:ffff:ffff:ffff,GB
+2001:67c:27e0::,2001:67c:27e0:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:27e4::,2001:67c:27e4:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:27e8::,2001:67c:27e8:ffff:ffff:ffff:ffff:ffff,SI
+2001:67c:27ec::,2001:67c:27ec:ffff:ffff:ffff:ffff:ffff,NO
+2001:67c:27f0::,2001:67c:27f0:ffff:ffff:ffff:ffff:ffff,AT
+2001:67c:27f4::,2001:67c:27f4:ffff:ffff:ffff:ffff:ffff,PL
+2001:67c:27f8::,2001:67c:27f8:ffff:ffff:ffff:ffff:ffff,SE
+2001:67c:27fc::,2001:67c:27fc:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:2800::,2001:67c:2800:ffff:ffff:ffff:ffff:ffff,CH
2001:67c:2804::,2001:67c:2804:ffff:ffff:ffff:ffff:ffff,PL
2001:67c:2808::,2001:67c:2808:ffff:ffff:ffff:ffff:ffff,PL
@@ -1266,7 +1445,6 @@
2001:67c:286c::,2001:67c:286c:ffff:ffff:ffff:ffff:ffff,GB
2001:67c:2870::,2001:67c:2870:ffff:ffff:ffff:ffff:ffff,PL
2001:67c:2874::,2001:67c:2874:ffff:ffff:ffff:ffff:ffff,GB
-2001:67c:2878::,2001:67c:2878:ffff:ffff:ffff:ffff:ffff,DK
2001:67c:287c::,2001:67c:287c:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:2880::,2001:67c:2880:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:2884::,2001:67c:2884:ffff:ffff:ffff:ffff:ffff,DE
@@ -1294,7 +1472,6 @@
2001:67c:28e0::,2001:67c:28e0:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:28e4::,2001:67c:28e4:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:28e8::,2001:67c:28e8:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:28ec::,2001:67c:28ec:ffff:ffff:ffff:ffff:ffff,AT
2001:67c:28f0::,2001:67c:28f0:ffff:ffff:ffff:ffff:ffff,NL
2001:67c:28f4::,2001:67c:28f4:ffff:ffff:ffff:ffff:ffff,SI
2001:67c:28f8::,2001:67c:28f8:ffff:ffff:ffff:ffff:ffff,LT
@@ -1453,7 +1630,6 @@
2001:67c:2c28::,2001:67c:2c28:ffff:ffff:ffff:ffff:ffff,CH
2001:67c:2c2c::,2001:67c:2c2c:ffff:ffff:ffff:ffff:ffff,HU
2001:67c:2c30::,2001:67c:2c30:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:2c34::,2001:67c:2c34:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:2c38::,2001:67c:2c38:ffff:ffff:ffff:ffff:ffff,CH
2001:67c:2c3c::,2001:67c:2c3c:ffff:ffff:ffff:ffff:ffff,DE
2001:67c:2c40::,2001:67c:2c40:ffff:ffff:ffff:ffff:ffff,CH
@@ -1500,10 +1676,9 @@
2001:67c:2e74::,2001:67c:2e74:ffff:ffff:ffff:ffff:ffff,SE
2001:67c:2e75::,2001:67c:2e7f:ffff:ffff:ffff:ffff:ffff,UA
2001:67c:2e80::,2001:67c:2eff:ffff:ffff:ffff:ffff:ffff,DE
-2001:67c:2f00::,2001:67c:2f7b:ffff:ffff:ffff:ffff:ffff,CZ
+2001:67c:2f00::,2001:67c:2f7b:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:2f7c::,2001:67c:2f7c:ffff:ffff:ffff:ffff:ffff,SE
-2001:67c:2f7d::,2001:67c:2f7f:ffff:ffff:ffff:ffff:ffff,CZ
-2001:67c:2f80::,2001:67c:2f87:ffff:ffff:ffff:ffff:ffff,RU
+2001:67c:2f7d::,2001:67c:2f87:ffff:ffff:ffff:ffff:ffff,RU
2001:67c:2f88::,2001:67c:2f88:ffff:ffff:ffff:ffff:ffff,ZA
2001:67c:2f89::,2001:67c:2fff:ffff:ffff:ffff:ffff:ffff,RU
2001:680::,2001:680:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -1519,7 +1694,7 @@
2001:6e0::,2001:6e0:ffff:ffff:ffff:ffff:ffff:ffff,NL
2001:6e8::,2001:6ef:ffff:ffff:ffff:ffff:ffff:ffff,FI
2001:6f0::,2001:6f7:ffff:ffff:ffff:ffff:ffff:ffff,SE
-2001:6f8:1::,2001:6f8:2ff:ffff:ffff:ffff:ffff:ffff,GB
+2001:6f8::,2001:6f8:2ff:ffff:ffff:ffff:ffff:ffff,GB
2001:6f8:300::,2001:6f8:3ff:ffff:ffff:ffff:ffff:ffff,BE
2001:6f8:400::,2001:6f8:13ff:ffff:ffff:ffff:ffff:ffff,GB
2001:6f8:1400::,2001:6f8:14ff:ffff:ffff:ffff:ffff:ffff,BE
@@ -1534,7 +1709,9 @@
2001:730:1::,2001:730:ffff:ffff:ffff:ffff:ffff:ffff,SK
2001:731::,2001:737:ffff:ffff:ffff:ffff:ffff:ffff,RO
2001:738::,2001:738:ffff:ffff:ffff:ffff:ffff:ffff,HU
+2001:740::,2001:740:c000:ffff:ffff:ffff:ffff:ffff,GB
2001:740:c001::,2001:740:c001:ffff:ffff:ffff:ffff:ffff,DE
+2001:740:c002::,2001:740:ffff:ffff:ffff:ffff:ffff:ffff,GB
2001:748::,2001:748:ffff:ffff:ffff:ffff:ffff:ffff,DE
2001:750::,2001:750:ffff:ffff:ffff:ffff:ffff:ffff,IT
2001:758::,2001:758:ffff:ffff:ffff:ffff:ffff:ffff,FR
@@ -1556,7 +1733,6 @@
2001:7d8::,2001:7d8:ffff:ffff:ffff:ffff:ffff:ffff,DE
2001:7e0::,2001:7e0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2001:7e8::,2001:7ef:ffff:ffff:ffff:ffff:ffff:ffff,LU
-2001:7f0::,2001:7f0:3ff:ffff:ffff:ffff:ffff:ffff,DE
2001:7f0:4000::,2001:7f0:43ff:ffff:ffff:ffff:ffff:ffff,DE
2001:7f0:c000::,2001:7f0:cfff:ffff:ffff:ffff:ffff:ffff,CZ
2001:7f8::,2001:7f8::ffff:ffff:ffff:ffff:ffff,DE
@@ -1753,6 +1929,8 @@
2001:7f8:cb::,2001:7f8:cb:ffff:ffff:ffff:ffff:ffff,MK
2001:7f8:cc::,2001:7f8:cc:ffff:ffff:ffff:ffff:ffff,CH
2001:7f8:cd::,2001:7f8:cd:ffff:ffff:ffff:ffff:ffff,NL
+2001:7f8:ce::,2001:7f8:ce:ffff:ffff:ffff:ffff:ffff,GR
+2001:7f8:cf::,2001:7f8:cf:ffff:ffff:ffff:ffff:ffff,IT
2001:7f9:4::,2001:7f9:4:ffff:ffff:ffff:ffff:ffff,AL
2001:7f9:8::,2001:7f9:8:ffff:ffff:ffff:ffff:ffff,AM
2001:7f9:c::,2001:7f9:c:ffff:ffff:ffff:ffff:ffff,PL
@@ -1797,9 +1975,7 @@
2001:888::,2001:88f:ffff:ffff:ffff:ffff:ffff:ffff,NL
2001:890::,2001:891:ffff:ffff:ffff:ffff:ffff:ffff,AT
2001:898::,2001:89f:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2001:8a0::,2001:8a0:e8ff:ffff:ffff:ffff:ffff:ffff,PT
-2001:8a0:e900::,2001:8a0:e9ff:ffff:ffff:ffff:ffff:ffff,US
-2001:8a0:ea00::,2001:8a7:ffff:ffff:ffff:ffff:ffff:ffff,PT
+2001:8a0::,2001:8a7:ffff:ffff:ffff:ffff:ffff:ffff,PT
2001:8a8::,2001:8a8:ffff:ffff:ffff:ffff:ffff:ffff,CH
2001:8b0::,2001:8b0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2001:8b8::,2001:8bf:ffff:ffff:ffff:ffff:ffff:ffff,FI
@@ -1818,11 +1994,13 @@
2001:913:1000::,2001:913:1fff:ffff:ffff:ffff:ffff:ffff,BE
2001:913:2000::,2001:917:ffff:ffff:ffff:ffff:ffff:ffff,FR
2001:918::,2001:91f:ffff:ffff:ffff:ffff:ffff:ffff,CH
-2001:920::,2001:920:17ff:ffff:ffff:ffff:ffff:ffff,GB
-2001:920:1800::,2001:920:1bff:ffff:ffff:ffff:ffff:ffff,DE
-2001:920:1c00::,2001:920:5845:ffff:ffff:ffff:ffff:ffff,GB
+2001:920::,2001:920:18ff:ffff:ffff:ffff:ffff:ffff,GB
+2001:920:1900::,2001:920:19ff:ffff:ffff:ffff:ffff:ffff,DE
+2001:920:1a00::,2001:920:5845:ffff:ffff:ffff:ffff:ffff,GB
2001:920:5846::,2001:920:5846:ffff:ffff:ffff:ffff:ffff,ES
-2001:920:5847::,2001:927:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2001:920:5847::,2001:923:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2001:924::,2001:924:ffff:ffff:ffff:ffff:ffff:ffff,US
+2001:925::,2001:927:ffff:ffff:ffff:ffff:ffff:ffff,GB
2001:928::,2001:928:ffff:ffff:ffff:ffff:ffff:ffff,DE
2001:930::,2001:930:ffff:ffff:ffff:ffff:ffff:ffff,TR
2001:938::,2001:938:ffff:ffff:ffff:ffff:ffff:ffff,AT
@@ -1831,26 +2009,24 @@
2001:950::,2001:950:ffff:ffff:ffff:ffff:ffff:ffff,HU
2001:958::,2001:958:ffff:ffff:ffff:ffff:ffff:ffff,GB
2001:960::,2001:960:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2001:968::,2001:968:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2001:968::,2001:96f:ffff:ffff:ffff:ffff:ffff:ffff,NL
2001:978::,2001:978:2:39::5:1,DE
2001:978:2:39::5:2,2001:978:2:39::5:2,SI
2001:978:2:39::5:3,2001:978:7ff:ffff:ffff:ffff:ffff:ffff,DE
2001:978:800::,2001:978:bff:ffff:ffff:ffff:ffff:ffff,SE
-2001:978:c00::,2001:978:1fff:ffff:ffff:ffff:ffff:ffff,DE
-2001:978:2000::,2001:978:2300:2ff:ffff:ffff:ffff:ffff,US
+2001:978:c00::,2001:978:2300:2ff:ffff:ffff:ffff:ffff,DE
2001:978:2300:300::,2001:978:2300:3ff:ffff:ffff:ffff:ffff,GB
-2001:978:2300:400::,2001:978:23ff:ffff:ffff:ffff:ffff:ffff,US
-2001:978:2400::,2001:978:29ff:ffff:ffff:ffff:ffff:ffff,DE
+2001:978:2300:400::,2001:978:2304:ffff:ffff:ffff:ffff:ffff,DE
+2001:978:2305::,2001:978:2305:ffff:ffff:ffff:ffff:ffff,US
+2001:978:2306::,2001:978:29ff:ffff:ffff:ffff:ffff:ffff,DE
2001:978:2a00::,2001:978:2a00:ffff:ffff:ffff:ffff:ffff,IE
2001:978:2a01::,2001:978:33ff:ffff:ffff:ffff:ffff:ffff,DE
-2001:978:3400::,2001:978:3400:ffff:ffff:ffff:ffff:ffff,US
-2001:978:3401::,2001:978:73ff:ffff:ffff:ffff:ffff:ffff,DE
+2001:978:3400::,2001:978:37ff:ffff:ffff:ffff:ffff:ffff,US
+2001:978:3800::,2001:978:73ff:ffff:ffff:ffff:ffff:ffff,DE
2001:978:7400::,2001:978:7400:ffff:ffff:ffff:ffff:ffff,FI
2001:978:7401::,2001:978:a4ff:ffff:ffff:ffff:ffff:ffff,DE
2001:978:a500::,2001:978:a500:ffff:ffff:ffff:ffff:ffff,BE
-2001:978:a501::,2001:978:adff:ffff:ffff:ffff:ffff:ffff,DE
-2001:978:ae00::,2001:978:ae00:ffff:ffff:ffff:ffff:ffff,CH
-2001:978:ae01::,2001:978:b3ff:ffff:ffff:ffff:ffff:ffff,DE
+2001:978:a501::,2001:978:b3ff:ffff:ffff:ffff:ffff:ffff,DE
2001:978:b400::,2001:978:b400:ffff:ffff:ffff:ffff:ffff,BG
2001:978:b401::,2001:978:b5ff:ffff:ffff:ffff:ffff:ffff,DE
2001:978:b600::,2001:978:b600:ffff:ffff:ffff:ffff:ffff,RS
@@ -1874,7 +2050,7 @@
2001:a10::,2001:a17:ffff:ffff:ffff:ffff:ffff:ffff,PL
2001:a18::,2001:a1f:ffff:ffff:ffff:ffff:ffff:ffff,LU
2001:a20::,2001:a20:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2001:a30::,2001:a30:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2001:a30::,2001:a37:ffff:ffff:ffff:ffff:ffff:ffff,IT
2001:a38::,2001:a3f:ffff:ffff:ffff:ffff:ffff:ffff,DE
2001:a40::,2001:a40:ffff:ffff:ffff:ffff:ffff:ffff,PT
2001:a48::,2001:a48:ffff:ffff:ffff:ffff:ffff:ffff,PL
@@ -1906,7 +2082,8 @@
2001:ac8:28::,2001:ac8:28:ffff:ffff:ffff:ffff:ffff,CH
2001:ac8:29::,2001:ac8:2f:ffff:ffff:ffff:ffff:ffff,AT
2001:ac8:30::,2001:ac8:30:ffff:ffff:ffff:ffff:ffff,BG
-2001:ac8:31::,2001:ac8:33:ffff:ffff:ffff:ffff:ffff,CZ
+2001:ac8:31::,2001:ac8:31:ffff:ffff:ffff:ffff:ffff,GB
+2001:ac8:32::,2001:ac8:33:ffff:ffff:ffff:ffff:ffff,CZ
2001:ac8:34::,2001:ac8:34:ffff:ffff:ffff:ffff:ffff,GB
2001:ac8:35::,2001:ac8:35:ffff:ffff:ffff:ffff:ffff,ES
2001:ac8:36::,2001:ac8:36:ffff:ffff:ffff:ffff:ffff,DE
@@ -1931,7 +2108,19 @@
2001:ac8:52::,2001:ac8:52:ffff:ffff:ffff:ffff:ffff,NL
2001:ac8:53::,2001:ac8:55:ffff:ffff:ffff:ffff:ffff,GB
2001:ac8:56::,2001:ac8:56:ffff:ffff:ffff:ffff:ffff,IT
-2001:ac8:57::,2001:ac8:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2001:ac8:57::,2001:ac8:62:ffff:ffff:ffff:ffff:ffff,GB
+2001:ac8:63::,2001:ac8:64:ffff:ffff:ffff:ffff:ffff,ES
+2001:ac8:65::,2001:ac8:66:ffff:ffff:ffff:ffff:ffff,DE
+2001:ac8:67::,2001:ac8:68:ffff:ffff:ffff:ffff:ffff,BE
+2001:ac8:69::,2001:ac8:69:ffff:ffff:ffff:ffff:ffff,HU
+2001:ac8:6a::,2001:ac8:6f:ffff:ffff:ffff:ffff:ffff,GB
+2001:ac8:70::,2001:ac8:70:ffff:ffff:ffff:ffff:ffff,HU
+2001:ac8:71::,2001:ac8:72:ffff:ffff:ffff:ffff:ffff,DK
+2001:ac8:73::,2001:ac8:74:ffff:ffff:ffff:ffff:ffff,DE
+2001:ac8:75::,2001:ac8:78:ffff:ffff:ffff:ffff:ffff,IT
+2001:ac8:79::,2001:ac8:79:ffff:ffff:ffff:ffff:ffff,GB
+2001:ac8:7a::,2001:ac8:7b:ffff:ffff:ffff:ffff:ffff,FR
+2001:ac8:7c::,2001:ac8:ffff:ffff:ffff:ffff:ffff:ffff,GB
2001:ad0::,2001:ad0:ffff:ffff:ffff:ffff:ffff:ffff,PL
2001:ad8::,2001:ae1:ffff:ffff:ffff:ffff:ffff:ffff,DE
2001:ae8::,2001:ae8:ffff:ffff:ffff:ffff:ffff:ffff,CZ
@@ -2085,10 +2274,10 @@
2001:dee:8000::,2001:dee:8001:ffff:ffff:ffff:ffff:ffff,NZ
2001:def::,2001:def::ffff:ffff:ffff:ffff:ffff,HK
2001:def:8000::,2001:def:8001:ffff:ffff:ffff:ffff:ffff,NP
-2001:df0::,2001:df0:48:ffff:ffff:ffff:ffff:ffff,NZ
+2001:df0::,2001:df0:3f:ffff:ffff:ffff:ffff:ffff,NZ
+2001:df0:40::,2001:df0:48:ffff:ffff:ffff:ffff:ffff,ID
2001:df0:49::,2001:df0:49:ffff:ffff:ffff:ffff:ffff,AU
-2001:df0:4a::,2001:df0:7f:ffff:ffff:ffff:ffff:ffff,NZ
-2001:df0:80::,2001:df0:bf:ffff:ffff:ffff:ffff:ffff,ID
+2001:df0:4a::,2001:df0:bf:ffff:ffff:ffff:ffff:ffff,ID
2001:df0:c0::,2001:df0:d9:1ff:ffff:ffff:ffff:ffff,JP
2001:df0:d9:200::,2001:df0:d9:2ff:ffff:ffff:ffff:ffff,HK
2001:df0:d9:300::,2001:df0:db:ffff:ffff:ffff:ffff:ffff,JP
@@ -2097,19 +2286,11 @@
2001:df0:100::,2001:df0:1ff:ffff:ffff:ffff:ffff:ffff,AU
2001:df0:200::,2001:df0:21f:ffff:ffff:ffff:ffff:ffff,IN
2001:df0:220::,2001:df0:23f:ffff:ffff:ffff:ffff:ffff,JP
-2001:df0:241::,2001:df0:241:ffff:ffff:ffff:ffff:ffff,AU
-2001:df0:242::,2001:df0:242:ffff:ffff:ffff:ffff:ffff,ID
-2001:df0:243::,2001:df0:243:ffff:ffff:ffff:ffff:ffff,IN
-2001:df0:245::,2001:df0:246:ffff:ffff:ffff:ffff:ffff,AU
-2001:df0:247::,2001:df0:247:ffff:ffff:ffff:ffff:ffff,NZ
-2001:df0:248::,2001:df0:248:ffff:ffff:ffff:ffff:ffff,TH
-2001:df0:249::,2001:df0:24a:ffff:ffff:ffff:ffff:ffff,AU
-2001:df0:24b::,2001:df0:24b:ffff:ffff:ffff:ffff:ffff,NZ
-2001:df0:24c::,2001:df0:24c:ffff:ffff:ffff:ffff:ffff,MY
-2001:df0:24e::,2001:df0:24e:ffff:ffff:ffff:ffff:ffff,AU
-2001:df0:24f::,2001:df0:24f:ffff:ffff:ffff:ffff:ffff,SG
-2001:df0:250::,2001:df0:27f:ffff:ffff:ffff:ffff:ffff,JP
-2001:df0:280::,2001:df0:2bf:ffff:ffff:ffff:ffff:ffff,MY
+2001:df0:240::,2001:df0:24f:ffff:ffff:ffff:ffff:ffff,AU
+2001:df0:250::,2001:df0:29f:ffff:ffff:ffff:ffff:ffff,JP
+2001:df0:2a0::,2001:df0:2b0:ffff:ffff:ffff:ffff:ffff,MY
+2001:df0:2b1::,2001:df0:2b1:ffff:ffff:ffff:ffff:ffff,AU
+2001:df0:2b2::,2001:df0:2bf:ffff:ffff:ffff:ffff:ffff,MY
2001:df0:2c0::,2001:df0:2e1:3114:ffff:ffff:ffff:ffff,JP
2001:df0:2e1:3115::,2001:df0:2e1:3115:ffff:ffff:ffff:ffff,ID
2001:df0:2e1:3116::,2001:df0:2ff:ffff:ffff:ffff:ffff:ffff,JP
@@ -2357,7 +2538,7 @@
2001:df0:c600::,2001:df0:c600:ffff:ffff:ffff:ffff:ffff,IN
2001:df0:c800::,2001:df0:c800:ffff:ffff:ffff:ffff:ffff,AU
2001:df0:c900::,2001:df0:c900:ffff:ffff:ffff:ffff:ffff,PK
-2001:df0:ca00::,2001:df0:ca00:ffff:ffff:ffff:ffff:ffff,AU
+2001:df0:ca00::,2001:df0:ca01:ffff:ffff:ffff:ffff:ffff,AU
2001:df0:cb00::,2001:df0:cb00:ffff:ffff:ffff:ffff:ffff,NZ
2001:df0:cc00::,2001:df0:cc00:ffff:ffff:ffff:ffff:ffff,ID
2001:df0:cd00::,2001:df0:cd00:ffff:ffff:ffff:ffff:ffff,AU
@@ -2413,7 +2594,9 @@
2001:df1:500::,2001:df1:500:ffff:ffff:ffff:ffff:ffff,ID
2001:df1:600::,2001:df1:600:ffff:ffff:ffff:ffff:ffff,HK
2001:df1:700::,2001:df1:700:ffff:ffff:ffff:ffff:ffff,BD
-2001:df1:800::,2001:df1:9ff:ffff:ffff:ffff:ffff:ffff,HK
+2001:df1:800::,2001:df1:800:ffff:ffff:ffff:ffff:ffff,SG
+2001:df1:801::,2001:df1:801:ffff:ffff:ffff:ffff:ffff,HK
+2001:df1:900::,2001:df1:900:ffff:ffff:ffff:ffff:ffff,PH
2001:df1:a00::,2001:df1:a00:ffff:ffff:ffff:ffff:ffff,NZ
2001:df1:b00::,2001:df1:b00:ffff:ffff:ffff:ffff:ffff,PG
2001:df1:d00::,2001:df1:d00:ffff:ffff:ffff:ffff:ffff,IN
@@ -2557,7 +2740,6 @@
2001:df1:9d00::,2001:df1:9d00:ffff:ffff:ffff:ffff:ffff,AU
2001:df1:9e00::,2001:df1:9e00:ffff:ffff:ffff:ffff:ffff,ID
2001:df1:9f00::,2001:df1:9f00:ffff:ffff:ffff:ffff:ffff,ID
-2001:df1:a000::,2001:df1:a000:ffff:ffff:ffff:ffff:ffff,IN
2001:df1:a100::,2001:df1:a100:ffff:ffff:ffff:ffff:ffff,CN
2001:df1:a200::,2001:df1:a200:ffff:ffff:ffff:ffff:ffff,ID
2001:df1:a300::,2001:df1:a300:ffff:ffff:ffff:ffff:ffff,SG
@@ -2568,7 +2750,6 @@
2001:df1:a900::,2001:df1:a900:ffff:ffff:ffff:ffff:ffff,ID
2001:df1:aa00::,2001:df1:aa00:ffff:ffff:ffff:ffff:ffff,ID
2001:df1:ab00::,2001:df1:ab00:ffff:ffff:ffff:ffff:ffff,HK
-2001:df1:ad00::,2001:df1:ad00:ffff:ffff:ffff:ffff:ffff,IN
2001:df1:af00::,2001:df1:af00:ffff:ffff:ffff:ffff:ffff,AU
2001:df1:b000::,2001:df1:b000:ffff:ffff:ffff:ffff:ffff,TH
2001:df1:b100::,2001:df1:b100:ffff:ffff:ffff:ffff:ffff,ID
@@ -2853,9 +3034,7 @@
2001:df2:d900::,2001:df2:d900:ffff:ffff:ffff:ffff:ffff,VN
2001:df2:da00::,2001:df2:da00:ffff:ffff:ffff:ffff:ffff,JP
2001:df2:db00::,2001:df2:db00:ffff:ffff:ffff:ffff:ffff,AU
-2001:df2:dc00::,2001:df2:dc00:ffff:ffff:ffff:ffff:ffff,TH
-2001:df2:dd00::,2001:df2:dd00:ffff:ffff:ffff:ffff:ffff,ID
-2001:df2:de00::,2001:df2:de00:ffff:ffff:ffff:ffff:ffff,AU
+2001:df2:dc00::,2001:df2:dfff:ffff:ffff:ffff:ffff:ffff,TH
2001:df2:e100::,2001:df2:e100:ffff:ffff:ffff:ffff:ffff,ID
2001:df2:e200::,2001:df2:e200:ffff:ffff:ffff:ffff:ffff,IN
2001:df2:e300::,2001:df2:e300:ffff:ffff:ffff:ffff:ffff,ID
@@ -3083,7 +3262,6 @@
2001:df3:d300::,2001:df3:d300:ffff:ffff:ffff:ffff:ffff,IN
2001:df3:d400::,2001:df3:d400:ffff:ffff:ffff:ffff:ffff,AU
2001:df3:d500::,2001:df3:d500:ffff:ffff:ffff:ffff:ffff,AU
-2001:df3:d600::,2001:df3:d600:ffff:ffff:ffff:ffff:ffff,AF
2001:df3:d700::,2001:df3:d700:ffff:ffff:ffff:ffff:ffff,ID
2001:df3:d900::,2001:df3:d900:ffff:ffff:ffff:ffff:ffff,ID
2001:df3:da00::,2001:df3:da00:ffff:ffff:ffff:ffff:ffff,US
@@ -3116,7 +3294,6 @@
2001:df3:f700::,2001:df3:f700:ffff:ffff:ffff:ffff:ffff,IN
2001:df3:f800::,2001:df3:f800:ffff:ffff:ffff:ffff:ffff,IN
2001:df3:f900::,2001:df3:f900:ffff:ffff:ffff:ffff:ffff,TH
-2001:df3:fa00::,2001:df3:fa00:ffff:ffff:ffff:ffff:ffff,AU
2001:df3:fb00::,2001:df3:fb00:ffff:ffff:ffff:ffff:ffff,IN
2001:df3:fc00::,2001:df3:fc00:ffff:ffff:ffff:ffff:ffff,HK
2001:df3:fd00::,2001:df3:fd00:ffff:ffff:ffff:ffff:ffff,AU
@@ -3218,7 +3395,7 @@
2001:df4:6000::,2001:df4:6000:ffff:ffff:ffff:ffff:ffff,MY
2001:df4:6100::,2001:df4:6100:ffff:ffff:ffff:ffff:ffff,BD
2001:df4:6200::,2001:df4:6200:ffff:ffff:ffff:ffff:ffff,PK
-2001:df4:6300::,2001:df4:6300:ffff:ffff:ffff:ffff:ffff,PH
+2001:df4:6300::,2001:df4:6301:ffff:ffff:ffff:ffff:ffff,PH
2001:df4:6400::,2001:df4:6400:ffff:ffff:ffff:ffff:ffff,LA
2001:df4:6500::,2001:df4:6500:ffff:ffff:ffff:ffff:ffff,AU
2001:df4:6600::,2001:df4:6600:ffff:ffff:ffff:ffff:ffff,SG
@@ -3272,14 +3449,10 @@
2001:df4:9900::,2001:df4:9900:ffff:ffff:ffff:ffff:ffff,ID
2001:df4:9a00::,2001:df4:9a00:ffff:ffff:ffff:ffff:ffff,AU
2001:df4:9b00::,2001:df4:9b00:ffff:ffff:ffff:ffff:ffff,IN
-2001:df4:9c00::,2001:df4:9c00:ffff:ffff:ffff:ffff:ffff,AU
2001:df4:9d00::,2001:df4:9d00:ffff:ffff:ffff:ffff:ffff,TW
2001:df4:9e00::,2001:df4:9e00:ffff:ffff:ffff:ffff:ffff,AU
2001:df4:9f00::,2001:df4:9f00:ffff:ffff:ffff:ffff:ffff,IN
-2001:df4:a000::,2001:df4:a000:ffff:ffff:ffff:ffff:ffff,NZ
-2001:df4:a100::,2001:df4:a100:ffff:ffff:ffff:ffff:ffff,ID
-2001:df4:a200::,2001:df4:a200:ffff:ffff:ffff:ffff:ffff,AU
-2001:df4:a300::,2001:df4:a300:ffff:ffff:ffff:ffff:ffff,IN
+2001:df4:a000::,2001:df4:a3ff:ffff:ffff:ffff:ffff:ffff,IN
2001:df4:a400::,2001:df4:a400:ffff:ffff:ffff:ffff:ffff,AU
2001:df4:a500::,2001:df4:a500:ffff:ffff:ffff:ffff:ffff,AU
2001:df4:a600::,2001:df4:a600:ffff:ffff:ffff:ffff:ffff,AU
@@ -3500,7 +3673,6 @@
2001:df5:8500::,2001:df5:8500:ffff:ffff:ffff:ffff:ffff,ID
2001:df5:8600::,2001:df5:8600:ffff:ffff:ffff:ffff:ffff,AU
2001:df5:8700::,2001:df5:8700:ffff:ffff:ffff:ffff:ffff,ID
-2001:df5:8800::,2001:df5:8800:ffff:ffff:ffff:ffff:ffff,IN
2001:df5:8900::,2001:df5:8900:ffff:ffff:ffff:ffff:ffff,ID
2001:df5:8a00::,2001:df5:8a00:ffff:ffff:ffff:ffff:ffff,VN
2001:df5:8b00::,2001:df5:8b00:ffff:ffff:ffff:ffff:ffff,HK
@@ -3548,7 +3720,6 @@
2001:df5:b900::,2001:df5:b900:ffff:ffff:ffff:ffff:ffff,VN
2001:df5:ba00::,2001:df5:ba00:ffff:ffff:ffff:ffff:ffff,IN
2001:df5:bb00::,2001:df5:bb00:ffff:ffff:ffff:ffff:ffff,VN
-2001:df5:bc00::,2001:df5:bc00:ffff:ffff:ffff:ffff:ffff,AU
2001:df5:bd00::,2001:df5:bd00:ffff:ffff:ffff:ffff:ffff,BD
2001:df5:be00::,2001:df5:be00:ffff:ffff:ffff:ffff:ffff,VN
2001:df5:bf00::,2001:df5:bf00:ffff:ffff:ffff:ffff:ffff,ID
@@ -3819,51 +3990,101 @@
2001:df6:dc00::,2001:df6:dc00:ffff:ffff:ffff:ffff:ffff,ID
2001:df6:dd00::,2001:df6:dd00:ffff:ffff:ffff:ffff:ffff,VN
2001:df6:de00::,2001:df6:de00:ffff:ffff:ffff:ffff:ffff,BD
+2001:df6:df00::,2001:df6:df00:ffff:ffff:ffff:ffff:ffff,CN
+2001:df6:e100::,2001:df6:e100:ffff:ffff:ffff:ffff:ffff,MY
2001:df6:e200::,2001:df6:e200:ffff:ffff:ffff:ffff:ffff,NZ
+2001:df6:e300::,2001:df6:e300:ffff:ffff:ffff:ffff:ffff,IN
2001:df6:e400::,2001:df6:e400:ffff:ffff:ffff:ffff:ffff,IN
+2001:df6:e500::,2001:df6:e501:ffff:ffff:ffff:ffff:ffff,AU
2001:df6:e600::,2001:df6:e600:ffff:ffff:ffff:ffff:ffff,ES
+2001:df6:e700::,2001:df6:e700:ffff:ffff:ffff:ffff:ffff,ID
2001:df6:e800::,2001:df6:e800:ffff:ffff:ffff:ffff:ffff,IN
-2001:df6:ea00::,2001:df6:ea00:ffff:ffff:ffff:ffff:ffff,AU
+2001:df6:e900::,2001:df6:e900:ffff:ffff:ffff:ffff:ffff,ID
+2001:df6:eb00::,2001:df6:eb00:ffff:ffff:ffff:ffff:ffff,HK
2001:df6:ec00::,2001:df6:ec00:ffff:ffff:ffff:ffff:ffff,ID
+2001:df6:ed00::,2001:df6:ed00:ffff:ffff:ffff:ffff:ffff,SG
2001:df6:ee00::,2001:df6:ee00:ffff:ffff:ffff:ffff:ffff,AU
+2001:df6:ef00::,2001:df6:ef00:ffff:ffff:ffff:ffff:ffff,ID
2001:df6:f000::,2001:df6:f000:ffff:ffff:ffff:ffff:ffff,HK
+2001:df6:f100::,2001:df6:f100:ffff:ffff:ffff:ffff:ffff,ID
2001:df6:f200::,2001:df6:f200:ffff:ffff:ffff:ffff:ffff,AU
+2001:df6:f300::,2001:df6:f300:ffff:ffff:ffff:ffff:ffff,AU
2001:df6:f400::,2001:df6:f400:ffff:ffff:ffff:ffff:ffff,CN
+2001:df6:f500::,2001:df6:f500:ffff:ffff:ffff:ffff:ffff,AU
2001:df6:f600::,2001:df6:f600:ffff:ffff:ffff:ffff:ffff,ID
+2001:df6:f700::,2001:df6:f700:ffff:ffff:ffff:ffff:ffff,NP
2001:df6:f800::,2001:df6:f800:ffff:ffff:ffff:ffff:ffff,AU
+2001:df6:f900::,2001:df6:f900:ffff:ffff:ffff:ffff:ffff,NZ
2001:df6:fa00::,2001:df6:fa00:ffff:ffff:ffff:ffff:ffff,IN
+2001:df6:fb00::,2001:df6:fb00:ffff:ffff:ffff:ffff:ffff,AU
2001:df6:fc00::,2001:df6:fc00:ffff:ffff:ffff:ffff:ffff,AU
+2001:df6:fd00::,2001:df6:fd00:ffff:ffff:ffff:ffff:ffff,ID
2001:df6:fe00::,2001:df6:fe00:ffff:ffff:ffff:ffff:ffff,AU
+2001:df6:ff00::,2001:df6:ff00:ffff:ffff:ffff:ffff:ffff,AU
2001:df7::,2001:df7::ffff:ffff:ffff:ffff:ffff,IN
+2001:df7:100::,2001:df7:100:ffff:ffff:ffff:ffff:ffff,GB
2001:df7:200::,2001:df7:203:ffff:ffff:ffff:ffff:ffff,IN
+2001:df7:300::,2001:df7:300:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:400::,2001:df7:400:ffff:ffff:ffff:ffff:ffff,HK
+2001:df7:500::,2001:df7:500:ffff:ffff:ffff:ffff:ffff,WS
2001:df7:600::,2001:df7:600:ffff:ffff:ffff:ffff:ffff,IN
+2001:df7:700::,2001:df7:700:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:800::,2001:df7:800:ffff:ffff:ffff:ffff:ffff,IN
+2001:df7:900::,2001:df7:900:ffff:ffff:ffff:ffff:ffff,NZ
2001:df7:a00::,2001:df7:a00:ffff:ffff:ffff:ffff:ffff,ID
+2001:df7:b00::,2001:df7:b00:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:c00::,2001:df7:c00:ffff:ffff:ffff:ffff:ffff,TW
+2001:df7:d00::,2001:df7:d00:ffff:ffff:ffff:ffff:ffff,AU
2001:df7:e00::,2001:df7:e00:ffff:ffff:ffff:ffff:ffff,NZ
+2001:df7:f00::,2001:df7:f00:ffff:ffff:ffff:ffff:ffff,AU
2001:df7:1000::,2001:df7:1000:ffff:ffff:ffff:ffff:ffff,IN
+2001:df7:1100::,2001:df7:1100:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:1200::,2001:df7:1200:ffff:ffff:ffff:ffff:ffff,AU
+2001:df7:1300::,2001:df7:1300:ffff:ffff:ffff:ffff:ffff,PH
2001:df7:1400::,2001:df7:1400:ffff:ffff:ffff:ffff:ffff,AU
+2001:df7:1500::,2001:df7:1500:ffff:ffff:ffff:ffff:ffff,VN
+2001:df7:1700::,2001:df7:1700:ffff:ffff:ffff:ffff:ffff,VN
+2001:df7:1900::,2001:df7:1900:ffff:ffff:ffff:ffff:ffff,IN
2001:df7:1a00::,2001:df7:1a00:ffff:ffff:ffff:ffff:ffff,ID
+2001:df7:1b00::,2001:df7:1b00:ffff:ffff:ffff:ffff:ffff,IN
2001:df7:1c00::,2001:df7:1c00:ffff:ffff:ffff:ffff:ffff,ID
+2001:df7:1d00::,2001:df7:1d00:ffff:ffff:ffff:ffff:ffff,NZ
+2001:df7:1f00::,2001:df7:1f00:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:2000::,2001:df7:2000:ffff:ffff:ffff:ffff:ffff,AU
+2001:df7:2100::,2001:df7:2100:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:2200::,2001:df7:2200:ffff:ffff:ffff:ffff:ffff,TH
+2001:df7:2300::,2001:df7:2301:ffff:ffff:ffff:ffff:ffff,BD
2001:df7:2400::,2001:df7:2400:ffff:ffff:ffff:ffff:ffff,AU
+2001:df7:2500::,2001:df7:2500:ffff:ffff:ffff:ffff:ffff,PK
2001:df7:2600::,2001:df7:2600:ffff:ffff:ffff:ffff:ffff,HK
+2001:df7:2700::,2001:df7:2700:ffff:ffff:ffff:ffff:ffff,TH
2001:df7:2800::,2001:df7:2800:ffff:ffff:ffff:ffff:ffff,AU
+2001:df7:2900::,2001:df7:2900:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:2a00::,2001:df7:2a00:ffff:ffff:ffff:ffff:ffff,AU
+2001:df7:2b00::,2001:df7:2b00:ffff:ffff:ffff:ffff:ffff,IN
2001:df7:2c00::,2001:df7:2c00:ffff:ffff:ffff:ffff:ffff,IN
+2001:df7:2d00::,2001:df7:2d00:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:2e00::,2001:df7:2e00:ffff:ffff:ffff:ffff:ffff,IN
+2001:df7:2f00::,2001:df7:2f00:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:3000::,2001:df7:3001:ffff:ffff:ffff:ffff:ffff,NZ
+2001:df7:3100::,2001:df7:3100:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:3200::,2001:df7:3200:ffff:ffff:ffff:ffff:ffff,AU
+2001:df7:3300::,2001:df7:3300:ffff:ffff:ffff:ffff:ffff,AU
2001:df7:3400::,2001:df7:3400:ffff:ffff:ffff:ffff:ffff,ID
+2001:df7:3500::,2001:df7:3500:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:3600::,2001:df7:3600:ffff:ffff:ffff:ffff:ffff,ID
+2001:df7:3700::,2001:df7:3700:ffff:ffff:ffff:ffff:ffff,HK
2001:df7:3800::,2001:df7:3800:ffff:ffff:ffff:ffff:ffff,AU
+2001:df7:3900::,2001:df7:3900:ffff:ffff:ffff:ffff:ffff,AU
+2001:df7:3b00::,2001:df7:3b00:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:3c00::,2001:df7:3c00:ffff:ffff:ffff:ffff:ffff,ID
+2001:df7:3d00::,2001:df7:3d00:ffff:ffff:ffff:ffff:ffff,HK
2001:df7:3e00::,2001:df7:3e00:ffff:ffff:ffff:ffff:ffff,AU
+2001:df7:3f00::,2001:df7:3f00:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:4000::,2001:df7:4000:ffff:ffff:ffff:ffff:ffff,SG
+2001:df7:4100::,2001:df7:4100:ffff:ffff:ffff:ffff:ffff,IN
2001:df7:4200::,2001:df7:4200:ffff:ffff:ffff:ffff:ffff,AU
+2001:df7:4300::,2001:df7:4300:ffff:ffff:ffff:ffff:ffff,BD
2001:df7:4400::,2001:df7:4400:ffff:ffff:ffff:ffff:ffff,IN
2001:df7:4600::,2001:df7:4600:ffff:ffff:ffff:ffff:ffff,IN
2001:df7:4800::,2001:df7:481f:ffff:ffff:ffff:ffff:ffff,JP
@@ -3904,8 +4125,7 @@
2001:df7:9e00::,2001:df7:9e00:ffff:ffff:ffff:ffff:ffff,SG
2001:df7:a000::,2001:df7:a000:ffff:ffff:ffff:ffff:ffff,AU
2001:df7:a200::,2001:df7:a200:ffff:ffff:ffff:ffff:ffff,ID
-2001:df7:a400::,2001:df7:a401:ffff:ffff:ffff:ffff:ffff,SG
-2001:df7:a600::,2001:df7:a600:ffff:ffff:ffff:ffff:ffff,ID
+2001:df7:a400::,2001:df7:a7ff:ffff:ffff:ffff:ffff:ffff,TH
2001:df7:a800::,2001:df7:a800:ffff:ffff:ffff:ffff:ffff,JP
2001:df7:aa00::,2001:df7:aa00:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:ac00::,2001:df7:ac00:ffff:ffff:ffff:ffff:ffff,AU
@@ -3933,7 +4153,6 @@
2001:df7:da00::,2001:df7:da00:ffff:ffff:ffff:ffff:ffff,ID
2001:df7:dc00::,2001:df7:dc00:ffff:ffff:ffff:ffff:ffff,TH
2001:df7:de00::,2001:df7:de03:ffff:ffff:ffff:ffff:ffff,IN
-2001:df7:e000::,2001:df7:e000:ffff:ffff:ffff:ffff:ffff,IN
2001:df7:e200::,2001:df7:e200:ffff:ffff:ffff:ffff:ffff,IN
2001:df7:e400::,2001:df7:e400:ffff:ffff:ffff:ffff:ffff,IN
2001:df7:e600::,2001:df7:e600:ffff:ffff:ffff:ffff:ffff,ID
@@ -4361,15 +4580,8 @@
2001:2005::,2001:2005:ffff:ffff:ffff:ffff:ffff:ffff,SE
2001:2010::,2001:2012:ffff:ffff:ffff:ffff:ffff:ffff,DK
2001:2020::,2001:2021:ffff:ffff:ffff:ffff:ffff:ffff,LT
-2001:2030::,2001:2030::1c:6129:fc61:4a70:fc90,SE
-2001:2030::1c:6129:fc61:4a70:fc91,2001:2030::1c:6129:fc61:4a70:fc91,US
-2001:2030::1c:6129:fc61:4a70:fc92,2001:2030::1d:b985:4aff:c872:8159,SE
-2001:2030::1d:b985:4aff:c872:815a,2001:2030::1d:b985:4aff:c872:815a,US
-2001:2030::1d:b985:4aff:c872:815b,2001:2030::3e:344c:f8ec:e9b9:2c26,SE
-2001:2030::3e:344c:f8ec:e9b9:2c27,2001:2030::3e:344c:f8ec:e9b9:2c27,US
-2001:2030::3e:344c:f8ec:e9b9:2c28,2001:2030::3f:4144:aaf7:902:29f9,SE
-2001:2030::3f:4144:aaf7:902:29fa,2001:2030::3f:4144:aaf7:902:29fa,US
-2001:2030::3f:4144:aaf7:902:29fb,2001:2030:ffff:ffff:ffff:ffff:ffff:ffff,SE
+2001:2030::,2001:2030::ffff:ffff:ffff:ffff:ffff,US
+2001:2030:1::,2001:2030:ffff:ffff:ffff:ffff:ffff:ffff,SE
2001:2031:0:5::,2001:2031::1b:ffff:ffff:ffff:ffff,CA
2001:2031:0:1d::,2001:2031::1d:ffff:ffff:ffff:ffff,CA
2001:2040::,2001:2040:ffff:ffff:ffff:ffff:ffff:ffff,SE
@@ -4638,6 +4850,12 @@
2001:43f8:11a0::,2001:43f8:11a1:ffff:ffff:ffff:ffff:ffff,SO
2001:43f8:11b0::,2001:43f8:11b0:ffff:ffff:ffff:ffff:ffff,ZA
2001:43f8:11c0::,2001:43f8:11c0:ffff:ffff:ffff:ffff:ffff,KE
+2001:43f8:11d0::,2001:43f8:11d0:ffff:ffff:ffff:ffff:ffff,SD
+2001:43f8:11e0::,2001:43f8:11e0:ffff:ffff:ffff:ffff:ffff,RW
+2001:43f8:11f0::,2001:43f8:11f1:ffff:ffff:ffff:ffff:ffff,NG
+2001:43f8:1200::,2001:43f8:120f:ffff:ffff:ffff:ffff:ffff,NG
+2001:43f8:1300::,2001:43f8:1300:ffff:ffff:ffff:ffff:ffff,ZA
+2001:43f8:1310::,2001:43f8:1310:ffff:ffff:ffff:ffff:ffff,NG
2001:4400::,2001:4403:ffff:ffff:ffff:ffff:ffff:ffff,NZ
2001:4408::,2001:4408:ffff:ffff:ffff:ffff:ffff:ffff,IN
2001:4410::,2001:4410:ffff:ffff:ffff:ffff:ffff:ffff,NZ
@@ -4823,14 +5041,13 @@
2001:4878:8249::,2001:4878:8249:ffff:ffff:ffff:ffff:ffff,FR
2001:4878:824a::,2001:4878:824f:ffff:ffff:ffff:ffff:ffff,US
2001:4878:8250::,2001:4878:8250:ffff:ffff:ffff:ffff:ffff,IT
-2001:4878:8251::,2001:4878:8304:ffff:ffff:ffff:ffff:ffff,US
-2001:4878:8305::,2001:4878:8305:ffff:ffff:ffff:ffff:ffff,IN
-2001:4878:8306::,2001:4878:8320:ffff:ffff:ffff:ffff:ffff,US
-2001:4878:8321::,2001:4878:8321:ffff:ffff:ffff:ffff:ffff,SG
+2001:4878:8251::,2001:4878:82ff:ffff:ffff:ffff:ffff:ffff,US
+2001:4878:8300::,2001:4878:831f:ffff:ffff:ffff:ffff:ffff,IN
+2001:4878:8320::,2001:4878:8321:ffff:ffff:ffff:ffff:ffff,SG
2001:4878:8322::,2001:4878:8322:ffff:ffff:ffff:ffff:ffff,JP
2001:4878:8323::,2001:4878:8323:ffff:ffff:ffff:ffff:ffff,AU
2001:4878:8324::,2001:4878:8324:ffff:ffff:ffff:ffff:ffff,KR
-2001:4878:8325::,2001:4878:833f:ffff:ffff:ffff:ffff:ffff,US
+2001:4878:8325::,2001:4878:833f:ffff:ffff:ffff:ffff:ffff,SG
2001:4878:8340::,2001:4878:8340:ffff:ffff:ffff:ffff:ffff,HK
2001:4878:8341::,2001:4878:8343:ffff:ffff:ffff:ffff:ffff,US
2001:4878:8344::,2001:4878:8344:ffff:ffff:ffff:ffff:ffff,IN
@@ -4839,41 +5056,35 @@
2001:4878:8349::,2001:4878:a128:ffff:ffff:ffff:ffff:ffff,US
2001:4878:a129::,2001:4878:a129:ffff:ffff:ffff:ffff:ffff,CR
2001:4878:a12a::,2001:4878:a1ff:ffff:ffff:ffff:ffff:ffff,US
-2001:4878:a200::,2001:4878:a203:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a200::,2001:4878:a203:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a204::,2001:4878:a204:ffff:ffff:ffff:ffff:ffff,DE
-2001:4878:a205::,2001:4878:a214:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a205::,2001:4878:a214:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a215::,2001:4878:a215:ffff:ffff:ffff:ffff:ffff,GB
-2001:4878:a216::,2001:4878:a21f:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a216::,2001:4878:a21f:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a220::,2001:4878:a220:ffff:ffff:ffff:ffff:ffff,SE
-2001:4878:a221::,2001:4878:a224:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a221::,2001:4878:a224:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a225::,2001:4878:a225:ffff:ffff:ffff:ffff:ffff,PL
-2001:4878:a226::,2001:4878:a227:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a226::,2001:4878:a227:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a228::,2001:4878:a228:ffff:ffff:ffff:ffff:ffff,IL
-2001:4878:a229::,2001:4878:a233:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a229::,2001:4878:a233:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a234::,2001:4878:a234:ffff:ffff:ffff:ffff:ffff,GB
-2001:4878:a235::,2001:4878:a241:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a235::,2001:4878:a241:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a242::,2001:4878:a242:ffff:ffff:ffff:ffff:ffff,NL
2001:4878:a243::,2001:4878:a243:ffff:ffff:ffff:ffff:ffff,PL
-2001:4878:a244::,2001:4878:a245:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a244::,2001:4878:a245:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a246::,2001:4878:a246:ffff:ffff:ffff:ffff:ffff,DK
-2001:4878:a247::,2001:4878:a248:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a247::,2001:4878:a248:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a249::,2001:4878:a249:ffff:ffff:ffff:ffff:ffff,FR
-2001:4878:a24a::,2001:4878:a24f:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a24a::,2001:4878:a24f:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a250::,2001:4878:a250:ffff:ffff:ffff:ffff:ffff,IT
-2001:4878:a251::,2001:4878:a304:ffff:ffff:ffff:ffff:ffff,JP
-2001:4878:a305::,2001:4878:a305:ffff:ffff:ffff:ffff:ffff,IN
-2001:4878:a306::,2001:4878:a320:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a251::,2001:4878:a320:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a321::,2001:4878:a321:ffff:ffff:ffff:ffff:ffff,SG
2001:4878:a322::,2001:4878:a322:ffff:ffff:ffff:ffff:ffff,JP
2001:4878:a323::,2001:4878:a323:ffff:ffff:ffff:ffff:ffff,AU
2001:4878:a324::,2001:4878:a324:ffff:ffff:ffff:ffff:ffff,KR
-2001:4878:a325::,2001:4878:a33f:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a325::,2001:4878:a33f:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a340::,2001:4878:a340:ffff:ffff:ffff:ffff:ffff,HK
-2001:4878:a341::,2001:4878:a343:ffff:ffff:ffff:ffff:ffff,JP
-2001:4878:a344::,2001:4878:a344:ffff:ffff:ffff:ffff:ffff,IN
-2001:4878:a345::,2001:4878:a347:ffff:ffff:ffff:ffff:ffff,JP
-2001:4878:a348::,2001:4878:a348:ffff:ffff:ffff:ffff:ffff,IN
-2001:4878:a349::,2001:4878:a3ff:ffff:ffff:ffff:ffff:ffff,JP
+2001:4878:a341::,2001:4878:a3ff:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:a400::,2001:4878:c061:ffff:ffff:ffff:ffff:ffff,US
2001:4878:c062::,2001:4878:c063:ffff:ffff:ffff:ffff:ffff,IN
2001:4878:c064::,2001:4878:c128:ffff:ffff:ffff:ffff:ffff,US
@@ -5031,7 +5242,6 @@
2001:4c08::,2001:4c08:ffff:ffff:ffff:ffff:ffff:ffff,GB
2001:4c10::,2001:4c10:ffff:ffff:ffff:ffff:ffff:ffff,NL
2001:4c20::,2001:4c20:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2001:4c28::,2001:4c28:3ff:ffff:ffff:ffff:ffff:ffff,US
2001:4c28:3000:632:107:167:111:92,2001:4c28:3000:632:107:167:111:92,IN
2001:4c30::,2001:4c30:ffff:ffff:ffff:ffff:ffff:ffff,PL
2001:4c38::,2001:4c3f:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -5089,7 +5299,7 @@
2001:4de0:500::,2001:4de0:5ff:ffff:ffff:ffff:ffff:ffff,SE
2001:4de0:600::,2001:4de0:ffff:ffff:ffff:ffff:ffff:ffff,NL
2001:4de8::,2001:4de8:ffff:ffff:ffff:ffff:ffff:ffff,CZ
-2001:4df0::,2001:4df0:ffff:ffff:ffff:ffff:ffff:ffff,IL
+2001:4df0::,2001:4df7:ffff:ffff:ffff:ffff:ffff:ffff,IL
2001:5000::,2001:5000::ffff:ffff:ffff:ffff:ffff,DE
2001:5000:1::,2001:5000:ffff:ffff:ffff:ffff:ffff:ffff,GB
2001:5001::,2001:5001:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -5104,13 +5314,18 @@
2001:500a::,2001:500a:ffff:ffff:ffff:ffff:ffff:ffff,JP
2001:500b::,2001:500b:ffff:ffff:ffff:ffff:ffff:ffff,HK
2001:500c::,2001:500c:ffff:ffff:ffff:ffff:ffff:ffff,SG
+2001:500d::,2001:500f:ffff:ffff:ffff:ffff:ffff:ffff,GB
2001:5010::,2001:5010:ffff:ffff:ffff:ffff:ffff:ffff,RU
2001:5011::,2001:5011:ffff:ffff:ffff:ffff:ffff:ffff,ES
2001:5012::,2001:5012:ffff:ffff:ffff:ffff:ffff:ffff,SE
2001:5013::,2001:5013:ffff:ffff:ffff:ffff:ffff:ffff,CH
2001:5014::,2001:5014:ffff:ffff:ffff:ffff:ffff:ffff,US
-2001:5100::,2001:5100:3ff:ffff:ffff:ffff:ffff:ffff,GB
-2001:8000::,2001:8fff:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2001:5015::,2001:57ff:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2001:8000::,2001:8003:6028:7fff:ffff:ffff:ffff:ffff,AU
+2001:8003:6028:8000::,2001:8003:6028:cfff:ffff:ffff:ffff:ffff,SG
+2001:8003:6028:d000::,2001:8003:6028:dfff:ffff:ffff:ffff:ffff,AU
+2001:8003:6028:e000::,2001:8003:6028:ffff:ffff:ffff:ffff:ffff,SG
+2001:8003:6029::,2001:8fff:ffff:ffff:ffff:ffff:ffff:ffff,AU
2001:a000::,2001:a7ff:ffff:ffff:ffff:ffff:ffff:ffff,JP
2001:b000::,2001:b7ff:ffff:ffff:ffff:ffff:ffff:ffff,TW
2003::,2003:1fff:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -5217,7 +5432,6 @@
2400:39c0::,2400:39c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2400:3a00::,2400:3a00:ffff:ffff:ffff:ffff:ffff:ffff,CN
2400:3a40::,2400:3a40:ffff:ffff:ffff:ffff:ffff:ffff,CN
-2400:3a80::,2400:3a80:ffff:ffff:ffff:ffff:ffff:ffff,IN
2400:3ac0::,2400:3ac0:ffff:ffff:ffff:ffff:ffff:ffff,IN
2400:3b00::,2400:3b00:ffff:ffff:ffff:ffff:ffff:ffff,IN
2400:3b40::,2400:3b40:ffff:ffff:ffff:ffff:ffff:ffff,CN
@@ -5594,7 +5808,6 @@
2400:9840::,2400:9840:ffff:ffff:ffff:ffff:ffff:ffff,BD
2400:9880::,2400:9880:ffff:ffff:ffff:ffff:ffff:ffff,AU
2400:98c0::,2400:98c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
-2400:9900::,2400:9900:ffff:ffff:ffff:ffff:ffff:ffff,NP
2400:9940::,2400:9940:ffff:ffff:ffff:ffff:ffff:ffff,BD
2400:9980::,2400:9980:ffff:ffff:ffff:ffff:ffff:ffff,IN
2400:99c0::,2400:99c0:ffff:ffff:ffff:ffff:ffff:ffff,AU
@@ -5912,15 +6125,26 @@
2400:cb00:151::,2400:cb00:151:ffff:ffff:ffff:ffff:ffff,LV
2400:cb00:152::,2400:cb00:152:ffff:ffff:ffff:ffff:ffff,EE
2400:cb00:153::,2400:cb00:153:ffff:ffff:ffff:ffff:ffff,CA
-2400:cb00:154::,2400:cb00:160:ffff:ffff:ffff:ffff:ffff,US
+2400:cb00:154::,2400:cb00:157:ffff:ffff:ffff:ffff:ffff,US
+2400:cb00:158::,2400:cb00:158:ffff:ffff:ffff:ffff:ffff,RU
+2400:cb00:159::,2400:cb00:160:ffff:ffff:ffff:ffff:ffff,US
2400:cb00:161::,2400:cb00:161:ffff:ffff:ffff:ffff:ffff,CO
2400:cb00:162::,2400:cb00:165:ffff:ffff:ffff:ffff:ffff,US
2400:cb00:166::,2400:cb00:166:ffff:ffff:ffff:ffff:ffff,MD
2400:cb00:167::,2400:cb00:168:ffff:ffff:ffff:ffff:ffff,CA
2400:cb00:169::,2400:cb00:169:ffff:ffff:ffff:ffff:ffff,LU
-2400:cb00:16a::,2400:cb00:172:ffff:ffff:ffff:ffff:ffff,US
+2400:cb00:16a::,2400:cb00:16f:ffff:ffff:ffff:ffff:ffff,US
+2400:cb00:170::,2400:cb00:170:ffff:ffff:ffff:ffff:ffff,BH
+2400:cb00:171::,2400:cb00:172:ffff:ffff:ffff:ffff:ffff,US
2400:cb00:173::,2400:cb00:173:ffff:ffff:ffff:ffff:ffff,MN
-2400:cb00:174::,2400:cb00:ffff:ffff:ffff:ffff:ffff:ffff,US
+2400:cb00:174::,2400:cb00:174:ffff:ffff:ffff:ffff:ffff,NG
+2400:cb00:175::,2400:cb00:175:ffff:ffff:ffff:ffff:ffff,TH
+2400:cb00:176::,2400:cb00:177:ffff:ffff:ffff:ffff:ffff,VN
+2400:cb00:178::,2400:cb00:178:ffff:ffff:ffff:ffff:ffff,FR
+2400:cb00:179::,2400:cb00:179:ffff:ffff:ffff:ffff:ffff,PK
+2400:cb00:17a::,2400:cb00:181:ffff:ffff:ffff:ffff:ffff,US
+2400:cb00:182::,2400:cb00:182:ffff:ffff:ffff:ffff:ffff,MA
+2400:cb00:183::,2400:cb00:ffff:ffff:ffff:ffff:ffff:ffff,US
2400:cb40::,2400:cb40:ffff:ffff:ffff:ffff:ffff:ffff,CN
2400:cb80::,2400:cb80:ffff:ffff:ffff:ffff:ffff:ffff,CN
2400:cbc0::,2400:cbc0:ffff:ffff:ffff:ffff:ffff:ffff,CN
@@ -6224,6 +6448,7 @@
2401:1a80::,2401:1a80:ffff:ffff:ffff:ffff:ffff:ffff,TH
2401:1ac0::,2401:1ac0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2401:1b00::,2401:1b00:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2401:1b40::,2401:1b40:ffff:ffff:ffff:ffff:ffff:ffff,BD
2401:1b80::,2401:1b80:ffff:ffff:ffff:ffff:ffff:ffff,AU
2401:1bc0::,2401:1bc0:ffff:ffff:ffff:ffff:ffff:ffff,PK
2401:1c00::,2401:1c00:ffff:ffff:ffff:ffff:ffff:ffff,AU
@@ -6420,7 +6645,6 @@
2401:4dc0::,2401:4dc0:ffff:ffff:ffff:ffff:ffff:ffff,HK
2401:4e00::,2401:4e00:ffff:ffff:ffff:ffff:ffff:ffff,ID
2401:4e40::,2401:4e40:ffff:ffff:ffff:ffff:ffff:ffff,MP
-2401:4e80::,2401:4e80:ffff:ffff:ffff:ffff:ffff:ffff,HK
2401:4ec0::,2401:4ec0:ffff:ffff:ffff:ffff:ffff:ffff,AU
2401:4f00::,2401:4f00:ffff:ffff:ffff:ffff:ffff:ffff,TH
2401:4f40::,2401:4f40:ffff:ffff:ffff:ffff:ffff:ffff,IN
@@ -6734,7 +6958,6 @@
2401:b100::,2401:b100:ffff:ffff:ffff:ffff:ffff:ffff,IN
2401:b140::,2401:b140:ffff:ffff:ffff:ffff:ffff:ffff,JP
2401:b180::,2401:b180:ffff:ffff:ffff:ffff:ffff:ffff,CN
-2401:b1c0::,2401:b1c0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2401:b200::,2401:b200:ffff:ffff:ffff:ffff:ffff:ffff,IN
2401:b240::,2401:b240:ffff:ffff:ffff:ffff:ffff:ffff,IN
2401:b2c0::,2401:b2c0:ffff:ffff:ffff:ffff:ffff:ffff,AU
@@ -6853,7 +7076,6 @@
2401:cd80:6::,2401:cd81:ffff:ffff:ffff:ffff:ffff:ffff,AU
2401:cdc0::,2401:cdc0:ffff:ffff:ffff:ffff:ffff:ffff,HK
2401:ce00::,2401:ce00:ffff:ffff:ffff:ffff:ffff:ffff,CN
-2401:ce40::,2401:ce40:ffff:ffff:ffff:ffff:ffff:ffff,HK
2401:ce80::,2401:ce80:ffff:ffff:ffff:ffff:ffff:ffff,JP
2401:cec0::,2401:cec0:ffff:ffff:ffff:ffff:ffff:ffff,HK
2401:cf00::,2401:cf00:ffff:ffff:ffff:ffff:ffff:ffff,AU
@@ -7011,7 +7233,6 @@
2401:f300::,2401:f300:ffff:ffff:ffff:ffff:ffff:ffff,CN
2401:f340::,2401:f340:ffff:ffff:ffff:ffff:ffff:ffff,AU
2401:f380::,2401:f380:ffff:ffff:ffff:ffff:ffff:ffff,HK
-2401:f3c0::,2401:f3c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2401:f400::,2401:f400:ffff:ffff:ffff:ffff:ffff:ffff,HK
2401:f440::,2401:f440:ffff:ffff:ffff:ffff:ffff:ffff,AU
2401:f480::,2401:f480:ffff:ffff:ffff:ffff:ffff:ffff,IN
@@ -7033,7 +7254,11 @@
2401:f900::,2401:f900:ffff:ffff:ffff:ffff:ffff:ffff,SG
2401:f940::,2401:f940:ffff:ffff:ffff:ffff:ffff:ffff,HK
2401:f980::,2401:f980:ffff:ffff:ffff:ffff:ffff:ffff,ID
-2401:f9c0::,2401:f9c0:aa9f:ffff:ffff:ffff:ffff:ffff,US
+2401:f9c0::,2401:f9c0:a00f:ffff:ffff:ffff:ffff:ffff,US
+2401:f9c0:a010::,2401:f9c0:a010:ffff:ffff:ffff:ffff:ffff,CN
+2401:f9c0:a011::,2401:f9c0:a011:ffff:ffff:ffff:ffff:ffff,AU
+2401:f9c0:a012::,2401:f9c0:a012:ffff:ffff:ffff:ffff:ffff,HK
+2401:f9c0:a013::,2401:f9c0:aa9f:ffff:ffff:ffff:ffff:ffff,US
2401:f9c0:aaa0::,2401:f9c0:aaa0:ffff:ffff:ffff:ffff:ffff,CA
2401:f9c0:aaa1::,2401:f9c0:cdcc:ffff:ffff:ffff:ffff:ffff,US
2401:f9c0:cdcd::,2401:f9c0:cdcd:ffff:ffff:ffff:ffff:ffff,CN
@@ -7045,58 +7270,263 @@
2401:f9c0:fba0::,2401:f9c0:fba3:ffff:ffff:ffff:ffff:ffff,CN
2401:f9c0:fba4::,2401:f9c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2401:fa00::,2401:fa00::ffff:ffff:ffff:ffff:ffff,AU
-2401:fa00:1::,2401:fa00:1:ffff:ffff:ffff:ffff:ffff,TW
-2401:fa00:2::,2401:fa00:2:ffff:ffff:ffff:ffff:ffff,US
+2401:fa00:1::,2401:fa00:2:ffff:ffff:ffff:ffff:ffff,TW
2401:fa00:3::,2401:fa00:3:ffff:ffff:ffff:ffff:ffff,SG
-2401:fa00:4::,2401:fa00:5:ffff:ffff:ffff:ffff:ffff,JP
-2401:fa00:6::,2401:fa00:6:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:4::,2401:fa00:4:ffff:ffff:ffff:ffff:ffff,JP
+2401:fa00:5::,2401:fa00:6:ffff:ffff:ffff:ffff:ffff,IN
2401:fa00:7::,2401:fa00:7:ffff:ffff:ffff:ffff:ffff,PH
-2401:fa00:8::,2401:fa00:8:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:8::,2401:fa00:8:ffff:ffff:ffff:ffff:ffff,MY
2401:fa00:9::,2401:fa00:9:ffff:ffff:ffff:ffff:ffff,AU
2401:fa00:a::,2401:fa00:c:ffff:ffff:ffff:ffff:ffff,IN
2401:fa00:d::,2401:fa00:d:ffff:ffff:ffff:ffff:ffff,KR
-2401:fa00:e::,2401:fa00:11:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:e::,2401:fa00:f:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:10::,2401:fa00:10:ffff:ffff:ffff:ffff:ffff,JP
+2401:fa00:11::,2401:fa00:11:ffff:ffff:ffff:ffff:ffff,AU
2401:fa00:12::,2401:fa00:12:ffff:ffff:ffff:ffff:ffff,NZ
2401:fa00:13::,2401:fa00:13:ffff:ffff:ffff:ffff:ffff,HK
2401:fa00:14::,2401:fa00:17:ffff:ffff:ffff:ffff:ffff,KR
2401:fa00:18::,2401:fa00:18:ffff:ffff:ffff:ffff:ffff,PH
2401:fa00:19::,2401:fa00:19:ffff:ffff:ffff:ffff:ffff,TH
-2401:fa00:1a::,2401:fa00:1b:ffff:ffff:ffff:ffff:ffff,PH
+2401:fa00:1a::,2401:fa00:1b:ffff:ffff:ffff:ffff:ffff,IN
2401:fa00:1c::,2401:fa00:1c:ffff:ffff:ffff:ffff:ffff,KR
-2401:fa00:1d::,2401:fa00:23:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:1d::,2401:fa00:1d:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:1e::,2401:fa00:1f:ffff:ffff:ffff:ffff:ffff,JP
+2401:fa00:20::,2401:fa00:20:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:21::,2401:fa00:21:ffff:ffff:ffff:ffff:ffff,TW
+2401:fa00:22::,2401:fa00:22:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:23::,2401:fa00:23:ffff:ffff:ffff:ffff:ffff,TW
2401:fa00:24::,2401:fa00:24:ffff:ffff:ffff:ffff:ffff,MY
2401:fa00:25::,2401:fa00:25:ffff:ffff:ffff:ffff:ffff,IN
2401:fa00:26::,2401:fa00:27:ffff:ffff:ffff:ffff:ffff,PH
2401:fa00:28::,2401:fa00:2b:ffff:ffff:ffff:ffff:ffff,IN
2401:fa00:2c::,2401:fa00:2f:ffff:ffff:ffff:ffff:ffff,SG
-2401:fa00:30::,2401:fa00:35:ffff:ffff:ffff:ffff:ffff,PH
+2401:fa00:30::,2401:fa00:32:ffff:ffff:ffff:ffff:ffff,US
+2401:fa00:33::,2401:fa00:33:ffff:ffff:ffff:ffff:ffff,PH
+2401:fa00:34::,2401:fa00:35:ffff:ffff:ffff:ffff:ffff,US
2401:fa00:36::,2401:fa00:36:ffff:ffff:ffff:ffff:ffff,SG
-2401:fa00:37::,2401:fa00:3f:ffff:ffff:ffff:ffff:ffff,PH
+2401:fa00:37::,2401:fa00:3a:ffff:ffff:ffff:ffff:ffff,US
+2401:fa00:3b::,2401:fa00:3b:ffff:ffff:ffff:ffff:ffff,TW
+2401:fa00:3c::,2401:fa00:3f:ffff:ffff:ffff:ffff:ffff,US
2401:fa00:40::,2401:fa00:5f:ffff:ffff:ffff:ffff:ffff,CN
-2401:fa00:60::,2401:fa00:60:ffff:ffff:ffff:ffff:ffff,US
-2401:fa00:61::,2401:fa00:61:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:60::,2401:fa00:61:ffff:ffff:ffff:ffff:ffff,IN
2401:fa00:62::,2401:fa00:63:ffff:ffff:ffff:ffff:ffff,PH
2401:fa00:64::,2401:fa00:66:ffff:ffff:ffff:ffff:ffff,IN
2401:fa00:67::,2401:fa00:67:ffff:ffff:ffff:ffff:ffff,PH
2401:fa00:68::,2401:fa00:ef:ffff:ffff:ffff:ffff:ffff,IN
-2401:fa00:f0::,2401:fa00:f0:ffff:ffff:ffff:ffff:ffff,TW
-2401:fa00:f1::,2401:fa00:f7:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:f0::,2401:fa00:f1:ffff:ffff:ffff:ffff:ffff,TW
+2401:fa00:f2::,2401:fa00:f2:ffff:ffff:ffff:ffff:ffff,MY
+2401:fa00:f3::,2401:fa00:f7:ffff:ffff:ffff:ffff:ffff,US
2401:fa00:f8::,2401:fa00:fb:ffff:ffff:ffff:ffff:ffff,PH
2401:fa00:fc::,2401:fa00:fe:ffff:ffff:ffff:ffff:ffff,TW
2401:fa00:ff::,2401:fa00:ff:ffff:ffff:ffff:ffff:ffff,AU
-2401:fa00:100::,2401:fa00:400:dbff:ffff:ffff:ffff:ffff,IN
-2401:fa00:400:dc00::,2401:fa00:400:ddff:ffff:ffff:ffff:ffff,TW
-2401:fa00:400:de00::,2401:fa00:400:e1ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:100::,2401:fa00:3ff:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400::,2401:fa00:400:2fff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:3000::,2401:fa00:400:3fff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:4000::,2401:fa00:400:41ff:ffff:ffff:ffff:ffff,AU
+2401:fa00:400:4200::,2401:fa00:400:45ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:4600::,2401:fa00:400:47ff:ffff:ffff:ffff:ffff,CA
+2401:fa00:400:4800::,2401:fa00:400:49ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:4a00::,2401:fa00:400:4bff:ffff:ffff:ffff:ffff,KR
+2401:fa00:400:4c00::,2401:fa00:400:4dff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:4e00::,2401:fa00:400:4fff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:5000::,2401:fa00:400:51ff:ffff:ffff:ffff:ffff,BR
+2401:fa00:400:5200::,2401:fa00:400:55ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:5600::,2401:fa00:400:57ff:ffff:ffff:ffff:ffff,TH
+2401:fa00:400:5800::,2401:fa00:400:59ff:ffff:ffff:ffff:ffff,NL
+2401:fa00:400:5a00::,2401:fa00:400:5bff:ffff:ffff:ffff:ffff,TR
+2401:fa00:400:5c00::,2401:fa00:400:5dff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:5e00::,2401:fa00:400:5fff:ffff:ffff:ffff:ffff,KE
+2401:fa00:400:6000::,2401:fa00:400:61ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:6200::,2401:fa00:400:63ff:ffff:ffff:ffff:ffff,MY
+2401:fa00:400:6400::,2401:fa00:400:65ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:6600::,2401:fa00:400:67ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:6800::,2401:fa00:400:69ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:6a00::,2401:fa00:400:6bff:ffff:ffff:ffff:ffff,IT
+2401:fa00:400:6c00::,2401:fa00:400:6dff:ffff:ffff:ffff:ffff,BR
+2401:fa00:400:6e00::,2401:fa00:400:6fff:ffff:ffff:ffff:ffff,BE
+2401:fa00:400:7000::,2401:fa00:400:71ff:ffff:ffff:ffff:ffff,DE
+2401:fa00:400:7200::,2401:fa00:400:73ff:ffff:ffff:ffff:ffff,RU
+2401:fa00:400:7400::,2401:fa00:400:75ff:ffff:ffff:ffff:ffff,AR
+2401:fa00:400:7600::,2401:fa00:400:77ff:ffff:ffff:ffff:ffff,ES
+2401:fa00:400:7800::,2401:fa00:400:79ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:7a00::,2401:fa00:400:7bff:ffff:ffff:ffff:ffff,DK
+2401:fa00:400:7c00::,2401:fa00:400:7dff:ffff:ffff:ffff:ffff,FR
+2401:fa00:400:7e00::,2401:fa00:400:7fff:ffff:ffff:ffff:ffff,SE
+2401:fa00:400:8000::,2401:fa00:400:81ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:8200::,2401:fa00:400:85ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:8600::,2401:fa00:400:87ff:ffff:ffff:ffff:ffff,CA
+2401:fa00:400:8800::,2401:fa00:400:89ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:8a00::,2401:fa00:400:8bff:ffff:ffff:ffff:ffff,GB
+2401:fa00:400:8c00::,2401:fa00:400:8dff:ffff:ffff:ffff:ffff,CA
+2401:fa00:400:8e00::,2401:fa00:400:8fff:ffff:ffff:ffff:ffff,GB
+2401:fa00:400:9000::,2401:fa00:400:91ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:9200::,2401:fa00:400:93ff:ffff:ffff:ffff:ffff,GB
+2401:fa00:400:9400::,2401:fa00:400:95ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:9600::,2401:fa00:400:9bff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:9c00::,2401:fa00:400:a3ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:a400::,2401:fa00:400:a5ff:ffff:ffff:ffff:ffff,PL
+2401:fa00:400:a600::,2401:fa00:400:a7ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:a800::,2401:fa00:400:a9ff:ffff:ffff:ffff:ffff,DE
+2401:fa00:400:aa00::,2401:fa00:400:abff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:ac00::,2401:fa00:400:adff:ffff:ffff:ffff:ffff,HK
+2401:fa00:400:ae00::,2401:fa00:400:afff:ffff:ffff:ffff:ffff,TW
+2401:fa00:400:b000::,2401:fa00:400:b1ff:ffff:ffff:ffff:ffff,JP
+2401:fa00:400:b200::,2401:fa00:400:b3ff:ffff:ffff:ffff:ffff,CO
+2401:fa00:400:b400::,2401:fa00:400:b5ff:ffff:ffff:ffff:ffff,JP
+2401:fa00:400:b600::,2401:fa00:400:b7ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:b800::,2401:fa00:400:b9ff:ffff:ffff:ffff:ffff,NG
+2401:fa00:400:ba00::,2401:fa00:400:c3ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:c400::,2401:fa00:400:c5ff:ffff:ffff:ffff:ffff,IE
+2401:fa00:400:c600::,2401:fa00:400:c7ff:ffff:ffff:ffff:ffff,CH
+2401:fa00:400:c800::,2401:fa00:400:cbff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:cc00::,2401:fa00:400:cdff:ffff:ffff:ffff:ffff,GB
+2401:fa00:400:ce00::,2401:fa00:400:d1ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:d200::,2401:fa00:400:d3ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:d400::,2401:fa00:400:d5ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:d600::,2401:fa00:400:d7ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:d800::,2401:fa00:400:d9ff:ffff:ffff:ffff:ffff,NL
+2401:fa00:400:da00::,2401:fa00:400:dbff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:dc00::,2401:fa00:400:dfff:ffff:ffff:ffff:ffff,TW
+2401:fa00:400:e000::,2401:fa00:400:e1ff:ffff:ffff:ffff:ffff,US
2401:fa00:400:e200::,2401:fa00:400:e3ff:ffff:ffff:ffff:ffff,TW
-2401:fa00:400:e400::,2401:fa00:400:f1ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:e400::,2401:fa00:400:e7ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:e800::,2401:fa00:400:e9ff:ffff:ffff:ffff:ffff,IE
+2401:fa00:400:ea00::,2401:fa00:400:ebff:ffff:ffff:ffff:ffff,PL
+2401:fa00:400:ec00::,2401:fa00:400:edff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:ee00::,2401:fa00:400:efff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:f000::,2401:fa00:400:f1ff:ffff:ffff:ffff:ffff,IT
2401:fa00:400:f200::,2401:fa00:400:f3ff:ffff:ffff:ffff:ffff,TW
-2401:fa00:400:f400::,2401:fa00:480:8fff:ffff:ffff:ffff:ffff,IN
-2401:fa00:480:9000::,2401:fa00:480:91ff:ffff:ffff:ffff:ffff,TW
-2401:fa00:480:9200::,2401:fa00:480:93ff:ffff:ffff:ffff:ffff,IN
-2401:fa00:480:9400::,2401:fa00:480:95ff:ffff:ffff:ffff:ffff,TW
-2401:fa00:480:9600::,2401:fa00:480:bfff:ffff:ffff:ffff:ffff,IN
+2401:fa00:400:f400::,2401:fa00:400:f5ff:ffff:ffff:ffff:ffff,IL
+2401:fa00:400:f600::,2401:fa00:400:f7ff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:f800::,2401:fa00:400:f9ff:ffff:ffff:ffff:ffff,AU
+2401:fa00:400:fa00::,2401:fa00:400:fbff:ffff:ffff:ffff:ffff,US
+2401:fa00:400:fc00::,2401:fa00:400:fdff:ffff:ffff:ffff:ffff,MY
+2401:fa00:400:fe00::,2401:fa00:400:ffff:ffff:ffff:ffff:ffff,US
+2401:fa00:401::,2401:fa00:401:1ff:ffff:ffff:ffff:ffff,CH
+2401:fa00:401:200::,2401:fa00:401:3ff:ffff:ffff:ffff:ffff,TW
+2401:fa00:401:400::,2401:fa00:401:7ff:ffff:ffff:ffff:ffff,US
+2401:fa00:401:800::,2401:fa00:401:9ff:ffff:ffff:ffff:ffff,PT
+2401:fa00:401:a00::,2401:fa00:401:bff:ffff:ffff:ffff:ffff,IN
+2401:fa00:401:c00::,2401:fa00:401:dff:ffff:ffff:ffff:ffff,US
+2401:fa00:401:e00::,2401:fa00:401:fff:ffff:ffff:ffff:ffff,IN
+2401:fa00:401:1000::,2401:fa00:401:11ff:ffff:ffff:ffff:ffff,PL
+2401:fa00:401:1200::,2401:fa00:401:13ff:ffff:ffff:ffff:ffff,IE
+2401:fa00:401:1400::,2401:fa00:401:15ff:ffff:ffff:ffff:ffff,US
+2401:fa00:401:1600::,2401:fa00:403:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:404::,2401:fa00:404:1ff:ffff:ffff:ffff:ffff,IL
+2401:fa00:404:200::,2401:fa00:404:5ff:ffff:ffff:ffff:ffff,AU
+2401:fa00:404:600::,2401:fa00:407:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:408::,2401:fa00:408:1ff:ffff:ffff:ffff:ffff,GB
+2401:fa00:408:200::,2401:fa00:41f:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:420::,2401:fa00:420:1ff:ffff:ffff:ffff:ffff,DE
+2401:fa00:420:200::,2401:fa00:420:3ff:ffff:ffff:ffff:ffff,AE
+2401:fa00:420:400::,2401:fa00:420:5ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:420:600::,2401:fa00:420:7ff:ffff:ffff:ffff:ffff,GB
+2401:fa00:420:800::,2401:fa00:420:fff:ffff:ffff:ffff:ffff,IN
+2401:fa00:420:1000::,2401:fa00:420:11ff:ffff:ffff:ffff:ffff,GR
+2401:fa00:420:1200::,2401:fa00:420:13ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:420:1400::,2401:fa00:420:15ff:ffff:ffff:ffff:ffff,US
+2401:fa00:420:1600::,2401:fa00:47f:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480::,2401:fa00:480:9ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:a00::,2401:fa00:480:dff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:e00::,2401:fa00:480:fff:ffff:ffff:ffff:ffff,TW
+2401:fa00:480:1000::,2401:fa00:480:11ff:ffff:ffff:ffff:ffff,JP
+2401:fa00:480:1200::,2401:fa00:480:13ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:1400::,2401:fa00:480:14ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:1500::,2401:fa00:480:15ff:ffff:ffff:ffff:ffff,BE
+2401:fa00:480:1600::,2401:fa00:480:1dff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:1e00::,2401:fa00:480:1fff:ffff:ffff:ffff:ffff,JP
+2401:fa00:480:2000::,2401:fa00:480:25ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:2600::,2401:fa00:480:27ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:2800::,2401:fa00:480:29ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:2a00::,2401:fa00:480:2fff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:3000::,2401:fa00:480:31ff:ffff:ffff:ffff:ffff,HK
+2401:fa00:480:3200::,2401:fa00:480:37ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:3800::,2401:fa00:480:39ff:ffff:ffff:ffff:ffff,BR
+2401:fa00:480:3a00::,2401:fa00:480:3bff:ffff:ffff:ffff:ffff,BE
+2401:fa00:480:3c00::,2401:fa00:480:3dff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:3e00::,2401:fa00:480:3fff:ffff:ffff:ffff:ffff,AU
+2401:fa00:480:4000::,2401:fa00:480:41ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:4200::,2401:fa00:480:43ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:4400::,2401:fa00:480:45ff:ffff:ffff:ffff:ffff,GB
+2401:fa00:480:4600::,2401:fa00:480:47ff:ffff:ffff:ffff:ffff,CH
+2401:fa00:480:4800::,2401:fa00:480:49ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:4a00::,2401:fa00:480:4bff:ffff:ffff:ffff:ffff,GB
+2401:fa00:480:4c00::,2401:fa00:480:4dff:ffff:ffff:ffff:ffff,SE
+2401:fa00:480:4e00::,2401:fa00:480:4fff:ffff:ffff:ffff:ffff,AU
+2401:fa00:480:5000::,2401:fa00:480:51ff:ffff:ffff:ffff:ffff,FR
+2401:fa00:480:5200::,2401:fa00:480:53ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:5400::,2401:fa00:480:55ff:ffff:ffff:ffff:ffff,DE
+2401:fa00:480:5600::,2401:fa00:480:57ff:ffff:ffff:ffff:ffff,IE
+2401:fa00:480:5800::,2401:fa00:480:5bff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:5c00::,2401:fa00:480:5dff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:5e00::,2401:fa00:480:5fff:ffff:ffff:ffff:ffff,GB
+2401:fa00:480:6000::,2401:fa00:480:63ff:ffff:ffff:ffff:ffff,CA
+2401:fa00:480:6400::,2401:fa00:480:6bff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:6c00::,2401:fa00:480:6fff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:7000::,2401:fa00:480:71ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:7200::,2401:fa00:480:73ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:7400::,2401:fa00:480:75ff:ffff:ffff:ffff:ffff,NZ
+2401:fa00:480:7600::,2401:fa00:480:77ff:ffff:ffff:ffff:ffff,CN
+2401:fa00:480:7800::,2401:fa00:480:7dff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:7e00::,2401:fa00:480:7fff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:8000::,2401:fa00:480:81ff:ffff:ffff:ffff:ffff,DK
+2401:fa00:480:8200::,2401:fa00:480:87ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:8800::,2401:fa00:480:89ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:8a00::,2401:fa00:480:8dff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:8e00::,2401:fa00:480:8fff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:9000::,2401:fa00:480:95ff:ffff:ffff:ffff:ffff,TW
+2401:fa00:480:9600::,2401:fa00:480:97ff:ffff:ffff:ffff:ffff,KR
+2401:fa00:480:9800::,2401:fa00:480:99ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:9a00::,2401:fa00:480:9bff:ffff:ffff:ffff:ffff,TW
+2401:fa00:480:9c00::,2401:fa00:480:9fff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:a000::,2401:fa00:480:a1ff:ffff:ffff:ffff:ffff,GB
+2401:fa00:480:a200::,2401:fa00:480:a3ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:a400::,2401:fa00:480:a5ff:ffff:ffff:ffff:ffff,ES
+2401:fa00:480:a600::,2401:fa00:480:a7ff:ffff:ffff:ffff:ffff,CA
+2401:fa00:480:a800::,2401:fa00:480:a9ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:aa00::,2401:fa00:480:abff:ffff:ffff:ffff:ffff,IE
+2401:fa00:480:ac00::,2401:fa00:480:adff:ffff:ffff:ffff:ffff,AU
+2401:fa00:480:ae00::,2401:fa00:480:afff:ffff:ffff:ffff:ffff,CH
+2401:fa00:480:b000::,2401:fa00:480:b1ff:ffff:ffff:ffff:ffff,TW
+2401:fa00:480:b200::,2401:fa00:480:b3ff:ffff:ffff:ffff:ffff,PL
+2401:fa00:480:b400::,2401:fa00:480:b5ff:ffff:ffff:ffff:ffff,BR
+2401:fa00:480:b600::,2401:fa00:480:b7ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:b800::,2401:fa00:480:b9ff:ffff:ffff:ffff:ffff,GB
+2401:fa00:480:ba00::,2401:fa00:480:bbff:ffff:ffff:ffff:ffff,PL
+2401:fa00:480:bc00::,2401:fa00:480:bdff:ffff:ffff:ffff:ffff,DE
+2401:fa00:480:be00::,2401:fa00:480:bfff:ffff:ffff:ffff:ffff,US
2401:fa00:480:c000::,2401:fa00:480:c1ff:ffff:ffff:ffff:ffff,TW
-2401:fa00:480:c200::,2401:fa00:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:c200::,2401:fa00:480:c3ff:ffff:ffff:ffff:ffff,AU
+2401:fa00:480:c400::,2401:fa00:480:c5ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:c600::,2401:fa00:480:c7ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:c800::,2401:fa00:480:cbff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:cc00::,2401:fa00:480:cdff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:ce00::,2401:fa00:480:cfff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:d000::,2401:fa00:480:d1ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:d200::,2401:fa00:480:d3ff:ffff:ffff:ffff:ffff,US
+2401:fa00:480:d400::,2401:fa00:480:d5ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:480:d600::,2401:fa00:480:d7ff:ffff:ffff:ffff:ffff,MY
+2401:fa00:480:d800::,2401:fa00:480:d9ff:ffff:ffff:ffff:ffff,FR
+2401:fa00:480:da00::,2401:fa00:493:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:494::,2401:fa00:494:2ff:ffff:ffff:ffff:ffff,US
+2401:fa00:494:300::,2401:fa00:494:4ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:494:500::,2401:fa00:494:6ff:ffff:ffff:ffff:ffff,US
+2401:fa00:494:700::,2401:fa00:49b:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:49c::,2401:fa00:49c:1ff:ffff:ffff:ffff:ffff,US
+2401:fa00:49c:200::,2401:fa00:49f:feff:ffff:ffff:ffff:ffff,IN
+2401:fa00:49f:ff00::,2401:fa00:4a0:ffff:ffff:ffff:ffff:ffff,US
+2401:fa00:4a1::,2401:fa00:4a1:3ff:ffff:ffff:ffff:ffff,CH
+2401:fa00:4a1:400::,2401:fa00:ffe0:ffff:ffff:ffff:ffff:ffff,IN
+2401:fa00:ffe1::,2401:fa00:ffe1:1ff:ffff:ffff:ffff:ffff,US
+2401:fa00:ffe1:200::,2401:fa00:ffe1:2ff:ffff:ffff:ffff:ffff,DE
+2401:fa00:ffe1:300::,2401:fa00:ffe1:3ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:ffe1:400::,2401:fa00:ffe1:4ff:ffff:ffff:ffff:ffff,TW
+2401:fa00:ffe1:500::,2401:fa00:ffe1:5ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:ffe1:600::,2401:fa00:ffe1:6ff:ffff:ffff:ffff:ffff,US
+2401:fa00:ffe1:700::,2401:fa00:ffe1:7ff:ffff:ffff:ffff:ffff,IN
+2401:fa00:ffe1:800::,2401:fa00:ffe1:8ff:ffff:ffff:ffff:ffff,US
+2401:fa00:ffe1:900::,2401:fa00:ffff:ffff:ffff:ffff:ffff:ffff,IN
2401:fa40::,2401:fa40:ffff:ffff:ffff:ffff:ffff:ffff,IN
2401:fa80::,2401:fa80:ffff:ffff:ffff:ffff:ffff:ffff,CN
2401:fac0::,2401:fac0:ffff:ffff:ffff:ffff:ffff:ffff,CN
@@ -7730,7 +8160,6 @@
2402:9b00::,2402:9b00:ffff:ffff:ffff:ffff:ffff:ffff,TH
2402:9b40::,2402:9b40:ffff:ffff:ffff:ffff:ffff:ffff,HK
2402:9b80::,2402:9b80:ffff:ffff:ffff:ffff:ffff:ffff,CN
-2402:9bc0::,2402:9bc0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2402:9c00::,2402:9c00:ffff:ffff:ffff:ffff:ffff:ffff,TW
2402:9c40::,2402:9c40:ffff:ffff:ffff:ffff:ffff:ffff,ID
2402:9c80::,2402:9c80:ffff:ffff:ffff:ffff:ffff:ffff,AU
@@ -7743,7 +8172,7 @@
2402:9e80::,2402:9e80:5:ffff:ffff:ffff:ffff:ffff,HK
2402:9e80:6::,2402:9e80:6:ffff:ffff:ffff:ffff:ffff,NZ
2402:9e80:7::,2402:9e80:13:ffff:ffff:ffff:ffff:ffff,HK
-2402:9e80:14::,2402:9e80:14:ffff:ffff:ffff:ffff:ffff,VN
+2402:9e80:14::,2402:9e80:14:ffff:ffff:ffff:ffff:ffff,AU
2402:9e80:15::,2402:9e80:15:ffff:ffff:ffff:ffff:ffff,US
2402:9e80:16::,2402:9e80:18:ffff:ffff:ffff:ffff:ffff,HK
2402:9e80:19::,2402:9e80:19:ffff:ffff:ffff:ffff:ffff,KR
@@ -7751,7 +8180,9 @@
2402:9e80:24::,2402:9e80:24:ffff:ffff:ffff:ffff:ffff,AU
2402:9e80:25::,2402:9e80:25:ffff:ffff:ffff:ffff:ffff,HK
2402:9e80:26::,2402:9e80:26:ffff:ffff:ffff:ffff:ffff,JP
-2402:9e80:27::,2402:9e80:dfff:ffff:ffff:ffff:ffff:ffff,HK
+2402:9e80:27::,2402:9e80:27:ffff:ffff:ffff:ffff:ffff,HK
+2402:9e80:28::,2402:9e80:28:ffff:ffff:ffff:ffff:ffff,US
+2402:9e80:29::,2402:9e80:dfff:ffff:ffff:ffff:ffff:ffff,HK
2402:9e80:e000::,2402:9e80:ffff:ffff:ffff:ffff:ffff:ffff,US
2402:9ec0::,2402:9ec0:ffff:ffff:ffff:ffff:ffff:ffff,PK
2402:9f00::,2402:9f00:ffff:ffff:ffff:ffff:ffff:ffff,AU
@@ -8288,7 +8719,7 @@
2403:2400::,2403:2400:ffff:ffff:ffff:ffff:ffff:ffff,HK
2403:2440::,2403:2440:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:24c0::,2403:24c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
-2403:2500::,2403:2500:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2403:2500::,2403:2500:ffff:ffff:ffff:ffff:ffff:ffff,US
2403:2540::,2403:2540:ffff:ffff:ffff:ffff:ffff:ffff,MY
2403:2580::,2403:2580:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:25c0::,2403:25c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
@@ -8466,7 +8897,6 @@
2403:4d40::,2403:4d40:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:4d80::,2403:4d80:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:4dc0::,2403:4dc0:ffff:ffff:ffff:ffff:ffff:ffff,AU
-2403:4e00::,2403:4e00:ffff:ffff:ffff:ffff:ffff:ffff,IN
2403:4e40::,2403:4e40:ffff:ffff:ffff:ffff:ffff:ffff,HK
2403:4e80::,2403:4e80:ffff:ffff:ffff:ffff:ffff:ffff,AU
2403:4ec0::,2403:4ec0:ffff:ffff:ffff:ffff:ffff:ffff,CN
@@ -8888,142 +9318,287 @@
2403:b780::,2403:b780:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:b7c0::,2403:b7c0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:b800::,2403:b800:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:b840::,2403:b840:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:b880::,2403:b880:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:b8c0::,2403:b8c0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:b900::,2403:b900:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:b940::,2403:b940:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:b980::,2403:b980:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:b9c0::,2403:b9c0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:ba00::,2403:ba00:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:ba40::,2403:ba40:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:ba80::,2403:ba80:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:bac0::,2403:bac0:ffff:ffff:ffff:ffff:ffff:ffff,ID
2403:bb00::,2403:bb00:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:bb40::,2403:bb40:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2403:bbc0::,2403:bbc0:ffff:ffff:ffff:ffff:ffff:ffff,KH
2403:bc00::,2403:bc00:ffff:ffff:ffff:ffff:ffff:ffff,MY
+2403:bc40::,2403:bc40:ffff:ffff:ffff:ffff:ffff:ffff,MY
2403:bc80::,2403:bc80:ffff:ffff:ffff:ffff:ffff:ffff,SG
+2403:bcc0::,2403:bcc0:ffff:ffff:ffff:ffff:ffff:ffff,TR
2403:bd00::,2403:bd00:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2403:bd40::,2403:bd40:ffff:ffff:ffff:ffff:ffff:ffff,PK
2403:bd80::,2403:bd80:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2403:bdc0::,2403:bdc0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:be00::,2403:be00:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:be40::,2403:be40:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:be80::,2403:be80:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2403:bec0::,2403:bec0:ffff:ffff:ffff:ffff:ffff:ffff,PK
2403:bf00::,2403:bf00:ffff:ffff:ffff:ffff:ffff:ffff,TH
+2403:bf40::,2403:bf40:ffff:ffff:ffff:ffff:ffff:ffff,VN
2403:bf80::,2403:bf80:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2403:bfc0::,2403:bfc0:ffff:ffff:ffff:ffff:ffff:ffff,VN
2403:c000::,2403:c000:ffff:ffff:ffff:ffff:ffff:ffff,TH
+2403:c040::,2403:c040:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:c080::,2403:c080:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:c0c0::,2403:c0c0:ffff:ffff:ffff:ffff:ffff:ffff,PK
2403:c100::,2403:c100:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:c140::,2403:c140:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:c180::,2403:c180:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:c1c0::,2403:c1c0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:c200::,2403:c200:ffff:ffff:ffff:ffff:ffff:ffff,NZ
+2403:c240::,2403:c240:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:c280::,2403:c280:ffff:ffff:ffff:ffff:ffff:ffff,MM
+2403:c2c0::,2403:c2c0:ffff:ffff:ffff:ffff:ffff:ffff,PK
2403:c300::,2403:c300:ffff:ffff:ffff:ffff:ffff:ffff,TW
+2403:c340::,2403:c340:ffff:ffff:ffff:ffff:ffff:ffff,ID
2403:c380::,2403:c380:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2403:c3c0::,2403:c3c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:c400::,2403:c400:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:c440::,2403:c440:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:c480::,2403:c480:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:c4c0::,2403:c4c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:c500::,2403:c500:ffff:ffff:ffff:ffff:ffff:ffff,SG
+2403:c540::,2403:c540:ffff:ffff:ffff:ffff:ffff:ffff,HK
2403:c580::,2403:c580:ffff:ffff:ffff:ffff:ffff:ffff,MY
+2403:c5c0::,2403:c5c0:ffff:ffff:ffff:ffff:ffff:ffff,NL
2403:c600::,2403:c600:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:c640::,2403:c640:ffff:ffff:ffff:ffff:ffff:ffff,NZ
2403:c680::,2403:c680:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2403:c6c0::,2403:c6c0:ffff:ffff:ffff:ffff:ffff:ffff,TW
+2403:c740::,2403:c740:ffff:ffff:ffff:ffff:ffff:ffff,TH
2403:c780::,2403:c780:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2403:c7c0::,2403:c7c0:ffff:ffff:ffff:ffff:ffff:ffff,SG
2403:c800::,2403:c800:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:c840::,2403:c840:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:c880::,2403:c881:ffff:ffff:ffff:ffff:ffff:ffff,HK
+2403:c8c0::,2403:c8c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:c900::,2403:c900:ffff:ffff:ffff:ffff:ffff:ffff,NZ
+2403:c940::,2403:c940:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:c980::,2403:c980:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:c9c0::,2403:c9c0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:ca00::,2403:ca00:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:ca40::,2403:ca40:ffff:ffff:ffff:ffff:ffff:ffff,TW
+2403:cac0::,2403:cac0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:cb00::,2403:cb00:ffff:ffff:ffff:ffff:ffff:ffff,SG
+2403:cb40::,2403:cb40:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:cb80::,2403:cb80:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:cbc0::,2403:cbc0:ffff:ffff:ffff:ffff:ffff:ffff,MY
2403:cc00::,2403:cc00:9fff:ffff:ffff:ffff:ffff:ffff,SG
2403:cc00:a000::,2403:cc00:afff:ffff:ffff:ffff:ffff:ffff,NZ
2403:cc00:b000::,2403:cc00:ffff:ffff:ffff:ffff:ffff:ffff,SG
+2403:cc40::,2403:cc40:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:cc80::,2403:cc80:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2403:ccc0::,2403:ccc0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:cd00::,2403:cd00:ffff:ffff:ffff:ffff:ffff:ffff,PH
+2403:cd40::,2403:cd40:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:cd80::,2403:cd80:ffff:ffff:ffff:ffff:ffff:ffff,PH
+2403:cdc0::,2403:cdc0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:ce00::,2403:ce00:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:ce40::,2403:ce40:ffff:ffff:ffff:ffff:ffff:ffff,TW
+2403:cec0::,2403:cec0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:cf00::,2403:cf00:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:cf40::,2403:cf40:ffff:ffff:ffff:ffff:ffff:ffff,IN
2403:cf80::,2403:cf80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:cfc0::,2403:cfc0:ffff:ffff:ffff:ffff:ffff:ffff,SG
2403:d000::,2403:d000:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2403:d040::,2403:d040:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:d080::,2403:d080:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:d0c0::,2403:d0c0:ffff:ffff:ffff:ffff:ffff:ffff,TH
2403:d100::,2403:d100:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:d140::,2403:d140:ffff:ffff:ffff:ffff:ffff:ffff,NZ
2403:d180::,2403:d180:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:d1c0::,2403:d1c0:ffff:ffff:ffff:ffff:ffff:ffff,AU
2403:d200::,2403:d200:ffff:ffff:ffff:ffff:ffff:ffff,NZ
+2403:d240::,2403:d240:ffff:ffff:ffff:ffff:ffff:ffff,PK
2403:d280::,2403:d280:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:d2c0::,2403:d2c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:d300::,2403:d300:ffff:ffff:ffff:ffff:ffff:ffff,HK
+2403:d340::,2403:d340:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:d380::,2403:d380:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:d3c0::,2403:d3c0:ffff:ffff:ffff:ffff:ffff:ffff,AU
2403:d400::,2403:d400:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:d440::,2403:d440:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:d480::,2403:d480:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:d4c0::,2403:d4c0:ffff:ffff:ffff:ffff:ffff:ffff,IN
2403:d500::,2403:d500:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:d540::,2403:d540:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:d580::,2403:d580:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:d5c0::,2403:d5c0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:d600::,2403:d600:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:d640::,2403:d640:ffff:ffff:ffff:ffff:ffff:ffff,ID
2403:d680::,2403:d680:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:d6c0::,2403:d6c0:ffff:ffff:ffff:ffff:ffff:ffff,NZ
2403:d700::,2403:d700:ffff:ffff:ffff:ffff:ffff:ffff,MN
+2403:d740::,2403:d740:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:d780::,2403:d780:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:d7c0::,2403:d7c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:d840::,2403:d840:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:d880::,2403:d880:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:d8c0::,2403:d8c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:d900::,2403:d900:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:d940::,2403:d940:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:d980::,2403:d980:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:d9c0::,2403:d9c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:da00::,2403:da00:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:da40::,2403:da40:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:da80::,2403:da80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:dac0::,2403:dac0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:db00::,2403:db00:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:db40::,2403:db40:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:db80::,2403:db80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:dbc0::,2403:dbc0:ffff:ffff:ffff:ffff:ffff:ffff,HK
2403:dc00::,2403:dc00:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:dc40::,2403:dc40:ffff:ffff:ffff:ffff:ffff:ffff,SG
2403:dc80::,2403:dc80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:dcc0::,2403:dcc0:ffff:ffff:ffff:ffff:ffff:ffff,HK
2403:dd00::,2403:dd00:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2403:dd40::,2403:dd40:ffff:ffff:ffff:ffff:ffff:ffff,JP
2403:dd80::,2403:dd80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:ddc0::,2403:ddc0:ffff:ffff:ffff:ffff:ffff:ffff,NP
2403:de00::,2403:de00:ffff:ffff:ffff:ffff:ffff:ffff,NZ
+2403:de40::,2403:de40:ffff:ffff:ffff:ffff:ffff:ffff,IN
2403:de80::,2403:de80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:dec0::,2403:dec0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:df00::,2403:df00:ffff:ffff:ffff:ffff:ffff:ffff,SG
+2403:df40::,2403:df40:ffff:ffff:ffff:ffff:ffff:ffff,US
2403:df80::,2403:df80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:dfc0::,2403:dfc0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:e000::,2403:e000:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:e040::,2403:e040:ffff:ffff:ffff:ffff:ffff:ffff,NZ
2403:e080::,2403:e080:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:e0c0::,2403:e0c0:ffff:ffff:ffff:ffff:ffff:ffff,ID
2403:e100::,2403:e100:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2403:e140::,2403:e140:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:e180::,2403:e180:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:e1c0::,2403:e1c0:ffff:ffff:ffff:ffff:ffff:ffff,ID
2403:e200::,2403:e200:ffff:ffff:ffff:ffff:ffff:ffff,VN
+2403:e240::,2403:e240:ffff:ffff:ffff:ffff:ffff:ffff,TH
2403:e280::,2403:e280:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:e2c0::,2403:e2c0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:e300::,2403:e300:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:e340::,2403:e340:ffff:ffff:ffff:ffff:ffff:ffff,HK
2403:e380::,2403:e380:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:e3c0::,2403:e3c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:e400::,2403:e400:ffff:ffff:ffff:ffff:ffff:ffff,HK
+2403:e440::,2403:e440:ffff:ffff:ffff:ffff:ffff:ffff,ID
2403:e480::,2403:e480:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:e4c0::,2403:e4c0:ffff:ffff:ffff:ffff:ffff:ffff,JP
2403:e500::,2403:e500:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:e540::,2403:e540:ffff:ffff:ffff:ffff:ffff:ffff,IN
2403:e580::,2403:e580:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:e5c0::,2403:e5c0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:e600::,2403:e600:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:e640::,2403:e640:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:e680::,2403:e680:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:e6c0::,2403:e6c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:e700::,2403:e700:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:e740::,2403:e740:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:e780::,2403:e780:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:e7c0::,2403:e7c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:e800::,2403:e800:ffff:ffff:ffff:ffff:ffff:ffff,HK
+2403:e840::,2403:e840:ffff:ffff:ffff:ffff:ffff:ffff,HK
2403:e880::,2403:e880:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:e8c0::,2403:e8c0:ffff:ffff:ffff:ffff:ffff:ffff,ID
2403:e900::,2403:e900:ffff:ffff:ffff:ffff:ffff:ffff,SG
+2403:e940::,2403:e940:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:e980::,2403:e980:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:e9c0::,2403:e9c0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:ea00::,2403:ea00:ffff:ffff:ffff:ffff:ffff:ffff,HK
+2403:ea40::,2403:ea40:ffff:ffff:ffff:ffff:ffff:ffff,ID
2403:ea80::,2403:ea80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:eac0::,2403:eac0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:eb00::,2403:eb00:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2403:eb40::,2403:eb40:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:eb80::,2403:eb80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:ebc0::,2403:ebc0:ffff:ffff:ffff:ffff:ffff:ffff,HK
2403:ec00::,2403:ec00:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2403:ec40::,2403:ec40:ffff:ffff:ffff:ffff:ffff:ffff,SG
2403:ec80::,2403:ec80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:ecc0::,2403:ecc0:ffff:ffff:ffff:ffff:ffff:ffff,AU
2403:ed00::,2403:ed00:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:ed40::,2403:ed40:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:ed80::,2403:ed80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:edc0::,2403:edc0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:ee00::,2403:ee00:ffff:ffff:ffff:ffff:ffff:ffff,TW
+2403:ee40::,2403:ee40:ffff:ffff:ffff:ffff:ffff:ffff,PK
2403:ee80::,2403:ee80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:eec0::,2403:eec0:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:ef40::,2403:ef40:ffff:ffff:ffff:ffff:ffff:ffff,MY
2403:ef80::,2403:ef80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:efc0::,2403:efc0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:f000::,2403:f000:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:f040::,2403:f040:ffff:ffff:ffff:ffff:ffff:ffff,TH
2403:f080::,2403:f080:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:f0c0::,2403:f0c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:f100::,2403:f100:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:f140::,2403:f140:ffff:ffff:ffff:ffff:ffff:ffff,AF
2403:f180::,2403:f180:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:f1c0::,2403:f1c0:ffff:ffff:ffff:ffff:ffff:ffff,ID
2403:f200::,2403:f200:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2403:f240::,2403:f240:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:f280::,2403:f280:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:f2c0::,2403:f2c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:f300::,2403:f300:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:f340::,2403:f340:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:f380::,2403:f380:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:f3c0::,2403:f3c0:ffff:ffff:ffff:ffff:ffff:ffff,TW
+2403:f440::,2403:f440:ffff:ffff:ffff:ffff:ffff:ffff,IN
2403:f480::,2403:f481:ffff:ffff:ffff:ffff:ffff:ffff,US
+2403:f4c0::,2403:f4c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:f500::,2403:f500:ffff:ffff:ffff:ffff:ffff:ffff,HK
+2403:f540::,2403:f540:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:f580::,2403:f580:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:f5c0::,2403:f5c0:ffff:ffff:ffff:ffff:ffff:ffff,PK
2403:f600::,2403:f600:ffff:ffff:ffff:ffff:ffff:ffff,NR
+2403:f640::,2403:f640:ffff:ffff:ffff:ffff:ffff:ffff,PH
2403:f680::,2403:f680:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2403:f6c0::,2403:f6c0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:f700::,2403:f700:ffff:ffff:ffff:ffff:ffff:ffff,NZ
+2403:f740::,2403:f740:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:f780::,2403:f780:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2403:f7c0::,2403:f7c0:ffff:ffff:ffff:ffff:ffff:ffff,PK
+2403:f840::,2403:f840:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:f880::,2403:f880:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2403:f8c0::,2403:f8c0:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:f940::,2403:f940:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:f980::,2403:f980:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:f9c0::,2403:f9c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:fa00::,2403:fa00:ffff:ffff:ffff:ffff:ffff:ffff,HK
+2403:fa40::,2403:fa40:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2403:fac0::,2403:fac0:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:fb00::,2403:fb00:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:fb40::,2403:fb40:ffff:ffff:ffff:ffff:ffff:ffff,TW
2403:fb80::,2403:fb80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:fbc0::,2403:fbc0:ffff:ffff:ffff:ffff:ffff:ffff,VU
2403:fc00::,2403:fc00:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:fc40::,2403:fc40:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:fc80::,2403:fc80:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:fcc0::,2403:fcc0:ffff:ffff:ffff:ffff:ffff:ffff,PK
2403:fd00::,2403:fd00:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2403:fd40::,2403:fd40:ffff:ffff:ffff:ffff:ffff:ffff,MY
2403:fd80::,2403:fd80:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:fdc0::,2403:fdc0:ffff:ffff:ffff:ffff:ffff:ffff,AU
2403:fe00::,2403:fe00:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2403:fe40::,2403:fe40:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:fe80::,2403:fe80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:fec0::,2403:fec0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2403:ff00::,2403:ff00:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2403:ff40::,2403:ff40:ffff:ffff:ffff:ffff:ffff:ffff,BD
2403:ff80::,2403:ff80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2403:ffc0::,2403:ffc0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2404::,2404:3f:ffff:ffff:ffff:ffff:ffff:ffff,TW
+2404:40::,2404:40:ffff:ffff:ffff:ffff:ffff:ffff,ID
2404:80::,2404:8f:ffff:ffff:ffff:ffff:ffff:ffff,TW
2404:a0::,2404:a0:ffff:ffff:ffff:ffff:ffff:ffff,NZ
2404:a8::,2404:a8:ffff:ffff:ffff:ffff:ffff:ffff,MY
@@ -9059,26 +9634,48 @@
2404:1a8::,2404:1a8:ffff:ffff:ffff:ffff:ffff:ffff,JP
2404:1b0::,2404:1b0:ffff:ffff:ffff:ffff:ffff:ffff,ID
2404:1b8::,2404:1b8:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2404:1c0::,2404:1c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2404:200::,2404:200:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2404:240::,2404:240:ffff:ffff:ffff:ffff:ffff:ffff,CN
2404:280::,2404:280:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2404:2c0::,2404:2c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2404:300::,2404:300:ffff:ffff:ffff:ffff:ffff:ffff,KH
+2404:340::,2404:340:ffff:ffff:ffff:ffff:ffff:ffff,ID
2404:380::,2404:380:ffff:ffff:ffff:ffff:ffff:ffff,GU
+2404:3c0::,2404:3c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2404:400::,2404:400:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2404:440::,2404:440:ffff:ffff:ffff:ffff:ffff:ffff,CN
2404:480::,2404:480:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2404:4c0::,2404:4c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2404:500::,2404:500:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2404:540::,2404:540:ffff:ffff:ffff:ffff:ffff:ffff,BD
2404:580::,2404:580:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2404:5c0::,2404:5c0:ffff:ffff:ffff:ffff:ffff:ffff,AU
2404:600::,2404:600:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2404:640::,2404:640:ffff:ffff:ffff:ffff:ffff:ffff,IN
2404:680::,2404:680:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2404:6c0::,2404:6c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2404:700::,2404:700:ffff:ffff:ffff:ffff:ffff:ffff,KH
+2404:740::,2404:740:ffff:ffff:ffff:ffff:ffff:ffff,IN
2404:780::,2404:780:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2404:7c0::,2404:7c0:ffff:ffff:ffff:ffff:ffff:ffff,ID
2404:800::,2404:800:ffff:ffff:ffff:ffff:ffff:ffff,KR
+2404:840::,2404:840:ffff:ffff:ffff:ffff:ffff:ffff,TW
2404:880::,2404:880:ffff:ffff:ffff:ffff:ffff:ffff,ID
+2404:8c0::,2404:8c0:ffff:ffff:ffff:ffff:ffff:ffff,HK
+2404:940::,2404:940:ffff:ffff:ffff:ffff:ffff:ffff,HK
2404:980::,2404:980:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2404:9c0::,2404:9c0:ffff:ffff:ffff:ffff:ffff:ffff,BD
2404:a00::,2404:a00:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2404:a40::,2404:a40:ffff:ffff:ffff:ffff:ffff:ffff,BD
2404:a80::,2404:a80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2404:ac0::,2404:ac0:ffff:ffff:ffff:ffff:ffff:ffff,ID
2404:b00::,2404:b00:ffff:ffff:ffff:ffff:ffff:ffff,BD
+2404:b40::,2404:b40:ffff:ffff:ffff:ffff:ffff:ffff,HK
2404:b80::,2404:b80:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2404:bc0::,2404:bc0:ffff:ffff:ffff:ffff:ffff:ffff,CN
2404:c00::,2404:c00:ffff:ffff:ffff:ffff:ffff:ffff,IN
+2404:c40::,2404:c40:ffff:ffff:ffff:ffff:ffff:ffff,CN
2404:c80::,2404:c80:ffff:ffff:ffff:ffff:ffff:ffff,AU
2404:d00::,2404:d00:ffff:ffff:ffff:ffff:ffff:ffff,BD
2404:d80::,2404:d80:ffff:ffff:ffff:ffff:ffff:ffff,CN
@@ -9534,10 +10131,15 @@
2404:f801:30::,2404:f801:30::,AU
2404:f801:30::1,2404:f801:7fff:ffff:ffff:ffff:ffff:ffff,SG
2404:f801:8000::,2404:f801:803f:ffff:ffff:ffff:ffff:ffff,IN
-2404:f801:8040::,2404:f801:8057:ffff:ffff:ffff:ffff:ffff,JP
+2404:f801:8040::,2404:f801:804f:ffff:ffff:ffff:ffff:ffff,SG
+2404:f801:8050::,2404:f801:8050:ffff:ffff:ffff:ffff:ffff,JP
+2404:f801:8051::,2404:f801:8057:ffff:ffff:ffff:ffff:ffff,SG
2404:f801:8058::,2404:f801:8058:ffff:ffff:ffff:ffff:ffff,IN
-2404:f801:8059::,2404:f801:807f:ffff:ffff:ffff:ffff:ffff,JP
-2404:f801:8080::,2404:f801:e7ff:ffff:ffff:ffff:ffff:ffff,SG
+2404:f801:8059::,2404:f801:8fff:ffff:ffff:ffff:ffff:ffff,SG
+2404:f801:9000::,2404:f801:9000:17:ffff:ffff:ffff:ffff,CN
+2404:f801:9000:18::,2404:f801:9000:1f:ffff:ffff:ffff:ffff,SG
+2404:f801:9000:20::,2404:f801:93ff:ffff:ffff:ffff:ffff:ffff,CN
+2404:f801:9400::,2404:f801:e7ff:ffff:ffff:ffff:ffff:ffff,SG
2404:f801:e800::,2404:f801:ebff:ffff:ffff:ffff:ffff:ffff,AU
2404:f801:ec00::,2404:f801:ffff:ffff:ffff:ffff:ffff:ffff,SG
2404:f880::,2404:f880:ffff:ffff:ffff:ffff:ffff:ffff,HK
@@ -9973,7 +10575,6 @@
2405:ba00:8800::,2405:ba00:ffff:ffff:ffff:ffff:ffff:ffff,IN
2405:ba80::,2405:ba80:ffff:ffff:ffff:ffff:ffff:ffff,HK
2405:bb00::,2405:bb00:ffff:ffff:ffff:ffff:ffff:ffff,CN
-2405:bb80::,2405:bb80:ffff:ffff:ffff:ffff:ffff:ffff,CN
2405:bc00::,2405:bc00:ffff:ffff:ffff:ffff:ffff:ffff,AU
2405:bc80::,2405:bc80:ffff:ffff:ffff:ffff:ffff:ffff,NZ
2405:bd00::,2405:bd00:ffff:ffff:ffff:ffff:ffff:ffff,CN
@@ -10681,7 +11282,10 @@
2406:f280::,2406:f280:ffff:ffff:ffff:ffff:ffff:ffff,CN
2406:f300::,2406:f300:ffff:ffff:ffff:ffff:ffff:ffff,CN
2406:f380::,2406:f380:ffff:ffff:ffff:ffff:ffff:ffff,HK
-2406:f400::,2406:f400:12f:ffff:ffff:ffff:ffff:ffff,SG
+2406:f400::,2406:f400:ff:ffff:ffff:ffff:ffff:ffff,SG
+2406:f400:100::,2406:f400:10f:ffff:ffff:ffff:ffff:ffff,HK
+2406:f400:110::,2406:f400:11f:ffff:ffff:ffff:ffff:ffff,SG
+2406:f400:120::,2406:f400:12f:ffff:ffff:ffff:ffff:ffff,ID
2406:f400:130::,2406:f400:13f:ffff:ffff:ffff:ffff:ffff,JP
2406:f400:140::,2406:f400:ffff:ffff:ffff:ffff:ffff:ffff,SG
2406:f480::,2406:f480:ffff:ffff:ffff:ffff:ffff:ffff,PK
@@ -11207,8 +11811,11 @@
240a:c000::,240a:cfff:ffff:ffff:ffff:ffff:ffff:ffff,CN
240b::,240b:3f:ffff:ffff:ffff:ffff:ffff:ffff,JP
240b:240::,240b:27f:ffff:ffff:ffff:ffff:ffff:ffff,JP
+240b:4000::,240b:43ff:ffff:ffff:ffff:ffff:ffff:ffff,SG
240b:8000::,240b:87ff:ffff:ffff:ffff:ffff:ffff:ffff,CN
+240b:c000::,240b:c0ff:ffff:ffff:ffff:ffff:ffff:ffff,JP
240c::,240c:f:ffff:ffff:ffff:ffff:ffff:ffff,CN
+240c:4000::,240c:43ff:ffff:ffff:ffff:ffff:ffff:ffff,CN
240c:8000::,240c:87ff:ffff:ffff:ffff:ffff:ffff:ffff,CN
240d::,240d:1f:ffff:ffff:ffff:ffff:ffff:ffff,JP
240d:8000::,240d:80ff:ffff:ffff:ffff:ffff:ffff:ffff,CN
@@ -11216,7 +11823,9 @@
240f::,240f:1ff:ffff:ffff:ffff:ffff:ffff:ffff,JP
240f:8000::,240f:80ff:ffff:ffff:ffff:ffff:ffff:ffff,CN
2600::,2600:1:cfff:ffff:ffff:ffff:ffff:ffff,US
-2600:1:d000::,2600:1:d03f:ffff:ffff:ffff:ffff:ffff,PR
+2600:1:d000::,2600:1:d029:ffff:ffff:ffff:ffff:ffff,PR
+2600:1:d02a::,2600:1:d02b:ffff:ffff:ffff:ffff:ffff,US
+2600:1:d02c::,2600:1:d03f:ffff:ffff:ffff:ffff:ffff,PR
2600:1:d040::,2600:7:ffff:ffff:ffff:ffff:ffff:ffff,US
2600:100::,2600:10f:ffff:ffff:ffff:ffff:ffff:ffff,US
2600:200::,2600:20f:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -11313,7 +11922,7 @@
2600:3000::,2600:3007:ffff:ffff:ffff:ffff:ffff:ffff,US
2600:3100::,2600:310f:ffff:ffff:ffff:ffff:ffff:ffff,US
2600:3200::,2600:320f:ffff:ffff:ffff:ffff:ffff:ffff,US
-2600:3400::,2600:340f:ffff:ffff:ffff:ffff:ffff:ffff,US
+2600:3300::,2600:340f:ffff:ffff:ffff:ffff:ffff:ffff,US
2600:3800::,2600:380f:ffff:ffff:ffff:ffff:ffff:ffff,US
2600:3c00::,2600:3c03:ffff:ffff:ffff:ffff:ffff:ffff,US
2600:4000::,2600:40ff:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -11344,6 +11953,7 @@
2600:b000::,2600:b00f:ffff:ffff:ffff:ffff:ffff:ffff,US
2600:b400::,2600:b40f:ffff:ffff:ffff:ffff:ffff:ffff,US
2600:e000::,2600:e00f:ffff:ffff:ffff:ffff:ffff:ffff,CA
+2600:ef00::,2600:ef00::ffff:ffff:ffff:ffff,US
2601::,2601:fff:ffff:ffff:ffff:ffff:ffff:ffff,US
2602::,2602:10f:ffff:ffff:ffff:ffff:ffff:ffff,US
2602:200::,2602:200:ffff:ffff:ffff:ffff:ffff:ffff,CA
@@ -11353,6 +11963,27 @@
2602:233::,2602:233:ffff:ffff:ffff:ffff:ffff:ffff,US
2602:240::,2602:25f:ffff:ffff:ffff:ffff:ffff:ffff,US
2602:300::,2602:3ff:ffff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe21::,2602:fe21:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe22::,2602:fe22:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe23::,2602:fe23:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe24::,2602:fe24:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe25::,2602:fe25:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe26::,2602:fe26:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe27::,2602:fe27:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe28::,2602:fe28:fff:ffff:ffff:ffff:ffff:ffff,CA
+2602:fe29::,2602:fe29:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe2a::,2602:fe2a:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe2b::,2602:fe2b:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe2c::,2602:fe2c:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe2d::,2602:fe2d:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe2e::,2602:fe2e:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe2f::,2602:fe2f:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe30::,2602:fe30:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe31::,2602:fe31:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe32::,2602:fe32:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe33::,2602:fe33:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe34::,2602:fe34:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe35::,2602:fe35:fff:ffff:ffff:ffff:ffff:ffff,CA
2602:fe36::,2602:fe36:fff:ffff:ffff:ffff:ffff:ffff,CA
2602:fe37::,2602:fe37:fff:ffff:ffff:ffff:ffff:ffff,CA
2602:fe38::,2602:fe38:fff:ffff:ffff:ffff:ffff:ffff,US
@@ -11406,8 +12037,7 @@
2602:fe68::,2602:fe68:fff:ffff:ffff:ffff:ffff:ffff,US
2602:fe69::,2602:fe69:fff:ffff:ffff:ffff:ffff:ffff,CA
2602:fe6a::,2602:fe6a:fff:ffff:ffff:ffff:ffff:ffff,CA
-2602:fe6b::,2602:fe6b:fff:ffff:ffff:ffff:ffff:ffff,US
-2602:fe6c::,2602:fe6c:fff:ffff:ffff:ffff:ffff:ffff,US
+2602:fe6b::,2602:fe6c:fff:ffff:ffff:ffff:ffff:ffff,US
2602:fe6d::,2602:fe6d:fff:ffff:ffff:ffff:ffff:ffff,US
2602:fe6e::,2602:fe6e:fff:ffff:ffff:ffff:ffff:ffff,US
2602:fe6f::,2602:fe6f:fff:ffff:ffff:ffff:ffff:ffff,US
@@ -11524,7 +12154,6 @@
2602:fedc::,2602:fedc:fff:ffff:ffff:ffff:ffff:ffff,US
2602:fedd::,2602:fedd:fff:ffff:ffff:ffff:ffff:ffff,CA
2602:fede::,2602:fede:fff:ffff:ffff:ffff:ffff:ffff,US
-2602:fedf::,2602:fedf:fff:ffff:ffff:ffff:ffff:ffff,US
2602:fef0::,2602:fef0:fff:ffff:ffff:ffff:ffff:ffff,US
2602:fef1::,2602:fef1:fff:ffff:ffff:ffff:ffff:ffff,US
2602:fef2::,2602:fef2:fff:ffff:ffff:ffff:ffff:ffff,CA
@@ -11774,8 +12403,8 @@
2602:fffd::,2602:fffd:fff:ffff:ffff:ffff:ffff:ffff,CA
2602:ffff::,2602:ffff:fff:ffff:ffff:ffff:ffff:ffff,US
2603::,2603:1005:ffff:ffff:ffff:ffff:ffff:ffff,US
-2603:1006::,2603:1006::5:ffff:ffff:ffff:ffff,ZA
-2603:1006:0:6::,2603:1006::ffff:ffff:ffff:ffff:ffff,US
+2603:1006::,2603:1006::b:ffff:ffff:ffff:ffff,ZA
+2603:1006:0:c::,2603:1006::ffff:ffff:ffff:ffff:ffff,US
2603:1006:1::,2603:1006:1:7ff:ffff:ffff:ffff:ffff,ZA
2603:1006:1:800::,2603:1006:1:ffff:ffff:ffff:ffff:ffff,US
2603:1006:2::,2603:1006:2:7ff:ffff:ffff:ffff:ffff,ZA
@@ -11814,7 +12443,9 @@
2603:1020:600::,2603:1020:7ff:ffff:ffff:ffff:ffff:ffff,GB
2603:1020:800::,2603:1020:9ff:ffff:ffff:ffff:ffff:ffff,FR
2603:1020:a00::,2603:1020:bff:ffff:ffff:ffff:ffff:ffff,CH
-2603:1020:c00::,2603:1023:ffff:ffff:ffff:ffff:ffff:ffff,US
+2603:1020:c00::,2603:1020:dff:ffff:ffff:ffff:ffff:ffff,DE
+2603:1020:e00::,2603:1020:eff:ffff:ffff:ffff:ffff:ffff,NO
+2603:1020:f00::,2603:1023:ffff:ffff:ffff:ffff:ffff:ffff,US
2603:1024::,2603:1024:ff:ffff:ffff:ffff:ffff:ffff,IE
2603:1024:100::,2603:1025:ffff:ffff:ffff:ffff:ffff:ffff,US
2603:1026::,2603:1026:2:ffff:ffff:ffff:ffff:ffff,IE
@@ -11862,7 +12493,8 @@
2603:1026:1400::,2603:1026:14ff:ffff:ffff:ffff:ffff:ffff,FI
2603:1026:1500::,2603:1026:16ff:ffff:ffff:ffff:ffff:ffff,GB
2603:1026:1700::,2603:1026:17ff:ffff:ffff:ffff:ffff:ffff,AT
-2603:1026:1800::,2603:1027::1:ffff:ffff:ffff:ffff,US
+2603:1026:1800::,2603:1026:19ff:ffff:ffff:ffff:ffff:ffff,GB
+2603:1026:1a00::,2603:1027::1:ffff:ffff:ffff:ffff,US
2603:1027:0:2::,2603:1027::3:ffff:ffff:ffff:ffff,NL
2603:1027:0:4::,2603:1027::4:ffff:ffff:ffff:ffff,IE
2603:1027:0:5::,2603:1027::5:ffff:ffff:ffff:ffff,US
@@ -11963,7 +12595,11 @@
2603:1046:c00::,2603:1046:c00:1:ffff:ffff:ffff:ffff,HK
2603:1046:c00:2::,2603:1046:c00:3:ffff:ffff:ffff:ffff,JP
2603:1046:c00:4::,2603:1046:c00:11:ffff:ffff:ffff:ffff,AE
-2603:1046:c00:12::,2603:1046:c00:ffff:ffff:ffff:ffff:ffff,US
+2603:1046:c00:12::,2603:1046:c00:18:ffff:ffff:ffff:ffff,SG
+2603:1046:c00:19::,2603:1046:c00:1a:ffff:ffff:ffff:ffff,AE
+2603:1046:c00:1b::,2603:1046:c00:1b:ffff:ffff:ffff:ffff,US
+2603:1046:c00:1c::,2603:1046:c00:1f:ffff:ffff:ffff:ffff,SG
+2603:1046:c00:20::,2603:1046:c00:ffff:ffff:ffff:ffff:ffff,US
2603:1046:c01::,2603:1046:c01:ffff:ffff:ffff:ffff:ffff,SG
2603:1046:c02::,2603:1046:c02:ffff:ffff:ffff:ffff:ffff,HK
2603:1046:c03::,2603:1046:c03:ffff:ffff:ffff:ffff:ffff,MY
@@ -12027,7 +12663,8 @@
2603:1047:600::,2603:1047:7ff:ffff:ffff:ffff:ffff:ffff,IN
2603:1047:800::,2603:1047:8ff:ffff:ffff:ffff:ffff:ffff,MY
2603:1047:900::,2603:1047:aff:ffff:ffff:ffff:ffff:ffff,AE
-2603:1047:b00::,2603:1048:ffff:ffff:ffff:ffff:ffff:ffff,US
+2603:1047:b00::,2603:1047:bff:ffff:ffff:ffff:ffff:ffff,KR
+2603:1047:c00::,2603:1048:ffff:ffff:ffff:ffff:ffff:ffff,US
2603:1049::,2603:1049:3:ffff:ffff:ffff:ffff:ffff,SG
2603:1049:4::,2603:1049:1ff:ffff:ffff:ffff:ffff:ffff,US
2603:1049:200::,2603:1049:202:ffff:ffff:ffff:ffff:ffff,HK
@@ -12184,7 +12821,8 @@
2604:1700::,2604:1700:ffff:ffff:ffff:ffff:ffff:ffff,CA
2604:1740::,2604:1740:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:1780::,2604:1780:ffff:ffff:ffff:ffff:ffff:ffff,KY
-2604:17c0::,2604:17c0:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:17c0::,2604:17c0:3f:ffff:ffff:ffff:ffff:ffff,US
+2604:17c0:40::,2604:17c0:ffff:ffff:ffff:ffff:ffff:ffff,CA
2604:1800::,2604:1800:ffff:ffff:ffff:ffff:ffff:ffff,GP
2604:1840::,2604:1840:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:1880::,2604:1880:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -12840,7 +13478,6 @@
2604:c0c0::,2604:c0c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:c100::,2604:c100:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:c140::,2604:c140:ffff:ffff:ffff:ffff:ffff:ffff,US
-2604:c180::,2604:c180:ffff:ffff:ffff:ffff:ffff:ffff,VI
2604:c1c0::,2604:c1c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:c200::,2604:c200:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:c240::,2604:c240:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -12996,7 +13633,31 @@
2604:ca00:1b7:8000::,2604:ca00:1b7:ffff:ffff:ffff:ffff:ffff,NO
2604:ca00:1b8::,2604:ca00:1b8:7fff:ffff:ffff:ffff:ffff,PT
2604:ca00:1b8:8000::,2604:ca00:1b8:ffff:ffff:ffff:ffff:ffff,SE
-2604:ca00:1b9::,2604:ca00:ffff:ffff:ffff:ffff:ffff:ffff,US
+2604:ca00:1b9::,2604:ca00:1c0:ffff:ffff:ffff:ffff:ffff,US
+2604:ca00:1c1::,2604:ca00:1c1:ffff:ffff:ffff:ffff:ffff,CA
+2604:ca00:1c2::,2604:ca00:1c2:ffff:ffff:ffff:ffff:ffff,MX
+2604:ca00:1c3::,2604:ca00:1c3:ffff:ffff:ffff:ffff:ffff,PR
+2604:ca00:1c4::,2604:ca00:1c4:ffff:ffff:ffff:ffff:ffff,VI
+2604:ca00:1c5::,2604:ca00:1c5:ffff:ffff:ffff:ffff:ffff,UM
+2604:ca00:1c6::,2604:ca00:1d0:ffff:ffff:ffff:ffff:ffff,US
+2604:ca00:1d1::,2604:ca00:1d1:ffff:ffff:ffff:ffff:ffff,CA
+2604:ca00:1d2::,2604:ca00:1d2:ffff:ffff:ffff:ffff:ffff,MX
+2604:ca00:1d3::,2604:ca00:1d3:ffff:ffff:ffff:ffff:ffff,PR
+2604:ca00:1d4::,2604:ca00:1d4:ffff:ffff:ffff:ffff:ffff,VI
+2604:ca00:1d5::,2604:ca00:1d5:ffff:ffff:ffff:ffff:ffff,UM
+2604:ca00:1d6::,2604:ca00:1e0:ffff:ffff:ffff:ffff:ffff,US
+2604:ca00:1e1::,2604:ca00:1e1:ffff:ffff:ffff:ffff:ffff,CA
+2604:ca00:1e2::,2604:ca00:1e2:ffff:ffff:ffff:ffff:ffff,MX
+2604:ca00:1e3::,2604:ca00:1e3:ffff:ffff:ffff:ffff:ffff,PR
+2604:ca00:1e4::,2604:ca00:1e4:ffff:ffff:ffff:ffff:ffff,VI
+2604:ca00:1e5::,2604:ca00:1e5:ffff:ffff:ffff:ffff:ffff,UM
+2604:ca00:1e6::,2604:ca00:1f0:ffff:ffff:ffff:ffff:ffff,US
+2604:ca00:1f1::,2604:ca00:1f1:ffff:ffff:ffff:ffff:ffff,CA
+2604:ca00:1f2::,2604:ca00:1f2:ffff:ffff:ffff:ffff:ffff,MX
+2604:ca00:1f3::,2604:ca00:1f3:ffff:ffff:ffff:ffff:ffff,PR
+2604:ca00:1f4::,2604:ca00:1f4:ffff:ffff:ffff:ffff:ffff,VI
+2604:ca00:1f5::,2604:ca00:1f5:ffff:ffff:ffff:ffff:ffff,UM
+2604:ca00:1f6::,2604:ca00:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:ca40::,2604:ca40:ffff:ffff:ffff:ffff:ffff:ffff,PM
2604:ca80::,2604:ca80:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:cac0::,2604:cac0:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -13077,7 +13738,6 @@
2604:de40::,2604:de40:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:de80::,2604:de80:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:dec0::,2604:dec0:ffff:ffff:ffff:ffff:ffff:ffff,US
-2604:df00::,2604:df00:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:df40::,2604:df40:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:dfc0::,2604:dfc0:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:e000::,2604:e000:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -13200,33 +13860,65 @@
2604:ff00::,2604:ff00:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:ff40::,2604:ff40:ffff:ffff:ffff:ffff:ffff:ffff,US
2604:ff80::,2604:ff80:ffff:ffff:ffff:ffff:ffff:ffff,CA
+2604:ffc0::,2604:ffc0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605::,2605::ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:40::,2605:40:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:80::,2605:80:ffff:ffff:ffff:ffff:ffff:ffff,CA
+2605:c0::,2605:c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:100::,2605:100:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:140::,2605:140:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:180::,2605:180:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:1c0::,2605:1c0:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:240::,2605:240:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:280::,2605:280:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:2c0::,2605:2c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:300::,2605:300:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:340::,2605:340:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:380::,2605:380:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:3c0::,2605:3c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:400::,2605:400:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:440::,2605:440:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:480::,2605:480:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:4c0::,2605:4c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:500::,2605:500:ffff:ffff:ffff:ffff:ffff:ffff,CA
+2605:540::,2605:540:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:5c0::,2605:5c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:600::,2605:600:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:640::,2605:640:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:680::,2605:680:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:6c0::,2605:6c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:700::,2605:700:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:740::,2605:740:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:780::,2605:780:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:7c0::,2605:7c0:ffff:ffff:ffff:ffff:ffff:ffff,CA
2605:800::,2605:800:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:840::,2605:840:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:880::,2605:880:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:8c0::,2605:8c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:900::,2605:900:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:940::,2605:940:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:980::,2605:980:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:9c0::,2605:9c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:a00::,2605:a00:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:a40::,2605:a40:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:a80::,2605:a80:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:ac0::,2605:ac0:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:b40::,2605:b40:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:b80::,2605:b81:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:bc0::,2605:bc0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:c00::,2605:c00:ffff:ffff:ffff:ffff:ffff:ffff,CA
+2605:c40::,2605:c40:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:cc0::,2605:cc0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:d00::,2605:d00:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:d40::,2605:d40:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:d80::,2605:d80:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:dc0::,2605:dc0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:e00::,2605:e00:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:e40::,2605:e40:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:e80::,2605:e80:ffff:ffff:ffff:ffff:ffff:ffff,BM
+2605:ec0::,2605:ec0:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:f00::,2605:f00:ffff:ffff:ffff:ffff:ffff:ffff,US
+2605:f40::,2605:f40:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:f80::,2605:f80:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:1000::,2605:1000:ffff:ffff:ffff:ffff:ffff:ffff,CA
2605:1080::,2605:1080:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -13319,8 +14011,8 @@
2605:3e80:700::,2605:3e80:700:f:ffff:ffff:ffff:ffff,US
2605:3e80:700:10::,2605:3e80:700:10:ffff:ffff:ffff:ffff,DE
2605:3e80:700:11::,2605:3e80:7ff:ffff:ffff:ffff:ffff:ffff,US
-2605:3e80:800::,2605:3e80:8ff:ffff:ffff:ffff:ffff:ffff,FR
-2605:3e80:900::,2605:3e80:11ff:ffff:ffff:ffff:ffff:ffff,US
+2605:3e80:800::,2605:3e80:bff:ffff:ffff:ffff:ffff:ffff,FR
+2605:3e80:c00::,2605:3e80:11ff:ffff:ffff:ffff:ffff:ffff,US
2605:3e80:1200::,2605:3e80:1200:ffff:ffff:ffff:ffff:ffff,CA
2605:3e80:1201::,2605:3e80:17ff:ffff:ffff:ffff:ffff:ffff,US
2605:3e80:1800::,2605:3e80:1bff:ffff:ffff:ffff:ffff:ffff,JP
@@ -13528,7 +14220,6 @@
2605:aa80::,2605:aa80:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:ab00::,2605:ab00:ffff:ffff:ffff:ffff:ffff:ffff,CA
2605:ab80::,2605:ab80:ffff:ffff:ffff:ffff:ffff:ffff,US
-2605:ac00::,2605:ac00:ffff:ffff:ffff:ffff:ffff:ffff,CA
2605:ac80::,2605:ac80:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:ad00::,2605:ad00:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:ad80::,2605:ad80:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -13555,7 +14246,7 @@
2605:b880::,2605:b880:ffff:ffff:ffff:ffff:ffff:ffff,CA
2605:b900::,2605:b900:ffff:ffff:ffff:ffff:ffff:ffff,CA
2605:b980::,2605:b980:ffff:ffff:ffff:ffff:ffff:ffff,US
-2605:ba00::,2605:ba00:ffff:ffff:ffff:ffff:ffff:ffff,PR
+2605:ba00::,2605:ba00:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:ba80::,2605:ba80:ffff:ffff:ffff:ffff:ffff:ffff,CA
2605:bb00::,2605:bb00:ffff:ffff:ffff:ffff:ffff:ffff,US
2605:bb80::,2605:bb80:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -13727,11 +14418,8 @@
2606:a80::,2606:a80:ffff:ffff:ffff:ffff:ffff:ffff,CA
2606:b00::,2606:b00:ffff:ffff:ffff:ffff:ffff:ffff,US
2606:b80::,2606:b80:ffff:ffff:ffff:ffff:ffff:ffff,BM
-2606:c00::,2606:c00:4:ffff:ffff:ffff:ffff:ffff,US
-2606:c00:5::,2606:c00:5:7ff:ffff:ffff:ffff:ffff,TW
-2606:c00:5:800::,2606:c00:5:fff:ffff:ffff:ffff:ffff,CN
-2606:c00:5:1000::,2606:c00:5:ffff:ffff:ffff:ffff:ffff,TW
-2606:c00:6::,2606:c00:ffff:ffff:ffff:ffff:ffff:ffff,US
+2606:c00::,2606:c00:3ff:ffff:ffff:ffff:ffff:ffff,TW
+2606:c00:400::,2606:c00:ffff:ffff:ffff:ffff:ffff:ffff,US
2606:d00::,2606:d00:ffff:ffff:ffff:ffff:ffff:ffff,US
2606:d80::,2606:d80:ffff:ffff:ffff:ffff:ffff:ffff,US
2606:e80::,2606:e80:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -14034,6 +14722,7 @@
2606:8c00::,2606:8c00:ffff:ffff:ffff:ffff:ffff:ffff,CA
2606:8c80::,2606:8c80:ffff:ffff:ffff:ffff:ffff:ffff,US
2606:8d00::,2606:8d00:ffff:ffff:ffff:ffff:ffff:ffff,US
+2606:8d80::,2606:8d80:ffff:ffff:ffff:ffff:ffff:ffff,US
2606:8e80::,2606:8e80:ffff:ffff:ffff:ffff:ffff:ffff,US
2606:8f00::,2606:8f00:ffff:ffff:ffff:ffff:ffff:ffff,US
2606:8f80::,2606:8f80:ffff:ffff:ffff:ffff:ffff:ffff,CA
@@ -14259,7 +14948,6 @@
2606:ff80::,2606:ff80:ffff:ffff:ffff:ffff:ffff:ffff,US
2607::,2607::ffff:ffff:ffff:ffff:ffff:ffff,CA
2607:80::,2607:80:ffff:ffff:ffff:ffff:ffff:ffff,US
-2607:90::,2607:90:3ff:ffff:ffff:ffff:ffff:ffff,US
2607:100::,2607:100:ffff:ffff:ffff:ffff:ffff:ffff,CA
2607:180::,2607:180:ffff:ffff:ffff:ffff:ffff:ffff,CA
2607:200::,2607:200:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -14448,7 +15136,6 @@
2607:5f80::,2607:5f80:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:6000::,2607:600f:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:6100::,2607:6100:ffff:ffff:ffff:ffff:ffff:ffff,US
-2607:6180::,2607:6180:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:6200::,2607:6200:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:6280::,2607:6280:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:6300::,2607:6300:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -14522,10 +15209,11 @@
2607:8580::,2607:8580:ffff:ffff:ffff:ffff:ffff:ffff,VI
2607:8600::,2607:8600:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:8680::,2607:8680:ffff:ffff:ffff:ffff:ffff:ffff,US
-2607:8700::,2607:8700:104:ffff:ffff:ffff:ffff:ffff,US
+2607:8700::,2607:8700:100:ffff:ffff:ffff:ffff:ffff,CA
+2607:8700:101::,2607:8700:104:ffff:ffff:ffff:ffff:ffff,US
2607:8700:105::,2607:8700:105:ffff:ffff:ffff:ffff:ffff,NL
-2607:8700:106::,2607:8700:3ff:ffff:ffff:ffff:ffff:ffff,US
-2607:8700:400::,2607:8700:ffff:ffff:ffff:ffff:ffff:ffff,CA
+2607:8700:106::,2607:8700:109:ffff:ffff:ffff:ffff:ffff,US
+2607:8700:10a::,2607:8700:ffff:ffff:ffff:ffff:ffff:ffff,CA
2607:8780::,2607:8780:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:8800::,2607:8800:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:8880::,2607:8880:ffff:ffff:ffff:ffff:ffff:ffff,CA
@@ -14756,8 +15444,8 @@
2607:f0d8::,2607:f0dc:4fff:ffff:ffff:ffff:ffff:ffff,US
2607:f0dc:5000::,2607:f0dc:5000:ffff:ffff:ffff:ffff:ffff,TW
2607:f0dc:5001::,2607:f0dc:5001:ffff:ffff:ffff:ffff:ffff,US
-2607:f0dc:5002::,2607:f0dc:53ff:ffff:ffff:ffff:ffff:ffff,TW
-2607:f0dc:5400::,2607:f0e0:ffff:ffff:ffff:ffff:ffff:ffff,US
+2607:f0dc:5002::,2607:f0dc:50ff:ffff:ffff:ffff:ffff:ffff,TW
+2607:f0dc:5100::,2607:f0e0:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:f0e8::,2607:f0e8:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:f0f8::,2607:f0f8:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:f100::,2607:f100:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -14871,7 +15559,6 @@
2607:f498::,2607:f498:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:f4a0::,2607:f4a0:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:f4a8::,2607:f4a8:ffff:ffff:ffff:ffff:ffff:ffff,CA
-2607:f4b0::,2607:f4b0:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:f4b8::,2607:f4b8:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:f4c0::,2607:f4c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:f4c8::,2607:f4c8:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -15116,7 +15803,9 @@
2607:fcc0:4000::,2607:fcc0:5fff:ffff:ffff:ffff:ffff:ffff,GB
2607:fcc0:6000::,2607:fcc0:ffff:ffff:ffff:ffff:ffff:ffff,CA
2607:fcc8::,2607:fcc8:ffff:ffff:ffff:ffff:ffff:ffff,US
-2607:fcd0::,2607:fcd0:ffff:ffff:ffff:ffff:ffff:ffff,US
+2607:fcd0::,2607:fcd0:cd3f:ffff:ffff:ffff:ffff:ffff,US
+2607:fcd0:cd40::,2607:fcd0:cd7f:ffff:ffff:ffff:ffff:ffff,NL
+2607:fcd0:cd80::,2607:fcd0:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:fcd8::,2607:fcd8:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:fce0::,2607:fce0:ffff:ffff:ffff:ffff:ffff:ffff,US
2607:fce8::,2607:fce8:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -15470,40 +16159,104 @@
2620:0:ee0::,2620::ee0:ffff:ffff:ffff:ffff:ffff,US
2620:0:ef0::,2620::ef0:ffff:ffff:ffff:ffff:ffff,US
2620:0:f00::,2620::f7f:ffff:ffff:ffff:ffff:ffff,US
-2620:0:1000::,2620::1023:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1000::,2620::100b:ffff:ffff:ffff:ffff:ffff,US
+2620:0:100c::,2620::100c:ffff:ffff:ffff:ffff:ffff,CA
+2620:0:100d::,2620::1010:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1011::,2620::1011:ffff:ffff:ffff:ffff:ffff,AR
+2620:0:1012::,2620::1016:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1017::,2620::1017:ffff:ffff:ffff:ffff:ffff,CO
+2620:0:1018::,2620::1023:ffff:ffff:ffff:ffff:ffff,US
2620:0:1024::,2620::1027:ffff:ffff:ffff:ffff:ffff,BR
-2620:0:1028::,2620::103f:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1028::,2620::1033:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1034::,2620::1035:ffff:ffff:ffff:ffff:ffff,CA
+2620:0:1036::,2620::103f:ffff:ffff:ffff:ffff:ffff,US
2620:0:1040::,2620::1041:ffff:ffff:ffff:ffff:ffff,IE
2620:0:1042::,2620::1042:ffff:ffff:ffff:ffff:ffff,GB
-2620:0:1043::,2620::1043:ffff:ffff:ffff:ffff:ffff,IE
+2620:0:1043::,2620::1043:ffff:ffff:ffff:ffff:ffff,SE
2620:0:1044::,2620::1045:ffff:ffff:ffff:ffff:ffff,IL
2620:0:1046::,2620::1047:ffff:ffff:ffff:ffff:ffff,PL
-2620:0:1048::,2620::104f:ffff:ffff:ffff:ffff:ffff,DE
-2620:0:1050::,2620::1054:ffff:ffff:ffff:ffff:ffff,IE
+2620:0:1048::,2620::1048:ffff:ffff:ffff:ffff:ffff,IL
+2620:0:1049::,2620::1049:ffff:ffff:ffff:ffff:ffff,DE
+2620:0:104a::,2620::104a:ffff:ffff:ffff:ffff:ffff,AE
+2620:0:104b::,2620::104b:ffff:ffff:ffff:ffff:ffff,NL
+2620:0:104c::,2620::104e:ffff:ffff:ffff:ffff:ffff,DE
+2620:0:104f::,2620::1050:ffff:ffff:ffff:ffff:ffff,GB
+2620:0:1051::,2620::1051:ffff:ffff:ffff:ffff:ffff,ES
+2620:0:1052::,2620::1052:ffff:ffff:ffff:ffff:ffff,IE
+2620:0:1053::,2620::1053:ffff:ffff:ffff:ffff:ffff,FR
+2620:0:1054::,2620::1054:ffff:ffff:ffff:ffff:ffff,US
2620:0:1055::,2620::1055:ffff:ffff:ffff:ffff:ffff,BE
-2620:0:1056::,2620::1057:ffff:ffff:ffff:ffff:ffff,IE
-2620:0:1058::,2620::105f:ffff:ffff:ffff:ffff:ffff,CH
-2620:0:1060::,2620::106f:ffff:ffff:ffff:ffff:ffff,RU
-2620:0:1070::,2620::107f:ffff:ffff:ffff:ffff:ffff,GB
+2620:0:1056::,2620::1056:ffff:ffff:ffff:ffff:ffff,FR
+2620:0:1057::,2620::1057:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1058::,2620::1058:ffff:ffff:ffff:ffff:ffff,CH
+2620:0:1059::,2620::1059:ffff:ffff:ffff:ffff:ffff,DK
+2620:0:105a::,2620::105f:ffff:ffff:ffff:ffff:ffff,CH
+2620:0:1060::,2620::1060:ffff:ffff:ffff:ffff:ffff,FI
+2620:0:1061::,2620::1061:ffff:ffff:ffff:ffff:ffff,CH
+2620:0:1062::,2620::1065:ffff:ffff:ffff:ffff:ffff,HU
+2620:0:1066::,2620::1066:ffff:ffff:ffff:ffff:ffff,KE
+2620:0:1067::,2620::1068:ffff:ffff:ffff:ffff:ffff,HU
+2620:0:1069::,2620::1069:ffff:ffff:ffff:ffff:ffff,PL
+2620:0:106a::,2620::106a:ffff:ffff:ffff:ffff:ffff,PT
+2620:0:106b::,2620::106b:ffff:ffff:ffff:ffff:ffff,RU
+2620:0:106c::,2620::106e:ffff:ffff:ffff:ffff:ffff,HU
+2620:0:106f::,2620::106f:ffff:ffff:ffff:ffff:ffff,CZ
+2620:0:1070::,2620::1070:ffff:ffff:ffff:ffff:ffff,DE
+2620:0:1071::,2620::1071:ffff:ffff:ffff:ffff:ffff,IT
+2620:0:1072::,2620::1073:ffff:ffff:ffff:ffff:ffff,GB
+2620:0:1074::,2620::1075:ffff:ffff:ffff:ffff:ffff,IE
+2620:0:1076::,2620::1076:ffff:ffff:ffff:ffff:ffff,TR
+2620:0:1077::,2620::1077:ffff:ffff:ffff:ffff:ffff,IE
+2620:0:1078::,2620::1078:ffff:ffff:ffff:ffff:ffff,NG
+2620:0:1079::,2620::1079:ffff:ffff:ffff:ffff:ffff,DK
+2620:0:107a::,2620::107a:ffff:ffff:ffff:ffff:ffff,IE
+2620:0:107b::,2620::107b:ffff:ffff:ffff:ffff:ffff,UA
+2620:0:107c::,2620::107c:ffff:ffff:ffff:ffff:ffff,GR
+2620:0:107d::,2620::107e:ffff:ffff:ffff:ffff:ffff,IE
+2620:0:107f::,2620::107f:ffff:ffff:ffff:ffff:ffff,BE
2620:0:1080::,2620::10c7:ffff:ffff:ffff:ffff:ffff,US
-2620:0:10c8::,2620::10cf:ffff:ffff:ffff:ffff:ffff,CN
-2620:0:10d0::,2620::10ff:ffff:ffff:ffff:ffff:ffff,US
+2620:0:10c8::,2620::10c8:ffff:ffff:ffff:ffff:ffff,CN
+2620:0:10c9::,2620::10c9:ffff:ffff:ffff:ffff:ffff,DE
+2620:0:10ca::,2620::10cb:ffff:ffff:ffff:ffff:ffff,CN
+2620:0:10cc::,2620::10cc:ffff:ffff:ffff:ffff:ffff,TW
+2620:0:10cd::,2620::10cf:ffff:ffff:ffff:ffff:ffff,CN
+2620:0:10d0::,2620::10e7:ffff:ffff:ffff:ffff:ffff,US
+2620:0:10e8::,2620::10e8:ffff:ffff:ffff:ffff:ffff,AR
+2620:0:10e9::,2620::10e9:ffff:ffff:ffff:ffff:ffff,US
+2620:0:10ea::,2620::10eb:ffff:ffff:ffff:ffff:ffff,AR
+2620:0:10ec::,2620::10ff:ffff:ffff:ffff:ffff:ffff,US
2620:0:1400::,2620::143f:ffff:ffff:ffff:ffff:ffff,US
2620:0:1500::,2620::157f:ffff:ffff:ffff:ffff:ffff,US
2620:0:1600::,2620::167f:ffff:ffff:ffff:ffff:ffff,US
2620:0:1700::,2620::170f:ffff:ffff:ffff:ffff:ffff,US
2620:0:1800::,2620::181f:ffff:ffff:ffff:ffff:ffff,US
-2620:0:1a00::,2620::1a80:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1a00::,2620::1a00:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1a10::,2620::1a10:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1a20::,2620::1a20:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1a30::,2620::1a30:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1a40::,2620::1a40:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1a50::,2620::1a50:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1a70::,2620::1a70:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1a80::,2620::1a80:ffff:ffff:ffff:ffff:ffff,US
2620:0:1aa0::,2620::1aa0:ffff:ffff:ffff:ffff:ffff,US
2620:0:1ab0::,2620::1ab0:ffff:ffff:ffff:ffff:ffff,US
2620:0:1ac0::,2620::1ac0:ffff:ffff:ffff:ffff:ffff,US
2620:0:1ad0::,2620::1ad7:ffff:ffff:ffff:ffff:ffff,US
2620:0:1ae0::,2620::1ae0:ffff:ffff:ffff:ffff:ffff,US
2620:0:1af0::,2620::1af0:ffff:ffff:ffff:ffff:ffff,CA
-2620:0:1b00::,2620::1cff:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1b00::,2620::1b07:ffff:ffff:ffff:ffff:ffff,US
+2620:0:1c00::,2620::1cff:ffff:ffff:ffff:ffff:ffff,US
2620:0:2000::,2620::24ff:ffff:ffff:ffff:ffff:ffff,US
-2620:0:2800::,2620::2fff:ffff:ffff:ffff:ffff:ffff,US
-2620:0:5000::,2620::510f:ffff:ffff:ffff:ffff:ffff,US
+2620:0:2800::,2620::290f:ffff:ffff:ffff:ffff:ffff,US
+2620:0:2a00::,2620::2fff:ffff:ffff:ffff:ffff:ffff,US
+2620:0:5000::,2620::5000:ffff:ffff:ffff:ffff:ffff,US
+2620:0:5010::,2620::5010:ffff:ffff:ffff:ffff:ffff,US
+2620:0:5030::,2620::5030:ffff:ffff:ffff:ffff:ffff,US
+2620:0:5040::,2620::5040:ffff:ffff:ffff:ffff:ffff,US
+2620:0:5050::,2620::5050:ffff:ffff:ffff:ffff:ffff,US
+2620:0:5060::,2620::5060:ffff:ffff:ffff:ffff:ffff,CA
+2620:0:5070::,2620::5070:ffff:ffff:ffff:ffff:ffff,US
+2620:0:5080::,2620::510f:ffff:ffff:ffff:ffff:ffff,US
2620:0:5200::,2620::53ff:ffff:ffff:ffff:ffff:ffff,US
2620:0:7f00::,2620::7f00:ffff:ffff:ffff:ffff:ffff,CA
2620:0:aa00::,2620::aa00:ffff:ffff:ffff:ffff:ffff,US
@@ -15517,7 +16270,7 @@
2620:1:c000::,2620:1:c000:ffff:ffff:ffff:ffff:ffff,US
2620:1:e000::,2620:1:e000:ffff:ffff:ffff:ffff:ffff,US
2620:2::,2620:2::ffff:ffff:ffff:ffff:ffff,US
-2620:2:2000::,2620:2:2000:ffff:ffff:ffff:ffff:ffff,US
+2620:2:2000::,2620:2:23ff:ffff:ffff:ffff:ffff:ffff,US
2620:2:4000::,2620:2:4000:ffff:ffff:ffff:ffff:ffff,CA
2620:2:6000::,2620:2:600f:ffff:ffff:ffff:ffff:ffff,US
2620:2:8000::,2620:2:8000:ffff:ffff:ffff:ffff:ffff,US
@@ -15531,10 +16284,9 @@
2620:3:8000::,2620:3:8000:ffff:ffff:ffff:ffff:ffff,US
2620:3:a000::,2620:3:a000:ffff:ffff:ffff:ffff:ffff,CA
2620:3:c000::,2620:3:c000:ffff:ffff:ffff:ffff:ffff,US
-2620:3:e000::,2620:3:e000:ffff:ffff:ffff:ffff:ffff,US
2620:4::,2620:4::ffff:ffff:ffff:ffff:ffff,US
2620:4:2000::,2620:4:2000:ffff:ffff:ffff:ffff:ffff,US
-2620:4:4000::,2620:4:4000:ffff:ffff:ffff:ffff:ffff,US
+2620:4:4000::,2620:4:43ff:ffff:ffff:ffff:ffff:ffff,US
2620:4:6000::,2620:4:6000:ffff:ffff:ffff:ffff:ffff,US
2620:4:8000::,2620:4:8000:ffff:ffff:ffff:ffff:ffff,US
2620:4:a000::,2620:4:a000:ffff:ffff:ffff:ffff:ffff,US
@@ -15637,7 +16389,7 @@
2620:12:8000::,2620:12:8000:ffff:ffff:ffff:ffff:ffff,US
2620:12:a000::,2620:12:a000:ffff:ffff:ffff:ffff:ffff,US
2620:12:c000::,2620:12:c000:ffff:ffff:ffff:ffff:ffff,US
-2620:13::,2620:13::ffff:ffff:ffff:ffff:ffff,CA
+2620:13::,2620:13:3ff:ffff:ffff:ffff:ffff:ffff,CA
2620:13:2000::,2620:13:2000:ffff:ffff:ffff:ffff:ffff,CA
2620:13:4000::,2620:13:4000:ffff:ffff:ffff:ffff:ffff,US
2620:13:6000::,2620:13:6000:ffff:ffff:ffff:ffff:ffff,CA
@@ -15713,7 +16465,7 @@
2620:1c:c000::,2620:1c:c000:ffff:ffff:ffff:ffff:ffff,US
2620:1c:e000::,2620:1c:e000:ffff:ffff:ffff:ffff:ffff,US
2620:1d::,2620:1d:f:ffff:ffff:ffff:ffff:ffff,US
-2620:1d:2000::,2620:1d:2000:ffff:ffff:ffff:ffff:ffff,US
+2620:1d:2000::,2620:1d:23ff:ffff:ffff:ffff:ffff:ffff,US
2620:1d:4000::,2620:1d:4000:ffff:ffff:ffff:ffff:ffff,US
2620:1d:6000::,2620:1d:6000:ffff:ffff:ffff:ffff:ffff,US
2620:1d:8000::,2620:1d:8000:ffff:ffff:ffff:ffff:ffff,US
@@ -15768,9 +16520,9 @@
2620:23:e000::,2620:23:e000:ffff:ffff:ffff:ffff:ffff,US
2620:24::,2620:24:1f:ffff:ffff:ffff:ffff:ffff,US
2620:24:40c0::,2620:24:40c0:ffff:ffff:ffff:ffff:ffff,US
-2620:24:8000::,2620:24:83ff:ffff:ffff:ffff:ffff:ffff,US
+2620:24:8080::,2620:24:8080:ffff:ffff:ffff:ffff:ffff,US
2620:24:c040::,2620:24:c040:ffff:ffff:ffff:ffff:ffff,US
-2620:25::,2620:25:3ff:ffff:ffff:ffff:ffff:ffff,US
+2620:25::,2620:25::ffff:ffff:ffff:ffff:ffff,US
2620:25:2000::,2620:25:2000:ffff:ffff:ffff:ffff:ffff,US
2620:25:4000::,2620:25:4000:ffff:ffff:ffff:ffff:ffff,US
2620:25:6000::,2620:25:6000:ffff:ffff:ffff:ffff:ffff,CA
@@ -15823,7 +16575,7 @@
2620:2d:a000::,2620:2d:a000:ffff:ffff:ffff:ffff:ffff,US
2620:2d:c000::,2620:2d:c00f:ffff:ffff:ffff:ffff:ffff,US
2620:2e::,2620:2e:3f:ffff:ffff:ffff:ffff:ffff,US
-2620:2e:40c0::,2620:2e:40c0:ffff:ffff:ffff:ffff:ffff,US
+2620:2e:40c0::,2620:2e:40cf:ffff:ffff:ffff:ffff:ffff,US
2620:2e:c040::,2620:2e:c040:ffff:ffff:ffff:ffff:ffff,US
2620:2f::,2620:2f::ffff:ffff:ffff:ffff:ffff,CA
2620:2f:2000::,2620:2f:2000:ffff:ffff:ffff:ffff:ffff,US
@@ -15869,7 +16621,7 @@
2620:34:c000::,2620:34:c000:ffff:ffff:ffff:ffff:ffff,US
2620:34:e000::,2620:34:e000:ffff:ffff:ffff:ffff:ffff,US
2620:35:4000::,2620:35:400f:ffff:ffff:ffff:ffff:ffff,CA
-2620:35:8000::,2620:35:8000:ffff:ffff:ffff:ffff:ffff,CA
+2620:35:8000::,2620:35:83ff:ffff:ffff:ffff:ffff:ffff,CA
2620:35:a000::,2620:35:a000:ffff:ffff:ffff:ffff:ffff,US
2620:35:c000::,2620:35:c00f:ffff:ffff:ffff:ffff:ffff,US
2620:36::,2620:36::ffff:ffff:ffff:ffff:ffff,US
@@ -15893,7 +16645,7 @@
2620:38:a000::,2620:38:a000:ffff:ffff:ffff:ffff:ffff,US
2620:38:c000::,2620:38:c000:ffff:ffff:ffff:ffff:ffff,US
2620:38:e000::,2620:38:e000:ffff:ffff:ffff:ffff:ffff,US
-2620:39::,2620:39:f:ffff:ffff:ffff:ffff:ffff,US
+2620:39::,2620:39:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:39:2000::,2620:39:2000:ffff:ffff:ffff:ffff:ffff,US
2620:39:4000::,2620:39:4000:ffff:ffff:ffff:ffff:ffff,US
2620:39:6000::,2620:39:6000:ffff:ffff:ffff:ffff:ffff,US
@@ -15907,7 +16659,7 @@
2620:3a:a000::,2620:3a:a000:ffff:ffff:ffff:ffff:ffff,US
2620:3a:c000::,2620:3a:c3ff:ffff:ffff:ffff:ffff:ffff,US
2620:3a:e000::,2620:3a:e000:ffff:ffff:ffff:ffff:ffff,US
-2620:3b::,2620:3b::ffff:ffff:ffff:ffff:ffff,US
+2620:3b::,2620:3b:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:3b:2000::,2620:3b:2000:ffff:ffff:ffff:ffff:ffff,US
2620:3b:4000::,2620:3b:4000:ffff:ffff:ffff:ffff:ffff,US
2620:3b:6000::,2620:3b:6000:ffff:ffff:ffff:ffff:ffff,US
@@ -16036,7 +16788,7 @@
2620:4d:a000::,2620:4d:a000:ffff:ffff:ffff:ffff:ffff,US
2620:4d:c000::,2620:4d:c000:ffff:ffff:ffff:ffff:ffff,US
2620:4d:e000::,2620:4d:e000:ffff:ffff:ffff:ffff:ffff,US
-2620:4e::,2620:4e:3ff:ffff:ffff:ffff:ffff:ffff,US
+2620:4e::,2620:4e::ffff:ffff:ffff:ffff:ffff,US
2620:4e:2000::,2620:4e:2000:ffff:ffff:ffff:ffff:ffff,VG
2620:4e:4000::,2620:4e:4000:ffff:ffff:ffff:ffff:ffff,CA
2620:4e:6000::,2620:4e:6000:ffff:ffff:ffff:ffff:ffff,US
@@ -16081,7 +16833,6 @@
2620:54::,2620:54::ffff:ffff:ffff:ffff:ffff,US
2620:54:2000::,2620:54:2000:ffff:ffff:ffff:ffff:ffff,US
2620:54:4000::,2620:54:4000:ffff:ffff:ffff:ffff:ffff,US
-2620:54:6000::,2620:54:6000:ffff:ffff:ffff:ffff:ffff,US
2620:54:8000::,2620:54:8000:ffff:ffff:ffff:ffff:ffff,US
2620:54:a000::,2620:54:a000:ffff:ffff:ffff:ffff:ffff,US
2620:54:c000::,2620:54:c000:ffff:ffff:ffff:ffff:ffff,CA
@@ -16110,7 +16861,7 @@
2620:58:4c00::,2620:58:4c00:ffff:ffff:ffff:ffff:ffff,US
2620:58:8800::,2620:58:8800:ffff:ffff:ffff:ffff:ffff,US
2620:58:c400::,2620:58:c400:ffff:ffff:ffff:ffff:ffff,CA
-2620:59::,2620:59::ffff:ffff:ffff:ffff:ffff,US
+2620:59::,2620:59:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:59:2000::,2620:59:2000:ffff:ffff:ffff:ffff:ffff,US
2620:59:4000::,2620:59:4000:ffff:ffff:ffff:ffff:ffff,US
2620:59:6000::,2620:59:6000:ffff:ffff:ffff:ffff:ffff,JM
@@ -16123,29 +16874,49 @@
2620:5a:4000::,2620:5a:4000:ffff:ffff:ffff:ffff:ffff,CA
2620:5a:6000::,2620:5a:6000:ffff:ffff:ffff:ffff:ffff,US
2620:5a:8000::,2620:5a:8000:ffff:ffff:ffff:ffff:ffff,US
+2620:5a:a000::,2620:5a:a000:ffff:ffff:ffff:ffff:ffff,US
2620:5a:c000::,2620:5a:c00f:ffff:ffff:ffff:ffff:ffff,US
2620:5b::,2620:5b::ffff:ffff:ffff:ffff:ffff,US
+2620:5b:2000::,2620:5b:2000:ffff:ffff:ffff:ffff:ffff,US
2620:5b:4000::,2620:5b:4000:ffff:ffff:ffff:ffff:ffff,US
+2620:5b:6000::,2620:5b:6000:ffff:ffff:ffff:ffff:ffff,US
2620:5b:8000::,2620:5b:8000:ffff:ffff:ffff:ffff:ffff,CA
+2620:5b:a000::,2620:5b:a000:ffff:ffff:ffff:ffff:ffff,US
2620:5b:c000::,2620:5b:c00f:ffff:ffff:ffff:ffff:ffff,CA
2620:5c::,2620:5c::ffff:ffff:ffff:ffff:ffff,US
+2620:5c:2000::,2620:5c:2000:ffff:ffff:ffff:ffff:ffff,US
+2620:5c:6000::,2620:5c:6000:ffff:ffff:ffff:ffff:ffff,CA
2620:5c:8000::,2620:5c:8000:ffff:ffff:ffff:ffff:ffff,US
+2620:5c:a000::,2620:5c:a000:ffff:ffff:ffff:ffff:ffff,US
2620:5c:c000::,2620:5c:c00f:ffff:ffff:ffff:ffff:ffff,US
2620:5d::,2620:5d::ffff:ffff:ffff:ffff:ffff,US
+2620:5d:2000::,2620:5d:2000:ffff:ffff:ffff:ffff:ffff,US
2620:5d:4000::,2620:5d:4000:ffff:ffff:ffff:ffff:ffff,US
+2620:5d:6000::,2620:5d:6000:ffff:ffff:ffff:ffff:ffff,US
2620:5d:8000::,2620:5d:8000:ffff:ffff:ffff:ffff:ffff,US
+2620:5d:a000::,2620:5d:a000:ffff:ffff:ffff:ffff:ffff,CA
2620:5d:c000::,2620:5d:c000:ffff:ffff:ffff:ffff:ffff,US
+2620:5d:e000::,2620:5d:e000:ffff:ffff:ffff:ffff:ffff,US
2620:5e::,2620:5e::ffff:ffff:ffff:ffff:ffff,US
+2620:5e:2000::,2620:5e:2000:ffff:ffff:ffff:ffff:ffff,US
2620:5e:4000::,2620:5e:4000:ffff:ffff:ffff:ffff:ffff,CA
+2620:5e:6000::,2620:5e:6000:ffff:ffff:ffff:ffff:ffff,US
2620:5e:8000::,2620:5e:8000:ffff:ffff:ffff:ffff:ffff,US
+2620:5e:a000::,2620:5e:a000:ffff:ffff:ffff:ffff:ffff,US
2620:5e:c000::,2620:5e:c000:ffff:ffff:ffff:ffff:ffff,CA
+2620:5e:e000::,2620:5e:e000:ffff:ffff:ffff:ffff:ffff,US
2620:5f::,2620:5f::ffff:ffff:ffff:ffff:ffff,US
+2620:5f:2000::,2620:5f:2000:ffff:ffff:ffff:ffff:ffff,US
2620:5f:4000::,2620:5f:4000:ffff:ffff:ffff:ffff:ffff,US
-2620:5f:8000::,2620:5f:83ff:ffff:ffff:ffff:ffff:ffff,US
+2620:5f:6000::,2620:5f:6000:ffff:ffff:ffff:ffff:ffff,US
+2620:5f:8000::,2620:5f:8000:ffff:ffff:ffff:ffff:ffff,US
+2620:5f:a000::,2620:5f:a000:ffff:ffff:ffff:ffff:ffff,US
2620:5f:c000::,2620:5f:c000:ffff:ffff:ffff:ffff:ffff,US
+2620:5f:e000::,2620:5f:e000:ffff:ffff:ffff:ffff:ffff,US
2620:60::,2620:60::ffff:ffff:ffff:ffff:ffff,US
+2620:60:2000::,2620:60:2000:ffff:ffff:ffff:ffff:ffff,US
2620:60:4000::,2620:60:400f:ffff:ffff:ffff:ffff:ffff,US
-2620:60:8000::,2620:60:8000:ffff:ffff:ffff:ffff:ffff,CA
+2620:60:8000::,2620:60:800f:ffff:ffff:ffff:ffff:ffff,CA
2620:61::,2620:61::ffff:ffff:ffff:ffff:ffff,CA
2620:61:4000::,2620:61:400f:ffff:ffff:ffff:ffff:ffff,US
2620:61:8000::,2620:61:8000:ffff:ffff:ffff:ffff:ffff,US
@@ -16180,7 +16951,7 @@
2620:69:4000::,2620:69:4000:ffff:ffff:ffff:ffff:ffff,US
2620:69:8000::,2620:69:8000:ffff:ffff:ffff:ffff:ffff,US
2620:69:c000::,2620:69:c000:ffff:ffff:ffff:ffff:ffff,CA
-2620:6a::,2620:6a::ffff:ffff:ffff:ffff:ffff,US
+2620:6a::,2620:6a:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:6a:4000::,2620:6a:4000:ffff:ffff:ffff:ffff:ffff,CA
2620:6a:8000::,2620:6a:8000:ffff:ffff:ffff:ffff:ffff,US
2620:6a:c000::,2620:6a:c000:ffff:ffff:ffff:ffff:ffff,CA
@@ -16210,7 +16981,7 @@
2620:71::,2620:71::ffff:ffff:ffff:ffff:ffff,US
2620:71:4000::,2620:71:4000:ffff:ffff:ffff:ffff:ffff,US
2620:71:8000::,2620:71:8000:ffff:ffff:ffff:ffff:ffff,US
-2620:71:c000::,2620:71:c000:ffff:ffff:ffff:ffff:ffff,US
+2620:71:c000::,2620:71:c00f:ffff:ffff:ffff:ffff:ffff,US
2620:72::,2620:72:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:72:4000::,2620:72:4000:ffff:ffff:ffff:ffff:ffff,US
2620:72:8000::,2620:72:8000:ffff:ffff:ffff:ffff:ffff,US
@@ -16229,7 +17000,17 @@
2620:74:40::,2620:74:48:ffff:ffff:ffff:ffff:ffff,US
2620:74:49::,2620:74:4a:ffff:ffff:ffff:ffff:ffff,DE
2620:74:4b::,2620:74:4c:ffff:ffff:ffff:ffff:ffff,HK
-2620:74:4d::,2620:74:3ff:ffff:ffff:ffff:ffff:ffff,US
+2620:74:4d::,2620:74:56:ffff:ffff:ffff:ffff:ffff,US
+2620:74:57::,2620:74:58:ffff:ffff:ffff:ffff:ffff,FR
+2620:74:59::,2620:74:59:ffff:ffff:ffff:ffff:ffff,US
+2620:74:5a::,2620:74:5e:ffff:ffff:ffff:ffff:ffff,GB
+2620:74:5f::,2620:74:60:ffff:ffff:ffff:ffff:ffff,US
+2620:74:61::,2620:74:61:ffff:ffff:ffff:ffff:ffff,SE
+2620:74:62::,2620:74:64:ffff:ffff:ffff:ffff:ffff,US
+2620:74:65::,2620:74:67:ffff:ffff:ffff:ffff:ffff,DE
+2620:74:68::,2620:74:6a:ffff:ffff:ffff:ffff:ffff,US
+2620:74:6b::,2620:74:6c:ffff:ffff:ffff:ffff:ffff,NL
+2620:74:6d::,2620:74:ff:ffff:ffff:ffff:ffff:ffff,US
2620:74:40c0::,2620:74:40c0:ffff:ffff:ffff:ffff:ffff,US
2620:74:8080::,2620:74:8080:ffff:ffff:ffff:ffff:ffff,US
2620:74:c040::,2620:74:c040:ffff:ffff:ffff:ffff:ffff,US
@@ -16270,7 +17051,7 @@
2620:7d:8000::,2620:7d:8000:ffff:ffff:ffff:ffff:ffff,US
2620:7d:c000::,2620:7d:c000:ffff:ffff:ffff:ffff:ffff,US
2620:7e::,2620:7e:f:ffff:ffff:ffff:ffff:ffff,US
-2620:7e:30e0::,2620:7e:30e0:ffff:ffff:ffff:ffff:ffff,US
+2620:7e:3000::,2620:7e:33ff:ffff:ffff:ffff:ffff:ffff,US
2620:7e:60c0::,2620:7e:60c0:ffff:ffff:ffff:ffff:ffff,US
2620:7e:9000::,2620:7e:93ff:ffff:ffff:ffff:ffff:ffff,US
2620:7e:c080::,2620:7e:c080:ffff:ffff:ffff:ffff:ffff,US
@@ -16287,7 +17068,7 @@
2620:82:4000::,2620:82:4000:ffff:ffff:ffff:ffff:ffff,US
2620:82:8000::,2620:82:8000:ffff:ffff:ffff:ffff:ffff,US
2620:82:c000::,2620:82:c000:ffff:ffff:ffff:ffff:ffff,US
-2620:83::,2620:83:3ff:ffff:ffff:ffff:ffff:ffff,US
+2620:83::,2620:83::ffff:ffff:ffff:ffff:ffff,US
2620:83:4000::,2620:83:43ff:ffff:ffff:ffff:ffff:ffff,US
2620:83:8000::,2620:83:83ff:ffff:ffff:ffff:ffff:ffff,US
2620:83:c000::,2620:83:c000:ffff:ffff:ffff:ffff:ffff,US
@@ -16378,7 +17159,6 @@
2620:9b:8000::,2620:9b:80ff:ffff:ffff:ffff:ffff:ffff,US
2620:9b:c000::,2620:9b:c00f:ffff:ffff:ffff:ffff:ffff,US
2620:9c::,2620:9c::ffff:ffff:ffff:ffff:ffff,US
-2620:9c:4000::,2620:9c:400f:ffff:ffff:ffff:ffff:ffff,US
2620:9c:8000::,2620:9c:8000:ffff:ffff:ffff:ffff:ffff,US
2620:9c:c000::,2620:9c:c000:ffff:ffff:ffff:ffff:ffff,US
2620:9d::,2620:9d::ffff:ffff:ffff:ffff:ffff,US
@@ -16543,7 +17323,7 @@
2620:c5::,2620:c5::ffff:ffff:ffff:ffff:ffff,US
2620:c5:4000::,2620:c5:4000:ffff:ffff:ffff:ffff:ffff,US
2620:c5:c000::,2620:c5:c000:ffff:ffff:ffff:ffff:ffff,US
-2620:c6::,2620:c6::ffff:ffff:ffff:ffff:ffff,US
+2620:c6::,2620:c6:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:c6:4000::,2620:c6:4000:ffff:ffff:ffff:ffff:ffff,US
2620:c6:8000::,2620:c6:8000:ffff:ffff:ffff:ffff:ffff,US
2620:c6:c000::,2620:c6:c000:ffff:ffff:ffff:ffff:ffff,US
@@ -16562,7 +17342,7 @@
2620:ca:4000::,2620:ca:4000:ffff:ffff:ffff:ffff:ffff,US
2620:ca:8000::,2620:ca:8000:ffff:ffff:ffff:ffff:ffff,US
2620:ca:c000::,2620:ca:c000:ffff:ffff:ffff:ffff:ffff,US
-2620:cb::,2620:cb:f:ffff:ffff:ffff:ffff:ffff,US
+2620:cb::,2620:cb:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:cb:4000::,2620:cb:4000:ffff:ffff:ffff:ffff:ffff,US
2620:cb:8000::,2620:cb:8000:ffff:ffff:ffff:ffff:ffff,US
2620:cb:c000::,2620:cb:c000:ffff:ffff:ffff:ffff:ffff,US
@@ -16580,7 +17360,7 @@
2620:ce:c000::,2620:ce:c000:ffff:ffff:ffff:ffff:ffff,US
2620:cf:4000::,2620:cf:4000:ffff:ffff:ffff:ffff:ffff,US
2620:cf:8000::,2620:cf:8000:ffff:ffff:ffff:ffff:ffff,US
-2620:cf:c000::,2620:cf:c3ff:ffff:ffff:ffff:ffff:ffff,US
+2620:cf:c000::,2620:cf:c00f:ffff:ffff:ffff:ffff:ffff,US
2620:d0::,2620:d0::ffff:ffff:ffff:ffff:ffff,US
2620:d0:4000::,2620:d0:4000:ffff:ffff:ffff:ffff:ffff,US
2620:d0:8000::,2620:d0:8000:ffff:ffff:ffff:ffff:ffff,US
@@ -16595,7 +17375,7 @@
2620:d3:4000::,2620:d3:4000:ffff:ffff:ffff:ffff:ffff,US
2620:d3:8000::,2620:d3:8000:ffff:ffff:ffff:ffff:ffff,US
2620:d3:c000::,2620:d3:c000:ffff:ffff:ffff:ffff:ffff,US
-2620:d4::,2620:d4::ffff:ffff:ffff:ffff:ffff,US
+2620:d4::,2620:d4:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:d4:4000::,2620:d4:4000:ffff:ffff:ffff:ffff:ffff,US
2620:d4:8000::,2620:d4:8000:ffff:ffff:ffff:ffff:ffff,US
2620:d5::,2620:d5::ffff:ffff:ffff:ffff:ffff,US
@@ -16668,7 +17448,7 @@
2620:e6:4000::,2620:e6:4000:ffff:ffff:ffff:ffff:ffff,US
2620:e6:8000::,2620:e6:8000:ffff:ffff:ffff:ffff:ffff,US
2620:e6:c000::,2620:e6:c000:ffff:ffff:ffff:ffff:ffff,US
-2620:e7::,2620:e7::ffff:ffff:ffff:ffff:ffff,US
+2620:e7::,2620:e7:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:e7:4000::,2620:e7:4000:ffff:ffff:ffff:ffff:ffff,US
2620:e7:8000::,2620:e7:8000:ffff:ffff:ffff:ffff:ffff,CA
2620:e7:c000::,2620:e7:c000:ffff:ffff:ffff:ffff:ffff,US
@@ -16727,7 +17507,7 @@
2620:f4::,2620:f4::ffff:ffff:ffff:ffff:ffff,US
2620:f4:4000::,2620:f4:40ff:ffff:ffff:ffff:ffff:ffff,US
2620:f4:8000::,2620:f4:8000:ffff:ffff:ffff:ffff:ffff,CA
-2620:f4:c000::,2620:f4:c3ff:ffff:ffff:ffff:ffff:ffff,US
+2620:f4:c000::,2620:f4:c000:ffff:ffff:ffff:ffff:ffff,US
2620:f5::,2620:f5::ffff:ffff:ffff:ffff:ffff,US
2620:f5:4000::,2620:f5:4000:ffff:ffff:ffff:ffff:ffff,US
2620:f5:8000::,2620:f5:8000:ffff:ffff:ffff:ffff:ffff,US
@@ -16744,7 +17524,7 @@
2620:f8:4000::,2620:f8:4000:ffff:ffff:ffff:ffff:ffff,US
2620:f8:8000::,2620:f8:8000:ffff:ffff:ffff:ffff:ffff,US
2620:f8:c000::,2620:f8:c000:ffff:ffff:ffff:ffff:ffff,US
-2620:f9::,2620:f9:f:ffff:ffff:ffff:ffff:ffff,US
+2620:f9::,2620:f9:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:f9:4000::,2620:f9:4000:ffff:ffff:ffff:ffff:ffff,US
2620:f9:8000::,2620:f9:8000:ffff:ffff:ffff:ffff:ffff,US
2620:f9:c000::,2620:f9:c000:ffff:ffff:ffff:ffff:ffff,US
@@ -16791,7 +17571,7 @@
2620:101:5000::,2620:101:503f:ffff:ffff:ffff:ffff:ffff,US
2620:101:6000::,2620:101:6001:ffff:ffff:ffff:ffff:ffff,US
2620:101:7000::,2620:101:7001:ffff:ffff:ffff:ffff:ffff,US
-2620:101:8000::,2620:101:83ff:ffff:ffff:ffff:ffff:ffff,US
+2620:101:8000::,2620:101:80ff:ffff:ffff:ffff:ffff:ffff,US
2620:101:9000::,2620:101:900f:ffff:ffff:ffff:ffff:ffff,US
2620:101:b000::,2620:101:b07f:ffff:ffff:ffff:ffff:ffff,US
2620:101:c000::,2620:101:c3ff:ffff:ffff:ffff:ffff:ffff,CA
@@ -16838,14 +17618,14 @@
2620:104:400c::,2620:104:400c:ffff:ffff:ffff:ffff:ffff,NZ
2620:104:400d::,2620:104:43ff:ffff:ffff:ffff:ffff:ffff,US
2620:104:5000::,2620:104:500f:ffff:ffff:ffff:ffff:ffff,US
-2620:104:6000::,2620:104:63ff:ffff:ffff:ffff:ffff:ffff,US
+2620:104:6000::,2620:104:600f:ffff:ffff:ffff:ffff:ffff,US
2620:104:8000::,2620:104:80ff:ffff:ffff:ffff:ffff:ffff,US
2620:104:9000::,2620:104:900f:ffff:ffff:ffff:ffff:ffff,US
2620:104:a000::,2620:104:a00f:ffff:ffff:ffff:ffff:ffff,US
-2620:104:b000::,2620:104:b3ff:ffff:ffff:ffff:ffff:ffff,US
+2620:104:b000::,2620:104:b01f:ffff:ffff:ffff:ffff:ffff,US
2620:104:c000::,2620:104:c00f:ffff:ffff:ffff:ffff:ffff,US
2620:104:d000::,2620:104:d0ff:ffff:ffff:ffff:ffff:ffff,US
-2620:104:e000::,2620:104:e3ff:ffff:ffff:ffff:ffff:ffff,US
+2620:104:e000::,2620:104:e0ff:ffff:ffff:ffff:ffff:ffff,US
2620:104:f000::,2620:104:f00f:ffff:ffff:ffff:ffff:ffff,US
2620:105::,2620:105:f:ffff:ffff:ffff:ffff:ffff,CA
2620:105:2000::,2620:105:20ff:ffff:ffff:ffff:ffff:ffff,US
@@ -16887,7 +17667,8 @@
2620:107:6000::,2620:107:600f:ffff:ffff:ffff:ffff:ffff,US
2620:107:7000::,2620:107:700f:ffff:ffff:ffff:ffff:ffff,US
2620:107:8000::,2620:107:80ff:ffff:ffff:ffff:ffff:ffff,US
-2620:107:9000::,2620:107:90ff:ffff:ffff:ffff:ffff:ffff,US
+2620:107:9000::,2620:107:90bf:ffff:ffff:ffff:ffff:ffff,US
+2620:107:90c0::,2620:107:90ff:ffff:ffff:ffff:ffff:ffff,CN
2620:107:a000::,2620:107:a0ff:ffff:ffff:ffff:ffff:ffff,US
2620:107:c000::,2620:107:c00f:ffff:ffff:ffff:ffff:ffff,US
2620:107:d000::,2620:107:d00f:ffff:ffff:ffff:ffff:ffff,US
@@ -16926,7 +17707,7 @@
2620:10a::,2620:10a:f:ffff:ffff:ffff:ffff:ffff,US
2620:10a:1000::,2620:10a:100f:ffff:ffff:ffff:ffff:ffff,US
2620:10a:2000::,2620:10a:200f:ffff:ffff:ffff:ffff:ffff,US
-2620:10a:3000::,2620:10a:30ff:ffff:ffff:ffff:ffff:ffff,US
+2620:10a:3000::,2620:10a:33ff:ffff:ffff:ffff:ffff:ffff,US
2620:10a:4000::,2620:10a:40ff:ffff:ffff:ffff:ffff:ffff,US
2620:10a:5000::,2620:10a:50ff:ffff:ffff:ffff:ffff:ffff,US
2620:10a:6000::,2620:10a:63ff:ffff:ffff:ffff:ffff:ffff,US
@@ -16997,16 +17778,16 @@
2620:10e:a000::,2620:10e:a00f:ffff:ffff:ffff:ffff:ffff,US
2620:10e:b000::,2620:10e:b0ff:ffff:ffff:ffff:ffff:ffff,US
2620:10e:c000::,2620:10e:c00f:ffff:ffff:ffff:ffff:ffff,US
-2620:10e:d000::,2620:10e:d00f:ffff:ffff:ffff:ffff:ffff,BL
+2620:10e:d000::,2620:10e:d0ff:ffff:ffff:ffff:ffff:ffff,BL
2620:10e:e000::,2620:10e:e00f:ffff:ffff:ffff:ffff:ffff,US
2620:10e:f000::,2620:10e:f00f:ffff:ffff:ffff:ffff:ffff,US
2620:10f::,2620:10f:f:ffff:ffff:ffff:ffff:ffff,US
2620:10f:1000::,2620:10f:100f:ffff:ffff:ffff:ffff:ffff,US
2620:10f:2000::,2620:10f:200f:ffff:ffff:ffff:ffff:ffff,US
-2620:10f:3000::,2620:10f:33ff:ffff:ffff:ffff:ffff:ffff,US
+2620:10f:3000::,2620:10f:30ff:ffff:ffff:ffff:ffff:ffff,US
2620:10f:4000::,2620:10f:400f:ffff:ffff:ffff:ffff:ffff,US
2620:10f:5000::,2620:10f:50ff:ffff:ffff:ffff:ffff:ffff,US
-2620:10f:6000::,2620:10f:61ff:ffff:ffff:ffff:ffff:ffff,US
+2620:10f:6000::,2620:10f:63ff:ffff:ffff:ffff:ffff:ffff,US
2620:10f:7000::,2620:10f:700f:ffff:ffff:ffff:ffff:ffff,US
2620:10f:8000::,2620:10f:80ff:ffff:ffff:ffff:ffff:ffff,US
2620:10f:9000::,2620:10f:900f:ffff:ffff:ffff:ffff:ffff,US
@@ -17057,7 +17838,7 @@
2620:112:a000::,2620:112:a00f:ffff:ffff:ffff:ffff:ffff,US
2620:112:b000::,2620:112:b0ff:ffff:ffff:ffff:ffff:ffff,US
2620:112:c000::,2620:112:c0ff:ffff:ffff:ffff:ffff:ffff,US
-2620:112:d000::,2620:112:d3ff:ffff:ffff:ffff:ffff:ffff,US
+2620:112:d000::,2620:112:d00f:ffff:ffff:ffff:ffff:ffff,US
2620:112:e000::,2620:112:e00f:ffff:ffff:ffff:ffff:ffff,US
2620:112:f000::,2620:112:f00f:ffff:ffff:ffff:ffff:ffff,US
2620:113::,2620:113:f:ffff:ffff:ffff:ffff:ffff,US
@@ -17103,6 +17884,7 @@
2620:115:d000::,2620:115:d0ff:ffff:ffff:ffff:ffff:ffff,US
2620:115:e000::,2620:115:e00f:ffff:ffff:ffff:ffff:ffff,US
2620:115:f000::,2620:115:f00f:ffff:ffff:ffff:ffff:ffff,US
+2620:116::,2620:116:f:ffff:ffff:ffff:ffff:ffff,US
2620:116:1000::,2620:116:10ff:ffff:ffff:ffff:ffff:ffff,US
2620:116:2000::,2620:116:200f:ffff:ffff:ffff:ffff:ffff,US
2620:116:3000::,2620:116:300f:ffff:ffff:ffff:ffff:ffff,US
@@ -17130,7 +17912,7 @@
2620:117:9000::,2620:117:90ff:ffff:ffff:ffff:ffff:ffff,US
2620:117:a000::,2620:117:a0ff:ffff:ffff:ffff:ffff:ffff,US
2620:117:b000::,2620:117:b0ff:ffff:ffff:ffff:ffff:ffff,US
-2620:117:c000::,2620:117:c3ff:ffff:ffff:ffff:ffff:ffff,US
+2620:117:c000::,2620:117:c0ff:ffff:ffff:ffff:ffff:ffff,US
2620:117:d000::,2620:117:d0ff:ffff:ffff:ffff:ffff:ffff,CA
2620:117:e000::,2620:117:e0ff:ffff:ffff:ffff:ffff:ffff,US
2620:118:1000::,2620:118:10ff:ffff:ffff:ffff:ffff:ffff,US
@@ -17193,10 +17975,10 @@
2620:11b:d000::,2620:11b:d0ff:ffff:ffff:ffff:ffff:ffff,US
2620:11b:e000::,2620:11b:e0ff:ffff:ffff:ffff:ffff:ffff,US
2620:11b:f000::,2620:11b:f0ff:ffff:ffff:ffff:ffff:ffff,US
-2620:11c::,2620:11c:f:ffff:ffff:ffff:ffff:ffff,US
+2620:11c::,2620:11c:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:11c:1000::,2620:11c:10ff:ffff:ffff:ffff:ffff:ffff,BB
2620:11c:2000::,2620:11c:20ff:ffff:ffff:ffff:ffff:ffff,CA
-2620:11c:3000::,2620:11c:33ff:ffff:ffff:ffff:ffff:ffff,US
+2620:11c:3000::,2620:11c:30ff:ffff:ffff:ffff:ffff:ffff,US
2620:11c:4000::,2620:11c:40ff:ffff:ffff:ffff:ffff:ffff,US
2620:11c:5000::,2620:11c:500f:ffff:ffff:ffff:ffff:ffff,US
2620:11c:6000::,2620:11c:600f:ffff:ffff:ffff:ffff:ffff,US
@@ -17246,7 +18028,7 @@
2620:11f:2000::,2620:11f:200f:ffff:ffff:ffff:ffff:ffff,US
2620:11f:3000::,2620:11f:30ff:ffff:ffff:ffff:ffff:ffff,US
2620:11f:4000::,2620:11f:43ff:ffff:ffff:ffff:ffff:ffff,US
-2620:11f:5000::,2620:11f:53ff:ffff:ffff:ffff:ffff:ffff,US
+2620:11f:5000::,2620:11f:50ff:ffff:ffff:ffff:ffff:ffff,US
2620:11f:6000::,2620:11f:60ff:ffff:ffff:ffff:ffff:ffff,US
2620:11f:7000::,2620:11f:700f:ffff:ffff:ffff:ffff:ffff,US
2620:11f:8000::,2620:11f:80ff:ffff:ffff:ffff:ffff:ffff,CA
@@ -17277,7 +18059,7 @@
2620:120:d000::,2620:120:d00f:ffff:ffff:ffff:ffff:ffff,US
2620:120:e000::,2620:120:e0ff:ffff:ffff:ffff:ffff:ffff,US
2620:120:f000::,2620:120:f0ff:ffff:ffff:ffff:ffff:ffff,US
-2620:121::,2620:121:f:ffff:ffff:ffff:ffff:ffff,US
+2620:121::,2620:121:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:121:1000::,2620:121:100f:ffff:ffff:ffff:ffff:ffff,US
2620:121:2000::,2620:121:200f:ffff:ffff:ffff:ffff:ffff,US
2620:121:3000::,2620:121:30ff:ffff:ffff:ffff:ffff:ffff,US
@@ -17293,7 +18075,7 @@
2620:121:d000::,2620:121:d00f:ffff:ffff:ffff:ffff:ffff,US
2620:121:e000::,2620:121:e00f:ffff:ffff:ffff:ffff:ffff,US
2620:121:f000::,2620:121:f00f:ffff:ffff:ffff:ffff:ffff,US
-2620:122::,2620:122:f:ffff:ffff:ffff:ffff:ffff,US
+2620:122::,2620:122:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:122:1000::,2620:122:10ff:ffff:ffff:ffff:ffff:ffff,US
2620:122:2000::,2620:122:20ff:ffff:ffff:ffff:ffff:ffff,US
2620:122:3000::,2620:122:30ff:ffff:ffff:ffff:ffff:ffff,US
@@ -17312,12 +18094,12 @@
2620:123:1000::,2620:123:10ff:ffff:ffff:ffff:ffff:ffff,US
2620:123:2000::,2620:123:200f:ffff:ffff:ffff:ffff:ffff,US
2620:123:3000::,2620:123:30ff:ffff:ffff:ffff:ffff:ffff,US
-2620:123:4000::,2620:123:40ff:ffff:ffff:ffff:ffff:ffff,US
+2620:123:4000::,2620:123:43ff:ffff:ffff:ffff:ffff:ffff,US
2620:123:5000::,2620:123:53ff:ffff:ffff:ffff:ffff:ffff,US
2620:123:6000::,2620:123:600f:ffff:ffff:ffff:ffff:ffff,CA
2620:123:7000::,2620:123:700f:ffff:ffff:ffff:ffff:ffff,CA
2620:123:8000::,2620:123:800f:ffff:ffff:ffff:ffff:ffff,US
-2620:123:9000::,2620:123:93ff:ffff:ffff:ffff:ffff:ffff,US
+2620:123:9000::,2620:123:900f:ffff:ffff:ffff:ffff:ffff,US
2620:123:a000::,2620:123:a00f:ffff:ffff:ffff:ffff:ffff,US
2620:123:b000::,2620:123:b00f:ffff:ffff:ffff:ffff:ffff,US
2620:123:c000::,2620:123:c0ff:ffff:ffff:ffff:ffff:ffff,US
@@ -17397,7 +18179,6 @@
2620:128:6000::,2620:128:600f:ffff:ffff:ffff:ffff:ffff,US
2620:128:7000::,2620:128:700f:ffff:ffff:ffff:ffff:ffff,US
2620:128:8000::,2620:128:800f:ffff:ffff:ffff:ffff:ffff,US
-2620:128:a000::,2620:128:a0ff:ffff:ffff:ffff:ffff:ffff,US
2620:128:b000::,2620:128:b0ff:ffff:ffff:ffff:ffff:ffff,US
2620:128:c000::,2620:128:c0ff:ffff:ffff:ffff:ffff:ffff,US
2620:128:d000::,2620:128:d0ff:ffff:ffff:ffff:ffff:ffff,US
@@ -17495,7 +18276,7 @@
2620:12e:9000::,2620:12e:900f:ffff:ffff:ffff:ffff:ffff,US
2620:12e:a000::,2620:12e:a0ff:ffff:ffff:ffff:ffff:ffff,US
2620:12e:b000::,2620:12e:b00f:ffff:ffff:ffff:ffff:ffff,US
-2620:12e:c000::,2620:12e:c3ff:ffff:ffff:ffff:ffff:ffff,US
+2620:12e:c000::,2620:12e:c00f:ffff:ffff:ffff:ffff:ffff,US
2620:12e:d000::,2620:12e:d00f:ffff:ffff:ffff:ffff:ffff,US
2620:12e:e000::,2620:12e:e0ff:ffff:ffff:ffff:ffff:ffff,US
2620:12e:f000::,2620:12e:f0ff:ffff:ffff:ffff:ffff:ffff,US
@@ -17517,7 +18298,7 @@
2620:130::,2620:130:f:ffff:ffff:ffff:ffff:ffff,US
2620:130:1000::,2620:130:100f:ffff:ffff:ffff:ffff:ffff,CA
2620:130:2000::,2620:130:20ff:ffff:ffff:ffff:ffff:ffff,US
-2620:130:3000::,2620:130:33ff:ffff:ffff:ffff:ffff:ffff,US
+2620:130:3000::,2620:130:30ff:ffff:ffff:ffff:ffff:ffff,US
2620:130:4000::,2620:130:40ff:ffff:ffff:ffff:ffff:ffff,US
2620:130:5000::,2620:130:500f:ffff:ffff:ffff:ffff:ffff,US
2620:130:6000::,2620:130:600f:ffff:ffff:ffff:ffff:ffff,US
@@ -17534,7 +18315,7 @@
2620:131:2000::,2620:131:20ff:ffff:ffff:ffff:ffff:ffff,US
2620:131:3000::,2620:131:300f:ffff:ffff:ffff:ffff:ffff,US
2620:131:4000::,2620:131:40ff:ffff:ffff:ffff:ffff:ffff,CA
-2620:131:5000::,2620:131:53ff:ffff:ffff:ffff:ffff:ffff,US
+2620:131:5000::,2620:131:50ff:ffff:ffff:ffff:ffff:ffff,US
2620:131:6000::,2620:131:60ff:ffff:ffff:ffff:ffff:ffff,US
2620:131:7000::,2620:131:70ff:ffff:ffff:ffff:ffff:ffff,US
2620:131:8000::,2620:131:800f:ffff:ffff:ffff:ffff:ffff,US
@@ -17600,7 +18381,7 @@
2620:135:4000::,2620:135:400f:ffff:ffff:ffff:ffff:ffff,CA
2620:135:5000::,2620:135:500f:ffff:ffff:ffff:ffff:ffff,US
2620:135:6000::,2620:135:60ff:ffff:ffff:ffff:ffff:ffff,US
-2620:135:7000::,2620:135:70ff:ffff:ffff:ffff:ffff:ffff,US
+2620:135:7000::,2620:135:73ff:ffff:ffff:ffff:ffff:ffff,US
2620:135:8000::,2620:135:800f:ffff:ffff:ffff:ffff:ffff,US
2620:135:9000::,2620:135:90ff:ffff:ffff:ffff:ffff:ffff,US
2620:135:a000::,2620:135:a0ff:ffff:ffff:ffff:ffff:ffff,US
@@ -17608,12 +18389,12 @@
2620:135:c000::,2620:135:c00f:ffff:ffff:ffff:ffff:ffff,US
2620:135:d000::,2620:135:d00f:ffff:ffff:ffff:ffff:ffff,US
2620:135:e000::,2620:135:e0ff:ffff:ffff:ffff:ffff:ffff,US
-2620:135:f000::,2620:135:f00f:ffff:ffff:ffff:ffff:ffff,CA
+2620:135:f000::,2620:135:f3ff:ffff:ffff:ffff:ffff:ffff,CA
2620:136::,2620:136:ff:ffff:ffff:ffff:ffff:ffff,US
2620:136:1000::,2620:136:100f:ffff:ffff:ffff:ffff:ffff,US
2620:136:2000::,2620:136:20ff:ffff:ffff:ffff:ffff:ffff,US
2620:136:3000::,2620:136:30ff:ffff:ffff:ffff:ffff:ffff,US
-2620:136:4000::,2620:136:400f:ffff:ffff:ffff:ffff:ffff,US
+2620:136:4000::,2620:136:43ff:ffff:ffff:ffff:ffff:ffff,US
2620:136:5000::,2620:136:500f:ffff:ffff:ffff:ffff:ffff,US
2620:136:6000::,2620:136:600f:ffff:ffff:ffff:ffff:ffff,US
2620:136:7000::,2620:136:700f:ffff:ffff:ffff:ffff:ffff,US
@@ -17701,6 +18482,20 @@
2620:13b:a000::,2620:13b:a00f:ffff:ffff:ffff:ffff:ffff,US
2620:13b:b000::,2620:13b:b0ff:ffff:ffff:ffff:ffff:ffff,US
2620:13b:c000::,2620:13b:c00f:ffff:ffff:ffff:ffff:ffff,US
+2620:13b:d000::,2620:13b:d00f:ffff:ffff:ffff:ffff:ffff,US
+2620:13b:e000::,2620:13b:e00f:ffff:ffff:ffff:ffff:ffff,US
+2620:13b:f000::,2620:13b:f0ff:ffff:ffff:ffff:ffff:ffff,US
+2620:13c::,2620:13c:ff:ffff:ffff:ffff:ffff:ffff,US
+2620:13c:1000::,2620:13c:10ff:ffff:ffff:ffff:ffff:ffff,US
+2620:13c:2000::,2620:13c:200f:ffff:ffff:ffff:ffff:ffff,US
+2620:13c:3000::,2620:13c:300f:ffff:ffff:ffff:ffff:ffff,US
+2620:13c:4000::,2620:13c:40ff:ffff:ffff:ffff:ffff:ffff,US
+2620:13c:5000::,2620:13c:500f:ffff:ffff:ffff:ffff:ffff,US
+2620:13c:6000::,2620:13c:60ff:ffff:ffff:ffff:ffff:ffff,US
+2620:13c:7000::,2620:13c:700f:ffff:ffff:ffff:ffff:ffff,US
+2620:13c:8000::,2620:13c:800f:ffff:ffff:ffff:ffff:ffff,US
+2620:13c:9000::,2620:13c:90ff:ffff:ffff:ffff:ffff:ffff,US
+2620:13c:a000::,2620:13c:a0ff:ffff:ffff:ffff:ffff:ffff,US
2620:140::,2620:140:3ff:ffff:ffff:ffff:ffff:ffff,US
2620:141::,2620:141:fff:ffff:ffff:ffff:ffff:ffff,US
2620:143::,2620:143:7ff:ffff:ffff:ffff:ffff:ffff,US
@@ -17729,11 +18524,18 @@
2620:15a::,2620:15a:fff:ffff:ffff:ffff:ffff:ffff,US
2620:15b::,2620:15b:fff:ffff:ffff:ffff:ffff:ffff,US
2620:15c::,2620:15c:1:ffff:ffff:ffff:ffff:ffff,CA
-2620:15c:2::,2620:15c:4:ffff:ffff:ffff:ffff:ffff,US
-2620:15c:5::,2620:15c:5:ffff:ffff:ffff:ffff:ffff,BR
-2620:15c:6::,2620:15c:30:ffff:ffff:ffff:ffff:ffff,US
+2620:15c:2::,2620:15c:3:ffff:ffff:ffff:ffff:ffff,US
+2620:15c:4::,2620:15c:5:ffff:ffff:ffff:ffff:ffff,BR
+2620:15c:6::,2620:15c:2b:ffff:ffff:ffff:ffff:ffff,US
+2620:15c:2c::,2620:15c:2c:ffff:ffff:ffff:ffff:ffff,BR
+2620:15c:2d::,2620:15c:30:ffff:ffff:ffff:ffff:ffff,US
2620:15c:31::,2620:15c:31:ffff:ffff:ffff:ffff:ffff,PE
-2620:15c:32::,2620:15c:fff:ffff:ffff:ffff:ffff:ffff,US
+2620:15c:32::,2620:15c:60:ffff:ffff:ffff:ffff:ffff,US
+2620:15c:61::,2620:15c:61:ffff:ffff:ffff:ffff:ffff,AR
+2620:15c:62::,2620:15c:62:ffff:ffff:ffff:ffff:ffff,BR
+2620:15c:63::,2620:15c:6e:ffff:ffff:ffff:ffff:ffff,US
+2620:15c:6f::,2620:15c:6f:ffff:ffff:ffff:ffff:ffff,BR
+2620:15c:70::,2620:15c:fff:ffff:ffff:ffff:ffff:ffff,US
2620:15d::,2620:15f:fff:ffff:ffff:ffff:ffff:ffff,US
2620:160::,2620:160:ffff:ffff:ffff:ffff:ffff:ffff,US
2620:162::,2620:162:fff:ffff:ffff:ffff:ffff:ffff,US
@@ -17826,7 +18628,6 @@
2620:17f::,2620:181:fff:ffff:ffff:ffff:ffff:ffff,US
2620:182::,2620:182:fff:ffff:ffff:ffff:ffff:ffff,US
2620:183::,2620:183:fff:ffff:ffff:ffff:ffff:ffff,US
-2620:184::,2620:184:fff:ffff:ffff:ffff:ffff:ffff,US
2620:185::,2620:185:fff:ffff:ffff:ffff:ffff:ffff,US
2620:186::,2620:186:fff:ffff:ffff:ffff:ffff:ffff,US
2620:187::,2620:187:fff:ffff:ffff:ffff:ffff:ffff,US
@@ -17844,6 +18645,8 @@
2620:195::,2620:195:fff:ffff:ffff:ffff:ffff:ffff,US
2620:196::,2620:196:ffff:ffff:ffff:ffff:ffff:ffff,CA
2620:197::,2620:197:fff:ffff:ffff:ffff:ffff:ffff,US
+2620:198::,2620:198:fff:ffff:ffff:ffff:ffff:ffff,US
+2620:199::,2620:199:fff:ffff:ffff:ffff:ffff:ffff,US
2620:1a0::,2620:1a0:ffff:ffff:ffff:ffff:ffff:ffff,US
2620:1b0::,2620:1b0:ffff:ffff:ffff:ffff:ffff:ffff,US
2620:1c0::,2620:1c0:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -17878,8 +18681,8 @@
2620:1f2::,2620:1f4:fff:ffff:ffff:ffff:ffff:ffff,US
2620:1f5::,2620:1f5:fff:ffff:ffff:ffff:ffff:ffff,CA
2620:1f6::,2620:1f6:fff:ffff:ffff:ffff:ffff:ffff,US
-2620:1f7::,2620:1f7:38bf:ffff:ffff:ffff:ffff:ffff,US
-2620:1f7:38c0::,2620:1f7:38ff:ffff:ffff:ffff:ffff:ffff,MY
+2620:1f7::,2620:1f7:37ff:ffff:ffff:ffff:ffff:ffff,US
+2620:1f7:3800::,2620:1f7:38ff:ffff:ffff:ffff:ffff:ffff,MY
2620:1f7:3900::,2620:1f9:fff:ffff:ffff:ffff:ffff:ffff,US
2620:1fa::,2620:1fb:fff:ffff:ffff:ffff:ffff:ffff,US
2620:1fc::,2620:1fc:fff:ffff:ffff:ffff:ffff:ffff,US
@@ -18246,7 +19049,7 @@
2801:15:8000::,2801:15:800f:ffff:ffff:ffff:ffff:ffff,CR
2801:15:9000::,2801:15:9000:ffff:ffff:ffff:ffff:ffff,AR
2801:15:a000::,2801:15:a000:ffff:ffff:ffff:ffff:ffff,DO
-2801:15:b000::,2801:15:b000:ffff:ffff:ffff:ffff:ffff,AR
+2801:15:b000::,2801:15:b3ff:ffff:ffff:ffff:ffff:ffff,AR
2801:15:c000::,2801:15:c000:ffff:ffff:ffff:ffff:ffff,GT
2801:15:d000::,2801:15:d000:ffff:ffff:ffff:ffff:ffff,CL
2801:15:e000::,2801:15:e000:ffff:ffff:ffff:ffff:ffff,DO
@@ -18282,6 +19085,7 @@
2801:17:c000::,2801:17:c000:ffff:ffff:ffff:ffff:ffff,PA
2801:17:d000::,2801:17:d000:ffff:ffff:ffff:ffff:ffff,CO
2801:17:e000::,2801:17:e000:ffff:ffff:ffff:ffff:ffff,AR
+2801:17:f000::,2801:17:f000:ffff:ffff:ffff:ffff:ffff,PY
2801:18::,2801:18::ffff:ffff:ffff:ffff:ffff,CR
2801:18:2000::,2801:18:2000:ffff:ffff:ffff:ffff:ffff,CO
2801:18:3000::,2801:18:3000:ffff:ffff:ffff:ffff:ffff,CO
@@ -18340,6 +19144,7 @@
2801:1b:c000::,2801:1b:c000:ffff:ffff:ffff:ffff:ffff,PA
2801:1b:d000::,2801:1b:d000:ffff:ffff:ffff:ffff:ffff,CO
2801:1b:e000::,2801:1b:e000:ffff:ffff:ffff:ffff:ffff,NI
+2801:1b:f000::,2801:1b:f000:ffff:ffff:ffff:ffff:ffff,AR
2801:1c::,2801:1c::ffff:ffff:ffff:ffff:ffff,PY
2801:1c:1000::,2801:1c:1000:ffff:ffff:ffff:ffff:ffff,AR
2801:1c:2000::,2801:1c:2000:ffff:ffff:ffff:ffff:ffff,PE
@@ -18694,9 +19499,18 @@
2801:80:2520::,2801:80:2520:ffff:ffff:ffff:ffff:ffff,BR
2801:80:2530::,2801:80:2530:ffff:ffff:ffff:ffff:ffff,BR
2801:80:2540::,2801:80:2540:ffff:ffff:ffff:ffff:ffff,BR
+2801:80:2550::,2801:80:2550:ffff:ffff:ffff:ffff:ffff,BR
+2801:80:2560::,2801:80:2560:ffff:ffff:ffff:ffff:ffff,BR
+2801:80:2570::,2801:80:2570:ffff:ffff:ffff:ffff:ffff,BR
+2801:80:2580::,2801:80:2587:ffff:ffff:ffff:ffff:ffff,BR
+2801:80:2590::,2801:80:2593:ffff:ffff:ffff:ffff:ffff,BR
+2801:80:25a0::,2801:80:25a0:ffff:ffff:ffff:ffff:ffff,BR
+2801:80:25b0::,2801:80:25b0:ffff:ffff:ffff:ffff:ffff,BR
+2801:80:25c0::,2801:80:25c0:ffff:ffff:ffff:ffff:ffff,BR
2801:80:2600::,2801:80:26ff:ffff:ffff:ffff:ffff:ffff,BR
2801:80:2800::,2801:80:28ff:ffff:ffff:ffff:ffff:ffff,BR
2801:80:2c00::,2801:80:2cff:ffff:ffff:ffff:ffff:ffff,BR
+2801:80:2e00::,2801:80:2eff:ffff:ffff:ffff:ffff:ffff,BR
2801:82::,2801:82:ffff:ffff:ffff:ffff:ffff:ffff,BR
2801:84::,2801:84:ffff:ffff:ffff:ffff:ffff:ffff,BR
2801:86::,2801:86:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -18734,7 +19548,7 @@
2801:c4:12::,2801:c4:15:ffff:ffff:ffff:ffff:ffff,MX
2801:c4:17::,2801:c4:17:ffff:ffff:ffff:ffff:ffff,MX
2801:c4:19::,2801:c4:1d:ffff:ffff:ffff:ffff:ffff,MX
-2801:c4:20::,2801:c4:20:ffff:ffff:ffff:ffff:ffff,MX
+2801:c4:1f::,2801:c4:20:ffff:ffff:ffff:ffff:ffff,MX
2801:c4:30::,2801:c4:30:ffff:ffff:ffff:ffff:ffff,MX
2801:c4:50::,2801:c4:50:ffff:ffff:ffff:ffff:ffff,MX
2801:c4:60::,2801:c4:60:ffff:ffff:ffff:ffff:ffff,MX
@@ -18773,6 +19587,7 @@
2801:180::,2801:180:f:ffff:ffff:ffff:ffff:ffff,PA
2801:184::,2801:184:f:ffff:ffff:ffff:ffff:ffff,DO
2801:188::,2801:188:ff:ffff:ffff:ffff:ffff:ffff,AR
+2801:18c::,2801:18c:f:ffff:ffff:ffff:ffff:ffff,CO
2801:190::,2801:190:fff:ffff:ffff:ffff:ffff:ffff,CO
2801:194::,2801:194:f:ffff:ffff:ffff:ffff:ffff,CO
2801:198::,2801:198:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -18842,6 +19657,7 @@
2803:520::,2803:520:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:540::,2803:540:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:580::,2803:580:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:5a0::,2803:5a0:ffff:ffff:ffff:ffff:ffff:ffff,VE
2803:5c0::,2803:5c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:600::,2803:600:ffff:ffff:ffff:ffff:ffff:ffff,PA
2803:620::,2803:620:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -18864,6 +19680,7 @@
2803:920::,2803:920:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:940::,2803:940:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:980::,2803:980:ffff:ffff:ffff:ffff:ffff:ffff,CR
+2803:9a0::,2803:9a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:9c0::,2803:9c0:ffff:ffff:ffff:ffff:ffff:ffff,DO
2803:a00::,2803:a00:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:a20::,2803:a20:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -18886,6 +19703,7 @@
2803:d20::,2803:d20:ffff:ffff:ffff:ffff:ffff:ffff,GT
2803:d40::,2803:d40:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:d80::,2803:d87:ffff:ffff:ffff:ffff:ffff:ffff,CO
+2803:da0::,2803:da0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:dc0::,2803:dc0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:e00::,2803:e00:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:e20::,2803:e20:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -18932,6 +19750,7 @@
2803:1520::,2803:1520:ffff:ffff:ffff:ffff:ffff:ffff,GT
2803:1540::,2803:1540:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:1580::,2803:1580:ffff:ffff:ffff:ffff:ffff:ffff,CO
+2803:15a0::,2803:15a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:15c0::,2803:15c0:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:1600::,2803:1600:ffff:ffff:ffff:ffff:ffff:ffff,BQ
2803:1620::,2803:1620:ffff:ffff:ffff:ffff:ffff:ffff,PY
@@ -18951,6 +19770,7 @@
2803:1900::,2803:1900:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:1920::,2803:1920:ffff:ffff:ffff:ffff:ffff:ffff,BO
2803:1940::,2803:1940:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:19a0::,2803:19a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:19c0::,2803:19c0:ffff:ffff:ffff:ffff:ffff:ffff,DO
2803:1a00::,2803:1a00:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:1a20::,2803:1a20:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19016,6 +19836,7 @@
2803:2520::,2803:2520:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:2540::,2803:2540:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:2580::,2803:2580:ffff:ffff:ffff:ffff:ffff:ffff,HN
+2803:25a0::,2803:25a0:ffff:ffff:ffff:ffff:ffff:ffff,SV
2803:25c0::,2803:25c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:2600::,2803:2600:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:2620::,2803:2620:ffff:ffff:ffff:ffff:ffff:ffff,GT
@@ -19038,6 +19859,7 @@
2803:2920::,2803:2920:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:2940::,2803:2940:ffff:ffff:ffff:ffff:ffff:ffff,PA
2803:2980::,2803:2980:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:29a0::,2803:29a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:29c0::,2803:29c0:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:2a00::,2803:2a00:ffff:ffff:ffff:ffff:ffff:ffff,PY
2803:2a20::,2803:2a20:ffff:ffff:ffff:ffff:ffff:ffff,HN
@@ -19080,6 +19902,7 @@
2803:3120::,2803:3120:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:3140::,2803:3140:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:3180::,2803:3180:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:31a0::,2803:31a0:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:31c0::,2803:31c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:3200::,2803:3200:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:3220::,2803:3220:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19101,6 +19924,7 @@
2803:3520::,2803:3520:ffff:ffff:ffff:ffff:ffff:ffff,PA
2803:3540::,2803:3540:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:3580::,2803:3580:ffff:ffff:ffff:ffff:ffff:ffff,PE
+2803:35a0::,2803:35a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:35c0::,2803:35c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:3600::,2803:3600:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:3620::,2803:3620:ffff:ffff:ffff:ffff:ffff:ffff,PA
@@ -19123,6 +19947,7 @@
2803:3920::,2803:3920:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:3940::,2803:3940:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:3980::,2803:3980:ffff:ffff:ffff:ffff:ffff:ffff,VE
+2803:39a0::,2803:39a0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:39c0::,2803:39c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:3a00::,2803:3a00:ffff:ffff:ffff:ffff:ffff:ffff,GT
2803:3a20::,2803:3a20:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19189,6 +20014,7 @@
2803:4520::,2803:4520:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:4540::,2803:4540:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:4580::,2803:4580:ffff:ffff:ffff:ffff:ffff:ffff,CR
+2803:45a0::,2803:45a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:45c0::,2803:45c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:4600::,2803:4600:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:4620::,2803:4620:ffff:ffff:ffff:ffff:ffff:ffff,CO
@@ -19211,6 +20037,7 @@
2803:4920::,2803:4920:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:4940::,2803:4940:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:4980::,2803:4980:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:49a0::,2803:49a0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:49c0::,2803:49c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:4a20::,2803:4a20:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:4a40::,2803:4a40:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -19232,6 +20059,7 @@
2803:4d20::,2803:4d20:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:4d40::,2803:4d40:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:4d80::,2803:4d80:ffff:ffff:ffff:ffff:ffff:ffff,CW
+2803:4da0::,2803:4da0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:4dc0::,2803:4dc0:ffff:ffff:ffff:ffff:ffff:ffff,DO
2803:4e00::,2803:4e00:ffff:ffff:ffff:ffff:ffff:ffff,UY
2803:4e20::,2803:4e20:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19277,6 +20105,7 @@
2803:5520::,2803:5520:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:5540::,2803:5540:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:5580::,2803:5580:ffff:ffff:ffff:ffff:ffff:ffff,CR
+2803:55a0::,2803:55a0:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:55c0::,2803:55c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:5600::,2803:5600:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:5620::,2803:5620:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -19298,6 +20127,7 @@
2803:5920::,2803:5920:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:5940::,2803:5940:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:5980::,2803:5980:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:59a0::,2803:59a0:ffff:ffff:ffff:ffff:ffff:ffff,SV
2803:59c0::,2803:59c0:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:5a00::,2803:5a00:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:5a20::,2803:5a20:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -19364,6 +20194,7 @@
2803:6520::,2803:6520:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:6540::,2803:6540:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:6580::,2803:6580:ffff:ffff:ffff:ffff:ffff:ffff,CL
+2803:65a0::,2803:65a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:65c0::,2803:65c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:6600::,2803:6604:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:6620::,2803:6620:ffff:ffff:ffff:ffff:ffff:ffff,EC
@@ -19385,6 +20216,7 @@
2803:6920::,2803:6920:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:6940::,2803:6940:ffff:ffff:ffff:ffff:ffff:ffff,PY
2803:6980::,2803:6980:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:69a0::,2803:69a0:ffff:ffff:ffff:ffff:ffff:ffff,GT
2803:69c0::,2803:69c0:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:6a00::,2803:6a00:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:6a20::,2803:6a20:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -19429,6 +20261,7 @@
2803:7120::,2803:7120:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:7140::,2803:7140:ffff:ffff:ffff:ffff:ffff:ffff,GT
2803:7180::,2803:7180:ffff:ffff:ffff:ffff:ffff:ffff,PE
+2803:71a0::,2803:71a0:ffff:ffff:ffff:ffff:ffff:ffff,PY
2803:7200::,2803:7200:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:7220::,2803:7220:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:7240::,2803:7240:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19472,6 +20305,7 @@
2803:7920::,2803:7920:ffff:ffff:ffff:ffff:ffff:ffff,GT
2803:7940::,2803:7940:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:7980::,2803:7980:ffff:ffff:ffff:ffff:ffff:ffff,VE
+2803:79a0::,2803:79a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:79c0::,2803:79c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:7a00::,2803:7a00:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:7a20::,2803:7a20:ffff:ffff:ffff:ffff:ffff:ffff,CL
@@ -19539,6 +20373,7 @@
2803:8520::,2803:8520:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:8540::,2803:8540:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:8580::,2803:8580:ffff:ffff:ffff:ffff:ffff:ffff,CO
+2803:85a0::,2803:85a0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:85c0::,2803:85c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:8600::,2803:8600:ffff:ffff:ffff:ffff:ffff:ffff,HT
2803:8620::,2803:8620:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19561,6 +20396,7 @@
2803:8920::,2803:8920:ffff:ffff:ffff:ffff:ffff:ffff,PY
2803:8940::,2803:8940:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:8980::,2803:8980:ffff:ffff:ffff:ffff:ffff:ffff,CO
+2803:89a0::,2803:89a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:89c0::,2803:89c0:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:8a20::,2803:8a20:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:8a40::,2803:8a40:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19626,6 +20462,7 @@
2803:9520::,2803:9520:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:9540::,2803:9540:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:9580::,2803:9580:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:95a0::,2803:95a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:95c0::,2803:95c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:9600::,2803:9600:ffff:ffff:ffff:ffff:ffff:ffff,CW
2803:9620::,2803:9620:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19646,6 +20483,7 @@
2803:9920::,2803:9920:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:9940::,2803:9940:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:9980::,2803:9980:ffff:ffff:ffff:ffff:ffff:ffff,CO
+2803:99a0::,2803:99a0:ffff:ffff:ffff:ffff:ffff:ffff,GT
2803:99c0::,2803:99c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:9a00::,2803:9a00:ffff:ffff:ffff:ffff:ffff:ffff,BZ
2803:9a20::,2803:9a20:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19712,6 +20550,7 @@
2803:a520::,2803:a520:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:a540::,2803:a540:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:a580::,2803:a580:ffff:ffff:ffff:ffff:ffff:ffff,HT
+2803:a5a0::,2803:a5a0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:a5c0::,2803:a5c0:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:a600::,2803:a600:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:a620::,2803:a620:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19733,6 +20572,7 @@
2803:a920::,2803:a920:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:a940::,2803:a940:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:a980::,2803:a980:ffff:ffff:ffff:ffff:ffff:ffff,CL
+2803:a9a0::,2803:a9a0:ffff:ffff:ffff:ffff:ffff:ffff,SV
2803:a9c0::,2803:a9c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:aa00::,2803:aa00:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:aa20::,2803:aa20:ffff:ffff:ffff:ffff:ffff:ffff,EC
@@ -19774,6 +20614,7 @@
2803:b120::,2803:b120:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:b140::,2803:b140:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:b180::,2803:b180:ffff:ffff:ffff:ffff:ffff:ffff,CL
+2803:b1a0::,2803:b1a0:ffff:ffff:ffff:ffff:ffff:ffff,PY
2803:b1c0::,2803:b1c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:b200::,2803:b200:ffff:ffff:ffff:ffff:ffff:ffff,UY
2803:b220::,2803:b220:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19795,6 +20636,7 @@
2803:b500::,2803:b500:ffff:ffff:ffff:ffff:ffff:ffff,VE
2803:b520::,2803:b520:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:b580::,2803:b580:ffff:ffff:ffff:ffff:ffff:ffff,CL
+2803:b5a0::,2803:b5a0:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:b5c0::,2803:b5c0:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:b600::,2803:b600:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:b620::,2803:b620:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19816,7 +20658,17 @@
2803:b900::,2803:b900:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:b920::,2803:b920:ffff:ffff:ffff:ffff:ffff:ffff,PY
2803:b940::,2803:b940:ffff:ffff:ffff:ffff:ffff:ffff,PE
-2803:b9c0::,2803:b9c0:ffff:ffff:ffff:ffff:ffff:ffff,CO
+2803:b9a0::,2803:b9a0:ffff:ffff:ffff:ffff:ffff:ffff,CL
+2803:b9c0::,2803:b9c0:91ff:ffff:ffff:ffff:ffff:ffff,CO
+2803:b9c0:9200::,2803:b9c0:94ff:ffff:ffff:ffff:ffff:ffff,PE
+2803:b9c0:9500::,2803:b9c0:95ff:ffff:ffff:ffff:ffff:ffff,EC
+2803:b9c0:9600::,2803:b9c0:96ff:ffff:ffff:ffff:ffff:ffff,CL
+2803:b9c0:9700::,2803:b9c0:98ff:ffff:ffff:ffff:ffff:ffff,CO
+2803:b9c0:9900::,2803:b9c0:99ff:ffff:ffff:ffff:ffff:ffff,PE
+2803:b9c0:9a00::,2803:b9c0:9aff:ffff:ffff:ffff:ffff:ffff,EC
+2803:b9c0:9b00::,2803:b9c0:9dff:ffff:ffff:ffff:ffff:ffff,CO
+2803:b9c0:9e00::,2803:b9c0:9eff:ffff:ffff:ffff:ffff:ffff,PE
+2803:b9c0:9f00::,2803:b9c0:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:ba00::,2803:ba00:ffff:ffff:ffff:ffff:ffff:ffff,GT
2803:ba20::,2803:ba20:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:ba40::,2803:ba40:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19882,6 +20734,7 @@
2803:c520::,2803:c520:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:c540::,2803:c540:ffff:ffff:ffff:ffff:ffff:ffff,GT
2803:c580::,2803:c580:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:c5a0::,2803:c5a0:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:c5c0::,2803:c5c0:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:c600::,2803:c600:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:c620::,2803:c620:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19904,6 +20757,7 @@
2803:c920::,2803:c920:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:c940::,2803:c940:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:c980::,2803:c980:ffff:ffff:ffff:ffff:ffff:ffff,CL
+2803:c9a0::,2803:c9a0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:c9c0::,2803:c9c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:ca00::,2803:ca00:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:ca20::,2803:ca20:ffff:ffff:ffff:ffff:ffff:ffff,HN
@@ -19950,6 +20804,7 @@
2803:d120::,2803:d120:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:d140::,2803:d140:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:d180::,2803:d180:ffff:ffff:ffff:ffff:ffff:ffff,EC
+2803:d1a0::,2803:d1a0:ffff:ffff:ffff:ffff:ffff:ffff,DO
2803:d1c0::,2803:d1c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:d200::,2803:d200:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:d220::,2803:d220:ffff:ffff:ffff:ffff:ffff:ffff,EC
@@ -19971,6 +20826,7 @@
2803:d520::,2803:d520:ffff:ffff:ffff:ffff:ffff:ffff,BZ
2803:d540::,2803:d540:ffff:ffff:ffff:ffff:ffff:ffff,CO
2803:d580::,2803:d580:ffff:ffff:ffff:ffff:ffff:ffff,CL
+2803:d5a0::,2803:d5a0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:d5c0::,2803:d5c0:ffff:ffff:ffff:ffff:ffff:ffff,BZ
2803:d600::,2803:d600:ffff:ffff:ffff:ffff:ffff:ffff,UY
2803:d620::,2803:d620:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -19993,6 +20849,7 @@
2803:d920::,2803:d920:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:d940::,2803:d940:ffff:ffff:ffff:ffff:ffff:ffff,VE
2803:d980::,2803:d980:ffff:ffff:ffff:ffff:ffff:ffff,PA
+2803:d9a0::,2803:d9a0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:d9c0::,2803:d9c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:da00::,2803:da00:ffff:ffff:ffff:ffff:ffff:ffff,GY
2803:da20::,2803:da20:ffff:ffff:ffff:ffff:ffff:ffff,CO
@@ -20060,10 +20917,10 @@
2803:e520::,2803:e520:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:e540::,2803:e540:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:e580::,2803:e580:ffff:ffff:ffff:ffff:ffff:ffff,CO
+2803:e5a0::,2803:e5a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:e5c0::,2803:e5c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:e600::,2803:e600:ffff:ffff:ffff:ffff:ffff:ffff,PA
2803:e620::,2803:e620:ffff:ffff:ffff:ffff:ffff:ffff,EC
-2803:e640::,2803:e640:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:e680::,2803:e680:ffff:ffff:ffff:ffff:ffff:ffff,HN
2803:e6a0::,2803:e6a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:e6c0::,2803:e6c0:ffff:ffff:ffff:ffff:ffff:ffff,SV
@@ -20081,6 +20938,7 @@
2803:e900::,2803:e900:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:e920::,2803:e920:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:e940::,2803:e940:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:e9a0::,2803:e9a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:e9c0::,2803:e9c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:ea00::,2803:ea00:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:ea20::,2803:ea20:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -20125,6 +20983,7 @@
2803:f120::,2803:f120:ffff:ffff:ffff:ffff:ffff:ffff,UY
2803:f140::,2803:f140:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:f180::,2803:f180:ffff:ffff:ffff:ffff:ffff:ffff,HN
+2803:f1a0::,2803:f1a0:ffff:ffff:ffff:ffff:ffff:ffff,DO
2803:f1c0::,2803:f1c0:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:f200::,2803:f200:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:f220::,2803:f220:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -20147,6 +21006,7 @@
2803:f520::,2803:f520:ffff:ffff:ffff:ffff:ffff:ffff,PA
2803:f540::,2803:f540:ffff:ffff:ffff:ffff:ffff:ffff,PE
2803:f580::,2803:f580:ffff:ffff:ffff:ffff:ffff:ffff,AR
+2803:f5a0::,2803:f5a0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:f5c0::,2803:f5c0:ffff:ffff:ffff:ffff:ffff:ffff,CL
2803:f600::,2803:f600:ffff:ffff:ffff:ffff:ffff:ffff,CR
2803:f620::,2803:f620:ffff:ffff:ffff:ffff:ffff:ffff,PE
@@ -20168,6 +21028,7 @@
2803:f920::,2803:f920:ffff:ffff:ffff:ffff:ffff:ffff,EC
2803:f940::,2803:f940:ffff:ffff:ffff:ffff:ffff:ffff,SX
2803:f980::,2803:f980:ffff:ffff:ffff:ffff:ffff:ffff,CL
+2803:f9a0::,2803:f9a0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:f9c0::,2803:f9c0:ffff:ffff:ffff:ffff:ffff:ffff,AR
2803:fa00::,2803:fa00:ffff:ffff:ffff:ffff:ffff:ffff,BO
2803:fa20::,2803:fa20:ffff:ffff:ffff:ffff:ffff:ffff,AR
@@ -20395,7 +21256,6 @@
2804:350::,2804:350:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:354::,2804:354:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:358::,2804:358:ffff:ffff:ffff:ffff:ffff:ffff,BR
-2804:35c::,2804:35c:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:360::,2804:360:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:364::,2804:364:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:368::,2804:368:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -20405,7 +21265,9 @@
2804:378::,2804:378:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:37c::,2804:37c:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:380::,2804:380:ffff:ffff:ffff:ffff:ffff:ffff,BR
-2804:388::,2804:38b:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:388::,2804:388:129:13:ffff:ffff:ffff:ffff,BR
+2804:388:129:14::,2804:388:129:14:ffff:ffff:ffff:ffff,US
+2804:388:129:15::,2804:38b:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:390::,2804:390:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:394::,2804:394:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:39c::,2804:39c:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -20671,7 +21533,6 @@
2804:7e0::,2804:7e0:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:7e4::,2804:7e4:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:7e8::,2804:7e8:ffff:ffff:ffff:ffff:ffff:ffff,BR
-2804:7ec::,2804:7ec:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:7f0::,2804:7f7:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:800::,2804:800:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:804::,2804:804:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -20951,7 +21812,6 @@
2804:c94::,2804:c94:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:c98::,2804:c98:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:c9c::,2804:c9c:ffff:ffff:ffff:ffff:ffff:ffff,BR
-2804:ca0::,2804:ca0:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:ca4::,2804:ca4:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:ca8::,2804:ca8:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:cac::,2804:cac:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -21235,7 +22095,6 @@
2804:1140::,2804:1140:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1144::,2804:1144:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1148::,2804:1148:ffff:ffff:ffff:ffff:ffff:ffff,BR
-2804:114c::,2804:114c:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1150::,2804:1150:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1154::,2804:1154:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1158::,2804:1158:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -21246,7 +22105,6 @@
2804:116c::,2804:116c:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1170::,2804:1170:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1174::,2804:1174:ffff:ffff:ffff:ffff:ffff:ffff,BR
-2804:1178::,2804:1178:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:117c::,2804:117c:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1180::,2804:1180:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1184::,2804:1184:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -21902,6 +22760,7 @@
2804:1c04::,2804:1c04:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1c08::,2804:1c08:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1c0c::,2804:1c0c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:1c10::,2804:1c10:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1c14::,2804:1c14:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1c18::,2804:1c18:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1c1c::,2804:1c1c:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -22102,6 +22961,7 @@
2804:1f30::,2804:1f30:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1f32::,2804:1f32:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:1f34::,2804:1f34:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:1f36::,2804:1f36:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2000::,2804:2000:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2004::,2804:2004:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2008::,2804:2008:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -22270,6 +23130,7 @@
2804:22bc::,2804:22bc:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:22c0::,2804:22c0:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:22c4::,2804:22c4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:22cc::,2804:22cc:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:22d0::,2804:22d0:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:22d4::,2804:22d4:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:22d8::,2804:22d8:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -22296,6 +23157,7 @@
2804:2330::,2804:2330:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2334::,2804:2334:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2338::,2804:2338:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:233c::,2804:233c:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2340::,2804:2340:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2344::,2804:2344:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2348::,2804:2348:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -22713,6 +23575,7 @@
2804:29fc::,2804:29fc:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2a00::,2804:2a00:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2a04::,2804:2a04:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:2a08::,2804:2a08:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2a0c::,2804:2a0c:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2a10::,2804:2a10:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2a14::,2804:2a14:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -22850,6 +23713,7 @@
2804:2c34::,2804:2c34:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2c38::,2804:2c38:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2c3c::,2804:2c3c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:2c40::,2804:2c40:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2c44::,2804:2c44:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2c48::,2804:2c48:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2c4c::,2804:2c4c:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -22889,7 +23753,6 @@
2804:2cd4::,2804:2cd4:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2cd8::,2804:2cd8:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2cdc::,2804:2cdc:ffff:ffff:ffff:ffff:ffff:ffff,BR
-2804:2ce0::,2804:2ce0:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2ce4::,2804:2ce4:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2ce8::,2804:2ce8:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:2cec::,2804:2cec:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -24090,7 +24953,6 @@
2804:3fa8::,2804:3fa8:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:3fac::,2804:3fac:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:3fb0::,2804:3fb0:ffff:ffff:ffff:ffff:ffff:ffff,BR
-2804:3fb4::,2804:3fb4:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:3fb8::,2804:3fb8:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:3fbc::,2804:3fbc:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:3fc0::,2804:3fc0:ffff:ffff:ffff:ffff:ffff:ffff,BR
@@ -25361,6 +26223,228 @@
2804:538c::,2804:538c:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:5390::,2804:5390:ffff:ffff:ffff:ffff:ffff:ffff,BR
2804:5394::,2804:5394:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5398::,2804:5398:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:539c::,2804:539c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53a0::,2804:53a0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53a4::,2804:53a4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53a8::,2804:53a8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53ac::,2804:53ac:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53b0::,2804:53b0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53b4::,2804:53b4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53b8::,2804:53b8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53bc::,2804:53bc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53c0::,2804:53c0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53c4::,2804:53c4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53c8::,2804:53c8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53cc::,2804:53cc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53d0::,2804:53d0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53d4::,2804:53d4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53d8::,2804:53d8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53dc::,2804:53dc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53e0::,2804:53e0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53e4::,2804:53e4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53e8::,2804:53e8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53ec::,2804:53ec:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53f0::,2804:53f0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53f4::,2804:53f4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53f8::,2804:53f8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:53fc::,2804:53fc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5400::,2804:5400:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5404::,2804:5404:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5408::,2804:5408:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:540c::,2804:540c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5410::,2804:5410:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5414::,2804:5414:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5418::,2804:5418:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:541c::,2804:541c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5420::,2804:5420:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5424::,2804:5424:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5428::,2804:5428:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:542c::,2804:542c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5430::,2804:5430:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5434::,2804:5434:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5438::,2804:5438:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:543c::,2804:543c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5440::,2804:5440:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5444::,2804:5444:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5448::,2804:5448:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:544c::,2804:544c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5450::,2804:5450:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5454::,2804:5454:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5458::,2804:5458:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:545c::,2804:545c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5460::,2804:5460:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5464::,2804:5464:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5468::,2804:5468:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:546c::,2804:546c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5470::,2804:5470:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5474::,2804:5474:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5478::,2804:5478:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:547c::,2804:547c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5480::,2804:5480:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5484::,2804:5484:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5488::,2804:5488:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:548c::,2804:548c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5490::,2804:5490:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5494::,2804:5494:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5498::,2804:5498:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:549c::,2804:549c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54a0::,2804:54a0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54a4::,2804:54a4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54a8::,2804:54a8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54ac::,2804:54ac:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54b0::,2804:54b0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54b4::,2804:54b4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54b8::,2804:54b8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54bc::,2804:54bc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54c0::,2804:54c0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54c4::,2804:54c4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54c8::,2804:54c8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54cc::,2804:54cc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54d0::,2804:54d0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54d4::,2804:54d4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54d8::,2804:54d8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54dc::,2804:54dc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54e0::,2804:54e0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54e4::,2804:54e4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54e8::,2804:54e8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54ec::,2804:54ec:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54f0::,2804:54f0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54f4::,2804:54f4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54f8::,2804:54f8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:54fc::,2804:54fc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5500::,2804:5500:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5504::,2804:5504:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5508::,2804:5508:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:550c::,2804:550c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5510::,2804:5510:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5514::,2804:5514:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5518::,2804:5518:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:551c::,2804:551c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5520::,2804:5520:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5524::,2804:5524:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5528::,2804:5528:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:552c::,2804:552c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5530::,2804:5530:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5534::,2804:5534:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5538::,2804:5538:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:553c::,2804:553c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5540::,2804:5540:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5544::,2804:5544:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5548::,2804:5548:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:554c::,2804:554c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5550::,2804:5550:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5554::,2804:5554:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5558::,2804:5558:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:555c::,2804:555c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5560::,2804:5560:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5564::,2804:5564:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5568::,2804:5568:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:556c::,2804:556c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5570::,2804:5570:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5574::,2804:5574:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5578::,2804:5578:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:557c::,2804:557c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5580::,2804:5580:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5584::,2804:5584:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5588::,2804:5588:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:558c::,2804:558c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5590::,2804:5590:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5594::,2804:5594:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5598::,2804:5598:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:559c::,2804:559c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55a0::,2804:55a0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55a4::,2804:55a4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55a8::,2804:55a8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55ac::,2804:55ac:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55b0::,2804:55b0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55b4::,2804:55b4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55b8::,2804:55b8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55bc::,2804:55bc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55c0::,2804:55c0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55c4::,2804:55c4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55c8::,2804:55c8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55cc::,2804:55cc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55d0::,2804:55d0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55d4::,2804:55d4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55d8::,2804:55d8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55dc::,2804:55dc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55e0::,2804:55e0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55e4::,2804:55e4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55e8::,2804:55e8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55ec::,2804:55ec:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55f0::,2804:55f0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55f4::,2804:55f4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55f8::,2804:55f8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:55fc::,2804:55fc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5600::,2804:5600:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5604::,2804:5604:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5608::,2804:5608:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:560c::,2804:560c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5610::,2804:5610:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5614::,2804:5614:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5618::,2804:5618:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:561c::,2804:561c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5620::,2804:5620:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5624::,2804:5624:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5628::,2804:5628:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:562c::,2804:562c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5630::,2804:5630:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5634::,2804:5634:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5638::,2804:5638:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:563c::,2804:563c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5640::,2804:5640:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5644::,2804:5644:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5648::,2804:5648:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:564c::,2804:564c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5650::,2804:5650:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5654::,2804:5654:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5658::,2804:5658:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:565c::,2804:565c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5660::,2804:5660:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5664::,2804:5664:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5668::,2804:5668:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:566c::,2804:566c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5670::,2804:5670:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5674::,2804:5674:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5678::,2804:5678:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:567c::,2804:567c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5680::,2804:5680:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5684::,2804:5684:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5688::,2804:5688:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:568c::,2804:568c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5690::,2804:5690:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5694::,2804:5694:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5698::,2804:5698:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:569c::,2804:569c:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56a0::,2804:56a0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56a4::,2804:56a4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56a8::,2804:56a8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56ac::,2804:56ac:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56b0::,2804:56b0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56b4::,2804:56b4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56b8::,2804:56b8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56bc::,2804:56bc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56c0::,2804:56c0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56c4::,2804:56c4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56c8::,2804:56c8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56cc::,2804:56cc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56d0::,2804:56d0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56d4::,2804:56d4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56d8::,2804:56d8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56dc::,2804:56dc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56e0::,2804:56e0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56e4::,2804:56e4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56e8::,2804:56e8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56ec::,2804:56ec:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56f0::,2804:56f0:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56f4::,2804:56f4:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56f8::,2804:56f8:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:56fc::,2804:56fc:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5700::,2804:5700:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5704::,2804:5704:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:5708::,2804:5708:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2804:570c::,2804:570c:ffff:ffff:ffff:ffff:ffff:ffff,BR
2806::,2806:f:ffff:ffff:ffff:ffff:ffff:ffff,MX
2806:200::,2806:215:ffff:ffff:ffff:ffff:ffff:ffff,MX
2806:217::,2806:220:ffff:ffff:ffff:ffff:ffff:ffff,MX
@@ -25378,9 +26462,9 @@
2806:2e0::,2806:2ee:ffff:ffff:ffff:ffff:ffff:ffff,MX
2806:2f0::,2806:2f0:ffff:ffff:ffff:ffff:ffff:ffff,MX
2806:2f4::,2806:2f4:ffff:ffff:ffff:ffff:ffff:ffff,MX
-2806:2f6::,2806:306:ffff:ffff:ffff:ffff:ffff:ffff,MX
-2806:30a::,2806:30a:ffff:ffff:ffff:ffff:ffff:ffff,MX
-2806:310::,2806:310:ffff:ffff:ffff:ffff:ffff:ffff,MX
+2806:2f6::,2806:312:ffff:ffff:ffff:ffff:ffff:ffff,MX
+2806:314::,2806:315:ffff:ffff:ffff:ffff:ffff:ffff,MX
+2806:317::,2806:317:ffff:ffff:ffff:ffff:ffff:ffff,MX
2806:320::,2806:320:ffff:ffff:ffff:ffff:ffff:ffff,MX
2806:330::,2806:330:ffff:ffff:ffff:ffff:ffff:ffff,MX
2806:350::,2806:350:ffff:ffff:ffff:ffff:ffff:ffff,MX
@@ -25532,7 +26616,11 @@
2a00:1010::,2a00:1010:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:1018::,2a00:1018:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:1020::,2a00:1020:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a00:1028::,2a00:102f:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a00:1028::,2a00:1028:96d2:7fff:ffff:ffff:ffff:ffff,CZ
+2a00:1028:96d2:8000::,2a00:1028:96d2:9fff:ffff:ffff:ffff:ffff,US
+2a00:1028:96d2:a000::,2a00:1028:96d2:bfff:ffff:ffff:ffff:ffff,CZ
+2a00:1028:96d2:c000::,2a00:1028:96d2:ffff:ffff:ffff:ffff:ffff,US
+2a00:1028:96d3::,2a00:102f:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a00:1030::,2a00:1030:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:1040::,2a00:1040:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a00:1048::,2a00:1048:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -25584,7 +26672,9 @@
2a00:11c0:b::,2a00:11c0:b:ffff:ffff:ffff:ffff:ffff,IT
2a00:11c0:c::,2a00:11c0:f:ffff:ffff:ffff:ffff:ffff,AT
2a00:11c0:10::,2a00:11c0:10:ffff:ffff:ffff:ffff:ffff,BR
-2a00:11c0:11::,2a00:11c0:62:ffff:ffff:ffff:ffff:ffff,AT
+2a00:11c0:11::,2a00:11c0:1f:ffff:ffff:ffff:ffff:ffff,AT
+2a00:11c0:20::,2a00:11c0:3f:ffff:ffff:ffff:ffff:ffff,IN
+2a00:11c0:40::,2a00:11c0:62:ffff:ffff:ffff:ffff:ffff,AT
2a00:11c0:63::,2a00:11c0:63:ffff:ffff:ffff:ffff:ffff,NL
2a00:11c0:64::,2a00:11c0:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a00:11c8::,2a00:11c8:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -25593,7 +26683,7 @@
2a00:11e0::,2a00:11e0:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a00:11e8::,2a00:11ef:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a00:11f0::,2a00:11f0:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a00:11f8::,2a00:11f8:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a00:11f8::,2a00:11ff:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a00:1200::,2a00:1200:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:1208::,2a00:1208:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a00:1210::,2a00:1210:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -25657,7 +26747,6 @@
2a00:1390::,2a00:1390:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:1398::,2a00:139f:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:13a0::,2a00:13a0:ffff:ffff:ffff:ffff:ffff:ffff,PL
-2a00:13a8::,2a00:13a8:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:13b0::,2a00:13b0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:13b8::,2a00:13b8:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a00:13c0::,2a00:13c0:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -25721,7 +26810,6 @@
2a00:1538::,2a00:1538:ffff:ffff:ffff:ffff:ffff:ffff,NG
2a00:1540::,2a00:1540:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:1548::,2a00:1548:ffff:ffff:ffff:ffff:ffff:ffff,NO
-2a00:1550::,2a00:1550:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a00:1558::,2a00:1558:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a00:1560::,2a00:1560:ffff:ffff:ffff:ffff:ffff:ffff,SA
2a00:1568::,2a00:1568:ffff:ffff:ffff:ffff:ffff:ffff,DK
@@ -25826,19 +26914,24 @@
2a00:18f0::,2a00:18f0:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:18f8::,2a00:18f8:ffff:ffff:ffff:ffff:ffff:ffff,SA
2a00:1900::,2a00:1900:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a00:1908::,2a00:1908:bfff:ffff:ffff:ffff:ffff:ffff,UA
+2a00:1908:e47::,2a00:1908:e47:ffff:ffff:ffff:ffff:ffff,NO
+2a00:1908:a000::,2a00:1908:bfff:ffff:ffff:ffff:ffff:ffff,UA
2a00:1908:c000::,2a00:1908:dfff:ffff:ffff:ffff:ffff:ffff,DE
-2a00:1908:e000::,2a00:1908:e964:ffff:ffff:ffff:ffff:ffff,UA
+2a00:1908:e000::,2a00:1908:e000:ffff:ffff:ffff:ffff:ffff,UA
+2a00:1908:e100::,2a00:1908:e100:ffff:ffff:ffff:ffff:ffff,UA
+2a00:1908:e700::,2a00:1908:e700:ffff:ffff:ffff:ffff:ffff,RU
2a00:1908:e965::,2a00:1908:e965:ffff:ffff:ffff:ffff:ffff,KW
-2a00:1908:e966::,2a00:1908:fff9:ffff:ffff:ffff:ffff:ffff,UA
+2a00:1908:faca::,2a00:1908:faca:ffff:ffff:ffff:ffff:ffff,UA
2a00:1908:fffb::,2a00:1908:fffb:ffff:ffff:ffff:ffff:ffff,DE
2a00:1908:fffc::,2a00:1908:fffc:ffff:ffff:ffff:ffff:ffff,UA
2a00:1908:fffd::,2a00:1908:fffd:ffff:ffff:ffff:ffff:ffff,DE
2a00:1908:fffe::,2a00:1908:fffe:ffff:ffff:ffff:ffff:ffff,FR
2a00:1908:ffff::,2a00:1908:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a00:1909::,2a00:1909:ffff:ffff:ffff:ffff:ffff:ffff,GR
-2a00:190a::,2a00:190a:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a00:190b::,2a00:190f:ffff:ffff:ffff:ffff:ffff:ffff,LT
+2a00:1909::,2a00:1909:3fff:ffff:ffff:ffff:ffff:ffff,GR
+2a00:190a::,2a00:190a:3fff:ffff:ffff:ffff:ffff:ffff,DE
+2a00:190b::,2a00:190b:fff:ffff:ffff:ffff:ffff:ffff,FR
+2a00:190c::,2a00:190c:fff:ffff:ffff:ffff:ffff:ffff,GB
+2a00:190d::,2a00:190d:fff:ffff:ffff:ffff:ffff:ffff,KW
2a00:1910::,2a00:1917:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:1918::,2a00:191f:ffff:ffff:ffff:ffff:ffff:ffff,SA
2a00:1920::,2a00:1928:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -25860,8 +26953,7 @@
2a00:19b0::,2a00:19b0:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:19b8::,2a00:19b8:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:19c0::,2a00:19c0:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a00:19c8::,2a00:19c8:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a00:19d0::,2a00:19d7:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a00:19c8::,2a00:19d7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:19d8::,2a00:19d8:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:19e0::,2a00:19e7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:19e8::,2a00:19e8:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -25947,7 +27039,7 @@
2a00:1c28:4:2312::,2a00:1c2f:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:1c30::,2a00:1c30:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a00:1c38::,2a00:1c3f:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a00:1c40::,2a00:1c40:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a00:1c40::,2a00:1c47:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:1c48::,2a00:1c49:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:1c50::,2a00:1c50:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a00:1c58::,2a00:1c58:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -26068,14 +27160,14 @@
2a00:1fe8::,2a00:1fe8:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:1ff0::,2a00:1ff0:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a00:1ff8::,2a00:1ff8:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a00:2000:100::,2a00:2000:208a:ffff:ffff:ffff:ffff:ffff,GB
+2a00:2000::,2a00:2000:208a:ffff:ffff:ffff:ffff:ffff,GB
2a00:2000:208b::,2a00:2000:208b:ffff:ffff:ffff:ffff:ffff,PL
2a00:2000:208c::,2a00:2000:208c:ffff:ffff:ffff:ffff:ffff,NO
2a00:2000:208d::,2a00:2000:5dff:ffff:ffff:ffff:ffff:ffff,GB
2a00:2000:5e00::,2a00:2000:5eff:ffff:ffff:ffff:ffff:ffff,PL
2a00:2000:5f00::,2a00:2000:5fff:ffff:ffff:ffff:ffff:ffff,NO
2a00:2000:6000::,2a00:23ff:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a00:4000::,2a00:4000:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a00:4000::,2a00:4007:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a00:4020::,2a00:4020:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a00:4040::,2a00:4040:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a00:4060::,2a00:4067:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -26157,7 +27249,7 @@
2a00:4a00::,2a00:4a00:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:4a20::,2a00:4a20:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a00:4a40::,2a00:4a40:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a00:4a60::,2a00:4a60:ffff:ffff:ffff:ffff:ffff:ffff,PS
+2a00:4a60::,2a00:4a67:ffff:ffff:ffff:ffff:ffff:ffff,PS
2a00:4a80::,2a00:4a80:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:4aa0::,2a00:4aa0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:4ae0::,2a00:4ae7:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -26214,7 +27306,7 @@
2a00:50e0::,2a00:50e7:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a00:5100::,2a00:5100:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a00:5120::,2a00:5120:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a00:5140::,2a00:5140:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a00:5140::,2a00:5147:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a00:5160::,2a00:5160:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:5180::,2a00:5180:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:51a0::,2a00:51a0:ffff:ffff:ffff:ffff:ffff:ffff,BG
@@ -26327,7 +27419,7 @@
2a00:5d80::,2a00:5d80:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:5da0::,2a00:5da0:ffff:ffff:ffff:ffff:ffff:ffff,KZ
2a00:5dc0::,2a00:5dc0:ffff:ffff:ffff:ffff:ffff:ffff,RO
-2a00:5de0::,2a00:5de0:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a00:5de0::,2a00:5de7:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a00:5e00::,2a00:5e00:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:5e40::,2a00:5e40:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a00:5e60::,2a00:5e60:ffff:ffff:ffff:ffff:ffff:ffff,LB
@@ -26548,42 +27640,328 @@
2a00:7960::,2a00:7960:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a00:79a0::,2a00:79a0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:79c0::,2a00:79c0:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a00:79e0::,2a00:79e0:3:ffff:ffff:ffff:ffff:ffff,PL
+2a00:79e0::,2a00:79e0::ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:1::,2a00:79e0:2:ffff:ffff:ffff:ffff:ffff,PL
+2a00:79e0:3::,2a00:79e0:3:ffff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:4::,2a00:79e0:4:ffff:ffff:ffff:ffff:ffff,FI
2a00:79e0:5::,2a00:79e0:5:ffff:ffff:ffff:ffff:ffff,IT
-2a00:79e0:8::,2a00:79e0:f:ffff:ffff:ffff:ffff:ffff,GB
-2a00:79e0:10::,2a00:79e0:13:ffff:ffff:ffff:ffff:ffff,GH
+2a00:79e0:6::,2a00:79e0:6:ffff:ffff:ffff:ffff:ffff,GB
+2a00:79e0:8::,2a00:79e0:8:ffff:ffff:ffff:ffff:ffff,PL
+2a00:79e0:9::,2a00:79e0:a:ffff:ffff:ffff:ffff:ffff,GB
+2a00:79e0:b::,2a00:79e0:b:ffff:ffff:ffff:ffff:ffff,IT
+2a00:79e0:c::,2a00:79e0:c:ffff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:d::,2a00:79e0:f:ffff:ffff:ffff:ffff:ffff,GB
+2a00:79e0:10::,2a00:79e0:13:ffff:ffff:ffff:ffff:ffff,PL
2a00:79e0:14::,2a00:79e0:14:ffff:ffff:ffff:ffff:ffff,ZA
-2a00:79e0:15::,2a00:79e0:17:ffff:ffff:ffff:ffff:ffff,DE
+2a00:79e0:15::,2a00:79e0:15:ffff:ffff:ffff:ffff:ffff,DE
+2a00:79e0:18::,2a00:79e0:18:ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:19::,2a00:79e0:19:ffff:ffff:ffff:ffff:ffff,DE
+2a00:79e0:1a::,2a00:79e0:1a:ffff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:1b::,2a00:79e0:1b:ffff:ffff:ffff:ffff:ffff,CH
2a00:79e0:1c::,2a00:79e0:1c:ffff:ffff:ffff:ffff:ffff,NL
-2a00:79e0:1f::,2a00:79e0:1f:ffff:ffff:ffff:ffff:ffff,LT
-2a00:79e0:20::,2a00:79e0:22:ffff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:1d::,2a00:79e0:1e:ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:1f::,2a00:79e0:1f:ffff:ffff:ffff:ffff:ffff,AE
2a00:79e0:23::,2a00:79e0:23:ffff:ffff:ffff:ffff:ffff,GB
-2a00:79e0:24::,2a00:79e0:26:ffff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:25::,2a00:79e0:25:ffff:ffff:ffff:ffff:ffff,DE
2a00:79e0:27::,2a00:79e0:27:ffff:ffff:ffff:ffff:ffff,NL
-2a00:79e0:28::,2a00:79e0:30:ffff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:29::,2a00:79e0:29:ffff:ffff:ffff:ffff:ffff,NL
+2a00:79e0:2e::,2a00:79e0:2e:ffff:ffff:ffff:ffff:ffff,DE
+2a00:79e0:2f::,2a00:79e0:2f:ffff:ffff:ffff:ffff:ffff,FR
2a00:79e0:31::,2a00:79e0:31:ffff:ffff:ffff:ffff:ffff,SK
-2a00:79e0:32::,2a00:79e0:36:ffff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:35::,2a00:79e0:35:ffff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:36::,2a00:79e0:36:ffff:ffff:ffff:ffff:ffff,IT
2a00:79e0:37::,2a00:79e0:37:ffff:ffff:ffff:ffff:ffff,DE
2a00:79e0:38::,2a00:79e0:38:ffff:ffff:ffff:ffff:ffff,IE
2a00:79e0:39::,2a00:79e0:39:ffff:ffff:ffff:ffff:ffff,PT
-2a00:79e0:3a::,2a00:79e0:41:ffff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:3b::,2a00:79e0:3c:ffff:ffff:ffff:ffff:ffff,FI
+2a00:79e0:3f::,2a00:79e0:3f:ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:40::,2a00:79e0:41:ffff:ffff:ffff:ffff:ffff,IE
2a00:79e0:42::,2a00:79e0:42:ffff:ffff:ffff:ffff:ffff,CH
-2a00:79e0:43::,2a00:79e0:43:ffff:ffff:ffff:ffff:ffff,IE
-2a00:79e0:60::,2a00:79e0:60:ffff:ffff:ffff:ffff:ffff,CH
-2a00:79e0:100::,2a00:79e0:ffe2:4ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:43::,2a00:79e0:46:ffff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:60::,2a00:79e0:61:ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:62::,2a00:79e0:63:ffff:ffff:ffff:ffff:ffff,GB
+2a00:79e0:64::,2a00:79e0:7f:ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:a0::,2a00:79e0:a0:ffff:ffff:ffff:ffff:ffff,FR
+2a00:79e0:a3::,2a00:79e0:a3:ffff:ffff:ffff:ffff:ffff,DE
+2a00:79e0:100::,2a00:79e0:1ff:ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:200::,2a00:79e0:200:ff:ffff:ffff:ffff:ffff,IN
+2a00:79e0:200:100::,2a00:79e0:200:1ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:200:200::,2a00:79e0:200:2ff:ffff:ffff:ffff:ffff,BR
+2a00:79e0:200:300::,2a00:79e0:200:3ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:200:400::,2a00:79e0:200:4ff:ffff:ffff:ffff:ffff,JP
+2a00:79e0:200:500::,2a00:79e0:200:5ff:ffff:ffff:ffff:ffff,CN
+2a00:79e0:200:600::,2a00:79e0:200:6ff:ffff:ffff:ffff:ffff,AU
+2a00:79e0:200:700::,2a00:79e0:200:7ff:ffff:ffff:ffff:ffff,GB
+2a00:79e0:200:800::,2a00:79e0:200:8ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:200:900::,2a00:79e0:200:9ff:ffff:ffff:ffff:ffff,RU
+2a00:79e0:200:a00::,2a00:79e0:200:aff:ffff:ffff:ffff:ffff,US
+2a00:79e0:200:b00::,2a00:79e0:200:bff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:200:c00::,2a00:79e0:200:cff:ffff:ffff:ffff:ffff,AR
+2a00:79e0:200:d00::,2a00:79e0:200:dff:ffff:ffff:ffff:ffff,UA
+2a00:79e0:200:e00::,2a00:79e0:200:fff:ffff:ffff:ffff:ffff,US
+2a00:79e0:200:1000::,2a00:79e0:200:10ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:200:1100::,2a00:79e0:200:11ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:200:1200::,2a00:79e0:200:12ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:200:1300::,2a00:79e0:200:13ff:ffff:ffff:ffff:ffff,KR
+2a00:79e0:200:1400::,2a00:79e0:200:5cff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:200:5d00::,2a00:79e0:200:5dff:ffff:ffff:ffff:ffff,US
+2a00:79e0:200:5e00::,2a00:79e0:300:ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:300:100::,2a00:79e0:300:1ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:300:200::,2a00:79e0:ffdf:ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe0::,2a00:79e0:ffe0:ff:ffff:ffff:ffff:ffff,DE
+2a00:79e0:ffe0:100::,2a00:79e0:ffe0:1ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe0:200::,2a00:79e0:ffe0:7ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe0:800::,2a00:79e0:ffe0:8ff:ffff:ffff:ffff:ffff,TW
+2a00:79e0:ffe0:900::,2a00:79e0:ffe0:9ff:ffff:ffff:ffff:ffff,IN
+2a00:79e0:ffe0:a00::,2a00:79e0:ffe0:cff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe0:d00::,2a00:79e0:ffe0:dff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe0:e00::,2a00:79e0:ffe0:fff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe0:1000::,2a00:79e0:ffe0:11ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe0:1200::,2a00:79e0:ffe0:ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe1::,2a00:79e0:ffe1:2ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe1:300::,2a00:79e0:ffe1:3fff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe1:4000::,2a00:79e0:ffe1:48ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe1:4900::,2a00:79e0:ffe1:49ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe1:4a00::,2a00:79e0:ffe1:4aff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe1:4b00::,2a00:79e0:ffe1:4bff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe1:4c00::,2a00:79e0:ffe1:4dff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe1:4e00::,2a00:79e0:ffe1:4fff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe1:5000::,2a00:79e0:ffe1:51ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe1:5200::,2a00:79e0:ffe1:7fff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe1:8000::,2a00:79e0:ffe1:81ff:ffff:ffff:ffff:ffff,IN
+2a00:79e0:ffe1:8200::,2a00:79e0:ffe1:82ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe1:8300::,2a00:79e0:ffe1:83ff:ffff:ffff:ffff:ffff,IN
+2a00:79e0:ffe1:8400::,2a00:79e0:ffe1:c0ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe1:c100::,2a00:79e0:ffe1:c1ff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:ffe1:c200::,2a00:79e0:ffe1:c2ff:ffff:ffff:ffff:ffff,GB
+2a00:79e0:ffe1:c300::,2a00:79e0:ffe1:c3ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe1:c400::,2a00:79e0:ffe1:c4ff:ffff:ffff:ffff:ffff,FR
+2a00:79e0:ffe1:c500::,2a00:79e0:ffe2:1ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:200::,2a00:79e0:ffe2:4ff:ffff:ffff:ffff:ffff,US
2a00:79e0:ffe2:500::,2a00:79e0:ffe2:5ff:ffff:ffff:ffff:ffff,IE
-2a00:79e0:ffe2:600::,2a00:79e1:abb:ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:600::,2a00:79e0:ffe2:6ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:700::,2a00:79e0:ffe2:7ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:800::,2a00:79e0:ffe2:8ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:900::,2a00:79e0:ffe2:bff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:c00::,2a00:79e0:ffe2:cff:ffff:ffff:ffff:ffff,AR
+2a00:79e0:ffe2:d00::,2a00:79e0:ffe2:dff:ffff:ffff:ffff:ffff,CA
+2a00:79e0:ffe2:e00::,2a00:79e0:ffe2:eff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:f00::,2a00:79e0:ffe2:fff:ffff:ffff:ffff:ffff,BR
+2a00:79e0:ffe2:1000::,2a00:79e0:ffe2:11ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:1200::,2a00:79e0:ffe2:12ff:ffff:ffff:ffff:ffff,BR
+2a00:79e0:ffe2:1300::,2a00:79e0:ffe2:13ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:1400::,2a00:79e0:ffe2:14ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:1500::,2a00:79e0:ffe2:15ff:ffff:ffff:ffff:ffff,AE
+2a00:79e0:ffe2:1600::,2a00:79e0:ffe2:1bff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:1c00::,2a00:79e0:ffe2:1cff:ffff:ffff:ffff:ffff,DE
+2a00:79e0:ffe2:1d00::,2a00:79e0:ffe2:1dff:ffff:ffff:ffff:ffff,TW
+2a00:79e0:ffe2:1e00::,2a00:79e0:ffe2:1eff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:1f00::,2a00:79e0:ffe2:1fff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:2000::,2a00:79e0:ffe2:20ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:2100::,2a00:79e0:ffe2:21ff:ffff:ffff:ffff:ffff,PL
+2a00:79e0:ffe2:2200::,2a00:79e0:ffe2:22ff:ffff:ffff:ffff:ffff,AE
+2a00:79e0:ffe2:2300::,2a00:79e0:ffe2:23ff:ffff:ffff:ffff:ffff,BR
+2a00:79e0:ffe2:2400::,2a00:79e0:ffe2:24ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:2500::,2a00:79e0:ffe2:25ff:ffff:ffff:ffff:ffff,GB
+2a00:79e0:ffe2:2600::,2a00:79e0:ffe2:26ff:ffff:ffff:ffff:ffff,FR
+2a00:79e0:ffe2:2700::,2a00:79e0:ffe2:29ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:2a00::,2a00:79e0:ffe2:2aff:ffff:ffff:ffff:ffff,MY
+2a00:79e0:ffe2:2b00::,2a00:79e0:ffe2:2bff:ffff:ffff:ffff:ffff,SK
+2a00:79e0:ffe2:2c00::,2a00:79e0:ffe2:2cff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:2d00::,2a00:79e0:ffe2:2dff:ffff:ffff:ffff:ffff,KR
+2a00:79e0:ffe2:2e00::,2a00:79e0:ffe2:32ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:3300::,2a00:79e0:ffe2:33ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:3400::,2a00:79e0:ffe2:37ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:3800::,2a00:79e0:ffe2:39ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:3a00::,2a00:79e0:ffe2:3aff:ffff:ffff:ffff:ffff,NL
+2a00:79e0:ffe2:3b00::,2a00:79e0:ffe2:3bff:ffff:ffff:ffff:ffff,AR
+2a00:79e0:ffe2:3c00::,2a00:79e0:ffe2:3dff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:3e00::,2a00:79e0:ffe2:3eff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:3f00::,2a00:79e0:ffe2:3fff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:4000::,2a00:79e0:ffe2:41ff:ffff:ffff:ffff:ffff,TW
+2a00:79e0:ffe2:4200::,2a00:79e0:ffe2:42ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:4300::,2a00:79e0:ffe2:43ff:ffff:ffff:ffff:ffff,TW
+2a00:79e0:ffe2:4400::,2a00:79e0:ffe2:44ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:4500::,2a00:79e0:ffe2:45ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:4600::,2a00:79e0:ffe2:46ff:ffff:ffff:ffff:ffff,NZ
+2a00:79e0:ffe2:4700::,2a00:79e0:ffe2:47ff:ffff:ffff:ffff:ffff,AU
+2a00:79e0:ffe2:4800::,2a00:79e0:ffe2:48ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:4900::,2a00:79e0:ffe2:4aff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:4b00::,2a00:79e0:ffe2:4bff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:ffe2:4c00::,2a00:79e0:ffe2:4cff:ffff:ffff:ffff:ffff,CN
+2a00:79e0:ffe2:4d00::,2a00:79e0:ffe2:4dff:ffff:ffff:ffff:ffff,IT
+2a00:79e0:ffe2:4e00::,2a00:79e0:ffe2:4eff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:4f00::,2a00:79e0:ffe2:4fff:ffff:ffff:ffff:ffff,TW
+2a00:79e0:ffe2:5000::,2a00:79e0:ffe2:50ff:ffff:ffff:ffff:ffff,NL
+2a00:79e0:ffe2:5100::,2a00:79e0:ffe2:51ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:5200::,2a00:79e0:ffe2:52ff:ffff:ffff:ffff:ffff,IE
+2a00:79e0:ffe2:5300::,2a00:79e0:ffe2:54ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:5500::,2a00:79e0:ffe2:55ff:ffff:ffff:ffff:ffff,PT
+2a00:79e0:ffe2:5600::,2a00:79e0:ffe2:56ff:ffff:ffff:ffff:ffff,IN
+2a00:79e0:ffe2:5700::,2a00:79e0:ffe2:59ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:5a00::,2a00:79e0:ffe2:5aff:ffff:ffff:ffff:ffff,FR
+2a00:79e0:ffe2:5b00::,2a00:79e0:ffe2:5eff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:5f00::,2a00:79e0:ffe2:5fff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:6000::,2a00:79e0:ffe2:60ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:6100::,2a00:79e0:ffe2:61ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:6200::,2a00:79e0:ffe2:62ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:6300::,2a00:79e0:ffe2:63ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:6400::,2a00:79e0:ffe2:64ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:6500::,2a00:79e0:ffe2:65ff:ffff:ffff:ffff:ffff,DE
+2a00:79e0:ffe2:6600::,2a00:79e0:ffe2:66ff:ffff:ffff:ffff:ffff,AU
+2a00:79e0:ffe2:6700::,2a00:79e0:ffe2:67ff:ffff:ffff:ffff:ffff,MY
+2a00:79e0:ffe2:6800::,2a00:79e0:ffe2:68ff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:6900::,2a00:79e0:ffe2:69ff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:6a00::,2a00:79e0:ffe2:6aff:ffff:ffff:ffff:ffff,KR
+2a00:79e0:ffe2:6b00::,2a00:79e0:ffe2:6bff:ffff:ffff:ffff:ffff,GB
+2a00:79e0:ffe2:6c00::,2a00:79e0:ffe2:6cff:ffff:ffff:ffff:ffff,CH
+2a00:79e0:ffe2:6d00::,2a00:79e0:ffe2:6dff:ffff:ffff:ffff:ffff,US
+2a00:79e0:ffe2:6e00::,2a00:79e1::ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e1:1::,2a00:79e1:1:ffff:ffff:ffff:ffff:ffff,CN
+2a00:79e1:2::,2a00:79e1:7f:ffff:ffff:ffff:ffff:ffff,CH
+2a00:79e1:80::,2a00:79e1:80:ff:ffff:ffff:ffff:ffff,NL
+2a00:79e1:80:100::,2a00:79e1:abb:ffff:ffff:ffff:ffff:ffff,CH
2a00:79e1:abc::,2a00:79e1:abc:ff:ffff:ffff:ffff:ffff,GB
-2a00:79e1:abc:100::,2a00:79e1:abc:dff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:100::,2a00:79e1:abc:1ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:200::,2a00:79e1:abc:3ff:ffff:ffff:ffff:ffff,CH
+2a00:79e1:abc:400::,2a00:79e1:abc:4ff:ffff:ffff:ffff:ffff,IN
+2a00:79e1:abc:500::,2a00:79e1:abc:5ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:600::,2a00:79e1:abc:6ff:ffff:ffff:ffff:ffff,IN
+2a00:79e1:abc:700::,2a00:79e1:abc:7ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:800::,2a00:79e1:abc:8ff:ffff:ffff:ffff:ffff,NZ
+2a00:79e1:abc:900::,2a00:79e1:abc:dff:ffff:ffff:ffff:ffff,US
2a00:79e1:abc:e00::,2a00:79e1:abc:fff:ffff:ffff:ffff:ffff,IN
-2a00:79e1:abc:1000::,2a00:79e1:abc:11ff:ffff:ffff:ffff:ffff,IE
-2a00:79e1:abc:1200::,2a00:79e1:abc:6eff:ffff:ffff:ffff:ffff,US
-2a00:79e1:abc:6f00::,2a00:79e1:abc:6fff:ffff:ffff:ffff:ffff,TW
-2a00:79e1:abc:7000::,2a00:79e1:abc:90ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:1000::,2a00:79e1:abc:10ff:ffff:ffff:ffff:ffff,DK
+2a00:79e1:abc:1100::,2a00:79e1:abc:11ff:ffff:ffff:ffff:ffff,IE
+2a00:79e1:abc:1200::,2a00:79e1:abc:17ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:1800::,2a00:79e1:abc:19ff:ffff:ffff:ffff:ffff,PH
+2a00:79e1:abc:1a00::,2a00:79e1:abc:1bff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:1c00::,2a00:79e1:abc:1cff:ffff:ffff:ffff:ffff,IE
+2a00:79e1:abc:1d00::,2a00:79e1:abc:1dff:ffff:ffff:ffff:ffff,CH
+2a00:79e1:abc:1e00::,2a00:79e1:abc:1fff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:2000::,2a00:79e1:abc:20ff:ffff:ffff:ffff:ffff,CA
+2a00:79e1:abc:2100::,2a00:79e1:abc:21ff:ffff:ffff:ffff:ffff,CN
+2a00:79e1:abc:2200::,2a00:79e1:abc:23ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:2400::,2a00:79e1:abc:24ff:ffff:ffff:ffff:ffff,AR
+2a00:79e1:abc:2500::,2a00:79e1:abc:25ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:2600::,2a00:79e1:abc:26ff:ffff:ffff:ffff:ffff,JP
+2a00:79e1:abc:2700::,2a00:79e1:abc:29ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:2a00::,2a00:79e1:abc:2cff:ffff:ffff:ffff:ffff,AU
+2a00:79e1:abc:2d00::,2a00:79e1:abc:2dff:ffff:ffff:ffff:ffff,BR
+2a00:79e1:abc:2e00::,2a00:79e1:abc:2eff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:2f00::,2a00:79e1:abc:2fff:ffff:ffff:ffff:ffff,CO
+2a00:79e1:abc:3000::,2a00:79e1:abc:32ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:3300::,2a00:79e1:abc:33ff:ffff:ffff:ffff:ffff,CA
+2a00:79e1:abc:3400::,2a00:79e1:abc:34ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:3500::,2a00:79e1:abc:35ff:ffff:ffff:ffff:ffff,BR
+2a00:79e1:abc:3600::,2a00:79e1:abc:36ff:ffff:ffff:ffff:ffff,JP
+2a00:79e1:abc:3700::,2a00:79e1:abc:37ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:3800::,2a00:79e1:abc:3aff:ffff:ffff:ffff:ffff,IN
+2a00:79e1:abc:3b00::,2a00:79e1:abc:3dff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:3e00::,2a00:79e1:abc:3eff:ffff:ffff:ffff:ffff,IT
+2a00:79e1:abc:3f00::,2a00:79e1:abc:40ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:4100::,2a00:79e1:abc:41ff:ffff:ffff:ffff:ffff,BR
+2a00:79e1:abc:4200::,2a00:79e1:abc:43ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:4400::,2a00:79e1:abc:44ff:ffff:ffff:ffff:ffff,NL
+2a00:79e1:abc:4500::,2a00:79e1:abc:4aff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:4b00::,2a00:79e1:abc:4bff:ffff:ffff:ffff:ffff,TW
+2a00:79e1:abc:4c00::,2a00:79e1:abc:4dff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:4e00::,2a00:79e1:abc:4eff:ffff:ffff:ffff:ffff,GB
+2a00:79e1:abc:4f00::,2a00:79e1:abc:4fff:ffff:ffff:ffff:ffff,PL
+2a00:79e1:abc:5000::,2a00:79e1:abc:50ff:ffff:ffff:ffff:ffff,GB
+2a00:79e1:abc:5100::,2a00:79e1:abc:51ff:ffff:ffff:ffff:ffff,JP
+2a00:79e1:abc:5200::,2a00:79e1:abc:52ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:5300::,2a00:79e1:abc:54ff:ffff:ffff:ffff:ffff,KR
+2a00:79e1:abc:5500::,2a00:79e1:abc:56ff:ffff:ffff:ffff:ffff,MY
+2a00:79e1:abc:5700::,2a00:79e1:abc:57ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:5800::,2a00:79e1:abc:58ff:ffff:ffff:ffff:ffff,TH
+2a00:79e1:abc:5900::,2a00:79e1:abc:61ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:6200::,2a00:79e1:abc:62ff:ffff:ffff:ffff:ffff,TW
+2a00:79e1:abc:6300::,2a00:79e1:abc:63ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:6400::,2a00:79e1:abc:64ff:ffff:ffff:ffff:ffff,CA
+2a00:79e1:abc:6500::,2a00:79e1:abc:68ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:6900::,2a00:79e1:abc:69ff:ffff:ffff:ffff:ffff,HK
+2a00:79e1:abc:6a00::,2a00:79e1:abc:6dff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:6e00::,2a00:79e1:abc:6fff:ffff:ffff:ffff:ffff,TW
+2a00:79e1:abc:7000::,2a00:79e1:abc:78ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:7900::,2a00:79e1:abc:79ff:ffff:ffff:ffff:ffff,BE
+2a00:79e1:abc:7a00::,2a00:79e1:abc:83ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:8400::,2a00:79e1:abc:84ff:ffff:ffff:ffff:ffff,BE
+2a00:79e1:abc:8500::,2a00:79e1:abc:85ff:ffff:ffff:ffff:ffff,BR
+2a00:79e1:abc:8600::,2a00:79e1:abc:86ff:ffff:ffff:ffff:ffff,DE
+2a00:79e1:abc:8700::,2a00:79e1:abc:87ff:ffff:ffff:ffff:ffff,ES
+2a00:79e1:abc:8800::,2a00:79e1:abc:88ff:ffff:ffff:ffff:ffff,DE
+2a00:79e1:abc:8900::,2a00:79e1:abc:89ff:ffff:ffff:ffff:ffff,FI
+2a00:79e1:abc:8a00::,2a00:79e1:abc:8aff:ffff:ffff:ffff:ffff,AR
+2a00:79e1:abc:8b00::,2a00:79e1:abc:8bff:ffff:ffff:ffff:ffff,FR
+2a00:79e1:abc:8c00::,2a00:79e1:abc:8cff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:8d00::,2a00:79e1:abc:8dff:ffff:ffff:ffff:ffff,NL
+2a00:79e1:abc:8e00::,2a00:79e1:abc:8eff:ffff:ffff:ffff:ffff,IT
+2a00:79e1:abc:8f00::,2a00:79e1:abc:90ff:ffff:ffff:ffff:ffff,US
2a00:79e1:abc:9100::,2a00:79e1:abc:91ff:ffff:ffff:ffff:ffff,TW
-2a00:79e1:abc:9200::,2a00:79e1:abc:b1ff:ffff:ffff:ffff:ffff,US
-2a00:79e1:abc:b200::,2a00:79e1:abc:b2ff:ffff:ffff:ffff:ffff,TW
-2a00:79e1:abc:b300::,2a00:79e1:abc:ffff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:9200::,2a00:79e1:abc:92ff:ffff:ffff:ffff:ffff,DE
+2a00:79e1:abc:9300::,2a00:79e1:abc:93ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:9400::,2a00:79e1:abc:94ff:ffff:ffff:ffff:ffff,CZ
+2a00:79e1:abc:9500::,2a00:79e1:abc:95ff:ffff:ffff:ffff:ffff,GB
+2a00:79e1:abc:9600::,2a00:79e1:abc:96ff:ffff:ffff:ffff:ffff,IE
+2a00:79e1:abc:9700::,2a00:79e1:abc:97ff:ffff:ffff:ffff:ffff,GR
+2a00:79e1:abc:9800::,2a00:79e1:abc:98ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:9900::,2a00:79e1:abc:99ff:ffff:ffff:ffff:ffff,PL
+2a00:79e1:abc:9a00::,2a00:79e1:abc:9aff:ffff:ffff:ffff:ffff,GB
+2a00:79e1:abc:9b00::,2a00:79e1:abc:9bff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:9c00::,2a00:79e1:abc:9cff:ffff:ffff:ffff:ffff,DK
+2a00:79e1:abc:9d00::,2a00:79e1:abc:9dff:ffff:ffff:ffff:ffff,KE
+2a00:79e1:abc:9e00::,2a00:79e1:abc:9eff:ffff:ffff:ffff:ffff,HU
+2a00:79e1:abc:9f00::,2a00:79e1:abc:9fff:ffff:ffff:ffff:ffff,RU
+2a00:79e1:abc:a000::,2a00:79e1:abc:a0ff:ffff:ffff:ffff:ffff,IL
+2a00:79e1:abc:a100::,2a00:79e1:abc:a1ff:ffff:ffff:ffff:ffff,AU
+2a00:79e1:abc:a200::,2a00:79e1:abc:a2ff:ffff:ffff:ffff:ffff,IL
+2a00:79e1:abc:a300::,2a00:79e1:abc:a3ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:a400::,2a00:79e1:abc:a4ff:ffff:ffff:ffff:ffff,NG
+2a00:79e1:abc:a500::,2a00:79e1:abc:a5ff:ffff:ffff:ffff:ffff,PL
+2a00:79e1:abc:a600::,2a00:79e1:abc:a6ff:ffff:ffff:ffff:ffff,PT
+2a00:79e1:abc:a700::,2a00:79e1:abc:a7ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:a800::,2a00:79e1:abc:a8ff:ffff:ffff:ffff:ffff,SE
+2a00:79e1:abc:a900::,2a00:79e1:abc:a9ff:ffff:ffff:ffff:ffff,UA
+2a00:79e1:abc:aa00::,2a00:79e1:abc:aaff:ffff:ffff:ffff:ffff,GB
+2a00:79e1:abc:ab00::,2a00:79e1:abc:abff:ffff:ffff:ffff:ffff,CN
+2a00:79e1:abc:ac00::,2a00:79e1:abc:acff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:ad00::,2a00:79e1:abc:adff:ffff:ffff:ffff:ffff,KR
+2a00:79e1:abc:ae00::,2a00:79e1:abc:afff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:b000::,2a00:79e1:abc:b0ff:ffff:ffff:ffff:ffff,DE
+2a00:79e1:abc:b100::,2a00:79e1:abc:b2ff:ffff:ffff:ffff:ffff,TW
+2a00:79e1:abc:b300::,2a00:79e1:abc:b3ff:ffff:ffff:ffff:ffff,AE
+2a00:79e1:abc:b400::,2a00:79e1:abc:b4ff:ffff:ffff:ffff:ffff,IT
+2a00:79e1:abc:b500::,2a00:79e1:abc:b5ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:b600::,2a00:79e1:abc:b6ff:ffff:ffff:ffff:ffff,TR
+2a00:79e1:abc:b700::,2a00:79e1:abc:b7ff:ffff:ffff:ffff:ffff,IE
+2a00:79e1:abc:b800::,2a00:79e1:abc:b8ff:ffff:ffff:ffff:ffff,TW
+2a00:79e1:abc:b900::,2a00:79e1:abc:bbff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:bc00::,2a00:79e1:abc:bdff:ffff:ffff:ffff:ffff,PL
+2a00:79e1:abc:be00::,2a00:79e1:abc:beff:ffff:ffff:ffff:ffff,FR
+2a00:79e1:abc:bf00::,2a00:79e1:abc:c1ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:c200::,2a00:79e1:abc:c2ff:ffff:ffff:ffff:ffff,DE
+2a00:79e1:abc:c300::,2a00:79e1:abc:c4ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:c500::,2a00:79e1:abc:c5ff:ffff:ffff:ffff:ffff,IE
+2a00:79e1:abc:c600::,2a00:79e1:abc:c7ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:c800::,2a00:79e1:abc:c8ff:ffff:ffff:ffff:ffff,FI
+2a00:79e1:abc:c900::,2a00:79e1:abc:caff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:cb00::,2a00:79e1:abc:cbff:ffff:ffff:ffff:ffff,DE
+2a00:79e1:abc:cc00::,2a00:79e1:abc:cdff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:ce00::,2a00:79e1:abc:ceff:ffff:ffff:ffff:ffff,CA
+2a00:79e1:abc:cf00::,2a00:79e1:abc:cfff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:d000::,2a00:79e1:abc:d0ff:ffff:ffff:ffff:ffff,TW
+2a00:79e1:abc:d100::,2a00:79e1:abc:d4ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:d500::,2a00:79e1:abc:d5ff:ffff:ffff:ffff:ffff,MY
+2a00:79e1:abc:d600::,2a00:79e1:abc:d6ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:d700::,2a00:79e1:abc:d7ff:ffff:ffff:ffff:ffff,PT
+2a00:79e1:abc:d800::,2a00:79e1:abc:d8ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:d900::,2a00:79e1:abc:d9ff:ffff:ffff:ffff:ffff,GB
+2a00:79e1:abc:da00::,2a00:79e1:abc:ddff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:de00::,2a00:79e1:abc:deff:ffff:ffff:ffff:ffff,IE
+2a00:79e1:abc:df00::,2a00:79e1:abc:e1ff:ffff:ffff:ffff:ffff,US
+2a00:79e1:abc:e200::,2a00:79e1:abc:e2ff:ffff:ffff:ffff:ffff,IN
+2a00:79e1:abc:e300::,2a00:79e1:abc:ffff:ffff:ffff:ffff:ffff,US
2a00:79e1:ac0::,2a00:79e1:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a00:7a00::,2a00:7a00:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a00:7a20::,2a00:7a20:ffff:ffff:ffff:ffff:ffff:ffff,FI
@@ -26627,7 +28005,6 @@
2a00:7f20::,2a00:7f20:ffff:ffff:ffff:ffff:ffff:ffff,SK
2a00:7f40::,2a00:7f40:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a00:7f60::,2a00:7f60:ffff:ffff:ffff:ffff:ffff:ffff,AE
-2a00:7f80::,2a00:7f87:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a00:7fc0::,2a00:7fc0:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:7fe0::,2a00:7fe0:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a00:8000::,2a00:8007:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -26661,7 +28038,7 @@
2a00:83a0::,2a00:83a0:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a00:83c0::,2a00:83c0:ffff:ffff:ffff:ffff:ffff:ffff,LB
2a00:83e0::,2a00:83e0:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a00:8420::,2a00:8420:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a00:8420::,2a00:8427:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:8440::,2a00:8440:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a00:8460::,2a00:8460:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:8480::,2a00:8480:ffff:ffff:ffff:ffff:ffff:ffff,LV
@@ -26708,10 +28085,10 @@
2a00:89e0::,2a00:89e0:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a00:8a00::,2a00:8a00:afff:ffff:ffff:ffff:ffff:ffff,BR
2a00:8a00:b000::,2a00:8a00:bfff:ffff:ffff:ffff:ffff:ffff,IN
-2a00:8a00:c000::,2a00:8a00:ffff:ffff:ffff:ffff:ffff:ffff,BR
+2a00:8a00:c000::,2a00:8a07:ffff:ffff:ffff:ffff:ffff:ffff,BR
2a00:8a20::,2a00:8a20:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a00:8a40::,2a00:8a40:ffff:ffff:ffff:ffff:ffff:ffff,PL
-2a00:8a60::,2a00:8a60:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a00:8a60::,2a00:8a67:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:8a80::,2a00:8a87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a00:8aa0::,2a00:8aa0:ffff:ffff:ffff:ffff:ffff:ffff,IE
2a00:8ac0::,2a00:8ac0:ffff:ffff:ffff:ffff:ffff:ffff,IQ
@@ -26802,7 +28179,7 @@
2a00:9560::,2a00:9567:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a00:9580::,2a00:9580:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:95a0::,2a00:95a0:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a00:95c0::,2a00:95c0:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a00:95c0::,2a00:95c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:95e0::,2a00:95e0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:9600::,2a00:9600:83ff:ffff:ffff:ffff:ffff:ffff,GB
2a00:9600:8400::,2a00:9600:8400:ffff:ffff:ffff:ffff:ffff,US
@@ -26879,7 +28256,7 @@
2a00:9ea0::,2a00:9ea0:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a00:9ec0::,2a00:9ec0:ffff:ffff:ffff:ffff:ffff:ffff,EE
2a00:9ee0::,2a00:9ee0:ffff:ffff:ffff:ffff:ffff:ffff,SK
-2a00:9f00::,2a00:9f00:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a00:9f00::,2a00:9f07:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a00:9f20::,2a00:9f20:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a00:9f40::,2a00:9f47:ffff:ffff:ffff:ffff:ffff:ffff,AL
2a00:9f60::,2a00:9f60:ffff:ffff:ffff:ffff:ffff:ffff,IL
@@ -27025,7 +28402,8 @@
2a00:b160::,2a00:b160:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:b180::,2a00:b180:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a00:b1a0::,2a00:b1a0:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2a00:b1c0::,2a00:b1c0:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a00:b1c0::,2a00:b1c0:fffe:ffff:ffff:ffff:ffff:ffff,RU
+2a00:b1c0:ffff::,2a00:b1c0:ffff:ffff:ffff:ffff:ffff:ffff,US
2a00:b1e0::,2a00:b1e0:ffff:ffff:ffff:ffff:ffff:ffff,LU
2a00:b200::,2a00:b200:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a00:b220::,2a00:b220:ffff:ffff:ffff:ffff:ffff:ffff,AT
@@ -27083,7 +28461,6 @@
2a00:b960::,2a00:b960:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a00:b980::,2a00:b987:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:b9a0::,2a00:b9a0:ffff:ffff:ffff:ffff:ffff:ffff,FI
-2a00:b9c0::,2a00:b9c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:b9e0::,2a00:b9e0:ffff:ffff:ffff:ffff:ffff:ffff,EE
2a00:ba00::,2a00:ba00:ffff:ffff:ffff:ffff:ffff:ffff,SK
2a00:ba20::,2a00:ba20:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -27275,7 +28652,7 @@
2a00:d0c0::,2a00:d0c0:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:d0e0::,2a00:d0e0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:d100::,2a00:d107:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a00:d120::,2a00:d120:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a00:d120::,2a00:d127:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:d140::,2a00:d140:ffff:ffff:ffff:ffff:ffff:ffff,RS
2a00:d160::,2a00:d160:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a00:d180::,2a00:d180:ffff:ffff:ffff:ffff:ffff:ffff,PT
@@ -27406,9 +28783,7 @@
2a00:e120::,2a00:e120:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:e140::,2a00:e140:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a00:e160::,2a00:e160:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a00:e180::,2a00:e180:123f:ffff:ffff:ffff:ffff:ffff,DE
-2a00:e180:1240::,2a00:e180:127f:ffff:ffff:ffff:ffff:ffff,US
-2a00:e180:1280::,2a00:e180:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a00:e180::,2a00:e180:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:e1a0::,2a00:e1a0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:e1c0::,2a00:e1c0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:e1e0::,2a00:e1e0:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -27565,7 +28940,7 @@
2a00:f5e0::,2a00:f5e0:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a00:f600::,2a00:f600:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a00:f620::,2a00:f620:ffff:ffff:ffff:ffff:ffff:ffff,BE
-2a00:f640::,2a00:f640:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a00:f640::,2a00:f647:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a00:f660::,2a00:f660:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:f680::,2a00:f680:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a00:f6a0::,2a00:f6a0:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -27614,7 +28989,7 @@
2a00:fb80::,2a00:fb80:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a00:fba0::,2a00:fba0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a00:fbc0::,2a00:fbc0:ffff:ffff:ffff:ffff:ffff:ffff,PL
-2a00:fbe0::,2a00:fbe0:ffff:ffff:ffff:ffff:ffff:ffff,DK
+2a00:fbe0::,2a00:fbe7:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a00:fc00::,2a00:fc00:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a00:fc20::,2a00:fc20:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a00:fc40::,2a00:fc40:ffff:ffff:ffff:ffff:ffff:ffff,BG
@@ -27686,14 +29061,12 @@
2a01:d0::,2a01:d0:3ff:ffff:ffff:ffff:ffff:ffff,UA
2a01:d0:400::,2a01:d0:3fff:ffff:ffff:ffff:ffff:ffff,GI
2a01:d0:4000::,2a01:d0:47ff:ffff:ffff:ffff:ffff:ffff,UA
-2a01:d0:4800::,2a01:d0:88ff:ffff:ffff:ffff:ffff:ffff,GI
-2a01:d0:8900::,2a01:d0:897f:ffff:ffff:ffff:ffff:ffff,UA
-2a01:d0:8980::,2a01:d0:93ff:ffff:ffff:ffff:ffff:ffff,GI
+2a01:d0:4800::,2a01:d0:87ff:ffff:ffff:ffff:ffff:ffff,GI
+2a01:d0:8800::,2a01:d0:8bff:ffff:ffff:ffff:ffff:ffff,UA
+2a01:d0:8c00::,2a01:d0:93ff:ffff:ffff:ffff:ffff:ffff,GI
2a01:d0:9400::,2a01:d0:97ff:ffff:ffff:ffff:ffff:ffff,UA
-2a01:d0:9800::,2a01:d0:e3ff:ffff:ffff:ffff:ffff:ffff,GI
-2a01:d0:e400::,2a01:d0:e7ff:ffff:ffff:ffff:ffff:ffff,UA
-2a01:d0:e800::,2a01:d0:ebff:ffff:ffff:ffff:ffff:ffff,GI
-2a01:d0:ec00::,2a01:d0:efff:ffff:ffff:ffff:ffff:ffff,UA
+2a01:d0:9800::,2a01:d0:e7ff:ffff:ffff:ffff:ffff:ffff,GI
+2a01:d0:e800::,2a01:d0:efff:ffff:ffff:ffff:ffff:ffff,UA
2a01:d0:f000::,2a01:d0:ffff:ffff:ffff:ffff:ffff:ffff,GI
2a01:d8::,2a01:d8:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a01:e0::,2a01:e0:ffff:ffff:ffff:ffff:ffff:ffff,SK
@@ -27809,7 +29182,9 @@
2a01:111:f330:1793::,2a01:111:f330:1794:ffff:ffff:ffff:ffff,US
2a01:111:f330:1795::,2a01:111:f330:17cf:ffff:ffff:ffff:ffff,GB
2a01:111:f330:17d0::,2a01:111:f330:17d0:ffff:ffff:ffff:ffff,US
-2a01:111:f330:17d1::,2a01:111:f3ff:ffff:ffff:ffff:ffff:ffff,GB
+2a01:111:f330:17d1::,2a01:111:f335:1791:ffff:ffff:ffff:ffff,GB
+2a01:111:f335:1792::,2a01:111:f335:1792:ffff:ffff:ffff:ffff,US
+2a01:111:f335:1793::,2a01:111:f3ff:ffff:ffff:ffff:ffff:ffff,GB
2a01:111:f400::,2a01:111:f400:2c:ffff:ffff:ffff:ffff,US
2a01:111:f400:2d::,2a01:111:f400:2d:ffff:ffff:ffff:ffff,GB
2a01:111:f400:2e::,2a01:111:f400:5c:ffff:ffff:ffff:ffff,US
@@ -28007,9 +29382,11 @@
2a01:111:f400:7800::,2a01:111:f400:7c0f:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7c10::,2a01:111:f400:7c17:ffff:ffff:ffff:ffff,US
2a01:111:f400:7c18::,2a01:111:f400:7c18:ffff:ffff:ffff:ffff,HK
-2a01:111:f400:7c19::,2a01:111:f400:7d03:ffff:ffff:ffff:ffff,GB
-2a01:111:f400:7d04::,2a01:111:f400:7d04:ffff:ffff:ffff:ffff,US
-2a01:111:f400:7d05::,2a01:111:f400:7e01:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:7c19::,2a01:111:f400:7cff:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:7d00::,2a01:111:f400:7d00:ffff:ffff:ffff:ffff,AT
+2a01:111:f400:7d01::,2a01:111:f400:7d03:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:7d04::,2a01:111:f400:7d05:ffff:ffff:ffff:ffff,US
+2a01:111:f400:7d06::,2a01:111:f400:7e01:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7e02::,2a01:111:f400:7e03:ffff:ffff:ffff:ffff,IE
2a01:111:f400:7e04::,2a01:111:f400:7e04:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7e05::,2a01:111:f400:7e05:ffff:ffff:ffff:ffff,FI
@@ -28044,15 +29421,15 @@
2a01:111:f400:7e51::,2a01:111:f400:7e51:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7e52::,2a01:111:f400:7e52:ffff:ffff:ffff:ffff,US
2a01:111:f400:7e53::,2a01:111:f400:7e53:ffff:ffff:ffff:ffff,GB
-2a01:111:f400:7e54::,2a01:111:f400:7e57:ffff:ffff:ffff:ffff,US
-2a01:111:f400:7e58::,2a01:111:f400:7e5a:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:7e54::,2a01:111:f400:7e58:ffff:ffff:ffff:ffff,US
+2a01:111:f400:7e59::,2a01:111:f400:7e5a:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7e5b::,2a01:111:f400:7e5b:ffff:ffff:ffff:ffff,US
2a01:111:f400:7e5c::,2a01:111:f400:7e5e:ffff:ffff:ffff:ffff,CA
2a01:111:f400:7e5f::,2a01:111:f400:7e7f:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7e80::,2a01:111:f400:7e80:ffff:ffff:ffff:ffff,US
2a01:111:f400:7e81::,2a01:111:f400:7e82:ffff:ffff:ffff:ffff,GB
-2a01:111:f400:7e83::,2a01:111:f400:7e83:ffff:ffff:ffff:ffff,US
-2a01:111:f400:7e84::,2a01:111:f400:7e89:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:7e83::,2a01:111:f400:7e84:ffff:ffff:ffff:ffff,US
+2a01:111:f400:7e85::,2a01:111:f400:7e89:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7e8a::,2a01:111:f400:7e8a:ffff:ffff:ffff:ffff,US
2a01:111:f400:7e8b::,2a01:111:f400:7e8d:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7e8e::,2a01:111:f400:7e8e:ffff:ffff:ffff:ffff,US
@@ -28063,11 +29440,15 @@
2a01:111:f400:7e94::,2a01:111:f400:7e95:ffff:ffff:ffff:ffff,IN
2a01:111:f400:7e96::,2a01:111:f400:7e96:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7e97::,2a01:111:f400:7e97:ffff:ffff:ffff:ffff,SG
-2a01:111:f400:7e98::,2a01:111:f400:7e9d:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:7e98::,2a01:111:f400:7e99:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:7e9a::,2a01:111:f400:7e9a:ffff:ffff:ffff:ffff,US
+2a01:111:f400:7e9b::,2a01:111:f400:7e9d:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7e9e::,2a01:111:f400:7e9f:ffff:ffff:ffff:ffff,JP
2a01:111:f400:7ea0::,2a01:111:f400:7ea3:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7ea4::,2a01:111:f400:7ea7:ffff:ffff:ffff:ffff,IN
-2a01:111:f400:7ea8::,2a01:111:f400:7eb3:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:7ea8::,2a01:111:f400:7ea8:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:7ea9::,2a01:111:f400:7ea9:ffff:ffff:ffff:ffff,US
+2a01:111:f400:7eaa::,2a01:111:f400:7eb3:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7eb4::,2a01:111:f400:7eb5:ffff:ffff:ffff:ffff,AU
2a01:111:f400:7eb6::,2a01:111:f400:7eb7:ffff:ffff:ffff:ffff,GB
2a01:111:f400:7eb8::,2a01:111:f400:7eb8:ffff:ffff:ffff:ffff,HK
@@ -28290,9 +29671,11 @@
2a01:111:f400:fc14::,2a01:111:f400:fc17:ffff:ffff:ffff:ffff,GB
2a01:111:f400:fc18::,2a01:111:f400:fc1b:ffff:ffff:ffff:ffff,HK
2a01:111:f400:fc1c::,2a01:111:f400:fc1c:ffff:ffff:ffff:ffff,IE
-2a01:111:f400:fc1d::,2a01:111:f400:fd03:ffff:ffff:ffff:ffff,GB
-2a01:111:f400:fd04::,2a01:111:f400:fd04:ffff:ffff:ffff:ffff,US
-2a01:111:f400:fd05::,2a01:111:f400:fe01:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:fc1d::,2a01:111:f400:fd01:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:fd02::,2a01:111:f400:fd02:ffff:ffff:ffff:ffff,US
+2a01:111:f400:fd03::,2a01:111:f400:fd03:ffff:ffff:ffff:ffff,GB
+2a01:111:f400:fd04::,2a01:111:f400:fd05:ffff:ffff:ffff:ffff,US
+2a01:111:f400:fd06::,2a01:111:f400:fe01:ffff:ffff:ffff:ffff,GB
2a01:111:f400:fe02::,2a01:111:f400:fe02:ffff:ffff:ffff:ffff,IE
2a01:111:f400:fe03::,2a01:111:f400:fe03:ffff:ffff:ffff:ffff,GB
2a01:111:f400:fe04::,2a01:111:f400:fe04:ffff:ffff:ffff:ffff,IE
@@ -28475,7 +29858,7 @@
2a01:188::,2a01:188:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a01:190::,2a01:197:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a01:198::,2a01:198:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a01:1a0::,2a01:1a0:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a01:1a0::,2a01:1a7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a01:1a8::,2a01:1a8:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a01:1b0::,2a01:1b7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a01:1b8::,2a01:1b8::ffff:ffff:ffff:ffff:ffff,EE
@@ -28485,7 +29868,7 @@
2a01:1d0::,2a01:1d7:ffff:ffff:ffff:ffff:ffff:ffff,JO
2a01:1d8::,2a01:1df:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a01:1e0::,2a01:1e0:ffff:ffff:ffff:ffff:ffff:ffff,IE
-2a01:1e8::,2a01:1e8:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a01:1e8::,2a01:1ef:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a01:1f0::,2a01:1f0:ffff:ffff:ffff:ffff:ffff:ffff,HU
2a01:1f8::,2a01:1f8:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a01:200::,2a01:200:ffff:ffff:ffff:ffff:ffff:ffff,CH
@@ -28542,8 +29925,8 @@
2a01:378::,2a01:37f:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a01:380::,2a01:380:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a01:388::,2a01:388:377:ffff:ffff:ffff:ffff:ffff,GB
-2a01:388:378::,2a01:388:37b:ffff:ffff:ffff:ffff:ffff,NL
-2a01:388:37c::,2a01:38f:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a01:388:378::,2a01:388:379:ffff:ffff:ffff:ffff:ffff,NL
+2a01:388:37a::,2a01:38f:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a01:390::,2a01:397:ffff:ffff:ffff:ffff:ffff:ffff,SK
2a01:398::,2a01:398:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a01:3a0::,2a01:3a7:ffff:ffff:ffff:ffff:ffff:ffff,DK
@@ -28641,7 +30024,11 @@
2a01:4f8:151:227::,2a01:4f8:151:227:ffff:ffff:ffff:ffff,AQ
2a01:4f8:151:228::,2a01:4f8:1c0c:4059:ffff:ffff:ffff:ffff,DE
2a01:4f8:1c0c:405a::,2a01:4f8:1c0c:405a:ffff:ffff:ffff:ffff,BV
-2a01:4f8:1c0c:405b::,2a01:4ff:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a01:4f8:1c0c:405b::,2a01:4f9:2a:a2e:ffff:ffff:ffff:ffff,DE
+2a01:4f9:2a:a2f::,2a01:4f9:2a:a2f:ffff:ffff:ffff:ffff,FI
+2a01:4f9:2a:a30::,2a01:4f9:2a:1669:ffff:ffff:ffff:ffff,DE
+2a01:4f9:2a:166a::,2a01:4f9:2a:166a:ffff:ffff:ffff:ffff,FI
+2a01:4f9:2a:166b::,2a01:4ff:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a01:500::,2a01:500:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a01:508::,2a01:508:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a01:510::,2a01:510:ffff:ffff:ffff:ffff:ffff:ffff,CZ
@@ -28776,8 +30163,8 @@
2a01:7a7:2:1054::,2a01:7a7:2:1059:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:105a::,2a01:7a7:2:105b:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:105c::,2a01:7a7:2:106b:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:106c::,2a01:7a7:2:106e:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:106f::,2a01:7a7:2:1073:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:106c::,2a01:7a7:2:106d:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:106e::,2a01:7a7:2:1073:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1074::,2a01:7a7:2:1076:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1077::,2a01:7a7:2:107a:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:107b::,2a01:7a7:2:107c:ffff:ffff:ffff:ffff,FR
@@ -28890,8 +30277,8 @@
2a01:7a7:2:1157::,2a01:7a7:2:115a:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:115b::,2a01:7a7:2:115c:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:115d::,2a01:7a7:2:1161:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1162::,2a01:7a7:2:1164:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1165::,2a01:7a7:2:1165:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1162::,2a01:7a7:2:1163:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1164::,2a01:7a7:2:1165:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1166::,2a01:7a7:2:116b:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:116c::,2a01:7a7:2:116c:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:116d::,2a01:7a7:2:116f:ffff:ffff:ffff:ffff,FR
@@ -28909,9 +30296,7 @@
2a01:7a7:2:1185::,2a01:7a7:2:1185:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1186::,2a01:7a7:2:118a:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:118b::,2a01:7a7:2:118c:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:118d::,2a01:7a7:2:118e:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:118f::,2a01:7a7:2:118f:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1190::,2a01:7a7:2:1190:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:118d::,2a01:7a7:2:1190:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1191::,2a01:7a7:2:1191:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1192::,2a01:7a7:2:1192:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1193::,2a01:7a7:2:1197:ffff:ffff:ffff:ffff,FR
@@ -28924,8 +30309,8 @@
2a01:7a7:2:11a7::,2a01:7a7:2:11a8:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:11a9::,2a01:7a7:2:11ab:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:11ac::,2a01:7a7:2:11ac:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:11ad::,2a01:7a7:2:11af:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:11b0::,2a01:7a7:2:11b1:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:11ad::,2a01:7a7:2:11ae:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:11af::,2a01:7a7:2:11b1:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:11b2::,2a01:7a7:2:11b3:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:11b4::,2a01:7a7:2:11b4:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:11b5::,2a01:7a7:2:11b7:ffff:ffff:ffff:ffff,FR
@@ -29053,8 +30438,8 @@
2a01:7a7:2:12b4::,2a01:7a7:2:12b9:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:12ba::,2a01:7a7:2:12ba:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:12bb::,2a01:7a7:2:12be:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:12bf::,2a01:7a7:2:12bf:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:12c0::,2a01:7a7:2:12c3:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:12bf::,2a01:7a7:2:12c1:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:12c2::,2a01:7a7:2:12c3:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:12c4::,2a01:7a7:2:12c6:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:12c7::,2a01:7a7:2:12c7:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:12c8::,2a01:7a7:2:12c9:ffff:ffff:ffff:ffff,DE
@@ -29138,8 +30523,8 @@
2a01:7a7:2:13a3::,2a01:7a7:2:13a3:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:13a4::,2a01:7a7:2:13a5:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:13a6::,2a01:7a7:2:13a6:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:13a7::,2a01:7a7:2:13ac:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:13ad::,2a01:7a7:2:13ad:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:13a7::,2a01:7a7:2:13ab:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:13ac::,2a01:7a7:2:13ad:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:13ae::,2a01:7a7:2:13b0:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:13b1::,2a01:7a7:2:13b1:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:13b2::,2a01:7a7:2:13b3:ffff:ffff:ffff:ffff,FR
@@ -29178,7 +30563,9 @@
2a01:7a7:2:140e::,2a01:7a7:2:140f:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1410::,2a01:7a7:2:1411:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1412::,2a01:7a7:2:1412:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1413::,2a01:7a7:2:141a:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1413::,2a01:7a7:2:1413:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1414::,2a01:7a7:2:1414:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1415::,2a01:7a7:2:141a:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:141b::,2a01:7a7:2:141c:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:141d::,2a01:7a7:2:141e:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:141f::,2a01:7a7:2:141f:ffff:ffff:ffff:ffff,DE
@@ -29204,21 +30591,27 @@
2a01:7a7:2:144c::,2a01:7a7:2:144d:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:144e::,2a01:7a7:2:144f:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1450::,2a01:7a7:2:1451:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1452::,2a01:7a7:2:145c:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1452::,2a01:7a7:2:1454:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1455::,2a01:7a7:2:1455:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1456::,2a01:7a7:2:1459:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:145a::,2a01:7a7:2:145a:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:145b::,2a01:7a7:2:145c:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:145d::,2a01:7a7:2:1460:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1461::,2a01:7a7:2:1464:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1465::,2a01:7a7:2:1465:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1466::,2a01:7a7:2:1467:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1468::,2a01:7a7:2:1469:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:146a::,2a01:7a7:2:146a:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:146b::,2a01:7a7:2:146b:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:146c::,2a01:7a7:2:146d:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:146b::,2a01:7a7:2:146c:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:146d::,2a01:7a7:2:146d:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:146e::,2a01:7a7:2:146e:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:146f::,2a01:7a7:2:1476:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1477::,2a01:7a7:2:1478:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1479::,2a01:7a7:2:1481:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1482::,2a01:7a7:2:1482:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1483::,2a01:7a7:2:1492:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1483::,2a01:7a7:2:1488:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1489::,2a01:7a7:2:1489:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:148a::,2a01:7a7:2:1492:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1493::,2a01:7a7:2:1493:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1494::,2a01:7a7:2:1497:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1498::,2a01:7a7:2:1498:ffff:ffff:ffff:ffff,DE
@@ -29232,8 +30625,10 @@
2a01:7a7:2:14ad::,2a01:7a7:2:14ad:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:14ae::,2a01:7a7:2:14b3:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:14b4::,2a01:7a7:2:14b4:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:14b5::,2a01:7a7:2:14b8:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:14b9::,2a01:7a7:2:14b9:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:14b5::,2a01:7a7:2:14b5:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:14b6::,2a01:7a7:2:14b6:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:14b7::,2a01:7a7:2:14b7:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:14b8::,2a01:7a7:2:14b9:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:14ba::,2a01:7a7:2:14c3:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:14c4::,2a01:7a7:2:14c4:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:14c5::,2a01:7a7:2:14ca:ffff:ffff:ffff:ffff,FR
@@ -29262,21 +30657,25 @@
2a01:7a7:2:1514::,2a01:7a7:2:1517:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1518::,2a01:7a7:2:151a:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:151b::,2a01:7a7:2:151b:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:151c::,2a01:7a7:2:1522:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1523::,2a01:7a7:2:1524:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:151c::,2a01:7a7:2:1521:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1522::,2a01:7a7:2:1524:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1525::,2a01:7a7:2:1526:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1527::,2a01:7a7:2:1529:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:152a::,2a01:7a7:2:152c:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:152d::,2a01:7a7:2:152d:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:152e::,2a01:7a7:2:153d:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:153e::,2a01:7a7:2:153e:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:152e::,2a01:7a7:2:153c:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:153d::,2a01:7a7:2:153e:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:153f::,2a01:7a7:2:1544:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1545::,2a01:7a7:2:1545:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1546::,2a01:7a7:2:1550:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1551::,2a01:7a7:2:1551:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1552::,2a01:7a7:2:1554:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1555::,2a01:7a7:2:1555:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1556::,2a01:7a7:2:1561:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1556::,2a01:7a7:2:1556:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1557::,2a01:7a7:2:1558:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1559::,2a01:7a7:2:155e:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:155f::,2a01:7a7:2:1560:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1561::,2a01:7a7:2:1561:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1562::,2a01:7a7:2:1563:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1564::,2a01:7a7:2:1569:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:156a::,2a01:7a7:2:156b:ffff:ffff:ffff:ffff,DE
@@ -29288,13 +30687,17 @@
2a01:7a7:2:1585::,2a01:7a7:2:1585:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1586::,2a01:7a7:2:1586:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1587::,2a01:7a7:2:1587:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1588::,2a01:7a7:2:1596:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1588::,2a01:7a7:2:158c:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:158d::,2a01:7a7:2:158d:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:158e::,2a01:7a7:2:1596:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1597::,2a01:7a7:2:1597:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1598::,2a01:7a7:2:1599:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:159a::,2a01:7a7:2:159a:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1598::,2a01:7a7:2:1598:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1599::,2a01:7a7:2:159a:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:159b::,2a01:7a7:2:15a1:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:15a2::,2a01:7a7:2:15a2:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:15a3::,2a01:7a7:2:15a6:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:15a3::,2a01:7a7:2:15a4:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:15a5::,2a01:7a7:2:15a5:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:15a6::,2a01:7a7:2:15a6:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:15a7::,2a01:7a7:2:15a8:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:15a9::,2a01:7a7:2:15a9:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:15aa::,2a01:7a7:2:15ad:ffff:ffff:ffff:ffff,DE
@@ -29318,9 +30721,13 @@
2a01:7a7:2:15ed::,2a01:7a7:2:15ed:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:15ee::,2a01:7a7:2:15f4:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:15f5::,2a01:7a7:2:15f5:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:15f6::,2a01:7a7:2:1606:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:15f6::,2a01:7a7:2:1601:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1602::,2a01:7a7:2:1602:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1603::,2a01:7a7:2:1606:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1607::,2a01:7a7:2:1607:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1608::,2a01:7a7:2:160a:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1608::,2a01:7a7:2:1608:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1609::,2a01:7a7:2:1609:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:160a::,2a01:7a7:2:160a:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:160b::,2a01:7a7:2:160c:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:160d::,2a01:7a7:2:160d:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:160e::,2a01:7a7:2:160e:ffff:ffff:ffff:ffff,DE
@@ -29332,7 +30739,9 @@
2a01:7a7:2:161d::,2a01:7a7:2:161d:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:161e::,2a01:7a7:2:1624:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1625::,2a01:7a7:2:1625:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1626::,2a01:7a7:2:162e:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1626::,2a01:7a7:2:1629:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:162a::,2a01:7a7:2:162a:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:162b::,2a01:7a7:2:162e:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:162f::,2a01:7a7:2:162f:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1630::,2a01:7a7:2:1636:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1637::,2a01:7a7:2:1637:ffff:ffff:ffff:ffff,DE
@@ -29342,21 +30751,27 @@
2a01:7a7:2:1647::,2a01:7a7:2:1648:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1649::,2a01:7a7:2:1649:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:164a::,2a01:7a7:2:164a:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:164b::,2a01:7a7:2:1651:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:164b::,2a01:7a7:2:164f:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1650::,2a01:7a7:2:1650:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1651::,2a01:7a7:2:1651:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1652::,2a01:7a7:2:1652:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1653::,2a01:7a7:2:1654:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1655::,2a01:7a7:2:1655:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1656::,2a01:7a7:2:1664:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1665::,2a01:7a7:2:1665:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1656::,2a01:7a7:2:1663:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1664::,2a01:7a7:2:1665:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1666::,2a01:7a7:2:1669:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:166a::,2a01:7a7:2:166b:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:166c::,2a01:7a7:2:166d:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:166a::,2a01:7a7:2:166c:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:166d::,2a01:7a7:2:166d:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:166e::,2a01:7a7:2:166f:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1670::,2a01:7a7:2:1670:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1671::,2a01:7a7:2:1672:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1673::,2a01:7a7:2:167d:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1673::,2a01:7a7:2:167b:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:167c::,2a01:7a7:2:167c:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:167d::,2a01:7a7:2:167d:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:167e::,2a01:7a7:2:167f:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1680::,2a01:7a7:2:1684:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1680::,2a01:7a7:2:1682:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1683::,2a01:7a7:2:1683:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1684::,2a01:7a7:2:1684:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1685::,2a01:7a7:2:1686:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1687::,2a01:7a7:2:1688:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1689::,2a01:7a7:2:1689:ffff:ffff:ffff:ffff,DE
@@ -29366,11 +30781,17 @@
2a01:7a7:2:1692::,2a01:7a7:2:1693:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1694::,2a01:7a7:2:1699:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:169a::,2a01:7a7:2:169a:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:169b::,2a01:7a7:2:16a1:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:169b::,2a01:7a7:2:169e:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:169f::,2a01:7a7:2:169f:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:16a0::,2a01:7a7:2:16a1:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:16a2::,2a01:7a7:2:16a2:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:16a3::,2a01:7a7:2:16aa:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:16ab::,2a01:7a7:2:16ab:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:16ac::,2a01:7a7:2:16bd:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:16ac::,2a01:7a7:2:16ac:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:16ad::,2a01:7a7:2:16ad:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:16ae::,2a01:7a7:2:16af:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:16b0::,2a01:7a7:2:16b0:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:16b1::,2a01:7a7:2:16bd:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:16be::,2a01:7a7:2:16bf:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:16c0::,2a01:7a7:2:16c1:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:16c2::,2a01:7a7:2:16c3:ffff:ffff:ffff:ffff,DE
@@ -29379,32 +30800,36 @@
2a01:7a7:2:16c9::,2a01:7a7:2:16ca:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:16cb::,2a01:7a7:2:16cb:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:16cc::,2a01:7a7:2:16d5:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:16d6::,2a01:7a7:2:16d7:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:16d8::,2a01:7a7:2:16d9:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:16da::,2a01:7a7:2:16da:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:16db::,2a01:7a7:2:16df:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:16e0::,2a01:7a7:2:16e0:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:16e1::,2a01:7a7:2:16e9:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:16d6::,2a01:7a7:2:16d8:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:16d9::,2a01:7a7:2:16d9:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:16da::,2a01:7a7:2:16db:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:16dc::,2a01:7a7:2:16de:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:16df::,2a01:7a7:2:16e0:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:16e1::,2a01:7a7:2:16e5:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:16e6::,2a01:7a7:2:16e7:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:16e8::,2a01:7a7:2:16e9:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:16ea::,2a01:7a7:2:16ea:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:16eb::,2a01:7a7:2:16ed:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:16eb::,2a01:7a7:2:16eb:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:16ec::,2a01:7a7:2:16ec:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:16ed::,2a01:7a7:2:16ed:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:16ee::,2a01:7a7:2:16ef:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:16f0::,2a01:7a7:2:16f0:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:16f1::,2a01:7a7:2:16f3:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:16f4::,2a01:7a7:2:16f4:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:16f5::,2a01:7a7:2:16f6:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:16f7::,2a01:7a7:2:16f9:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:16fa::,2a01:7a7:2:16fd:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:16fe::,2a01:7a7:2:16fe:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:16ff::,2a01:7a7:2:1700:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1701::,2a01:7a7:2:1706:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1707::,2a01:7a7:2:170b:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:16f7::,2a01:7a7:2:16f7:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:16f8::,2a01:7a7:2:170b:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:170c::,2a01:7a7:2:1711:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1712::,2a01:7a7:2:1712:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1713::,2a01:7a7:2:171a:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1713::,2a01:7a7:2:1716:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1717::,2a01:7a7:2:1717:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1718::,2a01:7a7:2:171a:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:171b::,2a01:7a7:2:171b:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:171c::,2a01:7a7:2:171c:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:171d::,2a01:7a7:2:171d:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:171e::,2a01:7a7:2:1726:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:171e::,2a01:7a7:2:1723:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1724::,2a01:7a7:2:1725:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1726::,2a01:7a7:2:1726:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1727::,2a01:7a7:2:1727:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1728::,2a01:7a7:2:1735:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1736::,2a01:7a7:2:1736:ffff:ffff:ffff:ffff,DE
@@ -29420,10 +30845,12 @@
2a01:7a7:2:1755::,2a01:7a7:2:1755:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1756::,2a01:7a7:2:175d:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:175e::,2a01:7a7:2:175e:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:175f::,2a01:7a7:2:176b:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:175f::,2a01:7a7:2:1769:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:176a::,2a01:7a7:2:176a:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:176b::,2a01:7a7:2:176b:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:176c::,2a01:7a7:2:176d:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:176e::,2a01:7a7:2:1776:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1777::,2a01:7a7:2:1777:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:176e::,2a01:7a7:2:1775:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1776::,2a01:7a7:2:1777:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1778::,2a01:7a7:2:1778:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1779::,2a01:7a7:2:1779:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:177a::,2a01:7a7:2:177e:ffff:ffff:ffff:ffff,FR
@@ -29438,8 +30865,8 @@
2a01:7a7:2:1798::,2a01:7a7:2:179a:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:179b::,2a01:7a7:2:179c:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:179d::,2a01:7a7:2:179f:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:17a0::,2a01:7a7:2:17ad:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:17ae::,2a01:7a7:2:17ae:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:17a0::,2a01:7a7:2:17ac:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:17ad::,2a01:7a7:2:17ae:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:17af::,2a01:7a7:2:17b2:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:17b3::,2a01:7a7:2:17b3:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:17b4::,2a01:7a7:2:17b6:ffff:ffff:ffff:ffff,FR
@@ -29450,8 +30877,8 @@
2a01:7a7:2:17bc::,2a01:7a7:2:17bd:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:17be::,2a01:7a7:2:17be:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:17bf::,2a01:7a7:2:17c0:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:17c1::,2a01:7a7:2:17c2:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:17c3::,2a01:7a7:2:17c4:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:17c1::,2a01:7a7:2:17c1:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:17c2::,2a01:7a7:2:17c4:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:17c5::,2a01:7a7:2:17c6:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:17c7::,2a01:7a7:2:17c7:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:17c8::,2a01:7a7:2:17d3:ffff:ffff:ffff:ffff,FR
@@ -29464,7 +30891,9 @@
2a01:7a7:2:17e2::,2a01:7a7:2:17e2:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:17e3::,2a01:7a7:2:17e8:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:17e9::,2a01:7a7:2:17e9:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:17ea::,2a01:7a7:2:17f1:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:17ea::,2a01:7a7:2:17eb:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:17ec::,2a01:7a7:2:17ec:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:17ed::,2a01:7a7:2:17f1:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:17f2::,2a01:7a7:2:17f2:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:17f3::,2a01:7a7:2:17fb:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:17fc::,2a01:7a7:2:17fc:ffff:ffff:ffff:ffff,DE
@@ -29472,8 +30901,8 @@
2a01:7a7:2:1806::,2a01:7a7:2:1807:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1808::,2a01:7a7:2:1817:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1818::,2a01:7a7:2:1818:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1819::,2a01:7a7:2:181b:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:181c::,2a01:7a7:2:181d:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1819::,2a01:7a7:2:181a:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:181b::,2a01:7a7:2:181d:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:181e::,2a01:7a7:2:1821:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1822::,2a01:7a7:2:1823:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1824::,2a01:7a7:2:1824:ffff:ffff:ffff:ffff,FR
@@ -29493,9 +30922,7 @@
2a01:7a7:2:184f::,2a01:7a7:2:1858:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1859::,2a01:7a7:2:185a:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:185b::,2a01:7a7:2:1867:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1868::,2a01:7a7:2:1868:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1869::,2a01:7a7:2:1869:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:186a::,2a01:7a7:2:186a:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1868::,2a01:7a7:2:186a:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:186b::,2a01:7a7:2:186e:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:186f::,2a01:7a7:2:186f:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1870::,2a01:7a7:2:1870:ffff:ffff:ffff:ffff,FR
@@ -29506,7 +30933,9 @@
2a01:7a7:2:1876::,2a01:7a7:2:1876:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1877::,2a01:7a7:2:187b:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:187c::,2a01:7a7:2:187c:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:187d::,2a01:7a7:2:1888:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:187d::,2a01:7a7:2:1883:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1884::,2a01:7a7:2:1884:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1885::,2a01:7a7:2:1888:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1889::,2a01:7a7:2:1889:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:188a::,2a01:7a7:2:188c:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:188d::,2a01:7a7:2:188d:ffff:ffff:ffff:ffff,DE
@@ -29524,31 +30953,37 @@
2a01:7a7:2:18b2::,2a01:7a7:2:18b2:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:18b3::,2a01:7a7:2:18b9:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:18ba::,2a01:7a7:2:18ba:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:18bb::,2a01:7a7:2:18bc:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:18bd::,2a01:7a7:2:18be:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:18bf::,2a01:7a7:2:18c4:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:18c5::,2a01:7a7:2:18c5:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:18bb::,2a01:7a7:2:18bb:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:18bc::,2a01:7a7:2:18be:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:18bf::,2a01:7a7:2:18c3:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:18c4::,2a01:7a7:2:18c5:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:18c6::,2a01:7a7:2:18c7:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:18c8::,2a01:7a7:2:18c8:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:18c9::,2a01:7a7:2:18da:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:18db::,2a01:7a7:2:18db:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:18dc::,2a01:7a7:2:18e3:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:18c9::,2a01:7a7:2:18d9:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:18da::,2a01:7a7:2:18db:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:18dc::,2a01:7a7:2:18de:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:18df::,2a01:7a7:2:18df:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:18e0::,2a01:7a7:2:18e3:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:18e4::,2a01:7a7:2:18e4:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:18e5::,2a01:7a7:2:18e7:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:18e8::,2a01:7a7:2:18e8:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:18e9::,2a01:7a7:2:18ed:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:18e8::,2a01:7a7:2:18ea:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:18eb::,2a01:7a7:2:18ed:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:18ee::,2a01:7a7:2:18ee:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:18ef::,2a01:7a7:2:18f7:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:18f8::,2a01:7a7:2:18f8:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:18f9::,2a01:7a7:2:1904:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:18f9::,2a01:7a7:2:18fc:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:18fd::,2a01:7a7:2:18fd:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:18fe::,2a01:7a7:2:1904:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1905::,2a01:7a7:2:1905:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1906::,2a01:7a7:2:1907:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1908::,2a01:7a7:2:1909:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:190a::,2a01:7a7:2:190f:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1910::,2a01:7a7:2:1910:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1911::,2a01:7a7:2:1917:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1918::,2a01:7a7:2:1918:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1919::,2a01:7a7:2:192d:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1911::,2a01:7a7:2:1916:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1917::,2a01:7a7:2:1918:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1919::,2a01:7a7:2:1923:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1924::,2a01:7a7:2:1924:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1925::,2a01:7a7:2:192d:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:192e::,2a01:7a7:2:192f:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1930::,2a01:7a7:2:193e:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:193f::,2a01:7a7:2:193f:ffff:ffff:ffff:ffff,DE
@@ -29562,11 +30997,19 @@
2a01:7a7:2:1966::,2a01:7a7:2:1966:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1967::,2a01:7a7:2:1969:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:196a::,2a01:7a7:2:196a:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:196b::,2a01:7a7:2:1983:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:196b::,2a01:7a7:2:1973:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1974::,2a01:7a7:2:1974:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1975::,2a01:7a7:2:1975:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1976::,2a01:7a7:2:1976:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1977::,2a01:7a7:2:197d:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:197e::,2a01:7a7:2:197e:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:197f::,2a01:7a7:2:1983:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1984::,2a01:7a7:2:1984:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1985::,2a01:7a7:2:1985:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1986::,2a01:7a7:2:1986:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1987::,2a01:7a7:2:1997:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1987::,2a01:7a7:2:198e:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:198f::,2a01:7a7:2:198f:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1990::,2a01:7a7:2:1997:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1998::,2a01:7a7:2:1999:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:199a::,2a01:7a7:2:199c:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:199d::,2a01:7a7:2:199d:ffff:ffff:ffff:ffff,DE
@@ -29576,13 +31019,19 @@
2a01:7a7:2:19a4::,2a01:7a7:2:19a5:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:19a6::,2a01:7a7:2:19a9:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:19aa::,2a01:7a7:2:19aa:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:19ab::,2a01:7a7:2:19ba:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:19ab::,2a01:7a7:2:19ad:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:19ae::,2a01:7a7:2:19b0:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:19b1::,2a01:7a7:2:19b8:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:19b9::,2a01:7a7:2:19b9:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:19ba::,2a01:7a7:2:19ba:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:19bb::,2a01:7a7:2:19bb:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:19bc::,2a01:7a7:2:19cb:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:19cc::,2a01:7a7:2:19cc:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:19cd::,2a01:7a7:2:19d4:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:19d5::,2a01:7a7:2:19d5:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:19d6::,2a01:7a7:2:19dd:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:19d6::,2a01:7a7:2:19d8:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:19d9::,2a01:7a7:2:19d9:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:19da::,2a01:7a7:2:19dd:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:19de::,2a01:7a7:2:19e0:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:19e1::,2a01:7a7:2:19e6:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:19e7::,2a01:7a7:2:19e7:ffff:ffff:ffff:ffff,DE
@@ -29592,62 +31041,134 @@
2a01:7a7:2:19ee::,2a01:7a7:2:19ee:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:19ef::,2a01:7a7:2:19f7:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:19f8::,2a01:7a7:2:19f8:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:19f9::,2a01:7a7:2:1a02:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:19f9::,2a01:7a7:2:19f9:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:19fa::,2a01:7a7:2:19fa:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:19fb::,2a01:7a7:2:1a02:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1a03::,2a01:7a7:2:1a03:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1a04::,2a01:7a7:2:1a0d:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1a0e::,2a01:7a7:2:1a0f:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1a10::,2a01:7a7:2:1a24:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a10::,2a01:7a7:2:1a1c:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a1d::,2a01:7a7:2:1a1d:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1a1e::,2a01:7a7:2:1a24:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1a25::,2a01:7a7:2:1a26:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1a27::,2a01:7a7:2:1a27:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1a28::,2a01:7a7:2:1a28:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1a29::,2a01:7a7:2:1a31:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1a32::,2a01:7a7:2:1a36:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1a37::,2a01:7a7:2:1a41:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1a42::,2a01:7a7:2:1a42:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1a43::,2a01:7a7:2:1a4d:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a32::,2a01:7a7:2:1a37:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1a38::,2a01:7a7:2:1a38:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a39::,2a01:7a7:2:1a3a:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1a3b::,2a01:7a7:2:1a41:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a42::,2a01:7a7:2:1a43:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1a44::,2a01:7a7:2:1a4d:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1a4e::,2a01:7a7:2:1a4e:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1a4f::,2a01:7a7:2:1a53:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1a54::,2a01:7a7:2:1a54:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1a55::,2a01:7a7:2:1a55:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1a56::,2a01:7a7:2:1a56:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1a57::,2a01:7a7:2:1a6b:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a57::,2a01:7a7:2:1a60:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a61::,2a01:7a7:2:1a61:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1a62::,2a01:7a7:2:1a64:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a65::,2a01:7a7:2:1a65:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1a66::,2a01:7a7:2:1a6b:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1a6c::,2a01:7a7:2:1a6d:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1a6e::,2a01:7a7:2:1a70:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1a71::,2a01:7a7:2:1a71:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1a72::,2a01:7a7:2:1a8d:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a72::,2a01:7a7:2:1a84:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a85::,2a01:7a7:2:1a85:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1a86::,2a01:7a7:2:1a8d:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1a8e::,2a01:7a7:2:1a8e:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1a8f::,2a01:7a7:2:1a97:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1a98::,2a01:7a7:2:1a98:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1a99::,2a01:7a7:2:1a9e:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1a9f::,2a01:7a7:2:1a9f:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1aa0::,2a01:7a7:2:1abb:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a99::,2a01:7a7:2:1a99:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a9a::,2a01:7a7:2:1a9a:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1a9b::,2a01:7a7:2:1a9e:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1a9f::,2a01:7a7:2:1aa0:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1aa1::,2a01:7a7:2:1aa3:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1aa4::,2a01:7a7:2:1aa5:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1aa6::,2a01:7a7:2:1abb:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1abc::,2a01:7a7:2:1abc:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1abd::,2a01:7a7:2:1ac4:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1ac5::,2a01:7a7:2:1ac5:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1ac6::,2a01:7a7:2:1ad0:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1ad1::,2a01:7a7:2:1ad1:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1ad2::,2a01:7a7:2:1adb:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1ac5::,2a01:7a7:2:1ac6:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1ac7::,2a01:7a7:2:1acb:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1acc::,2a01:7a7:2:1acd:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1ace::,2a01:7a7:2:1ad0:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1ad1::,2a01:7a7:2:1ad2:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1ad3::,2a01:7a7:2:1adb:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1adc::,2a01:7a7:2:1adc:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1add::,2a01:7a7:2:1ae3:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1ae4::,2a01:7a7:2:1ae5:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1ae6::,2a01:7a7:2:1afb:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1ae6::,2a01:7a7:2:1aee:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1aef::,2a01:7a7:2:1af0:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1af1::,2a01:7a7:2:1af5:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1af6::,2a01:7a7:2:1af6:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1af7::,2a01:7a7:2:1afb:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1afc::,2a01:7a7:2:1afc:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1afd::,2a01:7a7:2:1b0a:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1b0b::,2a01:7a7:2:1b0b:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1b0c::,2a01:7a7:2:1b16:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1b17::,2a01:7a7:2:1b18:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1b0b::,2a01:7a7:2:1b0c:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1b0d::,2a01:7a7:2:1b14:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1b15::,2a01:7a7:2:1b18:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1b19::,2a01:7a7:2:1b2f:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1b30::,2a01:7a7:2:1b30:ffff:ffff:ffff:ffff,DE
2a01:7a7:2:1b31::,2a01:7a7:2:1b44:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1b45::,2a01:7a7:2:1b45:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1b46::,2a01:7a7:2:1b5b:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1b5c::,2a01:7a7:2:1b5c:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1b5d::,2a01:7a7:2:1b7d:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1b46::,2a01:7a7:2:1b4d:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1b4e::,2a01:7a7:2:1b4f:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1b50::,2a01:7a7:2:1b50:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1b51::,2a01:7a7:2:1b52:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1b53::,2a01:7a7:2:1b5a:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1b5b::,2a01:7a7:2:1b5c:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1b5d::,2a01:7a7:2:1b61:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1b62::,2a01:7a7:2:1b64:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1b65::,2a01:7a7:2:1b69:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1b6a::,2a01:7a7:2:1b6b:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1b6c::,2a01:7a7:2:1b7d:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1b7e::,2a01:7a7:2:1b7e:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1b7f::,2a01:7a7:2:1b9a:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1b7f::,2a01:7a7:2:1b8f:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1b90::,2a01:7a7:2:1b90:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1b91::,2a01:7a7:2:1b94:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1b95::,2a01:7a7:2:1b95:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1b96::,2a01:7a7:2:1b9a:ffff:ffff:ffff:ffff,FR
2a01:7a7:2:1b9b::,2a01:7a7:2:1b9b:ffff:ffff:ffff:ffff,DE
-2a01:7a7:2:1b9c::,2a01:7a7:2:1c14:ffff:ffff:ffff:ffff,FR
-2a01:7a7:2:1c15::,2a01:7a7:2:ffff:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1b9c::,2a01:7a7:2:1ba6:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1ba7::,2a01:7a7:2:1ba9:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1baa::,2a01:7a7:2:1bb3:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1bb4::,2a01:7a7:2:1bb5:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1bb6::,2a01:7a7:2:1bb8:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1bb9::,2a01:7a7:2:1bb9:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1bba::,2a01:7a7:2:1bce:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1bcf::,2a01:7a7:2:1bcf:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1bd0::,2a01:7a7:2:1bd2:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1bd3::,2a01:7a7:2:1bd4:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1bd5::,2a01:7a7:2:1bf6:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1bf7::,2a01:7a7:2:1bf7:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1bf8::,2a01:7a7:2:1c06:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1c07::,2a01:7a7:2:1c07:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1c08::,2a01:7a7:2:1c0f:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1c10::,2a01:7a7:2:1c10:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1c11::,2a01:7a7:2:1c15:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1c16::,2a01:7a7:2:1c16:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1c17::,2a01:7a7:2:1c25:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1c26::,2a01:7a7:2:1c26:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1c27::,2a01:7a7:2:1c2e:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1c2f::,2a01:7a7:2:1c2f:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1c30::,2a01:7a7:2:1c47:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1c48::,2a01:7a7:2:1c48:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1c49::,2a01:7a7:2:1c49:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1c4a::,2a01:7a7:2:1c4a:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1c4b::,2a01:7a7:2:1c4c:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1c4d::,2a01:7a7:2:1c4e:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1c4f::,2a01:7a7:2:1c50:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1c51::,2a01:7a7:2:1c52:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1c53::,2a01:7a7:2:1ca6:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1ca7::,2a01:7a7:2:1ca7:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1ca8::,2a01:7a7:2:1cc5:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1cc6::,2a01:7a7:2:1cc6:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1cc7::,2a01:7a7:2:1cd9:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1cda::,2a01:7a7:2:1cda:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1cdb::,2a01:7a7:2:1cf8:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1cf9::,2a01:7a7:2:1cf9:ffff:ffff:ffff:ffff,DE
+2a01:7a7:2:1cfa::,2a01:7a7:2:1d49:ffff:ffff:ffff:ffff,FR
+2a01:7a7:2:1d4a::,2a01:7a7:2:ffff:ffff:ffff:ffff:ffff,DE
2a01:7a7:3::,2a01:7a7:4:ff:ffff:ffff:ffff:ffff,FR
2a01:7a7:4:100::,2a01:7a7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a01:7a8::,2a01:7a8:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -29740,7 +31261,7 @@
2a01:4700::,2a01:4700:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a01:4720::,2a01:4720:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a01:4740::,2a01:4740:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a01:4760::,2a01:4760:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a01:4760::,2a01:4767:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a01:47a0::,2a01:47a0:ffff:ffff:ffff:ffff:ffff:ffff,GE
2a01:47c0::,2a01:47c7:ffff:ffff:ffff:ffff:ffff:ffff,HU
2a01:47e0::,2a01:47e0:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -29931,7 +31452,9 @@
2a01:5e60::,2a01:5e60:ffff:ffff:ffff:ffff:ffff:ffff,AE
2a01:5e80::,2a01:5e80:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a01:5ea0::,2a01:5ea0:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a01:5ec0::,2a01:5ec0:6fff:ffff:ffff:ffff:ffff:ffff,IR
+2a01:5ec0::,2a01:5ec0:4fff:ffff:ffff:ffff:ffff:ffff,IR
+2a01:5ec0:5000::,2a01:5ec0:53ff:ffff:ffff:ffff:ffff:ffff,NL
+2a01:5ec0:5400::,2a01:5ec0:6fff:ffff:ffff:ffff:ffff:ffff,IR
2a01:5ec0:7000::,2a01:5ec0:73ff:ffff:ffff:ffff:ffff:ffff,DE
2a01:5ec0:7400::,2a01:5ec0:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a01:5ee0::,2a01:5ee0:ffff:ffff:ffff:ffff:ffff:ffff,PL
@@ -29952,7 +31475,6 @@
2a01:60c0::,2a01:60c0:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a01:60e0::,2a01:60e0:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a01:6100::,2a01:6100:ffff:ffff:ffff:ffff:ffff:ffff,PL
-2a01:6120::,2a01:6120:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a01:6140::,2a01:6147:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a01:6160::,2a01:6160:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a01:6180::,2a01:6180:ffff:ffff:ffff:ffff:ffff:ffff,FI
@@ -29980,7 +31502,7 @@
2a01:6460::,2a01:6460:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a01:6480::,2a01:6480:ffff:ffff:ffff:ffff:ffff:ffff,AZ
2a01:64c0::,2a01:64c0:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a01:64e0::,2a01:64e0:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a01:64e0::,2a01:64e0:ffff:ffff:ffff:ffff:ffff:ffff,LT
2a01:6500::,2a01:6500:ffff:ffff:ffff:ffff:ffff:ffff,IL
2a01:6520::,2a01:6520:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a01:6540::,2a01:6540:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -30134,7 +31656,7 @@
2a01:76e0::,2a01:76e0:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a01:7700::,2a01:7700:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a01:7720::,2a01:7720:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a01:7740::,2a01:7740:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a01:7740::,2a01:7747:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a01:7760::,2a01:7760:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a01:7780::,2a01:7780:ffff:ffff:ffff:ffff:ffff:ffff,KW
2a01:77a0::,2a01:77a0:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -30411,9 +31933,8 @@
2a01:9840::,2a01:9840:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a01:9860::,2a01:9860:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a01:9880::,2a01:9880:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a01:98a0::,2a01:98a0:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a01:98c0::,2a01:98c0:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a01:98e0::,2a01:98e0:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a01:98e0::,2a01:98e7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a01:9900::,2a01:9900:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a01:9920::,2a01:9920:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a01:9940::,2a01:9940:ffff:ffff:ffff:ffff:ffff:ffff,FR
@@ -30584,7 +32105,6 @@
2a01:aea0::,2a01:aea0:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a01:aec0::,2a01:aec0:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a01:aee0::,2a01:aee0:ffff:ffff:ffff:ffff:ffff:ffff,AT
-2a01:af00::,2a01:af00:ffff:ffff:ffff:ffff:ffff:ffff,KZ
2a01:af20::,2a01:af20:ffff:ffff:ffff:ffff:ffff:ffff,CY
2a01:af40::,2a01:af40:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a01:af60::,2a01:af60:ffff:ffff:ffff:ffff:ffff:ffff,PL
@@ -30682,7 +32202,6 @@
2a01:b9a0::,2a01:b9a0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a01:b9c0::,2a01:b9c0:ffff:ffff:ffff:ffff:ffff:ffff,IS
2a01:b9e0::,2a01:b9e0:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2a01:ba00::,2a01:ba07:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a01:ba20::,2a01:ba20:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a01:ba40::,2a01:ba40:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a01:ba60::,2a01:ba67:ffff:ffff:ffff:ffff:ffff:ffff,PS
@@ -30716,7 +32235,6 @@
2a01:be60::,2a01:be60:ffff:ffff:ffff:ffff:ffff:ffff,IE
2a01:be80::,2a01:be80:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a01:bea0::,2a01:bea0:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a01:bec0::,2a01:bec0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a01:bee0::,2a01:bee0:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a01:bf00::,2a01:bf00:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a01:bf20::,2a01:bf20:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -31037,7 +32555,19 @@
2a02:6b8:fc0d::,2a02:6b8:fc0d:ffff:ffff:ffff:ffff:ffff,FI
2a02:6b8:fc0e::,2a02:6b8:fc10:ffff:ffff:ffff:ffff:ffff,RU
2a02:6b8:fc11::,2a02:6b8:fc13:ffff:ffff:ffff:ffff:ffff,FI
-2a02:6b8:fc14::,2a02:6b8:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a02:6b8:fc14::,2a02:6bf:fff0:7ff:ffff:ffff:ffff:ffff,RU
+2a02:6bf:fff0:800::,2a02:6bf:fff0:80f:ffff:ffff:ffff:ffff,BY
+2a02:6bf:fff0:810::,2a02:6bf:fff0:8ff:ffff:ffff:ffff:ffff,RU
+2a02:6bf:fff0:900::,2a02:6bf:fff0:90f:ffff:ffff:ffff:ffff,TR
+2a02:6bf:fff0:910::,2a02:6bf:fff0:bff:ffff:ffff:ffff:ffff,RU
+2a02:6bf:fff0:c00::,2a02:6bf:fff0:c0f:ffff:ffff:ffff:ffff,CH
+2a02:6bf:fff0:c10::,2a02:6bf:fff0:eff:ffff:ffff:ffff:ffff,RU
+2a02:6bf:fff0:f00::,2a02:6bf:fff0:f0f:ffff:ffff:ffff:ffff,DE
+2a02:6bf:fff0:f10::,2a02:6bf:fff0:fff:ffff:ffff:ffff:ffff,RU
+2a02:6bf:fff0:1000::,2a02:6bf:fff0:100f:ffff:ffff:ffff:ffff,FI
+2a02:6bf:fff0:1010::,2a02:6bf:fff0:10ff:ffff:ffff:ffff:ffff,RU
+2a02:6bf:fff0:1100::,2a02:6bf:fff0:110f:ffff:ffff:ffff:ffff,US
+2a02:6bf:fff0:1110::,2a02:6bf:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a02:6c0::,2a02:6c0:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a02:6c8::,2a02:6c8:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a02:6d0::,2a02:6d0:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -31235,7 +32765,6 @@
2a02:cd8::,2a02:cd8:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a02:ce0::,2a02:ce0:ffff:ffff:ffff:ffff:ffff:ffff,SA
2a02:ce8::,2a02:ce8:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a02:cf0::,2a02:cf0:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a02:d00::,2a02:d00:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a02:d08::,2a02:d0f:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a02:d10::,2a02:d17:ffff:ffff:ffff:ffff:ffff:ffff,RO
@@ -31330,17 +32859,18 @@
2a02:fe8::,2a02:fe9:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a02:ff0::,2a02:ff0:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a02:1000::,2a02:11ff:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a02:1200::,2a02:1205:34f9:8fff:ffff:ffff:ffff:ffff,CH
-2a02:1205:34f9:9000::,2a02:1205:34f9:9fff:ffff:ffff:ffff:ffff,IT
-2a02:1205:34f9:a000::,2a02:1205:5017:ffff:ffff:ffff:ffff:ffff,CH
-2a02:1205:5018::,2a02:1205:5018:7fff:ffff:ffff:ffff:ffff,FR
-2a02:1205:5018:8000::,2a02:1205:506f:ffff:ffff:ffff:ffff:ffff,CH
-2a02:1205:5070::,2a02:1205:5070:1fff:ffff:ffff:ffff:ffff,DE
-2a02:1205:5070:2000::,2a02:120b:2c27:ffff:ffff:ffff:ffff:ffff,CH
-2a02:120b:2c28::,2a02:120b:2c28:3fff:ffff:ffff:ffff:ffff,FR
-2a02:120b:2c28:4000::,2a02:120b:2c43:bfff:ffff:ffff:ffff:ffff,CH
-2a02:120b:2c43:c000::,2a02:120b:2c43:ffff:ffff:ffff:ffff:ffff,FR
-2a02:120b:2c44::,2a02:121f:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a02:1200::,2a02:1205:34f9:7fff:ffff:ffff:ffff:ffff,CH
+2a02:1205:34f9:8000::,2a02:1205:34f9:9fff:ffff:ffff:ffff:ffff,IT
+2a02:1205:34f9:a000::,2a02:1205:34f9:b7ff:ffff:ffff:ffff:ffff,DE
+2a02:1205:34f9:b800::,2a02:1205:c6af:ffff:ffff:ffff:ffff:ffff,CH
+2a02:1205:c6b0::,2a02:1205:c6b0:7fff:ffff:ffff:ffff:ffff,DE
+2a02:1205:c6b0:8000::,2a02:120b:2c3c:ffff:ffff:ffff:ffff:ffff,CH
+2a02:120b:2c3d::,2a02:120b:2c3d:1fff:ffff:ffff:ffff:ffff,IT
+2a02:120b:2c3d:2000::,2a02:120b:c3e5:7fff:ffff:ffff:ffff:ffff,CH
+2a02:120b:c3e5:8000::,2a02:120b:c3e5:bfff:ffff:ffff:ffff:ffff,FR
+2a02:120b:c3e5:c000::,2a02:120b:c3f4:bfff:ffff:ffff:ffff:ffff,CH
+2a02:120b:c3f4:c000::,2a02:120b:c3f4:dfff:ffff:ffff:ffff:ffff,GB
+2a02:120b:c3f4:e000::,2a02:121f:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a02:1300::,2a02:1300:ffff:ffff:ffff:ffff:ffff:ffff,IS
2a02:1308::,2a02:130f:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a02:1310::,2a02:1310:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -31391,7 +32921,7 @@
2a02:1670::,2a02:1670:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a02:1678::,2a02:1678:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a02:1680:1::,2a02:1680:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a02:1688::,2a02:1688:ffff:ffff:ffff:ffff:ffff:ffff,AT
+2a02:1688::,2a02:168f:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a02:1698::,2a02:1698:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a02:16a0::,2a02:16a0:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a02:16a8::,2a02:16a8:dc41:ff:ffff:ffff:ffff:ffff,AT
@@ -31435,7 +32965,7 @@
2a02:17c8::,2a02:17c8:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a02:17d0::,2a02:17d0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a02:17d8::,2a02:17d8:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a02:17e0::,2a02:17e0:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a02:17e0::,2a02:17e0:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a02:17e8::,2a02:17e8:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a02:17f0::,2a02:17f0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a02:17f8::,2a02:17f8:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -31488,7 +33018,7 @@
2a02:2178::,2a02:217f:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a02:2180::,2a02:2180:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a02:2188::,2a02:2188:ffff:ffff:ffff:ffff:ffff:ffff,NO
-2a02:2190::,2a02:2190:ffff:ffff:ffff:ffff:ffff:ffff,DK
+2a02:2190::,2a02:2197:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a02:2198::,2a02:219f:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a02:21a0::,2a02:21a0:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a02:21a8::,2a02:21a8:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -31598,7 +33128,7 @@
2a02:24f8::,2a02:24f8:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a02:2500::,2a02:2500:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a02:2510::,2a02:2510:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a02:2518::,2a02:2518:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a02:2518::,2a02:251f:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a02:2520::,2a02:2520:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a02:2528::,2a02:252f:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a02:2530::,2a02:2530:ffff:ffff:ffff:ffff:ffff:ffff,DK
@@ -32002,7 +33532,7 @@
2a02:5440::,2a02:5440:ffff:ffff:ffff:ffff:ffff:ffff,GR
2a02:5480::,2a02:5480:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a02:54a0::,2a02:54a0:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a02:54c0::,2a02:54c0:ffff:ffff:ffff:ffff:ffff:ffff,AT
+2a02:54c0::,2a02:54c7:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a02:54e0::,2a02:54e7:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a02:5500::,2a02:5507:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a02:5520::,2a02:5520:ffff:ffff:ffff:ffff:ffff:ffff,FR
@@ -32224,7 +33754,7 @@
2a02:6f20::,2a02:6f20:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a02:6f40::,2a02:6f40:ffff:ffff:ffff:ffff:ffff:ffff,HU
2a02:6f60::,2a02:6f60:ffff:ffff:ffff:ffff:ffff:ffff,DK
-2a02:6f80::,2a02:6f80:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a02:6f80::,2a02:6f87:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a02:6fa0::,2a02:6fa0:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a02:6fc0::,2a02:6fc0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a02:6fe0::,2a02:6fe0:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -32311,7 +33841,9 @@
2a02:7a40::,2a02:7a40:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a02:7a60::,2a02:7a60:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a02:7a80::,2a02:7a80:ffff:ffff:ffff:ffff:ffff:ffff,SE
-2a02:7aa0::,2a02:7aa0:ffff:ffff:ffff:ffff:ffff:ffff,SE
+2a02:7aa0::,2a02:7aa0:fff:ffff:ffff:ffff:ffff:ffff,SE
+2a02:7aa0:1000::,2a02:7aa0:13ff:ffff:ffff:ffff:ffff:ffff,GB
+2a02:7aa0:1400::,2a02:7aa0:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a02:7ac0::,2a02:7ac0:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a02:7ae0::,2a02:7ae0:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a02:7b00::,2a02:7b07:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -32364,7 +33896,9 @@
2a02:80e0::,2a02:80e3:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a02:8100::,2a02:811f:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a02:8200::,2a02:821f:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a02:8300::,2a02:830f:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a02:8300::,2a02:8308:a041:ffff:ffff:ffff:ffff:ffff,CZ
+2a02:8308:a042::,2a02:8308:a043:ffff:ffff:ffff:ffff:ffff,UA
+2a02:8308:a044::,2a02:830f:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a02:8380::,2a02:838f:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a02:8400::,2a02:847f:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a02:8800::,2a02:88ff:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -32372,12 +33906,18 @@
2a02:9940::,2a02:9940:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a02:a000::,2a02:a03f:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a02:a200::,2a02:a21f:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a02:a300::,2a02:a31f:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a02:a300::,2a02:a317:4fff:ffff:ffff:ffff:ffff:ffff,PL
+2a02:a317:5000::,2a02:a317:503e:f080:dc32:b96b:b5cb:ec83,NO
+2a02:a317:503e:f080:dc32:b96b:b5cb:ec84,2a02:a317:503e:f080:dc32:b96b:b5cb:ec84,PL
+2a02:a317:503e:f080:dc32:b96b:b5cb:ec85,2a02:a317:53ff:ffff:ffff:ffff:ffff:ffff,NO
+2a02:a317:5400::,2a02:a31f:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a02:a400::,2a02:a47f:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a02:a800::,2a02:a83f:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a02:aa00::,2a02:aa12:83ff:ffff:ffff:ffff:ffff:ffff,CH
2a02:aa12:8400::,2a02:aa12:87ff:ffff:ffff:ffff:ffff:ffff,DE
-2a02:aa12:8800::,2a02:aa1f:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a02:aa12:8800::,2a02:aa15:23ff:ffff:ffff:ffff:ffff:ffff,CH
+2a02:aa15:2400::,2a02:aa15:27ff:ffff:ffff:ffff:ffff:ffff,DE
+2a02:aa15:2800::,2a02:aa1f:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a02:ab00::,2a02:ab07:ffff:ffff:ffff:ffff:ffff:ffff,SK
2a02:ab40::,2a02:ab47:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a02:ab80::,2a02:ab8f:ffff:ffff:ffff:ffff:ffff:ffff,HU
@@ -32863,7 +34403,7 @@
2a03:1480::,2a03:1480:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a03:14a0::,2a03:14a0:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a03:14c0::,2a03:14c0:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a03:14e0::,2a03:14e0:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a03:14e0::,2a03:14e0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a03:1500::,2a03:1500:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a03:1520::,2a03:1520:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a03:1560::,2a03:1560:ffff:ffff:ffff:ffff:ffff:ffff,RS
@@ -32932,7 +34472,7 @@
2a03:1d40::,2a03:1d40:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a03:1d60::,2a03:1d60:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a03:1d80::,2a03:1d80:ffff:ffff:ffff:ffff:ffff:ffff,SK
-2a03:1da0::,2a03:1da0:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a03:1da0::,2a03:1da7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a03:1dc0::,2a03:1dc0:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a03:1de0::,2a03:1de0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a03:1e00::,2a03:1e03:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -32941,7 +34481,9 @@
2a03:1e60::,2a03:1e60:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a03:1e80::,2a03:1e84:33e:ffff:ffff:ffff:ffff:ffff,DE
2a03:1e84:33f::,2a03:1e84:33f:ffff:ffff:ffff:ffff:ffff,RU
-2a03:1e84:340::,2a03:1e87:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a03:1e84:340::,2a03:1e84:abe:ffff:ffff:ffff:ffff:ffff,DE
+2a03:1e84:abf::,2a03:1e84:abf:ffff:ffff:ffff:ffff:ffff,NL
+2a03:1e84:ac0::,2a03:1e87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a03:1ea0::,2a03:1ea0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a03:1ec0::,2a03:1ec0:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a03:1ee0::,2a03:1ee0:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -33016,18 +34558,14 @@
2a03:2820::,2a03:2820:ffff:ffff:ffff:ffff:ffff:ffff,GE
2a03:2840::,2a03:2840:ffff:ffff:ffff:ffff:ffff:ffff,US
2a03:2860::,2a03:2860:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a03:2880::,2a03:2880:3f:ffff:ffff:ffff:ffff:ffff,US
-2a03:2880:40::,2a03:2880:7f:ffff:ffff:ffff:ffff:ffff,IE
-2a03:2880:80::,2a03:2880:ff:ffff:ffff:ffff:ffff:ffff,US
-2a03:2880:100::,2a03:2880:fff:ffff:ffff:ffff:ffff:ffff,IE
-2a03:2880:1000::,2a03:2880:103f:ffff:ffff:ffff:ffff:ffff,US
-2a03:2880:1040::,2a03:2880:10ff:ffff:ffff:ffff:ffff:ffff,IE
-2a03:2880:1100::,2a03:2880:11ff:ffff:ffff:ffff:ffff:ffff,US
+2a03:2880::,2a03:2880:3ff:ffff:ffff:ffff:ffff:ffff,US
+2a03:2880:400::,2a03:2880:fff:ffff:ffff:ffff:ffff:ffff,IE
+2a03:2880:1000::,2a03:2880:11ff:ffff:ffff:ffff:ffff:ffff,US
2a03:2880:1200::,2a03:2880:1fff:ffff:ffff:ffff:ffff:ffff,IE
-2a03:2880:2000::,2a03:2880:213f:ffff:ffff:ffff:ffff:ffff,US
-2a03:2880:2140::,2a03:2880:21bf:ffff:ffff:ffff:ffff:ffff,IE
-2a03:2880:21c0::,2a03:2880:21ff:ffff:ffff:ffff:ffff:ffff,US
-2a03:2880:2200::,2a03:2887:ffff:ffff:ffff:ffff:ffff:ffff,IE
+2a03:2880:2000::,2a03:2880:217f:ffff:ffff:ffff:ffff:ffff,US
+2a03:2880:2180::,2a03:2880:2fff:ffff:ffff:ffff:ffff:ffff,IE
+2a03:2880:3000::,2a03:2880:33ff:ffff:ffff:ffff:ffff:ffff,US
+2a03:2880:3400::,2a03:2887:ffff:ffff:ffff:ffff:ffff:ffff,IE
2a03:28a0::,2a03:28a0:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a03:28c0::,2a03:28c0:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a03:28e0::,2a03:28e0:ffff:ffff:ffff:ffff:ffff:ffff,SE
@@ -33040,7 +34578,6 @@
2a03:29c0::,2a03:29c0:ffff:ffff:ffff:ffff:ffff:ffff,EE
2a03:29e0::,2a03:29e0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a03:2a00::,2a03:2a07:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a03:2a20::,2a03:2a20:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a03:2a40::,2a03:2a40:ffff:ffff:ffff:ffff:ffff:ffff,LB
2a03:2a60::,2a03:2a60:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a03:2a80::,2a03:2a80:ffff:ffff:ffff:ffff:ffff:ffff,CZ
@@ -33099,7 +34636,6 @@
2a03:3180::,2a03:3180:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a03:31a0::,2a03:31a0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a03:31c0::,2a03:31c0:ffff:ffff:ffff:ffff:ffff:ffff,BE
-2a03:31e0::,2a03:31e0:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a03:3200::,2a03:3200:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a03:3220::,2a03:3220:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a03:3240::,2a03:3240:ffff:ffff:ffff:ffff:ffff:ffff,UZ
@@ -33157,7 +34693,7 @@
2a03:38e0::,2a03:38e0:ffff:ffff:ffff:ffff:ffff:ffff,LU
2a03:3900::,2a03:3900:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a03:3920::,2a03:3920:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a03:3940::,2a03:3940:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a03:3940::,2a03:3947:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a03:3960::,2a03:3960:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a03:3980::,2a03:3980:ffff:ffff:ffff:ffff:ffff:ffff,BY
2a03:39a0::,2a03:39a0:ffff:ffff:ffff:ffff:ffff:ffff,AT
@@ -33238,7 +34774,7 @@
2a03:43e0::,2a03:43e0:ffff:ffff:ffff:ffff:ffff:ffff,LI
2a03:4400::,2a03:4407:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a03:4420::,2a03:4420:ffff:ffff:ffff:ffff:ffff:ffff,CH
-2a03:4440::,2a03:4440:ffff:ffff:ffff:ffff:ffff:ffff,SE
+2a03:4440::,2a03:4447:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a03:4460::,2a03:4460:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a03:4480::,2a03:4480:ffff:ffff:ffff:ffff:ffff:ffff,AZ
2a03:44a0::,2a03:44a0:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -33362,7 +34898,7 @@
2a03:50a0::,2a03:50a0:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a03:50c0::,2a03:50c0:ffff:ffff:ffff:ffff:ffff:ffff,GI
2a03:50e0::,2a03:50e0:ffff:ffff:ffff:ffff:ffff:ffff,MT
-2a03:5100::,2a03:5100:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a03:5100::,2a03:5107:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a03:5120::,2a03:5120:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a03:5140::,2a03:5140:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a03:5160::,2a03:5160:ffff:ffff:ffff:ffff:ffff:ffff,TR
@@ -33410,7 +34946,6 @@
2a03:56c0::,2a03:56c0:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a03:5700::,2a03:5700:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a03:5720::,2a03:5720:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a03:5740::,2a03:5740:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a03:5760::,2a03:5760:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a03:5780::,2a03:5780:ffff:ffff:ffff:ffff:ffff:ffff,KW
2a03:57a0::,2a03:57a0:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -34043,7 +35578,7 @@
2a03:a5a0::,2a03:a5a0:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a03:a5c0::,2a03:a5c0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a03:a5e0::,2a03:a5e0:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a03:a600::,2a03:a600:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a03:a600::,2a03:a607:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a03:a620::,2a03:a620:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a03:a640::,2a03:a640:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a03:a660::,2a03:a660:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -34218,8 +35753,8 @@
2a03:b0c0:3:d0::,2a03:b0c0:3:d0:ffff:ffff:ffff:ffff,DE
2a03:b0c0:3:d1::,2a03:b0c0:3:df:ffff:ffff:ffff:ffff,GB
2a03:b0c0:3:e0::,2a03:b0c0:3:e0:ffff:ffff:ffff:ffff,DE
-2a03:b0c0:3:e1::,2a03:b0c0:3:ffff:ffff:ffff:ffff:ffff,GB
-2a03:b0c0:4::,2a03:b0c0:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a03:b0c0:3:e1::,2a03:b0c0:3ff:ffff:ffff:ffff:ffff:ffff,GB
+2a03:b0c0:400::,2a03:b0c0:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a03:b0e0::,2a03:b0e0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a03:b100::,2a03:b100:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a03:b140::,2a03:b140:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -34228,7 +35763,6 @@
2a03:b200::,2a03:b207:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a03:b240::,2a03:b247:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a03:b280::,2a03:b280:ffff:ffff:ffff:ffff:ffff:ffff,CZ
-2a03:b2c0::,2a03:b2c0:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a03:b300::,2a03:b300:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a03:b340::,2a03:b340:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a03:b380::,2a03:b380:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -34876,7 +36410,7 @@
2a03:da80::,2a03:da80:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a03:dac0::,2a03:dac0:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a03:db00::,2a03:db07:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a03:db40::,2a03:db47:ffff:ffff:ffff:ffff:ffff:ffff,CY
+2a03:db40::,2a03:db47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a03:db80::,2a03:db80:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a03:dbc0::,2a03:dbc0:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a03:dc00::,2a03:dc00:ffff:ffff:ffff:ffff:ffff:ffff,FR
@@ -34921,7 +36455,11 @@
2a03:e480::,2a03:e480:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a03:e500::,2a03:e500:ffff:ffff:ffff:ffff:ffff:ffff,GR
2a03:e540::,2a03:e540:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a03:e580::,2a03:e587:ffff:ffff:ffff:ffff:ffff:ffff,FI
+2a03:e580::,2a03:e581:1:ffff:ffff:ffff:ffff:ffff,FI
+2a03:e581:2::,2a03:e581:2:ffff:ffff:ffff:ffff:ffff,SE
+2a03:e581:3::,2a03:e581:e:ffff:ffff:ffff:ffff:ffff,FI
+2a03:e581:f::,2a03:e581:f:ffff:ffff:ffff:ffff:ffff,GB
+2a03:e581:10::,2a03:e587:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a03:e5c0::,2a03:e5c0:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a03:e600::,2a03:e600:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a03:e640::,2a03:e640:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -35429,7 +36967,6 @@
2a04:5ac0::,2a04:5ac7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a04:5b00::,2a04:5b07:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a04:5b40::,2a04:5b47:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a04:5b80::,2a04:5b87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a04:5bc0::,2a04:5bc7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a04:5c00::,2a04:5c07:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a04:5c40::,2a04:5c47:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -35444,10 +36981,13 @@
2a04:5e00::,2a04:5e07:ffff:ffff:ffff:ffff:ffff:ffff,IQ
2a04:5e40::,2a04:5e47:ffff:ffff:ffff:ffff:ffff:ffff,AZ
2a04:5e80::,2a04:5e87:ffff:ffff:ffff:ffff:ffff:ffff,PL
-2a04:5ec0::,2a04:5ec7:ffff:ffff:ffff:ffff:ffff:ffff,VG
+2a04:5ec0::,2a04:5ec6:ffff:ffff:ffff:ffff:ffff:ffff,VG
+2a04:5ec7::,2a04:5ec7::ffff:ffff:ffff:ffff:ffff,MD
+2a04:5ec7:1::,2a04:5ec7:ffff:ffff:ffff:ffff:ffff:ffff,VG
2a04:5f00::,2a04:5f07:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a04:5f40::,2a04:5f47:ffff:ffff:ffff:ffff:ffff:ffff,LV
2a04:5f81::,2a04:5f81::ffff:ffff:ffff:ffff:ffff,US
+2a04:5f87::,2a04:5f87:ffff:ffff:ffff:ffff:ffff:ffff,US
2a04:5fc0::,2a04:5fc7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a04:6000::,2a04:6007:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a04:6040::,2a04:6047:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -35477,6 +37017,7 @@
2a04:6640::,2a04:6647:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a04:6650::,2a04:6651:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a04:6680::,2a04:6687:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a04:66c0::,2a04:66c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a04:6700::,2a04:6707:ffff:ffff:ffff:ffff:ffff:ffff,MT
2a04:6740::,2a04:6747:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a04:6780::,2a04:6787:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -35712,7 +37253,7 @@
2a04:9c40::,2a04:9c47:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a04:9c80::,2a04:9c87:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a04:9cc0::,2a04:9cc7:ffff:ffff:ffff:ffff:ffff:ffff,LB
-2a04:9d00::,2a04:9d07:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a04:9d00::,2a04:9d07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a04:9d40::,2a04:9d47:ffff:ffff:ffff:ffff:ffff:ffff,IE
2a04:9d80::,2a04:9d87:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a04:9dc0::,2a04:9dc7:ffff:ffff:ffff:ffff:ffff:ffff,RO
@@ -35843,7 +37384,7 @@
2a04:bc00::,2a04:bc07:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a04:bc40::,2a04:bc40:1dc0:ffff:ffff:ffff:ffff:ffff,UA
2a04:bc40:1dc1::,2a04:bc40:1dc1:ffff:ffff:ffff:ffff:ffff,NL
-2a04:bc40:1dc2::,2a04:bc40:1dc2:ffff:ffff:ffff:ffff:ffff,RU
+2a04:bc40:1dc2::,2a04:bc40:1dc2:ffff:ffff:ffff:ffff:ffff,BE
2a04:bc40:1dc3::,2a04:bc40:1dc3:ffff:ffff:ffff:ffff:ffff,UA
2a04:bc40:1dc4::,2a04:bc40:1dc4:ffff:ffff:ffff:ffff:ffff,RO
2a04:bc40:1dc5::,2a04:bc40:1dc5:ffff:ffff:ffff:ffff:ffff,CZ
@@ -36132,7 +37673,7 @@
2a04:fa40::,2a04:fa47:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a04:fa80::,2a04:fa80::ffff:ffff:ffff:ffff:ffff,DE
2a04:fa80:1::,2a04:fa87:ffff:ffff:ffff:ffff:ffff:ffff,IE
-2a04:fac0::,2a04:fac7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a04:fac0::,2a04:fac7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a04:fb00::,2a04:fb07:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a04:fb40::,2a04:fb47:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a04:fb80::,2a04:fb87:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -36145,7 +37686,7 @@
2a04:fd40::,2a04:fd47:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a04:fd80::,2a04:fd87:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a04:fdc0::,2a04:fdc7:ffff:ffff:ffff:ffff:ffff:ffff,IE
-2a04:fe00::,2a04:fe07:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a04:fe00::,2a04:fe07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a04:fe40::,2a04:fe47:ffff:ffff:ffff:ffff:ffff:ffff,SA
2a04:fe80::,2a04:fe87:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a04:fec0::,2a04:fec0:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -36189,7 +37730,6 @@
2a05:7c0::,2a05:7cf:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a05:800::,2a05:807:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a05:840::,2a05:843:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a05:860::,2a05:863:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:880::,2a05:887:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a05:8c0::,2a05:8c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a05:900::,2a05:907:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -36218,10 +37758,10 @@
2a05:f00::,2a05:f07:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a05:f40::,2a05:f47:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a05:f80::,2a05:f87:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a05:fc0::,2a05:fc7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a05:fc0::,2a05:fc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:1000::,2a05:1007:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a05:1040::,2a05:1047:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a05:1080::,2a05:1087:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a05:1080::,2a05:1087:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:10c0::,2a05:10c7:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a05:1100::,2a05:1107:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:1140::,2a05:1147:ffff:ffff:ffff:ffff:ffff:ffff,AT
@@ -36234,12 +37774,13 @@
2a05:12c0::,2a05:12c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a05:1300::,2a05:1307:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a05:1340::,2a05:1347:ffff:ffff:ffff:ffff:ffff:ffff,IR
-2a05:1380::,2a05:1387:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:1400::,2a05:1407:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a05:1440::,2a05:1447:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a05:1480::,2a05:1487:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a05:14c0::,2a05:14c7:ffff:ffff:ffff:ffff:ffff:ffff,CH
-2a05:1500::,2a05:1507:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a05:1500::,2a05:1500:2ff:ffff:ffff:ffff:ffff:ffff,NL
+2a05:1500:300::,2a05:1500:3ff:ffff:ffff:ffff:ffff:ffff,ES
+2a05:1500:400::,2a05:1507:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a05:1540::,2a05:1547:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a05:1580::,2a05:1587:ffff:ffff:ffff:ffff:ffff:ffff,LT
2a05:15c0::,2a05:15c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -36248,7 +37789,7 @@
2a05:1680::,2a05:1687:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a05:16c0::,2a05:16c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a05:1700::,2a05:1707:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a05:1780::,2a05:1787:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a05:1780::,2a05:1787:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:17c0::,2a05:17c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a05:1800::,2a05:1807:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a05:1840::,2a05:1847:ffff:ffff:ffff:ffff:ffff:ffff,HR
@@ -36308,18 +37849,14 @@
2a05:2700::,2a05:2707:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a05:2740::,2a05:2747:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a05:2780::,2a05:2787:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a05:27c0::,2a05:27c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a05:27c0::,2a05:27c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:2800::,2a05:2807:ffff:ffff:ffff:ffff:ffff:ffff,IE
2a05:2840::,2a05:2847:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a05:2880::,2a05:2887:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a05:28c0::,2a05:28c0::ffff:ffff:ffff:ffff:ffff,DE
-2a05:28c0:1::,2a05:28c1:3fff:ffff:ffff:ffff:ffff:ffff,AT
-2a05:28c1:8000::,2a05:28c2:3fff:ffff:ffff:ffff:ffff:ffff,AT
-2a05:28c2:8000::,2a05:28c4:3fff:ffff:ffff:ffff:ffff:ffff,AT
-2a05:28c4:8000::,2a05:28c5:3fff:ffff:ffff:ffff:ffff:ffff,AT
-2a05:28c5:8000::,2a05:28c6:3fff:ffff:ffff:ffff:ffff:ffff,AT
-2a05:28c6:8000::,2a05:28c7:3fff:ffff:ffff:ffff:ffff:ffff,AT
-2a05:28c7:8000::,2a05:28c7:ffff:ffff:ffff:ffff:ffff:ffff,AT
+2a05:28c0:1::,2a05:28c6:3fff:ffff:ffff:ffff:ffff:ffff,PT
+2a05:28c6:8000::,2a05:28c7:3fff:ffff:ffff:ffff:ffff:ffff,PT
+2a05:28c7:8000::,2a05:28c7:ffff:ffff:ffff:ffff:ffff:ffff,PT
2a05:2900::,2a05:2907:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a05:2940::,2a05:2947:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:2980::,2a05:2987:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -36346,6 +37883,7 @@
2a05:2d40::,2a05:2d47:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a05:2d80::,2a05:2d87:ffff:ffff:ffff:ffff:ffff:ffff,US
2a05:2dc0::,2a05:2dc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a05:2e00::,2a05:2e00:ffff:ffff:ffff:ffff:ffff:ffff,SK
2a05:2e40::,2a05:2e40::ffff:ffff:ffff:ffff:ffff,RU
2a05:2e40:1::,2a05:2e47:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a05:2e80::,2a05:2e87:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -36405,7 +37943,7 @@
2a05:3c00::,2a05:3c07:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a05:3c40::,2a05:3c47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:3c80::,2a05:3c87:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a05:3cc0::,2a05:3cc7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a05:3cc0::,2a05:3cc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:3d00::,2a05:3d07:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a05:3d40::,2a05:3d47:ffff:ffff:ffff:ffff:ffff:ffff,EE
2a05:3d80::,2a05:3d87:ffff:ffff:ffff:ffff:ffff:ffff,CH
@@ -36474,7 +38012,7 @@
2a05:4a00::,2a05:4a07:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a05:4a40::,2a05:4a47:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a05:4a80::,2a05:4a87:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a05:4ac0::,2a05:4ac7:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a05:4ac0::,2a05:4ac0:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a05:4b00::,2a05:4b07:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a05:4b40::,2a05:4b47:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a05:4b80::,2a05:4b87:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -36535,6 +38073,7 @@
2a05:5880::,2a05:5887:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a05:58c0::,2a05:58c7:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a05:5900::,2a05:5907:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a05:5940::,2a05:5947:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:5980::,2a05:5987:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a05:59c0::,2a05:59c7:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a05:5a00::,2a05:5a07:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -36603,7 +38142,7 @@
2a05:66c6:c000::,2a05:66c7:4097:ffff:ffff:ffff:ffff:ffff,US
2a05:66c7:40a0::,2a05:66c7:7fff:ffff:ffff:ffff:ffff:ffff,US
2a05:66c7:c000::,2a05:66c7:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a05:6700::,2a05:6707:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a05:6700::,2a05:6707:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a05:6740::,2a05:6747:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a05:6780::,2a05:6787:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:67c0::,2a05:67c7:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -36706,7 +38245,6 @@
2a05:7f00::,2a05:7f07:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a05:7f40::,2a05:7f47:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a05:7f80::,2a05:7f87:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a05:7fc0::,2a05:7fc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a05:8000::,2a05:8007:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a05:8040::,2a05:8047:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a05:8080::,2a05:8087:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -36790,13 +38328,15 @@
2a05:9400::,2a05:9400:ffff:ffff:ffff:ffff:ffff:ffff,US
2a05:9401::,2a05:9401:ffff:ffff:ffff:ffff:ffff:ffff,SG
2a05:9402::,2a05:9402:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a05:9403::,2a05:9407:ffff:ffff:ffff:ffff:ffff:ffff,BG
+2a05:9403::,2a05:9403:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a05:9404::,2a05:9407:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a05:9440::,2a05:9447:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a05:9480::,2a05:9487:ffff:ffff:ffff:ffff:ffff:ffff,IS
2a05:94c0::,2a05:94c7:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a05:9500::,2a05:9507:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a05:9540::,2a05:9547:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a05:9580::,2a05:9587:ffff:ffff:ffff:ffff:ffff:ffff,HU
+2a05:95c0::,2a05:95c7:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a05:9600::,2a05:9607:ffff:ffff:ffff:ffff:ffff:ffff,IE
2a05:9640::,2a05:9647:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a05:9680::,2a05:9687:ffff:ffff:ffff:ffff:ffff:ffff,PL
@@ -36833,7 +38373,8 @@
2a05:9e40::,2a05:9e47:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a05:9e80::,2a05:9e87:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a05:9ec0::,2a05:9ec7:ffff:ffff:ffff:ffff:ffff:ffff,TR
-2a05:9f00::,2a05:9f07:ffff:ffff:ffff:ffff:ffff:ffff,PT
+2a05:9f00::,2a05:9f05:ffff:ffff:ffff:ffff:ffff:ffff,PT
+2a05:9f06::,2a05:9f07:ffff:ffff:ffff:ffff:ffff:ffff,SC
2a05:9f41:1a::,2a05:9f41:1a:ffff:ffff:ffff:ffff:ffff,RO
2a05:9f41:1b::,2a05:9f41:1c:ffff:ffff:ffff:ffff:ffff,SE
2a05:9f80::,2a05:9f87:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -36932,7 +38473,6 @@
2a05:b380::,2a05:b387:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a05:b3c0::,2a05:b3c7:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a05:b400::,2a05:b400:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a05:b440::,2a05:b447:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a05:b4c0::,2a05:b4c7:ffff:ffff:ffff:ffff:ffff:ffff,IL
2a05:b500::,2a05:b507:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a05:b540::,2a05:b547:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -37296,14 +38836,7 @@
2a05:f400::,2a05:f407:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a05:f440::,2a05:f447:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a05:f480::,2a05:f487:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2a05:f4c0:4000::,2a05:f4c0:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a05:f4c1:4000::,2a05:f4c1:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a05:f4c2:4000::,2a05:f4c2:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a05:f4c3:4000::,2a05:f4c3:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a05:f4c4:4000::,2a05:f4c4:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a05:f4c5:4000::,2a05:f4c5:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a05:f4c6:4000::,2a05:f4c6:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a05:f4c7:4000::,2a05:f4c7:ffff:ffff:ffff:ffff:ffff:ffff,BG
+2a05:f4c0::,2a05:f4c7:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a05:f500::,2a05:f507:ffff:ffff:ffff:ffff:ffff:ffff,IE
2a05:f540::,2a05:f547:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a05:f580::,2a05:f587:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -37365,7 +38898,6 @@
2a06:380::,2a06:387:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a06:3c0::,2a06:3c7:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a06:400::,2a06:407:ffff:ffff:ffff:ffff:ffff:ffff,CZ
-2a06:440::,2a06:447:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a06:480::,2a06:487:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:4c0::,2a06:4c7:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a06:500::,2a06:507:ffff:ffff:ffff:ffff:ffff:ffff,NO
@@ -37394,7 +38926,6 @@
2a06:b00::,2a06:b07:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a06:b40::,2a06:b47:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a06:b80::,2a06:b87:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:bc0::,2a06:bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a06:c00::,2a06:c07:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a06:c40::,2a06:c47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a06:c80::,2a06:c87:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -37435,7 +38966,7 @@
2a06:1400::,2a06:1407:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a06:1440::,2a06:1447:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a06:1480::,2a06:1487:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a06:14c0::,2a06:14c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a06:14c0::,2a06:14c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a06:1500::,2a06:1507:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a06:1540::,2a06:1547:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:15c0::,2a06:15c7:ffff:ffff:ffff:ffff:ffff:ffff,FR
@@ -37556,22 +39087,7 @@
2a06:2f80::,2a06:2f87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:2fc0::,2a06:2fc7:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a06:3000::,2a06:3007:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:3040::,2a06:3040:3fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:3040:4000::,2a06:3040:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:3041::,2a06:3041:3fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:3041:4000::,2a06:3041:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:3042::,2a06:3042:3fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:3042:4000::,2a06:3042:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:3043::,2a06:3043:3fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:3043:4000::,2a06:3043:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:3044::,2a06:3044:3fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:3044:4000::,2a06:3044:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:3045::,2a06:3045:3fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:3045:4000::,2a06:3045:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:3046::,2a06:3046:3fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:3046:4000::,2a06:3046:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:3047::,2a06:3047:3fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:3047:4000::,2a06:3047:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a06:3040::,2a06:3047:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:3080::,2a06:3087:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a06:30c0::,2a06:30c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:3100::,2a06:3107:ffff:ffff:ffff:ffff:ffff:ffff,FR
@@ -37684,7 +39200,7 @@
2a06:46c6:4000::,2a06:46c6:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a06:46c7::,2a06:46c7:3fff:ffff:ffff:ffff:ffff:ffff,US
2a06:46c7:4000::,2a06:46c7:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a06:4700::,2a06:4707:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a06:4700::,2a06:4707:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a06:4740::,2a06:4747:ffff:ffff:ffff:ffff:ffff:ffff,US
2a06:4780::,2a06:4787:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a06:47c0::,2a06:47c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -37695,21 +39211,7 @@
2a06:4900::,2a06:4907:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:4940::,2a06:4947:ffff:ffff:ffff:ffff:ffff:ffff,LU
2a06:49c0::,2a06:49c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a06:4a00::,2a06:4a01:3fff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:4a01:4000::,2a06:4a01:7fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:4a01:8000::,2a06:4a02:3fff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:4a02:4000::,2a06:4a02:7fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:4a02:8000::,2a06:4a03:3fff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:4a03:4000::,2a06:4a03:7fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:4a03:8000::,2a06:4a04:3fff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:4a04:4000::,2a06:4a04:7fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:4a04:8000::,2a06:4a05:3fff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:4a05:4000::,2a06:4a05:7fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:4a05:8000::,2a06:4a06:3fff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:4a06:4000::,2a06:4a06:7fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:4a06:8000::,2a06:4a07:3fff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:4a07:4000::,2a06:4a07:7fff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:4a07:8000::,2a06:4a07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a06:4a00::,2a06:4a07:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:4a40::,2a06:4a47:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a06:4a80::,2a06:4a87:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a06:4ac0::,2a06:4ac7:ffff:ffff:ffff:ffff:ffff:ffff,CZ
@@ -37801,7 +39303,7 @@
2a06:5dc0::,2a06:5dc7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a06:5e00::,2a06:5e07:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a06:5e40::,2a06:5e47:ffff:ffff:ffff:ffff:ffff:ffff,SE
-2a06:5e80::,2a06:5e87:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a06:5e80::,2a06:5e87:ffff:ffff:ffff:ffff:ffff:ffff,SK
2a06:5ec0::,2a06:5ec7:ffff:ffff:ffff:ffff:ffff:ffff,HR
2a06:5f00::,2a06:5f07:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:5f40::,2a06:5f40:ffff:ffff:ffff:ffff:ffff:ffff,BE
@@ -37869,7 +39371,7 @@
2a06:6f00::,2a06:6f07:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:6f40::,2a06:6f47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:6fc0::,2a06:6fc7:ffff:ffff:ffff:ffff:ffff:ffff,SI
-2a06:7000::,2a06:7007:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a06:7000::,2a06:7007:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:7040::,2a06:7047:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a06:7080::,2a06:7087:ffff:ffff:ffff:ffff:ffff:ffff,IE
2a06:70c0::,2a06:70c7:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -37886,7 +39388,6 @@
2a06:7244::,2a06:7244:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a06:7245::,2a06:7245::ffff:ffff:ffff:ffff:ffff,DE
2a06:7246::,2a06:7246:1f:ffff:ffff:ffff:ffff:ffff,US
-2a06:7247::,2a06:7247:1f:ffff:ffff:ffff:ffff:ffff,NL
2a06:7280::,2a06:7287:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a06:72c0::,2a06:72c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a06:7300::,2a06:7307:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -37925,7 +39426,6 @@
2a06:7a06::,2a06:7a06:f:ffff:ffff:ffff:ffff:ffff,NL
2a06:7a07::,2a06:7a07:1f:ffff:ffff:ffff:ffff:ffff,AU
2a06:7a40::,2a06:7a47:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:7a80::,2a06:7a87:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a06:7ac0::,2a06:7ac7:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a06:7b00::,2a06:7b07:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a06:7b40::,2a06:7b47:ffff:ffff:ffff:ffff:ffff:ffff,FI
@@ -37977,8 +39477,8 @@
2a06:8186:c300::,2a06:8186:feff:ffff:ffff:ffff:ffff:ffff,GB
2a06:8187::,2a06:8187:bdff:ffff:ffff:ffff:ffff:ffff,GB
2a06:8187:be00::,2a06:8187:be03:ffff:ffff:ffff:ffff:ffff,CH
-2a06:8187:be04::,2a06:8187:faff:ffff:ffff:ffff:ffff:ffff,GB
-2a06:8187:fb00::,2a06:8187:fcff:ffff:ffff:ffff:ffff:ffff,DE
+2a06:8187:be04::,2a06:8187:f7ff:ffff:ffff:ffff:ffff:ffff,GB
+2a06:8187:f800::,2a06:8187:fcff:ffff:ffff:ffff:ffff:ffff,DE
2a06:8187:fd00::,2a06:8187:fd02:ffff:ffff:ffff:ffff:ffff,FR
2a06:8187:fd03::,2a06:8187:fd03:ffff:ffff:ffff:ffff:ffff,IE
2a06:8187:fd04::,2a06:8187:fd98:ffff:ffff:ffff:ffff:ffff,FR
@@ -38025,7 +39525,7 @@
2a06:81c0::,2a06:81c7:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a06:8280::,2a06:8280:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a06:8281::,2a06:8281:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a06:8282::,2a06:8286:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a06:8282::,2a06:8287:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a06:82c0::,2a06:82c0::ffff:ffff:ffff:ffff:ffff,FR
2a06:82c1::,2a06:82c1::ffff:ffff:ffff:ffff:ffff,US
2a06:82c2::,2a06:82c2:f:ffff:ffff:ffff:ffff:ffff,GB
@@ -38076,6 +39576,7 @@
2a06:8d40::,2a06:8d47:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a06:8d80::,2a06:8d87:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a06:8dc0::,2a06:8dc0:3f:ffff:ffff:ffff:ffff:ffff,RO
+2a06:8dc2::,2a06:8dc2:f:ffff:ffff:ffff:ffff:ffff,DE
2a06:8dc4::,2a06:8dc4:1f:ffff:ffff:ffff:ffff:ffff,GB
2a06:8dc6::,2a06:8dc6:f:ffff:ffff:ffff:ffff:ffff,GB
2a06:8dc7::,2a06:8dc7::ffff:ffff:ffff:ffff:ffff,GB
@@ -38170,9 +39671,16 @@
2a06:9fc0::,2a06:9fc7:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a06:a000::,2a06:a005:ff:ffff:ffff:ffff:ffff:ffff,IS
2a06:a005:100::,2a06:a005:1ff:ffff:ffff:ffff:ffff:ffff,AT
-2a06:a005:200::,2a06:a005:ffff:ffff:ffff:ffff:ffff:ffff,IS
-2a06:a006::,2a06:a006:3ff:ffff:ffff:ffff:ffff:ffff,US
-2a06:a006:400::,2a06:a006:ffff:ffff:ffff:ffff:ffff:ffff,IS
+2a06:a005:200::,2a06:a006:c1:ffff:ffff:ffff:ffff:ffff,IS
+2a06:a006:c2::,2a06:a006:c2:ffff:ffff:ffff:ffff:ffff,GB
+2a06:a006:c3::,2a06:a006:c3:ffff:ffff:ffff:ffff:ffff,NL
+2a06:a006:c4::,2a06:a006:c4:ffff:ffff:ffff:ffff:ffff,IM
+2a06:a006:c5::,2a06:a006:c5:ffff:ffff:ffff:ffff:ffff,US
+2a06:a006:c6::,2a06:a006:ef:ffff:ffff:ffff:ffff:ffff,IS
+2a06:a006:f0::,2a06:a006:f2:ffff:ffff:ffff:ffff:ffff,US
+2a06:a006:f3::,2a06:a006:f3:ffff:ffff:ffff:ffff:ffff,NL
+2a06:a006:f4::,2a06:a006:ff:ffff:ffff:ffff:ffff:ffff,US
+2a06:a006:100::,2a06:a006:ffff:ffff:ffff:ffff:ffff:ffff,IS
2a06:a007::,2a06:a007:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a06:a040::,2a06:a047:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a06:a080::,2a06:a087:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -38198,7 +39706,7 @@
2a06:a580::,2a06:a587:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a06:a5c0::,2a06:a5c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a06:a600::,2a06:a607:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a06:a640::,2a06:a647:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a06:a640::,2a06:a647:ffff:ffff:ffff:ffff:ffff:ffff,LT
2a06:a680::,2a06:a687:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a06:a6c0::,2a06:a6c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a06:a700::,2a06:a707:ffff:ffff:ffff:ffff:ffff:ffff,FI
@@ -38210,6 +39718,7 @@
2a06:a880::,2a06:a887:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a06:a900::,2a06:a907:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a06:a940::,2a06:a947:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a06:a980::,2a06:a987:ffff:ffff:ffff:ffff:ffff:ffff,EE
2a06:a9c0::,2a06:a9c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a06:aa00::,2a06:aa07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a06:aa40::,2a06:aa47:ffff:ffff:ffff:ffff:ffff:ffff,PL
@@ -38459,7 +39968,6 @@
2a06:e500::,2a06:e507:ffff:ffff:ffff:ffff:ffff:ffff,SK
2a06:e540::,2a06:e547:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a06:e580::,2a06:e587:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a06:e5c0::,2a06:e5c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a06:e600::,2a06:e607:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a06:e640::,2a06:e647:ffff:ffff:ffff:ffff:ffff:ffff,PT
2a06:e680::,2a06:e687:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -38478,12 +39986,10 @@
2a06:e881:1100::,2a06:e881:110f:ffff:ffff:ffff:ffff:ffff,FR
2a06:e881:1500::,2a06:e881:150f:ffff:ffff:ffff:ffff:ffff,GB
2a06:e881:1700::,2a06:e881:170f:ffff:ffff:ffff:ffff:ffff,DE
-2a06:e881:2000::,2a06:e881:200f:ffff:ffff:ffff:ffff:ffff,DE
-2a06:e881:2100::,2a06:e881:210f:ffff:ffff:ffff:ffff:ffff,DE
+2a06:e881:2000::,2a06:e881:23ff:ffff:ffff:ffff:ffff:ffff,DE
2a06:e881:3700::,2a06:e881:370f:ffff:ffff:ffff:ffff:ffff,DE
2a06:e881:3800::,2a06:e881:380f:ffff:ffff:ffff:ffff:ffff,CN
2a06:e881:4001::,2a06:e881:4001:ffff:ffff:ffff:ffff:ffff,GB
-2a06:e881:f000::,2a06:e881:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a06:e8c0::,2a06:e8c7:ffff:ffff:ffff:ffff:ffff:ffff,LV
2a06:e900::,2a06:e907:ffff:ffff:ffff:ffff:ffff:ffff,US
2a06:e9c0::,2a06:e9c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -38590,9 +40096,7 @@
2a07:380::,2a07:387:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a07:3c0::,2a07:3c7:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a07:400::,2a07:407:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a07:440::,2a07:440:1fff:ffff:ffff:ffff:ffff:ffff,DE
-2a07:440:2000::,2a07:440:2000:7fff:ffff:ffff:ffff:ffff,US
-2a07:440:2000:8000::,2a07:447:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a07:440::,2a07:447:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:480::,2a07:487:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a07:4c0::,2a07:4c7:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a07:500::,2a07:507:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -38631,6 +40135,7 @@
2a07:d40::,2a07:d47:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a07:d80::,2a07:d87:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a07:dc0::,2a07:dc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a07:e00::,2a07:e07:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a07:e40::,2a07:e47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:e80::,2a07:e87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:ec0::,2a07:ec7:ffff:ffff:ffff:ffff:ffff:ffff,DK
@@ -38703,7 +40208,8 @@
2a07:1c44:60a::,2a07:1c44:60a:ffff:ffff:ffff:ffff:ffff,DE
2a07:1c44:60b::,2a07:1c44:619:ffff:ffff:ffff:ffff:ffff,AT
2a07:1c44:61a::,2a07:1c44:61a:ffff:ffff:ffff:ffff:ffff,KR
-2a07:1c44:61b::,2a07:1c44:67f:ffff:ffff:ffff:ffff:ffff,AT
+2a07:1c44:61b::,2a07:1c44:67e:ffff:ffff:ffff:ffff:ffff,AT
+2a07:1c44:67f::,2a07:1c44:67f:ffff:ffff:ffff:ffff:ffff,ES
2a07:1c44:680::,2a07:1c44:6bf:ffff:ffff:ffff:ffff:ffff,KR
2a07:1c44:6c0::,2a07:1c44:6ff:ffff:ffff:ffff:ffff:ffff,DE
2a07:1c44:700::,2a07:1c44:70f:ffff:ffff:ffff:ffff:ffff,US
@@ -38723,13 +40229,22 @@
2a07:1c44:4311::,2a07:1c44:43ff:ffff:ffff:ffff:ffff:ffff,HR
2a07:1c44:4400::,2a07:1c44:4fff:ffff:ffff:ffff:ffff:ffff,AT
2a07:1c44:5000::,2a07:1c44:51ff:ffff:ffff:ffff:ffff:ffff,US
-2a07:1c44:5200::,2a07:1c44:61ff:ffff:ffff:ffff:ffff:ffff,AT
+2a07:1c44:5200::,2a07:1c44:5fff:ffff:ffff:ffff:ffff:ffff,AT
+2a07:1c44:6000::,2a07:1c44:61ff:ffff:ffff:ffff:ffff:ffff,PL
2a07:1c44:6200::,2a07:1c44:62ff:ffff:ffff:ffff:ffff:ffff,DE
-2a07:1c44:6300::,2a07:1c44:86ff:ffff:ffff:ffff:ffff:ffff,AT
+2a07:1c44:6300::,2a07:1c44:63ff:ffff:ffff:ffff:ffff:ffff,PL
+2a07:1c44:6400::,2a07:1c44:86ff:ffff:ffff:ffff:ffff:ffff,AT
2a07:1c44:8700::,2a07:1c44:87fd:ffff:ffff:ffff:ffff:ffff,HK
2a07:1c44:87fe::,2a07:1c44:87fe:ffff:ffff:ffff:ffff:ffff,GB
2a07:1c44:87ff::,2a07:1c44:87ff:ffff:ffff:ffff:ffff:ffff,SG
-2a07:1c44:8800::,2a07:1c45:1fff:ffff:ffff:ffff:ffff:ffff,AT
+2a07:1c44:8800::,2a07:1c44:9110:ffff:ffff:ffff:ffff:ffff,AT
+2a07:1c44:9111::,2a07:1c44:9111:ffff:ffff:ffff:ffff:ffff,DE
+2a07:1c44:9112::,2a07:1c44:9198:ffff:ffff:ffff:ffff:ffff,AT
+2a07:1c44:9199::,2a07:1c44:9199:ffff:ffff:ffff:ffff:ffff,JP
+2a07:1c44:919a::,2a07:1c44:9600:ffff:ffff:ffff:ffff:ffff,AT
+2a07:1c44:9601::,2a07:1c44:9601:ffff:ffff:ffff:ffff:ffff,US
+2a07:1c44:9602::,2a07:1c44:9602:ffff:ffff:ffff:ffff:ffff,DE
+2a07:1c44:9603::,2a07:1c45:1fff:ffff:ffff:ffff:ffff:ffff,AT
2a07:1c45:2000::,2a07:1c45:20ff:ffff:ffff:ffff:ffff:ffff,CZ
2a07:1c45:2100::,2a07:1c45:2fff:ffff:ffff:ffff:ffff:ffff,AT
2a07:1c45:3000::,2a07:1c45:30ff:ffff:ffff:ffff:ffff:ffff,GB
@@ -38820,7 +40335,7 @@
2a07:3040::,2a07:3047:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a07:3080::,2a07:3087:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:30c0::,2a07:30c7:ffff:ffff:ffff:ffff:ffff:ffff,CZ
-2a07:3100::,2a07:3107:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a07:3100::,2a07:3107:ffff:ffff:ffff:ffff:ffff:ffff,PT
2a07:3140::,2a07:3147:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a07:3180::,2a07:3180:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a07:3181::,2a07:3181:ffff:ffff:ffff:ffff:ffff:ffff,CH
@@ -38845,7 +40360,9 @@
2a07:3500::,2a07:3507:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a07:3540::,2a07:3547:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a07:3580::,2a07:3587:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a07:35c0::,2a07:35c7:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a07:35c0::,2a07:35c1:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a07:35c2::,2a07:35c2:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a07:35c3::,2a07:35c7:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a07:3600::,2a07:3607:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a07:3640::,2a07:3647:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a07:3680::,2a07:3687:ffff:ffff:ffff:ffff:ffff:ffff,LB
@@ -38860,13 +40377,11 @@
2a07:38c0::,2a07:38c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a07:3900::,2a07:3907:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a07:3940::,2a07:3947:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2a07:3980::,2a07:3987:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a07:3980::,2a07:3987:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a07:39c0::,2a07:39c7:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a07:3a00::,2a07:3a07:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a07:3a40::,2a07:3a47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:3a80::,2a07:3a87:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a07:3ac0::,2a07:3ac7:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a07:3b00::,2a07:3b07:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a07:3b40::,2a07:3b47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:3b80::,2a07:3b87:ffff:ffff:ffff:ffff:ffff:ffff,US
2a07:3bc0::,2a07:3bc7:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -38874,7 +40389,6 @@
2a07:3c40::,2a07:3c47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:3cc0::,2a07:3cc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:3d00::,2a07:3d07:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a07:3d40::,2a07:3d47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:3d80::,2a07:3d87:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a07:3dc0::,2a07:3dc7:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a07:3e00::,2a07:3e07:ffff:ffff:ffff:ffff:ffff:ffff,CH
@@ -38913,8 +40427,8 @@
2a07:4640::,2a07:4647:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a07:4680::,2a07:4687:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a07:4700::,2a07:4707:ffff:ffff:ffff:ffff:ffff:ffff,NO
-2a07:4740::,2a07:4747:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a07:4780::,2a07:4787:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a07:4740::,2a07:4747:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a07:4780::,2a07:4787:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:47c0::,2a07:47c7:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a07:4800::,2a07:4807:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a07:4840::,2a07:4847:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -38929,8 +40443,6 @@
2a07:4a80::,2a07:4a87:ffff:ffff:ffff:ffff:ffff:ffff,LT
2a07:4ac0::,2a07:4ac7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:4b00::,2a07:4b07:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2a07:4b40::,2a07:4b40::ffff:ffff:ffff:ffff:ffff,NL
-2a07:4b40:1::,2a07:4b47:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a07:4b80::,2a07:4b87:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a07:4bc0::,2a07:4bc7:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a07:4c00::,2a07:4c07:ffff:ffff:ffff:ffff:ffff:ffff,IR
@@ -38987,7 +40499,20 @@
2a07:5980::,2a07:5987:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a07:59c0::,2a07:59c1:1fff:ffff:ffff:ffff:ffff:ffff,IT
2a07:59c1:2000::,2a07:59c1:20ff:ffff:ffff:ffff:ffff:ffff,PL
-2a07:59c1:2100::,2a07:59c1:3fff:ffff:ffff:ffff:ffff:ffff,IT
+2a07:59c1:2100::,2a07:59c1:2fff:ffff:ffff:ffff:ffff:ffff,IT
+2a07:59c1:3000::,2a07:59c1:3010:ffff:ffff:ffff:ffff:ffff,CN
+2a07:59c1:3011::,2a07:59c1:3011:ffff:ffff:ffff:ffff:ffff,DE
+2a07:59c1:3012::,2a07:59c1:3016:ffff:ffff:ffff:ffff:ffff,CN
+2a07:59c1:3017::,2a07:59c1:3017:ffff:ffff:ffff:ffff:ffff,HK
+2a07:59c1:3018::,2a07:59c1:3060:ffff:ffff:ffff:ffff:ffff,CN
+2a07:59c1:3061::,2a07:59c1:3061:ffff:ffff:ffff:ffff:ffff,HK
+2a07:59c1:3062::,2a07:59c1:3062:ffff:ffff:ffff:ffff:ffff,SG
+2a07:59c1:3063::,2a07:59c1:3070:ffff:ffff:ffff:ffff:ffff,CN
+2a07:59c1:3071::,2a07:59c1:3071:ffff:ffff:ffff:ffff:ffff,US
+2a07:59c1:3072::,2a07:59c1:309f:ffff:ffff:ffff:ffff:ffff,CN
+2a07:59c1:30a0::,2a07:59c1:30a0:ffff:ffff:ffff:ffff:ffff,JP
+2a07:59c1:30a1::,2a07:59c1:30ff:ffff:ffff:ffff:ffff:ffff,CN
+2a07:59c1:3100::,2a07:59c1:3fff:ffff:ffff:ffff:ffff:ffff,IT
2a07:59c1:4000::,2a07:59c1:40ff:ffff:ffff:ffff:ffff:ffff,PL
2a07:59c1:4100::,2a07:59c6:7fff:ffff:ffff:ffff:ffff:ffff,IT
2a07:59c6:8000::,2a07:59c6:8fff:ffff:ffff:ffff:ffff:ffff,DE
@@ -39177,10 +40702,13 @@
2a07:8080::,2a07:8087:ffff:ffff:ffff:ffff:ffff:ffff,US
2a07:80c0::,2a07:80c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a07:8100::,2a07:8107:ffff:ffff:ffff:ffff:ffff:ffff,VA
-2a07:8140::,2a07:8147:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a07:8140::,2a07:8141:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a07:8142::,2a07:8142:fff:ffff:ffff:ffff:ffff:ffff,US
+2a07:8142:1000::,2a07:8143:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a07:8144::,2a07:8144:fff:ffff:ffff:ffff:ffff:ffff,HK
+2a07:8144:1000::,2a07:8147:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a07:8180::,2a07:8187:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:81c0::,2a07:81c7:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2a07:8200::,2a07:8207:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a07:8240::,2a07:8247:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a07:8280::,2a07:8287:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a07:82c0::,2a07:82c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -39224,7 +40752,6 @@
2a07:8b40::,2a07:8b47:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a07:8b80::,2a07:8b83:ffff:ffff:ffff:ffff:ffff:ffff,SI
2a07:8bc0::,2a07:8bc7:ffff:ffff:ffff:ffff:ffff:ffff,BE
-2a07:8c00::,2a07:8c07:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a07:8c40::,2a07:8c47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:8c80::,2a07:8c87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:8cc0::,2a07:8cc7:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -39295,7 +40822,6 @@
2a07:9a00::,2a07:9a07:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a07:9a40::,2a07:9a47:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a07:9a80::,2a07:9a87:ffff:ffff:ffff:ffff:ffff:ffff,IR
-2a07:9ac0::,2a07:9ac7:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a07:9b00::,2a07:9b07:ffff:ffff:ffff:ffff:ffff:ffff,GR
2a07:9b40::,2a07:9b47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:9b80::,2a07:9b87:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -39350,7 +40876,7 @@
2a07:a343:f220::,2a07:a347:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a07:a380::,2a07:a387:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a07:a3c0::,2a07:a3c7:ffff:ffff:ffff:ffff:ffff:ffff,CH
-2a07:a400::,2a07:a407:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a07:a400::,2a07:a407:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a07:a440::,2a07:a443:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a07:a444::,2a07:a447:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:a480::,2a07:a487:ffff:ffff:ffff:ffff:ffff:ffff,NO
@@ -39416,9 +40942,7 @@
2a07:a906:f191::,2a07:a906:f1ff:ffff:ffff:ffff:ffff:ffff,GB
2a07:a906:f200::,2a07:a906:f200:ffff:ffff:ffff:ffff:ffff,DE
2a07:a906:f201::,2a07:a906:fffe:ffff:ffff:ffff:ffff:ffff,GB
-2a07:a907::,2a07:a907:509:ffff:ffff:ffff:ffff:ffff,GB
-2a07:a907:50a::,2a07:a907:50a:ffff:ffff:ffff:ffff:ffff,NL
-2a07:a907:50b::,2a07:a907:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a07:a907::,2a07:a907:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a07:a940::,2a07:a947:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:a980::,2a07:a987:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a07:a9c0::,2a07:a9c7:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -39493,7 +41017,6 @@
2a07:ba40::,2a07:ba47:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a07:ba80::,2a07:ba87:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a07:bac0::,2a07:bac7:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a07:bb00::,2a07:bb07:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a07:bb40::,2a07:bb47:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a07:bb80::,2a07:bb87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:bbc0::,2a07:bbc7:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -39502,7 +41025,7 @@
2a07:bc80::,2a07:bc87:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a07:bcc0::,2a07:bcc7:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a07:bd00::,2a07:bd07:ffff:ffff:ffff:ffff:ffff:ffff,CH
-2a07:bd40::,2a07:bd47:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a07:bd40::,2a07:bd47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:bd80::,2a07:bd87:ffff:ffff:ffff:ffff:ffff:ffff,US
2a07:bdc0::,2a07:bdc7:ffff:ffff:ffff:ffff:ffff:ffff,US
2a07:be00::,2a07:be07:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -39514,7 +41037,6 @@
2a07:bf80::,2a07:bf87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a07:bfc0::,2a07:bfc7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:c000::,2a07:c007:ffff:ffff:ffff:ffff:ffff:ffff,CZ
-2a07:c040::,2a07:c047:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a07:c080::,2a07:c087:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:c0c0::,2a07:c0c7:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a07:c100::,2a07:c107:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -39548,7 +41070,7 @@
2a07:c800::,2a07:c807:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a07:c840::,2a07:c847:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a07:c880::,2a07:c887:ffff:ffff:ffff:ffff:ffff:ffff,LU
-2a07:c8c0::,2a07:c8c7:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a07:c8c0::,2a07:c8c7:ffff:ffff:ffff:ffff:ffff:ffff,PT
2a07:c900::,2a07:c907:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a07:c940::,2a07:c947:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:c9c0::,2a07:c9c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -39564,6 +41086,14 @@
2a07:cb40::,2a07:cb47:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a07:cb80::,2a07:cb87:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a07:cbc0::,2a07:cbc7:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a07:cc00::,2a07:cc07:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a07:cc40::,2a07:cc47:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a07:cc80::,2a07:cc87:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a07:ccc0::,2a07:ccc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a07:cd00::,2a07:cd07:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a07:cd40::,2a07:cd47:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a07:cd80::,2a07:cd87:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a07:cdc0::,2a07:cdc7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:ce00::,2a07:ce07:ffff:ffff:ffff:ffff:ffff:ffff,US
2a07:ce40::,2a07:ce47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:ce80::,2a07:ce87:ffff:ffff:ffff:ffff:ffff:ffff,IQ
@@ -39604,7 +41134,6 @@
2a07:dec0::,2a07:dec7:ffff:ffff:ffff:ffff:ffff:ffff,US
2a07:df00::,2a07:df07:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a07:df40::,2a07:df47:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a07:df80::,2a07:df87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:dfc0::,2a07:dfc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:e000::,2a07:e007:ffff:ffff:ffff:ffff:ffff:ffff,US
2a07:e040::,2a07:e047:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -39619,7 +41148,6 @@
2a07:e280::,2a07:e287:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a07:e2c0::,2a07:e2c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:e300::,2a07:e307:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a07:e340::,2a07:e347:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:e380::,2a07:e387:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:e3c0::,2a07:e3c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:e400::,2a07:e407:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -39646,7 +41174,7 @@
2a07:e940::,2a07:e947:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:e980::,2a07:e987:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a07:e9c0::,2a07:e9c7:ffff:ffff:ffff:ffff:ffff:ffff,IR
-2a07:ea00::,2a07:ea07:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a07:ea00::,2a07:ea07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:ea40::,2a07:ea47:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a07:ea80::,2a07:ea87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:eac0::,2a07:eac7:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -39669,8 +41197,7 @@
2a07:ef00::,2a07:ef07:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a07:ef40::,2a07:ef47:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a07:efc0::,2a07:efc0:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a07:f000::,2a07:f007:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a07:f040::,2a07:f047:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a07:f000::,2a07:f007:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:f080::,2a07:f087:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a07:f0c0::,2a07:f0c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:f100::,2a07:f107:ffff:ffff:ffff:ffff:ffff:ffff,LB
@@ -39680,7 +41207,7 @@
2a07:f200::,2a07:f207:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a07:f240::,2a07:f247:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:f280::,2a07:f287:ffff:ffff:ffff:ffff:ffff:ffff,TR
-2a07:f2c0::,2a07:f2c7:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a07:f2c0::,2a07:f2c7:ffff:ffff:ffff:ffff:ffff:ffff,PT
2a07:f300::,2a07:f307:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a07:f340::,2a07:f340:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:f380::,2a07:f387:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -39693,7 +41220,7 @@
2a07:f540::,2a07:f547:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:f580::,2a07:f587:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a07:f5c0::,2a07:f5c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a07:f600::,2a07:f607:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a07:f600::,2a07:f607:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a07:f640::,2a07:f647:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a07:f680::,2a07:f687:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a07:f6c0::,2a07:f6c7:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -39734,6 +41261,299 @@
2a07:ff80::,2a07:ff80:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a07:ffc0::,2a07:ffc7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a08::,2a08:1fff:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09::,2a09:7:ffff:ffff:ffff:ffff:ffff:ffff,MD
+2a09:80::,2a09:87:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:100::,2a09:100:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a09:180::,2a09:180:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:200::,2a09:207:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:280::,2a09:287:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:300::,2a09:307:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:380::,2a09:387:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a09:400::,2a09:407:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:480::,2a09:487:ffff:ffff:ffff:ffff:ffff:ffff,NO
+2a09:500::,2a09:507:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a09:580::,2a09:587:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:600::,2a09:607:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:680::,2a09:687:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:700::,2a09:707:ffff:ffff:ffff:ffff:ffff:ffff,MD
+2a09:780::,2a09:787:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:800::,2a09:807:ffff:ffff:ffff:ffff:ffff:ffff,IE
+2a09:880::,2a09:887:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a09:900::,2a09:907:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a09:980::,2a09:987:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:a00::,2a09:a07:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a09:a80::,2a09:a87:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:b00::,2a09:b07:ffff:ffff:ffff:ffff:ffff:ffff,LV
+2a09:b80::,2a09:b87:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a09:c00::,2a09:c07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:c80::,2a09:c87:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:d00::,2a09:d07:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a09:d80::,2a09:d87:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:e00::,2a09:e07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:e80::,2a09:e87:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a09:f00::,2a09:f07:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a09:f80::,2a09:f87:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:1000::,2a09:1007:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:1080::,2a09:1087:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:1100::,2a09:1107:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:1180::,2a09:1187:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a09:1200::,2a09:1207:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:1280::,2a09:1287:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:1300::,2a09:1307:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:1380::,2a09:1387:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a09:1400::,2a09:1407:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a09:1480::,2a09:1487:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:1500::,2a09:1507:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:1580::,2a09:1587:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:1600::,2a09:1607:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:1680::,2a09:1687:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a09:1700::,2a09:1707:ffff:ffff:ffff:ffff:ffff:ffff,BE
+2a09:1780::,2a09:1787:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a09:1800::,2a09:1807:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:1880::,2a09:1887:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:1900::,2a09:1907:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:1980::,2a09:1987:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a09:1a00::,2a09:1a07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:1a80::,2a09:1a87:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:1b00::,2a09:1b07:ffff:ffff:ffff:ffff:ffff:ffff,BG
+2a09:1b80::,2a09:1b87:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a09:1c00::,2a09:1c07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:1c80::,2a09:1c87:ffff:ffff:ffff:ffff:ffff:ffff,SE
+2a09:1d00::,2a09:1d07:ffff:ffff:ffff:ffff:ffff:ffff,MD
+2a09:1d80::,2a09:1d87:ffff:ffff:ffff:ffff:ffff:ffff,LT
+2a09:1e00::,2a09:1e07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:1e80::,2a09:1e87:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:1f00::,2a09:1f07:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a09:1f80::,2a09:1f87:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:2000::,2a09:2007:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:2080::,2a09:2087:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a09:2100::,2a09:2107:ffff:ffff:ffff:ffff:ffff:ffff,SM
+2a09:2180::,2a09:2187:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:2200::,2a09:2207:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a09:2280::,2a09:2287:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:2300::,2a09:2307:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:2380::,2a09:2387:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:2400::,2a09:2407:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:2480::,2a09:2487:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:2500::,2a09:2507:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:2600::,2a09:2607:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a09:2700::,2a09:2707:ffff:ffff:ffff:ffff:ffff:ffff,AU
+2a09:2800::,2a09:2807:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:2900::,2a09:2907:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a09:2a00::,2a09:2a07:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a09:2b00::,2a09:2b07:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a09:2c00::,2a09:2c07:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:2d00::,2a09:2d07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:2e00::,2a09:2e07:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a09:2f00::,2a09:2f07:ffff:ffff:ffff:ffff:ffff:ffff,LU
+2a09:3000::,2a09:3000:ffff:ffff:ffff:ffff:ffff:ffff,SE
+2a09:3100::,2a09:3107:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a09:3200::,2a09:3207:ffff:ffff:ffff:ffff:ffff:ffff,KZ
+2a09:3300::,2a09:3307:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:3400::,2a09:3407:ffff:ffff:ffff:ffff:ffff:ffff,LV
+2a09:3500::,2a09:3507:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:3600::,2a09:3607:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a09:3700::,2a09:3707:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:3800::,2a09:3807:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a09:3900::,2a09:3907:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:3a00::,2a09:3a07:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:3b00::,2a09:3b07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:3c00::,2a09:3c07:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:3d00::,2a09:3d07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:3e00::,2a09:3e07:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a09:3f00::,2a09:3f07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:4000::,2a09:4007:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:4100::,2a09:4107:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:4200::,2a09:4207:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a09:4300::,2a09:4307:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:4400::,2a09:4407:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:4500::,2a09:4507:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:4600::,2a09:4607:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a09:4700::,2a09:4707:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:4800::,2a09:4807:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:4900::,2a09:4907:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:4a00::,2a09:4a07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:4b00::,2a09:4b00:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:4c00::,2a09:4c07:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:4d00::,2a09:4d07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:4e00::,2a09:4e07:ffff:ffff:ffff:ffff:ffff:ffff,BG
+2a09:4f00::,2a09:4f07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:5000::,2a09:5007:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a09:5100::,2a09:5100:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a09:5200::,2a09:5207:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:5300::,2a09:5307:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:5400::,2a09:5407:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:5500::,2a09:5507:ffff:ffff:ffff:ffff:ffff:ffff,DK
+2a09:5600::,2a09:5600:ffff:ffff:ffff:ffff:ffff:ffff,FI
+2a09:5700::,2a09:5707:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:5800::,2a09:5807:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:5900::,2a09:5907:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:5a00::,2a09:5a07:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a09:5b00::,2a09:5b07:ffff:ffff:ffff:ffff:ffff:ffff,PT
+2a09:5c00::,2a09:5c07:ffff:ffff:ffff:ffff:ffff:ffff,UZ
+2a09:5d00::,2a09:5d07:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a09:5e00::,2a09:5e07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:5f00::,2a09:5f07:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a09:6000::,2a09:6007:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:6100::,2a09:6107:ffff:ffff:ffff:ffff:ffff:ffff,SK
+2a09:6200::,2a09:6207:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a09:6300::,2a09:6307:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:6400::,2a09:6407:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:6500::,2a09:6507:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:6600::,2a09:6607:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:6700::,2a09:6707:ffff:ffff:ffff:ffff:ffff:ffff,UZ
+2a09:6800::,2a09:6807:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:6900::,2a09:6907:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:6a00::,2a09:6a07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:6b00::,2a09:6b07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:6c00::,2a09:6c07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:6d00::,2a09:6d07:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:6e00::,2a09:6e07:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a09:6f00::,2a09:6f00:ffff:ffff:ffff:ffff:ffff:ffff,CY
+2a09:7000::,2a09:7007:ffff:ffff:ffff:ffff:ffff:ffff,SE
+2a09:7100::,2a09:7107:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:7200::,2a09:7207:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:7300::,2a09:7307:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:7400::,2a09:7400:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:7500::,2a09:7507:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:7600::,2a09:7607:ffff:ffff:ffff:ffff:ffff:ffff,FI
+2a09:7700::,2a09:7707:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a09:7800::,2a09:7807:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:7900::,2a09:7907:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:7a00::,2a09:7a07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:7b00::,2a09:7b07:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:7c00::,2a09:7c07:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:7d00::,2a09:7d07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:7e00::,2a09:7e07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:7f00::,2a09:7f07:ffff:ffff:ffff:ffff:ffff:ffff,MD
+2a09:8000::,2a09:8007:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:8100::,2a09:8107:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:8200::,2a09:8207:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:8300::,2a09:8307:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:8400::,2a09:8407:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:8500::,2a09:8507:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:8600::,2a09:8607:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:8700::,2a09:8707:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:8800::,2a09:8807:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:8900::,2a09:8907:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:8a00::,2a09:8a07:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:8b00::,2a09:8b07:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:8c00::,2a09:8c07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:8d00::,2a09:8d07:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a09:8e00::,2a09:8e07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:8f00::,2a09:8f07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:9000::,2a09:9007:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a09:9100::,2a09:9107:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:9200::,2a09:9207:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:9300::,2a09:9307:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:9400::,2a09:9407:ffff:ffff:ffff:ffff:ffff:ffff,HU
+2a09:9500::,2a09:9507:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:9600::,2a09:9607:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:9700::,2a09:9707:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:9800::,2a09:9807:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:9900::,2a09:9900:ffff:ffff:ffff:ffff:ffff:ffff,PS
+2a09:9a00::,2a09:9a07:ffff:ffff:ffff:ffff:ffff:ffff,FI
+2a09:9b00::,2a09:9b07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:9c00::,2a09:9c07:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a09:9d00::,2a09:9d07:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:9e00::,2a09:9e00:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a09:9f00::,2a09:9f07:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a09:a000::,2a09:a007:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:a100::,2a09:a107:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:a200::,2a09:a207:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:a300::,2a09:a300:ffff:ffff:ffff:ffff:ffff:ffff,NO
+2a09:a400::,2a09:a407:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a09:a500::,2a09:a507:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:a600::,2a09:a607:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:a700::,2a09:a707:ffff:ffff:ffff:ffff:ffff:ffff,VG
+2a09:a800::,2a09:a807:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:a900::,2a09:a907:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a09:aa00::,2a09:aa07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:ab00::,2a09:ab07:ffff:ffff:ffff:ffff:ffff:ffff,RS
+2a09:ac00::,2a09:ac07:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a09:ad00::,2a09:ad07:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a09:ae00::,2a09:ae07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:af00::,2a09:af07:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:b000::,2a09:b007:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:b100::,2a09:b107:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:b200::,2a09:b207:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:b300::,2a09:b307:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:b400::,2a09:b407:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:b500::,2a09:b507:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a09:b600::,2a09:b607:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:b700::,2a09:b707:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:b800::,2a09:b807:ffff:ffff:ffff:ffff:ffff:ffff,AT
+2a09:b900::,2a09:b907:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:ba00::,2a09:ba07:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:bb00::,2a09:bb07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:bc00::,2a09:bc07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:bd00::,2a09:bd00:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:be00::,2a09:be00:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a09:bf00::,2a09:bf07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:c000::,2a09:c007:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:c100::,2a09:c100:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a09:c200::,2a09:c207:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a09:c300::,2a09:c307:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:c400::,2a09:c407:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a09:c500::,2a09:c507:ffff:ffff:ffff:ffff:ffff:ffff,EE
+2a09:c600::,2a09:c607:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:c700::,2a09:c707:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:c800::,2a09:c807:ffff:ffff:ffff:ffff:ffff:ffff,MD
+2a09:c900::,2a09:c900:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a09:ca00::,2a09:ca07:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a09:cb00::,2a09:cb07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:cc00::,2a09:cc07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:cd00::,2a09:cd07:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:ce00::,2a09:ce07:ffff:ffff:ffff:ffff:ffff:ffff,LT
+2a09:cf00::,2a09:cf07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:d000::,2a09:d007:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:d100::,2a09:d107:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:d200::,2a09:d207:ffff:ffff:ffff:ffff:ffff:ffff,FI
+2a09:d300::,2a09:d307:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:d400::,2a09:d407:ffff:ffff:ffff:ffff:ffff:ffff,NO
+2a09:d500::,2a09:d507:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:d600::,2a09:d607:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:d700::,2a09:d707:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:d800::,2a09:d807:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:d900::,2a09:d907:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:da00::,2a09:da07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:db00::,2a09:db07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:dc00::,2a09:dc07:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a09:dd00::,2a09:dd07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:de00::,2a09:de07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:df00::,2a09:df07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:e000::,2a09:e007:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:e100::,2a09:e107:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a09:e200::,2a09:e207:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a09:e300::,2a09:e307:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:e400::,2a09:e407:ffff:ffff:ffff:ffff:ffff:ffff,MD
+2a09:e500::,2a09:e507:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a09:e600::,2a09:e607:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:e700::,2a09:e707:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:e800::,2a09:e807:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a09:e900::,2a09:e907:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:ea00::,2a09:ea00:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:eb00::,2a09:eb07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:ec00::,2a09:ec07:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a09:ed00::,2a09:ed07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:ee00::,2a09:ee07:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a09:ef00::,2a09:ef07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:f000::,2a09:f007:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:f100::,2a09:f107:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:f200::,2a09:f207:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a09:f300::,2a09:f307:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:f400::,2a09:f407:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a09:f500::,2a09:f507:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:f600::,2a09:f607:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:f700::,2a09:f707:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a09:f800::,2a09:f807:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:f900::,2a09:f907:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:fa00::,2a09:fa07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a09:fb00::,2a09:fb07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:fc00::,2a09:fc07:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a09:fd00::,2a09:fd07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a09:fe00::,2a09:fe07:ffff:ffff:ffff:ffff:ffff:ffff,DK
+2a09:ff00::,2a09:ff07:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0a::,2a0a:7:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0a:40::,2a0a:40:ff:ffff:ffff:ffff:ffff:ffff,TR
2a0a:40:100::,2a0a:47:ffff:ffff:ffff:ffff:ffff:ffff,FR
@@ -39741,7 +41561,8 @@
2a0a:c0::,2a0a:c7:ffff:ffff:ffff:ffff:ffff:ffff,LB
2a0a:100::,2a0a:107:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0a:140::,2a0a:147:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0a:180::,2a0a:187:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0a:180::,2a0a:180::ff,ES
+2a0a:180::100,2a0a:187:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0a:1c0::,2a0a:1c7:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0a:240::,2a0a:247:ffff:ffff:ffff:ffff:ffff:ffff,LB
2a0a:280::,2a0a:287:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -39916,13 +41737,16 @@
2a0a:2842:5100::,2a0a:2842:aeff:ffff:ffff:ffff:ffff:ffff,AQ
2a0a:2842:af00::,2a0a:2842:af0f:ffff:ffff:ffff:ffff:ffff,HK
2a0a:2842:af10::,2a0a:2843:ffff:ffff:ffff:ffff:ffff:ffff,AQ
-2a0a:2844::,2a0a:2845:1ff:ffff:ffff:ffff:ffff:ffff,LU
+2a0a:2844::,2a0a:2844::ffff:ffff:ffff:ffff:ffff,JP
+2a0a:2844:1::,2a0a:2844:ffff:ffff:ffff:ffff:ffff:ffff,CN
+2a0a:2845::,2a0a:2845:1ff:ffff:ffff:ffff:ffff:ffff,AQ
2a0a:2845:200::,2a0a:2845:3ff:ffff:ffff:ffff:ffff:ffff,GB
-2a0a:2845:400::,2a0a:2845:a9ff:ffff:ffff:ffff:ffff:ffff,LU
+2a0a:2845:400::,2a0a:2845:a9ff:ffff:ffff:ffff:ffff:ffff,AQ
2a0a:2845:aa00::,2a0a:2845:aaff:ffff:ffff:ffff:ffff:ffff,DE
-2a0a:2845:ab00::,2a0a:2845:ffff:ffff:ffff:ffff:ffff:ffff,LU
+2a0a:2845:ab00::,2a0a:2845:ffff:ffff:ffff:ffff:ffff:ffff,AQ
2a0a:2846::,2a0a:2846:fff:ffff:ffff:ffff:ffff:ffff,AU
-2a0a:2846:1000::,2a0a:2847:ffff:ffff:ffff:ffff:ffff:ffff,LU
+2a0a:2846:1000::,2a0a:2846:ffff:ffff:ffff:ffff:ffff:ffff,AQ
+2a0a:2847::,2a0a:2847:ffff:ffff:ffff:ffff:ffff:ffff,LU
2a0a:2880::,2a0a:2887:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0a:28c0::,2a0a:28c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0a:2900::,2a0a:2907:ffff:ffff:ffff:ffff:ffff:ffff,GE
@@ -39947,7 +41771,6 @@
2a0a:2dc0::,2a0a:2dc7:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0a:2e00::,2a0a:2e07:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a0a:2e40::,2a0a:2e47:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0a:2e80::,2a0a:2e87:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0a:2ec0::,2a0a:2ec7:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a0a:2f00::,2a0a:2f07:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0a:2f40::,2a0a:2f40:ffff:ffff:ffff:ffff:ffff:ffff,AT
@@ -39966,7 +41789,7 @@
2a0a:3240::,2a0a:3240:ffff:ffff:ffff:ffff:ffff:ffff,IQ
2a0a:3280::,2a0a:3287:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0a:32c0::,2a0a:32c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a0a:3300::,2a0a:3307:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a0a:3300::,2a0a:3307:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0a:3340::,2a0a:3347:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0a:3380::,2a0a:3387:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0a:33c0::,2a0a:33c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -40135,7 +41958,8 @@
2a0a:5b40::,2a0a:5b47:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0a:5b80::,2a0a:5b87:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0a:5bc0::,2a0a:5bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0a:5c00::,2a0a:5c07:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0a:5c00::,2a0a:5c00::ff,ES
+2a0a:5c00::100,2a0a:5c07:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0a:5c40::,2a0a:5c47:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a0a:5c80::,2a0a:5c87:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0a:5cc0::,2a0a:5cc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -40155,14 +41979,14 @@
2a0a:6040::,2a0a:6047:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0a:6080::,2a0a:6087:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0a:60c0::,2a0a:60c0:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a0a:6100::,2a0a:6107:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a0a:6100::,2a0a:6107:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0a:6140::,2a0a:6147:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0a:6180::,2a0a:6187:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0a:61c0::,2a0a:61c7:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0a:6200::,2a0a:6200:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0a:6280::,2a0a:6287:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0a:62c0::,2a0a:62c0:ffff:ffff:ffff:ffff:ffff:ffff,FI
-2a0a:6300::,2a0a:6307:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a0a:6300::,2a0a:6307:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0a:6340::,2a0a:6347:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0a:6380::,2a0a:6387:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0a:63c0::,2a0a:63c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -40221,7 +42045,7 @@
2a0a:7140::,2a0a:7147:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0a:7180::,2a0a:7187:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0a:71c0::,2a0a:71c0:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a0a:7200::,2a0a:7207:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0a:7200::,2a0a:7207:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0a:7240::,2a0a:7240:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0a:7280::,2a0a:7287:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0a:72c0::,2a0a:72c0:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -40372,7 +42196,7 @@
2a0a:9240::,2a0a:9247:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0a:9280::,2a0a:9287:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0a:92c0::,2a0a:92c7:ffff:ffff:ffff:ffff:ffff:ffff,CY
-2a0a:9300::,2a0a:9307:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0a:9300::,2a0a:9307:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0a:9340::,2a0a:9340:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0a:9380::,2a0a:9387:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0a:93c0::,2a0a:93c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -40469,8 +42293,7 @@
2a0a:aa40::,2a0a:aa47:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0a:aa80::,2a0a:aa80:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0a:aa81::,2a0a:aa87:ffff:ffff:ffff:ffff:ffff:ffff,IM
-2a0a:aac0::,2a0a:aac0:ffff:ffff:ffff:ffff:ffff:ffff,PL
-2a0a:ab00::,2a0a:ab07:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0a:aac0::,2a0a:aac7:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0a:ab40::,2a0a:ab47:ffff:ffff:ffff:ffff:ffff:ffff,AE
2a0a:ab80::,2a0a:ab80:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0a:abc0::,2a0a:abc7:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -40489,7 +42312,9 @@
2a0a:af00::,2a0a:af07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0a:af40::,2a0a:af47:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0a:af80::,2a0a:af87:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0a:afc0::,2a0a:afc7:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0a:afc0::,2a0a:afc6:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0a:afc7::,2a0a:afc7::ffff:ffff:ffff:ffff:ffff,VG
+2a0a:afc7:1::,2a0a:afc7:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0a:b000::,2a0a:b000:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0a:b040::,2a0a:b047:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0a:b080::,2a0a:b087:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -40504,8 +42329,7 @@
2a0a:b2c0::,2a0a:b2c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0a:b300::,2a0a:b307:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0a:b340::,2a0a:b347:ffff:ffff:ffff:ffff:ffff:ffff,PL
-2a0a:b380::,2a0a:b380:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0a:b381::,2a0a:b381:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0a:b380::,2a0a:b381:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0a:b382::,2a0a:b384:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0a:b385::,2a0a:b387:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0a:b400::,2a0a:b407:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -40522,7 +42346,6 @@
2a0a:b640:2::,2a0a:b647:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0a:b680::,2a0a:b687:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0a:b6c0::,2a0a:b6c0:ffff:ffff:ffff:ffff:ffff:ffff,CZ
-2a0a:b700::,2a0a:b705:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0a:b706::,2a0a:b707::ffff:ffff:ffff:ffff:ffff,GB
2a0a:b707:1::,2a0a:b707:bd:ffff:ffff:ffff:ffff:ffff,NL
2a0a:b707:be::,2a0a:b707:be:ffff:ffff:ffff:ffff:ffff,BE
@@ -40573,7 +42396,6 @@
2a0a:c100::,2a0a:c107:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0a:c140::,2a0a:c140:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0a:c180::,2a0a:c187:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a0a:c1c0::,2a0a:c1c7:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0a:c200::,2a0a:c207:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0a:c240::,2a0a:c240:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0a:c2c0::,2a0a:c2c7:ffff:ffff:ffff:ffff:ffff:ffff,PL
@@ -40653,7 +42475,6 @@
2a0a:d500::,2a0a:d507:ffff:ffff:ffff:ffff:ffff:ffff,FO
2a0a:d540::,2a0a:d547:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0a:d580::,2a0a:d587:ffff:ffff:ffff:ffff:ffff:ffff,MD
-2a0a:d5c0::,2a0a:d5c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0a:d600::,2a0a:d607:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0a:d640::,2a0a:d647:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0a:d680::,2a0a:d687:ffff:ffff:ffff:ffff:ffff:ffff,BG
@@ -40711,7 +42532,7 @@
2a0a:e340::,2a0a:e347:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0a:e380::,2a0a:e387:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0a:e3c0::,2a0a:e3c7:ffff:ffff:ffff:ffff:ffff:ffff,IE
-2a0a:e400::,2a0a:e407:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a0a:e400::,2a0a:e407:ffff:ffff:ffff:ffff:ffff:ffff,PT
2a0a:e440::,2a0a:e447:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0a:e480::,2a0a:e487:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0a:e4c0::,2a0a:e4c7:ffff:ffff:ffff:ffff:ffff:ffff,CZ
@@ -40798,9 +42619,9 @@
2a0a:f900::,2a0a:f907:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a0a:f940::,2a0a:f940:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0a:f980::,2a0a:f987:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a0a:f9c0::,2a0a:f9c0:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0a:f9c5::,2a0a:f9c6:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0a:f9c7::,2a0a:f9c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0a:f9c0::,2a0a:f9c4:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0a:f9c5::,2a0a:f9c5:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0a:f9c6::,2a0a:f9c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0a:fa00::,2a0a:fa07:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0a:fa40::,2a0a:fa47:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0a:fa80::,2a0a:fa87:ffff:ffff:ffff:ffff:ffff:ffff,PL
@@ -40881,17 +42702,18 @@
2a0b:b87:ffd4::,2a0b:b87:ffd5:ffff:ffff:ffff:ffff:ffff,GB
2a0b:b87:ffd6::,2a0b:b87:ffd6:ffff:ffff:ffff:ffff:ffff,PL
2a0b:b87:ffd7::,2a0b:b87:ffd7:ffff:ffff:ffff:ffff:ffff,FI
-2a0b:b87:ffd8::,2a0b:b87:ffd9:ffff:ffff:ffff:ffff:ffff,DE
-2a0b:b87:ffda::,2a0b:b87:ffdf:ffff:ffff:ffff:ffff:ffff,GB
+2a0b:b87:ffd8::,2a0b:b87:ffdf:ffff:ffff:ffff:ffff:ffff,GB
2a0b:b87:ffe0::,2a0b:b87:ffe0:ffff:ffff:ffff:ffff:ffff,RO
2a0b:b87:ffe1::,2a0b:b87:ffe1:ffff:ffff:ffff:ffff:ffff,IE
2a0b:b87:ffe2::,2a0b:b87:ffe2:ffff:ffff:ffff:ffff:ffff,PL
2a0b:b87:ffe3::,2a0b:b87:ffe3:ffff:ffff:ffff:ffff:ffff,DE
2a0b:b87:ffe4::,2a0b:b87:ffe4:ffff:ffff:ffff:ffff:ffff,NL
-2a0b:b87:ffe8::,2a0b:b87:ffe8:ffff:ffff:ffff:ffff:ffff,GB
+2a0b:b87:ffe5::,2a0b:b87:ffe8:ffff:ffff:ffff:ffff:ffff,GB
2a0b:b87:ffe9::,2a0b:b87:ffe9:ffff:ffff:ffff:ffff:ffff,PL
2a0b:b87:ffea::,2a0b:b87:ffea:ffff:ffff:ffff:ffff:ffff,IE
-2a0b:b87:ffeb::,2a0b:b87:ffeb:ffff:ffff:ffff:ffff:ffff,GB
+2a0b:b87:ffeb::,2a0b:b87:ffed:ffff:ffff:ffff:ffff:ffff,GB
+2a0b:b87:ffee::,2a0b:b87:ffee:ffff:ffff:ffff:ffff:ffff,RO
+2a0b:b87:ffef::,2a0b:b87:ffef:ffff:ffff:ffff:ffff:ffff,DE
2a0b:b87:fff0::,2a0b:b87:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0b:bc0::,2a0b:bc7:ffff:ffff:ffff:ffff:ffff:ffff,IE
2a0b:c00::,2a0b:c00:ffff:ffff:ffff:ffff:ffff:ffff,LT
@@ -40950,10 +42772,14 @@
2a0b:1840::,2a0b:1847:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0b:1880::,2a0b:1887:ffff:ffff:ffff:ffff:ffff:ffff,IQ
2a0b:18c0::,2a0b:18c0:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0b:1900::,2a0b:1900:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0b:1901::,2a0b:1901:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0b:1902::,2a0b:1904:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0b:1905::,2a0b:1907:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0b:1900::,2a0b:1900:f:ffff:ffff:ffff:ffff:ffff,US
+2a0b:1900:10::,2a0b:1901:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0b:1902::,2a0b:1902:1f:ffff:ffff:ffff:ffff:ffff,US
+2a0b:1902:20::,2a0b:1902:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0b:1903::,2a0b:1903:1f:ffff:ffff:ffff:ffff:ffff,US
+2a0b:1903:20::,2a0b:1903:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0b:1904::,2a0b:1904::ffff:ffff:ffff:ffff:ffff,US
+2a0b:1904:1::,2a0b:1907:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0b:1940::,2a0b:1940:ffff:ffff:ffff:ffff:ffff:ffff,SA
2a0b:1980::,2a0b:1987:ffff:ffff:ffff:ffff:ffff:ffff,GR
2a0b:19c0::,2a0b:19c7:ffff:ffff:ffff:ffff:ffff:ffff,IL
@@ -41009,7 +42835,6 @@
2a0b:2580::,2a0b:2587:ffff:ffff:ffff:ffff:ffff:ffff,IL
2a0b:25c0::,2a0b:25c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0b:2600::,2a0b:2607:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0b:2640::,2a0b:2647:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0b:2680::,2a0b:2687:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0b:26c0::,2a0b:26c7:ffff:ffff:ffff:ffff:ffff:ffff,SK
2a0b:2700::,2a0b:2707:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -41039,8 +42864,8 @@
2a0b:2cc0::,2a0b:2cc7:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a0b:2d00::,2a0b:2d07:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0b:2d80::,2a0b:2d84:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0b:2d85::,2a0b:2d86:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0b:2d87::,2a0b:2d87:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0b:2d85::,2a0b:2d85:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0b:2d86::,2a0b:2d87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0b:2dc0::,2a0b:2dc7:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0b:2e00::,2a0b:2e07:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0b:2e40::,2a0b:2e47:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -41144,7 +42969,9 @@
2a0b:4300::,2a0b:4307:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0b:4340::,2a0b:4340:5f:ffff:ffff:ffff:ffff:ffff,DE
2a0b:4340:60::,2a0b:4340:6f:ffff:ffff:ffff:ffff:ffff,JP
-2a0b:4340:70::,2a0b:4340:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0b:4340:70::,2a0b:4340:3ff:ffff:ffff:ffff:ffff:ffff,DE
+2a0b:4340:400::,2a0b:4340:7ff:ffff:ffff:ffff:ffff:ffff,CN
+2a0b:4340:800::,2a0b:4340:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0b:4342:1000::,2a0b:4342:4fff:ffff:ffff:ffff:ffff:ffff,DE
2a0b:4342:5000::,2a0b:4342:5fff:ffff:ffff:ffff:ffff:ffff,KR
2a0b:4342:6000::,2a0b:4342:fffe:ffff:ffff:ffff:ffff:ffff,DE
@@ -41326,10 +43153,14 @@
2a0b:6b86:400::,2a0b:6b86:400:ffff:ffff:ffff:ffff:ffff,GB
2a0b:6b86:401::,2a0b:6b86:401:ffff:ffff:ffff:ffff:ffff,DE
2a0b:6b86:402::,2a0b:6b86:402:ffff:ffff:ffff:ffff:ffff,US
-2a0b:6b86:403::,2a0b:6b86:6ff:ffff:ffff:ffff:ffff:ffff,GB
-2a0b:6b86:700::,2a0b:6b86:8ff:ffff:ffff:ffff:ffff:ffff,NL
+2a0b:6b86:403::,2a0b:6b86:403:ffff:ffff:ffff:ffff:ffff,GB
+2a0b:6b86:404::,2a0b:6b86:404:ffff:ffff:ffff:ffff:ffff,NL
+2a0b:6b86:405::,2a0b:6b86:6ff:ffff:ffff:ffff:ffff:ffff,GB
+2a0b:6b86:700::,2a0b:6b86:7ff:ffff:ffff:ffff:ffff:ffff,NL
+2a0b:6b86:800::,2a0b:6b86:8ff:ffff:ffff:ffff:ffff:ffff,US
2a0b:6b86:900::,2a0b:6b86:aff:ffff:ffff:ffff:ffff:ffff,GB
-2a0b:6b86:b00::,2a0b:6b87:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0b:6b86:b00::,2a0b:6b86:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0b:6b87::,2a0b:6b87:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0b:6bc0::,2a0b:6bc7:ffff:ffff:ffff:ffff:ffff:ffff,TJ
2a0b:6c00::,2a0b:6c07:ffff:ffff:ffff:ffff:ffff:ffff,EE
2a0b:6c40::,2a0b:6c47:ffff:ffff:ffff:ffff:ffff:ffff,AT
@@ -41438,7 +43269,7 @@
2a0b:8540::,2a0b:8547:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0b:8580::,2a0b:8587:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0b:85c0::,2a0b:85c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a0b:8600::,2a0b:8607:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a0b:8600::,2a0b:8607:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0b:8640::,2a0b:8647:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0b:8680::,2a0b:8687:ffff:ffff:ffff:ffff:ffff:ffff,BY
2a0b:86c0::,2a0b:86c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -41478,7 +43309,6 @@
2a0b:8f40::,2a0b:8f47:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0b:8f80::,2a0b:8f87:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0b:8fc0::,2a0b:8fc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0b:9000::,2a0b:9007:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0b:9040::,2a0b:9047:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0b:9080::,2a0b:9087:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0b:90c0::,2a0b:90c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -41490,7 +43320,7 @@
2a0b:9240::,2a0b:9247:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0b:9280::,2a0b:9287:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0b:92c0::,2a0b:92c7:ffff:ffff:ffff:ffff:ffff:ffff,IR
-2a0b:9300::,2a0b:9307:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0b:9300::,2a0b:9307:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0b:9340::,2a0b:9347:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0b:9380::,2a0b:9380:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0b:93c0::,2a0b:93c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -41510,7 +43340,7 @@
2a0b:9740::,2a0b:9747:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0b:9780::,2a0b:9787:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0b:97c0::,2a0b:97c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0b:9800::,2a0b:9807:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0b:9800::,2a0b:9807:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0b:9840::,2a0b:9847:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0b:9880::,2a0b:9887:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a0b:98c0::,2a0b:98c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -41553,7 +43383,6 @@
2a0b:a140::,2a0b:a147:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0b:a180::,2a0b:a187:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0b:a1c0::,2a0b:a1c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0b:a200::,2a0b:a207:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0b:a240::,2a0b:a247:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0b:a280::,2a0b:a280:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0b:a2c0::,2a0b:a2c7:ffff:ffff:ffff:ffff:ffff:ffff,AT
@@ -41667,8 +43496,8 @@
2a0b:bc40::,2a0b:bc47:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a0b:bc80::,2a0b:bc87:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0b:bcc0::,2a0b:bcc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0b:bd00::,2a0b:bd00:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a0b:bd01::,2a0b:bd07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0b:bd00::,2a0b:bd01:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0b:bd02::,2a0b:bd07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0b:bd40::,2a0b:bd47:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0b:bd80::,2a0b:bd87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0b:bdc0::,2a0b:bdc7:ffff:ffff:ffff:ffff:ffff:ffff,CZ
@@ -41728,6 +43557,7 @@
2a0b:cb80::,2a0b:cb80:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a0b:cbc0::,2a0b:cbc7:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0b:cc00::,2a0b:cc00:ffff:ffff:ffff:ffff:ffff:ffff,BG
+2a0b:cc40::,2a0b:cc47:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a0b:cc80::,2a0b:cc87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0b:ccc0::,2a0b:ccc7:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a0b:cd00::,2a0b:cd07:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -41738,7 +43568,6 @@
2a0b:ce40::,2a0b:ce40:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0b:ce80::,2a0b:ce87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0b:cec0::,2a0b:cec7:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2a0b:cf00::,2a0b:cf07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0b:cf40::,2a0b:cf47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0b:cf80::,2a0b:cf87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0b:cfc0::,2a0b:cfc7:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -41752,7 +43581,8 @@
2a0b:d1c0::,2a0b:d1c0:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0b:d200::,2a0b:d207:ffff:ffff:ffff:ffff:ffff:ffff,IL
2a0b:d240::,2a0b:d240:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a0b:d280::,2a0b:d287:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a0b:d280::,2a0b:d283:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0b:d284::,2a0b:d287:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0b:d2c0::,2a0b:d2c7:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a0b:d300::,2a0b:d307:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0b:d340::,2a0b:d347:ffff:ffff:ffff:ffff:ffff:ffff,CH
@@ -41989,9 +43819,8 @@
2a0c:880::,2a0c:887:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:8c0::,2a0c:8c0:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:900::,2a0c:907:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a0c:940::,2a0c:947:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:980::,2a0c:987:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0c:9c0::,2a0c:9c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:9c0::,2a0c:9c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:a00::,2a0c:a07:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0c:a40::,2a0c:a47:ffff:ffff:ffff:ffff:ffff:ffff,SA
2a0c:a80::,2a0c:a87:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -42025,14 +43854,13 @@
2a0c:11c0::,2a0c:11c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:1200::,2a0c:1207:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0c:1240::,2a0c:1247:ffff:ffff:ffff:ffff:ffff:ffff,UA
-2a0c:1280::,2a0c:1287:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:12c0::,2a0c:12c7:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:1300::,2a0c:1307:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0c:1340::,2a0c:1347:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:1380::,2a0c:1387:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:13c0::,2a0c:13c7:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0c:1400::,2a0c:1407:ffff:ffff:ffff:ffff:ffff:ffff,NO
-2a0c:1440::,2a0c:1447:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:1440::,2a0c:1447:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:1480::,2a0c:1487:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:14c0::,2a0c:14c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:1500::,2a0c:1507:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -42042,7 +43870,7 @@
2a0c:1600::,2a0c:1600:ffff:ffff:ffff:ffff:ffff:ffff,BA
2a0c:1640::,2a0c:1647:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0c:1680::,2a0c:1687:ffff:ffff:ffff:ffff:ffff:ffff,PL
-2a0c:16c0::,2a0c:16c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:16c0::,2a0c:16c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:1700::,2a0c:1707:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:1740::,2a0c:1747:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a0c:1780::,2a0c:1787:ffff:ffff:ffff:ffff:ffff:ffff,PL
@@ -42060,17 +43888,17 @@
2a0c:1a80::,2a0c:1a87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:1ac0::,2a0c:1ac7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:1b00::,2a0c:1b07:ffff:ffff:ffff:ffff:ffff:ffff,NO
-2a0c:1b40::,2a0c:1b47:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:1b40::,2a0c:1b47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:1b80::,2a0c:1b87:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0c:1bc0::,2a0c:1bc7:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0c:1c00::,2a0c:1c07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:1bc0::,2a0c:1bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:1c00::,2a0c:1c07:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:1c40::,2a0c:1c47:ffff:ffff:ffff:ffff:ffff:ffff,LB
2a0c:1c80::,2a0c:1c87:ffff:ffff:ffff:ffff:ffff:ffff,PT
2a0c:1cc0::,2a0c:1cc7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:1d00::,2a0c:1d03:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:1d40::,2a0c:1d47:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:1d80::,2a0c:1d87:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0c:1dc0::,2a0c:1dc7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:1dc0::,2a0c:1dc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:1e00::,2a0c:1e07:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:1e40::,2a0c:1e47:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:1e80::,2a0c:1e87:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -42087,7 +43915,7 @@
2a0c:2140::,2a0c:2147:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0c:2180::,2a0c:2187:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:21c0::,2a0c:21c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a0c:2200::,2a0c:2207:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:2200::,2a0c:2207:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:2240::,2a0c:2247:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0c:2280::,2a0c:2287:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a0c:22c0::,2a0c:22c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -42097,7 +43925,7 @@
2a0c:23c0::,2a0c:23c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:2400::,2a0c:2407:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0c:2440::,2a0c:2447:ffff:ffff:ffff:ffff:ffff:ffff,CZ
-2a0c:2480::,2a0c:2487:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:2480::,2a0c:2487:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:24c0::,2a0c:24c7:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:2500::,2a0c:2507:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:2540::,2a0c:2547:ffff:ffff:ffff:ffff:ffff:ffff,SK
@@ -42111,23 +43939,20 @@
2a0c:2740::,2a0c:2747:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:27c0::,2a0c:27c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:2800::,2a0c:2800:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a0c:2840::,2a0c:2847:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:2880::,2a0c:2887:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:28c0::,2a0c:28c0:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0c:2900::,2a0c:2907:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a0c:2940::,2a0c:2947:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:2980::,2a0c:2980:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0c:29c0::,2a0c:29c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:29c0::,2a0c:29c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:2a00::,2a0c:2a07:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a0c:2a40::,2a0c:2a47:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:2a40::,2a0c:2a47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:2a80::,2a0c:2a87:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0c:2ac0::,2a0c:2ac7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:2ac0::,2a0c:2ac7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:2b00::,2a0c:2b07:ffff:ffff:ffff:ffff:ffff:ffff,DK
-2a0c:2b40::,2a0c:2b47:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0c:2b80::,2a0c:2b87:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0c:2bc0::,2a0c:2bc7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:2b40::,2a0c:2b47:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:2bc0::,2a0c:2bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:2c00::,2a0c:2c07:ffff:ffff:ffff:ffff:ffff:ffff,UA
-2a0c:2c40::,2a0c:2c47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:2c80::,2a0c:2c87:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:2cc0::,2a0c:2cc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:2d00::,2a0c:2d07:ffff:ffff:ffff:ffff:ffff:ffff,AT
@@ -42137,13 +43962,15 @@
2a0c:2e00::,2a0c:2e07:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:2e40::,2a0c:2e43:ffff:ffff:ffff:ffff:ffff:ffff,LI
2a0c:2e80::,2a0c:2e87:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a0c:2ec0::,2a0c:2ec7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:2ec0::,2a0c:2ec7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:2f00::,2a0c:2f07:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:2f40::,2a0c:2f42:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:2f43::,2a0c:2f43:ffff:ffff:ffff:ffff:ffff:ffff,SI
-2a0c:2f44::,2a0c:2f47:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:2f44::,2a0c:2f44:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:2f45::,2a0c:2f46:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:2f47::,2a0c:2f47:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:2f80::,2a0c:2f87:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a0c:2fc0::,2a0c:2fc7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:2fc0::,2a0c:2fc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:3000::,2a0c:3000:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:3040::,2a0c:3047:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:3080::,2a0c:3080:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -42159,7 +43986,7 @@
2a0c:3300::,2a0c:3300::ffff:ffff:ffff:ffff,LB
2a0c:3300:0:1::,2a0c:3300:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:3301::,2a0c:3307:ffff:ffff:ffff:ffff:ffff:ffff,LB
-2a0c:3340::,2a0c:3347:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:3340::,2a0c:3347:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:3380::,2a0c:3387:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:33c0::,2a0c:33c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:3400::,2a0c:3407:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -42176,19 +44003,18 @@
2a0c:36c0::,2a0c:36c0::ffff:ffff:ffff:ffff:ffff,US
2a0c:36c0:1::,2a0c:36c0:7:ffff:ffff:ffff:ffff:ffff,EE
2a0c:36c0:8::,2a0c:36c0:8:ffff:ffff:ffff:ffff:ffff,LT
-2a0c:36c0:9::,2a0c:36c0:ffff:ffff:ffff:ffff:ffff:ffff,EE
-2a0c:36c1::,2a0c:36c3:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:36c0:9::,2a0c:36c1:ffff:ffff:ffff:ffff:ffff:ffff,EE
+2a0c:36c2::,2a0c:36c3:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:36c4::,2a0c:36c5:ffff:ffff:ffff:ffff:ffff:ffff,EE
2a0c:36c6::,2a0c:36c6:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0c:36c7::,2a0c:36c7:ffff:ffff:ffff:ffff:ffff:ffff,EE
+2a0c:36c7::,2a0c:36c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:3700::,2a0c:3700:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:3740::,2a0c:3747:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:3780::,2a0c:3787:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0c:37c0::,2a0c:37c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:3800::,2a0c:3800:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0c:3840::,2a0c:3847:ffff:ffff:ffff:ffff:ffff:ffff,LB
2a0c:3880::,2a0c:3887:ffff:ffff:ffff:ffff:ffff:ffff,IR
-2a0c:38c0::,2a0c:38c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:38c0::,2a0c:38c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:3900::,2a0c:3907:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:3940::,2a0c:3947:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:3980::,2a0c:3987:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -42199,6 +44025,7 @@
2a0c:3ac0::,2a0c:3ac7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:3b00::,2a0c:3b07:ffff:ffff:ffff:ffff:ffff:ffff,MD
2a0c:3b40::,2a0c:3b47:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0c:3b80:4348::,2a0c:3b80:4348:ffff:ffff:ffff:ffff:ffff,CH
2a0c:3b80:4c49::,2a0c:3b80:4c49:ffff:ffff:ffff:ffff:ffff,LI
2a0c:3b86::,2a0c:3b86::ffff:ffff:ffff:ffff:ffff,CH
2a0c:3b87::,2a0c:3b87::ffff:ffff:ffff:ffff:ffff,FI
@@ -42272,7 +44099,6 @@
2a0c:4cc0::,2a0c:4cc0:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:4d00::,2a0c:4d07:ffff:ffff:ffff:ffff:ffff:ffff,SC
2a0c:4d40::,2a0c:4d47:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0c:4d80::,2a0c:4d87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:4dc0::,2a0c:4dc7:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:4e00::,2a0c:4e00:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:4e40::,2a0c:4e47:ffff:ffff:ffff:ffff:ffff:ffff,AT
@@ -42302,7 +44128,8 @@
2a0c:5380::,2a0c:5387:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a0c:53c0::,2a0c:53c7:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a0c:5400::,2a0c:5407:ffff:ffff:ffff:ffff:ffff:ffff,CH
-2a0c:5440::,2a0c:5447:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0c:5440::,2a0c:5443:ffff:ffff:ffff:ffff:ffff:ffff,JP
+2a0c:5444::,2a0c:5447:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:5480::,2a0c:5487:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:54c0::,2a0c:54c0:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:5500::,2a0c:5500:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -42371,8 +44198,7 @@
2a0c:6500::,2a0c:6507:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:6540::,2a0c:6540:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a0c:6580::,2a0c:6587:ffff:ffff:ffff:ffff:ffff:ffff,UA
-2a0c:65c0::,2a0c:65c7:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0c:6600::,2a0c:6607:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:65c0::,2a0c:65c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:6640::,2a0c:6647:ffff:ffff:ffff:ffff:ffff:ffff,OM
2a0c:6680::,2a0c:6687:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:66c0::,2a0c:66c0:ffff:ffff:ffff:ffff:ffff:ffff,CZ
@@ -42391,17 +44217,16 @@
2a0c:6a00::,2a0c:6a07:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:6a40::,2a0c:6a47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:6a80::,2a0c:6a87:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a0c:6ac0::,2a0c:6ac7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:6ac0::,2a0c:6ac7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:6b00::,2a0c:6b07:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:6b40::,2a0c:6b47:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:6b80::,2a0c:6b87:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a0c:6bc0::,2a0c:6bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:6c00::,2a0c:6c00:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a0c:6c40::,2a0c:6c47:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:6c40::,2a0c:6c47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:6c80::,2a0c:6c87:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:6cc0::,2a0c:6cc7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:6d00::,2a0c:6d00:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0c:6d40::,2a0c:6d47:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:6d40::,2a0c:6d47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:6d80::,2a0c:6d87:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:6dc0::,2a0c:6dc7:ffff:ffff:ffff:ffff:ffff:ffff,AM
2a0c:6e00::,2a0c:6e07:ffff:ffff:ffff:ffff:ffff:ffff,TR
@@ -42428,11 +44253,11 @@
2a0c:7380::,2a0c:7387:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a0c:73c0::,2a0c:73c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:7400::,2a0c:7407:ffff:ffff:ffff:ffff:ffff:ffff,BE
-2a0c:7440::,2a0c:7447:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:7440::,2a0c:7447:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:7480::,2a0c:7487:ffff:ffff:ffff:ffff:ffff:ffff,RO
-2a0c:74c0::,2a0c:74c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:74c0::,2a0c:74c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:7500::,2a0c:7507:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0c:7540::,2a0c:7547:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:7540::,2a0c:7547:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:7580::,2a0c:7587:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:75c0::,2a0c:75c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:7600::,2a0c:7607:ffff:ffff:ffff:ffff:ffff:ffff,NO
@@ -42466,11 +44291,11 @@
2a0c:7a40::,2a0c:7a47:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a0c:7a80::,2a0c:7a87:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:7ac0::,2a0c:7ac7:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0c:7b00::,2a0c:7b07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:7b00::,2a0c:7b07:ffff:ffff:ffff:ffff:ffff:ffff,LV
2a0c:7b40::,2a0c:7b47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:7b80::,2a0c:7b87:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:7bc0::,2a0c:7bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0c:7c00::,2a0c:7c07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:7c00::,2a0c:7c07:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:7c40::,2a0c:7c47:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:7c80::,2a0c:7c87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:7cc0::,2a0c:7cc7:ffff:ffff:ffff:ffff:ffff:ffff,BG
@@ -42491,9 +44316,9 @@
2a0c:8080::,2a0c:8080:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0c:80c0::,2a0c:80c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:8100::,2a0c:8107:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a0c:8140::,2a0c:8147:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:8140::,2a0c:8147:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:8180::,2a0c:8187:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a0c:81c0::,2a0c:81c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:81c0::,2a0c:81c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:8200::,2a0c:8207:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a0c:8240::,2a0c:8247:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:8280::,2a0c:8287:ffff:ffff:ffff:ffff:ffff:ffff,CY
@@ -42510,14 +44335,14 @@
2a0c:8540::,2a0c:8547:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:8580::,2a0c:8587:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:85c0::,2a0c:85c7:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0c:8600::,2a0c:8607:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:8600::,2a0c:8607:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:8640::,2a0c:8647:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0c:8680::,2a0c:8687:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:86c0::,2a0c:86c7:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:8700::,2a0c:8707:ffff:ffff:ffff:ffff:ffff:ffff,EE
-2a0c:8740::,2a0c:8747:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:8740::,2a0c:8747:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:8780::,2a0c:8787:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a0c:87c0::,2a0c:87c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:87c0::,2a0c:87c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:8800::,2a0c:8807:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:8840::,2a0c:8847:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:8880::,2a0c:8887:ffff:ffff:ffff:ffff:ffff:ffff,BG
@@ -42534,12 +44359,12 @@
2a0c:8b80::,2a0c:8b87:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:8bc0::,2a0c:8bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:8c00::,2a0c:8c07:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a0c:8c40::,2a0c:8c47:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:8c40::,2a0c:8c47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:8c80::,2a0c:8c80:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:8cc0::,2a0c:8cc7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:8d00::,2a0c:8d07:ffff:ffff:ffff:ffff:ffff:ffff,LV
2a0c:8d40::,2a0c:8d47:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a0c:8d80::,2a0c:8d87:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:8d80::,2a0c:8d87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:8dc0::,2a0c:8dc7:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0c:8e00::,2a0c:8e07:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:8e40::,2a0c:8e47:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -42556,11 +44381,11 @@
2a0c:9100::,2a0c:9107:ffff:ffff:ffff:ffff:ffff:ffff,SA
2a0c:9140::,2a0c:9147:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:9180::,2a0c:9187:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0c:91c0::,2a0c:91c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:91c0::,2a0c:91c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:9200::,2a0c:9200:ff:ffff:ffff:ffff:ffff:ffff,BD
2a0c:9200:100::,2a0c:9207:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:9240::,2a0c:9247:ffff:ffff:ffff:ffff:ffff:ffff,TR
-2a0c:9280::,2a0c:9287:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:9280::,2a0c:9287:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:92c0::,2a0c:92c0:ffff:ffff:ffff:ffff:ffff:ffff,MD
2a0c:9300::,2a0c:9307:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:9340::,2a0c:9347:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -42603,7 +44428,6 @@
2a0c:9447:40::,2a0c:9447:bf:ffff:ffff:ffff:ffff:ffff,GB
2a0c:9447:c8::,2a0c:9447:d7:ffff:ffff:ffff:ffff:ffff,GB
2a0c:9447:e0::,2a0c:9447:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0c:9480::,2a0c:9487:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:94c0::,2a0c:94c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:9500::,2a0c:9500:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:9540::,2a0c:9540:ffff:ffff:ffff:ffff:ffff:ffff,AT
@@ -42653,7 +44477,10 @@
2a0c:a0c0::,2a0c:a0c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:a100::,2a0c:a107:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:a140::,2a0c:a147:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0c:a180::,2a0c:a186:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:a180::,2a0c:a183:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:a184::,2a0c:a184:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:a185::,2a0c:a185:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0c:a186::,2a0c:a186:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:a187::,2a0c:a187:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0c:a1c0::,2a0c:a1c7:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0c:a200::,2a0c:a207:ffff:ffff:ffff:ffff:ffff:ffff,SE
@@ -42682,19 +44509,19 @@
2a0c:a800::,2a0c:a807:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0c:a840::,2a0c:a847:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:a880::,2a0c:a887:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a0c:a8c0::,2a0c:a8c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:a8c0::,2a0c:a8c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:a900::,2a0c:a900:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2a0c:a940::,2a0c:a947:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:a940::,2a0c:a947:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:a980::,2a0c:a987:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0c:a9c0::,2a0c:a9c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:a9c0::,2a0c:a9c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:aa00::,2a0c:aa07:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a0c:aa40::,2a0c:aa47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:aa80::,2a0c:aa87:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:aac0::,2a0c:aac7:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0c:ab00::,2a0c:ab07:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:ab00::,2a0c:ab07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:ab40::,2a0c:ab47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:ab80::,2a0c:ab87:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a0c:abc0::,2a0c:abc7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:abc0::,2a0c:abc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:ac00::,2a0c:ac07:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:ac40::,2a0c:ac47:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:ac80::,2a0c:ac87:ffff:ffff:ffff:ffff:ffff:ffff,NL
@@ -42728,11 +44555,10 @@
2a0c:b400::,2a0c:b407:ffff:ffff:ffff:ffff:ffff:ffff,HU
2a0c:b440::,2a0c:b447:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:b480::,2a0c:b487:ffff:ffff:ffff:ffff:ffff:ffff,BG
-2a0c:b4c0::,2a0c:b4c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:b4c0::,2a0c:b4c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:b500::,2a0c:b507:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0c:b540::,2a0c:b547:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:b540::,2a0c:b547:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:b580::,2a0c:b587:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0c:b5c0::,2a0c:b5c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:b640::,2a0c:b640:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a0c:b641:10::,2a0c:b641:10:ffff:ffff:ffff:ffff:ffff,FR
2a0c:b641:11::,2a0c:b641:11:ffff:ffff:ffff:ffff:ffff,GB
@@ -42745,27 +44571,32 @@
2a0c:b641:18::,2a0c:b641:18:ffff:ffff:ffff:ffff:ffff,BR
2a0c:b641:19::,2a0c:b641:1f:ffff:ffff:ffff:ffff:ffff,BE
2a0c:b641:20::,2a0c:b641:20:ffff:ffff:ffff:ffff:ffff,FR
-2a0c:b641:21::,2a0c:b641:3f:ffff:ffff:ffff:ffff:ffff,BE
+2a0c:b641:21::,2a0c:b641:2f:ffff:ffff:ffff:ffff:ffff,BE
+2a0c:b641:30::,2a0c:b641:30:ffff:ffff:ffff:ffff:ffff,FR
+2a0c:b641:31::,2a0c:b641:3f:ffff:ffff:ffff:ffff:ffff,BE
2a0c:b641:40::,2a0c:b641:4f:ffff:ffff:ffff:ffff:ffff,PL
2a0c:b641:50::,2a0c:b641:5f:ffff:ffff:ffff:ffff:ffff,DE
2a0c:b641:60::,2a0c:b641:6f:ffff:ffff:ffff:ffff:ffff,PL
-2a0c:b641:70::,2a0c:b641:ff:ffff:ffff:ffff:ffff:ffff,BE
+2a0c:b641:70::,2a0c:b641:7f:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:b641:80::,2a0c:b641:8f:ffff:ffff:ffff:ffff:ffff,NO
+2a0c:b641:90::,2a0c:b641:ff:ffff:ffff:ffff:ffff:ffff,BE
2a0c:b641:100::,2a0c:b641:1ff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:b641:200::,2a0c:b641:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a0c:b642::,2a0c:b642:fff:ffff:ffff:ffff:ffff:ffff,PL
-2a0c:b642:1000::,2a0c:b642:1009:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:b642:1000::,2a0c:b642:1002:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:b642:1003::,2a0c:b642:1003:ffff:ffff:ffff:ffff:ffff,US
+2a0c:b642:1004::,2a0c:b642:1009:ffff:ffff:ffff:ffff:ffff,DE
2a0c:b642:100b::,2a0c:b642:1fff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:b642:2000::,2a0c:b647:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a0c:b680::,2a0c:b687:ffff:ffff:ffff:ffff:ffff:ffff,NO
-2a0c:b6c0::,2a0c:b6c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:b700::,2a0c:b707:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:b740::,2a0c:b747:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:b780::,2a0c:b780:ffff:ffff:ffff:ffff:ffff:ffff,SE
-2a0c:b7c0::,2a0c:b7c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:b7c0::,2a0c:b7c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:b800::,2a0c:b806:7fff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:b806:8000::,2a0c:b806:bfff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:b806:c000::,2a0c:b807:ffff:ffff:ffff:ffff:ffff:ffff,UA
-2a0c:b840::,2a0c:b847:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:b840::,2a0c:b847:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:b880::,2a0c:b887:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:b8c0::,2a0c:b8c7:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0c:b900::,2a0c:b907:ffff:ffff:ffff:ffff:ffff:ffff,IR
@@ -42808,7 +44639,7 @@
2a0c:c186::,2a0c:c187:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0c:c1c0::,2a0c:c1c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:c200::,2a0c:c200:ffff:ffff:ffff:ffff:ffff:ffff,SK
-2a0c:c240::,2a0c:c247:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:c240::,2a0c:c247:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:c280::,2a0c:c287:ffff:ffff:ffff:ffff:ffff:ffff,MT
2a0c:c2c0::,2a0c:c2c7:ffff:ffff:ffff:ffff:ffff:ffff,PT
2a0c:c300::,2a0c:c307:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -42852,9 +44683,9 @@
2a0c:cc80::,2a0c:cc87:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:ccc0::,2a0c:ccc7:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0c:cd00::,2a0c:cd00:ffff:ffff:ffff:ffff:ffff:ffff,CH
-2a0c:cd40::,2a0c:cd47:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:cd40::,2a0c:cd47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:cd80::,2a0c:cd80:ffff:ffff:ffff:ffff:ffff:ffff,FI
-2a0c:cdc0::,2a0c:cdc7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:cdc0::,2a0c:cdc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:ce00::,2a0c:ce07:ffff:ffff:ffff:ffff:ffff:ffff,IE
2a0c:ce40::,2a0c:ce40:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:ce80::,2a0c:ce87:ffff:ffff:ffff:ffff:ffff:ffff,PL
@@ -42881,7 +44712,7 @@
2a0c:d3c0::,2a0c:d3c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:d400::,2a0c:d407:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:d440::,2a0c:d447:ffff:ffff:ffff:ffff:ffff:ffff,UA
-2a0c:d480::,2a0c:d487:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:d480::,2a0c:d487:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:d4c0::,2a0c:d4c7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0c:d500::,2a0c:d507:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0c:d540::,2a0c:d540:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -42898,7 +44729,7 @@
2a0c:d800::,2a0c:d807:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0c:d840::,2a0c:d847:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:d880::,2a0c:d880:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0c:d8c0::,2a0c:d8c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:d8c0::,2a0c:d8c7:ffff:ffff:ffff:ffff:ffff:ffff,AE
2a0c:d900::,2a0c:d907:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0c:d940::,2a0c:d947:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:d980::,2a0c:d987:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -42932,7 +44763,7 @@
2a0c:df00::,2a0c:df07:ffff:ffff:ffff:ffff:ffff:ffff,IQ
2a0c:df40::,2a0c:df47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:df80::,2a0c:df87:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0c:dfc0::,2a0c:dfc7:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:dfc0::,2a0c:dfc7:ffff:ffff:ffff:ffff:ffff:ffff,AE
2a0c:e000::,2a0c:e007:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:e040::,2a0c:e047:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a0c:e080::,2a0c:e087:ffff:ffff:ffff:ffff:ffff:ffff,US
@@ -42980,9 +44811,9 @@
2a0c:eb00::,2a0c:eb00:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:eb40::,2a0c:eb47:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0c:eb80::,2a0c:eb87:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0c:ebc0::,2a0c:ebc7:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:ebc0::,2a0c:ebc7:ffff:ffff:ffff:ffff:ffff:ffff,AE
2a0c:ec00::,2a0c:ec07:ffff:ffff:ffff:ffff:ffff:ffff,UA
-2a0c:ec40::,2a0c:ec47:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:ec40::,2a0c:ec47:ffff:ffff:ffff:ffff:ffff:ffff,AE
2a0c:ec80::,2a0c:ec80:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a0c:ecc0::,2a0c:ecc7:ffff:ffff:ffff:ffff:ffff:ffff,IE
2a0c:ed00::,2a0c:ed07:ffff:ffff:ffff:ffff:ffff:ffff,AZ
@@ -43011,9 +44842,7 @@
2a0c:f200::,2a0c:f207:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0c:f240::,2a0c:f247:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:f280::,2a0c:f287:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0c:f2c0::,2a0c:f2c0:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0c:f2c1::,2a0c:f2c1:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a0c:f2c2::,2a0c:f2c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0c:f2c0::,2a0c:f2c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:f300::,2a0c:f307:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0c:f340::,2a0c:f340:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0c:f380::,2a0c:f387:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -43044,7 +44873,7 @@
2a0c:f9c0::,2a0c:f9c7:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0c:fa00::,2a0c:fa00:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0c:fa40::,2a0c:fa47:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0c:fa80::,2a0c:fa87:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0c:fa80::,2a0c:fa87:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:fac0::,2a0c:fac7:ffff:ffff:ffff:ffff:ffff:ffff,HU
2a0c:fb00::,2a0c:fb07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0c:fb40::,2a0c:fb47:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -43073,7 +44902,6 @@
2a0d:100::,2a0d:107:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:140::,2a0d:147:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:180::,2a0d:187:ffff:ffff:ffff:ffff:ffff:ffff,CZ
-2a0d:1c0::,2a0d:1c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:200::,2a0d:207:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:240::,2a0d:247:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:280::,2a0d:287:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -43083,7 +44911,7 @@
2a0d:380::,2a0d:387:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:3c0::,2a0d:3c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:400::,2a0d:407:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0d:440::,2a0d:447:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:440::,2a0d:447:ffff:ffff:ffff:ffff:ffff:ffff,AE
2a0d:480::,2a0d:487:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:4c0::,2a0d:4c7:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:500::,2a0d:507:ffff:ffff:ffff:ffff:ffff:ffff,FR
@@ -43132,7 +44960,7 @@
2a0d:fc0::,2a0d:fc7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:1000::,2a0d:1007:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:1040::,2a0d:1047:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0d:1080::,2a0d:1087:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0d:1080::,2a0d:1087:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:10c0::,2a0d:10c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:1100::,2a0d:1107:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:1140::,2a0d:1147:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -43149,20 +44977,18 @@
2a0d:1400::,2a0d:1403:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:1440::,2a0d:1447:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:1480::,2a0d:1487:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0d:14c0::,2a0d:14c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:14c0::,2a0d:14c7:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:1500::,2a0d:1500:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:1540::,2a0d:1547:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a0d:1580::,2a0d:1580:ffff:ffff:ffff:ffff:ffff:ffff,LT
2a0d:15c0::,2a0d:15c0:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a0d:1600::,2a0d:1600:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:1640::,2a0d:1647:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a0d:1680::,2a0d:1687:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:16c0::,2a0d:16c0:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:1700::,2a0d:1707:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:1740::,2a0d:1740:ffff:ffff:ffff:ffff:ffff:ffff,LV
2a0d:1780::,2a0d:1787:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0d:17c0::,2a0d:17c7:ffff:ffff:ffff:ffff:ffff:ffff,DK
-2a0d:1800::,2a0d:1807:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:1840::,2a0d:1847:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:1880::,2a0d:1887:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0d:18c0::,2a0d:18c7:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -43176,12 +45002,13 @@
2a0d:1a40:1337::,2a0d:1a40:1337:ffff:ffff:ffff:ffff:ffff,BE
2a0d:1a40:6542::,2a0d:1a40:6542:ffff:ffff:ffff:ffff:ffff,BE
2a0d:1a40:6969::,2a0d:1a40:6969:ffff:ffff:ffff:ffff:ffff,BE
-2a0d:1a40:dead::,2a0d:1a40:dead:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:1a41::,2a0d:1a41:6968:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:1a40:9300::,2a0d:1a40:930f:ffff:ffff:ffff:ffff:ffff,BE
+2a0d:1a40:9410::,2a0d:1a40:941f:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:1a40:babe::,2a0d:1a40:babe:ffff:ffff:ffff:ffff:ffff,SG
+2a0d:1a40:beef::,2a0d:1a40:beef:ffff:ffff:ffff:ffff:ffff,GB
2a0d:1a41:6969::,2a0d:1a41:6969:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:1a41:696a::,2a0d:1a44:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:1a45:beef::,2a0d:1a45:beef:ffff:ffff:ffff:ffff:ffff,SE
-2a0d:1a46::,2a0d:1a47:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:1a45:dead::,2a0d:1a45:dead:ffff:ffff:ffff:ffff:ffff,SE
2a0d:1a80::,2a0d:1a87:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a0d:1ac0::,2a0d:1ac7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:1b00::,2a0d:1b07:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -43201,7 +45028,7 @@
2a0d:1e80::,2a0d:1e87:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0d:1ec0::,2a0d:1ec7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:1f00::,2a0d:1f07:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0d:1f40::,2a0d:1f47:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:1f40::,2a0d:1f47:ffff:ffff:ffff:ffff:ffff:ffff,AE
2a0d:1f80::,2a0d:1f80:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:1fc0::,2a0d:1fc7:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:2000::,2a0d:2007:ffff:ffff:ffff:ffff:ffff:ffff,FR
@@ -43209,12 +45036,7 @@
2a0d:2080::,2a0d:2087:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:20c0::,2a0d:20c7:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:2100::,2a0d:2107:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a0d:2140::,2a0d:2144::ffff:ffff:ffff:ffff:ffff,DE
-2a0d:2144:1::,2a0d:2144:1:ffff:ffff:ffff:ffff:ffff,RO
-2a0d:2144:2::,2a0d:2144:4:ffff:ffff:ffff:ffff:ffff,DE
-2a0d:2144:5::,2a0d:2144:5:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:2144:6::,2a0d:2144:6:ffff:ffff:ffff:ffff:ffff,US
-2a0d:2144:7::,2a0d:2144:a0:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:2140::,2a0d:2144:a0:ffff:ffff:ffff:ffff:ffff,DE
2a0d:2144:a1::,2a0d:2144:a1:ffff:ffff:ffff:ffff:ffff,RO
2a0d:2144:a2::,2a0d:2144:a4:ffff:ffff:ffff:ffff:ffff,DE
2a0d:2144:a5::,2a0d:2144:a5:ffff:ffff:ffff:ffff:ffff,GB
@@ -43222,11 +45044,12 @@
2a0d:2144:a7::,2a0d:2146:800f:ffff:ffff:ffff:ffff:ffff,DE
2a0d:2146:8010::,2a0d:2146:8010:ffff:ffff:ffff:ffff:ffff,RO
2a0d:2146:8011::,2a0d:2146:8011:ffff:ffff:ffff:ffff:ffff,NL
-2a0d:2146:8012::,2a0d:2147:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0d:2180::,2a0d:2187:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:2146:8012::,2a0d:2146:803f:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:2146:8040::,2a0d:2146:8040:ffff:ffff:ffff:ffff:ffff,US
+2a0d:2146:8041::,2a0d:2147:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:21c0::,2a0d:21c7:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:2200::,2a0d:2207:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0d:2240::,2a0d:2247:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:2240::,2a0d:2247:ffff:ffff:ffff:ffff:ffff:ffff,AE
2a0d:2280::,2a0d:2287:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0d:22c0::,2a0d:22c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:2300::,2a0d:2307:ffff:ffff:ffff:ffff:ffff:ffff,HU
@@ -43255,7 +45078,9 @@
2a0d:2406:e1d::,2a0d:2406:e1d:ffff:ffff:ffff:ffff:ffff,BM
2a0d:2406:e1e::,2a0d:2406:e1e:ffff:ffff:ffff:ffff:ffff,AQ
2a0d:2406:e1f::,2a0d:2406:e1f:ffff:ffff:ffff:ffff:ffff,DE
-2a0d:2406:e20::,2a0d:2407:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:2406:e20::,2a0d:2406:eff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:2406:f00::,2a0d:2406:f0f:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:2406:f10::,2a0d:2407:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:2440::,2a0d:2447:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:2480::,2a0d:2487:ffff:ffff:ffff:ffff:ffff:ffff,CN
2a0d:24c0::,2a0d:24c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -43306,7 +45131,8 @@
2a0d:2d00::,2a0d:2d00:ffff:ffff:ffff:ffff:ffff:ffff,BY
2a0d:2d40::,2a0d:2d40:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:2d41::,2a0d:2d41:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:2d42::,2a0d:2d47:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:2d42::,2a0d:2d42:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:2d44::,2a0d:2d47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:2d80::,2a0d:2d87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:2dc0::,2a0d:2dc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:2e00::,2a0d:2e07:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -43316,7 +45142,7 @@
2a0d:2f00::,2a0d:2f07:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:2f40::,2a0d:2f47:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:2f80::,2a0d:2f87:ffff:ffff:ffff:ffff:ffff:ffff,RO
-2a0d:2fc0::,2a0d:2fc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:2fc0::,2a0d:2fc7:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:3000::,2a0d:3007:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:3040::,2a0d:3047:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:3080::,2a0d:3087:ffff:ffff:ffff:ffff:ffff:ffff,FR
@@ -43365,7 +45191,7 @@
2a0d:3b80::,2a0d:3b87:ffff:ffff:ffff:ffff:ffff:ffff,PT
2a0d:3bc0::,2a0d:3bc7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:3c00::,2a0d:3c07:ffff:ffff:ffff:ffff:ffff:ffff,AT
-2a0d:3c40::,2a0d:3c47:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:3c40::,2a0d:3c47:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:3c80::,2a0d:3c80:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0d:3cc0::,2a0d:3cc7:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0d:3d00::,2a0d:3d07:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -43377,7 +45203,7 @@
2a0d:3e80::,2a0d:3e87:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a0d:3ec0::,2a0d:3ec0:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:3f00::,2a0d:3f00:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:3f40::,2a0d:3f47:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:3f40::,2a0d:3f47:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:3f80::,2a0d:3f87:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:3fc0::,2a0d:3fc7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:4000::,2a0d:4007:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -43395,15 +45221,15 @@
2a0d:4300::,2a0d:4307:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a0d:4340::,2a0d:4347:ffff:ffff:ffff:ffff:ffff:ffff,EE
2a0d:4380::,2a0d:4387:ffff:ffff:ffff:ffff:ffff:ffff,IT
-2a0d:43c0::,2a0d:43c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:43c0::,2a0d:43c7:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:4400::,2a0d:4407:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:4440::,2a0d:4447:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:4440::,2a0d:4447:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:4480::,2a0d:4487:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:44c0::,2a0d:44c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:44c0::,2a0d:44c7:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:4500::,2a0d:4507:ffff:ffff:ffff:ffff:ffff:ffff,MK
-2a0d:4540::,2a0d:4547:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:4540::,2a0d:4547:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:4580::,2a0d:4587:ffff:ffff:ffff:ffff:ffff:ffff,TR
-2a0d:45c0::,2a0d:45c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:45c0::,2a0d:45c7:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:4600::,2a0d:4607:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:4640::,2a0d:4647:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:4680::,2a0d:4687:ffff:ffff:ffff:ffff:ffff:ffff,IR
@@ -43413,10 +45239,11 @@
2a0d:4780::,2a0d:4787:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a0d:47c0::,2a0d:47c7:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0d:4800::,2a0d:4807:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:4840::,2a0d:4847:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:4840::,2a0d:4847:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:4880::,2a0d:4887:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:48c0::,2a0d:48c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
-2a0d:4900::,2a0d:4900:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:48c0::,2a0d:48c7:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0d:4900::,2a0d:4900::ffff:ffff:ffff:ffff:ffff,PT
+2a0d:4900:1::,2a0d:4900:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:4940::,2a0d:4947:ffff:ffff:ffff:ffff:ffff:ffff,AL
2a0d:4980::,2a0d:4980:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0d:49c0::,2a0d:49c7:ffff:ffff:ffff:ffff:ffff:ffff,IT
@@ -43440,7 +45267,7 @@
2a0d:4e40::,2a0d:4e47:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:4e80::,2a0d:4e87:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:4ec0::,2a0d:4ec7:ffff:ffff:ffff:ffff:ffff:ffff,EE
-2a0d:4f00::,2a0d:4f07:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0d:4f00::,2a0d:4f07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:4f40::,2a0d:4f40:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:4f80::,2a0d:4f87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:4fc0::,2a0d:4fc7:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -43468,7 +45295,9 @@
2a0d:5540::,2a0d:5547:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:5580::,2a0d:5587:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:55c0::,2a0d:55c7:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2a0d:5600::,2a0d:5600:c:ffff:ffff:ffff:ffff:ffff,US
+2a0d:5600::,2a0d:5600:8:ffff:ffff:ffff:ffff:ffff,US
+2a0d:5600:9::,2a0d:5600:9:ffff:ffff:ffff:ffff:ffff,CA
+2a0d:5600:a::,2a0d:5600:c:ffff:ffff:ffff:ffff:ffff,US
2a0d:5600:d::,2a0d:5600:d:ffff:ffff:ffff:ffff:ffff,SG
2a0d:5600:e::,2a0d:5600:f:ffff:ffff:ffff:ffff:ffff,JP
2a0d:5600:10::,2a0d:5600:10:ffff:ffff:ffff:ffff:ffff,US
@@ -43476,7 +45305,9 @@
2a0d:5600:13::,2a0d:5600:13:ffff:ffff:ffff:ffff:ffff,PL
2a0d:5600:14::,2a0d:5600:15:ffff:ffff:ffff:ffff:ffff,US
2a0d:5600:16::,2a0d:5600:16:ffff:ffff:ffff:ffff:ffff,PL
-2a0d:5600:17::,2a0d:5607:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0d:5600:17::,2a0d:5600:a31:ffff:ffff:ffff:ffff:ffff,US
+2a0d:5600:a32::,2a0d:5600:a32:ffff:ffff:ffff:ffff:ffff,IT
+2a0d:5600:a33::,2a0d:5607:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:5680::,2a0d:5687:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a0d:56c0::,2a0d:56c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:5700::,2a0d:5707:ffff:ffff:ffff:ffff:ffff:ffff,ES
@@ -43499,9 +45330,7 @@
2a0d:5b40::,2a0d:5b47:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:5b80::,2a0d:5b87:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:5bc0::,2a0d:5bc0:ffff:ffff:ffff:ffff:ffff:ffff,FI
-2a0d:5c00::,2a0d:5c03:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:5c04::,2a0d:5c04:ffff:ffff:ffff:ffff:ffff:ffff,US
-2a0d:5c05::,2a0d:5c07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:5c40::,2a0d:5c40:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0d:5c80::,2a0d:5c87:ffff:ffff:ffff:ffff:ffff:ffff,MK
2a0d:5cc0::,2a0d:5cc7:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -43536,7 +45365,7 @@
2a0d:6400::,2a0d:6400:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:6440::,2a0d:6447:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:6480::,2a0d:6480:ffff:ffff:ffff:ffff:ffff:ffff,FR
-2a0d:64c0::,2a0d:64c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:64c0::,2a0d:64c7:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:6500::,2a0d:6507:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:6540::,2a0d:6547:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:6580::,2a0d:6587:ffff:ffff:ffff:ffff:ffff:ffff,CH
@@ -43544,7 +45373,7 @@
2a0d:6600::,2a0d:6607:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a0d:6640::,2a0d:6647:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a0d:6680::,2a0d:6687:ffff:ffff:ffff:ffff:ffff:ffff,AT
-2a0d:66c0::,2a0d:66c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:66c0::,2a0d:66c7:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:6700::,2a0d:6707:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:6740::,2a0d:6747:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:6780::,2a0d:6787:ffff:ffff:ffff:ffff:ffff:ffff,MK
@@ -43562,7 +45391,7 @@
2a0d:6a80::,2a0d:6a87:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0d:6ac0::,2a0d:6ac7:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0d:6b00::,2a0d:6b07:ffff:ffff:ffff:ffff:ffff:ffff,EE
-2a0d:6b40::,2a0d:6b47:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:6b40::,2a0d:6b47:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:6b80::,2a0d:6b87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:6bc0::,2a0d:6bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:6c00::,2a0d:6c01:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -43654,8 +45483,11 @@
2a0d:7e80::,2a0d:7e87:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:7ec0::,2a0d:7ec7:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:7f00::,2a0d:7f07:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0d:7f40::,2a0d:7f40::ffff:ffff:ffff:ffff:ffff,GB
-2a0d:7f41::,2a0d:7f47:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:7f40::,2a0d:7f40::ffff:ffff:ffff:ffff:ffff,CZ
+2a0d:7f41::,2a0d:7f45:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:7f46:1::,2a0d:7f46:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:7f47::,2a0d:7f47::ffff:ffff:ffff:ffff:ffff,AU
+2a0d:7f47:1::,2a0d:7f47:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:7f80::,2a0d:7f87:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:7fc0::,2a0d:7fc7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:8000::,2a0d:8007:ffff:ffff:ffff:ffff:ffff:ffff,DE
@@ -43706,7 +45538,7 @@
2a0d:8b00::,2a0d:8b07:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:8b40::,2a0d:8b47:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:8b80::,2a0d:8b87:ffff:ffff:ffff:ffff:ffff:ffff,SY
-2a0d:8bc0::,2a0d:8bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:8bc0::,2a0d:8bc7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:8c00::,2a0d:8c07:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:8c40::,2a0d:8c47:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:8c80::,2a0d:8c87:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -43740,21 +45572,21 @@
2a0d:9380::,2a0d:9387:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:93c0::,2a0d:93c7:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:9400::,2a0d:9407:ffff:ffff:ffff:ffff:ffff:ffff,NL
-2a0d:9440::,2a0d:9447:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:9440::,2a0d:9447:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:9480::,2a0d:9487:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:94c0::,2a0d:94c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:9500::,2a0d:9507:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a0d:9540::,2a0d:9547:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0d:9580::,2a0d:9587:ffff:ffff:ffff:ffff:ffff:ffff,CH
-2a0d:95c0::,2a0d:95c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:95c0::,2a0d:95c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:9600::,2a0d:9600:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0d:9640::,2a0d:9647:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0d:9680::,2a0d:9687:ffff:ffff:ffff:ffff:ffff:ffff,IR
2a0d:96c0::,2a0d:96c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:9700::,2a0d:9700:ffff:ffff:ffff:ffff:ffff:ffff,DE
-2a0d:9740::,2a0d:9747:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:9740::,2a0d:9747:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:9780::,2a0d:9787:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:97c0::,2a0d:97c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:97c0::,2a0d:97c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:9800::,2a0d:9807:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a0d:9840::,2a0d:9847:ffff:ffff:ffff:ffff:ffff:ffff,IQ
2a0d:9880::,2a0d:9887:ffff:ffff:ffff:ffff:ffff:ffff,UA
@@ -43806,7 +45638,8 @@
2a0d:a400::,2a0d:a407:ffff:ffff:ffff:ffff:ffff:ffff,HU
2a0d:a440::,2a0d:a447:ffff:ffff:ffff:ffff:ffff:ffff,US
2a0d:a480::,2a0d:a487:ffff:ffff:ffff:ffff:ffff:ffff,CH
-2a0d:a4c0::,2a0d:a4c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:a4c0:3a00::,2a0d:a4c0:3a0f:ffff:ffff:ffff:ffff:ffff,AT
+2a0d:a4c2::,2a0d:a4c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:a500::,2a0d:a507:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a0d:a540::,2a0d:a547:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:a580::,2a0d:a587:ffff:ffff:ffff:ffff:ffff:ffff,GB
@@ -43831,7 +45664,7 @@
2a0d:aa40::,2a0d:aa47:ffff:ffff:ffff:ffff:ffff:ffff,KZ
2a0d:aa80::,2a0d:aa87:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:aac0::,2a0d:aac7:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:ab00::,2a0d:ab07:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0d:ab00::,2a0d:ab07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:ab40::,2a0d:ab40:ffff:ffff:ffff:ffff:ffff:ffff,AL
2a0d:ab80::,2a0d:ab80:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:abc0::,2a0d:abc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
@@ -43847,174 +45680,344 @@
2a0d:ae40::,2a0d:ae47:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0d:ae80::,2a0d:ae80:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:aec0::,2a0d:aec7:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a0d:af00::,2a0d:af07:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0d:af00::,2a0d:af07:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:af40::,2a0d:af47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:af80::,2a0d:af87:ffff:ffff:ffff:ffff:ffff:ffff,SE
2a0d:afc0::,2a0d:afc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:b000::,2a0d:b007:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:b040::,2a0d:b047:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:b080::,2a0d:b080:ffff:ffff:ffff:ffff:ffff:ffff,NO
+2a0d:b0c0::,2a0d:b0c7:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0d:b100::,2a0d:b107:ffff:ffff:ffff:ffff:ffff:ffff,AT
+2a0d:b140::,2a0d:b147:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:b180::,2a0d:b187:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:b1c0::,2a0d:b1c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:b200::,2a0d:b207:ffff:ffff:ffff:ffff:ffff:ffff,KZ
+2a0d:b240::,2a0d:b247:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0d:b280::,2a0d:b287:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0d:b2c0::,2a0d:b2c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:b300::,2a0d:b307:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a0d:b340::,2a0d:b347:ffff:ffff:ffff:ffff:ffff:ffff,LB
2a0d:b380::,2a0d:b387:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:b3c0::,2a0d:b3c7:ffff:ffff:ffff:ffff:ffff:ffff,LB
2a0d:b400::,2a0d:b407:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0d:b440::,2a0d:b447:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:b480::,2a0d:b480:ffff:ffff:ffff:ffff:ffff:ffff,DK
+2a0d:b4c0::,2a0d:b4c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:b500::,2a0d:b507:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:b540::,2a0d:b547:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:b580::,2a0d:b580:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0d:b5c0::,2a0d:b5c7:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:b600::,2a0d:b607:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:b640::,2a0d:b647:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:b680::,2a0d:b687:ffff:ffff:ffff:ffff:ffff:ffff,SE
+2a0d:b6c0::,2a0d:b6c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:b700::,2a0d:b707:ffff:ffff:ffff:ffff:ffff:ffff,BG
+2a0d:b740::,2a0d:b747:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:b780::,2a0d:b787:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:b7c0::,2a0d:b7c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:b800::,2a0d:b807:ffff:ffff:ffff:ffff:ffff:ffff,AM
+2a0d:b840::,2a0d:b847:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:b880::,2a0d:b887:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a0d:b8c0::,2a0d:b8c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:b900::,2a0d:b907:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:b940::,2a0d:b947:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:b980::,2a0d:b987:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:b9c0::,2a0d:b9c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:ba00::,2a0d:ba07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:ba40::,2a0d:ba47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:ba80::,2a0d:ba87:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a0d:bac0::,2a0d:bac7:ffff:ffff:ffff:ffff:ffff:ffff,DK
2a0d:bb00::,2a0d:bb07:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:bb40::,2a0d:bb40:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:bb80::,2a0d:bb87:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a0d:bbc0::,2a0d:bbc7:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0d:bc00::,2a0d:bc07:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0d:bc40::,2a0d:bc43:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:bc80::,2a0d:bc87:ffff:ffff:ffff:ffff:ffff:ffff,GE
+2a0d:bcc0::,2a0d:bcc7:ffff:ffff:ffff:ffff:ffff:ffff,KZ
2a0d:bd00::,2a0d:bd07:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:bd40::,2a0d:bd47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:bd80::,2a0d:bd87:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:bdc0::,2a0d:bdc7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:be00::,2a0d:be07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:be40::,2a0d:be47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:be80::,2a0d:be87:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:bec0::,2a0d:bec7:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0d:bf00::,2a0d:bf07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:bf40::,2a0d:bf47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:bf80::,2a0d:bf87:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:bfc0::,2a0d:bfc0:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0d:c000::,2a0d:c007:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a0d:c040::,2a0d:c047:ffff:ffff:ffff:ffff:ffff:ffff,PL
2a0d:c080::,2a0d:c087:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0d:c0c0::,2a0d:c0c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:c140::,2a0d:c147:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:c180::,2a0d:c187:ffff:ffff:ffff:ffff:ffff:ffff,FI
+2a0d:c1c0::,2a0d:c1c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:c200::,2a0d:c207:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:c240::,2a0d:c247:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:c280::,2a0d:c287:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0d:c2c0::,2a0d:c2c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:c300::,2a0d:c307:ffff:ffff:ffff:ffff:ffff:ffff,BG
+2a0d:c340::,2a0d:c347:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0d:c380::,2a0d:c387:ffff:ffff:ffff:ffff:ffff:ffff,NO
+2a0d:c3c0::,2a0d:c3c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:c400::,2a0d:c407:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:c440::,2a0d:c447:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:c480::,2a0d:c487:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a0d:c4c0::,2a0d:c4c7:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0d:c500::,2a0d:c507:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:c540::,2a0d:c547:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:c580::,2a0d:c587:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:c5c0::,2a0d:c5c0:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:c600::,2a0d:c607:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:c680::,2a0d:c687:ffff:ffff:ffff:ffff:ffff:ffff,MD
-2a0d:c700::,2a0d:c707:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:c640::,2a0d:c647:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a0d:c680::,2a0d:c687:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:c6c0::,2a0d:c6c7:ffff:ffff:ffff:ffff:ffff:ffff,KZ
+2a0d:c700::,2a0d:c707:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:c780::,2a0d:c787:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:c7c0::,2a0d:c7c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:c800::,2a0d:c807:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:c840::,2a0d:c847:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a0d:c880::,2a0d:c887:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:c8c0::,2a0d:c8c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:c900::,2a0d:c907:ffff:ffff:ffff:ffff:ffff:ffff,AT
+2a0d:c940::,2a0d:c947:ffff:ffff:ffff:ffff:ffff:ffff,LT
2a0d:c980::,2a0d:c987:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:c9c0::,2a0d:c9c0:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a0d:ca00::,2a0d:ca07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:ca40::,2a0d:ca47:ffff:ffff:ffff:ffff:ffff:ffff,RO
2a0d:ca80::,2a0d:ca87:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:cac0::,2a0d:cac7:ffff:ffff:ffff:ffff:ffff:ffff,NO
2a0d:cb00::,2a0d:cb07:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:cb40::,2a0d:cb47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:cb80::,2a0d:cb87:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a0d:cbc0::,2a0d:cbc7:ffff:ffff:ffff:ffff:ffff:ffff,ES
2a0d:cc00::,2a0d:cc07:ffff:ffff:ffff:ffff:ffff:ffff,AL
+2a0d:cc40::,2a0d:cc47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:cc80::,2a0d:cc87:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:ccc0::,2a0d:ccc7:ffff:ffff:ffff:ffff:ffff:ffff,IQ
2a0d:cd00::,2a0d:cd07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:cd40::,2a0d:cd47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:cd80::,2a0d:cd87:ffff:ffff:ffff:ffff:ffff:ffff,AT
+2a0d:cdc0::,2a0d:cdc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:ce00::,2a0d:ce07:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:ce40::,2a0d:ce47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:ce80::,2a0d:ce87:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:cec0::,2a0d:cec7:ffff:ffff:ffff:ffff:ffff:ffff,SI
2a0d:cf00::,2a0d:cf07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:cf40::,2a0d:cf47:ffff:ffff:ffff:ffff:ffff:ffff,LT
2a0d:cf80::,2a0d:cf87:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a0d:cfc0::,2a0d:cfc7:ffff:ffff:ffff:ffff:ffff:ffff,EE
2a0d:d000::,2a0d:d007:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:d040::,2a0d:d047:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:d080::,2a0d:d087:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:d0c0::,2a0d:d0c7:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:d100::,2a0d:d107:ffff:ffff:ffff:ffff:ffff:ffff,AT
+2a0d:d140::,2a0d:d147:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:d180::,2a0d:d187:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:d1c0::,2a0d:d1c0:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0d:d200::,2a0d:d207:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:d240::,2a0d:d247:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:d280::,2a0d:d280:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:d2c0::,2a0d:d2c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:d300::,2a0d:d300:ffff:ffff:ffff:ffff:ffff:ffff,LI
+2a0d:d340::,2a0d:d347:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:d380::,2a0d:d387:ffff:ffff:ffff:ffff:ffff:ffff,IE
+2a0d:d3c0::,2a0d:d3c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:d400::,2a0d:d407:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:d440::,2a0d:d440:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0d:d480::,2a0d:d487:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0d:d4c0::,2a0d:d4c0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:d500::,2a0d:d507:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:d540::,2a0d:d547:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:d580::,2a0d:d580:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a0d:d5c0::,2a0d:d5c7:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:d600::,2a0d:d607:ffff:ffff:ffff:ffff:ffff:ffff,DK
+2a0d:d640::,2a0d:d647:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:d680::,2a0d:d687:ffff:ffff:ffff:ffff:ffff:ffff,IQ
-2a0d:d700::,2a0d:d707:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:d6c0::,2a0d:d6c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:d740::,2a0d:d747:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0d:d780::,2a0d:d787:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0d:d7c0::,2a0d:d7c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:d800::,2a0d:d807:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a0d:d840::,2a0d:d847:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:d880::,2a0d:d887:ffff:ffff:ffff:ffff:ffff:ffff,TR
+2a0d:d8c0::,2a0d:d8c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:d900::,2a0d:d907:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:d940::,2a0d:d947:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:d980::,2a0d:d987:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:d9c0::,2a0d:d9c7:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0d:da00::,2a0d:da07:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:da40::,2a0d:da47:ffff:ffff:ffff:ffff:ffff:ffff,IQ
2a0d:da80::,2a0d:da80:ffff:ffff:ffff:ffff:ffff:ffff,ES
-2a0d:db00::,2a0d:db07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:dac0::,2a0d:dac7:ffff:ffff:ffff:ffff:ffff:ffff,MD
+2a0d:db00::,2a0d:db07:ffff:ffff:ffff:ffff:ffff:ffff,LT
+2a0d:db40::,2a0d:db47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:db80::,2a0d:db87:ffff:ffff:ffff:ffff:ffff:ffff,SE
+2a0d:dbc0::,2a0d:dbc7:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:dc00::,2a0d:dc07:ffff:ffff:ffff:ffff:ffff:ffff,LU
+2a0d:dc40::,2a0d:dc47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:dc80::,2a0d:dc87:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:dcc0::,2a0d:dcc7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:dd00::,2a0d:dd07:ffff:ffff:ffff:ffff:ffff:ffff,KG
+2a0d:dd40::,2a0d:dd47:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:dd80::,2a0d:dd87:ffff:ffff:ffff:ffff:ffff:ffff,BE
+2a0d:ddc0::,2a0d:ddc7:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0d:de00::,2a0d:de07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:de40::,2a0d:de47:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:de80::,2a0d:de87:ffff:ffff:ffff:ffff:ffff:ffff,GB
-2a0d:df00::,2a0d:df07:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0d:dec0::,2a0d:dec7:ffff:ffff:ffff:ffff:ffff:ffff,MD
+2a0d:df00::,2a0d:df07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:df40::,2a0d:df47:ffff:ffff:ffff:ffff:ffff:ffff,LT
2a0d:df80::,2a0d:df87:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:dfc0::,2a0d:dfc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:e000::,2a0d:e007:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:e040::,2a0d:e047:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:e080::,2a0d:e087:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:e0c0::,2a0d:e0c7:ffff:ffff:ffff:ffff:ffff:ffff,LT
2a0d:e100::,2a0d:e107:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:e140::,2a0d:e147:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:e180::,2a0d:e180:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:e1c0::,2a0d:e1c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:e200::,2a0d:e207:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0d:e240::,2a0d:e247:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:e280::,2a0d:e287:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:e2c0::,2a0d:e2c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:e300::,2a0d:e307:ffff:ffff:ffff:ffff:ffff:ffff,PT
+2a0d:e340::,2a0d:e347:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:e380::,2a0d:e387:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:e3c0::,2a0d:e3c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:e400::,2a0d:e400:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:e440::,2a0d:e447:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:e480::,2a0d:e487:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:e4c0::,2a0d:e4c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:e500::,2a0d:e507:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:e540::,2a0d:e547:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:e580::,2a0d:e587:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:e5c0::,2a0d:e5c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:e600::,2a0d:e607:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:e640::,2a0d:e647:ffff:ffff:ffff:ffff:ffff:ffff,BE
2a0d:e680::,2a0d:e687:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:e6c0::,2a0d:e6c0:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:e700::,2a0d:e707:ffff:ffff:ffff:ffff:ffff:ffff,BG
+2a0d:e740::,2a0d:e747:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:e780::,2a0d:e787:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:e7c0::,2a0d:e7c7:ffff:ffff:ffff:ffff:ffff:ffff,CZ
2a0d:e800::,2a0d:e807:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:e840::,2a0d:e847:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:e880::,2a0d:e887:ffff:ffff:ffff:ffff:ffff:ffff,SA
-2a0d:e900::,2a0d:e907:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:e8c0::,2a0d:e8c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:e940::,2a0d:e940:ffff:ffff:ffff:ffff:ffff:ffff,CH
2a0d:e980::,2a0d:e980:ffff:ffff:ffff:ffff:ffff:ffff,DK
+2a0d:e9c0::,2a0d:e9c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:ea00::,2a0d:ea07:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:ea40::,2a0d:ea47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:ea80::,2a0d:ea87:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:eac0::,2a0d:eac7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:eb00::,2a0d:eb07:ffff:ffff:ffff:ffff:ffff:ffff,PL
+2a0d:eb40::,2a0d:eb47:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:eb80::,2a0d:eb87:ffff:ffff:ffff:ffff:ffff:ffff,SE
-2a0d:ec00::,2a0d:ec07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:ebc0::,2a0d:ebc7:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a0d:ec00::,2a0d:ec07:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0d:ec40::,2a0d:ec47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:ec80::,2a0d:ec87:ffff:ffff:ffff:ffff:ffff:ffff,LB
+2a0d:ecc0::,2a0d:ecc7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:ed00::,2a0d:ed07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:ed40::,2a0d:ed40:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:ed80::,2a0d:ed80:ffff:ffff:ffff:ffff:ffff:ffff,CH
+2a0d:edc0::,2a0d:edc7:ffff:ffff:ffff:ffff:ffff:ffff,FR
2a0d:ee00::,2a0d:ee00:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:ee40::,2a0d:ee47:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:ee80::,2a0d:ee80:ffff:ffff:ffff:ffff:ffff:ffff,AT
-2a0d:ef00::,2a0d:ef07:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:eec0::,2a0d:eec7:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:ef40::,2a0d:ef47:ffff:ffff:ffff:ffff:ffff:ffff,BG
2a0d:ef80::,2a0d:ef80:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:efc0::,2a0d:efc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:f000::,2a0d:f007:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:f040::,2a0d:f047:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:f080::,2a0d:f087:ffff:ffff:ffff:ffff:ffff:ffff,RO
-2a0d:f100::,2a0d:f107:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:f0c0::,2a0d:f0c7:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:f140::,2a0d:f147:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:f180::,2a0d:f187:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:f1c0::,2a0d:f1c7:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:f200::,2a0d:f207:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:f240::,2a0d:f240:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:f280::,2a0d:f287:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:f2c0::,2a0d:f2c7:ffff:ffff:ffff:ffff:ffff:ffff,FI
2a0d:f300::,2a0d:f307:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:f340::,2a0d:f347:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:f380::,2a0d:f387:ffff:ffff:ffff:ffff:ffff:ffff,ES
+2a0d:f3c0::,2a0d:f3c7:ffff:ffff:ffff:ffff:ffff:ffff,UA
2a0d:f404::,2a0d:f404:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a0d:f440::,2a0d:f447:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:f480::,2a0d:f487:ffff:ffff:ffff:ffff:ffff:ffff,BE
+2a0d:f4c0::,2a0d:f4c7:ffff:ffff:ffff:ffff:ffff:ffff,TR
2a0d:f500::,2a0d:f500:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:f540::,2a0d:f547:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:f580::,2a0d:f587:ffff:ffff:ffff:ffff:ffff:ffff,US
+2a0d:f5c0::,2a0d:f5c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:f600::,2a0d:f607:ffff:ffff:ffff:ffff:ffff:ffff,PT
-2a0d:f680::,2a0d:f687:ffff:ffff:ffff:ffff:ffff:ffff,RO
+2a0d:f640::,2a0d:f647:ffff:ffff:ffff:ffff:ffff:ffff,RU
+2a0d:f680::,2a0d:f687:ffff:ffff:ffff:ffff:ffff:ffff,PT
+2a0d:f6c0::,2a0d:f6c7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:f700::,2a0d:f707:ffff:ffff:ffff:ffff:ffff:ffff,GE
+2a0d:f740::,2a0d:f747:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:f780::,2a0d:f787:ffff:ffff:ffff:ffff:ffff:ffff,CZ
+2a0d:f7c0::,2a0d:f7c0:ffff:ffff:ffff:ffff:ffff:ffff,IT
2a0d:f800::,2a0d:f807:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:f840::,2a0d:f847:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:f880::,2a0d:f887:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0d:f8c0::,2a0d:f8c7:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:f900::,2a0d:f907:ffff:ffff:ffff:ffff:ffff:ffff,GE
+2a0d:f940::,2a0d:f947:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:f980::,2a0d:f987:ffff:ffff:ffff:ffff:ffff:ffff,IT
+2a0d:f9c0::,2a0d:f9c0:ffff:ffff:ffff:ffff:ffff:ffff,AT
+2a0d:f9c1::,2a0d:f9c1:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:f9c2::,2a0d:f9c7:ffff:ffff:ffff:ffff:ffff:ffff,AT
2a0d:fa00::,2a0d:fa07:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:fa40::,2a0d:fa47:ffff:ffff:ffff:ffff:ffff:ffff,NL
2a0d:fa80::,2a0d:fa87:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:fac0::,2a0d:fac7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:fb00::,2a0d:fb07:ffff:ffff:ffff:ffff:ffff:ffff,GE
+2a0d:fb40::,2a0d:fb47:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:fb80::,2a0d:fb87:ffff:ffff:ffff:ffff:ffff:ffff,FR
+2a0d:fbc0::,2a0d:fbc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:fc00::,2a0d:fc07:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0d:fc40::,2a0d:fc47:ffff:ffff:ffff:ffff:ffff:ffff,DE
2a0d:fc80::,2a0d:fc87:ffff:ffff:ffff:ffff:ffff:ffff,FI
+2a0d:fcc0::,2a0d:fcc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:fd00::,2a0d:fd07:ffff:ffff:ffff:ffff:ffff:ffff,GE
+2a0d:fd40::,2a0d:fd47:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:fd80::,2a0d:fd87:ffff:ffff:ffff:ffff:ffff:ffff,IR
+2a0d:fdc0::,2a0d:fdc7:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:fe00::,2a0d:fe07:ffff:ffff:ffff:ffff:ffff:ffff,GB
+2a0d:fe40::,2a0d:fe40:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:fe80::,2a0d:fe80:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:fec0::,2a0d:fec0:ffff:ffff:ffff:ffff:ffff:ffff,RU
2a0d:ff00::,2a0d:ff07:ffff:ffff:ffff:ffff:ffff:ffff,DE
+2a0d:ff40::,2a0d:ff47:ffff:ffff:ffff:ffff:ffff:ffff,GB
2a0d:ff80::,2a0d:ff80:ffff:ffff:ffff:ffff:ffff:ffff,NL
+2a0d:ffc0::,2a0d:ffc7:ffff:ffff:ffff:ffff:ffff:ffff,UA
+2a0e::,2a0e:3f:ffff:ffff:ffff:ffff:ffff:ffff,IR
2c0e::,2c0e:fff:ffff:ffff:ffff:ffff:ffff:ffff,EG
2c0e:2000::,2c0e:2fff:ffff:ffff:ffff:ffff:ffff:ffff,ZA
2c0e:4000::,2c0e:40ff:ffff:ffff:ffff:ffff:ffff:ffff,ZA
2c0e:7f80::,2c0e:7f9f:ffff:ffff:ffff:ffff:ffff:ffff,CI
+2c0f:ec00::,2c0f:ec00:ffff:ffff:ffff:ffff:ffff:ffff,SC
+2c0f:ec08::,2c0f:ec08:ffff:ffff:ffff:ffff:ffff:ffff,ZA
+2c0f:ec10::,2c0f:ec10:ffff:ffff:ffff:ffff:ffff:ffff,NG
+2c0f:ec18::,2c0f:ec18:ffff:ffff:ffff:ffff:ffff:ffff,ZA
+2c0f:ec20::,2c0f:ec20:ffff:ffff:ffff:ffff:ffff:ffff,ZA
+2c0f:ec28::,2c0f:ec28:ffff:ffff:ffff:ffff:ffff:ffff,CI
+2c0f:ec30::,2c0f:ec30:ffff:ffff:ffff:ffff:ffff:ffff,MU
+2c0f:ec38::,2c0f:ec38:ffff:ffff:ffff:ffff:ffff:ffff,NG
+2c0f:ec40::,2c0f:ec40:ffff:ffff:ffff:ffff:ffff:ffff,ZA
+2c0f:ec48::,2c0f:ec48:ffff:ffff:ffff:ffff:ffff:ffff,ZA
+2c0f:ec50::,2c0f:ec50:ffff:ffff:ffff:ffff:ffff:ffff,GW
+2c0f:ec58::,2c0f:ec58:ffff:ffff:ffff:ffff:ffff:ffff,BF
+2c0f:ec60::,2c0f:ec60:ffff:ffff:ffff:ffff:ffff:ffff,CI
2c0f:ee00::,2c0f:ee00:ffff:ffff:ffff:ffff:ffff:ffff,BF
2c0f:ee08::,2c0f:ee08:ffff:ffff:ffff:ffff:ffff:ffff,CD
2c0f:ee10::,2c0f:ee10:ffff:ffff:ffff:ffff:ffff:ffff,GH
diff --git a/src/core/include.am b/src/core/include.am
index 1b8ef2ac58..3cd6e83ed5 100644
--- a/src/core/include.am
+++ b/src/core/include.am
@@ -11,6 +11,8 @@ LIBTOR_APP_A_SOURCES = \
src/app/config/confparse.c \
src/app/config/statefile.c \
src/app/main/main.c \
+ src/app/main/subsystem_list.c \
+ src/app/main/subsysmgr.c \
src/core/crypto/hs_ntor.c \
src/core/crypto/onion_crypto.c \
src/core/crypto/onion_fast.c \
@@ -60,6 +62,7 @@ LIBTOR_APP_A_SOURCES = \
src/feature/client/entrynodes.c \
src/feature/client/transports.c \
src/feature/control/control.c \
+ src/feature/control/control_bootstrap.c \
src/feature/control/fmt_serverstatus.c \
src/feature/control/getinfo_geoip.c \
src/feature/dirauth/keypin.c \
@@ -106,6 +109,7 @@ LIBTOR_APP_A_SOURCES = \
src/feature/nodelist/microdesc.c \
src/feature/nodelist/networkstatus.c \
src/feature/nodelist/nickname.c \
+ src/feature/nodelist/nodefamily.c \
src/feature/nodelist/nodelist.c \
src/feature/nodelist/node_select.c \
src/feature/nodelist/routerinfo.c \
@@ -191,6 +195,7 @@ noinst_HEADERS += \
src/app/config/statefile.h \
src/app/main/main.h \
src/app/main/ntmain.h \
+ src/app/main/subsysmgr.h \
src/core/crypto/hs_ntor.h \
src/core/crypto/onion_crypto.h \
src/core/crypto/onion_fast.h \
@@ -340,6 +345,8 @@ noinst_HEADERS += \
src/feature/nodelist/networkstatus_voter_info_st.h \
src/feature/nodelist/nickname.h \
src/feature/nodelist/node_st.h \
+ src/feature/nodelist/nodefamily.h \
+ src/feature/nodelist/nodefamily_st.h \
src/feature/nodelist/nodelist.h \
src/feature/nodelist/node_select.h \
src/feature/nodelist/routerinfo.h \
diff --git a/src/core/mainloop/connection.c b/src/core/mainloop/connection.c
index 1198a01ad9..601c872c98 100644
--- a/src/core/mainloop/connection.c
+++ b/src/core/mainloop/connection.c
@@ -57,7 +57,7 @@
#define CONNECTION_PRIVATE
#include "core/or/or.h"
#include "feature/client/bridges.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "lib/tls/buffers_tls.h"
#include "lib/err/backtrace.h"
@@ -1460,6 +1460,20 @@ connection_listener_new(const struct sockaddr *listensockaddr,
tor_socket_strerror(tor_socket_errno(s)));
goto err;
}
+
+#ifndef __APPLE__
+ /* This code was introduced to help debug #28229. */
+ int value;
+ socklen_t len = sizeof(value);
+
+ if (!getsockopt(s, SOL_SOCKET, SO_ACCEPTCONN, &value, &len)) {
+ if (value == 0) {
+ log_err(LD_NET, "Could not listen on %s - "
+ "getsockopt(.,SO_ACCEPTCONN,.) yields 0.", address);
+ goto err;
+ }
+ }
+#endif /* __APPLE__ */
#endif /* defined(HAVE_SYS_UN_H) */
} else {
log_err(LD_BUG, "Got unexpected address family %d.",
@@ -1874,6 +1888,9 @@ connection_init_accepted_conn(connection_t *conn,
TO_ENTRY_CONN(conn)->nym_epoch = get_signewnym_epoch();
TO_ENTRY_CONN(conn)->socks_request->listener_type = listener->base_.type;
+ /* Any incoming connection on an entry port counts as user activity. */
+ note_user_activity(approx_time());
+
switch (TO_CONN(listener)->type) {
case CONN_TYPE_AP_LISTENER:
conn->state = AP_CONN_STATE_SOCKS_WAIT;
@@ -2073,6 +2090,11 @@ connection_connect_log_client_use_ip_version(const connection_t *conn)
return;
}
+ if (fascist_firewall_use_ipv6(options)) {
+ log_info(LD_NET, "Our outgoing connection is using IPv%d.",
+ tor_addr_family(&real_addr) == AF_INET6 ? 6 : 4);
+ }
+
/* Check if we couldn't satisfy an address family preference */
if ((!pref_ipv6 && tor_addr_family(&real_addr) == AF_INET6)
|| (pref_ipv6 && tor_addr_family(&real_addr) == AF_INET)) {
@@ -2886,6 +2908,10 @@ retry_all_listeners(smartlist_t *new_conns, int close_all_noncontrol)
retval = -1;
#ifdef ENABLE_LISTENER_REBIND
+ if (smartlist_len(replacements))
+ log_debug(LD_NET, "%d replacements - starting rebinding loop.",
+ smartlist_len(replacements));
+
SMARTLIST_FOREACH_BEGIN(replacements, listener_replacement_t *, r) {
int addr_in_use = 0;
int skip = 0;
@@ -2897,8 +2923,11 @@ retry_all_listeners(smartlist_t *new_conns, int close_all_noncontrol)
connection_listener_new_for_port(r->new_port, &skip, &addr_in_use);
connection_t *old_conn = r->old_conn;
- if (skip)
+ if (skip) {
+ log_debug(LD_NET, "Skipping creating new listener for %s:%d",
+ old_conn->address, old_conn->port);
continue;
+ }
connection_close_immediate(old_conn);
connection_mark_for_close(old_conn);
@@ -4426,6 +4455,16 @@ connection_get_by_type_state(int type, int state)
CONN_GET_TEMPLATE(conn, conn->type == type && conn->state == state);
}
+/**
+ * Return a connection of type <b>type</b> that is not an internally linked
+ * connection, and is not marked for close.
+ **/
+MOCK_IMPL(connection_t *,
+connection_get_by_type_nonlinked,(int type))
+{
+ CONN_GET_TEMPLATE(conn, conn->type == type && !conn->linked);
+}
+
/** Return a connection of type <b>type</b> that has rendquery equal
* to <b>rendquery</b>, and that is not marked for close. If state
* is non-zero, conn must be of that state too.
diff --git a/src/core/mainloop/connection.h b/src/core/mainloop/connection.h
index b569bb038e..07b8df4138 100644
--- a/src/core/mainloop/connection.h
+++ b/src/core/mainloop/connection.h
@@ -240,6 +240,7 @@ size_t connection_get_outbuf_len(connection_t *conn);
connection_t *connection_get_by_global_id(uint64_t id);
connection_t *connection_get_by_type(int type);
+MOCK_DECL(connection_t *,connection_get_by_type_nonlinked,(int type));
MOCK_DECL(connection_t *,connection_get_by_type_addr_port_purpose,(int type,
const tor_addr_t *addr,
uint16_t port, int purpose));
diff --git a/src/core/mainloop/mainloop.c b/src/core/mainloop/mainloop.c
index a24b343756..834587bb71 100644
--- a/src/core/mainloop/mainloop.c
+++ b/src/core/mainloop/mainloop.c
@@ -95,7 +95,7 @@
#include "feature/stats/geoip_stats.h"
#include "feature/stats/predict_ports.h"
#include "feature/stats/rephist.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "lib/crypt_ops/crypto_rand.h"
#include "lib/err/backtrace.h"
#include "lib/tls/buffers_tls.h"
@@ -200,12 +200,10 @@ static int can_complete_circuits = 0;
#define LAZY_DESCRIPTOR_RETRY_INTERVAL (60)
static int conn_close_if_marked(int i);
-static int run_main_loop_until_done(void);
static void connection_start_reading_from_linked_conn(connection_t *conn);
static int connection_should_read_from_linked_conn(connection_t *conn);
static void conn_read_callback(evutil_socket_t fd, short event, void *_conn);
static void conn_write_callback(evutil_socket_t fd, short event, void *_conn);
-static void second_elapsed_callback(periodic_timer_t *timer, void *args);
static void shutdown_did_not_work_callback(evutil_socket_t fd, short event,
void *arg) ATTR_NORETURN;
@@ -1011,23 +1009,18 @@ conn_close_if_marked(int i)
* busy Libevent loops where we keep ending up here and returning
* 0 until we are no longer blocked on bandwidth.
*/
- connection_consider_empty_read_buckets(conn);
connection_consider_empty_write_buckets(conn);
-
/* Make sure that consider_empty_buckets really disabled the
* connection: */
if (BUG(connection_is_writing(conn))) {
connection_write_bw_exhausted(conn, true);
}
- if (BUG(connection_is_reading(conn))) {
- /* XXXX+ We should make this code unreachable; if a connection is
- * marked for close and flushing, there is no point in reading to it
- * at all. Further, checking at this point is a bit of a hack: it
- * would make much more sense to react in
- * connection_handle_read_impl, or to just stop reading in
- * mark_and_flush */
- connection_read_bw_exhausted(conn, true/* kludge. */);
- }
+
+ /* The connection is being held due to write rate limit and thus will
+ * flush its data later. We need to stop reading because this
+ * connection is about to be closed once flushed. It should not
+ * process anything more coming in at this stage. */
+ connection_stop_reading(conn);
}
return 0;
}
@@ -1359,6 +1352,7 @@ CALLBACK(heartbeat);
CALLBACK(hs_service);
CALLBACK(launch_descriptor_fetches);
CALLBACK(launch_reachability_tests);
+CALLBACK(prune_old_routers);
CALLBACK(reachability_warnings);
CALLBACK(record_bridge_stats);
CALLBACK(rend_cache_failure_clean);
@@ -1371,78 +1365,93 @@ CALLBACK(save_stability);
CALLBACK(save_state);
CALLBACK(write_bridge_ns);
CALLBACK(write_stats_file);
+CALLBACK(control_per_second_events);
+CALLBACK(second_elapsed);
#undef CALLBACK
/* Now we declare an array of periodic_event_item_t for each periodic event */
-#define CALLBACK(name, r, f) PERIODIC_EVENT(name, r, f)
+#define CALLBACK(name, r, f) \
+ PERIODIC_EVENT(name, PERIODIC_EVENT_ROLE_ ## r, f)
+#define FL(name) (PERIODIC_EVENT_FLAG_ ## name)
STATIC periodic_event_item_t periodic_events[] = {
- /* Everyone needs to run those. */
- CALLBACK(add_entropy, PERIODIC_EVENT_ROLE_ALL, 0),
- CALLBACK(check_expired_networkstatus, PERIODIC_EVENT_ROLE_ALL, 0),
- CALLBACK(clean_caches, PERIODIC_EVENT_ROLE_ALL, 0),
- CALLBACK(fetch_networkstatus, PERIODIC_EVENT_ROLE_ALL,
- PERIODIC_EVENT_FLAG_NEED_NET),
- CALLBACK(heartbeat, PERIODIC_EVENT_ROLE_ALL, 0),
- CALLBACK(launch_descriptor_fetches, PERIODIC_EVENT_ROLE_ALL,
- PERIODIC_EVENT_FLAG_NEED_NET),
- CALLBACK(reset_padding_counts, PERIODIC_EVENT_ROLE_ALL, 0),
- CALLBACK(retry_listeners, PERIODIC_EVENT_ROLE_ALL,
- PERIODIC_EVENT_FLAG_NEED_NET),
- CALLBACK(save_state, PERIODIC_EVENT_ROLE_ALL, 0),
- CALLBACK(rotate_x509_certificate, PERIODIC_EVENT_ROLE_ALL, 0),
- CALLBACK(write_stats_file, PERIODIC_EVENT_ROLE_ALL, 0),
+
+ /* Everyone needs to run these. They need to have very long timeouts for
+ * that to be safe. */
+ CALLBACK(add_entropy, ALL, 0),
+ CALLBACK(heartbeat, ALL, 0),
+ CALLBACK(reset_padding_counts, ALL, 0),
+
+ /* This is a legacy catch-all callback that runs once per second if
+ * we are online and active. */
+ CALLBACK(second_elapsed, NET_PARTICIPANT,
+ FL(NEED_NET)|FL(RUN_ON_DISABLE)),
+
+ /* XXXX Do we have a reason to do this on a callback? Does it do any good at
+ * all? For now, if we're dormant, we can let our listeners decay. */
+ CALLBACK(retry_listeners, NET_PARTICIPANT, FL(NEED_NET)),
+
+ /* We need to do these if we're participating in the Tor network. */
+ CALLBACK(check_expired_networkstatus, NET_PARTICIPANT, 0),
+ CALLBACK(fetch_networkstatus, NET_PARTICIPANT, 0),
+ CALLBACK(launch_descriptor_fetches, NET_PARTICIPANT, FL(NEED_NET)),
+ CALLBACK(rotate_x509_certificate, NET_PARTICIPANT, 0),
+ CALLBACK(check_network_participation, NET_PARTICIPANT, 0),
+
+ /* We need to do these if we're participating in the Tor network, and
+ * immediately before we stop. */
+ CALLBACK(clean_caches, NET_PARTICIPANT, FL(RUN_ON_DISABLE)),
+ CALLBACK(save_state, NET_PARTICIPANT, FL(RUN_ON_DISABLE)),
+ CALLBACK(write_stats_file, NET_PARTICIPANT, FL(RUN_ON_DISABLE)),
+ CALLBACK(prune_old_routers, NET_PARTICIPANT, FL(RUN_ON_DISABLE)),
/* Routers (bridge and relay) only. */
- CALLBACK(check_descriptor, PERIODIC_EVENT_ROLE_ROUTER,
- PERIODIC_EVENT_FLAG_NEED_NET),
- CALLBACK(check_ed_keys, PERIODIC_EVENT_ROLE_ROUTER, 0),
- CALLBACK(check_for_reachability_bw, PERIODIC_EVENT_ROLE_ROUTER,
- PERIODIC_EVENT_FLAG_NEED_NET),
- CALLBACK(check_onion_keys_expiry_time, PERIODIC_EVENT_ROLE_ROUTER, 0),
- CALLBACK(expire_old_ciruits_serverside, PERIODIC_EVENT_ROLE_ROUTER,
- PERIODIC_EVENT_FLAG_NEED_NET),
- CALLBACK(reachability_warnings, PERIODIC_EVENT_ROLE_ROUTER,
- PERIODIC_EVENT_FLAG_NEED_NET),
- CALLBACK(retry_dns, PERIODIC_EVENT_ROLE_ROUTER, 0),
- CALLBACK(rotate_onion_key, PERIODIC_EVENT_ROLE_ROUTER, 0),
+ CALLBACK(check_descriptor, ROUTER, FL(NEED_NET)),
+ CALLBACK(check_ed_keys, ROUTER, 0),
+ CALLBACK(check_for_reachability_bw, ROUTER, FL(NEED_NET)),
+ CALLBACK(check_onion_keys_expiry_time, ROUTER, 0),
+ CALLBACK(expire_old_ciruits_serverside, ROUTER, FL(NEED_NET)),
+ CALLBACK(reachability_warnings, ROUTER, FL(NEED_NET)),
+ CALLBACK(retry_dns, ROUTER, 0),
+ CALLBACK(rotate_onion_key, ROUTER, 0),
/* Authorities (bridge and directory) only. */
- CALLBACK(downrate_stability, PERIODIC_EVENT_ROLE_AUTHORITIES, 0),
- CALLBACK(launch_reachability_tests, PERIODIC_EVENT_ROLE_AUTHORITIES,
- PERIODIC_EVENT_FLAG_NEED_NET),
- CALLBACK(save_stability, PERIODIC_EVENT_ROLE_AUTHORITIES, 0),
+ CALLBACK(downrate_stability, AUTHORITIES, 0),
+ CALLBACK(launch_reachability_tests, AUTHORITIES, FL(NEED_NET)),
+ CALLBACK(save_stability, AUTHORITIES, 0),
/* Directory authority only. */
- CALLBACK(check_authority_cert, PERIODIC_EVENT_ROLE_DIRAUTH, 0),
- CALLBACK(dirvote, PERIODIC_EVENT_ROLE_DIRAUTH, PERIODIC_EVENT_FLAG_NEED_NET),
+ CALLBACK(check_authority_cert, DIRAUTH, 0),
+ CALLBACK(dirvote, DIRAUTH, FL(NEED_NET)),
/* Relay only. */
- CALLBACK(check_canonical_channels, PERIODIC_EVENT_ROLE_RELAY,
- PERIODIC_EVENT_FLAG_NEED_NET),
- CALLBACK(check_dns_honesty, PERIODIC_EVENT_ROLE_RELAY,
- PERIODIC_EVENT_FLAG_NEED_NET),
+ CALLBACK(check_canonical_channels, RELAY, FL(NEED_NET)),
+ CALLBACK(check_dns_honesty, RELAY, FL(NEED_NET)),
/* Hidden Service service only. */
- CALLBACK(hs_service, PERIODIC_EVENT_ROLE_HS_SERVICE,
- PERIODIC_EVENT_FLAG_NEED_NET),
+ CALLBACK(hs_service, HS_SERVICE, FL(NEED_NET)), // XXXX break this down more
/* Bridge only. */
- CALLBACK(record_bridge_stats, PERIODIC_EVENT_ROLE_BRIDGE, 0),
+ CALLBACK(record_bridge_stats, BRIDGE, 0),
/* Client only. */
- CALLBACK(rend_cache_failure_clean, PERIODIC_EVENT_ROLE_CLIENT, 0),
+ /* XXXX this could be restricted to CLIENT+NET_PARTICIPANT */
+ CALLBACK(rend_cache_failure_clean, NET_PARTICIPANT, FL(RUN_ON_DISABLE)),
/* Bridge Authority only. */
- CALLBACK(write_bridge_ns, PERIODIC_EVENT_ROLE_BRIDGEAUTH, 0),
+ CALLBACK(write_bridge_ns, BRIDGEAUTH, 0),
/* Directory server only. */
- CALLBACK(clean_consdiffmgr, PERIODIC_EVENT_ROLE_DIRSERVER, 0),
+ CALLBACK(clean_consdiffmgr, DIRSERVER, 0),
+
+ /* Controller with per-second events only. */
+ CALLBACK(control_per_second_events, CONTROLEV, 0),
END_OF_PERIODIC_EVENTS
};
#undef CALLBACK
+#undef FL
/* These are pointers to members of periodic_events[] that are used to
* implement particular callbacks. We keep them separate here so that we
@@ -1454,6 +1463,7 @@ static periodic_event_item_t *fetch_networkstatus_event=NULL;
static periodic_event_item_t *launch_descriptor_fetches_event=NULL;
static periodic_event_item_t *check_dns_honesty_event=NULL;
static periodic_event_item_t *save_state_event=NULL;
+static periodic_event_item_t *prune_old_routers_event=NULL;
/** Reset all the periodic events so we'll do all our actions again as if we
* just started up.
@@ -1490,7 +1500,7 @@ get_my_roles(const or_options_t *options)
{
tor_assert(options);
- int roles = 0;
+ int roles = PERIODIC_EVENT_ROLE_ALL;
int is_bridge = options->BridgeRelay;
int is_relay = server_mode(options);
int is_dirauth = authdir_mode_v3(options);
@@ -1498,6 +1508,8 @@ get_my_roles(const or_options_t *options)
int is_hidden_service = !!hs_service_get_num_services() ||
!!rend_num_services();
int is_dirserver = dir_server_mode(options);
+ int sending_control_events = control_any_per_second_event_enabled();
+
/* We also consider tor to have the role of a client if the ControlPort is
* set because a lot of things can be done over the control port which
* requires tor to have basic functionnalities. */
@@ -1505,6 +1517,9 @@ get_my_roles(const or_options_t *options)
options->ControlPort_set ||
options->OwningControllerFD != UINT64_MAX;
+ int is_net_participant = is_participating_on_network() ||
+ is_relay || is_hidden_service;
+
if (is_bridge) roles |= PERIODIC_EVENT_ROLE_BRIDGE;
if (is_client) roles |= PERIODIC_EVENT_ROLE_CLIENT;
if (is_relay) roles |= PERIODIC_EVENT_ROLE_RELAY;
@@ -1512,6 +1527,8 @@ get_my_roles(const or_options_t *options)
if (is_bridgeauth) roles |= PERIODIC_EVENT_ROLE_BRIDGEAUTH;
if (is_hidden_service) roles |= PERIODIC_EVENT_ROLE_HS_SERVICE;
if (is_dirserver) roles |= PERIODIC_EVENT_ROLE_DIRSERVER;
+ if (is_net_participant) roles |= PERIODIC_EVENT_ROLE_NET_PARTICIPANT;
+ if (sending_control_events) roles |= PERIODIC_EVENT_ROLE_CONTROLEV;
return roles;
}
@@ -1556,6 +1573,7 @@ initialize_periodic_events(void)
STMT_BEGIN name ## _event = find_periodic_event( #name ); STMT_END
NAMED_CALLBACK(check_descriptor);
+ NAMED_CALLBACK(prune_old_routers);
NAMED_CALLBACK(dirvote);
NAMED_CALLBACK(fetch_networkstatus);
NAMED_CALLBACK(launch_descriptor_fetches);
@@ -1579,6 +1597,30 @@ teardown_periodic_events(void)
periodic_events_initialized = 0;
}
+static mainloop_event_t *rescan_periodic_events_ev = NULL;
+
+/** Callback: rescan the periodic event list. */
+static void
+rescan_periodic_events_cb(mainloop_event_t *event, void *arg)
+{
+ (void)event;
+ (void)arg;
+ rescan_periodic_events(get_options());
+}
+
+/**
+ * Schedule an event that will rescan which periodic events should run.
+ **/
+MOCK_IMPL(void,
+schedule_rescan_periodic_events,(void))
+{
+ if (!rescan_periodic_events_ev) {
+ rescan_periodic_events_ev =
+ mainloop_event_new(rescan_periodic_events_cb, NULL);
+ }
+ mainloop_event_activate(rescan_periodic_events_ev);
+}
+
/** Do a pass at all our periodic events, disable those we don't need anymore
* and enable those we need now using the given options. */
void
@@ -1598,20 +1640,26 @@ rescan_periodic_events(const or_options_t *options)
for (int i = 0; periodic_events[i].name; ++i) {
periodic_event_item_t *item = &periodic_events[i];
+ int enable = !!(item->roles & roles);
+
/* Handle the event flags. */
if (net_is_disabled() &&
(item->flags & PERIODIC_EVENT_FLAG_NEED_NET)) {
- continue;
+ enable = 0;
}
/* Enable the event if needed. It is safe to enable an event that was
* already enabled. Same goes for disabling it. */
- if (item->roles & roles) {
+ if (enable) {
log_debug(LD_GENERAL, "Launching periodic event %s", item->name);
periodic_event_enable(item);
} else {
log_debug(LD_GENERAL, "Disabling periodic event %s", item->name);
- periodic_event_disable(item);
+ if (item->flags & PERIODIC_EVENT_FLAG_RUN_ON_DISABLE) {
+ periodic_event_schedule_and_disable(item);
+ } else {
+ periodic_event_disable(item);
+ }
}
}
}
@@ -1686,6 +1734,30 @@ mainloop_schedule_postloop_cleanup(void)
mainloop_event_activate(postloop_cleanup_ev);
}
+/** Event to run 'scheduled_shutdown_cb' */
+static mainloop_event_t *scheduled_shutdown_ev=NULL;
+
+/** Callback: run a scheduled shutdown */
+static void
+scheduled_shutdown_cb(mainloop_event_t *ev, void *arg)
+{
+ (void)ev;
+ (void)arg;
+ log_notice(LD_GENERAL, "Clean shutdown finished. Exiting.");
+ tor_shutdown_event_loop_and_exit(0);
+}
+
+/** Schedule the mainloop to exit after <b>delay_sec</b> seconds. */
+void
+mainloop_schedule_shutdown(int delay_sec)
+{
+ const struct timeval delay_tv = { delay_sec, 0 };
+ if (! scheduled_shutdown_ev) {
+ scheduled_shutdown_ev = mainloop_event_new(scheduled_shutdown_cb, NULL);
+ }
+ mainloop_event_schedule(scheduled_shutdown_ev, &delay_tv);
+}
+
#define LONGEST_TIMER_PERIOD (30 * 86400)
/** Helper: Return the number of seconds between <b>now</b> and <b>next</b>,
* clipped to the range [1 second, LONGEST_TIMER_PERIOD]. */
@@ -1710,16 +1782,16 @@ safe_timer_diff(time_t now, time_t next)
}
/** Perform regular maintenance tasks. This function gets run once per
- * second by second_elapsed_callback().
+ * second.
*/
-static void
-run_scheduled_events(time_t now)
+static int
+second_elapsed_callback(time_t now, const or_options_t *options)
{
- const or_options_t *options = get_options();
-
- /* 0. See if we've been asked to shut down and our timeout has
- * expired; or if our bandwidth limits are exhausted and we
- * should hibernate; or if it's time to wake up from hibernation.
+ /* 0. See if our bandwidth limits are exhausted and we should hibernate
+ *
+ * Note: we have redundant mechanisms to handle the case where it's
+ * time to wake up from hibernation; or where we have a scheduled
+ * shutdown and it's time to run it, but this will also handle those.
*/
consider_hibernation(now);
@@ -1729,10 +1801,13 @@ run_scheduled_events(time_t now)
if (options->UseBridges && !net_is_disabled()) {
/* Note: this check uses net_is_disabled(), not should_delay_dir_fetches()
* -- the latter is only for fetching consensus-derived directory info. */
+ // TODO: client
+ // Also, schedule this rather than probing 1x / sec
fetch_bridge_descriptors(options, now);
}
if (accounting_is_enabled(options)) {
+ // TODO: refactor or rewrite?
accounting_run_housekeeping(now);
}
@@ -1743,6 +1818,7 @@ run_scheduled_events(time_t now)
*/
/* (If our circuit build timeout can ever become lower than a second (which
* it can't, currently), we should do this more often.) */
+ // TODO: All expire stuff can become NET_PARTICIPANT, RUN_ON_DISABLE
circuit_expire_building();
circuit_expire_waiting_for_better_guard();
@@ -1776,9 +1852,8 @@ run_scheduled_events(time_t now)
run_connection_housekeeping(i, now);
}
- /* 11b. check pending unconfigured managed proxies */
- if (!net_is_disabled() && pt_proxies_configuration_pending())
- pt_configure_remaining_proxies();
+ /* Run again in a second. */
+ return 1;
}
/* Periodic callback: rotate the onion keys after the period defined by the
@@ -1925,6 +2000,55 @@ add_entropy_callback(time_t now, const or_options_t *options)
return ENTROPY_INTERVAL;
}
+/** Periodic callback: if there has been no network usage in a while,
+ * enter a dormant state. */
+STATIC int
+check_network_participation_callback(time_t now, const or_options_t *options)
+{
+ /* If we're a server, we can't become dormant. */
+ if (server_mode(options)) {
+ goto found_activity;
+ }
+
+ /* If we're running an onion service, we can't become dormant. */
+ /* XXXX this would be nice to change, so that we can be dormant with a
+ * service. */
+ if (hs_service_get_num_services() || rend_num_services()) {
+ goto found_activity;
+ }
+
+ /* If we have any currently open entry streams other than "linked"
+ * connections used for directory requests, those count as user activity.
+ */
+ if (options->DormantTimeoutDisabledByIdleStreams) {
+ if (connection_get_by_type_nonlinked(CONN_TYPE_AP) != NULL) {
+ goto found_activity;
+ }
+ }
+
+ /* XXXX Make this configurable? */
+/** How often do we check whether we have had network activity? */
+#define CHECK_PARTICIPATION_INTERVAL (5*60)
+
+ /* Become dormant if there has been no user activity in a long time.
+ * (The funny checks below are in order to prevent overflow.) */
+ time_t time_since_last_activity = 0;
+ if (get_last_user_activity_time() < now)
+ time_since_last_activity = now - get_last_user_activity_time();
+ if (time_since_last_activity >= options->DormantClientTimeout) {
+ log_notice(LD_GENERAL, "No user activity in a long time: becoming"
+ " dormant.");
+ set_network_participation(false);
+ rescan_periodic_events(options);
+ }
+
+ return CHECK_PARTICIPATION_INTERVAL;
+
+ found_activity:
+ note_user_activity(now);
+ return CHECK_PARTICIPATION_INTERVAL;
+}
+
/**
* Periodic callback: if we're an authority, make sure we test
* the routers on the network for reachability.
@@ -2218,6 +2342,27 @@ retry_dns_callback(time_t now, const or_options_t *options)
return RETRY_DNS_INTERVAL;
}
+/**
+ * Periodic callback: prune routerlist of old information about Tor network.
+ */
+static int
+prune_old_routers_callback(time_t now, const or_options_t *options)
+{
+#define ROUTERLIST_PRUNING_INTERVAL (60*60) // 1 hour.
+ (void)now;
+ (void)options;
+
+ if (!net_is_disabled()) {
+ /* If any networkstatus documents are no longer recent, we need to
+ * update all the descriptors' running status. */
+ /* Remove dead routers. */
+ log_debug(LD_GENERAL, "Pruning routerlist...");
+ routerlist_remove_old_routers();
+ }
+
+ return ROUTERLIST_PRUNING_INTERVAL;
+}
+
/** Periodic callback: consider rebuilding or and re-uploading our descriptor
* (if we've passed our internal checks). */
static int
@@ -2237,12 +2382,6 @@ check_descriptor_callback(time_t now, const or_options_t *options)
check_descriptor_ipaddress_changed(now);
mark_my_descriptor_dirty_if_too_old(now);
consider_publishable_server(0);
- /* If any networkstatus documents are no longer recent, we need to
- * update all the descriptors' running status. */
- /* Remove dead routers. */
- /* XXXX This doesn't belong here, but it was here in the pre-
- * XXXX refactoring code. */
- routerlist_remove_old_routers();
}
return CHECK_DESCRIPTOR_INTERVAL;
@@ -2500,36 +2639,19 @@ hs_service_callback(time_t now, const or_options_t *options)
return 1;
}
-/** Timer: used to invoke second_elapsed_callback() once per second. */
-static periodic_timer_t *second_timer = NULL;
-
-/**
- * Enable or disable the per-second timer as appropriate, creating it if
- * necessary.
+/*
+ * Periodic callback: Send once-per-second events to the controller(s).
+ * This is called every second.
*/
-void
-reschedule_per_second_timer(void)
+static int
+control_per_second_events_callback(time_t now, const or_options_t *options)
{
- struct timeval one_second;
- one_second.tv_sec = 1;
- one_second.tv_usec = 0;
-
- if (! second_timer) {
- second_timer = periodic_timer_new(tor_libevent_get_base(),
- &one_second,
- second_elapsed_callback,
- NULL);
- tor_assert(second_timer);
- }
+ (void) options;
+ (void) now;
- const bool run_per_second_events =
- control_any_per_second_event_enabled() || ! net_is_completely_disabled();
+ control_per_second_events();
- if (run_per_second_events) {
- periodic_timer_launch(second_timer, &one_second);
- } else {
- periodic_timer_disable(second_timer);
- }
+ return 1;
}
/** Last time that update_current_time was called. */
@@ -2559,6 +2681,17 @@ update_current_time(time_t now)
memcpy(&last_updated, &current_second_last_changed, sizeof(last_updated));
monotime_coarse_get(&current_second_last_changed);
+ /** How much clock jumping means that we should adjust our idea of when
+ * to go dormant? */
+#define NUM_JUMPED_SECONDS_BEFORE_NETSTATUS_UPDATE 20
+
+ /* Don't go dormant early or late just because we jumped in time. */
+ if (ABS(seconds_elapsed) >= NUM_JUMPED_SECONDS_BEFORE_NETSTATUS_UPDATE) {
+ if (is_participating_on_network()) {
+ netstatus_note_clock_jumped(seconds_elapsed);
+ }
+ }
+
/** How much clock jumping do we tolerate? */
#define NUM_JUMPED_SECONDS_BEFORE_WARN 100
@@ -2568,6 +2701,7 @@ update_current_time(time_t now)
if (seconds_elapsed < -NUM_JUMPED_SECONDS_BEFORE_WARN) {
// moving back in time is always a bad sign.
circuit_note_clock_jumped(seconds_elapsed, false);
+
} else if (seconds_elapsed >= NUM_JUMPED_SECONDS_BEFORE_WARN) {
/* Compare the monotonic clock to the result of time(). */
const int32_t monotime_msec_passed =
@@ -2597,31 +2731,6 @@ update_current_time(time_t now)
current_second = now;
}
-/** Libevent callback: invoked once every second. */
-static void
-second_elapsed_callback(periodic_timer_t *timer, void *arg)
-{
- /* XXXX This could be sensibly refactored into multiple callbacks, and we
- * could use Libevent's timers for this rather than checking the current
- * time against a bunch of timeouts every second. */
- time_t now;
- (void)timer;
- (void)arg;
-
- now = time(NULL);
-
- /* We don't need to do this once-per-second any more: time-updating is
- * only in this callback _because it is a callback_. It should be fine
- * to disable this callback, and the time will still get updated.
- */
- update_current_time(now);
-
- /* Maybe some controller events are ready to fire */
- control_per_second_events();
-
- run_scheduled_events(now);
-}
-
#ifdef HAVE_SYSTEMD_209
static periodic_timer_t *systemd_watchdog_timer = NULL;
@@ -2712,9 +2821,6 @@ do_main_loop(void)
initialize_periodic_events();
initialize_mainloop_events();
- /* set up once-a-second callback. */
- reschedule_per_second_timer();
-
#ifdef HAVE_SYSTEMD_209
uint64_t watchdog_delay;
/* set up systemd watchdog notification. */
@@ -2736,10 +2842,6 @@ do_main_loop(void)
}
}
#endif /* defined(HAVE_SYSTEMD_209) */
-
- main_loop_should_exit = 0;
- main_loop_exit_value = 0;
-
#ifdef ENABLE_RESTART_DEBUGGING
{
static int first_time = 1;
@@ -2865,10 +2967,14 @@ run_main_loop_once(void)
*
* Shadow won't invoke this function, so don't fill it up with things.
*/
-static int
+STATIC int
run_main_loop_until_done(void)
{
int loop_result = 1;
+
+ main_loop_should_exit = 0;
+ main_loop_exit_value = 0;
+
do {
loop_result = run_main_loop_once();
} while (loop_result == 1);
@@ -2899,7 +3005,6 @@ tor_mainloop_free_all(void)
smartlist_free(connection_array);
smartlist_free(closeable_connection_lst);
smartlist_free(active_linked_connection_lst);
- periodic_timer_free(second_timer);
teardown_periodic_events();
tor_event_free(shutdown_did_not_work_event);
tor_event_free(initialize_periodic_events_event);
@@ -2907,6 +3012,8 @@ tor_mainloop_free_all(void)
mainloop_event_free(schedule_active_linked_connections_event);
mainloop_event_free(postloop_cleanup_ev);
mainloop_event_free(handle_deferred_signewnym_ev);
+ mainloop_event_free(scheduled_shutdown_ev);
+ mainloop_event_free(rescan_periodic_events_ev);
#ifdef HAVE_SYSTEMD_209
periodic_timer_free(systemd_watchdog_timer);
diff --git a/src/core/mainloop/mainloop.h b/src/core/mainloop/mainloop.h
index 632733d9a6..730234857d 100644
--- a/src/core/mainloop/mainloop.h
+++ b/src/core/mainloop/mainloop.h
@@ -65,6 +65,7 @@ void reschedule_or_state_save(void);
void reschedule_dirvote(const or_options_t *options);
void mainloop_schedule_postloop_cleanup(void);
void rescan_periodic_events(const or_options_t *options);
+MOCK_DECL(void, schedule_rescan_periodic_events,(void));
void update_current_time(time_t now);
@@ -81,11 +82,12 @@ uint64_t get_main_loop_error_count(void);
uint64_t get_main_loop_idle_count(void);
void periodic_events_on_new_options(const or_options_t *options);
-void reschedule_per_second_timer(void);
void do_signewnym(time_t);
time_t get_last_signewnym_time(void);
+void mainloop_schedule_shutdown(int delay_sec);
+
void tor_init_connection_lists(void);
void initialize_mainloop_events(void);
void tor_mainloop_free_all(void);
@@ -98,10 +100,14 @@ extern struct token_bucket_rw_t global_bucket;
extern struct token_bucket_rw_t global_relayed_bucket;
#ifdef MAINLOOP_PRIVATE
+STATIC int run_main_loop_until_done(void);
STATIC void close_closeable_connections(void);
STATIC void initialize_periodic_events(void);
STATIC void teardown_periodic_events(void);
STATIC int get_my_roles(const or_options_t *);
+STATIC int check_network_participation_callback(time_t now,
+ const or_options_t *options);
+
#ifdef TOR_UNIT_TESTS
extern smartlist_t *connection_array;
diff --git a/src/core/mainloop/netstatus.c b/src/core/mainloop/netstatus.c
index f026474494..d1989cb839 100644
--- a/src/core/mainloop/netstatus.c
+++ b/src/core/mainloop/netstatus.c
@@ -6,9 +6,12 @@
#include "core/or/or.h"
#include "core/mainloop/netstatus.h"
+#include "core/mainloop/mainloop.h"
#include "app/config/config.h"
#include "feature/hibernate/hibernate.h"
+#include "app/config/or_state_st.h"
+
/** Return true iff our network is in some sense disabled or shutting down:
* either we're hibernating, entering hibernation, or the network is turned
* off with DisableNetwork. */
@@ -26,3 +29,132 @@ net_is_completely_disabled(void)
{
return get_options()->DisableNetwork || we_are_fully_hibernating();
}
+
+/**
+ * The time at which we've last seen "user activity" -- that is, any activity
+ * that should keep us as a participant on the network.
+ *
+ * This is not actually the true time. We will adjust this forward if
+ * our clock jumps, or if Tor is shut down for a while, so that the time
+ * since our last activity remains as it was before the jump or shutdown.
+ */
+static time_t last_user_activity_seen = 0;
+
+/**
+ * True iff we are currently a "network participant" -- that is, we
+ * are building circuits, fetching directory information, and so on.
+ **/
+static bool participating_on_network = false;
+
+/**
+ * Record the fact that we have seen "user activity" at the time now. Move
+ * "last activity seen" time forwards, but never backwards.
+ *
+ * If we were previously not participating on the network, set our
+ * participation status to true, and launch periodic events as appropriate.
+ **/
+void
+note_user_activity(time_t now)
+{
+ last_user_activity_seen = MAX(now, last_user_activity_seen);
+
+ if (! participating_on_network) {
+ log_notice(LD_GENERAL, "Tor is no longer dormant.");
+ set_network_participation(true);
+ schedule_rescan_periodic_events();
+ }
+}
+
+/**
+ * Change the time at which "user activitiy" was last seen to <b>now</b>.
+ *
+ * Unlike note_user_actity, this function sets the time without checking
+ * whether it is in the past, and without causing any rescan of periodic events
+ * or change in participation status.
+ */
+void
+reset_user_activity(time_t now)
+{
+ last_user_activity_seen = now;
+}
+
+/**
+ * Return the most recent time at which we recorded "user activity".
+ **/
+time_t
+get_last_user_activity_time(void)
+{
+ return last_user_activity_seen;
+}
+
+/**
+ * Set the field that remembers whether we are currently participating on the
+ * network. Does not schedule or un-schedule periodic events.
+ **/
+void
+set_network_participation(bool participation)
+{
+ participating_on_network = participation;
+}
+
+/**
+ * Return true iff we are currently participating on the network.
+ **/
+bool
+is_participating_on_network(void)
+{
+ return participating_on_network;
+}
+
+/**
+ * Update 'state' with the last time at which we were active on the network.
+ **/
+void
+netstatus_flush_to_state(or_state_t *state, time_t now)
+{
+ state->Dormant = ! participating_on_network;
+ if (participating_on_network) {
+ time_t sec_since_activity = MAX(0, now - last_user_activity_seen);
+ state->MinutesSinceUserActivity = (int)(sec_since_activity / 60);
+ } else {
+ state->MinutesSinceUserActivity = 0;
+ }
+}
+
+/**
+ * Update our current view of network participation from an or_state_t object.
+ **/
+void
+netstatus_load_from_state(const or_state_t *state, time_t now)
+{
+ time_t last_activity;
+ if (state->Dormant == -1) { // Initial setup.
+ if (get_options()->DormantOnFirstStartup) {
+ last_activity = 0;
+ participating_on_network = false;
+ } else {
+ // Start up as active, treat activity as happening now.
+ last_activity = now;
+ participating_on_network = true;
+ }
+ } else if (state->Dormant) {
+ last_activity = 0;
+ participating_on_network = false;
+ } else {
+ last_activity = now - 60 * state->MinutesSinceUserActivity;
+ participating_on_network = true;
+ }
+ reset_user_activity(last_activity);
+}
+
+/**
+ * Adjust the time at which the user was last active by <b>seconds_diff</b>
+ * in response to a clock jump.
+ */
+void
+netstatus_note_clock_jumped(time_t seconds_diff)
+{
+ time_t last_active = get_last_user_activity_time();
+ if (last_active)
+ reset_user_activity(last_active + seconds_diff);
+}
diff --git a/src/core/mainloop/netstatus.h b/src/core/mainloop/netstatus.h
index e9310c2929..9a0fa410fd 100644
--- a/src/core/mainloop/netstatus.h
+++ b/src/core/mainloop/netstatus.h
@@ -10,4 +10,15 @@
int net_is_disabled(void);
int net_is_completely_disabled(void);
+void note_user_activity(time_t now);
+void reset_user_activity(time_t now);
+time_t get_last_user_activity_time(void);
+
+void set_network_participation(bool participation);
+bool is_participating_on_network(void);
+
+void netstatus_flush_to_state(or_state_t *state, time_t now);
+void netstatus_load_from_state(const or_state_t *state, time_t now);
+void netstatus_note_clock_jumped(time_t seconds_diff);
+
#endif
diff --git a/src/core/mainloop/periodic.c b/src/core/mainloop/periodic.c
index c1785eb38f..9f9b178e43 100644
--- a/src/core/mainloop/periodic.c
+++ b/src/core/mainloop/periodic.c
@@ -45,10 +45,6 @@ periodic_event_dispatch(mainloop_event_t *ev, void *data)
periodic_event_item_t *event = data;
tor_assert(ev == event->ev);
- if (BUG(!periodic_event_is_enabled(event))) {
- return;
- }
-
time_t now = time(NULL);
update_current_time(now);
const or_options_t *options = get_options();
@@ -57,7 +53,7 @@ periodic_event_dispatch(mainloop_event_t *ev, void *data)
int next_interval = 0;
if (!periodic_event_is_enabled(event)) {
- /* The event got disabled from inside its callback; no need to
+ /* The event got disabled from inside its callback, or before: no need to
* reschedule. */
return;
}
@@ -172,3 +168,19 @@ periodic_event_disable(periodic_event_item_t *event)
mainloop_event_cancel(event->ev);
event->enabled = 0;
}
+
+/**
+ * Disable an event, then schedule it to run once.
+ * Do nothing if the event was already disabled.
+ */
+void
+periodic_event_schedule_and_disable(periodic_event_item_t *event)
+{
+ tor_assert(event);
+ if (!periodic_event_is_enabled(event))
+ return;
+
+ periodic_event_disable(event);
+
+ mainloop_event_activate(event->ev);
+}
diff --git a/src/core/mainloop/periodic.h b/src/core/mainloop/periodic.h
index 4c8c3c96cc..05ba4297f3 100644
--- a/src/core/mainloop/periodic.h
+++ b/src/core/mainloop/periodic.h
@@ -15,6 +15,10 @@
#define PERIODIC_EVENT_ROLE_BRIDGEAUTH (1U << 4)
#define PERIODIC_EVENT_ROLE_HS_SERVICE (1U << 5)
#define PERIODIC_EVENT_ROLE_DIRSERVER (1U << 6)
+#define PERIODIC_EVENT_ROLE_CONTROLEV (1U << 7)
+
+#define PERIODIC_EVENT_ROLE_NET_PARTICIPANT (1U << 8)
+#define PERIODIC_EVENT_ROLE_ALL (1U << 9)
/* Helper macro to make it a bit less annoying to defined groups of roles that
* are often used. */
@@ -25,10 +29,6 @@
/* Authorities that is both bridge and directory. */
#define PERIODIC_EVENT_ROLE_AUTHORITIES \
(PERIODIC_EVENT_ROLE_BRIDGEAUTH | PERIODIC_EVENT_ROLE_DIRAUTH)
-/* All roles. */
-#define PERIODIC_EVENT_ROLE_ALL \
- (PERIODIC_EVENT_ROLE_AUTHORITIES | PERIODIC_EVENT_ROLE_CLIENT | \
- PERIODIC_EVENT_ROLE_HS_SERVICE | PERIODIC_EVENT_ROLE_ROUTER)
/*
* Event flags which can change the behavior of an event.
@@ -39,6 +39,11 @@
* the net_is_disabled() check. */
#define PERIODIC_EVENT_FLAG_NEED_NET (1U << 0)
+/* Indicate that if the event is enabled, it needs to be run once before
+ * it becomes disabled.
+ */
+#define PERIODIC_EVENT_FLAG_RUN_ON_DISABLE (1U << 1)
+
/** Callback function for a periodic event to take action. The return value
* influences the next time the function will get called. Return
* PERIODIC_EVENT_NO_UPDATE to not update <b>last_action_time</b> and be polled
@@ -83,6 +88,6 @@ void periodic_event_destroy(periodic_event_item_t *event);
void periodic_event_reschedule(periodic_event_item_t *event);
void periodic_event_enable(periodic_event_item_t *event);
void periodic_event_disable(periodic_event_item_t *event);
+void periodic_event_schedule_and_disable(periodic_event_item_t *event);
#endif /* !defined(TOR_PERIODIC_H) */
-
diff --git a/src/core/or/circuitbuild.c b/src/core/or/circuitbuild.c
index a69457571e..d3744dc1c1 100644
--- a/src/core/or/circuitbuild.c
+++ b/src/core/or/circuitbuild.c
@@ -255,9 +255,8 @@ get_unique_circ_id_by_chan(channel_t *chan)
/** If <b>verbose</b> is false, allocate and return a comma-separated list of
* the currently built elements of <b>circ</b>. If <b>verbose</b> is true, also
* list information about link status in a more verbose format using spaces.
- * If <b>verbose_names</b> is false, give nicknames for Named routers and hex
- * digests for others; if <b>verbose_names</b> is true, use $DIGEST=Name style
- * names.
+ * If <b>verbose_names</b> is false, give hex digests; if <b>verbose_names</b>
+ * is true, use $DIGEST=Name style names.
*/
static char *
circuit_list_path_impl(origin_circuit_t *circ, int verbose, int verbose_names)
@@ -1658,22 +1657,25 @@ route_len_for_purpose(uint8_t purpose, extend_info_t *exit_ei)
STATIC int
new_route_len(uint8_t purpose, extend_info_t *exit_ei, smartlist_t *nodes)
{
- int num_acceptable_routers;
int routelen;
tor_assert(nodes);
routelen = route_len_for_purpose(purpose, exit_ei);
- num_acceptable_routers = count_acceptable_nodes(nodes);
+ int num_acceptable_direct = count_acceptable_nodes(nodes, 1);
+ int num_acceptable_indirect = count_acceptable_nodes(nodes, 0);
- log_debug(LD_CIRC,"Chosen route length %d (%d/%d routers suitable).",
- routelen, num_acceptable_routers, smartlist_len(nodes));
+ log_debug(LD_CIRC,"Chosen route length %d (%d direct and %d indirect "
+ "routers suitable).", routelen, num_acceptable_direct,
+ num_acceptable_indirect);
- if (num_acceptable_routers < routelen) {
+ if (num_acceptable_direct < 1 || num_acceptable_indirect < routelen - 1) {
log_info(LD_CIRC,
- "Not enough acceptable routers (%d/%d). Discarding this circuit.",
- num_acceptable_routers, routelen);
+ "Not enough acceptable routers (%d/%d direct and %d/%d "
+ "indirect routers suitable). Discarding this circuit.",
+ num_acceptable_direct, routelen,
+ num_acceptable_indirect, routelen);
return -1;
}
@@ -2315,7 +2317,7 @@ circuit_extend_to_new_exit(origin_circuit_t *circ, extend_info_t *exit_ei)
* particular router. See bug #25885.)
*/
MOCK_IMPL(STATIC int,
-count_acceptable_nodes, (smartlist_t *nodes))
+count_acceptable_nodes, (smartlist_t *nodes, int direct))
{
int num=0;
@@ -2329,7 +2331,7 @@ count_acceptable_nodes, (smartlist_t *nodes))
if (! node->is_valid)
// log_debug(LD_CIRC,"Nope, the directory says %d is not valid.",i);
continue;
- if (! node_has_any_descriptor(node))
+ if (! node_has_preferred_descriptor(node, direct))
continue;
/* The node has a descriptor, so we can just check the ntor key directly */
if (!node_has_curve25519_onion_key(node))
diff --git a/src/core/or/circuitbuild.h b/src/core/or/circuitbuild.h
index cee71b297b..93f903f060 100644
--- a/src/core/or/circuitbuild.h
+++ b/src/core/or/circuitbuild.h
@@ -84,7 +84,8 @@ void circuit_upgrade_circuits_from_guard_wait(void);
STATIC circid_t get_unique_circ_id_by_chan(channel_t *chan);
STATIC int new_route_len(uint8_t purpose, extend_info_t *exit_ei,
smartlist_t *nodes);
-MOCK_DECL(STATIC int, count_acceptable_nodes, (smartlist_t *nodes));
+MOCK_DECL(STATIC int, count_acceptable_nodes, (smartlist_t *nodes,
+ int direct));
STATIC int onion_extend_cpath(origin_circuit_t *circ);
diff --git a/src/core/or/circuitlist.c b/src/core/or/circuitlist.c
index 35efc6541f..0aa21000a1 100644
--- a/src/core/or/circuitlist.c
+++ b/src/core/or/circuitlist.c
@@ -94,7 +94,7 @@
#include "lib/compress/compress_lzma.h"
#include "lib/compress/compress_zlib.h"
#include "lib/compress/compress_zstd.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "ht.h"
diff --git a/src/core/or/connection_edge.c b/src/core/or/connection_edge.c
index 58aefcf8f2..9f76929e53 100644
--- a/src/core/or/connection_edge.c
+++ b/src/core/or/connection_edge.c
@@ -62,6 +62,7 @@
#include "app/config/config.h"
#include "core/mainloop/connection.h"
#include "core/mainloop/mainloop.h"
+#include "core/mainloop/netstatus.h"
#include "core/or/channel.h"
#include "core/or/circuitbuild.h"
#include "core/or/circuitlist.h"
@@ -97,7 +98,7 @@
#include "feature/rend/rendservice.h"
#include "feature/stats/predict_ports.h"
#include "feature/stats/rephist.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "lib/crypt_ops/crypto_util.h"
#include "core/or/cell_st.h"
@@ -297,6 +298,11 @@ connection_edge_process_inbuf(edge_connection_t *conn, int package_partial)
}
return 0;
case AP_CONN_STATE_OPEN:
+ if (! conn->base_.linked) {
+ note_user_activity(approx_time());
+ }
+
+ /* falls through. */
case EXIT_CONN_STATE_OPEN:
if (connection_edge_package_raw_inbuf(conn, package_partial, NULL) < 0) {
/* (We already sent an end cell if possible) */
@@ -751,6 +757,11 @@ connection_edge_flushed_some(edge_connection_t *conn)
{
switch (conn->base_.state) {
case AP_CONN_STATE_OPEN:
+ if (! conn->base_.linked) {
+ note_user_activity(approx_time());
+ }
+
+ /* falls through. */
case EXIT_CONN_STATE_OPEN:
connection_edge_consider_sending_sendme(conn);
break;
diff --git a/src/core/or/connection_or.c b/src/core/or/connection_or.c
index 274cf85904..962ec51c36 100644
--- a/src/core/or/connection_or.c
+++ b/src/core/or/connection_or.c
@@ -22,7 +22,7 @@
**/
#include "core/or/or.h"
#include "feature/client/bridges.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
/*
* Define this so we get channel internal functions, since we're implementing
* part of a subclass (channel_tls_t).
diff --git a/src/core/or/or.h b/src/core/or/or.h
index acf092c8dc..ca373d8ed5 100644
--- a/src/core/or/or.h
+++ b/src/core/or/or.h
@@ -26,7 +26,7 @@
#include "lib/cc/compat_compiler.h"
#include "lib/cc/torint.h"
#include "lib/container/map.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "lib/container/smartlist.h"
#include "lib/crypt_ops/crypto_cipher.h"
#include "lib/crypt_ops/crypto_rsa.h"
@@ -97,6 +97,8 @@ struct curve25519_public_key_t;
#define SIGNEWNYM 129
#define SIGCLEARDNSCACHE 130
#define SIGHEARTBEAT 131
+#define SIGACTIVE 132
+#define SIGDORMANT 133
#if (SIZEOF_CELL_T != 0)
/* On Irix, stdlib.h defines a cell_t type, so we need to make sure
diff --git a/src/core/or/policies.c b/src/core/or/policies.c
index 0eda93c5f3..bffdb1fddd 100644
--- a/src/core/or/policies.c
+++ b/src/core/or/policies.c
@@ -29,6 +29,7 @@
#include "feature/relay/routermode.h"
#include "lib/geoip/geoip.h"
#include "ht.h"
+#include "lib/crypt_ops/crypto_rand.h"
#include "lib/encoding/confline.h"
#include "core/or/addr_policy_st.h"
@@ -461,7 +462,8 @@ fascist_firewall_use_ipv6(const or_options_t *options)
* ClientPreferIPv6DirPort is deprecated, but check it anyway. */
return (options->ClientUseIPv6 == 1 || options->ClientUseIPv4 == 0 ||
options->ClientPreferIPv6ORPort == 1 ||
- options->ClientPreferIPv6DirPort == 1 || options->UseBridges == 1);
+ options->ClientPreferIPv6DirPort == 1 || options->UseBridges == 1 ||
+ options->ClientAutoIPv6ORPort == 1);
}
/** Do we prefer to connect to IPv6, ignoring ClientPreferIPv6ORPort and
@@ -488,6 +490,15 @@ fascist_firewall_prefer_ipv6_impl(const or_options_t *options)
return -1;
}
+/* Choose whether we prefer IPv4 or IPv6 by randomly choosing an address
+ * family. Return 0 for IPv4, and 1 for IPv6. */
+MOCK_IMPL(int,
+fascist_firewall_rand_prefer_ipv6_addr, (void))
+{
+ /* TODO: Check for failures, and infer our preference based on this. */
+ return crypto_rand_int(2);
+}
+
/** Do we prefer to connect to IPv6 ORPorts?
* Use node_ipv6_or_preferred() whenever possible: it supports bridge client
* per-node IPv6 preferences.
@@ -502,7 +513,10 @@ fascist_firewall_prefer_ipv6_orport(const or_options_t *options)
}
/* We can use both IPv4 and IPv6 - which do we prefer? */
- if (options->ClientPreferIPv6ORPort == 1) {
+ if (options->ClientAutoIPv6ORPort == 1) {
+ /* If ClientAutoIPv6ORPort is 1, we prefer IPv4 or IPv6 at random. */
+ return fascist_firewall_rand_prefer_ipv6_addr();
+ } else if (options->ClientPreferIPv6ORPort == 1) {
return 1;
}
@@ -2706,7 +2720,7 @@ parse_short_policy(const char *summary)
int is_accept;
int n_entries;
short_policy_entry_t entries[MAX_EXITPOLICY_SUMMARY_LEN]; /* overkill */
- const char *next;
+ char *next;
if (!strcmpstart(summary, "accept ")) {
is_accept = 1;
@@ -2721,57 +2735,56 @@ parse_short_policy(const char *summary)
n_entries = 0;
for ( ; *summary; summary = next) {
- const char *comma = strchr(summary, ',');
- unsigned low, high;
- char dummy;
- char ent_buf[32];
- size_t len;
-
- next = comma ? comma+1 : strchr(summary, '\0');
- len = comma ? (size_t)(comma - summary) : strlen(summary);
-
if (n_entries == MAX_EXITPOLICY_SUMMARY_LEN) {
log_fn(LOG_PROTOCOL_WARN, LD_DIR, "Impossibly long policy summary %s",
escaped(orig_summary));
return NULL;
}
- if (! TOR_ISDIGIT(*summary) || len > (sizeof(ent_buf)-1)) {
- /* unrecognized entry format. skip it. */
- continue;
- }
- if (len < 1) {
- /* empty; skip it. */
- /* XXX This happens to be unreachable, since if len==0, then *summary is
- * ',' or '\0', and the TOR_ISDIGIT test above would have failed. */
- continue;
+ unsigned low, high;
+ int ok;
+ low = (unsigned) tor_parse_ulong(summary, 10, 1, 65535, &ok, &next);
+ if (!ok) {
+ if (! TOR_ISDIGIT(*summary) || *summary == ',') {
+ /* Unrecognized format: skip it. */
+ goto skip_ent;
+ } else {
+ goto bad_ent;
+ }
}
- memcpy(ent_buf, summary, len);
- ent_buf[len] = '\0';
+ switch (*next) {
+ case ',':
+ ++next;
+ /* fall through */
+ case '\0':
+ high = low;
+ break;
+ case '-':
+ high = (unsigned) tor_parse_ulong(next+1, 10, low, 65535, &ok, &next);
+ if (!ok)
+ goto bad_ent;
- if (tor_sscanf(ent_buf, "%u-%u%c", &low, &high, &dummy) == 2) {
- if (low<1 || low>65535 || high<1 || high>65535 || low>high) {
- log_fn(LOG_PROTOCOL_WARN, LD_DIR,
- "Found bad entry in policy summary %s", escaped(orig_summary));
- return NULL;
- }
- } else if (tor_sscanf(ent_buf, "%u%c", &low, &dummy) == 1) {
- if (low<1 || low>65535) {
- log_fn(LOG_PROTOCOL_WARN, LD_DIR,
- "Found bad entry in policy summary %s", escaped(orig_summary));
- return NULL;
- }
- high = low;
- } else {
- log_fn(LOG_PROTOCOL_WARN, LD_DIR,"Found bad entry in policy summary %s",
- escaped(orig_summary));
- return NULL;
+ if (*next == ',')
+ ++next;
+ else if (*next != '\0')
+ goto bad_ent;
+
+ break;
+ default:
+ goto bad_ent;
}
entries[n_entries].min_port = low;
entries[n_entries].max_port = high;
n_entries++;
+
+ continue;
+ skip_ent:
+ next = strchr(next, ',');
+ if (!next)
+ break;
+ ++next;
}
if (n_entries == 0) {
@@ -2792,6 +2805,11 @@ parse_short_policy(const char *summary)
result->n_entries = n_entries;
memcpy(result->entries, entries, sizeof(short_policy_entry_t)*n_entries);
return result;
+
+ bad_ent:
+ log_fn(LOG_PROTOCOL_WARN, LD_DIR,"Found bad entry in policy summary %s",
+ escaped(orig_summary));
+ return NULL;
}
/** Write <b>policy</b> back out into a string. */
diff --git a/src/core/or/policies.h b/src/core/or/policies.h
index 7da3ba031f..0c64ecf378 100644
--- a/src/core/or/policies.h
+++ b/src/core/or/policies.h
@@ -70,6 +70,7 @@ typedef struct short_policy_t {
int firewall_is_fascist_or(void);
int firewall_is_fascist_dir(void);
int fascist_firewall_use_ipv6(const or_options_t *options);
+MOCK_DECL(int, fascist_firewall_rand_prefer_ipv6_addr, (void));
int fascist_firewall_prefer_ipv6_orport(const or_options_t *options);
int fascist_firewall_prefer_ipv6_dirport(const or_options_t *options);
diff --git a/src/core/or/relay.c b/src/core/or/relay.c
index 510d96c648..2e92f2a55d 100644
--- a/src/core/or/relay.c
+++ b/src/core/or/relay.c
@@ -49,7 +49,7 @@
#include "core/or/or.h"
#include "feature/client/addressmap.h"
#include "lib/err/backtrace.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "core/or/channel.h"
#include "feature/client/circpathbias.h"
#include "core/or/circuitbuild.h"
diff --git a/src/core/or/scheduler.c b/src/core/or/scheduler.c
index 326e0d65d9..937e7e45db 100644
--- a/src/core/or/scheduler.c
+++ b/src/core/or/scheduler.c
@@ -9,7 +9,7 @@
#define SCHEDULER_KIST_PRIVATE
#include "core/or/scheduler.h"
#include "core/mainloop/mainloop.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#define TOR_CHANNEL_INTERNAL_
#include "core/or/channeltls.h"
#include "lib/evloop/compat_libevent.h"
diff --git a/src/core/or/scheduler_kist.c b/src/core/or/scheduler_kist.c
index f112ea6357..3ed0f1a5e2 100644
--- a/src/core/or/scheduler_kist.c
+++ b/src/core/or/scheduler_kist.c
@@ -4,7 +4,7 @@
#define SCHEDULER_KIST_PRIVATE
#include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "app/config/config.h"
#include "core/mainloop/connection.h"
#include "feature/nodelist/networkstatus.h"
diff --git a/src/core/or/versions.c b/src/core/or/versions.c
index 06274996a7..7bd1f5899f 100644
--- a/src/core/or/versions.c
+++ b/src/core/or/versions.c
@@ -16,6 +16,25 @@
#include "core/or/tor_version_st.h"
+/**
+ * Return the approximate date when this release came out, or was
+ * scheduled to come out, according to the APPROX_RELEASE_DATE set in
+ * configure.ac
+ **/
+time_t
+tor_get_approx_release_date(void)
+{
+ char tbuf[ISO_TIME_LEN+1];
+ tor_snprintf(tbuf, sizeof(tbuf),
+ "%s 00:00:00", APPROX_RELEASE_DATE);
+ time_t result = 0;
+ int r = parse_iso_time(tbuf, &result);
+ if (BUG(r < 0)) {
+ result = 0;
+ }
+ return result;
+}
+
/** Return VS_RECOMMENDED if <b>myversion</b> is contained in
* <b>versionlist</b>. Else, return VS_EMPTY if versionlist has no
* entries. Else, return VS_OLD if every member of
@@ -377,6 +396,64 @@ sort_version_list(smartlist_t *versions, int remove_duplicates)
smartlist_uniq(versions, compare_tor_version_str_ptr_, tor_free_);
}
+/** If there are more than this many entries, we're probably under
+ * some kind of weird DoS. */
+static const int MAX_PROTOVER_SUMMARY_MAP_LEN = 1024;
+
+/**
+ * Map from protover string to protover_summary_flags_t.
+ */
+static strmap_t *protover_summary_map = NULL;
+
+/**
+ * Helper. Given a non-NULL protover string <b>protocols</b>, set <b>out</b>
+ * to its summary, and memoize the result in <b>protover_summary_map</b>.
+ */
+static void
+memoize_protover_summary(protover_summary_flags_t *out,
+ const char *protocols)
+{
+ if (!protover_summary_map)
+ protover_summary_map = strmap_new();
+
+ if (strmap_size(protover_summary_map) >= MAX_PROTOVER_SUMMARY_MAP_LEN) {
+ protover_summary_cache_free_all();
+ tor_assert(protover_summary_map == NULL);
+ protover_summary_map = strmap_new();
+ }
+
+ const protover_summary_flags_t *cached =
+ strmap_get(protover_summary_map, protocols);
+
+ if (cached != NULL) {
+ /* We found a cached entry; no need to parse this one. */
+ memcpy(out, cached, sizeof(protover_summary_flags_t));
+ tor_assert(out->protocols_known);
+ return;
+ }
+
+ memset(out, 0, sizeof(*out));
+ out->protocols_known = 1;
+ out->supports_extend2_cells =
+ protocol_list_supports_protocol(protocols, PRT_RELAY, 2);
+ out->supports_ed25519_link_handshake_compat =
+ protocol_list_supports_protocol(protocols, PRT_LINKAUTH, 3);
+ out->supports_ed25519_link_handshake_any =
+ protocol_list_supports_protocol_or_later(protocols, PRT_LINKAUTH, 3);
+ out->supports_ed25519_hs_intro =
+ protocol_list_supports_protocol(protocols, PRT_HSINTRO, 4);
+ out->supports_v3_hsdir =
+ protocol_list_supports_protocol(protocols, PRT_HSDIR,
+ PROTOVER_HSDIR_V3);
+ out->supports_v3_rendezvous_point =
+ protocol_list_supports_protocol(protocols, PRT_HSREND,
+ PROTOVER_HS_RENDEZVOUS_POINT_V3);
+
+ protover_summary_flags_t *new_cached = tor_memdup(out, sizeof(*out));
+ cached = strmap_set(protover_summary_map, protocols, new_cached);
+ tor_assert(!cached);
+}
+
/** Summarize the protocols listed in <b>protocols</b> into <b>out</b>,
* falling back or correcting them based on <b>version</b> as appropriate.
*/
@@ -388,21 +465,7 @@ summarize_protover_flags(protover_summary_flags_t *out,
tor_assert(out);
memset(out, 0, sizeof(*out));
if (protocols) {
- out->protocols_known = 1;
- out->supports_extend2_cells =
- protocol_list_supports_protocol(protocols, PRT_RELAY, 2);
- out->supports_ed25519_link_handshake_compat =
- protocol_list_supports_protocol(protocols, PRT_LINKAUTH, 3);
- out->supports_ed25519_link_handshake_any =
- protocol_list_supports_protocol_or_later(protocols, PRT_LINKAUTH, 3);
- out->supports_ed25519_hs_intro =
- protocol_list_supports_protocol(protocols, PRT_HSINTRO, 4);
- out->supports_v3_hsdir =
- protocol_list_supports_protocol(protocols, PRT_HSDIR,
- PROTOVER_HSDIR_V3);
- out->supports_v3_rendezvous_point =
- protocol_list_supports_protocol(protocols, PRT_HSREND,
- PROTOVER_HS_RENDEZVOUS_POINT_V3);
+ memoize_protover_summary(out, protocols);
}
if (version && !strcmpstart(version, "Tor ")) {
if (!out->protocols_known) {
@@ -420,3 +483,13 @@ summarize_protover_flags(protover_summary_flags_t *out,
}
}
}
+
+/**
+ * Free all space held in the protover_summary_map.
+ */
+void
+protover_summary_cache_free_all(void)
+{
+ strmap_free(protover_summary_map, tor_free_);
+ protover_summary_map = NULL;
+}
diff --git a/src/core/or/versions.h b/src/core/or/versions.h
index 0c773f3f4c..acd8998918 100644
--- a/src/core/or/versions.h
+++ b/src/core/or/versions.h
@@ -26,6 +26,8 @@ typedef enum version_status_t {
VS_UNKNOWN, /**< We have no idea. */
} version_status_t;
+time_t tor_get_approx_release_date(void);
+
version_status_t tor_version_is_obsolete(const char *myversion,
const char *versionlist);
int tor_version_parse_platform(const char *platform,
@@ -41,4 +43,6 @@ void summarize_protover_flags(protover_summary_flags_t *out,
const char *protocols,
const char *version);
+void protover_summary_cache_free_all(void);
+
#endif /* !defined(TOR_VERSIONS_H) */
diff --git a/src/core/proto/proto_cell.c b/src/core/proto/proto_cell.c
index 49b07663d7..70278cd488 100644
--- a/src/core/proto/proto_cell.c
+++ b/src/core/proto/proto_cell.c
@@ -5,7 +5,7 @@
/* See LICENSE for licensing information */
#include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "core/proto/proto_cell.h"
#include "core/or/connection_or.h"
diff --git a/src/core/proto/proto_control0.c b/src/core/proto/proto_control0.c
index d26c69753a..a770a061a7 100644
--- a/src/core/proto/proto_control0.c
+++ b/src/core/proto/proto_control0.c
@@ -5,7 +5,7 @@
/* See LICENSE for licensing information */
#include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "core/proto/proto_control0.h"
/** Return 1 iff buf looks more like it has an (obsolete) v0 controller
diff --git a/src/core/proto/proto_ext_or.c b/src/core/proto/proto_ext_or.c
index 04bec4e6b9..fe36f6b396 100644
--- a/src/core/proto/proto_ext_or.c
+++ b/src/core/proto/proto_ext_or.c
@@ -5,7 +5,7 @@
/* See LICENSE for licensing information */
#include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "feature/relay/ext_orport.h"
#include "core/proto/proto_ext_or.h"
diff --git a/src/core/proto/proto_http.c b/src/core/proto/proto_http.c
index 37298d1284..4ce9ba02f5 100644
--- a/src/core/proto/proto_http.c
+++ b/src/core/proto/proto_http.c
@@ -6,7 +6,7 @@
#define PROTO_HTTP_PRIVATE
#include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "core/proto/proto_http.h"
/** Return true if <b>cmd</b> looks like a HTTP (proxy) request. */
diff --git a/src/core/proto/proto_socks.c b/src/core/proto/proto_socks.c
index e23da7730b..4071f34f0d 100644
--- a/src/core/proto/proto_socks.c
+++ b/src/core/proto/proto_socks.c
@@ -6,7 +6,7 @@
#include "core/or/or.h"
#include "feature/client/addressmap.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "core/mainloop/connection.h"
#include "feature/control/control.h"
#include "app/config/config.h"
diff --git a/src/ext/.may_include b/src/ext/.may_include
new file mode 100644
index 0000000000..1eafff2eeb
--- /dev/null
+++ b/src/ext/.may_include
@@ -0,0 +1,10 @@
+
+orconfig.h
+
+lib/err/*.h
+lib/cc/*.h
+
+tinytest*.h
+ext/siphash.h
+ext/byteorder.h
+ext/tor_readpassphrase.h \ No newline at end of file
diff --git a/src/ext/csiphash.c b/src/ext/csiphash.c
index a6a9846db4..af8559a476 100644
--- a/src/ext/csiphash.c
+++ b/src/ext/csiphash.c
@@ -30,12 +30,12 @@
*/
#include "lib/cc/torint.h"
-#include "lib/log/util_bug.h"
+#include "lib/err/torerr.h"
-#include "siphash.h"
+#include "ext/siphash.h"
#include <string.h>
#include <stdlib.h>
-#include "byteorder.h"
+#include "ext/byteorder.h"
#define ROTATE(x, b) (uint64_t)( ((x) << (b)) | ( (x) >> (64 - (b))) )
@@ -112,13 +112,13 @@ static int the_siphash_key_is_set = 0;
static struct sipkey the_siphash_key;
uint64_t siphash24g(const void *src, unsigned long src_sz) {
- tor_assert(the_siphash_key_is_set);
+ raw_assert(the_siphash_key_is_set);
return siphash24(src, src_sz, &the_siphash_key);
}
void siphash_set_global_key(const struct sipkey *key)
{
- tor_assert(! the_siphash_key_is_set);
+ raw_assert(! the_siphash_key_is_set);
the_siphash_key.k0 = key->k0;
the_siphash_key.k1 = key->k1;
the_siphash_key_is_set = 1;
diff --git a/src/ext/readpassphrase.c b/src/ext/readpassphrase.c
index e0df05d7b7..16611af1e2 100644
--- a/src/ext/readpassphrase.c
+++ b/src/ext/readpassphrase.c
@@ -30,7 +30,7 @@
#include <signal.h>
#include <ctype.h>
#include <fcntl.h>
-#include "tor_readpassphrase.h"
+#include "ext/tor_readpassphrase.h"
#include <errno.h>
#include <string.h>
#include <unistd.h>
diff --git a/src/ext/timeouts/.may_include b/src/ext/timeouts/.may_include
new file mode 100644
index 0000000000..42f44befd4
--- /dev/null
+++ b/src/ext/timeouts/.may_include
@@ -0,0 +1,6 @@
+orconfig.h
+
+ext/tor_queue.h
+timeout-bitops.c
+timeout-debug.h
+timeout.h
diff --git a/src/ext/timeouts/timeout.c b/src/ext/timeouts/timeout.c
index d4b514d2c5..07d06772c5 100644
--- a/src/ext/timeouts/timeout.c
+++ b/src/ext/timeouts/timeout.c
@@ -38,7 +38,7 @@
#include <errno.h> /* errno */
-#include "tor_queue.h" /* TAILQ(3) */
+#include "ext/tor_queue.h" /* TAILQ(3) */
#include "timeout.h"
@@ -531,7 +531,7 @@ static timeout_t timeouts_int(struct timeouts *T) {
timeout = MIN(_timeout, timeout);
}
- relmask <<= WHEEL_BIT;
+ relmask <<= WHEEL_BIT;
relmask |= WHEEL_MASK;
}
@@ -751,4 +751,3 @@ TIMEOUT_PUBLIC int timeout_v_abi(void) {
TIMEOUT_PUBLIC int timeout_v_api(void) {
return TIMEOUT_V_API;
} /* timeout_version() */
-
diff --git a/src/ext/timeouts/timeout.h b/src/ext/timeouts/timeout.h
index b35874e153..1ed309fd08 100644
--- a/src/ext/timeouts/timeout.h
+++ b/src/ext/timeouts/timeout.h
@@ -31,7 +31,7 @@
#include <inttypes.h> /* PRIu64 PRIx64 PRIX64 uint64_t */
-#include "tor_queue.h" /* TAILQ(3) */
+#include "ext/tor_queue.h" /* TAILQ(3) */
/*
@@ -147,7 +147,7 @@ TIMEOUT_PUBLIC struct timeout *timeout_init(struct timeout *, int);
#ifndef TIMEOUT_DISABLE_RELATIVE_ACCESS
TIMEOUT_PUBLIC bool timeout_pending(struct timeout *);
/* true if on timing wheel, false otherwise */
-
+
TIMEOUT_PUBLIC bool timeout_expired(struct timeout *);
/* true if on expired queue, false otherwise */
diff --git a/src/feature/client/bridges.c b/src/feature/client/bridges.c
index 47a4249556..5b537eb16b 100644
--- a/src/feature/client/bridges.c
+++ b/src/feature/client/bridges.c
@@ -844,7 +844,8 @@ rewrite_node_address_for_bridge(const bridge_info_t *bridge, node_t *node)
}
}
- if (options->ClientPreferIPv6ORPort == -1) {
+ if (options->ClientPreferIPv6ORPort == -1 ||
+ options->ClientAutoIPv6ORPort == 0) {
/* Mark which address to use based on which bridge_t we got. */
node->ipv6_preferred = (tor_addr_family(&bridge->addr) == AF_INET6 &&
!tor_addr_is_null(&node->ri->ipv6_addr));
diff --git a/src/feature/client/dnsserv.c b/src/feature/client/dnsserv.c
index ea4951f915..e5abe5c6aa 100644
--- a/src/feature/client/dnsserv.c
+++ b/src/feature/client/dnsserv.c
@@ -28,6 +28,7 @@
#include "core/or/connection_edge.h"
#include "feature/control/control.h"
#include "core/mainloop/mainloop.h"
+#include "core/mainloop/netstatus.h"
#include "core/or/policies.h"
#include "feature/control/control_connection_st.h"
@@ -213,6 +214,9 @@ dnsserv_launch_request(const char *name, int reverse,
edge_connection_t *conn;
char *q_name;
+ /* Launching a request for a user counts as user activity. */
+ note_user_activity(approx_time());
+
/* Make a new dummy AP connection, and attach the request to it. */
entry_conn = entry_connection_new(CONN_TYPE_AP, AF_INET);
entry_conn->entry_cfg.dns_request = 1;
diff --git a/src/feature/client/entrynodes.c b/src/feature/client/entrynodes.c
index 20208ef613..e0fe1b9a58 100644
--- a/src/feature/client/entrynodes.c
+++ b/src/feature/client/entrynodes.c
@@ -287,7 +287,9 @@ create_initial_guard_context(void)
guard_selection_type_t type = GS_TYPE_INFER;
const char *name = choose_guard_selection(
get_options(),
- networkstatus_get_live_consensus(approx_time()),
+ networkstatus_get_reasonably_live_consensus(
+ approx_time(),
+ usable_consensus_flavor()),
NULL,
&type);
tor_assert(name); // "name" can only be NULL if we had an old name.
@@ -726,7 +728,9 @@ update_guard_selection_choice(const or_options_t *options)
guard_selection_type_t type = GS_TYPE_INFER;
const char *new_name = choose_guard_selection(
options,
- networkstatus_get_live_consensus(approx_time()),
+ networkstatus_get_reasonably_live_consensus(
+ approx_time(),
+ usable_consensus_flavor()),
curr_guard_context,
&type);
tor_assert(new_name);
@@ -1125,14 +1129,16 @@ select_and_add_guard_item_for_sample(guard_selection_t *gs,
* or if we don't need a consensus because we're using bridges.)
*/
static int
-live_consensus_is_missing(const guard_selection_t *gs)
+reasonably_live_consensus_is_missing(const guard_selection_t *gs)
{
tor_assert(gs);
if (gs->type == GS_TYPE_BRIDGE) {
/* We don't update bridges from the consensus; they aren't there. */
return 0;
}
- return networkstatus_get_live_consensus(approx_time()) == NULL;
+ return networkstatus_get_reasonably_live_consensus(
+ approx_time(),
+ usable_consensus_flavor()) == NULL;
}
/**
@@ -1147,9 +1153,9 @@ entry_guards_expand_sample(guard_selection_t *gs)
tor_assert(gs);
const or_options_t *options = get_options();
- if (live_consensus_is_missing(gs)) {
+ if (reasonably_live_consensus_is_missing(gs)) {
log_info(LD_GUARD, "Not expanding the sample guard set; we have "
- "no live consensus.");
+ "no reasonably live consensus.");
return NULL;
}
@@ -1395,11 +1401,12 @@ sampled_guards_update_from_consensus(guard_selection_t *gs)
{
tor_assert(gs);
- // It's important to use only a live consensus here; we don't want to
- // make changes based on anything expired or old.
- if (live_consensus_is_missing(gs)) {
+ // It's important to use a reasonably live consensus here; we want clients
+ // to bootstrap even if their clock is skewed by more than 2-3 hours.
+ // But we don't want to make changes based on anything that's really old.
+ if (reasonably_live_consensus_is_missing(gs)) {
log_info(LD_GUARD, "Not updating the sample guard set; we have "
- "no live consensus.");
+ "no reasonably live consensus.");
return;
}
log_info(LD_GUARD, "Updating sampled guard status based on received "
diff --git a/src/feature/client/transports.c b/src/feature/client/transports.c
index 85d4d2e080..de53fe3469 100644
--- a/src/feature/client/transports.c
+++ b/src/feature/client/transports.c
@@ -102,10 +102,10 @@
#include "feature/relay/ext_orport.h"
#include "feature/control/control.h"
+#include "lib/process/process.h"
#include "lib/process/env.h"
-#include "lib/process/subprocess.h"
-static process_environment_t *
+static smartlist_t *
create_managed_proxy_environment(const managed_proxy_t *mp);
static inline int proxy_configuration_finished(const managed_proxy_t *mp);
@@ -127,6 +127,7 @@ static void parse_method_error(const char *line, int is_server_method);
#define PROTO_SMETHODS_DONE "SMETHODS DONE"
#define PROTO_PROXY_DONE "PROXY DONE"
#define PROTO_PROXY_ERROR "PROXY-ERROR"
+#define PROTO_LOG "LOG"
/** The first and only supported - at the moment - configuration
protocol version. */
@@ -490,8 +491,8 @@ proxy_prepare_for_restart(managed_proxy_t *mp)
tor_assert(mp->conf_state == PT_PROTO_COMPLETED);
/* destroy the process handle and terminate the process. */
- tor_process_handle_destroy(mp->process_handle, 1);
- mp->process_handle = NULL;
+ process_set_data(mp->process, NULL);
+ process_terminate(mp->process);
/* destroy all its registered transports, since we will no longer
use them. */
@@ -520,34 +521,35 @@ proxy_prepare_for_restart(managed_proxy_t *mp)
static int
launch_managed_proxy(managed_proxy_t *mp)
{
- int retval;
-
- process_environment_t *env = create_managed_proxy_environment(mp);
-
-#ifdef _WIN32
- /* Passing NULL as lpApplicationName makes Windows search for the .exe */
- retval = tor_spawn_background(NULL,
- (const char **)mp->argv,
- env,
- &mp->process_handle);
-#else /* !(defined(_WIN32)) */
- retval = tor_spawn_background(mp->argv[0],
- (const char **)mp->argv,
- env,
- &mp->process_handle);
-#endif /* defined(_WIN32) */
-
- process_environment_free(env);
-
- if (retval == PROCESS_STATUS_ERROR) {
- log_warn(LD_GENERAL, "Managed proxy at '%s' failed at launch.",
+ tor_assert(mp);
+
+ smartlist_t *env = create_managed_proxy_environment(mp);
+
+ /* Configure our process. */
+ process_set_data(mp->process, mp);
+ process_set_stdout_read_callback(mp->process, managed_proxy_stdout_callback);
+ process_set_stderr_read_callback(mp->process, managed_proxy_stderr_callback);
+ process_set_exit_callback(mp->process, managed_proxy_exit_callback);
+ process_set_protocol(mp->process, PROCESS_PROTOCOL_LINE);
+ process_reset_environment(mp->process, env);
+
+ /* Cleanup our env. */
+ SMARTLIST_FOREACH(env, char *, x, tor_free(x));
+ smartlist_free(env);
+
+ /* Skip the argv[0] as we get that from process_new(argv[0]). */
+ for (int i = 1; mp->argv[i] != NULL; ++i)
+ process_append_argument(mp->process, mp->argv[i]);
+
+ if (process_exec(mp->process) != PROCESS_STATUS_RUNNING) {
+ log_warn(LD_CONFIG, "Managed proxy at '%s' failed at launch.",
mp->argv[0]);
return -1;
}
- log_info(LD_CONFIG, "Managed proxy at '%s' has spawned with PID '%d'.",
- mp->argv[0], tor_process_get_pid(mp->process_handle));
-
+ log_info(LD_CONFIG,
+ "Managed proxy at '%s' has spawned with PID '%" PRIu64 "'.",
+ mp->argv[0], process_get_pid(mp->process));
mp->conf_state = PT_PROTO_LAUNCHED;
return 0;
@@ -615,10 +617,6 @@ pt_configure_remaining_proxies(void)
STATIC int
configure_proxy(managed_proxy_t *mp)
{
- int configuration_finished = 0;
- smartlist_t *proxy_output = NULL;
- enum stream_status stream_status = 0;
-
/* if we haven't launched the proxy yet, do it now */
if (mp->conf_state == PT_PROTO_INFANT) {
if (launch_managed_proxy(mp) < 0) { /* launch fail */
@@ -629,45 +627,8 @@ configure_proxy(managed_proxy_t *mp)
}
tor_assert(mp->conf_state != PT_PROTO_INFANT);
- tor_assert(mp->process_handle);
-
- proxy_output =
- tor_get_lines_from_handle(tor_process_get_stdout_pipe(mp->process_handle),
- &stream_status);
- if (!proxy_output) { /* failed to get input from proxy */
- if (stream_status != IO_STREAM_EAGAIN) { /* bad stream status! */
- mp->conf_state = PT_PROTO_BROKEN;
- log_warn(LD_GENERAL, "The communication stream of managed proxy '%s' "
- "is '%s'. Most probably the managed proxy stopped running. "
- "This might be a bug of the managed proxy, a bug of Tor, or "
- "a misconfiguration. Please enable logging on your managed "
- "proxy and check the logs for errors.",
- mp->argv[0], stream_status_to_string(stream_status));
- }
-
- goto done;
- }
-
- /* Handle lines. */
- SMARTLIST_FOREACH_BEGIN(proxy_output, const char *, line) {
- handle_proxy_line(line, mp);
- if (proxy_configuration_finished(mp))
- goto done;
- } SMARTLIST_FOREACH_END(line);
-
- done:
- /* if the proxy finished configuring, exit the loop. */
- if (proxy_configuration_finished(mp)) {
- handle_finished_proxy(mp);
- configuration_finished = 1;
- }
-
- if (proxy_output) {
- SMARTLIST_FOREACH(proxy_output, char *, cp, tor_free(cp));
- smartlist_free(proxy_output);
- }
-
- return configuration_finished;
+ tor_assert(mp->process);
+ return mp->conf_state == PT_PROTO_COMPLETED;
}
/** Register server managed proxy <b>mp</b> transports to state */
@@ -748,8 +709,11 @@ managed_proxy_destroy(managed_proxy_t *mp,
/* free the outgoing proxy URI */
tor_free(mp->proxy_uri);
- tor_process_handle_destroy(mp->process_handle, also_terminate_process);
- mp->process_handle = NULL;
+ /* do we want to terminate our process if it's still running? */
+ if (also_terminate_process && mp->process)
+ process_terminate(mp->process);
+
+ process_free(mp->process);
tor_free(mp);
}
@@ -945,21 +909,12 @@ handle_proxy_line(const char *line, managed_proxy_t *mp)
parse_proxy_error(line);
goto err;
- } else if (!strcmpstart(line, SPAWN_ERROR_MESSAGE)) {
- /* managed proxy launch failed: parse error message to learn why. */
- int retval, child_state, saved_errno;
- retval = tor_sscanf(line, SPAWN_ERROR_MESSAGE "%x/%x",
- &child_state, &saved_errno);
- if (retval == 2) {
- log_warn(LD_GENERAL,
- "Could not launch managed proxy executable at '%s' ('%s').",
- mp->argv[0], strerror(saved_errno));
- } else { /* failed to parse error message */
- log_warn(LD_GENERAL,"Could not launch managed proxy executable at '%s'.",
- mp->argv[0]);
- }
- mp->conf_state = PT_PROTO_FAILED_LAUNCH;
+ /* We check for the additional " " after the PROTO_LOG string to make sure
+ * we can later extend this big if/else-if table with something that begins
+ * with "LOG" without having to get the order right. */
+ } else if (!strcmpstart(line, PROTO_LOG " ")) {
+ parse_log_line(line, mp);
return;
}
@@ -1182,6 +1137,31 @@ parse_proxy_error(const char *line)
line+strlen(PROTO_PROXY_ERROR)+1);
}
+/** Parses a LOG <b>line</b> and emit log events accordingly. */
+STATIC void
+parse_log_line(const char *line, managed_proxy_t *mp)
+{
+ tor_assert(line);
+ tor_assert(mp);
+
+ if (strlen(line) < (strlen(PROTO_LOG) + 1)) {
+ log_warn(LD_PT, "Managed proxy sent us a %s line "
+ "with missing argument.", PROTO_LOG);
+ goto done;
+ }
+
+ const char *message = line + strlen(PROTO_LOG) + 1;
+
+ log_info(LD_PT, "Managed proxy \"%s\" says: %s",
+ mp->argv[0], message);
+
+ /* Emit control port event. */
+ control_event_pt_log(mp->argv[0], message);
+
+ done:
+ return;
+}
+
/** Return a newly allocated string that tor should place in
* TOR_PT_SERVER_TRANSPORT_OPTIONS while configuring the server
* manged proxy in <b>mp</b>. Return NULL if no such options are found. */
@@ -1257,7 +1237,7 @@ get_bindaddr_for_server_proxy(const managed_proxy_t *mp)
/** Return a newly allocated process_environment_t * for <b>mp</b>'s
* process. */
-static process_environment_t *
+static smartlist_t *
create_managed_proxy_environment(const managed_proxy_t *mp)
{
const or_options_t *options = get_options();
@@ -1272,8 +1252,6 @@ create_managed_proxy_environment(const managed_proxy_t *mp)
/* The final environment to be passed to mp. */
smartlist_t *merged_env_vars = get_current_process_environment_variables();
- process_environment_t *env;
-
{
char *state_tmp = get_datadir_fname("pt_state/"); /* XXX temp */
smartlist_add_asprintf(envs, "TOR_PT_STATE_LOCATION=%s", state_tmp);
@@ -1366,14 +1344,9 @@ create_managed_proxy_environment(const managed_proxy_t *mp)
tor_free_, 1);
} SMARTLIST_FOREACH_END(env_var);
- env = process_environment_make(merged_env_vars);
-
smartlist_free(envs);
- SMARTLIST_FOREACH(merged_env_vars, void *, x, tor_free(x));
- smartlist_free(merged_env_vars);
-
- return env;
+ return merged_env_vars;
}
/** Create and return a new managed proxy for <b>transport</b> using
@@ -1392,6 +1365,7 @@ managed_proxy_create(const smartlist_t *with_transport_list,
mp->argv = proxy_argv;
mp->transports = smartlist_new();
mp->proxy_uri = get_pt_proxy_uri();
+ mp->process = process_new(proxy_argv[0]);
mp->transports_to_launch = smartlist_new();
SMARTLIST_FOREACH(with_transport_list, const char *, transport,
@@ -1736,3 +1710,72 @@ tor_escape_str_for_pt_args(const char *string, const char *chars_to_escape)
return new_string;
}
+
+/** Callback function that is called when our PT process have data on its
+ * stdout. Our process can be found in <b>process</b>, the data can be found in
+ * <b>line</b> and the length of our line is given in <b>size</b>. */
+STATIC void
+managed_proxy_stdout_callback(process_t *process,
+ const char *line,
+ size_t size)
+{
+ tor_assert(process);
+ tor_assert(line);
+
+ (void)size;
+
+ managed_proxy_t *mp = process_get_data(process);
+
+ handle_proxy_line(line, mp);
+
+ if (proxy_configuration_finished(mp)) {
+ handle_finished_proxy(mp);
+ tor_assert(mp->conf_state == PT_PROTO_COMPLETED);
+ }
+}
+
+/** Callback function that is called when our PT process have data on its
+ * stderr. Our process can be found in <b>process</b>, the data can be found in
+ * <b>line</b> and the length of our line is given in <b>size</b>. */
+STATIC void
+managed_proxy_stderr_callback(process_t *process,
+ const char *line,
+ size_t size)
+{
+ tor_assert(process);
+ tor_assert(line);
+
+ (void)size;
+
+ managed_proxy_t *mp = process_get_data(process);
+
+ log_warn(LD_PT, "Managed proxy at '%s' reported: %s", mp->argv[0], line);
+}
+
+/** Callback function that is called when our PT process terminates. The
+ * process exit code can be found in <b>exit_code</b> and our process can be
+ * found in <b>process</b>. Returns true iff we want the process subsystem to
+ * free our process_t handle for us. */
+STATIC bool
+managed_proxy_exit_callback(process_t *process, process_exit_code_t exit_code)
+{
+ tor_assert(process);
+
+ log_warn(LD_PT,
+ "Pluggable Transport process terminated with status code %" PRIu64,
+ exit_code);
+
+ /* We detach ourself from the MP (if we are attached) and free ourself. */
+ managed_proxy_t *mp = process_get_data(process);
+
+ /* If we are still attached to the process, it is probably because our PT
+ * process crashed before we got to call process_set_data(p, NULL); */
+ if (BUG(mp != NULL)) {
+ /* FIXME(ahf): Our process stopped without us having told it to stop
+ * (crashed). Should we restart it here? */
+ mp->process = NULL;
+ process_set_data(process, NULL);
+ }
+
+ return true;
+}
diff --git a/src/feature/client/transports.h b/src/feature/client/transports.h
index d304dcd485..a3994a0099 100644
--- a/src/feature/client/transports.h
+++ b/src/feature/client/transports.h
@@ -11,6 +11,8 @@
#ifndef TOR_TRANSPORTS_H
#define TOR_TRANSPORTS_H
+#include "lib/process/process.h"
+
/** Represents a pluggable transport used by a bridge. */
typedef struct transport_t {
/** SOCKS version: One of PROXY_SOCKS4, PROXY_SOCKS5. */
@@ -81,7 +83,7 @@ enum pt_proto_state {
PT_PROTO_FAILED_LAUNCH /* failed while launching */
};
-struct process_handle_t;
+struct process_t;
/** Structure containing information of a managed proxy. */
typedef struct {
@@ -94,10 +96,8 @@ typedef struct {
int is_server; /* is it a server proxy? */
- /* A pointer to the process handle of this managed proxy. */
- struct process_handle_t *process_handle;
-
- int pid; /* The Process ID this managed proxy is using. */
+ /* A pointer to the process of this managed proxy. */
+ struct process_t *process;
/** Boolean: We are re-parsing our config, and we are going to
* remove this managed proxy if we don't find it any transport
@@ -128,6 +128,7 @@ STATIC int parse_version(const char *line, managed_proxy_t *mp);
STATIC void parse_env_error(const char *line);
STATIC void parse_proxy_error(const char *line);
STATIC void handle_proxy_line(const char *line, managed_proxy_t *mp);
+STATIC void parse_log_line(const char *line, managed_proxy_t *mp);
STATIC char *get_transport_options_for_server_proxy(const managed_proxy_t *mp);
STATIC void managed_proxy_destroy(managed_proxy_t *mp,
@@ -142,6 +143,10 @@ STATIC char* get_pt_proxy_uri(void);
STATIC void free_execve_args(char **arg);
+STATIC void managed_proxy_stdout_callback(process_t *, const char *, size_t);
+STATIC void managed_proxy_stderr_callback(process_t *, const char *, size_t);
+STATIC bool managed_proxy_exit_callback(process_t *, process_exit_code_t);
+
#endif /* defined(PT_PRIVATE) */
#endif /* !defined(TOR_TRANSPORTS_H) */
diff --git a/src/feature/control/control.c b/src/feature/control/control.c
index f0db97dc89..7fae3b7a1b 100644
--- a/src/feature/control/control.c
+++ b/src/feature/control/control.c
@@ -87,11 +87,12 @@
#include "feature/rend/rendservice.h"
#include "feature/stats/geoip_stats.h"
#include "feature/stats/predict_ports.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "lib/crypt_ops/crypto_rand.h"
#include "lib/crypt_ops/crypto_util.h"
#include "lib/encoding/confline.h"
#include "lib/evloop/compat_libevent.h"
+#include "lib/version/torversion.h"
#include "feature/dircache/cached_dir_st.h"
#include "feature/control/control_connection_st.h"
@@ -178,13 +179,6 @@ static uint8_t *authentication_cookie = NULL;
*/
static smartlist_t *detached_onion_services = NULL;
-/** A sufficiently large size to record the last bootstrap phase string. */
-#define BOOTSTRAP_MSG_LEN 1024
-
-/** What was the last bootstrap phase message we sent? We keep track
- * of this so we can respond to getinfo status/bootstrap-phase queries. */
-static char last_sent_bootstrap_message[BOOTSTRAP_MSG_LEN];
-
static void connection_printf_to_buf(control_connection_t *conn,
const char *format, ...)
CHECK_PRINTF(2,3);
@@ -367,7 +361,7 @@ control_update_global_event_mask(void)
control_get_bytes_rw_last_sec(&r, &w);
}
if (any_old_per_sec_events != control_any_per_second_event_enabled()) {
- reschedule_per_second_timer();
+ rescan_periodic_events(get_options());
}
#undef NEWLY_ENABLED
@@ -1680,6 +1674,8 @@ static const struct signal_t signal_table[] = {
{ SIGNEWNYM, "NEWNYM" },
{ SIGCLEARDNSCACHE, "CLEARDNSCACHE"},
{ SIGHEARTBEAT, "HEARTBEAT"},
+ { SIGACTIVE, "ACTIVE" },
+ { SIGDORMANT, "DORMANT" },
{ 0, NULL },
};
@@ -2352,7 +2348,11 @@ getinfo_helper_dir(control_connection_t *control_conn,
*answer = tor_strdup(consensus->dir);
}
if (!*answer) { /* try loading it from disk */
- *answer = networkstatus_read_cached_consensus("ns");
+ tor_mmap_t *mapped = networkstatus_map_cached_consensus("ns");
+ if (mapped) {
+ *answer = tor_memdup_nulterm(mapped->data, mapped->size);
+ tor_munmap_file(mapped);
+ }
if (!*answer) { /* generate an error */
*errmsg = "Could not open cached consensus. "
"Make sure FetchUselessDescriptors is set to 1.";
@@ -3037,7 +3037,7 @@ getinfo_helper_events(control_connection_t *control_conn,
check_whether_orport_reachable(options) ? 1 : 0,
check_whether_dirport_reachable(options) ? 1 : 0);
} else if (!strcmp(question, "status/bootstrap-phase")) {
- *answer = tor_strdup(last_sent_bootstrap_message);
+ *answer = control_event_boot_last_msg();
} else if (!strcmpstart(question, "status/version/")) {
int is_server = server_mode(options);
networkstatus_t *c = networkstatus_get_latest_consensus();
@@ -7008,361 +7008,6 @@ monitor_owning_controller_process(const char *process_spec)
}
}
-/** Convert the name of a bootstrapping phase <b>s</b> into strings
- * <b>tag</b> and <b>summary</b> suitable for display by the controller. */
-static int
-bootstrap_status_to_string(bootstrap_status_t s, const char **tag,
- const char **summary)
-{
- switch (s) {
- case BOOTSTRAP_STATUS_UNDEF:
- *tag = "undef";
- *summary = "Undefined";
- break;
- case BOOTSTRAP_STATUS_STARTING:
- *tag = "starting";
- *summary = "Starting";
- break;
- case BOOTSTRAP_STATUS_CONN_DIR:
- *tag = "conn_dir";
- *summary = "Connecting to directory server";
- break;
- case BOOTSTRAP_STATUS_HANDSHAKE:
- *tag = "status_handshake";
- *summary = "Finishing handshake";
- break;
- case BOOTSTRAP_STATUS_HANDSHAKE_DIR:
- *tag = "handshake_dir";
- *summary = "Finishing handshake with directory server";
- break;
- case BOOTSTRAP_STATUS_ONEHOP_CREATE:
- *tag = "onehop_create";
- *summary = "Establishing an encrypted directory connection";
- break;
- case BOOTSTRAP_STATUS_REQUESTING_STATUS:
- *tag = "requesting_status";
- *summary = "Asking for networkstatus consensus";
- break;
- case BOOTSTRAP_STATUS_LOADING_STATUS:
- *tag = "loading_status";
- *summary = "Loading networkstatus consensus";
- break;
- case BOOTSTRAP_STATUS_LOADING_KEYS:
- *tag = "loading_keys";
- *summary = "Loading authority key certs";
- break;
- case BOOTSTRAP_STATUS_REQUESTING_DESCRIPTORS:
- *tag = "requesting_descriptors";
- /* XXXX this appears to incorrectly report internal on most loads */
- *summary = router_have_consensus_path() == CONSENSUS_PATH_INTERNAL ?
- "Asking for relay descriptors for internal paths" :
- "Asking for relay descriptors";
- break;
- /* If we're sure there are no exits in the consensus,
- * inform the controller by adding "internal"
- * to the status summaries.
- * (We only check this while loading descriptors,
- * so we may not know in the earlier stages.)
- * But if there are exits, we can't be sure whether
- * we're creating internal or exit paths/circuits.
- * XXXX Or should be use different tags or statuses
- * for internal and exit/all? */
- case BOOTSTRAP_STATUS_LOADING_DESCRIPTORS:
- *tag = "loading_descriptors";
- *summary = router_have_consensus_path() == CONSENSUS_PATH_INTERNAL ?
- "Loading relay descriptors for internal paths" :
- "Loading relay descriptors";
- break;
- case BOOTSTRAP_STATUS_CONN_OR:
- *tag = "conn_or";
- *summary = router_have_consensus_path() == CONSENSUS_PATH_INTERNAL ?
- "Connecting to the Tor network internally" :
- "Connecting to the Tor network";
- break;
- case BOOTSTRAP_STATUS_HANDSHAKE_OR:
- *tag = "handshake_or";
- *summary = router_have_consensus_path() == CONSENSUS_PATH_INTERNAL ?
- "Finishing handshake with first hop of internal circuit" :
- "Finishing handshake with first hop";
- break;
- case BOOTSTRAP_STATUS_CIRCUIT_CREATE:
- *tag = "circuit_create";
- *summary = router_have_consensus_path() == CONSENSUS_PATH_INTERNAL ?
- "Establishing an internal Tor circuit" :
- "Establishing a Tor circuit";
- break;
- case BOOTSTRAP_STATUS_DONE:
- *tag = "done";
- *summary = "Done";
- break;
- default:
-// log_warn(LD_BUG, "Unrecognized bootstrap status code %d", s);
- *tag = *summary = "unknown";
- return -1;
- }
- return 0;
-}
-
-/** What percentage through the bootstrap process are we? We remember
- * this so we can avoid sending redundant bootstrap status events, and
- * so we can guess context for the bootstrap messages which are
- * ambiguous. It starts at 'undef', but gets set to 'starting' while
- * Tor initializes. */
-static int bootstrap_percent = BOOTSTRAP_STATUS_UNDEF;
-
-/** Like bootstrap_percent, but only takes on the enumerated values in
- * bootstrap_status_t.
- */
-static int bootstrap_phase = BOOTSTRAP_STATUS_UNDEF;
-
-/** As bootstrap_percent, but holds the bootstrapping level at which we last
- * logged a NOTICE-level message. We use this, plus BOOTSTRAP_PCT_INCREMENT,
- * to avoid flooding the log with a new message every time we get a few more
- * microdescriptors */
-static int notice_bootstrap_percent = 0;
-
-/** How many problems have we had getting to the next bootstrapping phase?
- * These include failure to establish a connection to a Tor relay,
- * failures to finish the TLS handshake, failures to validate the
- * consensus document, etc. */
-static int bootstrap_problems = 0;
-
-/** We only tell the controller once we've hit a threshold of problems
- * for the current phase. */
-#define BOOTSTRAP_PROBLEM_THRESHOLD 10
-
-/** When our bootstrapping progress level changes, but our bootstrapping
- * status has not advanced, we only log at NOTICE when we have made at least
- * this much progress.
- */
-#define BOOTSTRAP_PCT_INCREMENT 5
-
-/** Do the actual logging and notifications for
- * control_event_bootstrap(). Doesn't change any state beyond that.
- */
-static void
-control_event_bootstrap_core(int loglevel, bootstrap_status_t status,
- int progress)
-{
- char buf[BOOTSTRAP_MSG_LEN];
- const char *tag, *summary;
-
- bootstrap_status_to_string(status, &tag, &summary);
- /* Locally reset status if there's incremental progress */
- if (progress)
- status = progress;
-
- tor_log(loglevel, LD_CONTROL,
- "Bootstrapped %d%%: %s", status, summary);
- tor_snprintf(buf, sizeof(buf),
- "BOOTSTRAP PROGRESS=%d TAG=%s SUMMARY=\"%s\"",
- status, tag, summary);
- tor_snprintf(last_sent_bootstrap_message,
- sizeof(last_sent_bootstrap_message),
- "NOTICE %s", buf);
- control_event_client_status(LOG_NOTICE, "%s", buf);
-}
-
-/** Called when Tor has made progress at bootstrapping its directory
- * information and initial circuits.
- *
- * <b>status</b> is the new status, that is, what task we will be doing
- * next. <b>progress</b> is zero if we just started this task, else it
- * represents progress on the task.
- */
-void
-control_event_bootstrap(bootstrap_status_t status, int progress)
-{
- int loglevel = LOG_NOTICE;
-
- if (bootstrap_percent == BOOTSTRAP_STATUS_DONE)
- return; /* already bootstrapped; nothing to be done here. */
-
- /* special case for handshaking status, since our TLS handshaking code
- * can't distinguish what the connection is going to be for. */
- if (status == BOOTSTRAP_STATUS_HANDSHAKE) {
- if (bootstrap_percent < BOOTSTRAP_STATUS_CONN_OR) {
- status = BOOTSTRAP_STATUS_HANDSHAKE_DIR;
- } else {
- status = BOOTSTRAP_STATUS_HANDSHAKE_OR;
- }
- }
-
- if (status <= bootstrap_percent) {
- /* If there's no new progress, return early. */
- if (!progress || progress <= bootstrap_percent)
- return;
- /* Log at INFO if not enough progress happened. */
- if (progress < notice_bootstrap_percent + BOOTSTRAP_PCT_INCREMENT)
- loglevel = LOG_INFO;
- }
-
- control_event_bootstrap_core(loglevel, status, progress);
-
- if (status > bootstrap_percent) {
- bootstrap_phase = status; /* new milestone reached */
- bootstrap_percent = status;
- }
- if (progress > bootstrap_percent) {
- /* incremental progress within a milestone */
- bootstrap_percent = progress;
- bootstrap_problems = 0; /* Progress! Reset our problem counter. */
- }
- if (loglevel == LOG_NOTICE &&
- bootstrap_percent > notice_bootstrap_percent) {
- /* Remember that we gave a notice at this level. */
- notice_bootstrap_percent = bootstrap_percent;
- }
-}
-
-/** Flag whether we've opened an OR_CONN yet */
-static int bootstrap_first_orconn = 0;
-
-/** Like bootstrap_phase, but for (possibly deferred) directory progress */
-static int bootstrap_dir_phase = BOOTSTRAP_STATUS_UNDEF;
-
-/** Like bootstrap_problems, but for (possibly deferred) directory progress */
-static int bootstrap_dir_progress = BOOTSTRAP_STATUS_UNDEF;
-
-/** Defer directory info bootstrap events until we have successfully
- * completed our first connection to a router. */
-void
-control_event_boot_dir(bootstrap_status_t status, int progress)
-{
- if (status > bootstrap_dir_progress) {
- bootstrap_dir_progress = status;
- bootstrap_dir_phase = status;
- }
- if (progress && progress >= bootstrap_dir_progress) {
- bootstrap_dir_progress = progress;
- }
-
- /* Don't report unless we have successfully opened at least one OR_CONN */
- if (!bootstrap_first_orconn)
- return;
-
- control_event_bootstrap(status, progress);
-}
-
-/** Set a flag to allow reporting of directory bootstrap progress.
- * (Code that reports completion of an OR_CONN calls this.) Also,
- * report directory progress so far. */
-void
-control_event_boot_first_orconn(void)
-{
- bootstrap_first_orconn = 1;
- control_event_bootstrap(bootstrap_dir_phase, bootstrap_dir_progress);
-}
-
-/** Called when Tor has failed to make bootstrapping progress in a way
- * that indicates a problem. <b>warn</b> gives a human-readable hint
- * as to why, and <b>reason</b> provides a controller-facing short
- * tag. <b>conn</b> is the connection that caused this problem and
- * can be NULL if a connection cannot be easily identified.
- */
-void
-control_event_bootstrap_problem(const char *warn, const char *reason,
- const connection_t *conn, int dowarn)
-{
- int status = bootstrap_percent;
- const char *tag = "", *summary = "";
- char buf[BOOTSTRAP_MSG_LEN];
- const char *recommendation = "ignore";
- int severity;
- char *or_id = NULL, *hostaddr = NULL;
- or_connection_t *or_conn = NULL;
-
- /* bootstrap_percent must not be in "undefined" state here. */
- tor_assert(status >= 0);
-
- if (bootstrap_percent == 100)
- return; /* already bootstrapped; nothing to be done here. */
-
- bootstrap_problems++;
-
- if (bootstrap_problems >= BOOTSTRAP_PROBLEM_THRESHOLD)
- dowarn = 1;
-
- /* Don't warn about our bootstrapping status if we are hibernating or
- * shutting down. */
- if (we_are_hibernating())
- dowarn = 0;
-
- tor_assert(bootstrap_status_to_string(bootstrap_phase, &tag, &summary) == 0);
-
- severity = dowarn ? LOG_WARN : LOG_INFO;
-
- if (dowarn)
- recommendation = "warn";
-
- if (conn && conn->type == CONN_TYPE_OR) {
- /* XXX TO_OR_CONN can't deal with const */
- or_conn = TO_OR_CONN((connection_t *)conn);
- or_id = tor_strdup(hex_str(or_conn->identity_digest, DIGEST_LEN));
- } else {
- or_id = tor_strdup("?");
- }
-
- if (conn)
- tor_asprintf(&hostaddr, "%s:%d", conn->address, (int)conn->port);
- else
- hostaddr = tor_strdup("?");
-
- log_fn(severity,
- LD_CONTROL, "Problem bootstrapping. Stuck at %d%%: %s. (%s; %s; "
- "count %d; recommendation %s; host %s at %s)",
- status, summary, warn, reason,
- bootstrap_problems, recommendation,
- or_id, hostaddr);
-
- connection_or_report_broken_states(severity, LD_HANDSHAKE);
-
- tor_snprintf(buf, sizeof(buf),
- "BOOTSTRAP PROGRESS=%d TAG=%s SUMMARY=\"%s\" WARNING=\"%s\" REASON=%s "
- "COUNT=%d RECOMMENDATION=%s HOSTID=\"%s\" HOSTADDR=\"%s\"",
- bootstrap_percent, tag, summary, warn, reason, bootstrap_problems,
- recommendation,
- or_id, hostaddr);
-
- tor_snprintf(last_sent_bootstrap_message,
- sizeof(last_sent_bootstrap_message),
- "WARN %s", buf);
- control_event_client_status(LOG_WARN, "%s", buf);
-
- tor_free(hostaddr);
- tor_free(or_id);
-}
-
-/** Called when Tor has failed to make bootstrapping progress in a way
- * that indicates a problem. <b>warn</b> gives a hint as to why, and
- * <b>reason</b> provides an "or_conn_end_reason" tag. <b>or_conn</b>
- * is the connection that caused this problem.
- */
-MOCK_IMPL(void,
-control_event_bootstrap_prob_or, (const char *warn, int reason,
- or_connection_t *or_conn))
-{
- int dowarn = 0;
-
- if (or_conn->have_noted_bootstrap_problem)
- return;
-
- or_conn->have_noted_bootstrap_problem = 1;
-
- if (reason == END_OR_CONN_REASON_NO_ROUTE)
- dowarn = 1;
-
- /* If we are using bridges and all our OR connections are now
- closed, it means that we totally failed to connect to our
- bridges. Throw a warning. */
- if (get_options()->UseBridges && !any_other_active_or_conns(or_conn))
- dowarn = 1;
-
- control_event_bootstrap_problem(warn,
- orconn_end_reason_to_control_string(reason),
- TO_CONN(or_conn), dowarn);
-}
-
/** We just generated a new summary of which countries we've seen clients
* from recently. Send a copy to the controller in case it wants to
* display it for the user. */
@@ -7388,6 +7033,17 @@ control_event_transport_launched(const char *mode, const char *transport_name,
mode, transport_name, fmt_addr(addr), port);
}
+/** A pluggable transport called <b>pt_name</b> has emitted a log
+ * message found in <b>message</b>. */
+void
+control_event_pt_log(const char *pt_name, const char *message)
+{
+ send_control_event(EVENT_PT_LOG,
+ "650 PT_LOG %s %s\r\n",
+ pt_name,
+ message);
+}
+
/** Convert rendezvous auth type to string for HS_DESC control events
*/
const char *
@@ -7879,13 +7535,10 @@ control_free_all(void)
mainloop_event_free(flush_queued_events_event);
flush_queued_events_event = NULL;
}
- bootstrap_percent = BOOTSTRAP_STATUS_UNDEF;
- notice_bootstrap_percent = 0;
- bootstrap_problems = 0;
+ control_event_bootstrap_reset();
authentication_cookie_is_set = 0;
global_event_mask = 0;
disable_log_messages = 0;
- memset(last_sent_bootstrap_message, 0, sizeof(last_sent_bootstrap_message));
}
#ifdef TOR_UNIT_TESTS
diff --git a/src/feature/control/control.h b/src/feature/control/control.h
index cd5402d455..a1609b0f06 100644
--- a/src/feature/control/control.h
+++ b/src/feature/control/control.h
@@ -200,11 +200,14 @@ void control_event_boot_dir(bootstrap_status_t status, int progress);
void control_event_boot_first_orconn(void);
void control_event_bootstrap_problem(const char *warn, const char *reason,
const connection_t *conn, int dowarn);
+char *control_event_boot_last_msg(void);
+void control_event_bootstrap_reset(void);
void control_event_clients_seen(const char *controller_str);
void control_event_transport_launched(const char *mode,
const char *transport_name,
tor_addr_t *addr, uint16_t port);
+void control_event_pt_log(const char *pt_name, const char *message);
const char *rend_auth_type_to_string(rend_auth_type_t auth_type);
MOCK_DECL(const char *, node_describe_longname_by_id,(const char *id_digest));
void control_event_hs_descriptor_requested(const char *onion_address,
@@ -293,7 +296,8 @@ void control_free_all(void);
#define EVENT_HS_DESC 0x0021
#define EVENT_HS_DESC_CONTENT 0x0022
#define EVENT_NETWORK_LIVENESS 0x0023
-#define EVENT_MAX_ 0x0023
+#define EVENT_PT_LOG 0x0024
+#define EVENT_MAX_ 0x0024
/* sizeof(control_connection_t.event_mask) in bits, currently a uint64_t */
#define EVENT_CAPACITY_ 0x0040
diff --git a/src/feature/control/control_bootstrap.c b/src/feature/control/control_bootstrap.c
new file mode 100644
index 0000000000..0756e208e0
--- /dev/null
+++ b/src/feature/control/control_bootstrap.c
@@ -0,0 +1,358 @@
+/* Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file control_bootstrap.c
+ * \brief Provide bootstrap progress events for the control port.
+ */
+#include "core/or/or.h"
+
+#include "app/config/config.h"
+#include "core/mainloop/connection.h"
+#include "core/or/connection_or.h"
+#include "core/or/connection_st.h"
+#include "core/or/or_connection_st.h"
+#include "core/or/reasons.h"
+#include "feature/control/control.h"
+#include "feature/hibernate/hibernate.h"
+#include "lib/malloc/malloc.h"
+
+/** A sufficiently large size to record the last bootstrap phase string. */
+#define BOOTSTRAP_MSG_LEN 1024
+
+/** What was the last bootstrap phase message we sent? We keep track
+ * of this so we can respond to getinfo status/bootstrap-phase queries. */
+static char last_sent_bootstrap_message[BOOTSTRAP_MSG_LEN];
+
+/** Table to convert bootstrap statuses to strings. */
+static const struct {
+ bootstrap_status_t status;
+ const char *tag;
+ const char *summary;
+} boot_to_str_tab[] = {
+ { BOOTSTRAP_STATUS_UNDEF, "undef", "Undefined" },
+ { BOOTSTRAP_STATUS_STARTING, "starting", "Starting" },
+ { BOOTSTRAP_STATUS_CONN_DIR, "conn_dir", "Connecting to directory server" },
+ { BOOTSTRAP_STATUS_HANDSHAKE, "status_handshake", "Finishing handshake" },
+ { BOOTSTRAP_STATUS_HANDSHAKE_DIR, "handshake_dir",
+ "Finishing handshake with directory server" },
+ { BOOTSTRAP_STATUS_ONEHOP_CREATE, "onehop_create",
+ "Establishing an encrypted directory connection" },
+ { BOOTSTRAP_STATUS_REQUESTING_STATUS, "requesting_status",
+ "Asking for networkstatus consensus" },
+ { BOOTSTRAP_STATUS_LOADING_STATUS, "loading_status",
+ "Loading networkstatus consensus" },
+ { BOOTSTRAP_STATUS_LOADING_KEYS, "loading_keys",
+ "Loading authority key certs" },
+ { BOOTSTRAP_STATUS_REQUESTING_DESCRIPTORS, "requesting_descriptors",
+ "Asking for relay descriptors" },
+ { BOOTSTRAP_STATUS_LOADING_DESCRIPTORS, "loading_descriptors",
+ "Loading relay descriptors" },
+ { BOOTSTRAP_STATUS_CONN_OR, "conn_or", "Connecting to the Tor network" },
+ { BOOTSTRAP_STATUS_HANDSHAKE_OR, "handshake_or",
+ "Finishing handshake with first hop" },
+ { BOOTSTRAP_STATUS_CIRCUIT_CREATE, "circuit_create",
+ "Establishing a Tor circuit" },
+ { BOOTSTRAP_STATUS_DONE, "done", "Done" },
+};
+#define N_BOOT_TO_STR (sizeof(boot_to_str_tab)/sizeof(boot_to_str_tab[0]))
+
+/** Convert the name of a bootstrapping phase <b>s</b> into strings
+ * <b>tag</b> and <b>summary</b> suitable for display by the controller. */
+static int
+bootstrap_status_to_string(bootstrap_status_t s, const char **tag,
+ const char **summary)
+{
+ for (size_t i = 0; i < N_BOOT_TO_STR; i++) {
+ if (s == boot_to_str_tab[i].status) {
+ *tag = boot_to_str_tab[i].tag;
+ *summary = boot_to_str_tab[i].summary;
+ return 0;
+ }
+ }
+
+ *tag = *summary = "unknown";
+ return -1;
+}
+
+/** What percentage through the bootstrap process are we? We remember
+ * this so we can avoid sending redundant bootstrap status events, and
+ * so we can guess context for the bootstrap messages which are
+ * ambiguous. It starts at 'undef', but gets set to 'starting' while
+ * Tor initializes. */
+static int bootstrap_percent = BOOTSTRAP_STATUS_UNDEF;
+
+/** Like bootstrap_percent, but only takes on the enumerated values in
+ * bootstrap_status_t.
+ */
+static int bootstrap_phase = BOOTSTRAP_STATUS_UNDEF;
+
+/** As bootstrap_percent, but holds the bootstrapping level at which we last
+ * logged a NOTICE-level message. We use this, plus BOOTSTRAP_PCT_INCREMENT,
+ * to avoid flooding the log with a new message every time we get a few more
+ * microdescriptors */
+static int notice_bootstrap_percent = 0;
+
+/** How many problems have we had getting to the next bootstrapping phase?
+ * These include failure to establish a connection to a Tor relay,
+ * failures to finish the TLS handshake, failures to validate the
+ * consensus document, etc. */
+static int bootstrap_problems = 0;
+
+/** We only tell the controller once we've hit a threshold of problems
+ * for the current phase. */
+#define BOOTSTRAP_PROBLEM_THRESHOLD 10
+
+/** When our bootstrapping progress level changes, but our bootstrapping
+ * status has not advanced, we only log at NOTICE when we have made at least
+ * this much progress.
+ */
+#define BOOTSTRAP_PCT_INCREMENT 5
+
+/** Do the actual logging and notifications for
+ * control_event_bootstrap(). Doesn't change any state beyond that.
+ */
+static void
+control_event_bootstrap_core(int loglevel, bootstrap_status_t status,
+ int progress)
+{
+ char buf[BOOTSTRAP_MSG_LEN];
+ const char *tag, *summary;
+
+ bootstrap_status_to_string(status, &tag, &summary);
+ /* Locally reset status if there's incremental progress */
+ if (progress)
+ status = progress;
+
+ tor_log(loglevel, LD_CONTROL,
+ "Bootstrapped %d%% (%s): %s", status, tag, summary);
+ tor_snprintf(buf, sizeof(buf),
+ "BOOTSTRAP PROGRESS=%d TAG=%s SUMMARY=\"%s\"",
+ status, tag, summary);
+ tor_snprintf(last_sent_bootstrap_message,
+ sizeof(last_sent_bootstrap_message),
+ "NOTICE %s", buf);
+ control_event_client_status(LOG_NOTICE, "%s", buf);
+}
+
+/** Called when Tor has made progress at bootstrapping its directory
+ * information and initial circuits.
+ *
+ * <b>status</b> is the new status, that is, what task we will be doing
+ * next. <b>progress</b> is zero if we just started this task, else it
+ * represents progress on the task.
+ */
+void
+control_event_bootstrap(bootstrap_status_t status, int progress)
+{
+ int loglevel = LOG_NOTICE;
+
+ if (bootstrap_percent == BOOTSTRAP_STATUS_DONE)
+ return; /* already bootstrapped; nothing to be done here. */
+
+ /* special case for handshaking status, since our TLS handshaking code
+ * can't distinguish what the connection is going to be for. */
+ if (status == BOOTSTRAP_STATUS_HANDSHAKE) {
+ if (bootstrap_percent < BOOTSTRAP_STATUS_CONN_OR) {
+ status = BOOTSTRAP_STATUS_HANDSHAKE_DIR;
+ } else {
+ status = BOOTSTRAP_STATUS_HANDSHAKE_OR;
+ }
+ }
+
+ if (status <= bootstrap_percent) {
+ /* If there's no new progress, return early. */
+ if (!progress || progress <= bootstrap_percent)
+ return;
+ /* Log at INFO if not enough progress happened. */
+ if (progress < notice_bootstrap_percent + BOOTSTRAP_PCT_INCREMENT)
+ loglevel = LOG_INFO;
+ }
+
+ control_event_bootstrap_core(loglevel, status, progress);
+
+ if (status > bootstrap_percent) {
+ bootstrap_phase = status; /* new milestone reached */
+ bootstrap_percent = status;
+ }
+ if (progress > bootstrap_percent) {
+ /* incremental progress within a milestone */
+ bootstrap_percent = progress;
+ bootstrap_problems = 0; /* Progress! Reset our problem counter. */
+ }
+ if (loglevel == LOG_NOTICE &&
+ bootstrap_percent > notice_bootstrap_percent) {
+ /* Remember that we gave a notice at this level. */
+ notice_bootstrap_percent = bootstrap_percent;
+ }
+}
+
+/** Flag whether we've opened an OR_CONN yet */
+static int bootstrap_first_orconn = 0;
+
+/** Like bootstrap_phase, but for (possibly deferred) directory progress */
+static int bootstrap_dir_phase = BOOTSTRAP_STATUS_UNDEF;
+
+/** Like bootstrap_problems, but for (possibly deferred) directory progress */
+static int bootstrap_dir_progress = BOOTSTRAP_STATUS_UNDEF;
+
+/** Defer directory info bootstrap events until we have successfully
+ * completed our first connection to a router. */
+void
+control_event_boot_dir(bootstrap_status_t status, int progress)
+{
+ if (status > bootstrap_dir_progress) {
+ bootstrap_dir_progress = status;
+ bootstrap_dir_phase = status;
+ }
+ if (progress && progress >= bootstrap_dir_progress) {
+ bootstrap_dir_progress = progress;
+ }
+
+ /* Don't report unless we have successfully opened at least one OR_CONN */
+ if (!bootstrap_first_orconn)
+ return;
+
+ control_event_bootstrap(status, progress);
+}
+
+/** Set a flag to allow reporting of directory bootstrap progress.
+ * (Code that reports completion of an OR_CONN calls this.) Also,
+ * report directory progress so far. */
+void
+control_event_boot_first_orconn(void)
+{
+ bootstrap_first_orconn = 1;
+ control_event_bootstrap(bootstrap_dir_phase, bootstrap_dir_progress);
+}
+
+/** Called when Tor has failed to make bootstrapping progress in a way
+ * that indicates a problem. <b>warn</b> gives a human-readable hint
+ * as to why, and <b>reason</b> provides a controller-facing short
+ * tag. <b>conn</b> is the connection that caused this problem and
+ * can be NULL if a connection cannot be easily identified.
+ */
+void
+control_event_bootstrap_problem(const char *warn, const char *reason,
+ const connection_t *conn, int dowarn)
+{
+ int status = bootstrap_percent;
+ const char *tag = "", *summary = "";
+ char buf[BOOTSTRAP_MSG_LEN];
+ const char *recommendation = "ignore";
+ int severity;
+ char *or_id = NULL, *hostaddr = NULL;
+ or_connection_t *or_conn = NULL;
+
+ /* bootstrap_percent must not be in "undefined" state here. */
+ tor_assert(status >= 0);
+
+ if (bootstrap_percent == 100)
+ return; /* already bootstrapped; nothing to be done here. */
+
+ bootstrap_problems++;
+
+ if (bootstrap_problems >= BOOTSTRAP_PROBLEM_THRESHOLD)
+ dowarn = 1;
+
+ /* Don't warn about our bootstrapping status if we are hibernating or
+ * shutting down. */
+ if (we_are_hibernating())
+ dowarn = 0;
+
+ tor_assert(bootstrap_status_to_string(bootstrap_phase, &tag, &summary) == 0);
+
+ severity = dowarn ? LOG_WARN : LOG_INFO;
+
+ if (dowarn)
+ recommendation = "warn";
+
+ if (conn && conn->type == CONN_TYPE_OR) {
+ /* XXX TO_OR_CONN can't deal with const */
+ or_conn = TO_OR_CONN((connection_t *)conn);
+ or_id = tor_strdup(hex_str(or_conn->identity_digest, DIGEST_LEN));
+ } else {
+ or_id = tor_strdup("?");
+ }
+
+ if (conn)
+ tor_asprintf(&hostaddr, "%s:%d", conn->address, (int)conn->port);
+ else
+ hostaddr = tor_strdup("?");
+
+ log_fn(severity,
+ LD_CONTROL, "Problem bootstrapping. Stuck at %d%% (%s): %s. (%s; %s; "
+ "count %d; recommendation %s; host %s at %s)",
+ status, tag, summary, warn, reason,
+ bootstrap_problems, recommendation,
+ or_id, hostaddr);
+
+ connection_or_report_broken_states(severity, LD_HANDSHAKE);
+
+ tor_snprintf(buf, sizeof(buf),
+ "BOOTSTRAP PROGRESS=%d TAG=%s SUMMARY=\"%s\" WARNING=\"%s\" REASON=%s "
+ "COUNT=%d RECOMMENDATION=%s HOSTID=\"%s\" HOSTADDR=\"%s\"",
+ bootstrap_percent, tag, summary, warn, reason, bootstrap_problems,
+ recommendation,
+ or_id, hostaddr);
+
+ tor_snprintf(last_sent_bootstrap_message,
+ sizeof(last_sent_bootstrap_message),
+ "WARN %s", buf);
+ control_event_client_status(LOG_WARN, "%s", buf);
+
+ tor_free(hostaddr);
+ tor_free(or_id);
+}
+
+/** Called when Tor has failed to make bootstrapping progress in a way
+ * that indicates a problem. <b>warn</b> gives a hint as to why, and
+ * <b>reason</b> provides an "or_conn_end_reason" tag. <b>or_conn</b>
+ * is the connection that caused this problem.
+ */
+MOCK_IMPL(void,
+control_event_bootstrap_prob_or, (const char *warn, int reason,
+ or_connection_t *or_conn))
+{
+ int dowarn = 0;
+
+ if (or_conn->have_noted_bootstrap_problem)
+ return;
+
+ or_conn->have_noted_bootstrap_problem = 1;
+
+ if (reason == END_OR_CONN_REASON_NO_ROUTE)
+ dowarn = 1;
+
+ /* If we are using bridges and all our OR connections are now
+ closed, it means that we totally failed to connect to our
+ bridges. Throw a warning. */
+ if (get_options()->UseBridges && !any_other_active_or_conns(or_conn))
+ dowarn = 1;
+
+ control_event_bootstrap_problem(warn,
+ orconn_end_reason_to_control_string(reason),
+ TO_CONN(or_conn), dowarn);
+}
+
+/** Return a copy of the last sent bootstrap message. */
+char *
+control_event_boot_last_msg(void)
+{
+ return tor_strdup(last_sent_bootstrap_message);
+}
+
+/** Reset bootstrap tracking state. */
+void
+control_event_bootstrap_reset(void)
+{
+ bootstrap_percent = BOOTSTRAP_STATUS_UNDEF;
+ bootstrap_phase = BOOTSTRAP_STATUS_UNDEF;
+ notice_bootstrap_percent = 0;
+ bootstrap_problems = 0;
+ bootstrap_first_orconn = 0;
+ bootstrap_dir_progress = BOOTSTRAP_STATUS_UNDEF;
+ bootstrap_dir_phase = BOOTSTRAP_STATUS_UNDEF;
+ memset(last_sent_bootstrap_message, 0, sizeof(last_sent_bootstrap_message));
+}
diff --git a/src/feature/dirauth/dirvote.c b/src/feature/dirauth/dirvote.c
index 80a5b54737..d8a18835f2 100644
--- a/src/feature/dirauth/dirvote.c
+++ b/src/feature/dirauth/dirvote.c
@@ -28,6 +28,7 @@
#include "feature/nodelist/fmt_routerstatus.h"
#include "feature/nodelist/microdesc.h"
#include "feature/nodelist/networkstatus.h"
+#include "feature/nodelist/nodefamily.h"
#include "feature/nodelist/nodelist.h"
#include "feature/nodelist/routerlist.h"
#include "feature/relay/router.h"
@@ -413,7 +414,8 @@ format_networkstatus_vote(crypto_pk_t *private_signing_key,
{
networkstatus_t *v;
- if (!(v = networkstatus_parse_vote_from_string(status, NULL,
+ if (!(v = networkstatus_parse_vote_from_string(status, strlen(status),
+ NULL,
v3_ns->type))) {
log_err(LD_BUG,"Generated a networkstatus %s we couldn't parse: "
"<<%s>>",
@@ -2410,7 +2412,8 @@ networkstatus_compute_consensus(smartlist_t *votes,
{
networkstatus_t *c;
- if (!(c = networkstatus_parse_vote_from_string(result, NULL,
+ if (!(c = networkstatus_parse_vote_from_string(result, strlen(result),
+ NULL,
NS_TYPE_CONSENSUS))) {
log_err(LD_BUG, "Generated a networkstatus consensus we couldn't "
"parse.");
@@ -3133,7 +3136,8 @@ dirvote_add_vote(const char *vote_body, const char **msg_out, int *status_out)
*msg_out = NULL;
again:
- vote = networkstatus_parse_vote_from_string(vote_body, &end_of_vote,
+ vote = networkstatus_parse_vote_from_string(vote_body, strlen(vote_body),
+ &end_of_vote,
NS_TYPE_VOTE);
if (!end_of_vote)
end_of_vote = vote_body + strlen(vote_body);
@@ -3391,7 +3395,9 @@ dirvote_compute_consensuses(void)
flavor_name);
continue;
}
- consensus = networkstatus_parse_vote_from_string(consensus_body, NULL,
+ consensus = networkstatus_parse_vote_from_string(consensus_body,
+ strlen(consensus_body),
+ NULL,
NS_TYPE_CONSENSUS);
if (!consensus) {
log_warn(LD_DIR, "Couldn't parse %s consensus we generated!",
@@ -3530,7 +3536,7 @@ dirvote_add_signatures_to_pending_consensus(
* just in case we break detached signature processing at some point. */
{
networkstatus_t *v = networkstatus_parse_vote_from_string(
- pc->body, NULL,
+ pc->body, strlen(pc->body), NULL,
NS_TYPE_CONSENSUS);
tor_assert(v);
networkstatus_vote_free(v);
@@ -3655,7 +3661,9 @@ dirvote_publish_consensus(void)
continue;
}
- if (networkstatus_set_current_consensus(pending->body, name, 0, NULL))
+ if (networkstatus_set_current_consensus(pending->body,
+ strlen(pending->body),
+ name, 0, NULL))
log_warn(LD_DIR, "Error publishing %s consensus", name);
else
log_notice(LD_DIR, "Published %s consensus", name);
@@ -3792,8 +3800,16 @@ dirvote_create_microdescriptor(const routerinfo_t *ri, int consensus_method)
smartlist_add_asprintf(chunks, "a %s\n",
fmt_addrport(&ri->ipv6_addr, ri->ipv6_orport));
- if (family)
- smartlist_add_asprintf(chunks, "family %s\n", family);
+ if (family) {
+ if (consensus_method < MIN_METHOD_FOR_CANONICAL_FAMILIES_IN_MICRODESCS) {
+ smartlist_add_asprintf(chunks, "family %s\n", family);
+ } else {
+ const uint8_t *id = (const uint8_t *)ri->cache_info.identity_digest;
+ char *canonical_family = nodefamily_canonicalize(family, id, 0);
+ smartlist_add_asprintf(chunks, "family %s\n", canonical_family);
+ tor_free(canonical_family);
+ }
+ }
if (summary && strcmp(summary, "reject 1-65535"))
smartlist_add_asprintf(chunks, "p %s\n", summary);
@@ -3891,7 +3907,10 @@ static const struct consensus_method_range_t {
int high;
} microdesc_consensus_methods[] = {
{MIN_SUPPORTED_CONSENSUS_METHOD, MIN_METHOD_FOR_NO_A_LINES_IN_MICRODESC - 1},
- {MIN_METHOD_FOR_NO_A_LINES_IN_MICRODESC, MAX_SUPPORTED_CONSENSUS_METHOD},
+ {MIN_METHOD_FOR_NO_A_LINES_IN_MICRODESC,
+ MIN_METHOD_FOR_CANONICAL_FAMILIES_IN_MICRODESCS - 1},
+ {MIN_METHOD_FOR_CANONICAL_FAMILIES_IN_MICRODESCS,
+ MAX_SUPPORTED_CONSENSUS_METHOD},
{-1, -1}
};
@@ -4365,6 +4384,23 @@ clear_status_flags_on_sybil(routerstatus_t *rs)
* forget to add it to this clause. */
}
+/** Space-separated list of all the flags that we will always vote on. */
+const char DIRVOTE_UNIVERSAL_FLAGS[] =
+ "Authority "
+ "Exit "
+ "Fast "
+ "Guard "
+ "HSDir "
+ "Stable "
+ "StaleDesc "
+ "V2Dir "
+ "Valid";
+/** Space-separated list of all flags that we may or may not vote on,
+ * depending on our configuration. */
+const char DIRVOTE_OPTIONAL_FLAGS[] =
+ "BadExit "
+ "Running";
+
/** Return a new networkstatus_t* containing our current opinion. (For v3
* authorities) */
networkstatus_t *
@@ -4613,7 +4649,7 @@ dirserv_generate_networkstatus_vote_obj(crypto_pk_t *private_key,
v3_out->known_flags = smartlist_new();
smartlist_split_string(v3_out->known_flags,
- "Authority Exit Fast Guard Stable V2Dir Valid HSDir",
+ DIRVOTE_UNIVERSAL_FLAGS,
0, SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
if (vote_on_reachability)
smartlist_add_strdup(v3_out->known_flags, "Running");
diff --git a/src/feature/dirauth/dirvote.h b/src/feature/dirauth/dirvote.h
index a21e9f3455..85f4800700 100644
--- a/src/feature/dirauth/dirvote.h
+++ b/src/feature/dirauth/dirvote.h
@@ -57,7 +57,7 @@
#define MIN_SUPPORTED_CONSENSUS_METHOD 25
/** The highest consensus method that we currently support. */
-#define MAX_SUPPORTED_CONSENSUS_METHOD 28
+#define MAX_SUPPORTED_CONSENSUS_METHOD 29
/** Lowest consensus method where authorities vote on required/recommended
* protocols. */
@@ -79,6 +79,12 @@
* addresses. See #23828 and #20916. */
#define MIN_METHOD_FOR_NO_A_LINES_IN_MICRODESC 28
+/**
+ * Lowest consensus method where microdescriptor lines are put in canonical
+ * form for improved compressibility and ease of storage. See proposal 298.
+ **/
+#define MIN_METHOD_FOR_CANONICAL_FAMILIES_IN_MICRODESCS 29
+
/** Default bandwidth to clip unmeasured bandwidths to using method >=
* MIN_METHOD_TO_CLIP_UNMEASURED_BW. (This is not a consensus method; do not
* get confused with the above macros.) */
@@ -92,6 +98,9 @@
/** Maximum size of a line in a vote. */
#define MAX_BW_FILE_HEADERS_LINE_LEN 1024
+extern const char DIRVOTE_UNIVERSAL_FLAGS[];
+extern const char DIRVOTE_OPTIONAL_FLAGS[];
+
/*
* Public API. Used outside of the dirauth subsystem.
*
diff --git a/src/feature/dirauth/process_descs.c b/src/feature/dirauth/process_descs.c
index c379f25bdd..dca87b3eaf 100644
--- a/src/feature/dirauth/process_descs.c
+++ b/src/feature/dirauth/process_descs.c
@@ -519,7 +519,8 @@ WRA_MORE_SEVERE(was_router_added_t a, was_router_added_t b)
/** As for dirserv_add_descriptor(), but accepts multiple documents, and
* returns the most severe error that occurred for any one of them. */
was_router_added_t
-dirserv_add_multiple_descriptors(const char *desc, uint8_t purpose,
+dirserv_add_multiple_descriptors(const char *desc, size_t desclen,
+ uint8_t purpose,
const char *source,
const char **msg)
{
@@ -536,6 +537,11 @@ dirserv_add_multiple_descriptors(const char *desc, uint8_t purpose,
r=ROUTER_ADDED_SUCCESSFULLY; /*Least severe return value. */
+ if (!string_is_utf8_no_bom(desc, desclen)) {
+ *msg = "descriptor(s) or extrainfo(s) not valid UTF-8 or had BOM.";
+ return ROUTER_AUTHDIR_REJECTS;
+ }
+
format_iso_time(time_buf, now);
if (tor_snprintf(annotation_buf, sizeof(annotation_buf),
"@uploaded-at %s\n"
@@ -552,7 +558,7 @@ dirserv_add_multiple_descriptors(const char *desc, uint8_t purpose,
s = desc;
list = smartlist_new();
- if (!router_parse_list_from_string(&s, NULL, list, SAVED_NOWHERE, 0, 0,
+ if (!router_parse_list_from_string(&s, s+desclen, list, SAVED_NOWHERE, 0, 0,
annotation_buf, NULL)) {
SMARTLIST_FOREACH(list, routerinfo_t *, ri, {
msg_out = NULL;
@@ -568,7 +574,7 @@ dirserv_add_multiple_descriptors(const char *desc, uint8_t purpose,
smartlist_clear(list);
s = desc;
- if (!router_parse_list_from_string(&s, NULL, list, SAVED_NOWHERE, 1, 0,
+ if (!router_parse_list_from_string(&s, s+desclen, list, SAVED_NOWHERE, 1, 0,
NULL, NULL)) {
SMARTLIST_FOREACH(list, extrainfo_t *, ei, {
msg_out = NULL;
diff --git a/src/feature/dirauth/process_descs.h b/src/feature/dirauth/process_descs.h
index ad9d5c3d4c..5a0914acd8 100644
--- a/src/feature/dirauth/process_descs.h
+++ b/src/feature/dirauth/process_descs.h
@@ -17,7 +17,8 @@ void dirserv_free_fingerprint_list(void);
int dirserv_add_own_fingerprint(crypto_pk_t *pk);
enum was_router_added_t dirserv_add_multiple_descriptors(
- const char *desc, uint8_t purpose,
+ const char *desc, size_t desclen,
+ uint8_t purpose,
const char *source,
const char **msg);
enum was_router_added_t dirserv_add_descriptor(routerinfo_t *ri,
diff --git a/src/feature/dirauth/shared_random.c b/src/feature/dirauth/shared_random.c
index db4f9d328c..b027d9e375 100644
--- a/src/feature/dirauth/shared_random.c
+++ b/src/feature/dirauth/shared_random.c
@@ -949,7 +949,8 @@ sr_compute_srv(void)
/* Computing a shared random value in the commit phase is very wrong. This
* should only happen at the very end of the reveal phase when a new
* protocol run is about to start. */
- tor_assert(sr_state_get_phase() == SR_PHASE_REVEAL);
+ if (BUG(sr_state_get_phase() != SR_PHASE_REVEAL))
+ return;
state_commits = sr_state_get_commits();
commits = smartlist_new();
diff --git a/src/feature/dirauth/shared_random_state.c b/src/feature/dirauth/shared_random_state.c
index 38c7fd76d0..8c5b28b7cd 100644
--- a/src/feature/dirauth/shared_random_state.c
+++ b/src/feature/dirauth/shared_random_state.c
@@ -22,6 +22,7 @@
#include "feature/dirauth/shared_random_state.h"
#include "feature/dircommon/voting_schedule.h"
#include "lib/encoding/confline.h"
+#include "lib/version/torversion.h"
#include "app/config/or_state_st.h"
@@ -594,8 +595,10 @@ disk_state_update(void)
{
config_line_t **next, *line;
- tor_assert(sr_disk_state);
- tor_assert(sr_state);
+ if (BUG(!sr_disk_state))
+ return;
+ if (BUG(!sr_state))
+ return;
/* Reset current disk state. */
disk_state_reset();
@@ -759,7 +762,8 @@ disk_state_save_to_disk(void)
STATIC void
reset_state_for_new_protocol_run(time_t valid_after)
{
- tor_assert(sr_state);
+ if (BUG(!sr_state))
+ return;
/* Keep counters in track */
sr_state->n_reveal_rounds = 0;
@@ -1091,7 +1095,8 @@ sr_state_update(time_t valid_after)
{
sr_phase_t next_phase;
- tor_assert(sr_state);
+ if (BUG(!sr_state))
+ return;
/* Don't call this function twice in the same voting period. */
if (valid_after <= sr_state->valid_after) {
@@ -1130,7 +1135,8 @@ sr_state_update(time_t valid_after)
/* Count the current round */
if (sr_state->phase == SR_PHASE_COMMIT) {
/* invariant check: we've not entered reveal phase yet */
- tor_assert(sr_state->n_reveal_rounds == 0);
+ if (BUG(sr_state->n_reveal_rounds != 0))
+ return;
sr_state->n_commit_rounds++;
} else {
sr_state->n_reveal_rounds++;
@@ -1320,7 +1326,8 @@ sr_state_init(int save_to_disk, int read_from_disk)
void
set_sr_phase(sr_phase_t phase)
{
- tor_assert(sr_state);
+ if (BUG(!sr_state))
+ return;
sr_state->phase = phase;
}
diff --git a/src/feature/dirauth/voteflags.c b/src/feature/dirauth/voteflags.c
index 4a24dcb50d..aab322d96f 100644
--- a/src/feature/dirauth/voteflags.c
+++ b/src/feature/dirauth/voteflags.c
@@ -95,7 +95,7 @@ real_uptime(const routerinfo_t *router, time_t now)
*/
static int
dirserv_thinks_router_is_unreliable(time_t now,
- routerinfo_t *router,
+ const routerinfo_t *router,
int need_uptime, int need_capacity)
{
if (need_uptime) {
@@ -541,7 +541,7 @@ dirserv_set_router_is_running(routerinfo_t *router, time_t now)
void
set_routerstatus_from_routerinfo(routerstatus_t *rs,
node_t *node,
- routerinfo_t *ri,
+ const routerinfo_t *ri,
time_t now,
int listbadexits)
{
@@ -593,6 +593,10 @@ set_routerstatus_from_routerinfo(routerstatus_t *rs,
rs->or_port = ri->or_port;
rs->dir_port = ri->dir_port;
rs->is_v2_dir = ri->supports_tunnelled_dir_requests;
+
+ rs->is_staledesc =
+ (ri->cache_info.published_on + DESC_IS_STALE_INTERVAL) < now;
+
if (options->AuthDirHasIPv6Connectivity == 1 &&
!tor_addr_is_null(&ri->ipv6_addr) &&
node->last_reachable6 >= now - REACHABLE_TIMEOUT) {
diff --git a/src/feature/dirauth/voteflags.h b/src/feature/dirauth/voteflags.h
index 2f0e061ea4..8dce9fbb04 100644
--- a/src/feature/dirauth/voteflags.h
+++ b/src/feature/dirauth/voteflags.h
@@ -19,12 +19,16 @@ int running_long_enough_to_decide_unreachable(void);
void set_routerstatus_from_routerinfo(routerstatus_t *rs,
node_t *node,
- routerinfo_t *ri, time_t now,
+ const routerinfo_t *ri,
+ time_t now,
int listbadexits);
void dirserv_compute_performance_thresholds(digestmap_t *omit_as_sybil);
#ifdef VOTEFLAGS_PRIVATE
+/** Any descriptor older than this age causes the authorities to set the
+ * StaleDesc flag. */
+#define DESC_IS_STALE_INTERVAL (18*60*60)
STATIC void dirserv_set_routerstatus_testing(routerstatus_t *rs);
#endif
diff --git a/src/feature/dircache/consdiffmgr.c b/src/feature/dircache/consdiffmgr.c
index e79aad6efb..8ecab5ca69 100644
--- a/src/feature/dircache/consdiffmgr.c
+++ b/src/feature/dircache/consdiffmgr.c
@@ -189,6 +189,7 @@ static consdiff_cfg_t consdiff_cfg = {
static int consdiffmgr_ensure_space_for_files(int n);
static int consensus_queue_compression_work(const char *consensus,
+ size_t consensus_len,
const networkstatus_t *as_parsed);
static int consensus_diff_queue_diff_work(consensus_cache_entry_t *diff_from,
consensus_cache_entry_t *diff_to);
@@ -509,8 +510,25 @@ get_max_age_to_cache(void)
MAX_MAX_AGE_TO_CACHE);
}
+#ifdef TOR_UNIT_TESTS
+/** As consdiffmgr_add_consensus, but requires a nul-terminated input. For
+ * testing. */
+int
+consdiffmgr_add_consensus_nulterm(const char *consensus,
+ const networkstatus_t *as_parsed)
+{
+ size_t len = strlen(consensus);
+ /* make a non-nul-terminated copy so that we can have a better chance
+ * of catching errors. */
+ char *ctmp = tor_memdup(consensus, len);
+ int r = consdiffmgr_add_consensus(ctmp, len, as_parsed);
+ tor_free(ctmp);
+ return r;
+}
+#endif
+
/**
- * Given a string containing a networkstatus consensus, and the results of
+ * Given a buffer containing a networkstatus consensus, and the results of
* having parsed that consensus, add that consensus to the cache if it is not
* already present and not too old. Create new consensus diffs from or to
* that consensus as appropriate.
@@ -519,6 +537,7 @@ get_max_age_to_cache(void)
*/
int
consdiffmgr_add_consensus(const char *consensus,
+ size_t consensus_len,
const networkstatus_t *as_parsed)
{
if (BUG(consensus == NULL) || BUG(as_parsed == NULL))
@@ -544,7 +563,7 @@ consdiffmgr_add_consensus(const char *consensus,
}
/* We don't have it. Add it to the cache. */
- return consensus_queue_compression_work(consensus, as_parsed);
+ return consensus_queue_compression_work(consensus, consensus_len, as_parsed);
}
/**
@@ -1387,19 +1406,21 @@ typedef struct consensus_diff_worker_job_t {
} consensus_diff_worker_job_t;
/** Given a consensus_cache_entry_t, check whether it has a label claiming
- * that it was compressed. If so, uncompress its contents into <b>out</b> and
- * set <b>outlen</b> to hold their size. If not, just copy the body into
- * <b>out</b> and set <b>outlen</b> to its length. Return 0 on success,
- * -1 on failure.
- *
- * In all cases, the output is nul-terminated. */
+ * that it was compressed. If so, uncompress its contents into *<b>out</b> and
+ * set <b>outlen</b> to hold their size, and set *<b>owned_out</b> to a pointer
+ * that the caller will need to free. If not, just set *<b>out</b> and
+ * <b>outlen</b> to its extent in memory. Return 0 on success, -1 on failure.
+ **/
STATIC int
-uncompress_or_copy(char **out, size_t *outlen,
- consensus_cache_entry_t *ent)
+uncompress_or_set_ptr(const char **out, size_t *outlen,
+ char **owned_out,
+ consensus_cache_entry_t *ent)
{
const uint8_t *body;
size_t bodylen;
+ *owned_out = NULL;
+
if (consensus_cache_entry_get_body(ent, &body, &bodylen) < 0)
return -1;
@@ -1410,8 +1431,17 @@ uncompress_or_copy(char **out, size_t *outlen,
if (lv_compression)
method = compression_method_get_by_name(lv_compression);
- return tor_uncompress(out, outlen, (const char *)body, bodylen,
+ int rv;
+ if (method == NO_METHOD) {
+ *out = (const char *)body;
+ *outlen = bodylen;
+ rv = 0;
+ } else {
+ rv = tor_uncompress(owned_out, outlen, (const char *)body, bodylen,
method, 1, LOG_WARN);
+ *out = *owned_out;
+ }
+ return rv;
}
/**
@@ -1478,16 +1508,17 @@ consensus_diff_worker_threadfn(void *state_, void *work_)
char *consensus_diff;
{
- char *diff_from_nt = NULL, *diff_to_nt = NULL;
+ const char *diff_from_nt = NULL, *diff_to_nt = NULL;
+ char *owned1 = NULL, *owned2 = NULL;
size_t diff_from_nt_len, diff_to_nt_len;
- if (uncompress_or_copy(&diff_from_nt, &diff_from_nt_len,
- job->diff_from) < 0) {
+ if (uncompress_or_set_ptr(&diff_from_nt, &diff_from_nt_len, &owned1,
+ job->diff_from) < 0) {
return WQ_RPL_REPLY;
}
- if (uncompress_or_copy(&diff_to_nt, &diff_to_nt_len,
- job->diff_to) < 0) {
- tor_free(diff_from_nt);
+ if (uncompress_or_set_ptr(&diff_to_nt, &diff_to_nt_len, &owned2,
+ job->diff_to) < 0) {
+ tor_free(owned1);
return WQ_RPL_REPLY;
}
tor_assert(diff_from_nt);
@@ -1496,9 +1527,12 @@ consensus_diff_worker_threadfn(void *state_, void *work_)
// XXXX ugh; this is going to calculate the SHA3 of both its
// XXXX inputs again, even though we already have that. Maybe it's time
// XXXX to change the API here?
- consensus_diff = consensus_diff_generate(diff_from_nt, diff_to_nt);
- tor_free(diff_from_nt);
- tor_free(diff_to_nt);
+ consensus_diff = consensus_diff_generate(diff_from_nt,
+ diff_from_nt_len,
+ diff_to_nt,
+ diff_to_nt_len);
+ tor_free(owned1);
+ tor_free(owned2);
}
if (!consensus_diff) {
/* Couldn't generate consensus; we'll leave the reply blank. */
@@ -1746,8 +1780,8 @@ consensus_compress_worker_threadfn(void *state_, void *work_)
(const uint8_t *)consensus, bodylen);
{
const char *start, *end;
- if (router_get_networkstatus_v3_signed_boundaries(consensus,
- &start, &end) < 0) {
+ if (router_get_networkstatus_v3_signed_boundaries(consensus, bodylen,
+ &start, &end) < 0) {
start = consensus;
end = consensus+bodylen;
}
@@ -1811,14 +1845,15 @@ static int background_compression = 0;
*/
static int
consensus_queue_compression_work(const char *consensus,
+ size_t consensus_len,
const networkstatus_t *as_parsed)
{
tor_assert(consensus);
tor_assert(as_parsed);
consensus_compress_worker_job_t *job = tor_malloc_zero(sizeof(*job));
- job->consensus = tor_strdup(consensus);
- job->consensus_len = strlen(consensus);
+ job->consensus = tor_memdup_nulterm(consensus, consensus_len);
+ job->consensus_len = strlen(job->consensus);
job->flavor = as_parsed->flavor;
char va_str[ISO_TIME_LEN+1];
diff --git a/src/feature/dircache/consdiffmgr.h b/src/feature/dircache/consdiffmgr.h
index 66c3d65002..011c8799d6 100644
--- a/src/feature/dircache/consdiffmgr.h
+++ b/src/feature/dircache/consdiffmgr.h
@@ -22,6 +22,7 @@ typedef struct consdiff_cfg_t {
struct consensus_cache_entry_t; // from conscache.h
int consdiffmgr_add_consensus(const char *consensus,
+ size_t consensus_len,
const networkstatus_t *as_parsed);
consdiff_status_t consdiffmgr_find_consensus(
@@ -68,8 +69,14 @@ STATIC consensus_cache_entry_t *cdm_cache_lookup_consensus(
STATIC int cdm_entry_get_sha3_value(uint8_t *digest_out,
consensus_cache_entry_t *ent,
const char *label);
-STATIC int uncompress_or_copy(char **out, size_t *outlen,
- consensus_cache_entry_t *ent);
+STATIC int uncompress_or_set_ptr(const char **out, size_t *outlen,
+ char **owned_out,
+ consensus_cache_entry_t *ent);
#endif /* defined(CONSDIFFMGR_PRIVATE) */
+#ifdef TOR_UNIT_TESTS
+int consdiffmgr_add_consensus_nulterm(const char *consensus,
+ const networkstatus_t *as_parsed);
+#endif
+
#endif /* !defined(TOR_CONSDIFFMGR_H) */
diff --git a/src/feature/dircache/dircache.c b/src/feature/dircache/dircache.c
index 872a88018f..4032223db4 100644
--- a/src/feature/dircache/dircache.c
+++ b/src/feature/dircache/dircache.c
@@ -166,22 +166,16 @@ write_http_response_header_impl(dir_connection_t *conn, ssize_t length,
buf_free(buf);
}
-/** As write_http_response_header_impl, but sets encoding and content-typed
- * based on whether the response will be <b>compressed</b> or not. */
+/** As write_http_response_header_impl, but translates method into
+ * encoding */
static void
write_http_response_headers(dir_connection_t *conn, ssize_t length,
compress_method_t method,
const char *extra_headers, long cache_lifetime)
{
- const char *methodname = compression_method_get_name(method);
- const char *doctype;
- if (method == NO_METHOD)
- doctype = "text/plain";
- else
- doctype = "application/octet-stream";
write_http_response_header_impl(conn, length,
- doctype,
- methodname,
+ "text/plain",
+ compression_method_get_name(method),
extra_headers,
cache_lifetime);
}
@@ -1608,8 +1602,8 @@ directory_handle_command_post,(dir_connection_t *conn, const char *headers,
const char *msg = "[None]";
uint8_t purpose = authdir_mode_bridge(options) ?
ROUTER_PURPOSE_BRIDGE : ROUTER_PURPOSE_GENERAL;
- was_router_added_t r = dirserv_add_multiple_descriptors(body, purpose,
- conn->base_.address, &msg);
+ was_router_added_t r = dirserv_add_multiple_descriptors(body, body_len,
+ purpose, conn->base_.address, &msg);
tor_assert(msg);
if (r == ROUTER_ADDED_SUCCESSFULLY) {
diff --git a/src/feature/dircache/dirserv.c b/src/feature/dircache/dirserv.c
index 57178cd506..4366000e2e 100644
--- a/src/feature/dircache/dirserv.c
+++ b/src/feature/dircache/dirserv.c
@@ -234,6 +234,7 @@ free_cached_dir_(void *_d)
* validation is performed. */
void
dirserv_set_cached_consensus_networkstatus(const char *networkstatus,
+ size_t networkstatus_len,
const char *flavor_name,
const common_digests_t *digests,
const uint8_t *sha3_as_signed,
@@ -244,7 +245,9 @@ dirserv_set_cached_consensus_networkstatus(const char *networkstatus,
if (!cached_consensuses)
cached_consensuses = strmap_new();
- new_networkstatus = new_cached_dir(tor_strdup(networkstatus), published);
+ new_networkstatus =
+ new_cached_dir(tor_memdup_nulterm(networkstatus, networkstatus_len),
+ published);
memcpy(&new_networkstatus->digests, digests, sizeof(common_digests_t));
memcpy(&new_networkstatus->digest_sha3_as_signed, sha3_as_signed,
DIGEST256_LEN);
diff --git a/src/feature/dircache/dirserv.h b/src/feature/dircache/dirserv.h
index 41e1376688..aa1e2494ca 100644
--- a/src/feature/dircache/dirserv.h
+++ b/src/feature/dircache/dirserv.h
@@ -84,6 +84,7 @@ int directory_too_idle_to_fetch_descriptors(const or_options_t *options,
cached_dir_t *dirserv_get_consensus(const char *flavor_name);
void dirserv_set_cached_consensus_networkstatus(const char *consensus,
+ size_t consensus_len,
const char *flavor_name,
const common_digests_t *digests,
const uint8_t *sha3_as_signed,
diff --git a/src/feature/dirclient/dirclient.c b/src/feature/dirclient/dirclient.c
index f6a712e429..cd88fa5ebf 100644
--- a/src/feature/dirclient/dirclient.c
+++ b/src/feature/dirclient/dirclient.c
@@ -2205,24 +2205,31 @@ handle_response_fetch_consensus(dir_connection_t *conn,
if (looks_like_a_consensus_diff(body, body_len)) {
/* First find our previous consensus. Maybe it's in ram, maybe not. */
cached_dir_t *cd = dirserv_get_consensus(flavname);
- const char *consensus_body;
- char *owned_consensus = NULL;
+ const char *consensus_body = NULL;
+ size_t consensus_body_len;
+ tor_mmap_t *mapped_consensus = NULL;
if (cd) {
consensus_body = cd->dir;
+ consensus_body_len = cd->dir_len;
} else {
- owned_consensus = networkstatus_read_cached_consensus(flavname);
- consensus_body = owned_consensus;
+ mapped_consensus = networkstatus_map_cached_consensus(flavname);
+ if (mapped_consensus) {
+ consensus_body = mapped_consensus->data;
+ consensus_body_len = mapped_consensus->size;
+ }
}
if (!consensus_body) {
log_warn(LD_DIR, "Received a consensus diff, but we can't find "
"any %s-flavored consensus in our current cache.",flavname);
+ tor_munmap_file(mapped_consensus);
networkstatus_consensus_download_failed(0, flavname);
// XXXX if this happens too much, see below
return -1;
}
- new_consensus = consensus_diff_apply(consensus_body, body);
- tor_free(owned_consensus);
+ new_consensus = consensus_diff_apply(consensus_body, consensus_body_len,
+ body, body_len);
+ tor_munmap_file(mapped_consensus);
if (new_consensus == NULL) {
log_warn(LD_DIR, "Could not apply consensus diff received from server "
"'%s:%d'", conn->base_.address, conn->base_.port);
@@ -2244,7 +2251,9 @@ handle_response_fetch_consensus(dir_connection_t *conn,
sourcename = "downloaded";
}
- if ((r=networkstatus_set_current_consensus(consensus, flavname, 0,
+ if ((r=networkstatus_set_current_consensus(consensus,
+ strlen(consensus),
+ flavname, 0,
conn->identity_digest))<0) {
log_fn(r<-1?LOG_WARN:LOG_INFO, LD_DIR,
"Unable to load %s consensus directory %s from "
diff --git a/src/feature/dircommon/consdiff.c b/src/feature/dircommon/consdiff.c
index f8ced8503f..15266f77bf 100644
--- a/src/feature/dircommon/consdiff.c
+++ b/src/feature/dircommon/consdiff.c
@@ -101,11 +101,11 @@ smartlist_add_linecpy(smartlist_t *lst, memarea_t *area, const char *s)
/* This is a separate, mockable function so that we can override it when
* fuzzing. */
MOCK_IMPL(STATIC int,
-consensus_compute_digest,(const char *cons,
+consensus_compute_digest,(const char *cons, size_t len,
consensus_digest_t *digest_out))
{
int r = crypto_digest256((char*)digest_out->sha3_256,
- cons, strlen(cons), DIGEST_SHA3_256);
+ cons, len, DIGEST_SHA3_256);
return r;
}
@@ -114,11 +114,11 @@ consensus_compute_digest,(const char *cons,
/* This is a separate, mockable function so that we can override it when
* fuzzing. */
MOCK_IMPL(STATIC int,
-consensus_compute_digest_as_signed,(const char *cons,
+consensus_compute_digest_as_signed,(const char *cons, size_t len,
consensus_digest_t *digest_out))
{
return router_get_networkstatus_v3_sha3_as_signed(digest_out->sha3_256,
- cons);
+ cons, len);
}
/** Return true iff <b>d1</b> and <b>d2</b> contain the same digest */
@@ -1229,7 +1229,8 @@ consdiff_apply_diff(const smartlist_t *cons1,
cons2_str = consensus_join_lines(cons2);
consensus_digest_t cons2_digests;
- if (consensus_compute_digest(cons2_str, &cons2_digests) < 0) {
+ if (consensus_compute_digest(cons2_str, strlen(cons2_str),
+ &cons2_digests) < 0) {
/* LCOV_EXCL_START -- digest can't fail */
log_warn(LD_CONSDIFF, "Could not compute digests of the consensus "
"resulting from applying a consensus diff.");
@@ -1283,12 +1284,13 @@ consdiff_apply_diff(const smartlist_t *cons1,
* generated cdlines will become invalid.
*/
STATIC int
-consensus_split_lines(smartlist_t *out, const char *s, memarea_t *area)
+consensus_split_lines(smartlist_t *out,
+ const char *s, size_t len,
+ memarea_t *area)
{
- const char *end_of_str = s + strlen(s);
- tor_assert(*end_of_str == '\0');
+ const char *end_of_str = s + len;
- while (*s) {
+ while (s < end_of_str) {
const char *eol = memchr(s, '\n', end_of_str - s);
if (!eol) {
/* File doesn't end with newline. */
@@ -1334,25 +1336,25 @@ consensus_join_lines(const smartlist_t *inp)
* success, retun a newly allocated string containing that diff. On failure,
* return NULL. */
char *
-consensus_diff_generate(const char *cons1,
- const char *cons2)
+consensus_diff_generate(const char *cons1, size_t cons1len,
+ const char *cons2, size_t cons2len)
{
consensus_digest_t d1, d2;
smartlist_t *lines1 = NULL, *lines2 = NULL, *result_lines = NULL;
int r1, r2;
char *result = NULL;
- r1 = consensus_compute_digest_as_signed(cons1, &d1);
- r2 = consensus_compute_digest(cons2, &d2);
+ r1 = consensus_compute_digest_as_signed(cons1, cons1len, &d1);
+ r2 = consensus_compute_digest(cons2, cons2len, &d2);
if (BUG(r1 < 0 || r2 < 0))
return NULL; // LCOV_EXCL_LINE
memarea_t *area = memarea_new();
lines1 = smartlist_new();
lines2 = smartlist_new();
- if (consensus_split_lines(lines1, cons1, area) < 0)
+ if (consensus_split_lines(lines1, cons1, cons1len, area) < 0)
goto done;
- if (consensus_split_lines(lines2, cons2, area) < 0)
+ if (consensus_split_lines(lines2, cons2, cons2len, area) < 0)
goto done;
result_lines = consdiff_gen_diff(lines1, lines2, &d1, &d2, area);
@@ -1375,7 +1377,9 @@ consensus_diff_generate(const char *cons1,
* consensus. On failure, return NULL. */
char *
consensus_diff_apply(const char *consensus,
- const char *diff)
+ size_t consensus_len,
+ const char *diff,
+ size_t diff_len)
{
consensus_digest_t d1;
smartlist_t *lines1 = NULL, *lines2 = NULL;
@@ -1383,15 +1387,15 @@ consensus_diff_apply(const char *consensus,
char *result = NULL;
memarea_t *area = memarea_new();
- r1 = consensus_compute_digest_as_signed(consensus, &d1);
+ r1 = consensus_compute_digest_as_signed(consensus, consensus_len, &d1);
if (BUG(r1 < 0))
return NULL; // LCOV_EXCL_LINE
lines1 = smartlist_new();
lines2 = smartlist_new();
- if (consensus_split_lines(lines1, consensus, area) < 0)
+ if (consensus_split_lines(lines1, consensus, consensus_len, area) < 0)
goto done;
- if (consensus_split_lines(lines2, diff, area) < 0)
+ if (consensus_split_lines(lines2, diff, diff_len, area) < 0)
goto done;
result = consdiff_apply_diff(lines1, lines2, &d1);
diff --git a/src/feature/dircommon/consdiff.h b/src/feature/dircommon/consdiff.h
index a5e4ba5cbf..eb7c9f9fe0 100644
--- a/src/feature/dircommon/consdiff.h
+++ b/src/feature/dircommon/consdiff.h
@@ -7,10 +7,10 @@
#include "core/or/or.h"
-char *consensus_diff_generate(const char *cons1,
- const char *cons2);
-char *consensus_diff_apply(const char *consensus,
- const char *diff);
+char *consensus_diff_generate(const char *cons1, size_t cons1len,
+ const char *cons2, size_t cons2len);
+char *consensus_diff_apply(const char *consensus, size_t consensus_len,
+ const char *diff, size_t diff_len);
int looks_like_a_consensus_diff(const char *document, size_t len);
@@ -78,7 +78,8 @@ STATIC int smartlist_slice_string_pos(const smartlist_slice_t *slice,
STATIC void set_changed(bitarray_t *changed1, bitarray_t *changed2,
const smartlist_slice_t *slice1,
const smartlist_slice_t *slice2);
-STATIC int consensus_split_lines(smartlist_t *out, const char *s,
+STATIC int consensus_split_lines(smartlist_t *out,
+ const char *s, size_t len,
struct memarea_t *area);
STATIC void smartlist_add_linecpy(smartlist_t *lst, struct memarea_t *area,
const char *s);
@@ -86,10 +87,10 @@ STATIC int lines_eq(const cdline_t *a, const cdline_t *b);
STATIC int line_str_eq(const cdline_t *a, const char *b);
MOCK_DECL(STATIC int,
- consensus_compute_digest,(const char *cons,
+ consensus_compute_digest,(const char *cons, size_t len,
consensus_digest_t *digest_out));
MOCK_DECL(STATIC int,
- consensus_compute_digest_as_signed,(const char *cons,
+ consensus_compute_digest_as_signed,(const char *cons, size_t len,
consensus_digest_t *digest_out));
MOCK_DECL(STATIC int,
consensus_digest_eq,(const uint8_t *d1,
diff --git a/src/feature/dirparse/authcert_parse.c b/src/feature/dirparse/authcert_parse.c
index 2ba46bb8fa..334baf8b1a 100644
--- a/src/feature/dirparse/authcert_parse.c
+++ b/src/feature/dirparse/authcert_parse.c
@@ -24,7 +24,8 @@ static token_rule_t dir_key_certificate_table[] = {
/** Parse a key certificate from <b>s</b>; point <b>end-of-string</b> to
* the first character after the certificate. */
authority_cert_t *
-authority_cert_parse_from_string(const char *s, const char **end_of_string)
+authority_cert_parse_from_string(const char *s, size_t maxlen,
+ const char **end_of_string)
{
/** Reject any certificate at least this big; it is probably an overflow, an
* attack, a bug, or some other nonsense. */
@@ -35,24 +36,25 @@ authority_cert_parse_from_string(const char *s, const char **end_of_string)
char digest[DIGEST_LEN];
directory_token_t *tok;
char fp_declared[DIGEST_LEN];
- char *eos;
+ const char *eos;
size_t len;
int found;
memarea_t *area = NULL;
+ const char *end_of_s = s + maxlen;
const char *s_dup = s;
- s = eat_whitespace(s);
- eos = strstr(s, "\ndir-key-certification");
+ s = eat_whitespace_eos(s, end_of_s);
+ eos = tor_memstr(s, end_of_s - s, "\ndir-key-certification");
if (! eos) {
log_warn(LD_DIR, "No signature found on key certificate");
return NULL;
}
- eos = strstr(eos, "\n-----END SIGNATURE-----\n");
+ eos = tor_memstr(eos, end_of_s - eos, "\n-----END SIGNATURE-----\n");
if (! eos) {
log_warn(LD_DIR, "No end-of-signature found on key certificate");
return NULL;
}
- eos = strchr(eos+2, '\n');
+ eos = memchr(eos+2, '\n', end_of_s - (eos+2));
tor_assert(eos);
++eos;
len = eos - s;
@@ -69,7 +71,7 @@ authority_cert_parse_from_string(const char *s, const char **end_of_string)
log_warn(LD_DIR, "Error tokenizing key certificate");
goto err;
}
- if (router_get_hash_impl(s, strlen(s), digest, "dir-key-certificate-version",
+ if (router_get_hash_impl(s, eos - s, digest, "dir-key-certificate-version",
"\ndir-key-certification", '\n', DIGEST_SHA1) < 0)
goto err;
tok = smartlist_get(tokens, 0);
diff --git a/src/feature/dirparse/authcert_parse.h b/src/feature/dirparse/authcert_parse.h
index f63525e04d..e4e9fec993 100644
--- a/src/feature/dirparse/authcert_parse.h
+++ b/src/feature/dirparse/authcert_parse.h
@@ -13,6 +13,7 @@
#define TOR_AUTHCERT_PARSE_H
authority_cert_t *authority_cert_parse_from_string(const char *s,
+ size_t maxlen,
const char **end_of_string);
#endif /* !defined(TOR_AUTHCERT_PARSE_H) */
diff --git a/src/feature/dirparse/microdesc_parse.c b/src/feature/dirparse/microdesc_parse.c
index 005d2c53d0..165945e392 100644
--- a/src/feature/dirparse/microdesc_parse.c
+++ b/src/feature/dirparse/microdesc_parse.c
@@ -18,6 +18,7 @@
#include "feature/dirparse/routerparse.h"
#include "feature/nodelist/microdesc.h"
#include "feature/nodelist/nickname.h"
+#include "feature/nodelist/nodefamily.h"
#include "feature/relay/router.h"
#include "lib/crypt_ops/crypto_curve25519.h"
#include "lib/crypt_ops/crypto_ed25519.h"
@@ -32,7 +33,7 @@ static token_rule_t microdesc_token_table[] = {
T01("ntor-onion-key", K_ONION_KEY_NTOR, GE(1), NO_OBJ ),
T0N("id", K_ID, GE(2), NO_OBJ ),
T0N("a", K_A, GE(1), NO_OBJ ),
- T01("family", K_FAMILY, ARGS, NO_OBJ ),
+ T01("family", K_FAMILY, CONCAT_ARGS, NO_OBJ ),
T01("p", K_P, CONCAT_ARGS, NO_OBJ ),
T01("p6", K_P6, CONCAT_ARGS, NO_OBJ ),
A01("@last-listed", A_LAST_LISTED, CONCAT_ARGS, NO_OBJ ),
@@ -50,13 +51,13 @@ find_start_of_next_microdesc(const char *s, const char *eos)
return NULL;
#define CHECK_LENGTH() STMT_BEGIN \
- if (s+32 > eos) \
+ if (eos - s < 32) \
return NULL; \
STMT_END
#define NEXT_LINE() STMT_BEGIN \
s = memchr(s, '\n', eos-s); \
- if (!s || s+1 >= eos) \
+ if (!s || eos - s <= 1) \
return NULL; \
s++; \
STMT_END
@@ -80,7 +81,7 @@ find_start_of_next_microdesc(const char *s, const char *eos)
/* Okay, now we're pointed at the first line of the microdescriptor which is
not an annotation or onion-key. The next line that _is_ an annotation or
onion-key is the start of the next microdescriptor. */
- while (s+32 < eos) {
+ while (eos - s > 32) {
if (*s == '@' || !strcmpstart(s, "onion-key"))
return s;
NEXT_LINE();
@@ -176,8 +177,8 @@ microdescs_parse_from_string(const char *s, const char *eos,
"Relay's onion key had invalid exponent.");
goto next;
}
- router_set_rsa_onion_pkey(tok->key, &md->onion_pkey,
- &md->onion_pkey_len);
+ md->onion_pkey = tor_memdup(tok->object_body, tok->object_size);
+ md->onion_pkey_len = tok->object_size;
crypto_pk_free(tok->key);
if ((tok = find_opt_by_keyword(tokens, K_ONION_KEY_NTOR))) {
@@ -222,16 +223,9 @@ microdescs_parse_from_string(const char *s, const char *eos,
}
if ((tok = find_opt_by_keyword(tokens, K_FAMILY))) {
- int i;
- md->family = smartlist_new();
- for (i=0;i<tok->n_args;++i) {
- if (!is_legal_nickname_or_hexdigest(tok->args[i])) {
- log_warn(LD_DIR, "Illegal nickname %s in family line",
- escaped(tok->args[i]));
- goto next;
- }
- smartlist_add_strdup(md->family, tok->args[i]);
- }
+ md->family = nodefamily_parse(tok->args[0],
+ NULL,
+ NF_WARN_MALFORMED);
}
if ((tok = find_opt_by_keyword(tokens, K_P))) {
diff --git a/src/feature/dirparse/ns_parse.c b/src/feature/dirparse/ns_parse.c
index 72299e8071..e0cdb2d46d 100644
--- a/src/feature/dirparse/ns_parse.c
+++ b/src/feature/dirparse/ns_parse.c
@@ -151,10 +151,11 @@ static token_rule_t networkstatus_vote_footer_token_table[] = {
* -1. */
int
router_get_networkstatus_v3_signed_boundaries(const char *s,
+ size_t len,
const char **start_out,
const char **end_out)
{
- return router_get_hash_impl_helper(s, strlen(s),
+ return router_get_hash_impl_helper(s, len,
"network-status-version",
"\ndirectory-signature",
' ', LOG_INFO,
@@ -166,12 +167,13 @@ router_get_networkstatus_v3_signed_boundaries(const char *s,
* signed portion can be identified. Return 0 on success, -1 on failure. */
int
router_get_networkstatus_v3_sha3_as_signed(uint8_t *digest_out,
- const char *s)
+ const char *s, size_t len)
{
const char *start, *end;
- if (router_get_networkstatus_v3_signed_boundaries(s, &start, &end) < 0) {
+ if (router_get_networkstatus_v3_signed_boundaries(s, len,
+ &start, &end) < 0) {
start = s;
- end = s + strlen(s);
+ end = s + len;
}
tor_assert(start);
tor_assert(end);
@@ -182,9 +184,10 @@ router_get_networkstatus_v3_sha3_as_signed(uint8_t *digest_out,
/** Set <b>digests</b> to all the digests of the consensus document in
* <b>s</b> */
int
-router_get_networkstatus_v3_hashes(const char *s, common_digests_t *digests)
+router_get_networkstatus_v3_hashes(const char *s, size_t len,
+ common_digests_t *digests)
{
- return router_get_hashes_impl(s,strlen(s),digests,
+ return router_get_hashes_impl(s, len, digests,
"network-status-version",
"\ndirectory-signature",
' ');
@@ -195,13 +198,13 @@ router_get_networkstatus_v3_hashes(const char *s, common_digests_t *digests)
* return the start of the directory footer, or the next directory signature.
* If none is found, return the end of the string. */
static inline const char *
-find_start_of_next_routerstatus(const char *s)
+find_start_of_next_routerstatus(const char *s, const char *s_eos)
{
const char *eos, *footer, *sig;
- if ((eos = strstr(s, "\nr ")))
+ if ((eos = tor_memstr(s, s_eos - s, "\nr ")))
++eos;
else
- eos = s + strlen(s);
+ eos = s_eos;
footer = tor_memstr(s, eos-s, "\ndirectory-footer");
sig = tor_memstr(s, eos-s, "\ndirectory-signature");
@@ -289,7 +292,8 @@ routerstatus_parse_guardfraction(const char *guardfraction_str,
**/
STATIC routerstatus_t *
routerstatus_parse_entry_from_string(memarea_t *area,
- const char **s, smartlist_t *tokens,
+ const char **s, const char *s_eos,
+ smartlist_t *tokens,
networkstatus_t *vote,
vote_routerstatus_t *vote_rs,
int consensus_method,
@@ -308,7 +312,7 @@ routerstatus_parse_entry_from_string(memarea_t *area,
flav = FLAV_NS;
tor_assert(flav == FLAV_NS || flav == FLAV_MICRODESC);
- eos = find_start_of_next_routerstatus(*s);
+ eos = find_start_of_next_routerstatus(*s, s_eos);
if (tokenize_string(area,*s, eos, tokens, rtrstatus_token_table,0)) {
log_warn(LD_DIR, "Error tokenizing router status");
@@ -430,6 +434,8 @@ routerstatus_parse_entry_from_string(memarea_t *area,
rs->is_hs_dir = 1;
} else if (!strcmp(tok->args[i], "V2Dir")) {
rs->is_v2_dir = 1;
+ } else if (!strcmp(tok->args[i], "StaleDesc")) {
+ rs->is_staledesc = 1;
}
}
/* These are implied true by having been included in a consensus made
@@ -1051,7 +1057,9 @@ extract_shared_random_srvs(networkstatus_t *ns, smartlist_t *tokens)
/** Parse a v3 networkstatus vote, opinion, or consensus (depending on
* ns_type), from <b>s</b>, and return the result. Return NULL on failure. */
networkstatus_t *
-networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
+networkstatus_parse_vote_from_string(const char *s,
+ size_t s_len,
+ const char **eos_out,
networkstatus_type_t ns_type)
{
smartlist_t *tokens = smartlist_new();
@@ -1067,20 +1075,22 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
memarea_t *area = NULL, *rs_area = NULL;
consensus_flavor_t flav = FLAV_NS;
char *last_kwd=NULL;
+ const char *eos = s + s_len;
tor_assert(s);
if (eos_out)
*eos_out = NULL;
- if (router_get_networkstatus_v3_hashes(s, &ns_digests) ||
- router_get_networkstatus_v3_sha3_as_signed(sha3_as_signed, s)<0) {
+ if (router_get_networkstatus_v3_hashes(s, s_len, &ns_digests) ||
+ router_get_networkstatus_v3_sha3_as_signed(sha3_as_signed,
+ s, s_len)<0) {
log_warn(LD_DIR, "Unable to compute digest of network-status");
goto err;
}
area = memarea_new();
- end_of_header = find_start_of_next_routerstatus(s);
+ end_of_header = find_start_of_next_routerstatus(s, eos);
if (tokenize_string(area, s, end_of_header, tokens,
(ns_type == NS_TYPE_CONSENSUS) ?
networkstatus_consensus_token_table :
@@ -1111,10 +1121,12 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
if (ns_type != NS_TYPE_CONSENSUS) {
const char *end_of_cert = NULL;
- if (!(cert = strstr(s, "\ndir-key-certificate-version")))
+ if (!(cert = tor_memstr(s, end_of_header - s,
+ "\ndir-key-certificate-version")))
goto err;
++cert;
- ns->cert = authority_cert_parse_from_string(cert, &end_of_cert);
+ ns->cert = authority_cert_parse_from_string(cert, end_of_header - cert,
+ &end_of_cert);
if (!ns->cert || !end_of_cert || end_of_cert > end_of_header)
goto err;
}
@@ -1424,10 +1436,10 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
s = end_of_header;
ns->routerstatus_list = smartlist_new();
- while (!strcmpstart(s, "r ")) {
+ while (eos - s >= 2 && fast_memeq(s, "r ", 2)) {
if (ns->type != NS_TYPE_CONSENSUS) {
vote_routerstatus_t *rs = tor_malloc_zero(sizeof(vote_routerstatus_t));
- if (routerstatus_parse_entry_from_string(rs_area, &s, rs_tokens, ns,
+ if (routerstatus_parse_entry_from_string(rs_area, &s, eos, rs_tokens, ns,
rs, 0, 0)) {
smartlist_add(ns->routerstatus_list, rs);
} else {
@@ -1435,7 +1447,8 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
}
} else {
routerstatus_t *rs;
- if ((rs = routerstatus_parse_entry_from_string(rs_area, &s, rs_tokens,
+ if ((rs = routerstatus_parse_entry_from_string(rs_area, &s, eos,
+ rs_tokens,
NULL, NULL,
ns->consensus_method,
flav))) {
@@ -1480,10 +1493,10 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
/* Parse footer; check signature. */
footer_tokens = smartlist_new();
- if ((end_of_footer = strstr(s, "\nnetwork-status-version ")))
+ if ((end_of_footer = tor_memstr(s, eos-s, "\nnetwork-status-version ")))
++end_of_footer;
else
- end_of_footer = s + strlen(s);
+ end_of_footer = eos;
if (tokenize_string(area,s, end_of_footer, footer_tokens,
networkstatus_vote_footer_token_table, 0)) {
log_warn(LD_DIR, "Error tokenizing network-status vote footer.");
diff --git a/src/feature/dirparse/ns_parse.h b/src/feature/dirparse/ns_parse.h
index 22438d73a7..85d9ded685 100644
--- a/src/feature/dirparse/ns_parse.h
+++ b/src/feature/dirparse/ns_parse.h
@@ -12,18 +12,19 @@
#ifndef TOR_NS_PARSE_H
#define TOR_NS_PARSE_H
-int router_get_networkstatus_v3_hashes(const char *s,
+int router_get_networkstatus_v3_hashes(const char *s, size_t len,
common_digests_t *digests);
-int router_get_networkstatus_v3_signed_boundaries(const char *s,
+int router_get_networkstatus_v3_signed_boundaries(const char *s, size_t len,
const char **start_out,
const char **end_out);
int router_get_networkstatus_v3_sha3_as_signed(uint8_t *digest_out,
- const char *s);
+ const char *s, size_t len);
int compare_vote_routerstatus_entries(const void **_a, const void **_b);
int networkstatus_verify_bw_weights(networkstatus_t *ns, int);
enum networkstatus_type_t;
networkstatus_t *networkstatus_parse_vote_from_string(const char *s,
+ size_t len,
const char **eos_out,
enum networkstatus_type_t ns_type);
@@ -35,7 +36,8 @@ STATIC int routerstatus_parse_guardfraction(const char *guardfraction_str,
struct memarea_t;
STATIC routerstatus_t *routerstatus_parse_entry_from_string(
struct memarea_t *area,
- const char **s, smartlist_t *tokens,
+ const char **s, const char *eos,
+ smartlist_t *tokens,
networkstatus_t *vote,
vote_routerstatus_t *vote_rs,
int consensus_method,
diff --git a/src/feature/dirparse/parsecommon.c b/src/feature/dirparse/parsecommon.c
index c12f199e4e..2e7cea8169 100644
--- a/src/feature/dirparse/parsecommon.c
+++ b/src/feature/dirparse/parsecommon.c
@@ -266,7 +266,7 @@ get_next_token(memarea_t *area,
* attack, a bug, or some other nonsense. */
#define MAX_LINE_LENGTH (128*1024)
- const char *next, *eol, *obstart;
+ const char *next, *eol;
size_t obname_len;
int i;
directory_token_t *tok;
@@ -352,8 +352,7 @@ get_next_token(memarea_t *area,
if (!eol || eol-*s<11 || strcmpstart(*s, "-----BEGIN ")) /* No object. */
goto check_object;
- obstart = *s; /* Set obstart to start of object spec */
- if (*s+16 >= eol || memchr(*s+11,'\0',eol-*s-16) || /* no short lines, */
+ if (eol - *s <= 16 || memchr(*s+11,'\0',eol-*s-16) || /* no short lines, */
strcmp_len(eol-5, "-----", 5) || /* nuls or invalid endings */
(eol-*s) > MAX_UNPARSED_OBJECT_SIZE) { /* name too long */
RET_ERR("Malformed object: bad begin line");
@@ -383,22 +382,26 @@ get_next_token(memarea_t *area,
if (next - *s > MAX_UNPARSED_OBJECT_SIZE)
RET_ERR("Couldn't parse object: missing footer or object much too big.");
- if (!strcmp(tok->object_type, "RSA PUBLIC KEY")) { /* If it's a public key */
- tok->key = crypto_pk_new();
- if (crypto_pk_read_public_key_from_string(tok->key, obstart, eol-obstart))
- RET_ERR("Couldn't parse public key.");
- } else if (!strcmp(tok->object_type, "RSA PRIVATE KEY")) { /* private key */
- tok->key = crypto_pk_new();
- if (crypto_pk_read_private_key_from_string(tok->key, obstart, eol-obstart))
- RET_ERR("Couldn't parse private key.");
- } else { /* If it's something else, try to base64-decode it */
+ {
int r;
- tok->object_body = ALLOC(next-*s); /* really, this is too much RAM. */
- r = base64_decode(tok->object_body, next-*s, *s, next-*s);
+ size_t maxsize = base64_decode_maxsize(next-*s);
+ tok->object_body = ALLOC(maxsize);
+ r = base64_decode(tok->object_body, maxsize, *s, next-*s);
if (r<0)
RET_ERR("Malformed object: bad base64-encoded data");
tok->object_size = r;
}
+
+ if (!strcmp(tok->object_type, "RSA PUBLIC KEY")) { /* If it's a public key */
+ tok->key = crypto_pk_asn1_decode(tok->object_body, tok->object_size);
+ if (! tok->key)
+ RET_ERR("Couldn't parse public key.");
+ } else if (!strcmp(tok->object_type, "RSA PRIVATE KEY")) { /* private key */
+ tok->key = crypto_pk_asn1_decode_private(tok->object_body,
+ tok->object_size);
+ if (! tok->key)
+ RET_ERR("Couldn't parse private key.");
+ }
*s = eol;
check_object:
diff --git a/src/feature/dirparse/routerparse.c b/src/feature/dirparse/routerparse.c
index 2249ab7cbc..358f6e44e8 100644
--- a/src/feature/dirparse/routerparse.c
+++ b/src/feature/dirparse/routerparse.c
@@ -588,8 +588,8 @@ router_parse_entry_from_string(const char *s, const char *end,
"Relay's onion key had invalid exponent.");
goto err;
}
- router_set_rsa_onion_pkey(tok->key, &router->onion_pkey,
- &router->onion_pkey_len);
+ router->onion_pkey = tor_memdup(tok->object_body, tok->object_size);
+ router->onion_pkey_len = tok->object_size;
crypto_pk_free(tok->key);
if ((tok = find_opt_by_keyword(tokens, K_ONION_KEY_NTOR))) {
diff --git a/src/feature/hibernate/hibernate.c b/src/feature/hibernate/hibernate.c
index 02b05ca3a2..feeb3d92ef 100644
--- a/src/feature/hibernate/hibernate.c
+++ b/src/feature/hibernate/hibernate.c
@@ -50,14 +50,25 @@ hibernating, phase 2:
#include <unistd.h>
#endif
+#ifdef HAVE_SYSTEMD
+# if defined(__COVERITY__) && !defined(__INCLUDE_LEVEL__)
+/* Systemd's use of gcc's __INCLUDE_LEVEL__ extension macro appears to confuse
+ * Coverity. Here's a kludge to unconfuse it.
+ */
+# define __INCLUDE_LEVEL__ 2
+# endif /* defined(__COVERITY__) && !defined(__INCLUDE_LEVEL__) */
+#include <systemd/sd-daemon.h>
+#endif /* defined(HAVE_SYSTEMD) */
+
/** Are we currently awake, asleep, running out of bandwidth, or shutting
* down? */
static hibernate_state_t hibernate_state = HIBERNATE_STATE_INITIAL;
/** If are hibernating, when do we plan to wake up? Set to 0 if we
* aren't hibernating. */
static time_t hibernate_end_time = 0;
-/** If we are shutting down, when do we plan finally exit? Set to 0 if
- * we aren't shutting down. */
+/** If we are shutting down, when do we plan finally exit? Set to 0 if we
+ * aren't shutting down. (This is obsolete; scheduled shutdowns are supposed
+ * to happen from mainloop_schedule_shutdown() now.) */
static time_t shutdown_time = 0;
/** A timed event that we'll use when it's time to wake up from
@@ -821,6 +832,8 @@ hibernate_soft_limit_reached(void)
return get_accounting_bytes() >= soft_limit;
}
+#define TOR_USEC_PER_SEC (1000000)
+
/** Called when we get a SIGINT, or when bandwidth soft limit is
* reached. Puts us into "loose hibernation": we don't accept new
* connections, but we continue handling old ones. */
@@ -855,7 +868,33 @@ hibernate_begin(hibernate_state_t new_state, time_t now)
log_notice(LD_GENERAL,"Interrupt: we have stopped accepting new "
"connections, and will shut down in %d seconds. Interrupt "
"again to exit now.", options->ShutdownWaitLength);
- shutdown_time = time(NULL) + options->ShutdownWaitLength;
+ /* We add an arbitrary delay here so that even if something goes wrong
+ * with the mainloop shutdown code, we can still shutdown from
+ * consider_hibernation() if we call it... but so that the
+ * mainloop_schedule_shutdown() mechanism will be the first one called.
+ */
+ shutdown_time = time(NULL) + options->ShutdownWaitLength + 5;
+ mainloop_schedule_shutdown(options->ShutdownWaitLength);
+#ifdef HAVE_SYSTEMD
+ /* tell systemd that we may need more than the default 90 seconds to shut
+ * down so they don't kill us. add some extra time to actually finish
+ * shutting down, otherwise systemd will kill us immediately after the
+ * EXTEND_TIMEOUT_USEC expires. this is an *upper* limit; tor will probably
+ * only take one or two more seconds, but assume that maybe we got swapped
+ * out and it takes a little while longer.
+ *
+ * as of writing, this is a no-op with all-defaults: ShutdownWaitLength is
+ * 30 seconds, so this will extend the timeout to 60 seconds.
+ * default systemd DefaultTimeoutStopSec is 90 seconds, so systemd will
+ * wait (up to) 90 seconds anyways.
+ *
+ * 2^31 usec = ~2147 sec = ~35 min. probably nobody will actually set
+ * ShutdownWaitLength to more than that, but use a longer type so we don't
+ * need to think about UB on overflow
+ */
+ sd_notifyf(0, "EXTEND_TIMEOUT_USEC=%" PRIu64,
+ ((uint64_t)(options->ShutdownWaitLength) + 30) * TOR_USEC_PER_SEC);
+#endif
} else { /* soft limit reached */
hibernate_end_time = interval_end_time;
}
@@ -1064,11 +1103,12 @@ consider_hibernation(time_t now)
hibernate_state_t prev_state = hibernate_state;
/* If we're in 'exiting' mode, then we just shut down after the interval
- * elapses. */
+ * elapses. The mainloop was supposed to catch this via
+ * mainloop_schedule_shutdown(), but apparently it didn't. */
if (hibernate_state == HIBERNATE_STATE_EXITING) {
tor_assert(shutdown_time);
if (shutdown_time <= now) {
- log_notice(LD_GENERAL, "Clean shutdown finished. Exiting.");
+ log_notice(LD_BUG, "Mainloop did not catch shutdown event; exiting.");
tor_shutdown_event_loop_and_exit(0);
}
return; /* if exiting soon, don't worry about bandwidth limits */
@@ -1080,7 +1120,7 @@ consider_hibernation(time_t now)
if (hibernate_end_time > now && accounting_enabled) {
/* If we're hibernating, don't wake up until it's time, regardless of
* whether we're in a new interval. */
- return ;
+ return;
} else {
hibernate_end_time_elapsed(now);
}
@@ -1208,8 +1248,6 @@ on_hibernate_state_change(hibernate_state_t prev_state)
if (prev_state != HIBERNATE_STATE_INITIAL) {
rescan_periodic_events(get_options());
}
-
- reschedule_per_second_timer();
}
/** Free all resources held by the accounting module */
diff --git a/src/feature/hs/hs_config.c b/src/feature/hs/hs_config.c
index 93d7403dfb..497e31fbb4 100644
--- a/src/feature/hs/hs_config.c
+++ b/src/feature/hs/hs_config.c
@@ -419,7 +419,7 @@ config_generic_service(const config_line_t *line_,
dup_opt_seen = line->key;
goto err;
}
- have_version = 1;
+ have_version = service->config.hs_version_explicitly_set = 1;
continue;
}
/* Virtual port. */
@@ -534,18 +534,15 @@ config_service(const config_line_t *line, const or_options_t *options,
/* We have a new hidden service. */
service = hs_service_new(options);
+
/* We'll configure that service as a generic one and then pass it to a
* specific function according to the configured version number. */
if (config_generic_service(line, options, service) < 0) {
goto err;
}
+
tor_assert(service->config.version <= HS_VERSION_MAX);
- /* Before we configure the service on a per-version basis, we'll make
- * sure that this set of options for a service are valid that is for
- * instance an option only for v2 is not used for v3. */
- if (config_has_invalid_options(line->next, service)) {
- goto err;
- }
+
/* Check permission on service directory that was just parsed. And this must
* be done regardless of the service version. Do not ask for the directory
* to be created, this is done when the keys are loaded because we could be
@@ -556,11 +553,19 @@ config_service(const config_line_t *line, const or_options_t *options,
0) < 0) {
goto err;
}
+
/* We'll try to learn the service version here by loading the key(s) if
- * present. Depending on the key format, we can figure out the service
- * version. If we can't find a key, the configuration version will be used
- * which has been set previously. */
- service->config.version = config_learn_service_version(service);
+ * present and we did not set HiddenServiceVersion. Depending on the key
+ * format, we can figure out the service version. */
+ if (!service->config.hs_version_explicitly_set) {
+ service->config.version = config_learn_service_version(service);
+ }
+
+ /* We make sure that this set of options for a service are valid that is for
+ * instance an option only for v2 is not used for v3. */
+ if (config_has_invalid_options(line->next, service)) {
+ goto err;
+ }
/* Different functions are in charge of specific options for a version. We
* start just after the service directory line so once we hit another
@@ -580,13 +585,16 @@ config_service(const config_line_t *line, const or_options_t *options,
if (ret < 0) {
goto err;
}
+
/* We'll check if this service can be kept depending on the others
* configured previously. */
if (service_is_duplicate_in_list(service_list, service)) {
goto err;
}
+
/* Passes, add it to the given list. */
smartlist_add(service_list, service);
+
return 0;
err:
diff --git a/src/feature/hs/hs_descriptor.c b/src/feature/hs/hs_descriptor.c
index 0e3c761bf6..1b2008c804 100644
--- a/src/feature/hs/hs_descriptor.c
+++ b/src/feature/hs/hs_descriptor.c
@@ -1406,10 +1406,10 @@ encrypted_data_length_is_valid(size_t len)
* SECRET_SEED = x25519(sk, pk)
* KEYS = KDF(subcredential | SECRET_SEED, 40)
*
- * The keys_out parameter will points to the buffer containing the KEYS. The
- * caller should wipe and free its content once done with it. This function
- * can't fail. */
-static void
+ * Set the <b>keys_out</b> argument to point to the buffer containing the KEYS,
+ * and return the buffer's length. The caller should wipe and free its content
+ * once done with it. This function can't fail. */
+static size_t
build_descriptor_cookie_keys(const uint8_t *subcredential,
size_t subcredential_len,
const curve25519_secret_key_t *sk,
@@ -1441,6 +1441,7 @@ build_descriptor_cookie_keys(const uint8_t *subcredential,
memwipe(secret_seed, 0, sizeof(secret_seed));
*keys_out = keystream;
+ return keystream_len;
}
/* Decrypt the descriptor cookie given the descriptor, the auth client,
@@ -1456,6 +1457,7 @@ decrypt_descriptor_cookie(const hs_descriptor_t *desc,
{
int ret = -1;
uint8_t *keystream = NULL;
+ size_t keystream_length = 0;
uint8_t *descriptor_cookie = NULL;
const uint8_t *cookie_key = NULL;
crypto_cipher_t *cipher = NULL;
@@ -1471,10 +1473,12 @@ decrypt_descriptor_cookie(const hs_descriptor_t *desc,
tor_assert(!tor_mem_is_zero((char *) desc->subcredential, DIGEST256_LEN));
/* Get the KEYS component to derive the CLIENT-ID and COOKIE-KEY. */
- build_descriptor_cookie_keys(desc->subcredential, DIGEST256_LEN,
- client_auth_sk,
- &desc->superencrypted_data.auth_ephemeral_pubkey,
- &keystream);
+ keystream_length =
+ build_descriptor_cookie_keys(desc->subcredential, DIGEST256_LEN,
+ client_auth_sk,
+ &desc->superencrypted_data.auth_ephemeral_pubkey,
+ &keystream);
+ tor_assert(keystream_length > 0);
/* If the client id of auth client is not the same as the calculcated
* client id, it means that this auth client is invaild according to the
@@ -1500,7 +1504,7 @@ decrypt_descriptor_cookie(const hs_descriptor_t *desc,
if (cipher) {
crypto_cipher_free(cipher);
}
- memwipe(keystream, 0, sizeof(keystream));
+ memwipe(keystream, 0, keystream_length);
tor_free(keystream);
return ret;
}
@@ -2915,6 +2919,7 @@ hs_desc_build_authorized_client(const uint8_t *subcredential,
hs_desc_authorized_client_t *client_out)
{
uint8_t *keystream = NULL;
+ size_t keystream_length = 0;
const uint8_t *cookie_key;
crypto_cipher_t *cipher;
@@ -2933,8 +2938,11 @@ hs_desc_build_authorized_client(const uint8_t *subcredential,
DIGEST256_LEN));
/* Get the KEYS part so we can derive the CLIENT-ID and COOKIE-KEY. */
- build_descriptor_cookie_keys(subcredential, DIGEST256_LEN,
- auth_ephemeral_sk, client_auth_pk, &keystream);
+ keystream_length =
+ build_descriptor_cookie_keys(subcredential, DIGEST256_LEN,
+ auth_ephemeral_sk, client_auth_pk,
+ &keystream);
+ tor_assert(keystream_length > 0);
/* Extract the CLIENT-ID and COOKIE-KEY from the KEYS. */
memcpy(client_out->client_id, keystream, HS_DESC_CLIENT_ID_LEN);
@@ -2951,7 +2959,7 @@ hs_desc_build_authorized_client(const uint8_t *subcredential,
(const char *) descriptor_cookie,
HS_DESC_DESCRIPTOR_COOKIE_LEN);
- memwipe(keystream, 0, sizeof(keystream));
+ memwipe(keystream, 0, keystream_length);
tor_free(keystream);
crypto_cipher_free(cipher);
diff --git a/src/feature/hs/hs_intropoint.c b/src/feature/hs/hs_intropoint.c
index c716447c9f..2ea53af6a0 100644
--- a/src/feature/hs/hs_intropoint.c
+++ b/src/feature/hs/hs_intropoint.c
@@ -503,12 +503,6 @@ handle_introduce1(or_circuit_t *client_circ, const uint8_t *request,
/* Circuit has been closed on failure of transmission. */
goto done;
}
- if (status != HS_INTRO_ACK_STATUS_SUCCESS) {
- /* We just sent a NACK that is a non success status code so close the
- * circuit because it's not useful to keep it open. Remember, a client can
- * only send one INTRODUCE1 cell on a circuit. */
- circuit_mark_for_close(TO_CIRCUIT(client_circ), END_CIRC_REASON_INTERNAL);
- }
done:
trn_cell_introduce1_free(parsed_cell);
return ret;
diff --git a/src/feature/hs/hs_service.c b/src/feature/hs/hs_service.c
index 78654bfb23..623a239d50 100644
--- a/src/feature/hs/hs_service.c
+++ b/src/feature/hs/hs_service.c
@@ -1696,6 +1696,32 @@ build_desc_intro_points(const hs_service_t *service,
} DIGEST256MAP_FOREACH_END;
}
+/* Build the descriptor signing key certificate. */
+static void
+build_desc_signing_key_cert(hs_service_descriptor_t *desc, time_t now)
+{
+ hs_desc_plaintext_data_t *plaintext;
+
+ tor_assert(desc);
+ tor_assert(desc->desc);
+
+ /* Ease our life a bit. */
+ plaintext = &desc->desc->plaintext_data;
+
+ /* Get rid of what we have right now. */
+ tor_cert_free(plaintext->signing_key_cert);
+
+ /* Fresh certificate for the signing key. */
+ plaintext->signing_key_cert =
+ tor_cert_create(&desc->blinded_kp, CERT_TYPE_SIGNING_HS_DESC,
+ &desc->signing_kp.pubkey, now, HS_DESC_CERT_LIFETIME,
+ CERT_FLAG_INCLUDE_SIGNING_KEY);
+ /* If the cert creation fails, the descriptor encoding will fail and thus
+ * ultimately won't be uploaded. We'll get a stack trace to help us learn
+ * where the call came from and the tor_cert_create() will log the error. */
+ tor_assert_nonfatal(plaintext->signing_key_cert);
+}
+
/* Populate the descriptor encrypted section from the given service object.
* This will generate a valid list of introduction points that can be used
* after for circuit creation. Return 0 on success else -1 on error. */
@@ -1811,17 +1837,15 @@ build_service_desc_superencrypted(const hs_service_t *service,
/* Populate the descriptor plaintext section from the given service object.
* The caller must make sure that the keys in the descriptors are valid that
- * is are non-zero. Return 0 on success else -1 on error. */
-static int
+ * is are non-zero. This can't fail. */
+static void
build_service_desc_plaintext(const hs_service_t *service,
- hs_service_descriptor_t *desc, time_t now)
+ hs_service_descriptor_t *desc)
{
- int ret = -1;
hs_desc_plaintext_data_t *plaintext;
tor_assert(service);
tor_assert(desc);
- /* XXX: Use a "assert_desc_ok()" ? */
tor_assert(!tor_mem_is_zero((char *) &desc->blinded_kp,
sizeof(desc->blinded_kp)));
tor_assert(!tor_mem_is_zero((char *) &desc->signing_kp,
@@ -1835,24 +1859,13 @@ build_service_desc_plaintext(const hs_service_t *service,
plaintext->version = service->config.version;
plaintext->lifetime_sec = HS_DESC_DEFAULT_LIFETIME;
- plaintext->signing_key_cert =
- tor_cert_create(&desc->blinded_kp, CERT_TYPE_SIGNING_HS_DESC,
- &desc->signing_kp.pubkey, now, HS_DESC_CERT_LIFETIME,
- CERT_FLAG_INCLUDE_SIGNING_KEY);
- if (plaintext->signing_key_cert == NULL) {
- log_warn(LD_REND, "Unable to create descriptor signing certificate for "
- "service %s",
- safe_str_client(service->onion_address));
- goto end;
- }
/* Copy public key material to go in the descriptor. */
ed25519_pubkey_copy(&plaintext->signing_pubkey, &desc->signing_kp.pubkey);
ed25519_pubkey_copy(&plaintext->blinded_pubkey, &desc->blinded_kp.pubkey);
- /* Success. */
- ret = 0;
- end:
- return ret;
+ /* Create the signing key certificate. This will be updated before each
+ * upload but we create it here so we don't complexify our unit tests. */
+ build_desc_signing_key_cert(desc, approx_time());
}
/** Compute the descriptor's OPE cipher for encrypting revision counters. */
@@ -1924,12 +1937,10 @@ build_service_desc_keys(const hs_service_t *service,
goto end;
}
- /* Random a descriptor cookie to be used as a part of a key to encrypt the
- * descriptor, if the client auth is enabled. */
- if (service->config.is_client_auth_enabled) {
- crypto_strongest_rand(desc->descriptor_cookie,
- sizeof(desc->descriptor_cookie));
- }
+ /* Random descriptor cookie to be used as a part of a key to encrypt the
+ * descriptor, only if the client auth is enabled will it be used. */
+ crypto_strongest_rand(desc->descriptor_cookie,
+ sizeof(desc->descriptor_cookie));
/* Success. */
ret = 0;
@@ -1944,8 +1955,7 @@ build_service_desc_keys(const hs_service_t *service,
*
* This can error if we are unable to create keys or certificate. */
static void
-build_service_descriptor(hs_service_t *service, time_t now,
- uint64_t time_period_num,
+build_service_descriptor(hs_service_t *service, uint64_t time_period_num,
hs_service_descriptor_t **desc_out)
{
char *encoded_desc;
@@ -1964,9 +1974,8 @@ build_service_descriptor(hs_service_t *service, time_t now,
goto err;
}
/* Setup plaintext descriptor content. */
- if (build_service_desc_plaintext(service, desc, now) < 0) {
- goto err;
- }
+ build_service_desc_plaintext(service, desc);
+
/* Setup superencrypted descriptor content. */
if (build_service_desc_superencrypted(service, desc) < 0) {
goto err;
@@ -2039,10 +2048,8 @@ build_descriptors_for_new_service(hs_service_t *service, time_t now)
}
/* Build descriptors. */
- build_service_descriptor(service, now, current_desc_tp,
- &service->desc_current);
- build_service_descriptor(service, now, next_desc_tp,
- &service->desc_next);
+ build_service_descriptor(service, current_desc_tp, &service->desc_current);
+ build_service_descriptor(service, next_desc_tp, &service->desc_next);
log_info(LD_REND, "Hidden service %s has just started. Both descriptors "
"built. Now scheduled for upload.",
safe_str_client(service->onion_address));
@@ -2072,7 +2079,7 @@ build_all_descriptors(time_t now)
}
if (service->desc_next == NULL) {
- build_service_descriptor(service, now, hs_get_next_time_period_num(0),
+ build_service_descriptor(service, hs_get_next_time_period_num(0),
&service->desc_next);
log_info(LD_REND, "Hidden service %s next descriptor successfully "
"built. Now scheduled for upload.",
@@ -2284,12 +2291,9 @@ service_desc_schedule_upload(hs_service_descriptor_t *desc,
}
}
-/* Update the given descriptor from the given service. The possible update
- * actions includes:
- * - Picking missing intro points if needed.
- */
+/* Pick missing intro points for this descriptor if needed. */
static void
-update_service_descriptor(hs_service_t *service,
+update_service_descriptor_intro_points(hs_service_t *service,
hs_service_descriptor_t *desc, time_t now)
{
unsigned int num_intro_points;
@@ -2328,15 +2332,17 @@ update_service_descriptor(hs_service_t *service,
}
}
-/* Update descriptors for each service if needed. */
+/* Update descriptor intro points for each service if needed. We do this as
+ * part of the periodic event because we need to establish intro point circuits
+ * before we publish descriptors. */
STATIC void
-update_all_descriptors(time_t now)
+update_all_descriptors_intro_points(time_t now)
{
FOR_EACH_SERVICE_BEGIN(service) {
/* We'll try to update each descriptor that is if certain conditions apply
* in order for the descriptor to be updated. */
FOR_EACH_DESCRIPTOR_BEGIN(service, desc) {
- update_service_descriptor(service, desc, now);
+ update_service_descriptor_intro_points(service, desc, now);
} FOR_EACH_DESCRIPTOR_END;
} FOR_EACH_SERVICE_END;
}
@@ -2621,10 +2627,10 @@ run_build_descriptor_event(time_t now)
* been rotated or we just started up. */
build_all_descriptors(now);
- /* Finally, we'll check if we should update the descriptors. Missing
- * introduction points will be picked in this function which is useful for
- * newly built descriptors. */
- update_all_descriptors(now);
+ /* Finally, we'll check if we should update the descriptors' intro
+ * points. Missing introduction points will be picked in this function which
+ * is useful for newly built descriptors. */
+ update_all_descriptors_intro_points(now);
}
/* For the given service, launch any intro point circuits that could be
@@ -2925,8 +2931,8 @@ set_descriptor_revision_counter(hs_service_descriptor_t *hs_desc, time_t now,
/* The OPE module returns CRYPTO_OPE_ERROR in case of errors. */
tor_assert_nonfatal(rev_counter < CRYPTO_OPE_ERROR);
- log_info(LD_REND, "Encrypted revision counter %d to %ld",
- (int) seconds_since_start_of_srv, (long int) rev_counter);
+ log_info(LD_REND, "Encrypted revision counter %d to %" PRIu64,
+ (int) seconds_since_start_of_srv, rev_counter);
hs_desc->desc->plaintext_data.revision_counter = rev_counter;
}
@@ -3085,6 +3091,37 @@ should_service_upload_descriptor(const hs_service_t *service,
return 0;
}
+/* Refresh the given service descriptor meaning this will update every mutable
+ * field that needs to be updated before we upload.
+ *
+ * This should ONLY be called before uploading a descriptor. It assumes that
+ * the descriptor has been built (desc->desc) and that all intro point
+ * circuits have been established. */
+static void
+refresh_service_descriptor(const hs_service_t *service,
+ hs_service_descriptor_t *desc, time_t now)
+{
+ /* There are few fields that we consider "mutable" in the descriptor meaning
+ * we need to update them regurlarly over the lifetime fo the descriptor.
+ * The rest are set once and should not be modified.
+ *
+ * - Signing key certificate.
+ * - Revision counter.
+ * - Introduction points which includes many thing. See
+ * hs_desc_intro_point_t. and the setup_desc_intro_point() function.
+ */
+
+ /* Create the signing key certificate. */
+ build_desc_signing_key_cert(desc, now);
+
+ /* Build the intro points descriptor section. The refresh step is just
+ * before we upload so all circuits have been properly established. */
+ build_desc_intro_points(service, desc, now);
+
+ /* Set the desc revision counter right before uploading */
+ set_descriptor_revision_counter(desc, now, service->desc_current == desc);
+}
+
/* Scheduled event run from the main loop. Try to upload the descriptor for
* each service. */
STATIC void
@@ -3120,15 +3157,12 @@ run_upload_descriptor_event(time_t now)
service->config.num_intro_points,
(desc->missing_intro_points) ? " (couldn't pick more)" : "");
- /* At this point, we have to upload the descriptor so start by building
- * the intro points descriptor section which we are now sure to be
- * accurate because all circuits have been established. */
- build_desc_intro_points(service, desc, now);
-
- /* Set the desc revision counter right before uploading */
- set_descriptor_revision_counter(desc, approx_time(),
- service->desc_current == desc);
+ /* We are about to upload so we need to do one last step which is to
+ * update the service's descriptor mutable fields in order to upload a
+ * coherent descriptor. */
+ refresh_service_descriptor(service, desc, now);
+ /* Proceed with the upload, the descriptor is ready to be encoded. */
upload_descriptor_to_all(service, desc);
} FOR_EACH_DESCRIPTOR_END;
} FOR_EACH_SERVICE_END;
@@ -3593,8 +3627,10 @@ hs_service_del_ephemeral(const char *address)
goto err;
}
- /* Close circuits, remove from map and finally free. */
- close_service_circuits(service);
+ /* Close introduction circuits, remove from map and finally free. Notice
+ * that the rendezvous circuits aren't closed in order for any existing
+ * connections to finish. We let the application terminate them. */
+ close_service_intro_circuits(service);
remove_service(hs_service_map, service);
hs_service_free(service);
@@ -3633,8 +3669,8 @@ hs_service_lookup_current_desc(const ed25519_public_key_t *pk)
}
/* Return the number of service we have configured and usable. */
-unsigned int
-hs_service_get_num_services(void)
+MOCK_IMPL(unsigned int,
+hs_service_get_num_services,(void))
{
if (hs_service_map == NULL) {
return 0;
diff --git a/src/feature/hs/hs_service.h b/src/feature/hs/hs_service.h
index 6fb15b9d37..be1155bcd1 100644
--- a/src/feature/hs/hs_service.h
+++ b/src/feature/hs/hs_service.h
@@ -99,49 +99,65 @@ typedef struct hs_service_intropoints_t {
digestmap_t *failed_id;
} hs_service_intropoints_t;
-/* Representation of a service descriptor. */
+/* Representation of a service descriptor.
+ *
+ * Some elements of the descriptor are mutable whereas others are immutable:
+
+ * Immutable elements are initialized once when the descriptor is built (when
+ * service descriptors gets rotated). This means that these elements are
+ * initialized once and then they don't change for the lifetime of the
+ * descriptor. See build_service_descriptor().
+ *
+ * Mutable elements are initialized when we build the descriptor but they are
+ * also altered during the lifetime of the descriptor. They could be
+ * _refreshed_ everytime we upload the descriptor (which happens multiple times
+ * over the lifetime of the descriptor), or through periodic events. We do this
+ * for elements like the descriptor revision counter and various
+ * certificates. See refresh_service_descriptor() and
+ * update_service_descriptor_intro_points().
+ */
typedef struct hs_service_descriptor_t {
- /* Decoded descriptor. This object is used for encoding when the service
- * publishes the descriptor. */
- hs_descriptor_t *desc;
-
- /* Client authorization ephemeral keypair. */
+ /* Immutable: Client authorization ephemeral keypair. */
curve25519_keypair_t auth_ephemeral_kp;
- /* Descriptor cookie used to encrypt the descriptor, when the client
- * authorization is enabled */
+ /* Immutable: Descriptor cookie used to encrypt the descriptor, when the
+ * client authorization is enabled */
uint8_t descriptor_cookie[HS_DESC_DESCRIPTOR_COOKIE_LEN];
- /* Descriptor signing keypair. */
+ /* Immutable: Descriptor signing keypair. */
ed25519_keypair_t signing_kp;
- /* Blinded keypair derived from the master identity public key. */
+ /* Immutable: Blinded keypair derived from the master identity public key. */
ed25519_keypair_t blinded_kp;
- /* When is the next time when we should upload the descriptor. */
+ /* Immutable: The time period number this descriptor has been created for. */
+ uint64_t time_period_num;
+
+ /** Immutable: The OPE cipher for encrypting revision counters for this
+ * descriptor. Tied to the descriptor blinded key. */
+ struct crypto_ope_t *ope_cipher;
+
+ /* Mutable: Decoded descriptor. This object is used for encoding when the
+ * service publishes the descriptor. */
+ hs_descriptor_t *desc;
+
+ /* Mutable: When is the next time when we should upload the descriptor. */
time_t next_upload_time;
- /* Introduction points assign to this descriptor which contains
- * hs_service_intropoints_t object indexed by authentication key (the RSA
- * key if the node is legacy). */
+ /* Mutable: Introduction points assign to this descriptor which contains
+ * hs_service_intropoints_t object indexed by authentication key (the RSA key
+ * if the node is legacy). */
hs_service_intropoints_t intro_points;
- /* The time period number this descriptor has been created for. */
- uint64_t time_period_num;
-
- /* True iff we have missing intro points for this descriptor because we
- * couldn't pick any nodes. */
+ /* Mutable: True iff we have missing intro points for this descriptor because
+ * we couldn't pick any nodes. */
unsigned int missing_intro_points : 1;
- /** List of the responsible HSDirs (their b64ed identity digest) last time we
- * uploaded this descriptor. If the set of responsible HSDirs is different
- * from this list, this means we received new dirinfo and we need to
- * reupload our descriptor. */
+ /** Mutable: List of the responsible HSDirs (their b64ed identity digest)
+ * last time we uploaded this descriptor. If the set of responsible HSDirs
+ * is different from this list, this means we received new dirinfo and we
+ * need to reupload our descriptor. */
smartlist_t *previous_hsdirs;
-
- /** The OPE cipher for encrypting revision counters for this descriptor.
- * Tied to the descriptor blinded key. */
- struct crypto_ope_t *ope_cipher;
} hs_service_descriptor_t;
/* Service key material. */
@@ -178,6 +194,9 @@ typedef struct hs_service_config_t {
* option. */
uint32_t version;
+ /* Have we explicitly set HiddenServiceVersion? */
+ unsigned int hs_version_explicitly_set : 1;
+
/* List of rend_service_port_config_t */
smartlist_t *ports;
@@ -291,7 +310,7 @@ hs_service_t *hs_service_new(const or_options_t *options);
void hs_service_free_(hs_service_t *service);
#define hs_service_free(s) FREE_AND_NULL(hs_service_t, hs_service_free_, (s))
-unsigned int hs_service_get_num_services(void);
+MOCK_DECL(unsigned int, hs_service_get_num_services,(void));
void hs_service_stage_services(const smartlist_t *service_list);
int hs_service_load_all_keys(void);
int hs_service_get_version_from_key(const hs_service_t *service);
@@ -387,7 +406,7 @@ STATIC int intro_point_should_expire(const hs_service_intro_point_t *ip,
STATIC void run_housekeeping_event(time_t now);
STATIC void rotate_all_descriptors(time_t now);
STATIC void build_all_descriptors(time_t now);
-STATIC void update_all_descriptors(time_t now);
+STATIC void update_all_descriptors_intro_points(time_t now);
STATIC void run_upload_descriptor_event(time_t now);
STATIC void service_descriptor_free_(hs_service_descriptor_t *desc);
diff --git a/src/feature/nodelist/authcert.c b/src/feature/nodelist/authcert.c
index b111422d0d..2c4915e913 100644
--- a/src/feature/nodelist/authcert.c
+++ b/src/feature/nodelist/authcert.c
@@ -380,7 +380,8 @@ trusted_dirs_load_certs_from_string(const char *contents, int source,
int added_trusted_cert = 0;
for (s = contents; *s; s = eos) {
- authority_cert_t *cert = authority_cert_parse_from_string(s, &eos);
+ authority_cert_t *cert = authority_cert_parse_from_string(s, strlen(s),
+ &eos);
cert_list_t *cl;
if (!cert) {
failure_code = -1;
diff --git a/src/feature/nodelist/fmt_routerstatus.c b/src/feature/nodelist/fmt_routerstatus.c
index e70aeb2950..b1d4a48038 100644
--- a/src/feature/nodelist/fmt_routerstatus.c
+++ b/src/feature/nodelist/fmt_routerstatus.c
@@ -135,7 +135,7 @@ routerstatus_format_entry(const routerstatus_t *rs, const char *version,
goto done;
smartlist_add_asprintf(chunks,
- "s%s%s%s%s%s%s%s%s%s%s\n",
+ "s%s%s%s%s%s%s%s%s%s%s%s\n",
/* These must stay in alphabetical order. */
rs->is_authority?" Authority":"",
rs->is_bad_exit?" BadExit":"",
@@ -145,6 +145,7 @@ routerstatus_format_entry(const routerstatus_t *rs, const char *version,
rs->is_hs_dir?" HSDir":"",
rs->is_flagged_running?" Running":"",
rs->is_stable?" Stable":"",
+ rs->is_staledesc?" StaleDesc":"",
rs->is_v2_dir?" V2Dir":"",
rs->is_valid?" Valid":"");
diff --git a/src/feature/nodelist/microdesc.c b/src/feature/nodelist/microdesc.c
index 146c772daf..eadca69548 100644
--- a/src/feature/nodelist/microdesc.c
+++ b/src/feature/nodelist/microdesc.c
@@ -23,6 +23,7 @@
#include "feature/nodelist/dirlist.h"
#include "feature/nodelist/microdesc.h"
#include "feature/nodelist/networkstatus.h"
+#include "feature/nodelist/nodefamily.h"
#include "feature/nodelist/nodelist.h"
#include "feature/nodelist/routerlist.h"
#include "feature/relay/router.h"
@@ -108,10 +109,12 @@ microdesc_note_outdated_dirserver(const char *relay_digest)
{
char relay_hexdigest[HEX_DIGEST_LEN+1];
- /* Don't register outdated dirservers if we don't have a live consensus,
- * since we might be trying to fetch microdescriptors that are not even
- * currently active. */
- if (!networkstatus_get_live_consensus(approx_time())) {
+ /* If we have a reasonably live consensus, then most of our dirservers should
+ * still be caching all the microdescriptors in it. Reasonably live
+ * consensuses are up to a day old. But microdescriptors expire 7 days after
+ * the last consensus that referenced them. */
+ if (!networkstatus_get_reasonably_live_consensus(approx_time(),
+ FLAV_MICRODESC)) {
return;
}
@@ -882,10 +885,7 @@ microdesc_free_(microdesc_t *md, const char *fname, int lineno)
if (md->body && md->saved_location != SAVED_IN_CACHE)
tor_free(md->body);
- if (md->family) {
- SMARTLIST_FOREACH(md->family, char *, cp, tor_free(cp));
- smartlist_free(md->family);
- }
+ nodefamily_free(md->family);
short_policy_free(md->exit_policy);
short_policy_free(md->ipv6_exit_policy);
diff --git a/src/feature/nodelist/microdesc_st.h b/src/feature/nodelist/microdesc_st.h
index d23da13137..30c896181d 100644
--- a/src/feature/nodelist/microdesc_st.h
+++ b/src/feature/nodelist/microdesc_st.h
@@ -9,6 +9,7 @@
struct curve25519_public_key_t;
struct ed25519_public_key_t;
+struct nodefamily_t;
struct short_policy_t;
/** A microdescriptor is the smallest amount of information needed to build a
@@ -69,8 +70,8 @@ struct microdesc_t {
tor_addr_t ipv6_addr;
/** As routerinfo_t.ipv6_orport */
uint16_t ipv6_orport;
- /** As routerinfo_t.family */
- smartlist_t *family;
+ /** As routerinfo_t.family, with readable members parsed. */
+ struct nodefamily_t *family;
/** IPv4 exit policy summary */
struct short_policy_t *exit_policy;
/** IPv6 exit policy summary */
diff --git a/src/feature/nodelist/networkstatus.c b/src/feature/nodelist/networkstatus.c
index de2451b79c..65ea3cc491 100644
--- a/src/feature/nodelist/networkstatus.c
+++ b/src/feature/nodelist/networkstatus.c
@@ -116,8 +116,6 @@ STATIC networkstatus_t *current_md_consensus = NULL;
typedef struct consensus_waiting_for_certs_t {
/** The consensus itself. */
networkstatus_t *consensus;
- /** The encoded version of the consensus, nul-terminated. */
- char *body;
/** When did we set the current value of consensus_waiting_for_certs? If
* this is too recent, we shouldn't try to fetch a new consensus for a
* little while, to give ourselves time to get certificates for this one. */
@@ -210,14 +208,11 @@ networkstatus_reset_download_failures(void)
download_status_reset(&consensus_bootstrap_dl_status[i]);
}
-/**
- * Read and and return the cached consensus of type <b>flavorname</b>. If
- * <b>unverified</b> is true, get the one we haven't verified. Return NULL if
- * the file isn't there. */
+/** Return the filename used to cache the consensus of a given flavor */
static char *
-networkstatus_read_cached_consensus_impl(int flav,
- const char *flavorname,
- int unverified_consensus)
+networkstatus_get_cache_fname(int flav,
+ const char *flavorname,
+ int unverified_consensus)
{
char buf[128];
const char *prefix;
@@ -232,21 +227,35 @@ networkstatus_read_cached_consensus_impl(int flav,
tor_snprintf(buf, sizeof(buf), "%s-%s-consensus", prefix, flavorname);
}
- char *filename = get_cachedir_fname(buf);
- char *result = read_file_to_str(filename, RFTS_IGNORE_MISSING, NULL);
+ return get_cachedir_fname(buf);
+}
+
+/**
+ * Read and and return the cached consensus of type <b>flavorname</b>. If
+ * <b>unverified</b> is false, get the one we haven't verified. Return NULL if
+ * the file isn't there. */
+static tor_mmap_t *
+networkstatus_map_cached_consensus_impl(int flav,
+ const char *flavorname,
+ int unverified_consensus)
+{
+ char *filename = networkstatus_get_cache_fname(flav,
+ flavorname,
+ unverified_consensus);
+ tor_mmap_t *result = tor_mmap_file(filename);
tor_free(filename);
return result;
}
-/** Return a new string containing the current cached consensus of flavor
- * <b>flavorname</b>. */
-char *
-networkstatus_read_cached_consensus(const char *flavorname)
- {
+/** Map the file containing the current cached consensus of flavor
+ * <b>flavorname</b> */
+tor_mmap_t *
+networkstatus_map_cached_consensus(const char *flavorname)
+{
int flav = networkstatus_parse_flavor_name(flavorname);
if (flav < 0)
return NULL;
- return networkstatus_read_cached_consensus_impl(flav, flavorname, 0);
+ return networkstatus_map_cached_consensus_impl(flav, flavorname, 0);
}
/** Read every cached v3 consensus networkstatus from the disk. */
@@ -259,24 +268,26 @@ router_reload_consensus_networkstatus(void)
/* FFFF Suppress warnings if cached consensus is bad? */
for (flav = 0; flav < N_CONSENSUS_FLAVORS; ++flav) {
const char *flavor = networkstatus_get_flavor_name(flav);
- char *s = networkstatus_read_cached_consensus_impl(flav, flavor, 0);
- if (s) {
- if (networkstatus_set_current_consensus(s, flavor, flags, NULL) < -1) {
+ tor_mmap_t *m = networkstatus_map_cached_consensus_impl(flav, flavor, 0);
+ if (m) {
+ if (networkstatus_set_current_consensus(m->data, m->size,
+ flavor, flags, NULL) < -1) {
log_warn(LD_FS, "Couldn't load consensus %s networkstatus from cache",
flavor);
}
- tor_free(s);
+ tor_munmap_file(m);
}
- s = networkstatus_read_cached_consensus_impl(flav, flavor, 1);
- if (s) {
- if (networkstatus_set_current_consensus(s, flavor,
+ m = networkstatus_map_cached_consensus_impl(flav, flavor, 1);
+ if (m) {
+ if (networkstatus_set_current_consensus(m->data, m->size,
+ flavor,
flags | NSSET_WAS_WAITING_FOR_CERTS,
NULL)) {
log_info(LD_FS, "Couldn't load unverified consensus %s networkstatus "
"from cache", flavor);
}
- tor_free(s);
+ tor_munmap_file(m);
}
}
@@ -713,8 +724,8 @@ networkstatus_vote_find_mutable_entry(networkstatus_t *ns, const char *digest)
/** Return the entry in <b>ns</b> for the identity digest <b>digest</b>, or
* NULL if none was found. */
-const routerstatus_t *
-networkstatus_vote_find_entry(networkstatus_t *ns, const char *digest)
+MOCK_IMPL(const routerstatus_t *,
+networkstatus_vote_find_entry,(networkstatus_t *ns, const char *digest))
{
return networkstatus_vote_find_mutable_entry(ns, digest);
}
@@ -1448,13 +1459,10 @@ networkstatus_valid_until_is_reasonably_live(time_t valid_until,
return (now <= valid_until + REASONABLY_LIVE_TIME);
}
-/* XXXX remove this in favor of get_live_consensus. But actually,
- * leave something like it for bridge users, who need to not totally
- * lose if they spend a while fetching a new consensus. */
/** As networkstatus_get_live_consensus(), but is way more tolerant of expired
* consensuses. */
-networkstatus_t *
-networkstatus_get_reasonably_live_consensus(time_t now, int flavor)
+MOCK_IMPL(networkstatus_t *,
+networkstatus_get_reasonably_live_consensus,(time_t now, int flavor))
{
networkstatus_t *consensus =
networkstatus_get_latest_consensus_by_flavor(flavor);
@@ -1844,6 +1852,7 @@ warn_early_consensus(const networkstatus_t *c, const char *flavor,
*/
int
networkstatus_set_current_consensus(const char *consensus,
+ size_t consensus_len,
const char *flavor,
unsigned flags,
const char *source_dir)
@@ -1872,7 +1881,9 @@ networkstatus_set_current_consensus(const char *consensus,
}
/* Make sure it's parseable. */
- c = networkstatus_parse_vote_from_string(consensus, NULL, NS_TYPE_CONSENSUS);
+ c = networkstatus_parse_vote_from_string(consensus,
+ consensus_len,
+ NULL, NS_TYPE_CONSENSUS);
if (!c) {
log_warn(LD_DIR, "Unable to parse networkstatus consensus");
result = -2;
@@ -1960,14 +1971,12 @@ networkstatus_set_current_consensus(const char *consensus,
c->valid_after > current_valid_after) {
waiting = &consensus_waiting_for_certs[flav];
networkstatus_vote_free(waiting->consensus);
- tor_free(waiting->body);
waiting->consensus = c;
free_consensus = 0;
- waiting->body = tor_strdup(consensus);
waiting->set_at = now;
waiting->dl_failed = 0;
if (!from_cache) {
- write_str_to_file(unverified_fname, consensus, 0);
+ write_bytes_to_file(unverified_fname, consensus, consensus_len, 0);
}
if (dl_certs)
authority_certs_fetch_missing(c, now, source_dir);
@@ -2058,10 +2067,6 @@ networkstatus_set_current_consensus(const char *consensus,
waiting->consensus->valid_after <= c->valid_after) {
networkstatus_vote_free(waiting->consensus);
waiting->consensus = NULL;
- if (consensus != waiting->body)
- tor_free(waiting->body);
- else
- waiting->body = NULL;
waiting->set_at = 0;
waiting->dl_failed = 0;
if (unlink(unverified_fname) != 0) {
@@ -2111,17 +2116,18 @@ networkstatus_set_current_consensus(const char *consensus,
if (we_want_to_fetch_flavor(options, flav)) {
if (dir_server_mode(get_options())) {
dirserv_set_cached_consensus_networkstatus(consensus,
+ consensus_len,
flavor,
&c->digests,
c->digest_sha3_as_signed,
c->valid_after);
- consdiffmgr_add_consensus(consensus, c);
+ consdiffmgr_add_consensus(consensus, consensus_len, c);
}
}
if (!from_cache) {
- write_str_to_file(consensus_fname, consensus, 0);
+ write_bytes_to_file(consensus_fname, consensus, consensus_len, 0);
}
warn_early_consensus(c, flavor, now);
@@ -2157,14 +2163,16 @@ networkstatus_note_certs_arrived(const char *source_dir)
if (!waiting->consensus)
continue;
if (networkstatus_check_consensus_signature(waiting->consensus, 0)>=0) {
- char *waiting_body = waiting->body;
- if (!networkstatus_set_current_consensus(
- waiting_body,
- flavor_name,
- NSSET_WAS_WAITING_FOR_CERTS,
- source_dir)) {
- tor_free(waiting_body);
+ tor_mmap_t *mapping = networkstatus_map_cached_consensus_impl(
+ i, flavor_name, 1);
+ if (mapping) {
+ networkstatus_set_current_consensus(mapping->data,
+ mapping->size,
+ flavor_name,
+ NSSET_WAS_WAITING_FOR_CERTS,
+ source_dir);
}
+ tor_munmap_file(mapping);
}
}
}
@@ -2392,7 +2400,9 @@ networkstatus_dump_bridge_status_to_file(time_t now)
published, thresholds, fingerprint_line ? fingerprint_line : "",
status);
fname = get_datadir_fname("networkstatus-bridges");
- write_str_to_file(fname,published_thresholds_and_status,0);
+ if (write_str_to_file(fname,published_thresholds_and_status,0)<0) {
+ log_warn(LD_DIRSERV, "Unable to write networkstatus-bridges file.");
+ }
tor_free(thresholds);
tor_free(published_thresholds_and_status);
tor_free(fname);
@@ -2671,6 +2681,9 @@ networkstatus_check_required_protocols(const networkstatus_t *ns,
const char *required, *recommended;
char *missing = NULL;
+ const bool consensus_postdates_this_release =
+ ns->valid_after >= tor_get_approx_release_date();
+
tor_assert(warning_out);
if (client_mode) {
@@ -2688,7 +2701,7 @@ networkstatus_check_required_protocols(const networkstatus_t *ns,
"%s on the Tor network. The missing protocols are: %s",
func, missing);
tor_free(missing);
- return 1;
+ return consensus_postdates_this_release ? 1 : 0;
}
if (! protover_all_supported(recommended, &missing)) {
@@ -2721,6 +2734,5 @@ networkstatus_free_all(void)
networkstatus_vote_free(waiting->consensus);
waiting->consensus = NULL;
}
- tor_free(waiting->body);
}
}
diff --git a/src/feature/nodelist/networkstatus.h b/src/feature/nodelist/networkstatus.h
index 6f8b2dc964..3d212dd304 100644
--- a/src/feature/nodelist/networkstatus.h
+++ b/src/feature/nodelist/networkstatus.h
@@ -16,7 +16,7 @@
void networkstatus_reset_warnings(void);
void networkstatus_reset_download_failures(void);
-char *networkstatus_read_cached_consensus(const char *flavorname);
+tor_mmap_t *networkstatus_map_cached_consensus(const char *flavorname);
int router_reload_consensus_networkstatus(void);
void routerstatus_free_(routerstatus_t *rs);
#define routerstatus_free(rs) \
@@ -40,8 +40,9 @@ int compare_digest_to_routerstatus_entry(const void *_key,
const void **_member);
int compare_digest_to_vote_routerstatus_entry(const void *_key,
const void **_member);
-const routerstatus_t *networkstatus_vote_find_entry(networkstatus_t *ns,
- const char *digest);
+MOCK_DECL(const routerstatus_t *,networkstatus_vote_find_entry,(
+ networkstatus_t *ns,
+ const char *digest));
routerstatus_t *networkstatus_vote_find_mutable_entry(networkstatus_t *ns,
const char *digest);
int networkstatus_vote_find_entry_idx(networkstatus_t *ns,
@@ -89,8 +90,9 @@ int networkstatus_consensus_reasonably_live(const networkstatus_t *consensus,
time_t now);
int networkstatus_valid_until_is_reasonably_live(time_t valid_until,
time_t now);
-networkstatus_t *networkstatus_get_reasonably_live_consensus(time_t now,
- int flavor);
+MOCK_DECL(networkstatus_t *,networkstatus_get_reasonably_live_consensus,
+ (time_t now,
+ int flavor));
MOCK_DECL(int, networkstatus_consensus_is_bootstrapping,(time_t now));
int networkstatus_consensus_can_use_multiple_directories(
const or_options_t *options);
@@ -105,6 +107,7 @@ int networkstatus_consensus_has_ipv6(const or_options_t* options);
#define NSSET_ACCEPT_OBSOLETE 8
#define NSSET_REQUIRE_FLAVOR 16
int networkstatus_set_current_consensus(const char *consensus,
+ size_t consensus_len,
const char *flavor,
unsigned flags,
const char *source_dir);
@@ -156,4 +159,3 @@ extern networkstatus_t *current_md_consensus;
#endif /* defined(NETWORKSTATUS_PRIVATE) */
#endif /* !defined(TOR_NETWORKSTATUS_H) */
-
diff --git a/src/feature/nodelist/nodefamily.c b/src/feature/nodelist/nodefamily.c
new file mode 100644
index 0000000000..944ad54755
--- /dev/null
+++ b/src/feature/nodelist/nodefamily.c
@@ -0,0 +1,416 @@
+/* Copyright (c) 2001 Matej Pfajfar.
+ * Copyright (c) 2001-2004, Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file nodefamily.c
+ * \brief Code to manipulate encoded, reference-counted node families. We
+ * use these tricks to save space, since these families would otherwise
+ * require a large number of tiny allocations.
+ **/
+
+#include "core/or/or.h"
+#include "feature/nodelist/nickname.h"
+#include "feature/nodelist/nodefamily.h"
+#include "feature/nodelist/nodefamily_st.h"
+#include "feature/nodelist/nodelist.h"
+#include "feature/relay/router.h"
+#include "feature/nodelist/routerlist.h"
+
+#include "ht.h"
+#include "siphash.h"
+
+#include "lib/container/smartlist.h"
+#include "lib/ctime/di_ops.h"
+#include "lib/defs/digest_sizes.h"
+#include "lib/log/util_bug.h"
+
+#include <stdlib.h>
+#include <string.h>
+
+/**
+ * Allocate and return a blank node family with space to hold <b>n_members</b>
+ * members.
+ */
+static nodefamily_t *
+nodefamily_alloc(int n_members)
+{
+ size_t alloc_len = offsetof(nodefamily_t, family_members) +
+ NODEFAMILY_ARRAY_SIZE(n_members);
+ nodefamily_t *nf = tor_malloc_zero(alloc_len);
+ nf->n_members = n_members;
+ return nf;
+}
+
+/**
+ * Hashtable hash implementation.
+ */
+static inline unsigned int
+nodefamily_hash(const nodefamily_t *nf)
+{
+ return (unsigned) siphash24g(nf->family_members,
+ NODEFAMILY_ARRAY_SIZE(nf->n_members));
+}
+
+/**
+ * Hashtable equality implementation.
+ */
+static inline unsigned int
+nodefamily_eq(const nodefamily_t *a, const nodefamily_t *b)
+{
+ return (a->n_members == b->n_members) &&
+ fast_memeq(a->family_members, b->family_members,
+ NODEFAMILY_ARRAY_SIZE(a->n_members));
+}
+
+static HT_HEAD(nodefamily_map, nodefamily_t) the_node_families
+ = HT_INITIALIZER();
+
+HT_PROTOTYPE(nodefamily_map, nodefamily_t, ht_ent, nodefamily_hash,
+ nodefamily_eq)
+HT_GENERATE2(nodefamily_map, nodefamily_t, ht_ent, nodefamily_hash,
+ node_family_eq, 0.6, tor_reallocarray_, tor_free_)
+
+/**
+ * Parse the family declaration in <b>s</b>, returning the canonical
+ * <b>nodefamily_t</b> for its members. Return NULL on error.
+ *
+ * If <b>rsa_id_self</b> is provided, it is a DIGEST_LEN-byte digest
+ * for the router that declared this family: insert it into the
+ * family declaration if it is not there already.
+ *
+ * If NF_WARN_MALFORMED is set in <b>flags</b>, warn about any
+ * elements that we can't parse. (By default, we log at info.)
+ *
+ * If NF_REJECT_MALFORMED is set in <b>flags</b>, treat any unparseable
+ * elements as an error. (By default, we simply omit them.)
+ **/
+nodefamily_t *
+nodefamily_parse(const char *s, const uint8_t *rsa_id_self,
+ unsigned flags)
+{
+ smartlist_t *sl = smartlist_new();
+ smartlist_split_string(sl, s, NULL, SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
+ nodefamily_t *result = nodefamily_from_members(sl, rsa_id_self, flags, NULL);
+ SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp));
+ smartlist_free(sl);
+ return result;
+}
+
+/**
+ * Canonicalize the family list <b>s</b>, returning a newly allocated string.
+ *
+ * The canonicalization rules are fully specified in dir-spec.txt, but,
+ * briefly: $hexid entries are put in caps, $hexid[=~]foo entries are
+ * truncated, nicknames are put into lowercase, unrecognized entries are left
+ * alone, and everything is sorted.
+ **/
+char *
+nodefamily_canonicalize(const char *s, const uint8_t *rsa_id_self,
+ unsigned flags)
+{
+ smartlist_t *sl = smartlist_new();
+ smartlist_t *result_members = smartlist_new();
+ smartlist_split_string(sl, s, NULL, SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
+ nodefamily_t *nf = nodefamily_from_members(sl, rsa_id_self, flags,
+ result_members);
+
+ char *formatted = nodefamily_format(nf);
+ smartlist_split_string(result_members, formatted, NULL,
+ SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
+ smartlist_sort_strings(result_members);
+ char *combined = smartlist_join_strings(result_members, " ", 0, NULL);
+
+ nodefamily_free(nf);
+ SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp));
+ smartlist_free(sl);
+ SMARTLIST_FOREACH(result_members, char *, cp, tor_free(cp));
+ smartlist_free(result_members);
+ tor_free(formatted);
+
+ return combined;
+}
+
+/**
+ * qsort helper for encoded nodefamily elements.
+ **/
+static int
+compare_members(const void *a, const void *b)
+{
+ return fast_memcmp(a, b, NODEFAMILY_MEMBER_LEN);
+}
+
+/**
+ * Parse the member strings in <b>members</b>, returning their canonical
+ * <b>nodefamily_t</b>. Return NULL on error.
+ *
+ * If <b>rsa_id_self</b> is provided, it is a DIGEST_LEN-byte digest
+ * for the router that declared this family: insert it into the
+ * family declaration if it is not there already.
+ *
+ * The <b>flags</b> element is interpreted as in nodefamily_parse().
+ *
+ * If <b>unrecognized</b> is provided, fill it copies of any unrecognized
+ * members. (Note that malformed $hexids are not considered unrecognized.)
+ **/
+nodefamily_t *
+nodefamily_from_members(const smartlist_t *members,
+ const uint8_t *rsa_id_self,
+ unsigned flags,
+ smartlist_t *unrecognized_out)
+{
+ const int n_self = rsa_id_self ? 1 : 0;
+ int n_bad_elements = 0;
+ int n_members = smartlist_len(members) + n_self;
+ nodefamily_t *tmp = nodefamily_alloc(n_members);
+ uint8_t *ptr = NODEFAMILY_MEMBER_PTR(tmp, 0);
+
+ SMARTLIST_FOREACH_BEGIN(members, const char *, cp) {
+ bool bad_element = true;
+ if (is_legal_nickname(cp)) {
+ ptr[0] = NODEFAMILY_BY_NICKNAME;
+ tor_assert(strlen(cp) < DIGEST_LEN); // guaranteed by is_legal_nickname
+ memcpy(ptr+1, cp, strlen(cp));
+ tor_strlower((char*) ptr+1);
+ bad_element = false;
+ } else if (is_legal_hexdigest(cp)) {
+ char digest_buf[DIGEST_LEN];
+ char nn_buf[MAX_NICKNAME_LEN+1];
+ char nn_char=0;
+ if (hex_digest_nickname_decode(cp, digest_buf, &nn_char, nn_buf)==0) {
+ bad_element = false;
+ ptr[0] = NODEFAMILY_BY_RSA_ID;
+ memcpy(ptr+1, digest_buf, DIGEST_LEN);
+ }
+ } else {
+ if (unrecognized_out)
+ smartlist_add_strdup(unrecognized_out, cp);
+ }
+
+ if (bad_element) {
+ const int severity = (flags & NF_WARN_MALFORMED) ? LOG_WARN : LOG_INFO;
+ log_fn(severity, LD_GENERAL,
+ "Bad element %s while parsing a node family.",
+ escaped(cp));
+ ++n_bad_elements;
+ } else {
+ ptr += NODEFAMILY_MEMBER_LEN;
+ }
+ } SMARTLIST_FOREACH_END(cp);
+
+ if (n_bad_elements && (flags & NF_REJECT_MALFORMED))
+ goto err;
+
+ if (rsa_id_self) {
+ /* Add self. */
+ ptr[0] = NODEFAMILY_BY_RSA_ID;
+ memcpy(ptr+1, rsa_id_self, DIGEST_LEN);
+ }
+
+ n_members -= n_bad_elements;
+
+ /* Sort tmp into canonical order. */
+ qsort(tmp->family_members, n_members, NODEFAMILY_MEMBER_LEN,
+ compare_members);
+
+ /* Remove duplicates. */
+ int i;
+ for (i = 0; i < n_members-1; ++i) {
+ uint8_t *thisptr = NODEFAMILY_MEMBER_PTR(tmp, i);
+ uint8_t *nextptr = NODEFAMILY_MEMBER_PTR(tmp, i+1);
+ if (fast_memeq(thisptr, nextptr, NODEFAMILY_MEMBER_LEN)) {
+ memmove(thisptr, nextptr, (n_members-i-1)*NODEFAMILY_MEMBER_LEN);
+ --n_members;
+ --i;
+ }
+ }
+ int n_members_alloc = tmp->n_members;
+ tmp->n_members = n_members;
+
+ /* See if we already allocated this family. */
+ nodefamily_t *found = HT_FIND(nodefamily_map, &the_node_families, tmp);
+ if (found) {
+ /* If we did, great: incref it and return it. */
+ ++found->refcnt;
+ tor_free(tmp);
+ return found;
+ } else {
+ /* If not, insert it into the hashtable. */
+ if (n_members_alloc != n_members) {
+ /* Compact the family if needed */
+ nodefamily_t *tmp2 = nodefamily_alloc(n_members);
+ memcpy(tmp2->family_members, tmp->family_members,
+ n_members * NODEFAMILY_MEMBER_LEN);
+ tor_free(tmp);
+ tmp = tmp2;
+ }
+
+ tmp->refcnt = 1;
+ HT_INSERT(nodefamily_map, &the_node_families, tmp);
+ return tmp;
+ }
+
+ err:
+ tor_free(tmp);
+ return NULL;
+}
+
+/**
+ * Drop our reference to <b>family</b>, freeing it if there are no more
+ * references.
+ */
+void
+nodefamily_free_(nodefamily_t *family)
+{
+ if (family == NULL)
+ return;
+
+ --family->refcnt;
+
+ if (family->refcnt == 0) {
+ HT_REMOVE(nodefamily_map, &the_node_families, family);
+ tor_free(family);
+ }
+}
+
+/**
+ * Return true iff <b>family</b> contains the SHA1 RSA1024 identity
+ * <b>rsa_id</b>.
+ */
+bool
+nodefamily_contains_rsa_id(const nodefamily_t *family,
+ const uint8_t *rsa_id)
+{
+ if (family == NULL)
+ return false;
+
+ unsigned i;
+ for (i = 0; i < family->n_members; ++i) {
+ const uint8_t *ptr = NODEFAMILY_MEMBER_PTR(family, i);
+ if (ptr[0] == NODEFAMILY_BY_RSA_ID &&
+ fast_memeq(ptr+1, rsa_id, DIGEST_LEN)) {
+ return true;
+ }
+ }
+ return false;
+}
+
+/**
+ * Return true iff <b>family</b> contains the nickname <b>name</b>.
+ */
+bool
+nodefamily_contains_nickname(const nodefamily_t *family,
+ const char *name)
+{
+ if (family == NULL)
+ return false;
+
+ unsigned i;
+ for (i = 0; i < family->n_members; ++i) {
+ const uint8_t *ptr = NODEFAMILY_MEMBER_PTR(family, i);
+ // note that the strcasecmp() is safe because there is always at least one
+ // NUL in the encoded nickname, because all legal nicknames are less than
+ // DIGEST_LEN bytes long.
+ if (ptr[0] == NODEFAMILY_BY_NICKNAME && !strcasecmp((char*)ptr+1, name)) {
+ return true;
+ }
+ }
+ return false;
+}
+
+/**
+ * Return true if <b>family</b> contains the nickname or the RSA ID for
+ * <b>node</b>
+ **/
+bool
+nodefamily_contains_node(const nodefamily_t *family,
+ const node_t *node)
+{
+ return
+ nodefamily_contains_nickname(family, node_get_nickname(node))
+ ||
+ nodefamily_contains_rsa_id(family, node_get_rsa_id_digest(node));
+}
+
+/**
+ * Look up every entry in <b>family</b>, and add add the corresponding
+ * node_t to <b>out</b>.
+ **/
+void
+nodefamily_add_nodes_to_smartlist(const nodefamily_t *family,
+ smartlist_t *out)
+{
+ if (!family)
+ return;
+
+ unsigned i;
+ for (i = 0; i < family->n_members; ++i) {
+ const uint8_t *ptr = NODEFAMILY_MEMBER_PTR(family, i);
+ const node_t *node = NULL;
+ switch (ptr[0]) {
+ case NODEFAMILY_BY_NICKNAME:
+ node = node_get_by_nickname((char*)ptr+1, NNF_NO_WARN_UNNAMED);
+ break;
+ case NODEFAMILY_BY_RSA_ID:
+ node = node_get_by_id((char*)ptr+1);
+ break;
+ default:
+ /* LCOV_EXCL_START */
+ tor_assert_nonfatal_unreached();
+ break;
+ /* LCOV_EXCL_STOP */
+ }
+ if (node)
+ smartlist_add(out, (void *)node);
+ }
+}
+
+/**
+ * Encode <b>family</b> as a space-separated string.
+ */
+char *
+nodefamily_format(const nodefamily_t *family)
+{
+ if (!family)
+ return tor_strdup("");
+
+ unsigned i;
+ smartlist_t *sl = smartlist_new();
+ for (i = 0; i < family->n_members; ++i) {
+ const uint8_t *ptr = NODEFAMILY_MEMBER_PTR(family, i);
+ switch (ptr[0]) {
+ case NODEFAMILY_BY_NICKNAME:
+ smartlist_add_strdup(sl, (char*)ptr+1);
+ break;
+ case NODEFAMILY_BY_RSA_ID: {
+ char buf[HEX_DIGEST_LEN+2];
+ buf[0]='$';
+ base16_encode(buf+1, sizeof(buf)-1, (char*)ptr+1, DIGEST_LEN);
+ tor_strupper(buf);
+ smartlist_add_strdup(sl, buf);
+ break;
+ }
+ default:
+ /* LCOV_EXCL_START */
+ tor_assert_nonfatal_unreached();
+ break;
+ /* LCOV_EXCL_STOP */
+ }
+ }
+
+ char *result = smartlist_join_strings(sl, " ", 0, NULL);
+ SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp));
+ smartlist_free(sl);
+ return result;
+}
+
+/**
+ * Free all storage held in the nodefamily map.
+ **/
+void
+nodefamily_free_all(void)
+{
+ HT_CLEAR(nodefamily_map, &the_node_families);
+}
diff --git a/src/feature/nodelist/nodefamily.h b/src/feature/nodelist/nodefamily.h
new file mode 100644
index 0000000000..ea1076876d
--- /dev/null
+++ b/src/feature/nodelist/nodefamily.h
@@ -0,0 +1,50 @@
+/* Copyright (c) 2001 Matej Pfajfar.
+ * Copyright (c) 2001-2004, Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file nodefamily.h
+ * \brief Header file for nodefamily.c.
+ **/
+
+#ifndef TOR_NODEFAMILY_H
+#define TOR_NODEFAMILY_H
+
+#include "lib/malloc/malloc.h"
+#include <stdbool.h>
+
+typedef struct nodefamily_t nodefamily_t;
+struct node_t;
+struct smartlist_t;
+
+#define NF_WARN_MALFORMED (1u<<0)
+#define NF_REJECT_MALFORMED (1u<<1)
+
+nodefamily_t *nodefamily_parse(const char *s,
+ const uint8_t *rsa_id_self,
+ unsigned flags);
+nodefamily_t *nodefamily_from_members(const struct smartlist_t *members,
+ const uint8_t *rsa_id_self,
+ unsigned flags,
+ smartlist_t *unrecognized_out);
+void nodefamily_free_(nodefamily_t *family);
+#define nodefamily_free(family) \
+ FREE_AND_NULL(nodefamily_t, nodefamily_free_, (family))
+
+bool nodefamily_contains_rsa_id(const nodefamily_t *family,
+ const uint8_t *rsa_id);
+bool nodefamily_contains_nickname(const nodefamily_t *family,
+ const char *name);
+bool nodefamily_contains_node(const nodefamily_t *family,
+ const struct node_t *node);
+void nodefamily_add_nodes_to_smartlist(const nodefamily_t *family,
+ struct smartlist_t *out);
+char *nodefamily_format(const nodefamily_t *family);
+char *nodefamily_canonicalize(const char *s, const uint8_t *rsa_id_self,
+ unsigned flags);
+
+void nodefamily_free_all(void);
+
+#endif
diff --git a/src/feature/nodelist/nodefamily_st.h b/src/feature/nodelist/nodefamily_st.h
new file mode 100644
index 0000000000..a498b4b3b9
--- /dev/null
+++ b/src/feature/nodelist/nodefamily_st.h
@@ -0,0 +1,48 @@
+/* Copyright (c) 2001 Matej Pfajfar.
+ * Copyright (c) 2001-2004, Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#ifndef TOR_NODEFAMILY_ST_H
+#define TOR_NODEFAMILY_ST_H
+
+#include "orconfig.h"
+#include "ht.h"
+
+struct nodefamily_t {
+ /** Entry for this nodefamily_t within the hashtable. */
+ HT_ENTRY(nodefamily_t) ht_ent;
+ /** Reference count. (The hashtable is not treated as a reference */
+ uint32_t refcnt;
+ /** Number of items encoded in <b>family_members</b>. */
+ uint32_t n_members;
+ /* A byte-array encoding the members of this family. We encode each member
+ * as one byte to indicate whether it's a nickname or a fingerprint, plus
+ * DIGEST_LEN bytes of data. The entries are lexically sorted.
+ */
+ uint8_t family_members[FLEXIBLE_ARRAY_MEMBER];
+};
+
+#define NODEFAMILY_MEMBER_LEN (1+DIGEST_LEN)
+
+/** Tag byte, indicates that the following bytes are a RSA1024 SHA1 ID.
+ */
+#define NODEFAMILY_BY_RSA_ID 0
+/** Tag byte, indicates that the following bytes are a NUL-padded nickname.
+ */
+#define NODEFAMILY_BY_NICKNAME 1
+
+/**
+ * Number of bytes to allocate in the array for a nodefamily_t with N members.
+ **/
+#define NODEFAMILY_ARRAY_SIZE(n) \
+ ((n) * NODEFAMILY_MEMBER_LEN)
+
+/**
+ * Pointer to the i'th member of <b>nf</b>, as encoded.
+ */
+#define NODEFAMILY_MEMBER_PTR(nf, i) \
+ (&((nf)->family_members[(i) * NODEFAMILY_MEMBER_LEN]))
+
+#endif
diff --git a/src/feature/nodelist/nodelist.c b/src/feature/nodelist/nodelist.c
index a98a5c8655..f93ecd5bfe 100644
--- a/src/feature/nodelist/nodelist.c
+++ b/src/feature/nodelist/nodelist.c
@@ -59,6 +59,7 @@
#include "feature/nodelist/microdesc.h"
#include "feature/nodelist/networkstatus.h"
#include "feature/nodelist/node_select.h"
+#include "feature/nodelist/nodefamily.h"
#include "feature/nodelist/nodelist.h"
#include "feature/nodelist/routerlist.h"
#include "feature/nodelist/routerset.h"
@@ -1019,8 +1020,7 @@ node_get_by_nickname,(const char *nickname, unsigned flags))
} SMARTLIST_FOREACH_END(node);
if (any_unwarned) {
- log_warn(LD_CONFIG, "There are multiple matches for the name %s, "
- "but none is listed as Named in the directory consensus. "
+ log_warn(LD_CONFIG, "There are multiple matches for the name %s. "
"Choosing one arbitrarily.", nickname);
}
} else if (smartlist_len(matches)==1 && warn_if_unnamed) {
@@ -1504,19 +1504,6 @@ node_is_me(const node_t *node)
return router_digest_is_me(node->identity);
}
-/** Return <b>node</b> declared family (as a list of names), or NULL if
- * the node didn't declare a family. */
-const smartlist_t *
-node_get_declared_family(const node_t *node)
-{
- if (node->ri && node->ri->declared_family)
- return node->ri->declared_family;
- else if (node->md && node->md->family)
- return node->md->family;
- else
- return NULL;
-}
-
/* Does this node have a valid IPv6 address?
* Prefer node_has_ipv6_orport() or node_has_ipv6_dirport() for
* checking specific ports. */
@@ -1867,6 +1854,9 @@ int
addrs_in_same_network_family(const tor_addr_t *a1,
const tor_addr_t *a2)
{
+ if (tor_addr_is_null(a1) || tor_addr_is_null(a2))
+ return 0;
+
switch (tor_addr_family(a1)) {
case AF_INET:
return 0 == tor_addr_compare_masked(a1, a2, 16, CMP_SEMANTIC);
@@ -1882,7 +1872,7 @@ addrs_in_same_network_family(const tor_addr_t *a1,
* (case-insensitive), or if <b>node's</b> identity key digest
* matches a hexadecimal value stored in <b>nickname</b>. Return
* false otherwise. */
-static int
+STATIC int
node_nickname_matches(const node_t *node, const char *nickname)
{
const char *n = node_get_nickname(node);
@@ -1894,7 +1884,7 @@ node_nickname_matches(const node_t *node, const char *nickname)
}
/** Return true iff <b>node</b> is named by some nickname in <b>lst</b>. */
-static inline int
+STATIC int
node_in_nickname_smartlist(const smartlist_t *lst, const node_t *node)
{
if (!lst) return 0;
@@ -1905,6 +1895,61 @@ node_in_nickname_smartlist(const smartlist_t *lst, const node_t *node)
return 0;
}
+/** Return true iff n1's declared family contains n2. */
+STATIC int
+node_family_contains(const node_t *n1, const node_t *n2)
+{
+ if (n1->ri && n1->ri->declared_family) {
+ return node_in_nickname_smartlist(n1->ri->declared_family, n2);
+ } else if (n1->md) {
+ return nodefamily_contains_node(n1->md->family, n2);
+ } else {
+ return 0;
+ }
+}
+
+/**
+ * Return true iff <b>node</b> has declared a nonempty family.
+ **/
+STATIC bool
+node_has_declared_family(const node_t *node)
+{
+ if (node->ri && node->ri->declared_family &&
+ smartlist_len(node->ri->declared_family)) {
+ return true;
+ }
+
+ if (node->md && node->md->family) {
+ return true;
+ }
+
+ return false;
+}
+
+/**
+ * Add to <b>out</b> every node_t that is listed by <b>node</b> as being in
+ * its family. (Note that these nodes are not in node's family unless they
+ * also agree that node is in their family.)
+ **/
+STATIC void
+node_lookup_declared_family(smartlist_t *out, const node_t *node)
+{
+ if (node->ri && node->ri->declared_family &&
+ smartlist_len(node->ri->declared_family)) {
+ SMARTLIST_FOREACH_BEGIN(node->ri->declared_family, const char *, name) {
+ const node_t *n2 = node_get_by_nickname(name, NNF_NO_WARN_UNNAMED);
+ if (n2) {
+ smartlist_add(out, (node_t *)n2);
+ }
+ } SMARTLIST_FOREACH_END(name);
+ return;
+ }
+
+ if (node->md && node->md->family) {
+ nodefamily_add_nodes_to_smartlist(node->md->family, out);
+ }
+}
+
/** Return true iff r1 and r2 are in the same family, but not the same
* router. */
int
@@ -1917,22 +1962,23 @@ nodes_in_same_family(const node_t *node1, const node_t *node2)
tor_addr_t a1, a2;
node_get_addr(node1, &a1);
node_get_addr(node2, &a2);
- if (addrs_in_same_network_family(&a1, &a2))
+
+ tor_addr_port_t ap6_1, ap6_2;
+ node_get_pref_ipv6_orport(node1, &ap6_1);
+ node_get_pref_ipv6_orport(node2, &ap6_2);
+
+ if (addrs_in_same_network_family(&a1, &a2) ||
+ addrs_in_same_network_family(&ap6_1.addr, &ap6_2.addr))
return 1;
}
/* Are they in the same family because the agree they are? */
- {
- const smartlist_t *f1, *f2;
- f1 = node_get_declared_family(node1);
- f2 = node_get_declared_family(node2);
- if (f1 && f2 &&
- node_in_nickname_smartlist(f1, node2) &&
- node_in_nickname_smartlist(f2, node1))
- return 1;
+ if (node_family_contains(node1, node2) &&
+ node_family_contains(node2, node1)) {
+ return 1;
}
- /* Are they in the same option because the user says they are? */
+ /* Are they in the same family because the user says they are? */
if (options->NodeFamilySets) {
SMARTLIST_FOREACH(options->NodeFamilySets, const routerset_t *, rs, {
if (routerset_contains_node(rs, node1) &&
@@ -1957,13 +2003,10 @@ void
nodelist_add_node_and_family(smartlist_t *sl, const node_t *node)
{
const smartlist_t *all_nodes = nodelist_get_list();
- const smartlist_t *declared_family;
const or_options_t *options = get_options();
tor_assert(node);
- declared_family = node_get_declared_family(node);
-
/* Let's make sure that we have the node itself, if it's a real node. */
{
const node_t *real_node = node_get_by_id(node->identity);
@@ -1974,35 +2017,35 @@ nodelist_add_node_and_family(smartlist_t *sl, const node_t *node)
/* First, add any nodes with similar network addresses. */
if (options->EnforceDistinctSubnets) {
tor_addr_t node_addr;
+ tor_addr_port_t node_ap6;
node_get_addr(node, &node_addr);
+ node_get_pref_ipv6_orport(node, &node_ap6);
SMARTLIST_FOREACH_BEGIN(all_nodes, const node_t *, node2) {
tor_addr_t a;
+ tor_addr_port_t ap6;
node_get_addr(node2, &a);
- if (addrs_in_same_network_family(&a, &node_addr))
+ node_get_pref_ipv6_orport(node2, &ap6);
+ if (addrs_in_same_network_family(&a, &node_addr) ||
+ addrs_in_same_network_family(&ap6.addr, &node_ap6.addr))
smartlist_add(sl, (void*)node2);
} SMARTLIST_FOREACH_END(node2);
}
- /* Now, add all nodes in the declared_family of this node, if they
+ /* Now, add all nodes in the declared family of this node, if they
* also declare this node to be in their family. */
- if (declared_family) {
+ if (node_has_declared_family(node)) {
+ smartlist_t *declared_family = smartlist_new();
+ node_lookup_declared_family(declared_family, node);
+
/* Add every r such that router declares familyness with node, and node
* declares familyhood with router. */
- SMARTLIST_FOREACH_BEGIN(declared_family, const char *, name) {
- const node_t *node2;
- const smartlist_t *family2;
- if (!(node2 = node_get_by_nickname(name, NNF_NO_WARN_UNNAMED)))
- continue;
- if (!(family2 = node_get_declared_family(node2)))
- continue;
- SMARTLIST_FOREACH_BEGIN(family2, const char *, name2) {
- if (node_nickname_matches(node, name2)) {
- smartlist_add(sl, (void*)node2);
- break;
- }
- } SMARTLIST_FOREACH_END(name2);
- } SMARTLIST_FOREACH_END(name);
+ SMARTLIST_FOREACH_BEGIN(declared_family, const node_t *, node2) {
+ if (node_family_contains(node2, node)) {
+ smartlist_add(sl, (void*)node2);
+ }
+ } SMARTLIST_FOREACH_END(node2);
+ smartlist_free(declared_family);
}
/* If the user declared any families locally, honor those too. */
diff --git a/src/feature/nodelist/nodelist.h b/src/feature/nodelist/nodelist.h
index cf7658cf9d..32300eb00c 100644
--- a/src/feature/nodelist/nodelist.h
+++ b/src/feature/nodelist/nodelist.h
@@ -68,7 +68,6 @@ const char *node_get_platform(const node_t *node);
uint32_t node_get_prim_addr_ipv4h(const node_t *node);
void node_get_address_string(const node_t *node, char *cp, size_t len);
long node_get_declared_uptime(const node_t *node);
-const smartlist_t *node_get_declared_family(const node_t *node);
const struct ed25519_public_key_t *node_get_ed25519_id(const node_t *node);
int node_ed25519_id_matches(const node_t *node,
const struct ed25519_public_key_t *id);
@@ -155,10 +154,16 @@ int count_loading_descriptors_progress(void);
#ifdef NODELIST_PRIVATE
+STATIC int node_nickname_matches(const node_t *node, const char *nickname);
+STATIC int node_in_nickname_smartlist(const smartlist_t *lst,
+ const node_t *node);
+STATIC int node_family_contains(const node_t *n1, const node_t *n2);
+STATIC bool node_has_declared_family(const node_t *node);
+STATIC void node_lookup_declared_family(smartlist_t *out, const node_t *node);
+
#ifdef TOR_UNIT_TESTS
-STATIC void
-node_set_hsdir_index(node_t *node, const networkstatus_t *ns);
+STATIC void node_set_hsdir_index(node_t *node, const networkstatus_t *ns);
#endif /* defined(TOR_UNIT_TESTS) */
diff --git a/src/feature/nodelist/routerlist.c b/src/feature/nodelist/routerlist.c
index a8c9003e68..b4d56459df 100644
--- a/src/feature/nodelist/routerlist.c
+++ b/src/feature/nodelist/routerlist.c
@@ -160,7 +160,7 @@ static time_t last_descriptor_download_attempted = 0;
*
* From time to time, we replace "cached-descriptors" with a new file
* containing only the live, non-superseded descriptors, and clear
- * cached-routers.new.
+ * cached-descriptors.new.
*
* On startup, we read both files.
*/
diff --git a/src/feature/nodelist/routerstatus_st.h b/src/feature/nodelist/routerstatus_st.h
index 714aa27435..ea06587799 100644
--- a/src/feature/nodelist/routerstatus_st.h
+++ b/src/feature/nodelist/routerstatus_st.h
@@ -47,6 +47,8 @@ struct routerstatus_t {
unsigned int is_v2_dir:1; /** True iff this router publishes an open DirPort
* or it claims to accept tunnelled dir requests.
*/
+ unsigned int is_staledesc:1; /** True iff the authorities think this router
+ * should upload a new descriptor soon. */
unsigned int has_bandwidth:1; /**< The vote/consensus had bw info */
unsigned int has_exitsummary:1; /**< The vote/consensus had exit summaries */
diff --git a/src/feature/relay/dns.c b/src/feature/relay/dns.c
index bc507d47f6..701719af95 100644
--- a/src/feature/relay/dns.c
+++ b/src/feature/relay/dns.c
@@ -1357,6 +1357,42 @@ evdns_err_is_transient(int err)
}
}
+/**
+ * Return number of configured nameservers in <b>the_evdns_base</b>.
+ */
+size_t
+number_of_configured_nameservers(void)
+{
+ return evdns_base_count_nameservers(the_evdns_base);
+}
+
+#ifdef HAVE_EVDNS_BASE_GET_NAMESERVER_ADDR
+/**
+ * Return address of configured nameserver in <b>the_evdns_base</b>
+ * at index <b>idx</b>.
+ */
+tor_addr_t *
+configured_nameserver_address(const size_t idx)
+{
+ struct sockaddr_storage sa;
+ ev_socklen_t sa_len = sizeof(sa);
+
+ if (evdns_base_get_nameserver_addr(the_evdns_base, (int)idx,
+ (struct sockaddr *)&sa,
+ sa_len) > 0) {
+ tor_addr_t *tor_addr = tor_malloc(sizeof(tor_addr_t));
+ if (tor_addr_from_sockaddr(tor_addr,
+ (const struct sockaddr *)&sa,
+ NULL) == 0) {
+ return tor_addr;
+ }
+ tor_free(tor_addr);
+ }
+
+ return NULL;
+}
+#endif
+
/** Configure eventdns nameservers if force is true, or if the configuration
* has changed since the last time we called this function, or if we failed on
* our last attempt. On Unix, this reads from /etc/resolv.conf or
@@ -1388,16 +1424,23 @@ configure_nameservers(int force)
evdns_set_log_fn(evdns_log_cb);
if (conf_fname) {
log_debug(LD_FS, "stat()ing %s", conf_fname);
- if (stat(sandbox_intern_string(conf_fname), &st)) {
+ int missing_resolv_conf = 0;
+ int stat_res = stat(sandbox_intern_string(conf_fname), &st);
+
+ if (stat_res) {
log_warn(LD_EXIT, "Unable to stat resolver configuration in '%s': %s",
conf_fname, strerror(errno));
- goto err;
- }
- if (!force && resolv_conf_fname && !strcmp(conf_fname,resolv_conf_fname)
+ missing_resolv_conf = 1;
+ } else if (!force && resolv_conf_fname &&
+ !strcmp(conf_fname,resolv_conf_fname)
&& st.st_mtime == resolv_conf_mtime) {
log_info(LD_EXIT, "No change to '%s'", conf_fname);
return 0;
}
+
+ if (stat_res == 0 && st.st_size == 0)
+ missing_resolv_conf = 1;
+
if (nameservers_configured) {
evdns_base_search_clear(the_evdns_base);
evdns_base_clear_nameservers_and_suspend(the_evdns_base);
@@ -1410,20 +1453,34 @@ configure_nameservers(int force)
sandbox_intern_string("/etc/hosts"));
}
#endif /* defined(DNS_OPTION_HOSTSFILE) && defined(USE_LIBSECCOMP) */
- log_info(LD_EXIT, "Parsing resolver configuration in '%s'", conf_fname);
- if ((r = evdns_base_resolv_conf_parse(the_evdns_base, flags,
- sandbox_intern_string(conf_fname)))) {
- log_warn(LD_EXIT, "Unable to parse '%s', or no nameservers in '%s' (%d)",
- conf_fname, conf_fname, r);
- goto err;
- }
- if (evdns_base_count_nameservers(the_evdns_base) == 0) {
- log_warn(LD_EXIT, "Unable to find any nameservers in '%s'.", conf_fname);
- goto err;
+
+ if (!missing_resolv_conf) {
+ log_info(LD_EXIT, "Parsing resolver configuration in '%s'", conf_fname);
+ if ((r = evdns_base_resolv_conf_parse(the_evdns_base, flags,
+ sandbox_intern_string(conf_fname)))) {
+ log_warn(LD_EXIT, "Unable to parse '%s', or no nameservers "
+ "in '%s' (%d)", conf_fname, conf_fname, r);
+
+ if (r != 6) // "r = 6" means "no DNS servers were in resolv.conf" -
+ goto err; // in which case we expect libevent to add 127.0.0.1 as
+ // fallback.
+ }
+ if (evdns_base_count_nameservers(the_evdns_base) == 0) {
+ log_warn(LD_EXIT, "Unable to find any nameservers in '%s'.",
+ conf_fname);
+ }
+
+ tor_free(resolv_conf_fname);
+ resolv_conf_fname = tor_strdup(conf_fname);
+ resolv_conf_mtime = st.st_mtime;
+ } else {
+ log_warn(LD_EXIT, "Could not read your DNS config from '%s' - "
+ "please investigate your DNS configuration. "
+ "This is possibly a problem. Meanwhile, falling"
+ " back to local DNS at 127.0.0.1.", conf_fname);
+ evdns_base_nameserver_ip_add(the_evdns_base, "127.0.0.1");
}
- tor_free(resolv_conf_fname);
- resolv_conf_fname = tor_strdup(conf_fname);
- resolv_conf_mtime = st.st_mtime;
+
if (nameservers_configured)
evdns_base_resume(the_evdns_base);
}
diff --git a/src/feature/relay/dns.h b/src/feature/relay/dns.h
index 1dd6f903d1..5758ea4363 100644
--- a/src/feature/relay/dns.h
+++ b/src/feature/relay/dns.h
@@ -45,6 +45,11 @@ size_t dns_cache_handle_oom(time_t now, size_t min_remove_bytes);
#ifdef DNS_PRIVATE
#include "feature/relay/dns_structs.h"
+size_t number_of_configured_nameservers(void);
+#ifdef HAVE_EVDNS_BASE_GET_NAMESERVER_ADDR
+tor_addr_t *configured_nameserver_address(const size_t idx);
+#endif
+
MOCK_DECL(STATIC int,dns_resolve_impl,(edge_connection_t *exitconn,
int is_resolve,or_circuit_t *oncirc, char **hostname_out,
int *made_connection_pending_out, cached_resolve_t **resolve_out));
diff --git a/src/feature/relay/router.c b/src/feature/relay/router.c
index 4afcddc675..be9ef3d2f3 100644
--- a/src/feature/relay/router.c
+++ b/src/feature/relay/router.c
@@ -30,6 +30,7 @@
#include "feature/nodelist/dirlist.h"
#include "feature/nodelist/networkstatus.h"
#include "feature/nodelist/nickname.h"
+#include "feature/nodelist/nodefamily.h"
#include "feature/nodelist/nodelist.h"
#include "feature/nodelist/routerlist.h"
#include "feature/nodelist/torcert.h"
@@ -49,6 +50,7 @@
#include "lib/encoding/confline.h"
#include "lib/osinfo/uname.h"
#include "lib/tls/tortls.h"
+#include "lib/version/torversion.h"
#include "feature/dirauth/authmode.h"
@@ -58,6 +60,7 @@
#include "feature/dircommon/dir_connection_st.h"
#include "feature/nodelist/authority_cert_st.h"
#include "feature/nodelist/extrainfo_st.h"
+#include "feature/nodelist/networkstatus_st.h"
#include "feature/nodelist/node_st.h"
#include "feature/nodelist/routerinfo_st.h"
#include "feature/nodelist/routerstatus_st.h"
@@ -339,6 +342,16 @@ set_server_identity_key(crypto_pk_t *k)
}
}
+#ifdef TOR_UNIT_TESTS
+/** Testing only -- set the server's RSA identity digest to
+ * be <b>digest</b> */
+void
+set_server_identity_key_digest_testing(const uint8_t *digest)
+{
+ memcpy(server_identitykey_digest, digest, DIGEST_LEN);
+}
+#endif
+
/** Make sure that we have set up our identity keys to match or not match as
* appropriate, and die with an assertion if we have not. */
static void
@@ -636,7 +649,7 @@ load_authority_keyset(int legacy, crypto_pk_t **key_out,
fname);
goto done;
}
- parsed = authority_cert_parse_from_string(cert, &eos);
+ parsed = authority_cert_parse_from_string(cert, strlen(cert), &eos);
if (!parsed) {
log_warn(LD_DIR, "Unable to parse certificate in %s", fname);
goto done;
@@ -1469,9 +1482,9 @@ static extrainfo_t *desc_extrainfo = NULL;
static const char *desc_gen_reason = "uninitialized reason";
/** Since when has our descriptor been "clean"? 0 if we need to regenerate it
* now. */
-static time_t desc_clean_since = 0;
+STATIC time_t desc_clean_since = 0;
/** Why did we mark the descriptor dirty? */
-static const char *desc_dirty_reason = "Tor just started";
+STATIC const char *desc_dirty_reason = "Tor just started";
/** Boolean: do we need to regenerate the above? */
static int desc_needs_upload = 0;
@@ -1690,10 +1703,6 @@ router_get_descriptor_gen_reason(void)
return desc_gen_reason;
}
-/** A list of nicknames that we've warned about including in our family
- * declaration verbatim rather than as digests. */
-static smartlist_t *warned_nonexistent_family = NULL;
-
static int router_guess_address_from_dir_headers(uint32_t *guess);
/** Make a current best guess at our address, either because
@@ -1806,6 +1815,132 @@ router_check_descriptor_address_consistency(uint32_t ipv4h_desc_addr)
CONN_TYPE_DIR_LISTENER);
}
+/** A list of nicknames that we've warned about including in our family,
+ * for one reason or another. */
+static smartlist_t *warned_family = NULL;
+
+/**
+ * Return a new smartlist containing the family members configured in
+ * <b>options</b>. Warn about invalid or missing entries. Return NULL
+ * if this relay should not declare a family.
+ **/
+STATIC smartlist_t *
+get_my_declared_family(const or_options_t *options)
+{
+ if (!options->MyFamily)
+ return NULL;
+
+ if (options->BridgeRelay)
+ return NULL;
+
+ if (!warned_family)
+ warned_family = smartlist_new();
+
+ smartlist_t *declared_family = smartlist_new();
+ config_line_t *family;
+
+ /* First we try to get the whole family in the form of hexdigests. */
+ for (family = options->MyFamily; family; family = family->next) {
+ char *name = family->value;
+ const node_t *member;
+ if (options->Nickname && !strcasecmp(name, options->Nickname))
+ continue; /* Don't list ourself by nickname, that's redundant */
+ else
+ member = node_get_by_nickname(name, 0);
+
+ if (!member) {
+ /* This node doesn't seem to exist, so warn about it if it is not
+ * a hexdigest. */
+ int is_legal = is_legal_nickname_or_hexdigest(name);
+ if (!smartlist_contains_string(warned_family, name) &&
+ !is_legal_hexdigest(name)) {
+ if (is_legal)
+ log_warn(LD_CONFIG,
+ "There is a router named %s in my declared family, but "
+ "I have no descriptor for it. I'll use the nickname "
+ "as is, but this may confuse clients. Please list it "
+ "by identity digest instead.", escaped(name));
+ else
+ log_warn(LD_CONFIG, "There is a router named %s in my declared "
+ "family, but that isn't a legal digest or nickname. "
+ "Skipping it.", escaped(name));
+ smartlist_add_strdup(warned_family, name);
+ }
+ if (is_legal) {
+ smartlist_add_strdup(declared_family, name);
+ }
+ } else {
+ /* List the node by digest. */
+ char *fp = tor_malloc(HEX_DIGEST_LEN+2);
+ fp[0] = '$';
+ base16_encode(fp+1,HEX_DIGEST_LEN+1,
+ member->identity, DIGEST_LEN);
+ smartlist_add(declared_family, fp);
+
+ if (! is_legal_hexdigest(name) &&
+ !smartlist_contains_string(warned_family, name)) {
+ /* Warn if this node was not specified by hexdigest. */
+ log_warn(LD_CONFIG, "There is a router named %s in my declared "
+ "family, but it wasn't listed by digest. Please consider "
+ "saying %s instead, if that's what you meant.",
+ escaped(name), fp);
+ smartlist_add_strdup(warned_family, name);
+ }
+ }
+ }
+
+ /* Now declared_family should have the closest we can come to the
+ * identities that the user wanted.
+ *
+ * Unlike older versions of Tor, we _do_ include our own identity: this
+ * helps microdescriptor compression, and helps in-memory compression
+ * on clients. */
+ nodefamily_t *nf = nodefamily_from_members(declared_family,
+ router_get_my_id_digest(),
+ NF_WARN_MALFORMED,
+ NULL);
+ SMARTLIST_FOREACH(declared_family, char *, s, tor_free(s));
+ smartlist_free(declared_family);
+ if (!nf) {
+ return NULL;
+ }
+
+ char *s = nodefamily_format(nf);
+ nodefamily_free(nf);
+
+ smartlist_t *result = smartlist_new();
+ smartlist_split_string(result, s, NULL,
+ SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
+ tor_free(s);
+
+ if (smartlist_len(result) == 1) {
+ /* This is a one-element list containing only ourself; instead return
+ * nothing */
+ const char *singleton = smartlist_get(result, 0);
+ bool is_me = false;
+ if (singleton[0] == '$') {
+ char d[DIGEST_LEN];
+ int n = base16_decode(d, sizeof(d), singleton+1, strlen(singleton+1));
+ if (n == DIGEST_LEN &&
+ fast_memeq(d, router_get_my_id_digest(), DIGEST_LEN)) {
+ is_me = true;
+ }
+ }
+ if (!is_me) {
+ // LCOV_EXCL_START
+ log_warn(LD_BUG, "Found a singleton family list with an element "
+ "that wasn't us! Element was %s", escaped(singleton));
+ // LCOV_EXCL_STOP
+ } else {
+ SMARTLIST_FOREACH(result, char *, cp, tor_free(cp));
+ smartlist_free(result);
+ return NULL;
+ }
+ }
+
+ return result;
+}
+
/** Build a fresh routerinfo, signed server descriptor, and extra-info document
* for this OR. Set r to the generated routerinfo, e to the generated
* extra-info document. Return 0 on success, -1 on temporary error. Failure to
@@ -1920,54 +2055,7 @@ router_build_fresh_descriptor(routerinfo_t **r, extrainfo_t **e)
tor_free(p_tmp);
}
- if (options->MyFamily && ! options->BridgeRelay) {
- if (!warned_nonexistent_family)
- warned_nonexistent_family = smartlist_new();
- ri->declared_family = smartlist_new();
- config_line_t *family;
- for (family = options->MyFamily; family; family = family->next) {
- char *name = family->value;
- const node_t *member;
- if (!strcasecmp(name, options->Nickname))
- continue; /* Don't list ourself, that's redundant */
- else
- member = node_get_by_nickname(name, 0);
- if (!member) {
- int is_legal = is_legal_nickname_or_hexdigest(name);
- if (!smartlist_contains_string(warned_nonexistent_family, name) &&
- !is_legal_hexdigest(name)) {
- if (is_legal)
- log_warn(LD_CONFIG,
- "I have no descriptor for the router named \"%s\" in my "
- "declared family; I'll use the nickname as is, but "
- "this may confuse clients.", name);
- else
- log_warn(LD_CONFIG, "There is a router named \"%s\" in my "
- "declared family, but that isn't a legal nickname. "
- "Skipping it.", escaped(name));
- smartlist_add_strdup(warned_nonexistent_family, name);
- }
- if (is_legal) {
- smartlist_add_strdup(ri->declared_family, name);
- }
- } else if (router_digest_is_me(member->identity)) {
- /* Don't list ourself in our own family; that's redundant */
- /* XXX shouldn't be possible */
- } else {
- char *fp = tor_malloc(HEX_DIGEST_LEN+2);
- fp[0] = '$';
- base16_encode(fp+1,HEX_DIGEST_LEN+1,
- member->identity, DIGEST_LEN);
- smartlist_add(ri->declared_family, fp);
- if (smartlist_contains_string(warned_nonexistent_family, name))
- smartlist_string_remove(warned_nonexistent_family, name);
- }
- }
-
- /* remove duplicates from the list */
- smartlist_sort_strings(ri->declared_family);
- smartlist_uniq_strings(ri->declared_family);
- }
+ ri->declared_family = get_my_declared_family(options);
/* Now generate the extrainfo. */
ei = tor_malloc_zero(sizeof(extrainfo_t));
@@ -2133,7 +2221,9 @@ mark_my_descriptor_dirty_if_too_old(time_t now)
/* Now we see whether we want to be retrying frequently or no. The
* rule here is that we'll retry frequently if we aren't listed in the
* live consensus we have, or if the publication time of the
- * descriptor listed for us in the consensus is very old. */
+ * descriptor listed for us in the consensus is very old, or if the
+ * consensus lists us as "stale" and we haven't regenerated since the
+ * consensus was published. */
ns = networkstatus_get_live_consensus(now);
if (ns) {
rs = networkstatus_vote_find_entry(ns, server_identitykey_digest);
@@ -2141,6 +2231,8 @@ mark_my_descriptor_dirty_if_too_old(time_t now)
retry_fast_reason = "not listed in consensus";
else if (rs->published_on < slow_cutoff)
retry_fast_reason = "version listed in consensus is quite old";
+ else if (rs->is_staledesc && ns->valid_after > desc_clean_since)
+ retry_fast_reason = "listed as stale in consensus";
}
if (retry_fast_reason && desc_clean_since < fast_cutoff)
@@ -3058,9 +3150,9 @@ extrainfo_dump_to_string(char **s_out, extrainfo_t *extrainfo,
void
router_reset_warnings(void)
{
- if (warned_nonexistent_family) {
- SMARTLIST_FOREACH(warned_nonexistent_family, char *, cp, tor_free(cp));
- smartlist_clear(warned_nonexistent_family);
+ if (warned_family) {
+ SMARTLIST_FOREACH(warned_family, char *, cp, tor_free(cp));
+ smartlist_clear(warned_family);
}
}
@@ -3084,11 +3176,12 @@ router_free_all(void)
memwipe(&curve25519_onion_key, 0, sizeof(curve25519_onion_key));
memwipe(&last_curve25519_onion_key, 0, sizeof(last_curve25519_onion_key));
- if (warned_nonexistent_family) {
- SMARTLIST_FOREACH(warned_nonexistent_family, char *, cp, tor_free(cp));
- smartlist_free(warned_nonexistent_family);
+ if (warned_family) {
+ SMARTLIST_FOREACH(warned_family, char *, cp, tor_free(cp));
+ smartlist_free(warned_family);
}
}
+
/* From the given RSA key object, convert it to ASN-1 encoded format and set
* the newly allocated object in onion_pkey_out. The length of the key is set
* in onion_pkey_len_out. */
diff --git a/src/feature/relay/router.h b/src/feature/relay/router.h
index 4575172afb..7a63c33d32 100644
--- a/src/feature/relay/router.h
+++ b/src/feature/relay/router.h
@@ -117,6 +117,14 @@ void router_free_all(void);
/* Used only by router.c and test.c */
STATIC void get_platform_str(char *platform, size_t len);
STATIC int router_write_fingerprint(int hashed);
+STATIC smartlist_t *get_my_declared_family(const or_options_t *options);
+
+#ifdef TOR_UNIT_TESTS
+extern time_t desc_clean_since;
+extern const char *desc_dirty_reason;
+void set_server_identity_key_digest_testing(const uint8_t *digest);
+#endif
+
#endif
#endif /* !defined(TOR_ROUTER_H) */
diff --git a/src/feature/rend/rendcache.c b/src/feature/rend/rendcache.c
index 848386b97d..b851e71959 100644
--- a/src/feature/rend/rendcache.c
+++ b/src/feature/rend/rendcache.c
@@ -45,7 +45,7 @@ STATIC digestmap_t *rend_cache_v2_dir = NULL;
* looked up in this cache and if present, it is discarded from the fetched
* descriptor. At the end, all IP(s) in the cache, for a specific service
* ID, that were NOT present in the descriptor are removed from this cache.
- * Which means that if at least one IP was not in this cache, thus usuable,
+ * Which means that if at least one IP was not in this cache, thus usable,
* it's considered a new descriptor so we keep it. Else, if all IPs were in
* this cache, we discard the descriptor as it's considered unusable.
*
diff --git a/src/feature/stats/geoip_stats.c b/src/feature/stats/geoip_stats.c
index 1a4f8ddfb0..3106c6c82c 100644
--- a/src/feature/stats/geoip_stats.c
+++ b/src/feature/stats/geoip_stats.c
@@ -30,7 +30,7 @@
#include "core/or/or.h"
#include "ht.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "app/config/config.h"
#include "feature/control/control.h"
#include "feature/client/dnsserv.h"
diff --git a/src/include.am b/src/include.am
index d2f83da814..9070a69a03 100644
--- a/src/include.am
+++ b/src/include.am
@@ -1,5 +1,6 @@
include src/ext/include.am
include src/lib/arch/include.am
+include src/lib/buf/include.am
include src/lib/err/include.am
include src/lib/cc/include.am
include src/lib/ctime/include.am
@@ -25,6 +26,7 @@ include src/lib/osinfo/include.am
include src/lib/process/include.am
include src/lib/sandbox/include.am
include src/lib/string/include.am
+include src/lib/subsys/include.am
include src/lib/smartlist_core/include.am
include src/lib/term/include.am
include src/lib/testsupport/include.am
@@ -32,6 +34,7 @@ include src/lib/thread/include.am
include src/lib/time/include.am
include src/lib/tls/include.am
include src/lib/trace/include.am
+include src/lib/version/include.am
include src/lib/wallclock/include.am
include src/trunnel/include.am
diff --git a/src/lib/buf/.may_include b/src/lib/buf/.may_include
new file mode 100644
index 0000000000..c4be73bce2
--- /dev/null
+++ b/src/lib/buf/.may_include
@@ -0,0 +1,10 @@
+orconfig.h
+
+lib/buf/*.h
+lib/cc/*.h
+lib/ctime/*.h
+lib/malloc/*.h
+lib/testsupport/*.h
+lib/log/*.h
+lib/string/*.h
+lib/time/*.h
diff --git a/src/lib/container/buffers.c b/src/lib/buf/buffers.c
index 87d782d7ef..495c5ec453 100644
--- a/src/lib/container/buffers.c
+++ b/src/lib/buf/buffers.c
@@ -25,7 +25,7 @@
#define BUFFERS_PRIVATE
#include "orconfig.h"
#include <stddef.h>
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "lib/cc/torint.h"
#include "lib/log/log.h"
#include "lib/log/util_bug.h"
diff --git a/src/lib/container/buffers.h b/src/lib/buf/buffers.h
index c48f83cfc7..c48f83cfc7 100644
--- a/src/lib/container/buffers.h
+++ b/src/lib/buf/buffers.h
diff --git a/src/lib/buf/include.am b/src/lib/buf/include.am
new file mode 100644
index 0000000000..3338c3dbdb
--- /dev/null
+++ b/src/lib/buf/include.am
@@ -0,0 +1,17 @@
+
+noinst_LIBRARIES += src/lib/libtor-buf.a
+
+if UNITTESTS_ENABLED
+noinst_LIBRARIES += src/lib/libtor-buf-testing.a
+endif
+
+src_lib_libtor_buf_a_SOURCES = \
+ src/lib/buf/buffers.c
+
+src_lib_libtor_buf_testing_a_SOURCES = \
+ $(src_lib_libtor_buf_a_SOURCES)
+src_lib_libtor_buf_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
+src_lib_libtor_buf_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
+
+noinst_HEADERS += \
+ src/lib/buf/buffers.h
diff --git a/src/lib/cc/.may_include b/src/lib/cc/.may_include
index 2b06e8519c..fa1478ce46 100644
--- a/src/lib/cc/.may_include
+++ b/src/lib/cc/.may_include
@@ -1 +1,2 @@
orconfig.h
+lib/cc/*.h \ No newline at end of file
diff --git a/src/lib/cc/ctassert.h b/src/lib/cc/ctassert.h
new file mode 100644
index 0000000000..e42976360f
--- /dev/null
+++ b/src/lib/cc/ctassert.h
@@ -0,0 +1,53 @@
+/* Copyright (c) 2018 The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file ctassert.h
+ *
+ * \brief Compile-time assertions: CTASSERT(expression).
+ */
+
+#ifndef TOR_CTASSERT_H
+#define TOR_CTASSERT_H
+
+#include "lib/cc/compat_compiler.h"
+
+/**
+ * CTASSERT(expression)
+ *
+ * Trigger a compiler error if expression is false.
+ */
+#if __STDC_VERSION__ >= 201112L
+
+/* If C11 is available, just use _Static_assert. */
+#define CTASSERT(x) _Static_assert((x), #x)
+
+#else
+
+/*
+ * If C11 is not available, expand __COUNTER__, or __INCLUDE_LEVEL__
+ * and __LINE__, or just __LINE__, with an intermediate preprocessor
+ * macro CTASSERT_EXPN, and then use CTASSERT_DECL to paste the
+ * expansions together into a unique name.
+ *
+ * We use this name as a typedef of an array type with a positive
+ * length if the assertion is true, and a negative length of the
+ * assertion is false, which is invalid and hence triggers a compiler
+ * error.
+ */
+#if defined(__COUNTER__)
+#define CTASSERT(x) CTASSERT_EXPN((x), c, __COUNTER__)
+#elif defined(__INCLUDE_LEVEL__)
+#define CTASSERT(x) CTASSERT_EXPN((x), __INCLUDE_LEVEL__, __LINE__)
+#else
+/* hope it's unique enough */
+#define CTASSERT(x) CTASSERT_EXPN((x), l, __LINE__)
+#endif
+
+#define CTASSERT_EXPN(x, a, b) CTASSERT_DECL(x, a, b)
+#define CTASSERT_DECL(x, a, b) \
+ typedef char tor_ctassert_##a##_##b[(x) ? 1 : -1] ATTR_UNUSED
+
+#endif
+
+#endif /* !defined(TOR_CTASSERT_H) */
diff --git a/src/lib/cc/include.am b/src/lib/cc/include.am
index 2ae90f97dd..52cf8a9f72 100644
--- a/src/lib/cc/include.am
+++ b/src/lib/cc/include.am
@@ -1,4 +1,5 @@
noinst_HEADERS += \
src/lib/cc/compat_compiler.h \
+ src/lib/cc/ctassert.h \
src/lib/cc/torint.h
diff --git a/src/lib/compress/.may_include b/src/lib/compress/.may_include
index 68fe9f1c54..6cd80086e6 100644
--- a/src/lib/compress/.may_include
+++ b/src/lib/compress/.may_include
@@ -1,5 +1,6 @@
orconfig.h
lib/arch/*.h
+lib/buf/*.h
lib/cc/*.h
lib/compress/*.h
lib/container/*.h
@@ -8,5 +9,6 @@ lib/intmath/*.h
lib/log/*.h
lib/malloc/*.h
lib/string/*.h
+lib/subsys/*.h
lib/testsupport/*.h
lib/thread/*.h
diff --git a/src/lib/compress/compress.c b/src/lib/compress/compress.c
index 2ad9b15b2e..6cb9bd492b 100644
--- a/src/lib/compress/compress.c
+++ b/src/lib/compress/compress.c
@@ -29,10 +29,12 @@
#include "lib/compress/compress.h"
#include "lib/compress/compress_lzma.h"
#include "lib/compress/compress_none.h"
+#include "lib/compress/compress_sys.h"
#include "lib/compress/compress_zlib.h"
#include "lib/compress/compress_zstd.h"
#include "lib/intmath/cmp.h"
#include "lib/malloc/malloc.h"
+#include "lib/subsys/subsys.h"
#include "lib/thread/threads.h"
/** Total number of bytes allocated for compression state overhead. */
@@ -660,7 +662,7 @@ tor_compress_state_size(const tor_compress_state_t *state)
}
/** Initialize all compression modules. */
-void
+int
tor_compress_init(void)
{
atomic_counter_init(&total_compress_allocation);
@@ -668,6 +670,8 @@ tor_compress_init(void)
tor_zlib_init();
tor_lzma_init();
tor_zstd_init();
+
+ return 0;
}
/** Warn if we had any problems while setting up our compression libraries.
@@ -677,5 +681,20 @@ tor_compress_init(void)
void
tor_compress_log_init_warnings(void)
{
+ // XXXX can we move this into tor_compress_init() after all? log.c queues
+ // XXXX log messages at startup.
tor_zstd_warn_if_version_mismatched();
}
+
+static int
+subsys_compress_initialize(void)
+{
+ return tor_compress_init();
+}
+
+const subsys_fns_t sys_compress = {
+ .name = "compress",
+ .supported = true,
+ .level = -70,
+ .initialize = subsys_compress_initialize,
+};
diff --git a/src/lib/compress/compress.h b/src/lib/compress/compress.h
index 4466e27c4d..4dd6506238 100644
--- a/src/lib/compress/compress.h
+++ b/src/lib/compress/compress.h
@@ -89,7 +89,7 @@ void tor_compress_free_(tor_compress_state_t *state);
size_t tor_compress_state_size(const tor_compress_state_t *state);
-void tor_compress_init(void);
+int tor_compress_init(void);
void tor_compress_log_init_warnings(void);
struct buf_t;
diff --git a/src/lib/compress/compress_buf.c b/src/lib/compress/compress_buf.c
index 63ee9e0102..ecf76ee078 100644
--- a/src/lib/compress/compress_buf.c
+++ b/src/lib/compress/compress_buf.c
@@ -11,7 +11,7 @@
#define BUFFERS_PRIVATE
#include "lib/cc/compat_compiler.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "lib/compress/compress.h"
#include "lib/log/util_bug.h"
diff --git a/src/lib/compress/compress_sys.h b/src/lib/compress/compress_sys.h
new file mode 100644
index 0000000000..a162140cfb
--- /dev/null
+++ b/src/lib/compress/compress_sys.h
@@ -0,0 +1,14 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file compress_sys.h
+ * \brief Declare subsystem object for the compress module
+ **/
+
+#ifndef TOR_COMPRESS_SYS_H
+#define TOR_COMPRESS_SYS_H
+
+extern const struct subsys_fns_t sys_compress;
+
+#endif /* !defined(TOR_COMPRESS_SYS_H) */
diff --git a/src/lib/compress/include.am b/src/lib/compress/include.am
index 75c9032bd2..b952779578 100644
--- a/src/lib/compress/include.am
+++ b/src/lib/compress/include.am
@@ -22,5 +22,6 @@ noinst_HEADERS += \
src/lib/compress/compress.h \
src/lib/compress/compress_lzma.h \
src/lib/compress/compress_none.h \
+ src/lib/compress/compress_sys.h \
src/lib/compress/compress_zlib.h \
src/lib/compress/compress_zstd.h
diff --git a/src/lib/container/.may_include b/src/lib/container/.may_include
index 90de5eda40..81507527d3 100644
--- a/src/lib/container/.may_include
+++ b/src/lib/container/.may_include
@@ -7,12 +7,9 @@ lib/malloc/*.h
lib/err/*.h
lib/smartlist_core/*.h
lib/string/*.h
-lib/testsupport/testsupport.h
+lib/testsupport/*.h
lib/intmath/*.h
lib/log/*.h
-# XXXX I am unsure about this one. It's only here for buffers.c
-lib/time/*.h
-
-ht.h
-siphash.h
+ext/ht.h
+ext/siphash.h
diff --git a/src/lib/container/bloomfilt.c b/src/lib/container/bloomfilt.c
index ea2d2917c7..a64fcb9300 100644
--- a/src/lib/container/bloomfilt.c
+++ b/src/lib/container/bloomfilt.c
@@ -14,7 +14,7 @@
#include "lib/container/bloomfilt.h"
#include "lib/intmath/bits.h"
#include "lib/log/util_bug.h"
-#include "siphash.h"
+#include "ext/siphash.h"
/** How many bloom-filter bits we set per address. This is twice the
* BLOOMFILT_N_HASHES value, since we split the siphash output into two 32-bit
diff --git a/src/lib/container/include.am b/src/lib/container/include.am
index e6492098b5..032e4033da 100644
--- a/src/lib/container/include.am
+++ b/src/lib/container/include.am
@@ -7,7 +7,6 @@ endif
src_lib_libtor_container_a_SOURCES = \
src/lib/container/bloomfilt.c \
- src/lib/container/buffers.c \
src/lib/container/map.c \
src/lib/container/order.c \
src/lib/container/smartlist.c
@@ -20,7 +19,6 @@ src_lib_libtor_container_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
noinst_HEADERS += \
src/lib/container/bitarray.h \
src/lib/container/bloomfilt.h \
- src/lib/container/buffers.h \
src/lib/container/handles.h \
src/lib/container/map.h \
src/lib/container/order.h \
diff --git a/src/lib/container/map.c b/src/lib/container/map.c
index 85e074e10a..137e316920 100644
--- a/src/lib/container/map.c
+++ b/src/lib/container/map.c
@@ -21,7 +21,7 @@
#include <stdlib.h>
#include <string.h>
-#include "ht.h"
+#include "ext/ht.h"
/** Helper: Declare an entry type and a map type to implement a mapping using
* ht.h. The map type will be called <b>maptype</b>. The key part of each
diff --git a/src/lib/container/map.h b/src/lib/container/map.h
index ff71622682..4f427fe767 100644
--- a/src/lib/container/map.h
+++ b/src/lib/container/map.h
@@ -15,7 +15,7 @@
#include "lib/testsupport/testsupport.h"
#include "lib/cc/torint.h"
-#include "siphash.h"
+#include "ext/siphash.h"
#define DECLARE_MAP_FNS(maptype, keytype, prefix) \
typedef struct maptype maptype; \
diff --git a/src/lib/crypt_ops/.may_include b/src/lib/crypt_ops/.may_include
index a0fa4ec05c..0739699686 100644
--- a/src/lib/crypt_ops/.may_include
+++ b/src/lib/crypt_ops/.may_include
@@ -12,7 +12,8 @@ lib/malloc/*.h
lib/intmath/*.h
lib/sandbox/*.h
lib/string/*.h
-lib/testsupport/testsupport.h
+lib/subsys/*.h
+lib/testsupport/*.h
lib/thread/*.h
lib/log/*.h
@@ -21,4 +22,4 @@ trunnel/pwbox.h
keccak-tiny/*.h
ed25519/*.h
-siphash.h
+ext/siphash.h
diff --git a/src/lib/crypt_ops/aes_openssl.c b/src/lib/crypt_ops/aes_openssl.c
index f2990fc06d..ac275af33c 100644
--- a/src/lib/crypt_ops/aes_openssl.c
+++ b/src/lib/crypt_ops/aes_openssl.c
@@ -101,12 +101,12 @@ aes_cnt_cipher_t *
aes_new_cipher(const uint8_t *key, const uint8_t *iv, int key_bits)
{
EVP_CIPHER_CTX *cipher = EVP_CIPHER_CTX_new();
- const EVP_CIPHER *c;
+ const EVP_CIPHER *c = NULL;
switch (key_bits) {
case 128: c = EVP_aes_128_ctr(); break;
case 192: c = EVP_aes_192_ctr(); break;
case 256: c = EVP_aes_256_ctr(); break;
- default: tor_assert(0); // LCOV_EXCL_LINE
+ default: tor_assert_unreached(); // LCOV_EXCL_LINE
}
EVP_EncryptInit(cipher, c, key, iv);
return (aes_cnt_cipher_t *) cipher;
diff --git a/src/lib/crypt_ops/crypto_init.c b/src/lib/crypt_ops/crypto_init.c
index 9d6e2da0d0..f9943939fb 100644
--- a/src/lib/crypt_ops/crypto_init.c
+++ b/src/lib/crypt_ops/crypto_init.c
@@ -20,8 +20,11 @@
#include "lib/crypt_ops/crypto_openssl_mgt.h"
#include "lib/crypt_ops/crypto_nss_mgt.h"
#include "lib/crypt_ops/crypto_rand.h"
+#include "lib/crypt_ops/crypto_sys.h"
-#include "siphash.h"
+#include "lib/subsys/subsys.h"
+
+#include "ext/siphash.h"
/** Boolean: has our crypto library been initialized? (early phase) */
static int crypto_early_initialized_ = 0;
@@ -202,3 +205,47 @@ tor_is_using_nss(void)
return 0;
#endif
}
+
+static int
+subsys_crypto_initialize(void)
+{
+ if (crypto_early_init() < 0)
+ return -1;
+ crypto_dh_init();
+ return 0;
+}
+
+static void
+subsys_crypto_shutdown(void)
+{
+ crypto_global_cleanup();
+}
+
+static void
+subsys_crypto_prefork(void)
+{
+ crypto_prefork();
+}
+
+static void
+subsys_crypto_postfork(void)
+{
+ crypto_postfork();
+}
+
+static void
+subsys_crypto_thread_cleanup(void)
+{
+ crypto_thread_cleanup();
+}
+
+const struct subsys_fns_t sys_crypto = {
+ .name = "crypto",
+ .supported = true,
+ .level = -60,
+ .initialize = subsys_crypto_initialize,
+ .shutdown = subsys_crypto_shutdown,
+ .prefork = subsys_crypto_prefork,
+ .postfork = subsys_crypto_postfork,
+ .thread_cleanup = subsys_crypto_thread_cleanup,
+};
diff --git a/src/lib/crypt_ops/crypto_sys.h b/src/lib/crypt_ops/crypto_sys.h
new file mode 100644
index 0000000000..31644d088b
--- /dev/null
+++ b/src/lib/crypt_ops/crypto_sys.h
@@ -0,0 +1,14 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file log_crypto.h
+ * \brief Declare subsystem object for the crypto module.
+ **/
+
+#ifndef TOR_CRYPTO_SYS_H
+#define TOR_CRYPTO_SYS_H
+
+extern const struct subsys_fns_t sys_crypto;
+
+#endif /* !defined(TOR_CRYPTO_SYS_H) */
diff --git a/src/lib/crypt_ops/digestset.c b/src/lib/crypt_ops/digestset.c
index 89dd377a9c..84516e0172 100644
--- a/src/lib/crypt_ops/digestset.c
+++ b/src/lib/crypt_ops/digestset.c
@@ -11,7 +11,7 @@
#include "lib/crypt_ops/crypto_rand.h"
#include "lib/defs/digest_sizes.h"
#include "lib/crypt_ops/digestset.h"
-#include "siphash.h"
+#include "ext/siphash.h"
/* Wrap our hash function to have the signature that the bloom filter
* needs. */
diff --git a/src/lib/crypt_ops/include.am b/src/lib/crypt_ops/include.am
index 1022096fdc..d0ccc13bff 100644
--- a/src/lib/crypt_ops/include.am
+++ b/src/lib/crypt_ops/include.am
@@ -66,5 +66,6 @@ noinst_HEADERS += \
src/lib/crypt_ops/crypto_rand.h \
src/lib/crypt_ops/crypto_rsa.h \
src/lib/crypt_ops/crypto_s2k.h \
+ src/lib/crypt_ops/crypto_sys.h \
src/lib/crypt_ops/crypto_util.h \
src/lib/crypt_ops/digestset.h
diff --git a/src/lib/encoding/.may_include b/src/lib/encoding/.may_include
index 7c2ef36929..c9bf4b1786 100644
--- a/src/lib/encoding/.may_include
+++ b/src/lib/encoding/.may_include
@@ -1,5 +1,6 @@
orconfig.h
lib/cc/*.h
+lib/container/*.h
lib/ctime/*.h
lib/encoding/*.h
lib/intmath/*.h
diff --git a/src/lib/encoding/binascii.c b/src/lib/encoding/binascii.c
index e9140d9432..067db075ad 100644
--- a/src/lib/encoding/binascii.c
+++ b/src/lib/encoding/binascii.c
@@ -179,6 +179,18 @@ base64_encode_size(size_t srclen, int flags)
return enclen;
}
+/** Return an upper bound on the number of bytes that might be needed to hold
+ * the data from decoding the base64 string <b>srclen</b>. This is only an
+ * upper bound, since some part of the base64 string might be padding or
+ * space. */
+size_t
+base64_decode_maxsize(size_t srclen)
+{
+ tor_assert(srclen < INT_MAX / 3);
+
+ return CEIL_DIV(srclen * 3, 4);
+}
+
/** Internal table mapping 6 bit values to the Base64 alphabet. */
static const char base64_encode_table[64] = {
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
diff --git a/src/lib/encoding/binascii.h b/src/lib/encoding/binascii.h
index 23cbaa7070..c71ba65dfb 100644
--- a/src/lib/encoding/binascii.h
+++ b/src/lib/encoding/binascii.h
@@ -42,6 +42,7 @@ const char *hex_str(const char *from, size_t fromlen);
#define BASE64_ENCODE_MULTILINE 1
size_t base64_encode_size(size_t srclen, int flags);
+size_t base64_decode_maxsize(size_t srclen);
int base64_encode(char *dest, size_t destlen, const char *src, size_t srclen,
int flags);
int base64_decode(char *dest, size_t destlen, const char *src, size_t srclen);
diff --git a/src/lib/encoding/include.am b/src/lib/encoding/include.am
index 2d2aa3988a..83e9211b6f 100644
--- a/src/lib/encoding/include.am
+++ b/src/lib/encoding/include.am
@@ -9,6 +9,7 @@ src_lib_libtor_encoding_a_SOURCES = \
src/lib/encoding/confline.c \
src/lib/encoding/cstring.c \
src/lib/encoding/keyval.c \
+ src/lib/encoding/kvline.c \
src/lib/encoding/pem.c \
src/lib/encoding/time_fmt.c
@@ -22,5 +23,6 @@ noinst_HEADERS += \
src/lib/encoding/confline.h \
src/lib/encoding/cstring.h \
src/lib/encoding/keyval.h \
+ src/lib/encoding/kvline.h \
src/lib/encoding/pem.h \
src/lib/encoding/time_fmt.h
diff --git a/src/lib/encoding/kvline.c b/src/lib/encoding/kvline.c
new file mode 100644
index 0000000000..11ff4f0f96
--- /dev/null
+++ b/src/lib/encoding/kvline.c
@@ -0,0 +1,239 @@
+/* Copyright (c) 2001 Matej Pfajfar.
+ * Copyright (c) 2001-2004, Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file kvline.c
+ *
+ * \brief Manipulating lines of key-value pairs.
+ **/
+
+#include "orconfig.h"
+
+#include "lib/container/smartlist.h"
+#include "lib/encoding/confline.h"
+#include "lib/encoding/cstring.h"
+#include "lib/encoding/kvline.h"
+#include "lib/malloc/malloc.h"
+#include "lib/string/compat_ctype.h"
+#include "lib/string/printf.h"
+#include "lib/string/util_string.h"
+#include "lib/log/escape.h"
+#include "lib/log/util_bug.h"
+
+#include <stdbool.h>
+#include <stddef.h>
+#include <string.h>
+
+/** Return true iff we need to quote and escape the string <b>s</b> to encode
+ * it. */
+static bool
+needs_escape(const char *s, bool as_keyless_val)
+{
+ if (as_keyless_val && *s == 0)
+ return true;
+
+ for (; *s; ++s) {
+ if (*s >= 127 || TOR_ISSPACE(*s) || ! TOR_ISPRINT(*s) ||
+ *s == '\'' || *s == '\"') {
+ return true;
+ }
+ }
+ return false;
+}
+
+/**
+ * Return true iff the key in <b>line</b> is not set.
+ **/
+static bool
+line_has_no_key(const config_line_t *line)
+{
+ return line->key == NULL || strlen(line->key) == 0;
+}
+
+/**
+ * Return true iff the all the lines in <b>line</b> can be encoded
+ * using <b>flags</b>.
+ **/
+static bool
+kvline_can_encode_lines(const config_line_t *line, unsigned flags)
+{
+ for ( ; line; line = line->next) {
+ const bool keyless = line_has_no_key(line);
+ if (keyless) {
+ if (! (flags & KV_OMIT_KEYS)) {
+ /* If KV_OMIT_KEYS is not set, we can't encode a line with no key. */
+ return false;
+ }
+ if (strchr(line->value, '=') && !( flags & KV_QUOTED)) {
+ /* We can't have a keyless value with = without quoting it. */
+ return false;
+ }
+ }
+
+ if (needs_escape(line->value, keyless) && ! (flags & KV_QUOTED)) {
+ /* If KV_QUOTED is false, we can't encode a value that needs quotes. */
+ return false;
+ }
+ if (line->key && strlen(line->key) &&
+ (needs_escape(line->key, false) || strchr(line->key, '='))) {
+ /* We can't handle keys that need quoting. */
+ return false;
+ }
+ }
+ return true;
+}
+
+/**
+ * Encode a linked list of lines in <b>line</b> as a series of 'Key=Value'
+ * pairs, using the provided <b>flags</b> to encode it. Return a newly
+ * allocated string on success, or NULL on failure.
+ *
+ * If KV_QUOTED is set in <b>flags</b>, then all values that contain
+ * spaces or unusual characters are escaped and quoted. Otherwise, such
+ * values are not allowed.
+ *
+ * If KV_OMIT_KEYS is set in <b>flags</b>, then pairs with empty keys are
+ * allowed, and are encoded as 'Value'. Otherwise, such pairs are not
+ * allowed.
+ */
+char *
+kvline_encode(const config_line_t *line,
+ unsigned flags)
+{
+ if (!kvline_can_encode_lines(line, flags))
+ return NULL;
+
+ smartlist_t *elements = smartlist_new();
+
+ for (; line; line = line->next) {
+
+ const char *k = "";
+ const char *eq = "=";
+ const char *v = "";
+ const bool keyless = line_has_no_key(line);
+ bool esc = needs_escape(line->value, keyless);
+ char *tmp = NULL;
+
+ if (! keyless) {
+ k = line->key;
+ } else {
+ eq = "";
+ if (strchr(line->value, '=')) {
+ esc = true;
+ }
+ }
+
+ if (esc) {
+ tmp = esc_for_log(line->value);
+ v = tmp;
+ } else {
+ v = line->value;
+ }
+
+ smartlist_add_asprintf(elements, "%s%s%s", k, eq, v);
+ tor_free(tmp);
+ }
+
+ char *result = smartlist_join_strings(elements, " ", 0, NULL);
+
+ SMARTLIST_FOREACH(elements, char *, cp, tor_free(cp));
+ smartlist_free(elements);
+
+ return result;
+}
+
+/**
+ * Decode a <b>line</b> containing a series of space-separated 'Key=Value'
+ * pairs, using the provided <b>flags</b> to decode it. Return a newly
+ * allocated list of pairs on success, or NULL on failure.
+ *
+ * If KV_QUOTED is set in <b>flags</b>, then (double-)quoted values are
+ * allowed. Otherwise, such values are not allowed.
+ *
+ * If KV_OMIT_KEYS is set in <b>flags</b>, then values without keys are
+ * allowed. Otherwise, such values are not allowed.
+ */
+config_line_t *
+kvline_parse(const char *line, unsigned flags)
+{
+ const char *cp = line, *cplast = NULL;
+ bool omit_keys = (flags & KV_OMIT_KEYS) != 0;
+ bool quoted = (flags & KV_QUOTED) != 0;
+
+ config_line_t *result = NULL;
+ config_line_t **next_line = &result;
+
+ char *key = NULL;
+ char *val = NULL;
+
+ while (*cp) {
+ key = val = NULL;
+ {
+ size_t idx = strspn(cp, " \t\r\v\n");
+ cp += idx;
+ }
+ if (BUG(cp == cplast)) {
+ /* If we didn't parse anything, this code is broken. */
+ goto err; // LCOV_EXCL_LINE
+ }
+ cplast = cp;
+ if (! *cp)
+ break; /* End of string; we're done. */
+
+ /* Possible formats are K=V, K="V", V, and "V", depending on flags. */
+
+ /* Find the key. */
+ if (*cp != '\"') {
+ size_t idx = strcspn(cp, " \t\r\v\n=");
+
+ if (cp[idx] == '=') {
+ key = tor_memdup_nulterm(cp, idx);
+ cp += idx + 1;
+ } else {
+ if (!omit_keys)
+ goto err;
+ }
+ }
+
+ if (*cp == '\"') {
+ /* The type is "V". */
+ if (!quoted)
+ goto err;
+ size_t len=0;
+ cp = unescape_string(cp, &val, &len);
+ if (cp == NULL || len != strlen(val)) {
+ // The string contains a NUL or is badly coded.
+ goto err;
+ }
+ } else {
+ size_t idx = strcspn(cp, " \t\r\v\n");
+ val = tor_memdup_nulterm(cp, idx);
+ cp += idx;
+ }
+
+ if (key && strlen(key) == 0) {
+ /* We don't allow empty keys. */
+ goto err;
+ }
+
+ *next_line = tor_malloc_zero(sizeof(config_line_t));
+ (*next_line)->key = key ? key : tor_strdup("");
+ (*next_line)->value = val;
+ next_line = &(*next_line)->next;
+ key = val = NULL;
+ }
+
+ if (!kvline_can_encode_lines(result, flags)) {
+ goto err;
+ }
+ return result;
+
+ err:
+ tor_free(key);
+ tor_free(val);
+ config_free_lines(result);
+ return NULL;
+}
diff --git a/src/lib/encoding/kvline.h b/src/lib/encoding/kvline.h
new file mode 100644
index 0000000000..3272cc1754
--- /dev/null
+++ b/src/lib/encoding/kvline.h
@@ -0,0 +1,24 @@
+/* Copyright (c) 2001 Matej Pfajfar.
+ * Copyright (c) 2001-2004, Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file kvline.h
+ *
+ * \brief Header for kvline.c
+ **/
+
+#ifndef TOR_KVLINE_H
+#define TOR_KVLINE_H
+
+struct config_line_t;
+
+#define KV_QUOTED (1u<<0)
+#define KV_OMIT_KEYS (1u<<1)
+
+struct config_line_t *kvline_parse(const char *line, unsigned flags);
+char *kvline_encode(const struct config_line_t *line, unsigned flags);
+
+#endif /* !defined(TOR_KVLINE_H) */
diff --git a/src/lib/encoding/time_fmt.c b/src/lib/encoding/time_fmt.c
index a921fc681c..233d0dddff 100644
--- a/src/lib/encoding/time_fmt.c
+++ b/src/lib/encoding/time_fmt.c
@@ -26,6 +26,10 @@
#include <string.h>
#include <time.h>
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+
#ifdef _WIN32
/* For struct timeval */
#include <winsock2.h>
diff --git a/src/lib/err/.may_include b/src/lib/err/.may_include
index 48cc0ef088..daa1b6e4ca 100644
--- a/src/lib/err/.may_include
+++ b/src/lib/err/.may_include
@@ -1,3 +1,5 @@
orconfig.h
lib/cc/*.h
lib/err/*.h
+lib/subsys/*.h
+lib/version/*.h \ No newline at end of file
diff --git a/src/lib/err/include.am b/src/lib/err/include.am
index f2a409c51e..43adcd2694 100644
--- a/src/lib/err/include.am
+++ b/src/lib/err/include.am
@@ -6,8 +6,9 @@ noinst_LIBRARIES += src/lib/libtor-err-testing.a
endif
src_lib_libtor_err_a_SOURCES = \
- src/lib/err/backtrace.c \
- src/lib/err/torerr.c
+ src/lib/err/backtrace.c \
+ src/lib/err/torerr.c \
+ src/lib/err/torerr_sys.c
src_lib_libtor_err_testing_a_SOURCES = \
$(src_lib_libtor_err_a_SOURCES)
@@ -16,4 +17,5 @@ src_lib_libtor_err_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
noinst_HEADERS += \
src/lib/err/backtrace.h \
- src/lib/err/torerr.h
+ src/lib/err/torerr.h \
+ src/lib/err/torerr_sys.h
diff --git a/src/lib/err/torerr.c b/src/lib/err/torerr.c
index f9e139f967..e9de86837f 100644
--- a/src/lib/err/torerr.c
+++ b/src/lib/err/torerr.c
@@ -123,6 +123,16 @@ tor_log_set_sigsafe_err_fds(const int *fds, int n)
}
/**
+ * Reset the list of emergency error fds to its default.
+ */
+void
+tor_log_reset_sigsafe_err_fds(void)
+{
+ int fds[] = { STDERR_FILENO };
+ tor_log_set_sigsafe_err_fds(fds, 1);
+}
+
+/**
* Set the granularity (in ms) to use when reporting fatal errors outside
* the logging system.
*/
diff --git a/src/lib/err/torerr.h b/src/lib/err/torerr.h
index d4bba6916f..b415ef73ef 100644
--- a/src/lib/err/torerr.h
+++ b/src/lib/err/torerr.h
@@ -39,6 +39,7 @@ void tor_raw_assertion_failed_msg_(const char *file, int line,
void tor_log_err_sigsafe(const char *m, ...);
int tor_log_get_sigsafe_err_fds(const int **out);
void tor_log_set_sigsafe_err_fds(const int *fds, int n);
+void tor_log_reset_sigsafe_err_fds(void);
void tor_log_sigsafe_err_set_granularity(int ms);
int format_hex_number_sigsafe(unsigned long x, char *buf, int max_len);
diff --git a/src/lib/err/torerr_sys.c b/src/lib/err/torerr_sys.c
new file mode 100644
index 0000000000..96bb1308a4
--- /dev/null
+++ b/src/lib/err/torerr_sys.c
@@ -0,0 +1,40 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file torerr_sys.c
+ * \brief Subsystem object for the error handling subsystem.
+ **/
+
+#include "orconfig.h"
+#include "lib/err/backtrace.h"
+#include "lib/err/torerr.h"
+#include "lib/err/torerr_sys.h"
+#include "lib/subsys/subsys.h"
+#include "lib/version/torversion.h"
+
+#include <stddef.h>
+
+static int
+subsys_torerr_initialize(void)
+{
+ if (configure_backtrace_handler(get_version()) < 0)
+ return -1;
+ tor_log_reset_sigsafe_err_fds();
+
+ return 0;
+}
+static void
+subsys_torerr_shutdown(void)
+{
+ tor_log_reset_sigsafe_err_fds();
+ clean_up_backtrace_handler();
+}
+
+const subsys_fns_t sys_torerr = {
+ .name = "err",
+ .level = -100,
+ .supported = true,
+ .initialize = subsys_torerr_initialize,
+ .shutdown = subsys_torerr_shutdown
+};
diff --git a/src/lib/err/torerr_sys.h b/src/lib/err/torerr_sys.h
new file mode 100644
index 0000000000..b56270d538
--- /dev/null
+++ b/src/lib/err/torerr_sys.h
@@ -0,0 +1,14 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file torerr_sys.h
+ * \brief Declare subsystem object for torerr.c
+ **/
+
+#ifndef TOR_TORERR_SYS_H
+#define TOR_TORERR_SYS_H
+
+extern const struct subsys_fns_t sys_torerr;
+
+#endif /* !defined(TOR_TORERR_SYS_H) */
diff --git a/src/lib/evloop/.may_include b/src/lib/evloop/.may_include
index 30af508914..273de7bb94 100644
--- a/src/lib/evloop/.may_include
+++ b/src/lib/evloop/.may_include
@@ -12,5 +12,5 @@ lib/testsupport/*.h
lib/thread/*.h
lib/time/*.h
-src/ext/timeouts/timeout.c
-tor_queue.h \ No newline at end of file
+ext/timeouts/timeout.c
+ext/tor_queue.h \ No newline at end of file
diff --git a/src/lib/evloop/timers.c b/src/lib/evloop/timers.c
index c4e85c7c93..6743b6af51 100644
--- a/src/lib/evloop/timers.c
+++ b/src/lib/evloop/timers.c
@@ -39,6 +39,10 @@
#include "lib/malloc/malloc.h"
#include "lib/time/compat_time.h"
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+
#ifdef _WIN32
// For struct timeval.
#include <winsock2.h>
@@ -76,7 +80,8 @@ struct timeout_cb {
* use 32-bit math. */
#define WHEEL_BIT 5
#endif
-#include "src/ext/timeouts/timeout.c"
+
+#include "ext/timeouts/timeout.c"
static struct timeouts *global_timeouts = NULL;
static struct mainloop_event_t *global_timer_event = NULL;
diff --git a/src/lib/evloop/workqueue.c b/src/lib/evloop/workqueue.c
index 5471f87b04..b36a02da5e 100644
--- a/src/lib/evloop/workqueue.c
+++ b/src/lib/evloop/workqueue.c
@@ -36,7 +36,7 @@
#include "lib/net/socket.h"
#include "lib/thread/threads.h"
-#include "tor_queue.h"
+#include "ext/tor_queue.h"
#include <event2/event.h>
#include <string.h>
diff --git a/src/lib/fs/.may_include b/src/lib/fs/.may_include
index b1e49fc891..c192e6181c 100644
--- a/src/lib/fs/.may_include
+++ b/src/lib/fs/.may_include
@@ -13,4 +13,4 @@ lib/malloc/*.h
lib/memarea/*.h
lib/sandbox/*.h
lib/string/*.h
-lib/testsupport/testsupport.h
+lib/testsupport/*.h
diff --git a/src/lib/intmath/cmp.h b/src/lib/intmath/cmp.h
index 16952bee3e..11b6fdf98e 100644
--- a/src/lib/intmath/cmp.h
+++ b/src/lib/intmath/cmp.h
@@ -36,4 +36,7 @@
((v) > (max)) ? (max) : \
(v) )
+/** Give the absolute value of <b>x</b>, independent of its type. */
+#define ABS(x) ( ((x)<0) ? -(x) : (x) )
+
#endif /* !defined(TOR_INTMATH_CMP_H) */
diff --git a/src/lib/log/.may_include b/src/lib/log/.may_include
index 852173aab3..11c87f0a0d 100644
--- a/src/lib/log/.may_include
+++ b/src/lib/log/.may_include
@@ -9,7 +9,7 @@ lib/lock/*.h
lib/log/*.h
lib/malloc/*.h
lib/string/*.h
+lib/subsys/*.h
lib/testsupport/*.h
+lib/version/*.h
lib/wallclock/*.h
-
-micro-revision.i \ No newline at end of file
diff --git a/src/lib/log/include.am b/src/lib/log/include.am
index 4a6c9b3686..9d3dbe3104 100644
--- a/src/lib/log/include.am
+++ b/src/lib/log/include.am
@@ -7,9 +7,9 @@ endif
src_lib_libtor_log_a_SOURCES = \
src/lib/log/escape.c \
- src/lib/log/git_revision.c \
src/lib/log/ratelim.c \
src/lib/log/log.c \
+ src/lib/log/log_sys.c \
src/lib/log/util_bug.c
if WIN32
@@ -21,16 +21,10 @@ src_lib_libtor_log_testing_a_SOURCES = \
src_lib_libtor_log_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
src_lib_libtor_log_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
-# Declare that these object files depend on micro-revision.i. Without this
-# rule, we could try to build them before micro-revision.i was created.
-src/lib/log/git_revision.$(OBJEXT) \
- src/lib/log/src_lib_libtor_log_testing_a-git_revision.$(OBJEXT): \
- micro-revision.i
-
noinst_HEADERS += \
src/lib/log/escape.h \
- src/lib/log/git_revision.h \
src/lib/log/ratelim.h \
src/lib/log/log.h \
+ src/lib/log/log_sys.h \
src/lib/log/util_bug.h \
src/lib/log/win32err.h
diff --git a/src/lib/log/log.c b/src/lib/log/log.c
index d60ce6308a..2c25ddf1aa 100644
--- a/src/lib/log/log.c
+++ b/src/lib/log/log.c
@@ -32,7 +32,8 @@
#define LOG_PRIVATE
#include "lib/log/log.h"
-#include "lib/log/git_revision.h"
+#include "lib/log/log_sys.h"
+#include "lib/version/git_revision.h"
#include "lib/log/ratelim.h"
#include "lib/lock/compat_mutex.h"
#include "lib/smartlist_core/smartlist_core.h"
@@ -1267,7 +1268,7 @@ static const char *domain_list[] = {
"GENERAL", "CRYPTO", "NET", "CONFIG", "FS", "PROTOCOL", "MM",
"HTTP", "APP", "CONTROL", "CIRC", "REND", "BUG", "DIR", "DIRSERV",
"OR", "EDGE", "ACCT", "HIST", "HANDSHAKE", "HEARTBEAT", "CHANNEL",
- "SCHED", "GUARD", "CONSDIFF", "DOS", NULL
+ "SCHED", "GUARD", "CONSDIFF", "DOS", "PROCESS", "PT", NULL
};
/** Return a bitmask for the log domain for which <b>domain</b> is the name,
diff --git a/src/lib/log/log.h b/src/lib/log/log.h
index 493409756f..c8820ee037 100644
--- a/src/lib/log/log.h
+++ b/src/lib/log/log.h
@@ -107,8 +107,12 @@
#define LD_CONSDIFF (1u<<24)
/** Denial of Service mitigation. */
#define LD_DOS (1u<<25)
+/** Processes */
+#define LD_PROCESS (1u<<26)
+/** Pluggable Transports. */
+#define LD_PT (1u<<27)
/** Number of logging domains in the code. */
-#define N_LOGGING_DOMAINS 26
+#define N_LOGGING_DOMAINS 28
/** This log message is not safe to send to a callback-based logger
* immediately. Used as a flag, not a log domain. */
diff --git a/src/lib/log/log_sys.c b/src/lib/log/log_sys.c
new file mode 100644
index 0000000000..e20f3156ca
--- /dev/null
+++ b/src/lib/log/log_sys.c
@@ -0,0 +1,35 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file log_sys.c
+ * \brief Setup and tear down the logging module.
+ **/
+
+#include "orconfig.h"
+#include "lib/subsys/subsys.h"
+#include "lib/log/escape.h"
+#include "lib/log/log.h"
+#include "lib/log/log_sys.h"
+
+static int
+subsys_logging_initialize(void)
+{
+ init_logging(0);
+ return 0;
+}
+
+static void
+subsys_logging_shutdown(void)
+{
+ logs_free_all();
+ escaped(NULL);
+}
+
+const subsys_fns_t sys_logging = {
+ .name = "log",
+ .supported = true,
+ .level = -90,
+ .initialize = subsys_logging_initialize,
+ .shutdown = subsys_logging_shutdown,
+};
diff --git a/src/lib/log/log_sys.h b/src/lib/log/log_sys.h
new file mode 100644
index 0000000000..f7afbb279d
--- /dev/null
+++ b/src/lib/log/log_sys.h
@@ -0,0 +1,14 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file log_sys.h
+ * \brief Declare subsystem object for the logging module.
+ **/
+
+#ifndef TOR_LOG_SYS_H
+#define TOR_LOG_SYS_H
+
+extern const struct subsys_fns_t sys_logging;
+
+#endif /* !defined(TOR_LOG_SYS_H) */
diff --git a/src/lib/malloc/.may_include b/src/lib/malloc/.may_include
index cc62bb1013..7686bf862a 100644
--- a/src/lib/malloc/.may_include
+++ b/src/lib/malloc/.may_include
@@ -3,4 +3,4 @@ orconfig.h
lib/cc/*.h
lib/err/*.h
lib/malloc/*.h
-lib/testsupport/testsupport.h
+lib/testsupport/*.h
diff --git a/src/lib/memarea/.may_include b/src/lib/memarea/.may_include
index 814652a93c..a1edaf2231 100644
--- a/src/lib/memarea/.may_include
+++ b/src/lib/memarea/.may_include
@@ -1,7 +1,7 @@
orconfig.h
lib/arch/*.h
lib/cc/*.h
-lib/container/*.h
lib/log/*.h
lib/malloc/*.h
lib/memarea/*.h
+lib/smartlist_core/*.h \ No newline at end of file
diff --git a/src/lib/memarea/memarea.c b/src/lib/memarea/memarea.c
index dd7c48c079..96d94c89d9 100644
--- a/src/lib/memarea/memarea.c
+++ b/src/lib/memarea/memarea.c
@@ -16,7 +16,8 @@
#include "lib/arch/bytes.h"
#include "lib/cc/torint.h"
-#include "lib/container/smartlist.h"
+#include "lib/smartlist_core/smartlist_core.h"
+#include "lib/smartlist_core/smartlist_foreach.h"
#include "lib/log/log.h"
#include "lib/log/util_bug.h"
#include "lib/malloc/malloc.h"
diff --git a/src/lib/net/.may_include b/src/lib/net/.may_include
index 13b209bbed..e4368f799b 100644
--- a/src/lib/net/.may_include
+++ b/src/lib/net/.may_include
@@ -1,8 +1,9 @@
orconfig.h
-siphash.h
-ht.h
+ext/siphash.h
+ext/ht.h
lib/arch/*.h
+lib/buf/*.h
lib/cc/*.h
lib/container/*.h
lib/ctime/*.h
@@ -11,5 +12,6 @@ lib/lock/*.h
lib/log/*.h
lib/net/*.h
lib/string/*.h
+lib/subsys/*.h
lib/testsupport/*.h
lib/malloc/*.h \ No newline at end of file
diff --git a/src/lib/net/address.c b/src/lib/net/address.c
index 03767e2950..240201d7b6 100644
--- a/src/lib/net/address.c
+++ b/src/lib/net/address.c
@@ -40,6 +40,7 @@
#include "lib/net/address.h"
#include "lib/net/socket.h"
+#include "lib/cc/ctassert.h"
#include "lib/container/smartlist.h"
#include "lib/ctime/di_ops.h"
#include "lib/log/log.h"
@@ -52,7 +53,7 @@
#include "lib/string/printf.h"
#include "lib/string/util_string.h"
-#include "siphash.h"
+#include "ext/siphash.h"
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
@@ -98,6 +99,7 @@
#if AF_UNSPEC != 0
#error We rely on AF_UNSPEC being 0. Let us know about your platform, please!
#endif
+CTASSERT(AF_UNSPEC == 0);
/** Convert the tor_addr_t in <b>a</b>, with port in <b>port</b>, into a
* sockaddr object in *<b>sa_out</b> of object size <b>len</b>. If not enough
@@ -1187,14 +1189,22 @@ tor_addr_parse(tor_addr_t *addr, const char *src)
int result;
struct in_addr in_tmp;
struct in6_addr in6_tmp;
+ int brackets_detected = 0;
+
tor_assert(addr && src);
- if (src[0] == '[' && src[1])
+
+ size_t len = strlen(src);
+
+ if (len && src[0] == '[' && src[len - 1] == ']') {
+ brackets_detected = 1;
src = tmp = tor_strndup(src+1, strlen(src)-2);
+ }
if (tor_inet_pton(AF_INET6, src, &in6_tmp) > 0) {
result = AF_INET6;
tor_addr_from_in6(addr, &in6_tmp);
- } else if (tor_inet_pton(AF_INET, src, &in_tmp) > 0) {
+ } else if (!brackets_detected &&
+ tor_inet_pton(AF_INET, src, &in_tmp) > 0) {
result = AF_INET;
tor_addr_from_in(addr, &in_tmp);
} else {
diff --git a/src/lib/net/buffers_net.c b/src/lib/net/buffers_net.c
index c52ea2784e..576dc56a52 100644
--- a/src/lib/net/buffers_net.c
+++ b/src/lib/net/buffers_net.c
@@ -11,7 +11,7 @@
#define BUFFERS_PRIVATE
#include "lib/net/buffers_net.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "lib/log/log.h"
#include "lib/log/util_bug.h"
#include "lib/net/nettypes.h"
@@ -21,6 +21,7 @@
#endif
#include <stdlib.h>
+#include <unistd.h>
#ifdef PARANOIA
/** Helper: If PARANOIA is defined, assert that the buffer in local variable
@@ -30,27 +31,36 @@
#define check() STMT_NIL
#endif /* defined(PARANOIA) */
-/** Read up to <b>at_most</b> bytes from the socket <b>fd</b> into
+/** Read up to <b>at_most</b> bytes from the file descriptor <b>fd</b> into
* <b>chunk</b> (which must be on <b>buf</b>). If we get an EOF, set
- * *<b>reached_eof</b> to 1. Return -1 on error, 0 on eof or blocking,
- * and the number of bytes read otherwise. */
+ * *<b>reached_eof</b> to 1. Uses <b>tor_socket_recv()</b> iff <b>is_socket</b>
+ * is true, otherwise it uses <b>read()</b>. Return -1 on error (and sets
+ * *<b>error</b> to errno), 0 on eof or blocking, and the number of bytes read
+ * otherwise. */
static inline int
read_to_chunk(buf_t *buf, chunk_t *chunk, tor_socket_t fd, size_t at_most,
- int *reached_eof, int *socket_error)
+ int *reached_eof, int *error, bool is_socket)
{
ssize_t read_result;
if (at_most > CHUNK_REMAINING_CAPACITY(chunk))
at_most = CHUNK_REMAINING_CAPACITY(chunk);
- read_result = tor_socket_recv(fd, CHUNK_WRITE_PTR(chunk), at_most, 0);
+
+ if (is_socket)
+ read_result = tor_socket_recv(fd, CHUNK_WRITE_PTR(chunk), at_most, 0);
+ else
+ read_result = read(fd, CHUNK_WRITE_PTR(chunk), at_most);
if (read_result < 0) {
- int e = tor_socket_errno(fd);
+ int e = is_socket ? tor_socket_errno(fd) : errno;
+
if (!ERRNO_IS_EAGAIN(e)) { /* it's a real error */
#ifdef _WIN32
if (e == WSAENOBUFS)
- log_warn(LD_NET,"recv() failed: WSAENOBUFS. Not enough ram?");
+ log_warn(LD_NET, "%s() failed: WSAENOBUFS. Not enough ram?",
+ is_socket ? "recv" : "read");
#endif
- *socket_error = e;
+ if (error)
+ *error = e;
return -1;
}
return 0; /* would block. */
@@ -68,16 +78,17 @@ read_to_chunk(buf_t *buf, chunk_t *chunk, tor_socket_t fd, size_t at_most,
}
}
-/** Read from socket <b>s</b>, writing onto end of <b>buf</b>. Read at most
- * <b>at_most</b> bytes, growing the buffer as necessary. If recv() returns 0
- * (because of EOF), set *<b>reached_eof</b> to 1 and return 0. Return -1 on
- * error; else return the number of bytes read.
+/** Read from file descriptor <b>fd</b>, writing onto end of <b>buf</b>. Read
+ * at most <b>at_most</b> bytes, growing the buffer as necessary. If recv()
+ * returns 0 (because of EOF), set *<b>reached_eof</b> to 1 and return 0.
+ * Return -1 on error; else return the number of bytes read.
*/
/* XXXX indicate "read blocked" somehow? */
-int
-buf_read_from_socket(buf_t *buf, tor_socket_t s, size_t at_most,
- int *reached_eof,
- int *socket_error)
+static int
+buf_read_from_fd(buf_t *buf, int fd, size_t at_most,
+ int *reached_eof,
+ int *socket_error,
+ bool is_socket)
{
/* XXXX It's stupid to overload the return values for these functions:
* "error status" and "number of bytes read" are not mutually exclusive.
@@ -87,7 +98,7 @@ buf_read_from_socket(buf_t *buf, tor_socket_t s, size_t at_most,
check();
tor_assert(reached_eof);
- tor_assert(SOCKET_OK(s));
+ tor_assert(SOCKET_OK(fd));
if (BUG(buf->datalen >= INT_MAX))
return -1;
@@ -108,7 +119,8 @@ buf_read_from_socket(buf_t *buf, tor_socket_t s, size_t at_most,
readlen = cap;
}
- r = read_to_chunk(buf, chunk, s, readlen, reached_eof, socket_error);
+ r = read_to_chunk(buf, chunk, fd, readlen,
+ reached_eof, socket_error, is_socket);
check();
if (r < 0)
return r; /* Error */
@@ -122,22 +134,27 @@ buf_read_from_socket(buf_t *buf, tor_socket_t s, size_t at_most,
}
/** Helper for buf_flush_to_socket(): try to write <b>sz</b> bytes from chunk
- * <b>chunk</b> of buffer <b>buf</b> onto socket <b>s</b>. On success, deduct
- * the bytes written from *<b>buf_flushlen</b>. Return the number of bytes
- * written on success, 0 on blocking, -1 on failure.
+ * <b>chunk</b> of buffer <b>buf</b> onto file descriptor <b>fd</b>. On
+ * success, deduct the bytes written from *<b>buf_flushlen</b>. Return the
+ * number of bytes written on success, 0 on blocking, -1 on failure.
*/
static inline int
-flush_chunk(tor_socket_t s, buf_t *buf, chunk_t *chunk, size_t sz,
- size_t *buf_flushlen)
+flush_chunk(tor_socket_t fd, buf_t *buf, chunk_t *chunk, size_t sz,
+ size_t *buf_flushlen, bool is_socket)
{
ssize_t write_result;
if (sz > chunk->datalen)
sz = chunk->datalen;
- write_result = tor_socket_send(s, chunk->data, sz, 0);
+
+ if (is_socket)
+ write_result = tor_socket_send(fd, chunk->data, sz, 0);
+ else
+ write_result = write(fd, chunk->data, sz);
if (write_result < 0) {
- int e = tor_socket_errno(s);
+ int e = is_socket ? tor_socket_errno(fd) : errno;
+
if (!ERRNO_IS_EAGAIN(e)) { /* it's a real error */
#ifdef _WIN32
if (e == WSAENOBUFS)
@@ -155,15 +172,15 @@ flush_chunk(tor_socket_t s, buf_t *buf, chunk_t *chunk, size_t sz,
}
}
-/** Write data from <b>buf</b> to the socket <b>s</b>. Write at most
+/** Write data from <b>buf</b> to the file descriptor <b>fd</b>. Write at most
* <b>sz</b> bytes, decrement *<b>buf_flushlen</b> by
* the number of bytes actually written, and remove the written bytes
* from the buffer. Return the number of bytes written on success,
* -1 on failure. Return 0 if write() would block.
*/
-int
-buf_flush_to_socket(buf_t *buf, tor_socket_t s, size_t sz,
- size_t *buf_flushlen)
+static int
+buf_flush_to_fd(buf_t *buf, int fd, size_t sz,
+ size_t *buf_flushlen, bool is_socket)
{
/* XXXX It's stupid to overload the return values for these functions:
* "error status" and "number of bytes flushed" are not mutually exclusive.
@@ -171,7 +188,7 @@ buf_flush_to_socket(buf_t *buf, tor_socket_t s, size_t sz,
int r;
size_t flushed = 0;
tor_assert(buf_flushlen);
- tor_assert(SOCKET_OK(s));
+ tor_assert(SOCKET_OK(fd));
if (BUG(*buf_flushlen > buf->datalen)) {
*buf_flushlen = buf->datalen;
}
@@ -188,7 +205,7 @@ buf_flush_to_socket(buf_t *buf, tor_socket_t s, size_t sz,
else
flushlen0 = buf->head->datalen;
- r = flush_chunk(s, buf, buf->head, flushlen0, buf_flushlen);
+ r = flush_chunk(fd, buf, buf->head, flushlen0, buf_flushlen, is_socket);
check();
if (r < 0)
return r;
@@ -200,3 +217,55 @@ buf_flush_to_socket(buf_t *buf, tor_socket_t s, size_t sz,
tor_assert(flushed < INT_MAX);
return (int)flushed;
}
+
+/** Write data from <b>buf</b> to the socket <b>s</b>. Write at most
+ * <b>sz</b> bytes, decrement *<b>buf_flushlen</b> by
+ * the number of bytes actually written, and remove the written bytes
+ * from the buffer. Return the number of bytes written on success,
+ * -1 on failure. Return 0 if write() would block.
+ */
+int
+buf_flush_to_socket(buf_t *buf, tor_socket_t s, size_t sz,
+ size_t *buf_flushlen)
+{
+ return buf_flush_to_fd(buf, s, sz, buf_flushlen, true);
+}
+
+/** Read from socket <b>s</b>, writing onto end of <b>buf</b>. Read at most
+ * <b>at_most</b> bytes, growing the buffer as necessary. If recv() returns 0
+ * (because of EOF), set *<b>reached_eof</b> to 1 and return 0. Return -1 on
+ * error; else return the number of bytes read.
+ */
+int
+buf_read_from_socket(buf_t *buf, tor_socket_t s, size_t at_most,
+ int *reached_eof,
+ int *socket_error)
+{
+ return buf_read_from_fd(buf, s, at_most, reached_eof, socket_error, true);
+}
+
+/** Write data from <b>buf</b> to the pipe <b>fd</b>. Write at most
+ * <b>sz</b> bytes, decrement *<b>buf_flushlen</b> by
+ * the number of bytes actually written, and remove the written bytes
+ * from the buffer. Return the number of bytes written on success,
+ * -1 on failure. Return 0 if write() would block.
+ */
+int
+buf_flush_to_pipe(buf_t *buf, int fd, size_t sz,
+ size_t *buf_flushlen)
+{
+ return buf_flush_to_fd(buf, fd, sz, buf_flushlen, false);
+}
+
+/** Read from pipe <b>fd</b>, writing onto end of <b>buf</b>. Read at most
+ * <b>at_most</b> bytes, growing the buffer as necessary. If read() returns 0
+ * (because of EOF), set *<b>reached_eof</b> to 1 and return 0. Return -1 on
+ * error; else return the number of bytes read.
+ */
+int
+buf_read_from_pipe(buf_t *buf, int fd, size_t at_most,
+ int *reached_eof,
+ int *socket_error)
+{
+ return buf_read_from_fd(buf, fd, at_most, reached_eof, socket_error, false);
+}
diff --git a/src/lib/net/buffers_net.h b/src/lib/net/buffers_net.h
index 417f6f9413..8911b082a2 100644
--- a/src/lib/net/buffers_net.h
+++ b/src/lib/net/buffers_net.h
@@ -24,4 +24,11 @@ int buf_read_from_socket(struct buf_t *buf, tor_socket_t s, size_t at_most,
int buf_flush_to_socket(struct buf_t *buf, tor_socket_t s, size_t sz,
size_t *buf_flushlen);
+int buf_read_from_pipe(struct buf_t *buf, int fd, size_t at_most,
+ int *reached_eof,
+ int *socket_error);
+
+int buf_flush_to_pipe(struct buf_t *buf, int fd, size_t sz,
+ size_t *buf_flushlen);
+
#endif /* !defined(TOR_BUFFERS_H) */
diff --git a/src/lib/net/inaddr.c b/src/lib/net/inaddr.c
index dcd8fcdd65..0960d323c5 100644
--- a/src/lib/net/inaddr.c
+++ b/src/lib/net/inaddr.c
@@ -168,6 +168,13 @@ tor_inet_pton(int af, const char *src, void *dst)
if (af == AF_INET) {
return tor_inet_aton(src, dst);
} else if (af == AF_INET6) {
+ ssize_t len = strlen(src);
+
+ /* Reject if src has needless trailing ':'. */
+ if (len > 2 && src[len - 1] == ':' && src[len - 2] != ':') {
+ return 0;
+ }
+
struct in6_addr *out = dst;
uint16_t words[8];
int gapPos = -1, i, setWords=0;
@@ -207,7 +214,6 @@ tor_inet_pton(int af, const char *src, void *dst)
return 0;
if (TOR_ISXDIGIT(*src)) {
char *next;
- ssize_t len;
long r = strtol(src, &next, 16);
if (next == NULL || next == src) {
/* The 'next == src' error case can happen on versions of openbsd
diff --git a/src/lib/net/include.am b/src/lib/net/include.am
index ff0967e786..8a88f0f2ae 100644
--- a/src/lib/net/include.am
+++ b/src/lib/net/include.am
@@ -11,6 +11,7 @@ src_lib_libtor_net_a_SOURCES = \
src/lib/net/buffers_net.c \
src/lib/net/gethostname.c \
src/lib/net/inaddr.c \
+ src/lib/net/network_sys.c \
src/lib/net/resolve.c \
src/lib/net/socket.c \
src/lib/net/socketpair.c
@@ -28,6 +29,7 @@ noinst_HEADERS += \
src/lib/net/inaddr.h \
src/lib/net/inaddr_st.h \
src/lib/net/nettypes.h \
+ src/lib/net/network_sys.h \
src/lib/net/resolve.h \
src/lib/net/socket.h \
src/lib/net/socketpair.h \
diff --git a/src/lib/net/network_sys.c b/src/lib/net/network_sys.c
new file mode 100644
index 0000000000..ac49288ee6
--- /dev/null
+++ b/src/lib/net/network_sys.c
@@ -0,0 +1,44 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file network_sys.c
+ * \brief Subsystem object for networking setup.
+ **/
+
+#include "orconfig.h"
+#include "lib/subsys/subsys.h"
+#include "lib/net/network_sys.h"
+#include "lib/net/resolve.h"
+#include "lib/net/socket.h"
+
+#ifdef _WIN32
+#include <winsock2.h>
+#include <windows.h>
+#endif
+
+static int
+subsys_network_initialize(void)
+{
+ if (network_init() < 0)
+ return -1;
+
+ return 0;
+}
+
+static void
+subsys_network_shutdown(void)
+{
+#ifdef _WIN32
+ WSACleanup();
+#endif
+ tor_free_getaddrinfo_cache();
+}
+
+const subsys_fns_t sys_network = {
+ .name = "network",
+ .level = -90,
+ .supported = true,
+ .initialize = subsys_network_initialize,
+ .shutdown = subsys_network_shutdown,
+};
diff --git a/src/lib/net/network_sys.h b/src/lib/net/network_sys.h
new file mode 100644
index 0000000000..62b778bb66
--- /dev/null
+++ b/src/lib/net/network_sys.h
@@ -0,0 +1,14 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file log_network.h
+ * \brief Declare subsystem object for the network module.
+ **/
+
+#ifndef TOR_NETWORK_SYS_H
+#define TOR_NETWORK_SYS_H
+
+extern const struct subsys_fns_t sys_network;
+
+#endif /* !defined(TOR_NETWORK_SYS_H) */
diff --git a/src/lib/net/resolve.c b/src/lib/net/resolve.c
index 7c8df3e307..95c1b171b5 100644
--- a/src/lib/net/resolve.c
+++ b/src/lib/net/resolve.c
@@ -16,8 +16,8 @@
#include "lib/string/parse_int.h"
#include "lib/string/util_string.h"
-#include "siphash.h"
-#include "ht.h"
+#include "ext/siphash.h"
+#include "ext/ht.h"
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
@@ -421,4 +421,13 @@ tor_make_getaddrinfo_cache_active(void)
{
sandbox_getaddrinfo_is_active = 1;
}
+#else
+void
+sandbox_disable_getaddrinfo_cache(void)
+{
+}
+void
+tor_make_getaddrinfo_cache_active(void)
+{
+}
#endif
diff --git a/src/lib/net/resolve.h b/src/lib/net/resolve.h
index bf870c44c4..39157aaa67 100644
--- a/src/lib/net/resolve.h
+++ b/src/lib/net/resolve.h
@@ -42,7 +42,6 @@ int tor_getaddrinfo(const char *name, const char *servname,
struct addrinfo **res);
void tor_freeaddrinfo(struct addrinfo *addrinfo);
void tor_free_getaddrinfo_cache(void);
-void tor_make_getaddrinfo_cache_active(void);
#else /* !(defined(USE_SANDBOX_GETADDRINFO)) */
#define tor_getaddrinfo(name, servname, hints, res) \
getaddrinfo((name),(servname), (hints),(res))
@@ -54,5 +53,6 @@ void tor_make_getaddrinfo_cache_active(void);
#endif /* defined(USE_SANDBOX_GETADDRINFO) */
void sandbox_disable_getaddrinfo_cache(void);
+void tor_make_getaddrinfo_cache_active(void);
#endif
diff --git a/src/lib/net/socket.c b/src/lib/net/socket.c
index cd7c9685cd..8940e00591 100644
--- a/src/lib/net/socket.c
+++ b/src/lib/net/socket.c
@@ -31,6 +31,9 @@
#endif
#include <stddef.h>
#include <string.h>
+#ifdef __FreeBSD__
+#include <sys/sysctl.h>
+#endif
/** Called before we make any calls to network-related functions.
* (Some operating systems require their network libraries to be
@@ -60,6 +63,32 @@ network_init(void)
return 0;
}
+/**
+ * Warn the user if any system network parameters should be changed.
+ */
+void
+check_network_configuration(bool server_mode)
+{
+#ifdef __FreeBSD__
+ if (server_mode) {
+ int random_id_state;
+ size_t state_size = sizeof(random_id_state);
+
+ if (sysctlbyname("net.inet.ip.random_id", &random_id_state,
+ &state_size, NULL, 0)) {
+ log_warn(LD_CONFIG,
+ "Failed to figure out if IP ids are randomized.");
+ } else if (random_id_state == 0) {
+ log_warn(LD_CONFIG, "Looks like IP ids are not randomized. "
+ "Please consider setting the net.inet.ip.random_id sysctl, "
+ "so your relay makes it harder to figure out how busy it is.");
+ }
+ }
+#else
+ (void) server_mode;
+#endif
+}
+
/* When set_max_file_sockets() is called, update this with the max file
* descriptor value so we can use it to check the limit when opening a new
* socket. Default value is what Debian sets as the default hard limit. */
diff --git a/src/lib/net/socket.h b/src/lib/net/socket.h
index 2b87441fc6..822b9975e6 100644
--- a/src/lib/net/socket.h
+++ b/src/lib/net/socket.h
@@ -54,6 +54,7 @@ int tor_addr_from_getsockname(struct tor_addr_t *addr_out, tor_socket_t sock);
int set_socket_nonblocking(tor_socket_t socket);
int tor_socketpair(int family, int type, int protocol, tor_socket_t fd[2]);
int network_init(void);
+void check_network_configuration(bool server_mode);
int get_max_sockets(void);
void set_max_sockets(int);
diff --git a/src/lib/osinfo/uname.c b/src/lib/osinfo/uname.c
index 9d1923695d..7111ae31d2 100644
--- a/src/lib/osinfo/uname.c
+++ b/src/lib/osinfo/uname.c
@@ -46,22 +46,33 @@ get_uname,(void))
#ifdef _WIN32
OSVERSIONINFOEX info;
int i;
+ int is_client = 0;
+ int is_server = 0;
const char *plat = NULL;
static struct {
- unsigned major; unsigned minor; const char *version;
+ unsigned major; unsigned minor;
+ const char *client_version; const char *server_version;
} win_version_table[] = {
- { 6, 2, "Windows 8" },
- { 6, 1, "Windows 7" },
- { 6, 0, "Windows Vista" },
- { 5, 2, "Windows Server 2003" },
- { 5, 1, "Windows XP" },
- { 5, 0, "Windows 2000" },
- /* { 4, 0, "Windows NT 4.0" }, */
- { 4, 90, "Windows Me" },
- { 4, 10, "Windows 98" },
- /* { 4, 0, "Windows 95" } */
- { 3, 51, "Windows NT 3.51" },
- { 0, 0, NULL }
+ /* This table must be sorted in descending order.
+ * Sources:
+ * https://en.wikipedia.org/wiki/List_of_Microsoft_Windows_versions
+ * https://docs.microsoft.com/en-us/windows/desktop/api/winnt/
+ * ns-winnt-_osversioninfoexa#remarks
+ */
+ /* Windows Server 2019 is indistinguishable from Windows Server 2016
+ * using GetVersionEx().
+ { 10, 0, NULL, "Windows Server 2019" }, */
+ { 10, 0, "Windows 10", "Windows Server 2016" },
+ { 6, 3, "Windows 8.1", "Windows Server 2012 R2" },
+ { 6, 2, "Windows 8", "Windows Server 2012" },
+ { 6, 1, "Windows 7", "Windows Server 2008 R2" },
+ { 6, 0, "Windows Vista", "Windows Server 2008" },
+ { 5, 2, "Windows XP Professional", "Windows Server 2003" },
+ /* Windows XP did not have a server version, but we need something here */
+ { 5, 1, "Windows XP", "Windows XP Server" },
+ { 5, 0, "Windows 2000 Professional", "Windows 2000 Server" },
+ /* Earlier versions are not supported by GetVersionEx(). */
+ { 0, 0, NULL, NULL }
};
memset(&info, 0, sizeof(info));
info.dwOSVersionInfoSize = sizeof(info);
@@ -71,25 +82,34 @@ get_uname,(void))
uname_result_is_set = 1;
return uname_result;
}
- if (info.dwMajorVersion == 4 && info.dwMinorVersion == 0) {
- if (info.dwPlatformId == VER_PLATFORM_WIN32_NT)
- plat = "Windows NT 4.0";
- else
- plat = "Windows 95";
+#ifdef VER_NT_SERVER
+ if (info.wProductType == VER_NT_SERVER ||
+ info.wProductType == VER_NT_DOMAIN_CONTROLLER) {
+ is_server = 1;
} else {
- for (i=0; win_version_table[i].major>0; ++i) {
- if (win_version_table[i].major == info.dwMajorVersion &&
- win_version_table[i].minor == info.dwMinorVersion) {
- plat = win_version_table[i].version;
- break;
+ is_client = 1;
+ }
+#endif /* defined(VER_NT_SERVER) */
+ /* Search the version table for a matching version */
+ for (i=0; win_version_table[i].major>0; ++i) {
+ if (win_version_table[i].major == info.dwMajorVersion &&
+ win_version_table[i].minor == info.dwMinorVersion) {
+ if (is_server) {
+ plat = win_version_table[i].server_version;
+ } else {
+ /* Use client versions for clients, and when we don't know if it
+ * is a client or a server. */
+ plat = win_version_table[i].client_version;
}
+ break;
}
}
if (plat) {
strlcpy(uname_result, plat, sizeof(uname_result));
} else {
- if (info.dwMajorVersion > 6 ||
- (info.dwMajorVersion==6 && info.dwMinorVersion>2))
+ if (info.dwMajorVersion > win_version_table[0].major ||
+ (info.dwMajorVersion == win_version_table[0].major &&
+ info.dwMinorVersion > win_version_table[0].minor))
tor_snprintf(uname_result, sizeof(uname_result),
"Very recent version of Windows [major=%d,minor=%d]",
(int)info.dwMajorVersion,(int)info.dwMinorVersion);
@@ -98,12 +118,25 @@ get_uname,(void))
"Unrecognized version of Windows [major=%d,minor=%d]",
(int)info.dwMajorVersion,(int)info.dwMinorVersion);
}
-#ifdef VER_NT_SERVER
- if (info.wProductType == VER_NT_SERVER ||
- info.wProductType == VER_NT_DOMAIN_CONTROLLER) {
- strlcat(uname_result, " [server]", sizeof(uname_result));
- }
-#endif /* defined(VER_NT_SERVER) */
+ /* Now append extra information to the name.
+ *
+ * Microsoft's API documentation says that on Windows 8.1 and later,
+ * GetVersionEx returns Windows 8 (6.2) for applications without an
+ * app compatibility manifest (including tor's default build).
+ *
+ * But in our testing, we have seen the actual Windows version on
+ * Windows Server 2012 R2, even without a manifest. */
+ if (info.dwMajorVersion > 6 ||
+ (info.dwMajorVersion == 6 && info.dwMinorVersion >= 2)) {
+ /* When GetVersionEx() returns Windows 8, the actual OS may be any
+ * later version. */
+ strlcat(uname_result, " [or later]", sizeof(uname_result));
+ }
+ /* When we don't know if the OS is a client or server version, we use
+ * the client version, and this qualifier. */
+ if (!is_server && !is_client) {
+ strlcat(uname_result, " [client or server]", sizeof(uname_result));
+ }
#else /* !(defined(_WIN32)) */
/* LCOV_EXCL_START -- can't provoke uname failure */
strlcpy(uname_result, "Unknown platform", sizeof(uname_result));
diff --git a/src/lib/process/.may_include b/src/lib/process/.may_include
index 05414d2a96..ce1b6ecf59 100644
--- a/src/lib/process/.may_include
+++ b/src/lib/process/.may_include
@@ -1,17 +1,20 @@
orconfig.h
+lib/buf/*.h
lib/cc/*.h
lib/container/*.h
lib/ctime/*.h
lib/err/*.h
-lib/intmath/*.h
+lib/evloop/*.h
lib/fs/*.h
+lib/intmath/*.h
lib/log/*.h
lib/malloc/*.h
lib/net/*.h
lib/process/*.h
lib/string/*.h
+lib/subsys/*.h
lib/testsupport/*.h
lib/thread/*.h
-ht.h \ No newline at end of file
+ext/ht.h
diff --git a/src/lib/process/include.am b/src/lib/process/include.am
index c6cc3a6699..a2d54b6238 100644
--- a/src/lib/process/include.am
+++ b/src/lib/process/include.am
@@ -9,10 +9,13 @@ src_lib_libtor_process_a_SOURCES = \
src/lib/process/daemon.c \
src/lib/process/env.c \
src/lib/process/pidfile.c \
+ src/lib/process/process.c \
+ src/lib/process/process_unix.c \
+ src/lib/process/process_win32.c \
src/lib/process/restrict.c \
src/lib/process/setuid.c \
- src/lib/process/subprocess.c \
- src/lib/process/waitpid.c
+ src/lib/process/waitpid.c \
+ src/lib/process/winprocess_sys.c
src_lib_libtor_process_testing_a_SOURCES = \
$(src_lib_libtor_process_a_SOURCES)
@@ -23,7 +26,10 @@ noinst_HEADERS += \
src/lib/process/daemon.h \
src/lib/process/env.h \
src/lib/process/pidfile.h \
+ src/lib/process/process.h \
+ src/lib/process/process_unix.h \
+ src/lib/process/process_win32.h \
src/lib/process/restrict.h \
src/lib/process/setuid.h \
- src/lib/process/subprocess.h \
- src/lib/process/waitpid.h
+ src/lib/process/waitpid.h \
+ src/lib/process/winprocess_sys.h
diff --git a/src/lib/process/process.c b/src/lib/process/process.c
new file mode 100644
index 0000000000..ae345ceeae
--- /dev/null
+++ b/src/lib/process/process.c
@@ -0,0 +1,797 @@
+/* Copyright (c) 2003, Roger Dingledine
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file process.c
+ * \brief Module for working with other processes.
+ **/
+
+#define PROCESS_PRIVATE
+#include "lib/buf/buffers.h"
+#include "lib/net/buffers_net.h"
+#include "lib/container/smartlist.h"
+#include "lib/log/log.h"
+#include "lib/log/util_bug.h"
+#include "lib/process/process.h"
+#include "lib/process/process_unix.h"
+#include "lib/process/process_win32.h"
+#include "lib/process/env.h"
+
+#ifdef HAVE_STDDEF_H
+#include <stddef.h>
+#endif
+
+/** A list of all <b>process_t</b> instances currently allocated. */
+static smartlist_t *processes;
+
+/**
+ * Boolean. If true, then Tor may call execve or CreateProcess via
+ * tor_spawn_background.
+ **/
+static int may_spawn_background_process = 1;
+
+/** Structure to represent a child process. */
+struct process_t {
+ /** Process status. */
+ process_status_t status;
+
+ /** Which protocol is the process using? */
+ process_protocol_t protocol;
+
+ /** Which function to call when we have data ready from stdout? */
+ process_read_callback_t stdout_read_callback;
+
+ /** Which function to call when we have data ready from stderr? */
+ process_read_callback_t stderr_read_callback;
+
+ /** Which function call when our process terminated? */
+ process_exit_callback_t exit_callback;
+
+ /** Our exit code when the process have terminated. */
+ process_exit_code_t exit_code;
+
+ /** Name of the command we want to execute (for example: /bin/ls). */
+ char *command;
+
+ /** The arguments used for the new process. The format here is one argument
+ * per element of the smartlist_t. On Windows these arguments are combined
+ * together using the <b>tor_join_win_cmdline</b> function. On Unix the
+ * process name (argv[0]) and the trailing NULL is added automatically before
+ * the process is executed. */
+ smartlist_t *arguments;
+
+ /** The environment used for the new process. */
+ smartlist_t *environment;
+
+ /** Buffer to store data from stdout when it is read. */
+ buf_t *stdout_buffer;
+
+ /** Buffer to store data from stderr when it is read. */
+ buf_t *stderr_buffer;
+
+ /** Buffer to store data to stdin before it is written. */
+ buf_t *stdin_buffer;
+
+ /** Do we need to store some custom data with the process? */
+ void *data;
+
+#ifndef _WIN32
+ /** Our Unix process handle. */
+ process_unix_t *unix_process;
+#else
+ /** Our Win32 process handle. */
+ process_win32_t *win32_process;
+#endif
+};
+
+/** Convert a given process status in <b>status</b> to its string
+ * representation. */
+const char *
+process_status_to_string(process_status_t status)
+{
+ switch (status) {
+ case PROCESS_STATUS_NOT_RUNNING:
+ return "not running";
+ case PROCESS_STATUS_RUNNING:
+ return "running";
+ case PROCESS_STATUS_ERROR:
+ return "error";
+ }
+
+ /* LCOV_EXCL_START */
+ tor_assert_unreached();
+ return NULL;
+ /* LCOV_EXCL_STOP */
+}
+
+/** Convert a given process protocol in <b>protocol</b> to its string
+ * representation. */
+const char *
+process_protocol_to_string(process_protocol_t protocol)
+{
+ switch (protocol) {
+ case PROCESS_PROTOCOL_LINE:
+ return "Line";
+ case PROCESS_PROTOCOL_RAW:
+ return "Raw";
+ }
+
+ /* LCOV_EXCL_START */
+ tor_assert_unreached();
+ return NULL;
+ /* LCOV_EXCL_STOP */
+}
+
+/**
+ * Turn off may_spawn_background_process, so that all future calls to
+ * tor_spawn_background are guaranteed to fail.
+ **/
+void
+tor_disable_spawning_background_processes(void)
+{
+ may_spawn_background_process = 0;
+}
+
+/** Initialize the Process subsystem. This function initializes the Process
+ * subsystem's global state. For cleaning up, <b>process_free_all()</b> should
+ * be called. */
+void
+process_init(void)
+{
+ processes = smartlist_new();
+
+#ifdef _WIN32
+ process_win32_init();
+#endif
+}
+
+/** Free up all resources that is handled by the Process subsystem. Note that
+ * this call does not terminate already running processes. */
+void
+process_free_all(void)
+{
+#ifdef _WIN32
+ process_win32_deinit();
+#endif
+
+ SMARTLIST_FOREACH(processes, process_t *, x, process_free(x));
+ smartlist_free(processes);
+}
+
+/** Get a list of all processes. This function returns a smartlist of
+ * <b>process_t</b> containing all the currently allocated processes. */
+const smartlist_t *
+process_get_all_processes(void)
+{
+ return processes;
+}
+
+/** Allocate and initialize a new process. This function returns a newly
+ * allocated and initialized process data, which can be used to configure and
+ * later run a subprocess of Tor. Use the various <b>process_set_*()</b>
+ * methods to configure it and run the process using <b>process_exec()</b>. Use
+ * <b>command</b> to specify the path to the command to run. You can either
+ * specify an absolute path to the command or relative where Tor will use the
+ * underlying operating system's functionality for finding the command to run.
+ * */
+process_t *
+process_new(const char *command)
+{
+ tor_assert(command);
+
+ process_t *process;
+ process = tor_malloc_zero(sizeof(process_t));
+
+ /* Set our command. */
+ process->command = tor_strdup(command);
+
+ /* By default we are not running. */
+ process->status = PROCESS_STATUS_NOT_RUNNING;
+
+ /* Prepare process environment. */
+ process->arguments = smartlist_new();
+ process->environment = smartlist_new();
+
+ /* Prepare the buffers. */
+ process->stdout_buffer = buf_new();
+ process->stderr_buffer = buf_new();
+ process->stdin_buffer = buf_new();
+
+#ifndef _WIN32
+ /* Prepare our Unix process handle. */
+ process->unix_process = process_unix_new();
+#else
+ /* Prepare our Win32 process handle. */
+ process->win32_process = process_win32_new();
+#endif
+
+ smartlist_add(processes, process);
+
+ return process;
+}
+
+/** Deallocate the given process in <b>process</b>. */
+void
+process_free_(process_t *process)
+{
+ if (! process)
+ return;
+
+ /* Cleanup parameters. */
+ tor_free(process->command);
+
+ /* Cleanup arguments and environment. */
+ SMARTLIST_FOREACH(process->arguments, char *, x, tor_free(x));
+ smartlist_free(process->arguments);
+
+ SMARTLIST_FOREACH(process->environment, char *, x, tor_free(x));
+ smartlist_free(process->environment);
+
+ /* Cleanup the buffers. */
+ buf_free(process->stdout_buffer);
+ buf_free(process->stderr_buffer);
+ buf_free(process->stdin_buffer);
+
+#ifndef _WIN32
+ /* Cleanup our Unix process handle. */
+ process_unix_free(process->unix_process);
+#else
+ /* Cleanup our Win32 process handle. */
+ process_win32_free(process->win32_process);
+#endif
+
+ smartlist_remove(processes, process);
+
+ tor_free(process);
+}
+
+/** Execute the given process. This function executes the given process as a
+ * subprocess of Tor. Returns <b>PROCESS_STATUS_RUNNING</b> upon success. */
+process_status_t
+process_exec(process_t *process)
+{
+ tor_assert(process);
+
+ if (BUG(may_spawn_background_process == 0))
+ return PROCESS_STATUS_ERROR;
+
+ process_status_t status = PROCESS_STATUS_NOT_RUNNING;
+
+ log_info(LD_PROCESS, "Starting new process: %s", process->command);
+
+#ifndef _WIN32
+ status = process_unix_exec(process);
+#else
+ status = process_win32_exec(process);
+#endif
+
+ /* Update our state. */
+ process_set_status(process, status);
+
+ if (status != PROCESS_STATUS_RUNNING) {
+ log_warn(LD_PROCESS, "Failed to start process: %s",
+ process_get_command(process));
+ }
+
+ return status;
+}
+
+/** Terminate the given process. Returns true on success,
+ * otherwise false. */
+bool
+process_terminate(process_t *process)
+{
+ tor_assert(process);
+
+ /* Terminating a non-running process isn't going to work. */
+ if (process_get_status(process) != PROCESS_STATUS_RUNNING)
+ return false;
+
+ log_debug(LD_PROCESS, "Terminating process");
+
+#ifndef _WIN32
+ return process_unix_terminate(process);
+#else
+ return process_win32_terminate(process);
+#endif
+}
+
+/** Returns the unique process identifier for the given <b>process</b>. */
+process_pid_t
+process_get_pid(process_t *process)
+{
+ tor_assert(process);
+
+#ifndef _WIN32
+ return process_unix_get_pid(process);
+#else
+ return process_win32_get_pid(process);
+#endif
+}
+
+/** Set the callback function for output from the child process's standard out
+ * handle. This function sets the callback function which is called every time
+ * the child process have written output to its standard out file handle.
+ *
+ * Use <b>process_set_protocol(process, PROCESS_PROTOCOL_LINE)</b> if you want
+ * the callback to only contain complete "\n" or "\r\n" terminated lines. */
+void
+process_set_stdout_read_callback(process_t *process,
+ process_read_callback_t callback)
+{
+ tor_assert(process);
+ process->stdout_read_callback = callback;
+}
+
+/** Set the callback function for output from the child process's standard
+ * error handle. This function sets the callback function which is called
+ * every time the child process have written output to its standard error file
+ * handle.
+ *
+ * Use <b>process_set_protocol(process, PROCESS_PROTOCOL_LINE)</b> if you want
+ * the callback to only contain complete "\n" or "\r\n" terminated lines. */
+void
+process_set_stderr_read_callback(process_t *process,
+ process_read_callback_t callback)
+{
+ tor_assert(process);
+ process->stderr_read_callback = callback;
+}
+
+/** Set the callback function for process exit notification. The
+ * <b>callback</b> function will be called every time your child process have
+ * terminated. */
+void
+process_set_exit_callback(process_t *process,
+ process_exit_callback_t callback)
+{
+ tor_assert(process);
+ process->exit_callback = callback;
+}
+
+/** Get the current command of the given process. */
+const char *
+process_get_command(const process_t *process)
+{
+ tor_assert(process);
+ return process->command;
+}
+
+void
+process_set_protocol(process_t *process, process_protocol_t protocol)
+{
+ tor_assert(process);
+ process->protocol = protocol;
+}
+
+/** Get the currently used protocol of the given process. */
+process_protocol_t
+process_get_protocol(const process_t *process)
+{
+ tor_assert(process);
+ return process->protocol;
+}
+
+/** Set opague pointer to data. This function allows you to store a pointer to
+ * your own data in the given process. Use <b>process_get_data()</b> in the
+ * various callback functions to retrieve the data again.
+ *
+ * Note that the given process does NOT take ownership of the data and you are
+ * responsible for freeing up any resources allocated by the given data.
+ * */
+void
+process_set_data(process_t *process, void *data)
+{
+ tor_assert(process);
+ process->data = data;
+}
+
+/** Get the opaque pointer to callback data from the given process. This
+ * function allows you get the data you stored with <b>process_set_data()</b>
+ * in the different callback functions. */
+void *
+process_get_data(const process_t *process)
+{
+ tor_assert(process);
+ return process->data;
+}
+
+/** Set the status of a given process. */
+void
+process_set_status(process_t *process, process_status_t status)
+{
+ tor_assert(process);
+ process->status = status;
+}
+
+/** Get the status of the given process. */
+process_status_t
+process_get_status(const process_t *process)
+{
+ tor_assert(process);
+ return process->status;
+}
+
+/** Append an argument to the list of arguments in the given process. */
+void
+process_append_argument(process_t *process, const char *argument)
+{
+ tor_assert(process);
+ tor_assert(argument);
+
+ smartlist_add(process->arguments, tor_strdup(argument));
+}
+
+/** Returns a list of arguments (excluding the command itself) from the
+ * given process. */
+const smartlist_t *
+process_get_arguments(const process_t *process)
+{
+ tor_assert(process);
+ return process->arguments;
+}
+
+/** Returns a newly allocated Unix style argument vector. Use <b>tor_free()</b>
+ * to deallocate it after use. */
+char **
+process_get_argv(const process_t *process)
+{
+ tor_assert(process);
+
+ /** Generate a Unix style process argument vector from our process's
+ * arguments smartlist_t. */
+ char **argv = NULL;
+
+ char *filename = process->command;
+ const smartlist_t *arguments = process->arguments;
+ const size_t size = smartlist_len(arguments);
+
+ /* Make space for the process filename as argv[0] and a trailing NULL. */
+ argv = tor_malloc_zero(sizeof(char *) * (size + 2));
+
+ /* Set our filename as first argument. */
+ argv[0] = filename;
+
+ /* Put in the rest of the values from arguments. */
+ SMARTLIST_FOREACH_BEGIN(arguments, char *, arg_val) {
+ tor_assert(arg_val != NULL);
+
+ argv[arg_val_sl_idx + 1] = arg_val;
+ } SMARTLIST_FOREACH_END(arg_val);
+
+ return argv;
+}
+
+/** This function clears the internal environment and copies over every string
+ * from <b>env</b> as the new environment. */
+void
+process_reset_environment(process_t *process, const smartlist_t *env)
+{
+ tor_assert(process);
+ tor_assert(env);
+
+ /* Cleanup old environment. */
+ SMARTLIST_FOREACH(process->environment, char *, x, tor_free(x));
+ smartlist_free(process->environment);
+ process->environment = smartlist_new();
+
+ SMARTLIST_FOREACH(env, char *, x,
+ smartlist_add(process->environment, tor_strdup(x)));
+}
+
+/** Set the given <b>key</b>/<b>value</b> pair as environment variable in the
+ * given process. */
+void
+process_set_environment(process_t *process,
+ const char *key,
+ const char *value)
+{
+ tor_assert(process);
+ tor_assert(key);
+ tor_assert(value);
+
+ smartlist_add_asprintf(process->environment, "%s=%s", key, value);
+}
+
+/** Returns a newly allocated <b>process_environment_t</b> containing the
+ * environment variables for the given process. */
+process_environment_t *
+process_get_environment(const process_t *process)
+{
+ tor_assert(process);
+ return process_environment_make(process->environment);
+}
+
+#ifndef _WIN32
+/** Get the internal handle for the Unix backend. */
+process_unix_t *
+process_get_unix_process(const process_t *process)
+{
+ tor_assert(process);
+ tor_assert(process->unix_process);
+ return process->unix_process;
+}
+#else
+/** Get the internal handle for Windows backend. */
+process_win32_t *
+process_get_win32_process(const process_t *process)
+{
+ tor_assert(process);
+ tor_assert(process->win32_process);
+ return process->win32_process;
+}
+#endif
+
+/** Write <b>size</b> bytes of <b>data</b> to the given process's standard
+ * input. */
+void
+process_write(process_t *process,
+ const uint8_t *data, size_t size)
+{
+ tor_assert(process);
+ tor_assert(data);
+
+ buf_add(process->stdin_buffer, (char *)data, size);
+ process_write_stdin(process, process->stdin_buffer);
+}
+
+/** As tor_vsnprintf(), but write the data to the given process's standard
+ * input. */
+void
+process_vprintf(process_t *process,
+ const char *format, va_list args)
+{
+ tor_assert(process);
+ tor_assert(format);
+
+ int size;
+ char *data;
+
+ size = tor_vasprintf(&data, format, args);
+ process_write(process, (uint8_t *)data, size);
+ tor_free(data);
+}
+
+/** As tor_snprintf(), but write the data to the given process's standard
+ * input. */
+void
+process_printf(process_t *process,
+ const char *format, ...)
+{
+ tor_assert(process);
+ tor_assert(format);
+
+ va_list ap;
+ va_start(ap, format);
+ process_vprintf(process, format, ap);
+ va_end(ap);
+}
+
+/** This function is called by the Process backend when a given process have
+ * data that is ready to be read from the child process's standard output
+ * handle. */
+void
+process_notify_event_stdout(process_t *process)
+{
+ tor_assert(process);
+
+ int ret;
+ ret = process_read_stdout(process, process->stdout_buffer);
+
+ if (ret > 0)
+ process_read_data(process,
+ process->stdout_buffer,
+ process->stdout_read_callback);
+}
+
+/** This function is called by the Process backend when a given process have
+ * data that is ready to be read from the child process's standard error
+ * handle. */
+void
+process_notify_event_stderr(process_t *process)
+{
+ tor_assert(process);
+
+ int ret;
+ ret = process_read_stderr(process, process->stderr_buffer);
+
+ if (ret > 0)
+ process_read_data(process,
+ process->stderr_buffer,
+ process->stderr_read_callback);
+}
+
+/** This function is called by the Process backend when a given process is
+ * allowed to begin writing data to the standard input of the child process. */
+void
+process_notify_event_stdin(process_t *process)
+{
+ tor_assert(process);
+
+ process_write_stdin(process, process->stdin_buffer);
+}
+
+/** This function is called by the Process backend when a given process have
+ * terminated. The exit status code is passed in <b>exit_code</b>. We mark the
+ * process as no longer running and calls the <b>exit_callback</b> with
+ * information about the process termination. The given <b>process</b> is
+ * free'd iff the exit_callback returns true. */
+void
+process_notify_event_exit(process_t *process, process_exit_code_t exit_code)
+{
+ tor_assert(process);
+
+ log_debug(LD_PROCESS,
+ "Process terminated with exit code: %"PRIu64, exit_code);
+
+ /* Update our state. */
+ process_set_status(process, PROCESS_STATUS_NOT_RUNNING);
+ process->exit_code = exit_code;
+
+ /* Call our exit callback, if it exists. */
+ bool free_process_handle = false;
+
+ /* The exit callback will tell us if we should process_free() our handle. */
+ if (process->exit_callback)
+ free_process_handle = process->exit_callback(process, exit_code);
+
+ if (free_process_handle)
+ process_free(process);
+}
+
+/** This function is called whenever the Process backend have notified us that
+ * there is data to be read from its standard out handle. Returns the number of
+ * bytes that have been put into the given buffer. */
+MOCK_IMPL(STATIC int, process_read_stdout, (process_t *process, buf_t *buffer))
+{
+ tor_assert(process);
+ tor_assert(buffer);
+
+#ifndef _WIN32
+ return process_unix_read_stdout(process, buffer);
+#else
+ return process_win32_read_stdout(process, buffer);
+#endif
+}
+
+/** This function is called whenever the Process backend have notified us that
+ * there is data to be read from its standard error handle. Returns the number
+ * of bytes that have been put into the given buffer. */
+MOCK_IMPL(STATIC int, process_read_stderr, (process_t *process, buf_t *buffer))
+{
+ tor_assert(process);
+ tor_assert(buffer);
+
+#ifndef _WIN32
+ return process_unix_read_stderr(process, buffer);
+#else
+ return process_win32_read_stderr(process, buffer);
+#endif
+}
+
+/** This function calls the backend function for the given process whenever
+ * there is data to be written to the backends' file handles. */
+MOCK_IMPL(STATIC void, process_write_stdin,
+ (process_t *process, buf_t *buffer))
+{
+ tor_assert(process);
+ tor_assert(buffer);
+
+#ifndef _WIN32
+ process_unix_write(process, buffer);
+#else
+ process_win32_write(process, buffer);
+#endif
+}
+
+/** This function calls the protocol handlers based on the value of
+ * <b>process_get_protocol(process)</b>. Currently we call
+ * <b>process_read_buffer()</b> for <b>PROCESS_PROTOCOL_RAW</b> and
+ * <b>process_read_lines()</b> for <b>PROCESS_PROTOCOL_LINE</b>. */
+STATIC void
+process_read_data(process_t *process,
+ buf_t *buffer,
+ process_read_callback_t callback)
+{
+ tor_assert(process);
+ tor_assert(buffer);
+
+ switch (process_get_protocol(process)) {
+ case PROCESS_PROTOCOL_RAW:
+ process_read_buffer(process, buffer, callback);
+ break;
+ case PROCESS_PROTOCOL_LINE:
+ process_read_lines(process, buffer, callback);
+ break;
+ default:
+ /* LCOV_EXCL_START */
+ tor_assert_unreached();
+ return;
+ /* LCOV_EXCL_STOP */
+ }
+}
+
+/** This function takes the content of the given <b>buffer</b> and passes it to
+ * the given <b>callback</b> function, but ensures that an additional zero byte
+ * is added to the end of the data such that the given callback implementation
+ * can threat the content as a ASCIIZ string. */
+STATIC void
+process_read_buffer(process_t *process,
+ buf_t *buffer,
+ process_read_callback_t callback)
+{
+ tor_assert(process);
+ tor_assert(buffer);
+
+ const size_t size = buf_datalen(buffer);
+
+ /* We allocate an extra byte for the zero byte in the end. */
+ char *data = tor_malloc_zero(size + 1);
+
+ buf_get_bytes(buffer, data, size);
+ log_debug(LD_PROCESS, "Read data from process");
+
+ if (callback)
+ callback(process, data, size);
+
+ tor_free(data);
+}
+
+/** This function tries to extract complete lines from the given <b>buffer</b>
+ * and calls the given <b>callback</b> function whenever it has a complete
+ * line. Before calling <b>callback</b> we remove the trailing "\n" or "\r\n"
+ * from the line. If we are unable to extract a complete line we leave the data
+ * in the buffer for next call. */
+STATIC void
+process_read_lines(process_t *process,
+ buf_t *buffer,
+ process_read_callback_t callback)
+{
+ tor_assert(process);
+ tor_assert(buffer);
+
+ const size_t size = buf_datalen(buffer) + 1;
+ size_t line_size = 0;
+ char *data = tor_malloc_zero(size);
+ int ret;
+
+ while (true) {
+ line_size = size;
+ ret = buf_get_line(buffer, data, &line_size);
+
+ /* A complete line should always be smaller than the size of our
+ * buffer. */
+ tor_assert(ret != -1);
+
+ /* Remove \n from the end of the line. */
+ if (line_size >= 1 && data[line_size - 1] == '\n') {
+ data[line_size - 1] = '\0';
+ --line_size;
+ }
+
+ /* Remove \r from the end of the line. */
+ if (line_size >= 1 && data[line_size - 1] == '\r') {
+ data[line_size - 1] = '\0';
+ --line_size;
+ }
+
+ if (ret == 1) {
+ log_debug(LD_PROCESS, "Read line from process: \"%s\"", data);
+
+ if (callback)
+ callback(process, data, line_size);
+
+ /* We have read a whole line, let's see if there is more lines to read.
+ * */
+ continue;
+ }
+
+ /* No complete line for us to read. We are done for now. */
+ tor_assert_nonfatal(ret == 0);
+ break;
+ }
+
+ tor_free(data);
+}
diff --git a/src/lib/process/process.h b/src/lib/process/process.h
new file mode 100644
index 0000000000..179db19aeb
--- /dev/null
+++ b/src/lib/process/process.h
@@ -0,0 +1,142 @@
+/* Copyright (c) 2003-2004, Roger Dingledine
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file process.h
+ * \brief Header for process.c
+ **/
+
+#ifndef TOR_PROCESS_H
+#define TOR_PROCESS_H
+
+#include "orconfig.h"
+#include "lib/malloc/malloc.h"
+#include "lib/string/printf.h"
+
+/** Maximum number of bytes to write to a process' stdin. */
+#define PROCESS_MAX_WRITE (1024)
+
+/** Maximum number of bytes to read from a process' stdout/stderr. */
+#define PROCESS_MAX_READ (1024)
+
+typedef enum {
+ /** The process is not running. */
+ PROCESS_STATUS_NOT_RUNNING,
+
+ /** The process is running. */
+ PROCESS_STATUS_RUNNING,
+
+ /** The process is in an erroneous state. */
+ PROCESS_STATUS_ERROR
+} process_status_t;
+
+const char *process_status_to_string(process_status_t status);
+
+typedef enum {
+ /** Pass complete \n-terminated lines to the
+ * callback (with the \n or \r\n removed). */
+ PROCESS_PROTOCOL_LINE,
+
+ /** Pass the raw response from read() to the callback. */
+ PROCESS_PROTOCOL_RAW
+} process_protocol_t;
+
+const char *process_protocol_to_string(process_protocol_t protocol);
+
+void tor_disable_spawning_background_processes(void);
+
+struct process_t;
+typedef struct process_t process_t;
+
+typedef uint64_t process_exit_code_t;
+typedef uint64_t process_pid_t;
+
+typedef void (*process_read_callback_t)(process_t *,
+ const char *,
+ size_t);
+typedef bool
+(*process_exit_callback_t)(process_t *, process_exit_code_t);
+
+void process_init(void);
+void process_free_all(void);
+const smartlist_t *process_get_all_processes(void);
+
+process_t *process_new(const char *command);
+void process_free_(process_t *process);
+#define process_free(s) FREE_AND_NULL(process_t, process_free_, (s))
+
+process_status_t process_exec(process_t *process);
+bool process_terminate(process_t *process);
+
+process_pid_t process_get_pid(process_t *process);
+
+void process_set_stdout_read_callback(process_t *,
+ process_read_callback_t);
+void process_set_stderr_read_callback(process_t *,
+ process_read_callback_t);
+void process_set_exit_callback(process_t *,
+ process_exit_callback_t);
+
+const char *process_get_command(const process_t *process);
+
+void process_append_argument(process_t *process, const char *argument);
+const smartlist_t *process_get_arguments(const process_t *process);
+char **process_get_argv(const process_t *process);
+
+void process_reset_environment(process_t *process, const smartlist_t *env);
+void process_set_environment(process_t *process,
+ const char *key,
+ const char *value);
+
+struct process_environment_t;
+struct process_environment_t *process_get_environment(const process_t *);
+
+void process_set_protocol(process_t *process, process_protocol_t protocol);
+process_protocol_t process_get_protocol(const process_t *process);
+
+void process_set_data(process_t *process, void *data);
+void *process_get_data(const process_t *process);
+
+void process_set_status(process_t *process, process_status_t status);
+process_status_t process_get_status(const process_t *process);
+
+#ifndef _WIN32
+struct process_unix_t;
+struct process_unix_t *process_get_unix_process(const process_t *process);
+#else
+struct process_win32_t;
+struct process_win32_t *process_get_win32_process(const process_t *process);
+#endif
+
+void process_write(process_t *process,
+ const uint8_t *data, size_t size);
+void process_vprintf(process_t *process,
+ const char *format, va_list args) CHECK_PRINTF(2, 0);
+void process_printf(process_t *process,
+ const char *format, ...) CHECK_PRINTF(2, 3);
+
+void process_notify_event_stdout(process_t *process);
+void process_notify_event_stderr(process_t *process);
+void process_notify_event_stdin(process_t *process);
+void process_notify_event_exit(process_t *process,
+ process_exit_code_t);
+
+#ifdef PROCESS_PRIVATE
+MOCK_DECL(STATIC int, process_read_stdout, (process_t *, buf_t *));
+MOCK_DECL(STATIC int, process_read_stderr, (process_t *, buf_t *));
+MOCK_DECL(STATIC void, process_write_stdin, (process_t *, buf_t *));
+
+STATIC void process_read_data(process_t *process,
+ buf_t *buffer,
+ process_read_callback_t callback);
+STATIC void process_read_buffer(process_t *process,
+ buf_t *buffer,
+ process_read_callback_t callback);
+STATIC void process_read_lines(process_t *process,
+ buf_t *buffer,
+ process_read_callback_t callback);
+#endif /* defined(PROCESS_PRIVATE). */
+
+#endif /* defined(TOR_PROCESS_H). */
diff --git a/src/lib/process/process_unix.c b/src/lib/process/process_unix.c
new file mode 100644
index 0000000000..57ca69a768
--- /dev/null
+++ b/src/lib/process/process_unix.c
@@ -0,0 +1,705 @@
+/* Copyright (c) 2003, Roger Dingledine
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file process_unix.c
+ * \brief Module for working with Unix processes.
+ **/
+
+#define PROCESS_UNIX_PRIVATE
+#include "lib/intmath/cmp.h"
+#include "lib/buf/buffers.h"
+#include "lib/net/buffers_net.h"
+#include "lib/container/smartlist.h"
+#include "lib/evloop/compat_libevent.h"
+#include "lib/log/log.h"
+#include "lib/log/util_bug.h"
+#include "lib/process/process.h"
+#include "lib/process/process_unix.h"
+#include "lib/process/waitpid.h"
+#include "lib/process/env.h"
+
+#include <stdio.h>
+
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+
+#ifdef HAVE_ERRNO_H
+#include <errno.h>
+#endif
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#ifdef HAVE_FCNTL_H
+#include <fcntl.h>
+#endif
+
+#if defined(HAVE_SYS_PRCTL_H) && defined(__linux__)
+#include <sys/prctl.h>
+#endif
+
+#if HAVE_SIGNAL_H
+#include <signal.h>
+#endif
+
+#ifndef _WIN32
+
+/** Maximum number of file descriptors, if we cannot get it via sysconf() */
+#define DEFAULT_MAX_FD 256
+
+/** Internal state for Unix handles. */
+struct process_unix_handle_t {
+ /** Unix File Descriptor. */
+ int fd;
+
+ /** Have we reached end of file? */
+ bool reached_eof;
+
+ /** Event structure for libevent. */
+ struct event *event;
+
+ /** Are we writing? */
+ bool is_writing;
+};
+
+/** Internal state for our Unix process. */
+struct process_unix_t {
+ /** Standard in handle. */
+ process_unix_handle_t stdin_handle;
+
+ /** Standard out handle. */
+ process_unix_handle_t stdout_handle;
+
+ /** Standard error handle. */
+ process_unix_handle_t stderr_handle;
+
+ /** The process identifier of our process. */
+ pid_t pid;
+
+ /** Waitpid Callback structure. */
+ waitpid_callback_t *waitpid;
+};
+
+/** Returns a newly allocated <b>process_unix_t</b>. */
+process_unix_t *
+process_unix_new(void)
+{
+ process_unix_t *unix_process;
+ unix_process = tor_malloc_zero(sizeof(process_unix_t));
+
+ unix_process->stdin_handle.fd = -1;
+ unix_process->stderr_handle.fd = -1;
+ unix_process->stdout_handle.fd = -1;
+
+ return unix_process;
+}
+
+/** Deallocates the given <b>unix_process</b>. */
+void
+process_unix_free_(process_unix_t *unix_process)
+{
+ if (! unix_process)
+ return;
+
+ /* Clean up our waitpid callback. */
+ clear_waitpid_callback(unix_process->waitpid);
+
+ /* FIXME(ahf): Refactor waitpid code? */
+ unix_process->waitpid = NULL;
+
+ /* Close all our file descriptors. */
+ process_unix_close_file_descriptors(unix_process);
+
+ tor_event_free(unix_process->stdout_handle.event);
+ tor_event_free(unix_process->stderr_handle.event);
+ tor_event_free(unix_process->stdin_handle.event);
+
+ tor_free(unix_process);
+}
+
+/** Executes the given process as a child process of Tor. This function is
+ * responsible for setting up the child process and run it. This includes
+ * setting up pipes for interprocess communication, initialize the waitpid
+ * callbacks, and finally run fork() followed by execve(). Returns
+ * <b>PROCESS_STATUS_RUNNING</b> upon success. */
+process_status_t
+process_unix_exec(process_t *process)
+{
+ static int max_fd = -1;
+
+ process_unix_t *unix_process;
+ pid_t pid;
+ int stdin_pipe[2];
+ int stdout_pipe[2];
+ int stderr_pipe[2];
+ int retval, fd;
+
+ unix_process = process_get_unix_process(process);
+
+ /* Create standard in pipe. */
+ retval = pipe(stdin_pipe);
+
+ if (-1 == retval) {
+ log_warn(LD_PROCESS,
+ "Unable to create pipe for stdin "
+ "communication with process: %s",
+ strerror(errno));
+
+ return PROCESS_STATUS_ERROR;
+ }
+
+ /* Create standard out pipe. */
+ retval = pipe(stdout_pipe);
+
+ if (-1 == retval) {
+ log_warn(LD_PROCESS,
+ "Unable to create pipe for stdout "
+ "communication with process: %s",
+ strerror(errno));
+
+ /** Cleanup standard in pipe. */
+ close(stdin_pipe[0]);
+ close(stdin_pipe[1]);
+
+ return PROCESS_STATUS_ERROR;
+ }
+
+ /* Create standard error pipe. */
+ retval = pipe(stderr_pipe);
+
+ if (-1 == retval) {
+ log_warn(LD_PROCESS,
+ "Unable to create pipe for stderr "
+ "communication with process: %s",
+ strerror(errno));
+
+ /** Cleanup standard in pipe. */
+ close(stdin_pipe[0]);
+ close(stdin_pipe[1]);
+
+ /** Cleanup standard out pipe. */
+ close(stdin_pipe[0]);
+ close(stdin_pipe[1]);
+
+ return PROCESS_STATUS_ERROR;
+ }
+
+#ifdef _SC_OPEN_MAX
+ if (-1 == max_fd) {
+ max_fd = (int)sysconf(_SC_OPEN_MAX);
+
+ if (max_fd == -1) {
+ max_fd = DEFAULT_MAX_FD;
+ log_warn(LD_PROCESS,
+ "Cannot find maximum file descriptor, assuming: %d", max_fd);
+ }
+ }
+#else /* !(defined(_SC_OPEN_MAX)) */
+ max_fd = DEFAULT_MAX_FD;
+#endif /* defined(_SC_OPEN_MAX) */
+
+ pid = fork();
+
+ if (0 == pid) {
+ /* This code is running in the child process context. */
+
+#if defined(HAVE_SYS_PRCTL_H) && defined(__linux__)
+ /* Attempt to have the kernel issue a SIGTERM if the parent
+ * goes away. Certain attributes of the binary being execve()ed
+ * will clear this during the execve() call, but it's better
+ * than nothing.
+ */
+ prctl(PR_SET_PDEATHSIG, SIGTERM);
+#endif /* defined(HAVE_SYS_PRCTL_H) && defined(__linux__) */
+
+ /* Link process stdout to the write end of the pipe. */
+ retval = dup2(stdout_pipe[1], STDOUT_FILENO);
+ if (-1 == retval)
+ goto error;
+
+ /* Link process stderr to the write end of the pipe. */
+ retval = dup2(stderr_pipe[1], STDERR_FILENO);
+ if (-1 == retval)
+ goto error;
+
+ /* Link process stdin to the read end of the pipe */
+ retval = dup2(stdin_pipe[0], STDIN_FILENO);
+ if (-1 == retval)
+ goto error;
+
+ /* Close our pipes now after they have been dup2()'ed. */
+ close(stderr_pipe[0]);
+ close(stderr_pipe[1]);
+ close(stdout_pipe[0]);
+ close(stdout_pipe[1]);
+ close(stdin_pipe[0]);
+ close(stdin_pipe[1]);
+
+ /* Close all other fds, including the read end of the pipe. XXX: We should
+ * now be doing enough FD_CLOEXEC setting to make this needless.
+ */
+ for (fd = STDERR_FILENO + 1; fd < max_fd; fd++)
+ close(fd);
+
+ /* Create the argv value for our new process. */
+ char **argv = process_get_argv(process);
+
+ /* Create the env value for our new process. */
+ process_environment_t *env = process_get_environment(process);
+
+ /* Call the requested program. */
+ retval = execve(argv[0], argv, env->unixoid_environment_block);
+
+ /* If we made it here it is because execve failed :-( */
+ if (-1 == retval)
+ fprintf(stderr, "Call to execve() failed: %s", strerror(errno));
+
+ tor_free(argv);
+ process_environment_free(env);
+
+ tor_assert_unreached();
+
+ error:
+ /* LCOV_EXCL_START */
+ fprintf(stderr, "Error from child process: %s", strerror(errno));
+ _exit(1);
+ /* LCOV_EXCL_STOP */
+ }
+
+ /* We are in the parent process. */
+ if (-1 == pid) {
+ log_warn(LD_PROCESS,
+ "Failed to create child process: %s", strerror(errno));
+
+ /** Cleanup standard in pipe. */
+ close(stdin_pipe[0]);
+ close(stdin_pipe[1]);
+
+ /** Cleanup standard out pipe. */
+ close(stdin_pipe[0]);
+ close(stdin_pipe[1]);
+
+ /** Cleanup standard error pipe. */
+ close(stderr_pipe[0]);
+ close(stderr_pipe[1]);
+
+ return PROCESS_STATUS_ERROR;
+ }
+
+ /* Register our PID. */
+ unix_process->pid = pid;
+
+ /* Setup waitpid callbacks. */
+ unix_process->waitpid = set_waitpid_callback(pid,
+ process_unix_waitpid_callback,
+ process);
+
+ /* Handle standard out. */
+ unix_process->stdout_handle.fd = stdout_pipe[0];
+ retval = close(stdout_pipe[1]);
+
+ if (-1 == retval) {
+ log_warn(LD_PROCESS, "Failed to close write end of standard out pipe: %s",
+ strerror(errno));
+ }
+
+ /* Handle standard error. */
+ unix_process->stderr_handle.fd = stderr_pipe[0];
+ retval = close(stderr_pipe[1]);
+
+ if (-1 == retval) {
+ log_warn(LD_PROCESS,
+ "Failed to close write end of standard error pipe: %s",
+ strerror(errno));
+ }
+
+ /* Handle standard in. */
+ unix_process->stdin_handle.fd = stdin_pipe[1];
+ retval = close(stdin_pipe[0]);
+
+ if (-1 == retval) {
+ log_warn(LD_PROCESS, "Failed to close read end of standard in pipe: %s",
+ strerror(errno));
+ }
+
+ /* Setup our handles. */
+ process_unix_setup_handle(process,
+ &unix_process->stdout_handle,
+ EV_READ|EV_PERSIST,
+ stdout_read_callback);
+
+ process_unix_setup_handle(process,
+ &unix_process->stderr_handle,
+ EV_READ|EV_PERSIST,
+ stderr_read_callback);
+
+ process_unix_setup_handle(process,
+ &unix_process->stdin_handle,
+ EV_WRITE|EV_PERSIST,
+ stdin_write_callback);
+
+ /* Start reading from standard out and standard error. */
+ process_unix_start_reading(&unix_process->stdout_handle);
+ process_unix_start_reading(&unix_process->stderr_handle);
+
+ return PROCESS_STATUS_RUNNING;
+}
+
+/** Terminate the given process. Returns true on success, otherwise false. */
+bool
+process_unix_terminate(process_t *process)
+{
+ tor_assert(process);
+
+ process_unix_t *unix_process = process_get_unix_process(process);
+
+ /* All running processes should have a waitpid. */
+ if (BUG(unix_process->waitpid == NULL))
+ return false;
+
+ bool success = true;
+
+ /* Send a SIGTERM to our child process. */
+ int ret;
+
+ ret = kill(unix_process->pid, SIGTERM);
+
+ if (ret == -1) {
+ log_warn(LD_PROCESS, "Unable to terminate process: %s",
+ strerror(errno));
+ success = false;
+ }
+
+ /* Close all our FD's. */
+ if (! process_unix_close_file_descriptors(unix_process))
+ success = false;
+
+ return success;
+}
+
+/** Returns the unique process identifier for the given <b>process</b>. */
+process_pid_t
+process_unix_get_pid(process_t *process)
+{
+ tor_assert(process);
+
+ process_unix_t *unix_process = process_get_unix_process(process);
+ return (process_pid_t)unix_process->pid;
+}
+
+/** Write the given <b>buffer</b> as input to the given <b>process</b>'s
+ * standard input. Returns the number of bytes written. */
+int
+process_unix_write(process_t *process, buf_t *buffer)
+{
+ tor_assert(process);
+ tor_assert(buffer);
+
+ process_unix_t *unix_process = process_get_unix_process(process);
+
+ size_t buffer_flush_len = buf_datalen(buffer);
+ const size_t max_to_write = MIN(PROCESS_MAX_WRITE, buffer_flush_len);
+
+ /* If we have data to write (when buffer_flush_len > 0) and we are not
+ * currently getting file descriptor events from the kernel, we tell the
+ * kernel to start notifying us about when we can write to our file
+ * descriptor and return. */
+ if (buffer_flush_len > 0 && ! unix_process->stdin_handle.is_writing) {
+ process_unix_start_writing(&unix_process->stdin_handle);
+ return 0;
+ }
+
+ /* We don't have any data to write, but the kernel is currently notifying us
+ * about whether we are able to write or not. Tell the kernel to stop
+ * notifying us until we have data to write. */
+ if (buffer_flush_len == 0 && unix_process->stdin_handle.is_writing) {
+ process_unix_stop_writing(&unix_process->stdin_handle);
+ return 0;
+ }
+
+ /* We have data to write and the kernel have told us to write it. */
+ return buf_flush_to_pipe(buffer,
+ process_get_unix_process(process)->stdin_handle.fd,
+ max_to_write, &buffer_flush_len);
+}
+
+/** Read data from the given process's standard output and put it into
+ * <b>buffer</b>. Returns the number of bytes read. */
+int
+process_unix_read_stdout(process_t *process, buf_t *buffer)
+{
+ tor_assert(process);
+ tor_assert(buffer);
+
+ process_unix_t *unix_process = process_get_unix_process(process);
+
+ return process_unix_read_handle(process,
+ &unix_process->stdout_handle,
+ buffer);
+}
+
+/** Read data from the given process's standard error and put it into
+ * <b>buffer</b>. Returns the number of bytes read. */
+int
+process_unix_read_stderr(process_t *process, buf_t *buffer)
+{
+ tor_assert(process);
+ tor_assert(buffer);
+
+ process_unix_t *unix_process = process_get_unix_process(process);
+
+ return process_unix_read_handle(process,
+ &unix_process->stderr_handle,
+ buffer);
+}
+
+/** This function is called whenever libevent thinks we have data that could be
+ * read from the child process's standard output. We notify the Process
+ * subsystem, which is then responsible for calling back to us for doing the
+ * actual reading of the data. */
+STATIC void
+stdout_read_callback(evutil_socket_t fd, short event, void *data)
+{
+ (void)fd;
+ (void)event;
+
+ process_t *process = data;
+ tor_assert(process);
+
+ process_notify_event_stdout(process);
+}
+
+/** This function is called whenever libevent thinks we have data that could be
+ * read from the child process's standard error. We notify the Process
+ * subsystem, which is then responsible for calling back to us for doing the
+ * actual reading of the data. */
+STATIC void
+stderr_read_callback(evutil_socket_t fd, short event, void *data)
+{
+ (void)fd;
+ (void)event;
+
+ process_t *process = data;
+ tor_assert(process);
+
+ process_notify_event_stderr(process);
+}
+
+/** This function is called whenever libevent thinks we have data that could be
+ * written the child process's standard input. We notify the Process subsystem,
+ * which is then responsible for calling back to us for doing the actual write
+ * of the data. */
+STATIC void
+stdin_write_callback(evutil_socket_t fd, short event, void *data)
+{
+ (void)fd;
+ (void)event;
+
+ process_t *process = data;
+ tor_assert(process);
+
+ process_notify_event_stdin(process);
+}
+
+/** This function tells libevent that we are interested in receiving read
+ * events from the given <b>handle</b>. */
+STATIC void
+process_unix_start_reading(process_unix_handle_t *handle)
+{
+ tor_assert(handle);
+
+ if (event_add(handle->event, NULL))
+ log_warn(LD_PROCESS,
+ "Unable to add libevent event for handle.");
+}
+
+/** This function tells libevent that we are no longer interested in receiving
+ * read events from the given <b>handle</b>. */
+STATIC void
+process_unix_stop_reading(process_unix_handle_t *handle)
+{
+ tor_assert(handle);
+
+ if (handle->event == NULL)
+ return;
+
+ if (event_del(handle->event))
+ log_warn(LD_PROCESS,
+ "Unable to delete libevent event for handle.");
+}
+
+/** This function tells libevent that we are interested in receiving write
+ * events from the given <b>handle</b>. */
+STATIC void
+process_unix_start_writing(process_unix_handle_t *handle)
+{
+ tor_assert(handle);
+
+ if (event_add(handle->event, NULL))
+ log_warn(LD_PROCESS,
+ "Unable to add libevent event for handle.");
+
+ handle->is_writing = true;
+}
+
+/** This function tells libevent that we are no longer interested in receiving
+ * write events from the given <b>handle</b>. */
+STATIC void
+process_unix_stop_writing(process_unix_handle_t *handle)
+{
+ tor_assert(handle);
+
+ if (handle->event == NULL)
+ return;
+
+ if (event_del(handle->event))
+ log_warn(LD_PROCESS,
+ "Unable to delete libevent event for handle.");
+
+ handle->is_writing = false;
+}
+
+/** This function is called when the waitpid system have detected that our
+ * process have terminated. We disable the waitpid system and notify the
+ * Process subsystem that we have terminated. */
+STATIC void
+process_unix_waitpid_callback(int status, void *data)
+{
+ tor_assert(data);
+
+ process_t *process = data;
+ process_unix_t *unix_process = process_get_unix_process(process);
+
+ /* Remove our waitpid callback. */
+ clear_waitpid_callback(unix_process->waitpid);
+ unix_process->waitpid = NULL;
+
+ /* Notify our process. */
+ process_notify_event_exit(process, status);
+
+ /* Make sure you don't modify the process after we have called
+ * process_notify_event_exit() on it, to allow users to process_free() it in
+ * the exit callback. */
+}
+
+/** This function sets the file descriptor in the <b>handle</b> as non-blocking
+ * and configures the libevent event structure based on the given <b>flags</b>
+ * to ensure that <b>callback</b> is called whenever we have events on the
+ * given <b>handle</b>. */
+STATIC void
+process_unix_setup_handle(process_t *process,
+ process_unix_handle_t *handle,
+ short flags,
+ event_callback_fn callback)
+{
+ tor_assert(process);
+ tor_assert(handle);
+ tor_assert(callback);
+
+ /* Put our file descriptor into non-blocking mode. */
+ if (fcntl(handle->fd, F_SETFL, O_NONBLOCK) < 0) {
+ log_warn(LD_PROCESS, "Unable mark Unix handle as non-blocking: %s",
+ strerror(errno));
+ }
+
+ /* Setup libevent event. */
+ handle->event = tor_event_new(tor_libevent_get_base(),
+ handle->fd,
+ flags,
+ callback,
+ process);
+}
+
+/** This function reads data from the given <b>handle</b> and puts it into
+ * <b>buffer</b>. Returns the number of bytes read this way. */
+STATIC int
+process_unix_read_handle(process_t *process,
+ process_unix_handle_t *handle,
+ buf_t *buffer)
+{
+ tor_assert(process);
+ tor_assert(handle);
+ tor_assert(buffer);
+
+ int ret = 0;
+ int eof = 0;
+ int error = 0;
+
+ ret = buf_read_from_pipe(buffer,
+ handle->fd,
+ PROCESS_MAX_READ,
+ &eof,
+ &error);
+
+ if (error)
+ log_warn(LD_PROCESS,
+ "Unable to read data: %s", strerror(error));
+
+ if (eof) {
+ handle->reached_eof = true;
+ process_unix_stop_reading(handle);
+ }
+
+ return ret;
+}
+
+/** Close the standard in, out, and error handles of the given
+ * <b>unix_process</b>. */
+STATIC bool
+process_unix_close_file_descriptors(process_unix_t *unix_process)
+{
+ tor_assert(unix_process);
+
+ int ret;
+ bool success = true;
+
+ /* Stop reading and writing before we close() our
+ * file descriptors. */
+ if (! unix_process->stdout_handle.reached_eof)
+ process_unix_stop_reading(&unix_process->stdout_handle);
+
+ if (! unix_process->stderr_handle.reached_eof)
+ process_unix_stop_reading(&unix_process->stderr_handle);
+
+ if (unix_process->stdin_handle.is_writing)
+ process_unix_stop_writing(&unix_process->stdin_handle);
+
+ if (unix_process->stdin_handle.fd != -1) {
+ ret = close(unix_process->stdin_handle.fd);
+ if (ret == -1) {
+ log_warn(LD_PROCESS, "Unable to close standard in");
+ success = false;
+ }
+
+ unix_process->stdin_handle.fd = -1;
+ }
+
+ if (unix_process->stdout_handle.fd != -1) {
+ ret = close(unix_process->stdout_handle.fd);
+ if (ret == -1) {
+ log_warn(LD_PROCESS, "Unable to close standard out");
+ success = false;
+ }
+
+ unix_process->stdout_handle.fd = -1;
+ }
+
+ if (unix_process->stderr_handle.fd != -1) {
+ ret = close(unix_process->stderr_handle.fd);
+ if (ret == -1) {
+ log_warn(LD_PROCESS, "Unable to close standard error");
+ success = false;
+ }
+
+ unix_process->stderr_handle.fd = -1;
+ }
+
+ return success;
+}
+
+#endif /* defined(_WIN32). */
diff --git a/src/lib/process/process_unix.h b/src/lib/process/process_unix.h
new file mode 100644
index 0000000000..86c10d7449
--- /dev/null
+++ b/src/lib/process/process_unix.h
@@ -0,0 +1,68 @@
+/* Copyright (c) 2003-2004, Roger Dingledine
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file process_unix.h
+ * \brief Header for process_unix.c
+ **/
+
+#ifndef TOR_PROCESS_UNIX_H
+#define TOR_PROCESS_UNIX_H
+
+#ifndef _WIN32
+
+#include "orconfig.h"
+#include "lib/malloc/malloc.h"
+
+#include <event2/event.h>
+
+struct process_t;
+
+struct process_unix_t;
+typedef struct process_unix_t process_unix_t;
+
+process_unix_t *process_unix_new(void);
+void process_unix_free_(process_unix_t *unix_process);
+#define process_unix_free(s) \
+ FREE_AND_NULL(process_unix_t, process_unix_free_, (s))
+
+process_status_t process_unix_exec(struct process_t *process);
+bool process_unix_terminate(struct process_t *process);
+
+process_pid_t process_unix_get_pid(struct process_t *process);
+
+int process_unix_write(struct process_t *process, buf_t *buffer);
+int process_unix_read_stdout(struct process_t *process, buf_t *buffer);
+int process_unix_read_stderr(struct process_t *process, buf_t *buffer);
+
+#ifdef PROCESS_UNIX_PRIVATE
+struct process_unix_handle_t;
+typedef struct process_unix_handle_t process_unix_handle_t;
+
+STATIC void stdout_read_callback(evutil_socket_t fd, short event, void *data);
+STATIC void stderr_read_callback(evutil_socket_t fd, short event, void *data);
+STATIC void stdin_write_callback(evutil_socket_t fd, short event, void *data);
+
+STATIC void process_unix_start_reading(process_unix_handle_t *);
+STATIC void process_unix_stop_reading(process_unix_handle_t *);
+
+STATIC void process_unix_start_writing(process_unix_handle_t *);
+STATIC void process_unix_stop_writing(process_unix_handle_t *);
+
+STATIC void process_unix_waitpid_callback(int status, void *data);
+
+STATIC void process_unix_setup_handle(process_t *process,
+ process_unix_handle_t *handle,
+ short flags,
+ event_callback_fn callback);
+STATIC int process_unix_read_handle(process_t *,
+ process_unix_handle_t *,
+ buf_t *);
+STATIC bool process_unix_close_file_descriptors(process_unix_t *);
+#endif /* defined(PROCESS_UNIX_PRIVATE). */
+
+#endif /* defined(_WIN32). */
+
+#endif /* defined(TOR_PROCESS_UNIX_H). */
diff --git a/src/lib/process/process_win32.c b/src/lib/process/process_win32.c
new file mode 100644
index 0000000000..c92b0975a7
--- /dev/null
+++ b/src/lib/process/process_win32.c
@@ -0,0 +1,1026 @@
+/* Copyright (c) 2003, Roger Dingledine
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file process_win32.c
+ * \brief Module for working with Windows processes.
+ **/
+
+#define PROCESS_WIN32_PRIVATE
+#include "lib/intmath/cmp.h"
+#include "lib/buf/buffers.h"
+#include "lib/net/buffers_net.h"
+#include "lib/container/smartlist.h"
+#include "lib/log/log.h"
+#include "lib/log/util_bug.h"
+#include "lib/log/win32err.h"
+#include "lib/process/process.h"
+#include "lib/process/process_win32.h"
+#include "lib/process/env.h"
+
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+
+#ifdef _WIN32
+
+/** The size of our intermediate buffers. */
+#define BUFFER_SIZE (1024)
+
+/** Timer that ticks once a second and calls the process_win32_timer_callback()
+ * function. */
+static periodic_timer_t *periodic_timer;
+
+/** Structure to represent the state around the pipe HANDLE.
+ *
+ * This structure is used to store state about a given HANDLE, including
+ * whether we have reached end of file, its intermediate buffers, and how much
+ * data that is available in the intermediate buffer. */
+struct process_win32_handle_t {
+ /** Standard out pipe handle. */
+ HANDLE pipe;
+
+ /** True iff we have reached EOF from the pipe. */
+ bool reached_eof;
+
+ /** How much data is available in buffer. */
+ size_t data_available;
+
+ /** Intermediate buffer for ReadFileEx() and WriteFileEx(). */
+ char buffer[BUFFER_SIZE];
+
+ /** Overlapped structure for ReadFileEx() and WriteFileEx(). */
+ OVERLAPPED overlapped;
+
+ /** Are we waiting for another I/O operation to complete? */
+ bool busy;
+};
+
+/** Structure to represent the Windows specific implementation details of this
+ * Process backend.
+ *
+ * This structure is attached to <b>process_t</b> (see process.h) and is
+ * reachable from <b>process_t</b> via the <b>process_get_win32_process()</b>
+ * method. */
+struct process_win32_t {
+ /** Standard in state. */
+ process_win32_handle_t stdin_handle;
+
+ /** Standard out state. */
+ process_win32_handle_t stdout_handle;
+
+ /** Standard error state. */
+ process_win32_handle_t stderr_handle;
+
+ /** Process Information. */
+ PROCESS_INFORMATION process_information;
+};
+
+/** Create a new <b>process_win32_t</b>.
+ *
+ * This function constructs a new <b>process_win32_t</b> and initializes the
+ * default values. */
+process_win32_t *
+process_win32_new(void)
+{
+ process_win32_t *win32_process;
+ win32_process = tor_malloc_zero(sizeof(process_win32_t));
+
+ win32_process->stdin_handle.pipe = INVALID_HANDLE_VALUE;
+ win32_process->stdout_handle.pipe = INVALID_HANDLE_VALUE;
+ win32_process->stderr_handle.pipe = INVALID_HANDLE_VALUE;
+
+ return win32_process;
+}
+
+/** Free a given <b>process_win32_t</b>.
+ *
+ * This function deinitializes and frees up the resources allocated for the
+ * given <b>process_win32_t</b>. */
+void
+process_win32_free_(process_win32_t *win32_process)
+{
+ if (! win32_process)
+ return;
+
+ /* Cleanup our handles. */
+ process_win32_cleanup_handle(&win32_process->stdin_handle);
+ process_win32_cleanup_handle(&win32_process->stdout_handle);
+ process_win32_cleanup_handle(&win32_process->stderr_handle);
+
+ tor_free(win32_process);
+}
+
+/** Initialize the Windows backend of the Process subsystem. */
+void
+process_win32_init(void)
+{
+ /* We don't start the periodic timer here because it makes no sense to have
+ * the timer running until we have some processes that benefits from the
+ * timer timer ticks. */
+}
+
+/** Deinitialize the Windows backend of the Process subsystem. */
+void
+process_win32_deinit(void)
+{
+ /* Stop our timer, but only if it's running. */
+ if (process_win32_timer_running())
+ process_win32_timer_stop();
+}
+
+/** Execute the given process. This function is responsible for setting up
+ * named pipes for I/O between the child process and the Tor process. Returns
+ * <b>PROCESS_STATUS_RUNNING</b> upon success. */
+process_status_t
+process_win32_exec(process_t *process)
+{
+ tor_assert(process);
+
+ process_win32_t *win32_process = process_get_win32_process(process);
+
+ HANDLE stdout_pipe_read = NULL;
+ HANDLE stdout_pipe_write = NULL;
+ HANDLE stderr_pipe_read = NULL;
+ HANDLE stderr_pipe_write = NULL;
+ HANDLE stdin_pipe_read = NULL;
+ HANDLE stdin_pipe_write = NULL;
+ BOOL ret = FALSE;
+ const char *filename = process_get_command(process);
+
+ /* Not much we can do if we haven't been told what to start. */
+ if (BUG(filename == NULL))
+ return PROCESS_STATUS_ERROR;
+
+ /* Setup our security attributes. */
+ SECURITY_ATTRIBUTES security_attributes;
+ security_attributes.nLength = sizeof(security_attributes);
+ security_attributes.bInheritHandle = TRUE;
+ /* FIXME: should we set explicit security attributes?
+ * (See Ticket #2046, comment 5) */
+ security_attributes.lpSecurityDescriptor = NULL;
+
+ /* Create our standard out pipe. */
+ if (! process_win32_create_pipe(&stdout_pipe_read,
+ &stdout_pipe_write,
+ &security_attributes,
+ PROCESS_WIN32_PIPE_TYPE_READER)) {
+ return PROCESS_STATUS_ERROR;
+ }
+
+ /* Create our standard error pipe. */
+ if (! process_win32_create_pipe(&stderr_pipe_read,
+ &stderr_pipe_write,
+ &security_attributes,
+ PROCESS_WIN32_PIPE_TYPE_READER)) {
+ return PROCESS_STATUS_ERROR;
+ }
+
+ /* Create out standard in pipe. */
+ if (! process_win32_create_pipe(&stdin_pipe_read,
+ &stdin_pipe_write,
+ &security_attributes,
+ PROCESS_WIN32_PIPE_TYPE_WRITER)) {
+ return PROCESS_STATUS_ERROR;
+ }
+
+ /* Configure startup info for our child process. */
+ STARTUPINFOA startup_info;
+
+ memset(&startup_info, 0, sizeof(startup_info));
+ startup_info.cb = sizeof(startup_info);
+ startup_info.hStdError = stderr_pipe_write;
+ startup_info.hStdOutput = stdout_pipe_write;
+ startup_info.hStdInput = stdin_pipe_read;
+ startup_info.dwFlags |= STARTF_USESTDHANDLES;
+
+ /* Create the env value for our new process. */
+ process_environment_t *env = process_get_environment(process);
+
+ /* Create the argv value for our new process. */
+ char **argv = process_get_argv(process);
+
+ /* Windows expects argv to be a whitespace delimited string, so join argv up
+ */
+ char *joined_argv = tor_join_win_cmdline((const char **)argv);
+
+ /* Create the child process */
+ ret = CreateProcessA(filename,
+ joined_argv,
+ NULL,
+ NULL,
+ TRUE,
+ CREATE_NO_WINDOW,
+ env->windows_environment_block[0] == '\0' ?
+ NULL : env->windows_environment_block,
+ NULL,
+ &startup_info,
+ &win32_process->process_information);
+
+ tor_free(argv);
+ tor_free(joined_argv);
+ process_environment_free(env);
+
+ if (! ret) {
+ log_warn(LD_PROCESS, "CreateProcessA() failed: %s",
+ format_win32_error(GetLastError()));
+
+ /* Cleanup our handles. */
+ CloseHandle(stdout_pipe_read);
+ CloseHandle(stdout_pipe_write);
+ CloseHandle(stderr_pipe_read);
+ CloseHandle(stderr_pipe_write);
+ CloseHandle(stdin_pipe_read);
+ CloseHandle(stdin_pipe_write);
+
+ return PROCESS_STATUS_ERROR;
+ }
+
+ /* TODO: Should we close hProcess and hThread in
+ * process_handle->process_information? */
+ win32_process->stdout_handle.pipe = stdout_pipe_read;
+ win32_process->stderr_handle.pipe = stderr_pipe_read;
+ win32_process->stdin_handle.pipe = stdin_pipe_write;
+
+ /* Used by the callback functions from ReadFileEx() and WriteFileEx() such
+ * that we can figure out which process_t that was responsible for the event.
+ *
+ * Warning, here be dragons:
+ *
+ * MSDN says that the hEvent member of the overlapped structure is unused
+ * for ReadFileEx() and WriteFileEx, which allows us to store a pointer to
+ * our process state there.
+ */
+ win32_process->stdout_handle.overlapped.hEvent = (HANDLE)process;
+ win32_process->stderr_handle.overlapped.hEvent = (HANDLE)process;
+ win32_process->stdin_handle.overlapped.hEvent = (HANDLE)process;
+
+ /* Start our timer if it is not already running. */
+ if (! process_win32_timer_running())
+ process_win32_timer_start();
+
+ /* We use Windows Extended I/O functions, so our completion callbacks are
+ * called automatically for us when there is data to read. Because of this
+ * we start the read of standard out and error right away. */
+ process_notify_event_stdout(process);
+ process_notify_event_stderr(process);
+
+ return PROCESS_STATUS_RUNNING;
+}
+
+/** Terminate the given process. Returns true on success, otherwise false. */
+bool
+process_win32_terminate(process_t *process)
+{
+ tor_assert(process);
+
+ process_win32_t *win32_process = process_get_win32_process(process);
+
+ /* Terminate our process. */
+ BOOL ret;
+
+ ret = TerminateProcess(win32_process->process_information.hProcess, 0);
+
+ if (! ret) {
+ log_warn(LD_PROCESS, "TerminateProcess() failed: %s",
+ format_win32_error(GetLastError()));
+ return false;
+ }
+
+ /* Cleanup our handles. */
+ process_win32_cleanup_handle(&win32_process->stdin_handle);
+ process_win32_cleanup_handle(&win32_process->stdout_handle);
+ process_win32_cleanup_handle(&win32_process->stderr_handle);
+
+ return true;
+}
+
+/** Returns the unique process identifier for the given <b>process</b>. */
+process_pid_t
+process_win32_get_pid(process_t *process)
+{
+ tor_assert(process);
+
+ process_win32_t *win32_process = process_get_win32_process(process);
+ return (process_pid_t)win32_process->process_information.dwProcessId;
+}
+
+/** Schedule an async write of the data found in <b>buffer</b> for the given
+ * process. This function runs an async write operation of the content of
+ * buffer, if we are not already waiting for a pending I/O request. Returns the
+ * number of bytes that Windows will hopefully write for us in the background.
+ * */
+int
+process_win32_write(struct process_t *process, buf_t *buffer)
+{
+ tor_assert(process);
+ tor_assert(buffer);
+
+ process_win32_t *win32_process = process_get_win32_process(process);
+ BOOL ret = FALSE;
+ const size_t buffer_size = buf_datalen(buffer);
+
+ /* Windows is still writing our buffer. */
+ if (win32_process->stdin_handle.busy)
+ return 0;
+
+ /* Nothing for us to do right now. */
+ if (buffer_size == 0)
+ return 0;
+
+ /* We have reached end of file already? */
+ if (BUG(win32_process->stdin_handle.reached_eof))
+ return 0;
+
+ /* Figure out how much data we should read. */
+ const size_t write_size = MIN(buffer_size,
+ sizeof(win32_process->stdin_handle.buffer));
+
+ /* Read data from the process_t buffer into our intermediate buffer. */
+ buf_get_bytes(buffer, win32_process->stdin_handle.buffer, write_size);
+
+ /* Schedule our write. */
+ ret = WriteFileEx(win32_process->stdin_handle.pipe,
+ win32_process->stdin_handle.buffer,
+ write_size,
+ &win32_process->stdin_handle.overlapped,
+ process_win32_stdin_write_done);
+
+ if (! ret) {
+ log_warn(LD_PROCESS, "WriteFileEx() failed: %s",
+ format_win32_error(GetLastError()));
+ return 0;
+ }
+
+ /* This cast should be safe since our buffer can maximum be BUFFER_SIZE
+ * large. */
+ return (int)write_size;
+}
+
+/** This function is called from the Process subsystem whenever the Windows
+ * backend says it has data ready. This function also ensures that we are
+ * starting a new background read from the standard output of the child process
+ * and asks Windows to call process_win32_stdout_read_done() when that
+ * operation is finished. Returns the number of bytes moved into <b>buffer</b>.
+ * */
+int
+process_win32_read_stdout(struct process_t *process, buf_t *buffer)
+{
+ tor_assert(process);
+ tor_assert(buffer);
+
+ process_win32_t *win32_process = process_get_win32_process(process);
+
+ return process_win32_read_from_handle(&win32_process->stdout_handle,
+ buffer,
+ process_win32_stdout_read_done);
+}
+
+/** This function is called from the Process subsystem whenever the Windows
+ * backend says it has data ready. This function also ensures that we are
+ * starting a new background read from the standard error of the child process
+ * and asks Windows to call process_win32_stderr_read_done() when that
+ * operation is finished. Returns the number of bytes moved into <b>buffer</b>.
+ * */
+int
+process_win32_read_stderr(struct process_t *process, buf_t *buffer)
+{
+ tor_assert(process);
+ tor_assert(buffer);
+
+ process_win32_t *win32_process = process_get_win32_process(process);
+
+ return process_win32_read_from_handle(&win32_process->stderr_handle,
+ buffer,
+ process_win32_stderr_read_done);
+}
+
+/** This function is responsible for moving the Tor process into what Microsoft
+ * calls an "alertable" state. Once the process is in an alertable state the
+ * Windows kernel will notify us when our background I/O requests have finished
+ * and the callbacks will be executed. */
+void
+process_win32_trigger_completion_callbacks(void)
+{
+ DWORD ret;
+
+ /* The call to SleepEx(dwMilliseconds, dwAlertable) makes the process sleep
+ * for dwMilliseconds and if dwAlertable is set to TRUE it will also cause
+ * the process to enter alertable state, where the Windows kernel will notify
+ * us about completed I/O requests from ReadFileEx() and WriteFileEX(), which
+ * will cause our completion callbacks to be executed.
+ *
+ * This function returns 0 if the time interval expired or WAIT_IO_COMPLETION
+ * if one or more I/O callbacks were executed. */
+ ret = SleepEx(0, TRUE);
+
+ /* Warn us if the function returned something we did not anticipate. */
+ if (ret != 0 && ret != WAIT_IO_COMPLETION) {
+ log_warn(LD_PROCESS, "SleepEx() returned %lu", ret);
+ }
+}
+
+/** Start the periodic timer which is reponsible for checking whether processes
+ * are still alive and to make sure that the Tor process is periodically being
+ * moved into an alertable state. */
+void
+process_win32_timer_start(void)
+{
+ /* Make sure we never start our timer if it's already running. */
+ if (BUG(process_win32_timer_running()))
+ return;
+
+ /* Wake up once a second. */
+ static const struct timeval interval = {1, 0};
+
+ log_info(LD_PROCESS, "Starting Windows Process I/O timer");
+ periodic_timer = periodic_timer_new(tor_libevent_get_base(),
+ &interval,
+ process_win32_timer_callback,
+ NULL);
+}
+
+/** Stops the periodic timer. */
+void
+process_win32_timer_stop(void)
+{
+ if (BUG(periodic_timer == NULL))
+ return;
+
+ log_info(LD_PROCESS, "Stopping Windows Process I/O timer");
+ periodic_timer_free(periodic_timer);
+}
+
+/** Returns true iff the periodic timer is running. */
+bool
+process_win32_timer_running(void)
+{
+ return periodic_timer != NULL;
+}
+
+/** This function is called whenever the periodic_timer ticks. The function is
+ * responsible for moving the Tor process into an alertable state once a second
+ * and checking for whether our child processes have terminated since the last
+ * tick. */
+STATIC void
+process_win32_timer_callback(periodic_timer_t *timer, void *data)
+{
+ tor_assert(timer == periodic_timer);
+ tor_assert(data == NULL);
+
+ /* Move the process into an alertable state. */
+ process_win32_trigger_completion_callbacks();
+
+ /* Check if our processes are still alive. */
+
+ /* Since the call to process_win32_timer_test_process() might call
+ * process_notify_event_exit() which again might call process_free() which
+ * updates the list of processes returned by process_get_all_processes() it
+ * is important here that we make sure to not touch the list of processes if
+ * the call to process_win32_timer_test_process() returns true. */
+ bool done;
+
+ do {
+ const smartlist_t *processes = process_get_all_processes();
+ done = true;
+
+ SMARTLIST_FOREACH_BEGIN(processes, process_t *, process) {
+ /* If process_win32_timer_test_process() returns true, it means that
+ * smartlist_remove() might have been called on the list returned by
+ * process_get_all_processes(). We start the loop over again until we
+ * have a succesful run over the entire list where the list was not
+ * modified. */
+ if (process_win32_timer_test_process(process)) {
+ done = false;
+ break;
+ }
+ } SMARTLIST_FOREACH_END(process);
+ } while (! done);
+}
+
+/** Test whether a given process is still alive. Notify the Process subsystem
+ * if our process have died. Returns true iff the given process have
+ * terminated. */
+STATIC bool
+process_win32_timer_test_process(process_t *process)
+{
+ tor_assert(process);
+
+ /* No need to look at processes that don't claim they are running. */
+ if (process_get_status(process) != PROCESS_STATUS_RUNNING)
+ return false;
+
+ process_win32_t *win32_process = process_get_win32_process(process);
+ BOOL ret = FALSE;
+ DWORD exit_code = 0;
+
+ /* We start by testing whether our process is still running. */
+ ret = GetExitCodeProcess(win32_process->process_information.hProcess,
+ &exit_code);
+
+ if (! ret) {
+ log_warn(LD_PROCESS, "GetExitCodeProcess() failed: %s",
+ format_win32_error(GetLastError()));
+ return false;
+ }
+
+ /* Notify our process_t that our process have terminated. Since our
+ * exit_callback might decide to process_free() our process handle it is very
+ * important that we do not touch the process_t after the call to
+ * process_notify_event_exit(). */
+ if (exit_code != STILL_ACTIVE) {
+ process_notify_event_exit(process, exit_code);
+ return true;
+ }
+
+ return false;
+}
+
+/** Create a new overlapped named pipe. This function creates a new connected,
+ * named, pipe in <b>*read_pipe</b> and <b>*write_pipe</b> if the function is
+ * succesful. Returns true on sucess, false on failure. */
+STATIC bool
+process_win32_create_pipe(HANDLE *read_pipe,
+ HANDLE *write_pipe,
+ SECURITY_ATTRIBUTES *attributes,
+ process_win32_pipe_type_t pipe_type)
+{
+ tor_assert(read_pipe);
+ tor_assert(write_pipe);
+ tor_assert(attributes);
+
+ BOOL ret = FALSE;
+
+ /* Buffer size. */
+ const size_t size = 4096;
+
+ /* Our additional read/write modes that depends on which pipe type we are
+ * creating. */
+ DWORD read_mode = 0;
+ DWORD write_mode = 0;
+
+ /* Generate the unique pipe name. */
+ char pipe_name[MAX_PATH];
+ static DWORD process_id = 0;
+ static DWORD counter = 0;
+
+ if (process_id == 0)
+ process_id = GetCurrentProcessId();
+
+ tor_snprintf(pipe_name, sizeof(pipe_name),
+ "\\\\.\\Pipe\\Tor-Process-Pipe-%lu-%lu",
+ process_id, counter++);
+
+ /* Only one of our handles can be overlapped. */
+ switch (pipe_type) {
+ case PROCESS_WIN32_PIPE_TYPE_READER:
+ read_mode = FILE_FLAG_OVERLAPPED;
+ break;
+ case PROCESS_WIN32_PIPE_TYPE_WRITER:
+ write_mode = FILE_FLAG_OVERLAPPED;
+ break;
+ default:
+ /* LCOV_EXCL_START */
+ tor_assert_nonfatal_unreached_once();
+ /* LCOV_EXCL_STOP */
+ }
+
+ /* Setup our read and write handles. */
+ HANDLE read_handle;
+ HANDLE write_handle;
+
+ /* Create our named pipe. */
+ read_handle = CreateNamedPipeA(pipe_name,
+ (PIPE_ACCESS_INBOUND|read_mode),
+ (PIPE_TYPE_BYTE|PIPE_WAIT),
+ 1,
+ size,
+ size,
+ 1000,
+ attributes);
+
+ if (read_handle == INVALID_HANDLE_VALUE) {
+ log_warn(LD_PROCESS, "CreateNamedPipeA() failed: %s",
+ format_win32_error(GetLastError()));
+ return false;
+ }
+
+ /* Create our file in the pipe namespace. */
+ write_handle = CreateFileA(pipe_name,
+ GENERIC_WRITE,
+ 0,
+ attributes,
+ OPEN_EXISTING,
+ (FILE_ATTRIBUTE_NORMAL|write_mode),
+ NULL);
+
+ if (write_handle == INVALID_HANDLE_VALUE) {
+ log_warn(LD_PROCESS, "CreateFileA() failed: %s",
+ format_win32_error(GetLastError()));
+
+ CloseHandle(read_handle);
+
+ return false;
+ }
+
+ /* Set the inherit flag for our pipe. */
+ switch (pipe_type) {
+ case PROCESS_WIN32_PIPE_TYPE_READER:
+ ret = SetHandleInformation(read_handle, HANDLE_FLAG_INHERIT, 0);
+ break;
+ case PROCESS_WIN32_PIPE_TYPE_WRITER:
+ ret = SetHandleInformation(write_handle, HANDLE_FLAG_INHERIT, 0);
+ break;
+ default:
+ /* LCOV_EXCL_START */
+ tor_assert_nonfatal_unreached_once();
+ /* LCOV_EXCL_STOP */
+ }
+
+ if (! ret) {
+ log_warn(LD_PROCESS, "SetHandleInformation() failed: %s",
+ format_win32_error(GetLastError()));
+
+ CloseHandle(read_handle);
+ CloseHandle(write_handle);
+
+ return false;
+ }
+
+ /* Everything is good. */
+ *read_pipe = read_handle;
+ *write_pipe = write_handle;
+
+ return true;
+}
+
+/** Cleanup a given <b>handle</b>. */
+STATIC void
+process_win32_cleanup_handle(process_win32_handle_t *handle)
+{
+ tor_assert(handle);
+
+#if 0
+ /* FIXME(ahf): My compiler does not set _WIN32_WINNT to a high enough value
+ * for this code to be available. Should we force it? CancelIoEx() is
+ * available from Windows 7 and above. If we decide to require this, we need
+ * to update the checks in all the three I/O completion callbacks to handle
+ * the ERROR_OPERATION_ABORTED as well as ERROR_BROKEN_PIPE. */
+
+#if _WIN32_WINNT >= 0x0600
+ /* This code is only supported from Windows 7 and onwards. */
+ BOOL ret;
+ DWORD error_code;
+
+ /* Cancel any pending I/O requests. */
+ ret = CancelIoEx(handle->pipe, &handle->overlapped);
+
+ if (! ret) {
+ error_code = GetLastError();
+
+ /* There was no pending I/O requests for our handle. */
+ if (error_code != ERROR_NOT_FOUND) {
+ log_warn(LD_PROCESS, "CancelIoEx() failed: %s",
+ format_win32_error(error_code));
+ }
+ }
+#endif
+#endif
+
+ /* Close our handle. */
+ if (handle->pipe != INVALID_HANDLE_VALUE) {
+ CloseHandle(handle->pipe);
+ handle->pipe = INVALID_HANDLE_VALUE;
+ }
+}
+
+/** This function is called when ReadFileEx() completes its background read
+ * from the child process's standard output. We notify the Process subsystem if
+ * there is data available for it to read from us. */
+STATIC VOID WINAPI
+process_win32_stdout_read_done(DWORD error_code,
+ DWORD byte_count,
+ LPOVERLAPPED overlapped)
+{
+ tor_assert(overlapped);
+ tor_assert(overlapped->hEvent);
+
+ /* This happens when we have asked ReadFileEx() to read some data, but we
+ * then decided to call CloseHandle() on the HANDLE. This can happen if
+ * someone runs process_free() in the exit_callback of process_t, which means
+ * we cannot call process_get_win32_process() here. */
+ if (error_code == ERROR_BROKEN_PIPE) {
+ log_debug(LD_PROCESS, "Process reported broken pipe on standard out");
+ return;
+ }
+
+ /* Extract our process_t from the hEvent member of OVERLAPPED. */
+ process_t *process = (process_t *)overlapped->hEvent;
+ process_win32_t *win32_process = process_get_win32_process(process);
+
+ if (process_win32_handle_read_completion(&win32_process->stdout_handle,
+ error_code,
+ byte_count)) {
+ /* Schedule our next read. */
+ process_notify_event_stdout(process);
+ }
+}
+
+/** This function is called when ReadFileEx() completes its background read
+ * from the child process's standard error. We notify the Process subsystem if
+ * there is data available for it to read from us. */
+STATIC VOID WINAPI
+process_win32_stderr_read_done(DWORD error_code,
+ DWORD byte_count,
+ LPOVERLAPPED overlapped)
+{
+ tor_assert(overlapped);
+ tor_assert(overlapped->hEvent);
+
+ /* This happens when we have asked ReadFileEx() to read some data, but we
+ * then decided to call CloseHandle() on the HANDLE. This can happen if
+ * someone runs process_free() in the exit_callback of process_t, which means
+ * we cannot call process_get_win32_process() here. */
+ if (error_code == ERROR_BROKEN_PIPE) {
+ log_debug(LD_PROCESS, "Process reported broken pipe on standard error");
+ return;
+ }
+
+ /* Extract our process_t from the hEvent member of OVERLAPPED. */
+ process_t *process = (process_t *)overlapped->hEvent;
+ process_win32_t *win32_process = process_get_win32_process(process);
+
+ if (process_win32_handle_read_completion(&win32_process->stderr_handle,
+ error_code,
+ byte_count)) {
+ /* Schedule our next read. */
+ process_notify_event_stderr(process);
+ }
+}
+
+/** This function is called when WriteFileEx() completes its background write
+ * to the child process's standard input. We notify the Process subsystem that
+ * it can write data to us again. */
+STATIC VOID WINAPI
+process_win32_stdin_write_done(DWORD error_code,
+ DWORD byte_count,
+ LPOVERLAPPED overlapped)
+{
+ tor_assert(overlapped);
+ tor_assert(overlapped->hEvent);
+
+ (void)byte_count;
+
+ /* This happens when we have asked WriteFileEx() to write some data, but we
+ * then decided to call CloseHandle() on the HANDLE. This can happen if
+ * someone runs process_free() in the exit_callback of process_t, which means
+ * we cannot call process_get_win32_process() here. */
+ if (error_code == ERROR_BROKEN_PIPE) {
+ log_debug(LD_PROCESS, "Process reported broken pipe on standard input");
+ return;
+ }
+
+ process_t *process = (process_t *)overlapped->hEvent;
+ process_win32_t *win32_process = process_get_win32_process(process);
+
+ /* Mark our handle as not having any outstanding I/O requests. */
+ win32_process->stdin_handle.busy = false;
+
+ /* Check if we have been asked to write to the handle that have been marked
+ * as having reached EOF. */
+ if (BUG(win32_process->stdin_handle.reached_eof))
+ return;
+
+ if (error_code == 0) {
+ /** Our data have been succesfully written. Clear our state and schedule
+ * the next write. */
+ win32_process->stdin_handle.data_available = 0;
+ memset(win32_process->stdin_handle.buffer, 0,
+ sizeof(win32_process->stdin_handle.buffer));
+
+ /* Schedule the next write. */
+ process_notify_event_stdin(process);
+ } else if (error_code == ERROR_HANDLE_EOF) {
+ /* Our WriteFileEx() call was succesful, but we reached the end of our
+ * file. We mark our handle as having reached EOF and returns. */
+ tor_assert(byte_count == 0);
+
+ win32_process->stdin_handle.reached_eof = true;
+ } else {
+ /* An error happened: We warn the user and mark our handle as having
+ * reached EOF */
+ log_warn(LD_PROCESS,
+ "Error in I/O completion routine from WriteFileEx(): %s",
+ format_win32_error(error_code));
+ win32_process->stdin_handle.reached_eof = true;
+ }
+}
+
+/** This function reads data from the given <b>handle</b>'s internal buffer and
+ * moves it into the given <b>buffer</b>. Additionally, we start the next
+ * ReadFileEx() background operation with the given <b>callback</b> as
+ * completion callback. Returns the number of bytes written to the buffer. */
+STATIC int
+process_win32_read_from_handle(process_win32_handle_t *handle,
+ buf_t *buffer,
+ LPOVERLAPPED_COMPLETION_ROUTINE callback)
+{
+ tor_assert(handle);
+ tor_assert(buffer);
+ tor_assert(callback);
+
+ BOOL ret = FALSE;
+ int bytes_available = 0;
+
+ /* We already have a request to read data that isn't complete yet. */
+ if (BUG(handle->busy))
+ return 0;
+
+ /* Check if we have been asked to read from a handle that have already told
+ * us that we have reached the end of the file. */
+ if (BUG(handle->reached_eof))
+ return 0;
+
+ /* This cast should be safe since our buffer can be at maximum up to
+ * BUFFER_SIZE in size. */
+ bytes_available = (int)handle->data_available;
+
+ if (handle->data_available > 0) {
+ /* Read data from our intermediate buffer into the process_t buffer. */
+ buf_add(buffer, handle->buffer, handle->data_available);
+
+ /* Reset our read state. */
+ handle->data_available = 0;
+ memset(handle->buffer, 0, sizeof(handle->buffer));
+ }
+
+ /* Ask the Windows kernel to read data from our pipe into our buffer and call
+ * the callback function when it is done. */
+ ret = ReadFileEx(handle->pipe,
+ handle->buffer,
+ sizeof(handle->buffer),
+ &handle->overlapped,
+ callback);
+
+ if (! ret) {
+ log_warn(LD_PROCESS, "ReadFileEx() failed: %s",
+ format_win32_error(GetLastError()));
+ return bytes_available;
+ }
+
+ /* We mark our handle as having a pending I/O request. */
+ handle->busy = true;
+
+ return bytes_available;
+}
+
+/** This function checks the callback values from ReadFileEx() in
+ * <b>error_code</b> and <b>byte_count</b> if we have read data. Returns true
+ * iff our caller should request more data from ReadFileEx(). */
+STATIC bool
+process_win32_handle_read_completion(process_win32_handle_t *handle,
+ DWORD error_code,
+ DWORD byte_count)
+{
+ tor_assert(handle);
+
+ /* Mark our handle as not having any outstanding I/O requests. */
+ handle->busy = false;
+
+ if (error_code == 0) {
+ /* Our ReadFileEx() call was succesful and there is data for us. */
+
+ /* This cast should be safe since byte_count should never be larger than
+ * BUFFER_SIZE. */
+ tor_assert(byte_count <= BUFFER_SIZE);
+ handle->data_available = (size_t)byte_count;
+
+ /* Tell our caller to schedule the next read. */
+ return true;
+ } else if (error_code == ERROR_HANDLE_EOF) {
+ /* Our ReadFileEx() call was succesful, but we reached the end of our file.
+ * We mark our handle as having reached EOF and returns. */
+ tor_assert(byte_count == 0);
+
+ handle->reached_eof = true;
+ } else {
+ /* An error happened: We warn the user and mark our handle as having
+ * reached EOF */
+ log_warn(LD_PROCESS,
+ "Error in I/O completion routine from ReadFileEx(): %s",
+ format_win32_error(error_code));
+
+ handle->reached_eof = true;
+ }
+
+ /* Our caller should NOT schedule the next read. */
+ return false;
+}
+
+/** Format a single argument for being put on a Windows command line.
+ * Returns a newly allocated string */
+STATIC char *
+format_win_cmdline_argument(const char *arg)
+{
+ char *formatted_arg;
+ char need_quotes;
+ const char *c;
+ int i;
+ int bs_counter = 0;
+ /* Backslash we can point to when one is inserted into the string */
+ const char backslash = '\\';
+
+ /* Smartlist of *char */
+ smartlist_t *arg_chars;
+ arg_chars = smartlist_new();
+
+ /* Quote string if it contains whitespace or is empty */
+ need_quotes = (strchr(arg, ' ') || strchr(arg, '\t') || '\0' == arg[0]);
+
+ /* Build up smartlist of *chars */
+ for (c=arg; *c != '\0'; c++) {
+ if ('"' == *c) {
+ /* Double up backslashes preceding a quote */
+ for (i=0; i<(bs_counter*2); i++)
+ smartlist_add(arg_chars, (void*)&backslash);
+ bs_counter = 0;
+ /* Escape the quote */
+ smartlist_add(arg_chars, (void*)&backslash);
+ smartlist_add(arg_chars, (void*)c);
+ } else if ('\\' == *c) {
+ /* Count backslashes until we know whether to double up */
+ bs_counter++;
+ } else {
+ /* Don't double up slashes preceding a non-quote */
+ for (i=0; i<bs_counter; i++)
+ smartlist_add(arg_chars, (void*)&backslash);
+ bs_counter = 0;
+ smartlist_add(arg_chars, (void*)c);
+ }
+ }
+ /* Don't double up trailing backslashes */
+ for (i=0; i<bs_counter; i++)
+ smartlist_add(arg_chars, (void*)&backslash);
+
+ /* Allocate space for argument, quotes (if needed), and terminator */
+ const size_t formatted_arg_len = smartlist_len(arg_chars) +
+ (need_quotes ? 2 : 0) + 1;
+ formatted_arg = tor_malloc_zero(formatted_arg_len);
+
+ /* Add leading quote */
+ i=0;
+ if (need_quotes)
+ formatted_arg[i++] = '"';
+
+ /* Add characters */
+ SMARTLIST_FOREACH(arg_chars, char*, ch,
+ {
+ formatted_arg[i++] = *ch;
+ });
+
+ /* Add trailing quote */
+ if (need_quotes)
+ formatted_arg[i++] = '"';
+ formatted_arg[i] = '\0';
+
+ smartlist_free(arg_chars);
+ return formatted_arg;
+}
+
+/** Format a command line for use on Windows, which takes the command as a
+ * string rather than string array. Follows the rules from "Parsing C++
+ * Command-Line Arguments" in MSDN. Algorithm based on list2cmdline in the
+ * Python subprocess module. Returns a newly allocated string */
+STATIC char *
+tor_join_win_cmdline(const char *argv[])
+{
+ smartlist_t *argv_list;
+ char *joined_argv;
+ int i;
+
+ /* Format each argument and put the result in a smartlist */
+ argv_list = smartlist_new();
+ for (i=0; argv[i] != NULL; i++) {
+ smartlist_add(argv_list, (void *)format_win_cmdline_argument(argv[i]));
+ }
+
+ /* Join the arguments with whitespace */
+ joined_argv = smartlist_join_strings(argv_list, " ", 0, NULL);
+
+ /* Free the newly allocated arguments, and the smartlist */
+ SMARTLIST_FOREACH(argv_list, char *, arg,
+ {
+ tor_free(arg);
+ });
+ smartlist_free(argv_list);
+
+ return joined_argv;
+}
+
+#endif /* ! defined(_WIN32). */
diff --git a/src/lib/process/process_win32.h b/src/lib/process/process_win32.h
new file mode 100644
index 0000000000..8ab4880fbd
--- /dev/null
+++ b/src/lib/process/process_win32.h
@@ -0,0 +1,97 @@
+/* Copyright (c) 2003-2004, Roger Dingledine
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file process_win32.h
+ * \brief Header for process_win32.c
+ **/
+
+#ifndef TOR_PROCESS_WIN32_H
+#define TOR_PROCESS_WIN32_H
+
+#ifdef _WIN32
+
+#include "orconfig.h"
+#include "lib/malloc/malloc.h"
+#include "lib/evloop/compat_libevent.h"
+
+#include <windows.h>
+
+struct process_t;
+
+struct process_win32_t;
+typedef struct process_win32_t process_win32_t;
+
+process_win32_t *process_win32_new(void);
+void process_win32_free_(process_win32_t *win32_process);
+#define process_win32_free(s) \
+ FREE_AND_NULL(process_win32_t, process_win32_free_, (s))
+
+void process_win32_init(void);
+void process_win32_deinit(void);
+
+process_status_t process_win32_exec(struct process_t *process);
+bool process_win32_terminate(struct process_t *process);
+
+process_pid_t process_win32_get_pid(struct process_t *process);
+
+int process_win32_write(struct process_t *process, buf_t *buffer);
+int process_win32_read_stdout(struct process_t *process, buf_t *buffer);
+int process_win32_read_stderr(struct process_t *process, buf_t *buffer);
+
+void process_win32_trigger_completion_callbacks(void);
+
+/* Timer handling. */
+void process_win32_timer_start(void);
+void process_win32_timer_stop(void);
+bool process_win32_timer_running(void);
+
+#ifdef PROCESS_WIN32_PRIVATE
+STATIC void process_win32_timer_callback(periodic_timer_t *, void *);
+STATIC bool process_win32_timer_test_process(process_t *);
+
+/* I/O pipe handling. */
+struct process_win32_handle_t;
+typedef struct process_win32_handle_t process_win32_handle_t;
+
+typedef enum process_win32_pipe_type_t {
+ /** This pipe is used for reading. */
+ PROCESS_WIN32_PIPE_TYPE_READER,
+
+ /** This pipe is used for writing. */
+ PROCESS_WIN32_PIPE_TYPE_WRITER
+} process_win32_pipe_type_t;
+
+STATIC bool process_win32_create_pipe(HANDLE *,
+ HANDLE *,
+ SECURITY_ATTRIBUTES *,
+ process_win32_pipe_type_t);
+
+STATIC void process_win32_cleanup_handle(process_win32_handle_t *handle);
+
+STATIC VOID WINAPI process_win32_stdout_read_done(DWORD,
+ DWORD,
+ LPOVERLAPPED);
+STATIC VOID WINAPI process_win32_stderr_read_done(DWORD,
+ DWORD,
+ LPOVERLAPPED);
+STATIC VOID WINAPI process_win32_stdin_write_done(DWORD,
+ DWORD,
+ LPOVERLAPPED);
+
+STATIC int process_win32_read_from_handle(process_win32_handle_t *,
+ buf_t *,
+ LPOVERLAPPED_COMPLETION_ROUTINE);
+STATIC bool process_win32_handle_read_completion(process_win32_handle_t *,
+ DWORD,
+ DWORD);
+
+STATIC char *format_win_cmdline_argument(const char *arg);
+STATIC char *tor_join_win_cmdline(const char *argv[]);
+#endif /* defined(PROCESS_WIN32_PRIVATE). */
+
+#endif /* ! defined(_WIN32). */
+
+#endif /* defined(TOR_PROCESS_WIN32_H). */
diff --git a/src/lib/process/subprocess.c b/src/lib/process/subprocess.c
deleted file mode 100644
index 70851c15e0..0000000000
--- a/src/lib/process/subprocess.c
+++ /dev/null
@@ -1,1236 +0,0 @@
-/* Copyright (c) 2003, Roger Dingledine
- * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
- * Copyright (c) 2007-2018, The Tor Project, Inc. */
-/* See LICENSE for licensing information */
-
-/**
- * \file subprocess.c
- * \brief Launch and monitor other processes.
- **/
-
-#define SUBPROCESS_PRIVATE
-#include "lib/process/subprocess.h"
-
-#include "lib/container/smartlist.h"
-#include "lib/err/torerr.h"
-#include "lib/log/log.h"
-#include "lib/log/util_bug.h"
-#include "lib/log/win32err.h"
-#include "lib/malloc/malloc.h"
-#include "lib/process/env.h"
-#include "lib/process/waitpid.h"
-#include "lib/string/compat_ctype.h"
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_PRCTL_H
-#include <sys/prctl.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_SIGNAL_H
-#include <signal.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_SYS_WAIT_H
-#include <sys/wait.h>
-#endif
-#include <errno.h>
-#include <string.h>
-
-/** Format a single argument for being put on a Windows command line.
- * Returns a newly allocated string */
-static char *
-format_win_cmdline_argument(const char *arg)
-{
- char *formatted_arg;
- char need_quotes;
- const char *c;
- int i;
- int bs_counter = 0;
- /* Backslash we can point to when one is inserted into the string */
- const char backslash = '\\';
-
- /* Smartlist of *char */
- smartlist_t *arg_chars;
- arg_chars = smartlist_new();
-
- /* Quote string if it contains whitespace or is empty */
- need_quotes = (strchr(arg, ' ') || strchr(arg, '\t') || '\0' == arg[0]);
-
- /* Build up smartlist of *chars */
- for (c=arg; *c != '\0'; c++) {
- if ('"' == *c) {
- /* Double up backslashes preceding a quote */
- for (i=0; i<(bs_counter*2); i++)
- smartlist_add(arg_chars, (void*)&backslash);
- bs_counter = 0;
- /* Escape the quote */
- smartlist_add(arg_chars, (void*)&backslash);
- smartlist_add(arg_chars, (void*)c);
- } else if ('\\' == *c) {
- /* Count backslashes until we know whether to double up */
- bs_counter++;
- } else {
- /* Don't double up slashes preceding a non-quote */
- for (i=0; i<bs_counter; i++)
- smartlist_add(arg_chars, (void*)&backslash);
- bs_counter = 0;
- smartlist_add(arg_chars, (void*)c);
- }
- }
- /* Don't double up trailing backslashes */
- for (i=0; i<bs_counter; i++)
- smartlist_add(arg_chars, (void*)&backslash);
-
- /* Allocate space for argument, quotes (if needed), and terminator */
- const size_t formatted_arg_len = smartlist_len(arg_chars) +
- (need_quotes ? 2 : 0) + 1;
- formatted_arg = tor_malloc_zero(formatted_arg_len);
-
- /* Add leading quote */
- i=0;
- if (need_quotes)
- formatted_arg[i++] = '"';
-
- /* Add characters */
- SMARTLIST_FOREACH(arg_chars, char*, ch,
- {
- formatted_arg[i++] = *ch;
- });
-
- /* Add trailing quote */
- if (need_quotes)
- formatted_arg[i++] = '"';
- formatted_arg[i] = '\0';
-
- smartlist_free(arg_chars);
- return formatted_arg;
-}
-
-/** Format a command line for use on Windows, which takes the command as a
- * string rather than string array. Follows the rules from "Parsing C++
- * Command-Line Arguments" in MSDN. Algorithm based on list2cmdline in the
- * Python subprocess module. Returns a newly allocated string */
-char *
-tor_join_win_cmdline(const char *argv[])
-{
- smartlist_t *argv_list;
- char *joined_argv;
- int i;
-
- /* Format each argument and put the result in a smartlist */
- argv_list = smartlist_new();
- for (i=0; argv[i] != NULL; i++) {
- smartlist_add(argv_list, (void *)format_win_cmdline_argument(argv[i]));
- }
-
- /* Join the arguments with whitespace */
- joined_argv = smartlist_join_strings(argv_list, " ", 0, NULL);
-
- /* Free the newly allocated arguments, and the smartlist */
- SMARTLIST_FOREACH(argv_list, char *, arg,
- {
- tor_free(arg);
- });
- smartlist_free(argv_list);
-
- return joined_argv;
-}
-
-#ifndef _WIN32
-/** Format <b>child_state</b> and <b>saved_errno</b> as a hex string placed in
- * <b>hex_errno</b>. Called between fork and _exit, so must be signal-handler
- * safe.
- *
- * <b>hex_errno</b> must have at least HEX_ERRNO_SIZE+1 bytes available.
- *
- * The format of <b>hex_errno</b> is: "CHILD_STATE/ERRNO\n", left-padded
- * with spaces. CHILD_STATE indicates where
- * in the process of starting the child process did the failure occur (see
- * CHILD_STATE_* macros for definition), and SAVED_ERRNO is the value of
- * errno when the failure occurred.
- *
- * On success return the number of characters added to hex_errno, not counting
- * the terminating NUL; return -1 on error.
- */
-STATIC int
-format_helper_exit_status(unsigned char child_state, int saved_errno,
- char *hex_errno)
-{
- unsigned int unsigned_errno;
- int written, left;
- char *cur;
- size_t i;
- int res = -1;
-
- /* Fill hex_errno with spaces, and a trailing newline (memset may
- not be signal handler safe, so we can't use it) */
- for (i = 0; i < (HEX_ERRNO_SIZE - 1); i++)
- hex_errno[i] = ' ';
- hex_errno[HEX_ERRNO_SIZE - 1] = '\n';
-
- /* Convert errno to be unsigned for hex conversion */
- if (saved_errno < 0) {
- // Avoid overflow on the cast to unsigned int when result is INT_MIN
- // by adding 1 to the signed int negative value,
- // then, after it has been negated and cast to unsigned,
- // adding the original 1 back (the double-addition is intentional).
- // Otherwise, the cast to signed could cause a temporary int
- // to equal INT_MAX + 1, which is undefined.
- unsigned_errno = ((unsigned int) -(saved_errno + 1)) + 1;
- } else {
- unsigned_errno = (unsigned int) saved_errno;
- }
-
- /*
- * Count how many chars of space we have left, and keep a pointer into the
- * current point in the buffer.
- */
- left = HEX_ERRNO_SIZE+1;
- cur = hex_errno;
-
- /* Emit child_state */
- written = format_hex_number_sigsafe(child_state, cur, left);
-
- if (written <= 0)
- goto err;
-
- /* Adjust left and cur */
- left -= written;
- cur += written;
- if (left <= 0)
- goto err;
-
- /* Now the '/' */
- *cur = '/';
-
- /* Adjust left and cur */
- ++cur;
- --left;
- if (left <= 0)
- goto err;
-
- /* Need minus? */
- if (saved_errno < 0) {
- *cur = '-';
- ++cur;
- --left;
- if (left <= 0)
- goto err;
- }
-
- /* Emit unsigned_errno */
- written = format_hex_number_sigsafe(unsigned_errno, cur, left);
-
- if (written <= 0)
- goto err;
-
- /* Adjust left and cur */
- left -= written;
- cur += written;
-
- /* Check that we have enough space left for a newline and a NUL */
- if (left <= 1)
- goto err;
-
- /* Emit the newline and NUL */
- *cur++ = '\n';
- *cur++ = '\0';
-
- res = (int)(cur - hex_errno - 1);
-
- goto done;
-
- err:
- /*
- * In error exit, just write a '\0' in the first char so whatever called
- * this at least won't fall off the end.
- */
- *hex_errno = '\0';
-
- done:
- return res;
-}
-#endif /* !defined(_WIN32) */
-
-/* Maximum number of file descriptors, if we cannot get it via sysconf() */
-#define DEFAULT_MAX_FD 256
-
-/** Terminate the process of <b>process_handle</b>, if that process has not
- * already exited.
- *
- * Return 0 if we succeeded in terminating the process (or if the process
- * already exited), and -1 if we tried to kill the process but failed.
- *
- * Based on code originally borrowed from Python's os.kill. */
-int
-tor_terminate_process(process_handle_t *process_handle)
-{
-#ifdef _WIN32
- if (tor_get_exit_code(process_handle, 0, NULL) == PROCESS_EXIT_RUNNING) {
- HANDLE handle = process_handle->pid.hProcess;
-
- if (!TerminateProcess(handle, 0))
- return -1;
- else
- return 0;
- }
-#else /* !(defined(_WIN32)) */
- if (process_handle->waitpid_cb) {
- /* We haven't got a waitpid yet, so we can just kill off the process. */
- return kill(process_handle->pid, SIGTERM);
- }
-#endif /* defined(_WIN32) */
-
- return 0; /* We didn't need to kill the process, so report success */
-}
-
-/** Return the Process ID of <b>process_handle</b>. */
-int
-tor_process_get_pid(process_handle_t *process_handle)
-{
-#ifdef _WIN32
- return (int) process_handle->pid.dwProcessId;
-#else
- return (int) process_handle->pid;
-#endif
-}
-
-#ifdef _WIN32
-HANDLE
-tor_process_get_stdout_pipe(process_handle_t *process_handle)
-{
- return process_handle->stdout_pipe;
-}
-#else /* !(defined(_WIN32)) */
-/* DOCDOC tor_process_get_stdout_pipe */
-int
-tor_process_get_stdout_pipe(process_handle_t *process_handle)
-{
- return process_handle->stdout_pipe;
-}
-#endif /* defined(_WIN32) */
-
-/* DOCDOC process_handle_new */
-static process_handle_t *
-process_handle_new(void)
-{
- process_handle_t *out = tor_malloc_zero(sizeof(process_handle_t));
-
-#ifdef _WIN32
- out->stdin_pipe = INVALID_HANDLE_VALUE;
- out->stdout_pipe = INVALID_HANDLE_VALUE;
- out->stderr_pipe = INVALID_HANDLE_VALUE;
-#else
- out->stdin_pipe = -1;
- out->stdout_pipe = -1;
- out->stderr_pipe = -1;
-#endif /* defined(_WIN32) */
-
- return out;
-}
-
-#ifndef _WIN32
-/** Invoked when a process that we've launched via tor_spawn_background() has
- * been found to have terminated.
- */
-static void
-process_handle_waitpid_cb(int status, void *arg)
-{
- process_handle_t *process_handle = arg;
-
- process_handle->waitpid_exit_status = status;
- clear_waitpid_callback(process_handle->waitpid_cb);
- if (process_handle->status == PROCESS_STATUS_RUNNING)
- process_handle->status = PROCESS_STATUS_NOTRUNNING;
- process_handle->waitpid_cb = 0;
-}
-#endif /* !defined(_WIN32) */
-
-/**
- * @name child-process states
- *
- * Each of these values represents a possible state that a child process can
- * be in. They're used to determine what to say when telling the parent how
- * far along we were before failure.
- *
- * @{
- */
-#define CHILD_STATE_INIT 0
-#define CHILD_STATE_PIPE 1
-#define CHILD_STATE_MAXFD 2
-#define CHILD_STATE_FORK 3
-#define CHILD_STATE_DUPOUT 4
-#define CHILD_STATE_DUPERR 5
-#define CHILD_STATE_DUPIN 6
-#define CHILD_STATE_CLOSEFD 7
-#define CHILD_STATE_EXEC 8
-#define CHILD_STATE_FAILEXEC 9
-/** @} */
-/**
- * Boolean. If true, then Tor may call execve or CreateProcess via
- * tor_spawn_background.
- **/
-static int may_spawn_background_process = 1;
-/**
- * Turn off may_spawn_background_process, so that all future calls to
- * tor_spawn_background are guaranteed to fail.
- **/
-void
-tor_disable_spawning_background_processes(void)
-{
- may_spawn_background_process = 0;
-}
-/** Start a program in the background. If <b>filename</b> contains a '/', then
- * it will be treated as an absolute or relative path. Otherwise, on
- * non-Windows systems, the system path will be searched for <b>filename</b>.
- * On Windows, only the current directory will be searched. Here, to search the
- * system path (as well as the application directory, current working
- * directory, and system directories), set filename to NULL.
- *
- * The strings in <b>argv</b> will be passed as the command line arguments of
- * the child program (following convention, argv[0] should normally be the
- * filename of the executable, and this must be the case if <b>filename</b> is
- * NULL). The last element of argv must be NULL. A handle to the child process
- * will be returned in process_handle (which must be non-NULL). Read
- * process_handle.status to find out if the process was successfully launched.
- * For convenience, process_handle.status is returned by this function.
- *
- * Some parts of this code are based on the POSIX subprocess module from
- * Python, and example code from
- * http://msdn.microsoft.com/en-us/library/ms682499%28v=vs.85%29.aspx.
- */
-int
-tor_spawn_background(const char *const filename, const char **argv,
- process_environment_t *env,
- process_handle_t **process_handle_out)
-{
- if (BUG(may_spawn_background_process == 0)) {
- /* We should never reach this point if we're forbidden to spawn
- * processes. Instead we should have caught the attempt earlier. */
- return PROCESS_STATUS_ERROR;
- }
-
-#ifdef _WIN32
- HANDLE stdout_pipe_read = NULL;
- HANDLE stdout_pipe_write = NULL;
- HANDLE stderr_pipe_read = NULL;
- HANDLE stderr_pipe_write = NULL;
- HANDLE stdin_pipe_read = NULL;
- HANDLE stdin_pipe_write = NULL;
- process_handle_t *process_handle;
- int status;
-
- STARTUPINFOA siStartInfo;
- BOOL retval = FALSE;
-
- SECURITY_ATTRIBUTES saAttr;
- char *joined_argv;
-
- saAttr.nLength = sizeof(SECURITY_ATTRIBUTES);
- saAttr.bInheritHandle = TRUE;
- /* TODO: should we set explicit security attributes? (#2046, comment 5) */
- saAttr.lpSecurityDescriptor = NULL;
-
- /* Assume failure to start process */
- status = PROCESS_STATUS_ERROR;
-
- /* Set up pipe for stdout */
- if (!CreatePipe(&stdout_pipe_read, &stdout_pipe_write, &saAttr, 0)) {
- log_warn(LD_GENERAL,
- "Failed to create pipe for stdout communication with child process: %s",
- format_win32_error(GetLastError()));
- return status;
- }
- if (!SetHandleInformation(stdout_pipe_read, HANDLE_FLAG_INHERIT, 0)) {
- log_warn(LD_GENERAL,
- "Failed to configure pipe for stdout communication with child "
- "process: %s", format_win32_error(GetLastError()));
- return status;
- }
-
- /* Set up pipe for stderr */
- if (!CreatePipe(&stderr_pipe_read, &stderr_pipe_write, &saAttr, 0)) {
- log_warn(LD_GENERAL,
- "Failed to create pipe for stderr communication with child process: %s",
- format_win32_error(GetLastError()));
- return status;
- }
- if (!SetHandleInformation(stderr_pipe_read, HANDLE_FLAG_INHERIT, 0)) {
- log_warn(LD_GENERAL,
- "Failed to configure pipe for stderr communication with child "
- "process: %s", format_win32_error(GetLastError()));
- return status;
- }
-
- /* Set up pipe for stdin */
- if (!CreatePipe(&stdin_pipe_read, &stdin_pipe_write, &saAttr, 0)) {
- log_warn(LD_GENERAL,
- "Failed to create pipe for stdin communication with child process: %s",
- format_win32_error(GetLastError()));
- return status;
- }
- if (!SetHandleInformation(stdin_pipe_write, HANDLE_FLAG_INHERIT, 0)) {
- log_warn(LD_GENERAL,
- "Failed to configure pipe for stdin communication with child "
- "process: %s", format_win32_error(GetLastError()));
- return status;
- }
-
- /* Create the child process */
-
- /* Windows expects argv to be a whitespace delimited string, so join argv up
- */
- joined_argv = tor_join_win_cmdline(argv);
-
- process_handle = process_handle_new();
- process_handle->status = status;
-
- ZeroMemory(&(process_handle->pid), sizeof(PROCESS_INFORMATION));
- ZeroMemory(&siStartInfo, sizeof(STARTUPINFO));
- siStartInfo.cb = sizeof(STARTUPINFO);
- siStartInfo.hStdError = stderr_pipe_write;
- siStartInfo.hStdOutput = stdout_pipe_write;
- siStartInfo.hStdInput = stdin_pipe_read;
- siStartInfo.dwFlags |= STARTF_USESTDHANDLES;
-
- /* Create the child process */
-
- retval = CreateProcessA(filename, // module name
- joined_argv, // command line
- /* TODO: should we set explicit security attributes? (#2046, comment 5) */
- NULL, // process security attributes
- NULL, // primary thread security attributes
- TRUE, // handles are inherited
- /*(TODO: set CREATE_NEW CONSOLE/PROCESS_GROUP to make GetExitCodeProcess()
- * work?) */
- CREATE_NO_WINDOW, // creation flags
- (env==NULL) ? NULL : env->windows_environment_block,
- NULL, // use parent's current directory
- &siStartInfo, // STARTUPINFO pointer
- &(process_handle->pid)); // receives PROCESS_INFORMATION
-
- tor_free(joined_argv);
-
- if (!retval) {
- log_warn(LD_GENERAL,
- "Failed to create child process %s: %s", filename?filename:argv[0],
- format_win32_error(GetLastError()));
- tor_free(process_handle);
- } else {
- /* TODO: Close hProcess and hThread in process_handle->pid? */
- process_handle->stdout_pipe = stdout_pipe_read;
- process_handle->stderr_pipe = stderr_pipe_read;
- process_handle->stdin_pipe = stdin_pipe_write;
- status = process_handle->status = PROCESS_STATUS_RUNNING;
- }
-
- /* TODO: Close pipes on exit */
- *process_handle_out = process_handle;
- return status;
-#else /* !(defined(_WIN32)) */
- pid_t pid;
- int stdout_pipe[2];
- int stderr_pipe[2];
- int stdin_pipe[2];
- int fd, retval;
- process_handle_t *process_handle;
- int status;
-
- const char *error_message = SPAWN_ERROR_MESSAGE;
- size_t error_message_length;
-
- /* Represents where in the process of spawning the program is;
- this is used for printing out the error message */
- unsigned char child_state = CHILD_STATE_INIT;
-
- char hex_errno[HEX_ERRNO_SIZE + 2]; /* + 1 should be sufficient actually */
-
- static int max_fd = -1;
-
- status = PROCESS_STATUS_ERROR;
-
- /* We do the strlen here because strlen() is not signal handler safe,
- and we are not allowed to use unsafe functions between fork and exec */
- error_message_length = strlen(error_message);
-
- // child_state = CHILD_STATE_PIPE;
-
- /* Set up pipe for redirecting stdout, stderr, and stdin of child */
- retval = pipe(stdout_pipe);
- if (-1 == retval) {
- log_warn(LD_GENERAL,
- "Failed to set up pipe for stdout communication with child process: %s",
- strerror(errno));
- return status;
- }
-
- retval = pipe(stderr_pipe);
- if (-1 == retval) {
- log_warn(LD_GENERAL,
- "Failed to set up pipe for stderr communication with child process: %s",
- strerror(errno));
-
- close(stdout_pipe[0]);
- close(stdout_pipe[1]);
-
- return status;
- }
-
- retval = pipe(stdin_pipe);
- if (-1 == retval) {
- log_warn(LD_GENERAL,
- "Failed to set up pipe for stdin communication with child process: %s",
- strerror(errno));
-
- close(stdout_pipe[0]);
- close(stdout_pipe[1]);
- close(stderr_pipe[0]);
- close(stderr_pipe[1]);
-
- return status;
- }
-
- // child_state = CHILD_STATE_MAXFD;
-
-#ifdef _SC_OPEN_MAX
- if (-1 == max_fd) {
- max_fd = (int) sysconf(_SC_OPEN_MAX);
- if (max_fd == -1) {
- max_fd = DEFAULT_MAX_FD;
- log_warn(LD_GENERAL,
- "Cannot find maximum file descriptor, assuming %d", max_fd);
- }
- }
-#else /* !(defined(_SC_OPEN_MAX)) */
- max_fd = DEFAULT_MAX_FD;
-#endif /* defined(_SC_OPEN_MAX) */
-
- // child_state = CHILD_STATE_FORK;
-
- pid = fork();
- if (0 == pid) {
- /* In child */
-
-#if defined(HAVE_SYS_PRCTL_H) && defined(__linux__)
- /* Attempt to have the kernel issue a SIGTERM if the parent
- * goes away. Certain attributes of the binary being execve()ed
- * will clear this during the execve() call, but it's better
- * than nothing.
- */
- prctl(PR_SET_PDEATHSIG, SIGTERM);
-#endif /* defined(HAVE_SYS_PRCTL_H) && defined(__linux__) */
-
- child_state = CHILD_STATE_DUPOUT;
-
- /* Link child stdout to the write end of the pipe */
- retval = dup2(stdout_pipe[1], STDOUT_FILENO);
- if (-1 == retval)
- goto error;
-
- child_state = CHILD_STATE_DUPERR;
-
- /* Link child stderr to the write end of the pipe */
- retval = dup2(stderr_pipe[1], STDERR_FILENO);
- if (-1 == retval)
- goto error;
-
- child_state = CHILD_STATE_DUPIN;
-
- /* Link child stdin to the read end of the pipe */
- retval = dup2(stdin_pipe[0], STDIN_FILENO);
- if (-1 == retval)
- goto error;
-
- // child_state = CHILD_STATE_CLOSEFD;
-
- close(stderr_pipe[0]);
- close(stderr_pipe[1]);
- close(stdout_pipe[0]);
- close(stdout_pipe[1]);
- close(stdin_pipe[0]);
- close(stdin_pipe[1]);
-
- /* Close all other fds, including the read end of the pipe */
- /* XXX: We should now be doing enough FD_CLOEXEC setting to make
- * this needless. */
- for (fd = STDERR_FILENO + 1; fd < max_fd; fd++) {
- close(fd);
- }
-
- // child_state = CHILD_STATE_EXEC;
-
- /* Call the requested program. We need the cast because
- execvp doesn't define argv as const, even though it
- does not modify the arguments */
- if (env)
- execve(filename, (char *const *) argv, env->unixoid_environment_block);
- else {
- static char *new_env[] = { NULL };
- execve(filename, (char *const *) argv, new_env);
- }
-
- /* If we got here, the exec or open(/dev/null) failed */
-
- child_state = CHILD_STATE_FAILEXEC;
-
- error:
- {
- /* XXX: are we leaking fds from the pipe? */
- int n, err=0;
- ssize_t nbytes;
-
- n = format_helper_exit_status(child_state, errno, hex_errno);
-
- if (n >= 0) {
- /* Write the error message. GCC requires that we check the return
- value, but there is nothing we can do if it fails */
- /* TODO: Don't use STDOUT, use a pipe set up just for this purpose */
- nbytes = write(STDOUT_FILENO, error_message, error_message_length);
- err = (nbytes < 0);
- nbytes = write(STDOUT_FILENO, hex_errno, n);
- err += (nbytes < 0);
- }
-
- _exit(err?254:255); // exit ok: in child.
- }
-
- /* Never reached, but avoids compiler warning */
- return status; // LCOV_EXCL_LINE
- }
-
- /* In parent */
-
- if (-1 == pid) {
- log_warn(LD_GENERAL, "Failed to fork child process: %s", strerror(errno));
- close(stdin_pipe[0]);
- close(stdin_pipe[1]);
- close(stdout_pipe[0]);
- close(stdout_pipe[1]);
- close(stderr_pipe[0]);
- close(stderr_pipe[1]);
- return status;
- }
-
- process_handle = process_handle_new();
- process_handle->status = status;
- process_handle->pid = pid;
-
- /* TODO: If the child process forked but failed to exec, waitpid it */
-
- /* Return read end of the pipes to caller, and close write end */
- process_handle->stdout_pipe = stdout_pipe[0];
- retval = close(stdout_pipe[1]);
-
- if (-1 == retval) {
- log_warn(LD_GENERAL,
- "Failed to close write end of stdout pipe in parent process: %s",
- strerror(errno));
- }
-
- process_handle->waitpid_cb = set_waitpid_callback(pid,
- process_handle_waitpid_cb,
- process_handle);
-
- process_handle->stderr_pipe = stderr_pipe[0];
- retval = close(stderr_pipe[1]);
-
- if (-1 == retval) {
- log_warn(LD_GENERAL,
- "Failed to close write end of stderr pipe in parent process: %s",
- strerror(errno));
- }
-
- /* Return write end of the stdin pipe to caller, and close the read end */
- process_handle->stdin_pipe = stdin_pipe[1];
- retval = close(stdin_pipe[0]);
-
- if (-1 == retval) {
- log_warn(LD_GENERAL,
- "Failed to close read end of stdin pipe in parent process: %s",
- strerror(errno));
- }
-
- status = process_handle->status = PROCESS_STATUS_RUNNING;
- /* Set stdin/stdout/stderr pipes to be non-blocking */
- if (fcntl(process_handle->stdout_pipe, F_SETFL, O_NONBLOCK) < 0 ||
- fcntl(process_handle->stderr_pipe, F_SETFL, O_NONBLOCK) < 0 ||
- fcntl(process_handle->stdin_pipe, F_SETFL, O_NONBLOCK) < 0) {
- log_warn(LD_GENERAL, "Failed to set stderror/stdout/stdin pipes "
- "nonblocking in parent process: %s", strerror(errno));
- }
-
- *process_handle_out = process_handle;
- return status;
-#endif /* defined(_WIN32) */
-}
-
-/** Destroy all resources allocated by the process handle in
- * <b>process_handle</b>.
- * If <b>also_terminate_process</b> is true, also terminate the
- * process of the process handle. */
-MOCK_IMPL(void,
-tor_process_handle_destroy,(process_handle_t *process_handle,
- int also_terminate_process))
-{
- if (!process_handle)
- return;
-
- if (also_terminate_process) {
- if (tor_terminate_process(process_handle) < 0) {
- const char *errstr =
-#ifdef _WIN32
- format_win32_error(GetLastError());
-#else
- strerror(errno);
-#endif
- log_notice(LD_GENERAL, "Failed to terminate process with "
- "PID '%d' ('%s').", tor_process_get_pid(process_handle),
- errstr);
- } else {
- log_info(LD_GENERAL, "Terminated process with PID '%d'.",
- tor_process_get_pid(process_handle));
- }
- }
-
- process_handle->status = PROCESS_STATUS_NOTRUNNING;
-
-#ifdef _WIN32
- if (process_handle->stdout_pipe)
- CloseHandle(process_handle->stdout_pipe);
-
- if (process_handle->stderr_pipe)
- CloseHandle(process_handle->stderr_pipe);
-
- if (process_handle->stdin_pipe)
- CloseHandle(process_handle->stdin_pipe);
-#else /* !(defined(_WIN32)) */
- close(process_handle->stdout_pipe);
- close(process_handle->stderr_pipe);
- close(process_handle->stdin_pipe);
-
- clear_waitpid_callback(process_handle->waitpid_cb);
-#endif /* defined(_WIN32) */
-
- memset(process_handle, 0x0f, sizeof(process_handle_t));
- tor_free(process_handle);
-}
-
-/** Get the exit code of a process specified by <b>process_handle</b> and store
- * it in <b>exit_code</b>, if set to a non-NULL value. If <b>block</b> is set
- * to true, the call will block until the process has exited. Otherwise if
- * the process is still running, the function will return
- * PROCESS_EXIT_RUNNING, and exit_code will be left unchanged. Returns
- * PROCESS_EXIT_EXITED if the process did exit. If there is a failure,
- * PROCESS_EXIT_ERROR will be returned and the contents of exit_code (if
- * non-NULL) will be undefined. N.B. Under *nix operating systems, this will
- * probably not work in Tor, because waitpid() is called in main.c to reap any
- * terminated child processes.*/
-int
-tor_get_exit_code(process_handle_t *process_handle,
- int block, int *exit_code)
-{
-#ifdef _WIN32
- DWORD retval;
- BOOL success;
-
- if (block) {
- /* Wait for the process to exit */
- retval = WaitForSingleObject(process_handle->pid.hProcess, INFINITE);
- if (retval != WAIT_OBJECT_0) {
- log_warn(LD_GENERAL, "WaitForSingleObject() failed (%d): %s",
- (int)retval, format_win32_error(GetLastError()));
- return PROCESS_EXIT_ERROR;
- }
- } else {
- retval = WaitForSingleObject(process_handle->pid.hProcess, 0);
- if (WAIT_TIMEOUT == retval) {
- /* Process has not exited */
- return PROCESS_EXIT_RUNNING;
- } else if (retval != WAIT_OBJECT_0) {
- log_warn(LD_GENERAL, "WaitForSingleObject() failed (%d): %s",
- (int)retval, format_win32_error(GetLastError()));
- return PROCESS_EXIT_ERROR;
- }
- }
-
- if (exit_code != NULL) {
- success = GetExitCodeProcess(process_handle->pid.hProcess,
- (PDWORD)exit_code);
- if (!success) {
- log_warn(LD_GENERAL, "GetExitCodeProcess() failed: %s",
- format_win32_error(GetLastError()));
- return PROCESS_EXIT_ERROR;
- }
- }
-#else /* !(defined(_WIN32)) */
- int stat_loc;
- int retval;
-
- if (process_handle->waitpid_cb) {
- /* We haven't processed a SIGCHLD yet. */
- retval = waitpid(process_handle->pid, &stat_loc, block?0:WNOHANG);
- if (retval == process_handle->pid) {
- clear_waitpid_callback(process_handle->waitpid_cb);
- process_handle->waitpid_cb = NULL;
- process_handle->waitpid_exit_status = stat_loc;
- }
- } else {
- /* We already got a SIGCHLD for this process, and handled it. */
- retval = process_handle->pid;
- stat_loc = process_handle->waitpid_exit_status;
- }
-
- if (!block && 0 == retval) {
- /* Process has not exited */
- return PROCESS_EXIT_RUNNING;
- } else if (retval != process_handle->pid) {
- log_warn(LD_GENERAL, "waitpid() failed for PID %d: %s",
- (int)process_handle->pid, strerror(errno));
- return PROCESS_EXIT_ERROR;
- }
-
- if (!WIFEXITED(stat_loc)) {
- log_warn(LD_GENERAL, "Process %d did not exit normally",
- (int)process_handle->pid);
- return PROCESS_EXIT_ERROR;
- }
-
- if (exit_code != NULL)
- *exit_code = WEXITSTATUS(stat_loc);
-#endif /* defined(_WIN32) */
-
- return PROCESS_EXIT_EXITED;
-}
-
-#ifdef _WIN32
-/** Read from a handle <b>h</b> into <b>buf</b>, up to <b>count</b> bytes. If
- * <b>hProcess</b> is NULL, the function will return immediately if there is
- * nothing more to read. Otherwise <b>hProcess</b> should be set to the handle
- * to the process owning the <b>h</b>. In this case, the function will exit
- * only once the process has exited, or <b>count</b> bytes are read. Returns
- * the number of bytes read, or -1 on error. */
-ssize_t
-tor_read_all_handle(HANDLE h, char *buf, size_t count,
- const process_handle_t *process)
-{
- size_t numread = 0;
- BOOL retval;
- DWORD byte_count;
- BOOL process_exited = FALSE;
-
- if (count > SIZE_T_CEILING || count > SSIZE_MAX)
- return -1;
-
- while (numread < count) {
- /* Check if there is anything to read */
- retval = PeekNamedPipe(h, NULL, 0, NULL, &byte_count, NULL);
- if (!retval) {
- log_warn(LD_GENERAL,
- "Failed to peek from handle: %s",
- format_win32_error(GetLastError()));
- return -1;
- } else if (0 == byte_count) {
- /* Nothing available: process exited or it is busy */
-
- /* Exit if we don't know whether the process is running */
- if (NULL == process)
- break;
-
- /* The process exited and there's nothing left to read from it */
- if (process_exited)
- break;
-
- /* If process is not running, check for output one more time in case
- it wrote something after the peek was performed. Otherwise keep on
- waiting for output */
- tor_assert(process != NULL);
- byte_count = WaitForSingleObject(process->pid.hProcess, 0);
- if (WAIT_TIMEOUT != byte_count)
- process_exited = TRUE;
-
- continue;
- }
-
- /* There is data to read; read it */
- retval = ReadFile(h, buf+numread, count-numread, &byte_count, NULL);
- tor_assert(byte_count + numread <= count);
- if (!retval) {
- log_warn(LD_GENERAL, "Failed to read from handle: %s",
- format_win32_error(GetLastError()));
- return -1;
- } else if (0 == byte_count) {
- /* End of file */
- break;
- }
- numread += byte_count;
- }
- return (ssize_t)numread;
-}
-#else /* !(defined(_WIN32)) */
-/** Read from a handle <b>fd</b> into <b>buf</b>, up to <b>count</b> bytes. If
- * <b>process</b> is NULL, the function will return immediately if there is
- * nothing more to read. Otherwise data will be read until end of file, or
- * <b>count</b> bytes are read. Returns the number of bytes read, or -1 on
- * error. Sets <b>eof</b> to true if <b>eof</b> is not NULL and the end of the
- * file has been reached. */
-ssize_t
-tor_read_all_handle(int fd, char *buf, size_t count,
- const process_handle_t *process,
- int *eof)
-{
- size_t numread = 0;
- ssize_t result;
-
- if (eof)
- *eof = 0;
-
- if (count > SIZE_T_CEILING || count > SSIZE_MAX)
- return -1;
-
- while (numread < count) {
- result = read(fd, buf+numread, count-numread);
-
- if (result == 0) {
- log_debug(LD_GENERAL, "read() reached end of file");
- if (eof)
- *eof = 1;
- break;
- } else if (result < 0 && errno == EAGAIN) {
- if (process)
- continue;
- else
- break;
- } else if (result < 0) {
- log_warn(LD_GENERAL, "read() failed: %s", strerror(errno));
- return -1;
- }
-
- numread += result;
- }
-
- log_debug(LD_GENERAL, "read() read %d bytes from handle", (int)numread);
- return (ssize_t)numread;
-}
-#endif /* defined(_WIN32) */
-
-/** Read from stdout of a process until the process exits. */
-ssize_t
-tor_read_all_from_process_stdout(const process_handle_t *process_handle,
- char *buf, size_t count)
-{
-#ifdef _WIN32
- return tor_read_all_handle(process_handle->stdout_pipe, buf, count,
- process_handle);
-#else
- return tor_read_all_handle(process_handle->stdout_pipe, buf, count,
- process_handle, NULL);
-#endif /* defined(_WIN32) */
-}
-
-/** Read from stdout of a process until the process exits. */
-ssize_t
-tor_read_all_from_process_stderr(const process_handle_t *process_handle,
- char *buf, size_t count)
-{
-#ifdef _WIN32
- return tor_read_all_handle(process_handle->stderr_pipe, buf, count,
- process_handle);
-#else
- return tor_read_all_handle(process_handle->stderr_pipe, buf, count,
- process_handle, NULL);
-#endif /* defined(_WIN32) */
-}
-
-/** Return a string corresponding to <b>stream_status</b>. */
-const char *
-stream_status_to_string(enum stream_status stream_status)
-{
- switch (stream_status) {
- case IO_STREAM_OKAY:
- return "okay";
- case IO_STREAM_EAGAIN:
- return "temporarily unavailable";
- case IO_STREAM_TERM:
- return "terminated";
- case IO_STREAM_CLOSED:
- return "closed";
- default:
- tor_fragile_assert();
- return "unknown";
- }
-}
-
-/** Split buf into lines, and add to smartlist. The buffer <b>buf</b> will be
- * modified. The resulting smartlist will consist of pointers to buf, so there
- * is no need to free the contents of sl. <b>buf</b> must be a NUL-terminated
- * string. <b>len</b> should be set to the length of the buffer excluding the
- * NUL. Non-printable characters (including NUL) will be replaced with "." */
-int
-tor_split_lines(smartlist_t *sl, char *buf, int len)
-{
- /* Index in buf of the start of the current line */
- int start = 0;
- /* Index in buf of the current character being processed */
- int cur = 0;
- /* Are we currently in a line */
- char in_line = 0;
-
- /* Loop over string */
- while (cur < len) {
- /* Loop until end of line or end of string */
- for (; cur < len; cur++) {
- if (in_line) {
- if ('\r' == buf[cur] || '\n' == buf[cur]) {
- /* End of line */
- buf[cur] = '\0';
- /* Point cur to the next line */
- cur++;
- /* Line starts at start and ends with a nul */
- break;
- } else {
- if (!TOR_ISPRINT(buf[cur]))
- buf[cur] = '.';
- }
- } else {
- if ('\r' == buf[cur] || '\n' == buf[cur]) {
- /* Skip leading vertical space */
- ;
- } else {
- in_line = 1;
- start = cur;
- if (!TOR_ISPRINT(buf[cur]))
- buf[cur] = '.';
- }
- }
- }
- /* We are at the end of the line or end of string. If in_line is true there
- * is a line which starts at buf+start and ends at a NUL. cur points to
- * the character after the NUL. */
- if (in_line)
- smartlist_add(sl, (void *)(buf+start));
- in_line = 0;
- }
- return smartlist_len(sl);
-}
-
-#ifdef _WIN32
-
-/** Return a smartlist containing lines outputted from
- * <b>handle</b>. Return NULL on error, and set
- * <b>stream_status_out</b> appropriately. */
-MOCK_IMPL(smartlist_t *,
-tor_get_lines_from_handle, (HANDLE *handle,
- enum stream_status *stream_status_out))
-{
- int pos;
- char stdout_buf[600] = {0};
- smartlist_t *lines = NULL;
-
- tor_assert(stream_status_out);
-
- *stream_status_out = IO_STREAM_TERM;
-
- pos = tor_read_all_handle(handle, stdout_buf, sizeof(stdout_buf) - 1, NULL);
- if (pos < 0) {
- *stream_status_out = IO_STREAM_TERM;
- return NULL;
- }
- if (pos == 0) {
- *stream_status_out = IO_STREAM_EAGAIN;
- return NULL;
- }
-
- /* End with a null even if there isn't a \r\n at the end */
- /* TODO: What if this is a partial line? */
- stdout_buf[pos] = '\0';
-
- /* Split up the buffer */
- lines = smartlist_new();
- tor_split_lines(lines, stdout_buf, pos);
-
- /* Currently 'lines' is populated with strings residing on the
- stack. Replace them with their exact copies on the heap: */
- SMARTLIST_FOREACH(lines, char *, line,
- SMARTLIST_REPLACE_CURRENT(lines, line, tor_strdup(line)));
-
- *stream_status_out = IO_STREAM_OKAY;
-
- return lines;
-}
-
-#else /* !(defined(_WIN32)) */
-
-/** Return a smartlist containing lines outputted from
- * <b>fd</b>. Return NULL on error, and set
- * <b>stream_status_out</b> appropriately. */
-MOCK_IMPL(smartlist_t *,
-tor_get_lines_from_handle, (int fd, enum stream_status *stream_status_out))
-{
- enum stream_status stream_status;
- char stdout_buf[400];
- smartlist_t *lines = NULL;
-
- while (1) {
- memset(stdout_buf, 0, sizeof(stdout_buf));
-
- stream_status = get_string_from_pipe(fd,
- stdout_buf, sizeof(stdout_buf) - 1);
- if (stream_status != IO_STREAM_OKAY)
- goto done;
-
- if (!lines) lines = smartlist_new();
- smartlist_split_string(lines, stdout_buf, "\n", 0, 0);
- }
-
- done:
- *stream_status_out = stream_status;
- return lines;
-}
-
-#endif /* defined(_WIN32) */
-
-/** Reads from <b>fd</b> and stores input in <b>buf_out</b> making
- * sure it's below <b>count</b> bytes.
- * If the string has a trailing newline, we strip it off.
- *
- * This function is specifically created to handle input from managed
- * proxies, according to the pluggable transports spec. Make sure it
- * fits your needs before using it.
- *
- * Returns:
- * IO_STREAM_CLOSED: If the stream is closed.
- * IO_STREAM_EAGAIN: If there is nothing to read and we should check back
- * later.
- * IO_STREAM_TERM: If something is wrong with the stream.
- * IO_STREAM_OKAY: If everything went okay and we got a string
- * in <b>buf_out</b>. */
-enum stream_status
-get_string_from_pipe(int fd, char *buf_out, size_t count)
-{
- ssize_t ret;
-
- tor_assert(count <= INT_MAX);
-
- ret = read(fd, buf_out, count);
-
- if (ret == 0)
- return IO_STREAM_CLOSED;
- else if (ret < 0 && errno == EAGAIN)
- return IO_STREAM_EAGAIN;
- else if (ret < 0)
- return IO_STREAM_TERM;
-
- if (buf_out[ret - 1] == '\n') {
- /* Remove the trailing newline */
- buf_out[ret - 1] = '\0';
- } else
- buf_out[ret] = '\0';
-
- return IO_STREAM_OKAY;
-}
diff --git a/src/lib/process/subprocess.h b/src/lib/process/subprocess.h
deleted file mode 100644
index 5b4318ef2b..0000000000
--- a/src/lib/process/subprocess.h
+++ /dev/null
@@ -1,134 +0,0 @@
-/* Copyright (c) 2003-2004, Roger Dingledine
- * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
- * Copyright (c) 2007-2018, The Tor Project, Inc. */
-/* See LICENSE for licensing information */
-
-/**
- * \file subprocess.h
- * \brief Header for subprocess.c
- **/
-
-#ifndef TOR_SUBPROCESS_H
-#define TOR_SUBPROCESS_H
-
-#include "lib/cc/torint.h"
-#include "lib/testsupport/testsupport.h"
-#include <stddef.h>
-#ifdef _WIN32
-#include <windows.h>
-#endif
-
-struct smartlist_t;
-
-void tor_disable_spawning_background_processes(void);
-
-typedef struct process_handle_t process_handle_t;
-struct process_environment_t;
-int tor_spawn_background(const char *const filename, const char **argv,
- struct process_environment_t *env,
- process_handle_t **process_handle_out);
-
-#define SPAWN_ERROR_MESSAGE "ERR: Failed to spawn background process - code "
-
-/** Status of an I/O stream. */
-enum stream_status {
- IO_STREAM_OKAY,
- IO_STREAM_EAGAIN,
- IO_STREAM_TERM,
- IO_STREAM_CLOSED
-};
-
-const char *stream_status_to_string(enum stream_status stream_status);
-
-enum stream_status get_string_from_pipe(int fd, char *buf, size_t count);
-
-/* Values of process_handle_t.status. */
-#define PROCESS_STATUS_NOTRUNNING 0
-#define PROCESS_STATUS_RUNNING 1
-#define PROCESS_STATUS_ERROR -1
-
-#ifdef SUBPROCESS_PRIVATE
-struct waitpid_callback_t;
-
-/** Structure to represent the state of a process with which Tor is
- * communicating. The contents of this structure are private to util.c */
-struct process_handle_t {
- /** One of the PROCESS_STATUS_* values */
- int status;
-#ifdef _WIN32
- HANDLE stdin_pipe;
- HANDLE stdout_pipe;
- HANDLE stderr_pipe;
- PROCESS_INFORMATION pid;
-#else /* !(defined(_WIN32)) */
- int stdin_pipe;
- int stdout_pipe;
- int stderr_pipe;
- pid_t pid;
- /** If the process has not given us a SIGCHLD yet, this has the
- * waitpid_callback_t that gets invoked once it has. Otherwise this
- * contains NULL. */
- struct waitpid_callback_t *waitpid_cb;
- /** The exit status reported by waitpid. */
- int waitpid_exit_status;
-#endif /* defined(_WIN32) */
-};
-#endif /* defined(SUBPROCESS_PRIVATE) */
-
-/* Return values of tor_get_exit_code() */
-#define PROCESS_EXIT_RUNNING 1
-#define PROCESS_EXIT_EXITED 0
-#define PROCESS_EXIT_ERROR -1
-int tor_get_exit_code(process_handle_t *process_handle,
- int block, int *exit_code);
-int tor_split_lines(struct smartlist_t *sl, char *buf, int len);
-#ifdef _WIN32
-ssize_t tor_read_all_handle(HANDLE h, char *buf, size_t count,
- const process_handle_t *process);
-#else
-ssize_t tor_read_all_handle(int fd, char *buf, size_t count,
- const process_handle_t *process,
- int *eof);
-#endif /* defined(_WIN32) */
-ssize_t tor_read_all_from_process_stdout(
- const process_handle_t *process_handle, char *buf, size_t count);
-ssize_t tor_read_all_from_process_stderr(
- const process_handle_t *process_handle, char *buf, size_t count);
-char *tor_join_win_cmdline(const char *argv[]);
-
-int tor_process_get_pid(process_handle_t *process_handle);
-#ifdef _WIN32
-HANDLE tor_process_get_stdout_pipe(process_handle_t *process_handle);
-#else
-int tor_process_get_stdout_pipe(process_handle_t *process_handle);
-#endif
-
-#ifdef _WIN32
-MOCK_DECL(struct smartlist_t *, tor_get_lines_from_handle,(HANDLE *handle,
- enum stream_status *stream_status));
-#else
-MOCK_DECL(struct smartlist_t *, tor_get_lines_from_handle,(int fd,
- enum stream_status *stream_status));
-#endif /* defined(_WIN32) */
-
-int tor_terminate_process(process_handle_t *process_handle);
-
-MOCK_DECL(void, tor_process_handle_destroy,(process_handle_t *process_handle,
- int also_terminate_process));
-
-#ifdef SUBPROCESS_PRIVATE
-/* Prototypes for private functions only used by util.c (and unit tests) */
-
-#ifndef _WIN32
-STATIC int format_helper_exit_status(unsigned char child_state,
- int saved_errno, char *hex_errno);
-
-/* Space for hex values of child state, a slash, saved_errno (with
- leading minus) and newline (no null) */
-#define HEX_ERRNO_SIZE (sizeof(char) * 2 + 1 + \
- 1 + sizeof(int) * 2 + 1)
-#endif /* !defined(_WIN32) */
-
-#endif /* defined(SUBPROCESS_PRIVATE) */
-
-#endif
diff --git a/src/lib/process/waitpid.c b/src/lib/process/waitpid.c
index 32ba4530da..46d30bf50e 100644
--- a/src/lib/process/waitpid.c
+++ b/src/lib/process/waitpid.c
@@ -16,7 +16,7 @@
#include "lib/log/log.h"
#include "lib/log/util_bug.h"
#include "lib/malloc/malloc.h"
-#include "ht.h"
+#include "ext/ht.h"
#ifdef HAVE_SYS_WAIT_H
#include <sys/wait.h>
diff --git a/src/lib/process/winprocess_sys.c b/src/lib/process/winprocess_sys.c
new file mode 100644
index 0000000000..ef66f8bfb1
--- /dev/null
+++ b/src/lib/process/winprocess_sys.c
@@ -0,0 +1,64 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file winprocess_sys.c
+ * \brief Subsystem object for windows process setup.
+ **/
+
+#include "orconfig.h"
+#include "lib/subsys/subsys.h"
+#include "lib/process/winprocess_sys.h"
+
+#include <stdbool.h>
+#include <stddef.h>
+
+#ifdef _WIN32
+#include <windows.h>
+
+#define WINPROCESS_SYS_ENABLED true
+
+static int
+subsys_winprocess_initialize(void)
+{
+#ifndef HeapEnableTerminationOnCorruption
+#define HeapEnableTerminationOnCorruption 1
+#endif
+
+ /* On heap corruption, just give up; don't try to play along. */
+ HeapSetInformation(NULL, HeapEnableTerminationOnCorruption, NULL, 0);
+
+ /* SetProcessDEPPolicy is only supported on 32-bit Windows.
+ * (On 64-bit Windows it always fails, and some compilers don't like the
+ * PSETDEP cast.)
+ * 32-bit Windows defines _WIN32.
+ * 64-bit Windows defines _WIN32 and _WIN64. */
+#ifndef _WIN64
+ /* Call SetProcessDEPPolicy to permanently enable DEP.
+ The function will not resolve on earlier versions of Windows,
+ and failure is not dangerous. */
+ HMODULE hMod = GetModuleHandleA("Kernel32.dll");
+ if (hMod) {
+ typedef BOOL (WINAPI *PSETDEP)(DWORD);
+ PSETDEP setdeppolicy = (PSETDEP)GetProcAddress(hMod,
+ "SetProcessDEPPolicy");
+ if (setdeppolicy) {
+ /* PROCESS_DEP_ENABLE | PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION */
+ setdeppolicy(3);
+ }
+ }
+#endif /* !defined(_WIN64) */
+
+ return 0;
+}
+#else /* !defined(_WIN32) */
+#define WINPROCESS_SYS_ENABLED false
+#define subsys_winprocess_initialize NULL
+#endif /* defined(_WIN32) */
+
+const subsys_fns_t sys_winprocess = {
+ .name = "winprocess",
+ .level = -100,
+ .supported = WINPROCESS_SYS_ENABLED,
+ .initialize = subsys_winprocess_initialize,
+};
diff --git a/src/lib/process/winprocess_sys.h b/src/lib/process/winprocess_sys.h
new file mode 100644
index 0000000000..cb096e0c92
--- /dev/null
+++ b/src/lib/process/winprocess_sys.h
@@ -0,0 +1,14 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file winprocess_sys.h
+ * \brief Declare subsystem object for winprocess.c
+ **/
+
+#ifndef TOR_WINPROCESS_SYS_H
+#define TOR_WINPROCESS_SYS_H
+
+extern const struct subsys_fns_t sys_winprocess;
+
+#endif /* !defined(TOR_WINPROCESS_SYS_H) */
diff --git a/src/lib/sandbox/.may_include b/src/lib/sandbox/.may_include
index 84906dfb3d..853dae7880 100644
--- a/src/lib/sandbox/.may_include
+++ b/src/lib/sandbox/.may_include
@@ -5,11 +5,10 @@ lib/container/*.h
lib/err/*.h
lib/log/*.h
lib/malloc/*.h
-lib/net/*.h
lib/sandbox/*.h
lib/sandbox/*.inc
lib/string/*.h
-ht.h
-siphash.h
-tor_queue.h
+ext/ht.h
+ext/siphash.h
+ext/tor_queue.h
diff --git a/src/lib/sandbox/sandbox.c b/src/lib/sandbox/sandbox.c
index 48e37ba127..ea738b273e 100644
--- a/src/lib/sandbox/sandbox.c
+++ b/src/lib/sandbox/sandbox.c
@@ -38,13 +38,12 @@
#include "lib/err/torerr.h"
#include "lib/log/log.h"
#include "lib/cc/torint.h"
-#include "lib/net/resolve.h"
#include "lib/malloc/malloc.h"
#include "lib/string/scanf.h"
-#include "tor_queue.h"
-#include "ht.h"
-#include "siphash.h"
+#include "ext/tor_queue.h"
+#include "ext/ht.h"
+#include "ext/siphash.h"
#define DEBUGGING_CLOSE
@@ -222,6 +221,7 @@ static int filter_nopar_gen[] = {
#ifdef __NR_setrlimit
SCMP_SYS(setrlimit),
#endif
+ SCMP_SYS(shutdown),
#ifdef __NR_sigaltstack
SCMP_SYS(sigaltstack),
#endif
@@ -1552,7 +1552,6 @@ install_syscall_filter(sandbox_cfg_t* cfg)
// marking the sandbox as active
sandbox_active = 1;
- tor_make_getaddrinfo_cache_active();
end:
seccomp_release(ctx);
@@ -1799,8 +1798,4 @@ sandbox_is_active(void)
return 0;
}
-void
-sandbox_disable_getaddrinfo_cache(void)
-{
-}
#endif /* !defined(USE_LIBSECCOMP) */
diff --git a/src/lib/smartlist_core/.may_include b/src/lib/smartlist_core/.may_include
index a8507761a4..2f0c8d341e 100644
--- a/src/lib/smartlist_core/.may_include
+++ b/src/lib/smartlist_core/.may_include
@@ -4,4 +4,4 @@ lib/malloc/*.h
lib/err/*.h
lib/string/*.h
lib/smartlist_core/*.h
-lib/testsupport/testsupport.h
+lib/testsupport/*.h
diff --git a/src/lib/string/.may_include b/src/lib/string/.may_include
index ec5c769831..1fb9127f19 100644
--- a/src/lib/string/.may_include
+++ b/src/lib/string/.may_include
@@ -6,5 +6,5 @@ lib/malloc/*.h
lib/ctime/*.h
lib/string/*.h
-strlcat.c
-strlcpy.c
+ext/strlcat.c
+ext/strlcpy.c
diff --git a/src/lib/string/compat_string.c b/src/lib/string/compat_string.c
index eae82fdae0..b3f1e0fd96 100644
--- a/src/lib/string/compat_string.c
+++ b/src/lib/string/compat_string.c
@@ -14,10 +14,10 @@
/* Inline the strl functions if the platform doesn't have them. */
#ifndef HAVE_STRLCPY
-#include "strlcpy.c"
+#include "ext/strlcpy.c"
#endif
#ifndef HAVE_STRLCAT
-#include "strlcat.c"
+#include "ext/strlcat.c"
#endif
#include <stdlib.h>
diff --git a/src/lib/string/util_string.c b/src/lib/string/util_string.c
index b2b85d151d..e76e73046f 100644
--- a/src/lib/string/util_string.c
+++ b/src/lib/string/util_string.c
@@ -541,3 +541,16 @@ string_is_utf8(const char *str, size_t len)
}
return true;
}
+
+/** As string_is_utf8(), but returns false if the string begins with a UTF-8
+ * byte order mark (BOM).
+ */
+int
+string_is_utf8_no_bom(const char *str, size_t len)
+{
+ if (len >= 3 && (!strcmpstart(str, "\uFEFF") ||
+ !strcmpstart(str, "\uFFFE"))) {
+ return false;
+ }
+ return string_is_utf8(str, len);
+}
diff --git a/src/lib/string/util_string.h b/src/lib/string/util_string.h
index 746ece0d33..99467a27c3 100644
--- a/src/lib/string/util_string.h
+++ b/src/lib/string/util_string.h
@@ -53,5 +53,6 @@ const char *find_str_at_start_of_line(const char *haystack,
int string_is_C_identifier(const char *string);
int string_is_utf8(const char *str, size_t len);
+int string_is_utf8_no_bom(const char *str, size_t len);
#endif /* !defined(TOR_UTIL_STRING_H) */
diff --git a/src/lib/subsys/.may_include b/src/lib/subsys/.may_include
new file mode 100644
index 0000000000..2b06e8519c
--- /dev/null
+++ b/src/lib/subsys/.may_include
@@ -0,0 +1 @@
+orconfig.h
diff --git a/src/lib/subsys/include.am b/src/lib/subsys/include.am
new file mode 100644
index 0000000000..4741126b14
--- /dev/null
+++ b/src/lib/subsys/include.am
@@ -0,0 +1,3 @@
+
+noinst_HEADERS += \
+ src/lib/subsys/subsys.h
diff --git a/src/lib/subsys/subsys.h b/src/lib/subsys/subsys.h
new file mode 100644
index 0000000000..2452ec6e2f
--- /dev/null
+++ b/src/lib/subsys/subsys.h
@@ -0,0 +1,95 @@
+/* Copyright (c) 2003-2004, Roger Dingledine
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#ifndef TOR_SUBSYS_T
+#define TOR_SUBSYS_T
+
+#include <stdbool.h>
+
+struct dispatch_connector_t;
+
+/**
+ * A subsystem is a part of Tor that is initialized, shut down, configured,
+ * and connected to other parts of Tor.
+ *
+ * All callbacks are optional -- if a callback is set to NULL, the subsystem
+ * manager will treat it as a no-op.
+ *
+ * You should use c99 named-field initializers with this structure: we
+ * will be adding more fields, often in the middle of the structure.
+ **/
+typedef struct subsys_fns_t {
+ /**
+ * The name of this subsystem. It should be a programmer-readable
+ * identifier.
+ **/
+ const char *name;
+
+ /**
+ * Whether this subsystem is supported -- that is, whether it is compiled
+ * into Tor. For most subsystems, this should be true.
+ **/
+ bool supported;
+
+ /**
+ * The 'initialization level' for the subsystem. It should run from -100
+ * through +100. The subsystems are initialized from lowest level to
+ * highest, and shut down from highest level to lowest.
+ **/
+ int level;
+
+ /**
+ * Initialize any global components of this subsystem.
+ *
+ * This function MAY rely on any lower-level subsystem being initialized.
+ *
+ * This function MUST NOT rely on any runtime configuration information;
+ * it is only for global state or pre-configuration state.
+ *
+ * (If you need to do any setup that depends on configuration, you'll need
+ * to declare a configuration callback. (Not yet designed))
+ *
+ * This function MUST NOT have any parts that can fail.
+ **/
+ int (*initialize)(void);
+
+ /**
+ * Connect a subsystem to the message dispatch system.
+ **/
+ int (*add_pubsub)(struct dispatch_connector_t *);
+
+ /**
+ * Perform any necessary pre-fork cleanup. This function may not fail.
+ */
+ void (*prefork)(void);
+
+ /**
+ * Perform any necessary post-fork setup. This function may not fail.
+ */
+ void (*postfork)(void);
+
+ /**
+ * Free any thread-local resources held by this subsystem. Called before
+ * the thread exits.
+ */
+ void (*thread_cleanup)(void);
+
+ /**
+ * Free all resources held by this subsystem.
+ *
+ * This function is not allowed to fail.
+ **/
+ void (*shutdown)(void);
+
+} subsys_fns_t;
+
+#define MIN_SUBSYS_LEVEL -100
+#define MAX_SUBSYS_LEVEL 100
+
+/* All tor "libraries" (in src/libs) should have a subsystem level equal to or
+ * less than this value. */
+#define SUBSYS_LEVEL_LIBS -10
+
+#endif
diff --git a/src/lib/term/.may_include b/src/lib/term/.may_include
index c93a06e59e..306fa57b7a 100644
--- a/src/lib/term/.may_include
+++ b/src/lib/term/.may_include
@@ -5,5 +5,4 @@ lib/log/*.h
lib/term/*.h
lib/malloc/*.h
-# From src/ext
-tor_readpassphrase.h
+ext/tor_readpassphrase.h
diff --git a/src/lib/term/getpass.c b/src/lib/term/getpass.c
index 27a27179b6..a473fb765b 100644
--- a/src/lib/term/getpass.c
+++ b/src/lib/term/getpass.c
@@ -36,7 +36,7 @@ SecureZeroMemory(PVOID ptr, SIZE_T cnt)
#elif defined(HAVE_READPASSPHRASE_H)
#include <readpassphrase.h>
#else
-#include "tor_readpassphrase.h"
+#include "ext/tor_readpassphrase.h"
#endif /* defined(_WIN32) || ... */
#include <stdlib.h>
diff --git a/src/lib/thread/.may_include b/src/lib/thread/.may_include
index 93ad0cd734..02711348c5 100644
--- a/src/lib/thread/.may_include
+++ b/src/lib/thread/.may_include
@@ -2,5 +2,7 @@ orconfig.h
lib/cc/*.h
lib/lock/*.h
lib/log/*.h
+lib/subsys/*.h
lib/testsupport/*.h
lib/thread/*.h
+lib/wallclock/*.h
diff --git a/src/lib/thread/compat_pthreads.c b/src/lib/thread/compat_pthreads.c
index 934067e4c1..e5c8805ddc 100644
--- a/src/lib/thread/compat_pthreads.c
+++ b/src/lib/thread/compat_pthreads.c
@@ -12,6 +12,7 @@
#include "orconfig.h"
#include "lib/thread/threads.h"
+#include "lib/wallclock/timeval.h"
#include "lib/log/log.h"
#include "lib/log/util_bug.h"
diff --git a/src/lib/thread/compat_threads.c b/src/lib/thread/compat_threads.c
index 7f1970af45..0b466da212 100644
--- a/src/lib/thread/compat_threads.c
+++ b/src/lib/thread/compat_threads.c
@@ -14,9 +14,11 @@
#include "orconfig.h"
#include <stdlib.h>
#include "lib/thread/threads.h"
+#include "lib/thread/thread_sys.h"
#include "lib/log/log.h"
#include "lib/log/util_bug.h"
+#include "lib/subsys/subsys.h"
#include <string.h>
@@ -109,3 +111,17 @@ atomic_counter_exchange(atomic_counter_t *counter, size_t newval)
return oldval;
}
#endif /* !defined(HAVE_WORKING_STDATOMIC) */
+
+static int
+subsys_threads_initialize(void)
+{
+ tor_threads_init();
+ return 0;
+}
+
+const subsys_fns_t sys_threads = {
+ .name = "threads",
+ .supported = true,
+ .level = -95,
+ .initialize = subsys_threads_initialize,
+};
diff --git a/src/lib/thread/include.am b/src/lib/thread/include.am
index 9ec23d166e..695795a2c8 100644
--- a/src/lib/thread/include.am
+++ b/src/lib/thread/include.am
@@ -23,5 +23,6 @@ src_lib_libtor_thread_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
src_lib_libtor_thread_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
noinst_HEADERS += \
- src/lib/thread/threads.h \
- src/lib/thread/numcpus.h
+ src/lib/thread/numcpus.h \
+ src/lib/thread/thread_sys.h \
+ src/lib/thread/threads.h
diff --git a/src/lib/thread/thread_sys.h b/src/lib/thread/thread_sys.h
new file mode 100644
index 0000000000..984abe88e8
--- /dev/null
+++ b/src/lib/thread/thread_sys.h
@@ -0,0 +1,14 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file threads_sys.h
+ * \brief Declare subsystem object for threads library
+ **/
+
+#ifndef TOR_THREADS_SYS_H
+#define TOR_THREADS_SYS_H
+
+extern const struct subsys_fns_t sys_threads;
+
+#endif /* !defined(TOR_THREADS_SYS_H) */
diff --git a/src/lib/time/.may_include b/src/lib/time/.may_include
index 2c7e37a836..40a18805ac 100644
--- a/src/lib/time/.may_include
+++ b/src/lib/time/.may_include
@@ -4,6 +4,7 @@ lib/cc/*.h
lib/err/*.h
lib/intmath/*.h
lib/log/*.h
+lib/subsys/*.h
lib/time/*.h
lib/wallclock/*.h
diff --git a/src/lib/time/include.am b/src/lib/time/include.am
index a3f93a3744..dae16f49ac 100644
--- a/src/lib/time/include.am
+++ b/src/lib/time/include.am
@@ -7,6 +7,7 @@ endif
src_lib_libtor_time_a_SOURCES = \
src/lib/time/compat_time.c \
+ src/lib/time/time_sys.c \
src/lib/time/tvdiff.c
src_lib_libtor_time_testing_a_SOURCES = \
@@ -16,4 +17,5 @@ src_lib_libtor_time_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
noinst_HEADERS += \
src/lib/time/compat_time.h \
+ src/lib/time/time_sys.h \
src/lib/time/tvdiff.h
diff --git a/src/lib/time/time_sys.c b/src/lib/time/time_sys.c
new file mode 100644
index 0000000000..b29ca35e69
--- /dev/null
+++ b/src/lib/time/time_sys.c
@@ -0,0 +1,26 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file time_sys.c
+ * \brief Subsystem object for monotime setup.
+ **/
+
+#include "orconfig.h"
+#include "lib/subsys/subsys.h"
+#include "lib/time/time_sys.h"
+#include "lib/time/compat_time.h"
+
+static int
+subsys_time_initialize(void)
+{
+ monotime_init();
+ return 0;
+}
+
+const subsys_fns_t sys_time = {
+ .name = "time",
+ .level = -90,
+ .supported = true,
+ .initialize = subsys_time_initialize,
+};
diff --git a/src/lib/time/time_sys.h b/src/lib/time/time_sys.h
new file mode 100644
index 0000000000..0f1aebc268
--- /dev/null
+++ b/src/lib/time/time_sys.h
@@ -0,0 +1,14 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file log_time.h
+ * \brief Declare subsystem object for the time module.
+ **/
+
+#ifndef TOR_TIME_SYS_H
+#define TOR_TIME_SYS_H
+
+extern const struct subsys_fns_t sys_time;
+
+#endif /* !defined(TOR_TIME_SYS_H) */
diff --git a/src/lib/tls/.may_include b/src/lib/tls/.may_include
index 2840e590b8..c550bde024 100644
--- a/src/lib/tls/.may_include
+++ b/src/lib/tls/.may_include
@@ -1,6 +1,7 @@
orconfig.h
lib/arch/*.h
+lib/buf/*.h
lib/cc/*.h
lib/container/*.h
lib/crypt_ops/*.h
@@ -11,7 +12,7 @@ lib/log/*.h
lib/malloc/*.h
lib/net/*.h
lib/string/*.h
-lib/testsupport/testsupport.h
+lib/subsys/*.h
+lib/testsupport/*.h
lib/tls/*.h
-
-ciphers.inc
+lib/tls/*.inc
diff --git a/src/lib/tls/buffers_tls.c b/src/lib/tls/buffers_tls.c
index 69ae4f7fc0..b4059292ea 100644
--- a/src/lib/tls/buffers_tls.c
+++ b/src/lib/tls/buffers_tls.c
@@ -12,7 +12,7 @@
#define BUFFERS_PRIVATE
#include "orconfig.h"
#include <stddef.h>
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "lib/tls/buffers_tls.h"
#include "lib/cc/torint.h"
#include "lib/log/log.h"
diff --git a/src/lib/tls/include.am b/src/lib/tls/include.am
index a664b29fb2..1817739eef 100644
--- a/src/lib/tls/include.am
+++ b/src/lib/tls/include.am
@@ -36,5 +36,6 @@ noinst_HEADERS += \
src/lib/tls/tortls.h \
src/lib/tls/tortls_internal.h \
src/lib/tls/tortls_st.h \
+ src/lib/tls/tortls_sys.h \
src/lib/tls/x509.h \
src/lib/tls/x509_internal.h
diff --git a/src/lib/tls/tortls.c b/src/lib/tls/tortls.c
index 56f70bc371..654cacacf7 100644
--- a/src/lib/tls/tortls.c
+++ b/src/lib/tls/tortls.c
@@ -7,6 +7,7 @@
#define TOR_X509_PRIVATE
#include "lib/tls/x509.h"
#include "lib/tls/x509_internal.h"
+#include "lib/tls/tortls_sys.h"
#include "lib/tls/tortls.h"
#include "lib/tls/tortls_st.h"
#include "lib/tls/tortls_internal.h"
@@ -15,6 +16,7 @@
#include "lib/crypt_ops/crypto_rsa.h"
#include "lib/crypt_ops/crypto_rand.h"
#include "lib/net/socket.h"
+#include "lib/subsys/subsys.h"
#ifdef _WIN32
#include <winsock2.h>
@@ -440,3 +442,15 @@ tor_tls_verify(int severity, tor_tls_t *tls, crypto_pk_t **identity)
return rv;
}
+
+static void
+subsys_tortls_shutdown(void)
+{
+ tor_tls_free_all();
+}
+
+const subsys_fns_t sys_tortls = {
+ .name = "tortls",
+ .level = -50,
+ .shutdown = subsys_tortls_shutdown
+};
diff --git a/src/lib/tls/tortls_openssl.c b/src/lib/tls/tortls_openssl.c
index 227225b96e..ddeaabc416 100644
--- a/src/lib/tls/tortls_openssl.c
+++ b/src/lib/tls/tortls_openssl.c
@@ -461,7 +461,7 @@ static const char UNRESTRICTED_SERVER_CIPHER_LIST[] =
/** List of ciphers that clients should advertise, omitting items that
* our OpenSSL doesn't know about. */
static const char CLIENT_CIPHER_LIST[] =
-#include "ciphers.inc"
+#include "lib/tls/ciphers.inc"
/* Tell it not to use SSLv2 ciphers, so that it can select an SSLv3 version
* of any cipher we say. */
"!SSLv2"
@@ -639,6 +639,22 @@ tor_tls_context_new(crypto_pk_t *identity, unsigned int key_lifetime,
SSL_CTX_set_tmp_dh(result->ctx, dh);
DH_free(dh);
}
+/* We check for this function in two ways, since it might be either a symbol
+ * or a macro. */
+#if defined(SSL_CTX_set1_groups_list) || defined(HAVE_SSL_CTX_SET1_GROUPS_LIST)
+ {
+ const char *list;
+ if (flags & TOR_TLS_CTX_USE_ECDHE_P224)
+ list = "P-224:P-256";
+ else if (flags & TOR_TLS_CTX_USE_ECDHE_P256)
+ list = "P-256:P-224";
+ else
+ list = "P-256:P-224";
+ int r = (int) SSL_CTX_set1_groups_list(result->ctx, list);
+ if (r < 0)
+ goto error;
+ }
+#else
if (! is_client) {
int nid;
EC_KEY *ec_key;
@@ -654,6 +670,7 @@ tor_tls_context_new(crypto_pk_t *identity, unsigned int key_lifetime,
SSL_CTX_set_tmp_ecdh(result->ctx, ec_key);
EC_KEY_free(ec_key);
}
+#endif
SSL_CTX_set_verify(result->ctx, SSL_VERIFY_PEER,
always_accept_verify_cb);
/* let us realloc bufs that we're writing from */
diff --git a/src/lib/tls/tortls_sys.h b/src/lib/tls/tortls_sys.h
new file mode 100644
index 0000000000..fd909f6019
--- /dev/null
+++ b/src/lib/tls/tortls_sys.h
@@ -0,0 +1,14 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file tortls_sys.h
+ * \brief Declare subsystem object for the tortls module
+ **/
+
+#ifndef TOR_TORTLS_SYS_H
+#define TOR_TORTLS_SYS_H
+
+extern const struct subsys_fns_t sys_tortls;
+
+#endif /* !defined(TOR_TORTLS_SYS_H) */
diff --git a/src/lib/version/.may_include b/src/lib/version/.may_include
new file mode 100644
index 0000000000..d159ceb41f
--- /dev/null
+++ b/src/lib/version/.may_include
@@ -0,0 +1,3 @@
+orconfig.h
+micro-revision.i
+lib/version/*.h \ No newline at end of file
diff --git a/src/lib/log/git_revision.c b/src/lib/version/git_revision.c
index 9d29ecd2a2..e5b2ff534e 100644
--- a/src/lib/log/git_revision.c
+++ b/src/lib/version/git_revision.c
@@ -4,7 +4,7 @@
/* See LICENSE for licensing information */
#include "orconfig.h"
-#include "lib/log/git_revision.h"
+#include "lib/version/git_revision.h"
/** String describing which Tor Git repository version the source was
* built from. This string is generated by a bit of shell kludging in
diff --git a/src/lib/log/git_revision.h b/src/lib/version/git_revision.h
index 0ce1190795..0ce1190795 100644
--- a/src/lib/log/git_revision.h
+++ b/src/lib/version/git_revision.h
diff --git a/src/lib/version/include.am b/src/lib/version/include.am
new file mode 100644
index 0000000000..6944eb05e3
--- /dev/null
+++ b/src/lib/version/include.am
@@ -0,0 +1,25 @@
+
+noinst_LIBRARIES += src/lib/libtor-version.a
+
+if UNITTESTS_ENABLED
+noinst_LIBRARIES += src/lib/libtor-version-testing.a
+endif
+
+src_lib_libtor_version_a_SOURCES = \
+ src/lib/version/git_revision.c \
+ src/lib/version/version.c
+
+src_lib_libtor_version_testing_a_SOURCES = \
+ $(src_lib_libtor_version_a_SOURCES)
+src_lib_libtor_version_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
+src_lib_libtor_version_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
+
+# Declare that these object files depend on micro-revision.i. Without this
+# rule, we could try to build them before micro-revision.i was created.
+src/lib/version/git_revision.$(OBJEXT) \
+ src/lib/version/src_lib_libtor_version_testing_a-git_revision.$(OBJEXT): \
+ micro-revision.i
+
+noinst_HEADERS += \
+ src/lib/version/git_revision.h \
+ src/lib/version/torversion.h
diff --git a/src/lib/version/torversion.h b/src/lib/version/torversion.h
new file mode 100644
index 0000000000..761d6f25ab
--- /dev/null
+++ b/src/lib/version/torversion.h
@@ -0,0 +1,12 @@
+/* Copyright 2001-2004 Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#ifndef TOR_VERSION_H
+#define TOR_VERSION_H
+
+const char *get_version(void);
+const char *get_short_version(void);
+
+#endif /* !defined(TOR_VERSION_H) */
diff --git a/src/lib/version/version.c b/src/lib/version/version.c
new file mode 100644
index 0000000000..29ada39c9d
--- /dev/null
+++ b/src/lib/version/version.c
@@ -0,0 +1,50 @@
+/* Copyright 2001-2004 Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#include "orconfig.h"
+#include "lib/version/torversion.h"
+#include "lib/version/git_revision.h"
+
+#include <stdio.h>
+#include <string.h>
+
+/** A shorter version of this Tor process's version, for export in our router
+ * descriptor. (Does not include the git version, if any.) */
+static const char the_short_tor_version[] =
+ VERSION
+#ifdef TOR_BUILD_TAG
+ " ("TOR_BUILD_TAG")"
+#endif
+ "";
+
+#define MAX_VERSION_LEN 128
+
+/** The version of this Tor process, possibly including git version */
+static char the_tor_version[MAX_VERSION_LEN] = "";
+
+/** Return the current Tor version. */
+const char *
+get_version(void)
+{
+ if (the_tor_version[0] == 0) {
+ if (strlen(tor_git_revision)) {
+ snprintf(the_tor_version, sizeof(the_tor_version),
+ "%s (git-%s)", the_short_tor_version, tor_git_revision);
+ } else {
+ snprintf(the_tor_version, sizeof(the_tor_version),
+ "%s", the_short_tor_version);
+ }
+ the_tor_version[sizeof(the_tor_version)-1] = 0;
+ }
+
+ return the_tor_version;
+}
+
+/** Return the current Tor version, without any git tag. */
+const char *
+get_short_version(void)
+{
+ return the_short_tor_version;
+}
diff --git a/src/lib/wallclock/.may_include b/src/lib/wallclock/.may_include
index dc010da063..ce7a26472b 100644
--- a/src/lib/wallclock/.may_include
+++ b/src/lib/wallclock/.may_include
@@ -3,4 +3,5 @@ lib/cc/*.h
lib/err/*.h
lib/wallclock/*.h
lib/string/*.h
+lib/subsys/*.h
lib/testsupport/*.h
diff --git a/src/lib/wallclock/approx_time.c b/src/lib/wallclock/approx_time.c
index bb9a292369..0b0ef382c2 100644
--- a/src/lib/wallclock/approx_time.c
+++ b/src/lib/wallclock/approx_time.c
@@ -9,7 +9,9 @@
**/
#include "orconfig.h"
+#include "lib/subsys/subsys.h"
#include "lib/wallclock/approx_time.h"
+#include "lib/wallclock/wallclock_sys.h"
/* =====
* Cached time
@@ -41,3 +43,17 @@ update_approx_time(time_t now)
cached_approx_time = now;
}
#endif /* !defined(TIME_IS_FAST) */
+
+static int
+subsys_wallclock_initialize(void)
+{
+ update_approx_time(time(NULL));
+ return 0;
+}
+
+const subsys_fns_t sys_wallclock = {
+ .name = "wallclock",
+ .supported = true,
+ .level = -99,
+ .initialize = subsys_wallclock_initialize,
+};
diff --git a/src/lib/wallclock/include.am b/src/lib/wallclock/include.am
index 1961639bd7..2351252e0c 100644
--- a/src/lib/wallclock/include.am
+++ b/src/lib/wallclock/include.am
@@ -19,4 +19,5 @@ noinst_HEADERS += \
src/lib/wallclock/approx_time.h \
src/lib/wallclock/timeval.h \
src/lib/wallclock/time_to_tm.h \
- src/lib/wallclock/tor_gettimeofday.h
+ src/lib/wallclock/tor_gettimeofday.h \
+ src/lib/wallclock/wallclock_sys.h
diff --git a/src/lib/wallclock/wallclock_sys.h b/src/lib/wallclock/wallclock_sys.h
new file mode 100644
index 0000000000..e009578a83
--- /dev/null
+++ b/src/lib/wallclock/wallclock_sys.h
@@ -0,0 +1,14 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file wallclock_sys.h
+ * \brief Declare subsystem object for the wallclock module.
+ **/
+
+#ifndef TOR_WALLCLOCK_SYS_H
+#define TOR_WALLCLOCK_SYS_H
+
+extern const struct subsys_fns_t sys_wallclock;
+
+#endif /* !defined(TOR_WALLCLOCK_SYS_H) */
diff --git a/src/rust/Cargo.lock b/src/rust/Cargo.lock
index 1d2a7359aa..7d6a6635c5 100644
--- a/src/rust/Cargo.lock
+++ b/src/rust/Cargo.lock
@@ -26,6 +26,7 @@ version = "0.0.1"
dependencies = [
"libc 0.2.39 (registry+https://github.com/rust-lang/crates.io-index)",
"smartlist 0.0.1",
+ "tor_allocate 0.0.1",
]
[[package]]
diff --git a/src/rust/Cargo.toml b/src/rust/Cargo.toml
index e399dbb33a..83f9629660 100644
--- a/src/rust/Cargo.toml
+++ b/src/rust/Cargo.toml
@@ -13,19 +13,3 @@ members = [
[profile.release]
debug = true
panic = "abort"
-
-[features]
-default = []
-# If this feature is enabled, test code which calls Tor C code from Rust will
-# execute with `cargo test`. Due to numerous linker issues (#25386), this is
-# currently disabled by default. Crates listed here are those which, in their
-# unittests, doctests, and/or integration tests, call C code.
-test-c-from-rust = [
- "crypto/test-c-from-rust",
-]
-
-# We have to define a feature here because doctests don't get cfg(test),
-# and we need to disable some C dependencies when running the doctests
-# because of the various linker issues. See
-# https://github.com/rust-lang/rust/issues/45599
-test_linking_hack = []
diff --git a/src/rust/build.rs b/src/rust/build.rs
index 123d5c0682..5626b35f75 100644
--- a/src/rust/build.rs
+++ b/src/rust/build.rs
@@ -149,8 +149,9 @@ pub fn main() {
cfg.component("tor-sandbox-testing");
cfg.component("tor-encoding-testing");
cfg.component("tor-fs-testing");
- cfg.component("tor-time-testing");
cfg.component("tor-net-testing");
+ cfg.component("tor-buf-testing");
+ cfg.component("tor-time-testing");
cfg.component("tor-thread-testing");
cfg.component("tor-memarea-testing");
cfg.component("tor-log-testing");
@@ -162,6 +163,7 @@ pub fn main() {
cfg.component("tor-malloc");
cfg.component("tor-wallclock");
cfg.component("tor-err-testing");
+ cfg.component("tor-version-testing");
cfg.component("tor-intmath-testing");
cfg.component("tor-ctime-testing");
cfg.component("curve25519_donna");
diff --git a/src/rust/crypto/Cargo.toml b/src/rust/crypto/Cargo.toml
index 6ebfe0dc11..a7ff7f78d9 100644
--- a/src/rust/crypto/Cargo.toml
+++ b/src/rust/crypto/Cargo.toml
@@ -9,7 +9,6 @@ build = "../build.rs"
[lib]
name = "crypto"
path = "lib.rs"
-crate_type = ["rlib", "staticlib"]
[dependencies]
libc = "=0.2.39"
diff --git a/src/rust/external/Cargo.toml b/src/rust/external/Cargo.toml
index 4735144ee6..5f443645bb 100644
--- a/src/rust/external/Cargo.toml
+++ b/src/rust/external/Cargo.toml
@@ -5,14 +5,12 @@ name = "external"
[dependencies]
libc = "=0.2.39"
-
-[dependencies.smartlist]
-path = "../smartlist"
+smartlist = { path = "../smartlist" }
+tor_allocate = { path = "../tor_allocate" }
[lib]
name = "external"
path = "lib.rs"
-crate_type = ["rlib", "staticlib"]
[features]
# We have to define a feature here because doctests don't get cfg(test),
diff --git a/src/rust/external/lib.rs b/src/rust/external/lib.rs
index b72a4f6e4c..d68036fcad 100644
--- a/src/rust/external/lib.rs
+++ b/src/rust/external/lib.rs
@@ -8,7 +8,7 @@
//! module implementing this functionality repeatedly.
extern crate libc;
-
+extern crate tor_allocate;
extern crate smartlist;
pub mod crypto_digest;
diff --git a/src/rust/protover/Cargo.toml b/src/rust/protover/Cargo.toml
index 2f7783e76c..84a7c71c1a 100644
--- a/src/rust/protover/Cargo.toml
+++ b/src/rust/protover/Cargo.toml
@@ -31,4 +31,3 @@ path = "../tor_log"
[lib]
name = "protover"
path = "lib.rs"
-crate_type = ["rlib", "staticlib"]
diff --git a/src/rust/protover/ffi.rs b/src/rust/protover/ffi.rs
index f17f30127d..5c29adf045 100644
--- a/src/rust/protover/ffi.rs
+++ b/src/rust/protover/ffi.rs
@@ -7,7 +7,6 @@
use libc::{c_char, c_int, uint32_t};
use std::ffi::CStr;
-use std::ffi::CString;
use smartlist::*;
use tor_allocate::allocate_and_copy_string;
@@ -65,12 +64,7 @@ pub extern "C" fn protover_all_supported(
if missing_out.is_null() {
return 0;
}
- let c_unsupported: CString = match CString::new(unsupported.to_string()) {
- Ok(n) => n,
- Err(_) => return 1,
- };
-
- let ptr = c_unsupported.into_raw();
+ let ptr = allocate_and_copy_string(&unsupported.to_string());
unsafe { *missing_out = ptr };
return 0;
@@ -187,11 +181,7 @@ pub extern "C" fn protover_get_supported_protocols() -> *const c_char {
//
// Why is the threshold a signed integer? —isis
#[no_mangle]
-pub extern "C" fn protover_compute_vote(
- list: *const Stringlist,
- threshold: c_int,
- allow_long_proto_names: bool,
-) -> *mut c_char {
+pub extern "C" fn protover_compute_vote(list: *const Stringlist, threshold: c_int) -> *mut c_char {
if list.is_null() {
return allocate_and_copy_string("");
}
@@ -203,16 +193,9 @@ pub extern "C" fn protover_compute_vote(
let mut proto_entries: Vec<UnvalidatedProtoEntry> = Vec::new();
for datum in data {
- let entry: UnvalidatedProtoEntry = if allow_long_proto_names {
- match UnvalidatedProtoEntry::from_str_any_len(datum.as_str()) {
- Ok(n) => n,
- Err(_) => continue,
- }
- } else {
- match datum.parse() {
- Ok(n) => n,
- Err(_) => continue,
- }
+ let entry: UnvalidatedProtoEntry = match datum.parse() {
+ Ok(n) => n,
+ Err(_) => continue,
};
proto_entries.push(entry);
}
diff --git a/src/rust/smartlist/Cargo.toml b/src/rust/smartlist/Cargo.toml
index 4ecdf50869..a5afe7bf74 100644
--- a/src/rust/smartlist/Cargo.toml
+++ b/src/rust/smartlist/Cargo.toml
@@ -9,7 +9,6 @@ libc = "0.2.39"
[lib]
name = "smartlist"
path = "lib.rs"
-crate_type = ["rlib", "staticlib"]
[features]
# We have to define a feature here because doctests don't get cfg(test),
diff --git a/src/rust/smartlist/lib.rs b/src/rust/smartlist/lib.rs
index 2716842af2..34d0b907ed 100644
--- a/src/rust/smartlist/lib.rs
+++ b/src/rust/smartlist/lib.rs
@@ -6,3 +6,12 @@ extern crate libc;
mod smartlist;
pub use smartlist::*;
+
+// When testing we may be compiled with sanitizers which are incompatible with
+// Rust's default allocator, jemalloc (unsure why at this time). Most crates
+// link to `tor_allocate` which switches by default to a non-jemalloc allocator,
+// but we don't already depend on `tor_allocate` so make sure that while testing
+// we don't use jemalloc. (but rather malloc/free)
+#[global_allocator]
+#[cfg(test)]
+static A: std::alloc::System = std::alloc::System;
diff --git a/src/rust/tor_allocate/Cargo.toml b/src/rust/tor_allocate/Cargo.toml
index 7bb3b9887f..06ac605f17 100644
--- a/src/rust/tor_allocate/Cargo.toml
+++ b/src/rust/tor_allocate/Cargo.toml
@@ -9,7 +9,6 @@ libc = "=0.2.39"
[lib]
name = "tor_allocate"
path = "lib.rs"
-crate_type = ["rlib", "staticlib"]
[features]
# We have to define a feature here because doctests don't get cfg(test),
diff --git a/src/rust/tor_allocate/lib.rs b/src/rust/tor_allocate/lib.rs
index 5a355bc8d6..1cfa0b5178 100644
--- a/src/rust/tor_allocate/lib.rs
+++ b/src/rust/tor_allocate/lib.rs
@@ -11,5 +11,10 @@
extern crate libc;
+use std::alloc::System;
+
mod tor_allocate;
pub use tor_allocate::*;
+
+#[global_allocator]
+static A: System = System;
diff --git a/src/rust/tor_log/Cargo.toml b/src/rust/tor_log/Cargo.toml
index 1aa9be0612..14d9ae803a 100644
--- a/src/rust/tor_log/Cargo.toml
+++ b/src/rust/tor_log/Cargo.toml
@@ -6,7 +6,6 @@ authors = ["The Tor Project"]
[lib]
name = "tor_log"
path = "lib.rs"
-crate_type = ["rlib", "staticlib"]
[features]
# We have to define a feature here because doctests don't get cfg(test),
diff --git a/src/rust/tor_rust/Cargo.toml b/src/rust/tor_rust/Cargo.toml
index 1523ee0dd1..35c629882e 100644
--- a/src/rust/tor_rust/Cargo.toml
+++ b/src/rust/tor_rust/Cargo.toml
@@ -6,7 +6,7 @@ version = "0.1.0"
[lib]
name = "tor_rust"
path = "lib.rs"
-crate_type = ["rlib", "staticlib"]
+crate_type = ["staticlib"]
[dependencies.tor_util]
path = "../tor_util"
diff --git a/src/rust/tor_util/Cargo.toml b/src/rust/tor_util/Cargo.toml
index 51e4bd9c5d..9ffaeda8a6 100644
--- a/src/rust/tor_util/Cargo.toml
+++ b/src/rust/tor_util/Cargo.toml
@@ -6,7 +6,6 @@ version = "0.0.1"
[lib]
name = "tor_util"
path = "lib.rs"
-crate_type = ["rlib", "staticlib"]
[dependencies.tor_allocate]
path = "../tor_allocate"
diff --git a/src/rust/tor_util/strings.rs b/src/rust/tor_util/strings.rs
index d64275e06b..71a908a58c 100644
--- a/src/rust/tor_util/strings.rs
+++ b/src/rust/tor_util/strings.rs
@@ -105,11 +105,7 @@ macro_rules! cstr {
($($bytes:expr),*) => (
::std::ffi::CStr::from_bytes_with_nul(
concat!($($bytes),*, "\0").as_bytes()
- ).unwrap_or(
- unsafe{
- ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"\0")
- }
- )
+ ).unwrap_or_default()
)
}
diff --git a/src/test/Makefile.nmake b/src/test/Makefile.nmake
index cfbe281b94..aa16a22b52 100644
--- a/src/test/Makefile.nmake
+++ b/src/test/Makefile.nmake
@@ -1,4 +1,4 @@
-all: test.exe test-child.exe bench.exe
+all: test.exe bench.exe
CFLAGS = /I ..\win32 /I ..\..\..\build-alpha\include /I ..\common /I ..\or \
/I ..\ext
@@ -30,8 +30,5 @@ test.exe: $(TEST_OBJECTS)
bench.exe: bench.obj
$(CC) $(CFLAGS) bench.obj $(LIBS) ..\common\*.lib /Fe$@
-test-child.exe: test-child.obj
- $(CC) $(CFLAGS) test-child.obj /Fe$@
-
clean:
- del *.obj *.lib test.exe bench.exe test-child.exe
+ del *.obj *.lib test.exe bench.exe
diff --git a/src/test/bench.c b/src/test/bench.c
index 959d4374b1..f8680c3ab6 100644
--- a/src/test/bench.c
+++ b/src/test/bench.c
@@ -24,6 +24,7 @@
#include "core/or/circuitlist.h"
#include "app/config/config.h"
+#include "app/main/subsysmgr.h"
#include "lib/crypt_ops/crypto_curve25519.h"
#include "lib/crypt_ops/crypto_dh.h"
#include "core/crypto/onion_ntor.h"
@@ -38,6 +39,9 @@
#include "lib/crypt_ops/digestset.h"
#include "lib/crypt_ops/crypto_init.h"
+#include "feature/dirparse/microdesc_parse.h"
+#include "feature/nodelist/microdesc.h"
+
#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_PROCESS_CPUTIME_ID)
static uint64_t nanostart;
static inline uint64_t
@@ -638,6 +642,41 @@ bench_ecdh_p224(void)
}
#endif
+static void
+bench_md_parse(void)
+{
+ uint64_t start, end;
+ const int N = 100000;
+ // selected arbitrarily
+ const char md_text[] =
+ "@last-listed 2018-12-14 18:14:14\n"
+ "onion-key\n"
+ "-----BEGIN RSA PUBLIC KEY-----\n"
+ "MIGJAoGBAMHkZeXNDX/49JqM2BVLmh1Fnb5iMVnatvZZTLJyedqDLkbXZ1WKP5oh\n"
+ "7ec14dj/k3ntpwHD4s2o3Lb6nfagWbug4+F/rNJ7JuFru/PSyOvDyHGNAuegOXph\n"
+ "3gTGjdDpv/yPoiadGebbVe8E7n6hO+XxM2W/4dqheKimF0/s9B7HAgMBAAE=\n"
+ "-----END RSA PUBLIC KEY-----\n"
+ "ntor-onion-key QgF/EjqlNG1wRHLIop/nCekEH+ETGZSgYOhu26eiTF4=\n"
+ "family $00E9A86E7733240E60D8435A7BBD634A23894098 "
+ "$329BD7545DEEEBBDC8C4285F243916F248972102 "
+ "$69E06EBB2573A4F89330BDF8BC869794A3E10E4D "
+ "$DCA2A3FAE50B3729DAA15BC95FB21AF03389818B\n"
+ "p accept 53,80,443,5222-5223,25565\n"
+ "id ed25519 BzffzY99z6Q8KltcFlUTLWjNTBU7yKK+uQhyi1Ivb3A\n";
+
+ reset_perftime();
+ start = perftime();
+ for (int i = 0; i < N; ++i) {
+ smartlist_t *s = microdescs_parse_from_string(md_text, NULL, 1,
+ SAVED_IN_CACHE, NULL);
+ SMARTLIST_FOREACH(s, microdesc_t *, md, microdesc_free(md));
+ smartlist_free(s);
+ }
+
+ end = perftime();
+ printf("Microdesc parse: %f nsec\n", NANOCOUNT(start, end, N));
+}
+
typedef void (*bench_fn)(void);
typedef struct benchmark_t {
@@ -665,6 +704,8 @@ static struct benchmark_t benchmarks[] = {
ENT(ecdh_p256),
ENT(ecdh_p224),
#endif
+
+ ENT(md_parse),
{NULL,NULL,0}
};
@@ -690,9 +731,10 @@ main(int argc, const char **argv)
char *errmsg;
or_options_t *options;
- tor_threads_init();
+ subsystems_init_upto(SUBSYS_LEVEL_LIBS);
+ flush_log_messages_from_startup();
+
tor_compress_init();
- init_logging(1);
if (argc == 4 && !strcmp(argv[1], "diff")) {
const int N = 200;
@@ -702,11 +744,13 @@ main(int argc, const char **argv)
perror("X");
return 1;
}
+ size_t f1len = strlen(f1);
+ size_t f2len = strlen(f2);
for (i = 0; i < N; ++i) {
- char *diff = consensus_diff_generate(f1, f2);
+ char *diff = consensus_diff_generate(f1, f1len, f2, f2len);
tor_free(diff);
}
- char *diff = consensus_diff_generate(f1, f2);
+ char *diff = consensus_diff_generate(f1, f1len, f2, f2len);
printf("%s", diff);
tor_free(f1);
tor_free(f2);
@@ -737,7 +781,6 @@ main(int argc, const char **argv)
init_protocol_warning_severity_level();
options = options_new();
- init_logging(1);
options->command = CMD_RUN_UNITTESTS;
options->DataDirectory = tor_strdup("");
options->KeyDirectory = tor_strdup("");
diff --git a/src/test/bt_test.py b/src/test/bt_test.py
index 0eeb58c16c..f8894aac0b 100755
--- a/src/test/bt_test.py
+++ b/src/test/bt_test.py
@@ -44,10 +44,12 @@ print("BAD")
for l in LINES:
print("{}".format(l), end="")
-if sys.platform.startswith('freebsd'):
- # See bug #17808 if you know how to fix this.
- print("Test failed; but FreeBSD is known to have backtrace problems.\n"
- "Treating as 'SKIP'.")
+if (sys.platform.startswith('freebsd') or sys.platform.startswith('netbsd') or
+ sys.platform.startswith('openbsd') or sys.platform.startswith('darwin')):
+ # See bug #17808 if you know how to fix backtraces on BSD-derived systems
+ print("Test failed; but {} is known to have backtrace problems."
+ .format(sys.platform))
+ print("Treating as 'SKIP'.")
sys.exit(77)
sys.exit(1)
diff --git a/src/test/fuzz/fuzz_consensus.c b/src/test/fuzz/fuzz_consensus.c
index b56702a650..1a4195b418 100644
--- a/src/test/fuzz/fuzz_consensus.c
+++ b/src/test/fuzz/fuzz_consensus.c
@@ -61,13 +61,13 @@ int
fuzz_main(const uint8_t *data, size_t sz)
{
networkstatus_t *ns;
- char *str = tor_memdup_nulterm(data, sz);
const char *eos = NULL;
networkstatus_type_t tp = NS_TYPE_CONSENSUS;
if (tor_memstr(data, MIN(sz, 1024), "tus vote"))
tp = NS_TYPE_VOTE;
const char *what = (tp == NS_TYPE_CONSENSUS) ? "consensus" : "vote";
- ns = networkstatus_parse_vote_from_string(str,
+ ns = networkstatus_parse_vote_from_string((const char *)data,
+ sz,
&eos,
tp);
if (ns) {
@@ -76,6 +76,6 @@ fuzz_main(const uint8_t *data, size_t sz)
} else {
log_debug(LD_GENERAL, "Parsing as %s failed", what);
}
- tor_free(str);
+
return 0;
}
diff --git a/src/test/fuzz/fuzz_diff.c b/src/test/fuzz/fuzz_diff.c
index 1079856fdb..64aecc8a64 100644
--- a/src/test/fuzz/fuzz_diff.c
+++ b/src/test/fuzz/fuzz_diff.c
@@ -10,9 +10,11 @@
#include "test/fuzz/fuzzing.h"
static int
-mock_consensus_compute_digest_(const char *c, consensus_digest_t *d)
+mock_consensus_compute_digest_(const char *c, size_t len,
+ consensus_digest_t *d)
{
(void)c;
+ (void)len;
memset(d->sha3_256, 3, sizeof(d->sha3_256));
return 0;
}
@@ -42,28 +44,34 @@ fuzz_main(const uint8_t *stdin_buf, size_t data_size)
if (! separator)
return 0;
size_t c1_len = separator - stdin_buf;
- char *c1 = tor_memdup_nulterm(stdin_buf, c1_len);
+ const char *c1 = (const char *)stdin_buf;
size_t c2_len = data_size - c1_len - SEPLEN;
- char *c2 = tor_memdup_nulterm(separator + SEPLEN, c2_len);
+ const char *c2 = (const char *)separator + SEPLEN;
- char *c3 = consensus_diff_generate(c1, c2);
+ const char *cp = memchr(c1, 0, c1_len);
+ if (cp)
+ c1_len = cp - c1;
+
+ cp = memchr(c2, 0, c2_len);
+ if (cp)
+ c2_len = cp - c2;
+
+ char *c3 = consensus_diff_generate(c1, c1_len, c2, c2_len);
if (c3) {
- char *c4 = consensus_diff_apply(c1, c3);
+ char *c4 = consensus_diff_apply(c1, c1_len, c3, strlen(c3));
tor_assert(c4);
- if (strcmp(c2, c4)) {
- printf("%s\n", escaped(c1));
- printf("%s\n", escaped(c2));
+ int equal = (c2_len == strlen(c4)) && fast_memeq(c2, c4, c2_len);
+ if (! equal) {
+ //printf("%s\n", escaped(c1));
+ //printf("%s\n", escaped(c2));
printf("%s\n", escaped(c3));
printf("%s\n", escaped(c4));
}
- tor_assert(! strcmp(c2, c4));
+ tor_assert(equal);
tor_free(c3);
tor_free(c4);
}
- tor_free(c1);
- tor_free(c2);
return 0;
}
-
diff --git a/src/test/fuzz/fuzz_diff_apply.c b/src/test/fuzz/fuzz_diff_apply.c
index 165d0e6126..9b25185225 100644
--- a/src/test/fuzz/fuzz_diff_apply.c
+++ b/src/test/fuzz/fuzz_diff_apply.c
@@ -10,9 +10,11 @@
#include "test/fuzz/fuzzing.h"
static int
-mock_consensus_compute_digest_(const char *c, consensus_digest_t *d)
+mock_consensus_compute_digest_(const char *c, size_t len,
+ consensus_digest_t *d)
{
(void)c;
+ (void)len;
memset(d->sha3_256, 3, sizeof(d->sha3_256));
return 0;
}
@@ -50,16 +52,13 @@ fuzz_main(const uint8_t *stdin_buf, size_t data_size)
if (! separator)
return 0;
size_t c1_len = separator - stdin_buf;
- char *c1 = tor_memdup_nulterm(stdin_buf, c1_len);
+ const char *c1 = (const char *)stdin_buf;
size_t c2_len = data_size - c1_len - SEPLEN;
- char *c2 = tor_memdup_nulterm(separator + SEPLEN, c2_len);
+ const char *c2 = (const char *)separator + SEPLEN;
- char *c3 = consensus_diff_apply(c1, c2);
+ char *c3 = consensus_diff_apply(c1, c1_len, c2, c2_len);
- tor_free(c1);
- tor_free(c2);
tor_free(c3);
return 0;
}
-
diff --git a/src/test/fuzz/fuzz_http.c b/src/test/fuzz/fuzz_http.c
index 06483282bc..4341bfabae 100644
--- a/src/test/fuzz/fuzz_http.c
+++ b/src/test/fuzz/fuzz_http.c
@@ -8,7 +8,7 @@
#include "core/or/or.h"
#include "lib/err/backtrace.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "app/config/config.h"
#include "core/mainloop/connection.h"
#include "feature/dircache/dircache.h"
diff --git a/src/test/fuzz/fuzz_http_connect.c b/src/test/fuzz/fuzz_http_connect.c
index ca007a2c7f..e03d9e29d8 100644
--- a/src/test/fuzz/fuzz_http_connect.c
+++ b/src/test/fuzz/fuzz_http_connect.c
@@ -8,7 +8,7 @@
#include "core/or/or.h"
#include "lib/err/backtrace.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "app/config/config.h"
#include "core/mainloop/connection.h"
#include "core/or/connection_edge.h"
diff --git a/src/test/fuzz/fuzz_socks.c b/src/test/fuzz/fuzz_socks.c
index 14c25304b1..2d93bea924 100644
--- a/src/test/fuzz/fuzz_socks.c
+++ b/src/test/fuzz/fuzz_socks.c
@@ -6,7 +6,7 @@
#define BUFFERS_PRIVATE
#include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "lib/err/backtrace.h"
#include "lib/log/log.h"
#include "core/proto/proto_socks.h"
diff --git a/src/test/fuzz/fuzz_strops.c b/src/test/fuzz/fuzz_strops.c
new file mode 100644
index 0000000000..5da590acfa
--- /dev/null
+++ b/src/test/fuzz/fuzz_strops.c
@@ -0,0 +1,247 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file fuzz_strops.c
+ * \brief Fuzzers for various string encoding/decoding operations
+ **/
+
+#include "orconfig.h"
+
+#include "lib/cc/torint.h"
+#include "lib/ctime/di_ops.h"
+#include "lib/encoding/binascii.h"
+#include "lib/encoding/cstring.h"
+#include "lib/encoding/kvline.h"
+#include "lib/encoding/confline.h"
+#include "lib/malloc/malloc.h"
+#include "lib/log/escape.h"
+#include "lib/log/util_bug.h"
+#include "lib/intmath/muldiv.h"
+
+#include "test/fuzz/fuzzing.h"
+
+#include <stdio.h>
+#include <string.h>
+
+int
+fuzz_init(void)
+{
+ return 0;
+}
+
+int
+fuzz_cleanup(void)
+{
+ return 0;
+}
+
+typedef struct chunk_t {
+ uint8_t *buf;
+ size_t len;
+} chunk_t;
+
+#define chunk_free(ch) \
+ FREE_AND_NULL(chunk_t, chunk_free_, (ch))
+
+static chunk_t *
+chunk_new(size_t len)
+{
+ chunk_t *ch = tor_malloc(sizeof(chunk_t));
+ ch->buf = tor_malloc(len);
+ ch->len = len;
+ return ch;
+}
+static void
+chunk_free_(chunk_t *ch)
+{
+ if (!ch)
+ return;
+ tor_free(ch->buf);
+ tor_free(ch);
+}
+static bool
+chunk_eq(const chunk_t *a, const chunk_t *b)
+{
+ return a->len == b->len && fast_memeq(a->buf, b->buf, a->len);
+}
+
+static chunk_t *
+b16_dec(const chunk_t *inp)
+{
+ chunk_t *ch = chunk_new(CEIL_DIV(inp->len, 2));
+ int r = base16_decode((char *)ch->buf, ch->len, (char *)inp->buf, inp->len);
+ if (r >= 0) {
+ ch->len = r;
+ } else {
+ chunk_free(ch);
+ }
+ return ch;
+}
+static chunk_t *
+b16_enc(const chunk_t *inp)
+{
+ chunk_t *ch = chunk_new(inp->len * 2 + 1);
+ base16_encode((char *)ch->buf, ch->len, (char*)inp->buf, inp->len);
+ return ch;
+}
+
+#if 0
+static chunk_t *
+b32_dec(const chunk_t *inp)
+{
+ chunk_t *ch = chunk_new(inp->len);//XXXX
+ int r = base32_decode((char *)ch->buf, ch->len, (char *)inp->buf, inp->len);
+ if (r >= 0) {
+ ch->len = r; // XXXX we need some way to get the actual length of
+ // XXXX the output here.
+ } else {
+ chunk_free(ch);
+ }
+ return ch;
+}
+static chunk_t *
+b32_enc(const chunk_t *inp)
+{
+ chunk_t *ch = chunk_new(base32_encoded_size(inp->len));
+ base32_encode((char *)ch->buf, ch->len, (char*)inp->buf, inp->len);
+ ch->len = strlen((char *) ch->buf);
+ return ch;
+}
+#endif
+
+static chunk_t *
+b64_dec(const chunk_t *inp)
+{
+ chunk_t *ch = chunk_new(inp->len);//XXXX This could be shorter.
+ int r = base64_decode((char *)ch->buf, ch->len, (char *)inp->buf, inp->len);
+ if (r >= 0) {
+ ch->len = r;
+ } else {
+ chunk_free(ch);
+ }
+ return ch;
+}
+static chunk_t *
+b64_enc(const chunk_t *inp)
+{
+ chunk_t *ch = chunk_new(BASE64_BUFSIZE(inp->len));
+ base64_encode((char *)ch->buf, ch->len, (char *)inp->buf, inp->len, 0);
+ ch->len = strlen((char *) ch->buf);
+ return ch;
+}
+
+static chunk_t *
+c_dec(const chunk_t *inp)
+{
+ char *s = tor_memdup_nulterm(inp->buf, inp->len);
+ chunk_t *ch = tor_malloc(sizeof(chunk_t));
+ char *r = NULL;
+ (void) unescape_string(s, &r, &ch->len);
+ tor_free(s);
+ ch->buf = (uint8_t*) r;
+ if (!ch->buf) {
+ tor_free(ch);
+ }
+ return ch;
+}
+static chunk_t *
+c_enc(const chunk_t *inp)
+{
+ char *s = tor_memdup_nulterm(inp->buf, inp->len);
+ chunk_t *ch = tor_malloc(sizeof(chunk_t));
+ ch->buf = (uint8_t*)esc_for_log(s);
+ tor_free(s);
+ ch->len = strlen((char*)ch->buf);
+ return ch;
+}
+
+static int kv_flags = 0;
+static config_line_t *
+kv_dec(const chunk_t *inp)
+{
+ char *s = tor_memdup_nulterm(inp->buf, inp->len);
+ config_line_t *res = kvline_parse(s, kv_flags);
+ tor_free(s);
+ return res;
+}
+static chunk_t *
+kv_enc(const config_line_t *inp)
+{
+ char *s = kvline_encode(inp, kv_flags);
+ if (!s)
+ return NULL;
+ chunk_t *res = tor_malloc(sizeof(chunk_t));
+ res->buf = (uint8_t*)s;
+ res->len = strlen(s);
+ return res;
+}
+
+/* Given an encoder function, a decoder function, and a function to free
+ * the decoded object, check whether any string that successfully decoded
+ * will then survive an encode-decode-encode round-trip unchanged.
+ */
+#define ENCODE_ROUNDTRIP(E,D,FREE) \
+ STMT_BEGIN { \
+ bool err = false; \
+ a = D(&inp); \
+ if (!a) \
+ return 0; \
+ b = E(a); \
+ tor_assert(b); \
+ c = D(b); \
+ tor_assert(c); \
+ d = E(c); \
+ tor_assert(d); \
+ if (!chunk_eq(b,d)) { \
+ printf("Unequal chunks: %s\n", \
+ hex_str((char*)b->buf, b->len)); \
+ printf(" vs %s\n", \
+ hex_str((char*)d->buf, d->len)); \
+ err = true; \
+ } \
+ FREE(a); \
+ chunk_free(b); \
+ FREE(c); \
+ chunk_free(d); \
+ tor_assert(!err); \
+ } STMT_END
+
+int
+fuzz_main(const uint8_t *stdin_buf, size_t data_size)
+{
+ if (!data_size)
+ return 0;
+
+ chunk_t inp = { (uint8_t*)stdin_buf, data_size };
+ chunk_t *b=NULL,*d=NULL;
+ void *a=NULL,*c=NULL;
+
+ switch (stdin_buf[0]) {
+ case 0:
+ ENCODE_ROUNDTRIP(b16_enc, b16_dec, chunk_free_);
+ break;
+ case 1:
+ /*
+ XXXX see notes above about our base-32 functions.
+ ENCODE_ROUNDTRIP(b32_enc, b32_dec, chunk_free_);
+ */
+ break;
+ case 2:
+ ENCODE_ROUNDTRIP(b64_enc, b64_dec, chunk_free_);
+ break;
+ case 3:
+ ENCODE_ROUNDTRIP(c_enc, c_dec, chunk_free_);
+ break;
+ case 5:
+ kv_flags = KV_QUOTED|KV_OMIT_KEYS;
+ ENCODE_ROUNDTRIP(kv_enc, kv_dec, config_free_lines_);
+ break;
+ case 6:
+ kv_flags = 0;
+ ENCODE_ROUNDTRIP(kv_enc, kv_dec, config_free_lines_);
+ break;
+ }
+
+ return 0;
+}
diff --git a/src/test/fuzz/fuzz_vrs.c b/src/test/fuzz/fuzz_vrs.c
index 0b869aa5c0..f0d90d7cc6 100644
--- a/src/test/fuzz/fuzz_vrs.c
+++ b/src/test/fuzz/fuzz_vrs.c
@@ -3,6 +3,7 @@
#define NS_PARSE_PRIVATE
#define NETWORKSTATUS_PRIVATE
#include "core/or/or.h"
+#include "feature/dirauth/dirvote.h"
#include "feature/dirparse/ns_parse.h"
#include "feature/dirparse/unparseable.h"
#include "lib/memarea/memarea.h"
@@ -35,9 +36,12 @@ fuzz_init(void)
dummy_vote = tor_malloc_zero(sizeof(*dummy_vote));
dummy_vote->known_flags = smartlist_new();
smartlist_split_string(dummy_vote->known_flags,
- "Authority BadExit Exit Fast Guard HSDir "
- "NoEdConsensus Running Stable V2Dir Valid",
+ DIRVOTE_UNIVERSAL_FLAGS,
" ", 0, 0);
+ smartlist_split_string(dummy_vote->known_flags,
+ DIRVOTE_OPTIONAL_FLAGS,
+ " ", 0, 0);
+ smartlist_sort_strings(dummy_vote->known_flags);
return 0;
}
@@ -53,24 +57,24 @@ fuzz_cleanup(void)
int
fuzz_main(const uint8_t *data, size_t sz)
{
- char *str = tor_memdup_nulterm(data, sz);
const char *s;
routerstatus_t *rs_ns = NULL, *rs_md = NULL, *rs_vote = NULL;
vote_routerstatus_t *vrs = tor_malloc_zero(sizeof(*vrs));
smartlist_t *tokens = smartlist_new();
+ const char *eos = (const char *)data + sz;
- s = str;
- rs_ns = routerstatus_parse_entry_from_string(area, &s, tokens,
+ s = (const char *)data;
+ rs_ns = routerstatus_parse_entry_from_string(area, &s, eos, tokens,
NULL, NULL, 26, FLAV_NS);
tor_assert(smartlist_len(tokens) == 0);
- s = str;
- rs_md = routerstatus_parse_entry_from_string(area, &s, tokens,
+ s = (const char *)data;
+ rs_md = routerstatus_parse_entry_from_string(area, &s, eos, tokens,
NULL, NULL, 26, FLAV_MICRODESC);
tor_assert(smartlist_len(tokens) == 0);
- s = str;
- rs_vote = routerstatus_parse_entry_from_string(area, &s, tokens,
+ s = (const char *)data;
+ rs_vote = routerstatus_parse_entry_from_string(area, &s, eos, tokens,
dummy_vote, vrs, 26, FLAV_NS);
tor_assert(smartlist_len(tokens) == 0);
@@ -82,6 +86,6 @@ fuzz_main(const uint8_t *data, size_t sz)
vote_routerstatus_free(vrs);
memarea_clear(area);
smartlist_free(tokens);
- tor_free(str);
+
return 0;
}
diff --git a/src/test/fuzz/fuzzing_common.c b/src/test/fuzz/fuzzing_common.c
index 1401e4c28d..21aa07cfe2 100644
--- a/src/test/fuzz/fuzzing_common.c
+++ b/src/test/fuzz/fuzzing_common.c
@@ -3,12 +3,14 @@
#define CRYPTO_ED25519_PRIVATE
#include "orconfig.h"
#include "core/or/or.h"
+#include "app/main/subsysmgr.h"
#include "lib/err/backtrace.h"
#include "app/config/config.h"
#include "test/fuzz/fuzzing.h"
#include "lib/compress/compress.h"
#include "lib/crypt_ops/crypto_ed25519.h"
#include "lib/crypt_ops/crypto_init.h"
+#include "lib/version/torversion.h"
static or_options_t *mock_options = NULL;
static const or_options_t *
@@ -94,12 +96,10 @@ disable_signature_checking(void)
static void
global_init(void)
{
- tor_threads_init();
- tor_compress_init();
+ subsystems_init_upto(SUBSYS_LEVEL_LIBS);
+ flush_log_messages_from_startup();
- /* Initialise logging first */
- init_logging(1);
- configure_backtrace_handler(get_version());
+ tor_compress_init();
if (crypto_global_init(0, NULL, NULL) < 0)
abort();
diff --git a/src/test/fuzz/include.am b/src/test/fuzz/include.am
index 27eeced8c5..d0711f05d6 100644
--- a/src/test/fuzz/include.am
+++ b/src/test/fuzz/include.am
@@ -153,6 +153,16 @@ src_test_fuzz_fuzz_socks_LDADD = $(FUZZING_LIBS)
endif
if UNITTESTS_ENABLED
+src_test_fuzz_fuzz_strops_SOURCES = \
+ src/test/fuzz/fuzzing_common.c \
+ src/test/fuzz/fuzz_strops.c
+src_test_fuzz_fuzz_strops_CPPFLAGS = $(FUZZING_CPPFLAGS)
+src_test_fuzz_fuzz_strops_CFLAGS = $(FUZZING_CFLAGS)
+src_test_fuzz_fuzz_strops_LDFLAGS = $(FUZZING_LDFLAG)
+src_test_fuzz_fuzz_strops_LDADD = $(FUZZING_LIBS)
+endif
+
+if UNITTESTS_ENABLED
src_test_fuzz_fuzz_vrs_SOURCES = \
src/test/fuzz/fuzzing_common.c \
src/test/fuzz/fuzz_vrs.c
@@ -176,6 +186,7 @@ FUZZERS = \
src/test/fuzz/fuzz-iptsv2 \
src/test/fuzz/fuzz-microdesc \
src/test/fuzz/fuzz-socks \
+ src/test/fuzz/fuzz-strops \
src/test/fuzz/fuzz-vrs
endif
@@ -291,6 +302,15 @@ src_test_fuzz_lf_fuzz_socks_LDADD = $(LIBFUZZER_LIBS)
endif
if UNITTESTS_ENABLED
+src_test_fuzz_lf_fuzz_strops_SOURCES = \
+ $(src_test_fuzz_fuzz_strops_SOURCES)
+src_test_fuzz_lf_fuzz_strops_CPPFLAGS = $(LIBFUZZER_CPPFLAGS)
+src_test_fuzz_lf_fuzz_strops_CFLAGS = $(LIBFUZZER_CFLAGS)
+src_test_fuzz_lf_fuzz_strops_LDFLAGS = $(LIBFUZZER_LDFLAG)
+src_test_fuzz_lf_fuzz_strops_LDADD = $(LIBFUZZER_LIBS)
+endif
+
+if UNITTESTS_ENABLED
src_test_fuzz_lf_fuzz_vrs_SOURCES = \
$(src_test_fuzz_fuzz_vrs_SOURCES)
src_test_fuzz_lf_fuzz_vrs_CPPFLAGS = $(LIBFUZZER_CPPFLAGS)
@@ -312,6 +332,7 @@ LIBFUZZER_FUZZERS = \
src/test/fuzz/lf-fuzz-iptsv2 \
src/test/fuzz/lf-fuzz-microdesc \
src/test/fuzz/lf-fuzz-socks \
+ src/test/fuzz/lf-fuzz-strops \
src/test/fuzz/lf-fuzz-vrs
else
@@ -406,6 +427,13 @@ src_test_fuzz_liboss_fuzz_socks_a_CFLAGS = $(LIBOSS_FUZZ_CFLAGS)
endif
if UNITTESTS_ENABLED
+src_test_fuzz_liboss_fuzz_strops_a_SOURCES = \
+ $(src_test_fuzz_fuzz_strops_SOURCES)
+src_test_fuzz_liboss_fuzz_strops_a_CPPFLAGS = $(LIBOSS_FUZZ_CPPFLAGS)
+src_test_fuzz_liboss_fuzz_strops_a_CFLAGS = $(LIBOSS_FUZZ_CFLAGS)
+endif
+
+if UNITTESTS_ENABLED
src_test_fuzz_liboss_fuzz_vrs_a_SOURCES = \
$(src_test_fuzz_fuzz_vrs_SOURCES)
src_test_fuzz_liboss_fuzz_vrs_a_CPPFLAGS = $(LIBOSS_FUZZ_CPPFLAGS)
@@ -425,6 +453,7 @@ OSS_FUZZ_FUZZERS = \
src/test/fuzz/liboss-fuzz-iptsv2.a \
src/test/fuzz/liboss-fuzz-microdesc.a \
src/test/fuzz/liboss-fuzz-socks.a \
+ src/test/fuzz/liboss-fuzz-strops.a \
src/test/fuzz/liboss-fuzz-vrs.a
else
diff --git a/src/test/include.am b/src/test/include.am
index d90d78d58e..648cf5a541 100644
--- a/src/test/include.am
+++ b/src/test/include.am
@@ -12,8 +12,7 @@ TESTS_ENVIRONMENT = \
export EXTRA_CARGO_OPTIONS="$(EXTRA_CARGO_OPTIONS)"; \
export CARGO_ONLINE="$(CARGO_ONLINE)"; \
export CCLD="$(CCLD)"; \
- chmod +x "$(abs_top_builddir)/link_rust.sh"; \
- export RUSTFLAGS="-C linker=$(abs_top_builddir)/link_rust.sh";
+ export RUSTFLAGS="-C linker=`echo '$(CC)' | cut -d' ' -f 1` $(RUST_LINKER_OPTIONS)";
TESTSCRIPTS = \
src/test/fuzz_static_testcases.sh \
@@ -66,7 +65,7 @@ noinst_PROGRAMS+= \
src/test/test \
src/test/test-slow \
src/test/test-memwipe \
- src/test/test-child \
+ src/test/test-process \
src/test/test_workqueue \
src/test/test-switch-id \
src/test/test-timers
@@ -155,6 +154,7 @@ src_test_test_SOURCES += \
src/test/test_pem.c \
src/test/test_periodic_event.c \
src/test/test_policy.c \
+ src/test/test_process.c \
src/test/test_procmon.c \
src/test/test_proto_http.c \
src/test/test_proto_misc.c \
@@ -179,6 +179,7 @@ src_test_test_SOURCES += \
src/test/test_util.c \
src/test/test_util_format.c \
src/test/test_util_process.c \
+ src/test/test_voting_flags.c \
src/test/test_voting_schedule.c \
src/test/test_x509.c \
src/test/test_helpers.c \
@@ -203,7 +204,7 @@ if UNITTESTS_ENABLED
src_test_test_slow_SOURCES += \
src/test/test_slow.c \
src/test/test_crypto_slow.c \
- src/test/test_util_slow.c \
+ src/test/test_process_slow.c \
src/test/testing_common.c \
src/test/testing_rsakeys.c \
src/ext/tinytest.c
diff --git a/src/test/test-child.c b/src/test/test-child.c
deleted file mode 100644
index 14df1a9b76..0000000000
--- a/src/test/test-child.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Copyright (c) 2011-2018, The Tor Project, Inc. */
-/* See LICENSE for licensing information */
-
-#include "orconfig.h"
-#include <stdio.h>
-#ifdef _WIN32
-#define WINDOWS_LEAN_AND_MEAN
-#include <windows.h>
-#else
-#include <unistd.h>
-#endif /* defined(_WIN32) */
-#include <string.h>
-
-#ifdef _WIN32
-#define SLEEP(sec) Sleep((sec)*1000)
-#else
-#define SLEEP(sec) sleep(sec)
-#endif
-
-/** Trivial test program which prints out its command line arguments so we can
- * check if tor_spawn_background() works */
-int
-main(int argc, char **argv)
-{
- int i;
- int delay = 1;
- int fast = 0;
-
- if (argc > 1) {
- if (!strcmp(argv[1], "--hang")) {
- delay = 60;
- } else if (!strcmp(argv[1], "--fast")) {
- fast = 1;
- delay = 0;
- }
- }
-
- fprintf(stdout, "OUT\n");
- fprintf(stderr, "ERR\n");
- for (i = 1; i < argc; i++)
- fprintf(stdout, "%s\n", argv[i]);
- if (!fast)
- fprintf(stdout, "SLEEPING\n");
- /* We need to flush stdout so that test_util_spawn_background_partial_read()
- succeed. Otherwise ReadFile() will get the entire output in one */
- // XXX: Can we make stdio flush on newline?
- fflush(stdout);
- if (!fast)
- SLEEP(1);
- fprintf(stdout, "DONE\n");
- fflush(stdout);
- if (fast)
- return 0;
-
- while (--delay) {
- SLEEP(1);
- }
-
- return 0;
-}
-
diff --git a/src/test/test-process.c b/src/test/test-process.c
new file mode 100644
index 0000000000..ec1b395002
--- /dev/null
+++ b/src/test/test-process.c
@@ -0,0 +1,85 @@
+/* Copyright (c) 2011-2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#include "orconfig.h"
+#include <stdio.h>
+#ifdef _WIN32
+#define WINDOWS_LEAN_AND_MEAN
+#include <windows.h>
+#else
+#include <unistd.h>
+#endif /* defined(_WIN32) */
+#include <string.h>
+#include <stdlib.h>
+
+#ifdef _WIN32
+#define SLEEP(sec) Sleep((sec)*1000)
+#else
+#define SLEEP(sec) sleep(sec)
+#endif
+
+/* Trivial test program to test process_t. */
+int
+main(int argc, char **argv)
+{
+ /* Does our process get the right arguments? */
+ for (int i = 0; i < argc; ++i) {
+ fprintf(stdout, "argv[%d] = '%s'\n", i, argv[i]);
+ fflush(stdout);
+ }
+
+ /* Make sure our process got our environment variable. */
+ fprintf(stdout, "Environment variable TOR_TEST_ENV = '%s'\n",
+ getenv("TOR_TEST_ENV"));
+ fflush(stdout);
+
+ /* Test line handling on stdout and stderr. */
+ fprintf(stdout, "Output on stdout\nThis is a new line\n");
+ fflush(stdout);
+
+ fprintf(stderr, "Output on stderr\nThis is a new line\n");
+ fflush(stderr);
+
+ fprintf(stdout, "Partial line on stdout ...");
+ fflush(stdout);
+
+ fprintf(stderr, "Partial line on stderr ...");
+ fflush(stderr);
+
+ SLEEP(2);
+
+ fprintf(stdout, "end of partial line on stdout\n");
+ fflush(stdout);
+ fprintf(stderr, "end of partial line on stderr\n");
+ fflush(stderr);
+
+ /* Echo input from stdin. */
+ char buffer[1024];
+
+ int count = 0;
+
+ while (fgets(buffer, sizeof(buffer), stdin)) {
+ /* Strip the newline. */
+ size_t size = strlen(buffer);
+
+ if (size >= 1 && buffer[size - 1] == '\n') {
+ buffer[size - 1] = '\0';
+ --size;
+ }
+
+ if (size >= 1 && buffer[size - 1] == '\r') {
+ buffer[size - 1] = '\0';
+ --size;
+ }
+
+ fprintf(stdout, "Read line from stdin: '%s'\n", buffer);
+ fflush(stdout);
+
+ if (++count == 3)
+ break;
+ }
+
+ fprintf(stdout, "We are done for here, thank you!\n");
+
+ return 0;
+}
diff --git a/src/test/test.c b/src/test/test.c
index 7f4f6017ef..85d41d9863 100644
--- a/src/test/test.c
+++ b/src/test/test.c
@@ -37,7 +37,7 @@
#include "core/or/or.h"
#include "lib/err/backtrace.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "core/or/circuitlist.h"
#include "core/or/circuitstats.h"
#include "lib/compress/compress.h"
@@ -866,7 +866,8 @@ struct testgroup_t testgroups[] = {
{ "crypto/pem/", pem_tests },
{ "dir/", dir_tests },
{ "dir/md/", microdesc_tests },
- { "dir/voting-schedule/", voting_schedule_tests },
+ { "dir/voting/flags/", voting_flags_tests },
+ { "dir/voting/schedule/", voting_schedule_tests },
{ "dir_handle_get/", dir_handle_get_tests },
{ "dns/", dns_tests },
{ "dos/", dos_tests },
@@ -899,6 +900,7 @@ struct testgroup_t testgroups[] = {
{ "periodic-event/" , periodic_event_tests },
{ "policy/" , policy_tests },
{ "procmon/", procmon_tests },
+ { "process/", process_tests },
{ "proto/http/", proto_http_tests },
{ "proto/misc/", proto_misc_tests },
{ "protover/", protover_tests },
diff --git a/src/test/test.h b/src/test/test.h
index 970a9b555b..1b10c3d12d 100644
--- a/src/test/test.h
+++ b/src/test/test.h
@@ -242,6 +242,7 @@ extern struct testcase_t pem_tests[];
extern struct testcase_t periodic_event_tests[];
extern struct testcase_t policy_tests[];
extern struct testcase_t procmon_tests[];
+extern struct testcase_t process_tests[];
extern struct testcase_t proto_http_tests[];
extern struct testcase_t proto_misc_tests[];
extern struct testcase_t protover_tests[];
@@ -266,11 +267,12 @@ extern struct testcase_t tortls_tests[];
extern struct testcase_t util_format_tests[];
extern struct testcase_t util_process_tests[];
extern struct testcase_t util_tests[];
+extern struct testcase_t voting_flags_tests[];
extern struct testcase_t voting_schedule_tests[];
extern struct testcase_t x509_tests[];
extern struct testcase_t slow_crypto_tests[];
-extern struct testcase_t slow_util_tests[];
+extern struct testcase_t slow_process_tests[];
extern struct testgroup_t testgroups[];
diff --git a/src/test/test_addr.c b/src/test/test_addr.c
index a9004048a5..1d97db52a6 100644
--- a/src/test/test_addr.c
+++ b/src/test/test_addr.c
@@ -723,7 +723,7 @@ test_addr_ip6_helpers(void *arg)
;
}
-/** Test tor_addr_port_parse(). */
+/** Test tor_addr_parse() and tor_addr_port_parse(). */
static void
test_addr_parse(void *arg)
{
@@ -734,6 +734,60 @@ test_addr_parse(void *arg)
/* Correct call. */
(void)arg;
+ r= tor_addr_parse(&addr, "192.0.2.1");
+ tt_int_op(r,OP_EQ, AF_INET);
+ tor_addr_to_str(buf, &addr, sizeof(buf), 0);
+ tt_str_op(buf,OP_EQ, "192.0.2.1");
+
+ r= tor_addr_parse(&addr, "11:22::33:44");
+ tt_int_op(r,OP_EQ, AF_INET6);
+ tor_addr_to_str(buf, &addr, sizeof(buf), 0);
+ tt_str_op(buf,OP_EQ, "11:22::33:44");
+
+ r= tor_addr_parse(&addr, "[11:22::33:44]");
+ tt_int_op(r,OP_EQ, AF_INET6);
+ tor_addr_to_str(buf, &addr, sizeof(buf), 0);
+ tt_str_op(buf,OP_EQ, "11:22::33:44");
+
+ r= tor_addr_parse(&addr, "11:22:33:44:55:66:1.2.3.4");
+ tt_int_op(r,OP_EQ, AF_INET6);
+ tor_addr_to_str(buf, &addr, sizeof(buf), 0);
+ tt_str_op(buf,OP_EQ, "11:22:33:44:55:66:102:304");
+
+ r= tor_addr_parse(&addr, "11:22::33:44:1.2.3.4");
+ tt_int_op(r,OP_EQ, AF_INET6);
+ tor_addr_to_str(buf, &addr, sizeof(buf), 0);
+ tt_str_op(buf,OP_EQ, "11:22::33:44:102:304");
+
+ /* Empty string. */
+ r= tor_addr_parse(&addr, "");
+ tt_int_op(r,OP_EQ, -1);
+
+ /* Square brackets around IPv4 address. */
+ r= tor_addr_parse(&addr, "[192.0.2.1]");
+ tt_int_op(r,OP_EQ, -1);
+
+ /* Only left square bracket. */
+ r= tor_addr_parse(&addr, "[11:22::33:44");
+ tt_int_op(r,OP_EQ, -1);
+
+ /* Only right square bracket. */
+ r= tor_addr_parse(&addr, "11:22::33:44]");
+ tt_int_op(r,OP_EQ, -1);
+
+ /* Leading colon. */
+ r= tor_addr_parse(&addr, ":11:22::33:44");
+ tt_int_op(r,OP_EQ, -1);
+
+ /* Trailing colon. */
+ r= tor_addr_parse(&addr, "11:22::33:44:");
+ tt_int_op(r,OP_EQ, -1);
+
+ /* Too many hex words in IPv4-mapped IPv6 address. */
+ r= tor_addr_parse(&addr, "11:22:33:44:55:66:77:88:1.2.3.4");
+ tt_int_op(r,OP_EQ, -1);
+
+ /* Correct call. */
r= tor_addr_port_parse(LOG_DEBUG,
"192.0.2.1:1234",
&addr, &port, -1);
diff --git a/src/test/test_address.c b/src/test/test_address.c
index e99220f838..a823fd9cd5 100644
--- a/src/test/test_address.c
+++ b/src/test/test_address.c
@@ -24,6 +24,8 @@
#endif /* defined(HAVE_IFCONF_TO_SMARTLIST) */
#include "core/or/or.h"
+#include "feature/nodelist/routerinfo_st.h"
+#include "feature/nodelist/node_st.h"
#include "feature/nodelist/nodelist.h"
#include "lib/net/address.h"
#include "test/test.h"
@@ -1170,6 +1172,78 @@ test_address_tor_addr_in_same_network_family(void *ignored)
return;
}
+static node_t *
+helper_create_mock_node(char id_char)
+{
+ node_t *node = tor_malloc_zero(sizeof(node_t));
+ routerinfo_t *ri = tor_malloc_zero(sizeof(routerinfo_t));
+ tor_addr_make_null(&ri->ipv6_addr, AF_INET6);
+ node->ri = ri;
+ memset(node->identity, id_char, sizeof(node->identity));
+ return node;
+}
+
+static void
+helper_free_mock_node(node_t *node)
+{
+ if (!node)
+ return;
+ tor_free(node->ri);
+ tor_free(node);
+}
+
+#define NODE_SET_IPV4(node, ipv4_addr, ipv4_port) { \
+ tor_addr_t addr; \
+ tor_addr_parse(&addr, ipv4_addr); \
+ node->ri->addr = tor_addr_to_ipv4h(&addr); \
+ node->ri->or_port = ipv4_port; \
+ }
+
+#define NODE_CLEAR_IPV4(node) { \
+ node->ri->addr = 0; \
+ node->ri->or_port = 0; \
+ }
+
+#define NODE_SET_IPV6(node, ipv6_addr_str, ipv6_port) { \
+ tor_addr_parse(&node->ri->ipv6_addr, ipv6_addr_str); \
+ node->ri->ipv6_orport = ipv6_port; \
+ }
+
+static void
+test_address_tor_node_in_same_network_family(void *ignored)
+{
+ (void)ignored;
+ node_t *node_a = helper_create_mock_node('a');
+ node_t *node_b = helper_create_mock_node('b');
+
+ NODE_SET_IPV4(node_a, "8.8.8.8", 1);
+ NODE_SET_IPV4(node_b, "8.8.4.4", 1);
+
+ tt_int_op(nodes_in_same_family(node_a, node_b), OP_EQ, 1);
+
+ NODE_SET_IPV4(node_a, "8.8.8.8", 1);
+ NODE_SET_IPV4(node_b, "1.1.1.1", 1);
+
+ tt_int_op(nodes_in_same_family(node_a, node_b), OP_EQ, 0);
+
+ NODE_CLEAR_IPV4(node_a);
+ NODE_SET_IPV6(node_a, "2001:470:20::2", 1);
+
+ tt_int_op(nodes_in_same_family(node_a, node_b), OP_EQ, 0);
+
+ NODE_CLEAR_IPV4(node_b);
+ NODE_SET_IPV6(node_b, "2606:4700:4700::1111", 1);
+
+ tt_int_op(nodes_in_same_family(node_a, node_b), OP_EQ, 0);
+
+ NODE_SET_IPV6(node_a, "2606:4700:4700::1001", 1);
+ tt_int_op(nodes_in_same_family(node_a, node_b), OP_EQ, 1);
+
+ done:
+ helper_free_mock_node(node_a);
+ helper_free_mock_node(node_b);
+}
+
#define ADDRESS_TEST(name, flags) \
{ #name, test_address_ ## name, flags, NULL, NULL }
@@ -1202,6 +1276,6 @@ struct testcase_t address_tests[] = {
ADDRESS_TEST(tor_addr_to_mapped_ipv4h, 0),
ADDRESS_TEST(tor_addr_eq_ipv4h, 0),
ADDRESS_TEST(tor_addr_in_same_network_family, 0),
+ ADDRESS_TEST(tor_node_in_same_network_family, 0),
END_OF_TESTCASES
};
-
diff --git a/src/test/test_buffers.c b/src/test/test_buffers.c
index 477066f699..85e7b8d90a 100644
--- a/src/test/test_buffers.c
+++ b/src/test/test_buffers.c
@@ -6,7 +6,7 @@
#define BUFFERS_PRIVATE
#define PROTO_HTTP_PRIVATE
#include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "lib/tls/buffers_tls.h"
#include "lib/tls/tortls.h"
#include "lib/compress/compress.h"
diff --git a/src/test/test_channelpadding.c b/src/test/test_channelpadding.c
index 0fd60d0a92..bdd7c5f0a6 100644
--- a/src/test/test_channelpadding.c
+++ b/src/test/test_channelpadding.c
@@ -21,7 +21,7 @@
#include "test/log_test_helpers.h"
#include "lib/tls/tortls.h"
#include "lib/evloop/timers.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "core/or/cell_st.h"
#include "feature/nodelist/networkstatus_st.h"
diff --git a/src/test/test_channeltls.c b/src/test/test_channeltls.c
index 787a30a85d..44d623561b 100644
--- a/src/test/test_channeltls.c
+++ b/src/test/test_channeltls.c
@@ -8,7 +8,7 @@
#define TOR_CHANNEL_INTERNAL_
#include "core/or/or.h"
#include "lib/net/address.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "core/or/channel.h"
#include "core/or/channeltls.h"
#include "core/mainloop/connection.h"
diff --git a/src/test/test_circuitbuild.c b/src/test/test_circuitbuild.c
index 02eadecd98..dd47ad7689 100644
--- a/src/test/test_circuitbuild.c
+++ b/src/test/test_circuitbuild.c
@@ -21,11 +21,11 @@ static smartlist_t dummy_nodes;
static extend_info_t dummy_ei;
static int
-mock_count_acceptable_nodes(smartlist_t *nodes)
+mock_count_acceptable_nodes(smartlist_t *nodes, int direct)
{
(void)nodes;
- return DEFAULT_ROUTE_LEN + 1;
+ return direct ? 1 : DEFAULT_ROUTE_LEN + 1;
}
/* Test route lengths when the caller of new_route_len() doesn't
diff --git a/src/test/test_compat_libevent.c b/src/test/test_compat_libevent.c
index 3f505d013b..ade76bdb07 100644
--- a/src/test/test_compat_libevent.c
+++ b/src/test/test_compat_libevent.c
@@ -187,4 +187,3 @@ struct testcase_t compat_libevent_tests[] = {
TT_FORK, NULL, NULL },
END_OF_TESTCASES
};
-
diff --git a/src/test/test_config.c b/src/test/test_config.c
index dae4d83766..5140c3c1a8 100644
--- a/src/test/test_config.c
+++ b/src/test/test_config.c
@@ -54,6 +54,7 @@
#include "lib/meminfo/meminfo.h"
#include "lib/net/gethostname.h"
#include "lib/encoding/confline.h"
+#include "lib/encoding/kvline.h"
#ifdef HAVE_UNISTD_H
#include <unistd.h>
@@ -5813,6 +5814,82 @@ test_config_extended_fmt(void *arg)
config_free_lines(lines);
}
+static void
+test_config_kvline_parse(void *arg)
+{
+ (void)arg;
+
+ config_line_t *lines = NULL;
+ char *enc = NULL;
+
+ lines = kvline_parse("A=B CD=EF", 0);
+ tt_assert(lines);
+ tt_str_op(lines->key, OP_EQ, "A");
+ tt_str_op(lines->value, OP_EQ, "B");
+ tt_str_op(lines->next->key, OP_EQ, "CD");
+ tt_str_op(lines->next->value, OP_EQ, "EF");
+ enc = kvline_encode(lines, 0);
+ tt_str_op(enc, OP_EQ, "A=B CD=EF");
+ tor_free(enc);
+ enc = kvline_encode(lines, KV_QUOTED|KV_OMIT_KEYS);
+ tt_str_op(enc, OP_EQ, "A=B CD=EF");
+ tor_free(enc);
+ config_free_lines(lines);
+
+ lines = kvline_parse("AB CDE=F", 0);
+ tt_assert(! lines);
+
+ lines = kvline_parse("AB CDE=F", KV_OMIT_KEYS);
+ tt_assert(lines);
+ tt_str_op(lines->key, OP_EQ, "");
+ tt_str_op(lines->value, OP_EQ, "AB");
+ tt_str_op(lines->next->key, OP_EQ, "CDE");
+ tt_str_op(lines->next->value, OP_EQ, "F");
+ tt_assert(lines);
+ enc = kvline_encode(lines, 0);
+ tt_assert(!enc);
+ enc = kvline_encode(lines, KV_QUOTED|KV_OMIT_KEYS);
+ tt_str_op(enc, OP_EQ, "AB CDE=F");
+ tor_free(enc);
+ config_free_lines(lines);
+
+ lines = kvline_parse("AB=C CDE=\"F G\"", 0);
+ tt_assert(!lines);
+
+ lines = kvline_parse("AB=C CDE=\"F G\" \"GHI\" ", KV_QUOTED|KV_OMIT_KEYS);
+ tt_assert(lines);
+ tt_str_op(lines->key, OP_EQ, "AB");
+ tt_str_op(lines->value, OP_EQ, "C");
+ tt_str_op(lines->next->key, OP_EQ, "CDE");
+ tt_str_op(lines->next->value, OP_EQ, "F G");
+ tt_str_op(lines->next->next->key, OP_EQ, "");
+ tt_str_op(lines->next->next->value, OP_EQ, "GHI");
+ enc = kvline_encode(lines, 0);
+ tt_assert(!enc);
+ enc = kvline_encode(lines, KV_QUOTED|KV_OMIT_KEYS);
+ tt_str_op(enc, OP_EQ, "AB=C CDE=\"F G\" GHI");
+ tor_free(enc);
+ config_free_lines(lines);
+
+ lines = kvline_parse("A\"B=C CDE=\"F\" \"GHI\" ", KV_QUOTED|KV_OMIT_KEYS);
+ tt_assert(! lines);
+
+ lines = kvline_parse("AB=", KV_QUOTED);
+ tt_assert(lines);
+ tt_str_op(lines->key, OP_EQ, "AB");
+ tt_str_op(lines->value, OP_EQ, "");
+ config_free_lines(lines);
+
+ lines = kvline_parse("AB=", 0);
+ tt_assert(lines);
+ tt_str_op(lines->key, OP_EQ, "AB");
+ tt_str_op(lines->value, OP_EQ, "");
+
+ done:
+ config_free_lines(lines);
+ tor_free(enc);
+}
+
#define CONFIG_TEST(name, flags) \
{ #name, test_config_ ## name, flags, NULL, NULL }
@@ -5864,5 +5941,6 @@ struct testcase_t config_tests[] = {
CONFIG_TEST(include_opened_file_list, 0),
CONFIG_TEST(compute_max_mem_in_queues, 0),
CONFIG_TEST(extended_fmt, 0),
+ CONFIG_TEST(kvline_parse, 0),
END_OF_TESTCASES
};
diff --git a/src/test/test_consdiff.c b/src/test/test_consdiff.c
index b836befd22..23e8f7167e 100644
--- a/src/test/test_consdiff.c
+++ b/src/test/test_consdiff.c
@@ -14,6 +14,39 @@
#define tt_str_eq_line(a,b) \
tt_assert(line_str_eq((b),(a)))
+static int
+consensus_split_lines_(smartlist_t *out, const char *s, memarea_t *area)
+{
+ size_t len = strlen(s);
+ return consensus_split_lines(out, s, len, area);
+}
+
+static int
+consensus_compute_digest_(const char *cons,
+ consensus_digest_t *digest_out)
+{
+ size_t len = strlen(cons);
+ char *tmp = tor_memdup(cons, len);
+ // We use memdup here to ensure that the input is NOT nul-terminated.
+ // This makes it likelier for us to spot bugs.
+ int r = consensus_compute_digest(tmp, len, digest_out);
+ tor_free(tmp);
+ return r;
+}
+
+static int
+consensus_compute_digest_as_signed_(const char *cons,
+ consensus_digest_t *digest_out)
+{
+ size_t len = strlen(cons);
+ char *tmp = tor_memdup(cons, len);
+ // We use memdup here to ensure that the input is NOT nul-terminated.
+ // This makes it likelier for us to spot bugs.
+ int r = consensus_compute_digest_as_signed(tmp, len, digest_out);
+ tor_free(tmp);
+ return r;
+}
+
static void
test_consdiff_smartlist_slice(void *arg)
{
@@ -58,7 +91,7 @@ test_consdiff_smartlist_slice_string_pos(void *arg)
/* Create a regular smartlist. */
(void)arg;
- consensus_split_lines(sl, "a\nd\nc\na\nb\n", area);
+ consensus_split_lines_(sl, "a\nd\nc\na\nb\n", area);
/* See that smartlist_slice_string_pos respects the bounds of the slice. */
sls = smartlist_slice(sl, 2, 5);
@@ -87,8 +120,8 @@ test_consdiff_lcs_lengths(void *arg)
int e_lengths2[] = { 0, 1, 1, 2, 3, 4 };
(void)arg;
- consensus_split_lines(sl1, "a\nb\nc\nd\ne\n", area);
- consensus_split_lines(sl2, "a\nc\nd\ni\ne\n", area);
+ consensus_split_lines_(sl1, "a\nb\nc\nd\ne\n", area);
+ consensus_split_lines_(sl2, "a\nc\nd\ni\ne\n", area);
sls1 = smartlist_slice(sl1, 0, -1);
sls2 = smartlist_slice(sl2, 0, -1);
@@ -119,10 +152,10 @@ test_consdiff_trim_slices(void *arg)
memarea_t *area = memarea_new();
(void)arg;
- consensus_split_lines(sl1, "a\nb\nb\nb\nd\n", area);
- consensus_split_lines(sl2, "a\nc\nc\nc\nd\n", area);
- consensus_split_lines(sl3, "a\nb\nb\nb\na\n", area);
- consensus_split_lines(sl4, "c\nb\nb\nb\nc\n", area);
+ consensus_split_lines_(sl1, "a\nb\nb\nb\nd\n", area);
+ consensus_split_lines_(sl2, "a\nc\nc\nc\nd\n", area);
+ consensus_split_lines_(sl3, "a\nb\nb\nb\na\n", area);
+ consensus_split_lines_(sl4, "c\nb\nb\nb\nc\n", area);
sls1 = smartlist_slice(sl1, 0, -1);
sls2 = smartlist_slice(sl2, 0, -1);
sls3 = smartlist_slice(sl3, 0, -1);
@@ -165,8 +198,8 @@ test_consdiff_set_changed(void *arg)
memarea_t *area = memarea_new();
(void)arg;
- consensus_split_lines(sl1, "a\nb\na\na\n", area);
- consensus_split_lines(sl2, "a\na\na\na\n", area);
+ consensus_split_lines_(sl1, "a\nb\na\na\n", area);
+ consensus_split_lines_(sl2, "a\na\na\na\n", area);
/* Length of sls1 is 0. */
sls1 = smartlist_slice(sl1, 0, 0);
@@ -240,8 +273,8 @@ test_consdiff_calc_changes(void *arg)
memarea_t *area = memarea_new();
(void)arg;
- consensus_split_lines(sl1, "a\na\na\na\n", area);
- consensus_split_lines(sl2, "a\na\na\na\n", area);
+ consensus_split_lines_(sl1, "a\na\na\na\n", area);
+ consensus_split_lines_(sl2, "a\na\na\na\n", area);
sls1 = smartlist_slice(sl1, 0, -1);
sls2 = smartlist_slice(sl2, 0, -1);
@@ -259,7 +292,7 @@ test_consdiff_calc_changes(void *arg)
tt_assert(!bitarray_is_set(changed2, 3));
smartlist_clear(sl2);
- consensus_split_lines(sl2, "a\nb\na\nb\n", area);
+ consensus_split_lines_(sl2, "a\nb\na\nb\n", area);
tor_free(sls1);
tor_free(sls2);
sls1 = smartlist_slice(sl1, 0, -1);
@@ -282,7 +315,7 @@ test_consdiff_calc_changes(void *arg)
bitarray_clear(changed1, 3);
smartlist_clear(sl2);
- consensus_split_lines(sl2, "b\nb\nb\nb\n", area);
+ consensus_split_lines_(sl2, "b\nb\nb\nb\n", area);
tor_free(sls1);
tor_free(sls2);
sls1 = smartlist_slice(sl1, 0, -1);
@@ -610,8 +643,8 @@ test_consdiff_gen_ed_diff(void *arg)
/* Test 'a', 'c' and 'd' together. See that it is done in reverse order. */
smartlist_clear(cons1);
smartlist_clear(cons2);
- consensus_split_lines(cons1, "A\nB\nC\nD\nE\n", area);
- consensus_split_lines(cons2, "A\nC\nO\nE\nU\n", area);
+ consensus_split_lines_(cons1, "A\nB\nC\nD\nE\n", area);
+ consensus_split_lines_(cons2, "A\nC\nO\nE\nU\n", area);
diff = gen_ed_diff(cons1, cons2, area);
tt_ptr_op(NULL, OP_NE, diff);
tt_int_op(7, OP_EQ, smartlist_len(diff));
@@ -627,8 +660,8 @@ test_consdiff_gen_ed_diff(void *arg)
smartlist_clear(cons1);
smartlist_clear(cons2);
- consensus_split_lines(cons1, "B\n", area);
- consensus_split_lines(cons2, "A\nB\n", area);
+ consensus_split_lines_(cons1, "B\n", area);
+ consensus_split_lines_(cons2, "A\nB\n", area);
diff = gen_ed_diff(cons1, cons2, area);
tt_ptr_op(NULL, OP_NE, diff);
tt_int_op(3, OP_EQ, smartlist_len(diff));
@@ -656,7 +689,7 @@ test_consdiff_apply_ed_diff(void *arg)
diff = smartlist_new();
setup_capture_of_logs(LOG_WARN);
- consensus_split_lines(cons1, "A\nB\nC\nD\nE\n", area);
+ consensus_split_lines_(cons1, "A\nB\nC\nD\nE\n", area);
/* Command without range. */
smartlist_add_linecpy(diff, area, "a");
@@ -829,7 +862,7 @@ test_consdiff_apply_ed_diff(void *arg)
smartlist_clear(diff);
/* Test appending text, 'a'. */
- consensus_split_lines(diff, "3a\nU\nO\n.\n0a\nV\n.\n", area);
+ consensus_split_lines_(diff, "3a\nU\nO\n.\n0a\nV\n.\n", area);
cons2 = apply_ed_diff(cons1, diff, 0);
tt_ptr_op(NULL, OP_NE, cons2);
tt_int_op(8, OP_EQ, smartlist_len(cons2));
@@ -846,7 +879,7 @@ test_consdiff_apply_ed_diff(void *arg)
smartlist_free(cons2);
/* Test deleting text, 'd'. */
- consensus_split_lines(diff, "4d\n1,2d\n", area);
+ consensus_split_lines_(diff, "4d\n1,2d\n", area);
cons2 = apply_ed_diff(cons1, diff, 0);
tt_ptr_op(NULL, OP_NE, cons2);
tt_int_op(2, OP_EQ, smartlist_len(cons2));
@@ -857,7 +890,7 @@ test_consdiff_apply_ed_diff(void *arg)
smartlist_free(cons2);
/* Test changing text, 'c'. */
- consensus_split_lines(diff, "4c\nT\nX\n.\n1,2c\nM\n.\n", area);
+ consensus_split_lines_(diff, "4c\nT\nX\n.\n1,2c\nM\n.\n", area);
cons2 = apply_ed_diff(cons1, diff, 0);
tt_ptr_op(NULL, OP_NE, cons2);
tt_int_op(5, OP_EQ, smartlist_len(cons2));
@@ -871,7 +904,7 @@ test_consdiff_apply_ed_diff(void *arg)
smartlist_free(cons2);
/* Test 'a', 'd' and 'c' together. */
- consensus_split_lines(diff, "4c\nT\nX\n.\n2d\n0a\nM\n.\n", area);
+ consensus_split_lines_(diff, "4c\nT\nX\n.\n2d\n0a\nM\n.\n", area);
cons2 = apply_ed_diff(cons1, diff, 0);
tt_ptr_op(NULL, OP_NE, cons2);
tt_int_op(6, OP_EQ, smartlist_len(cons2));
@@ -918,12 +951,12 @@ test_consdiff_gen_diff(void *arg)
);
tt_int_op(0, OP_EQ,
- consensus_compute_digest_as_signed(cons1_str, &digests1));
+ consensus_compute_digest_as_signed_(cons1_str, &digests1));
tt_int_op(0, OP_EQ,
- consensus_compute_digest(cons2_str, &digests2));
+ consensus_compute_digest_(cons2_str, &digests2));
- consensus_split_lines(cons1, cons1_str, area);
- consensus_split_lines(cons2, cons2_str, area);
+ consensus_split_lines_(cons1, cons1_str, area);
+ consensus_split_lines_(cons2, cons2_str, area);
diff = consdiff_gen_diff(cons1, cons2, &digests1, &digests2, area);
tt_ptr_op(NULL, OP_EQ, diff);
@@ -937,9 +970,9 @@ test_consdiff_gen_diff(void *arg)
"directory-signature foo bar\nbar\n"
);
tt_int_op(0, OP_EQ,
- consensus_compute_digest_as_signed(cons1_str, &digests1));
+ consensus_compute_digest_as_signed_(cons1_str, &digests1));
smartlist_clear(cons1);
- consensus_split_lines(cons1, cons1_str, area);
+ consensus_split_lines_(cons1, cons1_str, area);
diff = consdiff_gen_diff(cons1, cons2, &digests1, &digests2, area);
tt_ptr_op(NULL, OP_NE, diff);
tt_int_op(11, OP_EQ, smartlist_len(diff));
@@ -991,8 +1024,8 @@ test_consdiff_apply_diff(void *arg)
"directory-signature foo bar\nbar\n"
);
tt_int_op(0, OP_EQ,
- consensus_compute_digest(cons1_str, &digests1));
- consensus_split_lines(cons1, cons1_str, area);
+ consensus_compute_digest_(cons1_str, &digests1));
+ consensus_split_lines_(cons1, cons1_str, area);
/* diff doesn't have enough lines. */
cons2 = consdiff_apply_diff(cons1, diff, &digests1);
@@ -1182,4 +1215,3 @@ struct testcase_t consdiff_tests[] = {
CONSDIFF_LEGACY(apply_diff),
END_OF_TESTCASES
};
-
diff --git a/src/test/test_consdiffmgr.c b/src/test/test_consdiffmgr.c
index 6c451da685..b84753ff83 100644
--- a/src/test/test_consdiffmgr.c
+++ b/src/test/test_consdiffmgr.c
@@ -21,6 +21,23 @@
#include "test/test.h"
#include "test/log_test_helpers.h"
+#define consdiffmgr_add_consensus consdiffmgr_add_consensus_nulterm
+
+static char *
+consensus_diff_apply_(const char *c, const char *d)
+{
+ size_t c_len = strlen(c);
+ size_t d_len = strlen(d);
+ // We use memdup here to ensure that the input is NOT nul-terminated.
+ // This makes it likelier for us to spot bugs.
+ char *c_tmp = tor_memdup(c, c_len);
+ char *d_tmp = tor_memdup(d, d_len);
+ char *result = consensus_diff_apply(c_tmp, c_len, d_tmp, d_len);
+ tor_free(c_tmp);
+ tor_free(d_tmp);
+ return result;
+}
+
// ============================== Setup/teardown the consdiffmgr
// These functions get run before/after each test in this module
@@ -153,7 +170,8 @@ lookup_diff_from(consensus_cache_entry_t **out,
const char *str1)
{
uint8_t digest[DIGEST256_LEN];
- if (router_get_networkstatus_v3_sha3_as_signed(digest, str1)<0) {
+ if (router_get_networkstatus_v3_sha3_as_signed(digest,
+ str1, strlen(str1))<0) {
TT_FAIL(("Unable to compute sha3-as-signed"));
return CONSDIFF_NOT_FOUND;
}
@@ -175,14 +193,15 @@ lookup_apply_and_verify_diff(consensus_flavor_t flav,
consensus_cache_entry_incref(ent);
size_t size;
- char *diff_string = NULL;
- int r = uncompress_or_copy(&diff_string, &size, ent);
+ const char *diff_string = NULL;
+ char *diff_owned = NULL;
+ int r = uncompress_or_set_ptr(&diff_string, &size, &diff_owned, ent);
consensus_cache_entry_decref(ent);
if (diff_string == NULL || r < 0)
return -1;
- char *applied = consensus_diff_apply(str1, diff_string);
- tor_free(diff_string);
+ char *applied = consensus_diff_apply(str1, strlen(str1), diff_string, size);
+ tor_free(diff_owned);
if (applied == NULL)
return -1;
@@ -282,7 +301,8 @@ test_consdiffmgr_add(void *arg)
(void) arg;
time_t now = approx_time();
- char *body = NULL;
+ const char *body = NULL;
+ char *body_owned = NULL;
consensus_cache_entry_t *ent = NULL;
networkstatus_t *ns_tmp = fake_ns_new(FLAV_NS, now);
@@ -324,7 +344,7 @@ test_consdiffmgr_add(void *arg)
tt_assert(ent);
consensus_cache_entry_incref(ent);
size_t s;
- r = uncompress_or_copy(&body, &s, ent);
+ r = uncompress_or_set_ptr(&body, &s, &body_owned, ent);
tt_int_op(r, OP_EQ, 0);
tt_int_op(s, OP_EQ, 4);
tt_mem_op(body, OP_EQ, "quux", 4);
@@ -337,7 +357,7 @@ test_consdiffmgr_add(void *arg)
networkstatus_vote_free(ns_tmp);
teardown_capture_of_logs();
consensus_cache_entry_decref(ent);
- tor_free(body);
+ tor_free(body_owned);
}
static void
@@ -370,7 +390,8 @@ test_consdiffmgr_make_diffs(void *arg)
ns = fake_ns_new(FLAV_MICRODESC, now-3600);
md_ns_body = fake_ns_body_new(FLAV_MICRODESC, now-3600);
r = consdiffmgr_add_consensus(md_ns_body, ns);
- router_get_networkstatus_v3_sha3_as_signed(md_ns_sha3, md_ns_body);
+ router_get_networkstatus_v3_sha3_as_signed(md_ns_sha3, md_ns_body,
+ strlen(md_ns_body));
networkstatus_vote_free(ns);
tt_int_op(r, OP_EQ, 0);
@@ -414,7 +435,7 @@ test_consdiffmgr_make_diffs(void *arg)
r = consensus_cache_entry_get_body(diff, &diff_body, &diff_size);
tt_int_op(r, OP_EQ, 0);
diff_text = tor_memdup_nulterm(diff_body, diff_size);
- applied = consensus_diff_apply(md_ns_body, diff_text);
+ applied = consensus_diff_apply_(md_ns_body, diff_text);
tt_assert(applied);
tt_str_op(applied, OP_EQ, md_ns_body_2);
diff --git a/src/test/test_dir.c b/src/test/test_dir.c
index c18aa99fea..5cdbd877ce 100644
--- a/src/test/test_dir.c
+++ b/src/test/test_dir.c
@@ -94,6 +94,23 @@
#define NS_MODULE dir
+static networkstatus_t *
+networkstatus_parse_vote_from_string_(const char *s,
+ const char **eos_out,
+ enum networkstatus_type_t ns_type)
+{
+ size_t len = strlen(s);
+ // memdup so that it won't be nul-terminated.
+ char *tmp = tor_memdup(s, len);
+ networkstatus_t *result =
+ networkstatus_parse_vote_from_string(tmp, len, eos_out, ns_type);
+ if (eos_out && *eos_out) {
+ *eos_out = s + (*eos_out - tmp);
+ }
+ tor_free(tmp);
+ return result;
+}
+
static void
test_dir_nicknames(void *arg)
{
@@ -2806,11 +2823,17 @@ test_a_networkstatus(
MOCK(get_my_v3_authority_cert, get_my_v3_authority_cert_m);
/* Parse certificates and keys. */
- cert1 = mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, NULL);
+ cert1 = mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1,
+ strlen(AUTHORITY_CERT_1),
+ NULL);
tt_assert(cert1);
- cert2 = authority_cert_parse_from_string(AUTHORITY_CERT_2, NULL);
+ cert2 = authority_cert_parse_from_string(AUTHORITY_CERT_2,
+ strlen(AUTHORITY_CERT_2),
+ NULL);
tt_assert(cert2);
- cert3 = authority_cert_parse_from_string(AUTHORITY_CERT_3, NULL);
+ cert3 = authority_cert_parse_from_string(AUTHORITY_CERT_3,
+ strlen(AUTHORITY_CERT_3),
+ NULL);
tt_assert(cert3);
sign_skey_1 = crypto_pk_new();
sign_skey_2 = crypto_pk_new();
@@ -2912,7 +2935,7 @@ test_a_networkstatus(
sign_skey_leg1,
FLAV_NS);
tt_assert(consensus_text);
- con = networkstatus_parse_vote_from_string(consensus_text, NULL,
+ con = networkstatus_parse_vote_from_string_(consensus_text, NULL,
NS_TYPE_CONSENSUS);
tt_assert(con);
//log_notice(LD_GENERAL, "<<%s>>\n<<%s>>\n<<%s>>\n",
@@ -2924,7 +2947,7 @@ test_a_networkstatus(
sign_skey_leg1,
FLAV_MICRODESC);
tt_assert(consensus_text_md);
- con_md = networkstatus_parse_vote_from_string(consensus_text_md, NULL,
+ con_md = networkstatus_parse_vote_from_string_(consensus_text_md, NULL,
NS_TYPE_CONSENSUS);
tt_assert(con_md);
tt_int_op(con_md->flavor,OP_EQ, FLAV_MICRODESC);
@@ -3023,13 +3046,13 @@ test_a_networkstatus(
tt_assert(consensus_text3);
tt_assert(consensus_text_md2);
tt_assert(consensus_text_md3);
- con2 = networkstatus_parse_vote_from_string(consensus_text2, NULL,
+ con2 = networkstatus_parse_vote_from_string_(consensus_text2, NULL,
NS_TYPE_CONSENSUS);
- con3 = networkstatus_parse_vote_from_string(consensus_text3, NULL,
+ con3 = networkstatus_parse_vote_from_string_(consensus_text3, NULL,
NS_TYPE_CONSENSUS);
- con_md2 = networkstatus_parse_vote_from_string(consensus_text_md2, NULL,
+ con_md2 = networkstatus_parse_vote_from_string_(consensus_text_md2, NULL,
NS_TYPE_CONSENSUS);
- con_md3 = networkstatus_parse_vote_from_string(consensus_text_md3, NULL,
+ con_md3 = networkstatus_parse_vote_from_string_(consensus_text_md3, NULL,
NS_TYPE_CONSENSUS);
tt_assert(con2);
tt_assert(con3);
@@ -6030,6 +6053,80 @@ test_dir_find_dl_min_delay(void* data)
}
static void
+test_dir_matching_flags(void *arg)
+{
+ (void) arg;
+ routerstatus_t *rs_noflags = NULL;
+ routerstatus_t *rs = NULL;
+ char *s = NULL;
+
+ smartlist_t *tokens = smartlist_new();
+ memarea_t *area = memarea_new();
+
+ int expected_val_when_unused = 0;
+
+ const char *ex_noflags =
+ "r example hereiswhereyouridentitygoes 2015-08-30 12:00:00 "
+ "192.168.0.1 9001 0\n"
+ "m thisoneislongerbecauseitisa256bitmddigest33\n"
+ "s\n";
+ const char *cp = ex_noflags;
+ rs_noflags = routerstatus_parse_entry_from_string(
+ area, &cp,
+ cp + strlen(cp),
+ tokens, NULL, NULL,
+ MAX_SUPPORTED_CONSENSUS_METHOD, FLAV_MICRODESC);
+ tt_assert(rs_noflags);
+
+#define FLAG(string, field) STMT_BEGIN { \
+ tor_asprintf(&s,\
+ "r example hereiswhereyouridentitygoes 2015-08-30 12:00:00 " \
+ "192.168.0.1 9001 0\n" \
+ "m thisoneislongerbecauseitisa256bitmddigest33\n" \
+ "s %s\n", string); \
+ cp = s; \
+ rs = routerstatus_parse_entry_from_string( \
+ area, &cp, \
+ cp + strlen(cp), \
+ tokens, NULL, NULL, \
+ MAX_SUPPORTED_CONSENSUS_METHOD, FLAV_MICRODESC); \
+ /* the field should usually be 0 when no flags are listed */ \
+ tt_int_op(rs_noflags->field, OP_EQ, expected_val_when_unused); \
+ /* the field should be 1 when this flags islisted */ \
+ tt_int_op(rs->field, OP_EQ, 1); \
+ tor_free(s); \
+ routerstatus_free(rs); \
+} STMT_END
+
+ FLAG("Authority", is_authority);
+ FLAG("BadExit", is_bad_exit);
+ FLAG("Exit", is_exit);
+ FLAG("Fast", is_fast);
+ FLAG("Guard", is_possible_guard);
+ FLAG("HSDir", is_hs_dir);
+ FLAG("Stable", is_stable);
+ FLAG("StaleDesc", is_staledesc);
+ FLAG("V2Dir", is_v2_dir);
+
+ // These flags are assumed to be set whether they're declared or not.
+ expected_val_when_unused = 1;
+ FLAG("Running", is_flagged_running);
+ FLAG("Valid", is_valid);
+ expected_val_when_unused = 0;
+
+ // These flags are no longer used, but still parsed.
+ FLAG("Named", is_named);
+ FLAG("Unnamed", is_unnamed);
+
+ done:
+ tor_free(s);
+ routerstatus_free(rs);
+ routerstatus_free(rs_noflags);
+ memarea_drop_all(area);
+ smartlist_free(tokens);
+}
+
+static void
test_dir_assumed_flags(void *arg)
{
(void)arg;
@@ -6044,9 +6141,10 @@ test_dir_assumed_flags(void *arg)
"192.168.0.1 9001 0\n"
"m thisoneislongerbecauseitisa256bitmddigest33\n"
"s Fast Guard Stable\n";
+ const char *eos = str1 + strlen(str1);
const char *cp = str1;
- rs = routerstatus_parse_entry_from_string(area, &cp, tokens, NULL, NULL,
+ rs = routerstatus_parse_entry_from_string(area, &cp, eos, tokens, NULL, NULL,
24, FLAV_MICRODESC);
tt_assert(rs);
tt_assert(rs->is_flagged_running);
@@ -6353,6 +6451,7 @@ struct testcase_t dir_tests[] = {
DIR_ARG(find_dl_min_delay, TT_FORK, "cfr"),
DIR_ARG(find_dl_min_delay, TT_FORK, "car"),
DIR(assumed_flags, 0),
+ DIR(matching_flags, 0),
DIR(networkstatus_compute_bw_weights_v10, 0),
DIR(platform_str, 0),
DIR(networkstatus_consensus_has_ipv6, TT_FORK),
diff --git a/src/test/test_dir_common.c b/src/test/test_dir_common.c
index 86d2838944..eadeb11921 100644
--- a/src/test/test_dir_common.c
+++ b/src/test/test_dir_common.c
@@ -42,14 +42,20 @@ dir_common_authority_pk_init(authority_cert_t **cert1,
{
/* Parse certificates and keys. */
authority_cert_t *cert;
- cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, NULL);
+ cert = authority_cert_parse_from_string(AUTHORITY_CERT_1,
+ strlen(AUTHORITY_CERT_1),
+ NULL);
tt_assert(cert);
tt_assert(cert->identity_key);
*cert1 = cert;
tt_assert(*cert1);
- *cert2 = authority_cert_parse_from_string(AUTHORITY_CERT_2, NULL);
+ *cert2 = authority_cert_parse_from_string(AUTHORITY_CERT_2,
+ strlen(AUTHORITY_CERT_2),
+ NULL);
tt_assert(*cert2);
- *cert3 = authority_cert_parse_from_string(AUTHORITY_CERT_3, NULL);
+ *cert3 = authority_cert_parse_from_string(AUTHORITY_CERT_3,
+ strlen(AUTHORITY_CERT_3),
+ NULL);
tt_assert(*cert3);
*sign_skey_1 = crypto_pk_new();
*sign_skey_2 = crypto_pk_new();
@@ -266,7 +272,9 @@ dir_common_add_rs_and_parse(networkstatus_t *vote, networkstatus_t **vote_out,
/* dump the vote and try to parse it. */
v_text = format_networkstatus_vote(sign_skey, vote);
tt_assert(v_text);
- *vote_out = networkstatus_parse_vote_from_string(v_text, NULL, NS_TYPE_VOTE);
+ *vote_out = networkstatus_parse_vote_from_string(v_text,
+ strlen(v_text),
+ NULL, NS_TYPE_VOTE);
done:
if (v_text)
@@ -424,4 +432,3 @@ dir_common_construct_vote_3(networkstatus_t **vote, authority_cert_t *cert,
return 0;
}
-
diff --git a/src/test/test_dir_handle_get.c b/src/test/test_dir_handle_get.c
index 1d4a36d7fc..2ce98769af 100644
--- a/src/test/test_dir_handle_get.c
+++ b/src/test/test_dir_handle_get.c
@@ -72,6 +72,8 @@ ENABLE_GCC_WARNING(overlength-strings)
#define NOT_ENOUGH_CONSENSUS_SIGNATURES "HTTP/1.0 404 " \
"Consensus not signed by sufficient number of requested authorities\r\n\r\n"
+#define consdiffmgr_add_consensus consdiffmgr_add_consensus_nulterm
+
static dir_connection_t *
new_dir_conn(void)
{
@@ -1275,7 +1277,9 @@ test_dir_handle_get_server_keys_authority(void* data)
size_t body_used = 0;
(void) data;
- mock_cert = authority_cert_parse_from_string(TEST_CERTIFICATE, NULL);
+ mock_cert = authority_cert_parse_from_string(TEST_CERTIFICATE,
+ strlen(TEST_CERTIFICATE),
+ NULL);
MOCK(get_my_v3_authority_cert, get_my_v3_authority_cert_m);
MOCK(connection_write_to_buf_impl_, connection_write_to_buf_mock);
@@ -1425,7 +1429,9 @@ test_dir_handle_get_server_keys_sk(void* data)
size_t body_used = 0;
(void) data;
- mock_cert = authority_cert_parse_from_string(TEST_CERTIFICATE, NULL);
+ mock_cert = authority_cert_parse_from_string(TEST_CERTIFICATE,
+ strlen(TEST_CERTIFICATE),
+ NULL);
MOCK(get_my_v3_authority_cert, get_my_v3_authority_cert_m);
MOCK(connection_write_to_buf_impl_, connection_write_to_buf_mock);
@@ -2393,7 +2399,9 @@ test_dir_handle_get_status_vote_next_authority(void* data)
routerlist_free_all();
dirvote_free_all();
- mock_cert = authority_cert_parse_from_string(TEST_CERTIFICATE, NULL);
+ mock_cert = authority_cert_parse_from_string(TEST_CERTIFICATE,
+ strlen(TEST_CERTIFICATE),
+ NULL);
/* create a trusted ds */
ds = trusted_dir_server_new("ds", "127.0.0.1", 9059, 9060, NULL, digest,
@@ -2471,7 +2479,9 @@ test_dir_handle_get_status_vote_current_authority(void* data)
routerlist_free_all();
dirvote_free_all();
- mock_cert = authority_cert_parse_from_string(TEST_CERTIFICATE, NULL);
+ mock_cert = authority_cert_parse_from_string(TEST_CERTIFICATE,
+ strlen(TEST_CERTIFICATE),
+ NULL);
/* create a trusted ds */
ds = trusted_dir_server_new("ds", "127.0.0.1", 9059, 9060, NULL, digest,
diff --git a/src/test/test_dns.c b/src/test/test_dns.c
index 8369f844f6..ea0fcf8c5e 100644
--- a/src/test/test_dns.c
+++ b/src/test/test_dns.c
@@ -1,6 +1,7 @@
/* Copyright (c) 2015-2018, The Tor Project, Inc. */
/* See LICENSE for licensing information */
+#include "orconfig.h"
#include "core/or/or.h"
#include "test/test.h"
@@ -13,9 +14,71 @@
#include "core/or/edge_connection_st.h"
#include "core/or/or_circuit_st.h"
+#include "app/config/or_options_st.h"
+#include "app/config/config.h"
+
+#include <event2/event.h>
+#include <event2/dns.h>
#define NS_MODULE dns
+#ifdef HAVE_EVDNS_BASE_GET_NAMESERVER_ADDR
+#define NS_SUBMODULE configure_nameservers_fallback
+
+static or_options_t options = {
+ .ORPort_set = 1,
+};
+
+static const or_options_t *
+mock_get_options(void)
+{
+ return &options;
+}
+
+static void
+NS(test_main)(void *arg)
+{
+ (void)arg;
+ tor_addr_t *nameserver_addr = NULL;
+
+ MOCK(get_options, mock_get_options);
+
+ options.ServerDNSResolvConfFile = (char *)"no_such_file!!!";
+
+ dns_init(); // calls configure_nameservers()
+
+ tt_int_op(number_of_configured_nameservers(), OP_EQ, 1);
+
+ nameserver_addr = configured_nameserver_address(0);
+
+ tt_assert(tor_addr_family(nameserver_addr) == AF_INET);
+ tt_assert(tor_addr_eq_ipv4h(nameserver_addr, 0x7f000001));
+
+#ifndef _WIN32
+ tor_free(nameserver_addr);
+
+ options.ServerDNSResolvConfFile = (char *)"/dev/null";
+
+ dns_init();
+
+ tt_int_op(number_of_configured_nameservers(), OP_EQ, 1);
+
+ nameserver_addr = configured_nameserver_address(0);
+
+ tt_assert(tor_addr_family(nameserver_addr) == AF_INET);
+ tt_assert(tor_addr_eq_ipv4h(nameserver_addr, 0x7f000001));
+#endif
+
+ UNMOCK(get_options);
+
+ done:
+ tor_free(nameserver_addr);
+ return;
+}
+
+#undef NS_SUBMODULE
+#endif
+
#define NS_SUBMODULE clip_ttl
static void
@@ -736,6 +799,9 @@ NS(test_main)(void *arg)
#undef NS_SUBMODULE
struct testcase_t dns_tests[] = {
+#ifdef HAVE_EVDNS_BASE_GET_NAMESERVER_ADDR
+ TEST_CASE(configure_nameservers_fallback),
+#endif
TEST_CASE(clip_ttl),
TEST_CASE(resolve),
TEST_CASE_ASPECT(resolve_impl, addr_is_ip_no_need_to_resolve),
diff --git a/src/test/test_entrynodes.c b/src/test/test_entrynodes.c
index b67c9fae53..16b14c0b73 100644
--- a/src/test/test_entrynodes.c
+++ b/src/test/test_entrynodes.c
@@ -74,9 +74,10 @@ bfn_mock_nodelist_get_list(void)
}
static networkstatus_t *
-bfn_mock_networkstatus_get_live_consensus(time_t now)
+bfn_mock_networkstatus_get_reasonably_live_consensus(time_t now, int flavor)
{
(void)now;
+ (void)flavor;
return dummy_consensus;
}
@@ -118,7 +119,7 @@ big_fake_network_cleanup(const struct testcase_t *testcase, void *ptr)
UNMOCK(nodelist_get_list);
UNMOCK(node_get_by_id);
UNMOCK(get_or_state);
- UNMOCK(networkstatus_get_live_consensus);
+ UNMOCK(networkstatus_get_reasonably_live_consensus);
or_state_free(dummy_state);
dummy_state = NULL;
tor_free(dummy_consensus);
@@ -136,6 +137,12 @@ big_fake_network_setup(const struct testcase_t *testcase)
* that we need for entrynodes.c. */
const int N_NODES = 271;
+ const char *argument = testcase->setup_data;
+ int reasonably_live_consensus = 0;
+ if (argument) {
+ reasonably_live_consensus = strstr(argument, "reasonably-live") != NULL;
+ }
+
big_fake_net_nodes = smartlist_new();
for (i = 0; i < N_NODES; ++i) {
curve25519_secret_key_t curve25519_secret_key;
@@ -191,15 +198,23 @@ big_fake_network_setup(const struct testcase_t *testcase)
dummy_state = tor_malloc_zero(sizeof(or_state_t));
dummy_consensus = tor_malloc_zero(sizeof(networkstatus_t));
- dummy_consensus->valid_after = approx_time() - 3600;
- dummy_consensus->valid_until = approx_time() + 3600;
+ if (reasonably_live_consensus) {
+ /* Make the dummy consensus valid from 4 hours ago, but expired an hour
+ * ago. */
+ dummy_consensus->valid_after = approx_time() - 4*3600;
+ dummy_consensus->valid_until = approx_time() - 3600;
+ } else {
+ /* Make the dummy consensus valid for an hour either side of now. */
+ dummy_consensus->valid_after = approx_time() - 3600;
+ dummy_consensus->valid_until = approx_time() + 3600;
+ }
MOCK(nodelist_get_list, bfn_mock_nodelist_get_list);
MOCK(node_get_by_id, bfn_mock_node_get_by_id);
MOCK(get_or_state,
get_or_state_replacement);
- MOCK(networkstatus_get_live_consensus,
- bfn_mock_networkstatus_get_live_consensus);
+ MOCK(networkstatus_get_reasonably_live_consensus,
+ bfn_mock_networkstatus_get_reasonably_live_consensus);
/* Return anything but NULL (it's interpreted as test fail) */
return (void*)testcase;
}
@@ -2691,7 +2706,7 @@ test_entry_guard_upgrade_not_blocked_by_worse_circ_pending(void *arg)
}
static void
-test_enty_guard_should_expire_waiting(void *arg)
+test_entry_guard_should_expire_waiting(void *arg)
{
(void)arg;
circuit_guard_state_t *fake_state = tor_malloc_zero(sizeof(*fake_state));
@@ -2832,13 +2847,16 @@ test_entry_guard_outdated_dirserver_exclusion(void *arg)
digests, 3, 7, 0);
/* ... and check that because we failed to fetch microdescs from all our
- * primaries, we didnt end up selecting a primary for fetching dir info */
+ * primaries, we didn't end up selecting a primary for fetching dir info */
expect_log_msg_containing("No primary or confirmed guards available.");
teardown_capture_of_logs();
}
done:
+ UNMOCK(networkstatus_get_latest_consensus_by_flavor);
+ UNMOCK(directory_initiate_request);
smartlist_free(digests);
+ tor_free(mock_ns_val);
tor_free(args);
if (conn) {
tor_free(conn->requested_resource);
@@ -3009,39 +3027,42 @@ static const struct testcase_setup_t upgrade_circuits = {
upgrade_circuits_setup, upgrade_circuits_cleanup
};
+#define NO_PREFIX_TEST(name) \
+ { #name, test_ ## name, 0, NULL, NULL }
+
+#define EN_TEST_BASE(name, fork, setup, arg) \
+ { #name, test_entry_guard_ ## name, fork, setup, (void*)(arg) }
+
+#define EN_TEST(name) EN_TEST_BASE(name, 0, NULL, NULL)
+#define EN_TEST_FORK(name) EN_TEST_BASE(name, TT_FORK, NULL, NULL)
+
#define BFN_TEST(name) \
- { #name, test_entry_guard_ ## name, TT_FORK, &big_fake_network, NULL }
+ EN_TEST_BASE(name, TT_FORK, &big_fake_network, NULL), \
+ { #name "_reasonably_live", test_entry_guard_ ## name, TT_FORK, \
+ &big_fake_network, (void*)("reasonably-live") }
-#define UPGRADE_TEST(name, arg) \
- { #name, test_entry_guard_ ## name, TT_FORK, &upgrade_circuits, \
- (void*)(arg) }
+#define UPGRADE_TEST(name, arg) \
+ EN_TEST_BASE(name, TT_FORK, &upgrade_circuits, arg), \
+ { #name "_reasonably_live", test_entry_guard_ ## name, TT_FORK, \
+ &upgrade_circuits, (void*)(arg " reasonably-live") }
struct testcase_t entrynodes_tests[] = {
- { "node_preferred_orport",
- test_node_preferred_orport,
- 0, NULL, NULL },
- { "entry_guard_describe", test_entry_guard_describe, 0, NULL, NULL },
- { "randomize_time", test_entry_guard_randomize_time, 0, NULL, NULL },
- { "encode_for_state_minimal",
- test_entry_guard_encode_for_state_minimal, 0, NULL, NULL },
- { "encode_for_state_maximal",
- test_entry_guard_encode_for_state_maximal, 0, NULL, NULL },
- { "parse_from_state_minimal",
- test_entry_guard_parse_from_state_minimal, 0, NULL, NULL },
- { "parse_from_state_maximal",
- test_entry_guard_parse_from_state_maximal, 0, NULL, NULL },
- { "parse_from_state_failure",
- test_entry_guard_parse_from_state_failure, 0, NULL, NULL },
- { "parse_from_state_partial_failure",
- test_entry_guard_parse_from_state_partial_failure, 0, NULL, NULL },
- { "parse_from_state_full",
- test_entry_guard_parse_from_state_full, TT_FORK, NULL, NULL },
- { "parse_from_state_broken",
- test_entry_guard_parse_from_state_broken, TT_FORK, NULL, NULL },
- { "get_guard_selection_by_name",
- test_entry_guard_get_guard_selection_by_name, TT_FORK, NULL, NULL },
- { "number_of_primaries",
- test_entry_guard_number_of_primaries, TT_FORK, NULL, NULL },
+ NO_PREFIX_TEST(node_preferred_orport),
+ NO_PREFIX_TEST(entry_guard_describe),
+
+ EN_TEST(randomize_time),
+ EN_TEST(encode_for_state_minimal),
+ EN_TEST(encode_for_state_maximal),
+ EN_TEST(parse_from_state_minimal),
+ EN_TEST(parse_from_state_maximal),
+ EN_TEST(parse_from_state_failure),
+ EN_TEST(parse_from_state_partial_failure),
+
+ EN_TEST_FORK(parse_from_state_full),
+ EN_TEST_FORK(parse_from_state_broken),
+ EN_TEST_FORK(get_guard_selection_by_name),
+ EN_TEST_FORK(number_of_primaries),
+
BFN_TEST(choose_selection_initial),
BFN_TEST(add_single_guard),
BFN_TEST(node_filter),
@@ -3055,7 +3076,9 @@ struct testcase_t entrynodes_tests[] = {
BFN_TEST(sample_reachable_filtered_empty),
BFN_TEST(retry_unreachable),
BFN_TEST(manage_primary),
- { "guard_preferred", test_entry_guard_guard_preferred, TT_FORK, NULL, NULL },
+
+ EN_TEST_FORK(guard_preferred),
+
BFN_TEST(select_for_circuit_no_confirmed),
BFN_TEST(select_for_circuit_confirmed),
BFN_TEST(select_for_circuit_highlevel_primary),
@@ -3078,8 +3101,8 @@ struct testcase_t entrynodes_tests[] = {
UPGRADE_TEST(upgrade_not_blocked_by_restricted_circ_pending,
"c2-done"),
UPGRADE_TEST(upgrade_not_blocked_by_worse_circ_pending, "c1-done"),
- { "should_expire_waiting", test_enty_guard_should_expire_waiting, TT_FORK,
- NULL, NULL },
+
+ EN_TEST_FORK(should_expire_waiting),
END_OF_TESTCASES
};
diff --git a/src/test/test_extorport.c b/src/test/test_extorport.c
index 71be9131c7..432a9ea5e3 100644
--- a/src/test/test_extorport.c
+++ b/src/test/test_extorport.c
@@ -5,7 +5,7 @@
#define EXT_ORPORT_PRIVATE
#define MAINLOOP_PRIVATE
#include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "core/mainloop/connection.h"
#include "core/or/connection_or.h"
#include "app/config/config.h"
diff --git a/src/test/test_helpers.c b/src/test/test_helpers.c
index 6ac73bff5c..b7bda16494 100644
--- a/src/test/test_helpers.c
+++ b/src/test/test_helpers.c
@@ -14,7 +14,7 @@
#include "orconfig.h"
#include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "app/config/config.h"
#include "app/config/confparse.h"
#include "core/mainloop/connection.h"
diff --git a/src/test/test_hs_common.c b/src/test/test_hs_common.c
index 95f7ed14ba..6198573f22 100644
--- a/src/test/test_hs_common.c
+++ b/src/test/test_hs_common.c
@@ -630,7 +630,7 @@ test_disaster_srv(void *arg)
get_disaster_srv(1, srv_one);
get_disaster_srv(2, srv_two);
- /* Check that the cached ones where updated */
+ /* Check that the cached ones were updated */
tt_mem_op(cached_disaster_srv_one, OP_EQ, srv_one, DIGEST256_LEN);
tt_mem_op(cached_disaster_srv_two, OP_EQ, srv_two, DIGEST256_LEN);
diff --git a/src/test/test_hs_config.c b/src/test/test_hs_config.c
index 553b96758a..b6ab0c21f9 100644
--- a/src/test/test_hs_config.c
+++ b/src/test/test_hs_config.c
@@ -366,6 +366,22 @@ test_invalid_service_v3(void *arg)
teardown_capture_of_logs();
}
+ /* v2-specific HiddenServiceAuthorizeClient set. */
+ {
+ const char *conf =
+ "HiddenServiceDir /tmp/tor-test-hs-RANDOM/hs1\n"
+ "HiddenServiceVersion 3\n"
+ "HiddenServiceAuthorizeClient stealth client1\n";
+ setup_full_capture_of_logs(LOG_WARN);
+ ret = helper_config_service(conf, validate_only);
+ tt_int_op(ret, OP_EQ, -1);
+ expect_log_msg_containing("Hidden service option "
+ "HiddenServiceAuthorizeClient is incompatible "
+ "with version 3 of service in "
+ "/tmp/tor-test-hs-RANDOM/hs1");
+ teardown_capture_of_logs();
+ }
+
done:
;
}
diff --git a/src/test/test_hs_service.c b/src/test/test_hs_service.c
index bfe50eb3c6..ee2d71aa75 100644
--- a/src/test/test_hs_service.c
+++ b/src/test/test_hs_service.c
@@ -1457,7 +1457,7 @@ test_build_update_descriptors(void *arg)
/* Time to test the update of those descriptors. At first, we have no node
* in the routerlist so this will find NO suitable node for the IPs. */
setup_full_capture_of_logs(LOG_INFO);
- update_all_descriptors(now);
+ update_all_descriptors_intro_points(now);
expect_log_msg_containing("Unable to find a suitable node to be an "
"introduction point for service");
teardown_capture_of_logs();
@@ -1508,7 +1508,7 @@ test_build_update_descriptors(void *arg)
/* We expect to pick only one intro point from the node above. */
setup_full_capture_of_logs(LOG_INFO);
- update_all_descriptors(now);
+ update_all_descriptors_intro_points(now);
tor_free(node->ri->onion_curve25519_pkey); /* Avoid memleak. */
tor_free(node->ri->cache_info.signing_key_cert);
tor_free(node->ri->onion_pkey);
diff --git a/src/test/test_logging.c b/src/test/test_logging.c
index cd685a4af7..2ecae461a3 100644
--- a/src/test/test_logging.c
+++ b/src/test/test_logging.c
@@ -9,7 +9,6 @@
#include "lib/err/torerr.h"
#include "lib/log/log.h"
#include "test/test.h"
-#include "lib/process/subprocess.h"
#ifdef HAVE_UNISTD_H
#include <unistd.h>
@@ -117,22 +116,27 @@ test_sigsafe_err(void *arg)
content = read_file_to_str(fn, 0, NULL);
tt_ptr_op(content, OP_NE, NULL);
- tor_split_lines(lines, content, (int)strlen(content));
+ smartlist_split_string(lines, content, "\n", 0, 0);
tt_int_op(smartlist_len(lines), OP_GE, 5);
- if (strstr(smartlist_get(lines, 0), "opening new log file"))
+ if (strstr(smartlist_get(lines, 0), "opening new log file")) {
+ void *item = smartlist_get(lines, 0);
smartlist_del_keeporder(lines, 0);
+ tor_free(item);
+ }
+
tt_assert(strstr(smartlist_get(lines, 0), "Say, this isn't too cool"));
- /* Next line is blank. */
- tt_assert(!strcmpstart(smartlist_get(lines, 1), "=============="));
- tt_assert(!strcmpstart(smartlist_get(lines, 2), "Minimal."));
- /* Next line is blank. */
- tt_assert(!strcmpstart(smartlist_get(lines, 3), "=============="));
- tt_str_op(smartlist_get(lines, 4), OP_EQ,
+ tt_str_op(smartlist_get(lines, 1), OP_EQ, "");
+ tt_assert(!strcmpstart(smartlist_get(lines, 2), "=============="));
+ tt_assert(!strcmpstart(smartlist_get(lines, 3), "Minimal."));
+ tt_str_op(smartlist_get(lines, 4), OP_EQ, "");
+ tt_assert(!strcmpstart(smartlist_get(lines, 5), "=============="));
+ tt_str_op(smartlist_get(lines, 6), OP_EQ,
"Testing any attempt to manually log from a signal.");
done:
tor_free(content);
+ SMARTLIST_FOREACH(lines, char *, x, tor_free(x));
smartlist_free(lines);
}
diff --git a/src/test/test_mainloop.c b/src/test/test_mainloop.c
index 92ce2e9918..d797417912 100644
--- a/src/test/test_mainloop.c
+++ b/src/test/test_mainloop.c
@@ -6,11 +6,23 @@
* \brief Tests for functions closely related to the Tor main loop
*/
+#define CONFIG_PRIVATE
+#define MAINLOOP_PRIVATE
+#define STATEFILE_PRIVATE
+
#include "test/test.h"
#include "test/log_test_helpers.h"
#include "core/or/or.h"
+#include "core/mainloop/connection.h"
#include "core/mainloop/mainloop.h"
+#include "core/mainloop/netstatus.h"
+
+#include "feature/hs/hs_service.h"
+
+#include "app/config/config.h"
+#include "app/config/statefile.h"
+#include "app/config/or_state_st.h"
static const uint64_t BILLION = 1000000000;
@@ -131,12 +143,219 @@ test_mainloop_update_time_jumps(void *arg)
monotime_disable_test_mocking();
}
+static int schedule_rescan_called = 0;
+static void
+mock_schedule_rescan_periodic_events(void)
+{
+ ++schedule_rescan_called;
+}
+
+static void
+test_mainloop_user_activity(void *arg)
+{
+ (void)arg;
+ const time_t start = 1542658829;
+ update_approx_time(start);
+
+ MOCK(schedule_rescan_periodic_events, mock_schedule_rescan_periodic_events);
+
+ reset_user_activity(start);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start);
+
+ set_network_participation(false);
+
+ // reset can move backwards and forwards, but does not change network
+ // participation.
+ reset_user_activity(start-10);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start-10);
+ reset_user_activity(start+10);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start+10);
+
+ tt_int_op(schedule_rescan_called, OP_EQ, 0);
+ tt_int_op(false, OP_EQ, is_participating_on_network());
+
+ // "note" can only move forward. Calling it from a non-participating
+ // state makes us rescan the periodic callbacks and set participation.
+ note_user_activity(start+20);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start+20);
+ tt_int_op(true, OP_EQ, is_participating_on_network());
+ tt_int_op(schedule_rescan_called, OP_EQ, 1);
+
+ // Calling it again will move us forward, but not call rescan again.
+ note_user_activity(start+25);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start+25);
+ tt_int_op(true, OP_EQ, is_participating_on_network());
+ tt_int_op(schedule_rescan_called, OP_EQ, 1);
+
+ // We won't move backwards.
+ note_user_activity(start+20);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start+25);
+ tt_int_op(true, OP_EQ, is_participating_on_network());
+ tt_int_op(schedule_rescan_called, OP_EQ, 1);
+
+ // We _will_ adjust if the clock jumps though.
+ netstatus_note_clock_jumped(500);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start+525);
+
+ netstatus_note_clock_jumped(-400);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start+125);
+
+ done:
+ UNMOCK(schedule_rescan_periodic_events);
+}
+
+static unsigned int
+mock_get_num_services(void)
+{
+ return 1;
+}
+
+static connection_t *
+mock_connection_gbtu(int type)
+{
+ (void) type;
+ return (void *)"hello fellow connections";
+}
+
+static void
+test_mainloop_check_participation(void *arg)
+{
+ (void)arg;
+ or_options_t *options = options_new();
+ const time_t start = 1542658829;
+ const time_t ONE_DAY = 24*60*60;
+
+ // Suppose we've been idle for a day or two
+ reset_user_activity(start - 2*ONE_DAY);
+ set_network_participation(true);
+ check_network_participation_callback(start, options);
+ tt_int_op(is_participating_on_network(), OP_EQ, false);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start-2*ONE_DAY);
+
+ // suppose we've been idle for 2 days... but we are a server.
+ reset_user_activity(start - 2*ONE_DAY);
+ options->ORPort_set = 1;
+ set_network_participation(true);
+ check_network_participation_callback(start+2, options);
+ tt_int_op(is_participating_on_network(), OP_EQ, true);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start+2);
+ options->ORPort_set = 0;
+
+ // idle for 2 days, but we have a hidden service.
+ reset_user_activity(start - 2*ONE_DAY);
+ set_network_participation(true);
+ MOCK(hs_service_get_num_services, mock_get_num_services);
+ check_network_participation_callback(start+3, options);
+ tt_int_op(is_participating_on_network(), OP_EQ, true);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start+3);
+ UNMOCK(hs_service_get_num_services);
+
+ // idle for 2 days but we have at least one user connection
+ MOCK(connection_get_by_type_nonlinked, mock_connection_gbtu);
+ reset_user_activity(start - 2*ONE_DAY);
+ set_network_participation(true);
+ options->DormantTimeoutDisabledByIdleStreams = 1;
+ check_network_participation_callback(start+10, options);
+ tt_int_op(is_participating_on_network(), OP_EQ, true);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start+10);
+
+ // as above, but DormantTimeoutDisabledByIdleStreams is not set
+ reset_user_activity(start - 2*ONE_DAY);
+ set_network_participation(true);
+ options->DormantTimeoutDisabledByIdleStreams = 0;
+ check_network_participation_callback(start+13, options);
+ tt_int_op(is_participating_on_network(), OP_EQ, false);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start-2*ONE_DAY);
+ UNMOCK(connection_get_by_type_nonlinked);
+ options->DormantTimeoutDisabledByIdleStreams = 1;
+
+ // idle for 2 days but DormantClientTimeout is 3 days
+ reset_user_activity(start - 2*ONE_DAY);
+ set_network_participation(true);
+ options->DormantClientTimeout = ONE_DAY * 3;
+ check_network_participation_callback(start+30, options);
+ tt_int_op(is_participating_on_network(), OP_EQ, true);
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start-2*ONE_DAY);
+
+ done:
+ or_options_free(options);
+ UNMOCK(hs_service_get_num_services);
+ UNMOCK(connection_get_by_type_nonlinked);
+}
+
+static void
+test_mainloop_dormant_load_state(void *arg)
+{
+ (void)arg;
+ or_state_t *state = or_state_new();
+ const time_t start = 1543956575;
+
+ reset_user_activity(0);
+ set_network_participation(false);
+
+ // When we construct a new state, it starts out in "auto" mode.
+ tt_int_op(state->Dormant, OP_EQ, -1);
+
+ // Initializing from "auto" makes us start out (by default) non-Dormant,
+ // with activity right now.
+ netstatus_load_from_state(state, start);
+ tt_assert(is_participating_on_network());
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start);
+
+ // Initializing from dormant clears the last user activity time, and
+ // makes us dormant.
+ state->Dormant = 1;
+ netstatus_load_from_state(state, start);
+ tt_assert(! is_participating_on_network());
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, 0);
+
+ // Initializing from non-dormant sets the last user activity time, and
+ // makes us non-dormant.
+ state->Dormant = 0;
+ state->MinutesSinceUserActivity = 123;
+ netstatus_load_from_state(state, start);
+ tt_assert(is_participating_on_network());
+ tt_i64_op(get_last_user_activity_time(), OP_EQ, start - 123*60);
+
+ done:
+ or_state_free(state);
+}
+
+static void
+test_mainloop_dormant_save_state(void *arg)
+{
+ (void)arg;
+ or_state_t *state = or_state_new();
+ const time_t start = 1543956575;
+
+ // Can we save a non-dormant state correctly?
+ reset_user_activity(start - 1000);
+ set_network_participation(true);
+ netstatus_flush_to_state(state, start);
+
+ tt_int_op(state->Dormant, OP_EQ, 0);
+ tt_int_op(state->MinutesSinceUserActivity, OP_EQ, 1000 / 60);
+
+ // Can we save a dormant state correctly?
+ set_network_participation(false);
+ netstatus_flush_to_state(state, start);
+
+ tt_int_op(state->Dormant, OP_EQ, 1);
+ tt_int_op(state->MinutesSinceUserActivity, OP_EQ, 0);
+
+ done:
+ or_state_free(state);
+}
+
#define MAINLOOP_TEST(name) \
{ #name, test_mainloop_## name , TT_FORK, NULL, NULL }
struct testcase_t mainloop_tests[] = {
MAINLOOP_TEST(update_time_normal),
MAINLOOP_TEST(update_time_jumps),
+ MAINLOOP_TEST(user_activity),
+ MAINLOOP_TEST(check_participation),
+ MAINLOOP_TEST(dormant_load_state),
+ MAINLOOP_TEST(dormant_save_state),
END_OF_TESTCASES
};
-
diff --git a/src/test/test_microdesc.c b/src/test/test_microdesc.c
index 8ede2690ec..fd79aee6be 100644
--- a/src/test/test_microdesc.c
+++ b/src/test/test_microdesc.c
@@ -11,6 +11,7 @@
#include "feature/dirparse/routerparse.h"
#include "feature/nodelist/microdesc.h"
#include "feature/nodelist/networkstatus.h"
+#include "feature/nodelist/nodefamily.h"
#include "feature/nodelist/routerlist.h"
#include "feature/nodelist/torcert.h"
@@ -70,6 +71,7 @@ test_md_cache(void *data)
const char *test_md3_noannotation = strchr(test_md3, '\n')+1;
time_t time1, time2, time3;
char *fn = NULL, *s = NULL;
+ char *encoded_family = NULL;
(void)data;
options = get_options_mutable();
@@ -172,8 +174,9 @@ test_md_cache(void *data)
tt_ptr_op(md1->family, OP_EQ, NULL);
tt_ptr_op(md3->family, OP_NE, NULL);
- tt_int_op(smartlist_len(md3->family), OP_EQ, 3);
- tt_str_op(smartlist_get(md3->family, 0), OP_EQ, "nodeX");
+
+ encoded_family = nodefamily_format(md3->family);
+ tt_str_op(encoded_family, OP_EQ, "nodex nodey nodez");
/* Now rebuild the cache! */
tt_int_op(microdesc_cache_rebuild(mc, 1), OP_EQ, 0);
@@ -254,6 +257,7 @@ test_md_cache(void *data)
smartlist_free(wanted);
tor_free(s);
tor_free(fn);
+ tor_free(encoded_family);
}
static const char truncated_md[] =
@@ -417,6 +421,28 @@ static const char test_md2_21[] =
"ntor-onion-key hbxdRnfVUJJY7+KcT4E3Rs7/zuClbN3hJrjSBiEGMgI=\n"
"id ed25519 wqfLzgfCtRfYNg88LsL1QpzxS0itapJ1aj6TbnByx/Q\n";
+static const char test_md2_withfamily_28[] =
+ "onion-key\n"
+ "-----BEGIN RSA PUBLIC KEY-----\n"
+ "MIGJAoGBAL2R8EfubUcahxha4u02P4VAR0llQIMwFAmrHPjzcK7apcQgDOf2ovOA\n"
+ "+YQnJFxlpBmCoCZC6ssCi+9G0mqo650lFuTMP5I90BdtjotfzESfTykHLiChyvhd\n"
+ "l0dlqclb2SU/GKem/fLRXH16aNi72CdSUu/1slKs/70ILi34QixRAgMBAAE=\n"
+ "-----END RSA PUBLIC KEY-----\n"
+ "ntor-onion-key hbxdRnfVUJJY7+KcT4E3Rs7/zuClbN3hJrjSBiEGMgI=\n"
+ "family OtherNode !Strange\n"
+ "id ed25519 wqfLzgfCtRfYNg88LsL1QpzxS0itapJ1aj6TbnByx/Q\n";
+
+static const char test_md2_withfamily_29[] =
+ "onion-key\n"
+ "-----BEGIN RSA PUBLIC KEY-----\n"
+ "MIGJAoGBAL2R8EfubUcahxha4u02P4VAR0llQIMwFAmrHPjzcK7apcQgDOf2ovOA\n"
+ "+YQnJFxlpBmCoCZC6ssCi+9G0mqo650lFuTMP5I90BdtjotfzESfTykHLiChyvhd\n"
+ "l0dlqclb2SU/GKem/fLRXH16aNi72CdSUu/1slKs/70ILi34QixRAgMBAAE=\n"
+ "-----END RSA PUBLIC KEY-----\n"
+ "ntor-onion-key hbxdRnfVUJJY7+KcT4E3Rs7/zuClbN3hJrjSBiEGMgI=\n"
+ "family !Strange $B7E27F104213C36F13E7E9829182845E495997A0 othernode\n"
+ "id ed25519 wqfLzgfCtRfYNg88LsL1QpzxS0itapJ1aj6TbnByx/Q\n";
+
static void
test_md_generate(void *arg)
{
@@ -447,6 +473,17 @@ test_md_generate(void *arg)
tt_assert(ed25519_pubkey_eq(md->ed25519_identity_pkey,
&ri->cache_info.signing_key_cert->signing_key));
+ // Try family encoding.
+ microdesc_free(md);
+ ri->declared_family = smartlist_new();
+ smartlist_add_strdup(ri->declared_family, "OtherNode !Strange");
+ md = dirvote_create_microdescriptor(ri, 28);
+ tt_str_op(md->body, OP_EQ, test_md2_withfamily_28);
+
+ microdesc_free(md);
+ md = dirvote_create_microdescriptor(ri, 29);
+ tt_str_op(md->body, OP_EQ, test_md2_withfamily_29);
+
done:
microdesc_free(md);
routerinfo_free(ri);
diff --git a/src/test/test_nodelist.c b/src/test/test_nodelist.c
index 1af6db68ec..ed919f4edf 100644
--- a/src/test/test_nodelist.c
+++ b/src/test/test_nodelist.c
@@ -6,15 +6,19 @@
* \brief Unit tests for nodelist related functions.
**/
+#define NODELIST_PRIVATE
+
#include "core/or/or.h"
#include "lib/crypt_ops/crypto_rand.h"
#include "feature/nodelist/networkstatus.h"
+#include "feature/nodelist/nodefamily.h"
#include "feature/nodelist/nodelist.h"
#include "feature/nodelist/torcert.h"
#include "feature/nodelist/microdesc_st.h"
#include "feature/nodelist/networkstatus_st.h"
#include "feature/nodelist/node_st.h"
+#include "feature/nodelist/nodefamily_st.h"
#include "feature/nodelist/routerinfo_st.h"
#include "feature/nodelist/routerstatus_st.h"
@@ -231,6 +235,411 @@ test_nodelist_ed_id(void *arg)
#undef N_NODES
}
+static void
+test_nodelist_nodefamily(void *arg)
+{
+ (void)arg;
+ /* hex ID digests */
+ const char h1[] = "5B435D6869206861206C65207363617270652070";
+ const char h2[] = "75C3B220616E6461726520696E206769726F2061";
+ const char h3[] = "2074726F766172206461206D616E67696172652C";
+ const char h4[] = "206D656E747265206E6F6E2076616C65206C2769";
+ const char h5[] = "6E766572736F2E202D2D5072696D6F204C657669";
+
+ /* binary ID digests */
+ uint8_t d1[DIGEST_LEN], d2[DIGEST_LEN], d3[DIGEST_LEN], d4[DIGEST_LEN],
+ d5[DIGEST_LEN];
+ base16_decode((char*)d1, sizeof(d1), h1, strlen(h1));
+ base16_decode((char*)d2, sizeof(d2), h2, strlen(h2));
+ base16_decode((char*)d3, sizeof(d3), h3, strlen(h3));
+ base16_decode((char*)d4, sizeof(d4), h4, strlen(h4));
+ base16_decode((char*)d5, sizeof(d5), h5, strlen(h5));
+
+ char *enc=NULL, *enc2=NULL;
+
+ nodefamily_t *nf1 = NULL;
+ nodefamily_t *nf2 = NULL;
+ nodefamily_t *nf3 = NULL;
+
+ enc = nodefamily_format(NULL);
+ tt_str_op(enc, OP_EQ, "");
+ tor_free(enc);
+
+ /* Make sure that sorting and de-duplication work. */
+ tor_asprintf(&enc, "$%s hello", h1);
+ nf1 = nodefamily_parse(enc, NULL, 0);
+ tt_assert(nf1);
+ tor_free(enc);
+
+ tor_asprintf(&enc, "hello hello $%s hello", h1);
+ nf2 = nodefamily_parse(enc, NULL, 0);
+ tt_assert(nf2);
+ tt_ptr_op(nf1, OP_EQ, nf2);
+ tor_free(enc);
+
+ tor_asprintf(&enc, "%s $%s hello", h1, h1);
+ nf3 = nodefamily_parse(enc, NULL, 0);
+ tt_assert(nf3);
+ tt_ptr_op(nf1, OP_EQ, nf3);
+ tor_free(enc);
+
+ tt_assert(nodefamily_contains_rsa_id(nf1, d1));
+ tt_assert(! nodefamily_contains_rsa_id(nf1, d2));
+ tt_assert(nodefamily_contains_nickname(nf1, "hello"));
+ tt_assert(nodefamily_contains_nickname(nf1, "HELLO"));
+ tt_assert(! nodefamily_contains_nickname(nf1, "goodbye"));
+
+ tt_int_op(nf1->refcnt, OP_EQ, 3);
+ nodefamily_free(nf3);
+ tt_int_op(nf1->refcnt, OP_EQ, 2);
+
+ /* Try parsing with a provided self RSA digest. */
+ nf3 = nodefamily_parse("hello ", d1, 0);
+ tt_assert(nf3);
+ tt_ptr_op(nf1, OP_EQ, nf3);
+
+ /* Do we get the expected result when we re-encode? */
+ tor_asprintf(&enc, "$%s hello", h1);
+ enc2 = nodefamily_format(nf1);
+ tt_str_op(enc2, OP_EQ, enc);
+ tor_free(enc2);
+ tor_free(enc);
+
+ /* Make sure that we get a different result if we give a different digest. */
+ nodefamily_free(nf3);
+ tor_asprintf(&enc, "hello $%s hello", h3);
+ nf3 = nodefamily_parse(enc, NULL, 0);
+ tt_assert(nf3);
+ tt_ptr_op(nf1, OP_NE, nf3);
+ tor_free(enc);
+
+ tt_assert(nodefamily_contains_rsa_id(nf3, d3));
+ tt_assert(! nodefamily_contains_rsa_id(nf3, d2));
+ tt_assert(! nodefamily_contains_rsa_id(nf3, d1));
+ tt_assert(nodefamily_contains_nickname(nf3, "hello"));
+ tt_assert(! nodefamily_contains_nickname(nf3, "goodbye"));
+
+ nodefamily_free(nf1);
+ nodefamily_free(nf2);
+ nodefamily_free(nf3);
+
+ /* Try one with several digests, all with nicknames appended, in different
+ formats. */
+ tor_asprintf(&enc, "%s $%s $%s=res $%s~ist", h1, h2, h3, h4);
+ nf1 = nodefamily_parse(enc, d5, 0);
+ tt_assert(nf1);
+ tt_assert(nodefamily_contains_rsa_id(nf1, d1));
+ tt_assert(nodefamily_contains_rsa_id(nf1, d2));
+ tt_assert(nodefamily_contains_rsa_id(nf1, d3));
+ tt_assert(nodefamily_contains_rsa_id(nf1, d4));
+ tt_assert(nodefamily_contains_rsa_id(nf1, d5));
+ /* Nicknames aren't preserved when ids are present, since node naming is
+ * deprecated */
+ tt_assert(! nodefamily_contains_nickname(nf3, "res"));
+ tor_free(enc);
+ tor_asprintf(&enc, "$%s $%s $%s $%s $%s", h4, h3, h1, h5, h2);
+ enc2 = nodefamily_format(nf1);
+ tt_str_op(enc, OP_EQ, enc2);
+ tor_free(enc);
+ tor_free(enc2);
+
+ /* Try ones where we parse the empty string. */
+ nf2 = nodefamily_parse("", NULL, 0);
+ nf3 = nodefamily_parse("", d4, 0);
+ tt_assert(nf2);
+ tt_assert(nf3);
+ tt_ptr_op(nf2, OP_NE, nf3);
+
+ tt_assert(! nodefamily_contains_rsa_id(nf2, d4));
+ tt_assert(nodefamily_contains_rsa_id(nf3, d4));
+ tt_assert(! nodefamily_contains_rsa_id(nf2, d5));
+ tt_assert(! nodefamily_contains_rsa_id(nf3, d5));
+ tt_assert(! nodefamily_contains_nickname(nf2, "fred"));
+ tt_assert(! nodefamily_contains_nickname(nf3, "bosco"));
+
+ /* The NULL family should contain nothing. */
+ tt_assert(! nodefamily_contains_rsa_id(NULL, d4));
+ tt_assert(! nodefamily_contains_rsa_id(NULL, d5));
+
+ done:
+ tor_free(enc);
+ tor_free(enc2);
+ nodefamily_free(nf1);
+ nodefamily_free(nf2);
+ nodefamily_free(nf3);
+ nodefamily_free_all();
+}
+
+static void
+test_nodelist_nodefamily_parse_err(void *arg)
+{
+ (void)arg;
+ nodefamily_t *nf1 = NULL;
+ char *enc = NULL;
+ const char *semibogus =
+ "sdakljfdslkfjdsaklfjdkl9sdf " // too long for nickname
+ "$jkASDFLkjsadfjhkl " // not hex
+ "$7468696e67732d696e2d7468656d73656c766573 " // ok
+ "reticulatogranulate "// ok
+ "$73656d69616e7468726f706f6c6f676963616c6c79 " // too long for hex
+ "$616273656e746d696e6465646e6573736573" // too short for hex
+ ;
+
+ setup_capture_of_logs(LOG_WARN);
+
+ // We only get two items when we parse this.
+ for (int reject = 0; reject <= 1; ++reject) {
+ for (int log_at_warn = 0; log_at_warn <= 1; ++log_at_warn) {
+ unsigned flags = log_at_warn ? NF_WARN_MALFORMED : 0;
+ flags |= reject ? NF_REJECT_MALFORMED : 0;
+ nf1 = nodefamily_parse(semibogus, NULL, flags);
+ if (reject) {
+ tt_assert(nf1 == NULL);
+ } else {
+ tt_assert(nf1);
+ enc = nodefamily_format(nf1);
+ tt_str_op(enc, OP_EQ,
+ "$7468696E67732D696E2D7468656D73656C766573 "
+ "reticulatogranulate");
+ tor_free(enc);
+ }
+
+ if (log_at_warn) {
+ expect_log_msg_containing("$616273656e746d696e6465646e6573736573");
+ expect_log_msg_containing("sdakljfdslkfjdsaklfjdkl9sdf");
+ } else {
+ tt_int_op(mock_saved_log_n_entries(), OP_EQ, 0);
+ }
+ mock_clean_saved_logs();
+ }
+ }
+
+ done:
+ tor_free(enc);
+ nodefamily_free(nf1);
+ teardown_capture_of_logs();
+}
+
+static const node_t *
+mock_node_get_by_id(const char *id)
+{
+ if (fast_memeq(id, "!!!!!!!!!!!!!!!!!!!!", DIGEST_LEN))
+ return NULL;
+
+ // use tor_free, not node_free.
+ node_t *fake_node = tor_malloc_zero(sizeof(node_t));
+ memcpy(fake_node->identity, id, DIGEST_LEN);
+ return fake_node;
+}
+
+static const node_t *
+mock_node_get_by_nickname(const char *nn, unsigned flags)
+{
+ (void)flags;
+ if (!strcmp(nn, "nonesuch"))
+ return NULL;
+
+ // use tor_free, not node_free.
+ node_t *fake_node = tor_malloc_zero(sizeof(node_t));
+ strlcpy(fake_node->identity, nn, DIGEST_LEN);
+ return fake_node;
+}
+
+static void
+test_nodelist_nodefamily_lookup(void *arg)
+{
+ (void)arg;
+ MOCK(node_get_by_nickname, mock_node_get_by_nickname);
+ MOCK(node_get_by_id, mock_node_get_by_id);
+ smartlist_t *sl = smartlist_new();
+ nodefamily_t *nf1 = NULL;
+ char *mem_op_hex_tmp = NULL;
+
+ // 'null' is allowed.
+ nodefamily_add_nodes_to_smartlist(NULL, sl);
+ tt_int_op(smartlist_len(sl), OP_EQ, 0);
+
+ // Try a real family
+ nf1 = nodefamily_parse("$EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE "
+ "$2121212121212121212121212121212121212121 "
+ "$3333333333333333333333333333333333333333 "
+ "erewhon nonesuch", NULL, 0);
+ tt_assert(nf1);
+ nodefamily_add_nodes_to_smartlist(nf1, sl);
+ // There were 5 elements; 2 were dropped because the mocked lookup failed.
+ tt_int_op(smartlist_len(sl), OP_EQ, 3);
+
+ const node_t *n = smartlist_get(sl, 0);
+ test_memeq_hex(n->identity, "3333333333333333333333333333333333333333");
+ n = smartlist_get(sl, 1);
+ test_memeq_hex(n->identity, "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE");
+ n = smartlist_get(sl, 2);
+ tt_str_op(n->identity, OP_EQ, "erewhon");
+
+ done:
+ UNMOCK(node_get_by_nickname);
+ UNMOCK(node_get_by_id);
+ SMARTLIST_FOREACH(sl, node_t *, fake_node, tor_free(fake_node));
+ smartlist_free(sl);
+ nodefamily_free(nf1);
+ tor_free(mem_op_hex_tmp);
+}
+
+static void
+test_nodelist_nickname_matches(void *arg)
+{
+ (void)arg;
+ node_t mock_node;
+ routerstatus_t mock_rs;
+ memset(&mock_node, 0, sizeof(mock_node));
+ memset(&mock_rs, 0, sizeof(mock_rs));
+
+ strlcpy(mock_rs.nickname, "evilgeniuses", sizeof(mock_rs.nickname));
+ mock_node.rs = &mock_rs;
+ memcpy(mock_node.identity, ".forabettertomorrow.", DIGEST_LEN);
+
+#define match(x) tt_assert(node_nickname_matches(&mock_node, (x)))
+#define no_match(x) tt_assert(! node_nickname_matches(&mock_node, (x)))
+
+ match("evilgeniuses");
+ match("EvilGeniuses");
+ match("EvilGeniuses");
+ match("2e666f7261626574746572746f6d6f72726f772e");
+ match("2E666F7261626574746572746F6D6F72726F772E");
+ match("$2e666f7261626574746572746f6d6f72726f772e");
+ match("$2E666F7261626574746572746F6D6F72726F772E");
+ match("$2E666F7261626574746572746F6D6F72726F772E~evilgeniuses");
+ match("$2E666F7261626574746572746F6D6F72726F772E~EVILGENIUSES");
+
+ no_match("evilgenius");
+ no_match("evilgeniuseses");
+ no_match("evil.genius");
+ no_match("$2E666F7261626574746572746F6D6F72726FFFFF");
+ no_match("2E666F7261626574746572746F6D6F72726FFFFF");
+ no_match("$2E666F7261626574746572746F6D6F72726F772E~fred");
+ no_match("$2E666F7261626574746572746F6D6F72726F772E=EVILGENIUSES");
+ done:
+ ;
+}
+
+static void
+test_nodelist_node_nodefamily(void *arg)
+{
+ (void)arg;
+ node_t mock_node1;
+ routerstatus_t mock_rs;
+ microdesc_t mock_md;
+
+ node_t mock_node2;
+ routerinfo_t mock_ri;
+
+ smartlist_t *nodes=smartlist_new();
+
+ memset(&mock_node1, 0, sizeof(mock_node1));
+ memset(&mock_node2, 0, sizeof(mock_node2));
+ memset(&mock_rs, 0, sizeof(mock_rs));
+ memset(&mock_md, 0, sizeof(mock_md));
+ memset(&mock_ri, 0, sizeof(mock_ri));
+
+ mock_node1.rs = &mock_rs;
+ mock_node1.md = &mock_md;
+
+ mock_node2.ri = &mock_ri;
+
+ strlcpy(mock_rs.nickname, "nodeone", sizeof(mock_rs.nickname));
+ mock_ri.nickname = tor_strdup("nodetwo");
+
+ memcpy(mock_node1.identity, "NodeOneNode1NodeOne1", DIGEST_LEN);
+ memcpy(mock_node2.identity, "SecondNodeWe'reTestn", DIGEST_LEN);
+
+ // empty families.
+ tt_assert(! node_family_contains(&mock_node1, &mock_node2));
+ tt_assert(! node_family_contains(&mock_node2, &mock_node1));
+
+ // Families contain nodes, but not these nodes
+ mock_ri.declared_family = smartlist_new();
+ smartlist_add(mock_ri.declared_family, (char*)"NodeThree");
+ mock_md.family = nodefamily_parse("NodeFour", NULL, 0);
+ tt_assert(! node_family_contains(&mock_node1, &mock_node2));
+ tt_assert(! node_family_contains(&mock_node2, &mock_node1));
+
+ // Families contain one another.
+ smartlist_add(mock_ri.declared_family, (char*)
+ "4e6f64654f6e654e6f6465314e6f64654f6e6531");
+ tt_assert(! node_family_contains(&mock_node1, &mock_node2));
+ tt_assert(node_family_contains(&mock_node2, &mock_node1));
+
+ nodefamily_free(mock_md.family);
+ mock_md.family = nodefamily_parse(
+ "NodeFour "
+ "5365636f6e644e6f64655765277265546573746e", NULL, 0);
+ tt_assert(node_family_contains(&mock_node1, &mock_node2));
+ tt_assert(node_family_contains(&mock_node2, &mock_node1));
+
+ // Try looking up families now.
+ MOCK(node_get_by_nickname, mock_node_get_by_nickname);
+ MOCK(node_get_by_id, mock_node_get_by_id);
+
+ node_lookup_declared_family(nodes, &mock_node1);
+ tt_int_op(smartlist_len(nodes), OP_EQ, 2);
+ const node_t *n = smartlist_get(nodes, 0);
+ tt_mem_op(n->identity, OP_EQ, "SecondNodeWe'reTestn", DIGEST_LEN);
+ n = smartlist_get(nodes, 1);
+ tt_str_op(n->identity, OP_EQ, "nodefour");
+
+ // free, try the other one.
+ SMARTLIST_FOREACH(nodes, node_t *, x, tor_free(x));
+ smartlist_clear(nodes);
+
+ node_lookup_declared_family(nodes, &mock_node2);
+ tt_int_op(smartlist_len(nodes), OP_EQ, 2);
+ n = smartlist_get(nodes, 0);
+ // This gets a truncated hex hex ID since it was looked up by name
+ tt_str_op(n->identity, OP_EQ, "NodeThree");
+ n = smartlist_get(nodes, 1);
+ tt_str_op(n->identity, OP_EQ, "4e6f64654f6e654e6f6");
+
+ done:
+ UNMOCK(node_get_by_nickname);
+ UNMOCK(node_get_by_id);
+ smartlist_free(mock_ri.declared_family);
+ nodefamily_free(mock_md.family);
+ tor_free(mock_ri.nickname);
+ // use tor_free, these aren't real nodes
+ SMARTLIST_FOREACH(nodes, node_t *, x, tor_free(x));
+ smartlist_free(nodes);
+}
+
+static void
+test_nodelist_nodefamily_canonicalize(void *arg)
+{
+ (void)arg;
+ char *c = NULL;
+
+ c = nodefamily_canonicalize("", NULL, 0);
+ tt_str_op(c, OP_EQ, "");
+ tor_free(c);
+
+ uint8_t own_id[20];
+ memset(own_id, 0, sizeof(own_id));
+ c = nodefamily_canonicalize(
+ "alice BOB caroL %potrzebie !!!@#@# "
+ "$bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb=fred "
+ "ffffffffffffffffffffffffffffffffffffffff "
+ "$cccccccccccccccccccccccccccccccccccccccc ", own_id, 0);
+ tt_str_op(c, OP_EQ,
+ "!!!@#@# "
+ "$0000000000000000000000000000000000000000 "
+ "$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB "
+ "$CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC "
+ "$FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF "
+ "%potrzebie "
+ "alice bob carol");
+
+ done:
+ tor_free(c);
+}
+
#define NODE(name, flags) \
{ #name, test_nodelist_##name, (flags), NULL, NULL }
@@ -239,6 +648,11 @@ struct testcase_t nodelist_tests[] = {
NODE(node_get_verbose_nickname_not_named, TT_FORK),
NODE(node_is_dir, TT_FORK),
NODE(ed_id, TT_FORK),
+ NODE(nodefamily, TT_FORK),
+ NODE(nodefamily_parse_err, TT_FORK),
+ NODE(nodefamily_lookup, TT_FORK),
+ NODE(nickname_matches, 0),
+ NODE(node_nodefamily, TT_FORK),
+ NODE(nodefamily_canonicalize, 0),
END_OF_TESTCASES
};
-
diff --git a/src/test/test_oom.c b/src/test/test_oom.c
index 313a6b3114..f84dc0764b 100644
--- a/src/test/test_oom.c
+++ b/src/test/test_oom.c
@@ -8,7 +8,7 @@
#define CIRCUITLIST_PRIVATE
#define CONNECTION_PRIVATE
#include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "core/or/circuitlist.h"
#include "lib/evloop/compat_libevent.h"
#include "core/mainloop/connection.h"
diff --git a/src/test/test_options.c b/src/test/test_options.c
index f14e620eeb..376d77626f 100644
--- a/src/test/test_options.c
+++ b/src/test/test_options.c
@@ -425,6 +425,7 @@ get_options_test_data(const char *conf)
// with options_init(), but about a dozen tests break when I do that.
// Being kinda lame and just fixing the immedate breakage for now..
result->opt->ConnectionPadding = -1; // default must be "auto"
+ result->opt->DormantClientTimeout = 1800; // must be over 600.
rv = config_get_lines(conf, &cl, 1);
tt_int_op(rv, OP_EQ, 0);
diff --git a/src/test/test_parsecommon.c b/src/test/test_parsecommon.c
index 6da125dd0a..8e74fcdb4d 100644
--- a/src/test/test_parsecommon.c
+++ b/src/test/test_parsecommon.c
@@ -300,8 +300,8 @@ test_parsecommon_get_next_token_parse_keys(void *arg)
tt_int_op(token->tp, OP_EQ, R_IPO_ONION_KEY);
tt_int_op(token->n_args, OP_EQ, 0);
tt_str_op(token->object_type, OP_EQ, "RSA PUBLIC KEY");
- tt_int_op(token->object_size, OP_EQ, 0);
- tt_assert(!token->object_body);
+ tt_int_op(token->object_size, OP_EQ, 140);
+ tt_assert(token->object_body);
tt_assert(token->key);
tt_assert(!token->error);
@@ -335,8 +335,8 @@ test_parsecommon_get_next_token_parse_keys(void *arg)
tt_int_op(token2->tp, OP_EQ, C_CLIENT_KEY);
tt_int_op(token2->n_args, OP_EQ, 0);
tt_str_op(token2->object_type, OP_EQ, "RSA PRIVATE KEY");
- tt_int_op(token2->object_size, OP_EQ, 0);
- tt_assert(!token2->object_body);
+ tt_int_op(token2->object_size, OP_EQ, 608);
+ tt_assert(token2->object_body);
tt_assert(token2->key);
tt_assert(!token->error);
diff --git a/src/test/test_periodic_event.c b/src/test/test_periodic_event.c
index 86dedd85d8..f3d518eb7b 100644
--- a/src/test/test_periodic_event.c
+++ b/src/test/test_periodic_event.c
@@ -19,6 +19,7 @@
#include "feature/hibernate/hibernate.h"
#include "feature/hs/hs_service.h"
#include "core/mainloop/mainloop.h"
+#include "core/mainloop/netstatus.h"
#include "core/mainloop/periodic.h"
/** Helper function: This is replaced in some tests for the event callbacks so
@@ -50,6 +51,8 @@ test_pe_initialize(void *arg)
* need to run the main loop and then wait for a second delaying the unit
* tests. Instead, we'll test the callback work indepedently elsewhere. */
initialize_periodic_events();
+ set_network_participation(false);
+ rescan_periodic_events(get_options());
/* Validate that all events have been set up. */
for (int i = 0; periodic_events[i].name; ++i) {
@@ -59,7 +62,9 @@ test_pe_initialize(void *arg)
tt_u64_op(item->last_action_time, OP_EQ, 0);
/* Every event must have role(s) assign to it. This is done statically. */
tt_u64_op(item->roles, OP_NE, 0);
- tt_uint_op(periodic_event_is_enabled(item), OP_EQ, 0);
+ int should_be_enabled = (item->roles & PERIODIC_EVENT_ROLE_ALL) &&
+ !(item->flags & PERIODIC_EVENT_FLAG_NEED_NET);
+ tt_uint_op(periodic_event_is_enabled(item), OP_EQ, should_be_enabled);
}
done:
@@ -79,6 +84,8 @@ test_pe_launch(void *arg)
* network gets enabled. */
consider_hibernation(time(NULL));
+ set_network_participation(true);
+
/* Hack: We'll set a dumb fn() of each events so they don't get called when
* dispatching them. We just want to test the state of the callbacks, not
* the whole code path. */
@@ -90,6 +97,7 @@ test_pe_launch(void *arg)
options = get_options_mutable();
options->SocksPort_set = 1;
periodic_events_on_new_options(options);
+
#if 0
/* Lets make sure that before intialization, we can't scan the periodic
* events list and launch them. Lets try by being a Client. */
@@ -106,13 +114,12 @@ test_pe_launch(void *arg)
/* Now that we've initialized, rescan the list to launch. */
periodic_events_on_new_options(options);
+ int mask = PERIODIC_EVENT_ROLE_CLIENT|PERIODIC_EVENT_ROLE_ALL|
+ PERIODIC_EVENT_ROLE_NET_PARTICIPANT;
for (int i = 0; periodic_events[i].name; ++i) {
periodic_event_item_t *item = &periodic_events[i];
- if (item->roles & PERIODIC_EVENT_ROLE_CLIENT) {
- tt_int_op(periodic_event_is_enabled(item), OP_EQ, 1);
- } else {
- tt_int_op(periodic_event_is_enabled(item), OP_EQ, 0);
- }
+ int should_be_enabled = !!(item->roles & mask);
+ tt_int_op(periodic_event_is_enabled(item), OP_EQ, should_be_enabled);
// enabled or not, the event has not yet been run.
tt_u64_op(item->last_action_time, OP_EQ, 0);
}
@@ -124,7 +131,8 @@ test_pe_launch(void *arg)
unsigned roles = get_my_roles(options);
tt_uint_op(roles, OP_EQ,
- PERIODIC_EVENT_ROLE_RELAY|PERIODIC_EVENT_ROLE_DIRSERVER);
+ PERIODIC_EVENT_ROLE_RELAY|PERIODIC_EVENT_ROLE_DIRSERVER|
+ PERIODIC_EVENT_ROLE_ALL|PERIODIC_EVENT_ROLE_NET_PARTICIPANT);
for (int i = 0; periodic_events[i].name; ++i) {
periodic_event_item_t *item = &periodic_events[i];
@@ -144,17 +152,23 @@ test_pe_launch(void *arg)
/* Disable everything and we'll enable them ALL. */
options->SocksPort_set = 0;
options->ORPort_set = 0;
+ options->DisableNetwork = 1;
+ set_network_participation(false);
periodic_events_on_new_options(options);
for (int i = 0; periodic_events[i].name; ++i) {
periodic_event_item_t *item = &periodic_events[i];
- tt_int_op(periodic_event_is_enabled(item), OP_EQ, 0);
+ int should_be_enabled = (item->roles & PERIODIC_EVENT_ROLE_ALL) &&
+ !(item->flags & PERIODIC_EVENT_FLAG_NEED_NET);
+ tt_int_op(periodic_event_is_enabled(item), OP_EQ, should_be_enabled);
}
/* Enable everything. */
options->SocksPort_set = 1; options->ORPort_set = 1;
options->BridgeRelay = 1; options->AuthoritativeDir = 1;
options->V3AuthoritativeDir = 1; options->BridgeAuthoritativeDir = 1;
+ options->DisableNetwork = 0;
+ set_network_participation(true);
register_dummy_hidden_service(&service);
periodic_events_on_new_options(options);
/* Note down the reference because we need to remove this service from the
@@ -165,7 +179,8 @@ test_pe_launch(void *arg)
for (int i = 0; periodic_events[i].name; ++i) {
periodic_event_item_t *item = &periodic_events[i];
- tt_int_op(periodic_event_is_enabled(item), OP_EQ, 1);
+ tt_int_op(periodic_event_is_enabled(item), OP_EQ,
+ (item->roles != PERIODIC_EVENT_ROLE_CONTROLEV));
}
done:
@@ -187,42 +202,49 @@ test_pe_get_roles(void *arg)
or_options_t *options = get_options_mutable();
tt_assert(options);
+ set_network_participation(true);
+
+ const int ALL = PERIODIC_EVENT_ROLE_ALL |
+ PERIODIC_EVENT_ROLE_NET_PARTICIPANT;
/* Nothing configured, should be no roles. */
+ tt_assert(net_is_disabled());
roles = get_my_roles(options);
- tt_int_op(roles, OP_EQ, 0);
+ tt_int_op(roles, OP_EQ, ALL);
/* Indicate we have a SocksPort, roles should be come Client. */
options->SocksPort_set = 1;
roles = get_my_roles(options);
- tt_int_op(roles, OP_EQ, PERIODIC_EVENT_ROLE_CLIENT);
+ tt_int_op(roles, OP_EQ, PERIODIC_EVENT_ROLE_CLIENT|ALL);
/* Now, we'll add a ORPort so should now be a Relay + Client. */
options->ORPort_set = 1;
roles = get_my_roles(options);
tt_int_op(roles, OP_EQ,
(PERIODIC_EVENT_ROLE_CLIENT | PERIODIC_EVENT_ROLE_RELAY |
- PERIODIC_EVENT_ROLE_DIRSERVER));
+ PERIODIC_EVENT_ROLE_DIRSERVER | ALL));
/* Now add a Bridge. */
options->BridgeRelay = 1;
roles = get_my_roles(options);
tt_int_op(roles, OP_EQ,
(PERIODIC_EVENT_ROLE_CLIENT | PERIODIC_EVENT_ROLE_RELAY |
- PERIODIC_EVENT_ROLE_BRIDGE | PERIODIC_EVENT_ROLE_DIRSERVER));
+ PERIODIC_EVENT_ROLE_BRIDGE | PERIODIC_EVENT_ROLE_DIRSERVER |
+ ALL));
tt_assert(roles & PERIODIC_EVENT_ROLE_ROUTER);
/* Unset client so we can solely test Router role. */
options->SocksPort_set = 0;
roles = get_my_roles(options);
tt_int_op(roles, OP_EQ,
- PERIODIC_EVENT_ROLE_ROUTER | PERIODIC_EVENT_ROLE_DIRSERVER);
+ PERIODIC_EVENT_ROLE_ROUTER | PERIODIC_EVENT_ROLE_DIRSERVER |
+ ALL);
/* Reset options so we can test authorities. */
options->SocksPort_set = 0;
options->ORPort_set = 0;
options->BridgeRelay = 0;
roles = get_my_roles(options);
- tt_int_op(roles, OP_EQ, 0);
+ tt_int_op(roles, OP_EQ, ALL);
/* Now upgrade to Dirauth. */
options->DirPort_set = 1;
@@ -230,7 +252,7 @@ test_pe_get_roles(void *arg)
options->V3AuthoritativeDir = 1;
roles = get_my_roles(options);
tt_int_op(roles, OP_EQ,
- PERIODIC_EVENT_ROLE_DIRAUTH|PERIODIC_EVENT_ROLE_DIRSERVER);
+ PERIODIC_EVENT_ROLE_DIRAUTH|PERIODIC_EVENT_ROLE_DIRSERVER|ALL);
tt_assert(roles & PERIODIC_EVENT_ROLE_AUTHORITIES);
/* Now Bridge Authority. */
@@ -238,7 +260,7 @@ test_pe_get_roles(void *arg)
options->BridgeAuthoritativeDir = 1;
roles = get_my_roles(options);
tt_int_op(roles, OP_EQ,
- PERIODIC_EVENT_ROLE_BRIDGEAUTH|PERIODIC_EVENT_ROLE_DIRSERVER);
+ PERIODIC_EVENT_ROLE_BRIDGEAUTH|PERIODIC_EVENT_ROLE_DIRSERVER|ALL);
tt_assert(roles & PERIODIC_EVENT_ROLE_AUTHORITIES);
/* Move that bridge auth to become a relay. */
@@ -246,7 +268,7 @@ test_pe_get_roles(void *arg)
roles = get_my_roles(options);
tt_int_op(roles, OP_EQ,
(PERIODIC_EVENT_ROLE_BRIDGEAUTH | PERIODIC_EVENT_ROLE_RELAY
- | PERIODIC_EVENT_ROLE_DIRSERVER));
+ | PERIODIC_EVENT_ROLE_DIRSERVER|ALL));
tt_assert(roles & PERIODIC_EVENT_ROLE_AUTHORITIES);
/* And now an Hidden service. */
@@ -257,7 +279,8 @@ test_pe_get_roles(void *arg)
remove_service(get_hs_service_map(), &service);
tt_int_op(roles, OP_EQ,
(PERIODIC_EVENT_ROLE_BRIDGEAUTH | PERIODIC_EVENT_ROLE_RELAY |
- PERIODIC_EVENT_ROLE_HS_SERVICE | PERIODIC_EVENT_ROLE_DIRSERVER));
+ PERIODIC_EVENT_ROLE_HS_SERVICE | PERIODIC_EVENT_ROLE_DIRSERVER |
+ ALL));
tt_assert(roles & PERIODIC_EVENT_ROLE_AUTHORITIES);
done:
diff --git a/src/test/test_policy.c b/src/test/test_policy.c
index afe608f5f7..3820c6c1db 100644
--- a/src/test/test_policy.c
+++ b/src/test/test_policy.c
@@ -2024,6 +2024,20 @@ test_policies_fascist_firewall_allows_address(void *arg)
expect_ap); \
STMT_END
+/** Mock the preferred address function to return zero (prefer IPv4). */
+static int
+mock_fascist_firewall_rand_prefer_ipv6_addr_use_ipv4(void)
+{
+ return 0;
+}
+
+/** Mock the preferred address function to return one (prefer IPv6). */
+static int
+mock_fascist_firewall_rand_prefer_ipv6_addr_use_ipv6(void)
+{
+ return 1;
+}
+
/** Run unit tests for fascist_firewall_choose_address */
static void
test_policies_fascist_firewall_choose_address(void *arg)
@@ -2422,6 +2436,42 @@ test_policies_fascist_firewall_choose_address(void *arg)
CHECK_CHOSEN_ADDR_RN(fake_rs, fake_node, FIREWALL_DIR_CONNECTION, 1, 1,
ipv4_dir_ap);
+ /* Test ClientAutoIPv6ORPort and pretend we prefer IPv4. */
+ memset(&mock_options, 0, sizeof(or_options_t));
+ mock_options.ClientAutoIPv6ORPort = 1;
+ mock_options.ClientUseIPv4 = 1;
+ mock_options.ClientUseIPv6 = 1;
+ MOCK(fascist_firewall_rand_prefer_ipv6_addr,
+ mock_fascist_firewall_rand_prefer_ipv6_addr_use_ipv4);
+ /* Simulate the initialisation of fake_node.ipv6_preferred */
+ fake_node.ipv6_preferred = fascist_firewall_prefer_ipv6_orport(
+ &mock_options);
+
+ CHECK_CHOSEN_ADDR_RN(fake_rs, fake_node, FIREWALL_OR_CONNECTION, 0, 1,
+ ipv4_or_ap);
+ CHECK_CHOSEN_ADDR_RN(fake_rs, fake_node, FIREWALL_OR_CONNECTION, 1, 1,
+ ipv4_or_ap);
+
+ UNMOCK(fascist_firewall_rand_prefer_ipv6_addr);
+
+ /* Test ClientAutoIPv6ORPort and pretend we prefer IPv6. */
+ memset(&mock_options, 0, sizeof(or_options_t));
+ mock_options.ClientAutoIPv6ORPort = 1;
+ mock_options.ClientUseIPv4 = 1;
+ mock_options.ClientUseIPv6 = 1;
+ MOCK(fascist_firewall_rand_prefer_ipv6_addr,
+ mock_fascist_firewall_rand_prefer_ipv6_addr_use_ipv6);
+ /* Simulate the initialisation of fake_node.ipv6_preferred */
+ fake_node.ipv6_preferred = fascist_firewall_prefer_ipv6_orport(
+ &mock_options);
+
+ CHECK_CHOSEN_ADDR_RN(fake_rs, fake_node, FIREWALL_OR_CONNECTION, 0, 1,
+ ipv6_or_ap);
+ CHECK_CHOSEN_ADDR_RN(fake_rs, fake_node, FIREWALL_OR_CONNECTION, 1, 1,
+ ipv6_or_ap);
+
+ UNMOCK(fascist_firewall_rand_prefer_ipv6_addr);
+
done:
UNMOCK(get_options);
}
diff --git a/src/test/test_process.c b/src/test/test_process.c
new file mode 100644
index 0000000000..9b62862f04
--- /dev/null
+++ b/src/test/test_process.c
@@ -0,0 +1,696 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file test_process.c
+ * \brief Test cases for the Process API.
+ */
+
+#include "orconfig.h"
+#include "core/or/or.h"
+#include "test/test.h"
+#include "lib/process/env.h"
+
+#define PROCESS_PRIVATE
+#include "lib/process/process.h"
+#define PROCESS_UNIX_PRIVATE
+#include "lib/process/process_unix.h"
+#define PROCESS_WIN32_PRIVATE
+#include "lib/process/process_win32.h"
+
+static const char *stdout_read_buffer;
+static const char *stderr_read_buffer;
+
+struct process_data_t {
+ smartlist_t *stdout_data;
+ smartlist_t *stderr_data;
+ smartlist_t *stdin_data;
+ process_exit_code_t exit_code;
+};
+
+typedef struct process_data_t process_data_t;
+
+static process_data_t *
+process_data_new(void)
+{
+ process_data_t *process_data = tor_malloc_zero(sizeof(process_data_t));
+ process_data->stdout_data = smartlist_new();
+ process_data->stderr_data = smartlist_new();
+ process_data->stdin_data = smartlist_new();
+ return process_data;
+}
+
+static void
+process_data_free(process_data_t *process_data)
+{
+ if (process_data == NULL)
+ return;
+
+ SMARTLIST_FOREACH(process_data->stdout_data, char *, x, tor_free(x));
+ SMARTLIST_FOREACH(process_data->stderr_data, char *, x, tor_free(x));
+ SMARTLIST_FOREACH(process_data->stdin_data, char *, x, tor_free(x));
+
+ smartlist_free(process_data->stdout_data);
+ smartlist_free(process_data->stderr_data);
+ smartlist_free(process_data->stdin_data);
+ tor_free(process_data);
+}
+
+static int
+process_mocked_read_stdout(process_t *process, buf_t *buffer)
+{
+ (void)process;
+
+ if (stdout_read_buffer != NULL) {
+ buf_add_string(buffer, stdout_read_buffer);
+ stdout_read_buffer = NULL;
+ }
+
+ return (int)buf_datalen(buffer);
+}
+
+static int
+process_mocked_read_stderr(process_t *process, buf_t *buffer)
+{
+ (void)process;
+
+ if (stderr_read_buffer != NULL) {
+ buf_add_string(buffer, stderr_read_buffer);
+ stderr_read_buffer = NULL;
+ }
+
+ return (int)buf_datalen(buffer);
+}
+
+static void
+process_mocked_write_stdin(process_t *process, buf_t *buffer)
+{
+ const size_t size = buf_datalen(buffer);
+
+ if (size == 0)
+ return;
+
+ char *data = tor_malloc_zero(size + 1);
+ process_data_t *process_data = process_get_data(process);
+
+ buf_get_bytes(buffer, data, size);
+ smartlist_add(process_data->stdin_data, data);
+}
+
+static void
+process_stdout_callback(process_t *process, const char *data, size_t size)
+{
+ tt_ptr_op(process, OP_NE, NULL);
+ tt_ptr_op(data, OP_NE, NULL);
+ tt_int_op(strlen(data), OP_EQ, size);
+
+ process_data_t *process_data = process_get_data(process);
+ smartlist_add(process_data->stdout_data, tor_strdup(data));
+
+ done:
+ return;
+}
+
+static void
+process_stderr_callback(process_t *process, const char *data, size_t size)
+{
+ tt_ptr_op(process, OP_NE, NULL);
+ tt_ptr_op(data, OP_NE, NULL);
+ tt_int_op(strlen(data), OP_EQ, size);
+
+ process_data_t *process_data = process_get_data(process);
+ smartlist_add(process_data->stderr_data, tor_strdup(data));
+
+ done:
+ return;
+}
+
+static bool
+process_exit_callback(process_t *process, process_exit_code_t exit_code)
+{
+ tt_ptr_op(process, OP_NE, NULL);
+
+ process_data_t *process_data = process_get_data(process);
+ process_data->exit_code = exit_code;
+
+ done:
+ /* Do not free up our process_t. */
+ return false;
+}
+
+static void
+test_default_values(void *arg)
+{
+ (void)arg;
+ process_init();
+
+ process_t *process = process_new("/path/to/nothing");
+
+ /* We are not running by default. */
+ tt_int_op(PROCESS_STATUS_NOT_RUNNING, OP_EQ, process_get_status(process));
+
+ /* We use the line protocol by default. */
+ tt_int_op(PROCESS_PROTOCOL_LINE, OP_EQ, process_get_protocol(process));
+
+ /* We don't set any custom data by default. */
+ tt_ptr_op(NULL, OP_EQ, process_get_data(process));
+
+ /* Our command was given to the process_t's constructor in process_new(). */
+ tt_str_op("/path/to/nothing", OP_EQ, process_get_command(process));
+
+ /* Make sure we are listed in the list of proccesses. */
+ tt_assert(smartlist_contains(process_get_all_processes(),
+ process));
+
+ /* Default PID is 0. */
+ tt_int_op(0, OP_EQ, process_get_pid(process));
+
+ /* Our arguments should be empty. */
+ tt_int_op(0, OP_EQ,
+ smartlist_len(process_get_arguments(process)));
+
+ done:
+ process_free(process);
+ process_free_all();
+}
+
+static void
+test_environment(void *arg)
+{
+ (void)arg;
+ process_init();
+
+ process_t *process = process_new("");
+ process_environment_t *env = NULL;
+
+ process_set_environment(process, "E", "F");
+ process_set_environment(process, "C", "D");
+ process_set_environment(process, "A", "B");
+
+ env = process_get_environment(process);
+ tt_mem_op(env->windows_environment_block, OP_EQ,
+ "A=B\0C=D\0E=F\0", 12);
+ tt_str_op(env->unixoid_environment_block[0], OP_EQ,
+ "A=B");
+ tt_str_op(env->unixoid_environment_block[1], OP_EQ,
+ "C=D");
+ tt_str_op(env->unixoid_environment_block[2], OP_EQ,
+ "E=F");
+ tt_ptr_op(env->unixoid_environment_block[3], OP_EQ,
+ NULL);
+ process_environment_free(env);
+
+ /* Reset our environment. */
+ smartlist_t *new_env = smartlist_new();
+ smartlist_add(new_env, (char *)"FOO=bar");
+ smartlist_add(new_env, (char *)"HELLO=world");
+
+ process_reset_environment(process, new_env);
+ smartlist_free(new_env);
+
+ env = process_get_environment(process);
+ tt_mem_op(env->windows_environment_block, OP_EQ,
+ "FOO=bar\0HELLO=world\0", 20);
+ tt_str_op(env->unixoid_environment_block[0], OP_EQ,
+ "FOO=bar");
+ tt_str_op(env->unixoid_environment_block[1], OP_EQ,
+ "HELLO=world");
+ tt_ptr_op(env->unixoid_environment_block[2], OP_EQ,
+ NULL);
+
+ done:
+ process_environment_free(env);
+ process_free(process);
+ process_free_all();
+}
+
+static void
+test_stringified_types(void *arg)
+{
+ (void)arg;
+
+ /* process_protocol_t values. */
+ tt_str_op("Raw", OP_EQ, process_protocol_to_string(PROCESS_PROTOCOL_RAW));
+ tt_str_op("Line", OP_EQ, process_protocol_to_string(PROCESS_PROTOCOL_LINE));
+
+ /* process_status_t values. */
+ tt_str_op("not running", OP_EQ,
+ process_status_to_string(PROCESS_STATUS_NOT_RUNNING));
+ tt_str_op("running", OP_EQ,
+ process_status_to_string(PROCESS_STATUS_RUNNING));
+ tt_str_op("error", OP_EQ,
+ process_status_to_string(PROCESS_STATUS_ERROR));
+
+ done:
+ return;
+}
+
+static void
+test_line_protocol_simple(void *arg)
+{
+ (void)arg;
+ process_init();
+
+ process_data_t *process_data = process_data_new();
+
+ process_t *process = process_new("");
+ process_set_data(process, process_data);
+
+ process_set_stdout_read_callback(process, process_stdout_callback);
+ process_set_stderr_read_callback(process, process_stderr_callback);
+
+ MOCK(process_read_stdout, process_mocked_read_stdout);
+ MOCK(process_read_stderr, process_mocked_read_stderr);
+
+ /* Make sure we are running with the line protocol. */
+ tt_int_op(PROCESS_PROTOCOL_LINE, OP_EQ, process_get_protocol(process));
+
+ tt_int_op(0, OP_EQ, smartlist_len(process_data->stdout_data));
+ tt_int_op(0, OP_EQ, smartlist_len(process_data->stderr_data));
+
+ stdout_read_buffer = "Hello stdout\n";
+ process_notify_event_stdout(process);
+ tt_ptr_op(NULL, OP_EQ, stdout_read_buffer);
+
+ stderr_read_buffer = "Hello stderr\r\n";
+ process_notify_event_stderr(process);
+ tt_ptr_op(NULL, OP_EQ, stderr_read_buffer);
+
+ /* Data should be ready. */
+ tt_int_op(1, OP_EQ, smartlist_len(process_data->stdout_data));
+ tt_int_op(1, OP_EQ, smartlist_len(process_data->stderr_data));
+
+ /* Check if the data is correct. */
+ tt_str_op(smartlist_get(process_data->stdout_data, 0), OP_EQ,
+ "Hello stdout");
+ tt_str_op(smartlist_get(process_data->stderr_data, 0), OP_EQ,
+ "Hello stderr");
+
+ done:
+ process_data_free(process_data);
+ process_free(process);
+ process_free_all();
+
+ UNMOCK(process_read_stdout);
+ UNMOCK(process_read_stderr);
+}
+
+static void
+test_line_protocol_multi(void *arg)
+{
+ (void)arg;
+ process_init();
+
+ process_data_t *process_data = process_data_new();
+
+ process_t *process = process_new("");
+ process_set_data(process, process_data);
+ process_set_stdout_read_callback(process, process_stdout_callback);
+ process_set_stderr_read_callback(process, process_stderr_callback);
+
+ MOCK(process_read_stdout, process_mocked_read_stdout);
+ MOCK(process_read_stderr, process_mocked_read_stderr);
+
+ /* Make sure we are running with the line protocol. */
+ tt_int_op(PROCESS_PROTOCOL_LINE, OP_EQ, process_get_protocol(process));
+
+ tt_int_op(0, OP_EQ, smartlist_len(process_data->stdout_data));
+ tt_int_op(0, OP_EQ, smartlist_len(process_data->stderr_data));
+
+ stdout_read_buffer = "Hello stdout\r\nOnion Onion Onion\nA B C D\r\n\r\n";
+ process_notify_event_stdout(process);
+ tt_ptr_op(NULL, OP_EQ, stdout_read_buffer);
+
+ stderr_read_buffer = "Hello stderr\nFoo bar baz\nOnion Onion Onion\n";
+ process_notify_event_stderr(process);
+ tt_ptr_op(NULL, OP_EQ, stderr_read_buffer);
+
+ /* Data should be ready. */
+ tt_int_op(4, OP_EQ, smartlist_len(process_data->stdout_data));
+ tt_int_op(3, OP_EQ, smartlist_len(process_data->stderr_data));
+
+ /* Check if the data is correct. */
+ tt_str_op(smartlist_get(process_data->stdout_data, 0), OP_EQ,
+ "Hello stdout");
+ tt_str_op(smartlist_get(process_data->stdout_data, 1), OP_EQ,
+ "Onion Onion Onion");
+ tt_str_op(smartlist_get(process_data->stdout_data, 2), OP_EQ,
+ "A B C D");
+ tt_str_op(smartlist_get(process_data->stdout_data, 3), OP_EQ,
+ "");
+
+ tt_str_op(smartlist_get(process_data->stderr_data, 0), OP_EQ,
+ "Hello stderr");
+ tt_str_op(smartlist_get(process_data->stderr_data, 1), OP_EQ,
+ "Foo bar baz");
+ tt_str_op(smartlist_get(process_data->stderr_data, 2), OP_EQ,
+ "Onion Onion Onion");
+
+ done:
+ process_data_free(process_data);
+ process_free(process);
+ process_free_all();
+
+ UNMOCK(process_read_stdout);
+ UNMOCK(process_read_stderr);
+}
+
+static void
+test_line_protocol_partial(void *arg)
+{
+ (void)arg;
+ process_init();
+
+ process_data_t *process_data = process_data_new();
+
+ process_t *process = process_new("");
+ process_set_data(process, process_data);
+ process_set_stdout_read_callback(process, process_stdout_callback);
+ process_set_stderr_read_callback(process, process_stderr_callback);
+
+ MOCK(process_read_stdout, process_mocked_read_stdout);
+ MOCK(process_read_stderr, process_mocked_read_stderr);
+
+ /* Make sure we are running with the line protocol. */
+ tt_int_op(PROCESS_PROTOCOL_LINE, OP_EQ, process_get_protocol(process));
+
+ tt_int_op(0, OP_EQ, smartlist_len(process_data->stdout_data));
+ tt_int_op(0, OP_EQ, smartlist_len(process_data->stderr_data));
+
+ stdout_read_buffer = "Hello stdout this is a partial line ...";
+ process_notify_event_stdout(process);
+ tt_ptr_op(NULL, OP_EQ, stdout_read_buffer);
+
+ stderr_read_buffer = "Hello stderr this is a partial line ...";
+ process_notify_event_stderr(process);
+ tt_ptr_op(NULL, OP_EQ, stderr_read_buffer);
+
+ /* Data should NOT be ready. */
+ tt_int_op(0, OP_EQ, smartlist_len(process_data->stdout_data));
+ tt_int_op(0, OP_EQ, smartlist_len(process_data->stderr_data));
+
+ stdout_read_buffer = " the end\nAnother partial string goes here ...";
+ process_notify_event_stdout(process);
+ tt_ptr_op(NULL, OP_EQ, stdout_read_buffer);
+
+ stderr_read_buffer = " the end\nAnother partial string goes here ...";
+ process_notify_event_stderr(process);
+ tt_ptr_op(NULL, OP_EQ, stderr_read_buffer);
+
+ /* Some data should be ready. */
+ tt_int_op(1, OP_EQ, smartlist_len(process_data->stdout_data));
+ tt_int_op(1, OP_EQ, smartlist_len(process_data->stderr_data));
+
+ stdout_read_buffer = " the end\nFoo bar baz\n";
+ process_notify_event_stdout(process);
+ tt_ptr_op(NULL, OP_EQ, stdout_read_buffer);
+
+ stderr_read_buffer = " the end\nFoo bar baz\n";
+ process_notify_event_stderr(process);
+ tt_ptr_op(NULL, OP_EQ, stderr_read_buffer);
+
+ /* Some data should be ready. */
+ tt_int_op(3, OP_EQ, smartlist_len(process_data->stdout_data));
+ tt_int_op(3, OP_EQ, smartlist_len(process_data->stderr_data));
+
+ /* Check if the data is correct. */
+ tt_str_op(smartlist_get(process_data->stdout_data, 0), OP_EQ,
+ "Hello stdout this is a partial line ... the end");
+ tt_str_op(smartlist_get(process_data->stdout_data, 1), OP_EQ,
+ "Another partial string goes here ... the end");
+ tt_str_op(smartlist_get(process_data->stdout_data, 2), OP_EQ,
+ "Foo bar baz");
+
+ tt_str_op(smartlist_get(process_data->stderr_data, 0), OP_EQ,
+ "Hello stderr this is a partial line ... the end");
+ tt_str_op(smartlist_get(process_data->stderr_data, 1), OP_EQ,
+ "Another partial string goes here ... the end");
+ tt_str_op(smartlist_get(process_data->stderr_data, 2), OP_EQ,
+ "Foo bar baz");
+
+ done:
+ process_data_free(process_data);
+ process_free(process);
+ process_free_all();
+
+ UNMOCK(process_read_stdout);
+ UNMOCK(process_read_stderr);
+}
+
+static void
+test_raw_protocol_simple(void *arg)
+{
+ (void)arg;
+ process_init();
+
+ process_data_t *process_data = process_data_new();
+
+ process_t *process = process_new("");
+ process_set_data(process, process_data);
+ process_set_protocol(process, PROCESS_PROTOCOL_RAW);
+
+ process_set_stdout_read_callback(process, process_stdout_callback);
+ process_set_stderr_read_callback(process, process_stderr_callback);
+
+ MOCK(process_read_stdout, process_mocked_read_stdout);
+ MOCK(process_read_stderr, process_mocked_read_stderr);
+
+ /* Make sure we are running with the raw protocol. */
+ tt_int_op(PROCESS_PROTOCOL_RAW, OP_EQ, process_get_protocol(process));
+
+ tt_int_op(0, OP_EQ, smartlist_len(process_data->stdout_data));
+ tt_int_op(0, OP_EQ, smartlist_len(process_data->stderr_data));
+
+ stdout_read_buffer = "Hello stdout\n";
+ process_notify_event_stdout(process);
+ tt_ptr_op(NULL, OP_EQ, stdout_read_buffer);
+
+ stderr_read_buffer = "Hello stderr\n";
+ process_notify_event_stderr(process);
+ tt_ptr_op(NULL, OP_EQ, stderr_read_buffer);
+
+ /* Data should be ready. */
+ tt_int_op(1, OP_EQ, smartlist_len(process_data->stdout_data));
+ tt_int_op(1, OP_EQ, smartlist_len(process_data->stderr_data));
+
+ stdout_read_buffer = "Hello, again, stdout\nThis contains multiple lines";
+ process_notify_event_stdout(process);
+ tt_ptr_op(NULL, OP_EQ, stdout_read_buffer);
+
+ stderr_read_buffer = "Hello, again, stderr\nThis contains multiple lines";
+ process_notify_event_stderr(process);
+ tt_ptr_op(NULL, OP_EQ, stderr_read_buffer);
+
+ /* Data should be ready. */
+ tt_int_op(2, OP_EQ, smartlist_len(process_data->stdout_data));
+ tt_int_op(2, OP_EQ, smartlist_len(process_data->stderr_data));
+
+ /* Check if the data is correct. */
+ tt_str_op(smartlist_get(process_data->stdout_data, 0), OP_EQ,
+ "Hello stdout\n");
+ tt_str_op(smartlist_get(process_data->stdout_data, 1), OP_EQ,
+ "Hello, again, stdout\nThis contains multiple lines");
+
+ tt_str_op(smartlist_get(process_data->stderr_data, 0), OP_EQ,
+ "Hello stderr\n");
+ tt_str_op(smartlist_get(process_data->stderr_data, 1), OP_EQ,
+ "Hello, again, stderr\nThis contains multiple lines");
+
+ done:
+ process_data_free(process_data);
+ process_free(process);
+ process_free_all();
+
+ UNMOCK(process_read_stdout);
+ UNMOCK(process_read_stderr);
+}
+
+static void
+test_write_simple(void *arg)
+{
+ (void)arg;
+
+ process_init();
+
+ process_data_t *process_data = process_data_new();
+
+ process_t *process = process_new("");
+ process_set_data(process, process_data);
+
+ MOCK(process_write_stdin, process_mocked_write_stdin);
+
+ process_write(process, (uint8_t *)"Hello world\n", 12);
+ process_notify_event_stdin(process);
+ tt_int_op(1, OP_EQ, smartlist_len(process_data->stdin_data));
+
+ process_printf(process, "Hello %s !\n", "moon");
+ process_notify_event_stdin(process);
+ tt_int_op(2, OP_EQ, smartlist_len(process_data->stdin_data));
+
+ done:
+ process_data_free(process_data);
+ process_free(process);
+ process_free_all();
+
+ UNMOCK(process_write_stdin);
+}
+
+static void
+test_exit_simple(void *arg)
+{
+ (void)arg;
+
+ process_init();
+
+ process_data_t *process_data = process_data_new();
+
+ process_t *process = process_new("");
+ process_set_data(process, process_data);
+ process_set_exit_callback(process, process_exit_callback);
+
+ /* Our default is 0. */
+ tt_int_op(0, OP_EQ, process_data->exit_code);
+
+ /* Fake that we are a running process. */
+ process_set_status(process, PROCESS_STATUS_RUNNING);
+ tt_int_op(process_get_status(process), OP_EQ, PROCESS_STATUS_RUNNING);
+
+ /* Fake an exit. */
+ process_notify_event_exit(process, 1337);
+
+ /* Check if our state changed and if our callback fired. */
+ tt_int_op(process_get_status(process), OP_EQ, PROCESS_STATUS_NOT_RUNNING);
+ tt_int_op(1337, OP_EQ, process_data->exit_code);
+
+ done:
+ process_set_data(process, process_data);
+ process_data_free(process_data);
+ process_free(process);
+ process_free_all();
+}
+
+static void
+test_argv_simple(void *arg)
+{
+ (void)arg;
+ process_init();
+
+ process_t *process = process_new("/bin/cat");
+ char **argv = NULL;
+
+ /* Setup some arguments. */
+ process_append_argument(process, "foo");
+ process_append_argument(process, "bar");
+ process_append_argument(process, "baz");
+
+ /* Check the number of elements. */
+ tt_int_op(3, OP_EQ,
+ smartlist_len(process_get_arguments(process)));
+
+ /* Let's try to convert it into a Unix style char **argv. */
+ argv = process_get_argv(process);
+
+ /* Check our values. */
+ tt_str_op(argv[0], OP_EQ, "/bin/cat");
+ tt_str_op(argv[1], OP_EQ, "foo");
+ tt_str_op(argv[2], OP_EQ, "bar");
+ tt_str_op(argv[3], OP_EQ, "baz");
+ tt_ptr_op(argv[4], OP_EQ, NULL);
+
+ done:
+ tor_free(argv);
+ process_free(process);
+ process_free_all();
+}
+
+static void
+test_unix(void *arg)
+{
+ (void)arg;
+#ifndef _WIN32
+ process_init();
+
+ process_t *process = process_new("");
+
+ /* On Unix all processes should have a Unix process handle. */
+ tt_ptr_op(NULL, OP_NE, process_get_unix_process(process));
+
+ done:
+ process_free(process);
+ process_free_all();
+#endif
+}
+
+static void
+test_win32(void *arg)
+{
+ (void)arg;
+#ifdef _WIN32
+ process_init();
+
+ process_t *process = process_new("");
+ char *joined_argv = NULL;
+
+ /* On Win32 all processes should have a Win32 process handle. */
+ tt_ptr_op(NULL, OP_NE, process_get_win32_process(process));
+
+ /* Based on some test cases from "Parsing C++ Command-Line Arguments" in
+ * MSDN but we don't exercise all quoting rules because tor_join_win_cmdline
+ * will try to only generate simple cases for the child process to parse;
+ * i.e. we never embed quoted strings in arguments. */
+
+ const char *argvs[][4] = {
+ {"a", "bb", "CCC", NULL}, // Normal
+ {NULL, NULL, NULL, NULL}, // Empty argument list
+ {"", NULL, NULL, NULL}, // Empty argument
+ {"\"a", "b\"b", "CCC\"", NULL}, // Quotes
+ {"a\tbc", "dd dd", "E", NULL}, // Whitespace
+ {"a\\\\\\b", "de fg", "H", NULL}, // Backslashes
+ {"a\\\"b", "\\c", "D\\", NULL}, // Backslashes before quote
+ {"a\\\\b c", "d", "E", NULL}, // Backslashes not before quote
+ { NULL } // Terminator
+ };
+
+ const char *cmdlines[] = {
+ "a bb CCC",
+ "",
+ "\"\"",
+ "\\\"a b\\\"b CCC\\\"",
+ "\"a\tbc\" \"dd dd\" E",
+ "a\\\\\\b \"de fg\" H",
+ "a\\\\\\\"b \\c D\\",
+ "\"a\\\\b c\" d E",
+ NULL // Terminator
+ };
+
+ int i;
+
+ for (i=0; cmdlines[i]!=NULL; i++) {
+ log_info(LD_GENERAL, "Joining argvs[%d], expecting <%s>", i, cmdlines[i]);
+ joined_argv = tor_join_win_cmdline(argvs[i]);
+ tt_str_op(cmdlines[i],OP_EQ, joined_argv);
+ tor_free(joined_argv);
+ }
+
+ done:
+ tor_free(joined_argv);
+ process_free(process);
+ process_free_all();
+#endif
+}
+
+struct testcase_t process_tests[] = {
+ { "default_values", test_default_values, TT_FORK, NULL, NULL },
+ { "environment", test_environment, TT_FORK, NULL, NULL },
+ { "stringified_types", test_stringified_types, TT_FORK, NULL, NULL },
+ { "line_protocol_simple", test_line_protocol_simple, TT_FORK, NULL, NULL },
+ { "line_protocol_multi", test_line_protocol_multi, TT_FORK, NULL, NULL },
+ { "line_protocol_partial", test_line_protocol_partial, TT_FORK, NULL, NULL },
+ { "raw_protocol_simple", test_raw_protocol_simple, TT_FORK, NULL, NULL },
+ { "write_simple", test_write_simple, TT_FORK, NULL, NULL },
+ { "exit_simple", test_exit_simple, TT_FORK, NULL, NULL },
+ { "argv_simple", test_argv_simple, TT_FORK, NULL, NULL },
+ { "unix", test_unix, TT_FORK, NULL, NULL },
+ { "win32", test_win32, TT_FORK, NULL, NULL },
+ END_OF_TESTCASES
+};
diff --git a/src/test/test_process_slow.c b/src/test/test_process_slow.c
new file mode 100644
index 0000000000..a1f99bff0f
--- /dev/null
+++ b/src/test/test_process_slow.c
@@ -0,0 +1,342 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file test_process_slow.c
+ * \brief Slow test cases for the Process API.
+ */
+
+#define MAINLOOP_PRIVATE
+#include "orconfig.h"
+#include "core/or/or.h"
+#include "core/mainloop/mainloop.h"
+#include "lib/evloop/compat_libevent.h"
+#include "lib/process/process.h"
+#include "lib/process/waitpid.h"
+#include "test/test.h"
+
+#ifndef BUILDDIR
+#define BUILDDIR "."
+#endif
+
+#ifdef _WIN32
+#define TEST_PROCESS "test-process.exe"
+#else
+#define TEST_PROCESS BUILDDIR "/src/test/test-process"
+#endif /* defined(_WIN32) */
+
+/** Timer that ticks once a second and stop the event loop after 5 ticks. */
+static periodic_timer_t *main_loop_timeout_timer;
+
+/** How many times have our timer ticked? */
+static int timer_tick_count;
+
+struct process_data_t {
+ smartlist_t *stdout_data;
+ smartlist_t *stderr_data;
+ smartlist_t *stdin_data;
+ process_exit_code_t exit_code;
+ bool did_exit;
+};
+
+typedef struct process_data_t process_data_t;
+
+static process_data_t *
+process_data_new(void)
+{
+ process_data_t *process_data = tor_malloc_zero(sizeof(process_data_t));
+ process_data->stdout_data = smartlist_new();
+ process_data->stderr_data = smartlist_new();
+ process_data->stdin_data = smartlist_new();
+ return process_data;
+}
+
+static void
+process_data_free(process_data_t *process_data)
+{
+ if (process_data == NULL)
+ return;
+
+ SMARTLIST_FOREACH(process_data->stdout_data, char *, x, tor_free(x));
+ SMARTLIST_FOREACH(process_data->stderr_data, char *, x, tor_free(x));
+ SMARTLIST_FOREACH(process_data->stdin_data, char *, x, tor_free(x));
+
+ smartlist_free(process_data->stdout_data);
+ smartlist_free(process_data->stderr_data);
+ smartlist_free(process_data->stdin_data);
+ tor_free(process_data);
+}
+
+static void
+process_stdout_callback(process_t *process, const char *data, size_t size)
+{
+ tt_ptr_op(process, OP_NE, NULL);
+ tt_ptr_op(data, OP_NE, NULL);
+ tt_int_op(strlen(data), OP_EQ, size);
+
+ process_data_t *process_data = process_get_data(process);
+ smartlist_add(process_data->stdout_data, tor_strdup(data));
+
+ done:
+ return;
+}
+
+static void
+process_stderr_callback(process_t *process, const char *data, size_t size)
+{
+ tt_ptr_op(process, OP_NE, NULL);
+ tt_ptr_op(data, OP_NE, NULL);
+ tt_int_op(strlen(data), OP_EQ, size);
+
+ process_data_t *process_data = process_get_data(process);
+ smartlist_add(process_data->stderr_data, tor_strdup(data));
+
+ done:
+ return;
+}
+
+static bool
+process_exit_callback(process_t *process, process_exit_code_t exit_code)
+{
+ process_status_t status;
+
+ tt_ptr_op(process, OP_NE, NULL);
+
+ process_data_t *process_data = process_get_data(process);
+ process_data->exit_code = exit_code;
+ process_data->did_exit = true;
+
+ /* Check if our process is still running? */
+ status = process_get_status(process);
+ tt_int_op(status, OP_EQ, PROCESS_STATUS_NOT_RUNNING);
+
+ done:
+ /* Do not free up our process_t. */
+ return false;
+}
+
+#ifdef _WIN32
+static const char *
+get_win32_test_binary_path(void)
+{
+ static char buffer[MAX_PATH];
+
+ /* Get the absolute path of our binary: \path\to\test-slow.exe. */
+ GetModuleFileNameA(GetModuleHandle(0), buffer, sizeof(buffer));
+
+ /* Find our process name. */
+ char *offset = strstr(buffer, "test-slow.exe");
+ tt_ptr_op(offset, OP_NE, NULL);
+
+ /* Change test-slow.exe to test-process.exe. */
+ memcpy(offset, TEST_PROCESS, strlen(TEST_PROCESS));
+
+ return buffer;
+ done:
+ return NULL;
+}
+#endif
+
+static void
+main_loop_timeout_cb(periodic_timer_t *timer, void *data)
+{
+ /* Sanity check. */
+ tt_ptr_op(timer, OP_EQ, main_loop_timeout_timer);
+ tt_ptr_op(data, OP_NE, NULL);
+
+ /* Our process data. */
+ process_data_t *process_data = data;
+
+ /* Our process did exit. */
+ if (process_data->did_exit)
+ tor_shutdown_event_loop_and_exit(0);
+
+ /* Have we been called 10 times we exit the main loop. */
+ timer_tick_count++;
+
+ tt_int_op(timer_tick_count, OP_LT, 10);
+
+#ifndef _WIN32
+ /* Call waitpid callbacks. */
+ notify_pending_waitpid_callbacks();
+#endif
+
+ return;
+ done:
+ /* Exit with an error. */
+ tor_shutdown_event_loop_and_exit(-1);
+}
+
+static void
+run_main_loop(process_data_t *process_data)
+{
+ int ret;
+
+ /* Wake up after 1 seconds. */
+ static const struct timeval interval = {1, 0};
+
+ timer_tick_count = 0;
+ main_loop_timeout_timer = periodic_timer_new(tor_libevent_get_base(),
+ &interval,
+ main_loop_timeout_cb,
+ process_data);
+
+ /* Run our main loop. */
+ ret = run_main_loop_until_done();
+
+ /* Clean up our main loop timeout timer. */
+ tt_int_op(ret, OP_EQ, 0);
+
+ done:
+ periodic_timer_free(main_loop_timeout_timer);
+}
+
+static void
+test_callbacks(void *arg)
+{
+ (void)arg;
+ const char *filename = NULL;
+
+#ifdef _WIN32
+ filename = get_win32_test_binary_path();
+#else
+ filename = TEST_PROCESS;
+#endif
+
+ /* Initialize Process subsystem. */
+ process_init();
+
+ /* Process callback data. */
+ process_data_t *process_data = process_data_new();
+
+ /* Setup our process. */
+ process_t *process = process_new(filename);
+ process_set_data(process, process_data);
+ process_set_stdout_read_callback(process, process_stdout_callback);
+ process_set_stderr_read_callback(process, process_stderr_callback);
+ process_set_exit_callback(process, process_exit_callback);
+
+ /* Set environment variable. */
+ process_set_environment(process, "TOR_TEST_ENV", "Hello, from Tor!");
+
+ /* Add some arguments. */
+ process_append_argument(process, "This is the first one");
+ process_append_argument(process, "Second one");
+ process_append_argument(process, "Third: Foo bar baz");
+
+ /* Run our process. */
+ process_status_t status;
+
+ status = process_exec(process);
+ tt_int_op(status, OP_EQ, PROCESS_STATUS_RUNNING);
+
+ /* Write some lines to stdin. */
+ process_printf(process, "Hi process!\r\n");
+ process_printf(process, "Can you read more than one line?\n");
+ process_printf(process, "Can you read partial ...");
+ process_printf(process, " lines?\r\n");
+
+ /* Start our main loop. */
+ run_main_loop(process_data);
+
+ /* We returned. Let's see what our event loop said. */
+ tt_int_op(smartlist_len(process_data->stdout_data), OP_EQ, 12);
+ tt_int_op(smartlist_len(process_data->stderr_data), OP_EQ, 3);
+ tt_int_op(process_data->exit_code, OP_EQ, 0);
+
+ /* Check stdout output. */
+ char argv0_expected[256];
+ tor_snprintf(argv0_expected, sizeof(argv0_expected),
+ "argv[0] = '%s'", filename);
+
+ tt_str_op(smartlist_get(process_data->stdout_data, 0), OP_EQ,
+ argv0_expected);
+ tt_str_op(smartlist_get(process_data->stdout_data, 1), OP_EQ,
+ "argv[1] = 'This is the first one'");
+ tt_str_op(smartlist_get(process_data->stdout_data, 2), OP_EQ,
+ "argv[2] = 'Second one'");
+ tt_str_op(smartlist_get(process_data->stdout_data, 3), OP_EQ,
+ "argv[3] = 'Third: Foo bar baz'");
+ tt_str_op(smartlist_get(process_data->stdout_data, 4), OP_EQ,
+ "Environment variable TOR_TEST_ENV = 'Hello, from Tor!'");
+ tt_str_op(smartlist_get(process_data->stdout_data, 5), OP_EQ,
+ "Output on stdout");
+ tt_str_op(smartlist_get(process_data->stdout_data, 6), OP_EQ,
+ "This is a new line");
+ tt_str_op(smartlist_get(process_data->stdout_data, 7), OP_EQ,
+ "Partial line on stdout ...end of partial line on stdout");
+ tt_str_op(smartlist_get(process_data->stdout_data, 8), OP_EQ,
+ "Read line from stdin: 'Hi process!'");
+ tt_str_op(smartlist_get(process_data->stdout_data, 9), OP_EQ,
+ "Read line from stdin: 'Can you read more than one line?'");
+ tt_str_op(smartlist_get(process_data->stdout_data, 10), OP_EQ,
+ "Read line from stdin: 'Can you read partial ... lines?'");
+ tt_str_op(smartlist_get(process_data->stdout_data, 11), OP_EQ,
+ "We are done for here, thank you!");
+
+ /* Check stderr output. */
+ tt_str_op(smartlist_get(process_data->stderr_data, 0), OP_EQ,
+ "Output on stderr");
+ tt_str_op(smartlist_get(process_data->stderr_data, 1), OP_EQ,
+ "This is a new line");
+ tt_str_op(smartlist_get(process_data->stderr_data, 2), OP_EQ,
+ "Partial line on stderr ...end of partial line on stderr");
+
+ done:
+ process_data_free(process_data);
+ process_free(process);
+ process_free_all();
+}
+
+static void
+test_callbacks_terminate(void *arg)
+{
+ (void)arg;
+ const char *filename = NULL;
+
+#ifdef _WIN32
+ filename = get_win32_test_binary_path();
+#else
+ filename = TEST_PROCESS;
+#endif
+
+ /* Initialize Process subsystem. */
+ process_init();
+
+ /* Process callback data. */
+ process_data_t *process_data = process_data_new();
+
+ /* Setup our process. */
+ process_t *process = process_new(filename);
+ process_set_data(process, process_data);
+ process_set_exit_callback(process, process_exit_callback);
+
+ /* Run our process. */
+ process_status_t status;
+
+ status = process_exec(process);
+ tt_int_op(status, OP_EQ, PROCESS_STATUS_RUNNING);
+
+ /* Zap our process. */
+ bool success;
+
+ success = process_terminate(process);
+ tt_assert(success);
+
+ /* Start our main loop. */
+ run_main_loop(process_data);
+
+ /* Check if we did exit. */
+ tt_assert(process_data->did_exit);
+
+ done:
+ process_data_free(process_data);
+ process_free(process);
+ process_free_all();
+}
+
+struct testcase_t slow_process_tests[] = {
+ { "callbacks", test_callbacks, 0, NULL, NULL },
+ { "callbacks_terminate", test_callbacks_terminate, 0, NULL, NULL },
+ END_OF_TESTCASES
+};
diff --git a/src/test/test_proto_http.c b/src/test/test_proto_http.c
index 1cfa0a752c..b4e8278423 100644
--- a/src/test/test_proto_http.c
+++ b/src/test/test_proto_http.c
@@ -8,7 +8,7 @@
#include "core/or/or.h"
#include "test/test.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "core/proto/proto_http.h"
#include "test/log_test_helpers.h"
diff --git a/src/test/test_proto_misc.c b/src/test/test_proto_misc.c
index 1fcb763421..f7f6f69667 100644
--- a/src/test/test_proto_misc.c
+++ b/src/test/test_proto_misc.c
@@ -8,7 +8,7 @@
#include "core/or/or.h"
#include "test/test.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "core/or/connection_or.h"
#include "feature/relay/ext_orport.h"
#include "core/proto/proto_cell.h"
diff --git a/src/test/test_pt.c b/src/test/test_pt.c
index d0160d1148..8fcdd5c1e8 100644
--- a/src/test/test_pt.c
+++ b/src/test/test_pt.c
@@ -8,7 +8,7 @@
#define UTIL_PRIVATE
#define STATEFILE_PRIVATE
#define CONTROL_PRIVATE
-#define SUBPROCESS_PRIVATE
+#define PROCESS_PRIVATE
#include "core/or/or.h"
#include "app/config/config.h"
#include "app/config/confparse.h"
@@ -17,9 +17,9 @@
#include "core/or/circuitbuild.h"
#include "app/config/statefile.h"
#include "test/test.h"
-#include "lib/process/subprocess.h"
#include "lib/encoding/confline.h"
#include "lib/net/resolve.h"
+#include "lib/process/process.h"
#include "app/config/or_state_st.h"
@@ -151,6 +151,8 @@ test_pt_get_transport_options(void *arg)
config_line_t *cl = NULL;
(void)arg;
+ process_init();
+
execve_args = tor_malloc(sizeof(char*)*2);
execve_args[0] = tor_strdup("cheeseshop");
execve_args[1] = NULL;
@@ -190,6 +192,7 @@ test_pt_get_transport_options(void *arg)
config_free_lines(cl);
managed_proxy_destroy(mp, 0);
smartlist_free(transport_list);
+ process_free_all();
}
static void
@@ -253,6 +256,8 @@ test_pt_get_extrainfo_string(void *arg)
char *s = NULL;
(void) arg;
+ process_init();
+
argv1 = tor_malloc_zero(sizeof(char*)*3);
argv1[0] = tor_strdup("ewige");
argv1[1] = tor_strdup("Blumenkraft");
@@ -286,43 +291,30 @@ test_pt_get_extrainfo_string(void *arg)
smartlist_free(t1);
smartlist_free(t2);
tor_free(s);
+ process_free_all();
}
-#ifdef _WIN32
-#define STDIN_HANDLE HANDLE*
-#else
-#define STDIN_HANDLE int
-#endif
-
-static smartlist_t *
-tor_get_lines_from_handle_replacement(STDIN_HANDLE handle,
- enum stream_status *stream_status_out)
+static int
+process_read_stdout_replacement(process_t *process, buf_t *buffer)
{
+ (void)process;
static int times_called = 0;
- smartlist_t *retval_sl = smartlist_new();
-
- (void) handle;
- (void) stream_status_out;
/* Generate some dummy CMETHOD lines the first 5 times. The 6th
time, send 'CMETHODS DONE' to finish configuring the proxy. */
- if (times_called++ != 5) {
- smartlist_add_asprintf(retval_sl, "SMETHOD mock%d 127.0.0.1:555%d",
+ times_called++;
+
+ if (times_called <= 5) {
+ buf_add_printf(buffer, "SMETHOD mock%d 127.0.0.1:555%d\n",
times_called, times_called);
- } else {
- smartlist_add_strdup(retval_sl, "SMETHODS DONE");
+ } else if (times_called <= 6) {
+ buf_add_string(buffer, "SMETHODS DONE\n");
+ } else if (times_called <= 7) {
+ buf_add_string(buffer, "LOG Oh noes, something bad happened. "
+ "What do we do!?\n");
}
- return retval_sl;
-}
-
-/* NOP mock */
-static void
-tor_process_handle_destroy_replacement(process_handle_t *process_handle,
- int also_terminate_process)
-{
- (void) process_handle;
- (void) also_terminate_process;
+ return (int)buf_datalen(buffer);
}
static or_state_t *dummy_state = NULL;
@@ -355,12 +347,11 @@ test_pt_configure_proxy(void *arg)
managed_proxy_t *mp = NULL;
(void) arg;
+ process_init();
+
dummy_state = tor_malloc_zero(sizeof(or_state_t));
- MOCK(tor_get_lines_from_handle,
- tor_get_lines_from_handle_replacement);
- MOCK(tor_process_handle_destroy,
- tor_process_handle_destroy_replacement);
+ MOCK(process_read_stdout, process_read_stdout_replacement);
MOCK(get_or_state,
get_or_state_replacement);
MOCK(queue_control_event_string,
@@ -372,24 +363,34 @@ test_pt_configure_proxy(void *arg)
mp->conf_state = PT_PROTO_ACCEPTING_METHODS;
mp->transports = smartlist_new();
mp->transports_to_launch = smartlist_new();
- mp->process_handle = tor_malloc_zero(sizeof(process_handle_t));
mp->argv = tor_malloc_zero(sizeof(char*)*2);
mp->argv[0] = tor_strdup("<testcase>");
mp->is_server = 1;
+ /* Configure the process. */
+ mp->process = process_new("");
+ process_set_stdout_read_callback(mp->process, managed_proxy_stdout_callback);
+ process_set_data(mp->process, mp);
+
/* Test the return value of configure_proxy() by calling it some
times while it is uninitialized and then finally finalizing its
configuration. */
for (i = 0 ; i < 5 ; i++) {
+ /* force a read from our mocked stdout reader. */
+ process_notify_event_stdout(mp->process);
+ /* try to configure our proxy. */
retval = configure_proxy(mp);
/* retval should be zero because proxy hasn't finished configuring yet */
tt_int_op(retval, OP_EQ, 0);
/* check the number of registered transports */
- tt_assert(smartlist_len(mp->transports) == i+1);
+ tt_int_op(smartlist_len(mp->transports), OP_EQ, i+1);
/* check that the mp is still waiting for transports */
tt_assert(mp->conf_state == PT_PROTO_ACCEPTING_METHODS);
}
+ /* Get the SMETHOD DONE written to the process. */
+ process_notify_event_stdout(mp->process);
+
/* this last configure_proxy() should finalize the proxy configuration. */
retval = configure_proxy(mp);
/* retval should be 1 since the proxy finished configuring */
@@ -412,6 +413,16 @@ test_pt_configure_proxy(void *arg)
tt_str_op(smartlist_get(controlevent_msgs, 4), OP_EQ,
"650 TRANSPORT_LAUNCHED server mock5 127.0.0.1 5555\r\n");
+ /* Get the log message out. */
+ process_notify_event_stdout(mp->process);
+
+ tt_int_op(controlevent_n, OP_EQ, 6);
+ tt_int_op(controlevent_event, OP_EQ, EVENT_PT_LOG);
+ tt_int_op(smartlist_len(controlevent_msgs), OP_EQ, 6);
+ tt_str_op(smartlist_get(controlevent_msgs, 5), OP_EQ,
+ "650 PT_LOG <testcase> Oh noes, something bad happened. "
+ "What do we do!?\r\n");
+
{ /* check that the transport info were saved properly in the tor state */
config_line_t *transport_in_state = NULL;
smartlist_t *transport_info_sl = smartlist_new();
@@ -435,8 +446,7 @@ test_pt_configure_proxy(void *arg)
done:
or_state_free(dummy_state);
- UNMOCK(tor_get_lines_from_handle);
- UNMOCK(tor_process_handle_destroy);
+ UNMOCK(process_read_stdout);
UNMOCK(get_or_state);
UNMOCK(queue_control_event_string);
if (controlevent_msgs) {
@@ -449,10 +459,11 @@ test_pt_configure_proxy(void *arg)
smartlist_free(mp->transports);
}
smartlist_free(mp->transports_to_launch);
- tor_free(mp->process_handle);
+ process_free(mp->process);
tor_free(mp->argv[0]);
tor_free(mp->argv);
tor_free(mp);
+ process_free_all();
}
/* Test the get_pt_proxy_uri() function. */
diff --git a/src/test/test_rebind.py b/src/test/test_rebind.py
index 7ba3a5796d..65feedd243 100644
--- a/src/test/test_rebind.py
+++ b/src/test/test_rebind.py
@@ -1,25 +1,43 @@
from __future__ import print_function
-import sys
-import subprocess
-import socket
+import errno
+import logging
import os
-import time
import random
+import socket
+import subprocess
+import sys
+import time
+
+LOG_TIMEOUT = 60.0
+LOG_WAIT = 0.1
+
+def fail(msg):
+ logging.error('FAIL')
+ sys.exit(msg)
def try_connecting_to_socksport():
socks_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- if socks_socket.connect_ex(('127.0.0.1', socks_port)):
+ e = socks_socket.connect_ex(('127.0.0.1', socks_port))
+ if e:
tor_process.terminate()
- print('FAIL')
- sys.exit('Cannot connect to SOCKSPort')
+ fail('Cannot connect to SOCKSPort: error ' + os.strerror(e))
socks_socket.close()
def wait_for_log(s):
- while True:
+ cutoff = time.time() + LOG_TIMEOUT
+ while time.time() < cutoff:
l = tor_process.stdout.readline()
- if s in l.decode('utf8'):
+ l = l.decode('utf8')
+ if s in l:
+ logging.info('Tor logged: "{}"'.format(l.strip()))
return
+ logging.info('Tor logged: "{}", waiting for "{}"'.format(l.strip(), s))
+ # readline() returns a blank string when there is no output
+ # avoid busy-waiting
+ if len(s) == 0:
+ time.sleep(LOG_WAIT)
+ fail('Could not find "{}" in logs after {} seconds'.format(s, LOG_TIMEOUT))
def pick_random_port():
port = 0
@@ -33,13 +51,20 @@ def pick_random_port():
else:
break
+ if port == 0:
+ fail('Could not find a random free port between 10000 and 60000')
+
return port
+logging.basicConfig(level=logging.DEBUG,
+ format='%(asctime)s.%(msecs)03d %(message)s',
+ datefmt='%Y-%m-%d %H:%M:%S')
+
if sys.hexversion < 0x02070000:
- sys.exit("ERROR: unsupported Python version (should be >= 2.7)")
+ fail("ERROR: unsupported Python version (should be >= 2.7)")
if sys.hexversion > 0x03000000 and sys.hexversion < 0x03010000:
- sys.exit("ERROR: unsupported Python3 version (should be >= 3.1)")
+ fail("ERROR: unsupported Python3 version (should be >= 3.1)")
control_port = pick_random_port()
socks_port = pick_random_port()
@@ -47,23 +72,29 @@ socks_port = pick_random_port()
assert control_port != 0
assert socks_port != 0
+if len(sys.argv) < 3:
+ fail('Usage: %s <path-to-tor> <data-dir>' % sys.argv[0])
+
if not os.path.exists(sys.argv[1]):
- sys.exit('ERROR: cannot find tor at %s' % sys.argv[1])
+ fail('ERROR: cannot find tor at %s' % sys.argv[1])
+if not os.path.exists(sys.argv[2]):
+ fail('ERROR: cannot find datadir at %s' % sys.argv[2])
tor_path = sys.argv[1]
+data_dir = sys.argv[2]
tor_process = subprocess.Popen([tor_path,
+ '-DataDirectory', data_dir,
'-ControlPort', '127.0.0.1:{}'.format(control_port),
'-SOCKSPort', '127.0.0.1:{}'.format(socks_port),
+ '-Log', 'debug stdout',
+ '-LogTimeGranularity', '1',
'-FetchServerDescriptors', '0'],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
if tor_process == None:
- sys.exit('ERROR: running tor failed')
-
-if len(sys.argv) < 2:
- sys.exit('Usage: %s <path-to-tor>' % sys.argv[0])
+ fail('ERROR: running tor failed')
wait_for_log('Opened Control listener on')
@@ -72,8 +103,7 @@ try_connecting_to_socksport()
control_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
if control_socket.connect_ex(('127.0.0.1', control_port)):
tor_process.terminate()
- print('FAIL')
- sys.exit('Cannot connect to ControlPort')
+ fail('Cannot connect to ControlPort')
control_socket.sendall('AUTHENTICATE \r\n'.encode('utf8'))
control_socket.sendall('SETCONF SOCKSPort=0.0.0.0:{}\r\n'.format(socks_port).encode('utf8'))
@@ -88,6 +118,14 @@ try_connecting_to_socksport()
control_socket.sendall('SIGNAL HALT\r\n'.encode('utf8'))
-time.sleep(0.1)
-print('OK')
-tor_process.terminate()
+wait_for_log('exiting cleanly')
+logging.info('OK')
+
+try:
+ tor_process.terminate()
+except OSError as e:
+ if e.errno == errno.ESRCH: # errno 3: No such process
+ # assume tor has already exited due to SIGNAL HALT
+ logging.warn("Tor has already exited")
+ else:
+ raise
diff --git a/src/test/test_rebind.sh b/src/test/test_rebind.sh
index 76eb9f2e4d..498072de35 100755
--- a/src/test/test_rebind.sh
+++ b/src/test/test_rebind.sh
@@ -14,6 +14,19 @@ fi
exitcode=0
-"${PYTHON:-python}" "${abs_top_srcdir:-.}/src/test/test_rebind.py" "${TESTING_TOR_BINARY}" || exitcode=1
+tmpdir=
+clean () { test -n "$tmpdir" && test -d "$tmpdir" && rm -rf "$tmpdir" || :; }
+trap clean EXIT HUP INT TERM
+
+tmpdir="`mktemp -d -t tor_rebind_test.XXXXXX`"
+if [ -z "$tmpdir" ]; then
+ echo >&2 mktemp failed
+ exit 2
+elif [ ! -d "$tmpdir" ]; then
+ echo >&2 mktemp failed to make a directory
+ exit 3
+fi
+
+"${PYTHON:-python}" "${abs_top_srcdir:-.}/src/test/test_rebind.py" "${TESTING_TOR_BINARY}" "$tmpdir" || exitcode=1
exit ${exitcode}
diff --git a/src/test/test_rendcache.c b/src/test/test_rendcache.c
index 394e28d785..2ace45d085 100644
--- a/src/test/test_rendcache.c
+++ b/src/test/test_rendcache.c
@@ -788,7 +788,9 @@ test_rend_cache_clean(void *data)
desc_two->pk = pk_generate(1);
strmap_set_lc(rend_cache, "foo1", one);
+ rend_cache_increment_allocation(rend_cache_entry_allocation(one));
strmap_set_lc(rend_cache, "foo2", two);
+ rend_cache_increment_allocation(rend_cache_entry_allocation(two));
rend_cache_clean(time(NULL), REND_CACHE_TYPE_CLIENT);
tt_int_op(strmap_size(rend_cache), OP_EQ, 0);
@@ -806,7 +808,9 @@ test_rend_cache_clean(void *data)
desc_one->pk = pk_generate(0);
desc_two->pk = pk_generate(1);
+ rend_cache_increment_allocation(rend_cache_entry_allocation(one));
strmap_set_lc(rend_cache, "foo1", one);
+ rend_cache_increment_allocation(rend_cache_entry_allocation(two));
strmap_set_lc(rend_cache, "foo2", two);
rend_cache_clean(time(NULL), REND_CACHE_TYPE_CLIENT);
diff --git a/src/test/test_router.c b/src/test/test_router.c
index 921ec42904..91cdd2c064 100644
--- a/src/test/test_router.c
+++ b/src/test/test_router.c
@@ -7,16 +7,25 @@
* \brief Unittests for code in router.c
**/
+#define CONFIG_PRIVATE
+#define ROUTER_PRIVATE
+
#include "core/or/or.h"
#include "app/config/config.h"
#include "core/mainloop/mainloop.h"
#include "feature/hibernate/hibernate.h"
+#include "feature/nodelist/networkstatus.h"
+#include "feature/nodelist/networkstatus_st.h"
+#include "feature/nodelist/node_st.h"
+#include "feature/nodelist/nodelist.h"
#include "feature/nodelist/routerinfo_st.h"
#include "feature/nodelist/routerlist.h"
+#include "feature/nodelist/routerstatus_st.h"
#include "feature/relay/router.h"
#include "feature/stats/rephist.h"
#include "lib/crypt_ops/crypto_curve25519.h"
#include "lib/crypt_ops/crypto_ed25519.h"
+#include "lib/encoding/confline.h"
/* Test suite stuff */
#include "test/test.h"
@@ -231,11 +240,254 @@ test_router_check_descriptor_bandwidth_changed(void *arg)
UNMOCK(we_are_hibernating);
}
+static networkstatus_t *mock_ns = NULL;
+static networkstatus_t *
+mock_networkstatus_get_live_consensus(time_t now)
+{
+ (void)now;
+ return mock_ns;
+}
+
+static routerstatus_t *mock_rs = NULL;
+static const routerstatus_t *
+mock_networkstatus_vote_find_entry(networkstatus_t *ns, const char *digest)
+{
+ (void)ns;
+ (void)digest;
+ return mock_rs;
+}
+
+static void
+test_router_mark_if_too_old(void *arg)
+{
+ (void)arg;
+ time_t now = approx_time();
+ MOCK(networkstatus_get_live_consensus,
+ mock_networkstatus_get_live_consensus);
+ MOCK(networkstatus_vote_find_entry, mock_networkstatus_vote_find_entry);
+
+ routerstatus_t rs;
+ networkstatus_t ns;
+ memset(&rs, 0, sizeof(rs));
+ memset(&ns, 0, sizeof(ns));
+ mock_ns = &ns;
+ mock_ns->valid_after = now-3600;
+ mock_rs = &rs;
+ mock_rs->published_on = now - 10;
+
+ // no reason to mark this time.
+ desc_clean_since = now-10;
+ desc_dirty_reason = NULL;
+ mark_my_descriptor_dirty_if_too_old(now);
+ tt_i64_op(desc_clean_since, OP_EQ, now-10);
+
+ // Doesn't appear in consensus? Still don't mark it.
+ mock_ns = NULL;
+ mark_my_descriptor_dirty_if_too_old(now);
+ tt_i64_op(desc_clean_since, OP_EQ, now-10);
+ mock_ns = &ns;
+
+ // No new descriptor in a long time? Mark it.
+ desc_clean_since = now - 3600 * 96;
+ mark_my_descriptor_dirty_if_too_old(now);
+ tt_i64_op(desc_clean_since, OP_EQ, 0);
+ tt_str_op(desc_dirty_reason, OP_EQ, "time for new descriptor");
+
+ // Version in consensus published a long time ago? We won't mark it
+ // if it's been clean for only a short time.
+ desc_clean_since = now - 10;
+ desc_dirty_reason = NULL;
+ mock_rs->published_on = now - 3600 * 96;
+ mark_my_descriptor_dirty_if_too_old(now);
+ tt_i64_op(desc_clean_since, OP_EQ, now - 10);
+
+ // ... but if it's been clean a while, we mark.
+ desc_clean_since = now - 2 * 3600;
+ mark_my_descriptor_dirty_if_too_old(now);
+ tt_i64_op(desc_clean_since, OP_EQ, 0);
+ tt_str_op(desc_dirty_reason, OP_EQ,
+ "version listed in consensus is quite old");
+
+ // same deal if we're marked stale.
+ desc_clean_since = now - 2 * 3600;
+ desc_dirty_reason = NULL;
+ mock_rs->published_on = now - 10;
+ mock_rs->is_staledesc = 1;
+ mark_my_descriptor_dirty_if_too_old(now);
+ tt_i64_op(desc_clean_since, OP_EQ, 0);
+ tt_str_op(desc_dirty_reason, OP_EQ,
+ "listed as stale in consensus");
+
+ // same deal if we're absent from the consensus.
+ desc_clean_since = now - 2 * 3600;
+ desc_dirty_reason = NULL;
+ mock_rs = NULL;
+ mark_my_descriptor_dirty_if_too_old(now);
+ tt_i64_op(desc_clean_since, OP_EQ, 0);
+ tt_str_op(desc_dirty_reason, OP_EQ,
+ "not listed in consensus");
+
+ done:
+ UNMOCK(networkstatus_get_live_consensus);
+ UNMOCK(networkstatus_vote_find_entry);
+}
+
+static node_t fake_node;
+static const node_t *
+mock_node_get_by_nickname(const char *name, unsigned flags)
+{
+ (void)flags;
+ if (!strcasecmp(name, "crumpet"))
+ return &fake_node;
+ else
+ return NULL;
+}
+
+static void
+test_router_get_my_family(void *arg)
+{
+ (void)arg;
+ or_options_t *options = options_new();
+ smartlist_t *sl = NULL;
+ char *join = NULL;
+ // Overwrite the result of router_get_my_identity_digest(). This
+ // happens to be okay, but only for testing.
+ set_server_identity_key_digest_testing(
+ (const uint8_t*)"holeinthebottomofthe");
+
+ setup_capture_of_logs(LOG_WARN);
+
+ // No family listed -- so there's no list.
+ sl = get_my_declared_family(options);
+ tt_ptr_op(sl, OP_EQ, NULL);
+ expect_no_log_entry();
+
+#define CLEAR() do { \
+ if (sl) { \
+ SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp)); \
+ smartlist_free(sl); \
+ } \
+ tor_free(join); \
+ mock_clean_saved_logs(); \
+ } while (0)
+
+ // Add a single nice friendly hex member. This should be enough
+ // to have our own ID added.
+ tt_ptr_op(options->MyFamily, OP_EQ, NULL);
+ config_line_append(&options->MyFamily, "MyFamily",
+ "$AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
+
+ sl = get_my_declared_family(options);
+ tt_ptr_op(sl, OP_NE, NULL);
+ tt_int_op(smartlist_len(sl), OP_EQ, 2);
+ join = smartlist_join_strings(sl, " ", 0, NULL);
+ tt_str_op(join, OP_EQ,
+ "$686F6C65696E746865626F74746F6D6F66746865 "
+ "$AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
+ expect_no_log_entry();
+ CLEAR();
+
+ // Add a hex member with a ~. The ~ part should get removed.
+ config_line_append(&options->MyFamily, "MyFamily",
+ "$0123456789abcdef0123456789abcdef01234567~Muffin");
+ sl = get_my_declared_family(options);
+ tt_ptr_op(sl, OP_NE, NULL);
+ tt_int_op(smartlist_len(sl), OP_EQ, 3);
+ join = smartlist_join_strings(sl, " ", 0, NULL);
+ tt_str_op(join, OP_EQ,
+ "$0123456789ABCDEF0123456789ABCDEF01234567 "
+ "$686F6C65696E746865626F74746F6D6F66746865 "
+ "$AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
+ expect_no_log_entry();
+ CLEAR();
+
+ // Nickname lookup will fail, so a nickname will appear verbatim.
+ config_line_append(&options->MyFamily, "MyFamily",
+ "BAGEL");
+ sl = get_my_declared_family(options);
+ tt_ptr_op(sl, OP_NE, NULL);
+ tt_int_op(smartlist_len(sl), OP_EQ, 4);
+ join = smartlist_join_strings(sl, " ", 0, NULL);
+ tt_str_op(join, OP_EQ,
+ "$0123456789ABCDEF0123456789ABCDEF01234567 "
+ "$686F6C65696E746865626F74746F6D6F66746865 "
+ "$AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA "
+ "bagel");
+ expect_single_log_msg_containing(
+ "There is a router named \"BAGEL\" in my declared family, but "
+ "I have no descriptor for it.");
+ CLEAR();
+
+ // A bogus digest should fail entirely.
+ config_line_append(&options->MyFamily, "MyFamily",
+ "$painauchocolat");
+ sl = get_my_declared_family(options);
+ tt_ptr_op(sl, OP_NE, NULL);
+ tt_int_op(smartlist_len(sl), OP_EQ, 4);
+ join = smartlist_join_strings(sl, " ", 0, NULL);
+ tt_str_op(join, OP_EQ,
+ "$0123456789ABCDEF0123456789ABCDEF01234567 "
+ "$686F6C65696E746865626F74746F6D6F66746865 "
+ "$AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA "
+ "bagel");
+ // "BAGEL" is still there, but it won't make a warning, because we already
+ // warned about it.
+ expect_single_log_msg_containing(
+ "There is a router named \"$painauchocolat\" in my declared "
+ "family, but that isn't a legal digest or nickname. Skipping it.");
+ CLEAR();
+
+ // Let's introduce a node we can look up by nickname
+ memset(&fake_node, 0, sizeof(fake_node));
+ memcpy(fake_node.identity, "whydoyouasknonononon", DIGEST_LEN);
+ MOCK(node_get_by_nickname, mock_node_get_by_nickname);
+
+ config_line_append(&options->MyFamily, "MyFamily",
+ "CRUmpeT");
+ sl = get_my_declared_family(options);
+ tt_ptr_op(sl, OP_NE, NULL);
+ tt_int_op(smartlist_len(sl), OP_EQ, 5);
+ join = smartlist_join_strings(sl, " ", 0, NULL);
+ tt_str_op(join, OP_EQ,
+ "$0123456789ABCDEF0123456789ABCDEF01234567 "
+ "$686F6C65696E746865626F74746F6D6F66746865 "
+ "$776879646F796F7561736B6E6F6E6F6E6F6E6F6E "
+ "$AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA "
+ "bagel");
+ // "BAGEL" is still there, but it won't make a warning, because we already
+ // warned about it. Some with "$painauchocolat".
+ expect_single_log_msg_containing(
+ "There is a router named \"CRUmpeT\" in my declared "
+ "family, but it wasn't listed by digest. Please consider saying "
+ "$776879646F796F7561736B6E6F6E6F6E6F6E6F6E instead, if that's "
+ "what you meant.");
+ CLEAR();
+ UNMOCK(node_get_by_nickname);
+
+ // Try a singleton list containing only us: It should give us NULL.
+ config_free_lines(options->MyFamily);
+ config_line_append(&options->MyFamily, "MyFamily",
+ "$686F6C65696E746865626F74746F6D6F66746865");
+ sl = get_my_declared_family(options);
+ tt_ptr_op(sl, OP_EQ, NULL);
+ expect_no_log_entry();
+
+ done:
+ or_options_free(options);
+ teardown_capture_of_logs();
+ CLEAR();
+ UNMOCK(node_get_by_nickname);
+
+#undef CLEAR
+}
+
#define ROUTER_TEST(name, flags) \
{ #name, test_router_ ## name, flags, NULL, NULL }
struct testcase_t router_tests[] = {
ROUTER_TEST(check_descriptor_bandwidth_changed, TT_FORK),
ROUTER_TEST(dump_router_to_string_no_bridge_distribution_method, TT_FORK),
+ ROUTER_TEST(mark_if_too_old, TT_FORK),
+ ROUTER_TEST(get_my_family, TT_FORK),
END_OF_TESTCASES
};
diff --git a/src/test/test_routerlist.c b/src/test/test_routerlist.c
index 67af2fd484..167b7a35ce 100644
--- a/src/test/test_routerlist.c
+++ b/src/test/test_routerlist.c
@@ -46,7 +46,7 @@
#include "feature/nodelist/routerstatus_st.h"
#include "lib/encoding/confline.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "test/test.h"
#include "test/test_dir_common.h"
@@ -265,7 +265,9 @@ test_router_pick_directory_server_impl(void *arg)
/* Init SR subsystem. */
MOCK(get_my_v3_authority_cert, get_my_v3_authority_cert_m);
- mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, NULL);
+ mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1,
+ strlen(AUTHORITY_CERT_1),
+ NULL);
sr_init(0);
UNMOCK(get_my_v3_authority_cert);
@@ -275,7 +277,9 @@ test_router_pick_directory_server_impl(void *arg)
construct_consensus(&consensus_text_md, now);
tt_assert(consensus_text_md);
- con_md = networkstatus_parse_vote_from_string(consensus_text_md, NULL,
+ con_md = networkstatus_parse_vote_from_string(consensus_text_md,
+ strlen(consensus_text_md),
+ NULL,
NS_TYPE_CONSENSUS);
tt_assert(con_md);
tt_int_op(con_md->flavor,OP_EQ, FLAV_MICRODESC);
@@ -475,7 +479,9 @@ test_directory_guard_fetch_with_no_dirinfo(void *arg)
/* Initialize the SRV subsystem */
MOCK(get_my_v3_authority_cert, get_my_v3_authority_cert_m);
- mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, NULL);
+ mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1,
+ strlen(AUTHORITY_CERT_1),
+ NULL);
sr_init(0);
UNMOCK(get_my_v3_authority_cert);
@@ -648,7 +654,9 @@ test_skew_common(void *arg, time_t now, unsigned long *offset)
/* Initialize the SRV subsystem */
MOCK(get_my_v3_authority_cert, get_my_v3_authority_cert_m);
- mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, NULL);
+ mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1,
+ strlen(AUTHORITY_CERT_1),
+ NULL);
sr_init(0);
UNMOCK(get_my_v3_authority_cert);
@@ -662,7 +670,8 @@ test_skew_common(void *arg, time_t now, unsigned long *offset)
MOCK(clock_skew_warning, mock_clock_skew_warning);
/* Caller will call teardown_capture_of_logs() */
setup_capture_of_logs(LOG_WARN);
- retval = networkstatus_set_current_consensus(consensus, "microdesc", 0,
+ retval = networkstatus_set_current_consensus(consensus, strlen(consensus),
+ "microdesc", 0,
NULL);
done:
diff --git a/src/test/test_rust.sh b/src/test/test_rust.sh
index a1a56af480..00b3e88d37 100755
--- a/src/test/test_rust.sh
+++ b/src/test/test_rust.sh
@@ -5,12 +5,20 @@ set -e
export LSAN_OPTIONS=suppressions=${abs_top_srcdir:-../../..}/src/test/rust_supp.txt
+# When testing Cargo we pass a number of very specific linker flags down
+# through Cargo. We do not, however, want these flags to affect things like
+# build scripts, only the tests that we're compiling. To ensure this happens
+# we unconditionally pass `--target` into Cargo, ensuring that `RUSTFLAGS` in
+# the environment won't make their way into build scripts.
+rustc_host=$(rustc -vV | grep host | sed 's/host: //')
+
for cargo_toml_dir in "${abs_top_srcdir:-../../..}"/src/rust/*; do
if [ -e "${cargo_toml_dir}/Cargo.toml" ]; then
cd "${abs_top_builddir:-../../..}/src/rust" && \
CARGO_TARGET_DIR="${abs_top_builddir:-../../..}/src/rust/target" \
"${CARGO:-cargo}" test ${CARGO_ONLINE-"--frozen"} \
- --features "test_linking_hack" \
+ --features "test_linking_hack" \
+ --target $rustc_host \
${EXTRA_CARGO_OPTIONS} \
--manifest-path "${cargo_toml_dir}/Cargo.toml" || exitcode=1
fi
diff --git a/src/test/test_shared_random.c b/src/test/test_shared_random.c
index 8a7fb95cc1..433661f128 100644
--- a/src/test/test_shared_random.c
+++ b/src/test/test_shared_random.c
@@ -65,7 +65,9 @@ init_authority_state(void)
MOCK(get_my_v3_authority_cert, get_my_v3_authority_cert_m);
or_options_t *options = get_options_mutable();
- mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, NULL);
+ mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1,
+ strlen(AUTHORITY_CERT_1),
+ NULL);
tt_assert(mock_cert);
options->AuthoritativeDir = 1;
tt_int_op(load_ed_keys(options, time(NULL)), OP_GE, 0);
@@ -421,7 +423,9 @@ test_sr_commit(void *arg)
{ /* Setup a minimal dirauth environment for this test */
or_options_t *options = get_options_mutable();
- auth_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, NULL);
+ auth_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1,
+ strlen(AUTHORITY_CERT_1),
+ NULL);
tt_assert(auth_cert);
options->AuthoritativeDir = 1;
@@ -824,7 +828,9 @@ test_sr_setup_commits(void)
{ /* Setup a minimal dirauth environment for this test */
or_options_t *options = get_options_mutable();
- auth_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, NULL);
+ auth_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1,
+ strlen(AUTHORITY_CERT_1),
+ NULL);
tt_assert(auth_cert);
options->AuthoritativeDir = 1;
diff --git a/src/test/test_slow.c b/src/test/test_slow.c
index 0b665363ab..97c2912af6 100644
--- a/src/test/test_slow.c
+++ b/src/test/test_slow.c
@@ -20,7 +20,7 @@
struct testgroup_t testgroups[] = {
{ "slow/crypto/", slow_crypto_tests },
- { "slow/util/", slow_util_tests },
+ { "slow/process/", slow_process_tests },
END_OF_GROUPS
};
diff --git a/src/test/test_socks.c b/src/test/test_socks.c
index 7f6d8a48f1..d430f4329b 100644
--- a/src/test/test_socks.c
+++ b/src/test/test_socks.c
@@ -4,7 +4,7 @@
/* See LICENSE for licensing information */
#include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "app/config/config.h"
#include "core/mainloop/connection.h"
#include "core/proto/proto_socks.h"
diff --git a/src/test/test_util.c b/src/test/test_util.c
index 7bc1b7921a..b983cbb0bf 100644
--- a/src/test/test_util.c
+++ b/src/test/test_util.c
@@ -10,10 +10,10 @@
#define UTIL_PRIVATE
#define UTIL_MALLOC_PRIVATE
#define SOCKET_PRIVATE
-#define SUBPROCESS_PRIVATE
+#define PROCESS_WIN32_PRIVATE
#include "lib/testsupport/testsupport.h"
#include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
#include "app/config/config.h"
#include "feature/control/control.h"
#include "feature/client/transports.h"
@@ -22,6 +22,7 @@
#include "test/test.h"
#include "lib/memarea/memarea.h"
#include "lib/process/waitpid.h"
+#include "lib/process/process_win32.h"
#include "test/log_test_helpers.h"
#include "lib/compress/compress.h"
#include "lib/compress/compress_zstd.h"
@@ -30,7 +31,6 @@
#include "lib/fs/winlib.h"
#include "lib/process/env.h"
#include "lib/process/pidfile.h"
-#include "lib/process/subprocess.h"
#include "lib/intmath/weakrng.h"
#include "lib/thread/numcpus.h"
#include "lib/math/fp.h"
@@ -4024,6 +4024,13 @@ test_util_string_is_utf8(void *ptr)
tt_int_op(1, OP_EQ, string_is_utf8("ascii\x7f\n", 7));
tt_int_op(1, OP_EQ, string_is_utf8("Risqu\u00e9=1", 9));
+ /* Test the utf8_no_bom function */
+ tt_int_op(0, OP_EQ, string_is_utf8_no_bom("\uFEFF", 3));
+ tt_int_op(0, OP_EQ, string_is_utf8_no_bom("\uFFFE", 3));
+ tt_int_op(0, OP_EQ, string_is_utf8_no_bom("\uFEFFlove", 7));
+ tt_int_op(1, OP_EQ, string_is_utf8_no_bom("loveandrespect",
+ strlen("loveandrespect")));
+
// Validate exactly 'len' bytes.
tt_int_op(0, OP_EQ, string_is_utf8("\0\x80", 2));
tt_int_op(0, OP_EQ, string_is_utf8("Risqu\u00e9=1", 6));
@@ -4294,204 +4301,6 @@ test_util_load_win_lib(void *ptr)
}
#endif /* defined(_WIN32) */
-#ifndef _WIN32
-static void
-clear_hex_errno(char *hex_errno)
-{
- memset(hex_errno, '\0', HEX_ERRNO_SIZE + 1);
-}
-
-static void
-test_util_exit_status(void *ptr)
-{
- /* Leave an extra byte for a \0 so we can do string comparison */
- char hex_errno[HEX_ERRNO_SIZE + 1];
- int n;
-
- (void)ptr;
-
- clear_hex_errno(hex_errno);
- tt_str_op("",OP_EQ, hex_errno);
-
- clear_hex_errno(hex_errno);
- n = format_helper_exit_status(0, 0, hex_errno);
- tt_str_op("0/0\n",OP_EQ, hex_errno);
- tt_int_op(n,OP_EQ, strlen(hex_errno));
-
-#if SIZEOF_INT == 4
-
- clear_hex_errno(hex_errno);
- n = format_helper_exit_status(0, 0x7FFFFFFF, hex_errno);
- tt_str_op("0/7FFFFFFF\n",OP_EQ, hex_errno);
- tt_int_op(n,OP_EQ, strlen(hex_errno));
-
- clear_hex_errno(hex_errno);
- n = format_helper_exit_status(0xFF, -0x80000000, hex_errno);
- tt_str_op("FF/-80000000\n",OP_EQ, hex_errno);
- tt_int_op(n,OP_EQ, strlen(hex_errno));
- tt_int_op(n,OP_EQ, HEX_ERRNO_SIZE);
-
-#elif SIZEOF_INT == 8
-
- clear_hex_errno(hex_errno);
- n = format_helper_exit_status(0, 0x7FFFFFFFFFFFFFFF, hex_errno);
- tt_str_op("0/7FFFFFFFFFFFFFFF\n",OP_EQ, hex_errno);
- tt_int_op(n,OP_EQ, strlen(hex_errno));
-
- clear_hex_errno(hex_errno);
- n = format_helper_exit_status(0xFF, -0x8000000000000000, hex_errno);
- tt_str_op("FF/-8000000000000000\n",OP_EQ, hex_errno);
- tt_int_op(n,OP_EQ, strlen(hex_errno));
- tt_int_op(n,OP_EQ, HEX_ERRNO_SIZE);
-
-#endif /* SIZEOF_INT == 4 || ... */
-
- clear_hex_errno(hex_errno);
- n = format_helper_exit_status(0x7F, 0, hex_errno);
- tt_str_op("7F/0\n",OP_EQ, hex_errno);
- tt_int_op(n,OP_EQ, strlen(hex_errno));
-
- clear_hex_errno(hex_errno);
- n = format_helper_exit_status(0x08, -0x242, hex_errno);
- tt_str_op("8/-242\n",OP_EQ, hex_errno);
- tt_int_op(n,OP_EQ, strlen(hex_errno));
-
- clear_hex_errno(hex_errno);
- tt_str_op("",OP_EQ, hex_errno);
-
- done:
- ;
-}
-#endif /* !defined(_WIN32) */
-
-#ifndef _WIN32
-static void
-test_util_string_from_pipe(void *ptr)
-{
- int test_pipe[2] = {-1, -1};
- int retval = 0;
- enum stream_status status = IO_STREAM_TERM;
- ssize_t retlen;
- char buf[4] = { 0 };
-
- (void)ptr;
-
- errno = 0;
-
- /* Set up a pipe to test on */
- retval = pipe(test_pipe);
- tt_int_op(retval, OP_EQ, 0);
-
- /* Send in a string. */
- retlen = write(test_pipe[1], "ABC", 3);
- tt_int_op(retlen, OP_EQ, 3);
-
- status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1);
- tt_int_op(errno, OP_EQ, 0);
- tt_int_op(status, OP_EQ, IO_STREAM_OKAY);
- tt_str_op(buf, OP_EQ, "ABC");
- errno = 0;
-
- /* Send in a string that contains a nul. */
- retlen = write(test_pipe[1], "AB\0", 3);
- tt_int_op(retlen, OP_EQ, 3);
-
- status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1);
- tt_int_op(errno, OP_EQ, 0);
- tt_int_op(status, OP_EQ, IO_STREAM_OKAY);
- tt_str_op(buf, OP_EQ, "AB");
- errno = 0;
-
- /* Send in a string that contains a nul only. */
- retlen = write(test_pipe[1], "\0", 1);
- tt_int_op(retlen, OP_EQ, 1);
-
- status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1);
- tt_int_op(errno, OP_EQ, 0);
- tt_int_op(status, OP_EQ, IO_STREAM_OKAY);
- tt_str_op(buf, OP_EQ, "");
- errno = 0;
-
- /* Send in a string that contains a trailing newline. */
- retlen = write(test_pipe[1], "AB\n", 3);
- tt_int_op(retlen, OP_EQ, 3);
-
- status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1);
- tt_int_op(errno, OP_EQ, 0);
- tt_int_op(status, OP_EQ, IO_STREAM_OKAY);
- tt_str_op(buf, OP_EQ, "AB");
- errno = 0;
-
- /* Send in a string that contains a newline only. */
- retlen = write(test_pipe[1], "\n", 1);
- tt_int_op(retlen, OP_EQ, 1);
-
- status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1);
- tt_int_op(errno, OP_EQ, 0);
- tt_int_op(status, OP_EQ, IO_STREAM_OKAY);
- tt_str_op(buf, OP_EQ, "");
- errno = 0;
-
- /* Send in a string and check that we nul terminate return values. */
- retlen = write(test_pipe[1], "AAA", 3);
- tt_int_op(retlen, OP_EQ, 3);
-
- status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1);
- tt_int_op(errno, OP_EQ, 0);
- tt_int_op(status, OP_EQ, IO_STREAM_OKAY);
- tt_str_op(buf, OP_EQ, "AAA");
- tt_mem_op(buf, OP_EQ, "AAA\0", sizeof(buf));
- errno = 0;
-
- retlen = write(test_pipe[1], "B", 1);
- tt_int_op(retlen, OP_EQ, 1);
-
- memset(buf, '\xff', sizeof(buf));
- status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1);
- tt_int_op(errno, OP_EQ, 0);
- tt_int_op(status, OP_EQ, IO_STREAM_OKAY);
- tt_str_op(buf, OP_EQ, "B");
- tt_mem_op(buf, OP_EQ, "B\0\xff\xff", sizeof(buf));
- errno = 0;
-
- /* Send in multiple lines. */
- retlen = write(test_pipe[1], "A\nB", 3);
- tt_int_op(retlen, OP_EQ, 3);
-
- status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1);
- tt_int_op(errno, OP_EQ, 0);
- tt_int_op(status, OP_EQ, IO_STREAM_OKAY);
- tt_str_op(buf, OP_EQ, "A\nB");
- errno = 0;
-
- /* Send in a line and close */
- retlen = write(test_pipe[1], "AB", 2);
- tt_int_op(retlen, OP_EQ, 2);
- retval = close(test_pipe[1]);
- tt_int_op(retval, OP_EQ, 0);
- test_pipe[1] = -1;
-
- status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1);
- tt_int_op(errno, OP_EQ, 0);
- tt_int_op(status, OP_EQ, IO_STREAM_OKAY);
- tt_str_op(buf, OP_EQ, "AB");
- errno = 0;
-
- /* Check for EOF */
- status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1);
- tt_int_op(errno, OP_EQ, 0);
- tt_int_op(status, OP_EQ, IO_STREAM_CLOSED);
- errno = 0;
-
- done:
- if (test_pipe[0] != -1)
- close(test_pipe[0]);
- if (test_pipe[1] != -1)
- close(test_pipe[1]);
-}
-
-#endif /* !defined(_WIN32) */
-
/**
* Test for format_hex_number_sigsafe()
*/
@@ -4586,57 +4395,6 @@ test_util_format_dec_number(void *ptr)
return;
}
-/**
- * Test that we can properly format a Windows command line
- */
-static void
-test_util_join_win_cmdline(void *ptr)
-{
- /* Based on some test cases from "Parsing C++ Command-Line Arguments" in
- * MSDN but we don't exercise all quoting rules because tor_join_win_cmdline
- * will try to only generate simple cases for the child process to parse;
- * i.e. we never embed quoted strings in arguments. */
-
- const char *argvs[][4] = {
- {"a", "bb", "CCC", NULL}, // Normal
- {NULL, NULL, NULL, NULL}, // Empty argument list
- {"", NULL, NULL, NULL}, // Empty argument
- {"\"a", "b\"b", "CCC\"", NULL}, // Quotes
- {"a\tbc", "dd dd", "E", NULL}, // Whitespace
- {"a\\\\\\b", "de fg", "H", NULL}, // Backslashes
- {"a\\\"b", "\\c", "D\\", NULL}, // Backslashes before quote
- {"a\\\\b c", "d", "E", NULL}, // Backslashes not before quote
- { NULL } // Terminator
- };
-
- const char *cmdlines[] = {
- "a bb CCC",
- "",
- "\"\"",
- "\\\"a b\\\"b CCC\\\"",
- "\"a\tbc\" \"dd dd\" E",
- "a\\\\\\b \"de fg\" H",
- "a\\\\\\\"b \\c D\\",
- "\"a\\\\b c\" d E",
- NULL // Terminator
- };
-
- int i;
- char *joined_argv = NULL;
-
- (void)ptr;
-
- for (i=0; cmdlines[i]!=NULL; i++) {
- log_info(LD_GENERAL, "Joining argvs[%d], expecting <%s>", i, cmdlines[i]);
- joined_argv = tor_join_win_cmdline(argvs[i]);
- tt_str_op(cmdlines[i],OP_EQ, joined_argv);
- tor_free(joined_argv);
- }
-
- done:
- tor_free(joined_argv);
-}
-
#define MAX_SPLIT_LINE_COUNT 4
struct split_lines_test_t {
const char *orig_line; // Line to be split (may contain \0's)
@@ -4644,67 +4402,6 @@ struct split_lines_test_t {
const char *split_line[MAX_SPLIT_LINE_COUNT]; // Split lines
};
-/**
- * Test that we properly split a buffer into lines
- */
-static void
-test_util_split_lines(void *ptr)
-{
- /* Test cases. orig_line of last test case must be NULL.
- * The last element of split_line[i] must be NULL. */
- struct split_lines_test_t tests[] = {
- {"", 0, {NULL}},
- {"foo", 3, {"foo", NULL}},
- {"\n\rfoo\n\rbar\r\n", 12, {"foo", "bar", NULL}},
- {"fo o\r\nb\tar", 10, {"fo o", "b.ar", NULL}},
- {"\x0f""f\0o\0\n\x01""b\0r\0\r", 12, {".f.o.", ".b.r.", NULL}},
- {"line 1\r\nline 2", 14, {"line 1", "line 2", NULL}},
- {"line 1\r\n\r\nline 2", 16, {"line 1", "line 2", NULL}},
- {"line 1\r\n\r\r\r\nline 2", 18, {"line 1", "line 2", NULL}},
- {"line 1\r\n\n\n\n\rline 2", 18, {"line 1", "line 2", NULL}},
- {"line 1\r\n\r\t\r\nline 3", 18, {"line 1", ".", "line 3", NULL}},
- {"\n\t\r\t\nline 3", 11, {".", ".", "line 3", NULL}},
- {NULL, 0, { NULL }}
- };
-
- int i, j;
- char *orig_line=NULL;
- smartlist_t *sl=NULL;
-
- (void)ptr;
-
- for (i=0; tests[i].orig_line; i++) {
- sl = smartlist_new();
- /* Allocate space for string and trailing NULL */
- orig_line = tor_memdup(tests[i].orig_line, tests[i].orig_length + 1);
- tor_split_lines(sl, orig_line, tests[i].orig_length);
-
- j = 0;
- log_info(LD_GENERAL, "Splitting test %d of length %d",
- i, tests[i].orig_length);
- SMARTLIST_FOREACH_BEGIN(sl, const char *, line) {
- /* Check we have not got too many lines */
- tt_int_op(MAX_SPLIT_LINE_COUNT, OP_GT, j);
- /* Check that there actually should be a line here */
- tt_ptr_op(tests[i].split_line[j], OP_NE, NULL);
- log_info(LD_GENERAL, "Line %d of test %d, should be <%s>",
- j, i, tests[i].split_line[j]);
- /* Check that the line is as expected */
- tt_str_op(line,OP_EQ, tests[i].split_line[j]);
- j++;
- } SMARTLIST_FOREACH_END(line);
- /* Check that we didn't miss some lines */
- tt_ptr_op(NULL,OP_EQ, tests[i].split_line[j]);
- tor_free(orig_line);
- smartlist_free(sl);
- sl = NULL;
- }
-
- done:
- tor_free(orig_line);
- smartlist_free(sl);
-}
-
static void
test_util_di_ops(void *arg)
{
@@ -5808,6 +5505,18 @@ test_util_ipv4_validation(void *arg)
}
static void
+test_util_ipv6_validation(void *arg)
+{
+ (void)arg;
+
+ tt_assert(string_is_valid_ipv6_address("2a00:1450:401b:800::200e"));
+ tt_assert(!string_is_valid_ipv6_address("11:22::33:44:"));
+
+ done:
+ return;
+}
+
+static void
test_util_writepid(void *arg)
{
(void) arg;
@@ -6464,12 +6173,8 @@ struct testcase_t util_tests[] = {
UTIL_TEST(nowrap_math, 0),
UTIL_TEST(num_cpus, 0),
UTIL_TEST_WIN_ONLY(load_win_lib, 0),
- UTIL_TEST_NO_WIN(exit_status, 0),
- UTIL_TEST_NO_WIN(string_from_pipe, 0),
UTIL_TEST(format_hex_number, 0),
UTIL_TEST(format_dec_number, 0),
- UTIL_TEST(join_win_cmdline, 0),
- UTIL_TEST(split_lines, 0),
UTIL_TEST(n_bits_set, 0),
UTIL_TEST(eat_whitespace, 0),
UTIL_TEST(sl_new_from_text_lines, 0),
@@ -6498,6 +6203,7 @@ struct testcase_t util_tests[] = {
UTIL_TEST(hostname_validation, 0),
UTIL_TEST(dest_validation_edgecase, 0),
UTIL_TEST(ipv4_validation, 0),
+ UTIL_TEST(ipv6_validation, 0),
UTIL_TEST(writepid, 0),
UTIL_TEST(get_avail_disk_space, 0),
UTIL_TEST(touch_file, 0),
diff --git a/src/test/test_util_format.c b/src/test/test_util_format.c
index 85d8a8e62e..fd57125b86 100644
--- a/src/test/test_util_format.c
+++ b/src/test/test_util_format.c
@@ -392,10 +392,13 @@ test_util_format_encoded_size(void *arg)
base64_encode(outbuf, sizeof(outbuf), (char *)inbuf, i, 0);
tt_int_op(strlen(outbuf), OP_EQ, base64_encode_size(i, 0));
+ tt_int_op(i, OP_LE, base64_decode_maxsize(strlen(outbuf)));
+
base64_encode(outbuf, sizeof(outbuf), (char *)inbuf, i,
BASE64_ENCODE_MULTILINE);
tt_int_op(strlen(outbuf), OP_EQ,
base64_encode_size(i, BASE64_ENCODE_MULTILINE));
+ tt_int_op(i, OP_LE, base64_decode_maxsize(strlen(outbuf)));
}
done:
@@ -417,4 +420,3 @@ struct testcase_t util_format_tests[] = {
{ "encoded_size", test_util_format_encoded_size, 0, NULL, NULL },
END_OF_TESTCASES
};
-
diff --git a/src/test/test_util_slow.c b/src/test/test_util_slow.c
deleted file mode 100644
index c7b3e3e2a4..0000000000
--- a/src/test/test_util_slow.c
+++ /dev/null
@@ -1,396 +0,0 @@
-/* Copyright (c) 2001-2004, Roger Dingledine.
- * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
- * Copyright (c) 2007-2018, The Tor Project, Inc. */
-/* See LICENSE for licensing information */
-
-#include "orconfig.h"
-#define UTIL_PRIVATE
-#define SUBPROCESS_PRIVATE
-#include "lib/crypt_ops/crypto_cipher.h"
-#include "lib/log/log.h"
-#include "lib/process/subprocess.h"
-#include "lib/process/waitpid.h"
-#include "lib/string/printf.h"
-#include "lib/time/compat_time.h"
-#include "test/test.h"
-
-#include <errno.h>
-#include <string.h>
-
-#ifndef BUILDDIR
-#define BUILDDIR "."
-#endif
-
-#ifdef _WIN32
-#define notify_pending_waitpid_callbacks() STMT_NIL
-#define TEST_CHILD "test-child.exe"
-#define EOL "\r\n"
-#else
-#define TEST_CHILD (BUILDDIR "/src/test/test-child")
-#define EOL "\n"
-#endif /* defined(_WIN32) */
-
-#ifdef _WIN32
-/* I've assumed Windows doesn't have the gap between fork and exec
- * that causes the race condition on unix-like platforms */
-#define MATCH_PROCESS_STATUS(s1,s2) ((s1) == (s2))
-
-#else /* !(defined(_WIN32)) */
-/* work around a race condition of the timing of SIGCHLD handler updates
- * to the process_handle's fields, and checks of those fields
- *
- * TODO: Once we can signal failure to exec, change PROCESS_STATUS_RUNNING to
- * PROCESS_STATUS_ERROR (and similarly with *_OR_NOTRUNNING) */
-#define PROCESS_STATUS_RUNNING_OR_NOTRUNNING (PROCESS_STATUS_RUNNING+1)
-#define IS_RUNNING_OR_NOTRUNNING(s) \
- ((s) == PROCESS_STATUS_RUNNING || (s) == PROCESS_STATUS_NOTRUNNING)
-/* well, this is ugly */
-#define MATCH_PROCESS_STATUS(s1,s2) \
- ( (s1) == (s2) \
- ||((s1) == PROCESS_STATUS_RUNNING_OR_NOTRUNNING \
- && IS_RUNNING_OR_NOTRUNNING(s2)) \
- ||((s2) == PROCESS_STATUS_RUNNING_OR_NOTRUNNING \
- && IS_RUNNING_OR_NOTRUNNING(s1)))
-
-#endif /* defined(_WIN32) */
-
-/** Helper function for testing tor_spawn_background */
-static void
-run_util_spawn_background(const char *argv[], const char *expected_out,
- const char *expected_err, int expected_exit,
- int expected_status)
-{
- int retval, exit_code;
- ssize_t pos;
- process_handle_t *process_handle=NULL;
- char stdout_buf[100], stderr_buf[100];
- int status;
-
- /* Start the program */
-#ifdef _WIN32
- status = tor_spawn_background(NULL, argv, NULL, &process_handle);
-#else
- status = tor_spawn_background(argv[0], argv, NULL, &process_handle);
-#endif
-
- notify_pending_waitpid_callbacks();
-
- /* the race condition doesn't affect status,
- * because status isn't updated by the SIGCHLD handler,
- * but we still need to handle PROCESS_STATUS_RUNNING_OR_NOTRUNNING */
- tt_assert(MATCH_PROCESS_STATUS(expected_status, status));
- if (status == PROCESS_STATUS_ERROR) {
- tt_ptr_op(process_handle, OP_EQ, NULL);
- return;
- }
-
- tt_ptr_op(process_handle, OP_NE, NULL);
-
- /* When a spawned process forks, fails, then exits very quickly,
- * (this typically occurs when exec fails)
- * there is a race condition between the SIGCHLD handler
- * updating the process_handle's fields, and this test
- * checking the process status in those fields.
- * The SIGCHLD update can occur before or after the code below executes.
- * This causes intermittent failures in spawn_background_fail(),
- * typically when the machine is under load.
- * We use PROCESS_STATUS_RUNNING_OR_NOTRUNNING to avoid this issue. */
-
- /* the race condition affects the change in
- * process_handle->status from RUNNING to NOTRUNNING */
- tt_assert(MATCH_PROCESS_STATUS(expected_status, process_handle->status));
-
-#ifndef _WIN32
- notify_pending_waitpid_callbacks();
- /* the race condition affects the change in
- * process_handle->waitpid_cb to NULL,
- * so we skip the check if expected_status is ambiguous,
- * that is, PROCESS_STATUS_RUNNING_OR_NOTRUNNING */
- tt_assert(process_handle->waitpid_cb != NULL
- || expected_status == PROCESS_STATUS_RUNNING_OR_NOTRUNNING);
-#endif /* !defined(_WIN32) */
-
-#ifdef _WIN32
- tt_assert(process_handle->stdout_pipe != INVALID_HANDLE_VALUE);
- tt_assert(process_handle->stderr_pipe != INVALID_HANDLE_VALUE);
- tt_assert(process_handle->stdin_pipe != INVALID_HANDLE_VALUE);
-#else
- tt_assert(process_handle->stdout_pipe >= 0);
- tt_assert(process_handle->stderr_pipe >= 0);
- tt_assert(process_handle->stdin_pipe >= 0);
-#endif /* defined(_WIN32) */
-
- /* Check stdout */
- pos = tor_read_all_from_process_stdout(process_handle, stdout_buf,
- sizeof(stdout_buf) - 1);
- tt_assert(pos >= 0);
- stdout_buf[pos] = '\0';
- tt_int_op(strlen(expected_out),OP_EQ, pos);
- tt_str_op(expected_out,OP_EQ, stdout_buf);
-
- notify_pending_waitpid_callbacks();
-
- /* Check it terminated correctly */
- retval = tor_get_exit_code(process_handle, 1, &exit_code);
- tt_int_op(PROCESS_EXIT_EXITED,OP_EQ, retval);
- tt_int_op(expected_exit,OP_EQ, exit_code);
- // TODO: Make test-child exit with something other than 0
-
-#ifndef _WIN32
- notify_pending_waitpid_callbacks();
- tt_ptr_op(process_handle->waitpid_cb, OP_EQ, NULL);
-#endif
-
- /* Check stderr */
- pos = tor_read_all_from_process_stderr(process_handle, stderr_buf,
- sizeof(stderr_buf) - 1);
- tt_assert(pos >= 0);
- stderr_buf[pos] = '\0';
- tt_str_op(expected_err,OP_EQ, stderr_buf);
- tt_int_op(strlen(expected_err),OP_EQ, pos);
-
- notify_pending_waitpid_callbacks();
-
- done:
- if (process_handle)
- tor_process_handle_destroy(process_handle, 1);
-}
-
-/** Check that we can launch a process and read the output */
-static void
-test_util_spawn_background_ok(void *ptr)
-{
- const char *argv[] = {TEST_CHILD, "--test", NULL};
- const char *expected_out = "OUT"EOL "--test"EOL "SLEEPING"EOL "DONE" EOL;
- const char *expected_err = "ERR"EOL;
-
- (void)ptr;
-
- run_util_spawn_background(argv, expected_out, expected_err, 0,
- PROCESS_STATUS_RUNNING);
-}
-
-/** Check that failing to find the executable works as expected */
-static void
-test_util_spawn_background_fail(void *ptr)
-{
- const char *argv[] = {BUILDDIR "/src/test/no-such-file", "--test", NULL};
- const char *expected_err = "";
- char expected_out[1024];
- char code[32];
-#ifdef _WIN32
- const int expected_status = PROCESS_STATUS_ERROR;
-#else
- /* TODO: Once we can signal failure to exec, set this to be
- * PROCESS_STATUS_RUNNING_OR_ERROR */
- const int expected_status = PROCESS_STATUS_RUNNING_OR_NOTRUNNING;
-#endif /* defined(_WIN32) */
-
- memset(expected_out, 0xf0, sizeof(expected_out));
- memset(code, 0xf0, sizeof(code));
-
- (void)ptr;
-
- tor_snprintf(code, sizeof(code), "%x/%x",
- 9 /* CHILD_STATE_FAILEXEC */ , ENOENT);
- tor_snprintf(expected_out, sizeof(expected_out),
- "ERR: Failed to spawn background process - code %s\n", code);
-
- run_util_spawn_background(argv, expected_out, expected_err, 255,
- expected_status);
-}
-
-/** Test that reading from a handle returns a partial read rather than
- * blocking */
-static void
-test_util_spawn_background_partial_read_impl(int exit_early)
-{
- const int expected_exit = 0;
- const int expected_status = PROCESS_STATUS_RUNNING;
-
- int retval, exit_code;
- ssize_t pos = -1;
- process_handle_t *process_handle=NULL;
- int status;
- char stdout_buf[100], stderr_buf[100];
-
- const char *argv[] = {TEST_CHILD, "--test", NULL};
- const char *expected_out[] = { "OUT" EOL "--test" EOL "SLEEPING" EOL,
- "DONE" EOL,
- NULL };
- const char *expected_err = "ERR" EOL;
-
-#ifndef _WIN32
- int eof = 0;
-#endif
- int expected_out_ctr;
-
- if (exit_early) {
- argv[1] = "--hang";
- expected_out[0] = "OUT"EOL "--hang"EOL "SLEEPING" EOL;
- }
-
- /* Start the program */
-#ifdef _WIN32
- status = tor_spawn_background(NULL, argv, NULL, &process_handle);
-#else
- status = tor_spawn_background(argv[0], argv, NULL, &process_handle);
-#endif
- tt_int_op(expected_status,OP_EQ, status);
- tt_assert(process_handle);
- tt_int_op(expected_status,OP_EQ, process_handle->status);
-
- /* Check stdout */
- for (expected_out_ctr = 0; expected_out[expected_out_ctr] != NULL;) {
-#ifdef _WIN32
- pos = tor_read_all_handle(process_handle->stdout_pipe, stdout_buf,
- sizeof(stdout_buf) - 1, NULL);
-#else
- /* Check that we didn't read the end of file last time */
- tt_assert(!eof);
- pos = tor_read_all_handle(process_handle->stdout_pipe, stdout_buf,
- sizeof(stdout_buf) - 1, NULL, &eof);
-#endif /* defined(_WIN32) */
- log_info(LD_GENERAL, "tor_read_all_handle() returned %d", (int)pos);
-
- /* We would have blocked, keep on trying */
- if (0 == pos)
- continue;
-
- tt_assert(pos > 0);
- stdout_buf[pos] = '\0';
- tt_str_op(expected_out[expected_out_ctr],OP_EQ, stdout_buf);
- tt_int_op(strlen(expected_out[expected_out_ctr]),OP_EQ, pos);
- expected_out_ctr++;
- }
-
- if (exit_early) {
- tor_process_handle_destroy(process_handle, 1);
- process_handle = NULL;
- goto done;
- }
-
- /* The process should have exited without writing more */
-#ifdef _WIN32
- pos = tor_read_all_handle(process_handle->stdout_pipe, stdout_buf,
- sizeof(stdout_buf) - 1,
- process_handle);
- tt_int_op(0,OP_EQ, pos);
-#else /* !(defined(_WIN32)) */
- if (!eof) {
- /* We should have got all the data, but maybe not the EOF flag */
- pos = tor_read_all_handle(process_handle->stdout_pipe, stdout_buf,
- sizeof(stdout_buf) - 1,
- process_handle, &eof);
- tt_int_op(0,OP_EQ, pos);
- tt_assert(eof);
- }
- /* Otherwise, we got the EOF on the last read */
-#endif /* defined(_WIN32) */
-
- /* Check it terminated correctly */
- retval = tor_get_exit_code(process_handle, 1, &exit_code);
- tt_int_op(PROCESS_EXIT_EXITED,OP_EQ, retval);
- tt_int_op(expected_exit,OP_EQ, exit_code);
-
- // TODO: Make test-child exit with something other than 0
-
- /* Check stderr */
- pos = tor_read_all_from_process_stderr(process_handle, stderr_buf,
- sizeof(stderr_buf) - 1);
- tt_assert(pos >= 0);
- stderr_buf[pos] = '\0';
- tt_str_op(expected_err,OP_EQ, stderr_buf);
- tt_int_op(strlen(expected_err),OP_EQ, pos);
-
- done:
- tor_process_handle_destroy(process_handle, 1);
-}
-
-static void
-test_util_spawn_background_partial_read(void *arg)
-{
- (void)arg;
- test_util_spawn_background_partial_read_impl(0);
-}
-
-static void
-test_util_spawn_background_exit_early(void *arg)
-{
- (void)arg;
- test_util_spawn_background_partial_read_impl(1);
-}
-
-static void
-test_util_spawn_background_waitpid_notify(void *arg)
-{
- int retval, exit_code;
- process_handle_t *process_handle=NULL;
- int status;
- int ms_timer;
-
- const char *argv[] = {TEST_CHILD, "--fast", NULL};
-
- (void) arg;
-
-#ifdef _WIN32
- status = tor_spawn_background(NULL, argv, NULL, &process_handle);
-#else
- status = tor_spawn_background(argv[0], argv, NULL, &process_handle);
-#endif
-
- tt_int_op(status, OP_EQ, PROCESS_STATUS_RUNNING);
- tt_ptr_op(process_handle, OP_NE, NULL);
-
- /* We're not going to look at the stdout/stderr output this time. Instead,
- * we're testing whether notify_pending_waitpid_calbacks() can report the
- * process exit (on unix) and/or whether tor_get_exit_code() can notice it
- * (on windows) */
-
-#ifndef _WIN32
- ms_timer = 30*1000;
- tt_ptr_op(process_handle->waitpid_cb, OP_NE, NULL);
- while (process_handle->waitpid_cb && ms_timer > 0) {
- tor_sleep_msec(100);
- ms_timer -= 100;
- notify_pending_waitpid_callbacks();
- }
- tt_int_op(ms_timer, OP_GT, 0);
- tt_ptr_op(process_handle->waitpid_cb, OP_EQ, NULL);
-#endif /* !defined(_WIN32) */
-
- ms_timer = 30*1000;
- while (((retval = tor_get_exit_code(process_handle, 0, &exit_code))
- == PROCESS_EXIT_RUNNING) && ms_timer > 0) {
- tor_sleep_msec(100);
- ms_timer -= 100;
- }
- tt_int_op(ms_timer, OP_GT, 0);
-
- tt_int_op(retval, OP_EQ, PROCESS_EXIT_EXITED);
-
- done:
- tor_process_handle_destroy(process_handle, 1);
-}
-
-#undef TEST_CHILD
-#undef EOL
-
-#undef MATCH_PROCESS_STATUS
-
-#ifndef _WIN32
-#undef PROCESS_STATUS_RUNNING_OR_NOTRUNNING
-#undef IS_RUNNING_OR_NOTRUNNING
-#endif
-
-#define UTIL_TEST(name, flags) \
- { #name, test_util_ ## name, flags, NULL, NULL }
-
-struct testcase_t slow_util_tests[] = {
- UTIL_TEST(spawn_background_ok, 0),
- UTIL_TEST(spawn_background_fail, 0),
- UTIL_TEST(spawn_background_partial_read, 0),
- UTIL_TEST(spawn_background_exit_early, 0),
- UTIL_TEST(spawn_background_waitpid_notify, 0),
- END_OF_TESTCASES
-};
diff --git a/src/test/test_voting_flags.c b/src/test/test_voting_flags.c
new file mode 100644
index 0000000000..0c4cedb516
--- /dev/null
+++ b/src/test/test_voting_flags.c
@@ -0,0 +1,192 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#include "orconfig.h"
+
+#define VOTEFLAGS_PRIVATE
+
+#include "core/or/or.h"
+
+#include "feature/dirauth/voteflags.h"
+#include "feature/nodelist/node_st.h"
+#include "feature/nodelist/routerstatus_st.h"
+#include "feature/nodelist/routerinfo_st.h"
+
+#include "app/config/config.h"
+
+#include "test/test.h"
+
+typedef struct {
+ time_t now;
+ routerinfo_t ri;
+ node_t node;
+
+ routerstatus_t expected;
+} flag_vote_test_cfg_t;
+
+static void
+setup_cfg(flag_vote_test_cfg_t *c)
+{
+ memset(c, 0, sizeof(*c));
+
+ c->now = approx_time();
+
+ c->ri.nickname = (char *) "testing100";
+ strlcpy(c->expected.nickname, "testing100", sizeof(c->expected.nickname));
+
+ memset(c->ri.cache_info.identity_digest, 0xff, DIGEST_LEN);
+ memset(c->ri.cache_info.signed_descriptor_digest, 0xee, DIGEST256_LEN);
+
+ c->ri.cache_info.published_on = c->now - 100;
+ c->expected.published_on = c->now - 100;
+
+ c->ri.addr = 0x7f010105;
+ c->expected.addr = 0x7f010105;
+ c->ri.or_port = 9090;
+ c->expected.or_port = 9090;
+
+ tor_addr_make_null(&c->ri.ipv6_addr, AF_INET6);
+ tor_addr_make_null(&c->expected.ipv6_addr, AF_INET6);
+
+ // By default we have no loaded information about stability or speed,
+ // so we'll default to voting "yeah sure." on these two.
+ c->expected.is_fast = 1;
+ c->expected.is_stable = 1;
+}
+
+static bool
+check_result(flag_vote_test_cfg_t *c)
+{
+ bool result = false;
+ routerstatus_t rs;
+ memset(&rs, 0, sizeof(rs));
+ set_routerstatus_from_routerinfo(&rs, &c->node, &c->ri, c->now, 0);
+
+ tt_i64_op(rs.published_on, OP_EQ, c->expected.published_on);
+ tt_str_op(rs.nickname, OP_EQ, c->expected.nickname);
+
+ // identity_digest and descriptor_digest are not set here.
+
+ tt_uint_op(rs.addr, OP_EQ, c->expected.addr);
+ tt_uint_op(rs.or_port, OP_EQ, c->expected.or_port);
+ tt_uint_op(rs.dir_port, OP_EQ, c->expected.dir_port);
+
+ tt_assert(tor_addr_eq(&rs.ipv6_addr, &c->expected.ipv6_addr));
+ tt_uint_op(rs.ipv6_orport, OP_EQ, c->expected.ipv6_orport);
+
+#define FLAG(flagname) \
+ tt_uint_op(rs.flagname, OP_EQ, c->expected.flagname)
+
+ FLAG(is_authority);
+ FLAG(is_exit);
+ FLAG(is_stable);
+ FLAG(is_fast);
+ FLAG(is_flagged_running);
+ FLAG(is_named);
+ FLAG(is_unnamed);
+ FLAG(is_valid);
+ FLAG(is_possible_guard);
+ FLAG(is_bad_exit);
+ FLAG(is_hs_dir);
+ FLAG(is_v2_dir);
+ FLAG(is_staledesc);
+ FLAG(has_bandwidth);
+ FLAG(has_exitsummary);
+ FLAG(bw_is_unmeasured);
+
+ result = true;
+
+ done:
+ return result;
+}
+
+static void
+test_voting_flags_minimal(void *arg)
+{
+ flag_vote_test_cfg_t *cfg = arg;
+ check_result(cfg);
+}
+
+static void
+test_voting_flags_ipv6(void *arg)
+{
+ flag_vote_test_cfg_t *cfg = arg;
+
+ tt_assert(tor_addr_parse(&cfg->ri.ipv6_addr, "f00::b42") == AF_INET6);
+ cfg->ri.ipv6_orport = 9091;
+ // no change in expected results, since we aren't set up with ipv6
+ // connectivity.
+ if (!check_result(cfg))
+ goto done;
+
+ get_options_mutable()->AuthDirHasIPv6Connectivity = 1;
+ // no change in expected results, since last_reachable6 won't be set.
+ if (!check_result(cfg))
+ goto done;
+
+ cfg->node.last_reachable6 = cfg->now - 10;
+ // now that lastreachable6 is set, we expect to see the result.
+ tt_assert(tor_addr_parse(&cfg->expected.ipv6_addr, "f00::b42") == AF_INET6);
+ cfg->expected.ipv6_orport = 9091;
+ if (!check_result(cfg))
+ goto done;
+ done:
+ ;
+}
+
+static void
+test_voting_flags_staledesc(void *arg)
+{
+ flag_vote_test_cfg_t *cfg = arg;
+ time_t now = cfg->now;
+
+ cfg->ri.cache_info.published_on = now - DESC_IS_STALE_INTERVAL + 10;
+ cfg->expected.published_on = now - DESC_IS_STALE_INTERVAL + 10;
+ // no change in expectations for is_staledesc
+ if (!check_result(cfg))
+ goto done;
+
+ cfg->ri.cache_info.published_on = now - DESC_IS_STALE_INTERVAL - 10;
+ cfg->expected.published_on = now - DESC_IS_STALE_INTERVAL - 10;
+ cfg->expected.is_staledesc = 1;
+ if (!check_result(cfg))
+ goto done;
+
+ done:
+ ;
+}
+
+static void *
+setup_voting_flags_test(const struct testcase_t *testcase)
+{
+ (void)testcase;
+ flag_vote_test_cfg_t *cfg = tor_malloc_zero(sizeof(*cfg));
+ setup_cfg(cfg);
+ return cfg;
+}
+
+static int
+teardown_voting_flags_test(const struct testcase_t *testcase, void *arg)
+{
+ (void)testcase;
+ flag_vote_test_cfg_t *cfg = arg;
+ tor_free(cfg);
+ return 1;
+}
+
+static const struct testcase_setup_t voting_flags_setup = {
+ .setup_fn = setup_voting_flags_test,
+ .cleanup_fn = teardown_voting_flags_test,
+};
+
+#define T(name,flags) \
+ { #name, test_voting_flags_##name, (flags), &voting_flags_setup, NULL }
+
+struct testcase_t voting_flags_tests[] = {
+ T(minimal, 0),
+ T(ipv6, TT_FORK),
+ // TODO: Add more of these tests.
+ T(staledesc, TT_FORK),
+ END_OF_TESTCASES
+};
+
diff --git a/src/test/testing_common.c b/src/test/testing_common.c
index c52683afca..6d2db28f15 100644
--- a/src/test/testing_common.c
+++ b/src/test/testing_common.c
@@ -25,6 +25,8 @@
#include "lib/compress/compress.h"
#include "lib/evloop/compat_libevent.h"
#include "lib/crypt_ops/crypto_init.h"
+#include "lib/version/torversion.h"
+#include "app/main/subsysmgr.h"
#include <stdio.h>
#ifdef HAVE_FCNTL_H
@@ -230,12 +232,12 @@ void
tinytest_prefork(void)
{
free_pregenerated_keys();
- crypto_prefork();
+ subsystems_prefork();
}
void
tinytest_postfork(void)
{
- crypto_postfork();
+ subsystems_postfork();
init_pregenerated_keys();
}
@@ -250,24 +252,15 @@ main(int c, const char **v)
int loglevel = LOG_ERR;
int accel_crypto = 0;
- /* We must initialise logs before we call tor_assert() */
- init_logging(1);
+ subsystems_init_upto(SUBSYS_LEVEL_LIBS);
- update_approx_time(time(NULL));
options = options_new();
- tor_threads_init();
- tor_compress_init();
-
- network_init();
-
- monotime_init();
struct tor_libevent_cfg cfg;
memset(&cfg, 0, sizeof(cfg));
tor_libevent_initialize(&cfg);
control_initialize_event_queue();
- configure_backtrace_handler(get_version());
for (i_out = i = 1; i < c; ++i) {
if (!strcmp(v[i], "--warn")) {
@@ -294,6 +287,7 @@ main(int c, const char **v)
s.masks[LOG_WARN-LOG_ERR] |= LD_BUG;
add_stream_log(&s, "", fileno(stdout));
}
+ flush_log_messages_from_startup();
init_protocol_warning_severity_level();
options->command = CMD_RUN_UNITTESTS;
@@ -334,8 +328,6 @@ main(int c, const char **v)
free_pregenerated_keys();
- crypto_global_cleanup();
-
if (have_failed)
return 1;
else
diff --git a/src/tools/include.am b/src/tools/include.am
index 73ec86935f..72dfe6017c 100644
--- a/src/tools/include.am
+++ b/src/tools/include.am
@@ -5,9 +5,11 @@ noinst_PROGRAMS+= src/tools/tor-cov-resolve
endif
src_tools_tor_resolve_SOURCES = src/tools/tor-resolve.c
-src_tools_tor_resolve_LDFLAGS =
+src_tools_tor_resolve_LDFLAGS = @TOR_LDFLAGS_openssl@
src_tools_tor_resolve_LDADD = \
+ src/trunnel/libor-trunnel.a \
$(TOR_UTIL_LIBS) \
+ $(TOR_CRYPTO_LIBS) $(TOR_LIBS_CRYPTLIB)\
$(rust_ldadd) \
@TOR_LIB_MATH@ @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_USERENV@
@@ -15,8 +17,11 @@ if COVERAGE_ENABLED
src_tools_tor_cov_resolve_SOURCES = src/tools/tor-resolve.c
src_tools_tor_cov_resolve_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
src_tools_tor_cov_resolve_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
+src_tools_tor_cov_resolve_LDFLAGS = @TOR_LDFLAGS_openssl@
src_tools_tor_cov_resolve_LDADD = \
+ src/trunnel/libor-trunnel.a \
$(TOR_UTIL_TESTING_LIBS) \
+ $(TOR_CRYPTO_TESTING_LIBS) $(TOR_LIBS_CRYPTLIB) \
@TOR_LIB_MATH@ @TOR_LIB_WS32@
endif
@@ -41,7 +46,7 @@ src_tools_tor_print_ed_signing_cert_LDADD = \
$(TOR_CRYPTO_LIBS) \
$(TOR_UTIL_LIBS) \
@TOR_LIB_MATH@ $(TOR_LIBS_CRYPTLIB) \
- @TOR_LIB_WS32@ @TOR_LIB_USERENV@
+ @TOR_LIB_WS32@ @TOR_LIB_USERENV@ @TOR_LIB_GDI@
if USE_NSS
# ...
diff --git a/src/tools/tor-resolve.c b/src/tools/tor-resolve.c
index 95411d173d..803ed26b3b 100644
--- a/src/tools/tor-resolve.c
+++ b/src/tools/tor-resolve.c
@@ -15,6 +15,7 @@
#include "lib/string/util_string.h"
#include "lib/net/socks5_status.h"
+#include "trunnel/socks5.h"
#include <stdio.h>
#include <stdlib.h>
@@ -49,68 +50,204 @@
static void usage(void) ATTR_NORETURN;
+/**
+ * Set <b>out</b> to a pointer to newly allocated buffer containing
+ * SOCKS4a RESOLVE request with <b>username</b> and <b>hostname</b>.
+ * Return number of bytes in the buffer if succeeded or -1 if failed.
+ */
+static ssize_t
+build_socks4a_resolve_request(uint8_t **out,
+ const char *username,
+ const char *hostname)
+{
+ tor_assert(out);
+ tor_assert(username);
+ tor_assert(hostname);
+
+ const char *errmsg = NULL;
+ uint8_t *output = NULL;
+ socks4_client_request_t *rq = socks4_client_request_new();
+
+ socks4_client_request_set_version(rq, 4);
+ socks4_client_request_set_command(rq, CMD_RESOLVE);
+ socks4_client_request_set_port(rq, 0);
+ socks4_client_request_set_addr(rq, 0x00000001u);
+ socks4_client_request_set_username(rq, username);
+ socks4_client_request_set_socks4a_addr_hostname(rq, hostname);
+
+ errmsg = socks4_client_request_check(rq);
+ if (errmsg) {
+ goto cleanup;
+ }
+
+ ssize_t encoded_len = socks4_client_request_encoded_len(rq);
+ if (encoded_len <= 0) {
+ errmsg = "socks4_client_request_encoded_len failed";
+ goto cleanup;
+ }
+
+ output = tor_malloc(encoded_len);
+ memset(output, 0, encoded_len);
+
+ encoded_len = socks4_client_request_encode(output, encoded_len, rq);
+ if (encoded_len <= 0) {
+ errmsg = "socks4_client_request_encode failed";
+ goto cleanup;
+ }
+
+ *out = output;
+
+ cleanup:
+ socks4_client_request_free(rq);
+ if (errmsg) {
+ log_err(LD_NET, "build_socks4a_resolve_request failed: %s", errmsg);
+ *out = NULL;
+ tor_free(output);
+ }
+ return errmsg ? -1 : encoded_len;
+}
+
+#define SOCKS5_ATYPE_HOSTNAME 0x03
+#define SOCKS5_ATYPE_IPV4 0x01
+#define SOCKS5_ATYPE_IPV6 0x04
+
+/**
+ * Set <b>out</b> to pointer to newly allocated buffer containing
+ * SOCKS5 RESOLVE/RESOLVE_PTR request with given <b>hostname<b>.
+ * Generate a reverse request if <b>reverse</b> is true.
+ * Return the number of bytes in the buffer if succeeded or -1 if failed.
+ */
+static ssize_t
+build_socks5_resolve_request(uint8_t **out,
+ const char *hostname,
+ int reverse)
+{
+ const char *errmsg = NULL;
+ uint8_t *outbuf = NULL;
+ int is_ip_address;
+ tor_addr_t addr;
+ size_t addrlen;
+ int ipv6;
+ is_ip_address = tor_addr_parse(&addr, hostname) != -1;
+ if (!is_ip_address && reverse) {
+ log_err(LD_GENERAL, "Tried to do a reverse lookup on a non-IP!");
+ return -1;
+ }
+ ipv6 = reverse && tor_addr_family(&addr) == AF_INET6;
+ addrlen = reverse ? (ipv6 ? 16 : 4) : 1 + strlen(hostname);
+ if (addrlen > UINT8_MAX) {
+ log_err(LD_GENERAL, "Hostname is too long!");
+ return -1;
+ }
+
+ socks5_client_request_t *rq = socks5_client_request_new();
+
+ socks5_client_request_set_version(rq, 5);
+ /* RESOLVE_PTR or RESOLVE */
+ socks5_client_request_set_command(rq, reverse ? CMD_RESOLVE_PTR :
+ CMD_RESOLVE);
+ socks5_client_request_set_reserved(rq, 0);
+
+ uint8_t atype = SOCKS5_ATYPE_HOSTNAME;
+ if (reverse)
+ atype = ipv6 ? SOCKS5_ATYPE_IPV6 : SOCKS5_ATYPE_IPV4;
+
+ socks5_client_request_set_atype(rq, atype);
+
+ switch (atype) {
+ case SOCKS5_ATYPE_IPV4: {
+ socks5_client_request_set_dest_addr_ipv4(rq,
+ tor_addr_to_ipv4h(&addr));
+ } break;
+ case SOCKS5_ATYPE_IPV6: {
+ uint8_t *ipv6_array =
+ socks5_client_request_getarray_dest_addr_ipv6(rq);
+
+ tor_assert(ipv6_array);
+
+ memcpy(ipv6_array, tor_addr_to_in6_addr8(&addr), 16);
+ } break;
+
+ case SOCKS5_ATYPE_HOSTNAME: {
+ domainname_t *dn = domainname_new();
+ domainname_set_len(dn, addrlen - 1);
+ domainname_setlen_name(dn, addrlen - 1);
+ char *dn_buf = domainname_getarray_name(dn);
+ memcpy(dn_buf, hostname, addrlen - 1);
+
+ errmsg = domainname_check(dn);
+
+ if (errmsg) {
+ domainname_free(dn);
+ goto cleanup;
+ } else {
+ socks5_client_request_set_dest_addr_domainname(rq, dn);
+ }
+ } break;
+ default:
+ tor_assert_unreached();
+ break;
+ }
+
+ socks5_client_request_set_dest_port(rq, 0);
+
+ errmsg = socks5_client_request_check(rq);
+ if (errmsg) {
+ goto cleanup;
+ }
+
+ ssize_t encoded_len = socks5_client_request_encoded_len(rq);
+ if (encoded_len < 0) {
+ errmsg = "Cannot predict encoded length";
+ goto cleanup;
+ }
+
+ outbuf = tor_malloc(encoded_len);
+ memset(outbuf, 0, encoded_len);
+
+ encoded_len = socks5_client_request_encode(outbuf, encoded_len, rq);
+ if (encoded_len < 0) {
+ errmsg = "encoding failed";
+ goto cleanup;
+ }
+
+ *out = outbuf;
+
+ cleanup:
+ socks5_client_request_free(rq);
+ if (errmsg) {
+ tor_free(outbuf);
+ log_err(LD_NET, "build_socks5_resolve_request failed with error: %s",
+ errmsg);
+ }
+
+ return errmsg ? -1 : encoded_len;
+}
+
/** Set *<b>out</b> to a newly allocated SOCKS4a resolve request with
* <b>username</b> and <b>hostname</b> as provided. Return the number
* of bytes in the request. */
static ssize_t
-build_socks_resolve_request(char **out,
+build_socks_resolve_request(uint8_t **out,
const char *username,
const char *hostname,
int reverse,
int version)
{
- size_t len = 0;
tor_assert(out);
tor_assert(username);
tor_assert(hostname);
+ tor_assert(version == 4 || version == 5);
+
if (version == 4) {
- len = 8 + strlen(username) + 1 + strlen(hostname) + 1;
- *out = tor_malloc(len);
- (*out)[0] = 4; /* SOCKS version 4 */
- (*out)[1] = '\xF0'; /* Command: resolve. */
- set_uint16((*out)+2, htons(0)); /* port: 0. */
- set_uint32((*out)+4, htonl(0x00000001u)); /* addr: 0.0.0.1 */
- memcpy((*out)+8, username, strlen(username)+1);
- memcpy((*out)+8+strlen(username)+1, hostname, strlen(hostname)+1);
+ return build_socks4a_resolve_request(out, username, hostname);
} else if (version == 5) {
- int is_ip_address;
- tor_addr_t addr;
- size_t addrlen;
- int ipv6;
- is_ip_address = tor_addr_parse(&addr, hostname) != -1;
- if (!is_ip_address && reverse) {
- log_err(LD_GENERAL, "Tried to do a reverse lookup on a non-IP!");
- return -1;
- }
- ipv6 = reverse && tor_addr_family(&addr) == AF_INET6;
- addrlen = reverse ? (ipv6 ? 16 : 4) : 1 + strlen(hostname);
- if (addrlen > UINT8_MAX) {
- log_err(LD_GENERAL, "Hostname is too long!");
- return -1;
- }
- len = 6 + addrlen;
- *out = tor_malloc(len);
- (*out)[0] = 5; /* SOCKS version 5 */
- (*out)[1] = reverse ? '\xF1' : '\xF0'; /* RESOLVE_PTR or RESOLVE */
- (*out)[2] = 0; /* reserved. */
- if (reverse) {
- (*out)[3] = ipv6 ? 4 : 1;
- if (ipv6)
- memcpy((*out)+4, tor_addr_to_in6_addr8(&addr), 16);
- else
- set_uint32((*out)+4, tor_addr_to_ipv4n(&addr));
- } else {
- (*out)[3] = 3;
- (*out)[4] = (char)(uint8_t)(addrlen - 1);
- memcpy((*out)+5, hostname, addrlen - 1);
- }
- set_uint16((*out)+4+addrlen, 0); /* port */
- } else {
- tor_assert(0);
+ return build_socks5_resolve_request(out, hostname, reverse);
}
- return len;
+ tor_assert_unreached();
+ return -1;
}
static void
@@ -134,34 +271,50 @@ parse_socks4a_resolve_response(const char *hostname,
const char *response, size_t len,
tor_addr_t *addr_out)
{
+ int result = 0;
uint8_t status;
tor_assert(response);
tor_assert(addr_out);
- if (len < RESPONSE_LEN_4) {
+ socks4_server_reply_t *reply;
+
+ ssize_t parsed = socks4_server_reply_parse(&reply,
+ (const uint8_t *)response,
+ len);
+
+ if (parsed == -1) {
+ log_warn(LD_PROTOCOL, "Failed parsing SOCKS4a response");
+ result = -1; goto cleanup;
+ }
+
+ if (parsed == -2) {
log_warn(LD_PROTOCOL,"Truncated socks response.");
- return -1;
+ result = -1; goto cleanup;
}
- if (((uint8_t)response[0])!=0) { /* version: 0 */
+
+ if (socks4_server_reply_get_version(reply) != 0) { /* version: 0 */
log_warn(LD_PROTOCOL,"Nonzero version in socks response: bad format.");
- return -1;
+ result = -1; goto cleanup;
}
- status = (uint8_t)response[1];
- if (get_uint16(response+2)!=0) { /* port: 0 */
+ if (socks4_server_reply_get_port(reply) != 0) { /* port: 0 */
log_warn(LD_PROTOCOL,"Nonzero port in socks response: bad format.");
- return -1;
+ result = -1; goto cleanup;
}
+ status = socks4_server_reply_get_status(reply);
if (status != 90) {
log_warn(LD_NET,"Got status response '%d': socks request failed.", status);
if (!strcasecmpend(hostname, ".onion")) {
onion_warning(hostname);
- return -1;
+ result = -1; goto cleanup;
}
- return -1;
+ result = -1; goto cleanup;
}
- tor_addr_from_ipv4n(addr_out, get_uint32(response+4));
- return 0;
+ tor_addr_from_ipv4h(addr_out, socks4_server_reply_get_addr(reply));
+
+ cleanup:
+ socks4_server_reply_free(reply);
+ return result;
}
/* It would be nice to let someone know what SOCKS5 issue a user may have */
@@ -205,7 +358,7 @@ do_resolve(const char *hostname,
int s = -1;
struct sockaddr_storage ss;
socklen_t socklen;
- char *req = NULL;
+ uint8_t *req = NULL;
ssize_t len = 0;
tor_assert(hostname);
@@ -230,23 +383,57 @@ do_resolve(const char *hostname,
}
if (version == 5) {
- char method_buf[2];
- if (write_all_to_socket(s, "\x05\x01\x00", 3) != 3) {
+ socks5_client_version_t *v = socks5_client_version_new();
+
+ socks5_client_version_set_version(v, 5);
+ socks5_client_version_set_n_methods(v, 1);
+ socks5_client_version_setlen_methods(v, 1);
+ socks5_client_version_set_methods(v, 0, 0x00);
+
+ tor_assert(!socks5_client_version_check(v));
+ ssize_t encoded_len = socks5_client_version_encoded_len(v);
+ tor_assert(encoded_len > 0);
+
+ uint8_t *buf = tor_malloc(encoded_len);
+ encoded_len = socks5_client_version_encode(buf, encoded_len, v);
+ tor_assert(encoded_len > 0);
+
+ socks5_client_version_free(v);
+
+ if (write_all_to_socket(s, (const char *)buf,
+ encoded_len) != encoded_len) {
log_err(LD_NET, "Error sending SOCKS5 method list.");
+ tor_free(buf);
+
goto err;
}
- if (read_all_from_socket(s, method_buf, 2) != 2) {
+
+ tor_free(buf);
+
+ uint8_t method_buf[2];
+
+ if (read_all_from_socket(s, (char *)method_buf, 2) != 2) {
log_err(LD_NET, "Error reading SOCKS5 methods.");
goto err;
}
- if (method_buf[0] != '\x05') {
- log_err(LD_NET, "Unrecognized socks version: %u",
- (unsigned)method_buf[0]);
+
+ socks5_server_method_t *m;
+ ssize_t parsed = socks5_server_method_parse(&m, method_buf,
+ sizeof(method_buf));
+
+ if (parsed < 2) {
+ log_err(LD_NET, "Failed to parse SOCKS5 method selection "
+ "message");
goto err;
}
- if (method_buf[1] != '\x00') {
+
+ uint8_t method = socks5_server_method_get_method(m);
+
+ socks5_server_method_free(m);
+
+ if (method != 0x00) {
log_err(LD_NET, "Unrecognized socks authentication method: %u",
- (unsigned)method_buf[1]);
+ (unsigned)method);
goto err;
}
}
@@ -257,7 +444,7 @@ do_resolve(const char *hostname,
tor_assert(!req);
goto err;
}
- if (write_all_to_socket(s, req, len) != len) {
+ if (write_all_to_socket(s, (const char *)req, len) != len) {
log_sock_error("sending SOCKS request", s);
tor_free(req);
goto err;
@@ -276,55 +463,59 @@ do_resolve(const char *hostname,
goto err;
}
} else {
- char reply_buf[16];
- if (read_all_from_socket(s, reply_buf, 4) != 4) {
- log_err(LD_NET, "Error reading SOCKS5 response.");
+ uint8_t reply_buf[512];
+
+ len = read_all_from_socket(s, (char *)reply_buf,
+ sizeof(reply_buf));
+
+ socks5_server_reply_t *reply;
+
+ ssize_t parsed = socks5_server_reply_parse(&reply,
+ reply_buf,
+ len);
+ if (parsed == -1) {
+ log_err(LD_NET, "Failed parsing SOCKS5 response");
goto err;
}
- if (reply_buf[0] != 5) {
- log_err(LD_NET, "Bad SOCKS5 reply version.");
+
+ if (parsed == -2) {
+ log_err(LD_NET, "Truncated SOCKS5 response");
goto err;
}
+
/* Give a user some useful feedback about SOCKS5 errors */
- if (reply_buf[1] != 0) {
+ uint8_t reply_field = socks5_server_reply_get_reply(reply);
+ if (reply_field != 0) {
log_warn(LD_NET,"Got SOCKS5 status response '%u': %s",
- (unsigned)reply_buf[1],
- socks5_reason_to_string(reply_buf[1]));
- if (reply_buf[1] == 4 && !strcasecmpend(hostname, ".onion")) {
+ (unsigned)reply_field,
+ socks5_reason_to_string(reply_field));
+ if (reply_field == 4 && !strcasecmpend(hostname, ".onion")) {
onion_warning(hostname);
}
+
+ socks5_server_reply_free(reply);
goto err;
}
- if (reply_buf[3] == 1) {
+
+ uint8_t atype = socks5_server_reply_get_atype(reply);
+
+ if (atype == SOCKS5_ATYPE_IPV4) {
/* IPv4 address */
- if (read_all_from_socket(s, reply_buf, 4) != 4) {
- log_err(LD_NET, "Error reading address in socks5 response.");
- goto err;
- }
- tor_addr_from_ipv4n(result_addr, get_uint32(reply_buf));
- } else if (reply_buf[3] == 4) {
+ tor_addr_from_ipv4h(result_addr,
+ socks5_server_reply_get_bind_addr_ipv4(reply));
+ } else if (atype == SOCKS5_ATYPE_IPV6) {
/* IPv6 address */
- if (read_all_from_socket(s, reply_buf, 16) != 16) {
- log_err(LD_NET, "Error reading address in socks5 response.");
- goto err;
- }
- tor_addr_from_ipv6_bytes(result_addr, reply_buf);
- } else if (reply_buf[3] == 3) {
+ tor_addr_from_ipv6_bytes(result_addr,
+ (const char *)socks5_server_reply_getarray_bind_addr_ipv6(reply));
+ } else if (atype == SOCKS5_ATYPE_HOSTNAME) {
/* Domain name */
- size_t result_len;
- if (read_all_from_socket(s, reply_buf, 1) != 1) {
- log_err(LD_NET, "Error reading address_length in socks5 response.");
- goto err;
- }
- result_len = *(uint8_t*)(reply_buf);
- *result_hostname = tor_malloc(result_len+1);
- if (read_all_from_socket(s, *result_hostname, result_len)
- != (int) result_len) {
- log_err(LD_NET, "Error reading hostname in socks5 response.");
- goto err;
- }
- (*result_hostname)[result_len] = '\0';
+ domainname_t *dn =
+ socks5_server_reply_get_bind_addr_domainname(reply);
+
+ *result_hostname = tor_strdup(domainname_getstr_name(dn));
}
+
+ socks5_server_reply_free(reply);
}
tor_close_socket(s);
diff --git a/src/tools/tor_runner.c b/src/tools/tor_runner.c
index b07b72a095..d962e5abc7 100644
--- a/src/tools/tor_runner.c
+++ b/src/tools/tor_runner.c
@@ -86,6 +86,7 @@ tor_run_main(const tor_main_configuration_t *cfg)
/* circumlocution to avoid getting warned about calling calloc instead of
* tor_calloc. */
#define real_calloc calloc
+#define real_free free
static void
child(const tor_main_configuration_t *cfg)
@@ -103,6 +104,7 @@ child(const tor_main_configuration_t *cfg)
int rv = execv(BINDIR "/tor", args);
if (rv < 0) {
+ real_free(args);
exit(254);
} else {
abort(); /* Unreachable */
diff --git a/src/trunnel/socks5.c b/src/trunnel/socks5.c
index 9e5f6fcfed..057a52b042 100644
--- a/src/trunnel/socks5.c
+++ b/src/trunnel/socks5.c
@@ -1694,7 +1694,6 @@ socks4_server_reply_new(void)
socks4_server_reply_t *val = trunnel_calloc(1, sizeof(socks4_server_reply_t));
if (NULL == val)
return NULL;
- val->version = 4;
return val;
}
@@ -1724,7 +1723,7 @@ socks4_server_reply_get_version(const socks4_server_reply_t *inp)
int
socks4_server_reply_set_version(socks4_server_reply_t *inp, uint8_t val)
{
- if (! ((val == 4))) {
+ if (! ((val == 0 || val == 4))) {
TRUNNEL_SET_ERROR_CODE(inp);
return -1;
}
@@ -1771,7 +1770,7 @@ socks4_server_reply_check(const socks4_server_reply_t *obj)
return "Object was NULL";
if (obj->trunnel_error_code_)
return "A set function failed on this object";
- if (! (obj->version == 4))
+ if (! (obj->version == 0 || obj->version == 4))
return "Integer out of bounds";
return NULL;
}
@@ -1785,7 +1784,7 @@ socks4_server_reply_encoded_len(const socks4_server_reply_t *obj)
return -1;
- /* Length of u8 version IN [4] */
+ /* Length of u8 version IN [0, 4] */
result += 1;
/* Length of u8 status */
@@ -1823,7 +1822,7 @@ socks4_server_reply_encode(uint8_t *output, const size_t avail, const socks4_ser
trunnel_assert(encoded_len >= 0);
#endif
- /* Encode u8 version IN [4] */
+ /* Encode u8 version IN [0, 4] */
trunnel_assert(written <= avail);
if (avail - written < 1)
goto truncated;
@@ -1886,11 +1885,11 @@ socks4_server_reply_parse_into(socks4_server_reply_t *obj, const uint8_t *input,
ssize_t result = 0;
(void)result;
- /* Parse u8 version IN [4] */
+ /* Parse u8 version IN [0, 4] */
CHECK_REMAINING(1, truncated);
obj->version = (trunnel_get_uint8(ptr));
remaining -= 1; ptr += 1;
- if (! (obj->version == 4))
+ if (! (obj->version == 0 || obj->version == 4))
goto fail;
/* Parse u8 status */
diff --git a/src/trunnel/socks5.trunnel b/src/trunnel/socks5.trunnel
index b86ec03b9d..17fa2ed996 100644
--- a/src/trunnel/socks5.trunnel
+++ b/src/trunnel/socks5.trunnel
@@ -86,7 +86,7 @@ struct socks4_client_request {
}
struct socks4_server_reply {
- u8 version IN [4];
+ u8 version IN [0,4];
u8 status;
u16 port;
u32 addr;
diff --git a/src/win32/orconfig.h b/src/win32/orconfig.h
index de3bf09282..cfc3bc9e9e 100644
--- a/src/win32/orconfig.h
+++ b/src/win32/orconfig.h
@@ -218,7 +218,7 @@
#define USING_TWOS_COMPLEMENT
/* Version number of package */
-#define VERSION "0.3.6.0-alpha-dev"
+#define VERSION "0.4.0.0-alpha-dev"